Previous Table of Contents Next


I - Introduction

   The Unified Modeling Language is a visual language for specifying, constructing, and documenting the artifacts of systems. It is a general-purpose modeling language that can be used with all major object and component methods, and that can be applied to all application domains (e.g., health, finance, telecom, aerospace) and implementation platforms (e.g., J2EE, .NET).

   The OMG adopted the UML 1.1 specification in November 1997. Since then UML Revision Task Forces have produced several minor revisions, the most recent being the UML 1.4 specification, which was adopted in May 2001.

   Under the stewardship of the OMG, the UML has emerged as the software industry’s dominant modeling language. It has been successfully applied to a wide range of domains, ranging from health and finance to aerospace to e-commerce. As should be expected, its extensive use has raised numerous application and implementation issues by modelers and vendors. As of the time of this writing over 500 formal usage and implementation issues have been submitted to the OMG for consideration.

   Although many of the issues have been resolved in minor revisions by Revision Task Forces, other issues require major changes to the language that are outside the scope of an RTF. Consequently, the OMG has issued four complementary and architecturally aligned RFPs to define UML 2.0: UML 2.0 Infrastructure, UML 2.0 Superstructure, UML 2.0 Object Constraint Language and UML 2.0 Diagram Interchange.

   This UML 2.0 specification is organized into two volumes (UML 2.0: Infrastructure and UML 2.0: Superstructure), consistent with the breakdown of modeling language requirements into two RFPs (UML 2.0 Infrastructure RFP and UML

   2.0 Superstructure RFP). Since the two volumes cross-reference each other and the specifications are fully integrated, these two volumes could easily be combined into a single volume at a later time.

   The next two chapters describe the language architecture and the specification approach used to define UML 2.0.