Commit 8e7bba21 authored by Martti Käärik's avatar Martti Käärik
Browse files

Give ExceptionalBehaviour its own permitted components + fix related constraints.

parent f274f6d6
Loading
Loading
Loading
Loading
+4 −3
Changes for plugins/org.etsi.mts.tdl.model/model/tdl-constraints.ocl: 4 added lines, 3 removed lines.
Original line number Diff line number Diff line
@@ -845,7 +845,7 @@ context AlternativeBehaviour
          )
          in
          self.getPermittedComponents()->includesAll(
              nonOptionalBlocks.getParticipatingComponents()->reject(c | c.role = ComponentInstanceRole::SUT))
              nonOptionalBlocks.behaviour->reject(oclIsKindOf(OptionalBehaviour)).getParticipatingComponents()->reject(c | c.role = ComponentInstanceRole::SUT))
          or not self.getParentTestDescription().isLocallyOrdered
  

@@ -898,7 +898,8 @@ context ExceptionalBehaviour

  -- Same component if locally ordered and guarded component present
  inv ExceptionalGuardedandTargetComponent ('If the containing \'TestDescription\' is locally ordered and guardedComponent is specified then the \'Block\'s shall start with tester-input event of the same \'ComponentInstance\' as specified in guardedComponent. ' + self.toString()):
          guardedComponent->includesAll(self.getPermittedComponents())
          self.guardedComponent.oclIsUndefined()
          or guardedComponent->includesAll(self.getPermittedComponents())
          or not self.getParentTestDescription().isLocallyOrdered
  

@@ -912,7 +913,7 @@ context ExceptionalBehaviour
          )
          in
          self.getPermittedComponents()->includesAll(
              nonOptionalBlocks.getParticipatingComponents()->reject(c | c.role = ComponentInstanceRole::SUT))
              nonOptionalBlocks.behaviour->reject(oclIsKindOf(OptionalBehaviour)).getParticipatingComponents()->reject(c | c.role = ComponentInstanceRole::SUT))
          or not self.getParentTestDescription().isLocallyOrdered
  

+8 −0
Changes for plugins/org.etsi.mts.tdl.model/model/tdl.ecore: 8 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -588,6 +588,14 @@
        <details key="nullFree" value="false"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="getPermittedComponents" upperBound="-1" eType="#//ComponentInstance">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="&#xA;&#x9;&#x9;&#x9;&#x9;OrderedSet(ComponentInstance){}&#xA;          &#x9;&#x9;&#x9;->includingAll(self.block.behaviour->first()->select(oclIsKindOf(Interaction)).oclAsType(Interaction).target.targetGate.component)&#xA;          &#x9;&#x9;&#x9;->includingAll(self.block.behaviour->first()->select(oclIsKindOf(Quiescence)).oclAsType(Quiescence).effectiveComponent())&#xA;          &#x9;&#x9;&#x9;->includingAll(self.block.behaviour->first()->select(oclIsKindOf(TimeOut)).oclAsType(TimeOut).effectiveComponent())&#xA;&#x9;&#x9;&#x9;"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/OCL/Collection">
        <details key="nullFree" value="false"/>
      </eAnnotations>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="block" lowerBound="1" eType="#//Block"
        containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="guardedComponent" eType="#//ComponentInstance"/>