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
© Copyright 2025 Paperzz