Loading plugins/org.etsi.mts.tdl.model/model/tdl.ecore +52 −20 Original line number Diff line number Diff line <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE ecore:EPackage [ <!ENTITY _0 "http://www.eclipse.org/emf/2002/Ecore"> ]> <ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="tdl" nsURI="http://www.etsi.org/spec/TDL/1.4.1" nsPrefix="tdl"> <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore"> Loading @@ -21,15 +24,15 @@ eType="#//Comment" containment="true" eOpposite="#//Comment/commentedElement"/> <eStructuralFeatures xsi:type="ecore:EReference" name="annotation" upperBound="-1" eType="#//Annotation" containment="true" eOpposite="#//Annotation/annotatedElement"/> <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType &_0;#//EString"/> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="Comment" eSuperTypes="#//Element"> <eStructuralFeatures xsi:type="ecore:EAttribute" name="body" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> <eStructuralFeatures xsi:type="ecore:EAttribute" name="body" lowerBound="1" eType="ecore:EDataType &_0;#//EString"/> <eStructuralFeatures xsi:type="ecore:EReference" name="commentedElement" lowerBound="1" eType="#//Element" eOpposite="#//Element/comment"/> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="Annotation" eSuperTypes="#//Element"> <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType &_0;#//EString"/> <eStructuralFeatures xsi:type="ecore:EReference" name="key" lowerBound="1" eType="#//AnnotationType"/> <eStructuralFeatures xsi:type="ecore:EReference" name="annotatedElement" lowerBound="1" eType="#//Element" eOpposite="#//Element/annotation"/> Loading @@ -40,7 +43,7 @@ </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="PackageableElement" abstract="true" eSuperTypes="#//NamedElement"> <eOperations name="conformsTo" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBooleanObject"> <eOperations name="conformsTo" eType="ecore:EDataType &_0;#//EBooleanObject"> <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> <details key="body" value="
			if (self.oclIsKindOf(AnnotationType)) then
				self.oclAsType(AnnotationType).extension.extending(e)
			else
				if (self.oclIsKindOf(ComponentType)) then
					self.oclAsType(AnnotationType).extension.extending(e)
				else
					if (self.oclIsKindOf(GateType)) then
						self.oclAsType(GateType).extension.extending(e)
					else
						if (self.oclIsKindOf(GateType)) then
							self.oclAsType(StructuredDataType).extension.extending(e)
						else
							false
						endif
					endif
				endif
			endif
			"/> </eAnnotations> Loading @@ -49,8 +52,8 @@ </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="NamedElement" abstract="true" eSuperTypes="#//Element"> <eStructuralFeatures xsi:type="ecore:EAttribute" name="qualifiedName" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" changeable="false" volatile="true" transient="true" derived="true"> eType="ecore:EDataType &_0;#//EString" changeable="false" volatile="true" transient="true" derived="true"> <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> <details key="derivation" value="
 if (self.name.oclIsUndefined()) then
 ''
 else
 if (not self.oclContainer().oclIsUndefined()) then
 if (self.oclContainer().oclIsKindOf(NamedElement)) then
 self.oclContainer().oclAsType(NamedElement).qualifiedName + '::' + self.name
 else
 self.oclContainer().oclAsType(ocl::OclElement)->closure(oclContainer())
 ->select(c | c.oclIsKindOf(NamedElement))
 ->asOrderedSet()
 ->first().oclAsType(NamedElement).qualifiedName + '::' + self.name
 endif
 else
 self.name
 endif
 endif"/> </eAnnotations> Loading @@ -72,8 +75,8 @@ </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="TestObjective" eSuperTypes="#//PackageableElement"> <eStructuralFeatures xsi:type="ecore:EAttribute" name="objectiveURI" ordered="false" unique="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> <eStructuralFeatures xsi:type="ecore:EAttribute" name="description" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> unique="false" upperBound="-1" eType="ecore:EDataType &_0;#//EString"/> <eStructuralFeatures xsi:type="ecore:EAttribute" name="description" eType="ecore:EDataType &_0;#//EString"/> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="DataInstance" abstract="true" eSuperTypes="#//MappableDataElement"> <eStructuralFeatures xsi:type="ecore:EReference" name="dataType" lowerBound="1" Loading @@ -81,21 +84,28 @@ </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="MappableDataElement" abstract="true" eSuperTypes="#//PackageableElement"/> <eClassifiers xsi:type="ecore:EClass" name="DataType" abstract="true" eSuperTypes="#//MappableDataElement"/> <eClassifiers xsi:type="ecore:EClass" name="DataType" abstract="true" eSuperTypes="#//MappableDataElement"> <eStructuralFeatures xsi:type="ecore:EReference" name="constraint" upperBound="-1" eType="#//Constraint" containment="true"> <eAnnotations source="http://www.eclipse.org/OCL/Collection"> <details key="nullFree" value="false"/> </eAnnotations> </eStructuralFeatures> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="DataResourceMapping" eSuperTypes="#//PackageableElement"> <eStructuralFeatures xsi:type="ecore:EAttribute" name="resourceURI" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> <eStructuralFeatures xsi:type="ecore:EAttribute" name="resourceURI" eType="ecore:EDataType &_0;#//EString"/> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="DataElementMapping" eSuperTypes="#//PackageableElement"> <eStructuralFeatures xsi:type="ecore:EReference" name="mappableDataElement" lowerBound="1" eType="#//MappableDataElement"/> <eStructuralFeatures xsi:type="ecore:EAttribute" name="elementURI" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> <eStructuralFeatures xsi:type="ecore:EAttribute" name="elementURI" eType="ecore:EDataType &_0;#//EString"/> <eStructuralFeatures xsi:type="ecore:EReference" name="dataResourceMapping" lowerBound="1" eType="#//DataResourceMapping"/> <eStructuralFeatures xsi:type="ecore:EReference" name="parameterMapping" ordered="false" upperBound="-1" eType="#//ParameterMapping" containment="true"/> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="ParameterMapping" eSuperTypes="#//Element"> <eStructuralFeatures xsi:type="ecore:EAttribute" name="parameterURI" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> <eStructuralFeatures xsi:type="ecore:EAttribute" name="parameterURI" eType="ecore:EDataType &_0;#//EString"/> <eStructuralFeatures xsi:type="ecore:EReference" name="parameter" lowerBound="1" eType="#//Parameter"/> </eClassifiers> Loading @@ -121,7 +131,13 @@ </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="Member" eSuperTypes="#//Parameter"> <eStructuralFeatures xsi:type="ecore:EAttribute" name="isOptional" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false"/> eType="ecore:EDataType &_0;#//EBoolean" defaultValueLiteral="false"/> <eStructuralFeatures xsi:type="ecore:EReference" name="constraint" upperBound="-1" eType="#//Constraint" containment="true"> <eAnnotations source="http://www.eclipse.org/OCL/Collection"> <details key="nullFree" value="false"/> </eAnnotations> </eStructuralFeatures> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="StructuredDataInstance" eSuperTypes="#//DataInstance"> <eStructuralFeatures xsi:type="ecore:EReference" name="memberAssignment" upperBound="-1" Loading Loading @@ -157,7 +173,7 @@ <eLiterals name="AnyValueOrOmit" value="1"/> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="Action" eSuperTypes="#//MappableDataElement"> <eStructuralFeatures xsi:type="ecore:EAttribute" name="body" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> <eStructuralFeatures xsi:type="ecore:EAttribute" name="body" eType="ecore:EDataType &_0;#//EString"/> <eStructuralFeatures xsi:type="ecore:EReference" name="formalParameter" upperBound="-1" eType="#//FormalParameter" containment="true"/> </eClassifiers> Loading Loading @@ -320,7 +336,7 @@ containment="true"/> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="Behaviour" abstract="true" eSuperTypes="#//Element"> <eOperations name="isTesterInputEvent" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBooleanObject"> <eOperations name="isTesterInputEvent" eType="ecore:EDataType &_0;#//EBooleanObject"> <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> <details key="body" value="
				if (self.oclIsKindOf(TimeOut) or 
					self.oclIsKindOf(Quiescence) or
					(self.oclIsKindOf(Interaction) and
						self.oclAsType(Interaction).sourceGate.component.role = ComponentInstanceRole::SUT and
					self.oclAsType(Interaction).target->exists(t | t.targetGate.component.role = ComponentInstanceRole::Tester)
					)
				) then
					true
				else
					false
				endif"/> </eAnnotations> Loading Loading @@ -407,7 +423,7 @@ <eStructuralFeatures xsi:type="ecore:EReference" name="testObjective" ordered="false" upperBound="-1" eType="#//TestObjective"/> <eStructuralFeatures xsi:type="ecore:EAttribute" name="isLocallyOrdered" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false"/> eType="ecore:EDataType &_0;#//EBoolean" defaultValueLiteral="false"/> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="BehaviourDescription" eSuperTypes="#//Element"> <eStructuralFeatures xsi:type="ecore:EReference" name="behaviour" lowerBound="1" Loading Loading @@ -548,7 +564,7 @@ <eStructuralFeatures xsi:type="ecore:EReference" name="componentInstance" eType="#//ComponentInstance"/> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="InlineAction" eSuperTypes="#//ActionBehaviour"> <eStructuralFeatures xsi:type="ecore:EAttribute" name="body" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> <eStructuralFeatures xsi:type="ecore:EAttribute" name="body" lowerBound="1" eType="ecore:EDataType &_0;#//EString"/> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="ActionReference" eSuperTypes="#//ActionBehaviour"> <eStructuralFeatures xsi:type="ecore:EReference" name="action" lowerBound="1" Loading Loading @@ -594,7 +610,7 @@ </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="Message" eSuperTypes="#//Interaction"> <eStructuralFeatures xsi:type="ecore:EAttribute" name="isTrigger" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false"/> eType="ecore:EDataType &_0;#//EBoolean" defaultValueLiteral="false"/> <eStructuralFeatures xsi:type="ecore:EReference" name="argument" lowerBound="1" eType="#//DataUse" containment="true"/> </eClassifiers> Loading Loading @@ -676,7 +692,7 @@ <details key="body" value="
				if (self.extending.oclIsKindOf(AnnotationType)) then
					self.extending.oclAsType(AnnotationType).extension
				else
					if (self.extending.oclIsKindOf(ComponentType)) then
						self.extending.oclAsType(AnnotationType).extension
					else
						if (self.extending.oclIsKindOf(GateType)) then
							self.extending.oclAsType(GateType).extension
						else
							if (self.extending.oclIsKindOf(GateType)) then
								self.extending.oclAsType(StructuredDataType).extension
							else
								null
							endif
						endif
					endif
				endif
				"/> </eAnnotations> </eOperations> <eOperations name="extending" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBooleanObject"> <eOperations name="extending" eType="ecore:EDataType &_0;#//EBooleanObject"> <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> <details key="body" value="
				if (self.extending = e) then
				 true
				else
					if (self->closure(transitiveExtending())->includes(e)) then
						true
	 	else
	 		false
	 	endif 
				endif
				"/> </eAnnotations> Loading @@ -686,7 +702,23 @@ eType="#//PackageableElement"/> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="LiteralValueUse" eSuperTypes="#//StaticDataUse"> <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType &_0;#//EString"/> <eStructuralFeatures xsi:type="ecore:EAttribute" name="intValue" eType="ecore:EDataType &_0;#//EBigInteger"/> <eStructuralFeatures xsi:type="ecore:EAttribute" name="boolValue" eType="ecore:EDataType &_0;#//EBooleanObject"/> <eStructuralFeatures xsi:type="ecore:EReference" name="dataType" eType="#//DataType"/> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="ConstraintType" eSuperTypes="#//PackageableElement"/> <eClassifiers xsi:type="ecore:EClass" name="Constraint" eSuperTypes="#//Element"> <eStructuralFeatures xsi:type="ecore:EReference" name="type" lowerBound="1" eType="#//ConstraintType"/> <eStructuralFeatures xsi:type="ecore:EReference" name="quantifier" upperBound="-1" eType="#//LiteralValueUse" containment="true"> <eAnnotations source="http://www.eclipse.org/OCL/Collection"> <details key="nullFree" value="false"/> </eAnnotations> </eStructuralFeatures> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="EnumDataType" eSuperTypes="#//SimpleDataType"> <eStructuralFeatures xsi:type="ecore:EReference" name="value" upperBound="-1" eType="#//SimpleDataInstance" containment="true"/> </eClassifiers> </ecore:EPackage> plugins/org.etsi.mts.tdl.model/model/tdl.genmodel +14 −1 Original line number Diff line number Diff line Loading @@ -195,7 +195,9 @@ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference tdl.ecore#//DataInstance/dataType"/> </genClasses> <genClasses image="false" ecoreClass="tdl.ecore#//MappableDataElement"/> <genClasses image="false" ecoreClass="tdl.ecore#//DataType"/> <genClasses image="false" ecoreClass="tdl.ecore#//DataType"> <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference tdl.ecore#//DataType/constraint"/> </genClasses> <genClasses ecoreClass="tdl.ecore#//DataResourceMapping"> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute tdl.ecore#//DataResourceMapping/resourceURI"/> </genClasses> Loading @@ -221,6 +223,7 @@ </genClasses> <genClasses ecoreClass="tdl.ecore#//Member"> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute tdl.ecore#//Member/isOptional"/> <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference tdl.ecore#//Member/constraint"/> </genClasses> <genClasses ecoreClass="tdl.ecore#//StructuredDataInstance"> <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference tdl.ecore#//StructuredDataInstance/memberAssignment"/> Loading Loading @@ -497,7 +500,17 @@ </genClasses> <genClasses ecoreClass="tdl.ecore#//LiteralValueUse"> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute tdl.ecore#//LiteralValueUse/value"/> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute tdl.ecore#//LiteralValueUse/intValue"/> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute tdl.ecore#//LiteralValueUse/boolValue"/> <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference tdl.ecore#//LiteralValueUse/dataType"/> </genClasses> <genClasses ecoreClass="tdl.ecore#//ConstraintType"/> <genClasses ecoreClass="tdl.ecore#//Constraint"> <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference tdl.ecore#//Constraint/type"/> <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference tdl.ecore#//Constraint/quantifier"/> </genClasses> <genClasses ecoreClass="tdl.ecore#//EnumDataType"> <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference tdl.ecore#//EnumDataType/value"/> </genClasses> </genPackages> </genmodel:GenModel> Loading
plugins/org.etsi.mts.tdl.model/model/tdl.ecore +52 −20 Original line number Diff line number Diff line <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE ecore:EPackage [ <!ENTITY _0 "http://www.eclipse.org/emf/2002/Ecore"> ]> <ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="tdl" nsURI="http://www.etsi.org/spec/TDL/1.4.1" nsPrefix="tdl"> <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore"> Loading @@ -21,15 +24,15 @@ eType="#//Comment" containment="true" eOpposite="#//Comment/commentedElement"/> <eStructuralFeatures xsi:type="ecore:EReference" name="annotation" upperBound="-1" eType="#//Annotation" containment="true" eOpposite="#//Annotation/annotatedElement"/> <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType &_0;#//EString"/> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="Comment" eSuperTypes="#//Element"> <eStructuralFeatures xsi:type="ecore:EAttribute" name="body" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> <eStructuralFeatures xsi:type="ecore:EAttribute" name="body" lowerBound="1" eType="ecore:EDataType &_0;#//EString"/> <eStructuralFeatures xsi:type="ecore:EReference" name="commentedElement" lowerBound="1" eType="#//Element" eOpposite="#//Element/comment"/> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="Annotation" eSuperTypes="#//Element"> <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType &_0;#//EString"/> <eStructuralFeatures xsi:type="ecore:EReference" name="key" lowerBound="1" eType="#//AnnotationType"/> <eStructuralFeatures xsi:type="ecore:EReference" name="annotatedElement" lowerBound="1" eType="#//Element" eOpposite="#//Element/annotation"/> Loading @@ -40,7 +43,7 @@ </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="PackageableElement" abstract="true" eSuperTypes="#//NamedElement"> <eOperations name="conformsTo" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBooleanObject"> <eOperations name="conformsTo" eType="ecore:EDataType &_0;#//EBooleanObject"> <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> <details key="body" value="
			if (self.oclIsKindOf(AnnotationType)) then
				self.oclAsType(AnnotationType).extension.extending(e)
			else
				if (self.oclIsKindOf(ComponentType)) then
					self.oclAsType(AnnotationType).extension.extending(e)
				else
					if (self.oclIsKindOf(GateType)) then
						self.oclAsType(GateType).extension.extending(e)
					else
						if (self.oclIsKindOf(GateType)) then
							self.oclAsType(StructuredDataType).extension.extending(e)
						else
							false
						endif
					endif
				endif
			endif
			"/> </eAnnotations> Loading @@ -49,8 +52,8 @@ </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="NamedElement" abstract="true" eSuperTypes="#//Element"> <eStructuralFeatures xsi:type="ecore:EAttribute" name="qualifiedName" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" changeable="false" volatile="true" transient="true" derived="true"> eType="ecore:EDataType &_0;#//EString" changeable="false" volatile="true" transient="true" derived="true"> <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> <details key="derivation" value="
 if (self.name.oclIsUndefined()) then
 ''
 else
 if (not self.oclContainer().oclIsUndefined()) then
 if (self.oclContainer().oclIsKindOf(NamedElement)) then
 self.oclContainer().oclAsType(NamedElement).qualifiedName + '::' + self.name
 else
 self.oclContainer().oclAsType(ocl::OclElement)->closure(oclContainer())
 ->select(c | c.oclIsKindOf(NamedElement))
 ->asOrderedSet()
 ->first().oclAsType(NamedElement).qualifiedName + '::' + self.name
 endif
 else
 self.name
 endif
 endif"/> </eAnnotations> Loading @@ -72,8 +75,8 @@ </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="TestObjective" eSuperTypes="#//PackageableElement"> <eStructuralFeatures xsi:type="ecore:EAttribute" name="objectiveURI" ordered="false" unique="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> <eStructuralFeatures xsi:type="ecore:EAttribute" name="description" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> unique="false" upperBound="-1" eType="ecore:EDataType &_0;#//EString"/> <eStructuralFeatures xsi:type="ecore:EAttribute" name="description" eType="ecore:EDataType &_0;#//EString"/> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="DataInstance" abstract="true" eSuperTypes="#//MappableDataElement"> <eStructuralFeatures xsi:type="ecore:EReference" name="dataType" lowerBound="1" Loading @@ -81,21 +84,28 @@ </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="MappableDataElement" abstract="true" eSuperTypes="#//PackageableElement"/> <eClassifiers xsi:type="ecore:EClass" name="DataType" abstract="true" eSuperTypes="#//MappableDataElement"/> <eClassifiers xsi:type="ecore:EClass" name="DataType" abstract="true" eSuperTypes="#//MappableDataElement"> <eStructuralFeatures xsi:type="ecore:EReference" name="constraint" upperBound="-1" eType="#//Constraint" containment="true"> <eAnnotations source="http://www.eclipse.org/OCL/Collection"> <details key="nullFree" value="false"/> </eAnnotations> </eStructuralFeatures> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="DataResourceMapping" eSuperTypes="#//PackageableElement"> <eStructuralFeatures xsi:type="ecore:EAttribute" name="resourceURI" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> <eStructuralFeatures xsi:type="ecore:EAttribute" name="resourceURI" eType="ecore:EDataType &_0;#//EString"/> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="DataElementMapping" eSuperTypes="#//PackageableElement"> <eStructuralFeatures xsi:type="ecore:EReference" name="mappableDataElement" lowerBound="1" eType="#//MappableDataElement"/> <eStructuralFeatures xsi:type="ecore:EAttribute" name="elementURI" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> <eStructuralFeatures xsi:type="ecore:EAttribute" name="elementURI" eType="ecore:EDataType &_0;#//EString"/> <eStructuralFeatures xsi:type="ecore:EReference" name="dataResourceMapping" lowerBound="1" eType="#//DataResourceMapping"/> <eStructuralFeatures xsi:type="ecore:EReference" name="parameterMapping" ordered="false" upperBound="-1" eType="#//ParameterMapping" containment="true"/> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="ParameterMapping" eSuperTypes="#//Element"> <eStructuralFeatures xsi:type="ecore:EAttribute" name="parameterURI" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> <eStructuralFeatures xsi:type="ecore:EAttribute" name="parameterURI" eType="ecore:EDataType &_0;#//EString"/> <eStructuralFeatures xsi:type="ecore:EReference" name="parameter" lowerBound="1" eType="#//Parameter"/> </eClassifiers> Loading @@ -121,7 +131,13 @@ </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="Member" eSuperTypes="#//Parameter"> <eStructuralFeatures xsi:type="ecore:EAttribute" name="isOptional" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false"/> eType="ecore:EDataType &_0;#//EBoolean" defaultValueLiteral="false"/> <eStructuralFeatures xsi:type="ecore:EReference" name="constraint" upperBound="-1" eType="#//Constraint" containment="true"> <eAnnotations source="http://www.eclipse.org/OCL/Collection"> <details key="nullFree" value="false"/> </eAnnotations> </eStructuralFeatures> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="StructuredDataInstance" eSuperTypes="#//DataInstance"> <eStructuralFeatures xsi:type="ecore:EReference" name="memberAssignment" upperBound="-1" Loading Loading @@ -157,7 +173,7 @@ <eLiterals name="AnyValueOrOmit" value="1"/> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="Action" eSuperTypes="#//MappableDataElement"> <eStructuralFeatures xsi:type="ecore:EAttribute" name="body" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> <eStructuralFeatures xsi:type="ecore:EAttribute" name="body" eType="ecore:EDataType &_0;#//EString"/> <eStructuralFeatures xsi:type="ecore:EReference" name="formalParameter" upperBound="-1" eType="#//FormalParameter" containment="true"/> </eClassifiers> Loading Loading @@ -320,7 +336,7 @@ containment="true"/> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="Behaviour" abstract="true" eSuperTypes="#//Element"> <eOperations name="isTesterInputEvent" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBooleanObject"> <eOperations name="isTesterInputEvent" eType="ecore:EDataType &_0;#//EBooleanObject"> <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> <details key="body" value="
				if (self.oclIsKindOf(TimeOut) or 
					self.oclIsKindOf(Quiescence) or
					(self.oclIsKindOf(Interaction) and
						self.oclAsType(Interaction).sourceGate.component.role = ComponentInstanceRole::SUT and
					self.oclAsType(Interaction).target->exists(t | t.targetGate.component.role = ComponentInstanceRole::Tester)
					)
				) then
					true
				else
					false
				endif"/> </eAnnotations> Loading Loading @@ -407,7 +423,7 @@ <eStructuralFeatures xsi:type="ecore:EReference" name="testObjective" ordered="false" upperBound="-1" eType="#//TestObjective"/> <eStructuralFeatures xsi:type="ecore:EAttribute" name="isLocallyOrdered" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false"/> eType="ecore:EDataType &_0;#//EBoolean" defaultValueLiteral="false"/> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="BehaviourDescription" eSuperTypes="#//Element"> <eStructuralFeatures xsi:type="ecore:EReference" name="behaviour" lowerBound="1" Loading Loading @@ -548,7 +564,7 @@ <eStructuralFeatures xsi:type="ecore:EReference" name="componentInstance" eType="#//ComponentInstance"/> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="InlineAction" eSuperTypes="#//ActionBehaviour"> <eStructuralFeatures xsi:type="ecore:EAttribute" name="body" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> <eStructuralFeatures xsi:type="ecore:EAttribute" name="body" lowerBound="1" eType="ecore:EDataType &_0;#//EString"/> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="ActionReference" eSuperTypes="#//ActionBehaviour"> <eStructuralFeatures xsi:type="ecore:EReference" name="action" lowerBound="1" Loading Loading @@ -594,7 +610,7 @@ </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="Message" eSuperTypes="#//Interaction"> <eStructuralFeatures xsi:type="ecore:EAttribute" name="isTrigger" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false"/> eType="ecore:EDataType &_0;#//EBoolean" defaultValueLiteral="false"/> <eStructuralFeatures xsi:type="ecore:EReference" name="argument" lowerBound="1" eType="#//DataUse" containment="true"/> </eClassifiers> Loading Loading @@ -676,7 +692,7 @@ <details key="body" value="
				if (self.extending.oclIsKindOf(AnnotationType)) then
					self.extending.oclAsType(AnnotationType).extension
				else
					if (self.extending.oclIsKindOf(ComponentType)) then
						self.extending.oclAsType(AnnotationType).extension
					else
						if (self.extending.oclIsKindOf(GateType)) then
							self.extending.oclAsType(GateType).extension
						else
							if (self.extending.oclIsKindOf(GateType)) then
								self.extending.oclAsType(StructuredDataType).extension
							else
								null
							endif
						endif
					endif
				endif
				"/> </eAnnotations> </eOperations> <eOperations name="extending" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBooleanObject"> <eOperations name="extending" eType="ecore:EDataType &_0;#//EBooleanObject"> <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> <details key="body" value="
				if (self.extending = e) then
				 true
				else
					if (self->closure(transitiveExtending())->includes(e)) then
						true
	 	else
	 		false
	 	endif 
				endif
				"/> </eAnnotations> Loading @@ -686,7 +702,23 @@ eType="#//PackageableElement"/> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="LiteralValueUse" eSuperTypes="#//StaticDataUse"> <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType &_0;#//EString"/> <eStructuralFeatures xsi:type="ecore:EAttribute" name="intValue" eType="ecore:EDataType &_0;#//EBigInteger"/> <eStructuralFeatures xsi:type="ecore:EAttribute" name="boolValue" eType="ecore:EDataType &_0;#//EBooleanObject"/> <eStructuralFeatures xsi:type="ecore:EReference" name="dataType" eType="#//DataType"/> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="ConstraintType" eSuperTypes="#//PackageableElement"/> <eClassifiers xsi:type="ecore:EClass" name="Constraint" eSuperTypes="#//Element"> <eStructuralFeatures xsi:type="ecore:EReference" name="type" lowerBound="1" eType="#//ConstraintType"/> <eStructuralFeatures xsi:type="ecore:EReference" name="quantifier" upperBound="-1" eType="#//LiteralValueUse" containment="true"> <eAnnotations source="http://www.eclipse.org/OCL/Collection"> <details key="nullFree" value="false"/> </eAnnotations> </eStructuralFeatures> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="EnumDataType" eSuperTypes="#//SimpleDataType"> <eStructuralFeatures xsi:type="ecore:EReference" name="value" upperBound="-1" eType="#//SimpleDataInstance" containment="true"/> </eClassifiers> </ecore:EPackage>
plugins/org.etsi.mts.tdl.model/model/tdl.genmodel +14 −1 Original line number Diff line number Diff line Loading @@ -195,7 +195,9 @@ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference tdl.ecore#//DataInstance/dataType"/> </genClasses> <genClasses image="false" ecoreClass="tdl.ecore#//MappableDataElement"/> <genClasses image="false" ecoreClass="tdl.ecore#//DataType"/> <genClasses image="false" ecoreClass="tdl.ecore#//DataType"> <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference tdl.ecore#//DataType/constraint"/> </genClasses> <genClasses ecoreClass="tdl.ecore#//DataResourceMapping"> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute tdl.ecore#//DataResourceMapping/resourceURI"/> </genClasses> Loading @@ -221,6 +223,7 @@ </genClasses> <genClasses ecoreClass="tdl.ecore#//Member"> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute tdl.ecore#//Member/isOptional"/> <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference tdl.ecore#//Member/constraint"/> </genClasses> <genClasses ecoreClass="tdl.ecore#//StructuredDataInstance"> <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference tdl.ecore#//StructuredDataInstance/memberAssignment"/> Loading Loading @@ -497,7 +500,17 @@ </genClasses> <genClasses ecoreClass="tdl.ecore#//LiteralValueUse"> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute tdl.ecore#//LiteralValueUse/value"/> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute tdl.ecore#//LiteralValueUse/intValue"/> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute tdl.ecore#//LiteralValueUse/boolValue"/> <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference tdl.ecore#//LiteralValueUse/dataType"/> </genClasses> <genClasses ecoreClass="tdl.ecore#//ConstraintType"/> <genClasses ecoreClass="tdl.ecore#//Constraint"> <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference tdl.ecore#//Constraint/type"/> <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference tdl.ecore#//Constraint/quantifier"/> </genClasses> <genClasses ecoreClass="tdl.ecore#//EnumDataType"> <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference tdl.ecore#//EnumDataType/value"/> </genClasses> </genPackages> </genmodel:GenModel>