Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/org.eclipse.etrice.core.genmodel')
-rw-r--r--plugins/org.eclipse.etrice.core.genmodel/.classpath16
-rw-r--r--plugins/org.eclipse.etrice.core.genmodel/.gitignore2
-rw-r--r--plugins/org.eclipse.etrice.core.genmodel/.project56
-rw-r--r--plugins/org.eclipse.etrice.core.genmodel/.settings/edu.umd.cs.findbugs.core.prefs264
-rw-r--r--plugins/org.eclipse.etrice.core.genmodel/.settings/org.eclipse.jdt.core.prefs16
-rw-r--r--plugins/org.eclipse.etrice.core.genmodel/META-INF/MANIFEST.MF40
-rw-r--r--plugins/org.eclipse.etrice.core.genmodel/about.html54
-rw-r--r--plugins/org.eclipse.etrice.core.genmodel/build.properties30
-rw-r--r--plugins/org.eclipse.etrice.core.genmodel/model/etricegen.ecore476
-rw-r--r--plugins/org.eclipse.etrice.core.genmodel/model/etricegen.genmodel374
-rw-r--r--plugins/org.eclipse.etrice.core.genmodel/model/howto.txt4
-rw-r--r--plugins/org.eclipse.etrice.core.genmodel/plugin.properties16
-rw-r--r--plugins/org.eclipse.etrice.core.genmodel/plugin.xml52
-rw-r--r--plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/Activator.java84
-rw-r--r--plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/SetupGenmodel.java64
-rw-r--r--plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/base/ILogger.java70
-rw-r--r--plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/base/NullDiagnostician.java130
-rw-r--r--plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/base/NullLogger.java74
-rw-r--r--plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/builder/BindingUtil.java486
-rw-r--r--plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/builder/GeneratorModelBuilder.java2014
-rw-r--r--plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/builder/ValidationException.java50
-rw-r--r--plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/ActiveTrigger.java284
-rw-r--r--plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/ActorInstance.java214
-rw-r--r--plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/BindingInstance.java166
-rw-r--r--plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/ConnectionInstance.java288
-rw-r--r--plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/ETriceGenFactory.java374
-rw-r--r--plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/ETriceGenPackage.java6388
-rw-r--r--plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/ExpandedActorClass.java626
-rw-r--r--plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/ExpandedRefinedState.java246
-rw-r--r--plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/IDiagnostician.java134
-rw-r--r--plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/ITransitionChainVisitor.java170
-rw-r--r--plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/InstanceBase.java290
-rw-r--r--plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/InterfaceItemInstance.java218
-rw-r--r--plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/PortInstance.java212
-rw-r--r--plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/PortKind.java472
-rw-r--r--plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/Root.java590
-rw-r--r--plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/SAPInstance.java120
-rw-r--r--plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/SPPInstance.java214
-rw-r--r--plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/ServiceImplInstance.java120
-rw-r--r--plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/StructureInstance.java330
-rw-r--r--plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/SubSystemInstance.java170
-rw-r--r--plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/SystemInstance.java152
-rw-r--r--plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/TransitionChain.java236
-rw-r--r--plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/ActiveTriggerImpl.java678
-rw-r--r--plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/ActorInstanceImpl.java518
-rw-r--r--plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/BindingInstanceImpl.java480
-rw-r--r--plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/ConnectionInstanceImpl.java862
-rw-r--r--plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/ETriceGenFactoryImpl.java642
-rw-r--r--plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/ETriceGenPackageImpl.java2690
-rw-r--r--plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/ExpandedActorClassImpl.java2718
-rw-r--r--plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/ExpandedRefinedStateImpl.java778
-rw-r--r--plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/InstanceBaseImpl.java678
-rw-r--r--plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/InterfaceItemInstanceImpl.java514
-rw-r--r--plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/PortInstanceImpl.java610
-rw-r--r--plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/RootImpl.java1902
-rw-r--r--plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/SAPInstanceImpl.java332
-rw-r--r--plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/SPPInstanceImpl.java656
-rw-r--r--plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/ServiceImplInstanceImpl.java334
-rw-r--r--plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/StructureInstanceImpl.java972
-rw-r--r--plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/SubSystemInstanceImpl.java490
-rw-r--r--plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/SystemInstanceImpl.java444
-rw-r--r--plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/TransitionChainImpl.java740
-rw-r--r--plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/util/ETriceGenAdapterFactory.java1092
-rw-r--r--plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/util/ETriceGenResourceFactoryImpl.java102
-rw-r--r--plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/util/ETriceGenResourceImpl.java76
-rw-r--r--plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/util/ETriceGenSwitch.java1194
-rw-r--r--plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/util/ETriceGenUtil.java104
67 files changed, 17996 insertions, 17996 deletions
diff --git a/plugins/org.eclipse.etrice.core.genmodel/.classpath b/plugins/org.eclipse.etrice.core.genmodel/.classpath
index 3b679e683..07a5d58a2 100644
--- a/plugins/org.eclipse.etrice.core.genmodel/.classpath
+++ b/plugins/org.eclipse.etrice.core.genmodel/.classpath
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="model"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="model"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/plugins/org.eclipse.etrice.core.genmodel/.gitignore b/plugins/org.eclipse.etrice.core.genmodel/.gitignore
index 092357e47..ba077a403 100644
--- a/plugins/org.eclipse.etrice.core.genmodel/.gitignore
+++ b/plugins/org.eclipse.etrice.core.genmodel/.gitignore
@@ -1 +1 @@
-bin
+bin
diff --git a/plugins/org.eclipse.etrice.core.genmodel/.project b/plugins/org.eclipse.etrice.core.genmodel/.project
index 97ba7004c..a81f635b8 100644
--- a/plugins/org.eclipse.etrice.core.genmodel/.project
+++ b/plugins/org.eclipse.etrice.core.genmodel/.project
@@ -1,28 +1,28 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.etrice.core.genmodel</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- </natures>
-</projectDescription>
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.etrice.core.genmodel</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
diff --git a/plugins/org.eclipse.etrice.core.genmodel/.settings/edu.umd.cs.findbugs.core.prefs b/plugins/org.eclipse.etrice.core.genmodel/.settings/edu.umd.cs.findbugs.core.prefs
index a8786022b..46d0c25b6 100644
--- a/plugins/org.eclipse.etrice.core.genmodel/.settings/edu.umd.cs.findbugs.core.prefs
+++ b/plugins/org.eclipse.etrice.core.genmodel/.settings/edu.umd.cs.findbugs.core.prefs
@@ -1,132 +1,132 @@
-#FindBugs User Preferences
-#Thu Nov 29 18:46:28 CET 2012
-cloud_id=edu.umd.cs.findbugs.cloud.doNothingCloud
-detectorAppendingToAnObjectOutputStream=AppendingToAnObjectOutputStream|true
-detectorAtomicityProblem=AtomicityProblem|true
-detectorBadAppletConstructor=BadAppletConstructor|false
-detectorBadResultSetAccess=BadResultSetAccess|true
-detectorBadSyntaxForRegularExpression=BadSyntaxForRegularExpression|true
-detectorBadUseOfReturnValue=BadUseOfReturnValue|true
-detectorBadlyOverriddenAdapter=BadlyOverriddenAdapter|true
-detectorBooleanReturnNull=BooleanReturnNull|true
-detectorCallToUnsupportedMethod=CallToUnsupportedMethod|false
-detectorCheckExpectedWarnings=CheckExpectedWarnings|false
-detectorCheckImmutableAnnotation=CheckImmutableAnnotation|true
-detectorCheckTypeQualifiers=CheckTypeQualifiers|true
-detectorCloneIdiom=CloneIdiom|true
-detectorComparatorIdiom=ComparatorIdiom|true
-detectorConfusedInheritance=ConfusedInheritance|true
-detectorConfusionBetweenInheritedAndOuterMethod=ConfusionBetweenInheritedAndOuterMethod|true
-detectorCrossSiteScripting=CrossSiteScripting|true
-detectorDefaultEncodingDetector=DefaultEncodingDetector|true
-detectorDoInsideDoPrivileged=DoInsideDoPrivileged|true
-detectorDontCatchIllegalMonitorStateException=DontCatchIllegalMonitorStateException|true
-detectorDontIgnoreResultOfPutIfAbsent=DontIgnoreResultOfPutIfAbsent|true
-detectorDontUseEnum=DontUseEnum|true
-detectorDroppedException=DroppedException|true
-detectorDumbMethodInvocations=DumbMethodInvocations|true
-detectorDumbMethods=DumbMethods|true
-detectorDuplicateBranches=DuplicateBranches|true
-detectorEmptyZipFileEntry=EmptyZipFileEntry|true
-detectorEqualsOperandShouldHaveClassCompatibleWithThis=EqualsOperandShouldHaveClassCompatibleWithThis|true
-detectorExplicitSerialization=ExplicitSerialization|true
-detectorFinalizerNullsFields=FinalizerNullsFields|true
-detectorFindBadCast2=FindBadCast2|true
-detectorFindBadForLoop=FindBadForLoop|true
-detectorFindCircularDependencies=FindCircularDependencies|false
-detectorFindDeadLocalStores=FindDeadLocalStores|true
-detectorFindDoubleCheck=FindDoubleCheck|true
-detectorFindEmptySynchronizedBlock=FindEmptySynchronizedBlock|true
-detectorFindFieldSelfAssignment=FindFieldSelfAssignment|true
-detectorFindFinalizeInvocations=FindFinalizeInvocations|true
-detectorFindFloatEquality=FindFloatEquality|true
-detectorFindHEmismatch=FindHEmismatch|true
-detectorFindInconsistentSync2=FindInconsistentSync2|true
-detectorFindJSR166LockMonitorenter=FindJSR166LockMonitorenter|true
-detectorFindLocalSelfAssignment2=FindLocalSelfAssignment2|true
-detectorFindMaskedFields=FindMaskedFields|true
-detectorFindMismatchedWaitOrNotify=FindMismatchedWaitOrNotify|true
-detectorFindNakedNotify=FindNakedNotify|true
-detectorFindNonShortCircuit=FindNonShortCircuit|true
-detectorFindNullDeref=FindNullDeref|true
-detectorFindNullDerefsInvolvingNonShortCircuitEvaluation=FindNullDerefsInvolvingNonShortCircuitEvaluation|true
-detectorFindOpenStream=FindOpenStream|true
-detectorFindPuzzlers=FindPuzzlers|true
-detectorFindRefComparison=FindRefComparison|true
-detectorFindReturnRef=FindReturnRef|true
-detectorFindRunInvocations=FindRunInvocations|true
-detectorFindSelfComparison=FindSelfComparison|true
-detectorFindSelfComparison2=FindSelfComparison2|true
-detectorFindSleepWithLockHeld=FindSleepWithLockHeld|true
-detectorFindSpinLoop=FindSpinLoop|true
-detectorFindSqlInjection=FindSqlInjection|true
-detectorFindTwoLockWait=FindTwoLockWait|true
-detectorFindUncalledPrivateMethods=FindUncalledPrivateMethods|true
-detectorFindUnconditionalWait=FindUnconditionalWait|true
-detectorFindUninitializedGet=FindUninitializedGet|true
-detectorFindUnrelatedTypesInGenericContainer=FindUnrelatedTypesInGenericContainer|true
-detectorFindUnreleasedLock=FindUnreleasedLock|true
-detectorFindUnsatisfiedObligation=FindUnsatisfiedObligation|true
-detectorFindUnsyncGet=FindUnsyncGet|true
-detectorFindUseOfNonSerializableValue=FindUseOfNonSerializableValue|true
-detectorFindUselessControlFlow=FindUselessControlFlow|true
-detectorFormatStringChecker=FormatStringChecker|true
-detectorHugeSharedStringConstants=HugeSharedStringConstants|true
-detectorIDivResultCastToDouble=IDivResultCastToDouble|true
-detectorIncompatMask=IncompatMask|true
-detectorInconsistentAnnotations=InconsistentAnnotations|true
-detectorInefficientMemberAccess=InefficientMemberAccess|false
-detectorInefficientToArray=InefficientToArray|true
-detectorInfiniteLoop=InfiniteLoop|true
-detectorInfiniteRecursiveLoop=InfiniteRecursiveLoop|true
-detectorInheritanceUnsafeGetResource=InheritanceUnsafeGetResource|true
-detectorInitializationChain=InitializationChain|true
-detectorInitializeNonnullFieldsInConstructor=InitializeNonnullFieldsInConstructor|true
-detectorInstantiateStaticClass=InstantiateStaticClass|true
-detectorIntCast2LongAsInstant=IntCast2LongAsInstant|true
-detectorInvalidJUnitTest=InvalidJUnitTest|true
-detectorIteratorIdioms=IteratorIdioms|true
-detectorLazyInit=LazyInit|true
-detectorLoadOfKnownNullValue=LoadOfKnownNullValue|true
-detectorLostLoggerDueToWeakReference=LostLoggerDueToWeakReference|true
-detectorMethodReturnCheck=MethodReturnCheck|true
-detectorMultithreadedInstanceAccess=MultithreadedInstanceAccess|true
-detectorMutableLock=MutableLock|true
-detectorMutableStaticFields=MutableStaticFields|true
-detectorNaming=Naming|true
-detectorNoteUnconditionalParamDerefs=NoteUnconditionalParamDerefs|true
-detectorNumberConstructor=NumberConstructor|true
-detectorOverridingEqualsNotSymmetrical=OverridingEqualsNotSymmetrical|true
-detectorPreferZeroLengthArrays=PreferZeroLengthArrays|true
-detectorPublicSemaphores=PublicSemaphores|false
-detectorQuestionableBooleanAssignment=QuestionableBooleanAssignment|true
-detectorReadOfInstanceFieldInMethodInvokedByConstructorInSuperclass=ReadOfInstanceFieldInMethodInvokedByConstructorInSuperclass|true
-detectorReadReturnShouldBeChecked=ReadReturnShouldBeChecked|true
-detectorRedundantInterfaces=RedundantInterfaces|true
-detectorRepeatedConditionals=RepeatedConditionals|true
-detectorRuntimeExceptionCapture=RuntimeExceptionCapture|true
-detectorSerializableIdiom=SerializableIdiom|true
-detectorStartInConstructor=StartInConstructor|true
-detectorStaticCalendarDetector=StaticCalendarDetector|true
-detectorStringConcatenation=StringConcatenation|true
-detectorSuperfluousInstanceOf=SuperfluousInstanceOf|true
-detectorSuspiciousThreadInterrupted=SuspiciousThreadInterrupted|true
-detectorSwitchFallthrough=SwitchFallthrough|true
-detectorSynchronizeAndNullCheckField=SynchronizeAndNullCheckField|true
-detectorSynchronizeOnClassLiteralNotGetClass=SynchronizeOnClassLiteralNotGetClass|true
-detectorSynchronizingOnContentsOfFieldToProtectField=SynchronizingOnContentsOfFieldToProtectField|true
-detectorURLProblems=URLProblems|true
-detectorUncallableMethodOfAnonymousClass=UncallableMethodOfAnonymousClass|true
-detectorUnnecessaryMath=UnnecessaryMath|true
-detectorUnreadFields=UnreadFields|true
-detectorUselessSubclassMethod=UselessSubclassMethod|false
-detectorVarArgsProblems=VarArgsProblems|true
-detectorVolatileUsage=VolatileUsage|true
-detectorWaitInLoop=WaitInLoop|true
-detectorWrongMapIterator=WrongMapIterator|true
-detectorXMLFactoryBypass=XMLFactoryBypass|true
-detector_threshold=2
-effort=default
-filter_settings=Medium|BAD_PRACTICE,CORRECTNESS,MT_CORRECTNESS,PERFORMANCE,STYLE|false|15
-filter_settings_neg=MALICIOUS_CODE,NOISE,I18N,SECURITY,EXPERIMENTAL|
-run_at_full_build=false
+#FindBugs User Preferences
+#Thu Nov 29 18:46:28 CET 2012
+cloud_id=edu.umd.cs.findbugs.cloud.doNothingCloud
+detectorAppendingToAnObjectOutputStream=AppendingToAnObjectOutputStream|true
+detectorAtomicityProblem=AtomicityProblem|true
+detectorBadAppletConstructor=BadAppletConstructor|false
+detectorBadResultSetAccess=BadResultSetAccess|true
+detectorBadSyntaxForRegularExpression=BadSyntaxForRegularExpression|true
+detectorBadUseOfReturnValue=BadUseOfReturnValue|true
+detectorBadlyOverriddenAdapter=BadlyOverriddenAdapter|true
+detectorBooleanReturnNull=BooleanReturnNull|true
+detectorCallToUnsupportedMethod=CallToUnsupportedMethod|false
+detectorCheckExpectedWarnings=CheckExpectedWarnings|false
+detectorCheckImmutableAnnotation=CheckImmutableAnnotation|true
+detectorCheckTypeQualifiers=CheckTypeQualifiers|true
+detectorCloneIdiom=CloneIdiom|true
+detectorComparatorIdiom=ComparatorIdiom|true
+detectorConfusedInheritance=ConfusedInheritance|true
+detectorConfusionBetweenInheritedAndOuterMethod=ConfusionBetweenInheritedAndOuterMethod|true
+detectorCrossSiteScripting=CrossSiteScripting|true
+detectorDefaultEncodingDetector=DefaultEncodingDetector|true
+detectorDoInsideDoPrivileged=DoInsideDoPrivileged|true
+detectorDontCatchIllegalMonitorStateException=DontCatchIllegalMonitorStateException|true
+detectorDontIgnoreResultOfPutIfAbsent=DontIgnoreResultOfPutIfAbsent|true
+detectorDontUseEnum=DontUseEnum|true
+detectorDroppedException=DroppedException|true
+detectorDumbMethodInvocations=DumbMethodInvocations|true
+detectorDumbMethods=DumbMethods|true
+detectorDuplicateBranches=DuplicateBranches|true
+detectorEmptyZipFileEntry=EmptyZipFileEntry|true
+detectorEqualsOperandShouldHaveClassCompatibleWithThis=EqualsOperandShouldHaveClassCompatibleWithThis|true
+detectorExplicitSerialization=ExplicitSerialization|true
+detectorFinalizerNullsFields=FinalizerNullsFields|true
+detectorFindBadCast2=FindBadCast2|true
+detectorFindBadForLoop=FindBadForLoop|true
+detectorFindCircularDependencies=FindCircularDependencies|false
+detectorFindDeadLocalStores=FindDeadLocalStores|true
+detectorFindDoubleCheck=FindDoubleCheck|true
+detectorFindEmptySynchronizedBlock=FindEmptySynchronizedBlock|true
+detectorFindFieldSelfAssignment=FindFieldSelfAssignment|true
+detectorFindFinalizeInvocations=FindFinalizeInvocations|true
+detectorFindFloatEquality=FindFloatEquality|true
+detectorFindHEmismatch=FindHEmismatch|true
+detectorFindInconsistentSync2=FindInconsistentSync2|true
+detectorFindJSR166LockMonitorenter=FindJSR166LockMonitorenter|true
+detectorFindLocalSelfAssignment2=FindLocalSelfAssignment2|true
+detectorFindMaskedFields=FindMaskedFields|true
+detectorFindMismatchedWaitOrNotify=FindMismatchedWaitOrNotify|true
+detectorFindNakedNotify=FindNakedNotify|true
+detectorFindNonShortCircuit=FindNonShortCircuit|true
+detectorFindNullDeref=FindNullDeref|true
+detectorFindNullDerefsInvolvingNonShortCircuitEvaluation=FindNullDerefsInvolvingNonShortCircuitEvaluation|true
+detectorFindOpenStream=FindOpenStream|true
+detectorFindPuzzlers=FindPuzzlers|true
+detectorFindRefComparison=FindRefComparison|true
+detectorFindReturnRef=FindReturnRef|true
+detectorFindRunInvocations=FindRunInvocations|true
+detectorFindSelfComparison=FindSelfComparison|true
+detectorFindSelfComparison2=FindSelfComparison2|true
+detectorFindSleepWithLockHeld=FindSleepWithLockHeld|true
+detectorFindSpinLoop=FindSpinLoop|true
+detectorFindSqlInjection=FindSqlInjection|true
+detectorFindTwoLockWait=FindTwoLockWait|true
+detectorFindUncalledPrivateMethods=FindUncalledPrivateMethods|true
+detectorFindUnconditionalWait=FindUnconditionalWait|true
+detectorFindUninitializedGet=FindUninitializedGet|true
+detectorFindUnrelatedTypesInGenericContainer=FindUnrelatedTypesInGenericContainer|true
+detectorFindUnreleasedLock=FindUnreleasedLock|true
+detectorFindUnsatisfiedObligation=FindUnsatisfiedObligation|true
+detectorFindUnsyncGet=FindUnsyncGet|true
+detectorFindUseOfNonSerializableValue=FindUseOfNonSerializableValue|true
+detectorFindUselessControlFlow=FindUselessControlFlow|true
+detectorFormatStringChecker=FormatStringChecker|true
+detectorHugeSharedStringConstants=HugeSharedStringConstants|true
+detectorIDivResultCastToDouble=IDivResultCastToDouble|true
+detectorIncompatMask=IncompatMask|true
+detectorInconsistentAnnotations=InconsistentAnnotations|true
+detectorInefficientMemberAccess=InefficientMemberAccess|false
+detectorInefficientToArray=InefficientToArray|true
+detectorInfiniteLoop=InfiniteLoop|true
+detectorInfiniteRecursiveLoop=InfiniteRecursiveLoop|true
+detectorInheritanceUnsafeGetResource=InheritanceUnsafeGetResource|true
+detectorInitializationChain=InitializationChain|true
+detectorInitializeNonnullFieldsInConstructor=InitializeNonnullFieldsInConstructor|true
+detectorInstantiateStaticClass=InstantiateStaticClass|true
+detectorIntCast2LongAsInstant=IntCast2LongAsInstant|true
+detectorInvalidJUnitTest=InvalidJUnitTest|true
+detectorIteratorIdioms=IteratorIdioms|true
+detectorLazyInit=LazyInit|true
+detectorLoadOfKnownNullValue=LoadOfKnownNullValue|true
+detectorLostLoggerDueToWeakReference=LostLoggerDueToWeakReference|true
+detectorMethodReturnCheck=MethodReturnCheck|true
+detectorMultithreadedInstanceAccess=MultithreadedInstanceAccess|true
+detectorMutableLock=MutableLock|true
+detectorMutableStaticFields=MutableStaticFields|true
+detectorNaming=Naming|true
+detectorNoteUnconditionalParamDerefs=NoteUnconditionalParamDerefs|true
+detectorNumberConstructor=NumberConstructor|true
+detectorOverridingEqualsNotSymmetrical=OverridingEqualsNotSymmetrical|true
+detectorPreferZeroLengthArrays=PreferZeroLengthArrays|true
+detectorPublicSemaphores=PublicSemaphores|false
+detectorQuestionableBooleanAssignment=QuestionableBooleanAssignment|true
+detectorReadOfInstanceFieldInMethodInvokedByConstructorInSuperclass=ReadOfInstanceFieldInMethodInvokedByConstructorInSuperclass|true
+detectorReadReturnShouldBeChecked=ReadReturnShouldBeChecked|true
+detectorRedundantInterfaces=RedundantInterfaces|true
+detectorRepeatedConditionals=RepeatedConditionals|true
+detectorRuntimeExceptionCapture=RuntimeExceptionCapture|true
+detectorSerializableIdiom=SerializableIdiom|true
+detectorStartInConstructor=StartInConstructor|true
+detectorStaticCalendarDetector=StaticCalendarDetector|true
+detectorStringConcatenation=StringConcatenation|true
+detectorSuperfluousInstanceOf=SuperfluousInstanceOf|true
+detectorSuspiciousThreadInterrupted=SuspiciousThreadInterrupted|true
+detectorSwitchFallthrough=SwitchFallthrough|true
+detectorSynchronizeAndNullCheckField=SynchronizeAndNullCheckField|true
+detectorSynchronizeOnClassLiteralNotGetClass=SynchronizeOnClassLiteralNotGetClass|true
+detectorSynchronizingOnContentsOfFieldToProtectField=SynchronizingOnContentsOfFieldToProtectField|true
+detectorURLProblems=URLProblems|true
+detectorUncallableMethodOfAnonymousClass=UncallableMethodOfAnonymousClass|true
+detectorUnnecessaryMath=UnnecessaryMath|true
+detectorUnreadFields=UnreadFields|true
+detectorUselessSubclassMethod=UselessSubclassMethod|false
+detectorVarArgsProblems=VarArgsProblems|true
+detectorVolatileUsage=VolatileUsage|true
+detectorWaitInLoop=WaitInLoop|true
+detectorWrongMapIterator=WrongMapIterator|true
+detectorXMLFactoryBypass=XMLFactoryBypass|true
+detector_threshold=2
+effort=default
+filter_settings=Medium|BAD_PRACTICE,CORRECTNESS,MT_CORRECTNESS,PERFORMANCE,STYLE|false|15
+filter_settings_neg=MALICIOUS_CODE,NOISE,I18N,SECURITY,EXPERIMENTAL|
+run_at_full_build=false
diff --git a/plugins/org.eclipse.etrice.core.genmodel/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.etrice.core.genmodel/.settings/org.eclipse.jdt.core.prefs
index 1119a8550..1c4184b1c 100644
--- a/plugins/org.eclipse.etrice.core.genmodel/.settings/org.eclipse.jdt.core.prefs
+++ b/plugins/org.eclipse.etrice.core.genmodel/.settings/org.eclipse.jdt.core.prefs
@@ -1,8 +1,8 @@
-#Tue May 22 07:58:45 CEST 2012
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
-org.eclipse.jdt.core.compiler.compliance=1.6
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.6
+#Tue May 22 07:58:45 CEST 2012
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.6
diff --git a/plugins/org.eclipse.etrice.core.genmodel/META-INF/MANIFEST.MF b/plugins/org.eclipse.etrice.core.genmodel/META-INF/MANIFEST.MF
index 2f9a7f0aa..7309fa393 100644
--- a/plugins/org.eclipse.etrice.core.genmodel/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.etrice.core.genmodel/META-INF/MANIFEST.MF
@@ -1,20 +1,20 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.etrice.core.genmodel;singleton:=true
-Bundle-Version: 0.3.0.qualifier
-Bundle-ClassPath: .
-Bundle-Vendor: Eclipse eTrice (Incubation)
-Bundle-Localization: plugin
-Bundle-RequiredExecutionEnvironment: JavaSE-1.6
-Export-Package: org.eclipse.etrice.core.genmodel,
- org.eclipse.etrice.core.genmodel.base,
- org.eclipse.etrice.core.genmodel.builder,
- org.eclipse.etrice.core.genmodel.etricegen,
- org.eclipse.etrice.core.genmodel.etricegen.impl,
- org.eclipse.etrice.core.genmodel.etricegen.util
-Require-Bundle: org.eclipse.etrice.core.room;visibility:=reexport;bundle-version="0.3.0",
- org.eclipse.core.runtime,
- org.eclipse.emf.ecore;visibility:=reexport,
- org.eclipse.emf.ecore.xmi;visibility:=reexport
-Bundle-ActivationPolicy: lazy
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.etrice.core.genmodel;singleton:=true
+Bundle-Version: 0.3.0.qualifier
+Bundle-ClassPath: .
+Bundle-Vendor: Eclipse eTrice (Incubation)
+Bundle-Localization: plugin
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Export-Package: org.eclipse.etrice.core.genmodel,
+ org.eclipse.etrice.core.genmodel.base,
+ org.eclipse.etrice.core.genmodel.builder,
+ org.eclipse.etrice.core.genmodel.etricegen,
+ org.eclipse.etrice.core.genmodel.etricegen.impl,
+ org.eclipse.etrice.core.genmodel.etricegen.util
+Require-Bundle: org.eclipse.etrice.core.room;visibility:=reexport;bundle-version="0.3.0",
+ org.eclipse.core.runtime,
+ org.eclipse.emf.ecore;visibility:=reexport,
+ org.eclipse.emf.ecore.xmi;visibility:=reexport
+Bundle-ActivationPolicy: lazy
diff --git a/plugins/org.eclipse.etrice.core.genmodel/about.html b/plugins/org.eclipse.etrice.core.genmodel/about.html
index f47dbddbb..c258ef55d 100644
--- a/plugins/org.eclipse.etrice.core.genmodel/about.html
+++ b/plugins/org.eclipse.etrice.core.genmodel/about.html
@@ -1,28 +1,28 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 5, 2006</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was
-provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+
+<p>June 5, 2006</p>
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content. Check the Redistributor's license that was
+provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
+
+</body>
</html> \ No newline at end of file
diff --git a/plugins/org.eclipse.etrice.core.genmodel/build.properties b/plugins/org.eclipse.etrice.core.genmodel/build.properties
index 4da3d998b..3d4e2cd8e 100644
--- a/plugins/org.eclipse.etrice.core.genmodel/build.properties
+++ b/plugins/org.eclipse.etrice.core.genmodel/build.properties
@@ -1,15 +1,15 @@
-
-# <copyright>
-# </copyright>
-#
-# $Id$
-
-bin.includes = .,\
- model/,\
- META-INF/,\
- plugin.xml,\
- plugin.properties
-jars.compile.order = .
-source.. = src/,\
- model/
-output.. = bin/
+
+# <copyright>
+# </copyright>
+#
+# $Id$
+
+bin.includes = .,\
+ model/,\
+ META-INF/,\
+ plugin.xml,\
+ plugin.properties
+jars.compile.order = .
+source.. = src/,\
+ model/
+output.. = bin/
diff --git a/plugins/org.eclipse.etrice.core.genmodel/model/etricegen.ecore b/plugins/org.eclipse.etrice.core.genmodel/model/etricegen.ecore
index 9da9763b4..87ae331d4 100644
--- a/plugins/org.eclipse.etrice.core.genmodel/model/etricegen.ecore
+++ b/plugins/org.eclipse.etrice.core.genmodel/model/etricegen.ecore
@@ -1,238 +1,238 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="etricegen" nsURI="http://www.eclipse.org/etrice/generator" nsPrefix="etricegen">
- <eClassifiers xsi:type="ecore:EClass" name="Root">
- <eOperations name="getReferencedModels" upperBound="-1" eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//RoomModel">
- <eParameters name="cls" eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//RoomClass"/>
- </eOperations>
- <eOperations name="getReferencedProtocolClasses" upperBound="-1" eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//ProtocolClass">
- <eParameters name="cls" eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//RoomClass"/>
- </eOperations>
- <eOperations name="getReferencedDataClasses" upperBound="-1" eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//DataClass">
- <eParameters name="cls" eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//RoomClass"/>
- </eOperations>
- <eOperations name="getReferencedActorClasses" upperBound="-1" eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//ActorClass">
- <eParameters name="cls" eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//RoomClass"/>
- </eOperations>
- <eOperations name="getExpandedActorClass" eType="#//ExpandedActorClass">
- <eParameters name="ai" eType="#//ActorInstance"/>
- </eOperations>
- <eOperations name="getInstance" eType="#//StructureInstance">
- <eParameters name="path" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- </eOperations>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="library" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="systemInstances" upperBound="-1"
- eType="#//SystemInstance" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="ownSubSystemInstances"
- upperBound="-1" eType="#//SubSystemInstance" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="subSystemInstances" upperBound="-1"
- eType="#//SubSystemInstance" changeable="false" volatile="true" transient="true"
- derived="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="models" upperBound="-1"
- eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//RoomModel"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="xpActorClasses" upperBound="-1"
- eType="#//ExpandedActorClass" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="usedDataClasses" upperBound="-1"
- eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//DataClass"
- volatile="true" transient="true" derived="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="usedProtocolClasses" upperBound="-1"
- eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//ProtocolClass"
- volatile="true" transient="true" derived="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="usedActorClasses" upperBound="-1"
- eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//ActorClass"
- volatile="true" transient="true" derived="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="usedRoomModels" upperBound="-1"
- eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//RoomModel"
- volatile="true" transient="true" derived="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="subSystemClasses" upperBound="-1"
- eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//SubSystemClass"
- volatile="true" transient="true" derived="true"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="InstanceBase" abstract="true">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="path" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
- changeable="false" volatile="true" transient="true" derived="true"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="objId" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="threadId" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"
- changeable="false" defaultValueLiteral="-1" derived="true"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="nObjIDs" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"
- changeable="false" volatile="true" transient="true" derived="true"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="StructureInstance" eSuperTypes="#//InstanceBase">
- <eStructuralFeatures xsi:type="ecore:EReference" name="instances" upperBound="-1"
- eType="#//ActorInstance" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="ports" upperBound="-1"
- eType="#//PortInstance" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="saps" upperBound="-1" eType="#//SAPInstance"
- containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="spps" upperBound="-1" eType="#//SPPInstance"
- containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="services" upperBound="-1"
- eType="#//ServiceImplInstance" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="bindings" upperBound="-1"
- eType="#//BindingInstance" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="connections" upperBound="-1"
- eType="#//ConnectionInstance" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="allContainedInstances"
- upperBound="-1" eType="#//ActorInstance" volatile="true" transient="true"
- derived="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="orderedIfItemInstances"
- upperBound="-1" eType="#//InterfaceItemInstance" changeable="false" transient="true"
- derived="true"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="SystemInstance" eSuperTypes="#//InstanceBase">
- <eStructuralFeatures xsi:type="ecore:EReference" name="instances" upperBound="-1"
- eType="#//SubSystemInstance" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="logicalSystem" eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//LogicalSystem"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="SubSystemInstance" eSuperTypes="#//StructureInstance">
- <eOperations name="getThreadId" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt">
- <eParameters name="instance" eType="#//InstanceBase"/>
- </eOperations>
- <eStructuralFeatures xsi:type="ecore:EReference" name="subSystemClass" eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//SubSystemClass"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="maxObjId" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"
- changeable="false" volatile="true" transient="true" derived="true"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="ActorInstance" eSuperTypes="#//StructureInstance">
- <eStructuralFeatures xsi:type="ecore:EReference" name="actorClass" eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//ActorClass"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="replIdx" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"
- defaultValueLiteral="-1"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="unindexedName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
- changeable="false" volatile="true" transient="true" derived="true"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="InterfaceItemInstance" eSuperTypes="#//InstanceBase">
- <eOperations name="isReplicated" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
- <eOperations name="isSimple" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
- <eOperations name="isRelay" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
- <eOperations name="getInterfaceItem" eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//InterfaceItem"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="protocol" eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//ProtocolClass"
- changeable="false" volatile="true" transient="true" derived="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="peers" upperBound="-1"
- eType="#//InterfaceItemInstance"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="PortInstance" eSuperTypes="#//InterfaceItemInstance">
- <eStructuralFeatures xsi:type="ecore:EReference" name="port" eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//Port"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" eType="#//PortKind"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="bindings" upperBound="-1"
- eType="#//BindingInstance" eOpposite="#//BindingInstance/ports"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EEnum" name="PortKind">
- <eLiterals name="external" literal="external"/>
- <eLiterals name="internal" value="1" literal="internal"/>
- <eLiterals name="relay" value="2" literal="relay"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="BindingInstance">
- <eStructuralFeatures xsi:type="ecore:EReference" name="ports" upperBound="2" eType="#//PortInstance"
- eOpposite="#//PortInstance/bindings"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="binding" eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//Binding"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="SAPInstance" eSuperTypes="#//InterfaceItemInstance">
- <eStructuralFeatures xsi:type="ecore:EReference" name="sap" eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//SAPRef"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="SPPInstance" eSuperTypes="#//InstanceBase">
- <eStructuralFeatures xsi:type="ecore:EReference" name="spp" eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//SPPRef"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="incoming" upperBound="-1"
- eType="#//ConnectionInstance" eOpposite="#//ConnectionInstance/toSPP"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="outgoing" eType="#//ConnectionInstance"
- eOpposite="#//ConnectionInstance/fromSPP"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="ServiceImplInstance" eSuperTypes="#//InterfaceItemInstance">
- <eStructuralFeatures xsi:type="ecore:EReference" name="svcImpl" eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//ServiceImplementation"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="ConnectionInstance">
- <eStructuralFeatures xsi:type="ecore:EReference" name="fromAI" eType="#//ActorInstance"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="fromSPP" eType="#//SPPInstance"
- eOpposite="#//SPPInstance/outgoing"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="toSPP" eType="#//SPPInstance"
- eOpposite="#//SPPInstance/incoming"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="connection" eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//LayerConnection"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="ActiveTrigger">
- <eStructuralFeatures xsi:type="ecore:EReference" name="msg" eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//Message"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="ifitem" eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//InterfaceItem"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="trigger" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="transitions" upperBound="-1"
- eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//TriggeredTransition"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="TransitionChain">
- <eOperations name="getStateContext" eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//State"/>
- <eOperations name="isHandler" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
- <eOperations name="genExecuteChain" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
- <eParameters name="tcv" eType="#//ITransitionChainVisitor"/>
- </eOperations>
- <eStructuralFeatures xsi:type="ecore:EReference" name="transition" eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//Transition"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="data" eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//VarDecl"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="ITransitionChainVisitor" instanceTypeName="ITransitionChainVisitor"
- abstract="true" interface="true"/>
- <eClassifiers xsi:type="ecore:EClass" name="IDiagnostician" instanceTypeName="IDiagnostician"
- abstract="true" interface="true"/>
- <eClassifiers xsi:type="ecore:EClass" name="ExpandedActorClass">
- <eOperations name="prepare">
- <eParameters name="validator" eType="#//IDiagnostician"/>
- </eOperations>
- <eOperations name="release"/>
- <eOperations name="addOwnObject">
- <eParameters name="obj" eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//StateGraphItem"/>
- </eOperations>
- <eOperations name="isOwnObject" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
- <eParameters name="obj" eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//StateGraphItem"/>
- </eOperations>
- <eOperations name="getInterfaceItemLocalId" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt">
- <eParameters name="ifitem" eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//InterfaceItem"/>
- </eOperations>
- <eOperations name="hasStateMachine" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
- <eOperations name="getTriggerCodeName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
- <eParameters name="mif" eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//MessageFromIf"/>
- </eOperations>
- <eOperations name="getTriggerCodeName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
- <eParameters name="at" eType="#//ActiveTrigger"/>
- </eOperations>
- <eOperations name="getOutgoingTransitions" upperBound="-1" eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//Transition">
- <eParameters name="node" eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//StateGraphNode"/>
- </eOperations>
- <eOperations name="getIncomingTransitions" upperBound="-1" eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//Transition">
- <eParameters name="node" eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//StateGraphNode"/>
- </eOperations>
- <eOperations name="getActiveTriggers" upperBound="-1" eType="#//ActiveTrigger">
- <eParameters name="state" eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//State"/>
- </eOperations>
- <eOperations name="getTriggers" upperBound="-1" eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//MessageFromIf"/>
- <eOperations name="getOwnTriggers" upperBound="-1" eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//MessageFromIf"/>
- <eOperations name="getMessageID" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
- <eParameters name="mif" eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//MessageFromIf"/>
- </eOperations>
- <eOperations name="getChain" eType="#//TransitionChain">
- <eParameters name="trans" eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//Transition"/>
- </eOperations>
- <eOperations name="getTransitionChains" upperBound="-1" eType="#//TransitionChain"/>
- <eOperations name="getOwnTransitionChains" upperBound="-1" eType="#//TransitionChain"/>
- <eOperations name="isMatching" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
- <eParameters name="trig" eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//Trigger"/>
- <eParameters name="trigstr" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- </eOperations>
- <eOperations name="getDefaultBranch" eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//ContinuationTransition">
- <eParameters name="out" upperBound="-1" eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//Transition"/>
- </eOperations>
- <eOperations name="getOrig" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject">
- <eParameters name="copy" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- </eOperations>
- <eOperations name="getData" eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//VarDecl">
- <eParameters name="trans" eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//Transition"/>
- </eOperations>
- <eStructuralFeatures xsi:type="ecore:EReference" name="actorClass" eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//ActorClass"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="stateMachine" eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//StateGraph"
- containment="true"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="ExpandedRefinedState" eSuperTypes="../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//SimpleState">
- <eOperations name="init">
- <eParameters name="rs" eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//RefinedState"/>
- </eOperations>
- <eStructuralFeatures xsi:type="ecore:EReference" name="inheritedEntry" eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//DetailCode"
- containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="inheritedExit" eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//DetailCode"
- containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="inheritedDo" eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//DetailCode"
- containment="true"/>
- </eClassifiers>
-</ecore:EPackage>
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="etricegen" nsURI="http://www.eclipse.org/etrice/generator" nsPrefix="etricegen">
+ <eClassifiers xsi:type="ecore:EClass" name="Root">
+ <eOperations name="getReferencedModels" upperBound="-1" eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//RoomModel">
+ <eParameters name="cls" eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//RoomClass"/>
+ </eOperations>
+ <eOperations name="getReferencedProtocolClasses" upperBound="-1" eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//ProtocolClass">
+ <eParameters name="cls" eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//RoomClass"/>
+ </eOperations>
+ <eOperations name="getReferencedDataClasses" upperBound="-1" eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//DataClass">
+ <eParameters name="cls" eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//RoomClass"/>
+ </eOperations>
+ <eOperations name="getReferencedActorClasses" upperBound="-1" eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//ActorClass">
+ <eParameters name="cls" eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//RoomClass"/>
+ </eOperations>
+ <eOperations name="getExpandedActorClass" eType="#//ExpandedActorClass">
+ <eParameters name="ai" eType="#//ActorInstance"/>
+ </eOperations>
+ <eOperations name="getInstance" eType="#//StructureInstance">
+ <eParameters name="path" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="library" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="systemInstances" upperBound="-1"
+ eType="#//SystemInstance" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="ownSubSystemInstances"
+ upperBound="-1" eType="#//SubSystemInstance" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="subSystemInstances" upperBound="-1"
+ eType="#//SubSystemInstance" changeable="false" volatile="true" transient="true"
+ derived="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="models" upperBound="-1"
+ eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//RoomModel"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="xpActorClasses" upperBound="-1"
+ eType="#//ExpandedActorClass" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="usedDataClasses" upperBound="-1"
+ eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//DataClass"
+ volatile="true" transient="true" derived="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="usedProtocolClasses" upperBound="-1"
+ eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//ProtocolClass"
+ volatile="true" transient="true" derived="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="usedActorClasses" upperBound="-1"
+ eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//ActorClass"
+ volatile="true" transient="true" derived="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="usedRoomModels" upperBound="-1"
+ eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//RoomModel"
+ volatile="true" transient="true" derived="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="subSystemClasses" upperBound="-1"
+ eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//SubSystemClass"
+ volatile="true" transient="true" derived="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="InstanceBase" abstract="true">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="path" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
+ changeable="false" volatile="true" transient="true" derived="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="objId" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="threadId" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"
+ changeable="false" defaultValueLiteral="-1" derived="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="nObjIDs" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"
+ changeable="false" volatile="true" transient="true" derived="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="StructureInstance" eSuperTypes="#//InstanceBase">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="instances" upperBound="-1"
+ eType="#//ActorInstance" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="ports" upperBound="-1"
+ eType="#//PortInstance" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="saps" upperBound="-1" eType="#//SAPInstance"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="spps" upperBound="-1" eType="#//SPPInstance"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="services" upperBound="-1"
+ eType="#//ServiceImplInstance" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="bindings" upperBound="-1"
+ eType="#//BindingInstance" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="connections" upperBound="-1"
+ eType="#//ConnectionInstance" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="allContainedInstances"
+ upperBound="-1" eType="#//ActorInstance" volatile="true" transient="true"
+ derived="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="orderedIfItemInstances"
+ upperBound="-1" eType="#//InterfaceItemInstance" changeable="false" transient="true"
+ derived="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="SystemInstance" eSuperTypes="#//InstanceBase">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="instances" upperBound="-1"
+ eType="#//SubSystemInstance" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="logicalSystem" eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//LogicalSystem"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="SubSystemInstance" eSuperTypes="#//StructureInstance">
+ <eOperations name="getThreadId" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt">
+ <eParameters name="instance" eType="#//InstanceBase"/>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="subSystemClass" eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//SubSystemClass"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="maxObjId" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"
+ changeable="false" volatile="true" transient="true" derived="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ActorInstance" eSuperTypes="#//StructureInstance">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="actorClass" eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//ActorClass"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="replIdx" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"
+ defaultValueLiteral="-1"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="unindexedName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
+ changeable="false" volatile="true" transient="true" derived="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="InterfaceItemInstance" eSuperTypes="#//InstanceBase">
+ <eOperations name="isReplicated" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eOperations name="isSimple" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eOperations name="isRelay" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eOperations name="getInterfaceItem" eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//InterfaceItem"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="protocol" eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//ProtocolClass"
+ changeable="false" volatile="true" transient="true" derived="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="peers" upperBound="-1"
+ eType="#//InterfaceItemInstance"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="PortInstance" eSuperTypes="#//InterfaceItemInstance">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="port" eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//Port"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" eType="#//PortKind"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="bindings" upperBound="-1"
+ eType="#//BindingInstance" eOpposite="#//BindingInstance/ports"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EEnum" name="PortKind">
+ <eLiterals name="external" literal="external"/>
+ <eLiterals name="internal" value="1" literal="internal"/>
+ <eLiterals name="relay" value="2" literal="relay"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="BindingInstance">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="ports" upperBound="2" eType="#//PortInstance"
+ eOpposite="#//PortInstance/bindings"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="binding" eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//Binding"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="SAPInstance" eSuperTypes="#//InterfaceItemInstance">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="sap" eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//SAPRef"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="SPPInstance" eSuperTypes="#//InstanceBase">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="spp" eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//SPPRef"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="incoming" upperBound="-1"
+ eType="#//ConnectionInstance" eOpposite="#//ConnectionInstance/toSPP"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="outgoing" eType="#//ConnectionInstance"
+ eOpposite="#//ConnectionInstance/fromSPP"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ServiceImplInstance" eSuperTypes="#//InterfaceItemInstance">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="svcImpl" eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//ServiceImplementation"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ConnectionInstance">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="fromAI" eType="#//ActorInstance"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="fromSPP" eType="#//SPPInstance"
+ eOpposite="#//SPPInstance/outgoing"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="toSPP" eType="#//SPPInstance"
+ eOpposite="#//SPPInstance/incoming"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="connection" eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//LayerConnection"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ActiveTrigger">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="msg" eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//Message"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="ifitem" eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//InterfaceItem"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="trigger" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="transitions" upperBound="-1"
+ eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//TriggeredTransition"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="TransitionChain">
+ <eOperations name="getStateContext" eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//State"/>
+ <eOperations name="isHandler" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eOperations name="genExecuteChain" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+ <eParameters name="tcv" eType="#//ITransitionChainVisitor"/>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="transition" eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//Transition"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="data" eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//VarDecl"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ITransitionChainVisitor" instanceTypeName="ITransitionChainVisitor"
+ abstract="true" interface="true"/>
+ <eClassifiers xsi:type="ecore:EClass" name="IDiagnostician" instanceTypeName="IDiagnostician"
+ abstract="true" interface="true"/>
+ <eClassifiers xsi:type="ecore:EClass" name="ExpandedActorClass">
+ <eOperations name="prepare">
+ <eParameters name="validator" eType="#//IDiagnostician"/>
+ </eOperations>
+ <eOperations name="release"/>
+ <eOperations name="addOwnObject">
+ <eParameters name="obj" eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//StateGraphItem"/>
+ </eOperations>
+ <eOperations name="isOwnObject" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="obj" eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//StateGraphItem"/>
+ </eOperations>
+ <eOperations name="getInterfaceItemLocalId" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt">
+ <eParameters name="ifitem" eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//InterfaceItem"/>
+ </eOperations>
+ <eOperations name="hasStateMachine" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eOperations name="getTriggerCodeName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+ <eParameters name="mif" eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//MessageFromIf"/>
+ </eOperations>
+ <eOperations name="getTriggerCodeName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+ <eParameters name="at" eType="#//ActiveTrigger"/>
+ </eOperations>
+ <eOperations name="getOutgoingTransitions" upperBound="-1" eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//Transition">
+ <eParameters name="node" eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//StateGraphNode"/>
+ </eOperations>
+ <eOperations name="getIncomingTransitions" upperBound="-1" eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//Transition">
+ <eParameters name="node" eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//StateGraphNode"/>
+ </eOperations>
+ <eOperations name="getActiveTriggers" upperBound="-1" eType="#//ActiveTrigger">
+ <eParameters name="state" eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//State"/>
+ </eOperations>
+ <eOperations name="getTriggers" upperBound="-1" eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//MessageFromIf"/>
+ <eOperations name="getOwnTriggers" upperBound="-1" eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//MessageFromIf"/>
+ <eOperations name="getMessageID" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+ <eParameters name="mif" eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//MessageFromIf"/>
+ </eOperations>
+ <eOperations name="getChain" eType="#//TransitionChain">
+ <eParameters name="trans" eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//Transition"/>
+ </eOperations>
+ <eOperations name="getTransitionChains" upperBound="-1" eType="#//TransitionChain"/>
+ <eOperations name="getOwnTransitionChains" upperBound="-1" eType="#//TransitionChain"/>
+ <eOperations name="isMatching" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="trig" eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//Trigger"/>
+ <eParameters name="trigstr" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eOperations>
+ <eOperations name="getDefaultBranch" eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//ContinuationTransition">
+ <eParameters name="out" upperBound="-1" eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//Transition"/>
+ </eOperations>
+ <eOperations name="getOrig" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject">
+ <eParameters name="copy" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
+ </eOperations>
+ <eOperations name="getData" eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//VarDecl">
+ <eParameters name="trans" eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//Transition"/>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="actorClass" eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//ActorClass"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="stateMachine" eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//StateGraph"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ExpandedRefinedState" eSuperTypes="../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//SimpleState">
+ <eOperations name="init">
+ <eParameters name="rs" eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//RefinedState"/>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="inheritedEntry" eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//DetailCode"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="inheritedExit" eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//DetailCode"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="inheritedDo" eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//DetailCode"
+ containment="true"/>
+ </eClassifiers>
+</ecore:EPackage>
diff --git a/plugins/org.eclipse.etrice.core.genmodel/model/etricegen.genmodel b/plugins/org.eclipse.etrice.core.genmodel/model/etricegen.genmodel
index 0ac8f4a2e..7e140db1a 100644
--- a/plugins/org.eclipse.etrice.core.genmodel/model/etricegen.genmodel
+++ b/plugins/org.eclipse.etrice.core.genmodel/model/etricegen.genmodel
@@ -1,187 +1,187 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
- xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" copyrightText=" Copyright (c) 2011 protos software gmbh (http://www.protos.de).&#xD;&#xA; All rights reserved. This program and the accompanying materials&#xD;&#xA; are made available under the terms of the Eclipse Public License v1.0&#xD;&#xA; which accompanies this distribution, and is available at&#xD;&#xA; http://www.eclipse.org/legal/epl-v10.html&#xD;&#xA; &#xD;&#xA; CONTRIBUTORS:&#xD;&#xA; &#x9;&#x9;Henrik Rentz-Reichert (initial contribution)&#xD;&#xA; "
- modelDirectory="/org.eclipse.etrice.core.genmodel/src" editDirectory="/org.eclipse.etrice.core.genmodel.edit/src"
- editorDirectory="/org.eclipse.etrice.core.genmodel.editor/src" modelPluginID="org.eclipse.etrice.core.genmodel"
- modelName="eTriceGen" importerID="org.eclipse.emf.importer.ecore" complianceLevel="6.0"
- copyrightFields="false" editPluginID="org.eclipse.etrice.core.genmodel.edit" editorPluginID="org.eclipse.etrice.core.genmodel.editor"
- usedGenPackages="../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.genmodel#//room">
- <foreignModel>roomgen.ecore</foreignModel>
- <genPackages prefix="ETriceGen" basePackage="org.eclipse.etrice.core.genmodel" resource="XMI"
- disposableProviderFactory="true" ecorePackage="etricegen.ecore#/">
- <genEnums typeSafeEnumCompatible="false" ecoreEnum="etricegen.ecore#//PortKind">
- <genEnumLiterals ecoreEnumLiteral="etricegen.ecore#//PortKind/external"/>
- <genEnumLiterals ecoreEnumLiteral="etricegen.ecore#//PortKind/internal"/>
- <genEnumLiterals ecoreEnumLiteral="etricegen.ecore#//PortKind/relay"/>
- </genEnums>
- <genClasses ecoreClass="etricegen.ecore#//Root">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute etricegen.ecore#//Root/library"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference etricegen.ecore#//Root/subSystemInstances"/>
- <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference etricegen.ecore#//Root/models"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference etricegen.ecore#//Root/xpActorClasses"/>
- <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference etricegen.ecore#//Root/usedDataClasses"/>
- <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference etricegen.ecore#//Root/usedProtocolClasses"/>
- <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference etricegen.ecore#//Root/usedActorClasses"/>
- <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference etricegen.ecore#//Root/usedRoomModels"/>
- <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference etricegen.ecore#//Root/subSystemClasses"/>
- <genOperations ecoreOperation="etricegen.ecore#//Root/getReferencedModels">
- <genParameters ecoreParameter="etricegen.ecore#//Root/getReferencedModels/cls"/>
- </genOperations>
- <genOperations ecoreOperation="etricegen.ecore#//Root/getReferencedProtocolClasses">
- <genParameters ecoreParameter="etricegen.ecore#//Root/getReferencedProtocolClasses/cls"/>
- </genOperations>
- <genOperations ecoreOperation="etricegen.ecore#//Root/getExpandedActorClass">
- <genParameters ecoreParameter="etricegen.ecore#//Root/getExpandedActorClass/ai"/>
- </genOperations>
- </genClasses>
- <genClasses image="false" ecoreClass="etricegen.ecore#//InstanceBase">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute etricegen.ecore#//InstanceBase/name"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute etricegen.ecore#//InstanceBase/path"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute etricegen.ecore#//InstanceBase/objId"/>
- <genFeatures property="Readonly" createChild="false" ecoreFeature="ecore:EAttribute etricegen.ecore#//InstanceBase/threadId"/>
- <genFeatures property="Readonly" createChild="false" ecoreFeature="ecore:EAttribute etricegen.ecore#//InstanceBase/nObjIDs"/>
- </genClasses>
- <genClasses ecoreClass="etricegen.ecore#//StructureInstance">
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference etricegen.ecore#//StructureInstance/instances"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference etricegen.ecore#//StructureInstance/ports"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference etricegen.ecore#//StructureInstance/saps"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference etricegen.ecore#//StructureInstance/spps"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference etricegen.ecore#//StructureInstance/services"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference etricegen.ecore#//StructureInstance/bindings"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference etricegen.ecore#//StructureInstance/connections"/>
- <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference etricegen.ecore#//StructureInstance/allContainedInstances"/>
- <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference etricegen.ecore#//StructureInstance/orderedIfItemInstances"/>
- </genClasses>
- <genClasses ecoreClass="etricegen.ecore#//SubSystemInstance">
- <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference etricegen.ecore#//SubSystemInstance/subSystemClass"/>
- <genFeatures property="Readonly" createChild="false" ecoreFeature="ecore:EAttribute etricegen.ecore#//SubSystemInstance/maxObjId"/>
- <genOperations ecoreOperation="etricegen.ecore#//SubSystemInstance/getThreadId">
- <genParameters ecoreParameter="etricegen.ecore#//SubSystemInstance/getThreadId/instance"/>
- </genOperations>
- </genClasses>
- <genClasses ecoreClass="etricegen.ecore#//ActorInstance">
- <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference etricegen.ecore#//ActorInstance/actorClass"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute etricegen.ecore#//ActorInstance/replIdx"/>
- <genFeatures property="Readonly" createChild="false" ecoreFeature="ecore:EAttribute etricegen.ecore#//ActorInstance/unindexedName"/>
- </genClasses>
- <genClasses ecoreClass="etricegen.ecore#//InterfaceItemInstance">
- <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference etricegen.ecore#//InterfaceItemInstance/protocol"/>
- <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference etricegen.ecore#//InterfaceItemInstance/peers"/>
- <genOperations ecoreOperation="etricegen.ecore#//InterfaceItemInstance/isReplicated"/>
- <genOperations ecoreOperation="etricegen.ecore#//InterfaceItemInstance/isSimple"/>
- <genOperations ecoreOperation="etricegen.ecore#//InterfaceItemInstance/isRelay"/>
- <genOperations ecoreOperation="etricegen.ecore#//InterfaceItemInstance/getInterfaceItem"/>
- </genClasses>
- <genClasses ecoreClass="etricegen.ecore#//PortInstance">
- <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference etricegen.ecore#//PortInstance/port"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute etricegen.ecore#//PortInstance/kind"/>
- <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference etricegen.ecore#//PortInstance/bindings"/>
- </genClasses>
- <genClasses ecoreClass="etricegen.ecore#//BindingInstance">
- <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference etricegen.ecore#//BindingInstance/ports"/>
- <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference etricegen.ecore#//BindingInstance/binding"/>
- </genClasses>
- <genClasses ecoreClass="etricegen.ecore#//SAPInstance">
- <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference etricegen.ecore#//SAPInstance/sap"/>
- </genClasses>
- <genClasses ecoreClass="etricegen.ecore#//SPPInstance">
- <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference etricegen.ecore#//SPPInstance/spp"/>
- <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference etricegen.ecore#//SPPInstance/incoming"/>
- <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference etricegen.ecore#//SPPInstance/outgoing"/>
- </genClasses>
- <genClasses ecoreClass="etricegen.ecore#//ServiceImplInstance">
- <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference etricegen.ecore#//ServiceImplInstance/svcImpl"/>
- </genClasses>
- <genClasses ecoreClass="etricegen.ecore#//ConnectionInstance">
- <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference etricegen.ecore#//ConnectionInstance/fromAI"/>
- <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference etricegen.ecore#//ConnectionInstance/fromSPP"/>
- <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference etricegen.ecore#//ConnectionInstance/toSPP"/>
- <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference etricegen.ecore#//ConnectionInstance/connection"/>
- </genClasses>
- <genClasses ecoreClass="etricegen.ecore#//ActiveTrigger">
- <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference etricegen.ecore#//ActiveTrigger/msg"/>
- <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference etricegen.ecore#//ActiveTrigger/ifitem"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute etricegen.ecore#//ActiveTrigger/trigger"/>
- <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference etricegen.ecore#//ActiveTrigger/transitions"/>
- </genClasses>
- <genClasses ecoreClass="etricegen.ecore#//TransitionChain">
- <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference etricegen.ecore#//TransitionChain/transition"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute etricegen.ecore#//TransitionChain/skipEntry"/>
- <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference etricegen.ecore#//TransitionChain/data"/>
- <genOperations ecoreOperation="etricegen.ecore#//TransitionChain/getStateContext"/>
- <genOperations ecoreOperation="etricegen.ecore#//TransitionChain/isHandler"/>
- <genOperations ecoreOperation="etricegen.ecore#//TransitionChain/genExecuteChain">
- <genParameters ecoreParameter="etricegen.ecore#//TransitionChain/genExecuteChain/tcv"/>
- </genOperations>
- </genClasses>
- <genClasses image="false" ecoreClass="etricegen.ecore#//ITransitionChainVisitor"/>
- <genClasses image="false" ecoreClass="etricegen.ecore#//IDiagnostician"/>
- <genClasses ecoreClass="etricegen.ecore#//ExpandedActorClass">
- <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference etricegen.ecore#//ExpandedActorClass/actorClass"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference etricegen.ecore#//ExpandedActorClass/stateMachine"/>
- <genOperations ecoreOperation="etricegen.ecore#//ExpandedActorClass/prepare">
- <genParameters ecoreParameter="etricegen.ecore#//ExpandedActorClass/prepare/validator"/>
- </genOperations>
- <genOperations ecoreOperation="etricegen.ecore#//ExpandedActorClass/release"/>
- <genOperations ecoreOperation="etricegen.ecore#//ExpandedActorClass/addOwnObject">
- <genParameters ecoreParameter="etricegen.ecore#//ExpandedActorClass/addOwnObject/obj"/>
- </genOperations>
- <genOperations ecoreOperation="etricegen.ecore#//ExpandedActorClass/isOwnObject">
- <genParameters ecoreParameter="etricegen.ecore#//ExpandedActorClass/isOwnObject/obj"/>
- </genOperations>
- <genOperations ecoreOperation="etricegen.ecore#//ExpandedActorClass/getInterfaceItemLocalId">
- <genParameters ecoreParameter="etricegen.ecore#//ExpandedActorClass/getInterfaceItemLocalId/ifitem"/>
- </genOperations>
- <genOperations ecoreOperation="etricegen.ecore#//ExpandedActorClass/hasStateMachine"/>
- <genOperations ecoreOperation="etricegen.ecore#//ExpandedActorClass/getTriggerCodeName">
- <genParameters ecoreParameter="etricegen.ecore#//ExpandedActorClass/getTriggerCodeName/mif"/>
- </genOperations>
- <genOperations ecoreOperation="etricegen.ecore#//ExpandedActorClass/getTriggerCodeName.1">
- <genParameters ecoreParameter="etricegen.ecore#//ExpandedActorClass/getTriggerCodeName.1/mif"/>
- </genOperations>
- <genOperations ecoreOperation="etricegen.ecore#//ExpandedActorClass/getOutgoingTransitions">
- <genParameters ecoreParameter="etricegen.ecore#//ExpandedActorClass/getOutgoingTransitions/node"/>
- </genOperations>
- <genOperations ecoreOperation="etricegen.ecore#//ExpandedActorClass/getIncomingTransitions">
- <genParameters ecoreParameter="etricegen.ecore#//ExpandedActorClass/getIncomingTransitions/node"/>
- </genOperations>
- <genOperations ecoreOperation="etricegen.ecore#//ExpandedActorClass/getActiveTriggers">
- <genParameters ecoreParameter="etricegen.ecore#//ExpandedActorClass/getActiveTriggers/state"/>
- </genOperations>
- <genOperations ecoreOperation="etricegen.ecore#//ExpandedActorClass/getTriggers"/>
- <genOperations ecoreOperation="etricegen.ecore#//ExpandedActorClass/getOwnTriggers"/>
- <genOperations ecoreOperation="etricegen.ecore#//ExpandedActorClass/getMessageID">
- <genParameters ecoreParameter="etricegen.ecore#//ExpandedActorClass/getMessageID/mif"/>
- </genOperations>
- <genOperations ecoreOperation="etricegen.ecore#//ExpandedActorClass/getChain">
- <genParameters ecoreParameter="etricegen.ecore#//ExpandedActorClass/getChain/trans"/>
- </genOperations>
- <genOperations ecoreOperation="etricegen.ecore#//ExpandedActorClass/getTransitionChains"/>
- <genOperations ecoreOperation="etricegen.ecore#//ExpandedActorClass/getOwnTransitionChains"/>
- <genOperations ecoreOperation="etricegen.ecore#//ExpandedActorClass/getNode">
- <genParameters ecoreParameter="etricegen.ecore#//ExpandedActorClass/getNode/tt"/>
- </genOperations>
- <genOperations ecoreOperation="etricegen.ecore#//ExpandedActorClass/isMatching">
- <genParameters ecoreParameter="etricegen.ecore#//ExpandedActorClass/isMatching/trig"/>
- <genParameters ecoreParameter="etricegen.ecore#//ExpandedActorClass/isMatching/trigstr"/>
- </genOperations>
- <genOperations ecoreOperation="etricegen.ecore#//ExpandedActorClass/getDefaultBranch">
- <genParameters ecoreParameter="etricegen.ecore#//ExpandedActorClass/getDefaultBranch/out"/>
- </genOperations>
- <genOperations ecoreOperation="etricegen.ecore#//ExpandedActorClass/getOrig">
- <genParameters ecoreParameter="etricegen.ecore#//ExpandedActorClass/getOrig/copy"/>
- </genOperations>
- <genOperations ecoreOperation="etricegen.ecore#//ExpandedActorClass/getData">
- <genParameters ecoreParameter="etricegen.ecore#//ExpandedActorClass/getData/trans"/>
- </genOperations>
- </genClasses>
- <genClasses ecoreClass="etricegen.ecore#//ExpandedRefinedState">
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference etricegen.ecore#//ExpandedRefinedState/inheritedEntry"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference etricegen.ecore#//ExpandedRefinedState/inheritedExit"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference etricegen.ecore#//ExpandedRefinedState/inheritedDo"/>
- <genOperations ecoreOperation="etricegen.ecore#//ExpandedRefinedState/init">
- <genParameters ecoreParameter="etricegen.ecore#//ExpandedRefinedState/init/rs"/>
- </genOperations>
- </genClasses>
- </genPackages>
-</genmodel:GenModel>
+<?xml version="1.0" encoding="UTF-8"?>
+<genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
+ xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" copyrightText=" Copyright (c) 2011 protos software gmbh (http://www.protos.de).&#xD;&#xA; All rights reserved. This program and the accompanying materials&#xD;&#xA; are made available under the terms of the Eclipse Public License v1.0&#xD;&#xA; which accompanies this distribution, and is available at&#xD;&#xA; http://www.eclipse.org/legal/epl-v10.html&#xD;&#xA; &#xD;&#xA; CONTRIBUTORS:&#xD;&#xA; &#x9;&#x9;Henrik Rentz-Reichert (initial contribution)&#xD;&#xA; "
+ modelDirectory="/org.eclipse.etrice.core.genmodel/src" editDirectory="/org.eclipse.etrice.core.genmodel.edit/src"
+ editorDirectory="/org.eclipse.etrice.core.genmodel.editor/src" modelPluginID="org.eclipse.etrice.core.genmodel"
+ modelName="eTriceGen" importerID="org.eclipse.emf.importer.ecore" complianceLevel="6.0"
+ copyrightFields="false" editPluginID="org.eclipse.etrice.core.genmodel.edit" editorPluginID="org.eclipse.etrice.core.genmodel.editor"
+ usedGenPackages="../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.genmodel#//room">
+ <foreignModel>roomgen.ecore</foreignModel>
+ <genPackages prefix="ETriceGen" basePackage="org.eclipse.etrice.core.genmodel" resource="XMI"
+ disposableProviderFactory="true" ecorePackage="etricegen.ecore#/">
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="etricegen.ecore#//PortKind">
+ <genEnumLiterals ecoreEnumLiteral="etricegen.ecore#//PortKind/external"/>
+ <genEnumLiterals ecoreEnumLiteral="etricegen.ecore#//PortKind/internal"/>
+ <genEnumLiterals ecoreEnumLiteral="etricegen.ecore#//PortKind/relay"/>
+ </genEnums>
+ <genClasses ecoreClass="etricegen.ecore#//Root">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute etricegen.ecore#//Root/library"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference etricegen.ecore#//Root/subSystemInstances"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference etricegen.ecore#//Root/models"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference etricegen.ecore#//Root/xpActorClasses"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference etricegen.ecore#//Root/usedDataClasses"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference etricegen.ecore#//Root/usedProtocolClasses"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference etricegen.ecore#//Root/usedActorClasses"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference etricegen.ecore#//Root/usedRoomModels"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference etricegen.ecore#//Root/subSystemClasses"/>
+ <genOperations ecoreOperation="etricegen.ecore#//Root/getReferencedModels">
+ <genParameters ecoreParameter="etricegen.ecore#//Root/getReferencedModels/cls"/>
+ </genOperations>
+ <genOperations ecoreOperation="etricegen.ecore#//Root/getReferencedProtocolClasses">
+ <genParameters ecoreParameter="etricegen.ecore#//Root/getReferencedProtocolClasses/cls"/>
+ </genOperations>
+ <genOperations ecoreOperation="etricegen.ecore#//Root/getExpandedActorClass">
+ <genParameters ecoreParameter="etricegen.ecore#//Root/getExpandedActorClass/ai"/>
+ </genOperations>
+ </genClasses>
+ <genClasses image="false" ecoreClass="etricegen.ecore#//InstanceBase">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute etricegen.ecore#//InstanceBase/name"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute etricegen.ecore#//InstanceBase/path"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute etricegen.ecore#//InstanceBase/objId"/>
+ <genFeatures property="Readonly" createChild="false" ecoreFeature="ecore:EAttribute etricegen.ecore#//InstanceBase/threadId"/>
+ <genFeatures property="Readonly" createChild="false" ecoreFeature="ecore:EAttribute etricegen.ecore#//InstanceBase/nObjIDs"/>
+ </genClasses>
+ <genClasses ecoreClass="etricegen.ecore#//StructureInstance">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference etricegen.ecore#//StructureInstance/instances"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference etricegen.ecore#//StructureInstance/ports"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference etricegen.ecore#//StructureInstance/saps"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference etricegen.ecore#//StructureInstance/spps"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference etricegen.ecore#//StructureInstance/services"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference etricegen.ecore#//StructureInstance/bindings"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference etricegen.ecore#//StructureInstance/connections"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference etricegen.ecore#//StructureInstance/allContainedInstances"/>
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference etricegen.ecore#//StructureInstance/orderedIfItemInstances"/>
+ </genClasses>
+ <genClasses ecoreClass="etricegen.ecore#//SubSystemInstance">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference etricegen.ecore#//SubSystemInstance/subSystemClass"/>
+ <genFeatures property="Readonly" createChild="false" ecoreFeature="ecore:EAttribute etricegen.ecore#//SubSystemInstance/maxObjId"/>
+ <genOperations ecoreOperation="etricegen.ecore#//SubSystemInstance/getThreadId">
+ <genParameters ecoreParameter="etricegen.ecore#//SubSystemInstance/getThreadId/instance"/>
+ </genOperations>
+ </genClasses>
+ <genClasses ecoreClass="etricegen.ecore#//ActorInstance">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference etricegen.ecore#//ActorInstance/actorClass"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute etricegen.ecore#//ActorInstance/replIdx"/>
+ <genFeatures property="Readonly" createChild="false" ecoreFeature="ecore:EAttribute etricegen.ecore#//ActorInstance/unindexedName"/>
+ </genClasses>
+ <genClasses ecoreClass="etricegen.ecore#//InterfaceItemInstance">
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference etricegen.ecore#//InterfaceItemInstance/protocol"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference etricegen.ecore#//InterfaceItemInstance/peers"/>
+ <genOperations ecoreOperation="etricegen.ecore#//InterfaceItemInstance/isReplicated"/>
+ <genOperations ecoreOperation="etricegen.ecore#//InterfaceItemInstance/isSimple"/>
+ <genOperations ecoreOperation="etricegen.ecore#//InterfaceItemInstance/isRelay"/>
+ <genOperations ecoreOperation="etricegen.ecore#//InterfaceItemInstance/getInterfaceItem"/>
+ </genClasses>
+ <genClasses ecoreClass="etricegen.ecore#//PortInstance">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference etricegen.ecore#//PortInstance/port"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute etricegen.ecore#//PortInstance/kind"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference etricegen.ecore#//PortInstance/bindings"/>
+ </genClasses>
+ <genClasses ecoreClass="etricegen.ecore#//BindingInstance">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference etricegen.ecore#//BindingInstance/ports"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference etricegen.ecore#//BindingInstance/binding"/>
+ </genClasses>
+ <genClasses ecoreClass="etricegen.ecore#//SAPInstance">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference etricegen.ecore#//SAPInstance/sap"/>
+ </genClasses>
+ <genClasses ecoreClass="etricegen.ecore#//SPPInstance">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference etricegen.ecore#//SPPInstance/spp"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference etricegen.ecore#//SPPInstance/incoming"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference etricegen.ecore#//SPPInstance/outgoing"/>
+ </genClasses>
+ <genClasses ecoreClass="etricegen.ecore#//ServiceImplInstance">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference etricegen.ecore#//ServiceImplInstance/svcImpl"/>
+ </genClasses>
+ <genClasses ecoreClass="etricegen.ecore#//ConnectionInstance">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference etricegen.ecore#//ConnectionInstance/fromAI"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference etricegen.ecore#//ConnectionInstance/fromSPP"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference etricegen.ecore#//ConnectionInstance/toSPP"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference etricegen.ecore#//ConnectionInstance/connection"/>
+ </genClasses>
+ <genClasses ecoreClass="etricegen.ecore#//ActiveTrigger">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference etricegen.ecore#//ActiveTrigger/msg"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference etricegen.ecore#//ActiveTrigger/ifitem"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute etricegen.ecore#//ActiveTrigger/trigger"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference etricegen.ecore#//ActiveTrigger/transitions"/>
+ </genClasses>
+ <genClasses ecoreClass="etricegen.ecore#//TransitionChain">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference etricegen.ecore#//TransitionChain/transition"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute etricegen.ecore#//TransitionChain/skipEntry"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference etricegen.ecore#//TransitionChain/data"/>
+ <genOperations ecoreOperation="etricegen.ecore#//TransitionChain/getStateContext"/>
+ <genOperations ecoreOperation="etricegen.ecore#//TransitionChain/isHandler"/>
+ <genOperations ecoreOperation="etricegen.ecore#//TransitionChain/genExecuteChain">
+ <genParameters ecoreParameter="etricegen.ecore#//TransitionChain/genExecuteChain/tcv"/>
+ </genOperations>
+ </genClasses>
+ <genClasses image="false" ecoreClass="etricegen.ecore#//ITransitionChainVisitor"/>
+ <genClasses image="false" ecoreClass="etricegen.ecore#//IDiagnostician"/>
+ <genClasses ecoreClass="etricegen.ecore#//ExpandedActorClass">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference etricegen.ecore#//ExpandedActorClass/actorClass"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference etricegen.ecore#//ExpandedActorClass/stateMachine"/>
+ <genOperations ecoreOperation="etricegen.ecore#//ExpandedActorClass/prepare">
+ <genParameters ecoreParameter="etricegen.ecore#//ExpandedActorClass/prepare/validator"/>
+ </genOperations>
+ <genOperations ecoreOperation="etricegen.ecore#//ExpandedActorClass/release"/>
+ <genOperations ecoreOperation="etricegen.ecore#//ExpandedActorClass/addOwnObject">
+ <genParameters ecoreParameter="etricegen.ecore#//ExpandedActorClass/addOwnObject/obj"/>
+ </genOperations>
+ <genOperations ecoreOperation="etricegen.ecore#//ExpandedActorClass/isOwnObject">
+ <genParameters ecoreParameter="etricegen.ecore#//ExpandedActorClass/isOwnObject/obj"/>
+ </genOperations>
+ <genOperations ecoreOperation="etricegen.ecore#//ExpandedActorClass/getInterfaceItemLocalId">
+ <genParameters ecoreParameter="etricegen.ecore#//ExpandedActorClass/getInterfaceItemLocalId/ifitem"/>
+ </genOperations>
+ <genOperations ecoreOperation="etricegen.ecore#//ExpandedActorClass/hasStateMachine"/>
+ <genOperations ecoreOperation="etricegen.ecore#//ExpandedActorClass/getTriggerCodeName">
+ <genParameters ecoreParameter="etricegen.ecore#//ExpandedActorClass/getTriggerCodeName/mif"/>
+ </genOperations>
+ <genOperations ecoreOperation="etricegen.ecore#//ExpandedActorClass/getTriggerCodeName.1">
+ <genParameters ecoreParameter="etricegen.ecore#//ExpandedActorClass/getTriggerCodeName.1/mif"/>
+ </genOperations>
+ <genOperations ecoreOperation="etricegen.ecore#//ExpandedActorClass/getOutgoingTransitions">
+ <genParameters ecoreParameter="etricegen.ecore#//ExpandedActorClass/getOutgoingTransitions/node"/>
+ </genOperations>
+ <genOperations ecoreOperation="etricegen.ecore#//ExpandedActorClass/getIncomingTransitions">
+ <genParameters ecoreParameter="etricegen.ecore#//ExpandedActorClass/getIncomingTransitions/node"/>
+ </genOperations>
+ <genOperations ecoreOperation="etricegen.ecore#//ExpandedActorClass/getActiveTriggers">
+ <genParameters ecoreParameter="etricegen.ecore#//ExpandedActorClass/getActiveTriggers/state"/>
+ </genOperations>
+ <genOperations ecoreOperation="etricegen.ecore#//ExpandedActorClass/getTriggers"/>
+ <genOperations ecoreOperation="etricegen.ecore#//ExpandedActorClass/getOwnTriggers"/>
+ <genOperations ecoreOperation="etricegen.ecore#//ExpandedActorClass/getMessageID">
+ <genParameters ecoreParameter="etricegen.ecore#//ExpandedActorClass/getMessageID/mif"/>
+ </genOperations>
+ <genOperations ecoreOperation="etricegen.ecore#//ExpandedActorClass/getChain">
+ <genParameters ecoreParameter="etricegen.ecore#//ExpandedActorClass/getChain/trans"/>
+ </genOperations>
+ <genOperations ecoreOperation="etricegen.ecore#//ExpandedActorClass/getTransitionChains"/>
+ <genOperations ecoreOperation="etricegen.ecore#//ExpandedActorClass/getOwnTransitionChains"/>
+ <genOperations ecoreOperation="etricegen.ecore#//ExpandedActorClass/getNode">
+ <genParameters ecoreParameter="etricegen.ecore#//ExpandedActorClass/getNode/tt"/>
+ </genOperations>
+ <genOperations ecoreOperation="etricegen.ecore#//ExpandedActorClass/isMatching">
+ <genParameters ecoreParameter="etricegen.ecore#//ExpandedActorClass/isMatching/trig"/>
+ <genParameters ecoreParameter="etricegen.ecore#//ExpandedActorClass/isMatching/trigstr"/>
+ </genOperations>
+ <genOperations ecoreOperation="etricegen.ecore#//ExpandedActorClass/getDefaultBranch">
+ <genParameters ecoreParameter="etricegen.ecore#//ExpandedActorClass/getDefaultBranch/out"/>
+ </genOperations>
+ <genOperations ecoreOperation="etricegen.ecore#//ExpandedActorClass/getOrig">
+ <genParameters ecoreParameter="etricegen.ecore#//ExpandedActorClass/getOrig/copy"/>
+ </genOperations>
+ <genOperations ecoreOperation="etricegen.ecore#//ExpandedActorClass/getData">
+ <genParameters ecoreParameter="etricegen.ecore#//ExpandedActorClass/getData/trans"/>
+ </genOperations>
+ </genClasses>
+ <genClasses ecoreClass="etricegen.ecore#//ExpandedRefinedState">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference etricegen.ecore#//ExpandedRefinedState/inheritedEntry"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference etricegen.ecore#//ExpandedRefinedState/inheritedExit"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference etricegen.ecore#//ExpandedRefinedState/inheritedDo"/>
+ <genOperations ecoreOperation="etricegen.ecore#//ExpandedRefinedState/init">
+ <genParameters ecoreParameter="etricegen.ecore#//ExpandedRefinedState/init/rs"/>
+ </genOperations>
+ </genClasses>
+ </genPackages>
+</genmodel:GenModel>
diff --git a/plugins/org.eclipse.etrice.core.genmodel/model/howto.txt b/plugins/org.eclipse.etrice.core.genmodel/model/howto.txt
index e8b95f30f..225dbb998 100644
--- a/plugins/org.eclipse.etrice.core.genmodel/model/howto.txt
+++ b/plugins/org.eclipse.etrice.core.genmodel/model/howto.txt
@@ -1,3 +1,3 @@
-The etricegen.ecore model references the Room.ecore model.
-Therefore the etricegen.genmodel also has to reference the Room.genmodel
+The etricegen.ecore model references the Room.ecore model.
+Therefore the etricegen.genmodel also has to reference the Room.genmodel
(this can be done in the lower part of the Create Genmodel Wizzard). \ No newline at end of file
diff --git a/plugins/org.eclipse.etrice.core.genmodel/plugin.properties b/plugins/org.eclipse.etrice.core.genmodel/plugin.properties
index 4f91563c1..336487a2d 100644
--- a/plugins/org.eclipse.etrice.core.genmodel/plugin.properties
+++ b/plugins/org.eclipse.etrice.core.genmodel/plugin.properties
@@ -1,8 +1,8 @@
-
-# <copyright>
-# </copyright>
-#
-# $Id$
-
-pluginName = eTriceGen Model
-providerName = eTrice (Incubation)
+
+# <copyright>
+# </copyright>
+#
+# $Id$
+
+pluginName = eTriceGen Model
+providerName = eTrice (Incubation)
diff --git a/plugins/org.eclipse.etrice.core.genmodel/plugin.xml b/plugins/org.eclipse.etrice.core.genmodel/plugin.xml
index db558f68f..c0cb74f71 100644
--- a/plugins/org.eclipse.etrice.core.genmodel/plugin.xml
+++ b/plugins/org.eclipse.etrice.core.genmodel/plugin.xml
@@ -1,26 +1,26 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-
-<!--
- <copyright>
- </copyright>
-
- $Id$
--->
-
-<plugin>
-
- <extension point="org.eclipse.emf.ecore.generated_package">
- <package
- uri="http://www.eclipse.org/etrice/generator"
- class="org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage"
- genModel="model/etricegen.genmodel"/>
- </extension>
-
- <extension point="org.eclipse.emf.ecore.extension_parser">
- <parser
- type="etricegen"
- class="org.eclipse.etrice.core.genmodel.etricegen.util.ETriceGenResourceFactoryImpl"/>
- </extension>
-
-</plugin>
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<!--
+ <copyright>
+ </copyright>
+
+ $Id$
+-->
+
+<plugin>
+
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <package
+ uri="http://www.eclipse.org/etrice/generator"
+ class="org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage"
+ genModel="model/etricegen.genmodel"/>
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.extension_parser">
+ <parser
+ type="etricegen"
+ class="org.eclipse.etrice.core.genmodel.etricegen.util.ETriceGenResourceFactoryImpl"/>
+ </extension>
+
+</plugin>
diff --git a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/Activator.java b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/Activator.java
index def4e0487..a2ef1b989 100644
--- a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/Activator.java
+++ b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/Activator.java
@@ -1,42 +1,42 @@
-/*******************************************************************************
- * Copyright (c) 2010 protos software gmbh (http://www.protos.de).
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * CONTRIBUTORS:
- * Thomas Schuetz and Henrik Rentz-Reichert (initial contribution)
- *
- *******************************************************************************/
-
-package org.eclipse.etrice.core.genmodel;
-
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-
-public class Activator implements BundleActivator {
-
- private static BundleContext context;
-
- static BundleContext getContext() {
- return context;
- }
-
- /*
- * (non-Javadoc)
- * @see org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext)
- */
- public void start(BundleContext bundleContext) throws Exception {
- Activator.context = bundleContext;
- }
-
- /*
- * (non-Javadoc)
- * @see org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext)
- */
- public void stop(BundleContext bundleContext) throws Exception {
- Activator.context = null;
- }
-
-}
+/*******************************************************************************
+ * Copyright (c) 2010 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * Thomas Schuetz and Henrik Rentz-Reichert (initial contribution)
+ *
+ *******************************************************************************/
+
+package org.eclipse.etrice.core.genmodel;
+
+import org.osgi.framework.BundleActivator;
+import org.osgi.framework.BundleContext;
+
+public class Activator implements BundleActivator {
+
+ private static BundleContext context;
+
+ static BundleContext getContext() {
+ return context;
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext)
+ */
+ public void start(BundleContext bundleContext) throws Exception {
+ Activator.context = bundleContext;
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext)
+ */
+ public void stop(BundleContext bundleContext) throws Exception {
+ Activator.context = null;
+ }
+
+}
diff --git a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/SetupGenmodel.java b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/SetupGenmodel.java
index 06024b59c..9c1b7e27c 100644
--- a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/SetupGenmodel.java
+++ b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/SetupGenmodel.java
@@ -1,32 +1,32 @@
-/*******************************************************************************
- * Copyright (c) 2011 protos software gmbh (http://www.protos.de).
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * CONTRIBUTORS:
- * Thomas Schuetz and Henrik Rentz-Reichert (initial contribution)
- *
- *******************************************************************************/
-
-package org.eclipse.etrice.core.genmodel;
-
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.resource.Resource;
-
-/**
- * @author Henrik Rentz-Reichert
- *
- */
-public class SetupGenmodel {
-
- public static void doSetup() {
- if (!EPackage.Registry.INSTANCE.containsKey("http://www.eclipse.org/etrice/generator")) {
- EPackage.Registry.INSTANCE.put("http://www.eclipse.org/etrice/generator",
- org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage.eINSTANCE);
- }
- Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap().put("rim",
- new org.eclipse.etrice.core.genmodel.etricegen.util.ETriceGenResourceFactoryImpl());
- }
-}
+/*******************************************************************************
+ * Copyright (c) 2011 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * Thomas Schuetz and Henrik Rentz-Reichert (initial contribution)
+ *
+ *******************************************************************************/
+
+package org.eclipse.etrice.core.genmodel;
+
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.resource.Resource;
+
+/**
+ * @author Henrik Rentz-Reichert
+ *
+ */
+public class SetupGenmodel {
+
+ public static void doSetup() {
+ if (!EPackage.Registry.INSTANCE.containsKey("http://www.eclipse.org/etrice/generator")) {
+ EPackage.Registry.INSTANCE.put("http://www.eclipse.org/etrice/generator",
+ org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage.eINSTANCE);
+ }
+ Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap().put("rim",
+ new org.eclipse.etrice.core.genmodel.etricegen.util.ETriceGenResourceFactoryImpl());
+ }
+}
diff --git a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/base/ILogger.java b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/base/ILogger.java
index 95c9098e3..441c69c15 100644
--- a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/base/ILogger.java
+++ b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/base/ILogger.java
@@ -1,35 +1,35 @@
-/*******************************************************************************
- * Copyright (c) 2010 protos software gmbh (http://www.protos.de).
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * CONTRIBUTORS:
- * Thomas Schuetz and Henrik Rentz-Reichert (initial contribution)
- *
- *******************************************************************************/
-
-package org.eclipse.etrice.core.genmodel.base;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * A simple logger interface for error messages during model validation and code generation.
- *
- * @author Henrik Rentz-Reichert
- *
- */
-public interface ILogger {
-
- /**
- * @param text informational text
- */
- void logInfo(String text);
-
- /**
- * @param text error text
- * @param obj {@link org.eclipse.emf.ecore.EObject EObject} (if available) where the error occurred
- */
- void logError(String text, EObject obj);
-}
+/*******************************************************************************
+ * Copyright (c) 2010 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * Thomas Schuetz and Henrik Rentz-Reichert (initial contribution)
+ *
+ *******************************************************************************/
+
+package org.eclipse.etrice.core.genmodel.base;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * A simple logger interface for error messages during model validation and code generation.
+ *
+ * @author Henrik Rentz-Reichert
+ *
+ */
+public interface ILogger {
+
+ /**
+ * @param text informational text
+ */
+ void logInfo(String text);
+
+ /**
+ * @param text error text
+ * @param obj {@link org.eclipse.emf.ecore.EObject EObject} (if available) where the error occurred
+ */
+ void logError(String text, EObject obj);
+}
diff --git a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/base/NullDiagnostician.java b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/base/NullDiagnostician.java
index be3595963..02eddb0c6 100644
--- a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/base/NullDiagnostician.java
+++ b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/base/NullDiagnostician.java
@@ -1,65 +1,65 @@
-/*******************************************************************************
- * Copyright (c) 2012 protos software gmbh (http://www.protos.de).
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * CONTRIBUTORS:
- * Henrik Rentz-Reichert (initial contribution)
- *
- *******************************************************************************/
-
-package org.eclipse.etrice.core.genmodel.base;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.etrice.core.genmodel.etricegen.IDiagnostician;
-
-/**
- * @author Henrik Rentz-Reichert
- *
- */
-public class NullDiagnostician implements IDiagnostician {
-
- private boolean failed = false;
-
- /* (non-Javadoc)
- * @see org.eclipse.etrice.core.genmodel.etricegen.IDiagnostician#warning(java.lang.String, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature)
- */
- @Override
- public void warning(String msg, EObject source, EStructuralFeature feature) {
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.etrice.core.genmodel.etricegen.IDiagnostician#warning(java.lang.String, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, int)
- */
- @Override
- public void warning(String msg, EObject source, EStructuralFeature feature, int idx) {
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.etrice.core.genmodel.etricegen.IDiagnostician#error(java.lang.String, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature)
- */
- @Override
- public void error(String msg, EObject source, EStructuralFeature feature) {
- error(msg, source, feature, -1);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.etrice.core.genmodel.etricegen.IDiagnostician#error(java.lang.String, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, int)
- */
- @Override
- public void error(String msg, EObject source, EStructuralFeature feature, int idx) {
- failed = true;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.etrice.core.genmodel.etricegen.IDiagnostician#isFailed()
- */
- @Override
- public boolean isFailed() {
- return failed;
- }
-
-}
+/*******************************************************************************
+ * Copyright (c) 2012 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * Henrik Rentz-Reichert (initial contribution)
+ *
+ *******************************************************************************/
+
+package org.eclipse.etrice.core.genmodel.base;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.etrice.core.genmodel.etricegen.IDiagnostician;
+
+/**
+ * @author Henrik Rentz-Reichert
+ *
+ */
+public class NullDiagnostician implements IDiagnostician {
+
+ private boolean failed = false;
+
+ /* (non-Javadoc)
+ * @see org.eclipse.etrice.core.genmodel.etricegen.IDiagnostician#warning(java.lang.String, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature)
+ */
+ @Override
+ public void warning(String msg, EObject source, EStructuralFeature feature) {
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.etrice.core.genmodel.etricegen.IDiagnostician#warning(java.lang.String, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, int)
+ */
+ @Override
+ public void warning(String msg, EObject source, EStructuralFeature feature, int idx) {
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.etrice.core.genmodel.etricegen.IDiagnostician#error(java.lang.String, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature)
+ */
+ @Override
+ public void error(String msg, EObject source, EStructuralFeature feature) {
+ error(msg, source, feature, -1);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.etrice.core.genmodel.etricegen.IDiagnostician#error(java.lang.String, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, int)
+ */
+ @Override
+ public void error(String msg, EObject source, EStructuralFeature feature, int idx) {
+ failed = true;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.etrice.core.genmodel.etricegen.IDiagnostician#isFailed()
+ */
+ @Override
+ public boolean isFailed() {
+ return failed;
+ }
+
+}
diff --git a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/base/NullLogger.java b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/base/NullLogger.java
index da3c35b3c..ed4c13ac1 100644
--- a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/base/NullLogger.java
+++ b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/base/NullLogger.java
@@ -1,37 +1,37 @@
-/*******************************************************************************
- * Copyright (c) 2012 protos software gmbh (http://www.protos.de).
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * CONTRIBUTORS:
- * Henrik Rentz-Reichert (initial contribution)
- *
- *******************************************************************************/
-
-package org.eclipse.etrice.core.genmodel.base;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * @author Henrik Rentz-Reichert
- *
- */
-public class NullLogger implements ILogger {
-
- /* (non-Javadoc)
- * @see org.eclipse.etrice.core.genmodel.base.ILogger#logInfo(java.lang.String)
- */
- @Override
- public void logInfo(String text) {
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.etrice.core.genmodel.base.ILogger#logError(java.lang.String, org.eclipse.emf.ecore.EObject)
- */
- @Override
- public void logError(String text, EObject obj) {
- }
-
-}
+/*******************************************************************************
+ * Copyright (c) 2012 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * Henrik Rentz-Reichert (initial contribution)
+ *
+ *******************************************************************************/
+
+package org.eclipse.etrice.core.genmodel.base;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * @author Henrik Rentz-Reichert
+ *
+ */
+public class NullLogger implements ILogger {
+
+ /* (non-Javadoc)
+ * @see org.eclipse.etrice.core.genmodel.base.ILogger#logInfo(java.lang.String)
+ */
+ @Override
+ public void logInfo(String text) {
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.etrice.core.genmodel.base.ILogger#logError(java.lang.String, org.eclipse.emf.ecore.EObject)
+ */
+ @Override
+ public void logError(String text, EObject obj) {
+ }
+
+}
diff --git a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/builder/BindingUtil.java b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/builder/BindingUtil.java
index 84778d5cb..bfd14d7d0 100644
--- a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/builder/BindingUtil.java
+++ b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/builder/BindingUtil.java
@@ -1,243 +1,243 @@
-/*******************************************************************************
- * Copyright (c) 2012 protos software gmbh (http://www.protos.de).
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * CONTRIBUTORS:
- * Henrik Rentz-Reichert (initial contribution)
- *
- *******************************************************************************/
-
-package org.eclipse.etrice.core.genmodel.builder;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Map.Entry;
-
-import org.eclipse.etrice.core.genmodel.etricegen.ActorInstance;
-import org.eclipse.etrice.core.genmodel.etricegen.BindingInstance;
-import org.eclipse.etrice.core.genmodel.etricegen.ETriceGenFactory;
-import org.eclipse.etrice.core.genmodel.etricegen.IDiagnostician;
-import org.eclipse.etrice.core.genmodel.etricegen.PortInstance;
-import org.eclipse.etrice.core.genmodel.etricegen.PortKind;
-import org.eclipse.etrice.core.genmodel.etricegen.StructureInstance;
-import org.eclipse.etrice.core.genmodel.etricegen.SubSystemInstance;
-import org.eclipse.etrice.core.room.ActorClass;
-import org.eclipse.etrice.core.room.ActorContainerRef;
-import org.eclipse.etrice.core.room.ActorRef;
-import org.eclipse.etrice.core.room.Binding;
-import org.eclipse.etrice.core.room.BindingEndPoint;
-import org.eclipse.etrice.core.room.CommunicationType;
-import org.eclipse.etrice.core.room.Port;
-import org.eclipse.etrice.core.room.RoomPackage;
-
-/**
- * @author Henrik Rentz-Reichert
- *
- */
-public class BindingUtil {
-
- private static class BindingInfo {
- private Binding binding;
- private int multiplicity;
-
- public BindingInfo(Binding binding) {
- this.binding = binding;
-
- int m1 = getMultiplicity(binding.getEndpoint1());
- int m2 = getMultiplicity(binding.getEndpoint2());
-
- multiplicity = Math.max(m1, m2);
- }
-
- public int getMultiplicity() {
- return multiplicity;
- }
-
- public Port getPeer(Port p) {
- if (binding.getEndpoint1().getPort()==p)
- return binding.getEndpoint2().getPort();
- else
- return binding.getEndpoint1().getPort();
- }
-
- private int getMultiplicity(BindingEndPoint ep) {
- if (ep.getActorRef() instanceof ActorRef)
- return ((ActorRef) ep.getActorRef()).getSize();
-
- return 1;
- }
- }
- private static final String SEP = "#";
-
- private StructureInstance si;
- private IDiagnostician diagnostician;
- private ArrayList<Binding> bindings = new ArrayList<Binding>();
-
- private HashMap<String, ArrayList<PortInstance>> ep2portInstances = new HashMap<String, ArrayList<PortInstance>>();
- private HashMap<String, ArrayList<BindingInfo>> ep2bindings = new HashMap<String, ArrayList<BindingInfo>>();
- private HashMap<Binding, BindingInfo> binding2info = new HashMap<Binding, BindingInfo>();
-
- /**
- * @param diagnostician
- */
- public BindingUtil(StructureInstance si, IDiagnostician diagnostician) {
- this.si = si;
- this.diagnostician = diagnostician;
-
- // collect bindings
- if (si instanceof ActorInstance) {
- ActorClass ac = ((ActorInstance) si).getActorClass();
- while (ac!=null) {
- bindings.addAll(ac.getBindings());
- ac = ac.getBase();
- }
- }
- else if (si instanceof SubSystemInstance)
- bindings.addAll(((SubSystemInstance) si).getSubSystemClass().getBindings());
- }
-
- /**
- * create binding instances. Since bindings connect port instances the ports can point back to their bindings
- * using EOpposite
- * @param si - create bindings for this actor instance
- * @param bindings - a list of bindings
- */
- public void createBindingInstances() {
- initPortInstanceMap();
-
- for (Binding bind : bindings) {
- if (bind.getEndpoint1().getActorRef()==null && bind.getEndpoint2().getActorRef()==null) {
- int idx = bindings.indexOf(bind);
- diagnostician.error("binding connects two ports of the same actor", bind.eContainer(), RoomPackage.eINSTANCE.getStructureClass_Bindings(), idx);
- }
- else {
- ArrayList<PortInstance> ep1Ports = ep2portInstances.get(getEndPointKey(bind.getEndpoint1()));
- ArrayList<PortInstance> ep2Ports = ep2portInstances.get(getEndPointKey(bind.getEndpoint2()));
- BindingInfo bi = binding2info.get(bind);
- int nBind = Math.min(bi.getMultiplicity(), ep1Ports.size());
- nBind = Math.min(nBind, ep2Ports.size());
- for (int i=0; i<nBind; ++i) {
- createBindingInstance(ep1Ports.get(0), ep2Ports.get(0), bind);
- ep1Ports.remove(0);
- ep2Ports.remove(0);
- }
- }
- }
- }
-
- private void createBindingInstance(PortInstance pi1, PortInstance pi2, Binding bind) {
- BindingInstance bi = ETriceGenFactory.eINSTANCE.createBindingInstance();
-
- bi.getPorts().add(pi1);
- bi.getPorts().add(pi2);
- bi.setBinding(bind);
-
- si.getBindings().add(bi);
- }
-
- private void initPortInstanceMap() {
- // 1. register existing port instances
-
- // local end ports
- for (PortInstance pi : si.getPorts()) {
- if (pi.getKind()!=PortKind.EXTERNAL) {
- addPortInstance(pi, getEndPointKey(null, pi));
- }
- }
-
- // ports of actor refs
- for (ActorInstance sub : si.getInstances()) {
- boolean forceMultFixed = sub.getReplIdx()>1;
- for (PortInstance pi : sub.getPorts()) {
- if (pi.getKind()!=PortKind.INTERNAL) {
- if (forceMultFixed && pi.getPort().getMultiplicity()<0)
- diagnostician.error("port multiplicity of replicated actor has to be fixed", pi.getPort(), RoomPackage.eINSTANCE.getPort_Multiplicity());
- addPortInstance(pi, getEndPointKey(sub, pi));
- }
- }
- }
-
- // 2. compute binding info
- for (Binding bind : bindings) {
- BindingInfo bi = new BindingInfo(bind);
- binding2info.put(bind, bi);
- addBindingInfoToEndPoint(bi, bind.getEndpoint1());
- addBindingInfoToEndPoint(bi, bind.getEndpoint2());
- }
-
- // 3. determine * multiplicities
- outer: for (Entry<String, ArrayList<BindingInfo>> entry : ep2bindings.entrySet()) {
- ArrayList<PortInstance> ports = ep2portInstances.get(entry.getKey());
- PortInstance pi = ports.get(0);
- Port p = pi.getPort();
- boolean implicitMany = pi.getProtocol()==null || pi.getProtocol().getCommType() == CommunicationType.DATA_DRIVEN;
- if (implicitMany || p.getMultiplicity()<0) {
- int m = 0;
- for (BindingInfo bi : entry.getValue()) {
- Port peer = bi.getPeer(p);
- if (peer.getMultiplicity()>0)
- m += bi.getMultiplicity();
- else {
- diagnostician.error("could not compute multiplicity", p, RoomPackage.Literals.PORT__MULTIPLICITY);
- break outer;
- }
- }
-
- // fill in port instances such that ports.size()==m
- m -= ports.size();
- for (; m>0; --m)
- ports.add(pi);
- }
- }
- }
-
- /**
- * @param bi
- * @param ep
- */
- private void addBindingInfoToEndPoint(BindingInfo bi, BindingEndPoint ep) {
- String key = getEndPointKey(ep.getActorRef(), ep.getPort());
- ArrayList<BindingInfo> list = ep2bindings.get(key);
- if (list==null) {
- list = new ArrayList<BindingInfo>();
- ep2bindings.put(key, list);
- }
-
- list.add(bi);
- }
-
- private static String getEndPointKey(ActorInstance ai, PortInstance pi) {
- return (ai!=null? ai.getUnindexedName():"")+SEP+pi.getPort().getName();
- }
-
- private static String getEndPointKey(BindingEndPoint ep) {
- return getEndPointKey(ep.getActorRef(), ep.getPort());
- }
-
- private static String getEndPointKey(ActorContainerRef ref, Port port) {
- return ref==null? SEP+port.getName() : ref.getName()+SEP+port.getName();
- }
-
- /**
- * add the port instance to the map. Replicated ports are added 'multiplicity' times. If the multiplicity is * then the port is added once.
- *
- * @param pi
- * @param ep2portInstances
- */
- private void addPortInstance(PortInstance pi, String key) {
- ArrayList<PortInstance> ports = ep2portInstances.get(key);
- if (ports==null) {
- ports = new ArrayList<PortInstance>();
- ep2portInstances.put(key, ports);
- }
- int repl = pi.getPort().getMultiplicity();
- if (repl<=0)
- repl = 1;
- for (int i=0; i<repl; ++i)
- ports.add(pi);
- }
-
-}
+/*******************************************************************************
+ * Copyright (c) 2012 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * Henrik Rentz-Reichert (initial contribution)
+ *
+ *******************************************************************************/
+
+package org.eclipse.etrice.core.genmodel.builder;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Map.Entry;
+
+import org.eclipse.etrice.core.genmodel.etricegen.ActorInstance;
+import org.eclipse.etrice.core.genmodel.etricegen.BindingInstance;
+import org.eclipse.etrice.core.genmodel.etricegen.ETriceGenFactory;
+import org.eclipse.etrice.core.genmodel.etricegen.IDiagnostician;
+import org.eclipse.etrice.core.genmodel.etricegen.PortInstance;
+import org.eclipse.etrice.core.genmodel.etricegen.PortKind;
+import org.eclipse.etrice.core.genmodel.etricegen.StructureInstance;
+import org.eclipse.etrice.core.genmodel.etricegen.SubSystemInstance;
+import org.eclipse.etrice.core.room.ActorClass;
+import org.eclipse.etrice.core.room.ActorContainerRef;
+import org.eclipse.etrice.core.room.ActorRef;
+import org.eclipse.etrice.core.room.Binding;
+import org.eclipse.etrice.core.room.BindingEndPoint;
+import org.eclipse.etrice.core.room.CommunicationType;
+import org.eclipse.etrice.core.room.Port;
+import org.eclipse.etrice.core.room.RoomPackage;
+
+/**
+ * @author Henrik Rentz-Reichert
+ *
+ */
+public class BindingUtil {
+
+ private static class BindingInfo {
+ private Binding binding;
+ private int multiplicity;
+
+ public BindingInfo(Binding binding) {
+ this.binding = binding;
+
+ int m1 = getMultiplicity(binding.getEndpoint1());
+ int m2 = getMultiplicity(binding.getEndpoint2());
+
+ multiplicity = Math.max(m1, m2);
+ }
+
+ public int getMultiplicity() {
+ return multiplicity;
+ }
+
+ public Port getPeer(Port p) {
+ if (binding.getEndpoint1().getPort()==p)
+ return binding.getEndpoint2().getPort();
+ else
+ return binding.getEndpoint1().getPort();
+ }
+
+ private int getMultiplicity(BindingEndPoint ep) {
+ if (ep.getActorRef() instanceof ActorRef)
+ return ((ActorRef) ep.getActorRef()).getSize();
+
+ return 1;
+ }
+ }
+ private static final String SEP = "#";
+
+ private StructureInstance si;
+ private IDiagnostician diagnostician;
+ private ArrayList<Binding> bindings = new ArrayList<Binding>();
+
+ private HashMap<String, ArrayList<PortInstance>> ep2portInstances = new HashMap<String, ArrayList<PortInstance>>();
+ private HashMap<String, ArrayList<BindingInfo>> ep2bindings = new HashMap<String, ArrayList<BindingInfo>>();
+ private HashMap<Binding, BindingInfo> binding2info = new HashMap<Binding, BindingInfo>();
+
+ /**
+ * @param diagnostician
+ */
+ public BindingUtil(StructureInstance si, IDiagnostician diagnostician) {
+ this.si = si;
+ this.diagnostician = diagnostician;
+
+ // collect bindings
+ if (si instanceof ActorInstance) {
+ ActorClass ac = ((ActorInstance) si).getActorClass();
+ while (ac!=null) {
+ bindings.addAll(ac.getBindings());
+ ac = ac.getBase();
+ }
+ }
+ else if (si instanceof SubSystemInstance)
+ bindings.addAll(((SubSystemInstance) si).getSubSystemClass().getBindings());
+ }
+
+ /**
+ * create binding instances. Since bindings connect port instances the ports can point back to their bindings
+ * using EOpposite
+ * @param si - create bindings for this actor instance
+ * @param bindings - a list of bindings
+ */
+ public void createBindingInstances() {
+ initPortInstanceMap();
+
+ for (Binding bind : bindings) {
+ if (bind.getEndpoint1().getActorRef()==null && bind.getEndpoint2().getActorRef()==null) {
+ int idx = bindings.indexOf(bind);
+ diagnostician.error("binding connects two ports of the same actor", bind.eContainer(), RoomPackage.eINSTANCE.getStructureClass_Bindings(), idx);
+ }
+ else {
+ ArrayList<PortInstance> ep1Ports = ep2portInstances.get(getEndPointKey(bind.getEndpoint1()));
+ ArrayList<PortInstance> ep2Ports = ep2portInstances.get(getEndPointKey(bind.getEndpoint2()));
+ BindingInfo bi = binding2info.get(bind);
+ int nBind = Math.min(bi.getMultiplicity(), ep1Ports.size());
+ nBind = Math.min(nBind, ep2Ports.size());
+ for (int i=0; i<nBind; ++i) {
+ createBindingInstance(ep1Ports.get(0), ep2Ports.get(0), bind);
+ ep1Ports.remove(0);
+ ep2Ports.remove(0);
+ }
+ }
+ }
+ }
+
+ private void createBindingInstance(PortInstance pi1, PortInstance pi2, Binding bind) {
+ BindingInstance bi = ETriceGenFactory.eINSTANCE.createBindingInstance();
+
+ bi.getPorts().add(pi1);
+ bi.getPorts().add(pi2);
+ bi.setBinding(bind);
+
+ si.getBindings().add(bi);
+ }
+
+ private void initPortInstanceMap() {
+ // 1. register existing port instances
+
+ // local end ports
+ for (PortInstance pi : si.getPorts()) {
+ if (pi.getKind()!=PortKind.EXTERNAL) {
+ addPortInstance(pi, getEndPointKey(null, pi));
+ }
+ }
+
+ // ports of actor refs
+ for (ActorInstance sub : si.getInstances()) {
+ boolean forceMultFixed = sub.getReplIdx()>1;
+ for (PortInstance pi : sub.getPorts()) {
+ if (pi.getKind()!=PortKind.INTERNAL) {
+ if (forceMultFixed && pi.getPort().getMultiplicity()<0)
+ diagnostician.error("port multiplicity of replicated actor has to be fixed", pi.getPort(), RoomPackage.eINSTANCE.getPort_Multiplicity());
+ addPortInstance(pi, getEndPointKey(sub, pi));
+ }
+ }
+ }
+
+ // 2. compute binding info
+ for (Binding bind : bindings) {
+ BindingInfo bi = new BindingInfo(bind);
+ binding2info.put(bind, bi);
+ addBindingInfoToEndPoint(bi, bind.getEndpoint1());
+ addBindingInfoToEndPoint(bi, bind.getEndpoint2());
+ }
+
+ // 3. determine * multiplicities
+ outer: for (Entry<String, ArrayList<BindingInfo>> entry : ep2bindings.entrySet()) {
+ ArrayList<PortInstance> ports = ep2portInstances.get(entry.getKey());
+ PortInstance pi = ports.get(0);
+ Port p = pi.getPort();
+ boolean implicitMany = pi.getProtocol()==null || pi.getProtocol().getCommType() == CommunicationType.DATA_DRIVEN;
+ if (implicitMany || p.getMultiplicity()<0) {
+ int m = 0;
+ for (BindingInfo bi : entry.getValue()) {
+ Port peer = bi.getPeer(p);
+ if (peer.getMultiplicity()>0)
+ m += bi.getMultiplicity();
+ else {
+ diagnostician.error("could not compute multiplicity", p, RoomPackage.Literals.PORT__MULTIPLICITY);
+ break outer;
+ }
+ }
+
+ // fill in port instances such that ports.size()==m
+ m -= ports.size();
+ for (; m>0; --m)
+ ports.add(pi);
+ }
+ }
+ }
+
+ /**
+ * @param bi
+ * @param ep
+ */
+ private void addBindingInfoToEndPoint(BindingInfo bi, BindingEndPoint ep) {
+ String key = getEndPointKey(ep.getActorRef(), ep.getPort());
+ ArrayList<BindingInfo> list = ep2bindings.get(key);
+ if (list==null) {
+ list = new ArrayList<BindingInfo>();
+ ep2bindings.put(key, list);
+ }
+
+ list.add(bi);
+ }
+
+ private static String getEndPointKey(ActorInstance ai, PortInstance pi) {
+ return (ai!=null? ai.getUnindexedName():"")+SEP+pi.getPort().getName();
+ }
+
+ private static String getEndPointKey(BindingEndPoint ep) {
+ return getEndPointKey(ep.getActorRef(), ep.getPort());
+ }
+
+ private static String getEndPointKey(ActorContainerRef ref, Port port) {
+ return ref==null? SEP+port.getName() : ref.getName()+SEP+port.getName();
+ }
+
+ /**
+ * add the port instance to the map. Replicated ports are added 'multiplicity' times. If the multiplicity is * then the port is added once.
+ *
+ * @param pi
+ * @param ep2portInstances
+ */
+ private void addPortInstance(PortInstance pi, String key) {
+ ArrayList<PortInstance> ports = ep2portInstances.get(key);
+ if (ports==null) {
+ ports = new ArrayList<PortInstance>();
+ ep2portInstances.put(key, ports);
+ }
+ int repl = pi.getPort().getMultiplicity();
+ if (repl<=0)
+ repl = 1;
+ for (int i=0; i<repl; ++i)
+ ports.add(pi);
+ }
+
+}
diff --git a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/builder/GeneratorModelBuilder.java b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/builder/GeneratorModelBuilder.java
index d27cc6ff5..50cb21216 100644
--- a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/builder/GeneratorModelBuilder.java
+++ b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/builder/GeneratorModelBuilder.java
@@ -1,1007 +1,1007 @@
-/*******************************************************************************
- * Copyright (c) 2010 protos software gmbh (http://www.protos.de).
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * CONTRIBUTORS:
- * Thomas Schuetz and Henrik Rentz-Reichert (initial contribution)
- *
- *******************************************************************************/
-
-package org.eclipse.etrice.core.genmodel.builder;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-
-import org.eclipse.emf.common.util.TreeIterator;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EReference;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.etrice.core.genmodel.base.ILogger;
-import org.eclipse.etrice.core.genmodel.etricegen.ActorInstance;
-import org.eclipse.etrice.core.genmodel.etricegen.BindingInstance;
-import org.eclipse.etrice.core.genmodel.etricegen.ConnectionInstance;
-import org.eclipse.etrice.core.genmodel.etricegen.ETriceGenFactory;
-import org.eclipse.etrice.core.genmodel.etricegen.ExpandedActorClass;
-import org.eclipse.etrice.core.genmodel.etricegen.IDiagnostician;
-import org.eclipse.etrice.core.genmodel.etricegen.InstanceBase;
-import org.eclipse.etrice.core.genmodel.etricegen.InterfaceItemInstance;
-import org.eclipse.etrice.core.genmodel.etricegen.PortInstance;
-import org.eclipse.etrice.core.genmodel.etricegen.PortKind;
-import org.eclipse.etrice.core.genmodel.etricegen.Root;
-import org.eclipse.etrice.core.genmodel.etricegen.SAPInstance;
-import org.eclipse.etrice.core.genmodel.etricegen.SPPInstance;
-import org.eclipse.etrice.core.genmodel.etricegen.ServiceImplInstance;
-import org.eclipse.etrice.core.genmodel.etricegen.StructureInstance;
-import org.eclipse.etrice.core.genmodel.etricegen.SubSystemInstance;
-import org.eclipse.etrice.core.genmodel.etricegen.SystemInstance;
-import org.eclipse.etrice.core.genmodel.etricegen.impl.StructureInstanceImpl;
-import org.eclipse.etrice.core.room.ActorClass;
-import org.eclipse.etrice.core.room.ActorContainerClass;
-import org.eclipse.etrice.core.room.ActorContainerRef;
-import org.eclipse.etrice.core.room.ActorRef;
-import org.eclipse.etrice.core.room.Binding;
-import org.eclipse.etrice.core.room.CommunicationType;
-import org.eclipse.etrice.core.room.ExternalPort;
-import org.eclipse.etrice.core.room.LayerConnection;
-import org.eclipse.etrice.core.room.LogicalSystem;
-import org.eclipse.etrice.core.room.Port;
-import org.eclipse.etrice.core.room.ProtocolClass;
-import org.eclipse.etrice.core.room.RefSAPoint;
-import org.eclipse.etrice.core.room.RelaySAPoint;
-import org.eclipse.etrice.core.room.RoomModel;
-import org.eclipse.etrice.core.room.RoomPackage;
-import org.eclipse.etrice.core.room.SAPRef;
-import org.eclipse.etrice.core.room.SAPoint;
-import org.eclipse.etrice.core.room.SPPRef;
-import org.eclipse.etrice.core.room.SPPoint;
-import org.eclipse.etrice.core.room.ServiceImplementation;
-import org.eclipse.etrice.core.room.SubProtocol;
-import org.eclipse.etrice.core.room.SubSystemClass;
-import org.eclipse.etrice.core.room.SubSystemRef;
-
-/**
- * A class for the creation of an intermediate model combining all information needed by
- * the code generator.
- *
- * @author Henrik Rentz-Reichert
- *
- */
-public class GeneratorModelBuilder {
-
- /**
- * the first object id used for the {@link org.eclipse.etrice.core.etrice.runtime.messaging.Address Address}es s of runtime instances
- */
- private static final int OBJ_ID_OFFSET = 0;
-
- /**
- * a set containing all relay ports for fast frequent access to this information
- */
- private HashSet<Port> relayPorts = new HashSet<Port>();
-
- /**
- * a list containing all InstanceBase objects
- */
- private LinkedList<InstanceBase> allObjects = new LinkedList<InstanceBase>();
-
- /**
- * an instance of a logger
- */
- private ILogger logger;
-
- /**
- * an instance of a diagnostician
- */
- private IDiagnostician diagnostician;
-
- private boolean debug;
-
- /**
- * the only constructor takes a logger and a diagnostician as arguments
- * @param logger
- * @param diagnostician
- */
- public GeneratorModelBuilder(ILogger logger, IDiagnostician diagnostician) {
- this.logger = logger;
- this.diagnostician = diagnostician;
- }
-
- public Root createGeneratorModel(List<RoomModel> models, boolean asLibrary) {
- return createGeneratorModel(models, asLibrary, false);
- }
-
- /**
- * Creates a model of all instances for all sub systems.
- * Actor instances are created in a hierarchical structure.
- * There is only one list of port per actor instances.
- * Ports have a type attribute (relay, intern, external).
- * Bindings connect port instances. And since ports are
- * instances it is possible to have pointers back to the
- * bindings.
- * After creating the instance tree ports are connected to
- * their peers.
- * Similar SAPs, Services and layer connections are treated.
- * Finally expanded (xp) actor classes are created which
- * contain also inherited state graph items and where RefinedStates
- * are removed and their contents is relocated.
- *
- * @param models
- * @param asLibrary
- * @param debug if true more output is produced
- * @return the root of the newly created instance model
- */
- public Root createGeneratorModel(List<RoomModel> models, boolean asLibrary, boolean debug) {
- Root root = ETriceGenFactory.eINSTANCE.createRoot();
- root.getModels().addAll(models);
- root.setLibrary(asLibrary);
- this.debug = debug;
-
- if (!root.isLibrary()) {
- // create instance model
-
- determineRelayPorts(root);
-
- boolean hasSystem = false;
- for (RoomModel mdl : models) {
- for (LogicalSystem sys : mdl.getSystems()) {
- hasSystem = true;
- SystemInstance si = createLogicalSystemInstance(sys);
- root.getSystemInstances().add(si);
- }
- }
-
- if (!hasSystem) {
- logger.logInfo("GeneratorModelBuilder: no SystemClass found, assuming SubSystemClasses as top level elements");
- for (RoomModel mdl : models) {
- for (SubSystemClass comp : mdl.getSubSystemClasses()) {
- root.getOwnSubSystemInstances().add(createSubSystemInstance(comp));
- }
- }
- }
-
- connectPorts(root);
- checkPortMultiplicity(root);
-
- connectServices(root);
-
- setObjectIDs();
- }
-
- // transform actor classes
- createExpandedActorClasses(root);
-
- return root;
- }
-
- /**
- * Connect all services hierarchically. This finally connects SAPs with corresponding services
- * according to layer connections.
- *
- * @param root
- */
- private void connectServices(Root root) {
- createServiceMappings(root);
- bindSAPs(root);
- }
-
- /**
- * Hierarchically create service mappings at each starting point of layer connections (root level).
- *
- * @param root
- */
- private void createServiceMappings(Root root) {
- for (SubSystemInstance comp : root.getSubSystemInstances()) {
- createServiceMappings(comp);
- }
- }
-
- /**
- * Hierarchically create service mappings at each starting point of layer connections (recursively for all structure instances).
- *
- * @see createServiceMappings
- * @param si
- */
- private void createServiceMappings(StructureInstance si) {
- for (ConnectionInstance ci : si.getConnections()) {
- if (ci.getFromSPP()==null) {
- // this connection originates at an actor instance
- addService(ci.getFromAI(), ci);
- }
- else if (ci.getFromSPP().getIncoming().isEmpty()) {
- // this connection originates at an SPP instance which is not connected outside
- addService(si, ci);
- }
- }
-
- // recursive call for all children
- for (ActorInstance child : si.getInstances()) {
- createServiceMappings(child);
- }
- }
-
- /**
- * Determines a connected services and attaches it to the protocol2service mapping
- * of a structure instance
- *
- * @param si
- * @param ci
- */
- private void addService(StructureInstance si, ConnectionInstance ci) {
- assert(si instanceof StructureInstanceImpl): "unknown implementation "+si.eClass().getName();
- StructureInstanceImpl sii = (StructureInstanceImpl) si;
-
- ProtocolClass pc = ci.getToSPP().getSpp().getProtocol();
- if (sii.protocol2service.get(pc)!=null) {
-
- // this protocol is already handled on this level
-
- EObject obj = null;
- if (si instanceof ActorInstance)
- obj = ((ActorInstance)si).getActorClass();
- else if (si instanceof SubSystemInstance)
- obj = ((SubSystemInstance)si).getSubSystemClass();
- else
- obj = si;
- diagnostician.error("A service can only be offered once per actor instance, consider pushing one down to a contained actor!", obj, RoomPackage.eINSTANCE.getActorContainerClass_IfSPPs());
- }
- else {
- if (ci.getFromSPP()!=null && ci.getFromSPP().getSpp().getProtocol()!=pc) {
- diagnostician.error("Layer connection must connect same protocols!", ci.getConnection(), RoomPackage.eINSTANCE.getLayerConnection_From());
- }
- else {
- // now we follow the layer connections
- while(true) {
- SPPInstance sppi = ci.getToSPP();
- if (sppi.getOutgoing()==null) {
- // we reached the end, find the ServiceImplementation
- boolean found = false;
- if (sppi.eContainer() instanceof ActorInstance) {
- ActorInstance implementor = (ActorInstance) sppi.eContainer();
- for (ServiceImplInstance svc : implementor.getServices()) {
- if (svc.getSvcImpl().getSpp()==sppi.getSpp()) {
- found = true;
- sii.protocol2service.put(pc, svc);
- }
- }
- }
- else {
- assert(false);
- }
- if (!found) {
- ActorContainerClass acr = (ActorContainerClass) sppi.getSpp().eContainer();
- int idx = acr.getIfSPPs().indexOf(sppi.getSpp());
- diagnostician.error("An SPP mus be connected by a layer connection or implemented by a ServiceImplementation!", sppi.getSpp(), RoomPackage.eINSTANCE.getActorContainerClass_IfSPPs(), idx);
- }
- return;
- }
- else {
- ci = sppi.getOutgoing();
- if (ci.getToSPP().getSpp().getProtocol()!=pc) {
- diagnostician.error("Layer connection must connect same protocols!", ci.getConnection(), RoomPackage.eINSTANCE.getLayerConnection_From());
- return;
- }
- }
- }
- }
- }
- }
-
- /**
- * Connect a SAP to its service (root level)
- *
- * @param root
- */
- private void bindSAPs(Root root) {
- for (SubSystemInstance comp : root.getSubSystemInstances()) {
- bindSAPs(comp);
- }
- }
-
- /**
- * Connect a SAP to its service (recursively for all structure instances).
- *
- * @param si
- */
- private void bindSAPs(StructureInstance si) {
- for (SAPInstance sap : si.getSaps()) {
- bindSAP(si, sap);
- }
-
- // recursive call for all children
- for (ActorInstance child : si.getInstances()) {
- bindSAPs(child);
- }
- }
-
- /**
- * Do the actual binding of a SAP.
- *
- * @param si
- * @param sap
- */
- private void bindSAP(StructureInstance si, SAPInstance sap) {
- assert(si instanceof StructureInstanceImpl);
- StructureInstanceImpl sii = (StructureInstanceImpl) si;
-
- // walk up the container hierarchy until the sap is satisfied
- do {
- ServiceImplInstance svc = sii.protocol2service.get(sap.getSap().getProtocol());
- if (svc!=null) {
- sap.getPeers().add(svc);
- svc.getPeers().add(sap);
- return;
- }
- if (sii.eContainer() instanceof StructureInstanceImpl)
- sii = (StructureInstanceImpl) sii.eContainer();
- else
- sii = null;
- }
- while (sii!=null);
-
- ActorClass ac = (ActorClass) sap.getSap().eContainer();
- int idx = ac.getStrSAPs().indexOf(sap.getSap());
- diagnostician.error("SAP not satisfied!", ac, RoomPackage.eINSTANCE.getActorClass_StrSAPs(), idx);
- }
-
- /**
- * for efficiency reasons we create a set holding all relay ports
- * @param root - the root object
- */
- private void determineRelayPorts(Root root) {
- for (RoomModel model : root.getModels()) {
- for (ActorClass ac : model.getActorClasses()) {
-
- // check own relay ports
- for (Port port : ac.getIfPorts()) {
- boolean external = false;
- for (ExternalPort ep : ac.getExtPorts()) {
- if (ep.getIfport()==port) {
- external = true;
- break;
- }
- }
- if (!external) {
- relayPorts.add(port);
-
- if (port.getProtocol() instanceof ProtocolClass && ((ProtocolClass)port.getProtocol()).getCommType()==CommunicationType.DATA_DRIVEN) {
- if (port.isConjugated()) {
- // check whether relay port is multiply connected
- int count = 0;
- for (Binding b : ac.getBindings()) {
- if (b.getEndpoint1().getPort()==port)
- ++count;
- if (b.getEndpoint2().getPort()==port)
- ++count;
- }
- if (count>1) {
- int idx = ac.getIfPorts().indexOf(port);
- diagnostician.error("data driven conjugate relay port is multiply connected inside its actor class", ac, RoomPackage.eINSTANCE.getActorClass_IfPorts(), idx);
- }
- }
- }
- }
- }
- }
- }
- }
-
- /**
- * this method loops over all InstaneBase objects and sets the ObjId. It starts enumerating at
- * offset {@link OBJ_ID_OFFSET}
- */
- private void setObjectIDs() {
- int counter = 0;
- for (InstanceBase obj : allObjects) {
- if (obj instanceof SubSystemInstance) {
- counter = OBJ_ID_OFFSET;
- obj.setObjId(counter++);
- }
- else if (obj instanceof ActorInstance) {
- obj.setObjId(counter++);
- }
- else if (obj instanceof PortInstance) {
- PortInstance pi = (PortInstance) obj;
- // relay ports are not instantiated and thus have no object ID
- if (pi.getKind()!=PortKind.RELAY) {
- // replicated ports have subsequent object IDs
- int multiplicity = pi.getPort().getMultiplicity();
- if (multiplicity==-1)
- multiplicity = pi.getPeers().size();
- pi.setObjId(counter);
- counter += multiplicity;
- }
- }
- else if (obj instanceof SAPInstance) {
- obj.setObjId(counter++);
- }
- else if (obj instanceof ServiceImplInstance) {
- ServiceImplInstance svc = (ServiceImplInstance) obj;
- svc.setObjId(counter);
- counter += svc.getPeers().size();
- }
- }
- }
-
- private SystemInstance createLogicalSystemInstance(LogicalSystem sys) {
- logger.logInfo("GeneratorModelBuilder: creating system class from "+sys.getName());
-
- SystemInstance instance = ETriceGenFactory.eINSTANCE.createSystemInstance();
- allObjects.add(instance);
-
- instance.setName(sys.getName());
- instance.setLogicalSystem(sys);
-
- for (SubSystemRef sr : sys.getSubSystems()) {
- SubSystemInstance ssi = createSubSystemInstance(instance, sr);
- instance.getInstances().add(ssi);
- }
-
- return instance;
- }
-
- /**
- * hierarchically (i.e. recursively) creates all instances implied by this component
- * @param ssc - the component class
- * @return the newly created hierarchy of instances
- */
- private SubSystemInstance createSubSystemInstance(SystemInstance si, SubSystemRef sr) {
- logger.logInfo("GeneratorModelBuilder: creating subsystem instance from "+sr.getName());
-
- SubSystemInstance instance = ETriceGenFactory.eINSTANCE.createSubSystemInstance();
- allObjects.add(instance);
-
- SubSystemClass ssc = sr.getType();
-
- instance.setName(sr.getName());
- instance.setSubSystemClass(ssc);
-
- // TODOHRR: enumerate object ids per thread
-
- for (ActorRef ar : ssc.getActorRefs()) {
- addRefInstances(instance, ar);
- }
-
- // bindings are handled now since port instances of sub-actor instances are available
- new BindingUtil(instance, diagnostician).createBindingInstances();
- createConnectionInstances(instance, ssc.getConnections());
-
- return instance;
- }
-
- /**
- * hierarchically (i.e. recursively) creates all instances implied by this component
- * @param ssc - the component class
- * @return the newly created hierarchy of instances
- */
- private SubSystemInstance createSubSystemInstance(SubSystemClass ssc) {
- logger.logInfo("GeneratorModelBuilder: creating subsystem instance from "+ssc.getName());
-
- SubSystemInstance instance = ETriceGenFactory.eINSTANCE.createSubSystemInstance();
- allObjects.add(instance);
-
- instance.setName(ssc.getName());
- instance.setSubSystemClass(ssc);
-
- // TODOHRR: enumerate object ids per thread
-
- for (ActorRef ar : ssc.getActorRefs()) {
- addRefInstances(instance, ar);
- }
-
- // bindings are handled now since port instances of sub-actor instances are available
- new BindingUtil(instance, diagnostician).createBindingInstances();
- createConnectionInstances(instance, ssc.getConnections());
-
- return instance;
- }
-
- /**
- * hierarchically (i.e. recursively) creates all instances implied by this actor ref
- *
- * @param aref
- * @return
- */
- private ActorInstance recursivelyCreateActorInstances(ActorRef aref) {
- return recursivelyCreateActorInstances(aref, -1);
- }
-
- /**
- * hierarchically (i.e. recursively) creates all instances implied by this actor ref
- *
- * @param aref - create the instance sub-tree of this actor reference
- * @param idx - index in replication array or -1 if no replication
- * @return the newly created actor instance
- */
- private ActorInstance recursivelyCreateActorInstances(ActorRef aref, int idx) {
- String name = aref.getName();
- if (idx>=0)
- name += "_"+idx;
-
- if (debug)
- logger.logInfo("GeneratorModelBuilder: creating actor instance "+name+" from "+aref.getType().getName());
-
- ActorInstance ai = ETriceGenFactory.eINSTANCE.createActorInstance();
- allObjects.add(ai);
-
- ai.setName(name);
- ActorClass ac = aref.getType();
- ai.setActorClass(ac);
- if (idx>=0)
- ai.setReplIdx(idx);
-
- // create a list of super classes, super first, sub-classes last
- LinkedList<ActorClass> classes = new LinkedList<ActorClass>();
- classes.addFirst(ac);
- while (ac.getBase()!=null) {
- ac = ac.getBase();
- classes.addFirst(ac);
- }
-
- // create instances for super classes recursively (ports, actor refs and bindings)
- // super classes first ensures that actor refs are present when bindings are created
- for (ActorClass acl : classes) {
- // first we add our port instances to have them numbered subsequently
- createPortInstances(ai, acl);
- createServiceRelatedInstances(ai, acl);
-
- // recurse down into sub-actors
- for (ActorRef ar : acl.getActorRefs()) {
- addRefInstances(ai, ar);
- }
-
- }
-
- // bindings and layer connections are handled now since port instances of sub-actor instances are available
- // this has to be done in one step per actor instance
- // so we collect all bindings and connections first
- ArrayList<Binding> bindings = new ArrayList<Binding>();
- ArrayList<LayerConnection> connections = new ArrayList<LayerConnection>();
- for (ActorClass acl : classes) {
- bindings.addAll(acl.getBindings());
- connections.addAll(acl.getConnections());
- }
- new BindingUtil(ai, diagnostician).createBindingInstances();
- createConnectionInstances(ai, connections);
-
- return ai;
- }
-
- /**
- * create instances for this actor ref
- *
- * @param si the container structure instance
- * @param ar the actor ref
- */
- private void addRefInstances(StructureInstance si, ActorRef ar) {
- if (ar.getSize()>1) {
- for (int idx=0; idx<ar.getSize(); ++idx)
- si.getInstances().add(recursivelyCreateActorInstances(ar, idx));
- }
- else
- si.getInstances().add(recursivelyCreateActorInstances(ar));
- }
-
- /**
- * create port instances for every kind of port
- * @param ai - the currently considered actor instance
- * @param ac - the actor class (might be a base class)
- */
- private void createPortInstances(ActorInstance ai, ActorClass ac) {
- for (ExternalPort port : ac.getExtPorts()) {
- PortInstance pi = ETriceGenFactory.eINSTANCE.createPortInstance();
- allObjects.add(pi);
-
- pi.setName(port.getIfport().getName());
- pi.setPort(port.getIfport());
- pi.setKind(PortKind.EXTERNAL);
-
- ai.getPorts().add(pi);
- }
- for (Port port : ac.getIntPorts()) {
- PortInstance pi = ETriceGenFactory.eINSTANCE.createPortInstance();
- allObjects.add(pi);
-
- pi.setName(port.getName());
- pi.setPort(port);
- pi.setKind(PortKind.INTERNAL);
-
- ai.getPorts().add(pi);
- }
- for (Port port : ac.getIfPorts()) {
- if (relayPorts.contains(port)) {
- PortInstance pi = ETriceGenFactory.eINSTANCE.createPortInstance();
- allObjects.add(pi);
-
- pi.setName(port.getName());
- pi.setPort(port);
- pi.setKind(PortKind.RELAY);
-
- ai.getPorts().add(pi);
- }
- }
- }
-
- /**
- * create sap, spp and service instances
- * @param ai - the currently considered actor instance
- * @param ac - the actor class (might be a base class)
- */
- private void createServiceRelatedInstances(ActorInstance ai, ActorClass ac) {
- for (SAPRef sap : ac.getStrSAPs()) {
- SAPInstance si = ETriceGenFactory.eINSTANCE.createSAPInstance();
- allObjects.add(si);
- si.setName(sap.getName());
- si.setSap(sap);
-
- ai.getSaps().add(si);
- }
- for (SPPRef sap : ac.getIfSPPs()) {
- SPPInstance si = ETriceGenFactory.eINSTANCE.createSPPInstance();
- allObjects.add(si);
- si.setName(sap.getName());
- // SPPs are not instantiated and thus need no object ID
- //si.setObjId(objCounter.getAndIncrementCount());
- si.setSpp(sap);
-
- ai.getSpps().add(si);
- }
- for (ServiceImplementation svcimpl : ac.getServiceImplementations()) {
- ServiceImplInstance sii = ETriceGenFactory.eINSTANCE.createServiceImplInstance();
- allObjects.add(sii);
- sii.setName(svcimpl.getSpp().getName());
- //will set the object ID later when we know all connected saps
- //sii.setObjId(objCounter.getAndIncrementCount());
- sii.setSvcImpl(svcimpl);
-
- ai.getServices().add(sii);
- }
- }
-
- /**
- * Create layer connection instances.
- * @param si - create layer connections for this actor instance
- * @param connections - a list of layer connections
- */
- private void createConnectionInstances(StructureInstance si, List<LayerConnection> connections) {
- for (LayerConnection lc : connections) {
-
- SPPoint to = lc.getTo();
- SPPInstance toSPPinst = getSPPInstance(si, to.getRef(), to.getService());
-
- SAPoint from = lc.getFrom();
- if (from instanceof RefSAPoint) {
- if (((RefSAPoint)from).getRef() instanceof ActorRef) {
- List<ActorInstance> fromInstances = getActorInstances(si, ((ActorRef)((RefSAPoint)from).getRef()));
- for (ActorInstance fromInst : fromInstances) {
- ConnectionInstance ci = ETriceGenFactory.eINSTANCE.createConnectionInstance();
- ci.setConnection(lc);
- ci.setFromAI(fromInst);
- ci.setToSPP(toSPPinst);
- si.getConnections().add(ci);
- }
- }
- else {
- //TODOHRR: handle SubSystemRef
- System.err.println("error");
- }
- }
- else if (from instanceof RelaySAPoint) {
- SPPInstance fromSPPinst = getSPPInstance(si, null, ((RelaySAPoint)from).getRelay());
- if (fromSPPinst.getOutgoing()!=null) {
- ActorContainerClass acr = (ActorContainerClass) fromSPPinst.getSpp().eContainer();
- int idx = acr.getIfSPPs().indexOf(fromSPPinst.getSpp());
- diagnostician.error("SPPRef has several outgoing layer connections!", fromSPPinst.getSpp(), RoomPackage.eINSTANCE.getActorContainerClass_IfSPPs(), idx);
- }
- ConnectionInstance ci = ETriceGenFactory.eINSTANCE.createConnectionInstance();
- ci.setConnection(lc);
- ci.setFromSPP(fromSPPinst);
- ci.setToSPP(toSPPinst);
- si.getConnections().add(ci);
- }
- else {
- assert(false): "unknown type of "+from.eClass().getName();
- }
-
- }
- }
-
- /**
- * Returns the endpoint of a layer connection.
- *
- * @param si
- * @param ar
- * @param spp
- * @return
- */
- private SPPInstance getSPPInstance(StructureInstance si, ActorContainerRef ar, SPPRef spp) {
- if (ar==null) {
- for (SPPInstance sppi : si.getSpps()) {
- if (sppi.getSpp()==spp)
- return sppi;
- }
- }
- else {
- if (ar instanceof ActorRef) {
- List<ActorInstance> subais = getActorInstances(si, (ActorRef)ar);
- if (!subais.isEmpty())
- return getSPPInstance(subais.get(0), null, spp);
- }
- else if (ar instanceof SubSystemRef) {
- // TODOHRR: handle SubSystemRef
- }
- }
- return null;
- }
-
- /**
- * Returns an actor instances corresponding to an ActorRef.
- *
- * @param si
- * @param ar
- * @return
- */
- private List<ActorInstance> getActorInstances(StructureInstance si, ActorRef ar) {
- ArrayList<ActorInstance> result = new ArrayList<ActorInstance>();
- for (ActorInstance subai : si.getInstances()) {
- if (subai.getUnindexedName().equals(ar.getName())) {
- result.add(subai);
- }
- }
- return result;
- }
-
- /**
- * set peer ports in the whole instance model
- * @param root
- */
- private void connectPorts(Root root) {
- TreeIterator<EObject> it = root.eAllContents();
- while (it.hasNext()) {
- EObject obj = it.next();
- if (obj instanceof ActorInstance) {
- for (PortInstance pi : ((ActorInstance) obj).getPorts()) {
- if (pi.getKind()!=PortKind.RELAY) {
- List<PortInstance> peers = getFinalPeers(pi, null, null);
- pi.getPeers().addAll(peers);
- // we don't have to add pi to its peer.peers since we do that once we reach there
- }
- }
- }
- }
-
- // check for situations where bindings fan out on both sides of a relay port
- // i.e. a port has several peers and each peer in turn has several peers
- it = root.eAllContents();
- while (it.hasNext()) {
- EObject obj = it.next();
- if (obj instanceof ActorInstance) {
- for (PortInstance pi : ((ActorInstance) obj).getPorts()) {
- if (pi.getKind()!=PortKind.RELAY && pi.getPeers().size()>1)
- if (pi.getPeers().get(0).getPeers().size()>1) {
- BindingInstance bi = pi.getBindings().get(0);
- if (bi.getPorts().get(0).getKind()==PortKind.RELAY
- || bi.getPorts().get(1).getKind()==PortKind.RELAY)
- connectPeersOneToOne(pi);
- }
- }
- }
- }
- }
-
- /**
- * determine final peers of an end port
- * @param pi - a end port
- * @param from - the binding from which we reached pi or null if start
- * @return a list of final peer port instances (end ports themselves)
- */
- private List<PortInstance> getFinalPeers(PortInstance pi, BindingInstance from, SubProtocol fromSub) {
- List<PortInstance> peers = new LinkedList<PortInstance>();
-
- for (BindingInstance bi : pi.getBindings()) {
- if (bi==from)
- // skip the binding where we came from
- continue;
-
- if (from!=null && from.eContainer()==bi.eContainer())
- // the container of a binding instance is a StructureInstance
- // by this we make sure that we go from inside to outside or vice versa
- continue;
-
- SubProtocol mySub = getMySubProtocol(pi, bi);
- if (mySub!=null && fromSub!=null && fromSub!=mySub)
- // we follow only same sub protocols
- continue;
-
- PortInstance end = (bi.getPorts().get(0)!=pi)? bi.getPorts().get(0) : bi.getPorts().get(1);
- if (end.getKind()==PortKind.RELAY) {
- SubProtocol peerSub = getPeerSubProtocol(pi, bi);
- if (peerSub!=null)
- fromSub = peerSub;
-
- // continue recursion
- peers.addAll(getFinalPeers(end, bi, fromSub));
- }
- else {
-
- // this is a final peer
- peers.add(end);
- }
- }
- return peers;
- }
-
- private SubProtocol getMySubProtocol(PortInstance pi, BindingInstance bi) {
- return (bi.getPorts().get(0)==pi)? bi.getBinding().getEndpoint1().getSub() : bi.getBinding().getEndpoint2().getSub();
- }
-
- private SubProtocol getPeerSubProtocol(PortInstance pi, BindingInstance bi) {
- return (bi.getPorts().get(0)!=pi)? bi.getBinding().getEndpoint1().getSub() : bi.getBinding().getEndpoint2().getSub();
- }
-
- private void connectPeersOneToOne(PortInstance pi) {
- HashSet<InterfaceItemInstance> thisSide = new HashSet<InterfaceItemInstance>(pi.getPeers());
- HashSet<InterfaceItemInstance> thatSide = new HashSet<InterfaceItemInstance>(pi.getPeers().get(0).getPeers());
-
- // consistency checks
- if (!Collections.disjoint(thisSide, thatSide)) {
- assert(false): "sets expected to be disjoint";
- return;
- }
- for (InterfaceItemInstance pi1 : thisSide) {
- if (!isSameCollection(thatSide, pi1.getPeers())) {
- assert(false): "expected reciprocal peer lists";
- }
- }
- for (InterfaceItemInstance pi2 : thatSide) {
- if (!isSameCollection(thisSide, pi2.getPeers())) {
- assert(false): "expected reciprocal peer lists";
- }
- }
-
- // connect one to one (with multiplicity)
- boolean thisGreaterThat = totalSize(thisSide)>totalSize(thatSide);
- Iterator<InterfaceItemInstance> lit = thisGreaterThat? thisSide.iterator() : thatSide.iterator();
- Iterator<InterfaceItemInstance> sit = thisGreaterThat? thatSide.iterator() : thisSide.iterator();
- while (sit.hasNext() && lit.hasNext()) {
- InterfaceItemInstance first = lit.next();
- InterfaceItemInstance second = sit.next();
- first.getPeers().clear();
- first.getPeers().add(second);
- second.getPeers().clear();
- second.getPeers().add(first);
- }
-
- // report unconnected ports
- while (lit.hasNext()) {
- InterfaceItemInstance item = lit.next();
- reportPortInstanceError(item, "port '"+item.getPath()+"'could not be connected");
- }
- }
-
- private void reportPortInstanceError(InterfaceItemInstance item, String msg) {
- if (item.eContainer() instanceof ActorInstance) {
- ActorClass ac = ((ActorInstance)item.eContainer()).getActorClass();
- Port port = ((PortInstance)item).getPort();
- EStructuralFeature feat = ac.getIfPorts().contains(port)?
- RoomPackage.Literals.ACTOR_CLASS__INT_PORTS: RoomPackage.Literals.ACTOR_CLASS__IF_PORTS;
- int idx = ac.getIfPorts().indexOf(port);
- if (idx<0)
- ac.getIntPorts().indexOf(port);
- diagnostician.warning(msg, ac, feat, idx);
- }
- else {
- assert(false): "SubSystems can only have relay ports";
- }
- }
-
- private int totalSize(Collection<InterfaceItemInstance> coll) {
- int size = 0;
- for (InterfaceItemInstance ii : coll) {
- if (ii instanceof PortInstance) {
- int multiplicity = ((PortInstance) ii).getPort().getMultiplicity();
- if (multiplicity!=1)
- reportPortInstanceError(ii, "port '"+ii.getPath()+"' must have multiplicity 1");
- size += multiplicity;
- }
- else {
- assert(false): "should be called with PortInstances onl";
- }
- }
- return size;
- }
-
- private boolean isSameCollection(Collection<InterfaceItemInstance> coll1, Collection<InterfaceItemInstance> coll2) {
- for (InterfaceItemInstance ii : coll1) {
- if (!coll2.contains(ii))
- return false;
- }
- for (InterfaceItemInstance ii : coll2) {
- if (!coll1.contains(ii))
- return false;
- }
- return true;
- }
-
- /**
- * check that the number of peer ports does not exceed the multiplicity of a port
- * @param root
- */
- private void checkPortMultiplicity(Root root) {
- TreeIterator<EObject> it = root.eAllContents();
- while (it.hasNext()) {
- EObject obj = it.next();
- if (obj instanceof ActorInstance) {
- ActorInstance ai = (ActorInstance) obj;
- ActorClass ac = ai.getActorClass();
- for (PortInstance pi : ai.getPorts()) {
- if (pi.getKind()!=PortKind.RELAY) {
- if (pi.getProtocol().getCommType()==CommunicationType.EVENT_DRIVEN) {
- if (pi.getBindings().size()>pi.getPort().getMultiplicity() && pi.getPort().getMultiplicity()!=-1) {
- EStructuralFeature feature = RoomPackage.eINSTANCE.getActorClass_IfPorts();
- int idx = ac.getIfPorts().indexOf(pi.getPort());
- if (idx<0) {
- feature = RoomPackage.eINSTANCE.getActorClass_IntPorts();
- idx = ac.getIntPorts().indexOf(pi.getPort());
- }
- diagnostician.error("number of peers ("+pi.getBindings().size()
- + ") of port '"+pi.getName()
- +"' exceeds multiplicity "+pi.getPort().getMultiplicity()
- +" in instance "+ai.getPath(), ac, feature, idx);
- }
- }
- }
- }
- }
- else if (obj instanceof SubSystemInstance) {
- SubSystemInstance ssi = (SubSystemInstance) obj;
- SubSystemClass ssc = ssi.getSubSystemClass();
- for (PortInstance pi : ssi.getPorts()) {
- EReference feature = RoomPackage.eINSTANCE.getSubSystemClass_RelayPorts();
- int idx = ssc.getRelayPorts().indexOf(pi.getPort());
-
- diagnostician.error("number of peers ("+pi.getBindings().size()
- + ") of port '"+pi.getName()
- +"' exceeds multiplicity "+pi.getPort().getMultiplicity()
- +" in instance "+ssi.getPath(), ssc, feature, idx);
- }
- }
- }
- }
-
- /**
- * expanded (xp) actor classes are created which
- * contain also inherited features and where RefinedStates
- * are removed and their contents is relocated.
- * @param root - the model root
- */
- private void createExpandedActorClasses(Root root) {
- for (ActorClass ac : root.getUsedActorClasses()) {
- root.getXpActorClasses().add(createExpandedActorClass(ac));
- }
- }
-
- /**
- * create an expanded actor class from the original model class
- * @param ac - the original model class
- * @return - the newly created expanded actor class
- */
- public ExpandedActorClass createExpandedActorClass(ActorClass ac) {
- if (debug)
- logger.logInfo("GeneratorModelBuilder: creating expanded actor class from "+ac.getName()
- +" of "+((RoomModel)ac.eContainer()).getName());
-
- ExpandedActorClass xpac = ETriceGenFactory.eINSTANCE.createExpandedActorClass();
- xpac.setActorClass(ac);
-
- xpac.prepare(diagnostician);
-
- return xpac;
- }
-}
+/*******************************************************************************
+ * Copyright (c) 2010 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * Thomas Schuetz and Henrik Rentz-Reichert (initial contribution)
+ *
+ *******************************************************************************/
+
+package org.eclipse.etrice.core.genmodel.builder;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
+
+import org.eclipse.emf.common.util.TreeIterator;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.etrice.core.genmodel.base.ILogger;
+import org.eclipse.etrice.core.genmodel.etricegen.ActorInstance;
+import org.eclipse.etrice.core.genmodel.etricegen.BindingInstance;
+import org.eclipse.etrice.core.genmodel.etricegen.ConnectionInstance;
+import org.eclipse.etrice.core.genmodel.etricegen.ETriceGenFactory;
+import org.eclipse.etrice.core.genmodel.etricegen.ExpandedActorClass;
+import org.eclipse.etrice.core.genmodel.etricegen.IDiagnostician;
+import org.eclipse.etrice.core.genmodel.etricegen.InstanceBase;
+import org.eclipse.etrice.core.genmodel.etricegen.InterfaceItemInstance;
+import org.eclipse.etrice.core.genmodel.etricegen.PortInstance;
+import org.eclipse.etrice.core.genmodel.etricegen.PortKind;
+import org.eclipse.etrice.core.genmodel.etricegen.Root;
+import org.eclipse.etrice.core.genmodel.etricegen.SAPInstance;
+import org.eclipse.etrice.core.genmodel.etricegen.SPPInstance;
+import org.eclipse.etrice.core.genmodel.etricegen.ServiceImplInstance;
+import org.eclipse.etrice.core.genmodel.etricegen.StructureInstance;
+import org.eclipse.etrice.core.genmodel.etricegen.SubSystemInstance;
+import org.eclipse.etrice.core.genmodel.etricegen.SystemInstance;
+import org.eclipse.etrice.core.genmodel.etricegen.impl.StructureInstanceImpl;
+import org.eclipse.etrice.core.room.ActorClass;
+import org.eclipse.etrice.core.room.ActorContainerClass;
+import org.eclipse.etrice.core.room.ActorContainerRef;
+import org.eclipse.etrice.core.room.ActorRef;
+import org.eclipse.etrice.core.room.Binding;
+import org.eclipse.etrice.core.room.CommunicationType;
+import org.eclipse.etrice.core.room.ExternalPort;
+import org.eclipse.etrice.core.room.LayerConnection;
+import org.eclipse.etrice.core.room.LogicalSystem;
+import org.eclipse.etrice.core.room.Port;
+import org.eclipse.etrice.core.room.ProtocolClass;
+import org.eclipse.etrice.core.room.RefSAPoint;
+import org.eclipse.etrice.core.room.RelaySAPoint;
+import org.eclipse.etrice.core.room.RoomModel;
+import org.eclipse.etrice.core.room.RoomPackage;
+import org.eclipse.etrice.core.room.SAPRef;
+import org.eclipse.etrice.core.room.SAPoint;
+import org.eclipse.etrice.core.room.SPPRef;
+import org.eclipse.etrice.core.room.SPPoint;
+import org.eclipse.etrice.core.room.ServiceImplementation;
+import org.eclipse.etrice.core.room.SubProtocol;
+import org.eclipse.etrice.core.room.SubSystemClass;
+import org.eclipse.etrice.core.room.SubSystemRef;
+
+/**
+ * A class for the creation of an intermediate model combining all information needed by
+ * the code generator.
+ *
+ * @author Henrik Rentz-Reichert
+ *
+ */
+public class GeneratorModelBuilder {
+
+ /**
+ * the first object id used for the {@link org.eclipse.etrice.core.etrice.runtime.messaging.Address Address}es s of runtime instances
+ */
+ private static final int OBJ_ID_OFFSET = 0;
+
+ /**
+ * a set containing all relay ports for fast frequent access to this information
+ */
+ private HashSet<Port> relayPorts = new HashSet<Port>();
+
+ /**
+ * a list containing all InstanceBase objects
+ */
+ private LinkedList<InstanceBase> allObjects = new LinkedList<InstanceBase>();
+
+ /**
+ * an instance of a logger
+ */
+ private ILogger logger;
+
+ /**
+ * an instance of a diagnostician
+ */
+ private IDiagnostician diagnostician;
+
+ private boolean debug;
+
+ /**
+ * the only constructor takes a logger and a diagnostician as arguments
+ * @param logger
+ * @param diagnostician
+ */
+ public GeneratorModelBuilder(ILogger logger, IDiagnostician diagnostician) {
+ this.logger = logger;
+ this.diagnostician = diagnostician;
+ }
+
+ public Root createGeneratorModel(List<RoomModel> models, boolean asLibrary) {
+ return createGeneratorModel(models, asLibrary, false);
+ }
+
+ /**
+ * Creates a model of all instances for all sub systems.
+ * Actor instances are created in a hierarchical structure.
+ * There is only one list of port per actor instances.
+ * Ports have a type attribute (relay, intern, external).
+ * Bindings connect port instances. And since ports are
+ * instances it is possible to have pointers back to the
+ * bindings.
+ * After creating the instance tree ports are connected to
+ * their peers.
+ * Similar SAPs, Services and layer connections are treated.
+ * Finally expanded (xp) actor classes are created which
+ * contain also inherited state graph items and where RefinedStates
+ * are removed and their contents is relocated.
+ *
+ * @param models
+ * @param asLibrary
+ * @param debug if true more output is produced
+ * @return the root of the newly created instance model
+ */
+ public Root createGeneratorModel(List<RoomModel> models, boolean asLibrary, boolean debug) {
+ Root root = ETriceGenFactory.eINSTANCE.createRoot();
+ root.getModels().addAll(models);
+ root.setLibrary(asLibrary);
+ this.debug = debug;
+
+ if (!root.isLibrary()) {
+ // create instance model
+
+ determineRelayPorts(root);
+
+ boolean hasSystem = false;
+ for (RoomModel mdl : models) {
+ for (LogicalSystem sys : mdl.getSystems()) {
+ hasSystem = true;
+ SystemInstance si = createLogicalSystemInstance(sys);
+ root.getSystemInstances().add(si);
+ }
+ }
+
+ if (!hasSystem) {
+ logger.logInfo("GeneratorModelBuilder: no SystemClass found, assuming SubSystemClasses as top level elements");
+ for (RoomModel mdl : models) {
+ for (SubSystemClass comp : mdl.getSubSystemClasses()) {
+ root.getOwnSubSystemInstances().add(createSubSystemInstance(comp));
+ }
+ }
+ }
+
+ connectPorts(root);
+ checkPortMultiplicity(root);
+
+ connectServices(root);
+
+ setObjectIDs();
+ }
+
+ // transform actor classes
+ createExpandedActorClasses(root);
+
+ return root;
+ }
+
+ /**
+ * Connect all services hierarchically. This finally connects SAPs with corresponding services
+ * according to layer connections.
+ *
+ * @param root
+ */
+ private void connectServices(Root root) {
+ createServiceMappings(root);
+ bindSAPs(root);
+ }
+
+ /**
+ * Hierarchically create service mappings at each starting point of layer connections (root level).
+ *
+ * @param root
+ */
+ private void createServiceMappings(Root root) {
+ for (SubSystemInstance comp : root.getSubSystemInstances()) {
+ createServiceMappings(comp);
+ }
+ }
+
+ /**
+ * Hierarchically create service mappings at each starting point of layer connections (recursively for all structure instances).
+ *
+ * @see createServiceMappings
+ * @param si
+ */
+ private void createServiceMappings(StructureInstance si) {
+ for (ConnectionInstance ci : si.getConnections()) {
+ if (ci.getFromSPP()==null) {
+ // this connection originates at an actor instance
+ addService(ci.getFromAI(), ci);
+ }
+ else if (ci.getFromSPP().getIncoming().isEmpty()) {
+ // this connection originates at an SPP instance which is not connected outside
+ addService(si, ci);
+ }
+ }
+
+ // recursive call for all children
+ for (ActorInstance child : si.getInstances()) {
+ createServiceMappings(child);
+ }
+ }
+
+ /**
+ * Determines a connected services and attaches it to the protocol2service mapping
+ * of a structure instance
+ *
+ * @param si
+ * @param ci
+ */
+ private void addService(StructureInstance si, ConnectionInstance ci) {
+ assert(si instanceof StructureInstanceImpl): "unknown implementation "+si.eClass().getName();
+ StructureInstanceImpl sii = (StructureInstanceImpl) si;
+
+ ProtocolClass pc = ci.getToSPP().getSpp().getProtocol();
+ if (sii.protocol2service.get(pc)!=null) {
+
+ // this protocol is already handled on this level
+
+ EObject obj = null;
+ if (si instanceof ActorInstance)
+ obj = ((ActorInstance)si).getActorClass();
+ else if (si instanceof SubSystemInstance)
+ obj = ((SubSystemInstance)si).getSubSystemClass();
+ else
+ obj = si;
+ diagnostician.error("A service can only be offered once per actor instance, consider pushing one down to a contained actor!", obj, RoomPackage.eINSTANCE.getActorContainerClass_IfSPPs());
+ }
+ else {
+ if (ci.getFromSPP()!=null && ci.getFromSPP().getSpp().getProtocol()!=pc) {
+ diagnostician.error("Layer connection must connect same protocols!", ci.getConnection(), RoomPackage.eINSTANCE.getLayerConnection_From());
+ }
+ else {
+ // now we follow the layer connections
+ while(true) {
+ SPPInstance sppi = ci.getToSPP();
+ if (sppi.getOutgoing()==null) {
+ // we reached the end, find the ServiceImplementation
+ boolean found = false;
+ if (sppi.eContainer() instanceof ActorInstance) {
+ ActorInstance implementor = (ActorInstance) sppi.eContainer();
+ for (ServiceImplInstance svc : implementor.getServices()) {
+ if (svc.getSvcImpl().getSpp()==sppi.getSpp()) {
+ found = true;
+ sii.protocol2service.put(pc, svc);
+ }
+ }
+ }
+ else {
+ assert(false);
+ }
+ if (!found) {
+ ActorContainerClass acr = (ActorContainerClass) sppi.getSpp().eContainer();
+ int idx = acr.getIfSPPs().indexOf(sppi.getSpp());
+ diagnostician.error("An SPP mus be connected by a layer connection or implemented by a ServiceImplementation!", sppi.getSpp(), RoomPackage.eINSTANCE.getActorContainerClass_IfSPPs(), idx);
+ }
+ return;
+ }
+ else {
+ ci = sppi.getOutgoing();
+ if (ci.getToSPP().getSpp().getProtocol()!=pc) {
+ diagnostician.error("Layer connection must connect same protocols!", ci.getConnection(), RoomPackage.eINSTANCE.getLayerConnection_From());
+ return;
+ }
+ }
+ }
+ }
+ }
+ }
+
+ /**
+ * Connect a SAP to its service (root level)
+ *
+ * @param root
+ */
+ private void bindSAPs(Root root) {
+ for (SubSystemInstance comp : root.getSubSystemInstances()) {
+ bindSAPs(comp);
+ }
+ }
+
+ /**
+ * Connect a SAP to its service (recursively for all structure instances).
+ *
+ * @param si
+ */
+ private void bindSAPs(StructureInstance si) {
+ for (SAPInstance sap : si.getSaps()) {
+ bindSAP(si, sap);
+ }
+
+ // recursive call for all children
+ for (ActorInstance child : si.getInstances()) {
+ bindSAPs(child);
+ }
+ }
+
+ /**
+ * Do the actual binding of a SAP.
+ *
+ * @param si
+ * @param sap
+ */
+ private void bindSAP(StructureInstance si, SAPInstance sap) {
+ assert(si instanceof StructureInstanceImpl);
+ StructureInstanceImpl sii = (StructureInstanceImpl) si;
+
+ // walk up the container hierarchy until the sap is satisfied
+ do {
+ ServiceImplInstance svc = sii.protocol2service.get(sap.getSap().getProtocol());
+ if (svc!=null) {
+ sap.getPeers().add(svc);
+ svc.getPeers().add(sap);
+ return;
+ }
+ if (sii.eContainer() instanceof StructureInstanceImpl)
+ sii = (StructureInstanceImpl) sii.eContainer();
+ else
+ sii = null;
+ }
+ while (sii!=null);
+
+ ActorClass ac = (ActorClass) sap.getSap().eContainer();
+ int idx = ac.getStrSAPs().indexOf(sap.getSap());
+ diagnostician.error("SAP not satisfied!", ac, RoomPackage.eINSTANCE.getActorClass_StrSAPs(), idx);
+ }
+
+ /**
+ * for efficiency reasons we create a set holding all relay ports
+ * @param root - the root object
+ */
+ private void determineRelayPorts(Root root) {
+ for (RoomModel model : root.getModels()) {
+ for (ActorClass ac : model.getActorClasses()) {
+
+ // check own relay ports
+ for (Port port : ac.getIfPorts()) {
+ boolean external = false;
+ for (ExternalPort ep : ac.getExtPorts()) {
+ if (ep.getIfport()==port) {
+ external = true;
+ break;
+ }
+ }
+ if (!external) {
+ relayPorts.add(port);
+
+ if (port.getProtocol() instanceof ProtocolClass && ((ProtocolClass)port.getProtocol()).getCommType()==CommunicationType.DATA_DRIVEN) {
+ if (port.isConjugated()) {
+ // check whether relay port is multiply connected
+ int count = 0;
+ for (Binding b : ac.getBindings()) {
+ if (b.getEndpoint1().getPort()==port)
+ ++count;
+ if (b.getEndpoint2().getPort()==port)
+ ++count;
+ }
+ if (count>1) {
+ int idx = ac.getIfPorts().indexOf(port);
+ diagnostician.error("data driven conjugate relay port is multiply connected inside its actor class", ac, RoomPackage.eINSTANCE.getActorClass_IfPorts(), idx);
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+
+ /**
+ * this method loops over all InstaneBase objects and sets the ObjId. It starts enumerating at
+ * offset {@link OBJ_ID_OFFSET}
+ */
+ private void setObjectIDs() {
+ int counter = 0;
+ for (InstanceBase obj : allObjects) {
+ if (obj instanceof SubSystemInstance) {
+ counter = OBJ_ID_OFFSET;
+ obj.setObjId(counter++);
+ }
+ else if (obj instanceof ActorInstance) {
+ obj.setObjId(counter++);
+ }
+ else if (obj instanceof PortInstance) {
+ PortInstance pi = (PortInstance) obj;
+ // relay ports are not instantiated and thus have no object ID
+ if (pi.getKind()!=PortKind.RELAY) {
+ // replicated ports have subsequent object IDs
+ int multiplicity = pi.getPort().getMultiplicity();
+ if (multiplicity==-1)
+ multiplicity = pi.getPeers().size();
+ pi.setObjId(counter);
+ counter += multiplicity;
+ }
+ }
+ else if (obj instanceof SAPInstance) {
+ obj.setObjId(counter++);
+ }
+ else if (obj instanceof ServiceImplInstance) {
+ ServiceImplInstance svc = (ServiceImplInstance) obj;
+ svc.setObjId(counter);
+ counter += svc.getPeers().size();
+ }
+ }
+ }
+
+ private SystemInstance createLogicalSystemInstance(LogicalSystem sys) {
+ logger.logInfo("GeneratorModelBuilder: creating system class from "+sys.getName());
+
+ SystemInstance instance = ETriceGenFactory.eINSTANCE.createSystemInstance();
+ allObjects.add(instance);
+
+ instance.setName(sys.getName());
+ instance.setLogicalSystem(sys);
+
+ for (SubSystemRef sr : sys.getSubSystems()) {
+ SubSystemInstance ssi = createSubSystemInstance(instance, sr);
+ instance.getInstances().add(ssi);
+ }
+
+ return instance;
+ }
+
+ /**
+ * hierarchically (i.e. recursively) creates all instances implied by this component
+ * @param ssc - the component class
+ * @return the newly created hierarchy of instances
+ */
+ private SubSystemInstance createSubSystemInstance(SystemInstance si, SubSystemRef sr) {
+ logger.logInfo("GeneratorModelBuilder: creating subsystem instance from "+sr.getName());
+
+ SubSystemInstance instance = ETriceGenFactory.eINSTANCE.createSubSystemInstance();
+ allObjects.add(instance);
+
+ SubSystemClass ssc = sr.getType();
+
+ instance.setName(sr.getName());
+ instance.setSubSystemClass(ssc);
+
+ // TODOHRR: enumerate object ids per thread
+
+ for (ActorRef ar : ssc.getActorRefs()) {
+ addRefInstances(instance, ar);
+ }
+
+ // bindings are handled now since port instances of sub-actor instances are available
+ new BindingUtil(instance, diagnostician).createBindingInstances();
+ createConnectionInstances(instance, ssc.getConnections());
+
+ return instance;
+ }
+
+ /**
+ * hierarchically (i.e. recursively) creates all instances implied by this component
+ * @param ssc - the component class
+ * @return the newly created hierarchy of instances
+ */
+ private SubSystemInstance createSubSystemInstance(SubSystemClass ssc) {
+ logger.logInfo("GeneratorModelBuilder: creating subsystem instance from "+ssc.getName());
+
+ SubSystemInstance instance = ETriceGenFactory.eINSTANCE.createSubSystemInstance();
+ allObjects.add(instance);
+
+ instance.setName(ssc.getName());
+ instance.setSubSystemClass(ssc);
+
+ // TODOHRR: enumerate object ids per thread
+
+ for (ActorRef ar : ssc.getActorRefs()) {
+ addRefInstances(instance, ar);
+ }
+
+ // bindings are handled now since port instances of sub-actor instances are available
+ new BindingUtil(instance, diagnostician).createBindingInstances();
+ createConnectionInstances(instance, ssc.getConnections());
+
+ return instance;
+ }
+
+ /**
+ * hierarchically (i.e. recursively) creates all instances implied by this actor ref
+ *
+ * @param aref
+ * @return
+ */
+ private ActorInstance recursivelyCreateActorInstances(ActorRef aref) {
+ return recursivelyCreateActorInstances(aref, -1);
+ }
+
+ /**
+ * hierarchically (i.e. recursively) creates all instances implied by this actor ref
+ *
+ * @param aref - create the instance sub-tree of this actor reference
+ * @param idx - index in replication array or -1 if no replication
+ * @return the newly created actor instance
+ */
+ private ActorInstance recursivelyCreateActorInstances(ActorRef aref, int idx) {
+ String name = aref.getName();
+ if (idx>=0)
+ name += "_"+idx;
+
+ if (debug)
+ logger.logInfo("GeneratorModelBuilder: creating actor instance "+name+" from "+aref.getType().getName());
+
+ ActorInstance ai = ETriceGenFactory.eINSTANCE.createActorInstance();
+ allObjects.add(ai);
+
+ ai.setName(name);
+ ActorClass ac = aref.getType();
+ ai.setActorClass(ac);
+ if (idx>=0)
+ ai.setReplIdx(idx);
+
+ // create a list of super classes, super first, sub-classes last
+ LinkedList<ActorClass> classes = new LinkedList<ActorClass>();
+ classes.addFirst(ac);
+ while (ac.getBase()!=null) {
+ ac = ac.getBase();
+ classes.addFirst(ac);
+ }
+
+ // create instances for super classes recursively (ports, actor refs and bindings)
+ // super classes first ensures that actor refs are present when bindings are created
+ for (ActorClass acl : classes) {
+ // first we add our port instances to have them numbered subsequently
+ createPortInstances(ai, acl);
+ createServiceRelatedInstances(ai, acl);
+
+ // recurse down into sub-actors
+ for (ActorRef ar : acl.getActorRefs()) {
+ addRefInstances(ai, ar);
+ }
+
+ }
+
+ // bindings and layer connections are handled now since port instances of sub-actor instances are available
+ // this has to be done in one step per actor instance
+ // so we collect all bindings and connections first
+ ArrayList<Binding> bindings = new ArrayList<Binding>();
+ ArrayList<LayerConnection> connections = new ArrayList<LayerConnection>();
+ for (ActorClass acl : classes) {
+ bindings.addAll(acl.getBindings());
+ connections.addAll(acl.getConnections());
+ }
+ new BindingUtil(ai, diagnostician).createBindingInstances();
+ createConnectionInstances(ai, connections);
+
+ return ai;
+ }
+
+ /**
+ * create instances for this actor ref
+ *
+ * @param si the container structure instance
+ * @param ar the actor ref
+ */
+ private void addRefInstances(StructureInstance si, ActorRef ar) {
+ if (ar.getSize()>1) {
+ for (int idx=0; idx<ar.getSize(); ++idx)
+ si.getInstances().add(recursivelyCreateActorInstances(ar, idx));
+ }
+ else
+ si.getInstances().add(recursivelyCreateActorInstances(ar));
+ }
+
+ /**
+ * create port instances for every kind of port
+ * @param ai - the currently considered actor instance
+ * @param ac - the actor class (might be a base class)
+ */
+ private void createPortInstances(ActorInstance ai, ActorClass ac) {
+ for (ExternalPort port : ac.getExtPorts()) {
+ PortInstance pi = ETriceGenFactory.eINSTANCE.createPortInstance();
+ allObjects.add(pi);
+
+ pi.setName(port.getIfport().getName());
+ pi.setPort(port.getIfport());
+ pi.setKind(PortKind.EXTERNAL);
+
+ ai.getPorts().add(pi);
+ }
+ for (Port port : ac.getIntPorts()) {
+ PortInstance pi = ETriceGenFactory.eINSTANCE.createPortInstance();
+ allObjects.add(pi);
+
+ pi.setName(port.getName());
+ pi.setPort(port);
+ pi.setKind(PortKind.INTERNAL);
+
+ ai.getPorts().add(pi);
+ }
+ for (Port port : ac.getIfPorts()) {
+ if (relayPorts.contains(port)) {
+ PortInstance pi = ETriceGenFactory.eINSTANCE.createPortInstance();
+ allObjects.add(pi);
+
+ pi.setName(port.getName());
+ pi.setPort(port);
+ pi.setKind(PortKind.RELAY);
+
+ ai.getPorts().add(pi);
+ }
+ }
+ }
+
+ /**
+ * create sap, spp and service instances
+ * @param ai - the currently considered actor instance
+ * @param ac - the actor class (might be a base class)
+ */
+ private void createServiceRelatedInstances(ActorInstance ai, ActorClass ac) {
+ for (SAPRef sap : ac.getStrSAPs()) {
+ SAPInstance si = ETriceGenFactory.eINSTANCE.createSAPInstance();
+ allObjects.add(si);
+ si.setName(sap.getName());
+ si.setSap(sap);
+
+ ai.getSaps().add(si);
+ }
+ for (SPPRef sap : ac.getIfSPPs()) {
+ SPPInstance si = ETriceGenFactory.eINSTANCE.createSPPInstance();
+ allObjects.add(si);
+ si.setName(sap.getName());
+ // SPPs are not instantiated and thus need no object ID
+ //si.setObjId(objCounter.getAndIncrementCount());
+ si.setSpp(sap);
+
+ ai.getSpps().add(si);
+ }
+ for (ServiceImplementation svcimpl : ac.getServiceImplementations()) {
+ ServiceImplInstance sii = ETriceGenFactory.eINSTANCE.createServiceImplInstance();
+ allObjects.add(sii);
+ sii.setName(svcimpl.getSpp().getName());
+ //will set the object ID later when we know all connected saps
+ //sii.setObjId(objCounter.getAndIncrementCount());
+ sii.setSvcImpl(svcimpl);
+
+ ai.getServices().add(sii);
+ }
+ }
+
+ /**
+ * Create layer connection instances.
+ * @param si - create layer connections for this actor instance
+ * @param connections - a list of layer connections
+ */
+ private void createConnectionInstances(StructureInstance si, List<LayerConnection> connections) {
+ for (LayerConnection lc : connections) {
+
+ SPPoint to = lc.getTo();
+ SPPInstance toSPPinst = getSPPInstance(si, to.getRef(), to.getService());
+
+ SAPoint from = lc.getFrom();
+ if (from instanceof RefSAPoint) {
+ if (((RefSAPoint)from).getRef() instanceof ActorRef) {
+ List<ActorInstance> fromInstances = getActorInstances(si, ((ActorRef)((RefSAPoint)from).getRef()));
+ for (ActorInstance fromInst : fromInstances) {
+ ConnectionInstance ci = ETriceGenFactory.eINSTANCE.createConnectionInstance();
+ ci.setConnection(lc);
+ ci.setFromAI(fromInst);
+ ci.setToSPP(toSPPinst);
+ si.getConnections().add(ci);
+ }
+ }
+ else {
+ //TODOHRR: handle SubSystemRef
+ System.err.println("error");
+ }
+ }
+ else if (from instanceof RelaySAPoint) {
+ SPPInstance fromSPPinst = getSPPInstance(si, null, ((RelaySAPoint)from).getRelay());
+ if (fromSPPinst.getOutgoing()!=null) {
+ ActorContainerClass acr = (ActorContainerClass) fromSPPinst.getSpp().eContainer();
+ int idx = acr.getIfSPPs().indexOf(fromSPPinst.getSpp());
+ diagnostician.error("SPPRef has several outgoing layer connections!", fromSPPinst.getSpp(), RoomPackage.eINSTANCE.getActorContainerClass_IfSPPs(), idx);
+ }
+ ConnectionInstance ci = ETriceGenFactory.eINSTANCE.createConnectionInstance();
+ ci.setConnection(lc);
+ ci.setFromSPP(fromSPPinst);
+ ci.setToSPP(toSPPinst);
+ si.getConnections().add(ci);
+ }
+ else {
+ assert(false): "unknown type of "+from.eClass().getName();
+ }
+
+ }
+ }
+
+ /**
+ * Returns the endpoint of a layer connection.
+ *
+ * @param si
+ * @param ar
+ * @param spp
+ * @return
+ */
+ private SPPInstance getSPPInstance(StructureInstance si, ActorContainerRef ar, SPPRef spp) {
+ if (ar==null) {
+ for (SPPInstance sppi : si.getSpps()) {
+ if (sppi.getSpp()==spp)
+ return sppi;
+ }
+ }
+ else {
+ if (ar instanceof ActorRef) {
+ List<ActorInstance> subais = getActorInstances(si, (ActorRef)ar);
+ if (!subais.isEmpty())
+ return getSPPInstance(subais.get(0), null, spp);
+ }
+ else if (ar instanceof SubSystemRef) {
+ // TODOHRR: handle SubSystemRef
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns an actor instances corresponding to an ActorRef.
+ *
+ * @param si
+ * @param ar
+ * @return
+ */
+ private List<ActorInstance> getActorInstances(StructureInstance si, ActorRef ar) {
+ ArrayList<ActorInstance> result = new ArrayList<ActorInstance>();
+ for (ActorInstance subai : si.getInstances()) {
+ if (subai.getUnindexedName().equals(ar.getName())) {
+ result.add(subai);
+ }
+ }
+ return result;
+ }
+
+ /**
+ * set peer ports in the whole instance model
+ * @param root
+ */
+ private void connectPorts(Root root) {
+ TreeIterator<EObject> it = root.eAllContents();
+ while (it.hasNext()) {
+ EObject obj = it.next();
+ if (obj instanceof ActorInstance) {
+ for (PortInstance pi : ((ActorInstance) obj).getPorts()) {
+ if (pi.getKind()!=PortKind.RELAY) {
+ List<PortInstance> peers = getFinalPeers(pi, null, null);
+ pi.getPeers().addAll(peers);
+ // we don't have to add pi to its peer.peers since we do that once we reach there
+ }
+ }
+ }
+ }
+
+ // check for situations where bindings fan out on both sides of a relay port
+ // i.e. a port has several peers and each peer in turn has several peers
+ it = root.eAllContents();
+ while (it.hasNext()) {
+ EObject obj = it.next();
+ if (obj instanceof ActorInstance) {
+ for (PortInstance pi : ((ActorInstance) obj).getPorts()) {
+ if (pi.getKind()!=PortKind.RELAY && pi.getPeers().size()>1)
+ if (pi.getPeers().get(0).getPeers().size()>1) {
+ BindingInstance bi = pi.getBindings().get(0);
+ if (bi.getPorts().get(0).getKind()==PortKind.RELAY
+ || bi.getPorts().get(1).getKind()==PortKind.RELAY)
+ connectPeersOneToOne(pi);
+ }
+ }
+ }
+ }
+ }
+
+ /**
+ * determine final peers of an end port
+ * @param pi - a end port
+ * @param from - the binding from which we reached pi or null if start
+ * @return a list of final peer port instances (end ports themselves)
+ */
+ private List<PortInstance> getFinalPeers(PortInstance pi, BindingInstance from, SubProtocol fromSub) {
+ List<PortInstance> peers = new LinkedList<PortInstance>();
+
+ for (BindingInstance bi : pi.getBindings()) {
+ if (bi==from)
+ // skip the binding where we came from
+ continue;
+
+ if (from!=null && from.eContainer()==bi.eContainer())
+ // the container of a binding instance is a StructureInstance
+ // by this we make sure that we go from inside to outside or vice versa
+ continue;
+
+ SubProtocol mySub = getMySubProtocol(pi, bi);
+ if (mySub!=null && fromSub!=null && fromSub!=mySub)
+ // we follow only same sub protocols
+ continue;
+
+ PortInstance end = (bi.getPorts().get(0)!=pi)? bi.getPorts().get(0) : bi.getPorts().get(1);
+ if (end.getKind()==PortKind.RELAY) {
+ SubProtocol peerSub = getPeerSubProtocol(pi, bi);
+ if (peerSub!=null)
+ fromSub = peerSub;
+
+ // continue recursion
+ peers.addAll(getFinalPeers(end, bi, fromSub));
+ }
+ else {
+
+ // this is a final peer
+ peers.add(end);
+ }
+ }
+ return peers;
+ }
+
+ private SubProtocol getMySubProtocol(PortInstance pi, BindingInstance bi) {
+ return (bi.getPorts().get(0)==pi)? bi.getBinding().getEndpoint1().getSub() : bi.getBinding().getEndpoint2().getSub();
+ }
+
+ private SubProtocol getPeerSubProtocol(PortInstance pi, BindingInstance bi) {
+ return (bi.getPorts().get(0)!=pi)? bi.getBinding().getEndpoint1().getSub() : bi.getBinding().getEndpoint2().getSub();
+ }
+
+ private void connectPeersOneToOne(PortInstance pi) {
+ HashSet<InterfaceItemInstance> thisSide = new HashSet<InterfaceItemInstance>(pi.getPeers());
+ HashSet<InterfaceItemInstance> thatSide = new HashSet<InterfaceItemInstance>(pi.getPeers().get(0).getPeers());
+
+ // consistency checks
+ if (!Collections.disjoint(thisSide, thatSide)) {
+ assert(false): "sets expected to be disjoint";
+ return;
+ }
+ for (InterfaceItemInstance pi1 : thisSide) {
+ if (!isSameCollection(thatSide, pi1.getPeers())) {
+ assert(false): "expected reciprocal peer lists";
+ }
+ }
+ for (InterfaceItemInstance pi2 : thatSide) {
+ if (!isSameCollection(thisSide, pi2.getPeers())) {
+ assert(false): "expected reciprocal peer lists";
+ }
+ }
+
+ // connect one to one (with multiplicity)
+ boolean thisGreaterThat = totalSize(thisSide)>totalSize(thatSide);
+ Iterator<InterfaceItemInstance> lit = thisGreaterThat? thisSide.iterator() : thatSide.iterator();
+ Iterator<InterfaceItemInstance> sit = thisGreaterThat? thatSide.iterator() : thisSide.iterator();
+ while (sit.hasNext() && lit.hasNext()) {
+ InterfaceItemInstance first = lit.next();
+ InterfaceItemInstance second = sit.next();
+ first.getPeers().clear();
+ first.getPeers().add(second);
+ second.getPeers().clear();
+ second.getPeers().add(first);
+ }
+
+ // report unconnected ports
+ while (lit.hasNext()) {
+ InterfaceItemInstance item = lit.next();
+ reportPortInstanceError(item, "port '"+item.getPath()+"'could not be connected");
+ }
+ }
+
+ private void reportPortInstanceError(InterfaceItemInstance item, String msg) {
+ if (item.eContainer() instanceof ActorInstance) {
+ ActorClass ac = ((ActorInstance)item.eContainer()).getActorClass();
+ Port port = ((PortInstance)item).getPort();
+ EStructuralFeature feat = ac.getIfPorts().contains(port)?
+ RoomPackage.Literals.ACTOR_CLASS__INT_PORTS: RoomPackage.Literals.ACTOR_CLASS__IF_PORTS;
+ int idx = ac.getIfPorts().indexOf(port);
+ if (idx<0)
+ ac.getIntPorts().indexOf(port);
+ diagnostician.warning(msg, ac, feat, idx);
+ }
+ else {
+ assert(false): "SubSystems can only have relay ports";
+ }
+ }
+
+ private int totalSize(Collection<InterfaceItemInstance> coll) {
+ int size = 0;
+ for (InterfaceItemInstance ii : coll) {
+ if (ii instanceof PortInstance) {
+ int multiplicity = ((PortInstance) ii).getPort().getMultiplicity();
+ if (multiplicity!=1)
+ reportPortInstanceError(ii, "port '"+ii.getPath()+"' must have multiplicity 1");
+ size += multiplicity;
+ }
+ else {
+ assert(false): "should be called with PortInstances onl";
+ }
+ }
+ return size;
+ }
+
+ private boolean isSameCollection(Collection<InterfaceItemInstance> coll1, Collection<InterfaceItemInstance> coll2) {
+ for (InterfaceItemInstance ii : coll1) {
+ if (!coll2.contains(ii))
+ return false;
+ }
+ for (InterfaceItemInstance ii : coll2) {
+ if (!coll1.contains(ii))
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * check that the number of peer ports does not exceed the multiplicity of a port
+ * @param root
+ */
+ private void checkPortMultiplicity(Root root) {
+ TreeIterator<EObject> it = root.eAllContents();
+ while (it.hasNext()) {
+ EObject obj = it.next();
+ if (obj instanceof ActorInstance) {
+ ActorInstance ai = (ActorInstance) obj;
+ ActorClass ac = ai.getActorClass();
+ for (PortInstance pi : ai.getPorts()) {
+ if (pi.getKind()!=PortKind.RELAY) {
+ if (pi.getProtocol().getCommType()==CommunicationType.EVENT_DRIVEN) {
+ if (pi.getBindings().size()>pi.getPort().getMultiplicity() && pi.getPort().getMultiplicity()!=-1) {
+ EStructuralFeature feature = RoomPackage.eINSTANCE.getActorClass_IfPorts();
+ int idx = ac.getIfPorts().indexOf(pi.getPort());
+ if (idx<0) {
+ feature = RoomPackage.eINSTANCE.getActorClass_IntPorts();
+ idx = ac.getIntPorts().indexOf(pi.getPort());
+ }
+ diagnostician.error("number of peers ("+pi.getBindings().size()
+ + ") of port '"+pi.getName()
+ +"' exceeds multiplicity "+pi.getPort().getMultiplicity()
+ +" in instance "+ai.getPath(), ac, feature, idx);
+ }
+ }
+ }
+ }
+ }
+ else if (obj instanceof SubSystemInstance) {
+ SubSystemInstance ssi = (SubSystemInstance) obj;
+ SubSystemClass ssc = ssi.getSubSystemClass();
+ for (PortInstance pi : ssi.getPorts()) {
+ EReference feature = RoomPackage.eINSTANCE.getSubSystemClass_RelayPorts();
+ int idx = ssc.getRelayPorts().indexOf(pi.getPort());
+
+ diagnostician.error("number of peers ("+pi.getBindings().size()
+ + ") of port '"+pi.getName()
+ +"' exceeds multiplicity "+pi.getPort().getMultiplicity()
+ +" in instance "+ssi.getPath(), ssc, feature, idx);
+ }
+ }
+ }
+ }
+
+ /**
+ * expanded (xp) actor classes are created which
+ * contain also inherited features and where RefinedStates
+ * are removed and their contents is relocated.
+ * @param root - the model root
+ */
+ private void createExpandedActorClasses(Root root) {
+ for (ActorClass ac : root.getUsedActorClasses()) {
+ root.getXpActorClasses().add(createExpandedActorClass(ac));
+ }
+ }
+
+ /**
+ * create an expanded actor class from the original model class
+ * @param ac - the original model class
+ * @return - the newly created expanded actor class
+ */
+ public ExpandedActorClass createExpandedActorClass(ActorClass ac) {
+ if (debug)
+ logger.logInfo("GeneratorModelBuilder: creating expanded actor class from "+ac.getName()
+ +" of "+((RoomModel)ac.eContainer()).getName());
+
+ ExpandedActorClass xpac = ETriceGenFactory.eINSTANCE.createExpandedActorClass();
+ xpac.setActorClass(ac);
+
+ xpac.prepare(diagnostician);
+
+ return xpac;
+ }
+}
diff --git a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/builder/ValidationException.java b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/builder/ValidationException.java
index 7d608fa96..ca77adf50 100644
--- a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/builder/ValidationException.java
+++ b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/builder/ValidationException.java
@@ -1,25 +1,25 @@
-/*******************************************************************************
- * Copyright (c) 2010 protos software gmbh (http://www.protos.de).
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * CONTRIBUTORS:
- * Thomas Schuetz and Henrik Rentz-Reichert (initial contribution)
- *
- *******************************************************************************/
-
-package org.eclipse.etrice.core.genmodel.builder;
-
-public class ValidationException extends RuntimeException {
-
- /**
- *
- */
- private static final long serialVersionUID = 2180285017071261665L;
-
- public ValidationException(String msg) {
- super(msg);
- }
-}
+/*******************************************************************************
+ * Copyright (c) 2010 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * Thomas Schuetz and Henrik Rentz-Reichert (initial contribution)
+ *
+ *******************************************************************************/
+
+package org.eclipse.etrice.core.genmodel.builder;
+
+public class ValidationException extends RuntimeException {
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = 2180285017071261665L;
+
+ public ValidationException(String msg) {
+ super(msg);
+ }
+}
diff --git a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/ActiveTrigger.java b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/ActiveTrigger.java
index 7e990cc0a..43d6132d8 100644
--- a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/ActiveTrigger.java
+++ b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/ActiveTrigger.java
@@ -1,142 +1,142 @@
-/*******************************************************************************
- * Copyright (c) 2010 protos software gmbh (http://www.protos.de).
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * CONTRIBUTORS:
- * Thomas Schuetz and Henrik Rentz-Reichert (initial contribution)
- *
- *******************************************************************************/
-
-package org.eclipse.etrice.core.genmodel.etricegen;
-
-import org.eclipse.emf.common.util.EList;
-
-import org.eclipse.emf.ecore.EObject;
-
-import org.eclipse.etrice.core.room.InterfaceItem;
-import org.eclipse.etrice.core.room.Message;
-import org.eclipse.etrice.core.room.TriggeredTransition;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Active Trigger</b></em>'.
- * It combines information from a transition {@link Trigger} and is meant to represent a trigger which is
- * attached to a {@link State}. The active triggers of a state are computed by collecting all triggers
- * of {@link Transition}s starting at the state. Then transitions starting at {@link TrPoint}s of the parent state
- * are considered. This process is recursively done for all parent states. When a msg/ifitem pair is already
- * in the list of active triggers then further occurrences are skipped except when the first occurrences are
- * {@link Guard}ed.<br/><br/>
- *
- * The ordered list of active triggers can be obtained from the ExpandedActorClass by calling
- * {@link org.eclipse.etrice.core.genmodel.etricegen.ExpandedActorClass#getActiveTriggers(State) getActiveTriggers(State)}
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.ActiveTrigger#getMsg <em>Msg</em>}</li>
- * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.ActiveTrigger#getIfitem <em>Ifitem</em>}</li>
- * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.ActiveTrigger#getTrigger <em>Trigger</em>}</li>
- * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.ActiveTrigger#getTransitions <em>Transitions</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getActiveTrigger()
- * @model
- * @generated
- */
-public interface ActiveTrigger extends EObject {
- /**
- * Returns the value of the '<em><b>Msg</b></em>' reference.
- * <!-- begin-user-doc -->
- * <p>
- * This is the triggering message (in combination with an interface item, cf. {@link #getIfitem()}
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Msg</em>' reference.
- * @see #setMsg(Message)
- * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getActiveTrigger_Msg()
- * @model
- * @generated
- */
- Message getMsg();
-
- /**
- * Sets the value of the '{@link org.eclipse.etrice.core.genmodel.etricegen.ActiveTrigger#getMsg <em>Msg</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Msg</em>' reference.
- * @see #getMsg()
- * @generated
- */
- void setMsg(Message value);
-
- /**
- * Returns the value of the '<em><b>Ifitem</b></em>' reference.
- * <!-- begin-user-doc -->
- * <p>
- * This is the interface item from which the triggering message (see {@link #getMsg()} originates.
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Ifitem</em>' reference.
- * @see #setIfitem(InterfaceItem)
- * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getActiveTrigger_Ifitem()
- * @model
- * @generated
- */
- InterfaceItem getIfitem();
-
- /**
- * Sets the value of the '{@link org.eclipse.etrice.core.genmodel.etricegen.ActiveTrigger#getIfitem <em>Ifitem</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Ifitem</em>' reference.
- * @see #getIfitem()
- * @generated
- */
- void setIfitem(InterfaceItem value);
-
- /**
- * Returns the value of the '<em><b>Trigger</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * A string representation of the trigger (<b>for internal use only</b>).
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Trigger</em>' attribute.
- * @see #setTrigger(String)
- * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getActiveTrigger_Trigger()
- * @model
- * @generated
- */
- String getTrigger();
-
- /**
- * Sets the value of the '{@link org.eclipse.etrice.core.genmodel.etricegen.ActiveTrigger#getTrigger <em>Trigger</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Trigger</em>' attribute.
- * @see #getTrigger()
- * @generated
- */
- void setTrigger(String value);
-
- /**
- * Returns the value of the '<em><b>Transitions</b></em>' reference list.
- * The list contents are of type {@link org.eclipse.etrice.core.room.TriggeredTransition}.
- * <!-- begin-user-doc -->
- * <p>
- * An ordered list of {@link Transition}s with this trigger.
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Transitions</em>' reference list.
- * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getActiveTrigger_Transitions()
- * @model
- * @generated
- */
- EList<TriggeredTransition> getTransitions();
-
-} // ActiveTrigger
+/*******************************************************************************
+ * Copyright (c) 2010 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * Thomas Schuetz and Henrik Rentz-Reichert (initial contribution)
+ *
+ *******************************************************************************/
+
+package org.eclipse.etrice.core.genmodel.etricegen;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.etrice.core.room.InterfaceItem;
+import org.eclipse.etrice.core.room.Message;
+import org.eclipse.etrice.core.room.TriggeredTransition;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Active Trigger</b></em>'.
+ * It combines information from a transition {@link Trigger} and is meant to represent a trigger which is
+ * attached to a {@link State}. The active triggers of a state are computed by collecting all triggers
+ * of {@link Transition}s starting at the state. Then transitions starting at {@link TrPoint}s of the parent state
+ * are considered. This process is recursively done for all parent states. When a msg/ifitem pair is already
+ * in the list of active triggers then further occurrences are skipped except when the first occurrences are
+ * {@link Guard}ed.<br/><br/>
+ *
+ * The ordered list of active triggers can be obtained from the ExpandedActorClass by calling
+ * {@link org.eclipse.etrice.core.genmodel.etricegen.ExpandedActorClass#getActiveTriggers(State) getActiveTriggers(State)}
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.ActiveTrigger#getMsg <em>Msg</em>}</li>
+ * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.ActiveTrigger#getIfitem <em>Ifitem</em>}</li>
+ * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.ActiveTrigger#getTrigger <em>Trigger</em>}</li>
+ * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.ActiveTrigger#getTransitions <em>Transitions</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getActiveTrigger()
+ * @model
+ * @generated
+ */
+public interface ActiveTrigger extends EObject {
+ /**
+ * Returns the value of the '<em><b>Msg</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * This is the triggering message (in combination with an interface item, cf. {@link #getIfitem()}
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Msg</em>' reference.
+ * @see #setMsg(Message)
+ * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getActiveTrigger_Msg()
+ * @model
+ * @generated
+ */
+ Message getMsg();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.etrice.core.genmodel.etricegen.ActiveTrigger#getMsg <em>Msg</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Msg</em>' reference.
+ * @see #getMsg()
+ * @generated
+ */
+ void setMsg(Message value);
+
+ /**
+ * Returns the value of the '<em><b>Ifitem</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * This is the interface item from which the triggering message (see {@link #getMsg()} originates.
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Ifitem</em>' reference.
+ * @see #setIfitem(InterfaceItem)
+ * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getActiveTrigger_Ifitem()
+ * @model
+ * @generated
+ */
+ InterfaceItem getIfitem();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.etrice.core.genmodel.etricegen.ActiveTrigger#getIfitem <em>Ifitem</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Ifitem</em>' reference.
+ * @see #getIfitem()
+ * @generated
+ */
+ void setIfitem(InterfaceItem value);
+
+ /**
+ * Returns the value of the '<em><b>Trigger</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * A string representation of the trigger (<b>for internal use only</b>).
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Trigger</em>' attribute.
+ * @see #setTrigger(String)
+ * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getActiveTrigger_Trigger()
+ * @model
+ * @generated
+ */
+ String getTrigger();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.etrice.core.genmodel.etricegen.ActiveTrigger#getTrigger <em>Trigger</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Trigger</em>' attribute.
+ * @see #getTrigger()
+ * @generated
+ */
+ void setTrigger(String value);
+
+ /**
+ * Returns the value of the '<em><b>Transitions</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.etrice.core.room.TriggeredTransition}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * An ordered list of {@link Transition}s with this trigger.
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Transitions</em>' reference list.
+ * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getActiveTrigger_Transitions()
+ * @model
+ * @generated
+ */
+ EList<TriggeredTransition> getTransitions();
+
+} // ActiveTrigger
diff --git a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/ActorInstance.java b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/ActorInstance.java
index f95267c49..71c97f05b 100644
--- a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/ActorInstance.java
+++ b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/ActorInstance.java
@@ -1,107 +1,107 @@
-/*******************************************************************************
- * Copyright (c) 2010 protos software gmbh (http://www.protos.de).
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * CONTRIBUTORS:
- * Thomas Schuetz and Henrik Rentz-Reichert (initial contribution)
- *
- *******************************************************************************/
-
-package org.eclipse.etrice.core.genmodel.etricegen;
-
-import org.eclipse.etrice.core.room.ActorClass;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Actor Instance</b></em>'.
- * The generator model contains an object tree of {@link StructureInstance}s starting at a {@link LogicalSystem}
- * or a {@link SubSystemClass} as root of the instance tree. Each {@link ActorContainerRef} (either a {@link SubSystemRef}
- * or an {@link ActorRef}) is turned into an instance of the corresponding class carrying the reference's name.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.ActorInstance#getActorClass <em>Actor Class</em>}</li>
- * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.ActorInstance#getReplIdx <em>Repl Idx</em>}</li>
- * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.ActorInstance#getUnindexedName <em>Unindexed Name</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getActorInstance()
- * @model
- * @generated
- */
-public interface ActorInstance extends StructureInstance {
- /**
- * Returns the value of the '<em><b>Actor Class</b></em>' reference.
- * <!-- begin-user-doc -->
- * <p>
- * This is the actor class of which this is an instance.
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Actor Class</em>' reference.
- * @see #setActorClass(ActorClass)
- * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getActorInstance_ActorClass()
- * @model
- * @generated
- */
- ActorClass getActorClass();
-
- /**
- * Sets the value of the '{@link org.eclipse.etrice.core.genmodel.etricegen.ActorInstance#getActorClass <em>Actor Class</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Actor Class</em>' reference.
- * @see #getActorClass()
- * @generated
- */
- void setActorClass(ActorClass value);
-
- /**
- * Returns the value of the '<em><b>Repl Idx</b></em>' attribute.
- * The default value is <code>"-1"</code>.
- * <!-- begin-user-doc -->
- * <p>
- * If this actor instance stands for an instance of a replicated actor array the index corresponds
- * to the 0 based position in the array.
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Repl Idx</em>' attribute.
- * @see #setReplIdx(int)
- * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getActorInstance_ReplIdx()
- * @model default="-1"
- * @generated
- */
- int getReplIdx();
-
- /**
- * Sets the value of the '{@link org.eclipse.etrice.core.genmodel.etricegen.ActorInstance#getReplIdx <em>Repl Idx</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Repl Idx</em>' attribute.
- * @see #getReplIdx()
- * @generated
- */
- void setReplIdx(int value);
-
- /**
- * Returns the value of the '<em><b>Unindexed Name</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If this actor instance stands for an instance of a replicated actor array then the name
- * of this instances contains the array index as string. The unindexed name is the name with the
- * index stripped of.
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Unindexed Name</em>' attribute.
- * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getActorInstance_UnindexedName()
- * @model transient="true" changeable="false" volatile="true" derived="true"
- * @generated
- */
- String getUnindexedName();
-
-} // ActorInstance
+/*******************************************************************************
+ * Copyright (c) 2010 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * Thomas Schuetz and Henrik Rentz-Reichert (initial contribution)
+ *
+ *******************************************************************************/
+
+package org.eclipse.etrice.core.genmodel.etricegen;
+
+import org.eclipse.etrice.core.room.ActorClass;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Actor Instance</b></em>'.
+ * The generator model contains an object tree of {@link StructureInstance}s starting at a {@link LogicalSystem}
+ * or a {@link SubSystemClass} as root of the instance tree. Each {@link ActorContainerRef} (either a {@link SubSystemRef}
+ * or an {@link ActorRef}) is turned into an instance of the corresponding class carrying the reference's name.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.ActorInstance#getActorClass <em>Actor Class</em>}</li>
+ * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.ActorInstance#getReplIdx <em>Repl Idx</em>}</li>
+ * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.ActorInstance#getUnindexedName <em>Unindexed Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getActorInstance()
+ * @model
+ * @generated
+ */
+public interface ActorInstance extends StructureInstance {
+ /**
+ * Returns the value of the '<em><b>Actor Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * This is the actor class of which this is an instance.
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Actor Class</em>' reference.
+ * @see #setActorClass(ActorClass)
+ * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getActorInstance_ActorClass()
+ * @model
+ * @generated
+ */
+ ActorClass getActorClass();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.etrice.core.genmodel.etricegen.ActorInstance#getActorClass <em>Actor Class</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Actor Class</em>' reference.
+ * @see #getActorClass()
+ * @generated
+ */
+ void setActorClass(ActorClass value);
+
+ /**
+ * Returns the value of the '<em><b>Repl Idx</b></em>' attribute.
+ * The default value is <code>"-1"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If this actor instance stands for an instance of a replicated actor array the index corresponds
+ * to the 0 based position in the array.
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Repl Idx</em>' attribute.
+ * @see #setReplIdx(int)
+ * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getActorInstance_ReplIdx()
+ * @model default="-1"
+ * @generated
+ */
+ int getReplIdx();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.etrice.core.genmodel.etricegen.ActorInstance#getReplIdx <em>Repl Idx</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Repl Idx</em>' attribute.
+ * @see #getReplIdx()
+ * @generated
+ */
+ void setReplIdx(int value);
+
+ /**
+ * Returns the value of the '<em><b>Unindexed Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If this actor instance stands for an instance of a replicated actor array then the name
+ * of this instances contains the array index as string. The unindexed name is the name with the
+ * index stripped of.
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Unindexed Name</em>' attribute.
+ * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getActorInstance_UnindexedName()
+ * @model transient="true" changeable="false" volatile="true" derived="true"
+ * @generated
+ */
+ String getUnindexedName();
+
+} // ActorInstance
diff --git a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/BindingInstance.java b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/BindingInstance.java
index 047e429e6..c94bf65ca 100644
--- a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/BindingInstance.java
+++ b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/BindingInstance.java
@@ -1,83 +1,83 @@
-/*******************************************************************************
- * Copyright (c) 2010 protos software gmbh (http://www.protos.de).
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * CONTRIBUTORS:
- * Thomas Schuetz and Henrik Rentz-Reichert (initial contribution)
- *
- *******************************************************************************/
-
-package org.eclipse.etrice.core.genmodel.etricegen;
-
-import org.eclipse.emf.common.util.EList;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.etrice.core.room.Binding;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Binding Instance</b></em>'.
- * In the instance model each binding is turned into (at least one) binding instances. A binding between
- * a replicated port and a port of a replicated actor is turned into as many binding instances as
- * there are instances in the actor array.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.BindingInstance#getPorts <em>Ports</em>}</li>
- * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.BindingInstance#getBinding <em>Binding</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getBindingInstance()
- * @model
- * @generated
- */
-public interface BindingInstance extends EObject {
- /**
- * Returns the value of the '<em><b>Ports</b></em>' reference list.
- * The list contents are of type {@link org.eclipse.etrice.core.genmodel.etricegen.PortInstance}.
- * It is bidirectional and its opposite is '{@link org.eclipse.etrice.core.genmodel.etricegen.PortInstance#getBindings <em>Bindings</em>}'.
- * <!-- begin-user-doc -->
- * <p>
- * This list of {@link PortInstance}s has exactly two members: the two ports that are connected by this binding instance.
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Ports</em>' reference list.
- * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getBindingInstance_Ports()
- * @see org.eclipse.etrice.core.genmodel.etricegen.PortInstance#getBindings
- * @model opposite="bindings" upper="2"
- * @generated
- */
- EList<PortInstance> getPorts();
-
- /**
- * Returns the value of the '<em><b>Binding</b></em>' reference.
- * <!-- begin-user-doc -->
- * <p>
- * A reference to the original binding.
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Binding</em>' reference.
- * @see #setBinding(Binding)
- * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getBindingInstance_Binding()
- * @model
- * @generated
- */
- Binding getBinding();
-
- /**
- * Sets the value of the '{@link org.eclipse.etrice.core.genmodel.etricegen.BindingInstance#getBinding <em>Binding</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Binding</em>' reference.
- * @see #getBinding()
- * @generated
- */
- void setBinding(Binding value);
-
-} // BindingInstance
+/*******************************************************************************
+ * Copyright (c) 2010 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * Thomas Schuetz and Henrik Rentz-Reichert (initial contribution)
+ *
+ *******************************************************************************/
+
+package org.eclipse.etrice.core.genmodel.etricegen;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.etrice.core.room.Binding;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Binding Instance</b></em>'.
+ * In the instance model each binding is turned into (at least one) binding instances. A binding between
+ * a replicated port and a port of a replicated actor is turned into as many binding instances as
+ * there are instances in the actor array.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.BindingInstance#getPorts <em>Ports</em>}</li>
+ * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.BindingInstance#getBinding <em>Binding</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getBindingInstance()
+ * @model
+ * @generated
+ */
+public interface BindingInstance extends EObject {
+ /**
+ * Returns the value of the '<em><b>Ports</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.etrice.core.genmodel.etricegen.PortInstance}.
+ * It is bidirectional and its opposite is '{@link org.eclipse.etrice.core.genmodel.etricegen.PortInstance#getBindings <em>Bindings</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * This list of {@link PortInstance}s has exactly two members: the two ports that are connected by this binding instance.
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Ports</em>' reference list.
+ * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getBindingInstance_Ports()
+ * @see org.eclipse.etrice.core.genmodel.etricegen.PortInstance#getBindings
+ * @model opposite="bindings" upper="2"
+ * @generated
+ */
+ EList<PortInstance> getPorts();
+
+ /**
+ * Returns the value of the '<em><b>Binding</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * A reference to the original binding.
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Binding</em>' reference.
+ * @see #setBinding(Binding)
+ * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getBindingInstance_Binding()
+ * @model
+ * @generated
+ */
+ Binding getBinding();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.etrice.core.genmodel.etricegen.BindingInstance#getBinding <em>Binding</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Binding</em>' reference.
+ * @see #getBinding()
+ * @generated
+ */
+ void setBinding(Binding value);
+
+} // BindingInstance
diff --git a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/ConnectionInstance.java b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/ConnectionInstance.java
index 79e04f2d5..dfb759329 100644
--- a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/ConnectionInstance.java
+++ b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/ConnectionInstance.java
@@ -1,144 +1,144 @@
-/*******************************************************************************
- * Copyright (c) 2010 protos software gmbh (http://www.protos.de).
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * CONTRIBUTORS:
- * Thomas Schuetz and Henrik Rentz-Reichert (initial contribution)
- *
- *******************************************************************************/
-
-package org.eclipse.etrice.core.genmodel.etricegen;
-
-import org.eclipse.emf.ecore.EObject;
-
-import org.eclipse.etrice.core.room.LayerConnection;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Connection Instance</b></em>'.
- * In the instance model each layer connection is turned into a connection instance.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.ConnectionInstance#getFromAI <em>From AI</em>}</li>
- * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.ConnectionInstance#getFromSPP <em>From SPP</em>}</li>
- * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.ConnectionInstance#getToSPP <em>To SPP</em>}</li>
- * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.ConnectionInstance#getConnection <em>Connection</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getConnectionInstance()
- * @model
- * @generated
- */
-public interface ConnectionInstance extends EObject {
- /**
- * Returns the value of the '<em><b>From AI</b></em>' reference.
- * <!-- begin-user-doc -->
- * <p>
- * This is the source {@link ActorInstance} of this connection.
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>From AI</em>' reference.
- * @see #setFromAI(ActorInstance)
- * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getConnectionInstance_FromAI()
- * @model
- * @generated
- */
- ActorInstance getFromAI();
-
- /**
- * Sets the value of the '{@link org.eclipse.etrice.core.genmodel.etricegen.ConnectionInstance#getFromAI <em>From AI</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>From AI</em>' reference.
- * @see #getFromAI()
- * @generated
- */
- void setFromAI(ActorInstance value);
-
- /**
- * Returns the value of the '<em><b>From SPP</b></em>' reference.
- * It is bidirectional and its opposite is '{@link org.eclipse.etrice.core.genmodel.etricegen.SPPInstance#getOutgoing <em>Outgoing</em>}'.
- * <!-- begin-user-doc -->
- * <p>
- * This is the source {@link SPPRef} of this connection.
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>From SPP</em>' reference.
- * @see #setFromSPP(SPPInstance)
- * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getConnectionInstance_FromSPP()
- * @see org.eclipse.etrice.core.genmodel.etricegen.SPPInstance#getOutgoing
- * @model opposite="outgoing"
- * @generated
- */
- SPPInstance getFromSPP();
-
- /**
- * Sets the value of the '{@link org.eclipse.etrice.core.genmodel.etricegen.ConnectionInstance#getFromSPP <em>From SPP</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>From SPP</em>' reference.
- * @see #getFromSPP()
- * @generated
- */
- void setFromSPP(SPPInstance value);
-
- /**
- * Returns the value of the '<em><b>To SPP</b></em>' reference.
- * It is bidirectional and its opposite is '{@link org.eclipse.etrice.core.genmodel.etricegen.SPPInstance#getIncoming <em>Incoming</em>}'.
- * <!-- begin-user-doc -->
- * <p>
- * This is the destination {@link SPPRef} of this connection.
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>To SPP</em>' reference.
- * @see #setToSPP(SPPInstance)
- * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getConnectionInstance_ToSPP()
- * @see org.eclipse.etrice.core.genmodel.etricegen.SPPInstance#getIncoming
- * @model opposite="incoming"
- * @generated
- */
- SPPInstance getToSPP();
-
- /**
- * Sets the value of the '{@link org.eclipse.etrice.core.genmodel.etricegen.ConnectionInstance#getToSPP <em>To SPP</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>To SPP</em>' reference.
- * @see #getToSPP()
- * @generated
- */
- void setToSPP(SPPInstance value);
-
- /**
- * Returns the value of the '<em><b>Connection</b></em>' reference.
- * <!-- begin-user-doc -->
- * <p>
- * This is a reference to the original {@link LayerConnection}.
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Connection</em>' reference.
- * @see #setConnection(LayerConnection)
- * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getConnectionInstance_Connection()
- * @model
- * @generated
- */
- LayerConnection getConnection();
-
- /**
- * Sets the value of the '{@link org.eclipse.etrice.core.genmodel.etricegen.ConnectionInstance#getConnection <em>Connection</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Connection</em>' reference.
- * @see #getConnection()
- * @generated
- */
- void setConnection(LayerConnection value);
-
-} // ConnectionInstance
+/*******************************************************************************
+ * Copyright (c) 2010 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * Thomas Schuetz and Henrik Rentz-Reichert (initial contribution)
+ *
+ *******************************************************************************/
+
+package org.eclipse.etrice.core.genmodel.etricegen;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.etrice.core.room.LayerConnection;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Connection Instance</b></em>'.
+ * In the instance model each layer connection is turned into a connection instance.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.ConnectionInstance#getFromAI <em>From AI</em>}</li>
+ * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.ConnectionInstance#getFromSPP <em>From SPP</em>}</li>
+ * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.ConnectionInstance#getToSPP <em>To SPP</em>}</li>
+ * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.ConnectionInstance#getConnection <em>Connection</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getConnectionInstance()
+ * @model
+ * @generated
+ */
+public interface ConnectionInstance extends EObject {
+ /**
+ * Returns the value of the '<em><b>From AI</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * This is the source {@link ActorInstance} of this connection.
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>From AI</em>' reference.
+ * @see #setFromAI(ActorInstance)
+ * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getConnectionInstance_FromAI()
+ * @model
+ * @generated
+ */
+ ActorInstance getFromAI();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.etrice.core.genmodel.etricegen.ConnectionInstance#getFromAI <em>From AI</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>From AI</em>' reference.
+ * @see #getFromAI()
+ * @generated
+ */
+ void setFromAI(ActorInstance value);
+
+ /**
+ * Returns the value of the '<em><b>From SPP</b></em>' reference.
+ * It is bidirectional and its opposite is '{@link org.eclipse.etrice.core.genmodel.etricegen.SPPInstance#getOutgoing <em>Outgoing</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * This is the source {@link SPPRef} of this connection.
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>From SPP</em>' reference.
+ * @see #setFromSPP(SPPInstance)
+ * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getConnectionInstance_FromSPP()
+ * @see org.eclipse.etrice.core.genmodel.etricegen.SPPInstance#getOutgoing
+ * @model opposite="outgoing"
+ * @generated
+ */
+ SPPInstance getFromSPP();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.etrice.core.genmodel.etricegen.ConnectionInstance#getFromSPP <em>From SPP</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>From SPP</em>' reference.
+ * @see #getFromSPP()
+ * @generated
+ */
+ void setFromSPP(SPPInstance value);
+
+ /**
+ * Returns the value of the '<em><b>To SPP</b></em>' reference.
+ * It is bidirectional and its opposite is '{@link org.eclipse.etrice.core.genmodel.etricegen.SPPInstance#getIncoming <em>Incoming</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * This is the destination {@link SPPRef} of this connection.
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>To SPP</em>' reference.
+ * @see #setToSPP(SPPInstance)
+ * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getConnectionInstance_ToSPP()
+ * @see org.eclipse.etrice.core.genmodel.etricegen.SPPInstance#getIncoming
+ * @model opposite="incoming"
+ * @generated
+ */
+ SPPInstance getToSPP();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.etrice.core.genmodel.etricegen.ConnectionInstance#getToSPP <em>To SPP</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>To SPP</em>' reference.
+ * @see #getToSPP()
+ * @generated
+ */
+ void setToSPP(SPPInstance value);
+
+ /**
+ * Returns the value of the '<em><b>Connection</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * This is a reference to the original {@link LayerConnection}.
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Connection</em>' reference.
+ * @see #setConnection(LayerConnection)
+ * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getConnectionInstance_Connection()
+ * @model
+ * @generated
+ */
+ LayerConnection getConnection();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.etrice.core.genmodel.etricegen.ConnectionInstance#getConnection <em>Connection</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Connection</em>' reference.
+ * @see #getConnection()
+ * @generated
+ */
+ void setConnection(LayerConnection value);
+
+} // ConnectionInstance
diff --git a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/ETriceGenFactory.java b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/ETriceGenFactory.java
index 588f8d769..93ce107a8 100644
--- a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/ETriceGenFactory.java
+++ b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/ETriceGenFactory.java
@@ -1,187 +1,187 @@
-/*******************************************************************************
- * Copyright (c) 2010 protos software gmbh (http://www.protos.de).
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * CONTRIBUTORS:
- * Thomas Schuetz and Henrik Rentz-Reichert (initial contribution)
- *
- *******************************************************************************/
-
-package org.eclipse.etrice.core.genmodel.etricegen;
-
-import org.eclipse.emf.ecore.EFactory;
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Factory</b> for the model.
- * It provides a create method for each non-abstract class of the model.
- * <!-- end-user-doc -->
- * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage
- * @generated
- */
-public interface ETriceGenFactory extends EFactory {
- /**
- * The singleton instance of the factory.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- ETriceGenFactory eINSTANCE = org.eclipse.etrice.core.genmodel.etricegen.impl.ETriceGenFactoryImpl.init();
-
- /**
- * Returns a new object of class '<em>Root</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Root</em>'.
- * @generated
- */
- Root createRoot();
-
- /**
- * Returns a new object of class '<em>Structure Instance</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Structure Instance</em>'.
- * @generated
- */
- StructureInstance createStructureInstance();
-
- /**
- * Returns a new object of class '<em>System Instance</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>System Instance</em>'.
- * @generated
- */
- SystemInstance createSystemInstance();
-
- /**
- * Returns a new object of class '<em>Sub System Instance</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Sub System Instance</em>'.
- * @generated
- */
- SubSystemInstance createSubSystemInstance();
-
- /**
- * Returns a new object of class '<em>Actor Instance</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Actor Instance</em>'.
- * @generated
- */
- ActorInstance createActorInstance();
-
- /**
- * Returns a new object of class '<em>Interface Item Instance</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Interface Item Instance</em>'.
- * @generated
- */
- InterfaceItemInstance createInterfaceItemInstance();
-
- /**
- * Returns a new object of class '<em>Port Instance</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Port Instance</em>'.
- * @generated
- */
- PortInstance createPortInstance();
-
- /**
- * Returns a new object of class '<em>Binding Instance</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Binding Instance</em>'.
- * @generated
- */
- BindingInstance createBindingInstance();
-
- /**
- * Returns a new object of class '<em>SAP Instance</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>SAP Instance</em>'.
- * @generated
- */
- SAPInstance createSAPInstance();
-
- /**
- * Returns a new object of class '<em>SPP Instance</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>SPP Instance</em>'.
- * @generated
- */
- SPPInstance createSPPInstance();
-
- /**
- * Returns a new object of class '<em>Service Impl Instance</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Service Impl Instance</em>'.
- * @generated
- */
- ServiceImplInstance createServiceImplInstance();
-
- /**
- * Returns a new object of class '<em>Connection Instance</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Connection Instance</em>'.
- * @generated
- */
- ConnectionInstance createConnectionInstance();
-
- /**
- * Returns a new object of class '<em>Active Trigger</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Active Trigger</em>'.
- * @generated
- */
- ActiveTrigger createActiveTrigger();
-
- /**
- * Returns a new object of class '<em>Transition Chain</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Transition Chain</em>'.
- * @generated
- */
- TransitionChain createTransitionChain();
-
- /**
- * Returns a new object of class '<em>Expanded Actor Class</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Expanded Actor Class</em>'.
- * @generated
- */
- ExpandedActorClass createExpandedActorClass();
-
- /**
- * Returns a new object of class '<em>Expanded Refined State</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Expanded Refined State</em>'.
- * @generated
- */
- ExpandedRefinedState createExpandedRefinedState();
-
- /**
- * Returns the package supported by this factory.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the package supported by this factory.
- * @generated
- */
- ETriceGenPackage getETriceGenPackage();
-
-} //ETriceGenFactory
+/*******************************************************************************
+ * Copyright (c) 2010 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * Thomas Schuetz and Henrik Rentz-Reichert (initial contribution)
+ *
+ *******************************************************************************/
+
+package org.eclipse.etrice.core.genmodel.etricegen;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage
+ * @generated
+ */
+public interface ETriceGenFactory extends EFactory {
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ ETriceGenFactory eINSTANCE = org.eclipse.etrice.core.genmodel.etricegen.impl.ETriceGenFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Root</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Root</em>'.
+ * @generated
+ */
+ Root createRoot();
+
+ /**
+ * Returns a new object of class '<em>Structure Instance</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Structure Instance</em>'.
+ * @generated
+ */
+ StructureInstance createStructureInstance();
+
+ /**
+ * Returns a new object of class '<em>System Instance</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>System Instance</em>'.
+ * @generated
+ */
+ SystemInstance createSystemInstance();
+
+ /**
+ * Returns a new object of class '<em>Sub System Instance</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Sub System Instance</em>'.
+ * @generated
+ */
+ SubSystemInstance createSubSystemInstance();
+
+ /**
+ * Returns a new object of class '<em>Actor Instance</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Actor Instance</em>'.
+ * @generated
+ */
+ ActorInstance createActorInstance();
+
+ /**
+ * Returns a new object of class '<em>Interface Item Instance</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Interface Item Instance</em>'.
+ * @generated
+ */
+ InterfaceItemInstance createInterfaceItemInstance();
+
+ /**
+ * Returns a new object of class '<em>Port Instance</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Port Instance</em>'.
+ * @generated
+ */
+ PortInstance createPortInstance();
+
+ /**
+ * Returns a new object of class '<em>Binding Instance</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Binding Instance</em>'.
+ * @generated
+ */
+ BindingInstance createBindingInstance();
+
+ /**
+ * Returns a new object of class '<em>SAP Instance</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>SAP Instance</em>'.
+ * @generated
+ */
+ SAPInstance createSAPInstance();
+
+ /**
+ * Returns a new object of class '<em>SPP Instance</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>SPP Instance</em>'.
+ * @generated
+ */
+ SPPInstance createSPPInstance();
+
+ /**
+ * Returns a new object of class '<em>Service Impl Instance</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Service Impl Instance</em>'.
+ * @generated
+ */
+ ServiceImplInstance createServiceImplInstance();
+
+ /**
+ * Returns a new object of class '<em>Connection Instance</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Connection Instance</em>'.
+ * @generated
+ */
+ ConnectionInstance createConnectionInstance();
+
+ /**
+ * Returns a new object of class '<em>Active Trigger</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Active Trigger</em>'.
+ * @generated
+ */
+ ActiveTrigger createActiveTrigger();
+
+ /**
+ * Returns a new object of class '<em>Transition Chain</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Transition Chain</em>'.
+ * @generated
+ */
+ TransitionChain createTransitionChain();
+
+ /**
+ * Returns a new object of class '<em>Expanded Actor Class</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Expanded Actor Class</em>'.
+ * @generated
+ */
+ ExpandedActorClass createExpandedActorClass();
+
+ /**
+ * Returns a new object of class '<em>Expanded Refined State</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Expanded Refined State</em>'.
+ * @generated
+ */
+ ExpandedRefinedState createExpandedRefinedState();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ ETriceGenPackage getETriceGenPackage();
+
+} //ETriceGenFactory
diff --git a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/ETriceGenPackage.java b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/ETriceGenPackage.java
index 3e1fe620a..09596ba98 100644
--- a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/ETriceGenPackage.java
+++ b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/ETriceGenPackage.java
@@ -1,3194 +1,3194 @@
-/*******************************************************************************
- * Copyright (c) 2010 protos software gmbh (http://www.protos.de).
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * CONTRIBUTORS:
- * Thomas Schuetz and Henrik Rentz-Reichert (initial contribution)
- *
- *******************************************************************************/
-package org.eclipse.etrice.core.genmodel.etricegen;
-
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EEnum;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EReference;
-import org.eclipse.etrice.core.room.RoomPackage;
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Package</b> for the model.
- * It contains accessors for the meta objects to represent
- * <ul>
- * <li>each class,</li>
- * <li>each feature of each class,</li>
- * <li>each enum,</li>
- * <li>and each data type</li>
- * </ul>
- * <!-- end-user-doc -->
- * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenFactory
- * @model kind="package"
- * @generated
- */
-public interface ETriceGenPackage extends EPackage {
- /**
- * The package name.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- String eNAME = "etricegen";
-
- /**
- * The package namespace URI.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- String eNS_URI = "http://www.eclipse.org/etrice/generator";
-
- /**
- * The package namespace name.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- String eNS_PREFIX = "etricegen";
-
- /**
- * The singleton instance of the package.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- ETriceGenPackage eINSTANCE = org.eclipse.etrice.core.genmodel.etricegen.impl.ETriceGenPackageImpl.init();
-
- /**
- * The meta object id for the '{@link org.eclipse.etrice.core.genmodel.etricegen.impl.RootImpl <em>Root</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.etrice.core.genmodel.etricegen.impl.RootImpl
- * @see org.eclipse.etrice.core.genmodel.etricegen.impl.ETriceGenPackageImpl#getRoot()
- * @generated
- */
- int ROOT = 0;
-
- /**
- * The feature id for the '<em><b>Library</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ROOT__LIBRARY = 0;
-
- /**
- * The feature id for the '<em><b>System Instances</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ROOT__SYSTEM_INSTANCES = 1;
-
- /**
- * The feature id for the '<em><b>Own Sub System Instances</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ROOT__OWN_SUB_SYSTEM_INSTANCES = 2;
-
- /**
- * The feature id for the '<em><b>Sub System Instances</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ROOT__SUB_SYSTEM_INSTANCES = 3;
-
- /**
- * The feature id for the '<em><b>Models</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ROOT__MODELS = 4;
-
- /**
- * The feature id for the '<em><b>Xp Actor Classes</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ROOT__XP_ACTOR_CLASSES = 5;
-
- /**
- * The feature id for the '<em><b>Used Data Classes</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ROOT__USED_DATA_CLASSES = 6;
-
- /**
- * The feature id for the '<em><b>Used Protocol Classes</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ROOT__USED_PROTOCOL_CLASSES = 7;
-
- /**
- * The feature id for the '<em><b>Used Actor Classes</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ROOT__USED_ACTOR_CLASSES = 8;
-
- /**
- * The feature id for the '<em><b>Used Room Models</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ROOT__USED_ROOM_MODELS = 9;
-
- /**
- * The feature id for the '<em><b>Sub System Classes</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ROOT__SUB_SYSTEM_CLASSES = 10;
-
- /**
- * The number of structural features of the '<em>Root</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ROOT_FEATURE_COUNT = 11;
-
- /**
- * The meta object id for the '{@link org.eclipse.etrice.core.genmodel.etricegen.impl.InstanceBaseImpl <em>Instance Base</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.etrice.core.genmodel.etricegen.impl.InstanceBaseImpl
- * @see org.eclipse.etrice.core.genmodel.etricegen.impl.ETriceGenPackageImpl#getInstanceBase()
- * @generated
- */
- int INSTANCE_BASE = 1;
-
- /**
- * The feature id for the '<em><b>Name</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int INSTANCE_BASE__NAME = 0;
-
- /**
- * The feature id for the '<em><b>Path</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int INSTANCE_BASE__PATH = 1;
-
- /**
- * The feature id for the '<em><b>Obj Id</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int INSTANCE_BASE__OBJ_ID = 2;
-
- /**
- * The feature id for the '<em><b>Thread Id</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int INSTANCE_BASE__THREAD_ID = 3;
-
- /**
- * The feature id for the '<em><b>NObj IDs</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int INSTANCE_BASE__NOBJ_IDS = 4;
-
- /**
- * The number of structural features of the '<em>Instance Base</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int INSTANCE_BASE_FEATURE_COUNT = 5;
-
- /**
- * The meta object id for the '{@link org.eclipse.etrice.core.genmodel.etricegen.impl.StructureInstanceImpl <em>Structure Instance</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.etrice.core.genmodel.etricegen.impl.StructureInstanceImpl
- * @see org.eclipse.etrice.core.genmodel.etricegen.impl.ETriceGenPackageImpl#getStructureInstance()
- * @generated
- */
- int STRUCTURE_INSTANCE = 2;
-
- /**
- * The feature id for the '<em><b>Name</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int STRUCTURE_INSTANCE__NAME = INSTANCE_BASE__NAME;
-
- /**
- * The feature id for the '<em><b>Path</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int STRUCTURE_INSTANCE__PATH = INSTANCE_BASE__PATH;
-
- /**
- * The feature id for the '<em><b>Obj Id</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int STRUCTURE_INSTANCE__OBJ_ID = INSTANCE_BASE__OBJ_ID;
-
- /**
- * The feature id for the '<em><b>Thread Id</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int STRUCTURE_INSTANCE__THREAD_ID = INSTANCE_BASE__THREAD_ID;
-
- /**
- * The feature id for the '<em><b>NObj IDs</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int STRUCTURE_INSTANCE__NOBJ_IDS = INSTANCE_BASE__NOBJ_IDS;
-
- /**
- * The feature id for the '<em><b>Instances</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int STRUCTURE_INSTANCE__INSTANCES = INSTANCE_BASE_FEATURE_COUNT + 0;
-
- /**
- * The feature id for the '<em><b>Ports</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int STRUCTURE_INSTANCE__PORTS = INSTANCE_BASE_FEATURE_COUNT + 1;
-
- /**
- * The feature id for the '<em><b>Saps</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int STRUCTURE_INSTANCE__SAPS = INSTANCE_BASE_FEATURE_COUNT + 2;
-
- /**
- * The feature id for the '<em><b>Spps</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int STRUCTURE_INSTANCE__SPPS = INSTANCE_BASE_FEATURE_COUNT + 3;
-
- /**
- * The feature id for the '<em><b>Services</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int STRUCTURE_INSTANCE__SERVICES = INSTANCE_BASE_FEATURE_COUNT + 4;
-
- /**
- * The feature id for the '<em><b>Bindings</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int STRUCTURE_INSTANCE__BINDINGS = INSTANCE_BASE_FEATURE_COUNT + 5;
-
- /**
- * The feature id for the '<em><b>Connections</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int STRUCTURE_INSTANCE__CONNECTIONS = INSTANCE_BASE_FEATURE_COUNT + 6;
-
- /**
- * The feature id for the '<em><b>All Contained Instances</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int STRUCTURE_INSTANCE__ALL_CONTAINED_INSTANCES = INSTANCE_BASE_FEATURE_COUNT + 7;
-
- /**
- * The feature id for the '<em><b>Ordered If Item Instances</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int STRUCTURE_INSTANCE__ORDERED_IF_ITEM_INSTANCES = INSTANCE_BASE_FEATURE_COUNT + 8;
-
- /**
- * The number of structural features of the '<em>Structure Instance</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int STRUCTURE_INSTANCE_FEATURE_COUNT = INSTANCE_BASE_FEATURE_COUNT + 9;
-
- /**
- * The meta object id for the '{@link org.eclipse.etrice.core.genmodel.etricegen.impl.SystemInstanceImpl <em>System Instance</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.etrice.core.genmodel.etricegen.impl.SystemInstanceImpl
- * @see org.eclipse.etrice.core.genmodel.etricegen.impl.ETriceGenPackageImpl#getSystemInstance()
- * @generated
- */
- int SYSTEM_INSTANCE = 3;
-
- /**
- * The feature id for the '<em><b>Name</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int SYSTEM_INSTANCE__NAME = INSTANCE_BASE__NAME;
-
- /**
- * The feature id for the '<em><b>Path</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int SYSTEM_INSTANCE__PATH = INSTANCE_BASE__PATH;
-
- /**
- * The feature id for the '<em><b>Obj Id</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int SYSTEM_INSTANCE__OBJ_ID = INSTANCE_BASE__OBJ_ID;
-
- /**
- * The feature id for the '<em><b>Thread Id</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int SYSTEM_INSTANCE__THREAD_ID = INSTANCE_BASE__THREAD_ID;
-
- /**
- * The feature id for the '<em><b>NObj IDs</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int SYSTEM_INSTANCE__NOBJ_IDS = INSTANCE_BASE__NOBJ_IDS;
-
- /**
- * The feature id for the '<em><b>Instances</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int SYSTEM_INSTANCE__INSTANCES = INSTANCE_BASE_FEATURE_COUNT + 0;
-
- /**
- * The feature id for the '<em><b>Logical System</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int SYSTEM_INSTANCE__LOGICAL_SYSTEM = INSTANCE_BASE_FEATURE_COUNT + 1;
-
- /**
- * The number of structural features of the '<em>System Instance</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int SYSTEM_INSTANCE_FEATURE_COUNT = INSTANCE_BASE_FEATURE_COUNT + 2;
-
- /**
- * The meta object id for the '{@link org.eclipse.etrice.core.genmodel.etricegen.impl.SubSystemInstanceImpl <em>Sub System Instance</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.etrice.core.genmodel.etricegen.impl.SubSystemInstanceImpl
- * @see org.eclipse.etrice.core.genmodel.etricegen.impl.ETriceGenPackageImpl#getSubSystemInstance()
- * @generated
- */
- int SUB_SYSTEM_INSTANCE = 4;
-
- /**
- * The feature id for the '<em><b>Name</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int SUB_SYSTEM_INSTANCE__NAME = STRUCTURE_INSTANCE__NAME;
-
- /**
- * The feature id for the '<em><b>Path</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int SUB_SYSTEM_INSTANCE__PATH = STRUCTURE_INSTANCE__PATH;
-
- /**
- * The feature id for the '<em><b>Obj Id</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int SUB_SYSTEM_INSTANCE__OBJ_ID = STRUCTURE_INSTANCE__OBJ_ID;
-
- /**
- * The feature id for the '<em><b>Thread Id</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int SUB_SYSTEM_INSTANCE__THREAD_ID = STRUCTURE_INSTANCE__THREAD_ID;
-
- /**
- * The feature id for the '<em><b>NObj IDs</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int SUB_SYSTEM_INSTANCE__NOBJ_IDS = STRUCTURE_INSTANCE__NOBJ_IDS;
-
- /**
- * The feature id for the '<em><b>Instances</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int SUB_SYSTEM_INSTANCE__INSTANCES = STRUCTURE_INSTANCE__INSTANCES;
-
- /**
- * The feature id for the '<em><b>Ports</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int SUB_SYSTEM_INSTANCE__PORTS = STRUCTURE_INSTANCE__PORTS;
-
- /**
- * The feature id for the '<em><b>Saps</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int SUB_SYSTEM_INSTANCE__SAPS = STRUCTURE_INSTANCE__SAPS;
-
- /**
- * The feature id for the '<em><b>Spps</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int SUB_SYSTEM_INSTANCE__SPPS = STRUCTURE_INSTANCE__SPPS;
-
- /**
- * The feature id for the '<em><b>Services</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int SUB_SYSTEM_INSTANCE__SERVICES = STRUCTURE_INSTANCE__SERVICES;
-
- /**
- * The feature id for the '<em><b>Bindings</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int SUB_SYSTEM_INSTANCE__BINDINGS = STRUCTURE_INSTANCE__BINDINGS;
-
- /**
- * The feature id for the '<em><b>Connections</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int SUB_SYSTEM_INSTANCE__CONNECTIONS = STRUCTURE_INSTANCE__CONNECTIONS;
-
- /**
- * The feature id for the '<em><b>All Contained Instances</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int SUB_SYSTEM_INSTANCE__ALL_CONTAINED_INSTANCES = STRUCTURE_INSTANCE__ALL_CONTAINED_INSTANCES;
-
- /**
- * The feature id for the '<em><b>Ordered If Item Instances</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int SUB_SYSTEM_INSTANCE__ORDERED_IF_ITEM_INSTANCES = STRUCTURE_INSTANCE__ORDERED_IF_ITEM_INSTANCES;
-
- /**
- * The feature id for the '<em><b>Sub System Class</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int SUB_SYSTEM_INSTANCE__SUB_SYSTEM_CLASS = STRUCTURE_INSTANCE_FEATURE_COUNT + 0;
-
- /**
- * The feature id for the '<em><b>Max Obj Id</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int SUB_SYSTEM_INSTANCE__MAX_OBJ_ID = STRUCTURE_INSTANCE_FEATURE_COUNT + 1;
-
- /**
- * The number of structural features of the '<em>Sub System Instance</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int SUB_SYSTEM_INSTANCE_FEATURE_COUNT = STRUCTURE_INSTANCE_FEATURE_COUNT + 2;
-
- /**
- * The meta object id for the '{@link org.eclipse.etrice.core.genmodel.etricegen.impl.ActorInstanceImpl <em>Actor Instance</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.etrice.core.genmodel.etricegen.impl.ActorInstanceImpl
- * @see org.eclipse.etrice.core.genmodel.etricegen.impl.ETriceGenPackageImpl#getActorInstance()
- * @generated
- */
- int ACTOR_INSTANCE = 5;
-
- /**
- * The feature id for the '<em><b>Name</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ACTOR_INSTANCE__NAME = STRUCTURE_INSTANCE__NAME;
-
- /**
- * The feature id for the '<em><b>Path</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ACTOR_INSTANCE__PATH = STRUCTURE_INSTANCE__PATH;
-
- /**
- * The feature id for the '<em><b>Obj Id</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ACTOR_INSTANCE__OBJ_ID = STRUCTURE_INSTANCE__OBJ_ID;
-
- /**
- * The feature id for the '<em><b>Thread Id</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ACTOR_INSTANCE__THREAD_ID = STRUCTURE_INSTANCE__THREAD_ID;
-
- /**
- * The feature id for the '<em><b>NObj IDs</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ACTOR_INSTANCE__NOBJ_IDS = STRUCTURE_INSTANCE__NOBJ_IDS;
-
- /**
- * The feature id for the '<em><b>Instances</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ACTOR_INSTANCE__INSTANCES = STRUCTURE_INSTANCE__INSTANCES;
-
- /**
- * The feature id for the '<em><b>Ports</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ACTOR_INSTANCE__PORTS = STRUCTURE_INSTANCE__PORTS;
-
- /**
- * The feature id for the '<em><b>Saps</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ACTOR_INSTANCE__SAPS = STRUCTURE_INSTANCE__SAPS;
-
- /**
- * The feature id for the '<em><b>Spps</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ACTOR_INSTANCE__SPPS = STRUCTURE_INSTANCE__SPPS;
-
- /**
- * The feature id for the '<em><b>Services</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ACTOR_INSTANCE__SERVICES = STRUCTURE_INSTANCE__SERVICES;
-
- /**
- * The feature id for the '<em><b>Bindings</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ACTOR_INSTANCE__BINDINGS = STRUCTURE_INSTANCE__BINDINGS;
-
- /**
- * The feature id for the '<em><b>Connections</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ACTOR_INSTANCE__CONNECTIONS = STRUCTURE_INSTANCE__CONNECTIONS;
-
- /**
- * The feature id for the '<em><b>All Contained Instances</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ACTOR_INSTANCE__ALL_CONTAINED_INSTANCES = STRUCTURE_INSTANCE__ALL_CONTAINED_INSTANCES;
-
- /**
- * The feature id for the '<em><b>Ordered If Item Instances</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ACTOR_INSTANCE__ORDERED_IF_ITEM_INSTANCES = STRUCTURE_INSTANCE__ORDERED_IF_ITEM_INSTANCES;
-
- /**
- * The feature id for the '<em><b>Actor Class</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ACTOR_INSTANCE__ACTOR_CLASS = STRUCTURE_INSTANCE_FEATURE_COUNT + 0;
-
- /**
- * The feature id for the '<em><b>Repl Idx</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ACTOR_INSTANCE__REPL_IDX = STRUCTURE_INSTANCE_FEATURE_COUNT + 1;
-
- /**
- * The feature id for the '<em><b>Unindexed Name</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ACTOR_INSTANCE__UNINDEXED_NAME = STRUCTURE_INSTANCE_FEATURE_COUNT + 2;
-
- /**
- * The number of structural features of the '<em>Actor Instance</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ACTOR_INSTANCE_FEATURE_COUNT = STRUCTURE_INSTANCE_FEATURE_COUNT + 3;
-
- /**
- * The meta object id for the '{@link org.eclipse.etrice.core.genmodel.etricegen.impl.InterfaceItemInstanceImpl <em>Interface Item Instance</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.etrice.core.genmodel.etricegen.impl.InterfaceItemInstanceImpl
- * @see org.eclipse.etrice.core.genmodel.etricegen.impl.ETriceGenPackageImpl#getInterfaceItemInstance()
- * @generated
- */
- int INTERFACE_ITEM_INSTANCE = 6;
-
- /**
- * The feature id for the '<em><b>Name</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int INTERFACE_ITEM_INSTANCE__NAME = INSTANCE_BASE__NAME;
-
- /**
- * The feature id for the '<em><b>Path</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int INTERFACE_ITEM_INSTANCE__PATH = INSTANCE_BASE__PATH;
-
- /**
- * The feature id for the '<em><b>Obj Id</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int INTERFACE_ITEM_INSTANCE__OBJ_ID = INSTANCE_BASE__OBJ_ID;
-
- /**
- * The feature id for the '<em><b>Thread Id</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int INTERFACE_ITEM_INSTANCE__THREAD_ID = INSTANCE_BASE__THREAD_ID;
-
- /**
- * The feature id for the '<em><b>NObj IDs</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int INTERFACE_ITEM_INSTANCE__NOBJ_IDS = INSTANCE_BASE__NOBJ_IDS;
-
- /**
- * The feature id for the '<em><b>Protocol</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int INTERFACE_ITEM_INSTANCE__PROTOCOL = INSTANCE_BASE_FEATURE_COUNT + 0;
-
- /**
- * The feature id for the '<em><b>Peers</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int INTERFACE_ITEM_INSTANCE__PEERS = INSTANCE_BASE_FEATURE_COUNT + 1;
-
- /**
- * The number of structural features of the '<em>Interface Item Instance</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int INTERFACE_ITEM_INSTANCE_FEATURE_COUNT = INSTANCE_BASE_FEATURE_COUNT + 2;
-
- /**
- * The meta object id for the '{@link org.eclipse.etrice.core.genmodel.etricegen.impl.PortInstanceImpl <em>Port Instance</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.etrice.core.genmodel.etricegen.impl.PortInstanceImpl
- * @see org.eclipse.etrice.core.genmodel.etricegen.impl.ETriceGenPackageImpl#getPortInstance()
- * @generated
- */
- int PORT_INSTANCE = 7;
-
- /**
- * The feature id for the '<em><b>Name</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PORT_INSTANCE__NAME = INTERFACE_ITEM_INSTANCE__NAME;
-
- /**
- * The feature id for the '<em><b>Path</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PORT_INSTANCE__PATH = INTERFACE_ITEM_INSTANCE__PATH;
-
- /**
- * The feature id for the '<em><b>Obj Id</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PORT_INSTANCE__OBJ_ID = INTERFACE_ITEM_INSTANCE__OBJ_ID;
-
- /**
- * The feature id for the '<em><b>Thread Id</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PORT_INSTANCE__THREAD_ID = INTERFACE_ITEM_INSTANCE__THREAD_ID;
-
- /**
- * The feature id for the '<em><b>NObj IDs</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PORT_INSTANCE__NOBJ_IDS = INTERFACE_ITEM_INSTANCE__NOBJ_IDS;
-
- /**
- * The feature id for the '<em><b>Protocol</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PORT_INSTANCE__PROTOCOL = INTERFACE_ITEM_INSTANCE__PROTOCOL;
-
- /**
- * The feature id for the '<em><b>Peers</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PORT_INSTANCE__PEERS = INTERFACE_ITEM_INSTANCE__PEERS;
-
- /**
- * The feature id for the '<em><b>Port</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PORT_INSTANCE__PORT = INTERFACE_ITEM_INSTANCE_FEATURE_COUNT + 0;
-
- /**
- * The feature id for the '<em><b>Kind</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PORT_INSTANCE__KIND = INTERFACE_ITEM_INSTANCE_FEATURE_COUNT + 1;
-
- /**
- * The feature id for the '<em><b>Bindings</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PORT_INSTANCE__BINDINGS = INTERFACE_ITEM_INSTANCE_FEATURE_COUNT + 2;
-
- /**
- * The number of structural features of the '<em>Port Instance</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PORT_INSTANCE_FEATURE_COUNT = INTERFACE_ITEM_INSTANCE_FEATURE_COUNT + 3;
-
- /**
- * The meta object id for the '{@link org.eclipse.etrice.core.genmodel.etricegen.impl.BindingInstanceImpl <em>Binding Instance</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.etrice.core.genmodel.etricegen.impl.BindingInstanceImpl
- * @see org.eclipse.etrice.core.genmodel.etricegen.impl.ETriceGenPackageImpl#getBindingInstance()
- * @generated
- */
- int BINDING_INSTANCE = 8;
-
- /**
- * The feature id for the '<em><b>Ports</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int BINDING_INSTANCE__PORTS = 0;
-
- /**
- * The feature id for the '<em><b>Binding</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int BINDING_INSTANCE__BINDING = 1;
-
- /**
- * The number of structural features of the '<em>Binding Instance</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int BINDING_INSTANCE_FEATURE_COUNT = 2;
-
- /**
- * The meta object id for the '{@link org.eclipse.etrice.core.genmodel.etricegen.impl.SAPInstanceImpl <em>SAP Instance</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.etrice.core.genmodel.etricegen.impl.SAPInstanceImpl
- * @see org.eclipse.etrice.core.genmodel.etricegen.impl.ETriceGenPackageImpl#getSAPInstance()
- * @generated
- */
- int SAP_INSTANCE = 9;
-
- /**
- * The feature id for the '<em><b>Name</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int SAP_INSTANCE__NAME = INTERFACE_ITEM_INSTANCE__NAME;
-
- /**
- * The feature id for the '<em><b>Path</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int SAP_INSTANCE__PATH = INTERFACE_ITEM_INSTANCE__PATH;
-
- /**
- * The feature id for the '<em><b>Obj Id</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int SAP_INSTANCE__OBJ_ID = INTERFACE_ITEM_INSTANCE__OBJ_ID;
-
- /**
- * The feature id for the '<em><b>Thread Id</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int SAP_INSTANCE__THREAD_ID = INTERFACE_ITEM_INSTANCE__THREAD_ID;
-
- /**
- * The feature id for the '<em><b>NObj IDs</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int SAP_INSTANCE__NOBJ_IDS = INTERFACE_ITEM_INSTANCE__NOBJ_IDS;
-
- /**
- * The feature id for the '<em><b>Protocol</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int SAP_INSTANCE__PROTOCOL = INTERFACE_ITEM_INSTANCE__PROTOCOL;
-
- /**
- * The feature id for the '<em><b>Peers</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int SAP_INSTANCE__PEERS = INTERFACE_ITEM_INSTANCE__PEERS;
-
- /**
- * The feature id for the '<em><b>Sap</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int SAP_INSTANCE__SAP = INTERFACE_ITEM_INSTANCE_FEATURE_COUNT + 0;
-
- /**
- * The number of structural features of the '<em>SAP Instance</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int SAP_INSTANCE_FEATURE_COUNT = INTERFACE_ITEM_INSTANCE_FEATURE_COUNT + 1;
-
- /**
- * The meta object id for the '{@link org.eclipse.etrice.core.genmodel.etricegen.impl.SPPInstanceImpl <em>SPP Instance</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.etrice.core.genmodel.etricegen.impl.SPPInstanceImpl
- * @see org.eclipse.etrice.core.genmodel.etricegen.impl.ETriceGenPackageImpl#getSPPInstance()
- * @generated
- */
- int SPP_INSTANCE = 10;
-
- /**
- * The feature id for the '<em><b>Name</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int SPP_INSTANCE__NAME = INSTANCE_BASE__NAME;
-
- /**
- * The feature id for the '<em><b>Path</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int SPP_INSTANCE__PATH = INSTANCE_BASE__PATH;
-
- /**
- * The feature id for the '<em><b>Obj Id</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int SPP_INSTANCE__OBJ_ID = INSTANCE_BASE__OBJ_ID;
-
- /**
- * The feature id for the '<em><b>Thread Id</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int SPP_INSTANCE__THREAD_ID = INSTANCE_BASE__THREAD_ID;
-
- /**
- * The feature id for the '<em><b>NObj IDs</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int SPP_INSTANCE__NOBJ_IDS = INSTANCE_BASE__NOBJ_IDS;
-
- /**
- * The feature id for the '<em><b>Spp</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int SPP_INSTANCE__SPP = INSTANCE_BASE_FEATURE_COUNT + 0;
-
- /**
- * The feature id for the '<em><b>Incoming</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int SPP_INSTANCE__INCOMING = INSTANCE_BASE_FEATURE_COUNT + 1;
-
- /**
- * The feature id for the '<em><b>Outgoing</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int SPP_INSTANCE__OUTGOING = INSTANCE_BASE_FEATURE_COUNT + 2;
-
- /**
- * The number of structural features of the '<em>SPP Instance</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int SPP_INSTANCE_FEATURE_COUNT = INSTANCE_BASE_FEATURE_COUNT + 3;
-
- /**
- * The meta object id for the '{@link org.eclipse.etrice.core.genmodel.etricegen.impl.ServiceImplInstanceImpl <em>Service Impl Instance</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.etrice.core.genmodel.etricegen.impl.ServiceImplInstanceImpl
- * @see org.eclipse.etrice.core.genmodel.etricegen.impl.ETriceGenPackageImpl#getServiceImplInstance()
- * @generated
- */
- int SERVICE_IMPL_INSTANCE = 11;
-
- /**
- * The feature id for the '<em><b>Name</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int SERVICE_IMPL_INSTANCE__NAME = INTERFACE_ITEM_INSTANCE__NAME;
-
- /**
- * The feature id for the '<em><b>Path</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int SERVICE_IMPL_INSTANCE__PATH = INTERFACE_ITEM_INSTANCE__PATH;
-
- /**
- * The feature id for the '<em><b>Obj Id</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int SERVICE_IMPL_INSTANCE__OBJ_ID = INTERFACE_ITEM_INSTANCE__OBJ_ID;
-
- /**
- * The feature id for the '<em><b>Thread Id</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int SERVICE_IMPL_INSTANCE__THREAD_ID = INTERFACE_ITEM_INSTANCE__THREAD_ID;
-
- /**
- * The feature id for the '<em><b>NObj IDs</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int SERVICE_IMPL_INSTANCE__NOBJ_IDS = INTERFACE_ITEM_INSTANCE__NOBJ_IDS;
-
- /**
- * The feature id for the '<em><b>Protocol</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int SERVICE_IMPL_INSTANCE__PROTOCOL = INTERFACE_ITEM_INSTANCE__PROTOCOL;
-
- /**
- * The feature id for the '<em><b>Peers</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int SERVICE_IMPL_INSTANCE__PEERS = INTERFACE_ITEM_INSTANCE__PEERS;
-
- /**
- * The feature id for the '<em><b>Svc Impl</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int SERVICE_IMPL_INSTANCE__SVC_IMPL = INTERFACE_ITEM_INSTANCE_FEATURE_COUNT + 0;
-
- /**
- * The number of structural features of the '<em>Service Impl Instance</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int SERVICE_IMPL_INSTANCE_FEATURE_COUNT = INTERFACE_ITEM_INSTANCE_FEATURE_COUNT + 1;
-
- /**
- * The meta object id for the '{@link org.eclipse.etrice.core.genmodel.etricegen.impl.ConnectionInstanceImpl <em>Connection Instance</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.etrice.core.genmodel.etricegen.impl.ConnectionInstanceImpl
- * @see org.eclipse.etrice.core.genmodel.etricegen.impl.ETriceGenPackageImpl#getConnectionInstance()
- * @generated
- */
- int CONNECTION_INSTANCE = 12;
-
- /**
- * The feature id for the '<em><b>From AI</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int CONNECTION_INSTANCE__FROM_AI = 0;
-
- /**
- * The feature id for the '<em><b>From SPP</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int CONNECTION_INSTANCE__FROM_SPP = 1;
-
- /**
- * The feature id for the '<em><b>To SPP</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int CONNECTION_INSTANCE__TO_SPP = 2;
-
- /**
- * The feature id for the '<em><b>Connection</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int CONNECTION_INSTANCE__CONNECTION = 3;
-
- /**
- * The number of structural features of the '<em>Connection Instance</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int CONNECTION_INSTANCE_FEATURE_COUNT = 4;
-
- /**
- * The meta object id for the '{@link org.eclipse.etrice.core.genmodel.etricegen.impl.ActiveTriggerImpl <em>Active Trigger</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.etrice.core.genmodel.etricegen.impl.ActiveTriggerImpl
- * @see org.eclipse.etrice.core.genmodel.etricegen.impl.ETriceGenPackageImpl#getActiveTrigger()
- * @generated
- */
- int ACTIVE_TRIGGER = 13;
-
- /**
- * The feature id for the '<em><b>Msg</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ACTIVE_TRIGGER__MSG = 0;
-
- /**
- * The feature id for the '<em><b>Ifitem</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ACTIVE_TRIGGER__IFITEM = 1;
-
- /**
- * The feature id for the '<em><b>Trigger</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ACTIVE_TRIGGER__TRIGGER = 2;
-
- /**
- * The feature id for the '<em><b>Transitions</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ACTIVE_TRIGGER__TRANSITIONS = 3;
-
- /**
- * The number of structural features of the '<em>Active Trigger</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ACTIVE_TRIGGER_FEATURE_COUNT = 4;
-
- /**
- * The meta object id for the '{@link org.eclipse.etrice.core.genmodel.etricegen.impl.TransitionChainImpl <em>Transition Chain</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.etrice.core.genmodel.etricegen.impl.TransitionChainImpl
- * @see org.eclipse.etrice.core.genmodel.etricegen.impl.ETriceGenPackageImpl#getTransitionChain()
- * @generated
- */
- int TRANSITION_CHAIN = 14;
-
- /**
- * The feature id for the '<em><b>Transition</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int TRANSITION_CHAIN__TRANSITION = 0;
-
- /**
- * The feature id for the '<em><b>Data</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int TRANSITION_CHAIN__DATA = 1;
-
- /**
- * The number of structural features of the '<em>Transition Chain</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int TRANSITION_CHAIN_FEATURE_COUNT = 2;
-
- /**
- * The meta object id for the '{@link ITransitionChainVisitor <em>ITransition Chain Visitor</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see ITransitionChainVisitor
- * @see org.eclipse.etrice.core.genmodel.etricegen.impl.ETriceGenPackageImpl#getITransitionChainVisitor()
- * @generated
- */
- int ITRANSITION_CHAIN_VISITOR = 15;
-
- /**
- * The number of structural features of the '<em>ITransition Chain Visitor</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ITRANSITION_CHAIN_VISITOR_FEATURE_COUNT = 0;
-
- /**
- * The meta object id for the '{@link IDiagnostician <em>IDiagnostician</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see IDiagnostician
- * @see org.eclipse.etrice.core.genmodel.etricegen.impl.ETriceGenPackageImpl#getIDiagnostician()
- * @generated
- */
- int IDIAGNOSTICIAN = 16;
-
- /**
- * The number of structural features of the '<em>IDiagnostician</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int IDIAGNOSTICIAN_FEATURE_COUNT = 0;
-
- /**
- * The meta object id for the '{@link org.eclipse.etrice.core.genmodel.etricegen.impl.ExpandedActorClassImpl <em>Expanded Actor Class</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.etrice.core.genmodel.etricegen.impl.ExpandedActorClassImpl
- * @see org.eclipse.etrice.core.genmodel.etricegen.impl.ETriceGenPackageImpl#getExpandedActorClass()
- * @generated
- */
- int EXPANDED_ACTOR_CLASS = 17;
-
- /**
- * The feature id for the '<em><b>Actor Class</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int EXPANDED_ACTOR_CLASS__ACTOR_CLASS = 0;
-
- /**
- * The feature id for the '<em><b>State Machine</b></em>' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int EXPANDED_ACTOR_CLASS__STATE_MACHINE = 1;
-
- /**
- * The number of structural features of the '<em>Expanded Actor Class</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int EXPANDED_ACTOR_CLASS_FEATURE_COUNT = 2;
-
- /**
- * The meta object id for the '{@link org.eclipse.etrice.core.genmodel.etricegen.impl.ExpandedRefinedStateImpl <em>Expanded Refined State</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.etrice.core.genmodel.etricegen.impl.ExpandedRefinedStateImpl
- * @see org.eclipse.etrice.core.genmodel.etricegen.impl.ETriceGenPackageImpl#getExpandedRefinedState()
- * @generated
- */
- int EXPANDED_REFINED_STATE = 18;
-
- /**
- * The feature id for the '<em><b>Docu</b></em>' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int EXPANDED_REFINED_STATE__DOCU = RoomPackage.SIMPLE_STATE__DOCU;
-
- /**
- * The feature id for the '<em><b>Entry Code</b></em>' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int EXPANDED_REFINED_STATE__ENTRY_CODE = RoomPackage.SIMPLE_STATE__ENTRY_CODE;
-
- /**
- * The feature id for the '<em><b>Exit Code</b></em>' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int EXPANDED_REFINED_STATE__EXIT_CODE = RoomPackage.SIMPLE_STATE__EXIT_CODE;
-
- /**
- * The feature id for the '<em><b>Do Code</b></em>' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int EXPANDED_REFINED_STATE__DO_CODE = RoomPackage.SIMPLE_STATE__DO_CODE;
-
- /**
- * The feature id for the '<em><b>Subgraph</b></em>' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int EXPANDED_REFINED_STATE__SUBGRAPH = RoomPackage.SIMPLE_STATE__SUBGRAPH;
-
- /**
- * The feature id for the '<em><b>Name</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int EXPANDED_REFINED_STATE__NAME = RoomPackage.SIMPLE_STATE__NAME;
-
- /**
- * The feature id for the '<em><b>Inherited Entry</b></em>' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int EXPANDED_REFINED_STATE__INHERITED_ENTRY = RoomPackage.SIMPLE_STATE_FEATURE_COUNT + 0;
-
- /**
- * The feature id for the '<em><b>Inherited Exit</b></em>' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int EXPANDED_REFINED_STATE__INHERITED_EXIT = RoomPackage.SIMPLE_STATE_FEATURE_COUNT + 1;
-
- /**
- * The feature id for the '<em><b>Inherited Do</b></em>' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int EXPANDED_REFINED_STATE__INHERITED_DO = RoomPackage.SIMPLE_STATE_FEATURE_COUNT + 2;
-
- /**
- * The number of structural features of the '<em>Expanded Refined State</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int EXPANDED_REFINED_STATE_FEATURE_COUNT = RoomPackage.SIMPLE_STATE_FEATURE_COUNT + 3;
-
- /**
- * The meta object id for the '{@link org.eclipse.etrice.core.genmodel.etricegen.PortKind <em>Port Kind</em>}' enum.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.etrice.core.genmodel.etricegen.PortKind
- * @see org.eclipse.etrice.core.genmodel.etricegen.impl.ETriceGenPackageImpl#getPortKind()
- * @generated
- */
- int PORT_KIND = 19;
-
-
- /**
- * Returns the meta object for class '{@link org.eclipse.etrice.core.genmodel.etricegen.Root <em>Root</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Root</em>'.
- * @see org.eclipse.etrice.core.genmodel.etricegen.Root
- * @generated
- */
- EClass getRoot();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.etrice.core.genmodel.etricegen.Root#isLibrary <em>Library</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Library</em>'.
- * @see org.eclipse.etrice.core.genmodel.etricegen.Root#isLibrary()
- * @see #getRoot()
- * @generated
- */
- EAttribute getRoot_Library();
-
- /**
- * Returns the meta object for the containment reference list '{@link org.eclipse.etrice.core.genmodel.etricegen.Root#getSystemInstances <em>System Instances</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the containment reference list '<em>System Instances</em>'.
- * @see org.eclipse.etrice.core.genmodel.etricegen.Root#getSystemInstances()
- * @see #getRoot()
- * @generated
- */
- EReference getRoot_SystemInstances();
-
- /**
- * Returns the meta object for the containment reference list '{@link org.eclipse.etrice.core.genmodel.etricegen.Root#getOwnSubSystemInstances <em>Own Sub System Instances</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the containment reference list '<em>Own Sub System Instances</em>'.
- * @see org.eclipse.etrice.core.genmodel.etricegen.Root#getOwnSubSystemInstances()
- * @see #getRoot()
- * @generated
- */
- EReference getRoot_OwnSubSystemInstances();
-
- /**
- * Returns the meta object for the reference list '{@link org.eclipse.etrice.core.genmodel.etricegen.Root#getSubSystemInstances <em>Sub System Instances</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference list '<em>Sub System Instances</em>'.
- * @see org.eclipse.etrice.core.genmodel.etricegen.Root#getSubSystemInstances()
- * @see #getRoot()
- * @generated
- */
- EReference getRoot_SubSystemInstances();
-
- /**
- * Returns the meta object for the reference list '{@link org.eclipse.etrice.core.genmodel.etricegen.Root#getModels <em>Models</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference list '<em>Models</em>'.
- * @see org.eclipse.etrice.core.genmodel.etricegen.Root#getModels()
- * @see #getRoot()
- * @generated
- */
- EReference getRoot_Models();
-
- /**
- * Returns the meta object for the containment reference list '{@link org.eclipse.etrice.core.genmodel.etricegen.Root#getXpActorClasses <em>Xp Actor Classes</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the containment reference list '<em>Xp Actor Classes</em>'.
- * @see org.eclipse.etrice.core.genmodel.etricegen.Root#getXpActorClasses()
- * @see #getRoot()
- * @generated
- */
- EReference getRoot_XpActorClasses();
-
- /**
- * Returns the meta object for the reference list '{@link org.eclipse.etrice.core.genmodel.etricegen.Root#getUsedDataClasses <em>Used Data Classes</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference list '<em>Used Data Classes</em>'.
- * @see org.eclipse.etrice.core.genmodel.etricegen.Root#getUsedDataClasses()
- * @see #getRoot()
- * @generated
- */
- EReference getRoot_UsedDataClasses();
-
- /**
- * Returns the meta object for the reference list '{@link org.eclipse.etrice.core.genmodel.etricegen.Root#getUsedProtocolClasses <em>Used Protocol Classes</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference list '<em>Used Protocol Classes</em>'.
- * @see org.eclipse.etrice.core.genmodel.etricegen.Root#getUsedProtocolClasses()
- * @see #getRoot()
- * @generated
- */
- EReference getRoot_UsedProtocolClasses();
-
- /**
- * Returns the meta object for the reference list '{@link org.eclipse.etrice.core.genmodel.etricegen.Root#getUsedActorClasses <em>Used Actor Classes</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference list '<em>Used Actor Classes</em>'.
- * @see org.eclipse.etrice.core.genmodel.etricegen.Root#getUsedActorClasses()
- * @see #getRoot()
- * @generated
- */
- EReference getRoot_UsedActorClasses();
-
- /**
- * Returns the meta object for the reference list '{@link org.eclipse.etrice.core.genmodel.etricegen.Root#getUsedRoomModels <em>Used Room Models</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference list '<em>Used Room Models</em>'.
- * @see org.eclipse.etrice.core.genmodel.etricegen.Root#getUsedRoomModels()
- * @see #getRoot()
- * @generated
- */
- EReference getRoot_UsedRoomModels();
-
- /**
- * Returns the meta object for the reference list '{@link org.eclipse.etrice.core.genmodel.etricegen.Root#getSubSystemClasses <em>Sub System Classes</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference list '<em>Sub System Classes</em>'.
- * @see org.eclipse.etrice.core.genmodel.etricegen.Root#getSubSystemClasses()
- * @see #getRoot()
- * @generated
- */
- EReference getRoot_SubSystemClasses();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.etrice.core.genmodel.etricegen.InstanceBase <em>Instance Base</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Instance Base</em>'.
- * @see org.eclipse.etrice.core.genmodel.etricegen.InstanceBase
- * @generated
- */
- EClass getInstanceBase();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.etrice.core.genmodel.etricegen.InstanceBase#getName <em>Name</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Name</em>'.
- * @see org.eclipse.etrice.core.genmodel.etricegen.InstanceBase#getName()
- * @see #getInstanceBase()
- * @generated
- */
- EAttribute getInstanceBase_Name();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.etrice.core.genmodel.etricegen.InstanceBase#getPath <em>Path</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Path</em>'.
- * @see org.eclipse.etrice.core.genmodel.etricegen.InstanceBase#getPath()
- * @see #getInstanceBase()
- * @generated
- */
- EAttribute getInstanceBase_Path();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.etrice.core.genmodel.etricegen.InstanceBase#getObjId <em>Obj Id</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Obj Id</em>'.
- * @see org.eclipse.etrice.core.genmodel.etricegen.InstanceBase#getObjId()
- * @see #getInstanceBase()
- * @generated
- */
- EAttribute getInstanceBase_ObjId();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.etrice.core.genmodel.etricegen.InstanceBase#getThreadId <em>Thread Id</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Thread Id</em>'.
- * @see org.eclipse.etrice.core.genmodel.etricegen.InstanceBase#getThreadId()
- * @see #getInstanceBase()
- * @generated
- */
- EAttribute getInstanceBase_ThreadId();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.etrice.core.genmodel.etricegen.InstanceBase#getNObjIDs <em>NObj IDs</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>NObj IDs</em>'.
- * @see org.eclipse.etrice.core.genmodel.etricegen.InstanceBase#getNObjIDs()
- * @see #getInstanceBase()
- * @generated
- */
- EAttribute getInstanceBase_NObjIDs();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.etrice.core.genmodel.etricegen.StructureInstance <em>Structure Instance</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Structure Instance</em>'.
- * @see org.eclipse.etrice.core.genmodel.etricegen.StructureInstance
- * @generated
- */
- EClass getStructureInstance();
-
- /**
- * Returns the meta object for the containment reference list '{@link org.eclipse.etrice.core.genmodel.etricegen.StructureInstance#getInstances <em>Instances</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the containment reference list '<em>Instances</em>'.
- * @see org.eclipse.etrice.core.genmodel.etricegen.StructureInstance#getInstances()
- * @see #getStructureInstance()
- * @generated
- */
- EReference getStructureInstance_Instances();
-
- /**
- * Returns the meta object for the containment reference list '{@link org.eclipse.etrice.core.genmodel.etricegen.StructureInstance#getPorts <em>Ports</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the containment reference list '<em>Ports</em>'.
- * @see org.eclipse.etrice.core.genmodel.etricegen.StructureInstance#getPorts()
- * @see #getStructureInstance()
- * @generated
- */
- EReference getStructureInstance_Ports();
-
- /**
- * Returns the meta object for the containment reference list '{@link org.eclipse.etrice.core.genmodel.etricegen.StructureInstance#getSaps <em>Saps</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the containment reference list '<em>Saps</em>'.
- * @see org.eclipse.etrice.core.genmodel.etricegen.StructureInstance#getSaps()
- * @see #getStructureInstance()
- * @generated
- */
- EReference getStructureInstance_Saps();
-
- /**
- * Returns the meta object for the containment reference list '{@link org.eclipse.etrice.core.genmodel.etricegen.StructureInstance#getSpps <em>Spps</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the containment reference list '<em>Spps</em>'.
- * @see org.eclipse.etrice.core.genmodel.etricegen.StructureInstance#getSpps()
- * @see #getStructureInstance()
- * @generated
- */
- EReference getStructureInstance_Spps();
-
- /**
- * Returns the meta object for the containment reference list '{@link org.eclipse.etrice.core.genmodel.etricegen.StructureInstance#getServices <em>Services</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the containment reference list '<em>Services</em>'.
- * @see org.eclipse.etrice.core.genmodel.etricegen.StructureInstance#getServices()
- * @see #getStructureInstance()
- * @generated
- */
- EReference getStructureInstance_Services();
-
- /**
- * Returns the meta object for the containment reference list '{@link org.eclipse.etrice.core.genmodel.etricegen.StructureInstance#getBindings <em>Bindings</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the containment reference list '<em>Bindings</em>'.
- * @see org.eclipse.etrice.core.genmodel.etricegen.StructureInstance#getBindings()
- * @see #getStructureInstance()
- * @generated
- */
- EReference getStructureInstance_Bindings();
-
- /**
- * Returns the meta object for the containment reference list '{@link org.eclipse.etrice.core.genmodel.etricegen.StructureInstance#getConnections <em>Connections</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the containment reference list '<em>Connections</em>'.
- * @see org.eclipse.etrice.core.genmodel.etricegen.StructureInstance#getConnections()
- * @see #getStructureInstance()
- * @generated
- */
- EReference getStructureInstance_Connections();
-
- /**
- * Returns the meta object for the reference list '{@link org.eclipse.etrice.core.genmodel.etricegen.StructureInstance#getAllContainedInstances <em>All Contained Instances</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference list '<em>All Contained Instances</em>'.
- * @see org.eclipse.etrice.core.genmodel.etricegen.StructureInstance#getAllContainedInstances()
- * @see #getStructureInstance()
- * @generated
- */
- EReference getStructureInstance_AllContainedInstances();
-
- /**
- * Returns the meta object for the reference list '{@link org.eclipse.etrice.core.genmodel.etricegen.StructureInstance#getOrderedIfItemInstances <em>Ordered If Item Instances</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference list '<em>Ordered If Item Instances</em>'.
- * @see org.eclipse.etrice.core.genmodel.etricegen.StructureInstance#getOrderedIfItemInstances()
- * @see #getStructureInstance()
- * @generated
- */
- EReference getStructureInstance_OrderedIfItemInstances();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.etrice.core.genmodel.etricegen.SystemInstance <em>System Instance</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>System Instance</em>'.
- * @see org.eclipse.etrice.core.genmodel.etricegen.SystemInstance
- * @generated
- */
- EClass getSystemInstance();
-
- /**
- * Returns the meta object for the containment reference list '{@link org.eclipse.etrice.core.genmodel.etricegen.SystemInstance#getInstances <em>Instances</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the containment reference list '<em>Instances</em>'.
- * @see org.eclipse.etrice.core.genmodel.etricegen.SystemInstance#getInstances()
- * @see #getSystemInstance()
- * @generated
- */
- EReference getSystemInstance_Instances();
-
- /**
- * Returns the meta object for the reference '{@link org.eclipse.etrice.core.genmodel.etricegen.SystemInstance#getLogicalSystem <em>Logical System</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference '<em>Logical System</em>'.
- * @see org.eclipse.etrice.core.genmodel.etricegen.SystemInstance#getLogicalSystem()
- * @see #getSystemInstance()
- * @generated
- */
- EReference getSystemInstance_LogicalSystem();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.etrice.core.genmodel.etricegen.SubSystemInstance <em>Sub System Instance</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Sub System Instance</em>'.
- * @see org.eclipse.etrice.core.genmodel.etricegen.SubSystemInstance
- * @generated
- */
- EClass getSubSystemInstance();
-
- /**
- * Returns the meta object for the reference '{@link org.eclipse.etrice.core.genmodel.etricegen.SubSystemInstance#getSubSystemClass <em>Sub System Class</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference '<em>Sub System Class</em>'.
- * @see org.eclipse.etrice.core.genmodel.etricegen.SubSystemInstance#getSubSystemClass()
- * @see #getSubSystemInstance()
- * @generated
- */
- EReference getSubSystemInstance_SubSystemClass();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.etrice.core.genmodel.etricegen.SubSystemInstance#getMaxObjId <em>Max Obj Id</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Max Obj Id</em>'.
- * @see org.eclipse.etrice.core.genmodel.etricegen.SubSystemInstance#getMaxObjId()
- * @see #getSubSystemInstance()
- * @generated
- */
- EAttribute getSubSystemInstance_MaxObjId();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.etrice.core.genmodel.etricegen.ActorInstance <em>Actor Instance</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Actor Instance</em>'.
- * @see org.eclipse.etrice.core.genmodel.etricegen.ActorInstance
- * @generated
- */
- EClass getActorInstance();
-
- /**
- * Returns the meta object for the reference '{@link org.eclipse.etrice.core.genmodel.etricegen.ActorInstance#getActorClass <em>Actor Class</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference '<em>Actor Class</em>'.
- * @see org.eclipse.etrice.core.genmodel.etricegen.ActorInstance#getActorClass()
- * @see #getActorInstance()
- * @generated
- */
- EReference getActorInstance_ActorClass();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.etrice.core.genmodel.etricegen.ActorInstance#getReplIdx <em>Repl Idx</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Repl Idx</em>'.
- * @see org.eclipse.etrice.core.genmodel.etricegen.ActorInstance#getReplIdx()
- * @see #getActorInstance()
- * @generated
- */
- EAttribute getActorInstance_ReplIdx();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.etrice.core.genmodel.etricegen.ActorInstance#getUnindexedName <em>Unindexed Name</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Unindexed Name</em>'.
- * @see org.eclipse.etrice.core.genmodel.etricegen.ActorInstance#getUnindexedName()
- * @see #getActorInstance()
- * @generated
- */
- EAttribute getActorInstance_UnindexedName();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.etrice.core.genmodel.etricegen.InterfaceItemInstance <em>Interface Item Instance</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Interface Item Instance</em>'.
- * @see org.eclipse.etrice.core.genmodel.etricegen.InterfaceItemInstance
- * @generated
- */
- EClass getInterfaceItemInstance();
-
- /**
- * Returns the meta object for the reference '{@link org.eclipse.etrice.core.genmodel.etricegen.InterfaceItemInstance#getProtocol <em>Protocol</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference '<em>Protocol</em>'.
- * @see org.eclipse.etrice.core.genmodel.etricegen.InterfaceItemInstance#getProtocol()
- * @see #getInterfaceItemInstance()
- * @generated
- */
- EReference getInterfaceItemInstance_Protocol();
-
- /**
- * Returns the meta object for the reference list '{@link org.eclipse.etrice.core.genmodel.etricegen.InterfaceItemInstance#getPeers <em>Peers</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference list '<em>Peers</em>'.
- * @see org.eclipse.etrice.core.genmodel.etricegen.InterfaceItemInstance#getPeers()
- * @see #getInterfaceItemInstance()
- * @generated
- */
- EReference getInterfaceItemInstance_Peers();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.etrice.core.genmodel.etricegen.PortInstance <em>Port Instance</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Port Instance</em>'.
- * @see org.eclipse.etrice.core.genmodel.etricegen.PortInstance
- * @generated
- */
- EClass getPortInstance();
-
- /**
- * Returns the meta object for the reference '{@link org.eclipse.etrice.core.genmodel.etricegen.PortInstance#getPort <em>Port</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference '<em>Port</em>'.
- * @see org.eclipse.etrice.core.genmodel.etricegen.PortInstance#getPort()
- * @see #getPortInstance()
- * @generated
- */
- EReference getPortInstance_Port();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.etrice.core.genmodel.etricegen.PortInstance#getKind <em>Kind</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Kind</em>'.
- * @see org.eclipse.etrice.core.genmodel.etricegen.PortInstance#getKind()
- * @see #getPortInstance()
- * @generated
- */
- EAttribute getPortInstance_Kind();
-
- /**
- * Returns the meta object for the reference list '{@link org.eclipse.etrice.core.genmodel.etricegen.PortInstance#getBindings <em>Bindings</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference list '<em>Bindings</em>'.
- * @see org.eclipse.etrice.core.genmodel.etricegen.PortInstance#getBindings()
- * @see #getPortInstance()
- * @generated
- */
- EReference getPortInstance_Bindings();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.etrice.core.genmodel.etricegen.BindingInstance <em>Binding Instance</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Binding Instance</em>'.
- * @see org.eclipse.etrice.core.genmodel.etricegen.BindingInstance
- * @generated
- */
- EClass getBindingInstance();
-
- /**
- * Returns the meta object for the reference list '{@link org.eclipse.etrice.core.genmodel.etricegen.BindingInstance#getPorts <em>Ports</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference list '<em>Ports</em>'.
- * @see org.eclipse.etrice.core.genmodel.etricegen.BindingInstance#getPorts()
- * @see #getBindingInstance()
- * @generated
- */
- EReference getBindingInstance_Ports();
-
- /**
- * Returns the meta object for the reference '{@link org.eclipse.etrice.core.genmodel.etricegen.BindingInstance#getBinding <em>Binding</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference '<em>Binding</em>'.
- * @see org.eclipse.etrice.core.genmodel.etricegen.BindingInstance#getBinding()
- * @see #getBindingInstance()
- * @generated
- */
- EReference getBindingInstance_Binding();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.etrice.core.genmodel.etricegen.SAPInstance <em>SAP Instance</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>SAP Instance</em>'.
- * @see org.eclipse.etrice.core.genmodel.etricegen.SAPInstance
- * @generated
- */
- EClass getSAPInstance();
-
- /**
- * Returns the meta object for the reference '{@link org.eclipse.etrice.core.genmodel.etricegen.SAPInstance#getSap <em>Sap</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference '<em>Sap</em>'.
- * @see org.eclipse.etrice.core.genmodel.etricegen.SAPInstance#getSap()
- * @see #getSAPInstance()
- * @generated
- */
- EReference getSAPInstance_Sap();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.etrice.core.genmodel.etricegen.SPPInstance <em>SPP Instance</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>SPP Instance</em>'.
- * @see org.eclipse.etrice.core.genmodel.etricegen.SPPInstance
- * @generated
- */
- EClass getSPPInstance();
-
- /**
- * Returns the meta object for the reference '{@link org.eclipse.etrice.core.genmodel.etricegen.SPPInstance#getSpp <em>Spp</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference '<em>Spp</em>'.
- * @see org.eclipse.etrice.core.genmodel.etricegen.SPPInstance#getSpp()
- * @see #getSPPInstance()
- * @generated
- */
- EReference getSPPInstance_Spp();
-
- /**
- * Returns the meta object for the reference list '{@link org.eclipse.etrice.core.genmodel.etricegen.SPPInstance#getIncoming <em>Incoming</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference list '<em>Incoming</em>'.
- * @see org.eclipse.etrice.core.genmodel.etricegen.SPPInstance#getIncoming()
- * @see #getSPPInstance()
- * @generated
- */
- EReference getSPPInstance_Incoming();
-
- /**
- * Returns the meta object for the reference '{@link org.eclipse.etrice.core.genmodel.etricegen.SPPInstance#getOutgoing <em>Outgoing</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference '<em>Outgoing</em>'.
- * @see org.eclipse.etrice.core.genmodel.etricegen.SPPInstance#getOutgoing()
- * @see #getSPPInstance()
- * @generated
- */
- EReference getSPPInstance_Outgoing();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.etrice.core.genmodel.etricegen.ServiceImplInstance <em>Service Impl Instance</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Service Impl Instance</em>'.
- * @see org.eclipse.etrice.core.genmodel.etricegen.ServiceImplInstance
- * @generated
- */
- EClass getServiceImplInstance();
-
- /**
- * Returns the meta object for the reference '{@link org.eclipse.etrice.core.genmodel.etricegen.ServiceImplInstance#getSvcImpl <em>Svc Impl</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference '<em>Svc Impl</em>'.
- * @see org.eclipse.etrice.core.genmodel.etricegen.ServiceImplInstance#getSvcImpl()
- * @see #getServiceImplInstance()
- * @generated
- */
- EReference getServiceImplInstance_SvcImpl();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.etrice.core.genmodel.etricegen.ConnectionInstance <em>Connection Instance</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Connection Instance</em>'.
- * @see org.eclipse.etrice.core.genmodel.etricegen.ConnectionInstance
- * @generated
- */
- EClass getConnectionInstance();
-
- /**
- * Returns the meta object for the reference '{@link org.eclipse.etrice.core.genmodel.etricegen.ConnectionInstance#getFromAI <em>From AI</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference '<em>From AI</em>'.
- * @see org.eclipse.etrice.core.genmodel.etricegen.ConnectionInstance#getFromAI()
- * @see #getConnectionInstance()
- * @generated
- */
- EReference getConnectionInstance_FromAI();
-
- /**
- * Returns the meta object for the reference '{@link org.eclipse.etrice.core.genmodel.etricegen.ConnectionInstance#getFromSPP <em>From SPP</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference '<em>From SPP</em>'.
- * @see org.eclipse.etrice.core.genmodel.etricegen.ConnectionInstance#getFromSPP()
- * @see #getConnectionInstance()
- * @generated
- */
- EReference getConnectionInstance_FromSPP();
-
- /**
- * Returns the meta object for the reference '{@link org.eclipse.etrice.core.genmodel.etricegen.ConnectionInstance#getToSPP <em>To SPP</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference '<em>To SPP</em>'.
- * @see org.eclipse.etrice.core.genmodel.etricegen.ConnectionInstance#getToSPP()
- * @see #getConnectionInstance()
- * @generated
- */
- EReference getConnectionInstance_ToSPP();
-
- /**
- * Returns the meta object for the reference '{@link org.eclipse.etrice.core.genmodel.etricegen.ConnectionInstance#getConnection <em>Connection</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference '<em>Connection</em>'.
- * @see org.eclipse.etrice.core.genmodel.etricegen.ConnectionInstance#getConnection()
- * @see #getConnectionInstance()
- * @generated
- */
- EReference getConnectionInstance_Connection();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.etrice.core.genmodel.etricegen.ActiveTrigger <em>Active Trigger</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Active Trigger</em>'.
- * @see org.eclipse.etrice.core.genmodel.etricegen.ActiveTrigger
- * @generated
- */
- EClass getActiveTrigger();
-
- /**
- * Returns the meta object for the reference '{@link org.eclipse.etrice.core.genmodel.etricegen.ActiveTrigger#getMsg <em>Msg</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference '<em>Msg</em>'.
- * @see org.eclipse.etrice.core.genmodel.etricegen.ActiveTrigger#getMsg()
- * @see #getActiveTrigger()
- * @generated
- */
- EReference getActiveTrigger_Msg();
-
- /**
- * Returns the meta object for the reference '{@link org.eclipse.etrice.core.genmodel.etricegen.ActiveTrigger#getIfitem <em>Ifitem</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference '<em>Ifitem</em>'.
- * @see org.eclipse.etrice.core.genmodel.etricegen.ActiveTrigger#getIfitem()
- * @see #getActiveTrigger()
- * @generated
- */
- EReference getActiveTrigger_Ifitem();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.etrice.core.genmodel.etricegen.ActiveTrigger#getTrigger <em>Trigger</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Trigger</em>'.
- * @see org.eclipse.etrice.core.genmodel.etricegen.ActiveTrigger#getTrigger()
- * @see #getActiveTrigger()
- * @generated
- */
- EAttribute getActiveTrigger_Trigger();
-
- /**
- * Returns the meta object for the reference list '{@link org.eclipse.etrice.core.genmodel.etricegen.ActiveTrigger#getTransitions <em>Transitions</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference list '<em>Transitions</em>'.
- * @see org.eclipse.etrice.core.genmodel.etricegen.ActiveTrigger#getTransitions()
- * @see #getActiveTrigger()
- * @generated
- */
- EReference getActiveTrigger_Transitions();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.etrice.core.genmodel.etricegen.TransitionChain <em>Transition Chain</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Transition Chain</em>'.
- * @see org.eclipse.etrice.core.genmodel.etricegen.TransitionChain
- * @generated
- */
- EClass getTransitionChain();
-
- /**
- * Returns the meta object for the reference '{@link org.eclipse.etrice.core.genmodel.etricegen.TransitionChain#getTransition <em>Transition</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference '<em>Transition</em>'.
- * @see org.eclipse.etrice.core.genmodel.etricegen.TransitionChain#getTransition()
- * @see #getTransitionChain()
- * @generated
- */
- EReference getTransitionChain_Transition();
-
- /**
- * Returns the meta object for the reference '{@link org.eclipse.etrice.core.genmodel.etricegen.TransitionChain#getData <em>Data</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference '<em>Data</em>'.
- * @see org.eclipse.etrice.core.genmodel.etricegen.TransitionChain#getData()
- * @see #getTransitionChain()
- * @generated
- */
- EReference getTransitionChain_Data();
-
- /**
- * Returns the meta object for class '{@link ITransitionChainVisitor <em>ITransition Chain Visitor</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>ITransition Chain Visitor</em>'.
- * @see ITransitionChainVisitor
- * @model instanceClass="ITransitionChainVisitor"
- * @generated
- */
- EClass getITransitionChainVisitor();
-
- /**
- * Returns the meta object for class '{@link IDiagnostician <em>IDiagnostician</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>IDiagnostician</em>'.
- * @see IDiagnostician
- * @model instanceClass="IDiagnostician"
- * @generated
- */
- EClass getIDiagnostician();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.etrice.core.genmodel.etricegen.ExpandedActorClass <em>Expanded Actor Class</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Expanded Actor Class</em>'.
- * @see org.eclipse.etrice.core.genmodel.etricegen.ExpandedActorClass
- * @generated
- */
- EClass getExpandedActorClass();
-
- /**
- * Returns the meta object for the reference '{@link org.eclipse.etrice.core.genmodel.etricegen.ExpandedActorClass#getActorClass <em>Actor Class</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference '<em>Actor Class</em>'.
- * @see org.eclipse.etrice.core.genmodel.etricegen.ExpandedActorClass#getActorClass()
- * @see #getExpandedActorClass()
- * @generated
- */
- EReference getExpandedActorClass_ActorClass();
-
- /**
- * Returns the meta object for the containment reference '{@link org.eclipse.etrice.core.genmodel.etricegen.ExpandedActorClass#getStateMachine <em>State Machine</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the containment reference '<em>State Machine</em>'.
- * @see org.eclipse.etrice.core.genmodel.etricegen.ExpandedActorClass#getStateMachine()
- * @see #getExpandedActorClass()
- * @generated
- */
- EReference getExpandedActorClass_StateMachine();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.etrice.core.genmodel.etricegen.ExpandedRefinedState <em>Expanded Refined State</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Expanded Refined State</em>'.
- * @see org.eclipse.etrice.core.genmodel.etricegen.ExpandedRefinedState
- * @generated
- */
- EClass getExpandedRefinedState();
-
- /**
- * Returns the meta object for the containment reference '{@link org.eclipse.etrice.core.genmodel.etricegen.ExpandedRefinedState#getInheritedEntry <em>Inherited Entry</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the containment reference '<em>Inherited Entry</em>'.
- * @see org.eclipse.etrice.core.genmodel.etricegen.ExpandedRefinedState#getInheritedEntry()
- * @see #getExpandedRefinedState()
- * @generated
- */
- EReference getExpandedRefinedState_InheritedEntry();
-
- /**
- * Returns the meta object for the containment reference '{@link org.eclipse.etrice.core.genmodel.etricegen.ExpandedRefinedState#getInheritedExit <em>Inherited Exit</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the containment reference '<em>Inherited Exit</em>'.
- * @see org.eclipse.etrice.core.genmodel.etricegen.ExpandedRefinedState#getInheritedExit()
- * @see #getExpandedRefinedState()
- * @generated
- */
- EReference getExpandedRefinedState_InheritedExit();
-
- /**
- * Returns the meta object for the containment reference '{@link org.eclipse.etrice.core.genmodel.etricegen.ExpandedRefinedState#getInheritedDo <em>Inherited Do</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the containment reference '<em>Inherited Do</em>'.
- * @see org.eclipse.etrice.core.genmodel.etricegen.ExpandedRefinedState#getInheritedDo()
- * @see #getExpandedRefinedState()
- * @generated
- */
- EReference getExpandedRefinedState_InheritedDo();
-
- /**
- * Returns the meta object for enum '{@link org.eclipse.etrice.core.genmodel.etricegen.PortKind <em>Port Kind</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for enum '<em>Port Kind</em>'.
- * @see org.eclipse.etrice.core.genmodel.etricegen.PortKind
- * @generated
- */
- EEnum getPortKind();
-
- /**
- * Returns the factory that creates the instances of the model.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the factory that creates the instances of the model.
- * @generated
- */
- ETriceGenFactory getETriceGenFactory();
-
- /**
- * <!-- begin-user-doc -->
- * Defines literals for the meta objects that represent
- * <ul>
- * <li>each class,</li>
- * <li>each feature of each class,</li>
- * <li>each enum,</li>
- * <li>and each data type</li>
- * </ul>
- * <!-- end-user-doc -->
- * @generated
- */
- interface Literals {
- /**
- * The meta object literal for the '{@link org.eclipse.etrice.core.genmodel.etricegen.impl.RootImpl <em>Root</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.etrice.core.genmodel.etricegen.impl.RootImpl
- * @see org.eclipse.etrice.core.genmodel.etricegen.impl.ETriceGenPackageImpl#getRoot()
- * @generated
- */
- EClass ROOT = eINSTANCE.getRoot();
-
- /**
- * The meta object literal for the '<em><b>Library</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EAttribute ROOT__LIBRARY = eINSTANCE.getRoot_Library();
-
- /**
- * The meta object literal for the '<em><b>System Instances</b></em>' containment reference list feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference ROOT__SYSTEM_INSTANCES = eINSTANCE.getRoot_SystemInstances();
-
- /**
- * The meta object literal for the '<em><b>Own Sub System Instances</b></em>' containment reference list feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference ROOT__OWN_SUB_SYSTEM_INSTANCES = eINSTANCE.getRoot_OwnSubSystemInstances();
-
- /**
- * The meta object literal for the '<em><b>Sub System Instances</b></em>' reference list feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference ROOT__SUB_SYSTEM_INSTANCES = eINSTANCE.getRoot_SubSystemInstances();
-
- /**
- * The meta object literal for the '<em><b>Models</b></em>' reference list feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference ROOT__MODELS = eINSTANCE.getRoot_Models();
-
- /**
- * The meta object literal for the '<em><b>Xp Actor Classes</b></em>' containment reference list feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference ROOT__XP_ACTOR_CLASSES = eINSTANCE.getRoot_XpActorClasses();
-
- /**
- * The meta object literal for the '<em><b>Used Data Classes</b></em>' reference list feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference ROOT__USED_DATA_CLASSES = eINSTANCE.getRoot_UsedDataClasses();
-
- /**
- * The meta object literal for the '<em><b>Used Protocol Classes</b></em>' reference list feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference ROOT__USED_PROTOCOL_CLASSES = eINSTANCE.getRoot_UsedProtocolClasses();
-
- /**
- * The meta object literal for the '<em><b>Used Actor Classes</b></em>' reference list feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference ROOT__USED_ACTOR_CLASSES = eINSTANCE.getRoot_UsedActorClasses();
-
- /**
- * The meta object literal for the '<em><b>Used Room Models</b></em>' reference list feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference ROOT__USED_ROOM_MODELS = eINSTANCE.getRoot_UsedRoomModels();
-
- /**
- * The meta object literal for the '<em><b>Sub System Classes</b></em>' reference list feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference ROOT__SUB_SYSTEM_CLASSES = eINSTANCE.getRoot_SubSystemClasses();
-
- /**
- * The meta object literal for the '{@link org.eclipse.etrice.core.genmodel.etricegen.impl.InstanceBaseImpl <em>Instance Base</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.etrice.core.genmodel.etricegen.impl.InstanceBaseImpl
- * @see org.eclipse.etrice.core.genmodel.etricegen.impl.ETriceGenPackageImpl#getInstanceBase()
- * @generated
- */
- EClass INSTANCE_BASE = eINSTANCE.getInstanceBase();
-
- /**
- * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EAttribute INSTANCE_BASE__NAME = eINSTANCE.getInstanceBase_Name();
-
- /**
- * The meta object literal for the '<em><b>Path</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EAttribute INSTANCE_BASE__PATH = eINSTANCE.getInstanceBase_Path();
-
- /**
- * The meta object literal for the '<em><b>Obj Id</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EAttribute INSTANCE_BASE__OBJ_ID = eINSTANCE.getInstanceBase_ObjId();
-
- /**
- * The meta object literal for the '<em><b>Thread Id</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EAttribute INSTANCE_BASE__THREAD_ID = eINSTANCE.getInstanceBase_ThreadId();
-
- /**
- * The meta object literal for the '<em><b>NObj IDs</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EAttribute INSTANCE_BASE__NOBJ_IDS = eINSTANCE.getInstanceBase_NObjIDs();
-
- /**
- * The meta object literal for the '{@link org.eclipse.etrice.core.genmodel.etricegen.impl.StructureInstanceImpl <em>Structure Instance</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.etrice.core.genmodel.etricegen.impl.StructureInstanceImpl
- * @see org.eclipse.etrice.core.genmodel.etricegen.impl.ETriceGenPackageImpl#getStructureInstance()
- * @generated
- */
- EClass STRUCTURE_INSTANCE = eINSTANCE.getStructureInstance();
-
- /**
- * The meta object literal for the '<em><b>Instances</b></em>' containment reference list feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference STRUCTURE_INSTANCE__INSTANCES = eINSTANCE.getStructureInstance_Instances();
-
- /**
- * The meta object literal for the '<em><b>Ports</b></em>' containment reference list feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference STRUCTURE_INSTANCE__PORTS = eINSTANCE.getStructureInstance_Ports();
-
- /**
- * The meta object literal for the '<em><b>Saps</b></em>' containment reference list feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference STRUCTURE_INSTANCE__SAPS = eINSTANCE.getStructureInstance_Saps();
-
- /**
- * The meta object literal for the '<em><b>Spps</b></em>' containment reference list feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference STRUCTURE_INSTANCE__SPPS = eINSTANCE.getStructureInstance_Spps();
-
- /**
- * The meta object literal for the '<em><b>Services</b></em>' containment reference list feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference STRUCTURE_INSTANCE__SERVICES = eINSTANCE.getStructureInstance_Services();
-
- /**
- * The meta object literal for the '<em><b>Bindings</b></em>' containment reference list feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference STRUCTURE_INSTANCE__BINDINGS = eINSTANCE.getStructureInstance_Bindings();
-
- /**
- * The meta object literal for the '<em><b>Connections</b></em>' containment reference list feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference STRUCTURE_INSTANCE__CONNECTIONS = eINSTANCE.getStructureInstance_Connections();
-
- /**
- * The meta object literal for the '<em><b>All Contained Instances</b></em>' reference list feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference STRUCTURE_INSTANCE__ALL_CONTAINED_INSTANCES = eINSTANCE.getStructureInstance_AllContainedInstances();
-
- /**
- * The meta object literal for the '<em><b>Ordered If Item Instances</b></em>' reference list feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference STRUCTURE_INSTANCE__ORDERED_IF_ITEM_INSTANCES = eINSTANCE.getStructureInstance_OrderedIfItemInstances();
-
- /**
- * The meta object literal for the '{@link org.eclipse.etrice.core.genmodel.etricegen.impl.SystemInstanceImpl <em>System Instance</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.etrice.core.genmodel.etricegen.impl.SystemInstanceImpl
- * @see org.eclipse.etrice.core.genmodel.etricegen.impl.ETriceGenPackageImpl#getSystemInstance()
- * @generated
- */
- EClass SYSTEM_INSTANCE = eINSTANCE.getSystemInstance();
-
- /**
- * The meta object literal for the '<em><b>Instances</b></em>' containment reference list feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference SYSTEM_INSTANCE__INSTANCES = eINSTANCE.getSystemInstance_Instances();
-
- /**
- * The meta object literal for the '<em><b>Logical System</b></em>' reference feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference SYSTEM_INSTANCE__LOGICAL_SYSTEM = eINSTANCE.getSystemInstance_LogicalSystem();
-
- /**
- * The meta object literal for the '{@link org.eclipse.etrice.core.genmodel.etricegen.impl.SubSystemInstanceImpl <em>Sub System Instance</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.etrice.core.genmodel.etricegen.impl.SubSystemInstanceImpl
- * @see org.eclipse.etrice.core.genmodel.etricegen.impl.ETriceGenPackageImpl#getSubSystemInstance()
- * @generated
- */
- EClass SUB_SYSTEM_INSTANCE = eINSTANCE.getSubSystemInstance();
-
- /**
- * The meta object literal for the '<em><b>Sub System Class</b></em>' reference feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference SUB_SYSTEM_INSTANCE__SUB_SYSTEM_CLASS = eINSTANCE.getSubSystemInstance_SubSystemClass();
-
- /**
- * The meta object literal for the '<em><b>Max Obj Id</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EAttribute SUB_SYSTEM_INSTANCE__MAX_OBJ_ID = eINSTANCE.getSubSystemInstance_MaxObjId();
-
- /**
- * The meta object literal for the '{@link org.eclipse.etrice.core.genmodel.etricegen.impl.ActorInstanceImpl <em>Actor Instance</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.etrice.core.genmodel.etricegen.impl.ActorInstanceImpl
- * @see org.eclipse.etrice.core.genmodel.etricegen.impl.ETriceGenPackageImpl#getActorInstance()
- * @generated
- */
- EClass ACTOR_INSTANCE = eINSTANCE.getActorInstance();
-
- /**
- * The meta object literal for the '<em><b>Actor Class</b></em>' reference feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference ACTOR_INSTANCE__ACTOR_CLASS = eINSTANCE.getActorInstance_ActorClass();
-
- /**
- * The meta object literal for the '<em><b>Repl Idx</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EAttribute ACTOR_INSTANCE__REPL_IDX = eINSTANCE.getActorInstance_ReplIdx();
-
- /**
- * The meta object literal for the '<em><b>Unindexed Name</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EAttribute ACTOR_INSTANCE__UNINDEXED_NAME = eINSTANCE.getActorInstance_UnindexedName();
-
- /**
- * The meta object literal for the '{@link org.eclipse.etrice.core.genmodel.etricegen.impl.InterfaceItemInstanceImpl <em>Interface Item Instance</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.etrice.core.genmodel.etricegen.impl.InterfaceItemInstanceImpl
- * @see org.eclipse.etrice.core.genmodel.etricegen.impl.ETriceGenPackageImpl#getInterfaceItemInstance()
- * @generated
- */
- EClass INTERFACE_ITEM_INSTANCE = eINSTANCE.getInterfaceItemInstance();
-
- /**
- * The meta object literal for the '<em><b>Protocol</b></em>' reference feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference INTERFACE_ITEM_INSTANCE__PROTOCOL = eINSTANCE.getInterfaceItemInstance_Protocol();
-
- /**
- * The meta object literal for the '<em><b>Peers</b></em>' reference list feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference INTERFACE_ITEM_INSTANCE__PEERS = eINSTANCE.getInterfaceItemInstance_Peers();
-
- /**
- * The meta object literal for the '{@link org.eclipse.etrice.core.genmodel.etricegen.impl.PortInstanceImpl <em>Port Instance</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.etrice.core.genmodel.etricegen.impl.PortInstanceImpl
- * @see org.eclipse.etrice.core.genmodel.etricegen.impl.ETriceGenPackageImpl#getPortInstance()
- * @generated
- */
- EClass PORT_INSTANCE = eINSTANCE.getPortInstance();
-
- /**
- * The meta object literal for the '<em><b>Port</b></em>' reference feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference PORT_INSTANCE__PORT = eINSTANCE.getPortInstance_Port();
-
- /**
- * The meta object literal for the '<em><b>Kind</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EAttribute PORT_INSTANCE__KIND = eINSTANCE.getPortInstance_Kind();
-
- /**
- * The meta object literal for the '<em><b>Bindings</b></em>' reference list feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference PORT_INSTANCE__BINDINGS = eINSTANCE.getPortInstance_Bindings();
-
- /**
- * The meta object literal for the '{@link org.eclipse.etrice.core.genmodel.etricegen.impl.BindingInstanceImpl <em>Binding Instance</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.etrice.core.genmodel.etricegen.impl.BindingInstanceImpl
- * @see org.eclipse.etrice.core.genmodel.etricegen.impl.ETriceGenPackageImpl#getBindingInstance()
- * @generated
- */
- EClass BINDING_INSTANCE = eINSTANCE.getBindingInstance();
-
- /**
- * The meta object literal for the '<em><b>Ports</b></em>' reference list feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference BINDING_INSTANCE__PORTS = eINSTANCE.getBindingInstance_Ports();
-
- /**
- * The meta object literal for the '<em><b>Binding</b></em>' reference feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference BINDING_INSTANCE__BINDING = eINSTANCE.getBindingInstance_Binding();
-
- /**
- * The meta object literal for the '{@link org.eclipse.etrice.core.genmodel.etricegen.impl.SAPInstanceImpl <em>SAP Instance</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.etrice.core.genmodel.etricegen.impl.SAPInstanceImpl
- * @see org.eclipse.etrice.core.genmodel.etricegen.impl.ETriceGenPackageImpl#getSAPInstance()
- * @generated
- */
- EClass SAP_INSTANCE = eINSTANCE.getSAPInstance();
-
- /**
- * The meta object literal for the '<em><b>Sap</b></em>' reference feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference SAP_INSTANCE__SAP = eINSTANCE.getSAPInstance_Sap();
-
- /**
- * The meta object literal for the '{@link org.eclipse.etrice.core.genmodel.etricegen.impl.SPPInstanceImpl <em>SPP Instance</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.etrice.core.genmodel.etricegen.impl.SPPInstanceImpl
- * @see org.eclipse.etrice.core.genmodel.etricegen.impl.ETriceGenPackageImpl#getSPPInstance()
- * @generated
- */
- EClass SPP_INSTANCE = eINSTANCE.getSPPInstance();
-
- /**
- * The meta object literal for the '<em><b>Spp</b></em>' reference feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference SPP_INSTANCE__SPP = eINSTANCE.getSPPInstance_Spp();
-
- /**
- * The meta object literal for the '<em><b>Incoming</b></em>' reference list feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference SPP_INSTANCE__INCOMING = eINSTANCE.getSPPInstance_Incoming();
-
- /**
- * The meta object literal for the '<em><b>Outgoing</b></em>' reference feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference SPP_INSTANCE__OUTGOING = eINSTANCE.getSPPInstance_Outgoing();
-
- /**
- * The meta object literal for the '{@link org.eclipse.etrice.core.genmodel.etricegen.impl.ServiceImplInstanceImpl <em>Service Impl Instance</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.etrice.core.genmodel.etricegen.impl.ServiceImplInstanceImpl
- * @see org.eclipse.etrice.core.genmodel.etricegen.impl.ETriceGenPackageImpl#getServiceImplInstance()
- * @generated
- */
- EClass SERVICE_IMPL_INSTANCE = eINSTANCE.getServiceImplInstance();
-
- /**
- * The meta object literal for the '<em><b>Svc Impl</b></em>' reference feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference SERVICE_IMPL_INSTANCE__SVC_IMPL = eINSTANCE.getServiceImplInstance_SvcImpl();
-
- /**
- * The meta object literal for the '{@link org.eclipse.etrice.core.genmodel.etricegen.impl.ConnectionInstanceImpl <em>Connection Instance</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.etrice.core.genmodel.etricegen.impl.ConnectionInstanceImpl
- * @see org.eclipse.etrice.core.genmodel.etricegen.impl.ETriceGenPackageImpl#getConnectionInstance()
- * @generated
- */
- EClass CONNECTION_INSTANCE = eINSTANCE.getConnectionInstance();
-
- /**
- * The meta object literal for the '<em><b>From AI</b></em>' reference feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference CONNECTION_INSTANCE__FROM_AI = eINSTANCE.getConnectionInstance_FromAI();
-
- /**
- * The meta object literal for the '<em><b>From SPP</b></em>' reference feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference CONNECTION_INSTANCE__FROM_SPP = eINSTANCE.getConnectionInstance_FromSPP();
-
- /**
- * The meta object literal for the '<em><b>To SPP</b></em>' reference feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference CONNECTION_INSTANCE__TO_SPP = eINSTANCE.getConnectionInstance_ToSPP();
-
- /**
- * The meta object literal for the '<em><b>Connection</b></em>' reference feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference CONNECTION_INSTANCE__CONNECTION = eINSTANCE.getConnectionInstance_Connection();
-
- /**
- * The meta object literal for the '{@link org.eclipse.etrice.core.genmodel.etricegen.impl.ActiveTriggerImpl <em>Active Trigger</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.etrice.core.genmodel.etricegen.impl.ActiveTriggerImpl
- * @see org.eclipse.etrice.core.genmodel.etricegen.impl.ETriceGenPackageImpl#getActiveTrigger()
- * @generated
- */
- EClass ACTIVE_TRIGGER = eINSTANCE.getActiveTrigger();
-
- /**
- * The meta object literal for the '<em><b>Msg</b></em>' reference feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference ACTIVE_TRIGGER__MSG = eINSTANCE.getActiveTrigger_Msg();
-
- /**
- * The meta object literal for the '<em><b>Ifitem</b></em>' reference feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference ACTIVE_TRIGGER__IFITEM = eINSTANCE.getActiveTrigger_Ifitem();
-
- /**
- * The meta object literal for the '<em><b>Trigger</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EAttribute ACTIVE_TRIGGER__TRIGGER = eINSTANCE.getActiveTrigger_Trigger();
-
- /**
- * The meta object literal for the '<em><b>Transitions</b></em>' reference list feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference ACTIVE_TRIGGER__TRANSITIONS = eINSTANCE.getActiveTrigger_Transitions();
-
- /**
- * The meta object literal for the '{@link org.eclipse.etrice.core.genmodel.etricegen.impl.TransitionChainImpl <em>Transition Chain</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.etrice.core.genmodel.etricegen.impl.TransitionChainImpl
- * @see org.eclipse.etrice.core.genmodel.etricegen.impl.ETriceGenPackageImpl#getTransitionChain()
- * @generated
- */
- EClass TRANSITION_CHAIN = eINSTANCE.getTransitionChain();
-
- /**
- * The meta object literal for the '<em><b>Transition</b></em>' reference feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference TRANSITION_CHAIN__TRANSITION = eINSTANCE.getTransitionChain_Transition();
-
- /**
- * The meta object literal for the '<em><b>Data</b></em>' reference feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference TRANSITION_CHAIN__DATA = eINSTANCE.getTransitionChain_Data();
-
- /**
- * The meta object literal for the '{@link ITransitionChainVisitor <em>ITransition Chain Visitor</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see ITransitionChainVisitor
- * @see org.eclipse.etrice.core.genmodel.etricegen.impl.ETriceGenPackageImpl#getITransitionChainVisitor()
- * @generated
- */
- EClass ITRANSITION_CHAIN_VISITOR = eINSTANCE.getITransitionChainVisitor();
-
- /**
- * The meta object literal for the '{@link IDiagnostician <em>IDiagnostician</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see IDiagnostician
- * @see org.eclipse.etrice.core.genmodel.etricegen.impl.ETriceGenPackageImpl#getIDiagnostician()
- * @generated
- */
- EClass IDIAGNOSTICIAN = eINSTANCE.getIDiagnostician();
-
- /**
- * The meta object literal for the '{@link org.eclipse.etrice.core.genmodel.etricegen.impl.ExpandedActorClassImpl <em>Expanded Actor Class</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.etrice.core.genmodel.etricegen.impl.ExpandedActorClassImpl
- * @see org.eclipse.etrice.core.genmodel.etricegen.impl.ETriceGenPackageImpl#getExpandedActorClass()
- * @generated
- */
- EClass EXPANDED_ACTOR_CLASS = eINSTANCE.getExpandedActorClass();
-
- /**
- * The meta object literal for the '<em><b>Actor Class</b></em>' reference feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference EXPANDED_ACTOR_CLASS__ACTOR_CLASS = eINSTANCE.getExpandedActorClass_ActorClass();
-
- /**
- * The meta object literal for the '<em><b>State Machine</b></em>' containment reference feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference EXPANDED_ACTOR_CLASS__STATE_MACHINE = eINSTANCE.getExpandedActorClass_StateMachine();
-
- /**
- * The meta object literal for the '{@link org.eclipse.etrice.core.genmodel.etricegen.impl.ExpandedRefinedStateImpl <em>Expanded Refined State</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.etrice.core.genmodel.etricegen.impl.ExpandedRefinedStateImpl
- * @see org.eclipse.etrice.core.genmodel.etricegen.impl.ETriceGenPackageImpl#getExpandedRefinedState()
- * @generated
- */
- EClass EXPANDED_REFINED_STATE = eINSTANCE.getExpandedRefinedState();
-
- /**
- * The meta object literal for the '<em><b>Inherited Entry</b></em>' containment reference feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference EXPANDED_REFINED_STATE__INHERITED_ENTRY = eINSTANCE.getExpandedRefinedState_InheritedEntry();
-
- /**
- * The meta object literal for the '<em><b>Inherited Exit</b></em>' containment reference feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference EXPANDED_REFINED_STATE__INHERITED_EXIT = eINSTANCE.getExpandedRefinedState_InheritedExit();
-
- /**
- * The meta object literal for the '<em><b>Inherited Do</b></em>' containment reference feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference EXPANDED_REFINED_STATE__INHERITED_DO = eINSTANCE.getExpandedRefinedState_InheritedDo();
-
- /**
- * The meta object literal for the '{@link org.eclipse.etrice.core.genmodel.etricegen.PortKind <em>Port Kind</em>}' enum.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.etrice.core.genmodel.etricegen.PortKind
- * @see org.eclipse.etrice.core.genmodel.etricegen.impl.ETriceGenPackageImpl#getPortKind()
- * @generated
- */
- EEnum PORT_KIND = eINSTANCE.getPortKind();
-
- }
-
-} //ETriceGenPackage
+/*******************************************************************************
+ * Copyright (c) 2010 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * Thomas Schuetz and Henrik Rentz-Reichert (initial contribution)
+ *
+ *******************************************************************************/
+package org.eclipse.etrice.core.genmodel.etricegen;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EEnum;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.etrice.core.room.RoomPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface ETriceGenPackage extends EPackage {
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "etricegen";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http://www.eclipse.org/etrice/generator";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "etricegen";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ ETriceGenPackage eINSTANCE = org.eclipse.etrice.core.genmodel.etricegen.impl.ETriceGenPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.etrice.core.genmodel.etricegen.impl.RootImpl <em>Root</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.etrice.core.genmodel.etricegen.impl.RootImpl
+ * @see org.eclipse.etrice.core.genmodel.etricegen.impl.ETriceGenPackageImpl#getRoot()
+ * @generated
+ */
+ int ROOT = 0;
+
+ /**
+ * The feature id for the '<em><b>Library</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ROOT__LIBRARY = 0;
+
+ /**
+ * The feature id for the '<em><b>System Instances</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ROOT__SYSTEM_INSTANCES = 1;
+
+ /**
+ * The feature id for the '<em><b>Own Sub System Instances</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ROOT__OWN_SUB_SYSTEM_INSTANCES = 2;
+
+ /**
+ * The feature id for the '<em><b>Sub System Instances</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ROOT__SUB_SYSTEM_INSTANCES = 3;
+
+ /**
+ * The feature id for the '<em><b>Models</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ROOT__MODELS = 4;
+
+ /**
+ * The feature id for the '<em><b>Xp Actor Classes</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ROOT__XP_ACTOR_CLASSES = 5;
+
+ /**
+ * The feature id for the '<em><b>Used Data Classes</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ROOT__USED_DATA_CLASSES = 6;
+
+ /**
+ * The feature id for the '<em><b>Used Protocol Classes</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ROOT__USED_PROTOCOL_CLASSES = 7;
+
+ /**
+ * The feature id for the '<em><b>Used Actor Classes</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ROOT__USED_ACTOR_CLASSES = 8;
+
+ /**
+ * The feature id for the '<em><b>Used Room Models</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ROOT__USED_ROOM_MODELS = 9;
+
+ /**
+ * The feature id for the '<em><b>Sub System Classes</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ROOT__SUB_SYSTEM_CLASSES = 10;
+
+ /**
+ * The number of structural features of the '<em>Root</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ROOT_FEATURE_COUNT = 11;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.etrice.core.genmodel.etricegen.impl.InstanceBaseImpl <em>Instance Base</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.etrice.core.genmodel.etricegen.impl.InstanceBaseImpl
+ * @see org.eclipse.etrice.core.genmodel.etricegen.impl.ETriceGenPackageImpl#getInstanceBase()
+ * @generated
+ */
+ int INSTANCE_BASE = 1;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_BASE__NAME = 0;
+
+ /**
+ * The feature id for the '<em><b>Path</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_BASE__PATH = 1;
+
+ /**
+ * The feature id for the '<em><b>Obj Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_BASE__OBJ_ID = 2;
+
+ /**
+ * The feature id for the '<em><b>Thread Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_BASE__THREAD_ID = 3;
+
+ /**
+ * The feature id for the '<em><b>NObj IDs</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_BASE__NOBJ_IDS = 4;
+
+ /**
+ * The number of structural features of the '<em>Instance Base</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_BASE_FEATURE_COUNT = 5;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.etrice.core.genmodel.etricegen.impl.StructureInstanceImpl <em>Structure Instance</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.etrice.core.genmodel.etricegen.impl.StructureInstanceImpl
+ * @see org.eclipse.etrice.core.genmodel.etricegen.impl.ETriceGenPackageImpl#getStructureInstance()
+ * @generated
+ */
+ int STRUCTURE_INSTANCE = 2;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STRUCTURE_INSTANCE__NAME = INSTANCE_BASE__NAME;
+
+ /**
+ * The feature id for the '<em><b>Path</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STRUCTURE_INSTANCE__PATH = INSTANCE_BASE__PATH;
+
+ /**
+ * The feature id for the '<em><b>Obj Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STRUCTURE_INSTANCE__OBJ_ID = INSTANCE_BASE__OBJ_ID;
+
+ /**
+ * The feature id for the '<em><b>Thread Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STRUCTURE_INSTANCE__THREAD_ID = INSTANCE_BASE__THREAD_ID;
+
+ /**
+ * The feature id for the '<em><b>NObj IDs</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STRUCTURE_INSTANCE__NOBJ_IDS = INSTANCE_BASE__NOBJ_IDS;
+
+ /**
+ * The feature id for the '<em><b>Instances</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STRUCTURE_INSTANCE__INSTANCES = INSTANCE_BASE_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Ports</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STRUCTURE_INSTANCE__PORTS = INSTANCE_BASE_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Saps</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STRUCTURE_INSTANCE__SAPS = INSTANCE_BASE_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Spps</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STRUCTURE_INSTANCE__SPPS = INSTANCE_BASE_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Services</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STRUCTURE_INSTANCE__SERVICES = INSTANCE_BASE_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Bindings</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STRUCTURE_INSTANCE__BINDINGS = INSTANCE_BASE_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Connections</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STRUCTURE_INSTANCE__CONNECTIONS = INSTANCE_BASE_FEATURE_COUNT + 6;
+
+ /**
+ * The feature id for the '<em><b>All Contained Instances</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STRUCTURE_INSTANCE__ALL_CONTAINED_INSTANCES = INSTANCE_BASE_FEATURE_COUNT + 7;
+
+ /**
+ * The feature id for the '<em><b>Ordered If Item Instances</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STRUCTURE_INSTANCE__ORDERED_IF_ITEM_INSTANCES = INSTANCE_BASE_FEATURE_COUNT + 8;
+
+ /**
+ * The number of structural features of the '<em>Structure Instance</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STRUCTURE_INSTANCE_FEATURE_COUNT = INSTANCE_BASE_FEATURE_COUNT + 9;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.etrice.core.genmodel.etricegen.impl.SystemInstanceImpl <em>System Instance</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.etrice.core.genmodel.etricegen.impl.SystemInstanceImpl
+ * @see org.eclipse.etrice.core.genmodel.etricegen.impl.ETriceGenPackageImpl#getSystemInstance()
+ * @generated
+ */
+ int SYSTEM_INSTANCE = 3;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SYSTEM_INSTANCE__NAME = INSTANCE_BASE__NAME;
+
+ /**
+ * The feature id for the '<em><b>Path</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SYSTEM_INSTANCE__PATH = INSTANCE_BASE__PATH;
+
+ /**
+ * The feature id for the '<em><b>Obj Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SYSTEM_INSTANCE__OBJ_ID = INSTANCE_BASE__OBJ_ID;
+
+ /**
+ * The feature id for the '<em><b>Thread Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SYSTEM_INSTANCE__THREAD_ID = INSTANCE_BASE__THREAD_ID;
+
+ /**
+ * The feature id for the '<em><b>NObj IDs</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SYSTEM_INSTANCE__NOBJ_IDS = INSTANCE_BASE__NOBJ_IDS;
+
+ /**
+ * The feature id for the '<em><b>Instances</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SYSTEM_INSTANCE__INSTANCES = INSTANCE_BASE_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Logical System</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SYSTEM_INSTANCE__LOGICAL_SYSTEM = INSTANCE_BASE_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>System Instance</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SYSTEM_INSTANCE_FEATURE_COUNT = INSTANCE_BASE_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.etrice.core.genmodel.etricegen.impl.SubSystemInstanceImpl <em>Sub System Instance</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.etrice.core.genmodel.etricegen.impl.SubSystemInstanceImpl
+ * @see org.eclipse.etrice.core.genmodel.etricegen.impl.ETriceGenPackageImpl#getSubSystemInstance()
+ * @generated
+ */
+ int SUB_SYSTEM_INSTANCE = 4;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SUB_SYSTEM_INSTANCE__NAME = STRUCTURE_INSTANCE__NAME;
+
+ /**
+ * The feature id for the '<em><b>Path</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SUB_SYSTEM_INSTANCE__PATH = STRUCTURE_INSTANCE__PATH;
+
+ /**
+ * The feature id for the '<em><b>Obj Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SUB_SYSTEM_INSTANCE__OBJ_ID = STRUCTURE_INSTANCE__OBJ_ID;
+
+ /**
+ * The feature id for the '<em><b>Thread Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SUB_SYSTEM_INSTANCE__THREAD_ID = STRUCTURE_INSTANCE__THREAD_ID;
+
+ /**
+ * The feature id for the '<em><b>NObj IDs</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SUB_SYSTEM_INSTANCE__NOBJ_IDS = STRUCTURE_INSTANCE__NOBJ_IDS;
+
+ /**
+ * The feature id for the '<em><b>Instances</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SUB_SYSTEM_INSTANCE__INSTANCES = STRUCTURE_INSTANCE__INSTANCES;
+
+ /**
+ * The feature id for the '<em><b>Ports</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SUB_SYSTEM_INSTANCE__PORTS = STRUCTURE_INSTANCE__PORTS;
+
+ /**
+ * The feature id for the '<em><b>Saps</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SUB_SYSTEM_INSTANCE__SAPS = STRUCTURE_INSTANCE__SAPS;
+
+ /**
+ * The feature id for the '<em><b>Spps</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SUB_SYSTEM_INSTANCE__SPPS = STRUCTURE_INSTANCE__SPPS;
+
+ /**
+ * The feature id for the '<em><b>Services</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SUB_SYSTEM_INSTANCE__SERVICES = STRUCTURE_INSTANCE__SERVICES;
+
+ /**
+ * The feature id for the '<em><b>Bindings</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SUB_SYSTEM_INSTANCE__BINDINGS = STRUCTURE_INSTANCE__BINDINGS;
+
+ /**
+ * The feature id for the '<em><b>Connections</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SUB_SYSTEM_INSTANCE__CONNECTIONS = STRUCTURE_INSTANCE__CONNECTIONS;
+
+ /**
+ * The feature id for the '<em><b>All Contained Instances</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SUB_SYSTEM_INSTANCE__ALL_CONTAINED_INSTANCES = STRUCTURE_INSTANCE__ALL_CONTAINED_INSTANCES;
+
+ /**
+ * The feature id for the '<em><b>Ordered If Item Instances</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SUB_SYSTEM_INSTANCE__ORDERED_IF_ITEM_INSTANCES = STRUCTURE_INSTANCE__ORDERED_IF_ITEM_INSTANCES;
+
+ /**
+ * The feature id for the '<em><b>Sub System Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SUB_SYSTEM_INSTANCE__SUB_SYSTEM_CLASS = STRUCTURE_INSTANCE_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Max Obj Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SUB_SYSTEM_INSTANCE__MAX_OBJ_ID = STRUCTURE_INSTANCE_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Sub System Instance</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SUB_SYSTEM_INSTANCE_FEATURE_COUNT = STRUCTURE_INSTANCE_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.etrice.core.genmodel.etricegen.impl.ActorInstanceImpl <em>Actor Instance</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.etrice.core.genmodel.etricegen.impl.ActorInstanceImpl
+ * @see org.eclipse.etrice.core.genmodel.etricegen.impl.ETriceGenPackageImpl#getActorInstance()
+ * @generated
+ */
+ int ACTOR_INSTANCE = 5;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ACTOR_INSTANCE__NAME = STRUCTURE_INSTANCE__NAME;
+
+ /**
+ * The feature id for the '<em><b>Path</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ACTOR_INSTANCE__PATH = STRUCTURE_INSTANCE__PATH;
+
+ /**
+ * The feature id for the '<em><b>Obj Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ACTOR_INSTANCE__OBJ_ID = STRUCTURE_INSTANCE__OBJ_ID;
+
+ /**
+ * The feature id for the '<em><b>Thread Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ACTOR_INSTANCE__THREAD_ID = STRUCTURE_INSTANCE__THREAD_ID;
+
+ /**
+ * The feature id for the '<em><b>NObj IDs</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ACTOR_INSTANCE__NOBJ_IDS = STRUCTURE_INSTANCE__NOBJ_IDS;
+
+ /**
+ * The feature id for the '<em><b>Instances</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ACTOR_INSTANCE__INSTANCES = STRUCTURE_INSTANCE__INSTANCES;
+
+ /**
+ * The feature id for the '<em><b>Ports</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ACTOR_INSTANCE__PORTS = STRUCTURE_INSTANCE__PORTS;
+
+ /**
+ * The feature id for the '<em><b>Saps</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ACTOR_INSTANCE__SAPS = STRUCTURE_INSTANCE__SAPS;
+
+ /**
+ * The feature id for the '<em><b>Spps</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ACTOR_INSTANCE__SPPS = STRUCTURE_INSTANCE__SPPS;
+
+ /**
+ * The feature id for the '<em><b>Services</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ACTOR_INSTANCE__SERVICES = STRUCTURE_INSTANCE__SERVICES;
+
+ /**
+ * The feature id for the '<em><b>Bindings</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ACTOR_INSTANCE__BINDINGS = STRUCTURE_INSTANCE__BINDINGS;
+
+ /**
+ * The feature id for the '<em><b>Connections</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ACTOR_INSTANCE__CONNECTIONS = STRUCTURE_INSTANCE__CONNECTIONS;
+
+ /**
+ * The feature id for the '<em><b>All Contained Instances</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ACTOR_INSTANCE__ALL_CONTAINED_INSTANCES = STRUCTURE_INSTANCE__ALL_CONTAINED_INSTANCES;
+
+ /**
+ * The feature id for the '<em><b>Ordered If Item Instances</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ACTOR_INSTANCE__ORDERED_IF_ITEM_INSTANCES = STRUCTURE_INSTANCE__ORDERED_IF_ITEM_INSTANCES;
+
+ /**
+ * The feature id for the '<em><b>Actor Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ACTOR_INSTANCE__ACTOR_CLASS = STRUCTURE_INSTANCE_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Repl Idx</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ACTOR_INSTANCE__REPL_IDX = STRUCTURE_INSTANCE_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Unindexed Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ACTOR_INSTANCE__UNINDEXED_NAME = STRUCTURE_INSTANCE_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Actor Instance</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ACTOR_INSTANCE_FEATURE_COUNT = STRUCTURE_INSTANCE_FEATURE_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.etrice.core.genmodel.etricegen.impl.InterfaceItemInstanceImpl <em>Interface Item Instance</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.etrice.core.genmodel.etricegen.impl.InterfaceItemInstanceImpl
+ * @see org.eclipse.etrice.core.genmodel.etricegen.impl.ETriceGenPackageImpl#getInterfaceItemInstance()
+ * @generated
+ */
+ int INTERFACE_ITEM_INSTANCE = 6;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERFACE_ITEM_INSTANCE__NAME = INSTANCE_BASE__NAME;
+
+ /**
+ * The feature id for the '<em><b>Path</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERFACE_ITEM_INSTANCE__PATH = INSTANCE_BASE__PATH;
+
+ /**
+ * The feature id for the '<em><b>Obj Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERFACE_ITEM_INSTANCE__OBJ_ID = INSTANCE_BASE__OBJ_ID;
+
+ /**
+ * The feature id for the '<em><b>Thread Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERFACE_ITEM_INSTANCE__THREAD_ID = INSTANCE_BASE__THREAD_ID;
+
+ /**
+ * The feature id for the '<em><b>NObj IDs</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERFACE_ITEM_INSTANCE__NOBJ_IDS = INSTANCE_BASE__NOBJ_IDS;
+
+ /**
+ * The feature id for the '<em><b>Protocol</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERFACE_ITEM_INSTANCE__PROTOCOL = INSTANCE_BASE_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Peers</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERFACE_ITEM_INSTANCE__PEERS = INSTANCE_BASE_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Interface Item Instance</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERFACE_ITEM_INSTANCE_FEATURE_COUNT = INSTANCE_BASE_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.etrice.core.genmodel.etricegen.impl.PortInstanceImpl <em>Port Instance</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.etrice.core.genmodel.etricegen.impl.PortInstanceImpl
+ * @see org.eclipse.etrice.core.genmodel.etricegen.impl.ETriceGenPackageImpl#getPortInstance()
+ * @generated
+ */
+ int PORT_INSTANCE = 7;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PORT_INSTANCE__NAME = INTERFACE_ITEM_INSTANCE__NAME;
+
+ /**
+ * The feature id for the '<em><b>Path</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PORT_INSTANCE__PATH = INTERFACE_ITEM_INSTANCE__PATH;
+
+ /**
+ * The feature id for the '<em><b>Obj Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PORT_INSTANCE__OBJ_ID = INTERFACE_ITEM_INSTANCE__OBJ_ID;
+
+ /**
+ * The feature id for the '<em><b>Thread Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PORT_INSTANCE__THREAD_ID = INTERFACE_ITEM_INSTANCE__THREAD_ID;
+
+ /**
+ * The feature id for the '<em><b>NObj IDs</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PORT_INSTANCE__NOBJ_IDS = INTERFACE_ITEM_INSTANCE__NOBJ_IDS;
+
+ /**
+ * The feature id for the '<em><b>Protocol</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PORT_INSTANCE__PROTOCOL = INTERFACE_ITEM_INSTANCE__PROTOCOL;
+
+ /**
+ * The feature id for the '<em><b>Peers</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PORT_INSTANCE__PEERS = INTERFACE_ITEM_INSTANCE__PEERS;
+
+ /**
+ * The feature id for the '<em><b>Port</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PORT_INSTANCE__PORT = INTERFACE_ITEM_INSTANCE_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Kind</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PORT_INSTANCE__KIND = INTERFACE_ITEM_INSTANCE_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Bindings</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PORT_INSTANCE__BINDINGS = INTERFACE_ITEM_INSTANCE_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Port Instance</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PORT_INSTANCE_FEATURE_COUNT = INTERFACE_ITEM_INSTANCE_FEATURE_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.etrice.core.genmodel.etricegen.impl.BindingInstanceImpl <em>Binding Instance</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.etrice.core.genmodel.etricegen.impl.BindingInstanceImpl
+ * @see org.eclipse.etrice.core.genmodel.etricegen.impl.ETriceGenPackageImpl#getBindingInstance()
+ * @generated
+ */
+ int BINDING_INSTANCE = 8;
+
+ /**
+ * The feature id for the '<em><b>Ports</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BINDING_INSTANCE__PORTS = 0;
+
+ /**
+ * The feature id for the '<em><b>Binding</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BINDING_INSTANCE__BINDING = 1;
+
+ /**
+ * The number of structural features of the '<em>Binding Instance</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BINDING_INSTANCE_FEATURE_COUNT = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.etrice.core.genmodel.etricegen.impl.SAPInstanceImpl <em>SAP Instance</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.etrice.core.genmodel.etricegen.impl.SAPInstanceImpl
+ * @see org.eclipse.etrice.core.genmodel.etricegen.impl.ETriceGenPackageImpl#getSAPInstance()
+ * @generated
+ */
+ int SAP_INSTANCE = 9;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SAP_INSTANCE__NAME = INTERFACE_ITEM_INSTANCE__NAME;
+
+ /**
+ * The feature id for the '<em><b>Path</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SAP_INSTANCE__PATH = INTERFACE_ITEM_INSTANCE__PATH;
+
+ /**
+ * The feature id for the '<em><b>Obj Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SAP_INSTANCE__OBJ_ID = INTERFACE_ITEM_INSTANCE__OBJ_ID;
+
+ /**
+ * The feature id for the '<em><b>Thread Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SAP_INSTANCE__THREAD_ID = INTERFACE_ITEM_INSTANCE__THREAD_ID;
+
+ /**
+ * The feature id for the '<em><b>NObj IDs</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SAP_INSTANCE__NOBJ_IDS = INTERFACE_ITEM_INSTANCE__NOBJ_IDS;
+
+ /**
+ * The feature id for the '<em><b>Protocol</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SAP_INSTANCE__PROTOCOL = INTERFACE_ITEM_INSTANCE__PROTOCOL;
+
+ /**
+ * The feature id for the '<em><b>Peers</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SAP_INSTANCE__PEERS = INTERFACE_ITEM_INSTANCE__PEERS;
+
+ /**
+ * The feature id for the '<em><b>Sap</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SAP_INSTANCE__SAP = INTERFACE_ITEM_INSTANCE_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>SAP Instance</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SAP_INSTANCE_FEATURE_COUNT = INTERFACE_ITEM_INSTANCE_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.etrice.core.genmodel.etricegen.impl.SPPInstanceImpl <em>SPP Instance</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.etrice.core.genmodel.etricegen.impl.SPPInstanceImpl
+ * @see org.eclipse.etrice.core.genmodel.etricegen.impl.ETriceGenPackageImpl#getSPPInstance()
+ * @generated
+ */
+ int SPP_INSTANCE = 10;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SPP_INSTANCE__NAME = INSTANCE_BASE__NAME;
+
+ /**
+ * The feature id for the '<em><b>Path</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SPP_INSTANCE__PATH = INSTANCE_BASE__PATH;
+
+ /**
+ * The feature id for the '<em><b>Obj Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SPP_INSTANCE__OBJ_ID = INSTANCE_BASE__OBJ_ID;
+
+ /**
+ * The feature id for the '<em><b>Thread Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SPP_INSTANCE__THREAD_ID = INSTANCE_BASE__THREAD_ID;
+
+ /**
+ * The feature id for the '<em><b>NObj IDs</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SPP_INSTANCE__NOBJ_IDS = INSTANCE_BASE__NOBJ_IDS;
+
+ /**
+ * The feature id for the '<em><b>Spp</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SPP_INSTANCE__SPP = INSTANCE_BASE_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SPP_INSTANCE__INCOMING = INSTANCE_BASE_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SPP_INSTANCE__OUTGOING = INSTANCE_BASE_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>SPP Instance</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SPP_INSTANCE_FEATURE_COUNT = INSTANCE_BASE_FEATURE_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.etrice.core.genmodel.etricegen.impl.ServiceImplInstanceImpl <em>Service Impl Instance</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.etrice.core.genmodel.etricegen.impl.ServiceImplInstanceImpl
+ * @see org.eclipse.etrice.core.genmodel.etricegen.impl.ETriceGenPackageImpl#getServiceImplInstance()
+ * @generated
+ */
+ int SERVICE_IMPL_INSTANCE = 11;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SERVICE_IMPL_INSTANCE__NAME = INTERFACE_ITEM_INSTANCE__NAME;
+
+ /**
+ * The feature id for the '<em><b>Path</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SERVICE_IMPL_INSTANCE__PATH = INTERFACE_ITEM_INSTANCE__PATH;
+
+ /**
+ * The feature id for the '<em><b>Obj Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SERVICE_IMPL_INSTANCE__OBJ_ID = INTERFACE_ITEM_INSTANCE__OBJ_ID;
+
+ /**
+ * The feature id for the '<em><b>Thread Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SERVICE_IMPL_INSTANCE__THREAD_ID = INTERFACE_ITEM_INSTANCE__THREAD_ID;
+
+ /**
+ * The feature id for the '<em><b>NObj IDs</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SERVICE_IMPL_INSTANCE__NOBJ_IDS = INTERFACE_ITEM_INSTANCE__NOBJ_IDS;
+
+ /**
+ * The feature id for the '<em><b>Protocol</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SERVICE_IMPL_INSTANCE__PROTOCOL = INTERFACE_ITEM_INSTANCE__PROTOCOL;
+
+ /**
+ * The feature id for the '<em><b>Peers</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SERVICE_IMPL_INSTANCE__PEERS = INTERFACE_ITEM_INSTANCE__PEERS;
+
+ /**
+ * The feature id for the '<em><b>Svc Impl</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SERVICE_IMPL_INSTANCE__SVC_IMPL = INTERFACE_ITEM_INSTANCE_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Service Impl Instance</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SERVICE_IMPL_INSTANCE_FEATURE_COUNT = INTERFACE_ITEM_INSTANCE_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.etrice.core.genmodel.etricegen.impl.ConnectionInstanceImpl <em>Connection Instance</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.etrice.core.genmodel.etricegen.impl.ConnectionInstanceImpl
+ * @see org.eclipse.etrice.core.genmodel.etricegen.impl.ETriceGenPackageImpl#getConnectionInstance()
+ * @generated
+ */
+ int CONNECTION_INSTANCE = 12;
+
+ /**
+ * The feature id for the '<em><b>From AI</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONNECTION_INSTANCE__FROM_AI = 0;
+
+ /**
+ * The feature id for the '<em><b>From SPP</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONNECTION_INSTANCE__FROM_SPP = 1;
+
+ /**
+ * The feature id for the '<em><b>To SPP</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONNECTION_INSTANCE__TO_SPP = 2;
+
+ /**
+ * The feature id for the '<em><b>Connection</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONNECTION_INSTANCE__CONNECTION = 3;
+
+ /**
+ * The number of structural features of the '<em>Connection Instance</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONNECTION_INSTANCE_FEATURE_COUNT = 4;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.etrice.core.genmodel.etricegen.impl.ActiveTriggerImpl <em>Active Trigger</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.etrice.core.genmodel.etricegen.impl.ActiveTriggerImpl
+ * @see org.eclipse.etrice.core.genmodel.etricegen.impl.ETriceGenPackageImpl#getActiveTrigger()
+ * @generated
+ */
+ int ACTIVE_TRIGGER = 13;
+
+ /**
+ * The feature id for the '<em><b>Msg</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_TRIGGER__MSG = 0;
+
+ /**
+ * The feature id for the '<em><b>Ifitem</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_TRIGGER__IFITEM = 1;
+
+ /**
+ * The feature id for the '<em><b>Trigger</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_TRIGGER__TRIGGER = 2;
+
+ /**
+ * The feature id for the '<em><b>Transitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_TRIGGER__TRANSITIONS = 3;
+
+ /**
+ * The number of structural features of the '<em>Active Trigger</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_TRIGGER_FEATURE_COUNT = 4;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.etrice.core.genmodel.etricegen.impl.TransitionChainImpl <em>Transition Chain</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.etrice.core.genmodel.etricegen.impl.TransitionChainImpl
+ * @see org.eclipse.etrice.core.genmodel.etricegen.impl.ETriceGenPackageImpl#getTransitionChain()
+ * @generated
+ */
+ int TRANSITION_CHAIN = 14;
+
+ /**
+ * The feature id for the '<em><b>Transition</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TRANSITION_CHAIN__TRANSITION = 0;
+
+ /**
+ * The feature id for the '<em><b>Data</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TRANSITION_CHAIN__DATA = 1;
+
+ /**
+ * The number of structural features of the '<em>Transition Chain</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TRANSITION_CHAIN_FEATURE_COUNT = 2;
+
+ /**
+ * The meta object id for the '{@link ITransitionChainVisitor <em>ITransition Chain Visitor</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see ITransitionChainVisitor
+ * @see org.eclipse.etrice.core.genmodel.etricegen.impl.ETriceGenPackageImpl#getITransitionChainVisitor()
+ * @generated
+ */
+ int ITRANSITION_CHAIN_VISITOR = 15;
+
+ /**
+ * The number of structural features of the '<em>ITransition Chain Visitor</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ITRANSITION_CHAIN_VISITOR_FEATURE_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link IDiagnostician <em>IDiagnostician</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see IDiagnostician
+ * @see org.eclipse.etrice.core.genmodel.etricegen.impl.ETriceGenPackageImpl#getIDiagnostician()
+ * @generated
+ */
+ int IDIAGNOSTICIAN = 16;
+
+ /**
+ * The number of structural features of the '<em>IDiagnostician</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IDIAGNOSTICIAN_FEATURE_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.etrice.core.genmodel.etricegen.impl.ExpandedActorClassImpl <em>Expanded Actor Class</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.etrice.core.genmodel.etricegen.impl.ExpandedActorClassImpl
+ * @see org.eclipse.etrice.core.genmodel.etricegen.impl.ETriceGenPackageImpl#getExpandedActorClass()
+ * @generated
+ */
+ int EXPANDED_ACTOR_CLASS = 17;
+
+ /**
+ * The feature id for the '<em><b>Actor Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXPANDED_ACTOR_CLASS__ACTOR_CLASS = 0;
+
+ /**
+ * The feature id for the '<em><b>State Machine</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXPANDED_ACTOR_CLASS__STATE_MACHINE = 1;
+
+ /**
+ * The number of structural features of the '<em>Expanded Actor Class</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXPANDED_ACTOR_CLASS_FEATURE_COUNT = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.etrice.core.genmodel.etricegen.impl.ExpandedRefinedStateImpl <em>Expanded Refined State</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.etrice.core.genmodel.etricegen.impl.ExpandedRefinedStateImpl
+ * @see org.eclipse.etrice.core.genmodel.etricegen.impl.ETriceGenPackageImpl#getExpandedRefinedState()
+ * @generated
+ */
+ int EXPANDED_REFINED_STATE = 18;
+
+ /**
+ * The feature id for the '<em><b>Docu</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXPANDED_REFINED_STATE__DOCU = RoomPackage.SIMPLE_STATE__DOCU;
+
+ /**
+ * The feature id for the '<em><b>Entry Code</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXPANDED_REFINED_STATE__ENTRY_CODE = RoomPackage.SIMPLE_STATE__ENTRY_CODE;
+
+ /**
+ * The feature id for the '<em><b>Exit Code</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXPANDED_REFINED_STATE__EXIT_CODE = RoomPackage.SIMPLE_STATE__EXIT_CODE;
+
+ /**
+ * The feature id for the '<em><b>Do Code</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXPANDED_REFINED_STATE__DO_CODE = RoomPackage.SIMPLE_STATE__DO_CODE;
+
+ /**
+ * The feature id for the '<em><b>Subgraph</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXPANDED_REFINED_STATE__SUBGRAPH = RoomPackage.SIMPLE_STATE__SUBGRAPH;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXPANDED_REFINED_STATE__NAME = RoomPackage.SIMPLE_STATE__NAME;
+
+ /**
+ * The feature id for the '<em><b>Inherited Entry</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXPANDED_REFINED_STATE__INHERITED_ENTRY = RoomPackage.SIMPLE_STATE_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Inherited Exit</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXPANDED_REFINED_STATE__INHERITED_EXIT = RoomPackage.SIMPLE_STATE_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Inherited Do</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXPANDED_REFINED_STATE__INHERITED_DO = RoomPackage.SIMPLE_STATE_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Expanded Refined State</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXPANDED_REFINED_STATE_FEATURE_COUNT = RoomPackage.SIMPLE_STATE_FEATURE_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.etrice.core.genmodel.etricegen.PortKind <em>Port Kind</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.etrice.core.genmodel.etricegen.PortKind
+ * @see org.eclipse.etrice.core.genmodel.etricegen.impl.ETriceGenPackageImpl#getPortKind()
+ * @generated
+ */
+ int PORT_KIND = 19;
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.etrice.core.genmodel.etricegen.Root <em>Root</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Root</em>'.
+ * @see org.eclipse.etrice.core.genmodel.etricegen.Root
+ * @generated
+ */
+ EClass getRoot();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.etrice.core.genmodel.etricegen.Root#isLibrary <em>Library</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Library</em>'.
+ * @see org.eclipse.etrice.core.genmodel.etricegen.Root#isLibrary()
+ * @see #getRoot()
+ * @generated
+ */
+ EAttribute getRoot_Library();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.etrice.core.genmodel.etricegen.Root#getSystemInstances <em>System Instances</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>System Instances</em>'.
+ * @see org.eclipse.etrice.core.genmodel.etricegen.Root#getSystemInstances()
+ * @see #getRoot()
+ * @generated
+ */
+ EReference getRoot_SystemInstances();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.etrice.core.genmodel.etricegen.Root#getOwnSubSystemInstances <em>Own Sub System Instances</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Own Sub System Instances</em>'.
+ * @see org.eclipse.etrice.core.genmodel.etricegen.Root#getOwnSubSystemInstances()
+ * @see #getRoot()
+ * @generated
+ */
+ EReference getRoot_OwnSubSystemInstances();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.etrice.core.genmodel.etricegen.Root#getSubSystemInstances <em>Sub System Instances</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Sub System Instances</em>'.
+ * @see org.eclipse.etrice.core.genmodel.etricegen.Root#getSubSystemInstances()
+ * @see #getRoot()
+ * @generated
+ */
+ EReference getRoot_SubSystemInstances();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.etrice.core.genmodel.etricegen.Root#getModels <em>Models</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Models</em>'.
+ * @see org.eclipse.etrice.core.genmodel.etricegen.Root#getModels()
+ * @see #getRoot()
+ * @generated
+ */
+ EReference getRoot_Models();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.etrice.core.genmodel.etricegen.Root#getXpActorClasses <em>Xp Actor Classes</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Xp Actor Classes</em>'.
+ * @see org.eclipse.etrice.core.genmodel.etricegen.Root#getXpActorClasses()
+ * @see #getRoot()
+ * @generated
+ */
+ EReference getRoot_XpActorClasses();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.etrice.core.genmodel.etricegen.Root#getUsedDataClasses <em>Used Data Classes</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Used Data Classes</em>'.
+ * @see org.eclipse.etrice.core.genmodel.etricegen.Root#getUsedDataClasses()
+ * @see #getRoot()
+ * @generated
+ */
+ EReference getRoot_UsedDataClasses();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.etrice.core.genmodel.etricegen.Root#getUsedProtocolClasses <em>Used Protocol Classes</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Used Protocol Classes</em>'.
+ * @see org.eclipse.etrice.core.genmodel.etricegen.Root#getUsedProtocolClasses()
+ * @see #getRoot()
+ * @generated
+ */
+ EReference getRoot_UsedProtocolClasses();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.etrice.core.genmodel.etricegen.Root#getUsedActorClasses <em>Used Actor Classes</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Used Actor Classes</em>'.
+ * @see org.eclipse.etrice.core.genmodel.etricegen.Root#getUsedActorClasses()
+ * @see #getRoot()
+ * @generated
+ */
+ EReference getRoot_UsedActorClasses();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.etrice.core.genmodel.etricegen.Root#getUsedRoomModels <em>Used Room Models</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Used Room Models</em>'.
+ * @see org.eclipse.etrice.core.genmodel.etricegen.Root#getUsedRoomModels()
+ * @see #getRoot()
+ * @generated
+ */
+ EReference getRoot_UsedRoomModels();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.etrice.core.genmodel.etricegen.Root#getSubSystemClasses <em>Sub System Classes</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Sub System Classes</em>'.
+ * @see org.eclipse.etrice.core.genmodel.etricegen.Root#getSubSystemClasses()
+ * @see #getRoot()
+ * @generated
+ */
+ EReference getRoot_SubSystemClasses();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.etrice.core.genmodel.etricegen.InstanceBase <em>Instance Base</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Instance Base</em>'.
+ * @see org.eclipse.etrice.core.genmodel.etricegen.InstanceBase
+ * @generated
+ */
+ EClass getInstanceBase();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.etrice.core.genmodel.etricegen.InstanceBase#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.etrice.core.genmodel.etricegen.InstanceBase#getName()
+ * @see #getInstanceBase()
+ * @generated
+ */
+ EAttribute getInstanceBase_Name();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.etrice.core.genmodel.etricegen.InstanceBase#getPath <em>Path</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Path</em>'.
+ * @see org.eclipse.etrice.core.genmodel.etricegen.InstanceBase#getPath()
+ * @see #getInstanceBase()
+ * @generated
+ */
+ EAttribute getInstanceBase_Path();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.etrice.core.genmodel.etricegen.InstanceBase#getObjId <em>Obj Id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Obj Id</em>'.
+ * @see org.eclipse.etrice.core.genmodel.etricegen.InstanceBase#getObjId()
+ * @see #getInstanceBase()
+ * @generated
+ */
+ EAttribute getInstanceBase_ObjId();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.etrice.core.genmodel.etricegen.InstanceBase#getThreadId <em>Thread Id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Thread Id</em>'.
+ * @see org.eclipse.etrice.core.genmodel.etricegen.InstanceBase#getThreadId()
+ * @see #getInstanceBase()
+ * @generated
+ */
+ EAttribute getInstanceBase_ThreadId();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.etrice.core.genmodel.etricegen.InstanceBase#getNObjIDs <em>NObj IDs</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>NObj IDs</em>'.
+ * @see org.eclipse.etrice.core.genmodel.etricegen.InstanceBase#getNObjIDs()
+ * @see #getInstanceBase()
+ * @generated
+ */
+ EAttribute getInstanceBase_NObjIDs();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.etrice.core.genmodel.etricegen.StructureInstance <em>Structure Instance</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Structure Instance</em>'.
+ * @see org.eclipse.etrice.core.genmodel.etricegen.StructureInstance
+ * @generated
+ */
+ EClass getStructureInstance();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.etrice.core.genmodel.etricegen.StructureInstance#getInstances <em>Instances</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Instances</em>'.
+ * @see org.eclipse.etrice.core.genmodel.etricegen.StructureInstance#getInstances()
+ * @see #getStructureInstance()
+ * @generated
+ */
+ EReference getStructureInstance_Instances();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.etrice.core.genmodel.etricegen.StructureInstance#getPorts <em>Ports</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Ports</em>'.
+ * @see org.eclipse.etrice.core.genmodel.etricegen.StructureInstance#getPorts()
+ * @see #getStructureInstance()
+ * @generated
+ */
+ EReference getStructureInstance_Ports();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.etrice.core.genmodel.etricegen.StructureInstance#getSaps <em>Saps</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Saps</em>'.
+ * @see org.eclipse.etrice.core.genmodel.etricegen.StructureInstance#getSaps()
+ * @see #getStructureInstance()
+ * @generated
+ */
+ EReference getStructureInstance_Saps();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.etrice.core.genmodel.etricegen.StructureInstance#getSpps <em>Spps</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Spps</em>'.
+ * @see org.eclipse.etrice.core.genmodel.etricegen.StructureInstance#getSpps()
+ * @see #getStructureInstance()
+ * @generated
+ */
+ EReference getStructureInstance_Spps();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.etrice.core.genmodel.etricegen.StructureInstance#getServices <em>Services</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Services</em>'.
+ * @see org.eclipse.etrice.core.genmodel.etricegen.StructureInstance#getServices()
+ * @see #getStructureInstance()
+ * @generated
+ */
+ EReference getStructureInstance_Services();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.etrice.core.genmodel.etricegen.StructureInstance#getBindings <em>Bindings</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Bindings</em>'.
+ * @see org.eclipse.etrice.core.genmodel.etricegen.StructureInstance#getBindings()
+ * @see #getStructureInstance()
+ * @generated
+ */
+ EReference getStructureInstance_Bindings();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.etrice.core.genmodel.etricegen.StructureInstance#getConnections <em>Connections</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Connections</em>'.
+ * @see org.eclipse.etrice.core.genmodel.etricegen.StructureInstance#getConnections()
+ * @see #getStructureInstance()
+ * @generated
+ */
+ EReference getStructureInstance_Connections();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.etrice.core.genmodel.etricegen.StructureInstance#getAllContainedInstances <em>All Contained Instances</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>All Contained Instances</em>'.
+ * @see org.eclipse.etrice.core.genmodel.etricegen.StructureInstance#getAllContainedInstances()
+ * @see #getStructureInstance()
+ * @generated
+ */
+ EReference getStructureInstance_AllContainedInstances();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.etrice.core.genmodel.etricegen.StructureInstance#getOrderedIfItemInstances <em>Ordered If Item Instances</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Ordered If Item Instances</em>'.
+ * @see org.eclipse.etrice.core.genmodel.etricegen.StructureInstance#getOrderedIfItemInstances()
+ * @see #getStructureInstance()
+ * @generated
+ */
+ EReference getStructureInstance_OrderedIfItemInstances();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.etrice.core.genmodel.etricegen.SystemInstance <em>System Instance</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>System Instance</em>'.
+ * @see org.eclipse.etrice.core.genmodel.etricegen.SystemInstance
+ * @generated
+ */
+ EClass getSystemInstance();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.etrice.core.genmodel.etricegen.SystemInstance#getInstances <em>Instances</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Instances</em>'.
+ * @see org.eclipse.etrice.core.genmodel.etricegen.SystemInstance#getInstances()
+ * @see #getSystemInstance()
+ * @generated
+ */
+ EReference getSystemInstance_Instances();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.etrice.core.genmodel.etricegen.SystemInstance#getLogicalSystem <em>Logical System</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Logical System</em>'.
+ * @see org.eclipse.etrice.core.genmodel.etricegen.SystemInstance#getLogicalSystem()
+ * @see #getSystemInstance()
+ * @generated
+ */
+ EReference getSystemInstance_LogicalSystem();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.etrice.core.genmodel.etricegen.SubSystemInstance <em>Sub System Instance</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Sub System Instance</em>'.
+ * @see org.eclipse.etrice.core.genmodel.etricegen.SubSystemInstance
+ * @generated
+ */
+ EClass getSubSystemInstance();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.etrice.core.genmodel.etricegen.SubSystemInstance#getSubSystemClass <em>Sub System Class</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Sub System Class</em>'.
+ * @see org.eclipse.etrice.core.genmodel.etricegen.SubSystemInstance#getSubSystemClass()
+ * @see #getSubSystemInstance()
+ * @generated
+ */
+ EReference getSubSystemInstance_SubSystemClass();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.etrice.core.genmodel.etricegen.SubSystemInstance#getMaxObjId <em>Max Obj Id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Max Obj Id</em>'.
+ * @see org.eclipse.etrice.core.genmodel.etricegen.SubSystemInstance#getMaxObjId()
+ * @see #getSubSystemInstance()
+ * @generated
+ */
+ EAttribute getSubSystemInstance_MaxObjId();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.etrice.core.genmodel.etricegen.ActorInstance <em>Actor Instance</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Actor Instance</em>'.
+ * @see org.eclipse.etrice.core.genmodel.etricegen.ActorInstance
+ * @generated
+ */
+ EClass getActorInstance();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.etrice.core.genmodel.etricegen.ActorInstance#getActorClass <em>Actor Class</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Actor Class</em>'.
+ * @see org.eclipse.etrice.core.genmodel.etricegen.ActorInstance#getActorClass()
+ * @see #getActorInstance()
+ * @generated
+ */
+ EReference getActorInstance_ActorClass();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.etrice.core.genmodel.etricegen.ActorInstance#getReplIdx <em>Repl Idx</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Repl Idx</em>'.
+ * @see org.eclipse.etrice.core.genmodel.etricegen.ActorInstance#getReplIdx()
+ * @see #getActorInstance()
+ * @generated
+ */
+ EAttribute getActorInstance_ReplIdx();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.etrice.core.genmodel.etricegen.ActorInstance#getUnindexedName <em>Unindexed Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Unindexed Name</em>'.
+ * @see org.eclipse.etrice.core.genmodel.etricegen.ActorInstance#getUnindexedName()
+ * @see #getActorInstance()
+ * @generated
+ */
+ EAttribute getActorInstance_UnindexedName();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.etrice.core.genmodel.etricegen.InterfaceItemInstance <em>Interface Item Instance</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Interface Item Instance</em>'.
+ * @see org.eclipse.etrice.core.genmodel.etricegen.InterfaceItemInstance
+ * @generated
+ */
+ EClass getInterfaceItemInstance();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.etrice.core.genmodel.etricegen.InterfaceItemInstance#getProtocol <em>Protocol</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Protocol</em>'.
+ * @see org.eclipse.etrice.core.genmodel.etricegen.InterfaceItemInstance#getProtocol()
+ * @see #getInterfaceItemInstance()
+ * @generated
+ */
+ EReference getInterfaceItemInstance_Protocol();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.etrice.core.genmodel.etricegen.InterfaceItemInstance#getPeers <em>Peers</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Peers</em>'.
+ * @see org.eclipse.etrice.core.genmodel.etricegen.InterfaceItemInstance#getPeers()
+ * @see #getInterfaceItemInstance()
+ * @generated
+ */
+ EReference getInterfaceItemInstance_Peers();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.etrice.core.genmodel.etricegen.PortInstance <em>Port Instance</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Port Instance</em>'.
+ * @see org.eclipse.etrice.core.genmodel.etricegen.PortInstance
+ * @generated
+ */
+ EClass getPortInstance();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.etrice.core.genmodel.etricegen.PortInstance#getPort <em>Port</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Port</em>'.
+ * @see org.eclipse.etrice.core.genmodel.etricegen.PortInstance#getPort()
+ * @see #getPortInstance()
+ * @generated
+ */
+ EReference getPortInstance_Port();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.etrice.core.genmodel.etricegen.PortInstance#getKind <em>Kind</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Kind</em>'.
+ * @see org.eclipse.etrice.core.genmodel.etricegen.PortInstance#getKind()
+ * @see #getPortInstance()
+ * @generated
+ */
+ EAttribute getPortInstance_Kind();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.etrice.core.genmodel.etricegen.PortInstance#getBindings <em>Bindings</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Bindings</em>'.
+ * @see org.eclipse.etrice.core.genmodel.etricegen.PortInstance#getBindings()
+ * @see #getPortInstance()
+ * @generated
+ */
+ EReference getPortInstance_Bindings();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.etrice.core.genmodel.etricegen.BindingInstance <em>Binding Instance</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Binding Instance</em>'.
+ * @see org.eclipse.etrice.core.genmodel.etricegen.BindingInstance
+ * @generated
+ */
+ EClass getBindingInstance();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.etrice.core.genmodel.etricegen.BindingInstance#getPorts <em>Ports</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Ports</em>'.
+ * @see org.eclipse.etrice.core.genmodel.etricegen.BindingInstance#getPorts()
+ * @see #getBindingInstance()
+ * @generated
+ */
+ EReference getBindingInstance_Ports();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.etrice.core.genmodel.etricegen.BindingInstance#getBinding <em>Binding</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Binding</em>'.
+ * @see org.eclipse.etrice.core.genmodel.etricegen.BindingInstance#getBinding()
+ * @see #getBindingInstance()
+ * @generated
+ */
+ EReference getBindingInstance_Binding();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.etrice.core.genmodel.etricegen.SAPInstance <em>SAP Instance</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>SAP Instance</em>'.
+ * @see org.eclipse.etrice.core.genmodel.etricegen.SAPInstance
+ * @generated
+ */
+ EClass getSAPInstance();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.etrice.core.genmodel.etricegen.SAPInstance#getSap <em>Sap</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Sap</em>'.
+ * @see org.eclipse.etrice.core.genmodel.etricegen.SAPInstance#getSap()
+ * @see #getSAPInstance()
+ * @generated
+ */
+ EReference getSAPInstance_Sap();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.etrice.core.genmodel.etricegen.SPPInstance <em>SPP Instance</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>SPP Instance</em>'.
+ * @see org.eclipse.etrice.core.genmodel.etricegen.SPPInstance
+ * @generated
+ */
+ EClass getSPPInstance();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.etrice.core.genmodel.etricegen.SPPInstance#getSpp <em>Spp</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Spp</em>'.
+ * @see org.eclipse.etrice.core.genmodel.etricegen.SPPInstance#getSpp()
+ * @see #getSPPInstance()
+ * @generated
+ */
+ EReference getSPPInstance_Spp();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.etrice.core.genmodel.etricegen.SPPInstance#getIncoming <em>Incoming</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Incoming</em>'.
+ * @see org.eclipse.etrice.core.genmodel.etricegen.SPPInstance#getIncoming()
+ * @see #getSPPInstance()
+ * @generated
+ */
+ EReference getSPPInstance_Incoming();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.etrice.core.genmodel.etricegen.SPPInstance#getOutgoing <em>Outgoing</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Outgoing</em>'.
+ * @see org.eclipse.etrice.core.genmodel.etricegen.SPPInstance#getOutgoing()
+ * @see #getSPPInstance()
+ * @generated
+ */
+ EReference getSPPInstance_Outgoing();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.etrice.core.genmodel.etricegen.ServiceImplInstance <em>Service Impl Instance</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Service Impl Instance</em>'.
+ * @see org.eclipse.etrice.core.genmodel.etricegen.ServiceImplInstance
+ * @generated
+ */
+ EClass getServiceImplInstance();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.etrice.core.genmodel.etricegen.ServiceImplInstance#getSvcImpl <em>Svc Impl</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Svc Impl</em>'.
+ * @see org.eclipse.etrice.core.genmodel.etricegen.ServiceImplInstance#getSvcImpl()
+ * @see #getServiceImplInstance()
+ * @generated
+ */
+ EReference getServiceImplInstance_SvcImpl();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.etrice.core.genmodel.etricegen.ConnectionInstance <em>Connection Instance</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Connection Instance</em>'.
+ * @see org.eclipse.etrice.core.genmodel.etricegen.ConnectionInstance
+ * @generated
+ */
+ EClass getConnectionInstance();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.etrice.core.genmodel.etricegen.ConnectionInstance#getFromAI <em>From AI</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>From AI</em>'.
+ * @see org.eclipse.etrice.core.genmodel.etricegen.ConnectionInstance#getFromAI()
+ * @see #getConnectionInstance()
+ * @generated
+ */
+ EReference getConnectionInstance_FromAI();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.etrice.core.genmodel.etricegen.ConnectionInstance#getFromSPP <em>From SPP</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>From SPP</em>'.
+ * @see org.eclipse.etrice.core.genmodel.etricegen.ConnectionInstance#getFromSPP()
+ * @see #getConnectionInstance()
+ * @generated
+ */
+ EReference getConnectionInstance_FromSPP();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.etrice.core.genmodel.etricegen.ConnectionInstance#getToSPP <em>To SPP</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>To SPP</em>'.
+ * @see org.eclipse.etrice.core.genmodel.etricegen.ConnectionInstance#getToSPP()
+ * @see #getConnectionInstance()
+ * @generated
+ */
+ EReference getConnectionInstance_ToSPP();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.etrice.core.genmodel.etricegen.ConnectionInstance#getConnection <em>Connection</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Connection</em>'.
+ * @see org.eclipse.etrice.core.genmodel.etricegen.ConnectionInstance#getConnection()
+ * @see #getConnectionInstance()
+ * @generated
+ */
+ EReference getConnectionInstance_Connection();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.etrice.core.genmodel.etricegen.ActiveTrigger <em>Active Trigger</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Active Trigger</em>'.
+ * @see org.eclipse.etrice.core.genmodel.etricegen.ActiveTrigger
+ * @generated
+ */
+ EClass getActiveTrigger();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.etrice.core.genmodel.etricegen.ActiveTrigger#getMsg <em>Msg</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Msg</em>'.
+ * @see org.eclipse.etrice.core.genmodel.etricegen.ActiveTrigger#getMsg()
+ * @see #getActiveTrigger()
+ * @generated
+ */
+ EReference getActiveTrigger_Msg();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.etrice.core.genmodel.etricegen.ActiveTrigger#getIfitem <em>Ifitem</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Ifitem</em>'.
+ * @see org.eclipse.etrice.core.genmodel.etricegen.ActiveTrigger#getIfitem()
+ * @see #getActiveTrigger()
+ * @generated
+ */
+ EReference getActiveTrigger_Ifitem();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.etrice.core.genmodel.etricegen.ActiveTrigger#getTrigger <em>Trigger</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Trigger</em>'.
+ * @see org.eclipse.etrice.core.genmodel.etricegen.ActiveTrigger#getTrigger()
+ * @see #getActiveTrigger()
+ * @generated
+ */
+ EAttribute getActiveTrigger_Trigger();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.etrice.core.genmodel.etricegen.ActiveTrigger#getTransitions <em>Transitions</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Transitions</em>'.
+ * @see org.eclipse.etrice.core.genmodel.etricegen.ActiveTrigger#getTransitions()
+ * @see #getActiveTrigger()
+ * @generated
+ */
+ EReference getActiveTrigger_Transitions();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.etrice.core.genmodel.etricegen.TransitionChain <em>Transition Chain</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Transition Chain</em>'.
+ * @see org.eclipse.etrice.core.genmodel.etricegen.TransitionChain
+ * @generated
+ */
+ EClass getTransitionChain();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.etrice.core.genmodel.etricegen.TransitionChain#getTransition <em>Transition</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Transition</em>'.
+ * @see org.eclipse.etrice.core.genmodel.etricegen.TransitionChain#getTransition()
+ * @see #getTransitionChain()
+ * @generated
+ */
+ EReference getTransitionChain_Transition();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.etrice.core.genmodel.etricegen.TransitionChain#getData <em>Data</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Data</em>'.
+ * @see org.eclipse.etrice.core.genmodel.etricegen.TransitionChain#getData()
+ * @see #getTransitionChain()
+ * @generated
+ */
+ EReference getTransitionChain_Data();
+
+ /**
+ * Returns the meta object for class '{@link ITransitionChainVisitor <em>ITransition Chain Visitor</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>ITransition Chain Visitor</em>'.
+ * @see ITransitionChainVisitor
+ * @model instanceClass="ITransitionChainVisitor"
+ * @generated
+ */
+ EClass getITransitionChainVisitor();
+
+ /**
+ * Returns the meta object for class '{@link IDiagnostician <em>IDiagnostician</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>IDiagnostician</em>'.
+ * @see IDiagnostician
+ * @model instanceClass="IDiagnostician"
+ * @generated
+ */
+ EClass getIDiagnostician();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.etrice.core.genmodel.etricegen.ExpandedActorClass <em>Expanded Actor Class</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Expanded Actor Class</em>'.
+ * @see org.eclipse.etrice.core.genmodel.etricegen.ExpandedActorClass
+ * @generated
+ */
+ EClass getExpandedActorClass();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.etrice.core.genmodel.etricegen.ExpandedActorClass#getActorClass <em>Actor Class</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Actor Class</em>'.
+ * @see org.eclipse.etrice.core.genmodel.etricegen.ExpandedActorClass#getActorClass()
+ * @see #getExpandedActorClass()
+ * @generated
+ */
+ EReference getExpandedActorClass_ActorClass();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.etrice.core.genmodel.etricegen.ExpandedActorClass#getStateMachine <em>State Machine</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>State Machine</em>'.
+ * @see org.eclipse.etrice.core.genmodel.etricegen.ExpandedActorClass#getStateMachine()
+ * @see #getExpandedActorClass()
+ * @generated
+ */
+ EReference getExpandedActorClass_StateMachine();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.etrice.core.genmodel.etricegen.ExpandedRefinedState <em>Expanded Refined State</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Expanded Refined State</em>'.
+ * @see org.eclipse.etrice.core.genmodel.etricegen.ExpandedRefinedState
+ * @generated
+ */
+ EClass getExpandedRefinedState();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.etrice.core.genmodel.etricegen.ExpandedRefinedState#getInheritedEntry <em>Inherited Entry</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Inherited Entry</em>'.
+ * @see org.eclipse.etrice.core.genmodel.etricegen.ExpandedRefinedState#getInheritedEntry()
+ * @see #getExpandedRefinedState()
+ * @generated
+ */
+ EReference getExpandedRefinedState_InheritedEntry();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.etrice.core.genmodel.etricegen.ExpandedRefinedState#getInheritedExit <em>Inherited Exit</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Inherited Exit</em>'.
+ * @see org.eclipse.etrice.core.genmodel.etricegen.ExpandedRefinedState#getInheritedExit()
+ * @see #getExpandedRefinedState()
+ * @generated
+ */
+ EReference getExpandedRefinedState_InheritedExit();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.etrice.core.genmodel.etricegen.ExpandedRefinedState#getInheritedDo <em>Inherited Do</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Inherited Do</em>'.
+ * @see org.eclipse.etrice.core.genmodel.etricegen.ExpandedRefinedState#getInheritedDo()
+ * @see #getExpandedRefinedState()
+ * @generated
+ */
+ EReference getExpandedRefinedState_InheritedDo();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.etrice.core.genmodel.etricegen.PortKind <em>Port Kind</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em>Port Kind</em>'.
+ * @see org.eclipse.etrice.core.genmodel.etricegen.PortKind
+ * @generated
+ */
+ EEnum getPortKind();
+
+ /**
+ * Returns the factory that creates the instances of the model.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the factory that creates the instances of the model.
+ * @generated
+ */
+ ETriceGenFactory getETriceGenFactory();
+
+ /**
+ * <!-- begin-user-doc -->
+ * Defines literals for the meta objects that represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ interface Literals {
+ /**
+ * The meta object literal for the '{@link org.eclipse.etrice.core.genmodel.etricegen.impl.RootImpl <em>Root</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.etrice.core.genmodel.etricegen.impl.RootImpl
+ * @see org.eclipse.etrice.core.genmodel.etricegen.impl.ETriceGenPackageImpl#getRoot()
+ * @generated
+ */
+ EClass ROOT = eINSTANCE.getRoot();
+
+ /**
+ * The meta object literal for the '<em><b>Library</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ROOT__LIBRARY = eINSTANCE.getRoot_Library();
+
+ /**
+ * The meta object literal for the '<em><b>System Instances</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ROOT__SYSTEM_INSTANCES = eINSTANCE.getRoot_SystemInstances();
+
+ /**
+ * The meta object literal for the '<em><b>Own Sub System Instances</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ROOT__OWN_SUB_SYSTEM_INSTANCES = eINSTANCE.getRoot_OwnSubSystemInstances();
+
+ /**
+ * The meta object literal for the '<em><b>Sub System Instances</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ROOT__SUB_SYSTEM_INSTANCES = eINSTANCE.getRoot_SubSystemInstances();
+
+ /**
+ * The meta object literal for the '<em><b>Models</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ROOT__MODELS = eINSTANCE.getRoot_Models();
+
+ /**
+ * The meta object literal for the '<em><b>Xp Actor Classes</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ROOT__XP_ACTOR_CLASSES = eINSTANCE.getRoot_XpActorClasses();
+
+ /**
+ * The meta object literal for the '<em><b>Used Data Classes</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ROOT__USED_DATA_CLASSES = eINSTANCE.getRoot_UsedDataClasses();
+
+ /**
+ * The meta object literal for the '<em><b>Used Protocol Classes</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ROOT__USED_PROTOCOL_CLASSES = eINSTANCE.getRoot_UsedProtocolClasses();
+
+ /**
+ * The meta object literal for the '<em><b>Used Actor Classes</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ROOT__USED_ACTOR_CLASSES = eINSTANCE.getRoot_UsedActorClasses();
+
+ /**
+ * The meta object literal for the '<em><b>Used Room Models</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ROOT__USED_ROOM_MODELS = eINSTANCE.getRoot_UsedRoomModels();
+
+ /**
+ * The meta object literal for the '<em><b>Sub System Classes</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ROOT__SUB_SYSTEM_CLASSES = eINSTANCE.getRoot_SubSystemClasses();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.etrice.core.genmodel.etricegen.impl.InstanceBaseImpl <em>Instance Base</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.etrice.core.genmodel.etricegen.impl.InstanceBaseImpl
+ * @see org.eclipse.etrice.core.genmodel.etricegen.impl.ETriceGenPackageImpl#getInstanceBase()
+ * @generated
+ */
+ EClass INSTANCE_BASE = eINSTANCE.getInstanceBase();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute INSTANCE_BASE__NAME = eINSTANCE.getInstanceBase_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Path</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute INSTANCE_BASE__PATH = eINSTANCE.getInstanceBase_Path();
+
+ /**
+ * The meta object literal for the '<em><b>Obj Id</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute INSTANCE_BASE__OBJ_ID = eINSTANCE.getInstanceBase_ObjId();
+
+ /**
+ * The meta object literal for the '<em><b>Thread Id</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute INSTANCE_BASE__THREAD_ID = eINSTANCE.getInstanceBase_ThreadId();
+
+ /**
+ * The meta object literal for the '<em><b>NObj IDs</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute INSTANCE_BASE__NOBJ_IDS = eINSTANCE.getInstanceBase_NObjIDs();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.etrice.core.genmodel.etricegen.impl.StructureInstanceImpl <em>Structure Instance</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.etrice.core.genmodel.etricegen.impl.StructureInstanceImpl
+ * @see org.eclipse.etrice.core.genmodel.etricegen.impl.ETriceGenPackageImpl#getStructureInstance()
+ * @generated
+ */
+ EClass STRUCTURE_INSTANCE = eINSTANCE.getStructureInstance();
+
+ /**
+ * The meta object literal for the '<em><b>Instances</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference STRUCTURE_INSTANCE__INSTANCES = eINSTANCE.getStructureInstance_Instances();
+
+ /**
+ * The meta object literal for the '<em><b>Ports</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference STRUCTURE_INSTANCE__PORTS = eINSTANCE.getStructureInstance_Ports();
+
+ /**
+ * The meta object literal for the '<em><b>Saps</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference STRUCTURE_INSTANCE__SAPS = eINSTANCE.getStructureInstance_Saps();
+
+ /**
+ * The meta object literal for the '<em><b>Spps</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference STRUCTURE_INSTANCE__SPPS = eINSTANCE.getStructureInstance_Spps();
+
+ /**
+ * The meta object literal for the '<em><b>Services</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference STRUCTURE_INSTANCE__SERVICES = eINSTANCE.getStructureInstance_Services();
+
+ /**
+ * The meta object literal for the '<em><b>Bindings</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference STRUCTURE_INSTANCE__BINDINGS = eINSTANCE.getStructureInstance_Bindings();
+
+ /**
+ * The meta object literal for the '<em><b>Connections</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference STRUCTURE_INSTANCE__CONNECTIONS = eINSTANCE.getStructureInstance_Connections();
+
+ /**
+ * The meta object literal for the '<em><b>All Contained Instances</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference STRUCTURE_INSTANCE__ALL_CONTAINED_INSTANCES = eINSTANCE.getStructureInstance_AllContainedInstances();
+
+ /**
+ * The meta object literal for the '<em><b>Ordered If Item Instances</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference STRUCTURE_INSTANCE__ORDERED_IF_ITEM_INSTANCES = eINSTANCE.getStructureInstance_OrderedIfItemInstances();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.etrice.core.genmodel.etricegen.impl.SystemInstanceImpl <em>System Instance</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.etrice.core.genmodel.etricegen.impl.SystemInstanceImpl
+ * @see org.eclipse.etrice.core.genmodel.etricegen.impl.ETriceGenPackageImpl#getSystemInstance()
+ * @generated
+ */
+ EClass SYSTEM_INSTANCE = eINSTANCE.getSystemInstance();
+
+ /**
+ * The meta object literal for the '<em><b>Instances</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SYSTEM_INSTANCE__INSTANCES = eINSTANCE.getSystemInstance_Instances();
+
+ /**
+ * The meta object literal for the '<em><b>Logical System</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SYSTEM_INSTANCE__LOGICAL_SYSTEM = eINSTANCE.getSystemInstance_LogicalSystem();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.etrice.core.genmodel.etricegen.impl.SubSystemInstanceImpl <em>Sub System Instance</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.etrice.core.genmodel.etricegen.impl.SubSystemInstanceImpl
+ * @see org.eclipse.etrice.core.genmodel.etricegen.impl.ETriceGenPackageImpl#getSubSystemInstance()
+ * @generated
+ */
+ EClass SUB_SYSTEM_INSTANCE = eINSTANCE.getSubSystemInstance();
+
+ /**
+ * The meta object literal for the '<em><b>Sub System Class</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SUB_SYSTEM_INSTANCE__SUB_SYSTEM_CLASS = eINSTANCE.getSubSystemInstance_SubSystemClass();
+
+ /**
+ * The meta object literal for the '<em><b>Max Obj Id</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SUB_SYSTEM_INSTANCE__MAX_OBJ_ID = eINSTANCE.getSubSystemInstance_MaxObjId();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.etrice.core.genmodel.etricegen.impl.ActorInstanceImpl <em>Actor Instance</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.etrice.core.genmodel.etricegen.impl.ActorInstanceImpl
+ * @see org.eclipse.etrice.core.genmodel.etricegen.impl.ETriceGenPackageImpl#getActorInstance()
+ * @generated
+ */
+ EClass ACTOR_INSTANCE = eINSTANCE.getActorInstance();
+
+ /**
+ * The meta object literal for the '<em><b>Actor Class</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ACTOR_INSTANCE__ACTOR_CLASS = eINSTANCE.getActorInstance_ActorClass();
+
+ /**
+ * The meta object literal for the '<em><b>Repl Idx</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ACTOR_INSTANCE__REPL_IDX = eINSTANCE.getActorInstance_ReplIdx();
+
+ /**
+ * The meta object literal for the '<em><b>Unindexed Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ACTOR_INSTANCE__UNINDEXED_NAME = eINSTANCE.getActorInstance_UnindexedName();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.etrice.core.genmodel.etricegen.impl.InterfaceItemInstanceImpl <em>Interface Item Instance</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.etrice.core.genmodel.etricegen.impl.InterfaceItemInstanceImpl
+ * @see org.eclipse.etrice.core.genmodel.etricegen.impl.ETriceGenPackageImpl#getInterfaceItemInstance()
+ * @generated
+ */
+ EClass INTERFACE_ITEM_INSTANCE = eINSTANCE.getInterfaceItemInstance();
+
+ /**
+ * The meta object literal for the '<em><b>Protocol</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference INTERFACE_ITEM_INSTANCE__PROTOCOL = eINSTANCE.getInterfaceItemInstance_Protocol();
+
+ /**
+ * The meta object literal for the '<em><b>Peers</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference INTERFACE_ITEM_INSTANCE__PEERS = eINSTANCE.getInterfaceItemInstance_Peers();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.etrice.core.genmodel.etricegen.impl.PortInstanceImpl <em>Port Instance</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.etrice.core.genmodel.etricegen.impl.PortInstanceImpl
+ * @see org.eclipse.etrice.core.genmodel.etricegen.impl.ETriceGenPackageImpl#getPortInstance()
+ * @generated
+ */
+ EClass PORT_INSTANCE = eINSTANCE.getPortInstance();
+
+ /**
+ * The meta object literal for the '<em><b>Port</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PORT_INSTANCE__PORT = eINSTANCE.getPortInstance_Port();
+
+ /**
+ * The meta object literal for the '<em><b>Kind</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute PORT_INSTANCE__KIND = eINSTANCE.getPortInstance_Kind();
+
+ /**
+ * The meta object literal for the '<em><b>Bindings</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PORT_INSTANCE__BINDINGS = eINSTANCE.getPortInstance_Bindings();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.etrice.core.genmodel.etricegen.impl.BindingInstanceImpl <em>Binding Instance</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.etrice.core.genmodel.etricegen.impl.BindingInstanceImpl
+ * @see org.eclipse.etrice.core.genmodel.etricegen.impl.ETriceGenPackageImpl#getBindingInstance()
+ * @generated
+ */
+ EClass BINDING_INSTANCE = eINSTANCE.getBindingInstance();
+
+ /**
+ * The meta object literal for the '<em><b>Ports</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference BINDING_INSTANCE__PORTS = eINSTANCE.getBindingInstance_Ports();
+
+ /**
+ * The meta object literal for the '<em><b>Binding</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference BINDING_INSTANCE__BINDING = eINSTANCE.getBindingInstance_Binding();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.etrice.core.genmodel.etricegen.impl.SAPInstanceImpl <em>SAP Instance</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.etrice.core.genmodel.etricegen.impl.SAPInstanceImpl
+ * @see org.eclipse.etrice.core.genmodel.etricegen.impl.ETriceGenPackageImpl#getSAPInstance()
+ * @generated
+ */
+ EClass SAP_INSTANCE = eINSTANCE.getSAPInstance();
+
+ /**
+ * The meta object literal for the '<em><b>Sap</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SAP_INSTANCE__SAP = eINSTANCE.getSAPInstance_Sap();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.etrice.core.genmodel.etricegen.impl.SPPInstanceImpl <em>SPP Instance</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.etrice.core.genmodel.etricegen.impl.SPPInstanceImpl
+ * @see org.eclipse.etrice.core.genmodel.etricegen.impl.ETriceGenPackageImpl#getSPPInstance()
+ * @generated
+ */
+ EClass SPP_INSTANCE = eINSTANCE.getSPPInstance();
+
+ /**
+ * The meta object literal for the '<em><b>Spp</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SPP_INSTANCE__SPP = eINSTANCE.getSPPInstance_Spp();
+
+ /**
+ * The meta object literal for the '<em><b>Incoming</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SPP_INSTANCE__INCOMING = eINSTANCE.getSPPInstance_Incoming();
+
+ /**
+ * The meta object literal for the '<em><b>Outgoing</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SPP_INSTANCE__OUTGOING = eINSTANCE.getSPPInstance_Outgoing();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.etrice.core.genmodel.etricegen.impl.ServiceImplInstanceImpl <em>Service Impl Instance</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.etrice.core.genmodel.etricegen.impl.ServiceImplInstanceImpl
+ * @see org.eclipse.etrice.core.genmodel.etricegen.impl.ETriceGenPackageImpl#getServiceImplInstance()
+ * @generated
+ */
+ EClass SERVICE_IMPL_INSTANCE = eINSTANCE.getServiceImplInstance();
+
+ /**
+ * The meta object literal for the '<em><b>Svc Impl</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SERVICE_IMPL_INSTANCE__SVC_IMPL = eINSTANCE.getServiceImplInstance_SvcImpl();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.etrice.core.genmodel.etricegen.impl.ConnectionInstanceImpl <em>Connection Instance</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.etrice.core.genmodel.etricegen.impl.ConnectionInstanceImpl
+ * @see org.eclipse.etrice.core.genmodel.etricegen.impl.ETriceGenPackageImpl#getConnectionInstance()
+ * @generated
+ */
+ EClass CONNECTION_INSTANCE = eINSTANCE.getConnectionInstance();
+
+ /**
+ * The meta object literal for the '<em><b>From AI</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference CONNECTION_INSTANCE__FROM_AI = eINSTANCE.getConnectionInstance_FromAI();
+
+ /**
+ * The meta object literal for the '<em><b>From SPP</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference CONNECTION_INSTANCE__FROM_SPP = eINSTANCE.getConnectionInstance_FromSPP();
+
+ /**
+ * The meta object literal for the '<em><b>To SPP</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference CONNECTION_INSTANCE__TO_SPP = eINSTANCE.getConnectionInstance_ToSPP();
+
+ /**
+ * The meta object literal for the '<em><b>Connection</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference CONNECTION_INSTANCE__CONNECTION = eINSTANCE.getConnectionInstance_Connection();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.etrice.core.genmodel.etricegen.impl.ActiveTriggerImpl <em>Active Trigger</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.etrice.core.genmodel.etricegen.impl.ActiveTriggerImpl
+ * @see org.eclipse.etrice.core.genmodel.etricegen.impl.ETriceGenPackageImpl#getActiveTrigger()
+ * @generated
+ */
+ EClass ACTIVE_TRIGGER = eINSTANCE.getActiveTrigger();
+
+ /**
+ * The meta object literal for the '<em><b>Msg</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ACTIVE_TRIGGER__MSG = eINSTANCE.getActiveTrigger_Msg();
+
+ /**
+ * The meta object literal for the '<em><b>Ifitem</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ACTIVE_TRIGGER__IFITEM = eINSTANCE.getActiveTrigger_Ifitem();
+
+ /**
+ * The meta object literal for the '<em><b>Trigger</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ACTIVE_TRIGGER__TRIGGER = eINSTANCE.getActiveTrigger_Trigger();
+
+ /**
+ * The meta object literal for the '<em><b>Transitions</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ACTIVE_TRIGGER__TRANSITIONS = eINSTANCE.getActiveTrigger_Transitions();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.etrice.core.genmodel.etricegen.impl.TransitionChainImpl <em>Transition Chain</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.etrice.core.genmodel.etricegen.impl.TransitionChainImpl
+ * @see org.eclipse.etrice.core.genmodel.etricegen.impl.ETriceGenPackageImpl#getTransitionChain()
+ * @generated
+ */
+ EClass TRANSITION_CHAIN = eINSTANCE.getTransitionChain();
+
+ /**
+ * The meta object literal for the '<em><b>Transition</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference TRANSITION_CHAIN__TRANSITION = eINSTANCE.getTransitionChain_Transition();
+
+ /**
+ * The meta object literal for the '<em><b>Data</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference TRANSITION_CHAIN__DATA = eINSTANCE.getTransitionChain_Data();
+
+ /**
+ * The meta object literal for the '{@link ITransitionChainVisitor <em>ITransition Chain Visitor</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see ITransitionChainVisitor
+ * @see org.eclipse.etrice.core.genmodel.etricegen.impl.ETriceGenPackageImpl#getITransitionChainVisitor()
+ * @generated
+ */
+ EClass ITRANSITION_CHAIN_VISITOR = eINSTANCE.getITransitionChainVisitor();
+
+ /**
+ * The meta object literal for the '{@link IDiagnostician <em>IDiagnostician</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see IDiagnostician
+ * @see org.eclipse.etrice.core.genmodel.etricegen.impl.ETriceGenPackageImpl#getIDiagnostician()
+ * @generated
+ */
+ EClass IDIAGNOSTICIAN = eINSTANCE.getIDiagnostician();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.etrice.core.genmodel.etricegen.impl.ExpandedActorClassImpl <em>Expanded Actor Class</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.etrice.core.genmodel.etricegen.impl.ExpandedActorClassImpl
+ * @see org.eclipse.etrice.core.genmodel.etricegen.impl.ETriceGenPackageImpl#getExpandedActorClass()
+ * @generated
+ */
+ EClass EXPANDED_ACTOR_CLASS = eINSTANCE.getExpandedActorClass();
+
+ /**
+ * The meta object literal for the '<em><b>Actor Class</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference EXPANDED_ACTOR_CLASS__ACTOR_CLASS = eINSTANCE.getExpandedActorClass_ActorClass();
+
+ /**
+ * The meta object literal for the '<em><b>State Machine</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference EXPANDED_ACTOR_CLASS__STATE_MACHINE = eINSTANCE.getExpandedActorClass_StateMachine();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.etrice.core.genmodel.etricegen.impl.ExpandedRefinedStateImpl <em>Expanded Refined State</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.etrice.core.genmodel.etricegen.impl.ExpandedRefinedStateImpl
+ * @see org.eclipse.etrice.core.genmodel.etricegen.impl.ETriceGenPackageImpl#getExpandedRefinedState()
+ * @generated
+ */
+ EClass EXPANDED_REFINED_STATE = eINSTANCE.getExpandedRefinedState();
+
+ /**
+ * The meta object literal for the '<em><b>Inherited Entry</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference EXPANDED_REFINED_STATE__INHERITED_ENTRY = eINSTANCE.getExpandedRefinedState_InheritedEntry();
+
+ /**
+ * The meta object literal for the '<em><b>Inherited Exit</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference EXPANDED_REFINED_STATE__INHERITED_EXIT = eINSTANCE.getExpandedRefinedState_InheritedExit();
+
+ /**
+ * The meta object literal for the '<em><b>Inherited Do</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference EXPANDED_REFINED_STATE__INHERITED_DO = eINSTANCE.getExpandedRefinedState_InheritedDo();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.etrice.core.genmodel.etricegen.PortKind <em>Port Kind</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.etrice.core.genmodel.etricegen.PortKind
+ * @see org.eclipse.etrice.core.genmodel.etricegen.impl.ETriceGenPackageImpl#getPortKind()
+ * @generated
+ */
+ EEnum PORT_KIND = eINSTANCE.getPortKind();
+
+ }
+
+} //ETriceGenPackage
diff --git a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/ExpandedActorClass.java b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/ExpandedActorClass.java
index b2e9d22d8..b82e5c39a 100644
--- a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/ExpandedActorClass.java
+++ b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/ExpandedActorClass.java
@@ -1,313 +1,313 @@
-/*******************************************************************************
- * Copyright (c) 2010 protos software gmbh (http://www.protos.de).
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * CONTRIBUTORS:
- * Thomas Schuetz and Henrik Rentz-Reichert (initial contribution)
- *
- *******************************************************************************/
-
-package org.eclipse.etrice.core.genmodel.etricegen;
-
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.etrice.core.room.ActorClass;
-import org.eclipse.etrice.core.room.ContinuationTransition;
-import org.eclipse.etrice.core.room.InterfaceItem;
-import org.eclipse.etrice.core.room.MessageFromIf;
-import org.eclipse.etrice.core.room.State;
-import org.eclipse.etrice.core.room.StateGraph;
-import org.eclipse.etrice.core.room.StateGraphItem;
-import org.eclipse.etrice.core.room.StateGraphNode;
-import org.eclipse.etrice.core.room.Transition;
-import org.eclipse.etrice.core.room.Trigger;
-import org.eclipse.etrice.core.room.VarDecl;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Expanded Actor Class</b></em>'.
- * The expanded actor class holds a state machine which includes all inherited state graph items
- * and has the refined states replaced with simple states.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.ExpandedActorClass#getActorClass <em>Actor Class</em>}</li>
- * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.ExpandedActorClass#getStateMachine <em>State Machine</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getExpandedActorClass()
- * @model
- * @generated
- */
-public interface ExpandedActorClass extends EObject {
- /**
- * Returns the value of the '<em><b>Actor Class</b></em>' reference.
- * <!-- begin-user-doc -->
- * <p>
- * A reference to the original {@link ActorClass}.
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Actor Class</em>' reference.
- * @see #setActorClass(ActorClass)
- * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getExpandedActorClass_ActorClass()
- * @model
- * @generated
- */
- ActorClass getActorClass();
-
- /**
- * Sets the value of the '{@link org.eclipse.etrice.core.genmodel.etricegen.ExpandedActorClass#getActorClass <em>Actor Class</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Actor Class</em>' reference.
- * @see #getActorClass()
- * @generated
- */
- void setActorClass(ActorClass value);
-
- /**
- * Returns the value of the '<em><b>State Machine</b></em>' containment reference.
- * <!-- begin-user-doc -->
- * <p>
- * The transformed state machine with all inherited items made explicit.
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>State Machine</em>' containment reference.
- * @see #setStateMachine(StateGraph)
- * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getExpandedActorClass_StateMachine()
- * @model containment="true"
- * @generated
- */
- StateGraph getStateMachine();
-
- /**
- * Sets the value of the '{@link org.eclipse.etrice.core.genmodel.etricegen.ExpandedActorClass#getStateMachine <em>State Machine</em>}' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>State Machine</em>' containment reference.
- * @see #getStateMachine()
- * @generated
- */
- void setStateMachine(StateGraph value);
-
- /**
- * <!-- begin-user-doc -->
- * This is for <b>internal use</b> only.
- * <!-- end-user-doc -->
- * @model validatorType="org.eclipse.etrice.core.genmodel.etricegen.IDiagnostician"
- * @generated
- */
- void prepare(IDiagnostician validator);
-
- /**
- * <!-- begin-user-doc -->
- * This is for <b>internal use</b> only.
- * <!-- end-user-doc -->
- * @model
- * @generated
- */
- void release();
-
- /**
- * <!-- begin-user-doc -->
- * This is for <b>internal use</b> only.
- * <!-- end-user-doc -->
- * @model
- * @generated
- */
- void addOwnObject(StateGraphItem obj);
-
- /**
- * <!-- begin-user-doc -->
- * @param obj a state graph item of the state machine
- * @return <code>true</code> if the item is not inherited
- * <!-- end-user-doc -->
- * @model
- * @generated
- */
- boolean isOwnObject(StateGraphItem obj);
-
- /**
- * <!-- begin-user-doc -->
- * @param ifitem an interface item (no relay port or SPP) of this actor class
- * @return the local ID of an interface item (port, spp, sap) is computed recursively starting with
- * the base class and an ID of 0. For each class in the class hierarchy the enumeratins
- * starts with external ports, then internal ports, then SAPs and finally SPPs.
- * <!-- end-user-doc -->
- * @model
- * @generated
- */
- int getInterfaceItemLocalId(InterfaceItem ifitem);
-
- /**
- * <!-- begin-user-doc -->
- * @return <code>true</code> if a state machine is defined somewhere in actor the class hierarchy
- * <!-- end-user-doc -->
- * @model
- * @generated
- */
- boolean hasStateMachine();
-
- /**
- * <!-- begin-user-doc -->
- * @param mif a message/interface item pair
- * @return a string that can serve as the name of a constant representing this trigger.
- * @see {@link #getTriggerCodeName(ActiveTrigger)}
- * <!-- end-user-doc -->
- * @model
- * @generated
- */
- String getTriggerCodeName(MessageFromIf mif);
-
- /**
- * <!-- begin-user-doc -->
- * @param at the active trigger
- * @return a string that can serve as the name of a constant representing this trigger.
- * @see {@link #getTriggerCodeName(MessageFromIf)}
- * <!-- end-user-doc -->
- * @model
- * @generated
- */
- String getTriggerCodeName(ActiveTrigger at);
-
- /**
- * <!-- begin-user-doc -->
- * @param node a state graph node
- * @return a list of all outgoing transitions of this node
- * <!-- end-user-doc -->
- * @model
- * @generated
- */
- EList<Transition> getOutgoingTransitions(StateGraphNode node);
-
- /**
- * <!-- begin-user-doc -->
- * @param node a state graph node
- * @return a list of all incoming transitions of this node
- * <!-- end-user-doc -->
- * @model
- * @generated
- */
- EList<Transition> getIncomingTransitions(StateGraphNode node);
-
- /**
- * <!-- begin-user-doc -->
- * @param state the state
- * @return a list of the active triggers of a state
- * <!-- end-user-doc -->
- * @model
- * @generated
- */
- EList<ActiveTrigger> getActiveTriggers(State state);
-
- /**
- * <!-- begin-user-doc -->
- * @return a sorted list of triggers of this actor class (including base classes).
- * The elements are sorted by the trigger name (a concatenation of interface item name and message name).
- * @see {@link #getOwnTriggers()}
- * <!-- end-user-doc -->
- * @model kind="operation"
- * @generated
- */
- EList<MessageFromIf> getTriggers();
-
- /**
- * <!-- begin-user-doc -->
- * @return a sorted list of triggers of this actor class (including base classes).
- * The elements are sorted by the trigger name (a concatenation of interface item name and message name).
- * @see {@link #getTriggers()}
- * <!-- end-user-doc -->
- * @model kind="operation"
- * @generated
- */
- EList<MessageFromIf> getOwnTriggers();
-
- /**
- * <!-- begin-user-doc -->
- * @return a string that may serve as a constant name for a message/interface item pair
- * <!-- end-user-doc -->
- * @model
- * @generated
- */
- String getMessageID(MessageFromIf mif);
-
- /**
- * <!-- begin-user-doc -->
- * @param trans a transition
- * @return the associated {@link TransitionChain}
- * <!-- end-user-doc -->
- * @model
- * @generated
- */
- TransitionChain getChain(Transition trans);
-
- /**
- * <!-- begin-user-doc -->
- * @return a list of all {@link TransitionChain}s
- * <!-- end-user-doc -->
- * @model kind="operation"
- * @generated
- */
- EList<TransitionChain> getTransitionChains();
-
- /**
- * <!-- begin-user-doc -->
- * @return a list of all {@link TransitionChain}s that aren't inherited
- * <!-- end-user-doc -->
- * @model kind="operation"
- * @generated
- */
- EList<TransitionChain> getOwnTransitionChains();
-
- /**
- * <!-- begin-user-doc -->
- * @param trig the trigger
- * @param trigstr the encoded trigger string
- * @return <code>true</code> if the encoded trigger string is matching the {@link Trigger}
- * <!-- end-user-doc -->
- * @model
- * @generated
- */
- boolean isMatching(Trigger trig, String trigstr);
-
- /**
- * <!-- begin-user-doc -->
- * @param out a list of outgoing transitions
- * @return the first {@link ContinuationTransition} in the list (which for a {@link ChoicePoint}
- * corresponds to the unique default branch)
- * <!-- end-user-doc -->
- * @model outMany="true"
- * @generated
- */
- ContinuationTransition getDefaultBranch(EList<Transition> out);
-
- /**
- * <!-- begin-user-doc -->
- * The state machine of an {@link ExpandedActorClass} contains only copies of the original
- * {@link StateGraphItem}s. This methods maps back to the original object if applicable.
- *
- * @param copy a copied object
- * @return the original object of the {@link RoomModel}
- * <!-- end-user-doc -->
- * @model
- * @generated
- */
- EObject getOrig(EObject copy);
-
- /**
- * <!-- begin-user-doc -->
- * @param trans a {@link Transition}
- * @return the common data type of the {@link TransitionChainBundle} associated with the transition
- * <!-- end-user-doc -->
- * @model
- * @generated
- */
- VarDecl getData(Transition trans);
-
-} // ExpandedActorClass
+/*******************************************************************************
+ * Copyright (c) 2010 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * Thomas Schuetz and Henrik Rentz-Reichert (initial contribution)
+ *
+ *******************************************************************************/
+
+package org.eclipse.etrice.core.genmodel.etricegen;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.etrice.core.room.ActorClass;
+import org.eclipse.etrice.core.room.ContinuationTransition;
+import org.eclipse.etrice.core.room.InterfaceItem;
+import org.eclipse.etrice.core.room.MessageFromIf;
+import org.eclipse.etrice.core.room.State;
+import org.eclipse.etrice.core.room.StateGraph;
+import org.eclipse.etrice.core.room.StateGraphItem;
+import org.eclipse.etrice.core.room.StateGraphNode;
+import org.eclipse.etrice.core.room.Transition;
+import org.eclipse.etrice.core.room.Trigger;
+import org.eclipse.etrice.core.room.VarDecl;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Expanded Actor Class</b></em>'.
+ * The expanded actor class holds a state machine which includes all inherited state graph items
+ * and has the refined states replaced with simple states.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.ExpandedActorClass#getActorClass <em>Actor Class</em>}</li>
+ * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.ExpandedActorClass#getStateMachine <em>State Machine</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getExpandedActorClass()
+ * @model
+ * @generated
+ */
+public interface ExpandedActorClass extends EObject {
+ /**
+ * Returns the value of the '<em><b>Actor Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * A reference to the original {@link ActorClass}.
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Actor Class</em>' reference.
+ * @see #setActorClass(ActorClass)
+ * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getExpandedActorClass_ActorClass()
+ * @model
+ * @generated
+ */
+ ActorClass getActorClass();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.etrice.core.genmodel.etricegen.ExpandedActorClass#getActorClass <em>Actor Class</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Actor Class</em>' reference.
+ * @see #getActorClass()
+ * @generated
+ */
+ void setActorClass(ActorClass value);
+
+ /**
+ * Returns the value of the '<em><b>State Machine</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * The transformed state machine with all inherited items made explicit.
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>State Machine</em>' containment reference.
+ * @see #setStateMachine(StateGraph)
+ * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getExpandedActorClass_StateMachine()
+ * @model containment="true"
+ * @generated
+ */
+ StateGraph getStateMachine();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.etrice.core.genmodel.etricegen.ExpandedActorClass#getStateMachine <em>State Machine</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>State Machine</em>' containment reference.
+ * @see #getStateMachine()
+ * @generated
+ */
+ void setStateMachine(StateGraph value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * This is for <b>internal use</b> only.
+ * <!-- end-user-doc -->
+ * @model validatorType="org.eclipse.etrice.core.genmodel.etricegen.IDiagnostician"
+ * @generated
+ */
+ void prepare(IDiagnostician validator);
+
+ /**
+ * <!-- begin-user-doc -->
+ * This is for <b>internal use</b> only.
+ * <!-- end-user-doc -->
+ * @model
+ * @generated
+ */
+ void release();
+
+ /**
+ * <!-- begin-user-doc -->
+ * This is for <b>internal use</b> only.
+ * <!-- end-user-doc -->
+ * @model
+ * @generated
+ */
+ void addOwnObject(StateGraphItem obj);
+
+ /**
+ * <!-- begin-user-doc -->
+ * @param obj a state graph item of the state machine
+ * @return <code>true</code> if the item is not inherited
+ * <!-- end-user-doc -->
+ * @model
+ * @generated
+ */
+ boolean isOwnObject(StateGraphItem obj);
+
+ /**
+ * <!-- begin-user-doc -->
+ * @param ifitem an interface item (no relay port or SPP) of this actor class
+ * @return the local ID of an interface item (port, spp, sap) is computed recursively starting with
+ * the base class and an ID of 0. For each class in the class hierarchy the enumeratins
+ * starts with external ports, then internal ports, then SAPs and finally SPPs.
+ * <!-- end-user-doc -->
+ * @model
+ * @generated
+ */
+ int getInterfaceItemLocalId(InterfaceItem ifitem);
+
+ /**
+ * <!-- begin-user-doc -->
+ * @return <code>true</code> if a state machine is defined somewhere in actor the class hierarchy
+ * <!-- end-user-doc -->
+ * @model
+ * @generated
+ */
+ boolean hasStateMachine();
+
+ /**
+ * <!-- begin-user-doc -->
+ * @param mif a message/interface item pair
+ * @return a string that can serve as the name of a constant representing this trigger.
+ * @see {@link #getTriggerCodeName(ActiveTrigger)}
+ * <!-- end-user-doc -->
+ * @model
+ * @generated
+ */
+ String getTriggerCodeName(MessageFromIf mif);
+
+ /**
+ * <!-- begin-user-doc -->
+ * @param at the active trigger
+ * @return a string that can serve as the name of a constant representing this trigger.
+ * @see {@link #getTriggerCodeName(MessageFromIf)}
+ * <!-- end-user-doc -->
+ * @model
+ * @generated
+ */
+ String getTriggerCodeName(ActiveTrigger at);
+
+ /**
+ * <!-- begin-user-doc -->
+ * @param node a state graph node
+ * @return a list of all outgoing transitions of this node
+ * <!-- end-user-doc -->
+ * @model
+ * @generated
+ */
+ EList<Transition> getOutgoingTransitions(StateGraphNode node);
+
+ /**
+ * <!-- begin-user-doc -->
+ * @param node a state graph node
+ * @return a list of all incoming transitions of this node
+ * <!-- end-user-doc -->
+ * @model
+ * @generated
+ */
+ EList<Transition> getIncomingTransitions(StateGraphNode node);
+
+ /**
+ * <!-- begin-user-doc -->
+ * @param state the state
+ * @return a list of the active triggers of a state
+ * <!-- end-user-doc -->
+ * @model
+ * @generated
+ */
+ EList<ActiveTrigger> getActiveTriggers(State state);
+
+ /**
+ * <!-- begin-user-doc -->
+ * @return a sorted list of triggers of this actor class (including base classes).
+ * The elements are sorted by the trigger name (a concatenation of interface item name and message name).
+ * @see {@link #getOwnTriggers()}
+ * <!-- end-user-doc -->
+ * @model kind="operation"
+ * @generated
+ */
+ EList<MessageFromIf> getTriggers();
+
+ /**
+ * <!-- begin-user-doc -->
+ * @return a sorted list of triggers of this actor class (including base classes).
+ * The elements are sorted by the trigger name (a concatenation of interface item name and message name).
+ * @see {@link #getTriggers()}
+ * <!-- end-user-doc -->
+ * @model kind="operation"
+ * @generated
+ */
+ EList<MessageFromIf> getOwnTriggers();
+
+ /**
+ * <!-- begin-user-doc -->
+ * @return a string that may serve as a constant name for a message/interface item pair
+ * <!-- end-user-doc -->
+ * @model
+ * @generated
+ */
+ String getMessageID(MessageFromIf mif);
+
+ /**
+ * <!-- begin-user-doc -->
+ * @param trans a transition
+ * @return the associated {@link TransitionChain}
+ * <!-- end-user-doc -->
+ * @model
+ * @generated
+ */
+ TransitionChain getChain(Transition trans);
+
+ /**
+ * <!-- begin-user-doc -->
+ * @return a list of all {@link TransitionChain}s
+ * <!-- end-user-doc -->
+ * @model kind="operation"
+ * @generated
+ */
+ EList<TransitionChain> getTransitionChains();
+
+ /**
+ * <!-- begin-user-doc -->
+ * @return a list of all {@link TransitionChain}s that aren't inherited
+ * <!-- end-user-doc -->
+ * @model kind="operation"
+ * @generated
+ */
+ EList<TransitionChain> getOwnTransitionChains();
+
+ /**
+ * <!-- begin-user-doc -->
+ * @param trig the trigger
+ * @param trigstr the encoded trigger string
+ * @return <code>true</code> if the encoded trigger string is matching the {@link Trigger}
+ * <!-- end-user-doc -->
+ * @model
+ * @generated
+ */
+ boolean isMatching(Trigger trig, String trigstr);
+
+ /**
+ * <!-- begin-user-doc -->
+ * @param out a list of outgoing transitions
+ * @return the first {@link ContinuationTransition} in the list (which for a {@link ChoicePoint}
+ * corresponds to the unique default branch)
+ * <!-- end-user-doc -->
+ * @model outMany="true"
+ * @generated
+ */
+ ContinuationTransition getDefaultBranch(EList<Transition> out);
+
+ /**
+ * <!-- begin-user-doc -->
+ * The state machine of an {@link ExpandedActorClass} contains only copies of the original
+ * {@link StateGraphItem}s. This methods maps back to the original object if applicable.
+ *
+ * @param copy a copied object
+ * @return the original object of the {@link RoomModel}
+ * <!-- end-user-doc -->
+ * @model
+ * @generated
+ */
+ EObject getOrig(EObject copy);
+
+ /**
+ * <!-- begin-user-doc -->
+ * @param trans a {@link Transition}
+ * @return the common data type of the {@link TransitionChainBundle} associated with the transition
+ * <!-- end-user-doc -->
+ * @model
+ * @generated
+ */
+ VarDecl getData(Transition trans);
+
+} // ExpandedActorClass
diff --git a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/ExpandedRefinedState.java b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/ExpandedRefinedState.java
index 99e8465a1..f54c2606f 100644
--- a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/ExpandedRefinedState.java
+++ b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/ExpandedRefinedState.java
@@ -1,123 +1,123 @@
-/*******************************************************************************
- * Copyright (c) 2010 protos software gmbh (http://www.protos.de).
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * CONTRIBUTORS:
- * Thomas Schuetz and Henrik Rentz-Reichert (initial contribution)
- *
- *******************************************************************************/
-
-package org.eclipse.etrice.core.genmodel.etricegen;
-
-import org.eclipse.etrice.core.room.DetailCode;
-import org.eclipse.etrice.core.room.SimpleState;
-import org.eclipse.etrice.core.room.RefinedState;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Expanded Refined State</b></em>'.
- * The expanded refined state is a {@link SimpleState} that additionally holds inherited action codes.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.ExpandedRefinedState#getInheritedEntry <em>Inherited Entry</em>}</li>
- * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.ExpandedRefinedState#getInheritedExit <em>Inherited Exit</em>}</li>
- * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.ExpandedRefinedState#getInheritedDo <em>Inherited Do</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getExpandedRefinedState()
- * @model
- * @generated
- */
-public interface ExpandedRefinedState extends SimpleState {
- /**
- * Returns the value of the '<em><b>Inherited Entry</b></em>' containment reference.
- * <!-- begin-user-doc -->
- * <p>
- * This {@link DetailCode} holds the pre-assembled inherited entry code of the original {@link RefinedState}
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Inherited Entry</em>' containment reference.
- * @see #setInheritedEntry(DetailCode)
- * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getExpandedRefinedState_InheritedEntry()
- * @model containment="true"
- * @generated
- */
- DetailCode getInheritedEntry();
-
- /**
- * Sets the value of the '{@link org.eclipse.etrice.core.genmodel.etricegen.ExpandedRefinedState#getInheritedEntry <em>Inherited Entry</em>}' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Inherited Entry</em>' containment reference.
- * @see #getInheritedEntry()
- * @generated
- */
- void setInheritedEntry(DetailCode value);
-
- /**
- * Returns the value of the '<em><b>Inherited Exit</b></em>' containment reference.
- * <!-- begin-user-doc -->
- * <p>
- * This {@link DetailCode} holds the pre-assembled inherited exit code of the original {@link RefinedState}
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Inherited Exit</em>' containment reference.
- * @see #setInheritedExit(DetailCode)
- * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getExpandedRefinedState_InheritedExit()
- * @model containment="true"
- * @generated
- */
- DetailCode getInheritedExit();
-
- /**
- * Sets the value of the '{@link org.eclipse.etrice.core.genmodel.etricegen.ExpandedRefinedState#getInheritedExit <em>Inherited Exit</em>}' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Inherited Exit</em>' containment reference.
- * @see #getInheritedExit()
- * @generated
- */
- void setInheritedExit(DetailCode value);
-
- /**
- * Returns the value of the '<em><b>Inherited Do</b></em>' containment reference.
- * <!-- begin-user-doc -->
- * <p>
- * This {@link DetailCode} holds the pre-assembled inherited do code of the original {@link RefinedState}
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Inherited Do</em>' containment reference.
- * @see #setInheritedDo(DetailCode)
- * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getExpandedRefinedState_InheritedDo()
- * @model containment="true"
- * @generated
- */
- DetailCode getInheritedDo();
-
- /**
- * Sets the value of the '{@link org.eclipse.etrice.core.genmodel.etricegen.ExpandedRefinedState#getInheritedDo <em>Inherited Do</em>}' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Inherited Do</em>' containment reference.
- * @see #getInheritedDo()
- * @generated
- */
- void setInheritedDo(DetailCode value);
-
- /**
- * <!-- begin-user-doc -->
- * For <b>internal use</b> only.
- * <!-- end-user-doc -->
- * @model
- * @generated
- */
- void init(RefinedState rs);
-
-} // ExpandedRefinedState
+/*******************************************************************************
+ * Copyright (c) 2010 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * Thomas Schuetz and Henrik Rentz-Reichert (initial contribution)
+ *
+ *******************************************************************************/
+
+package org.eclipse.etrice.core.genmodel.etricegen;
+
+import org.eclipse.etrice.core.room.DetailCode;
+import org.eclipse.etrice.core.room.SimpleState;
+import org.eclipse.etrice.core.room.RefinedState;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Expanded Refined State</b></em>'.
+ * The expanded refined state is a {@link SimpleState} that additionally holds inherited action codes.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.ExpandedRefinedState#getInheritedEntry <em>Inherited Entry</em>}</li>
+ * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.ExpandedRefinedState#getInheritedExit <em>Inherited Exit</em>}</li>
+ * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.ExpandedRefinedState#getInheritedDo <em>Inherited Do</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getExpandedRefinedState()
+ * @model
+ * @generated
+ */
+public interface ExpandedRefinedState extends SimpleState {
+ /**
+ * Returns the value of the '<em><b>Inherited Entry</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * This {@link DetailCode} holds the pre-assembled inherited entry code of the original {@link RefinedState}
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Inherited Entry</em>' containment reference.
+ * @see #setInheritedEntry(DetailCode)
+ * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getExpandedRefinedState_InheritedEntry()
+ * @model containment="true"
+ * @generated
+ */
+ DetailCode getInheritedEntry();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.etrice.core.genmodel.etricegen.ExpandedRefinedState#getInheritedEntry <em>Inherited Entry</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Inherited Entry</em>' containment reference.
+ * @see #getInheritedEntry()
+ * @generated
+ */
+ void setInheritedEntry(DetailCode value);
+
+ /**
+ * Returns the value of the '<em><b>Inherited Exit</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * This {@link DetailCode} holds the pre-assembled inherited exit code of the original {@link RefinedState}
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Inherited Exit</em>' containment reference.
+ * @see #setInheritedExit(DetailCode)
+ * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getExpandedRefinedState_InheritedExit()
+ * @model containment="true"
+ * @generated
+ */
+ DetailCode getInheritedExit();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.etrice.core.genmodel.etricegen.ExpandedRefinedState#getInheritedExit <em>Inherited Exit</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Inherited Exit</em>' containment reference.
+ * @see #getInheritedExit()
+ * @generated
+ */
+ void setInheritedExit(DetailCode value);
+
+ /**
+ * Returns the value of the '<em><b>Inherited Do</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * This {@link DetailCode} holds the pre-assembled inherited do code of the original {@link RefinedState}
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Inherited Do</em>' containment reference.
+ * @see #setInheritedDo(DetailCode)
+ * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getExpandedRefinedState_InheritedDo()
+ * @model containment="true"
+ * @generated
+ */
+ DetailCode getInheritedDo();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.etrice.core.genmodel.etricegen.ExpandedRefinedState#getInheritedDo <em>Inherited Do</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Inherited Do</em>' containment reference.
+ * @see #getInheritedDo()
+ * @generated
+ */
+ void setInheritedDo(DetailCode value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * For <b>internal use</b> only.
+ * <!-- end-user-doc -->
+ * @model
+ * @generated
+ */
+ void init(RefinedState rs);
+
+} // ExpandedRefinedState
diff --git a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/IDiagnostician.java b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/IDiagnostician.java
index 481cb6fe0..ccf21b640 100644
--- a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/IDiagnostician.java
+++ b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/IDiagnostician.java
@@ -1,67 +1,67 @@
-/*******************************************************************************
- * Copyright (c) 2010 protos software gmbh (http://www.protos.de).
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * CONTRIBUTORS:
- * Thomas Schuetz and Henrik Rentz-Reichert (initial contribution)
- *
- *******************************************************************************/
-
-package org.eclipse.etrice.core.genmodel.etricegen;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EStructuralFeature;
-
-public interface IDiagnostician {
-
- /**
- * A constant indicating that the index is not relevant or not applicable.
- */
- static final int INSIGNIFICANT_INDEX = -1;
-
- /**
- * Issue a warning on the source object associated with a structural feature,
- *
- * @param msg the warning message
- * @param source the offending object
- * @param feature the feature that should be marked with the warning
- */
- void warning(String msg, EObject source, EStructuralFeature feature);
-
- /**
- * Issue a warning on the source object associated with a structural feature,
- *
- * @param msg the warning message
- * @param source the offending object
- * @param feature the feature that should be marked with the warning
- * @param idx the index if the feature has multiplicity>1
- */
- void warning(String msg, EObject source, EStructuralFeature feature, int idx);
-
- /**
- * Issue an error on the source object associated with a structural feature,
- *
- * @param msg the error message
- * @param source the offending object
- * @param feature the feature that should be marked with the error
- */
- void error(String msg, EObject source, EStructuralFeature feature);
-
- /**
- * Issue a error on the source object associated with a structural feature,
- *
- * @param msg the error message
- * @param source the offending object
- * @param feature the feature that should be marked with the error
- * @param idx the index if the feature has multiplicity>1
- */
- void error(String msg, EObject source, EStructuralFeature feature, int idx);
-
- /**
- * @return <code>true</code> if at least one error has been issued before
- */
- boolean isFailed();
-}
+/*******************************************************************************
+ * Copyright (c) 2010 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * Thomas Schuetz and Henrik Rentz-Reichert (initial contribution)
+ *
+ *******************************************************************************/
+
+package org.eclipse.etrice.core.genmodel.etricegen;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+public interface IDiagnostician {
+
+ /**
+ * A constant indicating that the index is not relevant or not applicable.
+ */
+ static final int INSIGNIFICANT_INDEX = -1;
+
+ /**
+ * Issue a warning on the source object associated with a structural feature,
+ *
+ * @param msg the warning message
+ * @param source the offending object
+ * @param feature the feature that should be marked with the warning
+ */
+ void warning(String msg, EObject source, EStructuralFeature feature);
+
+ /**
+ * Issue a warning on the source object associated with a structural feature,
+ *
+ * @param msg the warning message
+ * @param source the offending object
+ * @param feature the feature that should be marked with the warning
+ * @param idx the index if the feature has multiplicity>1
+ */
+ void warning(String msg, EObject source, EStructuralFeature feature, int idx);
+
+ /**
+ * Issue an error on the source object associated with a structural feature,
+ *
+ * @param msg the error message
+ * @param source the offending object
+ * @param feature the feature that should be marked with the error
+ */
+ void error(String msg, EObject source, EStructuralFeature feature);
+
+ /**
+ * Issue a error on the source object associated with a structural feature,
+ *
+ * @param msg the error message
+ * @param source the offending object
+ * @param feature the feature that should be marked with the error
+ * @param idx the index if the feature has multiplicity>1
+ */
+ void error(String msg, EObject source, EStructuralFeature feature, int idx);
+
+ /**
+ * @return <code>true</code> if at least one error has been issued before
+ */
+ boolean isFailed();
+}
diff --git a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/ITransitionChainVisitor.java b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/ITransitionChainVisitor.java
index fd58b347d..5e7cea27d 100644
--- a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/ITransitionChainVisitor.java
+++ b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/ITransitionChainVisitor.java
@@ -1,85 +1,85 @@
-/*******************************************************************************
- * Copyright (c) 2010 protos software gmbh (http://www.protos.de).
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * CONTRIBUTORS:
- * Thomas Schuetz and Henrik Rentz-Reichert (initial contribution)
- *
- *******************************************************************************/
-
-package org.eclipse.etrice.core.genmodel.etricegen;
-
-import org.eclipse.etrice.core.room.CPBranchTransition;
-import org.eclipse.etrice.core.room.ContinuationTransition;
-import org.eclipse.etrice.core.room.State;
-import org.eclipse.etrice.core.room.Transition;
-
-/**
- * This interface describes the transition chain visitor.
- * The visitor is used by the code generator to generate the code associated with a transition chain.
- * It is passed in a call to
- * {@link org.eclipse.etrice.core.genmodel.etricegen.TransitionChain#genExecuteChain(ITransitionChainVisitor)
- * TransitionChain.genExecuteChain(ITransitionChainVisitor)}.
- *
- * <p>
- * The visitor has to be implemented by the concrete target language generator.
- * </p>
- *
- * @author Henrik Rentz-Reichert
- *
- */
-public interface ITransitionChainVisitor {
-
- /**
- * @param tc the transition chain
- * @return a typed declaration of the data associated with this message
- */
- String genTypedData(TransitionChain tc);
-
- /**
- * @param tr a transition
- * @return a call of the action operation (as generated by the generator)
- */
- String genActionOperationCall(Transition tr);
-
- /**
- * @param state a state
- * @return a call of the entry operation (as generated by the generator)
- */
- String genEntryOperationCall(State state);
-
- /**
- * @param state a state
- * @return a call of the exit operation (as generated by the generator)
- */
- String genExitOperationCall(State state);
-
- /**
- * @param tr a choice point branch transition (not the default branch)
- * @param isFirst <code>true</code> if this is the first of a series of if statements
- * @return code for the [else] if statement with condition (guard) and block opening
- */
- String genElseIfBranch(CPBranchTransition tr, boolean isFirst);
-
- /**
- * @param tr the choice point default branch transition
- * @return code for the final else with block opening
- */
- String genElseBranch(ContinuationTransition tr);
-
- /**
- * @return the final closing of the block
- */
- String genEndIf();
-
- /**
- * @param state a state
- * @param executeEntryCode <code>true</code> if entry code of state should be executed
- * @return a return statement with the ID of the state
- */
- String genReturnState(State state, boolean executeEntryCode);
-
-}
+/*******************************************************************************
+ * Copyright (c) 2010 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * Thomas Schuetz and Henrik Rentz-Reichert (initial contribution)
+ *
+ *******************************************************************************/
+
+package org.eclipse.etrice.core.genmodel.etricegen;
+
+import org.eclipse.etrice.core.room.CPBranchTransition;
+import org.eclipse.etrice.core.room.ContinuationTransition;
+import org.eclipse.etrice.core.room.State;
+import org.eclipse.etrice.core.room.Transition;
+
+/**
+ * This interface describes the transition chain visitor.
+ * The visitor is used by the code generator to generate the code associated with a transition chain.
+ * It is passed in a call to
+ * {@link org.eclipse.etrice.core.genmodel.etricegen.TransitionChain#genExecuteChain(ITransitionChainVisitor)
+ * TransitionChain.genExecuteChain(ITransitionChainVisitor)}.
+ *
+ * <p>
+ * The visitor has to be implemented by the concrete target language generator.
+ * </p>
+ *
+ * @author Henrik Rentz-Reichert
+ *
+ */
+public interface ITransitionChainVisitor {
+
+ /**
+ * @param tc the transition chain
+ * @return a typed declaration of the data associated with this message
+ */
+ String genTypedData(TransitionChain tc);
+
+ /**
+ * @param tr a transition
+ * @return a call of the action operation (as generated by the generator)
+ */
+ String genActionOperationCall(Transition tr);
+
+ /**
+ * @param state a state
+ * @return a call of the entry operation (as generated by the generator)
+ */
+ String genEntryOperationCall(State state);
+
+ /**
+ * @param state a state
+ * @return a call of the exit operation (as generated by the generator)
+ */
+ String genExitOperationCall(State state);
+
+ /**
+ * @param tr a choice point branch transition (not the default branch)
+ * @param isFirst <code>true</code> if this is the first of a series of if statements
+ * @return code for the [else] if statement with condition (guard) and block opening
+ */
+ String genElseIfBranch(CPBranchTransition tr, boolean isFirst);
+
+ /**
+ * @param tr the choice point default branch transition
+ * @return code for the final else with block opening
+ */
+ String genElseBranch(ContinuationTransition tr);
+
+ /**
+ * @return the final closing of the block
+ */
+ String genEndIf();
+
+ /**
+ * @param state a state
+ * @param executeEntryCode <code>true</code> if entry code of state should be executed
+ * @return a return statement with the ID of the state
+ */
+ String genReturnState(State state, boolean executeEntryCode);
+
+}
diff --git a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/InstanceBase.java b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/InstanceBase.java
index 8e2bae9b1..542f9d837 100644
--- a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/InstanceBase.java
+++ b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/InstanceBase.java
@@ -1,145 +1,145 @@
-/*******************************************************************************
- * Copyright (c) 2010 protos software gmbh (http://www.protos.de).
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * CONTRIBUTORS:
- * Thomas Schuetz and Henrik Rentz-Reichert (initial contribution)
- *
- *******************************************************************************/
-
-package org.eclipse.etrice.core.genmodel.etricegen;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Instance Base</b></em>'.
- * Serves as a base class for all structural objects:
- * <ul>
- * <li> {@link SystemInstance}</li>
- * <li> {@link StructureInstance}</li>
- * <li> {@link InterfaceItemInstance}</li>
- * <li> {@link SPPInstance}</li>
- * </ul>
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.InstanceBase#getName <em>Name</em>}</li>
- * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.InstanceBase#getPath <em>Path</em>}</li>
- * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.InstanceBase#getObjId <em>Obj Id</em>}</li>
- * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.InstanceBase#getThreadId <em>Thread Id</em>}</li>
- * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.InstanceBase#getNObjIDs <em>NObj IDs</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getInstanceBase()
- * @model abstract="true"
- * @generated
- */
-public interface InstanceBase extends EObject {
-
- /**
- * delimiter character for paths
- */
- static char pathDelim = '/';
-
- /**
- * Returns the value of the '<em><b>Name</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the value of the '<em>Name</em>' attribute.
- * @see #setName(String)
- * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getInstanceBase_Name()
- * @model
- * @generated
- */
- String getName();
-
- /**
- * Sets the value of the '{@link org.eclipse.etrice.core.genmodel.etricegen.InstanceBase#getName <em>Name</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Name</em>' attribute.
- * @see #getName()
- * @generated
- */
- void setName(String value);
-
- /**
- * Returns the value of the '<em><b>Path</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * The path of a structural object is assembled using the names in the object tree separated
- * by {@link #pathDelim path delimiters}. The path starts with a delimiter.
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Path</em>' attribute.
- * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getInstanceBase_Path()
- * @model transient="true" changeable="false" volatile="true" derived="true"
- * @generated
- */
- String getPath();
-
- /**
- * Returns the value of the '<em><b>Obj Id</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * This is a unique object id per sub-tree of a sub system. This ID may be used by the generator to
- * generate addresses for the messaging.
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Obj Id</em>' attribute.
- * @see #setObjId(int)
- * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getInstanceBase_ObjId()
- * @model
- * @generated
- */
- int getObjId();
-
- /**
- * Sets the value of the '{@link org.eclipse.etrice.core.genmodel.etricegen.InstanceBase#getObjId <em>Obj Id</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Obj Id</em>' attribute.
- * @see #getObjId()
- * @generated
- */
- void setObjId(int value);
-
- /**
- * Returns the value of the '<em><b>Thread Id</b></em>' attribute.
- * The default value is <code>"-1"</code>.
- * <!-- begin-user-doc -->
- * <p>
- * The ID of the thread associated with this object.
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Thread Id</em>' attribute.
- * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getInstanceBase_ThreadId()
- * @model default="-1" changeable="false" derived="true"
- * @generated
- */
- int getThreadId();
-
- /**
- * Returns the value of the '<em><b>NObj IDs</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * The number of object IDs that should be reserved for this structural instance.
- * This is always one except for {@link InterfaceItemInstance}s with more than one peer. Then
- * it is the number of peers (and thus allows replicated ports to have consecutive IDs).
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>NObj IDs</em>' attribute.
- * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getInstanceBase_NObjIDs()
- * @model transient="true" changeable="false" volatile="true" derived="true"
- * @generated
- */
- int getNObjIDs();
-
-} // InstanceBase
+/*******************************************************************************
+ * Copyright (c) 2010 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * Thomas Schuetz and Henrik Rentz-Reichert (initial contribution)
+ *
+ *******************************************************************************/
+
+package org.eclipse.etrice.core.genmodel.etricegen;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Instance Base</b></em>'.
+ * Serves as a base class for all structural objects:
+ * <ul>
+ * <li> {@link SystemInstance}</li>
+ * <li> {@link StructureInstance}</li>
+ * <li> {@link InterfaceItemInstance}</li>
+ * <li> {@link SPPInstance}</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.InstanceBase#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.InstanceBase#getPath <em>Path</em>}</li>
+ * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.InstanceBase#getObjId <em>Obj Id</em>}</li>
+ * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.InstanceBase#getThreadId <em>Thread Id</em>}</li>
+ * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.InstanceBase#getNObjIDs <em>NObj IDs</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getInstanceBase()
+ * @model abstract="true"
+ * @generated
+ */
+public interface InstanceBase extends EObject {
+
+ /**
+ * delimiter character for paths
+ */
+ static char pathDelim = '/';
+
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getInstanceBase_Name()
+ * @model
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.etrice.core.genmodel.etricegen.InstanceBase#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Path</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * The path of a structural object is assembled using the names in the object tree separated
+ * by {@link #pathDelim path delimiters}. The path starts with a delimiter.
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Path</em>' attribute.
+ * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getInstanceBase_Path()
+ * @model transient="true" changeable="false" volatile="true" derived="true"
+ * @generated
+ */
+ String getPath();
+
+ /**
+ * Returns the value of the '<em><b>Obj Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * This is a unique object id per sub-tree of a sub system. This ID may be used by the generator to
+ * generate addresses for the messaging.
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Obj Id</em>' attribute.
+ * @see #setObjId(int)
+ * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getInstanceBase_ObjId()
+ * @model
+ * @generated
+ */
+ int getObjId();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.etrice.core.genmodel.etricegen.InstanceBase#getObjId <em>Obj Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Obj Id</em>' attribute.
+ * @see #getObjId()
+ * @generated
+ */
+ void setObjId(int value);
+
+ /**
+ * Returns the value of the '<em><b>Thread Id</b></em>' attribute.
+ * The default value is <code>"-1"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * The ID of the thread associated with this object.
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Thread Id</em>' attribute.
+ * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getInstanceBase_ThreadId()
+ * @model default="-1" changeable="false" derived="true"
+ * @generated
+ */
+ int getThreadId();
+
+ /**
+ * Returns the value of the '<em><b>NObj IDs</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * The number of object IDs that should be reserved for this structural instance.
+ * This is always one except for {@link InterfaceItemInstance}s with more than one peer. Then
+ * it is the number of peers (and thus allows replicated ports to have consecutive IDs).
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>NObj IDs</em>' attribute.
+ * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getInstanceBase_NObjIDs()
+ * @model transient="true" changeable="false" volatile="true" derived="true"
+ * @generated
+ */
+ int getNObjIDs();
+
+} // InstanceBase
diff --git a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/InterfaceItemInstance.java b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/InterfaceItemInstance.java
index 091269cf7..b745ddd95 100644
--- a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/InterfaceItemInstance.java
+++ b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/InterfaceItemInstance.java
@@ -1,109 +1,109 @@
-/*******************************************************************************
- * Copyright (c) 2010 protos software gmbh (http://www.protos.de).
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * CONTRIBUTORS:
- * Thomas Schuetz and Henrik Rentz-Reichert (initial contribution)
- *
- *******************************************************************************/
-
-package org.eclipse.etrice.core.genmodel.etricegen;
-
-import org.eclipse.emf.common.util.EList;
-
-import org.eclipse.etrice.core.room.InterfaceItem;
-import org.eclipse.etrice.core.room.ProtocolClass;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Interface Item Instance</b></em>'.
- * <ul>
- * <li> {@link PortInstance}</li>
- * <li> {@link SAPInstance}</li>
- * <li> {@link ServiceImplInstance}</li>
- * </ul>
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.InterfaceItemInstance#getProtocol <em>Protocol</em>}</li>
- * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.InterfaceItemInstance#getPeers <em>Peers</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getInterfaceItemInstance()
- * @model
- * @generated
- */
-public interface InterfaceItemInstance extends InstanceBase {
- /**
- * Returns the value of the '<em><b>Protocol</b></em>' reference.
- * <!-- begin-user-doc -->
- * <p>
- * Interface items have an associated protocol.
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Protocol</em>' reference.
- * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getInterfaceItemInstance_Protocol()
- * @model transient="true" changeable="false" volatile="true" derived="true"
- * @generated
- */
- ProtocolClass getProtocol();
-
- /**
- * Returns the value of the '<em><b>Peers</b></em>' reference list.
- * The list contents are of type {@link org.eclipse.etrice.core.genmodel.etricegen.InterfaceItemInstance}.
- * <!-- begin-user-doc -->
- * <p>
- * The list contains all peers to which this item is connected.
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Peers</em>' reference list.
- * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getInterfaceItemInstance_Peers()
- * @model
- * @generated
- */
- EList<InterfaceItemInstance> getPeers();
-
- /**
- * <!-- begin-user-doc -->
- * @return <code>true</code> if the interface item (a port in this case) is replicated (i.e. has a
- * {@link org.eclipse.etrice.core.room.Port#getMultiplicity() multiplicity}>1)
- * <!-- end-user-doc -->
- * @model kind="operation"
- * @generated
- */
- boolean isReplicated();
-
- /**
- * <!-- begin-user-doc -->
- * @return <code>true</code> if it is a port that is not replicated.
- * <!-- end-user-doc -->
- * @model kind="operation"
- * @generated
- */
- boolean isSimple();
-
- /**
- * <!-- begin-user-doc -->
- * @return <code>true</code> if it is a relay port.
- * <!-- end-user-doc -->
- * @model kind="operation"
- * @generated
- */
- boolean isRelay();
-
- /**
- * <!-- begin-user-doc -->
- * @return the associated {@link InterfaceItem}
- * <!-- end-user-doc -->
- * @model kind="operation"
- * @generated
- */
- InterfaceItem getInterfaceItem();
-
-} // InterfaceItemInstance
+/*******************************************************************************
+ * Copyright (c) 2010 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * Thomas Schuetz and Henrik Rentz-Reichert (initial contribution)
+ *
+ *******************************************************************************/
+
+package org.eclipse.etrice.core.genmodel.etricegen;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.etrice.core.room.InterfaceItem;
+import org.eclipse.etrice.core.room.ProtocolClass;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Interface Item Instance</b></em>'.
+ * <ul>
+ * <li> {@link PortInstance}</li>
+ * <li> {@link SAPInstance}</li>
+ * <li> {@link ServiceImplInstance}</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.InterfaceItemInstance#getProtocol <em>Protocol</em>}</li>
+ * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.InterfaceItemInstance#getPeers <em>Peers</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getInterfaceItemInstance()
+ * @model
+ * @generated
+ */
+public interface InterfaceItemInstance extends InstanceBase {
+ /**
+ * Returns the value of the '<em><b>Protocol</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * Interface items have an associated protocol.
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Protocol</em>' reference.
+ * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getInterfaceItemInstance_Protocol()
+ * @model transient="true" changeable="false" volatile="true" derived="true"
+ * @generated
+ */
+ ProtocolClass getProtocol();
+
+ /**
+ * Returns the value of the '<em><b>Peers</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.etrice.core.genmodel.etricegen.InterfaceItemInstance}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * The list contains all peers to which this item is connected.
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Peers</em>' reference list.
+ * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getInterfaceItemInstance_Peers()
+ * @model
+ * @generated
+ */
+ EList<InterfaceItemInstance> getPeers();
+
+ /**
+ * <!-- begin-user-doc -->
+ * @return <code>true</code> if the interface item (a port in this case) is replicated (i.e. has a
+ * {@link org.eclipse.etrice.core.room.Port#getMultiplicity() multiplicity}>1)
+ * <!-- end-user-doc -->
+ * @model kind="operation"
+ * @generated
+ */
+ boolean isReplicated();
+
+ /**
+ * <!-- begin-user-doc -->
+ * @return <code>true</code> if it is a port that is not replicated.
+ * <!-- end-user-doc -->
+ * @model kind="operation"
+ * @generated
+ */
+ boolean isSimple();
+
+ /**
+ * <!-- begin-user-doc -->
+ * @return <code>true</code> if it is a relay port.
+ * <!-- end-user-doc -->
+ * @model kind="operation"
+ * @generated
+ */
+ boolean isRelay();
+
+ /**
+ * <!-- begin-user-doc -->
+ * @return the associated {@link InterfaceItem}
+ * <!-- end-user-doc -->
+ * @model kind="operation"
+ * @generated
+ */
+ InterfaceItem getInterfaceItem();
+
+} // InterfaceItemInstance
diff --git a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/PortInstance.java b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/PortInstance.java
index 207b6875f..bcaedd651 100644
--- a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/PortInstance.java
+++ b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/PortInstance.java
@@ -1,106 +1,106 @@
-/*******************************************************************************
- * Copyright (c) 2010 protos software gmbh (http://www.protos.de).
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * CONTRIBUTORS:
- * Thomas Schuetz and Henrik Rentz-Reichert (initial contribution)
- *
- *******************************************************************************/
-
-package org.eclipse.etrice.core.genmodel.etricegen;
-
-import org.eclipse.emf.common.util.EList;
-
-import org.eclipse.etrice.core.room.Port;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Port Instance</b></em>' which is derived from
- * {@link InterfaceItemInstance}.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.PortInstance#getPort <em>Port</em>}</li>
- * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.PortInstance#getKind <em>Kind</em>}</li>
- * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.PortInstance#getBindings <em>Bindings</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getPortInstance()
- * @model
- * @generated
- */
-public interface PortInstance extends InterfaceItemInstance {
- /**
- * Returns the value of the '<em><b>Port</b></em>' reference.
- * <!-- begin-user-doc -->
- * <p>
- * The associated {@link Port}
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Port</em>' reference.
- * @see #setPort(Port)
- * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getPortInstance_Port()
- * @model
- * @generated
- */
- Port getPort();
-
- /**
- * Sets the value of the '{@link org.eclipse.etrice.core.genmodel.etricegen.PortInstance#getPort <em>Port</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Port</em>' reference.
- * @see #getPort()
- * @generated
- */
- void setPort(Port value);
-
- /**
- * Returns the value of the '<em><b>Kind</b></em>' attribute.
- * The literals are from the enumeration {@link org.eclipse.etrice.core.genmodel.etricegen.PortKind}.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the value of the '<em>Kind</em>' attribute.
- * @see org.eclipse.etrice.core.genmodel.etricegen.PortKind
- * @see #setKind(PortKind)
- * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getPortInstance_Kind()
- * @model
- * @generated
- */
- PortKind getKind();
-
- /**
- * Sets the value of the '{@link org.eclipse.etrice.core.genmodel.etricegen.PortInstance#getKind <em>Kind</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Kind</em>' attribute.
- * @see org.eclipse.etrice.core.genmodel.etricegen.PortKind
- * @see #getKind()
- * @generated
- */
- void setKind(PortKind value);
-
- /**
- * Returns the value of the '<em><b>Bindings</b></em>' reference list.
- * The list contents are of type {@link org.eclipse.etrice.core.genmodel.etricegen.BindingInstance}.
- * It is bidirectional and its opposite is '{@link org.eclipse.etrice.core.genmodel.etricegen.BindingInstance#getPorts <em>Ports</em>}'.
- * <!-- begin-user-doc -->
- * <p>
- * The list contains all binding instances connected with this port.
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Bindings</em>' reference list.
- * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getPortInstance_Bindings()
- * @see org.eclipse.etrice.core.genmodel.etricegen.BindingInstance#getPorts
- * @model opposite="ports"
- * @generated
- */
- EList<BindingInstance> getBindings();
-
-} // PortInstance
+/*******************************************************************************
+ * Copyright (c) 2010 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * Thomas Schuetz and Henrik Rentz-Reichert (initial contribution)
+ *
+ *******************************************************************************/
+
+package org.eclipse.etrice.core.genmodel.etricegen;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.etrice.core.room.Port;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Port Instance</b></em>' which is derived from
+ * {@link InterfaceItemInstance}.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.PortInstance#getPort <em>Port</em>}</li>
+ * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.PortInstance#getKind <em>Kind</em>}</li>
+ * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.PortInstance#getBindings <em>Bindings</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getPortInstance()
+ * @model
+ * @generated
+ */
+public interface PortInstance extends InterfaceItemInstance {
+ /**
+ * Returns the value of the '<em><b>Port</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * The associated {@link Port}
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Port</em>' reference.
+ * @see #setPort(Port)
+ * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getPortInstance_Port()
+ * @model
+ * @generated
+ */
+ Port getPort();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.etrice.core.genmodel.etricegen.PortInstance#getPort <em>Port</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Port</em>' reference.
+ * @see #getPort()
+ * @generated
+ */
+ void setPort(Port value);
+
+ /**
+ * Returns the value of the '<em><b>Kind</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.etrice.core.genmodel.etricegen.PortKind}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Kind</em>' attribute.
+ * @see org.eclipse.etrice.core.genmodel.etricegen.PortKind
+ * @see #setKind(PortKind)
+ * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getPortInstance_Kind()
+ * @model
+ * @generated
+ */
+ PortKind getKind();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.etrice.core.genmodel.etricegen.PortInstance#getKind <em>Kind</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Kind</em>' attribute.
+ * @see org.eclipse.etrice.core.genmodel.etricegen.PortKind
+ * @see #getKind()
+ * @generated
+ */
+ void setKind(PortKind value);
+
+ /**
+ * Returns the value of the '<em><b>Bindings</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.etrice.core.genmodel.etricegen.BindingInstance}.
+ * It is bidirectional and its opposite is '{@link org.eclipse.etrice.core.genmodel.etricegen.BindingInstance#getPorts <em>Ports</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * The list contains all binding instances connected with this port.
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Bindings</em>' reference list.
+ * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getPortInstance_Bindings()
+ * @see org.eclipse.etrice.core.genmodel.etricegen.BindingInstance#getPorts
+ * @model opposite="ports"
+ * @generated
+ */
+ EList<BindingInstance> getBindings();
+
+} // PortInstance
diff --git a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/PortKind.java b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/PortKind.java
index 29e7bc6ab..bdd1f0a08 100644
--- a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/PortKind.java
+++ b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/PortKind.java
@@ -1,236 +1,236 @@
-/*******************************************************************************
- * Copyright (c) 2010 protos software gmbh (http://www.protos.de).
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * CONTRIBUTORS:
- * Thomas Schuetz and Henrik Rentz-Reichert (initial contribution)
- *
- *******************************************************************************/
-
-package org.eclipse.etrice.core.genmodel.etricegen;
-
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.emf.common.util.Enumerator;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the literals of the enumeration '<em><b>Port Kind</b></em>',
- * and utility methods for working with them.
- * <!-- end-user-doc -->
- * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getPortKind()
- * @model
- * @generated
- */
-public enum PortKind implements Enumerator {
- /**
- * The '<em><b>External</b></em>' literal object.
- * <!-- begin-user-doc -->
- * It applies to an external end port.
- * <!-- end-user-doc -->
- * @see #EXTERNAL_VALUE
- * @generated
- * @ordered
- */
- EXTERNAL(0, "external", "external"),
-
- /**
- * The '<em><b>Internal</b></em>' literal object.
- * <!-- begin-user-doc -->
- * It applies to an internal end port.
- * <!-- end-user-doc -->
- * @see #INTERNAL_VALUE
- * @generated
- * @ordered
- */
- INTERNAL(1, "internal", "internal"),
-
- /**
- * The '<em><b>Relay</b></em>' literal object.
- * <!-- begin-user-doc -->
- * It applies to a relay port.
- * <!-- end-user-doc -->
- * @see #RELAY_VALUE
- * @generated
- * @ordered
- */
- RELAY(2, "relay", "relay");
-
- /**
- * The '<em><b>External</b></em>' literal value.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #EXTERNAL
- * @model name="external"
- * @generated
- * @ordered
- */
- public static final int EXTERNAL_VALUE = 0;
-
- /**
- * The '<em><b>Internal</b></em>' literal value.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #INTERNAL
- * @model name="internal"
- * @generated
- * @ordered
- */
- public static final int INTERNAL_VALUE = 1;
-
- /**
- * The '<em><b>Relay</b></em>' literal value.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #RELAY
- * @model name="relay"
- * @generated
- * @ordered
- */
- public static final int RELAY_VALUE = 2;
-
- /**
- * An array of all the '<em><b>Port Kind</b></em>' enumerators.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private static final PortKind[] VALUES_ARRAY =
- new PortKind[] {
- EXTERNAL,
- INTERNAL,
- RELAY,
- };
-
- /**
- * A public read-only list of all the '<em><b>Port Kind</b></em>' enumerators.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static final List<PortKind> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
-
- /**
- * Returns the '<em><b>Port Kind</b></em>' literal with the specified literal value.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static PortKind get(String literal) {
- for (int i = 0; i < VALUES_ARRAY.length; ++i) {
- PortKind result = VALUES_ARRAY[i];
- if (result.toString().equals(literal)) {
- return result;
- }
- }
- return null;
- }
-
- /**
- * Returns the '<em><b>Port Kind</b></em>' literal with the specified name.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static PortKind getByName(String name) {
- for (int i = 0; i < VALUES_ARRAY.length; ++i) {
- PortKind result = VALUES_ARRAY[i];
- if (result.getName().equals(name)) {
- return result;
- }
- }
- return null;
- }
-
- /**
- * Returns the '<em><b>Port Kind</b></em>' literal with the specified integer value.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static PortKind get(int value) {
- switch (value) {
- case EXTERNAL_VALUE: return EXTERNAL;
- case INTERNAL_VALUE: return INTERNAL;
- case RELAY_VALUE: return RELAY;
- }
- return null;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private final int value;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private final String name;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private final String literal;
-
- /**
- * Only this class can construct instances.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private PortKind(int value, String name, String literal) {
- this.value = value;
- this.name = name;
- this.literal = literal;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public int getValue() {
- return value;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String getName() {
- return name;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String getLiteral() {
- return literal;
- }
-
- /**
- * Returns the literal value of the enumerator, which is its string representation.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public String toString() {
- return literal;
- }
-
-} //PortKind
+/*******************************************************************************
+ * Copyright (c) 2010 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * Thomas Schuetz and Henrik Rentz-Reichert (initial contribution)
+ *
+ *******************************************************************************/
+
+package org.eclipse.etrice.core.genmodel.etricegen;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Port Kind</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getPortKind()
+ * @model
+ * @generated
+ */
+public enum PortKind implements Enumerator {
+ /**
+ * The '<em><b>External</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * It applies to an external end port.
+ * <!-- end-user-doc -->
+ * @see #EXTERNAL_VALUE
+ * @generated
+ * @ordered
+ */
+ EXTERNAL(0, "external", "external"),
+
+ /**
+ * The '<em><b>Internal</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * It applies to an internal end port.
+ * <!-- end-user-doc -->
+ * @see #INTERNAL_VALUE
+ * @generated
+ * @ordered
+ */
+ INTERNAL(1, "internal", "internal"),
+
+ /**
+ * The '<em><b>Relay</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * It applies to a relay port.
+ * <!-- end-user-doc -->
+ * @see #RELAY_VALUE
+ * @generated
+ * @ordered
+ */
+ RELAY(2, "relay", "relay");
+
+ /**
+ * The '<em><b>External</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #EXTERNAL
+ * @model name="external"
+ * @generated
+ * @ordered
+ */
+ public static final int EXTERNAL_VALUE = 0;
+
+ /**
+ * The '<em><b>Internal</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #INTERNAL
+ * @model name="internal"
+ * @generated
+ * @ordered
+ */
+ public static final int INTERNAL_VALUE = 1;
+
+ /**
+ * The '<em><b>Relay</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #RELAY
+ * @model name="relay"
+ * @generated
+ * @ordered
+ */
+ public static final int RELAY_VALUE = 2;
+
+ /**
+ * An array of all the '<em><b>Port Kind</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final PortKind[] VALUES_ARRAY =
+ new PortKind[] {
+ EXTERNAL,
+ INTERNAL,
+ RELAY,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>Port Kind</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<PortKind> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Port Kind</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static PortKind get(String literal) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ PortKind result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Port Kind</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static PortKind getByName(String name) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ PortKind result = VALUES_ARRAY[i];
+ if (result.getName().equals(name)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Port Kind</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static PortKind get(int value) {
+ switch (value) {
+ case EXTERNAL_VALUE: return EXTERNAL;
+ case INTERNAL_VALUE: return INTERNAL;
+ case RELAY_VALUE: return RELAY;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final int value;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String name;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String literal;
+
+ /**
+ * Only this class can construct instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private PortKind(int value, String name, String literal) {
+ this.value = value;
+ this.name = name;
+ this.literal = literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getValue() {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getLiteral() {
+ return literal;
+ }
+
+ /**
+ * Returns the literal value of the enumerator, which is its string representation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ return literal;
+ }
+
+} //PortKind
diff --git a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/Root.java b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/Root.java
index db55d8bf1..1c1749e95 100644
--- a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/Root.java
+++ b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/Root.java
@@ -1,295 +1,295 @@
-/*******************************************************************************
- * Copyright (c) 2010 protos software gmbh (http://www.protos.de).
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * CONTRIBUTORS:
- * Thomas Schuetz and Henrik Rentz-Reichert (initial contribution)
- *
- *******************************************************************************/
-
-package org.eclipse.etrice.core.genmodel.etricegen;
-
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.etrice.core.room.ActorClass;
-import org.eclipse.etrice.core.room.DataClass;
-import org.eclipse.etrice.core.room.ProtocolClass;
-import org.eclipse.etrice.core.room.RoomClass;
-import org.eclipse.etrice.core.room.RoomModel;
-import org.eclipse.etrice.core.room.SubSystemClass;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Root</b></em>' which represents the root object of the
- * whole generator model.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.Root#isLibrary <em>Library</em>}</li>
- * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.Root#getSystemInstances <em>System Instances</em>}</li>
- * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.Root#getOwnSubSystemInstances <em>Own Sub System Instances</em>}</li>
- * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.Root#getSubSystemInstances <em>Sub System Instances</em>}</li>
- * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.Root#getModels <em>Models</em>}</li>
- * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.Root#getXpActorClasses <em>Xp Actor Classes</em>}</li>
- * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.Root#getUsedDataClasses <em>Used Data Classes</em>}</li>
- * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.Root#getUsedProtocolClasses <em>Used Protocol Classes</em>}</li>
- * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.Root#getUsedActorClasses <em>Used Actor Classes</em>}</li>
- * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.Root#getUsedRoomModels <em>Used Room Models</em>}</li>
- * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.Root#getSubSystemClasses <em>Sub System Classes</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getRoot()
- * @model
- * @generated
- */
-public interface Root extends EObject {
- /**
- * Returns the value of the '<em><b>Library</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * Return <code>true</code> if the models form a library. In this case all ROOM classes are transformed
- * and accessible through this object regardless if they are used (referenced) or not
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Library</em>' attribute.
- * @see #setLibrary(boolean)
- * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getRoot_Library()
- * @model
- * @generated
- */
- boolean isLibrary();
-
- /**
- * Sets the value of the '{@link org.eclipse.etrice.core.genmodel.etricegen.Root#isLibrary <em>Library</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Library</em>' attribute.
- * @see #isLibrary()
- * @generated
- */
- void setLibrary(boolean value);
-
- /**
- * Returns the value of the '<em><b>System Instances</b></em>' containment reference list.
- * The list contents are of type {@link org.eclipse.etrice.core.genmodel.etricegen.SystemInstance}.
- * <!-- begin-user-doc -->
- * <p>
- * A list of all generated system instances.
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>System Instances</em>' containment reference list.
- * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getRoot_SystemInstances()
- * @model containment="true"
- * @generated
- */
- EList<SystemInstance> getSystemInstances();
-
- /**
- * Returns the value of the '<em><b>Own Sub System Instances</b></em>' containment reference list.
- * The list contents are of type {@link org.eclipse.etrice.core.genmodel.etricegen.SubSystemInstance}.
- * <!-- begin-user-doc -->
- * <p>
- * A list of all generated top level sub system instances (i.e. sub system instances not referenced
- * by a logical system).
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Own Sub System Instances</em>' containment reference list.
- * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getRoot_OwnSubSystemInstances()
- * @model containment="true"
- * @generated
- */
- EList<SubSystemInstance> getOwnSubSystemInstances();
-
- /**
- * Returns the value of the '<em><b>Sub System Instances</b></em>' reference list.
- * The list contents are of type {@link org.eclipse.etrice.core.genmodel.etricegen.SubSystemInstance}.
- * <!-- begin-user-doc -->
- * <p>
- * A list of all generated sub system instances.
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Sub System Instances</em>' reference list.
- * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getRoot_SubSystemInstances()
- * @model transient="true" changeable="false" volatile="true" derived="true"
- * @generated
- */
- EList<SubSystemInstance> getSubSystemInstances();
-
- /**
- * Returns the value of the '<em><b>Models</b></em>' reference list.
- * The list contents are of type {@link org.eclipse.etrice.core.room.RoomModel}.
- * <!-- begin-user-doc -->
- * <p>
- * This is a collection of all models that have been transformed.
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Models</em>' reference list.
- * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getRoot_Models()
- * @model
- * @generated
- */
- EList<RoomModel> getModels();
-
- /**
- * Returns the value of the '<em><b>Xp Actor Classes</b></em>' containment reference list.
- * The list contents are of type {@link org.eclipse.etrice.core.genmodel.etricegen.ExpandedActorClass}.
- * <!-- begin-user-doc -->
- * <p>
- * This is a list of all generated expanded actor classes.
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Xp Actor Classes</em>' containment reference list.
- * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getRoot_XpActorClasses()
- * @model containment="true"
- * @generated
- */
- EList<ExpandedActorClass> getXpActorClasses();
-
- /**
- * Returns the value of the '<em><b>Used Data Classes</b></em>' reference list.
- * The list contents are of type {@link org.eclipse.etrice.core.room.DataClass}.
- * <!-- begin-user-doc -->
- * <p>
- * This is a list of all used data classes (i.e. directly or indirectly referenced starting from the top level object
- * which is a logical system or, if no such is present, a sub system).
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Used Data Classes</em>' reference list.
- * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getRoot_UsedDataClasses()
- * @model transient="true" volatile="true" derived="true"
- * @generated
- */
- EList<DataClass> getUsedDataClasses();
-
- /**
- * Returns the value of the '<em><b>Used Protocol Classes</b></em>' reference list.
- * The list contents are of type {@link org.eclipse.etrice.core.room.ProtocolClass}.
- * <!-- begin-user-doc -->
- * <p>
- * This is a list of all used protocol classes (i.e. directly or indirectly referenced starting from the top level object
- * which is a logical system or, if no such is present, a sub system).
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Used Protocol Classes</em>' reference list.
- * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getRoot_UsedProtocolClasses()
- * @model transient="true" volatile="true" derived="true"
- * @generated
- */
- EList<ProtocolClass> getUsedProtocolClasses();
-
- /**
- * Returns the value of the '<em><b>Used Actor Classes</b></em>' reference list.
- * The list contents are of type {@link org.eclipse.etrice.core.room.ActorClass}.
- * <!-- begin-user-doc -->
- * <p>
- * This is a list of all used actor classes (i.e. directly or indirectly referenced starting from the top level object
- * which is a logical system or, if no such is present, a sub system).
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Used Actor Classes</em>' reference list.
- * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getRoot_UsedActorClasses()
- * @model transient="true" volatile="true" derived="true"
- * @generated
- */
- EList<ActorClass> getUsedActorClasses();
-
- /**
- * Returns the value of the '<em><b>Used Room Models</b></em>' reference list.
- * The list contents are of type {@link org.eclipse.etrice.core.room.RoomModel}.
- * <!-- begin-user-doc -->
- * <p>
- * This is a list of all used models (i.e. directly or indirectly referenced starting from the top level object
- * which is a logical system or, if no such is present, a sub system).
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Used Room Models</em>' reference list.
- * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getRoot_UsedRoomModels()
- * @model transient="true" volatile="true" derived="true"
- * @generated
- */
- EList<RoomModel> getUsedRoomModels();
-
- /**
- * Returns the value of the '<em><b>Sub System Classes</b></em>' reference list.
- * The list contents are of type {@link org.eclipse.etrice.core.room.SubSystemClass}.
- * <!-- begin-user-doc -->
- * <p>
- * This is a list of all used sub system classes (i.e. directly or indirectly referenced starting from the top level object
- * which is a logical system or, if no such is present, a sub system).
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Sub System Classes</em>' reference list.
- * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getRoot_SubSystemClasses()
- * @model transient="true" volatile="true" derived="true"
- * @generated
- */
- EList<SubSystemClass> getSubSystemClasses();
-
- /**
- * <!-- begin-user-doc -->
- * @param cls a room class
- * @return all room models referenced directly or indirectly by this room class
- * <!-- end-user-doc -->
- * @model
- * @generated
- */
- EList<RoomModel> getReferencedModels(RoomClass cls);
-
- /**
- * <!-- begin-user-doc -->
- * @param cls a {@link RoomClass}, actually an {@link ActorClass}
- * @return all protocol classes that are directly or indirectly referenced by {@code cls} and also
- * descending into base classes
- * <!-- end-user-doc -->
- * @model
- * @generated
- */
- EList<ProtocolClass> getReferencedProtocolClasses(RoomClass cls);
-
- /**
- * <!-- begin-user-doc -->
- * @param cls a {@link RoomClass}, actually a {@link DataClass}, a {@link ProtocoClass} or an {@link ActorClass}
- * @return all data classes that are directly or indirectly referenced by {@code cls} and also
- * descending into base classes
- * <!-- end-user-doc -->
- * @model
- * @generated
- */
- EList<DataClass> getReferencedDataClasses(RoomClass cls);
-
- /**
- * <!-- begin-user-doc -->
- * @param cls a {@link RoomClass}, actually a {@link SubSystemClass} or an {@link ActorClass}
- * @return all actor classes that are directly or indirectly referenced by {@code cls} but not
- * descending into base classes
- * <!-- end-user-doc -->
- * @model
- * @generated
- */
- EList<ActorClass> getReferencedActorClasses(RoomClass cls);
-
- /**
- * <!-- begin-user-doc -->
- * @param ai an actor instance
- * @return the expanded actor class associated with this instance
- * <!-- end-user-doc -->
- * @model
- * @generated
- */
- ExpandedActorClass getExpandedActorClass(ActorInstance ai);
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @model
- * @generated
- */
- StructureInstance getInstance(String path);
-
-} // Root
+/*******************************************************************************
+ * Copyright (c) 2010 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * Thomas Schuetz and Henrik Rentz-Reichert (initial contribution)
+ *
+ *******************************************************************************/
+
+package org.eclipse.etrice.core.genmodel.etricegen;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.etrice.core.room.ActorClass;
+import org.eclipse.etrice.core.room.DataClass;
+import org.eclipse.etrice.core.room.ProtocolClass;
+import org.eclipse.etrice.core.room.RoomClass;
+import org.eclipse.etrice.core.room.RoomModel;
+import org.eclipse.etrice.core.room.SubSystemClass;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Root</b></em>' which represents the root object of the
+ * whole generator model.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.Root#isLibrary <em>Library</em>}</li>
+ * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.Root#getSystemInstances <em>System Instances</em>}</li>
+ * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.Root#getOwnSubSystemInstances <em>Own Sub System Instances</em>}</li>
+ * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.Root#getSubSystemInstances <em>Sub System Instances</em>}</li>
+ * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.Root#getModels <em>Models</em>}</li>
+ * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.Root#getXpActorClasses <em>Xp Actor Classes</em>}</li>
+ * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.Root#getUsedDataClasses <em>Used Data Classes</em>}</li>
+ * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.Root#getUsedProtocolClasses <em>Used Protocol Classes</em>}</li>
+ * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.Root#getUsedActorClasses <em>Used Actor Classes</em>}</li>
+ * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.Root#getUsedRoomModels <em>Used Room Models</em>}</li>
+ * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.Root#getSubSystemClasses <em>Sub System Classes</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getRoot()
+ * @model
+ * @generated
+ */
+public interface Root extends EObject {
+ /**
+ * Returns the value of the '<em><b>Library</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * Return <code>true</code> if the models form a library. In this case all ROOM classes are transformed
+ * and accessible through this object regardless if they are used (referenced) or not
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Library</em>' attribute.
+ * @see #setLibrary(boolean)
+ * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getRoot_Library()
+ * @model
+ * @generated
+ */
+ boolean isLibrary();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.etrice.core.genmodel.etricegen.Root#isLibrary <em>Library</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Library</em>' attribute.
+ * @see #isLibrary()
+ * @generated
+ */
+ void setLibrary(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>System Instances</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.etrice.core.genmodel.etricegen.SystemInstance}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * A list of all generated system instances.
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>System Instances</em>' containment reference list.
+ * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getRoot_SystemInstances()
+ * @model containment="true"
+ * @generated
+ */
+ EList<SystemInstance> getSystemInstances();
+
+ /**
+ * Returns the value of the '<em><b>Own Sub System Instances</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.etrice.core.genmodel.etricegen.SubSystemInstance}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * A list of all generated top level sub system instances (i.e. sub system instances not referenced
+ * by a logical system).
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Own Sub System Instances</em>' containment reference list.
+ * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getRoot_OwnSubSystemInstances()
+ * @model containment="true"
+ * @generated
+ */
+ EList<SubSystemInstance> getOwnSubSystemInstances();
+
+ /**
+ * Returns the value of the '<em><b>Sub System Instances</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.etrice.core.genmodel.etricegen.SubSystemInstance}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * A list of all generated sub system instances.
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Sub System Instances</em>' reference list.
+ * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getRoot_SubSystemInstances()
+ * @model transient="true" changeable="false" volatile="true" derived="true"
+ * @generated
+ */
+ EList<SubSystemInstance> getSubSystemInstances();
+
+ /**
+ * Returns the value of the '<em><b>Models</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.etrice.core.room.RoomModel}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * This is a collection of all models that have been transformed.
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Models</em>' reference list.
+ * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getRoot_Models()
+ * @model
+ * @generated
+ */
+ EList<RoomModel> getModels();
+
+ /**
+ * Returns the value of the '<em><b>Xp Actor Classes</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.etrice.core.genmodel.etricegen.ExpandedActorClass}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * This is a list of all generated expanded actor classes.
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Xp Actor Classes</em>' containment reference list.
+ * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getRoot_XpActorClasses()
+ * @model containment="true"
+ * @generated
+ */
+ EList<ExpandedActorClass> getXpActorClasses();
+
+ /**
+ * Returns the value of the '<em><b>Used Data Classes</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.etrice.core.room.DataClass}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * This is a list of all used data classes (i.e. directly or indirectly referenced starting from the top level object
+ * which is a logical system or, if no such is present, a sub system).
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Used Data Classes</em>' reference list.
+ * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getRoot_UsedDataClasses()
+ * @model transient="true" volatile="true" derived="true"
+ * @generated
+ */
+ EList<DataClass> getUsedDataClasses();
+
+ /**
+ * Returns the value of the '<em><b>Used Protocol Classes</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.etrice.core.room.ProtocolClass}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * This is a list of all used protocol classes (i.e. directly or indirectly referenced starting from the top level object
+ * which is a logical system or, if no such is present, a sub system).
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Used Protocol Classes</em>' reference list.
+ * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getRoot_UsedProtocolClasses()
+ * @model transient="true" volatile="true" derived="true"
+ * @generated
+ */
+ EList<ProtocolClass> getUsedProtocolClasses();
+
+ /**
+ * Returns the value of the '<em><b>Used Actor Classes</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.etrice.core.room.ActorClass}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * This is a list of all used actor classes (i.e. directly or indirectly referenced starting from the top level object
+ * which is a logical system or, if no such is present, a sub system).
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Used Actor Classes</em>' reference list.
+ * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getRoot_UsedActorClasses()
+ * @model transient="true" volatile="true" derived="true"
+ * @generated
+ */
+ EList<ActorClass> getUsedActorClasses();
+
+ /**
+ * Returns the value of the '<em><b>Used Room Models</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.etrice.core.room.RoomModel}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * This is a list of all used models (i.e. directly or indirectly referenced starting from the top level object
+ * which is a logical system or, if no such is present, a sub system).
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Used Room Models</em>' reference list.
+ * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getRoot_UsedRoomModels()
+ * @model transient="true" volatile="true" derived="true"
+ * @generated
+ */
+ EList<RoomModel> getUsedRoomModels();
+
+ /**
+ * Returns the value of the '<em><b>Sub System Classes</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.etrice.core.room.SubSystemClass}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * This is a list of all used sub system classes (i.e. directly or indirectly referenced starting from the top level object
+ * which is a logical system or, if no such is present, a sub system).
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Sub System Classes</em>' reference list.
+ * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getRoot_SubSystemClasses()
+ * @model transient="true" volatile="true" derived="true"
+ * @generated
+ */
+ EList<SubSystemClass> getSubSystemClasses();
+
+ /**
+ * <!-- begin-user-doc -->
+ * @param cls a room class
+ * @return all room models referenced directly or indirectly by this room class
+ * <!-- end-user-doc -->
+ * @model
+ * @generated
+ */
+ EList<RoomModel> getReferencedModels(RoomClass cls);
+
+ /**
+ * <!-- begin-user-doc -->
+ * @param cls a {@link RoomClass}, actually an {@link ActorClass}
+ * @return all protocol classes that are directly or indirectly referenced by {@code cls} and also
+ * descending into base classes
+ * <!-- end-user-doc -->
+ * @model
+ * @generated
+ */
+ EList<ProtocolClass> getReferencedProtocolClasses(RoomClass cls);
+
+ /**
+ * <!-- begin-user-doc -->
+ * @param cls a {@link RoomClass}, actually a {@link DataClass}, a {@link ProtocoClass} or an {@link ActorClass}
+ * @return all data classes that are directly or indirectly referenced by {@code cls} and also
+ * descending into base classes
+ * <!-- end-user-doc -->
+ * @model
+ * @generated
+ */
+ EList<DataClass> getReferencedDataClasses(RoomClass cls);
+
+ /**
+ * <!-- begin-user-doc -->
+ * @param cls a {@link RoomClass}, actually a {@link SubSystemClass} or an {@link ActorClass}
+ * @return all actor classes that are directly or indirectly referenced by {@code cls} but not
+ * descending into base classes
+ * <!-- end-user-doc -->
+ * @model
+ * @generated
+ */
+ EList<ActorClass> getReferencedActorClasses(RoomClass cls);
+
+ /**
+ * <!-- begin-user-doc -->
+ * @param ai an actor instance
+ * @return the expanded actor class associated with this instance
+ * <!-- end-user-doc -->
+ * @model
+ * @generated
+ */
+ ExpandedActorClass getExpandedActorClass(ActorInstance ai);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @model
+ * @generated
+ */
+ StructureInstance getInstance(String path);
+
+} // Root
diff --git a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/SAPInstance.java b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/SAPInstance.java
index 870dad802..b30828bb8 100644
--- a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/SAPInstance.java
+++ b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/SAPInstance.java
@@ -1,60 +1,60 @@
-/*******************************************************************************
- * Copyright (c) 2010 protos software gmbh (http://www.protos.de).
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * CONTRIBUTORS:
- * Thomas Schuetz and Henrik Rentz-Reichert (initial contribution)
- *
- *******************************************************************************/
-
-package org.eclipse.etrice.core.genmodel.etricegen;
-
-import org.eclipse.etrice.core.room.SAPRef;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>SAP Instance</b></em>' which is derived from
- * {@link InterfaceItemInstance}.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.SAPInstance#getSap <em>Sap</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getSAPInstance()
- * @model
- * @generated
- */
-public interface SAPInstance extends InterfaceItemInstance {
- /**
- * Returns the value of the '<em><b>Sap</b></em>' reference.
- * <!-- begin-user-doc -->
- * <p>
- * The associated ROOM model SAP.
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Sap</em>' reference.
- * @see #setSap(SAPRef)
- * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getSAPInstance_Sap()
- * @model
- * @generated
- */
- SAPRef getSap();
-
- /**
- * Sets the value of the '{@link org.eclipse.etrice.core.genmodel.etricegen.SAPInstance#getSap <em>Sap</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Sap</em>' reference.
- * @see #getSap()
- * @generated
- */
- void setSap(SAPRef value);
-
-} // SAPInstance
+/*******************************************************************************
+ * Copyright (c) 2010 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * Thomas Schuetz and Henrik Rentz-Reichert (initial contribution)
+ *
+ *******************************************************************************/
+
+package org.eclipse.etrice.core.genmodel.etricegen;
+
+import org.eclipse.etrice.core.room.SAPRef;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>SAP Instance</b></em>' which is derived from
+ * {@link InterfaceItemInstance}.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.SAPInstance#getSap <em>Sap</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getSAPInstance()
+ * @model
+ * @generated
+ */
+public interface SAPInstance extends InterfaceItemInstance {
+ /**
+ * Returns the value of the '<em><b>Sap</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * The associated ROOM model SAP.
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Sap</em>' reference.
+ * @see #setSap(SAPRef)
+ * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getSAPInstance_Sap()
+ * @model
+ * @generated
+ */
+ SAPRef getSap();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.etrice.core.genmodel.etricegen.SAPInstance#getSap <em>Sap</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Sap</em>' reference.
+ * @see #getSap()
+ * @generated
+ */
+ void setSap(SAPRef value);
+
+} // SAPInstance
diff --git a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/SPPInstance.java b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/SPPInstance.java
index d3989864f..d0dff98a6 100644
--- a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/SPPInstance.java
+++ b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/SPPInstance.java
@@ -1,107 +1,107 @@
-/*******************************************************************************
- * Copyright (c) 2010 protos software gmbh (http://www.protos.de).
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * CONTRIBUTORS:
- * Thomas Schuetz and Henrik Rentz-Reichert (initial contribution)
- *
- *******************************************************************************/
-
-package org.eclipse.etrice.core.genmodel.etricegen;
-
-import org.eclipse.emf.common.util.EList;
-
-import org.eclipse.etrice.core.room.SPPRef;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>SPP Instance</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>