skip to main content
article

Modeling software architectures in the Unified Modeling Language

Published:01 January 2002Publication History
Skip Abstract Section

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.

References

  1. ABI-ANTOUN,M.AND MEDVIDOVIC, N. 1999. Enabling the refinement of a software architecture into a design. In Proceedings of the Second International Conference on the Unified Modeling Language (UML'99, Fort Collins, CO). IEEE Computer Society Press, Los Alamitos, CA, 17-31.]]Google ScholarGoogle Scholar
  2. ALLEN, R. J. 1997. A Formal Approach to Software Architecture. Ph.D. dissertation, Carnegie Mellon University, Pittsburgh, PA.]] Google ScholarGoogle Scholar
  3. ALLEN,R.AND GARLAN, D. 1994. Formalizing architectural connection. In Proceedings of the 16th International Conference on Software Engineering (Sorrento, Italy, May). IEEE Computer Society Press, Los Alamitos, CA, 71-80.]] Google ScholarGoogle Scholar
  4. ALLEN,R.AND GARLAN, D. 1997. A Formal basis for architectural connection. ACM Trans. Softw. Eng. Methodol. 6, 3 (July), 213-249.]] Google ScholarGoogle Scholar
  5. BOOCH, G., JACOBSON, I., AND RUMBAUGH, J. 1998. The Unified Modeling Language User Guide, Addison-Wesley, Reading, MA.]] Google ScholarGoogle Scholar
  6. BOURDEAU,R.H.AND CHENG, B. H. C. 1995. A formal semantics of object models. IEEE Trans. Softw. Eng. 21, 10 (Oct.), 799-821.]] Google ScholarGoogle Scholar
  7. DI NITTO,E.AND ROSENBLUM, D. S. 1999. Exploiting ADLs to specify architectural styles induced by middleware infrastructures. In Proceedings of the 21st International Conference on Software Engineering (Los Angeles, CA). ACM Press, New York, NY, 13-22.]] Google ScholarGoogle Scholar
  8. EGYED,A.AND MEDVIDOVIC, N. 1999. Extending architectural representation in UML with view integration. In Proceedings of the Second International Conference on the Unified Modeling Language (UML'99, Fort Collins, CO). IEEE Computer Society Press, Los Alamitos, CA, 2-16.]]Google ScholarGoogle Scholar
  9. EGYED,A.AND MEDVIDOVIC, N. 2000. A formal approach to heterogeneous software modeling. In Proceedings of the Third International Conference on the Fundamental Approaches to Software Engineering (FASE 2000, Berlin, Germany, March-April), Tom Mailbaum, Ed. Lecture Notes in Computer Science, No. 1783. Springer-Verlag, Berlin/Heidelberg, Germany.]] Google ScholarGoogle Scholar
  10. FEATHER,M.S.,FICKAS,S.,AND VAN LAMSWEERDE, A. 1997. Requirements and specification exemplars. Automated Softw. Eng. 4, 4, 419-438.]] Google ScholarGoogle Scholar
  11. FIDGE, C. J. 1991. Logical time in distributed computing systems. IEEE Comp. 24, 8, 28-33.]] Google ScholarGoogle Scholar
  12. GARLAN, D. (Ed.). 1995. Proceedings of the First International Workshop on Architectures for Software Systems (Seattle, WA, Apr.). Published in ACM Softw. Eng. Notes.]] Google ScholarGoogle Scholar
  13. GARLAN, D., ALLEN, R., AND OCKERBLOOM, J. 1994. Exploiting style in architectural design environments. In Proceedings of SIGSOFT '94: Foundations of Software Engineering (New Orleans, LA, Dec.), ACM Press, New York, NY, 175-188.]] Google ScholarGoogle Scholar
  14. GARLAN,D.AND KOMPANEK, A. 2000. Reconciling the needs of architectural description with objectmodeling notations. In Proceedings of the Third International Conference on the Unified Modeling Language (UML 2000, York, UK, October), Springer-Verlag, Berlin, Germany.]]Google ScholarGoogle Scholar
  15. GARLAN, D., MONROE, R., AND WILE, D. 1997. ACME: An architectural interconnection language. In Wile. Proceedings of CASCON '97 (Toronto, Ont., Canada). IBM Canada Ltd., Toronto, Ont., Canada.]] Google ScholarGoogle Scholar
  16. GARLAN, D., PAULISCH,F.N.,AND TICHY, W. F. (Eds.). 1995. Summary of the Dagstuhl Workshop on Software Architecture, February 1995. ACM Softw. Eng. Notes July, 63-83.]] Google ScholarGoogle Scholar
  17. GARLAN,D.AND SHAW, M. 1993. An Introduction to Software Architecture: Advances in Software Engineering and Knowledge Engineering, Vol. I. World Scientific Publishing, Singapore.]]Google ScholarGoogle Scholar
  18. HAREL, D. 1987. Statecharts: A visual formalism for complex systems. Sci. Comput. Program. 8, 231-274.]] Google ScholarGoogle Scholar
  19. HAREL,D.AND NAAMAD, A. 1996. The STATEMATE semantics of statecharts. ACM Trans. Softw. Eng. Methodol. 5, 4 (Oct.), 293-333.]] Google ScholarGoogle Scholar
  20. HOARE, C. A. R. 1985. Communicating Sequential Processes. Prentice Hall, Englewood Califfs, NJ.]] Google ScholarGoogle Scholar
  21. HOFMEISTER, C., NORD,R.L.,AND SONI, D. 2000. Applied Software Architecture. Addison-Wesley, Reading, MA.]] Google ScholarGoogle Scholar
  22. JACOBSON, I., BOOCH,G.,AND RUMBAUGH, J. 1999. The Unified Software Development Process. Addison-Wesley, Reading, MA.]] Google ScholarGoogle Scholar
  23. KRUCHTEN, P. B. 1995. The 4 C 1 view model of architecture. IEEE Software, 12, 6 (Nov.), 42-50.]] Google ScholarGoogle Scholar
  24. KRUCHTEN, P. B. 1998. The Rational Unified Process. Addison-Wesley, Reading, MA.]] Google ScholarGoogle Scholar
  25. LAMPORT, L. 1978. Time, clocks and the ordering of events in a distributed system. Commun. ACM 21, 7, 558-565.]] Google ScholarGoogle Scholar
  26. LUCKHAM,D.C.,KENNEY,J.J.,AUGUSTIN, L. M., VERA, J., BRYAN,D.,AND MANN, W. 1995. Specification and analysis of system architecture using rapide. IEEE Trans. Softw. Eng. 21, 4 (Apr.), 336-355.]] Google ScholarGoogle Scholar
  27. LUCKHAM,D.C.AND VERA, J. 1995. An event-based architecture definition language. IEEE Trans. Softw. Eng. 21, 9 (Sept.), 717-734.]] Google ScholarGoogle Scholar
  28. MAGEE,J.AND KRAMER, J. 1996. Dynamic structures in software architecture. In Proceedings of ACM SIGSOFT '96: Fourth Symposium on the Foundations of Software Engineering (FSE4, San Francisco, CA). ACM Press, New York, NY, 3-14.]] Google ScholarGoogle Scholar
  29. MAGEE,J.AND PERRY, D. E. (Eds.). 1998. Proceedings of the Third International Software Architecture Workshop (ISAW-3, Lake Buena Vista, FL, Nov.). ACM Press, New York, NY.]] Google ScholarGoogle Scholar
  30. MEDVIDOVIC, N., OREIZY, P., ROBBINS,J.E.,AND TAYLOR, R. N. 1996. Using object-oriented typing to support architectural design in the C2 style. In Proceedings of ACM SIGSOFT '96: Fourth Symposium on the Foundations of Software Engineering (FSE4, San Francisco, CA). ACM Press, New York, NY.]] Google ScholarGoogle Scholar
  31. MEDVIDOVIC, N., OREIZY,P.,AND TAYLOR, R. N. 1997. Reuse of off-the-shelf components in C2-style architectures. In Proceedings of the 1997 Symposium on Software Reusability (SSR'97, Boston, MA). ACM Press New York, 190-198. Also in Proceedings of the 1997 International Conference on Software Engineering (ICSE'97, Boston, MA). ACM Press, New York, NY, 692-700.]] Google ScholarGoogle Scholar
  32. MEDVIDOVIC,N.AND ROSENBLUM, D. S. 1997. Domains of concern in software architectures and architecture description languages. In Proceedings of the USENIX Conference on Domain Specific Languages (Santa Barbara, CA, Oct.), Usenix Association, Berkeley, CA, 199-212.]] Google ScholarGoogle Scholar
  33. MEDVIDOVIC,N.AND ROSENBLUM, D. S. 1999. Assessing the suitability of a standard design method for modeling software architectures. In Proceedings of the First IFIP Working Conference on Software Architecture (WICSA1, San Antonio, TX, Feb.), 161-182.]] Google ScholarGoogle Scholar
  34. MEDVIDOVIC, N., ROSENBLUM,D.S.,AND TAYLOR, R. N. 1999. A language and environment for architecture-based software development and evolution. In Proceedings of the 21st Interna-tional Conference on Software Engineering (Los Angeles, CA, May). ACM Press, New York, NY, 44-53.]] Google ScholarGoogle Scholar
  35. MEDVIDOVIC,N.AND TAYLOR, R. N. 1998. Separating fact from fiction in software architecture. In Proceedings of the Third International Software Architecture Workshop (ISAW-3, Lake Buena Vista, FL, Nov.), ACM Press, New York, NY, 105-108.]] Google ScholarGoogle Scholar
  36. MEDVIDOVIC,N.AND TAYLOR, R. N. 2000. A Classification and Comparison Framework for Software Architecture Description Languages. IEEE Trans. Softw. Eng. 26, 1 (Jan.), 70-93.]] Google ScholarGoogle Scholar
  37. MEDVIDOVIC, N., TAYLOR,R.N.,AND WHITEHEAD,JR., E. J. 1996. Formal modeling of software architectures at multiple levels of abstraction. In Proceedings of the California Software Symposium 1996 (Los Angeles, CA, Apr.). University of Southern California, Center for Software Engineering and University of California, Irvine, Irvine Research Unit in Software, Los Angels, 28-40.]]Google ScholarGoogle Scholar
  38. MEHTA, N., MEDVIDOVIC,N.,AND PHADKE, S. 2000. Towards a taxonomy of software connectors. In Proceedings of the 22nd International Conference on Software Engineering (ICSE 2000, Limerick, Ireland, June). ACM Press, New York, NY, 178-187.]] Google ScholarGoogle Scholar
  39. MORICONI, M., QIAN, X., AND RIEMENSCHNEIDER, R. A. 1995. Correct architecture refinement. IEEE Trans. Softw. Eng. 21, 4 (Apr.), 356-372. Rational Software Corporation. 1998. Rational Rose 98: Using Rational Rose. Rational Software Corp., Cupertino, CA, and Lexington, MA.]] Google ScholarGoogle Scholar
  40. OBJECT MANAGEMENT GROUP. 2000. OMG UML Specification Version 1.3. Object Management Group, Needham, MA.]]Google ScholarGoogle Scholar
  41. PERRY,D.E.AND WOLF, A. L. 1992. Foundations for the study of software architectures. ACM SIGSOFT Softw. Eng. Notes 17, 4 (Oct.), 40-52.]] Google ScholarGoogle Scholar
  42. ROBBINS, J. E., MEDVIDOVIC, N., REDMILES,D.F.,AND ROSENBLUM, D. S. 1998. Integrating architecture description languages with a standard design method. In Proceedings of the 20th In-ternational Conference on Software Engineering (ICSE'98, Kyoto, Japan, Apr.). IEEE Computer Society, Los Alamitos, CA, 209-218.]] Google ScholarGoogle Scholar
  43. ROSCOE, A. W. 1998. Two Papers on CSP. Technical monograph PRG-67, Oxford University Computing Laboratory, Oxford, UK.]]Google ScholarGoogle Scholar
  44. RUMBAUGH, J., JACOBSON, I., AND BOOCH, G. 1998. The Unified Modeling Language Reference Manual. Addison-Wesley, Reading, MA.]] Google ScholarGoogle Scholar
  45. SCATTERGOOD, B. 1998. The Semantics and Implementation of Machine-Readable CSP. Ph.D. dissertation, Oxford University, Oxford, UK.]]Google ScholarGoogle Scholar
  46. SELIC, B. 1999. Turning clockwise: Using UML in the real-time domain. Commun. ACM 42,10 (Oct.), 46-54.]] Google ScholarGoogle Scholar
  47. SELIC, B., GULLEKSON,G.,AND WARD, P. 1994. Real-Time Object-Oriented Modeling. Wiley, New York, NY.]] Google ScholarGoogle Scholar
  48. SELIC,B.AND RUMBAUGH, J. 1998. Using UML for Modeling Complex Real-Time Systems. ObjectTime white paper, March 11, 1998. Accessed June 2000 at Web site http://www. objectime.com/otl/technical/umlrt.pdf.]]Google ScholarGoogle Scholar
  49. SHAW, M. 1996. Procedure calls are the assembly language of software interconnection: Connectors deserve first-class status. In Studies of Software Design, Proceedings of an ICSE'93 Work-shop. Lecture Notes in Computer Science, No. 1078. Springer-Verlag, Berlin, Germany, 17-32.]] Google ScholarGoogle Scholar
  50. SHAW, M., DELINE, R., KLEIN, D. V., ROSS, T. L., YOUNG,D.M.,AND ZELESNIK, G. 1995. Abstractions for software architecture and tools to support them. IEEE Trans. Softw. Eng. 21, 4 (Apr.), 314-335.]] Google ScholarGoogle Scholar
  51. SHAW,M.AND GARLAN, D. 1995. Formulations and formalisms in software architecture. In Computer Science Today: Recent Trends and Developments, J. van Leeuwen (Ed.), Lecture Notes in Computer Science, No. 1000. Springer-Verlag, Berlin, Germany, 307-323.]]Google ScholarGoogle Scholar
  52. SHAW, M., GARLAN, D., ALLEN, R., KLEIN, D., OCKERBLOOM, J., SCOTT,C.,AND SCHUMACHER, M. 1995. Candidate model problems in software architecture. Unpublished manuscript. Available from http://www.cs.cmu.edu/afs/cs/project/compose/www/html/ModProb/.]]Google ScholarGoogle Scholar
  53. SONI, D., NORD, R., AND HOFMEISTER, C. 1995. Software architecture in industrial applications. In Proceedings of the 17th International Conference on Software Engineering (ICSE 17, Seattle, WA, Apr.). ACM Press, New York, NY, 196 1995.]] Google ScholarGoogle Scholar
  54. TAYLOR,R.N.,MEDVIDOVIC, N., ANDERSON, K. M., WHITEHEAD,JR., E. J., ROBBINS, J. E., NIES,K.A.,]]Google ScholarGoogle Scholar
  55. OREIZY,P.,AND DUBROW, D. L. 1996. A component- and message-based architectural style for GUI software. IEEE Trans. Softw. Eng. 22, 6 (June), 390-406.]] Google ScholarGoogle Scholar
  56. TIGRIS. 2000. Design your UML models with ArgoUML. http://argouml.tigris.org/v08/press-release. html.]]Google ScholarGoogle Scholar
  57. TRACZ, W. 1995. DSSA (domain-specific software architecture): Pedagogical example. ACM SIG- SOFT Softw. Eng. Notes 20, 3 (July), 49-62.]] Google ScholarGoogle Scholar
  58. VESTAL, S. 1996. MetaH Programmer's Manual, Version 1.09. Technical report, Honeywell Technology Center.]]Google ScholarGoogle Scholar
  59. WANG,E.Y.,RICHTER,H.A.,AND CHENG, B. H. C. 1997. Formalizing and integrating the dynamic model within OMT. In Proceedings of the 1997 International Conference on Software Engineering (Boston, MA, May), ACM Press, New York, NY, 45-55.]] Google ScholarGoogle Scholar
  60. WARMER,J.B.AND KLEPPE, A. G. 1998. The Object Constraint Language: Precise Modeling with UML. Addison-Wesley, Reading, MA.]] Google ScholarGoogle Scholar
  61. WOLF, A. L. (Ed.). 1996. Proceedings of the Second International Software Architecture Workshop (ISAW-2, San Francisco, CA, Oct.).]]Google ScholarGoogle Scholar

Index Terms

  1. Modeling software architectures in the Unified Modeling Language

        Recommendations

        Reviews

        Nancy R. Mead

        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. Online Computing Reviews Service

        Access critical reviews of Computing literature here

        Become a reviewer for Computing Reviews.

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in

        Full Access

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader