Publication | Closed Access
Modeling software architectures in the Unified Modeling Language
364
Citations
46
References
2002
Year
EngineeringComputer ArchitectureSoftware EngineeringArchitecture SpecificationSoftware AnalysisFormal VerificationSoftware ArchitectureModel Driven ArchitectureUml ExtensionsArchitecture Description LanguageModel-based Software DevelopmentModeling And SimulationUml Meta ModelSoftware Architecture ModelingDesignComputer ScienceUml DesignSoftware DesignUnified Modeling LanguageProgram AnalysisFormal MethodsSystem Software
The Unified Modeling Language (UML) has become a de facto standard for software design, offering multiple interrelated views, a semi‑formal meta‑model, and a language for formal logic constraints. This study evaluates UML’s expressive power for modeling software architectures in the same manner as existing architecture description languages (ADLs). The authors propose two approaches—using UML unchanged and extending it with ADL features—and apply both to three representative ADLs, analyzing their applicability, strengths, and weaknesses. They conclude that UML currently cannot capture or exploit key architectural concerns such as styles, explicit connectors, and local or global constraints.
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.
| Year | Citations | |
|---|---|---|
Page 1
Page 1