Search Posts

Visits: 19

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

Figure10.3

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 Property

  • ownedOperation : 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

— ISO/IEC 19505-1:2012(E) Information technology – Object Management Group Unified Modeling Language (OMG UML)
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).

— ISO/IEC 19505-1:2012(E) Information technology – Object Management Group Unified Modeling Language (OMG 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..*].

Figure9.20

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.

— ISO/IEC 19505-1:2012(E) Information technology – Object Management Group Unified Modeling Language (OMG UML)
Infrastructure 9.8.2 OpaqueExpression

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です