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.
- 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 Scholar
- ALLEN, R. J. 1997. A Formal Approach to Software Architecture. Ph.D. dissertation, Carnegie Mellon University, Pittsburgh, PA.]] Google Scholar
- 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 Scholar
- ALLEN,R.AND GARLAN, D. 1997. A Formal basis for architectural connection. ACM Trans. Softw. Eng. Methodol. 6, 3 (July), 213-249.]] Google Scholar
- BOOCH, G., JACOBSON, I., AND RUMBAUGH, J. 1998. The Unified Modeling Language User Guide, Addison-Wesley, Reading, MA.]] Google Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- FEATHER,M.S.,FICKAS,S.,AND VAN LAMSWEERDE, A. 1997. Requirements and specification exemplars. Automated Softw. Eng. 4, 4, 419-438.]] Google Scholar
- FIDGE, C. J. 1991. Logical time in distributed computing systems. IEEE Comp. 24, 8, 28-33.]] Google Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- HAREL, D. 1987. Statecharts: A visual formalism for complex systems. Sci. Comput. Program. 8, 231-274.]] Google Scholar
- HAREL,D.AND NAAMAD, A. 1996. The STATEMATE semantics of statecharts. ACM Trans. Softw. Eng. Methodol. 5, 4 (Oct.), 293-333.]] Google Scholar
- HOARE, C. A. R. 1985. Communicating Sequential Processes. Prentice Hall, Englewood Califfs, NJ.]] Google Scholar
- HOFMEISTER, C., NORD,R.L.,AND SONI, D. 2000. Applied Software Architecture. Addison-Wesley, Reading, MA.]] Google Scholar
- JACOBSON, I., BOOCH,G.,AND RUMBAUGH, J. 1999. The Unified Software Development Process. Addison-Wesley, Reading, MA.]] Google Scholar
- KRUCHTEN, P. B. 1995. The 4 C 1 view model of architecture. IEEE Software, 12, 6 (Nov.), 42-50.]] Google Scholar
- KRUCHTEN, P. B. 1998. The Rational Unified Process. Addison-Wesley, Reading, MA.]] Google Scholar
- LAMPORT, L. 1978. Time, clocks and the ordering of events in a distributed system. Commun. ACM 21, 7, 558-565.]] Google Scholar
- 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 Scholar
- LUCKHAM,D.C.AND VERA, J. 1995. An event-based architecture definition language. IEEE Trans. Softw. Eng. 21, 9 (Sept.), 717-734.]] Google Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- OBJECT MANAGEMENT GROUP. 2000. OMG UML Specification Version 1.3. Object Management Group, Needham, MA.]]Google Scholar
- 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 Scholar
- 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 Scholar
- ROSCOE, A. W. 1998. Two Papers on CSP. Technical monograph PRG-67, Oxford University Computing Laboratory, Oxford, UK.]]Google Scholar
- RUMBAUGH, J., JACOBSON, I., AND BOOCH, G. 1998. The Unified Modeling Language Reference Manual. Addison-Wesley, Reading, MA.]] Google Scholar
- SCATTERGOOD, B. 1998. The Semantics and Implementation of Machine-Readable CSP. Ph.D. dissertation, Oxford University, Oxford, UK.]]Google Scholar
- SELIC, B. 1999. Turning clockwise: Using UML in the real-time domain. Commun. ACM 42,10 (Oct.), 46-54.]] Google Scholar
- SELIC, B., GULLEKSON,G.,AND WARD, P. 1994. Real-Time Object-Oriented Modeling. Wiley, New York, NY.]] Google Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- TAYLOR,R.N.,MEDVIDOVIC, N., ANDERSON, K. M., WHITEHEAD,JR., E. J., ROBBINS, J. E., NIES,K.A.,]]Google Scholar
- 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 Scholar
- TIGRIS. 2000. Design your UML models with ArgoUML. http://argouml.tigris.org/v08/press-release. html.]]Google Scholar
- TRACZ, W. 1995. DSSA (domain-specific software architecture): Pedagogical example. ACM SIG- SOFT Softw. Eng. Notes 20, 3 (July), 49-62.]] Google Scholar
- VESTAL, S. 1996. MetaH Programmer's Manual, Version 1.09. Technical report, Honeywell Technology Center.]]Google Scholar
- 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 Scholar
- WARMER,J.B.AND KLEPPE, A. G. 1998. The Object Constraint Language: Precise Modeling with UML. Addison-Wesley, Reading, MA.]] Google Scholar
- WOLF, A. L. (Ed.). 1996. Proceedings of the Second International Software Architecture Workshop (ISAW-2, San Francisco, CA, Oct.).]]Google Scholar
Index Terms
- Modeling software architectures in the Unified Modeling Language
Recommendations
A semiotic analysis of unified modeling language graphical notations
Unified modeling language (UML) is the standard modeling language for object-oriented system development. Despite its status as a standard, UML has a fuzzy formal specification and a weak theoretical foundation. Semiotics, the study of signs, provides a ...
Automatic code generation from unified modelling language sequence diagrams
Unified modelling language (UML) is a visual modelling language, which has gained popularity among software practitioners. In a model‐driven software development environment, the existing UML tools mainly support automatic generation of structural code ...
The Coexistence of Sequence Diagrams and Collaboration Diagrams in Unified Modeling Language
KAM '11: Proceedings of the 2011 Fourth International Symposium on Knowledge Acquisition and ModelingThe interactive diagrams (ID) in the unified modeling language (UML) is consisted of object and the relation between objects, depicts the interaction relation and includes the information transferred between objects. As two interactive diagrams, the ...
Comments