OMG Unified Modeling Language Specification
Total Page:16
File Type:pdf, Size:1020Kb
OMG Unified Modeling Language Specification Version 1.4 September 2001 Copyright © 1997-2001 Computer Associates International Inc. Copyright © 1997-2001 Electronic Data Systems Corporation Copyright © 1997-2001 Hewlett-Packard Company Copyright © 1997-2001 IBM Corporation Copyright © 1997-2001, I-Logix Copyright © 1997-2001 IntelliCorp Copyright © 1997-2001 Microsoft Corporation Copyright © 1997-2001 Object Management Group Copyright © 1997-2001 Oracle Corporation Copyright © 1997-2001 Ptech Inc. Copyright © 1997-2001 Rational Software Corporation Copyright © 1997-2001 Reich Technologies Copyright © 1997-2001 Softeam Copyright © 1997-2001 Taskon A/S Copyright © 1997-2001 Unisys Corporation PATENT The attention of adopters is directed to the possibility that compliance with or adoption of OMG specifications may require use of an invention covered by patent rights. OMG shall not be responsible for identifying patents for which a license may be required by any OMG specification, or for conducting legal inquiries into the legal validity or scope of those patents that are brought to its attention. OMG specifications are prospective and advisory only. Prospective users are responsible for protecting themselves against liability for infringement of patents. NOTICE The information contained in this document is subject to change without notice. The material in this document details an Object Management Group, Inc. specification. This document does not represent a commitment to implement any portion of this specification in any companies' products. GENERAL USE RESTRICTIONS The owners of the copyright in the UML specifications version 1.3 hereby grant you a fully-paid up, non-exclusive, nontransferable, perpetual, worldwide license (without the right to sublicense), to create and distribute software and special purpose specifications which are based upon the UML specifications, and to use, copy, and distribute the UML specifications as provided under the Copyright Act; provided that: (1) both the copyright notice identified above and this permission notice appear on any copies of the UML specifications; (2) the use of the specifications is for informational purposes and will not be copied or posted on any network computer or broadcast in any media and will not be otherwise resold or transferred for commercial purposes; and (3) no modifications are made to the UML specifications themselves. This limited permission automatically terminates without notice if you breach any of these terms or conditions. Upon termination, you will destroy immediately any copies of the specifications in your possession or control. Software developed under the terms of this license may claim compliance or conformance with UML version 1.3 if and only if the software compliance is of a nature fully matching the applicable compliance points as stated in the specifications. Software developed only partially matching the applicable compliance points may claim only that the software was based on the UML specifications, but may not claim compliance or conformance with any particular UML version. In the event that testing suites are implemented by Object Management Group, Inc., software developed using the UML specifications may claim compliance or conformance with the specifications only if the software satisfactorily completes the testing suites. Any unauthorized use of the UML specifications may violate copyright laws, trademark laws, and communications regulations and statutes. DISCLAIMER OF WARRANTY WHILE THE INFORMATION IN THIS PUBLICATION IS BELIEVED TO BE ACCURATE, THE UML SPECIFICATIONS ARE PROVIDED "AS IS" AND MAY CONTAIN ERRORS OR MISPRINTS. THE SPECIFICATIONS ARE PROVIDED FREE OF CHARGE OR AT A NOMINAL COST, AND ACCORDINGLY ARE PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTY OF ANY KIND, INCLUDING WITHOUT LIMITATION THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ERRORS CONTAINED HEREIN OR FOR INCIDENTAL OR CONSEQUENTIAL DAMAGES IN CONNECTION WITH THE FURNISHING, PERFORMANCE, OR USE OF THIS MATERIAL, EVEN IF ADVISED OF SUCH DAMAGES. The entire risk as to the quality and performance of software developed using the specifications is borne by you. This disclaimer of warranty constitutes an essential part of this Agreement. RESTRICTED RIGHTS LEGEND Use, duplication or disclosure by the U.S. Government subcontractor is subject to the restrictions set forth in subparagraph (c) (1) (ii) of The Rights in Technical Data and Computer Software Clause at DFARS 252.227-7013 or in subparagraph (c)(1) and (2) of the Commercial Computer Software - Restricted Rights clauses at 48 C.F.R. 52.227-19 or as specified in 48 C.F.R. 227-7202-2 of the DoD F.A.R. Supplement and its successors, or as specified in 48 C.F.R. 12.212 of the Federal Acquisition Regulations and its successors, as applicable. The specification copyright owners are as indicated above and may be contacted through the Object Management Group, 250 First Avenue, Needham, MA 02494, U.S.A. TRADEMARKS OMG OBJECT MANAGEMENT GROUP, CORBA, CORBA ACADEMY, CORBA ACADEMY & DESIGN, THE INFORMATION BROKERAGE, OBJECT REQUEST BROKER, OMG IDL, CORBAFACILITIES, CORBASERVICES, CORBANET, CORBAMED, CORBADOMAINS, GIOP, IIOP, OMA, CORBA THE GEEK, UNIFIED MODELING LANGUAGE, UML, and UML CUBE LOGO are registered trademarks or trademarks of the Object Management Group, Inc. Rational Software is a trademark of Rational Software Corporation. ISSUE REPORTING All OMG specifications are subject to continuous review and improvement. As part of this process we encourage readers to report any ambiguities, inconsistencies, or inaccuracies they may find by completing the Issue Reporting Form at http://www.omg.org/library/issuerpt.htm. Contents Foreword . xix Preface . xxi 1. UML Summary . 1-1 1.1 Overview . 1-1 1.2 Primary Artifacts of the UML . 1-2 1.2.1 UML-defining Artifacts . 1-2 1.2.2 Development Project Artifacts . 1-2 1.3 Motivation to Define the UML . 1-3 1.3.1 Why We Model . 1-3 1.3.2 Industry Trends in Software . 1-3 1.3.3 Prior to Industry Convergence . 1-4 1.4 Goals of the UML . 1-4 1.5 Scope of the UML . 1-6 1.5.1 Outside the Scope of the UML . 1-7 1.5.2 Comparing UML to Other Modeling Languages 1-8 1.5.3 Features of the UML . 1-9 1.6 UML - Past, Present, and Future . 1-11 1.6.1 UML 0.8 - 0.91 . 1-11 1.6.2 UML Partners . 1-12 1.6.3 UML - Present and Future . 1-13 2. UML Semantics . 2-1 Part 1 - Background 2.1 Introduction . 2-2 2.1.1 Purpose and Scope . 2-2 September 2001 OMG-Unified Modeling Language, v1.4 i Contents 2.1.2 Approach . 2-2 2.2 Language Architecture . 2-3 2.2.1 Four-Layer Metamodel Architecture . 2-3 2.2.2 Package Structure . 2-5 2.3 Language Formalism . 2-7 2.3.1 Levels of Formalism . 2-8 2.3.2 Package Specification Structure . 2-9 2.3.3 Use of a Constraint Language . 2-10 2.3.4 Use of Natural Language . 2-10 2.3.5 Naming Conventions and Typography . 2-10 Part 2 - Foundation 2.4 Foundation Package . 2-11 2.5 Core . 2-12 2.5.1 Overview . 2-12 2.5.2 Abstract Syntax . 2-12 2.5.3 Well-Formedness Rules . 2-52 2.5.4 Detailed Semantics . 2-65 2.6 Extension Mechanisms . 2-74 2.6.1 Overview . 2-74 2.6.2 Abstract Syntax . 2-76 2.6.3 Well-Formedness Rules . 2-80 2.6.4 Detailed Semantics . 2-82 2.6.5 Notes . 2-83 2.7 Data Types . 2-85 2.7.1 Overview . 2-85 2.7.2 Abstract Syntax . 2-85 Part 3 - Behavioral Elements 2.8 Behavioral Elements Package . 2-94 2.9 Common Behavior . 2-94 2.9.1 Overview . 2-94 2.9.2 Abstract Syntax . 2-95 2.9.3 Well-Formedness Rules . 2-107 2.9.4 Detailed Semantics . 2-113 2.10 Collaborations . 2-115 2.10.1 Overview . 2-115 2.10.2 Abstract Syntax . 2-117 2.10.3 Well-Formedness Rules . 2-124 2.10.4 Detailed Semantics . 2-129 2.10.5 Notes . 2-134 ii OMG-Unified Modeling Language, v1.4 September 2001 Contents 2.11 Use Cases . 2-134 2.11.1 Overview . 2-134 2.11.2 Abstract Syntax . 2-135 2.11.3 Well-FormednessRules . 2-138 2.11.4 Detailed Semantics . 2-140 2.11.5 Notes . 2-145 2.12 State Machines . 2-145 2.12.1 Overview . 2-145 2.12.2 Abstract Syntax . 2-146 2.12.3 Well-FormednessRules . 2-156 2.12.4 Detailed Semantics . 2-160 2.12.5 Notes . 2-170 2.13 Activity Graphs . 2-175 2.13.1 Overview . 2-175 2.13.2 Abstract Syntax . 2-176 2.13.3 Well-Formedness Rules . 2-181 2.13.4 Detailed Semantics . 2-184 2.13.5 Notes . 2-186 Part 4 - General Mechanisms 2.14 Model Management . 2-187 2.14.1 Overview . 2-187 2.14.2 Abstract Syntax . 2-187 2.14.3 Well-Formedness Rules . 2-192 2.14.4 Semantics . 2-197 2.14.5 Notes . 2-203 3. UML Notation Guide . 3-1 Part 1 - Background 3.1 Introduction . 3-5 Part 2 - Diagram Elements 3.2 Graphs and Their Contents . 3-6 3.3 Drawing Paths . 3-7 3.4 Invisible Hyperlinks and the Role of Tools . 3-7 3.5 Background Information . 3-8 3.5.1 Presentation Options . 3-8 3.6 String . 3-8 3.6.1 Semantics . ..