Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHenrik Rentz-Reichert2010-12-17 18:39:44 -0500
committerHenrik Rentz-Reichert2010-12-17 18:39:44 -0500
commita18223dad8781158e889261776110780c401525d (patch)
tree8550318ab83de220e8e5be978d3d0501e5651fa0
downloadorg.eclipse.etrice-a18223dad8781158e889261776110780c401525d.tar.gz
org.eclipse.etrice-a18223dad8781158e889261776110780c401525d.tar.xz
org.eclipse.etrice-a18223dad8781158e889261776110780c401525d.zip
initial contribution (cf. http://dev.eclipse.org/ipzilla/show_bug.cgi?id=4670)
-rw-r--r--examples/org.eclipse.etrice.example/.gitignore1
-rw-r--r--examples/org.eclipse.etrice.example/.settings/org.eclipse.jdt.core.prefs12
-rw-r--r--examples/org.eclipse.etrice.example/META-INF/MANIFEST.MF19
-rw-r--r--examples/org.eclipse.etrice.example/build.properties4
-rw-r--r--examples/org.eclipse.etrice.example/gen_example.launch18
-rw-r--r--examples/org.eclipse.etrice.example/models/FSM_Test.room331
-rw-r--r--examples/org.eclipse.etrice.example/models/FSM_Test.trp5421
-rw-r--r--examples/org.eclipse.etrice.example/models/MyBaseModel.room95
-rw-r--r--examples/org.eclipse.etrice.example/src/workflow/example.mwe218
-rw-r--r--modellib/org.eclipse.etrice.modellib/META-INF/MANIFEST.MF6
-rw-r--r--modellib/org.eclipse.etrice.modellib/about.html28
-rw-r--r--modellib/org.eclipse.etrice.modellib/build.properties1
-rw-r--r--modellib/org.eclipse.etrice.modellib/models/TimingService.room313
-rw-r--r--plugins/org.eclipse.etrice.core.room.ui/.gitignore1
-rw-r--r--plugins/org.eclipse.etrice.core.room.ui/META-INF/MANIFEST.MF21
-rw-r--r--plugins/org.eclipse.etrice.core.room.ui/about.html28
-rw-r--r--plugins/org.eclipse.etrice.core.room.ui/build.properties6
-rw-r--r--plugins/org.eclipse.etrice.core.room.ui/eTrice-rt.launch32
-rw-r--r--plugins/org.eclipse.etrice.core.room.ui/icons/ActorClass.gifbin0 -> 137 bytes
-rw-r--r--plugins/org.eclipse.etrice.core.room.ui/icons/ActorRef.gifbin0 -> 127 bytes
-rw-r--r--plugins/org.eclipse.etrice.core.room.ui/icons/ConjPort.gifbin0 -> 124 bytes
-rw-r--r--plugins/org.eclipse.etrice.core.room.ui/icons/ConjRelayPort.gifbin0 -> 121 bytes
-rw-r--r--plugins/org.eclipse.etrice.core.room.ui/icons/ConjReplPort.gifbin0 -> 129 bytes
-rw-r--r--plugins/org.eclipse.etrice.core.room.ui/icons/ConjReplRelayPort.gifbin0 -> 128 bytes
-rw-r--r--plugins/org.eclipse.etrice.core.room.ui/icons/DataClass.gifbin0 -> 125 bytes
-rw-r--r--plugins/org.eclipse.etrice.core.room.ui/icons/LogicalSystem.gifbin0 -> 141 bytes
-rw-r--r--plugins/org.eclipse.etrice.core.room.ui/icons/Message.gifbin0 -> 135 bytes
-rw-r--r--plugins/org.eclipse.etrice.core.room.ui/icons/Operation.gifbin0 -> 156 bytes
-rw-r--r--plugins/org.eclipse.etrice.core.room.ui/icons/Port.gifbin0 -> 117 bytes
-rw-r--r--plugins/org.eclipse.etrice.core.room.ui/icons/ProtocolClass.gifbin0 -> 123 bytes
-rw-r--r--plugins/org.eclipse.etrice.core.room.ui/icons/RefinedState.gifbin0 -> 124 bytes
-rw-r--r--plugins/org.eclipse.etrice.core.room.ui/icons/RelayPort.gifbin0 -> 117 bytes
-rw-r--r--plugins/org.eclipse.etrice.core.room.ui/icons/ReplPort.gifbin0 -> 128 bytes
-rw-r--r--plugins/org.eclipse.etrice.core.room.ui/icons/ReplRelayPort.gifbin0 -> 127 bytes
-rw-r--r--plugins/org.eclipse.etrice.core.room.ui/icons/RoomModel.gifbin0 -> 145 bytes
-rw-r--r--plugins/org.eclipse.etrice.core.room.ui/icons/RoomModelImport.gifbin0 -> 157 bytes
-rw-r--r--plugins/org.eclipse.etrice.core.room.ui/icons/SAP.gifbin0 -> 111 bytes
-rw-r--r--plugins/org.eclipse.etrice.core.room.ui/icons/SPP.gifbin0 -> 115 bytes
-rw-r--r--plugins/org.eclipse.etrice.core.room.ui/icons/ServiceImpl.gifbin0 -> 120 bytes
-rw-r--r--plugins/org.eclipse.etrice.core.room.ui/icons/State.gifbin0 -> 117 bytes
-rw-r--r--plugins/org.eclipse.etrice.core.room.ui/icons/SubSystemClass.gifbin0 -> 141 bytes
-rw-r--r--plugins/org.eclipse.etrice.core.room.ui/icons/SubSystemRef.gifbin0 -> 127 bytes
-rw-r--r--plugins/org.eclipse.etrice.core.room.ui/icons/Thumbs.dbbin0 -> 9216 bytes
-rw-r--r--plugins/org.eclipse.etrice.core.room.ui/icons/etrice.icobin0 -> 1078 bytes
-rw-r--r--plugins/org.eclipse.etrice.core.room.ui/icons/etrice16.icobin0 -> 894 bytes
-rw-r--r--plugins/org.eclipse.etrice.core.room.ui/icons/etrice_doc16.icobin0 -> 894 bytes
-rw-r--r--plugins/org.eclipse.etrice.core.room.ui/plugin.xml244
-rw-r--r--plugins/org.eclipse.etrice.core.room.ui/plugin.xml_gen184
-rw-r--r--plugins/org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/AbstractRoomUiModule.java127
-rw-r--r--plugins/org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/RoomExecutableExtensionFactory.java28
-rw-r--r--plugins/org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/AbstractRoomProposalProvider.java696
-rw-r--r--plugins/org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/RoomParser.java341
-rw-r--r--plugins/org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g16199
-rw-r--r--plugins/org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.tokens96
-rw-r--r--plugins/org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoomLexer.java6574
-rw-r--r--plugins/org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoomParser.java45018
-rw-r--r--plugins/org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom__.g121
-rw-r--r--plugins/org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/internal/RoomActivator.java73
-rw-r--r--plugins/org.eclipse.etrice.core.room.ui/src/org/eclipse/etrice/core/ui/RoomModelValidator.java91
-rw-r--r--plugins/org.eclipse.etrice.core.room.ui/src/org/eclipse/etrice/core/ui/RoomUiModule.java29
-rw-r--r--plugins/org.eclipse.etrice.core.room.ui/src/org/eclipse/etrice/core/ui/contentassist/IProposalFilter.java21
-rw-r--r--plugins/org.eclipse.etrice.core.room.ui/src/org/eclipse/etrice/core/ui/contentassist/RoomProposalProvider.java110
-rw-r--r--plugins/org.eclipse.etrice.core.room.ui/src/org/eclipse/etrice/core/ui/labeling/RoomDescriptionLabelProvider.java36
-rw-r--r--plugins/org.eclipse.etrice.core.room.ui/src/org/eclipse/etrice/core/ui/labeling/RoomLabelProvider.java303
-rw-r--r--plugins/org.eclipse.etrice.core.room.ui/src/org/eclipse/etrice/core/ui/outline/EditStateMachineHandler.java26
-rw-r--r--plugins/org.eclipse.etrice.core.room.ui/src/org/eclipse/etrice/core/ui/outline/EditStructureHandler.java57
-rw-r--r--plugins/org.eclipse.etrice.core.room.ui/src/org/eclipse/etrice/core/ui/outline/RoomOutlineNodeAdapterFactory.java38
-rw-r--r--plugins/org.eclipse.etrice.core.room.ui/src/org/eclipse/etrice/core/ui/outline/RoomTransformer.java159
-rw-r--r--plugins/org.eclipse.etrice.core.room.ui/src/org/eclipse/etrice/core/ui/quickfix/RoomQuickfixProvider.java30
-rw-r--r--plugins/org.eclipse.etrice.core.room.ui/templates/readme.txt1
-rw-r--r--plugins/org.eclipse.etrice.core.room.ui/templates/templates.xml46
-rw-r--r--plugins/org.eclipse.etrice.core.room/.gitignore1
-rw-r--r--plugins/org.eclipse.etrice.core.room/META-INF/MANIFEST.MF32
-rw-r--r--plugins/org.eclipse.etrice.core.room/about.html28
-rw-r--r--plugins/org.eclipse.etrice.core.room/build.properties4
-rw-r--r--plugins/org.eclipse.etrice.core.room/gen_room.launch17
-rw-r--r--plugins/org.eclipse.etrice.core.room/plugin.properties8
-rw-r--r--plugins/org.eclipse.etrice.core.room/plugin.xml18
-rw-r--r--plugins/org.eclipse.etrice.core.room/plugin.xml_gen18
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/AbstractRoomRuntimeModule.java132
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore332
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.genmodel267
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.xmi1612
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/RoomStandaloneSetupGenerated.java44
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parseTreeConstruction/RoomParsetreeConstructor.java15545
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/RoomAntlrTokenFileProvider.java15
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/RoomParser.java56
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g6227
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.tokens96
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoomLexer.java6574
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoomParser.java15967
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom__.g121
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/ActorClass.java282
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/ActorContainerClass.java62
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/ActorContainerRef.java55
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/ActorInstancePath.java47
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/ActorRef.java54
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/Attribute.java109
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/BaseState.java54
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/Binding.java82
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/BindingEndPoint.java82
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/CPBranchTransition.java54
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/ChoicePoint.java54
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/ChoicepointTerminal.java54
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/ContinuationTransition.java22
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/DataClass.java106
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/DetailCode.java47
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/EntryPoint.java22
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/ExitPoint.java22
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/ExternalPort.java55
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/FreeType.java85
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/FreeTypedID.java82
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/Guard.java55
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/Import.java55
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/InitialTransition.java22
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/InterfaceItem.java82
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/LayerConnection.java82
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/LogicalSystem.java45
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/LogicalThread.java74
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/Message.java74
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/MessageFromIf.java82
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/MessageHandler.java82
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/NonInitialTransition.java54
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/Operation.java128
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/Port.java82
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/PortClass.java108
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/PrimitiveType.java497
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/ProtocolClass.java224
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/ProtocolSemantics.java47
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/RefSAPoint.java54
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/RefinedState.java63
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/RelaySAPoint.java54
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/RoomClass.java55
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/RoomFactory.java641
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/RoomModel.java159
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/RoomPackage.java6531
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/SAPRef.java22
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/SAPoint.java23
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/SPPRef.java22
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/SPPoint.java82
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/SemanticsInRule.java22
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/SemanticsOutRule.java22
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/SemanticsRule.java74
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/ServiceImplementation.java55
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/State.java108
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/StateGraph.java98
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/StateGraphItem.java23
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/StateGraphNode.java22
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/StateTerminal.java54
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/StructureClass.java62
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/SubStateTrPointTerminal.java81
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/SubSystemClass.java62
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/SubSystemRef.java54
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/TrPoint.java54
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/TrPointTerminal.java54
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/Transition.java108
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/TransitionPoint.java54
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/TransitionTerminal.java23
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/Trigger.java74
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/TriggeredTransition.java45
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/Type.java85
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/TypedID.java82
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/impl/ActorClassImpl.java756
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/impl/ActorContainerClassImpl.java208
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/impl/ActorContainerRefImpl.java181
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/impl/ActorInstancePathImpl.java167
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/impl/ActorRefImpl.java176
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/impl/AttributeImpl.java325
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/impl/BaseStateImpl.java180
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/impl/BindingEndPointImpl.java243
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/impl/BindingImpl.java269
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/impl/CPBranchTransitionImpl.java197
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/impl/ChoicePointImpl.java180
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/impl/ChoicepointTerminalImpl.java176
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/impl/ContinuationTransitionImpl.java46
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/impl/DataClassImpl.java315
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/impl/DetailCodeImpl.java167
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/impl/EntryPointImpl.java46
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/impl/ExitPointImpl.java46
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/impl/ExternalPortImpl.java177
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/impl/FreeTypeImpl.java238
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/impl/FreeTypedIDImpl.java269
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/impl/GuardImpl.java198
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/impl/ImportImpl.java181
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/impl/InitialTransitionImpl.java46
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/impl/InterfaceItemImpl.java248
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/impl/LayerConnectionImpl.java270
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/impl/LogicalSystemImpl.java169
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/impl/LogicalThreadImpl.java244
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/impl/MessageFromIfImpl.java243
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/impl/MessageHandlerImpl.java264
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/impl/MessageImpl.java244
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/impl/NonInitialTransitionImpl.java197
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/impl/OperationImpl.java388
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/impl/PortClassImpl.java323
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/impl/PortImpl.java236
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/impl/ProtocolClassImpl.java633
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/impl/ProtocolSemanticsImpl.java171
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/impl/RefSAPointImpl.java176
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/impl/RefinedStateImpl.java186
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/impl/RelaySAPointImpl.java176
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/impl/RoomClassImpl.java181
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/impl/RoomFactoryImpl.java959
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/impl/RoomModelImpl.java439
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/impl/RoomPackageImpl.java3108
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/impl/SAPRefImpl.java46
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/impl/SAPointImpl.java48
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/impl/SPPRefImpl.java46
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/impl/SPPointImpl.java243
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/impl/SemanticsInRuleImpl.java46
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/impl/SemanticsOutRuleImpl.java46
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/impl/SemanticsRuleImpl.java238
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/impl/ServiceImplementationImpl.java177
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/impl/StateGraphImpl.java288
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/impl/StateGraphItemImpl.java48
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/impl/StateGraphNodeImpl.java46
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/impl/StateImpl.java340
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/impl/StateTerminalImpl.java176
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/impl/StructureClassImpl.java208
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/impl/SubStateTrPointTerminalImpl.java242
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/impl/SubSystemClassImpl.java208
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/impl/SubSystemRefImpl.java176
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/impl/TrPointImpl.java180
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/impl/TrPointTerminalImpl.java176
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/impl/TransitionImpl.java340
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/impl/TransitionPointImpl.java180
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/impl/TransitionTerminalImpl.java48
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/impl/TriggerImpl.java245
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/impl/TriggeredTransitionImpl.java169
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/impl/TypeImpl.java249
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/impl/TypedIDImpl.java269
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/util/RoomAdapterFactory.java1456
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/room/util/RoomSwitch.java1722
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/services/RoomGrammarAccess.java4319
-rw-r--r--plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/validation/AbstractRoomJavaValidator.java20
-rw-r--r--plugins/org.eclipse.etrice.core.room/src/org/eclipse/etrice/core/GenerateRoom.mwe2129
-rw-r--r--plugins/org.eclipse.etrice.core.room/src/org/eclipse/etrice/core/Room.ecorediag2784
-rw-r--r--plugins/org.eclipse.etrice.core.room/src/org/eclipse/etrice/core/Room.properties3
-rw-r--r--plugins/org.eclipse.etrice.core.room/src/org/eclipse/etrice/core/Room.xtext376
-rw-r--r--plugins/org.eclipse.etrice.core.room/src/org/eclipse/etrice/core/RoomPostprocessor.ext57
-rw-r--r--plugins/org.eclipse.etrice.core.room/src/org/eclipse/etrice/core/RoomRuntimeModule.java35
-rw-r--r--plugins/org.eclipse.etrice.core.room/src/org/eclipse/etrice/core/RoomStandaloneSetup.java29
-rw-r--r--plugins/org.eclipse.etrice.core.room/src/org/eclipse/etrice/core/formatting/RoomFormatter.java34
-rw-r--r--plugins/org.eclipse.etrice.core.room/src/org/eclipse/etrice/core/naming/RoomFragmentProvider.java487
-rw-r--r--plugins/org.eclipse.etrice.core.room/src/org/eclipse/etrice/core/naming/RoomNameProvider.java210
-rw-r--r--plugins/org.eclipse.etrice.core.room/src/org/eclipse/etrice/core/naming/RoomQualifiedNameProvider.java53
-rw-r--r--plugins/org.eclipse.etrice.core.room/src/org/eclipse/etrice/core/scoping/ActorRefFilter.java51
-rw-r--r--plugins/org.eclipse.etrice.core.room/src/org/eclipse/etrice/core/scoping/FilteringScope.java66
-rw-r--r--plugins/org.eclipse.etrice.core.room/src/org/eclipse/etrice/core/scoping/RoomScopeProvider.java803
-rw-r--r--plugins/org.eclipse.etrice.core.room/src/org/eclipse/etrice/core/validation/RoomJavaValidator.java121
-rw-r--r--plugins/org.eclipse.etrice.core.room/src/org/eclipse/etrice/core/validation/ValidationUtil.java436
-rw-r--r--plugins/org.eclipse.etrice.generator.java/.gitignore1
-rw-r--r--plugins/org.eclipse.etrice.generator.java/.settings/org.eclipse.jdt.core.prefs8
-rw-r--r--plugins/org.eclipse.etrice.generator.java/.settings/org.eclipse.xtend.shared.ui.prefs3
-rw-r--r--plugins/org.eclipse.etrice.generator.java/META-INF/MANIFEST.MF21
-rw-r--r--plugins/org.eclipse.etrice.generator.java/about.html28
-rw-r--r--plugins/org.eclipse.etrice.generator.java/build.properties4
-rw-r--r--plugins/org.eclipse.etrice.generator.java/src/extensions/Extensions.ext190
-rw-r--r--plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/JavaGenerator.java138
-rw-r--r--plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/JavaTransitionChainVisitor.java101
-rw-r--r--plugins/org.eclipse.etrice.generator.java/src/templates/ActorClass.xpt140
-rw-r--r--plugins/org.eclipse.etrice.generator.java/src/templates/DataClass.xpt48
-rw-r--r--plugins/org.eclipse.etrice.generator.java/src/templates/Main.xpt23
-rw-r--r--plugins/org.eclipse.etrice.generator.java/src/templates/ProcedureHelpers.xpt55
-rw-r--r--plugins/org.eclipse.etrice.generator.java/src/templates/ProtocolClass.xpt222
-rw-r--r--plugins/org.eclipse.etrice.generator.java/src/templates/StateMachine.xpt228
-rw-r--r--plugins/org.eclipse.etrice.generator.java/src/templates/SubSystemClass.xpt83
-rw-r--r--plugins/org.eclipse.etrice.generator.java/src/templates/SubSystemRunner.xpt70
-rw-r--r--plugins/org.eclipse.etrice.generator.java/src/workflow/RoomGenerator.mwe262
-rw-r--r--plugins/org.eclipse.etrice.generator/.gitignore1
-rw-r--r--plugins/org.eclipse.etrice.generator/META-INF/MANIFEST.MF41
-rw-r--r--plugins/org.eclipse.etrice.generator/about.html28
-rw-r--r--plugins/org.eclipse.etrice.generator/build.properties14
-rw-r--r--plugins/org.eclipse.etrice.generator/model/etricegen.ecore197
-rw-r--r--plugins/org.eclipse.etrice.generator/model/etricegen.genmodel161
-rw-r--r--plugins/org.eclipse.etrice.generator/model/howto.txt3
-rw-r--r--plugins/org.eclipse.etrice.generator/plugin.properties8
-rw-r--r--plugins/org.eclipse.etrice.generator/plugin.xml21
-rw-r--r--plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/builder/ILogger.java21
-rw-r--r--plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/builder/InstanceModelBuilder.java762
-rw-r--r--plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/builder/ValidationException.java25
-rw-r--r--plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/etricegen/ActiveTrigger.java131
-rw-r--r--plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/etricegen/ActorInstance.java54
-rw-r--r--plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/etricegen/BindingInstance.java48
-rw-r--r--plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/etricegen/ConnectionInstance.java140
-rw-r--r--plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/etricegen/Counter.java72
-rw-r--r--plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/etricegen/ETriceGenFactory.java172
-rw-r--r--plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/etricegen/ETriceGenPackage.java2577
-rw-r--r--plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/etricegen/ExpandedActorClass.java233
-rw-r--r--plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/etricegen/IDiagnostician.java13
-rw-r--r--plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/etricegen/ITransitionChainVisitor.java24
-rw-r--r--plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/etricegen/InstanceBase.java103
-rw-r--r--plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/etricegen/InterfaceItemInstance.java44
-rw-r--r--plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/etricegen/PortInstance.java105
-rw-r--r--plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/etricegen/PortKind.java239
-rw-r--r--plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/etricegen/Root.java170
-rw-r--r--plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/etricegen/SAPInstance.java54
-rw-r--r--plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/etricegen/SPPInstance.java103
-rw-r--r--plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/etricegen/ServiceImplInstance.java54
-rw-r--r--plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/etricegen/StructureInstance.java180
-rw-r--r--plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/etricegen/SubSystemInstance.java81
-rw-r--r--plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/etricegen/TransitionChain.java81
-rw-r--r--plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/etricegen/impl/ActiveTriggerImpl.java333
-rw-r--r--plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/etricegen/impl/ActorInstanceImpl.java157
-rw-r--r--plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/etricegen/impl/BindingInstanceImpl.java171
-rw-r--r--plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/etricegen/impl/ConnectionInstanceImpl.java424
-rw-r--r--plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/etricegen/impl/CounterImpl.java187
-rw-r--r--plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/etricegen/impl/ETriceGenFactoryImpl.java304
-rw-r--r--plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/etricegen/impl/ETriceGenPackageImpl.java1120
-rw-r--r--plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/etricegen/impl/ExpandedActorClassImpl.java1191
-rw-r--r--plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/etricegen/impl/InstanceBaseImpl.java254
-rw-r--r--plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/etricegen/impl/InterfaceItemInstanceImpl.java135
-rw-r--r--plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/etricegen/impl/PortInstanceImpl.java294
-rw-r--r--plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/etricegen/impl/RootImpl.java590
-rw-r--r--plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/etricegen/impl/SAPInstanceImpl.java158
-rw-r--r--plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/etricegen/impl/SPPInstanceImpl.java318
-rw-r--r--plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/etricegen/impl/ServiceImplInstanceImpl.java160
-rw-r--r--plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/etricegen/impl/StructureInstanceImpl.java473
-rw-r--r--plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/etricegen/impl/SubSystemInstanceImpl.java241
-rw-r--r--plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/etricegen/impl/TransitionChainImpl.java302
-rw-r--r--plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/etricegen/util/ETriceGenAdapterFactory.java507
-rw-r--r--plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/etricegen/util/ETriceGenResourceFactoryImpl.java45
-rw-r--r--plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/etricegen/util/ETriceGenResourceImpl.java32
-rw-r--r--plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/etricegen/util/ETriceGenSwitch.java557
-rw-r--r--plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/etricegen/validation/ActiveTriggerValidator.java28
-rw-r--r--plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/etricegen/validation/ActorInstanceValidator.java21
-rw-r--r--plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/etricegen/validation/BindingInstanceValidator.java23
-rw-r--r--plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/etricegen/validation/ConnectionInstanceValidator.java26
-rw-r--r--plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/etricegen/validation/CounterValidator.java20
-rw-r--r--plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/etricegen/validation/ExpandedActorClassValidator.java21
-rw-r--r--plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/etricegen/validation/IDiagnosticianValidator.java19
-rw-r--r--plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/etricegen/validation/ITransitionChainVisitorValidator.java19
-rw-r--r--plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/etricegen/validation/InstanceBaseValidator.java22
-rw-r--r--plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/etricegen/validation/InterfaceItemInstanceValidator.java23
-rw-r--r--plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/etricegen/validation/PortInstanceValidator.java28
-rw-r--r--plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/etricegen/validation/RootValidator.java37
-rw-r--r--plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/etricegen/validation/SAPInstanceValidator.java21
-rw-r--r--plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/etricegen/validation/SPPInstanceValidator.java27
-rw-r--r--plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/etricegen/validation/ServiceImplInstanceValidator.java21
-rw-r--r--plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/etricegen/validation/StructureInstanceValidator.java38
-rw-r--r--plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/etricegen/validation/SubSystemInstanceValidator.java23
-rw-r--r--plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/etricegen/validation/TransitionChainValidator.java24
-rw-r--r--plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/workflow/InstanceModelCreator.java108
-rw-r--r--plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/workflow/WorkflowComponentWithTwoSlots.java44
-rw-r--r--plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/workflow/WorkflowDiagnostician.java64
-rw-r--r--plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/workflow/XtendStdlibLogger.java49
-rw-r--r--plugins/org.eclipse.etrice.generator/text/description.txt120
-rw-r--r--plugins/org.eclipse.etrice.ui.structure/.gitignore1
-rw-r--r--plugins/org.eclipse.etrice.ui.structure/.settings/org.eclipse.jdt.core.prefs8
-rw-r--r--plugins/org.eclipse.etrice.ui.structure/META-INF/MANIFEST.MF24
-rw-r--r--plugins/org.eclipse.etrice.ui.structure/about.html28
-rw-r--r--plugins/org.eclipse.etrice.ui.structure/build.properties5
-rw-r--r--plugins/org.eclipse.etrice.ui.structure/icons/ActorRef.gifbin0 -> 127 bytes
-rw-r--r--plugins/org.eclipse.etrice.ui.structure/icons/Binding.gifbin0 -> 118 bytes
-rw-r--r--plugins/org.eclipse.etrice.ui.structure/icons/LayerConnection.gifbin0 -> 120 bytes
-rw-r--r--plugins/org.eclipse.etrice.ui.structure/icons/Port.gifbin0 -> 117 bytes
-rw-r--r--plugins/org.eclipse.etrice.ui.structure/icons/SPP.gifbin0 -> 115 bytes
-rw-r--r--plugins/org.eclipse.etrice.ui.structure/icons/Structure.gifbin0 -> 137 bytes
-rw-r--r--plugins/org.eclipse.etrice.ui.structure/plugin.xml51
-rw-r--r--plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/Activator.java77
-rw-r--r--plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/DiagramAccess.java117
-rw-r--r--plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/DiagramTypeProvider.java34
-rw-r--r--plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/ImageProvider.java34
-rw-r--r--plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/NoResizeFeature.java42
-rw-r--r--plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/ProviderDispatcher.java425
-rw-r--r--plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/commands/PopulateDiagramCommand.java353
-rw-r--r--plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/dialogs/AbstractPropertyDialog.java267
-rw-r--r--plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/dialogs/ActorContainerRefPropertyDialog.java150
-rw-r--r--plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/dialogs/PortPropertyDialog.java260
-rw-r--r--plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/dialogs/SPPPropertyDialog.java135
-rw-r--r--plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/editor/StructureEditor.java29
-rw-r--r--plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/ActorContainerRefSupport.java751
-rw-r--r--plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/BindingSupport.java337
-rw-r--r--plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/Constants.java22
-rw-r--r--plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/InterfaceItemSupport.java743
-rw-r--r--plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/LayerConnectionSupport.java317
-rw-r--r--plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/PortSupport.java376
-rw-r--r--plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/SPPSupport.java355
-rw-r--r--plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/StructureClassSupport.java334
-rw-r--r--runtime/org.eclipse.etrice.runtime.java/.gitignore1
-rw-r--r--runtime/org.eclipse.etrice.runtime.java/.settings/org.eclipse.jdt.core.prefs12
-rw-r--r--runtime/org.eclipse.etrice.runtime.java/about.html28
-rw-r--r--runtime/org.eclipse.etrice.runtime.java/src/org/eclipse/etrice/runtime/java/debugging/DebuggingService.java90
-rw-r--r--runtime/org.eclipse.etrice.runtime.java/src/org/eclipse/etrice/runtime/java/debugging/MSCLogger.java101
-rw-r--r--runtime/org.eclipse.etrice.runtime.java/src/org/eclipse/etrice/runtime/java/messaging/AbstractMessageReceiver.java36
-rw-r--r--runtime/org.eclipse.etrice.runtime.java/src/org/eclipse/etrice/runtime/java/messaging/Address.java45
-rw-r--r--runtime/org.eclipse.etrice.runtime.java/src/org/eclipse/etrice/runtime/java/messaging/IMessageReceiver.java25
-rw-r--r--runtime/org.eclipse.etrice.runtime.java/src/org/eclipse/etrice/runtime/java/messaging/IRTObject.java28
-rw-r--r--runtime/org.eclipse.etrice.runtime.java/src/org/eclipse/etrice/runtime/java/messaging/Message.java43
-rw-r--r--runtime/org.eclipse.etrice.runtime.java/src/org/eclipse/etrice/runtime/java/messaging/MessageDispatcher.java73
-rw-r--r--runtime/org.eclipse.etrice.runtime.java/src/org/eclipse/etrice/runtime/java/messaging/MessageSeQueue.java83
-rw-r--r--runtime/org.eclipse.etrice.runtime.java/src/org/eclipse/etrice/runtime/java/messaging/MessageService.java117
-rw-r--r--runtime/org.eclipse.etrice.runtime.java/src/org/eclipse/etrice/runtime/java/messaging/RTObject.java49
-rw-r--r--runtime/org.eclipse.etrice.runtime.java/src/org/eclipse/etrice/runtime/java/modelbase/ActorClassBase.java82
-rw-r--r--runtime/org.eclipse.etrice.runtime.java/src/org/eclipse/etrice/runtime/java/modelbase/EventMessage.java37
-rw-r--r--runtime/org.eclipse.etrice.runtime.java/src/org/eclipse/etrice/runtime/java/modelbase/EventReceiver.java26
-rw-r--r--runtime/org.eclipse.etrice.runtime.java/src/org/eclipse/etrice/runtime/java/modelbase/EventWithDataMessage.java40
-rw-r--r--runtime/org.eclipse.etrice.runtime.java/src/org/eclipse/etrice/runtime/java/modelbase/IEventReceiver.java22
-rw-r--r--runtime/org.eclipse.etrice.runtime.java/src/org/eclipse/etrice/runtime/java/modelbase/InterfaceItemBase.java65
-rw-r--r--runtime/org.eclipse.etrice.runtime.java/src/org/eclipse/etrice/runtime/java/modelbase/PortBase.java25
-rw-r--r--runtime/org.eclipse.etrice.runtime.java/src/org/eclipse/etrice/runtime/java/modelbase/SubSystemClassBase.java143
-rw-r--r--runtime/org.eclipse.etrice.runtime.java/src/org/eclipse/etrice/runtime/java/modelbase/SubSystemRunnerBase.java34
-rw-r--r--tests/org.eclipse.etrice.generator.tests/.gitignore1
-rw-r--r--tests/org.eclipse.etrice.generator.tests/.settings/org.eclipse.jdt.core.prefs8
-rw-r--r--tests/org.eclipse.etrice.generator.tests/META-INF/MANIFEST.MF15
-rw-r--r--tests/org.eclipse.etrice.generator.tests/about.html28
-rw-r--r--tests/org.eclipse.etrice.generator.tests/build.properties6
-rw-r--r--tests/org.eclipse.etrice.generator.tests/models/connected_ports.room80
-rw-r--r--tests/org.eclipse.etrice.generator.tests/models/connected_ports.t.trp3213
-rw-r--r--tests/org.eclipse.etrice.generator.tests/models/hierarchy.room25
-rw-r--r--tests/org.eclipse.etrice.generator.tests/models/layers.room136
-rw-r--r--tests/org.eclipse.etrice.generator.tests/models/layers.t.room154
-rw-r--r--tests/org.eclipse.etrice.generator.tests/models/layers.t.trp4770
-rw-r--r--tests/org.eclipse.etrice.generator.tests/models/ports.room23
-rw-r--r--tests/org.eclipse.etrice.generator.tests/models/states.room106
-rw-r--r--tests/org.eclipse.etrice.generator.tests/models/states.t.room119
-rw-r--r--tests/org.eclipse.etrice.generator.tests/models/states.t.trp2685
-rw-r--r--tests/org.eclipse.etrice.generator.tests/models/states_inheritance.room249
-rw-r--r--tests/org.eclipse.etrice.generator.tests/models/states_inheritance.t.room222
-rw-r--r--tests/org.eclipse.etrice.generator.tests/models/states_inheritance.t.trp5243
-rw-r--r--tests/org.eclipse.etrice.generator.tests/models/states_triggers.room174
-rw-r--r--tests/org.eclipse.etrice.generator.tests/models/states_triggers.t.room145
-rw-r--r--tests/org.eclipse.etrice.generator.tests/models/states_triggers.t.trp2981
-rw-r--r--tests/org.eclipse.etrice.generator.tests/models/structure_inheritance.room206
-rw-r--r--tests/org.eclipse.etrice.generator.tests/models/structure_inheritance.t.room177
-rw-r--r--tests/org.eclipse.etrice.generator.tests/models/structure_inheritance.t.trp4606
-rw-r--r--tests/org.eclipse.etrice.generator.tests/src/org/eclipse/etrice/generator/InstanceTestsActivator.java33
-rw-r--r--tests/org.eclipse.etrice.generator.tests/src/org/eclipse/etrice/generator/TestConnectedPorts.java90
-rw-r--r--tests/org.eclipse.etrice.generator.tests/src/org/eclipse/etrice/generator/TestHierarchy.java57
-rw-r--r--tests/org.eclipse.etrice.generator.tests/src/org/eclipse/etrice/generator/TestInstanceModelBuilderBase.java158
-rw-r--r--tests/org.eclipse.etrice.generator.tests/src/org/eclipse/etrice/generator/TestLayers.java73
-rw-r--r--tests/org.eclipse.etrice.generator.tests/src/org/eclipse/etrice/generator/TestPorts.java58
-rw-r--r--tests/org.eclipse.etrice.generator.tests/src/org/eclipse/etrice/generator/TestStates.java120
-rw-r--r--tests/org.eclipse.etrice.generator.tests/src/org/eclipse/etrice/generator/TestStatesAndTriggers.java144
-rw-r--r--tests/org.eclipse.etrice.generator.tests/src/org/eclipse/etrice/generator/TestStatesInheritance.java144
-rw-r--r--tests/org.eclipse.etrice.generator.tests/src/org/eclipse/etrice/generator/TestStructureInheritance.java174
-rw-r--r--tests/org.eclipse.etrice.integration.tests/.gitignore1
-rw-r--r--tests/org.eclipse.etrice.integration.tests/.settings/org.eclipse.jdt.core.prefs12
-rw-r--r--tests/org.eclipse.etrice.integration.tests/META-INF/MANIFEST.MF21
-rw-r--r--tests/org.eclipse.etrice.integration.tests/about.html28
-rw-r--r--tests/org.eclipse.etrice.integration.tests/build.properties4
-rw-r--r--tests/org.eclipse.etrice.integration.tests/model/IntegrationTestFSMGenerator.room319
-rw-r--r--tests/org.eclipse.etrice.integration.tests/model/IntegrationTestFSMGenerator.trp4670
-rw-r--r--tests/org.eclipse.etrice.integration.tests/src/org/eclipse/etrice/integration/tests/IntegrationTestFSMGenerator.java64
-rw-r--r--tests/org.eclipse.etrice.integration.tests/src/org/eclipse/etrice/integration/tests/IntegrationTestFSMGenerator.mwe218
-rw-r--r--tests/org.eclipse.etrice.integration.tests/tmp/log/MainComponent_Async.seq27
-rw-r--r--tests/org.eclipse.etrice.integration.tests/tmp/log/MainComponent_Sync.seq1
-rw-r--r--tests/org.eclipse.etrice.runtime.java.tests/.gitignore1
-rw-r--r--tests/org.eclipse.etrice.runtime.java.tests/.settings/org.eclipse.jdt.core.prefs12
-rw-r--r--tests/org.eclipse.etrice.runtime.java.tests/.settings/org.eclipse.ocl.modelregistry2
-rw-r--r--tests/org.eclipse.etrice.runtime.java.tests/about.html28
-rw-r--r--tests/org.eclipse.etrice.runtime.java.tests/src/org/eclipse/etrice/runtime/java/debugging/MSCLoggerTest.java37
-rw-r--r--tests/org.eclipse.etrice.runtime.java.tests/src/org/eclipse/etrice/runtime/java/messaging/AddressTest.java28
-rw-r--r--tests/org.eclipse.etrice.runtime.java.tests/src/org/eclipse/etrice/runtime/java/messaging/DummyMessageReceiver.java49
-rw-r--r--tests/org.eclipse.etrice.runtime.java.tests/src/org/eclipse/etrice/runtime/java/messaging/MessageDispatcherTest.java69
-rw-r--r--tests/org.eclipse.etrice.runtime.java.tests/src/org/eclipse/etrice/runtime/java/messaging/MessageSeQueueTest.java129
-rw-r--r--tests/org.eclipse.etrice.runtime.java.tests/src/org/eclipse/etrice/runtime/java/messaging/MessageServiceTest.java148
-rw-r--r--tests/org.eclipse.etrice.runtime.java.tests/src/org/eclipse/etrice/runtime/java/messaging/MessageTest.java33
-rw-r--r--tests/org.eclipse.etrice.runtime.java.tests/src/org/eclipse/etrice/runtime/java/modelbase/ActorClassBaseTest.java63
-rw-r--r--tests/org.eclipse.etrice.runtime.java.tests/src/org/eclipse/etrice/runtime/java/modelbase/EventMessageTest.java34
-rw-r--r--tests/org.eclipse.etrice.runtime.java.tests/src/org/eclipse/etrice/runtime/java/modelbase/EventWithDataMessageTest.java36
-rw-r--r--tests/org.eclipse.etrice.runtime.java.tests/src/org/eclipse/etrice/runtime/java/modelbase/PortBaseTest.java110
462 files changed, 222684 insertions, 0 deletions
diff --git a/examples/org.eclipse.etrice.example/.gitignore b/examples/org.eclipse.etrice.example/.gitignore
new file mode 100644
index 000000000..ba077a403
--- /dev/null
+++ b/examples/org.eclipse.etrice.example/.gitignore
@@ -0,0 +1 @@
+bin
diff --git a/examples/org.eclipse.etrice.example/.settings/org.eclipse.jdt.core.prefs b/examples/org.eclipse.etrice.example/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 000000000..09fb0936a
--- /dev/null
+++ b/examples/org.eclipse.etrice.example/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,12 @@
+#Sun Apr 11 00:15:55 CEST 2010
+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.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+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/examples/org.eclipse.etrice.example/META-INF/MANIFEST.MF b/examples/org.eclipse.etrice.example/META-INF/MANIFEST.MF
new file mode 100644
index 000000000..6ef6db862
--- /dev/null
+++ b/examples/org.eclipse.etrice.example/META-INF/MANIFEST.MF
@@ -0,0 +1,19 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: eTrice Example
+Bundle-SymbolicName: org.eclipse.etrice.example
+Bundle-Version: 0.1.0
+Export-Package: workflow
+Require-Bundle: org.eclipse.etrice.generator.java;bundle-version="0.1.0",
+ org.eclipse.etrice.generator;bundle-version="0.1.0",
+ org.eclipse.emf.mwe2.launch;bundle-version="1.0.1";resolution:=optional,
+ org.eclipse.emf.mwe.utils;bundle-version="1.0.0";visibility:=reexport,
+ org.apache.log4j;bundle-version="1.2.15",
+ org.apache.commons.logging;bundle-version="1.0.4",
+ org.eclipse.jface.text;bundle-version="3.6.0",
+ org.eclipse.jdt.core;bundle-version="3.6.0",
+ org.eclipse.xtend.util.stdlib;bundle-version="1.0.0",
+ org.eclipse.core.runtime;bundle-version="3.6.0",
+ org.eclipse.xtext.generator;bundle-version="1.0.0"
+Bundle-Vendor: eTrice (Incubation)
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
diff --git a/examples/org.eclipse.etrice.example/build.properties b/examples/org.eclipse.etrice.example/build.properties
new file mode 100644
index 000000000..2d6ac57da
--- /dev/null
+++ b/examples/org.eclipse.etrice.example/build.properties
@@ -0,0 +1,4 @@
+source.. = src/,\
+ src-gen/
+bin.includes = META-INF/,\
+ .
diff --git a/examples/org.eclipse.etrice.example/gen_example.launch b/examples/org.eclipse.etrice.example/gen_example.launch
new file mode 100644
index 000000000..5fdf23a0d
--- /dev/null
+++ b/examples/org.eclipse.etrice.example/gen_example.launch
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.emf.mwe2.launch.Mwe2LaunchConfigurationType">
+<stringAttribute key="bad_container_name" value="gen_example"/>
+<stringAttribute key="org.eclipse.debug.core.ATTR_REFRESH_SCOPE" value="${workspace}"/>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/org.eclipse.etrice.example"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="4"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
+<listEntry value="org.eclipse.debug.ui.launchGroup.run"/>
+</listAttribute>
+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="src/workflow/example.mwe2"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.etrice.example"/>
+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-ea"/>
+</launchConfiguration>
diff --git a/examples/org.eclipse.etrice.example/models/FSM_Test.room b/examples/org.eclipse.etrice.example/models/FSM_Test.room
new file mode 100644
index 000000000..219cfd5fa
--- /dev/null
+++ b/examples/org.eclipse.etrice.example/models/FSM_Test.room
@@ -0,0 +1,331 @@
+RoomModel FSM_Test {
+
+ DataClass d_Packet {
+ Attribute data : int32
+ }
+
+ ProtocolClass p_SimpleProtocol {
+ incoming {
+ Message data ()
+ }
+ outgoing {
+ Message ack ()
+ Message nak ()
+ Message poll ()
+ }
+ }
+
+ ProtocolClass p_HFSM {
+ incoming {
+ Message m1 ()
+ Message m2 ()
+ Message m3 ()
+ Message m4 ()
+ Message m5 ()
+ Message m6 ()
+ Message reset ()
+ Message m7 ()
+ Message m8 ()
+ }
+ outgoing {
+ Message result ()
+ }
+ }
+
+ SubSystemClass ComponentFlat {
+ ActorRef Node1 : a_ProtocolFSM
+ ActorRef Tester : a_Tester
+ ActorRef Node2 : a_ProtocolFSM
+ Binding Node1.in_port and Tester.sender
+ Binding Node1.out_port and Node2.in_port
+ Binding Node2.out_port and Tester.receiver
+ }
+
+ ActorClass a_ProtocolFSM {
+ Interface {
+ conjugated Port out_port : p_SimpleProtocol
+ Port in_port : p_SimpleProtocol
+ }
+ Structure {
+ external Port out_port
+ external Port in_port
+ }
+ Behavior {
+ StateMachine {
+ State Idle {}
+ State WaitingForAck {}
+ Transition tr0: initial -> Idle {}
+ Transition tr1: Idle -> WaitingForAck {
+ triggers {
+ <data:in_port >
+ }
+ action {
+ "out_port.data();"
+ ""
+ }
+ }
+ Transition tr2: WaitingForAck -> Idle {
+ triggers {
+ <ack:out_port >
+ }
+ action {
+ "in_port.ack();in_port.poll();in_port.poll();in_port.poll();"
+ ""
+ }
+ }
+ }
+ }
+ }
+
+ ActorClass a_Tester {
+ Interface {
+ conjugated Port sender : p_SimpleProtocol
+ Port receiver : p_SimpleProtocol
+ }
+ Structure {
+ external Port sender
+ external Port receiver
+ }
+ Behavior {
+ StateMachine {
+ State Start {
+ entry {
+ "sender.data();"
+ }
+ exit {
+ "//Start Exit"
+ }
+ }
+ State DataReceived {
+ entry {
+ "//DataReceived Entry"
+ }
+ exit {
+ "//DataReceived Exit"
+ }
+ }
+ State TheEnd {
+ entry {
+ "// TheEnd Entry"
+ }
+ exit {
+ "// TheEnd Exit"
+ }
+ }
+ Transition tr0: initial -> Start {
+ action {
+ "//Init Action"
+ }
+ }
+ Transition tr1: Start -> DataReceived {
+ triggers {
+ <data:receiver >
+ }
+ action {
+ "receiver.ack();"
+ ""
+ }
+ }
+ Transition tr2: DataReceived -> TheEnd {
+ triggers {
+ <ack:sender >
+ }
+ }
+ Transition tr3: TheEnd -> TheEnd {
+ triggers {
+ <poll:sender >
+ }
+ action {
+ "//poll action"
+ }
+ }
+ }
+ }
+ }
+
+ SubSystemClass ComponentHierarchical {
+ ActorRef HFSM : a_HFSM
+ ActorRef Tester : a_HFSM_Tester
+ Binding Tester.testee and HFSM.fct
+
+ LogicalThread t1 {
+ Tester.ac1,
+ Tester,
+ HFSM
+ }
+ }
+
+ ActorClass AC1 {}
+ ActorClass a_HFSM {
+ Interface {
+ Port fct : p_HFSM
+ }
+ Structure {
+ external Port fct
+ }
+ Behavior {
+ StateMachine {
+ State State1 {
+ entry {
+ "//State1 entry"
+ }
+ exit {
+ "//State1 exit"
+ }
+ }
+ State State2 {
+ entry {
+ "//State2 entry"
+ }
+ exit {
+ "//State2 exit"
+ }
+ subgraph {
+ State State1 {
+ entry {
+ "//State2_State1 entry"
+ }
+ exit {
+ "//State2_State1 entry"
+ }
+ }
+ State State2 {
+ entry {
+ "//State2_State2 entry"
+ }
+ exit {
+ "//State2_State2 exit"
+ }
+ }
+ EntryPoint tp0
+ ExitPoint tp1
+ TransitionPoint tp3
+ handler TransitionPoint tp4
+ Transition tr0: my tp0 -> State1 {
+ action {
+ "//State2 entrypoint m1 to State2_State1 action"
+ }
+ }
+ Transition tr1: State1 -> State2 {
+ triggers {
+ <m2:fct >
+ }
+ action {
+ "//State2_State1 to State2_State2 action"
+ }
+ }
+ Transition tr2: State2 -> my tp1 {
+ triggers {
+ <m3:fct >
+ }
+ action {
+ "//State2_State2 m3 to exitpoint action"
+ }
+ }
+ Transition tr3: my tp3 -> my tp3 {
+ triggers {
+ <m5:fct >
+ }
+ action {
+ "//State2 inner self transition m5 action"
+ }
+ }
+ Transition tr4: my tp4 -> my tp4 {
+ triggers {
+ <m6:fct >
+ }
+ action {
+ "//State2 inner self transition handler m6 action"
+ }
+ }
+ }
+ }
+ State State3 {
+ entry {
+ "//State3 entry"
+ }
+ exit {
+ "//State3 exit"
+ }
+ }
+ State State4 {
+ entry {
+ "//State4 entry"
+ }
+ exit {
+ "//State4 exit"
+ }
+ }
+ TransitionPoint tp0
+ TransitionPoint tp1
+ Transition tr0: initial -> State1 {
+ action {
+ "//init action"
+ }
+ }
+ Transition tr1: State1 -> tp0 of State2 {
+ triggers {
+ <m1:fct >
+ }
+ action {
+ "//State1 m1 State2 action"
+ }
+ }
+ Transition tr2: tp1 of State2 -> State3 {
+ action {
+ "//State2 to State3 action"
+ }
+ }
+ Transition tr3: State2 -> State4 {
+ triggers {
+ <m4:fct >
+ }
+ action {
+ "//State2 to State4 action"
+ }
+ }
+ Transition tr4: my tp0 -> State1 {
+ triggers {
+ <reset:fct >
+ }
+ action {
+ "// TOP reset State1 action"
+ }
+ }
+ Transition tr5: State2 -> State2 {
+ triggers {
+ <m7:fct >
+ }
+ action {
+ "//State2 external self transition m7 action"
+ }
+ }
+ Transition tr6: my tp1 -> my tp1 {
+ triggers {
+ <m8:fct >
+ }
+ action {
+ "//TOP external self transition m8 action"
+ }
+ }
+ }
+ }
+ }
+
+ ActorClass a_HFSM_Tester {
+ Interface {
+ conjugated Port testee : p_HFSM
+ }
+ Structure {
+ external Port testee
+ ActorRef ac1: AC1
+ }
+ Behavior {
+ StateMachine {
+ State State1 {}
+ Transition tr0: initial -> State1 {}
+ }
+ }
+ }
+
+}
diff --git a/examples/org.eclipse.etrice.example/models/FSM_Test.trp b/examples/org.eclipse.etrice.example/models/FSM_Test.trp
new file mode 100644
index 000000000..473a33904
--- /dev/null
+++ b/examples/org.eclipse.etrice.example/models/FSM_Test.trp
@@ -0,0 +1,5421 @@
+114
+
+# 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
+#
+# PersObj-Version: 4 standard
+#
+-bs_DataClassList
+-bs_DataClassList
+1
+-DataClass
+0
+1282842070
+0
+t
+<20100826185605-2
+-bs_RefCounter
+0
+<20100826185605-3
+-bs_DataClass
+3
+-boolean
+f
+f
+0
+1282841742
+0
+1
+5
+13
+t
+<20100826185605-4
+-bs_RefCounter
+0
+<20100826185605-5
+-bs_DataClass
+3
+-char
+f
+f
+0
+1282841742
+0
+1
+5
+7
+t
+<20100826185605-6
+-bs_RefCounter
+0
+<20100826185605-7
+-bs_DataClass
+3
+-uchar
+f
+f
+0
+1282841742
+0
+1
+5
+14
+t
+<20100826185605-8
+-bs_RefCounter
+0
+<20100826185605-9
+-bs_DataClass
+3
+-int8
+f
+f
+0
+1282841742
+0
+1
+5
+15
+t
+<20100826185605-10
+-bs_RefCounter
+0
+<20100826185605-11
+-bs_DataClass
+3
+-uint8
+f
+f
+0
+1282841742
+0
+1
+5
+18
+t
+<20100826185605-12
+-bs_RefCounter
+0
+<20100826185605-13
+-bs_DataClass
+3
+-int16
+f
+f
+0
+1282841742
+0
+1
+5
+16
+t
+<20100826185605-14
+-bs_RefCounter
+0
+<20100826185605-15
+-bs_DataClass
+3
+-uint16
+f
+f
+0
+1282841742
+0
+1
+5
+19
+t
+<20100826185605-16
+-bs_RefCounter
+0
+<20100826185605-17
+-bs_DataClass
+3
+-int32
+f
+f
+0
+1282841742
+0
+1
+5
+17
+t
+<20100826185605-18
+-bs_RefCounter
+0
+<20100826185605-19
+-bs_DataClass
+3
+-uint32
+f
+f
+0
+1282841742
+0
+1
+5
+20
+t
+<20100826185605-20
+-bs_RefCounter
+0
+<20100826185605-21
+-bs_DataClass
+3
+-float32
+f
+f
+0
+1282841742
+0
+1
+5
+21
+t
+<20100826185605-22
+-bs_RefCounter
+0
+<20100826185605-23
+-bs_DataClass
+3
+-float64
+f
+f
+0
+1282841742
+0
+1
+5
+22
+t
+<20100826185605-24
+-bs_RefCounter
+0
+<20100826185605-25
+-bs_DataClass
+3
+-char*
+f
+f
+0
+1282841742
+0
+1
+5
+12
+-
+t
+<20100826185605-26
+-bs_RefCounter
+0
+<20100826185605-27
+-bs_DataClass
+3
+-void*
+f
+f
+0
+1282841742
+0
+1
+5
+12
+-
+t
+<20100826190408-1
+-bs_RefCounter
+0
+<20100826190408-2
+-bs_DataClass
+3
+-d_Packet
+f
+f
+0
+1282842070
+0
+0
+5
+0
+-bs_DataMemberList
+1
+-var
+0
+1282842089
+5
+t
+<20100826190408-4
+-bs_RefCounter
+0
+<20100826190408-5
+-bs_DataMember
+3
+-data
+f
+f
+0
+1282842078
+0
+-int32
+1
+-
+<20100826190408-6
+-bs_DataClassObjList
+1
+-var1Obj
+0
+1282842078
+4
+t
+t
+1
+-data
+-int32
+1282842089
+t
+-0
+1282842089
+17
+t
+f
+f
+f
+-bs_ActorMemberFct
+1
+f
+0
+1282842070
+f
+-------------------------------
+# 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
+#
+# PersObj-Version: 4 standard
+#
+-bs_ProtocolClassList
+-bs_ProtocolClassList
+1
+-ProtocolClass
+0
+1283097947
+0
+t
+<20100826185605-29
+-bs_RefCounter
+0
+<20100826185605-30
+-bs_ProtocolClass
+3
+-p_Timer
+t
+f
+0
+1282841742
+0
+1
+2
+-bs_MsgTypeList
+1
+-MsgTypeListDummyName
+0
+1282841742
+0
+t
+<20100826185605-32
+-bs_RefCounter
+0
+<20100826185605-33
+-bs_MsgType
+3
+-Start
+f
+f
+0
+1282841742
+0
+>20100826185605-16
+>20100826185605-17
+t
+<20100826185605-34
+-bs_RefCounter
+0
+<20100826185605-35
+-bs_MsgType
+3
+-Kill
+f
+f
+0
+1282841742
+0
+<20100826185605-36
+-bs_RefCounter
+0
+N
+f
+-bs_MsgTypeList
+1
+-MsgTypeListDummyName
+0
+1282841742
+0
+t
+<20100826185605-38
+-bs_RefCounter
+0
+<20100826185605-39
+-bs_MsgType
+3
+-timerTick
+f
+f
+0
+1282841742
+0
+<20100826185605-40
+-bs_RefCounter
+0
+N
+f
+-ProtocolSemantics
+1
+0
+1282841742
+-ProtocolRuleSet
+0
+0
+1282841742
+t
+<20100826185605-43
+-ProtocolRule
+0
+0
+1282841742
+-Message
+0
+0
+1282841742
+0
+-Start
+t
+<20100826185605-45
+-MessageImplication
+0
+0
+1282841742
+-ProtocolRule
+0
+0
+1282841742
+-Message
+0
+0
+1282841742
+0
+-Kill
+f
+t
+<20100826185605-48
+-MessageImplication
+0
+0
+1282841742
+-ProtocolRule
+0
+0
+1282841742
+-Message
+0
+0
+1282841742
+1
+-timerTick
+f
+f
+f
+t
+<20100826185605-51
+-bs_RefCounter
+0
+<20100826185605-52
+-bs_ProtocolClass
+3
+-p_Timeout
+t
+f
+0
+1282841742
+0
+1
+2
+-bs_MsgTypeList
+1
+-MsgTypeListDummyName
+0
+1282841742
+0
+t
+<20100826185605-54
+-bs_RefCounter
+0
+<20100826185605-55
+-bs_MsgType
+3
+-Start
+f
+f
+0
+1282841742
+0
+>20100826185605-16
+>20100826185605-17
+t
+<20100826185605-56
+-bs_RefCounter
+0
+<20100826185605-57
+-bs_MsgType
+3
+-Kill
+f
+f
+0
+1282841742
+0
+<20100826185605-58
+-bs_RefCounter
+0
+N
+f
+-bs_MsgTypeList
+1
+-MsgTypeListDummyName
+0
+1282841742
+0
+t
+<20100826185605-60
+-bs_RefCounter
+0
+<20100826185605-61
+-bs_MsgType
+3
+-timeoutTick
+f
+f
+0
+1282841742
+0
+<20100826185605-62
+-bs_RefCounter
+0
+N
+f
+-ProtocolSemantics
+1
+0
+1282841742
+-ProtocolRuleSet
+0
+0
+1282841742
+t
+<20100826185605-65
+-ProtocolRule
+0
+0
+1282841742
+-Message
+0
+0
+1282841742
+0
+-Start
+t
+<20100826185605-67
+-MessageImplication
+0
+0
+1282841742
+-ProtocolRule
+0
+0
+1282841742
+-Message
+0
+0
+1282841742
+0
+-Kill
+f
+t
+<20100826185605-70
+-MessageImplication
+0
+0
+1282841742
+-ProtocolRule
+0
+0
+1282841742
+-Message
+0
+0
+1282841742
+1
+-timeoutTick
+f
+f
+f
+t
+<20100826185605-73
+-bs_RefCounter
+0
+<20100826185605-74
+-bs_ProtocolClass
+3
+-p_DigitalInput
+t
+f
+0
+1282841742
+0
+1
+2
+-bs_MsgTypeList
+1
+-MsgTypeListDummyName
+0
+1282841742
+0
+t
+<20100826185605-76
+-bs_RefCounter
+0
+<20100826185605-77
+-bs_MsgType
+3
+-getStatus
+f
+f
+0
+1282841742
+0
+<20100826185605-78
+-bs_RefCounter
+0
+N
+f
+-bs_MsgTypeList
+1
+-MsgTypeListDummyName
+0
+1282841742
+0
+t
+<20100826185605-80
+-bs_RefCounter
+0
+<20100826185605-81
+-bs_MsgType
+3
+-inputChanged
+f
+f
+0
+1282841742
+0
+>20100826185605-12
+>20100826185605-13
+f
+-ProtocolSemantics
+1
+0
+1282841742
+-ProtocolRuleSet
+0
+0
+1282841742
+t
+<20100826185605-84
+-ProtocolRule
+0
+0
+1282841742
+-Message
+0
+0
+1282841742
+0
+-getStatus
+t
+<20100826185605-86
+-MessageImplication
+0
+0
+1282841742
+-ProtocolRule
+0
+0
+1282841742
+-Message
+0
+0
+1282841742
+1
+-inputChanged
+f
+f
+f
+t
+<20100826185605-89
+-bs_RefCounter
+0
+<20100826185605-90
+-bs_ProtocolClass
+3
+-p_DigitalOutput
+t
+f
+0
+1282841742
+0
+1
+2
+-bs_MsgTypeList
+1
+-MsgTypeListDummyName
+0
+1282841742
+0
+t
+<20100826185605-92
+-bs_RefCounter
+0
+<20100826185605-93
+-bs_MsgType
+3
+-Set
+f
+f
+0
+1282841742
+0
+>20100826185605-2
+>20100826185605-3
+t
+<20100826185605-94
+-bs_RefCounter
+0
+<20100826185605-95
+-bs_MsgType
+3
+-SetOn
+f
+f
+0
+1282841742
+0
+<20100826185605-96
+-bs_RefCounter
+0
+N
+t
+<20100826185605-97
+-bs_RefCounter
+0
+<20100826185605-98
+-bs_MsgType
+3
+-SetOff
+f
+f
+0
+1282841742
+0
+<20100826185605-99
+-bs_RefCounter
+0
+N
+f
+-bs_MsgTypeList
+1
+-MsgTypeListDummyName
+0
+1282841742
+0
+f
+-ProtocolSemantics
+1
+0
+1282841742
+-ProtocolRuleSet
+0
+0
+1282841742
+f
+t
+<20100826190408-8
+-bs_RefCounter
+0
+<20100826190408-9
+-bs_ProtocolClass
+3
+-p_SimpleProtocol
+f
+f
+0
+1282842067
+0
+0
+2
+-bs_MsgTypeList
+1
+-MsgTypeListDummyName
+0
+1282842067
+0
+t
+<20100826190408-11
+-bs_RefCounter
+0
+<20100826190408-12
+-bs_MsgType
+3
+-data
+f
+f
+0
+1282841872
+0
+<20100826190408-13
+-bs_RefCounter
+0
+N
+f
+-bs_MsgTypeList
+1
+-MsgTypeListDummyName
+0
+1282921398
+0
+t
+<20100826190408-15
+-bs_RefCounter
+0
+<20100826190408-16
+-bs_MsgType
+3
+-ack
+f
+f
+0
+1282841884
+0
+<20100826190408-17
+-bs_RefCounter
+0
+N
+t
+<20100826190408-18
+-bs_RefCounter
+0
+<20100826190408-19
+-bs_MsgType
+3
+-nak
+f
+f
+0
+1282841908
+0
+<20100826190408-20
+-bs_RefCounter
+0
+N
+t
+<20100827170346-36
+-bs_RefCounter
+0
+<20100827170346-37
+-bs_MsgType
+3
+-poll
+f
+f
+0
+1282921396
+0
+<20100827170346-38
+-bs_RefCounter
+0
+N
+f
+-ProtocolSemantics
+1
+0
+1282841852
+-ProtocolRuleSet
+0
+0
+1282841852
+f
+t
+<20100829182239-38
+-bs_RefCounter
+0
+<20100829182239-39
+-bs_ProtocolClass
+3
+-p_HFSM
+f
+f
+0
+1283097947
+0
+0
+2
+-bs_MsgTypeList
+1
+-MsgTypeListDummyName
+0
+1283099350
+0
+t
+<20100829182239-41
+-bs_RefCounter
+0
+<20100829182239-42
+-bs_MsgType
+3
+-m1
+f
+f
+0
+1283097933
+0
+<20100829182239-43
+-bs_RefCounter
+0
+N
+t
+<20100829182239-44
+-bs_RefCounter
+0
+<20100829182239-45
+-bs_MsgType
+3
+-m2
+f
+f
+0
+1283097935
+0
+<20100829182239-46
+-bs_RefCounter
+0
+N
+t
+<20100829182239-47
+-bs_RefCounter
+0
+<20100829182239-48
+-bs_MsgType
+3
+-m3
+f
+f
+0
+1283097937
+0
+<20100829182239-49
+-bs_RefCounter
+0
+N
+t
+<20100829182239-50
+-bs_RefCounter
+0
+<20100829182239-51
+-bs_MsgType
+3
+-m4
+f
+f
+0
+1283097939
+0
+<20100829182239-52
+-bs_RefCounter
+0
+N
+t
+<20100829182239-53
+-bs_RefCounter
+0
+<20100829182239-54
+-bs_MsgType
+3
+-m5
+f
+f
+0
+1283097940
+0
+<20100829182239-55
+-bs_RefCounter
+0
+N
+t
+<20100829182239-56
+-bs_RefCounter
+0
+<20100829182239-57
+-bs_MsgType
+3
+-m6
+f
+f
+0
+1283097942
+0
+<20100829182239-58
+-bs_RefCounter
+0
+N
+t
+<20100829182239-59
+-bs_RefCounter
+0
+<20100829182239-60
+-bs_MsgType
+3
+-reset
+f
+f
+0
+1283098248
+0
+<20100829182239-61
+-bs_RefCounter
+0
+N
+t
+<20100829182833-2
+-bs_RefCounter
+0
+<20100829182833-3
+-bs_MsgType
+3
+-m7
+f
+f
+0
+1283099182
+0
+<20100829182833-4
+-bs_RefCounter
+0
+N
+t
+<20100829182919-2
+-bs_RefCounter
+0
+<20100829182919-3
+-bs_MsgType
+3
+-m8
+f
+f
+0
+1283099349
+0
+<20100829182919-4
+-bs_RefCounter
+0
+N
+f
+-bs_MsgTypeList
+1
+-MsgTypeListDummyName
+0
+1283098321
+0
+t
+<20100829182239-63
+-bs_RefCounter
+0
+<20100829182239-64
+-bs_MsgType
+3
+-result
+f
+f
+0
+1283098311
+0
+<20100829222431-40
+-bs_RefCounter
+0
+N
+f
+-ProtocolSemantics
+1
+0
+1283097914
+-ProtocolRuleSet
+0
+0
+1283097914
+f
+f
+-------------------------------
+# 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
+#
+# PersObj-Version: 4 standard
+#
+-bs_SAPClassList
+-bs_SAPClassList
+1
+-SAP
+0
+1282841742
+0
+t
+<20100826185605-104
+-bs_RefCounter
+0
+<20100826185605-105
+-bs_SAPClass
+3
+-Timer
+f
+f
+0
+1282841742
+0
+1
+0
+1
+>20100826185605-29
+>20100826185605-30
+t
+<20100826185605-106
+-bs_RefCounter
+0
+<20100826185605-107
+-bs_SAPClass
+3
+-Timeout
+f
+f
+0
+1282841742
+0
+1
+0
+2
+>20100826185605-51
+>20100826185605-52
+t
+<20100826185605-108
+-bs_RefCounter
+0
+<20100826185605-109
+-bs_SAPClass
+3
+-DigitalInput
+f
+f
+0
+1282841742
+0
+1
+0
+4
+>20100826185605-73
+>20100826185605-74
+t
+<20100826185605-110
+-bs_RefCounter
+0
+<20100826185605-111
+-bs_SAPClass
+3
+-DigitalOutput
+f
+f
+0
+1282841742
+0
+1
+0
+5
+>20100826185605-89
+>20100826185605-90
+f
+-------------------------------
+# 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
+#
+# PersObj-Version: 4 standard
+#
+-bs_PrtvClassList
+-bs_PrtvClassList
+1
+-PrimitiveClass
+0
+1282841742
+0
+f
+-------------------------------
+# 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
+#
+# PersObj-Version: 4 standard
+#
+-bs_ActorClassList
+-bs_ActorClassList
+1
+-ActorClass
+0
+1283097876
+0
+t
+<20100826190408-23
+-bs_RefCounter
+0
+<20100826190408-24
+-bs_ActorClass
+3
+-ComponentFlat
+f
+f
+0
+1285147956
+0
+0
+8
+-
+f
+-bs_ActorInterface
+3
+-bs_PortRefList
+1
+-Port
+0
+1282841771
+0
+f
+0
+0
+1282841771
+-bs_ActorStructure
+7
+-bs_PortRefList
+1
+-Port
+0
+1282841771
+0
+f
+-bs_SAPRefList
+1
+-SAP
+0
+1285147956
+0
+f
+t
+-bs_ActorRefList
+1
+-ActorRef
+0
+1282842576
+0
+t
+<20100826190408-31
+-bs_RefCounter
+0
+<20100826190408-32
+-bs_ActorRef
+3
+-Node1
+f
+f
+0
+1282842567
+1
+-bs_ActorCoord
+0
+0.283472
+0.239375
+-bs_SizeFactors
+0
+2.05
+1.00688
+-bs_CompPortRefList
+1
+-PortInstListDummyName
+0
+1282842531
+0
+f
+3
+-a_ProtocolFSM
+t
+<20100826190408-41
+-bs_RefCounter
+0
+<20100826190408-42
+-bs_ActorRef
+3
+-Tester
+f
+f
+0
+1282842516
+1
+-bs_ActorCoord
+0
+0.499861
+0.788
+-bs_SizeFactors
+0
+7.62063
+0.995625
+-bs_CompPortRefList
+1
+-PortInstListDummyName
+0
+1282841847
+0
+f
+3
+-a_Tester
+t
+<20100826190949-5
+-bs_RefCounter
+0
+<20100826190949-6
+-bs_ActorRef
+3
+-Node2
+f
+f
+0
+1282842584
+1
+-bs_ActorCoord
+0
+0.606181
+0.248375
+-bs_SizeFactors
+0
+2.03813
+0.93875
+-bs_CompPortRefList
+1
+-PortInstListDummyName
+0
+1282842576
+0
+f
+3
+-a_ProtocolFSM
+f
+-bs_BindingContractList
+1
+-BindingContract
+0
+1282842588
+0
+t
+<20100826190702-1
+-bs_RefCounter
+0
+<20100826190702-2
+-bs_BindingContract
+3
+-BindingContract2
+f
+f
+0
+1282842266
+0
+-bs_BCEndPoint
+1
+>20100826190408-31
+>20100826190408-32
+<20100826190702-4
+-bs_RefCounter
+0
+<20100826190702-5
+-bs_PortRef
+3
+-in_port
+f
+f
+0
+1282842703
+0
+0
+f
+1
+-bs_ActorCoord
+0
+-0.000416667
+0.512125
+>20100826190408-8
+>20100826190408-9
+<20100826190702-7
+-bs_RefCounter
+0
+N
+-bs_BCEndPoint
+1
+>20100826190408-41
+>20100826190408-42
+<20100826190408-141
+-bs_RefCounter
+0
+<20100826190408-142
+-bs_PortRef
+3
+-sender
+f
+f
+0
+1282842215
+0
+0
+t
+1
+-bs_ActorCoord
+0
+0.151181
+0
+>20100826190408-8
+>20100826190408-9
+<20100826190702-9
+-bs_RefCounter
+0
+N
+t
+<20100826190949-11
+-bs_RefCounter
+0
+<20100826190949-12
+-bs_BindingContract
+3
+-BindingContract1
+f
+f
+0
+1282842586
+0
+-bs_BCEndPoint
+1
+>20100826190408-31
+>20100826190408-32
+<20100826190408-50
+-bs_RefCounter
+0
+<20100826190408-51
+-bs_PortRef
+3
+-out_port
+f
+f
+0
+1282842710
+0
+0
+t
+1
+-bs_ActorCoord
+0
+1.00014
+0.507375
+>20100826190408-8
+>20100826190408-9
+<20100826190949-15
+-bs_RefCounter
+0
+N
+-bs_BCEndPoint
+1
+>20100826190949-5
+>20100826190949-6
+>20100826190702-4
+>20100826190702-5
+<20100826190949-17
+-bs_RefCounter
+0
+N
+t
+<20100826190949-18
+-bs_RefCounter
+0
+<20100826190949-19
+-bs_BindingContract
+3
+-BindingContract3
+f
+f
+0
+1282842588
+0
+-bs_BCEndPoint
+1
+>20100826190949-5
+>20100826190949-6
+>20100826190408-50
+>20100826190408-51
+<20100826190949-21
+-bs_RefCounter
+0
+N
+-bs_BCEndPoint
+1
+>20100826190408-41
+>20100826190408-42
+<20100826190408-144
+-bs_RefCounter
+0
+<20100826190408-145
+-bs_PortRef
+3
+-receiver
+f
+f
+0
+1282842223
+0
+0
+f
+1
+-bs_ActorCoord
+0
+0.835
+0
+>20100826190408-8
+>20100826190408-9
+<20100826190949-23
+-bs_RefCounter
+0
+N
+f
+-bs_SizeFactors
+0
+1.8
+1
+-bs_SnapInfo
+0
+1700
+1700
+30
+20
+0
+0
+1282841771
+-bs_PrtvRefList
+1
+-Primitive
+0
+1282841771
+0
+f
+-bs_NoteList
+1
+-Note
+0
+1282841771
+0
+f
+0
+1282841771
+-bs_ActorBehaviour
+7
+<20100826190408-64
+-bs_RefCounter
+0
+<20100826190408-65
+-bs_StateMachine
+4
+-bs_DataMemberList
+1
+-var
+0
+1282841771
+5
+f
+-bs_StateGraph
+8
+<20100826190408-68
+-bs_RefCounter
+0
+<20100826190408-69
+-bs_InitialPoint
+3
+-
+f
+f
+0
+1282841771
+0
+-bs_ContextCoord
+0
+0.07
+0.93
+-bs_ChoicepointList
+1
+-CP
+0
+1282841771
+0
+f
+-bs_TrPointList
+1
+-TrP
+0
+1282841771
+0
+f
+-bs_StateList
+1
+-State
+0
+1282841771
+0
+f
+-bs_TrSegmentList
+1
+-TrSegmentListDummyName
+0
+1282841771
+0
+f
+-bs_NoteList
+1
+-Note
+0
+1282841771
+0
+f
+t
+65535
+f
+f
+0
+1282841771
+-bs_SizeFactors
+0
+1
+1
+t
+0
+1282841771
+-
+-
+-
+1024
+-bs_SnapInfo
+0
+1700
+1700
+30
+20
+0
+0
+1282841771
+0
+1282841771
+-bs_ActorMemberFct
+1
+f
+0
+1282841771
+t
+f
+f
+t
+<20100826190408-79
+-bs_RefCounter
+0
+<20100826190408-80
+-bs_ActorClass
+3
+-a_ProtocolFSM
+f
+f
+0
+1282842489
+0
+0
+8
+-
+f
+-bs_ActorInterface
+3
+-bs_PortRefList
+1
+-Port
+0
+1282842255
+0
+t
+>20100826190408-50
+>20100826190408-51
+t
+>20100826190702-4
+>20100826190702-5
+f
+0
+0
+1282841783
+-bs_ActorStructure
+7
+-bs_PortRefList
+1
+-Port
+0
+1282842255
+0
+t
+>20100826190408-50
+>20100826190408-51
+t
+>20100826190702-4
+>20100826190702-5
+f
+-bs_SAPRefList
+1
+-SAP
+0
+1282842489
+0
+f
+t
+-bs_ActorRefList
+1
+-ActorRef
+0
+1282841783
+0
+f
+-bs_BindingContractList
+1
+-BindingContract
+0
+1282841783
+0
+f
+-bs_SizeFactors
+0
+1.8
+1
+-bs_SnapInfo
+0
+1700
+1700
+30
+20
+0
+0
+1282841783
+-bs_PrtvRefList
+1
+-Primitive
+0
+1282841783
+0
+f
+-bs_NoteList
+1
+-Note
+0
+1282841783
+0
+f
+0
+1282841783
+-bs_ActorBehaviour
+7
+<20100826190408-93
+-bs_RefCounter
+0
+<20100826190408-94
+-bs_StateMachine
+4
+-bs_DataMemberList
+1
+-var
+0
+1282841783
+5
+f
+-bs_StateGraph
+8
+<20100826190408-97
+-bs_RefCounter
+0
+<20100826190408-98
+-bs_InitialPoint
+3
+-
+f
+f
+0
+1282841783
+0
+-bs_ContextCoord
+0
+0.07
+0.93
+-bs_ChoicepointList
+1
+-CP
+0
+1282841783
+0
+f
+-bs_TrPointList
+1
+-TrP
+0
+1282841783
+0
+f
+-bs_StateList
+1
+-State
+0
+1282841783
+0
+t
+<20100826190702-19
+-bs_RefCounter
+0
+<20100826190702-20
+-bs_State
+3
+-Idle
+f
+f
+0
+1282842356
+5
+-
+-
+-1
+-1
+<20100826190702-21
+-bs_RefCounter
+0
+N
+-bs_ContextCoord
+0
+0.381429
+0.720238
+-bs_SizeFactors
+0
+1
+1
+f
+f
+1
+-1
+t
+<20100826190702-24
+-bs_RefCounter
+0
+<20100826190702-25
+-bs_State
+3
+-WaitingForAck
+f
+f
+0
+1282842367
+5
+-
+-
+-1
+-1
+<20100826190702-26
+-bs_RefCounter
+0
+N
+-bs_ContextCoord
+0
+0.385556
+0.431746
+-bs_SizeFactors
+0
+1
+1
+f
+f
+2
+-1
+f
+-bs_TrSegmentList
+1
+-TrSegmentListDummyName
+0
+1282841783
+0
+t
+<20100826190702-29
+-bs_RefCounter
+0
+<20100826190702-30
+-bs_TrSegment
+3
+-init
+f
+f
+0
+1282842351
+5
+0
+>20100826190408-98
+1
+>20100826190702-20
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1282842351
+0
+f
+-
+-1
+-bs_ContextCoord
+0
+0.225714
+0.825119
+0
+-1
+t
+<20100826190702-33
+-bs_RefCounter
+0
+<20100826190702-34
+-bs_TrSegment
+3
+-data
+f
+f
+0
+1282842767
+5
+1
+>20100826190702-20
+1
+>20100826190702-25
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1282842369
+0
+t
+<20100826190702-36
+-bs_RefCounter
+0
+<20100826190702-37
+-bs_SimpleTriggerSpec
+3
+-data
+f
+f
+0
+1282842767
+1
+-in_port
+-
+f
++out_port.data();
+-
+-1
+-bs_ContextCoord
+0
+0.182143
+0.600794
+1
+-1
+t
+<20100826190702-39
+-bs_RefCounter
+0
+<20100826190702-40
+-bs_TrSegment
+3
+-ack
+f
+f
+0
+1282921714
+5
+1
+>20100826190702-25
+1
+>20100826190702-20
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1282842390
+0
+t
+<20100826190702-42
+-bs_RefCounter
+0
+<20100826190702-43
+-bs_SimpleTriggerSpec
+3
+-ack
+f
+f
+0
+1282921714
+1
+-out_port
+-
+f
++in_port.ack();in_port.poll();in_port.poll();in_port.poll();
+-
+-1
+-bs_ContextCoord
+0
+0.691905
+0.574683
+2
+-1
+f
+-bs_NoteList
+1
+-Note
+0
+1282841783
+0
+f
+t
+65535
+f
+f
+0
+1282842390
+-bs_SizeFactors
+0
+1
+1
+t
+0
+1282841783
+-
+-
+-
+1024
+-bs_SnapInfo
+0
+1700
+1700
+30
+20
+0
+0
+1282841783
+0
+1282841783
+-bs_ActorMemberFct
+1
+f
+0
+1282841783
+t
+f
+f
+t
+<20100826190408-137
+-bs_RefCounter
+0
+<20100826190408-138
+-bs_ActorClass
+3
+-a_Tester
+f
+f
+0
+1282841814
+0
+0
+8
+-
+f
+-bs_ActorInterface
+3
+-bs_PortRefList
+1
+-Port
+0
+1282842223
+0
+t
+>20100826190408-141
+>20100826190408-142
+t
+>20100826190408-144
+>20100826190408-145
+f
+0
+0
+1282841810
+-bs_ActorStructure
+7
+-bs_PortRefList
+1
+-Port
+0
+1282842223
+0
+t
+>20100826190408-141
+>20100826190408-142
+t
+>20100826190408-144
+>20100826190408-145
+f
+-bs_SAPRefList
+1
+-SAP
+0
+1282841810
+0
+f
+t
+-bs_ActorRefList
+1
+-ActorRef
+0
+1282841810
+0
+f
+-bs_BindingContractList
+1
+-BindingContract
+0
+1282841810
+0
+f
+-bs_SizeFactors
+0
+1.8
+1
+-bs_SnapInfo
+0
+1700
+1700
+30
+20
+0
+0
+1282841810
+-bs_PrtvRefList
+1
+-Primitive
+0
+1282841810
+0
+f
+-bs_NoteList
+1
+-Note
+0
+1282841810
+0
+f
+0
+1282841810
+-bs_ActorBehaviour
+7
+<20100826190408-157
+-bs_RefCounter
+0
+<20100826190408-158
+-bs_StateMachine
+4
+-bs_DataMemberList
+1
+-var
+0
+1282841810
+5
+f
+-bs_StateGraph
+8
+<20100826190408-161
+-bs_RefCounter
+0
+<20100826190408-162
+-bs_InitialPoint
+3
+-
+f
+f
+0
+1282841810
+0
+-bs_ContextCoord
+0
+0.07
+0.93
+-bs_ChoicepointList
+1
+-CP
+0
+1282841810
+0
+f
+-bs_TrPointList
+1
+-TrP
+0
+1282841810
+0
+f
+-bs_StateList
+1
+-State
+0
+1282841810
+0
+t
+<20100826190702-45
+-bs_RefCounter
+0
+<20100826190702-46
+-bs_State
+3
+-Start
+f
+f
+0
+1282921180
+5
+-sender.data();
+-//Start Exit
+-1
+-1
+<20100826190702-47
+-bs_RefCounter
+0
+N
+-bs_ContextCoord
+0
+0.384127
+0.734048
+-bs_SizeFactors
+0
+1
+1
+f
+f
+1
+-1
+t
+<20100826190702-50
+-bs_RefCounter
+0
+<20100826190702-51
+-bs_State
+3
+-DataReceived
+f
+f
+0
+1282919753
+5
+-//DataReceived Entry
+-//DataReceived Exit
+-1
+-1
+<20100826190702-52
+-bs_RefCounter
+0
+N
+-bs_ContextCoord
+0
+0.381429
+0.49627
+-bs_SizeFactors
+0
+1
+1
+f
+f
+2
+-1
+t
+<20100826191456-1
+-bs_RefCounter
+0
+<20100826191456-2
+-bs_State
+3
+-TheEnd
+f
+f
+0
+1282921424
+5
+-// TheEnd Entry
+-// TheEnd Exit
+-1
+-1
+<20100826191456-3
+-bs_RefCounter
+0
+N
+-bs_ContextCoord
+0
+0.381349
+0.262698
+-bs_SizeFactors
+0
+1
+1
+f
+f
+3
+-1
+f
+-bs_TrSegmentList
+1
+-TrSegmentListDummyName
+0
+1282841810
+0
+t
+<20100826190702-55
+-bs_RefCounter
+0
+<20100826190702-56
+-bs_TrSegment
+3
+-
+f
+f
+0
+1282921209
+5
+0
+>20100826190408-162
+1
+>20100826190702-46
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1282842279
+0
+t
+<20100826190702-58
+-bs_RefCounter
+0
+<20100826190702-59
+-bs_SimpleTriggerSpec
+3
+-
+f
+f
+0
+1282921209
+1
+-
+-
+f
+-//Init Action
+-1
+-bs_ContextCoord
+0
+0.241905
+0.876984
+0
+-1
+t
+<20100826190702-61
+-bs_RefCounter
+0
+<20100826190702-62
+-bs_TrSegment
+3
+-data
+f
+f
+0
+1282842849
+5
+1
+>20100826190702-46
+1
+>20100826190702-51
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1282842328
+0
+t
+<20100826190702-64
+-bs_RefCounter
+0
+<20100826190702-65
+-bs_SimpleTriggerSpec
+3
+-data
+f
+f
+0
+1282842849
+1
+-receiver
+-
+f
++receiver.ack();
+-
+-1
+-bs_ContextCoord
+0
+0.382778
+0.615159
+1
+-1
+t
+<20100826191456-6
+-bs_RefCounter
+0
+<20100826191456-7
+-bs_TrSegment
+3
+-ack
+f
+f
+0
+1282842876
+5
+1
+>20100826190702-51
+1
+>20100826191456-2
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1282842863
+0
+t
+<20100826191456-9
+-bs_RefCounter
+0
+<20100826191456-10
+-bs_SimpleTriggerSpec
+3
+-ack
+f
+f
+0
+1282842869
+1
+-sender
+-
+f
+-
+-1
+-bs_ContextCoord
+0
+0.382302
+0.375159
+2
+-1
+t
+<20100827170346-177
+-bs_RefCounter
+0
+<20100827170346-178
+-bs_TrSegment
+3
+-poll
+f
+f
+0
+1282921420
+5
+1
+>20100826191456-2
+1
+>20100826191456-2
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1282921404
+0
+t
+<20100827170346-180
+-bs_RefCounter
+0
+<20100827170346-181
+-bs_SimpleTriggerSpec
+3
+-poll
+f
+f
+0
+1282921420
+1
+-sender
+-
+f
+-//poll action
+-1
+-bs_ContextCoord
+0
+0.658968
+0.292937
+3
+-1
+f
+-bs_NoteList
+1
+-Note
+0
+1282841810
+0
+f
+t
+65535
+f
+f
+0
+1282921404
+-bs_SizeFactors
+0
+1
+1
+t
+0
+1282841810
+-
+-
+-
+1024
+-bs_SnapInfo
+0
+1700
+1700
+30
+20
+0
+0
+1282841810
+0
+1282841810
+-bs_ActorMemberFct
+1
+f
+0
+1282841810
+t
+f
+f
+t
+<20100829182239-182
+-bs_RefCounter
+0
+<20100829182239-183
+-bs_ActorClass
+3
+-ComponentHierarchical
+f
+f
+0
+1285147969
+0
+0
+8
+-
+f
+-bs_ActorInterface
+3
+-bs_PortRefList
+1
+-Port
+0
+1283097831
+0
+f
+0
+0
+1283097831
+-bs_ActorStructure
+7
+-bs_PortRefList
+1
+-Port
+0
+1283097831
+0
+f
+-bs_SAPRefList
+1
+-SAP
+0
+1285147969
+0
+f
+t
+-bs_ActorRefList
+1
+-ActorRef
+0
+1283097904
+0
+t
+<20100829182239-190
+-bs_RefCounter
+0
+<20100829182239-191
+-bs_ActorRef
+3
+-HFSM
+f
+f
+0
+1283097994
+1
+-bs_ActorCoord
+0
+0.748403
+0.659875
+-bs_SizeFactors
+0
+3
+0.994375
+-bs_CompPortRefList
+1
+-PortInstListDummyName
+0
+1283097892
+0
+f
+3
+-a_HFSM
+t
+<20100829182239-195
+-bs_RefCounter
+0
+<20100829182239-196
+-bs_ActorRef
+3
+-Tester
+f
+f
+0
+1283097908
+1
+-bs_ActorCoord
+0
+0.234583
+0.658375
+-bs_SizeFactors
+0
+3
+0.995
+-bs_CompPortRefList
+1
+-PortInstListDummyName
+0
+1283097904
+0
+f
+3
+-a_HFSM_Tester
+f
+-bs_BindingContractList
+1
+-BindingContract
+0
+1283100141
+0
+t
+<20100829184224-1
+-bs_RefCounter
+0
+<20100829184224-2
+-bs_BindingContract
+3
+-BindingContract1
+f
+f
+0
+1283100141
+0
+-bs_BCEndPoint
+1
+>20100829182239-195
+>20100829182239-196
+<20100829182239-359
+-bs_RefCounter
+0
+<20100829182239-360
+-bs_PortRef
+3
+-testee
+f
+f
+0
+1283097991
+0
+0
+t
+1
+-bs_ActorCoord
+0
+1
+0.5465
+>20100829182239-38
+>20100829182239-39
+<20100829184224-4
+-bs_RefCounter
+0
+N
+-bs_BCEndPoint
+1
+>20100829182239-190
+>20100829182239-191
+<20100829182239-225
+-bs_RefCounter
+0
+<20100829182239-226
+-bs_PortRef
+3
+-fct
+f
+f
+0
+1283097979
+0
+0
+f
+1
+-bs_ActorCoord
+0
+0
+0.540625
+>20100829182239-38
+>20100829182239-39
+<20100829184224-6
+-bs_RefCounter
+0
+N
+f
+-bs_SizeFactors
+0
+1.8
+1
+-bs_SnapInfo
+0
+1700
+1700
+30
+20
+0
+0
+1283097831
+-bs_PrtvRefList
+1
+-Primitive
+0
+1283097831
+0
+f
+-bs_NoteList
+1
+-Note
+0
+1283097831
+0
+f
+0
+1283097831
+-bs_ActorBehaviour
+7
+<20100829182239-206
+-bs_RefCounter
+0
+<20100829182239-207
+-bs_StateMachine
+4
+-bs_DataMemberList
+1
+-var
+0
+1283097831
+5
+f
+-bs_StateGraph
+8
+<20100829182239-210
+-bs_RefCounter
+0
+<20100829182239-211
+-bs_InitialPoint
+3
+-
+f
+f
+0
+1283097831
+0
+-bs_ContextCoord
+0
+0.07
+0.93
+-bs_ChoicepointList
+1
+-CP
+0
+1283097831
+0
+f
+-bs_TrPointList
+1
+-TrP
+0
+1283097831
+0
+f
+-bs_StateList
+1
+-State
+0
+1283097831
+0
+f
+-bs_TrSegmentList
+1
+-TrSegmentListDummyName
+0
+1283097831
+0
+f
+-bs_NoteList
+1
+-Note
+0
+1283097831
+0
+f
+t
+65535
+f
+f
+0
+1283097831
+-bs_SizeFactors
+0
+1
+1
+t
+0
+1283097831
+-
+-
+-
+1024
+-bs_SnapInfo
+0
+1700
+1700
+30
+20
+0
+0
+1283097831
+0
+1283097831
+-bs_ActorMemberFct
+1
+f
+0
+1283097831
+t
+f
+f
+t
+<20100829182239-221
+-bs_RefCounter
+0
+<20100829182239-222
+-bs_ActorClass
+3
+-a_HFSM
+f
+f
+0
+1283097873
+0
+0
+8
+-
+f
+-bs_ActorInterface
+3
+-bs_PortRefList
+1
+-Port
+0
+1283097979
+0
+t
+>20100829182239-225
+>20100829182239-226
+f
+0
+0
+1283097862
+-bs_ActorStructure
+7
+-bs_PortRefList
+1
+-Port
+0
+1283097979
+0
+t
+>20100829182239-225
+>20100829182239-226
+f
+-bs_SAPRefList
+1
+-SAP
+0
+1283097862
+0
+f
+t
+-bs_ActorRefList
+1
+-ActorRef
+0
+1283097862
+0
+f
+-bs_BindingContractList
+1
+-BindingContract
+0
+1283097862
+0
+f
+-bs_SizeFactors
+0
+1.8
+1
+-bs_SnapInfo
+0
+1700
+1700
+30
+20
+0
+0
+1283097862
+-bs_PrtvRefList
+1
+-Primitive
+0
+1283097862
+0
+f
+-bs_NoteList
+1
+-Note
+0
+1283097862
+0
+f
+0
+1283097862
+-bs_ActorBehaviour
+7
+<20100829182239-238
+-bs_RefCounter
+0
+<20100829182239-239
+-bs_StateMachine
+4
+-bs_DataMemberList
+1
+-var
+0
+1283097862
+5
+f
+-bs_StateGraph
+8
+<20100829182239-242
+-bs_RefCounter
+0
+<20100829182239-243
+-bs_InitialPoint
+3
+-
+f
+f
+0
+1283097862
+0
+-bs_ContextCoord
+0
+0.07
+0.93
+-bs_ChoicepointList
+1
+-CP
+0
+1283097862
+0
+f
+-bs_TrPointList
+1
+-TrP
+0
+1283097862
+0
+t
+<20100829182239-247
+-bs_RefCounter
+0
+<20100829182239-248
+-bs_TrPoint
+3
+-TrP1
+f
+f
+0
+1283099052
+1
+0
+-1
+-bs_ContextCoord
+0
+0.741825
+0.998651
+7
+t
+<20100829182919-5
+-bs_RefCounter
+0
+<20100829182919-6
+-bs_TrPoint
+3
+-TrP2
+f
+f
+0
+1283099595
+1
+0
+-1
+-bs_ContextCoord
+0
+1
+0.73495
+8
+f
+-bs_StateList
+1
+-State
+0
+1283097862
+0
+t
+<20100829182239-251
+-bs_RefCounter
+0
+<20100829182239-252
+-bs_State
+3
+-State1
+f
+f
+0
+1283099997
+5
+-//State1 entry
+-//State1 exit
+-1
+-1
+<20100829182239-253
+-bs_RefCounter
+0
+N
+-bs_ContextCoord
+0
+0.47047
+0.777442
+-bs_SizeFactors
+0
+1
+1
+f
+f
+1
+-1
+t
+<20100829182239-256
+-bs_RefCounter
+0
+<20100829182239-257
+-bs_State
+3
+-State2
+f
+f
+0
+1283099997
+5
+-//State2 entry
+-//State2 exit
+-1
+-1
+<20100829182239-258
+-bs_RefCounter
+0
+<20100829182239-259
+-bs_StateMachine
+4
+-bs_DataMemberList
+1
+-var
+0
+1283098020
+5
+f
+-bs_StateGraph
+8
+<20100829182239-262
+-bs_RefCounter
+0
+<20100829182239-263
+-bs_InitialPoint
+3
+-
+f
+f
+0
+1283098020
+0
+-bs_ContextCoord
+0
+0.07
+0.93
+-bs_ChoicepointList
+1
+-CP
+0
+1283098020
+0
+f
+-bs_TrPointList
+1
+-TrP
+0
+1283098020
+0
+t
+<20100829182239-267
+-bs_RefCounter
+0
+<20100829182239-268
+-bs_TrPoint
+3
+-TrP1
+f
+f
+0
+1283098020
+1
+1
+1
+-bs_ContextCoord
+0
+0.497334
+1
+9
+t
+<20100829182239-270
+-bs_RefCounter
+0
+<20100829182239-271
+-bs_TrPoint
+3
+-TrP212830980720
+f
+f
+0
+1283098072
+1
+2
+2
+-bs_ContextCoord
+0
+1
+0.48331
+10
+t
+<20100829182239-273
+-bs_RefCounter
+0
+<20100829182239-274
+-bs_TrPoint
+3
+-TrP212830981910
+f
+f
+0
+1283098191
+1
+2
+3
+-bs_ContextCoord
+0
+5.55112e-017
+0.48791
+11
+t
+<20100829182611-2
+-bs_RefCounter
+0
+<20100829182611-3
+-bs_TrPoint
+3
+-TrP2
+f
+f
+0
+1283099072
+1
+0
+-1
+-bs_ContextCoord
+0
+1
+0.260873
+12
+t
+<20100829182611-5
+-bs_RefCounter
+0
+<20100829182611-6
+-bs_TrPoint
+3
+-TrP3
+f
+f
+0
+1283099088
+1
+3
+-1
+-bs_ContextCoord
+0
+1
+0.123651
+13
+t
+<20100829182833-9
+-bs_RefCounter
+0
+<20100829182833-10
+-bs_TrPoint
+3
+-TrP412830992440
+f
+f
+0
+1283099244
+1
+2
+5
+-bs_ContextCoord
+0
+0.214282
+0
+14
+t
+<20100829182833-12
+-bs_RefCounter
+0
+<20100829182833-13
+-bs_TrPoint
+3
+-TrP412830992441
+f
+f
+0
+1283099244
+1
+1
+5
+-bs_ContextCoord
+0
+0.214282
+0
+15
+f
+-bs_StateList
+1
+-State
+0
+1283098020
+0
+t
+<20100829182239-277
+-bs_RefCounter
+0
+<20100829182239-278
+-bs_State
+3
+-State1
+f
+f
+0
+1283098514
+5
+-//State2_State1 entry
+-//State2_State1 entry
+-1
+-1
+<20100829182239-279
+-bs_RefCounter
+0
+N
+-bs_ContextCoord
+0
+0.310873
+0.743968
+-bs_SizeFactors
+0
+1
+1
+f
+f
+5
+-1
+t
+<20100829182239-282
+-bs_RefCounter
+0
+<20100829182239-283
+-bs_State
+3
+-State2
+f
+f
+0
+1283098778
+5
+-//State2_State2 entry
+-//State2_State2 exit
+-1
+-1
+<20100829182239-284
+-bs_RefCounter
+0
+N
+-bs_ContextCoord
+0
+0.327381
+0.424206
+-bs_SizeFactors
+0
+1
+1
+f
+f
+6
+-1
+f
+-bs_TrSegmentList
+1
+-TrSegmentListDummyName
+0
+1283098020
+0
+t
+<20100829182239-288
+-bs_RefCounter
+0
+<20100829182239-289
+-bs_TrSegment
+3
+-
+f
+f
+0
+1283098710
+5
+3
+>20100829182239-268
+1
+>20100829182239-278
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1283098027
+0
+t
+<20100829182239-291
+-bs_RefCounter
+0
+<20100829182239-292
+-bs_SimpleTriggerSpec
+3
+-
+f
+f
+0
+1283098710
+1
+-
+-
+f
+-//State2 entrypoint m1 to State2_State1 action
+-1
+-bs_ContextCoord
+0
+0.404065
+0.871984
+7
+-1
+t
+<20100829182239-294
+-bs_RefCounter
+0
+<20100829182239-295
+-bs_TrSegment
+3
+-m2
+f
+f
+0
+1283098543
+5
+1
+>20100829182239-278
+1
+>20100829182239-283
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1283098052
+0
+t
+<20100829182239-297
+-bs_RefCounter
+0
+<20100829182239-298
+-bs_SimpleTriggerSpec
+3
+-m2
+f
+f
+0
+1283098543
+1
+-fct
+-
+f
+-//State2_State1 to State2_State2 action
+-1
+-bs_ContextCoord
+0
+0.319127
+0.584087
+8
+-1
+t
+<20100829182239-300
+-bs_RefCounter
+0
+<20100829182239-301
+-bs_TrSegment
+3
+-m3
+f
+f
+0
+1283098820
+5
+1
+>20100829182239-283
+3
+>20100829182239-271
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1283098077
+0
+t
+<20100829182239-303
+-bs_RefCounter
+0
+<20100829182239-304
+-bs_SimpleTriggerSpec
+3
+-m3
+f
+f
+0
+1283098820
+1
+-fct
+-
+f
+-//State2_State2 m3 to exitpoint action
+-1
+-bs_ContextCoord
+0
+0.663651
+0.436587
+9
+-1
+t
+<20100829182611-8
+-bs_RefCounter
+0
+<20100829182611-9
+-bs_TrSegment
+3
+-m5
+f
+f
+0
+1283099167
+5
+3
+>20100829182611-3
+3
+>20100829182611-3
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1283099100
+0
+t
+<20100829182611-11
+-bs_RefCounter
+0
+<20100829182611-12
+-bs_SimpleTriggerSpec
+3
+-m5
+f
+f
+0
+1283099143
+1
+-fct
+-
+f
+-//State2 inner self transition m5 action
+-1
+-bs_ContextCoord
+0
+0.660873
+0.27873
+10
+-1
+t
+<20100829182611-14
+-bs_RefCounter
+0
+<20100829182611-15
+-bs_TrSegment
+3
+-m6
+f
+f
+0
+1283099169
+5
+3
+>20100829182611-6
+3
+>20100829182611-6
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1283099146
+0
+t
+<20100829182611-17
+-bs_RefCounter
+0
+<20100829182611-18
+-bs_SimpleTriggerSpec
+3
+-m6
+f
+f
+0
+1283099164
+1
+-fct
+-
+f
+-//State2 inner self transition handler m6 action
+-1
+-bs_ContextCoord
+0
+0.652619
+0.142857
+11
+-1
+f
+-bs_NoteList
+1
+-Note
+0
+1283098020
+0
+f
+t
+65535
+f
+f
+0
+1283099146
+-bs_SizeFactors
+0
+1
+1
+t
+0
+1283098020
+-bs_ContextCoord
+0
+0.471562
+0.572565
+-bs_SizeFactors
+0
+1
+1
+f
+f
+2
+-1
+t
+<20100829182239-310
+-bs_RefCounter
+0
+<20100829182239-311
+-bs_State
+3
+-State3
+f
+f
+0
+1283100006
+5
+-//State3 entry
+-//State3 exit
+-1
+-1
+<20100829182239-312
+-bs_RefCounter
+0
+N
+-bs_ContextCoord
+0
+0.884535
+0.559813
+-bs_SizeFactors
+0
+1
+1
+f
+f
+3
+-1
+t
+<20100829182239-315
+-bs_RefCounter
+0
+<20100829182239-316
+-bs_State
+3
+-State4
+f
+f
+0
+1283100001
+5
+-//State4 entry
+-//State4 exit
+-1
+-1
+<20100829182239-317
+-bs_RefCounter
+0
+N
+-bs_ContextCoord
+0
+0.134821
+0.568292
+-bs_SizeFactors
+0
+1
+1
+f
+f
+4
+-1
+f
+-bs_TrSegmentList
+1
+-TrSegmentListDummyName
+0
+1283097862
+0
+t
+<20100829182239-321
+-bs_RefCounter
+0
+<20100829182239-322
+-bs_TrSegment
+3
+-
+f
+f
+0
+1283099819
+5
+0
+>20100829182239-243
+1
+>20100829182239-252
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1283098010
+0
+t
+<20100829182239-324
+-bs_RefCounter
+0
+<20100829182239-325
+-bs_SimpleTriggerSpec
+3
+-
+f
+f
+0
+1283098361
+1
+-
+-
+f
+-//init action
+-1
+-bs_ContextCoord
+0
+0.173433
+0.894242
+0
+-1
+t
+<20100829182239-327
+-bs_RefCounter
+0
+<20100829182239-328
+-bs_TrSegment
+3
+-m1
+f
+f
+0
+1283099997
+5
+1
+>20100829182239-252
+1
+>20100829182239-257
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1283098019
+0
+t
+<20100829182239-330
+-bs_RefCounter
+0
+<20100829182239-331
+-bs_SimpleTriggerSpec
+3
+-m1
+f
+f
+0
+1283098881
+1
+-fct
+-
+f
+-//State1 m1 State2 action
+-1
+-bs_ContextCoord
+0
+0.471016
+0.67497
+1
+-1
+t
+<20100829182239-333
+-bs_RefCounter
+0
+<20100829182239-334
+-bs_TrSegment
+3
+-
+f
+f
+0
+1283100008
+5
+1
+>20100829182239-257
+1
+>20100829182239-311
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1283098072
+0
+t
+<20100829182239-336
+-bs_RefCounter
+0
+<20100829182239-337
+-bs_SimpleTriggerSpec
+3
+-
+f
+f
+0
+1283098847
+1
+-
+-
+f
+-//State2 to State3 action
+-1
+-bs_ContextCoord
+0
+0.684228
+0.565466
+2
+-1
+t
+<20100829182239-339
+-bs_RefCounter
+0
+<20100829182239-340
+-bs_TrSegment
+3
+-m4
+f
+f
+0
+1283100009
+5
+1
+>20100829182239-257
+1
+>20100829182239-316
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1283098191
+0
+t
+<20100829182239-342
+-bs_RefCounter
+0
+<20100829182239-343
+-bs_SimpleTriggerSpec
+3
+-m4
+f
+f
+0
+1283098866
+1
+-fct
+-
+f
+-//State2 to State4 action
+-1
+-bs_ContextCoord
+0
+0.294878
+0.568292
+3
+-1
+t
+<20100829182239-345
+-bs_RefCounter
+0
+<20100829182239-346
+-bs_TrSegment
+3
+-reset
+f
+f
+0
+1283099819
+5
+3
+>20100829182239-248
+1
+>20100829182239-252
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1283098239
+0
+t
+<20100829182239-348
+-bs_RefCounter
+0
+<20100829182239-349
+-bs_SimpleTriggerSpec
+3
+-reset
+f
+f
+0
+1283099000
+1
+-fct
+-
+f
+-// TOP reset State1 action
+-1
+-bs_ContextCoord
+0
+0.578614
+0.906731
+4
+-1
+t
+<20100829182833-23
+-bs_RefCounter
+0
+<20100829182833-24
+-bs_TrSegment
+3
+-m7
+f
+f
+0
+1283100024
+5
+1
+>20100829182239-257
+1
+>20100829182239-257
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1283099244
+0
+t
+<20100829182833-26
+-bs_RefCounter
+0
+<20100829182833-27
+-bs_SimpleTriggerSpec
+3
+-m7
+f
+f
+0
+1283099267
+1
+-fct
+-
+f
+-//State2 external self transition m7 action
+-1
+-bs_ContextCoord
+0
+0.416274
+0.475812
+5
+-1
+t
+<20100829182919-8
+-bs_RefCounter
+0
+<20100829182919-9
+-bs_TrSegment
+3
+-m8
+f
+f
+0
+1283099819
+5
+3
+>20100829182919-6
+3
+>20100829182919-6
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1283099335
+0
+t
+<20100829182919-11
+-bs_RefCounter
+0
+<20100829182919-12
+-bs_SimpleTriggerSpec
+3
+-m8
+f
+f
+0
+1283099590
+1
+-fct
+-
+f
+-//TOP external self transition m8 action
+-1
+-bs_ContextCoord
+0
+0.782098
+0.773761
+6
+-1
+f
+-bs_NoteList
+1
+-Note
+0
+1283099798
+0
+t
+<20100829183714-18
+-bs_RefCounter
+0
+<20100829183714-19
+-bs_Note
+3
+-Nt_a_HFSM
+f
+f
+0
+1283100016
+0
++Testee FSM:
++covers simple situations for hierarchical FSMs without:
++- priorities (inner transitions wins for same trigger)
++- history
++- inner init transitions
++- choicepoints
+-
+f
+-bs_ContextCoord
+0
+0.460842
+0.222624
+-bs_SizeFactors
+0
+13.815
+4.56333
+f
+t
+65535
+f
+f
+0
+1283099335
+-bs_SizeFactors
+0
+1.59913
+1.20746
+t
+0
+1283097862
+-
+-
+-
+1024
+-bs_SnapInfo
+0
+1700
+1700
+30
+20
+0
+0
+1283097862
+0
+1283097862
+-bs_ActorMemberFct
+1
+f
+0
+1283097862
+t
+f
+f
+t
+<20100829182239-355
+-bs_RefCounter
+0
+<20100829182239-356
+-bs_ActorClass
+3
+-a_HFSM_Tester
+f
+f
+0
+1283097884
+0
+0
+8
+-
+f
+-bs_ActorInterface
+3
+-bs_PortRefList
+1
+-Port
+0
+1283097991
+0
+t
+>20100829182239-359
+>20100829182239-360
+f
+0
+0
+1283097876
+-bs_ActorStructure
+7
+-bs_PortRefList
+1
+-Port
+0
+1283097991
+0
+t
+>20100829182239-359
+>20100829182239-360
+f
+-bs_SAPRefList
+1
+-SAP
+0
+1283097876
+0
+f
+t
+-bs_ActorRefList
+1
+-ActorRef
+0
+1283097876
+0
+f
+-bs_BindingContractList
+1
+-BindingContract
+0
+1283097876
+0
+f
+-bs_SizeFactors
+0
+1.8
+1
+-bs_SnapInfo
+0
+1700
+1700
+30
+20
+0
+0
+1283097876
+-bs_PrtvRefList
+1
+-Primitive
+0
+1283097876
+0
+f
+-bs_NoteList
+1
+-Note
+0
+1283097876
+0
+f
+0
+1283097876
+-bs_ActorBehaviour
+7
+<20100829182239-372
+-bs_RefCounter
+0
+<20100829182239-373
+-bs_StateMachine
+4
+-bs_DataMemberList
+1
+-var
+0
+1283097876
+5
+f
+-bs_StateGraph
+8
+<20100829182239-376
+-bs_RefCounter
+0
+<20100829182239-377
+-bs_InitialPoint
+3
+-
+f
+f
+0
+1283097876
+0
+-bs_ContextCoord
+0
+0.07
+0.93
+-bs_ChoicepointList
+1
+-CP
+0
+1283097876
+0
+f
+-bs_TrPointList
+1
+-TrP
+0
+1283097876
+0
+f
+-bs_StateList
+1
+-State
+0
+1283097876
+0
+t
+<20100829225123-287
+-bs_RefCounter
+0
+<20100829225123-288
+-bs_State
+3
+-State1
+f
+f
+0
+1283115081
+5
+-
+-
+-1
+-1
+<20100829225123-289
+-bs_RefCounter
+0
+N
+-bs_ContextCoord
+0
+0.308889
+0.731349
+-bs_SizeFactors
+0
+1
+1
+f
+f
+1
+-1
+f
+-bs_TrSegmentList
+1
+-TrSegmentListDummyName
+0
+1283097876
+0
+t
+<20100829225123-293
+-bs_RefCounter
+0
+<20100829225123-294
+-bs_TrSegment
+3
+-init
+f
+f
+0
+1283115072
+5
+0
+>20100829182239-377
+1
+>20100829225123-288
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1283115072
+0
+f
+-
+-1
+-bs_ContextCoord
+0
+0.189444
+0.830675
+0
+-1
+f
+-bs_NoteList
+1
+-Note
+0
+1283097876
+0
+f
+t
+65535
+f
+f
+0
+1283115072
+-bs_SizeFactors
+0
+1
+1
+t
+0
+1283097876
+-
+-
+-
+1024
+-bs_SnapInfo
+0
+1700
+1700
+30
+20
+0
+0
+1283097876
+0
+1283097876
+-bs_ActorMemberFct
+1
+f
+0
+1283097876
+t
+f
+f
+f
+-------------------------------
+
+
+ROOM_CONFIGURATION_DATA
+
+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
+#
+# PersObj-Version: 4 standard
+#
+-bs_ConfigurationList
+-bs_ConfigurationList
+1
+-Configuration
+0
+1283113401
+0
+t
+<20100826185605-115
+-bs_RefCounter
+0
+<20100826185605-116
+-bs_Configuration
+3
+-StdConfig
+f
+f
+0
+1282841742
+6
+>20100826190408-23
+>20100826190408-24
+-bs_TargetList
+1
+-Target
+0
+1282841742
+0
+t
+<20100826185605-119
+-bs_RefCounter
+0
+<20100826185605-120
+-bs_Target
+3
+-PC
+f
+f
+0
+1282841742
+5
+-pc_id
+0
+0
+2
+2
+-bs_FileList
+1
+-FileListDummyName
+0
+1282841742
+0
+f
+f
+-bs_ContextCoord
+0
+0.5
+0.5
+-bs_SizeFactors
+0
+1
+1
+f
+-bs_NoteList
+1
+-Note
+0
+1282841742
+0
+f
+-bs_PrtvDescriptorList
+1
+-PrtvInstance
+0
+1282841742
+0
+f
+-bs_ActorInstanceList
+1
+-ActorInstance
+0
+1282841742
+0
+t
+<20100826190408-172
+-bs_RefCounter
+0
+<20100826190408-173
+-bs_ActorInstance
+3
+-ComponentFlat
+f
+f
+0
+1282841781
+5
+8
+<20100826190408-174
+-bs_RefCounter
+0
+N
+0
+f
+<20100826190408-175
+-bs_DataMemberList
+1
+-var
+0
+1282842089
+5
+f
+t
+t
+0
+0
+0
+0
+-bs_ProbeList
+1
+-ProbeListDummyName
+0
+1282841781
+0
+f
+-bs_PortInstanceList
+1
+-PortInstListDummyName
+0
+1282841781
+0
+f
+-bs_GUIItemList
+1
+-GUIItemListDummyName
+0
+1285147956
+0
+f
+t
+1024
+t
+<20100826190408-179
+-bs_RefCounter
+0
+<20100826190408-180
+-bs_ActorInstance
+3
+-ComponentFlat/Node1
+f
+f
+0
+1282841825
+5
+8
+<20100826190408-181
+-bs_RefCounter
+0
+N
+0
+f
+<20100826190408-182
+-bs_DataMemberList
+1
+-var
+0
+1282842089
+5
+f
+t
+t
+0
+0
+0
+0
+-bs_ProbeList
+1
+-ProbeListDummyName
+0
+1282841825
+0
+f
+-bs_PortInstanceList
+1
+-PortInstListDummyName
+0
+1282841825
+0
+f
+-bs_GUIItemList
+1
+-GUIItemListDummyName
+0
+1282842489
+0
+f
+t
+1024
+t
+<20100826190408-193
+-bs_RefCounter
+0
+<20100826190408-194
+-bs_ActorInstance
+3
+-ComponentFlat/Tester
+f
+f
+0
+1282841847
+5
+8
+<20100826190408-195
+-bs_RefCounter
+0
+N
+0
+f
+<20100826190408-196
+-bs_DataMemberList
+1
+-var
+0
+1282842089
+5
+f
+t
+t
+0
+0
+0
+0
+-bs_ProbeList
+1
+-ProbeListDummyName
+0
+1282841847
+0
+f
+-bs_PortInstanceList
+1
+-PortInstListDummyName
+0
+1282841847
+0
+f
+-bs_GUIItemList
+1
+-GUIItemListDummyName
+0
+1282841847
+0
+f
+t
+1024
+t
+<20100826190949-25
+-bs_RefCounter
+0
+<20100826190949-26
+-bs_ActorInstance
+3
+-ComponentFlat/Node2
+f
+f
+0
+1282842576
+5
+8
+<20100826190949-27
+-bs_RefCounter
+0
+N
+0
+f
+<20100826195920-195
+-bs_DataMemberList
+1
+-var
+0
+1282845519
+5
+f
+t
+t
+0
+0
+0
+0
+-bs_ProbeList
+1
+-ProbeListDummyName
+0
+1282842576
+0
+f
+-bs_PortInstanceList
+1
+-PortInstListDummyName
+0
+1282842576
+0
+f
+-bs_GUIItemList
+1
+-GUIItemListDummyName
+0
+1282842576
+0
+f
+t
+1024
+f
+>20100826185605-119
+>20100826185605-120
+0
+-bs_PropertySet
+0
+f
+-bs_ViewMementoList
+1
+-ViewMemento
+0
+1283097850
+0
+t
+<20100829182239-409
+-bs_RefCounter
+0
+<20100829182239-410
+-bs_ViewMemento
+3
+-
+f
+f
+0
+1283097850
+1
+1
+1
+19
+16
+1026
+605
+>20100826190408-23
+>20100826190408-24
+f
+t
+<20100829182239-411
+-bs_RefCounter
+0
+<20100826185605-116
+-bs_Configuration
+3
+-CopyOfStdConfig
+f
+f
+0
+1282841742
+6
+>20100829182239-182
+>20100829182239-183
+-bs_TargetList
+1
+-Target
+0
+1282841742
+0
+t
+<20100826185605-119
+-bs_RefCounter
+0
+<20100826185605-120
+-bs_Target
+3
+-PC
+f
+f
+0
+1282841742
+5
+-pc_id
+0
+0
+2
+2
+-bs_FileList
+1
+-FileListDummyName
+0
+1282841742
+0
+f
+f
+-bs_ContextCoord
+0
+0.5
+0.5
+-bs_SizeFactors
+0
+1
+1
+f
+-bs_NoteList
+1
+-Note
+0
+1282841742
+0
+f
+-bs_PrtvDescriptorList
+1
+-PrtvInstance
+0
+1282841742
+0
+f
+-bs_ActorInstanceList
+1
+-ActorInstance
+0
+1282841742
+0
+t
+<20100829182239-419
+-bs_RefCounter
+0
+<20100829182239-420
+-bs_ActorInstance
+3
+-ComponentHierarchical
+f
+f
+0
+1283097850
+5
+8
+<20100829182239-421
+-bs_RefCounter
+0
+N
+0
+f
+<20100829184217-319
+-bs_DataMemberList
+1
+-var
+0
+1283100133
+5
+f
+t
+t
+0
+0
+0
+0
+-bs_ProbeList
+1
+-ProbeListDummyName
+0
+1283097850
+0
+f
+-bs_PortInstanceList
+1
+-PortInstListDummyName
+0
+1283097850
+0
+f
+-bs_GUIItemList
+1
+-GUIItemListDummyName
+0
+1285147969
+0
+f
+t
+1024
+t
+<20100829182239-425
+-bs_RefCounter
+0
+<20100829182239-426
+-bs_ActorInstance
+3
+-ComponentHierarchical/HFSM
+f
+f
+0
+1283097892
+5
+8
+<20100829182239-427
+-bs_RefCounter
+0
+N
+0
+f
+<20100829184217-323
+-bs_DataMemberList
+1
+-var
+0
+1283100133
+5
+f
+t
+t
+0
+0
+0
+0
+-bs_ProbeList
+1
+-ProbeListDummyName
+0
+1283097892
+0
+f
+-bs_PortInstanceList
+1
+-PortInstListDummyName
+0
+1283097892
+0
+f
+-bs_GUIItemList
+1
+-GUIItemListDummyName
+0
+1283097892
+0
+f
+t
+1024
+t
+<20100829182239-431
+-bs_RefCounter
+0
+<20100829182239-432
+-bs_ActorInstance
+3
+-ComponentHierarchical/Tester
+f
+f
+0
+1283097904
+5
+8
+<20100829182239-433
+-bs_RefCounter
+0
+N
+0
+f
+<20100829184217-327
+-bs_DataMemberList
+1
+-var
+0
+1283100133
+5
+f
+t
+t
+0
+0
+0
+0
+-bs_ProbeList
+1
+-ProbeListDummyName
+0
+1283097904
+0
+f
+-bs_PortInstanceList
+1
+-PortInstListDummyName
+0
+1283097904
+0
+f
+-bs_GUIItemList
+1
+-GUIItemListDummyName
+0
+1283097904
+0
+f
+t
+1024
+f
+>20100826185605-119
+>20100826185605-120
+0
+-bs_PropertySet
+0
+f
+-bs_ViewMementoList
+1
+-ViewMemento
+0
+1283113401
+0
+t
+<20100829222328-332
+-bs_RefCounter
+0
+<20100829222328-333
+-bs_ViewMemento
+3
+-
+f
+f
+0
+1283113401
+1
+2
+1
+125
+125
+850
+699
+>20100829182239-221
+>20100829182239-222
+>20100829182239-238
+>20100829182239-239
+-TOP
+t
+<20100829222328-334
+-bs_RefCounter
+0
+<20100829222328-335
+-bs_ViewMemento
+3
+-
+f
+f
+0
+1283113401
+1
+1
+1
+50
+50
+1057
+639
+>20100829182239-182
+>20100829182239-183
+t
+<20100829222328-336
+-bs_RefCounter
+0
+<20100829222328-337
+-bs_ViewMemento
+3
+-
+f
+f
+0
+1283113401
+1
+1
+3
+50
+50
+1395
+624
+>20100826190408-23
+>20100826190408-24
+f
+t
+<20100829222328-338
+-bs_RefCounter
+0
+<20100826185605-116
+-bs_Configuration
+3
+-CopyOfCopyOfStdConfig
+f
+f
+0
+1282841742
+6
+>20100826190408-23
+>20100826190408-24
+-bs_TargetList
+1
+-Target
+0
+1282841742
+0
+t
+<20100826185605-119
+-bs_RefCounter
+0
+<20100826185605-120
+-bs_Target
+3
+-PC
+f
+f
+0
+1282841742
+5
+-pc_id
+0
+0
+2
+2
+-bs_FileList
+1
+-FileListDummyName
+0
+1282841742
+0
+f
+f
+-bs_ContextCoord
+0
+0.5
+0.5
+-bs_SizeFactors
+0
+1
+1
+f
+-bs_NoteList
+1
+-Note
+0
+1282841742
+0
+f
+-bs_PrtvDescriptorList
+1
+-PrtvInstance
+0
+1282841742
+0
+f
+-bs_ActorInstanceList
+1
+-ActorInstance
+0
+1282841742
+0
+t
+<20100829222328-346
+-bs_RefCounter
+0
+<20100829222328-347
+-bs_ActorInstance
+3
+-ComponentFlat
+f
+f
+0
+1283113401
+5
+8
+<20100829222328-348
+-bs_RefCounter
+0
+N
+0
+f
+<20100829222431-340
+-bs_DataMemberList
+1
+-var
+0
+1283113457
+5
+f
+t
+t
+0
+0
+0
+0
+-bs_ProbeList
+1
+-ProbeListDummyName
+0
+1283113401
+0
+f
+-bs_PortInstanceList
+1
+-PortInstListDummyName
+0
+1283113401
+0
+f
+-bs_GUIItemList
+1
+-GUIItemListDummyName
+0
+1285147956
+0
+f
+t
+1024
+t
+<20100829222328-352
+-bs_RefCounter
+0
+<20100829222328-353
+-bs_ActorInstance
+3
+-ComponentFlat/Node1
+f
+f
+0
+1283113401
+5
+8
+<20100829222328-354
+-bs_RefCounter
+0
+N
+0
+f
+<20100829222431-344
+-bs_DataMemberList
+1
+-var
+0
+1283113457
+5
+f
+t
+t
+0
+0
+0
+0
+-bs_ProbeList
+1
+-ProbeListDummyName
+0
+1283113401
+0
+f
+-bs_PortInstanceList
+1
+-PortInstListDummyName
+0
+1283113401
+0
+f
+-bs_GUIItemList
+1
+-GUIItemListDummyName
+0
+1283113401
+0
+f
+t
+1024
+t
+<20100829222328-358
+-bs_RefCounter
+0
+<20100829222328-359
+-bs_ActorInstance
+3
+-ComponentFlat/Tester
+f
+f
+0
+1283113401
+5
+8
+<20100829222328-360
+-bs_RefCounter
+0
+N
+0
+f
+<20100829222431-348
+-bs_DataMemberList
+1
+-var
+0
+1283113457
+5
+f
+t
+t
+0
+0
+0
+0
+-bs_ProbeList
+1
+-ProbeListDummyName
+0
+1283113401
+0
+f
+-bs_PortInstanceList
+1
+-PortInstListDummyName
+0
+1283113401
+0
+f
+-bs_GUIItemList
+1
+-GUIItemListDummyName
+0
+1283113401
+0
+f
+t
+1024
+t
+<20100829222328-364
+-bs_RefCounter
+0
+<20100829222328-365
+-bs_ActorInstance
+3
+-ComponentFlat/Node2
+f
+f
+0
+1283113401
+5
+8
+<20100829222328-366
+-bs_RefCounter
+0
+N
+0
+f
+<20100829222431-352
+-bs_DataMemberList
+1
+-var
+0
+1283113457
+5
+f
+t
+t
+0
+0
+0
+0
+-bs_ProbeList
+1
+-ProbeListDummyName
+0
+1283113401
+0
+f
+-bs_PortInstanceList
+1
+-PortInstListDummyName
+0
+1283113401
+0
+f
+-bs_GUIItemList
+1
+-GUIItemListDummyName
+0
+1283113401
+0
+f
+t
+1024
+f
+>20100826185605-119
+>20100826185605-120
+0
+-bs_PropertySet
+0
+f
+-bs_ViewMementoList
+1
+-ViewMemento
+0
+1291970113
+0
+t
+<20101210093513-357
+-bs_RefCounter
+0
+<20101210093513-358
+-bs_ViewMemento
+3
+-
+f
+f
+0
+1291970113
+1
+2
+1
+0
+0
+567
+589
+>20100829182239-355
+>20100829182239-356
+>20100829182239-372
+>20100829182239-373
+-TOP
+f
+f
+>20100829222328-338
+>20100826185605-116
+1283113401
+-bs_DataObjHist
+0
+0
diff --git a/examples/org.eclipse.etrice.example/models/MyBaseModel.room b/examples/org.eclipse.etrice.example/models/MyBaseModel.room
new file mode 100644
index 000000000..90d3365c7
--- /dev/null
+++ b/examples/org.eclipse.etrice.example/models/MyBaseModel.room
@@ -0,0 +1,95 @@
+RoomModel org.eclipse.etrice.core.etrice.example.base {
+
+DataClass DBase {
+ Attribute c : int32
+}
+
+DataClass DTest extends DBase {
+ Attribute a : int32
+ Attribute b : int32
+
+ Operation compute() : int {
+ "return a*b;"
+ }
+ Operation computeMore(c: int, d: int) : int {
+ "return (a*b)+(c*d);"
+ }
+}
+
+ProtocolClass MyBaseProtocol {
+ incoming {
+ Message message1 (value: DTest)
+ }
+ outgoing {
+ Message message3 ()
+ }
+}
+
+ProtocolClass MySimpleProtocol extends MyBaseProtocol {
+ incoming {
+ Message message2 ()
+ }
+ outgoing {
+ Message message4 ()
+ }
+}
+
+ActorClass a_Receiver {
+ Interface {
+ Port in_port : MySimpleProtocol
+ }
+
+ Structure {
+ external Port in_port
+
+ Attribute _member1 : int32
+ Attribute _member2 : DTest
+ }
+
+ Behavior {
+ Operation getMember1() : int {
+ "return _member1;"
+ }
+ Operation setMember1(value : int) {
+ "_member1 = value;"
+ "//Klaus"
+ }
+ StateMachine {
+ /* Transition idle -> running{
+ trigger{startMessage : in_port}
+ guard { "//guard code" }
+ action { "//transition action" }
+ }
+ */
+ State idle{}
+ State initialize{}
+ State running{}
+ State stopped{}
+ }
+ }
+
+
+
+}
+
+
+
+ProtocolClass MyComplexProtocol {
+ incoming {
+ Message in_message1 ( i1 : int32 , f2 : float64 )
+ Message in_message2 ( i1 : int32 , f2 : float64 )
+ Message in_message3 ( i1 : int32 , f2 : float64 )
+ Message in_message4 ( i1 : int32 , f2 : float64 )
+ }
+ outgoing
+ {
+ Message out_message1 ( a1: float64)
+ Message out_message2 ( a1: char)
+ }
+}
+
+DataClass MyDataClass {
+ Attribute _a1 : int32
+ Operation f(b: ^boolean) { "" }
+}
+}
diff --git a/examples/org.eclipse.etrice.example/src/workflow/example.mwe2 b/examples/org.eclipse.etrice.example/src/workflow/example.mwe2
new file mode 100644
index 000000000..9db478f38
--- /dev/null
+++ b/examples/org.eclipse.etrice.example/src/workflow/example.mwe2
@@ -0,0 +1,18 @@
+module workflow.example
+
+import workflow.RoomGenerator
+import org.eclipse.emf.mwe.utils.*
+
+var destDir = "src-gen"
+
+Workflow {
+
+ component = DirectoryCleaner {
+ directory = destDir
+ }
+
+ component = @RoomGenerator {
+ sourceDir = "models"
+ targetDir = destDir
+ }
+} \ No newline at end of file
diff --git a/modellib/org.eclipse.etrice.modellib/META-INF/MANIFEST.MF b/modellib/org.eclipse.etrice.modellib/META-INF/MANIFEST.MF
new file mode 100644
index 000000000..1052970a0
--- /dev/null
+++ b/modellib/org.eclipse.etrice.modellib/META-INF/MANIFEST.MF
@@ -0,0 +1,6 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: eTrice Model Library
+Bundle-SymbolicName: org.eclipse.etrice.modellib
+Bundle-Version: 0.1.0
+Bundle-Vendor: eTrice (Incubation)
diff --git a/modellib/org.eclipse.etrice.modellib/about.html b/modellib/org.eclipse.etrice.modellib/about.html
new file mode 100644
index 000000000..f47dbddbb
--- /dev/null
+++ b/modellib/org.eclipse.etrice.modellib/about.html
@@ -0,0 +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>
+</html> \ No newline at end of file
diff --git a/modellib/org.eclipse.etrice.modellib/build.properties b/modellib/org.eclipse.etrice.modellib/build.properties
new file mode 100644
index 000000000..5e3728557
--- /dev/null
+++ b/modellib/org.eclipse.etrice.modellib/build.properties
@@ -0,0 +1 @@
+bin.includes = META-INF/
diff --git a/modellib/org.eclipse.etrice.modellib/models/TimingService.room b/modellib/org.eclipse.etrice.modellib/models/TimingService.room
new file mode 100644
index 000000000..2de1bf0d3
--- /dev/null
+++ b/modellib/org.eclipse.etrice.modellib/models/TimingService.room
@@ -0,0 +1,313 @@
+RoomModel room.basic.service.timing {
+
+ ProtocolClass PTimer {
+ usercode1 {
+ "import java.util.TimerTask;"
+ }
+ usercode2 {
+ "static protected class FireTimerTask extends TimerTask {
+
+ private int time;
+ private int id;
+ private PTimerPort port;
+
+ public FireTimerTask(int time, int id, PTimerPort port) {
+ this.time = time;
+ this.id = id;
+ this.port = port;
+ }
+
+ @Override
+ public void run() {
+ port.timer(id);
+ }
+
+ public int getTime() {
+ return time;
+ }
+
+ public int getId() {
+ return id;
+ }
+ }
+
+ static protected class TimerData {
+ int time;
+ int id;
+ public TimerData(int time, int id) {
+ this.time = time;
+ this.id = id;
+ }
+ }"
+ }
+ incoming {
+ Message Start (time_ms : int32)
+ Message Kill ()
+ }
+ outgoing {
+ Message timerTick ()
+ }
+ regular PortClass {
+ usercode {
+ "private FireTimerTask task = null;
+
+ public TimerTask getTask() { return task; }"
+ }
+ handle Start {
+ "//regular PortClass handle start
+ EventWithDataMessage dataMsg = (EventWithDataMessage) msg;
+ TimerData td = (TimerData)dataMsg.getData()[0];
+ task = new FireTimerTask(td.time, td.id, this);
+ getActor().receiveEvent(this, IN_Start, td.time);"
+ }
+ handle Kill {
+ "//regular PortClass handle kill
+ EventWithDataMessage dataMsg = (EventWithDataMessage) msg;
+ int id = (Integer)dataMsg.getData()[0];
+ if (task!=null && task.getId()==id) {
+ task.cancel();
+ }"
+ }
+ Operation timer(id: Integer) {
+ "//regular PortClass Operation timer
+ DebuggingService.getInstance().addMessageAsyncOut(getAddress(),
+ getPeerAddress(), messageStrings[OUT_timerTick]);
+
+ getMsgReceiver().receive(
+ new EventWithDataMessage(getPeerAddress(), OUT_timerTick, id));"
+ }
+ }
+
+ conjugate PortClass {
+ usercode {
+ "private int currentId = 0;
+ private boolean active = false;"
+ }
+ handle timerTick {
+ "//conjugate PortClass handle timer
+ EventWithDataMessage dataMsg = (EventWithDataMessage) msg;
+ int id = (Integer)dataMsg.getData()[0];
+ if (active && id==currentId) {
+ getActor().receiveEvent(this, msg.getEvtId());
+ }"
+ }
+ handle Start {
+ "//conjugate PortClass handle start
+ if (active)
+ return;
+
+ active = true;
+ DebuggingService.getInstance().addMessageAsyncOut(getAddress(),
+ getPeerAddress(), messageStrings[IN_Start]);
+
+ getMsgReceiver()
+ .receive(
+ new EventWithDataMessage(getPeerAddress(),
+ IN_Start, new TimerData(time_ms, ++currentId)));"
+ }
+ handle Kill {
+ "//conjugate PortClass kill
+ DebuggingService.getInstance().addMessageAsyncOut(getAddress(),
+ getPeerAddress(), messageStrings[IN_Kill]);
+
+ if (active) {
+ active = false;
+ getMsgReceiver().receive(
+ new EventWithDataMessage(getPeerAddress(), IN_Kill, currentId));
+ }"
+ }
+ }
+ }
+
+ ProtocolClass PTimeout {
+ usercode1 {
+ "import java.util.TimerTask;"
+ }
+ usercode2 {
+ "static protected class FireTimeoutTask extends TimerTask {
+
+ private int time;
+ private int id;
+ private PTimeoutPort port;
+
+ public FireTimeoutTask(int time, int id, PTimeoutPort port) {
+ this.time = time;
+ this.id = id;
+ this.port = port;
+ }
+
+ @Override
+ public void run() {
+ port.timeout(id);
+ }
+
+ public int getTime() {
+ return time;
+ }
+
+ public int getId() {
+ return id;
+ }
+ }
+
+ static protected class TimeoutData {
+ int time;
+ int id;
+ public TimeoutData(int time, int id) {
+ this.time = time;
+ this.id = id;
+ }
+ }"
+ }
+ incoming {
+ Message Start (time_ms : int32)
+ Message Kill ()
+ }
+ outgoing {
+ Message timeoutTick ()
+ }
+ regular PortClass {
+ usercode {
+ "private FireTimeoutTask task = null;
+
+ public TimerTask getTask() { return task; }"
+ }
+ handle Start {
+ "//regular PortClass handle start
+ EventWithDataMessage dataMsg = (EventWithDataMessage) msg;
+ TimeoutData td = (TimeoutData)dataMsg.getData()[0];
+ task = new FireTimeoutTask(td.time, td.id, this);
+ getActor().receiveEvent(this, IN_Start, td.time);"
+ }
+ handle Kill {
+ "//regular PortClass handle kill
+ EventWithDataMessage dataMsg = (EventWithDataMessage) msg;
+ int id = (Integer)dataMsg.getData()[0];
+ if (task!=null && task.getId()==id) {
+ task.cancel();
+ }"
+ }
+ Operation timeout(id: Integer) {
+ "//regular PortClass Operation timeout
+ DebuggingService.getInstance().addMessageAsyncOut(getAddress(),
+ getPeerAddress(), messageStrings[OUT_timeoutTick]);
+
+ getMsgReceiver().receive(
+ new EventWithDataMessage(getPeerAddress(), OUT_timeoutTick, id));"
+ }
+ }
+
+ conjugate PortClass {
+ usercode {
+ "private int currentId = 0;
+ private boolean active = false;"
+ }
+ handle timeoutTick {
+ "//conjugate PortClass handle timeout
+ EventWithDataMessage dataMsg = (EventWithDataMessage) msg;
+ int id = (Integer)dataMsg.getData()[0];
+ if (active && id==currentId) {
+ active = false;
+ getActor().receiveEvent(this, msg.getEvtId());
+ }"
+ }
+ handle Start {
+ "//conjugate PortClass handle start
+ if (active)
+ return;
+
+ active = true;
+ DebuggingService.getInstance().addMessageAsyncOut(getAddress(),
+ getPeerAddress(), messageStrings[IN_Start]);
+
+ getMsgReceiver()
+ .receive(
+ new EventWithDataMessage(getPeerAddress(),
+ IN_Start, new TimeoutData(time_ms, ++currentId)));"
+ }
+ handle Kill {
+ "//conjugate PortClass kill
+ DebuggingService.getInstance().addMessageAsyncOut(getAddress(),
+ getPeerAddress(), messageStrings[IN_Kill]);
+
+ if (active) {
+ active = false;
+ getMsgReceiver().receive(
+ new EventWithDataMessage(getPeerAddress(), IN_Kill, new Integer(currentId)));
+ }"
+ }
+ }
+ }
+
+ ActorClass ATimingService {
+ Interface {
+ SPP timer: PTimer
+ SPP timeout: PTimeout
+ }
+ Structure {
+ usercode1 {
+ "import java.util.Timer;"
+ }
+ usercode2 {
+ "private Timer timerService = null;"
+ "private int taskCount = 0;"
+ "private static final int PURGE_LIMIT = 1000;"
+ }
+ ServiceImplementation of timer
+ ServiceImplementation of timeout
+ }
+ Behavior {
+ Operation stop() {
+ "System.out.println(toString() + \"::stop()\");"
+ "timerService.cancel();"
+ "timerService = null;"
+ }
+ StateMachine {
+ State Operational {
+ entry {
+ "// prepare"
+ }
+ }
+ Transition tr0: initial -> Operational {
+ action {
+ "timerService = new Timer();"
+ }
+ }
+ Transition tr1: Operational -> Operational {
+ triggers {
+ <Start:timeout>
+ }
+ action {
+ "// start timeout"
+ "taskCount++;"
+ "if (taskCount>PURGE_LIMIT) timerService.purge();"
+ "timerService.schedule(((PTimeoutPort)ifitem).getTask(), time_ms);"
+ }
+ }
+ Transition tr2: Operational -> Operational {
+ triggers {
+ <Kill:timeout>
+ }
+ // nothing to do to kill timeout (handled by timerService)
+ }
+ Transition tr3: Operational -> Operational {
+ triggers {
+ <Start:timer>
+ }
+ action {
+ "// start timer"
+ "taskCount++;"
+ "if (taskCount>PURGE_LIMIT) timerService.purge();"
+ "timerService.scheduleAtFixedRate(((PTimerPort)ifitem).getTask(), time_ms, time_ms);"
+ }
+ }
+ Transition tr4: Operational -> Operational {
+ triggers {
+ <Kill:timer>
+ }
+ // nothing to do to kill timer (handled by timer)
+ }
+ }
+ }
+ }
+}
diff --git a/plugins/org.eclipse.etrice.core.room.ui/.gitignore b/plugins/org.eclipse.etrice.core.room.ui/.gitignore
new file mode 100644
index 000000000..ba077a403
--- /dev/null
+++ b/plugins/org.eclipse.etrice.core.room.ui/.gitignore
@@ -0,0 +1 @@
+bin
diff --git a/plugins/org.eclipse.etrice.core.room.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.etrice.core.room.ui/META-INF/MANIFEST.MF
new file mode 100644
index 000000000..f697b2b48
--- /dev/null
+++ b/plugins/org.eclipse.etrice.core.room.ui/META-INF/MANIFEST.MF
@@ -0,0 +1,21 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: ROOM DSL UI
+Bundle-Vendor: eTrice (Incubation)
+Bundle-Version: 0.1.0
+Bundle-SymbolicName: org.eclipse.etrice.core.room.ui;singleton:=true
+Bundle-ActivationPolicy: lazy
+Require-Bundle: org.eclipse.etrice.core.room;bundle-version="0.1.0";visibility:=reexport,
+ org.eclipse.etrice.generator;bundle-version="0.1.0",
+ org.eclipse.etrice.ui.structure;bundle-version="0.1.0",
+ org.eclipse.ui;bundle-version="3.6.0",
+ org.eclipse.ui.editors;bundle-version="3.5.0",
+ org.eclipse.ui.ide;bundle-version="3.5.0",
+ org.eclipse.xtext.ui;bundle-version="1.0.1",
+ org.eclipse.xtext.ui.shared;bundle-version="1.0.1",
+ org.eclipse.xtext.builder;bundle-version="1.0.1",
+ org.antlr.runtime;bundle-version="3.0.0"
+Import-Package: org.apache.log4j
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Export-Package: org.eclipse.etrice.core.ui.contentassist.antlr
+Bundle-Activator: org.eclipse.etrice.core.ui.internal.RoomActivator
diff --git a/plugins/org.eclipse.etrice.core.room.ui/about.html b/plugins/org.eclipse.etrice.core.room.ui/about.html
new file mode 100644
index 000000000..f47dbddbb
--- /dev/null
+++ b/plugins/org.eclipse.etrice.core.room.ui/about.html
@@ -0,0 +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>
+</html> \ No newline at end of file
diff --git a/plugins/org.eclipse.etrice.core.room.ui/build.properties b/plugins/org.eclipse.etrice.core.room.ui/build.properties
new file mode 100644
index 000000000..a0c7d1504
--- /dev/null
+++ b/plugins/org.eclipse.etrice.core.room.ui/build.properties
@@ -0,0 +1,6 @@
+source.. = src/,src-gen/
+bin.includes = META-INF/,\
+ .,\
+ plugin.xml,\
+ icons/
+
diff --git a/plugins/org.eclipse.etrice.core.room.ui/eTrice-rt.launch b/plugins/org.eclipse.etrice.core.room.ui/eTrice-rt.launch
new file mode 100644
index 000000000..cb038eaaa
--- /dev/null
+++ b/plugins/org.eclipse.etrice.core.room.ui/eTrice-rt.launch
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.pde.ui.RuntimeWorkbench">
+<booleanAttribute key="append.args" value="true"/>
+<booleanAttribute key="askclear" value="true"/>
+<booleanAttribute key="automaticAdd" value="true"/>
+<booleanAttribute key="automaticValidate" value="false"/>
+<stringAttribute key="bootstrap" value=""/>
+<stringAttribute key="checked" value="[NONE]"/>
+<booleanAttribute key="clearConfig" value="false"/>
+<booleanAttribute key="clearws" value="false"/>
+<booleanAttribute key="clearwslog" value="false"/>
+<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/eTrice-rt"/>
+<booleanAttribute key="default" value="true"/>
+<booleanAttribute key="includeOptional" value="true"/>
+<stringAttribute key="location" value="${workspace_loc}/../eTrice-rt"/>
+<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
+<listEntry value="org.eclipse.debug.ui.launchGroup.debug"/>
+</listAttribute>
+<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl}"/>
+<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Dosgi.requiredJavaVersion=1.5 -Xms40m -Xmx512m -XX:MaxPermSize=256m"/>
+<stringAttribute key="pde.version" value="3.3"/>
+<stringAttribute key="product" value="org.eclipse.platform.ide"/>
+<booleanAttribute key="show_selected_only" value="false"/>
+<stringAttribute key="templateConfig" value="${target_home}\configuration\config.ini"/>
+<booleanAttribute key="tracing" value="false"/>
+<booleanAttribute key="useCustomFeatures" value="false"/>
+<booleanAttribute key="useDefaultConfig" value="true"/>
+<booleanAttribute key="useDefaultConfigArea" value="true"/>
+<booleanAttribute key="useProduct" value="true"/>
+<booleanAttribute key="usefeatures" value="false"/>
+</launchConfiguration>
diff --git a/plugins/org.eclipse.etrice.core.room.ui/icons/ActorClass.gif b/plugins/org.eclipse.etrice.core.room.ui/icons/ActorClass.gif
new file mode 100644
index 000000000..ab2f7c013
--- /dev/null
+++ b/plugins/org.eclipse.etrice.core.room.ui/icons/ActorClass.gif
Binary files differ
diff --git a/plugins/org.eclipse.etrice.core.room.ui/icons/ActorRef.gif b/plugins/org.eclipse.etrice.core.room.ui/icons/ActorRef.gif
new file mode 100644
index 000000000..0612a135a
--- /dev/null
+++ b/plugins/org.eclipse.etrice.core.room.ui/icons/ActorRef.gif
Binary files differ
diff --git a/plugins/org.eclipse.etrice.core.room.ui/icons/ConjPort.gif b/plugins/org.eclipse.etrice.core.room.ui/icons/ConjPort.gif
new file mode 100644
index 000000000..3c21537de
--- /dev/null
+++ b/plugins/org.eclipse.etrice.core.room.ui/icons/ConjPort.gif
Binary files differ
diff --git a/plugins/org.eclipse.etrice.core.room.ui/icons/ConjRelayPort.gif b/plugins/org.eclipse.etrice.core.room.ui/icons/ConjRelayPort.gif
new file mode 100644
index 000000000..6293f9827
--- /dev/null
+++ b/plugins/org.eclipse.etrice.core.room.ui/icons/ConjRelayPort.gif
Binary files differ
diff --git a/plugins/org.eclipse.etrice.core.room.ui/icons/ConjReplPort.gif b/plugins/org.eclipse.etrice.core.room.ui/icons/ConjReplPort.gif
new file mode 100644
index 000000000..128111f1e
--- /dev/null
+++ b/plugins/org.eclipse.etrice.core.room.ui/icons/ConjReplPort.gif
Binary files differ
diff --git a/plugins/org.eclipse.etrice.core.room.ui/icons/ConjReplRelayPort.gif b/plugins/org.eclipse.etrice.core.room.ui/icons/ConjReplRelayPort.gif
new file mode 100644
index 000000000..636e40861
--- /dev/null
+++ b/plugins/org.eclipse.etrice.core.room.ui/icons/ConjReplRelayPort.gif
Binary files differ
diff --git a/plugins/org.eclipse.etrice.core.room.ui/icons/DataClass.gif b/plugins/org.eclipse.etrice.core.room.ui/icons/DataClass.gif
new file mode 100644
index 000000000..6c3df57bf
--- /dev/null
+++ b/plugins/org.eclipse.etrice.core.room.ui/icons/DataClass.gif
Binary files differ
diff --git a/plugins/org.eclipse.etrice.core.room.ui/icons/LogicalSystem.gif b/plugins/org.eclipse.etrice.core.room.ui/icons/LogicalSystem.gif
new file mode 100644
index 000000000..91618faa9
--- /dev/null
+++ b/plugins/org.eclipse.etrice.core.room.ui/icons/LogicalSystem.gif
Binary files differ
diff --git a/plugins/org.eclipse.etrice.core.room.ui/icons/Message.gif b/plugins/org.eclipse.etrice.core.room.ui/icons/Message.gif
new file mode 100644
index 000000000..064806d55
--- /dev/null
+++ b/plugins/org.eclipse.etrice.core.room.ui/icons/Message.gif
Binary files differ
diff --git a/plugins/org.eclipse.etrice.core.room.ui/icons/Operation.gif b/plugins/org.eclipse.etrice.core.room.ui/icons/Operation.gif
new file mode 100644
index 000000000..193a1e9f3
--- /dev/null
+++ b/plugins/org.eclipse.etrice.core.room.ui/icons/Operation.gif
Binary files differ
diff --git a/plugins/org.eclipse.etrice.core.room.ui/icons/Port.gif b/plugins/org.eclipse.etrice.core.room.ui/icons/Port.gif
new file mode 100644
index 000000000..d747901bb
--- /dev/null
+++ b/plugins/org.eclipse.etrice.core.room.ui/icons/Port.gif
Binary files differ
diff --git a/plugins/org.eclipse.etrice.core.room.ui/icons/ProtocolClass.gif b/plugins/org.eclipse.etrice.core.room.ui/icons/ProtocolClass.gif
new file mode 100644
index 000000000..655c2eee2
--- /dev/null
+++ b/plugins/org.eclipse.etrice.core.room.ui/icons/ProtocolClass.gif
Binary files differ
diff --git a/plugins/org.eclipse.etrice.core.room.ui/icons/RefinedState.gif b/plugins/org.eclipse.etrice.core.room.ui/icons/RefinedState.gif
new file mode 100644
index 000000000..27860139f
--- /dev/null
+++ b/plugins/org.eclipse.etrice.core.room.ui/icons/RefinedState.gif
Binary files differ
diff --git a/plugins/org.eclipse.etrice.core.room.ui/icons/RelayPort.gif b/plugins/org.eclipse.etrice.core.room.ui/icons/RelayPort.gif
new file mode 100644
index 000000000..0f2d60916
--- /dev/null
+++ b/plugins/org.eclipse.etrice.core.room.ui/icons/RelayPort.gif
Binary files differ
diff --git a/plugins/org.eclipse.etrice.core.room.ui/icons/ReplPort.gif b/plugins/org.eclipse.etrice.core.room.ui/icons/ReplPort.gif
new file mode 100644
index 000000000..67a23f8a3
--- /dev/null
+++ b/plugins/org.eclipse.etrice.core.room.ui/icons/ReplPort.gif
Binary files differ
diff --git a/plugins/org.eclipse.etrice.core.room.ui/icons/ReplRelayPort.gif b/plugins/org.eclipse.etrice.core.room.ui/icons/ReplRelayPort.gif
new file mode 100644
index 000000000..21f40354d
--- /dev/null
+++ b/plugins/org.eclipse.etrice.core.room.ui/icons/ReplRelayPort.gif
Binary files differ
diff --git a/plugins/org.eclipse.etrice.core.room.ui/icons/RoomModel.gif b/plugins/org.eclipse.etrice.core.room.ui/icons/RoomModel.gif
new file mode 100644
index 000000000..414613ba8
--- /dev/null
+++ b/plugins/org.eclipse.etrice.core.room.ui/icons/RoomModel.gif
Binary files differ
diff --git a/plugins/org.eclipse.etrice.core.room.ui/icons/RoomModelImport.gif b/plugins/org.eclipse.etrice.core.room.ui/icons/RoomModelImport.gif
new file mode 100644
index 000000000..dc8d7b36d
--- /dev/null
+++ b/plugins/org.eclipse.etrice.core.room.ui/icons/RoomModelImport.gif
Binary files differ
diff --git a/plugins/org.eclipse.etrice.core.room.ui/icons/SAP.gif b/plugins/org.eclipse.etrice.core.room.ui/icons/SAP.gif
new file mode 100644
index 000000000..a2f06152b
--- /dev/null
+++ b/plugins/org.eclipse.etrice.core.room.ui/icons/SAP.gif
Binary files differ
diff --git a/plugins/org.eclipse.etrice.core.room.ui/icons/SPP.gif b/plugins/org.eclipse.etrice.core.room.ui/icons/SPP.gif
new file mode 100644
index 000000000..9ee0fb14c
--- /dev/null
+++ b/plugins/org.eclipse.etrice.core.room.ui/icons/SPP.gif
Binary files differ
diff --git a/plugins/org.eclipse.etrice.core.room.ui/icons/ServiceImpl.gif b/plugins/org.eclipse.etrice.core.room.ui/icons/ServiceImpl.gif
new file mode 100644
index 000000000..91a2a0727
--- /dev/null
+++ b/plugins/org.eclipse.etrice.core.room.ui/icons/ServiceImpl.gif
Binary files differ
diff --git a/plugins/org.eclipse.etrice.core.room.ui/icons/State.gif b/plugins/org.eclipse.etrice.core.room.ui/icons/State.gif
new file mode 100644
index 000000000..4c98299d9
--- /dev/null
+++ b/plugins/org.eclipse.etrice.core.room.ui/icons/State.gif
Binary files differ
diff --git a/plugins/org.eclipse.etrice.core.room.ui/icons/SubSystemClass.gif b/plugins/org.eclipse.etrice.core.room.ui/icons/SubSystemClass.gif
new file mode 100644
index 000000000..aa5c18c71
--- /dev/null
+++ b/plugins/org.eclipse.etrice.core.room.ui/icons/SubSystemClass.gif
Binary files differ
diff --git a/plugins/org.eclipse.etrice.core.room.ui/icons/SubSystemRef.gif b/plugins/org.eclipse.etrice.core.room.ui/icons/SubSystemRef.gif
new file mode 100644
index 000000000..a4d2ef123
--- /dev/null
+++ b/plugins/org.eclipse.etrice.core.room.ui/icons/SubSystemRef.gif
Binary files differ
diff --git a/plugins/org.eclipse.etrice.core.room.ui/icons/Thumbs.db b/plugins/org.eclipse.etrice.core.room.ui/icons/Thumbs.db
new file mode 100644
index 000000000..cb0f7f3d0
--- /dev/null
+++ b/plugins/org.eclipse.etrice.core.room.ui/icons/Thumbs.db
Binary files differ
diff --git a/plugins/org.eclipse.etrice.core.room.ui/icons/etrice.ico b/plugins/org.eclipse.etrice.core.room.ui/icons/etrice.ico
new file mode 100644
index 000000000..3b718314f
--- /dev/null
+++ b/plugins/org.eclipse.etrice.core.room.ui/icons/etrice.ico
Binary files differ
diff --git a/plugins/org.eclipse.etrice.core.room.ui/icons/etrice16.ico b/plugins/org.eclipse.etrice.core.room.ui/icons/etrice16.ico
new file mode 100644
index 000000000..22531ba80
--- /dev/null
+++ b/plugins/org.eclipse.etrice.core.room.ui/icons/etrice16.ico
Binary files differ
diff --git a/plugins/org.eclipse.etrice.core.room.ui/icons/etrice_doc16.ico b/plugins/org.eclipse.etrice.core.room.ui/icons/etrice_doc16.ico
new file mode 100644
index 000000000..5d95187c6
--- /dev/null
+++ b/plugins/org.eclipse.etrice.core.room.ui/icons/etrice_doc16.ico
Binary files differ
diff --git a/plugins/org.eclipse.etrice.core.room.ui/plugin.xml b/plugins/org.eclipse.etrice.core.room.ui/plugin.xml
new file mode 100644
index 000000000..29658c681
--- /dev/null
+++ b/plugins/org.eclipse.etrice.core.room.ui/plugin.xml
@@ -0,0 +1,244 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<plugin>
+
+ <extension
+ point="org.eclipse.ui.editors">
+ <editor
+ class="org.eclipse.etrice.core.ui.RoomExecutableExtensionFactory:org.eclipse.xtext.ui.editor.XtextEditor"
+ contributorClass="org.eclipse.ui.editors.text.TextEditorActionContributor"
+ default="true"
+ extensions="room"
+ icon="icons/etrice_doc16.ico"
+ id="org.eclipse.etrice.core.Room"
+ name="Room Editor">
+ </editor>
+ </extension>
+ <extension
+ point="org.eclipse.ui.handlers">
+ <handler
+ class="org.eclipse.etrice.core.ui.RoomExecutableExtensionFactory:org.eclipse.xtext.ui.editor.hyperlinking.OpenDeclarationHandler"
+ commandId="org.eclipse.xtext.ui.editor.hyperlinking.OpenDeclaration">
+ <activeWhen>
+ <reference
+ definitionId="org.eclipse.etrice.core.Room.Editor.opened">
+ </reference>
+ </activeWhen>
+ </handler>
+ <handler
+ class="org.eclipse.etrice.core.ui.RoomExecutableExtensionFactory:org.eclipse.xtext.ui.editor.handler.ValidateActionHandler"
+ commandId="org.eclipse.etrice.core.Room.validate">
+ <activeWhen>
+ <reference
+ definitionId="org.eclipse.etrice.core.Room.Editor.opened">
+ </reference>
+ </activeWhen>
+ </handler>
+ </extension>
+ <extension point="org.eclipse.core.expressions.definitions">
+ <definition id="org.eclipse.etrice.core.Room.Editor.opened">
+ <and>
+ <reference definitionId="isActiveEditorAnInstanceOfXtextEditor"/>
+ <with variable="activeEditor">
+ <test property="org.eclipse.xtext.ui.editor.XtextEditor.languageName"
+ value="org.eclipse.etrice.core.Room"
+ forcePluginActivation="true"/>
+ </with>
+ </and>
+ </definition>
+ </extension>
+ <extension
+ point="org.eclipse.ui.preferencePages">
+ <page
+ class="org.eclipse.etrice.core.ui.RoomExecutableExtensionFactory:org.eclipse.xtext.ui.editor.preferences.LanguageRootPreferencePage"
+ id="org.eclipse.etrice.core.Room"
+ name="Room">
+ <keywordReference id="org.eclipse.etrice.core.ui.keyword_Room"/>
+ </page>
+ <page
+ category="org.eclipse.etrice.core.Room"
+ class="org.eclipse.etrice.core.ui.RoomExecutableExtensionFactory:org.eclipse.xtext.ui.editor.syntaxcoloring.SyntaxColoringPreferencePage"
+ id="org.eclipse.etrice.core.Room.coloring"
+ name="Syntax Coloring">
+ <keywordReference id="org.eclipse.etrice.core.ui.keyword_Room"/>
+ </page>
+ <page
+ category="org.eclipse.etrice.core.Room"
+ class="org.eclipse.etrice.core.ui.RoomExecutableExtensionFactory:org.eclipse.xtext.ui.editor.templates.XtextTemplatePreferencePage"
+ id="org.eclipse.etrice.core.Room.templates"
+ name="Templates">
+ <keywordReference id="org.eclipse.etrice.core.ui.keyword_Room"/>
+ </page>
+ </extension>
+ <extension
+ point="org.eclipse.ui.keywords">
+ <keyword
+ id="org.eclipse.etrice.core.ui.keyword_Room"
+ label="Room"/>
+ </extension>
+ <extension
+ point="org.eclipse.ui.commands">
+ <command
+ description="Trigger expensive validation"
+ id="org.eclipse.etrice.core.Room.validate"
+ name="Validate">
+ </command>
+ <command
+ description="open this ActorClass&apos;s structure as diagram"
+ id="org.eclipse.etrice.core.room.ui.editStructure"
+ name="Edit Structure">
+ </command>
+ <command
+ description="open this ActorClass&apos;s state machine as diagram"
+ id="org.eclipse.etrice.core.room.ui.editStateMachine"
+ name="Edit StateMachine">
+ </command>
+ </extension>
+ <extension point="org.eclipse.ui.menus">
+ <menuContribution
+ locationURI="popup:#TextEditorContext?after=group.edit">
+ <command
+ commandId="org.eclipse.etrice.core.Room.validate"
+ style="push"
+ tooltip="Trigger expensive validation">
+ <visibleWhen checkEnabled="false">
+ <reference
+ definitionId="org.eclipse.etrice.core.Room.Editor.opened">
+ </reference>
+ </visibleWhen>
+ </command>
+ </menuContribution>
+ </extension>
+ <extension point="org.eclipse.ui.menus">
+ <menuContribution locationURI="popup:#TextEditorContext?endof=group.find">
+ <command commandId="org.eclipse.xtext.ui.editor.FindReferences">
+ <visibleWhen checkEnabled="false">
+ <reference definitionId="org.eclipse.etrice.core.Room.Editor.opened">
+ </reference>
+ </visibleWhen>
+ </command>
+ </menuContribution>
+ </extension>
+ <extension point="org.eclipse.ui.handlers">
+ <handler
+ class="org.eclipse.etrice.core.ui.RoomExecutableExtensionFactory:org.eclipse.xtext.ui.editor.findrefs.FindReferencesHandler"
+ commandId="org.eclipse.xtext.ui.editor.FindReferences">
+ <activeWhen>
+ <reference
+ definitionId="org.eclipse.etrice.core.Room.Editor.opened">
+ </reference>
+ </activeWhen>
+ </handler>
+ </extension>
+
+<!-- adding resource factories -->
+
+ <extension
+ point="org.eclipse.emf.ecore.extension_parser">
+ <parser
+ class="org.eclipse.etrice.core.ui.RoomExecutableExtensionFactory:org.eclipse.xtext.resource.IResourceFactory"
+ type="room">
+ </parser>
+ </extension>
+ <extension point="org.eclipse.xtext.extension_resourceServiceProvider">
+ <resourceServiceProvider
+ class="org.eclipse.etrice.core.ui.RoomExecutableExtensionFactory:org.eclipse.xtext.ui.resource.IResourceUIServiceProvider"
+ uriExtension="room">
+ </resourceServiceProvider>
+ </extension>
+
+
+
+
+ <!-- Quick Outline -->
+ <extension
+ point="org.eclipse.ui.handlers">
+ <handler
+ class="org.eclipse.etrice.core.ui.RoomExecutableExtensionFactory:org.eclipse.xtext.ui.editor.outline.quickoutline.ShowQuickOutlineActionHandler"
+ commandId="org.eclipse.xtext.ui.editor.outline.QuickOutline">
+ <activeWhen>
+ <reference
+ definitionId="org.eclipse.etrice.core.Room.Editor.opened">
+ </reference>
+ </activeWhen>
+ </handler>
+ <handler
+ class="org.eclipse.etrice.core.ui.outline.EditStateMachineHandler"
+ commandId="org.eclipse.etrice.core.room.ui.editStateMachine">
+ </handler>
+ <handler
+ class="org.eclipse.etrice.core.ui.outline.EditStructureHandler"
+ commandId="org.eclipse.etrice.core.room.ui.editStructure">
+ </handler>
+ </extension>
+ <extension
+ point="org.eclipse.ui.commands">
+ <command
+ description="Open the quick outline."
+ id="org.eclipse.xtext.ui.editor.outline.QuickOutline"
+ name="Quick Outline">
+ </command>
+ </extension>
+ <extension point="org.eclipse.ui.menus">
+ <menuContribution
+ locationURI="popup:#TextEditorContext?after=group.open">
+ <command commandId="org.eclipse.xtext.ui.editor.outline.QuickOutline"
+ style="push"
+ tooltip="Open Quick Outline">
+ <visibleWhen checkEnabled="false">
+ <reference definitionId="org.eclipse.etrice.core.Room.Editor.opened"/>
+ </visibleWhen>
+ </command>
+ </menuContribution>
+ <menuContribution
+ allPopups="false"
+ locationURI="popup:org.eclipse.xtext.ui.outline?after=additions">
+ <command
+ commandId="org.eclipse.etrice.core.room.ui.editStateMachine"
+ label="Edit StateMachine"
+ style="push">
+ <visibleWhen
+ checkEnabled="false">
+ <iterate>
+ <adapt
+ type="org.eclipse.etrice.core.room.ActorClass">
+ </adapt>
+ </iterate>
+ </visibleWhen>
+ </command>
+ </menuContribution>
+ <menuContribution
+ allPopups="false"
+ locationURI="popup:org.eclipse.xtext.ui.outline?after=additions">
+ <command
+ commandId="org.eclipse.etrice.core.room.ui.editStructure"
+ label="Edit Structure"
+ style="push">
+ <visibleWhen>
+ <iterate operator="and" ifEmpty="false">
+ <or>
+ <adapt
+ type="org.eclipse.etrice.core.room.ActorClass">
+ </adapt>
+ <adapt
+ type="org.eclipse.etrice.core.room.SubSystemClass">
+ </adapt>
+ <adapt
+ type="org.eclipse.etrice.core.room.LogicalSystem">
+ </adapt>
+ </or>
+ </iterate>
+ </visibleWhen>
+ </command>
+ </menuContribution>
+ </extension>
+ <!-- quickfix marker resolution generator -->
+ <extension
+ point="org.eclipse.ui.ide.markerResolution">
+ <markerResolutionGenerator
+ class="org.eclipse.etrice.core.ui.RoomExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator">
+ </markerResolutionGenerator>
+ </extension>
+
+</plugin>
diff --git a/plugins/org.eclipse.etrice.core.room.ui/plugin.xml_gen b/plugins/org.eclipse.etrice.core.room.ui/plugin.xml_gen
new file mode 100644
index 000000000..19edeeef8
--- /dev/null
+++ b/plugins/org.eclipse.etrice.core.room.ui/plugin.xml_gen
@@ -0,0 +1,184 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<plugin>
+
+ <extension
+ point="org.eclipse.ui.editors">
+ <editor
+ class="org.eclipse.etrice.core.ui.RoomExecutableExtensionFactory:org.eclipse.xtext.ui.editor.XtextEditor"
+ contributorClass="org.eclipse.ui.editors.text.TextEditorActionContributor"
+ default="true"
+ extensions="room"
+ id="org.eclipse.etrice.core.Room"
+ name="Room Editor">
+ </editor>
+ </extension>
+ <extension
+ point="org.eclipse.ui.handlers">
+ <handler
+ class="org.eclipse.etrice.core.ui.RoomExecutableExtensionFactory:org.eclipse.xtext.ui.editor.hyperlinking.OpenDeclarationHandler"
+ commandId="org.eclipse.xtext.ui.editor.hyperlinking.OpenDeclaration">
+ <activeWhen>
+ <reference
+ definitionId="org.eclipse.etrice.core.Room.Editor.opened">
+ </reference>
+ </activeWhen>
+ </handler>
+ <handler
+ class="org.eclipse.etrice.core.ui.RoomExecutableExtensionFactory:org.eclipse.xtext.ui.editor.handler.ValidateActionHandler"
+ commandId="org.eclipse.etrice.core.Room.validate">
+ <activeWhen>
+ <reference
+ definitionId="org.eclipse.etrice.core.Room.Editor.opened">
+ </reference>
+ </activeWhen>
+ </handler>
+ </extension>
+ <extension point="org.eclipse.core.expressions.definitions">
+ <definition id="org.eclipse.etrice.core.Room.Editor.opened">
+ <and>
+ <reference definitionId="isActiveEditorAnInstanceOfXtextEditor"/>
+ <with variable="activeEditor">
+ <test property="org.eclipse.xtext.ui.editor.XtextEditor.languageName"
+ value="org.eclipse.etrice.core.Room"
+ forcePluginActivation="true"/>
+ </with>
+ </and>
+ </definition>
+ </extension>
+ <extension
+ point="org.eclipse.ui.preferencePages">
+ <page
+ class="org.eclipse.etrice.core.ui.RoomExecutableExtensionFactory:org.eclipse.xtext.ui.editor.preferences.LanguageRootPreferencePage"
+ id="org.eclipse.etrice.core.Room"
+ name="Room">
+ <keywordReference id="org.eclipse.etrice.core.ui.keyword_Room"/>
+ </page>
+ <page
+ category="org.eclipse.etrice.core.Room"
+ class="org.eclipse.etrice.core.ui.RoomExecutableExtensionFactory:org.eclipse.xtext.ui.editor.syntaxcoloring.SyntaxColoringPreferencePage"
+ id="org.eclipse.etrice.core.Room.coloring"
+ name="Syntax Coloring">
+ <keywordReference id="org.eclipse.etrice.core.ui.keyword_Room"/>
+ </page>
+ <page
+ category="org.eclipse.etrice.core.Room"
+ class="org.eclipse.etrice.core.ui.RoomExecutableExtensionFactory:org.eclipse.xtext.ui.editor.templates.XtextTemplatePreferencePage"
+ id="org.eclipse.etrice.core.Room.templates"
+ name="Templates">
+ <keywordReference id="org.eclipse.etrice.core.ui.keyword_Room"/>
+ </page>
+ </extension>
+ <extension
+ point="org.eclipse.ui.keywords">
+ <keyword
+ id="org.eclipse.etrice.core.ui.keyword_Room"
+ label="Room"/>
+ </extension>
+ <extension
+ point="org.eclipse.ui.commands">
+ <command
+ description="Trigger expensive validation"
+ id="org.eclipse.etrice.core.Room.validate"
+ name="Validate">
+ </command>
+ </extension>
+ <extension point="org.eclipse.ui.menus">
+ <menuContribution
+ locationURI="popup:#TextEditorContext?after=group.edit">
+ <command
+ commandId="org.eclipse.etrice.core.Room.validate"
+ style="push"
+ tooltip="Trigger expensive validation">
+ <visibleWhen checkEnabled="false">
+ <reference
+ definitionId="org.eclipse.etrice.core.Room.Editor.opened">
+ </reference>
+ </visibleWhen>
+ </command>
+ </menuContribution>
+ </extension>
+ <extension point="org.eclipse.ui.menus">
+ <menuContribution locationURI="popup:#TextEditorContext?endof=group.find">
+ <command commandId="org.eclipse.xtext.ui.editor.FindReferences">
+ <visibleWhen checkEnabled="false">
+ <reference definitionId="org.eclipse.etrice.core.Room.Editor.opened">
+ </reference>
+ </visibleWhen>
+ </command>
+ </menuContribution>
+ </extension>
+ <extension point="org.eclipse.ui.handlers">
+ <handler
+ class="org.eclipse.etrice.core.ui.RoomExecutableExtensionFactory:org.eclipse.xtext.ui.editor.findrefs.FindReferencesHandler"
+ commandId="org.eclipse.xtext.ui.editor.FindReferences">
+ <activeWhen>
+ <reference
+ definitionId="org.eclipse.etrice.core.Room.Editor.opened">
+ </reference>
+ </activeWhen>
+ </handler>
+ </extension>
+
+<!-- adding resource factories -->
+
+ <extension
+ point="org.eclipse.emf.ecore.extension_parser">
+ <parser
+ class="org.eclipse.etrice.core.ui.RoomExecutableExtensionFactory:org.eclipse.xtext.resource.IResourceFactory"
+ type="room">
+ </parser>
+ </extension>
+ <extension point="org.eclipse.xtext.extension_resourceServiceProvider">
+ <resourceServiceProvider
+ class="org.eclipse.etrice.core.ui.RoomExecutableExtensionFactory:org.eclipse.xtext.ui.resource.IResourceUIServiceProvider"
+ uriExtension="room">
+ </resourceServiceProvider>
+ </extension>
+
+
+
+
+ <!-- Quick Outline -->
+ <extension
+ point="org.eclipse.ui.handlers">
+ <handler
+ class="org.eclipse.etrice.core.ui.RoomExecutableExtensionFactory:org.eclipse.xtext.ui.editor.outline.quickoutline.ShowQuickOutlineActionHandler"
+ commandId="org.eclipse.xtext.ui.editor.outline.QuickOutline">
+ <activeWhen>
+ <reference
+ definitionId="org.eclipse.etrice.core.Room.Editor.opened">
+ </reference>
+ </activeWhen>
+ </handler>
+ </extension>
+ <extension
+ point="org.eclipse.ui.commands">
+ <command
+ description="Open the quick outline."
+ id="org.eclipse.xtext.ui.editor.outline.QuickOutline"
+ name="Quick Outline">
+ </command>
+ </extension>
+ <extension point="org.eclipse.ui.menus">
+ <menuContribution
+ locationURI="popup:#TextEditorContext?after=group.open">
+ <command commandId="org.eclipse.xtext.ui.editor.outline.QuickOutline"
+ style="push"
+ tooltip="Open Quick Outline">
+ <visibleWhen checkEnabled="false">
+ <reference definitionId="org.eclipse.etrice.core.Room.Editor.opened"/>
+ </visibleWhen>
+ </command>
+ </menuContribution>
+ </extension>
+ <!-- quickfix marker resolution generator -->
+ <extension
+ point="org.eclipse.ui.ide.markerResolution">
+ <markerResolutionGenerator
+ class="org.eclipse.etrice.core.ui.RoomExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator">
+ </markerResolutionGenerator>
+ </extension>
+
+</plugin>
diff --git a/plugins/org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/AbstractRoomUiModule.java b/plugins/org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/AbstractRoomUiModule.java
new file mode 100644
index 000000000..015799d76
--- /dev/null
+++ b/plugins/org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/AbstractRoomUiModule.java
@@ -0,0 +1,127 @@
+
+/*
+ * generated by Xtext
+ */
+package org.eclipse.etrice.core.ui;
+
+import org.eclipse.xtext.ui.DefaultUiModule;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+
+/**
+ * Manual modifications go to {org.eclipse.etrice.core.ui.RoomUiModule}
+ */
+@SuppressWarnings("all")
+public abstract class AbstractRoomUiModule extends DefaultUiModule {
+
+ public AbstractRoomUiModule(AbstractUIPlugin plugin) {
+ super(plugin);
+ }
+
+
+ // contributed by org.eclipse.xtext.ui.generator.ImplicitUiFragment
+ public com.google.inject.Provider<org.eclipse.xtext.resource.containers.IAllContainersState> provideIAllContainersState() {
+ return org.eclipse.xtext.ui.shared.Access.getJavaProjectsState();
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
+ public Class<? extends org.eclipse.jface.text.rules.ITokenScanner> bindITokenScanner() {
+ return org.eclipse.xtext.ui.editor.syntaxcoloring.antlr.AntlrTokenScanner.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
+ public Class<? extends org.eclipse.xtext.ui.editor.contentassist.IProposalConflictHelper> bindIProposalConflictHelper() {
+ return org.eclipse.xtext.ui.editor.contentassist.antlr.AntlrProposalConflictHelper.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
+ public Class<? extends org.eclipse.xtext.ui.editor.IDamagerRepairer> bindIDamagerRepairer() {
+ return org.eclipse.xtext.ui.editor.FastDamagerRepairer.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
+ public void configureHighlightingLexer(com.google.inject.Binder binder) {
+ binder.bind(org.eclipse.xtext.parser.antlr.Lexer.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.ui.LexerUIBindings.HIGHLIGHTING)).to(org.eclipse.etrice.core.parser.antlr.internal.InternalRoomLexer.class);
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
+ public void configureHighlightingTokenDefProvider(com.google.inject.Binder binder) {
+ binder.bind(org.eclipse.xtext.parser.antlr.ITokenDefProvider.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.ui.LexerUIBindings.HIGHLIGHTING)).to(org.eclipse.xtext.parser.antlr.AntlrTokenDefProvider.class);
+ }
+
+ // contributed by org.eclipse.xtext.generator.exporting.QualifiedNamesFragment
+ public Class<? extends org.eclipse.xtext.ui.editor.contentassist.PrefixMatcher> bindPrefixMatcher() {
+ return org.eclipse.xtext.ui.editor.contentassist.FQNPrefixMatcher.class;
+ }
+
+ // contributed by org.eclipse.xtext.ui.generator.labeling.LabelProviderFragment
+ public Class<? extends org.eclipse.jface.viewers.ILabelProvider> bindILabelProvider() {
+ return org.eclipse.etrice.core.ui.labeling.RoomLabelProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.ui.generator.labeling.LabelProviderFragment
+ public void configureResourceUIServiceLabelProvider(com.google.inject.Binder binder) {
+ binder.bind(org.eclipse.jface.viewers.ILabelProvider.class).annotatedWith(org.eclipse.xtext.ui.resource.ResourceServiceDescriptionLabelProvider.class).to(org.eclipse.etrice.core.ui.labeling.RoomDescriptionLabelProvider.class);
+ }
+
+ // contributed by org.eclipse.xtext.ui.generator.outline.TransformerFragment
+ public Class<? extends org.eclipse.xtext.ui.editor.outline.transformer.ISemanticModelTransformer> bindISemanticModelTransformer() {
+ return org.eclipse.etrice.core.ui.outline.RoomTransformer.class;
+ }
+
+ // contributed by org.eclipse.xtext.ui.generator.outline.OutlineNodeAdapterFactoryFragment
+ public Class<? extends org.eclipse.xtext.ui.editor.outline.actions.IContentOutlineNodeAdapterFactory> bindIContentOutlineNodeAdapterFactory() {
+ return org.eclipse.etrice.core.ui.outline.RoomOutlineNodeAdapterFactory.class;
+ }
+
+ // contributed by org.eclipse.xtext.ui.generator.contentAssist.JavaBasedContentAssistFragment
+ public Class<? extends org.eclipse.xtext.ui.editor.contentassist.IContentProposalProvider> bindIContentProposalProvider() {
+ return org.eclipse.etrice.core.ui.contentassist.RoomProposalProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrUiGeneratorFragment
+ public Class<? extends org.eclipse.xtext.ui.editor.contentassist.ContentAssistContext.Factory> bindContentAssistContext$Factory() {
+ return org.eclipse.xtext.ui.editor.contentassist.antlr.ParserBasedContentAssistContextFactory.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrUiGeneratorFragment
+ public Class<? extends org.eclipse.xtext.ui.editor.contentassist.antlr.IContentAssistParser> bindIContentAssistParser() {
+ return org.eclipse.etrice.core.ui.contentassist.antlr.RoomParser.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrUiGeneratorFragment
+ public void configureContentAssistLexerProvider(com.google.inject.Binder binder) {
+ binder.bind(org.eclipse.etrice.core.ui.contentassist.antlr.internal.InternalRoomLexer.class).toProvider(org.eclipse.xtext.parser.antlr.LexerProvider.create(org.eclipse.etrice.core.ui.contentassist.antlr.internal.InternalRoomLexer.class));
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrUiGeneratorFragment
+ public void configureContentAssistLexer(com.google.inject.Binder binder) {
+ binder.bind(org.eclipse.xtext.ui.editor.contentassist.antlr.internal.Lexer.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.ui.LexerUIBindings.CONTENT_ASSIST)).to(org.eclipse.etrice.core.ui.contentassist.antlr.internal.InternalRoomLexer.class);
+ }
+
+ // contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment
+ public void configureIResourceDescriptionsBuilderScope(com.google.inject.Binder binder) {
+ binder.bind(org.eclipse.xtext.resource.IResourceDescriptions.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.scoping.impl.AbstractGlobalScopeProvider.NAMED_BUILDER_SCOPE)).to(org.eclipse.xtext.builder.builderState.ShadowingResourceDescriptions.class);
+ }
+
+ // contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment
+ public Class<? extends org.eclipse.xtext.ui.editor.IXtextEditorCallback> bindIXtextEditorCallback() {
+ return org.eclipse.xtext.builder.nature.NatureAddingEditorCallback.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment
+ public void configureIResourceDescriptionsPersisted(com.google.inject.Binder binder) {
+ binder.bind(org.eclipse.xtext.resource.IResourceDescriptions.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.builder.impl.PersistentDataAwareDirtyResource.PERSISTED_DESCRIPTIONS)).to(org.eclipse.xtext.builder.builderState.IBuilderState.class);
+ }
+
+ // contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment
+ public Class<? extends org.eclipse.xtext.ui.editor.DocumentBasedDirtyResource> bindDocumentBasedDirtyResource() {
+ return org.eclipse.xtext.builder.impl.PersistentDataAwareDirtyResource.class;
+ }
+
+ // contributed by org.eclipse.xtext.ui.generator.quickfix.QuickfixProviderFragment
+ public Class<? extends org.eclipse.xtext.ui.editor.quickfix.IssueResolutionProvider> bindIssueResolutionProvider() {
+ return org.eclipse.etrice.core.ui.quickfix.RoomQuickfixProvider.class;
+ }
+
+
+}
diff --git a/plugins/org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/RoomExecutableExtensionFactory.java b/plugins/org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/RoomExecutableExtensionFactory.java
new file mode 100644
index 000000000..2c5961698
--- /dev/null
+++ b/plugins/org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/RoomExecutableExtensionFactory.java
@@ -0,0 +1,28 @@
+
+/*
+ * generated by Xtext
+ */
+
+package org.eclipse.etrice.core.ui;
+
+import org.eclipse.xtext.ui.guice.AbstractGuiceAwareExecutableExtensionFactory;
+import org.osgi.framework.Bundle;
+
+import com.google.inject.Injector;
+
+/**
+ *@generated
+ */
+public class RoomExecutableExtensionFactory extends AbstractGuiceAwareExecutableExtensionFactory {
+
+ @Override
+ protected Bundle getBundle() {
+ return org.eclipse.etrice.core.ui.internal.RoomActivator.getInstance().getBundle();
+ }
+
+ @Override
+ protected Injector getInjector() {
+ return org.eclipse.etrice.core.ui.internal.RoomActivator.getInstance().getInjector("org.eclipse.etrice.core.Room");
+ }
+
+}
diff --git a/plugins/org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/AbstractRoomProposalProvider.java b/plugins/org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/AbstractRoomProposalProvider.java
new file mode 100644
index 000000000..46d4e780f
--- /dev/null
+++ b/plugins/org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/AbstractRoomProposalProvider.java
@@ -0,0 +1,696 @@
+/*
+* generated by Xtext
+*/
+package org.eclipse.etrice.core.ui.contentassist;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.xtext.*;
+import org.eclipse.xtext.common.ui.contentassist.TerminalsProposalProvider;
+import org.eclipse.xtext.ui.editor.contentassist.ICompletionProposalAcceptor;
+import org.eclipse.xtext.ui.editor.contentassist.ContentAssistContext;
+
+/**
+ * Represents a generated, default implementation of interface {@link IProposalProvider}.
+ * Methods are dynamically dispatched on the first parameter, i.e., you can override them
+ * with a more concrete subtype.
+ */
+@SuppressWarnings("all")
+public class AbstractRoomProposalProvider extends TerminalsProposalProvider {
+
+ public void completeRoomModel_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeRoomModel_Imports(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeRoomModel_DataClasses(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeRoomModel_ProtocolClasses(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeRoomModel_ActorClasses(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeRoomModel_SubSystemClasses(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeRoomModel_Systems(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeTypedID_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeTypedID_Type(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeFreeTypedID_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeFreeTypedID_Type(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeType_Prim(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeType_Type(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeFreeType_Prim(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeFreeType_Type(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeDataClass_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeDataClass_Base(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeDataClass_Imports(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeDataClass_Attributes(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeDataClass_Operations(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeAttribute_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeAttribute_Size(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeAttribute_Type(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeOperation_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeOperation_Arguments(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeOperation_Returntype(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeOperation_DetailCode(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeProtocolClass_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeProtocolClass_Base(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeProtocolClass_UserCode1(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeProtocolClass_UserCode2(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeProtocolClass_IncomingMessages(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeProtocolClass_OutgoingMessages(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeProtocolClass_Regular(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeProtocolClass_Conjugate(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeProtocolClass_Semantics(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeMessage_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeMessage_Arguments(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completePortClass_UserCode(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completePortClass_Attributes(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completePortClass_Operations(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completePortClass_MsgHandlers(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeMessageHandler_Msg(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeMessageHandler_DetailCode(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeProtocolSemantics_Rules(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeSemanticsInRule_Msg(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeSemanticsInRule_FollowUps(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeSemanticsOutRule_Msg(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeSemanticsOutRule_FollowUps(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeActorClass_Abstract(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void completeActorClass_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeActorClass_Base(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeActorClass_IfPorts(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeActorClass_IfSPPs(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeActorClass_UserCode1(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeActorClass_UserCode2(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeActorClass_IntPorts(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeActorClass_ExtPorts(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeActorClass_ServiceImplementations(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeActorClass_StrSAPs(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeActorClass_Attributes(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeActorClass_ActorRefs(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeActorClass_Bindings(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeActorClass_Connections(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeActorClass_Operations(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeActorClass_StateMachine(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completePort_Conjugated(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void completePort_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completePort_Multiplicity(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completePort_Protocol(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeExternalPort_Ifport(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeSAPRef_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeSAPRef_Protocol(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeSPPRef_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeSPPRef_Protocol(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeServiceImplementation_Spp(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeLogicalSystem_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeLogicalSystem_SubSystems(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeLogicalSystem_Bindings(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeLogicalSystem_Connections(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeSubSystemRef_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeSubSystemRef_Type(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeSubSystemClass_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeSubSystemClass_RelayPorts(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeSubSystemClass_IfSPPs(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeSubSystemClass_ActorRefs(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeSubSystemClass_Bindings(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeSubSystemClass_Connections(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeSubSystemClass_Threads(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeLogicalThread_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeLogicalThread_Instances(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeActorInstancePath_Segments(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeBinding_Endpoint1(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeBinding_Endpoint2(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeBindingEndPoint_ActorRef(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeBindingEndPoint_Port(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeLayerConnection_From(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeLayerConnection_To(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeRefSAPoint_Ref(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeRelaySAPoint_Relay(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeSPPoint_Ref(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeSPPoint_Service(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeActorRef_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeActorRef_Type(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeStateGraph_States(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeStateGraph_TrPoints(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeStateGraph_ChPoints(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeStateGraph_Transitions(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeStateMachine_States(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeStateMachine_TrPoints(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeStateMachine_ChPoints(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeStateMachine_Transitions(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeBaseState_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeBaseState_EntryCode(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeBaseState_ExitCode(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeBaseState_Subgraph(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeRefinedState_Base(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeRefinedState_EntryCode(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeRefinedState_ExitCode(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeRefinedState_Subgraph(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeDetailCode_Commands(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeTransitionPoint_Handler(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void completeTransitionPoint_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeEntryPoint_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeExitPoint_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeChoicePoint_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeInitialTransition_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeInitialTransition_To(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeInitialTransition_Action(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeContinuationTransition_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeContinuationTransition_From(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeContinuationTransition_To(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeContinuationTransition_Action(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeTriggeredTransition_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeTriggeredTransition_From(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeTriggeredTransition_To(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeTriggeredTransition_Triggers(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeTriggeredTransition_Action(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeCPBranchTransition_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeCPBranchTransition_From(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeCPBranchTransition_To(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeCPBranchTransition_Condition(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeCPBranchTransition_Action(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeStateTerminal_State(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeTrPointTerminal_TrPoint(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeSubStateTrPointTerminal_TrPoint(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeSubStateTrPointTerminal_State(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeChoicepointTerminal_Cp(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeTrigger_MsgFromIfPairs(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeTrigger_Guard(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeMessageFromIf_Message(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeMessageFromIf_From(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeGuard_Guard(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeImport_ImportedNamespace(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+
+ public void complete_RoomModel(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_RoomClass(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_StructureClass(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_ActorContainerClass(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_PrimitiveType(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_TypedID(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_FreeTypedID(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_Type(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_FreeType(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_DataClass(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_Attribute(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_Operation(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_ProtocolClass(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_Message(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_PortClass(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_MessageHandler(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_ProtocolSemantics(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_SemanticsRule(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_SemanticsInRule(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_SemanticsOutRule(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_ActorClass(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_InterfaceItem(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_Port(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_ExternalPort(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_SAPRef(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_SPPRef(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_ServiceImplementation(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_LogicalSystem(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_ActorContainerRef(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_SubSystemRef(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_SubSystemClass(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_LogicalThread(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_ActorInstancePath(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_Binding(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_BindingEndPoint(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_LayerConnection(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_SAPoint(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_RefSAPoint(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_RelaySAPoint(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_SPPoint(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_ActorRef(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_StateGraphNode(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_StateGraphItem(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_State(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_StateGraph(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_StateMachine(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_BaseState(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_RefinedState(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_DetailCode(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_TrPoint(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_TransitionPoint(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_EntryPoint(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_ExitPoint(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_ChoicePoint(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_Transition(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_NonInitialTransition(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_InitialTransition(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_ContinuationTransition(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_TriggeredTransition(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_CPBranchTransition(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_TransitionTerminal(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_StateTerminal(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_TrPointTerminal(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_SubStateTrPointTerminal(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_ChoicepointTerminal(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_Trigger(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_MessageFromIf(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_Guard(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_Import(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_ImportedFQN(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_FQN(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+}
diff --git a/plugins/org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/RoomParser.java b/plugins/org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/RoomParser.java
new file mode 100644
index 000000000..f213e117a
--- /dev/null
+++ b/plugins/org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/RoomParser.java
@@ -0,0 +1,341 @@
+/*
+* generated by Xtext
+*/
+package org.eclipse.etrice.core.ui.contentassist.antlr;
+
+import java.util.Collection;
+import java.util.Map;
+import java.util.HashMap;
+
+import org.antlr.runtime.RecognitionException;
+import org.eclipse.xtext.AbstractElement;
+import org.eclipse.xtext.ui.editor.contentassist.antlr.AbstractContentAssistParser;
+import org.eclipse.xtext.ui.editor.contentassist.antlr.FollowElement;
+import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser;
+
+import com.google.inject.Inject;
+
+import org.eclipse.etrice.core.services.RoomGrammarAccess;
+
+public class RoomParser extends AbstractContentAssistParser {
+
+ @Inject
+ private RoomGrammarAccess grammarAccess;
+
+ private Map<AbstractElement, String> nameMappings;
+
+ @Override
+ protected org.eclipse.etrice.core.ui.contentassist.antlr.internal.InternalRoomParser createParser() {
+ org.eclipse.etrice.core.ui.contentassist.antlr.internal.InternalRoomParser result = new org.eclipse.etrice.core.ui.contentassist.antlr.internal.InternalRoomParser(null);
+ result.setGrammarAccess(grammarAccess);
+ return result;
+ }
+
+ @Override
+ protected String getRuleName(AbstractElement element) {
+ if (nameMappings == null) {
+ nameMappings = new HashMap<AbstractElement, String>() {
+ private static final long serialVersionUID = 1L;
+ {
+ put(grammarAccess.getRoomModelAccess().getAlternatives_4(), "rule__RoomModel__Alternatives_4");
+ put(grammarAccess.getRoomClassAccess().getAlternatives(), "rule__RoomClass__Alternatives");
+ put(grammarAccess.getStructureClassAccess().getAlternatives(), "rule__StructureClass__Alternatives");
+ put(grammarAccess.getActorContainerClassAccess().getAlternatives(), "rule__ActorContainerClass__Alternatives");
+ put(grammarAccess.getTypeAccess().getAlternatives(), "rule__Type__Alternatives");
+ put(grammarAccess.getFreeTypeAccess().getAlternatives(), "rule__FreeType__Alternatives");
+ put(grammarAccess.getPortClassAccess().getAlternatives_2(), "rule__PortClass__Alternatives_2");
+ put(grammarAccess.getSemanticsRuleAccess().getAlternatives(), "rule__SemanticsRule__Alternatives");
+ put(grammarAccess.getActorClassAccess().getAlternatives_6_4(), "rule__ActorClass__Alternatives_6_4");
+ put(grammarAccess.getInterfaceItemAccess().getAlternatives(), "rule__InterfaceItem__Alternatives");
+ put(grammarAccess.getActorContainerRefAccess().getAlternatives(), "rule__ActorContainerRef__Alternatives");
+ put(grammarAccess.getSAPointAccess().getAlternatives(), "rule__SAPoint__Alternatives");
+ put(grammarAccess.getStateGraphNodeAccess().getAlternatives(), "rule__StateGraphNode__Alternatives");
+ put(grammarAccess.getStateGraphItemAccess().getAlternatives(), "rule__StateGraphItem__Alternatives");
+ put(grammarAccess.getStateAccess().getAlternatives(), "rule__State__Alternatives");
+ put(grammarAccess.getStateGraphAccess().getAlternatives_1(), "rule__StateGraph__Alternatives_1");
+ put(grammarAccess.getStateMachineAccess().getAlternatives_2(), "rule__StateMachine__Alternatives_2");
+ put(grammarAccess.getTrPointAccess().getAlternatives(), "rule__TrPoint__Alternatives");
+ put(grammarAccess.getTransitionAccess().getAlternatives(), "rule__Transition__Alternatives");
+ put(grammarAccess.getNonInitialTransitionAccess().getAlternatives(), "rule__NonInitialTransition__Alternatives");
+ put(grammarAccess.getTransitionTerminalAccess().getAlternatives(), "rule__TransitionTerminal__Alternatives");
+ put(grammarAccess.getPrimitiveTypeAccess().getAlternatives(), "rule__PrimitiveType__Alternatives");
+ put(grammarAccess.getRoomModelAccess().getGroup(), "rule__RoomModel__Group__0");
+ put(grammarAccess.getTypedIDAccess().getGroup(), "rule__TypedID__Group__0");
+ put(grammarAccess.getFreeTypedIDAccess().getGroup(), "rule__FreeTypedID__Group__0");
+ put(grammarAccess.getDataClassAccess().getGroup(), "rule__DataClass__Group__0");
+ put(grammarAccess.getDataClassAccess().getGroup_2(), "rule__DataClass__Group_2__0");
+ put(grammarAccess.getAttributeAccess().getGroup(), "rule__Attribute__Group__0");
+ put(grammarAccess.getAttributeAccess().getGroup_2(), "rule__Attribute__Group_2__0");
+ put(grammarAccess.getOperationAccess().getGroup(), "rule__Operation__Group__0");
+ put(grammarAccess.getOperationAccess().getGroup_3(), "rule__Operation__Group_3__0");
+ put(grammarAccess.getOperationAccess().getGroup_3_1(), "rule__Operation__Group_3_1__0");
+ put(grammarAccess.getOperationAccess().getGroup_5(), "rule__Operation__Group_5__0");
+ put(grammarAccess.getProtocolClassAccess().getGroup(), "rule__ProtocolClass__Group__0");
+ put(grammarAccess.getProtocolClassAccess().getGroup_2(), "rule__ProtocolClass__Group_2__0");
+ put(grammarAccess.getProtocolClassAccess().getGroup_4(), "rule__ProtocolClass__Group_4__0");
+ put(grammarAccess.getProtocolClassAccess().getGroup_5(), "rule__ProtocolClass__Group_5__0");
+ put(grammarAccess.getProtocolClassAccess().getGroup_14(), "rule__ProtocolClass__Group_14__0");
+ put(grammarAccess.getProtocolClassAccess().getGroup_15(), "rule__ProtocolClass__Group_15__0");
+ put(grammarAccess.getMessageAccess().getGroup(), "rule__Message__Group__0");
+ put(grammarAccess.getMessageAccess().getGroup_3(), "rule__Message__Group_3__0");
+ put(grammarAccess.getMessageAccess().getGroup_3_1(), "rule__Message__Group_3_1__0");
+ put(grammarAccess.getPortClassAccess().getGroup(), "rule__PortClass__Group__0");
+ put(grammarAccess.getPortClassAccess().getGroup_1(), "rule__PortClass__Group_1__0");
+ put(grammarAccess.getMessageHandlerAccess().getGroup(), "rule__MessageHandler__Group__0");
+ put(grammarAccess.getProtocolSemanticsAccess().getGroup(), "rule__ProtocolSemantics__Group__0");
+ put(grammarAccess.getSemanticsInRuleAccess().getGroup(), "rule__SemanticsInRule__Group__0");
+ put(grammarAccess.getSemanticsOutRuleAccess().getGroup(), "rule__SemanticsOutRule__Group__0");
+ put(grammarAccess.getActorClassAccess().getGroup(), "rule__ActorClass__Group__0");
+ put(grammarAccess.getActorClassAccess().getGroup_3(), "rule__ActorClass__Group_3__0");
+ put(grammarAccess.getActorClassAccess().getGroup_5(), "rule__ActorClass__Group_5__0");
+ put(grammarAccess.getActorClassAccess().getGroup_6(), "rule__ActorClass__Group_6__0");
+ put(grammarAccess.getActorClassAccess().getGroup_6_2(), "rule__ActorClass__Group_6_2__0");
+ put(grammarAccess.getActorClassAccess().getGroup_6_3(), "rule__ActorClass__Group_6_3__0");
+ put(grammarAccess.getActorClassAccess().getGroup_7(), "rule__ActorClass__Group_7__0");
+ put(grammarAccess.getPortAccess().getGroup(), "rule__Port__Group__0");
+ put(grammarAccess.getPortAccess().getGroup_3(), "rule__Port__Group_3__0");
+ put(grammarAccess.getExternalPortAccess().getGroup(), "rule__ExternalPort__Group__0");
+ put(grammarAccess.getSAPRefAccess().getGroup(), "rule__SAPRef__Group__0");
+ put(grammarAccess.getSPPRefAccess().getGroup(), "rule__SPPRef__Group__0");
+ put(grammarAccess.getServiceImplementationAccess().getGroup(), "rule__ServiceImplementation__Group__0");
+ put(grammarAccess.getLogicalSystemAccess().getGroup(), "rule__LogicalSystem__Group__0");
+ put(grammarAccess.getSubSystemRefAccess().getGroup(), "rule__SubSystemRef__Group__0");
+ put(grammarAccess.getSubSystemClassAccess().getGroup(), "rule__SubSystemClass__Group__0");
+ put(grammarAccess.getLogicalThreadAccess().getGroup(), "rule__LogicalThread__Group__0");
+ put(grammarAccess.getLogicalThreadAccess().getGroup_4(), "rule__LogicalThread__Group_4__0");
+ put(grammarAccess.getActorInstancePathAccess().getGroup(), "rule__ActorInstancePath__Group__0");
+ put(grammarAccess.getActorInstancePathAccess().getGroup_1(), "rule__ActorInstancePath__Group_1__0");
+ put(grammarAccess.getBindingAccess().getGroup(), "rule__Binding__Group__0");
+ put(grammarAccess.getBindingEndPointAccess().getGroup(), "rule__BindingEndPoint__Group__0");
+ put(grammarAccess.getBindingEndPointAccess().getGroup_0(), "rule__BindingEndPoint__Group_0__0");
+ put(grammarAccess.getLayerConnectionAccess().getGroup(), "rule__LayerConnection__Group__0");
+ put(grammarAccess.getRefSAPointAccess().getGroup(), "rule__RefSAPoint__Group__0");
+ put(grammarAccess.getRelaySAPointAccess().getGroup(), "rule__RelaySAPoint__Group__0");
+ put(grammarAccess.getSPPointAccess().getGroup(), "rule__SPPoint__Group__0");
+ put(grammarAccess.getActorRefAccess().getGroup(), "rule__ActorRef__Group__0");
+ put(grammarAccess.getStateGraphAccess().getGroup(), "rule__StateGraph__Group__0");
+ put(grammarAccess.getStateMachineAccess().getGroup(), "rule__StateMachine__Group__0");
+ put(grammarAccess.getBaseStateAccess().getGroup(), "rule__BaseState__Group__0");
+ put(grammarAccess.getBaseStateAccess().getGroup_3(), "rule__BaseState__Group_3__0");
+ put(grammarAccess.getBaseStateAccess().getGroup_4(), "rule__BaseState__Group_4__0");
+ put(grammarAccess.getBaseStateAccess().getGroup_5(), "rule__BaseState__Group_5__0");
+ put(grammarAccess.getRefinedStateAccess().getGroup(), "rule__RefinedState__Group__0");
+ put(grammarAccess.getRefinedStateAccess().getGroup_3(), "rule__RefinedState__Group_3__0");
+ put(grammarAccess.getRefinedStateAccess().getGroup_4(), "rule__RefinedState__Group_4__0");
+ put(grammarAccess.getRefinedStateAccess().getGroup_5(), "rule__RefinedState__Group_5__0");
+ put(grammarAccess.getDetailCodeAccess().getGroup(), "rule__DetailCode__Group__0");
+ put(grammarAccess.getTransitionPointAccess().getGroup(), "rule__TransitionPoint__Group__0");
+ put(grammarAccess.getEntryPointAccess().getGroup(), "rule__EntryPoint__Group__0");
+ put(grammarAccess.getExitPointAccess().getGroup(), "rule__ExitPoint__Group__0");
+ put(grammarAccess.getChoicePointAccess().getGroup(), "rule__ChoicePoint__Group__0");
+ put(grammarAccess.getInitialTransitionAccess().getGroup(), "rule__InitialTransition__Group__0");
+ put(grammarAccess.getInitialTransitionAccess().getGroup_7(), "rule__InitialTransition__Group_7__0");
+ put(grammarAccess.getContinuationTransitionAccess().getGroup(), "rule__ContinuationTransition__Group__0");
+ put(grammarAccess.getContinuationTransitionAccess().getGroup_7(), "rule__ContinuationTransition__Group_7__0");
+ put(grammarAccess.getTriggeredTransitionAccess().getGroup(), "rule__TriggeredTransition__Group__0");
+ put(grammarAccess.getTriggeredTransitionAccess().getGroup_10(), "rule__TriggeredTransition__Group_10__0");
+ put(grammarAccess.getTriggeredTransitionAccess().getGroup_12(), "rule__TriggeredTransition__Group_12__0");
+ put(grammarAccess.getCPBranchTransitionAccess().getGroup(), "rule__CPBranchTransition__Group__0");
+ put(grammarAccess.getCPBranchTransitionAccess().getGroup_9(), "rule__CPBranchTransition__Group_9__0");
+ put(grammarAccess.getTrPointTerminalAccess().getGroup(), "rule__TrPointTerminal__Group__0");
+ put(grammarAccess.getSubStateTrPointTerminalAccess().getGroup(), "rule__SubStateTrPointTerminal__Group__0");
+ put(grammarAccess.getChoicepointTerminalAccess().getGroup(), "rule__ChoicepointTerminal__Group__0");
+ put(grammarAccess.getTriggerAccess().getGroup(), "rule__Trigger__Group__0");
+ put(grammarAccess.getTriggerAccess().getGroup_2(), "rule__Trigger__Group_2__0");
+ put(grammarAccess.getMessageFromIfAccess().getGroup(), "rule__MessageFromIf__Group__0");
+ put(grammarAccess.getGuardAccess().getGroup(), "rule__Guard__Group__0");
+ put(grammarAccess.getImportAccess().getGroup(), "rule__Import__Group__0");
+ put(grammarAccess.getImportedFQNAccess().getGroup(), "rule__ImportedFQN__Group__0");
+ put(grammarAccess.getImportedFQNAccess().getGroup_1(), "rule__ImportedFQN__Group_1__0");
+ put(grammarAccess.getFQNAccess().getGroup(), "rule__FQN__Group__0");
+ put(grammarAccess.getFQNAccess().getGroup_1(), "rule__FQN__Group_1__0");
+ put(grammarAccess.getRoomModelAccess().getNameAssignment_1(), "rule__RoomModel__NameAssignment_1");
+ put(grammarAccess.getRoomModelAccess().getImportsAssignment_3(), "rule__RoomModel__ImportsAssignment_3");
+ put(grammarAccess.getRoomModelAccess().getDataClassesAssignment_4_0(), "rule__RoomModel__DataClassesAssignment_4_0");
+ put(grammarAccess.getRoomModelAccess().getProtocolClassesAssignment_4_1(), "rule__RoomModel__ProtocolClassesAssignment_4_1");
+ put(grammarAccess.getRoomModelAccess().getActorClassesAssignment_4_2(), "rule__RoomModel__ActorClassesAssignment_4_2");
+ put(grammarAccess.getRoomModelAccess().getSubSystemClassesAssignment_4_3(), "rule__RoomModel__SubSystemClassesAssignment_4_3");
+ put(grammarAccess.getRoomModelAccess().getSystemsAssignment_4_4(), "rule__RoomModel__SystemsAssignment_4_4");
+ put(grammarAccess.getTypedIDAccess().getNameAssignment_0(), "rule__TypedID__NameAssignment_0");
+ put(grammarAccess.getTypedIDAccess().getTypeAssignment_2(), "rule__TypedID__TypeAssignment_2");
+ put(grammarAccess.getFreeTypedIDAccess().getNameAssignment_0(), "rule__FreeTypedID__NameAssignment_0");
+ put(grammarAccess.getFreeTypedIDAccess().getTypeAssignment_2(), "rule__FreeTypedID__TypeAssignment_2");
+ put(grammarAccess.getTypeAccess().getPrimAssignment_0(), "rule__Type__PrimAssignment_0");
+ put(grammarAccess.getTypeAccess().getTypeAssignment_1(), "rule__Type__TypeAssignment_1");
+ put(grammarAccess.getFreeTypeAccess().getPrimAssignment_0(), "rule__FreeType__PrimAssignment_0");
+ put(grammarAccess.getFreeTypeAccess().getTypeAssignment_1(), "rule__FreeType__TypeAssignment_1");
+ put(grammarAccess.getDataClassAccess().getNameAssignment_1(), "rule__DataClass__NameAssignment_1");
+ put(grammarAccess.getDataClassAccess().getBaseAssignment_2_1(), "rule__DataClass__BaseAssignment_2_1");
+ put(grammarAccess.getDataClassAccess().getImportsAssignment_4(), "rule__DataClass__ImportsAssignment_4");
+ put(grammarAccess.getDataClassAccess().getAttributesAssignment_5(), "rule__DataClass__AttributesAssignment_5");
+ put(grammarAccess.getDataClassAccess().getOperationsAssignment_6(), "rule__DataClass__OperationsAssignment_6");
+ put(grammarAccess.getAttributeAccess().getNameAssignment_1(), "rule__Attribute__NameAssignment_1");
+ put(grammarAccess.getAttributeAccess().getSizeAssignment_2_1(), "rule__Attribute__SizeAssignment_2_1");
+ put(grammarAccess.getAttributeAccess().getTypeAssignment_4(), "rule__Attribute__TypeAssignment_4");
+ put(grammarAccess.getOperationAccess().getNameAssignment_1(), "rule__Operation__NameAssignment_1");
+ put(grammarAccess.getOperationAccess().getArgumentsAssignment_3_0(), "rule__Operation__ArgumentsAssignment_3_0");
+ put(grammarAccess.getOperationAccess().getArgumentsAssignment_3_1_1(), "rule__Operation__ArgumentsAssignment_3_1_1");
+ put(grammarAccess.getOperationAccess().getReturntypeAssignment_5_1(), "rule__Operation__ReturntypeAssignment_5_1");
+ put(grammarAccess.getOperationAccess().getDetailCodeAssignment_6(), "rule__Operation__DetailCodeAssignment_6");
+ put(grammarAccess.getProtocolClassAccess().getNameAssignment_1(), "rule__ProtocolClass__NameAssignment_1");
+ put(grammarAccess.getProtocolClassAccess().getBaseAssignment_2_1(), "rule__ProtocolClass__BaseAssignment_2_1");
+ put(grammarAccess.getProtocolClassAccess().getUserCode1Assignment_4_1(), "rule__ProtocolClass__UserCode1Assignment_4_1");
+ put(grammarAccess.getProtocolClassAccess().getUserCode2Assignment_5_1(), "rule__ProtocolClass__UserCode2Assignment_5_1");
+ put(grammarAccess.getProtocolClassAccess().getIncomingMessagesAssignment_8(), "rule__ProtocolClass__IncomingMessagesAssignment_8");
+ put(grammarAccess.getProtocolClassAccess().getOutgoingMessagesAssignment_12(), "rule__ProtocolClass__OutgoingMessagesAssignment_12");
+ put(grammarAccess.getProtocolClassAccess().getRegularAssignment_14_2(), "rule__ProtocolClass__RegularAssignment_14_2");
+ put(grammarAccess.getProtocolClassAccess().getConjugateAssignment_15_2(), "rule__ProtocolClass__ConjugateAssignment_15_2");
+ put(grammarAccess.getProtocolClassAccess().getSemanticsAssignment_16(), "rule__ProtocolClass__SemanticsAssignment_16");
+ put(grammarAccess.getMessageAccess().getNameAssignment_1(), "rule__Message__NameAssignment_1");
+ put(grammarAccess.getMessageAccess().getArgumentsAssignment_3_0(), "rule__Message__ArgumentsAssignment_3_0");
+ put(grammarAccess.getMessageAccess().getArgumentsAssignment_3_1_1(), "rule__Message__ArgumentsAssignment_3_1_1");
+ put(grammarAccess.getPortClassAccess().getUserCodeAssignment_1_1(), "rule__PortClass__UserCodeAssignment_1_1");
+ put(grammarAccess.getPortClassAccess().getAttributesAssignment_2_0(), "rule__PortClass__AttributesAssignment_2_0");
+ put(grammarAccess.getPortClassAccess().getOperationsAssignment_2_1(), "rule__PortClass__OperationsAssignment_2_1");
+ put(grammarAccess.getPortClassAccess().getMsgHandlersAssignment_2_2(), "rule__PortClass__MsgHandlersAssignment_2_2");
+ put(grammarAccess.getMessageHandlerAccess().getMsgAssignment_1(), "rule__MessageHandler__MsgAssignment_1");
+ put(grammarAccess.getMessageHandlerAccess().getDetailCodeAssignment_2(), "rule__MessageHandler__DetailCodeAssignment_2");
+ put(grammarAccess.getProtocolSemanticsAccess().getRulesAssignment_2(), "rule__ProtocolSemantics__RulesAssignment_2");
+ put(grammarAccess.getSemanticsInRuleAccess().getMsgAssignment_1(), "rule__SemanticsInRule__MsgAssignment_1");
+ put(grammarAccess.getSemanticsInRuleAccess().getFollowUpsAssignment_4(), "rule__SemanticsInRule__FollowUpsAssignment_4");
+ put(grammarAccess.getSemanticsOutRuleAccess().getMsgAssignment_1(), "rule__SemanticsOutRule__MsgAssignment_1");
+ put(grammarAccess.getSemanticsOutRuleAccess().getFollowUpsAssignment_4(), "rule__SemanticsOutRule__FollowUpsAssignment_4");
+ put(grammarAccess.getActorClassAccess().getAbstractAssignment_0(), "rule__ActorClass__AbstractAssignment_0");
+ put(grammarAccess.getActorClassAccess().getNameAssignment_2(), "rule__ActorClass__NameAssignment_2");
+ put(grammarAccess.getActorClassAccess().getBaseAssignment_3_1(), "rule__ActorClass__BaseAssignment_3_1");
+ put(grammarAccess.getActorClassAccess().getIfPortsAssignment_5_2(), "rule__ActorClass__IfPortsAssignment_5_2");
+ put(grammarAccess.getActorClassAccess().getIfSPPsAssignment_5_3(), "rule__ActorClass__IfSPPsAssignment_5_3");
+ put(grammarAccess.getActorClassAccess().getUserCode1Assignment_6_2_1(), "rule__ActorClass__UserCode1Assignment_6_2_1");
+ put(grammarAccess.getActorClassAccess().getUserCode2Assignment_6_3_1(), "rule__ActorClass__UserCode2Assignment_6_3_1");
+ put(grammarAccess.getActorClassAccess().getIntPortsAssignment_6_4_0(), "rule__ActorClass__IntPortsAssignment_6_4_0");
+ put(grammarAccess.getActorClassAccess().getExtPortsAssignment_6_4_1(), "rule__ActorClass__ExtPortsAssignment_6_4_1");
+ put(grammarAccess.getActorClassAccess().getServiceImplementationsAssignment_6_5(), "rule__ActorClass__ServiceImplementationsAssignment_6_5");
+ put(grammarAccess.getActorClassAccess().getStrSAPsAssignment_6_6(), "rule__ActorClass__StrSAPsAssignment_6_6");
+ put(grammarAccess.getActorClassAccess().getAttributesAssignment_6_7(), "rule__ActorClass__AttributesAssignment_6_7");
+ put(grammarAccess.getActorClassAccess().getActorRefsAssignment_6_8(), "rule__ActorClass__ActorRefsAssignment_6_8");
+ put(grammarAccess.getActorClassAccess().getBindingsAssignment_6_9(), "rule__ActorClass__BindingsAssignment_6_9");
+ put(grammarAccess.getActorClassAccess().getConnectionsAssignment_6_10(), "rule__ActorClass__ConnectionsAssignment_6_10");
+ put(grammarAccess.getActorClassAccess().getOperationsAssignment_7_2(), "rule__ActorClass__OperationsAssignment_7_2");
+ put(grammarAccess.getActorClassAccess().getStateMachineAssignment_7_3(), "rule__ActorClass__StateMachineAssignment_7_3");
+ put(grammarAccess.getPortAccess().getConjugatedAssignment_0(), "rule__Port__ConjugatedAssignment_0");
+ put(grammarAccess.getPortAccess().getNameAssignment_2(), "rule__Port__NameAssignment_2");
+ put(grammarAccess.getPortAccess().getMultiplicityAssignment_3_1(), "rule__Port__MultiplicityAssignment_3_1");
+ put(grammarAccess.getPortAccess().getProtocolAssignment_5(), "rule__Port__ProtocolAssignment_5");
+ put(grammarAccess.getExternalPortAccess().getIfportAssignment_2(), "rule__ExternalPort__IfportAssignment_2");
+ put(grammarAccess.getSAPRefAccess().getNameAssignment_1(), "rule__SAPRef__NameAssignment_1");
+ put(grammarAccess.getSAPRefAccess().getProtocolAssignment_3(), "rule__SAPRef__ProtocolAssignment_3");
+ put(grammarAccess.getSPPRefAccess().getNameAssignment_1(), "rule__SPPRef__NameAssignment_1");
+ put(grammarAccess.getSPPRefAccess().getProtocolAssignment_3(), "rule__SPPRef__ProtocolAssignment_3");
+ put(grammarAccess.getServiceImplementationAccess().getSppAssignment_2(), "rule__ServiceImplementation__SppAssignment_2");
+ put(grammarAccess.getLogicalSystemAccess().getNameAssignment_1(), "rule__LogicalSystem__NameAssignment_1");
+ put(grammarAccess.getLogicalSystemAccess().getSubSystemsAssignment_3(), "rule__LogicalSystem__SubSystemsAssignment_3");
+ put(grammarAccess.getLogicalSystemAccess().getBindingsAssignment_4(), "rule__LogicalSystem__BindingsAssignment_4");
+ put(grammarAccess.getLogicalSystemAccess().getConnectionsAssignment_5(), "rule__LogicalSystem__ConnectionsAssignment_5");
+ put(grammarAccess.getSubSystemRefAccess().getNameAssignment_1(), "rule__SubSystemRef__NameAssignment_1");
+ put(grammarAccess.getSubSystemRefAccess().getTypeAssignment_3(), "rule__SubSystemRef__TypeAssignment_3");
+ put(grammarAccess.getSubSystemClassAccess().getNameAssignment_1(), "rule__SubSystemClass__NameAssignment_1");
+ put(grammarAccess.getSubSystemClassAccess().getRelayPortsAssignment_3(), "rule__SubSystemClass__RelayPortsAssignment_3");
+ put(grammarAccess.getSubSystemClassAccess().getIfSPPsAssignment_4(), "rule__SubSystemClass__IfSPPsAssignment_4");
+ put(grammarAccess.getSubSystemClassAccess().getActorRefsAssignment_5(), "rule__SubSystemClass__ActorRefsAssignment_5");
+ put(grammarAccess.getSubSystemClassAccess().getBindingsAssignment_6(), "rule__SubSystemClass__BindingsAssignment_6");
+ put(grammarAccess.getSubSystemClassAccess().getConnectionsAssignment_7(), "rule__SubSystemClass__ConnectionsAssignment_7");
+ put(grammarAccess.getSubSystemClassAccess().getThreadsAssignment_8(), "rule__SubSystemClass__ThreadsAssignment_8");
+ put(grammarAccess.getLogicalThreadAccess().getNameAssignment_1(), "rule__LogicalThread__NameAssignment_1");
+ put(grammarAccess.getLogicalThreadAccess().getInstancesAssignment_3(), "rule__LogicalThread__InstancesAssignment_3");
+ put(grammarAccess.getLogicalThreadAccess().getInstancesAssignment_4_1(), "rule__LogicalThread__InstancesAssignment_4_1");
+ put(grammarAccess.getActorInstancePathAccess().getSegmentsAssignment_0(), "rule__ActorInstancePath__SegmentsAssignment_0");
+ put(grammarAccess.getActorInstancePathAccess().getSegmentsAssignment_1_1(), "rule__ActorInstancePath__SegmentsAssignment_1_1");
+ put(grammarAccess.getBindingAccess().getEndpoint1Assignment_1(), "rule__Binding__Endpoint1Assignment_1");
+ put(grammarAccess.getBindingAccess().getEndpoint2Assignment_3(), "rule__Binding__Endpoint2Assignment_3");
+ put(grammarAccess.getBindingEndPointAccess().getActorRefAssignment_0_0(), "rule__BindingEndPoint__ActorRefAssignment_0_0");
+ put(grammarAccess.getBindingEndPointAccess().getPortAssignment_1(), "rule__BindingEndPoint__PortAssignment_1");
+ put(grammarAccess.getLayerConnectionAccess().getFromAssignment_1(), "rule__LayerConnection__FromAssignment_1");
+ put(grammarAccess.getLayerConnectionAccess().getToAssignment_3(), "rule__LayerConnection__ToAssignment_3");
+ put(grammarAccess.getRefSAPointAccess().getRefAssignment_1(), "rule__RefSAPoint__RefAssignment_1");
+ put(grammarAccess.getRelaySAPointAccess().getRelayAssignment_1(), "rule__RelaySAPoint__RelayAssignment_1");
+ put(grammarAccess.getSPPointAccess().getRefAssignment_0(), "rule__SPPoint__RefAssignment_0");
+ put(grammarAccess.getSPPointAccess().getServiceAssignment_2(), "rule__SPPoint__ServiceAssignment_2");
+ put(grammarAccess.getActorRefAccess().getNameAssignment_1(), "rule__ActorRef__NameAssignment_1");
+ put(grammarAccess.getActorRefAccess().getTypeAssignment_3(), "rule__ActorRef__TypeAssignment_3");
+ put(grammarAccess.getStateGraphAccess().getStatesAssignment_1_0(), "rule__StateGraph__StatesAssignment_1_0");
+ put(grammarAccess.getStateGraphAccess().getTrPointsAssignment_1_1(), "rule__StateGraph__TrPointsAssignment_1_1");
+ put(grammarAccess.getStateGraphAccess().getChPointsAssignment_1_2(), "rule__StateGraph__ChPointsAssignment_1_2");
+ put(grammarAccess.getStateGraphAccess().getTransitionsAssignment_1_3(), "rule__StateGraph__TransitionsAssignment_1_3");
+ put(grammarAccess.getStateMachineAccess().getStatesAssignment_2_0(), "rule__StateMachine__StatesAssignment_2_0");
+ put(grammarAccess.getStateMachineAccess().getTrPointsAssignment_2_1(), "rule__StateMachine__TrPointsAssignment_2_1");
+ put(grammarAccess.getStateMachineAccess().getChPointsAssignment_2_2(), "rule__StateMachine__ChPointsAssignment_2_2");
+ put(grammarAccess.getStateMachineAccess().getTransitionsAssignment_2_3(), "rule__StateMachine__TransitionsAssignment_2_3");
+ put(grammarAccess.getBaseStateAccess().getNameAssignment_1(), "rule__BaseState__NameAssignment_1");
+ put(grammarAccess.getBaseStateAccess().getEntryCodeAssignment_3_1(), "rule__BaseState__EntryCodeAssignment_3_1");
+ put(grammarAccess.getBaseStateAccess().getExitCodeAssignment_4_1(), "rule__BaseState__ExitCodeAssignment_4_1");
+ put(grammarAccess.getBaseStateAccess().getSubgraphAssignment_5_1(), "rule__BaseState__SubgraphAssignment_5_1");
+ put(grammarAccess.getRefinedStateAccess().getBaseAssignment_1(), "rule__RefinedState__BaseAssignment_1");
+ put(grammarAccess.getRefinedStateAccess().getEntryCodeAssignment_3_1(), "rule__RefinedState__EntryCodeAssignment_3_1");
+ put(grammarAccess.getRefinedStateAccess().getExitCodeAssignment_4_1(), "rule__RefinedState__ExitCodeAssignment_4_1");
+ put(grammarAccess.getRefinedStateAccess().getSubgraphAssignment_5_1(), "rule__RefinedState__SubgraphAssignment_5_1");
+ put(grammarAccess.getDetailCodeAccess().getCommandsAssignment_1(), "rule__DetailCode__CommandsAssignment_1");
+ put(grammarAccess.getTransitionPointAccess().getHandlerAssignment_0(), "rule__TransitionPoint__HandlerAssignment_0");
+ put(grammarAccess.getTransitionPointAccess().getNameAssignment_2(), "rule__TransitionPoint__NameAssignment_2");
+ put(grammarAccess.getEntryPointAccess().getNameAssignment_1(), "rule__EntryPoint__NameAssignment_1");
+ put(grammarAccess.getExitPointAccess().getNameAssignment_1(), "rule__ExitPoint__NameAssignment_1");
+ put(grammarAccess.getChoicePointAccess().getNameAssignment_1(), "rule__ChoicePoint__NameAssignment_1");
+ put(grammarAccess.getInitialTransitionAccess().getNameAssignment_1(), "rule__InitialTransition__NameAssignment_1");
+ put(grammarAccess.getInitialTransitionAccess().getToAssignment_5(), "rule__InitialTransition__ToAssignment_5");
+ put(grammarAccess.getInitialTransitionAccess().getActionAssignment_7_1(), "rule__InitialTransition__ActionAssignment_7_1");
+ put(grammarAccess.getContinuationTransitionAccess().getNameAssignment_1(), "rule__ContinuationTransition__NameAssignment_1");
+ put(grammarAccess.getContinuationTransitionAccess().getFromAssignment_3(), "rule__ContinuationTransition__FromAssignment_3");
+ put(grammarAccess.getContinuationTransitionAccess().getToAssignment_5(), "rule__ContinuationTransition__ToAssignment_5");
+ put(grammarAccess.getContinuationTransitionAccess().getActionAssignment_7_1(), "rule__ContinuationTransition__ActionAssignment_7_1");
+ put(grammarAccess.getTriggeredTransitionAccess().getNameAssignment_1(), "rule__TriggeredTransition__NameAssignment_1");
+ put(grammarAccess.getTriggeredTransitionAccess().getFromAssignment_3(), "rule__TriggeredTransition__FromAssignment_3");
+ put(grammarAccess.getTriggeredTransitionAccess().getToAssignment_5(), "rule__TriggeredTransition__ToAssignment_5");
+ put(grammarAccess.getTriggeredTransitionAccess().getTriggersAssignment_9(), "rule__TriggeredTransition__TriggersAssignment_9");
+ put(grammarAccess.getTriggeredTransitionAccess().getTriggersAssignment_10_1(), "rule__TriggeredTransition__TriggersAssignment_10_1");
+ put(grammarAccess.getTriggeredTransitionAccess().getActionAssignment_12_1(), "rule__TriggeredTransition__ActionAssignment_12_1");
+ put(grammarAccess.getCPBranchTransitionAccess().getNameAssignment_1(), "rule__CPBranchTransition__NameAssignment_1");
+ put(grammarAccess.getCPBranchTransitionAccess().getFromAssignment_3(), "rule__CPBranchTransition__FromAssignment_3");
+ put(grammarAccess.getCPBranchTransitionAccess().getToAssignment_5(), "rule__CPBranchTransition__ToAssignment_5");
+ put(grammarAccess.getCPBranchTransitionAccess().getConditionAssignment_8(), "rule__CPBranchTransition__ConditionAssignment_8");
+ put(grammarAccess.getCPBranchTransitionAccess().getActionAssignment_9_1(), "rule__CPBranchTransition__ActionAssignment_9_1");
+ put(grammarAccess.getStateTerminalAccess().getStateAssignment(), "rule__StateTerminal__StateAssignment");
+ put(grammarAccess.getTrPointTerminalAccess().getTrPointAssignment_1(), "rule__TrPointTerminal__TrPointAssignment_1");
+ put(grammarAccess.getSubStateTrPointTerminalAccess().getTrPointAssignment_0(), "rule__SubStateTrPointTerminal__TrPointAssignment_0");
+ put(grammarAccess.getSubStateTrPointTerminalAccess().getStateAssignment_2(), "rule__SubStateTrPointTerminal__StateAssignment_2");
+ put(grammarAccess.getChoicepointTerminalAccess().getCpAssignment_1(), "rule__ChoicepointTerminal__CpAssignment_1");
+ put(grammarAccess.getTriggerAccess().getMsgFromIfPairsAssignment_1(), "rule__Trigger__MsgFromIfPairsAssignment_1");
+ put(grammarAccess.getTriggerAccess().getMsgFromIfPairsAssignment_2_1(), "rule__Trigger__MsgFromIfPairsAssignment_2_1");
+ put(grammarAccess.getTriggerAccess().getGuardAssignment_3(), "rule__Trigger__GuardAssignment_3");
+ put(grammarAccess.getMessageFromIfAccess().getMessageAssignment_0(), "rule__MessageFromIf__MessageAssignment_0");
+ put(grammarAccess.getMessageFromIfAccess().getFromAssignment_2(), "rule__MessageFromIf__FromAssignment_2");
+ put(grammarAccess.getGuardAccess().getGuardAssignment_1(), "rule__Guard__GuardAssignment_1");
+ put(grammarAccess.getImportAccess().getImportedNamespaceAssignment_1(), "rule__Import__ImportedNamespaceAssignment_1");
+ }
+ };
+ }
+ return nameMappings.get(element);
+ }
+
+ @Override
+ protected Collection<FollowElement> getFollowElements(AbstractInternalContentAssistParser parser) {
+ try {
+ org.eclipse.etrice.core.ui.contentassist.antlr.internal.InternalRoomParser typedParser = (org.eclipse.etrice.core.ui.contentassist.antlr.internal.InternalRoomParser) parser;
+ typedParser.entryRuleRoomModel();
+ return typedParser.getFollowElements();
+ } catch(RecognitionException ex) {
+ throw new RuntimeException(ex);
+ }
+ }
+
+ @Override
+ protected String[] getInitialHiddenTokens() {
+ return new String[] { "RULE_WS", "RULE_ML_COMMENT", "RULE_SL_COMMENT" };
+ }
+
+ public RoomGrammarAccess getGrammarAccess() {
+ return this.grammarAccess;
+ }
+
+ public void setGrammarAccess(RoomGrammarAccess grammarAccess) {
+ this.grammarAccess = grammarAccess;
+ }
+}
diff --git a/plugins/org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g b/plugins/org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g
new file mode 100644
index 000000000..b2dae129a
--- /dev/null
+++ b/plugins/org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g
@@ -0,0 +1,16199 @@
+/*
+* generated by Xtext
+*/
+grammar InternalRoom;
+
+options {
+ superClass=AbstractInternalContentAssistParser;
+
+}
+
+@lexer::header {
+package org.eclipse.etrice.core.ui.contentassist.antlr.internal;
+
+// Hack: Use our own Lexer superclass by means of import.
+// Currently there is no other way to specify the superclass for the lexer.
+import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.Lexer;
+}
+
+@parser::header {
+package org.eclipse.etrice.core.ui.contentassist.antlr.internal;
+
+import java.io.InputStream;
+import org.eclipse.xtext.*;
+import org.eclipse.xtext.parser.*;
+import org.eclipse.xtext.parser.impl.*;
+import org.eclipse.xtext.parsetree.*;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.xtext.parser.antlr.XtextTokenStream;
+import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
+import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser;
+import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.DFA;
+import org.eclipse.etrice.core.services.RoomGrammarAccess;
+
+}
+
+@parser::members {
+
+ private RoomGrammarAccess grammarAccess;
+
+ public void setGrammarAccess(RoomGrammarAccess grammarAccess) {
+ this.grammarAccess = grammarAccess;
+ }
+
+ @Override
+ protected Grammar getGrammar() {
+ return grammarAccess.getGrammar();
+ }
+
+ @Override
+ protected String getValueForTokenName(String tokenName) {
+ return tokenName;
+ }
+
+}
+
+
+
+
+// Entry rule entryRuleRoomModel
+entryRuleRoomModel
+:
+{ before(grammarAccess.getRoomModelRule()); }
+ ruleRoomModel
+{ after(grammarAccess.getRoomModelRule()); }
+ EOF
+;
+
+// Rule RoomModel
+ruleRoomModel
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getRoomModelAccess().getGroup()); }
+(rule__RoomModel__Group__0)
+{ after(grammarAccess.getRoomModelAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+// Entry rule entryRuleStructureClass
+entryRuleStructureClass
+:
+{ before(grammarAccess.getStructureClassRule()); }
+ ruleStructureClass
+{ after(grammarAccess.getStructureClassRule()); }
+ EOF
+;
+
+// Rule StructureClass
+ruleStructureClass
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getStructureClassAccess().getAlternatives()); }
+(rule__StructureClass__Alternatives)
+{ after(grammarAccess.getStructureClassAccess().getAlternatives()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleActorContainerClass
+entryRuleActorContainerClass
+:
+{ before(grammarAccess.getActorContainerClassRule()); }
+ ruleActorContainerClass
+{ after(grammarAccess.getActorContainerClassRule()); }
+ EOF
+;
+
+// Rule ActorContainerClass
+ruleActorContainerClass
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getActorContainerClassAccess().getAlternatives()); }
+(rule__ActorContainerClass__Alternatives)
+{ after(grammarAccess.getActorContainerClassAccess().getAlternatives()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleTypedID
+entryRuleTypedID
+:
+{ before(grammarAccess.getTypedIDRule()); }
+ ruleTypedID
+{ after(grammarAccess.getTypedIDRule()); }
+ EOF
+;
+
+// Rule TypedID
+ruleTypedID
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getTypedIDAccess().getGroup()); }
+(rule__TypedID__Group__0)
+{ after(grammarAccess.getTypedIDAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleFreeTypedID
+entryRuleFreeTypedID
+:
+{ before(grammarAccess.getFreeTypedIDRule()); }
+ ruleFreeTypedID
+{ after(grammarAccess.getFreeTypedIDRule()); }
+ EOF
+;
+
+// Rule FreeTypedID
+ruleFreeTypedID
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getFreeTypedIDAccess().getGroup()); }
+(rule__FreeTypedID__Group__0)
+{ after(grammarAccess.getFreeTypedIDAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleType
+entryRuleType
+:
+{ before(grammarAccess.getTypeRule()); }
+ ruleType
+{ after(grammarAccess.getTypeRule()); }
+ EOF
+;
+
+// Rule Type
+ruleType
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getTypeAccess().getAlternatives()); }
+(rule__Type__Alternatives)
+{ after(grammarAccess.getTypeAccess().getAlternatives()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleFreeType
+entryRuleFreeType
+:
+{ before(grammarAccess.getFreeTypeRule()); }
+ ruleFreeType
+{ after(grammarAccess.getFreeTypeRule()); }
+ EOF
+;
+
+// Rule FreeType
+ruleFreeType
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getFreeTypeAccess().getAlternatives()); }
+(rule__FreeType__Alternatives)
+{ after(grammarAccess.getFreeTypeAccess().getAlternatives()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleDataClass
+entryRuleDataClass
+:
+{ before(grammarAccess.getDataClassRule()); }
+ ruleDataClass
+{ after(grammarAccess.getDataClassRule()); }
+ EOF
+;
+
+// Rule DataClass
+ruleDataClass
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getDataClassAccess().getGroup()); }
+(rule__DataClass__Group__0)
+{ after(grammarAccess.getDataClassAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleAttribute
+entryRuleAttribute
+:
+{ before(grammarAccess.getAttributeRule()); }
+ ruleAttribute
+{ after(grammarAccess.getAttributeRule()); }
+ EOF
+;
+
+// Rule Attribute
+ruleAttribute
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getAttributeAccess().getGroup()); }
+(rule__Attribute__Group__0)
+{ after(grammarAccess.getAttributeAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleOperation
+entryRuleOperation
+:
+{ before(grammarAccess.getOperationRule()); }
+ ruleOperation
+{ after(grammarAccess.getOperationRule()); }
+ EOF
+;
+
+// Rule Operation
+ruleOperation
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getOperationAccess().getGroup()); }
+(rule__Operation__Group__0)
+{ after(grammarAccess.getOperationAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleProtocolClass
+entryRuleProtocolClass
+:
+{ before(grammarAccess.getProtocolClassRule()); }
+ ruleProtocolClass
+{ after(grammarAccess.getProtocolClassRule()); }
+ EOF
+;
+
+// Rule ProtocolClass
+ruleProtocolClass
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getProtocolClassAccess().getGroup()); }
+(rule__ProtocolClass__Group__0)
+{ after(grammarAccess.getProtocolClassAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleMessage
+entryRuleMessage
+:
+{ before(grammarAccess.getMessageRule()); }
+ ruleMessage
+{ after(grammarAccess.getMessageRule()); }
+ EOF
+;
+
+// Rule Message
+ruleMessage
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getMessageAccess().getGroup()); }
+(rule__Message__Group__0)
+{ after(grammarAccess.getMessageAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRulePortClass
+entryRulePortClass
+:
+{ before(grammarAccess.getPortClassRule()); }
+ rulePortClass
+{ after(grammarAccess.getPortClassRule()); }
+ EOF
+;
+
+// Rule PortClass
+rulePortClass
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getPortClassAccess().getGroup()); }
+(rule__PortClass__Group__0)
+{ after(grammarAccess.getPortClassAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleMessageHandler
+entryRuleMessageHandler
+:
+{ before(grammarAccess.getMessageHandlerRule()); }
+ ruleMessageHandler
+{ after(grammarAccess.getMessageHandlerRule()); }
+ EOF
+;
+
+// Rule MessageHandler
+ruleMessageHandler
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getMessageHandlerAccess().getGroup()); }
+(rule__MessageHandler__Group__0)
+{ after(grammarAccess.getMessageHandlerAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleProtocolSemantics
+entryRuleProtocolSemantics
+:
+{ before(grammarAccess.getProtocolSemanticsRule()); }
+ ruleProtocolSemantics
+{ after(grammarAccess.getProtocolSemanticsRule()); }
+ EOF
+;
+
+// Rule ProtocolSemantics
+ruleProtocolSemantics
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getProtocolSemanticsAccess().getGroup()); }
+(rule__ProtocolSemantics__Group__0)
+{ after(grammarAccess.getProtocolSemanticsAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleSemanticsRule
+entryRuleSemanticsRule
+:
+{ before(grammarAccess.getSemanticsRuleRule()); }
+ ruleSemanticsRule
+{ after(grammarAccess.getSemanticsRuleRule()); }
+ EOF
+;
+
+// Rule SemanticsRule
+ruleSemanticsRule
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getSemanticsRuleAccess().getAlternatives()); }
+(rule__SemanticsRule__Alternatives)
+{ after(grammarAccess.getSemanticsRuleAccess().getAlternatives()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleSemanticsInRule
+entryRuleSemanticsInRule
+:
+{ before(grammarAccess.getSemanticsInRuleRule()); }
+ ruleSemanticsInRule
+{ after(grammarAccess.getSemanticsInRuleRule()); }
+ EOF
+;
+
+// Rule SemanticsInRule
+ruleSemanticsInRule
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getSemanticsInRuleAccess().getGroup()); }
+(rule__SemanticsInRule__Group__0)
+{ after(grammarAccess.getSemanticsInRuleAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleSemanticsOutRule
+entryRuleSemanticsOutRule
+:
+{ before(grammarAccess.getSemanticsOutRuleRule()); }
+ ruleSemanticsOutRule
+{ after(grammarAccess.getSemanticsOutRuleRule()); }
+ EOF
+;
+
+// Rule SemanticsOutRule
+ruleSemanticsOutRule
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getSemanticsOutRuleAccess().getGroup()); }
+(rule__SemanticsOutRule__Group__0)
+{ after(grammarAccess.getSemanticsOutRuleAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleActorClass
+entryRuleActorClass
+:
+{ before(grammarAccess.getActorClassRule()); }
+ ruleActorClass
+{ after(grammarAccess.getActorClassRule()); }
+ EOF
+;
+
+// Rule ActorClass
+ruleActorClass
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getActorClassAccess().getGroup()); }
+(rule__ActorClass__Group__0)
+{ after(grammarAccess.getActorClassAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+// Entry rule entryRulePort
+entryRulePort
+:
+{ before(grammarAccess.getPortRule()); }
+ rulePort
+{ after(grammarAccess.getPortRule()); }
+ EOF
+;
+
+// Rule Port
+rulePort
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getPortAccess().getGroup()); }
+(rule__Port__Group__0)
+{ after(grammarAccess.getPortAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleExternalPort
+entryRuleExternalPort
+:
+{ before(grammarAccess.getExternalPortRule()); }
+ ruleExternalPort
+{ after(grammarAccess.getExternalPortRule()); }
+ EOF
+;
+
+// Rule ExternalPort
+ruleExternalPort
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getExternalPortAccess().getGroup()); }
+(rule__ExternalPort__Group__0)
+{ after(grammarAccess.getExternalPortAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleSAPRef
+entryRuleSAPRef
+:
+{ before(grammarAccess.getSAPRefRule()); }
+ ruleSAPRef
+{ after(grammarAccess.getSAPRefRule()); }
+ EOF
+;
+
+// Rule SAPRef
+ruleSAPRef
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getSAPRefAccess().getGroup()); }
+(rule__SAPRef__Group__0)
+{ after(grammarAccess.getSAPRefAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleSPPRef
+entryRuleSPPRef
+:
+{ before(grammarAccess.getSPPRefRule()); }
+ ruleSPPRef
+{ after(grammarAccess.getSPPRefRule()); }
+ EOF
+;
+
+// Rule SPPRef
+ruleSPPRef
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getSPPRefAccess().getGroup()); }
+(rule__SPPRef__Group__0)
+{ after(grammarAccess.getSPPRefAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleServiceImplementation
+entryRuleServiceImplementation
+:
+{ before(grammarAccess.getServiceImplementationRule()); }
+ ruleServiceImplementation
+{ after(grammarAccess.getServiceImplementationRule()); }
+ EOF
+;
+
+// Rule ServiceImplementation
+ruleServiceImplementation
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getServiceImplementationAccess().getGroup()); }
+(rule__ServiceImplementation__Group__0)
+{ after(grammarAccess.getServiceImplementationAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleLogicalSystem
+entryRuleLogicalSystem
+:
+{ before(grammarAccess.getLogicalSystemRule()); }
+ ruleLogicalSystem
+{ after(grammarAccess.getLogicalSystemRule()); }
+ EOF
+;
+
+// Rule LogicalSystem
+ruleLogicalSystem
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getLogicalSystemAccess().getGroup()); }
+(rule__LogicalSystem__Group__0)
+{ after(grammarAccess.getLogicalSystemAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+// Entry rule entryRuleSubSystemRef
+entryRuleSubSystemRef
+:
+{ before(grammarAccess.getSubSystemRefRule()); }
+ ruleSubSystemRef
+{ after(grammarAccess.getSubSystemRefRule()); }
+ EOF
+;
+
+// Rule SubSystemRef
+ruleSubSystemRef
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getSubSystemRefAccess().getGroup()); }
+(rule__SubSystemRef__Group__0)
+{ after(grammarAccess.getSubSystemRefAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleSubSystemClass
+entryRuleSubSystemClass
+:
+{ before(grammarAccess.getSubSystemClassRule()); }
+ ruleSubSystemClass
+{ after(grammarAccess.getSubSystemClassRule()); }
+ EOF
+;
+
+// Rule SubSystemClass
+ruleSubSystemClass
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getSubSystemClassAccess().getGroup()); }
+(rule__SubSystemClass__Group__0)
+{ after(grammarAccess.getSubSystemClassAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleLogicalThread
+entryRuleLogicalThread
+:
+{ before(grammarAccess.getLogicalThreadRule()); }
+ ruleLogicalThread
+{ after(grammarAccess.getLogicalThreadRule()); }
+ EOF
+;
+
+// Rule LogicalThread
+ruleLogicalThread
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getLogicalThreadAccess().getGroup()); }
+(rule__LogicalThread__Group__0)
+{ after(grammarAccess.getLogicalThreadAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleActorInstancePath
+entryRuleActorInstancePath
+:
+{ before(grammarAccess.getActorInstancePathRule()); }
+ ruleActorInstancePath
+{ after(grammarAccess.getActorInstancePathRule()); }
+ EOF
+;
+
+// Rule ActorInstancePath
+ruleActorInstancePath
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getActorInstancePathAccess().getGroup()); }
+(rule__ActorInstancePath__Group__0)
+{ after(grammarAccess.getActorInstancePathAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleBinding
+entryRuleBinding
+:
+{ before(grammarAccess.getBindingRule()); }
+ ruleBinding
+{ after(grammarAccess.getBindingRule()); }
+ EOF
+;
+
+// Rule Binding
+ruleBinding
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getBindingAccess().getGroup()); }
+(rule__Binding__Group__0)
+{ after(grammarAccess.getBindingAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleBindingEndPoint
+entryRuleBindingEndPoint
+:
+{ before(grammarAccess.getBindingEndPointRule()); }
+ ruleBindingEndPoint
+{ after(grammarAccess.getBindingEndPointRule()); }
+ EOF
+;
+
+// Rule BindingEndPoint
+ruleBindingEndPoint
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getBindingEndPointAccess().getGroup()); }
+(rule__BindingEndPoint__Group__0)
+{ after(grammarAccess.getBindingEndPointAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleLayerConnection
+entryRuleLayerConnection
+:
+{ before(grammarAccess.getLayerConnectionRule()); }
+ ruleLayerConnection
+{ after(grammarAccess.getLayerConnectionRule()); }
+ EOF
+;
+
+// Rule LayerConnection
+ruleLayerConnection
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getLayerConnectionAccess().getGroup()); }
+(rule__LayerConnection__Group__0)
+{ after(grammarAccess.getLayerConnectionAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleSAPoint
+entryRuleSAPoint
+:
+{ before(grammarAccess.getSAPointRule()); }
+ ruleSAPoint
+{ after(grammarAccess.getSAPointRule()); }
+ EOF
+;
+
+// Rule SAPoint
+ruleSAPoint
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getSAPointAccess().getAlternatives()); }
+(rule__SAPoint__Alternatives)
+{ after(grammarAccess.getSAPointAccess().getAlternatives()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleRefSAPoint
+entryRuleRefSAPoint
+:
+{ before(grammarAccess.getRefSAPointRule()); }
+ ruleRefSAPoint
+{ after(grammarAccess.getRefSAPointRule()); }
+ EOF
+;
+
+// Rule RefSAPoint
+ruleRefSAPoint
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getRefSAPointAccess().getGroup()); }
+(rule__RefSAPoint__Group__0)
+{ after(grammarAccess.getRefSAPointAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleRelaySAPoint
+entryRuleRelaySAPoint
+:
+{ before(grammarAccess.getRelaySAPointRule()); }
+ ruleRelaySAPoint
+{ after(grammarAccess.getRelaySAPointRule()); }
+ EOF
+;
+
+// Rule RelaySAPoint
+ruleRelaySAPoint
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getRelaySAPointAccess().getGroup()); }
+(rule__RelaySAPoint__Group__0)
+{ after(grammarAccess.getRelaySAPointAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleSPPoint
+entryRuleSPPoint
+:
+{ before(grammarAccess.getSPPointRule()); }
+ ruleSPPoint
+{ after(grammarAccess.getSPPointRule()); }
+ EOF
+;
+
+// Rule SPPoint
+ruleSPPoint
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getSPPointAccess().getGroup()); }
+(rule__SPPoint__Group__0)
+{ after(grammarAccess.getSPPointAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleActorRef
+entryRuleActorRef
+:
+{ before(grammarAccess.getActorRefRule()); }
+ ruleActorRef
+{ after(grammarAccess.getActorRefRule()); }
+ EOF
+;
+
+// Rule ActorRef
+ruleActorRef
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getActorRefAccess().getGroup()); }
+(rule__ActorRef__Group__0)
+{ after(grammarAccess.getActorRefAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleStateGraphNode
+entryRuleStateGraphNode
+:
+{ before(grammarAccess.getStateGraphNodeRule()); }
+ ruleStateGraphNode
+{ after(grammarAccess.getStateGraphNodeRule()); }
+ EOF
+;
+
+// Rule StateGraphNode
+ruleStateGraphNode
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getStateGraphNodeAccess().getAlternatives()); }
+(rule__StateGraphNode__Alternatives)
+{ after(grammarAccess.getStateGraphNodeAccess().getAlternatives()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+// Entry rule entryRuleState
+entryRuleState
+:
+{ before(grammarAccess.getStateRule()); }
+ ruleState
+{ after(grammarAccess.getStateRule()); }
+ EOF
+;
+
+// Rule State
+ruleState
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getStateAccess().getAlternatives()); }
+(rule__State__Alternatives)
+{ after(grammarAccess.getStateAccess().getAlternatives()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleStateGraph
+entryRuleStateGraph
+:
+{ before(grammarAccess.getStateGraphRule()); }
+ ruleStateGraph
+{ after(grammarAccess.getStateGraphRule()); }
+ EOF
+;
+
+// Rule StateGraph
+ruleStateGraph
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getStateGraphAccess().getGroup()); }
+(rule__StateGraph__Group__0)
+{ after(grammarAccess.getStateGraphAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleStateMachine
+entryRuleStateMachine
+:
+{ before(grammarAccess.getStateMachineRule()); }
+ ruleStateMachine
+{ after(grammarAccess.getStateMachineRule()); }
+ EOF
+;
+
+// Rule StateMachine
+ruleStateMachine
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getStateMachineAccess().getGroup()); }
+(rule__StateMachine__Group__0)
+{ after(grammarAccess.getStateMachineAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleBaseState
+entryRuleBaseState
+:
+{ before(grammarAccess.getBaseStateRule()); }
+ ruleBaseState
+{ after(grammarAccess.getBaseStateRule()); }
+ EOF
+;
+
+// Rule BaseState
+ruleBaseState
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getBaseStateAccess().getGroup()); }
+(rule__BaseState__Group__0)
+{ after(grammarAccess.getBaseStateAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleRefinedState
+entryRuleRefinedState
+:
+{ before(grammarAccess.getRefinedStateRule()); }
+ ruleRefinedState
+{ after(grammarAccess.getRefinedStateRule()); }
+ EOF
+;
+
+// Rule RefinedState
+ruleRefinedState
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getRefinedStateAccess().getGroup()); }
+(rule__RefinedState__Group__0)
+{ after(grammarAccess.getRefinedStateAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleDetailCode
+entryRuleDetailCode
+:
+{ before(grammarAccess.getDetailCodeRule()); }
+ ruleDetailCode
+{ after(grammarAccess.getDetailCodeRule()); }
+ EOF
+;
+
+// Rule DetailCode
+ruleDetailCode
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getDetailCodeAccess().getGroup()); }
+(rule__DetailCode__Group__0)
+{ after(grammarAccess.getDetailCodeAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleTrPoint
+entryRuleTrPoint
+:
+{ before(grammarAccess.getTrPointRule()); }
+ ruleTrPoint
+{ after(grammarAccess.getTrPointRule()); }
+ EOF
+;
+
+// Rule TrPoint
+ruleTrPoint
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getTrPointAccess().getAlternatives()); }
+(rule__TrPoint__Alternatives)
+{ after(grammarAccess.getTrPointAccess().getAlternatives()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleTransitionPoint
+entryRuleTransitionPoint
+:
+{ before(grammarAccess.getTransitionPointRule()); }
+ ruleTransitionPoint
+{ after(grammarAccess.getTransitionPointRule()); }
+ EOF
+;
+
+// Rule TransitionPoint
+ruleTransitionPoint
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getTransitionPointAccess().getGroup()); }
+(rule__TransitionPoint__Group__0)
+{ after(grammarAccess.getTransitionPointAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleEntryPoint
+entryRuleEntryPoint
+:
+{ before(grammarAccess.getEntryPointRule()); }
+ ruleEntryPoint
+{ after(grammarAccess.getEntryPointRule()); }
+ EOF
+;
+
+// Rule EntryPoint
+ruleEntryPoint
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getEntryPointAccess().getGroup()); }
+(rule__EntryPoint__Group__0)
+{ after(grammarAccess.getEntryPointAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleExitPoint
+entryRuleExitPoint
+:
+{ before(grammarAccess.getExitPointRule()); }
+ ruleExitPoint
+{ after(grammarAccess.getExitPointRule()); }
+ EOF
+;
+
+// Rule ExitPoint
+ruleExitPoint
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getExitPointAccess().getGroup()); }
+(rule__ExitPoint__Group__0)
+{ after(grammarAccess.getExitPointAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleChoicePoint
+entryRuleChoicePoint
+:
+{ before(grammarAccess.getChoicePointRule()); }
+ ruleChoicePoint
+{ after(grammarAccess.getChoicePointRule()); }
+ EOF
+;
+
+// Rule ChoicePoint
+ruleChoicePoint
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getChoicePointAccess().getGroup()); }
+(rule__ChoicePoint__Group__0)
+{ after(grammarAccess.getChoicePointAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleTransition
+entryRuleTransition
+:
+{ before(grammarAccess.getTransitionRule()); }
+ ruleTransition
+{ after(grammarAccess.getTransitionRule()); }
+ EOF
+;
+
+// Rule Transition
+ruleTransition
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getTransitionAccess().getAlternatives()); }
+(rule__Transition__Alternatives)
+{ after(grammarAccess.getTransitionAccess().getAlternatives()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleNonInitialTransition
+entryRuleNonInitialTransition
+:
+{ before(grammarAccess.getNonInitialTransitionRule()); }
+ ruleNonInitialTransition
+{ after(grammarAccess.getNonInitialTransitionRule()); }
+ EOF
+;
+
+// Rule NonInitialTransition
+ruleNonInitialTransition
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getNonInitialTransitionAccess().getAlternatives()); }
+(rule__NonInitialTransition__Alternatives)
+{ after(grammarAccess.getNonInitialTransitionAccess().getAlternatives()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleInitialTransition
+entryRuleInitialTransition
+:
+{ before(grammarAccess.getInitialTransitionRule()); }
+ ruleInitialTransition
+{ after(grammarAccess.getInitialTransitionRule()); }
+ EOF
+;
+
+// Rule InitialTransition
+ruleInitialTransition
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getInitialTransitionAccess().getGroup()); }
+(rule__InitialTransition__Group__0)
+{ after(grammarAccess.getInitialTransitionAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleContinuationTransition
+entryRuleContinuationTransition
+:
+{ before(grammarAccess.getContinuationTransitionRule()); }
+ ruleContinuationTransition
+{ after(grammarAccess.getContinuationTransitionRule()); }
+ EOF
+;
+
+// Rule ContinuationTransition
+ruleContinuationTransition
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getContinuationTransitionAccess().getGroup()); }
+(rule__ContinuationTransition__Group__0)
+{ after(grammarAccess.getContinuationTransitionAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleTriggeredTransition
+entryRuleTriggeredTransition
+:
+{ before(grammarAccess.getTriggeredTransitionRule()); }
+ ruleTriggeredTransition
+{ after(grammarAccess.getTriggeredTransitionRule()); }
+ EOF
+;
+
+// Rule TriggeredTransition
+ruleTriggeredTransition
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getTriggeredTransitionAccess().getGroup()); }
+(rule__TriggeredTransition__Group__0)
+{ after(grammarAccess.getTriggeredTransitionAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleCPBranchTransition
+entryRuleCPBranchTransition
+:
+{ before(grammarAccess.getCPBranchTransitionRule()); }
+ ruleCPBranchTransition
+{ after(grammarAccess.getCPBranchTransitionRule()); }
+ EOF
+;
+
+// Rule CPBranchTransition
+ruleCPBranchTransition
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getCPBranchTransitionAccess().getGroup()); }
+(rule__CPBranchTransition__Group__0)
+{ after(grammarAccess.getCPBranchTransitionAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleTransitionTerminal
+entryRuleTransitionTerminal
+:
+{ before(grammarAccess.getTransitionTerminalRule()); }
+ ruleTransitionTerminal
+{ after(grammarAccess.getTransitionTerminalRule()); }
+ EOF
+;
+
+// Rule TransitionTerminal
+ruleTransitionTerminal
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getTransitionTerminalAccess().getAlternatives()); }
+(rule__TransitionTerminal__Alternatives)
+{ after(grammarAccess.getTransitionTerminalAccess().getAlternatives()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleStateTerminal
+entryRuleStateTerminal
+:
+{ before(grammarAccess.getStateTerminalRule()); }
+ ruleStateTerminal
+{ after(grammarAccess.getStateTerminalRule()); }
+ EOF
+;
+
+// Rule StateTerminal
+ruleStateTerminal
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getStateTerminalAccess().getStateAssignment()); }
+(rule__StateTerminal__StateAssignment)
+{ after(grammarAccess.getStateTerminalAccess().getStateAssignment()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleTrPointTerminal
+entryRuleTrPointTerminal
+:
+{ before(grammarAccess.getTrPointTerminalRule()); }
+ ruleTrPointTerminal
+{ after(grammarAccess.getTrPointTerminalRule()); }
+ EOF
+;
+
+// Rule TrPointTerminal
+ruleTrPointTerminal
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getTrPointTerminalAccess().getGroup()); }
+(rule__TrPointTerminal__Group__0)
+{ after(grammarAccess.getTrPointTerminalAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleSubStateTrPointTerminal
+entryRuleSubStateTrPointTerminal
+:
+{ before(grammarAccess.getSubStateTrPointTerminalRule()); }
+ ruleSubStateTrPointTerminal
+{ after(grammarAccess.getSubStateTrPointTerminalRule()); }
+ EOF
+;
+
+// Rule SubStateTrPointTerminal
+ruleSubStateTrPointTerminal
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getSubStateTrPointTerminalAccess().getGroup()); }
+(rule__SubStateTrPointTerminal__Group__0)
+{ after(grammarAccess.getSubStateTrPointTerminalAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleChoicepointTerminal
+entryRuleChoicepointTerminal
+:
+{ before(grammarAccess.getChoicepointTerminalRule()); }
+ ruleChoicepointTerminal
+{ after(grammarAccess.getChoicepointTerminalRule()); }
+ EOF
+;
+
+// Rule ChoicepointTerminal
+ruleChoicepointTerminal
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getChoicepointTerminalAccess().getGroup()); }
+(rule__ChoicepointTerminal__Group__0)
+{ after(grammarAccess.getChoicepointTerminalAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleTrigger
+entryRuleTrigger
+:
+{ before(grammarAccess.getTriggerRule()); }
+ ruleTrigger
+{ after(grammarAccess.getTriggerRule()); }
+ EOF
+;
+
+// Rule Trigger
+ruleTrigger
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getTriggerAccess().getGroup()); }
+(rule__Trigger__Group__0)
+{ after(grammarAccess.getTriggerAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleMessageFromIf
+entryRuleMessageFromIf
+:
+{ before(grammarAccess.getMessageFromIfRule()); }
+ ruleMessageFromIf
+{ after(grammarAccess.getMessageFromIfRule()); }
+ EOF
+;
+
+// Rule MessageFromIf
+ruleMessageFromIf
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getMessageFromIfAccess().getGroup()); }
+(rule__MessageFromIf__Group__0)
+{ after(grammarAccess.getMessageFromIfAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleGuard
+entryRuleGuard
+:
+{ before(grammarAccess.getGuardRule()); }
+ ruleGuard
+{ after(grammarAccess.getGuardRule()); }
+ EOF
+;
+
+// Rule Guard
+ruleGuard
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getGuardAccess().getGroup()); }
+(rule__Guard__Group__0)
+{ after(grammarAccess.getGuardAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleImport
+entryRuleImport
+:
+{ before(grammarAccess.getImportRule()); }
+ ruleImport
+{ after(grammarAccess.getImportRule()); }
+ EOF
+;
+
+// Rule Import
+ruleImport
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getImportAccess().getGroup()); }
+(rule__Import__Group__0)
+{ after(grammarAccess.getImportAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleImportedFQN
+entryRuleImportedFQN
+:
+{ before(grammarAccess.getImportedFQNRule()); }
+ ruleImportedFQN
+{ after(grammarAccess.getImportedFQNRule()); }
+ EOF
+;
+
+// Rule ImportedFQN
+ruleImportedFQN
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getImportedFQNAccess().getGroup()); }
+(rule__ImportedFQN__Group__0)
+{ after(grammarAccess.getImportedFQNAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleFQN
+entryRuleFQN
+:
+{ before(grammarAccess.getFQNRule()); }
+ ruleFQN
+{ after(grammarAccess.getFQNRule()); }
+ EOF
+;
+
+// Rule FQN
+ruleFQN
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getFQNAccess().getGroup()); }
+(rule__FQN__Group__0)
+{ after(grammarAccess.getFQNAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+// Rule PrimitiveType
+rulePrimitiveType
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrimitiveTypeAccess().getAlternatives()); }
+(rule__PrimitiveType__Alternatives)
+{ after(grammarAccess.getPrimitiveTypeAccess().getAlternatives()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+rule__RoomModel__Alternatives_4
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getRoomModelAccess().getDataClassesAssignment_4_0()); }
+(rule__RoomModel__DataClassesAssignment_4_0)
+{ after(grammarAccess.getRoomModelAccess().getDataClassesAssignment_4_0()); }
+)
+
+ |(
+{ before(grammarAccess.getRoomModelAccess().getProtocolClassesAssignment_4_1()); }
+(rule__RoomModel__ProtocolClassesAssignment_4_1)
+{ after(grammarAccess.getRoomModelAccess().getProtocolClassesAssignment_4_1()); }
+)
+
+ |(
+{ before(grammarAccess.getRoomModelAccess().getActorClassesAssignment_4_2()); }
+(rule__RoomModel__ActorClassesAssignment_4_2)
+{ after(grammarAccess.getRoomModelAccess().getActorClassesAssignment_4_2()); }
+)
+
+ |(
+{ before(grammarAccess.getRoomModelAccess().getSubSystemClassesAssignment_4_3()); }
+(rule__RoomModel__SubSystemClassesAssignment_4_3)
+{ after(grammarAccess.getRoomModelAccess().getSubSystemClassesAssignment_4_3()); }
+)
+
+ |(
+{ before(grammarAccess.getRoomModelAccess().getSystemsAssignment_4_4()); }
+(rule__RoomModel__SystemsAssignment_4_4)
+{ after(grammarAccess.getRoomModelAccess().getSystemsAssignment_4_4()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__StructureClass__Alternatives
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getStructureClassAccess().getActorContainerClassParserRuleCall_0()); }
+ ruleActorContainerClass
+{ after(grammarAccess.getStructureClassAccess().getActorContainerClassParserRuleCall_0()); }
+)
+
+ |(
+{ before(grammarAccess.getStructureClassAccess().getLogicalSystemParserRuleCall_1()); }
+ ruleLogicalSystem
+{ after(grammarAccess.getStructureClassAccess().getLogicalSystemParserRuleCall_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorContainerClass__Alternatives
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorContainerClassAccess().getActorClassParserRuleCall_0()); }
+ ruleActorClass
+{ after(grammarAccess.getActorContainerClassAccess().getActorClassParserRuleCall_0()); }
+)
+
+ |(
+{ before(grammarAccess.getActorContainerClassAccess().getSubSystemClassParserRuleCall_1()); }
+ ruleSubSystemClass
+{ after(grammarAccess.getActorContainerClassAccess().getSubSystemClassParserRuleCall_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Type__Alternatives
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTypeAccess().getPrimAssignment_0()); }
+(rule__Type__PrimAssignment_0)
+{ after(grammarAccess.getTypeAccess().getPrimAssignment_0()); }
+)
+
+ |(
+{ before(grammarAccess.getTypeAccess().getTypeAssignment_1()); }
+(rule__Type__TypeAssignment_1)
+{ after(grammarAccess.getTypeAccess().getTypeAssignment_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__FreeType__Alternatives
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getFreeTypeAccess().getPrimAssignment_0()); }
+(rule__FreeType__PrimAssignment_0)
+{ after(grammarAccess.getFreeTypeAccess().getPrimAssignment_0()); }
+)
+
+ |(
+{ before(grammarAccess.getFreeTypeAccess().getTypeAssignment_1()); }
+(rule__FreeType__TypeAssignment_1)
+{ after(grammarAccess.getFreeTypeAccess().getTypeAssignment_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PortClass__Alternatives_2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPortClassAccess().getAttributesAssignment_2_0()); }
+(rule__PortClass__AttributesAssignment_2_0)
+{ after(grammarAccess.getPortClassAccess().getAttributesAssignment_2_0()); }
+)
+
+ |(
+{ before(grammarAccess.getPortClassAccess().getOperationsAssignment_2_1()); }
+(rule__PortClass__OperationsAssignment_2_1)
+{ after(grammarAccess.getPortClassAccess().getOperationsAssignment_2_1()); }
+)
+
+ |(
+{ before(grammarAccess.getPortClassAccess().getMsgHandlersAssignment_2_2()); }
+(rule__PortClass__MsgHandlersAssignment_2_2)
+{ after(grammarAccess.getPortClassAccess().getMsgHandlersAssignment_2_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__SemanticsRule__Alternatives
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSemanticsRuleAccess().getSemanticsInRuleParserRuleCall_0()); }
+ ruleSemanticsInRule
+{ after(grammarAccess.getSemanticsRuleAccess().getSemanticsInRuleParserRuleCall_0()); }
+)
+
+ |(
+{ before(grammarAccess.getSemanticsRuleAccess().getSemanticsOutRuleParserRuleCall_1()); }
+ ruleSemanticsOutRule
+{ after(grammarAccess.getSemanticsRuleAccess().getSemanticsOutRuleParserRuleCall_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorClass__Alternatives_6_4
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorClassAccess().getIntPortsAssignment_6_4_0()); }
+(rule__ActorClass__IntPortsAssignment_6_4_0)
+{ after(grammarAccess.getActorClassAccess().getIntPortsAssignment_6_4_0()); }
+)
+
+ |(
+{ before(grammarAccess.getActorClassAccess().getExtPortsAssignment_6_4_1()); }
+(rule__ActorClass__ExtPortsAssignment_6_4_1)
+{ after(grammarAccess.getActorClassAccess().getExtPortsAssignment_6_4_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+rule__SAPoint__Alternatives
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSAPointAccess().getRefSAPointParserRuleCall_0()); }
+ ruleRefSAPoint
+{ after(grammarAccess.getSAPointAccess().getRefSAPointParserRuleCall_0()); }
+)
+
+ |(
+{ before(grammarAccess.getSAPointAccess().getRelaySAPointParserRuleCall_1()); }
+ ruleRelaySAPoint
+{ after(grammarAccess.getSAPointAccess().getRelaySAPointParserRuleCall_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__StateGraphNode__Alternatives
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getStateGraphNodeAccess().getStateParserRuleCall_0()); }
+ ruleState
+{ after(grammarAccess.getStateGraphNodeAccess().getStateParserRuleCall_0()); }
+)
+
+ |(
+{ before(grammarAccess.getStateGraphNodeAccess().getChoicePointParserRuleCall_1()); }
+ ruleChoicePoint
+{ after(grammarAccess.getStateGraphNodeAccess().getChoicePointParserRuleCall_1()); }
+)
+
+ |(
+{ before(grammarAccess.getStateGraphNodeAccess().getTrPointParserRuleCall_2()); }
+ ruleTrPoint
+{ after(grammarAccess.getStateGraphNodeAccess().getTrPointParserRuleCall_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__State__Alternatives
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getStateAccess().getBaseStateParserRuleCall_0()); }
+ ruleBaseState
+{ after(grammarAccess.getStateAccess().getBaseStateParserRuleCall_0()); }
+)
+
+ |(
+{ before(grammarAccess.getStateAccess().getRefinedStateParserRuleCall_1()); }
+ ruleRefinedState
+{ after(grammarAccess.getStateAccess().getRefinedStateParserRuleCall_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__StateGraph__Alternatives_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getStateGraphAccess().getStatesAssignment_1_0()); }
+(rule__StateGraph__StatesAssignment_1_0)
+{ after(grammarAccess.getStateGraphAccess().getStatesAssignment_1_0()); }
+)
+
+ |(
+{ before(grammarAccess.getStateGraphAccess().getTrPointsAssignment_1_1()); }
+(rule__StateGraph__TrPointsAssignment_1_1)
+{ after(grammarAccess.getStateGraphAccess().getTrPointsAssignment_1_1()); }
+)
+
+ |(
+{ before(grammarAccess.getStateGraphAccess().getChPointsAssignment_1_2()); }
+(rule__StateGraph__ChPointsAssignment_1_2)
+{ after(grammarAccess.getStateGraphAccess().getChPointsAssignment_1_2()); }
+)
+
+ |(
+{ before(grammarAccess.getStateGraphAccess().getTransitionsAssignment_1_3()); }
+(rule__StateGraph__TransitionsAssignment_1_3)
+{ after(grammarAccess.getStateGraphAccess().getTransitionsAssignment_1_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__StateMachine__Alternatives_2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getStateMachineAccess().getStatesAssignment_2_0()); }
+(rule__StateMachine__StatesAssignment_2_0)
+{ after(grammarAccess.getStateMachineAccess().getStatesAssignment_2_0()); }
+)
+
+ |(
+{ before(grammarAccess.getStateMachineAccess().getTrPointsAssignment_2_1()); }
+(rule__StateMachine__TrPointsAssignment_2_1)
+{ after(grammarAccess.getStateMachineAccess().getTrPointsAssignment_2_1()); }
+)
+
+ |(
+{ before(grammarAccess.getStateMachineAccess().getChPointsAssignment_2_2()); }
+(rule__StateMachine__ChPointsAssignment_2_2)
+{ after(grammarAccess.getStateMachineAccess().getChPointsAssignment_2_2()); }
+)
+
+ |(
+{ before(grammarAccess.getStateMachineAccess().getTransitionsAssignment_2_3()); }
+(rule__StateMachine__TransitionsAssignment_2_3)
+{ after(grammarAccess.getStateMachineAccess().getTransitionsAssignment_2_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TrPoint__Alternatives
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTrPointAccess().getTransitionPointParserRuleCall_0()); }
+ ruleTransitionPoint
+{ after(grammarAccess.getTrPointAccess().getTransitionPointParserRuleCall_0()); }
+)
+
+ |(
+{ before(grammarAccess.getTrPointAccess().getEntryPointParserRuleCall_1()); }
+ ruleEntryPoint
+{ after(grammarAccess.getTrPointAccess().getEntryPointParserRuleCall_1()); }
+)
+
+ |(
+{ before(grammarAccess.getTrPointAccess().getExitPointParserRuleCall_2()); }
+ ruleExitPoint
+{ after(grammarAccess.getTrPointAccess().getExitPointParserRuleCall_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Transition__Alternatives
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTransitionAccess().getInitialTransitionParserRuleCall_0()); }
+ ruleInitialTransition
+{ after(grammarAccess.getTransitionAccess().getInitialTransitionParserRuleCall_0()); }
+)
+
+ |(
+{ before(grammarAccess.getTransitionAccess().getNonInitialTransitionParserRuleCall_1()); }
+ ruleNonInitialTransition
+{ after(grammarAccess.getTransitionAccess().getNonInitialTransitionParserRuleCall_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__NonInitialTransition__Alternatives
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getNonInitialTransitionAccess().getTriggeredTransitionParserRuleCall_0()); }
+ ruleTriggeredTransition
+{ after(grammarAccess.getNonInitialTransitionAccess().getTriggeredTransitionParserRuleCall_0()); }
+)
+
+ |(
+{ before(grammarAccess.getNonInitialTransitionAccess().getContinuationTransitionParserRuleCall_1()); }
+ ruleContinuationTransition
+{ after(grammarAccess.getNonInitialTransitionAccess().getContinuationTransitionParserRuleCall_1()); }
+)
+
+ |(
+{ before(grammarAccess.getNonInitialTransitionAccess().getCPBranchTransitionParserRuleCall_2()); }
+ ruleCPBranchTransition
+{ after(grammarAccess.getNonInitialTransitionAccess().getCPBranchTransitionParserRuleCall_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TransitionTerminal__Alternatives
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTransitionTerminalAccess().getStateTerminalParserRuleCall_0()); }
+ ruleStateTerminal
+{ after(grammarAccess.getTransitionTerminalAccess().getStateTerminalParserRuleCall_0()); }
+)
+
+ |(
+{ before(grammarAccess.getTransitionTerminalAccess().getTrPointTerminalParserRuleCall_1()); }
+ ruleTrPointTerminal
+{ after(grammarAccess.getTransitionTerminalAccess().getTrPointTerminalParserRuleCall_1()); }
+)
+
+ |(
+{ before(grammarAccess.getTransitionTerminalAccess().getSubStateTrPointTerminalParserRuleCall_2()); }
+ ruleSubStateTrPointTerminal
+{ after(grammarAccess.getTransitionTerminalAccess().getSubStateTrPointTerminalParserRuleCall_2()); }
+)
+
+ |(
+{ before(grammarAccess.getTransitionTerminalAccess().getChoicepointTerminalParserRuleCall_3()); }
+ ruleChoicepointTerminal
+{ after(grammarAccess.getTransitionTerminalAccess().getChoicepointTerminalParserRuleCall_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrimitiveType__Alternatives
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrimitiveTypeAccess().getVoidEnumLiteralDeclaration_0()); }
+( 'void'
+)
+{ after(grammarAccess.getPrimitiveTypeAccess().getVoidEnumLiteralDeclaration_0()); }
+)
+
+ |(
+{ before(grammarAccess.getPrimitiveTypeAccess().getInt8EnumLiteralDeclaration_1()); }
+( 'int8'
+)
+{ after(grammarAccess.getPrimitiveTypeAccess().getInt8EnumLiteralDeclaration_1()); }
+)
+
+ |(
+{ before(grammarAccess.getPrimitiveTypeAccess().getInt16EnumLiteralDeclaration_2()); }
+( 'int16'
+)
+{ after(grammarAccess.getPrimitiveTypeAccess().getInt16EnumLiteralDeclaration_2()); }
+)
+
+ |(
+{ before(grammarAccess.getPrimitiveTypeAccess().getInt32EnumLiteralDeclaration_3()); }
+( 'int32'
+)
+{ after(grammarAccess.getPrimitiveTypeAccess().getInt32EnumLiteralDeclaration_3()); }
+)
+
+ |(
+{ before(grammarAccess.getPrimitiveTypeAccess().getUint8EnumLiteralDeclaration_4()); }
+( 'uint8'
+)
+{ after(grammarAccess.getPrimitiveTypeAccess().getUint8EnumLiteralDeclaration_4()); }
+)
+
+ |(
+{ before(grammarAccess.getPrimitiveTypeAccess().getUint16EnumLiteralDeclaration_5()); }
+( 'uint16'
+)
+{ after(grammarAccess.getPrimitiveTypeAccess().getUint16EnumLiteralDeclaration_5()); }
+)
+
+ |(
+{ before(grammarAccess.getPrimitiveTypeAccess().getUint32EnumLiteralDeclaration_6()); }
+( 'uint32'
+)
+{ after(grammarAccess.getPrimitiveTypeAccess().getUint32EnumLiteralDeclaration_6()); }
+)
+
+ |(
+{ before(grammarAccess.getPrimitiveTypeAccess().getFloat32EnumLiteralDeclaration_7()); }
+( 'float32'
+)
+{ after(grammarAccess.getPrimitiveTypeAccess().getFloat32EnumLiteralDeclaration_7()); }
+)
+
+ |(
+{ before(grammarAccess.getPrimitiveTypeAccess().getFloat64EnumLiteralDeclaration_8()); }
+( 'float64'
+)
+{ after(grammarAccess.getPrimitiveTypeAccess().getFloat64EnumLiteralDeclaration_8()); }
+)
+
+ |(
+{ before(grammarAccess.getPrimitiveTypeAccess().getBooleanEnumLiteralDeclaration_9()); }
+( 'boolean'
+)
+{ after(grammarAccess.getPrimitiveTypeAccess().getBooleanEnumLiteralDeclaration_9()); }
+)
+
+ |(
+{ before(grammarAccess.getPrimitiveTypeAccess().getStringEnumLiteralDeclaration_10()); }
+( 'string'
+)
+{ after(grammarAccess.getPrimitiveTypeAccess().getStringEnumLiteralDeclaration_10()); }
+)
+
+ |(
+{ before(grammarAccess.getPrimitiveTypeAccess().getCharEnumLiteralDeclaration_11()); }
+( 'char'
+)
+{ after(grammarAccess.getPrimitiveTypeAccess().getCharEnumLiteralDeclaration_11()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+rule__RoomModel__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__RoomModel__Group__0__Impl
+ rule__RoomModel__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__RoomModel__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getRoomModelAccess().getRoomModelKeyword_0()); }
+
+ 'RoomModel'
+
+{ after(grammarAccess.getRoomModelAccess().getRoomModelKeyword_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__RoomModel__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__RoomModel__Group__1__Impl
+ rule__RoomModel__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__RoomModel__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getRoomModelAccess().getNameAssignment_1()); }
+(rule__RoomModel__NameAssignment_1)
+{ after(grammarAccess.getRoomModelAccess().getNameAssignment_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__RoomModel__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__RoomModel__Group__2__Impl
+ rule__RoomModel__Group__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__RoomModel__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getRoomModelAccess().getLeftCurlyBracketKeyword_2()); }
+
+ '{'
+
+{ after(grammarAccess.getRoomModelAccess().getLeftCurlyBracketKeyword_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__RoomModel__Group__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__RoomModel__Group__3__Impl
+ rule__RoomModel__Group__4
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__RoomModel__Group__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getRoomModelAccess().getImportsAssignment_3()); }
+(rule__RoomModel__ImportsAssignment_3)*
+{ after(grammarAccess.getRoomModelAccess().getImportsAssignment_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__RoomModel__Group__4
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__RoomModel__Group__4__Impl
+ rule__RoomModel__Group__5
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__RoomModel__Group__4__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+(
+{ before(grammarAccess.getRoomModelAccess().getAlternatives_4()); }
+(rule__RoomModel__Alternatives_4)
+{ after(grammarAccess.getRoomModelAccess().getAlternatives_4()); }
+)
+(
+{ before(grammarAccess.getRoomModelAccess().getAlternatives_4()); }
+(rule__RoomModel__Alternatives_4)*
+{ after(grammarAccess.getRoomModelAccess().getAlternatives_4()); }
+)
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__RoomModel__Group__5
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__RoomModel__Group__5__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__RoomModel__Group__5__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getRoomModelAccess().getRightCurlyBracketKeyword_5()); }
+
+ '}'
+
+{ after(grammarAccess.getRoomModelAccess().getRightCurlyBracketKeyword_5()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+rule__TypedID__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__TypedID__Group__0__Impl
+ rule__TypedID__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TypedID__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTypedIDAccess().getNameAssignment_0()); }
+(rule__TypedID__NameAssignment_0)
+{ after(grammarAccess.getTypedIDAccess().getNameAssignment_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__TypedID__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__TypedID__Group__1__Impl
+ rule__TypedID__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TypedID__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTypedIDAccess().getColonKeyword_1()); }
+
+ ':'
+
+{ after(grammarAccess.getTypedIDAccess().getColonKeyword_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__TypedID__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__TypedID__Group__2__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TypedID__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTypedIDAccess().getTypeAssignment_2()); }
+(rule__TypedID__TypeAssignment_2)
+{ after(grammarAccess.getTypedIDAccess().getTypeAssignment_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+rule__FreeTypedID__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__FreeTypedID__Group__0__Impl
+ rule__FreeTypedID__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__FreeTypedID__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getFreeTypedIDAccess().getNameAssignment_0()); }
+(rule__FreeTypedID__NameAssignment_0)
+{ after(grammarAccess.getFreeTypedIDAccess().getNameAssignment_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__FreeTypedID__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__FreeTypedID__Group__1__Impl
+ rule__FreeTypedID__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__FreeTypedID__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getFreeTypedIDAccess().getColonKeyword_1()); }
+
+ ':'
+
+{ after(grammarAccess.getFreeTypedIDAccess().getColonKeyword_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__FreeTypedID__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__FreeTypedID__Group__2__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__FreeTypedID__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getFreeTypedIDAccess().getTypeAssignment_2()); }
+(rule__FreeTypedID__TypeAssignment_2)
+{ after(grammarAccess.getFreeTypedIDAccess().getTypeAssignment_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+rule__DataClass__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__DataClass__Group__0__Impl
+ rule__DataClass__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__DataClass__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getDataClassAccess().getDataClassKeyword_0()); }
+
+ 'DataClass'
+
+{ after(grammarAccess.getDataClassAccess().getDataClassKeyword_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__DataClass__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__DataClass__Group__1__Impl
+ rule__DataClass__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__DataClass__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getDataClassAccess().getNameAssignment_1()); }
+(rule__DataClass__NameAssignment_1)
+{ after(grammarAccess.getDataClassAccess().getNameAssignment_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__DataClass__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__DataClass__Group__2__Impl
+ rule__DataClass__Group__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__DataClass__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getDataClassAccess().getGroup_2()); }
+(rule__DataClass__Group_2__0)?
+{ after(grammarAccess.getDataClassAccess().getGroup_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__DataClass__Group__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__DataClass__Group__3__Impl
+ rule__DataClass__Group__4
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__DataClass__Group__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getDataClassAccess().getLeftCurlyBracketKeyword_3()); }
+
+ '{'
+
+{ after(grammarAccess.getDataClassAccess().getLeftCurlyBracketKeyword_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__DataClass__Group__4
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__DataClass__Group__4__Impl
+ rule__DataClass__Group__5
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__DataClass__Group__4__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getDataClassAccess().getImportsAssignment_4()); }
+(rule__DataClass__ImportsAssignment_4)*
+{ after(grammarAccess.getDataClassAccess().getImportsAssignment_4()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__DataClass__Group__5
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__DataClass__Group__5__Impl
+ rule__DataClass__Group__6
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__DataClass__Group__5__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+(
+{ before(grammarAccess.getDataClassAccess().getAttributesAssignment_5()); }
+(rule__DataClass__AttributesAssignment_5)
+{ after(grammarAccess.getDataClassAccess().getAttributesAssignment_5()); }
+)
+(
+{ before(grammarAccess.getDataClassAccess().getAttributesAssignment_5()); }
+(rule__DataClass__AttributesAssignment_5)*
+{ after(grammarAccess.getDataClassAccess().getAttributesAssignment_5()); }
+)
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__DataClass__Group__6
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__DataClass__Group__6__Impl
+ rule__DataClass__Group__7
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__DataClass__Group__6__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getDataClassAccess().getOperationsAssignment_6()); }
+(rule__DataClass__OperationsAssignment_6)*
+{ after(grammarAccess.getDataClassAccess().getOperationsAssignment_6()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__DataClass__Group__7
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__DataClass__Group__7__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__DataClass__Group__7__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getDataClassAccess().getRightCurlyBracketKeyword_7()); }
+
+ '}'
+
+{ after(grammarAccess.getDataClassAccess().getRightCurlyBracketKeyword_7()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+rule__DataClass__Group_2__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__DataClass__Group_2__0__Impl
+ rule__DataClass__Group_2__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__DataClass__Group_2__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getDataClassAccess().getExtendsKeyword_2_0()); }
+
+ 'extends'
+
+{ after(grammarAccess.getDataClassAccess().getExtendsKeyword_2_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__DataClass__Group_2__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__DataClass__Group_2__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__DataClass__Group_2__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getDataClassAccess().getBaseAssignment_2_1()); }
+(rule__DataClass__BaseAssignment_2_1)
+{ after(grammarAccess.getDataClassAccess().getBaseAssignment_2_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__Attribute__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Attribute__Group__0__Impl
+ rule__Attribute__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Attribute__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getAttributeAccess().getAttributeKeyword_0()); }
+
+ 'Attribute'
+
+{ after(grammarAccess.getAttributeAccess().getAttributeKeyword_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Attribute__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Attribute__Group__1__Impl
+ rule__Attribute__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Attribute__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getAttributeAccess().getNameAssignment_1()); }
+(rule__Attribute__NameAssignment_1)
+{ after(grammarAccess.getAttributeAccess().getNameAssignment_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Attribute__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Attribute__Group__2__Impl
+ rule__Attribute__Group__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Attribute__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getAttributeAccess().getGroup_2()); }
+(rule__Attribute__Group_2__0)?
+{ after(grammarAccess.getAttributeAccess().getGroup_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Attribute__Group__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Attribute__Group__3__Impl
+ rule__Attribute__Group__4
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Attribute__Group__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getAttributeAccess().getColonKeyword_3()); }
+
+ ':'
+
+{ after(grammarAccess.getAttributeAccess().getColonKeyword_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Attribute__Group__4
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Attribute__Group__4__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Attribute__Group__4__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getAttributeAccess().getTypeAssignment_4()); }
+(rule__Attribute__TypeAssignment_4)
+{ after(grammarAccess.getAttributeAccess().getTypeAssignment_4()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+rule__Attribute__Group_2__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Attribute__Group_2__0__Impl
+ rule__Attribute__Group_2__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Attribute__Group_2__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getAttributeAccess().getLeftSquareBracketKeyword_2_0()); }
+
+ '['
+
+{ after(grammarAccess.getAttributeAccess().getLeftSquareBracketKeyword_2_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Attribute__Group_2__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Attribute__Group_2__1__Impl
+ rule__Attribute__Group_2__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Attribute__Group_2__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getAttributeAccess().getSizeAssignment_2_1()); }
+(rule__Attribute__SizeAssignment_2_1)
+{ after(grammarAccess.getAttributeAccess().getSizeAssignment_2_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Attribute__Group_2__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Attribute__Group_2__2__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Attribute__Group_2__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getAttributeAccess().getRightSquareBracketKeyword_2_2()); }
+
+ ']'
+
+{ after(grammarAccess.getAttributeAccess().getRightSquareBracketKeyword_2_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+rule__Operation__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Operation__Group__0__Impl
+ rule__Operation__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Operation__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getOperationAccess().getOperationKeyword_0()); }
+
+ 'Operation'
+
+{ after(grammarAccess.getOperationAccess().getOperationKeyword_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Operation__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Operation__Group__1__Impl
+ rule__Operation__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Operation__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getOperationAccess().getNameAssignment_1()); }
+(rule__Operation__NameAssignment_1)
+{ after(grammarAccess.getOperationAccess().getNameAssignment_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Operation__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Operation__Group__2__Impl
+ rule__Operation__Group__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Operation__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getOperationAccess().getLeftParenthesisKeyword_2()); }
+
+ '('
+
+{ after(grammarAccess.getOperationAccess().getLeftParenthesisKeyword_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Operation__Group__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Operation__Group__3__Impl
+ rule__Operation__Group__4
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Operation__Group__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getOperationAccess().getGroup_3()); }
+(rule__Operation__Group_3__0)?
+{ after(grammarAccess.getOperationAccess().getGroup_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Operation__Group__4
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Operation__Group__4__Impl
+ rule__Operation__Group__5
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Operation__Group__4__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getOperationAccess().getRightParenthesisKeyword_4()); }
+
+ ')'
+
+{ after(grammarAccess.getOperationAccess().getRightParenthesisKeyword_4()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Operation__Group__5
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Operation__Group__5__Impl
+ rule__Operation__Group__6
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Operation__Group__5__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getOperationAccess().getGroup_5()); }
+(rule__Operation__Group_5__0)?
+{ after(grammarAccess.getOperationAccess().getGroup_5()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Operation__Group__6
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Operation__Group__6__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Operation__Group__6__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getOperationAccess().getDetailCodeAssignment_6()); }
+(rule__Operation__DetailCodeAssignment_6)
+{ after(grammarAccess.getOperationAccess().getDetailCodeAssignment_6()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+rule__Operation__Group_3__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Operation__Group_3__0__Impl
+ rule__Operation__Group_3__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Operation__Group_3__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getOperationAccess().getArgumentsAssignment_3_0()); }
+(rule__Operation__ArgumentsAssignment_3_0)
+{ after(grammarAccess.getOperationAccess().getArgumentsAssignment_3_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Operation__Group_3__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Operation__Group_3__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Operation__Group_3__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getOperationAccess().getGroup_3_1()); }
+(rule__Operation__Group_3_1__0)*
+{ after(grammarAccess.getOperationAccess().getGroup_3_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__Operation__Group_3_1__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Operation__Group_3_1__0__Impl
+ rule__Operation__Group_3_1__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Operation__Group_3_1__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getOperationAccess().getCommaKeyword_3_1_0()); }
+
+ ','
+
+{ after(grammarAccess.getOperationAccess().getCommaKeyword_3_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Operation__Group_3_1__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Operation__Group_3_1__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Operation__Group_3_1__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getOperationAccess().getArgumentsAssignment_3_1_1()); }
+(rule__Operation__ArgumentsAssignment_3_1_1)
+{ after(grammarAccess.getOperationAccess().getArgumentsAssignment_3_1_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__Operation__Group_5__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Operation__Group_5__0__Impl
+ rule__Operation__Group_5__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Operation__Group_5__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getOperationAccess().getColonKeyword_5_0()); }
+
+ ':'
+
+{ after(grammarAccess.getOperationAccess().getColonKeyword_5_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Operation__Group_5__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Operation__Group_5__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Operation__Group_5__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getOperationAccess().getReturntypeAssignment_5_1()); }
+(rule__Operation__ReturntypeAssignment_5_1)
+{ after(grammarAccess.getOperationAccess().getReturntypeAssignment_5_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__ProtocolClass__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ProtocolClass__Group__0__Impl
+ rule__ProtocolClass__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ProtocolClass__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getProtocolClassAccess().getProtocolClassKeyword_0()); }
+
+ 'ProtocolClass'
+
+{ after(grammarAccess.getProtocolClassAccess().getProtocolClassKeyword_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ProtocolClass__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ProtocolClass__Group__1__Impl
+ rule__ProtocolClass__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ProtocolClass__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getProtocolClassAccess().getNameAssignment_1()); }
+(rule__ProtocolClass__NameAssignment_1)
+{ after(grammarAccess.getProtocolClassAccess().getNameAssignment_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ProtocolClass__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ProtocolClass__Group__2__Impl
+ rule__ProtocolClass__Group__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ProtocolClass__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getProtocolClassAccess().getGroup_2()); }
+(rule__ProtocolClass__Group_2__0)?
+{ after(grammarAccess.getProtocolClassAccess().getGroup_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ProtocolClass__Group__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ProtocolClass__Group__3__Impl
+ rule__ProtocolClass__Group__4
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ProtocolClass__Group__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getProtocolClassAccess().getLeftCurlyBracketKeyword_3()); }
+
+ '{'
+
+{ after(grammarAccess.getProtocolClassAccess().getLeftCurlyBracketKeyword_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ProtocolClass__Group__4
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ProtocolClass__Group__4__Impl
+ rule__ProtocolClass__Group__5
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ProtocolClass__Group__4__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getProtocolClassAccess().getGroup_4()); }
+(rule__ProtocolClass__Group_4__0)?
+{ after(grammarAccess.getProtocolClassAccess().getGroup_4()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ProtocolClass__Group__5
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ProtocolClass__Group__5__Impl
+ rule__ProtocolClass__Group__6
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ProtocolClass__Group__5__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getProtocolClassAccess().getGroup_5()); }
+(rule__ProtocolClass__Group_5__0)?
+{ after(grammarAccess.getProtocolClassAccess().getGroup_5()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ProtocolClass__Group__6
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ProtocolClass__Group__6__Impl
+ rule__ProtocolClass__Group__7
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ProtocolClass__Group__6__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getProtocolClassAccess().getIncomingKeyword_6()); }
+
+ 'incoming'
+
+{ after(grammarAccess.getProtocolClassAccess().getIncomingKeyword_6()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ProtocolClass__Group__7
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ProtocolClass__Group__7__Impl
+ rule__ProtocolClass__Group__8
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ProtocolClass__Group__7__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getProtocolClassAccess().getLeftCurlyBracketKeyword_7()); }
+
+ '{'
+
+{ after(grammarAccess.getProtocolClassAccess().getLeftCurlyBracketKeyword_7()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ProtocolClass__Group__8
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ProtocolClass__Group__8__Impl
+ rule__ProtocolClass__Group__9
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ProtocolClass__Group__8__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getProtocolClassAccess().getIncomingMessagesAssignment_8()); }
+(rule__ProtocolClass__IncomingMessagesAssignment_8)*
+{ after(grammarAccess.getProtocolClassAccess().getIncomingMessagesAssignment_8()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ProtocolClass__Group__9
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ProtocolClass__Group__9__Impl
+ rule__ProtocolClass__Group__10
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ProtocolClass__Group__9__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getProtocolClassAccess().getRightCurlyBracketKeyword_9()); }
+
+ '}'
+
+{ after(grammarAccess.getProtocolClassAccess().getRightCurlyBracketKeyword_9()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ProtocolClass__Group__10
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ProtocolClass__Group__10__Impl
+ rule__ProtocolClass__Group__11
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ProtocolClass__Group__10__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getProtocolClassAccess().getOutgoingKeyword_10()); }
+
+ 'outgoing'
+
+{ after(grammarAccess.getProtocolClassAccess().getOutgoingKeyword_10()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ProtocolClass__Group__11
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ProtocolClass__Group__11__Impl
+ rule__ProtocolClass__Group__12
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ProtocolClass__Group__11__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getProtocolClassAccess().getLeftCurlyBracketKeyword_11()); }
+
+ '{'
+
+{ after(grammarAccess.getProtocolClassAccess().getLeftCurlyBracketKeyword_11()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ProtocolClass__Group__12
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ProtocolClass__Group__12__Impl
+ rule__ProtocolClass__Group__13
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ProtocolClass__Group__12__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getProtocolClassAccess().getOutgoingMessagesAssignment_12()); }
+(rule__ProtocolClass__OutgoingMessagesAssignment_12)*
+{ after(grammarAccess.getProtocolClassAccess().getOutgoingMessagesAssignment_12()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ProtocolClass__Group__13
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ProtocolClass__Group__13__Impl
+ rule__ProtocolClass__Group__14
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ProtocolClass__Group__13__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getProtocolClassAccess().getRightCurlyBracketKeyword_13()); }
+
+ '}'
+
+{ after(grammarAccess.getProtocolClassAccess().getRightCurlyBracketKeyword_13()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ProtocolClass__Group__14
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ProtocolClass__Group__14__Impl
+ rule__ProtocolClass__Group__15
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ProtocolClass__Group__14__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getProtocolClassAccess().getGroup_14()); }
+(rule__ProtocolClass__Group_14__0)?
+{ after(grammarAccess.getProtocolClassAccess().getGroup_14()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ProtocolClass__Group__15
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ProtocolClass__Group__15__Impl
+ rule__ProtocolClass__Group__16
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ProtocolClass__Group__15__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getProtocolClassAccess().getGroup_15()); }
+(rule__ProtocolClass__Group_15__0)?
+{ after(grammarAccess.getProtocolClassAccess().getGroup_15()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ProtocolClass__Group__16
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ProtocolClass__Group__16__Impl
+ rule__ProtocolClass__Group__17
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ProtocolClass__Group__16__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getProtocolClassAccess().getSemanticsAssignment_16()); }
+(rule__ProtocolClass__SemanticsAssignment_16)?
+{ after(grammarAccess.getProtocolClassAccess().getSemanticsAssignment_16()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ProtocolClass__Group__17
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ProtocolClass__Group__17__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ProtocolClass__Group__17__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getProtocolClassAccess().getRightCurlyBracketKeyword_17()); }
+
+ '}'
+
+{ after(grammarAccess.getProtocolClassAccess().getRightCurlyBracketKeyword_17()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+rule__ProtocolClass__Group_2__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ProtocolClass__Group_2__0__Impl
+ rule__ProtocolClass__Group_2__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ProtocolClass__Group_2__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getProtocolClassAccess().getExtendsKeyword_2_0()); }
+
+ 'extends'
+
+{ after(grammarAccess.getProtocolClassAccess().getExtendsKeyword_2_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ProtocolClass__Group_2__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ProtocolClass__Group_2__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ProtocolClass__Group_2__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getProtocolClassAccess().getBaseAssignment_2_1()); }
+(rule__ProtocolClass__BaseAssignment_2_1)
+{ after(grammarAccess.getProtocolClassAccess().getBaseAssignment_2_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__ProtocolClass__Group_4__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ProtocolClass__Group_4__0__Impl
+ rule__ProtocolClass__Group_4__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ProtocolClass__Group_4__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getProtocolClassAccess().getUsercode1Keyword_4_0()); }
+
+ 'usercode1'
+
+{ after(grammarAccess.getProtocolClassAccess().getUsercode1Keyword_4_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ProtocolClass__Group_4__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ProtocolClass__Group_4__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ProtocolClass__Group_4__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getProtocolClassAccess().getUserCode1Assignment_4_1()); }
+(rule__ProtocolClass__UserCode1Assignment_4_1)
+{ after(grammarAccess.getProtocolClassAccess().getUserCode1Assignment_4_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__ProtocolClass__Group_5__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ProtocolClass__Group_5__0__Impl
+ rule__ProtocolClass__Group_5__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ProtocolClass__Group_5__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getProtocolClassAccess().getUsercode2Keyword_5_0()); }
+
+ 'usercode2'
+
+{ after(grammarAccess.getProtocolClassAccess().getUsercode2Keyword_5_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ProtocolClass__Group_5__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ProtocolClass__Group_5__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ProtocolClass__Group_5__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getProtocolClassAccess().getUserCode2Assignment_5_1()); }
+(rule__ProtocolClass__UserCode2Assignment_5_1)
+{ after(grammarAccess.getProtocolClassAccess().getUserCode2Assignment_5_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__ProtocolClass__Group_14__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ProtocolClass__Group_14__0__Impl
+ rule__ProtocolClass__Group_14__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ProtocolClass__Group_14__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getProtocolClassAccess().getRegularKeyword_14_0()); }
+
+ 'regular'
+
+{ after(grammarAccess.getProtocolClassAccess().getRegularKeyword_14_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ProtocolClass__Group_14__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ProtocolClass__Group_14__1__Impl
+ rule__ProtocolClass__Group_14__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ProtocolClass__Group_14__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getProtocolClassAccess().getPortClassKeyword_14_1()); }
+
+ 'PortClass'
+
+{ after(grammarAccess.getProtocolClassAccess().getPortClassKeyword_14_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ProtocolClass__Group_14__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ProtocolClass__Group_14__2__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ProtocolClass__Group_14__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getProtocolClassAccess().getRegularAssignment_14_2()); }
+(rule__ProtocolClass__RegularAssignment_14_2)
+{ after(grammarAccess.getProtocolClassAccess().getRegularAssignment_14_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+rule__ProtocolClass__Group_15__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ProtocolClass__Group_15__0__Impl
+ rule__ProtocolClass__Group_15__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ProtocolClass__Group_15__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getProtocolClassAccess().getConjugateKeyword_15_0()); }
+
+ 'conjugate'
+
+{ after(grammarAccess.getProtocolClassAccess().getConjugateKeyword_15_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ProtocolClass__Group_15__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ProtocolClass__Group_15__1__Impl
+ rule__ProtocolClass__Group_15__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ProtocolClass__Group_15__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getProtocolClassAccess().getPortClassKeyword_15_1()); }
+
+ 'PortClass'
+
+{ after(grammarAccess.getProtocolClassAccess().getPortClassKeyword_15_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ProtocolClass__Group_15__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ProtocolClass__Group_15__2__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ProtocolClass__Group_15__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getProtocolClassAccess().getConjugateAssignment_15_2()); }
+(rule__ProtocolClass__ConjugateAssignment_15_2)
+{ after(grammarAccess.getProtocolClassAccess().getConjugateAssignment_15_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+rule__Message__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Message__Group__0__Impl
+ rule__Message__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Message__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getMessageAccess().getMessageKeyword_0()); }
+
+ 'Message'
+
+{ after(grammarAccess.getMessageAccess().getMessageKeyword_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Message__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Message__Group__1__Impl
+ rule__Message__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Message__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getMessageAccess().getNameAssignment_1()); }
+(rule__Message__NameAssignment_1)
+{ after(grammarAccess.getMessageAccess().getNameAssignment_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Message__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Message__Group__2__Impl
+ rule__Message__Group__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Message__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getMessageAccess().getLeftParenthesisKeyword_2()); }
+
+ '('
+
+{ after(grammarAccess.getMessageAccess().getLeftParenthesisKeyword_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Message__Group__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Message__Group__3__Impl
+ rule__Message__Group__4
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Message__Group__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getMessageAccess().getGroup_3()); }
+(rule__Message__Group_3__0)?
+{ after(grammarAccess.getMessageAccess().getGroup_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Message__Group__4
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Message__Group__4__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Message__Group__4__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getMessageAccess().getRightParenthesisKeyword_4()); }
+
+ ')'
+
+{ after(grammarAccess.getMessageAccess().getRightParenthesisKeyword_4()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+rule__Message__Group_3__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Message__Group_3__0__Impl
+ rule__Message__Group_3__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Message__Group_3__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getMessageAccess().getArgumentsAssignment_3_0()); }
+(rule__Message__ArgumentsAssignment_3_0)
+{ after(grammarAccess.getMessageAccess().getArgumentsAssignment_3_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Message__Group_3__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Message__Group_3__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Message__Group_3__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getMessageAccess().getGroup_3_1()); }
+(rule__Message__Group_3_1__0)*
+{ after(grammarAccess.getMessageAccess().getGroup_3_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__Message__Group_3_1__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Message__Group_3_1__0__Impl
+ rule__Message__Group_3_1__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Message__Group_3_1__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getMessageAccess().getCommaKeyword_3_1_0()); }
+
+ ','
+
+{ after(grammarAccess.getMessageAccess().getCommaKeyword_3_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Message__Group_3_1__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Message__Group_3_1__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Message__Group_3_1__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getMessageAccess().getArgumentsAssignment_3_1_1()); }
+(rule__Message__ArgumentsAssignment_3_1_1)
+{ after(grammarAccess.getMessageAccess().getArgumentsAssignment_3_1_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__PortClass__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__PortClass__Group__0__Impl
+ rule__PortClass__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PortClass__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPortClassAccess().getLeftCurlyBracketKeyword_0()); }
+
+ '{'
+
+{ after(grammarAccess.getPortClassAccess().getLeftCurlyBracketKeyword_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__PortClass__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__PortClass__Group__1__Impl
+ rule__PortClass__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PortClass__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPortClassAccess().getGroup_1()); }
+(rule__PortClass__Group_1__0)?
+{ after(grammarAccess.getPortClassAccess().getGroup_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__PortClass__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__PortClass__Group__2__Impl
+ rule__PortClass__Group__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PortClass__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+(
+{ before(grammarAccess.getPortClassAccess().getAlternatives_2()); }
+(rule__PortClass__Alternatives_2)
+{ after(grammarAccess.getPortClassAccess().getAlternatives_2()); }
+)
+(
+{ before(grammarAccess.getPortClassAccess().getAlternatives_2()); }
+(rule__PortClass__Alternatives_2)*
+{ after(grammarAccess.getPortClassAccess().getAlternatives_2()); }
+)
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__PortClass__Group__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__PortClass__Group__3__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PortClass__Group__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPortClassAccess().getRightCurlyBracketKeyword_3()); }
+
+ '}'
+
+{ after(grammarAccess.getPortClassAccess().getRightCurlyBracketKeyword_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+rule__PortClass__Group_1__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__PortClass__Group_1__0__Impl
+ rule__PortClass__Group_1__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PortClass__Group_1__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPortClassAccess().getUsercodeKeyword_1_0()); }
+
+ 'usercode'
+
+{ after(grammarAccess.getPortClassAccess().getUsercodeKeyword_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__PortClass__Group_1__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__PortClass__Group_1__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PortClass__Group_1__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPortClassAccess().getUserCodeAssignment_1_1()); }
+(rule__PortClass__UserCodeAssignment_1_1)
+{ after(grammarAccess.getPortClassAccess().getUserCodeAssignment_1_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__MessageHandler__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__MessageHandler__Group__0__Impl
+ rule__MessageHandler__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__MessageHandler__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getMessageHandlerAccess().getHandleKeyword_0()); }
+
+ 'handle'
+
+{ after(grammarAccess.getMessageHandlerAccess().getHandleKeyword_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__MessageHandler__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__MessageHandler__Group__1__Impl
+ rule__MessageHandler__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__MessageHandler__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getMessageHandlerAccess().getMsgAssignment_1()); }
+(rule__MessageHandler__MsgAssignment_1)
+{ after(grammarAccess.getMessageHandlerAccess().getMsgAssignment_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__MessageHandler__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__MessageHandler__Group__2__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__MessageHandler__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getMessageHandlerAccess().getDetailCodeAssignment_2()); }
+(rule__MessageHandler__DetailCodeAssignment_2)
+{ after(grammarAccess.getMessageHandlerAccess().getDetailCodeAssignment_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+rule__ProtocolSemantics__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ProtocolSemantics__Group__0__Impl
+ rule__ProtocolSemantics__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ProtocolSemantics__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getProtocolSemanticsAccess().getSemanticsKeyword_0()); }
+
+ 'semantics'
+
+{ after(grammarAccess.getProtocolSemanticsAccess().getSemanticsKeyword_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ProtocolSemantics__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ProtocolSemantics__Group__1__Impl
+ rule__ProtocolSemantics__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ProtocolSemantics__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getProtocolSemanticsAccess().getLeftCurlyBracketKeyword_1()); }
+
+ '{'
+
+{ after(grammarAccess.getProtocolSemanticsAccess().getLeftCurlyBracketKeyword_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ProtocolSemantics__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ProtocolSemantics__Group__2__Impl
+ rule__ProtocolSemantics__Group__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ProtocolSemantics__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+(
+{ before(grammarAccess.getProtocolSemanticsAccess().getRulesAssignment_2()); }
+(rule__ProtocolSemantics__RulesAssignment_2)
+{ after(grammarAccess.getProtocolSemanticsAccess().getRulesAssignment_2()); }
+)
+(
+{ before(grammarAccess.getProtocolSemanticsAccess().getRulesAssignment_2()); }
+(rule__ProtocolSemantics__RulesAssignment_2)*
+{ after(grammarAccess.getProtocolSemanticsAccess().getRulesAssignment_2()); }
+)
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ProtocolSemantics__Group__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ProtocolSemantics__Group__3__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ProtocolSemantics__Group__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getProtocolSemanticsAccess().getRightCurlyBracketKeyword_3()); }
+
+ '}'
+
+{ after(grammarAccess.getProtocolSemanticsAccess().getRightCurlyBracketKeyword_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+rule__SemanticsInRule__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__SemanticsInRule__Group__0__Impl
+ rule__SemanticsInRule__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__SemanticsInRule__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSemanticsInRuleAccess().getInKeyword_0()); }
+
+ 'in'
+
+{ after(grammarAccess.getSemanticsInRuleAccess().getInKeyword_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__SemanticsInRule__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__SemanticsInRule__Group__1__Impl
+ rule__SemanticsInRule__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__SemanticsInRule__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSemanticsInRuleAccess().getMsgAssignment_1()); }
+(rule__SemanticsInRule__MsgAssignment_1)
+{ after(grammarAccess.getSemanticsInRuleAccess().getMsgAssignment_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__SemanticsInRule__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__SemanticsInRule__Group__2__Impl
+ rule__SemanticsInRule__Group__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__SemanticsInRule__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSemanticsInRuleAccess().getHyphenMinusGreaterThanSignKeyword_2()); }
+
+ '->'
+
+{ after(grammarAccess.getSemanticsInRuleAccess().getHyphenMinusGreaterThanSignKeyword_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__SemanticsInRule__Group__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__SemanticsInRule__Group__3__Impl
+ rule__SemanticsInRule__Group__4
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__SemanticsInRule__Group__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSemanticsInRuleAccess().getLeftCurlyBracketKeyword_3()); }
+
+ '{'
+
+{ after(grammarAccess.getSemanticsInRuleAccess().getLeftCurlyBracketKeyword_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__SemanticsInRule__Group__4
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__SemanticsInRule__Group__4__Impl
+ rule__SemanticsInRule__Group__5
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__SemanticsInRule__Group__4__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSemanticsInRuleAccess().getFollowUpsAssignment_4()); }
+(rule__SemanticsInRule__FollowUpsAssignment_4)*
+{ after(grammarAccess.getSemanticsInRuleAccess().getFollowUpsAssignment_4()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__SemanticsInRule__Group__5
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__SemanticsInRule__Group__5__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__SemanticsInRule__Group__5__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSemanticsInRuleAccess().getRightCurlyBracketKeyword_5()); }
+
+ '}'
+
+{ after(grammarAccess.getSemanticsInRuleAccess().getRightCurlyBracketKeyword_5()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+rule__SemanticsOutRule__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__SemanticsOutRule__Group__0__Impl
+ rule__SemanticsOutRule__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__SemanticsOutRule__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSemanticsOutRuleAccess().getOutKeyword_0()); }
+
+ 'out'
+
+{ after(grammarAccess.getSemanticsOutRuleAccess().getOutKeyword_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__SemanticsOutRule__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__SemanticsOutRule__Group__1__Impl
+ rule__SemanticsOutRule__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__SemanticsOutRule__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSemanticsOutRuleAccess().getMsgAssignment_1()); }
+(rule__SemanticsOutRule__MsgAssignment_1)
+{ after(grammarAccess.getSemanticsOutRuleAccess().getMsgAssignment_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__SemanticsOutRule__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__SemanticsOutRule__Group__2__Impl
+ rule__SemanticsOutRule__Group__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__SemanticsOutRule__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSemanticsOutRuleAccess().getHyphenMinusGreaterThanSignKeyword_2()); }
+
+ '->'
+
+{ after(grammarAccess.getSemanticsOutRuleAccess().getHyphenMinusGreaterThanSignKeyword_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__SemanticsOutRule__Group__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__SemanticsOutRule__Group__3__Impl
+ rule__SemanticsOutRule__Group__4
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__SemanticsOutRule__Group__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSemanticsOutRuleAccess().getLeftCurlyBracketKeyword_3()); }
+
+ '{'
+
+{ after(grammarAccess.getSemanticsOutRuleAccess().getLeftCurlyBracketKeyword_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__SemanticsOutRule__Group__4
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__SemanticsOutRule__Group__4__Impl
+ rule__SemanticsOutRule__Group__5
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__SemanticsOutRule__Group__4__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSemanticsOutRuleAccess().getFollowUpsAssignment_4()); }
+(rule__SemanticsOutRule__FollowUpsAssignment_4)*
+{ after(grammarAccess.getSemanticsOutRuleAccess().getFollowUpsAssignment_4()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__SemanticsOutRule__Group__5
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__SemanticsOutRule__Group__5__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__SemanticsOutRule__Group__5__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSemanticsOutRuleAccess().getRightCurlyBracketKeyword_5()); }
+
+ '}'
+
+{ after(grammarAccess.getSemanticsOutRuleAccess().getRightCurlyBracketKeyword_5()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+rule__ActorClass__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ActorClass__Group__0__Impl
+ rule__ActorClass__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorClass__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorClassAccess().getAbstractAssignment_0()); }
+(rule__ActorClass__AbstractAssignment_0)?
+{ after(grammarAccess.getActorClassAccess().getAbstractAssignment_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ActorClass__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ActorClass__Group__1__Impl
+ rule__ActorClass__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorClass__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorClassAccess().getActorClassKeyword_1()); }
+
+ 'ActorClass'
+
+{ after(grammarAccess.getActorClassAccess().getActorClassKeyword_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ActorClass__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ActorClass__Group__2__Impl
+ rule__ActorClass__Group__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorClass__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorClassAccess().getNameAssignment_2()); }
+(rule__ActorClass__NameAssignment_2)
+{ after(grammarAccess.getActorClassAccess().getNameAssignment_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ActorClass__Group__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ActorClass__Group__3__Impl
+ rule__ActorClass__Group__4
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorClass__Group__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorClassAccess().getGroup_3()); }
+(rule__ActorClass__Group_3__0)?
+{ after(grammarAccess.getActorClassAccess().getGroup_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ActorClass__Group__4
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ActorClass__Group__4__Impl
+ rule__ActorClass__Group__5
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorClass__Group__4__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorClassAccess().getLeftCurlyBracketKeyword_4()); }
+
+ '{'
+
+{ after(grammarAccess.getActorClassAccess().getLeftCurlyBracketKeyword_4()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ActorClass__Group__5
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ActorClass__Group__5__Impl
+ rule__ActorClass__Group__6
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorClass__Group__5__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorClassAccess().getGroup_5()); }
+(rule__ActorClass__Group_5__0)?
+{ after(grammarAccess.getActorClassAccess().getGroup_5()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ActorClass__Group__6
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ActorClass__Group__6__Impl
+ rule__ActorClass__Group__7
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorClass__Group__6__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorClassAccess().getGroup_6()); }
+(rule__ActorClass__Group_6__0)?
+{ after(grammarAccess.getActorClassAccess().getGroup_6()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ActorClass__Group__7
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ActorClass__Group__7__Impl
+ rule__ActorClass__Group__8
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorClass__Group__7__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorClassAccess().getGroup_7()); }
+(rule__ActorClass__Group_7__0)?
+{ after(grammarAccess.getActorClassAccess().getGroup_7()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ActorClass__Group__8
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ActorClass__Group__8__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorClass__Group__8__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorClassAccess().getRightCurlyBracketKeyword_8()); }
+
+ '}'
+
+{ after(grammarAccess.getActorClassAccess().getRightCurlyBracketKeyword_8()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+rule__ActorClass__Group_3__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ActorClass__Group_3__0__Impl
+ rule__ActorClass__Group_3__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorClass__Group_3__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorClassAccess().getExtendsKeyword_3_0()); }
+
+ 'extends'
+
+{ after(grammarAccess.getActorClassAccess().getExtendsKeyword_3_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ActorClass__Group_3__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ActorClass__Group_3__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorClass__Group_3__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorClassAccess().getBaseAssignment_3_1()); }
+(rule__ActorClass__BaseAssignment_3_1)
+{ after(grammarAccess.getActorClassAccess().getBaseAssignment_3_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__ActorClass__Group_5__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ActorClass__Group_5__0__Impl
+ rule__ActorClass__Group_5__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorClass__Group_5__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorClassAccess().getInterfaceKeyword_5_0()); }
+
+ 'Interface'
+
+{ after(grammarAccess.getActorClassAccess().getInterfaceKeyword_5_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ActorClass__Group_5__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ActorClass__Group_5__1__Impl
+ rule__ActorClass__Group_5__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorClass__Group_5__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorClassAccess().getLeftCurlyBracketKeyword_5_1()); }
+
+ '{'
+
+{ after(grammarAccess.getActorClassAccess().getLeftCurlyBracketKeyword_5_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ActorClass__Group_5__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ActorClass__Group_5__2__Impl
+ rule__ActorClass__Group_5__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorClass__Group_5__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorClassAccess().getIfPortsAssignment_5_2()); }
+(rule__ActorClass__IfPortsAssignment_5_2)*
+{ after(grammarAccess.getActorClassAccess().getIfPortsAssignment_5_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ActorClass__Group_5__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ActorClass__Group_5__3__Impl
+ rule__ActorClass__Group_5__4
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorClass__Group_5__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorClassAccess().getIfSPPsAssignment_5_3()); }
+(rule__ActorClass__IfSPPsAssignment_5_3)*
+{ after(grammarAccess.getActorClassAccess().getIfSPPsAssignment_5_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ActorClass__Group_5__4
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ActorClass__Group_5__4__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorClass__Group_5__4__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorClassAccess().getRightCurlyBracketKeyword_5_4()); }
+
+ '}'
+
+{ after(grammarAccess.getActorClassAccess().getRightCurlyBracketKeyword_5_4()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+rule__ActorClass__Group_6__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ActorClass__Group_6__0__Impl
+ rule__ActorClass__Group_6__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorClass__Group_6__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorClassAccess().getStructureKeyword_6_0()); }
+
+ 'Structure'
+
+{ after(grammarAccess.getActorClassAccess().getStructureKeyword_6_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ActorClass__Group_6__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ActorClass__Group_6__1__Impl
+ rule__ActorClass__Group_6__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorClass__Group_6__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorClassAccess().getLeftCurlyBracketKeyword_6_1()); }
+
+ '{'
+
+{ after(grammarAccess.getActorClassAccess().getLeftCurlyBracketKeyword_6_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ActorClass__Group_6__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ActorClass__Group_6__2__Impl
+ rule__ActorClass__Group_6__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorClass__Group_6__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorClassAccess().getGroup_6_2()); }
+(rule__ActorClass__Group_6_2__0)?
+{ after(grammarAccess.getActorClassAccess().getGroup_6_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ActorClass__Group_6__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ActorClass__Group_6__3__Impl
+ rule__ActorClass__Group_6__4
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorClass__Group_6__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorClassAccess().getGroup_6_3()); }
+(rule__ActorClass__Group_6_3__0)?
+{ after(grammarAccess.getActorClassAccess().getGroup_6_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ActorClass__Group_6__4
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ActorClass__Group_6__4__Impl
+ rule__ActorClass__Group_6__5
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorClass__Group_6__4__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorClassAccess().getAlternatives_6_4()); }
+(rule__ActorClass__Alternatives_6_4)*
+{ after(grammarAccess.getActorClassAccess().getAlternatives_6_4()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ActorClass__Group_6__5
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ActorClass__Group_6__5__Impl
+ rule__ActorClass__Group_6__6
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorClass__Group_6__5__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorClassAccess().getServiceImplementationsAssignment_6_5()); }
+(rule__ActorClass__ServiceImplementationsAssignment_6_5)*
+{ after(grammarAccess.getActorClassAccess().getServiceImplementationsAssignment_6_5()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ActorClass__Group_6__6
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ActorClass__Group_6__6__Impl
+ rule__ActorClass__Group_6__7
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorClass__Group_6__6__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorClassAccess().getStrSAPsAssignment_6_6()); }
+(rule__ActorClass__StrSAPsAssignment_6_6)*
+{ after(grammarAccess.getActorClassAccess().getStrSAPsAssignment_6_6()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ActorClass__Group_6__7
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ActorClass__Group_6__7__Impl
+ rule__ActorClass__Group_6__8
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorClass__Group_6__7__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorClassAccess().getAttributesAssignment_6_7()); }
+(rule__ActorClass__AttributesAssignment_6_7)*
+{ after(grammarAccess.getActorClassAccess().getAttributesAssignment_6_7()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ActorClass__Group_6__8
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ActorClass__Group_6__8__Impl
+ rule__ActorClass__Group_6__9
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorClass__Group_6__8__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorClassAccess().getActorRefsAssignment_6_8()); }
+(rule__ActorClass__ActorRefsAssignment_6_8)*
+{ after(grammarAccess.getActorClassAccess().getActorRefsAssignment_6_8()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ActorClass__Group_6__9
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ActorClass__Group_6__9__Impl
+ rule__ActorClass__Group_6__10
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorClass__Group_6__9__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorClassAccess().getBindingsAssignment_6_9()); }
+(rule__ActorClass__BindingsAssignment_6_9)*
+{ after(grammarAccess.getActorClassAccess().getBindingsAssignment_6_9()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ActorClass__Group_6__10
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ActorClass__Group_6__10__Impl
+ rule__ActorClass__Group_6__11
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorClass__Group_6__10__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorClassAccess().getConnectionsAssignment_6_10()); }
+(rule__ActorClass__ConnectionsAssignment_6_10)*
+{ after(grammarAccess.getActorClassAccess().getConnectionsAssignment_6_10()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ActorClass__Group_6__11
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ActorClass__Group_6__11__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorClass__Group_6__11__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorClassAccess().getRightCurlyBracketKeyword_6_11()); }
+
+ '}'
+
+{ after(grammarAccess.getActorClassAccess().getRightCurlyBracketKeyword_6_11()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+rule__ActorClass__Group_6_2__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ActorClass__Group_6_2__0__Impl
+ rule__ActorClass__Group_6_2__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorClass__Group_6_2__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorClassAccess().getUsercode1Keyword_6_2_0()); }
+
+ 'usercode1'
+
+{ after(grammarAccess.getActorClassAccess().getUsercode1Keyword_6_2_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ActorClass__Group_6_2__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ActorClass__Group_6_2__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorClass__Group_6_2__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorClassAccess().getUserCode1Assignment_6_2_1()); }
+(rule__ActorClass__UserCode1Assignment_6_2_1)
+{ after(grammarAccess.getActorClassAccess().getUserCode1Assignment_6_2_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__ActorClass__Group_6_3__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ActorClass__Group_6_3__0__Impl
+ rule__ActorClass__Group_6_3__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorClass__Group_6_3__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorClassAccess().getUsercode2Keyword_6_3_0()); }
+
+ 'usercode2'
+
+{ after(grammarAccess.getActorClassAccess().getUsercode2Keyword_6_3_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ActorClass__Group_6_3__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ActorClass__Group_6_3__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorClass__Group_6_3__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorClassAccess().getUserCode2Assignment_6_3_1()); }
+(rule__ActorClass__UserCode2Assignment_6_3_1)
+{ after(grammarAccess.getActorClassAccess().getUserCode2Assignment_6_3_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__ActorClass__Group_7__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ActorClass__Group_7__0__Impl
+ rule__ActorClass__Group_7__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorClass__Group_7__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorClassAccess().getBehaviorKeyword_7_0()); }
+
+ 'Behavior'
+
+{ after(grammarAccess.getActorClassAccess().getBehaviorKeyword_7_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ActorClass__Group_7__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ActorClass__Group_7__1__Impl
+ rule__ActorClass__Group_7__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorClass__Group_7__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorClassAccess().getLeftCurlyBracketKeyword_7_1()); }
+
+ '{'
+
+{ after(grammarAccess.getActorClassAccess().getLeftCurlyBracketKeyword_7_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ActorClass__Group_7__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ActorClass__Group_7__2__Impl
+ rule__ActorClass__Group_7__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorClass__Group_7__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorClassAccess().getOperationsAssignment_7_2()); }
+(rule__ActorClass__OperationsAssignment_7_2)*
+{ after(grammarAccess.getActorClassAccess().getOperationsAssignment_7_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ActorClass__Group_7__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ActorClass__Group_7__3__Impl
+ rule__ActorClass__Group_7__4
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorClass__Group_7__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorClassAccess().getStateMachineAssignment_7_3()); }
+(rule__ActorClass__StateMachineAssignment_7_3)?
+{ after(grammarAccess.getActorClassAccess().getStateMachineAssignment_7_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ActorClass__Group_7__4
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ActorClass__Group_7__4__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorClass__Group_7__4__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorClassAccess().getRightCurlyBracketKeyword_7_4()); }
+
+ '}'
+
+{ after(grammarAccess.getActorClassAccess().getRightCurlyBracketKeyword_7_4()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+rule__Port__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Port__Group__0__Impl
+ rule__Port__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Port__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPortAccess().getConjugatedAssignment_0()); }
+(rule__Port__ConjugatedAssignment_0)?
+{ after(grammarAccess.getPortAccess().getConjugatedAssignment_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Port__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Port__Group__1__Impl
+ rule__Port__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Port__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPortAccess().getPortKeyword_1()); }
+
+ 'Port'
+
+{ after(grammarAccess.getPortAccess().getPortKeyword_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Port__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Port__Group__2__Impl
+ rule__Port__Group__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Port__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPortAccess().getNameAssignment_2()); }
+(rule__Port__NameAssignment_2)
+{ after(grammarAccess.getPortAccess().getNameAssignment_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Port__Group__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Port__Group__3__Impl
+ rule__Port__Group__4
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Port__Group__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPortAccess().getGroup_3()); }
+(rule__Port__Group_3__0)?
+{ after(grammarAccess.getPortAccess().getGroup_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Port__Group__4
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Port__Group__4__Impl
+ rule__Port__Group__5
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Port__Group__4__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPortAccess().getColonKeyword_4()); }
+
+ ':'
+
+{ after(grammarAccess.getPortAccess().getColonKeyword_4()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Port__Group__5
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Port__Group__5__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Port__Group__5__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPortAccess().getProtocolAssignment_5()); }
+(rule__Port__ProtocolAssignment_5)
+{ after(grammarAccess.getPortAccess().getProtocolAssignment_5()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+rule__Port__Group_3__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Port__Group_3__0__Impl
+ rule__Port__Group_3__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Port__Group_3__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPortAccess().getLeftSquareBracketKeyword_3_0()); }
+
+ '['
+
+{ after(grammarAccess.getPortAccess().getLeftSquareBracketKeyword_3_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Port__Group_3__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Port__Group_3__1__Impl
+ rule__Port__Group_3__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Port__Group_3__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPortAccess().getMultiplicityAssignment_3_1()); }
+(rule__Port__MultiplicityAssignment_3_1)
+{ after(grammarAccess.getPortAccess().getMultiplicityAssignment_3_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Port__Group_3__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Port__Group_3__2__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Port__Group_3__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPortAccess().getRightSquareBracketKeyword_3_2()); }
+
+ ']'
+
+{ after(grammarAccess.getPortAccess().getRightSquareBracketKeyword_3_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+rule__ExternalPort__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ExternalPort__Group__0__Impl
+ rule__ExternalPort__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ExternalPort__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getExternalPortAccess().getExternalKeyword_0()); }
+
+ 'external'
+
+{ after(grammarAccess.getExternalPortAccess().getExternalKeyword_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ExternalPort__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ExternalPort__Group__1__Impl
+ rule__ExternalPort__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ExternalPort__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getExternalPortAccess().getPortKeyword_1()); }
+
+ 'Port'
+
+{ after(grammarAccess.getExternalPortAccess().getPortKeyword_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ExternalPort__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ExternalPort__Group__2__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ExternalPort__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getExternalPortAccess().getIfportAssignment_2()); }
+(rule__ExternalPort__IfportAssignment_2)
+{ after(grammarAccess.getExternalPortAccess().getIfportAssignment_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+rule__SAPRef__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__SAPRef__Group__0__Impl
+ rule__SAPRef__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__SAPRef__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSAPRefAccess().getSAPKeyword_0()); }
+
+ 'SAP'
+
+{ after(grammarAccess.getSAPRefAccess().getSAPKeyword_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__SAPRef__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__SAPRef__Group__1__Impl
+ rule__SAPRef__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__SAPRef__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSAPRefAccess().getNameAssignment_1()); }
+(rule__SAPRef__NameAssignment_1)
+{ after(grammarAccess.getSAPRefAccess().getNameAssignment_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__SAPRef__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__SAPRef__Group__2__Impl
+ rule__SAPRef__Group__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__SAPRef__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSAPRefAccess().getColonKeyword_2()); }
+
+ ':'
+
+{ after(grammarAccess.getSAPRefAccess().getColonKeyword_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__SAPRef__Group__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__SAPRef__Group__3__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__SAPRef__Group__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSAPRefAccess().getProtocolAssignment_3()); }
+(rule__SAPRef__ProtocolAssignment_3)
+{ after(grammarAccess.getSAPRefAccess().getProtocolAssignment_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+rule__SPPRef__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__SPPRef__Group__0__Impl
+ rule__SPPRef__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__SPPRef__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSPPRefAccess().getSPPKeyword_0()); }
+
+ 'SPP'
+
+{ after(grammarAccess.getSPPRefAccess().getSPPKeyword_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__SPPRef__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__SPPRef__Group__1__Impl
+ rule__SPPRef__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__SPPRef__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSPPRefAccess().getNameAssignment_1()); }
+(rule__SPPRef__NameAssignment_1)
+{ after(grammarAccess.getSPPRefAccess().getNameAssignment_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__SPPRef__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__SPPRef__Group__2__Impl
+ rule__SPPRef__Group__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__SPPRef__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSPPRefAccess().getColonKeyword_2()); }
+
+ ':'
+
+{ after(grammarAccess.getSPPRefAccess().getColonKeyword_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__SPPRef__Group__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__SPPRef__Group__3__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__SPPRef__Group__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSPPRefAccess().getProtocolAssignment_3()); }
+(rule__SPPRef__ProtocolAssignment_3)
+{ after(grammarAccess.getSPPRefAccess().getProtocolAssignment_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+rule__ServiceImplementation__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ServiceImplementation__Group__0__Impl
+ rule__ServiceImplementation__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ServiceImplementation__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getServiceImplementationAccess().getServiceImplementationKeyword_0()); }
+
+ 'ServiceImplementation'
+
+{ after(grammarAccess.getServiceImplementationAccess().getServiceImplementationKeyword_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ServiceImplementation__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ServiceImplementation__Group__1__Impl
+ rule__ServiceImplementation__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ServiceImplementation__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getServiceImplementationAccess().getOfKeyword_1()); }
+
+ 'of'
+
+{ after(grammarAccess.getServiceImplementationAccess().getOfKeyword_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ServiceImplementation__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ServiceImplementation__Group__2__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ServiceImplementation__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getServiceImplementationAccess().getSppAssignment_2()); }
+(rule__ServiceImplementation__SppAssignment_2)
+{ after(grammarAccess.getServiceImplementationAccess().getSppAssignment_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+rule__LogicalSystem__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__LogicalSystem__Group__0__Impl
+ rule__LogicalSystem__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__LogicalSystem__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getLogicalSystemAccess().getLogicalSystemKeyword_0()); }
+
+ 'LogicalSystem'
+
+{ after(grammarAccess.getLogicalSystemAccess().getLogicalSystemKeyword_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__LogicalSystem__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__LogicalSystem__Group__1__Impl
+ rule__LogicalSystem__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__LogicalSystem__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getLogicalSystemAccess().getNameAssignment_1()); }
+(rule__LogicalSystem__NameAssignment_1)
+{ after(grammarAccess.getLogicalSystemAccess().getNameAssignment_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__LogicalSystem__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__LogicalSystem__Group__2__Impl
+ rule__LogicalSystem__Group__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__LogicalSystem__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getLogicalSystemAccess().getLeftCurlyBracketKeyword_2()); }
+
+ '{'
+
+{ after(grammarAccess.getLogicalSystemAccess().getLeftCurlyBracketKeyword_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__LogicalSystem__Group__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__LogicalSystem__Group__3__Impl
+ rule__LogicalSystem__Group__4
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__LogicalSystem__Group__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+(
+{ before(grammarAccess.getLogicalSystemAccess().getSubSystemsAssignment_3()); }
+(rule__LogicalSystem__SubSystemsAssignment_3)
+{ after(grammarAccess.getLogicalSystemAccess().getSubSystemsAssignment_3()); }
+)
+(
+{ before(grammarAccess.getLogicalSystemAccess().getSubSystemsAssignment_3()); }
+(rule__LogicalSystem__SubSystemsAssignment_3)*
+{ after(grammarAccess.getLogicalSystemAccess().getSubSystemsAssignment_3()); }
+)
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__LogicalSystem__Group__4
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__LogicalSystem__Group__4__Impl
+ rule__LogicalSystem__Group__5
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__LogicalSystem__Group__4__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getLogicalSystemAccess().getBindingsAssignment_4()); }
+(rule__LogicalSystem__BindingsAssignment_4)*
+{ after(grammarAccess.getLogicalSystemAccess().getBindingsAssignment_4()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__LogicalSystem__Group__5
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__LogicalSystem__Group__5__Impl
+ rule__LogicalSystem__Group__6
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__LogicalSystem__Group__5__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getLogicalSystemAccess().getConnectionsAssignment_5()); }
+(rule__LogicalSystem__ConnectionsAssignment_5)*
+{ after(grammarAccess.getLogicalSystemAccess().getConnectionsAssignment_5()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__LogicalSystem__Group__6
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__LogicalSystem__Group__6__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__LogicalSystem__Group__6__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getLogicalSystemAccess().getRightCurlyBracketKeyword_6()); }
+
+ '}'
+
+{ after(grammarAccess.getLogicalSystemAccess().getRightCurlyBracketKeyword_6()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+rule__SubSystemRef__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__SubSystemRef__Group__0__Impl
+ rule__SubSystemRef__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__SubSystemRef__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSubSystemRefAccess().getSubSystemRefKeyword_0()); }
+
+ 'SubSystemRef'
+
+{ after(grammarAccess.getSubSystemRefAccess().getSubSystemRefKeyword_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__SubSystemRef__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__SubSystemRef__Group__1__Impl
+ rule__SubSystemRef__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__SubSystemRef__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSubSystemRefAccess().getNameAssignment_1()); }
+(rule__SubSystemRef__NameAssignment_1)
+{ after(grammarAccess.getSubSystemRefAccess().getNameAssignment_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__SubSystemRef__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__SubSystemRef__Group__2__Impl
+ rule__SubSystemRef__Group__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__SubSystemRef__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSubSystemRefAccess().getColonKeyword_2()); }
+
+ ':'
+
+{ after(grammarAccess.getSubSystemRefAccess().getColonKeyword_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__SubSystemRef__Group__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__SubSystemRef__Group__3__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__SubSystemRef__Group__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSubSystemRefAccess().getTypeAssignment_3()); }
+(rule__SubSystemRef__TypeAssignment_3)
+{ after(grammarAccess.getSubSystemRefAccess().getTypeAssignment_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+rule__SubSystemClass__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__SubSystemClass__Group__0__Impl
+ rule__SubSystemClass__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__SubSystemClass__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSubSystemClassAccess().getSubSystemClassKeyword_0()); }
+
+ 'SubSystemClass'
+
+{ after(grammarAccess.getSubSystemClassAccess().getSubSystemClassKeyword_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__SubSystemClass__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__SubSystemClass__Group__1__Impl
+ rule__SubSystemClass__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__SubSystemClass__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSubSystemClassAccess().getNameAssignment_1()); }
+(rule__SubSystemClass__NameAssignment_1)
+{ after(grammarAccess.getSubSystemClassAccess().getNameAssignment_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__SubSystemClass__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__SubSystemClass__Group__2__Impl
+ rule__SubSystemClass__Group__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__SubSystemClass__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSubSystemClassAccess().getLeftCurlyBracketKeyword_2()); }
+
+ '{'
+
+{ after(grammarAccess.getSubSystemClassAccess().getLeftCurlyBracketKeyword_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__SubSystemClass__Group__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__SubSystemClass__Group__3__Impl
+ rule__SubSystemClass__Group__4
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__SubSystemClass__Group__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSubSystemClassAccess().getRelayPortsAssignment_3()); }
+(rule__SubSystemClass__RelayPortsAssignment_3)*
+{ after(grammarAccess.getSubSystemClassAccess().getRelayPortsAssignment_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__SubSystemClass__Group__4
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__SubSystemClass__Group__4__Impl
+ rule__SubSystemClass__Group__5
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__SubSystemClass__Group__4__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSubSystemClassAccess().getIfSPPsAssignment_4()); }
+(rule__SubSystemClass__IfSPPsAssignment_4)*
+{ after(grammarAccess.getSubSystemClassAccess().getIfSPPsAssignment_4()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__SubSystemClass__Group__5
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__SubSystemClass__Group__5__Impl
+ rule__SubSystemClass__Group__6
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__SubSystemClass__Group__5__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+(
+{ before(grammarAccess.getSubSystemClassAccess().getActorRefsAssignment_5()); }
+(rule__SubSystemClass__ActorRefsAssignment_5)
+{ after(grammarAccess.getSubSystemClassAccess().getActorRefsAssignment_5()); }
+)
+(
+{ before(grammarAccess.getSubSystemClassAccess().getActorRefsAssignment_5()); }
+(rule__SubSystemClass__ActorRefsAssignment_5)*
+{ after(grammarAccess.getSubSystemClassAccess().getActorRefsAssignment_5()); }
+)
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__SubSystemClass__Group__6
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__SubSystemClass__Group__6__Impl
+ rule__SubSystemClass__Group__7
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__SubSystemClass__Group__6__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSubSystemClassAccess().getBindingsAssignment_6()); }
+(rule__SubSystemClass__BindingsAssignment_6)*
+{ after(grammarAccess.getSubSystemClassAccess().getBindingsAssignment_6()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__SubSystemClass__Group__7
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__SubSystemClass__Group__7__Impl
+ rule__SubSystemClass__Group__8
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__SubSystemClass__Group__7__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSubSystemClassAccess().getConnectionsAssignment_7()); }
+(rule__SubSystemClass__ConnectionsAssignment_7)*
+{ after(grammarAccess.getSubSystemClassAccess().getConnectionsAssignment_7()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__SubSystemClass__Group__8
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__SubSystemClass__Group__8__Impl
+ rule__SubSystemClass__Group__9
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__SubSystemClass__Group__8__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSubSystemClassAccess().getThreadsAssignment_8()); }
+(rule__SubSystemClass__ThreadsAssignment_8)*
+{ after(grammarAccess.getSubSystemClassAccess().getThreadsAssignment_8()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__SubSystemClass__Group__9
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__SubSystemClass__Group__9__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__SubSystemClass__Group__9__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSubSystemClassAccess().getRightCurlyBracketKeyword_9()); }
+
+ '}'
+
+{ after(grammarAccess.getSubSystemClassAccess().getRightCurlyBracketKeyword_9()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+rule__LogicalThread__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__LogicalThread__Group__0__Impl
+ rule__LogicalThread__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__LogicalThread__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getLogicalThreadAccess().getLogicalThreadKeyword_0()); }
+
+ 'LogicalThread'
+
+{ after(grammarAccess.getLogicalThreadAccess().getLogicalThreadKeyword_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__LogicalThread__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__LogicalThread__Group__1__Impl
+ rule__LogicalThread__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__LogicalThread__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getLogicalThreadAccess().getNameAssignment_1()); }
+(rule__LogicalThread__NameAssignment_1)
+{ after(grammarAccess.getLogicalThreadAccess().getNameAssignment_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__LogicalThread__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__LogicalThread__Group__2__Impl
+ rule__LogicalThread__Group__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__LogicalThread__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getLogicalThreadAccess().getLeftCurlyBracketKeyword_2()); }
+
+ '{'
+
+{ after(grammarAccess.getLogicalThreadAccess().getLeftCurlyBracketKeyword_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__LogicalThread__Group__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__LogicalThread__Group__3__Impl
+ rule__LogicalThread__Group__4
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__LogicalThread__Group__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getLogicalThreadAccess().getInstancesAssignment_3()); }
+(rule__LogicalThread__InstancesAssignment_3)
+{ after(grammarAccess.getLogicalThreadAccess().getInstancesAssignment_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__LogicalThread__Group__4
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__LogicalThread__Group__4__Impl
+ rule__LogicalThread__Group__5
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__LogicalThread__Group__4__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getLogicalThreadAccess().getGroup_4()); }
+(rule__LogicalThread__Group_4__0)*
+{ after(grammarAccess.getLogicalThreadAccess().getGroup_4()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__LogicalThread__Group__5
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__LogicalThread__Group__5__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__LogicalThread__Group__5__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getLogicalThreadAccess().getRightCurlyBracketKeyword_5()); }
+
+ '}'
+
+{ after(grammarAccess.getLogicalThreadAccess().getRightCurlyBracketKeyword_5()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+rule__LogicalThread__Group_4__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__LogicalThread__Group_4__0__Impl
+ rule__LogicalThread__Group_4__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__LogicalThread__Group_4__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getLogicalThreadAccess().getCommaKeyword_4_0()); }
+
+ ','
+
+{ after(grammarAccess.getLogicalThreadAccess().getCommaKeyword_4_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__LogicalThread__Group_4__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__LogicalThread__Group_4__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__LogicalThread__Group_4__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getLogicalThreadAccess().getInstancesAssignment_4_1()); }
+(rule__LogicalThread__InstancesAssignment_4_1)
+{ after(grammarAccess.getLogicalThreadAccess().getInstancesAssignment_4_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__ActorInstancePath__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ActorInstancePath__Group__0__Impl
+ rule__ActorInstancePath__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorInstancePath__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorInstancePathAccess().getSegmentsAssignment_0()); }
+(rule__ActorInstancePath__SegmentsAssignment_0)
+{ after(grammarAccess.getActorInstancePathAccess().getSegmentsAssignment_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ActorInstancePath__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ActorInstancePath__Group__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorInstancePath__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorInstancePathAccess().getGroup_1()); }
+(rule__ActorInstancePath__Group_1__0)*
+{ after(grammarAccess.getActorInstancePathAccess().getGroup_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__ActorInstancePath__Group_1__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ActorInstancePath__Group_1__0__Impl
+ rule__ActorInstancePath__Group_1__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorInstancePath__Group_1__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorInstancePathAccess().getFullStopKeyword_1_0()); }
+
+ '.'
+
+{ after(grammarAccess.getActorInstancePathAccess().getFullStopKeyword_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ActorInstancePath__Group_1__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ActorInstancePath__Group_1__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorInstancePath__Group_1__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorInstancePathAccess().getSegmentsAssignment_1_1()); }
+(rule__ActorInstancePath__SegmentsAssignment_1_1)
+{ after(grammarAccess.getActorInstancePathAccess().getSegmentsAssignment_1_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__Binding__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Binding__Group__0__Impl
+ rule__Binding__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Binding__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getBindingAccess().getBindingKeyword_0()); }
+
+ 'Binding'
+
+{ after(grammarAccess.getBindingAccess().getBindingKeyword_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Binding__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Binding__Group__1__Impl
+ rule__Binding__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Binding__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getBindingAccess().getEndpoint1Assignment_1()); }
+(rule__Binding__Endpoint1Assignment_1)
+{ after(grammarAccess.getBindingAccess().getEndpoint1Assignment_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Binding__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Binding__Group__2__Impl
+ rule__Binding__Group__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Binding__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getBindingAccess().getAndKeyword_2()); }
+
+ 'and'
+
+{ after(grammarAccess.getBindingAccess().getAndKeyword_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Binding__Group__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Binding__Group__3__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Binding__Group__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getBindingAccess().getEndpoint2Assignment_3()); }
+(rule__Binding__Endpoint2Assignment_3)
+{ after(grammarAccess.getBindingAccess().getEndpoint2Assignment_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+rule__BindingEndPoint__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__BindingEndPoint__Group__0__Impl
+ rule__BindingEndPoint__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__BindingEndPoint__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getBindingEndPointAccess().getGroup_0()); }
+(rule__BindingEndPoint__Group_0__0)?
+{ after(grammarAccess.getBindingEndPointAccess().getGroup_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__BindingEndPoint__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__BindingEndPoint__Group__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__BindingEndPoint__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getBindingEndPointAccess().getPortAssignment_1()); }
+(rule__BindingEndPoint__PortAssignment_1)
+{ after(grammarAccess.getBindingEndPointAccess().getPortAssignment_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__BindingEndPoint__Group_0__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__BindingEndPoint__Group_0__0__Impl
+ rule__BindingEndPoint__Group_0__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__BindingEndPoint__Group_0__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getBindingEndPointAccess().getActorRefAssignment_0_0()); }
+(rule__BindingEndPoint__ActorRefAssignment_0_0)
+{ after(grammarAccess.getBindingEndPointAccess().getActorRefAssignment_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__BindingEndPoint__Group_0__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__BindingEndPoint__Group_0__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__BindingEndPoint__Group_0__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getBindingEndPointAccess().getFullStopKeyword_0_1()); }
+
+ '.'
+
+{ after(grammarAccess.getBindingEndPointAccess().getFullStopKeyword_0_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__LayerConnection__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__LayerConnection__Group__0__Impl
+ rule__LayerConnection__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__LayerConnection__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getLayerConnectionAccess().getLayerConnectionKeyword_0()); }
+
+ 'LayerConnection'
+
+{ after(grammarAccess.getLayerConnectionAccess().getLayerConnectionKeyword_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__LayerConnection__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__LayerConnection__Group__1__Impl
+ rule__LayerConnection__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__LayerConnection__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getLayerConnectionAccess().getFromAssignment_1()); }
+(rule__LayerConnection__FromAssignment_1)
+{ after(grammarAccess.getLayerConnectionAccess().getFromAssignment_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__LayerConnection__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__LayerConnection__Group__2__Impl
+ rule__LayerConnection__Group__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__LayerConnection__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getLayerConnectionAccess().getSatisfied_byKeyword_2()); }
+
+ 'satisfied_by'
+
+{ after(grammarAccess.getLayerConnectionAccess().getSatisfied_byKeyword_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__LayerConnection__Group__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__LayerConnection__Group__3__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__LayerConnection__Group__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getLayerConnectionAccess().getToAssignment_3()); }
+(rule__LayerConnection__ToAssignment_3)
+{ after(grammarAccess.getLayerConnectionAccess().getToAssignment_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+rule__RefSAPoint__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__RefSAPoint__Group__0__Impl
+ rule__RefSAPoint__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__RefSAPoint__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getRefSAPointAccess().getRefKeyword_0()); }
+
+ 'ref'
+
+{ after(grammarAccess.getRefSAPointAccess().getRefKeyword_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__RefSAPoint__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__RefSAPoint__Group__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__RefSAPoint__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getRefSAPointAccess().getRefAssignment_1()); }
+(rule__RefSAPoint__RefAssignment_1)
+{ after(grammarAccess.getRefSAPointAccess().getRefAssignment_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__RelaySAPoint__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__RelaySAPoint__Group__0__Impl
+ rule__RelaySAPoint__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__RelaySAPoint__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getRelaySAPointAccess().getRelay_sapKeyword_0()); }
+
+ 'relay_sap'
+
+{ after(grammarAccess.getRelaySAPointAccess().getRelay_sapKeyword_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__RelaySAPoint__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__RelaySAPoint__Group__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__RelaySAPoint__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getRelaySAPointAccess().getRelayAssignment_1()); }
+(rule__RelaySAPoint__RelayAssignment_1)
+{ after(grammarAccess.getRelaySAPointAccess().getRelayAssignment_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__SPPoint__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__SPPoint__Group__0__Impl
+ rule__SPPoint__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__SPPoint__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSPPointAccess().getRefAssignment_0()); }
+(rule__SPPoint__RefAssignment_0)
+{ after(grammarAccess.getSPPointAccess().getRefAssignment_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__SPPoint__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__SPPoint__Group__1__Impl
+ rule__SPPoint__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__SPPoint__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSPPointAccess().getFullStopKeyword_1()); }
+
+ '.'
+
+{ after(grammarAccess.getSPPointAccess().getFullStopKeyword_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__SPPoint__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__SPPoint__Group__2__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__SPPoint__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSPPointAccess().getServiceAssignment_2()); }
+(rule__SPPoint__ServiceAssignment_2)
+{ after(grammarAccess.getSPPointAccess().getServiceAssignment_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+rule__ActorRef__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ActorRef__Group__0__Impl
+ rule__ActorRef__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorRef__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorRefAccess().getActorRefKeyword_0()); }
+
+ 'ActorRef'
+
+{ after(grammarAccess.getActorRefAccess().getActorRefKeyword_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ActorRef__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ActorRef__Group__1__Impl
+ rule__ActorRef__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorRef__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorRefAccess().getNameAssignment_1()); }
+(rule__ActorRef__NameAssignment_1)
+{ after(grammarAccess.getActorRefAccess().getNameAssignment_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ActorRef__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ActorRef__Group__2__Impl
+ rule__ActorRef__Group__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorRef__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorRefAccess().getColonKeyword_2()); }
+
+ ':'
+
+{ after(grammarAccess.getActorRefAccess().getColonKeyword_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ActorRef__Group__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ActorRef__Group__3__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorRef__Group__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorRefAccess().getTypeAssignment_3()); }
+(rule__ActorRef__TypeAssignment_3)
+{ after(grammarAccess.getActorRefAccess().getTypeAssignment_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+rule__StateGraph__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__StateGraph__Group__0__Impl
+ rule__StateGraph__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__StateGraph__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getStateGraphAccess().getLeftCurlyBracketKeyword_0()); }
+
+ '{'
+
+{ after(grammarAccess.getStateGraphAccess().getLeftCurlyBracketKeyword_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__StateGraph__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__StateGraph__Group__1__Impl
+ rule__StateGraph__Group__2
+;
+finally {
+ restoreStackSize(stackSize);