BS ISO/IEC 19505-1:2012
$215.11
Information technology. Object Management Group Unified Modeling Language (OMG UML) – Infrastructure
Published By | Publication Date | Number of Pages |
BSI | 2012 | 234 |
This International Standard defines the Unified Modeling Language (UML), revision 2. The objective of UML is to provide system architects, software engineers, and software developers with tools for analysis, design, and implementation of software-based systems as well as for modeling business and similar processes.
The initial versions of UML (UML 1) originated with three leading object-oriented methods (Booch, OMT, and OOSE), and incorporated a number of best practices from modeling language design, object-oriented programming, and architectural description languages. Relative to UML 1, this revision of UML has been enhanced with significantly more precise definitions of its abstract syntax rules and semantics, a more modular language structure, and a greatly improved capability for modeling large-scale systems.
One of the primary goals of UML is to advance the state of the industry by enabling object visual modeling tool interoperability. However, to enable meaningful exchange of model information between tools, agreement on semantics and notation is required. UML meets the following requirements:
-
A formal definition of a common MOF-based metamodel that specifies the abstract syntax of the UML. The abstract syntax defines the set of UML modeling concepts, their attributes and their relationships, as well as the rules for combining these concepts to construct partial or complete UML models.
-
A detailed explanation of the semantics of each UML modeling concept. The semantics define, in a technology-independent manner, how the UML concepts are to be realized by computers.
-
A specification of the human-readable notation elements for representing the individual UML modeling concepts as well as rules for combining them into a variety of different diagram types corresponding to different aspects of modeled systems.
-
A detailed definition of ways in which UML tools can be made compliant with this International Standard. This is supported (in a separate specification) with an XML-based specification of corresponding model interchange formats (XMI) that must be realized by compliant tools.
PDF Catalog
PDF Pages | PDF Title |
---|---|
13 | 1 Scope 2 Conformance 2.1 General |
14 | 2.2 Language Units 2.3 Compliance Levels |
15 | Figure 2.1 – Level 0 package diagram Figure 2.2 – Level M package diagram 2.4 Meaning and Types of Compliance |
17 | 2.5 Compliance Level Contents 3 Normative References |
18 | 4 Terms and Definitions 5 Notational Conventions 6 Additional Information 6.1 Architectural Alignment and MDA Support 6.2 How to Proceed |
19 | 6.2.1 Diagram format |
20 | 6.2.2 Contents of Subparts I and II |
21 | Figure 6.1 – The Metamodel Library package contains the packages Core and Profiles Figure 6.2 – The Core package contains the packages PrimitiveTypes, Abstractions, Basic, and Constructs |
25 | 7 Language Architecture 7.1 General 7.2 Design Principles 7.3 Infrastructure Architecture |
26 | Figure 7.1 – The InfrastructureLibrary packages 7.4 Core |
27 | Figure 7.2 – The role of the common Core Figure 7.3 – The Core packages |
28 | 7.5 Profiles 7.6 Architectural Alignment between UML and MOF Figure 7.4 – UML and MOF are at different metalevels |
29 | 7.7 Superstructure Architecture Figure 7.5 – The top-level package structure of the UML 2 Superstructure |
30 | 7.8 Reusing Infrastructure 7.9 The Kernel Package 7.10 Metamodel Layering |
31 | 7.11 The Four-layer Metamodel Hierarchy 7.12 Metamodeling |
32 | Figure 7.6 – An example of metamodeling; note that not all instance-of relationships are shown Figure 7.7 – Giving an illustration of a class using an instance specification 7.13 An Example of the Four-level Metamodel Hierarchy |
33 | Figure 7.8 – An example of the four-layer metamodel hierarchy |
35 | 8 Language Formalism 8.1 General 8.2 Levels of Formalism |
36 | 8.3 Package Specification Structure 8.3.1 Class Descriptions 8.3.2 Diagrams 8.3.3 Instance Model 8.4 Class Specification Structure |
37 | 8.4.1 Description 8.4.2 Attributes 8.4.3 Associations 8.4.4 Constraints 8.4.5 Additional Operations (optional) 8.4.6 Semantics 8.4.7 Semantic Variation Points (optional) |
38 | 8.4.8 Notation 8.4.9 Presentation Options (optional) 8.4.10 Style Guidelines (optional) 8.4.11 Examples (optional) 8.4.12 Rationale (optional) 8.4.13 Changes from UML 1.4 8.5 Use of a Constraint Language |
39 | 8.6 Use of Natural Language 8.7 Conventions and Typography |
43 | 9 Core::Abstractions Figure 9.1 – The Core package is owned by the InfrastructureLibrary pack and contains several subpackages |
44 | Figure 9.2 – The Abstractions package contains several subpackages, all of which are specified in this clause |
45 | 9.1 BehavioralFeatures Package Figure 9.3 – The BehavioralFeatures package Figure 9.4 – The elements defined in the BehavioralFeatures package 9.1.1 BehavioralFeature |
46 | 9.2 Parameter |
47 | 9.3 Changeabilities Package Figure 9.5 – The Changeabilities package Figure 9.6 – The elements defined in the Changeabilities package |
48 | 9.3.1 StructuralFeature (as specialized) 9.4 Classifiers Package Figure 9.7 – The Classifiers package |
49 | Figure 9.8 – The elements defined in the Classifiers package 9.4.1 Classifier |
50 | 9.4.2 Feature |
51 | 9.5 Comments Package Figure 9.9 – The Comments package Figure 9.10 – The elements defined in the Comments package 9.5.1 Comment |
52 | Figure 9.11 – Comment notation 9.5.2 Element |
53 | 9.6 Constraints Package Figure 9.12 – The Constraints package |
54 | Figure 9.13 – The elements defined in the Constraints package 9.6.1 Constraint |
56 | Figure 9.14 – Constraint attached to an attribute Figure 9.15 – {xor} constraint |
57 | Figure 9.16 – Constraint in a note symbol 9.6.2 Namespace (as specialized) |
58 | 9.7 Elements Package Figure 9.17 – The Elements package Figure 9.18 – The elements defined in the Elements package 9.7.1 Element |
59 | 9.8 Expressions Package Figure 9.19 – The Expressions package Figure 9.20 – The elements defined in the Expressions package 9.8.1 Expression |
60 | 9.8.2 OpaqueExpression |
61 | 9.8.3 ValueSpecification |
63 | 9.9 Generalizations Package Figure 9.21 – The Generalizations package Figure 9.22 – The elements defined in the Generalizations package |
64 | 9.9.1 Classifier (as specialized) |
65 | 9.9.2 Generalization |
66 | Figure 9.23 – Examples of generalizations between classes 9.10 Instances Package Figure 9.24 – The Instances package |
67 | Figure 9.25 – The elements defined in the Instances package 9.10.1 InstanceSpecification |
69 | Figure 9.26 – Specification of an instance of String Figure 9.27 – Slots with values |
70 | Figure 9.28 – Instance specifications representing two objects connected by a link 9.10.2 InstanceValue |
71 | 9.10.3 Slot |
72 | 9.11 Literals Package Figure 9.29 – The Literals package Figure 9.30 – The elements defined in the Literals package 9.11.1 LiteralBoolean |
73 | 9.11.2 LiteralInteger |
74 | 9.11.3 LiteralNull |
75 | 9.11.4 LiteralReal |
76 | 9.11.5 LiteralSpecification 9.11.6 LiteralString |
77 | 9.11.7 LiteralUnlimitedNatural |
78 | 9.12 Multiplicities Package Figure 9.31 – The Multiplicities package |
79 | Figure 9.32 – The elements defined in the Multiplicities package 9.12.1 MultiplicityElement |
82 | Figure 9.33 – Multiplicity within a textual specification Figure 9.34 – Multiplicity as an adornment to a symbol 9.13 MultiplicityExpressions Package Figure 9.35 – The MultiplicityExpressions package |
83 | Figure 9.36 – The elements defined in the MultiplicityExpressions package 9.13.1 MultiplicityElement (specialized) |
85 | 9.14 Namespaces Package Figure 9.37 – The Namespaces package Figure 9.38 – The elements defined in the Namespaces package 9.14.1 NamedElement |
87 | 9.14.2 Namespace |
88 | 9.15 Ownerships Package Figure 9.39 – The Ownerships package |
89 | Figure 9.40 – The elements defined in the Ownerships package 9.15.1 Element (as specialized) |
90 | 9.16 Redefinitions Package Figure 9.41 – The Redefinitions package |
91 | Figure 9.42 – The elements defined in the Redefinitions package 9.16.1 RedefinableElement |
93 | 9.17 Relationships Package Figure 9.43 – The Relationships package Figure 9.44 – The elements defined in the Relationships package 9.17.1 DirectedRelationship |
94 | 9.17.2 Relationship |
95 | 9.18 StructuralFeatures Package Figure 9.45 – The StructuralFeatures package Figure 9.46 – The elements defined in the StructuralFeatures package 9.18.1 StructuralFeature |
96 | 9.19 Super Package Figure 9.47 – The Super package |
97 | Figure 9.48 – The elements defined in the Super package 9.19.1 Classifier (as specialized) |
99 | Figure 9.49 – Example class generalization hierarchy 9.20 TypedElements Package Figure 9.50 – The TypedElements package |
100 | Figure 9.51 – The elements defined in the TypedElements package 9.20.1 Type |
101 | 9.20.2 TypedElement 9.21 Visibilities Package |
102 | Figure 9.52 – The Visibilities package Figure 9.53 – The elements defined in the Visibilities package 9.21.1 NamedElement (as specialized) |
103 | 9.21.2 VisibilityKind |
105 | 10 Core::Basic 10.1 General Figure 10.1 – The Core package is owned by the InfrastructureLibrary package and contains several subpackages |
106 | 10.2 Types Diagram Figure 10.2 – The classes defined in the Types diagram 10.2.1 Comment |
107 | 10.2.2 Element 10.2.3 NamedElement |
108 | 10.2.4 Type 10.2.5 TypedElement |
109 | 10.3 Classes Diagram Figure 10.3 – The classes defined in the Classes diagram 10.3.1 Class |
110 | 10.3.2 MultiplicityElement |
111 | 10.3.3 Operation 10.3.4 Parameter |
112 | 10.3.5 Property |
113 | 10.4 DataTypes Diagram Figure 10.4 – The classes defined in the DataTypes diagram 10.4.1 DataType |
114 | 10.4.2 Enumeration 10.4.3 EnumerationLiteral |
115 | 10.4.4 PrimitiveType 10.5 Packages Diagram Figure 10.5 – The classes defined in the Packages diagram 10.5.1 Package |
116 | 10.5.2 Type |
117 | 11 Core::Constructs 11.1 General Figure 11.1 -The Core package is owned by the InfrastructureLibrary package, and contains several subpackages |
118 | Figure 11.2 – The Constructs package depends on several other packages 11.2 Root Diagram |
119 | Figure 11.3 – The Root diagram of the Constructs package 11.2.1 Comment |
120 | 11.2.2 DirectedRelationship 11.2.3 Element |
121 | 11.2.4 Relationship |
122 | 11.3 Expressions Diagram Figure 11.4 – The Expressions diagram of the Constructs package 11.3.1 Expression |
123 | 11.3.2 OpaqueExpression 11.3.3 ValueSpecification |
124 | 11.4 Classes Diagram |
125 | Figure 11.5 – The Classes diagram of the Constructs package 11.4.1 Association |
130 | Figure 11.6 – Binary and ternary associations Figure 11.7 – Association ends with various adornments |
131 | Figure 11.8 – Examples of navigable ends Figure 11.9 – Example of attribute notation for navigable end owned by an end class |
132 | Figure 11.10 – Example of a derived union Figure 11.11 – Composite aggregation is depicted as a black diamond 11.4.2 Class |
134 | Figure 11.12 -Class notation: details suppressed, analysis-level details, implementation-level details |
135 | Figure 11.13 – Class notation: attributes and operations grouped according to visibility 11.4.3 Classifier |
137 | Figure 11.14 – Examples of attributes |
138 | Figure 11.15 – Association-like notation for attribute 11.4.4 Operation 11.4.5 Property |
143 | 11.5 Classifiers Diagram |
144 | Figure 11.16 – The Classifiers diagram of the Constructs package 11.5.1 Classifier |
145 | 11.5.2 Feature |
146 | 11.5.3 MultiplicityElement 11.5.4 RedefinableElement |
147 | 11.5.5 StructuralFeature |
148 | 11.5.6 Type |
149 | 11.5.7 TypedElement 11.6 Constraints Diagram |
150 | Figure 11.17 – The Constraints diagram of the Constructs package 11.6.1 Constraint |
151 | 11.6.2 Namespace 11.7 DataTypes Diagram |
152 | Figure 11.18 – The classes defined in the DataTypes diagram 11.7.1 DataType |
153 | Figure 11.19 – Notation of data type: to the left is an icon denoting a data type and to the right is a reference to a data type that is used in an attribute. 11.7.2 Enumeration |
155 | Figure 11.20 – Example of an enumeration 11.7.3 EnumerationLiteral |
156 | 11.7.4 Operation 11.7.5 PrimitiveType |
157 | 11.7.6 Property |
158 | 11.8 Namespaces Diagram Figure 11.21 – The Namespaces diagram of the Constructs package 11.8.1 ElementImport |
161 | Figure 11.22 – Example of element import Figure 11.23 – Example of element import with aliasing 11.8.2 NamedElement |
162 | 11.8.3 Namespace |
163 | 11.8.4 PackageableElement |
164 | 11.8.5 PackageImport |
165 | Figure 11.24 – Examples of public and private package imports 11.9 Operations Diagram |
166 | Figure 11.25 – The Operations diagram of the Constructs package 11.9.1 BehavioralFeature |
168 | 11.9.2 Operation |
171 | 11.9.3 Parameter |
172 | 11.9.4 ParameterDirectionKind |
173 | 11.10 Packages Diagram Figure 11.26 – The Packages diagram of the Constructs package 11.10.1 Type |
174 | 11.10.2 Package |
176 | Figure 11.27 – Examples of a package with members 11.10.3 PackageMerge |
178 | Figure 11.28 – Illustration of the meaning of package merge |
179 | Figure 11.29 – Conceptual view of the package merge semantics |
183 | Figure 11.30 – Notation for package merge |
184 | Figure 11.31 – Simple example of package merges Figure 11.32 – Simple example of transformed packages following the merges in Figure 11.31 |
185 | Figure 11.33 – Introducing additional package merges Figure 11.34 – The result of the additional package merges in Figure 11.33 |
187 | 12 Core::Profiles 12.1 General |
189 | 12.2 Profiles package Figure 12.1 – Dependencies between packages described in this clause |
190 | Figure 12.2 – The classes defined in the Profiles package 12.2.1 Class (from Profiles) |
191 | Figure 12.3 – Showing that the extended class is a metaclass 12.2.2 Extension (from Profiles) |
193 | Figure 12.4 – MOF model equivalent to extending “interface” by the “Home” stereotype Figure 12.5 – The notation for an Extension |
194 | Figure 12.6 – An example of using an Extension Figure 12.7 – An example of a required Extension 12.2.3 ExtensionEnd (from Profiles) |
195 | 12.2.4 Image (from Profiles) |
196 | 12.2.5 Package (from Profiles) |
198 | 12.2.6 PackageableElement (from Profiles) 12.2.7 Profile (from Profiles) |
200 | Figure 12.8 Specification of an accessible metaclass |
203 | Figure 12.9 – Using the “HomeExample” profile to extend a model |
204 | Figure 12.10 – Defining a simple EJB profile Figure 12.11 – Importing a package from a profile |
205 | 12.2.8 ProfileApplication (from Profiles) |
206 | Figure 12.12 – Profiles applied to a package 12.2.9 Stereotype (from Profiles) |
210 | Figure 12.13 – Defining a stereotype Figure 12.14 – Presentation options for an extended class |
211 | Figure 12.15 – An instance specification when defining a stereotype Figure 12.16 – Defining multiple stereotypes on multiple stereotypes |
212 | Figure 12.17 – Using a stereotype Figure 12.18 – Showing values of stereotypes and a simple instance specification Figure 12.19 – Using stereotypes and showing values |
213 | Figure 12.20 – Other notational forms for depicting stereotype values |
215 | 13 PrimitiveTypes 13.1 General Figure 13.1 – The Core package is owned by the InfrastructureLibrary package, and contains several subpackages 13.2 PrimitiveTypes Package Figure 13.2 – The classes defined in the PrimitiveTypes package 13.2.1 Boolean |
216 | Figure 13.3 – An example of a Boolean attribute 13.2.2 Integer |
217 | Figure 13.4 – An example of an integer attribute 13.2.3 Real |
218 | Figure 13.5 – An example of a real attribute 13.2.4 String |
219 | Figure 13.6 – An example of a string attribute 13.2.5 UnlimitedNatural Figure 13.7 – An example of an unlimited natural |
223 | Annex A: XMI Serialization and Schema |
225 | Annex B: Support for Model Driven Architecture |
227 | Annex C: UML XMI Documents |
229 | INDEX |