Views: 6
The multiplicity of the attribute in ISO/IEC 19505-1:2012(E) Unified Modeling Language (OMG UML)
Nobuyuki SAMBUICHI
ISO/TC295 Audit data services/SG1 Semantic model Convener
In the ISO/IEC 19505-1:2012(E) Unified Modeling Language (OMG UML), the cardinality of an object class property is defined as the “multiplicity” of the attribute, allowing for multiple occurrences to be specified.
Instead of ISO/IEC 19763 Metamodel framework for interoperability (MFI), we have the option to use the ISO 19505 style text notation for our framework.
The notation of MFI (ISO/IEC 19763) is more concise compared to OMG UML (ISO/IEC 19505).
1. Classes Diagram
![]()
10.3.1 Class
Description
A class is a type that has objects as its instances.
Generalizations
“Type” on page 96
Attributes
isAbstract : Boolean
True when a class is abstract. The default value is false.ownedAttribute : Property [*]
The attributes owned by a class. These do not include the inherited attributes. Attributes are represented by instances of PropertyownedOperation : Operation [*]
The operations owned by a class. These do not include the inherited operations.superClass : Class[*]
The immediate superclasses of a class, from which the class inherits.10.3.2 MultiplicityElement
Description
Basic::MultiplicityElement reuses the definition from Abstractions::MultiplicityElement.
Generalizations
“Element” on page 95
Description
Constructs::Relationship reuses the definition of Relationship from Abstractions::Relationships. It adds a specialization to Constructs::Element.
Generalizations
“Element” on page 95
Attributes
No additional attributes
Associations
No additional associations
Constraints
No additional constraints
10.3.5 Property
Description
A property is a typed element that represents an attribute of a class.
Generalizations
“TypedElement” on page 96
“TypedElement” on page 96 – MultiplicityElement.
Attributes
class : Class [0..1]
The class that owns the property, and of which the property is an attribute.default : String [0..1]
A string that is evaluated to give a default value for the attribute when an object of the owning class is instantiated.isComposite : Boolean
If isComposite is true, the object containing the attribute is a container for the object or value contained in the attribute. The default value is false.isDerived : Boolean
If isDerived is true, the value of the attribute is derived from information elsewhere. The default value is false.isReadOnly : Boolean
If isReadOnly is true, the attribute may not be written to after initialization. The default value is false.opposite : Property [0..1]
Two attributes attr1 and attr2 of two objects o1 and o2 (which may be the same object) may be paired with each other so that o1.attr1 refers to o2 if and only if o2.attr2 refers to o1. In such a case attr1 is the opposite of attr2 and attr2 is the opposite of attr1.isID : Boolean
True indicates this property can be used to uniquely identify an instance of the containing Class. Default value is false
Infrastructure 10.3 Class Diagram
2. The multiplicity of the attribute (default in UML)
The multiplicity of the attribute is suppressed it defaults to ‘1’ (default in UML).
8.4.2 Attributes
Each of the attributes of the class are enumerated together with a short explanation. The sub clause states if the attribute is derived, or if it is a specialization of another attribute. The multiplicity of the attribute is suppressed it defaults to ‘1’
(default in UML).
Infrastructure 8.4.2 Attributes
3. The multiplicity of the attribute (Example)
The multiplicity of the attribute in quote 9.8.2 of the OpaqueExpression is defined as [0..*].
![]()
9.8.1 Expression
An expression is a structured tree of symbols that denotes a (possibly empty) set of values when evaluated in a context.
Description
An expression represents a node in an expression tree, which may be non-terminal or terminal. It defines a symbol, and has a possibly empty sequence of operands that are value specifications.
Generalizations
“ValueSpecification” on page 49
Attributes
symbol: String [1]
The symbol associated with the node in the expression tree.
Associations
operand: ValueSpecification[*]
Specifies a sequence of operands. Subsets Element::ownedElement.
Constraints
No additional constraints
Semantics
An expression represents a node in an expression tree. If there is no operand, it represents a terminal node. If there are
operands, it represents an operator applied to those operands. In either case there is a symbol associated with the node.
The interpretation of this symbol depends on the context of the expression.9.8.2 OpaqueExpression
An opaque expression is an uninterpreted textual statement that denotes a (possibly empty) set of values when evaluated in a context.
Description
An opaque expression contains language-specific text strings used to describe a value or values, and an optional specification of the languages.
One predefined language for specifying expressions is OCL. Natural language or programming languages may also be used.
Generalizations
“ValueSpecification” on page 49
Attributes
body: String [0..*] {nonunique, ordered}
The text of the expression, possibly in multiple languages.
language: String [0..*] {ordered}
Specifies the languages in which the expression is stated. The interpretation of the expression body depends on the language. If languages are unspecified, it might be implicit from the expression body or the context. Languages are matched to body strings by order.
Associations
No additional associations
Semantics
The expression body may consist of a sequence of text strings – each in a different language – representing alternative representations of the same content. When multiple language strings are provided, the language of each separate string is determined by its orresponding entry in the “language” attribute (by sequence order). The interpretation of the text strings is language specific. Languages are matched to body strings by order. If the languages are unspecified, it might be implicit from the expression bodies or the context.
It is assumed that a linguistic analyzer for the specified languages will evaluate the bodies. The time at which the bodies will be evaluated is not specified.
Infrastructure 9.8.2 OpaqueExpression