Moving Architectural Description from Under the Technology Lamppost

Software architecture description languages (ADLs) were a particularly active research area in the 1990s. In 2000, the author co-authored an extensive study of existing ADLs, which has served as a useful reference to software architecture researchers and practitioners. However, the field of software architecture and our understanding of it have undergone a number of changes in the past several years. In particular, the Unified Modeling Language (UML) has gained a lot of popularity and wide adoption, and as a result many of the ADLs the author had studied have been pushed into obscurity. In this paper, the author argues that the main reason behind this is that the early ADLs focused almost exclusively on the technological aspects of architecture, and mostly ignored the application domain and business contexts within which software systems, and development organizations, exist. Together, these three concerns - technology, domain, and business -constitute the three "lampposts " needed to appropriately "illuminate" software architecture and architectural description. The author use this new framework to evaluate both the languages from my original study, as well as several more recent ADLs (including UML 2.0)

[1]  Mary Shaw,et al.  Abstractions for Software Architecture and Tools to Support Them , 1995, IEEE Trans. Software Eng..

[2]  Steve Vestal,et al.  Using an architecture description language for quantitative analysis of real-time systems , 2002, WOSP '02.

[3]  William E. Lorensen,et al.  Object-Oriented Modeling and Design , 1991, TOOLS.

[4]  Ivar Jacobson,et al.  The Unified Modeling Language User Guide , 1998, J. Database Manag..

[5]  Rubén Prieto-Díaz,et al.  Module interconnection languages , 1986, J. Syst. Softw..

[6]  Michael M. Gorlick,et al.  Using weaves for software construction and analysis , 1991, [1991 Proceedings] 13th International Conference on Software Engineering.

[7]  David Garlan,et al.  A Formal Approach to Software Architectures , 1992, IFIP Congress.

[8]  Ellis Horowitz,et al.  Software Cost Estimation with COCOMO II , 2000 .

[9]  David Harel,et al.  Statecharts: A Visual Formalism for Complex Systems , 1987, Sci. Comput. Program..

[10]  Philippe Kruchten,et al.  What Is the Rational Unified Process ? , 2001 .

[11]  Will Tracz,et al.  LILEANNA: a parameterized programming language , 1993, [1993] Proceedings Advances in Software Reuse.

[12]  Richard N. Taylor,et al.  A Component- and Message-Based Architectural Style for GUI Software , 1995, 1995 17th International Conference on Software Engineering.

[13]  Stephen J. Mellor,et al.  Executable UML - A Foundation for Model-Driven Architecture , 2002, Addison Wesley object technology series.

[14]  Steve Vestal,et al.  The SAE Avionics Architecture Description Language (AADL) Standard: A Basis for Model-Based Architecture-Driven Embedded Systems Engineering , 2003 .

[15]  Will Tracz,et al.  The ADAGE Avionics Reference Architecture 1 , 1995 .

[16]  Grady Booch,et al.  Object-Oriented Analysis and Design with Applications , 1990 .

[17]  Richard N. Taylor,et al.  A comprehensive approach for the development of modular software architecture description languages , 2005, TSEM.

[18]  Peyman Oreizy,et al.  Using object-oriented typing to support architectural design in the C2 style , 1996, SIGSOFT '96.

[19]  David C. Luckham,et al.  An Event-Based Architecture Definition Language , 1995, IEEE Trans. Software Eng..

[20]  David C. Luckham,et al.  Rapide: A language and toolset for simulation of distributed systems by partial orderings of events , 1997, Partial Order Methods in Verification.

[21]  B. Earl Wells,et al.  SADL: Simulation Architecture Description Language , 2002, Int. J. Comput. Their Appl..

[22]  Ivar Jacobson,et al.  Object-oriented software engineering - a use case driven approach , 1993, TOOLS.

[23]  Anneke Kleppe,et al.  The object constraint language: precise modeling with UML , 1998 .

[24]  Ivar Jacobson,et al.  Unified Modeling Language User Guide, The (2nd Edition) (Addison-Wesley Object Technology Series) , 2005 .

[25]  Nenad Medvidovic,et al.  Modeling software architectures in the Unified Modeling Language , 2002, TSEM.

[26]  Peyman Oreizy,et al.  xADL: enabling architecture-centric tool integration with XML , 2001, Proceedings of the 34th Annual Hawaii International Conference on System Sciences.

[27]  Richard N. Taylor,et al.  A Classification and Comparison Framework for Software Architecture Description Languages , 2000, IEEE Trans. Software Eng..

[28]  Paola Inverardi,et al.  Formal Specification and Analysis of Software Architectures Using the Chemical Abstract Machine Model , 1995, IEEE Trans. Software Eng..

[29]  Naranker Dulay,et al.  Specifying Distributed Software Architectures , 1995, ESEC.

[30]  Steve Vestal,et al.  Domain-Specific Software Architectures for Guidance, Navigation and Control , 1996, Int. J. Softw. Eng. Knowl. Eng..

[31]  Philippe Kruchten,et al.  The Rational Unified Process: An Introduction , 1998 .

[32]  Jeff Magee,et al.  The Koala Component Model for Consumer Electronics Software , 2000, Computer.

[33]  Alexander L. Wolf,et al.  Acm Sigsoft Software Engineering Notes Vol 17 No 4 Foundations for the Study of Software Architecture , 2022 .