ABSTRACT
As the design of software architectures emerges as a discipline within software engineering, it will become increasingly important to support architectural description and analysis with tools and environments. In this paper we describe a system for developing architectural design environments that exploit architectural styles to guide software architects in producing specific systems. The primary contributions of this research are: (a) a generic object model for representing architectural designs; (b) the characterization of architectural styles as specializations of this object model; and (c) a toolkit for creating an open architectural design environment from a description of a specific architectural style. We use our experience in implementing these concepts to illustrate how style-oriented architectural design raises new challenges for software support environments.
- AAG93.Gregory Abowd, Robert Allen, and David Garlan. Using style to give meaning to software architecture. In Proceedings of SIGSOFT'93: Foundations of Software Engineering, Software Engineering Notes 118(3), pages 9-20. ACM Press, December 1993. Google ScholarDigital Library
- AG92.Robert Allen and David Garlan. A formal approach to software architectures. In Jan van Leeuwen, editor, Proceedings of IFIP'92. Elsevier Science Publishers B.V., September 1992. Google ScholarDigital Library
- AG94a.Robert Allen and David Garlan. Beyond definition/use: Architectural interconnection. In Proceedings of the ACM Interface Definition Language Workshop, volume 29(8). SIGPLAN Notices, August 1994. Google ScholarDigital Library
- AG94b.Robert Alien and David Garlan. Formalizing architectural connection. In Proceedings of the Sixteenth International Conference on Software Engineering, May 1994. Google ScholarDigital Library
- B+88.G. Boudier et al. An overview of PCTE and PCTE+. In Proc. 3rd Software Development Environments Symposium, November 1988. Google ScholarDigital Library
- BV93.Pam Binns and Steve Vestal. Formal real-time architecture specification and analysis. In Tenth IEEE Workshop on Real-Tune Operating Systems and Software, New York, NY, May 1993. Google ScholarDigital Library
- C+90.M. Carey et al. The EXODUS extensible DBMS project: An overview. In S. Zdonik and D. Maier, editors, Readings in Object-Oriented Database Systems. Morgan Kaufmann, 1990. Google ScholarDigital Library
- Cha93.Craig Chambers. Predicate classes. In Proceedings of ECOOP '93, 1993. Google ScholarDigital Library
- Coa92.Peter Coad. Object-oriented patterns. Communications of the ACM, 35(9): 153-159, 1992. Google ScholarDigital Library
- Cor91.The Common Object Request Broker: Architecture and specification. OMG Document Number 91.12.1, December 1991. Revision 1.1 (Draft 10).Google Scholar
- DGHKL84.Veronique Donzeau-Gouge, Gerard Huet, Gilles Kahn, and Bernard Lang. Programming environments based on structured editors: The Mentor experience. In David R. Barstow, Howard E. Shrobe, and Erik Sandewall, editors, Interactive Programming Environments. McGraw-Hill Book Co., 1984.Google Scholar
- Fro89.Brian Fromme. HP Encapsulator: Bridging the generation gap. Technical Report SESD-89-26, Hewlett- Packard Software Engineering Systems Division, Fort Collins, Colorado, November 1989.Google Scholar
- Ger89.Colin Gerety. HP Softbench: A new generation of software developmenttools. Technical Report SES D- 89-25, Hewlett-Packard Software Engineering Systems Division, Fort Collins, Colorado, November 1989.Google Scholar
- GHJV94.Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides. Design Patterns: Micro- Architectures for Reuaable Object-Oriented Design, Addison-Wesley, 1994.Google Scholar
- GN91.David Gadan and David Notldn. Formalizing design spaces: Implicit invocation mechanisms. In VDM'91: Formal Software Development Methods, pages 31-44, Noordwijkerhout, The Netherlands, October 1991. S pringer-Verlag, LNCS 551. Google ScholarDigital Library
- GP94.David Garlan and Dewayne Perry. Software architecture: Practice, potential, and pitfalls. In Proceedings of the Sixteenth International Conference on Software Engineering, May 1994. Panel Introduction. Google ScholarDigital Library
- GS93a.David Garlan and Curtis Scott. Adding implicit invocation to traditional programming languages. In Proceedings of the Fifteenth International Conference on Software Engineering, Baltimore, MD, May 1993. Google ScholarDigital Library
- GS93b.David Garlan and Mary Shaw. An introduction to software architecture. In V.Ambriola and G.Tortora, editors, Advances in Software Engineering and Knowledge Engineering, Volume I, New Jersey, 1993. World Scientific Publishing Company.Google ScholarCross Ref
- HN86.A Nico. Habermann and David S. Notkin. Gandalf: Software development environments. IEEE Transactions on Software Engineering, SE-12(12):1117- 1127, December 1986. Google ScholarDigital Library
- HR90.Barbara Hayes-Roth. Architectural foundations for real-time performance in intelligent agents. The Journal of Real-Tbne Systems, Kluwer Academic Publishers, 2:99-125, January 1990. Google ScholarDigital Library
- JC94.G.R. Ribeiro Justo and P.R. Freire Cunha. Deadlockfree configuration programming. In Proceedings of the Second International Workshop on Configurable Distributed Systems, March 1994.Google ScholarCross Ref
- Jef92.Kevin Jeffay. Scheduling sporadic tasks with shared resources in hard-real-time systems. In Proceedings of the 13th IEEE Real-79me Systems Symposium, pages 89-99, Phoenix, AZ, December 1992.Google ScholarCross Ref
- Jef93.Kevin Jeffay. The real-time producer/consumer paradigm: A paradigm for the construction of efficient, predictable real-time systems. In Proceedings of the 1993 ACM/SIGAPP Symposium on Applied Computing, pages 796-804, Indianapolis, IN, February 1993. ACM Press. Google ScholarDigital Library
- K+91.Rudolf K. Keller et al. User interface development and software environments: The Chiron-1 System. In Proc. 13th International Conference on Software Engineering, 1991. Google ScholarDigital Library
- KFP88.Gall E. Kaiser, Peter H. Feiler, and Steven S. Popovich. Intelligent assistance for software development and maintenance. IEEE Software, pages 40- 49, May 1988. Google ScholarDigital Library
- KP88.G.E. Krasner and S.T. Pope. A cookbook for using the model-view-controller user interface paradigm in Smalltalk-80. Journal of Object Oriented Programming, 1(3):26--49, August/September 1988. Google ScholarDigital Library
- LAK+95.David C Luckham, Lary M. Augustin, John J. Kenney, James Veera, Doug Bryan, and Walter Mann. Specification and analysis of system architecture using Rapide. IEEE Transactions on Software Engineering, to appear, 1995. Google ScholarDigital Library
- LVC89.Mark A. Linton, John M. Vlissides, and Paul R. Calder. Compusing user interfaces with interviews. IEEE Computer, 22(2), February 1989. Google ScholarDigital Library
- LW93.Barbara Liskov and Jeannette Wing. A new definition of the subtype relation. In Proceedings of ECOOP '93, July 1993. Google ScholarDigital Library
- Mak92.Victor W. Mak. Connection: An inter-component communication paradigm for configurable distributed systems. In Proceedings of the International Workshop on Configurable Distributed Systems, London, UK, March 1992.Google Scholar
- McC91.Gary R. McCtain, editor. Open Systems Interconnection Handbook. Intertext Publications McGraw-Hill Book Company, New York, NY, 1991. Google ScholarDigital Library
- MQR94.Mark Moriconi, Xiaolei Qian, and R. A. Riemenshneider. A formal approach to correct refinement of software architectures. Technical Report SRI-CSL- 94-05, SRI International Computer Science Laboratory, April 1994.Google Scholar
- MR88.Naftaly H. Minsky and David Rozenshtein. A software development environment for law-governed systems. In Proceedings of the ACM SIG- SOFT/SIGPLAN Software Engineering Symposium on Practical Software Development Environments, Boston, MA, November 1988. Published as SIG- PLAN NOTICES, 24(2). Google ScholarDigital Library
- Nii86.H. Penny NiL Blackboard systems Parts 1 & 2. AI Magazine, 7 nos 3 (pp. 38-53) and 4 (pp. 62-69), 1986.Google Scholar
- Ous94.John K. Ousterhout. Tcl and the Tk Toolkit. Addison- Wesley, 1994. Google ScholarDigital Library
- PW92.Dewayne E. Perry and Alexander L. Wolf. Foundations for the study of software architecture. ACM SIGSOFT Software Engineering Notes, 17(4):40-52, October 1992. Google ScholarDigital Library
- R+91.James Rumbaugh et al. Object-Oriented Modeling and Design. Prentice Hall, Englewood Cliffs, NJ, 1991. Google ScholarDigital Library
- Rei90.S.P. Reiss. Connecting tools using message passing in the Field Environment. IEEE Software, 7(4):57-66, July 1990. Google ScholarDigital Library
- RT89.Tom Reps and Tim Teitelbaum. The Synthesizer Generator: A System for Contstructing Language-Based Editors. Springer-Verlag, 1989. Google ScholarDigital Library
- SDK+95.Mary Shaw, Robert DeLine, Daniel V. Klein, Theodore L. Ross, David M. Young, and Gregory Zelesnik. Abstractions for software architecture and tools to support them. IEEE Transactions on Software Engineering, to appear, 1995. Google ScholarDigital Library
- Sha93.Mary Shaw. Procedure calls are the assembly language of system interconnection: Connectors deserve first-class status. In Proceedings of the Workshop on Studies of Software Design, May 1993. Google ScholarDigital Library
- SLF90.Reid Simmons, Long-Ji Lin, and Christopher Fedor. Autonomous task control for mobile robots. In Proceedings of the 5th 1EEE International Symposium on Intelligent Control, Philadelphia, PA, September 1990.Google ScholarCross Ref
- SN92.Kevin J. Sullivan and David Notkin. Reconciling environment integration and software evolution. ACM Transactions on Software Engineering and Methodology, 1(3):229-268, July 1992. Google ScholarDigital Library
- T+88.Richard N. Taylor et al. Foundations for the Arcadia environment architecture. In Proceedings of the A CM SIGSOFT/SIGPLAN Software Engineering Symposium on Practical Software Development Environments, Boston, MA, November 1988. Published as SIGPLAN NOTICES, 24(2). Google ScholarDigital Library
- Ves94.Steve Vestal. Mode changes in real-time architecture description language. In Proceedings of the Second International Workshop on Configurable Distributed Systems, March 1994.Google ScholarCross Ref
- vLDD+88.A. van Lamsweerrde, B. Delcourt, E. Delor, M. C. Schayes, and R. Champagne. Generic lifecycle support in the ALMA environment. IEEE Transactions on Software Engineering, 14(6):720-741, June 1988. Google ScholarDigital Library
Index Terms
- Exploiting style in architectural design environments
Recommendations
Exploiting style in architectural design environments
As the design of software architectures emerges as a discipline within software engineering, it will become increasingly important to support architectural description and analysis with tools and environments. In this paper we describe a system for ...
Architectural style as an independent variable
ASE '10: Proceedings of the 25th IEEE/ACM International Conference on Automated Software EngineeringA key idea in modern software engineering is that we can and should make architectural style choices separately from choices about many other system properties. There is a fundamental separation of concerns implicit in this idea: given an application ...
Comments