Shopping Cart

No products in the cart.

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
Guaranteed Safe Checkout
Category:

If you have any questions, feel free to reach out to our online customer service team by clicking on the bottom right corner. We’re here to assist you 24/7.
Email:[email protected]

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
BS ISO/IEC 19505-1:2012
$215.11