From 368c791d13f8e6a848a937220dccad5a9a0ba882 Mon Sep 17 00:00:00 2001 From: Anish Bhobe Date: Tue, 28 May 2024 14:36:46 +0200 Subject: [PATCH] MM2Loss transformation. --- fr.tpt.mem4csd.loss.edit/.gitignore | 1 + .../fr/tpt/mem4csd/loss/provider/.gitignore | 8 +- fr.tpt.mem4csd.loss.edit/plugin.properties | 3 + .../loss/provider/ComplexItemProvider.java | 17 + .../provider/NamedObjectItemProvider.java | 14 +- fr.tpt.mem4csd.loss.editor/.gitignore | 1 + fr.tpt.mem4csd.loss.mm2loss/face2loss.atl | 7484 ++++++++++------- fr.tpt.mem4csd.loss.mm2loss/mm2loss.atl | 46 +- .../test_face_loss.loss | 515 ++ fr.tpt.mem4csd.loss/.gitignore | 1 + fr.tpt.mem4csd.loss/model/loss.ecore | 10 +- fr.tpt.mem4csd.loss/model/loss.genmodel | 3 +- .../src-gen/fr/tpt/mem4csd/loss/Complex.java | 24 + .../fr/tpt/mem4csd/loss/LossPackage.java | 58 +- .../fr/tpt/mem4csd/loss/NamedObject.java | 25 +- .../fr/tpt/mem4csd/loss/impl/ComplexImpl.java | 68 + .../mem4csd/loss/impl/LossPackageImpl.java | 25 +- .../mem4csd/loss/impl/NamedObjectImpl.java | 51 +- 18 files changed, 5203 insertions(+), 3151 deletions(-) create mode 100644 fr.tpt.mem4csd.loss.edit/.gitignore create mode 100644 fr.tpt.mem4csd.loss.editor/.gitignore create mode 100644 fr.tpt.mem4csd.loss.mm2loss/test_face_loss.loss create mode 100644 fr.tpt.mem4csd.loss/.gitignore diff --git a/fr.tpt.mem4csd.loss.edit/.gitignore b/fr.tpt.mem4csd.loss.edit/.gitignore new file mode 100644 index 0000000..5241a72 --- /dev/null +++ b/fr.tpt.mem4csd.loss.edit/.gitignore @@ -0,0 +1 @@ +*.class \ No newline at end of file diff --git a/fr.tpt.mem4csd.loss.edit/bin/fr/tpt/mem4csd/loss/provider/.gitignore b/fr.tpt.mem4csd.loss.edit/bin/fr/tpt/mem4csd/loss/provider/.gitignore index 37d3b92..6b468b6 100644 --- a/fr.tpt.mem4csd.loss.edit/bin/fr/tpt/mem4csd/loss/provider/.gitignore +++ b/fr.tpt.mem4csd.loss.edit/bin/fr/tpt/mem4csd/loss/provider/.gitignore @@ -1,7 +1 @@ -/ComplexItemProvider.class -/LinkItemProvider.class -/LossEditPlugin$Implementation.class -/LossEditPlugin.class -/LossItemProviderAdapterFactory.class -/NamedObjectItemProvider.class -/PrimitiveItemProvider.class +*.class diff --git a/fr.tpt.mem4csd.loss.edit/plugin.properties b/fr.tpt.mem4csd.loss.edit/plugin.properties index 11e6bd2..f52f26c 100644 --- a/fr.tpt.mem4csd.loss.edit/plugin.properties +++ b/fr.tpt.mem4csd.loss.edit/plugin.properties @@ -27,3 +27,6 @@ _UI_Link_referenceTo_feature = Reference To _UI_Complex_primitives_feature = Primitives _UI_Unknown_feature = Unspecified +_UI_NamedObject_reference_feature = Reference +_UI_NamedObject_className_feature = Class Name +_UI_Complex_reference_feature = Reference diff --git a/fr.tpt.mem4csd.loss.edit/src-gen/fr/tpt/mem4csd/loss/provider/ComplexItemProvider.java b/fr.tpt.mem4csd.loss.edit/src-gen/fr/tpt/mem4csd/loss/provider/ComplexItemProvider.java index 0ae3d9a..a8c4ac2 100644 --- a/fr.tpt.mem4csd.loss.edit/src-gen/fr/tpt/mem4csd/loss/provider/ComplexItemProvider.java +++ b/fr.tpt.mem4csd.loss.edit/src-gen/fr/tpt/mem4csd/loss/provider/ComplexItemProvider.java @@ -14,6 +14,7 @@ import org.eclipse.emf.common.notify.Notification; import org.eclipse.emf.ecore.EStructuralFeature; +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; import org.eclipse.emf.edit.provider.ViewerNotification; @@ -45,10 +46,26 @@ public class ComplexItemProvider extends NamedObjectItemProvider { if (itemPropertyDescriptors == null) { super.getPropertyDescriptors(object); + addReferencePropertyDescriptor(object); } return itemPropertyDescriptors; } + /** + * This adds a property descriptor for the Reference feature. + * + * + * @generated + */ + protected void addReferencePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(), + getResourceLocator(), getString("_UI_Complex_reference_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_Complex_reference_feature", + "_UI_Complex_type"), + LossPackage.Literals.COMPLEX__REFERENCE, true, false, true, null, null, null)); + } + /** * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or diff --git a/fr.tpt.mem4csd.loss.edit/src-gen/fr/tpt/mem4csd/loss/provider/NamedObjectItemProvider.java b/fr.tpt.mem4csd.loss.edit/src-gen/fr/tpt/mem4csd/loss/provider/NamedObjectItemProvider.java index 10ce47d..6d01504 100644 --- a/fr.tpt.mem4csd.loss.edit/src-gen/fr/tpt/mem4csd/loss/provider/NamedObjectItemProvider.java +++ b/fr.tpt.mem4csd.loss.edit/src-gen/fr/tpt/mem4csd/loss/provider/NamedObjectItemProvider.java @@ -54,7 +54,7 @@ public class NamedObjectItemProvider extends ItemProviderAdapter implements IEdi super.getPropertyDescriptors(object); addNamePropertyDescriptor(object); - addQnamePropertyDescriptor(object); + addClassNamePropertyDescriptor(object); } return itemPropertyDescriptors; } @@ -76,18 +76,18 @@ public class NamedObjectItemProvider extends ItemProviderAdapter implements IEdi } /** - * This adds a property descriptor for the Qname feature. + * This adds a property descriptor for the Class Name feature. * * * @generated */ - protected void addQnamePropertyDescriptor(Object object) { + protected void addClassNamePropertyDescriptor(Object object) { itemPropertyDescriptors .add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(), - getResourceLocator(), getString("_UI_NamedObject_qname_feature"), - getString("_UI_PropertyDescriptor_description", "_UI_NamedObject_qname_feature", + getResourceLocator(), getString("_UI_NamedObject_className_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_NamedObject_className_feature", "_UI_NamedObject_type"), - LossPackage.Literals.NAMED_OBJECT__QNAME, false, false, false, + LossPackage.Literals.NAMED_OBJECT__CLASS_NAME, true, false, false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null)); } @@ -127,7 +127,7 @@ public class NamedObjectItemProvider extends ItemProviderAdapter implements IEdi switch (notification.getFeatureID(NamedObject.class)) { case LossPackage.NAMED_OBJECT__NAME: - case LossPackage.NAMED_OBJECT__QNAME: + case LossPackage.NAMED_OBJECT__CLASS_NAME: fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true)); return; } diff --git a/fr.tpt.mem4csd.loss.editor/.gitignore b/fr.tpt.mem4csd.loss.editor/.gitignore new file mode 100644 index 0000000..5241a72 --- /dev/null +++ b/fr.tpt.mem4csd.loss.editor/.gitignore @@ -0,0 +1 @@ +*.class \ No newline at end of file diff --git a/fr.tpt.mem4csd.loss.mm2loss/face2loss.atl b/fr.tpt.mem4csd.loss.mm2loss/face2loss.atl index 3255377..0419cb6 100644 --- a/fr.tpt.mem4csd.loss.mm2loss/face2loss.atl +++ b/fr.tpt.mem4csd.loss.mm2loss/face2loss.atl @@ -2,331 +2,14 @@ module face2loss; create LOSS : OUT from MM : IN; -lazy rule DTface__uop__FaceProfile2Prim { +lazy rule ReferenceToLink { from - source : IN!"face::uop::FaceProfile" in MM + refName : String, + source : OclAny to - prim : OUT!Primitive ( - name <- source.toString() - ) -} - -lazy rule DTface__uop__SynchronizationStyle2Prim { - from - source : IN!"face::uop::SynchronizationStyle" in MM - to - prim : OUT!Primitive ( - name <- source.toString() - ) -} - -rule CLface__datamodel__platform__Participant2Complex { - from - source : IN!"face::datamodel::platform::Participant" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::Participant")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.add(thisModule.ReferenceToLink(source.specializes)).add(thisModule.ReferenceToLink(source.type)).add(thisModule.ReferenceToLink(source.realizes)).add(thisModule.ReferenceToLink(source.path)) - ) -} - -rule CLface__integration__UoPEndPoint2Complex { - from - source : IN!"face::integration::UoPEndPoint" in MM (source.oclIsTypeOf(IN!"face::integration::UoPEndPoint")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.add(thisModule.ReferenceToLink(source.connection)) - ) -} - -rule CLface__datamodel__logical__Unit2Complex { - from - source : IN!"face::datamodel::logical::Unit" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::Unit")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{} - ) -} - -rule CLface__datamodel__conceptual__ComposableElement2Complex { - from - source : IN!"face::datamodel::conceptual::ComposableElement" in MM (source.oclIsTypeOf(IN!"face::datamodel::conceptual::ComposableElement")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{} - ) -} - -rule CLface__Element2Complex { - from - source : IN!"face::Element" in MM (source.oclIsTypeOf(IN!"face::Element")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{} - ) -} - -rule CLface__datamodel__logical__Boolean2Complex { - from - source : IN!"face::datamodel::logical::Boolean" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::Boolean")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{} - ) -} - -rule CLface__traceability__UoPTraceabilitySet2Complex { - from - source : IN!"face::traceability::UoPTraceabilitySet" in MM (source.oclIsTypeOf(IN!"face::traceability::UoPTraceabilitySet")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.union(source.traceabilityPoint->collect(it | thisModule.ReferenceToLink(it))).union(source.uop->collect(it | thisModule.ReferenceToLink(it))).union(source.abstractUoP->collect(it | thisModule.ReferenceToLink(it))) - ) -} - -rule CLface__datamodel__platform__LongLong2Complex { - from - source : IN!"face::datamodel::platform::LongLong" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::LongLong")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.add(thisModule.ReferenceToLink(source.realizes)) - ) -} - -rule CLface__uop__UoPModel2Complex { - from - source : IN!"face::uop::UoPModel" in MM (source.oclIsTypeOf(IN!"face::uop::UoPModel")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.union(source.element->collect(it | thisModule.ReferenceToLink(it))).union(source.um->collect(it | thisModule.ReferenceToLink(it))) - ) -} - -rule CLface__traceability__TraceableElement2Complex { - from - source : IN!"face::traceability::TraceableElement" in MM (source.oclIsTypeOf(IN!"face::traceability::TraceableElement")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.union(source.traceabilityPoint->collect(it | thisModule.ReferenceToLink(it))) - ) -} - -rule CLface__datamodel__platform__IDLArray2Complex { - from - source : IN!"face::datamodel::platform::IDLArray" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::IDLArray")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.add(thisModule.ReferenceToLink(source.realizes)) - ) -} - -rule CLface__datamodel__LogicalDataModel2Complex { - from - source : IN!"face::datamodel::LogicalDataModel" in MM (source.oclIsTypeOf(IN!"face::datamodel::LogicalDataModel")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.union(source.element->collect(it | thisModule.ReferenceToLink(it))).union(source.ldm->collect(it | thisModule.ReferenceToLink(it))) - ) -} - -rule CLface__datamodel__logical__StandardMeasurementSystem2Complex { - from - source : IN!"face::datamodel::logical::StandardMeasurementSystem" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::StandardMeasurementSystem")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{} - ) -} - -rule CLface__uop__PubSubConnection2Complex { - from - source : IN!"face::uop::PubSubConnection" in MM (source.oclIsTypeOf(IN!"face::uop::PubSubConnection")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.union(source.traceabilityPoint->collect(it | thisModule.ReferenceToLink(it))).add(thisModule.ReferenceToLink(source.realizes)).add(thisModule.ReferenceToLink(source.messageType)) - ) -} - -rule CLface__datamodel__platform__BoundedString2Complex { - from - source : IN!"face::datamodel::platform::BoundedString" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::BoundedString")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.add(thisModule.ReferenceToLink(source.realizes)) - ) -} - -rule CLface__datamodel__platform__ComposableElement2Complex { - from - source : IN!"face::datamodel::platform::ComposableElement" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::ComposableElement")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{} - ) -} - -rule CLface__integration__ViewTransporter2Complex { - from - source : IN!"face::integration::ViewTransporter" in MM (source.oclIsTypeOf(IN!"face::integration::ViewTransporter")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.add(thisModule.ReferenceToLink(source.outPort)).add(thisModule.ReferenceToLink(source.inPort)).add(thisModule.ReferenceToLink(source.channel)) - ) -} - -rule CLface__datamodel__platform__IDLBoundedString2Complex { - from - source : IN!"face::datamodel::platform::IDLBoundedString" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::IDLBoundedString")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.add(thisModule.ReferenceToLink(source.realizes)) - ) -} - -rule CLface__integration__UoPInputEndPoint2Complex { - from - source : IN!"face::integration::UoPInputEndPoint" in MM (source.oclIsTypeOf(IN!"face::integration::UoPInputEndPoint")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.add(thisModule.ReferenceToLink(source.connection)) - ) -} - -rule CLface__datamodel__logical__Enumerated2Complex { - from - source : IN!"face::datamodel::logical::Enumerated" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::Enumerated")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.union(source.label->collect(it | thisModule.ReferenceToLink(it))) - ) -} - -rule CLface__integration__TransportChannel2Complex { - from - source : IN!"face::integration::TransportChannel" in MM (source.oclIsTypeOf(IN!"face::integration::TransportChannel")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{} - ) -} - -rule CLface__integration__ViewTransformation2Complex { - from - source : IN!"face::integration::ViewTransformation" in MM (source.oclIsTypeOf(IN!"face::integration::ViewTransformation")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.add(thisModule.ReferenceToLink(source.outPort)).add(thisModule.ReferenceToLink(source.inPort)) - ) -} - -rule CLface__datamodel__platform__CharArray2Complex { - from - source : IN!"face::datamodel::platform::CharArray" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::CharArray")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.add(thisModule.ReferenceToLink(source.realizes)) - ) -} - -rule CLface__uop__LifeCycleManagementPort2Complex { - from - source : IN!"face::uop::LifeCycleManagementPort" in MM (source.oclIsTypeOf(IN!"face::uop::LifeCycleManagementPort")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.add(thisModule.ReferenceToLink(source.lcmMessageType)) - ) -} - -rule CLface__datamodel__logical__Characteristic2Complex { - from - source : IN!"face::datamodel::logical::Characteristic" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::Characteristic")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.add(thisModule.ReferenceToLink(source.specializes)) - ) -} - -rule CLface__datamodel__platform__CharacteristicPathNode2Complex { - from - source : IN!"face::datamodel::platform::CharacteristicPathNode" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::CharacteristicPathNode")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.add(thisModule.ReferenceToLink(source.node)).add(thisModule.ReferenceToLink(source.projectedCharacteristic)) - ) -} - -rule CLface__datamodel__logical__MeasurementConversion2Complex { - from - source : IN!"face::datamodel::logical::MeasurementConversion" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::MeasurementConversion")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.add(thisModule.ReferenceToLink(source.source)).add(thisModule.ReferenceToLink(source.target)) - ) -} - -rule CLface__datamodel__platform__IDLStruct2Complex { - from - source : IN!"face::datamodel::platform::IDLStruct" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::IDLStruct")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.add(thisModule.ReferenceToLink(source.realizes)).union(source.composition->collect(it | thisModule.ReferenceToLink(it))) - ) -} - -rule CLface__datamodel__platform__Template2Complex { - from - source : IN!"face::datamodel::platform::Template" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::Template")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.union(source.traceabilityPoint->collect(it | thisModule.ReferenceToLink(it))).add(thisModule.ReferenceToLink(source.boundQuery)).add(thisModule.ReferenceToLink(source.effectiveQuery)) - ) -} - -rule CLface__traceability__TraceabilityPoint2Complex { - from - source : IN!"face::traceability::TraceabilityPoint" in MM (source.oclIsTypeOf(IN!"face::traceability::TraceabilityPoint")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{} - ) -} - -rule CLface__datamodel__platform__Enumeration2Complex { - from - source : IN!"face::datamodel::platform::Enumeration" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::Enumeration")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.add(thisModule.ReferenceToLink(source.realizes)) + link : OUT!Link ( + name <- refName, + referenceTo <- source ) } @@ -335,466 +18,21 @@ rule CLface__datamodel__platform__IDLType2Complex { source : IN!"face::datamodel::platform::IDLType" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::IDLType")) to prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.add(thisModule.ReferenceToLink(source.realizes)) - ) -} - -rule CLface__datamodel__logical__Association2Complex { - from - source : IN!"face::datamodel::logical::Association" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::Association")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.union(source.traceabilityPoint->collect(it | thisModule.ReferenceToLink(it))).union(source.composition->collect(it | thisModule.ReferenceToLink(it))).add(thisModule.ReferenceToLink(source.realizes)).add(thisModule.ReferenceToLink(source.specializes)).union(source.participant->collect(it | thisModule.ReferenceToLink(it))) - ) -} - -rule CLface__datamodel__platform__IDLUnsignedInteger2Complex { - from - source : IN!"face::datamodel::platform::IDLUnsignedInteger" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::IDLUnsignedInteger")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.add(thisModule.ReferenceToLink(source.realizes)) - ) -} - -rule CLface__datamodel__platform__CharType2Complex { - from - source : IN!"face::datamodel::platform::CharType" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::CharType")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.add(thisModule.ReferenceToLink(source.realizes)) - ) -} - -rule CLface__datamodel__platform__LongDouble2Complex { - from - source : IN!"face::datamodel::platform::LongDouble" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::LongDouble")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.add(thisModule.ReferenceToLink(source.realizes)) - ) -} - -rule CLface__datamodel__logical__ComposableElement2Complex { - from - source : IN!"face::datamodel::logical::ComposableElement" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::ComposableElement")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{} - ) -} - -rule CLface__datamodel__logical__Integer2Complex { - from - source : IN!"face::datamodel::logical::Integer" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::Integer")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{} - ) -} - -rule CLface__datamodel__DataModel2Complex { - from - source : IN!"face::datamodel::DataModel" in MM (source.oclIsTypeOf(IN!"face::datamodel::DataModel")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.union(source.cdm->collect(it | thisModule.ReferenceToLink(it))).union(source.ldm->collect(it | thisModule.ReferenceToLink(it))).union(source.pdm->collect(it | thisModule.ReferenceToLink(it))) - ) -} - -rule CLface__uop__Thread2Complex { - from - source : IN!"face::uop::Thread" in MM (source.oclIsTypeOf(IN!"face::uop::Thread")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{} - ) -} - -rule CLface__datamodel__ConceptualDataModel2Complex { - from - source : IN!"face::datamodel::ConceptualDataModel" in MM (source.oclIsTypeOf(IN!"face::datamodel::ConceptualDataModel")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.union(source.element->collect(it | thisModule.ReferenceToLink(it))).union(source.cdm->collect(it | thisModule.ReferenceToLink(it))) - ) -} - -rule CLface__datamodel__platform__StringType2Complex { - from - source : IN!"face::datamodel::platform::StringType" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::StringType")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.add(thisModule.ReferenceToLink(source.realizes)) - ) -} - -rule CLface__datamodel__logical__Natural2Complex { - from - source : IN!"face::datamodel::logical::Natural" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::Natural")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{} - ) -} - -rule CLface__datamodel__logical__Character2Complex { - from - source : IN!"face::datamodel::logical::Character" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::Character")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{} - ) -} - -rule CLface__datamodel__logical__EnumerationLabel2Complex { - from - source : IN!"face::datamodel::logical::EnumerationLabel" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::EnumerationLabel")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{} - ) -} - -rule CLface__datamodel__logical__ValueType2Complex { - from - source : IN!"face::datamodel::logical::ValueType" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::ValueType")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{} - ) -} - -rule CLface__datamodel__logical__PathNode2Complex { - from - source : IN!"face::datamodel::logical::PathNode" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::PathNode")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.add(thisModule.ReferenceToLink(source.node)) - ) -} - -rule CLface__datamodel__logical__MeasurementSystemAxis2Complex { - from - source : IN!"face::datamodel::logical::MeasurementSystemAxis" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::MeasurementSystemAxis")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.add(thisModule.ReferenceToLink(source.axis)).union(source.defaultValueTypeUnit->collect(it | thisModule.ReferenceToLink(it))).union(source.constraint->collect(it | thisModule.ReferenceToLink(it))) - ) -} - -rule CLface__datamodel__platform__IDLReal2Complex { - from - source : IN!"face::datamodel::platform::IDLReal" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::IDLReal")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.add(thisModule.ReferenceToLink(source.realizes)) - ) -} - -rule CLface__datamodel__platform__Short2Complex { - from - source : IN!"face::datamodel::platform::Short" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::Short")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.add(thisModule.ReferenceToLink(source.realizes)) - ) -} - -rule CLface__datamodel__conceptual__Query2Complex { - from - source : IN!"face::datamodel::conceptual::Query" in MM (source.oclIsTypeOf(IN!"face::datamodel::conceptual::Query")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.union(source.traceabilityPoint->collect(it | thisModule.ReferenceToLink(it))) - ) -} - -rule CLface__datamodel__platform__IDLCharacterArray2Complex { - from - source : IN!"face::datamodel::platform::IDLCharacterArray" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::IDLCharacterArray")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.add(thisModule.ReferenceToLink(source.realizes)) - ) -} - -rule CLface__datamodel__logical__RealConstraint2Complex { - from - source : IN!"face::datamodel::logical::RealConstraint" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::RealConstraint")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{} - ) -} - -rule CLface__datamodel__logical__MeasurementConstraint2Complex { - from - source : IN!"face::datamodel::logical::MeasurementConstraint" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::MeasurementConstraint")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{} - ) -} - -rule CLface__datamodel__platform__ParticipantPathNode2Complex { - from - source : IN!"face::datamodel::platform::ParticipantPathNode" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::ParticipantPathNode")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.add(thisModule.ReferenceToLink(source.node)).add(thisModule.ReferenceToLink(source.projectedParticipant)) - ) -} - -rule CLface__traceability__Element2Complex { - from - source : IN!"face::traceability::Element" in MM (source.oclIsTypeOf(IN!"face::traceability::Element")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{} - ) -} - -rule CLface__datamodel__logical__AffineConversion2Complex { - from - source : IN!"face::datamodel::logical::AffineConversion" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::AffineConversion")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.add(thisModule.ReferenceToLink(source.destination)).add(thisModule.ReferenceToLink(source.source)) - ) -} - -rule CLface__datamodel__logical__Participant2Complex { - from - source : IN!"face::datamodel::logical::Participant" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::Participant")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.add(thisModule.ReferenceToLink(source.specializes)).add(thisModule.ReferenceToLink(source.type)).add(thisModule.ReferenceToLink(source.realizes)).add(thisModule.ReferenceToLink(source.path)) - ) -} - -rule CLface__integration__ViewSink2Complex { - from - source : IN!"face::integration::ViewSink" in MM (source.oclIsTypeOf(IN!"face::integration::ViewSink")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.add(thisModule.ReferenceToLink(source.outPort)).add(thisModule.ReferenceToLink(source.inPort)) - ) -} - -lazy rule DTface__uop__ProgrammingLanguage2Prim { - from - source : IN!"face::uop::ProgrammingLanguage" in MM - to - prim : OUT!Primitive ( - name <- source.toString() - ) -} - -rule CLface__integration__TSNodeInputPort2Complex { - from - source : IN!"face::integration::TSNodeInputPort" in MM (source.oclIsTypeOf(IN!"face::integration::TSNodeInputPort")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.add(thisModule.ReferenceToLink(source.view)) - ) -} - -rule CLface__datamodel__platform__PhysicalDataType2Complex { - from - source : IN!"face::datamodel::platform::PhysicalDataType" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::PhysicalDataType")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{} - ) -} - -rule CLface__datamodel__logical__RealRangeConstraint2Complex { - from - source : IN!"face::datamodel::logical::RealRangeConstraint" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::RealRangeConstraint")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{} - ) -} - -rule CLface__datamodel__Element2Complex { - from - source : IN!"face::datamodel::Element" in MM (source.oclIsTypeOf(IN!"face::datamodel::Element")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{} - ) -} - -rule CLface__uop__SingleInstanceMessageConnection2Complex { - from - source : IN!"face::uop::SingleInstanceMessageConnection" in MM (source.oclIsTypeOf(IN!"face::uop::SingleInstanceMessageConnection")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.union(source.traceabilityPoint->collect(it | thisModule.ReferenceToLink(it))).add(thisModule.ReferenceToLink(source.realizes)).add(thisModule.ReferenceToLink(source.messageType)) - ) -} - -rule CLface__datamodel__conceptual__Element2Complex { - from - source : IN!"face::datamodel::conceptual::Element" in MM (source.oclIsTypeOf(IN!"face::datamodel::conceptual::Element")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{} - ) -} - -rule CLface__uop__Element2Complex { - from - source : IN!"face::uop::Element" in MM (source.oclIsTypeOf(IN!"face::uop::Element")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{} - ) -} - -rule CLface__datamodel__platform__TemplateComposition2Complex { - from - source : IN!"face::datamodel::platform::TemplateComposition" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::TemplateComposition")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.add(thisModule.ReferenceToLink(source.realizes)).add(thisModule.ReferenceToLink(source.type)) - ) -} - -rule CLface__datamodel__logical__IntegerRangeConstraint2Complex { - from - source : IN!"face::datamodel::logical::IntegerRangeConstraint" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::IntegerRangeConstraint")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{} - ) -} - -rule CLface__datamodel__platform__IDLSequence2Complex { - from - source : IN!"face::datamodel::platform::IDLSequence" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::IDLSequence")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.add(thisModule.ReferenceToLink(source.realizes)) - ) -} - -rule CLface__datamodel__logical__Numeric2Complex { - from - source : IN!"face::datamodel::logical::Numeric" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::Numeric")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{} + reference <- source, + name <- source.name, + className <- 'face::datamodel::platform::IDLType', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)).including(thisModule.ReferenceToLink('realizes', source.realizes)) ) } lazy rule DTface__uop__ThreadType2Prim { from + attrName : String, source : IN!"face::uop::ThreadType" in MM to prim : OUT!Primitive ( - name <- source.toString() - ) -} - -rule CLface__datamodel__logical__String2Complex { - from - source : IN!"face::datamodel::logical::String" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::String")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{} - ) -} - -rule CLface__datamodel__conceptual__CompositeQuery2Complex { - from - source : IN!"face::datamodel::conceptual::CompositeQuery" in MM (source.oclIsTypeOf(IN!"face::datamodel::conceptual::CompositeQuery")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.union(source.traceabilityPoint->collect(it | thisModule.ReferenceToLink(it))).union(source.composition->collect(it | thisModule.ReferenceToLink(it))) - ) -} - -rule CLface__datamodel__logical__Query2Complex { - from - source : IN!"face::datamodel::logical::Query" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::Query")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.union(source.traceabilityPoint->collect(it | thisModule.ReferenceToLink(it))).add(thisModule.ReferenceToLink(source.realizes)) - ) -} - -rule CLface__datamodel__conceptual__Observable2Complex { - from - source : IN!"face::datamodel::conceptual::Observable" in MM (source.oclIsTypeOf(IN!"face::datamodel::conceptual::Observable")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{} - ) -} - -rule CLface__datamodel__logical__MeasurementSystemConversion2Complex { - from - source : IN!"face::datamodel::logical::MeasurementSystemConversion" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::MeasurementSystemConversion")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.add(thisModule.ReferenceToLink(source.source)).add(thisModule.ReferenceToLink(source.target)) - ) -} - -rule CLface__datamodel__logical__View2Complex { - from - source : IN!"face::datamodel::logical::View" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::View")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.union(source.traceabilityPoint->collect(it | thisModule.ReferenceToLink(it))) + name <- attrName, + className <- 'face::uop::ThreadType' ) } @@ -803,943 +41,34 @@ rule CLface__datamodel__platform__Fixed2Complex { source : IN!"face::datamodel::platform::Fixed" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::Fixed")) to prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.add(thisModule.ReferenceToLink(source.realizes)) + reference <- source, + name <- source.name, + className <- 'face::datamodel::platform::Fixed', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)).including(thisModule.DTecore__EInt2Prim('digits', source.digits)).including(thisModule.DTecore__EInt2Prim('scale', source.scale)).including(thisModule.ReferenceToLink('realizes', source.realizes)) ) } -rule CLface__datamodel__platform__IDLComposition2Complex { +rule CLface__integration__TransportChannel2Complex { from - source : IN!"face::datamodel::platform::IDLComposition" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::IDLComposition")) + source : IN!"face::integration::TransportChannel" in MM (source.oclIsTypeOf(IN!"face::integration::TransportChannel")) to prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.add(thisModule.ReferenceToLink(source.type)).add(thisModule.ReferenceToLink(source.realizes)) + reference <- source, + name <- source.name, + className <- 'face::integration::TransportChannel', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)) ) } -rule CLface__integration__ViewFilter2Complex { +rule CLecore__ETypeParameter2Complex { from - source : IN!"face::integration::ViewFilter" in MM (source.oclIsTypeOf(IN!"face::integration::ViewFilter")) + source : IN!"ecore::ETypeParameter" in MM (source.oclIsTypeOf(IN!"ecore::ETypeParameter")) to prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.add(thisModule.ReferenceToLink(source.outPort)).add(thisModule.ReferenceToLink(source.inPort)) - ) -} - -rule CLface__traceability__TraceabilityModel2Complex { - from - source : IN!"face::traceability::TraceabilityModel" in MM (source.oclIsTypeOf(IN!"face::traceability::TraceabilityModel")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.union(source.element->collect(it | thisModule.ReferenceToLink(it))).union(source.tm->collect(it | thisModule.ReferenceToLink(it))) - ) -} - -rule CLface__datamodel__logical__Composition2Complex { - from - source : IN!"face::datamodel::logical::Composition" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::Composition")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.add(thisModule.ReferenceToLink(source.specializes)).add(thisModule.ReferenceToLink(source.type)).add(thisModule.ReferenceToLink(source.realizes)) - ) -} - -rule CLface__uop__RAMMemoryRequirements2Complex { - from - source : IN!"face::uop::RAMMemoryRequirements" in MM (source.oclIsTypeOf(IN!"face::uop::RAMMemoryRequirements")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{} - ) -} - -rule CLface__integration__IntegrationContext2Complex { - from - source : IN!"face::integration::IntegrationContext" in MM (source.oclIsTypeOf(IN!"face::integration::IntegrationContext")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.union(source.connection->collect(it | thisModule.ReferenceToLink(it))).union(source.node->collect(it | thisModule.ReferenceToLink(it))) - ) -} - -rule CLface__datamodel__platform__Float2Complex { - from - source : IN!"face::datamodel::platform::Float" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::Float")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.add(thisModule.ReferenceToLink(source.realizes)) - ) -} - -rule CLface__uop__AbstractConnection2Complex { - from - source : IN!"face::uop::AbstractConnection" in MM (source.oclIsTypeOf(IN!"face::uop::AbstractConnection")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.union(source.traceabilityPoint->collect(it | thisModule.ReferenceToLink(it))).add(thisModule.ReferenceToLink(source.conceptualView)).add(thisModule.ReferenceToLink(source.logicalView)) - ) -} - -rule CLface__datamodel__conceptual__Domain2Complex { - from - source : IN!"face::datamodel::conceptual::Domain" in MM (source.oclIsTypeOf(IN!"face::datamodel::conceptual::Domain")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.union(source.basisEntity->collect(it | thisModule.ReferenceToLink(it))) - ) -} - -rule CLface__integration__TSNodePort2Complex { - from - source : IN!"face::integration::TSNodePort" in MM (source.oclIsTypeOf(IN!"face::integration::TSNodePort")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.add(thisModule.ReferenceToLink(source.view)) - ) -} - -rule CLface__ArchitectureModel2Complex { - from - source : IN!"face::ArchitectureModel" in MM (source.oclIsTypeOf(IN!"face::ArchitectureModel")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.union(source.dm->collect(it | thisModule.ReferenceToLink(it))).union(source.um->collect(it | thisModule.ReferenceToLink(it))).union(source.im->collect(it | thisModule.ReferenceToLink(it))).union(source.tm->collect(it | thisModule.ReferenceToLink(it))) - ) -} - -rule CLface__datamodel__logical__Real2Complex { - from - source : IN!"face::datamodel::logical::Real" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::Real")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{} - ) -} - -rule CLface__uop__UnitOfPortability2Complex { - from - source : IN!"face::uop::UnitOfPortability" in MM (source.oclIsTypeOf(IN!"face::uop::UnitOfPortability")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.union(source.traceabilityPoint->collect(it | thisModule.ReferenceToLink(it))).union(source.supportingComponent->collect(it | thisModule.ReferenceToLink(it))).union(source.thread->collect(it | thisModule.ReferenceToLink(it))).add(thisModule.ReferenceToLink(source.memoryRequirements)).add(thisModule.ReferenceToLink(source.realizes)).union(source.connection->collect(it | thisModule.ReferenceToLink(it))).union(source.lcmPort->collect(it | thisModule.ReferenceToLink(it))) - ) -} - -rule CLface__datamodel__PlatformDataModel2Complex { - from - source : IN!"face::datamodel::PlatformDataModel" in MM (source.oclIsTypeOf(IN!"face::datamodel::PlatformDataModel")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.union(source.element->collect(it | thisModule.ReferenceToLink(it))).union(source.pdm->collect(it | thisModule.ReferenceToLink(it))) - ) -} - -rule CLface__datamodel__conceptual__QueryComposition2Complex { - from - source : IN!"face::datamodel::conceptual::QueryComposition" in MM (source.oclIsTypeOf(IN!"face::datamodel::conceptual::QueryComposition")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.add(thisModule.ReferenceToLink(source.type)) - ) -} - -rule CLface__datamodel__conceptual__BasisEntity2Complex { - from - source : IN!"face::datamodel::conceptual::BasisEntity" in MM (source.oclIsTypeOf(IN!"face::datamodel::conceptual::BasisEntity")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{} - ) -} - -rule CLface__datamodel__logical__AbstractMeasurement2Complex { - from - source : IN!"face::datamodel::logical::AbstractMeasurement" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::AbstractMeasurement")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{} - ) -} - -rule CLface__datamodel__platform__PathNode2Complex { - from - source : IN!"face::datamodel::platform::PathNode" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::PathNode")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.add(thisModule.ReferenceToLink(source.node)) - ) -} - -rule CLface__uop__QueuingConnection2Complex { - from - source : IN!"face::uop::QueuingConnection" in MM (source.oclIsTypeOf(IN!"face::uop::QueuingConnection")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.union(source.traceabilityPoint->collect(it | thisModule.ReferenceToLink(it))).add(thisModule.ReferenceToLink(source.realizes)).add(thisModule.ReferenceToLink(source.messageType)) - ) -} - -rule CLface__uop__ClientServerConnection2Complex { - from - source : IN!"face::uop::ClientServerConnection" in MM (source.oclIsTypeOf(IN!"face::uop::ClientServerConnection")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.union(source.traceabilityPoint->collect(it | thisModule.ReferenceToLink(it))).add(thisModule.ReferenceToLink(source.realizes)).add(thisModule.ReferenceToLink(source.requestType)).add(thisModule.ReferenceToLink(source.responseType)) - ) -} - -rule CLface__datamodel__platform__Octet2Complex { - from - source : IN!"face::datamodel::platform::Octet" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::Octet")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.add(thisModule.ReferenceToLink(source.realizes)) - ) -} - -rule CLface__datamodel__platform__Double2Complex { - from - source : IN!"face::datamodel::platform::Double" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::Double")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.add(thisModule.ReferenceToLink(source.realizes)) - ) -} - -rule CLface__datamodel__platform__Query2Complex { - from - source : IN!"face::datamodel::platform::Query" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::Query")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.union(source.traceabilityPoint->collect(it | thisModule.ReferenceToLink(it))).add(thisModule.ReferenceToLink(source.realizes)) - ) -} - -rule CLface__integration__Element2Complex { - from - source : IN!"face::integration::Element" in MM (source.oclIsTypeOf(IN!"face::integration::Element")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{} - ) -} - -rule CLface__datamodel__logical__NonNegativeReal2Complex { - from - source : IN!"face::datamodel::logical::NonNegativeReal" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::NonNegativeReal")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{} - ) -} - -lazy rule DTface__uop__PartitionType2Prim { - from - source : IN!"face::uop::PartitionType" in MM - to - prim : OUT!Primitive ( - name <- source.toString() - ) -} - -rule CLface__datamodel__logical__MeasurementAttribute2Complex { - from - source : IN!"face::datamodel::logical::MeasurementAttribute" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::MeasurementAttribute")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.add(thisModule.ReferenceToLink(source.type)) - ) -} - -rule CLface__uop__AbstractUoP2Complex { - from - source : IN!"face::uop::AbstractUoP" in MM (source.oclIsTypeOf(IN!"face::uop::AbstractUoP")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.union(source.traceabilityPoint->collect(it | thisModule.ReferenceToLink(it))).union(source.connection->collect(it | thisModule.ReferenceToLink(it))) - ) -} - -rule CLface__datamodel__platform__Association2Complex { - from - source : IN!"face::datamodel::platform::Association" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::Association")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.union(source.traceabilityPoint->collect(it | thisModule.ReferenceToLink(it))).union(source.composition->collect(it | thisModule.ReferenceToLink(it))).add(thisModule.ReferenceToLink(source.realizes)).add(thisModule.ReferenceToLink(source.specializes)).union(source.participant->collect(it | thisModule.ReferenceToLink(it))) - ) -} - -rule CLface__datamodel__conceptual__Entity2Complex { - from - source : IN!"face::datamodel::conceptual::Entity" in MM (source.oclIsTypeOf(IN!"face::datamodel::conceptual::Entity")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.union(source.traceabilityPoint->collect(it | thisModule.ReferenceToLink(it))).union(source.composition->collect(it | thisModule.ReferenceToLink(it))).add(thisModule.ReferenceToLink(source.specializes)).union(source.basisEntity->collect(it | thisModule.ReferenceToLink(it))) - ) -} - -lazy rule DTface__uop__ClientServerRole2Prim { - from - source : IN!"face::uop::ClientServerRole" in MM - to - prim : OUT!Primitive ( - name <- source.toString() - ) -} - -rule CLface__integration__ViewAggregation2Complex { - from - source : IN!"face::integration::ViewAggregation" in MM (source.oclIsTypeOf(IN!"face::integration::ViewAggregation")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.add(thisModule.ReferenceToLink(source.outPort)).add(thisModule.ReferenceToLink(source.inPort)) - ) -} - -rule CLface__datamodel__logical__RegularExpressionConstraint2Complex { - from - source : IN!"face::datamodel::logical::RegularExpressionConstraint" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::RegularExpressionConstraint")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{} - ) -} - -rule CLface__datamodel__logical__ParticipantPathNode2Complex { - from - source : IN!"face::datamodel::logical::ParticipantPathNode" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::ParticipantPathNode")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.add(thisModule.ReferenceToLink(source.node)).add(thisModule.ReferenceToLink(source.projectedParticipant)) - ) -} - -rule CLface__datamodel__logical__Element2Complex { - from - source : IN!"face::datamodel::logical::Element" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::Element")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{} - ) -} - -rule CLface__datamodel__conceptual__View2Complex { - from - source : IN!"face::datamodel::conceptual::View" in MM (source.oclIsTypeOf(IN!"face::datamodel::conceptual::View")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.union(source.traceabilityPoint->collect(it | thisModule.ReferenceToLink(it))) - ) -} - -rule CLface__datamodel__logical__MeasurementAxis2Complex { - from - source : IN!"face::datamodel::logical::MeasurementAxis" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::MeasurementAxis")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.union(source.valueTypeUnit->collect(it | thisModule.ReferenceToLink(it))).add(thisModule.ReferenceToLink(source.measurementSystemAxis)).union(source.constraint->collect(it | thisModule.ReferenceToLink(it))).add(thisModule.ReferenceToLink(source.realizes)) - ) -} - -rule CLface__datamodel__logical__CoordinateSystemAxis2Complex { - from - source : IN!"face::datamodel::logical::CoordinateSystemAxis" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::CoordinateSystemAxis")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{} - ) -} - -rule CLface__datamodel__logical__FixedLengthStringConstraint2Complex { - from - source : IN!"face::datamodel::logical::FixedLengthStringConstraint" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::FixedLengthStringConstraint")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{} - ) -} - -rule CLface__integration__TransportNode2Complex { - from - source : IN!"face::integration::TransportNode" in MM (source.oclIsTypeOf(IN!"face::integration::TransportNode")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.add(thisModule.ReferenceToLink(source.outPort)).add(thisModule.ReferenceToLink(source.inPort)) - ) -} - -rule CLface__datamodel__logical__CoordinateSystem2Complex { - from - source : IN!"face::datamodel::logical::CoordinateSystem" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::CoordinateSystem")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.union(source.axis->collect(it | thisModule.ReferenceToLink(it))) - ) -} - -rule CLface__datamodel__platform__IDLPrimitive2Complex { - from - source : IN!"face::datamodel::platform::IDLPrimitive" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::IDLPrimitive")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.add(thisModule.ReferenceToLink(source.realizes)) - ) -} - -rule CLface__datamodel__logical__ConvertibleElement2Complex { - from - source : IN!"face::datamodel::logical::ConvertibleElement" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::ConvertibleElement")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{} - ) -} - -rule CLface__datamodel__logical__ValueTypeUnit2Complex { - from - source : IN!"face::datamodel::logical::ValueTypeUnit" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::ValueTypeUnit")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.add(thisModule.ReferenceToLink(source.unit)).add(thisModule.ReferenceToLink(source.valueType)).add(thisModule.ReferenceToLink(source.constraint)) - ) -} - -rule CLface__datamodel__platform__Element2Complex { - from - source : IN!"face::datamodel::platform::Element" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::Element")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{} - ) -} - -rule CLface__uop__ComponentFramework2Complex { - from - source : IN!"face::uop::ComponentFramework" in MM (source.oclIsTypeOf(IN!"face::uop::ComponentFramework")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{} - ) -} - -rule CLface__datamodel__logical__StringConstraint2Complex { - from - source : IN!"face::datamodel::logical::StringConstraint" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::StringConstraint")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{} - ) -} - -rule CLface__datamodel__logical__CharacteristicPathNode2Complex { - from - source : IN!"face::datamodel::logical::CharacteristicPathNode" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::CharacteristicPathNode")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.add(thisModule.ReferenceToLink(source.node)).add(thisModule.ReferenceToLink(source.projectedCharacteristic)) - ) -} - -rule CLface__datamodel__logical__MeasurementSystem2Complex { - from - source : IN!"face::datamodel::logical::MeasurementSystem" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::MeasurementSystem")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.union(source.measurementSystemAxis->collect(it | thisModule.ReferenceToLink(it))).add(thisModule.ReferenceToLink(source.coordinateSystem)).union(source.referencePoint->collect(it | thisModule.ReferenceToLink(it))).union(source.constraint->collect(it | thisModule.ReferenceToLink(it))) - ) -} - -rule CLface__datamodel__conceptual__Association2Complex { - from - source : IN!"face::datamodel::conceptual::Association" in MM (source.oclIsTypeOf(IN!"face::datamodel::conceptual::Association")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.union(source.traceabilityPoint->collect(it | thisModule.ReferenceToLink(it))).union(source.composition->collect(it | thisModule.ReferenceToLink(it))).add(thisModule.ReferenceToLink(source.specializes)).union(source.basisEntity->collect(it | thisModule.ReferenceToLink(it))).union(source.participant->collect(it | thisModule.ReferenceToLink(it))) - ) -} - -rule CLface__datamodel__conceptual__BasisElement2Complex { - from - source : IN!"face::datamodel::conceptual::BasisElement" in MM (source.oclIsTypeOf(IN!"face::datamodel::conceptual::BasisElement")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{} - ) -} - -lazy rule DTface__uop__MessageExchangeType2Prim { - from - source : IN!"face::uop::MessageExchangeType" in MM - to - prim : OUT!Primitive ( - name <- source.toString() - ) -} - -rule CLface__datamodel__platform__ULongLong2Complex { - from - source : IN!"face::datamodel::platform::ULongLong" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::ULongLong")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.add(thisModule.ReferenceToLink(source.realizes)) - ) -} - -rule CLface__datamodel__platform__Composition2Complex { - from - source : IN!"face::datamodel::platform::Composition" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::Composition")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.add(thisModule.ReferenceToLink(source.specializes)).add(thisModule.ReferenceToLink(source.type)).add(thisModule.ReferenceToLink(source.realizes)) - ) -} - -rule CLface__datamodel__logical__CompositeQuery2Complex { - from - source : IN!"face::datamodel::logical::CompositeQuery" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::CompositeQuery")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.union(source.traceabilityPoint->collect(it | thisModule.ReferenceToLink(it))).union(source.composition->collect(it | thisModule.ReferenceToLink(it))).add(thisModule.ReferenceToLink(source.realizes)) - ) -} - -rule CLface__uop__SupportingComponent2Complex { - from - source : IN!"face::uop::SupportingComponent" in MM (source.oclIsTypeOf(IN!"face::uop::SupportingComponent")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{} - ) -} - -rule CLface__datamodel__platform__IDLNumber2Complex { - from - source : IN!"face::datamodel::platform::IDLNumber" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::IDLNumber")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.add(thisModule.ReferenceToLink(source.realizes)) - ) -} - -rule CLface__datamodel__logical__Constraint2Complex { - from - source : IN!"face::datamodel::logical::Constraint" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::Constraint")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{} - ) -} - -rule CLface__datamodel__conceptual__Characteristic2Complex { - from - source : IN!"face::datamodel::conceptual::Characteristic" in MM (source.oclIsTypeOf(IN!"face::datamodel::conceptual::Characteristic")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.add(thisModule.ReferenceToLink(source.specializes)) - ) -} - -rule CLface__integration__TSNodeOutputPort2Complex { - from - source : IN!"face::integration::TSNodeOutputPort" in MM (source.oclIsTypeOf(IN!"face::integration::TSNodeOutputPort")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.add(thisModule.ReferenceToLink(source.view)) - ) -} - -rule CLface__datamodel__logical__Measurement2Complex { - from - source : IN!"face::datamodel::logical::Measurement" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::Measurement")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.union(source.constraint->collect(it | thisModule.ReferenceToLink(it))).union(source.measurementAxis->collect(it | thisModule.ReferenceToLink(it))).add(thisModule.ReferenceToLink(source.measurementSystem)).add(thisModule.ReferenceToLink(source.realizes)).union(source.attribute->collect(it | thisModule.ReferenceToLink(it))) - ) -} - -lazy rule DTface__uop__DesignAssuranceLevel2Prim { - from - source : IN!"face::uop::DesignAssuranceLevel" in MM - to - prim : OUT!Primitive ( - name <- source.toString() - ) -} - -rule CLface__datamodel__logical__Conversion2Complex { - from - source : IN!"face::datamodel::logical::Conversion" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::Conversion")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.add(thisModule.ReferenceToLink(source.destination)).add(thisModule.ReferenceToLink(source.source)) - ) -} - -rule CLface__datamodel__logical__ReferencePoint2Complex { - from - source : IN!"face::datamodel::logical::ReferencePoint" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::ReferencePoint")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.union(source.referencePointPart->collect(it | thisModule.ReferenceToLink(it))).add(thisModule.ReferenceToLink(source.landmark)) - ) -} - -rule CLface__datamodel__logical__IntegerConstraint2Complex { - from - source : IN!"face::datamodel::logical::IntegerConstraint" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::IntegerConstraint")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{} - ) -} - -rule CLface__uop__PortableComponent2Complex { - from - source : IN!"face::uop::PortableComponent" in MM (source.oclIsTypeOf(IN!"face::uop::PortableComponent")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.union(source.traceabilityPoint->collect(it | thisModule.ReferenceToLink(it))).union(source.supportingComponent->collect(it | thisModule.ReferenceToLink(it))).union(source.thread->collect(it | thisModule.ReferenceToLink(it))).add(thisModule.ReferenceToLink(source.memoryRequirements)).add(thisModule.ReferenceToLink(source.realizes)).union(source.connection->collect(it | thisModule.ReferenceToLink(it))).union(source.lcmPort->collect(it | thisModule.ReferenceToLink(it))) - ) -} - -rule CLface__datamodel__platform__ULong2Complex { - from - source : IN!"face::datamodel::platform::ULong" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::ULong")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.add(thisModule.ReferenceToLink(source.realizes)) - ) -} - -rule CLface__datamodel__logical__ReferencePointPart2Complex { - from - source : IN!"face::datamodel::logical::ReferencePointPart" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::ReferencePointPart")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.add(thisModule.ReferenceToLink(source.axis)).add(thisModule.ReferenceToLink(source.valueTypeUnit)) - ) -} - -rule CLface__datamodel__platform__String2Complex { - from - source : IN!"face::datamodel::platform::String" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::String")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.add(thisModule.ReferenceToLink(source.realizes)) - ) -} - -rule CLface__datamodel__platform__Entity2Complex { - from - source : IN!"face::datamodel::platform::Entity" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::Entity")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.union(source.traceabilityPoint->collect(it | thisModule.ReferenceToLink(it))).union(source.composition->collect(it | thisModule.ReferenceToLink(it))).add(thisModule.ReferenceToLink(source.realizes)).add(thisModule.ReferenceToLink(source.specializes)) - ) -} - -rule CLface__datamodel__logical__Landmark2Complex { - from - source : IN!"face::datamodel::logical::Landmark" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::Landmark")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{} - ) -} - -rule CLface__datamodel__platform__IDLUnboundedString2Complex { - from - source : IN!"face::datamodel::platform::IDLUnboundedString" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::IDLUnboundedString")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.add(thisModule.ReferenceToLink(source.realizes)) - ) -} - -rule CLface__datamodel__logical__EnumerationConstraint2Complex { - from - source : IN!"face::datamodel::logical::EnumerationConstraint" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::EnumerationConstraint")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.union(source.allowedValue->collect(it | thisModule.ReferenceToLink(it))) - ) -} - -lazy rule DTface__uop__DesignAssuranceStandard2Prim { - from - source : IN!"face::uop::DesignAssuranceStandard" in MM - to - prim : OUT!Primitive ( - name <- source.toString() - ) -} - -rule CLface__integration__ViewSource2Complex { - from - source : IN!"face::integration::ViewSource" in MM (source.oclIsTypeOf(IN!"face::integration::ViewSource")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.add(thisModule.ReferenceToLink(source.outPort)).add(thisModule.ReferenceToLink(source.inPort)) - ) -} - -rule CLface__datamodel__platform__IDLInteger2Complex { - from - source : IN!"face::datamodel::platform::IDLInteger" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::IDLInteger")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.add(thisModule.ReferenceToLink(source.realizes)) - ) -} - -rule CLface__uop__PlatformSpecificComponent2Complex { - from - source : IN!"face::uop::PlatformSpecificComponent" in MM (source.oclIsTypeOf(IN!"face::uop::PlatformSpecificComponent")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.union(source.traceabilityPoint->collect(it | thisModule.ReferenceToLink(it))).union(source.supportingComponent->collect(it | thisModule.ReferenceToLink(it))).union(source.thread->collect(it | thisModule.ReferenceToLink(it))).add(thisModule.ReferenceToLink(source.memoryRequirements)).add(thisModule.ReferenceToLink(source.realizes)).union(source.connection->collect(it | thisModule.ReferenceToLink(it))).union(source.lcmPort->collect(it | thisModule.ReferenceToLink(it))) - ) -} - -rule CLface__datamodel__platform__Characteristic2Complex { - from - source : IN!"face::datamodel::platform::Characteristic" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::Characteristic")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.add(thisModule.ReferenceToLink(source.specializes)) - ) -} - -rule CLface__datamodel__platform__Char2Complex { - from - source : IN!"face::datamodel::platform::Char" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::Char")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.add(thisModule.ReferenceToLink(source.realizes)) - ) -} - -rule CLface__datamodel__platform__UShort2Complex { - from - source : IN!"face::datamodel::platform::UShort" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::UShort")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.add(thisModule.ReferenceToLink(source.realizes)) - ) -} - -rule CLface__integration__UoPOutputEndPoint2Complex { - from - source : IN!"face::integration::UoPOutputEndPoint" in MM (source.oclIsTypeOf(IN!"face::integration::UoPOutputEndPoint")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.add(thisModule.ReferenceToLink(source.connection)) - ) -} - -rule CLface__uop__LanguageRunTime2Complex { - from - source : IN!"face::uop::LanguageRunTime" in MM (source.oclIsTypeOf(IN!"face::uop::LanguageRunTime")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{} - ) -} - -rule CLface__datamodel__conceptual__CharacteristicPathNode2Complex { - from - source : IN!"face::datamodel::conceptual::CharacteristicPathNode" in MM (source.oclIsTypeOf(IN!"face::datamodel::conceptual::CharacteristicPathNode")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.add(thisModule.ReferenceToLink(source.node)).add(thisModule.ReferenceToLink(source.projectedCharacteristic)) - ) -} - -rule CLface__datamodel__platform__Boolean2Complex { - from - source : IN!"face::datamodel::platform::Boolean" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::Boolean")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.add(thisModule.ReferenceToLink(source.realizes)) - ) -} - -rule CLface__datamodel__conceptual__ParticipantPathNode2Complex { - from - source : IN!"face::datamodel::conceptual::ParticipantPathNode" in MM (source.oclIsTypeOf(IN!"face::datamodel::conceptual::ParticipantPathNode")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.add(thisModule.ReferenceToLink(source.node)).add(thisModule.ReferenceToLink(source.projectedParticipant)) - ) -} - -rule CLface__datamodel__platform__View2Complex { - from - source : IN!"face::datamodel::platform::View" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::View")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.union(source.traceabilityPoint->collect(it | thisModule.ReferenceToLink(it))) - ) -} - -rule CLface__datamodel__conceptual__Composition2Complex { - from - source : IN!"face::datamodel::conceptual::Composition" in MM (source.oclIsTypeOf(IN!"face::datamodel::conceptual::Composition")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.add(thisModule.ReferenceToLink(source.specializes)).add(thisModule.ReferenceToLink(source.type)) - ) -} - -rule CLface__datamodel__conceptual__Participant2Complex { - from - source : IN!"face::datamodel::conceptual::Participant" in MM (source.oclIsTypeOf(IN!"face::datamodel::conceptual::Participant")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.add(thisModule.ReferenceToLink(source.specializes)).add(thisModule.ReferenceToLink(source.type)).add(thisModule.ReferenceToLink(source.path)) - ) -} - -rule CLface__integration__UoPInstance2Complex { - from - source : IN!"face::integration::UoPInstance" in MM (source.oclIsTypeOf(IN!"face::integration::UoPInstance")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.add(thisModule.ReferenceToLink(source.realizes)).union(source.output->collect(it | thisModule.ReferenceToLink(it))).union(source.input->collect(it | thisModule.ReferenceToLink(it))) - ) -} - -rule CLface__datamodel__logical__Entity2Complex { - from - source : IN!"face::datamodel::logical::Entity" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::Entity")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.union(source.traceabilityPoint->collect(it | thisModule.ReferenceToLink(it))).union(source.composition->collect(it | thisModule.ReferenceToLink(it))).add(thisModule.ReferenceToLink(source.realizes)).add(thisModule.ReferenceToLink(source.specializes)) - ) -} - -rule CLface__uop__Connection2Complex { - from - source : IN!"face::uop::Connection" in MM (source.oclIsTypeOf(IN!"face::uop::Connection")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.union(source.traceabilityPoint->collect(it | thisModule.ReferenceToLink(it))).add(thisModule.ReferenceToLink(source.realizes)) - ) -} - -rule CLface__datamodel__platform__CompositeTemplate2Complex { - from - source : IN!"face::datamodel::platform::CompositeTemplate" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::CompositeTemplate")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.union(source.traceabilityPoint->collect(it | thisModule.ReferenceToLink(it))).union(source.composition->collect(it | thisModule.ReferenceToLink(it))).add(thisModule.ReferenceToLink(source.realizes)) - ) -} - -rule CLface__integration__TSNodeConnection2Complex { - from - source : IN!"face::integration::TSNodeConnection" in MM (source.oclIsTypeOf(IN!"face::integration::TSNodeConnection")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.add(thisModule.ReferenceToLink(source.source)).add(thisModule.ReferenceToLink(source.destination)) - ) -} - -rule CLface__integration__IntegrationModel2Complex { - from - source : IN!"face::integration::IntegrationModel" in MM (source.oclIsTypeOf(IN!"face::integration::IntegrationModel")) - to - prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.union(source.im->collect(it | thisModule.ReferenceToLink(it))).union(source.element->collect(it | thisModule.ReferenceToLink(it))) + reference <- source, + name <- source.name, + className <- 'ecore::ETypeParameter', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).union(source.eAnnotations->collect(it | thisModule.ReferenceToLink('eAnnotations', it))).union(source.eBounds->collect(it | thisModule.ReferenceToLink('eBounds', it))) ) } @@ -1748,28 +77,1185 @@ rule CLface__integration__TSNodePortBase2Complex { source : IN!"face::integration::TSNodePortBase" in MM (source.oclIsTypeOf(IN!"face::integration::TSNodePortBase")) to prim : OUT!Complex ( - name <- source.toString(), + reference <- source, + name <- 'NoName', + className <- 'face::integration::TSNodePortBase', primitives <- Set{} ) } +rule CLface__datamodel__logical__MeasurementAttribute2Complex { + from + source : IN!"face::datamodel::logical::MeasurementAttribute" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::MeasurementAttribute")) + to + prim : OUT!Complex ( + reference <- source, + name <- 'NoName', + className <- 'face::datamodel::logical::MeasurementAttribute', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('rolename', source.rolename)).including(thisModule.ReferenceToLink('type', source.type)) + ) +} + +rule CLface__datamodel__logical__StringConstraint2Complex { + from + source : IN!"face::datamodel::logical::StringConstraint" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::StringConstraint")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::datamodel::logical::StringConstraint', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)) + ) +} + +rule CLface__datamodel__platform__IDLNumber2Complex { + from + source : IN!"face::datamodel::platform::IDLNumber" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::IDLNumber")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::datamodel::platform::IDLNumber', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)).including(thisModule.ReferenceToLink('realizes', source.realizes)) + ) +} + +rule CLface__traceability__TraceableElement2Complex { + from + source : IN!"face::traceability::TraceableElement" in MM (source.oclIsTypeOf(IN!"face::traceability::TraceableElement")) + to + prim : OUT!Complex ( + reference <- source, + name <- 'NoName', + className <- 'face::traceability::TraceableElement', + primitives <- Set{}.union(source.traceabilityPoint->collect(it | thisModule.ReferenceToLink('traceabilityPoint', it))) + ) +} + +rule CLface__datamodel__platform__PathNode2Complex { + from + source : IN!"face::datamodel::platform::PathNode" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::PathNode")) + to + prim : OUT!Complex ( + reference <- source, + name <- 'NoName', + className <- 'face::datamodel::platform::PathNode', + primitives <- Set{}.including(thisModule.ReferenceToLink('node', source.node)) + ) +} + +rule CLface__traceability__TraceabilityModel2Complex { + from + source : IN!"face::traceability::TraceabilityModel" in MM (source.oclIsTypeOf(IN!"face::traceability::TraceabilityModel")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::traceability::TraceabilityModel', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)).union(source.element->collect(it | thisModule.ReferenceToLink('element', it))).union(source.tm->collect(it | thisModule.ReferenceToLink('tm', it))) + ) +} + +rule CLecore__EModelElement2Complex { + from + source : IN!"ecore::EModelElement" in MM (source.oclIsTypeOf(IN!"ecore::EModelElement")) + to + prim : OUT!Complex ( + reference <- source, + name <- 'NoName', + className <- 'ecore::EModelElement', + primitives <- Set{}.union(source.eAnnotations->collect(it | thisModule.ReferenceToLink('eAnnotations', it))) + ) +} + +rule CLface__datamodel__logical__PathNode2Complex { + from + source : IN!"face::datamodel::logical::PathNode" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::PathNode")) + to + prim : OUT!Complex ( + reference <- source, + name <- 'NoName', + className <- 'face::datamodel::logical::PathNode', + primitives <- Set{}.including(thisModule.ReferenceToLink('node', source.node)) + ) +} + +rule CLface__datamodel__platform__Composition2Complex { + from + source : IN!"face::datamodel::platform::Composition" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::Composition")) + to + prim : OUT!Complex ( + reference <- source, + name <- 'NoName', + className <- 'face::datamodel::platform::Composition', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('rolename', source.rolename)).including(thisModule.DTecore__EInt2Prim('upperBound', source.upperBound)).including(thisModule.DTecore__EInt2Prim('lowerBound', source.lowerBound)).including(thisModule.DTecore__EString2Prim('description', source.description)).including(thisModule.DTecore__EFloat2Prim('precision', source.precision)).including(thisModule.ReferenceToLink('specializes', source.specializes)).including(thisModule.ReferenceToLink('type', source.type)).including(thisModule.ReferenceToLink('realizes', source.realizes)) + ) +} + +rule CLface__uop__LanguageRunTime2Complex { + from + source : IN!"face::uop::LanguageRunTime" in MM (source.oclIsTypeOf(IN!"face::uop::LanguageRunTime")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::uop::LanguageRunTime', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)).including(thisModule.DTecore__EString2Prim('version', source.version)) + ) +} + +lazy rule DTecore__ELong2Prim { + from + attrName : String, + source : IN!"ecore::ELong" in MM + to + prim : OUT!Primitive ( + name <- attrName, + className <- 'ecore::ELong' + ) +} + +lazy rule DTecore__EResourceSet2Prim { + from + attrName : String, + source : IN!"ecore::EResourceSet" in MM + to + prim : OUT!Primitive ( + name <- attrName, + className <- 'ecore::EResourceSet' + ) +} + +rule CLface__datamodel__platform__ParticipantPathNode2Complex { + from + source : IN!"face::datamodel::platform::ParticipantPathNode" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::ParticipantPathNode")) + to + prim : OUT!Complex ( + reference <- source, + name <- 'NoName', + className <- 'face::datamodel::platform::ParticipantPathNode', + primitives <- Set{}.including(thisModule.ReferenceToLink('node', source.node)).including(thisModule.ReferenceToLink('projectedParticipant', source.projectedParticipant)) + ) +} + +rule CLface__datamodel__logical__Participant2Complex { + from + source : IN!"face::datamodel::logical::Participant" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::Participant")) + to + prim : OUT!Complex ( + reference <- source, + name <- 'NoName', + className <- 'face::datamodel::logical::Participant', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('rolename', source.rolename)).including(thisModule.DTecore__EInt2Prim('lowerBound', source.lowerBound)).including(thisModule.DTecore__EInt2Prim('upperBound', source.upperBound)).including(thisModule.DTecore__EString2Prim('description', source.description)).including(thisModule.DTecore__EInt2Prim('sourceLowerBound', source.sourceLowerBound)).including(thisModule.DTecore__EInt2Prim('sourceUpperBound', source.sourceUpperBound)).including(thisModule.ReferenceToLink('specializes', source.specializes)).including(thisModule.ReferenceToLink('type', source.type)).including(thisModule.ReferenceToLink('realizes', source.realizes)).including(thisModule.ReferenceToLink('path', source.path)) + ) +} + +rule CLecore__EAnnotation2Complex { + from + source : IN!"ecore::EAnnotation" in MM (source.oclIsTypeOf(IN!"ecore::EAnnotation")) + to + prim : OUT!Complex ( + reference <- source, + name <- 'NoName', + className <- 'ecore::EAnnotation', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('source', source.source)).union(source.eAnnotations->collect(it | thisModule.ReferenceToLink('eAnnotations', it))).union(source.details->collect(it | thisModule.ReferenceToLink('details', it))).including(thisModule.ReferenceToLink('eModelElement', source.eModelElement)).union(source.contents->collect(it | thisModule.ReferenceToLink('contents', it))).union(source.references->collect(it | thisModule.ReferenceToLink('references', it))) + ) +} + +rule CLface__datamodel__platform__CompositeTemplate2Complex { + from + source : IN!"face::datamodel::platform::CompositeTemplate" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::CompositeTemplate")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::datamodel::platform::CompositeTemplate', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)).including(thisModule.DTecore__EBoolean2Prim('isUnion', source.isUnion)).union(source.traceabilityPoint->collect(it | thisModule.ReferenceToLink('traceabilityPoint', it))).union(source.composition->collect(it | thisModule.ReferenceToLink('composition', it))).including(thisModule.ReferenceToLink('realizes', source.realizes)) + ) +} + +rule CLecore__EReference2Complex { + from + source : IN!"ecore::EReference" in MM (source.oclIsTypeOf(IN!"ecore::EReference")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'ecore::EReference', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EBoolean2Prim('ordered', source.ordered)).including(thisModule.DTecore__EBoolean2Prim('unique', source.unique)).including(thisModule.DTecore__EInt2Prim('lowerBound', source.lowerBound)).including(thisModule.DTecore__EInt2Prim('upperBound', source.upperBound)).including(thisModule.DTecore__EBoolean2Prim('many', source.many)).including(thisModule.DTecore__EBoolean2Prim('required', source.required)).including(thisModule.DTecore__EBoolean2Prim('changeable', source.changeable)).including(thisModule.DTecore__EBoolean2Prim('volatile', source.volatile)).including(thisModule.DTecore__EBoolean2Prim('transient', source.transient)).including(thisModule.DTecore__EString2Prim('defaultValueLiteral', source.defaultValueLiteral)).including(thisModule.DTecore__EJavaObject2Prim('defaultValue', source.defaultValue)).including(thisModule.DTecore__EBoolean2Prim('unsettable', source.unsettable)).including(thisModule.DTecore__EBoolean2Prim('derived', source.derived)).including(thisModule.DTecore__EBoolean2Prim('containment', source.containment)).including(thisModule.DTecore__EBoolean2Prim('container', source.container)).including(thisModule.DTecore__EBoolean2Prim('resolveProxies', source.resolveProxies)).union(source.eAnnotations->collect(it | thisModule.ReferenceToLink('eAnnotations', it))).including(thisModule.ReferenceToLink('eType', source.eType)).including(thisModule.ReferenceToLink('eGenericType', source.eGenericType)).including(thisModule.ReferenceToLink('eContainingClass', source.eContainingClass)).including(thisModule.ReferenceToLink('eOpposite', source.eOpposite)).including(thisModule.ReferenceToLink('eReferenceType', source.eReferenceType)).union(source.eKeys->collect(it | thisModule.ReferenceToLink('eKeys', it))) + ) +} + +lazy rule DTecore__ECharacterObject2Prim { + from + attrName : String, + source : IN!"ecore::ECharacterObject" in MM + to + prim : OUT!Primitive ( + name <- attrName, + className <- 'ecore::ECharacterObject' + ) +} + +rule CLface__datamodel__logical__IntegerConstraint2Complex { + from + source : IN!"face::datamodel::logical::IntegerConstraint" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::IntegerConstraint")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::datamodel::logical::IntegerConstraint', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)) + ) +} + +rule CLface__datamodel__platform__Entity2Complex { + from + source : IN!"face::datamodel::platform::Entity" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::Entity")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::datamodel::platform::Entity', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)).union(source.traceabilityPoint->collect(it | thisModule.ReferenceToLink('traceabilityPoint', it))).union(source.composition->collect(it | thisModule.ReferenceToLink('composition', it))).including(thisModule.ReferenceToLink('realizes', source.realizes)).including(thisModule.ReferenceToLink('specializes', source.specializes)) + ) +} + +rule CLface__datamodel__platform__Char2Complex { + from + source : IN!"face::datamodel::platform::Char" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::Char")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::datamodel::platform::Char', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)).including(thisModule.ReferenceToLink('realizes', source.realizes)) + ) +} + +rule CLface__datamodel__logical__MeasurementSystem2Complex { + from + source : IN!"face::datamodel::logical::MeasurementSystem" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::MeasurementSystem")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::datamodel::logical::MeasurementSystem', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)).including(thisModule.DTecore__EString2Prim('externalStandardReference', source.externalStandardReference)).including(thisModule.DTecore__EString2Prim('orientation', source.orientation)).union(source.measurementSystemAxis->collect(it | thisModule.ReferenceToLink('measurementSystemAxis', it))).including(thisModule.ReferenceToLink('coordinateSystem', source.coordinateSystem)).union(source.referencePoint->collect(it | thisModule.ReferenceToLink('referencePoint', it))).union(source.constraint->collect(it | thisModule.ReferenceToLink('constraint', it))) + ) +} + +lazy rule DTecore__EDate2Prim { + from + attrName : String, + source : IN!"ecore::EDate" in MM + to + prim : OUT!Primitive ( + name <- attrName, + className <- 'ecore::EDate' + ) +} + +rule CLecore__EStructuralFeature2Complex { + from + source : IN!"ecore::EStructuralFeature" in MM (source.oclIsTypeOf(IN!"ecore::EStructuralFeature")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'ecore::EStructuralFeature', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EBoolean2Prim('ordered', source.ordered)).including(thisModule.DTecore__EBoolean2Prim('unique', source.unique)).including(thisModule.DTecore__EInt2Prim('lowerBound', source.lowerBound)).including(thisModule.DTecore__EInt2Prim('upperBound', source.upperBound)).including(thisModule.DTecore__EBoolean2Prim('many', source.many)).including(thisModule.DTecore__EBoolean2Prim('required', source.required)).including(thisModule.DTecore__EBoolean2Prim('changeable', source.changeable)).including(thisModule.DTecore__EBoolean2Prim('volatile', source.volatile)).including(thisModule.DTecore__EBoolean2Prim('transient', source.transient)).including(thisModule.DTecore__EString2Prim('defaultValueLiteral', source.defaultValueLiteral)).including(thisModule.DTecore__EJavaObject2Prim('defaultValue', source.defaultValue)).including(thisModule.DTecore__EBoolean2Prim('unsettable', source.unsettable)).including(thisModule.DTecore__EBoolean2Prim('derived', source.derived)).union(source.eAnnotations->collect(it | thisModule.ReferenceToLink('eAnnotations', it))).including(thisModule.ReferenceToLink('eType', source.eType)).including(thisModule.ReferenceToLink('eGenericType', source.eGenericType)).including(thisModule.ReferenceToLink('eContainingClass', source.eContainingClass)) + ) +} + +lazy rule DTecore__EInt2Prim { + from + attrName : String, + source : IN!"ecore::EInt" in MM + to + prim : OUT!Primitive ( + name <- attrName, + className <- 'ecore::EInt' + ) +} + +rule CLface__integration__IntegrationContext2Complex { + from + source : IN!"face::integration::IntegrationContext" in MM (source.oclIsTypeOf(IN!"face::integration::IntegrationContext")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::integration::IntegrationContext', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)).union(source.connection->collect(it | thisModule.ReferenceToLink('connection', it))).union(source.node->collect(it | thisModule.ReferenceToLink('node', it))) + ) +} + +rule CLface__integration__ViewTransporter2Complex { + from + source : IN!"face::integration::ViewTransporter" in MM (source.oclIsTypeOf(IN!"face::integration::ViewTransporter")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::integration::ViewTransporter', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)).including(thisModule.ReferenceToLink('outPort', source.outPort)).including(thisModule.ReferenceToLink('inPort', source.inPort)).including(thisModule.ReferenceToLink('channel', source.channel)) + ) +} + +rule CLface__datamodel__conceptual__Observable2Complex { + from + source : IN!"face::datamodel::conceptual::Observable" in MM (source.oclIsTypeOf(IN!"face::datamodel::conceptual::Observable")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::datamodel::conceptual::Observable', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)) + ) +} + +rule CLface__datamodel__logical__MeasurementAxis2Complex { + from + source : IN!"face::datamodel::logical::MeasurementAxis" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::MeasurementAxis")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::datamodel::logical::MeasurementAxis', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)).union(source.valueTypeUnit->collect(it | thisModule.ReferenceToLink('valueTypeUnit', it))).including(thisModule.ReferenceToLink('measurementSystemAxis', source.measurementSystemAxis)).union(source.constraint->collect(it | thisModule.ReferenceToLink('constraint', it))).including(thisModule.ReferenceToLink('realizes', source.realizes)) + ) +} + +rule CLface__datamodel__platform__Octet2Complex { + from + source : IN!"face::datamodel::platform::Octet" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::Octet")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::datamodel::platform::Octet', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)).including(thisModule.ReferenceToLink('realizes', source.realizes)) + ) +} + +lazy rule DTecore__EString2Prim { + from + attrName : String, + source : IN!"ecore::EString" in MM + to + prim : OUT!Primitive ( + name <- attrName, + className <- 'ecore::EString' + ) +} + +rule CLface__datamodel__conceptual__ComposableElement2Complex { + from + source : IN!"face::datamodel::conceptual::ComposableElement" in MM (source.oclIsTypeOf(IN!"face::datamodel::conceptual::ComposableElement")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::datamodel::conceptual::ComposableElement', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)) + ) +} + +rule CLface__integration__TransportNode2Complex { + from + source : IN!"face::integration::TransportNode" in MM (source.oclIsTypeOf(IN!"face::integration::TransportNode")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::integration::TransportNode', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)).including(thisModule.ReferenceToLink('outPort', source.outPort)).including(thisModule.ReferenceToLink('inPort', source.inPort)) + ) +} + +rule CLface__datamodel__platform__Participant2Complex { + from + source : IN!"face::datamodel::platform::Participant" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::Participant")) + to + prim : OUT!Complex ( + reference <- source, + name <- 'NoName', + className <- 'face::datamodel::platform::Participant', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('rolename', source.rolename)).including(thisModule.DTecore__EInt2Prim('upperBound', source.upperBound)).including(thisModule.DTecore__EInt2Prim('lowerBound', source.lowerBound)).including(thisModule.DTecore__EString2Prim('description', source.description)).including(thisModule.DTecore__EInt2Prim('sourceLowerBound', source.sourceLowerBound)).including(thisModule.DTecore__EInt2Prim('sourceUpperBound', source.sourceUpperBound)).including(thisModule.ReferenceToLink('specializes', source.specializes)).including(thisModule.ReferenceToLink('type', source.type)).including(thisModule.ReferenceToLink('realizes', source.realizes)).including(thisModule.ReferenceToLink('path', source.path)) + ) +} + +rule CLface__uop__SingleInstanceMessageConnection2Complex { + from + source : IN!"face::uop::SingleInstanceMessageConnection" in MM (source.oclIsTypeOf(IN!"face::uop::SingleInstanceMessageConnection")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::uop::SingleInstanceMessageConnection', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)).including(thisModule.DTecore__EFloat2Prim('period', source.period)).including(thisModule.DTface__uop__SynchronizationStyle2Prim('synchronizationStyle', source.synchronizationStyle)).including(thisModule.DTface__uop__MessageExchangeType2Prim('messageExchangeType', source.messageExchangeType)).union(source.traceabilityPoint->collect(it | thisModule.ReferenceToLink('traceabilityPoint', it))).including(thisModule.ReferenceToLink('realizes', source.realizes)).including(thisModule.ReferenceToLink('messageType', source.messageType)) + ) +} + +rule CLface__datamodel__logical__Natural2Complex { + from + source : IN!"face::datamodel::logical::Natural" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::Natural")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::datamodel::logical::Natural', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)) + ) +} + +lazy rule DTecore__EDouble2Prim { + from + attrName : String, + source : IN!"ecore::EDouble" in MM + to + prim : OUT!Primitive ( + name <- attrName, + className <- 'ecore::EDouble' + ) +} + +rule CLface__datamodel__platform__PhysicalDataType2Complex { + from + source : IN!"face::datamodel::platform::PhysicalDataType" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::PhysicalDataType")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::datamodel::platform::PhysicalDataType', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)) + ) +} + +rule CLface__integration__UoPOutputEndPoint2Complex { + from + source : IN!"face::integration::UoPOutputEndPoint" in MM (source.oclIsTypeOf(IN!"face::integration::UoPOutputEndPoint")) + to + prim : OUT!Complex ( + reference <- source, + name <- 'NoName', + className <- 'face::integration::UoPOutputEndPoint', + primitives <- Set{}.including(thisModule.ReferenceToLink('connection', source.connection)) + ) +} + +rule CLface__datamodel__conceptual__CharacteristicPathNode2Complex { + from + source : IN!"face::datamodel::conceptual::CharacteristicPathNode" in MM (source.oclIsTypeOf(IN!"face::datamodel::conceptual::CharacteristicPathNode")) + to + prim : OUT!Complex ( + reference <- source, + name <- 'NoName', + className <- 'face::datamodel::conceptual::CharacteristicPathNode', + primitives <- Set{}.including(thisModule.ReferenceToLink('node', source.node)).including(thisModule.ReferenceToLink('projectedCharacteristic', source.projectedCharacteristic)) + ) +} + +lazy rule DTface__uop__DesignAssuranceStandard2Prim { + from + attrName : String, + source : IN!"face::uop::DesignAssuranceStandard" in MM + to + prim : OUT!Primitive ( + name <- attrName, + className <- 'face::uop::DesignAssuranceStandard' + ) +} + +lazy rule DTecore__EJavaObject2Prim { + from + attrName : String, + source : IN!"ecore::EJavaObject" in MM + to + prim : OUT!Primitive ( + name <- attrName, + className <- 'ecore::EJavaObject' + ) +} + +rule CLface__datamodel__platform__IDLUnsignedInteger2Complex { + from + source : IN!"face::datamodel::platform::IDLUnsignedInteger" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::IDLUnsignedInteger")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::datamodel::platform::IDLUnsignedInteger', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)).including(thisModule.ReferenceToLink('realizes', source.realizes)) + ) +} + +rule CLface__Element2Complex { + from + source : IN!"face::Element" in MM (source.oclIsTypeOf(IN!"face::Element")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::Element', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)) + ) +} + +rule CLface__datamodel__logical__Query2Complex { + from + source : IN!"face::datamodel::logical::Query" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::Query")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::datamodel::logical::Query', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)).including(thisModule.DTecore__EString2Prim('specification', source.specification)).union(source.traceabilityPoint->collect(it | thisModule.ReferenceToLink('traceabilityPoint', it))).including(thisModule.ReferenceToLink('realizes', source.realizes)) + ) +} + +rule CLface__integration__ViewSink2Complex { + from + source : IN!"face::integration::ViewSink" in MM (source.oclIsTypeOf(IN!"face::integration::ViewSink")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::integration::ViewSink', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)).including(thisModule.ReferenceToLink('outPort', source.outPort)).including(thisModule.ReferenceToLink('inPort', source.inPort)) + ) +} + +rule CLface__datamodel__platform__ULongLong2Complex { + from + source : IN!"face::datamodel::platform::ULongLong" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::ULongLong")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::datamodel::platform::ULongLong', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)).including(thisModule.ReferenceToLink('realizes', source.realizes)) + ) +} + +rule CLface__datamodel__platform__String2Complex { + from + source : IN!"face::datamodel::platform::String" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::String")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::datamodel::platform::String', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)).including(thisModule.ReferenceToLink('realizes', source.realizes)) + ) +} + +rule CLface__integration__TSNodeOutputPort2Complex { + from + source : IN!"face::integration::TSNodeOutputPort" in MM (source.oclIsTypeOf(IN!"face::integration::TSNodeOutputPort")) + to + prim : OUT!Complex ( + reference <- source, + name <- 'NoName', + className <- 'face::integration::TSNodeOutputPort', + primitives <- Set{}.including(thisModule.ReferenceToLink('view', source.view)) + ) +} + +lazy rule DTecore__EFeatureMap2Prim { + from + attrName : String, + source : IN!"ecore::EFeatureMap" in MM + to + prim : OUT!Primitive ( + name <- attrName, + className <- 'ecore::EFeatureMap' + ) +} + +rule CLface__datamodel__platform__Characteristic2Complex { + from + source : IN!"face::datamodel::platform::Characteristic" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::Characteristic")) + to + prim : OUT!Complex ( + reference <- source, + name <- 'NoName', + className <- 'face::datamodel::platform::Characteristic', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('rolename', source.rolename)).including(thisModule.DTecore__EInt2Prim('upperBound', source.upperBound)).including(thisModule.DTecore__EInt2Prim('lowerBound', source.lowerBound)).including(thisModule.DTecore__EString2Prim('description', source.description)).including(thisModule.ReferenceToLink('specializes', source.specializes)) + ) +} + +rule CLface__datamodel__logical__MeasurementSystemAxis2Complex { + from + source : IN!"face::datamodel::logical::MeasurementSystemAxis" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::MeasurementSystemAxis")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::datamodel::logical::MeasurementSystemAxis', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)).including(thisModule.ReferenceToLink('axis', source.axis)).union(source.defaultValueTypeUnit->collect(it | thisModule.ReferenceToLink('defaultValueTypeUnit', it))).union(source.constraint->collect(it | thisModule.ReferenceToLink('constraint', it))) + ) +} + +rule CLface__datamodel__Element2Complex { + from + source : IN!"face::datamodel::Element" in MM (source.oclIsTypeOf(IN!"face::datamodel::Element")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::datamodel::Element', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)) + ) +} + +rule CLface__datamodel__platform__CharacteristicPathNode2Complex { + from + source : IN!"face::datamodel::platform::CharacteristicPathNode" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::CharacteristicPathNode")) + to + prim : OUT!Complex ( + reference <- source, + name <- 'NoName', + className <- 'face::datamodel::platform::CharacteristicPathNode', + primitives <- Set{}.including(thisModule.ReferenceToLink('node', source.node)).including(thisModule.ReferenceToLink('projectedCharacteristic', source.projectedCharacteristic)) + ) +} + +rule CLface__datamodel__conceptual__QueryComposition2Complex { + from + source : IN!"face::datamodel::conceptual::QueryComposition" in MM (source.oclIsTypeOf(IN!"face::datamodel::conceptual::QueryComposition")) + to + prim : OUT!Complex ( + reference <- source, + name <- 'NoName', + className <- 'face::datamodel::conceptual::QueryComposition', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('rolename', source.rolename)).including(thisModule.ReferenceToLink('type', source.type)) + ) +} + +lazy rule DTecore__EFloatObject2Prim { + from + attrName : String, + source : IN!"ecore::EFloatObject" in MM + to + prim : OUT!Primitive ( + name <- attrName, + className <- 'ecore::EFloatObject' + ) +} + +lazy rule DTface__uop__FaceProfile2Prim { + from + attrName : String, + source : IN!"face::uop::FaceProfile" in MM + to + prim : OUT!Primitive ( + name <- attrName, + className <- 'face::uop::FaceProfile' + ) +} + +rule CLface__datamodel__logical__Unit2Complex { + from + source : IN!"face::datamodel::logical::Unit" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::Unit")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::datamodel::logical::Unit', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)) + ) +} + +rule CLface__datamodel__logical__Conversion2Complex { + from + source : IN!"face::datamodel::logical::Conversion" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::Conversion")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::datamodel::logical::Conversion', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)).including(thisModule.ReferenceToLink('destination', source.destination)).including(thisModule.ReferenceToLink('source', source.source)) + ) +} + +rule CLface__integration__ViewSource2Complex { + from + source : IN!"face::integration::ViewSource" in MM (source.oclIsTypeOf(IN!"face::integration::ViewSource")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::integration::ViewSource', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)).including(thisModule.ReferenceToLink('outPort', source.outPort)).including(thisModule.ReferenceToLink('inPort', source.inPort)) + ) +} + +lazy rule DTecore__EResource2Prim { + from + attrName : String, + source : IN!"ecore::EResource" in MM + to + prim : OUT!Primitive ( + name <- attrName, + className <- 'ecore::EResource' + ) +} + +rule CLecore__EObject2Complex { + from + source : IN!"ecore::EObject" in MM (source.oclIsTypeOf(IN!"ecore::EObject")) + to + prim : OUT!Complex ( + reference <- source, + name <- 'NoName', + className <- 'ecore::EObject', + primitives <- Set{} + ) +} + +rule CLface__datamodel__conceptual__BasisElement2Complex { + from + source : IN!"face::datamodel::conceptual::BasisElement" in MM (source.oclIsTypeOf(IN!"face::datamodel::conceptual::BasisElement")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::datamodel::conceptual::BasisElement', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)) + ) +} + +lazy rule DTecore__EIntegerObject2Prim { + from + attrName : String, + source : IN!"ecore::EIntegerObject" in MM + to + prim : OUT!Primitive ( + name <- attrName, + className <- 'ecore::EIntegerObject' + ) +} + +rule CLface__datamodel__logical__FixedLengthStringConstraint2Complex { + from + source : IN!"face::datamodel::logical::FixedLengthStringConstraint" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::FixedLengthStringConstraint")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::datamodel::logical::FixedLengthStringConstraint', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)).including(thisModule.DTecore__EInt2Prim('length', source.length)) + ) +} + +lazy rule DTface__uop__DesignAssuranceLevel2Prim { + from + attrName : String, + source : IN!"face::uop::DesignAssuranceLevel" in MM + to + prim : OUT!Primitive ( + name <- attrName, + className <- 'face::uop::DesignAssuranceLevel' + ) +} + +rule CLface__uop__UoPModel2Complex { + from + source : IN!"face::uop::UoPModel" in MM (source.oclIsTypeOf(IN!"face::uop::UoPModel")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::uop::UoPModel', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)).union(source.element->collect(it | thisModule.ReferenceToLink('element', it))).union(source.um->collect(it | thisModule.ReferenceToLink('um', it))) + ) +} + +rule CLface__datamodel__platform__IDLStruct2Complex { + from + source : IN!"face::datamodel::platform::IDLStruct" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::IDLStruct")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::datamodel::platform::IDLStruct', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)).including(thisModule.ReferenceToLink('realizes', source.realizes)).union(source.composition->collect(it | thisModule.ReferenceToLink('composition', it))) + ) +} + +rule CLface__datamodel__platform__Element2Complex { + from + source : IN!"face::datamodel::platform::Element" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::Element")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::datamodel::platform::Element', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)) + ) +} + +lazy rule DTecore__EByteArray2Prim { + from + attrName : String, + source : IN!"ecore::EByteArray" in MM + to + prim : OUT!Primitive ( + name <- attrName, + className <- 'ecore::EByteArray' + ) +} + +lazy rule DTface__uop__MessageExchangeType2Prim { + from + attrName : String, + source : IN!"face::uop::MessageExchangeType" in MM + to + prim : OUT!Primitive ( + name <- attrName, + className <- 'face::uop::MessageExchangeType' + ) +} + +lazy rule DTecore__EBigDecimal2Prim { + from + attrName : String, + source : IN!"ecore::EBigDecimal" in MM + to + prim : OUT!Primitive ( + name <- attrName, + className <- 'ecore::EBigDecimal' + ) +} + +rule CLecore__EAttribute2Complex { + from + source : IN!"ecore::EAttribute" in MM (source.oclIsTypeOf(IN!"ecore::EAttribute")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'ecore::EAttribute', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EBoolean2Prim('ordered', source.ordered)).including(thisModule.DTecore__EBoolean2Prim('unique', source.unique)).including(thisModule.DTecore__EInt2Prim('lowerBound', source.lowerBound)).including(thisModule.DTecore__EInt2Prim('upperBound', source.upperBound)).including(thisModule.DTecore__EBoolean2Prim('many', source.many)).including(thisModule.DTecore__EBoolean2Prim('required', source.required)).including(thisModule.DTecore__EBoolean2Prim('changeable', source.changeable)).including(thisModule.DTecore__EBoolean2Prim('volatile', source.volatile)).including(thisModule.DTecore__EBoolean2Prim('transient', source.transient)).including(thisModule.DTecore__EString2Prim('defaultValueLiteral', source.defaultValueLiteral)).including(thisModule.DTecore__EJavaObject2Prim('defaultValue', source.defaultValue)).including(thisModule.DTecore__EBoolean2Prim('unsettable', source.unsettable)).including(thisModule.DTecore__EBoolean2Prim('derived', source.derived)).including(thisModule.DTecore__EBoolean2Prim('iD', source.iD)).union(source.eAnnotations->collect(it | thisModule.ReferenceToLink('eAnnotations', it))).including(thisModule.ReferenceToLink('eType', source.eType)).including(thisModule.ReferenceToLink('eGenericType', source.eGenericType)).including(thisModule.ReferenceToLink('eContainingClass', source.eContainingClass)).including(thisModule.ReferenceToLink('eAttributeType', source.eAttributeType)) + ) +} + +rule CLface__datamodel__platform__Query2Complex { + from + source : IN!"face::datamodel::platform::Query" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::Query")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::datamodel::platform::Query', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)).including(thisModule.DTecore__EString2Prim('specification', source.specification)).union(source.traceabilityPoint->collect(it | thisModule.ReferenceToLink('traceabilityPoint', it))).including(thisModule.ReferenceToLink('realizes', source.realizes)) + ) +} + +rule CLface__uop__AbstractConnection2Complex { + from + source : IN!"face::uop::AbstractConnection" in MM (source.oclIsTypeOf(IN!"face::uop::AbstractConnection")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::uop::AbstractConnection', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)).union(source.traceabilityPoint->collect(it | thisModule.ReferenceToLink('traceabilityPoint', it))).including(thisModule.ReferenceToLink('conceptualView', source.conceptualView)).including(thisModule.ReferenceToLink('logicalView', source.logicalView)) + ) +} + +lazy rule DTecore__EByteObject2Prim { + from + attrName : String, + source : IN!"ecore::EByteObject" in MM + to + prim : OUT!Primitive ( + name <- attrName, + className <- 'ecore::EByteObject' + ) +} + +rule CLface__datamodel__logical__Enumerated2Complex { + from + source : IN!"face::datamodel::logical::Enumerated" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::Enumerated")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::datamodel::logical::Enumerated', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)).including(thisModule.DTecore__EString2Prim('standardReference', source.standardReference)).union(source.label->collect(it | thisModule.ReferenceToLink('label', it))) + ) +} + +rule CLface__datamodel__platform__IDLBoundedString2Complex { + from + source : IN!"face::datamodel::platform::IDLBoundedString" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::IDLBoundedString")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::datamodel::platform::IDLBoundedString', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)).including(thisModule.DTecore__EInt2Prim('maxLength', source.maxLength)).including(thisModule.ReferenceToLink('realizes', source.realizes)) + ) +} + +rule CLface__datamodel__logical__ValueTypeUnit2Complex { + from + source : IN!"face::datamodel::logical::ValueTypeUnit" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::ValueTypeUnit")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::datamodel::logical::ValueTypeUnit', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)).including(thisModule.ReferenceToLink('unit', source.unit)).including(thisModule.ReferenceToLink('valueType', source.valueType)).including(thisModule.ReferenceToLink('constraint', source.constraint)) + ) +} + +rule CLface__datamodel__logical__Entity2Complex { + from + source : IN!"face::datamodel::logical::Entity" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::Entity")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::datamodel::logical::Entity', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)).union(source.traceabilityPoint->collect(it | thisModule.ReferenceToLink('traceabilityPoint', it))).union(source.composition->collect(it | thisModule.ReferenceToLink('composition', it))).including(thisModule.ReferenceToLink('realizes', source.realizes)).including(thisModule.ReferenceToLink('specializes', source.specializes)) + ) +} + +rule CLface__datamodel__conceptual__ParticipantPathNode2Complex { + from + source : IN!"face::datamodel::conceptual::ParticipantPathNode" in MM (source.oclIsTypeOf(IN!"face::datamodel::conceptual::ParticipantPathNode")) + to + prim : OUT!Complex ( + reference <- source, + name <- 'NoName', + className <- 'face::datamodel::conceptual::ParticipantPathNode', + primitives <- Set{}.including(thisModule.ReferenceToLink('node', source.node)).including(thisModule.ReferenceToLink('projectedParticipant', source.projectedParticipant)) + ) +} + +rule CLface__datamodel__logical__Character2Complex { + from + source : IN!"face::datamodel::logical::Character" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::Character")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::datamodel::logical::Character', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)) + ) +} + +rule CLface__datamodel__conceptual__Element2Complex { + from + source : IN!"face::datamodel::conceptual::Element" in MM (source.oclIsTypeOf(IN!"face::datamodel::conceptual::Element")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::datamodel::conceptual::Element', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)) + ) +} + +rule CLface__uop__SupportingComponent2Complex { + from + source : IN!"face::uop::SupportingComponent" in MM (source.oclIsTypeOf(IN!"face::uop::SupportingComponent")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::uop::SupportingComponent', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)).including(thisModule.DTecore__EString2Prim('version', source.version)) + ) +} + +lazy rule DTface__uop__PartitionType2Prim { + from + attrName : String, + source : IN!"face::uop::PartitionType" in MM + to + prim : OUT!Primitive ( + name <- attrName, + className <- 'face::uop::PartitionType' + ) +} + +lazy rule DTecore__EChar2Prim { + from + attrName : String, + source : IN!"ecore::EChar" in MM + to + prim : OUT!Primitive ( + name <- attrName, + className <- 'ecore::EChar' + ) +} + +lazy rule DTecore__ELongObject2Prim { + from + attrName : String, + source : IN!"ecore::ELongObject" in MM + to + prim : OUT!Primitive ( + name <- attrName, + className <- 'ecore::ELongObject' + ) +} + +rule CLface__datamodel__logical__IntegerRangeConstraint2Complex { + from + source : IN!"face::datamodel::logical::IntegerRangeConstraint" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::IntegerRangeConstraint")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::datamodel::logical::IntegerRangeConstraint', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)).including(thisModule.DTecore__EInt2Prim('lowerBound', source.lowerBound)).including(thisModule.DTecore__EInt2Prim('upperBound', source.upperBound)) + ) +} + +rule CLecore__EClassifier2Complex { + from + source : IN!"ecore::EClassifier" in MM (source.oclIsTypeOf(IN!"ecore::EClassifier")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'ecore::EClassifier', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('instanceClassName', source.instanceClassName)).including(thisModule.DTecore__EJavaClass2Prim('instanceClass', source.instanceClass)).including(thisModule.DTecore__EJavaObject2Prim('defaultValue', source.defaultValue)).including(thisModule.DTecore__EString2Prim('instanceTypeName', source.instanceTypeName)).union(source.eAnnotations->collect(it | thisModule.ReferenceToLink('eAnnotations', it))).including(thisModule.ReferenceToLink('ePackage', source.ePackage)).union(source.eTypeParameters->collect(it | thisModule.ReferenceToLink('eTypeParameters', it))) + ) +} + +lazy rule DTecore__EBoolean2Prim { + from + attrName : String, + source : IN!"ecore::EBoolean" in MM + to + prim : OUT!Primitive ( + name <- attrName, + className <- 'ecore::EBoolean' + ) +} + +rule CLface__integration__ViewAggregation2Complex { + from + source : IN!"face::integration::ViewAggregation" in MM (source.oclIsTypeOf(IN!"face::integration::ViewAggregation")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::integration::ViewAggregation', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)).including(thisModule.ReferenceToLink('outPort', source.outPort)).including(thisModule.ReferenceToLink('inPort', source.inPort)) + ) +} + rule CLface__datamodel__logical__QueryComposition2Complex { from source : IN!"face::datamodel::logical::QueryComposition" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::QueryComposition")) to prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.add(thisModule.ReferenceToLink(source.realizes)).add(thisModule.ReferenceToLink(source.type)) + reference <- source, + name <- 'NoName', + className <- 'face::datamodel::logical::QueryComposition', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('rolename', source.rolename)).including(thisModule.ReferenceToLink('realizes', source.realizes)).including(thisModule.ReferenceToLink('type', source.type)) ) } -rule CLface__traceability__ConnectionTraceabilitySet2Complex { +rule CLface__datamodel__conceptual__Entity2Complex { from - source : IN!"face::traceability::ConnectionTraceabilitySet" in MM (source.oclIsTypeOf(IN!"face::traceability::ConnectionTraceabilitySet")) + source : IN!"face::datamodel::conceptual::Entity" in MM (source.oclIsTypeOf(IN!"face::datamodel::conceptual::Entity")) to prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.union(source.traceabilityPoint->collect(it | thisModule.ReferenceToLink(it))).union(source.connection->collect(it | thisModule.ReferenceToLink(it))).union(source.abstractConnection->collect(it | thisModule.ReferenceToLink(it))) + reference <- source, + name <- source.name, + className <- 'face::datamodel::conceptual::Entity', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)).union(source.traceabilityPoint->collect(it | thisModule.ReferenceToLink('traceabilityPoint', it))).union(source.composition->collect(it | thisModule.ReferenceToLink('composition', it))).including(thisModule.ReferenceToLink('specializes', source.specializes)).union(source.basisEntity->collect(it | thisModule.ReferenceToLink('basisEntity', it))) + ) +} + +rule CLface__uop__AbstractUoP2Complex { + from + source : IN!"face::uop::AbstractUoP" in MM (source.oclIsTypeOf(IN!"face::uop::AbstractUoP")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::uop::AbstractUoP', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)).union(source.traceabilityPoint->collect(it | thisModule.ReferenceToLink('traceabilityPoint', it))).union(source.connection->collect(it | thisModule.ReferenceToLink('connection', it))) + ) +} + +rule CLecore__EDataType2Complex { + from + source : IN!"ecore::EDataType" in MM (source.oclIsTypeOf(IN!"ecore::EDataType")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'ecore::EDataType', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('instanceClassName', source.instanceClassName)).including(thisModule.DTecore__EJavaClass2Prim('instanceClass', source.instanceClass)).including(thisModule.DTecore__EJavaObject2Prim('defaultValue', source.defaultValue)).including(thisModule.DTecore__EString2Prim('instanceTypeName', source.instanceTypeName)).including(thisModule.DTecore__EBoolean2Prim('serializable', source.serializable)).union(source.eAnnotations->collect(it | thisModule.ReferenceToLink('eAnnotations', it))).including(thisModule.ReferenceToLink('ePackage', source.ePackage)).union(source.eTypeParameters->collect(it | thisModule.ReferenceToLink('eTypeParameters', it))) + ) +} + +lazy rule DTecore__EFloat2Prim { + from + attrName : String, + source : IN!"ecore::EFloat" in MM + to + prim : OUT!Primitive ( + name <- attrName, + className <- 'ecore::EFloat' + ) +} + +rule CLface__datamodel__conceptual__Participant2Complex { + from + source : IN!"face::datamodel::conceptual::Participant" in MM (source.oclIsTypeOf(IN!"face::datamodel::conceptual::Participant")) + to + prim : OUT!Complex ( + reference <- source, + name <- 'NoName', + className <- 'face::datamodel::conceptual::Participant', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('rolename', source.rolename)).including(thisModule.DTecore__EInt2Prim('lowerBound', source.lowerBound)).including(thisModule.DTecore__EInt2Prim('upperBound', source.upperBound)).including(thisModule.DTecore__EString2Prim('description', source.description)).including(thisModule.DTecore__EInt2Prim('sourceLowerBound', source.sourceLowerBound)).including(thisModule.DTecore__EInt2Prim('sourceUpperBound', source.sourceUpperBound)).including(thisModule.ReferenceToLink('specializes', source.specializes)).including(thisModule.ReferenceToLink('type', source.type)).including(thisModule.ReferenceToLink('path', source.path)) + ) +} + +rule CLface__datamodel__logical__View2Complex { + from + source : IN!"face::datamodel::logical::View" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::View")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::datamodel::logical::View', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)).union(source.traceabilityPoint->collect(it | thisModule.ReferenceToLink('traceabilityPoint', it))) + ) +} + +rule CLface__integration__TSNodePort2Complex { + from + source : IN!"face::integration::TSNodePort" in MM (source.oclIsTypeOf(IN!"face::integration::TSNodePort")) + to + prim : OUT!Complex ( + reference <- source, + name <- 'NoName', + className <- 'face::integration::TSNodePort', + primitives <- Set{}.including(thisModule.ReferenceToLink('view', source.view)) + ) +} + +lazy rule DTecore__EBigInteger2Prim { + from + attrName : String, + source : IN!"ecore::EBigInteger" in MM + to + prim : OUT!Primitive ( + name <- attrName, + className <- 'ecore::EBigInteger' ) } @@ -1778,8 +1264,473 @@ rule CLface__datamodel__conceptual__PathNode2Complex { source : IN!"face::datamodel::conceptual::PathNode" in MM (source.oclIsTypeOf(IN!"face::datamodel::conceptual::PathNode")) to prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.add(thisModule.ReferenceToLink(source.node)) + reference <- source, + name <- 'NoName', + className <- 'face::datamodel::conceptual::PathNode', + primitives <- Set{}.including(thisModule.ReferenceToLink('node', source.node)) + ) +} + +lazy rule DTface__uop__SynchronizationStyle2Prim { + from + attrName : String, + source : IN!"face::uop::SynchronizationStyle" in MM + to + prim : OUT!Primitive ( + name <- attrName, + className <- 'face::uop::SynchronizationStyle' + ) +} + +rule CLface__datamodel__logical__MeasurementSystemConversion2Complex { + from + source : IN!"face::datamodel::logical::MeasurementSystemConversion" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::MeasurementSystemConversion")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::datamodel::logical::MeasurementSystemConversion', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)).union(source.equation->collect(it | thisModule.DTecore__EString2Prim('equation', it))).including(thisModule.DTecore__EString2Prim('conversionLossDescription', source.conversionLossDescription)).including(thisModule.ReferenceToLink('source', source.source)).including(thisModule.ReferenceToLink('target', source.target)) + ) +} + +rule CLface__datamodel__logical__Boolean2Complex { + from + source : IN!"face::datamodel::logical::Boolean" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::Boolean")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::datamodel::logical::Boolean', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)) + ) +} + +rule CLface__integration__TSNodeInputPort2Complex { + from + source : IN!"face::integration::TSNodeInputPort" in MM (source.oclIsTypeOf(IN!"face::integration::TSNodeInputPort")) + to + prim : OUT!Complex ( + reference <- source, + name <- 'NoName', + className <- 'face::integration::TSNodeInputPort', + primitives <- Set{}.including(thisModule.ReferenceToLink('view', source.view)) + ) +} + +lazy rule DTecore__EShortObject2Prim { + from + attrName : String, + source : IN!"ecore::EShortObject" in MM + to + prim : OUT!Primitive ( + name <- attrName, + className <- 'ecore::EShortObject' + ) +} + +rule CLface__uop__QueuingConnection2Complex { + from + source : IN!"face::uop::QueuingConnection" in MM (source.oclIsTypeOf(IN!"face::uop::QueuingConnection")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::uop::QueuingConnection', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)).including(thisModule.DTecore__EFloat2Prim('period', source.period)).including(thisModule.DTface__uop__SynchronizationStyle2Prim('synchronizationStyle', source.synchronizationStyle)).including(thisModule.DTface__uop__MessageExchangeType2Prim('messageExchangeType', source.messageExchangeType)).including(thisModule.DTecore__EInt2Prim('depth', source.depth)).union(source.traceabilityPoint->collect(it | thisModule.ReferenceToLink('traceabilityPoint', it))).including(thisModule.ReferenceToLink('realizes', source.realizes)).including(thisModule.ReferenceToLink('messageType', source.messageType)) + ) +} + +rule CLecore__EGenericType2Complex { + from + source : IN!"ecore::EGenericType" in MM (source.oclIsTypeOf(IN!"ecore::EGenericType")) + to + prim : OUT!Complex ( + reference <- source, + name <- 'NoName', + className <- 'ecore::EGenericType', + primitives <- Set{}.including(thisModule.ReferenceToLink('eUpperBound', source.eUpperBound)).union(source.eTypeArguments->collect(it | thisModule.ReferenceToLink('eTypeArguments', it))).including(thisModule.ReferenceToLink('eRawType', source.eRawType)).including(thisModule.ReferenceToLink('eLowerBound', source.eLowerBound)).including(thisModule.ReferenceToLink('eTypeParameter', source.eTypeParameter)).including(thisModule.ReferenceToLink('eClassifier', source.eClassifier)) + ) +} + +lazy rule DTecore__EEList2Prim { + from + attrName : String, + source : IN!"ecore::EEList" in MM + to + prim : OUT!Primitive ( + name <- attrName, + className <- 'ecore::EEList' + ) +} + +rule CLface__datamodel__PlatformDataModel2Complex { + from + source : IN!"face::datamodel::PlatformDataModel" in MM (source.oclIsTypeOf(IN!"face::datamodel::PlatformDataModel")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::datamodel::PlatformDataModel', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)).union(source.element->collect(it | thisModule.ReferenceToLink('element', it))).union(source.pdm->collect(it | thisModule.ReferenceToLink('pdm', it))) + ) +} + +rule CLface__datamodel__platform__CharArray2Complex { + from + source : IN!"face::datamodel::platform::CharArray" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::CharArray")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::datamodel::platform::CharArray', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)).including(thisModule.DTecore__EInt2Prim('length', source.length)).including(thisModule.ReferenceToLink('realizes', source.realizes)) + ) +} + +rule CLface__uop__Connection2Complex { + from + source : IN!"face::uop::Connection" in MM (source.oclIsTypeOf(IN!"face::uop::Connection")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::uop::Connection', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)).including(thisModule.DTecore__EFloat2Prim('period', source.period)).including(thisModule.DTface__uop__SynchronizationStyle2Prim('synchronizationStyle', source.synchronizationStyle)).union(source.traceabilityPoint->collect(it | thisModule.ReferenceToLink('traceabilityPoint', it))).including(thisModule.ReferenceToLink('realizes', source.realizes)) + ) +} + +rule CLface__uop__PubSubConnection2Complex { + from + source : IN!"face::uop::PubSubConnection" in MM (source.oclIsTypeOf(IN!"face::uop::PubSubConnection")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::uop::PubSubConnection', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)).including(thisModule.DTecore__EFloat2Prim('period', source.period)).including(thisModule.DTface__uop__SynchronizationStyle2Prim('synchronizationStyle', source.synchronizationStyle)).including(thisModule.DTface__uop__MessageExchangeType2Prim('messageExchangeType', source.messageExchangeType)).union(source.traceabilityPoint->collect(it | thisModule.ReferenceToLink('traceabilityPoint', it))).including(thisModule.ReferenceToLink('realizes', source.realizes)).including(thisModule.ReferenceToLink('messageType', source.messageType)) + ) +} + +rule CLface__uop__RAMMemoryRequirements2Complex { + from + source : IN!"face::uop::RAMMemoryRequirements" in MM (source.oclIsTypeOf(IN!"face::uop::RAMMemoryRequirements")) + to + prim : OUT!Complex ( + reference <- source, + name <- 'NoName', + className <- 'face::uop::RAMMemoryRequirements', + primitives <- Set{}.including(thisModule.DTecore__EInt2Prim('heapStackMin', source.heapStackMin)).including(thisModule.DTecore__EInt2Prim('heapStackMax', source.heapStackMax)).including(thisModule.DTecore__EInt2Prim('heapStackTypical', source.heapStackTypical)).including(thisModule.DTecore__EInt2Prim('textMax', source.textMax)).including(thisModule.DTecore__EInt2Prim('roDataMax', source.roDataMax)).including(thisModule.DTecore__EInt2Prim('dataMax', source.dataMax)).including(thisModule.DTecore__EInt2Prim('bssMax', source.bssMax)) + ) +} + +rule CLface__datamodel__logical__Measurement2Complex { + from + source : IN!"face::datamodel::logical::Measurement" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::Measurement")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::datamodel::logical::Measurement', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)).union(source.constraint->collect(it | thisModule.ReferenceToLink('constraint', it))).union(source.measurementAxis->collect(it | thisModule.ReferenceToLink('measurementAxis', it))).including(thisModule.ReferenceToLink('measurementSystem', source.measurementSystem)).including(thisModule.ReferenceToLink('realizes', source.realizes)).union(source.attribute->collect(it | thisModule.ReferenceToLink('attribute', it))) + ) +} + +rule CLface__traceability__TraceabilityPoint2Complex { + from + source : IN!"face::traceability::TraceabilityPoint" in MM (source.oclIsTypeOf(IN!"face::traceability::TraceabilityPoint")) + to + prim : OUT!Complex ( + reference <- source, + name <- 'NoName', + className <- 'face::traceability::TraceabilityPoint', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('rationale', source.rationale)).including(thisModule.DTecore__EString2Prim('reference', source.reference)) + ) +} + +rule CLecore__EStringToStringMapEntry2Complex { + from + source : IN!"ecore::EStringToStringMapEntry" in MM (source.oclIsTypeOf(IN!"ecore::EStringToStringMapEntry")) + to + prim : OUT!Complex ( + reference <- source, + name <- 'NoName', + className <- 'ecore::EStringToStringMapEntry', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('key', source.key)).including(thisModule.DTecore__EString2Prim('value', source.value)) + ) +} + +rule CLface__datamodel__logical__Composition2Complex { + from + source : IN!"face::datamodel::logical::Composition" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::Composition")) + to + prim : OUT!Complex ( + reference <- source, + name <- 'NoName', + className <- 'face::datamodel::logical::Composition', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('rolename', source.rolename)).including(thisModule.DTecore__EInt2Prim('lowerBound', source.lowerBound)).including(thisModule.DTecore__EInt2Prim('upperBound', source.upperBound)).including(thisModule.DTecore__EString2Prim('description', source.description)).including(thisModule.ReferenceToLink('specializes', source.specializes)).including(thisModule.ReferenceToLink('type', source.type)).including(thisModule.ReferenceToLink('realizes', source.realizes)) + ) +} + +rule CLface__datamodel__platform__IDLComposition2Complex { + from + source : IN!"face::datamodel::platform::IDLComposition" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::IDLComposition")) + to + prim : OUT!Complex ( + reference <- source, + name <- 'NoName', + className <- 'face::datamodel::platform::IDLComposition', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('rolename', source.rolename)).including(thisModule.DTecore__EFloat2Prim('precision', source.precision)).including(thisModule.ReferenceToLink('type', source.type)).including(thisModule.ReferenceToLink('realizes', source.realizes)) + ) +} + +rule CLface__traceability__UoPTraceabilitySet2Complex { + from + source : IN!"face::traceability::UoPTraceabilitySet" in MM (source.oclIsTypeOf(IN!"face::traceability::UoPTraceabilitySet")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::traceability::UoPTraceabilitySet', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)).union(source.traceabilityPoint->collect(it | thisModule.ReferenceToLink('traceabilityPoint', it))).union(source.uop->collect(it | thisModule.ReferenceToLink('uop', it))).union(source.abstractUoP->collect(it | thisModule.ReferenceToLink('abstractUoP', it))) + ) +} + +rule CLecore__ETypedElement2Complex { + from + source : IN!"ecore::ETypedElement" in MM (source.oclIsTypeOf(IN!"ecore::ETypedElement")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'ecore::ETypedElement', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EBoolean2Prim('ordered', source.ordered)).including(thisModule.DTecore__EBoolean2Prim('unique', source.unique)).including(thisModule.DTecore__EInt2Prim('lowerBound', source.lowerBound)).including(thisModule.DTecore__EInt2Prim('upperBound', source.upperBound)).including(thisModule.DTecore__EBoolean2Prim('many', source.many)).including(thisModule.DTecore__EBoolean2Prim('required', source.required)).union(source.eAnnotations->collect(it | thisModule.ReferenceToLink('eAnnotations', it))).including(thisModule.ReferenceToLink('eType', source.eType)).including(thisModule.ReferenceToLink('eGenericType', source.eGenericType)) + ) +} + +rule CLface__datamodel__platform__IDLUnboundedString2Complex { + from + source : IN!"face::datamodel::platform::IDLUnboundedString" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::IDLUnboundedString")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::datamodel::platform::IDLUnboundedString', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)).including(thisModule.ReferenceToLink('realizes', source.realizes)) + ) +} + +rule CLface__datamodel__platform__LongDouble2Complex { + from + source : IN!"face::datamodel::platform::LongDouble" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::LongDouble")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::datamodel::platform::LongDouble', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)).including(thisModule.ReferenceToLink('realizes', source.realizes)) + ) +} + +rule CLface__datamodel__logical__ReferencePoint2Complex { + from + source : IN!"face::datamodel::logical::ReferencePoint" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::ReferencePoint")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::datamodel::logical::ReferencePoint', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)).union(source.referencePointPart->collect(it | thisModule.ReferenceToLink('referencePointPart', it))).including(thisModule.ReferenceToLink('landmark', source.landmark)) + ) +} + +rule CLface__datamodel__logical__MeasurementConversion2Complex { + from + source : IN!"face::datamodel::logical::MeasurementConversion" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::MeasurementConversion")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::datamodel::logical::MeasurementConversion', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)).union(source.equation->collect(it | thisModule.DTecore__EString2Prim('equation', it))).including(thisModule.DTecore__EString2Prim('conversionLossDescription', source.conversionLossDescription)).including(thisModule.ReferenceToLink('source', source.source)).including(thisModule.ReferenceToLink('target', source.target)) + ) +} + +rule CLface__datamodel__logical__ConvertibleElement2Complex { + from + source : IN!"face::datamodel::logical::ConvertibleElement" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::ConvertibleElement")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::datamodel::logical::ConvertibleElement', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)) + ) +} + +rule CLface__uop__PlatformSpecificComponent2Complex { + from + source : IN!"face::uop::PlatformSpecificComponent" in MM (source.oclIsTypeOf(IN!"face::uop::PlatformSpecificComponent")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::uop::PlatformSpecificComponent', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)).including(thisModule.DTface__uop__ProgrammingLanguage2Prim('transportAPILanguage', source.transportAPILanguage)).including(thisModule.DTface__uop__DesignAssuranceLevel2Prim('designAssuranceLevel', source.designAssuranceLevel)).including(thisModule.DTface__uop__PartitionType2Prim('partitionType', source.partitionType)).including(thisModule.DTface__uop__DesignAssuranceStandard2Prim('designAssuranceStandard', source.designAssuranceStandard)).including(thisModule.DTface__uop__FaceProfile2Prim('faceProfile', source.faceProfile)).union(source.traceabilityPoint->collect(it | thisModule.ReferenceToLink('traceabilityPoint', it))).union(source.supportingComponent->collect(it | thisModule.ReferenceToLink('supportingComponent', it))).union(source.thread->collect(it | thisModule.ReferenceToLink('thread', it))).including(thisModule.ReferenceToLink('memoryRequirements', source.memoryRequirements)).including(thisModule.ReferenceToLink('realizes', source.realizes)).union(source.connection->collect(it | thisModule.ReferenceToLink('connection', it))).union(source.lcmPort->collect(it | thisModule.ReferenceToLink('lcmPort', it))) + ) +} + +rule CLface__datamodel__platform__View2Complex { + from + source : IN!"face::datamodel::platform::View" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::View")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::datamodel::platform::View', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)).union(source.traceabilityPoint->collect(it | thisModule.ReferenceToLink('traceabilityPoint', it))) + ) +} + +rule CLface__datamodel__LogicalDataModel2Complex { + from + source : IN!"face::datamodel::LogicalDataModel" in MM (source.oclIsTypeOf(IN!"face::datamodel::LogicalDataModel")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::datamodel::LogicalDataModel', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)).union(source.element->collect(it | thisModule.ReferenceToLink('element', it))).union(source.ldm->collect(it | thisModule.ReferenceToLink('ldm', it))) + ) +} + +rule CLface__datamodel__logical__RegularExpressionConstraint2Complex { + from + source : IN!"face::datamodel::logical::RegularExpressionConstraint" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::RegularExpressionConstraint")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::datamodel::logical::RegularExpressionConstraint', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)).including(thisModule.DTecore__EString2Prim('expression', source.expression)) + ) +} + +rule CLface__datamodel__logical__MeasurementConstraint2Complex { + from + source : IN!"face::datamodel::logical::MeasurementConstraint" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::MeasurementConstraint")) + to + prim : OUT!Complex ( + reference <- source, + name <- 'NoName', + className <- 'face::datamodel::logical::MeasurementConstraint', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('constraintText', source.constraintText)) + ) +} + +rule CLface__datamodel__logical__Landmark2Complex { + from + source : IN!"face::datamodel::logical::Landmark" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::Landmark")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::datamodel::logical::Landmark', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)) + ) +} + +lazy rule DTecore__EInvocationTargetException2Prim { + from + attrName : String, + source : IN!"ecore::EInvocationTargetException" in MM + to + prim : OUT!Primitive ( + name <- attrName, + className <- 'ecore::EInvocationTargetException' + ) +} + +lazy rule DTecore__EByte2Prim { + from + attrName : String, + source : IN!"ecore::EByte" in MM + to + prim : OUT!Primitive ( + name <- attrName, + className <- 'ecore::EByte' + ) +} + +rule CLface__ArchitectureModel2Complex { + from + source : IN!"face::ArchitectureModel" in MM (source.oclIsTypeOf(IN!"face::ArchitectureModel")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::ArchitectureModel', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)).union(source.dm->collect(it | thisModule.ReferenceToLink('dm', it))).union(source.um->collect(it | thisModule.ReferenceToLink('um', it))).union(source.im->collect(it | thisModule.ReferenceToLink('im', it))).union(source.tm->collect(it | thisModule.ReferenceToLink('tm', it))) + ) +} + +rule CLface__datamodel__logical__Integer2Complex { + from + source : IN!"face::datamodel::logical::Integer" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::Integer")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::datamodel::logical::Integer', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)) + ) +} + +rule CLecore__EEnum2Complex { + from + source : IN!"ecore::EEnum" in MM (source.oclIsTypeOf(IN!"ecore::EEnum")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'ecore::EEnum', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('instanceClassName', source.instanceClassName)).including(thisModule.DTecore__EJavaClass2Prim('instanceClass', source.instanceClass)).including(thisModule.DTecore__EJavaObject2Prim('defaultValue', source.defaultValue)).including(thisModule.DTecore__EString2Prim('instanceTypeName', source.instanceTypeName)).including(thisModule.DTecore__EBoolean2Prim('serializable', source.serializable)).union(source.eAnnotations->collect(it | thisModule.ReferenceToLink('eAnnotations', it))).including(thisModule.ReferenceToLink('ePackage', source.ePackage)).union(source.eTypeParameters->collect(it | thisModule.ReferenceToLink('eTypeParameters', it))).union(source.eLiterals->collect(it | thisModule.ReferenceToLink('eLiterals', it))) + ) +} + +rule CLface__datamodel__platform__ComposableElement2Complex { + from + source : IN!"face::datamodel::platform::ComposableElement" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::ComposableElement")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::datamodel::platform::ComposableElement', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)) + ) +} + +rule CLface__uop__PortableComponent2Complex { + from + source : IN!"face::uop::PortableComponent" in MM (source.oclIsTypeOf(IN!"face::uop::PortableComponent")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::uop::PortableComponent', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)).including(thisModule.DTface__uop__ProgrammingLanguage2Prim('transportAPILanguage', source.transportAPILanguage)).including(thisModule.DTface__uop__DesignAssuranceLevel2Prim('designAssuranceLevel', source.designAssuranceLevel)).including(thisModule.DTface__uop__PartitionType2Prim('partitionType', source.partitionType)).including(thisModule.DTface__uop__DesignAssuranceStandard2Prim('designAssuranceStandard', source.designAssuranceStandard)).including(thisModule.DTface__uop__FaceProfile2Prim('faceProfile', source.faceProfile)).union(source.traceabilityPoint->collect(it | thisModule.ReferenceToLink('traceabilityPoint', it))).union(source.supportingComponent->collect(it | thisModule.ReferenceToLink('supportingComponent', it))).union(source.thread->collect(it | thisModule.ReferenceToLink('thread', it))).including(thisModule.ReferenceToLink('memoryRequirements', source.memoryRequirements)).including(thisModule.ReferenceToLink('realizes', source.realizes)).union(source.connection->collect(it | thisModule.ReferenceToLink('connection', it))).union(source.lcmPort->collect(it | thisModule.ReferenceToLink('lcmPort', it))) + ) +} + +rule CLface__datamodel__logical__NonNegativeReal2Complex { + from + source : IN!"face::datamodel::logical::NonNegativeReal" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::NonNegativeReal")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::datamodel::logical::NonNegativeReal', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)) ) } @@ -1788,8 +1739,746 @@ rule CLface__datamodel__platform__Long2Complex { source : IN!"face::datamodel::platform::Long" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::Long")) to prim : OUT!Complex ( - name <- source.toString(), - primitives <- Set{}.add(thisModule.ReferenceToLink(source.realizes)) + reference <- source, + name <- source.name, + className <- 'face::datamodel::platform::Long', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)).including(thisModule.ReferenceToLink('realizes', source.realizes)) + ) +} + +rule CLface__integration__ViewFilter2Complex { + from + source : IN!"face::integration::ViewFilter" in MM (source.oclIsTypeOf(IN!"face::integration::ViewFilter")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::integration::ViewFilter', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)).including(thisModule.ReferenceToLink('outPort', source.outPort)).including(thisModule.ReferenceToLink('inPort', source.inPort)) + ) +} + +rule CLecore__EEnumLiteral2Complex { + from + source : IN!"ecore::EEnumLiteral" in MM (source.oclIsTypeOf(IN!"ecore::EEnumLiteral")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'ecore::EEnumLiteral', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EInt2Prim('value', source.value)).including(thisModule.DTecore__EEnumerator2Prim('instance', source.instance)).including(thisModule.DTecore__EString2Prim('literal', source.literal)).union(source.eAnnotations->collect(it | thisModule.ReferenceToLink('eAnnotations', it))).including(thisModule.ReferenceToLink('eEnum', source.eEnum)) + ) +} + +rule CLface__datamodel__logical__Association2Complex { + from + source : IN!"face::datamodel::logical::Association" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::Association")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::datamodel::logical::Association', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)).union(source.traceabilityPoint->collect(it | thisModule.ReferenceToLink('traceabilityPoint', it))).union(source.composition->collect(it | thisModule.ReferenceToLink('composition', it))).including(thisModule.ReferenceToLink('realizes', source.realizes)).including(thisModule.ReferenceToLink('specializes', source.specializes)).union(source.participant->collect(it | thisModule.ReferenceToLink('participant', it))) + ) +} + +lazy rule DTecore__EShort2Prim { + from + attrName : String, + source : IN!"ecore::EShort" in MM + to + prim : OUT!Primitive ( + name <- attrName, + className <- 'ecore::EShort' + ) +} + +rule CLface__datamodel__logical__RealRangeConstraint2Complex { + from + source : IN!"face::datamodel::logical::RealRangeConstraint" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::RealRangeConstraint")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::datamodel::logical::RealRangeConstraint', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)).including(thisModule.DTecore__EFloat2Prim('lowerBound', source.lowerBound)).including(thisModule.DTecore__EFloat2Prim('upperBound', source.upperBound)).including(thisModule.DTecore__EBoolean2Prim('lowerBoundInclusive', source.lowerBoundInclusive)).including(thisModule.DTecore__EBoolean2Prim('upperBoundInclusive', source.upperBoundInclusive)) + ) +} + +rule CLface__datamodel__conceptual__Domain2Complex { + from + source : IN!"face::datamodel::conceptual::Domain" in MM (source.oclIsTypeOf(IN!"face::datamodel::conceptual::Domain")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::datamodel::conceptual::Domain', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)).union(source.basisEntity->collect(it | thisModule.ReferenceToLink('basisEntity', it))) + ) +} + +rule CLface__datamodel__logical__AffineConversion2Complex { + from + source : IN!"face::datamodel::logical::AffineConversion" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::AffineConversion")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::datamodel::logical::AffineConversion', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)).including(thisModule.DTecore__EFloat2Prim('conversionFactor', source.conversionFactor)).including(thisModule.DTecore__EFloat2Prim('offset', source.offset)).including(thisModule.ReferenceToLink('destination', source.destination)).including(thisModule.ReferenceToLink('source', source.source)) + ) +} + +rule CLface__uop__Thread2Complex { + from + source : IN!"face::uop::Thread" in MM (source.oclIsTypeOf(IN!"face::uop::Thread")) + to + prim : OUT!Complex ( + reference <- source, + name <- 'NoName', + className <- 'face::uop::Thread', + primitives <- Set{}.including(thisModule.DTecore__EFloat2Prim('period', source.period)).including(thisModule.DTecore__EFloat2Prim('timeCapacity', source.timeCapacity)).including(thisModule.DTecore__EInt2Prim('relativePriority', source.relativePriority)).including(thisModule.DTecore__EInt2Prim('relativeCoreAffinity', source.relativeCoreAffinity)).including(thisModule.DTface__uop__ThreadType2Prim('threadType', source.threadType)) + ) +} + +rule CLface__uop__LifeCycleManagementPort2Complex { + from + source : IN!"face::uop::LifeCycleManagementPort" in MM (source.oclIsTypeOf(IN!"face::uop::LifeCycleManagementPort")) + to + prim : OUT!Complex ( + reference <- source, + name <- 'NoName', + className <- 'face::uop::LifeCycleManagementPort', + primitives <- Set{}.including(thisModule.DTface__uop__MessageExchangeType2Prim('messageExchangeType', source.messageExchangeType)).including(thisModule.ReferenceToLink('lcmMessageType', source.lcmMessageType)) + ) +} + +lazy rule DTecore__EDiagnosticChain2Prim { + from + attrName : String, + source : IN!"ecore::EDiagnosticChain" in MM + to + prim : OUT!Primitive ( + name <- attrName, + className <- 'ecore::EDiagnosticChain' + ) +} + +rule CLface__datamodel__platform__TemplateComposition2Complex { + from + source : IN!"face::datamodel::platform::TemplateComposition" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::TemplateComposition")) + to + prim : OUT!Complex ( + reference <- source, + name <- 'NoName', + className <- 'face::datamodel::platform::TemplateComposition', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('rolename', source.rolename)).including(thisModule.ReferenceToLink('realizes', source.realizes)).including(thisModule.ReferenceToLink('type', source.type)) + ) +} + +rule CLface__datamodel__logical__Element2Complex { + from + source : IN!"face::datamodel::logical::Element" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::Element")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::datamodel::logical::Element', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)) + ) +} + +rule CLface__integration__ViewTransformation2Complex { + from + source : IN!"face::integration::ViewTransformation" in MM (source.oclIsTypeOf(IN!"face::integration::ViewTransformation")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::integration::ViewTransformation', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)).including(thisModule.ReferenceToLink('outPort', source.outPort)).including(thisModule.ReferenceToLink('inPort', source.inPort)) + ) +} + +rule CLface__datamodel__logical__StandardMeasurementSystem2Complex { + from + source : IN!"face::datamodel::logical::StandardMeasurementSystem" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::StandardMeasurementSystem")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::datamodel::logical::StandardMeasurementSystem', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)).including(thisModule.DTecore__EString2Prim('referenceStandard', source.referenceStandard)) + ) +} + +rule CLface__uop__ClientServerConnection2Complex { + from + source : IN!"face::uop::ClientServerConnection" in MM (source.oclIsTypeOf(IN!"face::uop::ClientServerConnection")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::uop::ClientServerConnection', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)).including(thisModule.DTecore__EFloat2Prim('period', source.period)).including(thisModule.DTface__uop__SynchronizationStyle2Prim('synchronizationStyle', source.synchronizationStyle)).including(thisModule.DTface__uop__ClientServerRole2Prim('role', source.role)).union(source.traceabilityPoint->collect(it | thisModule.ReferenceToLink('traceabilityPoint', it))).including(thisModule.ReferenceToLink('realizes', source.realizes)).including(thisModule.ReferenceToLink('requestType', source.requestType)).including(thisModule.ReferenceToLink('responseType', source.responseType)) + ) +} + +rule CLface__traceability__Element2Complex { + from + source : IN!"face::traceability::Element" in MM (source.oclIsTypeOf(IN!"face::traceability::Element")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::traceability::Element', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)) + ) +} + +rule CLface__datamodel__platform__BoundedString2Complex { + from + source : IN!"face::datamodel::platform::BoundedString" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::BoundedString")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::datamodel::platform::BoundedString', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)).including(thisModule.DTecore__EInt2Prim('maxLength', source.maxLength)).including(thisModule.ReferenceToLink('realizes', source.realizes)) + ) +} + +lazy rule DTecore__EMap2Prim { + from + attrName : String, + source : IN!"ecore::EMap" in MM + to + prim : OUT!Primitive ( + name <- attrName, + className <- 'ecore::EMap' + ) +} + +rule CLface__datamodel__platform__Template2Complex { + from + source : IN!"face::datamodel::platform::Template" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::Template")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::datamodel::platform::Template', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)).including(thisModule.DTecore__EString2Prim('specification', source.specification)).union(source.traceabilityPoint->collect(it | thisModule.ReferenceToLink('traceabilityPoint', it))).including(thisModule.ReferenceToLink('boundQuery', source.boundQuery)).including(thisModule.ReferenceToLink('effectiveQuery', source.effectiveQuery)) + ) +} + +lazy rule DTecore__ETreeIterator2Prim { + from + attrName : String, + source : IN!"ecore::ETreeIterator" in MM + to + prim : OUT!Primitive ( + name <- attrName, + className <- 'ecore::ETreeIterator' + ) +} + +rule CLface__datamodel__platform__StringType2Complex { + from + source : IN!"face::datamodel::platform::StringType" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::StringType")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::datamodel::platform::StringType', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)).including(thisModule.ReferenceToLink('realizes', source.realizes)) + ) +} + +rule CLface__datamodel__platform__Double2Complex { + from + source : IN!"face::datamodel::platform::Double" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::Double")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::datamodel::platform::Double', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)).including(thisModule.ReferenceToLink('realizes', source.realizes)) + ) +} + +rule CLface__datamodel__conceptual__BasisEntity2Complex { + from + source : IN!"face::datamodel::conceptual::BasisEntity" in MM (source.oclIsTypeOf(IN!"face::datamodel::conceptual::BasisEntity")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::datamodel::conceptual::BasisEntity', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)) + ) +} + +rule CLface__datamodel__conceptual__Association2Complex { + from + source : IN!"face::datamodel::conceptual::Association" in MM (source.oclIsTypeOf(IN!"face::datamodel::conceptual::Association")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::datamodel::conceptual::Association', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)).union(source.traceabilityPoint->collect(it | thisModule.ReferenceToLink('traceabilityPoint', it))).union(source.composition->collect(it | thisModule.ReferenceToLink('composition', it))).including(thisModule.ReferenceToLink('specializes', source.specializes)).union(source.basisEntity->collect(it | thisModule.ReferenceToLink('basisEntity', it))).union(source.participant->collect(it | thisModule.ReferenceToLink('participant', it))) + ) +} + +rule CLface__datamodel__platform__IDLSequence2Complex { + from + source : IN!"face::datamodel::platform::IDLSequence" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::IDLSequence")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::datamodel::platform::IDLSequence', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)).including(thisModule.DTecore__EInt2Prim('maxSize', source.maxSize)).including(thisModule.ReferenceToLink('realizes', source.realizes)) + ) +} + +rule CLface__datamodel__ConceptualDataModel2Complex { + from + source : IN!"face::datamodel::ConceptualDataModel" in MM (source.oclIsTypeOf(IN!"face::datamodel::ConceptualDataModel")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::datamodel::ConceptualDataModel', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)).union(source.element->collect(it | thisModule.ReferenceToLink('element', it))).union(source.cdm->collect(it | thisModule.ReferenceToLink('cdm', it))) + ) +} + +rule CLface__datamodel__platform__Boolean2Complex { + from + source : IN!"face::datamodel::platform::Boolean" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::Boolean")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::datamodel::platform::Boolean', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)).including(thisModule.ReferenceToLink('realizes', source.realizes)) + ) +} + +rule CLface__datamodel__platform__IDLArray2Complex { + from + source : IN!"face::datamodel::platform::IDLArray" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::IDLArray")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::datamodel::platform::IDLArray', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)).including(thisModule.DTecore__EInt2Prim('size', source.size)).including(thisModule.ReferenceToLink('realizes', source.realizes)) + ) +} + +rule CLface__datamodel__logical__ReferencePointPart2Complex { + from + source : IN!"face::datamodel::logical::ReferencePointPart" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::ReferencePointPart")) + to + prim : OUT!Complex ( + reference <- source, + name <- 'NoName', + className <- 'face::datamodel::logical::ReferencePointPart', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('value', source.value)).including(thisModule.ReferenceToLink('axis', source.axis)).including(thisModule.ReferenceToLink('valueTypeUnit', source.valueTypeUnit)) + ) +} + +rule CLecore__EFactory2Complex { + from + source : IN!"ecore::EFactory" in MM (source.oclIsTypeOf(IN!"ecore::EFactory")) + to + prim : OUT!Complex ( + reference <- source, + name <- 'NoName', + className <- 'ecore::EFactory', + primitives <- Set{}.union(source.eAnnotations->collect(it | thisModule.ReferenceToLink('eAnnotations', it))).including(thisModule.ReferenceToLink('ePackage', source.ePackage)) + ) +} + +rule CLface__datamodel__conceptual__Characteristic2Complex { + from + source : IN!"face::datamodel::conceptual::Characteristic" in MM (source.oclIsTypeOf(IN!"face::datamodel::conceptual::Characteristic")) + to + prim : OUT!Complex ( + reference <- source, + name <- 'NoName', + className <- 'face::datamodel::conceptual::Characteristic', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('rolename', source.rolename)).including(thisModule.DTecore__EInt2Prim('lowerBound', source.lowerBound)).including(thisModule.DTecore__EInt2Prim('upperBound', source.upperBound)).including(thisModule.DTecore__EString2Prim('description', source.description)).including(thisModule.ReferenceToLink('specializes', source.specializes)) + ) +} + +rule CLface__datamodel__conceptual__Query2Complex { + from + source : IN!"face::datamodel::conceptual::Query" in MM (source.oclIsTypeOf(IN!"face::datamodel::conceptual::Query")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::datamodel::conceptual::Query', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)).including(thisModule.DTecore__EString2Prim('specification', source.specification)).union(source.traceabilityPoint->collect(it | thisModule.ReferenceToLink('traceabilityPoint', it))) + ) +} + +rule CLface__datamodel__logical__RealConstraint2Complex { + from + source : IN!"face::datamodel::logical::RealConstraint" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::RealConstraint")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::datamodel::logical::RealConstraint', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)) + ) +} + +rule CLface__datamodel__platform__ULong2Complex { + from + source : IN!"face::datamodel::platform::ULong" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::ULong")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::datamodel::platform::ULong', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)).including(thisModule.ReferenceToLink('realizes', source.realizes)) + ) +} + +lazy rule DTecore__EJavaClass2Prim { + from + attrName : String, + source : IN!"ecore::EJavaClass" in MM + to + prim : OUT!Primitive ( + name <- attrName, + className <- 'ecore::EJavaClass' + ) +} + +rule CLface__datamodel__logical__ParticipantPathNode2Complex { + from + source : IN!"face::datamodel::logical::ParticipantPathNode" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::ParticipantPathNode")) + to + prim : OUT!Complex ( + reference <- source, + name <- 'NoName', + className <- 'face::datamodel::logical::ParticipantPathNode', + primitives <- Set{}.including(thisModule.ReferenceToLink('node', source.node)).including(thisModule.ReferenceToLink('projectedParticipant', source.projectedParticipant)) + ) +} + +rule CLecore__EParameter2Complex { + from + source : IN!"ecore::EParameter" in MM (source.oclIsTypeOf(IN!"ecore::EParameter")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'ecore::EParameter', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EBoolean2Prim('ordered', source.ordered)).including(thisModule.DTecore__EBoolean2Prim('unique', source.unique)).including(thisModule.DTecore__EInt2Prim('lowerBound', source.lowerBound)).including(thisModule.DTecore__EInt2Prim('upperBound', source.upperBound)).including(thisModule.DTecore__EBoolean2Prim('many', source.many)).including(thisModule.DTecore__EBoolean2Prim('required', source.required)).union(source.eAnnotations->collect(it | thisModule.ReferenceToLink('eAnnotations', it))).including(thisModule.ReferenceToLink('eType', source.eType)).including(thisModule.ReferenceToLink('eGenericType', source.eGenericType)).including(thisModule.ReferenceToLink('eOperation', source.eOperation)) + ) +} + +rule CLface__datamodel__logical__ValueType2Complex { + from + source : IN!"face::datamodel::logical::ValueType" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::ValueType")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::datamodel::logical::ValueType', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)) + ) +} + +rule CLface__datamodel__logical__Characteristic2Complex { + from + source : IN!"face::datamodel::logical::Characteristic" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::Characteristic")) + to + prim : OUT!Complex ( + reference <- source, + name <- 'NoName', + className <- 'face::datamodel::logical::Characteristic', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('rolename', source.rolename)).including(thisModule.DTecore__EInt2Prim('lowerBound', source.lowerBound)).including(thisModule.DTecore__EInt2Prim('upperBound', source.upperBound)).including(thisModule.DTecore__EString2Prim('description', source.description)).including(thisModule.ReferenceToLink('specializes', source.specializes)) + ) +} + +rule CLface__datamodel__logical__CoordinateSystem2Complex { + from + source : IN!"face::datamodel::logical::CoordinateSystem" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::CoordinateSystem")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::datamodel::logical::CoordinateSystem', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)).including(thisModule.DTecore__EString2Prim('axisRelationshipDescription', source.axisRelationshipDescription)).including(thisModule.DTecore__EString2Prim('angleEquation', source.angleEquation)).including(thisModule.DTecore__EString2Prim('distanceEquation', source.distanceEquation)).union(source.axis->collect(it | thisModule.ReferenceToLink('axis', it))) + ) +} + +rule CLface__uop__Element2Complex { + from + source : IN!"face::uop::Element" in MM (source.oclIsTypeOf(IN!"face::uop::Element")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::uop::Element', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)) + ) +} + +rule CLface__datamodel__logical__CharacteristicPathNode2Complex { + from + source : IN!"face::datamodel::logical::CharacteristicPathNode" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::CharacteristicPathNode")) + to + prim : OUT!Complex ( + reference <- source, + name <- 'NoName', + className <- 'face::datamodel::logical::CharacteristicPathNode', + primitives <- Set{}.including(thisModule.ReferenceToLink('node', source.node)).including(thisModule.ReferenceToLink('projectedCharacteristic', source.projectedCharacteristic)) + ) +} + +rule CLface__datamodel__platform__Short2Complex { + from + source : IN!"face::datamodel::platform::Short" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::Short")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::datamodel::platform::Short', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)).including(thisModule.ReferenceToLink('realizes', source.realizes)) + ) +} + +lazy rule DTecore__EDoubleObject2Prim { + from + attrName : String, + source : IN!"ecore::EDoubleObject" in MM + to + prim : OUT!Primitive ( + name <- attrName, + className <- 'ecore::EDoubleObject' + ) +} + +rule CLface__datamodel__conceptual__CompositeQuery2Complex { + from + source : IN!"face::datamodel::conceptual::CompositeQuery" in MM (source.oclIsTypeOf(IN!"face::datamodel::conceptual::CompositeQuery")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::datamodel::conceptual::CompositeQuery', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)).including(thisModule.DTecore__EBoolean2Prim('isUnion', source.isUnion)).union(source.traceabilityPoint->collect(it | thisModule.ReferenceToLink('traceabilityPoint', it))).union(source.composition->collect(it | thisModule.ReferenceToLink('composition', it))) + ) +} + +rule CLface__uop__UnitOfPortability2Complex { + from + source : IN!"face::uop::UnitOfPortability" in MM (source.oclIsTypeOf(IN!"face::uop::UnitOfPortability")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::uop::UnitOfPortability', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)).including(thisModule.DTface__uop__ProgrammingLanguage2Prim('transportAPILanguage', source.transportAPILanguage)).including(thisModule.DTface__uop__DesignAssuranceLevel2Prim('designAssuranceLevel', source.designAssuranceLevel)).including(thisModule.DTface__uop__PartitionType2Prim('partitionType', source.partitionType)).including(thisModule.DTface__uop__DesignAssuranceStandard2Prim('designAssuranceStandard', source.designAssuranceStandard)).including(thisModule.DTface__uop__FaceProfile2Prim('faceProfile', source.faceProfile)).union(source.traceabilityPoint->collect(it | thisModule.ReferenceToLink('traceabilityPoint', it))).union(source.supportingComponent->collect(it | thisModule.ReferenceToLink('supportingComponent', it))).union(source.thread->collect(it | thisModule.ReferenceToLink('thread', it))).including(thisModule.ReferenceToLink('memoryRequirements', source.memoryRequirements)).including(thisModule.ReferenceToLink('realizes', source.realizes)).union(source.connection->collect(it | thisModule.ReferenceToLink('connection', it))).union(source.lcmPort->collect(it | thisModule.ReferenceToLink('lcmPort', it))) + ) +} + +rule CLface__datamodel__logical__String2Complex { + from + source : IN!"face::datamodel::logical::String" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::String")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::datamodel::logical::String', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)) + ) +} + +rule CLface__datamodel__logical__Numeric2Complex { + from + source : IN!"face::datamodel::logical::Numeric" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::Numeric")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::datamodel::logical::Numeric', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)) + ) +} + +rule CLface__datamodel__logical__CoordinateSystemAxis2Complex { + from + source : IN!"face::datamodel::logical::CoordinateSystemAxis" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::CoordinateSystemAxis")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::datamodel::logical::CoordinateSystemAxis', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)) + ) +} + +rule CLface__datamodel__platform__CharType2Complex { + from + source : IN!"face::datamodel::platform::CharType" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::CharType")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::datamodel::platform::CharType', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)).including(thisModule.ReferenceToLink('realizes', source.realizes)) + ) +} + +rule CLface__datamodel__platform__IDLReal2Complex { + from + source : IN!"face::datamodel::platform::IDLReal" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::IDLReal")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::datamodel::platform::IDLReal', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)).including(thisModule.ReferenceToLink('realizes', source.realizes)) + ) +} + +rule CLface__uop__ComponentFramework2Complex { + from + source : IN!"face::uop::ComponentFramework" in MM (source.oclIsTypeOf(IN!"face::uop::ComponentFramework")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::uop::ComponentFramework', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)).including(thisModule.DTecore__EString2Prim('version', source.version)) + ) +} + +rule CLface__datamodel__platform__IDLPrimitive2Complex { + from + source : IN!"face::datamodel::platform::IDLPrimitive" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::IDLPrimitive")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::datamodel::platform::IDLPrimitive', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)).including(thisModule.ReferenceToLink('realizes', source.realizes)) + ) +} + +rule CLface__integration__UoPInputEndPoint2Complex { + from + source : IN!"face::integration::UoPInputEndPoint" in MM (source.oclIsTypeOf(IN!"face::integration::UoPInputEndPoint")) + to + prim : OUT!Complex ( + reference <- source, + name <- 'NoName', + className <- 'face::integration::UoPInputEndPoint', + primitives <- Set{}.including(thisModule.ReferenceToLink('connection', source.connection)) + ) +} + +rule CLface__datamodel__logical__Real2Complex { + from + source : IN!"face::datamodel::logical::Real" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::Real")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::datamodel::logical::Real', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)) + ) +} + +rule CLface__datamodel__platform__Association2Complex { + from + source : IN!"face::datamodel::platform::Association" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::Association")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::datamodel::platform::Association', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)).union(source.traceabilityPoint->collect(it | thisModule.ReferenceToLink('traceabilityPoint', it))).union(source.composition->collect(it | thisModule.ReferenceToLink('composition', it))).including(thisModule.ReferenceToLink('realizes', source.realizes)).including(thisModule.ReferenceToLink('specializes', source.specializes)).union(source.participant->collect(it | thisModule.ReferenceToLink('participant', it))) + ) +} + +rule CLface__datamodel__platform__IDLInteger2Complex { + from + source : IN!"face::datamodel::platform::IDLInteger" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::IDLInteger")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::datamodel::platform::IDLInteger', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)).including(thisModule.ReferenceToLink('realizes', source.realizes)) + ) +} + +rule CLface__datamodel__conceptual__Composition2Complex { + from + source : IN!"face::datamodel::conceptual::Composition" in MM (source.oclIsTypeOf(IN!"face::datamodel::conceptual::Composition")) + to + prim : OUT!Complex ( + reference <- source, + name <- 'NoName', + className <- 'face::datamodel::conceptual::Composition', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('rolename', source.rolename)).including(thisModule.DTecore__EInt2Prim('lowerBound', source.lowerBound)).including(thisModule.DTecore__EInt2Prim('upperBound', source.upperBound)).including(thisModule.DTecore__EString2Prim('description', source.description)).including(thisModule.ReferenceToLink('specializes', source.specializes)).including(thisModule.ReferenceToLink('type', source.type)) + ) +} + +lazy rule DTface__uop__ProgrammingLanguage2Prim { + from + attrName : String, + source : IN!"face::uop::ProgrammingLanguage" in MM + to + prim : OUT!Primitive ( + name <- attrName, + className <- 'face::uop::ProgrammingLanguage' + ) +} + +rule CLface__datamodel__platform__Float2Complex { + from + source : IN!"face::datamodel::platform::Float" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::Float")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::datamodel::platform::Float', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)).including(thisModule.ReferenceToLink('realizes', source.realizes)) + ) +} + +rule CLface__integration__UoPEndPoint2Complex { + from + source : IN!"face::integration::UoPEndPoint" in MM (source.oclIsTypeOf(IN!"face::integration::UoPEndPoint")) + to + prim : OUT!Complex ( + reference <- source, + name <- 'NoName', + className <- 'face::integration::UoPEndPoint', + primitives <- Set{}.including(thisModule.ReferenceToLink('connection', source.connection)) + ) +} + +lazy rule DTecore__EEnumerator2Prim { + from + attrName : String, + source : IN!"ecore::EEnumerator" in MM + to + prim : OUT!Primitive ( + name <- attrName, + className <- 'ecore::EEnumerator' ) } @@ -1798,1555 +2487,2186 @@ rule CLface__datamodel__logical__AbstractMeasurementSystem2Complex { source : IN!"face::datamodel::logical::AbstractMeasurementSystem" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::AbstractMeasurementSystem")) to prim : OUT!Complex ( - name <- source.toString(), + reference <- source, + name <- source.name, + className <- 'face::datamodel::logical::AbstractMeasurementSystem', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)) + ) +} + +rule CLface__datamodel__logical__AbstractMeasurement2Complex { + from + source : IN!"face::datamodel::logical::AbstractMeasurement" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::AbstractMeasurement")) + to + prim : OUT!Complex ( + reference <- source, + name <- 'NoName', + className <- 'face::datamodel::logical::AbstractMeasurement', primitives <- Set{} ) } -lazy rule face__datamodel__platform__ParticipantReferenceToLink { - from - source : IN!"face::datamodel::platform::Participant" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::Participant")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__integration__UoPEndPointReferenceToLink { - from - source : IN!"face::integration::UoPEndPoint" in MM (source.oclIsTypeOf(IN!"face::integration::UoPEndPoint")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__logical__UnitReferenceToLink { - from - source : IN!"face::datamodel::logical::Unit" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::Unit")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__conceptual__ComposableElementReferenceToLink { - from - source : IN!"face::datamodel::conceptual::ComposableElement" in MM (source.oclIsTypeOf(IN!"face::datamodel::conceptual::ComposableElement")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__ElementReferenceToLink { - from - source : IN!"face::Element" in MM (source.oclIsTypeOf(IN!"face::Element")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__logical__BooleanReferenceToLink { - from - source : IN!"face::datamodel::logical::Boolean" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::Boolean")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__traceability__UoPTraceabilitySetReferenceToLink { - from - source : IN!"face::traceability::UoPTraceabilitySet" in MM (source.oclIsTypeOf(IN!"face::traceability::UoPTraceabilitySet")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__platform__LongLongReferenceToLink { +rule CLface__datamodel__platform__LongLong2Complex { from source : IN!"face::datamodel::platform::LongLong" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::LongLong")) to - link : OUT!Link ( - referenceTo <- source + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::datamodel::platform::LongLong', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)).including(thisModule.ReferenceToLink('realizes', source.realizes)) ) } -lazy rule face__uop__UoPModelReferenceToLink { +rule CLface__traceability__ConnectionTraceabilitySet2Complex { from - source : IN!"face::uop::UoPModel" in MM (source.oclIsTypeOf(IN!"face::uop::UoPModel")) + source : IN!"face::traceability::ConnectionTraceabilitySet" in MM (source.oclIsTypeOf(IN!"face::traceability::ConnectionTraceabilitySet")) to - link : OUT!Link ( - referenceTo <- source + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::traceability::ConnectionTraceabilitySet', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)).union(source.traceabilityPoint->collect(it | thisModule.ReferenceToLink('traceabilityPoint', it))).union(source.connection->collect(it | thisModule.ReferenceToLink('connection', it))).union(source.abstractConnection->collect(it | thisModule.ReferenceToLink('abstractConnection', it))) ) } -lazy rule face__traceability__TraceableElementReferenceToLink { +rule CLface__datamodel__DataModel2Complex { from - source : IN!"face::traceability::TraceableElement" in MM (source.oclIsTypeOf(IN!"face::traceability::TraceableElement")) + source : IN!"face::datamodel::DataModel" in MM (source.oclIsTypeOf(IN!"face::datamodel::DataModel")) to - link : OUT!Link ( - referenceTo <- source + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::datamodel::DataModel', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)).union(source.cdm->collect(it | thisModule.ReferenceToLink('cdm', it))).union(source.ldm->collect(it | thisModule.ReferenceToLink('ldm', it))).union(source.pdm->collect(it | thisModule.ReferenceToLink('pdm', it))) ) } -lazy rule face__datamodel__platform__IDLArrayReferenceToLink { +rule CLface__datamodel__logical__EnumerationConstraint2Complex { from - source : IN!"face::datamodel::platform::IDLArray" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::IDLArray")) + source : IN!"face::datamodel::logical::EnumerationConstraint" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::EnumerationConstraint")) to - link : OUT!Link ( - referenceTo <- source + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::datamodel::logical::EnumerationConstraint', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)).union(source.allowedValue->collect(it | thisModule.ReferenceToLink('allowedValue', it))) ) } -lazy rule face__datamodel__LogicalDataModelReferenceToLink { +rule CLface__datamodel__platform__UShort2Complex { from - source : IN!"face::datamodel::LogicalDataModel" in MM (source.oclIsTypeOf(IN!"face::datamodel::LogicalDataModel")) + source : IN!"face::datamodel::platform::UShort" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::UShort")) to - link : OUT!Link ( - referenceTo <- source + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::datamodel::platform::UShort', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)).including(thisModule.ReferenceToLink('realizes', source.realizes)) ) } -lazy rule face__datamodel__logical__StandardMeasurementSystemReferenceToLink { +rule CLface__datamodel__logical__ComposableElement2Complex { from - source : IN!"face::datamodel::logical::StandardMeasurementSystem" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::StandardMeasurementSystem")) + source : IN!"face::datamodel::logical::ComposableElement" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::ComposableElement")) to - link : OUT!Link ( - referenceTo <- source + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::datamodel::logical::ComposableElement', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)) ) } -lazy rule face__uop__PubSubConnectionReferenceToLink { +lazy rule DTface__uop__ClientServerRole2Prim { from - source : IN!"face::uop::PubSubConnection" in MM (source.oclIsTypeOf(IN!"face::uop::PubSubConnection")) + attrName : String, + source : IN!"face::uop::ClientServerRole" in MM to - link : OUT!Link ( - referenceTo <- source + prim : OUT!Primitive ( + name <- attrName, + className <- 'face::uop::ClientServerRole' ) } -lazy rule face__datamodel__platform__BoundedStringReferenceToLink { +rule CLecore__EOperation2Complex { from - source : IN!"face::datamodel::platform::BoundedString" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::BoundedString")) + source : IN!"ecore::EOperation" in MM (source.oclIsTypeOf(IN!"ecore::EOperation")) to - link : OUT!Link ( - referenceTo <- source + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'ecore::EOperation', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EBoolean2Prim('ordered', source.ordered)).including(thisModule.DTecore__EBoolean2Prim('unique', source.unique)).including(thisModule.DTecore__EInt2Prim('lowerBound', source.lowerBound)).including(thisModule.DTecore__EInt2Prim('upperBound', source.upperBound)).including(thisModule.DTecore__EBoolean2Prim('many', source.many)).including(thisModule.DTecore__EBoolean2Prim('required', source.required)).union(source.eAnnotations->collect(it | thisModule.ReferenceToLink('eAnnotations', it))).including(thisModule.ReferenceToLink('eType', source.eType)).including(thisModule.ReferenceToLink('eGenericType', source.eGenericType)).including(thisModule.ReferenceToLink('eContainingClass', source.eContainingClass)).union(source.eTypeParameters->collect(it | thisModule.ReferenceToLink('eTypeParameters', it))).union(source.eParameters->collect(it | thisModule.ReferenceToLink('eParameters', it))).union(source.eExceptions->collect(it | thisModule.ReferenceToLink('eExceptions', it))).union(source.eGenericExceptions->collect(it | thisModule.ReferenceToLink('eGenericExceptions', it))) ) } -lazy rule face__datamodel__platform__ComposableElementReferenceToLink { +rule CLface__datamodel__platform__IDLCharacterArray2Complex { from - source : IN!"face::datamodel::platform::ComposableElement" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::ComposableElement")) + source : IN!"face::datamodel::platform::IDLCharacterArray" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::IDLCharacterArray")) to - link : OUT!Link ( - referenceTo <- source + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::datamodel::platform::IDLCharacterArray', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)).including(thisModule.DTecore__EInt2Prim('length', source.length)).including(thisModule.ReferenceToLink('realizes', source.realizes)) ) } -lazy rule face__integration__ViewTransporterReferenceToLink { +rule CLecore__EPackage2Complex { from - source : IN!"face::integration::ViewTransporter" in MM (source.oclIsTypeOf(IN!"face::integration::ViewTransporter")) + source : IN!"ecore::EPackage" in MM (source.oclIsTypeOf(IN!"ecore::EPackage")) to - link : OUT!Link ( - referenceTo <- source + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'ecore::EPackage', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('nsURI', source.nsURI)).including(thisModule.DTecore__EString2Prim('nsPrefix', source.nsPrefix)).union(source.eAnnotations->collect(it | thisModule.ReferenceToLink('eAnnotations', it))).including(thisModule.ReferenceToLink('eFactoryInstance', source.eFactoryInstance)).union(source.eClassifiers->collect(it | thisModule.ReferenceToLink('eClassifiers', it))).union(source.eSubpackages->collect(it | thisModule.ReferenceToLink('eSubpackages', it))).including(thisModule.ReferenceToLink('eSuperPackage', source.eSuperPackage)) ) } -lazy rule face__datamodel__platform__IDLBoundedStringReferenceToLink { +rule CLecore__ENamedElement2Complex { from - source : IN!"face::datamodel::platform::IDLBoundedString" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::IDLBoundedString")) + source : IN!"ecore::ENamedElement" in MM (source.oclIsTypeOf(IN!"ecore::ENamedElement")) to - link : OUT!Link ( - referenceTo <- source + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'ecore::ENamedElement', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).union(source.eAnnotations->collect(it | thisModule.ReferenceToLink('eAnnotations', it))) ) } -lazy rule face__integration__UoPInputEndPointReferenceToLink { +rule CLface__integration__IntegrationModel2Complex { from - source : IN!"face::integration::UoPInputEndPoint" in MM (source.oclIsTypeOf(IN!"face::integration::UoPInputEndPoint")) + source : IN!"face::integration::IntegrationModel" in MM (source.oclIsTypeOf(IN!"face::integration::IntegrationModel")) to - link : OUT!Link ( - referenceTo <- source + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::integration::IntegrationModel', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)).union(source.im->collect(it | thisModule.ReferenceToLink('im', it))).union(source.element->collect(it | thisModule.ReferenceToLink('element', it))) ) } -lazy rule face__datamodel__logical__EnumeratedReferenceToLink { +rule CLface__integration__Element2Complex { from - source : IN!"face::datamodel::logical::Enumerated" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::Enumerated")) + source : IN!"face::integration::Element" in MM (source.oclIsTypeOf(IN!"face::integration::Element")) to - link : OUT!Link ( - referenceTo <- source + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::integration::Element', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)) ) } -lazy rule face__integration__TransportChannelReferenceToLink { +rule CLface__integration__UoPInstance2Complex { from - source : IN!"face::integration::TransportChannel" in MM (source.oclIsTypeOf(IN!"face::integration::TransportChannel")) + source : IN!"face::integration::UoPInstance" in MM (source.oclIsTypeOf(IN!"face::integration::UoPInstance")) to - link : OUT!Link ( - referenceTo <- source + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::integration::UoPInstance', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)).including(thisModule.DTecore__EString2Prim('configurationURI', source.configurationURI)).including(thisModule.ReferenceToLink('realizes', source.realizes)).union(source.output->collect(it | thisModule.ReferenceToLink('output', it))).union(source.input->collect(it | thisModule.ReferenceToLink('input', it))) ) } -lazy rule face__integration__ViewTransformationReferenceToLink { - from - source : IN!"face::integration::ViewTransformation" in MM (source.oclIsTypeOf(IN!"face::integration::ViewTransformation")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__platform__CharArrayReferenceToLink { - from - source : IN!"face::datamodel::platform::CharArray" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::CharArray")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__uop__LifeCycleManagementPortReferenceToLink { - from - source : IN!"face::uop::LifeCycleManagementPort" in MM (source.oclIsTypeOf(IN!"face::uop::LifeCycleManagementPort")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__logical__CharacteristicReferenceToLink { - from - source : IN!"face::datamodel::logical::Characteristic" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::Characteristic")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__platform__CharacteristicPathNodeReferenceToLink { - from - source : IN!"face::datamodel::platform::CharacteristicPathNode" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::CharacteristicPathNode")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__logical__MeasurementConversionReferenceToLink { - from - source : IN!"face::datamodel::logical::MeasurementConversion" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::MeasurementConversion")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__platform__IDLStructReferenceToLink { - from - source : IN!"face::datamodel::platform::IDLStruct" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::IDLStruct")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__platform__TemplateReferenceToLink { - from - source : IN!"face::datamodel::platform::Template" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::Template")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__traceability__TraceabilityPointReferenceToLink { - from - source : IN!"face::traceability::TraceabilityPoint" in MM (source.oclIsTypeOf(IN!"face::traceability::TraceabilityPoint")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__platform__EnumerationReferenceToLink { +rule CLface__datamodel__platform__Enumeration2Complex { from source : IN!"face::datamodel::platform::Enumeration" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::Enumeration")) to - link : OUT!Link ( - referenceTo <- source + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::datamodel::platform::Enumeration', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)).including(thisModule.ReferenceToLink('realizes', source.realizes)) + ) +} + +rule CLface__datamodel__logical__Constraint2Complex { + from + source : IN!"face::datamodel::logical::Constraint" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::Constraint")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::datamodel::logical::Constraint', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)) + ) +} + +lazy rule DTecore__EBooleanObject2Prim { + from + attrName : String, + source : IN!"ecore::EBooleanObject" in MM + to + prim : OUT!Primitive ( + name <- attrName, + className <- 'ecore::EBooleanObject' + ) +} + +rule CLface__datamodel__conceptual__View2Complex { + from + source : IN!"face::datamodel::conceptual::View" in MM (source.oclIsTypeOf(IN!"face::datamodel::conceptual::View")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::datamodel::conceptual::View', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)).union(source.traceabilityPoint->collect(it | thisModule.ReferenceToLink('traceabilityPoint', it))) + ) +} + +rule CLface__datamodel__logical__CompositeQuery2Complex { + from + source : IN!"face::datamodel::logical::CompositeQuery" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::CompositeQuery")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::datamodel::logical::CompositeQuery', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)).including(thisModule.DTecore__EBoolean2Prim('isUnion', source.isUnion)).union(source.traceabilityPoint->collect(it | thisModule.ReferenceToLink('traceabilityPoint', it))).union(source.composition->collect(it | thisModule.ReferenceToLink('composition', it))).including(thisModule.ReferenceToLink('realizes', source.realizes)) + ) +} + +rule CLecore__EClass2Complex { + from + source : IN!"ecore::EClass" in MM (source.oclIsTypeOf(IN!"ecore::EClass")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'ecore::EClass', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('instanceClassName', source.instanceClassName)).including(thisModule.DTecore__EJavaClass2Prim('instanceClass', source.instanceClass)).including(thisModule.DTecore__EJavaObject2Prim('defaultValue', source.defaultValue)).including(thisModule.DTecore__EString2Prim('instanceTypeName', source.instanceTypeName)).including(thisModule.DTecore__EBoolean2Prim('abstract', source.abstract)).including(thisModule.DTecore__EBoolean2Prim('interface', source.interface)).union(source.eAnnotations->collect(it | thisModule.ReferenceToLink('eAnnotations', it))).including(thisModule.ReferenceToLink('ePackage', source.ePackage)).union(source.eTypeParameters->collect(it | thisModule.ReferenceToLink('eTypeParameters', it))).union(source.eSuperTypes->collect(it | thisModule.ReferenceToLink('eSuperTypes', it))).union(source.eOperations->collect(it | thisModule.ReferenceToLink('eOperations', it))).union(source.eAllAttributes->collect(it | thisModule.ReferenceToLink('eAllAttributes', it))).union(source.eAllReferences->collect(it | thisModule.ReferenceToLink('eAllReferences', it))).union(source.eReferences->collect(it | thisModule.ReferenceToLink('eReferences', it))).union(source.eAttributes->collect(it | thisModule.ReferenceToLink('eAttributes', it))).union(source.eAllContainments->collect(it | thisModule.ReferenceToLink('eAllContainments', it))).union(source.eAllOperations->collect(it | thisModule.ReferenceToLink('eAllOperations', it))).union(source.eAllStructuralFeatures->collect(it | thisModule.ReferenceToLink('eAllStructuralFeatures', it))).union(source.eAllSuperTypes->collect(it | thisModule.ReferenceToLink('eAllSuperTypes', it))).including(thisModule.ReferenceToLink('eIDAttribute', source.eIDAttribute)).union(source.eStructuralFeatures->collect(it | thisModule.ReferenceToLink('eStructuralFeatures', it))).union(source.eGenericSuperTypes->collect(it | thisModule.ReferenceToLink('eGenericSuperTypes', it))).union(source.eAllGenericSuperTypes->collect(it | thisModule.ReferenceToLink('eAllGenericSuperTypes', it))) + ) +} + +lazy rule DTecore__EFeatureMapEntry2Prim { + from + attrName : String, + source : IN!"ecore::EFeatureMapEntry" in MM + to + prim : OUT!Primitive ( + name <- attrName, + className <- 'ecore::EFeatureMapEntry' + ) +} + +rule CLface__datamodel__logical__EnumerationLabel2Complex { + from + source : IN!"face::datamodel::logical::EnumerationLabel" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::EnumerationLabel")) + to + prim : OUT!Complex ( + reference <- source, + name <- source.name, + className <- 'face::datamodel::logical::EnumerationLabel', + primitives <- Set{}.including(thisModule.DTecore__EString2Prim('name', source.name)).including(thisModule.DTecore__EString2Prim('description', source.description)) + ) +} + +rule CLface__integration__TSNodeConnection2Complex { + from + source : IN!"face::integration::TSNodeConnection" in MM (source.oclIsTypeOf(IN!"face::integration::TSNodeConnection")) + to + prim : OUT!Complex ( + reference <- source, + name <- 'NoName', + className <- 'face::integration::TSNodeConnection', + primitives <- Set{}.including(thisModule.ReferenceToLink('source', source.source)).including(thisModule.ReferenceToLink('destination', source.destination)) ) } lazy rule face__datamodel__platform__IDLTypeReferenceToLink { from + refName : String, source : IN!"face::datamodel::platform::IDLType" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::IDLType")) to link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__logical__AssociationReferenceToLink { - from - source : IN!"face::datamodel::logical::Association" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::Association")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__platform__IDLUnsignedIntegerReferenceToLink { - from - source : IN!"face::datamodel::platform::IDLUnsignedInteger" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::IDLUnsignedInteger")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__platform__CharTypeReferenceToLink { - from - source : IN!"face::datamodel::platform::CharType" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::CharType")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__platform__LongDoubleReferenceToLink { - from - source : IN!"face::datamodel::platform::LongDouble" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::LongDouble")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__logical__ComposableElementReferenceToLink { - from - source : IN!"face::datamodel::logical::ComposableElement" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::ComposableElement")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__logical__IntegerReferenceToLink { - from - source : IN!"face::datamodel::logical::Integer" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::Integer")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__DataModelReferenceToLink { - from - source : IN!"face::datamodel::DataModel" in MM (source.oclIsTypeOf(IN!"face::datamodel::DataModel")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__uop__ThreadReferenceToLink { - from - source : IN!"face::uop::Thread" in MM (source.oclIsTypeOf(IN!"face::uop::Thread")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__ConceptualDataModelReferenceToLink { - from - source : IN!"face::datamodel::ConceptualDataModel" in MM (source.oclIsTypeOf(IN!"face::datamodel::ConceptualDataModel")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__platform__StringTypeReferenceToLink { - from - source : IN!"face::datamodel::platform::StringType" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::StringType")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__logical__NaturalReferenceToLink { - from - source : IN!"face::datamodel::logical::Natural" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::Natural")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__logical__CharacterReferenceToLink { - from - source : IN!"face::datamodel::logical::Character" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::Character")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__logical__EnumerationLabelReferenceToLink { - from - source : IN!"face::datamodel::logical::EnumerationLabel" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::EnumerationLabel")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__logical__ValueTypeReferenceToLink { - from - source : IN!"face::datamodel::logical::ValueType" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::ValueType")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__logical__PathNodeReferenceToLink { - from - source : IN!"face::datamodel::logical::PathNode" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::PathNode")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__logical__MeasurementSystemAxisReferenceToLink { - from - source : IN!"face::datamodel::logical::MeasurementSystemAxis" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::MeasurementSystemAxis")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__platform__IDLRealReferenceToLink { - from - source : IN!"face::datamodel::platform::IDLReal" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::IDLReal")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__platform__ShortReferenceToLink { - from - source : IN!"face::datamodel::platform::Short" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::Short")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__conceptual__QueryReferenceToLink { - from - source : IN!"face::datamodel::conceptual::Query" in MM (source.oclIsTypeOf(IN!"face::datamodel::conceptual::Query")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__platform__IDLCharacterArrayReferenceToLink { - from - source : IN!"face::datamodel::platform::IDLCharacterArray" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::IDLCharacterArray")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__logical__RealConstraintReferenceToLink { - from - source : IN!"face::datamodel::logical::RealConstraint" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::RealConstraint")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__logical__MeasurementConstraintReferenceToLink { - from - source : IN!"face::datamodel::logical::MeasurementConstraint" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::MeasurementConstraint")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__platform__ParticipantPathNodeReferenceToLink { - from - source : IN!"face::datamodel::platform::ParticipantPathNode" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::ParticipantPathNode")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__traceability__ElementReferenceToLink { - from - source : IN!"face::traceability::Element" in MM (source.oclIsTypeOf(IN!"face::traceability::Element")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__logical__AffineConversionReferenceToLink { - from - source : IN!"face::datamodel::logical::AffineConversion" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::AffineConversion")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__logical__ParticipantReferenceToLink { - from - source : IN!"face::datamodel::logical::Participant" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::Participant")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__integration__ViewSinkReferenceToLink { - from - source : IN!"face::integration::ViewSink" in MM (source.oclIsTypeOf(IN!"face::integration::ViewSink")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__integration__TSNodeInputPortReferenceToLink { - from - source : IN!"face::integration::TSNodeInputPort" in MM (source.oclIsTypeOf(IN!"face::integration::TSNodeInputPort")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__platform__PhysicalDataTypeReferenceToLink { - from - source : IN!"face::datamodel::platform::PhysicalDataType" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::PhysicalDataType")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__logical__RealRangeConstraintReferenceToLink { - from - source : IN!"face::datamodel::logical::RealRangeConstraint" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::RealRangeConstraint")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__ElementReferenceToLink { - from - source : IN!"face::datamodel::Element" in MM (source.oclIsTypeOf(IN!"face::datamodel::Element")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__uop__SingleInstanceMessageConnectionReferenceToLink { - from - source : IN!"face::uop::SingleInstanceMessageConnection" in MM (source.oclIsTypeOf(IN!"face::uop::SingleInstanceMessageConnection")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__conceptual__ElementReferenceToLink { - from - source : IN!"face::datamodel::conceptual::Element" in MM (source.oclIsTypeOf(IN!"face::datamodel::conceptual::Element")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__uop__ElementReferenceToLink { - from - source : IN!"face::uop::Element" in MM (source.oclIsTypeOf(IN!"face::uop::Element")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__platform__TemplateCompositionReferenceToLink { - from - source : IN!"face::datamodel::platform::TemplateComposition" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::TemplateComposition")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__logical__IntegerRangeConstraintReferenceToLink { - from - source : IN!"face::datamodel::logical::IntegerRangeConstraint" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::IntegerRangeConstraint")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__platform__IDLSequenceReferenceToLink { - from - source : IN!"face::datamodel::platform::IDLSequence" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::IDLSequence")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__logical__NumericReferenceToLink { - from - source : IN!"face::datamodel::logical::Numeric" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::Numeric")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__logical__StringReferenceToLink { - from - source : IN!"face::datamodel::logical::String" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::String")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__conceptual__CompositeQueryReferenceToLink { - from - source : IN!"face::datamodel::conceptual::CompositeQuery" in MM (source.oclIsTypeOf(IN!"face::datamodel::conceptual::CompositeQuery")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__logical__QueryReferenceToLink { - from - source : IN!"face::datamodel::logical::Query" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::Query")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__conceptual__ObservableReferenceToLink { - from - source : IN!"face::datamodel::conceptual::Observable" in MM (source.oclIsTypeOf(IN!"face::datamodel::conceptual::Observable")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__logical__MeasurementSystemConversionReferenceToLink { - from - source : IN!"face::datamodel::logical::MeasurementSystemConversion" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::MeasurementSystemConversion")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__logical__ViewReferenceToLink { - from - source : IN!"face::datamodel::logical::View" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::View")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__platform__FixedReferenceToLink { - from - source : IN!"face::datamodel::platform::Fixed" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::Fixed")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__platform__IDLCompositionReferenceToLink { - from - source : IN!"face::datamodel::platform::IDLComposition" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::IDLComposition")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__integration__ViewFilterReferenceToLink { - from - source : IN!"face::integration::ViewFilter" in MM (source.oclIsTypeOf(IN!"face::integration::ViewFilter")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__traceability__TraceabilityModelReferenceToLink { - from - source : IN!"face::traceability::TraceabilityModel" in MM (source.oclIsTypeOf(IN!"face::traceability::TraceabilityModel")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__logical__CompositionReferenceToLink { - from - source : IN!"face::datamodel::logical::Composition" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::Composition")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__uop__RAMMemoryRequirementsReferenceToLink { - from - source : IN!"face::uop::RAMMemoryRequirements" in MM (source.oclIsTypeOf(IN!"face::uop::RAMMemoryRequirements")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__integration__IntegrationContextReferenceToLink { - from - source : IN!"face::integration::IntegrationContext" in MM (source.oclIsTypeOf(IN!"face::integration::IntegrationContext")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__platform__FloatReferenceToLink { - from - source : IN!"face::datamodel::platform::Float" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::Float")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__uop__AbstractConnectionReferenceToLink { - from - source : IN!"face::uop::AbstractConnection" in MM (source.oclIsTypeOf(IN!"face::uop::AbstractConnection")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__conceptual__DomainReferenceToLink { - from - source : IN!"face::datamodel::conceptual::Domain" in MM (source.oclIsTypeOf(IN!"face::datamodel::conceptual::Domain")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__integration__TSNodePortReferenceToLink { - from - source : IN!"face::integration::TSNodePort" in MM (source.oclIsTypeOf(IN!"face::integration::TSNodePort")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__ArchitectureModelReferenceToLink { - from - source : IN!"face::ArchitectureModel" in MM (source.oclIsTypeOf(IN!"face::ArchitectureModel")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__logical__RealReferenceToLink { - from - source : IN!"face::datamodel::logical::Real" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::Real")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__uop__UnitOfPortabilityReferenceToLink { - from - source : IN!"face::uop::UnitOfPortability" in MM (source.oclIsTypeOf(IN!"face::uop::UnitOfPortability")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__PlatformDataModelReferenceToLink { - from - source : IN!"face::datamodel::PlatformDataModel" in MM (source.oclIsTypeOf(IN!"face::datamodel::PlatformDataModel")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__conceptual__QueryCompositionReferenceToLink { - from - source : IN!"face::datamodel::conceptual::QueryComposition" in MM (source.oclIsTypeOf(IN!"face::datamodel::conceptual::QueryComposition")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__conceptual__BasisEntityReferenceToLink { - from - source : IN!"face::datamodel::conceptual::BasisEntity" in MM (source.oclIsTypeOf(IN!"face::datamodel::conceptual::BasisEntity")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__logical__AbstractMeasurementReferenceToLink { - from - source : IN!"face::datamodel::logical::AbstractMeasurement" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::AbstractMeasurement")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__platform__PathNodeReferenceToLink { - from - source : IN!"face::datamodel::platform::PathNode" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::PathNode")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__uop__QueuingConnectionReferenceToLink { - from - source : IN!"face::uop::QueuingConnection" in MM (source.oclIsTypeOf(IN!"face::uop::QueuingConnection")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__uop__ClientServerConnectionReferenceToLink { - from - source : IN!"face::uop::ClientServerConnection" in MM (source.oclIsTypeOf(IN!"face::uop::ClientServerConnection")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__platform__OctetReferenceToLink { - from - source : IN!"face::datamodel::platform::Octet" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::Octet")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__platform__DoubleReferenceToLink { - from - source : IN!"face::datamodel::platform::Double" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::Double")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__platform__QueryReferenceToLink { - from - source : IN!"face::datamodel::platform::Query" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::Query")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__integration__ElementReferenceToLink { - from - source : IN!"face::integration::Element" in MM (source.oclIsTypeOf(IN!"face::integration::Element")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__logical__NonNegativeRealReferenceToLink { - from - source : IN!"face::datamodel::logical::NonNegativeReal" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::NonNegativeReal")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__logical__MeasurementAttributeReferenceToLink { - from - source : IN!"face::datamodel::logical::MeasurementAttribute" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::MeasurementAttribute")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__uop__AbstractUoPReferenceToLink { - from - source : IN!"face::uop::AbstractUoP" in MM (source.oclIsTypeOf(IN!"face::uop::AbstractUoP")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__platform__AssociationReferenceToLink { - from - source : IN!"face::datamodel::platform::Association" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::Association")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__conceptual__EntityReferenceToLink { - from - source : IN!"face::datamodel::conceptual::Entity" in MM (source.oclIsTypeOf(IN!"face::datamodel::conceptual::Entity")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__integration__ViewAggregationReferenceToLink { - from - source : IN!"face::integration::ViewAggregation" in MM (source.oclIsTypeOf(IN!"face::integration::ViewAggregation")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__logical__RegularExpressionConstraintReferenceToLink { - from - source : IN!"face::datamodel::logical::RegularExpressionConstraint" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::RegularExpressionConstraint")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__logical__ParticipantPathNodeReferenceToLink { - from - source : IN!"face::datamodel::logical::ParticipantPathNode" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::ParticipantPathNode")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__logical__ElementReferenceToLink { - from - source : IN!"face::datamodel::logical::Element" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::Element")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__conceptual__ViewReferenceToLink { - from - source : IN!"face::datamodel::conceptual::View" in MM (source.oclIsTypeOf(IN!"face::datamodel::conceptual::View")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__logical__MeasurementAxisReferenceToLink { - from - source : IN!"face::datamodel::logical::MeasurementAxis" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::MeasurementAxis")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__logical__CoordinateSystemAxisReferenceToLink { - from - source : IN!"face::datamodel::logical::CoordinateSystemAxis" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::CoordinateSystemAxis")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__logical__FixedLengthStringConstraintReferenceToLink { - from - source : IN!"face::datamodel::logical::FixedLengthStringConstraint" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::FixedLengthStringConstraint")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__integration__TransportNodeReferenceToLink { - from - source : IN!"face::integration::TransportNode" in MM (source.oclIsTypeOf(IN!"face::integration::TransportNode")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__logical__CoordinateSystemReferenceToLink { - from - source : IN!"face::datamodel::logical::CoordinateSystem" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::CoordinateSystem")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__platform__IDLPrimitiveReferenceToLink { - from - source : IN!"face::datamodel::platform::IDLPrimitive" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::IDLPrimitive")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__logical__ConvertibleElementReferenceToLink { - from - source : IN!"face::datamodel::logical::ConvertibleElement" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::ConvertibleElement")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__logical__ValueTypeUnitReferenceToLink { - from - source : IN!"face::datamodel::logical::ValueTypeUnit" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::ValueTypeUnit")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__platform__ElementReferenceToLink { - from - source : IN!"face::datamodel::platform::Element" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::Element")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__uop__ComponentFrameworkReferenceToLink { - from - source : IN!"face::uop::ComponentFramework" in MM (source.oclIsTypeOf(IN!"face::uop::ComponentFramework")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__logical__StringConstraintReferenceToLink { - from - source : IN!"face::datamodel::logical::StringConstraint" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::StringConstraint")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__logical__CharacteristicPathNodeReferenceToLink { - from - source : IN!"face::datamodel::logical::CharacteristicPathNode" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::CharacteristicPathNode")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__logical__MeasurementSystemReferenceToLink { - from - source : IN!"face::datamodel::logical::MeasurementSystem" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::MeasurementSystem")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__conceptual__AssociationReferenceToLink { - from - source : IN!"face::datamodel::conceptual::Association" in MM (source.oclIsTypeOf(IN!"face::datamodel::conceptual::Association")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__conceptual__BasisElementReferenceToLink { - from - source : IN!"face::datamodel::conceptual::BasisElement" in MM (source.oclIsTypeOf(IN!"face::datamodel::conceptual::BasisElement")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__platform__ULongLongReferenceToLink { - from - source : IN!"face::datamodel::platform::ULongLong" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::ULongLong")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__platform__CompositionReferenceToLink { - from - source : IN!"face::datamodel::platform::Composition" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::Composition")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__logical__CompositeQueryReferenceToLink { - from - source : IN!"face::datamodel::logical::CompositeQuery" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::CompositeQuery")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__uop__SupportingComponentReferenceToLink { - from - source : IN!"face::uop::SupportingComponent" in MM (source.oclIsTypeOf(IN!"face::uop::SupportingComponent")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__platform__IDLNumberReferenceToLink { - from - source : IN!"face::datamodel::platform::IDLNumber" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::IDLNumber")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__logical__ConstraintReferenceToLink { - from - source : IN!"face::datamodel::logical::Constraint" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::Constraint")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__conceptual__CharacteristicReferenceToLink { - from - source : IN!"face::datamodel::conceptual::Characteristic" in MM (source.oclIsTypeOf(IN!"face::datamodel::conceptual::Characteristic")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__integration__TSNodeOutputPortReferenceToLink { - from - source : IN!"face::integration::TSNodeOutputPort" in MM (source.oclIsTypeOf(IN!"face::integration::TSNodeOutputPort")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__logical__MeasurementReferenceToLink { - from - source : IN!"face::datamodel::logical::Measurement" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::Measurement")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__logical__ConversionReferenceToLink { - from - source : IN!"face::datamodel::logical::Conversion" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::Conversion")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__logical__ReferencePointReferenceToLink { - from - source : IN!"face::datamodel::logical::ReferencePoint" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::ReferencePoint")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__logical__IntegerConstraintReferenceToLink { - from - source : IN!"face::datamodel::logical::IntegerConstraint" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::IntegerConstraint")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__uop__PortableComponentReferenceToLink { - from - source : IN!"face::uop::PortableComponent" in MM (source.oclIsTypeOf(IN!"face::uop::PortableComponent")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__platform__ULongReferenceToLink { - from - source : IN!"face::datamodel::platform::ULong" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::ULong")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__logical__ReferencePointPartReferenceToLink { - from - source : IN!"face::datamodel::logical::ReferencePointPart" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::ReferencePointPart")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__platform__StringReferenceToLink { - from - source : IN!"face::datamodel::platform::String" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::String")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__platform__EntityReferenceToLink { - from - source : IN!"face::datamodel::platform::Entity" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::Entity")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__logical__LandmarkReferenceToLink { - from - source : IN!"face::datamodel::logical::Landmark" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::Landmark")) - to - link : OUT!Link ( + name <- refName, referenceTo <- source ) } lazy rule face__datamodel__platform__IDLUnboundedStringReferenceToLink { from + refName : String, source : IN!"face::datamodel::platform::IDLUnboundedString" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::IDLUnboundedString")) to link : OUT!Link ( + name <- refName, referenceTo <- source ) } -lazy rule face__datamodel__logical__EnumerationConstraintReferenceToLink { +lazy rule face__datamodel__platform__FixedReferenceToLink { from - source : IN!"face::datamodel::logical::EnumerationConstraint" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::EnumerationConstraint")) + refName : String, + source : IN!"face::datamodel::platform::Fixed" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::Fixed")) to link : OUT!Link ( + name <- refName, referenceTo <- source ) } -lazy rule face__integration__ViewSourceReferenceToLink { +lazy rule face__datamodel__platform__LongDoubleReferenceToLink { from - source : IN!"face::integration::ViewSource" in MM (source.oclIsTypeOf(IN!"face::integration::ViewSource")) + refName : String, + source : IN!"face::datamodel::platform::LongDouble" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::LongDouble")) to link : OUT!Link ( + name <- refName, referenceTo <- source ) } -lazy rule face__datamodel__platform__IDLIntegerReferenceToLink { +lazy rule face__integration__TransportChannelReferenceToLink { from - source : IN!"face::datamodel::platform::IDLInteger" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::IDLInteger")) + refName : String, + source : IN!"face::integration::TransportChannel" in MM (source.oclIsTypeOf(IN!"face::integration::TransportChannel")) to link : OUT!Link ( + name <- refName, referenceTo <- source ) } -lazy rule face__uop__PlatformSpecificComponentReferenceToLink { +lazy rule face__datamodel__logical__ReferencePointReferenceToLink { from - source : IN!"face::uop::PlatformSpecificComponent" in MM (source.oclIsTypeOf(IN!"face::uop::PlatformSpecificComponent")) + refName : String, + source : IN!"face::datamodel::logical::ReferencePoint" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::ReferencePoint")) to link : OUT!Link ( + name <- refName, referenceTo <- source ) } -lazy rule face__datamodel__platform__CharacteristicReferenceToLink { +lazy rule face__datamodel__logical__MeasurementConversionReferenceToLink { from - source : IN!"face::datamodel::platform::Characteristic" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::Characteristic")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__platform__CharReferenceToLink { - from - source : IN!"face::datamodel::platform::Char" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::Char")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__platform__UShortReferenceToLink { - from - source : IN!"face::datamodel::platform::UShort" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::UShort")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__integration__UoPOutputEndPointReferenceToLink { - from - source : IN!"face::integration::UoPOutputEndPoint" in MM (source.oclIsTypeOf(IN!"face::integration::UoPOutputEndPoint")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__uop__LanguageRunTimeReferenceToLink { - from - source : IN!"face::uop::LanguageRunTime" in MM (source.oclIsTypeOf(IN!"face::uop::LanguageRunTime")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__conceptual__CharacteristicPathNodeReferenceToLink { - from - source : IN!"face::datamodel::conceptual::CharacteristicPathNode" in MM (source.oclIsTypeOf(IN!"face::datamodel::conceptual::CharacteristicPathNode")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__platform__BooleanReferenceToLink { - from - source : IN!"face::datamodel::platform::Boolean" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::Boolean")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__conceptual__ParticipantPathNodeReferenceToLink { - from - source : IN!"face::datamodel::conceptual::ParticipantPathNode" in MM (source.oclIsTypeOf(IN!"face::datamodel::conceptual::ParticipantPathNode")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__platform__ViewReferenceToLink { - from - source : IN!"face::datamodel::platform::View" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::View")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__conceptual__CompositionReferenceToLink { - from - source : IN!"face::datamodel::conceptual::Composition" in MM (source.oclIsTypeOf(IN!"face::datamodel::conceptual::Composition")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__conceptual__ParticipantReferenceToLink { - from - source : IN!"face::datamodel::conceptual::Participant" in MM (source.oclIsTypeOf(IN!"face::datamodel::conceptual::Participant")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__integration__UoPInstanceReferenceToLink { - from - source : IN!"face::integration::UoPInstance" in MM (source.oclIsTypeOf(IN!"face::integration::UoPInstance")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__logical__EntityReferenceToLink { - from - source : IN!"face::datamodel::logical::Entity" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::Entity")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__uop__ConnectionReferenceToLink { - from - source : IN!"face::uop::Connection" in MM (source.oclIsTypeOf(IN!"face::uop::Connection")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__datamodel__platform__CompositeTemplateReferenceToLink { - from - source : IN!"face::datamodel::platform::CompositeTemplate" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::CompositeTemplate")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__integration__TSNodeConnectionReferenceToLink { - from - source : IN!"face::integration::TSNodeConnection" in MM (source.oclIsTypeOf(IN!"face::integration::TSNodeConnection")) - to - link : OUT!Link ( - referenceTo <- source - ) -} - -lazy rule face__integration__IntegrationModelReferenceToLink { - from - source : IN!"face::integration::IntegrationModel" in MM (source.oclIsTypeOf(IN!"face::integration::IntegrationModel")) + refName : String, + source : IN!"face::datamodel::logical::MeasurementConversion" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::MeasurementConversion")) to link : OUT!Link ( + name <- refName, referenceTo <- source ) } lazy rule face__integration__TSNodePortBaseReferenceToLink { from + refName : String, source : IN!"face::integration::TSNodePortBase" in MM (source.oclIsTypeOf(IN!"face::integration::TSNodePortBase")) to link : OUT!Link ( + name <- refName, referenceTo <- source ) } -lazy rule face__datamodel__logical__QueryCompositionReferenceToLink { +lazy rule face__datamodel__logical__ConvertibleElementReferenceToLink { from - source : IN!"face::datamodel::logical::QueryComposition" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::QueryComposition")) + refName : String, + source : IN!"face::datamodel::logical::ConvertibleElement" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::ConvertibleElement")) to link : OUT!Link ( + name <- refName, referenceTo <- source ) } -lazy rule face__traceability__ConnectionTraceabilitySetReferenceToLink { +lazy rule face__datamodel__logical__MeasurementAttributeReferenceToLink { from - source : IN!"face::traceability::ConnectionTraceabilitySet" in MM (source.oclIsTypeOf(IN!"face::traceability::ConnectionTraceabilitySet")) + refName : String, + source : IN!"face::datamodel::logical::MeasurementAttribute" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::MeasurementAttribute")) to link : OUT!Link ( + name <- refName, referenceTo <- source ) } -lazy rule face__datamodel__conceptual__PathNodeReferenceToLink { +lazy rule face__uop__PlatformSpecificComponentReferenceToLink { from - source : IN!"face::datamodel::conceptual::PathNode" in MM (source.oclIsTypeOf(IN!"face::datamodel::conceptual::PathNode")) + refName : String, + source : IN!"face::uop::PlatformSpecificComponent" in MM (source.oclIsTypeOf(IN!"face::uop::PlatformSpecificComponent")) to link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__logical__StringConstraintReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::logical::StringConstraint" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::StringConstraint")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__platform__IDLNumberReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::platform::IDLNumber" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::IDLNumber")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__traceability__TraceableElementReferenceToLink { + from + refName : String, + source : IN!"face::traceability::TraceableElement" in MM (source.oclIsTypeOf(IN!"face::traceability::TraceableElement")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__platform__PathNodeReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::platform::PathNode" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::PathNode")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__platform__ViewReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::platform::View" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::View")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__traceability__TraceabilityModelReferenceToLink { + from + refName : String, + source : IN!"face::traceability::TraceabilityModel" in MM (source.oclIsTypeOf(IN!"face::traceability::TraceabilityModel")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__logical__PathNodeReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::logical::PathNode" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::PathNode")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__LogicalDataModelReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::LogicalDataModel" in MM (source.oclIsTypeOf(IN!"face::datamodel::LogicalDataModel")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__logical__RegularExpressionConstraintReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::logical::RegularExpressionConstraint" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::RegularExpressionConstraint")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__logical__MeasurementConstraintReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::logical::MeasurementConstraint" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::MeasurementConstraint")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__logical__LandmarkReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::logical::Landmark" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::Landmark")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__platform__CompositionReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::platform::Composition" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::Composition")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__uop__LanguageRunTimeReferenceToLink { + from + refName : String, + source : IN!"face::uop::LanguageRunTime" in MM (source.oclIsTypeOf(IN!"face::uop::LanguageRunTime")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__ArchitectureModelReferenceToLink { + from + refName : String, + source : IN!"face::ArchitectureModel" in MM (source.oclIsTypeOf(IN!"face::ArchitectureModel")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__logical__IntegerReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::logical::Integer" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::Integer")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__platform__ParticipantPathNodeReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::platform::ParticipantPathNode" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::ParticipantPathNode")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__logical__ParticipantReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::logical::Participant" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::Participant")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__platform__ComposableElementReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::platform::ComposableElement" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::ComposableElement")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__platform__CompositeTemplateReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::platform::CompositeTemplate" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::CompositeTemplate")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__uop__PortableComponentReferenceToLink { + from + refName : String, + source : IN!"face::uop::PortableComponent" in MM (source.oclIsTypeOf(IN!"face::uop::PortableComponent")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__logical__IntegerConstraintReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::logical::IntegerConstraint" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::IntegerConstraint")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__logical__NonNegativeRealReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::logical::NonNegativeReal" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::NonNegativeReal")) + to + link : OUT!Link ( + name <- refName, referenceTo <- source ) } lazy rule face__datamodel__platform__LongReferenceToLink { from + refName : String, source : IN!"face::datamodel::platform::Long" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::Long")) to link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__integration__ViewFilterReferenceToLink { + from + refName : String, + source : IN!"face::integration::ViewFilter" in MM (source.oclIsTypeOf(IN!"face::integration::ViewFilter")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__platform__EntityReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::platform::Entity" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::Entity")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__platform__CharReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::platform::Char" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::Char")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__logical__MeasurementSystemReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::logical::MeasurementSystem" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::MeasurementSystem")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__logical__AssociationReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::logical::Association" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::Association")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__logical__RealRangeConstraintReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::logical::RealRangeConstraint" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::RealRangeConstraint")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__conceptual__DomainReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::conceptual::Domain" in MM (source.oclIsTypeOf(IN!"face::datamodel::conceptual::Domain")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__integration__IntegrationContextReferenceToLink { + from + refName : String, + source : IN!"face::integration::IntegrationContext" in MM (source.oclIsTypeOf(IN!"face::integration::IntegrationContext")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__integration__ViewTransporterReferenceToLink { + from + refName : String, + source : IN!"face::integration::ViewTransporter" in MM (source.oclIsTypeOf(IN!"face::integration::ViewTransporter")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__conceptual__ObservableReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::conceptual::Observable" in MM (source.oclIsTypeOf(IN!"face::datamodel::conceptual::Observable")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__logical__MeasurementAxisReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::logical::MeasurementAxis" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::MeasurementAxis")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__platform__OctetReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::platform::Octet" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::Octet")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__conceptual__ComposableElementReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::conceptual::ComposableElement" in MM (source.oclIsTypeOf(IN!"face::datamodel::conceptual::ComposableElement")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__logical__AffineConversionReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::logical::AffineConversion" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::AffineConversion")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__uop__ThreadReferenceToLink { + from + refName : String, + source : IN!"face::uop::Thread" in MM (source.oclIsTypeOf(IN!"face::uop::Thread")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__uop__LifeCycleManagementPortReferenceToLink { + from + refName : String, + source : IN!"face::uop::LifeCycleManagementPort" in MM (source.oclIsTypeOf(IN!"face::uop::LifeCycleManagementPort")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__integration__TransportNodeReferenceToLink { + from + refName : String, + source : IN!"face::integration::TransportNode" in MM (source.oclIsTypeOf(IN!"face::integration::TransportNode")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__platform__ParticipantReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::platform::Participant" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::Participant")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__platform__TemplateCompositionReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::platform::TemplateComposition" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::TemplateComposition")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__uop__SingleInstanceMessageConnectionReferenceToLink { + from + refName : String, + source : IN!"face::uop::SingleInstanceMessageConnection" in MM (source.oclIsTypeOf(IN!"face::uop::SingleInstanceMessageConnection")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__logical__ElementReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::logical::Element" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::Element")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__integration__ViewTransformationReferenceToLink { + from + refName : String, + source : IN!"face::integration::ViewTransformation" in MM (source.oclIsTypeOf(IN!"face::integration::ViewTransformation")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__logical__NaturalReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::logical::Natural" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::Natural")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__platform__PhysicalDataTypeReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::platform::PhysicalDataType" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::PhysicalDataType")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__logical__StandardMeasurementSystemReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::logical::StandardMeasurementSystem" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::StandardMeasurementSystem")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__uop__ClientServerConnectionReferenceToLink { + from + refName : String, + source : IN!"face::uop::ClientServerConnection" in MM (source.oclIsTypeOf(IN!"face::uop::ClientServerConnection")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__integration__UoPOutputEndPointReferenceToLink { + from + refName : String, + source : IN!"face::integration::UoPOutputEndPoint" in MM (source.oclIsTypeOf(IN!"face::integration::UoPOutputEndPoint")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__traceability__ElementReferenceToLink { + from + refName : String, + source : IN!"face::traceability::Element" in MM (source.oclIsTypeOf(IN!"face::traceability::Element")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__platform__BoundedStringReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::platform::BoundedString" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::BoundedString")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__conceptual__CharacteristicPathNodeReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::conceptual::CharacteristicPathNode" in MM (source.oclIsTypeOf(IN!"face::datamodel::conceptual::CharacteristicPathNode")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__platform__TemplateReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::platform::Template" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::Template")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__platform__StringTypeReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::platform::StringType" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::StringType")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__platform__DoubleReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::platform::Double" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::Double")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__conceptual__BasisEntityReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::conceptual::BasisEntity" in MM (source.oclIsTypeOf(IN!"face::datamodel::conceptual::BasisEntity")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__conceptual__AssociationReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::conceptual::Association" in MM (source.oclIsTypeOf(IN!"face::datamodel::conceptual::Association")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__platform__IDLSequenceReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::platform::IDLSequence" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::IDLSequence")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__platform__IDLUnsignedIntegerReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::platform::IDLUnsignedInteger" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::IDLUnsignedInteger")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__ElementReferenceToLink { + from + refName : String, + source : IN!"face::Element" in MM (source.oclIsTypeOf(IN!"face::Element")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__ConceptualDataModelReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::ConceptualDataModel" in MM (source.oclIsTypeOf(IN!"face::datamodel::ConceptualDataModel")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__platform__BooleanReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::platform::Boolean" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::Boolean")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__platform__IDLArrayReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::platform::IDLArray" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::IDLArray")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__logical__QueryReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::logical::Query" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::Query")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__logical__ReferencePointPartReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::logical::ReferencePointPart" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::ReferencePointPart")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__integration__ViewSinkReferenceToLink { + from + refName : String, + source : IN!"face::integration::ViewSink" in MM (source.oclIsTypeOf(IN!"face::integration::ViewSink")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__platform__ULongLongReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::platform::ULongLong" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::ULongLong")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__platform__StringReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::platform::String" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::String")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__integration__TSNodeOutputPortReferenceToLink { + from + refName : String, + source : IN!"face::integration::TSNodeOutputPort" in MM (source.oclIsTypeOf(IN!"face::integration::TSNodeOutputPort")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__platform__CharacteristicReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::platform::Characteristic" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::Characteristic")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__conceptual__CharacteristicReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::conceptual::Characteristic" in MM (source.oclIsTypeOf(IN!"face::datamodel::conceptual::Characteristic")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__logical__MeasurementSystemAxisReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::logical::MeasurementSystemAxis" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::MeasurementSystemAxis")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__ElementReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::Element" in MM (source.oclIsTypeOf(IN!"face::datamodel::Element")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__conceptual__QueryReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::conceptual::Query" in MM (source.oclIsTypeOf(IN!"face::datamodel::conceptual::Query")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__logical__RealConstraintReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::logical::RealConstraint" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::RealConstraint")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__platform__ULongReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::platform::ULong" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::ULong")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__platform__CharacteristicPathNodeReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::platform::CharacteristicPathNode" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::CharacteristicPathNode")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__logical__ParticipantPathNodeReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::logical::ParticipantPathNode" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::ParticipantPathNode")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__conceptual__QueryCompositionReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::conceptual::QueryComposition" in MM (source.oclIsTypeOf(IN!"face::datamodel::conceptual::QueryComposition")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__logical__UnitReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::logical::Unit" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::Unit")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__logical__ValueTypeReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::logical::ValueType" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::ValueType")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__logical__ConversionReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::logical::Conversion" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::Conversion")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__integration__ViewSourceReferenceToLink { + from + refName : String, + source : IN!"face::integration::ViewSource" in MM (source.oclIsTypeOf(IN!"face::integration::ViewSource")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__logical__CharacteristicReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::logical::Characteristic" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::Characteristic")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__logical__CoordinateSystemReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::logical::CoordinateSystem" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::CoordinateSystem")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__uop__ElementReferenceToLink { + from + refName : String, + source : IN!"face::uop::Element" in MM (source.oclIsTypeOf(IN!"face::uop::Element")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__logical__CharacteristicPathNodeReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::logical::CharacteristicPathNode" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::CharacteristicPathNode")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__platform__ShortReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::platform::Short" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::Short")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__conceptual__BasisElementReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::conceptual::BasisElement" in MM (source.oclIsTypeOf(IN!"face::datamodel::conceptual::BasisElement")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__conceptual__CompositeQueryReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::conceptual::CompositeQuery" in MM (source.oclIsTypeOf(IN!"face::datamodel::conceptual::CompositeQuery")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__uop__UnitOfPortabilityReferenceToLink { + from + refName : String, + source : IN!"face::uop::UnitOfPortability" in MM (source.oclIsTypeOf(IN!"face::uop::UnitOfPortability")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__logical__StringReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::logical::String" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::String")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__logical__NumericReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::logical::Numeric" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::Numeric")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__logical__CoordinateSystemAxisReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::logical::CoordinateSystemAxis" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::CoordinateSystemAxis")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__platform__CharTypeReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::platform::CharType" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::CharType")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__platform__IDLRealReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::platform::IDLReal" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::IDLReal")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__uop__ComponentFrameworkReferenceToLink { + from + refName : String, + source : IN!"face::uop::ComponentFramework" in MM (source.oclIsTypeOf(IN!"face::uop::ComponentFramework")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__logical__FixedLengthStringConstraintReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::logical::FixedLengthStringConstraint" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::FixedLengthStringConstraint")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__uop__UoPModelReferenceToLink { + from + refName : String, + source : IN!"face::uop::UoPModel" in MM (source.oclIsTypeOf(IN!"face::uop::UoPModel")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__platform__IDLStructReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::platform::IDLStruct" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::IDLStruct")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__platform__ElementReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::platform::Element" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::Element")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__platform__IDLPrimitiveReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::platform::IDLPrimitive" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::IDLPrimitive")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__platform__QueryReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::platform::Query" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::Query")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__integration__UoPInputEndPointReferenceToLink { + from + refName : String, + source : IN!"face::integration::UoPInputEndPoint" in MM (source.oclIsTypeOf(IN!"face::integration::UoPInputEndPoint")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__uop__AbstractConnectionReferenceToLink { + from + refName : String, + source : IN!"face::uop::AbstractConnection" in MM (source.oclIsTypeOf(IN!"face::uop::AbstractConnection")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__logical__RealReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::logical::Real" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::Real")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__logical__EnumeratedReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::logical::Enumerated" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::Enumerated")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__platform__IDLBoundedStringReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::platform::IDLBoundedString" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::IDLBoundedString")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__logical__ValueTypeUnitReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::logical::ValueTypeUnit" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::ValueTypeUnit")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__logical__EntityReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::logical::Entity" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::Entity")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__conceptual__ParticipantPathNodeReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::conceptual::ParticipantPathNode" in MM (source.oclIsTypeOf(IN!"face::datamodel::conceptual::ParticipantPathNode")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__platform__AssociationReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::platform::Association" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::Association")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__logical__CharacterReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::logical::Character" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::Character")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__conceptual__ElementReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::conceptual::Element" in MM (source.oclIsTypeOf(IN!"face::datamodel::conceptual::Element")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__uop__SupportingComponentReferenceToLink { + from + refName : String, + source : IN!"face::uop::SupportingComponent" in MM (source.oclIsTypeOf(IN!"face::uop::SupportingComponent")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__platform__IDLIntegerReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::platform::IDLInteger" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::IDLInteger")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__conceptual__CompositionReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::conceptual::Composition" in MM (source.oclIsTypeOf(IN!"face::datamodel::conceptual::Composition")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__platform__FloatReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::platform::Float" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::Float")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__integration__UoPEndPointReferenceToLink { + from + refName : String, + source : IN!"face::integration::UoPEndPoint" in MM (source.oclIsTypeOf(IN!"face::integration::UoPEndPoint")) + to + link : OUT!Link ( + name <- refName, referenceTo <- source ) } lazy rule face__datamodel__logical__AbstractMeasurementSystemReferenceToLink { from + refName : String, source : IN!"face::datamodel::logical::AbstractMeasurementSystem" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::AbstractMeasurementSystem")) to link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__logical__AbstractMeasurementReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::logical::AbstractMeasurement" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::AbstractMeasurement")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__platform__LongLongReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::platform::LongLong" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::LongLong")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__traceability__ConnectionTraceabilitySetReferenceToLink { + from + refName : String, + source : IN!"face::traceability::ConnectionTraceabilitySet" in MM (source.oclIsTypeOf(IN!"face::traceability::ConnectionTraceabilitySet")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__logical__IntegerRangeConstraintReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::logical::IntegerRangeConstraint" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::IntegerRangeConstraint")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__DataModelReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::DataModel" in MM (source.oclIsTypeOf(IN!"face::datamodel::DataModel")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__logical__EnumerationConstraintReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::logical::EnumerationConstraint" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::EnumerationConstraint")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__platform__UShortReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::platform::UShort" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::UShort")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__integration__ViewAggregationReferenceToLink { + from + refName : String, + source : IN!"face::integration::ViewAggregation" in MM (source.oclIsTypeOf(IN!"face::integration::ViewAggregation")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__logical__QueryCompositionReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::logical::QueryComposition" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::QueryComposition")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__conceptual__EntityReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::conceptual::Entity" in MM (source.oclIsTypeOf(IN!"face::datamodel::conceptual::Entity")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__logical__ComposableElementReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::logical::ComposableElement" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::ComposableElement")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__uop__AbstractUoPReferenceToLink { + from + refName : String, + source : IN!"face::uop::AbstractUoP" in MM (source.oclIsTypeOf(IN!"face::uop::AbstractUoP")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__conceptual__ParticipantReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::conceptual::Participant" in MM (source.oclIsTypeOf(IN!"face::datamodel::conceptual::Participant")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__logical__ViewReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::logical::View" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::View")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__integration__TSNodePortReferenceToLink { + from + refName : String, + source : IN!"face::integration::TSNodePort" in MM (source.oclIsTypeOf(IN!"face::integration::TSNodePort")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__conceptual__PathNodeReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::conceptual::PathNode" in MM (source.oclIsTypeOf(IN!"face::datamodel::conceptual::PathNode")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__platform__IDLCharacterArrayReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::platform::IDLCharacterArray" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::IDLCharacterArray")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__logical__MeasurementSystemConversionReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::logical::MeasurementSystemConversion" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::MeasurementSystemConversion")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__logical__BooleanReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::logical::Boolean" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::Boolean")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__integration__IntegrationModelReferenceToLink { + from + refName : String, + source : IN!"face::integration::IntegrationModel" in MM (source.oclIsTypeOf(IN!"face::integration::IntegrationModel")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__integration__TSNodeInputPortReferenceToLink { + from + refName : String, + source : IN!"face::integration::TSNodeInputPort" in MM (source.oclIsTypeOf(IN!"face::integration::TSNodeInputPort")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__integration__ElementReferenceToLink { + from + refName : String, + source : IN!"face::integration::Element" in MM (source.oclIsTypeOf(IN!"face::integration::Element")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__integration__UoPInstanceReferenceToLink { + from + refName : String, + source : IN!"face::integration::UoPInstance" in MM (source.oclIsTypeOf(IN!"face::integration::UoPInstance")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__platform__EnumerationReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::platform::Enumeration" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::Enumeration")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__uop__QueuingConnectionReferenceToLink { + from + refName : String, + source : IN!"face::uop::QueuingConnection" in MM (source.oclIsTypeOf(IN!"face::uop::QueuingConnection")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__logical__ConstraintReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::logical::Constraint" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::Constraint")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__PlatformDataModelReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::PlatformDataModel" in MM (source.oclIsTypeOf(IN!"face::datamodel::PlatformDataModel")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__platform__CharArrayReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::platform::CharArray" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::CharArray")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__uop__ConnectionReferenceToLink { + from + refName : String, + source : IN!"face::uop::Connection" in MM (source.oclIsTypeOf(IN!"face::uop::Connection")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__conceptual__ViewReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::conceptual::View" in MM (source.oclIsTypeOf(IN!"face::datamodel::conceptual::View")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__uop__PubSubConnectionReferenceToLink { + from + refName : String, + source : IN!"face::uop::PubSubConnection" in MM (source.oclIsTypeOf(IN!"face::uop::PubSubConnection")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__uop__RAMMemoryRequirementsReferenceToLink { + from + refName : String, + source : IN!"face::uop::RAMMemoryRequirements" in MM (source.oclIsTypeOf(IN!"face::uop::RAMMemoryRequirements")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__logical__CompositeQueryReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::logical::CompositeQuery" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::CompositeQuery")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__logical__MeasurementReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::logical::Measurement" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::Measurement")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__traceability__TraceabilityPointReferenceToLink { + from + refName : String, + source : IN!"face::traceability::TraceabilityPoint" in MM (source.oclIsTypeOf(IN!"face::traceability::TraceabilityPoint")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__logical__EnumerationLabelReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::logical::EnumerationLabel" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::EnumerationLabel")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__integration__TSNodeConnectionReferenceToLink { + from + refName : String, + source : IN!"face::integration::TSNodeConnection" in MM (source.oclIsTypeOf(IN!"face::integration::TSNodeConnection")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__logical__CompositionReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::logical::Composition" in MM (source.oclIsTypeOf(IN!"face::datamodel::logical::Composition")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__datamodel__platform__IDLCompositionReferenceToLink { + from + refName : String, + source : IN!"face::datamodel::platform::IDLComposition" in MM (source.oclIsTypeOf(IN!"face::datamodel::platform::IDLComposition")) + to + link : OUT!Link ( + name <- refName, + referenceTo <- source + ) +} + +lazy rule face__traceability__UoPTraceabilitySetReferenceToLink { + from + refName : String, + source : IN!"face::traceability::UoPTraceabilitySet" in MM (source.oclIsTypeOf(IN!"face::traceability::UoPTraceabilitySet")) + to + link : OUT!Link ( + name <- refName, referenceTo <- source ) } diff --git a/fr.tpt.mem4csd.loss.mm2loss/mm2loss.atl b/fr.tpt.mem4csd.loss.mm2loss/mm2loss.atl index 8a60912..2c296e6 100644 --- a/fr.tpt.mem4csd.loss.mm2loss/mm2loss.atl +++ b/fr.tpt.mem4csd.loss.mm2loss/mm2loss.atl @@ -1,9 +1,10 @@ query mm2loss = let modulename : String = 'face2loss' in - let classifiers : Sequence(String) = ECORE!EClassifier.allInstancesFrom('IN').asSet()->collect(item | item.toRule()) in + let ecoreClassifiers : Sequence(ECORE!EClassifier) = ECORE!EClassifier.allInstancesFrom('ECORE') in + let classifiers : Sequence(String) = ECORE!EClassifier.allInstancesFrom('IN').union(ecoreClassifiers).asSet()->collect(item | item.toRule()) in let linkRules : Sequence(String) = ECORE!EClass.allInstancesFrom('IN').asSet()->collect(cl | cl.toLink()) in - ('module ' + modulename + ';\n\ncreate LOSS : OUT from MM : IN;\n\n' + thisModule.join(classifiers.union(linkRules), '\n').toString()).writeTo((modulename + '.atl').path); + ('module ' + modulename + ';\n\ncreate LOSS : OUT from MM : IN;\n\n' + thisModule.toLink + '\n' + thisModule.join(classifiers.union(linkRules), '\n').toString()).writeTo((modulename + '.atl').path); helper def : join(seq : Sequence(String), separator : String) : String = seq->iterate(el ; acc : String = '' | if acc = '' then el else acc + separator + el endif); @@ -25,37 +26,68 @@ helper context ECORE!EClassifier def : sanitizedFullName : String = self.qualifi helper context ECORE!EDataType def : toRule() : String = 'lazy rule DT' + self.sanitizedFullName + '2Prim {\n' + '\t' + 'from' + '\n' + + '\t' + 'attrName : String' + ',\n' + '\t' + 'source : IN!"' + self.qualifiedName + '" in MM\n' + -- NOTE: DataTypes don't inherit'" (source.oclIsTypeOf(IN!"' + self.qualifiedName + '"))\n' + '\t' + 'to' + '\n' + '\t' + 'prim : OUT!Primitive (' + '\n' + - '\t\t' + 'name <- source.toString()' + '\n' + + '\t\t' + 'name <- attrName' + ',\n' + + '\t\t' + 'className <- \'' + self.qualifiedName + '\'\n' + '\t' + ')' + '\n' + '}\n'; helper context ECORE!EClass def : toLink(source: ECORE!EClass) : String = 'lazy rule ' + self.sanitizedFullName + 'ReferenceToLink {' + '\n' + '\t' + 'from' + '\n' + + '\t' + 'refName : String' + ',\n' + '\t' + 'source : IN!"' + self.qualifiedName + '" in MM (source.oclIsTypeOf(IN!"' + self.qualifiedName + '"))\n' + '\t' + 'to' + '\n' + '\t' + 'link : OUT!Link ('+ '\n' + + '\t\t' + 'name <- refName' + ',\n' + '\t\t' + 'referenceTo <- source' + '\n' + '\t' + ')' + '\n' + '}\n'; + +helper def : toLink : String = + 'lazy rule ReferenceToLink {' + '\n' + + '\t' + 'from' + '\n' + + '\t' + 'refName : String' + ',\n' + + '\t' + 'source : OclAny' + '\n' + + '\t' + 'to' + '\n' + + '\t' + 'link : OUT!Link ('+ '\n' + + '\t\t' + 'name <- refName' + ',\n' + + '\t\t' + 'referenceTo <- source' + '\n' + + '\t' + ')' + '\n' + + '}\n'; + helper def : referenceToPrimitive ( ref : ECORE!EReference ) : String = if ref.many - then '.union(source.' + ref.name + '->collect(it | thisModule.ReferenceToLink(it)))' - else '.add(thisModule.ReferenceToLink(source.' + ref.name + '))' + then '.union(source.' + ref.name + '->collect(it | thisModule.ReferenceToLink(\'' + ref.name + '\', it)))' + else '.including(thisModule.ReferenceToLink(\'' + ref.name + '\', source.' + ref.name + '))' + endif; + +helper def : attributeToPrimitive ( attr : ECORE!EAttribute ) : String = + if attr.many + then '.union(source.' + attr.name + '->collect(it | thisModule.DT' + attr.eAttributeType.sanitizedFullName + '2Prim(\'' + attr.name + '\', it)))' + else '.including(thisModule.DT' + attr.eAttributeType.sanitizedFullName + '2Prim(\'' + attr.name + '\', source.' + attr.name + '))' endif; helper context ECORE!EClass def : toRule() : String = + let noname : Boolean = self.getEStructuralFeature('name').oclIsUndefined() in 'rule CL' + self.sanitizedFullName.debug('class: ') + '2Complex {\n' + '\t' + 'from' + '\n' + '\t' + 'source : IN!"' + self.qualifiedName + '" in MM (source.oclIsTypeOf(IN!"' + self.qualifiedName + '"))\n' + '\t' + 'to' + '\n' + '\t' + 'prim : OUT!Complex (' + '\n' + - '\t\t' + 'name <- source.toString(),' + '\n' + - '\t\t' + 'primitives <- Set{}' + thisModule.join(self.eAllReferences->collect(ref | thisModule.referenceToPrimitive(ref)), '') + '\n' + + '\t\t' + 'reference <- source' + ',\n' + + if noname + then '\t\t' + 'name <- \'NoName\'' + ',\n' + else '\t\t' + 'name <- source.name' + ',\n' + endif + + '\t\t' + 'className <- \'' + self.qualifiedName + '\',\n' + + '\t\t' + 'primitives <- Set{}' + + thisModule.join(self.eAllAttributes->collect(attr | thisModule.attributeToPrimitive(attr)), '') + + thisModule.join(self.eAllReferences->collect(ref | thisModule.referenceToPrimitive(ref)), '') + '\n' + '\t' + ')' + '\n' + '}\n'; diff --git a/fr.tpt.mem4csd.loss.mm2loss/test_face_loss.loss b/fr.tpt.mem4csd.loss.mm2loss/test_face_loss.loss new file mode 100644 index 0000000..3e038ab --- /dev/null +++ b/fr.tpt.mem4csd.loss.mm2loss/test_face_loss.loss @@ -0,0 +1,515 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/fr.tpt.mem4csd.loss/.gitignore b/fr.tpt.mem4csd.loss/.gitignore new file mode 100644 index 0000000..5241a72 --- /dev/null +++ b/fr.tpt.mem4csd.loss/.gitignore @@ -0,0 +1 @@ +*.class \ No newline at end of file diff --git a/fr.tpt.mem4csd.loss/model/loss.ecore b/fr.tpt.mem4csd.loss/model/loss.ecore index 6bfb01c..a9705e0 100644 --- a/fr.tpt.mem4csd.loss/model/loss.ecore +++ b/fr.tpt.mem4csd.loss/model/loss.ecore @@ -1,10 +1,10 @@ - - - + + + + diff --git a/fr.tpt.mem4csd.loss/model/loss.genmodel b/fr.tpt.mem4csd.loss/model/loss.genmodel index 7135032..183fd8e 100644 --- a/fr.tpt.mem4csd.loss/model/loss.genmodel +++ b/fr.tpt.mem4csd.loss/model/loss.genmodel @@ -12,7 +12,7 @@ ecorePackage="loss.ecore#/"> - + @@ -22,6 +22,7 @@ + diff --git a/fr.tpt.mem4csd.loss/src-gen/fr/tpt/mem4csd/loss/Complex.java b/fr.tpt.mem4csd.loss/src-gen/fr/tpt/mem4csd/loss/Complex.java index 47bbfea..89154f6 100644 --- a/fr.tpt.mem4csd.loss/src-gen/fr/tpt/mem4csd/loss/Complex.java +++ b/fr.tpt.mem4csd.loss/src-gen/fr/tpt/mem4csd/loss/Complex.java @@ -3,6 +3,7 @@ package fr.tpt.mem4csd.loss; import org.eclipse.emf.common.util.EList; +import org.eclipse.emf.ecore.EObject; /** * @@ -14,6 +15,7 @@ import org.eclipse.emf.common.util.EList; *

* * * @see fr.tpt.mem4csd.loss.LossPackage#getComplex() @@ -33,4 +35,26 @@ public interface Complex extends NamedObject { */ EList getPrimitives(); + /** + * Returns the value of the 'Reference' reference. + * + * + * @return the value of the 'Reference' reference. + * @see #setReference(EObject) + * @see fr.tpt.mem4csd.loss.LossPackage#getComplex_Reference() + * @model required="true" + * @generated + */ + EObject getReference(); + + /** + * Sets the value of the '{@link fr.tpt.mem4csd.loss.Complex#getReference Reference}' reference. + * + * + * @param value the new value of the 'Reference' reference. + * @see #getReference() + * @generated + */ + void setReference(EObject value); + } // Complex diff --git a/fr.tpt.mem4csd.loss/src-gen/fr/tpt/mem4csd/loss/LossPackage.java b/fr.tpt.mem4csd.loss/src-gen/fr/tpt/mem4csd/loss/LossPackage.java index 41effa9..a7cf5c6 100644 --- a/fr.tpt.mem4csd.loss/src-gen/fr/tpt/mem4csd/loss/LossPackage.java +++ b/fr.tpt.mem4csd.loss/src-gen/fr/tpt/mem4csd/loss/LossPackage.java @@ -76,13 +76,13 @@ public interface LossPackage extends EPackage { int NAMED_OBJECT__NAME = 0; /** - * The feature id for the 'Qname' attribute. + * The feature id for the 'Class Name' attribute. * * * @generated * @ordered */ - int NAMED_OBJECT__QNAME = 1; + int NAMED_OBJECT__CLASS_NAME = 1; /** * The number of structural features of the 'Named Object' class. @@ -122,13 +122,13 @@ public interface LossPackage extends EPackage { int PRIMITIVE__NAME = NAMED_OBJECT__NAME; /** - * The feature id for the 'Qname' attribute. + * The feature id for the 'Class Name' attribute. * * * @generated * @ordered */ - int PRIMITIVE__QNAME = NAMED_OBJECT__QNAME; + int PRIMITIVE__CLASS_NAME = NAMED_OBJECT__CLASS_NAME; /** * The feature id for the 'Type' containment reference. @@ -177,13 +177,13 @@ public interface LossPackage extends EPackage { int LINK__NAME = PRIMITIVE__NAME; /** - * The feature id for the 'Qname' attribute. + * The feature id for the 'Class Name' attribute. * * * @generated * @ordered */ - int LINK__QNAME = PRIMITIVE__QNAME; + int LINK__CLASS_NAME = PRIMITIVE__CLASS_NAME; /** * The feature id for the 'Type' containment reference. @@ -241,13 +241,13 @@ public interface LossPackage extends EPackage { int COMPLEX__NAME = NAMED_OBJECT__NAME; /** - * The feature id for the 'Qname' attribute. + * The feature id for the 'Class Name' attribute. * * * @generated * @ordered */ - int COMPLEX__QNAME = NAMED_OBJECT__QNAME; + int COMPLEX__CLASS_NAME = NAMED_OBJECT__CLASS_NAME; /** * The feature id for the 'Primitives' containment reference list. @@ -258,6 +258,15 @@ public interface LossPackage extends EPackage { */ int COMPLEX__PRIMITIVES = NAMED_OBJECT_FEATURE_COUNT + 0; + /** + * The feature id for the 'Reference' reference. + * + * + * @generated + * @ordered + */ + int COMPLEX__REFERENCE = NAMED_OBJECT_FEATURE_COUNT + 1; + /** * The number of structural features of the 'Complex' class. * @@ -265,7 +274,7 @@ public interface LossPackage extends EPackage { * @generated * @ordered */ - int COMPLEX_FEATURE_COUNT = NAMED_OBJECT_FEATURE_COUNT + 1; + int COMPLEX_FEATURE_COUNT = NAMED_OBJECT_FEATURE_COUNT + 2; /** * The number of operations of the 'Complex' class. @@ -298,15 +307,15 @@ public interface LossPackage extends EPackage { EAttribute getNamedObject_Name(); /** - * Returns the meta object for the attribute '{@link fr.tpt.mem4csd.loss.NamedObject#getQname Qname}'. + * Returns the meta object for the attribute '{@link fr.tpt.mem4csd.loss.NamedObject#getClassName Class Name}'. * * - * @return the meta object for the attribute 'Qname'. - * @see fr.tpt.mem4csd.loss.NamedObject#getQname() + * @return the meta object for the attribute 'Class Name'. + * @see fr.tpt.mem4csd.loss.NamedObject#getClassName() * @see #getNamedObject() * @generated */ - EAttribute getNamedObject_Qname(); + EAttribute getNamedObject_ClassName(); /** * Returns the meta object for class '{@link fr.tpt.mem4csd.loss.Primitive Primitive}'. @@ -371,6 +380,17 @@ public interface LossPackage extends EPackage { */ EReference getComplex_Primitives(); + /** + * Returns the meta object for the reference '{@link fr.tpt.mem4csd.loss.Complex#getReference Reference}'. + * + * + * @return the meta object for the reference 'Reference'. + * @see fr.tpt.mem4csd.loss.Complex#getReference() + * @see #getComplex() + * @generated + */ + EReference getComplex_Reference(); + /** * Returns the factory that creates the instances of the model. * @@ -413,12 +433,12 @@ public interface LossPackage extends EPackage { EAttribute NAMED_OBJECT__NAME = eINSTANCE.getNamedObject_Name(); /** - * The meta object literal for the 'Qname' attribute feature. + * The meta object literal for the 'Class Name' attribute feature. * * * @generated */ - EAttribute NAMED_OBJECT__QNAME = eINSTANCE.getNamedObject_Qname(); + EAttribute NAMED_OBJECT__CLASS_NAME = eINSTANCE.getNamedObject_ClassName(); /** * The meta object literal for the '{@link fr.tpt.mem4csd.loss.impl.PrimitiveImpl Primitive}' class. @@ -474,6 +494,14 @@ public interface LossPackage extends EPackage { */ EReference COMPLEX__PRIMITIVES = eINSTANCE.getComplex_Primitives(); + /** + * The meta object literal for the 'Reference' reference feature. + * + * + * @generated + */ + EReference COMPLEX__REFERENCE = eINSTANCE.getComplex_Reference(); + } } //LossPackage diff --git a/fr.tpt.mem4csd.loss/src-gen/fr/tpt/mem4csd/loss/NamedObject.java b/fr.tpt.mem4csd.loss/src-gen/fr/tpt/mem4csd/loss/NamedObject.java index 18269fb..99ef7d2 100644 --- a/fr.tpt.mem4csd.loss/src-gen/fr/tpt/mem4csd/loss/NamedObject.java +++ b/fr.tpt.mem4csd.loss/src-gen/fr/tpt/mem4csd/loss/NamedObject.java @@ -14,7 +14,7 @@ import org.eclipse.emf.ecore.EObject; *

* * * @see fr.tpt.mem4csd.loss.LossPackage#getNamedObject() @@ -29,7 +29,7 @@ public interface NamedObject extends EObject { * @return the value of the 'Name' attribute. * @see #setName(String) * @see fr.tpt.mem4csd.loss.LossPackage#getNamedObject_Name() - * @model required="true" + * @model * @generated */ String getName(); @@ -45,14 +45,25 @@ public interface NamedObject extends EObject { void setName(String value); /** - * Returns the value of the 'Qname' attribute. + * Returns the value of the 'Class Name' attribute. * * - * @return the value of the 'Qname' attribute. - * @see fr.tpt.mem4csd.loss.LossPackage#getNamedObject_Qname() - * @model id="true" required="true" changeable="false" derived="true" + * @return the value of the 'Class Name' attribute. + * @see #setClassName(String) + * @see fr.tpt.mem4csd.loss.LossPackage#getNamedObject_ClassName() + * @model required="true" * @generated */ - String getQname(); + String getClassName(); + + /** + * Sets the value of the '{@link fr.tpt.mem4csd.loss.NamedObject#getClassName Class Name}' attribute. + * + * + * @param value the new value of the 'Class Name' attribute. + * @see #getClassName() + * @generated + */ + void setClassName(String value); } // NamedObject diff --git a/fr.tpt.mem4csd.loss/src-gen/fr/tpt/mem4csd/loss/impl/ComplexImpl.java b/fr.tpt.mem4csd.loss/src-gen/fr/tpt/mem4csd/loss/impl/ComplexImpl.java index 6050017..4bd9b3d 100644 --- a/fr.tpt.mem4csd.loss/src-gen/fr/tpt/mem4csd/loss/impl/ComplexImpl.java +++ b/fr.tpt.mem4csd.loss/src-gen/fr/tpt/mem4csd/loss/impl/ComplexImpl.java @@ -8,13 +8,16 @@ import fr.tpt.mem4csd.loss.Primitive; import java.util.Collection; +import org.eclipse.emf.common.notify.Notification; import org.eclipse.emf.common.notify.NotificationChain; import org.eclipse.emf.common.util.EList; import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.ecore.InternalEObject; +import org.eclipse.emf.ecore.impl.ENotificationImpl; import org.eclipse.emf.ecore.util.EObjectContainmentEList; import org.eclipse.emf.ecore.util.InternalEList; @@ -27,6 +30,7 @@ import org.eclipse.emf.ecore.util.InternalEList; *

* * * @generated @@ -42,6 +46,16 @@ public class ComplexImpl extends NamedObjectImpl implements Complex { */ protected EList primitives; + /** + * The cached value of the '{@link #getReference() Reference}' reference. + * + * + * @see #getReference() + * @generated + * @ordered + */ + protected EObject reference; + /** * * @@ -74,6 +88,48 @@ public class ComplexImpl extends NamedObjectImpl implements Complex { return primitives; } + /** + * + * + * @generated + */ + @Override + public EObject getReference() { + if (reference != null && reference.eIsProxy()) { + InternalEObject oldReference = (InternalEObject) reference; + reference = eResolveProxy(oldReference); + if (reference != oldReference) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, LossPackage.COMPLEX__REFERENCE, + oldReference, reference)); + } + } + return reference; + } + + /** + * + * + * @generated + */ + public EObject basicGetReference() { + return reference; + } + + /** + * + * + * @generated + */ + @Override + public void setReference(EObject newReference) { + EObject oldReference = reference; + reference = newReference; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, LossPackage.COMPLEX__REFERENCE, oldReference, + reference)); + } + /** * * @@ -98,6 +154,10 @@ public class ComplexImpl extends NamedObjectImpl implements Complex { switch (featureID) { case LossPackage.COMPLEX__PRIMITIVES: return getPrimitives(); + case LossPackage.COMPLEX__REFERENCE: + if (resolve) + return getReference(); + return basicGetReference(); } return super.eGet(featureID, resolve, coreType); } @@ -115,6 +175,9 @@ public class ComplexImpl extends NamedObjectImpl implements Complex { getPrimitives().clear(); getPrimitives().addAll((Collection) newValue); return; + case LossPackage.COMPLEX__REFERENCE: + setReference((EObject) newValue); + return; } super.eSet(featureID, newValue); } @@ -130,6 +193,9 @@ public class ComplexImpl extends NamedObjectImpl implements Complex { case LossPackage.COMPLEX__PRIMITIVES: getPrimitives().clear(); return; + case LossPackage.COMPLEX__REFERENCE: + setReference((EObject) null); + return; } super.eUnset(featureID); } @@ -144,6 +210,8 @@ public class ComplexImpl extends NamedObjectImpl implements Complex { switch (featureID) { case LossPackage.COMPLEX__PRIMITIVES: return primitives != null && !primitives.isEmpty(); + case LossPackage.COMPLEX__REFERENCE: + return reference != null; } return super.eIsSet(featureID); } diff --git a/fr.tpt.mem4csd.loss/src-gen/fr/tpt/mem4csd/loss/impl/LossPackageImpl.java b/fr.tpt.mem4csd.loss/src-gen/fr/tpt/mem4csd/loss/impl/LossPackageImpl.java index 1e567cd..c468f06 100644 --- a/fr.tpt.mem4csd.loss/src-gen/fr/tpt/mem4csd/loss/impl/LossPackageImpl.java +++ b/fr.tpt.mem4csd.loss/src-gen/fr/tpt/mem4csd/loss/impl/LossPackageImpl.java @@ -141,7 +141,7 @@ public class LossPackageImpl extends EPackageImpl implements LossPackage { * @generated */ @Override - public EAttribute getNamedObject_Qname() { + public EAttribute getNamedObject_ClassName() { return (EAttribute) namedObjectEClass.getEStructuralFeatures().get(1); } @@ -205,6 +205,16 @@ public class LossPackageImpl extends EPackageImpl implements LossPackage { return (EReference) complexEClass.getEStructuralFeatures().get(0); } + /** + * + * + * @generated + */ + @Override + public EReference getComplex_Reference() { + return (EReference) complexEClass.getEStructuralFeatures().get(1); + } + /** * * @@ -237,7 +247,7 @@ public class LossPackageImpl extends EPackageImpl implements LossPackage { // Create classes and their features namedObjectEClass = createEClass(NAMED_OBJECT); createEAttribute(namedObjectEClass, NAMED_OBJECT__NAME); - createEAttribute(namedObjectEClass, NAMED_OBJECT__QNAME); + createEAttribute(namedObjectEClass, NAMED_OBJECT__CLASS_NAME); primitiveEClass = createEClass(PRIMITIVE); createEReference(primitiveEClass, PRIMITIVE__TYPE); @@ -247,6 +257,7 @@ public class LossPackageImpl extends EPackageImpl implements LossPackage { complexEClass = createEClass(COMPLEX); createEReference(complexEClass, COMPLEX__PRIMITIVES); + createEReference(complexEClass, COMPLEX__REFERENCE); } /** @@ -285,10 +296,11 @@ public class LossPackageImpl extends EPackageImpl implements LossPackage { // Initialize classes, features, and operations; add parameters initEClass(namedObjectEClass, NamedObject.class, "NamedObject", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - initEAttribute(getNamedObject_Name(), ecorePackage.getEString(), "name", null, 1, 1, NamedObject.class, + initEAttribute(getNamedObject_Name(), ecorePackage.getEString(), "name", null, 0, 1, NamedObject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEAttribute(getNamedObject_Qname(), ecorePackage.getEString(), "qname", null, 1, 1, NamedObject.class, - !IS_TRANSIENT, !IS_VOLATILE, !IS_CHANGEABLE, !IS_UNSETTABLE, IS_ID, IS_UNIQUE, IS_DERIVED, IS_ORDERED); + initEAttribute(getNamedObject_ClassName(), ecorePackage.getEString(), "className", null, 1, 1, + NamedObject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, + !IS_DERIVED, IS_ORDERED); initEClass(primitiveEClass, Primitive.class, "Primitive", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); @@ -305,6 +317,9 @@ public class LossPackageImpl extends EPackageImpl implements LossPackage { initEReference(getComplex_Primitives(), this.getPrimitive(), null, "primitives", null, 0, -1, Complex.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getComplex_Reference(), ecorePackage.getEObject(), null, "reference", null, 1, 1, Complex.class, + !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, + IS_UNIQUE, !IS_DERIVED, IS_ORDERED); // Create resource createResource(eNS_URI); diff --git a/fr.tpt.mem4csd.loss/src-gen/fr/tpt/mem4csd/loss/impl/NamedObjectImpl.java b/fr.tpt.mem4csd.loss/src-gen/fr/tpt/mem4csd/loss/impl/NamedObjectImpl.java index 8398ead..db017c8 100644 --- a/fr.tpt.mem4csd.loss/src-gen/fr/tpt/mem4csd/loss/impl/NamedObjectImpl.java +++ b/fr.tpt.mem4csd.loss/src-gen/fr/tpt/mem4csd/loss/impl/NamedObjectImpl.java @@ -8,7 +8,6 @@ import fr.tpt.mem4csd.loss.NamedObject; import org.eclipse.emf.common.notify.Notification; import org.eclipse.emf.ecore.EClass; - import org.eclipse.emf.ecore.impl.ENotificationImpl; import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; @@ -21,7 +20,7 @@ import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; *

*
    *
  • {@link fr.tpt.mem4csd.loss.impl.NamedObjectImpl#getName Name}
  • - *
  • {@link fr.tpt.mem4csd.loss.impl.NamedObjectImpl#getQname Qname}
  • + *
  • {@link fr.tpt.mem4csd.loss.impl.NamedObjectImpl#getClassName Class Name}
  • *
* * @generated @@ -48,24 +47,24 @@ public abstract class NamedObjectImpl extends MinimalEObjectImpl.Container imple protected String name = NAME_EDEFAULT; /** - * The default value of the '{@link #getQname() Qname}' attribute. + * The default value of the '{@link #getClassName() Class Name}' attribute. * * - * @see #getQname() + * @see #getClassName() * @generated * @ordered */ - protected static final String QNAME_EDEFAULT = null; + protected static final String CLASS_NAME_EDEFAULT = null; /** - * The cached value of the '{@link #getQname() Qname}' attribute. + * The cached value of the '{@link #getClassName() Class Name}' attribute. * * - * @see #getQname() + * @see #getClassName() * @generated * @ordered */ - protected String qname = QNAME_EDEFAULT; + protected String className = CLASS_NAME_EDEFAULT; /** * @@ -115,8 +114,22 @@ public abstract class NamedObjectImpl extends MinimalEObjectImpl.Container imple * @generated */ @Override - public String getQname() { - return qname; + public String getClassName() { + return className; + } + + /** + * + * + * @generated + */ + @Override + public void setClassName(String newClassName) { + String oldClassName = className; + className = newClassName; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, LossPackage.NAMED_OBJECT__CLASS_NAME, oldClassName, + className)); } /** @@ -129,8 +142,8 @@ public abstract class NamedObjectImpl extends MinimalEObjectImpl.Container imple switch (featureID) { case LossPackage.NAMED_OBJECT__NAME: return getName(); - case LossPackage.NAMED_OBJECT__QNAME: - return getQname(); + case LossPackage.NAMED_OBJECT__CLASS_NAME: + return getClassName(); } return super.eGet(featureID, resolve, coreType); } @@ -146,6 +159,9 @@ public abstract class NamedObjectImpl extends MinimalEObjectImpl.Container imple case LossPackage.NAMED_OBJECT__NAME: setName((String) newValue); return; + case LossPackage.NAMED_OBJECT__CLASS_NAME: + setClassName((String) newValue); + return; } super.eSet(featureID, newValue); } @@ -161,6 +177,9 @@ public abstract class NamedObjectImpl extends MinimalEObjectImpl.Container imple case LossPackage.NAMED_OBJECT__NAME: setName(NAME_EDEFAULT); return; + case LossPackage.NAMED_OBJECT__CLASS_NAME: + setClassName(CLASS_NAME_EDEFAULT); + return; } super.eUnset(featureID); } @@ -175,8 +194,8 @@ public abstract class NamedObjectImpl extends MinimalEObjectImpl.Container imple switch (featureID) { case LossPackage.NAMED_OBJECT__NAME: return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); - case LossPackage.NAMED_OBJECT__QNAME: - return QNAME_EDEFAULT == null ? qname != null : !QNAME_EDEFAULT.equals(qname); + case LossPackage.NAMED_OBJECT__CLASS_NAME: + return CLASS_NAME_EDEFAULT == null ? className != null : !CLASS_NAME_EDEFAULT.equals(className); } return super.eIsSet(featureID); } @@ -194,8 +213,8 @@ public abstract class NamedObjectImpl extends MinimalEObjectImpl.Container imple StringBuilder result = new StringBuilder(super.toString()); result.append(" (name: "); result.append(name); - result.append(", qname: "); - result.append(qname); + result.append(", className: "); + result.append(className); result.append(')'); return result.toString(); }