Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Modeling software architectures in the Unified Modeling Language
Medvidovic N., Rosenblum D., Redmiles D., Robbins J. ACM Transactions on Software Engineering and Methodology11 (1):2-57,2002.Type:Article
Date Reviewed: Jun 5 2002

This is a very interesting technical paper that examines ways in which Unified Modeling Language (UML) provides support for architectural description languages (ADLs). The authors examine two different approaches: one that attempts to use UML “as is,” and another that uses UML’s extensibility to support needed ADL features.

The authors give an introduction to their work and an overview of UML. This is followed by a discussion of the two strategies, specific examples, and an assessment of each strategy. The authors then go on to a broader discussion, conclusions, and discussion of future work. There is an extensive set of references, and a number of ADLs are discussed in the process, including C2 and its associated ADL, Wright, Rapide, and ACME.

The first strategy applies UML directly as an ADL, using the C2 architectural style. The application used as an example by the authors is a meeting scheduler system. The authors conclude that using UML “as is” does not fully satisfy the needs of architectural description. This is because UML does not provide specialized constructs for modeling architectural artifacts, and because the rules of a particular architectural style, as reflected in the ADL, are not easily emulated using UML. Of course, one might question whether UML was intended to model software architectures in this way, but the authors’ premise is that it is desirable for UML to provide support to various ADL models.

The second strategy treats UML as a core notation, which is extended to support specific architectural concerns. This approach is demonstrated using UML extensions to support C2, Wright, and Rapide. The authors discuss the extensions in support of each ADL individually. A banking system is used as an example for part of the discussion. This approach does not provide a complete solution either, although it appears to provide a better match than the first strategy. One drawback of the second strategy is that it relies heavily on Object Constraint Language (OCL), a more formal and uninterpreted part of UML. Standard tools may not support such extensions.

I found this to be a very well-written and thoughtful paper. The authors’ work is thorough, and suggests some possible future directions. For anyone interested in UML and its support of ADLs, this is a must-read paper.

Reviewer:  N. R. Mead Review #: CR126126 (0207-0378)
Bookmark and Share
  Featured Reviewer  
 
Design Tools and Techniques (D.2.2 )
 
 
Software Architectures (D.2.11 )
 
Would you recommend this review?
yes
no
Other reviews under "Design Tools and Techniques": Date
Information-flow and data-flow analysis of while-programs
Bergeretti J., Carré B. ACM Transactions on Programming Languages and Systems 7(1): 37-61, 1985. Type: Article
Jul 1 1985
An extensible toolset and environment for the production of mathematical software
Osterweil L., Clemm G.  Tools, methods and languages for scientific and engineering computation (, Paris, France,361984. Type: Proceedings
Sep 1 1985
A system for interactive viewing of structured documents
Witten I., Bramwell B. Communications of the ACM 28(3): 280-288, 1985. Type: Article
Mar 1 1986
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy