Nothing Special   »   [go: up one dir, main page]

skip to main content
article

Modeling software architectures in the Unified Modeling Language

Published: 01 January 2002 Publication History

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.]]
[2]
ALLEN, R. J. 1997. A Formal Approach to Software Architecture. Ph.D. dissertation, Carnegie Mellon University, Pittsburgh, PA.]]
[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.]]
[4]
ALLEN,R.AND GARLAN, D. 1997. A Formal basis for architectural connection. ACM Trans. Softw. Eng. Methodol. 6, 3 (July), 213-249.]]
[5]
BOOCH, G., JACOBSON, I., AND RUMBAUGH, J. 1998. The Unified Modeling Language User Guide, Addison-Wesley, Reading, MA.]]
[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.]]
[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.]]
[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.]]
[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.]]
[10]
FEATHER,M.S.,FICKAS,S.,AND VAN LAMSWEERDE, A. 1997. Requirements and specification exemplars. Automated Softw. Eng. 4, 4, 419-438.]]
[11]
FIDGE, C. J. 1991. Logical time in distributed computing systems. IEEE Comp. 24, 8, 28-33.]]
[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.]]
[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.]]
[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.]]
[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.]]
[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.]]
[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.]]
[18]
HAREL, D. 1987. Statecharts: A visual formalism for complex systems. Sci. Comput. Program. 8, 231-274.]]
[19]
HAREL,D.AND NAAMAD, A. 1996. The STATEMATE semantics of statecharts. ACM Trans. Softw. Eng. Methodol. 5, 4 (Oct.), 293-333.]]
[20]
HOARE, C. A. R. 1985. Communicating Sequential Processes. Prentice Hall, Englewood Califfs, NJ.]]
[21]
HOFMEISTER, C., NORD,R.L.,AND SONI, D. 2000. Applied Software Architecture. Addison-Wesley, Reading, MA.]]
[22]
JACOBSON, I., BOOCH,G.,AND RUMBAUGH, J. 1999. The Unified Software Development Process. Addison-Wesley, Reading, MA.]]
[23]
KRUCHTEN, P. B. 1995. The 4 C 1 view model of architecture. IEEE Software, 12, 6 (Nov.), 42-50.]]
[24]
KRUCHTEN, P. B. 1998. The Rational Unified Process. Addison-Wesley, Reading, MA.]]
[25]
LAMPORT, L. 1978. Time, clocks and the ordering of events in a distributed system. Commun. ACM 21, 7, 558-565.]]
[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.]]
[27]
LUCKHAM,D.C.AND VERA, J. 1995. An event-based architecture definition language. IEEE Trans. Softw. Eng. 21, 9 (Sept.), 717-734.]]
[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.]]
[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.]]
[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.]]
[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.]]
[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.]]
[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.]]
[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.]]
[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.]]
[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.]]
[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.]]
[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.]]
[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.]]
[40]
OBJECT MANAGEMENT GROUP. 2000. OMG UML Specification Version 1.3. Object Management Group, Needham, MA.]]
[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.]]
[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.]]
[43]
ROSCOE, A. W. 1998. Two Papers on CSP. Technical monograph PRG-67, Oxford University Computing Laboratory, Oxford, UK.]]
[44]
RUMBAUGH, J., JACOBSON, I., AND BOOCH, G. 1998. The Unified Modeling Language Reference Manual. Addison-Wesley, Reading, MA.]]
[45]
SCATTERGOOD, B. 1998. The Semantics and Implementation of Machine-Readable CSP. Ph.D. dissertation, Oxford University, Oxford, UK.]]
[46]
SELIC, B. 1999. Turning clockwise: Using UML in the real-time domain. Commun. ACM 42,10 (Oct.), 46-54.]]
[47]
SELIC, B., GULLEKSON,G.,AND WARD, P. 1994. Real-Time Object-Oriented Modeling. Wiley, New York, NY.]]
[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.]]
[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.]]
[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.]]
[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.]]
[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/.]]
[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.]]
[54]
TAYLOR,R.N.,MEDVIDOVIC, N., ANDERSON, K. M., WHITEHEAD,JR., E. J., ROBBINS, J. E., NIES,K.A.,]]
[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.]]
[56]
TIGRIS. 2000. Design your UML models with ArgoUML. http://argouml.tigris.org/v08/press-release. html.]]
[57]
TRACZ, W. 1995. DSSA (domain-specific software architecture): Pedagogical example. ACM SIG- SOFT Softw. Eng. Notes 20, 3 (July), 49-62.]]
[58]
VESTAL, S. 1996. MetaH Programmer's Manual, Version 1.09. Technical report, Honeywell Technology Center.]]
[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.]]
[60]
WARMER,J.B.AND KLEPPE, A. G. 1998. The Object Constraint Language: Precise Modeling with UML. Addison-Wesley, Reading, MA.]]
[61]
WOLF, A. L. (Ed.). 1996. Proceedings of the Second International Software Architecture Workshop (ISAW-2, San Francisco, CA, Oct.).]]

Cited By

View all
  • (2024)Integration of UML Class Diagrams Based on Semantics and StructureInternational Journal of Software Engineering and Knowledge Engineering10.1142/S0218194024500207(1-32)Online publication date: 31-May-2024
  • (2024)Lamarckian Platform: Pushing the Boundaries of Evolutionary Reinforcement Learning Toward Asynchronous Commercial GamesIEEE Transactions on Games10.1109/TG.2022.320832416:1(51-63)Online publication date: Mar-2024
  • (2024)A framework for longitudinal latent factor modelling of treatment response in clinical trials with applications to Psoriatic Arthritis and Rheumatoid ArthritisJournal of Biomedical Informatics10.1016/j.jbi.2024.104641154(104641)Online publication date: Jun-2024
  • Show More Cited By

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

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Transactions on Software Engineering and Methodology
ACM Transactions on Software Engineering and Methodology  Volume 11, Issue 1
January 2002
147 pages
ISSN:1049-331X
EISSN:1557-7392
DOI:10.1145/504087
Issue’s Table of Contents

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 January 2002
Published in TOSEM Volume 11, Issue 1

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. C2
  2. Object Constraint Language
  3. Rapide
  4. Unified Modeling Language
  5. Wright
  6. formal modeling
  7. object-oriented design
  8. software architecture

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)122
  • Downloads (Last 6 weeks)8
Reflects downloads up to 19 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Integration of UML Class Diagrams Based on Semantics and StructureInternational Journal of Software Engineering and Knowledge Engineering10.1142/S0218194024500207(1-32)Online publication date: 31-May-2024
  • (2024)Lamarckian Platform: Pushing the Boundaries of Evolutionary Reinforcement Learning Toward Asynchronous Commercial GamesIEEE Transactions on Games10.1109/TG.2022.320832416:1(51-63)Online publication date: Mar-2024
  • (2024)A framework for longitudinal latent factor modelling of treatment response in clinical trials with applications to Psoriatic Arthritis and Rheumatoid ArthritisJournal of Biomedical Informatics10.1016/j.jbi.2024.104641154(104641)Online publication date: Jun-2024
  • (2024)Model-based security testing in IoT systemsInformation and Software Technology10.1016/j.infsof.2023.107326164:COnline publication date: 10-Jan-2024
  • (2024)Advancing the deployment and information management of direct air capture: A solution enabled by integrating consortium blockchain systemCarbon Capture Science & Technology10.1016/j.ccst.2024.100300(100300)Online publication date: Oct-2024
  • (2023)A pattern catalog for augmenting Digital Twin models with behaviorat - Automatisierungstechnik10.1515/auto-2022-014471:6(423-443)Online publication date: 7-Jun-2023
  • (2023)Supervised Classification of UML Class Diagrams Based on F-KNBInternational Journal of Software Engineering and Knowledge Engineering10.1142/S021819402350028633:08(1169-1210)Online publication date: 10-Jul-2023
  • (2023)Digital Library Conceptual Design2023 International Conference on Informatics Engineering, Science & Technology (INCITEST)10.1109/INCITEST59455.2023.10396985(1-7)Online publication date: 25-Oct-2023
  • (2023)A Design Method of Service-Oriented Software Architecture Description Language Supporting Performance Modeling2023 IEEE International Conference on Image Processing and Computer Applications (ICIPCA)10.1109/ICIPCA59209.2023.10257706(339-345)Online publication date: 11-Aug-2023
  • (2023)A novel application of the CORAS framework for ensuring cyber hygiene on shipboard RADARJournal of Marine Engineering & Technology10.1080/20464177.2023.2292782(1-15)Online publication date: 15-Dec-2023
  • Show More Cited By

View Options

Login options

Full Access

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media