Modeling software architectures in the Unified Modeling Language
Top Cited Papers
- 1 January 2002
- journal article
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Software Engineering and Methodology
- Vol. 11 (1) , 2-57
- https://doi.org/10.1145/504087.504088
Abstract
The Unified Modeling Language (UML) is a family of design notations that is rapidly becoming a de facto standard software design language. UML provides a variety of useful capabilities to the software designer, including multiple, interrelated design views, a semiformal semantics expressed as a UML meta model, and an associated language for expressing formal logic constraints on design elements. The primary goal of this work is an assessment of UML's expressive power for modeling software architectures in the manner in which a number of existing software architecture description languages (ADLs) model architectures. This paper presents two strategies for supporting architectural concerns within UML. One strategy involves using UML "as is," while the other incorporates useful features of existing ADLs as UML extensions. We discuss the applicability, strengths, and weaknesses of the two strategies. The strategies are applied on three ADLs that, as a whole, represent a broad cross-section of present-day ADL capabilities. One conclusion of our work is that UML currently lacks support for capturing and exploiting certain architectural concerns whose importance has been demonstrated through the research and practice of software architectures. In particular, UML lacks direct support for modeling and exploiting architectural styles, explicit software connectors, and local and global architectural constraints.Keywords
This publication has 29 references indexed in Scilit:
- A classification and comparison framework for software architecture description languagesIEEE Transactions on Software Engineering, 2000
- The STATEMATE semantics of statechartsACM Transactions on Software Engineering and Methodology, 1996
- A component- and message-based architectural style for GUI softwareIEEE Transactions on Software Engineering, 1996
- DSSA (Domain-Specific Software Architecture)ACM SIGSOFT Software Engineering Notes, 1995
- Specification and analysis of system architecture using RapideIEEE Transactions on Software Engineering, 1995
- Abstractions for software architecture and tools to support themIEEE Transactions on Software Engineering, 1995
- Correct architecture refinementIEEE Transactions on Software Engineering, 1995
- A formal semantics for object model diagramsIEEE Transactions on Software Engineering, 1995
- The 4+1 View Model of architectureIEEE Software, 1995
- Statecharts: a visual formalism for complex systemsScience of Computer Programming, 1987