Reconciling the needs of architectural description with object-modeling notations

Complex software systems require expressive notations for representing their software architectures. Two competing paths have emerged. One is to use a specialized notation for architecture, an architecture description language (ADL). The other is to adapt a general-purpose modeling notation, such as UML. The latter has a number of benefits, including familiarity to developers, close mapping to implementations, and commercial tool support. However, it remains an open question as to how best to use object-oriented notations for architectural description, and, indeed, whether they are sufficiently expressive, as currently defined. In this paper, we take a systematic look at these questions, examining the space of possible mappings from ADLs into UML. Specifically, we describe (a) the principal strategies for representing architectural structure in UML; (b) the benefits and limitations of each strategy; and (c) aspects of architectural description that are intrinsically difficult to model in UML using the strategies.

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

[2]  David Garlan,et al.  Formalizing Architectural Connection , 1994, ICSE.

[3]  Walter Mann,et al.  Correction to "Specification and Analysis of System Architecture Using Rapide" , 1995, IEEE Trans. Software Eng..

[4]  David Garlan,et al.  Acme: architectural description of component-based systems , 2000 .

[5]  David Garlan,et al.  Architectural Styles, Design Patterns, And Objects , 1997, IEEE Softw..

[6]  Bran Selic,et al.  Using UML for Modeling Complex Real-Time Systems , 1998, LCTES.

[7]  Bran Selic,et al.  Modeling of Architectures with UML (Panel) , 2000, UML.

[8]  Mary Shaw,et al.  Software architecture - perspectives on an emerging discipline , 1996 .

[9]  C LuckhamDavid,et al.  Specification and Analysis of System Architecture Using Rapide , 1995 .

[10]  Joaquin Miller,et al.  How Can Anything be Both a Classifier and a Package? , 1999, UML.

[11]  Steve Vestal,et al.  Formal real-time architecture specification and analysis , 1993 .

[12]  Peter Sommerlad,et al.  Pattern-Oriented Software Architecture: A System of Patterns: John Wiley & Sons , 1987 .

[13]  D. Redmond-Pyle,et al.  A Standard for Architecture Description , 1999, IBM Syst. J..

[14]  David Garlan,et al.  Exploiting style in architectural design environments , 1994, SIGSOFT '94.

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

[16]  Nenad Medvidovic,et al.  Assessing the Suitability of a Standard Design Method for Modeling Software Architectures , 1999, WICSA.

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

[18]  Robert L. Nord,et al.  Applied Software Architecture , 1999, Addison Wesley object technology series.

[19]  Nenad Medvidovic,et al.  Integrating architecture description languages with a standard design method , 1998, Proceedings of the 20th International Conference on Software Engineering.

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

[21]  David Garlan,et al.  Acme: an architecture description interchange language , 1997, CASCON.

[22]  David Garlan,et al.  Reconciling the needs of architectural description with object-modeling notations , 2000, Sci. Comput. Program..

[23]  Xiaolei Qian,et al.  Correct Architecture Refinement , 1995, IEEE Trans. Software Eng..

[24]  Robert L. Nord,et al.  Describing Software Architecture with UML , 1999, WICSA.

[25]  Philippe Kruchten,et al.  The 4+1 View Model of Architecture , 1995, IEEE Softw..

[26]  Gunnar Övergaard,et al.  Interacting Subsystems in UML , 2000, UML.

[27]  David Garlan,et al.  A formal basis for architectural connection , 1997, TSEM.

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

[29]  Bran Selic,et al.  Real-time object-oriented modeling , 1994, Wiley professional computing.

[30]  David Garlan,et al.  Mapping Architectural Concepts to UML-RT , 2001 .

[31]  B. F. Castro Buschmann, Frank; Meunier, Regine; Rohnert, Hans; Sommerlad, Peter; Stal, Michael. Pattern-oriented software architecture: a system of patterns, John Wiley & Sons Ltd, 1996 , 1997 .

[32]  Bran Selic Animated Structures: Real-Time, Objects, and the UML , 1998, Proceedings 19th IEEE Real-Time Systems Symposium (Cat. No.98CB36279).

[33]  Derek Coleman,et al.  All rights reserved , 1997 .

[34]  David Garlan,et al.  Architecture-Based Performance Analysis , 1998 .

[35]  David Garlan,et al.  Documenting software architectures: views and beyond , 2002, 25th International Conference on Software Engineering, 2003. Proceedings..

[36]  Peter Sommerlad,et al.  Pattern-Oriented Software Architecture , 1996 .