Friday

Is UML an Architectural Description Language?

Moderator
Derek Coleman, Hewlett-Packard

Panelists
Grady Booch, Rational Software
David Garlan, CMU
Sridhar Iyengar, Unisys
Cris Kobryn, EDS
Victoria Stavridou, SRI

The architecture of a system defines its high-level structure as a collection of interacting components. Most architects use informal box and arrow diagrams to describe architectures. Unfortunately, informal diagrams and descriptions are highly ambiguous. Consequently, it is virtually impossible to answer with any precision the many questions that arise during system development.

Recognizing the deficiencies of using ad-hoc and informal notations to describe architecture, the software engineering research community has pioneered architectural description languages (ADL). ADLs have well-defined semantics and tools for parsing, compiling etc.

Industry has also realized the importance of documenting architecture. However, instead of using ADLs, industry has focussed on the UML. Today many companies are using UML for architectural description. In fact the UML developers are advocating this use and the introduction to the latest version states: "One of the key motivations in the minds of the UML developers was to create a set of semantics and notation that adequately addresses all scales of architectural complexity, across all domains."

The issue facing the panel is how far have the UML developers succeeded in meeting this goal and what remains to be done. Some of the specific questions to be addressed are:

  • What are the key lessons that UML has learned (and ignored) from the research on ADLs?
  • Does UML have the right concepts for expressing architectures and architectural styles?
  • Are the semantics of UML sufficiently well defined to allow architectural analysis?

Derek Coleman leads the architectural consultancy group in Hewlett-Packard’s Product Generation Solutions. Derek was the lead developer of the Fusion Object-oriented Method.

Grady Booch
Yes, the UML is an ADL. The UML is a graphical language for visualizing, specifying, constructing, and documenting the artifacts of a software-intensive system. The UML supports multiple views of a system - both structural and behavioral - especially those included in Kruchten's 4+1 model view of architecture [Kru95]. Furthermore, there are many existence proofs for the use of the UML as an ADL: systems such as the AWACS mid-term modernization project and frameworks such as IBM's Insurance Application Architecture have used the UML to codify their architecture.

That being said, there is value in considering the merging of the UML with traditional, more formal ADLs. Such a merger might bear fruit with regard to the formal analysis of a system's architecture and the direct execution of models.

Grady Booch is Chief Scientist of Rational Software, and is one of the original developers of the UML.

David Garlan
To address the question before this panel it is important to be clear what we are really asking: what does "is" mean? Clearly, UML can be used to describe architectures. Almost any notation can, including the ubiquitous box-and-line drawings found in most descriptions of software architecture. The important questions must therefore be: Having represented an architecture in UML, what can we do with it? How do our capabilities for understanding and analyzing architectural descriptions in UML compare with the capabilities found in other notations?

Once the question is framed in this way, I believe that the conclusion is that UML is not a very good architecture description language. Architectural information that one would naturally want to express, and that is easily expressible in other Architecture Description Languages, is often awkward (at best) to represent in UML. Moreover, there are few benefits that UML provides for the practicing architect to aid in analysis, effective tooling, and support for evolution.

To be specific, in this panel I will argue that the aspects of architectural description that are problematic for UML include

  • Description of connectors as first class entities
  • Hierarchical architectures
  • Description of interfaces as first class entities
  • Description of certain kinds of stylistic constraints.

David Garlan is an Associate Professor in the Department of Computer Science at CMU.He co-authored Software Architecture: Perspectives on an Emerging Discipline (Prentice-Hall, 1996).

Sridhar Iyengar
While proponents of ADLs do not consider UML to be an ADL, UML IS being used for describing and documenting software architectures. In fact, we have begun to see the introduction of more precisely defined UML based meta-models become part of mainstream specifications from OMG in addition to just CORBA IDL Interface definitions. Interestingly CORBA IDL, which has been used as a specification language, is now being complemented by UML Class & Interaction Diagrams, Meta-models as well as XML descriptions - all generated from more precisely defined meta-models using a well-defined subset of UML - The Meta Object Facility (MOF). Likewise, the OMG and the Metadata Coalition are beginning to use UML to describe a comprehensive architecture for specifying data warehouse environments.

UML is being used as an architecture modeling as well as architecture definition language, not always with the expected results! The UML notation and semantics are already being used to represent key architectural styles as well as the core architecture of systems like CORBA and EJB. UML in conjunction with the OMG Meta Object Facility is being used to describe meta-modeling and software integration architectures. However, to describe these architectures precisely and more importantly to perform architectural analysis, the use UML needs to be constrained. Also if the goal of UML designers is to evolve UML to better support Architecture modeling, definition and design, the core of UML needs to be simplified and made more extensible borrowing key aspects of ADLs. Another area to improve is more precise and more intuitive mechanisms to specify component inter-connections.

Sridhar Iyengar, a Unisys Fellow, leads the technology strategy for object technology products in Unisys. Sridhar represents Unisys at the OMG where he serves on the OMG Architecture Board.

Cris Kobryn
The question of how far the UML developers succeeded in specifying semantics and notation for architectural modeling is not straightforward to answer because the subject matter is slippery: there is not yet much consensus regarding what software architecture is, let alone how it should be specified. In addition, there is a dearth of good examples of reference architectures and architectural patterns (styles). Since most of the definitions of architecture tend to be software process (or method) specific, it is difficult to avoid "process creep" here. We need to keep in mind that UML is a modeling language, and not a process or a method.

The many UML models that have been used to architect custom applications and commercial products, along with extensions to UML for use with ADLs such as C2 and Wright [Rob98], may be considered existence proofs that UML can function effectively as an ADL. This panel will be more productive if it discusses specific ways that UML can improve as an ADL rather than debates its lineage or purity. The panel should also note that many of the architectural modeling shortcomings of UML 1.1 were either corrected or improved in the recent UML 1.3 revision. In addition, the OMG’s UML 2.0 roadmap includes plans to improve the support for modeling enterprise architecture views.

Cris Kobryn is a Chief Architect in the E.solutions unit of EDS, where he specializes in software architectures and methods. He is also the co-chair of the OMG’s UML Revision Task Force.

Victoria Stavridou
UML offers the advantage of being a visual language widely used for modeling a large range of software systems. Furthermore, it is supported by many tools. In terms of architecture, UML allows us to model the system from five different views. Each view focuses on a particular aspect of the system, and a set of UML diagrams is proposed to model the static and dynamic aspect of the view. This abundance of modeling capabilities shows the power of UML for modeling software architecture. However, this abundance can make UML confusing and difficult to use for non-specialists. This confusing aspect of UML is enforced by a lack of formal semantics, which limits the development of validation tools and prevents interesting type analysis. In addition, UML is less expressive than ADLs. For instance, UML does not distinguish components and connectors, and does not have a built-in notion of architecture style constraints.

These major weaknesses could be overcome by integrating UML with an ADL. The integration would encompass the advantages of both languages. It would give formal semantics to UML constructs and thus would provide UML with a theoretical foundation for architecture modeling. Furthermore, the integration would provide benefits for both ADL and UML users: it will enable ADL users to utilize general-purpose UML tools, and will enable UML users to utilize ADL validation capabilities. The result would be a rigorous software development process that is currently lacking.

Victoria Stavridou is the Director of the System Design Laboratory at SRI International where she is leading the Dependable System Architecture Group.

Return To Final Program || Return To Technical Program At A Glance

 OOPSLA'98 Home