OMG Issue Resolution

Disposition: Resolved
OMG Issue No: 13089
MARTE FTF
Disposition: Resolved
OMG Issue No: 13089
Title: MARTE/section 12.2/ "No assemblyConnectorEnd in the
Metamodel" bug (marte-ftf)
Source:
INRIA (Mr. Pierre Boulet, [email protected])
Summary:
Assembly connector End can not be manipulated in the metamodel. Wheras it is important to
have the relationship between the Assembly connector end and the port and from the Assembly
Connector to the Port.
Resolution:
The resolution to this issue implies to introduce a ConnectorEnd class in the domain model (cf.
#1). To mimic the structure of the UML2 metamodel, the ConnectorEnd domain class must have
a generalization relationship with the MultiplicityElement domain class. MultiplicityElement is only
defined in the Marte::RSM::Shape (which is basically a uml MultiplicityElement with a Shape). So,
issue 13089 hides other fundamental issues: MultiplicityElement should be defined in
Marte::CoreElements::Foundations
#2
(and
extended
through
package
merge
in
Marte::RSM::Shape #3. Note that in the foundations, Property should also have a generalization
relationship with MultiplicityElement #4
Revised Text:
#1 Introduction of the ConnectorEnd domain class

Figure 12.2 page 132 is replaced by the following one according to following description: the
ConnectorEnd domain class is added. A composition relationship is added between
AssemblyConnector and ConnectorEnd. A generalization relationship is added between
ConnectorEnd and MultiplicityElement. Associations with roles endPort and endPart are now
associated with ConnectorEnd (instead of being directly associated with AssemblyConnector)
Disposition: Resolved
OMG Issue No: 13089
MARTE FTF
Marte::CoreElements::Foundations::
Property
Marte::CoreElements::Foundations::
BehavioredClassifier
ownedPorts [*]
InteractionPort
StructuredComponent
[0..1]
endPort [0..1]
AssemblyPart
/parts [*]
owner [1]
[1]
endPart [0..1]
ownedConnectors [*]
AssemblyConnector
owner [1]
ends [2..*]
ConnectorEnd
Marte::CoreElements::Foundations::
MultiplicityElement

Annexe F, section F.6.1, Associations clause:
o Remove the description of endPort and endPart associations.
o Add the following association description:


ends : ConnectorEnd [2..*]
the set of ConnectorEnd that
determines the endpoints of the Connector
Annexe F, add a F.6.X section for the ConnectorEnd domain class, with the
following content:
F.6.X ConnectorEnd
A ConnectorEnd is an endpoint of a connector, and enables to identify the
elements of a StructuredComponent that are involved in a connection.
Concretely, a ConnectorEnd may reference an InteractionPort (via its endPort
property), an AssemblyPart (endPart), or a Port in the context of an
AssemblyPart (using both endPort and endPart properties).
Generalizations
MultiplicityElement (from MARTE::CoreElements::Foundations)
Associations
Disposition: Resolved
OMG Issue No: 13089
MARTE FTF
endPort: InteractionPort [0..1]
connection
references
a
port
involved
in
the
endPart: AssemblyPart [0..1]
connection
references
a
part
involved
in
the
owner : AssemblyConnector [1]
ConnectorEnd
the AssemblyConnector owning this
Semantics
This
concept
matches
the
definition
of
the
CompositeStructures::InternalStructures::ConnectorEnd metaclass defined in
UML.
#2
Introduction of
the
MultiplicityElement
domain class
in
Marte::CoreElements::Foundations, and #4 a generalization relationship is
added between Property and MultiplicityElement

Figure 7.4 p.23 is replaced by the following figure. The MultiplicityElement
domain class is added, with a generalization relationship with ModelElement.
Property now carries a generalization relationship with MultiplicityElement
(instead of having a generalization with ModelElement directly).
ModelElement
MultiplicityElement
/upper : UnlimitedNatural [0..1]
/lower : Integer [0..1]
owningUpper
upperValue
0..1
0..1
owningLower
lowerValue
0..1
Property
ownedProperties
Classifier
type
*
aggregation : AggregationKind [1] = none
0..1
MARTE::VSL::
ValueSpecification
0..1
« enumeration »
AggregationKind
none
shared
composite

p.23, the text describing the Property metaclass, just under figure 7.4 (‘’It has
a multiplicity in terms of upper and lower bounds, an aggregation kind, and a
type (as a classifier)‘’) should be modified as follows : ‘’A Property is a
MultiplicityElement, so that it can have an upper and lower bound specifying
the valid range of cardinalities for this property. Additionally, it has an
aggregation kind and a type (as a classifier)’’.

Modifications to Annex F:
Disposition: Resolved
OMG Issue No: 13089
MARTE FTF
o F.1.16 (i.e. section describing the Property domain class): the
Generalizations clause should be modified, to that the item ‘’.
ModelElement
(from
Foundations)’’
is
replaced
by
‘’.
MultiplicityElement (from Foundations)’’
o A new F.1.X section should be added for the description of the
MultiplicityElement domain class (and inserted between current F.1.14
and F.1.15.), with the following content:
F.1.X MultiplicityElement (from Foundations)
A multiplicity is a definition of an inclusive interval of non-negative
integers beginning with a lower bound and ending with a (possibly
infinite) upper bound, specifying the range of valid cardinalities for
instantiation of this element.
Generalizations
ModelElement (from MARTE::CoreElements::Foundations)
Attributes
/ lower : Integer [0..1]
lowerValue specification.
the Integer value derived from the
/ upper : UnilimitedNatural [0..1]
the UnlimitedNatural value
derived from the upperValue specification.
Associations
lowerValue : ValueSpecification [0..1] Specifies the lower bound
of the multiplicity. It can be as simple as a literal or as complex as
an expression.
upperValue : ValueSpecification [0..1] Specifies the upper bound
of the multiplicity. It can be as simple as a literal or as complex as
an expression.
Semantics
This concept matches the definition of the MultiplicityElement
metaclass defined in UML.
#3 In MARTE::RSM::Shape, MultiplicityElement should be defined as a
merge
increment
of
MARTE::CoreElements::Foundations::MultiplicityElement

Figure E.2. p. 474 is replaced by the following one in order to reflect the fact
that MARTE::RSM::Shape::MultiplcityElement is defined as a ‘’merge
increment’’. So, all the elements that have already been specified in the
Disposition: Resolved
OMG Issue No: 13089
MARTE FTF
definition
of
the
merged
element
(i.e.
MARTE::CoreElements::Foundations::MultiplicityElement) are removed from
the diagram in order to avoid confusion: upperValue and lowerValue
associations, /upper and /lower properties, and the generalization
relationships with ModelElement are removed from the diagram.
Shape
MultiplicityElement
shape
Extends MARTE::CoreElements::Foundations::MultiplicityElement
(through merge increment)
0..1
« collectionType »
{collectionAttrib = size}
ShapeSpecification
size : UnlimitedNatural [0..*]

- In the second paragraph (between fig. E.1 and fig. E.2), the text starting with
‘’ The multiplicity concept is well known by UML users…’’ and ending with ‘’…
Property, StructuralFeature, ConnectorEnd, … concepts).’’ should be
replaced by the following sentence:
‘’As described in the MARTE foundations via the MultiplicityElement domain
class, a multiplicity is defined as an inclusive interval of non-negative integers,
beginning with a lower bound, and ending with a possibly infinite upper bound.’
Disposition:
Resolved