ISO/TS 10303-16:2021
(Main)Industrial automation systems and integration — Product data representation and exchange — Part 16: Description methods: SysML XMI to EXPRESS transformation
Industrial automation systems and integration — Product data representation and exchange — Part 16: Description methods: SysML XMI to EXPRESS transformation
This document specifies a mapping of SysML (ISO/IEC 19514:2017) constructs to EXPRESS (ISO 10303-11:2004) elements for the purpose of representing SysML model represented in XMI (ISO/IEC 19509:2014) as EXPRESS (ISO 10303-11:2004) schemas. The specified mapping is a one-way transformation from SysML information model represented in XMI into an EXPRESS schema. NOTE Due to this limitation 10303-16 does not define the transformation of arbitrary SysML models to EXPRESS. The following are within the scope of this document: — the transformation of SysML metamodel constructs represented in XMI to EXPRESS elements for the purpose of representing SysML information models as EXPRESS schemas. The following are outside the scope of this document: — the transformation of SysML metamodel constructs into EXPRESS elements that are not used in the STEP Extended Architecture. NOTE The STEP Extended Architecture is defined in References [8], [9] and [10]. — the transformation of SysML metamodel constructs into EXPRESS elements for other purposes than representing SysML constructs as STEP concepts; — codes and scripts to transform SysML XMI to EXPRESS schema; — the transformation of SysML constraints (OCL[5]) into EXPRESS global and local rules; — the transformation of EXPRESS elements into SysML constructs.
Systèmes d'automatisation industrielle et intégration — Représentation et échange de données de produits — Partie 16: Titre manque
General Information
Standards Content (Sample)
TECHNICAL ISO/TS
SPECIFICATION 10303-16
First edition
2021-07
Industrial automation systems
and integration — Product data
representation and exchange —
Part 16:
Description methods: SysML XMI to
EXPRESS transformation
Reference number
©
ISO 2021
© ISO 2021
All rights reserved. Unless otherwise specified, or required in the context of its implementation, no part of this publication may
be reproduced or utilized otherwise in any form or by any means, electronic or mechanical, including photocopying, or posting
on the internet or an intranet, without prior written permission. Permission can be requested from either ISO at the address
below or ISO’s member body in the country of the requester.
ISO copyright office
CP 401 • Ch. de Blandonnet 8
CH-1214 Vernier, Geneva
Phone: +41 22 749 01 11
Email: copyright@iso.org
Website: www.iso.org
Published in Switzerland
ii © ISO 2021 – All rights reserved
Contents Page
Foreword .iv
Introduction .v
1 Scope . 1
2 Normative references . 1
3 Terms, definitions and abbreviated terms . 2
3.1 Terms and definitions . 2
3.1.1 Terms and definitions for generic concepts . 2
3.1.2 Terms and definitions for SysML constructs . 3
3.2 Abbreviated terms . 5
4 SysML XMI to EXPRESS. 5
4.1 General . 5
4.2 Presentation conventions . 5
4.3 Common mapping conventions . 5
4.3.1 Reference to external files . 5
4.3.2 xmi:id, xmi: uuid, and UUID . 6
4.3.3 Assumed sysml:Blo ck in fragments . 6
4.3.4 Containment and reference relationship . 6
4.3.5 Used stereotypes to represent STEP concepts . 6
4.3.6 Select type not treated as SysML supertype. 7
4.4 Mapping of the primary schema . 7
4.5 Mapping of Entities . 7
4.5.1 General mapping of Entity . 7
4.5.2 Mapping of abstract entity . 7
4.5.3 Mapping of entity with one supertype . 8
4.5.4 Mapping of entity with multiple supertypes . 8
4.6 Mapping of simple type . 9
4.7 Mapping of aggregation type .11
4.8 Mapping of aggregation of aggregation type.12
4.9 Mapping of Select type .13
4.9.1 General mapping of select type .13
4.9.2 Mapping of select type containing value type .14
4.10 Mapping of enumeration type .15
4.11 Mapping of entity attribute .15
4.11.1 Mapping of multiplicity and optionality .16
4.11.2 Attribute typed as an Entity .18
4.11.3 Attribute typed as Select .18
4.11.4 Attribute typed as Enumeration type .19
Annex A (normative) Information object registration .20
Annex B (informative) EXPRESS/Information modelling constructs and the equivalent
SysML modelling constructs .21
Bibliography .33
Foreword
ISO (the International Organization for Standardization) is a worldwide federation of national standards
bodies (ISO member bodies). The work of preparing International Standards is normally carried out
through ISO technical committees. Each member body interested in a subject for which a technical
committee has been established has the right to be represented on that committee. International
organizations, governmental and non-governmental, in liaison with ISO, also take part in the work.
ISO collaborates closely with the International Electrotechnical Commission (IEC) on all matters of
electrotechnical standardization.
The procedures used to develop this document and those intended for its further maintenance are
described in the ISO/IEC Directives, Part 1. In particular, the different approval criteria needed for the
different types of ISO documents should be noted. This document was drafted in accordance with the
editorial rules of the ISO/IEC Directives, Part 2 (see www .iso .org/ directives).
Attention is drawn to the possibility that some of the elements of this document may be the subject of
patent rights. ISO shall not be held responsible for identifying any or all such patent rights. Details of
any patent rights identified during the development of the document will be in the Introduction and/or
on the ISO list of patent declarations received (see www .iso .org/ patents).
Any trade name used in this document is information given for the convenience of users and does not
constitute an endorsement.
For an explanation of the voluntary nature of standards, the meaning of ISO specific terms and
expressions related to conformity assessment, as well as information about ISO's adherence to the
World Trade Organization (WTO) principles in the Technical Barriers to Trade (TBT), see www .iso .org/
iso/ foreword .html.
This document was prepared by Technical Committee ISO/TC 184, Automation systems and integration,
Subcommittee SC 4, Industrial data.
A list of all parts in the ISO 10303 series can be found on the ISO website.
Any feedback or questions on this document should be directed to the user’s national standards body. A
complete listing of these bodies can be found at www .iso .org/ members .html.
iv © ISO 2021 – All rights reserved
Introduction
ISO 10303 is an International Standard for the computer-interpretable representation and exchange
of product data. The objective is to provide a neutral mechanism capable of describing product data
throughout the life cycle of a product and independent from any particular system. The nature of this
description makes it suitable not only for neutral file exchange, but also as a basis for implementing and
sharing product databases and archiving.
10303-16 is a member of the description methods series. This document specifies a mapping of SysML
XMI to the EXPRESS language.
The STEP APs Domain models and the STEP Core Model are information model layer components that
are part of the STEP Extended Architecture. These components are developed using SysML. In the past
STEP information models were developed using the EXPRESS language. For legacy reasons it is therefore
required to provide an EXPRESS schema derived from the SysML domain model. It is mandatory that
the transformation from the SysML model to the EXPRESS schema is defined by a reference standard
and guarantee a repeatable process applicable to future application protocols developments.
The Object Management Group (OMG) has standardized the XML Metadata Interchange specification
(XMI) that integrates the OMG Systems Modeling Language (SysML), the OMG Unified Modeling
Language (UML), the OMG Meta-Object Facility (MOF) and the World Wide Web Consortium (W3C)
Extensible Markup Language (XML) standards. SysML inherits the XMI interchange capability from
UML. XMI is a mechanism for the interchange of metadata between UML-based modeling tools and MOF-
based metadata repositories. OMG has also standardized an XMI compliant interchange format for the
SysML thus specifying a lexical representation of SysML models based on a standardized metamodel
of the SysML. That lexical representation includes, among other things, the ability to interchange data
type information, class information (or entities), groupings of classes providing namespaces for the
classes (or schemas), associations between classes and inheritance between classes (or subtypes).
ISO has standardized the EXPRESS language (ISO 10303-11:2004). It is used to specify information
requirements in ISO 10303.
10303-16 specifies a description method of the STEP Parts family, which defines the transformation of
SysML constructs to the EXPRESS elements. Because the XMI standard specifies the XML representation
of SysML metamodel constructs, standardizing the binding of SysML constructs into EXPRESS elements
supports the representation of SysML models as EXPRESS schemas. SysML metamodel concepts that
appear in SysML Block Diagrams are mapped into data specifications defined by EXPRESS schemas.
This document does not map all SysML metamodel constructs to EXPRESS elements, because 10303
SysML models do not use all SysML metamodel constructs.
The EXPRESS schemas are derived from the domain model by applying the implementation bindings
on the SysML XMI. The EXPRESS binding is realized with XSL transformations, which transforms the
SysML model into an EXPRESS Schema. The specified binding is a one-way transformation from SysML
information model represented in XMI into an EXPRESS schema. Due to this limitation 10303-16 does
not define the transformation of arbitrary SysML models to EXPRESS.
Readers of 10303-16 require detailed knowledge of the EXPRESS language, and SysML.
The structure, conventions and concepts of the EXPRESS language are defined in ISO 10303-11:2004.
The main component of this standard is:
— the specification of the transformation from SysML XMI to EXPRESS for each STEP element modelled
in SysML.
TECHNICAL SPECIFICATION ISO/TS 10303-16:2021(E)
Industrial automation systems and integration — Product
data representation and exchange —
Part 16:
Description methods: SysML XMI to EXPRESS
transformation
1 Scope
This document specifies a mapping of SysML (ISO/IEC 19514:2017) constructs to EXPRESS
(ISO 10303-11:2004) elements for the purpose of representing SysML model represented in XMI
(ISO/IEC 19509:2014) as EXPRESS (ISO 10303-11:2004) schemas. The specified mapping is a one-way
transformation from SysML information model represented in XMI into an EXPRESS schema.
NOTE Due to this limitation 10303-16 does not define the transformation of arbitrary SysML models to
EXPRESS.
The following are within the scope of this document:
— the transformation of SysML metamodel constructs represented in XMI to EXPRESS elements for
the purpose of representing SysML information models as EXPRESS schemas.
The following are outside the scope of this document:
— the transformation of SysML metamodel constructs into EXPRESS elements that are not used in the
STEP Extended Architecture.
NOTE The STEP Extended Architecture is defined in References [8], [9] and [10].
— the transformation of SysML metamodel constructs into EXPRESS elements for other purposes than
representing SysML constructs as STEP concepts;
— codes and scripts to transform SysML XMI to EXPRESS schema;
[5]
— the transformation of SysML constraints (OCL ) into EXPRESS global and local rules;
— the transformation of EXPRESS elements into SysML constructs.
2 Normative references
The following documents are referred to in the text in such a way that some or all of their content
constitutes requirements of this document. For dated references, only the edition cited applies. For
undated references, the latest edition of the referenced document (including any amendments) applies.
ISO 10303-1, Industrial automation systems and integration — Product data representation and
exchange — Part 1: Overview and fundamental principles
ISO 10303-11:2004, Industrial automation systems and integration — Product data representation and
exchange — Part 11: Description methods: The EXPRESS language reference manual
ISO/IEC 19505-1:2012, Information technology — Object Management Group Unified Modeling Language
(OMG UML) — Part 1: Infrastructure
ISO/IEC 19509:2014, Information technology — Object Management Group XML Metadata Interchange
(XMI)
ISO/IEC 19514:2017, Information technology — Object management group systems modeling language
(OMG SysML)
W3C Recommendation: Extensible Markup Language (XML) 1.0 (Fifth Edition)
3 Terms, definitions and abbreviated terms
3.1 Terms and definitions
For the purposes of this document, the terms and definitions given in ISO 10303-11, ISO/IEC 19505-1,
ISO/IEC 19514 and the following apply.
ISO and IEC maintain terminological databases for use in standardization at the following addresses:
— ISO Online browsing platform: available at https:// www .iso .org/ obp
— IEC Electropedia: available at http:// www .electropedia .org/
3.1.1 Terms and definitions for generic concepts
3.1.1.1
data
representation of information in a formal manner suitable for communication, interpretation, or
processing by human beings or computers
[SOURCE: ISO 10303-1:2021, 3.1.29]
3.1.1.2
data model
description of the organization of data in the management information system of an enterprise
[SOURCE: ISO/IEC 2382:2015, 2121422]
3.1.1.3
EXPRESS
language by which aspects of product data can be defined
[SOURCE: ISO/TS 10303-15:2021, 3.1.1.1]
3.1.1.4
information
facts, concepts, or instructions
[SOURCE: ISO 10303-1:2021, 3.1.41]
3.1.1.5
information model
conceptual model of product data
Note 1 to entry: In ISO 10303, an information model is based on the object-relationship modeling technique that
organizes the product data as represented in different system aspects.
Note 2 to entry: In ISO 10303, information models may be developed using EXPRESS modeling language.
EXAMPLE Application resource model for ISO 10303-242 managed model-based 3D engineering.
[SOURCE: ISO 10303-1:2021, 3.1.42, modified — In the definition, "formal" has been replaced with
"conceptual"; in Note 2 to entry, "are" has been replaced with "may be"; the Example has been changed.]
2 © ISO 2021 – All rights reserved
3.1.2 Terms and definitions for SysML constructs
3.1.2.1
association
association classifies a set of tuples representing links between typed model elements
Note 1 to entry: The full definition is provided in ISO/IEC 19505-1:2012, 11.5.
3.1.2.2
auxiliary
stereotype applied to an abstract block that has no properties
Note 1 to entry: The full definition is provided in ISO/IEC 19505-1:2012, Clause 22.
3.1.2.3
block
modular construct used for defining an entity.
Note 1 to entry: Application activity model concepts, application data planning objects, application domain
model business objects, core model objects and ARM in SysML Entities. They can include reference, part, value
properties, and constraints. They can be specializations of other blocks.
Note 2 to entry: The full definition is provided in ISO/IEC 19514:2017, Clause 8.
3.1.2.4
canonical XMI
specific constrained format of XMI that minimizes variability and provides more predictable
identification and ordering
Note 1 to entry: A canonical XMI file is itself a valid XMI file.
Note 2 to entry: The full definition is provided in ISO/IEC 19509:2014, Annex B.
3.1.2.5
composite aggregation
responsibility for the existence of the composed object
Note 1 to entry: If a composite object is deleted, all of its part instances that are objects are deleted with it.
Note 2 to entry: The full definition is provided in ISO/IEC 19505-1:2012, 11.4.1.
3.1.2.6
connector
link between two or more instances playing owned or inherited roles within a StructuredClassifier
Note 1 to entry: The full definition is provided in ISO/IEC 19505-1:2012, 11.2.3.3.
3.1.2.7
enumeration
value type whose values are enumerated in the model as enumeration literals
Note 1 to entry: The full definition is provided in ISO/IEC 19505-1:2012, 10.2.3.3.
3.1.2.8
enumeration literal
user defined data value for an enumeration
Note 1 to entry: The full definition is provided in ISO/IEC 19505-1:2012, 10.2.3.3.
3.1.2.9
data type
type whose instances are identified only by their value
Note 1 to entry: The full definition is provided in ISO/IEC 19505-1:2012, 10.2.3.1.
3.1.2.10
generalization
directed relationship between a more general supertype and a more specific subtype
Note 1 to entry: Each generalization relates a specific classifier to a more general classifier. Given a classifier,
the transitive closure of its general classifiers is often called its generalizations, and the transitive closure of
its specific classifiers is called its specializations. The immediate generalizations are also called the classifier’s
subtype, and where the classifier is a class, its supertype.
Note 2 to entry: The full definition is provided in ISO/IEC 19505-1:2012, C.1.1.
3.1.2.11
part property
property that specifies a part with strong ownership and coincidental lifetime of its containing block
Note 1 to entry: It describes a local usage or a role of the typing block in the context of the containing block. Every
part property has composite aggregation and is typed by a block.
Note 2 to entry: The full definition is provided in ISO/IEC 19514:2017, 8.3.2.3, paragraph 6.
3.1.2.12
primitive type
definition of a predefined data type, without any substructure
Note 1 to entry: The full definition is provided in ISO/IEC 19505-1:2012, Clause 21.
3.1.2.13
reference property
property that specifies a reference of its containing block to another block
Note 1 to entry: The full definition is provided in ISO/IEC 19514:2017, 8.3.2.3, paragraph 6.
3.1.2.14
stereotype
limited kind of metaclass that cannot be used by itself but must always be used in conjunction with one
of the metaclasses it extends
Note 1 to entry: The full definition is provided in ISO/IEC 19505-1:2012, 12.3.3.4.
3.1.2.15
value property
property of a block that is typed with a value type
Note 1 to entry: The full definition is provided in ISO/IEC 19514:2017, 8.3.2.3, paragraph 6.
3.1.2.16
value type
a stereotype of UML data type that is used to define types of values that may be used to express
information but cannot be identified as the target of any reference
Note 1 to entry: The full definition is provided in ISO/IEC 19514:2017, 8.3.2.14.
4 © ISO 2021 – All rights reserved
3.2 Abbreviated terms
CXMI canonical XMI
ID identifier
OCL object constraint language
OMG object management group
STEP standard for the exchange of product model data
SysML systems modeling language
UML unified modeling language
UUID universal unique identifier
XMI XML meta-data interchange
XML extensible markup language
4 SysML XMI to EXPRESS
4.1 General
This clause describes the concepts and rules for the transformation mapping from a STEP SysML model
stored as a CXMI file to an EXPRESS Schema.
This document shall be unambiguously identified in an open information system by the code defined in
Annex A.
4.2 Presentation conventions
For ease of identification, separate boxes are used for the fragments of SysML, CXMI and EXPRESS.
The items significant to the section are usually in bold, but more than text effects may be used where
needed to support the explanation. Triple dots (“…”) are used to hide content not relevant to an extract.
Curly brackets “{xxx}” are used to contain descriptive words of the content in the resulting CXMI.
4.3 Common mapping conventions
4.3.1 Reference to external files
All the references in the SysML Canonical XMI fragments are given as x mi: idr e f which assumes that
the referenced element is contained in the same XMI file. When the referenced element is in a different
XMI file the href is used instead. This will be the case for all reference to primitives and may be case for
other references.
Canonical XMI: type href relative reference to element in DataTypes.xmi
CXMI:
Text
...other tags...
Canonical XMI: general href relative reference to element in another XMI file
CXMI:
DateTimeAssignment
...other tags...
4.3.2 xmi:id, xmi: uuid, and UUID
A CXMI file uses xmi:id value to make references between all kinds of elements. An xmi:id can be in an
x mi: idr e f attribute.
[4]
Xmi: uuid (UUID ), is not relevant to be included in the mapping transformations. After the first
mapping clause, this attribute will be omitted.
4.3.3 Assumed sysml: Block in fragments
For all the fragments that refer to Block, the following shows how a block is defined in the Canonical
XMI. This is not repeated in the remaining fragments, where only x mi: t y p e = ”uml: C la s s” is included and
the s ys ml: Blo ck is assumed:
SysML:
Class <>
CXMI:
StepEntityName
…
4.3.4 Containment and reference relationship
The EXPRESS language does not distinguish between reference relationships and containment
relationships. SysML supports both types of relationships. Therefore, in 4.11, no distinction is made
whether an association between two entities is realized by reference or by relationship.
4.3.5 Used stereotypes to represent STEP concepts
Two existing UML stereotypes are used to represent specific STEP concepts:
— <> stereotypes represent select data objects. Select data objects are represented as
abstract Blocks in SysML;
— <> stereotypes represent two specific types of Blocks:
— blocks that represents list of lists;
— block that represents Value Type in order to be able to include them as member in selects.
6 © ISO 2021 – All rights reserved
4.3.6 Select type not treated as SysML supertype
In STEP concepts, select types are not defined as entities but as types and are therefore not defined as
supertypes of an entity. In SysML an entity identifies the supertype entities and select types using the
generalization relationship. For this document supertype excludes any select types.
4.4 Mapping of the primary schema
SysML:
Package that includes directly the STEP data model represented in SysML and intended to
be transformed and implemented
CXMI:
STEP_AP242_Domain_model
EXPRESS:
SCHEMA STEP_AP242_Domain_model;
…
4.5 Mapping of Entities
4.5.1 General mapping of Entity
For each SysML block declaration (that is not an abstract <>), the EXPRESS Schema shall
contain the definition of a new entity data type corresponding to that SysML block.
SysML:
Class <>
CXMI:
StepEntityName
…
EXPRESS:
ENTITY StepEntityName;
…
4.5.2 Mapping of abstract entity
A SysML abstract block shall be transformed to an EXPRESS abstract supertype.
SysML:
Class <> with abstract parameter set as true
CXMI representation:
StepEntityName
true
…
EXPRESS:
ENTITY StepEntityName
ABSTRACT SUPERTYPE;
...
4.5.3 Mapping of entity with one supertype
A SysML subtype Block shall be mapped to an EXPRESS subtype.
SysML:
Class <> with general parameter including the name of the supertype block. The
supertyping is, formally, represented as a generalization relationship from the subtype
block to the supertype block.
CXMI:
SubtypeEntity
…
EXPRESS:
ENTITY SubtypeEntity
SUBTYPE OF (NameOfSupertypeEntity);
…
If the SupertypeEntity has only one subtype:
ENTITY NameOfSupertypeEntity
SUPERTYPE OF (SubtypeEntity);
…
If the SupertypeEntity has more than one subtype:
ENTITY NameOfSupertypeEntity
SUBTYPE OF (ONE OF(SubtypeEntity, AnotherSubtypeEntity, …));
…
NOTE SysML GeneralizationSet is not included in the Extended Architecture, therefore a SYSML block
cannot be the generalization of more than one other block at the same time. This is mapped to EXPRESS by a
ONEOF constraint.
4.5.4 Mapping of entity with multiple supertypes
Multiple inheritance is where the SysML block has more than one supertype that is not an <>.
This kind of SysML block shall be mapped to an EXPRESS subtype naming all its supertypes. The
following rules are applied:
— the below fragment builds on the above fragment with the additional features:
— EntityX has multiple inheritance of IdentifiableObject EntityA and ProgrammeObject EntityB;
— EntityB has a supertype EntityC.
SysML:
Class <> with general parameter including the names of the supertype blocks. The
supertyping is, formally, represented as a generalization relationship from the subtype
block to the multiple supertype blocks.
8 © ISO 2021 – All rights reserved
CXMI:
EntityX
…
EntityB
…
EXPRESS:
ENTITY EntityX
SUBTYPE OF (EntityA, EntityB);
…
ENTITY A
SUPERTYPE OF (EntityX);
…
ENTITY B
SUPERTYPE OF (EntityX)
SUBTYPE OF (EntityC);
…
ENTITY C
SUPERTYPE OF (EntityB);
…
4.6 Mapping of simple type
In order to follow the semantics of EXPRESS (to enable EXPRESS from/to SysML mappings), it is
necessary to use STEP own simple types (also named primitive types). For example, Number is a
generalization of Real, that is a generalization of Integer. The UML/SysML types do not have this
relationship between the primitive types. The fragments below provide the mapping requirements.
SysML:
PrimitiveType STRING <>
CXMI:
String
EXPRESS:
STRING
SysML:
PrimitiveType NUMBER <>
CXMI:
Number
true
EXPRESS:
NUMBER
SysML:
PrimitiveType REAL <>
CXMI:
Real
xmi:type="uml:Generalization">
EXPRESS:
REAL
SysML:
PrimitiveType INTEGER <>
CXMI:
Integer
xmi:type="uml:Generalization">
EXPRESS:
INTEGER
SysML:
PrimitiveType LOGICAL <>
CXMI:
Logical
Unknown
EXPRESS:
LOGICAL
SysML:
PrimitiveType BOOLEAN from specialized LOGICAL <>
10 © ISO 2021 – All rights reserved
CXMI:
Boolean
xmi:type="uml:Generalization">
True
False
EXPRESS:
BOOLEAN
For each of the defined uml: Enumer at ion and uml: P r imit i veTy p e, a corresponding s ys ml: ValueTy p e is
defined.
EXAMPLE
CXMI:
EXPRESS:
TYPE BOOLEAN_VT = BOOLEAN;
END_TYPE;
NOTE Binary simple type is not mapped as it is not used.
4.7 Mapping of aggregation type
There are four types of aggregation:
— Bag;
— Set;
— List;
— Array.
SysML CXMI supports all of those types. But in this document, all aggregations types are Set in the
EXPRESS. isOrdered is default false if omitted and isUnique is default true if omitted:
CXMI:
true
false
The fragments below provide the mapping requirements. But consequently, they do not specify
isOrdered nor isUnique.
SysML:
Class <> <> Set of an entity
CXMI:
NameSet
elements
composite
2
*
EXPRESS:
ENTITY NameSet;
elements: SET[2:?] OF NameOfEntity;
…
NOTE In CXMI, the combination of isOrdered (default false if omitted) and isUnique (default true if omitted)
are used to define the four types of aggregations:
— Not ordered and not unique is mapped to Bag;
— Not ordered and unique is mapped to Set;
— Ordered and unique is mapped to List;
— Ordered and not unique is mapped to Array.
4.8 Mapping of aggregation of aggregation type
A list of lists of a simple type is represented by a block, with an “elements” property, with the naming
convention for aggregation of aggregation.
Below is the definition of a List of List of Real.
SysML:
Class <> <> List of List of Real
CXMI:
NameOfTheListOfListType
elements
true
false
2
3
…
EXPRESS:
ENTITY NameOfTheListOfListEntity;
elements : LIST[2:3] OF LIST[2:3] OF REAL;
…
12 © ISO 2021 – All rights reserved
An array of array is represented by a block, with an “elements” property, which the naming convention
for aggregation of aggregation.
Below is the definition of an Array of Array of an Entity. Hereafter the name of the type is ARRAYEntity.
SysML:
Class <> <> Array of Array of an Entity
CXMI:
ARRAYEntity
elements
3
…
EXPRESS:
ENTITY ARRAYEntity;
elements : ARRAY[1:3] OF ARRAY[1:3] OF NumericalValue;
…
4.9 Mapping of Select type
A SysML Auxiliary Abstract Block shall be transformed to an EXPRESS select type.
4.9.1 General mapping of select type
A select type in SysML is an abstract auxiliary block. Its members are subtypes of this block.
SysML:
Class <> <> Abstract
CXMI:
NameOfTheSelect
true
…
{name of the member}
…
{name of another member}
…
EXPRESS:
TYPE NameOfTheSelect = SELECT(name of the member, name of another member);
END_TYPE;
NOTE A select type can contain another select type.
EXAMPLE Select type containing another select type:
CXMI:
NameOfTheSelect
true
…
{NameOfTheANOTHERSelect}
…
EXPRESS:
TYPE NameOfTheSelect = SELECT(NameOfTheANOTHERSelect, …);
END_TYPE;
4.9.2 Mapping of select type containing value type
In SysML, because Select types are Blocks and the members are subtypes, it is not possible to make a
Value Type, such as a string, a subtype of a block. The concept of Proxy is introduced in order to allow
Value Types as members of Selects. Proxies are Blocks stereotyped as <> and its members are
Value properties named as “value” per the naming convention. Therefore, a proxy is a model artefact
14 © ISO 2021 – All rights reserved
that allows a generic data type to be used as a class object for a select type. As it is a modelling artefact,
it is not represented in EXPRESS. In EXPRESS the Value Type is directly represented in the select list.
EXAMPLE The ClassStringProxy is used to represent a class as a string. The name of the corresponding
Value Type is ClassString.
SysML:
Class <> <> Proxy of ClassStringProxy typed as String <>
CXMI:
ClassStringProxy
…
EXPRESS:
TYPE ClassSelect = SELECT(
Class,
ClassString,
ExternalOwlClass
);
END_TYPE;
TYPE ClassString = STRING;
END_TYPE;
4.10 Mapping of enumeration type
A SysML Enumeration Value Type with EnumerationLiterals shall be transformed to an EXPRESS
enumeration type.
SysML:
Enumeration <> with EnumerationLiterals
CXMI:
NameOfTheEnumeration
an enumeration string
another enumeration string
…
EXPRESS:
TYPE NameOfTheEnumeration = ENUMERATION OF(an enumeration string, another enumeration
string);
END_TYPE;
4.11 Mapping of entity attribute
Attributes of an entity are represented by SysML Properties. There are three types of such properties:
Value Property, Part Property, and Reference Property:
— a value property will be typed as a simple type or an enumeration type and is necessarily contained
in the block when instantiated;
— a part property will be typed by a select or by a block and is necessarily contained in the block when
instantiated;
— a reference property will be typed by a select or by a block and is not contained in the block when
instantiated.
For each SysML explicit property of a SysML block declaration the corresponding entity type in the
EXPRESS Schema Definition contains an attribute definition, with exceptions (see below). The
following general rules are applied:
— the order of elements is fixed;
— the name of the EXPRESS attribute is the name of the property in the SysML model;
— for each inverse composite aggregation property of a SysML Block declaration, the associated
EXPRESS entity contains an inverse attribute corresponding to the SysML Block property.
The CXMI below presents the generic declaration of properties in a block. Text in bold spots the key
elements.
CXMI:
Entity.
NameOfTheAttribute
NameOfAnotherAttribute
composite
*
…
When the following is declared in the ownedAttribute, it means it is a Part Property. When it is omitted,
it means it is a Reference Property. In EXPRESS there is no distinction made between a Part and a
Reference Property. Both are mapped as explicit attributes.
CXMI:
composite
and defines the multiplicity and the optionality:
— when not is declared, it means the attribute is mandatory;
— when is d
...








Questions, Comments and Discussion
Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.
Loading comments...