UML Forum
All Things related to UML 2

UML FAQ: What are the pros & cons of UML 2 as a visual architecture modeling language for software-intensive systems?

When used by skilled Software Architects and Designers who have mastered its complex syntax and semantics, UML 2 is an effective architecture modeling language for specifying large, complex software-intensive systems. However, UML 2 doesn’t address the urgent needs of Agile developers who are wary of entrapment by BUFD (Big Up Front Design) methods and who seek an architecture modeling language that is easier to learn and master.

The following are some constructive recommendations for improving UML in its next major revision (UML 3.0) so that it will better meet the needs of Agile Architects and Designers.
  • GENERAL ISSUES
    • Language bloat.
      UML 2.x is that it is gratuitously large and complex. Although the UML 2.0 proposal was reasonably layered when it was proposed to the OMG and initially adopted in 2003, somehow its layering was lost in the OMG’s byzantine finalization process.
      • Recommendations: Refactor UML into three common usage layers (e.g., Agile, Intermediate, Executable), define appropriate compliance points, and enforce compliance via a reference implementation and test suites.
    • Voodoo Semantics for Behavioral Constructs.
      in general, UML 2.x semantics are ambiguous and imprecise. This is especially true to UML 2’s executable semantics for driving simulations and generating executable code.
      • Recommendations: Architecturally align all major behavioral diagram types (Activities, Sequences, State Machines) to shore common elements for behavioral simulations and code generation.
    • Dysfunctional interoperability.
      UML 2.x interoperability, like UML 1.y interoperability before it, is a sham based on a poorly designed model interchange standard called XMI.
      • Recommendations: Define full interoperability standards for common usage layers, define appropriate compliance points, and enforce compliance via a reference implementation and test suites.
    • Lack of a clear, concise glossary.
      Although the UML 2.0 proposal included a draft glossary when it was proposed to the OMG and initially adopted in 2003, somehow the glossary work was never completed and became lost in the OMG’s byzantine finalization process.
      • Recommendations: Define clear, concise glossary of UML 2 terms that are used consistently by the UML 2 specification.
  • SPECIFIC ISSUES
    • Remove the syntactic and semantic overlap between Composite Structure and Component diagrams
    • Provide a standard Model Library to support Service-Oriented Architectures (SOA) and its variants (SaaS, PaaS, IaaS).
    • Provide a standard Model Library to support Network Architectures and Cybersecurity Frameworks.
    • Provide a standard Model Library to support Cybersecurity Frameworks.