From 9c37d791a01bcd16c94c060a88e678bb6b048682 Mon Sep 17 00:00:00 2001 From: Markus Hamann <markus.hamann1@tu-dresden.de> Date: Thu, 20 Jun 2024 09:51:19 +0200 Subject: [PATCH] Add first version of the pipeline --- .../graphical/examples-graphical/.project | 18 + .../garagedoor.statemachine | 49 + .../examples-graphical/representations.aird | 1345 ++++ .../examples-graphical/switch.statemachine | 17 + .../swt.most.petrinet.sirius/.classpath | 7 + .../swt.most.petrinet.sirius/.gitignore | 1 + .../swt.most.petrinet.sirius/.project | 24 + .../org.eclipse.core.resources.prefs | 2 + .../META-INF/MANIFEST.MF | 16 + .../swt.most.petrinet.sirius/build.properties | 7 + .../description/petrinet.odesign | 52 + .../plugin.properties | 3 + .../swt.most.petrinet.sirius/plugin.xml | 10 + .../swt/most/sirius/petrinet/Activator.java | 66 + .../swt/most/sirius/petrinet/Services.java | 17 + .../swt.most.statemachine.sirius/.classpath | 7 + .../swt.most.statemachine.sirius/.gitignore | 1 + .../swt.most.statemachine.sirius/.project | 24 + .../org.eclipse.core.resources.prefs | 2 + .../META-INF/MANIFEST.MF | 16 + .../build.properties | 7 + .../description/statemachine.odesign | 292 + .../plugin.properties | 3 + .../swt.most.statemachine.sirius/plugin.xml | 10 + .../most/sirius/statemachine/Activator.java | 66 + .../most/sirius/statemachine/Services.java | 17 + .../textual/runtime/examples-xtext/.project | 17 + .../examples-xtext/garagedoor.statemachine | 33 + .../examples-xtext/switch.statemachine | 10 + .../swt.most.statemachine.xtext/.classpath | 16 + .../swt.most.statemachine.xtext/.project | 23 + .../.classpath | 9 + .../swt.most.statemachine.xtext.ide/.project | 34 + .../org.eclipse.core.resources.prefs | 2 + .../.settings/org.eclipse.jdt.core.prefs | 10 + .../META-INF/MANIFEST.MF | 16 + .../services/org.eclipse.xtext.ISetup | 1 + .../xtext/ide/AbstractParserIdeModule.class | Bin 0 -> 2753 bytes .../xtext/ide/ParserIdeModule.class | Bin 0 -> 373 bytes .../xtext/ide/ParserIdeSetup.class | Bin 0 -> 866 bytes .../antlr/ParserParser$NameMappings.class | Bin 0 -> 7706 bytes .../contentassist/antlr/ParserParser.class | Bin 0 -> 2516 bytes .../PartialParserContentAssistParser.class | Bin 0 -> 2612 bytes .../antlr/internal/InternalParser.g | 1969 ++++++ .../antlr/internal/InternalParser.tokens | 38 + .../internal/InternalParserLexer$DFA15.class | Bin 0 -> 3212 bytes .../antlr/internal/InternalParserLexer.class | Bin 0 -> 15785 bytes .../antlr/internal/InternalParserParser.class | Bin 0 -> 55078 bytes .../build.properties | 6 + .../services/org.eclipse.xtext.ISetup | 1 + .../xtext/ide/AbstractParserIdeModule.java | 60 + .../ide/contentassist/antlr/ParserParser.java | 112 + .../PartialParserContentAssistParser.java | 33 + .../antlr/internal/InternalParser.g | 1969 ++++++ .../antlr/internal/InternalParser.tokens | 38 + .../antlr/internal/InternalParserLexer.java | 1541 +++++ .../antlr/internal/InternalParserParser.java | 5786 +++++++++++++++++ .../xtext/ide/ParserIdeModule.java | 11 + .../xtext/ide/ParserIdeSetup.java | 22 + .../swt.most.statemachine.xtext.ui/.classpath | 9 + .../swt.most.statemachine.xtext.ui/.project | 34 + .../org.eclipse.core.resources.prefs | 2 + .../.settings/org.eclipse.jdt.core.prefs | 10 + .../META-INF/MANIFEST.MF | 25 + .../xtext/ui/AbstractParserUiModule.class | Bin 0 -> 12838 bytes .../ui/ParserExecutableExtensionFactory.class | Bin 0 -> 1160 bytes .../xtext/ui/ParserUiModule.class | Bin 0 -> 473 bytes .../AbstractParserProposalProvider.class | Bin 0 -> 6144 bytes .../ParserProposalProvider.class | Bin 0 -> 440 bytes .../xtext/ui/internal/XtextActivator.class | Bin 0 -> 4387 bytes .../ParserDescriptionLabelProvider.class | Bin 0 -> 437 bytes .../ui/labeling/ParserLabelProvider.class | Bin 0 -> 622 bytes .../outline/ParserOutlineTreeProvider.class | Bin 0 -> 429 bytes .../ui/quickfix/ParserQuickfixProvider.class | Bin 0 -> 415 bytes .../ParserValidatorConfigurationBlock.class | Bin 0 -> 1738 bytes .../build.properties | 7 + .../swt.most.statemachine.xtext.ui/plugin.xml | 434 ++ .../xtext/ui/AbstractParserUiModule.java | 300 + .../ui/ParserExecutableExtensionFactory.java | 29 + .../AbstractParserProposalProvider.java | 121 + .../xtext/ui/internal/XtextActivator.java | 94 + .../ParserValidatorConfigurationBlock.java | 35 + .../statemachine/xtext/ui/ParserUiModule.java | 16 + .../contentassist/ParserProposalProvider.java | 12 + .../ParserDescriptionLabelProvider.java | 25 + .../ui/labeling/ParserLabelProvider.java | 31 + .../ui/outline/ParserOutlineTreeProvider.java | 15 + .../ui/quickfix/ParserQuickfixProvider.java | 26 + .../.antlr-generator-3.2.0-patch.jar | Bin 0 -> 1484649 bytes .../swt.most.statemachine.xtext/.classpath | 9 + ...atemachine) Language Infrastructure.launch | 18 + .../.launch/Launch Runtime Eclipse.launch | 34 + .../swt.most.statemachine.xtext/.project | 34 + .../org.eclipse.core.resources.prefs | 2 + .../.settings/org.eclipse.jdt.core.prefs | 10 + .../META-INF/MANIFEST.MF | 25 + .../xtext/AbstractParserRuntimeModule.class | Bin 0 -> 9398 bytes .../statemachine/xtext/GenerateParser.mwe2 | 59 + .../swt/most/statemachine/xtext/Parser.xtext | 76 + .../most/statemachine/xtext/Parser.xtextbin | Bin 0 -> 3257 bytes .../xtext/ParserRuntimeModule.class | Bin 0 -> 377 bytes .../xtext/ParserStandaloneSetup.class | Bin 0 -> 543 bytes .../ParserStandaloneSetupGenerated.class | Bin 0 -> 2154 bytes .../formatting2/.ParserFormatter.java._trace | Bin 0 -> 2068 bytes .../formatting2/.ParserFormatter.xtendbin | Bin 0 -> 3261 bytes .../xtext/formatting2/ParserFormatter.class | Bin 0 -> 4557 bytes .../generator/.ParserGenerator.java._trace | Bin 0 -> 409 bytes .../xtext/generator/.ParserGenerator.xtendbin | Bin 0 -> 2296 bytes .../xtext/generator/ParserGenerator.class | Bin 0 -> 789 bytes .../antlr/ParserAntlrTokenFileProvider.class | Bin 0 -> 923 bytes .../xtext/parser/antlr/ParserParser.class | Bin 0 -> 1965 bytes .../parser/antlr/internal/InternalParser.g | 814 +++ .../antlr/internal/InternalParser.tokens | 38 + .../internal/InternalParserLexer$DFA15.class | Bin 0 -> 3157 bytes .../antlr/internal/InternalParserLexer.class | Bin 0 -> 15703 bytes .../antlr/internal/InternalParserParser.class | Bin 0 -> 22875 bytes .../scoping/AbstractParserScopeProvider.class | Bin 0 -> 416 bytes .../xtext/scoping/ParserScopeProvider.class | Bin 0 -> 401 bytes .../serializer/ParserSemanticSequencer.class | Bin 0 -> 8791 bytes .../serializer/ParserSyntacticSequencer.class | Bin 0 -> 4990 bytes .../ParserGrammarAccess$ActionElements.class | Bin 0 -> 2539 bytes ...rammarAccess$ActivityContentElements.class | Bin 0 -> 2399 bytes .../ParserGrammarAccess$EStringElements.class | Bin 0 -> 2570 bytes ...rserGrammarAccess$FinalStateElements.class | Bin 0 -> 2785 bytes .../ParserGrammarAccess$GuardElements.class | Bin 0 -> 2517 bytes ...erGrammarAccess$InitialStateElements.class | Bin 0 -> 2805 bytes ...serGrammarAccess$NormalStateElements.class | Bin 0 -> 5100 bytes .../ParserGrammarAccess$StateElements.class | Bin 0 -> 2389 bytes ...erGrammarAccess$StateMachineElements.class | Bin 0 -> 4816 bytes ...rserGrammarAccess$TransitionElements.class | Bin 0 -> 5510 bytes .../ParserGrammarAccess$TriggerElements.class | Bin 0 -> 2545 bytes .../xtext/services/ParserGrammarAccess.class | Bin 0 -> 9430 bytes .../validation/AbstractParserValidator.class | Bin 0 -> 1148 bytes ...ParserConfigurableIssueCodesProvider.class | Bin 0 -> 1344 bytes .../xtext/validation/ParserValidator.class | Bin 0 -> 1433 bytes .../build.properties | 17 + .../xtext/AbstractParserRuntimeModule.java | 223 + .../most/statemachine/xtext/Parser.xtextbin | Bin 0 -> 3257 bytes .../xtext/ParserStandaloneSetupGenerated.java | 37 + .../antlr/ParserAntlrTokenFileProvider.java | 16 + .../xtext/parser/antlr/ParserParser.java | 40 + .../parser/antlr/internal/InternalParser.g | 814 +++ .../antlr/internal/InternalParser.tokens | 38 + .../antlr/internal/InternalParserLexer.java | 1541 +++++ .../antlr/internal/InternalParserParser.java | 1942 ++++++ .../scoping/AbstractParserScopeProvider.java | 9 + .../serializer/ParserSemanticSequencer.java | 215 + .../serializer/ParserSyntacticSequencer.java | 64 + .../xtext/services/ParserGrammarAccess.java | 780 +++ .../validation/AbstractParserValidator.java | 19 + .../ParserConfigurableIssueCodesProvider.java | 21 + .../statemachine/xtext/GenerateParser.mwe2 | 59 + .../swt/most/statemachine/xtext/Parser.xtext | 76 + .../xtext/ParserRuntimeModule.java | 11 + .../xtext/ParserStandaloneSetup.java | 15 + .../xtext/formatting2/ParserFormatter.xtend | 39 + .../xtext/generator/ParserGenerator.xtend | 25 + .../xtext/scoping/ParserScopeProvider.java | 15 + .../xtext/validation/ParserValidator.java | 35 + .../formatting2/.ParserFormatter.java._trace | Bin 0 -> 2068 bytes .../formatting2/.ParserFormatter.xtendbin | Bin 0 -> 3261 bytes .../xtext/formatting2/ParserFormatter.java | 74 + .../generator/.ParserGenerator.java._trace | Bin 0 -> 409 bytes .../xtext/generator/.ParserGenerator.xtendbin | Bin 0 -> 2296 bytes .../xtext/generator/ParserGenerator.java | 21 + metamodel/runtime/examples/.project | 11 + metamodel/runtime/examples/example.petrinet | 12 + .../runtime/examples/garagedoor.statemachine | 49 + .../runtime/examples/switch.statemachine | 17 + metamodel/swt.most.petrinet.edit/.classpath | 7 + metamodel/swt.most.petrinet.edit/.gitignore | 1 + metamodel/swt.most.petrinet.edit/.project | 28 + .../org.eclipse.core.resources.prefs | 2 + .../META-INF/MANIFEST.MF | 16 + .../swt.most.petrinet.edit/build.properties | 10 + .../icons/full/obj16/Arc.gif | Bin 0 -> 129 bytes .../icons/full/obj16/Element.gif | Bin 0 -> 129 bytes .../icons/full/obj16/IncomingArc.gif | Bin 0 -> 129 bytes .../icons/full/obj16/OutgoingArc.gif | Bin 0 -> 129 bytes .../icons/full/obj16/PetriNet.gif | Bin 0 -> 129 bytes .../icons/full/obj16/Place.gif | Bin 0 -> 129 bytes .../icons/full/obj16/Token.gif | Bin 0 -> 129 bytes .../icons/full/obj16/Transition.gif | Bin 0 -> 129 bytes .../swt.most.petrinet.edit/plugin.properties | 37 + metamodel/swt.most.petrinet.edit/plugin.xml | 22 + .../petrinet/provider/ArcItemProvider.java | 122 + .../provider/ElementItemProvider.java | 153 + .../provider/IncomingArcItemProvider.java | 137 + .../provider/OutgoingArcItemProvider.java | 137 + .../provider/PetriNetItemProvider.java | 203 + .../petrinet/provider/PetrinetEditPlugin.java | 87 + .../PetrinetItemProviderAdapterFactory.java | 326 + .../petrinet/provider/PlaceItemProvider.java | 150 + .../petrinet/provider/TokenItemProvider.java | 122 + .../provider/TransitionItemProvider.java | 106 + metamodel/swt.most.petrinet.editor/.classpath | 7 + metamodel/swt.most.petrinet.editor/.gitignore | 1 + metamodel/swt.most.petrinet.editor/.project | 28 + .../org.eclipse.core.resources.prefs | 2 + .../META-INF/MANIFEST.MF | 19 + .../swt.most.petrinet.editor/build.properties | 10 + .../icons/full/obj16/PetrinetModelFile.gif | Bin 0 -> 346 bytes .../icons/full/wizban/NewPetrinet.gif | Bin 0 -> 2462 bytes .../plugin.properties | 53 + metamodel/swt.most.petrinet.editor/plugin.xml | 37 + .../PetrinetActionBarContributor.java | 422 ++ .../petrinet/presentation/PetrinetEditor.java | 1775 +++++ .../presentation/PetrinetEditorPlugin.java | 89 + .../presentation/PetrinetModelWizard.java | 624 ++ metamodel/swt.most.petrinet/.classpath | 8 + metamodel/swt.most.petrinet/.project | 29 + .../org.eclipse.core.resources.prefs | 2 + .../swt.most.petrinet/META-INF/MANIFEST.MF | 16 + metamodel/swt.most.petrinet/bin/.gitkeep | Bin 0 -> 6 bytes .../bin/swt/most/petrinet/Arc.class | Bin 0 -> 142 bytes .../bin/swt/most/petrinet/Element.class | Bin 0 -> 245 bytes .../bin/swt/most/petrinet/IncomingArc.class | Bin 0 -> 362 bytes .../bin/swt/most/petrinet/OutgoingArc.class | Bin 0 -> 362 bytes .../bin/swt/most/petrinet/PetriNet.class | Bin 0 -> 477 bytes .../swt/most/petrinet/PetrinetFactory.class | Bin 0 -> 877 bytes .../petrinet/PetrinetPackage$Literals.class | Bin 0 -> 1935 bytes .../swt/most/petrinet/PetrinetPackage.class | Bin 0 -> 2702 bytes .../bin/swt/most/petrinet/Place.class | Bin 0 -> 241 bytes .../bin/swt/most/petrinet/Token.class | Bin 0 -> 146 bytes .../bin/swt/most/petrinet/Transition.class | Bin 0 -> 152 bytes .../bin/swt/most/petrinet/impl/ArcImpl.class | Bin 0 -> 723 bytes .../swt/most/petrinet/impl/ElementImpl.class | Bin 0 -> 2801 bytes .../most/petrinet/impl/IncomingArcImpl.class | Bin 0 -> 3340 bytes .../most/petrinet/impl/OutgoingArcImpl.class | Bin 0 -> 3340 bytes .../swt/most/petrinet/impl/PetriNetImpl.class | Bin 0 -> 4644 bytes .../petrinet/impl/PetrinetFactoryImpl.class | Bin 0 -> 4018 bytes .../petrinet/impl/PetrinetPackageImpl.class | Bin 0 -> 6926 bytes .../swt/most/petrinet/impl/PlaceImpl.class | Bin 0 -> 3431 bytes .../swt/most/petrinet/impl/TokenImpl.class | Bin 0 -> 733 bytes .../most/petrinet/impl/TransitionImpl.class | Bin 0 -> 666 bytes .../util/PetrinetAdapterFactory$1.class | Bin 0 -> 3820 bytes .../util/PetrinetAdapterFactory.class | Bin 0 -> 2491 bytes .../most/petrinet/util/PetrinetSwitch.class | Bin 0 -> 4528 bytes metamodel/swt.most.petrinet/build.properties | 10 + .../swt.most.petrinet/model/petrinet.aird | 535 ++ .../swt.most.petrinet/model/petrinet.ecore | 33 + .../swt.most.petrinet/model/petrinet.genmodel | 36 + .../swt.most.petrinet/model/petrinet.svg | 361 + metamodel/swt.most.petrinet/plugin.properties | 4 + metamodel/swt.most.petrinet/plugin.xml | 17 + .../src-gen/swt/most/petrinet/Arc.java | 18 + .../src-gen/swt/most/petrinet/Element.java | 46 + .../swt/most/petrinet/IncomingArc.java | 67 + .../swt/most/petrinet/OutgoingArc.java | 67 + .../src-gen/swt/most/petrinet/PetriNet.java | 74 + .../swt/most/petrinet/PetrinetFactory.java | 87 + .../swt/most/petrinet/PetrinetPackage.java | 738 +++ .../src-gen/swt/most/petrinet/Place.java | 44 + .../src-gen/swt/most/petrinet/Token.java | 18 + .../src-gen/swt/most/petrinet/Transition.java | 16 + .../swt/most/petrinet/impl/ArcImpl.java | 39 + .../swt/most/petrinet/impl/ElementImpl.java | 165 + .../most/petrinet/impl/IncomingArcImpl.java | 223 + .../most/petrinet/impl/OutgoingArcImpl.java | 223 + .../swt/most/petrinet/impl/PetriNetImpl.java | 260 + .../petrinet/impl/PetrinetFactoryImpl.java | 156 + .../petrinet/impl/PetrinetPackageImpl.java | 442 ++ .../swt/most/petrinet/impl/PlaceImpl.java | 181 + .../swt/most/petrinet/impl/TokenImpl.java | 39 + .../most/petrinet/impl/TransitionImpl.java | 37 + .../petrinet/util/PetrinetAdapterFactory.java | 252 + .../most/petrinet/util/PetrinetSwitch.java | 274 + metamodel/swt.most.petrinet/src/.gitkeep | Bin 0 -> 6 bytes .../swt.most.statemachine.edit/.classpath | 7 + .../swt.most.statemachine.edit/.gitignore | 1 + metamodel/swt.most.statemachine.edit/.project | 28 + .../org.eclipse.core.resources.prefs | 2 + .../META-INF/MANIFEST.MF | 16 + .../build.properties | 10 + .../icons/full/obj16/Action.gif | Bin 0 -> 129 bytes .../icons/full/obj16/FinalState.gif | Bin 0 -> 129 bytes .../icons/full/obj16/Guard.gif | Bin 0 -> 129 bytes .../icons/full/obj16/InitialState.gif | Bin 0 -> 129 bytes .../icons/full/obj16/NormalState.gif | Bin 0 -> 129 bytes .../icons/full/obj16/StateMachine.gif | Bin 0 -> 129 bytes .../icons/full/obj16/Transition.gif | Bin 0 -> 129 bytes .../icons/full/obj16/Trigger.gif | Bin 0 -> 129 bytes .../plugin.properties | 46 + .../swt.most.statemachine.edit/plugin.xml | 22 + .../provider/ActionItemProvider.java | 106 + .../provider/ExpressionItemProvider.java | 142 + .../provider/FinalStateItemProvider.java | 106 + .../provider/GuardItemProvider.java | 106 + .../provider/InitialStateItemProvider.java | 106 + .../provider/NormalStateItemProvider.java | 182 + .../provider/StateItemProvider.java | 141 + .../provider/StateMachineItemProvider.java | 207 + .../provider/StatemachineEditPlugin.java | 87 + ...tatemachineItemProviderAdapterFactory.java | 376 ++ .../provider/TransitionItemProvider.java | 211 + .../provider/TriggerItemProvider.java | 106 + .../swt.most.statemachine.editor/.classpath | 7 + .../swt.most.statemachine.editor/.gitignore | 1 + .../swt.most.statemachine.editor/.project | 28 + .../org.eclipse.core.resources.prefs | 2 + .../META-INF/MANIFEST.MF | 19 + .../build.properties | 10 + .../full/obj16/StatemachineModelFile.gif | Bin 0 -> 346 bytes .../icons/full/wizban/NewStatemachine.gif | Bin 0 -> 2462 bytes .../plugin.properties | 53 + .../swt.most.statemachine.editor/plugin.xml | 37 + .../StatemachineActionBarContributor.java | 424 ++ .../presentation/StatemachineEditor.java | 1775 +++++ .../StatemachineEditorPlugin.java | 89 + .../presentation/StatemachineModelWizard.java | 628 ++ metamodel/swt.most.statemachine/.classpath | 8 + metamodel/swt.most.statemachine/.project | 35 + .../org.eclipse.core.resources.prefs | 2 + .../META-INF/MANIFEST.MF | 16 + metamodel/swt.most.statemachine/bin/.gitkeep | Bin 0 -> 6 bytes .../bin/swt/most/statemachine/Action.class | Bin 0 -> 155 bytes .../swt/most/statemachine/Expression.class | Bin 0 -> 249 bytes .../swt/most/statemachine/FinalState.class | Bin 0 -> 158 bytes .../bin/swt/most/statemachine/Guard.class | Bin 0 -> 153 bytes .../swt/most/statemachine/InitialState.class | Bin 0 -> 162 bytes .../swt/most/statemachine/NormalState.class | Bin 0 -> 343 bytes .../bin/swt/most/statemachine/State.class | Bin 0 -> 233 bytes .../swt/most/statemachine/StateMachine.class | Bin 0 -> 757 bytes .../statemachine/StatemachineFactory.class | Bin 0 -> 1087 bytes .../StatemachinePackage$Literals.class | Bin 0 -> 2687 bytes .../statemachine/StatemachinePackage.class | Bin 0 -> 3679 bytes .../swt/most/statemachine/Transition.class | Bin 0 -> 630 bytes .../bin/swt/most/statemachine/Trigger.class | Bin 0 -> 157 bytes .../most/statemachine/impl/ActionImpl.class | Bin 0 -> 681 bytes .../statemachine/impl/ExpressionImpl.class | Bin 0 -> 2823 bytes .../statemachine/impl/FinalStateImpl.class | Bin 0 -> 697 bytes .../most/statemachine/impl/GuardImpl.class | Bin 0 -> 676 bytes .../statemachine/impl/InitialStateImpl.class | Bin 0 -> 707 bytes .../statemachine/impl/NormalStateImpl.class | Bin 0 -> 4987 bytes .../most/statemachine/impl/StateImpl.class | Bin 0 -> 2769 bytes .../statemachine/impl/StateMachineImpl.class | Bin 0 -> 6807 bytes .../impl/StatemachineFactoryImpl.class | Bin 0 -> 4732 bytes .../impl/StatemachinePackageImpl.class | Bin 0 -> 8726 bytes .../statemachine/impl/TransitionImpl.class | Bin 0 -> 7073 bytes .../most/statemachine/impl/TriggerImpl.class | Bin 0 -> 686 bytes .../util/StatemachineAdapterFactory$1.class | Bin 0 -> 4738 bytes .../util/StatemachineAdapterFactory.class | Bin 0 -> 2743 bytes .../util/StatemachineSwitch.class | Bin 0 -> 5592 bytes .../swt.most.statemachine/build.properties | 10 + .../model/statemachine.aird | 822 +++ .../model/statemachine.ecore | 47 + .../model/statemachine.genmodel | 44 + .../model/statemachine.svg | 521 ++ .../swt.most.statemachine/plugin.properties | 4 + metamodel/swt.most.statemachine/plugin.xml | 17 + .../src-gen/swt/most/statemachine/Action.java | 16 + .../swt/most/statemachine/Expression.java | 46 + .../swt/most/statemachine/FinalState.java | 16 + .../src-gen/swt/most/statemachine/Guard.java | 16 + .../swt/most/statemachine/InitialState.java | 16 + .../swt/most/statemachine/NormalState.java | 90 + .../src-gen/swt/most/statemachine/State.java | 46 + .../swt/most/statemachine/StateMachine.java | 110 + .../statemachine/StatemachineFactory.java | 105 + .../statemachine/StatemachinePackage.java | 1038 +++ .../swt/most/statemachine/Transition.java | 138 + .../swt/most/statemachine/Trigger.java | 16 + .../most/statemachine/impl/ActionImpl.java | 37 + .../statemachine/impl/ExpressionImpl.java | 165 + .../statemachine/impl/FinalStateImpl.java | 37 + .../swt/most/statemachine/impl/GuardImpl.java | 37 + .../statemachine/impl/InitialStateImpl.java | 37 + .../statemachine/impl/NormalStateImpl.java | 328 + .../swt/most/statemachine/impl/StateImpl.java | 164 + .../statemachine/impl/StateMachineImpl.java | 375 ++ .../impl/StatemachineFactoryImpl.java | 180 + .../impl/StatemachinePackageImpl.java | 565 ++ .../statemachine/impl/TransitionImpl.java | 456 ++ .../most/statemachine/impl/TriggerImpl.java | 37 + .../util/StatemachineAdapterFactory.java | 290 + .../statemachine/util/StatemachineSwitch.java | 322 + metamodel/swt.most.statemachine/src/.gitkeep | Bin 0 -> 6 bytes model2model/examples-etl/.project | 12 + .../org.eclipse.core.resources.prefs | 2 + .../petrinets/garagedoor.petrinet | 81 + .../examples-etl/petrinets/garagedoor.svg | 625 ++ .../examples-etl/petrinets/switch.petrinet | 21 + model2model/examples-etl/petrinets/switch.svg | 148 + model2model/examples-etl/representations.aird | 2932 +++++++++ .../statemachines/garagedoor.statemachine | 49 + .../examples-etl/statemachines/garagedoor.svg | 280 + .../statemachines/switch.statemachine | 17 + .../examples-etl/statemachines/switch.svg | 132 + .../.project | 11 + .../StatechartToPetrinets-GarageDoor.launch | 16 + .../StatechartToPetrinets-Switch.launch | 16 + .../StatechartToPetrinets.etl | 129 + .../.project | 11 + .../model/garagedoor.statemachine | 51 + .../statemachine-validation.evl | 55 + .../validation GarageDoor.launch | 18 + .../.project | 11 + .../generateJava-GarageDoor.launch | 23 + .../generateJava-Switch.launch | 23 + .../generator-code/functions.eol | 15 + .../generator-code/generate.egx | 9 + .../generator-code/template-statemachine.egl | 104 + .../model/garagedoor.statemachine | 49 + .../model/switch.statemachine | 17 + .../src-gen/GarageDoor.java | 142 + .../src-gen/Switch.java | 63 + 406 files changed, 48017 insertions(+) create mode 100644 domain_specific_language/graphical/examples-graphical/.project create mode 100644 domain_specific_language/graphical/examples-graphical/garagedoor.statemachine create mode 100644 domain_specific_language/graphical/examples-graphical/representations.aird create mode 100644 domain_specific_language/graphical/examples-graphical/switch.statemachine create mode 100644 domain_specific_language/graphical/swt.most.petrinet.sirius/.classpath create mode 100644 domain_specific_language/graphical/swt.most.petrinet.sirius/.gitignore create mode 100644 domain_specific_language/graphical/swt.most.petrinet.sirius/.project create mode 100644 domain_specific_language/graphical/swt.most.petrinet.sirius/.settings/org.eclipse.core.resources.prefs create mode 100644 domain_specific_language/graphical/swt.most.petrinet.sirius/META-INF/MANIFEST.MF create mode 100644 domain_specific_language/graphical/swt.most.petrinet.sirius/build.properties create mode 100644 domain_specific_language/graphical/swt.most.petrinet.sirius/description/petrinet.odesign create mode 100644 domain_specific_language/graphical/swt.most.petrinet.sirius/plugin.properties create mode 100644 domain_specific_language/graphical/swt.most.petrinet.sirius/plugin.xml create mode 100644 domain_specific_language/graphical/swt.most.petrinet.sirius/src/swt/most/sirius/petrinet/Activator.java create mode 100644 domain_specific_language/graphical/swt.most.petrinet.sirius/src/swt/most/sirius/petrinet/Services.java create mode 100644 domain_specific_language/graphical/swt.most.statemachine.sirius/.classpath create mode 100644 domain_specific_language/graphical/swt.most.statemachine.sirius/.gitignore create mode 100644 domain_specific_language/graphical/swt.most.statemachine.sirius/.project create mode 100644 domain_specific_language/graphical/swt.most.statemachine.sirius/.settings/org.eclipse.core.resources.prefs create mode 100644 domain_specific_language/graphical/swt.most.statemachine.sirius/META-INF/MANIFEST.MF create mode 100644 domain_specific_language/graphical/swt.most.statemachine.sirius/build.properties create mode 100644 domain_specific_language/graphical/swt.most.statemachine.sirius/description/statemachine.odesign create mode 100644 domain_specific_language/graphical/swt.most.statemachine.sirius/plugin.properties create mode 100644 domain_specific_language/graphical/swt.most.statemachine.sirius/plugin.xml create mode 100644 domain_specific_language/graphical/swt.most.statemachine.sirius/src/swt/most/sirius/statemachine/Activator.java create mode 100644 domain_specific_language/graphical/swt.most.statemachine.sirius/src/swt/most/sirius/statemachine/Services.java create mode 100644 domain_specific_language/textual/runtime/examples-xtext/.project create mode 100644 domain_specific_language/textual/runtime/examples-xtext/garagedoor.statemachine create mode 100644 domain_specific_language/textual/runtime/examples-xtext/switch.statemachine create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/.classpath create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/.project create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ide/.classpath create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ide/.project create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ide/.settings/org.eclipse.core.resources.prefs create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ide/.settings/org.eclipse.jdt.core.prefs create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ide/META-INF/MANIFEST.MF create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ide/bin/META-INF/services/org.eclipse.xtext.ISetup create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ide/bin/swt/most/statemachine/xtext/ide/AbstractParserIdeModule.class create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ide/bin/swt/most/statemachine/xtext/ide/ParserIdeModule.class create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ide/bin/swt/most/statemachine/xtext/ide/ParserIdeSetup.class create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ide/bin/swt/most/statemachine/xtext/ide/contentassist/antlr/ParserParser$NameMappings.class create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ide/bin/swt/most/statemachine/xtext/ide/contentassist/antlr/ParserParser.class create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ide/bin/swt/most/statemachine/xtext/ide/contentassist/antlr/PartialParserContentAssistParser.class create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ide/bin/swt/most/statemachine/xtext/ide/contentassist/antlr/internal/InternalParser.g create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ide/bin/swt/most/statemachine/xtext/ide/contentassist/antlr/internal/InternalParser.tokens create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ide/bin/swt/most/statemachine/xtext/ide/contentassist/antlr/internal/InternalParserLexer$DFA15.class create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ide/bin/swt/most/statemachine/xtext/ide/contentassist/antlr/internal/InternalParserLexer.class create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ide/bin/swt/most/statemachine/xtext/ide/contentassist/antlr/internal/InternalParserParser.class create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ide/build.properties create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ide/src-gen/META-INF/services/org.eclipse.xtext.ISetup create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ide/src-gen/swt/most/statemachine/xtext/ide/AbstractParserIdeModule.java create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ide/src-gen/swt/most/statemachine/xtext/ide/contentassist/antlr/ParserParser.java create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ide/src-gen/swt/most/statemachine/xtext/ide/contentassist/antlr/PartialParserContentAssistParser.java create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ide/src-gen/swt/most/statemachine/xtext/ide/contentassist/antlr/internal/InternalParser.g create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ide/src-gen/swt/most/statemachine/xtext/ide/contentassist/antlr/internal/InternalParser.tokens create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ide/src-gen/swt/most/statemachine/xtext/ide/contentassist/antlr/internal/InternalParserLexer.java create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ide/src-gen/swt/most/statemachine/xtext/ide/contentassist/antlr/internal/InternalParserParser.java create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ide/src/swt/most/statemachine/xtext/ide/ParserIdeModule.java create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ide/src/swt/most/statemachine/xtext/ide/ParserIdeSetup.java create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/.classpath create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/.project create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/.settings/org.eclipse.core.resources.prefs create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/.settings/org.eclipse.jdt.core.prefs create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/META-INF/MANIFEST.MF create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/bin/swt/most/statemachine/xtext/ui/AbstractParserUiModule.class create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/bin/swt/most/statemachine/xtext/ui/ParserExecutableExtensionFactory.class create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/bin/swt/most/statemachine/xtext/ui/ParserUiModule.class create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/bin/swt/most/statemachine/xtext/ui/contentassist/AbstractParserProposalProvider.class create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/bin/swt/most/statemachine/xtext/ui/contentassist/ParserProposalProvider.class create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/bin/swt/most/statemachine/xtext/ui/internal/XtextActivator.class create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/bin/swt/most/statemachine/xtext/ui/labeling/ParserDescriptionLabelProvider.class create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/bin/swt/most/statemachine/xtext/ui/labeling/ParserLabelProvider.class create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/bin/swt/most/statemachine/xtext/ui/outline/ParserOutlineTreeProvider.class create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/bin/swt/most/statemachine/xtext/ui/quickfix/ParserQuickfixProvider.class create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/bin/swt/most/statemachine/xtext/validation/ParserValidatorConfigurationBlock.class create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/build.properties create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/plugin.xml create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/src-gen/swt/most/statemachine/xtext/ui/AbstractParserUiModule.java create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/src-gen/swt/most/statemachine/xtext/ui/ParserExecutableExtensionFactory.java create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/src-gen/swt/most/statemachine/xtext/ui/contentassist/AbstractParserProposalProvider.java create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/src-gen/swt/most/statemachine/xtext/ui/internal/XtextActivator.java create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/src-gen/swt/most/statemachine/xtext/validation/ParserValidatorConfigurationBlock.java create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/src/swt/most/statemachine/xtext/ui/ParserUiModule.java create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/src/swt/most/statemachine/xtext/ui/contentassist/ParserProposalProvider.java create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/src/swt/most/statemachine/xtext/ui/labeling/ParserDescriptionLabelProvider.java create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/src/swt/most/statemachine/xtext/ui/labeling/ParserLabelProvider.java create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/src/swt/most/statemachine/xtext/ui/outline/ParserOutlineTreeProvider.java create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/src/swt/most/statemachine/xtext/ui/quickfix/ParserQuickfixProvider.java create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/.antlr-generator-3.2.0-patch.jar create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/.classpath create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/.launch/Generate Parser (statemachine) Language Infrastructure.launch create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/.launch/Launch Runtime Eclipse.launch create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/.project create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/.settings/org.eclipse.core.resources.prefs create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/.settings/org.eclipse.jdt.core.prefs create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/META-INF/MANIFEST.MF create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/AbstractParserRuntimeModule.class create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/GenerateParser.mwe2 create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/Parser.xtext create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/Parser.xtextbin create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/ParserRuntimeModule.class create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/ParserStandaloneSetup.class create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/ParserStandaloneSetupGenerated.class create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/formatting2/.ParserFormatter.java._trace create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/formatting2/.ParserFormatter.xtendbin create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/formatting2/ParserFormatter.class create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/generator/.ParserGenerator.java._trace create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/generator/.ParserGenerator.xtendbin create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/generator/ParserGenerator.class create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/parser/antlr/ParserAntlrTokenFileProvider.class create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/parser/antlr/ParserParser.class create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/parser/antlr/internal/InternalParser.g create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/parser/antlr/internal/InternalParser.tokens create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/parser/antlr/internal/InternalParserLexer$DFA15.class create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/parser/antlr/internal/InternalParserLexer.class create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/parser/antlr/internal/InternalParserParser.class create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/scoping/AbstractParserScopeProvider.class create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/scoping/ParserScopeProvider.class create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/serializer/ParserSemanticSequencer.class create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/serializer/ParserSyntacticSequencer.class create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/services/ParserGrammarAccess$ActionElements.class create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/services/ParserGrammarAccess$ActivityContentElements.class create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/services/ParserGrammarAccess$EStringElements.class create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/services/ParserGrammarAccess$FinalStateElements.class create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/services/ParserGrammarAccess$GuardElements.class create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/services/ParserGrammarAccess$InitialStateElements.class create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/services/ParserGrammarAccess$NormalStateElements.class create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/services/ParserGrammarAccess$StateElements.class create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/services/ParserGrammarAccess$StateMachineElements.class create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/services/ParserGrammarAccess$TransitionElements.class create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/services/ParserGrammarAccess$TriggerElements.class create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/services/ParserGrammarAccess.class create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/validation/AbstractParserValidator.class create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/validation/ParserConfigurableIssueCodesProvider.class create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/validation/ParserValidator.class create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/build.properties create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/src-gen/swt/most/statemachine/xtext/AbstractParserRuntimeModule.java create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/src-gen/swt/most/statemachine/xtext/Parser.xtextbin create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/src-gen/swt/most/statemachine/xtext/ParserStandaloneSetupGenerated.java create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/src-gen/swt/most/statemachine/xtext/parser/antlr/ParserAntlrTokenFileProvider.java create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/src-gen/swt/most/statemachine/xtext/parser/antlr/ParserParser.java create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/src-gen/swt/most/statemachine/xtext/parser/antlr/internal/InternalParser.g create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/src-gen/swt/most/statemachine/xtext/parser/antlr/internal/InternalParser.tokens create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/src-gen/swt/most/statemachine/xtext/parser/antlr/internal/InternalParserLexer.java create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/src-gen/swt/most/statemachine/xtext/parser/antlr/internal/InternalParserParser.java create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/src-gen/swt/most/statemachine/xtext/scoping/AbstractParserScopeProvider.java create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/src-gen/swt/most/statemachine/xtext/serializer/ParserSemanticSequencer.java create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/src-gen/swt/most/statemachine/xtext/serializer/ParserSyntacticSequencer.java create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/src-gen/swt/most/statemachine/xtext/services/ParserGrammarAccess.java create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/src-gen/swt/most/statemachine/xtext/validation/AbstractParserValidator.java create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/src-gen/swt/most/statemachine/xtext/validation/ParserConfigurableIssueCodesProvider.java create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/src/swt/most/statemachine/xtext/GenerateParser.mwe2 create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/src/swt/most/statemachine/xtext/Parser.xtext create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/src/swt/most/statemachine/xtext/ParserRuntimeModule.java create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/src/swt/most/statemachine/xtext/ParserStandaloneSetup.java create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/src/swt/most/statemachine/xtext/formatting2/ParserFormatter.xtend create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/src/swt/most/statemachine/xtext/generator/ParserGenerator.xtend create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/src/swt/most/statemachine/xtext/scoping/ParserScopeProvider.java create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/src/swt/most/statemachine/xtext/validation/ParserValidator.java create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/xtend-gen/swt/most/statemachine/xtext/formatting2/.ParserFormatter.java._trace create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/xtend-gen/swt/most/statemachine/xtext/formatting2/.ParserFormatter.xtendbin create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/xtend-gen/swt/most/statemachine/xtext/formatting2/ParserFormatter.java create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/xtend-gen/swt/most/statemachine/xtext/generator/.ParserGenerator.java._trace create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/xtend-gen/swt/most/statemachine/xtext/generator/.ParserGenerator.xtendbin create mode 100644 domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/xtend-gen/swt/most/statemachine/xtext/generator/ParserGenerator.java create mode 100644 metamodel/runtime/examples/.project create mode 100644 metamodel/runtime/examples/example.petrinet create mode 100644 metamodel/runtime/examples/garagedoor.statemachine create mode 100644 metamodel/runtime/examples/switch.statemachine create mode 100644 metamodel/swt.most.petrinet.edit/.classpath create mode 100644 metamodel/swt.most.petrinet.edit/.gitignore create mode 100644 metamodel/swt.most.petrinet.edit/.project create mode 100644 metamodel/swt.most.petrinet.edit/.settings/org.eclipse.core.resources.prefs create mode 100644 metamodel/swt.most.petrinet.edit/META-INF/MANIFEST.MF create mode 100644 metamodel/swt.most.petrinet.edit/build.properties create mode 100644 metamodel/swt.most.petrinet.edit/icons/full/obj16/Arc.gif create mode 100644 metamodel/swt.most.petrinet.edit/icons/full/obj16/Element.gif create mode 100644 metamodel/swt.most.petrinet.edit/icons/full/obj16/IncomingArc.gif create mode 100644 metamodel/swt.most.petrinet.edit/icons/full/obj16/OutgoingArc.gif create mode 100644 metamodel/swt.most.petrinet.edit/icons/full/obj16/PetriNet.gif create mode 100644 metamodel/swt.most.petrinet.edit/icons/full/obj16/Place.gif create mode 100644 metamodel/swt.most.petrinet.edit/icons/full/obj16/Token.gif create mode 100644 metamodel/swt.most.petrinet.edit/icons/full/obj16/Transition.gif create mode 100644 metamodel/swt.most.petrinet.edit/plugin.properties create mode 100644 metamodel/swt.most.petrinet.edit/plugin.xml create mode 100644 metamodel/swt.most.petrinet.edit/src-gen/swt/most/petrinet/provider/ArcItemProvider.java create mode 100644 metamodel/swt.most.petrinet.edit/src-gen/swt/most/petrinet/provider/ElementItemProvider.java create mode 100644 metamodel/swt.most.petrinet.edit/src-gen/swt/most/petrinet/provider/IncomingArcItemProvider.java create mode 100644 metamodel/swt.most.petrinet.edit/src-gen/swt/most/petrinet/provider/OutgoingArcItemProvider.java create mode 100644 metamodel/swt.most.petrinet.edit/src-gen/swt/most/petrinet/provider/PetriNetItemProvider.java create mode 100644 metamodel/swt.most.petrinet.edit/src-gen/swt/most/petrinet/provider/PetrinetEditPlugin.java create mode 100644 metamodel/swt.most.petrinet.edit/src-gen/swt/most/petrinet/provider/PetrinetItemProviderAdapterFactory.java create mode 100644 metamodel/swt.most.petrinet.edit/src-gen/swt/most/petrinet/provider/PlaceItemProvider.java create mode 100644 metamodel/swt.most.petrinet.edit/src-gen/swt/most/petrinet/provider/TokenItemProvider.java create mode 100644 metamodel/swt.most.petrinet.edit/src-gen/swt/most/petrinet/provider/TransitionItemProvider.java create mode 100644 metamodel/swt.most.petrinet.editor/.classpath create mode 100644 metamodel/swt.most.petrinet.editor/.gitignore create mode 100644 metamodel/swt.most.petrinet.editor/.project create mode 100644 metamodel/swt.most.petrinet.editor/.settings/org.eclipse.core.resources.prefs create mode 100644 metamodel/swt.most.petrinet.editor/META-INF/MANIFEST.MF create mode 100644 metamodel/swt.most.petrinet.editor/build.properties create mode 100644 metamodel/swt.most.petrinet.editor/icons/full/obj16/PetrinetModelFile.gif create mode 100644 metamodel/swt.most.petrinet.editor/icons/full/wizban/NewPetrinet.gif create mode 100644 metamodel/swt.most.petrinet.editor/plugin.properties create mode 100644 metamodel/swt.most.petrinet.editor/plugin.xml create mode 100644 metamodel/swt.most.petrinet.editor/src-gen/swt/most/petrinet/presentation/PetrinetActionBarContributor.java create mode 100644 metamodel/swt.most.petrinet.editor/src-gen/swt/most/petrinet/presentation/PetrinetEditor.java create mode 100644 metamodel/swt.most.petrinet.editor/src-gen/swt/most/petrinet/presentation/PetrinetEditorPlugin.java create mode 100644 metamodel/swt.most.petrinet.editor/src-gen/swt/most/petrinet/presentation/PetrinetModelWizard.java create mode 100644 metamodel/swt.most.petrinet/.classpath create mode 100644 metamodel/swt.most.petrinet/.project create mode 100644 metamodel/swt.most.petrinet/.settings/org.eclipse.core.resources.prefs create mode 100644 metamodel/swt.most.petrinet/META-INF/MANIFEST.MF create mode 100644 metamodel/swt.most.petrinet/bin/.gitkeep create mode 100644 metamodel/swt.most.petrinet/bin/swt/most/petrinet/Arc.class create mode 100644 metamodel/swt.most.petrinet/bin/swt/most/petrinet/Element.class create mode 100644 metamodel/swt.most.petrinet/bin/swt/most/petrinet/IncomingArc.class create mode 100644 metamodel/swt.most.petrinet/bin/swt/most/petrinet/OutgoingArc.class create mode 100644 metamodel/swt.most.petrinet/bin/swt/most/petrinet/PetriNet.class create mode 100644 metamodel/swt.most.petrinet/bin/swt/most/petrinet/PetrinetFactory.class create mode 100644 metamodel/swt.most.petrinet/bin/swt/most/petrinet/PetrinetPackage$Literals.class create mode 100644 metamodel/swt.most.petrinet/bin/swt/most/petrinet/PetrinetPackage.class create mode 100644 metamodel/swt.most.petrinet/bin/swt/most/petrinet/Place.class create mode 100644 metamodel/swt.most.petrinet/bin/swt/most/petrinet/Token.class create mode 100644 metamodel/swt.most.petrinet/bin/swt/most/petrinet/Transition.class create mode 100644 metamodel/swt.most.petrinet/bin/swt/most/petrinet/impl/ArcImpl.class create mode 100644 metamodel/swt.most.petrinet/bin/swt/most/petrinet/impl/ElementImpl.class create mode 100644 metamodel/swt.most.petrinet/bin/swt/most/petrinet/impl/IncomingArcImpl.class create mode 100644 metamodel/swt.most.petrinet/bin/swt/most/petrinet/impl/OutgoingArcImpl.class create mode 100644 metamodel/swt.most.petrinet/bin/swt/most/petrinet/impl/PetriNetImpl.class create mode 100644 metamodel/swt.most.petrinet/bin/swt/most/petrinet/impl/PetrinetFactoryImpl.class create mode 100644 metamodel/swt.most.petrinet/bin/swt/most/petrinet/impl/PetrinetPackageImpl.class create mode 100644 metamodel/swt.most.petrinet/bin/swt/most/petrinet/impl/PlaceImpl.class create mode 100644 metamodel/swt.most.petrinet/bin/swt/most/petrinet/impl/TokenImpl.class create mode 100644 metamodel/swt.most.petrinet/bin/swt/most/petrinet/impl/TransitionImpl.class create mode 100644 metamodel/swt.most.petrinet/bin/swt/most/petrinet/util/PetrinetAdapterFactory$1.class create mode 100644 metamodel/swt.most.petrinet/bin/swt/most/petrinet/util/PetrinetAdapterFactory.class create mode 100644 metamodel/swt.most.petrinet/bin/swt/most/petrinet/util/PetrinetSwitch.class create mode 100644 metamodel/swt.most.petrinet/build.properties create mode 100644 metamodel/swt.most.petrinet/model/petrinet.aird create mode 100644 metamodel/swt.most.petrinet/model/petrinet.ecore create mode 100644 metamodel/swt.most.petrinet/model/petrinet.genmodel create mode 100644 metamodel/swt.most.petrinet/model/petrinet.svg create mode 100644 metamodel/swt.most.petrinet/plugin.properties create mode 100644 metamodel/swt.most.petrinet/plugin.xml create mode 100644 metamodel/swt.most.petrinet/src-gen/swt/most/petrinet/Arc.java create mode 100644 metamodel/swt.most.petrinet/src-gen/swt/most/petrinet/Element.java create mode 100644 metamodel/swt.most.petrinet/src-gen/swt/most/petrinet/IncomingArc.java create mode 100644 metamodel/swt.most.petrinet/src-gen/swt/most/petrinet/OutgoingArc.java create mode 100644 metamodel/swt.most.petrinet/src-gen/swt/most/petrinet/PetriNet.java create mode 100644 metamodel/swt.most.petrinet/src-gen/swt/most/petrinet/PetrinetFactory.java create mode 100644 metamodel/swt.most.petrinet/src-gen/swt/most/petrinet/PetrinetPackage.java create mode 100644 metamodel/swt.most.petrinet/src-gen/swt/most/petrinet/Place.java create mode 100644 metamodel/swt.most.petrinet/src-gen/swt/most/petrinet/Token.java create mode 100644 metamodel/swt.most.petrinet/src-gen/swt/most/petrinet/Transition.java create mode 100644 metamodel/swt.most.petrinet/src-gen/swt/most/petrinet/impl/ArcImpl.java create mode 100644 metamodel/swt.most.petrinet/src-gen/swt/most/petrinet/impl/ElementImpl.java create mode 100644 metamodel/swt.most.petrinet/src-gen/swt/most/petrinet/impl/IncomingArcImpl.java create mode 100644 metamodel/swt.most.petrinet/src-gen/swt/most/petrinet/impl/OutgoingArcImpl.java create mode 100644 metamodel/swt.most.petrinet/src-gen/swt/most/petrinet/impl/PetriNetImpl.java create mode 100644 metamodel/swt.most.petrinet/src-gen/swt/most/petrinet/impl/PetrinetFactoryImpl.java create mode 100644 metamodel/swt.most.petrinet/src-gen/swt/most/petrinet/impl/PetrinetPackageImpl.java create mode 100644 metamodel/swt.most.petrinet/src-gen/swt/most/petrinet/impl/PlaceImpl.java create mode 100644 metamodel/swt.most.petrinet/src-gen/swt/most/petrinet/impl/TokenImpl.java create mode 100644 metamodel/swt.most.petrinet/src-gen/swt/most/petrinet/impl/TransitionImpl.java create mode 100644 metamodel/swt.most.petrinet/src-gen/swt/most/petrinet/util/PetrinetAdapterFactory.java create mode 100644 metamodel/swt.most.petrinet/src-gen/swt/most/petrinet/util/PetrinetSwitch.java create mode 100644 metamodel/swt.most.petrinet/src/.gitkeep create mode 100644 metamodel/swt.most.statemachine.edit/.classpath create mode 100644 metamodel/swt.most.statemachine.edit/.gitignore create mode 100644 metamodel/swt.most.statemachine.edit/.project create mode 100644 metamodel/swt.most.statemachine.edit/.settings/org.eclipse.core.resources.prefs create mode 100644 metamodel/swt.most.statemachine.edit/META-INF/MANIFEST.MF create mode 100644 metamodel/swt.most.statemachine.edit/build.properties create mode 100644 metamodel/swt.most.statemachine.edit/icons/full/obj16/Action.gif create mode 100644 metamodel/swt.most.statemachine.edit/icons/full/obj16/FinalState.gif create mode 100644 metamodel/swt.most.statemachine.edit/icons/full/obj16/Guard.gif create mode 100644 metamodel/swt.most.statemachine.edit/icons/full/obj16/InitialState.gif create mode 100644 metamodel/swt.most.statemachine.edit/icons/full/obj16/NormalState.gif create mode 100644 metamodel/swt.most.statemachine.edit/icons/full/obj16/StateMachine.gif create mode 100644 metamodel/swt.most.statemachine.edit/icons/full/obj16/Transition.gif create mode 100644 metamodel/swt.most.statemachine.edit/icons/full/obj16/Trigger.gif create mode 100644 metamodel/swt.most.statemachine.edit/plugin.properties create mode 100644 metamodel/swt.most.statemachine.edit/plugin.xml create mode 100644 metamodel/swt.most.statemachine.edit/src-gen/swt/most/statemachine/provider/ActionItemProvider.java create mode 100644 metamodel/swt.most.statemachine.edit/src-gen/swt/most/statemachine/provider/ExpressionItemProvider.java create mode 100644 metamodel/swt.most.statemachine.edit/src-gen/swt/most/statemachine/provider/FinalStateItemProvider.java create mode 100644 metamodel/swt.most.statemachine.edit/src-gen/swt/most/statemachine/provider/GuardItemProvider.java create mode 100644 metamodel/swt.most.statemachine.edit/src-gen/swt/most/statemachine/provider/InitialStateItemProvider.java create mode 100644 metamodel/swt.most.statemachine.edit/src-gen/swt/most/statemachine/provider/NormalStateItemProvider.java create mode 100644 metamodel/swt.most.statemachine.edit/src-gen/swt/most/statemachine/provider/StateItemProvider.java create mode 100644 metamodel/swt.most.statemachine.edit/src-gen/swt/most/statemachine/provider/StateMachineItemProvider.java create mode 100644 metamodel/swt.most.statemachine.edit/src-gen/swt/most/statemachine/provider/StatemachineEditPlugin.java create mode 100644 metamodel/swt.most.statemachine.edit/src-gen/swt/most/statemachine/provider/StatemachineItemProviderAdapterFactory.java create mode 100644 metamodel/swt.most.statemachine.edit/src-gen/swt/most/statemachine/provider/TransitionItemProvider.java create mode 100644 metamodel/swt.most.statemachine.edit/src-gen/swt/most/statemachine/provider/TriggerItemProvider.java create mode 100644 metamodel/swt.most.statemachine.editor/.classpath create mode 100644 metamodel/swt.most.statemachine.editor/.gitignore create mode 100644 metamodel/swt.most.statemachine.editor/.project create mode 100644 metamodel/swt.most.statemachine.editor/.settings/org.eclipse.core.resources.prefs create mode 100644 metamodel/swt.most.statemachine.editor/META-INF/MANIFEST.MF create mode 100644 metamodel/swt.most.statemachine.editor/build.properties create mode 100644 metamodel/swt.most.statemachine.editor/icons/full/obj16/StatemachineModelFile.gif create mode 100644 metamodel/swt.most.statemachine.editor/icons/full/wizban/NewStatemachine.gif create mode 100644 metamodel/swt.most.statemachine.editor/plugin.properties create mode 100644 metamodel/swt.most.statemachine.editor/plugin.xml create mode 100644 metamodel/swt.most.statemachine.editor/src-gen/swt/most/statemachine/presentation/StatemachineActionBarContributor.java create mode 100644 metamodel/swt.most.statemachine.editor/src-gen/swt/most/statemachine/presentation/StatemachineEditor.java create mode 100644 metamodel/swt.most.statemachine.editor/src-gen/swt/most/statemachine/presentation/StatemachineEditorPlugin.java create mode 100644 metamodel/swt.most.statemachine.editor/src-gen/swt/most/statemachine/presentation/StatemachineModelWizard.java create mode 100644 metamodel/swt.most.statemachine/.classpath create mode 100644 metamodel/swt.most.statemachine/.project create mode 100644 metamodel/swt.most.statemachine/.settings/org.eclipse.core.resources.prefs create mode 100644 metamodel/swt.most.statemachine/META-INF/MANIFEST.MF create mode 100644 metamodel/swt.most.statemachine/bin/.gitkeep create mode 100644 metamodel/swt.most.statemachine/bin/swt/most/statemachine/Action.class create mode 100644 metamodel/swt.most.statemachine/bin/swt/most/statemachine/Expression.class create mode 100644 metamodel/swt.most.statemachine/bin/swt/most/statemachine/FinalState.class create mode 100644 metamodel/swt.most.statemachine/bin/swt/most/statemachine/Guard.class create mode 100644 metamodel/swt.most.statemachine/bin/swt/most/statemachine/InitialState.class create mode 100644 metamodel/swt.most.statemachine/bin/swt/most/statemachine/NormalState.class create mode 100644 metamodel/swt.most.statemachine/bin/swt/most/statemachine/State.class create mode 100644 metamodel/swt.most.statemachine/bin/swt/most/statemachine/StateMachine.class create mode 100644 metamodel/swt.most.statemachine/bin/swt/most/statemachine/StatemachineFactory.class create mode 100644 metamodel/swt.most.statemachine/bin/swt/most/statemachine/StatemachinePackage$Literals.class create mode 100644 metamodel/swt.most.statemachine/bin/swt/most/statemachine/StatemachinePackage.class create mode 100644 metamodel/swt.most.statemachine/bin/swt/most/statemachine/Transition.class create mode 100644 metamodel/swt.most.statemachine/bin/swt/most/statemachine/Trigger.class create mode 100644 metamodel/swt.most.statemachine/bin/swt/most/statemachine/impl/ActionImpl.class create mode 100644 metamodel/swt.most.statemachine/bin/swt/most/statemachine/impl/ExpressionImpl.class create mode 100644 metamodel/swt.most.statemachine/bin/swt/most/statemachine/impl/FinalStateImpl.class create mode 100644 metamodel/swt.most.statemachine/bin/swt/most/statemachine/impl/GuardImpl.class create mode 100644 metamodel/swt.most.statemachine/bin/swt/most/statemachine/impl/InitialStateImpl.class create mode 100644 metamodel/swt.most.statemachine/bin/swt/most/statemachine/impl/NormalStateImpl.class create mode 100644 metamodel/swt.most.statemachine/bin/swt/most/statemachine/impl/StateImpl.class create mode 100644 metamodel/swt.most.statemachine/bin/swt/most/statemachine/impl/StateMachineImpl.class create mode 100644 metamodel/swt.most.statemachine/bin/swt/most/statemachine/impl/StatemachineFactoryImpl.class create mode 100644 metamodel/swt.most.statemachine/bin/swt/most/statemachine/impl/StatemachinePackageImpl.class create mode 100644 metamodel/swt.most.statemachine/bin/swt/most/statemachine/impl/TransitionImpl.class create mode 100644 metamodel/swt.most.statemachine/bin/swt/most/statemachine/impl/TriggerImpl.class create mode 100644 metamodel/swt.most.statemachine/bin/swt/most/statemachine/util/StatemachineAdapterFactory$1.class create mode 100644 metamodel/swt.most.statemachine/bin/swt/most/statemachine/util/StatemachineAdapterFactory.class create mode 100644 metamodel/swt.most.statemachine/bin/swt/most/statemachine/util/StatemachineSwitch.class create mode 100644 metamodel/swt.most.statemachine/build.properties create mode 100644 metamodel/swt.most.statemachine/model/statemachine.aird create mode 100644 metamodel/swt.most.statemachine/model/statemachine.ecore create mode 100644 metamodel/swt.most.statemachine/model/statemachine.genmodel create mode 100644 metamodel/swt.most.statemachine/model/statemachine.svg create mode 100644 metamodel/swt.most.statemachine/plugin.properties create mode 100644 metamodel/swt.most.statemachine/plugin.xml create mode 100644 metamodel/swt.most.statemachine/src-gen/swt/most/statemachine/Action.java create mode 100644 metamodel/swt.most.statemachine/src-gen/swt/most/statemachine/Expression.java create mode 100644 metamodel/swt.most.statemachine/src-gen/swt/most/statemachine/FinalState.java create mode 100644 metamodel/swt.most.statemachine/src-gen/swt/most/statemachine/Guard.java create mode 100644 metamodel/swt.most.statemachine/src-gen/swt/most/statemachine/InitialState.java create mode 100644 metamodel/swt.most.statemachine/src-gen/swt/most/statemachine/NormalState.java create mode 100644 metamodel/swt.most.statemachine/src-gen/swt/most/statemachine/State.java create mode 100644 metamodel/swt.most.statemachine/src-gen/swt/most/statemachine/StateMachine.java create mode 100644 metamodel/swt.most.statemachine/src-gen/swt/most/statemachine/StatemachineFactory.java create mode 100644 metamodel/swt.most.statemachine/src-gen/swt/most/statemachine/StatemachinePackage.java create mode 100644 metamodel/swt.most.statemachine/src-gen/swt/most/statemachine/Transition.java create mode 100644 metamodel/swt.most.statemachine/src-gen/swt/most/statemachine/Trigger.java create mode 100644 metamodel/swt.most.statemachine/src-gen/swt/most/statemachine/impl/ActionImpl.java create mode 100644 metamodel/swt.most.statemachine/src-gen/swt/most/statemachine/impl/ExpressionImpl.java create mode 100644 metamodel/swt.most.statemachine/src-gen/swt/most/statemachine/impl/FinalStateImpl.java create mode 100644 metamodel/swt.most.statemachine/src-gen/swt/most/statemachine/impl/GuardImpl.java create mode 100644 metamodel/swt.most.statemachine/src-gen/swt/most/statemachine/impl/InitialStateImpl.java create mode 100644 metamodel/swt.most.statemachine/src-gen/swt/most/statemachine/impl/NormalStateImpl.java create mode 100644 metamodel/swt.most.statemachine/src-gen/swt/most/statemachine/impl/StateImpl.java create mode 100644 metamodel/swt.most.statemachine/src-gen/swt/most/statemachine/impl/StateMachineImpl.java create mode 100644 metamodel/swt.most.statemachine/src-gen/swt/most/statemachine/impl/StatemachineFactoryImpl.java create mode 100644 metamodel/swt.most.statemachine/src-gen/swt/most/statemachine/impl/StatemachinePackageImpl.java create mode 100644 metamodel/swt.most.statemachine/src-gen/swt/most/statemachine/impl/TransitionImpl.java create mode 100644 metamodel/swt.most.statemachine/src-gen/swt/most/statemachine/impl/TriggerImpl.java create mode 100644 metamodel/swt.most.statemachine/src-gen/swt/most/statemachine/util/StatemachineAdapterFactory.java create mode 100644 metamodel/swt.most.statemachine/src-gen/swt/most/statemachine/util/StatemachineSwitch.java create mode 100644 metamodel/swt.most.statemachine/src/.gitkeep create mode 100644 model2model/examples-etl/.project create mode 100644 model2model/examples-etl/.settings/org.eclipse.core.resources.prefs create mode 100644 model2model/examples-etl/petrinets/garagedoor.petrinet create mode 100644 model2model/examples-etl/petrinets/garagedoor.svg create mode 100644 model2model/examples-etl/petrinets/switch.petrinet create mode 100644 model2model/examples-etl/petrinets/switch.svg create mode 100644 model2model/examples-etl/representations.aird create mode 100644 model2model/examples-etl/statemachines/garagedoor.statemachine create mode 100644 model2model/examples-etl/statemachines/garagedoor.svg create mode 100644 model2model/examples-etl/statemachines/switch.statemachine create mode 100644 model2model/examples-etl/statemachines/switch.svg create mode 100644 model2model/swt.most.statemachine.to.petrinet.etl/.project create mode 100644 model2model/swt.most.statemachine.to.petrinet.etl/StatechartToPetrinets-GarageDoor.launch create mode 100644 model2model/swt.most.statemachine.to.petrinet.etl/StatechartToPetrinets-Switch.launch create mode 100644 model2model/swt.most.statemachine.to.petrinet.etl/StatechartToPetrinets.etl create mode 100644 model2model/swt.most.statemachine.validation.evl/.project create mode 100644 model2model/swt.most.statemachine.validation.evl/model/garagedoor.statemachine create mode 100644 model2model/swt.most.statemachine.validation.evl/statemachine-validation.evl create mode 100644 model2model/swt.most.statemachine.validation.evl/validation GarageDoor.launch create mode 100644 model2text/swt.most.statemachine.to.java.egl/.project create mode 100644 model2text/swt.most.statemachine.to.java.egl/generateJava-GarageDoor.launch create mode 100644 model2text/swt.most.statemachine.to.java.egl/generateJava-Switch.launch create mode 100644 model2text/swt.most.statemachine.to.java.egl/generator-code/functions.eol create mode 100644 model2text/swt.most.statemachine.to.java.egl/generator-code/generate.egx create mode 100644 model2text/swt.most.statemachine.to.java.egl/generator-code/template-statemachine.egl create mode 100644 model2text/swt.most.statemachine.to.java.egl/model/garagedoor.statemachine create mode 100644 model2text/swt.most.statemachine.to.java.egl/model/switch.statemachine create mode 100644 model2text/swt.most.statemachine.to.java.egl/src-gen/GarageDoor.java create mode 100644 model2text/swt.most.statemachine.to.java.egl/src-gen/Switch.java diff --git a/domain_specific_language/graphical/examples-graphical/.project b/domain_specific_language/graphical/examples-graphical/.project new file mode 100644 index 0000000..c2a4216 --- /dev/null +++ b/domain_specific_language/graphical/examples-graphical/.project @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>examples-graphical</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>org.eclipse.xtext.ui.shared.xtextBuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>org.eclipse.sirius.nature.modelingproject</nature> + <nature>org.eclipse.xtext.ui.shared.xtextNature</nature> + </natures> +</projectDescription> diff --git a/domain_specific_language/graphical/examples-graphical/garagedoor.statemachine b/domain_specific_language/graphical/examples-graphical/garagedoor.statemachine new file mode 100644 index 0000000..7e44c6f --- /dev/null +++ b/domain_specific_language/graphical/examples-graphical/garagedoor.statemachine @@ -0,0 +1,49 @@ +<?xml version="1.0" encoding="UTF-8"?> +<statemachine:StateMachine xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:statemachine="http://www.swt.org/most/statemachine" name="Garage Door"> + <states name="Closed"/> + <states name="Open"/> + <states name="Opening"/> + <states name="Closing"/> + <finalstates name="final"/> + <initialstate name="initial"/> + <transitions from="//@initialstate" to="//@states.0"/> + <transitions from="//@states.0" to="//@states.2"> + <trigger content="openDoor"/> + <action content="motor.upwards"/> + </transitions> + <transitions from="//@states.2" to="//@states.1"> + <guard content="stopper"/> + <action content="motor.stop"/> + </transitions> + <transitions from="//@states.1" to="//@states.3"> + <trigger content="closeDoor"/> + <action content="motor.downwards"/> + </transitions> + <transitions from="//@states.3" to="//@states.0"> + <guard content="stopper"/> + <action content="motor.stop"/> + </transitions> + <transitions from="//@states.3" to="//@states.2"> + <trigger content="openDoor"/> + <action content="motor.upwards"/> + </transitions> + <transitions from="//@states.2" to="//@states.3"> + <trigger content="closeDoor"/> + <action content="motor.downwards"/> + </transitions> + <transitions from="//@states.0" to="//@finalstates.0"> + <guard content="shutdown"/> + </transitions> + <transitions from="//@states.0" to="//@states.0"> + <trigger content="closeDoor"/> + </transitions> + <transitions from="//@states.3" to="//@states.3"> + <trigger content="closeDoor"/> + </transitions> + <transitions from="//@states.1" to="//@states.1"> + <trigger content="openDoor"/> + </transitions> + <transitions from="//@states.2" to="//@states.2"> + <trigger content="openDoor"/> + </transitions> +</statemachine:StateMachine> diff --git a/domain_specific_language/graphical/examples-graphical/representations.aird b/domain_specific_language/graphical/examples-graphical/representations.aird new file mode 100644 index 0000000..7e2a339 --- /dev/null +++ b/domain_specific_language/graphical/examples-graphical/representations.aird @@ -0,0 +1,1345 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:description="http://www.eclipse.org/sirius/description/1.1.0" xmlns:description_1="http://www.eclipse.org/sirius/diagram/description/1.1.0" xmlns:diagram="http://www.eclipse.org/sirius/diagram/1.1.0" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.3/notation" xmlns:statemachine="http://www.swt.org/most/statemachine" xmlns:style="http://www.eclipse.org/sirius/diagram/description/style/1.1.0" xmlns:viewpoint="http://www.eclipse.org/sirius/1.1.0" xsi:schemaLocation="http://www.eclipse.org/sirius/description/1.1.0 http://www.eclipse.org/sirius/1.1.0#//description http://www.eclipse.org/sirius/diagram/description/1.1.0 http://www.eclipse.org/sirius/diagram/1.1.0#//description http://www.eclipse.org/sirius/diagram/description/style/1.1.0 http://www.eclipse.org/sirius/diagram/1.1.0#//description/style"> + <viewpoint:DAnalysis uid="_5tKpMDi-Eeye8b2tisBcrw" selectedViews="_oLtYsGmrEe2AsN_q_tUe-Q" version="15.2.0.202303281325"> + <semanticResources>garagedoor.statemachine</semanticResources> + <semanticResources>switch.statemachine</semanticResources> + <ownedViews xmi:type="viewpoint:DView" uid="_gqxQ0DjAEeyN-qrgse1YLA"> + <viewpoint xmi:type="description:Viewpoint" href="platform:/resource/swt.most.statemachine.gDSL/description/gDSL.odesign#//@ownedViewpoints[name='DSL']"/> + <ownedRepresentationDescriptors xmi:type="viewpoint:DRepresentationDescriptor" uid="_ipQWwDjAEeyN-qrgse1YLA" name="garagedoor" repPath="#_io_4EDjAEeyN-qrgse1YLA" changeId="1718630191745"> + <description xmi:type="description_1:DiagramDescription" href="platform:/resource/swt.most.statemachine.gDSL/description/gDSL.odesign#//@ownedViewpoints[name='DSL']/@ownedRepresentations[name='StateMachine']"/> + <target xmi:type="statemachine:StateMachine" href="garagedoor.statemachine#Garage Door"/> + </ownedRepresentationDescriptors> + <ownedRepresentationDescriptors xmi:type="viewpoint:DRepresentationDescriptor" uid="_2azhQDyHEeytPeWyzOo0bw" name="switch" repPath="#_2axsEDyHEeytPeWyzOo0bw" changeId="1718630191745"> + <description xmi:type="description_1:DiagramDescription" href="platform:/resource/swt.most.statemachine.gDSL/description/gDSL.odesign#//@ownedViewpoints[name='DSL']/@ownedRepresentations[name='StateMachine']"/> + <target xmi:type="statemachine:StateMachine" href="switch.statemachine#Switch"/> + </ownedRepresentationDescriptors> + </ownedViews> + <ownedViews xmi:type="viewpoint:DView" uid="_oLtYsGmrEe2AsN_q_tUe-Q"> + <viewpoint xmi:type="description:Viewpoint" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']"/> + <ownedRepresentationDescriptors xmi:type="viewpoint:DRepresentationDescriptor" uid="_ydkZYCysEe-4er9RFtOKtQ" name="garagedoor" repPath="#_ydRecCysEe-4er9RFtOKtQ" changeId="1718630934966"> + <description xmi:type="description_1:DiagramDescription" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']"/> + <target xmi:type="statemachine:StateMachine" href="garagedoor.statemachine#/"/> + </ownedRepresentationDescriptors> + <ownedRepresentationDescriptors xmi:type="viewpoint:DRepresentationDescriptor" uid="_lETcwCytEe-4er9RFtOKtQ" name="switch" repPath="#_lERnkCytEe-4er9RFtOKtQ" changeId="1718631032652"> + <description xmi:type="description_1:DiagramDescription" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']"/> + <target xmi:type="statemachine:StateMachine" href="switch.statemachine#Switch"/> + </ownedRepresentationDescriptors> + </ownedViews> + </viewpoint:DAnalysis> + <diagram:DSemanticDiagram uid="_io_4EDjAEeyN-qrgse1YLA"> + <ownedAnnotationEntries xmi:type="description:AnnotationEntry" uid="_iprNgDjAEeyN-qrgse1YLA" source="GMF_DIAGRAMS"> + <data xmi:type="notation:Diagram" xmi:id="_iprNgTjAEeyN-qrgse1YLA" type="Sirius" element="_io_4EDjAEeyN-qrgse1YLA" measurementUnit="Pixel"> + <children xmi:type="notation:Node" xmi:id="_lU7S0DjAEeyN-qrgse1YLA" type="2003" element="_yIYsUDjCEeyN-qrgse1YLA"> + <children xmi:type="notation:Node" xmi:id="_lU9IADjAEeyN-qrgse1YLA" type="5007"/> + <children xmi:type="notation:Node" xmi:id="_lU-WIDjAEeyN-qrgse1YLA" type="7004"> + <styles xmi:type="notation:SortingStyle" xmi:id="_lU-WITjAEeyN-qrgse1YLA"/> + <styles xmi:type="notation:FilteringStyle" xmi:id="_lU-WIjjAEeyN-qrgse1YLA"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_lU7S0TjAEeyN-qrgse1YLA" fontName="Segoe UI" fontHeight="12" bold="true"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lU7S0jjAEeyN-qrgse1YLA" x="319" y="276"/> + </children> + <children xmi:type="notation:Node" xmi:id="_lU-9MDjAEeyN-qrgse1YLA" type="2003" element="_yIZTYzjCEeyN-qrgse1YLA"> + <children xmi:type="notation:Node" xmi:id="_lU-9MzjAEeyN-qrgse1YLA" type="5007"/> + <children xmi:type="notation:Node" xmi:id="_lU-9NDjAEeyN-qrgse1YLA" type="7004"> + <styles xmi:type="notation:SortingStyle" xmi:id="_lU-9NTjAEeyN-qrgse1YLA"/> + <styles xmi:type="notation:FilteringStyle" xmi:id="_lU-9NjjAEeyN-qrgse1YLA"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_lU-9MTjAEeyN-qrgse1YLA" fontName="Segoe UI" fontHeight="12" bold="true"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lU-9MjjAEeyN-qrgse1YLA" x="864" y="276"/> + </children> + <children xmi:type="notation:Node" xmi:id="_lU_kQDjAEeyN-qrgse1YLA" type="2003" element="_yIZ6cjjCEeyN-qrgse1YLA"> + <children xmi:type="notation:Node" xmi:id="_lU_kQzjAEeyN-qrgse1YLA" type="5007"/> + <children xmi:type="notation:Node" xmi:id="_lU_kRDjAEeyN-qrgse1YLA" type="7004"> + <styles xmi:type="notation:SortingStyle" xmi:id="_lU_kRTjAEeyN-qrgse1YLA"/> + <styles xmi:type="notation:FilteringStyle" xmi:id="_lU_kRjjAEeyN-qrgse1YLA"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_lU_kQTjAEeyN-qrgse1YLA" fontName="Segoe UI" fontHeight="12" bold="true"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lU_kQjjAEeyN-qrgse1YLA" x="583" y="162"/> + </children> + <children xmi:type="notation:Node" xmi:id="_lU_kRzjAEeyN-qrgse1YLA" type="2003" element="_yIZ6dzjCEeyN-qrgse1YLA"> + <children xmi:type="notation:Node" xmi:id="_lVALUDjAEeyN-qrgse1YLA" type="5007"/> + <children xmi:type="notation:Node" xmi:id="_lVALUTjAEeyN-qrgse1YLA" type="7004"> + <styles xmi:type="notation:SortingStyle" xmi:id="_lVALUjjAEeyN-qrgse1YLA"/> + <styles xmi:type="notation:FilteringStyle" xmi:id="_lVALUzjAEeyN-qrgse1YLA"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_lU_kSDjAEeyN-qrgse1YLA" fontName="Segoe UI" fontHeight="12" bold="true"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lU_kSTjAEeyN-qrgse1YLA" x="588" y="378"/> + </children> + <children xmi:type="notation:Node" xmi:id="_wfK9sDjAEeyN-qrgse1YLA" type="2001" element="_werOcDjAEeyN-qrgse1YLA"> + <children xmi:type="notation:Node" xmi:id="_wfLkwDjAEeyN-qrgse1YLA" type="5002"> + <layoutConstraint xmi:type="notation:Location" xmi:id="_wfLkwTjAEeyN-qrgse1YLA" x="-4" y="-29"/> + </children> + <children xmi:type="notation:Node" xmi:id="_0QyOIDjAEeyN-qrgse1YLA" type="3002" element="_0QWwUDjAEeyN-qrgse1YLA"> + <styles xmi:type="notation:ShapeStyle" xmi:id="_0QyOITjAEeyN-qrgse1YLA" fontName="Segoe UI"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0QyOIjjAEeyN-qrgse1YLA"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_wfK9sTjAEeyN-qrgse1YLA" fontName="Segoe UI" fontHeight="12"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wfK9sjjAEeyN-qrgse1YLA" x="312" y="42" width="40" height="40"/> + </children> + <children xmi:type="notation:Node" xmi:id="_hsv1wDjBEeyN-qrgse1YLA" type="2001" element="_hsCEETjBEeyN-qrgse1YLA"> + <children xmi:type="notation:Node" xmi:id="_hsv1wzjBEeyN-qrgse1YLA" type="5002"> + <layoutConstraint xmi:type="notation:Location" xmi:id="_hsv1xDjBEeyN-qrgse1YLA" x="1" y="41"/> + </children> + <children xmi:type="notation:Node" xmi:id="_82fqQDjBEeyN-qrgse1YLA" type="3002" element="_82BJITjBEeyN-qrgse1YLA"> + <styles xmi:type="notation:ShapeStyle" xmi:id="_82fqQTjBEeyN-qrgse1YLA" fontName="Segoe UI"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_82fqQjjBEeyN-qrgse1YLA"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_hsv1wTjBEeyN-qrgse1YLA" fontName="Segoe UI" fontHeight="12"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hsv1wjjBEeyN-qrgse1YLA" x="312" y="450" width="40" height="40"/> + </children> + <children xmi:type="notation:Node" xmi:id="_gzLxcDvrEeyeeflsfjx5ZA" type="2002" element="_gzKjWzvrEeyeeflsfjx5ZA"> + <children xmi:type="notation:Node" xmi:id="_gzLxczvrEeyeeflsfjx5ZA" type="5006"/> + <children xmi:type="notation:Node" xmi:id="_gzLxdDvrEeyeeflsfjx5ZA" type="7001"> + <styles xmi:type="notation:SortingStyle" xmi:id="_gzLxdTvrEeyeeflsfjx5ZA"/> + <styles xmi:type="notation:FilteringStyle" xmi:id="_gzLxdjvrEeyeeflsfjx5ZA"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_gzLxcTvrEeyeeflsfjx5ZA" fontName="Segoe UI" fontHeight="12"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gzLxcjvrEeyeeflsfjx5ZA" x="468" y="36"/> + </children> + <styles xmi:type="notation:DiagramStyle" xmi:id="_iprNgjjAEeyN-qrgse1YLA"/> + <edges xmi:type="notation:Edge" xmi:id="_WdvUwjjDEeyN-qrgse1YLA" type="4001" element="_WbLI8DjDEeyN-qrgse1YLA" source="_lU7S0DjAEeyN-qrgse1YLA" target="_lU_kQDjAEeyN-qrgse1YLA"> + <children xmi:type="notation:Node" xmi:id="_Wdv70DjDEeyN-qrgse1YLA" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Wdv70TjDEeyN-qrgse1YLA" x="33" y="-17"/> + </children> + <children xmi:type="notation:Node" xmi:id="_Wdv70jjDEeyN-qrgse1YLA" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Wdv70zjDEeyN-qrgse1YLA" x="-12"/> + </children> + <children xmi:type="notation:Node" xmi:id="_Wdv71DjDEeyN-qrgse1YLA" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Wdv71TjDEeyN-qrgse1YLA" x="8" y="10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_WdvUwzjDEeyN-qrgse1YLA" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_WdvUxDjDEeyN-qrgse1YLA" fontName="Segoe UI" fontHeight="12"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_WdvUxTjDEeyN-qrgse1YLA" points="[-1, -25, -274, 89]$[-1, -114, -274, 0]$[232, -114, -41, 0]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Wdv71jjDEeyN-qrgse1YLA" id="(0.5,0.5)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Wdv71zjDEeyN-qrgse1YLA" id="(0.5,0.5)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_WdyYHjjDEeyN-qrgse1YLA" type="4001" element="_WbMXEjjDEeyN-qrgse1YLA" source="_lU7S0DjAEeyN-qrgse1YLA" target="_hsv1wDjBEeyN-qrgse1YLA"> + <children xmi:type="notation:Node" xmi:id="_Wdy_IDjDEeyN-qrgse1YLA" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Wdy_ITjDEeyN-qrgse1YLA" x="4" y="52"/> + </children> + <children xmi:type="notation:Node" xmi:id="_Wdy_IjjDEeyN-qrgse1YLA" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Wdy_IzjDEeyN-qrgse1YLA" x="13"/> + </children> + <children xmi:type="notation:Node" xmi:id="_Wdy_JDjDEeyN-qrgse1YLA" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Wdy_JTjDEeyN-qrgse1YLA" x="15"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_WdyYHzjDEeyN-qrgse1YLA" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_WdyYIDjDEeyN-qrgse1YLA" fontName="Segoe UI" fontHeight="12"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_WdyYITjDEeyN-qrgse1YLA" points="[-20, 26, -1, -143]$[-20, 149, -1, -20]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Wdy_JjjDEeyN-qrgse1YLA" id="(0.5,0.5)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Wdy_JzjDEeyN-qrgse1YLA" id="(0.5,0.5)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_Wdy_KDjDEeyN-qrgse1YLA" type="4001" element="_WbMXFzjDEeyN-qrgse1YLA" source="_lU7S0DjAEeyN-qrgse1YLA" target="_lU7S0DjAEeyN-qrgse1YLA"> + <children xmi:type="notation:Node" xmi:id="_Wdy_LDjDEeyN-qrgse1YLA" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Wdy_LTjDEeyN-qrgse1YLA" x="28" y="24"/> + </children> + <children xmi:type="notation:Node" xmi:id="_Wdy_LjjDEeyN-qrgse1YLA" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Wdy_LzjDEeyN-qrgse1YLA" x="-1" y="-10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_Wdy_MDjDEeyN-qrgse1YLA" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Wdy_MTjDEeyN-qrgse1YLA" x="1" y="20"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_Wdy_KTjDEeyN-qrgse1YLA" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_Wdy_KjjDEeyN-qrgse1YLA" fontName="Segoe UI" fontHeight="12"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Wdy_KzjDEeyN-qrgse1YLA" points="[-32, 11, -32, 11]$[-123, 11, -123, 11]$[-123, -13, -123, -13]$[-32, -13, -32, -13]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_WdzmMDjDEeyN-qrgse1YLA" id="(0.5,0.5)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_WdzmMTjDEeyN-qrgse1YLA" id="(0.5,0.5)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_WdoAADjDEeyN-qrgse1YLA" type="4001" element="_WbG3gDjDEeyN-qrgse1YLA" source="_wfK9sDjAEeyN-qrgse1YLA" target="_lU7S0DjAEeyN-qrgse1YLA"> + <children xmi:type="notation:Node" xmi:id="_WdpOIDjDEeyN-qrgse1YLA" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WdpOITjDEeyN-qrgse1YLA" x="-15" y="23"/> + </children> + <children xmi:type="notation:Node" xmi:id="_WdpOIjjDEeyN-qrgse1YLA" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WdpOIzjDEeyN-qrgse1YLA" x="9"/> + </children> + <children xmi:type="notation:Node" xmi:id="_WdpOJDjDEeyN-qrgse1YLA" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WdpOJTjDEeyN-qrgse1YLA" x="-41"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_WdoAATjDEeyN-qrgse1YLA" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_WdoAAjjDEeyN-qrgse1YLA" fontName="Segoe UI" fontHeight="12"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_WdoAAzjDEeyN-qrgse1YLA" points="[-2, 20, -21, -219]$[-2, 214, -21, -25]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_WdvUwDjDEeyN-qrgse1YLA" id="(0.5,0.5)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_WdvUwTjDEeyN-qrgse1YLA" id="(0.5,0.5)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_WdxJ8jjDEeyN-qrgse1YLA" type="4001" element="_WbLwAjjDEeyN-qrgse1YLA" source="_lU_kRzjAEeyN-qrgse1YLA" target="_lU7S0DjAEeyN-qrgse1YLA"> + <children xmi:type="notation:Node" xmi:id="_WdxJ9jjDEeyN-qrgse1YLA" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WdxJ9zjDEeyN-qrgse1YLA" x="-47" y="15"/> + </children> + <children xmi:type="notation:Node" xmi:id="_WdxJ-DjDEeyN-qrgse1YLA" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WdxxADjDEeyN-qrgse1YLA" x="-11" y="11"/> + </children> + <children xmi:type="notation:Node" xmi:id="_WdxxATjDEeyN-qrgse1YLA" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WdxxAjjDEeyN-qrgse1YLA" x="-41" y="86"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_WdxJ8zjDEeyN-qrgse1YLA" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_WdxJ9DjDEeyN-qrgse1YLA" fontName="Segoe UI" fontHeight="12"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_WdxJ9TjDEeyN-qrgse1YLA" points="[-35, 26, 237, 128]$[-273, 29, -1, 131]$[-273, -76, -1, 26]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_WdxxAzjDEeyN-qrgse1YLA" id="(0.5,0.5)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_WdxxBDjDEeyN-qrgse1YLA" id="(0.5,0.5)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_Wdwi6DjDEeyN-qrgse1YLA" type="4001" element="_WbLI-jjDEeyN-qrgse1YLA" source="_lU-9MDjAEeyN-qrgse1YLA" target="_lU_kRzjAEeyN-qrgse1YLA"> + <children xmi:type="notation:Node" xmi:id="_Wdwi7DjDEeyN-qrgse1YLA" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Wdwi7TjDEeyN-qrgse1YLA" x="42" y="16"/> + </children> + <children xmi:type="notation:Node" xmi:id="_Wdwi7jjDEeyN-qrgse1YLA" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Wdwi7zjDEeyN-qrgse1YLA" x="25" y="91"/> + </children> + <children xmi:type="notation:Node" xmi:id="_Wdwi8DjDEeyN-qrgse1YLA" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Wdwi8TjDEeyN-qrgse1YLA" x="9" y="10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_Wdwi6TjDEeyN-qrgse1YLA" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_Wdwi6jjDEeyN-qrgse1YLA" fontName="Segoe UI" fontHeight="12"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Wdwi6zjDEeyN-qrgse1YLA" points="[-1, 26, 266, -76]$[-1, 107, 266, 5]$[-231, 107, 36, 5]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_WdxJ8DjDEeyN-qrgse1YLA" id="(0.5,0.5)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_WdxJ8TjDEeyN-qrgse1YLA" id="(0.5,0.5)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_WdzmPjjDEeyN-qrgse1YLA" type="4001" element="_WbMXITjDEeyN-qrgse1YLA" source="_lU-9MDjAEeyN-qrgse1YLA" target="_lU-9MDjAEeyN-qrgse1YLA"> + <children xmi:type="notation:Node" xmi:id="_WdzmQjjDEeyN-qrgse1YLA" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WdzmQzjDEeyN-qrgse1YLA" x="-28" y="12"/> + </children> + <children xmi:type="notation:Node" xmi:id="_WdzmRDjDEeyN-qrgse1YLA" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WdzmRTjDEeyN-qrgse1YLA" x="19" y="20"/> + </children> + <children xmi:type="notation:Node" xmi:id="_WdzmRjjDEeyN-qrgse1YLA" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WdzmRzjDEeyN-qrgse1YLA" x="2" y="-10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_WdzmPzjDEeyN-qrgse1YLA" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_WdzmQDjDEeyN-qrgse1YLA" fontName="Segoe UI" fontHeight="12"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_WdzmQTjDEeyN-qrgse1YLA" points="[26, -13, 26, -13]$[88, -13, 88, -13]$[88, 11, 88, 11]$[26, 11, 26, 11]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_WdzmSDjDEeyN-qrgse1YLA" id="(0.5,0.5)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_WdzmSTjDEeyN-qrgse1YLA" id="(0.5,0.5)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_Wdv72DjDEeyN-qrgse1YLA" type="4001" element="_WbLI9TjDEeyN-qrgse1YLA" source="_lU_kQDjAEeyN-qrgse1YLA" target="_lU-9MDjAEeyN-qrgse1YLA"> + <children xmi:type="notation:Node" xmi:id="_Wdwi4DjDEeyN-qrgse1YLA" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Wdwi4TjDEeyN-qrgse1YLA" x="-52" y="-17"/> + </children> + <children xmi:type="notation:Node" xmi:id="_Wdwi4jjDEeyN-qrgse1YLA" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Wdwi4zjDEeyN-qrgse1YLA" x="-10" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_Wdwi5DjDEeyN-qrgse1YLA" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Wdwi5TjDEeyN-qrgse1YLA" x="18"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_Wdv72TjDEeyN-qrgse1YLA" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_Wdv72jjDEeyN-qrgse1YLA" fontName="Segoe UI" fontHeight="12"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Wdv72zjDEeyN-qrgse1YLA" points="[41, 0, -225, -114]$[267, 0, 1, -114]$[267, 89, 1, -25]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Wdwi5jjDEeyN-qrgse1YLA" id="(0.5,0.5)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Wdwi5zjDEeyN-qrgse1YLA" id="(0.5,0.5)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_WdyYEjjDEeyN-qrgse1YLA" type="4001" element="_WbLwDDjDEeyN-qrgse1YLA" source="_lU_kQDjAEeyN-qrgse1YLA" target="_lU_kRzjAEeyN-qrgse1YLA"> + <children xmi:type="notation:Node" xmi:id="_WdyYFjjDEeyN-qrgse1YLA" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WdyYFzjDEeyN-qrgse1YLA" x="6" y="-95"/> + </children> + <children xmi:type="notation:Node" xmi:id="_WdyYGDjDEeyN-qrgse1YLA" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WdyYGTjDEeyN-qrgse1YLA" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_WdyYGjjDEeyN-qrgse1YLA" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WdyYGzjDEeyN-qrgse1YLA" y="10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_WdyYEzjDEeyN-qrgse1YLA" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_WdyYFDjDEeyN-qrgse1YLA" fontName="Segoe UI" fontHeight="12"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_WdyYFTjDEeyN-qrgse1YLA" points="[12, 26, 13, -190]$[12, 191, 13, -25]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_WdyYHDjDEeyN-qrgse1YLA" id="(0.5,0.5)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_WdyYHTjDEeyN-qrgse1YLA" id="(0.5,0.5)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_Wd0NQDjDEeyN-qrgse1YLA" type="4001" element="_WbM-JDjDEeyN-qrgse1YLA" source="_lU_kQDjAEeyN-qrgse1YLA" target="_lU_kQDjAEeyN-qrgse1YLA"> + <children xmi:type="notation:Node" xmi:id="_Wd0NRDjDEeyN-qrgse1YLA" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Wd0NRTjDEeyN-qrgse1YLA" x="1" y="22"/> + </children> + <children xmi:type="notation:Node" xmi:id="_Wd0NRjjDEeyN-qrgse1YLA" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Wd0NRzjDEeyN-qrgse1YLA" x="8"/> + </children> + <children xmi:type="notation:Node" xmi:id="_Wd0NSDjDEeyN-qrgse1YLA" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Wd0NSTjDEeyN-qrgse1YLA" x="-3" y="-10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_Wd0NQTjDEeyN-qrgse1YLA" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_Wd0NQjjDEeyN-qrgse1YLA" fontName="Segoe UI" fontHeight="12"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Wd0NQzjDEeyN-qrgse1YLA" points="[24, -25, 24, -25]$[24, -55, 24, -55]$[-24, -55, -24, -55]$[-24, -25, -24, -25]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Wd0NSjjDEeyN-qrgse1YLA" id="(0.5,0.5)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Wd0NSzjDEeyN-qrgse1YLA" id="(0.5,0.5)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_WdxxBTjDEeyN-qrgse1YLA" type="4001" element="_WbLwBzjDEeyN-qrgse1YLA" source="_lU_kRzjAEeyN-qrgse1YLA" target="_lU_kQDjAEeyN-qrgse1YLA"> + <children xmi:type="notation:Node" xmi:id="_WdxxCTjDEeyN-qrgse1YLA" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WdxxCjjDEeyN-qrgse1YLA" x="-5" y="-86"/> + </children> + <children xmi:type="notation:Node" xmi:id="_WdxxCzjDEeyN-qrgse1YLA" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WdxxDDjDEeyN-qrgse1YLA" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_WdxxDTjDEeyN-qrgse1YLA" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WdxxDjjDEeyN-qrgse1YLA" y="10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_WdxxBjjDEeyN-qrgse1YLA" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_WdxxBzjDEeyN-qrgse1YLA" fontName="Segoe UI" fontHeight="12"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_WdxxCDjDEeyN-qrgse1YLA" points="[0, -25, -1, 191]$[0, -190, -1, 26]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_WdyYEDjDEeyN-qrgse1YLA" id="(0.5,0.5)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_WdyYETjDEeyN-qrgse1YLA" id="(0.5,0.5)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_WdzmMjjDEeyN-qrgse1YLA" type="4001" element="_WbMXHDjDEeyN-qrgse1YLA" source="_lU_kRzjAEeyN-qrgse1YLA" target="_lU_kRzjAEeyN-qrgse1YLA"> + <children xmi:type="notation:Node" xmi:id="_WdzmNjjDEeyN-qrgse1YLA" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WdzmNzjDEeyN-qrgse1YLA" x="4" y="-19"/> + </children> + <children xmi:type="notation:Node" xmi:id="_WdzmODjDEeyN-qrgse1YLA" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WdzmOTjDEeyN-qrgse1YLA" x="2"/> + </children> + <children xmi:type="notation:Node" xmi:id="_WdzmOjjDEeyN-qrgse1YLA" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WdzmOzjDEeyN-qrgse1YLA" x="-5" y="10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_WdzmMzjDEeyN-qrgse1YLA" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_WdzmNDjDEeyN-qrgse1YLA" fontName="Segoe UI" fontHeight="12"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_WdzmNTjDEeyN-qrgse1YLA" points="[25, 26, 25, 26]$[25, 59, 25, 59]$[-17, 59, -17, 59]$[-17, 26, -17, 26]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_WdzmPDjDEeyN-qrgse1YLA" id="(0.5,0.5)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_WdzmPTjDEeyN-qrgse1YLA" id="(0.5,0.5)"/> + </edges> + </data> + </ownedAnnotationEntries> + <ownedAnnotationEntries xmi:type="description:AnnotationEntry" uid="_ip86UDjAEeyN-qrgse1YLA" source="DANNOTATION_CUSTOMIZATION_KEY"> + <data xmi:type="diagram:ComputedStyleDescriptionRegistry" uid="_ip86UTjAEeyN-qrgse1YLA"/> + </ownedAnnotationEntries> + <ownedDiagramElements xmi:type="diagram:DNode" uid="_werOcDjAEeyN-qrgse1YLA" name="initial" outgoingEdges="_WbG3gDjDEeyN-qrgse1YLA" width="4" height="4"> + <target xmi:type="statemachine:InitialState" href="garagedoor.statemachine#initial"/> + <semanticElements xmi:type="statemachine:InitialState" href="garagedoor.statemachine#initial"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:Dot" uid="_0QWwUDjAEeyN-qrgse1YLA" labelSize="12" showIcon="false" backgroundColor="0,0,0"> + <description xmi:type="style:DotDescription" href="platform:/resource/swt.most.statemachine.gDSL/description/gDSL.odesign#//@ownedViewpoints[name='DSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@nodeMappings[name='Initial%20State']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/resource/swt.most.statemachine.gDSL/description/gDSL.odesign#//@ownedViewpoints[name='DSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@nodeMappings[name='Initial%20State']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNode" uid="_hsCEETjBEeyN-qrgse1YLA" name="final" incomingEdges="_WbMXEjjDEeyN-qrgse1YLA" width="4" height="4"> + <target xmi:type="statemachine:FinalState" href="garagedoor.statemachine#final"/> + <semanticElements xmi:type="statemachine:FinalState" href="garagedoor.statemachine#final"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:Dot" uid="_82BJITjBEeyN-qrgse1YLA" labelSize="12" showIcon="false" borderSize="10" borderSizeComputationExpression="10" backgroundColor="255,255,255"> + <description xmi:type="style:DotDescription" href="platform:/resource/swt.most.statemachine.gDSL/description/gDSL.odesign#//@ownedViewpoints[name='DSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@nodeMappings[name='Final%20State']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/resource/swt.most.statemachine.gDSL/description/gDSL.odesign#//@ownedViewpoints[name='DSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@nodeMappings[name='Final%20State']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_yIYsUDjCEeyN-qrgse1YLA" name="Closed" outgoingEdges="_WbLI8DjDEeyN-qrgse1YLA _WbMXEjjDEeyN-qrgse1YLA _WbMXFzjDEeyN-qrgse1YLA" incomingEdges="_WbG3gDjDEeyN-qrgse1YLA _WbLwAjjDEeyN-qrgse1YLA _WbMXFzjDEeyN-qrgse1YLA"> + <target xmi:type="statemachine:NormalState" href="garagedoor.statemachine#Closed"/> + <semanticElements xmi:type="statemachine:NormalState" href="garagedoor.statemachine#Closed"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_yIYsUTjCEeyN-qrgse1YLA" labelSize="12" showIcon="false" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" backgroundColor="255,245,181" foregroundColor="255,245,181"> + <labelFormat>bold</labelFormat> + <description xmi:type="style:FlatContainerStyleDescription" href="platform:/resource/swt.most.statemachine.gDSL/description/gDSL.odesign#//@ownedViewpoints[name='DSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@containerMappings[name='Normal%20State']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/resource/swt.most.statemachine.gDSL/description/gDSL.odesign#//@ownedViewpoints[name='DSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@containerMappings[name='Normal%20State']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_yIZTYzjCEeyN-qrgse1YLA" name="Open" outgoingEdges="_WbLI-jjDEeyN-qrgse1YLA _WbMXITjDEeyN-qrgse1YLA" incomingEdges="_WbLI9TjDEeyN-qrgse1YLA _WbMXITjDEeyN-qrgse1YLA"> + <target xmi:type="statemachine:NormalState" href="garagedoor.statemachine#Open"/> + <semanticElements xmi:type="statemachine:NormalState" href="garagedoor.statemachine#Open"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_yIZTZDjCEeyN-qrgse1YLA" labelSize="12" showIcon="false" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" backgroundColor="255,245,181" foregroundColor="255,245,181"> + <labelFormat>bold</labelFormat> + <description xmi:type="style:FlatContainerStyleDescription" href="platform:/resource/swt.most.statemachine.gDSL/description/gDSL.odesign#//@ownedViewpoints[name='DSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@containerMappings[name='Normal%20State']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/resource/swt.most.statemachine.gDSL/description/gDSL.odesign#//@ownedViewpoints[name='DSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@containerMappings[name='Normal%20State']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_yIZ6cjjCEeyN-qrgse1YLA" name="Opening" outgoingEdges="_WbLI9TjDEeyN-qrgse1YLA _WbLwDDjDEeyN-qrgse1YLA _WbM-JDjDEeyN-qrgse1YLA" incomingEdges="_WbLI8DjDEeyN-qrgse1YLA _WbLwBzjDEeyN-qrgse1YLA _WbM-JDjDEeyN-qrgse1YLA"> + <target xmi:type="statemachine:NormalState" href="garagedoor.statemachine#Opening"/> + <semanticElements xmi:type="statemachine:NormalState" href="garagedoor.statemachine#Opening"/> + <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_yIZ6czjCEeyN-qrgse1YLA" labelSize="12" showIcon="false" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" backgroundColor="255,245,181" foregroundColor="255,245,181"> + <labelFormat>bold</labelFormat> + <description xmi:type="style:FlatContainerStyleDescription" href="platform:/resource/swt.most.statemachine.gDSL/description/gDSL.odesign#//@ownedViewpoints[name='DSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@containerMappings[name='Normal%20State']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/resource/swt.most.statemachine.gDSL/description/gDSL.odesign#//@ownedViewpoints[name='DSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@containerMappings[name='Normal%20State']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_yIZ6dzjCEeyN-qrgse1YLA" name="Closing" outgoingEdges="_WbLwAjjDEeyN-qrgse1YLA _WbLwBzjDEeyN-qrgse1YLA _WbMXHDjDEeyN-qrgse1YLA" incomingEdges="_WbLI-jjDEeyN-qrgse1YLA _WbLwDDjDEeyN-qrgse1YLA _WbMXHDjDEeyN-qrgse1YLA"> + <target xmi:type="statemachine:NormalState" href="garagedoor.statemachine#Closing"/> + <semanticElements xmi:type="statemachine:NormalState" href="garagedoor.statemachine#Closing"/> + <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_yIahgDjCEeyN-qrgse1YLA" labelSize="12" showIcon="false" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" backgroundColor="255,245,181" foregroundColor="255,245,181"> + <labelFormat>bold</labelFormat> + <description xmi:type="style:FlatContainerStyleDescription" href="platform:/resource/swt.most.statemachine.gDSL/description/gDSL.odesign#//@ownedViewpoints[name='DSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@containerMappings[name='Normal%20State']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/resource/swt.most.statemachine.gDSL/description/gDSL.odesign#//@ownedViewpoints[name='DSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@containerMappings[name='Normal%20State']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_WbG3gDjDEeyN-qrgse1YLA" sourceNode="_werOcDjAEeyN-qrgse1YLA" targetNode="_yIYsUDjCEeyN-qrgse1YLA"> + <target xmi:type="statemachine:Transition" href="garagedoor.statemachine#//@transitions.0"/> + <semanticElements xmi:type="statemachine:Transition" href="garagedoor.statemachine#//@transitions.0"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_WbKh4DjDEeyN-qrgse1YLA" targetArrow="InputFillClosedArrow" size="2" routingStyle="manhattan" strokeColor="0,0,0"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/resource/swt.most.statemachine.gDSL/description/gDSL.odesign#//@ownedViewpoints[name='DSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@edgeMappings[name='Transition']/@style"/> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_WbKh4TjDEeyN-qrgse1YLA" showIcon="false"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/resource/swt.most.statemachine.gDSL/description/gDSL.odesign#//@ownedViewpoints[name='DSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@edgeMappings[name='Transition']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_WbLI8DjDEeyN-qrgse1YLA" name="openDoor / motor.upwards" sourceNode="_yIYsUDjCEeyN-qrgse1YLA" targetNode="_yIZ6cjjCEeyN-qrgse1YLA"> + <target xmi:type="statemachine:Transition" href="garagedoor.statemachine#//@transitions.1"/> + <semanticElements xmi:type="statemachine:Transition" href="garagedoor.statemachine#//@transitions.1"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_WbLI8TjDEeyN-qrgse1YLA" targetArrow="InputFillClosedArrow" size="2" routingStyle="manhattan" strokeColor="0,0,0"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/resource/swt.most.statemachine.gDSL/description/gDSL.odesign#//@ownedViewpoints[name='DSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@edgeMappings[name='Transition']/@style"/> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_WbLI8jjDEeyN-qrgse1YLA" showIcon="false"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/resource/swt.most.statemachine.gDSL/description/gDSL.odesign#//@ownedViewpoints[name='DSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@edgeMappings[name='Transition']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_WbLI9TjDEeyN-qrgse1YLA" name=" [stopper] / motor.stop" sourceNode="_yIZ6cjjCEeyN-qrgse1YLA" targetNode="_yIZTYzjCEeyN-qrgse1YLA"> + <target xmi:type="statemachine:Transition" href="garagedoor.statemachine#//@transitions.2"/> + <semanticElements xmi:type="statemachine:Transition" href="garagedoor.statemachine#//@transitions.2"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_WbLI9jjDEeyN-qrgse1YLA" targetArrow="InputFillClosedArrow" size="2" routingStyle="manhattan" strokeColor="0,0,0"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/resource/swt.most.statemachine.gDSL/description/gDSL.odesign#//@ownedViewpoints[name='DSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@edgeMappings[name='Transition']/@style"/> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_WbLI9zjDEeyN-qrgse1YLA" showIcon="false"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/resource/swt.most.statemachine.gDSL/description/gDSL.odesign#//@ownedViewpoints[name='DSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@edgeMappings[name='Transition']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_WbLI-jjDEeyN-qrgse1YLA" name="closeDoor / motor.downwards" sourceNode="_yIZTYzjCEeyN-qrgse1YLA" targetNode="_yIZ6dzjCEeyN-qrgse1YLA"> + <target xmi:type="statemachine:Transition" href="garagedoor.statemachine#//@transitions.3"/> + <semanticElements xmi:type="statemachine:Transition" href="garagedoor.statemachine#//@transitions.3"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_WbLI-zjDEeyN-qrgse1YLA" targetArrow="InputFillClosedArrow" size="2" routingStyle="manhattan" strokeColor="0,0,0"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/resource/swt.most.statemachine.gDSL/description/gDSL.odesign#//@ownedViewpoints[name='DSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@edgeMappings[name='Transition']/@style"/> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_WbLI_DjDEeyN-qrgse1YLA" showIcon="false"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/resource/swt.most.statemachine.gDSL/description/gDSL.odesign#//@ownedViewpoints[name='DSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@edgeMappings[name='Transition']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_WbLwAjjDEeyN-qrgse1YLA" name=" [stopper] / motor.stop" sourceNode="_yIZ6dzjCEeyN-qrgse1YLA" targetNode="_yIYsUDjCEeyN-qrgse1YLA"> + <target xmi:type="statemachine:Transition" href="garagedoor.statemachine#//@transitions.4"/> + <semanticElements xmi:type="statemachine:Transition" href="garagedoor.statemachine#//@transitions.4"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_WbLwAzjDEeyN-qrgse1YLA" targetArrow="InputFillClosedArrow" size="2" routingStyle="manhattan" strokeColor="0,0,0"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/resource/swt.most.statemachine.gDSL/description/gDSL.odesign#//@ownedViewpoints[name='DSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@edgeMappings[name='Transition']/@style"/> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_WbLwBDjDEeyN-qrgse1YLA" showIcon="false"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/resource/swt.most.statemachine.gDSL/description/gDSL.odesign#//@ownedViewpoints[name='DSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@edgeMappings[name='Transition']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_WbLwBzjDEeyN-qrgse1YLA" name="openDoor / motor.upwards" sourceNode="_yIZ6dzjCEeyN-qrgse1YLA" targetNode="_yIZ6cjjCEeyN-qrgse1YLA"> + <target xmi:type="statemachine:Transition" href="garagedoor.statemachine#//@transitions.5"/> + <semanticElements xmi:type="statemachine:Transition" href="garagedoor.statemachine#//@transitions.5"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_WbLwCDjDEeyN-qrgse1YLA" targetArrow="InputFillClosedArrow" size="2" routingStyle="manhattan" strokeColor="0,0,0"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/resource/swt.most.statemachine.gDSL/description/gDSL.odesign#//@ownedViewpoints[name='DSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@edgeMappings[name='Transition']/@style"/> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_WbLwCTjDEeyN-qrgse1YLA" showIcon="false"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/resource/swt.most.statemachine.gDSL/description/gDSL.odesign#//@ownedViewpoints[name='DSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@edgeMappings[name='Transition']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_WbLwDDjDEeyN-qrgse1YLA" name="closeDoor / motor.downwards" sourceNode="_yIZ6cjjCEeyN-qrgse1YLA" targetNode="_yIZ6dzjCEeyN-qrgse1YLA"> + <target xmi:type="statemachine:Transition" href="garagedoor.statemachine#//@transitions.6"/> + <semanticElements xmi:type="statemachine:Transition" href="garagedoor.statemachine#//@transitions.6"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_WbLwDTjDEeyN-qrgse1YLA" targetArrow="InputFillClosedArrow" size="2" routingStyle="manhattan" strokeColor="0,0,0"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/resource/swt.most.statemachine.gDSL/description/gDSL.odesign#//@ownedViewpoints[name='DSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@edgeMappings[name='Transition']/@style"/> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_WbLwDjjDEeyN-qrgse1YLA" showIcon="false"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/resource/swt.most.statemachine.gDSL/description/gDSL.odesign#//@ownedViewpoints[name='DSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@edgeMappings[name='Transition']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_WbMXEjjDEeyN-qrgse1YLA" name=" [shutdown]" sourceNode="_yIYsUDjCEeyN-qrgse1YLA" targetNode="_hsCEETjBEeyN-qrgse1YLA"> + <target xmi:type="statemachine:Transition" href="garagedoor.statemachine#//@transitions.7"/> + <semanticElements xmi:type="statemachine:Transition" href="garagedoor.statemachine#//@transitions.7"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_WbMXEzjDEeyN-qrgse1YLA" targetArrow="InputFillClosedArrow" size="2" routingStyle="manhattan" strokeColor="0,0,0"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/resource/swt.most.statemachine.gDSL/description/gDSL.odesign#//@ownedViewpoints[name='DSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@edgeMappings[name='Transition']/@style"/> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_WbMXFDjDEeyN-qrgse1YLA" showIcon="false"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/resource/swt.most.statemachine.gDSL/description/gDSL.odesign#//@ownedViewpoints[name='DSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@edgeMappings[name='Transition']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_WbMXFzjDEeyN-qrgse1YLA" name="closeDoor" sourceNode="_yIYsUDjCEeyN-qrgse1YLA" targetNode="_yIYsUDjCEeyN-qrgse1YLA"> + <target xmi:type="statemachine:Transition" href="garagedoor.statemachine#//@transitions.8"/> + <semanticElements xmi:type="statemachine:Transition" href="garagedoor.statemachine#//@transitions.8"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_WbMXGDjDEeyN-qrgse1YLA" targetArrow="InputFillClosedArrow" size="2" routingStyle="manhattan" strokeColor="0,0,0"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/resource/swt.most.statemachine.gDSL/description/gDSL.odesign#//@ownedViewpoints[name='DSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@edgeMappings[name='Transition']/@style"/> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_WbMXGTjDEeyN-qrgse1YLA" showIcon="false"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/resource/swt.most.statemachine.gDSL/description/gDSL.odesign#//@ownedViewpoints[name='DSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@edgeMappings[name='Transition']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_WbMXHDjDEeyN-qrgse1YLA" name="closeDoor" sourceNode="_yIZ6dzjCEeyN-qrgse1YLA" targetNode="_yIZ6dzjCEeyN-qrgse1YLA"> + <target xmi:type="statemachine:Transition" href="garagedoor.statemachine#//@transitions.9"/> + <semanticElements xmi:type="statemachine:Transition" href="garagedoor.statemachine#//@transitions.9"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_WbMXHTjDEeyN-qrgse1YLA" targetArrow="InputFillClosedArrow" size="2" routingStyle="manhattan" strokeColor="0,0,0"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/resource/swt.most.statemachine.gDSL/description/gDSL.odesign#//@ownedViewpoints[name='DSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@edgeMappings[name='Transition']/@style"/> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_WbMXHjjDEeyN-qrgse1YLA" showIcon="false"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/resource/swt.most.statemachine.gDSL/description/gDSL.odesign#//@ownedViewpoints[name='DSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@edgeMappings[name='Transition']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_WbMXITjDEeyN-qrgse1YLA" name="openDoor" sourceNode="_yIZTYzjCEeyN-qrgse1YLA" targetNode="_yIZTYzjCEeyN-qrgse1YLA"> + <target xmi:type="statemachine:Transition" href="garagedoor.statemachine#//@transitions.10"/> + <semanticElements xmi:type="statemachine:Transition" href="garagedoor.statemachine#//@transitions.10"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_WbM-IDjDEeyN-qrgse1YLA" targetArrow="InputFillClosedArrow" size="2" routingStyle="manhattan" strokeColor="0,0,0"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/resource/swt.most.statemachine.gDSL/description/gDSL.odesign#//@ownedViewpoints[name='DSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@edgeMappings[name='Transition']/@style"/> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_WbM-ITjDEeyN-qrgse1YLA" showIcon="false"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/resource/swt.most.statemachine.gDSL/description/gDSL.odesign#//@ownedViewpoints[name='DSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@edgeMappings[name='Transition']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_WbM-JDjDEeyN-qrgse1YLA" name="openDoor" sourceNode="_yIZ6cjjCEeyN-qrgse1YLA" targetNode="_yIZ6cjjCEeyN-qrgse1YLA"> + <target xmi:type="statemachine:Transition" href="garagedoor.statemachine#//@transitions.11"/> + <semanticElements xmi:type="statemachine:Transition" href="garagedoor.statemachine#//@transitions.11"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_WbM-JTjDEeyN-qrgse1YLA" targetArrow="InputFillClosedArrow" size="2" routingStyle="manhattan" strokeColor="0,0,0"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/resource/swt.most.statemachine.gDSL/description/gDSL.odesign#//@ownedViewpoints[name='DSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@edgeMappings[name='Transition']/@style"/> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_WbM-JjjDEeyN-qrgse1YLA" showIcon="false"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/resource/swt.most.statemachine.gDSL/description/gDSL.odesign#//@ownedViewpoints[name='DSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@edgeMappings[name='Transition']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNodeContainer" uid="_gzKjWzvrEeyeeflsfjx5ZA" name="State Machine: Garage Door" height="4"> + <target xmi:type="statemachine:StateMachine" href="garagedoor.statemachine#Garage Door"/> + <semanticElements xmi:type="statemachine:StateMachine" href="garagedoor.statemachine#Garage Door"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_gzKjXDvrEeyeeflsfjx5ZA" labelSize="12" showIcon="false" borderColor="255,255,255" backgroundStyle="Liquid" foregroundColor="255,255,255"> + <labelFormat>bold</labelFormat> + <description xmi:type="style:FlatContainerStyleDescription" href="platform:/resource/swt.most.statemachine.gDSL/description/gDSL.odesign#//@ownedViewpoints[name='DSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@containerMappings[name='State%20Machine%20Label']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/resource/swt.most.statemachine.gDSL/description/gDSL.odesign#//@ownedViewpoints[name='DSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@containerMappings[name='State%20Machine%20Label']"/> + </ownedDiagramElements> + <description xmi:type="description_1:DiagramDescription" href="platform:/resource/swt.most.statemachine.gDSL/description/gDSL.odesign#//@ownedViewpoints[name='DSL']/@ownedRepresentations[name='StateMachine']"/> + <filterVariableHistory xmi:type="diagram:FilterVariableHistory" uid="_ipJCADjAEeyN-qrgse1YLA"/> + <activatedLayers xmi:type="description_1:Layer" href="platform:/resource/swt.most.statemachine.gDSL/description/gDSL.odesign#//@ownedViewpoints[name='DSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer"/> + <target xmi:type="statemachine:StateMachine" href="garagedoor.statemachine#Garage Door"/> + </diagram:DSemanticDiagram> + <diagram:DSemanticDiagram uid="_2axsEDyHEeytPeWyzOo0bw"> + <ownedAnnotationEntries xmi:type="description:AnnotationEntry" uid="_2a5A0DyHEeytPeWyzOo0bw" source="GMF_DIAGRAMS"> + <data xmi:type="notation:Diagram" xmi:id="_2a5A0TyHEeytPeWyzOo0bw" type="Sirius" element="_2axsEDyHEeytPeWyzOo0bw" measurementUnit="Pixel"> + <children xmi:type="notation:Node" xmi:id="_2a_HcDyHEeytPeWyzOo0bw" type="2001" element="_2a5n4DyHEeytPeWyzOo0bw"> + <children xmi:type="notation:Node" xmi:id="_2bA8oDyHEeytPeWyzOo0bw" type="5002"> + <layoutConstraint xmi:type="notation:Location" xmi:id="_2bA8oTyHEeytPeWyzOo0bw" x="-4" y="41"/> + </children> + <children xmi:type="notation:Node" xmi:id="_2bJfgzyHEeytPeWyzOo0bw" type="3002" element="_2a6O8DyHEeytPeWyzOo0bw"> + <styles xmi:type="notation:ShapeStyle" xmi:id="_2bJfhDyHEeytPeWyzOo0bw" fontName="Segoe UI"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2bJfhTyHEeytPeWyzOo0bw"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_2a_HcTyHEeytPeWyzOo0bw" fontName="Segoe UI" fontHeight="12"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2a_HcjyHEeytPeWyzOo0bw" x="306" y="360" width="40" height="40"/> + </children> + <children xmi:type="notation:Node" xmi:id="_2bGcMDyHEeytPeWyzOo0bw" type="2003" element="_2a62ATyHEeytPeWyzOo0bw"> + <children xmi:type="notation:Node" xmi:id="_2bHDQDyHEeytPeWyzOo0bw" type="5007"/> + <children xmi:type="notation:Node" xmi:id="_2bHqUDyHEeytPeWyzOo0bw" type="7004"> + <children xmi:type="notation:Node" xmi:id="_2bKGkDyHEeytPeWyzOo0bw" type="3010" element="_2a7dFDyHEeytPeWyzOo0bw"> + <styles xmi:type="notation:FontStyle" xmi:id="_2bKGkTyHEeytPeWyzOo0bw" fontName="Segoe UI" fontHeight="12"/> + <layoutConstraint xmi:type="notation:Location" xmi:id="_2bKGkjyHEeytPeWyzOo0bw"/> + </children> + <styles xmi:type="notation:SortingStyle" xmi:id="_2bHqUTyHEeytPeWyzOo0bw"/> + <styles xmi:type="notation:FilteringStyle" xmi:id="_2bHqUjyHEeytPeWyzOo0bw"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_2bGcMTyHEeytPeWyzOo0bw" fontName="Segoe UI" fontHeight="12" bold="true"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2bGcMjyHEeytPeWyzOo0bw" x="432" y="156"/> + </children> + <children xmi:type="notation:Node" xmi:id="_2bHqUzyHEeytPeWyzOo0bw" type="2003" element="_2a7dETyHEeytPeWyzOo0bw"> + <children xmi:type="notation:Node" xmi:id="_2bIRYDyHEeytPeWyzOo0bw" type="5007"/> + <children xmi:type="notation:Node" xmi:id="_2bIRYTyHEeytPeWyzOo0bw" type="7004"> + <children xmi:type="notation:Node" xmi:id="_2bKtoDyHEeytPeWyzOo0bw" type="3010" element="_2a8EIDyHEeytPeWyzOo0bw"> + <styles xmi:type="notation:FontStyle" xmi:id="_2bKtoTyHEeytPeWyzOo0bw" fontName="Segoe UI" fontHeight="12"/> + <layoutConstraint xmi:type="notation:Location" xmi:id="_2bKtojyHEeytPeWyzOo0bw"/> + </children> + <styles xmi:type="notation:SortingStyle" xmi:id="_2bIRYjyHEeytPeWyzOo0bw"/> + <styles xmi:type="notation:FilteringStyle" xmi:id="_2bIRYzyHEeytPeWyzOo0bw"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_2bHqVDyHEeytPeWyzOo0bw" fontName="Segoe UI" fontHeight="12" bold="true"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2bHqVTyHEeytPeWyzOo0bw" x="438" y="342"/> + </children> + <children xmi:type="notation:Node" xmi:id="_2bI4cDyHEeytPeWyzOo0bw" type="2002" element="_2a8EIjyHEeytPeWyzOo0bw"> + <children xmi:type="notation:Node" xmi:id="_2bI4czyHEeytPeWyzOo0bw" type="5006"/> + <children xmi:type="notation:Node" xmi:id="_2bJfgDyHEeytPeWyzOo0bw" type="7001"> + <styles xmi:type="notation:SortingStyle" xmi:id="_2bJfgTyHEeytPeWyzOo0bw"/> + <styles xmi:type="notation:FilteringStyle" xmi:id="_2bJfgjyHEeytPeWyzOo0bw"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_2bI4cTyHEeytPeWyzOo0bw" fontName="Segoe UI" fontHeight="12" bold="true"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2bI4cjyHEeytPeWyzOo0bw" x="423" y="72"/> + </children> + <styles xmi:type="notation:DiagramStyle" xmi:id="_2a5A0jyHEeytPeWyzOo0bw"/> + <edges xmi:type="notation:Edge" xmi:id="_2bKtozyHEeytPeWyzOo0bw" type="4001" element="_2a8rMDyHEeytPeWyzOo0bw" source="_2a_HcDyHEeytPeWyzOo0bw" target="_2bHqUzyHEeytPeWyzOo0bw"> + <children xmi:type="notation:Node" xmi:id="_2bKtpzyHEeytPeWyzOo0bw" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2bKtqDyHEeytPeWyzOo0bw" x="-43" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_2bLUsDyHEeytPeWyzOo0bw" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2bLUsTyHEeytPeWyzOo0bw" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_2bLUsjyHEeytPeWyzOo0bw" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2bLUszyHEeytPeWyzOo0bw" x="-45" y="10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_2bKtpDyHEeytPeWyzOo0bw" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_2bKtpTyHEeytPeWyzOo0bw" fontName="Segoe UI" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_2bKtpjyHEeytPeWyzOo0bw" points="[20, 20, -177, -31]$[112, 20, -85, -31]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_2bNJ4DyHEeytPeWyzOo0bw" id="(0.5,0.0)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_2bNJ4TyHEeytPeWyzOo0bw" id="(0.5059523809523809,1.0)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_2bNw_DyHEeytPeWyzOo0bw" type="4001" element="_2a9SQjyHEeytPeWyzOo0bw" source="_2bGcMDyHEeytPeWyzOo0bw" target="_2bHqUzyHEeytPeWyzOo0bw"> + <children xmi:type="notation:Node" xmi:id="_2bOYADyHEeytPeWyzOo0bw" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2bOYATyHEeytPeWyzOo0bw" x="-11" y="21"/> + </children> + <children xmi:type="notation:Node" xmi:id="_2bOYAjyHEeytPeWyzOo0bw" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2bOYAzyHEeytPeWyzOo0bw" x="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_2bOYBDyHEeytPeWyzOo0bw" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2bOYBTyHEeytPeWyzOo0bw" x="-29"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_2bNw_TyHEeytPeWyzOo0bw" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_2bNw_jyHEeytPeWyzOo0bw" fontName="Segoe UI" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_2bNw_zyHEeytPeWyzOo0bw" points="[-43, 69, -37, -186]$[-43, 186, -37, -69]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_2bOYBjyHEeytPeWyzOo0bw" id="(0.5052083333333334,0.0)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_2bOYBzyHEeytPeWyzOo0bw" id="(0.5059523809523809,1.0)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_2bNw8DyHEeytPeWyzOo0bw" type="4001" element="_2a8rNTyHEeytPeWyzOo0bw" source="_2bHqUzyHEeytPeWyzOo0bw" target="_2bGcMDyHEeytPeWyzOo0bw"> + <children xmi:type="notation:Node" xmi:id="_2bNw9DyHEeytPeWyzOo0bw" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2bNw9TyHEeytPeWyzOo0bw" x="12" y="21"/> + </children> + <children xmi:type="notation:Node" xmi:id="_2bNw9jyHEeytPeWyzOo0bw" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2bNw9zyHEeytPeWyzOo0bw" x="28"/> + </children> + <children xmi:type="notation:Node" xmi:id="_2bNw-DyHEeytPeWyzOo0bw" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2bNw-TyHEeytPeWyzOo0bw" x="-10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_2bNw8TyHEeytPeWyzOo0bw" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_2bNw8jyHEeytPeWyzOo0bw" fontName="Segoe UI" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_2bNw8zyHEeytPeWyzOo0bw" points="[34, -69, 28, 186]$[34, -186, 28, 69]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_2bNw-jyHEeytPeWyzOo0bw" id="(0.5059523809523809,1.0)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_2bNw-zyHEeytPeWyzOo0bw" id="(0.5052083333333334,0.0)"/> + </edges> + </data> + </ownedAnnotationEntries> + <ownedAnnotationEntries xmi:type="description:AnnotationEntry" uid="_2a9SRzyHEeytPeWyzOo0bw" source="DANNOTATION_CUSTOMIZATION_KEY"> + <data xmi:type="diagram:ComputedStyleDescriptionRegistry" uid="_2a9SSDyHEeytPeWyzOo0bw"/> + </ownedAnnotationEntries> + <ownedDiagramElements xmi:type="diagram:DNode" uid="_2a5n4DyHEeytPeWyzOo0bw" name="initial" outgoingEdges="_2a8rMDyHEeytPeWyzOo0bw" width="4" height="4"> + <target xmi:type="statemachine:InitialState" href="switch.statemachine#initial"/> + <semanticElements xmi:type="statemachine:InitialState" href="switch.statemachine#initial"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:Dot" uid="_2a6O8DyHEeytPeWyzOo0bw" labelSize="12" showIcon="false" backgroundColor="0,0,0"> + <description xmi:type="style:DotDescription" href="platform:/resource/swt.most.statemachine.gDSL/description/gDSL.odesign#//@ownedViewpoints[name='DSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@nodeMappings[name='Initial%20State']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/resource/swt.most.statemachine.gDSL/description/gDSL.odesign#//@ownedViewpoints[name='DSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@nodeMappings[name='Initial%20State']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_2a62ATyHEeytPeWyzOo0bw" name="on" outgoingEdges="_2a9SQjyHEeytPeWyzOo0bw" incomingEdges="_2a8rNTyHEeytPeWyzOo0bw"> + <target xmi:type="statemachine:NormalState" href="switch.statemachine#on"/> + <semanticElements xmi:type="statemachine:NormalState" href="switch.statemachine#on"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_2a62AjyHEeytPeWyzOo0bw" labelSize="12" showIcon="false" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" backgroundColor="255,245,181" foregroundColor="255,245,181"> + <labelFormat>bold</labelFormat> + <description xmi:type="style:FlatContainerStyleDescription" href="platform:/resource/swt.most.statemachine.gDSL/description/gDSL.odesign#//@ownedViewpoints[name='DSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@containerMappings[name='Normal%20State']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/resource/swt.most.statemachine.gDSL/description/gDSL.odesign#//@ownedViewpoints[name='DSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@containerMappings[name='Normal%20State']"/> + <ownedElements xmi:type="diagram:DNodeListElement" uid="_2a7dFDyHEeytPeWyzOo0bw" name="do/ do_something"> + <target xmi:type="statemachine:Action" href="switch.statemachine#//@states.0/@do_"/> + <semanticElements xmi:type="statemachine:Action" href="switch.statemachine#//@states.0/@do_"/> + <ownedStyle xmi:type="diagram:Square" uid="_2a7dFTyHEeytPeWyzOo0bw" labelSize="12" showIcon="false" labelAlignment="LEFT" labelPosition="node" color="255,245,181"> + <description xmi:type="style:SquareDescription" href="platform:/resource/swt.most.statemachine.gDSL/description/gDSL.odesign#//@ownedViewpoints[name='DSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@containerMappings[name='Normal%20State']/@subNodeMappings[name='Do%20Activity']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/resource/swt.most.statemachine.gDSL/description/gDSL.odesign#//@ownedViewpoints[name='DSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@containerMappings[name='Normal%20State']/@subNodeMappings[name='Do%20Activity']"/> + </ownedElements> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_2a7dETyHEeytPeWyzOo0bw" name="off" outgoingEdges="_2a8rNTyHEeytPeWyzOo0bw" incomingEdges="_2a8rMDyHEeytPeWyzOo0bw _2a9SQjyHEeytPeWyzOo0bw"> + <target xmi:type="statemachine:NormalState" href="switch.statemachine#off"/> + <semanticElements xmi:type="statemachine:NormalState" href="switch.statemachine#off"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_2a7dEjyHEeytPeWyzOo0bw" labelSize="12" showIcon="false" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" backgroundColor="255,245,181" foregroundColor="255,245,181"> + <labelFormat>bold</labelFormat> + <description xmi:type="style:FlatContainerStyleDescription" href="platform:/resource/swt.most.statemachine.gDSL/description/gDSL.odesign#//@ownedViewpoints[name='DSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@containerMappings[name='Normal%20State']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/resource/swt.most.statemachine.gDSL/description/gDSL.odesign#//@ownedViewpoints[name='DSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@containerMappings[name='Normal%20State']"/> + <ownedElements xmi:type="diagram:DNodeListElement" uid="_2a8EIDyHEeytPeWyzOo0bw" name="do/ do_nothing"> + <target xmi:type="statemachine:Action" href="switch.statemachine#//@states.1/@do_"/> + <semanticElements xmi:type="statemachine:Action" href="switch.statemachine#//@states.1/@do_"/> + <ownedStyle xmi:type="diagram:Square" uid="_2a8EITyHEeytPeWyzOo0bw" labelSize="12" showIcon="false" labelAlignment="LEFT" labelPosition="node" color="255,245,181"> + <description xmi:type="style:SquareDescription" href="platform:/resource/swt.most.statemachine.gDSL/description/gDSL.odesign#//@ownedViewpoints[name='DSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@containerMappings[name='Normal%20State']/@subNodeMappings[name='Do%20Activity']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/resource/swt.most.statemachine.gDSL/description/gDSL.odesign#//@ownedViewpoints[name='DSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@containerMappings[name='Normal%20State']/@subNodeMappings[name='Do%20Activity']"/> + </ownedElements> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNodeContainer" uid="_2a8EIjyHEeytPeWyzOo0bw" name="State Machine: Switch" height="4"> + <target xmi:type="statemachine:StateMachine" href="switch.statemachine#Switch"/> + <semanticElements xmi:type="statemachine:StateMachine" href="switch.statemachine#Switch"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_2a8EIzyHEeytPeWyzOo0bw" labelSize="12" showIcon="false" borderColor="255,255,255" backgroundStyle="Liquid" foregroundColor="255,255,255"> + <labelFormat>bold</labelFormat> + <description xmi:type="style:FlatContainerStyleDescription" href="platform:/resource/swt.most.statemachine.gDSL/description/gDSL.odesign#//@ownedViewpoints[name='DSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@containerMappings[name='State%20Machine%20Label']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/resource/swt.most.statemachine.gDSL/description/gDSL.odesign#//@ownedViewpoints[name='DSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@containerMappings[name='State%20Machine%20Label']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_2a8rMDyHEeytPeWyzOo0bw" sourceNode="_2a5n4DyHEeytPeWyzOo0bw" targetNode="_2a7dETyHEeytPeWyzOo0bw"> + <target xmi:type="statemachine:Transition" href="switch.statemachine#//@transitions.0"/> + <semanticElements xmi:type="statemachine:Transition" href="switch.statemachine#//@transitions.0"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_2a8rMTyHEeytPeWyzOo0bw" targetArrow="InputFillClosedArrow" size="2" routingStyle="manhattan" strokeColor="0,0,0"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/resource/swt.most.statemachine.gDSL/description/gDSL.odesign#//@ownedViewpoints[name='DSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@edgeMappings[name='Transition']/@style"/> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_2a8rMjyHEeytPeWyzOo0bw" showIcon="false"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/resource/swt.most.statemachine.gDSL/description/gDSL.odesign#//@ownedViewpoints[name='DSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@edgeMappings[name='Transition']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_2a8rNTyHEeytPeWyzOo0bw" name="flip" sourceNode="_2a7dETyHEeytPeWyzOo0bw" targetNode="_2a62ATyHEeytPeWyzOo0bw"> + <target xmi:type="statemachine:Transition" href="switch.statemachine#//@transitions.1"/> + <semanticElements xmi:type="statemachine:Transition" href="switch.statemachine#//@transitions.1"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_2a8rNjyHEeytPeWyzOo0bw" targetArrow="InputFillClosedArrow" size="2" routingStyle="manhattan" strokeColor="0,0,0"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/resource/swt.most.statemachine.gDSL/description/gDSL.odesign#//@ownedViewpoints[name='DSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@edgeMappings[name='Transition']/@style"/> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_2a8rNzyHEeytPeWyzOo0bw" showIcon="false"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/resource/swt.most.statemachine.gDSL/description/gDSL.odesign#//@ownedViewpoints[name='DSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@edgeMappings[name='Transition']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_2a9SQjyHEeytPeWyzOo0bw" name="flip" sourceNode="_2a62ATyHEeytPeWyzOo0bw" targetNode="_2a7dETyHEeytPeWyzOo0bw"> + <target xmi:type="statemachine:Transition" href="switch.statemachine#//@transitions.2"/> + <semanticElements xmi:type="statemachine:Transition" href="switch.statemachine#//@transitions.2"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_2a9SQzyHEeytPeWyzOo0bw" targetArrow="InputFillClosedArrow" size="2" routingStyle="manhattan" strokeColor="0,0,0"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/resource/swt.most.statemachine.gDSL/description/gDSL.odesign#//@ownedViewpoints[name='DSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@edgeMappings[name='Transition']/@style"/> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_2a9SRDyHEeytPeWyzOo0bw" showIcon="false"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/resource/swt.most.statemachine.gDSL/description/gDSL.odesign#//@ownedViewpoints[name='DSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@edgeMappings[name='Transition']"/> + </ownedDiagramElements> + <description xmi:type="description_1:DiagramDescription" href="platform:/resource/swt.most.statemachine.gDSL/description/gDSL.odesign#//@ownedViewpoints[name='DSL']/@ownedRepresentations[name='StateMachine']"/> + <filterVariableHistory xmi:type="diagram:FilterVariableHistory" uid="_2ayTIDyHEeytPeWyzOo0bw"/> + <activatedLayers xmi:type="description_1:Layer" href="platform:/resource/swt.most.statemachine.gDSL/description/gDSL.odesign#//@ownedViewpoints[name='DSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer"/> + <target xmi:type="statemachine:StateMachine" href="switch.statemachine#Switch"/> + </diagram:DSemanticDiagram> + <diagram:DSemanticDiagram uid="_ydRecCysEe-4er9RFtOKtQ"> + <ownedAnnotationEntries xmi:type="description:AnnotationEntry" uid="_yd5JgCysEe-4er9RFtOKtQ" source="GMF_DIAGRAMS"> + <data xmi:type="notation:Diagram" xmi:id="_yd5wkCysEe-4er9RFtOKtQ" type="Sirius" element="_ydRecCysEe-4er9RFtOKtQ" measurementUnit="Pixel"> + <children xmi:type="notation:Node" xmi:id="_ygS9QCysEe-4er9RFtOKtQ" type="2001" element="_yfV7ACysEe-4er9RFtOKtQ"> + <children xmi:type="notation:Node" xmi:id="_ygcuQCysEe-4er9RFtOKtQ" type="5002"> + <layoutConstraint xmi:type="notation:Location" xmi:id="_ygcuQSysEe-4er9RFtOKtQ" x="-14" y="-33"/> + </children> + <children xmi:type="notation:Node" xmi:id="_ygvpMCysEe-4er9RFtOKtQ" type="3002" element="_yfaMcCysEe-4er9RFtOKtQ"> + <styles xmi:type="notation:ShapeStyle" xmi:id="_ygvpMSysEe-4er9RFtOKtQ" fontName="Segoe UI"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ygvpMiysEe-4er9RFtOKtQ"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_ygS9QSysEe-4er9RFtOKtQ" fontName="Segoe UI" fontHeight="12"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ygS9QiysEe-4er9RFtOKtQ" x="49" y="224" width="30" height="30"/> + </children> + <children xmi:type="notation:Node" xmi:id="_ygntYCysEe-4er9RFtOKtQ" type="2001" element="_yfed4CysEe-4er9RFtOKtQ"> + <children xmi:type="notation:Node" xmi:id="_ygoUcCysEe-4er9RFtOKtQ" type="5002"> + <layoutConstraint xmi:type="notation:Location" xmi:id="_ygoUcSysEe-4er9RFtOKtQ" x="-8" y="-33"/> + </children> + <children xmi:type="notation:Node" xmi:id="_ygwQQCysEe-4er9RFtOKtQ" type="3002" element="_yffE8CysEe-4er9RFtOKtQ"> + <styles xmi:type="notation:ShapeStyle" xmi:id="_ygwQQSysEe-4er9RFtOKtQ" fontName="Segoe UI"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ygwQQiysEe-4er9RFtOKtQ"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_ygntYSysEe-4er9RFtOKtQ" fontName="Segoe UI" fontHeight="12"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ygntYiysEe-4er9RFtOKtQ" x="78" y="294" width="30" height="30"/> + </children> + <children xmi:type="notation:Node" xmi:id="_ygqJoCysEe-4er9RFtOKtQ" type="2003" element="_yffsACysEe-4er9RFtOKtQ"> + <children xmi:type="notation:Node" xmi:id="_ygqwsCysEe-4er9RFtOKtQ" type="5007"/> + <children xmi:type="notation:Node" xmi:id="_ygrXwCysEe-4er9RFtOKtQ" type="7004"> + <styles xmi:type="notation:SortingStyle" xmi:id="_ygrXwSysEe-4er9RFtOKtQ"/> + <styles xmi:type="notation:FilteringStyle" xmi:id="_ygrXwiysEe-4er9RFtOKtQ"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_ygqJoSysEe-4er9RFtOKtQ" fontName="Segoe UI" fontHeight="12" bold="true"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ygqJoiysEe-4er9RFtOKtQ" x="196" y="343"/> + </children> + <children xmi:type="notation:Node" xmi:id="_ygr-0CysEe-4er9RFtOKtQ" type="2003" element="_yfg6ICysEe-4er9RFtOKtQ"> + <children xmi:type="notation:Node" xmi:id="_ygsl4CysEe-4er9RFtOKtQ" type="5007"/> + <children xmi:type="notation:Node" xmi:id="_ygsl4SysEe-4er9RFtOKtQ" type="7004"> + <styles xmi:type="notation:SortingStyle" xmi:id="_ygsl4iysEe-4er9RFtOKtQ"/> + <styles xmi:type="notation:FilteringStyle" xmi:id="_ygsl4yysEe-4er9RFtOKtQ"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_ygr-0SysEe-4er9RFtOKtQ" fontName="Segoe UI" fontHeight="12" bold="true"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ygr-0iysEe-4er9RFtOKtQ" x="777" y="336"/> + </children> + <children xmi:type="notation:Node" xmi:id="_ygsl5CysEe-4er9RFtOKtQ" type="2003" element="_yfhhMSysEe-4er9RFtOKtQ"> + <children xmi:type="notation:Node" xmi:id="_ygtM8CysEe-4er9RFtOKtQ" type="5007"/> + <children xmi:type="notation:Node" xmi:id="_ygtM8SysEe-4er9RFtOKtQ" type="7004"> + <styles xmi:type="notation:SortingStyle" xmi:id="_ygtM8iysEe-4er9RFtOKtQ"/> + <styles xmi:type="notation:FilteringStyle" xmi:id="_ygtM8yysEe-4er9RFtOKtQ"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_ygsl5SysEe-4er9RFtOKtQ" fontName="Segoe UI" fontHeight="12" bold="true"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ygsl5iysEe-4er9RFtOKtQ" x="441" y="161" width="150"/> + </children> + <children xmi:type="notation:Node" xmi:id="_ygtM9CysEe-4er9RFtOKtQ" type="2003" element="_yfivUSysEe-4er9RFtOKtQ"> + <children xmi:type="notation:Node" xmi:id="_ygtM9yysEe-4er9RFtOKtQ" type="5007"/> + <children xmi:type="notation:Node" xmi:id="_ygt0ACysEe-4er9RFtOKtQ" type="7004"> + <styles xmi:type="notation:SortingStyle" xmi:id="_ygt0ASysEe-4er9RFtOKtQ"/> + <styles xmi:type="notation:FilteringStyle" xmi:id="_ygt0AiysEe-4er9RFtOKtQ"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_ygtM9SysEe-4er9RFtOKtQ" fontName="Segoe UI" fontHeight="12" bold="true"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ygtM9iysEe-4er9RFtOKtQ" x="448" y="539" width="150"/> + </children> + <children xmi:type="notation:Node" xmi:id="_ygt0AyysEe-4er9RFtOKtQ" type="2003" element="_yfkkgCysEe-4er9RFtOKtQ"> + <children xmi:type="notation:Node" xmi:id="_ygt0BiysEe-4er9RFtOKtQ" type="5007"/> + <children xmi:type="notation:Node" xmi:id="_ygubECysEe-4er9RFtOKtQ" type="7004"> + <styles xmi:type="notation:SortingStyle" xmi:id="_ygubESysEe-4er9RFtOKtQ"/> + <styles xmi:type="notation:FilteringStyle" xmi:id="_ygubEiysEe-4er9RFtOKtQ"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_ygt0BCysEe-4er9RFtOKtQ" fontName="Segoe UI" fontHeight="10" bold="true"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ygt0BSysEe-4er9RFtOKtQ" x="21" y="54" width="311" height="40"/> + </children> + <styles xmi:type="notation:DiagramStyle" xmi:id="_yd5wkSysEe-4er9RFtOKtQ"/> + <edges xmi:type="notation:Edge" xmi:id="_yg9roCysEe-4er9RFtOKtQ" type="4001" element="_yfym8CysEe-4er9RFtOKtQ" source="_ygS9QCysEe-4er9RFtOKtQ" target="_ygqJoCysEe-4er9RFtOKtQ"> + <children xmi:type="notation:Node" xmi:id="_yg-5wCysEe-4er9RFtOKtQ" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yg-5wSysEe-4er9RFtOKtQ" x="-9" y="-87"/> + </children> + <children xmi:type="notation:Node" xmi:id="_yhAH4CysEe-4er9RFtOKtQ" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yhAH4SysEe-4er9RFtOKtQ" x="-18" y="-10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_yhAu8CysEe-4er9RFtOKtQ" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yhAu8SysEe-4er9RFtOKtQ" x="-99" y="-89"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_yg9roSysEe-4er9RFtOKtQ" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_yg9roiysEe-4er9RFtOKtQ" fontName="Segoe UI" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_yg9royysEe-4er9RFtOKtQ" points="[-4, 15, -175, -116]$[-4, 146, -175, 15]$[132, 146, -39, 15]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yhIDsCysEe-4er9RFtOKtQ" id="(0.5,0.5)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yhIDsSysEe-4er9RFtOKtQ" id="(0.5,0.5)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_yhIDsiysEe-4er9RFtOKtQ" type="4001" element="_yf5UoCysEe-4er9RFtOKtQ" source="_ygqJoCysEe-4er9RFtOKtQ" target="_ygsl5CysEe-4er9RFtOKtQ"> + <children xmi:type="notation:Node" xmi:id="_yhIqwCysEe-4er9RFtOKtQ" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yhIqwSysEe-4er9RFtOKtQ" x="59" y="-17"/> + </children> + <children xmi:type="notation:Node" xmi:id="_yhIqwiysEe-4er9RFtOKtQ" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yhIqwyysEe-4er9RFtOKtQ" x="-13"/> + </children> + <children xmi:type="notation:Node" xmi:id="_yhIqxCysEe-4er9RFtOKtQ" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yhIqxSysEe-4er9RFtOKtQ" x="28" y="10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_yhIDsyysEe-4er9RFtOKtQ" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_yhIDtCysEe-4er9RFtOKtQ" fontName="Segoe UI" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_yhIDtSysEe-4er9RFtOKtQ" points="[-1, -27, -257, 155]$[-1, -182, -257, 0]$[206, -182, -50, 0]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yhJR0CysEe-4er9RFtOKtQ" id="(0.5,0.5)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yhJR0SysEe-4er9RFtOKtQ" id="(0.33783783783783783,0.5)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_yhJR0iysEe-4er9RFtOKtQ" type="4001" element="_yf57sCysEe-4er9RFtOKtQ" source="_ygsl5CysEe-4er9RFtOKtQ" target="_ygr-0CysEe-4er9RFtOKtQ"> + <children xmi:type="notation:Node" xmi:id="_yhJR1iysEe-4er9RFtOKtQ" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yhJR1yysEe-4er9RFtOKtQ" x="-51" y="-17"/> + </children> + <children xmi:type="notation:Node" xmi:id="_yhJR2CysEe-4er9RFtOKtQ" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yhJR2SysEe-4er9RFtOKtQ" x="-8" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_yhJR2iysEe-4er9RFtOKtQ" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yhJR2yysEe-4er9RFtOKtQ" x="7"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_yhJR0yysEe-4er9RFtOKtQ" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_yhJR1CysEe-4er9RFtOKtQ" fontName="Segoe UI" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_yhJR1SysEe-4er9RFtOKtQ" points="[98, 0, -219, -175]$[318, 0, 1, -175]$[318, 148, 1, -27]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yhJ44CysEe-4er9RFtOKtQ" id="(0.33783783783783783,0.5)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yhJ44SysEe-4er9RFtOKtQ" id="(0.5,0.5)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_yhJ44iysEe-4er9RFtOKtQ" type="4001" element="_yf6iwiysEe-4er9RFtOKtQ" source="_ygr-0CysEe-4er9RFtOKtQ" target="_ygtM9CysEe-4er9RFtOKtQ"> + <children xmi:type="notation:Node" xmi:id="_yhKf8CysEe-4er9RFtOKtQ" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yhKf8SysEe-4er9RFtOKtQ" x="55" y="-17"/> + </children> + <children xmi:type="notation:Node" xmi:id="_yhKf8iysEe-4er9RFtOKtQ" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yhKf8yysEe-4er9RFtOKtQ" x="-56" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_yhKf9CysEe-4er9RFtOKtQ" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yhKf9SysEe-4er9RFtOKtQ" x="-97" y="10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_yhJ44yysEe-4er9RFtOKtQ" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_yhJ45CysEe-4er9RFtOKtQ" fontName="Segoe UI" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_yhJ45SysEe-4er9RFtOKtQ" points="[-2, 28, 315, -175]$[-2, 203, 315, 0]$[-212, 203, 105, 0]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yhLHACysEe-4er9RFtOKtQ" id="(0.5,0.5)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yhLHASysEe-4er9RFtOKtQ" id="(0.2939189189189189,0.5)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_yhLHAiysEe-4er9RFtOKtQ" type="4001" element="_yf7J1CysEe-4er9RFtOKtQ" source="_ygtM9CysEe-4er9RFtOKtQ" target="_ygqJoCysEe-4er9RFtOKtQ"> + <children xmi:type="notation:Node" xmi:id="_yhLHBiysEe-4er9RFtOKtQ" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yhLHByysEe-4er9RFtOKtQ" x="-86" y="-17"/> + </children> + <children xmi:type="notation:Node" xmi:id="_yhLHCCysEe-4er9RFtOKtQ" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yhLHCSysEe-4er9RFtOKtQ" x="-39" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_yhLHCiysEe-4er9RFtOKtQ" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yhLHCyysEe-4er9RFtOKtQ" x="-21"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_yhLHAyysEe-4er9RFtOKtQ" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_yhLHBCysEe-4er9RFtOKtQ" fontName="Segoe UI" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_yhLHBSysEe-4er9RFtOKtQ" points="[-43, 0, 213, 196]$[-255, 0, 1, 196]$[-255, -168, 1, 28]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yhLuECysEe-4er9RFtOKtQ" id="(0.2939189189189189,0.5)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yhLuESysEe-4er9RFtOKtQ" id="(0.5,0.5)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_yhLuEiysEe-4er9RFtOKtQ" type="4001" element="_yf8X8CysEe-4er9RFtOKtQ" source="_ygtM9CysEe-4er9RFtOKtQ" target="_ygsl5CysEe-4er9RFtOKtQ"> + <children xmi:type="notation:Node" xmi:id="_yhLuFiysEe-4er9RFtOKtQ" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yhLuFyysEe-4er9RFtOKtQ" x="-22" y="-108"/> + </children> + <children xmi:type="notation:Node" xmi:id="_yhMVICysEe-4er9RFtOKtQ" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yhMVISysEe-4er9RFtOKtQ" x="-6"/> + </children> + <children xmi:type="notation:Node" xmi:id="_yhMVIiysEe-4er9RFtOKtQ" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yhMVIyysEe-4er9RFtOKtQ" x="-10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_yhLuEyysEe-4er9RFtOKtQ" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_yhLuFCysEe-4er9RFtOKtQ" fontName="Segoe UI" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_yhLuFSysEe-4er9RFtOKtQ" points="[6, -27, 6, 351]$[6, -350, 6, 28]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yhM8MCysEe-4er9RFtOKtQ" id="(0.2939189189189189,0.5)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yhM8MSysEe-4er9RFtOKtQ" id="(0.33783783783783783,0.5)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_yhM8MiysEe-4er9RFtOKtQ" type="4001" element="_yf8_ACysEe-4er9RFtOKtQ" source="_ygsl5CysEe-4er9RFtOKtQ" target="_ygtM9CysEe-4er9RFtOKtQ"> + <children xmi:type="notation:Node" xmi:id="_yhM8NiysEe-4er9RFtOKtQ" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yhM8NyysEe-4er9RFtOKtQ" x="23" y="-116"/> + </children> + <children xmi:type="notation:Node" xmi:id="_yhM8OCysEe-4er9RFtOKtQ" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yhM8OSysEe-4er9RFtOKtQ" x="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_yhM8OiysEe-4er9RFtOKtQ" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yhM8OyysEe-4er9RFtOKtQ" x="-176" y="10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_yhM8MyysEe-4er9RFtOKtQ" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_yhM8NCysEe-4er9RFtOKtQ" fontName="Segoe UI" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_yhM8NSysEe-4er9RFtOKtQ" points="[23, 28, 23, -350]$[23, 351, 23, -27]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yhOKUCysEe-4er9RFtOKtQ" id="(0.33783783783783783,0.5)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yhOKUSysEe-4er9RFtOKtQ" id="(0.2939189189189189,0.5)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_yhOKUiysEe-4er9RFtOKtQ" type="4001" element="_yf9mECysEe-4er9RFtOKtQ" source="_ygqJoCysEe-4er9RFtOKtQ" target="_ygntYCysEe-4er9RFtOKtQ"> + <children xmi:type="notation:Node" xmi:id="_yhOKViysEe-4er9RFtOKtQ" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yhOKVyysEe-4er9RFtOKtQ" x="-27" y="18"/> + </children> + <children xmi:type="notation:Node" xmi:id="_yhOxYCysEe-4er9RFtOKtQ" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yhOxYSysEe-4er9RFtOKtQ" x="13" y="-10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_yhOxYiysEe-4er9RFtOKtQ" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yhOxYyysEe-4er9RFtOKtQ" x="7"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_yhOKUyysEe-4er9RFtOKtQ" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_yhOKVCysEe-4er9RFtOKtQ" fontName="Segoe UI" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_yhOKVSysEe-4er9RFtOKtQ" points="[-39, 1, 103, 62]$[-143, 1, -1, 62]$[-143, -46, -1, 15]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yhOxZCysEe-4er9RFtOKtQ" id="(0.5,0.5)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yhPYcCysEe-4er9RFtOKtQ" id="(0.5,0.5)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_yhPYcSysEe-4er9RFtOKtQ" type="4001" element="_yf-NIiysEe-4er9RFtOKtQ" source="_ygqJoCysEe-4er9RFtOKtQ" target="_ygqJoCysEe-4er9RFtOKtQ"> + <children xmi:type="notation:Node" xmi:id="_yhPYdSysEe-4er9RFtOKtQ" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yhPYdiysEe-4er9RFtOKtQ" x="-2" y="21"/> + </children> + <children xmi:type="notation:Node" xmi:id="_yhPYdyysEe-4er9RFtOKtQ" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yhPYeCysEe-4er9RFtOKtQ" x="1" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_yhPYeSysEe-4er9RFtOKtQ" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yhPYeiysEe-4er9RFtOKtQ" x="-4" y="-4"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_yhPYciysEe-4er9RFtOKtQ" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_yhPYcyysEe-4er9RFtOKtQ" fontName="Segoe UI" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_yhPYdCysEe-4er9RFtOKtQ" points="[39, -13, 39, -13]$[73, -13, 73, -13]$[73, -41, 73, -41]$[20, -41, 20, -41]$[20, -27, 20, -27]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yhP_gCysEe-4er9RFtOKtQ" id="(0.5,0.5)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yhP_gSysEe-4er9RFtOKtQ" id="(0.5,0.5)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_yhP_giysEe-4er9RFtOKtQ" type="4001" element="_yf-0MiysEe-4er9RFtOKtQ" source="_ygtM9CysEe-4er9RFtOKtQ" target="_ygtM9CysEe-4er9RFtOKtQ"> + <children xmi:type="notation:Node" xmi:id="_yhP_hiysEe-4er9RFtOKtQ" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yhP_hyysEe-4er9RFtOKtQ" x="-4" y="-17"/> + </children> + <children xmi:type="notation:Node" xmi:id="_yhQmkCysEe-4er9RFtOKtQ" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yhQmkSysEe-4er9RFtOKtQ" x="-6"/> + </children> + <children xmi:type="notation:Node" xmi:id="_yhQmkiysEe-4er9RFtOKtQ" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yhQmkyysEe-4er9RFtOKtQ" x="-2" y="10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_yhP_gyysEe-4er9RFtOKtQ" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_yhP_hCysEe-4er9RFtOKtQ" fontName="Segoe UI" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_yhP_hSysEe-4er9RFtOKtQ" points="[62, 28, 62, 28]$[62, 57, 62, 57]$[-8, 57, -8, 57]$[-8, 28, -8, 28]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yhQmlCysEe-4er9RFtOKtQ" id="(0.2939189189189189,0.5)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yhQmlSysEe-4er9RFtOKtQ" id="(0.2939189189189189,0.5)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_yhRNoCysEe-4er9RFtOKtQ" type="4001" element="_yf_bQiysEe-4er9RFtOKtQ" source="_ygr-0CysEe-4er9RFtOKtQ" target="_ygr-0CysEe-4er9RFtOKtQ"> + <children xmi:type="notation:Node" xmi:id="_yhRNpCysEe-4er9RFtOKtQ" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yhRNpSysEe-4er9RFtOKtQ" x="-1" y="-49"/> + </children> + <children xmi:type="notation:Node" xmi:id="_yhRNpiysEe-4er9RFtOKtQ" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yhRNpyysEe-4er9RFtOKtQ" x="25" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_yhR0sCysEe-4er9RFtOKtQ" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yhR0sSysEe-4er9RFtOKtQ" x="2" y="-10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_yhRNoSysEe-4er9RFtOKtQ" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_yhRNoiysEe-4er9RFtOKtQ" fontName="Segoe UI" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_yhRNoyysEe-4er9RFtOKtQ" points="[32, -13, 32, -13]$[74, -13, 74, -13]$[74, 15, 74, 15]$[32, 15, 32, 15]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yhSbwCysEe-4er9RFtOKtQ" id="(0.5,0.5)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yhSbwSysEe-4er9RFtOKtQ" id="(0.5,0.5)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_yhSbwiysEe-4er9RFtOKtQ" type="4001" element="_ygBQcCysEe-4er9RFtOKtQ" source="_ygsl5CysEe-4er9RFtOKtQ" target="_ygsl5CysEe-4er9RFtOKtQ"> + <children xmi:type="notation:Node" xmi:id="_yhSbxiysEe-4er9RFtOKtQ" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yhSbxyysEe-4er9RFtOKtQ" x="-7" y="21"/> + </children> + <children xmi:type="notation:Node" xmi:id="_yhSbyCysEe-4er9RFtOKtQ" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yhSbySysEe-4er9RFtOKtQ" x="2"/> + </children> + <children xmi:type="notation:Node" xmi:id="_yhTC0CysEe-4er9RFtOKtQ" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yhTC0SysEe-4er9RFtOKtQ" x="-3" y="-51"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_yhSbwyysEe-4er9RFtOKtQ" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_yhSbxCysEe-4er9RFtOKtQ" fontName="Segoe UI" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_yhSbxSysEe-4er9RFtOKtQ" points="[48, -27, 48, -27]$[48, -55, 48, -55]$[-15, -55, -15, -55]$[-15, -27, -15, -27]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yhTC0iysEe-4er9RFtOKtQ" id="(0.33783783783783783,0.5)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yhTC0yysEe-4er9RFtOKtQ" id="(0.33783783783783783,0.5)"/> + </edges> + </data> + </ownedAnnotationEntries> + <ownedAnnotationEntries xmi:type="description:AnnotationEntry" uid="_ygDFoCysEe-4er9RFtOKtQ" source="DANNOTATION_CUSTOMIZATION_KEY"> + <data xmi:type="diagram:ComputedStyleDescriptionRegistry" uid="_ygDFoSysEe-4er9RFtOKtQ"/> + </ownedAnnotationEntries> + <ownedDiagramElements xmi:type="diagram:DNode" uid="_yfV7ACysEe-4er9RFtOKtQ" name="initial" outgoingEdges="_yfym8CysEe-4er9RFtOKtQ" width="3" height="3"> + <target xmi:type="statemachine:InitialState" href="garagedoor.statemachine#initial"/> + <semanticElements xmi:type="statemachine:InitialState" href="garagedoor.statemachine#initial"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:Dot" uid="_yfaMcCysEe-4er9RFtOKtQ" labelSize="12" showIcon="false" backgroundColor="0,0,0"> + <description xmi:type="style:DotDescription" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@nodeMappings[name='Initial%20State']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@nodeMappings[name='Initial%20State']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNode" uid="_yfed4CysEe-4er9RFtOKtQ" name="final" incomingEdges="_yf9mECysEe-4er9RFtOKtQ" width="3" height="3"> + <target xmi:type="statemachine:FinalState" href="garagedoor.statemachine#final"/> + <semanticElements xmi:type="statemachine:FinalState" href="garagedoor.statemachine#final"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:Dot" uid="_yffE8CysEe-4er9RFtOKtQ" labelSize="12" showIcon="false" backgroundColor="209,209,209"> + <description xmi:type="style:DotDescription" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@nodeMappings[name='Final%20State']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@nodeMappings[name='Final%20State']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_yffsACysEe-4er9RFtOKtQ" name="Closed" outgoingEdges="_yf5UoCysEe-4er9RFtOKtQ _yf9mECysEe-4er9RFtOKtQ _yf-NIiysEe-4er9RFtOKtQ" incomingEdges="_yfym8CysEe-4er9RFtOKtQ _yf7J1CysEe-4er9RFtOKtQ _yf-NIiysEe-4er9RFtOKtQ"> + <target xmi:type="statemachine:NormalState" href="garagedoor.statemachine#Closed"/> + <semanticElements xmi:type="statemachine:NormalState" href="garagedoor.statemachine#Closed"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_yffsASysEe-4er9RFtOKtQ" labelSize="12" showIcon="false" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" backgroundColor="255,245,181" foregroundColor="255,245,181"> + <labelFormat>bold</labelFormat> + <description xmi:type="style:FlatContainerStyleDescription" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@containerMappings[name='Normal%20State']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@containerMappings[name='Normal%20State']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_yfg6ICysEe-4er9RFtOKtQ" name="Open" outgoingEdges="_yf6iwiysEe-4er9RFtOKtQ _yf_bQiysEe-4er9RFtOKtQ" incomingEdges="_yf57sCysEe-4er9RFtOKtQ _yf_bQiysEe-4er9RFtOKtQ"> + <target xmi:type="statemachine:NormalState" href="garagedoor.statemachine#Open"/> + <semanticElements xmi:type="statemachine:NormalState" href="garagedoor.statemachine#Open"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_yfg6ISysEe-4er9RFtOKtQ" labelSize="12" showIcon="false" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" backgroundColor="255,245,181" foregroundColor="255,245,181"> + <labelFormat>bold</labelFormat> + <description xmi:type="style:FlatContainerStyleDescription" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@containerMappings[name='Normal%20State']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@containerMappings[name='Normal%20State']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_yfhhMSysEe-4er9RFtOKtQ" name="Opening" outgoingEdges="_yf57sCysEe-4er9RFtOKtQ _yf8_ACysEe-4er9RFtOKtQ _ygBQcCysEe-4er9RFtOKtQ" incomingEdges="_yf5UoCysEe-4er9RFtOKtQ _yf8X8CysEe-4er9RFtOKtQ _ygBQcCysEe-4er9RFtOKtQ"> + <target xmi:type="statemachine:NormalState" href="garagedoor.statemachine#Opening"/> + <semanticElements xmi:type="statemachine:NormalState" href="garagedoor.statemachine#Opening"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_yfiIQCysEe-4er9RFtOKtQ" labelSize="12" showIcon="false" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" backgroundColor="255,245,181" foregroundColor="255,245,181"> + <labelFormat>bold</labelFormat> + <description xmi:type="style:FlatContainerStyleDescription" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@containerMappings[name='Normal%20State']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@containerMappings[name='Normal%20State']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_yfivUSysEe-4er9RFtOKtQ" name="Closing" outgoingEdges="_yf7J1CysEe-4er9RFtOKtQ _yf8X8CysEe-4er9RFtOKtQ _yf-0MiysEe-4er9RFtOKtQ" incomingEdges="_yf6iwiysEe-4er9RFtOKtQ _yf8_ACysEe-4er9RFtOKtQ _yf-0MiysEe-4er9RFtOKtQ"> + <target xmi:type="statemachine:NormalState" href="garagedoor.statemachine#Closing"/> + <semanticElements xmi:type="statemachine:NormalState" href="garagedoor.statemachine#Closing"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_yfjWYCysEe-4er9RFtOKtQ" labelSize="12" showIcon="false" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" backgroundColor="255,245,181" foregroundColor="255,245,181"> + <labelFormat>bold</labelFormat> + <description xmi:type="style:FlatContainerStyleDescription" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@containerMappings[name='Normal%20State']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@containerMappings[name='Normal%20State']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_yfkkgCysEe-4er9RFtOKtQ" name="State Machine: Garage Door" height="4"> + <target xmi:type="statemachine:StateMachine" href="garagedoor.statemachine#Garage Door"/> + <semanticElements xmi:type="statemachine:StateMachine" href="garagedoor.statemachine#Garage Door"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_yfsgUCysEe-4er9RFtOKtQ" labelSize="10" showIcon="false" borderColor="209,209,209" backgroundStyle="Liquid" backgroundColor="209,209,209"> + <labelFormat>bold</labelFormat> + <description xmi:type="style:FlatContainerStyleDescription" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@containerMappings[name='State%20Machine%20Label']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@containerMappings[name='State%20Machine%20Label']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_yfym8CysEe-4er9RFtOKtQ" sourceNode="_yfV7ACysEe-4er9RFtOKtQ" targetNode="_yffsACysEe-4er9RFtOKtQ"> + <target xmi:type="statemachine:Transition" href="garagedoor.statemachine#//@transitions.0"/> + <semanticElements xmi:type="statemachine:Transition" href="garagedoor.statemachine#//@transitions.0"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_yfzOACysEe-4er9RFtOKtQ" size="2" routingStyle="manhattan" strokeColor="0,0,0"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@edgeMappings[name='Transition']/@style"/> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_yfzOASysEe-4er9RFtOKtQ" showIcon="false"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@edgeMappings[name='Transition']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_yf5UoCysEe-4er9RFtOKtQ" name="openDoor / motor.upwards" sourceNode="_yffsACysEe-4er9RFtOKtQ" targetNode="_yfhhMSysEe-4er9RFtOKtQ"> + <target xmi:type="statemachine:Transition" href="garagedoor.statemachine#//@transitions.1"/> + <semanticElements xmi:type="statemachine:Transition" href="garagedoor.statemachine#//@transitions.1"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_yf5UoSysEe-4er9RFtOKtQ" size="2" routingStyle="manhattan" strokeColor="0,0,0"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@edgeMappings[name='Transition']/@style"/> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_yf5UoiysEe-4er9RFtOKtQ" showIcon="false"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@edgeMappings[name='Transition']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_yf57sCysEe-4er9RFtOKtQ" name=" [stopper] / motor.stop" sourceNode="_yfhhMSysEe-4er9RFtOKtQ" targetNode="_yfg6ICysEe-4er9RFtOKtQ"> + <target xmi:type="statemachine:Transition" href="garagedoor.statemachine#//@transitions.2"/> + <semanticElements xmi:type="statemachine:Transition" href="garagedoor.statemachine#//@transitions.2"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_yf57sSysEe-4er9RFtOKtQ" size="2" routingStyle="manhattan" strokeColor="0,0,0"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@edgeMappings[name='Transition']/@style"/> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_yf57siysEe-4er9RFtOKtQ" showIcon="false"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@edgeMappings[name='Transition']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_yf6iwiysEe-4er9RFtOKtQ" name="closeDoor / motor.downwards" sourceNode="_yfg6ICysEe-4er9RFtOKtQ" targetNode="_yfivUSysEe-4er9RFtOKtQ"> + <target xmi:type="statemachine:Transition" href="garagedoor.statemachine#//@transitions.3"/> + <semanticElements xmi:type="statemachine:Transition" href="garagedoor.statemachine#//@transitions.3"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_yf7J0CysEe-4er9RFtOKtQ" size="2" routingStyle="manhattan" strokeColor="0,0,0"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@edgeMappings[name='Transition']/@style"/> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_yf7J0SysEe-4er9RFtOKtQ" showIcon="false"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@edgeMappings[name='Transition']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_yf7J1CysEe-4er9RFtOKtQ" name=" [stopper] / motor.stop" sourceNode="_yfivUSysEe-4er9RFtOKtQ" targetNode="_yffsACysEe-4er9RFtOKtQ"> + <target xmi:type="statemachine:Transition" href="garagedoor.statemachine#//@transitions.4"/> + <semanticElements xmi:type="statemachine:Transition" href="garagedoor.statemachine#//@transitions.4"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_yf7w4CysEe-4er9RFtOKtQ" size="2" routingStyle="manhattan" strokeColor="0,0,0"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@edgeMappings[name='Transition']/@style"/> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_yf7w4SysEe-4er9RFtOKtQ" showIcon="false"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@edgeMappings[name='Transition']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_yf8X8CysEe-4er9RFtOKtQ" name="openDoor / motor.upwards" sourceNode="_yfivUSysEe-4er9RFtOKtQ" targetNode="_yfhhMSysEe-4er9RFtOKtQ"> + <target xmi:type="statemachine:Transition" href="garagedoor.statemachine#//@transitions.5"/> + <semanticElements xmi:type="statemachine:Transition" href="garagedoor.statemachine#//@transitions.5"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_yf8X8SysEe-4er9RFtOKtQ" size="2" routingStyle="manhattan" strokeColor="0,0,0"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@edgeMappings[name='Transition']/@style"/> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_yf8X8iysEe-4er9RFtOKtQ" showIcon="false"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@edgeMappings[name='Transition']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_yf8_ACysEe-4er9RFtOKtQ" name="closeDoor / motor.downwards" sourceNode="_yfhhMSysEe-4er9RFtOKtQ" targetNode="_yfivUSysEe-4er9RFtOKtQ"> + <target xmi:type="statemachine:Transition" href="garagedoor.statemachine#//@transitions.6"/> + <semanticElements xmi:type="statemachine:Transition" href="garagedoor.statemachine#//@transitions.6"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_yf8_ASysEe-4er9RFtOKtQ" size="2" routingStyle="manhattan" strokeColor="0,0,0"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@edgeMappings[name='Transition']/@style"/> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_yf8_AiysEe-4er9RFtOKtQ" showIcon="false"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@edgeMappings[name='Transition']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_yf9mECysEe-4er9RFtOKtQ" name=" [shutdown]" sourceNode="_yffsACysEe-4er9RFtOKtQ" targetNode="_yfed4CysEe-4er9RFtOKtQ"> + <target xmi:type="statemachine:Transition" href="garagedoor.statemachine#//@transitions.7"/> + <semanticElements xmi:type="statemachine:Transition" href="garagedoor.statemachine#//@transitions.7"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_yf9mESysEe-4er9RFtOKtQ" size="2" routingStyle="manhattan" strokeColor="0,0,0"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@edgeMappings[name='Transition']/@style"/> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_yf9mEiysEe-4er9RFtOKtQ" showIcon="false"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@edgeMappings[name='Transition']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_yf-NIiysEe-4er9RFtOKtQ" name="closeDoor" sourceNode="_yffsACysEe-4er9RFtOKtQ" targetNode="_yffsACysEe-4er9RFtOKtQ"> + <target xmi:type="statemachine:Transition" href="garagedoor.statemachine#//@transitions.8"/> + <semanticElements xmi:type="statemachine:Transition" href="garagedoor.statemachine#//@transitions.8"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_yf-NIyysEe-4er9RFtOKtQ" size="2" routingStyle="manhattan" strokeColor="0,0,0"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@edgeMappings[name='Transition']/@style"/> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_yf-NJCysEe-4er9RFtOKtQ" showIcon="false"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@edgeMappings[name='Transition']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_yf-0MiysEe-4er9RFtOKtQ" name="closeDoor" sourceNode="_yfivUSysEe-4er9RFtOKtQ" targetNode="_yfivUSysEe-4er9RFtOKtQ"> + <target xmi:type="statemachine:Transition" href="garagedoor.statemachine#//@transitions.9"/> + <semanticElements xmi:type="statemachine:Transition" href="garagedoor.statemachine#//@transitions.9"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_yf-0MyysEe-4er9RFtOKtQ" size="2" routingStyle="manhattan" strokeColor="0,0,0"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@edgeMappings[name='Transition']/@style"/> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_yf-0NCysEe-4er9RFtOKtQ" showIcon="false"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@edgeMappings[name='Transition']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_yf_bQiysEe-4er9RFtOKtQ" name="openDoor" sourceNode="_yfg6ICysEe-4er9RFtOKtQ" targetNode="_yfg6ICysEe-4er9RFtOKtQ"> + <target xmi:type="statemachine:Transition" href="garagedoor.statemachine#//@transitions.10"/> + <semanticElements xmi:type="statemachine:Transition" href="garagedoor.statemachine#//@transitions.10"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_ygACUCysEe-4er9RFtOKtQ" size="2" routingStyle="manhattan" strokeColor="0,0,0"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@edgeMappings[name='Transition']/@style"/> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_ygACUSysEe-4er9RFtOKtQ" showIcon="false"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@edgeMappings[name='Transition']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_ygBQcCysEe-4er9RFtOKtQ" name="openDoor" sourceNode="_yfhhMSysEe-4er9RFtOKtQ" targetNode="_yfhhMSysEe-4er9RFtOKtQ"> + <target xmi:type="statemachine:Transition" href="garagedoor.statemachine#//@transitions.11"/> + <semanticElements xmi:type="statemachine:Transition" href="garagedoor.statemachine#//@transitions.11"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_ygB3gCysEe-4er9RFtOKtQ" size="2" routingStyle="manhattan" strokeColor="0,0,0"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@edgeMappings[name='Transition']/@style"/> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_ygB3gSysEe-4er9RFtOKtQ" showIcon="false"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@edgeMappings[name='Transition']"/> + </ownedDiagramElements> + <description xmi:type="description_1:DiagramDescription" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']"/> + <filterVariableHistory xmi:type="diagram:FilterVariableHistory" uid="_ydW-ACysEe-4er9RFtOKtQ"/> + <activatedLayers xmi:type="description_1:Layer" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer"/> + <target xmi:type="statemachine:StateMachine" href="garagedoor.statemachine#Garage Door"/> + </diagram:DSemanticDiagram> + <diagram:DSemanticDiagram uid="_lERnkCytEe-4er9RFtOKtQ"> + <ownedAnnotationEntries xmi:type="description:AnnotationEntry" uid="_lEUq4CytEe-4er9RFtOKtQ" source="GMF_DIAGRAMS"> + <data xmi:type="notation:Diagram" xmi:id="_lEUq4SytEe-4er9RFtOKtQ" type="Sirius" element="_lERnkCytEe-4er9RFtOKtQ" measurementUnit="Pixel"> + <children xmi:type="notation:Node" xmi:id="_lEcmsCytEe-4er9RFtOKtQ" type="2001" element="_lEVR8CytEe-4er9RFtOKtQ"> + <children xmi:type="notation:Node" xmi:id="_lEdNwCytEe-4er9RFtOKtQ" type="5002"> + <layoutConstraint xmi:type="notation:Location" xmi:id="_lEdNwSytEe-4er9RFtOKtQ" x="-14" y="-33"/> + </children> + <children xmi:type="notation:Node" xmi:id="_lEgRECytEe-4er9RFtOKtQ" type="3002" element="_lEVR8SytEe-4er9RFtOKtQ"> + <styles xmi:type="notation:ShapeStyle" xmi:id="_lEgRESytEe-4er9RFtOKtQ" fontName="Segoe UI"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lEgREiytEe-4er9RFtOKtQ"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_lEcmsSytEe-4er9RFtOKtQ" fontName="Segoe UI" fontHeight="12"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lEcmsiytEe-4er9RFtOKtQ" x="581" y="150" width="30" height="30"/> + </children> + <children xmi:type="notation:Node" xmi:id="_lEeb4CytEe-4er9RFtOKtQ" type="2003" element="_lEV5ACytEe-4er9RFtOKtQ"> + <children xmi:type="notation:Node" xmi:id="_lEeb4yytEe-4er9RFtOKtQ" type="5007"/> + <children xmi:type="notation:Node" xmi:id="_lEfC8CytEe-4er9RFtOKtQ" type="7004"> + <children xmi:type="notation:Node" xmi:id="_lEg4ICytEe-4er9RFtOKtQ" type="3010" element="_lEWgESytEe-4er9RFtOKtQ"> + <styles xmi:type="notation:FontStyle" xmi:id="_lEg4ISytEe-4er9RFtOKtQ" fontName="Segoe UI" fontHeight="12"/> + <layoutConstraint xmi:type="notation:Location" xmi:id="_lEg4IiytEe-4er9RFtOKtQ"/> + </children> + <styles xmi:type="notation:SortingStyle" xmi:id="_lEfC8SytEe-4er9RFtOKtQ"/> + <styles xmi:type="notation:FilteringStyle" xmi:id="_lEfC8iytEe-4er9RFtOKtQ"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_lEeb4SytEe-4er9RFtOKtQ" fontName="Segoe UI" fontHeight="12" bold="true"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lEeb4iytEe-4er9RFtOKtQ" x="287" y="364"/> + </children> + <children xmi:type="notation:Node" xmi:id="_lEfC8yytEe-4er9RFtOKtQ" type="2003" element="_lEV5AyytEe-4er9RFtOKtQ"> + <children xmi:type="notation:Node" xmi:id="_lEfC9iytEe-4er9RFtOKtQ" type="5007"/> + <children xmi:type="notation:Node" xmi:id="_lEfC9yytEe-4er9RFtOKtQ" type="7004"> + <children xmi:type="notation:Node" xmi:id="_lEhfMCytEe-4er9RFtOKtQ" type="3010" element="_lEXuMCytEe-4er9RFtOKtQ"> + <styles xmi:type="notation:FontStyle" xmi:id="_lEhfMSytEe-4er9RFtOKtQ" fontName="Segoe UI" fontHeight="12"/> + <layoutConstraint xmi:type="notation:Location" xmi:id="_lEhfMiytEe-4er9RFtOKtQ"/> + </children> + <styles xmi:type="notation:SortingStyle" xmi:id="_lEfC-CytEe-4er9RFtOKtQ"/> + <styles xmi:type="notation:FilteringStyle" xmi:id="_lEfC-SytEe-4er9RFtOKtQ"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_lEfC9CytEe-4er9RFtOKtQ" fontName="Segoe UI" fontHeight="12" bold="true"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lEfC9SytEe-4er9RFtOKtQ" x="302" y="126" width="221"/> + </children> + <children xmi:type="notation:Node" xmi:id="_lEfqACytEe-4er9RFtOKtQ" type="2003" element="_lEYVQCytEe-4er9RFtOKtQ"> + <children xmi:type="notation:Node" xmi:id="_lEfqAyytEe-4er9RFtOKtQ" type="5007"/> + <children xmi:type="notation:Node" xmi:id="_lEfqBCytEe-4er9RFtOKtQ" type="7004"> + <styles xmi:type="notation:SortingStyle" xmi:id="_lEfqBSytEe-4er9RFtOKtQ"/> + <styles xmi:type="notation:FilteringStyle" xmi:id="_lEfqBiytEe-4er9RFtOKtQ"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_lEfqASytEe-4er9RFtOKtQ" fontName="Segoe UI" fontHeight="10" bold="true"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lEfqAiytEe-4er9RFtOKtQ" x="36" y="84" height="40"/> + </children> + <styles xmi:type="notation:DiagramStyle" xmi:id="_lEUq4iytEe-4er9RFtOKtQ"/> + <edges xmi:type="notation:Edge" xmi:id="_lEhfMyytEe-4er9RFtOKtQ" type="4001" element="_lEY8UCytEe-4er9RFtOKtQ" source="_lEcmsCytEe-4er9RFtOKtQ" target="_lEfC8yytEe-4er9RFtOKtQ"> + <children xmi:type="notation:Node" xmi:id="_lEiGQCytEe-4er9RFtOKtQ" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lEiGQSytEe-4er9RFtOKtQ" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_lEiGQiytEe-4er9RFtOKtQ" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lEiGQyytEe-4er9RFtOKtQ" x="-4" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_lEiGRCytEe-4er9RFtOKtQ" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lEiGRSytEe-4er9RFtOKtQ" x="-13" y="-10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_lEhfNCytEe-4er9RFtOKtQ" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_lEhfNSytEe-4er9RFtOKtQ" fontName="Segoe UI" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_lEhfNiytEe-4er9RFtOKtQ" points="[-15, 15, 176, -38]$[-75, 15, 116, -38]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_lEitUCytEe-4er9RFtOKtQ" id="(0.5,0.0)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_lEitUSytEe-4er9RFtOKtQ" id="(0.4703196347031963,1.0)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_lEitUiytEe-4er9RFtOKtQ" type="4001" element="_lEZjYCytEe-4er9RFtOKtQ" source="_lEfC8yytEe-4er9RFtOKtQ" target="_lEeb4CytEe-4er9RFtOKtQ"> + <children xmi:type="notation:Node" xmi:id="_lEjUYCytEe-4er9RFtOKtQ" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lEjUYSytEe-4er9RFtOKtQ" x="7" y="-39"/> + </children> + <children xmi:type="notation:Node" xmi:id="_lEjUYiytEe-4er9RFtOKtQ" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lEjUYyytEe-4er9RFtOKtQ" x="-3" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_lEjUZCytEe-4er9RFtOKtQ" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lEjUZSytEe-4er9RFtOKtQ" x="10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_lEitUyytEe-4er9RFtOKtQ" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_lEitVCytEe-4er9RFtOKtQ" fontName="Segoe UI" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_lEitVSytEe-4er9RFtOKtQ" points="[30, 39, 30, -199]$[30, 200, 30, -38]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_lEjUZiytEe-4er9RFtOKtQ" id="(0.4657534246575342,0.5)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_lEj7cCytEe-4er9RFtOKtQ" id="(0.5,0.5)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_lEj7cSytEe-4er9RFtOKtQ" type="4001" element="_lEaKcCytEe-4er9RFtOKtQ" source="_lEeb4CytEe-4er9RFtOKtQ" target="_lEfC8yytEe-4er9RFtOKtQ"> + <children xmi:type="notation:Node" xmi:id="_lEj7dSytEe-4er9RFtOKtQ" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lEj7diytEe-4er9RFtOKtQ" x="1" y="-24"/> + </children> + <children xmi:type="notation:Node" xmi:id="_lEj7dyytEe-4er9RFtOKtQ" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lEj7eCytEe-4er9RFtOKtQ" x="-10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_lEj7eSytEe-4er9RFtOKtQ" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lEj7eiytEe-4er9RFtOKtQ" x="-2" y="-4"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_lEj7ciytEe-4er9RFtOKtQ" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_lEj7cyytEe-4er9RFtOKtQ" fontName="Segoe UI" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_lEj7dCytEe-4er9RFtOKtQ" points="[-40, -38, -40, 200]$[-40, -199, -40, 39]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_lEkigCytEe-4er9RFtOKtQ" id="(0.5,0.5)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_lEkigSytEe-4er9RFtOKtQ" id="(0.4657534246575342,0.5)"/> + </edges> + </data> + </ownedAnnotationEntries> + <ownedAnnotationEntries xmi:type="description:AnnotationEntry" uid="_lEbYkCytEe-4er9RFtOKtQ" source="DANNOTATION_CUSTOMIZATION_KEY"> + <data xmi:type="diagram:ComputedStyleDescriptionRegistry" uid="_lEbYkSytEe-4er9RFtOKtQ"/> + </ownedAnnotationEntries> + <ownedDiagramElements xmi:type="diagram:DNode" uid="_lEVR8CytEe-4er9RFtOKtQ" name="initial" outgoingEdges="_lEY8UCytEe-4er9RFtOKtQ" width="3" height="3"> + <target xmi:type="statemachine:InitialState" href="switch.statemachine#initial"/> + <semanticElements xmi:type="statemachine:InitialState" href="switch.statemachine#initial"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:Dot" uid="_lEVR8SytEe-4er9RFtOKtQ" labelSize="12" showIcon="false" backgroundColor="0,0,0"> + <description xmi:type="style:DotDescription" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@nodeMappings[name='Initial%20State']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@nodeMappings[name='Initial%20State']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_lEV5ACytEe-4er9RFtOKtQ" name="on" outgoingEdges="_lEaKcCytEe-4er9RFtOKtQ" incomingEdges="_lEZjYCytEe-4er9RFtOKtQ"> + <target xmi:type="statemachine:NormalState" href="switch.statemachine#on"/> + <semanticElements xmi:type="statemachine:NormalState" href="switch.statemachine#on"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_lEV5ASytEe-4er9RFtOKtQ" labelSize="12" showIcon="false" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" backgroundColor="255,245,181" foregroundColor="255,245,181"> + <labelFormat>bold</labelFormat> + <description xmi:type="style:FlatContainerStyleDescription" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@containerMappings[name='Normal%20State']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@containerMappings[name='Normal%20State']"/> + <ownedElements xmi:type="diagram:DNodeListElement" uid="_lEWgESytEe-4er9RFtOKtQ" name="do/ do_something"> + <target xmi:type="statemachine:Action" href="switch.statemachine#//@states.0/@do_"/> + <semanticElements xmi:type="statemachine:Action" href="switch.statemachine#//@states.0/@do_"/> + <ownedStyle xmi:type="diagram:Square" uid="_lEXHICytEe-4er9RFtOKtQ" labelSize="12" showIcon="false" labelAlignment="LEFT" labelPosition="node" color="255,245,181"> + <description xmi:type="style:SquareDescription" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@containerMappings[name='Normal%20State']/@subNodeMappings[name='Do%20Activity']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@containerMappings[name='Normal%20State']/@subNodeMappings[name='Do%20Activity']"/> + </ownedElements> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_lEV5AyytEe-4er9RFtOKtQ" name="off" outgoingEdges="_lEZjYCytEe-4er9RFtOKtQ" incomingEdges="_lEY8UCytEe-4er9RFtOKtQ _lEaKcCytEe-4er9RFtOKtQ"> + <target xmi:type="statemachine:NormalState" href="switch.statemachine#off"/> + <semanticElements xmi:type="statemachine:NormalState" href="switch.statemachine#off"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_lEV5BCytEe-4er9RFtOKtQ" labelSize="12" showIcon="false" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" backgroundColor="255,245,181" foregroundColor="255,245,181"> + <labelFormat>bold</labelFormat> + <description xmi:type="style:FlatContainerStyleDescription" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@containerMappings[name='Normal%20State']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@containerMappings[name='Normal%20State']"/> + <ownedElements xmi:type="diagram:DNodeListElement" uid="_lEXuMCytEe-4er9RFtOKtQ" name="do/ do_nothing"> + <target xmi:type="statemachine:Action" href="switch.statemachine#//@states.1/@do_"/> + <semanticElements xmi:type="statemachine:Action" href="switch.statemachine#//@states.1/@do_"/> + <ownedStyle xmi:type="diagram:Square" uid="_lEXuMSytEe-4er9RFtOKtQ" labelSize="12" showIcon="false" labelAlignment="LEFT" labelPosition="node" color="255,245,181"> + <description xmi:type="style:SquareDescription" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@containerMappings[name='Normal%20State']/@subNodeMappings[name='Do%20Activity']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@containerMappings[name='Normal%20State']/@subNodeMappings[name='Do%20Activity']"/> + </ownedElements> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_lEYVQCytEe-4er9RFtOKtQ" name="State Machine: Switch" height="4"> + <target xmi:type="statemachine:StateMachine" href="switch.statemachine#Switch"/> + <semanticElements xmi:type="statemachine:StateMachine" href="switch.statemachine#Switch"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_lEYVQSytEe-4er9RFtOKtQ" labelSize="10" showIcon="false" borderColor="209,209,209" backgroundStyle="Liquid" backgroundColor="209,209,209"> + <labelFormat>bold</labelFormat> + <description xmi:type="style:FlatContainerStyleDescription" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@containerMappings[name='State%20Machine%20Label']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@containerMappings[name='State%20Machine%20Label']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_lEY8UCytEe-4er9RFtOKtQ" sourceNode="_lEVR8CytEe-4er9RFtOKtQ" targetNode="_lEV5AyytEe-4er9RFtOKtQ"> + <target xmi:type="statemachine:Transition" href="switch.statemachine#//@transitions.0"/> + <semanticElements xmi:type="statemachine:Transition" href="switch.statemachine#//@transitions.0"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_lEY8USytEe-4er9RFtOKtQ" size="2" routingStyle="manhattan" strokeColor="0,0,0"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@edgeMappings[name='Transition']/@style"/> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_lEY8UiytEe-4er9RFtOKtQ" showIcon="false"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@edgeMappings[name='Transition']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_lEZjYCytEe-4er9RFtOKtQ" name="flip" sourceNode="_lEV5AyytEe-4er9RFtOKtQ" targetNode="_lEV5ACytEe-4er9RFtOKtQ"> + <target xmi:type="statemachine:Transition" href="switch.statemachine#//@transitions.1"/> + <semanticElements xmi:type="statemachine:Transition" href="switch.statemachine#//@transitions.1"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_lEZjYSytEe-4er9RFtOKtQ" size="2" routingStyle="manhattan" strokeColor="0,0,0"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@edgeMappings[name='Transition']/@style"/> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_lEZjYiytEe-4er9RFtOKtQ" showIcon="false"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@edgeMappings[name='Transition']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_lEaKcCytEe-4er9RFtOKtQ" name="flip" sourceNode="_lEV5ACytEe-4er9RFtOKtQ" targetNode="_lEV5AyytEe-4er9RFtOKtQ"> + <target xmi:type="statemachine:Transition" href="switch.statemachine#//@transitions.2"/> + <semanticElements xmi:type="statemachine:Transition" href="switch.statemachine#//@transitions.2"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_lEaKcSytEe-4er9RFtOKtQ" size="2" routingStyle="manhattan" strokeColor="0,0,0"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@edgeMappings[name='Transition']/@style"/> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_lEaKciytEe-4er9RFtOKtQ" showIcon="false"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@edgeMappings[name='Transition']"/> + </ownedDiagramElements> + <description xmi:type="description_1:DiagramDescription" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']"/> + <filterVariableHistory xmi:type="diagram:FilterVariableHistory" uid="_lESOoCytEe-4er9RFtOKtQ"/> + <activatedLayers xmi:type="description_1:Layer" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer"/> + <target xmi:type="statemachine:StateMachine" href="switch.statemachine#Switch"/> + </diagram:DSemanticDiagram> +</xmi:XMI> diff --git a/domain_specific_language/graphical/examples-graphical/switch.statemachine b/domain_specific_language/graphical/examples-graphical/switch.statemachine new file mode 100644 index 0000000..adbc574 --- /dev/null +++ b/domain_specific_language/graphical/examples-graphical/switch.statemachine @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<statemachine:StateMachine xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:statemachine="http://www.swt.org/most/statemachine" name="Switch"> + <states name="on"> + <do_ content="do_something"/> + </states> + <states name="off"> + <do_ content="do_nothing"/> + </states> + <initialstate name="initial"/> + <transitions from="initial" to="off"/> + <transitions from="off" to="on"> + <trigger content="flip"/> + </transitions> + <transitions from="on" to="off"> + <trigger content="flip"/> + </transitions> +</statemachine:StateMachine> diff --git a/domain_specific_language/graphical/swt.most.petrinet.sirius/.classpath b/domain_specific_language/graphical/swt.most.petrinet.sirius/.classpath new file mode 100644 index 0000000..39810b7 --- /dev/null +++ b/domain_specific_language/graphical/swt.most.petrinet.sirius/.classpath @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="src" path="src"/> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> + <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> + <classpathentry kind="output" path="bin"/> +</classpath> diff --git a/domain_specific_language/graphical/swt.most.petrinet.sirius/.gitignore b/domain_specific_language/graphical/swt.most.petrinet.sirius/.gitignore new file mode 100644 index 0000000..ae3c172 --- /dev/null +++ b/domain_specific_language/graphical/swt.most.petrinet.sirius/.gitignore @@ -0,0 +1 @@ +/bin/ diff --git a/domain_specific_language/graphical/swt.most.petrinet.sirius/.project b/domain_specific_language/graphical/swt.most.petrinet.sirius/.project new file mode 100644 index 0000000..f634706 --- /dev/null +++ b/domain_specific_language/graphical/swt.most.petrinet.sirius/.project @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>swt.most.sirius.petrinet</name> + <comment></comment> + <projects></projects> + <buildSpec> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments></arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.pde.ManifestBuilder</name> + <arguments></arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.pde.SchemaBuilder</name> + <arguments></arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>org.eclipse.pde.PluginNature</nature> + <nature>org.eclipse.jdt.core.javanature</nature> + </natures> +</projectDescription> diff --git a/domain_specific_language/graphical/swt.most.petrinet.sirius/.settings/org.eclipse.core.resources.prefs b/domain_specific_language/graphical/swt.most.petrinet.sirius/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 0000000..99f26c0 --- /dev/null +++ b/domain_specific_language/graphical/swt.most.petrinet.sirius/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +encoding/<project>=UTF-8 diff --git a/domain_specific_language/graphical/swt.most.petrinet.sirius/META-INF/MANIFEST.MF b/domain_specific_language/graphical/swt.most.petrinet.sirius/META-INF/MANIFEST.MF new file mode 100644 index 0000000..9cfaac3 --- /dev/null +++ b/domain_specific_language/graphical/swt.most.petrinet.sirius/META-INF/MANIFEST.MF @@ -0,0 +1,16 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: %pluginName +Bundle-SymbolicName: swt.most.sirius.petrinet;singleton:=true +Bundle-Version: 1.0.0.qualifier +Bundle-Activator: swt.most.sirius.petrinet.Activator +Bundle-Localization: plugin +Require-Bundle: org.eclipse.ui, + org.eclipse.core.runtime, + org.eclipse.core.resources, + org.eclipse.sirius, + org.eclipse.sirius.common.acceleo.aql +Bundle-ActivationPolicy: lazy +Bundle-RequiredExecutionEnvironment: JavaSE-11 +Bundle-Vendor: %providerName +Automatic-Module-Name: swt.most.sirius.petrinet diff --git a/domain_specific_language/graphical/swt.most.petrinet.sirius/build.properties b/domain_specific_language/graphical/swt.most.petrinet.sirius/build.properties new file mode 100644 index 0000000..1ab7df2 --- /dev/null +++ b/domain_specific_language/graphical/swt.most.petrinet.sirius/build.properties @@ -0,0 +1,7 @@ +source.. = src/ +output.. = bin/ +bin.includes = META-INF/,\ + .,\ + description/,\ + plugin.properties,\ + plugin.xml diff --git a/domain_specific_language/graphical/swt.most.petrinet.sirius/description/petrinet.odesign b/domain_specific_language/graphical/swt.most.petrinet.sirius/description/petrinet.odesign new file mode 100644 index 0000000..cc81b6d --- /dev/null +++ b/domain_specific_language/graphical/swt.most.petrinet.sirius/description/petrinet.odesign @@ -0,0 +1,52 @@ +<?xml version="1.0" encoding="UTF-8"?> +<description:Group xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:description="http://www.eclipse.org/sirius/description/1.1.0" xmlns:description_1="http://www.eclipse.org/sirius/diagram/description/1.1.0" xmlns:style="http://www.eclipse.org/sirius/diagram/description/style/1.1.0" name="petrinet" version="12.0.0.2017041100"> + <ownedViewpoints name="Viewer" modelFileExtension="petrinet"> + <ownedRepresentations xsi:type="description_1:DiagramDescription" name="Petrinet Viewer" domainClass="petrinet::PetriNet" enablePopupBars="true"> + <metamodel href="http://www.example.org/petrinet#/"/> + <defaultLayer name="Default"> + <nodeMappings name="Place" semanticCandidatesExpression="feature:elements" domainClass="petrinet::Place"> + <borderedNodeMappings name="Token" semanticCandidatesExpression="feature:token" domainClass="petrinet::Token"> + <style xsi:type="style:DotDescription" labelSize="12" showIcon="false" labelExpression="''" labelAlignment="LEFT" sizeComputationExpression="2" labelPosition="node"> + <borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> + <labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> + <forbiddenSides>WEST</forbiddenSides> + <forbiddenSides>SOUTH</forbiddenSides> + <forbiddenSides>NORTH</forbiddenSides> + <backgroundColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> + </style> + </borderedNodeMappings> + <style xsi:type="style:DotDescription" borderSizeComputationExpression="1" labelSize="12" showIcon="false" labelExpression="feature:identifier" strokeSizeComputationExpression="3"> + <borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> + <labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> + <backgroundColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='light_yellow']"/> + </style> + </nodeMappings> + <nodeMappings name="Transition" semanticCandidatesExpression="feature:elements" domainClass="petrinet::Transition"> + <style xsi:type="style:SquareDescription" borderSizeComputationExpression="1" labelSize="12" showIcon="false" labelExpression="feature:identifier" width="2" height="6"> + <borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> + <labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> + <color xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='light_orange']"/> + </style> + </nodeMappings> + <edgeMappings name="IncomingArc" sourceMapping="//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@nodeMappings[name='Place']" targetMapping="//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@nodeMappings[name='Transition']" targetFinderExpression="feature:target" sourceFinderExpression="feature:source" domainClass="petrinet::IncomingArc" useDomainElement="true"> + <style sizeComputationExpression="2" routingStyle="manhattan"> + <strokeColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> + <centerLabelStyleDescription labelSize="12"> + <labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> + </centerLabelStyleDescription> + </style> + </edgeMappings> + <edgeMappings name="OutgoingArc" sourceMapping="//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@nodeMappings[name='Transition']" targetMapping="//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@nodeMappings[name='Place']" targetFinderExpression="feature:target" sourceFinderExpression="feature:source" domainClass="petrinet::OutgoingArc" useDomainElement="true"> + <style sizeComputationExpression="2" routingStyle="manhattan"> + <strokeColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> + <centerLabelStyleDescription labelSize="12"> + <labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> + </centerLabelStyleDescription> + </style> + </edgeMappings> + </defaultLayer> + <backgroundColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='light_gray']"/> + </ownedRepresentations> + <ownedJavaExtensions qualifiedClassName="swt.most.sirius.petrinet.Services"/> + </ownedViewpoints> +</description:Group> diff --git a/domain_specific_language/graphical/swt.most.petrinet.sirius/plugin.properties b/domain_specific_language/graphical/swt.most.petrinet.sirius/plugin.properties new file mode 100644 index 0000000..6ed7580 --- /dev/null +++ b/domain_specific_language/graphical/swt.most.petrinet.sirius/plugin.properties @@ -0,0 +1,3 @@ +pluginName = swt.most.sirius.petrinet +providerName = Eclipse Modeling Project +viewpointName = MyViewpoint diff --git a/domain_specific_language/graphical/swt.most.petrinet.sirius/plugin.xml b/domain_specific_language/graphical/swt.most.petrinet.sirius/plugin.xml new file mode 100644 index 0000000..1ba8bc6 --- /dev/null +++ b/domain_specific_language/graphical/swt.most.petrinet.sirius/plugin.xml @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="UTF-8"?> +<?eclipse version="3.0"?> +<plugin> + <extension point="org.eclipse.sirius.componentization"> + <component class="swt.most.sirius.petrinet.Activator" + id="swt.most.sirius.petrinet" + name="petrinet"> + </component> + </extension> +</plugin> diff --git a/domain_specific_language/graphical/swt.most.petrinet.sirius/src/swt/most/sirius/petrinet/Activator.java b/domain_specific_language/graphical/swt.most.petrinet.sirius/src/swt/most/sirius/petrinet/Activator.java new file mode 100644 index 0000000..a8dc249 --- /dev/null +++ b/domain_specific_language/graphical/swt.most.petrinet.sirius/src/swt/most/sirius/petrinet/Activator.java @@ -0,0 +1,66 @@ +package swt.most.sirius.petrinet; + +import java.util.HashSet; +import java.util.Set; + +import org.eclipse.sirius.business.api.componentization.ViewpointRegistry; +import org.eclipse.sirius.viewpoint.description.Viewpoint; +import org.eclipse.ui.plugin.AbstractUIPlugin; +import org.osgi.framework.BundleContext; + +/** + * The activator class controls the plug-in life cycle + */ +public class Activator extends AbstractUIPlugin { + // The plug-in ID + public static final String PLUGIN_ID = "swt.most.sirius.petrinet"; + + // The shared instance + private static Activator plugin; + + private static Set<Viewpoint> viewpoints; + + /** + * The constructor + */ + public Activator() { + } + + /* + * (non-Javadoc) + * + * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext) + */ + public void start(BundleContext context) throws Exception { + super.start(context); + plugin = this; + viewpoints = new HashSet<Viewpoint>(); + viewpoints.addAll(ViewpointRegistry.getInstance().registerFromPlugin(PLUGIN_ID + "/description/petrinet.odesign")); + } + + /* + * (non-Javadoc) + * + * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext) + */ + public void stop(BundleContext context) throws Exception { + plugin = null; + if (viewpoints != null) { + for (final Viewpoint viewpoint: viewpoints) { + ViewpointRegistry.getInstance().disposeFromPlugin(viewpoint); + } + viewpoints.clear(); + viewpoints = null; + } + super.stop(context); + } + + /** + * Returns the shared instance + * + * @return the shared instance + */ + public static Activator getDefault() { + return plugin; + } +} diff --git a/domain_specific_language/graphical/swt.most.petrinet.sirius/src/swt/most/sirius/petrinet/Services.java b/domain_specific_language/graphical/swt.most.petrinet.sirius/src/swt/most/sirius/petrinet/Services.java new file mode 100644 index 0000000..dd45d8d --- /dev/null +++ b/domain_specific_language/graphical/swt.most.petrinet.sirius/src/swt/most/sirius/petrinet/Services.java @@ -0,0 +1,17 @@ +package swt.most.sirius.petrinet; + +import org.eclipse.emf.ecore.EObject; + +/** + * The services class used by VSM. + */ +public class Services { + + /** + * See http://help.eclipse.org/neon/index.jsp?topic=%2Forg.eclipse.sirius.doc%2Fdoc%2Findex.html&cp=24 for documentation on how to write service methods. + */ + public EObject myService(EObject self, String arg) { + // TODO Auto-generated code + return self; + } +} diff --git a/domain_specific_language/graphical/swt.most.statemachine.sirius/.classpath b/domain_specific_language/graphical/swt.most.statemachine.sirius/.classpath new file mode 100644 index 0000000..39810b7 --- /dev/null +++ b/domain_specific_language/graphical/swt.most.statemachine.sirius/.classpath @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="src" path="src"/> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> + <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> + <classpathentry kind="output" path="bin"/> +</classpath> diff --git a/domain_specific_language/graphical/swt.most.statemachine.sirius/.gitignore b/domain_specific_language/graphical/swt.most.statemachine.sirius/.gitignore new file mode 100644 index 0000000..ae3c172 --- /dev/null +++ b/domain_specific_language/graphical/swt.most.statemachine.sirius/.gitignore @@ -0,0 +1 @@ +/bin/ diff --git a/domain_specific_language/graphical/swt.most.statemachine.sirius/.project b/domain_specific_language/graphical/swt.most.statemachine.sirius/.project new file mode 100644 index 0000000..eb60f9e --- /dev/null +++ b/domain_specific_language/graphical/swt.most.statemachine.sirius/.project @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>swt.most.sirius.statemachine</name> + <comment></comment> + <projects></projects> + <buildSpec> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments></arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.pde.ManifestBuilder</name> + <arguments></arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.pde.SchemaBuilder</name> + <arguments></arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>org.eclipse.pde.PluginNature</nature> + <nature>org.eclipse.jdt.core.javanature</nature> + </natures> +</projectDescription> diff --git a/domain_specific_language/graphical/swt.most.statemachine.sirius/.settings/org.eclipse.core.resources.prefs b/domain_specific_language/graphical/swt.most.statemachine.sirius/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 0000000..99f26c0 --- /dev/null +++ b/domain_specific_language/graphical/swt.most.statemachine.sirius/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +encoding/<project>=UTF-8 diff --git a/domain_specific_language/graphical/swt.most.statemachine.sirius/META-INF/MANIFEST.MF b/domain_specific_language/graphical/swt.most.statemachine.sirius/META-INF/MANIFEST.MF new file mode 100644 index 0000000..f0489cf --- /dev/null +++ b/domain_specific_language/graphical/swt.most.statemachine.sirius/META-INF/MANIFEST.MF @@ -0,0 +1,16 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: %pluginName +Bundle-SymbolicName: swt.most.sirius.statemachine;singleton:=true +Bundle-Version: 1.0.0.qualifier +Bundle-Activator: swt.most.sirius.statemachine.Activator +Bundle-Localization: plugin +Require-Bundle: org.eclipse.ui, + org.eclipse.core.runtime, + org.eclipse.core.resources, + org.eclipse.sirius, + org.eclipse.sirius.common.acceleo.aql +Bundle-ActivationPolicy: lazy +Bundle-RequiredExecutionEnvironment: JavaSE-11 +Bundle-Vendor: %providerName +Automatic-Module-Name: swt.most.sirius.statemachine diff --git a/domain_specific_language/graphical/swt.most.statemachine.sirius/build.properties b/domain_specific_language/graphical/swt.most.statemachine.sirius/build.properties new file mode 100644 index 0000000..1ab7df2 --- /dev/null +++ b/domain_specific_language/graphical/swt.most.statemachine.sirius/build.properties @@ -0,0 +1,7 @@ +source.. = src/ +output.. = bin/ +bin.includes = META-INF/,\ + .,\ + description/,\ + plugin.properties,\ + plugin.xml diff --git a/domain_specific_language/graphical/swt.most.statemachine.sirius/description/statemachine.odesign b/domain_specific_language/graphical/swt.most.statemachine.sirius/description/statemachine.odesign new file mode 100644 index 0000000..508c2f8 --- /dev/null +++ b/domain_specific_language/graphical/swt.most.statemachine.sirius/description/statemachine.odesign @@ -0,0 +1,292 @@ +<?xml version="1.0" encoding="UTF-8"?> +<description:Group xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:description="http://www.eclipse.org/sirius/description/1.1.0" xmlns:description_1="http://www.eclipse.org/sirius/diagram/description/1.1.0" xmlns:style="http://www.eclipse.org/sirius/diagram/description/style/1.1.0" xmlns:tool="http://www.eclipse.org/sirius/diagram/description/tool/1.1.0" xmlns:tool_1="http://www.eclipse.org/sirius/description/tool/1.1.0" name="statemachine" version="12.0.0.2017041100"> + <ownedViewpoints endUserDocumentation="Graphical editors for the models used in the exercise in the MOST course (TU Dresden, Computer Science)." name="gDSL" modelFileExtension="statemachine"> + <ownedRepresentations xsi:type="description_1:DiagramDescription" endUserDocumentation="This is an example graphical editor for state machines. Can be used for state machine models defined in the exercise of the MOST course (TU Dresden, Computer Science)." name="StateMachine" showOnStartup="true" domainClass="statemachine::StateMachine" preconditionExpression="var:self" enablePopupBars="true"> + <metamodel href="http://www.swt.org/most/statemachine#/"/> + <defaultLayer name="Default" label="Default View"> + <nodeMappings name="Initial State" deletionDescription="//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@toolSections.3/@subSections[name='Deletion']/@ownedTools[name='Delete%20Element%20with%20Transitions']" labelDirectEdit="//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@toolSections.3/@subSections[name='Label%20Edit']/@ownedTools[name='Initial%20State%20LE']" semanticCandidatesExpression="feature:initialstate" domainClass="statemachine::InitialState"> + <style xsi:type="style:DotDescription" labelSize="12" showIcon="false"> + <borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> + <labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> + <backgroundColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> + </style> + </nodeMappings> + <nodeMappings name="Final State" deletionDescription="//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@toolSections.3/@subSections[name='Deletion']/@ownedTools[name='Delete%20Element%20with%20Transitions']" labelDirectEdit="//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@toolSections.3/@subSections[name='Label%20Edit']/@ownedTools[name='Final%20State%20LE']" semanticCandidatesExpression="feature:finalstates" domainClass="statemachine::FinalState"> + <style xsi:type="style:DotDescription" labelSize="12" showIcon="false"> + <borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> + <labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> + <backgroundColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='light_gray']"/> + </style> + </nodeMappings> + <edgeMappings name="Transition" labelDirectEdit="//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@toolSections.3/@subSections[name='Label%20Edit']/@ownedTools[name='Transition%20LE']" semanticCandidatesExpression="feature:transitions" sourceMapping="//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@nodeMappings[name='Initial%20State'] //@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@containerMappings[name='Normal%20State']" targetMapping="//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@containerMappings[name='Normal%20State'] //@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@nodeMappings[name='Final%20State']" targetFinderExpression="feature:to" sourceFinderExpression="feature:from" domainClass="statemachine::Transition" useDomainElement="true"> + <style sizeComputationExpression="2" routingStyle="manhattan"> + <strokeColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> + <centerLabelStyleDescription showIcon="false" labelExpression="aql: if(self.trigger <> null then self.trigger.content else '' endif + if(self.guard <> null) then ' ['+ self.guard.content+']' else '' endif + if(self.action <> null)' / ' + self.action.content else '' endif "> + <labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> + </centerLabelStyleDescription> + </style> + </edgeMappings> + <containerMappings name="Normal State" deletionDescription="//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@toolSections.3/@subSections[name='Deletion']/@ownedTools[name='Delete%20Element%20with%20Transitions']" labelDirectEdit="//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@toolSections.3/@subSections[name='Label%20Edit']/@ownedTools[name='Normal%20State%20LE']" semanticCandidatesExpression="feature:states" domainClass="statemachine::NormalState" childrenPresentation="List"> + <subNodeMappings name="Entry Activity" labelDirectEdit="//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@toolSections.3/@subSections[name='Label%20Edit']/@ownedTools[name='Activity%20LE']" semanticCandidatesExpression="feature:entry_" domainClass="statemachine::Action"> + <style xsi:type="style:SquareDescription" labelSize="12" showIcon="false" labelExpression="aql:'entry/ ' + self.content" labelAlignment="LEFT" labelPosition="node" resizeKind="NSEW"> + <borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> + <labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> + <color xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='light_yellow']"/> + </style> + </subNodeMappings> + <subNodeMappings name="Do Activity" labelDirectEdit="//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@toolSections.3/@subSections[name='Label%20Edit']/@ownedTools[name='Activity%20LE']" semanticCandidatesExpression="feature:do_" domainClass="statemachine::Action"> + <style xsi:type="style:SquareDescription" labelSize="12" showIcon="false" labelExpression="aql:'do/ ' + self.content" labelAlignment="LEFT" labelPosition="node" resizeKind="NSEW"> + <borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> + <labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> + <color xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='light_yellow']"/> + </style> + </subNodeMappings> + <subNodeMappings name="Exit Activity" labelDirectEdit="//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@toolSections.3/@subSections[name='Label%20Edit']/@ownedTools[name='Activity%20LE']" semanticCandidatesExpression="feature:exit_" domainClass="statemachine::Action"> + <style xsi:type="style:SquareDescription" labelSize="12" showIcon="false" labelExpression="aql:'exit/ ' + self.content" labelAlignment="LEFT" labelPosition="node" resizeKind="NSEW"> + <borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> + <labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> + <color xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='light_yellow']"/> + </style> + </subNodeMappings> + <style xsi:type="style:FlatContainerStyleDescription" borderSizeComputationExpression="1" labelSize="12" showIcon="false" roundedCorner="true" backgroundStyle="Liquid"> + <borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> + <labelFormat>bold</labelFormat> + <labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> + <backgroundColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='light_yellow']"/> + <foregroundColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='light_yellow']"/> + </style> + </containerMappings> + <containerMappings name="State Machine Label" deletionDescription="//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@toolSections.3/@subSections[name='Deletion']/@ownedTools[name='No%20Model%20Delete']" labelDirectEdit="//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@toolSections.3/@subSections[name='Label%20Edit']/@ownedTools[name='State%20Machine%20LE']" semanticCandidatesExpression="aql:self" domainClass="statemachine::StateMachine" childrenPresentation="List"> + <style xsi:type="style:FlatContainerStyleDescription" labelSize="10" showIcon="false" labelExpression="aql:'State Machine: ' + self.name" roundedCorner="true" heightComputationExpression="4" backgroundStyle="Liquid"> + <borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='light_gray']"/> + <labelFormat>bold</labelFormat> + <labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> + <backgroundColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='light_gray']"/> + <foregroundColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='light_gray']"/> + </style> + </containerMappings> + <toolSections name="Element Creation" label="Elements"> + <ownedTools xsi:type="tool:NodeCreationDescription" name="Initial State" precondition="aql:self.initialstate == null" nodeMappings="//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@nodeMappings[name='Initial%20State']"> + <variable name="container"/> + <viewVariable name="containerView"/> + <initialOperation> + <firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="aql:self"> + <subModelOperations xsi:type="tool_1:CreateInstance" typeName="statemachine::InitialState" referenceName="initialstate"> + <subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="aql:'I_initial'"/> + </subModelOperations> + </firstModelOperations> + </initialOperation> + </ownedTools> + <ownedTools xsi:type="tool:ContainerCreationDescription" name="State" containerMappings="//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@containerMappings[name='Normal%20State']"> + <variable name="container"/> + <viewVariable name="containerView"/> + <initialOperation> + <firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="aql:self"> + <subModelOperations xsi:type="tool_1:CreateInstance" typeName="statemachine::NormalState" referenceName="states"> + <subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="aql:'State' + container.states->size()"/> + </subModelOperations> + </firstModelOperations> + </initialOperation> + </ownedTools> + <ownedTools xsi:type="tool:NodeCreationDescription" name="Final State" nodeMappings="//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@nodeMappings[name='Final%20State']"> + <variable name="container"/> + <viewVariable name="containerView"/> + <initialOperation> + <firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="aql:self"> + <subModelOperations xsi:type="tool_1:CreateInstance" typeName="statemachine::FinalState" referenceName="finalstates"> + <subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="aql:'F_final'+container.finalstates->size()"/> + </subModelOperations> + </firstModelOperations> + </initialOperation> + </ownedTools> + </toolSections> + <toolSections name="Activities Creation" label="Activities"> + <ownedTools xsi:type="tool:NodeCreationDescription" name="Entry" precondition="aql:container.entry_ == null" nodeMappings="//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@containerMappings[name='Normal%20State']/@subNodeMappings[name='Entry%20Activity']"> + <variable name="container"/> + <viewVariable name="containerView"/> + <initialOperation> + <firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="aql:self"> + <subModelOperations xsi:type="tool_1:CreateInstance" typeName="statemachine::Action" referenceName="entry_"> + <subModelOperations xsi:type="tool_1:SetValue" featureName="content" valueExpression="aql:'activity'"/> + </subModelOperations> + </firstModelOperations> + </initialOperation> + </ownedTools> + <ownedTools xsi:type="tool:NodeCreationDescription" name="Do" precondition="aql:container.do_ == null" forceRefresh="true" nodeMappings="//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@containerMappings[name='Normal%20State']/@subNodeMappings[name='Do%20Activity']"> + <variable name="container"/> + <viewVariable name="containerView"/> + <initialOperation> + <firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="aql:self"> + <subModelOperations xsi:type="tool_1:CreateInstance" typeName="statemachine::Action" referenceName="do_"> + <subModelOperations xsi:type="tool_1:SetValue" featureName="content" valueExpression="aql:'activity'"/> + </subModelOperations> + </firstModelOperations> + </initialOperation> + </ownedTools> + <ownedTools xsi:type="tool:NodeCreationDescription" name="Exit" precondition="aql:container.exit_ == null" nodeMappings="//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@containerMappings[name='Normal%20State']/@subNodeMappings[name='Exit%20Activity']"> + <variable name="container"/> + <viewVariable name="containerView"/> + <initialOperation> + <firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="aql:self"> + <subModelOperations xsi:type="tool_1:CreateInstance" typeName="statemachine::Action" referenceName="exit_"> + <subModelOperations xsi:type="tool_1:SetValue" featureName="content" valueExpression="aql:'activity'"/> + </subModelOperations> + </firstModelOperations> + </initialOperation> + </ownedTools> + </toolSections> + <toolSections name="Relationship Creation" label="Relationships"> + <ownedTools xsi:type="tool:EdgeCreationDescription" name="Transition" edgeMappings="//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@edgeMappings[name='Transition']"> + <sourceVariable name="source"/> + <targetVariable name="target"/> + <sourceViewVariable name="sourceView"/> + <targetViewVariable name="targetView"/> + <initialOperation> + <firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="aql:source.eContainer()"> + <subModelOperations xsi:type="tool_1:CreateInstance" typeName="statemachine::Transition" referenceName="transitions"> + <subModelOperations xsi:type="tool_1:SetValue" featureName="from" valueExpression="var:source"/> + <subModelOperations xsi:type="tool_1:SetValue" featureName="to" valueExpression="var:target"/> + </subModelOperations> + </firstModelOperations> + </initialOperation> + </ownedTools> + </toolSections> + <toolSections name="Edit Tools"> + <subSections documentation="For most elements we use the default delete functionality" name="Deletion"> + <ownedTools xsi:type="tool:DeleteElementDescription" documentation="Only there to forbid the deletion of the model itself.
For all other elements we use the default delete functionality" name="No Model Delete"> + <element name="element"/> + <elementView name="elementView"/> + <containerView name="containerView"/> + <initialOperation/> + </ownedTools> + <ownedTools xsi:type="tool:DeleteElementDescription" name="Delete Element with Transitions"> + <element name="element"/> + <elementView name="elementView"/> + <containerView name="containerView"/> + <initialOperation> + <firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="aql:self.eContainer()"> + <subModelOperations xsi:type="tool_1:For" expression="aql:self.transitions"> + <subModelOperations xsi:type="tool_1:If" conditionExpression="aql: (i.from == element) or (i.to == element)"> + <subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:i"> + <subModelOperations xsi:type="tool_1:RemoveElement"/> + </subModelOperations> + </subModelOperations> + </subModelOperations> + <subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:element"> + <subModelOperations xsi:type="tool_1:RemoveElement"/> + </subModelOperations> + </firstModelOperations> + </initialOperation> + </ownedTools> + </subSections> + <subSections name="Label Edit"> + <ownedTools xsi:type="tool:DirectEditLabel" name="State Machine LE" inputLabelExpression="aql:self.identifier"> + <mask mask="{0}"/> + <initialOperation> + <firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="aql:self"> + <subModelOperations xsi:type="tool_1:SetValue" featureName="identifier" valueExpression="var:0"/> + </firstModelOperations> + </initialOperation> + </ownedTools> + <ownedTools xsi:type="tool:DirectEditLabel" name="Normal State LE" inputLabelExpression="aql:self.name"> + <mask mask="{0}"/> + <initialOperation> + <firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="aql:self"> + <subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="var:0"/> + </firstModelOperations> + </initialOperation> + </ownedTools> + <ownedTools xsi:type="tool:DirectEditLabel" name="Initial State LE" inputLabelExpression="aql:self.name"> + <mask mask="{0}"/> + <initialOperation> + <firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="aql:self"> + <subModelOperations xsi:type="tool_1:If" conditionExpression="aql: arg0.startsWith('I_')"> + <subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="var:0"/> + </subModelOperations> + <subModelOperations xsi:type="tool_1:If" conditionExpression="aql: not arg0.startsWith('I_')"> + <subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="aql: 'I_' + arg0"/> + </subModelOperations> + </firstModelOperations> + </initialOperation> + </ownedTools> + <ownedTools xsi:type="tool:DirectEditLabel" name="Final State LE" inputLabelExpression="aql:self.name"> + <mask mask="{0}"/> + <initialOperation> + <firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="aql:self"> + <subModelOperations xsi:type="tool_1:If" conditionExpression="aql: arg0.startsWith('F_')"> + <subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="var:0"/> + </subModelOperations> + <subModelOperations xsi:type="tool_1:If" conditionExpression="aql: not arg0.startsWith('F_')"> + <subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="aql: 'F_' + arg0"/> + </subModelOperations> + </firstModelOperations> + </initialOperation> + </ownedTools> + <ownedTools xsi:type="tool:DirectEditLabel" name="Activity LE" inputLabelExpression="feature:content"> + <mask mask="{0}"/> + <initialOperation> + <firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="aql:self"> + <subModelOperations xsi:type="tool_1:SetValue" featureName="content" valueExpression="var:0"/> + </firstModelOperations> + </initialOperation> + </ownedTools> + <ownedTools xsi:type="tool:DirectEditLabel" name="Transition LE" inputLabelExpression="aql: self.trigger.content + ' [ '+ self.guard.content + ' ] ' + '/ ' + self.action.content"> + <mask mask="{0}[{1}] /{2}"/> + <initialOperation> + <firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="aql:self"> + <subModelOperations xsi:type="tool_1:If" conditionExpression="aql: (arg0 == null) or (arg0.trim().size() == 0)"> + <subModelOperations xsi:type="tool_1:Unset" featureName="trigger"/> + </subModelOperations> + <subModelOperations xsi:type="tool_1:If" conditionExpression="aql: (arg1 == null) or (arg1.trim().size() == 0)"> + <subModelOperations xsi:type="tool_1:Unset" featureName="guard"/> + </subModelOperations> + <subModelOperations xsi:type="tool_1:If" conditionExpression="aql: (arg2 == null) or (arg2.trim().size() == 0)"> + <subModelOperations xsi:type="tool_1:Unset" featureName="action"/> + </subModelOperations> + <subModelOperations xsi:type="tool_1:If" conditionExpression="aql: (arg0 <> null) and (arg0.trim().size() <> 0)"> + <subModelOperations xsi:type="tool_1:If" conditionExpression="aql:self.trigger <> null "> + <subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="feature:trigger"> + <subModelOperations xsi:type="tool_1:SetValue" featureName="content" valueExpression="aql:arg0.trim()"/> + </subModelOperations> + </subModelOperations> + <subModelOperations xsi:type="tool_1:If" conditionExpression="aql:self.trigger == null "> + <subModelOperations xsi:type="tool_1:CreateInstance" typeName="statemachine::Trigger" referenceName="trigger"> + <subModelOperations xsi:type="tool_1:SetValue" featureName="content" valueExpression="aql:arg0.trim()"/> + </subModelOperations> + </subModelOperations> + </subModelOperations> + <subModelOperations xsi:type="tool_1:If" conditionExpression="aql: (arg1 <> null) and (arg1.trim().size() <> 0)"> + <subModelOperations xsi:type="tool_1:If" conditionExpression="aql:self.guard <> null "> + <subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="feature:guard"> + <subModelOperations xsi:type="tool_1:SetValue" featureName="content" valueExpression="aql:arg1.trim()"/> + </subModelOperations> + </subModelOperations> + <subModelOperations xsi:type="tool_1:If" conditionExpression="aql:self.guard == null "> + <subModelOperations xsi:type="tool_1:CreateInstance" typeName="statemachine::Guard" referenceName="guard"> + <subModelOperations xsi:type="tool_1:SetValue" featureName="content" valueExpression="aql:arg1.trim()"/> + </subModelOperations> + </subModelOperations> + </subModelOperations> + <subModelOperations xsi:type="tool_1:If" conditionExpression="aql: (arg2 <> null) and (arg2.trim().size() <> 0)"> + <subModelOperations xsi:type="tool_1:If" conditionExpression="aql:self.action <> null "> + <subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="feature:action"> + <subModelOperations xsi:type="tool_1:SetValue" featureName="content" valueExpression="aql:arg2.trim()"/> + </subModelOperations> + </subModelOperations> + <subModelOperations xsi:type="tool_1:If" conditionExpression="aql:self.action == null "> + <subModelOperations xsi:type="tool_1:CreateInstance" typeName="statemachine::Action" referenceName="action"> + <subModelOperations xsi:type="tool_1:SetValue" featureName="content" valueExpression="aql:arg2.trim()"/> + </subModelOperations> + </subModelOperations> + </subModelOperations> + </firstModelOperations> + </initialOperation> + </ownedTools> + </subSections> + </toolSections> + </defaultLayer> + <backgroundColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='light_gray']"/> + </ownedRepresentations> + <ownedJavaExtensions qualifiedClassName="swt.most.sirius.statemachine.Services"/> + </ownedViewpoints> +</description:Group> diff --git a/domain_specific_language/graphical/swt.most.statemachine.sirius/plugin.properties b/domain_specific_language/graphical/swt.most.statemachine.sirius/plugin.properties new file mode 100644 index 0000000..70e2607 --- /dev/null +++ b/domain_specific_language/graphical/swt.most.statemachine.sirius/plugin.properties @@ -0,0 +1,3 @@ +pluginName = swt.most.sirius.statemachine +providerName = Eclipse Modeling Project +viewpointName = MyViewpoint diff --git a/domain_specific_language/graphical/swt.most.statemachine.sirius/plugin.xml b/domain_specific_language/graphical/swt.most.statemachine.sirius/plugin.xml new file mode 100644 index 0000000..2179238 --- /dev/null +++ b/domain_specific_language/graphical/swt.most.statemachine.sirius/plugin.xml @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="UTF-8"?> +<?eclipse version="3.0"?> +<plugin> + <extension point="org.eclipse.sirius.componentization"> + <component class="swt.most.sirius.statemachine.Activator" + id="swt.most.sirius.statemachine" + name="statemachine"> + </component> + </extension> +</plugin> diff --git a/domain_specific_language/graphical/swt.most.statemachine.sirius/src/swt/most/sirius/statemachine/Activator.java b/domain_specific_language/graphical/swt.most.statemachine.sirius/src/swt/most/sirius/statemachine/Activator.java new file mode 100644 index 0000000..eed533c --- /dev/null +++ b/domain_specific_language/graphical/swt.most.statemachine.sirius/src/swt/most/sirius/statemachine/Activator.java @@ -0,0 +1,66 @@ +package swt.most.sirius.statemachine; + +import java.util.HashSet; +import java.util.Set; + +import org.eclipse.sirius.business.api.componentization.ViewpointRegistry; +import org.eclipse.sirius.viewpoint.description.Viewpoint; +import org.eclipse.ui.plugin.AbstractUIPlugin; +import org.osgi.framework.BundleContext; + +/** + * The activator class controls the plug-in life cycle + */ +public class Activator extends AbstractUIPlugin { + // The plug-in ID + public static final String PLUGIN_ID = "swt.most.sirius.statemachine"; + + // The shared instance + private static Activator plugin; + + private static Set<Viewpoint> viewpoints; + + /** + * The constructor + */ + public Activator() { + } + + /* + * (non-Javadoc) + * + * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext) + */ + public void start(BundleContext context) throws Exception { + super.start(context); + plugin = this; + viewpoints = new HashSet<Viewpoint>(); + viewpoints.addAll(ViewpointRegistry.getInstance().registerFromPlugin(PLUGIN_ID + "/description/statemachine.odesign")); + } + + /* + * (non-Javadoc) + * + * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext) + */ + public void stop(BundleContext context) throws Exception { + plugin = null; + if (viewpoints != null) { + for (final Viewpoint viewpoint: viewpoints) { + ViewpointRegistry.getInstance().disposeFromPlugin(viewpoint); + } + viewpoints.clear(); + viewpoints = null; + } + super.stop(context); + } + + /** + * Returns the shared instance + * + * @return the shared instance + */ + public static Activator getDefault() { + return plugin; + } +} diff --git a/domain_specific_language/graphical/swt.most.statemachine.sirius/src/swt/most/sirius/statemachine/Services.java b/domain_specific_language/graphical/swt.most.statemachine.sirius/src/swt/most/sirius/statemachine/Services.java new file mode 100644 index 0000000..4d22d42 --- /dev/null +++ b/domain_specific_language/graphical/swt.most.statemachine.sirius/src/swt/most/sirius/statemachine/Services.java @@ -0,0 +1,17 @@ +package swt.most.sirius.statemachine; + +import org.eclipse.emf.ecore.EObject; + +/** + * The services class used by VSM. + */ +public class Services { + + /** + * See http://help.eclipse.org/neon/index.jsp?topic=%2Forg.eclipse.sirius.doc%2Fdoc%2Findex.html&cp=24 for documentation on how to write service methods. + */ + public EObject myService(EObject self, String arg) { + // TODO Auto-generated code + return self; + } +} diff --git a/domain_specific_language/textual/runtime/examples-xtext/.project b/domain_specific_language/textual/runtime/examples-xtext/.project new file mode 100644 index 0000000..4216607 --- /dev/null +++ b/domain_specific_language/textual/runtime/examples-xtext/.project @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>examples-xtext</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>org.eclipse.xtext.ui.shared.xtextBuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>org.eclipse.xtext.ui.shared.xtextNature</nature> + </natures> +</projectDescription> diff --git a/domain_specific_language/textual/runtime/examples-xtext/garagedoor.statemachine b/domain_specific_language/textual/runtime/examples-xtext/garagedoor.statemachine new file mode 100644 index 0000000..7a30418 --- /dev/null +++ b/domain_specific_language/textual/runtime/examples-xtext/garagedoor.statemachine @@ -0,0 +1,33 @@ +StateMachine "Garage Door"{ + + start I_initial + end F_final + + state Open + state Opening + state Closed + state Closing + + I_initial --> Closed + Closed --> F_final + + Closed - openDoor / motor.upwards -> Opening + Opening - stopper /motor.stop-> Open + Open - closeDoor / motor.downwards -> Closing + Closing - stopper /motor.stop -> Closed + + Opening - closeDoor / motor.downwards -> Closing + Closing - openDoor / motor.upwards -> Opening + + + Open - openDoor-> Open + Opening - openDoor -> Opening + + Closed - closeDoor -> Closed + Closing - closeDoor-> Closing + + //Error + //F_final --> Closed + //Closed --> I_initial + +} \ No newline at end of file diff --git a/domain_specific_language/textual/runtime/examples-xtext/switch.statemachine b/domain_specific_language/textual/runtime/examples-xtext/switch.statemachine new file mode 100644 index 0000000..88eaecf --- /dev/null +++ b/domain_specific_language/textual/runtime/examples-xtext/switch.statemachine @@ -0,0 +1,10 @@ +StateMachine Switch{ + + start I_initial + state on{ do: do_something } + state off{ do: do_nothing } + + I_initial --> off + off - flip -> on + on - flip -> off +} \ No newline at end of file diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/.classpath b/domain_specific_language/textual/swt.most.statemachine.xtext/.classpath new file mode 100644 index 0000000..4e12da8 --- /dev/null +++ b/domain_specific_language/textual/swt.most.statemachine.xtext/.classpath @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> + <classpathentry kind="src" path="swt.most.xtext.statemachine/src"/> + <classpathentry kind="src" path="swt.most.xtext.statemachine/src-gen"/> + <classpathentry kind="src" path="swt.most.xtext.statemachine/xtend-gen"/> + <classpathentry kind="src" path="swt.most.xtext.statemachine.ide/src"/> + <classpathentry kind="src" path="swt.most.xtext.statemachine.ide/src-gen"/> + <classpathentry kind="src" path="swt.most.xtext.statemachine.tests/src-gen"/> + <classpathentry kind="src" path="swt.most.xtext.statemachine.tests/xtend-gen"/> + <classpathentry kind="src" path="swt.most.xtext.statemachine.ui/src"/> + <classpathentry kind="src" path="swt.most.xtext.statemachine.ui/src-gen"/> + <classpathentry kind="src" path="swt.most.xtext.statemachine.ui.tests/src-gen"/> + <classpathentry kind="lib" path="swt.most.xtext.statemachine/.antlr-generator-3.2.0-patch.jar"/> + <classpathentry kind="output" path="swt.most.xtext.statemachine/bin"/> +</classpath> diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/.project b/domain_specific_language/textual/swt.most.statemachine.xtext/.project new file mode 100644 index 0000000..1467100 --- /dev/null +++ b/domain_specific_language/textual/swt.most.statemachine.xtext/.project @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>swt.most.xtext.statemachine</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>org.eclipse.xtext.ui.shared.xtextBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>org.eclipse.jdt.core.javanature</nature> + <nature>org.eclipse.xtext.ui.shared.xtextNature</nature> + </natures> +</projectDescription> diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ide/.classpath b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ide/.classpath new file mode 100644 index 0000000..7994b69 --- /dev/null +++ b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ide/.classpath @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="src" path="src"/> + <classpathentry kind="src" path="src-gen"/> + <classpathentry kind="src" path="xtend-gen"/> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-21"/> + <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> + <classpathentry kind="output" path="bin"/> +</classpath> diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ide/.project b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ide/.project new file mode 100644 index 0000000..3a5c187 --- /dev/null +++ b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ide/.project @@ -0,0 +1,34 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>swt.most.statemachine.xtext.ide</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>org.eclipse.xtext.ui.shared.xtextBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.pde.ManifestBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.pde.SchemaBuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>org.eclipse.xtext.ui.shared.xtextNature</nature> + <nature>org.eclipse.jdt.core.javanature</nature> + <nature>org.eclipse.pde.PluginNature</nature> + </natures> +</projectDescription> diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ide/.settings/org.eclipse.core.resources.prefs b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ide/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 0000000..99f26c0 --- /dev/null +++ b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ide/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +encoding/<project>=UTF-8 diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ide/.settings/org.eclipse.jdt.core.prefs b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ide/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..3a79233 --- /dev/null +++ b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ide/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,10 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=21 +org.eclipse.jdt.core.compiler.compliance=21 +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning +org.eclipse.jdt.core.compiler.release=enabled +org.eclipse.jdt.core.compiler.source=21 diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ide/META-INF/MANIFEST.MF b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ide/META-INF/MANIFEST.MF new file mode 100644 index 0000000..c67d605 --- /dev/null +++ b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ide/META-INF/MANIFEST.MF @@ -0,0 +1,16 @@ +Manifest-Version: 1.0 +Automatic-Module-Name: swt.most.statemachine.xtext.ide +Bundle-ManifestVersion: 2 +Bundle-Name: swt.most.statemachine.xtext.ide +Bundle-Vendor: My Company +Bundle-Version: 1.0.0.qualifier +Bundle-SymbolicName: swt.most.statemachine.xtext.ide; singleton:=true +Bundle-ActivationPolicy: lazy +Require-Bundle: swt.most.statemachine.xtext, + swt.most.statemachine, + org.eclipse.xtext.ide, + org.eclipse.xtext.xbase.ide, + org.antlr.runtime;bundle-version="[3.2.0,3.2.1)" +Bundle-RequiredExecutionEnvironment: JavaSE-21 +Export-Package: swt.most.statemachine.xtext.ide.contentassist.antlr, + swt.most.statemachine.xtext.ide.contentassist.antlr.internal diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ide/bin/META-INF/services/org.eclipse.xtext.ISetup b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ide/bin/META-INF/services/org.eclipse.xtext.ISetup new file mode 100644 index 0000000..34f9d12 --- /dev/null +++ b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ide/bin/META-INF/services/org.eclipse.xtext.ISetup @@ -0,0 +1 @@ +swt.most.statemachine.xtext.ide.ParserIdeSetup diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ide/bin/swt/most/statemachine/xtext/ide/AbstractParserIdeModule.class b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ide/bin/swt/most/statemachine/xtext/ide/AbstractParserIdeModule.class new file mode 100644 index 0000000000000000000000000000000000000000..81ebcb02af551e548fca96baf762687c95d9238a GIT binary patch literal 2753 zcmX^0Z`VEs1_nn4KXwKtMh5fZ@)G^r{NfV*;*!LY)ZE16jLf`L{fd&*iW2?IlvI7k zq~emI#N?8I#G>NVBF~gm-~5!)oK$uO7DfiO{GxRI)a0DZf?{MXE~#mWr8y;VwTujG zHko;uC3cJq%o>_uj0`N!`6;Pf49pCiJPfQ1Y>W*2KACx`ex<odsYM})Nja&E3_?En z$%#2(iA9+pK2(sUBqOt!k-^f3Oh;QYGDs)q=cQ$)mlmZu=jWBA=9M@W7iSii_@q{( z7BMo&YWO7Q=jx~D=cnhS>SyL<r6!l?J7wmjq!w9ghOsjUGBVg>_j77WW=VdLelo<+ zM6jXyiFqYCMf#a}C8<Sui8=aUOSl<?8ARC`L>L()a9PE}AjTlh$iR}6nU})I;Hu%1 zl~|UjpOcuEuJ4?aSX^waiN%#5#i>R5j(K_cpomNXxjHj1-KjJ)2jqHo21%Up1$LKb zN-9)KF$aS*BZF^#QMw*9ZuP*)L9aAZ58_Qd6mRN*y{QNDrXJWhJ!gNv5LdsDc*o#i z&)^U)23ZDqb_O{{1{q9W=OyN*>iZ?;rWW%sC@?58GO&U~QWzPGki8yUQk0pOj@9oV z<zNF+thpJK8C2OBR2UfyFfGC#Mm!8^4C;&wyos<N49_gdU}OkFb_7%|Gd~X&(wX^r zSltA*%O^80I~6lBG#MEJ2qj{aKt@kXp3p=E$(G<C=Vs7m&}C=PVPw$7>2++*;bG8Y z&}U>|D#>SLa6<Mh!NeAvoL_+9IYtIHh~F6*q_Ct@P$Ek$vSwtE0IBjs$%PQlFfs^h zXkw&!Mh4E{%=Em(lG377Muu2S6*k&FBxg-*)?3?Ivon}8GB}VEKM)^4NJa)}uonZ0 z@(c2d6LXyN^U`uMlS@2Oa|%F(O%$bm@WgI1*aOy#45SB#BdEN>ZYU#z5Y#iNX_*zi zi6zMyAU_0B!4F6Vf}L*9$Y4!EOu7a71r#Bf!N?#Cc4<&5s8|S2Eh@`QPBmg=@Fu~j z#i>PQsYUulU?cQBQH=sS(wULL2)iRu^`dHJWDr4iTS-x3Nosnf5hH^a363jDO-oEJ z$p@8&aHqjc0=vzfk--kT+wf^sfmPeN1v!iiT*3LJMaijdnV`y821g@64^%NRGVplj z<)s#ZON-QEb_O4uL4(hFMh0#q2e2qIFfuSRfB-uKBdC$Uz{tSPz`&r-z{tSJz`($& zwVi=uBLf2i69X3m0|OgaP>O+@fq{Vs%w}caVc=z8U|?k6W8jBsj%HwDU}9ikkk%Fw z*vTNo#2_TKgF$8|gAx;ikj731EhdI=gpooFEDQ_`ats^{@(e-@3Jg*VieTf#AVxrq zXJC+KFkmnQyUK{cn1PAG1nekNuxoX};tUMTLS`Gl!U(sjf(?VXl^JRnBZCE!5te91 zSfLxCh1CcfBqMCmjIcvDLLaLU4oF5gq8Z_YZiER|BV3S-a78o14c!P!EJiRfcz{F9 VlfjFDfq{#Gk-?3@o57cX69Cog5hwrv literal 0 HcmV?d00001 diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ide/bin/swt/most/statemachine/xtext/ide/ParserIdeModule.class b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ide/bin/swt/most/statemachine/xtext/ide/ParserIdeModule.class new file mode 100644 index 0000000000000000000000000000000000000000..99c38bc0c4df78be9a4b6f37dd95ecc0fca99289 GIT binary patch literal 373 zcmX^0Z`VEs1_nn40d@u^Mh5-j@)G^r{NfV*;*!LY)ZE16jLf`L{fd&*iW2?IlvMqI z#G>NVBF~gm-~5!)oK$uO7DfhhLYf?tic5+TlS|MvGcvH*Waed-*fBCNYiNcsGO#%3 zr=)T*Ff(xSFt9SPF*5M`Wag#%mF6a;7KJ1x<)kt)2>IkEC+37D7G;9?P(hZGjLc$2 z216f04ncE(H6sI8aDHh~a;jS<$Z!!fdA+Q}vP1?&21W*E1`uFmU<A2~fsuiofq_Av z0mNruVAa~rz_F2mfq{vEi-CcGje(JYfq{#Gn}LCW2h3(=;9=lpU|?Wm-~+4T2LLbW BV1EDr literal 0 HcmV?d00001 diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ide/bin/swt/most/statemachine/xtext/ide/ParserIdeSetup.class b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ide/bin/swt/most/statemachine/xtext/ide/ParserIdeSetup.class new file mode 100644 index 0000000000000000000000000000000000000000..21a6ae48ae09386828a2130bbbd680fdcd744195 GIT binary patch literal 866 zcmX^0Z`VEs1_nn4Rdxm@Mh3m&@)G^r{NfV*;*!LY)ZE16jLf`L{fd&*iW2?IlvMqI z#G>NVBF~i6;M9`R0(J%#Mg~KCdLZh9OA_-^5_9tNAleui*laTMGE3|j8JIOR!x$M@ zobyvsxfqxkIC&UY8Q2&Z_<b_-QvFJElTwR95|eUL85x9p@{<#D!V-%zL42qnOG!p% zF(ZS44?ZVgI@_9&fiJlzHL)bsGcPMOxg@`ckwH#F(<eDUS3f;JKRqW^KNBpW50kfM zXAop$kib;no1apelgiE@%*ddR&k>Mt2rA7h$;?fKXyRfJV&G(F5F?-y#rZIuq70l| z43Z4e><m(j4D$I!>H4Y3Ihh5;u&636$;{D*C@wbQVUS^vWn^H@&8*1GV`MPbh{obm zh+=DOfdG}_VvuK0WM@!dWDv&;2lvv<<WwF8J_aR521`;cfQK?816Oc<X;E^jTP7&Z zg(0B^OKo~tiDiiliVTbl%nTsF#J~tjEewnd><kPH`V5Q=j0_A6tXkU{I5sjcFfcK2 zF)%Q&fd%;)xEUB2c))B{1|9}p1_lO320jLUsOA6$4zQdW%U%Y7NM=?rxtl>Kayx@a ka3sra2GPjv4C28%7$kysFvx8{GhG<TbTzo?%3xJ003I6ZxBvhE literal 0 HcmV?d00001 diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ide/bin/swt/most/statemachine/xtext/ide/contentassist/antlr/ParserParser$NameMappings.class b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ide/bin/swt/most/statemachine/xtext/ide/contentassist/antlr/ParserParser$NameMappings.class new file mode 100644 index 0000000000000000000000000000000000000000..f90105a184a15e9bb23dad1ac34f95298e48eaee GIT binary patch literal 7706 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 literal 0 HcmV?d00001 diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ide/bin/swt/most/statemachine/xtext/ide/contentassist/antlr/ParserParser.class b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ide/bin/swt/most/statemachine/xtext/ide/contentassist/antlr/ParserParser.class new file mode 100644 index 0000000000000000000000000000000000000000..0dcd667581d0bc509f10045ba53b7ddb3ca81657 GIT binary patch literal 2516 zcmX^0Z`VEs1_nn4S9S&_Mh1uC@)G^r{NfV*;*!LY)ZE16jLf`L{fd&*iW2?IlvMrX z{JfIXypqJ?;>_X_{lvVIoFe^z#G>NVA_&ROz{1GjlV6mspPHPLSx}6uH#H@*B)<r& z5spd4B}IwJCC(7z9l^#!Ok`x>$xF;l^-U}&$jnPGW@Pa9q12Hoen<vdGcrg9mFAUX z=B9>a7H1~qq&nv1<(DLuWaj4;Gcri|B<JVqr|0LV=cMXq=4GWOm*{(fDQiXs-t?lx z+}y+>$K>SH;$lVyE4)rCPAw|SOinF^2ADgtUTa1MHk-`6%o00B24)S-Fh&Lz=lqmZ zE(T@>ejWyH1|CKRexJ;|RKL>Pq|~C2#H5^5Mg}3D{N%)(u*9NF5FaYYQj(Eb%*fz` z*D1tAr8Of1PjXReVo542B0@DZ$uc!FuOzi7FEK~o6Uu-X2qCT68N?YG0?CO}yykK- zh%rclf=-H&K}iFgBq7PQ2ol-)A^F*<dBG(`sfoGPnqiy_j0`e744e#HAdPZ74Dt*L zj0^(BsU;}!#K>T)fj12BMlvW~*@{w&OLIyX8G`YegDZyc`q`S1fjd35B&ake6_mso z8O$LbN6m|{%;uVtnwy$eVy)?ul~|UjpOcuEt{+@dl$n=q4GIl49tKthHZBGY1}%05 zO-2S^a-s+l#}E=F+wm|cGpH~!u%|*C!N{Ntjw1XnWn>UbPc8Ax%Ph%E%<;%fNlDEE z$6_%fgQ$jPG^Rh;84MU11kk<5!C=J5z#bIp;~F0x%)wy7$iNTg`1-^<`}_L3`h{>X zn85^t;ew0|0_hmZ!G=Jdz?&Wz8TivvOF&VDDBc1I7>FxjK*AV8qJ*?HBLjaix-CKY zQ!(k5fRc8ih9;Is1et}W=!Yk0Sh9o_5?Ja2Yc2*x274X`5e8942Cm@z(xT*4w@gq` zC<yU5gwz8?I3oj(XI@@vk#kOBadB!fBLfd=ICJ}@7MJ*@f{N2(21N!&24)5Z1||k3 zP@-pGWMF4tU|?flWZ(dcax#EyMiv9*5N-w@21W*61_lOw21W)(1_lOJt?dka8^Kxx zpaw87@G}T9Fo2aZFt9QRF$gm-FtC990M+czz|6qJz`!89n?Wp+aXW*AkG9qp2I*}K zvf3NqM)85&7sSBH5X>OR5CS$*45AHcB*=}53`z`)3@o6$1vT6j>?Z~WPOU8rs@mHa z)DcF4yvM*0iDVQf)F=i9P6llT9k5Zl40=$b>=;<Uo)lr*%b*|0EMyoQ$s%MN9LXwV z8jNmg9N1J)@GvllKuu+2FlVrUnuQ3kEez7=nv;+;!vc&ER3Jk&+d=)rrlq}=K^hU< zT;T9XV_;=S2b%y1A2z7<p!fuZ5h$iC8LXgYAv;7B-62_EV<5gjIK-O42C5mwA*$#O z$zxz;$OoH%=@3>>;u3IS5Mi)|nxzU)LfaVZ&>g}EHU^YPm>C?vX~L1giGcx}Dm54w Q8Jrm;8C<~0ijhGB00J72`2YX_ literal 0 HcmV?d00001 diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ide/bin/swt/most/statemachine/xtext/ide/contentassist/antlr/PartialParserContentAssistParser.class b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ide/bin/swt/most/statemachine/xtext/ide/contentassist/antlr/PartialParserContentAssistParser.class new file mode 100644 index 0000000000000000000000000000000000000000..298e47d63fefe556cd7738518d450697e4fe31a7 GIT binary patch literal 2612 zcmX^0Z`VEs1_nolD0T)WMuw2$@)G^r{NfV*;*!LY)ZE16jLf`L{fd&*iW2?IlvMrX z{JfIXypqJ?;>_X_{lvVIoFe^z#G;bS#GHV{qT<vdXNUqvumXq>I|B<Ng9Di+7pE3M zOkreTDJsoLWn@tB$uCORPfgCrEGULK%`vICq$n}DB&ake)tZrk%_cK1v&4>(fmuT{ zjFExGIX@+pi-DPen}>m&frF8O-zPIK)vq)+DYYmhF$rX-kWYScVoq3MQ6`8F6=W&N z$Sh`L2=gJ+?RZ1QnvsDQ<jTy%oXo0JxBMbT24xLGUegTYWME_v=3!uEU}IzuOiwLw z%g@QlFL%vJ%}vcKDQ09S$7Tj7=2BBKOY)1bMqp-MNorAEVvas67(Jl^SR&I}(<dvj zEK$F-Br`|fIX@>SHMt}+KhK(xfipNWJuk7Ov?!I4VducO!UjwD5%4=o_*vUob2CUX zNV79YF*3;EPi8y}G7Pee3>>MR#Q{b66_wz`7RALN&!EW8puor=iY=Imc^H%!lo=T~ zQ*#SSDt$7GOBfl1G?0T7BnEbbDi4DigE}JvdwOb#Ut(@5BZCM`VNPORx_)p;QD$Dc zwGaaXgC-Ay7K1h;gLrOYcB*rJUUFhdcxFk4bADcNNg_B^sA)iA4Ou7DR%9V|23<x5 z9ZY|NBRe2Jr!qIcs30RV*(I~MAh9GlBee+RUws}10|rAz2HxV#y!4#ZlKec7Cm0!2 zkS+C3%1TWxK}kIzRn}Y#It<33Y-z&CppL8o>OW6Uh|9rF0PD~UV`ng9WDo#{FWB`E zvq2_V@Gw|1STQoNW#*OTXQzUUjE3k(QV4SdvJe-84TBv!gDoRNET;DfBq36=4-bO~ zgFPdIAS^1u-U?1F0To&W-~yD9A)fS9Oo|h%85y{8Q%f@PQy|Go2q}P|fzHUll>(1q zMg~1B4gxzIYm%^LWDr9wO)Cphp(SbuNhaAqTn4rZQPfZ&liOJ{GVlhMBqnG3CKf=Q z#uc1jT9lmXmI<m3R0-8-dZ5(D$ROa9pI-v1dJ25OAzIAE;LG68&fv$$paN2%4^Cr{ z#0br?ko@VEm|T)yR0+zs0gMbYkP|*sHN-%V#JrT8)M6E%{QT_F0&7TsfDMI46_N;w z#*oT_R4mE~<OZk_&WSlW!I>qg*8FS?J{%0ej0{|<c_l@apz4*8k%7lEFE6#oIVZ8W zIJKCaA&ikh6~nXGoX^e>!N?$oUnwI48^o^+iVTbl%nS?+j0{Ym>W+bdfti63RDUxt zGH^05Fz7QdGB7eQFtBQEXW-h%z`(%7z{9}6zy=oNW#DCCVBi6>SsC~k_`wDVFbG05 z+c7XPFo9HSX>Vl^Lg?lKiwZNaGKhdp5CikspeBG!X9e59!XUyR%D}`R2DVom?4bP& zYz!<63=Ga%TNs3nG4O+^oeUC;3^N(ncQD9pfbdlq8Fn#fFfjP;X3&Y$VP@9e!JxOD z!N^aSc`t+MHU{%>?QIO!8yFZESis(qV_;`sV31%CW{_kMXOLo0V~}AmVUT7pWsqgC zV~_(oQVU`&+>y=<4h)VAj0|cFvJ6fP&J0WprVM-xE)1>=%nWYOV1bCZGcYrFfbC)u rW@cb!@C19ui@}?Lfq{d8ks*+Qks*j7gn@y9i-D0Llp&lUl0gyx)msUn literal 0 HcmV?d00001 diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ide/bin/swt/most/statemachine/xtext/ide/contentassist/antlr/internal/InternalParser.g b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ide/bin/swt/most/statemachine/xtext/ide/contentassist/antlr/internal/InternalParser.g new file mode 100644 index 0000000..2991bbc --- /dev/null +++ b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ide/bin/swt/most/statemachine/xtext/ide/contentassist/antlr/internal/InternalParser.g @@ -0,0 +1,1969 @@ +/* + * generated by Xtext 2.35.0 + */ +grammar InternalParser; + +options { + superClass=AbstractInternalContentAssistParser; +} + +@lexer::header { +package swt.most.statemachine.xtext.ide.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.ide.editor.contentassist.antlr.internal.Lexer; +} + +@parser::header { +package swt.most.statemachine.xtext.ide.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.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.ide.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser; +import org.eclipse.xtext.ide.editor.contentassist.antlr.internal.DFA; +import swt.most.statemachine.xtext.services.ParserGrammarAccess; + +} +@parser::members { + private ParserGrammarAccess grammarAccess; + + public void setGrammarAccess(ParserGrammarAccess grammarAccess) { + this.grammarAccess = grammarAccess; + } + + @Override + protected Grammar getGrammar() { + return grammarAccess.getGrammar(); + } + + @Override + protected String getValueForTokenName(String tokenName) { + return tokenName; + } +} + +// 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 entryRuleNormalState +entryRuleNormalState +: +{ before(grammarAccess.getNormalStateRule()); } + ruleNormalState +{ after(grammarAccess.getNormalStateRule()); } + EOF +; + +// Rule NormalState +ruleNormalState + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getNormalStateAccess().getGroup()); } + (rule__NormalState__Group__0) + { after(grammarAccess.getNormalStateAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleFinalState +entryRuleFinalState +: +{ before(grammarAccess.getFinalStateRule()); } + ruleFinalState +{ after(grammarAccess.getFinalStateRule()); } + EOF +; + +// Rule FinalState +ruleFinalState + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getFinalStateAccess().getGroup()); } + (rule__FinalState__Group__0) + { after(grammarAccess.getFinalStateAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleInitialState +entryRuleInitialState +: +{ before(grammarAccess.getInitialStateRule()); } + ruleInitialState +{ after(grammarAccess.getInitialStateRule()); } + EOF +; + +// Rule InitialState +ruleInitialState + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getInitialStateAccess().getGroup()); } + (rule__InitialState__Group__0) + { after(grammarAccess.getInitialStateAccess().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().getGroup()); } + (rule__Transition__Group__0) + { after(grammarAccess.getTransitionAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleAction +entryRuleAction +: +{ before(grammarAccess.getActionRule()); } + ruleAction +{ after(grammarAccess.getActionRule()); } + EOF +; + +// Rule Action +ruleAction + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getActionAccess().getGroup()); } + (rule__Action__Group__0) + { after(grammarAccess.getActionAccess().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 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 entryRuleActivityContent +entryRuleActivityContent +: +{ before(grammarAccess.getActivityContentRule()); } + ruleActivityContent +{ after(grammarAccess.getActivityContentRule()); } + EOF +; + +// Rule ActivityContent +ruleActivityContent + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getActivityContentAccess().getAlternatives()); } + (rule__ActivityContent__Alternatives) + { after(grammarAccess.getActivityContentAccess().getAlternatives()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleEString +entryRuleEString +: +{ before(grammarAccess.getEStringRule()); } + ruleEString +{ after(grammarAccess.getEStringRule()); } + EOF +; + +// Rule EString +ruleEString + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getEStringAccess().getAlternatives()); } + (rule__EString__Alternatives) + { after(grammarAccess.getEStringAccess().getAlternatives()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__StateMachine__Alternatives_5 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getStateMachineAccess().getStatesAssignment_5_0()); } + (rule__StateMachine__StatesAssignment_5_0) + { after(grammarAccess.getStateMachineAccess().getStatesAssignment_5_0()); } + ) + | + ( + { before(grammarAccess.getStateMachineAccess().getFinalstatesAssignment_5_1()); } + (rule__StateMachine__FinalstatesAssignment_5_1) + { after(grammarAccess.getStateMachineAccess().getFinalstatesAssignment_5_1()); } + ) + | + ( + { before(grammarAccess.getStateMachineAccess().getTransitionsAssignment_5_2()); } + (rule__StateMachine__TransitionsAssignment_5_2) + { after(grammarAccess.getStateMachineAccess().getTransitionsAssignment_5_2()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ActivityContent__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getActivityContentAccess().getSTRINGTerminalRuleCall_0()); } + RULE_STRING + { after(grammarAccess.getActivityContentAccess().getSTRINGTerminalRuleCall_0()); } + ) + | + ( + { before(grammarAccess.getActivityContentAccess().getIDTerminalRuleCall_1()); } + RULE_ID + { after(grammarAccess.getActivityContentAccess().getIDTerminalRuleCall_1()); } + ) + | + ( + { before(grammarAccess.getActivityContentAccess().getCALLTerminalRuleCall_2()); } + RULE_CALL + { after(grammarAccess.getActivityContentAccess().getCALLTerminalRuleCall_2()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__EString__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getEStringAccess().getSTRINGTerminalRuleCall_0()); } + RULE_STRING + { after(grammarAccess.getEStringAccess().getSTRINGTerminalRuleCall_0()); } + ) + | + ( + { before(grammarAccess.getEStringAccess().getIDTerminalRuleCall_1()); } + RULE_ID + { after(grammarAccess.getEStringAccess().getIDTerminalRuleCall_1()); } + ) + | + ( + { before(grammarAccess.getEStringAccess().getINITIALSTATENAMETerminalRuleCall_2()); } + RULE_INITIALSTATENAME + { after(grammarAccess.getEStringAccess().getINITIALSTATENAMETerminalRuleCall_2()); } + ) + | + ( + { before(grammarAccess.getEStringAccess().getFINALSTATENAMETerminalRuleCall_3()); } + RULE_FINALSTATENAME + { after(grammarAccess.getEStringAccess().getFINALSTATENAMETerminalRuleCall_3()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__StateMachine__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__StateMachine__Group__0__Impl + rule__StateMachine__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__StateMachine__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getStateMachineAccess().getStateMachineAction_0()); } + () + { after(grammarAccess.getStateMachineAccess().getStateMachineAction_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__StateMachine__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__StateMachine__Group__1__Impl + rule__StateMachine__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__StateMachine__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getStateMachineAccess().getStateMachineKeyword_1()); } + 'StateMachine' + { after(grammarAccess.getStateMachineAccess().getStateMachineKeyword_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__StateMachine__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__StateMachine__Group__2__Impl + rule__StateMachine__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__StateMachine__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getStateMachineAccess().getNameAssignment_2()); } + (rule__StateMachine__NameAssignment_2) + { after(grammarAccess.getStateMachineAccess().getNameAssignment_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__StateMachine__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__StateMachine__Group__3__Impl + rule__StateMachine__Group__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__StateMachine__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getStateMachineAccess().getLeftCurlyBracketKeyword_3()); } + '{' + { after(grammarAccess.getStateMachineAccess().getLeftCurlyBracketKeyword_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__StateMachine__Group__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__StateMachine__Group__4__Impl + rule__StateMachine__Group__5 +; +finally { + restoreStackSize(stackSize); +} + +rule__StateMachine__Group__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getStateMachineAccess().getInitialstateAssignment_4()); } + (rule__StateMachine__InitialstateAssignment_4) + { after(grammarAccess.getStateMachineAccess().getInitialstateAssignment_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__StateMachine__Group__5 + @init { + int stackSize = keepStackSize(); + } +: + rule__StateMachine__Group__5__Impl + rule__StateMachine__Group__6 +; +finally { + restoreStackSize(stackSize); +} + +rule__StateMachine__Group__5__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getStateMachineAccess().getAlternatives_5()); } + (rule__StateMachine__Alternatives_5)* + { after(grammarAccess.getStateMachineAccess().getAlternatives_5()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__StateMachine__Group__6 + @init { + int stackSize = keepStackSize(); + } +: + rule__StateMachine__Group__6__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__StateMachine__Group__6__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getStateMachineAccess().getRightCurlyBracketKeyword_6()); } + '}' + { after(grammarAccess.getStateMachineAccess().getRightCurlyBracketKeyword_6()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__NormalState__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__NormalState__Group__0__Impl + rule__NormalState__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__NormalState__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getNormalStateAccess().getNormalStateAction_0()); } + () + { after(grammarAccess.getNormalStateAccess().getNormalStateAction_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__NormalState__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__NormalState__Group__1__Impl + rule__NormalState__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__NormalState__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getNormalStateAccess().getStateKeyword_1()); } + 'state' + { after(grammarAccess.getNormalStateAccess().getStateKeyword_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__NormalState__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__NormalState__Group__2__Impl + rule__NormalState__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__NormalState__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getNormalStateAccess().getNameAssignment_2()); } + (rule__NormalState__NameAssignment_2) + { after(grammarAccess.getNormalStateAccess().getNameAssignment_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__NormalState__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__NormalState__Group__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__NormalState__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getNormalStateAccess().getGroup_3()); } + (rule__NormalState__Group_3__0)? + { after(grammarAccess.getNormalStateAccess().getGroup_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__NormalState__Group_3__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__NormalState__Group_3__0__Impl + rule__NormalState__Group_3__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__NormalState__Group_3__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getNormalStateAccess().getLeftCurlyBracketKeyword_3_0()); } + '{' + { after(grammarAccess.getNormalStateAccess().getLeftCurlyBracketKeyword_3_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__NormalState__Group_3__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__NormalState__Group_3__1__Impl + rule__NormalState__Group_3__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__NormalState__Group_3__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getNormalStateAccess().getGroup_3_1()); } + (rule__NormalState__Group_3_1__0)? + { after(grammarAccess.getNormalStateAccess().getGroup_3_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__NormalState__Group_3__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__NormalState__Group_3__2__Impl + rule__NormalState__Group_3__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__NormalState__Group_3__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getNormalStateAccess().getGroup_3_2()); } + (rule__NormalState__Group_3_2__0)? + { after(grammarAccess.getNormalStateAccess().getGroup_3_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__NormalState__Group_3__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__NormalState__Group_3__3__Impl + rule__NormalState__Group_3__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__NormalState__Group_3__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getNormalStateAccess().getGroup_3_3()); } + (rule__NormalState__Group_3_3__0)? + { after(grammarAccess.getNormalStateAccess().getGroup_3_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__NormalState__Group_3__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__NormalState__Group_3__4__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__NormalState__Group_3__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getNormalStateAccess().getRightCurlyBracketKeyword_3_4()); } + '}' + { after(grammarAccess.getNormalStateAccess().getRightCurlyBracketKeyword_3_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__NormalState__Group_3_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__NormalState__Group_3_1__0__Impl + rule__NormalState__Group_3_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__NormalState__Group_3_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getNormalStateAccess().getEntryKeyword_3_1_0()); } + 'entry:' + { after(grammarAccess.getNormalStateAccess().getEntryKeyword_3_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__NormalState__Group_3_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__NormalState__Group_3_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__NormalState__Group_3_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getNormalStateAccess().getEntry_Assignment_3_1_1()); } + (rule__NormalState__Entry_Assignment_3_1_1) + { after(grammarAccess.getNormalStateAccess().getEntry_Assignment_3_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__NormalState__Group_3_2__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__NormalState__Group_3_2__0__Impl + rule__NormalState__Group_3_2__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__NormalState__Group_3_2__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getNormalStateAccess().getDoKeyword_3_2_0()); } + 'do:' + { after(grammarAccess.getNormalStateAccess().getDoKeyword_3_2_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__NormalState__Group_3_2__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__NormalState__Group_3_2__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__NormalState__Group_3_2__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getNormalStateAccess().getDo_Assignment_3_2_1()); } + (rule__NormalState__Do_Assignment_3_2_1) + { after(grammarAccess.getNormalStateAccess().getDo_Assignment_3_2_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__NormalState__Group_3_3__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__NormalState__Group_3_3__0__Impl + rule__NormalState__Group_3_3__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__NormalState__Group_3_3__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getNormalStateAccess().getExitKeyword_3_3_0()); } + 'exit:' + { after(grammarAccess.getNormalStateAccess().getExitKeyword_3_3_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__NormalState__Group_3_3__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__NormalState__Group_3_3__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__NormalState__Group_3_3__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getNormalStateAccess().getExit_Assignment_3_3_1()); } + (rule__NormalState__Exit_Assignment_3_3_1) + { after(grammarAccess.getNormalStateAccess().getExit_Assignment_3_3_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__FinalState__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__FinalState__Group__0__Impl + rule__FinalState__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__FinalState__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getFinalStateAccess().getFinalStateAction_0()); } + () + { after(grammarAccess.getFinalStateAccess().getFinalStateAction_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__FinalState__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__FinalState__Group__1__Impl + rule__FinalState__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__FinalState__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getFinalStateAccess().getEndKeyword_1()); } + 'end' + { after(grammarAccess.getFinalStateAccess().getEndKeyword_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__FinalState__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__FinalState__Group__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__FinalState__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getFinalStateAccess().getNameAssignment_2()); } + (rule__FinalState__NameAssignment_2) + { after(grammarAccess.getFinalStateAccess().getNameAssignment_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__InitialState__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__InitialState__Group__0__Impl + rule__InitialState__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__InitialState__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInitialStateAccess().getInitialStateAction_0()); } + () + { after(grammarAccess.getInitialStateAccess().getInitialStateAction_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__InitialState__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__InitialState__Group__1__Impl + rule__InitialState__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__InitialState__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInitialStateAccess().getStartKeyword_1()); } + 'start' + { after(grammarAccess.getInitialStateAccess().getStartKeyword_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__InitialState__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__InitialState__Group__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__InitialState__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInitialStateAccess().getNameAssignment_2()); } + (rule__InitialState__NameAssignment_2) + { after(grammarAccess.getInitialStateAccess().getNameAssignment_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__Transition__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__Transition__Group__0__Impl + rule__Transition__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__Transition__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getTransitionAccess().getTransitionAction_0()); } + () + { after(grammarAccess.getTransitionAccess().getTransitionAction_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Transition__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__Transition__Group__1__Impl + rule__Transition__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__Transition__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getTransitionAccess().getFromAssignment_1()); } + (rule__Transition__FromAssignment_1) + { after(grammarAccess.getTransitionAccess().getFromAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Transition__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__Transition__Group__2__Impl + rule__Transition__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__Transition__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getTransitionAccess().getHyphenMinusKeyword_2()); } + '-' + { after(grammarAccess.getTransitionAccess().getHyphenMinusKeyword_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Transition__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__Transition__Group__3__Impl + rule__Transition__Group__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__Transition__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getTransitionAccess().getTriggerAssignment_3()); } + (rule__Transition__TriggerAssignment_3)? + { after(grammarAccess.getTransitionAccess().getTriggerAssignment_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Transition__Group__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__Transition__Group__4__Impl + rule__Transition__Group__5 +; +finally { + restoreStackSize(stackSize); +} + +rule__Transition__Group__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getTransitionAccess().getGroup_4()); } + (rule__Transition__Group_4__0)? + { after(grammarAccess.getTransitionAccess().getGroup_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Transition__Group__5 + @init { + int stackSize = keepStackSize(); + } +: + rule__Transition__Group__5__Impl + rule__Transition__Group__6 +; +finally { + restoreStackSize(stackSize); +} + +rule__Transition__Group__5__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getTransitionAccess().getGroup_5()); } + (rule__Transition__Group_5__0)? + { after(grammarAccess.getTransitionAccess().getGroup_5()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Transition__Group__6 + @init { + int stackSize = keepStackSize(); + } +: + rule__Transition__Group__6__Impl + rule__Transition__Group__7 +; +finally { + restoreStackSize(stackSize); +} + +rule__Transition__Group__6__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getTransitionAccess().getHyphenMinusGreaterThanSignKeyword_6()); } + '->' + { after(grammarAccess.getTransitionAccess().getHyphenMinusGreaterThanSignKeyword_6()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Transition__Group__7 + @init { + int stackSize = keepStackSize(); + } +: + rule__Transition__Group__7__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__Transition__Group__7__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getTransitionAccess().getToAssignment_7()); } + (rule__Transition__ToAssignment_7) + { after(grammarAccess.getTransitionAccess().getToAssignment_7()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__Transition__Group_4__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__Transition__Group_4__0__Impl + rule__Transition__Group_4__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__Transition__Group_4__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getTransitionAccess().getLeftSquareBracketKeyword_4_0()); } + '[' + { after(grammarAccess.getTransitionAccess().getLeftSquareBracketKeyword_4_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Transition__Group_4__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__Transition__Group_4__1__Impl + rule__Transition__Group_4__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__Transition__Group_4__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getTransitionAccess().getGuardAssignment_4_1()); } + (rule__Transition__GuardAssignment_4_1) + { after(grammarAccess.getTransitionAccess().getGuardAssignment_4_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Transition__Group_4__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__Transition__Group_4__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__Transition__Group_4__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getTransitionAccess().getRightSquareBracketKeyword_4_2()); } + ']' + { after(grammarAccess.getTransitionAccess().getRightSquareBracketKeyword_4_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__Transition__Group_5__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__Transition__Group_5__0__Impl + rule__Transition__Group_5__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__Transition__Group_5__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getTransitionAccess().getSolidusKeyword_5_0()); } + '/' + { after(grammarAccess.getTransitionAccess().getSolidusKeyword_5_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Transition__Group_5__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__Transition__Group_5__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__Transition__Group_5__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getTransitionAccess().getActionAssignment_5_1()); } + (rule__Transition__ActionAssignment_5_1) + { after(grammarAccess.getTransitionAccess().getActionAssignment_5_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__Action__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__Action__Group__0__Impl + rule__Action__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__Action__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getActionAccess().getActionAction_0()); } + () + { after(grammarAccess.getActionAccess().getActionAction_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Action__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__Action__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__Action__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getActionAccess().getContentAssignment_1()); } + (rule__Action__ContentAssignment_1) + { after(grammarAccess.getActionAccess().getContentAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__Trigger__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__Trigger__Group__0__Impl + rule__Trigger__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__Trigger__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getTriggerAccess().getTriggerAction_0()); } + () + { after(grammarAccess.getTriggerAccess().getTriggerAction_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Trigger__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__Trigger__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__Trigger__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getTriggerAccess().getContentAssignment_1()); } + (rule__Trigger__ContentAssignment_1) + { after(grammarAccess.getTriggerAccess().getContentAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__Guard__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__Guard__Group__0__Impl + rule__Guard__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__Guard__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getGuardAccess().getGuardAction_0()); } + () + { after(grammarAccess.getGuardAccess().getGuardAction_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Guard__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__Guard__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__Guard__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getGuardAccess().getContentAssignment_1()); } + (rule__Guard__ContentAssignment_1) + { after(grammarAccess.getGuardAccess().getContentAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__StateMachine__NameAssignment_2 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getStateMachineAccess().getNameEStringParserRuleCall_2_0()); } + ruleEString + { after(grammarAccess.getStateMachineAccess().getNameEStringParserRuleCall_2_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__StateMachine__InitialstateAssignment_4 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getStateMachineAccess().getInitialstateInitialStateParserRuleCall_4_0()); } + ruleInitialState + { after(grammarAccess.getStateMachineAccess().getInitialstateInitialStateParserRuleCall_4_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__StateMachine__StatesAssignment_5_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getStateMachineAccess().getStatesNormalStateParserRuleCall_5_0_0()); } + ruleNormalState + { after(grammarAccess.getStateMachineAccess().getStatesNormalStateParserRuleCall_5_0_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__StateMachine__FinalstatesAssignment_5_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getStateMachineAccess().getFinalstatesFinalStateParserRuleCall_5_1_0()); } + ruleFinalState + { after(grammarAccess.getStateMachineAccess().getFinalstatesFinalStateParserRuleCall_5_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__StateMachine__TransitionsAssignment_5_2 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getStateMachineAccess().getTransitionsTransitionParserRuleCall_5_2_0()); } + ruleTransition + { after(grammarAccess.getStateMachineAccess().getTransitionsTransitionParserRuleCall_5_2_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__NormalState__NameAssignment_2 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getNormalStateAccess().getNameEStringParserRuleCall_2_0()); } + ruleEString + { after(grammarAccess.getNormalStateAccess().getNameEStringParserRuleCall_2_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__NormalState__Entry_Assignment_3_1_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getNormalStateAccess().getEntry_ActionParserRuleCall_3_1_1_0()); } + ruleAction + { after(grammarAccess.getNormalStateAccess().getEntry_ActionParserRuleCall_3_1_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__NormalState__Do_Assignment_3_2_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getNormalStateAccess().getDo_ActionParserRuleCall_3_2_1_0()); } + ruleAction + { after(grammarAccess.getNormalStateAccess().getDo_ActionParserRuleCall_3_2_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__NormalState__Exit_Assignment_3_3_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getNormalStateAccess().getExit_ActionParserRuleCall_3_3_1_0()); } + ruleAction + { after(grammarAccess.getNormalStateAccess().getExit_ActionParserRuleCall_3_3_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__FinalState__NameAssignment_2 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getFinalStateAccess().getNameFINALSTATENAMETerminalRuleCall_2_0()); } + RULE_FINALSTATENAME + { after(grammarAccess.getFinalStateAccess().getNameFINALSTATENAMETerminalRuleCall_2_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__InitialState__NameAssignment_2 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getInitialStateAccess().getNameINITIALSTATENAMETerminalRuleCall_2_0()); } + RULE_INITIALSTATENAME + { after(grammarAccess.getInitialStateAccess().getNameINITIALSTATENAMETerminalRuleCall_2_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__Transition__FromAssignment_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getTransitionAccess().getFromStateCrossReference_1_0()); } + ( + { before(grammarAccess.getTransitionAccess().getFromStateEStringParserRuleCall_1_0_1()); } + ruleEString + { after(grammarAccess.getTransitionAccess().getFromStateEStringParserRuleCall_1_0_1()); } + ) + { after(grammarAccess.getTransitionAccess().getFromStateCrossReference_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__Transition__TriggerAssignment_3 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getTransitionAccess().getTriggerTriggerParserRuleCall_3_0()); } + ruleTrigger + { after(grammarAccess.getTransitionAccess().getTriggerTriggerParserRuleCall_3_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__Transition__GuardAssignment_4_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getTransitionAccess().getGuardGuardParserRuleCall_4_1_0()); } + ruleGuard + { after(grammarAccess.getTransitionAccess().getGuardGuardParserRuleCall_4_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__Transition__ActionAssignment_5_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getTransitionAccess().getActionActionParserRuleCall_5_1_0()); } + ruleAction + { after(grammarAccess.getTransitionAccess().getActionActionParserRuleCall_5_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__Transition__ToAssignment_7 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getTransitionAccess().getToStateCrossReference_7_0()); } + ( + { before(grammarAccess.getTransitionAccess().getToStateEStringParserRuleCall_7_0_1()); } + ruleEString + { after(grammarAccess.getTransitionAccess().getToStateEStringParserRuleCall_7_0_1()); } + ) + { after(grammarAccess.getTransitionAccess().getToStateCrossReference_7_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__Action__ContentAssignment_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getActionAccess().getContentActivityContentParserRuleCall_1_0()); } + ruleActivityContent + { after(grammarAccess.getActionAccess().getContentActivityContentParserRuleCall_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__Trigger__ContentAssignment_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getTriggerAccess().getContentActivityContentParserRuleCall_1_0()); } + ruleActivityContent + { after(grammarAccess.getTriggerAccess().getContentActivityContentParserRuleCall_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__Guard__ContentAssignment_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getGuardAccess().getContentEStringParserRuleCall_1_0()); } + ruleEString + { after(grammarAccess.getGuardAccess().getContentEStringParserRuleCall_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +RULE_INITIALSTATENAME : 'I_' (RULE_INT|RULE_STRING|RULE_ID)+; + +RULE_FINALSTATENAME : 'F_' (RULE_INT|RULE_STRING|RULE_ID)+; + +RULE_CALL : RULE_ID ('.' RULE_ID)+; + +RULE_ID : '^'? ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*; + +fragment RULE_INT : ('0'..'9')+; + +RULE_STRING : ('"' ('\\' .|~(('\\'|'"')))* '"'|'\'' ('\\' .|~(('\\'|'\'')))* '\''); + +RULE_ML_COMMENT : '/*' ( options {greedy=false;} : . )*'*/'; + +RULE_SL_COMMENT : '//' ~(('\n'|'\r'))* ('\r'? '\n')?; + +RULE_WS : (' '|'\t'|'\r'|'\n')+; + +RULE_ANY_OTHER : .; diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ide/bin/swt/most/statemachine/xtext/ide/contentassist/antlr/internal/InternalParser.tokens b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ide/bin/swt/most/statemachine/xtext/ide/contentassist/antlr/internal/InternalParser.tokens new file mode 100644 index 0000000..144c9a5 --- /dev/null +++ b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ide/bin/swt/most/statemachine/xtext/ide/contentassist/antlr/internal/InternalParser.tokens @@ -0,0 +1,38 @@ +'-'=23 +'->'=24 +'/'=27 +'StateMachine'=14 +'['=25 +']'=26 +'do:'=19 +'end'=21 +'entry:'=18 +'exit:'=20 +'start'=22 +'state'=17 +'{'=15 +'}'=16 +RULE_ANY_OTHER=13 +RULE_CALL=6 +RULE_FINALSTATENAME=8 +RULE_ID=5 +RULE_INITIALSTATENAME=7 +RULE_INT=9 +RULE_ML_COMMENT=10 +RULE_SL_COMMENT=11 +RULE_STRING=4 +RULE_WS=12 +T__14=14 +T__15=15 +T__16=16 +T__17=17 +T__18=18 +T__19=19 +T__20=20 +T__21=21 +T__22=22 +T__23=23 +T__24=24 +T__25=25 +T__26=26 +T__27=27 diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ide/bin/swt/most/statemachine/xtext/ide/contentassist/antlr/internal/InternalParserLexer$DFA15.class b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ide/bin/swt/most/statemachine/xtext/ide/contentassist/antlr/internal/InternalParserLexer$DFA15.class new file mode 100644 index 0000000000000000000000000000000000000000..e19c55da31d079f71660bb533c5851ed60df53dd GIT binary patch literal 3212 zcmX^0Z`VEs1_nolVs-{5MuxEB@)G^r{NfV*;*!LY)ZE16jLf`L{fd&*iW2?IlvMrX z{JfIXypqJ?;>_X_{lvVIoFe_qypq(Syu=)RPbecGv8Xt;$S1WTwMfOq&C$@5oq>gs zK{UT89jc?KG_NExH&x%o&5@CTtt2C}SjB*mA;^c?wp%kYu-RnhWtP}6GL&mj-*_KP zFF7R^rv{}a=cngoR;3nMYlbm0usG+Zq;fJaGH~-Surjc5F)%am@-VP7@G&wlYiNdn zWCVB^1Q~=F8MunzS{WIX2pbR5E5gGd${@zbz?YJmoLQWipXXPao0M9_$iV2y$soZX z#m*qf$Phs7pygqZW{_cI-~`8Sd}@9PBLh=(FvvY}JPh(6DdyDt5|9HFc^H&He7Mpy zkSY}(233$Kb83DXNR>Jdg9d{p+`!z-JdlCTAf?(o3_2hw=G@FYkWxJ!27M48YG7_+ z1xS@44}%d%lo`yIU@+lfFa=q_194$ua&l@x2}q$i4}%3rf(<4l!C=M1U=0%Dg{Unq zNKMX6%mFF3<zcV`$*{x4Bp4ic7#ta#7#Rd0s!NIz^NKS|GV}8o8JMFXVc^2U;0jX0 zg)GVMlbM$aiJXwcq?}Yn1|gsP<iwn?#G*_PA1cTK$`6bT5mZmEki2Nk$iSDLTH=yg zoLrPy0CBd6hNe$eVp*boPGVlVesD=qW?s5A2ZJvoqoARcp_M{Nes*eJv4WL?hC)bu zyrGFg4VX5C(q>TF97<b2X-f!gWB{cNp|lZ{Hiptr^NgV889~i60+|;S>f;*k>E{{Z z>F5(2;uzxU=jiLIP@@1Ack}eaBI@ku;{#LS=>lT~hXi^0xx;wAKJm`}zP_%0Auy3( z43Y3)n4F_uWW0Zfhij06rZppj7&I*egNn!yq}W%~@Whg3J@ZO}ONvqxbFDQ!85y`- zD?kY`Ge57Gogs*kK@GDA@yibbrw7NJ61ZY+h7g7@c7{+!25C$Ua2t3S!WkkM8JK(= z85vkKJT*O;85sWm=VD-Fh~{DNV({i-2xN!_6+Ll`3?>?wQSM2={b3-Z5_lLA8Il+o zSW}CN@{1T5v^B7J8k--$g&|`xBLiD}W?n&Q2_u6n7M*a<STi!PLe(+FgLL^g8k)u% zFfy=%8HT2CmKh@hOI}%GDkB5YPGMx=4K7Jc&h||#fMz?c;QZ2}<W#pzP{x$NQkCg} zatI>>k7r(9YLRnJVsUY5F(U&jxDa4u;P6W=F7e1OE@4n$U}RusU|?Vr5C9eT3=9m+ z42%ry3>*xM44e!M42u|;!18Wd+FKd8w6-(wXz6Ta;MWr1-^w7YwTVG|D}$`oCI*GA z49Z%Y7}T~hXlZR?(A~;lptXs?cq@aM)+Pqatqe9=n;7i3GB|H!U|?WkaARO#&|~0c zU|?Otz{$Fnfsb_^g9z(-25Hs}3`(pU88lfpF&MCJW-w>n!eGa`mBE#D8-qIo1A`a? z69WT-8-oXfCj$t$fvO<}CI&`OYJs{}mw}Oi5#$RYpAB%!*g!(8JHUqUfY=PoP(v6Q z{22Thm>2>W7#LU>7#RXVo@QZWU}NB5U|`DC@sl=VkzNHd$OmL2h{3?XAO-RT0|S$q zF3V1aU?v7LRwf%!R)OFJ3>+*r%NfszvI<l$VBlc2S<ZMslvSX10Rsn{&2q*qqO1bN z3m7=qZI&~x5M>oeUBJM>VY8fZjwq`@$^r&X0g$48QC0z65C^2HNt9I}8pHu9D-~rG zhy`&tZI&};h_VXkgE(9^%Ne6ZSp_^n9B!NCjDDi50&XA<kIiyMM^RRRI1q=|W;vsY zD64?uLIy5TRsq)~3~{2Y0`3r=#}bABQC0yj2rp;}gOez$KnR2vwS)nrFMd9Qt|+TO zB1ABG34^>St3VorSG0sdP?S}mWFdoqD62r#Vg^nDKAYtXM@3l$lt6a#+bn0;A<8PC z4&n&dEN56P$|}GK(aQzV%R3+JECrAXL7U|aouaI>!6F<>7^*~B1-K!qd6qEbh_VXs zL3r{IPbki32p44)P=*MqEn)B!WfjnX@N||iSc|d>=*<Uv!T=)Zu!KQPlvN;RKG+ip z^BE*WSp{n5gFR8Vkbzf}RVZ>X1Dk-5jr44WK<PEGSY~6g5oMdrARx*HlIIjqw^<HT zrHxR<&SWFX4pPOAp^8;{&2EOkNUd!QQ3Cv;EV|nnVysxTBw4pH#7na72c=qY-k8Op z#=yY3n}LaS4+AUfUIqo${S2C{2N|?k4>6dt9$|21J;vbAdV(RE^%O%o>lua;)^iMv ztQQ#iST8ZmX1&6&g7q51R@NH~hgfehoM*kmXvcbw(VO)FV+89X#wyk)Obo2gnAlif zGV!y%W)ft5!=%jmj!BL61CtKxXC_nDuT18w-<UjEe=zy5{$dJZ{l}EV`j;t%^*>V< z8v{5C#egyiQ!X?MF)-yaBr}MCvK3P<LkdGG0}}%iQ#L~yLn;F^11nPoLpp;P0}F#D z<6VXf1~CR!CVmE4hD-)A1~w*B23dwI1~CS9rW6KFhHQo$23Ce#1_p)(2Ccsg3hWFa zjDHx!7`eH*xp|;~mzS4UgqN3<hliJ!l^etsQDXYV!1|v-hJl@(fsv7&Aq1ok?417$ wtPHHkf(#&K94I1;3=B+|>KK?A^1zurpP_((fdN#LFfvFm6f!U{6oJJh0HPcIZ~y=R literal 0 HcmV?d00001 diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ide/bin/swt/most/statemachine/xtext/ide/contentassist/antlr/internal/InternalParserLexer.class b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ide/bin/swt/most/statemachine/xtext/ide/contentassist/antlr/internal/InternalParserLexer.class new file mode 100644 index 0000000000000000000000000000000000000000..5dc00ce86da529bb93bf21aeb9ef6997753b1401 GIT binary patch literal 15785 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 literal 0 HcmV?d00001 diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ide/bin/swt/most/statemachine/xtext/ide/contentassist/antlr/internal/InternalParserParser.class b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ide/bin/swt/most/statemachine/xtext/ide/contentassist/antlr/internal/InternalParserParser.class new file mode 100644 index 0000000000000000000000000000000000000000..8db67359375275a27d6af43f1ff8369d6f58eb17 GIT binary patch literal 55078 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 FMgRl&V~+p; literal 0 HcmV?d00001 diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ide/build.properties b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ide/build.properties new file mode 100644 index 0000000..5c6bbf9 --- /dev/null +++ b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ide/build.properties @@ -0,0 +1,6 @@ +source.. = src/,\ + src-gen/,\ + xtend-gen/ +bin.includes = .,\ + META-INF/ +bin.excludes = **/*.xtend diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ide/src-gen/META-INF/services/org.eclipse.xtext.ISetup b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ide/src-gen/META-INF/services/org.eclipse.xtext.ISetup new file mode 100644 index 0000000..34f9d12 --- /dev/null +++ b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ide/src-gen/META-INF/services/org.eclipse.xtext.ISetup @@ -0,0 +1 @@ +swt.most.statemachine.xtext.ide.ParserIdeSetup diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ide/src-gen/swt/most/statemachine/xtext/ide/AbstractParserIdeModule.java b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ide/src-gen/swt/most/statemachine/xtext/ide/AbstractParserIdeModule.java new file mode 100644 index 0000000..c02654c --- /dev/null +++ b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ide/src-gen/swt/most/statemachine/xtext/ide/AbstractParserIdeModule.java @@ -0,0 +1,60 @@ +/* + * generated by Xtext 2.35.0 + */ +package swt.most.statemachine.xtext.ide; + +import com.google.inject.Binder; +import com.google.inject.name.Names; +import org.eclipse.xtext.ide.DefaultIdeModule; +import org.eclipse.xtext.ide.LexerIdeBindings; +import org.eclipse.xtext.ide.editor.contentassist.FQNPrefixMatcher; +import org.eclipse.xtext.ide.editor.contentassist.IPrefixMatcher; +import org.eclipse.xtext.ide.editor.contentassist.IProposalConflictHelper; +import org.eclipse.xtext.ide.editor.contentassist.antlr.AntlrProposalConflictHelper; +import org.eclipse.xtext.ide.editor.contentassist.antlr.IContentAssistParser; +import org.eclipse.xtext.ide.editor.contentassist.antlr.internal.Lexer; +import org.eclipse.xtext.ide.refactoring.IRenameStrategy2; +import org.eclipse.xtext.ide.server.rename.IRenameService2; +import org.eclipse.xtext.ide.server.rename.RenameService2; +import swt.most.statemachine.xtext.ide.contentassist.antlr.ParserParser; +import swt.most.statemachine.xtext.ide.contentassist.antlr.internal.InternalParserLexer; + +/** + * Manual modifications go to {@link ParserIdeModule}. + */ +@SuppressWarnings("all") +public abstract class AbstractParserIdeModule extends DefaultIdeModule { + + // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2 + public void configureContentAssistLexer(Binder binder) { + binder.bind(Lexer.class) + .annotatedWith(Names.named(LexerIdeBindings.CONTENT_ASSIST)) + .to(InternalParserLexer.class); + } + + // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2 + public Class<? extends IContentAssistParser> bindIContentAssistParser() { + return ParserParser.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2 + public Class<? extends IProposalConflictHelper> bindIProposalConflictHelper() { + return AntlrProposalConflictHelper.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.exporting.QualifiedNamesFragment2 + public Class<? extends IPrefixMatcher> bindIPrefixMatcher() { + return FQNPrefixMatcher.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.ui.refactoring.RefactorElementNameFragment2 + public Class<? extends IRenameService2> bindIRenameService2() { + return RenameService2.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.ui.refactoring.RefactorElementNameFragment2 + public Class<? extends IRenameStrategy2> bindIRenameStrategy2() { + return IRenameStrategy2.DefaultImpl.class; + } + +} diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ide/src-gen/swt/most/statemachine/xtext/ide/contentassist/antlr/ParserParser.java b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ide/src-gen/swt/most/statemachine/xtext/ide/contentassist/antlr/ParserParser.java new file mode 100644 index 0000000..8bb3855 --- /dev/null +++ b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ide/src-gen/swt/most/statemachine/xtext/ide/contentassist/antlr/ParserParser.java @@ -0,0 +1,112 @@ +/* + * generated by Xtext 2.35.0 + */ +package swt.most.statemachine.xtext.ide.contentassist.antlr; + +import com.google.common.collect.ImmutableMap; +import com.google.inject.Inject; +import com.google.inject.Singleton; +import java.util.Map; +import org.eclipse.xtext.AbstractElement; +import org.eclipse.xtext.ide.editor.contentassist.antlr.AbstractContentAssistParser; +import swt.most.statemachine.xtext.ide.contentassist.antlr.internal.InternalParserParser; +import swt.most.statemachine.xtext.services.ParserGrammarAccess; + +public class ParserParser extends AbstractContentAssistParser { + + @Singleton + public static final class NameMappings { + + private final Map<AbstractElement, String> mappings; + + @Inject + public NameMappings(ParserGrammarAccess grammarAccess) { + ImmutableMap.Builder<AbstractElement, String> builder = ImmutableMap.builder(); + init(builder, grammarAccess); + this.mappings = builder.build(); + } + + public String getRuleName(AbstractElement element) { + return mappings.get(element); + } + + private static void init(ImmutableMap.Builder<AbstractElement, String> builder, ParserGrammarAccess grammarAccess) { + builder.put(grammarAccess.getStateMachineAccess().getAlternatives_5(), "rule__StateMachine__Alternatives_5"); + builder.put(grammarAccess.getStateAccess().getAlternatives(), "rule__State__Alternatives"); + builder.put(grammarAccess.getActivityContentAccess().getAlternatives(), "rule__ActivityContent__Alternatives"); + builder.put(grammarAccess.getEStringAccess().getAlternatives(), "rule__EString__Alternatives"); + builder.put(grammarAccess.getStateMachineAccess().getGroup(), "rule__StateMachine__Group__0"); + builder.put(grammarAccess.getNormalStateAccess().getGroup(), "rule__NormalState__Group__0"); + builder.put(grammarAccess.getNormalStateAccess().getGroup_3(), "rule__NormalState__Group_3__0"); + builder.put(grammarAccess.getNormalStateAccess().getGroup_3_1(), "rule__NormalState__Group_3_1__0"); + builder.put(grammarAccess.getNormalStateAccess().getGroup_3_2(), "rule__NormalState__Group_3_2__0"); + builder.put(grammarAccess.getNormalStateAccess().getGroup_3_3(), "rule__NormalState__Group_3_3__0"); + builder.put(grammarAccess.getFinalStateAccess().getGroup(), "rule__FinalState__Group__0"); + builder.put(grammarAccess.getInitialStateAccess().getGroup(), "rule__InitialState__Group__0"); + builder.put(grammarAccess.getTransitionAccess().getGroup(), "rule__Transition__Group__0"); + builder.put(grammarAccess.getTransitionAccess().getGroup_4(), "rule__Transition__Group_4__0"); + builder.put(grammarAccess.getTransitionAccess().getGroup_5(), "rule__Transition__Group_5__0"); + builder.put(grammarAccess.getActionAccess().getGroup(), "rule__Action__Group__0"); + builder.put(grammarAccess.getTriggerAccess().getGroup(), "rule__Trigger__Group__0"); + builder.put(grammarAccess.getGuardAccess().getGroup(), "rule__Guard__Group__0"); + builder.put(grammarAccess.getStateMachineAccess().getNameAssignment_2(), "rule__StateMachine__NameAssignment_2"); + builder.put(grammarAccess.getStateMachineAccess().getInitialstateAssignment_4(), "rule__StateMachine__InitialstateAssignment_4"); + builder.put(grammarAccess.getStateMachineAccess().getStatesAssignment_5_0(), "rule__StateMachine__StatesAssignment_5_0"); + builder.put(grammarAccess.getStateMachineAccess().getFinalstatesAssignment_5_1(), "rule__StateMachine__FinalstatesAssignment_5_1"); + builder.put(grammarAccess.getStateMachineAccess().getTransitionsAssignment_5_2(), "rule__StateMachine__TransitionsAssignment_5_2"); + builder.put(grammarAccess.getNormalStateAccess().getNameAssignment_2(), "rule__NormalState__NameAssignment_2"); + builder.put(grammarAccess.getNormalStateAccess().getEntry_Assignment_3_1_1(), "rule__NormalState__Entry_Assignment_3_1_1"); + builder.put(grammarAccess.getNormalStateAccess().getDo_Assignment_3_2_1(), "rule__NormalState__Do_Assignment_3_2_1"); + builder.put(grammarAccess.getNormalStateAccess().getExit_Assignment_3_3_1(), "rule__NormalState__Exit_Assignment_3_3_1"); + builder.put(grammarAccess.getFinalStateAccess().getNameAssignment_2(), "rule__FinalState__NameAssignment_2"); + builder.put(grammarAccess.getInitialStateAccess().getNameAssignment_2(), "rule__InitialState__NameAssignment_2"); + builder.put(grammarAccess.getTransitionAccess().getFromAssignment_1(), "rule__Transition__FromAssignment_1"); + builder.put(grammarAccess.getTransitionAccess().getTriggerAssignment_3(), "rule__Transition__TriggerAssignment_3"); + builder.put(grammarAccess.getTransitionAccess().getGuardAssignment_4_1(), "rule__Transition__GuardAssignment_4_1"); + builder.put(grammarAccess.getTransitionAccess().getActionAssignment_5_1(), "rule__Transition__ActionAssignment_5_1"); + builder.put(grammarAccess.getTransitionAccess().getToAssignment_7(), "rule__Transition__ToAssignment_7"); + builder.put(grammarAccess.getActionAccess().getContentAssignment_1(), "rule__Action__ContentAssignment_1"); + builder.put(grammarAccess.getTriggerAccess().getContentAssignment_1(), "rule__Trigger__ContentAssignment_1"); + builder.put(grammarAccess.getGuardAccess().getContentAssignment_1(), "rule__Guard__ContentAssignment_1"); + } + } + + @Inject + private NameMappings nameMappings; + + @Inject + private ParserGrammarAccess grammarAccess; + + @Override + protected InternalParserParser createParser() { + InternalParserParser result = new InternalParserParser(null); + result.setGrammarAccess(grammarAccess); + return result; + } + + @Override + protected String getRuleName(AbstractElement element) { + return nameMappings.getRuleName(element); + } + + @Override + protected String[] getInitialHiddenTokens() { + return new String[] { "RULE_WS", "RULE_ML_COMMENT", "RULE_SL_COMMENT" }; + } + + public ParserGrammarAccess getGrammarAccess() { + return this.grammarAccess; + } + + public void setGrammarAccess(ParserGrammarAccess grammarAccess) { + this.grammarAccess = grammarAccess; + } + + public NameMappings getNameMappings() { + return nameMappings; + } + + public void setNameMappings(NameMappings nameMappings) { + this.nameMappings = nameMappings; + } +} diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ide/src-gen/swt/most/statemachine/xtext/ide/contentassist/antlr/PartialParserContentAssistParser.java b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ide/src-gen/swt/most/statemachine/xtext/ide/contentassist/antlr/PartialParserContentAssistParser.java new file mode 100644 index 0000000..9229e6f --- /dev/null +++ b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ide/src-gen/swt/most/statemachine/xtext/ide/contentassist/antlr/PartialParserContentAssistParser.java @@ -0,0 +1,33 @@ +/* + * generated by Xtext 2.35.0 + */ +package swt.most.statemachine.xtext.ide.contentassist.antlr; + +import java.util.Collection; +import java.util.Collections; +import org.eclipse.xtext.AbstractRule; +import org.eclipse.xtext.ide.editor.contentassist.antlr.FollowElement; +import org.eclipse.xtext.ide.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser; +import org.eclipse.xtext.util.PolymorphicDispatcher; + +public class PartialParserContentAssistParser extends ParserParser { + + private AbstractRule rule; + + @Override + public void initializeFor(AbstractRule rule) { + this.rule = rule; + } + + @Override + protected Collection<FollowElement> getFollowElements(AbstractInternalContentAssistParser parser) { + if (rule == null || rule.eIsProxy()) + return Collections.emptyList(); + String methodName = "entryRule" + rule.getName(); + PolymorphicDispatcher<Collection<FollowElement>> dispatcher = + new PolymorphicDispatcher<Collection<FollowElement>>(methodName, 0, 0, Collections.singletonList(parser)); + dispatcher.invoke(); + return parser.getFollowElements(); + } + +} diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ide/src-gen/swt/most/statemachine/xtext/ide/contentassist/antlr/internal/InternalParser.g b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ide/src-gen/swt/most/statemachine/xtext/ide/contentassist/antlr/internal/InternalParser.g new file mode 100644 index 0000000..2991bbc --- /dev/null +++ b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ide/src-gen/swt/most/statemachine/xtext/ide/contentassist/antlr/internal/InternalParser.g @@ -0,0 +1,1969 @@ +/* + * generated by Xtext 2.35.0 + */ +grammar InternalParser; + +options { + superClass=AbstractInternalContentAssistParser; +} + +@lexer::header { +package swt.most.statemachine.xtext.ide.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.ide.editor.contentassist.antlr.internal.Lexer; +} + +@parser::header { +package swt.most.statemachine.xtext.ide.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.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.ide.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser; +import org.eclipse.xtext.ide.editor.contentassist.antlr.internal.DFA; +import swt.most.statemachine.xtext.services.ParserGrammarAccess; + +} +@parser::members { + private ParserGrammarAccess grammarAccess; + + public void setGrammarAccess(ParserGrammarAccess grammarAccess) { + this.grammarAccess = grammarAccess; + } + + @Override + protected Grammar getGrammar() { + return grammarAccess.getGrammar(); + } + + @Override + protected String getValueForTokenName(String tokenName) { + return tokenName; + } +} + +// 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 entryRuleNormalState +entryRuleNormalState +: +{ before(grammarAccess.getNormalStateRule()); } + ruleNormalState +{ after(grammarAccess.getNormalStateRule()); } + EOF +; + +// Rule NormalState +ruleNormalState + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getNormalStateAccess().getGroup()); } + (rule__NormalState__Group__0) + { after(grammarAccess.getNormalStateAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleFinalState +entryRuleFinalState +: +{ before(grammarAccess.getFinalStateRule()); } + ruleFinalState +{ after(grammarAccess.getFinalStateRule()); } + EOF +; + +// Rule FinalState +ruleFinalState + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getFinalStateAccess().getGroup()); } + (rule__FinalState__Group__0) + { after(grammarAccess.getFinalStateAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleInitialState +entryRuleInitialState +: +{ before(grammarAccess.getInitialStateRule()); } + ruleInitialState +{ after(grammarAccess.getInitialStateRule()); } + EOF +; + +// Rule InitialState +ruleInitialState + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getInitialStateAccess().getGroup()); } + (rule__InitialState__Group__0) + { after(grammarAccess.getInitialStateAccess().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().getGroup()); } + (rule__Transition__Group__0) + { after(grammarAccess.getTransitionAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleAction +entryRuleAction +: +{ before(grammarAccess.getActionRule()); } + ruleAction +{ after(grammarAccess.getActionRule()); } + EOF +; + +// Rule Action +ruleAction + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getActionAccess().getGroup()); } + (rule__Action__Group__0) + { after(grammarAccess.getActionAccess().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 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 entryRuleActivityContent +entryRuleActivityContent +: +{ before(grammarAccess.getActivityContentRule()); } + ruleActivityContent +{ after(grammarAccess.getActivityContentRule()); } + EOF +; + +// Rule ActivityContent +ruleActivityContent + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getActivityContentAccess().getAlternatives()); } + (rule__ActivityContent__Alternatives) + { after(grammarAccess.getActivityContentAccess().getAlternatives()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleEString +entryRuleEString +: +{ before(grammarAccess.getEStringRule()); } + ruleEString +{ after(grammarAccess.getEStringRule()); } + EOF +; + +// Rule EString +ruleEString + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getEStringAccess().getAlternatives()); } + (rule__EString__Alternatives) + { after(grammarAccess.getEStringAccess().getAlternatives()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__StateMachine__Alternatives_5 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getStateMachineAccess().getStatesAssignment_5_0()); } + (rule__StateMachine__StatesAssignment_5_0) + { after(grammarAccess.getStateMachineAccess().getStatesAssignment_5_0()); } + ) + | + ( + { before(grammarAccess.getStateMachineAccess().getFinalstatesAssignment_5_1()); } + (rule__StateMachine__FinalstatesAssignment_5_1) + { after(grammarAccess.getStateMachineAccess().getFinalstatesAssignment_5_1()); } + ) + | + ( + { before(grammarAccess.getStateMachineAccess().getTransitionsAssignment_5_2()); } + (rule__StateMachine__TransitionsAssignment_5_2) + { after(grammarAccess.getStateMachineAccess().getTransitionsAssignment_5_2()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ActivityContent__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getActivityContentAccess().getSTRINGTerminalRuleCall_0()); } + RULE_STRING + { after(grammarAccess.getActivityContentAccess().getSTRINGTerminalRuleCall_0()); } + ) + | + ( + { before(grammarAccess.getActivityContentAccess().getIDTerminalRuleCall_1()); } + RULE_ID + { after(grammarAccess.getActivityContentAccess().getIDTerminalRuleCall_1()); } + ) + | + ( + { before(grammarAccess.getActivityContentAccess().getCALLTerminalRuleCall_2()); } + RULE_CALL + { after(grammarAccess.getActivityContentAccess().getCALLTerminalRuleCall_2()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__EString__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getEStringAccess().getSTRINGTerminalRuleCall_0()); } + RULE_STRING + { after(grammarAccess.getEStringAccess().getSTRINGTerminalRuleCall_0()); } + ) + | + ( + { before(grammarAccess.getEStringAccess().getIDTerminalRuleCall_1()); } + RULE_ID + { after(grammarAccess.getEStringAccess().getIDTerminalRuleCall_1()); } + ) + | + ( + { before(grammarAccess.getEStringAccess().getINITIALSTATENAMETerminalRuleCall_2()); } + RULE_INITIALSTATENAME + { after(grammarAccess.getEStringAccess().getINITIALSTATENAMETerminalRuleCall_2()); } + ) + | + ( + { before(grammarAccess.getEStringAccess().getFINALSTATENAMETerminalRuleCall_3()); } + RULE_FINALSTATENAME + { after(grammarAccess.getEStringAccess().getFINALSTATENAMETerminalRuleCall_3()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__StateMachine__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__StateMachine__Group__0__Impl + rule__StateMachine__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__StateMachine__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getStateMachineAccess().getStateMachineAction_0()); } + () + { after(grammarAccess.getStateMachineAccess().getStateMachineAction_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__StateMachine__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__StateMachine__Group__1__Impl + rule__StateMachine__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__StateMachine__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getStateMachineAccess().getStateMachineKeyword_1()); } + 'StateMachine' + { after(grammarAccess.getStateMachineAccess().getStateMachineKeyword_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__StateMachine__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__StateMachine__Group__2__Impl + rule__StateMachine__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__StateMachine__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getStateMachineAccess().getNameAssignment_2()); } + (rule__StateMachine__NameAssignment_2) + { after(grammarAccess.getStateMachineAccess().getNameAssignment_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__StateMachine__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__StateMachine__Group__3__Impl + rule__StateMachine__Group__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__StateMachine__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getStateMachineAccess().getLeftCurlyBracketKeyword_3()); } + '{' + { after(grammarAccess.getStateMachineAccess().getLeftCurlyBracketKeyword_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__StateMachine__Group__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__StateMachine__Group__4__Impl + rule__StateMachine__Group__5 +; +finally { + restoreStackSize(stackSize); +} + +rule__StateMachine__Group__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getStateMachineAccess().getInitialstateAssignment_4()); } + (rule__StateMachine__InitialstateAssignment_4) + { after(grammarAccess.getStateMachineAccess().getInitialstateAssignment_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__StateMachine__Group__5 + @init { + int stackSize = keepStackSize(); + } +: + rule__StateMachine__Group__5__Impl + rule__StateMachine__Group__6 +; +finally { + restoreStackSize(stackSize); +} + +rule__StateMachine__Group__5__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getStateMachineAccess().getAlternatives_5()); } + (rule__StateMachine__Alternatives_5)* + { after(grammarAccess.getStateMachineAccess().getAlternatives_5()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__StateMachine__Group__6 + @init { + int stackSize = keepStackSize(); + } +: + rule__StateMachine__Group__6__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__StateMachine__Group__6__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getStateMachineAccess().getRightCurlyBracketKeyword_6()); } + '}' + { after(grammarAccess.getStateMachineAccess().getRightCurlyBracketKeyword_6()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__NormalState__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__NormalState__Group__0__Impl + rule__NormalState__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__NormalState__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getNormalStateAccess().getNormalStateAction_0()); } + () + { after(grammarAccess.getNormalStateAccess().getNormalStateAction_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__NormalState__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__NormalState__Group__1__Impl + rule__NormalState__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__NormalState__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getNormalStateAccess().getStateKeyword_1()); } + 'state' + { after(grammarAccess.getNormalStateAccess().getStateKeyword_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__NormalState__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__NormalState__Group__2__Impl + rule__NormalState__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__NormalState__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getNormalStateAccess().getNameAssignment_2()); } + (rule__NormalState__NameAssignment_2) + { after(grammarAccess.getNormalStateAccess().getNameAssignment_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__NormalState__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__NormalState__Group__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__NormalState__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getNormalStateAccess().getGroup_3()); } + (rule__NormalState__Group_3__0)? + { after(grammarAccess.getNormalStateAccess().getGroup_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__NormalState__Group_3__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__NormalState__Group_3__0__Impl + rule__NormalState__Group_3__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__NormalState__Group_3__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getNormalStateAccess().getLeftCurlyBracketKeyword_3_0()); } + '{' + { after(grammarAccess.getNormalStateAccess().getLeftCurlyBracketKeyword_3_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__NormalState__Group_3__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__NormalState__Group_3__1__Impl + rule__NormalState__Group_3__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__NormalState__Group_3__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getNormalStateAccess().getGroup_3_1()); } + (rule__NormalState__Group_3_1__0)? + { after(grammarAccess.getNormalStateAccess().getGroup_3_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__NormalState__Group_3__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__NormalState__Group_3__2__Impl + rule__NormalState__Group_3__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__NormalState__Group_3__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getNormalStateAccess().getGroup_3_2()); } + (rule__NormalState__Group_3_2__0)? + { after(grammarAccess.getNormalStateAccess().getGroup_3_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__NormalState__Group_3__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__NormalState__Group_3__3__Impl + rule__NormalState__Group_3__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__NormalState__Group_3__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getNormalStateAccess().getGroup_3_3()); } + (rule__NormalState__Group_3_3__0)? + { after(grammarAccess.getNormalStateAccess().getGroup_3_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__NormalState__Group_3__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__NormalState__Group_3__4__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__NormalState__Group_3__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getNormalStateAccess().getRightCurlyBracketKeyword_3_4()); } + '}' + { after(grammarAccess.getNormalStateAccess().getRightCurlyBracketKeyword_3_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__NormalState__Group_3_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__NormalState__Group_3_1__0__Impl + rule__NormalState__Group_3_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__NormalState__Group_3_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getNormalStateAccess().getEntryKeyword_3_1_0()); } + 'entry:' + { after(grammarAccess.getNormalStateAccess().getEntryKeyword_3_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__NormalState__Group_3_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__NormalState__Group_3_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__NormalState__Group_3_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getNormalStateAccess().getEntry_Assignment_3_1_1()); } + (rule__NormalState__Entry_Assignment_3_1_1) + { after(grammarAccess.getNormalStateAccess().getEntry_Assignment_3_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__NormalState__Group_3_2__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__NormalState__Group_3_2__0__Impl + rule__NormalState__Group_3_2__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__NormalState__Group_3_2__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getNormalStateAccess().getDoKeyword_3_2_0()); } + 'do:' + { after(grammarAccess.getNormalStateAccess().getDoKeyword_3_2_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__NormalState__Group_3_2__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__NormalState__Group_3_2__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__NormalState__Group_3_2__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getNormalStateAccess().getDo_Assignment_3_2_1()); } + (rule__NormalState__Do_Assignment_3_2_1) + { after(grammarAccess.getNormalStateAccess().getDo_Assignment_3_2_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__NormalState__Group_3_3__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__NormalState__Group_3_3__0__Impl + rule__NormalState__Group_3_3__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__NormalState__Group_3_3__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getNormalStateAccess().getExitKeyword_3_3_0()); } + 'exit:' + { after(grammarAccess.getNormalStateAccess().getExitKeyword_3_3_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__NormalState__Group_3_3__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__NormalState__Group_3_3__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__NormalState__Group_3_3__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getNormalStateAccess().getExit_Assignment_3_3_1()); } + (rule__NormalState__Exit_Assignment_3_3_1) + { after(grammarAccess.getNormalStateAccess().getExit_Assignment_3_3_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__FinalState__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__FinalState__Group__0__Impl + rule__FinalState__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__FinalState__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getFinalStateAccess().getFinalStateAction_0()); } + () + { after(grammarAccess.getFinalStateAccess().getFinalStateAction_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__FinalState__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__FinalState__Group__1__Impl + rule__FinalState__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__FinalState__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getFinalStateAccess().getEndKeyword_1()); } + 'end' + { after(grammarAccess.getFinalStateAccess().getEndKeyword_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__FinalState__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__FinalState__Group__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__FinalState__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getFinalStateAccess().getNameAssignment_2()); } + (rule__FinalState__NameAssignment_2) + { after(grammarAccess.getFinalStateAccess().getNameAssignment_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__InitialState__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__InitialState__Group__0__Impl + rule__InitialState__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__InitialState__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInitialStateAccess().getInitialStateAction_0()); } + () + { after(grammarAccess.getInitialStateAccess().getInitialStateAction_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__InitialState__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__InitialState__Group__1__Impl + rule__InitialState__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__InitialState__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInitialStateAccess().getStartKeyword_1()); } + 'start' + { after(grammarAccess.getInitialStateAccess().getStartKeyword_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__InitialState__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__InitialState__Group__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__InitialState__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInitialStateAccess().getNameAssignment_2()); } + (rule__InitialState__NameAssignment_2) + { after(grammarAccess.getInitialStateAccess().getNameAssignment_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__Transition__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__Transition__Group__0__Impl + rule__Transition__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__Transition__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getTransitionAccess().getTransitionAction_0()); } + () + { after(grammarAccess.getTransitionAccess().getTransitionAction_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Transition__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__Transition__Group__1__Impl + rule__Transition__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__Transition__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getTransitionAccess().getFromAssignment_1()); } + (rule__Transition__FromAssignment_1) + { after(grammarAccess.getTransitionAccess().getFromAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Transition__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__Transition__Group__2__Impl + rule__Transition__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__Transition__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getTransitionAccess().getHyphenMinusKeyword_2()); } + '-' + { after(grammarAccess.getTransitionAccess().getHyphenMinusKeyword_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Transition__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__Transition__Group__3__Impl + rule__Transition__Group__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__Transition__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getTransitionAccess().getTriggerAssignment_3()); } + (rule__Transition__TriggerAssignment_3)? + { after(grammarAccess.getTransitionAccess().getTriggerAssignment_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Transition__Group__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__Transition__Group__4__Impl + rule__Transition__Group__5 +; +finally { + restoreStackSize(stackSize); +} + +rule__Transition__Group__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getTransitionAccess().getGroup_4()); } + (rule__Transition__Group_4__0)? + { after(grammarAccess.getTransitionAccess().getGroup_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Transition__Group__5 + @init { + int stackSize = keepStackSize(); + } +: + rule__Transition__Group__5__Impl + rule__Transition__Group__6 +; +finally { + restoreStackSize(stackSize); +} + +rule__Transition__Group__5__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getTransitionAccess().getGroup_5()); } + (rule__Transition__Group_5__0)? + { after(grammarAccess.getTransitionAccess().getGroup_5()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Transition__Group__6 + @init { + int stackSize = keepStackSize(); + } +: + rule__Transition__Group__6__Impl + rule__Transition__Group__7 +; +finally { + restoreStackSize(stackSize); +} + +rule__Transition__Group__6__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getTransitionAccess().getHyphenMinusGreaterThanSignKeyword_6()); } + '->' + { after(grammarAccess.getTransitionAccess().getHyphenMinusGreaterThanSignKeyword_6()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Transition__Group__7 + @init { + int stackSize = keepStackSize(); + } +: + rule__Transition__Group__7__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__Transition__Group__7__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getTransitionAccess().getToAssignment_7()); } + (rule__Transition__ToAssignment_7) + { after(grammarAccess.getTransitionAccess().getToAssignment_7()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__Transition__Group_4__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__Transition__Group_4__0__Impl + rule__Transition__Group_4__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__Transition__Group_4__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getTransitionAccess().getLeftSquareBracketKeyword_4_0()); } + '[' + { after(grammarAccess.getTransitionAccess().getLeftSquareBracketKeyword_4_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Transition__Group_4__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__Transition__Group_4__1__Impl + rule__Transition__Group_4__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__Transition__Group_4__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getTransitionAccess().getGuardAssignment_4_1()); } + (rule__Transition__GuardAssignment_4_1) + { after(grammarAccess.getTransitionAccess().getGuardAssignment_4_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Transition__Group_4__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__Transition__Group_4__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__Transition__Group_4__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getTransitionAccess().getRightSquareBracketKeyword_4_2()); } + ']' + { after(grammarAccess.getTransitionAccess().getRightSquareBracketKeyword_4_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__Transition__Group_5__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__Transition__Group_5__0__Impl + rule__Transition__Group_5__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__Transition__Group_5__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getTransitionAccess().getSolidusKeyword_5_0()); } + '/' + { after(grammarAccess.getTransitionAccess().getSolidusKeyword_5_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Transition__Group_5__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__Transition__Group_5__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__Transition__Group_5__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getTransitionAccess().getActionAssignment_5_1()); } + (rule__Transition__ActionAssignment_5_1) + { after(grammarAccess.getTransitionAccess().getActionAssignment_5_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__Action__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__Action__Group__0__Impl + rule__Action__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__Action__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getActionAccess().getActionAction_0()); } + () + { after(grammarAccess.getActionAccess().getActionAction_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Action__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__Action__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__Action__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getActionAccess().getContentAssignment_1()); } + (rule__Action__ContentAssignment_1) + { after(grammarAccess.getActionAccess().getContentAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__Trigger__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__Trigger__Group__0__Impl + rule__Trigger__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__Trigger__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getTriggerAccess().getTriggerAction_0()); } + () + { after(grammarAccess.getTriggerAccess().getTriggerAction_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Trigger__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__Trigger__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__Trigger__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getTriggerAccess().getContentAssignment_1()); } + (rule__Trigger__ContentAssignment_1) + { after(grammarAccess.getTriggerAccess().getContentAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__Guard__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__Guard__Group__0__Impl + rule__Guard__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__Guard__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getGuardAccess().getGuardAction_0()); } + () + { after(grammarAccess.getGuardAccess().getGuardAction_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Guard__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__Guard__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__Guard__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getGuardAccess().getContentAssignment_1()); } + (rule__Guard__ContentAssignment_1) + { after(grammarAccess.getGuardAccess().getContentAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__StateMachine__NameAssignment_2 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getStateMachineAccess().getNameEStringParserRuleCall_2_0()); } + ruleEString + { after(grammarAccess.getStateMachineAccess().getNameEStringParserRuleCall_2_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__StateMachine__InitialstateAssignment_4 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getStateMachineAccess().getInitialstateInitialStateParserRuleCall_4_0()); } + ruleInitialState + { after(grammarAccess.getStateMachineAccess().getInitialstateInitialStateParserRuleCall_4_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__StateMachine__StatesAssignment_5_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getStateMachineAccess().getStatesNormalStateParserRuleCall_5_0_0()); } + ruleNormalState + { after(grammarAccess.getStateMachineAccess().getStatesNormalStateParserRuleCall_5_0_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__StateMachine__FinalstatesAssignment_5_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getStateMachineAccess().getFinalstatesFinalStateParserRuleCall_5_1_0()); } + ruleFinalState + { after(grammarAccess.getStateMachineAccess().getFinalstatesFinalStateParserRuleCall_5_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__StateMachine__TransitionsAssignment_5_2 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getStateMachineAccess().getTransitionsTransitionParserRuleCall_5_2_0()); } + ruleTransition + { after(grammarAccess.getStateMachineAccess().getTransitionsTransitionParserRuleCall_5_2_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__NormalState__NameAssignment_2 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getNormalStateAccess().getNameEStringParserRuleCall_2_0()); } + ruleEString + { after(grammarAccess.getNormalStateAccess().getNameEStringParserRuleCall_2_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__NormalState__Entry_Assignment_3_1_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getNormalStateAccess().getEntry_ActionParserRuleCall_3_1_1_0()); } + ruleAction + { after(grammarAccess.getNormalStateAccess().getEntry_ActionParserRuleCall_3_1_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__NormalState__Do_Assignment_3_2_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getNormalStateAccess().getDo_ActionParserRuleCall_3_2_1_0()); } + ruleAction + { after(grammarAccess.getNormalStateAccess().getDo_ActionParserRuleCall_3_2_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__NormalState__Exit_Assignment_3_3_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getNormalStateAccess().getExit_ActionParserRuleCall_3_3_1_0()); } + ruleAction + { after(grammarAccess.getNormalStateAccess().getExit_ActionParserRuleCall_3_3_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__FinalState__NameAssignment_2 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getFinalStateAccess().getNameFINALSTATENAMETerminalRuleCall_2_0()); } + RULE_FINALSTATENAME + { after(grammarAccess.getFinalStateAccess().getNameFINALSTATENAMETerminalRuleCall_2_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__InitialState__NameAssignment_2 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getInitialStateAccess().getNameINITIALSTATENAMETerminalRuleCall_2_0()); } + RULE_INITIALSTATENAME + { after(grammarAccess.getInitialStateAccess().getNameINITIALSTATENAMETerminalRuleCall_2_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__Transition__FromAssignment_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getTransitionAccess().getFromStateCrossReference_1_0()); } + ( + { before(grammarAccess.getTransitionAccess().getFromStateEStringParserRuleCall_1_0_1()); } + ruleEString + { after(grammarAccess.getTransitionAccess().getFromStateEStringParserRuleCall_1_0_1()); } + ) + { after(grammarAccess.getTransitionAccess().getFromStateCrossReference_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__Transition__TriggerAssignment_3 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getTransitionAccess().getTriggerTriggerParserRuleCall_3_0()); } + ruleTrigger + { after(grammarAccess.getTransitionAccess().getTriggerTriggerParserRuleCall_3_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__Transition__GuardAssignment_4_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getTransitionAccess().getGuardGuardParserRuleCall_4_1_0()); } + ruleGuard + { after(grammarAccess.getTransitionAccess().getGuardGuardParserRuleCall_4_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__Transition__ActionAssignment_5_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getTransitionAccess().getActionActionParserRuleCall_5_1_0()); } + ruleAction + { after(grammarAccess.getTransitionAccess().getActionActionParserRuleCall_5_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__Transition__ToAssignment_7 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getTransitionAccess().getToStateCrossReference_7_0()); } + ( + { before(grammarAccess.getTransitionAccess().getToStateEStringParserRuleCall_7_0_1()); } + ruleEString + { after(grammarAccess.getTransitionAccess().getToStateEStringParserRuleCall_7_0_1()); } + ) + { after(grammarAccess.getTransitionAccess().getToStateCrossReference_7_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__Action__ContentAssignment_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getActionAccess().getContentActivityContentParserRuleCall_1_0()); } + ruleActivityContent + { after(grammarAccess.getActionAccess().getContentActivityContentParserRuleCall_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__Trigger__ContentAssignment_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getTriggerAccess().getContentActivityContentParserRuleCall_1_0()); } + ruleActivityContent + { after(grammarAccess.getTriggerAccess().getContentActivityContentParserRuleCall_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__Guard__ContentAssignment_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getGuardAccess().getContentEStringParserRuleCall_1_0()); } + ruleEString + { after(grammarAccess.getGuardAccess().getContentEStringParserRuleCall_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +RULE_INITIALSTATENAME : 'I_' (RULE_INT|RULE_STRING|RULE_ID)+; + +RULE_FINALSTATENAME : 'F_' (RULE_INT|RULE_STRING|RULE_ID)+; + +RULE_CALL : RULE_ID ('.' RULE_ID)+; + +RULE_ID : '^'? ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*; + +fragment RULE_INT : ('0'..'9')+; + +RULE_STRING : ('"' ('\\' .|~(('\\'|'"')))* '"'|'\'' ('\\' .|~(('\\'|'\'')))* '\''); + +RULE_ML_COMMENT : '/*' ( options {greedy=false;} : . )*'*/'; + +RULE_SL_COMMENT : '//' ~(('\n'|'\r'))* ('\r'? '\n')?; + +RULE_WS : (' '|'\t'|'\r'|'\n')+; + +RULE_ANY_OTHER : .; diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ide/src-gen/swt/most/statemachine/xtext/ide/contentassist/antlr/internal/InternalParser.tokens b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ide/src-gen/swt/most/statemachine/xtext/ide/contentassist/antlr/internal/InternalParser.tokens new file mode 100644 index 0000000..144c9a5 --- /dev/null +++ b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ide/src-gen/swt/most/statemachine/xtext/ide/contentassist/antlr/internal/InternalParser.tokens @@ -0,0 +1,38 @@ +'-'=23 +'->'=24 +'/'=27 +'StateMachine'=14 +'['=25 +']'=26 +'do:'=19 +'end'=21 +'entry:'=18 +'exit:'=20 +'start'=22 +'state'=17 +'{'=15 +'}'=16 +RULE_ANY_OTHER=13 +RULE_CALL=6 +RULE_FINALSTATENAME=8 +RULE_ID=5 +RULE_INITIALSTATENAME=7 +RULE_INT=9 +RULE_ML_COMMENT=10 +RULE_SL_COMMENT=11 +RULE_STRING=4 +RULE_WS=12 +T__14=14 +T__15=15 +T__16=16 +T__17=17 +T__18=18 +T__19=19 +T__20=20 +T__21=21 +T__22=22 +T__23=23 +T__24=24 +T__25=25 +T__26=26 +T__27=27 diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ide/src-gen/swt/most/statemachine/xtext/ide/contentassist/antlr/internal/InternalParserLexer.java b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ide/src-gen/swt/most/statemachine/xtext/ide/contentassist/antlr/internal/InternalParserLexer.java new file mode 100644 index 0000000..097ad7c --- /dev/null +++ b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ide/src-gen/swt/most/statemachine/xtext/ide/contentassist/antlr/internal/InternalParserLexer.java @@ -0,0 +1,1541 @@ +package swt.most.statemachine.xtext.ide.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.ide.editor.contentassist.antlr.internal.Lexer; + + +import org.antlr.runtime.*; +import java.util.Stack; +import java.util.List; +import java.util.ArrayList; + +@SuppressWarnings("all") +public class InternalParserLexer extends Lexer { + public static final int RULE_STRING=4; + public static final int RULE_INITIALSTATENAME=7; + public static final int RULE_SL_COMMENT=11; + public static final int T__19=19; + public static final int T__15=15; + public static final int T__16=16; + public static final int T__17=17; + public static final int T__18=18; + public static final int T__14=14; + public static final int EOF=-1; + public static final int RULE_CALL=6; + public static final int RULE_ID=5; + public static final int RULE_WS=12; + public static final int RULE_ANY_OTHER=13; + public static final int T__26=26; + public static final int T__27=27; + public static final int RULE_FINALSTATENAME=8; + public static final int RULE_INT=9; + public static final int T__22=22; + public static final int RULE_ML_COMMENT=10; + public static final int T__23=23; + public static final int T__24=24; + public static final int T__25=25; + public static final int T__20=20; + public static final int T__21=21; + + // delegates + // delegators + + public InternalParserLexer() {;} + public InternalParserLexer(CharStream input) { + this(input, new RecognizerSharedState()); + } + public InternalParserLexer(CharStream input, RecognizerSharedState state) { + super(input,state); + + } + public String getGrammarFileName() { return "InternalParser.g"; } + + // $ANTLR start "T__14" + public final void mT__14() throws RecognitionException { + try { + int _type = T__14; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalParser.g:11:7: ( 'StateMachine' ) + // InternalParser.g:11:9: 'StateMachine' + { + match("StateMachine"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__14" + + // $ANTLR start "T__15" + public final void mT__15() throws RecognitionException { + try { + int _type = T__15; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalParser.g:12:7: ( '{' ) + // InternalParser.g:12:9: '{' + { + match('{'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__15" + + // $ANTLR start "T__16" + public final void mT__16() throws RecognitionException { + try { + int _type = T__16; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalParser.g:13:7: ( '}' ) + // InternalParser.g:13:9: '}' + { + match('}'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__16" + + // $ANTLR start "T__17" + public final void mT__17() throws RecognitionException { + try { + int _type = T__17; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalParser.g:14:7: ( 'state' ) + // InternalParser.g:14:9: 'state' + { + match("state"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__17" + + // $ANTLR start "T__18" + public final void mT__18() throws RecognitionException { + try { + int _type = T__18; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalParser.g:15:7: ( 'entry:' ) + // InternalParser.g:15:9: 'entry:' + { + match("entry:"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__18" + + // $ANTLR start "T__19" + public final void mT__19() throws RecognitionException { + try { + int _type = T__19; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalParser.g:16:7: ( 'do:' ) + // InternalParser.g:16:9: 'do:' + { + match("do:"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__19" + + // $ANTLR start "T__20" + public final void mT__20() throws RecognitionException { + try { + int _type = T__20; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalParser.g:17:7: ( 'exit:' ) + // InternalParser.g:17:9: 'exit:' + { + match("exit:"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__20" + + // $ANTLR start "T__21" + public final void mT__21() throws RecognitionException { + try { + int _type = T__21; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalParser.g:18:7: ( 'end' ) + // InternalParser.g:18:9: 'end' + { + match("end"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__21" + + // $ANTLR start "T__22" + public final void mT__22() throws RecognitionException { + try { + int _type = T__22; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalParser.g:19:7: ( 'start' ) + // InternalParser.g:19:9: 'start' + { + match("start"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__22" + + // $ANTLR start "T__23" + public final void mT__23() throws RecognitionException { + try { + int _type = T__23; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalParser.g:20:7: ( '-' ) + // InternalParser.g:20:9: '-' + { + match('-'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__23" + + // $ANTLR start "T__24" + public final void mT__24() throws RecognitionException { + try { + int _type = T__24; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalParser.g:21:7: ( '->' ) + // InternalParser.g:21:9: '->' + { + match("->"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__24" + + // $ANTLR start "T__25" + public final void mT__25() throws RecognitionException { + try { + int _type = T__25; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalParser.g:22:7: ( '[' ) + // InternalParser.g:22:9: '[' + { + match('['); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__25" + + // $ANTLR start "T__26" + public final void mT__26() throws RecognitionException { + try { + int _type = T__26; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalParser.g:23:7: ( ']' ) + // InternalParser.g:23:9: ']' + { + match(']'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__26" + + // $ANTLR start "T__27" + public final void mT__27() throws RecognitionException { + try { + int _type = T__27; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalParser.g:24:7: ( '/' ) + // InternalParser.g:24:9: '/' + { + match('/'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__27" + + // $ANTLR start "RULE_INITIALSTATENAME" + public final void mRULE_INITIALSTATENAME() throws RecognitionException { + try { + int _type = RULE_INITIALSTATENAME; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalParser.g:1951:23: ( 'I_' ( RULE_INT | RULE_STRING | RULE_ID )+ ) + // InternalParser.g:1951:25: 'I_' ( RULE_INT | RULE_STRING | RULE_ID )+ + { + match("I_"); + + // InternalParser.g:1951:30: ( RULE_INT | RULE_STRING | RULE_ID )+ + int cnt1=0; + loop1: + do { + int alt1=4; + switch ( input.LA(1) ) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + { + alt1=1; + } + break; + case '\"': + case '\'': + { + alt1=2; + } + break; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case '^': + case '_': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': + { + alt1=3; + } + break; + + } + + switch (alt1) { + case 1 : + // InternalParser.g:1951:31: RULE_INT + { + mRULE_INT(); + + } + break; + case 2 : + // InternalParser.g:1951:40: RULE_STRING + { + mRULE_STRING(); + + } + break; + case 3 : + // InternalParser.g:1951:52: RULE_ID + { + mRULE_ID(); + + } + break; + + default : + if ( cnt1 >= 1 ) break loop1; + EarlyExitException eee = + new EarlyExitException(1, input); + throw eee; + } + cnt1++; + } while (true); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_INITIALSTATENAME" + + // $ANTLR start "RULE_FINALSTATENAME" + public final void mRULE_FINALSTATENAME() throws RecognitionException { + try { + int _type = RULE_FINALSTATENAME; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalParser.g:1953:21: ( 'F_' ( RULE_INT | RULE_STRING | RULE_ID )+ ) + // InternalParser.g:1953:23: 'F_' ( RULE_INT | RULE_STRING | RULE_ID )+ + { + match("F_"); + + // InternalParser.g:1953:28: ( RULE_INT | RULE_STRING | RULE_ID )+ + int cnt2=0; + loop2: + do { + int alt2=4; + switch ( input.LA(1) ) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + { + alt2=1; + } + break; + case '\"': + case '\'': + { + alt2=2; + } + break; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case '^': + case '_': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': + { + alt2=3; + } + break; + + } + + switch (alt2) { + case 1 : + // InternalParser.g:1953:29: RULE_INT + { + mRULE_INT(); + + } + break; + case 2 : + // InternalParser.g:1953:38: RULE_STRING + { + mRULE_STRING(); + + } + break; + case 3 : + // InternalParser.g:1953:50: RULE_ID + { + mRULE_ID(); + + } + break; + + default : + if ( cnt2 >= 1 ) break loop2; + EarlyExitException eee = + new EarlyExitException(2, input); + throw eee; + } + cnt2++; + } while (true); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_FINALSTATENAME" + + // $ANTLR start "RULE_CALL" + public final void mRULE_CALL() throws RecognitionException { + try { + int _type = RULE_CALL; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalParser.g:1955:11: ( RULE_ID ( '.' RULE_ID )+ ) + // InternalParser.g:1955:13: RULE_ID ( '.' RULE_ID )+ + { + mRULE_ID(); + // InternalParser.g:1955:21: ( '.' RULE_ID )+ + int cnt3=0; + loop3: + do { + int alt3=2; + int LA3_0 = input.LA(1); + + if ( (LA3_0=='.') ) { + alt3=1; + } + + + switch (alt3) { + case 1 : + // InternalParser.g:1955:22: '.' RULE_ID + { + match('.'); + mRULE_ID(); + + } + break; + + default : + if ( cnt3 >= 1 ) break loop3; + EarlyExitException eee = + new EarlyExitException(3, input); + throw eee; + } + cnt3++; + } while (true); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_CALL" + + // $ANTLR start "RULE_ID" + public final void mRULE_ID() throws RecognitionException { + try { + int _type = RULE_ID; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalParser.g:1957:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* ) + // InternalParser.g:1957:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* + { + // InternalParser.g:1957:11: ( '^' )? + int alt4=2; + int LA4_0 = input.LA(1); + + if ( (LA4_0=='^') ) { + alt4=1; + } + switch (alt4) { + case 1 : + // InternalParser.g:1957:11: '^' + { + match('^'); + + } + break; + + } + + if ( (input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + // InternalParser.g:1957:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* + loop5: + do { + int alt5=2; + int LA5_0 = input.LA(1); + + if ( ((LA5_0>='0' && LA5_0<='9')||(LA5_0>='A' && LA5_0<='Z')||LA5_0=='_'||(LA5_0>='a' && LA5_0<='z')) ) { + alt5=1; + } + + + switch (alt5) { + case 1 : + // InternalParser.g: + { + if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + break; + + default : + break loop5; + } + } while (true); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_ID" + + // $ANTLR start "RULE_INT" + public final void mRULE_INT() throws RecognitionException { + try { + // InternalParser.g:1959:19: ( ( '0' .. '9' )+ ) + // InternalParser.g:1959:21: ( '0' .. '9' )+ + { + // InternalParser.g:1959:21: ( '0' .. '9' )+ + int cnt6=0; + loop6: + do { + int alt6=2; + int LA6_0 = input.LA(1); + + if ( ((LA6_0>='0' && LA6_0<='9')) ) { + alt6=1; + } + + + switch (alt6) { + case 1 : + // InternalParser.g:1959:22: '0' .. '9' + { + matchRange('0','9'); + + } + break; + + default : + if ( cnt6 >= 1 ) break loop6; + EarlyExitException eee = + new EarlyExitException(6, input); + throw eee; + } + cnt6++; + } while (true); + + + } + + } + finally { + } + } + // $ANTLR end "RULE_INT" + + // $ANTLR start "RULE_STRING" + public final void mRULE_STRING() throws RecognitionException { + try { + int _type = RULE_STRING; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalParser.g:1961:13: ( ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) ) + // InternalParser.g:1961:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) + { + // InternalParser.g:1961:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) + int alt9=2; + int LA9_0 = input.LA(1); + + if ( (LA9_0=='\"') ) { + alt9=1; + } + else if ( (LA9_0=='\'') ) { + alt9=2; + } + else { + NoViableAltException nvae = + new NoViableAltException("", 9, 0, input); + + throw nvae; + } + switch (alt9) { + case 1 : + // InternalParser.g:1961:16: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' + { + match('\"'); + // InternalParser.g:1961:20: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* + loop7: + do { + int alt7=3; + int LA7_0 = input.LA(1); + + if ( (LA7_0=='\\') ) { + alt7=1; + } + else if ( ((LA7_0>='\u0000' && LA7_0<='!')||(LA7_0>='#' && LA7_0<='[')||(LA7_0>=']' && LA7_0<='\uFFFF')) ) { + alt7=2; + } + + + switch (alt7) { + case 1 : + // InternalParser.g:1961:21: '\\\\' . + { + match('\\'); + matchAny(); + + } + break; + case 2 : + // InternalParser.g:1961:28: ~ ( ( '\\\\' | '\"' ) ) + { + if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + break; + + default : + break loop7; + } + } while (true); + + match('\"'); + + } + break; + case 2 : + // InternalParser.g:1961:48: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' + { + match('\''); + // InternalParser.g:1961:53: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* + loop8: + do { + int alt8=3; + int LA8_0 = input.LA(1); + + if ( (LA8_0=='\\') ) { + alt8=1; + } + else if ( ((LA8_0>='\u0000' && LA8_0<='&')||(LA8_0>='(' && LA8_0<='[')||(LA8_0>=']' && LA8_0<='\uFFFF')) ) { + alt8=2; + } + + + switch (alt8) { + case 1 : + // InternalParser.g:1961:54: '\\\\' . + { + match('\\'); + matchAny(); + + } + break; + case 2 : + // InternalParser.g:1961:61: ~ ( ( '\\\\' | '\\'' ) ) + { + if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + break; + + default : + break loop8; + } + } while (true); + + match('\''); + + } + break; + + } + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_STRING" + + // $ANTLR start "RULE_ML_COMMENT" + public final void mRULE_ML_COMMENT() throws RecognitionException { + try { + int _type = RULE_ML_COMMENT; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalParser.g:1963:17: ( '/*' ( options {greedy=false; } : . )* '*/' ) + // InternalParser.g:1963:19: '/*' ( options {greedy=false; } : . )* '*/' + { + match("/*"); + + // InternalParser.g:1963:24: ( options {greedy=false; } : . )* + loop10: + do { + int alt10=2; + int LA10_0 = input.LA(1); + + if ( (LA10_0=='*') ) { + int LA10_1 = input.LA(2); + + if ( (LA10_1=='/') ) { + alt10=2; + } + else if ( ((LA10_1>='\u0000' && LA10_1<='.')||(LA10_1>='0' && LA10_1<='\uFFFF')) ) { + alt10=1; + } + + + } + else if ( ((LA10_0>='\u0000' && LA10_0<=')')||(LA10_0>='+' && LA10_0<='\uFFFF')) ) { + alt10=1; + } + + + switch (alt10) { + case 1 : + // InternalParser.g:1963:52: . + { + matchAny(); + + } + break; + + default : + break loop10; + } + } while (true); + + match("*/"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_ML_COMMENT" + + // $ANTLR start "RULE_SL_COMMENT" + public final void mRULE_SL_COMMENT() throws RecognitionException { + try { + int _type = RULE_SL_COMMENT; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalParser.g:1965:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? ) + // InternalParser.g:1965:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? + { + match("//"); + + // InternalParser.g:1965:24: (~ ( ( '\\n' | '\\r' ) ) )* + loop11: + do { + int alt11=2; + int LA11_0 = input.LA(1); + + if ( ((LA11_0>='\u0000' && LA11_0<='\t')||(LA11_0>='\u000B' && LA11_0<='\f')||(LA11_0>='\u000E' && LA11_0<='\uFFFF')) ) { + alt11=1; + } + + + switch (alt11) { + case 1 : + // InternalParser.g:1965:24: ~ ( ( '\\n' | '\\r' ) ) + { + if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\uFFFF') ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + break; + + default : + break loop11; + } + } while (true); + + // InternalParser.g:1965:40: ( ( '\\r' )? '\\n' )? + int alt13=2; + int LA13_0 = input.LA(1); + + if ( (LA13_0=='\n'||LA13_0=='\r') ) { + alt13=1; + } + switch (alt13) { + case 1 : + // InternalParser.g:1965:41: ( '\\r' )? '\\n' + { + // InternalParser.g:1965:41: ( '\\r' )? + int alt12=2; + int LA12_0 = input.LA(1); + + if ( (LA12_0=='\r') ) { + alt12=1; + } + switch (alt12) { + case 1 : + // InternalParser.g:1965:41: '\\r' + { + match('\r'); + + } + break; + + } + + match('\n'); + + } + break; + + } + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_SL_COMMENT" + + // $ANTLR start "RULE_WS" + public final void mRULE_WS() throws RecognitionException { + try { + int _type = RULE_WS; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalParser.g:1967:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) + // InternalParser.g:1967:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ + { + // InternalParser.g:1967:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ + int cnt14=0; + loop14: + do { + int alt14=2; + int LA14_0 = input.LA(1); + + if ( ((LA14_0>='\t' && LA14_0<='\n')||LA14_0=='\r'||LA14_0==' ') ) { + alt14=1; + } + + + switch (alt14) { + case 1 : + // InternalParser.g: + { + if ( (input.LA(1)>='\t' && input.LA(1)<='\n')||input.LA(1)=='\r'||input.LA(1)==' ' ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + break; + + default : + if ( cnt14 >= 1 ) break loop14; + EarlyExitException eee = + new EarlyExitException(14, input); + throw eee; + } + cnt14++; + } while (true); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_WS" + + // $ANTLR start "RULE_ANY_OTHER" + public final void mRULE_ANY_OTHER() throws RecognitionException { + try { + int _type = RULE_ANY_OTHER; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalParser.g:1969:16: ( . ) + // InternalParser.g:1969:18: . + { + matchAny(); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_ANY_OTHER" + + public void mTokens() throws RecognitionException { + // InternalParser.g:1:8: ( T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | RULE_INITIALSTATENAME | RULE_FINALSTATENAME | RULE_CALL | RULE_ID | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER ) + int alt15=23; + alt15 = dfa15.predict(input); + switch (alt15) { + case 1 : + // InternalParser.g:1:10: T__14 + { + mT__14(); + + } + break; + case 2 : + // InternalParser.g:1:16: T__15 + { + mT__15(); + + } + break; + case 3 : + // InternalParser.g:1:22: T__16 + { + mT__16(); + + } + break; + case 4 : + // InternalParser.g:1:28: T__17 + { + mT__17(); + + } + break; + case 5 : + // InternalParser.g:1:34: T__18 + { + mT__18(); + + } + break; + case 6 : + // InternalParser.g:1:40: T__19 + { + mT__19(); + + } + break; + case 7 : + // InternalParser.g:1:46: T__20 + { + mT__20(); + + } + break; + case 8 : + // InternalParser.g:1:52: T__21 + { + mT__21(); + + } + break; + case 9 : + // InternalParser.g:1:58: T__22 + { + mT__22(); + + } + break; + case 10 : + // InternalParser.g:1:64: T__23 + { + mT__23(); + + } + break; + case 11 : + // InternalParser.g:1:70: T__24 + { + mT__24(); + + } + break; + case 12 : + // InternalParser.g:1:76: T__25 + { + mT__25(); + + } + break; + case 13 : + // InternalParser.g:1:82: T__26 + { + mT__26(); + + } + break; + case 14 : + // InternalParser.g:1:88: T__27 + { + mT__27(); + + } + break; + case 15 : + // InternalParser.g:1:94: RULE_INITIALSTATENAME + { + mRULE_INITIALSTATENAME(); + + } + break; + case 16 : + // InternalParser.g:1:116: RULE_FINALSTATENAME + { + mRULE_FINALSTATENAME(); + + } + break; + case 17 : + // InternalParser.g:1:136: RULE_CALL + { + mRULE_CALL(); + + } + break; + case 18 : + // InternalParser.g:1:146: RULE_ID + { + mRULE_ID(); + + } + break; + case 19 : + // InternalParser.g:1:154: RULE_STRING + { + mRULE_STRING(); + + } + break; + case 20 : + // InternalParser.g:1:166: RULE_ML_COMMENT + { + mRULE_ML_COMMENT(); + + } + break; + case 21 : + // InternalParser.g:1:182: RULE_SL_COMMENT + { + mRULE_SL_COMMENT(); + + } + break; + case 22 : + // InternalParser.g:1:198: RULE_WS + { + mRULE_WS(); + + } + break; + case 23 : + // InternalParser.g:1:206: RULE_ANY_OTHER + { + mRULE_ANY_OTHER(); + + } + break; + + } + + } + + + protected DFA15 dfa15 = new DFA15(this); + static final String DFA15_eotS = + "\1\uffff\1\25\2\uffff\3\25\1\36\2\uffff\1\43\2\25\1\22\1\25\2\22\2\uffff\2\25\4\uffff\4\25\7\uffff\3\25\2\uffff\3\25\1\71\1\25\1\uffff\2\61\1\uffff\1\63\1\uffff\1\63\4\25\1\uffff\1\25\2\61\2\63\1\25\1\105\1\106\1\25\1\uffff\1\25\3\uffff\5\25\1\116\1\uffff"; + static final String DFA15_eofS = + "\117\uffff"; + static final String DFA15_minS = + "\1\0\1\56\2\uffff\3\56\1\76\2\uffff\1\52\2\56\1\101\1\56\2\0\2\uffff\2\56\4\uffff\4\56\7\uffff\2\42\1\56\2\uffff\5\56\1\uffff\2\56\1\uffff\1\56\1\uffff\5\56\1\uffff\11\56\1\uffff\1\56\3\uffff\6\56\1\uffff"; + static final String DFA15_maxS = + "\1\uffff\1\172\2\uffff\3\172\1\76\2\uffff\1\57\4\172\2\uffff\2\uffff\2\172\4\uffff\4\172\7\uffff\3\172\2\uffff\5\172\1\uffff\2\172\1\uffff\1\172\1\uffff\5\172\1\uffff\11\172\1\uffff\1\172\3\uffff\6\172\1\uffff"; + static final String DFA15_acceptS = + "\2\uffff\1\2\1\3\4\uffff\1\14\1\15\7\uffff\1\26\1\27\2\uffff\1\22\1\21\1\2\1\3\4\uffff\1\13\1\12\1\14\1\15\1\24\1\25\1\16\3\uffff\1\23\1\26\5\uffff\1\6\2\uffff\1\17\1\uffff\1\20\5\uffff\1\10\11\uffff\1\7\1\uffff\1\4\1\11\1\5\6\uffff\1\1"; + static final String DFA15_specialS = + "\1\0\16\uffff\1\1\1\2\76\uffff}>"; + static final String[] DFA15_transitionS = { + "\11\22\2\21\2\22\1\21\22\22\1\21\1\22\1\17\4\22\1\20\5\22\1\7\1\22\1\12\21\22\5\16\1\14\2\16\1\13\11\16\1\1\7\16\1\10\1\22\1\11\1\15\1\16\1\22\3\16\1\6\1\5\15\16\1\4\7\16\1\2\1\22\1\3\uff82\22", + "\1\26\1\uffff\12\24\7\uffff\32\24\4\uffff\1\24\1\uffff\23\24\1\23\6\24", + "", + "", + "\1\26\1\uffff\12\24\7\uffff\32\24\4\uffff\1\24\1\uffff\23\24\1\31\6\24", + "\1\26\1\uffff\12\24\7\uffff\32\24\4\uffff\1\24\1\uffff\15\24\1\32\11\24\1\33\2\24", + "\1\26\1\uffff\12\24\7\uffff\32\24\4\uffff\1\24\1\uffff\16\24\1\34\13\24", + "\1\35", + "", + "", + "\1\41\4\uffff\1\42", + "\1\26\1\uffff\12\24\7\uffff\32\24\4\uffff\1\44\1\uffff\32\24", + "\1\26\1\uffff\12\24\7\uffff\32\24\4\uffff\1\45\1\uffff\32\24", + "\32\46\4\uffff\1\46\1\uffff\32\46", + "\1\26\1\uffff\12\24\7\uffff\32\24\4\uffff\1\24\1\uffff\32\24", + "\0\47", + "\0\47", + "", + "", + "\1\26\1\uffff\12\24\7\uffff\32\24\4\uffff\1\24\1\uffff\1\51\31\24", + "\1\26\1\uffff\12\24\7\uffff\32\24\4\uffff\1\24\1\uffff\32\24", + "", + "", + "", + "", + "\1\26\1\uffff\12\24\7\uffff\32\24\4\uffff\1\24\1\uffff\1\52\31\24", + "\1\26\1\uffff\12\24\7\uffff\32\24\4\uffff\1\24\1\uffff\3\24\1\54\17\24\1\53\6\24", + "\1\26\1\uffff\12\24\7\uffff\32\24\4\uffff\1\24\1\uffff\10\24\1\55\21\24", + "\1\26\1\uffff\12\24\1\56\6\uffff\32\24\4\uffff\1\24\1\uffff\32\24", + "", + "", + "", + "", + "", + "", + "", + "\1\61\4\uffff\1\61\6\uffff\1\26\1\uffff\12\57\7\uffff\32\60\3\uffff\1\61\1\60\1\uffff\32\60", + "\1\63\4\uffff\1\63\6\uffff\1\26\1\uffff\12\62\7\uffff\32\64\3\uffff\1\63\1\64\1\uffff\32\64", + "\1\26\1\uffff\12\24\7\uffff\32\24\4\uffff\1\24\1\uffff\32\24", + "", + "", + "\1\26\1\uffff\12\24\7\uffff\32\24\4\uffff\1\24\1\uffff\23\24\1\65\6\24", + "\1\26\1\uffff\12\24\7\uffff\32\24\4\uffff\1\24\1\uffff\21\24\1\67\1\24\1\66\6\24", + "\1\26\1\uffff\12\24\7\uffff\32\24\4\uffff\1\24\1\uffff\21\24\1\70\10\24", + "\1\26\1\uffff\12\24\7\uffff\32\24\4\uffff\1\24\1\uffff\32\24", + "\1\26\1\uffff\12\24\7\uffff\32\24\4\uffff\1\24\1\uffff\23\24\1\72\6\24", + "", + "\1\26\1\uffff\12\57\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\26\1\uffff\12\73\7\uffff\32\74\4\uffff\1\74\1\uffff\32\74", + "", + "\1\26\1\uffff\12\62\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", + "", + "\1\26\1\uffff\12\75\7\uffff\32\76\4\uffff\1\76\1\uffff\32\76", + "\1\26\1\uffff\12\24\7\uffff\32\24\4\uffff\1\24\1\uffff\4\24\1\77\25\24", + "\1\26\1\uffff\12\24\7\uffff\32\24\4\uffff\1\24\1\uffff\4\24\1\100\25\24", + "\1\26\1\uffff\12\24\7\uffff\32\24\4\uffff\1\24\1\uffff\23\24\1\101\6\24", + "\1\26\1\uffff\12\24\7\uffff\32\24\4\uffff\1\24\1\uffff\30\24\1\102\1\24", + "", + "\1\26\1\uffff\12\24\1\103\6\uffff\32\24\4\uffff\1\24\1\uffff\32\24", + "\1\26\1\uffff\12\73\7\uffff\32\74\4\uffff\1\74\1\uffff\32\74", + "\1\26\1\uffff\12\73\7\uffff\32\74\4\uffff\1\74\1\uffff\32\74", + "\1\26\1\uffff\12\75\7\uffff\32\76\4\uffff\1\76\1\uffff\32\76", + "\1\26\1\uffff\12\75\7\uffff\32\76\4\uffff\1\76\1\uffff\32\76", + "\1\26\1\uffff\12\24\7\uffff\14\24\1\104\15\24\4\uffff\1\24\1\uffff\32\24", + "\1\26\1\uffff\12\24\7\uffff\32\24\4\uffff\1\24\1\uffff\32\24", + "\1\26\1\uffff\12\24\7\uffff\32\24\4\uffff\1\24\1\uffff\32\24", + "\1\26\1\uffff\12\24\1\107\6\uffff\32\24\4\uffff\1\24\1\uffff\32\24", + "", + "\1\26\1\uffff\12\24\7\uffff\32\24\4\uffff\1\24\1\uffff\1\110\31\24", + "", + "", + "", + "\1\26\1\uffff\12\24\7\uffff\32\24\4\uffff\1\24\1\uffff\2\24\1\111\27\24", + "\1\26\1\uffff\12\24\7\uffff\32\24\4\uffff\1\24\1\uffff\7\24\1\112\22\24", + "\1\26\1\uffff\12\24\7\uffff\32\24\4\uffff\1\24\1\uffff\10\24\1\113\21\24", + "\1\26\1\uffff\12\24\7\uffff\32\24\4\uffff\1\24\1\uffff\15\24\1\114\14\24", + "\1\26\1\uffff\12\24\7\uffff\32\24\4\uffff\1\24\1\uffff\4\24\1\115\25\24", + "\1\26\1\uffff\12\24\7\uffff\32\24\4\uffff\1\24\1\uffff\32\24", + "" + }; + + static final short[] DFA15_eot = DFA.unpackEncodedString(DFA15_eotS); + static final short[] DFA15_eof = DFA.unpackEncodedString(DFA15_eofS); + static final char[] DFA15_min = DFA.unpackEncodedStringToUnsignedChars(DFA15_minS); + static final char[] DFA15_max = DFA.unpackEncodedStringToUnsignedChars(DFA15_maxS); + static final short[] DFA15_accept = DFA.unpackEncodedString(DFA15_acceptS); + static final short[] DFA15_special = DFA.unpackEncodedString(DFA15_specialS); + static final short[][] DFA15_transition; + + static { + int numStates = DFA15_transitionS.length; + DFA15_transition = new short[numStates][]; + for (int i=0; i<numStates; i++) { + DFA15_transition[i] = DFA.unpackEncodedString(DFA15_transitionS[i]); + } + } + + class DFA15 extends DFA { + + public DFA15(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 15; + this.eot = DFA15_eot; + this.eof = DFA15_eof; + this.min = DFA15_min; + this.max = DFA15_max; + this.accept = DFA15_accept; + this.special = DFA15_special; + this.transition = DFA15_transition; + } + public String getDescription() { + return "1:1: Tokens : ( T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | RULE_INITIALSTATENAME | RULE_FINALSTATENAME | RULE_CALL | RULE_ID | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + IntStream input = _input; + int _s = s; + switch ( s ) { + case 0 : + int LA15_0 = input.LA(1); + + s = -1; + if ( (LA15_0=='S') ) {s = 1;} + + else if ( (LA15_0=='{') ) {s = 2;} + + else if ( (LA15_0=='}') ) {s = 3;} + + else if ( (LA15_0=='s') ) {s = 4;} + + else if ( (LA15_0=='e') ) {s = 5;} + + else if ( (LA15_0=='d') ) {s = 6;} + + else if ( (LA15_0=='-') ) {s = 7;} + + else if ( (LA15_0=='[') ) {s = 8;} + + else if ( (LA15_0==']') ) {s = 9;} + + else if ( (LA15_0=='/') ) {s = 10;} + + else if ( (LA15_0=='I') ) {s = 11;} + + else if ( (LA15_0=='F') ) {s = 12;} + + else if ( (LA15_0=='^') ) {s = 13;} + + else if ( ((LA15_0>='A' && LA15_0<='E')||(LA15_0>='G' && LA15_0<='H')||(LA15_0>='J' && LA15_0<='R')||(LA15_0>='T' && LA15_0<='Z')||LA15_0=='_'||(LA15_0>='a' && LA15_0<='c')||(LA15_0>='f' && LA15_0<='r')||(LA15_0>='t' && LA15_0<='z')) ) {s = 14;} + + else if ( (LA15_0=='\"') ) {s = 15;} + + else if ( (LA15_0=='\'') ) {s = 16;} + + else if ( ((LA15_0>='\t' && LA15_0<='\n')||LA15_0=='\r'||LA15_0==' ') ) {s = 17;} + + else if ( ((LA15_0>='\u0000' && LA15_0<='\b')||(LA15_0>='\u000B' && LA15_0<='\f')||(LA15_0>='\u000E' && LA15_0<='\u001F')||LA15_0=='!'||(LA15_0>='#' && LA15_0<='&')||(LA15_0>='(' && LA15_0<=',')||LA15_0=='.'||(LA15_0>='0' && LA15_0<='@')||LA15_0=='\\'||LA15_0=='`'||LA15_0=='|'||(LA15_0>='~' && LA15_0<='\uFFFF')) ) {s = 18;} + + if ( s>=0 ) return s; + break; + case 1 : + int LA15_15 = input.LA(1); + + s = -1; + if ( ((LA15_15>='\u0000' && LA15_15<='\uFFFF')) ) {s = 39;} + + else s = 18; + + if ( s>=0 ) return s; + break; + case 2 : + int LA15_16 = input.LA(1); + + s = -1; + if ( ((LA15_16>='\u0000' && LA15_16<='\uFFFF')) ) {s = 39;} + + else s = 18; + + if ( s>=0 ) return s; + break; + } + NoViableAltException nvae = + new NoViableAltException(getDescription(), 15, _s, input); + error(nvae); + throw nvae; + } + } + + +} \ No newline at end of file diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ide/src-gen/swt/most/statemachine/xtext/ide/contentassist/antlr/internal/InternalParserParser.java b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ide/src-gen/swt/most/statemachine/xtext/ide/contentassist/antlr/internal/InternalParserParser.java new file mode 100644 index 0000000..39f49e9 --- /dev/null +++ b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ide/src-gen/swt/most/statemachine/xtext/ide/contentassist/antlr/internal/InternalParserParser.java @@ -0,0 +1,5786 @@ +package swt.most.statemachine.xtext.ide.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.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.ide.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser; +import org.eclipse.xtext.ide.editor.contentassist.antlr.internal.DFA; +import swt.most.statemachine.xtext.services.ParserGrammarAccess; + + + +import org.antlr.runtime.*; +import java.util.Stack; +import java.util.List; +import java.util.ArrayList; + +@SuppressWarnings("all") +public class InternalParserParser extends AbstractInternalContentAssistParser { + public static final String[] tokenNames = new String[] { + "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_STRING", "RULE_ID", "RULE_CALL", "RULE_INITIALSTATENAME", "RULE_FINALSTATENAME", "RULE_INT", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'StateMachine'", "'{'", "'}'", "'state'", "'entry:'", "'do:'", "'exit:'", "'end'", "'start'", "'-'", "'->'", "'['", "']'", "'/'" + }; + public static final int RULE_STRING=4; + public static final int RULE_INITIALSTATENAME=7; + public static final int RULE_SL_COMMENT=11; + public static final int T__19=19; + public static final int T__15=15; + public static final int T__16=16; + public static final int T__17=17; + public static final int T__18=18; + public static final int T__14=14; + public static final int EOF=-1; + public static final int RULE_CALL=6; + public static final int RULE_ID=5; + public static final int RULE_WS=12; + public static final int RULE_ANY_OTHER=13; + public static final int T__26=26; + public static final int T__27=27; + public static final int RULE_FINALSTATENAME=8; + public static final int RULE_INT=9; + public static final int T__22=22; + public static final int RULE_ML_COMMENT=10; + public static final int T__23=23; + public static final int T__24=24; + public static final int T__25=25; + public static final int T__20=20; + public static final int T__21=21; + + // delegates + // delegators + + + public InternalParserParser(TokenStream input) { + this(input, new RecognizerSharedState()); + } + public InternalParserParser(TokenStream input, RecognizerSharedState state) { + super(input, state); + + } + + + public String[] getTokenNames() { return InternalParserParser.tokenNames; } + public String getGrammarFileName() { return "InternalParser.g"; } + + + private ParserGrammarAccess grammarAccess; + + public void setGrammarAccess(ParserGrammarAccess grammarAccess) { + this.grammarAccess = grammarAccess; + } + + @Override + protected Grammar getGrammar() { + return grammarAccess.getGrammar(); + } + + @Override + protected String getValueForTokenName(String tokenName) { + return tokenName; + } + + + + // $ANTLR start "entryRuleStateMachine" + // InternalParser.g:53:1: entryRuleStateMachine : ruleStateMachine EOF ; + public final void entryRuleStateMachine() throws RecognitionException { + try { + // InternalParser.g:54:1: ( ruleStateMachine EOF ) + // InternalParser.g:55:1: ruleStateMachine EOF + { + before(grammarAccess.getStateMachineRule()); + pushFollow(FOLLOW_1); + ruleStateMachine(); + + state._fsp--; + + after(grammarAccess.getStateMachineRule()); + match(input,EOF,FOLLOW_2); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleStateMachine" + + + // $ANTLR start "ruleStateMachine" + // InternalParser.g:62:1: ruleStateMachine : ( ( rule__StateMachine__Group__0 ) ) ; + public final void ruleStateMachine() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:66:2: ( ( ( rule__StateMachine__Group__0 ) ) ) + // InternalParser.g:67:2: ( ( rule__StateMachine__Group__0 ) ) + { + // InternalParser.g:67:2: ( ( rule__StateMachine__Group__0 ) ) + // InternalParser.g:68:3: ( rule__StateMachine__Group__0 ) + { + before(grammarAccess.getStateMachineAccess().getGroup()); + // InternalParser.g:69:3: ( rule__StateMachine__Group__0 ) + // InternalParser.g:69:4: rule__StateMachine__Group__0 + { + pushFollow(FOLLOW_2); + rule__StateMachine__Group__0(); + + state._fsp--; + + + } + + after(grammarAccess.getStateMachineAccess().getGroup()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleStateMachine" + + + // $ANTLR start "entryRuleNormalState" + // InternalParser.g:78:1: entryRuleNormalState : ruleNormalState EOF ; + public final void entryRuleNormalState() throws RecognitionException { + try { + // InternalParser.g:79:1: ( ruleNormalState EOF ) + // InternalParser.g:80:1: ruleNormalState EOF + { + before(grammarAccess.getNormalStateRule()); + pushFollow(FOLLOW_1); + ruleNormalState(); + + state._fsp--; + + after(grammarAccess.getNormalStateRule()); + match(input,EOF,FOLLOW_2); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleNormalState" + + + // $ANTLR start "ruleNormalState" + // InternalParser.g:87:1: ruleNormalState : ( ( rule__NormalState__Group__0 ) ) ; + public final void ruleNormalState() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:91:2: ( ( ( rule__NormalState__Group__0 ) ) ) + // InternalParser.g:92:2: ( ( rule__NormalState__Group__0 ) ) + { + // InternalParser.g:92:2: ( ( rule__NormalState__Group__0 ) ) + // InternalParser.g:93:3: ( rule__NormalState__Group__0 ) + { + before(grammarAccess.getNormalStateAccess().getGroup()); + // InternalParser.g:94:3: ( rule__NormalState__Group__0 ) + // InternalParser.g:94:4: rule__NormalState__Group__0 + { + pushFollow(FOLLOW_2); + rule__NormalState__Group__0(); + + state._fsp--; + + + } + + after(grammarAccess.getNormalStateAccess().getGroup()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleNormalState" + + + // $ANTLR start "entryRuleFinalState" + // InternalParser.g:103:1: entryRuleFinalState : ruleFinalState EOF ; + public final void entryRuleFinalState() throws RecognitionException { + try { + // InternalParser.g:104:1: ( ruleFinalState EOF ) + // InternalParser.g:105:1: ruleFinalState EOF + { + before(grammarAccess.getFinalStateRule()); + pushFollow(FOLLOW_1); + ruleFinalState(); + + state._fsp--; + + after(grammarAccess.getFinalStateRule()); + match(input,EOF,FOLLOW_2); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleFinalState" + + + // $ANTLR start "ruleFinalState" + // InternalParser.g:112:1: ruleFinalState : ( ( rule__FinalState__Group__0 ) ) ; + public final void ruleFinalState() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:116:2: ( ( ( rule__FinalState__Group__0 ) ) ) + // InternalParser.g:117:2: ( ( rule__FinalState__Group__0 ) ) + { + // InternalParser.g:117:2: ( ( rule__FinalState__Group__0 ) ) + // InternalParser.g:118:3: ( rule__FinalState__Group__0 ) + { + before(grammarAccess.getFinalStateAccess().getGroup()); + // InternalParser.g:119:3: ( rule__FinalState__Group__0 ) + // InternalParser.g:119:4: rule__FinalState__Group__0 + { + pushFollow(FOLLOW_2); + rule__FinalState__Group__0(); + + state._fsp--; + + + } + + after(grammarAccess.getFinalStateAccess().getGroup()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleFinalState" + + + // $ANTLR start "entryRuleInitialState" + // InternalParser.g:128:1: entryRuleInitialState : ruleInitialState EOF ; + public final void entryRuleInitialState() throws RecognitionException { + try { + // InternalParser.g:129:1: ( ruleInitialState EOF ) + // InternalParser.g:130:1: ruleInitialState EOF + { + before(grammarAccess.getInitialStateRule()); + pushFollow(FOLLOW_1); + ruleInitialState(); + + state._fsp--; + + after(grammarAccess.getInitialStateRule()); + match(input,EOF,FOLLOW_2); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleInitialState" + + + // $ANTLR start "ruleInitialState" + // InternalParser.g:137:1: ruleInitialState : ( ( rule__InitialState__Group__0 ) ) ; + public final void ruleInitialState() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:141:2: ( ( ( rule__InitialState__Group__0 ) ) ) + // InternalParser.g:142:2: ( ( rule__InitialState__Group__0 ) ) + { + // InternalParser.g:142:2: ( ( rule__InitialState__Group__0 ) ) + // InternalParser.g:143:3: ( rule__InitialState__Group__0 ) + { + before(grammarAccess.getInitialStateAccess().getGroup()); + // InternalParser.g:144:3: ( rule__InitialState__Group__0 ) + // InternalParser.g:144:4: rule__InitialState__Group__0 + { + pushFollow(FOLLOW_2); + rule__InitialState__Group__0(); + + state._fsp--; + + + } + + after(grammarAccess.getInitialStateAccess().getGroup()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleInitialState" + + + // $ANTLR start "entryRuleTransition" + // InternalParser.g:153:1: entryRuleTransition : ruleTransition EOF ; + public final void entryRuleTransition() throws RecognitionException { + try { + // InternalParser.g:154:1: ( ruleTransition EOF ) + // InternalParser.g:155:1: ruleTransition EOF + { + before(grammarAccess.getTransitionRule()); + pushFollow(FOLLOW_1); + ruleTransition(); + + state._fsp--; + + after(grammarAccess.getTransitionRule()); + match(input,EOF,FOLLOW_2); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleTransition" + + + // $ANTLR start "ruleTransition" + // InternalParser.g:162:1: ruleTransition : ( ( rule__Transition__Group__0 ) ) ; + public final void ruleTransition() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:166:2: ( ( ( rule__Transition__Group__0 ) ) ) + // InternalParser.g:167:2: ( ( rule__Transition__Group__0 ) ) + { + // InternalParser.g:167:2: ( ( rule__Transition__Group__0 ) ) + // InternalParser.g:168:3: ( rule__Transition__Group__0 ) + { + before(grammarAccess.getTransitionAccess().getGroup()); + // InternalParser.g:169:3: ( rule__Transition__Group__0 ) + // InternalParser.g:169:4: rule__Transition__Group__0 + { + pushFollow(FOLLOW_2); + rule__Transition__Group__0(); + + state._fsp--; + + + } + + after(grammarAccess.getTransitionAccess().getGroup()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleTransition" + + + // $ANTLR start "entryRuleAction" + // InternalParser.g:178:1: entryRuleAction : ruleAction EOF ; + public final void entryRuleAction() throws RecognitionException { + try { + // InternalParser.g:179:1: ( ruleAction EOF ) + // InternalParser.g:180:1: ruleAction EOF + { + before(grammarAccess.getActionRule()); + pushFollow(FOLLOW_1); + ruleAction(); + + state._fsp--; + + after(grammarAccess.getActionRule()); + match(input,EOF,FOLLOW_2); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleAction" + + + // $ANTLR start "ruleAction" + // InternalParser.g:187:1: ruleAction : ( ( rule__Action__Group__0 ) ) ; + public final void ruleAction() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:191:2: ( ( ( rule__Action__Group__0 ) ) ) + // InternalParser.g:192:2: ( ( rule__Action__Group__0 ) ) + { + // InternalParser.g:192:2: ( ( rule__Action__Group__0 ) ) + // InternalParser.g:193:3: ( rule__Action__Group__0 ) + { + before(grammarAccess.getActionAccess().getGroup()); + // InternalParser.g:194:3: ( rule__Action__Group__0 ) + // InternalParser.g:194:4: rule__Action__Group__0 + { + pushFollow(FOLLOW_2); + rule__Action__Group__0(); + + state._fsp--; + + + } + + after(grammarAccess.getActionAccess().getGroup()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleAction" + + + // $ANTLR start "entryRuleTrigger" + // InternalParser.g:203:1: entryRuleTrigger : ruleTrigger EOF ; + public final void entryRuleTrigger() throws RecognitionException { + try { + // InternalParser.g:204:1: ( ruleTrigger EOF ) + // InternalParser.g:205:1: ruleTrigger EOF + { + before(grammarAccess.getTriggerRule()); + pushFollow(FOLLOW_1); + ruleTrigger(); + + state._fsp--; + + after(grammarAccess.getTriggerRule()); + match(input,EOF,FOLLOW_2); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleTrigger" + + + // $ANTLR start "ruleTrigger" + // InternalParser.g:212:1: ruleTrigger : ( ( rule__Trigger__Group__0 ) ) ; + public final void ruleTrigger() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:216:2: ( ( ( rule__Trigger__Group__0 ) ) ) + // InternalParser.g:217:2: ( ( rule__Trigger__Group__0 ) ) + { + // InternalParser.g:217:2: ( ( rule__Trigger__Group__0 ) ) + // InternalParser.g:218:3: ( rule__Trigger__Group__0 ) + { + before(grammarAccess.getTriggerAccess().getGroup()); + // InternalParser.g:219:3: ( rule__Trigger__Group__0 ) + // InternalParser.g:219:4: rule__Trigger__Group__0 + { + pushFollow(FOLLOW_2); + rule__Trigger__Group__0(); + + state._fsp--; + + + } + + after(grammarAccess.getTriggerAccess().getGroup()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleTrigger" + + + // $ANTLR start "entryRuleGuard" + // InternalParser.g:228:1: entryRuleGuard : ruleGuard EOF ; + public final void entryRuleGuard() throws RecognitionException { + try { + // InternalParser.g:229:1: ( ruleGuard EOF ) + // InternalParser.g:230:1: ruleGuard EOF + { + before(grammarAccess.getGuardRule()); + pushFollow(FOLLOW_1); + ruleGuard(); + + state._fsp--; + + after(grammarAccess.getGuardRule()); + match(input,EOF,FOLLOW_2); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleGuard" + + + // $ANTLR start "ruleGuard" + // InternalParser.g:237:1: ruleGuard : ( ( rule__Guard__Group__0 ) ) ; + public final void ruleGuard() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:241:2: ( ( ( rule__Guard__Group__0 ) ) ) + // InternalParser.g:242:2: ( ( rule__Guard__Group__0 ) ) + { + // InternalParser.g:242:2: ( ( rule__Guard__Group__0 ) ) + // InternalParser.g:243:3: ( rule__Guard__Group__0 ) + { + before(grammarAccess.getGuardAccess().getGroup()); + // InternalParser.g:244:3: ( rule__Guard__Group__0 ) + // InternalParser.g:244:4: rule__Guard__Group__0 + { + pushFollow(FOLLOW_2); + rule__Guard__Group__0(); + + state._fsp--; + + + } + + after(grammarAccess.getGuardAccess().getGroup()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleGuard" + + + // $ANTLR start "entryRuleActivityContent" + // InternalParser.g:253:1: entryRuleActivityContent : ruleActivityContent EOF ; + public final void entryRuleActivityContent() throws RecognitionException { + try { + // InternalParser.g:254:1: ( ruleActivityContent EOF ) + // InternalParser.g:255:1: ruleActivityContent EOF + { + before(grammarAccess.getActivityContentRule()); + pushFollow(FOLLOW_1); + ruleActivityContent(); + + state._fsp--; + + after(grammarAccess.getActivityContentRule()); + match(input,EOF,FOLLOW_2); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleActivityContent" + + + // $ANTLR start "ruleActivityContent" + // InternalParser.g:262:1: ruleActivityContent : ( ( rule__ActivityContent__Alternatives ) ) ; + public final void ruleActivityContent() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:266:2: ( ( ( rule__ActivityContent__Alternatives ) ) ) + // InternalParser.g:267:2: ( ( rule__ActivityContent__Alternatives ) ) + { + // InternalParser.g:267:2: ( ( rule__ActivityContent__Alternatives ) ) + // InternalParser.g:268:3: ( rule__ActivityContent__Alternatives ) + { + before(grammarAccess.getActivityContentAccess().getAlternatives()); + // InternalParser.g:269:3: ( rule__ActivityContent__Alternatives ) + // InternalParser.g:269:4: rule__ActivityContent__Alternatives + { + pushFollow(FOLLOW_2); + rule__ActivityContent__Alternatives(); + + state._fsp--; + + + } + + after(grammarAccess.getActivityContentAccess().getAlternatives()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleActivityContent" + + + // $ANTLR start "entryRuleEString" + // InternalParser.g:278:1: entryRuleEString : ruleEString EOF ; + public final void entryRuleEString() throws RecognitionException { + try { + // InternalParser.g:279:1: ( ruleEString EOF ) + // InternalParser.g:280:1: ruleEString EOF + { + before(grammarAccess.getEStringRule()); + pushFollow(FOLLOW_1); + ruleEString(); + + state._fsp--; + + after(grammarAccess.getEStringRule()); + match(input,EOF,FOLLOW_2); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleEString" + + + // $ANTLR start "ruleEString" + // InternalParser.g:287:1: ruleEString : ( ( rule__EString__Alternatives ) ) ; + public final void ruleEString() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:291:2: ( ( ( rule__EString__Alternatives ) ) ) + // InternalParser.g:292:2: ( ( rule__EString__Alternatives ) ) + { + // InternalParser.g:292:2: ( ( rule__EString__Alternatives ) ) + // InternalParser.g:293:3: ( rule__EString__Alternatives ) + { + before(grammarAccess.getEStringAccess().getAlternatives()); + // InternalParser.g:294:3: ( rule__EString__Alternatives ) + // InternalParser.g:294:4: rule__EString__Alternatives + { + pushFollow(FOLLOW_2); + rule__EString__Alternatives(); + + state._fsp--; + + + } + + after(grammarAccess.getEStringAccess().getAlternatives()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleEString" + + + // $ANTLR start "rule__StateMachine__Alternatives_5" + // InternalParser.g:302:1: rule__StateMachine__Alternatives_5 : ( ( ( rule__StateMachine__StatesAssignment_5_0 ) ) | ( ( rule__StateMachine__FinalstatesAssignment_5_1 ) ) | ( ( rule__StateMachine__TransitionsAssignment_5_2 ) ) ); + public final void rule__StateMachine__Alternatives_5() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:306:1: ( ( ( rule__StateMachine__StatesAssignment_5_0 ) ) | ( ( rule__StateMachine__FinalstatesAssignment_5_1 ) ) | ( ( rule__StateMachine__TransitionsAssignment_5_2 ) ) ) + int alt1=3; + switch ( input.LA(1) ) { + case 17: + { + alt1=1; + } + break; + case 21: + { + alt1=2; + } + break; + case RULE_STRING: + case RULE_ID: + case RULE_INITIALSTATENAME: + case RULE_FINALSTATENAME: + { + alt1=3; + } + break; + default: + NoViableAltException nvae = + new NoViableAltException("", 1, 0, input); + + throw nvae; + } + + switch (alt1) { + case 1 : + // InternalParser.g:307:2: ( ( rule__StateMachine__StatesAssignment_5_0 ) ) + { + // InternalParser.g:307:2: ( ( rule__StateMachine__StatesAssignment_5_0 ) ) + // InternalParser.g:308:3: ( rule__StateMachine__StatesAssignment_5_0 ) + { + before(grammarAccess.getStateMachineAccess().getStatesAssignment_5_0()); + // InternalParser.g:309:3: ( rule__StateMachine__StatesAssignment_5_0 ) + // InternalParser.g:309:4: rule__StateMachine__StatesAssignment_5_0 + { + pushFollow(FOLLOW_2); + rule__StateMachine__StatesAssignment_5_0(); + + state._fsp--; + + + } + + after(grammarAccess.getStateMachineAccess().getStatesAssignment_5_0()); + + } + + + } + break; + case 2 : + // InternalParser.g:313:2: ( ( rule__StateMachine__FinalstatesAssignment_5_1 ) ) + { + // InternalParser.g:313:2: ( ( rule__StateMachine__FinalstatesAssignment_5_1 ) ) + // InternalParser.g:314:3: ( rule__StateMachine__FinalstatesAssignment_5_1 ) + { + before(grammarAccess.getStateMachineAccess().getFinalstatesAssignment_5_1()); + // InternalParser.g:315:3: ( rule__StateMachine__FinalstatesAssignment_5_1 ) + // InternalParser.g:315:4: rule__StateMachine__FinalstatesAssignment_5_1 + { + pushFollow(FOLLOW_2); + rule__StateMachine__FinalstatesAssignment_5_1(); + + state._fsp--; + + + } + + after(grammarAccess.getStateMachineAccess().getFinalstatesAssignment_5_1()); + + } + + + } + break; + case 3 : + // InternalParser.g:319:2: ( ( rule__StateMachine__TransitionsAssignment_5_2 ) ) + { + // InternalParser.g:319:2: ( ( rule__StateMachine__TransitionsAssignment_5_2 ) ) + // InternalParser.g:320:3: ( rule__StateMachine__TransitionsAssignment_5_2 ) + { + before(grammarAccess.getStateMachineAccess().getTransitionsAssignment_5_2()); + // InternalParser.g:321:3: ( rule__StateMachine__TransitionsAssignment_5_2 ) + // InternalParser.g:321:4: rule__StateMachine__TransitionsAssignment_5_2 + { + pushFollow(FOLLOW_2); + rule__StateMachine__TransitionsAssignment_5_2(); + + state._fsp--; + + + } + + after(grammarAccess.getStateMachineAccess().getTransitionsAssignment_5_2()); + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__StateMachine__Alternatives_5" + + + // $ANTLR start "rule__ActivityContent__Alternatives" + // InternalParser.g:329:1: rule__ActivityContent__Alternatives : ( ( RULE_STRING ) | ( RULE_ID ) | ( RULE_CALL ) ); + public final void rule__ActivityContent__Alternatives() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:333:1: ( ( RULE_STRING ) | ( RULE_ID ) | ( RULE_CALL ) ) + int alt2=3; + switch ( input.LA(1) ) { + case RULE_STRING: + { + alt2=1; + } + break; + case RULE_ID: + { + alt2=2; + } + break; + case RULE_CALL: + { + alt2=3; + } + break; + default: + NoViableAltException nvae = + new NoViableAltException("", 2, 0, input); + + throw nvae; + } + + switch (alt2) { + case 1 : + // InternalParser.g:334:2: ( RULE_STRING ) + { + // InternalParser.g:334:2: ( RULE_STRING ) + // InternalParser.g:335:3: RULE_STRING + { + before(grammarAccess.getActivityContentAccess().getSTRINGTerminalRuleCall_0()); + match(input,RULE_STRING,FOLLOW_2); + after(grammarAccess.getActivityContentAccess().getSTRINGTerminalRuleCall_0()); + + } + + + } + break; + case 2 : + // InternalParser.g:340:2: ( RULE_ID ) + { + // InternalParser.g:340:2: ( RULE_ID ) + // InternalParser.g:341:3: RULE_ID + { + before(grammarAccess.getActivityContentAccess().getIDTerminalRuleCall_1()); + match(input,RULE_ID,FOLLOW_2); + after(grammarAccess.getActivityContentAccess().getIDTerminalRuleCall_1()); + + } + + + } + break; + case 3 : + // InternalParser.g:346:2: ( RULE_CALL ) + { + // InternalParser.g:346:2: ( RULE_CALL ) + // InternalParser.g:347:3: RULE_CALL + { + before(grammarAccess.getActivityContentAccess().getCALLTerminalRuleCall_2()); + match(input,RULE_CALL,FOLLOW_2); + after(grammarAccess.getActivityContentAccess().getCALLTerminalRuleCall_2()); + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ActivityContent__Alternatives" + + + // $ANTLR start "rule__EString__Alternatives" + // InternalParser.g:356:1: rule__EString__Alternatives : ( ( RULE_STRING ) | ( RULE_ID ) | ( RULE_INITIALSTATENAME ) | ( RULE_FINALSTATENAME ) ); + public final void rule__EString__Alternatives() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:360:1: ( ( RULE_STRING ) | ( RULE_ID ) | ( RULE_INITIALSTATENAME ) | ( RULE_FINALSTATENAME ) ) + int alt3=4; + switch ( input.LA(1) ) { + case RULE_STRING: + { + alt3=1; + } + break; + case RULE_ID: + { + alt3=2; + } + break; + case RULE_INITIALSTATENAME: + { + alt3=3; + } + break; + case RULE_FINALSTATENAME: + { + alt3=4; + } + break; + default: + NoViableAltException nvae = + new NoViableAltException("", 3, 0, input); + + throw nvae; + } + + switch (alt3) { + case 1 : + // InternalParser.g:361:2: ( RULE_STRING ) + { + // InternalParser.g:361:2: ( RULE_STRING ) + // InternalParser.g:362:3: RULE_STRING + { + before(grammarAccess.getEStringAccess().getSTRINGTerminalRuleCall_0()); + match(input,RULE_STRING,FOLLOW_2); + after(grammarAccess.getEStringAccess().getSTRINGTerminalRuleCall_0()); + + } + + + } + break; + case 2 : + // InternalParser.g:367:2: ( RULE_ID ) + { + // InternalParser.g:367:2: ( RULE_ID ) + // InternalParser.g:368:3: RULE_ID + { + before(grammarAccess.getEStringAccess().getIDTerminalRuleCall_1()); + match(input,RULE_ID,FOLLOW_2); + after(grammarAccess.getEStringAccess().getIDTerminalRuleCall_1()); + + } + + + } + break; + case 3 : + // InternalParser.g:373:2: ( RULE_INITIALSTATENAME ) + { + // InternalParser.g:373:2: ( RULE_INITIALSTATENAME ) + // InternalParser.g:374:3: RULE_INITIALSTATENAME + { + before(grammarAccess.getEStringAccess().getINITIALSTATENAMETerminalRuleCall_2()); + match(input,RULE_INITIALSTATENAME,FOLLOW_2); + after(grammarAccess.getEStringAccess().getINITIALSTATENAMETerminalRuleCall_2()); + + } + + + } + break; + case 4 : + // InternalParser.g:379:2: ( RULE_FINALSTATENAME ) + { + // InternalParser.g:379:2: ( RULE_FINALSTATENAME ) + // InternalParser.g:380:3: RULE_FINALSTATENAME + { + before(grammarAccess.getEStringAccess().getFINALSTATENAMETerminalRuleCall_3()); + match(input,RULE_FINALSTATENAME,FOLLOW_2); + after(grammarAccess.getEStringAccess().getFINALSTATENAMETerminalRuleCall_3()); + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__EString__Alternatives" + + + // $ANTLR start "rule__StateMachine__Group__0" + // InternalParser.g:389:1: rule__StateMachine__Group__0 : rule__StateMachine__Group__0__Impl rule__StateMachine__Group__1 ; + public final void rule__StateMachine__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:393:1: ( rule__StateMachine__Group__0__Impl rule__StateMachine__Group__1 ) + // InternalParser.g:394:2: rule__StateMachine__Group__0__Impl rule__StateMachine__Group__1 + { + pushFollow(FOLLOW_3); + rule__StateMachine__Group__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__StateMachine__Group__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__StateMachine__Group__0" + + + // $ANTLR start "rule__StateMachine__Group__0__Impl" + // InternalParser.g:401:1: rule__StateMachine__Group__0__Impl : ( () ) ; + public final void rule__StateMachine__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:405:1: ( ( () ) ) + // InternalParser.g:406:1: ( () ) + { + // InternalParser.g:406:1: ( () ) + // InternalParser.g:407:2: () + { + before(grammarAccess.getStateMachineAccess().getStateMachineAction_0()); + // InternalParser.g:408:2: () + // InternalParser.g:408:3: + { + } + + after(grammarAccess.getStateMachineAccess().getStateMachineAction_0()); + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__StateMachine__Group__0__Impl" + + + // $ANTLR start "rule__StateMachine__Group__1" + // InternalParser.g:416:1: rule__StateMachine__Group__1 : rule__StateMachine__Group__1__Impl rule__StateMachine__Group__2 ; + public final void rule__StateMachine__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:420:1: ( rule__StateMachine__Group__1__Impl rule__StateMachine__Group__2 ) + // InternalParser.g:421:2: rule__StateMachine__Group__1__Impl rule__StateMachine__Group__2 + { + pushFollow(FOLLOW_4); + rule__StateMachine__Group__1__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__StateMachine__Group__2(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__StateMachine__Group__1" + + + // $ANTLR start "rule__StateMachine__Group__1__Impl" + // InternalParser.g:428:1: rule__StateMachine__Group__1__Impl : ( 'StateMachine' ) ; + public final void rule__StateMachine__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:432:1: ( ( 'StateMachine' ) ) + // InternalParser.g:433:1: ( 'StateMachine' ) + { + // InternalParser.g:433:1: ( 'StateMachine' ) + // InternalParser.g:434:2: 'StateMachine' + { + before(grammarAccess.getStateMachineAccess().getStateMachineKeyword_1()); + match(input,14,FOLLOW_2); + after(grammarAccess.getStateMachineAccess().getStateMachineKeyword_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__StateMachine__Group__1__Impl" + + + // $ANTLR start "rule__StateMachine__Group__2" + // InternalParser.g:443:1: rule__StateMachine__Group__2 : rule__StateMachine__Group__2__Impl rule__StateMachine__Group__3 ; + public final void rule__StateMachine__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:447:1: ( rule__StateMachine__Group__2__Impl rule__StateMachine__Group__3 ) + // InternalParser.g:448:2: rule__StateMachine__Group__2__Impl rule__StateMachine__Group__3 + { + pushFollow(FOLLOW_5); + rule__StateMachine__Group__2__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__StateMachine__Group__3(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__StateMachine__Group__2" + + + // $ANTLR start "rule__StateMachine__Group__2__Impl" + // InternalParser.g:455:1: rule__StateMachine__Group__2__Impl : ( ( rule__StateMachine__NameAssignment_2 ) ) ; + public final void rule__StateMachine__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:459:1: ( ( ( rule__StateMachine__NameAssignment_2 ) ) ) + // InternalParser.g:460:1: ( ( rule__StateMachine__NameAssignment_2 ) ) + { + // InternalParser.g:460:1: ( ( rule__StateMachine__NameAssignment_2 ) ) + // InternalParser.g:461:2: ( rule__StateMachine__NameAssignment_2 ) + { + before(grammarAccess.getStateMachineAccess().getNameAssignment_2()); + // InternalParser.g:462:2: ( rule__StateMachine__NameAssignment_2 ) + // InternalParser.g:462:3: rule__StateMachine__NameAssignment_2 + { + pushFollow(FOLLOW_2); + rule__StateMachine__NameAssignment_2(); + + state._fsp--; + + + } + + after(grammarAccess.getStateMachineAccess().getNameAssignment_2()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__StateMachine__Group__2__Impl" + + + // $ANTLR start "rule__StateMachine__Group__3" + // InternalParser.g:470:1: rule__StateMachine__Group__3 : rule__StateMachine__Group__3__Impl rule__StateMachine__Group__4 ; + public final void rule__StateMachine__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:474:1: ( rule__StateMachine__Group__3__Impl rule__StateMachine__Group__4 ) + // InternalParser.g:475:2: rule__StateMachine__Group__3__Impl rule__StateMachine__Group__4 + { + pushFollow(FOLLOW_6); + rule__StateMachine__Group__3__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__StateMachine__Group__4(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__StateMachine__Group__3" + + + // $ANTLR start "rule__StateMachine__Group__3__Impl" + // InternalParser.g:482:1: rule__StateMachine__Group__3__Impl : ( '{' ) ; + public final void rule__StateMachine__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:486:1: ( ( '{' ) ) + // InternalParser.g:487:1: ( '{' ) + { + // InternalParser.g:487:1: ( '{' ) + // InternalParser.g:488:2: '{' + { + before(grammarAccess.getStateMachineAccess().getLeftCurlyBracketKeyword_3()); + match(input,15,FOLLOW_2); + after(grammarAccess.getStateMachineAccess().getLeftCurlyBracketKeyword_3()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__StateMachine__Group__3__Impl" + + + // $ANTLR start "rule__StateMachine__Group__4" + // InternalParser.g:497:1: rule__StateMachine__Group__4 : rule__StateMachine__Group__4__Impl rule__StateMachine__Group__5 ; + public final void rule__StateMachine__Group__4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:501:1: ( rule__StateMachine__Group__4__Impl rule__StateMachine__Group__5 ) + // InternalParser.g:502:2: rule__StateMachine__Group__4__Impl rule__StateMachine__Group__5 + { + pushFollow(FOLLOW_7); + rule__StateMachine__Group__4__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__StateMachine__Group__5(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__StateMachine__Group__4" + + + // $ANTLR start "rule__StateMachine__Group__4__Impl" + // InternalParser.g:509:1: rule__StateMachine__Group__4__Impl : ( ( rule__StateMachine__InitialstateAssignment_4 ) ) ; + public final void rule__StateMachine__Group__4__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:513:1: ( ( ( rule__StateMachine__InitialstateAssignment_4 ) ) ) + // InternalParser.g:514:1: ( ( rule__StateMachine__InitialstateAssignment_4 ) ) + { + // InternalParser.g:514:1: ( ( rule__StateMachine__InitialstateAssignment_4 ) ) + // InternalParser.g:515:2: ( rule__StateMachine__InitialstateAssignment_4 ) + { + before(grammarAccess.getStateMachineAccess().getInitialstateAssignment_4()); + // InternalParser.g:516:2: ( rule__StateMachine__InitialstateAssignment_4 ) + // InternalParser.g:516:3: rule__StateMachine__InitialstateAssignment_4 + { + pushFollow(FOLLOW_2); + rule__StateMachine__InitialstateAssignment_4(); + + state._fsp--; + + + } + + after(grammarAccess.getStateMachineAccess().getInitialstateAssignment_4()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__StateMachine__Group__4__Impl" + + + // $ANTLR start "rule__StateMachine__Group__5" + // InternalParser.g:524:1: rule__StateMachine__Group__5 : rule__StateMachine__Group__5__Impl rule__StateMachine__Group__6 ; + public final void rule__StateMachine__Group__5() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:528:1: ( rule__StateMachine__Group__5__Impl rule__StateMachine__Group__6 ) + // InternalParser.g:529:2: rule__StateMachine__Group__5__Impl rule__StateMachine__Group__6 + { + pushFollow(FOLLOW_7); + rule__StateMachine__Group__5__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__StateMachine__Group__6(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__StateMachine__Group__5" + + + // $ANTLR start "rule__StateMachine__Group__5__Impl" + // InternalParser.g:536:1: rule__StateMachine__Group__5__Impl : ( ( rule__StateMachine__Alternatives_5 )* ) ; + public final void rule__StateMachine__Group__5__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:540:1: ( ( ( rule__StateMachine__Alternatives_5 )* ) ) + // InternalParser.g:541:1: ( ( rule__StateMachine__Alternatives_5 )* ) + { + // InternalParser.g:541:1: ( ( rule__StateMachine__Alternatives_5 )* ) + // InternalParser.g:542:2: ( rule__StateMachine__Alternatives_5 )* + { + before(grammarAccess.getStateMachineAccess().getAlternatives_5()); + // InternalParser.g:543:2: ( rule__StateMachine__Alternatives_5 )* + loop4: + do { + int alt4=2; + int LA4_0 = input.LA(1); + + if ( ((LA4_0>=RULE_STRING && LA4_0<=RULE_ID)||(LA4_0>=RULE_INITIALSTATENAME && LA4_0<=RULE_FINALSTATENAME)||LA4_0==17||LA4_0==21) ) { + alt4=1; + } + + + switch (alt4) { + case 1 : + // InternalParser.g:543:3: rule__StateMachine__Alternatives_5 + { + pushFollow(FOLLOW_8); + rule__StateMachine__Alternatives_5(); + + state._fsp--; + + + } + break; + + default : + break loop4; + } + } while (true); + + after(grammarAccess.getStateMachineAccess().getAlternatives_5()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__StateMachine__Group__5__Impl" + + + // $ANTLR start "rule__StateMachine__Group__6" + // InternalParser.g:551:1: rule__StateMachine__Group__6 : rule__StateMachine__Group__6__Impl ; + public final void rule__StateMachine__Group__6() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:555:1: ( rule__StateMachine__Group__6__Impl ) + // InternalParser.g:556:2: rule__StateMachine__Group__6__Impl + { + pushFollow(FOLLOW_2); + rule__StateMachine__Group__6__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__StateMachine__Group__6" + + + // $ANTLR start "rule__StateMachine__Group__6__Impl" + // InternalParser.g:562:1: rule__StateMachine__Group__6__Impl : ( '}' ) ; + public final void rule__StateMachine__Group__6__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:566:1: ( ( '}' ) ) + // InternalParser.g:567:1: ( '}' ) + { + // InternalParser.g:567:1: ( '}' ) + // InternalParser.g:568:2: '}' + { + before(grammarAccess.getStateMachineAccess().getRightCurlyBracketKeyword_6()); + match(input,16,FOLLOW_2); + after(grammarAccess.getStateMachineAccess().getRightCurlyBracketKeyword_6()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__StateMachine__Group__6__Impl" + + + // $ANTLR start "rule__NormalState__Group__0" + // InternalParser.g:578:1: rule__NormalState__Group__0 : rule__NormalState__Group__0__Impl rule__NormalState__Group__1 ; + public final void rule__NormalState__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:582:1: ( rule__NormalState__Group__0__Impl rule__NormalState__Group__1 ) + // InternalParser.g:583:2: rule__NormalState__Group__0__Impl rule__NormalState__Group__1 + { + pushFollow(FOLLOW_9); + rule__NormalState__Group__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__NormalState__Group__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__NormalState__Group__0" + + + // $ANTLR start "rule__NormalState__Group__0__Impl" + // InternalParser.g:590:1: rule__NormalState__Group__0__Impl : ( () ) ; + public final void rule__NormalState__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:594:1: ( ( () ) ) + // InternalParser.g:595:1: ( () ) + { + // InternalParser.g:595:1: ( () ) + // InternalParser.g:596:2: () + { + before(grammarAccess.getNormalStateAccess().getNormalStateAction_0()); + // InternalParser.g:597:2: () + // InternalParser.g:597:3: + { + } + + after(grammarAccess.getNormalStateAccess().getNormalStateAction_0()); + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__NormalState__Group__0__Impl" + + + // $ANTLR start "rule__NormalState__Group__1" + // InternalParser.g:605:1: rule__NormalState__Group__1 : rule__NormalState__Group__1__Impl rule__NormalState__Group__2 ; + public final void rule__NormalState__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:609:1: ( rule__NormalState__Group__1__Impl rule__NormalState__Group__2 ) + // InternalParser.g:610:2: rule__NormalState__Group__1__Impl rule__NormalState__Group__2 + { + pushFollow(FOLLOW_4); + rule__NormalState__Group__1__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__NormalState__Group__2(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__NormalState__Group__1" + + + // $ANTLR start "rule__NormalState__Group__1__Impl" + // InternalParser.g:617:1: rule__NormalState__Group__1__Impl : ( 'state' ) ; + public final void rule__NormalState__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:621:1: ( ( 'state' ) ) + // InternalParser.g:622:1: ( 'state' ) + { + // InternalParser.g:622:1: ( 'state' ) + // InternalParser.g:623:2: 'state' + { + before(grammarAccess.getNormalStateAccess().getStateKeyword_1()); + match(input,17,FOLLOW_2); + after(grammarAccess.getNormalStateAccess().getStateKeyword_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__NormalState__Group__1__Impl" + + + // $ANTLR start "rule__NormalState__Group__2" + // InternalParser.g:632:1: rule__NormalState__Group__2 : rule__NormalState__Group__2__Impl rule__NormalState__Group__3 ; + public final void rule__NormalState__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:636:1: ( rule__NormalState__Group__2__Impl rule__NormalState__Group__3 ) + // InternalParser.g:637:2: rule__NormalState__Group__2__Impl rule__NormalState__Group__3 + { + pushFollow(FOLLOW_5); + rule__NormalState__Group__2__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__NormalState__Group__3(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__NormalState__Group__2" + + + // $ANTLR start "rule__NormalState__Group__2__Impl" + // InternalParser.g:644:1: rule__NormalState__Group__2__Impl : ( ( rule__NormalState__NameAssignment_2 ) ) ; + public final void rule__NormalState__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:648:1: ( ( ( rule__NormalState__NameAssignment_2 ) ) ) + // InternalParser.g:649:1: ( ( rule__NormalState__NameAssignment_2 ) ) + { + // InternalParser.g:649:1: ( ( rule__NormalState__NameAssignment_2 ) ) + // InternalParser.g:650:2: ( rule__NormalState__NameAssignment_2 ) + { + before(grammarAccess.getNormalStateAccess().getNameAssignment_2()); + // InternalParser.g:651:2: ( rule__NormalState__NameAssignment_2 ) + // InternalParser.g:651:3: rule__NormalState__NameAssignment_2 + { + pushFollow(FOLLOW_2); + rule__NormalState__NameAssignment_2(); + + state._fsp--; + + + } + + after(grammarAccess.getNormalStateAccess().getNameAssignment_2()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__NormalState__Group__2__Impl" + + + // $ANTLR start "rule__NormalState__Group__3" + // InternalParser.g:659:1: rule__NormalState__Group__3 : rule__NormalState__Group__3__Impl ; + public final void rule__NormalState__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:663:1: ( rule__NormalState__Group__3__Impl ) + // InternalParser.g:664:2: rule__NormalState__Group__3__Impl + { + pushFollow(FOLLOW_2); + rule__NormalState__Group__3__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__NormalState__Group__3" + + + // $ANTLR start "rule__NormalState__Group__3__Impl" + // InternalParser.g:670:1: rule__NormalState__Group__3__Impl : ( ( rule__NormalState__Group_3__0 )? ) ; + public final void rule__NormalState__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:674:1: ( ( ( rule__NormalState__Group_3__0 )? ) ) + // InternalParser.g:675:1: ( ( rule__NormalState__Group_3__0 )? ) + { + // InternalParser.g:675:1: ( ( rule__NormalState__Group_3__0 )? ) + // InternalParser.g:676:2: ( rule__NormalState__Group_3__0 )? + { + before(grammarAccess.getNormalStateAccess().getGroup_3()); + // InternalParser.g:677:2: ( rule__NormalState__Group_3__0 )? + int alt5=2; + int LA5_0 = input.LA(1); + + if ( (LA5_0==15) ) { + alt5=1; + } + switch (alt5) { + case 1 : + // InternalParser.g:677:3: rule__NormalState__Group_3__0 + { + pushFollow(FOLLOW_2); + rule__NormalState__Group_3__0(); + + state._fsp--; + + + } + break; + + } + + after(grammarAccess.getNormalStateAccess().getGroup_3()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__NormalState__Group__3__Impl" + + + // $ANTLR start "rule__NormalState__Group_3__0" + // InternalParser.g:686:1: rule__NormalState__Group_3__0 : rule__NormalState__Group_3__0__Impl rule__NormalState__Group_3__1 ; + public final void rule__NormalState__Group_3__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:690:1: ( rule__NormalState__Group_3__0__Impl rule__NormalState__Group_3__1 ) + // InternalParser.g:691:2: rule__NormalState__Group_3__0__Impl rule__NormalState__Group_3__1 + { + pushFollow(FOLLOW_10); + rule__NormalState__Group_3__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__NormalState__Group_3__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__NormalState__Group_3__0" + + + // $ANTLR start "rule__NormalState__Group_3__0__Impl" + // InternalParser.g:698:1: rule__NormalState__Group_3__0__Impl : ( '{' ) ; + public final void rule__NormalState__Group_3__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:702:1: ( ( '{' ) ) + // InternalParser.g:703:1: ( '{' ) + { + // InternalParser.g:703:1: ( '{' ) + // InternalParser.g:704:2: '{' + { + before(grammarAccess.getNormalStateAccess().getLeftCurlyBracketKeyword_3_0()); + match(input,15,FOLLOW_2); + after(grammarAccess.getNormalStateAccess().getLeftCurlyBracketKeyword_3_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__NormalState__Group_3__0__Impl" + + + // $ANTLR start "rule__NormalState__Group_3__1" + // InternalParser.g:713:1: rule__NormalState__Group_3__1 : rule__NormalState__Group_3__1__Impl rule__NormalState__Group_3__2 ; + public final void rule__NormalState__Group_3__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:717:1: ( rule__NormalState__Group_3__1__Impl rule__NormalState__Group_3__2 ) + // InternalParser.g:718:2: rule__NormalState__Group_3__1__Impl rule__NormalState__Group_3__2 + { + pushFollow(FOLLOW_10); + rule__NormalState__Group_3__1__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__NormalState__Group_3__2(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__NormalState__Group_3__1" + + + // $ANTLR start "rule__NormalState__Group_3__1__Impl" + // InternalParser.g:725:1: rule__NormalState__Group_3__1__Impl : ( ( rule__NormalState__Group_3_1__0 )? ) ; + public final void rule__NormalState__Group_3__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:729:1: ( ( ( rule__NormalState__Group_3_1__0 )? ) ) + // InternalParser.g:730:1: ( ( rule__NormalState__Group_3_1__0 )? ) + { + // InternalParser.g:730:1: ( ( rule__NormalState__Group_3_1__0 )? ) + // InternalParser.g:731:2: ( rule__NormalState__Group_3_1__0 )? + { + before(grammarAccess.getNormalStateAccess().getGroup_3_1()); + // InternalParser.g:732:2: ( rule__NormalState__Group_3_1__0 )? + int alt6=2; + int LA6_0 = input.LA(1); + + if ( (LA6_0==18) ) { + alt6=1; + } + switch (alt6) { + case 1 : + // InternalParser.g:732:3: rule__NormalState__Group_3_1__0 + { + pushFollow(FOLLOW_2); + rule__NormalState__Group_3_1__0(); + + state._fsp--; + + + } + break; + + } + + after(grammarAccess.getNormalStateAccess().getGroup_3_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__NormalState__Group_3__1__Impl" + + + // $ANTLR start "rule__NormalState__Group_3__2" + // InternalParser.g:740:1: rule__NormalState__Group_3__2 : rule__NormalState__Group_3__2__Impl rule__NormalState__Group_3__3 ; + public final void rule__NormalState__Group_3__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:744:1: ( rule__NormalState__Group_3__2__Impl rule__NormalState__Group_3__3 ) + // InternalParser.g:745:2: rule__NormalState__Group_3__2__Impl rule__NormalState__Group_3__3 + { + pushFollow(FOLLOW_10); + rule__NormalState__Group_3__2__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__NormalState__Group_3__3(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__NormalState__Group_3__2" + + + // $ANTLR start "rule__NormalState__Group_3__2__Impl" + // InternalParser.g:752:1: rule__NormalState__Group_3__2__Impl : ( ( rule__NormalState__Group_3_2__0 )? ) ; + public final void rule__NormalState__Group_3__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:756:1: ( ( ( rule__NormalState__Group_3_2__0 )? ) ) + // InternalParser.g:757:1: ( ( rule__NormalState__Group_3_2__0 )? ) + { + // InternalParser.g:757:1: ( ( rule__NormalState__Group_3_2__0 )? ) + // InternalParser.g:758:2: ( rule__NormalState__Group_3_2__0 )? + { + before(grammarAccess.getNormalStateAccess().getGroup_3_2()); + // InternalParser.g:759:2: ( rule__NormalState__Group_3_2__0 )? + int alt7=2; + int LA7_0 = input.LA(1); + + if ( (LA7_0==19) ) { + alt7=1; + } + switch (alt7) { + case 1 : + // InternalParser.g:759:3: rule__NormalState__Group_3_2__0 + { + pushFollow(FOLLOW_2); + rule__NormalState__Group_3_2__0(); + + state._fsp--; + + + } + break; + + } + + after(grammarAccess.getNormalStateAccess().getGroup_3_2()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__NormalState__Group_3__2__Impl" + + + // $ANTLR start "rule__NormalState__Group_3__3" + // InternalParser.g:767:1: rule__NormalState__Group_3__3 : rule__NormalState__Group_3__3__Impl rule__NormalState__Group_3__4 ; + public final void rule__NormalState__Group_3__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:771:1: ( rule__NormalState__Group_3__3__Impl rule__NormalState__Group_3__4 ) + // InternalParser.g:772:2: rule__NormalState__Group_3__3__Impl rule__NormalState__Group_3__4 + { + pushFollow(FOLLOW_10); + rule__NormalState__Group_3__3__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__NormalState__Group_3__4(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__NormalState__Group_3__3" + + + // $ANTLR start "rule__NormalState__Group_3__3__Impl" + // InternalParser.g:779:1: rule__NormalState__Group_3__3__Impl : ( ( rule__NormalState__Group_3_3__0 )? ) ; + public final void rule__NormalState__Group_3__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:783:1: ( ( ( rule__NormalState__Group_3_3__0 )? ) ) + // InternalParser.g:784:1: ( ( rule__NormalState__Group_3_3__0 )? ) + { + // InternalParser.g:784:1: ( ( rule__NormalState__Group_3_3__0 )? ) + // InternalParser.g:785:2: ( rule__NormalState__Group_3_3__0 )? + { + before(grammarAccess.getNormalStateAccess().getGroup_3_3()); + // InternalParser.g:786:2: ( rule__NormalState__Group_3_3__0 )? + int alt8=2; + int LA8_0 = input.LA(1); + + if ( (LA8_0==20) ) { + alt8=1; + } + switch (alt8) { + case 1 : + // InternalParser.g:786:3: rule__NormalState__Group_3_3__0 + { + pushFollow(FOLLOW_2); + rule__NormalState__Group_3_3__0(); + + state._fsp--; + + + } + break; + + } + + after(grammarAccess.getNormalStateAccess().getGroup_3_3()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__NormalState__Group_3__3__Impl" + + + // $ANTLR start "rule__NormalState__Group_3__4" + // InternalParser.g:794:1: rule__NormalState__Group_3__4 : rule__NormalState__Group_3__4__Impl ; + public final void rule__NormalState__Group_3__4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:798:1: ( rule__NormalState__Group_3__4__Impl ) + // InternalParser.g:799:2: rule__NormalState__Group_3__4__Impl + { + pushFollow(FOLLOW_2); + rule__NormalState__Group_3__4__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__NormalState__Group_3__4" + + + // $ANTLR start "rule__NormalState__Group_3__4__Impl" + // InternalParser.g:805:1: rule__NormalState__Group_3__4__Impl : ( '}' ) ; + public final void rule__NormalState__Group_3__4__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:809:1: ( ( '}' ) ) + // InternalParser.g:810:1: ( '}' ) + { + // InternalParser.g:810:1: ( '}' ) + // InternalParser.g:811:2: '}' + { + before(grammarAccess.getNormalStateAccess().getRightCurlyBracketKeyword_3_4()); + match(input,16,FOLLOW_2); + after(grammarAccess.getNormalStateAccess().getRightCurlyBracketKeyword_3_4()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__NormalState__Group_3__4__Impl" + + + // $ANTLR start "rule__NormalState__Group_3_1__0" + // InternalParser.g:821:1: rule__NormalState__Group_3_1__0 : rule__NormalState__Group_3_1__0__Impl rule__NormalState__Group_3_1__1 ; + public final void rule__NormalState__Group_3_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:825:1: ( rule__NormalState__Group_3_1__0__Impl rule__NormalState__Group_3_1__1 ) + // InternalParser.g:826:2: rule__NormalState__Group_3_1__0__Impl rule__NormalState__Group_3_1__1 + { + pushFollow(FOLLOW_11); + rule__NormalState__Group_3_1__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__NormalState__Group_3_1__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__NormalState__Group_3_1__0" + + + // $ANTLR start "rule__NormalState__Group_3_1__0__Impl" + // InternalParser.g:833:1: rule__NormalState__Group_3_1__0__Impl : ( 'entry:' ) ; + public final void rule__NormalState__Group_3_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:837:1: ( ( 'entry:' ) ) + // InternalParser.g:838:1: ( 'entry:' ) + { + // InternalParser.g:838:1: ( 'entry:' ) + // InternalParser.g:839:2: 'entry:' + { + before(grammarAccess.getNormalStateAccess().getEntryKeyword_3_1_0()); + match(input,18,FOLLOW_2); + after(grammarAccess.getNormalStateAccess().getEntryKeyword_3_1_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__NormalState__Group_3_1__0__Impl" + + + // $ANTLR start "rule__NormalState__Group_3_1__1" + // InternalParser.g:848:1: rule__NormalState__Group_3_1__1 : rule__NormalState__Group_3_1__1__Impl ; + public final void rule__NormalState__Group_3_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:852:1: ( rule__NormalState__Group_3_1__1__Impl ) + // InternalParser.g:853:2: rule__NormalState__Group_3_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__NormalState__Group_3_1__1__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__NormalState__Group_3_1__1" + + + // $ANTLR start "rule__NormalState__Group_3_1__1__Impl" + // InternalParser.g:859:1: rule__NormalState__Group_3_1__1__Impl : ( ( rule__NormalState__Entry_Assignment_3_1_1 ) ) ; + public final void rule__NormalState__Group_3_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:863:1: ( ( ( rule__NormalState__Entry_Assignment_3_1_1 ) ) ) + // InternalParser.g:864:1: ( ( rule__NormalState__Entry_Assignment_3_1_1 ) ) + { + // InternalParser.g:864:1: ( ( rule__NormalState__Entry_Assignment_3_1_1 ) ) + // InternalParser.g:865:2: ( rule__NormalState__Entry_Assignment_3_1_1 ) + { + before(grammarAccess.getNormalStateAccess().getEntry_Assignment_3_1_1()); + // InternalParser.g:866:2: ( rule__NormalState__Entry_Assignment_3_1_1 ) + // InternalParser.g:866:3: rule__NormalState__Entry_Assignment_3_1_1 + { + pushFollow(FOLLOW_2); + rule__NormalState__Entry_Assignment_3_1_1(); + + state._fsp--; + + + } + + after(grammarAccess.getNormalStateAccess().getEntry_Assignment_3_1_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__NormalState__Group_3_1__1__Impl" + + + // $ANTLR start "rule__NormalState__Group_3_2__0" + // InternalParser.g:875:1: rule__NormalState__Group_3_2__0 : rule__NormalState__Group_3_2__0__Impl rule__NormalState__Group_3_2__1 ; + public final void rule__NormalState__Group_3_2__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:879:1: ( rule__NormalState__Group_3_2__0__Impl rule__NormalState__Group_3_2__1 ) + // InternalParser.g:880:2: rule__NormalState__Group_3_2__0__Impl rule__NormalState__Group_3_2__1 + { + pushFollow(FOLLOW_11); + rule__NormalState__Group_3_2__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__NormalState__Group_3_2__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__NormalState__Group_3_2__0" + + + // $ANTLR start "rule__NormalState__Group_3_2__0__Impl" + // InternalParser.g:887:1: rule__NormalState__Group_3_2__0__Impl : ( 'do:' ) ; + public final void rule__NormalState__Group_3_2__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:891:1: ( ( 'do:' ) ) + // InternalParser.g:892:1: ( 'do:' ) + { + // InternalParser.g:892:1: ( 'do:' ) + // InternalParser.g:893:2: 'do:' + { + before(grammarAccess.getNormalStateAccess().getDoKeyword_3_2_0()); + match(input,19,FOLLOW_2); + after(grammarAccess.getNormalStateAccess().getDoKeyword_3_2_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__NormalState__Group_3_2__0__Impl" + + + // $ANTLR start "rule__NormalState__Group_3_2__1" + // InternalParser.g:902:1: rule__NormalState__Group_3_2__1 : rule__NormalState__Group_3_2__1__Impl ; + public final void rule__NormalState__Group_3_2__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:906:1: ( rule__NormalState__Group_3_2__1__Impl ) + // InternalParser.g:907:2: rule__NormalState__Group_3_2__1__Impl + { + pushFollow(FOLLOW_2); + rule__NormalState__Group_3_2__1__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__NormalState__Group_3_2__1" + + + // $ANTLR start "rule__NormalState__Group_3_2__1__Impl" + // InternalParser.g:913:1: rule__NormalState__Group_3_2__1__Impl : ( ( rule__NormalState__Do_Assignment_3_2_1 ) ) ; + public final void rule__NormalState__Group_3_2__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:917:1: ( ( ( rule__NormalState__Do_Assignment_3_2_1 ) ) ) + // InternalParser.g:918:1: ( ( rule__NormalState__Do_Assignment_3_2_1 ) ) + { + // InternalParser.g:918:1: ( ( rule__NormalState__Do_Assignment_3_2_1 ) ) + // InternalParser.g:919:2: ( rule__NormalState__Do_Assignment_3_2_1 ) + { + before(grammarAccess.getNormalStateAccess().getDo_Assignment_3_2_1()); + // InternalParser.g:920:2: ( rule__NormalState__Do_Assignment_3_2_1 ) + // InternalParser.g:920:3: rule__NormalState__Do_Assignment_3_2_1 + { + pushFollow(FOLLOW_2); + rule__NormalState__Do_Assignment_3_2_1(); + + state._fsp--; + + + } + + after(grammarAccess.getNormalStateAccess().getDo_Assignment_3_2_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__NormalState__Group_3_2__1__Impl" + + + // $ANTLR start "rule__NormalState__Group_3_3__0" + // InternalParser.g:929:1: rule__NormalState__Group_3_3__0 : rule__NormalState__Group_3_3__0__Impl rule__NormalState__Group_3_3__1 ; + public final void rule__NormalState__Group_3_3__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:933:1: ( rule__NormalState__Group_3_3__0__Impl rule__NormalState__Group_3_3__1 ) + // InternalParser.g:934:2: rule__NormalState__Group_3_3__0__Impl rule__NormalState__Group_3_3__1 + { + pushFollow(FOLLOW_11); + rule__NormalState__Group_3_3__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__NormalState__Group_3_3__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__NormalState__Group_3_3__0" + + + // $ANTLR start "rule__NormalState__Group_3_3__0__Impl" + // InternalParser.g:941:1: rule__NormalState__Group_3_3__0__Impl : ( 'exit:' ) ; + public final void rule__NormalState__Group_3_3__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:945:1: ( ( 'exit:' ) ) + // InternalParser.g:946:1: ( 'exit:' ) + { + // InternalParser.g:946:1: ( 'exit:' ) + // InternalParser.g:947:2: 'exit:' + { + before(grammarAccess.getNormalStateAccess().getExitKeyword_3_3_0()); + match(input,20,FOLLOW_2); + after(grammarAccess.getNormalStateAccess().getExitKeyword_3_3_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__NormalState__Group_3_3__0__Impl" + + + // $ANTLR start "rule__NormalState__Group_3_3__1" + // InternalParser.g:956:1: rule__NormalState__Group_3_3__1 : rule__NormalState__Group_3_3__1__Impl ; + public final void rule__NormalState__Group_3_3__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:960:1: ( rule__NormalState__Group_3_3__1__Impl ) + // InternalParser.g:961:2: rule__NormalState__Group_3_3__1__Impl + { + pushFollow(FOLLOW_2); + rule__NormalState__Group_3_3__1__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__NormalState__Group_3_3__1" + + + // $ANTLR start "rule__NormalState__Group_3_3__1__Impl" + // InternalParser.g:967:1: rule__NormalState__Group_3_3__1__Impl : ( ( rule__NormalState__Exit_Assignment_3_3_1 ) ) ; + public final void rule__NormalState__Group_3_3__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:971:1: ( ( ( rule__NormalState__Exit_Assignment_3_3_1 ) ) ) + // InternalParser.g:972:1: ( ( rule__NormalState__Exit_Assignment_3_3_1 ) ) + { + // InternalParser.g:972:1: ( ( rule__NormalState__Exit_Assignment_3_3_1 ) ) + // InternalParser.g:973:2: ( rule__NormalState__Exit_Assignment_3_3_1 ) + { + before(grammarAccess.getNormalStateAccess().getExit_Assignment_3_3_1()); + // InternalParser.g:974:2: ( rule__NormalState__Exit_Assignment_3_3_1 ) + // InternalParser.g:974:3: rule__NormalState__Exit_Assignment_3_3_1 + { + pushFollow(FOLLOW_2); + rule__NormalState__Exit_Assignment_3_3_1(); + + state._fsp--; + + + } + + after(grammarAccess.getNormalStateAccess().getExit_Assignment_3_3_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__NormalState__Group_3_3__1__Impl" + + + // $ANTLR start "rule__FinalState__Group__0" + // InternalParser.g:983:1: rule__FinalState__Group__0 : rule__FinalState__Group__0__Impl rule__FinalState__Group__1 ; + public final void rule__FinalState__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:987:1: ( rule__FinalState__Group__0__Impl rule__FinalState__Group__1 ) + // InternalParser.g:988:2: rule__FinalState__Group__0__Impl rule__FinalState__Group__1 + { + pushFollow(FOLLOW_12); + rule__FinalState__Group__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__FinalState__Group__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FinalState__Group__0" + + + // $ANTLR start "rule__FinalState__Group__0__Impl" + // InternalParser.g:995:1: rule__FinalState__Group__0__Impl : ( () ) ; + public final void rule__FinalState__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:999:1: ( ( () ) ) + // InternalParser.g:1000:1: ( () ) + { + // InternalParser.g:1000:1: ( () ) + // InternalParser.g:1001:2: () + { + before(grammarAccess.getFinalStateAccess().getFinalStateAction_0()); + // InternalParser.g:1002:2: () + // InternalParser.g:1002:3: + { + } + + after(grammarAccess.getFinalStateAccess().getFinalStateAction_0()); + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FinalState__Group__0__Impl" + + + // $ANTLR start "rule__FinalState__Group__1" + // InternalParser.g:1010:1: rule__FinalState__Group__1 : rule__FinalState__Group__1__Impl rule__FinalState__Group__2 ; + public final void rule__FinalState__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:1014:1: ( rule__FinalState__Group__1__Impl rule__FinalState__Group__2 ) + // InternalParser.g:1015:2: rule__FinalState__Group__1__Impl rule__FinalState__Group__2 + { + pushFollow(FOLLOW_13); + rule__FinalState__Group__1__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__FinalState__Group__2(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FinalState__Group__1" + + + // $ANTLR start "rule__FinalState__Group__1__Impl" + // InternalParser.g:1022:1: rule__FinalState__Group__1__Impl : ( 'end' ) ; + public final void rule__FinalState__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:1026:1: ( ( 'end' ) ) + // InternalParser.g:1027:1: ( 'end' ) + { + // InternalParser.g:1027:1: ( 'end' ) + // InternalParser.g:1028:2: 'end' + { + before(grammarAccess.getFinalStateAccess().getEndKeyword_1()); + match(input,21,FOLLOW_2); + after(grammarAccess.getFinalStateAccess().getEndKeyword_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FinalState__Group__1__Impl" + + + // $ANTLR start "rule__FinalState__Group__2" + // InternalParser.g:1037:1: rule__FinalState__Group__2 : rule__FinalState__Group__2__Impl ; + public final void rule__FinalState__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:1041:1: ( rule__FinalState__Group__2__Impl ) + // InternalParser.g:1042:2: rule__FinalState__Group__2__Impl + { + pushFollow(FOLLOW_2); + rule__FinalState__Group__2__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FinalState__Group__2" + + + // $ANTLR start "rule__FinalState__Group__2__Impl" + // InternalParser.g:1048:1: rule__FinalState__Group__2__Impl : ( ( rule__FinalState__NameAssignment_2 ) ) ; + public final void rule__FinalState__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:1052:1: ( ( ( rule__FinalState__NameAssignment_2 ) ) ) + // InternalParser.g:1053:1: ( ( rule__FinalState__NameAssignment_2 ) ) + { + // InternalParser.g:1053:1: ( ( rule__FinalState__NameAssignment_2 ) ) + // InternalParser.g:1054:2: ( rule__FinalState__NameAssignment_2 ) + { + before(grammarAccess.getFinalStateAccess().getNameAssignment_2()); + // InternalParser.g:1055:2: ( rule__FinalState__NameAssignment_2 ) + // InternalParser.g:1055:3: rule__FinalState__NameAssignment_2 + { + pushFollow(FOLLOW_2); + rule__FinalState__NameAssignment_2(); + + state._fsp--; + + + } + + after(grammarAccess.getFinalStateAccess().getNameAssignment_2()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FinalState__Group__2__Impl" + + + // $ANTLR start "rule__InitialState__Group__0" + // InternalParser.g:1064:1: rule__InitialState__Group__0 : rule__InitialState__Group__0__Impl rule__InitialState__Group__1 ; + public final void rule__InitialState__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:1068:1: ( rule__InitialState__Group__0__Impl rule__InitialState__Group__1 ) + // InternalParser.g:1069:2: rule__InitialState__Group__0__Impl rule__InitialState__Group__1 + { + pushFollow(FOLLOW_6); + rule__InitialState__Group__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__InitialState__Group__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InitialState__Group__0" + + + // $ANTLR start "rule__InitialState__Group__0__Impl" + // InternalParser.g:1076:1: rule__InitialState__Group__0__Impl : ( () ) ; + public final void rule__InitialState__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:1080:1: ( ( () ) ) + // InternalParser.g:1081:1: ( () ) + { + // InternalParser.g:1081:1: ( () ) + // InternalParser.g:1082:2: () + { + before(grammarAccess.getInitialStateAccess().getInitialStateAction_0()); + // InternalParser.g:1083:2: () + // InternalParser.g:1083:3: + { + } + + after(grammarAccess.getInitialStateAccess().getInitialStateAction_0()); + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InitialState__Group__0__Impl" + + + // $ANTLR start "rule__InitialState__Group__1" + // InternalParser.g:1091:1: rule__InitialState__Group__1 : rule__InitialState__Group__1__Impl rule__InitialState__Group__2 ; + public final void rule__InitialState__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:1095:1: ( rule__InitialState__Group__1__Impl rule__InitialState__Group__2 ) + // InternalParser.g:1096:2: rule__InitialState__Group__1__Impl rule__InitialState__Group__2 + { + pushFollow(FOLLOW_14); + rule__InitialState__Group__1__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__InitialState__Group__2(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InitialState__Group__1" + + + // $ANTLR start "rule__InitialState__Group__1__Impl" + // InternalParser.g:1103:1: rule__InitialState__Group__1__Impl : ( 'start' ) ; + public final void rule__InitialState__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:1107:1: ( ( 'start' ) ) + // InternalParser.g:1108:1: ( 'start' ) + { + // InternalParser.g:1108:1: ( 'start' ) + // InternalParser.g:1109:2: 'start' + { + before(grammarAccess.getInitialStateAccess().getStartKeyword_1()); + match(input,22,FOLLOW_2); + after(grammarAccess.getInitialStateAccess().getStartKeyword_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InitialState__Group__1__Impl" + + + // $ANTLR start "rule__InitialState__Group__2" + // InternalParser.g:1118:1: rule__InitialState__Group__2 : rule__InitialState__Group__2__Impl ; + public final void rule__InitialState__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:1122:1: ( rule__InitialState__Group__2__Impl ) + // InternalParser.g:1123:2: rule__InitialState__Group__2__Impl + { + pushFollow(FOLLOW_2); + rule__InitialState__Group__2__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InitialState__Group__2" + + + // $ANTLR start "rule__InitialState__Group__2__Impl" + // InternalParser.g:1129:1: rule__InitialState__Group__2__Impl : ( ( rule__InitialState__NameAssignment_2 ) ) ; + public final void rule__InitialState__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:1133:1: ( ( ( rule__InitialState__NameAssignment_2 ) ) ) + // InternalParser.g:1134:1: ( ( rule__InitialState__NameAssignment_2 ) ) + { + // InternalParser.g:1134:1: ( ( rule__InitialState__NameAssignment_2 ) ) + // InternalParser.g:1135:2: ( rule__InitialState__NameAssignment_2 ) + { + before(grammarAccess.getInitialStateAccess().getNameAssignment_2()); + // InternalParser.g:1136:2: ( rule__InitialState__NameAssignment_2 ) + // InternalParser.g:1136:3: rule__InitialState__NameAssignment_2 + { + pushFollow(FOLLOW_2); + rule__InitialState__NameAssignment_2(); + + state._fsp--; + + + } + + after(grammarAccess.getInitialStateAccess().getNameAssignment_2()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InitialState__Group__2__Impl" + + + // $ANTLR start "rule__Transition__Group__0" + // InternalParser.g:1145:1: rule__Transition__Group__0 : rule__Transition__Group__0__Impl rule__Transition__Group__1 ; + public final void rule__Transition__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:1149:1: ( rule__Transition__Group__0__Impl rule__Transition__Group__1 ) + // InternalParser.g:1150:2: rule__Transition__Group__0__Impl rule__Transition__Group__1 + { + pushFollow(FOLLOW_15); + rule__Transition__Group__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__Transition__Group__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Transition__Group__0" + + + // $ANTLR start "rule__Transition__Group__0__Impl" + // InternalParser.g:1157:1: rule__Transition__Group__0__Impl : ( () ) ; + public final void rule__Transition__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:1161:1: ( ( () ) ) + // InternalParser.g:1162:1: ( () ) + { + // InternalParser.g:1162:1: ( () ) + // InternalParser.g:1163:2: () + { + before(grammarAccess.getTransitionAccess().getTransitionAction_0()); + // InternalParser.g:1164:2: () + // InternalParser.g:1164:3: + { + } + + after(grammarAccess.getTransitionAccess().getTransitionAction_0()); + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Transition__Group__0__Impl" + + + // $ANTLR start "rule__Transition__Group__1" + // InternalParser.g:1172:1: rule__Transition__Group__1 : rule__Transition__Group__1__Impl rule__Transition__Group__2 ; + public final void rule__Transition__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:1176:1: ( rule__Transition__Group__1__Impl rule__Transition__Group__2 ) + // InternalParser.g:1177:2: rule__Transition__Group__1__Impl rule__Transition__Group__2 + { + pushFollow(FOLLOW_16); + rule__Transition__Group__1__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__Transition__Group__2(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Transition__Group__1" + + + // $ANTLR start "rule__Transition__Group__1__Impl" + // InternalParser.g:1184:1: rule__Transition__Group__1__Impl : ( ( rule__Transition__FromAssignment_1 ) ) ; + public final void rule__Transition__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:1188:1: ( ( ( rule__Transition__FromAssignment_1 ) ) ) + // InternalParser.g:1189:1: ( ( rule__Transition__FromAssignment_1 ) ) + { + // InternalParser.g:1189:1: ( ( rule__Transition__FromAssignment_1 ) ) + // InternalParser.g:1190:2: ( rule__Transition__FromAssignment_1 ) + { + before(grammarAccess.getTransitionAccess().getFromAssignment_1()); + // InternalParser.g:1191:2: ( rule__Transition__FromAssignment_1 ) + // InternalParser.g:1191:3: rule__Transition__FromAssignment_1 + { + pushFollow(FOLLOW_2); + rule__Transition__FromAssignment_1(); + + state._fsp--; + + + } + + after(grammarAccess.getTransitionAccess().getFromAssignment_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Transition__Group__1__Impl" + + + // $ANTLR start "rule__Transition__Group__2" + // InternalParser.g:1199:1: rule__Transition__Group__2 : rule__Transition__Group__2__Impl rule__Transition__Group__3 ; + public final void rule__Transition__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:1203:1: ( rule__Transition__Group__2__Impl rule__Transition__Group__3 ) + // InternalParser.g:1204:2: rule__Transition__Group__2__Impl rule__Transition__Group__3 + { + pushFollow(FOLLOW_17); + rule__Transition__Group__2__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__Transition__Group__3(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Transition__Group__2" + + + // $ANTLR start "rule__Transition__Group__2__Impl" + // InternalParser.g:1211:1: rule__Transition__Group__2__Impl : ( '-' ) ; + public final void rule__Transition__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:1215:1: ( ( '-' ) ) + // InternalParser.g:1216:1: ( '-' ) + { + // InternalParser.g:1216:1: ( '-' ) + // InternalParser.g:1217:2: '-' + { + before(grammarAccess.getTransitionAccess().getHyphenMinusKeyword_2()); + match(input,23,FOLLOW_2); + after(grammarAccess.getTransitionAccess().getHyphenMinusKeyword_2()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Transition__Group__2__Impl" + + + // $ANTLR start "rule__Transition__Group__3" + // InternalParser.g:1226:1: rule__Transition__Group__3 : rule__Transition__Group__3__Impl rule__Transition__Group__4 ; + public final void rule__Transition__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:1230:1: ( rule__Transition__Group__3__Impl rule__Transition__Group__4 ) + // InternalParser.g:1231:2: rule__Transition__Group__3__Impl rule__Transition__Group__4 + { + pushFollow(FOLLOW_17); + rule__Transition__Group__3__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__Transition__Group__4(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Transition__Group__3" + + + // $ANTLR start "rule__Transition__Group__3__Impl" + // InternalParser.g:1238:1: rule__Transition__Group__3__Impl : ( ( rule__Transition__TriggerAssignment_3 )? ) ; + public final void rule__Transition__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:1242:1: ( ( ( rule__Transition__TriggerAssignment_3 )? ) ) + // InternalParser.g:1243:1: ( ( rule__Transition__TriggerAssignment_3 )? ) + { + // InternalParser.g:1243:1: ( ( rule__Transition__TriggerAssignment_3 )? ) + // InternalParser.g:1244:2: ( rule__Transition__TriggerAssignment_3 )? + { + before(grammarAccess.getTransitionAccess().getTriggerAssignment_3()); + // InternalParser.g:1245:2: ( rule__Transition__TriggerAssignment_3 )? + int alt9=2; + int LA9_0 = input.LA(1); + + if ( ((LA9_0>=RULE_STRING && LA9_0<=RULE_CALL)) ) { + alt9=1; + } + switch (alt9) { + case 1 : + // InternalParser.g:1245:3: rule__Transition__TriggerAssignment_3 + { + pushFollow(FOLLOW_2); + rule__Transition__TriggerAssignment_3(); + + state._fsp--; + + + } + break; + + } + + after(grammarAccess.getTransitionAccess().getTriggerAssignment_3()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Transition__Group__3__Impl" + + + // $ANTLR start "rule__Transition__Group__4" + // InternalParser.g:1253:1: rule__Transition__Group__4 : rule__Transition__Group__4__Impl rule__Transition__Group__5 ; + public final void rule__Transition__Group__4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:1257:1: ( rule__Transition__Group__4__Impl rule__Transition__Group__5 ) + // InternalParser.g:1258:2: rule__Transition__Group__4__Impl rule__Transition__Group__5 + { + pushFollow(FOLLOW_17); + rule__Transition__Group__4__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__Transition__Group__5(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Transition__Group__4" + + + // $ANTLR start "rule__Transition__Group__4__Impl" + // InternalParser.g:1265:1: rule__Transition__Group__4__Impl : ( ( rule__Transition__Group_4__0 )? ) ; + public final void rule__Transition__Group__4__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:1269:1: ( ( ( rule__Transition__Group_4__0 )? ) ) + // InternalParser.g:1270:1: ( ( rule__Transition__Group_4__0 )? ) + { + // InternalParser.g:1270:1: ( ( rule__Transition__Group_4__0 )? ) + // InternalParser.g:1271:2: ( rule__Transition__Group_4__0 )? + { + before(grammarAccess.getTransitionAccess().getGroup_4()); + // InternalParser.g:1272:2: ( rule__Transition__Group_4__0 )? + int alt10=2; + int LA10_0 = input.LA(1); + + if ( (LA10_0==25) ) { + alt10=1; + } + switch (alt10) { + case 1 : + // InternalParser.g:1272:3: rule__Transition__Group_4__0 + { + pushFollow(FOLLOW_2); + rule__Transition__Group_4__0(); + + state._fsp--; + + + } + break; + + } + + after(grammarAccess.getTransitionAccess().getGroup_4()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Transition__Group__4__Impl" + + + // $ANTLR start "rule__Transition__Group__5" + // InternalParser.g:1280:1: rule__Transition__Group__5 : rule__Transition__Group__5__Impl rule__Transition__Group__6 ; + public final void rule__Transition__Group__5() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:1284:1: ( rule__Transition__Group__5__Impl rule__Transition__Group__6 ) + // InternalParser.g:1285:2: rule__Transition__Group__5__Impl rule__Transition__Group__6 + { + pushFollow(FOLLOW_17); + rule__Transition__Group__5__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__Transition__Group__6(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Transition__Group__5" + + + // $ANTLR start "rule__Transition__Group__5__Impl" + // InternalParser.g:1292:1: rule__Transition__Group__5__Impl : ( ( rule__Transition__Group_5__0 )? ) ; + public final void rule__Transition__Group__5__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:1296:1: ( ( ( rule__Transition__Group_5__0 )? ) ) + // InternalParser.g:1297:1: ( ( rule__Transition__Group_5__0 )? ) + { + // InternalParser.g:1297:1: ( ( rule__Transition__Group_5__0 )? ) + // InternalParser.g:1298:2: ( rule__Transition__Group_5__0 )? + { + before(grammarAccess.getTransitionAccess().getGroup_5()); + // InternalParser.g:1299:2: ( rule__Transition__Group_5__0 )? + int alt11=2; + int LA11_0 = input.LA(1); + + if ( (LA11_0==27) ) { + alt11=1; + } + switch (alt11) { + case 1 : + // InternalParser.g:1299:3: rule__Transition__Group_5__0 + { + pushFollow(FOLLOW_2); + rule__Transition__Group_5__0(); + + state._fsp--; + + + } + break; + + } + + after(grammarAccess.getTransitionAccess().getGroup_5()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Transition__Group__5__Impl" + + + // $ANTLR start "rule__Transition__Group__6" + // InternalParser.g:1307:1: rule__Transition__Group__6 : rule__Transition__Group__6__Impl rule__Transition__Group__7 ; + public final void rule__Transition__Group__6() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:1311:1: ( rule__Transition__Group__6__Impl rule__Transition__Group__7 ) + // InternalParser.g:1312:2: rule__Transition__Group__6__Impl rule__Transition__Group__7 + { + pushFollow(FOLLOW_4); + rule__Transition__Group__6__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__Transition__Group__7(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Transition__Group__6" + + + // $ANTLR start "rule__Transition__Group__6__Impl" + // InternalParser.g:1319:1: rule__Transition__Group__6__Impl : ( '->' ) ; + public final void rule__Transition__Group__6__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:1323:1: ( ( '->' ) ) + // InternalParser.g:1324:1: ( '->' ) + { + // InternalParser.g:1324:1: ( '->' ) + // InternalParser.g:1325:2: '->' + { + before(grammarAccess.getTransitionAccess().getHyphenMinusGreaterThanSignKeyword_6()); + match(input,24,FOLLOW_2); + after(grammarAccess.getTransitionAccess().getHyphenMinusGreaterThanSignKeyword_6()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Transition__Group__6__Impl" + + + // $ANTLR start "rule__Transition__Group__7" + // InternalParser.g:1334:1: rule__Transition__Group__7 : rule__Transition__Group__7__Impl ; + public final void rule__Transition__Group__7() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:1338:1: ( rule__Transition__Group__7__Impl ) + // InternalParser.g:1339:2: rule__Transition__Group__7__Impl + { + pushFollow(FOLLOW_2); + rule__Transition__Group__7__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Transition__Group__7" + + + // $ANTLR start "rule__Transition__Group__7__Impl" + // InternalParser.g:1345:1: rule__Transition__Group__7__Impl : ( ( rule__Transition__ToAssignment_7 ) ) ; + public final void rule__Transition__Group__7__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:1349:1: ( ( ( rule__Transition__ToAssignment_7 ) ) ) + // InternalParser.g:1350:1: ( ( rule__Transition__ToAssignment_7 ) ) + { + // InternalParser.g:1350:1: ( ( rule__Transition__ToAssignment_7 ) ) + // InternalParser.g:1351:2: ( rule__Transition__ToAssignment_7 ) + { + before(grammarAccess.getTransitionAccess().getToAssignment_7()); + // InternalParser.g:1352:2: ( rule__Transition__ToAssignment_7 ) + // InternalParser.g:1352:3: rule__Transition__ToAssignment_7 + { + pushFollow(FOLLOW_2); + rule__Transition__ToAssignment_7(); + + state._fsp--; + + + } + + after(grammarAccess.getTransitionAccess().getToAssignment_7()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Transition__Group__7__Impl" + + + // $ANTLR start "rule__Transition__Group_4__0" + // InternalParser.g:1361:1: rule__Transition__Group_4__0 : rule__Transition__Group_4__0__Impl rule__Transition__Group_4__1 ; + public final void rule__Transition__Group_4__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:1365:1: ( rule__Transition__Group_4__0__Impl rule__Transition__Group_4__1 ) + // InternalParser.g:1366:2: rule__Transition__Group_4__0__Impl rule__Transition__Group_4__1 + { + pushFollow(FOLLOW_4); + rule__Transition__Group_4__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__Transition__Group_4__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Transition__Group_4__0" + + + // $ANTLR start "rule__Transition__Group_4__0__Impl" + // InternalParser.g:1373:1: rule__Transition__Group_4__0__Impl : ( '[' ) ; + public final void rule__Transition__Group_4__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:1377:1: ( ( '[' ) ) + // InternalParser.g:1378:1: ( '[' ) + { + // InternalParser.g:1378:1: ( '[' ) + // InternalParser.g:1379:2: '[' + { + before(grammarAccess.getTransitionAccess().getLeftSquareBracketKeyword_4_0()); + match(input,25,FOLLOW_2); + after(grammarAccess.getTransitionAccess().getLeftSquareBracketKeyword_4_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Transition__Group_4__0__Impl" + + + // $ANTLR start "rule__Transition__Group_4__1" + // InternalParser.g:1388:1: rule__Transition__Group_4__1 : rule__Transition__Group_4__1__Impl rule__Transition__Group_4__2 ; + public final void rule__Transition__Group_4__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:1392:1: ( rule__Transition__Group_4__1__Impl rule__Transition__Group_4__2 ) + // InternalParser.g:1393:2: rule__Transition__Group_4__1__Impl rule__Transition__Group_4__2 + { + pushFollow(FOLLOW_18); + rule__Transition__Group_4__1__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__Transition__Group_4__2(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Transition__Group_4__1" + + + // $ANTLR start "rule__Transition__Group_4__1__Impl" + // InternalParser.g:1400:1: rule__Transition__Group_4__1__Impl : ( ( rule__Transition__GuardAssignment_4_1 ) ) ; + public final void rule__Transition__Group_4__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:1404:1: ( ( ( rule__Transition__GuardAssignment_4_1 ) ) ) + // InternalParser.g:1405:1: ( ( rule__Transition__GuardAssignment_4_1 ) ) + { + // InternalParser.g:1405:1: ( ( rule__Transition__GuardAssignment_4_1 ) ) + // InternalParser.g:1406:2: ( rule__Transition__GuardAssignment_4_1 ) + { + before(grammarAccess.getTransitionAccess().getGuardAssignment_4_1()); + // InternalParser.g:1407:2: ( rule__Transition__GuardAssignment_4_1 ) + // InternalParser.g:1407:3: rule__Transition__GuardAssignment_4_1 + { + pushFollow(FOLLOW_2); + rule__Transition__GuardAssignment_4_1(); + + state._fsp--; + + + } + + after(grammarAccess.getTransitionAccess().getGuardAssignment_4_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Transition__Group_4__1__Impl" + + + // $ANTLR start "rule__Transition__Group_4__2" + // InternalParser.g:1415:1: rule__Transition__Group_4__2 : rule__Transition__Group_4__2__Impl ; + public final void rule__Transition__Group_4__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:1419:1: ( rule__Transition__Group_4__2__Impl ) + // InternalParser.g:1420:2: rule__Transition__Group_4__2__Impl + { + pushFollow(FOLLOW_2); + rule__Transition__Group_4__2__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Transition__Group_4__2" + + + // $ANTLR start "rule__Transition__Group_4__2__Impl" + // InternalParser.g:1426:1: rule__Transition__Group_4__2__Impl : ( ']' ) ; + public final void rule__Transition__Group_4__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:1430:1: ( ( ']' ) ) + // InternalParser.g:1431:1: ( ']' ) + { + // InternalParser.g:1431:1: ( ']' ) + // InternalParser.g:1432:2: ']' + { + before(grammarAccess.getTransitionAccess().getRightSquareBracketKeyword_4_2()); + match(input,26,FOLLOW_2); + after(grammarAccess.getTransitionAccess().getRightSquareBracketKeyword_4_2()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Transition__Group_4__2__Impl" + + + // $ANTLR start "rule__Transition__Group_5__0" + // InternalParser.g:1442:1: rule__Transition__Group_5__0 : rule__Transition__Group_5__0__Impl rule__Transition__Group_5__1 ; + public final void rule__Transition__Group_5__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:1446:1: ( rule__Transition__Group_5__0__Impl rule__Transition__Group_5__1 ) + // InternalParser.g:1447:2: rule__Transition__Group_5__0__Impl rule__Transition__Group_5__1 + { + pushFollow(FOLLOW_11); + rule__Transition__Group_5__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__Transition__Group_5__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Transition__Group_5__0" + + + // $ANTLR start "rule__Transition__Group_5__0__Impl" + // InternalParser.g:1454:1: rule__Transition__Group_5__0__Impl : ( '/' ) ; + public final void rule__Transition__Group_5__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:1458:1: ( ( '/' ) ) + // InternalParser.g:1459:1: ( '/' ) + { + // InternalParser.g:1459:1: ( '/' ) + // InternalParser.g:1460:2: '/' + { + before(grammarAccess.getTransitionAccess().getSolidusKeyword_5_0()); + match(input,27,FOLLOW_2); + after(grammarAccess.getTransitionAccess().getSolidusKeyword_5_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Transition__Group_5__0__Impl" + + + // $ANTLR start "rule__Transition__Group_5__1" + // InternalParser.g:1469:1: rule__Transition__Group_5__1 : rule__Transition__Group_5__1__Impl ; + public final void rule__Transition__Group_5__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:1473:1: ( rule__Transition__Group_5__1__Impl ) + // InternalParser.g:1474:2: rule__Transition__Group_5__1__Impl + { + pushFollow(FOLLOW_2); + rule__Transition__Group_5__1__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Transition__Group_5__1" + + + // $ANTLR start "rule__Transition__Group_5__1__Impl" + // InternalParser.g:1480:1: rule__Transition__Group_5__1__Impl : ( ( rule__Transition__ActionAssignment_5_1 ) ) ; + public final void rule__Transition__Group_5__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:1484:1: ( ( ( rule__Transition__ActionAssignment_5_1 ) ) ) + // InternalParser.g:1485:1: ( ( rule__Transition__ActionAssignment_5_1 ) ) + { + // InternalParser.g:1485:1: ( ( rule__Transition__ActionAssignment_5_1 ) ) + // InternalParser.g:1486:2: ( rule__Transition__ActionAssignment_5_1 ) + { + before(grammarAccess.getTransitionAccess().getActionAssignment_5_1()); + // InternalParser.g:1487:2: ( rule__Transition__ActionAssignment_5_1 ) + // InternalParser.g:1487:3: rule__Transition__ActionAssignment_5_1 + { + pushFollow(FOLLOW_2); + rule__Transition__ActionAssignment_5_1(); + + state._fsp--; + + + } + + after(grammarAccess.getTransitionAccess().getActionAssignment_5_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Transition__Group_5__1__Impl" + + + // $ANTLR start "rule__Action__Group__0" + // InternalParser.g:1496:1: rule__Action__Group__0 : rule__Action__Group__0__Impl rule__Action__Group__1 ; + public final void rule__Action__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:1500:1: ( rule__Action__Group__0__Impl rule__Action__Group__1 ) + // InternalParser.g:1501:2: rule__Action__Group__0__Impl rule__Action__Group__1 + { + pushFollow(FOLLOW_11); + rule__Action__Group__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__Action__Group__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Action__Group__0" + + + // $ANTLR start "rule__Action__Group__0__Impl" + // InternalParser.g:1508:1: rule__Action__Group__0__Impl : ( () ) ; + public final void rule__Action__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:1512:1: ( ( () ) ) + // InternalParser.g:1513:1: ( () ) + { + // InternalParser.g:1513:1: ( () ) + // InternalParser.g:1514:2: () + { + before(grammarAccess.getActionAccess().getActionAction_0()); + // InternalParser.g:1515:2: () + // InternalParser.g:1515:3: + { + } + + after(grammarAccess.getActionAccess().getActionAction_0()); + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Action__Group__0__Impl" + + + // $ANTLR start "rule__Action__Group__1" + // InternalParser.g:1523:1: rule__Action__Group__1 : rule__Action__Group__1__Impl ; + public final void rule__Action__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:1527:1: ( rule__Action__Group__1__Impl ) + // InternalParser.g:1528:2: rule__Action__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__Action__Group__1__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Action__Group__1" + + + // $ANTLR start "rule__Action__Group__1__Impl" + // InternalParser.g:1534:1: rule__Action__Group__1__Impl : ( ( rule__Action__ContentAssignment_1 ) ) ; + public final void rule__Action__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:1538:1: ( ( ( rule__Action__ContentAssignment_1 ) ) ) + // InternalParser.g:1539:1: ( ( rule__Action__ContentAssignment_1 ) ) + { + // InternalParser.g:1539:1: ( ( rule__Action__ContentAssignment_1 ) ) + // InternalParser.g:1540:2: ( rule__Action__ContentAssignment_1 ) + { + before(grammarAccess.getActionAccess().getContentAssignment_1()); + // InternalParser.g:1541:2: ( rule__Action__ContentAssignment_1 ) + // InternalParser.g:1541:3: rule__Action__ContentAssignment_1 + { + pushFollow(FOLLOW_2); + rule__Action__ContentAssignment_1(); + + state._fsp--; + + + } + + after(grammarAccess.getActionAccess().getContentAssignment_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Action__Group__1__Impl" + + + // $ANTLR start "rule__Trigger__Group__0" + // InternalParser.g:1550:1: rule__Trigger__Group__0 : rule__Trigger__Group__0__Impl rule__Trigger__Group__1 ; + public final void rule__Trigger__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:1554:1: ( rule__Trigger__Group__0__Impl rule__Trigger__Group__1 ) + // InternalParser.g:1555:2: rule__Trigger__Group__0__Impl rule__Trigger__Group__1 + { + pushFollow(FOLLOW_11); + rule__Trigger__Group__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__Trigger__Group__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Trigger__Group__0" + + + // $ANTLR start "rule__Trigger__Group__0__Impl" + // InternalParser.g:1562:1: rule__Trigger__Group__0__Impl : ( () ) ; + public final void rule__Trigger__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:1566:1: ( ( () ) ) + // InternalParser.g:1567:1: ( () ) + { + // InternalParser.g:1567:1: ( () ) + // InternalParser.g:1568:2: () + { + before(grammarAccess.getTriggerAccess().getTriggerAction_0()); + // InternalParser.g:1569:2: () + // InternalParser.g:1569:3: + { + } + + after(grammarAccess.getTriggerAccess().getTriggerAction_0()); + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Trigger__Group__0__Impl" + + + // $ANTLR start "rule__Trigger__Group__1" + // InternalParser.g:1577:1: rule__Trigger__Group__1 : rule__Trigger__Group__1__Impl ; + public final void rule__Trigger__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:1581:1: ( rule__Trigger__Group__1__Impl ) + // InternalParser.g:1582:2: rule__Trigger__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__Trigger__Group__1__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Trigger__Group__1" + + + // $ANTLR start "rule__Trigger__Group__1__Impl" + // InternalParser.g:1588:1: rule__Trigger__Group__1__Impl : ( ( rule__Trigger__ContentAssignment_1 ) ) ; + public final void rule__Trigger__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:1592:1: ( ( ( rule__Trigger__ContentAssignment_1 ) ) ) + // InternalParser.g:1593:1: ( ( rule__Trigger__ContentAssignment_1 ) ) + { + // InternalParser.g:1593:1: ( ( rule__Trigger__ContentAssignment_1 ) ) + // InternalParser.g:1594:2: ( rule__Trigger__ContentAssignment_1 ) + { + before(grammarAccess.getTriggerAccess().getContentAssignment_1()); + // InternalParser.g:1595:2: ( rule__Trigger__ContentAssignment_1 ) + // InternalParser.g:1595:3: rule__Trigger__ContentAssignment_1 + { + pushFollow(FOLLOW_2); + rule__Trigger__ContentAssignment_1(); + + state._fsp--; + + + } + + after(grammarAccess.getTriggerAccess().getContentAssignment_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Trigger__Group__1__Impl" + + + // $ANTLR start "rule__Guard__Group__0" + // InternalParser.g:1604:1: rule__Guard__Group__0 : rule__Guard__Group__0__Impl rule__Guard__Group__1 ; + public final void rule__Guard__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:1608:1: ( rule__Guard__Group__0__Impl rule__Guard__Group__1 ) + // InternalParser.g:1609:2: rule__Guard__Group__0__Impl rule__Guard__Group__1 + { + pushFollow(FOLLOW_4); + rule__Guard__Group__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__Guard__Group__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Guard__Group__0" + + + // $ANTLR start "rule__Guard__Group__0__Impl" + // InternalParser.g:1616:1: rule__Guard__Group__0__Impl : ( () ) ; + public final void rule__Guard__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:1620:1: ( ( () ) ) + // InternalParser.g:1621:1: ( () ) + { + // InternalParser.g:1621:1: ( () ) + // InternalParser.g:1622:2: () + { + before(grammarAccess.getGuardAccess().getGuardAction_0()); + // InternalParser.g:1623:2: () + // InternalParser.g:1623:3: + { + } + + after(grammarAccess.getGuardAccess().getGuardAction_0()); + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Guard__Group__0__Impl" + + + // $ANTLR start "rule__Guard__Group__1" + // InternalParser.g:1631:1: rule__Guard__Group__1 : rule__Guard__Group__1__Impl ; + public final void rule__Guard__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:1635:1: ( rule__Guard__Group__1__Impl ) + // InternalParser.g:1636:2: rule__Guard__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__Guard__Group__1__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Guard__Group__1" + + + // $ANTLR start "rule__Guard__Group__1__Impl" + // InternalParser.g:1642:1: rule__Guard__Group__1__Impl : ( ( rule__Guard__ContentAssignment_1 ) ) ; + public final void rule__Guard__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:1646:1: ( ( ( rule__Guard__ContentAssignment_1 ) ) ) + // InternalParser.g:1647:1: ( ( rule__Guard__ContentAssignment_1 ) ) + { + // InternalParser.g:1647:1: ( ( rule__Guard__ContentAssignment_1 ) ) + // InternalParser.g:1648:2: ( rule__Guard__ContentAssignment_1 ) + { + before(grammarAccess.getGuardAccess().getContentAssignment_1()); + // InternalParser.g:1649:2: ( rule__Guard__ContentAssignment_1 ) + // InternalParser.g:1649:3: rule__Guard__ContentAssignment_1 + { + pushFollow(FOLLOW_2); + rule__Guard__ContentAssignment_1(); + + state._fsp--; + + + } + + after(grammarAccess.getGuardAccess().getContentAssignment_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Guard__Group__1__Impl" + + + // $ANTLR start "rule__StateMachine__NameAssignment_2" + // InternalParser.g:1658:1: rule__StateMachine__NameAssignment_2 : ( ruleEString ) ; + public final void rule__StateMachine__NameAssignment_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:1662:1: ( ( ruleEString ) ) + // InternalParser.g:1663:2: ( ruleEString ) + { + // InternalParser.g:1663:2: ( ruleEString ) + // InternalParser.g:1664:3: ruleEString + { + before(grammarAccess.getStateMachineAccess().getNameEStringParserRuleCall_2_0()); + pushFollow(FOLLOW_2); + ruleEString(); + + state._fsp--; + + after(grammarAccess.getStateMachineAccess().getNameEStringParserRuleCall_2_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__StateMachine__NameAssignment_2" + + + // $ANTLR start "rule__StateMachine__InitialstateAssignment_4" + // InternalParser.g:1673:1: rule__StateMachine__InitialstateAssignment_4 : ( ruleInitialState ) ; + public final void rule__StateMachine__InitialstateAssignment_4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:1677:1: ( ( ruleInitialState ) ) + // InternalParser.g:1678:2: ( ruleInitialState ) + { + // InternalParser.g:1678:2: ( ruleInitialState ) + // InternalParser.g:1679:3: ruleInitialState + { + before(grammarAccess.getStateMachineAccess().getInitialstateInitialStateParserRuleCall_4_0()); + pushFollow(FOLLOW_2); + ruleInitialState(); + + state._fsp--; + + after(grammarAccess.getStateMachineAccess().getInitialstateInitialStateParserRuleCall_4_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__StateMachine__InitialstateAssignment_4" + + + // $ANTLR start "rule__StateMachine__StatesAssignment_5_0" + // InternalParser.g:1688:1: rule__StateMachine__StatesAssignment_5_0 : ( ruleNormalState ) ; + public final void rule__StateMachine__StatesAssignment_5_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:1692:1: ( ( ruleNormalState ) ) + // InternalParser.g:1693:2: ( ruleNormalState ) + { + // InternalParser.g:1693:2: ( ruleNormalState ) + // InternalParser.g:1694:3: ruleNormalState + { + before(grammarAccess.getStateMachineAccess().getStatesNormalStateParserRuleCall_5_0_0()); + pushFollow(FOLLOW_2); + ruleNormalState(); + + state._fsp--; + + after(grammarAccess.getStateMachineAccess().getStatesNormalStateParserRuleCall_5_0_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__StateMachine__StatesAssignment_5_0" + + + // $ANTLR start "rule__StateMachine__FinalstatesAssignment_5_1" + // InternalParser.g:1703:1: rule__StateMachine__FinalstatesAssignment_5_1 : ( ruleFinalState ) ; + public final void rule__StateMachine__FinalstatesAssignment_5_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:1707:1: ( ( ruleFinalState ) ) + // InternalParser.g:1708:2: ( ruleFinalState ) + { + // InternalParser.g:1708:2: ( ruleFinalState ) + // InternalParser.g:1709:3: ruleFinalState + { + before(grammarAccess.getStateMachineAccess().getFinalstatesFinalStateParserRuleCall_5_1_0()); + pushFollow(FOLLOW_2); + ruleFinalState(); + + state._fsp--; + + after(grammarAccess.getStateMachineAccess().getFinalstatesFinalStateParserRuleCall_5_1_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__StateMachine__FinalstatesAssignment_5_1" + + + // $ANTLR start "rule__StateMachine__TransitionsAssignment_5_2" + // InternalParser.g:1718:1: rule__StateMachine__TransitionsAssignment_5_2 : ( ruleTransition ) ; + public final void rule__StateMachine__TransitionsAssignment_5_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:1722:1: ( ( ruleTransition ) ) + // InternalParser.g:1723:2: ( ruleTransition ) + { + // InternalParser.g:1723:2: ( ruleTransition ) + // InternalParser.g:1724:3: ruleTransition + { + before(grammarAccess.getStateMachineAccess().getTransitionsTransitionParserRuleCall_5_2_0()); + pushFollow(FOLLOW_2); + ruleTransition(); + + state._fsp--; + + after(grammarAccess.getStateMachineAccess().getTransitionsTransitionParserRuleCall_5_2_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__StateMachine__TransitionsAssignment_5_2" + + + // $ANTLR start "rule__NormalState__NameAssignment_2" + // InternalParser.g:1733:1: rule__NormalState__NameAssignment_2 : ( ruleEString ) ; + public final void rule__NormalState__NameAssignment_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:1737:1: ( ( ruleEString ) ) + // InternalParser.g:1738:2: ( ruleEString ) + { + // InternalParser.g:1738:2: ( ruleEString ) + // InternalParser.g:1739:3: ruleEString + { + before(grammarAccess.getNormalStateAccess().getNameEStringParserRuleCall_2_0()); + pushFollow(FOLLOW_2); + ruleEString(); + + state._fsp--; + + after(grammarAccess.getNormalStateAccess().getNameEStringParserRuleCall_2_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__NormalState__NameAssignment_2" + + + // $ANTLR start "rule__NormalState__Entry_Assignment_3_1_1" + // InternalParser.g:1748:1: rule__NormalState__Entry_Assignment_3_1_1 : ( ruleAction ) ; + public final void rule__NormalState__Entry_Assignment_3_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:1752:1: ( ( ruleAction ) ) + // InternalParser.g:1753:2: ( ruleAction ) + { + // InternalParser.g:1753:2: ( ruleAction ) + // InternalParser.g:1754:3: ruleAction + { + before(grammarAccess.getNormalStateAccess().getEntry_ActionParserRuleCall_3_1_1_0()); + pushFollow(FOLLOW_2); + ruleAction(); + + state._fsp--; + + after(grammarAccess.getNormalStateAccess().getEntry_ActionParserRuleCall_3_1_1_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__NormalState__Entry_Assignment_3_1_1" + + + // $ANTLR start "rule__NormalState__Do_Assignment_3_2_1" + // InternalParser.g:1763:1: rule__NormalState__Do_Assignment_3_2_1 : ( ruleAction ) ; + public final void rule__NormalState__Do_Assignment_3_2_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:1767:1: ( ( ruleAction ) ) + // InternalParser.g:1768:2: ( ruleAction ) + { + // InternalParser.g:1768:2: ( ruleAction ) + // InternalParser.g:1769:3: ruleAction + { + before(grammarAccess.getNormalStateAccess().getDo_ActionParserRuleCall_3_2_1_0()); + pushFollow(FOLLOW_2); + ruleAction(); + + state._fsp--; + + after(grammarAccess.getNormalStateAccess().getDo_ActionParserRuleCall_3_2_1_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__NormalState__Do_Assignment_3_2_1" + + + // $ANTLR start "rule__NormalState__Exit_Assignment_3_3_1" + // InternalParser.g:1778:1: rule__NormalState__Exit_Assignment_3_3_1 : ( ruleAction ) ; + public final void rule__NormalState__Exit_Assignment_3_3_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:1782:1: ( ( ruleAction ) ) + // InternalParser.g:1783:2: ( ruleAction ) + { + // InternalParser.g:1783:2: ( ruleAction ) + // InternalParser.g:1784:3: ruleAction + { + before(grammarAccess.getNormalStateAccess().getExit_ActionParserRuleCall_3_3_1_0()); + pushFollow(FOLLOW_2); + ruleAction(); + + state._fsp--; + + after(grammarAccess.getNormalStateAccess().getExit_ActionParserRuleCall_3_3_1_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__NormalState__Exit_Assignment_3_3_1" + + + // $ANTLR start "rule__FinalState__NameAssignment_2" + // InternalParser.g:1793:1: rule__FinalState__NameAssignment_2 : ( RULE_FINALSTATENAME ) ; + public final void rule__FinalState__NameAssignment_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:1797:1: ( ( RULE_FINALSTATENAME ) ) + // InternalParser.g:1798:2: ( RULE_FINALSTATENAME ) + { + // InternalParser.g:1798:2: ( RULE_FINALSTATENAME ) + // InternalParser.g:1799:3: RULE_FINALSTATENAME + { + before(grammarAccess.getFinalStateAccess().getNameFINALSTATENAMETerminalRuleCall_2_0()); + match(input,RULE_FINALSTATENAME,FOLLOW_2); + after(grammarAccess.getFinalStateAccess().getNameFINALSTATENAMETerminalRuleCall_2_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FinalState__NameAssignment_2" + + + // $ANTLR start "rule__InitialState__NameAssignment_2" + // InternalParser.g:1808:1: rule__InitialState__NameAssignment_2 : ( RULE_INITIALSTATENAME ) ; + public final void rule__InitialState__NameAssignment_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:1812:1: ( ( RULE_INITIALSTATENAME ) ) + // InternalParser.g:1813:2: ( RULE_INITIALSTATENAME ) + { + // InternalParser.g:1813:2: ( RULE_INITIALSTATENAME ) + // InternalParser.g:1814:3: RULE_INITIALSTATENAME + { + before(grammarAccess.getInitialStateAccess().getNameINITIALSTATENAMETerminalRuleCall_2_0()); + match(input,RULE_INITIALSTATENAME,FOLLOW_2); + after(grammarAccess.getInitialStateAccess().getNameINITIALSTATENAMETerminalRuleCall_2_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InitialState__NameAssignment_2" + + + // $ANTLR start "rule__Transition__FromAssignment_1" + // InternalParser.g:1823:1: rule__Transition__FromAssignment_1 : ( ( ruleEString ) ) ; + public final void rule__Transition__FromAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:1827:1: ( ( ( ruleEString ) ) ) + // InternalParser.g:1828:2: ( ( ruleEString ) ) + { + // InternalParser.g:1828:2: ( ( ruleEString ) ) + // InternalParser.g:1829:3: ( ruleEString ) + { + before(grammarAccess.getTransitionAccess().getFromStateCrossReference_1_0()); + // InternalParser.g:1830:3: ( ruleEString ) + // InternalParser.g:1831:4: ruleEString + { + before(grammarAccess.getTransitionAccess().getFromStateEStringParserRuleCall_1_0_1()); + pushFollow(FOLLOW_2); + ruleEString(); + + state._fsp--; + + after(grammarAccess.getTransitionAccess().getFromStateEStringParserRuleCall_1_0_1()); + + } + + after(grammarAccess.getTransitionAccess().getFromStateCrossReference_1_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Transition__FromAssignment_1" + + + // $ANTLR start "rule__Transition__TriggerAssignment_3" + // InternalParser.g:1842:1: rule__Transition__TriggerAssignment_3 : ( ruleTrigger ) ; + public final void rule__Transition__TriggerAssignment_3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:1846:1: ( ( ruleTrigger ) ) + // InternalParser.g:1847:2: ( ruleTrigger ) + { + // InternalParser.g:1847:2: ( ruleTrigger ) + // InternalParser.g:1848:3: ruleTrigger + { + before(grammarAccess.getTransitionAccess().getTriggerTriggerParserRuleCall_3_0()); + pushFollow(FOLLOW_2); + ruleTrigger(); + + state._fsp--; + + after(grammarAccess.getTransitionAccess().getTriggerTriggerParserRuleCall_3_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Transition__TriggerAssignment_3" + + + // $ANTLR start "rule__Transition__GuardAssignment_4_1" + // InternalParser.g:1857:1: rule__Transition__GuardAssignment_4_1 : ( ruleGuard ) ; + public final void rule__Transition__GuardAssignment_4_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:1861:1: ( ( ruleGuard ) ) + // InternalParser.g:1862:2: ( ruleGuard ) + { + // InternalParser.g:1862:2: ( ruleGuard ) + // InternalParser.g:1863:3: ruleGuard + { + before(grammarAccess.getTransitionAccess().getGuardGuardParserRuleCall_4_1_0()); + pushFollow(FOLLOW_2); + ruleGuard(); + + state._fsp--; + + after(grammarAccess.getTransitionAccess().getGuardGuardParserRuleCall_4_1_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Transition__GuardAssignment_4_1" + + + // $ANTLR start "rule__Transition__ActionAssignment_5_1" + // InternalParser.g:1872:1: rule__Transition__ActionAssignment_5_1 : ( ruleAction ) ; + public final void rule__Transition__ActionAssignment_5_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:1876:1: ( ( ruleAction ) ) + // InternalParser.g:1877:2: ( ruleAction ) + { + // InternalParser.g:1877:2: ( ruleAction ) + // InternalParser.g:1878:3: ruleAction + { + before(grammarAccess.getTransitionAccess().getActionActionParserRuleCall_5_1_0()); + pushFollow(FOLLOW_2); + ruleAction(); + + state._fsp--; + + after(grammarAccess.getTransitionAccess().getActionActionParserRuleCall_5_1_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Transition__ActionAssignment_5_1" + + + // $ANTLR start "rule__Transition__ToAssignment_7" + // InternalParser.g:1887:1: rule__Transition__ToAssignment_7 : ( ( ruleEString ) ) ; + public final void rule__Transition__ToAssignment_7() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:1891:1: ( ( ( ruleEString ) ) ) + // InternalParser.g:1892:2: ( ( ruleEString ) ) + { + // InternalParser.g:1892:2: ( ( ruleEString ) ) + // InternalParser.g:1893:3: ( ruleEString ) + { + before(grammarAccess.getTransitionAccess().getToStateCrossReference_7_0()); + // InternalParser.g:1894:3: ( ruleEString ) + // InternalParser.g:1895:4: ruleEString + { + before(grammarAccess.getTransitionAccess().getToStateEStringParserRuleCall_7_0_1()); + pushFollow(FOLLOW_2); + ruleEString(); + + state._fsp--; + + after(grammarAccess.getTransitionAccess().getToStateEStringParserRuleCall_7_0_1()); + + } + + after(grammarAccess.getTransitionAccess().getToStateCrossReference_7_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Transition__ToAssignment_7" + + + // $ANTLR start "rule__Action__ContentAssignment_1" + // InternalParser.g:1906:1: rule__Action__ContentAssignment_1 : ( ruleActivityContent ) ; + public final void rule__Action__ContentAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:1910:1: ( ( ruleActivityContent ) ) + // InternalParser.g:1911:2: ( ruleActivityContent ) + { + // InternalParser.g:1911:2: ( ruleActivityContent ) + // InternalParser.g:1912:3: ruleActivityContent + { + before(grammarAccess.getActionAccess().getContentActivityContentParserRuleCall_1_0()); + pushFollow(FOLLOW_2); + ruleActivityContent(); + + state._fsp--; + + after(grammarAccess.getActionAccess().getContentActivityContentParserRuleCall_1_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Action__ContentAssignment_1" + + + // $ANTLR start "rule__Trigger__ContentAssignment_1" + // InternalParser.g:1921:1: rule__Trigger__ContentAssignment_1 : ( ruleActivityContent ) ; + public final void rule__Trigger__ContentAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:1925:1: ( ( ruleActivityContent ) ) + // InternalParser.g:1926:2: ( ruleActivityContent ) + { + // InternalParser.g:1926:2: ( ruleActivityContent ) + // InternalParser.g:1927:3: ruleActivityContent + { + before(grammarAccess.getTriggerAccess().getContentActivityContentParserRuleCall_1_0()); + pushFollow(FOLLOW_2); + ruleActivityContent(); + + state._fsp--; + + after(grammarAccess.getTriggerAccess().getContentActivityContentParserRuleCall_1_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Trigger__ContentAssignment_1" + + + // $ANTLR start "rule__Guard__ContentAssignment_1" + // InternalParser.g:1936:1: rule__Guard__ContentAssignment_1 : ( ruleEString ) ; + public final void rule__Guard__ContentAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalParser.g:1940:1: ( ( ruleEString ) ) + // InternalParser.g:1941:2: ( ruleEString ) + { + // InternalParser.g:1941:2: ( ruleEString ) + // InternalParser.g:1942:3: ruleEString + { + before(grammarAccess.getGuardAccess().getContentEStringParserRuleCall_1_0()); + pushFollow(FOLLOW_2); + ruleEString(); + + state._fsp--; + + after(grammarAccess.getGuardAccess().getContentEStringParserRuleCall_1_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Guard__ContentAssignment_1" + + // Delegated rules + + + + + public static final BitSet FOLLOW_1 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_2 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_3 = new BitSet(new long[]{0x0000000000004000L}); + public static final BitSet FOLLOW_4 = new BitSet(new long[]{0x00000000000001B0L}); + public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x0000000000008000L}); + public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x0000000000400000L}); + public static final BitSet FOLLOW_7 = new BitSet(new long[]{0x00000000002301B0L}); + public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x00000000002201B2L}); + public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x0000000000020000L}); + public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x00000000001D0000L}); + public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x0000000000000070L}); + public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x0000000000200000L}); + public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0000000000000100L}); + public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x0000000000000080L}); + public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x00000000002201B0L}); + public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0000000000800000L}); + public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x000000000B000070L}); + public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x0000000004000000L}); + +} \ No newline at end of file diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ide/src/swt/most/statemachine/xtext/ide/ParserIdeModule.java b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ide/src/swt/most/statemachine/xtext/ide/ParserIdeModule.java new file mode 100644 index 0000000..177f508 --- /dev/null +++ b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ide/src/swt/most/statemachine/xtext/ide/ParserIdeModule.java @@ -0,0 +1,11 @@ +/* + * generated by Xtext 2.35.0 + */ +package swt.most.statemachine.xtext.ide; + + +/** + * Use this class to register ide components. + */ +public class ParserIdeModule extends AbstractParserIdeModule { +} diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ide/src/swt/most/statemachine/xtext/ide/ParserIdeSetup.java b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ide/src/swt/most/statemachine/xtext/ide/ParserIdeSetup.java new file mode 100644 index 0000000..499f364 --- /dev/null +++ b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ide/src/swt/most/statemachine/xtext/ide/ParserIdeSetup.java @@ -0,0 +1,22 @@ +/* + * generated by Xtext 2.35.0 + */ +package swt.most.statemachine.xtext.ide; + +import com.google.inject.Guice; +import com.google.inject.Injector; +import org.eclipse.xtext.util.Modules2; +import swt.most.statemachine.xtext.ParserRuntimeModule; +import swt.most.statemachine.xtext.ParserStandaloneSetup; + +/** + * Initialization support for running Xtext languages as language servers. + */ +public class ParserIdeSetup extends ParserStandaloneSetup { + + @Override + public Injector createInjector() { + return Guice.createInjector(Modules2.mixin(new ParserRuntimeModule(), new ParserIdeModule())); + } + +} diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/.classpath b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/.classpath new file mode 100644 index 0000000..7994b69 --- /dev/null +++ b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/.classpath @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="src" path="src"/> + <classpathentry kind="src" path="src-gen"/> + <classpathentry kind="src" path="xtend-gen"/> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-21"/> + <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> + <classpathentry kind="output" path="bin"/> +</classpath> diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/.project b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/.project new file mode 100644 index 0000000..3872cc9 --- /dev/null +++ b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/.project @@ -0,0 +1,34 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>swt.most.statemachine.xtext.ui</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>org.eclipse.xtext.ui.shared.xtextBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.pde.ManifestBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.pde.SchemaBuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>org.eclipse.xtext.ui.shared.xtextNature</nature> + <nature>org.eclipse.jdt.core.javanature</nature> + <nature>org.eclipse.pde.PluginNature</nature> + </natures> +</projectDescription> diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/.settings/org.eclipse.core.resources.prefs b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 0000000..99f26c0 --- /dev/null +++ b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +encoding/<project>=UTF-8 diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/.settings/org.eclipse.jdt.core.prefs b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..3a79233 --- /dev/null +++ b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,10 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=21 +org.eclipse.jdt.core.compiler.compliance=21 +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning +org.eclipse.jdt.core.compiler.release=enabled +org.eclipse.jdt.core.compiler.source=21 diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/META-INF/MANIFEST.MF b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/META-INF/MANIFEST.MF new file mode 100644 index 0000000..29377ba --- /dev/null +++ b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/META-INF/MANIFEST.MF @@ -0,0 +1,25 @@ +Manifest-Version: 1.0 +Automatic-Module-Name: swt.most.statemachine.xtext.ui +Bundle-ManifestVersion: 2 +Bundle-Name: swt.most.statemachine.xtext.ui +Bundle-Vendor: My Company +Bundle-Version: 1.0.0.qualifier +Bundle-SymbolicName: swt.most.statemachine.xtext.ui; singleton:=true +Bundle-ActivationPolicy: lazy +Require-Bundle: swt.most.statemachine.xtext, + swt.most.statemachine.xtext.ide, + swt.most.statemachine, + org.eclipse.xtext.ui, + org.eclipse.xtext.ui.shared, + org.eclipse.xtext.ui.codetemplates.ui, + org.eclipse.ui.editors;bundle-version="3.14.300", + org.eclipse.ui.ide;bundle-version="3.18.500", + org.eclipse.ui, + org.eclipse.compare, + org.eclipse.xtext.builder +Import-Package: org.apache.log4j +Bundle-RequiredExecutionEnvironment: JavaSE-21 +Export-Package: swt.most.statemachine.xtext.ui.contentassist, + swt.most.statemachine.xtext.ui.internal, + swt.most.statemachine.xtext.ui.quickfix +Bundle-Activator: swt.most.statemachine.xtext.ui.internal.XtextActivator diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/bin/swt/most/statemachine/xtext/ui/AbstractParserUiModule.class b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/bin/swt/most/statemachine/xtext/ui/AbstractParserUiModule.class new file mode 100644 index 0000000000000000000000000000000000000000..fc62b2b28936845f9e8e71513f12636d909a644b GIT binary patch literal 12838 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 literal 0 HcmV?d00001 diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/bin/swt/most/statemachine/xtext/ui/ParserExecutableExtensionFactory.class b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/bin/swt/most/statemachine/xtext/ui/ParserExecutableExtensionFactory.class new file mode 100644 index 0000000000000000000000000000000000000000..f9fd8755791323cb1443cb5571a775dd4e210404 GIT binary patch literal 1160 zcmX^0Z`VEs1_nn4O?Cz*Mh5%h@)G^r{NfV*;*!LY)ZE16jLf`L{fd&*iW2?OO#Ohw zqT<vd*NW8S(vrlaoK)9}lGME7%=|pJ#N?9vqDpoK7Dfj5{GxRI)a0DZf?_1C>7|*; zsrrsd#U(|F$tCU}o@04pQ7Uf37#Y}XGV?M^>=+rCH8jH*8Cab2Q&PDYm>D>E7+4wD z7#a9|GV@aXN^_G^i$XxoVPp{U$xlwq2}>->1o5GQEF~G4#f%J&J{0=SnvsDsJ+;KC zG%qD5m61VKL(>Q3)%@c0O#QT?#N5>K{Gx1qh_p33gCHY=837wJ^GZ^S@)C3OBS0bS zm|T)smROQs#Kj=YAj-}l!pNY2#R4~&RiP!BIXnz}3}TE7dKx}iiDilUIf;4c`p!9t z#l_b69LLDOot|3anU|FciZ(_DISoyp<osOy^!)tvoK*cxu!KHL-kOU+fI*6fL7G7Z zrm?srF)ullk-<tslTfJQ@S`;cgB&A+QgL~S9w@=-AtyLJaDvl=q&AS{3Oo$r42p~l z2FTtFE-A{)OSi`Baz+NuL|CXYGFXu7Rz?Qi;F84TY~REJaGGLgP-A3}!X09a3|zta zrA5i9ZkeEzq6+Z|?xd~<iaZ8I21W*E1`uFoU<9Rb21W*U1_lOw21W)(1_lOJt?djP z8yOfFm>9Si7#P^Vf&vWO3=9lBU^XiQ4+Ad)0|N^K9|J#BvjJ2yn~=Z`2B8gTx<!z5 zv%z(XGe|&n$1*T6FflMN2=8E!^wB=Xz@sfByNyA9IRgtL$S7v8L%6_7BpFy3q`=0B nf%(F4<M<hr7?c?p8C1XyW%|P)$j%_(z|Nq`z{sEuc8~@DETTOP literal 0 HcmV?d00001 diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/bin/swt/most/statemachine/xtext/ui/ParserUiModule.class b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/bin/swt/most/statemachine/xtext/ui/ParserUiModule.class new file mode 100644 index 0000000000000000000000000000000000000000..0fd5bab885b072b8b78d87f8f2e4a34f0d26d56d GIT binary patch literal 473 zcmX^0Z`VEs1_nn4A$A5PMh4yD@)G^r{NfV*;*!LY)ZE16jLf`L{fd&*iW2?OO#Ohw zqT<w|&`jU_l+v73b_Nzk22%oB9FvMmiV~AcP_;5Lu-RnhWtP}6GH7e~<QJvurzYoQ z78Iv~Y$?boP0!5Jhv^LU3;+vQYlbm0usG+Zq;fGZGjQ@SurjbQGVuFk=B4_T<|d^U zg(N2Bq%txH`Q#@j=7c2{WrFxnL6(w?%wk3ceIEkOMRle%BLf@6HH-{IJCl)tD>%Qj zC^^+F6XYCWR3r7W63Y@96d4#9m>EETk%1B95e7yEb_NCpI|e2OCI$uuHZAS#3>+I7 w7#NrsxEL51xWJ-(46F?N4BQM13}RqD8v_pmFUSxEHU>Theg=?P0$@FY0O&b?-v9sr literal 0 HcmV?d00001 diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/bin/swt/most/statemachine/xtext/ui/contentassist/AbstractParserProposalProvider.class b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/bin/swt/most/statemachine/xtext/ui/contentassist/AbstractParserProposalProvider.class new file mode 100644 index 0000000000000000000000000000000000000000..8e5172b39cb33b3f530ce73c225c542ef3dbf783 GIT binary patch literal 6144 zcmX^0Z`VEs1_nn4e|82YMh5TV@)G^r{NfV*;*!LY)ZE16jLf`L{fd&*iW2?OO#S5i zypq(slEmWT%;FM#$E4ztqQvBqfW)HW)S`f*{DS=A#GHVl{IblH)FO5U7Dfi={GxRI z)a0DZf?}94$@#gt`FWV8g`^hcX67a46r&r&$iQZknU`5&$H>5}p&7==z~Y>rlFG%v z%)rURz{<eJ$iVNDnV0HUnwykb6q1;flgh{-<ddJAm=l&*lnLTP1zAcmGK(1*e0`|s zOKV03$>jXpf}GTn)L>AU`9i`h-Y+pXm674Nh7WQGq~@mSrzYnYrRux-CuOB3msq1n zL&DjyxHvOCFE=$0t88heerif)Nq!MpWH>{j2Bf*T1k9-*Nx!Ev#21<Qd9Vm@OioTM zD9JCf)(qoj5M&T$XAoj!kU{njx`TNbL>NRF8MxC^OJLE-$e^mBiOrYL#N(Qi3ic{H zgE%9D6sF-pr8%k2i8(o342%qtJPc9{(u@oOun>nyGBPYf4QPnNVA9w^d0@hkk%2Wg zKP5GXkwG3MOfVA$BLf#Gn?Vu+BZC}@a)|dpaSf5TW@KOo=go=|Mg|8gN=fo9BLhbw zH0l`{+(|GEUm9X$P=v)AN<Q(-%Ph%E%mJ4-j11CP)qph=GcqV(m30G`8lb#~Q%Ois zVqS4(NoIatF(ZQn%oM-;qTIwBu;I|`DuqqTHLs+oGM<q^9Gj#|emqhMfNY{`MP>=I zF0eC^ErXXE&>%pTgWH90dAwUuel9zM0V9I~W-f6q$}cVsN=-{GO3h171?3eZ9tL9u z6GjG+oc#Rk(gIWkj0|hA<rh>%gDKa*BL*ovLW(le(^HF(A{0r|y)>~X1u15bq#Tn$ z34xJ86c(RIav}MQ3}P^Gh{AYqVVYNhlmMVMBV^!4fvv?N9uJOOXx+fba1=H4F>^nb zOg9({Gmau?>CDI=gU`u~41BOag@gnng9uyzDbp}A2*ZUD`2{Je;*s+TvT8&eGBWVP z&49!pQiTx@jXGopf#VD*sl<Ewd4_m8`UHnKhPe7U`nn>;e7u{dABqgTFo_4*RhC&& z2~RG(aA!C>`uHF_!Zo<0C^Ijek%22XzqBYh)h!d$W>Lo9p3=)oEK6ijWME`qW&i;t z21Zcphk=oSoq>TtpMjBqk%57MRcku~$3_MQ1||kB1_lN;u%IvlHv<C$517r$z{9}H zz`(%Bz{kK3)tt`2!obSFz#yolvy(x9k>LP?n64ztHU<fVL0k+>3=9ln3<3<|V8cux z8lZ+TFbFcpFvx-}5M+>JkO!+4WKdvG1iMy{L5V?`frWvQL4|ZnB^d-5q$sjfm2^vG z7z7w(DY8_JbW7zK1Q--3vQ(XPOO+S|7?dfpRD*O&RT%^r)F`r4lXOcp7z7wJDY8_H zbW61v1Q>KEvQ(RNOZ6B881yN!REKm+4H*O&j3}~Hmvl=_7z7whDY8@#kEQzHV$cx1 z7&K=PV6dRbQd2yZ;wXEq7z7xsDYDdzbW3d+1Q_fnvecY(OC1;l7#u0G)B=yCIO5cq zL4d)9B1<jtSc)S~-53NI+$pluigZgo83Y)-D6-U=bW4301Q>iNvebsb7TR112DNiQ zO&CPJgtT)4kt|?@H%%DfO%p~2I|h4j(}WS;G+~4{O&kbY5JHg!j)W};r^o^)!WKkP zWPvkb3t}m<z=f~{2^3l2O4x#AiY#y=Y(W}D7Pu3(Ad?~sJP2EmLy-lZge}OY$O13I c78Frrfj40bN-46yhp+_|6j|U4?jrgD06B9o+yDRo literal 0 HcmV?d00001 diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/bin/swt/most/statemachine/xtext/ui/contentassist/ParserProposalProvider.class b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/bin/swt/most/statemachine/xtext/ui/contentassist/ParserProposalProvider.class new file mode 100644 index 0000000000000000000000000000000000000000..d9f7b31722489598a4c941a8ac5fbc2353c559cf GIT binary patch literal 440 zcmX^0Z`VEs1_nn40d@u^Mh55N@)G^r{NfV*;*!LY)ZE16jLf`L{fd&*iW2?OO#S5i zypq(slEmWT%;FOLfW)HW)S`f*{DS=A#GHVl{IblH)FO5U7Dfhdk_>W8DlREXOfJE0 zAR_~tO=ezZi5(*Yvxa6EBLj<beo87A12Y3B4+AR$8zTe1Pi9`KUukYqYEejHQcfx( zgOE>ta$-(cVo@fD4;5r7$;d2bWN`H%$#K{nWzERI6`WsMl$`3839?WcyE473#Ii&N zMFvI&W(E*oWMBk2nSqgkoq>Ttp8>>YU|`kS&cLyefq{XEfs28GfsKKYfq{XWft!JW Wfd|ZHW#D1pWnf@nWZ(m<;s*dsA$^tr literal 0 HcmV?d00001 diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/bin/swt/most/statemachine/xtext/ui/internal/XtextActivator.class b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/bin/swt/most/statemachine/xtext/ui/internal/XtextActivator.class new file mode 100644 index 0000000000000000000000000000000000000000..ed7c34628d84d0c873560b0345ced6b718335a37 GIT binary patch literal 4387 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 KhV2YH86*K@IA_rS literal 0 HcmV?d00001 diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/bin/swt/most/statemachine/xtext/ui/labeling/ParserDescriptionLabelProvider.class b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/bin/swt/most/statemachine/xtext/ui/labeling/ParserDescriptionLabelProvider.class new file mode 100644 index 0000000000000000000000000000000000000000..9c7f58dcc439e6bc39bb64941223aaeda4663d57 GIT binary patch literal 437 zcmX^0Z`VEs1_nn40d@u^Mh3Uy@)G^r{NfV*;*!LY)ZE16jLf`L{fd&*iW2?OO#Ph1 zq|}_uymbA5#G>NVBA3+S<f6=ilFa-(ACOEyQGQuwN@@{10}CUARen*rerj?~W<fE! z3HmOnX^EvdCAjo6GO*cX=4F=HF)}b~XofK|usG+Zq;fGZGjQ@SurjbQGVuFk=B4_T z<|d^Ug(N2Bq%txH`Q#@j=7c2{WrFxnL6(w?%wk3c4<G9I%bJmaD>%QjC^^+F6J)0{ z{$S9{N-RrcP-I|aU}gXTMg~TZ>lqjs*cliY^cg^W1_oBG?F<|n85kIt7`PZ17}yvX e85kIN8Mql37<j;JRt6phUIqpRMg~5xDt-Xd>w2~T literal 0 HcmV?d00001 diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/bin/swt/most/statemachine/xtext/ui/labeling/ParserLabelProvider.class b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/bin/swt/most/statemachine/xtext/ui/labeling/ParserLabelProvider.class new file mode 100644 index 0000000000000000000000000000000000000000..dbf45573f4ce9949dccf076a182988d2e9451c44 GIT binary patch literal 622 zcmX^0Z`VEs1_nn45q1V9Mh5HR@)G^r{NfV*;*!LY)ZE16jLf`L{fd&*iW2?OO#Ph1 zq|}_uymbA5#G>NVA|DVppeVmAGbOc%oq>gs!7RThT|YHBC$pd!U7Nm3YFc7xPKm33 zQdVkm35s4u1~!|_yv!0iMg~U>A7nF9bJO%wQ!>G}7eH;&cT7nvC`m1HOH3}wFRDZ_ z$yzgvkwG%3G_NExH#ID?I5R0H)iEzGza+6FGe57GkwMBQIX_oFJwHD^CsjW)59Abm zPcUW8$iU*9pOVVOz|6qS!@$bG#>l|$lbM(5SDKrYS`?C)l#|NHAmo#uoR|}qSd<Ck zLj_q%GBS%98Ekzh2tR8^29A`}oYeHhl2k?pJIX?Vk%22XzqBYh)h!d`XbCLwrI(dh zmdK#Uz{tSN00N8*j37TVFfp(*Ffgz&Ffwp3Ffed3FfiCLFflNJ#I&@xGjMHWU|?Wk t;9+23-~x*ZGq5s<Fz_-kFo=QqYz%x1{2&7v*cb#D1Q|f)3W4<q0{{wBvo!z! literal 0 HcmV?d00001 diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/bin/swt/most/statemachine/xtext/ui/outline/ParserOutlineTreeProvider.class b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/bin/swt/most/statemachine/xtext/ui/outline/ParserOutlineTreeProvider.class new file mode 100644 index 0000000000000000000000000000000000000000..8d4cd298985e7238e29e1e6f27a0e9857c9b544f GIT binary patch literal 429 zcmX^0Z`VEs1_nn40d@u^Mh1uC@)G^r{NfV*;*!LY)ZE16jLf`L{fd&*iW2?OO#S@Q zk{pmgKw?pGYLP#L7gCg(8c>v9mYI@T#LmFN$l#n`l&+teoRe8ljHEX;C9@>I2yR4X zZb6Q|OKMtTX-)|igBTguY%=pQOY9gKm^C!R7#Ucc^HWl}7?>G2c^Ft3*cci3eKPY> z{YrC_Qj0<olX6lS8H9ZDlM{2o5{oiHe5fExNk(QdBZHF<rCzgUWZ(+UFD*(=b;|_V zCWkW+^s*Am5*ZX37#WxuK!A~f5#(eBMh12U1_pfw5TAj8Rcku~$3_MQ1||kB1_lN; g21W)323`hk1_lNmFq@Tuhk=)Yfq{{M53GtG0HDNo`2YX_ literal 0 HcmV?d00001 diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/bin/swt/most/statemachine/xtext/ui/quickfix/ParserQuickfixProvider.class b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/bin/swt/most/statemachine/xtext/ui/quickfix/ParserQuickfixProvider.class new file mode 100644 index 0000000000000000000000000000000000000000..9f127c21896787bafcbd378b7ee08cbb06de2fec GIT binary patch literal 415 zcmX^0Z`VEs1_nn40d@u^Mh3g$@)G^r{NfV*;*!LY)ZE16jLf`L{fd&*iW2?OO#Q;r z%;fB}%nJR0#G>NVqChA&peVmAGbOc%oq>gs!6v^bT|YHBC$pd!NoQ(GW=Vb#!T^`l zw8YY!5_A(78Q5$x^D;~97#Wx~G{YDfSe)}yQn?tI88~?uSQ*$D8TfrN^HTjvbCXhw zLK2g5QW+V9eDaeMbHWmfGC_Q(AWKO`W-%j!gAZjsvSwu93eGPrN=|jl1lc8x-Q#*$ ziDiiliVTbl%nTsF$iN74EdwJ1I|BoQJ_Cr)z`&}toq=N`0|NsS0~Z4W0~-S)0|Nsu a12+Q$0}q(Z%D}_G%fP_E$iN3y#SZ`!4RVG6 literal 0 HcmV?d00001 diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/bin/swt/most/statemachine/xtext/validation/ParserValidatorConfigurationBlock.class b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/bin/swt/most/statemachine/xtext/validation/ParserValidatorConfigurationBlock.class new file mode 100644 index 0000000000000000000000000000000000000000..a94d66385a86f5a4aec8f82e0270ab79c671c1f4 GIT binary patch literal 1738 zcmX^0Z`VEs1_nn4dv*pUMh1`K@)G^r{NfV*;*!LY)ZE16jLf`L{fd&*iW2>@#GK5O z#FEVXJpF*gqT<w|Fo-~Yk#l}tT4s7_5m?eGCqFrxoq>gs!8yMuT|YHBC$pd!W=3fy zvN4WH#U(|F$t8FUVq_2vb`1&f^m7l64|a79@$~nL_jB}hWn>WY$x19s)Xz!GOV<xB zDay=Cw`OGEb<WQ#E=kM-8Cjaj!NAGLzy@(FBLkaFW?p8A9U}v?hGrNe1B-KhN-7rv zGXozF0~Z4~BLlxrW?rgaX>L+#QAlD^PAbTX{N%)(u*9NF5FaYYQj(Eb%*f#7L#?o~ zW@HdZ%go6MPAw_P%u6p0NK8*<WYEy?K@L8UW#ySE>8T~f`p)^e1^LC9C8^e)o|<9o z3}TE7-XM9RBMu&4Nja&W#l@wmpr9xYD9SI(Oi3-`V31&B&@V18(E}N%hny1hz$rm5 zCAFX^H94^)HN`hSB{e4?v8aTDL5h(<)CDe~0G3ezNpUeSGRW{S$TG+=GH@rRq&Vm2 zCgnTjS1>YUYGB4877-%CK@(qKCFNT)GH@otLXD9@8J}us&@wV`<T>Z(l;-9YGcquG zGBWU{q^2d7=9GBmrKIMSFfy>GWEL0X7pH=}r^dse&Y;1_Aef$7;*yz|lb;TYOhyJ> z4OGWvr6ne(>ZgEJ73+JVDz^rirp3dc&7i}`AYELNUz8f0nheTwt`!A|dBvIedBLEZ zS<J|whnhg}8><-xO6ht$3@QxVAeI_8gCT=4JA)A;gC=tD;x&bb!Gyt-k%22cwFK%Y zMh1H<QAmn^LGCc;VXy!h%$t~!;+I+uH=7R<NQj`+Mu|7PZnb7)U@wM*93um7a7kiv zwr^qqGz)VD=a&{Gr@Cc=GPxS0e85u%>46Fw21N!&24)5ZP-13aWng1qWMF4tU|?e4 zU|?Zj1eG8Rj0`*s3=H}Vj0}tn3=FJV+ZlK_f|c+yFn~2MFmN*nFfcIiKol?tG6*p+ zFt9KPGl)PnM=-E5uz*x(35g3yYRhh8kPb(f!NtJDz`!8Lz|9~8Hb)Dh7HSU2TzLis zu-QBeiVR9%)jSN!3`z{l42+<thuUJ#zywystEIJ#L3JC0rq*@_U4%7!V1J4+a4?87 z@GwY#t%5k27itv?D7ixot6^XQtC!W<&Y<t3EyS^t!GMXuSLZkb513=d#IQkU0|NsC zGXp3b#28o^7#L(2SQ%s)_!#6Egc#%*q!|>!mMB0Bf?C4LAi-eCV8y`5z{kMPV9j8~ dz{Fs~0189KzYNms42J9sh761hw%{PP0{{Wq%?1Df literal 0 HcmV?d00001 diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/build.properties b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/build.properties new file mode 100644 index 0000000..323f56c --- /dev/null +++ b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/build.properties @@ -0,0 +1,7 @@ +source.. = src/,\ + src-gen/,\ + xtend-gen/ +bin.includes = .,\ + META-INF/,\ + plugin.xml +bin.excludes = **/*.xtend diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/plugin.xml b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/plugin.xml new file mode 100644 index 0000000..466fe28 --- /dev/null +++ b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/plugin.xml @@ -0,0 +1,434 @@ +<?xml version="1.0" encoding="UTF-8"?> +<?eclipse version="3.0"?> +<plugin> + <extension + point="org.eclipse.ui.editors"> + <editor + class="swt.most.statemachine.xtext.ui.ParserExecutableExtensionFactory:org.eclipse.xtext.ui.editor.XtextEditor" + contributorClass="org.eclipse.ui.editors.text.TextEditorActionContributor" + default="true" + extensions="statemachine" + id="swt.most.statemachine.xtext.Parser" + name="Parser Editor"> + </editor> + </extension> + <extension + point="org.eclipse.ui.handlers"> + <handler + class="swt.most.statemachine.xtext.ui.ParserExecutableExtensionFactory:org.eclipse.xtext.ui.editor.hyperlinking.OpenDeclarationHandler" + commandId="org.eclipse.xtext.ui.editor.hyperlinking.OpenDeclaration"> + <activeWhen> + <reference + definitionId="swt.most.statemachine.xtext.Parser.Editor.opened"> + </reference> + </activeWhen> + </handler> + <handler + class="swt.most.statemachine.xtext.ui.ParserExecutableExtensionFactory:org.eclipse.xtext.ui.editor.handler.ValidateActionHandler" + commandId="swt.most.statemachine.xtext.Parser.validate"> + <activeWhen> + <reference + definitionId="swt.most.statemachine.xtext.Parser.Editor.opened"> + </reference> + </activeWhen> + </handler> + <!-- copy qualified name --> + <handler + class="swt.most.statemachine.xtext.ui.ParserExecutableExtensionFactory:org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedNameHandler" + commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedName"> + <activeWhen> + <reference definitionId="swt.most.statemachine.xtext.Parser.Editor.opened" /> + </activeWhen> + </handler> + <handler + class="swt.most.statemachine.xtext.ui.ParserExecutableExtensionFactory:org.eclipse.xtext.ui.editor.copyqualifiedname.OutlineCopyQualifiedNameHandler" + commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.OutlineCopyQualifiedName"> + <activeWhen> + <and> + <reference definitionId="swt.most.statemachine.xtext.Parser.XtextEditor.opened" /> + <iterate> + <adapt type="org.eclipse.xtext.ui.editor.outline.IOutlineNode" /> + </iterate> + </and> + </activeWhen> + </handler> + </extension> + <extension point="org.eclipse.core.expressions.definitions"> + <definition id="swt.most.statemachine.xtext.Parser.Editor.opened"> + <and> + <reference definitionId="isActiveEditorAnInstanceOfXtextEditor"/> + <with variable="activeEditor"> + <test property="org.eclipse.xtext.ui.editor.XtextEditor.languageName" + value="swt.most.statemachine.xtext.Parser" + forcePluginActivation="true"/> + </with> + </and> + </definition> + <definition id="swt.most.statemachine.xtext.Parser.XtextEditor.opened"> + <and> + <reference definitionId="isXtextEditorActive"/> + <with variable="activeEditor"> + <test property="org.eclipse.xtext.ui.editor.XtextEditor.languageName" + value="swt.most.statemachine.xtext.Parser" + forcePluginActivation="true"/> + </with> + </and> + </definition> + </extension> + <extension + point="org.eclipse.ui.preferencePages"> + <page + class="swt.most.statemachine.xtext.ui.ParserExecutableExtensionFactory:org.eclipse.xtext.ui.editor.preferences.LanguageRootPreferencePage" + id="swt.most.statemachine.xtext.Parser" + name="Parser"> + <keywordReference id="swt.most.statemachine.xtext.ui.keyword_Parser"/> + </page> + <page + category="swt.most.statemachine.xtext.Parser" + class="swt.most.statemachine.xtext.ui.ParserExecutableExtensionFactory:org.eclipse.xtext.ui.editor.syntaxcoloring.SyntaxColoringPreferencePage" + id="swt.most.statemachine.xtext.Parser.coloring" + name="Syntax Coloring"> + <keywordReference id="swt.most.statemachine.xtext.ui.keyword_Parser"/> + </page> + <page + category="swt.most.statemachine.xtext.Parser" + class="swt.most.statemachine.xtext.ui.ParserExecutableExtensionFactory:org.eclipse.xtext.ui.editor.templates.XtextTemplatePreferencePage" + id="swt.most.statemachine.xtext.Parser.templates" + name="Templates"> + <keywordReference id="swt.most.statemachine.xtext.ui.keyword_Parser"/> + </page> + </extension> + <extension + point="org.eclipse.ui.propertyPages"> + <page + class="swt.most.statemachine.xtext.ui.ParserExecutableExtensionFactory:org.eclipse.xtext.ui.editor.preferences.LanguageRootPreferencePage" + id="swt.most.statemachine.xtext.Parser" + name="Parser"> + <keywordReference id="swt.most.statemachine.xtext.ui.keyword_Parser"/> + <enabledWhen> + <adapt type="org.eclipse.core.resources.IProject"/> + </enabledWhen> + <filter name="projectNature" value="org.eclipse.xtext.ui.shared.xtextNature"/> + </page> + </extension> + <extension + point="org.eclipse.ui.keywords"> + <keyword + id="swt.most.statemachine.xtext.ui.keyword_Parser" + label="Parser"/> + </extension> + <extension + point="org.eclipse.ui.commands"> + <command + description="Trigger expensive validation" + id="swt.most.statemachine.xtext.Parser.validate" + name="Validate"> + </command> + <!-- copy qualified name --> + <command + id="org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedName" + categoryId="org.eclipse.ui.category.edit" + description="Copy the qualified name for the selected element" + name="Copy Qualified Name"> + </command> + <command + id="org.eclipse.xtext.ui.editor.copyqualifiedname.OutlineCopyQualifiedName" + categoryId="org.eclipse.ui.category.edit" + description="Copy the qualified name for the selected element" + name="Copy Qualified Name"> + </command> + </extension> + <extension point="org.eclipse.ui.menus"> + <menuContribution + locationURI="popup:#TextEditorContext?after=group.edit"> + <command + commandId="swt.most.statemachine.xtext.Parser.validate" + style="push" + tooltip="Trigger expensive validation"> + <visibleWhen checkEnabled="false"> + <reference + definitionId="swt.most.statemachine.xtext.Parser.Editor.opened"> + </reference> + </visibleWhen> + </command> + </menuContribution> + <!-- copy qualified name --> + <menuContribution locationURI="popup:#TextEditorContext?after=copy"> + <command commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedName" + style="push" tooltip="Copy Qualified Name"> + <visibleWhen checkEnabled="false"> + <reference definitionId="swt.most.statemachine.xtext.Parser.Editor.opened" /> + </visibleWhen> + </command> + </menuContribution> + <menuContribution locationURI="menu:edit?after=copy"> + <command commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedName" + style="push" tooltip="Copy Qualified Name"> + <visibleWhen checkEnabled="false"> + <reference definitionId="swt.most.statemachine.xtext.Parser.Editor.opened" /> + </visibleWhen> + </command> + </menuContribution> + <menuContribution locationURI="popup:org.eclipse.xtext.ui.outline?after=additions"> + <command commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.OutlineCopyQualifiedName" + style="push" tooltip="Copy Qualified Name"> + <visibleWhen checkEnabled="false"> + <and> + <reference definitionId="swt.most.statemachine.xtext.Parser.XtextEditor.opened" /> + <iterate> + <adapt type="org.eclipse.xtext.ui.editor.outline.IOutlineNode" /> + </iterate> + </and> + </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="swt.most.statemachine.xtext.Parser.Editor.opened"> + </reference> + </visibleWhen> + </command> + </menuContribution> + </extension> + <extension point="org.eclipse.ui.handlers"> + <handler + class="swt.most.statemachine.xtext.ui.ParserExecutableExtensionFactory:org.eclipse.xtext.ui.editor.findrefs.FindReferencesHandler" + commandId="org.eclipse.xtext.ui.editor.FindReferences"> + <activeWhen> + <reference + definitionId="swt.most.statemachine.xtext.Parser.Editor.opened"> + </reference> + </activeWhen> + </handler> + </extension> + <extension point="org.eclipse.core.contenttype.contentTypes"> + <content-type + base-type="org.eclipse.core.runtime.text" + file-extensions="statemachine" + id="swt.most.statemachine.xtext.Parser.contenttype" + name="Parser File" + priority="normal"> + </content-type> + </extension> + <!-- adding resource factories --> + <extension + point="org.eclipse.emf.ecore.extension_parser"> + <parser + class="swt.most.statemachine.xtext.ui.ParserExecutableExtensionFactory:org.eclipse.xtext.resource.IResourceFactory" + type="statemachine"> + </parser> + </extension> + <extension point="org.eclipse.xtext.extension_resourceServiceProvider"> + <resourceServiceProvider + class="swt.most.statemachine.xtext.ui.ParserExecutableExtensionFactory:org.eclipse.xtext.ui.resource.IResourceUIServiceProvider" + uriExtension="statemachine"> + </resourceServiceProvider> + </extension> + <!-- marker definitions for swt.most.statemachine.xtext.Parser --> + <extension + id="parser.check.fast" + name="Parser Problem" + point="org.eclipse.core.resources.markers"> + <super type="org.eclipse.xtext.ui.check.fast"/> + <persistent value="true"/> + </extension> + <extension + id="parser.check.normal" + name="Parser Problem" + point="org.eclipse.core.resources.markers"> + <super type="org.eclipse.xtext.ui.check.normal"/> + <persistent value="true"/> + </extension> + <extension + id="parser.check.expensive" + name="Parser Problem" + point="org.eclipse.core.resources.markers"> + <super type="org.eclipse.xtext.ui.check.expensive"/> + <persistent value="true"/> + </extension> + <extension point="org.eclipse.ui.preferencePages"> + <page + category="swt.most.statemachine.xtext.Parser" + class="swt.most.statemachine.xtext.ui.ParserExecutableExtensionFactory:org.eclipse.xtext.ui.validation.ValidatorPreferencePage" + id="swt.most.statemachine.xtext.Parser.validator.preferencePage" + name="Errors/Warnings"> + <keywordReference id="swt.most.statemachine.xtext.ui.keyword_Parser"/> + </page> + </extension> + <extension point="org.eclipse.xtext.builder.participant"> + <participant + class="swt.most.statemachine.xtext.ui.ParserExecutableExtensionFactory:org.eclipse.xtext.builder.IXtextBuilderParticipant" + fileExtensions="statemachine"/> + </extension> + <extension point="org.eclipse.ui.preferencePages"> + <page + category="swt.most.statemachine.xtext.Parser" + class="swt.most.statemachine.xtext.ui.ParserExecutableExtensionFactory:org.eclipse.xtext.builder.preferences.BuilderPreferencePage" + id="swt.most.statemachine.xtext.Parser.compiler.preferencePage" + name="Compiler"> + <keywordReference id="swt.most.statemachine.xtext.ui.keyword_Parser"/> + </page> + </extension> + <extension point="org.eclipse.ui.propertyPages"> + <page + category="swt.most.statemachine.xtext.Parser" + class="swt.most.statemachine.xtext.ui.ParserExecutableExtensionFactory:org.eclipse.xtext.builder.preferences.BuilderPreferencePage" + id="swt.most.statemachine.xtext.Parser.compiler.propertyPage" + name="Compiler"> + <keywordReference id="swt.most.statemachine.xtext.ui.keyword_Parser"/> + <enabledWhen> + <adapt type="org.eclipse.core.resources.IProject"/> + </enabledWhen> + <filter name="projectNature" value="org.eclipse.xtext.ui.shared.xtextNature"/> + </page> + </extension> + <extension point="org.eclipse.ui.menus"> + <menuContribution locationURI="popup:#TextEditorContext?after=xtext.ui.openDeclaration"> + <command + commandId="org.eclipse.xtext.ui.OpenGeneratedFileCommand" + id="swt.most.statemachine.xtext.Parser.OpenGeneratedCode" + style="push"> + <visibleWhen checkEnabled="false"> + <reference definitionId="swt.most.statemachine.xtext.Parser.Editor.opened" /> + </visibleWhen> + </command> + </menuContribution> + </extension> + <extension point="org.eclipse.ui.handlers"> + <handler + class="swt.most.statemachine.xtext.ui.ParserExecutableExtensionFactory:org.eclipse.xtext.ui.generator.trace.OpenGeneratedFileHandler" + commandId="org.eclipse.xtext.ui.OpenGeneratedFileCommand"> + <activeWhen> + <reference definitionId="swt.most.statemachine.xtext.Parser.Editor.opened" /> + </activeWhen> + </handler> + </extension> + <!-- Quick Outline --> + <extension + point="org.eclipse.ui.handlers"> + <handler + class="swt.most.statemachine.xtext.ui.ParserExecutableExtensionFactory:org.eclipse.xtext.ui.editor.outline.quickoutline.ShowQuickOutlineActionHandler" + commandId="org.eclipse.xtext.ui.editor.outline.QuickOutline"> + <activeWhen> + <reference + definitionId="swt.most.statemachine.xtext.Parser.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="swt.most.statemachine.xtext.Parser.Editor.opened"/> + </visibleWhen> + </command> + </menuContribution> + </extension> + <!-- quickfix marker resolution generator for swt.most.statemachine.xtext.Parser --> + <extension + point="org.eclipse.ui.ide.markerResolution"> + <markerResolutionGenerator + class="swt.most.statemachine.xtext.ui.ParserExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator" + markerType="swt.most.statemachine.xtext.ui.parser.check.fast"> + <attribute + name="FIXABLE_KEY" + value="true"> + </attribute> + </markerResolutionGenerator> + <markerResolutionGenerator + class="swt.most.statemachine.xtext.ui.ParserExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator" + markerType="swt.most.statemachine.xtext.ui.parser.check.normal"> + <attribute + name="FIXABLE_KEY" + value="true"> + </attribute> + </markerResolutionGenerator> + <markerResolutionGenerator + class="swt.most.statemachine.xtext.ui.ParserExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator" + markerType="swt.most.statemachine.xtext.ui.parser.check.expensive"> + <attribute + name="FIXABLE_KEY" + value="true"> + </attribute> + </markerResolutionGenerator> + </extension> + <!-- Rename Refactoring --> + <extension point="org.eclipse.ui.handlers"> + <handler + class="swt.most.statemachine.xtext.ui.ParserExecutableExtensionFactory:org.eclipse.xtext.ui.refactoring.ui.DefaultRenameElementHandler" + commandId="org.eclipse.xtext.ui.refactoring.RenameElement"> + <activeWhen> + <reference + definitionId="swt.most.statemachine.xtext.Parser.Editor.opened"> + </reference> + </activeWhen> + </handler> + </extension> + <extension point="org.eclipse.ui.menus"> + <menuContribution + locationURI="popup:#TextEditorContext?after=group.edit"> + <command commandId="org.eclipse.xtext.ui.refactoring.RenameElement" + style="push"> + <visibleWhen checkEnabled="false"> + <reference + definitionId="swt.most.statemachine.xtext.Parser.Editor.opened"> + </reference> + </visibleWhen> + </command> + </menuContribution> + </extension> + <extension point="org.eclipse.ui.preferencePages"> + <page + category="swt.most.statemachine.xtext.Parser" + class="swt.most.statemachine.xtext.ui.ParserExecutableExtensionFactory:org.eclipse.xtext.ui.refactoring.ui.RefactoringPreferencePage" + id="swt.most.statemachine.xtext.Parser.refactoring" + name="Refactoring"> + <keywordReference id="swt.most.statemachine.xtext.ui.keyword_Parser"/> + </page> + </extension> + <extension point="org.eclipse.compare.contentViewers"> + <viewer id="swt.most.statemachine.xtext.Parser.compare.contentViewers" + class="swt.most.statemachine.xtext.ui.ParserExecutableExtensionFactory:org.eclipse.xtext.ui.compare.InjectableViewerCreator" + extensions="statemachine"> + </viewer> + <contentTypeBinding + contentTypeId="swt.most.statemachine.xtext.Parser.contenttype" + contentViewerId="swt.most.statemachine.xtext.Parser.compare.contentViewers" /> + </extension> + <extension point="org.eclipse.compare.contentMergeViewers"> + <viewer id="swt.most.statemachine.xtext.Parser.compare.contentMergeViewers" + class="swt.most.statemachine.xtext.ui.ParserExecutableExtensionFactory:org.eclipse.xtext.ui.compare.InjectableViewerCreator" + extensions="statemachine" label="Parser Compare"> + </viewer> + <contentTypeBinding + contentTypeId="swt.most.statemachine.xtext.Parser.contenttype" + contentMergeViewerId="swt.most.statemachine.xtext.Parser.compare.contentMergeViewers" /> + </extension> + <extension point="org.eclipse.ui.editors.documentProviders"> + <provider id="swt.most.statemachine.xtext.Parser.editors.documentProviders" + class="swt.most.statemachine.xtext.ui.ParserExecutableExtensionFactory:org.eclipse.xtext.ui.editor.model.XtextDocumentProvider" + extensions="statemachine"> + </provider> + </extension> + <extension point="org.eclipse.team.core.fileTypes"> + <fileTypes + extension="statemachine" + type="text"> + </fileTypes> + </extension> +</plugin> diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/src-gen/swt/most/statemachine/xtext/ui/AbstractParserUiModule.java b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/src-gen/swt/most/statemachine/xtext/ui/AbstractParserUiModule.java new file mode 100644 index 0000000..f7e1a9f --- /dev/null +++ b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/src-gen/swt/most/statemachine/xtext/ui/AbstractParserUiModule.java @@ -0,0 +1,300 @@ +/* + * generated by Xtext 2.35.0 + */ +package swt.most.statemachine.xtext.ui; + +import com.google.inject.Binder; +import com.google.inject.Provider; +import com.google.inject.name.Names; +import org.eclipse.compare.IViewerCreator; +import org.eclipse.core.resources.IWorkspaceRoot; +import org.eclipse.core.resources.ResourcesPlugin; +import org.eclipse.jface.viewers.ILabelProvider; +import org.eclipse.ui.plugin.AbstractUIPlugin; +import org.eclipse.xtext.builder.BuilderParticipant; +import org.eclipse.xtext.builder.EclipseOutputConfigurationProvider; +import org.eclipse.xtext.builder.IXtextBuilderParticipant; +import org.eclipse.xtext.builder.builderState.IBuilderState; +import org.eclipse.xtext.builder.clustering.CurrentDescriptions; +import org.eclipse.xtext.builder.impl.PersistentDataAwareDirtyResource; +import org.eclipse.xtext.builder.nature.NatureAddingEditorCallback; +import org.eclipse.xtext.builder.preferences.BuilderPreferenceAccess; +import org.eclipse.xtext.generator.IContextualOutputConfigurationProvider; +import org.eclipse.xtext.ide.LexerIdeBindings; +import org.eclipse.xtext.ide.editor.contentassist.antlr.IContentAssistParser; +import org.eclipse.xtext.ide.editor.contentassist.antlr.internal.Lexer; +import org.eclipse.xtext.ide.editor.partialEditing.IPartialEditingContentAssistParser; +import org.eclipse.xtext.parser.antlr.AntlrTokenDefProvider; +import org.eclipse.xtext.parser.antlr.ITokenDefProvider; +import org.eclipse.xtext.parser.antlr.LexerProvider; +import org.eclipse.xtext.resource.IResourceDescriptions; +import org.eclipse.xtext.resource.containers.IAllContainersState; +import org.eclipse.xtext.resource.impl.ResourceDescriptionsProvider; +import org.eclipse.xtext.service.SingletonBinding; +import org.eclipse.xtext.ui.DefaultUiModule; +import org.eclipse.xtext.ui.UIBindings; +import org.eclipse.xtext.ui.codetemplates.ui.AccessibleCodetemplatesActivator; +import org.eclipse.xtext.ui.codetemplates.ui.partialEditing.IPartialEditingContentAssistContextFactory; +import org.eclipse.xtext.ui.codetemplates.ui.partialEditing.PartialEditingContentAssistContextFactory; +import org.eclipse.xtext.ui.codetemplates.ui.preferences.AdvancedTemplatesPreferencePage; +import org.eclipse.xtext.ui.codetemplates.ui.preferences.TemplatesLanguageConfiguration; +import org.eclipse.xtext.ui.codetemplates.ui.registry.LanguageRegistrar; +import org.eclipse.xtext.ui.codetemplates.ui.registry.LanguageRegistry; +import org.eclipse.xtext.ui.compare.DefaultViewerCreator; +import org.eclipse.xtext.ui.editor.DocumentBasedDirtyResource; +import org.eclipse.xtext.ui.editor.IXtextEditorCallback; +import org.eclipse.xtext.ui.editor.contentassist.ContentAssistContext; +import org.eclipse.xtext.ui.editor.contentassist.FQNPrefixMatcher; +import org.eclipse.xtext.ui.editor.contentassist.IContentProposalProvider; +import org.eclipse.xtext.ui.editor.contentassist.IProposalConflictHelper; +import org.eclipse.xtext.ui.editor.contentassist.PrefixMatcher; +import org.eclipse.xtext.ui.editor.contentassist.antlr.AntlrProposalConflictHelper; +import org.eclipse.xtext.ui.editor.contentassist.antlr.DelegatingContentAssistContextFactory; +import org.eclipse.xtext.ui.editor.formatting.IContentFormatterFactory; +import org.eclipse.xtext.ui.editor.formatting2.ContentFormatterFactory; +import org.eclipse.xtext.ui.editor.outline.IOutlineTreeProvider; +import org.eclipse.xtext.ui.editor.outline.impl.IOutlineTreeStructureProvider; +import org.eclipse.xtext.ui.editor.preferences.IPreferenceStoreInitializer; +import org.eclipse.xtext.ui.editor.quickfix.IssueResolutionProvider; +import org.eclipse.xtext.ui.editor.templates.XtextTemplatePreferencePage; +import org.eclipse.xtext.ui.refactoring.IDependentElementsCalculator; +import org.eclipse.xtext.ui.refactoring.IReferenceUpdater; +import org.eclipse.xtext.ui.refactoring.IRenameRefactoringProvider; +import org.eclipse.xtext.ui.refactoring.IRenameStrategy; +import org.eclipse.xtext.ui.refactoring.impl.DefaultDependentElementsCalculator; +import org.eclipse.xtext.ui.refactoring.impl.DefaultReferenceUpdater; +import org.eclipse.xtext.ui.refactoring.impl.DefaultRenameRefactoringProvider; +import org.eclipse.xtext.ui.refactoring.impl.DefaultRenameStrategy; +import org.eclipse.xtext.ui.refactoring.ui.DefaultRenameSupport; +import org.eclipse.xtext.ui.refactoring.ui.IRenameSupport; +import org.eclipse.xtext.ui.refactoring.ui.RefactoringPreferences; +import org.eclipse.xtext.ui.resource.ResourceServiceDescriptionLabelProvider; +import org.eclipse.xtext.ui.shared.Access; +import org.eclipse.xtext.ui.validation.AbstractValidatorConfigurationBlock; +import swt.most.statemachine.xtext.ide.contentassist.antlr.ParserParser; +import swt.most.statemachine.xtext.ide.contentassist.antlr.PartialParserContentAssistParser; +import swt.most.statemachine.xtext.ide.contentassist.antlr.internal.InternalParserLexer; +import swt.most.statemachine.xtext.ui.contentassist.ParserProposalProvider; +import swt.most.statemachine.xtext.ui.labeling.ParserDescriptionLabelProvider; +import swt.most.statemachine.xtext.ui.labeling.ParserLabelProvider; +import swt.most.statemachine.xtext.ui.outline.ParserOutlineTreeProvider; +import swt.most.statemachine.xtext.ui.quickfix.ParserQuickfixProvider; +import swt.most.statemachine.xtext.validation.ParserValidatorConfigurationBlock; + +/** + * Manual modifications go to {@link ParserUiModule}. + */ +@SuppressWarnings("all") +public abstract class AbstractParserUiModule extends DefaultUiModule { + + public AbstractParserUiModule(AbstractUIPlugin plugin) { + super(plugin); + } + + // contributed by org.eclipse.xtext.xtext.generator.ImplicitFragment + public Provider<? extends IAllContainersState> provideIAllContainersState() { + return Access.getJavaProjectsState(); + } + + // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2 + public Class<? extends IProposalConflictHelper> bindIProposalConflictHelper() { + return AntlrProposalConflictHelper.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2 + public void configureContentAssistLexer(Binder binder) { + binder.bind(Lexer.class) + .annotatedWith(Names.named(LexerIdeBindings.CONTENT_ASSIST)) + .to(InternalParserLexer.class); + } + + // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2 + public void configureHighlightingLexer(Binder binder) { + binder.bind(org.eclipse.xtext.parser.antlr.Lexer.class) + .annotatedWith(Names.named(LexerIdeBindings.HIGHLIGHTING)) + .to(swt.most.statemachine.xtext.parser.antlr.internal.InternalParserLexer.class); + } + + // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2 + public void configureHighlightingTokenDefProvider(Binder binder) { + binder.bind(ITokenDefProvider.class) + .annotatedWith(Names.named(LexerIdeBindings.HIGHLIGHTING)) + .to(AntlrTokenDefProvider.class); + } + + // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2 + public Class<? extends ContentAssistContext.Factory> bindContentAssistContext$Factory() { + return DelegatingContentAssistContextFactory.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2 + public Class<? extends IContentAssistParser> bindIContentAssistParser() { + return ParserParser.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2 + public void configureContentAssistLexerProvider(Binder binder) { + binder.bind(InternalParserLexer.class).toProvider(LexerProvider.create(InternalParserLexer.class)); + } + + // contributed by org.eclipse.xtext.xtext.generator.validation.ValidatorFragment2 + public Class<? extends AbstractValidatorConfigurationBlock> bindAbstractValidatorConfigurationBlock() { + return ParserValidatorConfigurationBlock.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.exporting.QualifiedNamesFragment2 + public Class<? extends PrefixMatcher> bindPrefixMatcher() { + return FQNPrefixMatcher.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.exporting.QualifiedNamesFragment2 + public Class<? extends IDependentElementsCalculator> bindIDependentElementsCalculator() { + return DefaultDependentElementsCalculator.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.builder.BuilderIntegrationFragment2 + public void configureIResourceDescriptionsBuilderScope(Binder binder) { + binder.bind(IResourceDescriptions.class).annotatedWith(Names.named(ResourceDescriptionsProvider.NAMED_BUILDER_SCOPE)).to(CurrentDescriptions.ResourceSetAware.class); + } + + // contributed by org.eclipse.xtext.xtext.generator.builder.BuilderIntegrationFragment2 + public Class<? extends IXtextEditorCallback> bindIXtextEditorCallback() { + return NatureAddingEditorCallback.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.builder.BuilderIntegrationFragment2 + public Class<? extends IContextualOutputConfigurationProvider> bindIContextualOutputConfigurationProvider() { + return EclipseOutputConfigurationProvider.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.builder.BuilderIntegrationFragment2 + public void configureIResourceDescriptionsPersisted(Binder binder) { + binder.bind(IResourceDescriptions.class).annotatedWith(Names.named(ResourceDescriptionsProvider.PERSISTED_DESCRIPTIONS)).to(IBuilderState.class); + } + + // contributed by org.eclipse.xtext.xtext.generator.builder.BuilderIntegrationFragment2 + public Class<? extends DocumentBasedDirtyResource> bindDocumentBasedDirtyResource() { + return PersistentDataAwareDirtyResource.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.generator.GeneratorFragment2 + public Class<? extends IXtextBuilderParticipant> bindIXtextBuilderParticipant() { + return BuilderParticipant.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.generator.GeneratorFragment2 + public IWorkspaceRoot bindIWorkspaceRootToInstance() { + return ResourcesPlugin.getWorkspace().getRoot(); + } + + // contributed by org.eclipse.xtext.xtext.generator.generator.GeneratorFragment2 + public void configureBuilderPreferenceStoreInitializer(Binder binder) { + binder.bind(IPreferenceStoreInitializer.class) + .annotatedWith(Names.named("builderPreferenceInitializer")) + .to(BuilderPreferenceAccess.Initializer.class); + } + + // contributed by org.eclipse.xtext.xtext.generator.formatting.Formatter2Fragment2 + public Class<? extends IContentFormatterFactory> bindIContentFormatterFactory() { + return ContentFormatterFactory.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.ui.labeling.LabelProviderFragment2 + public Class<? extends ILabelProvider> bindILabelProvider() { + return ParserLabelProvider.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.ui.labeling.LabelProviderFragment2 + public void configureResourceUIServiceLabelProvider(Binder binder) { + binder.bind(ILabelProvider.class).annotatedWith(ResourceServiceDescriptionLabelProvider.class).to(ParserDescriptionLabelProvider.class); + } + + // contributed by org.eclipse.xtext.xtext.generator.ui.outline.OutlineTreeProviderFragment2 + public Class<? extends IOutlineTreeProvider> bindIOutlineTreeProvider() { + return ParserOutlineTreeProvider.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.ui.outline.OutlineTreeProviderFragment2 + public Class<? extends IOutlineTreeStructureProvider> bindIOutlineTreeStructureProvider() { + return ParserOutlineTreeProvider.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.ui.quickfix.QuickfixProviderFragment2 + public Class<? extends IssueResolutionProvider> bindIssueResolutionProvider() { + return ParserQuickfixProvider.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.ui.contentAssist.ContentAssistFragment2 + public Class<? extends IContentProposalProvider> bindIContentProposalProvider() { + return ParserProposalProvider.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.ui.refactoring.RefactorElementNameFragment2 + public void configureIPreferenceStoreInitializer(Binder binder) { + binder.bind(IPreferenceStoreInitializer.class) + .annotatedWith(Names.named("RefactoringPreferences")) + .to(RefactoringPreferences.Initializer.class); + } + + // contributed by org.eclipse.xtext.xtext.generator.ui.refactoring.RefactorElementNameFragment2 + public Class<? extends IRenameStrategy> bindIRenameStrategy() { + return DefaultRenameStrategy.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.ui.refactoring.RefactorElementNameFragment2 + public Class<? extends IReferenceUpdater> bindIReferenceUpdater() { + return DefaultReferenceUpdater.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.ui.refactoring.RefactorElementNameFragment2 + public Class<? extends IRenameRefactoringProvider> bindIRenameRefactoringProvider() { + return DefaultRenameRefactoringProvider.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.ui.refactoring.RefactorElementNameFragment2 + public Class<? extends IRenameSupport.Factory> bindIRenameSupport$Factory() { + return DefaultRenameSupport.Factory.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.ui.templates.CodetemplatesGeneratorFragment2 + public Provider<? extends TemplatesLanguageConfiguration> provideTemplatesLanguageConfiguration() { + return AccessibleCodetemplatesActivator.getTemplatesLanguageConfigurationProvider(); + } + + // contributed by org.eclipse.xtext.xtext.generator.ui.templates.CodetemplatesGeneratorFragment2 + public Provider<? extends LanguageRegistry> provideLanguageRegistry() { + return AccessibleCodetemplatesActivator.getLanguageRegistry(); + } + + // contributed by org.eclipse.xtext.xtext.generator.ui.templates.CodetemplatesGeneratorFragment2 + @SingletonBinding(eager=true) + public Class<? extends LanguageRegistrar> bindLanguageRegistrar() { + return LanguageRegistrar.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.ui.templates.CodetemplatesGeneratorFragment2 + public Class<? extends XtextTemplatePreferencePage> bindXtextTemplatePreferencePage() { + return AdvancedTemplatesPreferencePage.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.ui.templates.CodetemplatesGeneratorFragment2 + public Class<? extends IPartialEditingContentAssistParser> bindIPartialEditingContentAssistParser() { + return PartialParserContentAssistParser.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.ui.templates.CodetemplatesGeneratorFragment2 + public Class<? extends IPartialEditingContentAssistContextFactory> bindIPartialEditingContentAssistContextFactory() { + return PartialEditingContentAssistContextFactory.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.ui.compare.CompareFragment2 + public Class<? extends IViewerCreator> bindIViewerCreator() { + return DefaultViewerCreator.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.ui.compare.CompareFragment2 + public void configureCompareViewerTitle(Binder binder) { + binder.bind(String.class).annotatedWith(Names.named(UIBindings.COMPARE_VIEWER_TITLE)).toInstance("Parser Compare"); + } + +} diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/src-gen/swt/most/statemachine/xtext/ui/ParserExecutableExtensionFactory.java b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/src-gen/swt/most/statemachine/xtext/ui/ParserExecutableExtensionFactory.java new file mode 100644 index 0000000..7724535 --- /dev/null +++ b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/src-gen/swt/most/statemachine/xtext/ui/ParserExecutableExtensionFactory.java @@ -0,0 +1,29 @@ +/* + * generated by Xtext 2.35.0 + */ +package swt.most.statemachine.xtext.ui; + +import com.google.inject.Injector; +import org.eclipse.xtext.ui.guice.AbstractGuiceAwareExecutableExtensionFactory; +import org.osgi.framework.Bundle; +import org.osgi.framework.FrameworkUtil; +import swt.most.statemachine.xtext.ui.internal.XtextActivator; + +/** + * This class was generated. Customizations should only happen in a newly + * introduced subclass. + */ +public class ParserExecutableExtensionFactory extends AbstractGuiceAwareExecutableExtensionFactory { + + @Override + protected Bundle getBundle() { + return FrameworkUtil.getBundle(XtextActivator.class); + } + + @Override + protected Injector getInjector() { + XtextActivator activator = XtextActivator.getInstance(); + return activator != null ? activator.getInjector(XtextActivator.SWT_MOST_STATEMACHINE_XTEXT_PARSER) : null; + } + +} diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/src-gen/swt/most/statemachine/xtext/ui/contentassist/AbstractParserProposalProvider.java b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/src-gen/swt/most/statemachine/xtext/ui/contentassist/AbstractParserProposalProvider.java new file mode 100644 index 0000000..bf264bd --- /dev/null +++ b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/src-gen/swt/most/statemachine/xtext/ui/contentassist/AbstractParserProposalProvider.java @@ -0,0 +1,121 @@ +/* + * generated by Xtext 2.35.0 + */ +package swt.most.statemachine.xtext.ui.contentassist; + +import org.eclipse.emf.ecore.EObject; +import org.eclipse.xtext.Assignment; +import org.eclipse.xtext.CrossReference; +import org.eclipse.xtext.RuleCall; +import org.eclipse.xtext.common.ui.contentassist.TerminalsProposalProvider; +import org.eclipse.xtext.ui.editor.contentassist.ContentAssistContext; +import org.eclipse.xtext.ui.editor.contentassist.ICompletionProposalAcceptor; + +/** + * Represents a generated, default implementation of superclass {@link TerminalsProposalProvider}. + * Methods are dynamically dispatched on the first parameter, i.e., you can override them + * with a more concrete subtype. + */ +public abstract class AbstractParserProposalProvider extends TerminalsProposalProvider { + + public void completeStateMachine_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeStateMachine_Initialstate(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_Finalstates(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 completeNormalState_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeNormalState_Entry_(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeNormalState_Do_(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeNormalState_Exit_(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeFinalState_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeInitialState_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeTransition_From(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor); + } + public void completeTransition_Trigger(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeTransition_Guard(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeTransition_Action(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeTransition_To(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor); + } + public void completeAction_Content(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeTrigger_Content(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeGuard_Content(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + + public void complete_StateMachine(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_NormalState(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_FinalState(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_InitialState(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_Action(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_Guard(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_INITIALSTATENAME(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_FINALSTATENAME(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_ActivityContent(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_CALL(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_EString(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } +} diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/src-gen/swt/most/statemachine/xtext/ui/internal/XtextActivator.java b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/src-gen/swt/most/statemachine/xtext/ui/internal/XtextActivator.java new file mode 100644 index 0000000..60945fa --- /dev/null +++ b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/src-gen/swt/most/statemachine/xtext/ui/internal/XtextActivator.java @@ -0,0 +1,94 @@ +/* + * generated by Xtext 2.35.0 + */ +package swt.most.statemachine.xtext.ui.internal; + +import com.google.common.collect.Maps; +import com.google.inject.Guice; +import com.google.inject.Injector; +import java.util.Collections; +import java.util.Map; +import org.apache.log4j.Logger; +import org.eclipse.ui.plugin.AbstractUIPlugin; +import org.eclipse.xtext.ui.shared.SharedStateModule; +import org.eclipse.xtext.util.Modules2; +import org.osgi.framework.BundleContext; +import swt.most.statemachine.xtext.ParserRuntimeModule; +import swt.most.statemachine.xtext.ui.ParserUiModule; + +/** + * This class was generated. Customizations should only happen in a newly + * introduced subclass. + */ +public class XtextActivator extends AbstractUIPlugin { + + public static final String PLUGIN_ID = "swt.most.statemachine.xtext.ui"; + public static final String SWT_MOST_STATEMACHINE_XTEXT_PARSER = "swt.most.statemachine.xtext.Parser"; + + private static final Logger logger = Logger.getLogger(XtextActivator.class); + + private static XtextActivator INSTANCE; + + private Map<String, Injector> injectors = Collections.synchronizedMap(Maps.<String, Injector> newHashMapWithExpectedSize(1)); + + @Override + public void start(BundleContext context) throws Exception { + super.start(context); + INSTANCE = this; + } + + @Override + public void stop(BundleContext context) throws Exception { + injectors.clear(); + INSTANCE = null; + super.stop(context); + } + + public static XtextActivator getInstance() { + return INSTANCE; + } + + public Injector getInjector(String language) { + synchronized (injectors) { + Injector injector = injectors.get(language); + if (injector == null) { + injectors.put(language, injector = createInjector(language)); + } + return injector; + } + } + + protected Injector createInjector(String language) { + try { + com.google.inject.Module runtimeModule = getRuntimeModule(language); + com.google.inject.Module sharedStateModule = getSharedStateModule(); + com.google.inject.Module uiModule = getUiModule(language); + com.google.inject.Module mergedModule = Modules2.mixin(runtimeModule, sharedStateModule, uiModule); + return Guice.createInjector(mergedModule); + } catch (Exception e) { + logger.error("Failed to create injector for " + language); + logger.error(e.getMessage(), e); + throw new RuntimeException("Failed to create injector for " + language, e); + } + } + + protected com.google.inject.Module getRuntimeModule(String grammar) { + if (SWT_MOST_STATEMACHINE_XTEXT_PARSER.equals(grammar)) { + return new ParserRuntimeModule(); + } + throw new IllegalArgumentException(grammar); + } + + protected com.google.inject.Module getUiModule(String grammar) { + if (SWT_MOST_STATEMACHINE_XTEXT_PARSER.equals(grammar)) { + return new ParserUiModule(this); + } + throw new IllegalArgumentException(grammar); + } + + protected com.google.inject.Module getSharedStateModule() { + return new SharedStateModule(); + } + + +} diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/src-gen/swt/most/statemachine/xtext/validation/ParserValidatorConfigurationBlock.java b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/src-gen/swt/most/statemachine/xtext/validation/ParserValidatorConfigurationBlock.java new file mode 100644 index 0000000..0b0a766 --- /dev/null +++ b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/src-gen/swt/most/statemachine/xtext/validation/ParserValidatorConfigurationBlock.java @@ -0,0 +1,35 @@ +/* + * generated by Xtext 2.35.0 + */ +package swt.most.statemachine.xtext.validation; + +import org.eclipse.jface.dialogs.IDialogSettings; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.xtext.ui.validation.AbstractValidatorConfigurationBlock; + +@SuppressWarnings("restriction") +public class ParserValidatorConfigurationBlock extends AbstractValidatorConfigurationBlock { + + protected static final String SETTINGS_SECTION_NAME = "Parser"; + + @Override + protected void fillSettingsPage(Composite composite, int nColumns, int defaultIndent) { + addComboBox(ParserConfigurableIssueCodesProvider.DEPRECATED_MODEL_PART, "Deprecated Model Part", composite, defaultIndent); + } + + @Override + public void dispose() { + storeSectionExpansionStates(getDialogSettings()); + super.dispose(); + } + + @Override + protected IDialogSettings getDialogSettings() { + IDialogSettings dialogSettings = super.getDialogSettings(); + IDialogSettings section = dialogSettings.getSection(SETTINGS_SECTION_NAME); + if (section == null) { + return dialogSettings.addNewSection(SETTINGS_SECTION_NAME); + } + return section; + } +} diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/src/swt/most/statemachine/xtext/ui/ParserUiModule.java b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/src/swt/most/statemachine/xtext/ui/ParserUiModule.java new file mode 100644 index 0000000..7392165 --- /dev/null +++ b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/src/swt/most/statemachine/xtext/ui/ParserUiModule.java @@ -0,0 +1,16 @@ +/* + * generated by Xtext 2.35.0 + */ +package swt.most.statemachine.xtext.ui; + +import org.eclipse.ui.plugin.AbstractUIPlugin; + +/** + * Use this class to register components to be used within the Eclipse IDE. + */ +public class ParserUiModule extends AbstractParserUiModule { + + public ParserUiModule(AbstractUIPlugin plugin) { + super(plugin); + } +} diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/src/swt/most/statemachine/xtext/ui/contentassist/ParserProposalProvider.java b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/src/swt/most/statemachine/xtext/ui/contentassist/ParserProposalProvider.java new file mode 100644 index 0000000..a80a2bb --- /dev/null +++ b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/src/swt/most/statemachine/xtext/ui/contentassist/ParserProposalProvider.java @@ -0,0 +1,12 @@ +/* + * generated by Xtext 2.35.0 + */ +package swt.most.statemachine.xtext.ui.contentassist; + + +/** + * See https://www.eclipse.org/Xtext/documentation/310_eclipse_support.html#content-assist + * on how to customize the content assistant. + */ +public class ParserProposalProvider extends AbstractParserProposalProvider { +} diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/src/swt/most/statemachine/xtext/ui/labeling/ParserDescriptionLabelProvider.java b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/src/swt/most/statemachine/xtext/ui/labeling/ParserDescriptionLabelProvider.java new file mode 100644 index 0000000..b70c4f4 --- /dev/null +++ b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/src/swt/most/statemachine/xtext/ui/labeling/ParserDescriptionLabelProvider.java @@ -0,0 +1,25 @@ +/* + * generated by Xtext 2.35.0 + */ +package swt.most.statemachine.xtext.ui.labeling; + +import org.eclipse.xtext.ui.label.DefaultDescriptionLabelProvider; + +/** + * Provides labels for IEObjectDescriptions and IResourceDescriptions. + * + * See https://www.eclipse.org/Xtext/documentation/310_eclipse_support.html#label-provider + */ +public class ParserDescriptionLabelProvider extends DefaultDescriptionLabelProvider { + + // Labels and icons can be computed like this: +// @Override +// public String text(IEObjectDescription ele) { +// return ele.getName().toString(); +// } +// +// @Override +// public String image(IEObjectDescription ele) { +// return ele.getEClass().getName() + ".gif"; +// } +} diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/src/swt/most/statemachine/xtext/ui/labeling/ParserLabelProvider.java b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/src/swt/most/statemachine/xtext/ui/labeling/ParserLabelProvider.java new file mode 100644 index 0000000..803ff2d --- /dev/null +++ b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/src/swt/most/statemachine/xtext/ui/labeling/ParserLabelProvider.java @@ -0,0 +1,31 @@ +/* + * generated by Xtext 2.35.0 + */ +package swt.most.statemachine.xtext.ui.labeling; + +import com.google.inject.Inject; +import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider; +import org.eclipse.xtext.ui.label.DefaultEObjectLabelProvider; + +/** + * Provides labels for EObjects. + * + * See https://www.eclipse.org/Xtext/documentation/310_eclipse_support.html#label-provider + */ +public class ParserLabelProvider extends DefaultEObjectLabelProvider { + + @Inject + public ParserLabelProvider(AdapterFactoryLabelProvider delegate) { + super(delegate); + } + + // Labels and icons can be computed like this: + +// String text(Greeting ele) { +// return "A greeting to " + ele.getName(); +// } +// +// String image(Greeting ele) { +// return "Greeting.gif"; +// } +} diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/src/swt/most/statemachine/xtext/ui/outline/ParserOutlineTreeProvider.java b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/src/swt/most/statemachine/xtext/ui/outline/ParserOutlineTreeProvider.java new file mode 100644 index 0000000..7ffaf5a --- /dev/null +++ b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/src/swt/most/statemachine/xtext/ui/outline/ParserOutlineTreeProvider.java @@ -0,0 +1,15 @@ +/* + * generated by Xtext 2.35.0 + */ +package swt.most.statemachine.xtext.ui.outline; + +import org.eclipse.xtext.ui.editor.outline.impl.DefaultOutlineTreeProvider; + +/** + * Customization of the default outline structure. + * + * See https://www.eclipse.org/Xtext/documentation/310_eclipse_support.html#outline + */ +public class ParserOutlineTreeProvider extends DefaultOutlineTreeProvider { + +} diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/src/swt/most/statemachine/xtext/ui/quickfix/ParserQuickfixProvider.java b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/src/swt/most/statemachine/xtext/ui/quickfix/ParserQuickfixProvider.java new file mode 100644 index 0000000..ef81b8f --- /dev/null +++ b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext.ui/src/swt/most/statemachine/xtext/ui/quickfix/ParserQuickfixProvider.java @@ -0,0 +1,26 @@ +/* + * generated by Xtext 2.35.0 + */ +package swt.most.statemachine.xtext.ui.quickfix; + +import org.eclipse.xtext.ui.editor.quickfix.DefaultQuickfixProvider; + +/** + * Custom quickfixes. + * + * See https://www.eclipse.org/Xtext/documentation/310_eclipse_support.html#quick-fixes + */ +public class ParserQuickfixProvider extends DefaultQuickfixProvider { + +// @Fix(ParserValidator.INVALID_NAME) +// public void capitalizeName(final Issue issue, IssueResolutionAcceptor acceptor) { +// acceptor.accept(issue, "Capitalize name", "Capitalize the name.", "upcase.png", new IModification() { +// public void apply(IModificationContext context) throws BadLocationException { +// IXtextDocument xtextDocument = context.getXtextDocument(); +// String firstLetter = xtextDocument.get(issue.getOffset(), 1); +// xtextDocument.replace(issue.getOffset(), 1, firstLetter.toUpperCase()); +// } +// }); +// } + +} diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/.antlr-generator-3.2.0-patch.jar b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/.antlr-generator-3.2.0-patch.jar new file mode 100644 index 0000000000000000000000000000000000000000..90516fd7ac76a3ec685e046f91eb762e68e20586 GIT binary patch literal 1484649 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%0D!d{Z$$6xKYGk@ro?%Z`K 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�K)HmcN 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�UiX{)V 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%0D4NWV( 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μ`l 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	Q#3y+mr>J-N^ zYR5_^Y|U0)Q<&StyH5L|*LBkkH@C8G+qJIM>UwFx>}>5fg}Kdp*S#&6|GH|&{ZeL| z7q=MwcYHg*dEL+A<t<kI-FeOCF}oiMUzhzb^R?cOTcz7KbNQ*<<8zuQBExDMIpt~K zGXcF@ho%bZ9Xph(b|-;*`_zJsV(*s3Z~50Nyte+a%j@M4F^e;7??syBZdQHzxPHHI zX=Jc<;Q#ySZGP*2^-Dfvf0*$g=+xGJwps?C>yAQ`s$M*@V%Zzpu6U@_o~Ovx#p$zw z;SUYN9};iM=PD$ZPnz*tNT$@5_jt_t1HtRkA68y3{?PZDwc`3$qnamGN4IZgF5krR zC8fH2lcLz+zMqC~lG_vIt$C`as+uLtIM!D6-&%0nrKqP&+MKgK3&dFV&JKU-H~Gxj zotINSzq*szRq6ZA<m#PC*1pE;&(0NFGUK{n$l0|lrp3~ZcklRJFj%kt!YE(ig;~DJ zjYE4n6TCO~C1@A3A5{39)^zZhE{pHyu%@+V=d#?Mv74i9#&*G+?00H6&h43-Q2m*& zY2mZEEQin7vRKb37kra(&v(P*O8$fAp6zAXJ)@el%=Ek9o3wlG8+PxUpTPf_;o!Vy zj!k>dR5k5A>&)_dMmy&>)A#B(&et>~?5J!>X!)sd(BrdW)8Di0oO}lTLNXb0$`&VT zS`w!G)Hs;&*|5p**<%*=+5Q4Orv1V_#`9Gq^5-ecNSLQ$aipdzVbM>MgA1P-v$W4V zFC>#^=U&kA)8^pBXWT6AGxddhjN+AM<m~e?I9k*CAmejr)5>SrEXQZ87naH1=U6c3 zr`kc2&$>;I&;A#jld#X%;BHNOLR)25!m^)w2X#K%Hr;&on?-$=yucYldzBg4buI?y z|IB!x@>#fP@>zdQKSO(Ei>rU;JTUpp-E{e^KIb`u{Yn+{ewrSf`OKW<y!n3B8TobY z1=D`o9%TB=-n99wJg3+!dqEwedbNn0f0K60@9O+NpG`M3@JOQ2_16tPN4$G@|JO61 zo{u7Y?ZUZvtPBjRc^MdN85kJyi_-NI^Gb4x^wS~7q3D+x>Ek*d1^w{4R_uq@<?PzM zGQm4)T9C)nOIr@?+`W7EZtn8qI}88u-z~mBb8U@f#k}9D=WFiGl&y3x`Zs^`^A>^E zNA6F3bl&UZbVaQt(WxAV&5mTOUc7g8Oosk-(XP9Jtg|HBX3RKi?I%$Y)YkX<+Kj80 zd{(aFat_(G^FZ0=eUB2Hd3f(gNoI3QF}97b@^a=iJTj5jP>a{_#%b%IsqG7uUhW9% zJyhV#(`{`c`&3ZkKv9hS`<L64c@6cR|0+wkesaR2#TU-xpLu4pa=EEgY*m`s+SkV< zl3GG@s}k!|bfQkr$+yl6E0md*Z`G*PcYWrC;5iGrJwxZL0G(cEbVMP#-!QWF>C(_b zF3{<9wRca3T&V~WU#>X6>SE$8WAN#9cLkC`r`NS9y1irx&QY6|y>sT0xl=X!&L5ie zW{vEOX{V-iojK+Zx-Na;U5A1`ubnfeSWPaTc+(-Rs88~R${FXS`8zFpf8Nlto?L8e z`<nHIPH)=E3&+{_TE=E{O!P2p7n4k?xwIvViQhhEqeOCOWtx@p=3R$XPk5ZVdUUBo zW<uNP3z?_3I_Yd$|F%emw<LA-C$6b>))VHvY&rU(BqZqIRF9DO4KZC`1Y=V>Hr8&O z7PN5f+6A-MnH?!Go;-P8e%jX~*AgyHyS@88r_a&NpXOa&u_es+%=foj)<w75equg< zZrR~`b)hA;ZJ^WZq&I+0uX8i~s&H?SFZlGjG|=gF7bb^lZD5`GdUk&L%EdCK(-$vZ zm85;_?fMsaTHDN4zc7o6OJBKldBC;R_xe6gvbeHp53@T{`h>E2_1ciGQ+Jns(-Xbt zsywBCx|QF{7kO*$9b7o&*JWFaryq51tS-7DZ=PvCi~H%b$67O%6!vZ1Cf;?_SSu$n zyV&m@Kl`LvLEB3nOz{wCKeusdo!+V|vmYE=uF}gKl5eef`b){>tcbnhwLcGAhfeIB z{qFFguX{aDZCTsC((&=FJzstcJzS7%Dja(5f$rg%=i4q#e08MtWAfrvo7!e90iRwc z9{e?BZ~F0a_2qIc2ZD}9sc1a4^4s%zo?_avJ2gVaYtQa(<k7ct{^tNWy^irx{QBjy z!_VJ8aCgPwsM_{?Z(Gpmb-duy>)Ifv*9H3CxGsFJzj@}S%iH?o54@57RVuLDsC&;! z_a{w@OE_x3g??e@SDw1@(Eod#7X&6(uhxsZD_9!z_|!d3(G91n;{R@bA~M^6_m0NP zhxQ6jV)KvXT;#jGs6-_DlkHu{C7&)`jLqs>71e#<Qb@~WiKUOHAJB8pjs4pC=;R8K zk~uxMnvLfMUY{l0D%Z1n>EbJs4$P0;IORpHxsdH^;s5_F<<hP?E{e#=_uS#DUeNfF zy}dSASopGQs{{{kBU|Uf0@X?hn>jX2a-MRm{c8P<$0r>>`1qvogU%<OA5uPvRA^O7 z+03<Jp5-}@^}O2o#^;lsAN+ih`$6jy*AGdbgeo*ECHKtP!xZNk$GTo^eWUP`tsksD zRaG!oD(~ssBYDs19#_6{etY?Z@<Y2%?0#tbWbXz~ze8e{tlmYUbJW5Qn^nrkIF~)( zvE<(UL?*`jTf%&q1C>RxG5&cC(kFjEWPZ~8LGe?fg^GM5_Y<`pGuND}cd=vJKB52c z+9$#vJc|VLl(!$2ed71SsEG5O()5RUMf^2gHBxrY`(*Yt)u`5p{>=Iz^=a#e(kHJU zN}n)4WIi#!Eno3I*L}Brviq8A)N90l=KYZSwD&{pliv^7Pw*e&pD5oZuV~L@?^Y*M z*Yro_kI2u=ACjLoe<*(P{Gs>>{X_Z_<J;mD_jB!ctCOv3{-gFs>}T!|*-yJaR6qIt zkpG1IA^C~+ZT5=wT=i~t-1UC{nEp+w;rrM1$Mg^H&*&f4pT2+Ke<J^I{t5fT`zM?~ zynj;t;q{7j*Pq(|V?{0acUmck$1pQ6h_f*;SW{5&msFILhTQJEZ6;7Vf4xA9%@+Q< zSN{eja9uD8SDiLZr0ZSUe3qkuW^OgjYtBA>Z#^Yd+c&_zqV4&F#ShO&-n$>2AF*)h zrailV=xwX}ETdi&r2gx#|7+*(h1D<K#jUabw`tnq`QP8x-T#*K;@k7(W#4zc{`#@F z{K9?zyFc@OnC)r&e>?r+`+xVW_VF#heo*R+=Ihgim-lVwd%LfB)1^f^SzG#-Csy0c z$>njF-hap8ahj9UiW#eRI{m)#?fJUxhD;~#3kozxdG~SZq|CHUvT98hie)#7yq10R zV(CJy?1e||_v}oRyK>%j=?|e;c@gcRLrf?BrLCG7rubo%*e0C|y$zndc|3bUUZ|yr zy;znaQN`DxTBT<&b@6jaW!JSA7q6J(Q*d(2Nzv%FGo0R6&6MnP&_4IPlqYg$R7aD3 zx(;I?$62Fd>n}kS8li4~Sbp$%Y<nP7D{c}WIw`ZyF4j<6yYE|Nu}!JjFT0M=P_5o? zW%X9ym>n6PY$?BarR0>zVSeA(XQ?dQ(`>U`>y0H2Hz)n<5*K-ye1G4Y-OZg-4{W;f zV!1)8s0B+3Z*1BfsT~f2ENpTf3wI`Mx><UEm)zTn0gwMm8-9s(|GT`tsag6@QK0y( z$<8SpIiZE2o0B>nU8WlIa(js1j5?XlBa~38TXZOB#a1ELdp;KpO7#BjTN|sj>DYu< z%T_*HnEz`-l7wGZj!69hgFUImulk+0OYY)da(cCQQtva~_3z7X^KM+Ms`c;Tn{VFM zCC{F`5b#t|dzd&wiZ|9;+H$*ct@)mB?Z&qzI|n~F$NKw<{C=VGjV^%`J=5nX{cu>+ z%M@_AYTtonvS#xy$nna~6khI`SHAoGmAl=}DLhkSuAdD#qtUopYSEPyUR-g>ZyK~b znKp9!JLwrOn<i2HxT9}tcdZ7GYz)i(2Rk(k_#VEUb^USf<BUIC#|(LmMCW+tEx8=C zOzLsUoXmgR^DeEi)%21RX5VqnpwP1_C`eqmf6vz@ql(>nrulW393I7IuG;%&D&K>Z z$5dKYcTDEUs+?RRbof<!Xp+dWd9zz3#ijnW%<Hf^Jms0g6Q|@?hjyR*ykLR#Y|eSr zbAOo^Fg0aPnf3pL3Gez3{x_FhoGM{29sI6W=QLOF=b8(0RT8tK%`aW~5aLv&ExRJr z?OJO++8M(xOJC;aI5RMu?qy)m#g%D8ic(WU^8MT#o%8d`Qj1Dbiy%h}pRHxD2|fDh z!<lz4zpJ%KGjYzn;N;}1%*mmm=%BzlnV~I-<0Pw+BB!RwM7;$HT}ny|f_fFqS}ugR zh-^rFFIugCzOOa^+nwTQt`GPA|K0!oa{RM5Gjlg@-W*)^J!am|=O>aGF7(%@B``>@ z6qZnRXk(bkb~@>%mGoIXbBA<Gs~ZvPPJQArYwHcYY0-Rdy@2IUE$Ms*1!+w!pA8#3 zb0%pNFZEl`$~OB9SE!k5yFl2IO-Zs*oy#vb7?=em2Olk-#aMf@Wa2EnuIUmIFO;5X zF{W_@XdUojJjJ3B9@*M^Hfd_pJFSVU#8yg8G>_hM&Tz&2olNHbsh^L2&T7_>&<x^c z+2PjE%2txz&2qDw^{6*X-b#kkED?GKwk|rsHF5W)2HBjc2iGNE@1D3;Y)<6j%Rllj z+>9z)obgnR@fzp6J30q+AC>N9*v_@VamsGrC1zP~$}ZkgyLdQ_aT`ZL`-8i47p>oY z<aHS1wv{=%86S5PElO@b@J58S?B$oL?Gkxw8`*Zdr@Rr9tY+B}-mq6{w|`05evK#< ziQf$xUl$y(RpELg{2;OMw*CP|##b!w7BI9Qd7T*eql3Yn^_}3wD~q+NeV)h)&p6I% zp?5&o%KD&N=atD!HmX{4MIKD)otx(0eZ`o`Mw=~2_e7=N5-rw>xGNUQ2e_rG12?== z{rG9qu{go=;jY`)cc#4)d{D}GPr#=#_{5WFw(8k?l{KoaFVL*?Pko>LhMC!H1HWlm zSh76l%U=O!t{q==L7k~aD?9t+1%W^8DF*+uzb!arclpM1soze?@mX)Qdu!Kj%s2VA z_SnA5H@-{#c1*U<dJ`}8+cVid`;B<--&Gs$n|#}S?B9hOmc4&hZrpG3ZTqo*7jIPd zHXjRo?DIJ0@uXv^z1mXYrt30euJ2e_IQ!UJDgFx;3y#gswDEX+*7V(liVer2Gi+QQ z>zdy4dc07I|8hlk@Aiuo(Y@O*S5)_wU#M{JEx%N;;~4T8b~a9rZB67>e$?pwex*Xc z_xrU9`QGnWE9`sSvu)fSZ<Ol4T(Rfa?`#{#$DLCCmq5qbUHOqJCBNk3K`Hq~A5(gl zXV`>3b~c^2>|>&o{JM{VQvTO}c=YyPs%Sf9+&R~#J7q%p>Y6R5^usIpnyj{NSg~tQ zk(|@)o=>MTYq?IZ^49(xGJX2=ZzrXu*_@eb$<R36SJ#E(t7dRSScKL3RZG04EM|JO z<<y~>#@yO}xo7h7mOl+xnC5Cab?UiIujb4ON)LPJqu!+ac-5hst+ig<r<Z*_xptk7 z=4`j4IZsWmo;&sA(yKMIW^&BvOYqUu)t@!-;heWROW!oT`XqVI=%RzD(}xzf*#%Qi zmWGLcaeXo2q0;gdd$wGO42cbj3%j~JCCxQ+{**~sT24==HmatoUTqfGq%=!u|H_T= z4f(dmlsr~GJ!*0xO;R=0PwKo#dTQLmDM7_Ap1QU!P3G42KC-)Y%BtnlFD$6~VUlII z?fjb;c9m28(&H>kCq%`W-H!D1QMyzpWw>y|jtU9hbv1r*sfm%Hof1k;B`(g_Obom3 zygHP%+*3d3XqmW<YwDb)<-Jore)C(p#p}Gu>tNqU9So~{jD&*bXF4gh%&<J&mANf; z>E*8FfuX5dXML`goaz>Ma&l4Nqksw78KzfNm)072tvVvZHtp&eAMMra=9ur=vt-Sz zQ#Z8ciawosHFN6Jr&rS3IlQ@w=D0q+e9A}b@-s0@ZJ#37+h;7r7rt%v3jDt;Mv*1r z=%*vv52M{pl#);Gtkjd#&{)yum~qubaM6~kG}rx1UgA@xm~Il$6)c%5+Iw`@Dwpb2 z94T|SB_Fr<lq)9NdV~e|uG!Rbs@c>gS)^ujQL*+MSCgcyrSV%<&#drg{dn#E=d@`X zJG?$<Pks^Kc4A}q#&2I2oV{N6Z~etO-y@axWb9fhC+x{k>-ErIvu@oPU9I&6yN=CG zFcp1#zi7?>)!Sbx_}B7#X=-S#?ps#5dA8B>)YTPRr93|5uit+^yJT;m+OOxo_^obP zXXuC(xpg&&Y>5etjfi~vD6VAA)d}TNKc-xg46A+bk=x|(zGZqq@m#6swa<$Dbl0xj zByv(DYP0d_ZtrE&EVS3U{rxE_`~1Ju`~R<GYmLi|<$M|zoP4t0d(|1Pe>|NpU#n{y zUK4SvuDo+-y<mRkWh(_0)17SkiC@%MFaDb>Fa2Ig)$G`*@AEfF$Uijl{BTY|(tG8G z5RHWn%d1m)*Xyibxgn}=v6%Cp;yuMtPuFa->iE2{J<R`p1owM;UBi2o0j`h#{yMf> z+a+3cPjGU;>v`g5BVWyVX)-lcTVC$0&PuIUljG8Ex=HgMiHr=3h&8(XQf>eGqY~MD zNqdT)e9(NWy84pk@=Z%_MVW5=_gd-N{M8#T{#*Y~+rsRczsIBBkt`LinipQ3zP;1b zV|ClorliMzq+jJPeEj#~HHPHB;bl2Z^($St-|Al|{Ks^6|N7Q<&-=Hv35dV#-?mKe zT>YQIf5Gz4_bWZ#bA>%>@wZovi|UvHHV3&b4PG%r>$T<4D!*deW}70*MH|-a2zkNe z7%=DP4vYG*BR^Lku+Zm@x|)A{HP4A<;?t&`^VZc}v$81aZ1kMI@8W$G`kSMET>Z4_ z@u62mMZ(6jqW<vKF7OUyUvo*S%&Gpm@kODZM<iZLrrX~AIgRH?_42^=LaR<aWxUBU z)lO~6hDkAsaS^V?O;-=SFILW|+i=1s&^;n`S;o!BGRCS_Yl|Xxrloa1oywZ}^s1iN ziK|yXyYzX@ND*Ef5}H2q-EvEztX-*lz3gJvta|snDq#PlVy~Ma-h8@qh2<aX&zq*( z_5D;b!`eS03)y_bqK@h;?EHRerSF!vp=IYjX(s)6ax=>GPSJzc*#Yaq`&@YxM5mt@ z%v>12yJ+WvRcWuTOxhV1TF=@0-7BLwKhVB)#<Obze`ifubZqP55AQ-QYjMuaeRU@z z`{A+b@Fus|8S6Ig?nw3jRh>Hba*IH1T-2V&qF0w>E(;9cd^Y2r`+e_?rT?n#ytx=( z`{jGM{NKNl*Y8_1O@321t?$kI{ZEAVEH0QizpgXybMo2L`g-2`_u~(L?_YVnSGDl( z-@Dx`|J{W4^ltD<@>p<GYCY4Mvap>`40mc>&kYoQ6?r8i+k^98jpvH|z{Pi+i+(3? z{>!pFczUP6|GK@am+9PmD$wyKMt-L8?cS|yb0<9TPgt{izsrBVB5AI!vxlBn+_~&h zuO$4Jeddk(`&UbNH>>{oY-_ksPCx1QPVI<k+85(f)qnYiB$e#V)0w9J>vY_r@&?AV zmIt|49vU0uFPv%oC#gnr(eajvPKF|3lRqDIiIR>8$!h)TmRISUI<YvSGr@OtTVY9l zqRN{ajLC0rFgd?@aUj8(EwOm&^IMg2@{2!hEVJWNe*1@OUjFmPKUumi>j|i?u30qK z|5135LG3|{nZKT}mf6h|zNlN{d~1{Bxg^0Gw|<JmE%}sWUH)lhnO(2{_Rm5&OFylC zQ^TendgI>JvNX@DXAZqu^zvMivC7vY#bq)b(*tW>X-y5ayLKl}A@Iu-g|;i^6E#g$ zmmWRzK|0uFRZdo7kh}H#lc(S8nG=5Fr%qhv@o6_s^(~Z0JARF6%fW4BajFic>m50= zjoLzg=2*`^{QTBW8@v1G)<5HZGo!Kj%^xY5r03j6v)QYTO7wiaa5usv?>LLkmd6!= zW_}Htizd1@?K@i2Ggtqi_uG_c&E$Oy-G!a9>&0ECeSBJ0ryHO6T>Gci)cEx0*FRq^ z+t=oHFkc{ek63U>-Qv0TRpPFFoc;EX*uHz`@}Ek-`D3>4;<<eB9lkZ2=jJ~wzwvYK zqC2rQ+MYX3{?W3&e{B2hk8Bs8x-q^J`1?*l=Kjg@n;&;5ybzg`uq|)J+PPCVb9;NP zdiy6YE<63ijJfv@m*4&=_loUyVzu@D>F>8bzI(-BfB*gb=lmbo-~LhD*Z)g@{mOMK z7Ovv|{I{&GVfw9)mNoazz5d~7ZGVLS_D{jOD}D1hX6+Mv5PtE5@}EHK`W}XVx-V>w z$%`A+-#It`f%=<2o;@xd87^H%t9*2I*RNVx@{6mayl2Db<t~%eSuKvrhyKj8u8-Pd zqkLd<(~RdoK5N-0KiB^t{`QaRzfA}BD0$RfJs1CY{q3L9Nlo{jXrEB*eIa;r<CZ;p zlDrZx_Vhgs_7u7QDF60P>#($ty=RvH*j@H--i*nzi)KvTapL}S`5Qmm|ExJ>zv*+o zCqsn4;T8WMaYFUicNEPv)(i}Kve_W2eAOG<y&JTSiw3&<c;o#|fV;f;!`7BCc@>jH zPsy{<o`voY`8bX(yAf&f^`KQ}CEu$3M@~H9f8#A_qgy@0!#&u_BHPE!%`wg|D$3EV z?AwYbf|)0sPxkWYm%lyJGTDpUymX#+WMD+((=|($%$Zo`8pWr%e~zJK=9gKMCeF3$ z@=EDH=Y9U1*Et2FVB<~2$DahGU3l^4&X+x3HfFNQO_?=&zNwXZ@2*M3lQy>rAM=o% zI43w^?~2UD#g~mYZSFYrq{n9RBN^dkGYn>K$^8{Dai;McF5xpC=S7beUHWvyZl=Q8 zgbKf+v^1koZkf4rCcp09F#GV=J#0(U(w8ksU&{M+QO}n(U-mo+F%-$lk0|rgdb;cW z)1D_&Or#b}n?B9bO4-u?f^=Th3AJvov@Tf(FE*a#dls_p3^^sUviI1V+U$9g=2&Uz zw>OBVxA?EsnWLto6Z+hFbEZMp?(o|e-dtf?WMZt_eL?7|r}*D#R?laBUf9CjZyMt> zcWbihrIRxkUoI+|yqRTw@MhmOEz6b3MMj@oPw(9M@-V0HjM>vC&okYlplqwJ>wad= z-8o$6wf)P#&QP~d<`(MsUlsRl#g;Wqb4(_wL|3?`R+?6}oJ*QM;fjx@uBK7u$`v{@ zeV27!3gYtB<(;T@`mm?%o=cIj!7s%&znuEC*d^%X0!i=1HEL<GCpX@^@<Ayv_e|N^ z9X*$}U6f2N;=Yp{XuBuma%Rz`%SEjnY21EUk1rXwEmM0QFi)-JnydABp~^N*LCws= zmsj$>{bZQAQ;$jYqJ{3HHy2H=ZRs&N_=jnF$K<ynm*!k!So>^A?`co*po5n`1$F*g zcvDicsWi7Ot>1HDoxc3!xzob}=D&Ow^C-yeaEzH=_!^DxU!-?R#zh(!)y6TcNGqyy z>=IaGQvCFZ5bvi8Umm`6nze3&(Amuy9Zt(?)07YNZobzX+sRa)$+2<6S4|V0JvZlD z>4mSDeDR7Pr+*ZmW($-4dC^m<d4h#IEkkzPW%c)ZqcfFPbk_UemUq)DTok{B#YR7! zVtOkiQY1Y#DfRN4XMrK!eZ{Ab*>V+rds0?aZBq2;;^NNDZ4cZoD5b5}Tfc!RV)3o# z2C6nndoR{9?^ot`ZTYBlE#vMJvBM2*>n46b((z>P8O!6Z_Bp#Omi;y7@Roj${9W>b zv)Dw$#Gn7<eWc_pFx8}c?vYOcN(Wz0Syt8JG-un7`TH;2Sh@a5P?5)BC8_n7lWm-g zFVELen4K=9dG5W^tNBm9D8y<_ow-{r_f_F3n^PxM4lU<YESjIxqrFDQSoal!ecg}w z_kPM<|H0w;ZOZBno8miOiLR}c|E{bK)XX~MF2){v^=aPhdrFHE9XGZ{nXX^6t6*KJ zkm);nwa-cF5pC~JuJGEotw5vWc$h7>;x%DG(MvDbnzAjQ&Xo4FaXQnQb4=7k(l^&~ z$?QdLTid3FgoQ5mQ{Ts-`QqY}!s%fFnr1FXrui#`o-R7K_MEPwv8qMJH$RR={Xx$p zGhgmm=(ox6T+($R(TR1dzAHp}WG?oO2}oUR=8@m4tFyLnS4LJ=`I5QbMw9pMzMjTo zzh+a-vYpiiTP`krygj=@^LLlm#S*TjBYpBOg)ePCc+b*rsZ0>F)23Y2P|2sobEd9r zO{xy*@(|5-FM9h<@>%DErOLC!!$PNuPYu`=;j?b%_3ICnLIS*(o?GeSWPPyuvximn zst-x+Q^Wa6#ioW_^qDxx@x_f76ZS4Ysv>>xnovn*-gm7Rx34Jfn(^;r?>Yg)mCkcR zU8kx}do6qEhSCzr(iyC=AysX6{yE8ZMd^0<t6n~3bJ*DZ?Ypb#C+13BUs0$2<e=Tu znBO)@S4%RA0(WOl(Dq*DtG-QIH8k0EK|<Hn4;|iiul5IgR*~x}4)aaS47EMC^Xu)3 zjkPg8uQ#PWF6tAw93U9qWOI8}jd;ZC4(>OTU#**WHnBf*)q_^HO3o)H-(yS){3Q+3 zmR&Zzope%A-lUsZWS@opz7_wqSKA#hsum4ZUFx*M+C1;p>#JO1h4;@)`gtzpKJyN} z=?gkowr3WmM`y3R?aDJtRYfExLMTI0YxjktdHicSRXx29Jd=v$TevdhddHVzwo9uP zZ;oMH_;t;!!_vFgf0Cbj@5Wk9y`tXw3#?ZUt8Te|N_W>f*`|wA&pn!?G@WVNoTV}H zOXvKW-+%b{PU#Q%+aJBY8zrQEuV_y2Yh8={gWTG?y(i{`XP&>o+x_|3$Ka0gE@Q71 zHHj;^-={6NWZ6GwTJL4&toxy<GL4H4ok}`g`N4fsz4vCtD&wmY4enmE`5oY(A~rSH zB{_HB_HX5{|JF85a5MIpJUt|J>XcdkE>=wEcFwps_q6=U-{vL1Sk<r0pS90d>$=+N zFFRcPgEe?I-Z18}{TIEvgKg2%a^90s`%bRgt9dZon^%SV|B=!uq4)1_vD#dV-q5s! zBk@Bk?{n1?2?85KK9ptroMYt86Ztdb;r=D&Ry*JEh850Ty``Yb!av6(?zBK<h{l$c zHk)+U?Nnd*DNi_PwV<%uHwo^!1`N!M8znOoIuEljR9P9^sM&Tv;PXwP=$YpOc#P+- zJ)1t`hQImzw;OD2t%Iy(0}l9o3FG2XsoK_I!yzGA$`Fxqp80@swJgI+#Y4tC>NhU! zF`4bA+TO@_SW&>u!C*;p`XRSnuad>zWZhex+jzG_&Lp_WDQy|c**O`n`UKa_n|RM* z>7LAqzZ+ezHqN=4ZLi@OG(+WTW0g?U4x!(U)iPgHR(|_4JyFQKcvk@LDWgeG7AKtM z|7GlB$MH=?)rTwim4bqg-=vry^O$snqtv#P8(d6Kw`gSxVmZ4&!s#HVZGzOp^-YWh z&23>^Hw}b~7RqofU|M!ar+9(okw1(AUA6|3ZWuD<NVM8I3Oaw_sgwG)$kW02>g-d7 zubz6nX|B!uaP|S$oA#zy)&+?sSEqI=8cJmQ9@RSa@Jo+9SL09ig^_Mk9{9+z$hJM> zIo9bYJX>b^*1If<XCGEg>|}b={=oUdA?tnD)O@eH<nsF7$$7z0yukQOtHq9EGVbo- z`eJ9Lz8tgYQJ-b)p#8>Q>2Sw97N0FEZux|Ceaf66St{d{*M4Bdam5t-EoauSvL{B} z<ug09<re?KnT|)B=FM|g?0J#@HY1olxARfimle(50^1ifPe1YP*&Y35=cWmCPjljq z;LCjwrBtHI(<)uV;rrRZoOf~ogWxHJP#M>mEoC1ztdH8mU8&;vPNGv~KT`qY42HQ% zKN&g17Zg9Sdr`!&t7_#-Hxq_6OF3WouT+`z{<OzF_Q@G4&ek4{1v@6XJW-phwR^RA z_o`=Gez65=yD-jn{Bp_a;DZ&l7vAOtY!nMg^8J2hMeqV4E#+4RE(&i1lP#6QRQ_%? ztz<Nq^e^r5{ckID0#!Y`dbqe&H_L^n3Mnd2`k`@TVY-|CMK67)tA~8;QlsOS<ZSf6 zX(p~Y`$6!wx2~sd^*gQpv!eOJ?}!xHFDqNcA}8*BwIKeAr@<N{r<Gr7I%bHm)E|hy za6Rc~@`d&XRfqCa%<l6sCvx*NS!aBD-x63LzINMM1HNqsU2gD&AL5HzY@KLz$2q&i zeC<hFmCN4`Io;qs{lG5D^84Yh9~jm&v#&h*cLO6|Kz3=!YlW#cE|%?_)h!0@4+AS$ z<d*-R-|)C#)&uSWrnq+Xhq4u1b}f@X2+nEJ*L*Hr!B^KP-udi$$E)cN^D9^-_jECS zu(Eo<8!Yl{vH_3MJ)UEVCSRQwa;qhCab65<@ir|KZIRA;WG0|@_DHVc9RuO-EDzge z@3`C|o%rZqn?mrJodPP`Uj%E-JtfFL@v(>2@q#G<A6s5}E6sQ)=9tNQ^|FUZ`89FJ zFMgRF*<MHQ{NR4JcOAd7+Qs=<+xQIT{Y!bhGV;9NHRC%~-xlm&_~m-^p6<9!D<;d` z^UGQ|bNw8XThFh4Ssqc#x8>KI?5~#BUlp&r`aEX!`kjHEn=Ca{jl8~gt?Ue1DSkVU zL(x{G_RJz>pL07>y0mnqj>PYDb%&rWuI@YeWgQ>>k9ArWZ8K5Vj@xREn5^IG`sM!r zZ`H5=y}&P8(PPa|iQ==@=l$OiSNDGHg<Ef2mKA>gHuL@G{LZY6>#{CPYSHt_a#FXr zp|$PSTHy`SOD<R3Q=I!j&*A~|C2sjip;q3nekM!3R5$rN|FG!?)|p-UiKaEKT))+$ zKJP!M7Patp=F=LdSwD+ieoPB{<^LpMjx#4?>XyY$+8(Oxp33ST$NO%`SSNFQQxVsk zc4u)=PXE&suPlvp#<D}H5`EVLJEJrI<{n&EA->b3eDdo}vvYpMZMwsL!q3jj?31)i z!~MyczgYDT+ZPHXTg=F`XxVxo<r-UXM72+9Y@tT?fr&a?n<I4k5}6Bir28I6u*Dtx zw4uZINRk=v+#EH()T<V~vAvgXI_adJ-q5u6kkmFQ?VG$2NAnJ5m8qXgvo7dcS-nko zx?Q`=8I`>XhqntfM=lW;dF0@JX4#akrxRKhyXswY(22`?7U#axGVR^>5cBJ2{<gk) z))})b@SViO(`il$eM_hCEL_8Mob&9FJOy86lgTPyx}%K)PhIlKv5iwS5kC9!><oX+ zcgq(a+g&R1O<7j;%jq?2X_r<nwz@hwdFQ-)Mf%%0^v@mFh`qqktGx87nNwuSQ^xgb zTXzY_?C6-Y`{)J6=?>;GT(*UhhG~|DAEP9iv=c1WwdlmKF7E7nT%g-?{Hg)t^#dt; z7}Fl~1~i&i-f?07sU_@lRF12;aM8*e)lMRQMv+!6GHbP24<|N--<&-8<+tLrosnFv z5f>b89^WbH`K)vHsf8=-lz%R$@($fRt!U0xwdgIAw>3KP%}IZ&|2(4l-_Gt0da_0~ zYouNN=_uUHzvHpyHqY8Z?vkU{8K>U0WZZGnyX7a*wp+tvhq%!Pxf4h3PH3)95PH|D zSuy|Qs)(dE=3kFfK3Q3&{4!X4;&6`=zj4vV4UERicFbJZvtSz&<BxxB)A%Q=_)IeN z?DR4U^px`Sv-O?%R6pTJbA`|b1J@tDPb#?ghq;LVeSN|@Yr)dVy1aKUJ?Sn`XZ&?B zzUiyamU*6!G@mJ6oW)-MRomloXWuk&qYH*f7ca(Z{QbIhP3nxus|!{!&o<lr?wYfH z&OhU|8$G54uZlkJcWv|buOfes#dz)S{bG0}EB=pbWUWdx813c^`)}*7H0|Gxt7-PD z&+3KER(n5L>S?X;GT;1!TX$YqNjOA#np~aGQzypDxB9+FcVEaykx+Is%l}O?`SRNn zt7K!!gqT`+x(vz$j&A01J=n~DaDuPetV8=#GPQF)d1Oq|J+n<dXwsX+GOkC#hu^$Y zsI=!<+AzZ@ar26bwaq4(>Pu#38W$~|)_(P1fw1B(xrf0fw)fUZ2qo<8-*Ruo4ULP7 zC#5_~iMY$U;}=)(-mIOelcXe<nJtXH^`W<B^Ks!D3VWn$I!q4PUDErl*uu0UU`?}G z1<S3+fuE+yE0+G!$eeZDqh6-j@rT9AJC6;x{0}_+p`v*%IG|~HqV~MT*dI)94vIgt zs}YquV*b!zAN%nSwHBT72R>Jb#U1W{kp5@Np4RgMAB#T;?sJg7`OV=EWAwxIPYnOK z-Fi{p_3eD%mVfG%-2W3)=N+#U$=6HkIDO*T`h>DQ6D>cOiS;ax^tL%1^>DS0$o<5` zA9k-B(j(LVbp2_l-zc|6_w`Aujd5$FU;E}8ez`XP=tjpkMrJd56PzQ&ywj2+xMrUS zie!{NIVVR%J5@4A?CF{0n>pI2Q+G$m-F9C3F8SvhN3%}ZwAMEgvk&=gQu=0dwW8NI zU4GN*8~JN`jKj{Ah8>)}G16vE=;w^E!@)Om=AC@@fip)>Kk;*g>F&1pvtpmN=5WRz zpZ2LYNA>=hX`iicY^`CBKKMR;^^e1Etb()m`&Ye_d3jIi(lIufX6+3#f~>-X&S@6h z;L|Ex)oJZ)Y~i~kLab8cvTK)rgMp4>ulxbYH3wI3(7&;R@A@O29v18UQcY)LCoyE4 ze=fYfeZu++t>KS-R;@NvKkG2_<~_rT?i#aKz4sG;s;;{5FK@S_=IOi-b0Z#p^8Qga zNA-^o$HPO5SF8LLKD9kTbZN?@{kJ#rZ&Q*#d3|3<^`2?Fb&{(e9XhyoW$U!4UA{LO zgHH3gM3p6Uq_Q8|wbrj`eckDzWZ~M4oOwBu^v&+{zJ1pH_0{BViO+XMY<Bnl481UG z%_-g|NA9}t-M5lBc+FXDx9F!EY%>nzHEZ8Y(@2VbpjF0xCaK)X^fuq;8+;LG$_{yL z<6f7(`=Q%5cC!uD5Bau<Z`;J4Xl~6>?P-1YINt%gF!ugU&L3E;-+Y{C)VbI6S&2ws z*0!0m+*ewry>jz9Ya0Ch=MGkNo4kXZ{m~x`&SgIkJM-P=wrz+%%e3YC7jNdAS;DjF z%FZ9s4)u!HjGbnP^;b(3c9v;r95K)1`e>{-{ng=n{QQ;A*74lBaL3lG_`Ai<d&e{X z&1>L$!%~v$@0edEv@XH_@*i7fzi&EIHa%Z3XD`dtH>Nvg?d3jwqk6-%z5K6lvTvAK z%W?Z=<c*{I8lt|b-Z{Uox&6j<lk)oq9KY$Fz5BhO>+ge^`?WjIhtK}^rYh<d_n9fo z+a8!syT6-Jd{*6iyZJw@-_G2BdEQU!mTsvt_me&yJp1!;*(&#CGUZ8WdnHBk=57u4 znseqp|J<b~lk)vlwl#@q$}SLnbiT57wd5J2gE!CIUTD44+H%t?g=*m~f@zf{%QC0O z_KF54Z+-D0?5}#4jfe4yWtErpm5d9g%~re8aO1JC^|y<8&o^gIZ#$m-H6w4Is1Qr; zbahX?M;ddJmmPXy@Y3MPu5E2cXB=jI_^^rl;Z^~mMW!D<ntu9NUSabfLEhZCkbB<k ziziNhdDt{RC^Pfd(cX@<^X!@59u=s@y`Om2_)u)BJ!A6z2|54R6yKC*od4IrQO5V^ zhJAsgHUDJGLm@`2#un{6W7<+<8bxDTO=Fs)PZ;DpGP~hd^g$(`?feIYiizg!<~x}0 zJ=1+?dr!*lvFrnHIX?SO=RSzPZ<<r?+FO2@;hwDQ9`<cdC*J7)ek|l3fBVM_pXVEA zoPAuN(|_D^P80vUhRYR7=N@@hn94VB|4iL6iT~*9N~3iTH7kt$k6Kqq<vl-aGrR8m z1Rs4-HqL!Ze&kC^8uNx7(BCm9C92W%gKb<k+s&IIuImJzYWS5%Y95`E`hD9x>x#4; zcTGG}mV8Kiv><cI2e+71sg>WZ94nRZU%2bN)Xsa0A7|-aF8L<pb2-dguhsk3ts>9- zOac965g#AT=swcTYyBc|>-!C7=4aUZn3!J6TBR+i_kP|+|6{7s>w=HeZEpzeI(pQ7 z;?(m>(erpYZNw-2i12v$SYdKJqos}fvCo|<F{}Z{)DP>#v3#yD%z1M80iWGmmenj} zA7>Wu&u8WTSQ&8q`QgA%j&hH?ABe;|GHvIX_w=;qi*>E#KfHcSSpUgoo#&Ivb!N)f z(`!TSMD}-CzYZ+ae>jUx>mA$nuEnVb54v66v4&IByf5UAsArM>MxD>Ce4q4FW*Nwr z9(jDVP3uWU$fReS8MERe%6ERRcV$uiRz5rO{JLu;Zqe@zuWjD{RV46Xg}=b%t)8;t zlB#Y-_e8CCc5nX>=r-#*S6j;pUX^~gx_yh?1>+sMJ7bS?&P)vQ@ABe1;BwtD;onh{ z2=Ss=ZyTnvAeQ19Q-eBY%L&;hOZRljTrPbw=^oeJpKL-qZYLPr=Q#XB%|ku>OHrM= z&y#XT#`|1;`*^*6maTYX{V;1^x5*7#m4Mw3Rrj&qd-8pf!`t@nKNWw>v1hvf(fy(N zKZ!pF`xQSN4}5z3;sgJL;yR}256d@5+xOc3xO`)>efPybmOf9;KNhHK+j5KBV$yz> zTW?Zz9;|;5@=t8qhwFuG_01-?X76a&-|PLudfA0_tqxIEXA9T9+#!Cz?vjDCN3mt1 z{ymjBSwEVa)|95@S=IQ=(&%AXXw7#lx+U&#M#s^w%i?A~Tzqy~<(8X9{btdRE~ah% z5avC5>cqu!ld_D}^A6m8mASe1-P4BXSa*ql>o1Bv+|ACvx8lP4W>3A$b<NuO?PX3! zMRw$>ce?s3icU73Ew)zq-rtY&md8vimlX+OogKNCZy5*YB;{5EQ$0t;0_&WQ-_QSG zS8+`DY_e11{52=!s<?`4yi@o;(JxQ#JIMdD{qo#?g2-Qwtk>~Nw$&-^{-GW6$$mlG zeC6Fg#62(E-!Nr<yXcZv*F9zOrt{oTT3N7s$w5EQc6Jr%H`Cud^YLG@^9}RMirtpY z3pcQs&%Ax)?Zd1)Iqz)lWu9G-Q*>+XrdM~2Iey<Y=CCg8&Sp!LZat9F|L56TzVk1i z2e$}++VJ8~m`28zFdt#R8H-o&b@_KLeiMCmZ~NZ|BL8kE&Up2BR{y>YtBUf&Ot)Y0 zcYiIJXnR@5v~*|1_aApM|6l97<aN4RxYi}Ic1c9-ljz*=id%W_Zhw0!SK=OD67<;6 zIi3I4r(?`k`6VCD{}taham$fq)hrwMsxETOa-ML7%V}vq(W@wD`IWpX-m(gzuQ*-? zsY~d#9=2G?E#eWIxLCx|=_+%X=fn-+T}lVL+G>MrWTvtm;LKF`qr=-)d`ZAXQ_@tE zHTRN1jvnvvfJ~OM36~6GP95RU<o@k(Q$oM@n2RPqyLWQI3==WqrG*wzvl@N|G5SqV zdn~e2U~Z76-*m4HF1xr+FOjtHpVi5|)F^m@_6Z}dz`d7w^pC7N9IMoNR&(oBAJ>4a z*)yelR=!Q!8S<vV`iy~!?BNq9m9{!--K}1?>%`(sVwLAYPZx$WOV@6X*36XUa4!qU zy5qLHY`UT6Q5D|FB|b(5C$F7YXzvlLyW4B;1n)QB-SgJIwA|Pl;#WBJZ~6a<MCBd+ zFZ0>|+P<txpC4Rx;^^%|Ki6$~bY49Ee{8{<MY*<KwR&4G<?ekuYs-ffD!Vm*F{=DJ z{P(@I$PT4V2D{zA+)Uqhls#t456AnD{=SmcX8q;<z}F=3?d>BM{;%k)+vm&j%jDvP z>4&Xmn4NnnbM^F;TI0QItIw&Q@H=|_V9E7)Yqew9RcCJfu_6Ec*;l*{5tn9Exo5Ak zKet~0dYiG>3_G#Pz>i7Z(|_&ivXatlvp;P5CrU=+p4Z*{y+?2Re2;dIpTzVhz0l#W z;I%{jX_344pEA+haNSW-^0~Mz>n-!R2aNuAW{0hB2xEU5lCbu;{kx#`4ezuJHXGi* zrjxLPYez-;Vy3yTMK|o^a;fa#`K14#$l%Z7oa!YCdkguMgJx+})`U!RnJ4S9xxq8^ z!Gu+cE~^w>?WJ#d6ff9oB5vjRc|o^{{4VeC;Ipj)y1IvKGBx{@OU*o^`i@@OYT+E! zxOvG`i|8m<t{+x0I<ftymu%hPv`g^1hxtR@OICMO?)F44jV_qJMehB?yrb+(cz5{U zYGGe;wj$(KlfOs#gUgrZ{%9%@-{+_FY2FrI`)S)Ai(lgV6LqWe|D>{q`j_(l#NKND z@A2Iz^494$muk-_-t|B9o8h&F?TKBU{2Mhg<zMUCo_Vz7ua2YD5jKzZ$W0|Jy%YL2 z<-8O$i>#XBJ6SGy=_SLm-Y*u>da~))J^eSBUg9k4{-RPHVRiD=lJpyiFC)u*s`}<m znU{XvJN<_CCGI!5FI~&Rsyb`+_MX`{IWBR($NEk8mtMb7`I0x!BmWcMrR958f068; zV)uOSlJ^xoUu^v+)IDHcGQV=u7jAjAzo#xQEw*v~HTk(m{l}V@`F4@N+Wn`V`z&en z!AP>Q_sox&$cNmiQ{%O>YkJpw=G}BKe>(He*dpV)?J`H+PoDj`c~i6e#OP1QpN9RJ zB6I5eiNrs?J5B4|^Uj|?CHq6X$o=2mJDvX(+duDrk|#8IxA!g?Mb?wHORg0yx#IUu zw{+TXkBLR`E9c+wmr`)|Zhlgcx#CW|l&ZRiWziy&IKN41C!3e7ESeRfwA{n^Nl4~2 zn~*34{>jr$9B!Scy7{``aYz3(s=*n@JumRSSBzm;r*J1vczatxwa*<!iKg$fb}XLI zQtf+(drGzZQl^jPr}o}I^S8Z7USQ`L$DRCLF=h>W&bPbhdACX3Nq;8Sw(`e@PHVQw zh5HYD<azbI;lM|kRnh5>#GIsUJT$G3hUI>k;Nj`4$iqKdv)m@h+;>ar9aVoDrOHQw znPPH<m7AX=tTB2#F`&qDmCyEty(Y5#v+fmEpX}`K@MynwPNe3_otH12^iC(IO}P>~ ztK;|?4b7la$B%2KelC{o`yU-H8zi;!mBEI2cK`BYOD7mBc${Nvw~=ysdU|2A56`sX zh0Eu#8-9}Tm~{M*K&1@N^z{uomhx_=A1BU<VR-zs)4*{a%jBopiETELT2Gwzujccw zSZ6ioLriJKrQ)j(S9<SxRj{e?f9a{i9#?N2n_t4{w#@9%iT@3mD-F&Z-Xc=Pe$&%u zwx5r-;<8v*pV^K++N#UWsw|r-c==S~f*8h?MZ7$dwL2?ACn$ysKTbRBa<eotoyD_} z`PakD?!dqwTaK;>`_Xf9#Y4L{GoK`$SK+TV`goJ=O(oy_@{R824Idj%Fi!|$?q3x6 zTx9Z_86pjyjWe$BOkVN&S#PV|rjA0E+q;98%kSD&m!Ue#P}KVEtzQRUpZ(aVvaR*V z*R_p-o_%gM(-(Z{elvrA^CO+STw~r1^Byg7^#3KTch7e9!~6RS9@ri9+;;0-&eoed z?KZCZ;HV{Ky^z27$1g`)UG?m+pn`}Go}4v>Q$2Nk4&PVO*}=DJ)1fDE*W{*n@Yph3 zeWaMTS-ySN?S;L!*Y4tOI#b(P5x9ph?fNI%-hyBY!@v3`&MvguQ_^pK^HJ&&)4cPn z-T!^#q^6(nzOLHls3(?Xmt)GGX|v;3&Q+bfYnztlh3EBgYtM*1?Irzi-r3i;%{03+ z?UH>q9=mZ=DtY=Z-dq3I8nW$_J+w1&>yJ6VTUTt`x$@X9w-sV}MPFD~`h8tk+2LBe z!?n2L?=z<V%(G5<&v!Rz-xc5SjDi2`8o^n!1<xw~t2SYel{#Bve@1<isQFEi_c3!r zxm({&XZ<oseT8T)n{emd*Ef5geO2DI;n}hezNd>?Rr%H{e*Atzc4A_m+ZiwYha1&T zetyC#*T0v?Y;svFgHIgC!B0vVn)+=9m7H6qPM=g8$@cJ5(F?73ZoyAn9h1VH@+(EZ zOkUp{@w4iM{`zItt~qtpDC<nmZ=3o_cSB$tfBDJnhwgsLE!e+D&~A$P;q*^pKf?Ag z*G+rha{tNP0>6FiJ8R@`J^5`IcCS72(_xFCd;K>*F`k*o|5)N@;GQ76zSd8|7O{0g z&rkS2WcsPHZkqqY+)tTzwCsC#KTZF@`LnXdu}(04TKw_rPs~3U|MdM6R>xgG?f$|2 zPs$_xe=>{d)}Ii1x;dxgkD&L|{RxMk<VS4#qb#ldzgu@&ed_Bc_iwQMEZ-LSulcU# z|FhdPPkhrb+U*~Bqs}$?xX9eOfjr;3l9J^$%f8JOI#3rpYjd%e!SpF&HV&Cbo2QuB zL}Z@ct?{;E%B6Yk+On0CE_I4)$5!@U>OCL6>$9sDOZ=)YPp)g#{)|$cwm$gL54WZE z_ZO;sV4uqPr^9H%`~bGklfAU+qa;t=54-duGF9TgljOnrfJ;jQRD)kFO!3@1HAmA; zQunBKWzeFc)+vj8rd*oh8Ppb}&>O7gebj4W$TAV{;whPzYEs)udV{pqhNgLK*Gj!4 zw$$m?$}^MZ1!pb!KIP^m_fs-2i&NKqnYzj0S6HOZ-&H!({{^g@>KLiXuC@A!*{Q6Z zt2c%91>{XzJSF-`-Ki=|$DN^aYjP%Bo^tyMPwL`1tMBN=ugsa$J>~4DkkoFQ;GNFv z0=Av}Jf->x>nXj;g+<%<#H^f}A5wPu^;Fws)9*{)dYmQEmA*lLOT$zPu6Tv}hZ>6$ znkv7l&8THjTo+TuR<)zxhZNrdaaT(@9{$JPX|FOXIO4@LUrOx|j~CRm?7DLx{A`GQ z5p%q9yy}dU+fS!j`<y@WDO2O=r%abur8%x~mXoi~{%5(|>huTR%f^dD8*6>eYxwMA zyKfSEV%w*hn$urSSx<=ny6xrE_S08?^u3%~J~jQ}?q%U}iqjufAJSgF)tLFdxFFNo z1uuUzcBo{?T7GmE?7xsTt0`UcYR|P0#=4e6x4kE+KRP}o>)rFr+DG>|RNNzk0@>tC zF7_T^d(~IVxvqKZyJ=5*w#@_gon#ViFRxvG<D}f%TfaAM^S`lfh05NI#Rn#e2W-z# zsaWUs=zQ4zxohg`Km5qtSMB)Uxp%F}%8iwK9wx{6On)vABb<N5srdd|?eLWXi}}R5 zvU}ST1rNQwu*z~xS-ek4RO#|vIxAnFSTDA`YTL$N@jrIG-v9J$hPV`e<<)zNye8{s zMp!3zv%X!vptSh)v}IZ+!eUddJ1yx{mQV1Uv{vlaE-w?SKa&M6Okm&F`|~5ivL7*- zf;*Njb5=83t+)6Z&&AYz{`coClYO^LHS3pv&gcBA$6r<Pg?(M7vq(<U?7Y<d!>^85 zf7F}DJ>PPI`@&;?4@_Y{xX^}0@su4$s9c-bsk#jPyhQEx1?@!=T2meyxK}cXX{aYm zEaIA`wfv#j)65%7Y?yCPd7iNSlg*wLdpOo>>mRH>b^1f+C#{;rd)joTY~Qf@lbM^= z`vm!?u{~jSM=YKS%PgtsJb5a7#=@H3pQp+#e19@(Pn9oh{G`9f^C$0ijrs?%r|$3Y z{>lDb>-on-(T^)meGm>k7#|{fex=mB@X}*f7}Qpuja+bRl4*GKMzJi7*9+P<-pk4s zTf8k%`KsR=uC3a$SCu7izQVCB;_bm}tM}dv+p2$i;jvA3vt)M1zdg^l((}y>tA@ED z>>H<FIrv7ll;gLT?5VoY_Ko&eCeB$Id1qPLXNOV~{y_cb3tvgx^PGEP_llo;W?Rks z9-{u?-zycnfW4P`Y`#zW=GCVCF_?$Bxg<yb4^KX`bT*&)?t(R}cQPLGIU3dJnP^zE zc`niAWcR+w_NVE~)^ocfZ^f8zo&S5*Q-$wx-10B(B|o(N=>2+DD*u~@w~`;;_371F z7g=^}eN45^p2aH<hfZoK`?0ms`&jt%y2lrHYOk2r`>QKI<oP$RNv(Vla!c;3+Wp)5 z<j#@U*-K1{xDL16Gi5k)zTx(T`+Af1XWh?d?y35H@!H3Y-}N?U+$q+L7P`JkwY<nR z&HuGoss3xTt);s%;}%{!%ewaamz|DlyN|hX`mDE-2t56$R&(QDevQbPnqdWPzq9Xz zmg+rCny6}ba%+ci_s@Xzy}u`=FFKO<zhhq5gRI)=zQ0^1$fmViaN6&eQYG}PpkUVf zf;a!0AI7}5pL6xUcv~>{Zs~gpInRrmH|*^1THDHc&*^e)`*XEZyYlVN`0VDH@%zx; z101K^eoXQ05BHrE`nq<>*Jn}=&7Ygp-d&r$%dD;a<2Jci>(DvTtAiU>9(@q7+^NHg z*Xim@fpyay{7c!6taxhRu(qKyOH^dV)dwNj3qt1dhQ5-SvHo1E>nodxRp;7YUt!(g z7t0cTMYUl2E|FJPo)$Rm6^jcAKVbdJ>qo?1KD*%j2K}pBKkThi{<G>HOa1EC0YUk0 zv3ptHzN+F0Gf$BIYW8N?y}sJ3XJ@R=JLvS4Pbd8Sk)N+(cf{Ondwuoo4$r%dx3A3I z;eNOE_mwD{1^2q!uk8IXqe|Xx>An8*EBPO2ziR%m?3cj4#qSRHU-|oEYE?tY7spHI z-6M8XP5BxspV)lGJ#yDCiPNF->8`H|!xq^c)ViV`Ikl=QcI~`0^VR;FdtVtZnLa=H z`>OMsYhOv01=M!V4T?|8U%7rm|JCrD{jaj$?D=J7e#N|U!Y@7kVEbpeSNSWezv{ev z*k2+4RakCyUDm7n=_ju1Ddhi-{;afHc-n*VW%sL?tY%MtQ2Ik?-r@IW@4SDg@-N}l zL8lYNPajpiXtAH9p7%h}qU*oV(+`Fg4fZpyKm6^qYPF1ZlR~)Vx5cG<<DR~))jM{) z+N5lcd-CxrlQQu?H!t0od*<~Ar{wMC`nOK2Sj*HK+RJ^pdTxK!yVo_IUt7#-pC6Lj z_?~r3Aa8k=?eb+wJ7=G&=H1!<tX9_b&h^YcW&Y{&U-jPkXqo?Ry~et0A>n;mMOCeu z&yHQ>-B*4#YEqYwwMVc1!fziWWWML{=(q4~Y1y|#^^2+Q!u(9mT6gak)fwymvCO?P zf8p+5++V`#TP?ntM|tgc-t>!|C-{Gh%vbptO9~6JghH~7&RiFXShRA3)8&M{*JQS3 z9V}Qc#`Jq@SU~`H>+vmR1u@yY>RZe{Y`G>DclFlc=qUE{cRTzF*#D))J$l8r{o(sG zg_1+F%FfOa`5yMkdfsZ={K|FTY<lY>!mIsut^4MnG3P+Bo-=R%<M}Ph&b<AP;->`t zWqFW){$7pz>t8QVdGDyxGOL{VH0}G=J8!PNdoR&u{;TwG!~Ykr+h!h-`<~J(BDmrj zYtxo@0;^mdn#5SAXWAyNxW?_4xmVG<yDdhS?O684fE7m_H%{X)-l`a|FqUoe7Dt0< zX`jhcd?rsxGO80Wd}@?*&|d9xk!I;VpR=EC9*%#R_{ZzK+&>w%uirl$%`b|M>ziBP zcx0}!_}+vh6R{HpA1!wzxt7~ERptsm-?_-=O{!}(^V*F3)!M6466YN-Joet<mhcSE zu!Lp1nT=ofIqtb<>|)Q8JyTnx@|>`Kgz2(bH_eS!9Gz}6G4=nkUmhi{UYkTUZytVQ zH*r#aLpb-gd5PZ+7fjA5X^fw8L&9)h=-wkdUu6_rehVkxOUYQJ>$+v>m2B?1{TJ4D zRhetp$X#g74?W<gJ!Q9=-Gw`!#8#%+Ix{)Xl5HwoxAAb&<(CGFeT(MiOk<v$qW<np z`|Q^b#8%%C-S_2Z4$qE!5$TD6N)j^fzXtLMa<F~l;Wml>u(!U@GhFz{Dem<0O}TRZ z$tq7SoRW6b)|YMCI`Kk~H0zS0g=?pA%5J$Ru&%e!BUfii*3W>Iz3r8^SR&T=HeJ0n zbwi+b%kHg86&~7c%eM$s#LZ^Z&wBb{R~X~_%*_vk*K+N<p7lUJ*Q_X)Z`-wX2Mclq z%dSpK=-DR1o_X59J-YSr)~gnty9K+q%>JO2D|_xz-a*$}ReR!gi@v{N_VDg4u{&#X zkM6x?c4v9+@x!<HYGQ78s&9?`v8T*@->R#RZr`%42)o@IpHclG`)%Bx>1Fc&*4{lI z@|N*hO!b7V*X5GtZfVwWvOZFk=^oKkHih@{iOU!IHuJpYoVIvw!p~cib2fbw(Z1-n ziR-P%>WlNzy0@m^(0XgREvkCn-8FL)w`b{Zw%)q^hS}TFZO+xrZ?D};`Mq`f&BU{% z&EL5*Shq8oE1S#yYt-uro|2ZXwdGJ~3-^*8dJQ@i5+;ZD1{_xTtWzgH#rUR8uD?R> z;spOy6B%Fnn4Z5|tS~h*?OhT_qSaRM6J-_WFW(eAzx<#39qaNbLgp2cEE{dl7?j2v ztTt7);f&feH!VipS>kruyPcXBrrph)w`TQ)##}T1Yo<G9Z{2WA@SK^E^w#tZ96M&- zJbC5E+~u1Y#4>81=++5#l&GxVlCp!d|L}L`xxe;z6kd#X_^DraX6@DAGk#C9JLt#w z{`f`Pm|rq%(blDpH0?Cx-q^+buK!iI<>H6O8Jm3H8E^alhg<V^>;4Iw%>V3p=n)ds z@Z9X)|6k8}&+2`uboSrBUV7Hm-@6nKe1FYW-K_nhY>n;xlg0jLzQ1NuUhFyZr+iI; zT)_M0;-lX4rY&jFJYEx%5O-vGRmtzW0ZzOA)?V1ce{!`IckY({1$)0~mRz!Hes}Bn zh3MZ*kGAM1HhdFZk`eE`>zi)Ox?1+tTjoDxdn>*p^0#Q-)pHZ){b%3yGG#*v-}l!- zG8a-UR%w4|S$F92E<XL2Y)x_vU2+{|dnMUkJKhM&?@X-9=DBX2u;iZL=P&1GtS>*P z{dHZ$3iqUq_oUNb6-F#R{y1r`{kjXnAJ}XKufO)Jm_4s&_7{;mtClCNwG(-Ny*+WR zoy`3!?vH-|()i<Y{=oXLK7ai7%hX>v{=l-<=HFWXq)m0I+?Ti`HrUN<ec8HZv0ZEF z_3lXdyC<K$x_r}VZ%gdz_@mce7~klvGTj|H|Fqd_?i*%*rOLMNoACCk_{R3HN8fbp zYq4FWpX&eW^bO6wQQxNR>)N|I{<z(R@Xh{TP2WiWW&1XH-?YE0?w|N~?RsJ4{+Zve zn187Im1`4s|Ag>Y-I@jarY?VJ{Zpe>{QSlD&wf_v&R=o=aQBzJHLLcu`(J<m)cDKq ziq^XQxAPV_-P$$tXXQ7pOCKE5Uez8l6@RXrqxdqi-GV#u;0FP2HCy=uhaSXTy7=hX zwK$GcMJ4h7ZT%7-=jk}B&pQ+~^ZxGA=gg5SR^H9NsjPG6$~*U)wrjTj<ouylGi&R@ zBDTDv!fV!AOi!GD$m!a-J!eh3qVn?ZeVD~Jr?j9p_>i{k#jK^N#U^!AQ;VH`R$RNd z#WMGY#pmX{P8H+xch-OTz0BoLvF5eyobRLOM@%*SvsC2r-#h$skLauasEsY!=)WrN z-~U&WS6M~m>wSDGqyNV@bOy)d!>=D)yRG;@Bj-f<oiYJ4x$IxX5_>P|ueF(fV$0;R zh_`p%Ww{GSuRm_{FM)kdkLx^-H=KfBUa~88)MT{Ru~@z6cid6Oqx9wY!u~p$M_+{} zteD@D@>e9~#d5{ydZ}YC&L4338>w+=e!Ju^$s6nUv$%hm{&2@Xt~uA@ThqUOf6!AW zcJG3HYx&pn57zv%tXWjg82>W<Q2(#+54-=F{#jYy?DJoY`RjXwkpFVGU)U$<|4o0h z`hSz*ulyM+{`Wb5u`k$B$LId4{?XH4@fKnKrPZZ7Tz^%TNHtvMZ8PS5_jA%K4$p`k zmG@@w`fom$CSb?rw?QvW;GgK1wAizETr7_7ntA_W%VULWcmMFIGYLnu>|8#H<8CDX z=h<4zRsTN{XE|*nuQ8?4E?~zb*IjkT7}PgueBOMRZ$|FFElci;TRw_c-n4IS-^L|% zcUkL%j^CQOQh)P}OP`urj_gbJeA7Fv<=bYJk{zlG<99fh&VR5>tl8#W*y6(b{dNzR z%vsWYv1hW(*R$n0RvfeYUE5y%PV|<&6Ue>%XyEebCI2U%er>lrnEQy+&dZxxpYG%R zeZ>9V(I?TSJLj==+~bPfdwts;`7iF~TVoe?I#!9d{g}E@bYAPnsRio1yiGi^GHr~C zZM;sr)>{mj7VN#qV<ma;!r=_Y$-Q9@Oq>>8;b_)cY<kA*)?uc_%sR$ahrYU5+{r3w zlXVl{ar_0>?;Z||tS=46d+ZACyx?BmQ&(`TqwRW+M8)xr*8U!gAD24X-}nCeuzDgx zy>usso6xFb3?@AXZ=8{6((OsfNnMhdoh(si(w1DF%<|3blHoClPR?T*G6^XOT@yPq zk7b-O(L1iB%<kP2v&P_4!9GL2>5`KRS`8V)C4~#O7OLJ$5t+fAq0D)OkK?GO%04TZ z<q1osTck7vi}ZXk^9|1KNUCMwvvvx<cKyiOP18DVJc@W8sr1^$JB9Ogy6!~RGy^3& z>zD*KWudR8=Xu;xGMYEvy<VdkvT5DVB-XBbfBF_2vEP-NdroKJwj=AkTTMUh?n*Jc zGr9hu{M4)?MoWIMNH?!dP`<@wwg^h;%j9VEvPi$G*T1pj!FjPi@f>Db+?sgT|NUxw z&CNNv)<Wy#v%*#XulJT7P?gH|PmK4@{oKpn!)A6<VYbY>!03a$Gk>_TiM|z9__Fbt z?HwuqAFa$R(R&#jKk*7IF*v#UlFXfB%(fp7I%z0O4Rg_2J0s+lNl@lx&$&|_b`*-P z+$4G7wnnQ(vKo)csl*k5j#)WoI)={<a3$--r0X=89!m;JKb^R_P&das>_A?!s!hV0 zCacF*6;~p7{Ux&>q(64ENWbHfl`Xq+?QGB7+#?Lh+}ljHB~~X}_ZgH;jM^n#+!G~} z{N|{35BtUo79Lu!1j3}-JzZrFsvZjr^6#HeW!0G7t6sSGqez~a-=ng}Chv^q9sS+& z{KJHgHgcxt9uz)iwaMMnp)aBTSo)aun#CWjUZ?FjSS6XiDdMs2wfjFhR3+zc40)_= zcId~fRH^$LVjf4E-TToeDs_Kz(qneB!#^fYm9*b@^w|2GnIEO26aO5%Ch`1+?y>nf zlRt{@KKx_$Ta$B}_nIZFzoqhRns3_s+ahJx(l+?#G`@+R-TXI&JMDRnuEi~<9Vyu- zbGKcyxgd6`IVaKP#<jNgTeqtG=AWC`FP}V5>#VxJ-8CEYS8k_t&;2QTtYLHFk>|&o zA1vM^{yiI^Fumpzi*dR5oYc-o(->Md#77EEoxFhecO$QX=*zUQgKV?9zA&0ij7_UD z%>F24b|PfS>q0(hof^e$Y+@S~pY3g$zasUc@J=(il$AxE8lnB$<)8h$s5W=$ju6Z6 zSo>Q~7SD+8uD3q(>uUPP&GnDI&xl^#f8$dn_m1q6eOH*a^`4vl_2SPiyQ+{U%@6)f zO?Q4{eq&v8!0oT|;*0oLk6oH!G3~;Qg75jBn|+r#v1~KQc(r(g@_g&EXV1L*Vt4-B z^!VMKnxlcUXRo(<ck=9Yncc;on?;VxHLZFa*EB0x-|=ptyyM|Qd&k+28Jo(EH?uIy z@C)*kyivY!=A*$uh2wQiXJy$rtYk`Anq}EJw-v}JNj$Rf*|796$HB0^#VpRU{Q^A2 zHeMUHJ~nL1l{wC_t<=VE!`#Of2fy{HbCea#QMhsOqsl?QzU3Tk)_y{7-dMP9=zeT+ za9!VW&az?~=MB3bM>YxeJ?HpVVB>Fasjw|!%460hTUmXfH%}`%6Y`IrX8COqr+DM~ zN3DZ(eb+hMtmD)r9#=Fcta<F)RM@wj<Cyh5wHx<8@*QM3zMDl@_PwA_(H{SThR4iJ z%(C)Ad(IS2d!TUKorT@nPR-)TN6v#O$CtAN%gh(_DXsA<Sn-&<DYH+XldrhOwP45N z>?UQI`vN}YHQohF9$Pmpmbou{rr?i*!R3$22X&6`=SZ`zQ?j`A(fHtL+5G}%3jcT+ zT>mJ2(B}Aimg5%x6fCY4_C2sTKA&ZM!5>$H`yb5@e(bB~@GF?3Zeb|VC^xxD@MU4D zfl-wRi}Ld0PZFlQ2$bkCvR%fq*r|U}LdeTNnI0+IIR{rfx8sTJTQsqrBbWW+KLa13 z{r-J+lWsSL-nhnKRA@h8<Cp);sAuhHe0~x#o0WlKJ}(1<Iq}DKpdYVRi*~%)QCYLu zp1Vpm&wiJubz{=B0Ir2Emu5B=mzS59i@)nDe*8y%*YkbGD{Cw(-c7gpT$x_>ME2y* z`g8Myovw83Uww4`)kpfyA)fk~kmJ>ETns%|Iz_su^<9l9=y<gkX|n2EwVKMuKfgK? zm8ljII#qGiUZ0HWyag6F1e~4M`-PdXoSIRmP`h+to5Z6N%eYqY8s0c>1wLNwT}9a3 zLj}$}t4lJhPAMBSJgsoNc0Jc!Dk<g|_nQlO69kXCFO0nKCang1yxOm2voDn<^B5jl zW%_r8y^+}3RJ9GV=R;-MpU(DM(e=1g?Td)|i=-G)^;e5lc1`9nJaH}ACoKM_X6T%z ze*q<L9LkMEP4`_nnt5V*T*;JAXG?BfvGq4UGQ%s*!s@WV;*us!GvU))_mtczOKp0* zd4tOBt<IN&W(G~XDWUQ5r`RoCmgg&`%r0DMY$-mIH`VI#jD>!OY(m(kO}{v!f9<Br zlIO2)j%zp<lrgP?spi7$%dKq^og&2<6BUmg_g$^`<>O(|Zo{xk=E0dSU-3;>Q0DX( zpPsa&QBu!&Ip_JV4JY<(J6&jUVd~mb+9AK*1pHbiEc$8rXI0UdPM5E&r<d-rTeO<T zaGU<Muv2qwW?uFUmrmL-^PGphL9FdY(}*okzrL&H3I4ct&3hB=wV}e?Ox8<ZXKiqI zd~rKZ>($$E*XxNHwNo^<$z^ZW4!*x&nOxYmjKy-C(#tk*e!lQs=~HSDtC@0f?dP{T zqNjgeEBe>5>PA!HZ|z;tTyNKE?V396dSur7lT*L0+Mc+_f^Vx<{_%+iB$wR1?<ha@ z)6;iB?$f#6FA+R--0Ntt)h_PU<pml`|CN~gRX!Da6KMIWfA$vnwL6Pm8;bT^ws5~~ zUDSF=Qgqvft&-}}F3g_3E26Cmyi_`zpWg_w7x(<CRxver(jmsIEpuB^f9=ZDU30H{ z-=BwbR~2ddeouP%>)w&nQ`Zh(Sy)&b##Y-|aAD)DPOar1r#(Egdt%8FtHQvi8v{ev zDXOhhca2+g?r=!$%@?<)?w%aT@077J$yR8}2btxYUhh*(Q`?gxW4!i!)xsV<JLiMY z<JA-|-CwbMb|~n0wTuH%%<cK!%1SS}m3(g~mt>l`7nbU3zYo|vt6+ip9)5P?#N|1% z_xo>}e|^p1x3qf?<ajj!$nk25Q$=0>?-ib?sP;W9cF(TEua<;qRWF}%SWBAu>-kB6 zIR{M&7BA`l-_TLMS9G(hbx!vs!8Mv6O4%!?PERUdX*xegpW(Cf9`3}8zO#N9zdkwr z)X$&@n~Co^&X+vfeNE>4*MuXpl2+=r?ceF7dF^-7k*aG)|Gjs%Iri#ugyQv!VxOb> z9$$Lo&s)7zO?g?jmZ5|c6R(i-!>msR6&95&Hj`|)<b36r`&Ij!k55)VAbfK2gOg7* zKZJZTsj#YKGns6|J<oR@^Lf?t&Ce%`AK*UO{ov>m)ek|Rj4CWES@%rZ!xiTn$9()m z_Cu*pRu#6D%zGy8;k@T_k11a@zj^!Q@&nc<cR#rM#CC&c-(fLJM(-jazlqt2v-gOv zQ?@Rc_2!VACG+*kwH6BP1=H>@m`|GhAnlV~h5b*4nh7-=eJ9!<%Isv#Q(gUezPfzt z?Gwizlzl4v!LpNKzDoH4*CO>A$(=0a6HgbI?_{@gwd0+y7|$2)xKC(bSB+^6@6V_o zR-e9p;C&+faP|rF!`mn1x8^I~=ezH?Pk3K<jd>0K&$u6UpZ<Pee!~8+{RIEv{t5D} z^2+vn_KtNzbzOf<{_y;a{9*a&^9SxH;t!{v&_BF>LVRny@_xSkj&;Iy-G9vf@coSa zVf*R#2lglY5BpEZAD%zKzSUlNeyhEDJ!8G69ecg&KdFChe{}!I{;dAN{;B_i|C9L- z<4-()7=LpA!|MY3Uw@MS&xBguziH0)1D&nL%f`T9N>+JaQc;o`aysv}7th_#+AIsZ zZ@UWbm1nJJ+-OtS+M`;UcE?29v2f~@6}gg|=4`94*Nog&C9UssPO<&b<AS{W-g2GG zPEzN5D}<%~TTBy;*eJT^e}>Imv)lQ<pTBx`^v8$w3vchb=391rQriEh?Xh=XJ#*iC zeLw%#kIQ~v-P^ofj_q$=e($p@vVL<fe*JeWd-J+^J+)g`E9#fbO6NNJ>_YCWzZYHj zOX|*7XB4O%X>am8syeHEmF=~)os1m+rZxyX@ha#^Q2X>m?y;eaa7Ofmj+nJ7?zh{N z!dLq3|M02Ha)I1tr%#r*^gO2Na(q_!c_hVhUd@A6FV}esWf_E}-U?LcUF`EXbD_`E zphU;x`HLF|o-oNS7gq|ElI=R>S@GQGbZg3K)yXenx@Jyb*z%;ts(r$f(~+}2{%mob zkhU_-GhWup@Xk{s#ort|#5l|zGsQ}q#EUg$_UTQX@r2d=^Nu{et)1(*Uv4_F)U9~4 zwMnk~1a|IEbEkLZeLY+7cc1=c!v;z3cUzb2=j3_lx9RAlbdi@k*T$87-PbRA(B}G! zV+LtYBUw~bMU8h<nFX|n*s{B<+L^NG&b9ro#LhZicyM?1LS?Coe_qZ{c+a(e%hkN_ zi@kx0i}`aR3sy#$x$7@D_m%l`hxkdaF841=30_ON4<!XeExWl$X7R%OxzB5DZ(m92 zwfpKDe7<)3{KJzL+8b?}@`tbX|E#kMb9YtUy?Vc6y7<%+Qa*gkm%mN(z2-Pc^UvdV z&$hmL_3zn&2@^ehjyT)Dvn-jJlMuUpOKEx5cXt!_)@=voNqyU!TQ}*g&Pf+vwRweI z511yJeQ@Y|zOte8>e~H_Eje}>ss7t@GyL}3{8{fJ6_YtyBUTpWqzN2s<#oKX*=tEm zVn*YcPNs#t{3~au`<yc@X%m&L65lo9YubCCACmD)B-`w2;tEYeq}dLK8}MXKT=_8O z!#t~}m8%VV+U7pX|1hKMtz*z9iO2(`O%r{u2sbU0uw1e>ZOXytq3bGtinA+yPg-`b zdwUwcoQRuUjE4;Cf+JHe1#+CW_X|94@GaupuhNB2`(Jbha30&j{!;0x#O)8IS7c7C zcvjcEJo5NEQ5nYkn5CcUZF>K5{|Vn#SYXIApI7sH(38r>!v8fB_-%WhmP!@gxxKRW zOIXx`6sJpV|IyCCowf13k|-Mk!)Y#@r>Yt2JNkwA1eF>4q*kOBskpc~8X7}RRqGAA zpD!IM_V3-1Z#{P>AK@&`$kxb<in^Wq=E4_tl}tt7$ye4qzI3DI?YH*wSALf=|0ws& z&GY8sSlA@s<fJf9pvj3v=ux7h(Fz5|OZyhsytP|<Vc)yM|CoR8dSh8U*+i(rY|{Ck z`;4E@`+e8=yG7jJ``hm`SMbD1SQ|(=${c5r75|(f;h*Spfz$DElONYC0Tay(uM3)v zmX7}1znT~9S&-?-%DsI11Ialr8R~u>J>t{Se3au?fY6sUosq)lHCv*>?>w95*n0P8 zoB8~$uh*`cKKJ{ZsI%WTU2ofz+!|E(>{h_No$o4?=h(fvcK2FgYw*e6C+<&qq<b|w z@9fEW8)l#D3C=uo{jRu$vgv98iTs!{kzJqj?rQ2>)w7H{xi93YNB+LRjjK0rd(IWl z&E~Sf>BEyJH<F#XrmVg$o4+T^d^TTu@b|E-$Ky|?cUDMSiTrxMHgsY3z0A2KvqaCw z=Ird<b?91(R{hm|Y3ZxWYVD$PD)VaRef~A8+wbVs)kmk@E%KTdo4?DdKHTWL^zSFH zbmLy#*g7$!FM3XT<<rAlS<O7_nirN9bjW`$bWYvAZ^xCOiXY{ti*{f8)MK=s>&p6@ zcTPUZU!!S~_BX9RG+Ow&c3-_u=2f<bPbVfNpImJ*dEK7Ad1u$2_0Z?wf0%g4@6W^y z{GNv*Q+)n(7Vtgi6h9Ip5-j#Pz2Kj!p{U{XqZXeM{Lbu|p`8>HqpI^@)uHN>Ay$F8 zCSv+Gr?$Ez>lOa^F!5pY;m(vr3t82sJ-0o+v*z)QIkCA`%AKvr?CwJPYHh-;ok^LG zQYv%yOtFsjxZ@-8`RT{YmoE#q3Qc}_)@AvW?xizh5?9SRKUFR5*r)QxkCz`yGjlcW z47uepHGp~lqrKm+hd6O%z6@&K(D7XK+ui3!Lp%OfvDYoSFmX!et6gWp*Ppb05%|cu z{QM!V#Qh~VGf#+GhChk2yTft*=fs`89%t8jKeA}A-66May|;_b%Z}KIpFg?Avd^{J zXQsgQjIHaH`dZ(|mkRy1xR|v++FyJ=GHBj!0gq=XeSE6*wzGCt_sD<Oe^C+F9KGrP zzT?WK-7NJ>kNuR6bzNNaTe8&Q<LTO#+@_ny4J?>^mVMv8@Y4MQ9`YHBm1W=NC{Osu zb<oV|%^5SDvWI3$Z?<i5d}Fb+JGNXpu*^31OWnz-Ja3X_9~5ioQ}XFw+&%9=n3UTb zw+sG@JuVvZTq=}Vs$Mwf$9?wRh4Zg}`4|<}boU1LkB;S2lD+bt%(}<;&CBoN?*sAX zX55|~$NnlUkzX(RFz+El`o~Lsq35_iPx9v%dF0OY@qFq}-52(m2mSutd8m5#Poylz zor7V_?oG!sbR=p&Dn~S4JpX~~aq2P0W8OWRdz^b>kNxfOJti*kJ~_wGPMCXNKL>l+ z+6OGV?{2T%R?gafL)G;3ngspbj%VW{4w{vj+q>}Zo}RbZSnN%2ZBu}WiBx_3U*&&C zcWn{y=I(4M2>B+PI7v)NIz378riF;_+6RJVzw>|hY=4z#t`X`ydzIe(wOK`>!F)1( zWrYj-XXtRhO#7rKT)$sq^7R>CxL+m~HJ`Lo-0QQ-=NxxsgQsO$mr!uj2OjJFtjo4M zVA;JSO)|4%Wpskuc~9pvFIdn1X`8W2aamr+%BA_KFMoVoSJJ&Sy6X81{kxZ*zxcc~ z`j-s<uS>eMeYyKeyyqwH*1s#Xby`?<CU#;)?=hV~>ArUlKFyVRZ1!@Uvc&&K)?eoO z*7ve6p1bkD0rMMXGCukIb-izIH{0jjdFTK0SF>8;1(Bu_uId+=JOOf%vyO4hJti{O zablOo<;@Wbo)@&Ad&F+lKmUbN*vg*zNxk*KuBDR~CzZIqU9wuskvpp)D{F>SR@c06 z)hw;q(?aI{TNL)P?U(i45c|vCuj0RK`o+I@(Le9?QfzmPcD*cptXOq8Vwrhw^p|NL z)%NDrIJ}pbe_{8(FJ~1O)g24BStc1FVW6jUTBBqBmHP%KG?tXDlKQ{r%z-JMG4iEu z?3T-FOj?|4iVjB{OmvgwklJ3@GM}x7zoM@HQQ^ApEc#pp`)X2oe$SOUxcH5-%<Y5w zO};byXGd)gs%jOfwR15rycc3%(81mu#H?S8pw&w_cfpmTlK;Q`-*bEK>9=>E)>p<b zxjXD|IWdt%fT?585s!}6gaD@=_o9}=Pnf22uUF~_lF8m`)nhEXGFb9$#G0$u47&`j z%=C+1b@_P7oNac?`jpq6h_IFw$($SZyLNl|cl&JjlV{%j`}X_&`|A8nl}|5Ewr6b+ z+i{zF>xOC0BG&|8Ez8_1p4TGhB+YTx<wcs4H0M{LTP`d5FX*=X;=Jpn;hAB)kddE< z%j2M!?1Rncb0i*V+&QJll<9OkXUEyLM7FTJ?5dnwIc&k!?wg%EQ`F4o`0}JqR#rZl zlawBvlzIKvxl-%fR>8Z2Z?;y{1X@i#7kl=>t{<s$^sOh!o_}&ldF7E!Pa?8nvl2=) zCg1B;m#UVKIPK0J%)>PIrO&GDnv`O#-F7=GB~%xlyV&@oz~5;0vRcQC35R#A*-@6M z%^dHpHu;pEykB4M(ts*SKVM}fw?ms%^(9Pdwl3$<Y75#ax^iP<PF1y@?X1KA$^18W zrrnw8!=rBO-1#oXY_8;?;)xsIu52tR+F?EY%+hP=lV@(+Vr8#-?_>R&l9VD3UsZQ8 zvoZq%>*?FRolid?5Zw|T)tyi#xJASvJ37#4KgTn%gQ2b)7Az=s3^Z8J@l3=q&^P;I z@asEFnPrK(b2BtKy0Ske1ctw!)3hLC|JJPv4tII9Q@$=YzJ0uy=hc1_Q4g&-mw&Ci zHFNICE6-0yKPl<`_T+Z*%YwY8?;1n)nS|WC#P)Jeb%~Ajgk5I7ydpa9+tOCe=YO@} z9{c2kBkaZs@0xi`ZX3L6e!Jl?d*rNR8K*9q@LAVx=w5c$<n6*t{n{T^zP~ee&0Y4l z-~fC10Y*06;&oZs^KZ*_A5S~7>}jv^i@5DJ+w{fm`(N_CDcO;pbLvco=`pF<Nxfz= zUk=VK5O01tU3>$-)WS|Bizm(b2OggPxbKaeLBYNZ277}Gk4sFo*)~o-exYI4^c#ob zS59wiH~GHYZDqyYyDPN#yD#Zh9-Ou)L1pg3<kNw(+F3J;%sDf}Djka&l#YJWWQvcA z*^$ZfMu_W){gYGc=HBy;`%o14#k-3C?#m-A5+C_?^%p;i-}6W|zOdJ@FimT=?9rH* z%A2~kZ!jDFIVy8>Kevz9D-Rbd1D#hXbCP#hvq^a|gqg)!GOl^adSO<YU&Fl=zlMun zbRHx<O!9AF7k|%E5Oaj(N5Myb2UfjC&IvnM)D^x6hb%cLGH13U!w0($pQ0BueRrO5 zpKGfPXYh}-j?au99~@^K58f~%zfrV?Lu!Jsqn;I0aH5ri+{2@el8fDRc35+VyE(QT zve%Q`>~Z9BrK;W6oeNkdvl@RC2|8M6W6pVC@%cAh=ZqKmKT7|tvtoXhOr(te!wT`t zig{ljS+uJKto~-w_dP&2saCWvoRP=APfsSFVMe0NT#Gp8^d^h2#}+M*E%>%1_CK<) zJ6$2DWjZ50t6L`cm>lc+FZxwXYSzyJA85?{W5H55vxujrPqIjk`ErbiZI*tQU1&<w zi7hG9W+<KC(vf*m_Q;ke5{A0dSMKzYp1Dm%VVVB<EuERC&mP(GRKf7A(B)rKPk&Lk ztZZqhYLwj9K11%M>N5AP<Ok(8N4BJ>2EH#|8MmY=l{xUR$KA%+zFRmSr3skV-C`-& z%xJF4ecd{4(*sp*?m|cIEuU@qHW#c6*sa;0%oArB`nKw%`1&`>@q1297x;N7Cf?%L zq0@&Sq_nIy*umAjJ8{PTl9fy=oz5w&n#}LKVusRBgBGsETJmiHVyiwUa%@rvk#K5N zL=aC(KDnN-_^C8S-}H(1?$_P?wI3(O&Ce2--|Btf<HgMW&a}T8hpuf((KS4n`fK9L z>B&#z&X+gLzw#q>+La%veO3qJUokA!`Nx$KCd2wN<U+dsv*(?M7AC)2$RNkHL-cOr z?4V8Tg~3{X*wh``n6>m7r%rD;<?ZlPb-^d0fJ)94pV(IHxx}d<@ANZ(IfR3IHg|1d zOuWi3rIQ^hu8uLwf+nRzPFj)_rVw0zIhAdqq)J+VT8HG6w?}xU&6uh&%l9kiDb|qr z8k!Y1LIs>y7k-+?KXrS}iak%ApX$mhEmoX5dBQ1AkEbe2iiCnJIakhU3Gs7U_0&1< z^lQ;|`iWmuea=2G{KU#Xxp%{>*&BYD3hRl+{BHJM<C3&Arpv|Je~n7g(mib*Q;Q@8 zwPPQZ$1ZAiS-yvJ&L_2kJ9}~t_-g83x8{>92>H_2buaLuwN{n8>-!ZiWJUKbUQ~YP zh3U&*LXPoDMN({uPn$a?^mfegI@7VIsi|X1Q$l@FXQ;=TNv}^@A6=uAHua5K+SEN0 zXN2l~7Mvd0dnW5<tD0?PlBwY8r&3B`r=>e0-U_kDCh-bozi7Mq=R9w+_Z{c06)VEl zDes^1D=H{n`}(9`Q8#^GWygM9cDhH&I4W*hMrGupr>ULOrmK3fEn1}$7&>i*mUqZh z)m5j2LQ^|eZE^{XT$C4?(Er+7_E(U)^~sK`byh|}>fyp${njnic;yx75c%ipi8bN% zW_v5sYz<$B+FxH?x2}Aq#DC3>J9oa=gv{(Se9gKd&wO^)ndb|a9jjUSqvS%>1H~FE zp5|lj2cAgYIJ^C@<Gj}0KO}4p9Dk^}k9*$J>W3ot*_Z!(`+>`z;r*xP59W0odY=v# zblyM9Q^()^vHE67oxS%5_6Y9!39)DUH^luD@c#6EL++nMvormhZ2t(B&8Y8}eR%xF z;y;FEef9He57Zy9d*;8X{*!!`+W(2y4$Qy!=uhO@R{P~!KXSg6`q#9rZU2hgC(E}e z)<sp%+P}p1c>S`u&+M<qJ=%Za-lOy_-+!FGb^qu3t=@mO-`fA<eM$HKxcmp}Ulsmy z-`l!>+4hguzfS$*TPym1^S-wIYrlUe|1$eWr0voFtI~g3{$;RVzyHkr>+w(JU#$OJ z|Kj}z?qBgg+S|_QOV!n#<oN90WA!gTS?GWN#u@c#C7fw%#M>^a>nx7Hacsi}sp=L3 zKJNX6E-XFfE*C1IL!_R&9;t{Ak(}<*D=8MZ+0DmD+U3j~wPiCl9}U?Y9Fw?CxNvj0 z$;{eEUd6L#q`nj4{5&DUP+lbWS$5L8pVMaK&l7(8ta9UpJsM)sjvJ4x5<0zRMns}% z$J8*VHJie^`Lfr(*kabDmpysM!CP9_qS{@yfAzhXEGuXp$=^A9t-8zl(wHxi=R2a; z3MXwY4dRJNcR6LH-L~d)((F=4o@n__!P%XGyPe)_Se$gGue-21<jtnzN8_sZ-$=i& zn794CF#DUwj~4vxu}GOO(EfJvqrBfeJC56FzuS7g`}bS_Bg}FF{Fj2KoNYh(jWgq* zdA70L9{yX=ij5~)g3FB0xTPF)eXacG9*>!Kg!)3!iS4<Y`5dH`^nc&@Bk)Y&QB-#& z)3ZynqpWk!wN!T0+){na6w`WQ{dNiU1iM9CdyiW%aSO11Dd&;CCFr@>??11Oi-^gu zFZl<RTofPM?E4|E%r%?$mgEkpz@;}=-{tofuzY6e+ng=nx<;Z}a+=brO=g?&4;#5$ zy(V~#`Ly8G2=xf=H4Y)!u?^loqVn5T?3K@J&KA6S(RufeN$y*?Qg!;*HS_JMp4EQv zYe$K}TmMAUI@34)2e{{MU^8wxpJnjD=C6B!^S^a<yz353UA#stuO*Y=Kib_9tLo%S z-f%K7<Oz{5U}6Mo(S~v7L|>Ks_x|$6$Hhgm&v*GAR<1qfnR(B5j>#5_mBK!;%WwEa zy*OMNq`pI??6t+x*EiZOELnT2xiq=qMZ=QbwqvJWTwrQ8nxVGMFobjMY>A+&nflvS zIY&8$F6~--_y6xZH?AdYnfUJK{`dR;f1m$;UUgB;{e8b)y=J(;#D6o9^Ul)-sT(dD zE{D^sTM{Q+5OXRQ?h@z{>JpSvGV#gKUYOhRPO(IP;oFw7DF@FL-C!+beQ?WE`b}Aa z(L)CQ9s#MX2j!$yR4){NU%D*J#CwCyl#_kts+V?l=3K5YGqjv}!b~<J`%`=J!V`_# z0zM@e?dCgO9rQ9JZ!b%ERsMo~OH{1qo?EIm*>`W}$`lpLS(5(C`4V0KZeYoZPvf^* z$+7g($q!$ico<20_xL0%Gnyjl>%*hIN%K)ykm_Nf4C&v0*RB<^Xnt8@blZI5j9Feu zyZ-%J7xrZ851qc8gY7J**S!yAvYU4%*T=6nE%<lQN}s4Et^C@I{6`LpGL<IE<##>X zwDOC^waR7RRNaF+J2UhqdLP@=`6a~bivCwN`_y>}R_&Kkl8Rz$1DK*Y-X5)$74l%c zb}`anhW_cr)3#=dPl{d3I&*!)F0S&~+$)wg+!70jez<P^gwJbreJ%w}_;HK-<h4gS zb6ZoaPpQ_hR@qFwXFhlGgJ<V!LTXyW=E}HFon<%S!1mXFMSLxc=iF!b*BSHRL59)( zFJFFfu{`a|NVBq@^~V3ASmD%t@7${F{dREXl^xPGc-CU|!75QkDz{+1aL|V9oZl}S zI38Bv%{*a|D9`&l^TZ_sSMwqhpUVXeZR`&g2-~r<t5ybjmwT7z>J---*@oVZeZ97q zC21@FHMiev+gS|0x&L9F&7A0URH@NnkGX*Wk8&puU(mYi@^T7ojjNO!*G^36nK1ud z+n>FS0e9qk+1NdVx!jUJ{y%y2(GJHoFE%Gl@0fcwEN5fVYSG(kZsZ-^8un(xqO0pK zzq+3J^>gIknlStMSI?(oF!$@Nj-P&Y{pnZNUH>jxSaJVBTJ}@3>67+Z|D9OD5w7`& zKQK{8h=+fQiWwi@*EXh)yW8248-M)Y-Thkj*Oc7{|M2`f;c(}^I5*!VCUJ+Hf?x%i zewJS^ZFv_)9XP04V!tcEAt8Iqwz|2ze3lPCe^|h>Ixi>MdZC<D#{9a2obfICo&n{} z$7ixUQ%^r&Eu;}=mHboAX2P-pw!#CCJWK8#6T0zv?c<X?e<$blC#|>9S#tc-%#BWI zMpKs^vh#WV(8;QBf{}@ptD2$L`EK{4ObJT)va>68h)hs?_r!}YFx9%UaLTeQyT?l$ zy%l5FuSzeuy!Gzylg!o?bDbrx`+KKtmW-Kn)x5^xD!;StzYEtMyx)@|QSwhA$l=iR zYVE$QC;A$DBpd#<UHz<Jx`(IeaPH>?CKB^11Ek|va^*^RwpD5zPMFWm-u9`oASvPV z0mG0p&5Z|5`KQ_+^E1*px>4{H<BjVF&+TKJQ!BjchH}8+eXOT%2(C!K-<I}G_C-qn zp{j4O92<@&NM_lra8=(R6UO*NaNgt@lQZ0->aHhDd7-IwSDkzE%PC3zPi9*j&0Wp8 zPV7!wsK(a(qq|%qYW{31@NJL!EW;_!_VM|lY>D;C8V98>{l4)_AntQT?2)q7AEgdw zi>>Eoc;&UH>~X1>!{-OBR&PzdNk=T+#}sN*l2O#ZQkJ!SrR3^o2U-tWbGNMwopt<R z-kVpIViM0@r8$^CvNd(zdfHT7Y>Aausj_WzY2cdOT`JxxZBLw4ER~!+{<WpFoG_SV zuOO+sN%Z7xk7<H8+n%I*yz02q{6uAvtjjysBAJs_O1CH4w57~C!Kc#hJNL}%W0x!~ zS`vTe%zL=lC*cEE*>9OQhc-BFcw4-I^|0STq2deOi6I-F$ZScL5YH*%3rjq~v8|p@ zEO|y1Tezn=-<d~;UTpEY!6oiy8y+Jet=Hpg<0WHzZI;=m3}NmZ<?u6GIA7{blGFA& z9T1gfa=9nf?YhjJu7mm!_A5{Ku<V^@l-v{N&$c_?HE6~wz0Gej_DL*{YCovG#J6|@ zoAdUB@{VoHO>f0=kDm;Q?9>c1Np%nYcIo-X%PM6bZOT5{d|MP^89c=*;FZQyE00$K zLG2T)yq5HfFMX<^yZlvAV60wQTII`gI{NQ?Qr!bzxvZSL#80u5YvtyUS2`2*biE|K zB3CB5)y{ZvxFs>nMCborji(w<lP-T-wB_Oxm8U9uMV<e}7Tl`S<FQ^TDBk;P#l_&G zZlX6<G;I-0y2X{af6<jX*NgjXf~H7mn0jP!tW;d$w(^R`#A~8U^``9dcqR1vsOq<F z?>FMpZ|Li7jE~t8&vQ96=XTT1w7`q1ul_cD?XJ4BO@=uydN#M*p_NO8kFL}%e0A!Q z>v|RWsgDG;jxGup6OX+WKV?_ot7Tc+3*L&YyL)JB^o}y_>v<1v#lE_w8?(DL8zz3c z=r4yKuj=!7QNP&GSG&4uLO8F79x4sJXgWvB%XiAGkX)|o%L<T)X}io?vx9fQh|5K_ zQ<m*pY_XMn`L`*%zD?loFL*1s&Q^8Z)>*>K4;1?!_TF&f!;Dw6rY9C|zZS4|FU!@d zx1_o4bAKdn5wE}1*K}qdyHqt-*@kq5lWB=_WSiG-u(UX|kH3Gj`~jZdiZaRS4_Ln` zSM<(pxxYdDVeB{IAKKNNdYk4Ss=u*%QuAIl-K6#2+BeQGeSSlK$>cZFFKNHIeo6D& zv@c@S(N**3PWyNA-bB5P_r0dyl&lo}z4y+sdsF#0et*(_Bl4$#wR(N;-@v-2zn=5b z>nHke{QlJZru~!njh{cgzrp%b>9@naGyhcMljXI9etSfo($idhGj(ZeY~Ze&$G!M} zZ{O4$8+yz_LpUaI+0JD)2TGrw-s3a#Dc{q`b5kboajKjseM)*y(9Q#^r*zj$ENTtc zmjA4p#k=1#_GErw_~)fr*757gK8U_Dh+q2dSzKw)`Y_{~-d*#}SDpWy_Ejf8^#7Ub ztHdjo|6=^UGQ48@vxl~~d~2GwP5Qmn>fY+!PrbJU@2$5z*L;iT{u0^8if>uvuK9h| zy(KAk_1q`Lw=(kAR{u1sZMeTW|C#mIM7itRKi;jH)c=D2v+b|&pF94k_`fu+$^ZBH zv2w&3erN5v<tC55`vk@F`F5DhxOmRlSShy3wU#|f;N}wVSBoQVa-@Drd@8j?antF1 zt$ZhIrS=+MOP=hP)?P2e4qa$GvC>C7?}batYnA=%b}lhHmF$^fJG8EpS+d>j;4xJW zKWycq_qFMZ$rpuHSHip&7g#H8H)DRDXuC-3t&R=9w7|?Sky}38ZGFLa#<TKCd)%GQ zO?KS19U>RLEKgLv7y4EGARpr&x626(u3FbFf4@EV=Ui!)KMqXn&!#y@gfaXP5AbGY z;bLIm;9!slTj}z;%-Z%C3j@Pa4id&eEurI}Vct2?p(3{DKi=4Q-=xr4Xx6Nz&x-#{ zdYL`zJzq_#=TV!Y(lTucuW<Pzzm3OJZ91K<nhIsBn8i*A^43WRoN$LrV8a7>2ag6V z0VfUtCk{rTCRQDd?|qXsLRXu_-6?)o`F-Ec_xr4s*Z=wcE1Kb*<GuE|7BAcd?w+Z- z@#R+m2WMLQ%)7_e^hernW=v~7(>8<GSUS<{l+MXFb!q$|N~#|fj%hVyU*A)4!vB$= z{i}}#n+x^T_RJ9ZaASFolXtsAu~vTSqgk2hYb%ajDzZG=rC)aJ_c68L$K7)^YdyDD zY3#Xfz-z5&Aa&E}Pn$sY!7aUW<lbNB`n6-;xpbe$I<79uS?)0ZoV?4S^pwHZjjea) z<oRY5M+RjD{oFEb?j@b(zo8e;vI_I?eU}vpn7nLdG;`$IfD4{?odR{|c&LAjejUnT za(7oy<EoxK{#UJAQs->!-J=;G-MP#!yF1Ee^~{++T5=`R+8({)PXDrHVXAu0*=y>$ zXLTf={y66GN$tGnEVHGrqSmR;5(x;ZWlw);#Zu^~{^^X=vze^X3D=jcoU%je`K+h! zW^~W0tF^vXbnH{GpY`ue-!242mG>Qb8&R%t*M4IBhD*OT9OS*fZ)5e_nmEz&gy~(@ zA3M4Xl(d#zcz1NMR^Ou;UB_?uY@V4|ETbNBW>e*y-eYNf;+Jy#HeI}VMtSig5hJG0 z)z*9^<z?+k3pYse&E;;@J$|ciZt<Hv$+Kmwh4l{iFmoQ)YjJjGpR9cH<m|&c1FAJ% zwJv;QGEX4mZq)P;7s1EL>7h>&;-+uExq<V_-5(550xLQ`{0X1Cq)_t$^QpuB#YLxU zS+y#kN7|k@x3hJOwk+|TTi){1R55*qjG4nK=kU<nPS$Og1h<&XpOTi>yP|K8)j6hn zrD1P%Zb+x?PMWp)L;jSe**rQ^Cof{#q3kL5Yu$<7_ko|p-gBAyUDVa~-+N>4Q_Fro zMVI*f3bi$^3I~#X)-W~cebw8f_$jWTTO`3^+in)Y-Av(Y*0yv-90+f+{-!lW$cE*f zkQS%M7vU2^Ax*ieA%Y>(1r%<?Ii1zsGMT$K<+dW@PrjN@u^}hF2Wa1S52$NU`>D9- zlXA%k(KplOl@;v|PWU6@J0;kEX9(x4i(D2xapsp;{2yiQt>$2zzv$UE@7MgFH>lVb zn+2Xey?S=Q_6u%-Q?&jqwBUc}aXX@5zV#0w{prc4_Rq3?cRk?sA-khjqnERsNe$Um z9e-s15#2{zAMbbGK4N>MUct`&j`ts}kCl(69trO-*F7x$V1fBb&drAdr=OUa*nU`V z(&U8W?&pf1=xlhb{(Pp@Q=30aOvDPOE%@2=c&pe%)s889on7ZBSj2o=)@|Wbu;)#t z>lfiAr{~4Fh&wKO^Rz2N^~ChO>fJXS11jWhbBgIFM9&QhE*G5F@P>C@yHL$f-YfFm zvB%yr#?P%jFZ$+1SQ784R1*`8{Po-GWwu`VcmCm|c!!DcN$q>O+<uDAdV0O%bp8e9 z{YN|g@CkpaK66Tb;#B*Gnm>)_P22w<@~8H+r}>LQ|0&*jGG9sYzfkk1{O4Nk4_y~e zD0%)i;K!qDYRwUIOdf9F`<48#$(!e4T#{&ji@jCmRb8PE3%RQ`%jH#fYR*&7*&qC! z@s95c^<4G8?HP>!(B_2}O3dn-VZy)=T*bhkPRzUzq$qq_Q(hAi`s;gf-puMWqsBzF zDJ>T`TLOffco((`C<qAoFnRDQvUDs-5SpOW!J2bp_oAi+$&u1rWdUnmuiCwB>$<(> zDOZnf`&Bo;_`OeF!nCh*zkjd1Ums^b|99=V@Arz&|D5;S@~hvIoA>4JxVtp>ezP-l z`n`Fn?Q3P<-`(Ln*XM2C^1L?X))Q9m->dtV`2I`F)c>V%P)$Gb)@i$}#eZ+If8v_{ zsq0GI)LZvw?muQ3_x;gFX`Xzqx4J9$>Ta$7aJYQQw{=(UO}_Oz=(j_byw_Xhm9;us z{g-@OdBtw>t>;0%owDM+-fFL`)!mxEV?*<r_t7h59|`@NxuAA=?Rw$A|E!nSZP-%( zGozzy#{9n;Tj$^Sr?WNw#=or0|I=>e+et0`%eQXwmDVe!c@MXrDP=o+$yfgAYdJNs z=9CXcKX&}p%4TYwuNe3$cgekJlNncTpIkLzvZA;Dr@)!_=6SNW^}W&iny22D(k9Y& zj%OuLti&#(lH?cXE;KJxch+ya$CJrZEAh){iSd`@6A3TQ8#E*;99C%aY13&t$a9m& zS)$E|Ct2d0K~tiNGv8s2wwShyJjoKrjCztK&QCaQ(5N^+QOTL{uu9v>X?Cu!T7%|m zea#HgpY*F_rMUNAmsiG1>gHVWUK*$NwP@w}DZg}9o}c#XW6*r%uRDY0w@1AGyma4z z<@#5&XXs3-QoVgNX#Jzv-ZMhHYc+4D2F0J-=JrZ`Lu_KE*zKs5*FE>no6H*&fAX8l zO7l&*ld6nwhX%!;{id>Ved6x0SFdlZOSg!8CB0-{;H%{xwZiu;ram-jyS%iH?e^KA z`-i^ytek)JTh7Y)hrh+NtqrpGfA!q^FVo6+jj!EH>NZ}{pZIHO(0-p+)4l(4t&G?F zx_U|7)+_5L{xVw`ul@D)lDfTDwtLsMU&){F%WviTNxyo7_IticTzOyTYxI)3)mQQ- z|C+y~Zugb<6MoGN+VB0U+`D%BmG={W?G3uG{B>{8e*ahBz5g<<wAc9BzU1GAEAkV6 z*{ys({nz54dY@P9OaAS+GJnFa$wBpAul&9LO0N7L`RcsaU;UtZzgOqI|FW+9ANs0( z@~`fode2w--hV|`?$`Rd-}|rW%Kds@&6oUJcIE!0U$=w)w_mwG@z?I4djD7Nz5g<= ztk?M3zvSP>EA|tAEq^oh{E~l`xAm9&Q@y=@$v@NE`Ah01yxksTf8^Wzp#Obuzw_8f z{MxVccY{Llqa}OZ<T(C2^y}BFV}EX)TDI(!+V5`<6q|T%$lO*4-pyJ0^YSTgM$uH( z%jr|Zd_+{ZSXG~yUokfgzh-`Z)tcDQUdfg!u2(i2Q=YXfYU<ka=;VP-pDrDGbW+r{ z^(pJpO4m8568E&VEcPwfl2nv=@5{@|r8S!;E9_mM(mz?zF)Z%olSPL%6)ls!GTHOj z`yc%NbAJ8wG<Tf0=g+4@lakVAYTak?V`Hs6?Y&G?Bz%gP&m(E(3mZOlb<I)q5wl1! zm|R)0dW%Eom5V#)pH11fz|7rS{zb~kBqQ<lPU`BnSMLgSzQy_JVV-OEhBso<Wz07( zv6<%GcIfC)*3_r0!rD>$t)l`?q>26v{^WJ{eb3gdJt0wP7A{*~TC}fdo1)aQ)VQ0= zB6p+N?k!E5YW5l5JGn|GxXtYR32ohM*_kO@)~*S8D%Y2ixUuM3g2+;lsY+*7eK6zj zJJ_@7kWzGI^ztW(K514d8k39KdlHOpD;}PC#z}A~>t^qZ9?NRyrd#?vvq({y{FpU! z^JxpygZpfqOlvkdha6tc!S!Ui&-{Q0p7pzKUA}p8$saRLm#?mBa$8oeS;3_5tG^-I zlIii{JzEwW_*>WYd0$Wr%h8{%s;S1_Q<LU@_A#xJ+O_<xU)r+I9y=3OIZwIGExTw| z<RgKrXOh}A{C&5dEclwT$oYyjD_`KvPlmgcVl{8|9xMF6McK}4!kmy<=9ZU^#1*72 zl=Ab;*q8ODrRikrtF8AcrY$d8`uOITuyv9r_wM&lWnQsgXMajtkz@FdH5&O&j)AUm zk&zEmLjCL=IfcDH-CZwTaOcgYu0@k3N&0*aaM_}+dZ;k#$10BR?#*h?3#((C_gi02 z>Sr}I_#x*XE*!wN{C9%GN0y+%B~y4D-_BJm_+lV)IC<$37fzq%`4x9umQ7H!`F=*T zkK@DR!jn9D$Lp?gJG%E>aJ;i~N1fWriiI+~8mBf}my7>kdAd{jD)U>rx}=9soKzLW z^ZhlnPR>8(vdH+nhNiZT{+!T&hp!4a15!^1>^tSeJWXfqk)FwMS1#<(5jHN)O@6lN z*r{E+P8~aQ)!FEC*XeGraDL5Ialv<Q%zpkY=6CNL`#)}cuMbJ@@%ZvPc|DKZqdkXT zpOvpspFOqGGBEJ&g`Sz35hYGfU!6L0>(sB*nW<-cO~0Owk(@To^-`(nSKXJVOg(;w z?%K3!Rh8=W$tyB0pL(@w)~Tou4Uf+DPW|d@de)TpPgzFXnq4U_JZwkzY!cgNGRfuY z9}W9c+Sd#A=dZL~baZ7*z-{GM$0p1&KR<E)<1N;c;-q}Hn;0IydSuQu-!qnrIxW}E z)=)OxqB7lW(kfY_pgnh6=7jm4$OKa#R(4pwTAY%}z45DiN0!4P-$l9^$)BgGZP}c^ zC9ByyYNGaDlUZSBKe%OYoa(OKc}+6c^T7$NoZg!^*DXs)-#u&6+_za?W!qM3-n_YX z_N2MBF2S2N_vd+)m3aqm+8jM=(%ie3ro4GGZCOhC_AIZmve(N}w!e#*chU5#>De2` zFJAuLa7OAUulFj!y^Ci3di5x@w0pJmX>IZAVV@1MSFBnyH}q!2;X6AsP4w3vytm<c zz5Ff-b=y0_o{v}kdNym<t22L|PVJTOygIdXXUyKn;Qd9SE#<alVUEH7y%P=RO$!S* z)mgnhGW>2tTg_GPQ?s;ZuYMaf+u~*wm({oE563sXdUmobTK(#kF!Atf3mcYvsoR*w zv6#==GbH%po-);<lU=KxPQ4MMtgx@iR7TTf(aB5oE+((8RCO-6=6WruXY;OUSH+iJ z`RH|I+I5pU*R}l`+s@roQk+&=d17M3^SCDpJKwFC+8-Zo-QtmyqB8NZid%}SP_uI9 z8;>Lp6+@Fr5@Mb_{VGbT{T)+ml!88;@HnZgtlHl*#l{FL=edj5xy~tbgf%VGIeu?W zH9o#C%gM(msim&UH#j!6_-YZ$-d&bb8hz=hxt|lZw(+k!u_<#~Zrh68&Oh>;?v{k> z?y%mHv|(=M3g^uhF7Ng-9*d2AeYXAYA%m}n41TkIf5+DUIy^jVd)#8>Pu<dKD>u#x zub%Sb;i>}<V-m9N8ulray%W^>-VwGldG5oIZ4)Pk^_6H?ui&fp`K{-aa`k4l<i7Y7 zN&&IGYF|1pwltkOc55qZc2<<>ft2^fEf4?c=-pehD%@P?Rn$3;JGc9-EG*yiZMz@3 zar3Jv+f&=*Q$H^@D_y(ov>%^~#Y(+nCr?+}T+wr2-R>NFhIi@Y;u&*`XWR{s@{9lW z_Td}1sreO8*gpMywP<<x^OqdIS90}j*W09DD%ZC~ewD-tt90uVx!cSy$}q@0*pQ`j zl&7t8?M6#=c2>1(NuR<?3c|$XfBxLK;E4pIR(?d_S}W20hmtePW(Jq{#g_MR3GfT3 z2i)}P-h4Q`aua(vPvIw?zB>UE16$24`voK|cdfb>xyFTeR`mW=erJ#Q*4Si6T#X2| z_2kTb9#_HkvF6Qnx6FW>&->pROpN}2Qol~%|F6aCpZqwQ*!Xhyd-*%xejW9H^xS@y zt@UmFI>G(hPSu^c+8NzloNzsPs$GVp&7Fw5dsc1ScXIvzHUA%7=i1^~_cz?|+WP;| zAIw{ptzz36rJK7ZCM-Pm{O#MVFXwzWU&8i~XECpf*;;!(_cYyZ*AHP~W@d$l4ruk1 z>n=}9k#7CGv^+K0xwtg6_^Z&lU0H>>zM`Mj<gAHYJ1yS-^QU8NlPw;E+Pr;q@zShc zr*7TaT2adrK6U2H>uMQ4>;9HEE3B!`zdGYx-CH@`>qag2FYw&Wmymh&#olV};mEd^ z<~D6dMN@w8o?M?Tx#HCq<zHtus)aR9miPMfYb*Da-;3RukM(`c7SG&ScR2ll&9&eC zXYyk@?yrw+-M%H3$68`tdPY*jd4aIdGw-?iO>fL*-@mQ@edVmVii^!n!+!R<Ebd*P zXZX#Nx3rY^YgR>JZSLP&M`PYF^R)6D<x%A^mgq~?NYzNzNS|@ipgYm*@JF6viDyP< zl4qRX(2%I;%z9X<&8zJwPbiPK#45>YMmot6=K>BFFdgP<i)yoKt7>Cwo64hZWMVYu z(1y;3I&H<0>r!qUE08`c%TsRrCT%)v-<|b^$1k;5?D${Bd-C3_3;gf)w@t2`Wx)6D z_VJTRzBAar-#vS>$hU&;-R|DWuCq4qz1!VBdFiYP?BDOMyV+Vf_s}epht@mtwbi9f zCl(akubi{yQp^7b`*Qv6xv1y+`);w^@jpssa*d<lg{DQhK>;mAO^faxthH`F@z7hS zvHACR6~$Zqd0vldPA-}}O~*=2wVTgvQ$~Hk|EVX-7Haw}jGVRp^TEH-Ci~Me)Nb{C z|IU3js3Yy&_MV3O8R;y4XSpA)FbFC<zuwbt`*pdyEX&{Ir%U(e{&73u@hLm*ton+{ z$DS659j}skeO>5BWq|GVE5QrraoSH=@W$q%+m^?37OmyzT<}8UR=1xMm!e5yl~9ZS zj6>QshXkgb5)+VZ(VOJ5=!5b7hQetpBJ0-nUK5MnIgj&DGh=$Ghrm5OPN!L%hb{=W zWU6v7a-V;k%JN8t=aiY9z4`se{(	TWv_Lv0JC=82rduD_mt&iMpS<)0FAPDK{l2 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	)}MbjQ^(W{lZJmKjKD~I)MU#c47 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%0D&f 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	nK{D+pD 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�>Df4IZ9C+VrI^|?c< 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	)a%XN_496{y_~1p+DSJbR5#oWT+Nv) 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%0D`O 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 literal 0 HcmV?d00001 diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/.classpath b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/.classpath new file mode 100644 index 0000000..7994b69 --- /dev/null +++ b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/.classpath @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="src" path="src"/> + <classpathentry kind="src" path="src-gen"/> + <classpathentry kind="src" path="xtend-gen"/> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-21"/> + <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> + <classpathentry kind="output" path="bin"/> +</classpath> diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/.launch/Generate Parser (statemachine) Language Infrastructure.launch b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/.launch/Generate Parser (statemachine) Language Infrastructure.launch new file mode 100644 index 0000000..e62e7d7 --- /dev/null +++ b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/.launch/Generate Parser (statemachine) Language Infrastructure.launch @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<launchConfiguration type="org.eclipse.emf.mwe2.launch.Mwe2LaunchConfigurationType"> +<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS"> +<listEntry value="/swt.most.statemachine.xtext"/> +</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.debug"/> +<listEntry value="org.eclipse.debug.ui.launchGroup.run"/> +</listAttribute> +<stringAttribute key="org.eclipse.debug.core.ATTR_REFRESH_SCOPE" value="${working_set:<?xml version="1.0" encoding="UTF-8"?> <resources> <item path="/swt.most.statemachine.xtext" type="4"/> <item path="/swt.most.statemachine.xtext.ide" type="4"/> <item path="/swt.most.statemachine.xtext.ui" type="4"/> ;</resources>}"/> +<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="swt.most.statemachine.xtext.GenerateParser"/> +<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="swt.most.statemachine.xtext"/> +<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xmx512m"/> +</launchConfiguration> diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/.launch/Launch Runtime Eclipse.launch b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/.launch/Launch Runtime Eclipse.launch new file mode 100644 index 0000000..dbcc185 --- /dev/null +++ b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/.launch/Launch Runtime Eclipse.launch @@ -0,0 +1,34 @@ +<?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="bad_container_name" value="/swt.most.statemachine.xtext/.launch/"/> +<stringAttribute key="bootstrap" value=""/> +<stringAttribute key="checked" value="[NONE]"/> +<booleanAttribute key="clearConfig" value="true"/> +<booleanAttribute key="clearws" value="false"/> +<booleanAttribute key="clearwslog" value="false"/> +<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/Launch Runtime Eclipse"/> +<booleanAttribute key="default" value="true"/> +<booleanAttribute key="includeOptional" value="true"/> +<stringAttribute key="location" value="${workspace_loc}/../runtime-EclipseXtext"/> +<listAttribute key="org.eclipse.debug.ui.favoriteGroups"> +<listEntry value="org.eclipse.debug.ui.launchGroup.debug"/> +<listEntry value="org.eclipse.debug.ui.launchGroup.run"/> +</listAttribute> +<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-21"/> +<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="-Xms40m -Xmx512m"/> +<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="useDefaultConfig" value="true"/> +<booleanAttribute key="useDefaultConfigArea" value="true"/> +<booleanAttribute key="useProduct" value="true"/> +<booleanAttribute key="usefeatures" value="false"/> +</launchConfiguration> diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/.project b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/.project new file mode 100644 index 0000000..c68f1bd --- /dev/null +++ b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/.project @@ -0,0 +1,34 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>swt.most.statemachine.xtext</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>org.eclipse.xtext.ui.shared.xtextBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.pde.ManifestBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.pde.SchemaBuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>org.eclipse.xtext.ui.shared.xtextNature</nature> + <nature>org.eclipse.jdt.core.javanature</nature> + <nature>org.eclipse.pde.PluginNature</nature> + </natures> +</projectDescription> diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/.settings/org.eclipse.core.resources.prefs b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 0000000..99f26c0 --- /dev/null +++ b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +encoding/<project>=UTF-8 diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/.settings/org.eclipse.jdt.core.prefs b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..3a79233 --- /dev/null +++ b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,10 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=21 +org.eclipse.jdt.core.compiler.compliance=21 +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning +org.eclipse.jdt.core.compiler.release=enabled +org.eclipse.jdt.core.compiler.source=21 diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/META-INF/MANIFEST.MF b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/META-INF/MANIFEST.MF new file mode 100644 index 0000000..7c04a7f --- /dev/null +++ b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/META-INF/MANIFEST.MF @@ -0,0 +1,25 @@ +Manifest-Version: 1.0 +Automatic-Module-Name: swt.most.statemachine.xtext +Bundle-ManifestVersion: 2 +Bundle-Name: swt.most.statemachine.xtext +Bundle-Vendor: My Company +Bundle-Version: 1.0.0.qualifier +Bundle-SymbolicName: swt.most.statemachine.xtext; singleton:=true +Bundle-ActivationPolicy: lazy +Require-Bundle: swt.most.statemachine, + org.eclipse.xtext, + org.eclipse.xtext.xbase, + org.eclipse.equinox.common;bundle-version="3.16.0", + org.eclipse.xtext.xbase.lib;bundle-version="2.35.0", + org.antlr.runtime;bundle-version="[3.2.0,3.2.1)" +Bundle-RequiredExecutionEnvironment: JavaSE-21 +Export-Package: swt.most.statemachine.xtext.serializer, + swt.most.statemachine.xtext, + swt.most.statemachine.xtext.parser.antlr, + swt.most.statemachine.xtext.parser.antlr.internal, + swt.most.statemachine.xtext.generator, + swt.most.statemachine.xtext.scoping, + swt.most.statemachine.xtext.formatting2, + swt.most.statemachine.xtext.services, + swt.most.statemachine.xtext.validation +Import-Package: org.apache.log4j diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/AbstractParserRuntimeModule.class b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/AbstractParserRuntimeModule.class new file mode 100644 index 0000000000000000000000000000000000000000..cec660a54d89f07520162d1ead9bc2e31ab5f3bd GIT binary patch literal 9398 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 literal 0 HcmV?d00001 diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/GenerateParser.mwe2 b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/GenerateParser.mwe2 new file mode 100644 index 0000000..df9ec2c --- /dev/null +++ b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/GenerateParser.mwe2 @@ -0,0 +1,59 @@ +module swt.most.statemachine.xtext.GenerateParser + +import org.eclipse.xtext.xtext.generator.* +import org.eclipse.xtext.xtext.generator.model.project.* + +var rootPath = ".." + +Workflow { + + component = XtextGenerator { + configuration = { + project = StandardProjectConfig { + baseName = "swt.most.statemachine.xtext" + rootPath = rootPath + eclipsePlugin = { + enabled = true + } + createEclipseMetaData = true + } + code = { + encoding = "UTF-8" + lineDelimiter = "\r\n" + fileHeader = "/*\n * generated by Xtext \${version}\n */" + preferXtendStubs = false + } + } + language = StandardLanguage { + name = "swt.most.statemachine.xtext.Parser" + fileExtensions = "statemachine" + referencedResource = "platform:/resource/swt.most.statemachine/model/statemachine.genmodel" + + fragment = ecore2xtext.Ecore2XtextValueConverterServiceFragment2 auto-inject {} + + formatter = { + generateStub = true + generateXtendStub = true + } + + serializer = { + generateStub = false + } + validator = { + // composedCheck = "org.eclipse.xtext.validation.NamesAreUniqueValidator" + + // Enables several checks on the inferred Jvm model for Xbase languages concerning Java inheritance relations + // composedCheck = "org.eclipse.xtext.xbase.validation.JvmGenericTypeValidator" + + // Generates checks for @Deprecated grammar annotations, an IssueProvider and a corresponding PropertyPage + generateDeprecationValidation = true + } + generator = { + generateXtendStub = true + } + junitSupport = { + junitVersion = "5" + } + } + } +} diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/Parser.xtext b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/Parser.xtext new file mode 100644 index 0000000..29f5fde --- /dev/null +++ b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/Parser.xtext @@ -0,0 +1,76 @@ +// automatically generated by Xtext +grammar swt.most.statemachine.xtext.Parser with org.eclipse.xtext.common.Terminals + +import "http://www.swt.org/most/statemachine" +import "http://www.eclipse.org/emf/2002/Ecore" as ecore + +StateMachine returns StateMachine: + {StateMachine} + 'StateMachine' name=EString + '{' + initialstate=InitialState + ( states+=NormalState | finalstates+=FinalState | transitions+=Transition)* + '}'; + +State returns State: + InitialState | FinalState | NormalState; + +NormalState returns NormalState: + {NormalState} + 'state' name=EString ('{' + ('entry:' entry_=Action)? + ('do:' do_=Action)? + ('exit:' exit_=Action)? + '}')?; + +FinalState returns FinalState: + {FinalState} + 'end' name=FINALSTATENAME; + +InitialState returns InitialState: + {InitialState} + 'start' name=INITIALSTATENAME; + +/* + * You can define further more detailed validations rules to check for the semantics of your language + * in the '***Validator' class under 'src/***.validation'. + * e.g. There must be no Transitions to the InitialState and no Transitions from a FinalState +*/ +Transition returns Transition: + {Transition} + from=[State|EString] '-'(trigger=Trigger)?('[' guard=Guard ']')? ('/' action=Action)? '->' to=[State|EString]; + +Action returns Action: + {Action} + content=ActivityContent; + +Trigger returns Trigger: + {Trigger} + content=ActivityContent; + +Guard returns Guard: + {Guard} + content=EString; + +/* + * Special naming conventions + * Also possible via validator rules +*/ +terminal INITIALSTATENAME returns ecore::EString: + ('I_')(INT|STRING|ID)+; + +terminal FINALSTATENAME returns ecore::EString: + ('F_')(INT|STRING|ID)+ ; + +/* + * You can use Strings syntax ('...') for unclear/abstract parts of your text syntax. + * If your domain is defined enough you can create rules and terminal rules for these parts,too. +*/ +ActivityContent returns ecore::EString: + STRING | ID | CALL; + +terminal CALL returns ecore::EString: + (ID)('.'(ID))+; + +EString returns ecore::EString: + STRING | ID | INITIALSTATENAME | FINALSTATENAME; \ No newline at end of file diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/Parser.xtextbin b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/Parser.xtextbin new file mode 100644 index 0000000000000000000000000000000000000000..7a3e87b4495999e72102f69e83439a53eef5535d GIT binary patch literal 3257 zcmeB7%}wLtmEvMxW@J>#C@Cqh($_C9FV{;=&dDq&PSwjVO4m0sFtE^%C`qj-Awmh0 zJ|l;FQDSaxVi6N-USe*la&dWyUT%JIiC%F@Vo7RlVsb`iUaDRN$UMD(#G>NVB4*yw z;?xwVu3{!8Mn)#({GxQYBOq#%^K*0a^YlVei*hsb5_5`KL{d`IGV@Z4Ju*{LQu9Lc zvs3em8CiKVkhm<&j7+>R9YLizsSr0YhX*sWmQ)s`vM@4pgj5!!2BoGkapk6#B<AL) zq~@?PvWNtwrll68<|U`5_`-ylI8y@>ld}`kQ`wl*aD-KAZW<`OjPzZT^NUi6Ri@9# z=?XQPfr&|<nJqCVGqIR06=Vh@Gk0=MVsUY1T4rhyI};O^t4m@@BFNDUOkDc<uE8Zm znR)4qEWC+1C8<Sui6xn3sl^<Oth|m$d?udc#G({Xuw|B1GHJ7NrskyPrskCtvvM-B zad@Xzmgg6xu(FjU=9H!~DKK&|vavF8GIE0`UPc}e#l^_T$jivY#O>=7@9gjE>*^Q6 z%*V*g#LCRh$imOa&gNc}Us`}Lm|1|4jg?tni&2n~gF7^@Br^vbL9Co5(D)Mq$!qB| zGBPp>gUk&^m@5J^SCo;Rl|>AsP+y->oRO2)FEu@}BsB$W6sn)J5GG47va&KuLL4mx zqIek@8KoK7Q8n1JGRrWsp^Gu`GRlIqfV|7dCI(LuE~&{miA9MenfZCeOswo|MWs2Z z#T;^sOiaw4F3j>U2P=RatjNg5#AMIP6vwE<$jZv1%*e&>oRL_Rm|T)t6qJ~kp32Ia zlbTkd0<tHOk&Ue=Gd-h36~wDzWK?71VpRvR9U0j)Ky(x%qb7)sXJpi3WMyK~VrA84 z<YLtUi6t_!>4NAgMn*kGE>?XI+mVsY07OSIG8%&Dct#^eE>>d@(}0o91Vmec0-e#6 zk%@`L(=UYC4D5PyCME_Zc71(U&%6>w77Io$)S%I3wFGH3U}Uob(I6wN8JU>agF}Km z{oI*tz-F*Bve<$G-wqTE_8@gij1CSES2H^}GP1KWJ2-)aV;CKr8M!&bGjmcv36qi0 z!G)2N)xi~{*})B}!W~2_f!ylg0cARPf=qVs0&&$D9lT*i`+$x11qsJ6I`}biGcr2( zgG>wnn-~a{2m;aSU=xGkOkQDThY&_4CN4+6$awz{57!`OhftVz9Kt|mF|si`gfp@* zIYclqGBB$m<$X}$1}Y;#1)M%|0mr1z=n%=s!o<c5&BpBf4pEFe+>jCvQ55k8gGxnT zNT~=ZlpLZNnVB5InH^%7nAu&OL7AU{nO|QYStVM2cZg+VXXS8+W8`IbOa>)VR&ep= z5Dznnk<lT6k&P9_Hb#d;Mm}!G;^NHoJWyf4%8{0uSW;S)3NE+VIP(iqixNxni<oTL z;kni!iIJZZ<a+1CoE%nGP&RN#X5?YwfR;nd4k;ijBSEEtLn<RHE2~2qBR{J(qeD6) zKdT(0Lk1&1t3xIu6O*8)pJ#}tqfc;%V~DGtqpvHoLl#17HaJ3aKv~~2p3xx}6w%tO zEDm{${H&&o4*3u>3&3WA<FgQCZV@9B6Th3MABw5P2vbYIrj~+Cb&F?oD1(_=4l%U? zVrnJaRItfapp;V0=upkb$I6?TmsygTm;;V!HYQtkhZ>N*wTwJWyq*v#a4a!9)PZab zXLhJ(Vg^SZvMeKuLjyP+H!||FIyAvlGBP?eGqSO=6_+Fyl`uNAF!HfNVgh7OE6AQq zkb@W*9oj$+*J5RHXlLYOWd}Q^n2lN6mffKPq^y&Xhl$58zbH2`2kM$Gs2$xP*YN4< zBS|u{IP@^Gv$8t$f*jKaQ^?5Z&<}M?Nh+hm1Qf?i1lf|z$mlSMksVaju{lhJ2GSIW z0JFnXMmARV)Vz|SN-IW(X&`5UIq~2?n-0=HgOP^`np&A1W<u?q1#%##zCI)sGqO0$ z21nT(klW_M)G#tS%wyzZ<w(xYD@n~O0UJ3VWaI)y9wq^h*0Ri!N@s{Hv%^A=K1hmO z#K_9Z;;<MJ&r87Z?64H1a~UHO6RWeMj}NoMa)j~~V9QrR)U5(}O`Db3VKvCFdW;Th zz~Yc7fszhuL5l2InH|<KvazzH<XbU1tY_o{u^>L*0J3ZbBO{~3MwrS?pkPj|$Skp9 zblA+u$I1p`LsV~ptKJH-vle2D!!|}fR-QCaZH^rE+d+zVF!C^QyMd&jF~1Y!n{Z}_ zU7&#F)z?SJF|s)92B*S3pupV=Q^&~Yun*++)Vvf%hy5tgegI@c5!4X}L5?UXO3W+H z1Qj^Y^mhoP<S@t)A#f>Xha*tKk3t=RkYi+VIL64%%IR<%<cJe6b&QM-CqY)H73JrG zqxTe}0KaolesM9pT?Q@TPD8bv0U6B!EhHJ)5Czs*kc*N*A$|@NhPsRn=Nb7>>o$8< zj*_Cx^z_ssuw55GIxaHuFmZ%HM425fL2bDVvV}`uA1cAf;&26=M6QBde+{OHk<sBg zdiuNpGIRkn>~2Ehp2gu7$Vt(R4!1$^o?e<*lmd3a9gyO?j66(i?jSK{hkH<??}O~; z(ANhGGqN~50Nef$WcwqS5=KUc$LO{{0T~Di1W-6U1z8%)$msA4;tXbo=O7V%Mu!)m ze43aHichdRUV^lNQ|l{GnW<~X=<u46kCnM3A1wWbQGnIqE!5sKjBF0?K<c5^Ffuy4 z2N?@Wv<@FYeu1XQk8lkv4xhmJ@iRzUEu+I15WR!Z;VX#l1Ua?SVTVJl!(oRR4i_En SI%GN&IV^Bk=8(+D#0UTpi^{J6 literal 0 HcmV?d00001 diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/ParserRuntimeModule.class b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/ParserRuntimeModule.class new file mode 100644 index 0000000000000000000000000000000000000000..af3f75fb965f96f7b6fcc81ed416671ebee40794 GIT binary patch literal 377 zcmX^0Z`VEs1_nn40d@u^Mh5-j@)G^r{NfV*;*!LY)ZE16jLf`L{fd&*iW2>R#G>NV zqM*{elFZyx-~5!)oK$uO7Dfhhe3~4Sic5+TlS{B@W@KQq$;`_vv14Rl*3b-NWMFa5 zPf6usU}oUtVPIuoV`Sj>$;?ajE6q(xEec6Y%1LEp5c0`SPRt2QEXoA&p@J+W8JWe5 z42C}V9D>CG){G2X!TF^{$*FFcAj2iFsL{(xEK6iiWME`qW&i<321bzE7#JDY85kJ! z89;mn23D=@3>+I77#NrsxEL51*cccY7#O%1xEUB2c))B{1|9}p1_lO320pMVegKS} BW2gWC literal 0 HcmV?d00001 diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/ParserStandaloneSetup.class b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/ParserStandaloneSetup.class new file mode 100644 index 0000000000000000000000000000000000000000..59fd983fbc14a5ef6c59a5aecb7033a818a1b9a5 GIT binary patch literal 543 zcmX^0Z`VEs1_nn4F?I$fMh3&;@)G^r{NfV*;*!LY)ZE16jLf`L{fd&*iW2>R#G>NV zqTrImyp+V8{JhlQ)RNKyb_Nzk1}l=axu@o(7A2OXrZ6(F*<|Krme?^eFl%UrF*2|? z=clA{F)%Z5@-VP6urV_5`();&`jzG;r51%GCgr3uG6?zPCnx5FB^G6Z_)tNXl8nq^ zMh0UalHFp>$iSYG5B3cg10w?`h!Esq5MmH!WKc>jN=+<D^~}pkO)kkVa?DF{$#?a2 z3rbDTEG{WZEXmBzV`Pxi(DX^p&(%-Q&ri=u)z1Vg)`#h_W@O+B&Mz%WPIb!!xn2ru zIO=63mL)PMGB7eQGk^dS10%@$42%ry3=9nV42%qn3=9mcTH6^oHZm|UFfnj3Ffg!z z1-Tfw85kINz-(3q9tK_p1_n+BKCmoEvjGDW$V3L7-3*M8+Zp(`F$jbs%-{mc@-lEU Q@PW+%sbypk0ox%802$(kYybcN literal 0 HcmV?d00001 diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/ParserStandaloneSetupGenerated.class b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/ParserStandaloneSetupGenerated.class new file mode 100644 index 0000000000000000000000000000000000000000..2cb65e6cb4661bedfc6dc178b2620bd30c11aea1 GIT binary patch literal 2154 zcmX^0Z`VEs1_nolNOlG$Mh2_m@)G^r{NfV*;*!LY)ZE16jLf`L{fd&*iW2>R#G>NV zqTrImyp+V8{JhlQ)RNKy_td=9qQsKa6m|v{Mh1bb#Ii*FoW#6zegCAa)Z`L&1~x_p ziTt8;{nX@~%z|Q=S)O3cj0|ixnR%Hdc8m<n8k%8@3@pz1DXClx%naN-4D1XXj12rf znR%&xrMXF|MInhvIjM{cLO%J)i8*13MVTNzRFI`4BeR&1!N!Mt_ggbEC?yxACYGdn z=7C(EU*wpV;*#&`>lT!no>^Q{lvt9PpU21`r=jVSoS&<oo}Ztdld7KyR;&-xW6i}N z%pl6nAi~ICi0SL({M_99JpGW=qTI~9#GGQZu;gJ71NoUfB_A9*Tnvm15<Co&41$ad ze5g(XNlEiC$S}w<GH?`u-IrR#$RMwQ&uO3l=76|2zlf1R2A^7X21P~&2~2<b=BJeA zq_Q(8GcxEC4(p)Oypqh^REQ=n1|<e=E(SFQ4R!`~Mh0<A!`(|WlT$$+)?{R`)QHC7 zK8Q)ycw>N_L7S058#C~WQj7CTi;`3IJ%gYux5VU<{Gv*323-byb_P901}RK8!6KH2 z!GOV#k%2oswZt>8xFj(zIhBz?Rl^67;GJ_4i;Jx_kwhR_z?z-Gn32Jl7zYKX7L{ct zrv?<|mu04;7I89|GMKY7m@zU~AnQ)eP18?J&M!*UhkFU;BNeEZRG?|Ll83>9!IF`I z!_zM~#L>^$m65^9hg`F)xfx6uta%u07;G6CB+^q$Tq{aa^NKU`^Fs2W_WC9kFfs^g zKm(z)Br`|fH?hE)gTbDWfd{!r;bw4TaAs$4Vr1Y2hagNT4}%MXD<cDQL1_sig9UQ% zLIV>sc%had6*|_O4DJk`><k`^3^vG~g%o4(K!c|Pv|vXGJTFEDJCqP3)eviL26qN) zMh1SEz0jayWY8tbT&Qx83B{<%gOS0MC=<}UXU)jK6%5V^ZkeD0RT+P|t_O-AMg|_w zyu8#Ra2ii7W@iXtWY9+rS|ZXUJ3|;FgF2C#7#Y~19%p3WfF))IMFvI&W(GzERt5$J z76wL86~VyBz{$YCpwGa_z{tSBz^b*KfomfJ0|OHS4+8@O8(5H^ftP`Sfd|ZHW#D7r zXJBApWDsBwglhI@U}9imU|`_i!62lyjX~T;OM4rGl=cR=F+vP13=9my49pCo3>*w% z47?2DU?asK+Mq^qFt9VoG01~mA_+I#hJh7qu@K8%28BrG-3&^R+Zj}XcQB|T%!fEr z8f+%SnL<!A89`+{)R~hRn8EI_))vy*$)Ll;aDYL}S6j#k$~N-b#9*?M!HSVV$WCV` zg99@|_$CIooebU}0bPgyB4otCfhf<w!=S(*!Jx#T$)L<&#h?Oqf)>OYs1q0%tfAiG zVbEvrVen;OVvt}^X7FS1XJBSvVh8{SQy@bS0|SE;12aP~LnuQy8>s9GW{6+|Wkn+p F4FG4yQZoPm literal 0 HcmV?d00001 diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/formatting2/.ParserFormatter.java._trace b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/formatting2/.ParserFormatter.java._trace new file mode 100644 index 0000000000000000000000000000000000000000..f1466224b5c01e0c42a9cd6d19bfbca5fd09d67a GIT binary patch literal 2068 zcmZQzU|?lr^p;|D@Md6g>~N0YRcB<dEiNz7&&@9`(JwAZEJ@8xOwP#6OVzI^Nv$Z+ zPs=aLO)M$N%u6@Y4@fL3PAzhSh@=+jRg|RWr7$z9Gcq$UF{&}KFfckZdx(iSc)`qO zV0YFM5Eo})a_ke}<z--Wb`l2jmI?FnGBBa=7@eaWyd|U<m>dtN@$)k<IaiBFfq0ih zFnEm4tDKI?XfZH3zH;0rD9ga+yoFUphJnfPJFB1|0}~35(Rn8aSndzIpdbUI^Faj= z&xu(|P>_My`8Y3x#|zen%wu%E0+AB{$uT-V(g&-Q(*W!HEDGjnh=TPY^B7$?IKgtZ zoFMyLB%K0fH5r(k+#M4IWf_>z_^d9H_Oh~!Oiqgwg@qZIT_ibWWf`D6Mi(VhFmDe# zSk8bQ!DDnWmxt(+0?V26g5?(R3JWtZxghfxU0j5~a_b>-E&>Q1qf4yAQaMFNCZ}T# zZX#j~%r3F!a&nAJPB%qFL>QP|s(9t(7?_-H@`{KsFrn}mUD|oTa?jYoa_w9Q9;3@l zhfH}z2AHWVF7xE%<r$cqPV<O}Ffh98;{fx(b}+$sU~?E<E@&$#Ffcj2lM@kRV8X&< zWODi<EGo*t>~et<tP;#)bh)Vr;yE+0gXNyFBY2E1Z+SpGr!PFBq6|zZJVsY`hxJOT zj7-k_4xZwY49u?V4h~96j7-jolH%eF%&r=|N=gh&&WgOCM2o^>bTt(O%jxle<xKez zJVsX^hb(1P2AHudu7NVj$_z}-BHZHQ42-V%ykH*K4kj26Y!0Jqo2H5i1Cz70thgit z6BZsLle43cgaiY#Ya1t6C78$P+Ak00`LKiKX0s!BjIN8g!8}K92?+)!6dt4NZin@1 znv6`&(GH$cG7QYFyB!?V)EJqZb0wvu7?@q}@T#dXFgfS)g0dnCkJ0s|AXu)72Q2rJ zAHidEV{ph)*JOYh%i_i=qpr@t<eb1QCB?w#rpycGf$d;|@xbOVx>;#zXfQB2x64Y& zFfd`^F)}Q0>dFuPfCf>nZfjBd{IVBQRNu$(_Tg2(6<#tr86a!X4yFrn}m-AWw! zbPO1noYy#V$*VB1xz(}i=rAxj?_>ofQWPGeTQdh(ZXdh6JOiU!w;Y&vR6<^!f!S>$ z4}`}9)`!evbejv2y9knFbX%nlR(VeYtZ%m{nD;^ytPh#T=yrh<EccfaY~MqNIlB4` zOfKvW>*ZA#nA}kLEN%~tbafe-T#}>|6&aY_9&+mHGC+BZZm%@Jyi#_s+$VMfkJ0U? z1Vo=OSnekeST2c2QIUbk4VlO2&I*ys1DV3)&dLQ=3Fa}nOX%zAF*3Q-iz_KHFuO}| z>gh2+d5rFgs$gC}J6KMW9l>LCHxPyB69CH@@POs&c|f_z9ht}IZUZs1n*}Uq12F~6 zV|4d1)YoTZa+xWqtjxgd?!&1M3Mep-(LGch%v;S4mWyRa@EF}w#3A~Gz;Y=(V7Zw* zp#15M%wu#f;0DVrWdq9<Kx_c>7~R{Q`;8nt8JMBf5i~8ayZ5mg8Nrhl6DpU{eKNa| z5d*U$xL$IGq$&4Vl1Mt3-4}qAz|tn8`*I$zEL80l6)+EyaGBkAi6U_s-OqD^xe&D; Z5e`LW7K}_#YdkJGlvr9bGC}NS1OS2ZW7q%y literal 0 HcmV?d00001 diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/formatting2/.ParserFormatter.xtendbin b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/formatting2/.ParserFormatter.xtendbin new file mode 100644 index 0000000000000000000000000000000000000000..d22c654acf07c193c8f99f8efc6cc1b81f948a9f GIT binary patch literal 3261 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 literal 0 HcmV?d00001 diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/formatting2/ParserFormatter.class b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/formatting2/ParserFormatter.class new file mode 100644 index 0000000000000000000000000000000000000000..aaad7cd6d0f1aa3b617906a9e0feafb1d4536525 GIT binary patch literal 4557 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 Usfms;m!Y|pskx3ZmzFCR0I{3?xBvhE literal 0 HcmV?d00001 diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/generator/.ParserGenerator.java._trace b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/generator/.ParserGenerator.java._trace new file mode 100644 index 0000000000000000000000000000000000000000..a5a7d58233f7bed7e2211dc84c2d0c728889ce2b GIT binary patch literal 409 zcmZQzU|?lrblSiu#=zvL=XjM{l99o>xV%I^H@~<<zqll^BsDiNIU_SKRllMnwW35n zJvA@2D6u5JNIxL4s5rIA9mdzIC`rvrVP;fkWM*JuRAXXcV01KbtmYPl8O*@!XyP!B zn;*n?n8zc)!033{;f?@E{;Z>!fFuKp<1Yb0K?Wwr%K`!d42(`fLSWu&AprpfCKMi{ zlcqznkO%{l6SKo#AqfUHCtFrwVFo5A9#$bC1|}39qmvUiSWb{zNQi;a$yWl*lMxaU zVqkU(=7jJ#!TOMSj7~8SIaQDxqf?qJSf#!=SYM7XgeMHvhs<Mis%HVqIkAB4Yf%96 c+@-+!x`ZG+knK!P$UH`;IUHcQNDh!b0N)x!x&QzG literal 0 HcmV?d00001 diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/generator/.ParserGenerator.xtendbin b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/generator/.ParserGenerator.xtendbin new file mode 100644 index 0000000000000000000000000000000000000000..ef57e98ebab7924ec8ceadd5562b2fe83894012d GIT binary patch literal 2296 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 UtZX3jnHiWFwlOd;=x~5|03AjHKL7v# literal 0 HcmV?d00001 diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/generator/ParserGenerator.class b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/generator/ParserGenerator.class new file mode 100644 index 0000000000000000000000000000000000000000..096795e6272fdee30bd9dc4f9f92aa8492594e5e GIT binary patch literal 789 zcmX^0Z`VEs1_nn433di1Mh4U3@)G^r{NfV*;*!LY)ZE16jLf`L{fd&*iW2?w)V$Q9 z#FG3X{eZ-x;?yE{7@wVig^@uwzbIWlH904<pcqqwV^VQRQDSllTni%un@wh3W{Djm z1G9!^7$XCVbAC!H7Xvc`Cl3QF0~;d)zfWdfs$XetQfg61Vp2{jBZH7nesW??SYlBo zhz}KHDaptzW@Iq;A<N~~j0{{U`A}D-GBR{)_#k^DH8)K^H95a1Rlg{;IKQ+gIaNOh z%CJUJh#o+mZkai$!Ii}&skx5H$*IM~Mg-JDoseJToSz2@Y->=MaKLP3WY9#h4xhUi z8JN?G6B!u{P;?OCKt=}kWQgUA4Ep#rW4M-)fh!msJ|KTHGKioh5WTF#vP1?&21W*E z1`uFkU<5@n10w@F0|SFT10w??0|NuA)^-MtjSLJ7OblEM3=C{wK|uy?1_lNmFq@Tu zhk=)Yfq{{MkAWYm*^_~RfdwRnu2BT6Q41mo)d<omz#s@VjFCZzL70IFq?JL0L6m`+ LfssKBY`Hi9iRs#S literal 0 HcmV?d00001 diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/parser/antlr/ParserAntlrTokenFileProvider.class b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/parser/antlr/ParserAntlrTokenFileProvider.class new file mode 100644 index 0000000000000000000000000000000000000000..db7e782b31acfb8355dd390cde9773443c225a24 GIT binary patch literal 923 zcmX^0Z`VEs1_nn44R!`5Mh4g7@)G^r{NfV*;*!LY)ZE16jLf`L{fd&*iW2>T#G>NV zBK^d?lAI#_05Hc9#16^NPR(=6%t;L>$}h`INiAY$U}0ns$Vx0r)Xz!GOV{^L%1TWx zVP{}tWH8GwO4m<K&dDq&#%io5b`u#H*laTMGE3|j8JIOR!x$M@obyvsxfqxkxOo`Z z88{dj_<b_-QvFJElTwR95|eUL85x9p@{<#D!V-%zL42qnOG!p%F(ZS!4^=#B&B!2_ zo?3$HW<~~a4NV`g?=$oDJ@X1mOM**^QWJBnLGBgiVGv;uWn|z;Pc3oINh~gAWDtfa z2L~2d(3*=uoI#SEL4uKiA8ZmriibgpL7I_)52oKIKQSe>h><}O(-er5H3x$%BZE89 z9?r}wNiE7t%+dFRG9Xc{R|1OWVlD=G21RxT1x5x@G>1WK<6%%@P-bKhPERcfN-fSW zElN&xEQa`>kwH@f5-woh1eX+L=A~O>4=P3m?qpEtKn!JM5J%Do4k3tyH6sI8FxV1M z`eS5Jgt!$oLSV^K59DA5MFvI&W(GzERt5$JCI&`O>S17H;ACK6&}U#|U}RumVAa~r zz_k%9&BMUJzy=oNWZ-3BVBi6>SsC~k_!$@&7#Rc@1fiPU8JHND7#JA%wYD(`ZDSDg r(H4@~#vr!=ZVVS#nwNotfe&ny7?{rwHHw3Qok4{`73=~vupV^)SmF9w literal 0 HcmV?d00001 diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/parser/antlr/ParserParser.class b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/parser/antlr/ParserParser.class new file mode 100644 index 0000000000000000000000000000000000000000..4b7bc61c4b748ba969b56947d5e7d644f7fdd924 GIT binary patch literal 1965 zcmX^0Z`VEs1_nn48+HaJMh4U3@)G^r{NfV*;*!LY)ZE16jLf`L{fd&*iW2>T#G>NV zBK^d?lAI#_05AtavNNzSG8p9-rR%3A=VTTXW7Xi8R9sS&m|Wrr(hkwb$iSOkl$e{F zSmc<ToLXGW$YAAz&jH1$MP-@Esl`ys-I4WLGcrg9mFAUX=B9>a7H1~qq&nv1<(DLu zWaj4;Gcri|B<JVqr|0LV=cMXq=4GWOm*{(fDQiXsHk-`6%o00B24)S-Fh&Lz=lqmZ zE(T@>ULFQc1};VhexJ;|RKL>Pq|~C2#H5^5Mg}3D{N%)(u*9NF5FaYYQj(Eb%*bGl z*AF-Y(VCG#tT?sAGcU6wGcm^_GbJT8FC;%Z736vo4Icub8v%+Tu=3!NqSVA(Yt1lr z22n-^fvm)`ME#t^ymbBGlA_GKbPfh_Mh5nvP#@R$@L&!GNk#^KFvr&?-r3*R*VQkC zgFzZ57z`KWVvuE!XJ?ROWY8zkB|Hp53<``4Vj9st=x(tFg*JBy$deFPGcp*G>`_Jr zp5&s`#FA84nyMxvu!xVc%)FA+qP)Z$eNQL@Vl9NUW@k`iWN^cmhEd`luVGvaj0_q) z44MpDj0^(lsU;}Mosq#tLldv7@n#k-22}<fQ0mrYWQc);7bII3L9&oOa#AAS8c_VQ z6@wEbBZE+SYKco~T4HHVNl<A{s$XJmDkFo4h9+jR;9xLfWZ($~l|a6b5{Q$5k->zA zft7)ckwKssBP?t+D05>zBna@7UYPldP(p>3cd&GVRPI@WqSlg!L772?k%22XzqBYh z)h!cLt_VWX5rotO<rfA;21W*E1_lO31}2dI85kMZ85kJY7#JBi7#JAX85luj6aymz zHv<EMJ_92IBLf2itJZb~o{bC)3``7sP{j-kJPiB{AQG&AL4ZM!fq{XAL5M*ZsyTpx zm4S(Yfk8r>Z7+jJB(soMa3qV6L~talkW}zC1{s8TTwry=4B`wTU^B(Qd<m$T3=9$s ziVR8&j0`LwA3{xcWMBcS;@!=l8mX<djX`}ogZ2hACrTn2#|t-(mq8C|oIZmA)Hq$J zPnm@b(G8IU8^Qw)2xh1ujG$};)rttDEeyu!nw5|=v%)o-GMGU%+c7YKy}_oXy_LZj zJxJ6TSQ*s8CP0FO4Qc`?zF0wVCg8%L%wP^ROATSxHU<lHmoS3O0YwNSgB3WOtO4L# B0muLV literal 0 HcmV?d00001 diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/parser/antlr/internal/InternalParser.g b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/parser/antlr/internal/InternalParser.g new file mode 100644 index 0000000..8ffd3dd --- /dev/null +++ b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/parser/antlr/internal/InternalParser.g @@ -0,0 +1,814 @@ +/* + * generated by Xtext 2.35.0 + */ +grammar InternalParser; + +options { + superClass=AbstractInternalAntlrParser; +} + +@lexer::header { +package swt.most.statemachine.xtext.parser.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.parser.antlr.Lexer; +} + +@parser::header { +package swt.most.statemachine.xtext.parser.antlr.internal; + +import org.eclipse.xtext.*; +import org.eclipse.xtext.parser.*; +import org.eclipse.xtext.parser.impl.*; +import org.eclipse.emf.ecore.util.EcoreUtil; +import org.eclipse.emf.ecore.EObject; +import org.eclipse.xtext.parser.antlr.AbstractInternalAntlrParser; +import org.eclipse.xtext.parser.antlr.XtextTokenStream; +import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens; +import org.eclipse.xtext.parser.antlr.AntlrDatatypeRuleToken; +import swt.most.statemachine.xtext.services.ParserGrammarAccess; + +} + +@parser::members { + + private ParserGrammarAccess grammarAccess; + + public InternalParserParser(TokenStream input, ParserGrammarAccess grammarAccess) { + this(input); + this.grammarAccess = grammarAccess; + registerRules(grammarAccess.getGrammar()); + } + + @Override + protected String getFirstRuleName() { + return "StateMachine"; + } + + @Override + protected ParserGrammarAccess getGrammarAccess() { + return grammarAccess; + } + +} + +@rulecatch { + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } +} + +// Entry rule entryRuleStateMachine +entryRuleStateMachine returns [EObject current=null]: + { newCompositeNode(grammarAccess.getStateMachineRule()); } + iv_ruleStateMachine=ruleStateMachine + { $current=$iv_ruleStateMachine.current; } + EOF; + +// Rule StateMachine +ruleStateMachine returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getStateMachineAccess().getStateMachineAction_0(), + $current); + } + ) + otherlv_1='StateMachine' + { + newLeafNode(otherlv_1, grammarAccess.getStateMachineAccess().getStateMachineKeyword_1()); + } + ( + ( + { + newCompositeNode(grammarAccess.getStateMachineAccess().getNameEStringParserRuleCall_2_0()); + } + lv_name_2_0=ruleEString + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getStateMachineRule()); + } + set( + $current, + "name", + lv_name_2_0, + "swt.most.statemachine.xtext.Parser.EString"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_3='{' + { + newLeafNode(otherlv_3, grammarAccess.getStateMachineAccess().getLeftCurlyBracketKeyword_3()); + } + ( + ( + { + newCompositeNode(grammarAccess.getStateMachineAccess().getInitialstateInitialStateParserRuleCall_4_0()); + } + lv_initialstate_4_0=ruleInitialState + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getStateMachineRule()); + } + set( + $current, + "initialstate", + lv_initialstate_4_0, + "swt.most.statemachine.xtext.Parser.InitialState"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + ( + ( + { + newCompositeNode(grammarAccess.getStateMachineAccess().getStatesNormalStateParserRuleCall_5_0_0()); + } + lv_states_5_0=ruleNormalState + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getStateMachineRule()); + } + add( + $current, + "states", + lv_states_5_0, + "swt.most.statemachine.xtext.Parser.NormalState"); + afterParserOrEnumRuleCall(); + } + ) + ) + | + ( + ( + { + newCompositeNode(grammarAccess.getStateMachineAccess().getFinalstatesFinalStateParserRuleCall_5_1_0()); + } + lv_finalstates_6_0=ruleFinalState + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getStateMachineRule()); + } + add( + $current, + "finalstates", + lv_finalstates_6_0, + "swt.most.statemachine.xtext.Parser.FinalState"); + afterParserOrEnumRuleCall(); + } + ) + ) + | + ( + ( + { + newCompositeNode(grammarAccess.getStateMachineAccess().getTransitionsTransitionParserRuleCall_5_2_0()); + } + lv_transitions_7_0=ruleTransition + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getStateMachineRule()); + } + add( + $current, + "transitions", + lv_transitions_7_0, + "swt.most.statemachine.xtext.Parser.Transition"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + otherlv_8='}' + { + newLeafNode(otherlv_8, grammarAccess.getStateMachineAccess().getRightCurlyBracketKeyword_6()); + } + ) +; + +// Entry rule entryRuleNormalState +entryRuleNormalState returns [EObject current=null]: + { newCompositeNode(grammarAccess.getNormalStateRule()); } + iv_ruleNormalState=ruleNormalState + { $current=$iv_ruleNormalState.current; } + EOF; + +// Rule NormalState +ruleNormalState returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getNormalStateAccess().getNormalStateAction_0(), + $current); + } + ) + otherlv_1='state' + { + newLeafNode(otherlv_1, grammarAccess.getNormalStateAccess().getStateKeyword_1()); + } + ( + ( + { + newCompositeNode(grammarAccess.getNormalStateAccess().getNameEStringParserRuleCall_2_0()); + } + lv_name_2_0=ruleEString + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getNormalStateRule()); + } + set( + $current, + "name", + lv_name_2_0, + "swt.most.statemachine.xtext.Parser.EString"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_3='{' + { + newLeafNode(otherlv_3, grammarAccess.getNormalStateAccess().getLeftCurlyBracketKeyword_3_0()); + } + ( + otherlv_4='entry:' + { + newLeafNode(otherlv_4, grammarAccess.getNormalStateAccess().getEntryKeyword_3_1_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getNormalStateAccess().getEntry_ActionParserRuleCall_3_1_1_0()); + } + lv_entry__5_0=ruleAction + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getNormalStateRule()); + } + set( + $current, + "entry_", + lv_entry__5_0, + "swt.most.statemachine.xtext.Parser.Action"); + afterParserOrEnumRuleCall(); + } + ) + ) + )? + ( + otherlv_6='do:' + { + newLeafNode(otherlv_6, grammarAccess.getNormalStateAccess().getDoKeyword_3_2_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getNormalStateAccess().getDo_ActionParserRuleCall_3_2_1_0()); + } + lv_do__7_0=ruleAction + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getNormalStateRule()); + } + set( + $current, + "do_", + lv_do__7_0, + "swt.most.statemachine.xtext.Parser.Action"); + afterParserOrEnumRuleCall(); + } + ) + ) + )? + ( + otherlv_8='exit:' + { + newLeafNode(otherlv_8, grammarAccess.getNormalStateAccess().getExitKeyword_3_3_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getNormalStateAccess().getExit_ActionParserRuleCall_3_3_1_0()); + } + lv_exit__9_0=ruleAction + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getNormalStateRule()); + } + set( + $current, + "exit_", + lv_exit__9_0, + "swt.most.statemachine.xtext.Parser.Action"); + afterParserOrEnumRuleCall(); + } + ) + ) + )? + otherlv_10='}' + { + newLeafNode(otherlv_10, grammarAccess.getNormalStateAccess().getRightCurlyBracketKeyword_3_4()); + } + )? + ) +; + +// Entry rule entryRuleFinalState +entryRuleFinalState returns [EObject current=null]: + { newCompositeNode(grammarAccess.getFinalStateRule()); } + iv_ruleFinalState=ruleFinalState + { $current=$iv_ruleFinalState.current; } + EOF; + +// Rule FinalState +ruleFinalState returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getFinalStateAccess().getFinalStateAction_0(), + $current); + } + ) + otherlv_1='end' + { + newLeafNode(otherlv_1, grammarAccess.getFinalStateAccess().getEndKeyword_1()); + } + ( + ( + lv_name_2_0=RULE_FINALSTATENAME + { + newLeafNode(lv_name_2_0, grammarAccess.getFinalStateAccess().getNameFINALSTATENAMETerminalRuleCall_2_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getFinalStateRule()); + } + setWithLastConsumed( + $current, + "name", + lv_name_2_0, + "swt.most.statemachine.xtext.Parser.FINALSTATENAME"); + } + ) + ) + ) +; + +// Entry rule entryRuleInitialState +entryRuleInitialState returns [EObject current=null]: + { newCompositeNode(grammarAccess.getInitialStateRule()); } + iv_ruleInitialState=ruleInitialState + { $current=$iv_ruleInitialState.current; } + EOF; + +// Rule InitialState +ruleInitialState returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getInitialStateAccess().getInitialStateAction_0(), + $current); + } + ) + otherlv_1='start' + { + newLeafNode(otherlv_1, grammarAccess.getInitialStateAccess().getStartKeyword_1()); + } + ( + ( + lv_name_2_0=RULE_INITIALSTATENAME + { + newLeafNode(lv_name_2_0, grammarAccess.getInitialStateAccess().getNameINITIALSTATENAMETerminalRuleCall_2_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getInitialStateRule()); + } + setWithLastConsumed( + $current, + "name", + lv_name_2_0, + "swt.most.statemachine.xtext.Parser.INITIALSTATENAME"); + } + ) + ) + ) +; + +// Entry rule entryRuleTransition +entryRuleTransition returns [EObject current=null]: + { newCompositeNode(grammarAccess.getTransitionRule()); } + iv_ruleTransition=ruleTransition + { $current=$iv_ruleTransition.current; } + EOF; + +// Rule Transition +ruleTransition returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getTransitionAccess().getTransitionAction_0(), + $current); + } + ) + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getTransitionRule()); + } + } + { + newCompositeNode(grammarAccess.getTransitionAccess().getFromStateCrossReference_1_0()); + } + ruleEString + { + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_2='-' + { + newLeafNode(otherlv_2, grammarAccess.getTransitionAccess().getHyphenMinusKeyword_2()); + } + ( + ( + { + newCompositeNode(grammarAccess.getTransitionAccess().getTriggerTriggerParserRuleCall_3_0()); + } + lv_trigger_3_0=ruleTrigger + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getTransitionRule()); + } + set( + $current, + "trigger", + lv_trigger_3_0, + "swt.most.statemachine.xtext.Parser.Trigger"); + afterParserOrEnumRuleCall(); + } + ) + )? + ( + otherlv_4='[' + { + newLeafNode(otherlv_4, grammarAccess.getTransitionAccess().getLeftSquareBracketKeyword_4_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getTransitionAccess().getGuardGuardParserRuleCall_4_1_0()); + } + lv_guard_5_0=ruleGuard + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getTransitionRule()); + } + set( + $current, + "guard", + lv_guard_5_0, + "swt.most.statemachine.xtext.Parser.Guard"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_6=']' + { + newLeafNode(otherlv_6, grammarAccess.getTransitionAccess().getRightSquareBracketKeyword_4_2()); + } + )? + ( + otherlv_7='/' + { + newLeafNode(otherlv_7, grammarAccess.getTransitionAccess().getSolidusKeyword_5_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getTransitionAccess().getActionActionParserRuleCall_5_1_0()); + } + lv_action_8_0=ruleAction + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getTransitionRule()); + } + set( + $current, + "action", + lv_action_8_0, + "swt.most.statemachine.xtext.Parser.Action"); + afterParserOrEnumRuleCall(); + } + ) + ) + )? + otherlv_9='->' + { + newLeafNode(otherlv_9, grammarAccess.getTransitionAccess().getHyphenMinusGreaterThanSignKeyword_6()); + } + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getTransitionRule()); + } + } + { + newCompositeNode(grammarAccess.getTransitionAccess().getToStateCrossReference_7_0()); + } + ruleEString + { + afterParserOrEnumRuleCall(); + } + ) + ) + ) +; + +// Entry rule entryRuleAction +entryRuleAction returns [EObject current=null]: + { newCompositeNode(grammarAccess.getActionRule()); } + iv_ruleAction=ruleAction + { $current=$iv_ruleAction.current; } + EOF; + +// Rule Action +ruleAction returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getActionAccess().getActionAction_0(), + $current); + } + ) + ( + ( + { + newCompositeNode(grammarAccess.getActionAccess().getContentActivityContentParserRuleCall_1_0()); + } + lv_content_1_0=ruleActivityContent + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getActionRule()); + } + set( + $current, + "content", + lv_content_1_0, + "swt.most.statemachine.xtext.Parser.ActivityContent"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) +; + +// Entry rule entryRuleTrigger +entryRuleTrigger returns [EObject current=null]: + { newCompositeNode(grammarAccess.getTriggerRule()); } + iv_ruleTrigger=ruleTrigger + { $current=$iv_ruleTrigger.current; } + EOF; + +// Rule Trigger +ruleTrigger returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getTriggerAccess().getTriggerAction_0(), + $current); + } + ) + ( + ( + { + newCompositeNode(grammarAccess.getTriggerAccess().getContentActivityContentParserRuleCall_1_0()); + } + lv_content_1_0=ruleActivityContent + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getTriggerRule()); + } + set( + $current, + "content", + lv_content_1_0, + "swt.most.statemachine.xtext.Parser.ActivityContent"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) +; + +// Entry rule entryRuleGuard +entryRuleGuard returns [EObject current=null]: + { newCompositeNode(grammarAccess.getGuardRule()); } + iv_ruleGuard=ruleGuard + { $current=$iv_ruleGuard.current; } + EOF; + +// Rule Guard +ruleGuard returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getGuardAccess().getGuardAction_0(), + $current); + } + ) + ( + ( + { + newCompositeNode(grammarAccess.getGuardAccess().getContentEStringParserRuleCall_1_0()); + } + lv_content_1_0=ruleEString + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getGuardRule()); + } + set( + $current, + "content", + lv_content_1_0, + "swt.most.statemachine.xtext.Parser.EString"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) +; + +// Entry rule entryRuleActivityContent +entryRuleActivityContent returns [String current=null]: + { newCompositeNode(grammarAccess.getActivityContentRule()); } + iv_ruleActivityContent=ruleActivityContent + { $current=$iv_ruleActivityContent.current.getText(); } + EOF; + +// Rule ActivityContent +ruleActivityContent returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + this_STRING_0=RULE_STRING + { + $current.merge(this_STRING_0); + } + { + newLeafNode(this_STRING_0, grammarAccess.getActivityContentAccess().getSTRINGTerminalRuleCall_0()); + } + | + this_ID_1=RULE_ID + { + $current.merge(this_ID_1); + } + { + newLeafNode(this_ID_1, grammarAccess.getActivityContentAccess().getIDTerminalRuleCall_1()); + } + | + this_CALL_2=RULE_CALL + { + $current.merge(this_CALL_2); + } + { + newLeafNode(this_CALL_2, grammarAccess.getActivityContentAccess().getCALLTerminalRuleCall_2()); + } + ) +; + +// Entry rule entryRuleEString +entryRuleEString returns [String current=null]: + { newCompositeNode(grammarAccess.getEStringRule()); } + iv_ruleEString=ruleEString + { $current=$iv_ruleEString.current.getText(); } + EOF; + +// Rule EString +ruleEString returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + this_STRING_0=RULE_STRING + { + $current.merge(this_STRING_0); + } + { + newLeafNode(this_STRING_0, grammarAccess.getEStringAccess().getSTRINGTerminalRuleCall_0()); + } + | + this_ID_1=RULE_ID + { + $current.merge(this_ID_1); + } + { + newLeafNode(this_ID_1, grammarAccess.getEStringAccess().getIDTerminalRuleCall_1()); + } + | + this_INITIALSTATENAME_2=RULE_INITIALSTATENAME + { + $current.merge(this_INITIALSTATENAME_2); + } + { + newLeafNode(this_INITIALSTATENAME_2, grammarAccess.getEStringAccess().getINITIALSTATENAMETerminalRuleCall_2()); + } + | + this_FINALSTATENAME_3=RULE_FINALSTATENAME + { + $current.merge(this_FINALSTATENAME_3); + } + { + newLeafNode(this_FINALSTATENAME_3, grammarAccess.getEStringAccess().getFINALSTATENAMETerminalRuleCall_3()); + } + ) +; + +RULE_INITIALSTATENAME : 'I_' (RULE_INT|RULE_STRING|RULE_ID)+; + +RULE_FINALSTATENAME : 'F_' (RULE_INT|RULE_STRING|RULE_ID)+; + +RULE_CALL : RULE_ID ('.' RULE_ID)+; + +RULE_ID : '^'? ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*; + +fragment RULE_INT : ('0'..'9')+; + +RULE_STRING : ('"' ('\\' .|~(('\\'|'"')))* '"'|'\'' ('\\' .|~(('\\'|'\'')))* '\''); + +RULE_ML_COMMENT : '/*' ( options {greedy=false;} : . )*'*/'; + +RULE_SL_COMMENT : '//' ~(('\n'|'\r'))* ('\r'? '\n')?; + +RULE_WS : (' '|'\t'|'\r'|'\n')+; + +RULE_ANY_OTHER : .; diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/parser/antlr/internal/InternalParser.tokens b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/parser/antlr/internal/InternalParser.tokens new file mode 100644 index 0000000..cf878cf --- /dev/null +++ b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/parser/antlr/internal/InternalParser.tokens @@ -0,0 +1,38 @@ +'-'=23 +'->'=27 +'/'=26 +'StateMachine'=14 +'['=24 +']'=25 +'do:'=19 +'end'=21 +'entry:'=18 +'exit:'=20 +'start'=22 +'state'=17 +'{'=15 +'}'=16 +RULE_ANY_OTHER=13 +RULE_CALL=8 +RULE_FINALSTATENAME=4 +RULE_ID=7 +RULE_INITIALSTATENAME=5 +RULE_INT=9 +RULE_ML_COMMENT=10 +RULE_SL_COMMENT=11 +RULE_STRING=6 +RULE_WS=12 +T__14=14 +T__15=15 +T__16=16 +T__17=17 +T__18=18 +T__19=19 +T__20=20 +T__21=21 +T__22=22 +T__23=23 +T__24=24 +T__25=25 +T__26=26 +T__27=27 diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/parser/antlr/internal/InternalParserLexer$DFA15.class b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/parser/antlr/internal/InternalParserLexer$DFA15.class new file mode 100644 index 0000000000000000000000000000000000000000..a8ace91995d128dafd7a942fbf4acd49d83c0a37 GIT binary patch literal 3157 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 literal 0 HcmV?d00001 diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/parser/antlr/internal/InternalParserLexer.class b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/parser/antlr/internal/InternalParserLexer.class new file mode 100644 index 0000000000000000000000000000000000000000..7dd09e559598bef18c2ee1ffec1f700f25f5ac65 GIT binary patch literal 15703 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 ThhJe}WZcQXz_<%K2Y&?s@U|>) literal 0 HcmV?d00001 diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/parser/antlr/internal/InternalParserParser.class b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/parser/antlr/internal/InternalParserParser.class new file mode 100644 index 0000000000000000000000000000000000000000..9f242014db6025ee4323452631e7594bc58b2c9e GIT binary patch literal 22875 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 Tm*EG~X9h;5euf`RUl<qxKc|1I literal 0 HcmV?d00001 diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/scoping/AbstractParserScopeProvider.class b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/scoping/AbstractParserScopeProvider.class new file mode 100644 index 0000000000000000000000000000000000000000..4c8c5703d4afdc1a769fb6e2ae0be4919efb9926 GIT binary patch literal 416 zcmX^0Z`VEs1_nn40d@u^Mh5%h@)G^r{NfV*;*!LY)ZE16jLf`L{fd&*iW2?e<otrn zymWoXq~emI#N?8I#G>NVqTuBGg4BSb{IblH)FO5U7DfiM{GxRI)a0DZf?{;7nYjfy z`Yx$Csp*L&nR)3bdKnqmY%=pQOY9gKm^C!R7#Ucc^HWl}7?>G2c^Ft3*cci3eKPY> z{YrC_Qj0<olX6lS8H9ZDlM{2o5{oiHe5fExNk(QdBZH$4g`TlyWZ(+UFD*(=b;|@< zrhv!edRd8Oi7bi?j10^SAi&7L2y!z6BLh1F1A{&Th|j>ls<oYgV<Q6t0}}%m0|Nsa g10w?i0|x^)0|NsOn9a(-!@$eHz`)4B2Uf)o09e;@+5i9m literal 0 HcmV?d00001 diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/scoping/ParserScopeProvider.class b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/scoping/ParserScopeProvider.class new file mode 100644 index 0000000000000000000000000000000000000000..ed216ff5adaa0abb914cb5d83f1a3234c4d19dc9 GIT binary patch literal 401 zcmX^0Z`VEs1_nn40d@u^Mh5fZ@)G^r{NfV*;*!LY)ZE16jLf`L{fd&*iW2?e<otrn zymbA5#G>NVqTuBGg4BSb{IblH)FO5U7DfhpVl+D@6_*qxCYN9_gpq;GCNnRy#Ey}H zSwl07k%7fIKP8omfti7mhk=!Wjgf)hCo?bAuQWF)wJ0PpDJPYYLC7aRIWZ?Ju_zP7 zhYGTkWMmdIGFbW$;~*>!v1Vl83eGPrN=|jl1X&`1MU7roVp$@CA_F4>GXn@PGBASN z$iT?J&cMK+&j8{xFtBQEXW-b#z`(%7z{SA8z{bGHz`(%Ez|FwGzyoHpGVn0)GB7YO KGVp;_@dE%dRc#dj literal 0 HcmV?d00001 diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/serializer/ParserSemanticSequencer.class b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/serializer/ParserSemanticSequencer.class new file mode 100644 index 0000000000000000000000000000000000000000..36e60fc4f4b5b735fb0b406e404b3d0997ba26c9 GIT binary patch literal 8791 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 literal 0 HcmV?d00001 diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/serializer/ParserSyntacticSequencer.class b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/serializer/ParserSyntacticSequencer.class new file mode 100644 index 0000000000000000000000000000000000000000..665c8f57fb96dc2729f24b2fefebcf0061915e01 GIT binary patch literal 4990 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 aFqvU08z+Mc!(@hOY@7_L3}Ot^85jWru;FC@ literal 0 HcmV?d00001 diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/services/ParserGrammarAccess$ActionElements.class b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/services/ParserGrammarAccess$ActionElements.class new file mode 100644 index 0000000000000000000000000000000000000000..0fff3ab7488679e46e0175a0be7b9c8ca33cee4b GIT binary patch literal 2539 zcmX^0Z`VEs1_nol1a<}{Mh5rd@)G^r{NfV*;*!LY)ZE16jLf`L{fd&*iW2?e)S|M? z<kVvQfW)HW)FSty#N6D(BFE(9)Z$_l$K;aC{5;p3)ZEm(l45oS7DfjD{GxRI)a0DZ zf?_ly^c|CmONtVcOQ7oAGV@YWi&S8u5c7jdb5c>{85vlLN^?>f8RUF0O-AUkW@KPX zb}z~=EnsAj#G(=`WzERIpA2y`gp4;}WRSw58X{}W$RLvJoS#>cnpfgjT%4Jn2l8gT zA$GSQR9G`IXu|a+mt>Y@mQ+HGK{(hsF()V95aa+EEDit#14sqPTO}Ep#VQ7j3|2nm z#uLaCo6Nk-5<5l)TMhD!(F|i`U~$e*N#$f<WDw<H;AarvVqj(v=V1_JkYHqB*3b;& zVvu5xVP}wLWUwIDwLA>6404PNT<NJL(A37rAgiH?C6u7j)*K89j0~E^<t2KcRIG=b ziuJ&$SPv5JdXRYKVo+jGVP{ZgWRS&7QcyEPOEPnK7*rY57#aA}GV@YE5#p9#<d>M6 z%E;iafyXgES&3zd`Z<Yt>H5JXMVWc&*4Ug5OZ6agt=Sng7#U<R-2!nnNC_ywwRjj< z8Q8cP)ERVm7<3u*7#TQIp~<S4kwFzLgi>?U^po>*bMy1`OG`3y^j&>2i%YDz84MVV z*cl8N85EJN!>X8v!I;5>k%2iqwS<vDRKrsf$!GpaS*gh-*6a*sj11z)CV_)nADr7j zZnofIU}xaqW-w*YVP~*rWRSpA3yBkuVp|>tP6jS^279c5fyiGVwT?Ut+zdS240a%c zT^JdpFbxKU8z>Kfl)LdT@G|f*GVuFk=B4_T<|d^Ug(N0{iWMQB{N%)(u*9NF5FaYY z0?KoY44!0X6||DknvsD$J+%bnB1Q%Uw3vbf86vK&85uahX&+peNn=$F4q$6W2Ep{y z5=a0-NN{<ARR=`gnvp>)J+%ayY!E>TD%7yM3!%oEkwF_tFX4hs4y!{zfdGmYYeoho ztO`)F1{VV(LpTqEH-ir&16Oc<X;E^jTP7&pBp?9>&90F8NDq|t7#Vmx^YT)QoO2S3 zi&Kl)8Dbb2^f6Nhv|htrDKRq0!(0Ke2IOe8YKadLqEOLdMg|VQ)Z!A4{NfS@MFvI& zW(EcZHU=S3mStdI5CUZbFwM!p1*W+fc)&C-10Mr}fB>j0Wnf@nXJBLyWDsItWDsUx zVA#UI%)rFJz)+;6y_G>kYdeFOmi9IVNg??i42lOB)VDHdYH4j@(A>$O&B(yAlR=+} z;Q)i_Rt9sBsQFF?OGXA}sHoLe1{;JZOs(Bk1_zL+!%hY#gj(mV46Yj)7#Nrs+!+`c z<QUi)7#Ld^I2l_RBpKTn^cmY3Tp2qUq8U3G3K?4%JQx@lco-N#u4M3J@M2(KU<Ab$ z)Cc+uj9@udkUKZP4P^rfGWH>9W`%3^W$?qI*&JQ-B&?eK83M3qwn5iC6|3ezh9E4O z9ndw;z^XZzAq0zNS9Hy@F*OS~GI%qDLN%+x18f^Z7@B4VMzCg3ieP4l00(9yLlig_ ZF)=VRL^H&)fXX^4hByXBhIp{N6adfhrGo$f literal 0 HcmV?d00001 diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/services/ParserGrammarAccess$ActivityContentElements.class b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/services/ParserGrammarAccess$ActivityContentElements.class new file mode 100644 index 0000000000000000000000000000000000000000..11d4238fe08b811ebc78dff2c34cfe8ee538cdb1 GIT binary patch literal 2399 zcmX^0Z`VEs1_nolaCQbJMuvdm@)G^r{NfV*;*!LY)ZE16jLf`L{fd&*iW2?e)S|M? z<kVvQfW)HW)FSty#N6D(BFE(9)Z$_l$K;aCvdof7=lr~q)VvbcoYdUZypm#e1{OvJ z|NNqK{nX@~%z|Pxv-BO4ic5+TlVR%JGV@YWi&S8u5Q~CJb5fz^LF5@3Sc*z>QW+WK zd@xN$=&@#G;7xYSDM>BLODxGOOD$$(P{5)AS%oztgJg1WNRX$Wdq`?gZf0I$4#;-r z#GIUX14afJEZSl6){G3I$(}A4+6);P#FL#JeS9!vj2Ic%N-{EwRSXyztbE7~d22=n zHk-`6%o00B23rmCjnNEaWMFa5Pf6uuU}O;HVc=!p<6>ZD5anUuXAom#VAjwK<6@9t zkYZ<$WMr@)*R?zh(hM?;3|#4{CD8Q4$RMksi6va2($*Xda*PZ{#pNY>pmeE+oG$gi z=~538<9cW*kc&ZqL5ZC~k&!_bGm$_I4=u^e;bBl_P+?@?Ps_|p0mY?Tevw~dZYm># zzXl#x`D7)QCF<uS=B4WgmlS2@rCVe311ueb%(Z4`P-A3}!E_76`5+~rkk{a0U}a$A zW>96&;$hHc&|zfYOoisDVnzm4w4h4OP18@#&&|!x(=RQ_%+YuC$t*6h=4Q}iFkolU zXJk-BwhpUe9tJ}OBSr@1^wbhY22l-9O(dWBCuOB3msqnim@qQPA)5pacYWlH19G|< z4+A>`2RDN;gBCl3B_o3rrWTMdL754p+?t1hlYtAwvgKjmhOq2;7<d@C7#a9|GV@aX zN^_G^i$W5UKv`YLCqFqcCoHij6U2uKvVgJ=BSR3`sUBCcWzERIo}O9)axNo-0$QL$ ze2<7WYeokC^wbjM;9z7>!m0^bjWr{Kbb4wD?$SmMs}UeKfr8MQkwH8?wFG;KBblCB zf~(BI;WB7J3^LxDi-D2BkB7m9!IhDLD>%QjC^^+F6BG*)5MM*H52WbV17!t91|HA6 zywoD+oW$bd)M9pqU`7Ug%=m{^A=rz3Mh1CUhJjcEatm6)FOHVWq0+^S3><!`#U&p3 z#U%`i42%rS3=9lx3__s1#K6EH1WK4-nv;PGOmjnN9uO@c04nVm7#P?Y7#a8(1Q-|@ z1Q{3@wlFX=FflMN6lrO1Wf0QZ&LE<ty^TR!NOlK<`~e2ltqkf~T3Z;@cQR-)GO+Aq z&}Cvcz+k+U!4xEFx|6}2k%1X1YO$5U3Ly$pYq6EV1|iCdP;0l5fq{XE!GVE+L5_i) zfr0Tn11IAJ21&+?4El_h7+e`IGek39VJKug&)~?wz`(=62y!KZ6N57Y0|O%{+Mqtr zXJ7=&v4Y&W0d6Q8NRaUkl4e%8W;X_RESgQxHQ&do*@M9oi)Jfy&5y8Z_QI;!23_-0 zteU;CYPLhy`~p+6fFpwogAdf%s_+2Y#^8&lnSl|k8I&TJ8T`S48Nd(-PEAY<%nU&c TAuOQ6OoAblfsr8$EH427Kk|A( literal 0 HcmV?d00001 diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/services/ParserGrammarAccess$EStringElements.class b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/services/ParserGrammarAccess$EStringElements.class new file mode 100644 index 0000000000000000000000000000000000000000..c56c93e5ef497f117216a0225ac26c080bad7c15 GIT binary patch literal 2570 zcmX^0Z`VEs1_nolXm$oBMh1`K@)G^r{NfV*;*!LY)ZE16jLf`L{fd&*iW2?e)S|M? z<kVvQfW)HW)FSty#N6D(BFE(9)Z$_l*Wi+(%)E5hoYdUZypm#e1{OvJ|NNqK{nX@~ z%z|PxGxQykic5+TlS`oL-7@o1Qj1hzq7Vy$N^??C<QW-Qib``*85!h!Fil42v1Vl8 zO?J#FNiE7tEXgcOEoNj;z@h<Jg*79CWO8swkf)z}NNQ1TW?o_r$ad$%oSb+AMg|!y z+F|n6j0~d5o-P>L3>g`elRf=BLp&XQf<qibT>Tt<T`^P{F)}D7yLtNIQ)A4?z*drx zS*&8f$YA9|ZVXv7GO*cX=4F=HF*4X{kZ+7;7$XCVbAC!HCj%pc2oD1v13wo7GlLip zg8+j#BLlOBW*8TPB!e_NgA^l!1-Y)}VUS^vWn|z=Pc4C_Ge!nk4NWZZ0F}1pV322I z&?+u3(F3JlJ>>MO2Ts3wkQAZ^O{rWAiVVu^3`&d)vY3epYG`OlW)2U73WF*m1Akg( zUJ5AA-SUh45_3}-8T>WyxW*?du`E$PCowNwACfVwvAG?V-a+PCvookOGRR=M1>$Uw z5>SY1@-VP6uyHe}F=+EJ=rHIqGH|9k=jWAxG94p>Dq0Yw=BDW<=jZ0;=joT0Waj9* z`eYWDSaUPzGZ?Zn7%(y@B3p-5F%N?ggE1omb9!nCBZH`hrzVom{FAa$lS{1G8B7@& z<d97Qhqpd*1_L?WoQHv(frFdDgh88~!HSVV3R4Tnm!M1sQf|Y;z{$V`V%hO9a6?!Q zJPbS#mJ<&HF9R1N1HVsZUaDVdZc=JdNMaJGa1ipzPfpAUODxI+@u7k&pbW&w;6--2 zM=#*485!8qQ%gV&W@J!63wDVA5fNw2$iSbTT7n!Pj0{RxH6g39W@L~~Pc6Y+F3Djv z0^}x8AX+mrh^MEPU@x0gK{7;?PRi-2C4|c-9Daco@*oFUb1^V71o1GqGk7pEa0Ta= z7A2>;WrE^M0uoNpEC;Dh^g!8%k%7lEFE6#oIVZ8WIJKCaA)JvxA2ZEBt0nAJ3L}F& zER#X30l5XOQsIY|2vFf-Mg|VQ)Z!A4{NfS@MFvI&W(EcZb_O9(zGGlu5CSD)FwM!p z1*W;7G!K;K1<?Wmppub+fq{d8kwJh#kb#jwh=GCO90M~069WT7hnDtM24Su345C`v z+ZZH-<aRJ99AHq}%Ald8wS_@rCxaFv1ItbZJtl?&3?^F{%s`@MI~gn(8JMA>mRlLD z5uz})mRlKY5u&UJwe|>6HiW3-Mg|53CI)8)1_mVt4h9CsR}7qtuNfp6-!SMizGZM_ ze8&*Y_@1GV@dHCU<0}Ri1_lNm21bzk8C)6M7#J8B8Qd8>pnlV5U<Avtf_$(6ZZI22 zknszWW>&anPX;e6n$6HPf5)oXo52T*W@~iKzp!fd#j4pBUGrb8n*Fe9wnx*<#DG<^ zKUU3-=$e@^H48X0xHAMm{j3TP?QIN!Xqp)q!J0t{jhP`B91|f7q2R>I#K6oD#t^{* QDpw^LA{iJNqQLT!03p(s>i_@% literal 0 HcmV?d00001 diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/services/ParserGrammarAccess$FinalStateElements.class b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/services/ParserGrammarAccess$FinalStateElements.class new file mode 100644 index 0000000000000000000000000000000000000000..894003057e4f1d6132cc8564bbf399ec3f9c5f24 GIT binary patch literal 2785 zcmX^0Z`VEs1_nol40Z-4Mh5TV@)G^r{NfV*;*!LY)ZE16jLf`L{fd&*iW2?e)S|M? z<kVvQfW)HW)FSty#N6D(BFE(9)Z$_lx6Hi6oM4b9*PPVc)Vz{nb_Nzk2LJq`bp6!i zoXmn^G-LD~lZs1<5|c}y>fJK)Qc{alV4@H^f=Y8zQREpJSc*z>QW+WKd@xN$=&@#G zU`uu{$}cToWRS$75-erS$RM1IaJOS}NoIatya6MF6c!y2S!+fH-elLj6z|l^^8BKd zctb`8X)KDN($<U&g2{e~xv7rD#hK}Opiqf7!tQj03Ts9Nb+9HkPd`VW;1I_US3gHz z*O1hrTu=~$Lc}>SCnw$r<Wd<dmcvwl!k{E0vslG|k-^G`+=vC4Vw0JdSz^b?V5>pC zF`8kF3@pz1DXE+cj11yD41x?oTnx+%k~|E;3{s2?%o>_uTnsV{a_kJUj0_g!x|WAQ zo<V_;fh#?=1e!b<8Dupyv4j#-+M0twiIG9KxV%IUl<f78lf51|+3P`4l^!CYa51Pb zsIfDsGBU_wra`E=p(U9)JPhg#8jKA5X_<K`ph$7cF9Ib7Mh1TkJPz{7N-Rs%&q>Tn z*AFf!%FIi*#^!ujHUXJy&Ca03$RLC17KqD1N<e|G!^6PJz{bs>$)Lx>pwD2y$iSKE zoS#<$%BzeFs%W8<nwzGdoS&PUpQm41l9{9L>XTVqV$IE9#9+eCV9dy%h-@8J#XJnA z3}%cB%;~8mj0~b0o|;HL^H0i3O)jx!XRu&o5Jxr%9OU}o><MzS6%PYD0|z&QIfEWM zgDoS21g2U@#sn$0=V9Pv;9_TRWMq)UR0qwIAcf964BQMn><q40Lk*D?L2BK37<d`@ zxEWkPF7RSxkis+>6u_V?2~zIE!@$oVz{tSwlbM(5SDKrYS`?C)1S+tEeDaeMbHWmf zGC_Q(APXpiGBWs*ov*NzyVi^h?CGf`AXhOmD4<0vBzzGG!<vzS1DsjFMWr-W)!^8$ zW@HdePc1>@0!X-n3n8q!AoA9X4E*V-C8$Lv_8bX~AW*5Co>~IRDTtT=6`R<-f>2}4 z$e;<;NKDZwht<`fPy@xKH6w!(Rs|>-kBfnkA)bdJkRgbXfh#z_v?w{%EfW;k5|9vv z76y<iQV*1|85wvy^YT)QoO2S3i&Kl)8B!P-^f8kZw5r8kM=~<V!(0Ke2IOe8T2crR zQBav;Mg|VQ)Z!A4{NfS@MFvI&W(EcZb_O9(p}@evAOy;2V49PG3ruq}@PKJv20k#& z&mh3SARquLxfvK3I2afigc(E_7#Tzv7#PkmFf%YQFfepzX>Vl^)7s7;p{2czL0U+0 z2ZQnf2F<Mu+FDv$7_@gX=rS^}>|`)xVmQEHzLmieBx<>n!J3hQ87gYCmB9`n3RCN_ zmB9%i$_iEMvX#LNB<i-4!2@A}=T-*qjSLJ7ObosZ3=B#P91IK$FBmu(UNT5BykgL2 zc+KF-@P;9p;VnZU!#jp{h8GNe3=9lB42&T6Gx#$EFfcGMg5nhFH+=?1upBGM2OHo9 zvw;OaBWY%ZYYt`z!J^p`UGsOWnnM}FuxPeJ*Zd2s=5U4xESjCrHUGt`Ig%j?i)J@8 z&5R6KHAgeVVA1T2u9+EAvw$N*AVVxvvno8aw=u+_X=Y#qYX&7WW`+cCOe8WSffFYa Y12aQ1Ln;fX43=R?V_;-R2g}O<00eB}(EtDd literal 0 HcmV?d00001 diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/services/ParserGrammarAccess$GuardElements.class b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/services/ParserGrammarAccess$GuardElements.class new file mode 100644 index 0000000000000000000000000000000000000000..406bc8973bda1f93f2b995c46ec4a0eaa1c442d1 GIT binary patch literal 2517 zcmX^0Z`VEs1_nol1a<}{Mh3Uy@)G^r{NfV*;*!LY)ZE16jLf`L{fd&*iW2?e)S|M? z<kVvQfW)HW)FSty#N6D(BFE(9)Z$_l_tM0o6xW>8+|<01Vs-`=Mh5@<qICV#<ebcc zVl)%<9g~VniV~Acpz7T+^HNfaRA8bI<AX|bQc>g?8CZ%+b5a=@<a{tqM(D9-WME5n zFUl`1U}TWQq7p1+&B(x)40f_(a!F=>Uc3P#gA^9U5Ls(R29adv{JfIXyb{Oa;>`3s zkT2s6u{#B!!kUpm5vI>IxTGjEFCF1d=fs?xcteoIGFU7I`5vSK<eQR=%wiP-Mg}V% za$^T%icMx-W{DjmgRKVn#%P8yGO#%3r=)T+FfxepFz_=7a4|45i1RQAGDt8oFl%Ur zaWP0S$gnd=Gcs6^>slTLSq3>q2Cnqf5@;G@WRTU+#1cwSX=@G!1x5yq;_?zbP}<c) zPP=;Gw5taRcRg^Fb1^6}sIW6AGcw3xCM2klp(U9)JPfJ~YK#p0X_<K`p!jghFY-&w zO=V>8*TCZzpRB~PME#t^ymWm?lv`tSIV`P%%(Z4`&|qYc!E_76(I6$D@YdpCU}a$A zW>9C);bG8a&|_raOob-OVnzm4v;a!YP18@#&&|!x(=RQ_%+YuC$t*6h=4LQpFk)vg zWMoi8whpUe9tL9u6GjH+^wbhY22l-9O(dWBCuOB3msqnim@zVlBbx*cZGCVa1G(9P zhk>1egPXyWL5H2envp>QQ!ONmffU>FFmN((u`}3X4GcuK0;zT6Vc=%q;byP{8SKKy zAcbi#DBM6<2&CMNhk=)YkCB1jCo?bAuQWF)wJ0Pp2~?N}`Q#@j=7c2{WrFxnK^9P! zV`T6kJEx!)ht`Y??CGf`AO|rrD4<0YB*YL=ZOzEQ0Z#eg5=<JaYH;{kGcpK(6oLv~ zNFag>6Ra8_^45$DV(F<R&_sg>P*6#R-B}1V){G3w2)%epGdZjd0Qnsh8P<#pN>~-3 zWC$(>Muu=625$x*Mh33n{L-T2RJTk}Y)L@E37SbERgWGh!!a`Oc;@A$7CGl678j=$ zvopjnGU#Kb31}6Dy#iunkcYVfVhzaAXjKp|xCDU;7Bez%_@x$?c;pwCFeoxGGB7hR zFt9NQf$}K>1A`DK?SpAf1}-qo&A<buc^UW^7z6}B<tGCJ13LpFgCK(t10#bl0|Ubr z24)5(1_p*AE$yugB3j!S#I&@xF-Qu@?_f|oz@WaBK~qa>3xnoP25m+LmYodxObiDY zOt&(agG9}DGFUP)FhfPHwldftL}6;}wlX+?L>+cAI3d(JZ)I@Z$iTqB#Nf`rz#zxK z&cML9je(PKJA)+S4hDV3oeZvwyBMMwcQX_+Ze#FZU|`^3U<A36!IQy@fq{V$6j@Lo z=rb^a<yb-P+yFO}4J62T07)||T(d8O9~RB#=$emU)$Gp@fJL(ny5{3pH3u>TVbSb> zuK5&J&A|*ISTwt$Yd(vqS-_FOn;{gcSrr~&+Ze*oG&3-QHG@(FGeZP8Fe4eFz^RCd XftewiA(jPHz)3O0F)%X3gXN_FXf2*= literal 0 HcmV?d00001 diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/services/ParserGrammarAccess$InitialStateElements.class b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/services/ParserGrammarAccess$InitialStateElements.class new file mode 100644 index 0000000000000000000000000000000000000000..d3ad6e9cba16b388bf912ce9b7ca11c193c3125d GIT binary patch literal 2805 zcmX^0Z`VEs1_nol40Z-4Mh4&F@)G^r{NfV*;*!LY)ZE16jLf`L{fd&*iW2?e)S|M? z<kVvQfW)HW)FSty#N6D(BFE(9)Z$_l&%Df%%*32vkT%zx)ZEm(l45oS7DfjD{GxRI z)a0DZf?_m-^c|CmONtVcOQ7oAGV@YWi&S8u5L<#ub5c>{85vlLN^?>f8RUF0O-AUk zW@KPXb}z~=EnsAj#G(=`WzEPSnvCpn$K;aC{JeMrMg}P?dLXjaj12tA!6k`BCElr( z<@rS^@rH~H(pZ#3rL7qm1e5&|b5k9Qi!;;nKp_)vgx&cF71oRlnqW<yex4zojy}O5 zjv=moj=ruTsYSV&d5JloaB)t|$%!`txmE^?^)MBnkSNK>ELJgKWU%rfH-bT?*ktBq zme?^e*lLh(jAj@k1B-KhN-8G<BZD{(gCK(t7XvecBoBiygA^kJvxa6E7lRCg96N(7 zBZCFGuH|8nXHZ~d;7U&|fhJQ%23ZYFETIIIw&q|^Vr0-SE-%poC4W8S<gW)#{(6wK zrH7ncxENFz)YutR85v|T(<0R5(2~p?9tL#=4Mqn3w9LE|P_($^7l9H4BZI#N9w+%^ zC6*=X=OpH(>j#$<W#*+@WAgwkyMWBKW@pf1WRSsh3&iapC7@u};bCB9VB==cWYFVb z&}T4UWZ+D7&d)0W<yl4sRkUzQ%}vu!&d<%w&(kk0$;{Dr^~o$QvF2tlVlZK6FlJ;> zM79pAVjc!l1~Wzm=JeDOMg~z0PfaAB`6p$iCYM;VGgvS(h$EW>4s?BRHU+uaiid%n zfrFdDoI#JB!IqIh0#hv{dx8|(^DuBSaIrHuGBQYFs)OcBkV0o325tr(b_Q3hp@ztg zAhqs147?0{+zc)t7kDu;NMV``3SdyC1S$97Vc=&FU}WI;$;?ajE6q(xEec6Y0u@|B zKKaRsIbn%KnIJw?kOh=Q85#V^&RJMXU~5JO_Vm;ekh>Te6wo3T62ge2Va>?E0nRYs zLQ@*6YH)m5Gct&$r<Ne+1W4F}iz2N0Ao8H1Fg>*dz3{}IGojIB&B!2}o>~IRFNpX6 z6`<I?gHU75$e<0?NL(Q*ht=hvumi=ZH6w!(Rs|>-kc)wlA)bdJkRgbXfh#z_v?w{% zEfW;!5|D6)77CC`QxBBE85wvy^YT)QoO2S3i&Kl)8B!P-^f8kbwDQGXXEHL#!(0Ke z2IOe8T2ll$x}b8!j0_xpsl_E8`Nbs+iVTbl%nS?+><mJn;(>vIK?s!Pz%(ZV7ntT| z-~rRT418dkpFx0uK|lahiZd`Ua4;}32s4N<FfxcTFfg2BU}j)qU|{Ib(%#A-rnQ|x zLQ8uagS3$14hH1|44PXRw6(OhFlg^&&}C#`*~wtY#BhMYd@F+`NYrvCgEb=qGgQ=O zD}x<E6sFc;D}xh4lohJhWh;XlNYrg7g9pL{&#esJ8yOfFm>7H+7#NfoI2afhSs6GP z*%%}l*%|a1IT&0SIT@lExflu=xf$9SSsDBo7#MgM7(wo5@Mj2MU|?Vb#VXWq`V5R< zIaZJlHoy&L0|_z;AZccWYYt`z!J^p`U9$*Q&7lloSTx(AYZk|<Ih-K^i)JTu%~Du3 zM>0fV(d>q<Sr)72XoeUpn!V9AD`09CaAXK%h=poag@^VwhB!3M42)pSpoGTEkN}Q} eM1~}A;$&iAW=Lj8WdW7OG7M=9j11{uc^LrnYT)$% literal 0 HcmV?d00001 diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/services/ParserGrammarAccess$NormalStateElements.class b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/services/ParserGrammarAccess$NormalStateElements.class new file mode 100644 index 0000000000000000000000000000000000000000..f9d5d803f0e16d49bf1857525e1a4b5680955844 GIT binary patch literal 5100 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 S7Epgjn_&?HBg0~_yfy%xOt{$q literal 0 HcmV?d00001 diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/services/ParserGrammarAccess$StateElements.class b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/services/ParserGrammarAccess$StateElements.class new file mode 100644 index 0000000000000000000000000000000000000000..352fbc1a84084ab40a1a9276e56521d6294d7d1a GIT binary patch literal 2389 zcmX^0Z`VEs1_nolaCQbJMh3Uy@)G^r{NfV*;*!LY)ZE16jLf`L{fd&*iW2?e)S|M? z<kVvQfW)HW)FSty#N6D(BFE(9)Z${5V32y(oYdUZypm#e1{OvJ|NNqK{nX@~%z|Px z6Z9REic5+TlS`oL-7@o1Qj1hzq7dVQN^??C<QW-Qib``*85!h!Fil42v1Vl8O?J#F zNiE7tEXgcOEoNj;z@h<Jg*79CY_exwW=UpZ4%i<E)0`7?a^ejb8Dy{+0dgTo-kOm? zI@v8V54&bVMh2N=zx<+H?9xVz3~VJCnZ+swj0{#j<OaVrBLkaFW?p8A9V3IS2KmNl zhA}d*IOnINaxyS72=g%TGVpORFf)kqFz_>oF)}b~XohhyNH9pTGe|NrSdi;l9tLR! z8Ab-K^wbh)B4T8a)zHKe#87E#4hA_!294tK5<O7j)I(03df>#V2Z=I0aP)C8C@?6o zGbl1L$YQ1xsF9&1nK?WR$_y%u4E$-Cc`2aCbjvUDOUzAWWboI(;})N+#Ii*FoW#6z z{os<K%)E4KY%Yf-W{|no><ns*3^JH*fjAnZ1QgyHJPfQ1Y}^d03|c%4+6+3344kRX z`FSOv9L30>iWWerxoP^z`MJ6IdHSU#nK}BdKAFWO*4zww3<m5B`iu;U$kt(1%)?;F zV8qD4oSs_3$RMiWsfpw>|D>$c<PvLk1`|dGIb@T-p{<Xcdq7S%<6&TD;NWI3X3%11 zuw-PA!qfutB`CLmlw0#Ka58X#ShhS2+z^&M4+9Sa7b63|Pi9`KUukYqYEejH5-7h5 z`Q#@j=7c2{WrFxnK^9P^VPx<iJFTOZSk{aT?CGf`AV)GXD4+#3#LtMxvSwu9PfsmD z4g^L9C9Il|)mSq!$fu{4;4f(8uo?q$7bx&RB~^NA3BJNcE<LpbZ*haeq0k~3WRo=) z10#bU4}%MXD<cC}aDHh~a;jS<C@Lf%fdI`zkfL7?lph!wcs%p+Qj45(5{rvdi`f~1 z85#6369Kde!CnC{GRVVn4a6FdThOWiUT_A73KlamaQLMbmw4nCmoO+YFfuSRFfgz& z2!XN@0|SE)C{2QCP6jS8%?+h_K(v4WsCZ*wU|?rpWZ-8IU|?hrWME*}!obYH#K6E% zq@}%;K}c&mgNT;)HU@Da*&Ph>2N+bhGN@~5ZDCN~$)L%|z_OD;mx<v3gYi}dQ;?|X zP6l&E24<+J#a0F@geXj{#a0FzgeWUQt=&cj1_mYu2L=WPIR<tH28J94PKI0tNrpTI zeTIAnSB3(HXof<DLWUd$M+OE49tK8`D;b;^oEaDx7(tN*^?^PEBUp|V<jxInL)pNB zrAV4t;hNnT+_7jjMb}(`RkH_!Cl<|C=$fmsYWBja*#=#69ahcWST)<BYi`8UEa1rC z!r%jSwkkZpwlVmkYi0y%2BipQ27hp11~3GIQxg*dGeZzV2n(njlVAvCU}Ojb%S!+N DQCo98 literal 0 HcmV?d00001 diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/services/ParserGrammarAccess$StateMachineElements.class b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/services/ParserGrammarAccess$StateMachineElements.class new file mode 100644 index 0000000000000000000000000000000000000000..a53555b6a6653ae35211e9e63e5f092bb888628b GIT binary patch literal 4816 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 F0074juT1~| literal 0 HcmV?d00001 diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/services/ParserGrammarAccess$TransitionElements.class b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/services/ParserGrammarAccess$TransitionElements.class new file mode 100644 index 0000000000000000000000000000000000000000..3d6d71550f05c3e13de36f28a639aae8e0391f37 GIT binary patch literal 5510 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 literal 0 HcmV?d00001 diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/services/ParserGrammarAccess$TriggerElements.class b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/services/ParserGrammarAccess$TriggerElements.class new file mode 100644 index 0000000000000000000000000000000000000000..ed2c7da887d99bf1ab000d4fae4c333a52aca57a GIT binary patch literal 2545 zcmX^0Z`VEs1_nol1a<}{Mh1`K@)G^r{NfV*;*!LY)ZE16jLf`L{fd&*iW2?e)S|M? z<kVvQfW)HW)FSty#N6D(BFE(9)Z${5kfO}=^wc8PoYdUZypm#e1{OvJ|NNqK{nX@~ z%z|PxGxQykic5+TlS`oL-7@o1Qj1hzq7Vy$N^??C<QW-Qib``*85!h!Fil42v1Vjo zOLi~HFD+nXki?=AEM?8eAdn1ov}1BfW`1700V9JH7Ud9GYeoi<Was?6lGMBs$KvA5 z^gNJ1;|;Mp2BE^5kwFu#FS#VMEVHB%Y7D}~&WSlW@rED=$Y5~*C>%g4K>jMp$ShVd zU}UiJAvdN#rr2cWWtP}6GT3U6Z;WObBLj<beo87Q10#bd4+B4g02c!@gE$X^AcF)W z1G9!^7#D*SgA6-^G$Vrrxvu45kY$i#WZ+6qErF&tMh008O)Q}VmA2+!P+(-xDlRY4 z1Epg<<aDeDPRDwXaMy!IJ{N-$g9<x?G9!a5W}<=`8d{Q>!^5D;pvK6+pO%@I0*Vp0 z{35@^+*C#ee+@jY@ySXoOVrOv%uCk~E-A{)OSi`6c38RxnQP6?puxx>gXtECvq4Hg zA+E*4z{<eJ&7jVp!^5D<pvTC-nF>u;#f%K9XhD>ko2H+fpPQSXr(ar<nWOLOlUZD1 z&COuIV8qT~$jG3GY#mm`JPgJRCX5Ws>8T}*45AvInn*tLPs&P7F0p23Fk@s8M>Yu@ z-umGD26D3n4+A>`2RDN$gAO}`H6w!rrdmj511YxUVc=xoVrQ_&8W@NS22$(D!@$kJ z!_8m^GT4QYK?>7gP`H6I5lFck4+Ad)A0q?5Pi9`KUukYqYEejH5~yGi^2tw5%n3^@ z$^`MDf-Im+$H?GCc3wd*9IY7{*wa%>Ku%(0P(X_+NSGla+nSMq1DyK7<(V{A)!-1e zW@HdbPc4BaYe+zXixjL{AoA9X3}Wf2CD4R}2vktHhTUNZHP(y_+DLi{mu+%b9Rdmk zP{dd>GALnHfRZ`57#JDCc^JGId>9$Hg7Zs@l2hF>K`|!*2{CAfg;Yv<pv=d}z~h;h zms;eUlUQ7wTFlN6!^ohInLePE8}^EckwG5j3WzlzN266u{Lp}h3KugnaQLMbmw4nC zmoO+YFfuSRFfgz&2!V1f0|SE)C?|kvP6jS8&CS3Arg<6o7#IWuK;<a|0|Pq)BZDA= z5CbEFFara_76xVpCI$wEA}#H$3?f?F8N{@-w=qZx$?srLJiws7l|fTWYYT(sP6lm8 z29})+`b-Q57)-Y^n1e*kcQRNqGB86$t+q1QAVgtm?Y1&FfJ7a3GB_dBI&Wog-N?Ye zz{KFrz`!8Kz|O$HIG2HwaUO#t<9r5v#sv(nj0+i}85c1WGR|f2U|?Y2VPFKglEIU~ zi-CcG5foieALuhMg5_92?%V)3lno@vxEx6{D_pZLgC7>n=IEMNW7X`>5P(Iq4Z7xa zSTzSS1YyzafUbEXR?Wc-Ay_oKqHErQsae30!J8ozs#z5tVA~kN&@?kJf;EFu1T#Yf gI4~m_qQI$$iGi6Rnjw}2RNP51#4#{3#DnFf0PuLJc>n+a literal 0 HcmV?d00001 diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/services/ParserGrammarAccess.class b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/services/ParserGrammarAccess.class new file mode 100644 index 0000000000000000000000000000000000000000..05fdd0868ca009133d3b7d3a1318ddea73dc4d83 GIT binary patch literal 9430 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 literal 0 HcmV?d00001 diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/validation/AbstractParserValidator.class b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/validation/AbstractParserValidator.class new file mode 100644 index 0000000000000000000000000000000000000000..87befb6f2fe9bb6e3459ecd8e022652e63003331 GIT binary patch literal 1148 zcmX^0Z`VEs1_nn4Lv{uxMh3g$@)G^r{NfV*;*!LY)ZE16jLf`L{fd&*iW2>@#GK5O z#FEVXJblNc;*z4o<dT5IqT<w|Fo;Bc5jz75BZFmrQM!I=a!zJJF&>>RsmVEsMTsSu zWvOuOj0|ixnR%Hdc8m<n8k%8@3@pz1DXClx%nY1746F=nj12rfnR%&xrMXF|MInhv zIjM{cLO%J)i8*13MVTNzRFI`4BeR&1!NG?z?^rW3@T8}fxCSI9XD6no7BeykX=wUn zC6*=XmzHGa==)?Amsm40a0X|l=Ovbu7Ns&Wm|!Td@j(uc)Z8@v)a3l4RDGDK)^^tH z48n{I!U%I6i;5B}L56cN2r+PSGKeuqurr7=GN|J>NhK&XJ+ru^sFH_4l0k}*fy2`; zIK<J<*_Dw&lYk@OTCF)4WEdG#GD=Dctn~HE%ggnO%S-e?_F|+8ZU!+1IUWXi1_ee2 zZlquW1p*|HauV~>^@B@_GV{`{3Aw<Un?Z>|g`Gi}k%12p5}-ifVNhjIV`N}XOi5v6 z5Y<33+CM2PHMzuEGm4Rctthp)G^d1-K>#9;96w^HNu;tM6`D+p(9{wURg4T=!TF^{ z$*FFcpwuUWBO~a6yuir7<C&M2TI8IQSX`W1%+8?C$RGy_N?7K=Obm<+9I!}aQDk6b zU}gXTCI&`O@@HUVU}s=p&}U#|U}RumVAa~rz_F2mfq{vEi-CcG4J^pbz|FwGzyoHp zGVn0)GB7Z(Fz_+(GcYj-fYl0u4asC+W?*7qV36L;AQZWsLBvOU6N9Lb^iBp@CWf61 zicAdQ+8Y=c7?{CE^MT#L&%nVTz#z#W2)05Dq8(}l2ZJz!I)erSBZDT?dWeV?10w?y ZgErV=9R^(n1_mw$Mg}nkJq80dP5^2jF;D;i literal 0 HcmV?d00001 diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/validation/ParserConfigurableIssueCodesProvider.class b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/validation/ParserConfigurableIssueCodesProvider.class new file mode 100644 index 0000000000000000000000000000000000000000..817e33d0e485af9e3dac757a7f18dcf95e7a7aee GIT binary patch literal 1344 zcmX^0Z`VEs1_nn419k=`Mh5TV@)G^r{NfV*;*!LY)ZE16jLf`L{fd&*iW2>@#GK5O z#FEVXJpF*gqT<vd=ls01%=FTt#H5^5&*I|JROkGZ)Z&1m{IblH)FO5U7Dfi^{GxRI z)a0DZf?_Pj;5UGgLC`ZeIMg-X+26%AJ|M`|%`<|LLC7a7u`E$PCowNwKe(hQGcVnm zk%8AaKd-nXF|Q;nF{d<@gMpKgL8iF8L=WT@J!G%wfxV)~$RO(C8W7~_>=@$e67TEp z;_4G0;20Fb!N9}FppQ>yN@_t-YI0&pYKm`uN@`9(Vo?br1Dj1|US^3MBLlOBW*8#_ z3n(187?>FZc^G&Z_!t@ZeKPY>{YrC_Qj0=Bfd%qKesW??SYlBohz}KHDaptzW@Pa7 zp<*mpGcs_29G97xlUbF@$e^m>gBc~IC7C(;o{q`MsRbqZMb;oca0X|l=Ovbu7Ns&W zgb>zagT>T>qSUn1qSU<P)MEVrINLk5(%Q~iGYk|y(mV`e4C3qzvWyIRn65%fZ^5Z$ zsYRJ3mCpHjWvN9asYM(N@{A1Z<%vaknR)4442%qlJPb+<%8U$b$wjG&C8>-I!5Wwe z1ye+mBzJQ&s4}RtGpI2#C}27lH4u3iG#E4)8Q2oRfy&4ritHT!q^#8B5^y+kKosN` zF)}D&aSN)U){G2dJ}3#NvLF?jcmfIPCN+*28MuP;ON)|I-7<4h85uN*$@F@l%*mk0 zz{tSNz`(%7Aj81Qz{bGHzz*hdFi0|RA@R8xm>3vAS%iU+fuDhaL7#z<fsuiMfmLfe zgTO|x79j=(um%POZU$in1_mC80tOKVQ3eJE7Et<OU}BH}tCa*BlElEmz{J47Aflzc zok2=lONd)YZX1KbP6ibw29TM|3?MW4zz!5*U}X?y5M~eon=J;>2Q{04L4-kzL7Rb* RK?iOxNJJOxNIkHP`T!VPeWU;Y literal 0 HcmV?d00001 diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/validation/ParserValidator.class b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/bin/swt/most/statemachine/xtext/validation/ParserValidator.class new file mode 100644 index 0000000000000000000000000000000000000000..4df50401a641c2cc68b1c5906038c0337f8a7425 GIT binary patch literal 1433 zcmX^0Z`VEs1_nn48+HaJMh3Iu@)G^r{NfV*;*!LY)ZE16jLf`L{fd&*iW2>@#GK5O z#FEVXJpF*gqT<w|Fo-~Y5jz75BZD20dL5IBONtVcOVG?<WMH$&%*!mXV`N~~&<tZ_ zU~$e*N#$Z-X5i#uU}a!qWZ?J7%uDqv%}q)z3Q0`LNo8aZ^2tw5%n3^@$^`MDf-EH& znZ=9@7CuC}2hAPUj0_sd8L7$HAw`LK#hD=QhG&*!c;=Pm=ai+U1Q(<xXC~$ZgMz1+ zkwH}hhcyV@)*#PF29@TOWag%ZWfo^9<)k|1<>i-vgR+>BLB%J(C|y4_IVZEA7)w|? zgB)Yc$iP~bm{Xd{$e=-l@{r1cRBJ{C7B|P>5N-xB1_^csaYhCO>>+}1Di4DsgA^kJ zdwOb#TTy;4BZIt#CJz6B1HhV{K?bL>Zkc(|aN=N)V`R{ER49Rms6ujLo<d%Ji9&Hn zVo`}gT2X$kLZU(%NC!x$B$bmvfkBC#L6MQc2)m=f_CwQWKw@%sVtT5IPi9GKQDROp z4}&s;3L}F+NRXpnuxE&;zh8X3TadpmBZCr3*rn#C>8B>=7p3aE2BoH@7NzDTr&@C{ zFfyp|FsL(VFfy>F78T_eF*4X|_+%xPCF<uS=B4WgmlS2@rCZ}NDY&GlG`Xa-C^5$^ zHL;|$DAigs3={=gJPg{Pz-3KOEeXkIXV7J2P{Qst&%DeMSQ6u4&}U@O!5Va_c_|8+ zc?yYn3ZQJ0nV5qJIYS->BTxwNA%{SSKO+MdA__o(f!%&Yda!0>;0-QGOwRUAEP&=N zuHgLAqU2P!Oi=z4LCZUOpip9D;PK4MOD%HFNh~f-EoNu1Vr0<7ZWESBWMtrgMI(bE z10w@70|+oNFoMbe21W*U1_lOw21W)(1_lOJt?djP8yOfFm>9Si7#P^Vg2D{k3=9lB zU^XiQ4+Ad)0|O%i9|J!F6N3N)0|PGuBZD9VBZE*XgD`^#*t|*xW(Fn(1_o{IoeZLk z3<nvcXEN|;3CV6^kl)6js=bpz6C|hu7S!9sV6crr6=W+j*j6zHRt5$JX$Bq!83s`X zIR-@rc?K;8MX)QxAjU#n!N8!+V9a2`z{p_Az`(%5z$7Zdz{Fq%cE34;1p@;EDD5dQ KSTb0%aRLBUJd+dv literal 0 HcmV?d00001 diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/build.properties b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/build.properties new file mode 100644 index 0000000..c24ff36 --- /dev/null +++ b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/build.properties @@ -0,0 +1,17 @@ +source.. = src/,\ + src-gen/,\ + xtend-gen/ +bin.includes = .,\ + META-INF/ +bin.excludes = **/*.mwe2,\ + **/*.xtend +additional.bundles = org.eclipse.xtext.xbase,\ + org.eclipse.xtext.common.types,\ + org.eclipse.xtext.xtext.generator,\ + org.eclipse.emf.codegen.ecore,\ + org.eclipse.emf.mwe.utils,\ + org.eclipse.emf.mwe2.launch,\ + org.eclipse.emf.mwe2.lib,\ + org.objectweb.asm,\ + org.apache.commons.logging,\ + org.apache.log4j diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/src-gen/swt/most/statemachine/xtext/AbstractParserRuntimeModule.java b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/src-gen/swt/most/statemachine/xtext/AbstractParserRuntimeModule.java new file mode 100644 index 0000000..4395d82 --- /dev/null +++ b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/src-gen/swt/most/statemachine/xtext/AbstractParserRuntimeModule.java @@ -0,0 +1,223 @@ +/* + * generated by Xtext 2.35.0 + */ +package swt.most.statemachine.xtext; + +import com.google.inject.Binder; +import com.google.inject.Provider; +import com.google.inject.name.Names; +import java.util.Properties; +import org.eclipse.xtext.Constants; +import org.eclipse.xtext.IGrammarAccess; +import org.eclipse.xtext.common.services.Ecore2XtextTerminalConverters; +import org.eclipse.xtext.conversion.IValueConverterService; +import org.eclipse.xtext.formatting2.FormatterPreferenceValuesProvider; +import org.eclipse.xtext.formatting2.FormatterPreferences; +import org.eclipse.xtext.formatting2.IFormatter2; +import org.eclipse.xtext.generator.IGenerator2; +import org.eclipse.xtext.naming.DefaultDeclarativeQualifiedNameProvider; +import org.eclipse.xtext.naming.IQualifiedNameProvider; +import org.eclipse.xtext.parser.IParser; +import org.eclipse.xtext.parser.ITokenToStringConverter; +import org.eclipse.xtext.parser.antlr.AntlrTokenDefProvider; +import org.eclipse.xtext.parser.antlr.AntlrTokenToStringConverter; +import org.eclipse.xtext.parser.antlr.IAntlrTokenFileProvider; +import org.eclipse.xtext.parser.antlr.ITokenDefProvider; +import org.eclipse.xtext.parser.antlr.Lexer; +import org.eclipse.xtext.parser.antlr.LexerBindings; +import org.eclipse.xtext.parser.antlr.LexerProvider; +import org.eclipse.xtext.preferences.IPreferenceValuesProvider; +import org.eclipse.xtext.resource.IContainer; +import org.eclipse.xtext.resource.IResourceDescriptions; +import org.eclipse.xtext.resource.containers.IAllContainersState; +import org.eclipse.xtext.resource.containers.ResourceSetBasedAllContainersStateProvider; +import org.eclipse.xtext.resource.containers.StateBasedContainerManager; +import org.eclipse.xtext.resource.impl.ResourceDescriptionsProvider; +import org.eclipse.xtext.resource.impl.ResourceSetBasedResourceDescriptions; +import org.eclipse.xtext.scoping.IGlobalScopeProvider; +import org.eclipse.xtext.scoping.IScopeProvider; +import org.eclipse.xtext.scoping.IgnoreCaseLinking; +import org.eclipse.xtext.scoping.impl.AbstractDeclarativeScopeProvider; +import org.eclipse.xtext.scoping.impl.DefaultGlobalScopeProvider; +import org.eclipse.xtext.scoping.impl.ImportedNamespaceAwareLocalScopeProvider; +import org.eclipse.xtext.serializer.ISerializer; +import org.eclipse.xtext.serializer.impl.Serializer; +import org.eclipse.xtext.serializer.sequencer.ISemanticSequencer; +import org.eclipse.xtext.serializer.sequencer.ISyntacticSequencer; +import org.eclipse.xtext.service.DefaultRuntimeModule; +import org.eclipse.xtext.service.SingletonBinding; +import org.eclipse.xtext.validation.ConfigurableIssueCodesProvider; +import swt.most.statemachine.xtext.formatting2.ParserFormatter; +import swt.most.statemachine.xtext.generator.ParserGenerator; +import swt.most.statemachine.xtext.parser.antlr.ParserAntlrTokenFileProvider; +import swt.most.statemachine.xtext.parser.antlr.ParserParser; +import swt.most.statemachine.xtext.parser.antlr.internal.InternalParserLexer; +import swt.most.statemachine.xtext.scoping.ParserScopeProvider; +import swt.most.statemachine.xtext.serializer.ParserSemanticSequencer; +import swt.most.statemachine.xtext.serializer.ParserSyntacticSequencer; +import swt.most.statemachine.xtext.services.ParserGrammarAccess; +import swt.most.statemachine.xtext.validation.ParserConfigurableIssueCodesProvider; +import swt.most.statemachine.xtext.validation.ParserValidator; + +/** + * Manual modifications go to {@link ParserRuntimeModule}. + */ +@SuppressWarnings("all") +public abstract class AbstractParserRuntimeModule extends DefaultRuntimeModule { + + protected Properties properties = null; + + @Override + public void configure(Binder binder) { + properties = tryBindProperties(binder, "swt/most/statemachine/xtext/Parser.properties"); + super.configure(binder); + } + + public void configureLanguageName(Binder binder) { + binder.bind(String.class).annotatedWith(Names.named(Constants.LANGUAGE_NAME)).toInstance("swt.most.statemachine.xtext.Parser"); + } + + public void configureFileExtensions(Binder binder) { + if (properties == null || properties.getProperty(Constants.FILE_EXTENSIONS) == null) + binder.bind(String.class).annotatedWith(Names.named(Constants.FILE_EXTENSIONS)).toInstance("statemachine"); + } + + // contributed by org.eclipse.xtext.xtext.generator.grammarAccess.GrammarAccessFragment2 + public ClassLoader bindClassLoaderToInstance() { + return getClass().getClassLoader(); + } + + // contributed by org.eclipse.xtext.xtext.generator.grammarAccess.GrammarAccessFragment2 + public Class<? extends IGrammarAccess> bindIGrammarAccess() { + return ParserGrammarAccess.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.serializer.SerializerFragment2 + public Class<? extends ISemanticSequencer> bindISemanticSequencer() { + return ParserSemanticSequencer.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.serializer.SerializerFragment2 + public Class<? extends ISyntacticSequencer> bindISyntacticSequencer() { + return ParserSyntacticSequencer.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.serializer.SerializerFragment2 + public Class<? extends ISerializer> bindISerializer() { + return Serializer.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2 + public Class<? extends IParser> bindIParser() { + return ParserParser.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2 + public Class<? extends ITokenToStringConverter> bindITokenToStringConverter() { + return AntlrTokenToStringConverter.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2 + public Class<? extends IAntlrTokenFileProvider> bindIAntlrTokenFileProvider() { + return ParserAntlrTokenFileProvider.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2 + public Class<? extends Lexer> bindLexer() { + return InternalParserLexer.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2 + public Class<? extends ITokenDefProvider> bindITokenDefProvider() { + return AntlrTokenDefProvider.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2 + public Provider<? extends InternalParserLexer> provideInternalParserLexer() { + return LexerProvider.create(InternalParserLexer.class); + } + + // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2 + public void configureRuntimeLexer(Binder binder) { + binder.bind(Lexer.class) + .annotatedWith(Names.named(LexerBindings.RUNTIME)) + .to(InternalParserLexer.class); + } + + // contributed by org.eclipse.xtext.xtext.generator.validation.ValidatorFragment2 + @SingletonBinding(eager=true) + public Class<? extends ParserValidator> bindParserValidator() { + return ParserValidator.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.validation.ValidatorFragment2 + public Class<? extends ConfigurableIssueCodesProvider> bindConfigurableIssueCodesProvider() { + return ParserConfigurableIssueCodesProvider.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.scoping.ImportNamespacesScopingFragment2 + public Class<? extends IScopeProvider> bindIScopeProvider() { + return ParserScopeProvider.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.scoping.ImportNamespacesScopingFragment2 + public void configureIScopeProviderDelegate(Binder binder) { + binder.bind(IScopeProvider.class).annotatedWith(Names.named(AbstractDeclarativeScopeProvider.NAMED_DELEGATE)).to(ImportedNamespaceAwareLocalScopeProvider.class); + } + + // contributed by org.eclipse.xtext.xtext.generator.scoping.ImportNamespacesScopingFragment2 + public Class<? extends IGlobalScopeProvider> bindIGlobalScopeProvider() { + return DefaultGlobalScopeProvider.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.scoping.ImportNamespacesScopingFragment2 + public void configureIgnoreCaseLinking(Binder binder) { + binder.bindConstant().annotatedWith(IgnoreCaseLinking.class).to(false); + } + + // contributed by org.eclipse.xtext.xtext.generator.exporting.QualifiedNamesFragment2 + public Class<? extends IQualifiedNameProvider> bindIQualifiedNameProvider() { + return DefaultDeclarativeQualifiedNameProvider.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.builder.BuilderIntegrationFragment2 + public Class<? extends IContainer.Manager> bindIContainer$Manager() { + return StateBasedContainerManager.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.builder.BuilderIntegrationFragment2 + public Class<? extends IAllContainersState.Provider> bindIAllContainersState$Provider() { + return ResourceSetBasedAllContainersStateProvider.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.builder.BuilderIntegrationFragment2 + public void configureIResourceDescriptions(Binder binder) { + binder.bind(IResourceDescriptions.class).to(ResourceSetBasedResourceDescriptions.class); + } + + // contributed by org.eclipse.xtext.xtext.generator.builder.BuilderIntegrationFragment2 + public void configureIResourceDescriptionsPersisted(Binder binder) { + binder.bind(IResourceDescriptions.class).annotatedWith(Names.named(ResourceDescriptionsProvider.PERSISTED_DESCRIPTIONS)).to(ResourceSetBasedResourceDescriptions.class); + } + + // contributed by org.eclipse.xtext.xtext.generator.generator.GeneratorFragment2 + public Class<? extends IGenerator2> bindIGenerator2() { + return ParserGenerator.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.formatting.Formatter2Fragment2 + public Class<? extends IFormatter2> bindIFormatter2() { + return ParserFormatter.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.formatting.Formatter2Fragment2 + public void configureFormatterPreferences(Binder binder) { + binder.bind(IPreferenceValuesProvider.class).annotatedWith(FormatterPreferences.class).to(FormatterPreferenceValuesProvider.class); + } + + // contributed by org.eclipse.xtext.xtext.generator.ecore2xtext.Ecore2XtextValueConverterServiceFragment2 + public Class<? extends IValueConverterService> bindIValueConverterService() { + return Ecore2XtextTerminalConverters.class; + } + +} diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/src-gen/swt/most/statemachine/xtext/Parser.xtextbin b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/src-gen/swt/most/statemachine/xtext/Parser.xtextbin new file mode 100644 index 0000000000000000000000000000000000000000..7a3e87b4495999e72102f69e83439a53eef5535d GIT binary patch literal 3257 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 SI%GN&IV^Bk=8(+D#0UTpi^{J6 literal 0 HcmV?d00001 diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/src-gen/swt/most/statemachine/xtext/ParserStandaloneSetupGenerated.java b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/src-gen/swt/most/statemachine/xtext/ParserStandaloneSetupGenerated.java new file mode 100644 index 0000000..75cca3d --- /dev/null +++ b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/src-gen/swt/most/statemachine/xtext/ParserStandaloneSetupGenerated.java @@ -0,0 +1,37 @@ +/* + * generated by Xtext 2.35.0 + */ +package swt.most.statemachine.xtext; + +import com.google.inject.Guice; +import com.google.inject.Injector; +import org.eclipse.emf.ecore.resource.Resource; +import org.eclipse.xtext.ISetup; +import org.eclipse.xtext.common.TerminalsStandaloneSetup; +import org.eclipse.xtext.resource.IResourceFactory; +import org.eclipse.xtext.resource.IResourceServiceProvider; + +@SuppressWarnings("all") +public class ParserStandaloneSetupGenerated implements ISetup { + + @Override + public Injector createInjectorAndDoEMFRegistration() { + TerminalsStandaloneSetup.doSetup(); + + Injector injector = createInjector(); + register(injector); + return injector; + } + + public Injector createInjector() { + return Guice.createInjector(new ParserRuntimeModule()); + } + + public void register(Injector injector) { + IResourceFactory resourceFactory = injector.getInstance(IResourceFactory.class); + IResourceServiceProvider serviceProvider = injector.getInstance(IResourceServiceProvider.class); + + Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap().put("statemachine", resourceFactory); + IResourceServiceProvider.Registry.INSTANCE.getExtensionToFactoryMap().put("statemachine", serviceProvider); + } +} diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/src-gen/swt/most/statemachine/xtext/parser/antlr/ParserAntlrTokenFileProvider.java b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/src-gen/swt/most/statemachine/xtext/parser/antlr/ParserAntlrTokenFileProvider.java new file mode 100644 index 0000000..ae2ccc6 --- /dev/null +++ b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/src-gen/swt/most/statemachine/xtext/parser/antlr/ParserAntlrTokenFileProvider.java @@ -0,0 +1,16 @@ +/* + * generated by Xtext 2.35.0 + */ +package swt.most.statemachine.xtext.parser.antlr; + +import java.io.InputStream; +import org.eclipse.xtext.parser.antlr.IAntlrTokenFileProvider; + +public class ParserAntlrTokenFileProvider implements IAntlrTokenFileProvider { + + @Override + public InputStream getAntlrTokenFile() { + ClassLoader classLoader = getClass().getClassLoader(); + return classLoader.getResourceAsStream("swt/most/statemachine/xtext/parser/antlr/internal/InternalParser.tokens"); + } +} diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/src-gen/swt/most/statemachine/xtext/parser/antlr/ParserParser.java b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/src-gen/swt/most/statemachine/xtext/parser/antlr/ParserParser.java new file mode 100644 index 0000000..2053137 --- /dev/null +++ b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/src-gen/swt/most/statemachine/xtext/parser/antlr/ParserParser.java @@ -0,0 +1,40 @@ +/* + * generated by Xtext 2.35.0 + */ +package swt.most.statemachine.xtext.parser.antlr; + +import com.google.inject.Inject; +import org.eclipse.xtext.parser.antlr.AbstractAntlrParser; +import org.eclipse.xtext.parser.antlr.XtextTokenStream; +import swt.most.statemachine.xtext.parser.antlr.internal.InternalParserParser; +import swt.most.statemachine.xtext.services.ParserGrammarAccess; + +public class ParserParser extends AbstractAntlrParser { + + @Inject + private ParserGrammarAccess grammarAccess; + + @Override + protected void setInitialHiddenTokens(XtextTokenStream tokenStream) { + tokenStream.setInitialHiddenTokens("RULE_WS", "RULE_ML_COMMENT", "RULE_SL_COMMENT"); + } + + + @Override + protected InternalParserParser createParser(XtextTokenStream stream) { + return new InternalParserParser(stream, getGrammarAccess()); + } + + @Override + protected String getDefaultRuleName() { + return "StateMachine"; + } + + public ParserGrammarAccess getGrammarAccess() { + return this.grammarAccess; + } + + public void setGrammarAccess(ParserGrammarAccess grammarAccess) { + this.grammarAccess = grammarAccess; + } +} diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/src-gen/swt/most/statemachine/xtext/parser/antlr/internal/InternalParser.g b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/src-gen/swt/most/statemachine/xtext/parser/antlr/internal/InternalParser.g new file mode 100644 index 0000000..8ffd3dd --- /dev/null +++ b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/src-gen/swt/most/statemachine/xtext/parser/antlr/internal/InternalParser.g @@ -0,0 +1,814 @@ +/* + * generated by Xtext 2.35.0 + */ +grammar InternalParser; + +options { + superClass=AbstractInternalAntlrParser; +} + +@lexer::header { +package swt.most.statemachine.xtext.parser.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.parser.antlr.Lexer; +} + +@parser::header { +package swt.most.statemachine.xtext.parser.antlr.internal; + +import org.eclipse.xtext.*; +import org.eclipse.xtext.parser.*; +import org.eclipse.xtext.parser.impl.*; +import org.eclipse.emf.ecore.util.EcoreUtil; +import org.eclipse.emf.ecore.EObject; +import org.eclipse.xtext.parser.antlr.AbstractInternalAntlrParser; +import org.eclipse.xtext.parser.antlr.XtextTokenStream; +import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens; +import org.eclipse.xtext.parser.antlr.AntlrDatatypeRuleToken; +import swt.most.statemachine.xtext.services.ParserGrammarAccess; + +} + +@parser::members { + + private ParserGrammarAccess grammarAccess; + + public InternalParserParser(TokenStream input, ParserGrammarAccess grammarAccess) { + this(input); + this.grammarAccess = grammarAccess; + registerRules(grammarAccess.getGrammar()); + } + + @Override + protected String getFirstRuleName() { + return "StateMachine"; + } + + @Override + protected ParserGrammarAccess getGrammarAccess() { + return grammarAccess; + } + +} + +@rulecatch { + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } +} + +// Entry rule entryRuleStateMachine +entryRuleStateMachine returns [EObject current=null]: + { newCompositeNode(grammarAccess.getStateMachineRule()); } + iv_ruleStateMachine=ruleStateMachine + { $current=$iv_ruleStateMachine.current; } + EOF; + +// Rule StateMachine +ruleStateMachine returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getStateMachineAccess().getStateMachineAction_0(), + $current); + } + ) + otherlv_1='StateMachine' + { + newLeafNode(otherlv_1, grammarAccess.getStateMachineAccess().getStateMachineKeyword_1()); + } + ( + ( + { + newCompositeNode(grammarAccess.getStateMachineAccess().getNameEStringParserRuleCall_2_0()); + } + lv_name_2_0=ruleEString + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getStateMachineRule()); + } + set( + $current, + "name", + lv_name_2_0, + "swt.most.statemachine.xtext.Parser.EString"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_3='{' + { + newLeafNode(otherlv_3, grammarAccess.getStateMachineAccess().getLeftCurlyBracketKeyword_3()); + } + ( + ( + { + newCompositeNode(grammarAccess.getStateMachineAccess().getInitialstateInitialStateParserRuleCall_4_0()); + } + lv_initialstate_4_0=ruleInitialState + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getStateMachineRule()); + } + set( + $current, + "initialstate", + lv_initialstate_4_0, + "swt.most.statemachine.xtext.Parser.InitialState"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + ( + ( + { + newCompositeNode(grammarAccess.getStateMachineAccess().getStatesNormalStateParserRuleCall_5_0_0()); + } + lv_states_5_0=ruleNormalState + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getStateMachineRule()); + } + add( + $current, + "states", + lv_states_5_0, + "swt.most.statemachine.xtext.Parser.NormalState"); + afterParserOrEnumRuleCall(); + } + ) + ) + | + ( + ( + { + newCompositeNode(grammarAccess.getStateMachineAccess().getFinalstatesFinalStateParserRuleCall_5_1_0()); + } + lv_finalstates_6_0=ruleFinalState + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getStateMachineRule()); + } + add( + $current, + "finalstates", + lv_finalstates_6_0, + "swt.most.statemachine.xtext.Parser.FinalState"); + afterParserOrEnumRuleCall(); + } + ) + ) + | + ( + ( + { + newCompositeNode(grammarAccess.getStateMachineAccess().getTransitionsTransitionParserRuleCall_5_2_0()); + } + lv_transitions_7_0=ruleTransition + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getStateMachineRule()); + } + add( + $current, + "transitions", + lv_transitions_7_0, + "swt.most.statemachine.xtext.Parser.Transition"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + otherlv_8='}' + { + newLeafNode(otherlv_8, grammarAccess.getStateMachineAccess().getRightCurlyBracketKeyword_6()); + } + ) +; + +// Entry rule entryRuleNormalState +entryRuleNormalState returns [EObject current=null]: + { newCompositeNode(grammarAccess.getNormalStateRule()); } + iv_ruleNormalState=ruleNormalState + { $current=$iv_ruleNormalState.current; } + EOF; + +// Rule NormalState +ruleNormalState returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getNormalStateAccess().getNormalStateAction_0(), + $current); + } + ) + otherlv_1='state' + { + newLeafNode(otherlv_1, grammarAccess.getNormalStateAccess().getStateKeyword_1()); + } + ( + ( + { + newCompositeNode(grammarAccess.getNormalStateAccess().getNameEStringParserRuleCall_2_0()); + } + lv_name_2_0=ruleEString + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getNormalStateRule()); + } + set( + $current, + "name", + lv_name_2_0, + "swt.most.statemachine.xtext.Parser.EString"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_3='{' + { + newLeafNode(otherlv_3, grammarAccess.getNormalStateAccess().getLeftCurlyBracketKeyword_3_0()); + } + ( + otherlv_4='entry:' + { + newLeafNode(otherlv_4, grammarAccess.getNormalStateAccess().getEntryKeyword_3_1_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getNormalStateAccess().getEntry_ActionParserRuleCall_3_1_1_0()); + } + lv_entry__5_0=ruleAction + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getNormalStateRule()); + } + set( + $current, + "entry_", + lv_entry__5_0, + "swt.most.statemachine.xtext.Parser.Action"); + afterParserOrEnumRuleCall(); + } + ) + ) + )? + ( + otherlv_6='do:' + { + newLeafNode(otherlv_6, grammarAccess.getNormalStateAccess().getDoKeyword_3_2_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getNormalStateAccess().getDo_ActionParserRuleCall_3_2_1_0()); + } + lv_do__7_0=ruleAction + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getNormalStateRule()); + } + set( + $current, + "do_", + lv_do__7_0, + "swt.most.statemachine.xtext.Parser.Action"); + afterParserOrEnumRuleCall(); + } + ) + ) + )? + ( + otherlv_8='exit:' + { + newLeafNode(otherlv_8, grammarAccess.getNormalStateAccess().getExitKeyword_3_3_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getNormalStateAccess().getExit_ActionParserRuleCall_3_3_1_0()); + } + lv_exit__9_0=ruleAction + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getNormalStateRule()); + } + set( + $current, + "exit_", + lv_exit__9_0, + "swt.most.statemachine.xtext.Parser.Action"); + afterParserOrEnumRuleCall(); + } + ) + ) + )? + otherlv_10='}' + { + newLeafNode(otherlv_10, grammarAccess.getNormalStateAccess().getRightCurlyBracketKeyword_3_4()); + } + )? + ) +; + +// Entry rule entryRuleFinalState +entryRuleFinalState returns [EObject current=null]: + { newCompositeNode(grammarAccess.getFinalStateRule()); } + iv_ruleFinalState=ruleFinalState + { $current=$iv_ruleFinalState.current; } + EOF; + +// Rule FinalState +ruleFinalState returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getFinalStateAccess().getFinalStateAction_0(), + $current); + } + ) + otherlv_1='end' + { + newLeafNode(otherlv_1, grammarAccess.getFinalStateAccess().getEndKeyword_1()); + } + ( + ( + lv_name_2_0=RULE_FINALSTATENAME + { + newLeafNode(lv_name_2_0, grammarAccess.getFinalStateAccess().getNameFINALSTATENAMETerminalRuleCall_2_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getFinalStateRule()); + } + setWithLastConsumed( + $current, + "name", + lv_name_2_0, + "swt.most.statemachine.xtext.Parser.FINALSTATENAME"); + } + ) + ) + ) +; + +// Entry rule entryRuleInitialState +entryRuleInitialState returns [EObject current=null]: + { newCompositeNode(grammarAccess.getInitialStateRule()); } + iv_ruleInitialState=ruleInitialState + { $current=$iv_ruleInitialState.current; } + EOF; + +// Rule InitialState +ruleInitialState returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getInitialStateAccess().getInitialStateAction_0(), + $current); + } + ) + otherlv_1='start' + { + newLeafNode(otherlv_1, grammarAccess.getInitialStateAccess().getStartKeyword_1()); + } + ( + ( + lv_name_2_0=RULE_INITIALSTATENAME + { + newLeafNode(lv_name_2_0, grammarAccess.getInitialStateAccess().getNameINITIALSTATENAMETerminalRuleCall_2_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getInitialStateRule()); + } + setWithLastConsumed( + $current, + "name", + lv_name_2_0, + "swt.most.statemachine.xtext.Parser.INITIALSTATENAME"); + } + ) + ) + ) +; + +// Entry rule entryRuleTransition +entryRuleTransition returns [EObject current=null]: + { newCompositeNode(grammarAccess.getTransitionRule()); } + iv_ruleTransition=ruleTransition + { $current=$iv_ruleTransition.current; } + EOF; + +// Rule Transition +ruleTransition returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getTransitionAccess().getTransitionAction_0(), + $current); + } + ) + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getTransitionRule()); + } + } + { + newCompositeNode(grammarAccess.getTransitionAccess().getFromStateCrossReference_1_0()); + } + ruleEString + { + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_2='-' + { + newLeafNode(otherlv_2, grammarAccess.getTransitionAccess().getHyphenMinusKeyword_2()); + } + ( + ( + { + newCompositeNode(grammarAccess.getTransitionAccess().getTriggerTriggerParserRuleCall_3_0()); + } + lv_trigger_3_0=ruleTrigger + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getTransitionRule()); + } + set( + $current, + "trigger", + lv_trigger_3_0, + "swt.most.statemachine.xtext.Parser.Trigger"); + afterParserOrEnumRuleCall(); + } + ) + )? + ( + otherlv_4='[' + { + newLeafNode(otherlv_4, grammarAccess.getTransitionAccess().getLeftSquareBracketKeyword_4_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getTransitionAccess().getGuardGuardParserRuleCall_4_1_0()); + } + lv_guard_5_0=ruleGuard + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getTransitionRule()); + } + set( + $current, + "guard", + lv_guard_5_0, + "swt.most.statemachine.xtext.Parser.Guard"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_6=']' + { + newLeafNode(otherlv_6, grammarAccess.getTransitionAccess().getRightSquareBracketKeyword_4_2()); + } + )? + ( + otherlv_7='/' + { + newLeafNode(otherlv_7, grammarAccess.getTransitionAccess().getSolidusKeyword_5_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getTransitionAccess().getActionActionParserRuleCall_5_1_0()); + } + lv_action_8_0=ruleAction + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getTransitionRule()); + } + set( + $current, + "action", + lv_action_8_0, + "swt.most.statemachine.xtext.Parser.Action"); + afterParserOrEnumRuleCall(); + } + ) + ) + )? + otherlv_9='->' + { + newLeafNode(otherlv_9, grammarAccess.getTransitionAccess().getHyphenMinusGreaterThanSignKeyword_6()); + } + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getTransitionRule()); + } + } + { + newCompositeNode(grammarAccess.getTransitionAccess().getToStateCrossReference_7_0()); + } + ruleEString + { + afterParserOrEnumRuleCall(); + } + ) + ) + ) +; + +// Entry rule entryRuleAction +entryRuleAction returns [EObject current=null]: + { newCompositeNode(grammarAccess.getActionRule()); } + iv_ruleAction=ruleAction + { $current=$iv_ruleAction.current; } + EOF; + +// Rule Action +ruleAction returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getActionAccess().getActionAction_0(), + $current); + } + ) + ( + ( + { + newCompositeNode(grammarAccess.getActionAccess().getContentActivityContentParserRuleCall_1_0()); + } + lv_content_1_0=ruleActivityContent + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getActionRule()); + } + set( + $current, + "content", + lv_content_1_0, + "swt.most.statemachine.xtext.Parser.ActivityContent"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) +; + +// Entry rule entryRuleTrigger +entryRuleTrigger returns [EObject current=null]: + { newCompositeNode(grammarAccess.getTriggerRule()); } + iv_ruleTrigger=ruleTrigger + { $current=$iv_ruleTrigger.current; } + EOF; + +// Rule Trigger +ruleTrigger returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getTriggerAccess().getTriggerAction_0(), + $current); + } + ) + ( + ( + { + newCompositeNode(grammarAccess.getTriggerAccess().getContentActivityContentParserRuleCall_1_0()); + } + lv_content_1_0=ruleActivityContent + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getTriggerRule()); + } + set( + $current, + "content", + lv_content_1_0, + "swt.most.statemachine.xtext.Parser.ActivityContent"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) +; + +// Entry rule entryRuleGuard +entryRuleGuard returns [EObject current=null]: + { newCompositeNode(grammarAccess.getGuardRule()); } + iv_ruleGuard=ruleGuard + { $current=$iv_ruleGuard.current; } + EOF; + +// Rule Guard +ruleGuard returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getGuardAccess().getGuardAction_0(), + $current); + } + ) + ( + ( + { + newCompositeNode(grammarAccess.getGuardAccess().getContentEStringParserRuleCall_1_0()); + } + lv_content_1_0=ruleEString + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getGuardRule()); + } + set( + $current, + "content", + lv_content_1_0, + "swt.most.statemachine.xtext.Parser.EString"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) +; + +// Entry rule entryRuleActivityContent +entryRuleActivityContent returns [String current=null]: + { newCompositeNode(grammarAccess.getActivityContentRule()); } + iv_ruleActivityContent=ruleActivityContent + { $current=$iv_ruleActivityContent.current.getText(); } + EOF; + +// Rule ActivityContent +ruleActivityContent returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + this_STRING_0=RULE_STRING + { + $current.merge(this_STRING_0); + } + { + newLeafNode(this_STRING_0, grammarAccess.getActivityContentAccess().getSTRINGTerminalRuleCall_0()); + } + | + this_ID_1=RULE_ID + { + $current.merge(this_ID_1); + } + { + newLeafNode(this_ID_1, grammarAccess.getActivityContentAccess().getIDTerminalRuleCall_1()); + } + | + this_CALL_2=RULE_CALL + { + $current.merge(this_CALL_2); + } + { + newLeafNode(this_CALL_2, grammarAccess.getActivityContentAccess().getCALLTerminalRuleCall_2()); + } + ) +; + +// Entry rule entryRuleEString +entryRuleEString returns [String current=null]: + { newCompositeNode(grammarAccess.getEStringRule()); } + iv_ruleEString=ruleEString + { $current=$iv_ruleEString.current.getText(); } + EOF; + +// Rule EString +ruleEString returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + this_STRING_0=RULE_STRING + { + $current.merge(this_STRING_0); + } + { + newLeafNode(this_STRING_0, grammarAccess.getEStringAccess().getSTRINGTerminalRuleCall_0()); + } + | + this_ID_1=RULE_ID + { + $current.merge(this_ID_1); + } + { + newLeafNode(this_ID_1, grammarAccess.getEStringAccess().getIDTerminalRuleCall_1()); + } + | + this_INITIALSTATENAME_2=RULE_INITIALSTATENAME + { + $current.merge(this_INITIALSTATENAME_2); + } + { + newLeafNode(this_INITIALSTATENAME_2, grammarAccess.getEStringAccess().getINITIALSTATENAMETerminalRuleCall_2()); + } + | + this_FINALSTATENAME_3=RULE_FINALSTATENAME + { + $current.merge(this_FINALSTATENAME_3); + } + { + newLeafNode(this_FINALSTATENAME_3, grammarAccess.getEStringAccess().getFINALSTATENAMETerminalRuleCall_3()); + } + ) +; + +RULE_INITIALSTATENAME : 'I_' (RULE_INT|RULE_STRING|RULE_ID)+; + +RULE_FINALSTATENAME : 'F_' (RULE_INT|RULE_STRING|RULE_ID)+; + +RULE_CALL : RULE_ID ('.' RULE_ID)+; + +RULE_ID : '^'? ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*; + +fragment RULE_INT : ('0'..'9')+; + +RULE_STRING : ('"' ('\\' .|~(('\\'|'"')))* '"'|'\'' ('\\' .|~(('\\'|'\'')))* '\''); + +RULE_ML_COMMENT : '/*' ( options {greedy=false;} : . )*'*/'; + +RULE_SL_COMMENT : '//' ~(('\n'|'\r'))* ('\r'? '\n')?; + +RULE_WS : (' '|'\t'|'\r'|'\n')+; + +RULE_ANY_OTHER : .; diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/src-gen/swt/most/statemachine/xtext/parser/antlr/internal/InternalParser.tokens b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/src-gen/swt/most/statemachine/xtext/parser/antlr/internal/InternalParser.tokens new file mode 100644 index 0000000..cf878cf --- /dev/null +++ b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/src-gen/swt/most/statemachine/xtext/parser/antlr/internal/InternalParser.tokens @@ -0,0 +1,38 @@ +'-'=23 +'->'=27 +'/'=26 +'StateMachine'=14 +'['=24 +']'=25 +'do:'=19 +'end'=21 +'entry:'=18 +'exit:'=20 +'start'=22 +'state'=17 +'{'=15 +'}'=16 +RULE_ANY_OTHER=13 +RULE_CALL=8 +RULE_FINALSTATENAME=4 +RULE_ID=7 +RULE_INITIALSTATENAME=5 +RULE_INT=9 +RULE_ML_COMMENT=10 +RULE_SL_COMMENT=11 +RULE_STRING=6 +RULE_WS=12 +T__14=14 +T__15=15 +T__16=16 +T__17=17 +T__18=18 +T__19=19 +T__20=20 +T__21=21 +T__22=22 +T__23=23 +T__24=24 +T__25=25 +T__26=26 +T__27=27 diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/src-gen/swt/most/statemachine/xtext/parser/antlr/internal/InternalParserLexer.java b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/src-gen/swt/most/statemachine/xtext/parser/antlr/internal/InternalParserLexer.java new file mode 100644 index 0000000..962f130 --- /dev/null +++ b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/src-gen/swt/most/statemachine/xtext/parser/antlr/internal/InternalParserLexer.java @@ -0,0 +1,1541 @@ +package swt.most.statemachine.xtext.parser.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.parser.antlr.Lexer; + + +import org.antlr.runtime.*; +import java.util.Stack; +import java.util.List; +import java.util.ArrayList; + +@SuppressWarnings("all") +public class InternalParserLexer extends Lexer { + public static final int RULE_INITIALSTATENAME=5; + public static final int RULE_STRING=6; + public static final int RULE_SL_COMMENT=11; + public static final int T__19=19; + public static final int T__15=15; + public static final int T__16=16; + public static final int T__17=17; + public static final int T__18=18; + public static final int T__14=14; + public static final int EOF=-1; + public static final int RULE_CALL=8; + public static final int RULE_ID=7; + public static final int RULE_WS=12; + public static final int RULE_ANY_OTHER=13; + public static final int T__26=26; + public static final int T__27=27; + public static final int RULE_FINALSTATENAME=4; + public static final int RULE_INT=9; + public static final int T__22=22; + public static final int RULE_ML_COMMENT=10; + public static final int T__23=23; + public static final int T__24=24; + public static final int T__25=25; + public static final int T__20=20; + public static final int T__21=21; + + // delegates + // delegators + + public InternalParserLexer() {;} + public InternalParserLexer(CharStream input) { + this(input, new RecognizerSharedState()); + } + public InternalParserLexer(CharStream input, RecognizerSharedState state) { + super(input,state); + + } + public String getGrammarFileName() { return "InternalParser.g"; } + + // $ANTLR start "T__14" + public final void mT__14() throws RecognitionException { + try { + int _type = T__14; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalParser.g:11:7: ( 'StateMachine' ) + // InternalParser.g:11:9: 'StateMachine' + { + match("StateMachine"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__14" + + // $ANTLR start "T__15" + public final void mT__15() throws RecognitionException { + try { + int _type = T__15; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalParser.g:12:7: ( '{' ) + // InternalParser.g:12:9: '{' + { + match('{'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__15" + + // $ANTLR start "T__16" + public final void mT__16() throws RecognitionException { + try { + int _type = T__16; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalParser.g:13:7: ( '}' ) + // InternalParser.g:13:9: '}' + { + match('}'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__16" + + // $ANTLR start "T__17" + public final void mT__17() throws RecognitionException { + try { + int _type = T__17; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalParser.g:14:7: ( 'state' ) + // InternalParser.g:14:9: 'state' + { + match("state"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__17" + + // $ANTLR start "T__18" + public final void mT__18() throws RecognitionException { + try { + int _type = T__18; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalParser.g:15:7: ( 'entry:' ) + // InternalParser.g:15:9: 'entry:' + { + match("entry:"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__18" + + // $ANTLR start "T__19" + public final void mT__19() throws RecognitionException { + try { + int _type = T__19; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalParser.g:16:7: ( 'do:' ) + // InternalParser.g:16:9: 'do:' + { + match("do:"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__19" + + // $ANTLR start "T__20" + public final void mT__20() throws RecognitionException { + try { + int _type = T__20; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalParser.g:17:7: ( 'exit:' ) + // InternalParser.g:17:9: 'exit:' + { + match("exit:"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__20" + + // $ANTLR start "T__21" + public final void mT__21() throws RecognitionException { + try { + int _type = T__21; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalParser.g:18:7: ( 'end' ) + // InternalParser.g:18:9: 'end' + { + match("end"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__21" + + // $ANTLR start "T__22" + public final void mT__22() throws RecognitionException { + try { + int _type = T__22; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalParser.g:19:7: ( 'start' ) + // InternalParser.g:19:9: 'start' + { + match("start"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__22" + + // $ANTLR start "T__23" + public final void mT__23() throws RecognitionException { + try { + int _type = T__23; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalParser.g:20:7: ( '-' ) + // InternalParser.g:20:9: '-' + { + match('-'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__23" + + // $ANTLR start "T__24" + public final void mT__24() throws RecognitionException { + try { + int _type = T__24; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalParser.g:21:7: ( '[' ) + // InternalParser.g:21:9: '[' + { + match('['); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__24" + + // $ANTLR start "T__25" + public final void mT__25() throws RecognitionException { + try { + int _type = T__25; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalParser.g:22:7: ( ']' ) + // InternalParser.g:22:9: ']' + { + match(']'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__25" + + // $ANTLR start "T__26" + public final void mT__26() throws RecognitionException { + try { + int _type = T__26; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalParser.g:23:7: ( '/' ) + // InternalParser.g:23:9: '/' + { + match('/'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__26" + + // $ANTLR start "T__27" + public final void mT__27() throws RecognitionException { + try { + int _type = T__27; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalParser.g:24:7: ( '->' ) + // InternalParser.g:24:9: '->' + { + match("->"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__27" + + // $ANTLR start "RULE_INITIALSTATENAME" + public final void mRULE_INITIALSTATENAME() throws RecognitionException { + try { + int _type = RULE_INITIALSTATENAME; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalParser.g:796:23: ( 'I_' ( RULE_INT | RULE_STRING | RULE_ID )+ ) + // InternalParser.g:796:25: 'I_' ( RULE_INT | RULE_STRING | RULE_ID )+ + { + match("I_"); + + // InternalParser.g:796:30: ( RULE_INT | RULE_STRING | RULE_ID )+ + int cnt1=0; + loop1: + do { + int alt1=4; + switch ( input.LA(1) ) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + { + alt1=1; + } + break; + case '\"': + case '\'': + { + alt1=2; + } + break; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case '^': + case '_': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': + { + alt1=3; + } + break; + + } + + switch (alt1) { + case 1 : + // InternalParser.g:796:31: RULE_INT + { + mRULE_INT(); + + } + break; + case 2 : + // InternalParser.g:796:40: RULE_STRING + { + mRULE_STRING(); + + } + break; + case 3 : + // InternalParser.g:796:52: RULE_ID + { + mRULE_ID(); + + } + break; + + default : + if ( cnt1 >= 1 ) break loop1; + EarlyExitException eee = + new EarlyExitException(1, input); + throw eee; + } + cnt1++; + } while (true); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_INITIALSTATENAME" + + // $ANTLR start "RULE_FINALSTATENAME" + public final void mRULE_FINALSTATENAME() throws RecognitionException { + try { + int _type = RULE_FINALSTATENAME; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalParser.g:798:21: ( 'F_' ( RULE_INT | RULE_STRING | RULE_ID )+ ) + // InternalParser.g:798:23: 'F_' ( RULE_INT | RULE_STRING | RULE_ID )+ + { + match("F_"); + + // InternalParser.g:798:28: ( RULE_INT | RULE_STRING | RULE_ID )+ + int cnt2=0; + loop2: + do { + int alt2=4; + switch ( input.LA(1) ) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + { + alt2=1; + } + break; + case '\"': + case '\'': + { + alt2=2; + } + break; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case '^': + case '_': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': + { + alt2=3; + } + break; + + } + + switch (alt2) { + case 1 : + // InternalParser.g:798:29: RULE_INT + { + mRULE_INT(); + + } + break; + case 2 : + // InternalParser.g:798:38: RULE_STRING + { + mRULE_STRING(); + + } + break; + case 3 : + // InternalParser.g:798:50: RULE_ID + { + mRULE_ID(); + + } + break; + + default : + if ( cnt2 >= 1 ) break loop2; + EarlyExitException eee = + new EarlyExitException(2, input); + throw eee; + } + cnt2++; + } while (true); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_FINALSTATENAME" + + // $ANTLR start "RULE_CALL" + public final void mRULE_CALL() throws RecognitionException { + try { + int _type = RULE_CALL; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalParser.g:800:11: ( RULE_ID ( '.' RULE_ID )+ ) + // InternalParser.g:800:13: RULE_ID ( '.' RULE_ID )+ + { + mRULE_ID(); + // InternalParser.g:800:21: ( '.' RULE_ID )+ + int cnt3=0; + loop3: + do { + int alt3=2; + int LA3_0 = input.LA(1); + + if ( (LA3_0=='.') ) { + alt3=1; + } + + + switch (alt3) { + case 1 : + // InternalParser.g:800:22: '.' RULE_ID + { + match('.'); + mRULE_ID(); + + } + break; + + default : + if ( cnt3 >= 1 ) break loop3; + EarlyExitException eee = + new EarlyExitException(3, input); + throw eee; + } + cnt3++; + } while (true); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_CALL" + + // $ANTLR start "RULE_ID" + public final void mRULE_ID() throws RecognitionException { + try { + int _type = RULE_ID; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalParser.g:802:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* ) + // InternalParser.g:802:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* + { + // InternalParser.g:802:11: ( '^' )? + int alt4=2; + int LA4_0 = input.LA(1); + + if ( (LA4_0=='^') ) { + alt4=1; + } + switch (alt4) { + case 1 : + // InternalParser.g:802:11: '^' + { + match('^'); + + } + break; + + } + + if ( (input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + // InternalParser.g:802:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* + loop5: + do { + int alt5=2; + int LA5_0 = input.LA(1); + + if ( ((LA5_0>='0' && LA5_0<='9')||(LA5_0>='A' && LA5_0<='Z')||LA5_0=='_'||(LA5_0>='a' && LA5_0<='z')) ) { + alt5=1; + } + + + switch (alt5) { + case 1 : + // InternalParser.g: + { + if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + break; + + default : + break loop5; + } + } while (true); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_ID" + + // $ANTLR start "RULE_INT" + public final void mRULE_INT() throws RecognitionException { + try { + // InternalParser.g:804:19: ( ( '0' .. '9' )+ ) + // InternalParser.g:804:21: ( '0' .. '9' )+ + { + // InternalParser.g:804:21: ( '0' .. '9' )+ + int cnt6=0; + loop6: + do { + int alt6=2; + int LA6_0 = input.LA(1); + + if ( ((LA6_0>='0' && LA6_0<='9')) ) { + alt6=1; + } + + + switch (alt6) { + case 1 : + // InternalParser.g:804:22: '0' .. '9' + { + matchRange('0','9'); + + } + break; + + default : + if ( cnt6 >= 1 ) break loop6; + EarlyExitException eee = + new EarlyExitException(6, input); + throw eee; + } + cnt6++; + } while (true); + + + } + + } + finally { + } + } + // $ANTLR end "RULE_INT" + + // $ANTLR start "RULE_STRING" + public final void mRULE_STRING() throws RecognitionException { + try { + int _type = RULE_STRING; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalParser.g:806:13: ( ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) ) + // InternalParser.g:806:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) + { + // InternalParser.g:806:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) + int alt9=2; + int LA9_0 = input.LA(1); + + if ( (LA9_0=='\"') ) { + alt9=1; + } + else if ( (LA9_0=='\'') ) { + alt9=2; + } + else { + NoViableAltException nvae = + new NoViableAltException("", 9, 0, input); + + throw nvae; + } + switch (alt9) { + case 1 : + // InternalParser.g:806:16: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' + { + match('\"'); + // InternalParser.g:806:20: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* + loop7: + do { + int alt7=3; + int LA7_0 = input.LA(1); + + if ( (LA7_0=='\\') ) { + alt7=1; + } + else if ( ((LA7_0>='\u0000' && LA7_0<='!')||(LA7_0>='#' && LA7_0<='[')||(LA7_0>=']' && LA7_0<='\uFFFF')) ) { + alt7=2; + } + + + switch (alt7) { + case 1 : + // InternalParser.g:806:21: '\\\\' . + { + match('\\'); + matchAny(); + + } + break; + case 2 : + // InternalParser.g:806:28: ~ ( ( '\\\\' | '\"' ) ) + { + if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + break; + + default : + break loop7; + } + } while (true); + + match('\"'); + + } + break; + case 2 : + // InternalParser.g:806:48: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' + { + match('\''); + // InternalParser.g:806:53: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* + loop8: + do { + int alt8=3; + int LA8_0 = input.LA(1); + + if ( (LA8_0=='\\') ) { + alt8=1; + } + else if ( ((LA8_0>='\u0000' && LA8_0<='&')||(LA8_0>='(' && LA8_0<='[')||(LA8_0>=']' && LA8_0<='\uFFFF')) ) { + alt8=2; + } + + + switch (alt8) { + case 1 : + // InternalParser.g:806:54: '\\\\' . + { + match('\\'); + matchAny(); + + } + break; + case 2 : + // InternalParser.g:806:61: ~ ( ( '\\\\' | '\\'' ) ) + { + if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + break; + + default : + break loop8; + } + } while (true); + + match('\''); + + } + break; + + } + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_STRING" + + // $ANTLR start "RULE_ML_COMMENT" + public final void mRULE_ML_COMMENT() throws RecognitionException { + try { + int _type = RULE_ML_COMMENT; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalParser.g:808:17: ( '/*' ( options {greedy=false; } : . )* '*/' ) + // InternalParser.g:808:19: '/*' ( options {greedy=false; } : . )* '*/' + { + match("/*"); + + // InternalParser.g:808:24: ( options {greedy=false; } : . )* + loop10: + do { + int alt10=2; + int LA10_0 = input.LA(1); + + if ( (LA10_0=='*') ) { + int LA10_1 = input.LA(2); + + if ( (LA10_1=='/') ) { + alt10=2; + } + else if ( ((LA10_1>='\u0000' && LA10_1<='.')||(LA10_1>='0' && LA10_1<='\uFFFF')) ) { + alt10=1; + } + + + } + else if ( ((LA10_0>='\u0000' && LA10_0<=')')||(LA10_0>='+' && LA10_0<='\uFFFF')) ) { + alt10=1; + } + + + switch (alt10) { + case 1 : + // InternalParser.g:808:52: . + { + matchAny(); + + } + break; + + default : + break loop10; + } + } while (true); + + match("*/"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_ML_COMMENT" + + // $ANTLR start "RULE_SL_COMMENT" + public final void mRULE_SL_COMMENT() throws RecognitionException { + try { + int _type = RULE_SL_COMMENT; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalParser.g:810:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? ) + // InternalParser.g:810:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? + { + match("//"); + + // InternalParser.g:810:24: (~ ( ( '\\n' | '\\r' ) ) )* + loop11: + do { + int alt11=2; + int LA11_0 = input.LA(1); + + if ( ((LA11_0>='\u0000' && LA11_0<='\t')||(LA11_0>='\u000B' && LA11_0<='\f')||(LA11_0>='\u000E' && LA11_0<='\uFFFF')) ) { + alt11=1; + } + + + switch (alt11) { + case 1 : + // InternalParser.g:810:24: ~ ( ( '\\n' | '\\r' ) ) + { + if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\uFFFF') ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + break; + + default : + break loop11; + } + } while (true); + + // InternalParser.g:810:40: ( ( '\\r' )? '\\n' )? + int alt13=2; + int LA13_0 = input.LA(1); + + if ( (LA13_0=='\n'||LA13_0=='\r') ) { + alt13=1; + } + switch (alt13) { + case 1 : + // InternalParser.g:810:41: ( '\\r' )? '\\n' + { + // InternalParser.g:810:41: ( '\\r' )? + int alt12=2; + int LA12_0 = input.LA(1); + + if ( (LA12_0=='\r') ) { + alt12=1; + } + switch (alt12) { + case 1 : + // InternalParser.g:810:41: '\\r' + { + match('\r'); + + } + break; + + } + + match('\n'); + + } + break; + + } + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_SL_COMMENT" + + // $ANTLR start "RULE_WS" + public final void mRULE_WS() throws RecognitionException { + try { + int _type = RULE_WS; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalParser.g:812:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) + // InternalParser.g:812:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ + { + // InternalParser.g:812:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ + int cnt14=0; + loop14: + do { + int alt14=2; + int LA14_0 = input.LA(1); + + if ( ((LA14_0>='\t' && LA14_0<='\n')||LA14_0=='\r'||LA14_0==' ') ) { + alt14=1; + } + + + switch (alt14) { + case 1 : + // InternalParser.g: + { + if ( (input.LA(1)>='\t' && input.LA(1)<='\n')||input.LA(1)=='\r'||input.LA(1)==' ' ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + break; + + default : + if ( cnt14 >= 1 ) break loop14; + EarlyExitException eee = + new EarlyExitException(14, input); + throw eee; + } + cnt14++; + } while (true); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_WS" + + // $ANTLR start "RULE_ANY_OTHER" + public final void mRULE_ANY_OTHER() throws RecognitionException { + try { + int _type = RULE_ANY_OTHER; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalParser.g:814:16: ( . ) + // InternalParser.g:814:18: . + { + matchAny(); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_ANY_OTHER" + + public void mTokens() throws RecognitionException { + // InternalParser.g:1:8: ( T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | RULE_INITIALSTATENAME | RULE_FINALSTATENAME | RULE_CALL | RULE_ID | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER ) + int alt15=23; + alt15 = dfa15.predict(input); + switch (alt15) { + case 1 : + // InternalParser.g:1:10: T__14 + { + mT__14(); + + } + break; + case 2 : + // InternalParser.g:1:16: T__15 + { + mT__15(); + + } + break; + case 3 : + // InternalParser.g:1:22: T__16 + { + mT__16(); + + } + break; + case 4 : + // InternalParser.g:1:28: T__17 + { + mT__17(); + + } + break; + case 5 : + // InternalParser.g:1:34: T__18 + { + mT__18(); + + } + break; + case 6 : + // InternalParser.g:1:40: T__19 + { + mT__19(); + + } + break; + case 7 : + // InternalParser.g:1:46: T__20 + { + mT__20(); + + } + break; + case 8 : + // InternalParser.g:1:52: T__21 + { + mT__21(); + + } + break; + case 9 : + // InternalParser.g:1:58: T__22 + { + mT__22(); + + } + break; + case 10 : + // InternalParser.g:1:64: T__23 + { + mT__23(); + + } + break; + case 11 : + // InternalParser.g:1:70: T__24 + { + mT__24(); + + } + break; + case 12 : + // InternalParser.g:1:76: T__25 + { + mT__25(); + + } + break; + case 13 : + // InternalParser.g:1:82: T__26 + { + mT__26(); + + } + break; + case 14 : + // InternalParser.g:1:88: T__27 + { + mT__27(); + + } + break; + case 15 : + // InternalParser.g:1:94: RULE_INITIALSTATENAME + { + mRULE_INITIALSTATENAME(); + + } + break; + case 16 : + // InternalParser.g:1:116: RULE_FINALSTATENAME + { + mRULE_FINALSTATENAME(); + + } + break; + case 17 : + // InternalParser.g:1:136: RULE_CALL + { + mRULE_CALL(); + + } + break; + case 18 : + // InternalParser.g:1:146: RULE_ID + { + mRULE_ID(); + + } + break; + case 19 : + // InternalParser.g:1:154: RULE_STRING + { + mRULE_STRING(); + + } + break; + case 20 : + // InternalParser.g:1:166: RULE_ML_COMMENT + { + mRULE_ML_COMMENT(); + + } + break; + case 21 : + // InternalParser.g:1:182: RULE_SL_COMMENT + { + mRULE_SL_COMMENT(); + + } + break; + case 22 : + // InternalParser.g:1:198: RULE_WS + { + mRULE_WS(); + + } + break; + case 23 : + // InternalParser.g:1:206: RULE_ANY_OTHER + { + mRULE_ANY_OTHER(); + + } + break; + + } + + } + + + protected DFA15 dfa15 = new DFA15(this); + static final String DFA15_eotS = + "\1\uffff\1\25\2\uffff\3\25\1\36\2\uffff\1\43\2\25\1\22\1\25\2\22\2\uffff\2\25\4\uffff\4\25\7\uffff\3\25\2\uffff\3\25\1\71\1\25\1\uffff\2\61\1\uffff\1\63\1\uffff\1\63\4\25\1\uffff\1\25\2\61\2\63\1\25\1\105\1\106\1\25\1\uffff\1\25\3\uffff\5\25\1\116\1\uffff"; + static final String DFA15_eofS = + "\117\uffff"; + static final String DFA15_minS = + "\1\0\1\56\2\uffff\3\56\1\76\2\uffff\1\52\2\56\1\101\1\56\2\0\2\uffff\2\56\4\uffff\4\56\7\uffff\2\42\1\56\2\uffff\5\56\1\uffff\2\56\1\uffff\1\56\1\uffff\5\56\1\uffff\11\56\1\uffff\1\56\3\uffff\6\56\1\uffff"; + static final String DFA15_maxS = + "\1\uffff\1\172\2\uffff\3\172\1\76\2\uffff\1\57\4\172\2\uffff\2\uffff\2\172\4\uffff\4\172\7\uffff\3\172\2\uffff\5\172\1\uffff\2\172\1\uffff\1\172\1\uffff\5\172\1\uffff\11\172\1\uffff\1\172\3\uffff\6\172\1\uffff"; + static final String DFA15_acceptS = + "\2\uffff\1\2\1\3\4\uffff\1\13\1\14\7\uffff\1\26\1\27\2\uffff\1\22\1\21\1\2\1\3\4\uffff\1\16\1\12\1\13\1\14\1\24\1\25\1\15\3\uffff\1\23\1\26\5\uffff\1\6\2\uffff\1\17\1\uffff\1\20\5\uffff\1\10\11\uffff\1\7\1\uffff\1\4\1\11\1\5\6\uffff\1\1"; + static final String DFA15_specialS = + "\1\0\16\uffff\1\1\1\2\76\uffff}>"; + static final String[] DFA15_transitionS = { + "\11\22\2\21\2\22\1\21\22\22\1\21\1\22\1\17\4\22\1\20\5\22\1\7\1\22\1\12\21\22\5\16\1\14\2\16\1\13\11\16\1\1\7\16\1\10\1\22\1\11\1\15\1\16\1\22\3\16\1\6\1\5\15\16\1\4\7\16\1\2\1\22\1\3\uff82\22", + "\1\26\1\uffff\12\24\7\uffff\32\24\4\uffff\1\24\1\uffff\23\24\1\23\6\24", + "", + "", + "\1\26\1\uffff\12\24\7\uffff\32\24\4\uffff\1\24\1\uffff\23\24\1\31\6\24", + "\1\26\1\uffff\12\24\7\uffff\32\24\4\uffff\1\24\1\uffff\15\24\1\32\11\24\1\33\2\24", + "\1\26\1\uffff\12\24\7\uffff\32\24\4\uffff\1\24\1\uffff\16\24\1\34\13\24", + "\1\35", + "", + "", + "\1\41\4\uffff\1\42", + "\1\26\1\uffff\12\24\7\uffff\32\24\4\uffff\1\44\1\uffff\32\24", + "\1\26\1\uffff\12\24\7\uffff\32\24\4\uffff\1\45\1\uffff\32\24", + "\32\46\4\uffff\1\46\1\uffff\32\46", + "\1\26\1\uffff\12\24\7\uffff\32\24\4\uffff\1\24\1\uffff\32\24", + "\0\47", + "\0\47", + "", + "", + "\1\26\1\uffff\12\24\7\uffff\32\24\4\uffff\1\24\1\uffff\1\51\31\24", + "\1\26\1\uffff\12\24\7\uffff\32\24\4\uffff\1\24\1\uffff\32\24", + "", + "", + "", + "", + "\1\26\1\uffff\12\24\7\uffff\32\24\4\uffff\1\24\1\uffff\1\52\31\24", + "\1\26\1\uffff\12\24\7\uffff\32\24\4\uffff\1\24\1\uffff\3\24\1\54\17\24\1\53\6\24", + "\1\26\1\uffff\12\24\7\uffff\32\24\4\uffff\1\24\1\uffff\10\24\1\55\21\24", + "\1\26\1\uffff\12\24\1\56\6\uffff\32\24\4\uffff\1\24\1\uffff\32\24", + "", + "", + "", + "", + "", + "", + "", + "\1\61\4\uffff\1\61\6\uffff\1\26\1\uffff\12\57\7\uffff\32\60\3\uffff\1\61\1\60\1\uffff\32\60", + "\1\63\4\uffff\1\63\6\uffff\1\26\1\uffff\12\62\7\uffff\32\64\3\uffff\1\63\1\64\1\uffff\32\64", + "\1\26\1\uffff\12\24\7\uffff\32\24\4\uffff\1\24\1\uffff\32\24", + "", + "", + "\1\26\1\uffff\12\24\7\uffff\32\24\4\uffff\1\24\1\uffff\23\24\1\65\6\24", + "\1\26\1\uffff\12\24\7\uffff\32\24\4\uffff\1\24\1\uffff\21\24\1\67\1\24\1\66\6\24", + "\1\26\1\uffff\12\24\7\uffff\32\24\4\uffff\1\24\1\uffff\21\24\1\70\10\24", + "\1\26\1\uffff\12\24\7\uffff\32\24\4\uffff\1\24\1\uffff\32\24", + "\1\26\1\uffff\12\24\7\uffff\32\24\4\uffff\1\24\1\uffff\23\24\1\72\6\24", + "", + "\1\26\1\uffff\12\57\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\26\1\uffff\12\73\7\uffff\32\74\4\uffff\1\74\1\uffff\32\74", + "", + "\1\26\1\uffff\12\62\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", + "", + "\1\26\1\uffff\12\75\7\uffff\32\76\4\uffff\1\76\1\uffff\32\76", + "\1\26\1\uffff\12\24\7\uffff\32\24\4\uffff\1\24\1\uffff\4\24\1\77\25\24", + "\1\26\1\uffff\12\24\7\uffff\32\24\4\uffff\1\24\1\uffff\4\24\1\100\25\24", + "\1\26\1\uffff\12\24\7\uffff\32\24\4\uffff\1\24\1\uffff\23\24\1\101\6\24", + "\1\26\1\uffff\12\24\7\uffff\32\24\4\uffff\1\24\1\uffff\30\24\1\102\1\24", + "", + "\1\26\1\uffff\12\24\1\103\6\uffff\32\24\4\uffff\1\24\1\uffff\32\24", + "\1\26\1\uffff\12\73\7\uffff\32\74\4\uffff\1\74\1\uffff\32\74", + "\1\26\1\uffff\12\73\7\uffff\32\74\4\uffff\1\74\1\uffff\32\74", + "\1\26\1\uffff\12\75\7\uffff\32\76\4\uffff\1\76\1\uffff\32\76", + "\1\26\1\uffff\12\75\7\uffff\32\76\4\uffff\1\76\1\uffff\32\76", + "\1\26\1\uffff\12\24\7\uffff\14\24\1\104\15\24\4\uffff\1\24\1\uffff\32\24", + "\1\26\1\uffff\12\24\7\uffff\32\24\4\uffff\1\24\1\uffff\32\24", + "\1\26\1\uffff\12\24\7\uffff\32\24\4\uffff\1\24\1\uffff\32\24", + "\1\26\1\uffff\12\24\1\107\6\uffff\32\24\4\uffff\1\24\1\uffff\32\24", + "", + "\1\26\1\uffff\12\24\7\uffff\32\24\4\uffff\1\24\1\uffff\1\110\31\24", + "", + "", + "", + "\1\26\1\uffff\12\24\7\uffff\32\24\4\uffff\1\24\1\uffff\2\24\1\111\27\24", + "\1\26\1\uffff\12\24\7\uffff\32\24\4\uffff\1\24\1\uffff\7\24\1\112\22\24", + "\1\26\1\uffff\12\24\7\uffff\32\24\4\uffff\1\24\1\uffff\10\24\1\113\21\24", + "\1\26\1\uffff\12\24\7\uffff\32\24\4\uffff\1\24\1\uffff\15\24\1\114\14\24", + "\1\26\1\uffff\12\24\7\uffff\32\24\4\uffff\1\24\1\uffff\4\24\1\115\25\24", + "\1\26\1\uffff\12\24\7\uffff\32\24\4\uffff\1\24\1\uffff\32\24", + "" + }; + + static final short[] DFA15_eot = DFA.unpackEncodedString(DFA15_eotS); + static final short[] DFA15_eof = DFA.unpackEncodedString(DFA15_eofS); + static final char[] DFA15_min = DFA.unpackEncodedStringToUnsignedChars(DFA15_minS); + static final char[] DFA15_max = DFA.unpackEncodedStringToUnsignedChars(DFA15_maxS); + static final short[] DFA15_accept = DFA.unpackEncodedString(DFA15_acceptS); + static final short[] DFA15_special = DFA.unpackEncodedString(DFA15_specialS); + static final short[][] DFA15_transition; + + static { + int numStates = DFA15_transitionS.length; + DFA15_transition = new short[numStates][]; + for (int i=0; i<numStates; i++) { + DFA15_transition[i] = DFA.unpackEncodedString(DFA15_transitionS[i]); + } + } + + class DFA15 extends DFA { + + public DFA15(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 15; + this.eot = DFA15_eot; + this.eof = DFA15_eof; + this.min = DFA15_min; + this.max = DFA15_max; + this.accept = DFA15_accept; + this.special = DFA15_special; + this.transition = DFA15_transition; + } + public String getDescription() { + return "1:1: Tokens : ( T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | RULE_INITIALSTATENAME | RULE_FINALSTATENAME | RULE_CALL | RULE_ID | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + IntStream input = _input; + int _s = s; + switch ( s ) { + case 0 : + int LA15_0 = input.LA(1); + + s = -1; + if ( (LA15_0=='S') ) {s = 1;} + + else if ( (LA15_0=='{') ) {s = 2;} + + else if ( (LA15_0=='}') ) {s = 3;} + + else if ( (LA15_0=='s') ) {s = 4;} + + else if ( (LA15_0=='e') ) {s = 5;} + + else if ( (LA15_0=='d') ) {s = 6;} + + else if ( (LA15_0=='-') ) {s = 7;} + + else if ( (LA15_0=='[') ) {s = 8;} + + else if ( (LA15_0==']') ) {s = 9;} + + else if ( (LA15_0=='/') ) {s = 10;} + + else if ( (LA15_0=='I') ) {s = 11;} + + else if ( (LA15_0=='F') ) {s = 12;} + + else if ( (LA15_0=='^') ) {s = 13;} + + else if ( ((LA15_0>='A' && LA15_0<='E')||(LA15_0>='G' && LA15_0<='H')||(LA15_0>='J' && LA15_0<='R')||(LA15_0>='T' && LA15_0<='Z')||LA15_0=='_'||(LA15_0>='a' && LA15_0<='c')||(LA15_0>='f' && LA15_0<='r')||(LA15_0>='t' && LA15_0<='z')) ) {s = 14;} + + else if ( (LA15_0=='\"') ) {s = 15;} + + else if ( (LA15_0=='\'') ) {s = 16;} + + else if ( ((LA15_0>='\t' && LA15_0<='\n')||LA15_0=='\r'||LA15_0==' ') ) {s = 17;} + + else if ( ((LA15_0>='\u0000' && LA15_0<='\b')||(LA15_0>='\u000B' && LA15_0<='\f')||(LA15_0>='\u000E' && LA15_0<='\u001F')||LA15_0=='!'||(LA15_0>='#' && LA15_0<='&')||(LA15_0>='(' && LA15_0<=',')||LA15_0=='.'||(LA15_0>='0' && LA15_0<='@')||LA15_0=='\\'||LA15_0=='`'||LA15_0=='|'||(LA15_0>='~' && LA15_0<='\uFFFF')) ) {s = 18;} + + if ( s>=0 ) return s; + break; + case 1 : + int LA15_15 = input.LA(1); + + s = -1; + if ( ((LA15_15>='\u0000' && LA15_15<='\uFFFF')) ) {s = 39;} + + else s = 18; + + if ( s>=0 ) return s; + break; + case 2 : + int LA15_16 = input.LA(1); + + s = -1; + if ( ((LA15_16>='\u0000' && LA15_16<='\uFFFF')) ) {s = 39;} + + else s = 18; + + if ( s>=0 ) return s; + break; + } + NoViableAltException nvae = + new NoViableAltException(getDescription(), 15, _s, input); + error(nvae); + throw nvae; + } + } + + +} \ No newline at end of file diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/src-gen/swt/most/statemachine/xtext/parser/antlr/internal/InternalParserParser.java b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/src-gen/swt/most/statemachine/xtext/parser/antlr/internal/InternalParserParser.java new file mode 100644 index 0000000..c874516 --- /dev/null +++ b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/src-gen/swt/most/statemachine/xtext/parser/antlr/internal/InternalParserParser.java @@ -0,0 +1,1942 @@ +package swt.most.statemachine.xtext.parser.antlr.internal; + +import org.eclipse.xtext.*; +import org.eclipse.xtext.parser.*; +import org.eclipse.xtext.parser.impl.*; +import org.eclipse.emf.ecore.util.EcoreUtil; +import org.eclipse.emf.ecore.EObject; +import org.eclipse.xtext.parser.antlr.AbstractInternalAntlrParser; +import org.eclipse.xtext.parser.antlr.XtextTokenStream; +import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens; +import org.eclipse.xtext.parser.antlr.AntlrDatatypeRuleToken; +import swt.most.statemachine.xtext.services.ParserGrammarAccess; + + + +import org.antlr.runtime.*; +import java.util.Stack; +import java.util.List; +import java.util.ArrayList; + +@SuppressWarnings("all") +public class InternalParserParser extends AbstractInternalAntlrParser { + public static final String[] tokenNames = new String[] { + "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_FINALSTATENAME", "RULE_INITIALSTATENAME", "RULE_STRING", "RULE_ID", "RULE_CALL", "RULE_INT", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'StateMachine'", "'{'", "'}'", "'state'", "'entry:'", "'do:'", "'exit:'", "'end'", "'start'", "'-'", "'['", "']'", "'/'", "'->'" + }; + public static final int RULE_INITIALSTATENAME=5; + public static final int RULE_STRING=6; + public static final int RULE_SL_COMMENT=11; + public static final int T__19=19; + public static final int T__15=15; + public static final int T__16=16; + public static final int T__17=17; + public static final int T__18=18; + public static final int T__14=14; + public static final int EOF=-1; + public static final int RULE_CALL=8; + public static final int RULE_ID=7; + public static final int RULE_WS=12; + public static final int RULE_ANY_OTHER=13; + public static final int T__26=26; + public static final int T__27=27; + public static final int RULE_FINALSTATENAME=4; + public static final int RULE_INT=9; + public static final int T__22=22; + public static final int RULE_ML_COMMENT=10; + public static final int T__23=23; + public static final int T__24=24; + public static final int T__25=25; + public static final int T__20=20; + public static final int T__21=21; + + // delegates + // delegators + + + public InternalParserParser(TokenStream input) { + this(input, new RecognizerSharedState()); + } + public InternalParserParser(TokenStream input, RecognizerSharedState state) { + super(input, state); + + } + + + public String[] getTokenNames() { return InternalParserParser.tokenNames; } + public String getGrammarFileName() { return "InternalParser.g"; } + + + + private ParserGrammarAccess grammarAccess; + + public InternalParserParser(TokenStream input, ParserGrammarAccess grammarAccess) { + this(input); + this.grammarAccess = grammarAccess; + registerRules(grammarAccess.getGrammar()); + } + + @Override + protected String getFirstRuleName() { + return "StateMachine"; + } + + @Override + protected ParserGrammarAccess getGrammarAccess() { + return grammarAccess; + } + + + + + // $ANTLR start "entryRuleStateMachine" + // InternalParser.g:64:1: entryRuleStateMachine returns [EObject current=null] : iv_ruleStateMachine= ruleStateMachine EOF ; + public final EObject entryRuleStateMachine() throws RecognitionException { + EObject current = null; + + EObject iv_ruleStateMachine = null; + + + try { + // InternalParser.g:64:53: (iv_ruleStateMachine= ruleStateMachine EOF ) + // InternalParser.g:65:2: iv_ruleStateMachine= ruleStateMachine EOF + { + newCompositeNode(grammarAccess.getStateMachineRule()); + pushFollow(FOLLOW_1); + iv_ruleStateMachine=ruleStateMachine(); + + state._fsp--; + + current =iv_ruleStateMachine; + match(input,EOF,FOLLOW_2); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleStateMachine" + + + // $ANTLR start "ruleStateMachine" + // InternalParser.g:71:1: ruleStateMachine returns [EObject current=null] : ( () otherlv_1= 'StateMachine' ( (lv_name_2_0= ruleEString ) ) otherlv_3= '{' ( (lv_initialstate_4_0= ruleInitialState ) ) ( ( (lv_states_5_0= ruleNormalState ) ) | ( (lv_finalstates_6_0= ruleFinalState ) ) | ( (lv_transitions_7_0= ruleTransition ) ) )* otherlv_8= '}' ) ; + public final EObject ruleStateMachine() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + Token otherlv_3=null; + Token otherlv_8=null; + AntlrDatatypeRuleToken lv_name_2_0 = null; + + EObject lv_initialstate_4_0 = null; + + EObject lv_states_5_0 = null; + + EObject lv_finalstates_6_0 = null; + + EObject lv_transitions_7_0 = null; + + + + enterRule(); + + try { + // InternalParser.g:77:2: ( ( () otherlv_1= 'StateMachine' ( (lv_name_2_0= ruleEString ) ) otherlv_3= '{' ( (lv_initialstate_4_0= ruleInitialState ) ) ( ( (lv_states_5_0= ruleNormalState ) ) | ( (lv_finalstates_6_0= ruleFinalState ) ) | ( (lv_transitions_7_0= ruleTransition ) ) )* otherlv_8= '}' ) ) + // InternalParser.g:78:2: ( () otherlv_1= 'StateMachine' ( (lv_name_2_0= ruleEString ) ) otherlv_3= '{' ( (lv_initialstate_4_0= ruleInitialState ) ) ( ( (lv_states_5_0= ruleNormalState ) ) | ( (lv_finalstates_6_0= ruleFinalState ) ) | ( (lv_transitions_7_0= ruleTransition ) ) )* otherlv_8= '}' ) + { + // InternalParser.g:78:2: ( () otherlv_1= 'StateMachine' ( (lv_name_2_0= ruleEString ) ) otherlv_3= '{' ( (lv_initialstate_4_0= ruleInitialState ) ) ( ( (lv_states_5_0= ruleNormalState ) ) | ( (lv_finalstates_6_0= ruleFinalState ) ) | ( (lv_transitions_7_0= ruleTransition ) ) )* otherlv_8= '}' ) + // InternalParser.g:79:3: () otherlv_1= 'StateMachine' ( (lv_name_2_0= ruleEString ) ) otherlv_3= '{' ( (lv_initialstate_4_0= ruleInitialState ) ) ( ( (lv_states_5_0= ruleNormalState ) ) | ( (lv_finalstates_6_0= ruleFinalState ) ) | ( (lv_transitions_7_0= ruleTransition ) ) )* otherlv_8= '}' + { + // InternalParser.g:79:3: () + // InternalParser.g:80:4: + { + + current = forceCreateModelElement( + grammarAccess.getStateMachineAccess().getStateMachineAction_0(), + current); + + + } + + otherlv_1=(Token)match(input,14,FOLLOW_3); + + newLeafNode(otherlv_1, grammarAccess.getStateMachineAccess().getStateMachineKeyword_1()); + + // InternalParser.g:90:3: ( (lv_name_2_0= ruleEString ) ) + // InternalParser.g:91:4: (lv_name_2_0= ruleEString ) + { + // InternalParser.g:91:4: (lv_name_2_0= ruleEString ) + // InternalParser.g:92:5: lv_name_2_0= ruleEString + { + + newCompositeNode(grammarAccess.getStateMachineAccess().getNameEStringParserRuleCall_2_0()); + + pushFollow(FOLLOW_4); + lv_name_2_0=ruleEString(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getStateMachineRule()); + } + set( + current, + "name", + lv_name_2_0, + "swt.most.statemachine.xtext.Parser.EString"); + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_3=(Token)match(input,15,FOLLOW_5); + + newLeafNode(otherlv_3, grammarAccess.getStateMachineAccess().getLeftCurlyBracketKeyword_3()); + + // InternalParser.g:113:3: ( (lv_initialstate_4_0= ruleInitialState ) ) + // InternalParser.g:114:4: (lv_initialstate_4_0= ruleInitialState ) + { + // InternalParser.g:114:4: (lv_initialstate_4_0= ruleInitialState ) + // InternalParser.g:115:5: lv_initialstate_4_0= ruleInitialState + { + + newCompositeNode(grammarAccess.getStateMachineAccess().getInitialstateInitialStateParserRuleCall_4_0()); + + pushFollow(FOLLOW_6); + lv_initialstate_4_0=ruleInitialState(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getStateMachineRule()); + } + set( + current, + "initialstate", + lv_initialstate_4_0, + "swt.most.statemachine.xtext.Parser.InitialState"); + afterParserOrEnumRuleCall(); + + + } + + + } + + // InternalParser.g:132:3: ( ( (lv_states_5_0= ruleNormalState ) ) | ( (lv_finalstates_6_0= ruleFinalState ) ) | ( (lv_transitions_7_0= ruleTransition ) ) )* + loop1: + do { + int alt1=4; + switch ( input.LA(1) ) { + case 17: + { + alt1=1; + } + break; + case 21: + { + alt1=2; + } + break; + case RULE_FINALSTATENAME: + case RULE_INITIALSTATENAME: + case RULE_STRING: + case RULE_ID: + { + alt1=3; + } + break; + + } + + switch (alt1) { + case 1 : + // InternalParser.g:133:4: ( (lv_states_5_0= ruleNormalState ) ) + { + // InternalParser.g:133:4: ( (lv_states_5_0= ruleNormalState ) ) + // InternalParser.g:134:5: (lv_states_5_0= ruleNormalState ) + { + // InternalParser.g:134:5: (lv_states_5_0= ruleNormalState ) + // InternalParser.g:135:6: lv_states_5_0= ruleNormalState + { + + newCompositeNode(grammarAccess.getStateMachineAccess().getStatesNormalStateParserRuleCall_5_0_0()); + + pushFollow(FOLLOW_6); + lv_states_5_0=ruleNormalState(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getStateMachineRule()); + } + add( + current, + "states", + lv_states_5_0, + "swt.most.statemachine.xtext.Parser.NormalState"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + case 2 : + // InternalParser.g:153:4: ( (lv_finalstates_6_0= ruleFinalState ) ) + { + // InternalParser.g:153:4: ( (lv_finalstates_6_0= ruleFinalState ) ) + // InternalParser.g:154:5: (lv_finalstates_6_0= ruleFinalState ) + { + // InternalParser.g:154:5: (lv_finalstates_6_0= ruleFinalState ) + // InternalParser.g:155:6: lv_finalstates_6_0= ruleFinalState + { + + newCompositeNode(grammarAccess.getStateMachineAccess().getFinalstatesFinalStateParserRuleCall_5_1_0()); + + pushFollow(FOLLOW_6); + lv_finalstates_6_0=ruleFinalState(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getStateMachineRule()); + } + add( + current, + "finalstates", + lv_finalstates_6_0, + "swt.most.statemachine.xtext.Parser.FinalState"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + case 3 : + // InternalParser.g:173:4: ( (lv_transitions_7_0= ruleTransition ) ) + { + // InternalParser.g:173:4: ( (lv_transitions_7_0= ruleTransition ) ) + // InternalParser.g:174:5: (lv_transitions_7_0= ruleTransition ) + { + // InternalParser.g:174:5: (lv_transitions_7_0= ruleTransition ) + // InternalParser.g:175:6: lv_transitions_7_0= ruleTransition + { + + newCompositeNode(grammarAccess.getStateMachineAccess().getTransitionsTransitionParserRuleCall_5_2_0()); + + pushFollow(FOLLOW_6); + lv_transitions_7_0=ruleTransition(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getStateMachineRule()); + } + add( + current, + "transitions", + lv_transitions_7_0, + "swt.most.statemachine.xtext.Parser.Transition"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + default : + break loop1; + } + } while (true); + + otherlv_8=(Token)match(input,16,FOLLOW_2); + + newLeafNode(otherlv_8, grammarAccess.getStateMachineAccess().getRightCurlyBracketKeyword_6()); + + + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleStateMachine" + + + // $ANTLR start "entryRuleNormalState" + // InternalParser.g:201:1: entryRuleNormalState returns [EObject current=null] : iv_ruleNormalState= ruleNormalState EOF ; + public final EObject entryRuleNormalState() throws RecognitionException { + EObject current = null; + + EObject iv_ruleNormalState = null; + + + try { + // InternalParser.g:201:52: (iv_ruleNormalState= ruleNormalState EOF ) + // InternalParser.g:202:2: iv_ruleNormalState= ruleNormalState EOF + { + newCompositeNode(grammarAccess.getNormalStateRule()); + pushFollow(FOLLOW_1); + iv_ruleNormalState=ruleNormalState(); + + state._fsp--; + + current =iv_ruleNormalState; + match(input,EOF,FOLLOW_2); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleNormalState" + + + // $ANTLR start "ruleNormalState" + // InternalParser.g:208:1: ruleNormalState returns [EObject current=null] : ( () otherlv_1= 'state' ( (lv_name_2_0= ruleEString ) ) (otherlv_3= '{' (otherlv_4= 'entry:' ( (lv_entry__5_0= ruleAction ) ) )? (otherlv_6= 'do:' ( (lv_do__7_0= ruleAction ) ) )? (otherlv_8= 'exit:' ( (lv_exit__9_0= ruleAction ) ) )? otherlv_10= '}' )? ) ; + public final EObject ruleNormalState() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + Token otherlv_3=null; + Token otherlv_4=null; + Token otherlv_6=null; + Token otherlv_8=null; + Token otherlv_10=null; + AntlrDatatypeRuleToken lv_name_2_0 = null; + + EObject lv_entry__5_0 = null; + + EObject lv_do__7_0 = null; + + EObject lv_exit__9_0 = null; + + + + enterRule(); + + try { + // InternalParser.g:214:2: ( ( () otherlv_1= 'state' ( (lv_name_2_0= ruleEString ) ) (otherlv_3= '{' (otherlv_4= 'entry:' ( (lv_entry__5_0= ruleAction ) ) )? (otherlv_6= 'do:' ( (lv_do__7_0= ruleAction ) ) )? (otherlv_8= 'exit:' ( (lv_exit__9_0= ruleAction ) ) )? otherlv_10= '}' )? ) ) + // InternalParser.g:215:2: ( () otherlv_1= 'state' ( (lv_name_2_0= ruleEString ) ) (otherlv_3= '{' (otherlv_4= 'entry:' ( (lv_entry__5_0= ruleAction ) ) )? (otherlv_6= 'do:' ( (lv_do__7_0= ruleAction ) ) )? (otherlv_8= 'exit:' ( (lv_exit__9_0= ruleAction ) ) )? otherlv_10= '}' )? ) + { + // InternalParser.g:215:2: ( () otherlv_1= 'state' ( (lv_name_2_0= ruleEString ) ) (otherlv_3= '{' (otherlv_4= 'entry:' ( (lv_entry__5_0= ruleAction ) ) )? (otherlv_6= 'do:' ( (lv_do__7_0= ruleAction ) ) )? (otherlv_8= 'exit:' ( (lv_exit__9_0= ruleAction ) ) )? otherlv_10= '}' )? ) + // InternalParser.g:216:3: () otherlv_1= 'state' ( (lv_name_2_0= ruleEString ) ) (otherlv_3= '{' (otherlv_4= 'entry:' ( (lv_entry__5_0= ruleAction ) ) )? (otherlv_6= 'do:' ( (lv_do__7_0= ruleAction ) ) )? (otherlv_8= 'exit:' ( (lv_exit__9_0= ruleAction ) ) )? otherlv_10= '}' )? + { + // InternalParser.g:216:3: () + // InternalParser.g:217:4: + { + + current = forceCreateModelElement( + grammarAccess.getNormalStateAccess().getNormalStateAction_0(), + current); + + + } + + otherlv_1=(Token)match(input,17,FOLLOW_3); + + newLeafNode(otherlv_1, grammarAccess.getNormalStateAccess().getStateKeyword_1()); + + // InternalParser.g:227:3: ( (lv_name_2_0= ruleEString ) ) + // InternalParser.g:228:4: (lv_name_2_0= ruleEString ) + { + // InternalParser.g:228:4: (lv_name_2_0= ruleEString ) + // InternalParser.g:229:5: lv_name_2_0= ruleEString + { + + newCompositeNode(grammarAccess.getNormalStateAccess().getNameEStringParserRuleCall_2_0()); + + pushFollow(FOLLOW_7); + lv_name_2_0=ruleEString(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getNormalStateRule()); + } + set( + current, + "name", + lv_name_2_0, + "swt.most.statemachine.xtext.Parser.EString"); + afterParserOrEnumRuleCall(); + + + } + + + } + + // InternalParser.g:246:3: (otherlv_3= '{' (otherlv_4= 'entry:' ( (lv_entry__5_0= ruleAction ) ) )? (otherlv_6= 'do:' ( (lv_do__7_0= ruleAction ) ) )? (otherlv_8= 'exit:' ( (lv_exit__9_0= ruleAction ) ) )? otherlv_10= '}' )? + int alt5=2; + int LA5_0 = input.LA(1); + + if ( (LA5_0==15) ) { + alt5=1; + } + switch (alt5) { + case 1 : + // InternalParser.g:247:4: otherlv_3= '{' (otherlv_4= 'entry:' ( (lv_entry__5_0= ruleAction ) ) )? (otherlv_6= 'do:' ( (lv_do__7_0= ruleAction ) ) )? (otherlv_8= 'exit:' ( (lv_exit__9_0= ruleAction ) ) )? otherlv_10= '}' + { + otherlv_3=(Token)match(input,15,FOLLOW_8); + + newLeafNode(otherlv_3, grammarAccess.getNormalStateAccess().getLeftCurlyBracketKeyword_3_0()); + + // InternalParser.g:251:4: (otherlv_4= 'entry:' ( (lv_entry__5_0= ruleAction ) ) )? + int alt2=2; + int LA2_0 = input.LA(1); + + if ( (LA2_0==18) ) { + alt2=1; + } + switch (alt2) { + case 1 : + // InternalParser.g:252:5: otherlv_4= 'entry:' ( (lv_entry__5_0= ruleAction ) ) + { + otherlv_4=(Token)match(input,18,FOLLOW_9); + + newLeafNode(otherlv_4, grammarAccess.getNormalStateAccess().getEntryKeyword_3_1_0()); + + // InternalParser.g:256:5: ( (lv_entry__5_0= ruleAction ) ) + // InternalParser.g:257:6: (lv_entry__5_0= ruleAction ) + { + // InternalParser.g:257:6: (lv_entry__5_0= ruleAction ) + // InternalParser.g:258:7: lv_entry__5_0= ruleAction + { + + newCompositeNode(grammarAccess.getNormalStateAccess().getEntry_ActionParserRuleCall_3_1_1_0()); + + pushFollow(FOLLOW_10); + lv_entry__5_0=ruleAction(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getNormalStateRule()); + } + set( + current, + "entry_", + lv_entry__5_0, + "swt.most.statemachine.xtext.Parser.Action"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + } + + // InternalParser.g:276:4: (otherlv_6= 'do:' ( (lv_do__7_0= ruleAction ) ) )? + int alt3=2; + int LA3_0 = input.LA(1); + + if ( (LA3_0==19) ) { + alt3=1; + } + switch (alt3) { + case 1 : + // InternalParser.g:277:5: otherlv_6= 'do:' ( (lv_do__7_0= ruleAction ) ) + { + otherlv_6=(Token)match(input,19,FOLLOW_9); + + newLeafNode(otherlv_6, grammarAccess.getNormalStateAccess().getDoKeyword_3_2_0()); + + // InternalParser.g:281:5: ( (lv_do__7_0= ruleAction ) ) + // InternalParser.g:282:6: (lv_do__7_0= ruleAction ) + { + // InternalParser.g:282:6: (lv_do__7_0= ruleAction ) + // InternalParser.g:283:7: lv_do__7_0= ruleAction + { + + newCompositeNode(grammarAccess.getNormalStateAccess().getDo_ActionParserRuleCall_3_2_1_0()); + + pushFollow(FOLLOW_11); + lv_do__7_0=ruleAction(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getNormalStateRule()); + } + set( + current, + "do_", + lv_do__7_0, + "swt.most.statemachine.xtext.Parser.Action"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + } + + // InternalParser.g:301:4: (otherlv_8= 'exit:' ( (lv_exit__9_0= ruleAction ) ) )? + int alt4=2; + int LA4_0 = input.LA(1); + + if ( (LA4_0==20) ) { + alt4=1; + } + switch (alt4) { + case 1 : + // InternalParser.g:302:5: otherlv_8= 'exit:' ( (lv_exit__9_0= ruleAction ) ) + { + otherlv_8=(Token)match(input,20,FOLLOW_9); + + newLeafNode(otherlv_8, grammarAccess.getNormalStateAccess().getExitKeyword_3_3_0()); + + // InternalParser.g:306:5: ( (lv_exit__9_0= ruleAction ) ) + // InternalParser.g:307:6: (lv_exit__9_0= ruleAction ) + { + // InternalParser.g:307:6: (lv_exit__9_0= ruleAction ) + // InternalParser.g:308:7: lv_exit__9_0= ruleAction + { + + newCompositeNode(grammarAccess.getNormalStateAccess().getExit_ActionParserRuleCall_3_3_1_0()); + + pushFollow(FOLLOW_12); + lv_exit__9_0=ruleAction(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getNormalStateRule()); + } + set( + current, + "exit_", + lv_exit__9_0, + "swt.most.statemachine.xtext.Parser.Action"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + } + + otherlv_10=(Token)match(input,16,FOLLOW_2); + + newLeafNode(otherlv_10, grammarAccess.getNormalStateAccess().getRightCurlyBracketKeyword_3_4()); + + + } + break; + + } + + + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleNormalState" + + + // $ANTLR start "entryRuleFinalState" + // InternalParser.g:335:1: entryRuleFinalState returns [EObject current=null] : iv_ruleFinalState= ruleFinalState EOF ; + public final EObject entryRuleFinalState() throws RecognitionException { + EObject current = null; + + EObject iv_ruleFinalState = null; + + + try { + // InternalParser.g:335:51: (iv_ruleFinalState= ruleFinalState EOF ) + // InternalParser.g:336:2: iv_ruleFinalState= ruleFinalState EOF + { + newCompositeNode(grammarAccess.getFinalStateRule()); + pushFollow(FOLLOW_1); + iv_ruleFinalState=ruleFinalState(); + + state._fsp--; + + current =iv_ruleFinalState; + match(input,EOF,FOLLOW_2); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleFinalState" + + + // $ANTLR start "ruleFinalState" + // InternalParser.g:342:1: ruleFinalState returns [EObject current=null] : ( () otherlv_1= 'end' ( (lv_name_2_0= RULE_FINALSTATENAME ) ) ) ; + public final EObject ruleFinalState() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + Token lv_name_2_0=null; + + + enterRule(); + + try { + // InternalParser.g:348:2: ( ( () otherlv_1= 'end' ( (lv_name_2_0= RULE_FINALSTATENAME ) ) ) ) + // InternalParser.g:349:2: ( () otherlv_1= 'end' ( (lv_name_2_0= RULE_FINALSTATENAME ) ) ) + { + // InternalParser.g:349:2: ( () otherlv_1= 'end' ( (lv_name_2_0= RULE_FINALSTATENAME ) ) ) + // InternalParser.g:350:3: () otherlv_1= 'end' ( (lv_name_2_0= RULE_FINALSTATENAME ) ) + { + // InternalParser.g:350:3: () + // InternalParser.g:351:4: + { + + current = forceCreateModelElement( + grammarAccess.getFinalStateAccess().getFinalStateAction_0(), + current); + + + } + + otherlv_1=(Token)match(input,21,FOLLOW_13); + + newLeafNode(otherlv_1, grammarAccess.getFinalStateAccess().getEndKeyword_1()); + + // InternalParser.g:361:3: ( (lv_name_2_0= RULE_FINALSTATENAME ) ) + // InternalParser.g:362:4: (lv_name_2_0= RULE_FINALSTATENAME ) + { + // InternalParser.g:362:4: (lv_name_2_0= RULE_FINALSTATENAME ) + // InternalParser.g:363:5: lv_name_2_0= RULE_FINALSTATENAME + { + lv_name_2_0=(Token)match(input,RULE_FINALSTATENAME,FOLLOW_2); + + newLeafNode(lv_name_2_0, grammarAccess.getFinalStateAccess().getNameFINALSTATENAMETerminalRuleCall_2_0()); + + + if (current==null) { + current = createModelElement(grammarAccess.getFinalStateRule()); + } + setWithLastConsumed( + current, + "name", + lv_name_2_0, + "swt.most.statemachine.xtext.Parser.FINALSTATENAME"); + + + } + + + } + + + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleFinalState" + + + // $ANTLR start "entryRuleInitialState" + // InternalParser.g:383:1: entryRuleInitialState returns [EObject current=null] : iv_ruleInitialState= ruleInitialState EOF ; + public final EObject entryRuleInitialState() throws RecognitionException { + EObject current = null; + + EObject iv_ruleInitialState = null; + + + try { + // InternalParser.g:383:53: (iv_ruleInitialState= ruleInitialState EOF ) + // InternalParser.g:384:2: iv_ruleInitialState= ruleInitialState EOF + { + newCompositeNode(grammarAccess.getInitialStateRule()); + pushFollow(FOLLOW_1); + iv_ruleInitialState=ruleInitialState(); + + state._fsp--; + + current =iv_ruleInitialState; + match(input,EOF,FOLLOW_2); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleInitialState" + + + // $ANTLR start "ruleInitialState" + // InternalParser.g:390:1: ruleInitialState returns [EObject current=null] : ( () otherlv_1= 'start' ( (lv_name_2_0= RULE_INITIALSTATENAME ) ) ) ; + public final EObject ruleInitialState() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + Token lv_name_2_0=null; + + + enterRule(); + + try { + // InternalParser.g:396:2: ( ( () otherlv_1= 'start' ( (lv_name_2_0= RULE_INITIALSTATENAME ) ) ) ) + // InternalParser.g:397:2: ( () otherlv_1= 'start' ( (lv_name_2_0= RULE_INITIALSTATENAME ) ) ) + { + // InternalParser.g:397:2: ( () otherlv_1= 'start' ( (lv_name_2_0= RULE_INITIALSTATENAME ) ) ) + // InternalParser.g:398:3: () otherlv_1= 'start' ( (lv_name_2_0= RULE_INITIALSTATENAME ) ) + { + // InternalParser.g:398:3: () + // InternalParser.g:399:4: + { + + current = forceCreateModelElement( + grammarAccess.getInitialStateAccess().getInitialStateAction_0(), + current); + + + } + + otherlv_1=(Token)match(input,22,FOLLOW_14); + + newLeafNode(otherlv_1, grammarAccess.getInitialStateAccess().getStartKeyword_1()); + + // InternalParser.g:409:3: ( (lv_name_2_0= RULE_INITIALSTATENAME ) ) + // InternalParser.g:410:4: (lv_name_2_0= RULE_INITIALSTATENAME ) + { + // InternalParser.g:410:4: (lv_name_2_0= RULE_INITIALSTATENAME ) + // InternalParser.g:411:5: lv_name_2_0= RULE_INITIALSTATENAME + { + lv_name_2_0=(Token)match(input,RULE_INITIALSTATENAME,FOLLOW_2); + + newLeafNode(lv_name_2_0, grammarAccess.getInitialStateAccess().getNameINITIALSTATENAMETerminalRuleCall_2_0()); + + + if (current==null) { + current = createModelElement(grammarAccess.getInitialStateRule()); + } + setWithLastConsumed( + current, + "name", + lv_name_2_0, + "swt.most.statemachine.xtext.Parser.INITIALSTATENAME"); + + + } + + + } + + + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleInitialState" + + + // $ANTLR start "entryRuleTransition" + // InternalParser.g:431:1: entryRuleTransition returns [EObject current=null] : iv_ruleTransition= ruleTransition EOF ; + public final EObject entryRuleTransition() throws RecognitionException { + EObject current = null; + + EObject iv_ruleTransition = null; + + + try { + // InternalParser.g:431:51: (iv_ruleTransition= ruleTransition EOF ) + // InternalParser.g:432:2: iv_ruleTransition= ruleTransition EOF + { + newCompositeNode(grammarAccess.getTransitionRule()); + pushFollow(FOLLOW_1); + iv_ruleTransition=ruleTransition(); + + state._fsp--; + + current =iv_ruleTransition; + match(input,EOF,FOLLOW_2); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleTransition" + + + // $ANTLR start "ruleTransition" + // InternalParser.g:438:1: ruleTransition returns [EObject current=null] : ( () ( ( ruleEString ) ) otherlv_2= '-' ( (lv_trigger_3_0= ruleTrigger ) )? (otherlv_4= '[' ( (lv_guard_5_0= ruleGuard ) ) otherlv_6= ']' )? (otherlv_7= '/' ( (lv_action_8_0= ruleAction ) ) )? otherlv_9= '->' ( ( ruleEString ) ) ) ; + public final EObject ruleTransition() throws RecognitionException { + EObject current = null; + + Token otherlv_2=null; + Token otherlv_4=null; + Token otherlv_6=null; + Token otherlv_7=null; + Token otherlv_9=null; + EObject lv_trigger_3_0 = null; + + EObject lv_guard_5_0 = null; + + EObject lv_action_8_0 = null; + + + + enterRule(); + + try { + // InternalParser.g:444:2: ( ( () ( ( ruleEString ) ) otherlv_2= '-' ( (lv_trigger_3_0= ruleTrigger ) )? (otherlv_4= '[' ( (lv_guard_5_0= ruleGuard ) ) otherlv_6= ']' )? (otherlv_7= '/' ( (lv_action_8_0= ruleAction ) ) )? otherlv_9= '->' ( ( ruleEString ) ) ) ) + // InternalParser.g:445:2: ( () ( ( ruleEString ) ) otherlv_2= '-' ( (lv_trigger_3_0= ruleTrigger ) )? (otherlv_4= '[' ( (lv_guard_5_0= ruleGuard ) ) otherlv_6= ']' )? (otherlv_7= '/' ( (lv_action_8_0= ruleAction ) ) )? otherlv_9= '->' ( ( ruleEString ) ) ) + { + // InternalParser.g:445:2: ( () ( ( ruleEString ) ) otherlv_2= '-' ( (lv_trigger_3_0= ruleTrigger ) )? (otherlv_4= '[' ( (lv_guard_5_0= ruleGuard ) ) otherlv_6= ']' )? (otherlv_7= '/' ( (lv_action_8_0= ruleAction ) ) )? otherlv_9= '->' ( ( ruleEString ) ) ) + // InternalParser.g:446:3: () ( ( ruleEString ) ) otherlv_2= '-' ( (lv_trigger_3_0= ruleTrigger ) )? (otherlv_4= '[' ( (lv_guard_5_0= ruleGuard ) ) otherlv_6= ']' )? (otherlv_7= '/' ( (lv_action_8_0= ruleAction ) ) )? otherlv_9= '->' ( ( ruleEString ) ) + { + // InternalParser.g:446:3: () + // InternalParser.g:447:4: + { + + current = forceCreateModelElement( + grammarAccess.getTransitionAccess().getTransitionAction_0(), + current); + + + } + + // InternalParser.g:453:3: ( ( ruleEString ) ) + // InternalParser.g:454:4: ( ruleEString ) + { + // InternalParser.g:454:4: ( ruleEString ) + // InternalParser.g:455:5: ruleEString + { + + if (current==null) { + current = createModelElement(grammarAccess.getTransitionRule()); + } + + + newCompositeNode(grammarAccess.getTransitionAccess().getFromStateCrossReference_1_0()); + + pushFollow(FOLLOW_15); + ruleEString(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_2=(Token)match(input,23,FOLLOW_16); + + newLeafNode(otherlv_2, grammarAccess.getTransitionAccess().getHyphenMinusKeyword_2()); + + // InternalParser.g:473:3: ( (lv_trigger_3_0= ruleTrigger ) )? + int alt6=2; + int LA6_0 = input.LA(1); + + if ( ((LA6_0>=RULE_STRING && LA6_0<=RULE_CALL)) ) { + alt6=1; + } + switch (alt6) { + case 1 : + // InternalParser.g:474:4: (lv_trigger_3_0= ruleTrigger ) + { + // InternalParser.g:474:4: (lv_trigger_3_0= ruleTrigger ) + // InternalParser.g:475:5: lv_trigger_3_0= ruleTrigger + { + + newCompositeNode(grammarAccess.getTransitionAccess().getTriggerTriggerParserRuleCall_3_0()); + + pushFollow(FOLLOW_17); + lv_trigger_3_0=ruleTrigger(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getTransitionRule()); + } + set( + current, + "trigger", + lv_trigger_3_0, + "swt.most.statemachine.xtext.Parser.Trigger"); + afterParserOrEnumRuleCall(); + + + } + + + } + break; + + } + + // InternalParser.g:492:3: (otherlv_4= '[' ( (lv_guard_5_0= ruleGuard ) ) otherlv_6= ']' )? + int alt7=2; + int LA7_0 = input.LA(1); + + if ( (LA7_0==24) ) { + alt7=1; + } + switch (alt7) { + case 1 : + // InternalParser.g:493:4: otherlv_4= '[' ( (lv_guard_5_0= ruleGuard ) ) otherlv_6= ']' + { + otherlv_4=(Token)match(input,24,FOLLOW_3); + + newLeafNode(otherlv_4, grammarAccess.getTransitionAccess().getLeftSquareBracketKeyword_4_0()); + + // InternalParser.g:497:4: ( (lv_guard_5_0= ruleGuard ) ) + // InternalParser.g:498:5: (lv_guard_5_0= ruleGuard ) + { + // InternalParser.g:498:5: (lv_guard_5_0= ruleGuard ) + // InternalParser.g:499:6: lv_guard_5_0= ruleGuard + { + + newCompositeNode(grammarAccess.getTransitionAccess().getGuardGuardParserRuleCall_4_1_0()); + + pushFollow(FOLLOW_18); + lv_guard_5_0=ruleGuard(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getTransitionRule()); + } + set( + current, + "guard", + lv_guard_5_0, + "swt.most.statemachine.xtext.Parser.Guard"); + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_6=(Token)match(input,25,FOLLOW_19); + + newLeafNode(otherlv_6, grammarAccess.getTransitionAccess().getRightSquareBracketKeyword_4_2()); + + + } + break; + + } + + // InternalParser.g:521:3: (otherlv_7= '/' ( (lv_action_8_0= ruleAction ) ) )? + int alt8=2; + int LA8_0 = input.LA(1); + + if ( (LA8_0==26) ) { + alt8=1; + } + switch (alt8) { + case 1 : + // InternalParser.g:522:4: otherlv_7= '/' ( (lv_action_8_0= ruleAction ) ) + { + otherlv_7=(Token)match(input,26,FOLLOW_9); + + newLeafNode(otherlv_7, grammarAccess.getTransitionAccess().getSolidusKeyword_5_0()); + + // InternalParser.g:526:4: ( (lv_action_8_0= ruleAction ) ) + // InternalParser.g:527:5: (lv_action_8_0= ruleAction ) + { + // InternalParser.g:527:5: (lv_action_8_0= ruleAction ) + // InternalParser.g:528:6: lv_action_8_0= ruleAction + { + + newCompositeNode(grammarAccess.getTransitionAccess().getActionActionParserRuleCall_5_1_0()); + + pushFollow(FOLLOW_20); + lv_action_8_0=ruleAction(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getTransitionRule()); + } + set( + current, + "action", + lv_action_8_0, + "swt.most.statemachine.xtext.Parser.Action"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + } + + otherlv_9=(Token)match(input,27,FOLLOW_3); + + newLeafNode(otherlv_9, grammarAccess.getTransitionAccess().getHyphenMinusGreaterThanSignKeyword_6()); + + // InternalParser.g:550:3: ( ( ruleEString ) ) + // InternalParser.g:551:4: ( ruleEString ) + { + // InternalParser.g:551:4: ( ruleEString ) + // InternalParser.g:552:5: ruleEString + { + + if (current==null) { + current = createModelElement(grammarAccess.getTransitionRule()); + } + + + newCompositeNode(grammarAccess.getTransitionAccess().getToStateCrossReference_7_0()); + + pushFollow(FOLLOW_2); + ruleEString(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleTransition" + + + // $ANTLR start "entryRuleAction" + // InternalParser.g:570:1: entryRuleAction returns [EObject current=null] : iv_ruleAction= ruleAction EOF ; + public final EObject entryRuleAction() throws RecognitionException { + EObject current = null; + + EObject iv_ruleAction = null; + + + try { + // InternalParser.g:570:47: (iv_ruleAction= ruleAction EOF ) + // InternalParser.g:571:2: iv_ruleAction= ruleAction EOF + { + newCompositeNode(grammarAccess.getActionRule()); + pushFollow(FOLLOW_1); + iv_ruleAction=ruleAction(); + + state._fsp--; + + current =iv_ruleAction; + match(input,EOF,FOLLOW_2); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleAction" + + + // $ANTLR start "ruleAction" + // InternalParser.g:577:1: ruleAction returns [EObject current=null] : ( () ( (lv_content_1_0= ruleActivityContent ) ) ) ; + public final EObject ruleAction() throws RecognitionException { + EObject current = null; + + AntlrDatatypeRuleToken lv_content_1_0 = null; + + + + enterRule(); + + try { + // InternalParser.g:583:2: ( ( () ( (lv_content_1_0= ruleActivityContent ) ) ) ) + // InternalParser.g:584:2: ( () ( (lv_content_1_0= ruleActivityContent ) ) ) + { + // InternalParser.g:584:2: ( () ( (lv_content_1_0= ruleActivityContent ) ) ) + // InternalParser.g:585:3: () ( (lv_content_1_0= ruleActivityContent ) ) + { + // InternalParser.g:585:3: () + // InternalParser.g:586:4: + { + + current = forceCreateModelElement( + grammarAccess.getActionAccess().getActionAction_0(), + current); + + + } + + // InternalParser.g:592:3: ( (lv_content_1_0= ruleActivityContent ) ) + // InternalParser.g:593:4: (lv_content_1_0= ruleActivityContent ) + { + // InternalParser.g:593:4: (lv_content_1_0= ruleActivityContent ) + // InternalParser.g:594:5: lv_content_1_0= ruleActivityContent + { + + newCompositeNode(grammarAccess.getActionAccess().getContentActivityContentParserRuleCall_1_0()); + + pushFollow(FOLLOW_2); + lv_content_1_0=ruleActivityContent(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getActionRule()); + } + set( + current, + "content", + lv_content_1_0, + "swt.most.statemachine.xtext.Parser.ActivityContent"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleAction" + + + // $ANTLR start "entryRuleTrigger" + // InternalParser.g:615:1: entryRuleTrigger returns [EObject current=null] : iv_ruleTrigger= ruleTrigger EOF ; + public final EObject entryRuleTrigger() throws RecognitionException { + EObject current = null; + + EObject iv_ruleTrigger = null; + + + try { + // InternalParser.g:615:48: (iv_ruleTrigger= ruleTrigger EOF ) + // InternalParser.g:616:2: iv_ruleTrigger= ruleTrigger EOF + { + newCompositeNode(grammarAccess.getTriggerRule()); + pushFollow(FOLLOW_1); + iv_ruleTrigger=ruleTrigger(); + + state._fsp--; + + current =iv_ruleTrigger; + match(input,EOF,FOLLOW_2); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleTrigger" + + + // $ANTLR start "ruleTrigger" + // InternalParser.g:622:1: ruleTrigger returns [EObject current=null] : ( () ( (lv_content_1_0= ruleActivityContent ) ) ) ; + public final EObject ruleTrigger() throws RecognitionException { + EObject current = null; + + AntlrDatatypeRuleToken lv_content_1_0 = null; + + + + enterRule(); + + try { + // InternalParser.g:628:2: ( ( () ( (lv_content_1_0= ruleActivityContent ) ) ) ) + // InternalParser.g:629:2: ( () ( (lv_content_1_0= ruleActivityContent ) ) ) + { + // InternalParser.g:629:2: ( () ( (lv_content_1_0= ruleActivityContent ) ) ) + // InternalParser.g:630:3: () ( (lv_content_1_0= ruleActivityContent ) ) + { + // InternalParser.g:630:3: () + // InternalParser.g:631:4: + { + + current = forceCreateModelElement( + grammarAccess.getTriggerAccess().getTriggerAction_0(), + current); + + + } + + // InternalParser.g:637:3: ( (lv_content_1_0= ruleActivityContent ) ) + // InternalParser.g:638:4: (lv_content_1_0= ruleActivityContent ) + { + // InternalParser.g:638:4: (lv_content_1_0= ruleActivityContent ) + // InternalParser.g:639:5: lv_content_1_0= ruleActivityContent + { + + newCompositeNode(grammarAccess.getTriggerAccess().getContentActivityContentParserRuleCall_1_0()); + + pushFollow(FOLLOW_2); + lv_content_1_0=ruleActivityContent(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getTriggerRule()); + } + set( + current, + "content", + lv_content_1_0, + "swt.most.statemachine.xtext.Parser.ActivityContent"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleTrigger" + + + // $ANTLR start "entryRuleGuard" + // InternalParser.g:660:1: entryRuleGuard returns [EObject current=null] : iv_ruleGuard= ruleGuard EOF ; + public final EObject entryRuleGuard() throws RecognitionException { + EObject current = null; + + EObject iv_ruleGuard = null; + + + try { + // InternalParser.g:660:46: (iv_ruleGuard= ruleGuard EOF ) + // InternalParser.g:661:2: iv_ruleGuard= ruleGuard EOF + { + newCompositeNode(grammarAccess.getGuardRule()); + pushFollow(FOLLOW_1); + iv_ruleGuard=ruleGuard(); + + state._fsp--; + + current =iv_ruleGuard; + match(input,EOF,FOLLOW_2); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleGuard" + + + // $ANTLR start "ruleGuard" + // InternalParser.g:667:1: ruleGuard returns [EObject current=null] : ( () ( (lv_content_1_0= ruleEString ) ) ) ; + public final EObject ruleGuard() throws RecognitionException { + EObject current = null; + + AntlrDatatypeRuleToken lv_content_1_0 = null; + + + + enterRule(); + + try { + // InternalParser.g:673:2: ( ( () ( (lv_content_1_0= ruleEString ) ) ) ) + // InternalParser.g:674:2: ( () ( (lv_content_1_0= ruleEString ) ) ) + { + // InternalParser.g:674:2: ( () ( (lv_content_1_0= ruleEString ) ) ) + // InternalParser.g:675:3: () ( (lv_content_1_0= ruleEString ) ) + { + // InternalParser.g:675:3: () + // InternalParser.g:676:4: + { + + current = forceCreateModelElement( + grammarAccess.getGuardAccess().getGuardAction_0(), + current); + + + } + + // InternalParser.g:682:3: ( (lv_content_1_0= ruleEString ) ) + // InternalParser.g:683:4: (lv_content_1_0= ruleEString ) + { + // InternalParser.g:683:4: (lv_content_1_0= ruleEString ) + // InternalParser.g:684:5: lv_content_1_0= ruleEString + { + + newCompositeNode(grammarAccess.getGuardAccess().getContentEStringParserRuleCall_1_0()); + + pushFollow(FOLLOW_2); + lv_content_1_0=ruleEString(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getGuardRule()); + } + set( + current, + "content", + lv_content_1_0, + "swt.most.statemachine.xtext.Parser.EString"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleGuard" + + + // $ANTLR start "entryRuleActivityContent" + // InternalParser.g:705:1: entryRuleActivityContent returns [String current=null] : iv_ruleActivityContent= ruleActivityContent EOF ; + public final String entryRuleActivityContent() throws RecognitionException { + String current = null; + + AntlrDatatypeRuleToken iv_ruleActivityContent = null; + + + try { + // InternalParser.g:705:55: (iv_ruleActivityContent= ruleActivityContent EOF ) + // InternalParser.g:706:2: iv_ruleActivityContent= ruleActivityContent EOF + { + newCompositeNode(grammarAccess.getActivityContentRule()); + pushFollow(FOLLOW_1); + iv_ruleActivityContent=ruleActivityContent(); + + state._fsp--; + + current =iv_ruleActivityContent.getText(); + match(input,EOF,FOLLOW_2); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleActivityContent" + + + // $ANTLR start "ruleActivityContent" + // InternalParser.g:712:1: ruleActivityContent returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_STRING_0= RULE_STRING | this_ID_1= RULE_ID | this_CALL_2= RULE_CALL ) ; + public final AntlrDatatypeRuleToken ruleActivityContent() throws RecognitionException { + AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); + + Token this_STRING_0=null; + Token this_ID_1=null; + Token this_CALL_2=null; + + + enterRule(); + + try { + // InternalParser.g:718:2: ( (this_STRING_0= RULE_STRING | this_ID_1= RULE_ID | this_CALL_2= RULE_CALL ) ) + // InternalParser.g:719:2: (this_STRING_0= RULE_STRING | this_ID_1= RULE_ID | this_CALL_2= RULE_CALL ) + { + // InternalParser.g:719:2: (this_STRING_0= RULE_STRING | this_ID_1= RULE_ID | this_CALL_2= RULE_CALL ) + int alt9=3; + switch ( input.LA(1) ) { + case RULE_STRING: + { + alt9=1; + } + break; + case RULE_ID: + { + alt9=2; + } + break; + case RULE_CALL: + { + alt9=3; + } + break; + default: + NoViableAltException nvae = + new NoViableAltException("", 9, 0, input); + + throw nvae; + } + + switch (alt9) { + case 1 : + // InternalParser.g:720:3: this_STRING_0= RULE_STRING + { + this_STRING_0=(Token)match(input,RULE_STRING,FOLLOW_2); + + current.merge(this_STRING_0); + + + newLeafNode(this_STRING_0, grammarAccess.getActivityContentAccess().getSTRINGTerminalRuleCall_0()); + + + } + break; + case 2 : + // InternalParser.g:728:3: this_ID_1= RULE_ID + { + this_ID_1=(Token)match(input,RULE_ID,FOLLOW_2); + + current.merge(this_ID_1); + + + newLeafNode(this_ID_1, grammarAccess.getActivityContentAccess().getIDTerminalRuleCall_1()); + + + } + break; + case 3 : + // InternalParser.g:736:3: this_CALL_2= RULE_CALL + { + this_CALL_2=(Token)match(input,RULE_CALL,FOLLOW_2); + + current.merge(this_CALL_2); + + + newLeafNode(this_CALL_2, grammarAccess.getActivityContentAccess().getCALLTerminalRuleCall_2()); + + + } + break; + + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleActivityContent" + + + // $ANTLR start "entryRuleEString" + // InternalParser.g:747:1: entryRuleEString returns [String current=null] : iv_ruleEString= ruleEString EOF ; + public final String entryRuleEString() throws RecognitionException { + String current = null; + + AntlrDatatypeRuleToken iv_ruleEString = null; + + + try { + // InternalParser.g:747:47: (iv_ruleEString= ruleEString EOF ) + // InternalParser.g:748:2: iv_ruleEString= ruleEString EOF + { + newCompositeNode(grammarAccess.getEStringRule()); + pushFollow(FOLLOW_1); + iv_ruleEString=ruleEString(); + + state._fsp--; + + current =iv_ruleEString.getText(); + match(input,EOF,FOLLOW_2); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleEString" + + + // $ANTLR start "ruleEString" + // InternalParser.g:754:1: ruleEString returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_STRING_0= RULE_STRING | this_ID_1= RULE_ID | this_INITIALSTATENAME_2= RULE_INITIALSTATENAME | this_FINALSTATENAME_3= RULE_FINALSTATENAME ) ; + public final AntlrDatatypeRuleToken ruleEString() throws RecognitionException { + AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); + + Token this_STRING_0=null; + Token this_ID_1=null; + Token this_INITIALSTATENAME_2=null; + Token this_FINALSTATENAME_3=null; + + + enterRule(); + + try { + // InternalParser.g:760:2: ( (this_STRING_0= RULE_STRING | this_ID_1= RULE_ID | this_INITIALSTATENAME_2= RULE_INITIALSTATENAME | this_FINALSTATENAME_3= RULE_FINALSTATENAME ) ) + // InternalParser.g:761:2: (this_STRING_0= RULE_STRING | this_ID_1= RULE_ID | this_INITIALSTATENAME_2= RULE_INITIALSTATENAME | this_FINALSTATENAME_3= RULE_FINALSTATENAME ) + { + // InternalParser.g:761:2: (this_STRING_0= RULE_STRING | this_ID_1= RULE_ID | this_INITIALSTATENAME_2= RULE_INITIALSTATENAME | this_FINALSTATENAME_3= RULE_FINALSTATENAME ) + int alt10=4; + switch ( input.LA(1) ) { + case RULE_STRING: + { + alt10=1; + } + break; + case RULE_ID: + { + alt10=2; + } + break; + case RULE_INITIALSTATENAME: + { + alt10=3; + } + break; + case RULE_FINALSTATENAME: + { + alt10=4; + } + break; + default: + NoViableAltException nvae = + new NoViableAltException("", 10, 0, input); + + throw nvae; + } + + switch (alt10) { + case 1 : + // InternalParser.g:762:3: this_STRING_0= RULE_STRING + { + this_STRING_0=(Token)match(input,RULE_STRING,FOLLOW_2); + + current.merge(this_STRING_0); + + + newLeafNode(this_STRING_0, grammarAccess.getEStringAccess().getSTRINGTerminalRuleCall_0()); + + + } + break; + case 2 : + // InternalParser.g:770:3: this_ID_1= RULE_ID + { + this_ID_1=(Token)match(input,RULE_ID,FOLLOW_2); + + current.merge(this_ID_1); + + + newLeafNode(this_ID_1, grammarAccess.getEStringAccess().getIDTerminalRuleCall_1()); + + + } + break; + case 3 : + // InternalParser.g:778:3: this_INITIALSTATENAME_2= RULE_INITIALSTATENAME + { + this_INITIALSTATENAME_2=(Token)match(input,RULE_INITIALSTATENAME,FOLLOW_2); + + current.merge(this_INITIALSTATENAME_2); + + + newLeafNode(this_INITIALSTATENAME_2, grammarAccess.getEStringAccess().getINITIALSTATENAMETerminalRuleCall_2()); + + + } + break; + case 4 : + // InternalParser.g:786:3: this_FINALSTATENAME_3= RULE_FINALSTATENAME + { + this_FINALSTATENAME_3=(Token)match(input,RULE_FINALSTATENAME,FOLLOW_2); + + current.merge(this_FINALSTATENAME_3); + + + newLeafNode(this_FINALSTATENAME_3, grammarAccess.getEStringAccess().getFINALSTATENAMETerminalRuleCall_3()); + + + } + break; + + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleEString" + + // Delegated rules + + + + + public static final BitSet FOLLOW_1 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_2 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_3 = new BitSet(new long[]{0x00000000000000F0L}); + public static final BitSet FOLLOW_4 = new BitSet(new long[]{0x0000000000008000L}); + public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x0000000000400000L}); + public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x00000000002300F0L}); + public static final BitSet FOLLOW_7 = new BitSet(new long[]{0x0000000000008002L}); + public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x00000000001D0000L}); + public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x00000000000001C0L}); + public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0000000000190000L}); + public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x0000000000110000L}); + public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x0000000000010000L}); + public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0000000000000010L}); + public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x0000000000000020L}); + public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0000000000800000L}); + public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x000000000D0001C0L}); + public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x000000000D000000L}); + public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x0000000002000000L}); + public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x000000000C000000L}); + public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x0000000008000000L}); + +} \ No newline at end of file diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/src-gen/swt/most/statemachine/xtext/scoping/AbstractParserScopeProvider.java b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/src-gen/swt/most/statemachine/xtext/scoping/AbstractParserScopeProvider.java new file mode 100644 index 0000000..89bdd58 --- /dev/null +++ b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/src-gen/swt/most/statemachine/xtext/scoping/AbstractParserScopeProvider.java @@ -0,0 +1,9 @@ +/* + * generated by Xtext 2.35.0 + */ +package swt.most.statemachine.xtext.scoping; + +import org.eclipse.xtext.scoping.impl.DelegatingScopeProvider; + +public abstract class AbstractParserScopeProvider extends DelegatingScopeProvider { +} diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/src-gen/swt/most/statemachine/xtext/serializer/ParserSemanticSequencer.java b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/src-gen/swt/most/statemachine/xtext/serializer/ParserSemanticSequencer.java new file mode 100644 index 0000000..7a5da0b --- /dev/null +++ b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/src-gen/swt/most/statemachine/xtext/serializer/ParserSemanticSequencer.java @@ -0,0 +1,215 @@ +/* + * generated by Xtext 2.35.0 + */ +package swt.most.statemachine.xtext.serializer; + +import com.google.inject.Inject; +import java.util.Set; +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.EPackage; +import org.eclipse.xtext.Action; +import org.eclipse.xtext.Parameter; +import org.eclipse.xtext.ParserRule; +import org.eclipse.xtext.serializer.ISerializationContext; +import org.eclipse.xtext.serializer.acceptor.SequenceFeeder; +import org.eclipse.xtext.serializer.sequencer.AbstractDelegatingSemanticSequencer; +import org.eclipse.xtext.serializer.sequencer.ITransientValueService.ValueTransient; +import swt.most.statemachine.FinalState; +import swt.most.statemachine.Guard; +import swt.most.statemachine.InitialState; +import swt.most.statemachine.NormalState; +import swt.most.statemachine.StateMachine; +import swt.most.statemachine.StatemachinePackage; +import swt.most.statemachine.Transition; +import swt.most.statemachine.Trigger; +import swt.most.statemachine.xtext.services.ParserGrammarAccess; + +@SuppressWarnings("all") +public class ParserSemanticSequencer extends AbstractDelegatingSemanticSequencer { + + @Inject + private ParserGrammarAccess grammarAccess; + + @Override + public void sequence(ISerializationContext context, EObject semanticObject) { + EPackage epackage = semanticObject.eClass().getEPackage(); + ParserRule rule = context.getParserRule(); + Action action = context.getAssignedAction(); + Set<Parameter> parameters = context.getEnabledBooleanParameters(); + if (epackage == StatemachinePackage.eINSTANCE) + switch (semanticObject.eClass().getClassifierID()) { + case StatemachinePackage.ACTION: + sequence_Action(context, (swt.most.statemachine.Action) semanticObject); + return; + case StatemachinePackage.FINAL_STATE: + sequence_FinalState(context, (FinalState) semanticObject); + return; + case StatemachinePackage.GUARD: + sequence_Guard(context, (Guard) semanticObject); + return; + case StatemachinePackage.INITIAL_STATE: + sequence_InitialState(context, (InitialState) semanticObject); + return; + case StatemachinePackage.NORMAL_STATE: + sequence_NormalState(context, (NormalState) semanticObject); + return; + case StatemachinePackage.STATE_MACHINE: + sequence_StateMachine(context, (StateMachine) semanticObject); + return; + case StatemachinePackage.TRANSITION: + sequence_Transition(context, (Transition) semanticObject); + return; + case StatemachinePackage.TRIGGER: + sequence_Trigger(context, (Trigger) semanticObject); + return; + } + if (errorAcceptor != null) + errorAcceptor.accept(diagnosticProvider.createInvalidContextOrTypeDiagnostic(semanticObject, context)); + } + + /** + * <pre> + * Contexts: + * Action returns Action + * + * Constraint: + * content=ActivityContent + * </pre> + */ + protected void sequence_Action(ISerializationContext context, swt.most.statemachine.Action semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, StatemachinePackage.Literals.EXPRESSION__CONTENT) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, StatemachinePackage.Literals.EXPRESSION__CONTENT)); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getActionAccess().getContentActivityContentParserRuleCall_1_0(), semanticObject.getContent()); + feeder.finish(); + } + + + /** + * <pre> + * Contexts: + * State returns FinalState + * FinalState returns FinalState + * + * Constraint: + * name=FINALSTATENAME + * </pre> + */ + protected void sequence_FinalState(ISerializationContext context, FinalState semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, StatemachinePackage.Literals.STATE__NAME) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, StatemachinePackage.Literals.STATE__NAME)); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getFinalStateAccess().getNameFINALSTATENAMETerminalRuleCall_2_0(), semanticObject.getName()); + feeder.finish(); + } + + + /** + * <pre> + * Contexts: + * Guard returns Guard + * + * Constraint: + * content=EString + * </pre> + */ + protected void sequence_Guard(ISerializationContext context, Guard semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, StatemachinePackage.Literals.EXPRESSION__CONTENT) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, StatemachinePackage.Literals.EXPRESSION__CONTENT)); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getGuardAccess().getContentEStringParserRuleCall_1_0(), semanticObject.getContent()); + feeder.finish(); + } + + + /** + * <pre> + * Contexts: + * State returns InitialState + * InitialState returns InitialState + * + * Constraint: + * name=INITIALSTATENAME + * </pre> + */ + protected void sequence_InitialState(ISerializationContext context, InitialState semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, StatemachinePackage.Literals.STATE__NAME) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, StatemachinePackage.Literals.STATE__NAME)); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getInitialStateAccess().getNameINITIALSTATENAMETerminalRuleCall_2_0(), semanticObject.getName()); + feeder.finish(); + } + + + /** + * <pre> + * Contexts: + * State returns NormalState + * NormalState returns NormalState + * + * Constraint: + * (name=EString entry_=Action? do_=Action? exit_=Action?) + * </pre> + */ + protected void sequence_NormalState(ISerializationContext context, NormalState semanticObject) { + genericSequencer.createSequence(context, semanticObject); + } + + + /** + * <pre> + * Contexts: + * StateMachine returns StateMachine + * + * Constraint: + * (name=EString initialstate=InitialState (states+=NormalState | finalstates+=FinalState | transitions+=Transition)*) + * </pre> + */ + protected void sequence_StateMachine(ISerializationContext context, StateMachine semanticObject) { + genericSequencer.createSequence(context, semanticObject); + } + + + /** + * <pre> + * Contexts: + * Transition returns Transition + * + * Constraint: + * (from=[State|EString] trigger=Trigger? guard=Guard? action=Action? to=[State|EString]) + * </pre> + */ + protected void sequence_Transition(ISerializationContext context, Transition semanticObject) { + genericSequencer.createSequence(context, semanticObject); + } + + + /** + * <pre> + * Contexts: + * Trigger returns Trigger + * + * Constraint: + * content=ActivityContent + * </pre> + */ + protected void sequence_Trigger(ISerializationContext context, Trigger semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, StatemachinePackage.Literals.EXPRESSION__CONTENT) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, StatemachinePackage.Literals.EXPRESSION__CONTENT)); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getTriggerAccess().getContentActivityContentParserRuleCall_1_0(), semanticObject.getContent()); + feeder.finish(); + } + + +} diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/src-gen/swt/most/statemachine/xtext/serializer/ParserSyntacticSequencer.java b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/src-gen/swt/most/statemachine/xtext/serializer/ParserSyntacticSequencer.java new file mode 100644 index 0000000..0044d42 --- /dev/null +++ b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/src-gen/swt/most/statemachine/xtext/serializer/ParserSyntacticSequencer.java @@ -0,0 +1,64 @@ +/* + * generated by Xtext 2.35.0 + */ +package swt.most.statemachine.xtext.serializer; + +import com.google.inject.Inject; +import java.util.List; +import org.eclipse.emf.ecore.EObject; +import org.eclipse.xtext.IGrammarAccess; +import org.eclipse.xtext.RuleCall; +import org.eclipse.xtext.nodemodel.INode; +import org.eclipse.xtext.serializer.analysis.GrammarAlias.AbstractElementAlias; +import org.eclipse.xtext.serializer.analysis.GrammarAlias.GroupAlias; +import org.eclipse.xtext.serializer.analysis.GrammarAlias.TokenAlias; +import org.eclipse.xtext.serializer.analysis.ISyntacticSequencerPDAProvider.ISynNavigable; +import org.eclipse.xtext.serializer.analysis.ISyntacticSequencerPDAProvider.ISynTransition; +import org.eclipse.xtext.serializer.sequencer.AbstractSyntacticSequencer; +import swt.most.statemachine.xtext.services.ParserGrammarAccess; + +@SuppressWarnings("all") +public class ParserSyntacticSequencer extends AbstractSyntacticSequencer { + + protected ParserGrammarAccess grammarAccess; + protected AbstractElementAlias match_NormalState___LeftCurlyBracketKeyword_3_0_RightCurlyBracketKeyword_3_4__q; + + @Inject + protected void init(IGrammarAccess access) { + grammarAccess = (ParserGrammarAccess) access; + match_NormalState___LeftCurlyBracketKeyword_3_0_RightCurlyBracketKeyword_3_4__q = new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getNormalStateAccess().getLeftCurlyBracketKeyword_3_0()), new TokenAlias(false, false, grammarAccess.getNormalStateAccess().getRightCurlyBracketKeyword_3_4())); + } + + @Override + protected String getUnassignedRuleCallToken(EObject semanticObject, RuleCall ruleCall, INode node) { + return ""; + } + + + @Override + protected void emitUnassignedTokens(EObject semanticObject, ISynTransition transition, INode fromNode, INode toNode) { + if (transition.getAmbiguousSyntaxes().isEmpty()) return; + List<INode> transitionNodes = collectNodes(fromNode, toNode); + for (AbstractElementAlias syntax : transition.getAmbiguousSyntaxes()) { + List<INode> syntaxNodes = getNodesFor(transitionNodes, syntax); + if (match_NormalState___LeftCurlyBracketKeyword_3_0_RightCurlyBracketKeyword_3_4__q.equals(syntax)) + emit_NormalState___LeftCurlyBracketKeyword_3_0_RightCurlyBracketKeyword_3_4__q(semanticObject, getLastNavigableState(), syntaxNodes); + else acceptNodes(getLastNavigableState(), syntaxNodes); + } + } + + /** + * <pre> + * Ambiguous syntax: + * ('{' '}')? + * + * This ambiguous syntax occurs at: + * name=EString (ambiguity) (rule end) + + * </pre> + */ + protected void emit_NormalState___LeftCurlyBracketKeyword_3_0_RightCurlyBracketKeyword_3_4__q(EObject semanticObject, ISynNavigable transition, List<INode> nodes) { + acceptNodes(transition, nodes); + } + +} diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/src-gen/swt/most/statemachine/xtext/services/ParserGrammarAccess.java b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/src-gen/swt/most/statemachine/xtext/services/ParserGrammarAccess.java new file mode 100644 index 0000000..b41c62c --- /dev/null +++ b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/src-gen/swt/most/statemachine/xtext/services/ParserGrammarAccess.java @@ -0,0 +1,780 @@ +/* + * generated by Xtext 2.35.0 + */ +package swt.most.statemachine.xtext.services; + +import com.google.inject.Inject; +import com.google.inject.Singleton; +import java.util.List; +import org.eclipse.xtext.Action; +import org.eclipse.xtext.Alternatives; +import org.eclipse.xtext.Assignment; +import org.eclipse.xtext.CrossReference; +import org.eclipse.xtext.Grammar; +import org.eclipse.xtext.GrammarUtil; +import org.eclipse.xtext.Group; +import org.eclipse.xtext.Keyword; +import org.eclipse.xtext.ParserRule; +import org.eclipse.xtext.RuleCall; +import org.eclipse.xtext.TerminalRule; +import org.eclipse.xtext.common.services.TerminalsGrammarAccess; +import org.eclipse.xtext.service.AbstractElementFinder; +import org.eclipse.xtext.service.GrammarProvider; + +@Singleton +public class ParserGrammarAccess extends AbstractElementFinder.AbstractGrammarElementFinder { + + public class StateMachineElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "swt.most.statemachine.xtext.Parser.StateMachine"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Action cStateMachineAction_0 = (Action)cGroup.eContents().get(0); + private final Keyword cStateMachineKeyword_1 = (Keyword)cGroup.eContents().get(1); + private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2); + private final RuleCall cNameEStringParserRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_3 = (Keyword)cGroup.eContents().get(3); + private final Assignment cInitialstateAssignment_4 = (Assignment)cGroup.eContents().get(4); + private final RuleCall cInitialstateInitialStateParserRuleCall_4_0 = (RuleCall)cInitialstateAssignment_4.eContents().get(0); + private final Alternatives cAlternatives_5 = (Alternatives)cGroup.eContents().get(5); + private final Assignment cStatesAssignment_5_0 = (Assignment)cAlternatives_5.eContents().get(0); + private final RuleCall cStatesNormalStateParserRuleCall_5_0_0 = (RuleCall)cStatesAssignment_5_0.eContents().get(0); + private final Assignment cFinalstatesAssignment_5_1 = (Assignment)cAlternatives_5.eContents().get(1); + private final RuleCall cFinalstatesFinalStateParserRuleCall_5_1_0 = (RuleCall)cFinalstatesAssignment_5_1.eContents().get(0); + private final Assignment cTransitionsAssignment_5_2 = (Assignment)cAlternatives_5.eContents().get(2); + private final RuleCall cTransitionsTransitionParserRuleCall_5_2_0 = (RuleCall)cTransitionsAssignment_5_2.eContents().get(0); + private final Keyword cRightCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6); + + //StateMachine returns StateMachine: + // {StateMachine} + // 'StateMachine' name=EString + // '{' + // initialstate=InitialState + // ( states+=NormalState | finalstates+=FinalState | transitions+=Transition)* + // '}'; + @Override public ParserRule getRule() { return rule; } + + //{StateMachine} + //'StateMachine' name=EString + //'{' + // initialstate=InitialState + // ( states+=NormalState | finalstates+=FinalState | transitions+=Transition)* + //'}' + public Group getGroup() { return cGroup; } + + //{StateMachine} + public Action getStateMachineAction_0() { return cStateMachineAction_0; } + + //'StateMachine' + public Keyword getStateMachineKeyword_1() { return cStateMachineKeyword_1; } + + //name=EString + public Assignment getNameAssignment_2() { return cNameAssignment_2; } + + //EString + public RuleCall getNameEStringParserRuleCall_2_0() { return cNameEStringParserRuleCall_2_0; } + + //'{' + public Keyword getLeftCurlyBracketKeyword_3() { return cLeftCurlyBracketKeyword_3; } + + //initialstate=InitialState + public Assignment getInitialstateAssignment_4() { return cInitialstateAssignment_4; } + + //InitialState + public RuleCall getInitialstateInitialStateParserRuleCall_4_0() { return cInitialstateInitialStateParserRuleCall_4_0; } + + //( states+=NormalState | finalstates+=FinalState | transitions+=Transition)* + public Alternatives getAlternatives_5() { return cAlternatives_5; } + + //states+=NormalState + public Assignment getStatesAssignment_5_0() { return cStatesAssignment_5_0; } + + //NormalState + public RuleCall getStatesNormalStateParserRuleCall_5_0_0() { return cStatesNormalStateParserRuleCall_5_0_0; } + + //finalstates+=FinalState + public Assignment getFinalstatesAssignment_5_1() { return cFinalstatesAssignment_5_1; } + + //FinalState + public RuleCall getFinalstatesFinalStateParserRuleCall_5_1_0() { return cFinalstatesFinalStateParserRuleCall_5_1_0; } + + //transitions+=Transition + public Assignment getTransitionsAssignment_5_2() { return cTransitionsAssignment_5_2; } + + //Transition + public RuleCall getTransitionsTransitionParserRuleCall_5_2_0() { return cTransitionsTransitionParserRuleCall_5_2_0; } + + //'}' + public Keyword getRightCurlyBracketKeyword_6() { return cRightCurlyBracketKeyword_6; } + } + public class StateElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "swt.most.statemachine.xtext.Parser.State"); + private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); + private final RuleCall cInitialStateParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); + private final RuleCall cFinalStateParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); + private final RuleCall cNormalStateParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); + + //State returns State: + // InitialState | FinalState | NormalState; + @Override public ParserRule getRule() { return rule; } + + //InitialState | FinalState | NormalState + public Alternatives getAlternatives() { return cAlternatives; } + + //InitialState + public RuleCall getInitialStateParserRuleCall_0() { return cInitialStateParserRuleCall_0; } + + //FinalState + public RuleCall getFinalStateParserRuleCall_1() { return cFinalStateParserRuleCall_1; } + + //NormalState + public RuleCall getNormalStateParserRuleCall_2() { return cNormalStateParserRuleCall_2; } + } + public class NormalStateElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "swt.most.statemachine.xtext.Parser.NormalState"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Action cNormalStateAction_0 = (Action)cGroup.eContents().get(0); + private final Keyword cStateKeyword_1 = (Keyword)cGroup.eContents().get(1); + private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2); + private final RuleCall cNameEStringParserRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0); + private final Group cGroup_3 = (Group)cGroup.eContents().get(3); + private final Keyword cLeftCurlyBracketKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0); + private final Group cGroup_3_1 = (Group)cGroup_3.eContents().get(1); + private final Keyword cEntryKeyword_3_1_0 = (Keyword)cGroup_3_1.eContents().get(0); + private final Assignment cEntry_Assignment_3_1_1 = (Assignment)cGroup_3_1.eContents().get(1); + private final RuleCall cEntry_ActionParserRuleCall_3_1_1_0 = (RuleCall)cEntry_Assignment_3_1_1.eContents().get(0); + private final Group cGroup_3_2 = (Group)cGroup_3.eContents().get(2); + private final Keyword cDoKeyword_3_2_0 = (Keyword)cGroup_3_2.eContents().get(0); + private final Assignment cDo_Assignment_3_2_1 = (Assignment)cGroup_3_2.eContents().get(1); + private final RuleCall cDo_ActionParserRuleCall_3_2_1_0 = (RuleCall)cDo_Assignment_3_2_1.eContents().get(0); + private final Group cGroup_3_3 = (Group)cGroup_3.eContents().get(3); + private final Keyword cExitKeyword_3_3_0 = (Keyword)cGroup_3_3.eContents().get(0); + private final Assignment cExit_Assignment_3_3_1 = (Assignment)cGroup_3_3.eContents().get(1); + private final RuleCall cExit_ActionParserRuleCall_3_3_1_0 = (RuleCall)cExit_Assignment_3_3_1.eContents().get(0); + private final Keyword cRightCurlyBracketKeyword_3_4 = (Keyword)cGroup_3.eContents().get(4); + + //NormalState returns NormalState: + // {NormalState} + // 'state' name=EString ('{' + // ('entry:' entry_=Action)? + // ('do:' do_=Action)? + // ('exit:' exit_=Action)? + // '}')?; + @Override public ParserRule getRule() { return rule; } + + //{NormalState} + //'state' name=EString ('{' + // ('entry:' entry_=Action)? + // ('do:' do_=Action)? + // ('exit:' exit_=Action)? + //'}')? + public Group getGroup() { return cGroup; } + + //{NormalState} + public Action getNormalStateAction_0() { return cNormalStateAction_0; } + + //'state' + public Keyword getStateKeyword_1() { return cStateKeyword_1; } + + //name=EString + public Assignment getNameAssignment_2() { return cNameAssignment_2; } + + //EString + public RuleCall getNameEStringParserRuleCall_2_0() { return cNameEStringParserRuleCall_2_0; } + + //('{' + // ('entry:' entry_=Action)? + // ('do:' do_=Action)? + // ('exit:' exit_=Action)? + // '}')? + public Group getGroup_3() { return cGroup_3; } + + //'{' + public Keyword getLeftCurlyBracketKeyword_3_0() { return cLeftCurlyBracketKeyword_3_0; } + + //('entry:' entry_=Action)? + public Group getGroup_3_1() { return cGroup_3_1; } + + //'entry:' + public Keyword getEntryKeyword_3_1_0() { return cEntryKeyword_3_1_0; } + + //entry_=Action + public Assignment getEntry_Assignment_3_1_1() { return cEntry_Assignment_3_1_1; } + + //Action + public RuleCall getEntry_ActionParserRuleCall_3_1_1_0() { return cEntry_ActionParserRuleCall_3_1_1_0; } + + //('do:' do_=Action)? + public Group getGroup_3_2() { return cGroup_3_2; } + + //'do:' + public Keyword getDoKeyword_3_2_0() { return cDoKeyword_3_2_0; } + + //do_=Action + public Assignment getDo_Assignment_3_2_1() { return cDo_Assignment_3_2_1; } + + //Action + public RuleCall getDo_ActionParserRuleCall_3_2_1_0() { return cDo_ActionParserRuleCall_3_2_1_0; } + + //('exit:' exit_=Action)? + public Group getGroup_3_3() { return cGroup_3_3; } + + //'exit:' + public Keyword getExitKeyword_3_3_0() { return cExitKeyword_3_3_0; } + + //exit_=Action + public Assignment getExit_Assignment_3_3_1() { return cExit_Assignment_3_3_1; } + + //Action + public RuleCall getExit_ActionParserRuleCall_3_3_1_0() { return cExit_ActionParserRuleCall_3_3_1_0; } + + //'}' + public Keyword getRightCurlyBracketKeyword_3_4() { return cRightCurlyBracketKeyword_3_4; } + } + public class FinalStateElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "swt.most.statemachine.xtext.Parser.FinalState"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Action cFinalStateAction_0 = (Action)cGroup.eContents().get(0); + private final Keyword cEndKeyword_1 = (Keyword)cGroup.eContents().get(1); + private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2); + private final RuleCall cNameFINALSTATENAMETerminalRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0); + + //FinalState returns FinalState: + // {FinalState} + // 'end' name=FINALSTATENAME; + @Override public ParserRule getRule() { return rule; } + + //{FinalState} + //'end' name=FINALSTATENAME + public Group getGroup() { return cGroup; } + + //{FinalState} + public Action getFinalStateAction_0() { return cFinalStateAction_0; } + + //'end' + public Keyword getEndKeyword_1() { return cEndKeyword_1; } + + //name=FINALSTATENAME + public Assignment getNameAssignment_2() { return cNameAssignment_2; } + + //FINALSTATENAME + public RuleCall getNameFINALSTATENAMETerminalRuleCall_2_0() { return cNameFINALSTATENAMETerminalRuleCall_2_0; } + } + public class InitialStateElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "swt.most.statemachine.xtext.Parser.InitialState"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Action cInitialStateAction_0 = (Action)cGroup.eContents().get(0); + private final Keyword cStartKeyword_1 = (Keyword)cGroup.eContents().get(1); + private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2); + private final RuleCall cNameINITIALSTATENAMETerminalRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0); + + //InitialState returns InitialState: + // {InitialState} + // 'start' name=INITIALSTATENAME; + @Override public ParserRule getRule() { return rule; } + + //{InitialState} + //'start' name=INITIALSTATENAME + public Group getGroup() { return cGroup; } + + //{InitialState} + public Action getInitialStateAction_0() { return cInitialStateAction_0; } + + //'start' + public Keyword getStartKeyword_1() { return cStartKeyword_1; } + + //name=INITIALSTATENAME + public Assignment getNameAssignment_2() { return cNameAssignment_2; } + + //INITIALSTATENAME + public RuleCall getNameINITIALSTATENAMETerminalRuleCall_2_0() { return cNameINITIALSTATENAMETerminalRuleCall_2_0; } + } + public class TransitionElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "swt.most.statemachine.xtext.Parser.Transition"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Action cTransitionAction_0 = (Action)cGroup.eContents().get(0); + private final Assignment cFromAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final CrossReference cFromStateCrossReference_1_0 = (CrossReference)cFromAssignment_1.eContents().get(0); + private final RuleCall cFromStateEStringParserRuleCall_1_0_1 = (RuleCall)cFromStateCrossReference_1_0.eContents().get(1); + private final Keyword cHyphenMinusKeyword_2 = (Keyword)cGroup.eContents().get(2); + private final Assignment cTriggerAssignment_3 = (Assignment)cGroup.eContents().get(3); + private final RuleCall cTriggerTriggerParserRuleCall_3_0 = (RuleCall)cTriggerAssignment_3.eContents().get(0); + private final Group cGroup_4 = (Group)cGroup.eContents().get(4); + private final Keyword cLeftSquareBracketKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0); + private final Assignment cGuardAssignment_4_1 = (Assignment)cGroup_4.eContents().get(1); + private final RuleCall cGuardGuardParserRuleCall_4_1_0 = (RuleCall)cGuardAssignment_4_1.eContents().get(0); + private final Keyword cRightSquareBracketKeyword_4_2 = (Keyword)cGroup_4.eContents().get(2); + private final Group cGroup_5 = (Group)cGroup.eContents().get(5); + private final Keyword cSolidusKeyword_5_0 = (Keyword)cGroup_5.eContents().get(0); + private final Assignment cActionAssignment_5_1 = (Assignment)cGroup_5.eContents().get(1); + private final RuleCall cActionActionParserRuleCall_5_1_0 = (RuleCall)cActionAssignment_5_1.eContents().get(0); + private final Keyword cHyphenMinusGreaterThanSignKeyword_6 = (Keyword)cGroup.eContents().get(6); + private final Assignment cToAssignment_7 = (Assignment)cGroup.eContents().get(7); + private final CrossReference cToStateCrossReference_7_0 = (CrossReference)cToAssignment_7.eContents().get(0); + private final RuleCall cToStateEStringParserRuleCall_7_0_1 = (RuleCall)cToStateCrossReference_7_0.eContents().get(1); + + ///* + // * You can define further more detailed validations rules to check for the semantics of your language + // * in the '***Validator' class under 'src/***.validation'. + // * e.g. There must be no Transitions to the InitialState and no Transitions from a FinalState + //*/ + //Transition returns Transition: + // {Transition} + // from=[State|EString] '-'(trigger=Trigger)?('[' guard=Guard ']')? ('/' action=Action)? '->' to=[State|EString]; + @Override public ParserRule getRule() { return rule; } + + //{Transition} + //from=[State|EString] '-'(trigger=Trigger)?('[' guard=Guard ']')? ('/' action=Action)? '->' to=[State|EString] + public Group getGroup() { return cGroup; } + + //{Transition} + public Action getTransitionAction_0() { return cTransitionAction_0; } + + //from=[State|EString] + public Assignment getFromAssignment_1() { return cFromAssignment_1; } + + //[State|EString] + public CrossReference getFromStateCrossReference_1_0() { return cFromStateCrossReference_1_0; } + + //EString + public RuleCall getFromStateEStringParserRuleCall_1_0_1() { return cFromStateEStringParserRuleCall_1_0_1; } + + //'-' + public Keyword getHyphenMinusKeyword_2() { return cHyphenMinusKeyword_2; } + + //(trigger=Trigger)? + public Assignment getTriggerAssignment_3() { return cTriggerAssignment_3; } + + //Trigger + public RuleCall getTriggerTriggerParserRuleCall_3_0() { return cTriggerTriggerParserRuleCall_3_0; } + + //('[' guard=Guard ']')? + public Group getGroup_4() { return cGroup_4; } + + //'[' + public Keyword getLeftSquareBracketKeyword_4_0() { return cLeftSquareBracketKeyword_4_0; } + + //guard=Guard + public Assignment getGuardAssignment_4_1() { return cGuardAssignment_4_1; } + + //Guard + public RuleCall getGuardGuardParserRuleCall_4_1_0() { return cGuardGuardParserRuleCall_4_1_0; } + + //']' + public Keyword getRightSquareBracketKeyword_4_2() { return cRightSquareBracketKeyword_4_2; } + + //('/' action=Action)? + public Group getGroup_5() { return cGroup_5; } + + //'/' + public Keyword getSolidusKeyword_5_0() { return cSolidusKeyword_5_0; } + + //action=Action + public Assignment getActionAssignment_5_1() { return cActionAssignment_5_1; } + + //Action + public RuleCall getActionActionParserRuleCall_5_1_0() { return cActionActionParserRuleCall_5_1_0; } + + //'->' + public Keyword getHyphenMinusGreaterThanSignKeyword_6() { return cHyphenMinusGreaterThanSignKeyword_6; } + + //to=[State|EString] + public Assignment getToAssignment_7() { return cToAssignment_7; } + + //[State|EString] + public CrossReference getToStateCrossReference_7_0() { return cToStateCrossReference_7_0; } + + //EString + public RuleCall getToStateEStringParserRuleCall_7_0_1() { return cToStateEStringParserRuleCall_7_0_1; } + } + public class ActionElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "swt.most.statemachine.xtext.Parser.Action"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Action cActionAction_0 = (Action)cGroup.eContents().get(0); + private final Assignment cContentAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final RuleCall cContentActivityContentParserRuleCall_1_0 = (RuleCall)cContentAssignment_1.eContents().get(0); + + //Action returns Action: + // {Action} + // content=ActivityContent; + @Override public ParserRule getRule() { return rule; } + + //{Action} + //content=ActivityContent + public Group getGroup() { return cGroup; } + + //{Action} + public Action getActionAction_0() { return cActionAction_0; } + + //content=ActivityContent + public Assignment getContentAssignment_1() { return cContentAssignment_1; } + + //ActivityContent + public RuleCall getContentActivityContentParserRuleCall_1_0() { return cContentActivityContentParserRuleCall_1_0; } + } + public class TriggerElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "swt.most.statemachine.xtext.Parser.Trigger"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Action cTriggerAction_0 = (Action)cGroup.eContents().get(0); + private final Assignment cContentAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final RuleCall cContentActivityContentParserRuleCall_1_0 = (RuleCall)cContentAssignment_1.eContents().get(0); + + //Trigger returns Trigger: + // {Trigger} + // content=ActivityContent; + @Override public ParserRule getRule() { return rule; } + + //{Trigger} + //content=ActivityContent + public Group getGroup() { return cGroup; } + + //{Trigger} + public Action getTriggerAction_0() { return cTriggerAction_0; } + + //content=ActivityContent + public Assignment getContentAssignment_1() { return cContentAssignment_1; } + + //ActivityContent + public RuleCall getContentActivityContentParserRuleCall_1_0() { return cContentActivityContentParserRuleCall_1_0; } + } + public class GuardElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "swt.most.statemachine.xtext.Parser.Guard"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Action cGuardAction_0 = (Action)cGroup.eContents().get(0); + private final Assignment cContentAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final RuleCall cContentEStringParserRuleCall_1_0 = (RuleCall)cContentAssignment_1.eContents().get(0); + + //Guard returns Guard: + // {Guard} + // content=EString; + @Override public ParserRule getRule() { return rule; } + + //{Guard} + //content=EString + public Group getGroup() { return cGroup; } + + //{Guard} + public Action getGuardAction_0() { return cGuardAction_0; } + + //content=EString + public Assignment getContentAssignment_1() { return cContentAssignment_1; } + + //EString + public RuleCall getContentEStringParserRuleCall_1_0() { return cContentEStringParserRuleCall_1_0; } + } + public class ActivityContentElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "swt.most.statemachine.xtext.Parser.ActivityContent"); + private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); + private final RuleCall cSTRINGTerminalRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); + private final RuleCall cIDTerminalRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); + private final RuleCall cCALLTerminalRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); + + ///* + // * You can use Strings syntax ('...') for unclear/abstract parts of your text syntax. + // * If your domain is defined enough you can create rules and terminal rules for these parts,too. + //*/ + //ActivityContent returns ecore::EString: + // STRING | ID | CALL; + @Override public ParserRule getRule() { return rule; } + + //STRING | ID | CALL + public Alternatives getAlternatives() { return cAlternatives; } + + //STRING + public RuleCall getSTRINGTerminalRuleCall_0() { return cSTRINGTerminalRuleCall_0; } + + //ID + public RuleCall getIDTerminalRuleCall_1() { return cIDTerminalRuleCall_1; } + + //CALL + public RuleCall getCALLTerminalRuleCall_2() { return cCALLTerminalRuleCall_2; } + } + public class EStringElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "swt.most.statemachine.xtext.Parser.EString"); + private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); + private final RuleCall cSTRINGTerminalRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); + private final RuleCall cIDTerminalRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); + private final RuleCall cINITIALSTATENAMETerminalRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); + private final RuleCall cFINALSTATENAMETerminalRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3); + + //EString returns ecore::EString: + // STRING | ID | INITIALSTATENAME | FINALSTATENAME; + @Override public ParserRule getRule() { return rule; } + + //STRING | ID | INITIALSTATENAME | FINALSTATENAME + public Alternatives getAlternatives() { return cAlternatives; } + + //STRING + public RuleCall getSTRINGTerminalRuleCall_0() { return cSTRINGTerminalRuleCall_0; } + + //ID + public RuleCall getIDTerminalRuleCall_1() { return cIDTerminalRuleCall_1; } + + //INITIALSTATENAME + public RuleCall getINITIALSTATENAMETerminalRuleCall_2() { return cINITIALSTATENAMETerminalRuleCall_2; } + + //FINALSTATENAME + public RuleCall getFINALSTATENAMETerminalRuleCall_3() { return cFINALSTATENAMETerminalRuleCall_3; } + } + + + private final StateMachineElements pStateMachine; + private final StateElements pState; + private final NormalStateElements pNormalState; + private final FinalStateElements pFinalState; + private final InitialStateElements pInitialState; + private final TransitionElements pTransition; + private final ActionElements pAction; + private final TriggerElements pTrigger; + private final GuardElements pGuard; + private final TerminalRule tINITIALSTATENAME; + private final TerminalRule tFINALSTATENAME; + private final ActivityContentElements pActivityContent; + private final TerminalRule tCALL; + private final EStringElements pEString; + + private final Grammar grammar; + + private final TerminalsGrammarAccess gaTerminals; + + @Inject + public ParserGrammarAccess(GrammarProvider grammarProvider, + TerminalsGrammarAccess gaTerminals) { + this.grammar = internalFindGrammar(grammarProvider); + this.gaTerminals = gaTerminals; + this.pStateMachine = new StateMachineElements(); + this.pState = new StateElements(); + this.pNormalState = new NormalStateElements(); + this.pFinalState = new FinalStateElements(); + this.pInitialState = new InitialStateElements(); + this.pTransition = new TransitionElements(); + this.pAction = new ActionElements(); + this.pTrigger = new TriggerElements(); + this.pGuard = new GuardElements(); + this.tINITIALSTATENAME = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "swt.most.statemachine.xtext.Parser.INITIALSTATENAME"); + this.tFINALSTATENAME = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "swt.most.statemachine.xtext.Parser.FINALSTATENAME"); + this.pActivityContent = new ActivityContentElements(); + this.tCALL = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "swt.most.statemachine.xtext.Parser.CALL"); + this.pEString = new EStringElements(); + } + + protected Grammar internalFindGrammar(GrammarProvider grammarProvider) { + Grammar grammar = grammarProvider.getGrammar(this); + while (grammar != null) { + if ("swt.most.statemachine.xtext.Parser".equals(grammar.getName())) { + return grammar; + } + List<Grammar> grammars = grammar.getUsedGrammars(); + if (!grammars.isEmpty()) { + grammar = grammars.iterator().next(); + } else { + return null; + } + } + return grammar; + } + + @Override + public Grammar getGrammar() { + return grammar; + } + + + public TerminalsGrammarAccess getTerminalsGrammarAccess() { + return gaTerminals; + } + + + //StateMachine returns StateMachine: + // {StateMachine} + // 'StateMachine' name=EString + // '{' + // initialstate=InitialState + // ( states+=NormalState | finalstates+=FinalState | transitions+=Transition)* + // '}'; + public StateMachineElements getStateMachineAccess() { + return pStateMachine; + } + + public ParserRule getStateMachineRule() { + return getStateMachineAccess().getRule(); + } + + //State returns State: + // InitialState | FinalState | NormalState; + public StateElements getStateAccess() { + return pState; + } + + public ParserRule getStateRule() { + return getStateAccess().getRule(); + } + + //NormalState returns NormalState: + // {NormalState} + // 'state' name=EString ('{' + // ('entry:' entry_=Action)? + // ('do:' do_=Action)? + // ('exit:' exit_=Action)? + // '}')?; + public NormalStateElements getNormalStateAccess() { + return pNormalState; + } + + public ParserRule getNormalStateRule() { + return getNormalStateAccess().getRule(); + } + + //FinalState returns FinalState: + // {FinalState} + // 'end' name=FINALSTATENAME; + public FinalStateElements getFinalStateAccess() { + return pFinalState; + } + + public ParserRule getFinalStateRule() { + return getFinalStateAccess().getRule(); + } + + //InitialState returns InitialState: + // {InitialState} + // 'start' name=INITIALSTATENAME; + public InitialStateElements getInitialStateAccess() { + return pInitialState; + } + + public ParserRule getInitialStateRule() { + return getInitialStateAccess().getRule(); + } + + ///* + // * You can define further more detailed validations rules to check for the semantics of your language + // * in the '***Validator' class under 'src/***.validation'. + // * e.g. There must be no Transitions to the InitialState and no Transitions from a FinalState + //*/ + //Transition returns Transition: + // {Transition} + // from=[State|EString] '-'(trigger=Trigger)?('[' guard=Guard ']')? ('/' action=Action)? '->' to=[State|EString]; + public TransitionElements getTransitionAccess() { + return pTransition; + } + + public ParserRule getTransitionRule() { + return getTransitionAccess().getRule(); + } + + //Action returns Action: + // {Action} + // content=ActivityContent; + public ActionElements getActionAccess() { + return pAction; + } + + public ParserRule getActionRule() { + return getActionAccess().getRule(); + } + + //Trigger returns Trigger: + // {Trigger} + // content=ActivityContent; + public TriggerElements getTriggerAccess() { + return pTrigger; + } + + public ParserRule getTriggerRule() { + return getTriggerAccess().getRule(); + } + + //Guard returns Guard: + // {Guard} + // content=EString; + public GuardElements getGuardAccess() { + return pGuard; + } + + public ParserRule getGuardRule() { + return getGuardAccess().getRule(); + } + + ///* + // * Special naming conventions + // * Also possible via validator rules + //*/ + //terminal INITIALSTATENAME returns ecore::EString: + // ('I_')(INT|STRING|ID)+; + public TerminalRule getINITIALSTATENAMERule() { + return tINITIALSTATENAME; + } + + //terminal FINALSTATENAME returns ecore::EString: + // ('F_')(INT|STRING|ID)+ ; + public TerminalRule getFINALSTATENAMERule() { + return tFINALSTATENAME; + } + + ///* + // * You can use Strings syntax ('...') for unclear/abstract parts of your text syntax. + // * If your domain is defined enough you can create rules and terminal rules for these parts,too. + //*/ + //ActivityContent returns ecore::EString: + // STRING | ID | CALL; + public ActivityContentElements getActivityContentAccess() { + return pActivityContent; + } + + public ParserRule getActivityContentRule() { + return getActivityContentAccess().getRule(); + } + + //terminal CALL returns ecore::EString: + // (ID)('.'(ID))+; + public TerminalRule getCALLRule() { + return tCALL; + } + + //EString returns ecore::EString: + // STRING | ID | INITIALSTATENAME | FINALSTATENAME; + public EStringElements getEStringAccess() { + return pEString; + } + + public ParserRule getEStringRule() { + return getEStringAccess().getRule(); + } + + //terminal ID: '^'?('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*; + public TerminalRule getIDRule() { + return gaTerminals.getIDRule(); + } + + //terminal INT returns ecore::EInt: ('0'..'9')+; + public TerminalRule getINTRule() { + return gaTerminals.getINTRule(); + } + + //terminal STRING: + // '"' ( '\\' . /* 'b'|'t'|'n'|'f'|'r'|'u'|'"'|"'"|'\\' */ | !('\\'|'"') )* '"' | + // "'" ( '\\' . /* 'b'|'t'|'n'|'f'|'r'|'u'|'"'|"'"|'\\' */ | !('\\'|"'") )* "'" + // ; + public TerminalRule getSTRINGRule() { + return gaTerminals.getSTRINGRule(); + } + + //terminal ML_COMMENT : '/*' -> '*/'; + public TerminalRule getML_COMMENTRule() { + return gaTerminals.getML_COMMENTRule(); + } + + //terminal SL_COMMENT : '//' !('\n'|'\r')* ('\r'? '\n')?; + public TerminalRule getSL_COMMENTRule() { + return gaTerminals.getSL_COMMENTRule(); + } + + //terminal WS : (' '|'\t'|'\r'|'\n')+; + public TerminalRule getWSRule() { + return gaTerminals.getWSRule(); + } + + //terminal ANY_OTHER: .; + public TerminalRule getANY_OTHERRule() { + return gaTerminals.getANY_OTHERRule(); + } +} diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/src-gen/swt/most/statemachine/xtext/validation/AbstractParserValidator.java b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/src-gen/swt/most/statemachine/xtext/validation/AbstractParserValidator.java new file mode 100644 index 0000000..52477cb --- /dev/null +++ b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/src-gen/swt/most/statemachine/xtext/validation/AbstractParserValidator.java @@ -0,0 +1,19 @@ +/* + * generated by Xtext 2.35.0 + */ +package swt.most.statemachine.xtext.validation; + +import java.util.ArrayList; +import java.util.List; +import org.eclipse.emf.ecore.EPackage; +import org.eclipse.xtext.validation.AbstractDeclarativeValidator; + +public abstract class AbstractParserValidator extends AbstractDeclarativeValidator { + + @Override + protected List<EPackage> getEPackages() { + List<EPackage> result = new ArrayList<EPackage>(); + result.add(EPackage.Registry.INSTANCE.getEPackage("http://www.swt.org/most/statemachine")); + return result; + } +} diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/src-gen/swt/most/statemachine/xtext/validation/ParserConfigurableIssueCodesProvider.java b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/src-gen/swt/most/statemachine/xtext/validation/ParserConfigurableIssueCodesProvider.java new file mode 100644 index 0000000..46034b9 --- /dev/null +++ b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/src-gen/swt/most/statemachine/xtext/validation/ParserConfigurableIssueCodesProvider.java @@ -0,0 +1,21 @@ +/* + * generated by Xtext 2.35.0 + */ +package swt.most.statemachine.xtext.validation; + +import org.eclipse.xtext.preferences.PreferenceKey; +import org.eclipse.xtext.util.IAcceptor; +import org.eclipse.xtext.validation.ConfigurableIssueCodesProvider; +import org.eclipse.xtext.validation.SeverityConverter; + +public class ParserConfigurableIssueCodesProvider extends ConfigurableIssueCodesProvider { + protected static final String ISSUE_CODE_PREFIX = "swt.most.statemachine.xtext."; + + public static final String DEPRECATED_MODEL_PART = ISSUE_CODE_PREFIX + "deprecatedModelPart"; + + @Override + protected void initialize(IAcceptor<PreferenceKey> acceptor) { + super.initialize(acceptor); + acceptor.accept(create(DEPRECATED_MODEL_PART, SeverityConverter.SEVERITY_WARNING)); + } +} diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/src/swt/most/statemachine/xtext/GenerateParser.mwe2 b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/src/swt/most/statemachine/xtext/GenerateParser.mwe2 new file mode 100644 index 0000000..df9ec2c --- /dev/null +++ b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/src/swt/most/statemachine/xtext/GenerateParser.mwe2 @@ -0,0 +1,59 @@ +module swt.most.statemachine.xtext.GenerateParser + +import org.eclipse.xtext.xtext.generator.* +import org.eclipse.xtext.xtext.generator.model.project.* + +var rootPath = ".." + +Workflow { + + component = XtextGenerator { + configuration = { + project = StandardProjectConfig { + baseName = "swt.most.statemachine.xtext" + rootPath = rootPath + eclipsePlugin = { + enabled = true + } + createEclipseMetaData = true + } + code = { + encoding = "UTF-8" + lineDelimiter = "\r\n" + fileHeader = "/*\n * generated by Xtext \${version}\n */" + preferXtendStubs = false + } + } + language = StandardLanguage { + name = "swt.most.statemachine.xtext.Parser" + fileExtensions = "statemachine" + referencedResource = "platform:/resource/swt.most.statemachine/model/statemachine.genmodel" + + fragment = ecore2xtext.Ecore2XtextValueConverterServiceFragment2 auto-inject {} + + formatter = { + generateStub = true + generateXtendStub = true + } + + serializer = { + generateStub = false + } + validator = { + // composedCheck = "org.eclipse.xtext.validation.NamesAreUniqueValidator" + + // Enables several checks on the inferred Jvm model for Xbase languages concerning Java inheritance relations + // composedCheck = "org.eclipse.xtext.xbase.validation.JvmGenericTypeValidator" + + // Generates checks for @Deprecated grammar annotations, an IssueProvider and a corresponding PropertyPage + generateDeprecationValidation = true + } + generator = { + generateXtendStub = true + } + junitSupport = { + junitVersion = "5" + } + } + } +} diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/src/swt/most/statemachine/xtext/Parser.xtext b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/src/swt/most/statemachine/xtext/Parser.xtext new file mode 100644 index 0000000..29f5fde --- /dev/null +++ b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/src/swt/most/statemachine/xtext/Parser.xtext @@ -0,0 +1,76 @@ +// automatically generated by Xtext +grammar swt.most.statemachine.xtext.Parser with org.eclipse.xtext.common.Terminals + +import "http://www.swt.org/most/statemachine" +import "http://www.eclipse.org/emf/2002/Ecore" as ecore + +StateMachine returns StateMachine: + {StateMachine} + 'StateMachine' name=EString + '{' + initialstate=InitialState + ( states+=NormalState | finalstates+=FinalState | transitions+=Transition)* + '}'; + +State returns State: + InitialState | FinalState | NormalState; + +NormalState returns NormalState: + {NormalState} + 'state' name=EString ('{' + ('entry:' entry_=Action)? + ('do:' do_=Action)? + ('exit:' exit_=Action)? + '}')?; + +FinalState returns FinalState: + {FinalState} + 'end' name=FINALSTATENAME; + +InitialState returns InitialState: + {InitialState} + 'start' name=INITIALSTATENAME; + +/* + * You can define further more detailed validations rules to check for the semantics of your language + * in the '***Validator' class under 'src/***.validation'. + * e.g. There must be no Transitions to the InitialState and no Transitions from a FinalState +*/ +Transition returns Transition: + {Transition} + from=[State|EString] '-'(trigger=Trigger)?('[' guard=Guard ']')? ('/' action=Action)? '->' to=[State|EString]; + +Action returns Action: + {Action} + content=ActivityContent; + +Trigger returns Trigger: + {Trigger} + content=ActivityContent; + +Guard returns Guard: + {Guard} + content=EString; + +/* + * Special naming conventions + * Also possible via validator rules +*/ +terminal INITIALSTATENAME returns ecore::EString: + ('I_')(INT|STRING|ID)+; + +terminal FINALSTATENAME returns ecore::EString: + ('F_')(INT|STRING|ID)+ ; + +/* + * You can use Strings syntax ('...') for unclear/abstract parts of your text syntax. + * If your domain is defined enough you can create rules and terminal rules for these parts,too. +*/ +ActivityContent returns ecore::EString: + STRING | ID | CALL; + +terminal CALL returns ecore::EString: + (ID)('.'(ID))+; + +EString returns ecore::EString: + STRING | ID | INITIALSTATENAME | FINALSTATENAME; \ No newline at end of file diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/src/swt/most/statemachine/xtext/ParserRuntimeModule.java b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/src/swt/most/statemachine/xtext/ParserRuntimeModule.java new file mode 100644 index 0000000..698e811 --- /dev/null +++ b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/src/swt/most/statemachine/xtext/ParserRuntimeModule.java @@ -0,0 +1,11 @@ +/* + * generated by Xtext 2.35.0 + */ +package swt.most.statemachine.xtext; + + +/** + * Use this class to register components to be used at runtime / without the Equinox extension registry. + */ +public class ParserRuntimeModule extends AbstractParserRuntimeModule { +} diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/src/swt/most/statemachine/xtext/ParserStandaloneSetup.java b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/src/swt/most/statemachine/xtext/ParserStandaloneSetup.java new file mode 100644 index 0000000..ab7f0ed --- /dev/null +++ b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/src/swt/most/statemachine/xtext/ParserStandaloneSetup.java @@ -0,0 +1,15 @@ +/* + * generated by Xtext 2.35.0 + */ +package swt.most.statemachine.xtext; + + +/** + * Initialization support for running Xtext languages without Equinox extension registry. + */ +public class ParserStandaloneSetup extends ParserStandaloneSetupGenerated { + + public static void doSetup() { + new ParserStandaloneSetup().createInjectorAndDoEMFRegistration(); + } +} diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/src/swt/most/statemachine/xtext/formatting2/ParserFormatter.xtend b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/src/swt/most/statemachine/xtext/formatting2/ParserFormatter.xtend new file mode 100644 index 0000000..ce75455 --- /dev/null +++ b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/src/swt/most/statemachine/xtext/formatting2/ParserFormatter.xtend @@ -0,0 +1,39 @@ +/* + * generated by Xtext 2.35.0 + */ +package swt.most.statemachine.xtext.formatting2 + +import com.google.inject.Inject +import org.eclipse.xtext.formatting2.AbstractFormatter2 +import org.eclipse.xtext.formatting2.IFormattableDocument +import swt.most.statemachine.NormalState +import swt.most.statemachine.StateMachine +import swt.most.statemachine.xtext.services.ParserGrammarAccess + +class ParserFormatter extends AbstractFormatter2 { + + @Inject extension ParserGrammarAccess + + def dispatch void format(StateMachine stateMachine, extension IFormattableDocument document) { + // TODO: format HiddenRegions around keywords, attributes, cross references, etc. + stateMachine.initialstate.format + for (normalState : stateMachine.states) { + normalState.format + } + for (finalState : stateMachine.finalstates) { + finalState.format + } + for (transition : stateMachine.transitions) { + transition.format + } + } + + def dispatch void format(NormalState normalState, extension IFormattableDocument document) { + // TODO: format HiddenRegions around keywords, attributes, cross references, etc. + normalState.entry_.format + normalState.do_.format + normalState.exit_.format + } + + // TODO: implement for Transition +} diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/src/swt/most/statemachine/xtext/generator/ParserGenerator.xtend b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/src/swt/most/statemachine/xtext/generator/ParserGenerator.xtend new file mode 100644 index 0000000..a953dd5 --- /dev/null +++ b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/src/swt/most/statemachine/xtext/generator/ParserGenerator.xtend @@ -0,0 +1,25 @@ +/* + * generated by Xtext 2.35.0 + */ +package swt.most.statemachine.xtext.generator + +import org.eclipse.emf.ecore.resource.Resource +import org.eclipse.xtext.generator.AbstractGenerator +import org.eclipse.xtext.generator.IFileSystemAccess2 +import org.eclipse.xtext.generator.IGeneratorContext + +/** + * Generates code from your model files on save. + * + * See https://www.eclipse.org/Xtext/documentation/303_runtime_concepts.html#code-generation + */ +class ParserGenerator extends AbstractGenerator { + + override void doGenerate(Resource resource, IFileSystemAccess2 fsa, IGeneratorContext context) { +// fsa.generateFile('greetings.txt', 'People to greet: ' + +// resource.allContents +// .filter(Greeting) +// .map[name] +// .join(', ')) + } +} diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/src/swt/most/statemachine/xtext/scoping/ParserScopeProvider.java b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/src/swt/most/statemachine/xtext/scoping/ParserScopeProvider.java new file mode 100644 index 0000000..c3d9824 --- /dev/null +++ b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/src/swt/most/statemachine/xtext/scoping/ParserScopeProvider.java @@ -0,0 +1,15 @@ +/* + * generated by Xtext 2.35.0 + */ +package swt.most.statemachine.xtext.scoping; + + +/** + * This class contains custom scoping description. + * + * See https://www.eclipse.org/Xtext/documentation/303_runtime_concepts.html#scoping + * on how and when to use it. + */ +public class ParserScopeProvider extends AbstractParserScopeProvider { + +} diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/src/swt/most/statemachine/xtext/validation/ParserValidator.java b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/src/swt/most/statemachine/xtext/validation/ParserValidator.java new file mode 100644 index 0000000..e83cd6b --- /dev/null +++ b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/src/swt/most/statemachine/xtext/validation/ParserValidator.java @@ -0,0 +1,35 @@ +/* + * generated by Xtext 2.35.0 + */ +package swt.most.statemachine.xtext.validation; + +import org.eclipse.xtext.validation.Check; +import org.eclipse.xtext.validation.CheckType; + +import swt.most.statemachine.FinalState; +import swt.most.statemachine.InitialState; +import swt.most.statemachine.StatemachinePackage; +import swt.most.statemachine.Transition; + +/** + * This class contains custom validation rules. + * + * See https://www.eclipse.org/Xtext/documentation/303_runtime_concepts.html#validation + */ +public class ParserValidator extends AbstractParserValidator { + + /* + * Small example of the validations of other non structural semantics. + * It checks if the Transition to or from special states are correct, since these are not limited by the syntax (meta model). + */ + @Check(CheckType.FAST) + public void checkTransitionWithInvolvedSpecialStates( Transition transition ) { + if ( transition.getFrom() instanceof FinalState ) { + error("A transition can not start from a final state", StatemachinePackage.Literals.TRANSITION__FROM); + } + if ( transition.getTo() instanceof InitialState ) { + error("A transition can not end in an initial state", StatemachinePackage.Literals.TRANSITION__TO); + } + } + +} diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/xtend-gen/swt/most/statemachine/xtext/formatting2/.ParserFormatter.java._trace b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/xtend-gen/swt/most/statemachine/xtext/formatting2/.ParserFormatter.java._trace new file mode 100644 index 0000000000000000000000000000000000000000..f1466224b5c01e0c42a9cd6d19bfbca5fd09d67a GIT binary patch literal 2068 zcmZQzU|?lr^p;|D@Md6g>~N0YRcB<dEiNz7&&@9`(JwAZEJ@8xOwP#6OVzI^Nv$Z+ zPs=aLO)M$N%u6@Y4@fL3PAzhSh@=+jRg|RWr7$z9Gcq$UF{&}KFfckZdx(iSc)`qO zV0YFM5Eo})a_ke}<z--Wb`l2jmI?FnGBBa=7@eaWyd|U<m>dtN@$)k<IaiBFfq0ih zFnEm4tDKI?XfZH3zH;0rD9ga+yoFUphJnfPJFB1|0}~35(Rn8aSndzIpdbUI^Faj= z&xu(|P>_My`8Y3x#|zen%wu%E0+AB{$uT-V(g&-Q(*W!HEDGjnh=TPY^B7$?IKgtZ zoFMyLB%K0fH5r(k+#M4IWf_>z_^d9H_Oh~!Oiqgwg@qZIT_ibWWf`D6Mi(VhFmDe# zSk8bQ!DDnWmxt(+0?V26g5?(R3JWtZxghfxU0j5~a_b>-E&>Q1qf4yAQaMFNCZ}T# zZX#j~%r3F!a&nAJPB%qFL>QP|s(9t(7?_-H@`{KsFrn}mUD|oTa?jYoa_w9Q9;3@l zhfH}z2AHWVF7xE%<r$cqPV<O}Ffh98;{fx(b}+$sU~?E<E@&$#Ffcj2lM@kRV8X&< zWODi<EGo*t>~et<tP;#)bh)Vr;yE+0gXNyFBY2E1Z+SpGr!PFBq6|zZJVsY`hxJOT zj7-k_4xZwY49u?V4h~96j7-jolH%eF%&r=|N=gh&&WgOCM2o^>bTt(O%jxle<xKez zJVsX^hb(1P2AHudu7NVj$_z}-BHZHQ42-V%ykH*K4kj26Y!0Jqo2H5i1Cz70thgit z6BZsLle43cgaiY#Ya1t6C78$P+Ak00`LKiKX0s!BjIN8g!8}K92?+)!6dt4NZin@1 znv6`&(GH$cG7QYFyB!?V)EJqZb0wvu7?@q}@T#dXFgfS)g0dnCkJ0s|AXu)72Q2rJ zAHidEV{ph)*JOYh%i_i=qpr@t<eb1QCB?w#rpycGf$d;|@xbOVx>;#zXfQB2x64Y& zFfd`^F)}Q0>dFuPfCf>nZfjBd{IVBQRNu$(_Tg2(6<#tr86a!X4yFrn}m-AWw! zbPO1noYy#V$*VB1xz(}i=rAxj?_>ofQWPGeTQdh(ZXdh6JOiU!w;Y&vR6<^!f!S>$ z4}`}9)`!evbejv2y9knFbX%nlR(VeYtZ%m{nD;^ytPh#T=yrh<EccfaY~MqNIlB4` zOfKvW>*ZA#nA}kLEN%~tbafe-T#}>|6&aY_9&+mHGC+BZZm%@Jyi#_s+$VMfkJ0U? z1Vo=OSnekeST2c2QIUbk4VlO2&I*ys1DV3)&dLQ=3Fa}nOX%zAF*3Q-iz_KHFuO}| z>gh2+d5rFgs$gC}J6KMW9l>LCHxPyB69CH@@POs&c|f_z9ht}IZUZs1n*}Uq12F~6 zV|4d1)YoTZa+xWqtjxgd?!&1M3Mep-(LGch%v;S4mWyRa@EF}w#3A~Gz;Y=(V7Zw* zp#15M%wu#f;0DVrWdq9<Kx_c>7~R{Q`;8nt8JMBf5i~8ayZ5mg8Nrhl6DpU{eKNa| z5d*U$xL$IGq$&4Vl1Mt3-4}qAz|tn8`*I$zEL80l6)+EyaGBkAi6U_s-OqD^xe&D; Z5e`LW7K}_#YdkJGlvr9bGC}NS1OS2ZW7q%y literal 0 HcmV?d00001 diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/xtend-gen/swt/most/statemachine/xtext/formatting2/.ParserFormatter.xtendbin b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/xtend-gen/swt/most/statemachine/xtext/formatting2/.ParserFormatter.xtendbin new file mode 100644 index 0000000000000000000000000000000000000000..d22c654acf07c193c8f99f8efc6cc1b81f948a9f GIT binary patch literal 3261 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 literal 0 HcmV?d00001 diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/xtend-gen/swt/most/statemachine/xtext/formatting2/ParserFormatter.java b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/xtend-gen/swt/most/statemachine/xtext/formatting2/ParserFormatter.java new file mode 100644 index 0000000..39ffa7d --- /dev/null +++ b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/xtend-gen/swt/most/statemachine/xtext/formatting2/ParserFormatter.java @@ -0,0 +1,74 @@ +/** + * generated by Xtext 2.35.0 + */ +package swt.most.statemachine.xtext.formatting2; + +import com.google.inject.Inject; +import java.util.Arrays; +import org.eclipse.emf.common.util.EList; +import org.eclipse.emf.ecore.EObject; +import org.eclipse.xtext.formatting2.AbstractFormatter2; +import org.eclipse.xtext.formatting2.IFormattableDocument; +import org.eclipse.xtext.resource.XtextResource; +import org.eclipse.xtext.xbase.lib.Extension; +import swt.most.statemachine.Action; +import swt.most.statemachine.FinalState; +import swt.most.statemachine.InitialState; +import swt.most.statemachine.NormalState; +import swt.most.statemachine.StateMachine; +import swt.most.statemachine.Transition; +import swt.most.statemachine.xtext.services.ParserGrammarAccess; + +@SuppressWarnings("all") +public class ParserFormatter extends AbstractFormatter2 { + @Inject + @Extension + private ParserGrammarAccess _parserGrammarAccess; + + protected void _format(final StateMachine stateMachine, @Extension final IFormattableDocument document) { + document.<InitialState>format(stateMachine.getInitialstate()); + EList<NormalState> _states = stateMachine.getStates(); + for (final NormalState normalState : _states) { + document.<NormalState>format(normalState); + } + EList<FinalState> _finalstates = stateMachine.getFinalstates(); + for (final FinalState finalState : _finalstates) { + document.<FinalState>format(finalState); + } + EList<Transition> _transitions = stateMachine.getTransitions(); + for (final Transition transition : _transitions) { + document.<Transition>format(transition); + } + } + + protected void _format(final NormalState normalState, @Extension final IFormattableDocument document) { + document.<Action>format(normalState.getEntry_()); + document.<Action>format(normalState.getDo_()); + document.<Action>format(normalState.getExit_()); + } + + public void format(final Object normalState, final IFormattableDocument document) { + if (normalState instanceof XtextResource) { + _format((XtextResource)normalState, document); + return; + } else if (normalState instanceof NormalState) { + _format((NormalState)normalState, document); + return; + } else if (normalState instanceof StateMachine) { + _format((StateMachine)normalState, document); + return; + } else if (normalState instanceof EObject) { + _format((EObject)normalState, document); + return; + } else if (normalState == null) { + _format((Void)null, document); + return; + } else if (normalState != null) { + _format(normalState, document); + return; + } else { + throw new IllegalArgumentException("Unhandled parameter types: " + + Arrays.<Object>asList(normalState, document).toString()); + } + } +} diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/xtend-gen/swt/most/statemachine/xtext/generator/.ParserGenerator.java._trace b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/xtend-gen/swt/most/statemachine/xtext/generator/.ParserGenerator.java._trace new file mode 100644 index 0000000000000000000000000000000000000000..a5a7d58233f7bed7e2211dc84c2d0c728889ce2b GIT binary patch literal 409 zcmZQzU|?lrblSiu#=zvL=XjM{l99o>xV%I^H@~<<zqll^BsDiNIU_SKRllMnwW35n zJvA@2D6u5JNIxL4s5rIA9mdzIC`rvrVP;fkWM*JuRAXXcV01KbtmYPl8O*@!XyP!B zn;*n?n8zc)!033{;f?@E{;Z>!fFuKp<1Yb0K?Wwr%K`!d42(`fLSWu&AprpfCKMi{ zlcqznkO%{l6SKo#AqfUHCtFrwVFo5A9#$bC1|}39qmvUiSWb{zNQi;a$yWl*lMxaU zVqkU(=7jJ#!TOMSj7~8SIaQDxqf?qJSf#!=SYM7XgeMHvhs<Mis%HVqIkAB4Yf%96 c+@-+!x`ZG+knK!P$UH`;IUHcQNDh!b0N)x!x&QzG literal 0 HcmV?d00001 diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/xtend-gen/swt/most/statemachine/xtext/generator/.ParserGenerator.xtendbin b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/xtend-gen/swt/most/statemachine/xtext/generator/.ParserGenerator.xtendbin new file mode 100644 index 0000000000000000000000000000000000000000..ef57e98ebab7924ec8ceadd5562b2fe83894012d GIT binary patch literal 2296 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 UtZX3jnHiWFwlOd;=x~5|03AjHKL7v# literal 0 HcmV?d00001 diff --git a/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/xtend-gen/swt/most/statemachine/xtext/generator/ParserGenerator.java b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/xtend-gen/swt/most/statemachine/xtext/generator/ParserGenerator.java new file mode 100644 index 0000000..1d47795 --- /dev/null +++ b/domain_specific_language/textual/swt.most.statemachine.xtext/swt.most.statemachine.xtext/xtend-gen/swt/most/statemachine/xtext/generator/ParserGenerator.java @@ -0,0 +1,21 @@ +/** + * generated by Xtext 2.35.0 + */ +package swt.most.statemachine.xtext.generator; + +import org.eclipse.emf.ecore.resource.Resource; +import org.eclipse.xtext.generator.AbstractGenerator; +import org.eclipse.xtext.generator.IFileSystemAccess2; +import org.eclipse.xtext.generator.IGeneratorContext; + +/** + * Generates code from your model files on save. + * + * See https://www.eclipse.org/Xtext/documentation/303_runtime_concepts.html#code-generation + */ +@SuppressWarnings("all") +public class ParserGenerator extends AbstractGenerator { + @Override + public void doGenerate(final Resource resource, final IFileSystemAccess2 fsa, final IGeneratorContext context) { + } +} diff --git a/metamodel/runtime/examples/.project b/metamodel/runtime/examples/.project new file mode 100644 index 0000000..0abae36 --- /dev/null +++ b/metamodel/runtime/examples/.project @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>examples</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + </buildSpec> + <natures> + </natures> +</projectDescription> diff --git a/metamodel/runtime/examples/example.petrinet b/metamodel/runtime/examples/example.petrinet new file mode 100644 index 0000000..f42b0f5 --- /dev/null +++ b/metamodel/runtime/examples/example.petrinet @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<petrinet:PetriNet xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:petrinet="http://www.example.org/petrinet" name="Example"> + <arcs xsi:type="petrinet:IncomingArc" target="//@elements.3" source="//@elements.0"/> + <arcs xsi:type="petrinet:IncomingArc" target="//@elements.3" source="//@elements.2"/> + <arcs xsi:type="petrinet:OutgoingArc" source="//@elements.3" target="//@elements.1"/> + <elements xsi:type="petrinet:Place" identifier="start"> + <token/> + </elements> + <elements xsi:type="petrinet:Place" identifier="end"/> + <elements xsi:type="petrinet:Place" identifier="guard"/> + <elements xsi:type="petrinet:Transition" identifier="do something"/> +</petrinet:PetriNet> diff --git a/metamodel/runtime/examples/garagedoor.statemachine b/metamodel/runtime/examples/garagedoor.statemachine new file mode 100644 index 0000000..7e44c6f --- /dev/null +++ b/metamodel/runtime/examples/garagedoor.statemachine @@ -0,0 +1,49 @@ +<?xml version="1.0" encoding="UTF-8"?> +<statemachine:StateMachine xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:statemachine="http://www.swt.org/most/statemachine" name="Garage Door"> + <states name="Closed"/> + <states name="Open"/> + <states name="Opening"/> + <states name="Closing"/> + <finalstates name="final"/> + <initialstate name="initial"/> + <transitions from="//@initialstate" to="//@states.0"/> + <transitions from="//@states.0" to="//@states.2"> + <trigger content="openDoor"/> + <action content="motor.upwards"/> + </transitions> + <transitions from="//@states.2" to="//@states.1"> + <guard content="stopper"/> + <action content="motor.stop"/> + </transitions> + <transitions from="//@states.1" to="//@states.3"> + <trigger content="closeDoor"/> + <action content="motor.downwards"/> + </transitions> + <transitions from="//@states.3" to="//@states.0"> + <guard content="stopper"/> + <action content="motor.stop"/> + </transitions> + <transitions from="//@states.3" to="//@states.2"> + <trigger content="openDoor"/> + <action content="motor.upwards"/> + </transitions> + <transitions from="//@states.2" to="//@states.3"> + <trigger content="closeDoor"/> + <action content="motor.downwards"/> + </transitions> + <transitions from="//@states.0" to="//@finalstates.0"> + <guard content="shutdown"/> + </transitions> + <transitions from="//@states.0" to="//@states.0"> + <trigger content="closeDoor"/> + </transitions> + <transitions from="//@states.3" to="//@states.3"> + <trigger content="closeDoor"/> + </transitions> + <transitions from="//@states.1" to="//@states.1"> + <trigger content="openDoor"/> + </transitions> + <transitions from="//@states.2" to="//@states.2"> + <trigger content="openDoor"/> + </transitions> +</statemachine:StateMachine> diff --git a/metamodel/runtime/examples/switch.statemachine b/metamodel/runtime/examples/switch.statemachine new file mode 100644 index 0000000..adbc574 --- /dev/null +++ b/metamodel/runtime/examples/switch.statemachine @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<statemachine:StateMachine xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:statemachine="http://www.swt.org/most/statemachine" name="Switch"> + <states name="on"> + <do_ content="do_something"/> + </states> + <states name="off"> + <do_ content="do_nothing"/> + </states> + <initialstate name="initial"/> + <transitions from="initial" to="off"/> + <transitions from="off" to="on"> + <trigger content="flip"/> + </transitions> + <transitions from="on" to="off"> + <trigger content="flip"/> + </transitions> +</statemachine:StateMachine> diff --git a/metamodel/swt.most.petrinet.edit/.classpath b/metamodel/swt.most.petrinet.edit/.classpath new file mode 100644 index 0000000..2377d85 --- /dev/null +++ b/metamodel/swt.most.petrinet.edit/.classpath @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="src" path="src-gen"/> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-17"/> + <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> + <classpathentry kind="output" path="bin"/> +</classpath> diff --git a/metamodel/swt.most.petrinet.edit/.gitignore b/metamodel/swt.most.petrinet.edit/.gitignore new file mode 100644 index 0000000..ae3c172 --- /dev/null +++ b/metamodel/swt.most.petrinet.edit/.gitignore @@ -0,0 +1 @@ +/bin/ diff --git a/metamodel/swt.most.petrinet.edit/.project b/metamodel/swt.most.petrinet.edit/.project new file mode 100644 index 0000000..c02cb91 --- /dev/null +++ b/metamodel/swt.most.petrinet.edit/.project @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>swt.most.petrinet.edit</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.pde.ManifestBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.pde.SchemaBuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>org.eclipse.jdt.core.javanature</nature> + <nature>org.eclipse.pde.PluginNature</nature> + </natures> +</projectDescription> diff --git a/metamodel/swt.most.petrinet.edit/.settings/org.eclipse.core.resources.prefs b/metamodel/swt.most.petrinet.edit/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 0000000..99f26c0 --- /dev/null +++ b/metamodel/swt.most.petrinet.edit/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +encoding/<project>=UTF-8 diff --git a/metamodel/swt.most.petrinet.edit/META-INF/MANIFEST.MF b/metamodel/swt.most.petrinet.edit/META-INF/MANIFEST.MF new file mode 100644 index 0000000..83a4732 --- /dev/null +++ b/metamodel/swt.most.petrinet.edit/META-INF/MANIFEST.MF @@ -0,0 +1,16 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: %pluginName +Bundle-SymbolicName: swt.most.petrinet.edit;singleton:=true +Automatic-Module-Name: swt.most.petrinet.edit +Bundle-Version: 1.0.0.qualifier +Bundle-ClassPath: . +Bundle-Activator: swt.most.petrinet.provider.PetrinetEditPlugin$Implementation +Bundle-Vendor: %providerName +Bundle-Localization: plugin +Bundle-RequiredExecutionEnvironment: J2SE-1.5 +Export-Package: swt.most.petrinet.provider +Require-Bundle: org.eclipse.core.runtime, + swt.most.petrinet;visibility:=reexport, + org.eclipse.emf.edit;visibility:=reexport +Bundle-ActivationPolicy: lazy diff --git a/metamodel/swt.most.petrinet.edit/build.properties b/metamodel/swt.most.petrinet.edit/build.properties new file mode 100644 index 0000000..a3c4e32 --- /dev/null +++ b/metamodel/swt.most.petrinet.edit/build.properties @@ -0,0 +1,10 @@ +# + +bin.includes = .,\ + icons/,\ + META-INF/,\ + plugin.xml,\ + plugin.properties +jars.compile.order = . +source.. = src-gen/ +output.. = bin/ diff --git a/metamodel/swt.most.petrinet.edit/icons/full/obj16/Arc.gif b/metamodel/swt.most.petrinet.edit/icons/full/obj16/Arc.gif new file mode 100644 index 0000000000000000000000000000000000000000..90d10f9470787d1465c462197b85d1d3621f84e4 GIT binary patch literal 129 zcmZ?wbhEHb6krfw*vtS14Gatn4Gawp2M!!)XlP*g&%nU&|G<F*|Nnzo|3U0IbLKQO zG!(1(DE?$&WMJTA&;jWLnZdxKXK>PU^<InDU%sjEKP+_JZpwNqCBbXK!ml=ZAE&8Z XH7oB~smZUqoUzmG$V4GwMh0sDq`WVK literal 0 HcmV?d00001 diff --git a/metamodel/swt.most.petrinet.edit/icons/full/obj16/Element.gif b/metamodel/swt.most.petrinet.edit/icons/full/obj16/Element.gif new file mode 100644 index 0000000000000000000000000000000000000000..f8041d22553d3f326e3e82be501f2e9bac3794b0 GIT binary patch literal 129 zcmZ?wbhEHb6krfw*vtS14Gatn4Gawp2M!!)XlP*g&%nU&|G<F*|Nnzo|NpOPy4DkX ztk`l*q)waSPZmZ722KVYkWP>p3@myECp}m1wRrvIn+pHKLf7r4thZ7UycR6{YNPjY an%Y&f@}8BN{JP5-JKc^<6cT1+um%8vPcIe# literal 0 HcmV?d00001 diff --git a/metamodel/swt.most.petrinet.edit/icons/full/obj16/IncomingArc.gif b/metamodel/swt.most.petrinet.edit/icons/full/obj16/IncomingArc.gif new file mode 100644 index 0000000000000000000000000000000000000000..2b6925602975de13459862ee32e1b0d97549bf67 GIT binary patch literal 129 zcmZ?wbhEHb6krfw*vtS14Gatn4Gawp2M!!)XlP*g&%nU&|G<F*|Nnzo|Nmdw^I}ua z&6#Ou8XOKN{$ycfVBloX0qF#p!N8(taME-2UW?aXzNzp(EOgy&%6cm$!E3?7uQqxg ar>R{vEALsU$*;SdvD59yL?K~D25SHaM=;_5 literal 0 HcmV?d00001 diff --git a/metamodel/swt.most.petrinet.edit/icons/full/obj16/OutgoingArc.gif b/metamodel/swt.most.petrinet.edit/icons/full/obj16/OutgoingArc.gif new file mode 100644 index 0000000000000000000000000000000000000000..a17dc7d88e993e89a1d5f913ddfab16b1676c5bb GIT binary patch literal 129 zcmZ?wbhEHb6krfw*vtS14Gatn4Gawp2M!!)XlP*g&%nU&|G<F*|Nnzo|3U1TX=fT5 z8XO!P6o0ZXGB9v5=zw&B%wS;AGdStFdauRnFW*%79~Qc9H)Xw*lHj#q;a3~IkJHqy Xnw9sg)a2J)&e-X8WTKETBZD;nmzXbA literal 0 HcmV?d00001 diff --git a/metamodel/swt.most.petrinet.edit/icons/full/obj16/PetriNet.gif b/metamodel/swt.most.petrinet.edit/icons/full/obj16/PetriNet.gif new file mode 100644 index 0000000000000000000000000000000000000000..106881e5d9bf05cb0cf3375cfd102e8039b8ace9 GIT binary patch literal 129 zcmZ?wbhEHb6krfw*vtS14Gatn4Gawp2M!!)XlP*g&%nU&|G<F*|Nnzo|Nl2#TN8Y& z$8t@vPFtknPZmZ722KVYkWP>p3@myECp}m1wRrvIn+pHKLf7r4thZ7UycR6{YNPjY an%Y&f@}8BN{JP5-JKc^<6cT1+um%8vPcIe# literal 0 HcmV?d00001 diff --git a/metamodel/swt.most.petrinet.edit/icons/full/obj16/Place.gif b/metamodel/swt.most.petrinet.edit/icons/full/obj16/Place.gif new file mode 100644 index 0000000000000000000000000000000000000000..e4bc22dd17e82d9350631bd55ad9671957cdaf50 GIT binary patch literal 129 zcmZ?wbhEHb6krfw*vtS14Gatn4Gawp2M!!)XlP*g&%nU&|G<F*|Nnzo|Nmclv1ilG zo|$LT8V)!p{$ycfVBloX0qF#p!N8(taME-2UW?aXzNzp(EOgy&%6cm$!E3?7uQqxg ar>R{vEALsU$*;SdvD59yL?K~D25SHbrZD0F literal 0 HcmV?d00001 diff --git a/metamodel/swt.most.petrinet.edit/icons/full/obj16/Token.gif b/metamodel/swt.most.petrinet.edit/icons/full/obj16/Token.gif new file mode 100644 index 0000000000000000000000000000000000000000..cb1755a712505aeaaa447d9b1cc5940e602f87b6 GIT binary patch literal 129 zcmZ?wbhEHb6krfw*vtS14Gatn4Gawp2M!!)XlP*g&%nU&|G<F*|Nnzo|3U0IbLKQO zG#m@=QT)lm$iTqKpaaqgGJ}Cd&)}rz>b(}PzkE~Se^}_c-IVoKN`lvdg<oy-K2B4+ XYF6H}Qj=eIIb)~Wk%>aWj11NQ*-tP- literal 0 HcmV?d00001 diff --git a/metamodel/swt.most.petrinet.edit/icons/full/obj16/Transition.gif b/metamodel/swt.most.petrinet.edit/icons/full/obj16/Transition.gif new file mode 100644 index 0000000000000000000000000000000000000000..7bac4fd3808df6247660dfb8d76e15609f279841 GIT binary patch literal 129 zcmZ?wbhEHb6krfw*vtS14Gatn4Gawp2M!!)XlP*g&%nU&|G<F*|Nnzo|NrmV^P;Ec zW?I@A2ZsZSKUo+V7&sYpKsrHYFtF$uob+71*W&e;Zz}u`3thLHvffHb@LI6&tBu~r aX=+!^%6nF7^6M^V>~uRaQAn7P!5RS7Y%ntb literal 0 HcmV?d00001 diff --git a/metamodel/swt.most.petrinet.edit/plugin.properties b/metamodel/swt.most.petrinet.edit/plugin.properties new file mode 100644 index 0000000..880eee4 --- /dev/null +++ b/metamodel/swt.most.petrinet.edit/plugin.properties @@ -0,0 +1,37 @@ +# + +pluginName = swt.most.petrinet Edit Support +providerName = www.example.org + +_UI_CreateChild_text = {0} +_UI_CreateChild_text2 = {1} {0} +_UI_CreateChild_text3 = {1} +_UI_CreateChild_tooltip = Create New {0} Under {1} Feature +_UI_CreateChild_description = Create a new child of type {0} for the {1} feature of the selected {2}. +_UI_CreateSibling_description = Create a new sibling of type {0} for the selected {2}, under the {1} feature of their parent. + +_UI_PropertyDescriptor_description = The {0} of the {1} + +_UI_PetriNet_type = Petri Net +_UI_Element_type = Element +_UI_Arc_type = Arc +_UI_IncomingArc_type = Incoming Arc +_UI_OutgoingArc_type = Outgoing Arc +_UI_Place_type = Place +_UI_Transition_type = Transition +_UI_Token_type = Token +_UI_Unknown_type = Object + +_UI_Unknown_datatype= Value + +_UI_PetriNet_name_feature = Name +_UI_PetriNet_arcs_feature = Arcs +_UI_PetriNet_elements_feature = Elements +_UI_Element_identifier_feature = Identifier +_UI_IncomingArc_target_feature = Target +_UI_IncomingArc_source_feature = Source +_UI_OutgoingArc_source_feature = Source +_UI_OutgoingArc_target_feature = Target +_UI_Place_token_feature = Token +_UI_Unknown_feature = Unspecified + diff --git a/metamodel/swt.most.petrinet.edit/plugin.xml b/metamodel/swt.most.petrinet.edit/plugin.xml new file mode 100644 index 0000000..4b1f5fb --- /dev/null +++ b/metamodel/swt.most.petrinet.edit/plugin.xml @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="UTF-8"?> +<?eclipse version="3.0"?> + +<!-- +--> + +<plugin> + + <extension point="org.eclipse.emf.edit.itemProviderAdapterFactories"> + <!-- @generated petrinet --> + <factory + uri="http://www.example.org/petrinet" + class="swt.most.petrinet.provider.PetrinetItemProviderAdapterFactory" + supportedTypes= + "org.eclipse.emf.edit.provider.IEditingDomainItemProvider + org.eclipse.emf.edit.provider.IStructuredItemContentProvider + org.eclipse.emf.edit.provider.ITreeItemContentProvider + org.eclipse.emf.edit.provider.IItemLabelProvider + org.eclipse.emf.edit.provider.IItemPropertySource"/> + </extension> + +</plugin> diff --git a/metamodel/swt.most.petrinet.edit/src-gen/swt/most/petrinet/provider/ArcItemProvider.java b/metamodel/swt.most.petrinet.edit/src-gen/swt/most/petrinet/provider/ArcItemProvider.java new file mode 100644 index 0000000..2ba0760 --- /dev/null +++ b/metamodel/swt.most.petrinet.edit/src-gen/swt/most/petrinet/provider/ArcItemProvider.java @@ -0,0 +1,122 @@ +/** + */ +package swt.most.petrinet.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemProviderAdapter; + +/** + * This is the item provider adapter for a {@link swt.most.petrinet.Arc} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class ArcItemProvider extends ItemProviderAdapter implements IEditingDomainItemProvider, + IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ArcItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns Arc.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/Arc")); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected boolean shouldComposeCreationImage() { + return true; + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_Arc_type"); + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public ResourceLocator getResourceLocator() { + return PetrinetEditPlugin.INSTANCE; + } + +} diff --git a/metamodel/swt.most.petrinet.edit/src-gen/swt/most/petrinet/provider/ElementItemProvider.java b/metamodel/swt.most.petrinet.edit/src-gen/swt/most/petrinet/provider/ElementItemProvider.java new file mode 100644 index 0000000..02055d5 --- /dev/null +++ b/metamodel/swt.most.petrinet.edit/src-gen/swt/most/petrinet/provider/ElementItemProvider.java @@ -0,0 +1,153 @@ +/** + */ +package swt.most.petrinet.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ItemProviderAdapter; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import swt.most.petrinet.Element; +import swt.most.petrinet.PetrinetPackage; + +/** + * This is the item provider adapter for a {@link swt.most.petrinet.Element} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class ElementItemProvider extends ItemProviderAdapter implements IEditingDomainItemProvider, + IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ElementItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addIdentifierPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Identifier feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addIdentifierPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(), + getResourceLocator(), getString("_UI_Element_identifier_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_Element_identifier_feature", + "_UI_Element_type"), + PetrinetPackage.Literals.ELEMENT__IDENTIFIER, true, false, false, + ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null)); + } + + /** + * This returns Element.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/Element")); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected boolean shouldComposeCreationImage() { + return true; + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String getText(Object object) { + String label = ((Element) object).getIdentifier(); + return label == null || label.length() == 0 ? getString("_UI_Element_type") + : getString("_UI_Element_type") + " " + label; + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(Element.class)) { + case PetrinetPackage.ELEMENT__IDENTIFIER: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public ResourceLocator getResourceLocator() { + return PetrinetEditPlugin.INSTANCE; + } + +} diff --git a/metamodel/swt.most.petrinet.edit/src-gen/swt/most/petrinet/provider/IncomingArcItemProvider.java b/metamodel/swt.most.petrinet.edit/src-gen/swt/most/petrinet/provider/IncomingArcItemProvider.java new file mode 100644 index 0000000..904408d --- /dev/null +++ b/metamodel/swt.most.petrinet.edit/src-gen/swt/most/petrinet/provider/IncomingArcItemProvider.java @@ -0,0 +1,137 @@ +/** + */ +package swt.most.petrinet.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; + +import swt.most.petrinet.PetrinetPackage; + +/** + * This is the item provider adapter for a {@link swt.most.petrinet.IncomingArc} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class IncomingArcItemProvider extends ArcItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public IncomingArcItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addTargetPropertyDescriptor(object); + addSourcePropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Target feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addTargetPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(), + getResourceLocator(), getString("_UI_IncomingArc_target_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_IncomingArc_target_feature", + "_UI_IncomingArc_type"), + PetrinetPackage.Literals.INCOMING_ARC__TARGET, true, false, true, null, null, null)); + } + + /** + * This adds a property descriptor for the Source feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addSourcePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(), + getResourceLocator(), getString("_UI_IncomingArc_source_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_IncomingArc_source_feature", + "_UI_IncomingArc_type"), + PetrinetPackage.Literals.INCOMING_ARC__SOURCE, true, false, true, null, null, null)); + } + + /** + * This returns IncomingArc.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/IncomingArc")); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected boolean shouldComposeCreationImage() { + return true; + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_IncomingArc_type"); + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + +} diff --git a/metamodel/swt.most.petrinet.edit/src-gen/swt/most/petrinet/provider/OutgoingArcItemProvider.java b/metamodel/swt.most.petrinet.edit/src-gen/swt/most/petrinet/provider/OutgoingArcItemProvider.java new file mode 100644 index 0000000..dadfd5d --- /dev/null +++ b/metamodel/swt.most.petrinet.edit/src-gen/swt/most/petrinet/provider/OutgoingArcItemProvider.java @@ -0,0 +1,137 @@ +/** + */ +package swt.most.petrinet.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; + +import swt.most.petrinet.PetrinetPackage; + +/** + * This is the item provider adapter for a {@link swt.most.petrinet.OutgoingArc} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class OutgoingArcItemProvider extends ArcItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public OutgoingArcItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addSourcePropertyDescriptor(object); + addTargetPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Source feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addSourcePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(), + getResourceLocator(), getString("_UI_OutgoingArc_source_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_OutgoingArc_source_feature", + "_UI_OutgoingArc_type"), + PetrinetPackage.Literals.OUTGOING_ARC__SOURCE, true, false, true, null, null, null)); + } + + /** + * This adds a property descriptor for the Target feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addTargetPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(), + getResourceLocator(), getString("_UI_OutgoingArc_target_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_OutgoingArc_target_feature", + "_UI_OutgoingArc_type"), + PetrinetPackage.Literals.OUTGOING_ARC__TARGET, true, false, true, null, null, null)); + } + + /** + * This returns OutgoingArc.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/OutgoingArc")); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected boolean shouldComposeCreationImage() { + return true; + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_OutgoingArc_type"); + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + +} diff --git a/metamodel/swt.most.petrinet.edit/src-gen/swt/most/petrinet/provider/PetriNetItemProvider.java b/metamodel/swt.most.petrinet.edit/src-gen/swt/most/petrinet/provider/PetriNetItemProvider.java new file mode 100644 index 0000000..1671c3f --- /dev/null +++ b/metamodel/swt.most.petrinet.edit/src-gen/swt/most/petrinet/provider/PetriNetItemProvider.java @@ -0,0 +1,203 @@ +/** + */ +package swt.most.petrinet.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ItemProviderAdapter; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import swt.most.petrinet.PetriNet; +import swt.most.petrinet.PetrinetFactory; +import swt.most.petrinet.PetrinetPackage; + +/** + * This is the item provider adapter for a {@link swt.most.petrinet.PetriNet} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class PetriNetItemProvider extends ItemProviderAdapter implements IEditingDomainItemProvider, + IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public PetriNetItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addNamePropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Name feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addNamePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(), + getResourceLocator(), getString("_UI_PetriNet_name_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_PetriNet_name_feature", + "_UI_PetriNet_type"), + PetrinetPackage.Literals.PETRI_NET__NAME, true, false, false, + ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null)); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(PetrinetPackage.Literals.PETRI_NET__ARCS); + childrenFeatures.add(PetrinetPackage.Literals.PETRI_NET__ELEMENTS); + } + return childrenFeatures; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns PetriNet.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/PetriNet")); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected boolean shouldComposeCreationImage() { + return true; + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String getText(Object object) { + String label = ((PetriNet) object).getName(); + return label == null || label.length() == 0 ? getString("_UI_PetriNet_type") + : getString("_UI_PetriNet_type") + " " + label; + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(PetriNet.class)) { + case PetrinetPackage.PETRI_NET__NAME: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true)); + return; + case PetrinetPackage.PETRI_NET__ARCS: + case PetrinetPackage.PETRI_NET__ELEMENTS: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(PetrinetPackage.Literals.PETRI_NET__ARCS, + PetrinetFactory.eINSTANCE.createIncomingArc())); + + newChildDescriptors.add(createChildParameter(PetrinetPackage.Literals.PETRI_NET__ARCS, + PetrinetFactory.eINSTANCE.createOutgoingArc())); + + newChildDescriptors.add(createChildParameter(PetrinetPackage.Literals.PETRI_NET__ELEMENTS, + PetrinetFactory.eINSTANCE.createPlace())); + + newChildDescriptors.add(createChildParameter(PetrinetPackage.Literals.PETRI_NET__ELEMENTS, + PetrinetFactory.eINSTANCE.createTransition())); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public ResourceLocator getResourceLocator() { + return PetrinetEditPlugin.INSTANCE; + } + +} diff --git a/metamodel/swt.most.petrinet.edit/src-gen/swt/most/petrinet/provider/PetrinetEditPlugin.java b/metamodel/swt.most.petrinet.edit/src-gen/swt/most/petrinet/provider/PetrinetEditPlugin.java new file mode 100644 index 0000000..21406d2 --- /dev/null +++ b/metamodel/swt.most.petrinet.edit/src-gen/swt/most/petrinet/provider/PetrinetEditPlugin.java @@ -0,0 +1,87 @@ +/** + */ +package swt.most.petrinet.provider; + +import org.eclipse.emf.common.EMFPlugin; + +import org.eclipse.emf.common.util.ResourceLocator; + +/** + * This is the central singleton for the Petrinet edit plugin. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public final class PetrinetEditPlugin extends EMFPlugin { + /** + * Keep track of the singleton. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final PetrinetEditPlugin INSTANCE = new PetrinetEditPlugin(); + + /** + * Keep track of the singleton. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private static Implementation plugin; + + /** + * Create the instance. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public PetrinetEditPlugin() { + super(new ResourceLocator[] {}); + } + + /** + * Returns the singleton instance of the Eclipse plugin. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the singleton instance. + * @generated + */ + @Override + public ResourceLocator getPluginResourceLocator() { + return plugin; + } + + /** + * Returns the singleton instance of the Eclipse plugin. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the singleton instance. + * @generated + */ + public static Implementation getPlugin() { + return plugin; + } + + /** + * The actual implementation of the Eclipse <b>Plugin</b>. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static class Implementation extends EclipsePlugin { + /** + * Creates an instance. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Implementation() { + super(); + + // Remember the static instance. + // + plugin = this; + } + } + +} diff --git a/metamodel/swt.most.petrinet.edit/src-gen/swt/most/petrinet/provider/PetrinetItemProviderAdapterFactory.java b/metamodel/swt.most.petrinet.edit/src-gen/swt/most/petrinet/provider/PetrinetItemProviderAdapterFactory.java new file mode 100644 index 0000000..b80c662 --- /dev/null +++ b/metamodel/swt.most.petrinet.edit/src-gen/swt/most/petrinet/provider/PetrinetItemProviderAdapterFactory.java @@ -0,0 +1,326 @@ +/** + */ +package swt.most.petrinet.provider; + +import java.util.ArrayList; +import java.util.Collection; + +import org.eclipse.emf.common.notify.Adapter; +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.Notifier; + +import org.eclipse.emf.edit.provider.ChangeNotifier; +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.ComposedAdapterFactory; +import org.eclipse.emf.edit.provider.IChangeNotifier; +import org.eclipse.emf.edit.provider.IDisposable; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.INotifyChangedListener; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import swt.most.petrinet.util.PetrinetAdapterFactory; + +/** + * This is the factory that is used to provide the interfaces needed to support Viewers. + * The adapters generated by this factory convert EMF adapter notifications into calls to {@link #fireNotifyChanged fireNotifyChanged}. + * The adapters also support Eclipse property sheets. + * Note that most of the adapters are shared among multiple instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class PetrinetItemProviderAdapterFactory extends PetrinetAdapterFactory + implements ComposeableAdapterFactory, IChangeNotifier, IDisposable { + /** + * This keeps track of the root adapter factory that delegates to this adapter factory. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ComposedAdapterFactory parentAdapterFactory; + + /** + * This is used to implement {@link org.eclipse.emf.edit.provider.IChangeNotifier}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected IChangeNotifier changeNotifier = new ChangeNotifier(); + + /** + * This keeps track of all the supported types checked by {@link #isFactoryForType isFactoryForType}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Collection<Object> supportedTypes = new ArrayList<Object>(); + + /** + * This constructs an instance. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public PetrinetItemProviderAdapterFactory() { + supportedTypes.add(IEditingDomainItemProvider.class); + supportedTypes.add(IStructuredItemContentProvider.class); + supportedTypes.add(ITreeItemContentProvider.class); + supportedTypes.add(IItemLabelProvider.class); + supportedTypes.add(IItemPropertySource.class); + } + + /** + * This keeps track of the one adapter used for all {@link swt.most.petrinet.PetriNet} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected PetriNetItemProvider petriNetItemProvider; + + /** + * This creates an adapter for a {@link swt.most.petrinet.PetriNet}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Adapter createPetriNetAdapter() { + if (petriNetItemProvider == null) { + petriNetItemProvider = new PetriNetItemProvider(this); + } + + return petriNetItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link swt.most.petrinet.IncomingArc} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected IncomingArcItemProvider incomingArcItemProvider; + + /** + * This creates an adapter for a {@link swt.most.petrinet.IncomingArc}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Adapter createIncomingArcAdapter() { + if (incomingArcItemProvider == null) { + incomingArcItemProvider = new IncomingArcItemProvider(this); + } + + return incomingArcItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link swt.most.petrinet.OutgoingArc} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected OutgoingArcItemProvider outgoingArcItemProvider; + + /** + * This creates an adapter for a {@link swt.most.petrinet.OutgoingArc}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Adapter createOutgoingArcAdapter() { + if (outgoingArcItemProvider == null) { + outgoingArcItemProvider = new OutgoingArcItemProvider(this); + } + + return outgoingArcItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link swt.most.petrinet.Place} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected PlaceItemProvider placeItemProvider; + + /** + * This creates an adapter for a {@link swt.most.petrinet.Place}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Adapter createPlaceAdapter() { + if (placeItemProvider == null) { + placeItemProvider = new PlaceItemProvider(this); + } + + return placeItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link swt.most.petrinet.Transition} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected TransitionItemProvider transitionItemProvider; + + /** + * This creates an adapter for a {@link swt.most.petrinet.Transition}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Adapter createTransitionAdapter() { + if (transitionItemProvider == null) { + transitionItemProvider = new TransitionItemProvider(this); + } + + return transitionItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link swt.most.petrinet.Token} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected TokenItemProvider tokenItemProvider; + + /** + * This creates an adapter for a {@link swt.most.petrinet.Token}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Adapter createTokenAdapter() { + if (tokenItemProvider == null) { + tokenItemProvider = new TokenItemProvider(this); + } + + return tokenItemProvider; + } + + /** + * This returns the root adapter factory that contains this factory. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ComposeableAdapterFactory getRootAdapterFactory() { + return parentAdapterFactory == null ? this : parentAdapterFactory.getRootAdapterFactory(); + } + + /** + * This sets the composed adapter factory that contains this factory. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setParentAdapterFactory(ComposedAdapterFactory parentAdapterFactory) { + this.parentAdapterFactory = parentAdapterFactory; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isFactoryForType(Object type) { + return supportedTypes.contains(type) || super.isFactoryForType(type); + } + + /** + * This implementation substitutes the factory itself as the key for the adapter. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Adapter adapt(Notifier notifier, Object type) { + return super.adapt(notifier, this); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object adapt(Object object, Object type) { + if (isFactoryForType(type)) { + Object adapter = super.adapt(object, type); + if (!(type instanceof Class<?>) || (((Class<?>) type).isInstance(adapter))) { + return adapter; + } + } + + return null; + } + + /** + * This adds a listener. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void addListener(INotifyChangedListener notifyChangedListener) { + changeNotifier.addListener(notifyChangedListener); + } + + /** + * This removes a listener. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void removeListener(INotifyChangedListener notifyChangedListener) { + changeNotifier.removeListener(notifyChangedListener); + } + + /** + * This delegates to {@link #changeNotifier} and to {@link #parentAdapterFactory}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void fireNotifyChanged(Notification notification) { + changeNotifier.fireNotifyChanged(notification); + + if (parentAdapterFactory != null) { + parentAdapterFactory.fireNotifyChanged(notification); + } + } + + /** + * This disposes all of the item providers created by this factory. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void dispose() { + if (petriNetItemProvider != null) + petriNetItemProvider.dispose(); + if (incomingArcItemProvider != null) + incomingArcItemProvider.dispose(); + if (outgoingArcItemProvider != null) + outgoingArcItemProvider.dispose(); + if (placeItemProvider != null) + placeItemProvider.dispose(); + if (transitionItemProvider != null) + transitionItemProvider.dispose(); + if (tokenItemProvider != null) + tokenItemProvider.dispose(); + } + +} diff --git a/metamodel/swt.most.petrinet.edit/src-gen/swt/most/petrinet/provider/PlaceItemProvider.java b/metamodel/swt.most.petrinet.edit/src-gen/swt/most/petrinet/provider/PlaceItemProvider.java new file mode 100644 index 0000000..9b6411d --- /dev/null +++ b/metamodel/swt.most.petrinet.edit/src-gen/swt/most/petrinet/provider/PlaceItemProvider.java @@ -0,0 +1,150 @@ +/** + */ +package swt.most.petrinet.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import swt.most.petrinet.PetrinetFactory; +import swt.most.petrinet.PetrinetPackage; +import swt.most.petrinet.Place; + +/** + * This is the item provider adapter for a {@link swt.most.petrinet.Place} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class PlaceItemProvider extends ElementItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public PlaceItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(PetrinetPackage.Literals.PLACE__TOKEN); + } + return childrenFeatures; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns Place.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/Place")); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected boolean shouldComposeCreationImage() { + return true; + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String getText(Object object) { + String label = ((Place) object).getIdentifier(); + return label == null || label.length() == 0 ? getString("_UI_Place_type") + : getString("_UI_Place_type") + " " + label; + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(Place.class)) { + case PetrinetPackage.PLACE__TOKEN: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add( + createChildParameter(PetrinetPackage.Literals.PLACE__TOKEN, PetrinetFactory.eINSTANCE.createToken())); + } + +} diff --git a/metamodel/swt.most.petrinet.edit/src-gen/swt/most/petrinet/provider/TokenItemProvider.java b/metamodel/swt.most.petrinet.edit/src-gen/swt/most/petrinet/provider/TokenItemProvider.java new file mode 100644 index 0000000..6a47e00 --- /dev/null +++ b/metamodel/swt.most.petrinet.edit/src-gen/swt/most/petrinet/provider/TokenItemProvider.java @@ -0,0 +1,122 @@ +/** + */ +package swt.most.petrinet.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemProviderAdapter; + +/** + * This is the item provider adapter for a {@link swt.most.petrinet.Token} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class TokenItemProvider extends ItemProviderAdapter implements IEditingDomainItemProvider, + IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public TokenItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns Token.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/Token")); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected boolean shouldComposeCreationImage() { + return true; + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_Token_type"); + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public ResourceLocator getResourceLocator() { + return PetrinetEditPlugin.INSTANCE; + } + +} diff --git a/metamodel/swt.most.petrinet.edit/src-gen/swt/most/petrinet/provider/TransitionItemProvider.java b/metamodel/swt.most.petrinet.edit/src-gen/swt/most/petrinet/provider/TransitionItemProvider.java new file mode 100644 index 0000000..bf8192c --- /dev/null +++ b/metamodel/swt.most.petrinet.edit/src-gen/swt/most/petrinet/provider/TransitionItemProvider.java @@ -0,0 +1,106 @@ +/** + */ +package swt.most.petrinet.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; + +import swt.most.petrinet.Transition; + +/** + * This is the item provider adapter for a {@link swt.most.petrinet.Transition} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class TransitionItemProvider extends ElementItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public TransitionItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns Transition.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/Transition")); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected boolean shouldComposeCreationImage() { + return true; + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String getText(Object object) { + String label = ((Transition) object).getIdentifier(); + return label == null || label.length() == 0 ? getString("_UI_Transition_type") + : getString("_UI_Transition_type") + " " + label; + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + +} diff --git a/metamodel/swt.most.petrinet.editor/.classpath b/metamodel/swt.most.petrinet.editor/.classpath new file mode 100644 index 0000000..2377d85 --- /dev/null +++ b/metamodel/swt.most.petrinet.editor/.classpath @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="src" path="src-gen"/> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-17"/> + <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> + <classpathentry kind="output" path="bin"/> +</classpath> diff --git a/metamodel/swt.most.petrinet.editor/.gitignore b/metamodel/swt.most.petrinet.editor/.gitignore new file mode 100644 index 0000000..ae3c172 --- /dev/null +++ b/metamodel/swt.most.petrinet.editor/.gitignore @@ -0,0 +1 @@ +/bin/ diff --git a/metamodel/swt.most.petrinet.editor/.project b/metamodel/swt.most.petrinet.editor/.project new file mode 100644 index 0000000..ad91070 --- /dev/null +++ b/metamodel/swt.most.petrinet.editor/.project @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>swt.most.petrinet.editor</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.pde.ManifestBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.pde.SchemaBuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>org.eclipse.jdt.core.javanature</nature> + <nature>org.eclipse.pde.PluginNature</nature> + </natures> +</projectDescription> diff --git a/metamodel/swt.most.petrinet.editor/.settings/org.eclipse.core.resources.prefs b/metamodel/swt.most.petrinet.editor/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 0000000..99f26c0 --- /dev/null +++ b/metamodel/swt.most.petrinet.editor/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +encoding/<project>=UTF-8 diff --git a/metamodel/swt.most.petrinet.editor/META-INF/MANIFEST.MF b/metamodel/swt.most.petrinet.editor/META-INF/MANIFEST.MF new file mode 100644 index 0000000..3928f84 --- /dev/null +++ b/metamodel/swt.most.petrinet.editor/META-INF/MANIFEST.MF @@ -0,0 +1,19 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: %pluginName +Bundle-SymbolicName: swt.most.petrinet.editor;singleton:=true +Automatic-Module-Name: swt.most.petrinet.editor +Bundle-Version: 1.0.0.qualifier +Bundle-ClassPath: . +Bundle-Activator: swt.most.petrinet.presentation.PetrinetEditorPlugin$Implementation +Bundle-Vendor: %providerName +Bundle-Localization: plugin +Bundle-RequiredExecutionEnvironment: J2SE-1.5 +Export-Package: swt.most.petrinet.presentation +Require-Bundle: org.eclipse.core.runtime, + org.eclipse.core.resources;visibility:=reexport, + swt.most.petrinet.edit;visibility:=reexport, + org.eclipse.emf.ecore.xmi;visibility:=reexport, + org.eclipse.emf.edit.ui;visibility:=reexport, + org.eclipse.ui.ide;visibility:=reexport +Bundle-ActivationPolicy: lazy diff --git a/metamodel/swt.most.petrinet.editor/build.properties b/metamodel/swt.most.petrinet.editor/build.properties new file mode 100644 index 0000000..11a5719 --- /dev/null +++ b/metamodel/swt.most.petrinet.editor/build.properties @@ -0,0 +1,10 @@ +# + +bin.includes = .,\ + icons/,\ + META-INF/,\ + plugin.xml,\ + plugin.properties +jars.compile.order = . +source.. = src-gen/ +output.. = bin diff --git a/metamodel/swt.most.petrinet.editor/icons/full/obj16/PetrinetModelFile.gif b/metamodel/swt.most.petrinet.editor/icons/full/obj16/PetrinetModelFile.gif new file mode 100644 index 0000000000000000000000000000000000000000..689b7281906a8495692dabb9df11ed27df1f312f GIT binary patch literal 346 zcmZ?wbhEHb6krfwxXQrL(9jScAHRS9{{Q#qA2@KJp`n4{KLZ29{{sgO{QnPT{RgpU zrk!bMXmD_F*fPO(%LLmE{dQ}59F})GE$VQd+v+;K$*sBEx31K$x;Ws<rp#M=YaX2F z|M~0B_n*JN{`mdr>+cU=f4}|o>(z&!_h0_F^ZYvl^?>3}7DfgJHU=G#ksv=Yu$4PB z7kKChDV|Wdq|s6_?*ea&=Ff=rGAj$2UR7D&^qeT9)h_o;U}=QlPEP)&=n%~)w;%2g z8|5Rr#8p&ySzCCU#9f&RT3K2OnOym+cv+_P^LO=3?Pr<jBB83<*1AZ-RZ?wL75^$V XNmr>&QUxrVrF@*2_~*MgGFSru)^B)M literal 0 HcmV?d00001 diff --git a/metamodel/swt.most.petrinet.editor/icons/full/wizban/NewPetrinet.gif b/metamodel/swt.most.petrinet.editor/icons/full/wizban/NewPetrinet.gif new file mode 100644 index 0000000000000000000000000000000000000000..e976e0776d200e1ce72d13ee80784885faff018e GIT binary patch literal 2462 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 Kb3Oq925SJ@Eyd&j literal 0 HcmV?d00001 diff --git a/metamodel/swt.most.petrinet.editor/plugin.properties b/metamodel/swt.most.petrinet.editor/plugin.properties new file mode 100644 index 0000000..37d15e1 --- /dev/null +++ b/metamodel/swt.most.petrinet.editor/plugin.properties @@ -0,0 +1,53 @@ +# + +pluginName = swt.most.petrinet Editor +providerName = www.example.org + +_UI_PetrinetEditor_menu = &Petrinet Editor + +_UI_CreateChild_menu_item = &New Child +_UI_CreateSibling_menu_item = N&ew Sibling + +_UI_ShowPropertiesView_menu_item = Show &Properties View +_UI_RefreshViewer_menu_item = &Refresh + +_UI_SelectionPage_label = Selection +_UI_ParentPage_label = Parent +_UI_ListPage_label = List +_UI_TreePage_label = Tree +_UI_TablePage_label = Table +_UI_TreeWithColumnsPage_label = Tree with Columns +_UI_ObjectColumn_label = Object +_UI_SelfColumn_label = Self + +_UI_NoObjectSelected = Selected Nothing +_UI_SingleObjectSelected = Selected Object: {0} +_UI_MultiObjectSelected = Selected {0} Objects + +_UI_OpenEditorError_label = Open Editor + +_UI_Wizard_category = Example EMF Model Creation Wizards + +_UI_CreateModelError_message = Problems encountered in file "{0}" + +_UI_PetrinetModelWizard_label = Petrinet Model +_UI_PetrinetModelWizard_description = Create a new Petrinet model + +_UI_PetrinetEditor_label = Petrinet Model Editor + +_UI_PetrinetEditorFilenameDefaultBase = My +_UI_PetrinetEditorFilenameExtensions = petrinet + +_UI_Wizard_label = New + +_WARN_FilenameExtension = The file name must end in ''.{0}'' +_WARN_FilenameExtensions = The file name must have one of the following extensions: {0} + +_UI_ModelObject = &Model Object +_UI_XMLEncoding = &XML Encoding +_UI_XMLEncodingChoices = UTF-8 ASCII UTF-16 UTF-16BE UTF-16LE ISO-8859-1 +_UI_Wizard_initial_object_description = Select a model object to create + +_UI_FileConflict_label = File Conflict +_WARN_FileConflict = There are unsaved changes that conflict with changes made outside the editor. Do you wish to discard this editor's changes? + diff --git a/metamodel/swt.most.petrinet.editor/plugin.xml b/metamodel/swt.most.petrinet.editor/plugin.xml new file mode 100644 index 0000000..0aad491 --- /dev/null +++ b/metamodel/swt.most.petrinet.editor/plugin.xml @@ -0,0 +1,37 @@ +<?xml version="1.0" encoding="UTF-8"?> +<?eclipse version="3.0"?> + +<!-- +--> + +<plugin> + + <extension point="org.eclipse.ui.newWizards"> + <!-- @generated petrinet --> + <category + id="org.eclipse.emf.ecore.Wizard.category.ID" + name="%_UI_Wizard_category"/> + <wizard + id="swt.most.petrinet.presentation.PetrinetModelWizardID" + name="%_UI_PetrinetModelWizard_label" + class="swt.most.petrinet.presentation.PetrinetModelWizard" + category="org.eclipse.emf.ecore.Wizard.category.ID" + icon="icons/full/obj16/PetrinetModelFile.gif"> + <description>%_UI_PetrinetModelWizard_description</description> + <selection class="org.eclipse.core.resources.IResource"/> + </wizard> + </extension> + + <extension point="org.eclipse.ui.editors"> + <!-- @generated petrinet --> + <editor + id="swt.most.petrinet.presentation.PetrinetEditorID" + name="%_UI_PetrinetEditor_label" + icon="icons/full/obj16/PetrinetModelFile.gif" + extensions="petrinet" + class="swt.most.petrinet.presentation.PetrinetEditor" + contributorClass="swt.most.petrinet.presentation.PetrinetActionBarContributor"> + </editor> + </extension> + +</plugin> diff --git a/metamodel/swt.most.petrinet.editor/src-gen/swt/most/petrinet/presentation/PetrinetActionBarContributor.java b/metamodel/swt.most.petrinet.editor/src-gen/swt/most/petrinet/presentation/PetrinetActionBarContributor.java new file mode 100644 index 0000000..fa464a3 --- /dev/null +++ b/metamodel/swt.most.petrinet.editor/src-gen/swt/most/petrinet/presentation/PetrinetActionBarContributor.java @@ -0,0 +1,422 @@ +/** + */ +package swt.most.petrinet.presentation; + +import java.util.ArrayList; +import java.util.Collection; + +import org.eclipse.emf.common.ui.viewer.IViewerProvider; + +import org.eclipse.emf.edit.domain.EditingDomain; +import org.eclipse.emf.edit.domain.IEditingDomainProvider; + +import org.eclipse.emf.edit.ui.action.ControlAction; +import org.eclipse.emf.edit.ui.action.CreateChildAction; +import org.eclipse.emf.edit.ui.action.CreateSiblingAction; +import org.eclipse.emf.edit.ui.action.EditingDomainActionBarContributor; +import org.eclipse.emf.edit.ui.action.LoadResourceAction; +import org.eclipse.emf.edit.ui.action.ValidateAction; + +import org.eclipse.jface.action.Action; +import org.eclipse.jface.action.ActionContributionItem; +import org.eclipse.jface.action.IAction; +import org.eclipse.jface.action.IContributionItem; +import org.eclipse.jface.action.IContributionManager; +import org.eclipse.jface.action.IMenuListener; +import org.eclipse.jface.action.IMenuManager; +import org.eclipse.jface.action.IToolBarManager; +import org.eclipse.jface.action.MenuManager; +import org.eclipse.jface.action.Separator; +import org.eclipse.jface.action.SubContributionItem; + +import org.eclipse.jface.viewers.ISelection; +import org.eclipse.jface.viewers.ISelectionChangedListener; +import org.eclipse.jface.viewers.ISelectionProvider; +import org.eclipse.jface.viewers.IStructuredSelection; +import org.eclipse.jface.viewers.SelectionChangedEvent; +import org.eclipse.jface.viewers.Viewer; + +import org.eclipse.ui.IEditorPart; +import org.eclipse.ui.PartInitException; + +/** + * This is the action bar contributor for the Petrinet model editor. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class PetrinetActionBarContributor extends EditingDomainActionBarContributor + implements ISelectionChangedListener { + /** + * This keeps track of the active editor. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected IEditorPart activeEditorPart; + + /** + * This keeps track of the current selection provider. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ISelectionProvider selectionProvider; + + /** + * This action opens the Properties view. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected IAction showPropertiesViewAction = new Action( + PetrinetEditorPlugin.INSTANCE.getString("_UI_ShowPropertiesView_menu_item")) { + @Override + public void run() { + try { + getPage().showView("org.eclipse.ui.views.PropertySheet"); + } catch (PartInitException exception) { + PetrinetEditorPlugin.INSTANCE.log(exception); + } + } + }; + + /** + * This action refreshes the viewer of the current editor if the editor + * implements {@link org.eclipse.emf.common.ui.viewer.IViewerProvider}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected IAction refreshViewerAction = new Action( + PetrinetEditorPlugin.INSTANCE.getString("_UI_RefreshViewer_menu_item")) { + @Override + public boolean isEnabled() { + return activeEditorPart instanceof IViewerProvider; + } + + @Override + public void run() { + if (activeEditorPart instanceof IViewerProvider) { + Viewer viewer = ((IViewerProvider) activeEditorPart).getViewer(); + if (viewer != null) { + viewer.refresh(); + } + } + } + }; + + /** + * This will contain one {@link org.eclipse.emf.edit.ui.action.CreateChildAction} corresponding to each descriptor + * generated for the current selection by the item provider. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Collection<IAction> createChildActions; + + /** + * This is the menu manager into which menu contribution items should be added for CreateChild actions. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected IMenuManager createChildMenuManager; + + /** + * This will contain one {@link org.eclipse.emf.edit.ui.action.CreateSiblingAction} corresponding to each descriptor + * generated for the current selection by the item provider. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Collection<IAction> createSiblingActions; + + /** + * This is the menu manager into which menu contribution items should be added for CreateSibling actions. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected IMenuManager createSiblingMenuManager; + + /** + * This creates an instance of the contributor. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public PetrinetActionBarContributor() { + super(ADDITIONS_LAST_STYLE); + loadResourceAction = new LoadResourceAction(); + validateAction = new ValidateAction(); + controlAction = new ControlAction(); + } + + /** + * This adds Separators for editor additions to the tool bar. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void contributeToToolBar(IToolBarManager toolBarManager) { + super.contributeToToolBar(toolBarManager); + toolBarManager.add(new Separator("petrinet-settings")); + toolBarManager.add(new Separator("petrinet-additions")); + } + + /** + * This adds to the menu bar a menu and some separators for editor additions, + * as well as the sub-menus for object creation items. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void contributeToMenu(IMenuManager menuManager) { + super.contributeToMenu(menuManager); + + IMenuManager submenuManager = new MenuManager( + PetrinetEditorPlugin.INSTANCE.getString("_UI_PetrinetEditor_menu"), "swt.most.petrinetMenuID"); + menuManager.insertAfter("additions", submenuManager); + submenuManager.add(new Separator("settings")); + submenuManager.add(new Separator("actions")); + submenuManager.add(new Separator("additions")); + submenuManager.add(new Separator("additions-end")); + + // Prepare for CreateChild item addition or removal. + // + createChildMenuManager = new MenuManager(PetrinetEditorPlugin.INSTANCE.getString("_UI_CreateChild_menu_item")); + submenuManager.insertBefore("additions", createChildMenuManager); + + // Prepare for CreateSibling item addition or removal. + // + createSiblingMenuManager = new MenuManager( + PetrinetEditorPlugin.INSTANCE.getString("_UI_CreateSibling_menu_item")); + submenuManager.insertBefore("additions", createSiblingMenuManager); + + // Force an update because Eclipse hides empty menus now. + // + submenuManager.addMenuListener(new IMenuListener() { + public void menuAboutToShow(IMenuManager menuManager) { + menuManager.updateAll(true); + } + }); + + addGlobalActions(submenuManager); + } + + /** + * When the active editor changes, this remembers the change and registers with it as a selection provider. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void setActiveEditor(IEditorPart part) { + super.setActiveEditor(part); + activeEditorPart = part; + + // Switch to the new selection provider. + // + if (selectionProvider != null) { + selectionProvider.removeSelectionChangedListener(this); + } + if (part == null) { + selectionProvider = null; + } else { + selectionProvider = part.getSite().getSelectionProvider(); + selectionProvider.addSelectionChangedListener(this); + + // Fake a selection changed event to update the menus. + // + if (selectionProvider.getSelection() != null) { + selectionChanged(new SelectionChangedEvent(selectionProvider, selectionProvider.getSelection())); + } + } + } + + /** + * This implements {@link org.eclipse.jface.viewers.ISelectionChangedListener}, + * handling {@link org.eclipse.jface.viewers.SelectionChangedEvent}s by querying for the children and siblings + * that can be added to the selected object and updating the menus accordingly. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void selectionChanged(SelectionChangedEvent event) { + // Remove any menu items for old selection. + // + if (createChildMenuManager != null) { + depopulateManager(createChildMenuManager, createChildActions); + } + if (createSiblingMenuManager != null) { + depopulateManager(createSiblingMenuManager, createSiblingActions); + } + + // Query the new selection for appropriate new child/sibling descriptors + // + Collection<?> newChildDescriptors = null; + Collection<?> newSiblingDescriptors = null; + + ISelection selection = event.getSelection(); + if (selection instanceof IStructuredSelection && ((IStructuredSelection) selection).size() == 1) { + Object object = ((IStructuredSelection) selection).getFirstElement(); + + EditingDomain domain = ((IEditingDomainProvider) activeEditorPart).getEditingDomain(); + + newChildDescriptors = domain.getNewChildDescriptors(object, null); + newSiblingDescriptors = domain.getNewChildDescriptors(null, object); + } + + // Generate actions for selection; populate and redraw the menus. + // + createChildActions = generateCreateChildActions(newChildDescriptors, selection); + createSiblingActions = generateCreateSiblingActions(newSiblingDescriptors, selection); + + if (createChildMenuManager != null) { + populateManager(createChildMenuManager, createChildActions, null); + createChildMenuManager.update(true); + } + if (createSiblingMenuManager != null) { + populateManager(createSiblingMenuManager, createSiblingActions, null); + createSiblingMenuManager.update(true); + } + } + + /** + * This generates a {@link org.eclipse.emf.edit.ui.action.CreateChildAction} for each object in <code>descriptors</code>, + * and returns the collection of these actions. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Collection<IAction> generateCreateChildActions(Collection<?> descriptors, ISelection selection) { + Collection<IAction> actions = new ArrayList<IAction>(); + if (descriptors != null) { + for (Object descriptor : descriptors) { + actions.add(new CreateChildAction(activeEditorPart, selection, descriptor)); + } + } + return actions; + } + + /** + * This generates a {@link org.eclipse.emf.edit.ui.action.CreateSiblingAction} for each object in <code>descriptors</code>, + * and returns the collection of these actions. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Collection<IAction> generateCreateSiblingActions(Collection<?> descriptors, ISelection selection) { + Collection<IAction> actions = new ArrayList<IAction>(); + if (descriptors != null) { + for (Object descriptor : descriptors) { + actions.add(new CreateSiblingAction(activeEditorPart, selection, descriptor)); + } + } + return actions; + } + + /** + * This populates the specified <code>manager</code> with {@link org.eclipse.jface.action.ActionContributionItem}s + * based on the {@link org.eclipse.jface.action.IAction}s contained in the <code>actions</code> collection, + * by inserting them before the specified contribution item <code>contributionID</code>. + * If <code>contributionID</code> is <code>null</code>, they are simply added. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void populateManager(IContributionManager manager, Collection<? extends IAction> actions, + String contributionID) { + if (actions != null) { + for (IAction action : actions) { + if (contributionID != null) { + manager.insertBefore(contributionID, action); + } else { + manager.add(action); + } + } + } + } + + /** + * This removes from the specified <code>manager</code> all {@link org.eclipse.jface.action.ActionContributionItem}s + * based on the {@link org.eclipse.jface.action.IAction}s contained in the <code>actions</code> collection. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void depopulateManager(IContributionManager manager, Collection<? extends IAction> actions) { + if (actions != null) { + IContributionItem[] items = manager.getItems(); + for (int i = 0; i < items.length; i++) { + // Look into SubContributionItems + // + IContributionItem contributionItem = items[i]; + while (contributionItem instanceof SubContributionItem) { + contributionItem = ((SubContributionItem) contributionItem).getInnerItem(); + } + + // Delete the ActionContributionItems with matching action. + // + if (contributionItem instanceof ActionContributionItem) { + IAction action = ((ActionContributionItem) contributionItem).getAction(); + if (actions.contains(action)) { + manager.remove(contributionItem); + } + } + } + } + } + + /** + * This populates the pop-up menu before it appears. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void menuAboutToShow(IMenuManager menuManager) { + super.menuAboutToShow(menuManager); + MenuManager submenuManager = null; + + submenuManager = new MenuManager(PetrinetEditorPlugin.INSTANCE.getString("_UI_CreateChild_menu_item")); + populateManager(submenuManager, createChildActions, null); + menuManager.insertBefore("edit", submenuManager); + + submenuManager = new MenuManager(PetrinetEditorPlugin.INSTANCE.getString("_UI_CreateSibling_menu_item")); + populateManager(submenuManager, createSiblingActions, null); + menuManager.insertBefore("edit", submenuManager); + } + + /** + * This inserts global actions before the "additions-end" separator. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected void addGlobalActions(IMenuManager menuManager) { + menuManager.insertAfter("additions-end", new Separator("ui-actions")); + menuManager.insertAfter("ui-actions", showPropertiesViewAction); + + refreshViewerAction.setEnabled(refreshViewerAction.isEnabled()); + menuManager.insertAfter("ui-actions", refreshViewerAction); + + super.addGlobalActions(menuManager); + } + + /** + * This ensures that a delete action will clean up all references to deleted objects. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected boolean removeAllReferencesOnDelete() { + return true; + } + +} diff --git a/metamodel/swt.most.petrinet.editor/src-gen/swt/most/petrinet/presentation/PetrinetEditor.java b/metamodel/swt.most.petrinet.editor/src-gen/swt/most/petrinet/presentation/PetrinetEditor.java new file mode 100644 index 0000000..32669ff --- /dev/null +++ b/metamodel/swt.most.petrinet.editor/src-gen/swt/most/petrinet/presentation/PetrinetEditor.java @@ -0,0 +1,1775 @@ +/** + */ +package swt.most.petrinet.presentation; + +import java.io.IOException; +import java.io.InputStream; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.EventObject; +import java.util.HashMap; +import java.util.Iterator; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; + +import org.eclipse.core.resources.IFile; +import org.eclipse.core.resources.IMarker; +import org.eclipse.core.resources.IResource; +import org.eclipse.core.resources.IResourceChangeEvent; +import org.eclipse.core.resources.IResourceChangeListener; +import org.eclipse.core.resources.IResourceDelta; +import org.eclipse.core.resources.IResourceDeltaVisitor; +import org.eclipse.core.resources.ResourcesPlugin; + +import org.eclipse.core.runtime.CoreException; +import org.eclipse.core.runtime.IPath; +import org.eclipse.core.runtime.IProgressMonitor; +import org.eclipse.core.runtime.NullProgressMonitor; + +import org.eclipse.jface.action.IMenuListener; +import org.eclipse.jface.action.IMenuManager; +import org.eclipse.jface.action.IStatusLineManager; +import org.eclipse.jface.action.IToolBarManager; +import org.eclipse.jface.action.MenuManager; +import org.eclipse.jface.action.Separator; + +import org.eclipse.jface.dialogs.MessageDialog; +import org.eclipse.jface.dialogs.ProgressMonitorDialog; + +import org.eclipse.jface.util.LocalSelectionTransfer; + +import org.eclipse.jface.viewers.ColumnWeightData; +import org.eclipse.jface.viewers.ISelection; +import org.eclipse.jface.viewers.ISelectionChangedListener; +import org.eclipse.jface.viewers.ISelectionProvider; +import org.eclipse.jface.viewers.IStructuredSelection; +import org.eclipse.jface.viewers.ListViewer; +import org.eclipse.jface.viewers.SelectionChangedEvent; +import org.eclipse.jface.viewers.StructuredSelection; +import org.eclipse.jface.viewers.StructuredViewer; +import org.eclipse.jface.viewers.TableLayout; +import org.eclipse.jface.viewers.TableViewer; +import org.eclipse.jface.viewers.TreeViewer; +import org.eclipse.jface.viewers.Viewer; + +import org.eclipse.swt.SWT; + +import org.eclipse.swt.custom.CTabFolder; + +import org.eclipse.swt.dnd.DND; +import org.eclipse.swt.dnd.FileTransfer; +import org.eclipse.swt.dnd.Transfer; + +import org.eclipse.swt.events.ControlAdapter; +import org.eclipse.swt.events.ControlEvent; + +import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.graphics.Rectangle; + +import org.eclipse.swt.layout.FillLayout; + +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Menu; +import org.eclipse.swt.widgets.Table; +import org.eclipse.swt.widgets.TableColumn; +import org.eclipse.swt.widgets.Tree; +import org.eclipse.swt.widgets.TreeColumn; + +import org.eclipse.ui.IActionBars; +import org.eclipse.ui.IEditorInput; +import org.eclipse.ui.IEditorPart; +import org.eclipse.ui.IEditorSite; +import org.eclipse.ui.IPartListener; +import org.eclipse.ui.IWorkbenchPart; +import org.eclipse.ui.PartInitException; + +import org.eclipse.ui.dialogs.SaveAsDialog; + +import org.eclipse.ui.ide.IGotoMarker; + +import org.eclipse.ui.part.FileEditorInput; +import org.eclipse.ui.part.MultiPageEditorPart; + +import org.eclipse.ui.views.contentoutline.ContentOutline; +import org.eclipse.ui.views.contentoutline.ContentOutlinePage; +import org.eclipse.ui.views.contentoutline.IContentOutlinePage; + +import org.eclipse.ui.views.properties.IPropertySheetPage; +import org.eclipse.ui.views.properties.PropertySheet; +import org.eclipse.ui.views.properties.PropertySheetPage; + +import org.eclipse.emf.common.command.BasicCommandStack; +import org.eclipse.emf.common.command.Command; +import org.eclipse.emf.common.command.CommandStack; +import org.eclipse.emf.common.command.CommandStackListener; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.ui.MarkerHelper; +import org.eclipse.emf.common.ui.ViewerPane; + +import org.eclipse.emf.common.ui.editor.ProblemEditorPart; + +import org.eclipse.emf.common.ui.viewer.IViewerProvider; + +import org.eclipse.emf.common.util.BasicDiagnostic; +import org.eclipse.emf.common.util.Diagnostic; +import org.eclipse.emf.common.util.URI; + +import org.eclipse.emf.ecore.resource.Resource; +import org.eclipse.emf.ecore.resource.ResourceSet; + +import org.eclipse.emf.ecore.util.EContentAdapter; +import org.eclipse.emf.ecore.util.EcoreUtil; + +import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain; +import org.eclipse.emf.edit.domain.EditingDomain; +import org.eclipse.emf.edit.domain.IEditingDomainProvider; + +import org.eclipse.emf.edit.provider.AdapterFactoryItemDelegator; +import org.eclipse.emf.edit.provider.ComposedAdapterFactory; +import org.eclipse.emf.edit.provider.ReflectiveItemProviderAdapterFactory; + +import org.eclipse.emf.edit.provider.resource.ResourceItemProviderAdapterFactory; + +import org.eclipse.emf.edit.ui.action.EditingDomainActionBarContributor; + +import org.eclipse.emf.edit.ui.celleditor.AdapterFactoryTreeEditor; + +import org.eclipse.emf.edit.ui.dnd.EditingDomainViewerDropAdapter; +import org.eclipse.emf.edit.ui.dnd.LocalTransfer; +import org.eclipse.emf.edit.ui.dnd.ViewerDragAdapter; + +import org.eclipse.emf.edit.ui.provider.AdapterFactoryContentProvider; +import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider; +import org.eclipse.emf.edit.ui.provider.UnwrappingSelectionProvider; + +import org.eclipse.emf.edit.ui.util.EditUIMarkerHelper; +import org.eclipse.emf.edit.ui.util.EditUIUtil; + +import org.eclipse.emf.edit.ui.view.ExtendedPropertySheetPage; + +import swt.most.petrinet.provider.PetrinetItemProviderAdapterFactory; + +import org.eclipse.ui.actions.WorkspaceModifyOperation; + +/** + * This is an example of a Petrinet model editor. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class PetrinetEditor extends MultiPageEditorPart + implements IEditingDomainProvider, ISelectionProvider, IMenuListener, IViewerProvider, IGotoMarker { + /** + * This keeps track of the editing domain that is used to track all changes to the model. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected AdapterFactoryEditingDomain editingDomain; + + /** + * This is the one adapter factory used for providing views of the model. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ComposedAdapterFactory adapterFactory; + + /** + * This is the content outline page. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected IContentOutlinePage contentOutlinePage; + + /** + * This is a kludge... + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected IStatusLineManager contentOutlineStatusLineManager; + + /** + * This is the content outline page's viewer. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected TreeViewer contentOutlineViewer; + + /** + * This is the property sheet page. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected List<PropertySheetPage> propertySheetPages = new ArrayList<PropertySheetPage>(); + + /** + * This is the viewer that shadows the selection in the content outline. + * The parent relation must be correctly defined for this to work. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected TreeViewer selectionViewer; + + /** + * This inverts the roll of parent and child in the content provider and show parents as a tree. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected TreeViewer parentViewer; + + /** + * This shows how a tree view works. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected TreeViewer treeViewer; + + /** + * This shows how a list view works. + * A list viewer doesn't support icons. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ListViewer listViewer; + + /** + * This shows how a table view works. + * A table can be used as a list with icons. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected TableViewer tableViewer; + + /** + * This shows how a tree view with columns works. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected TreeViewer treeViewerWithColumns; + + /** + * This keeps track of the active viewer pane, in the book. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ViewerPane currentViewerPane; + + /** + * This keeps track of the active content viewer, which may be either one of the viewers in the pages or the content outline viewer. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Viewer currentViewer; + + /** + * This listens to which ever viewer is active. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ISelectionChangedListener selectionChangedListener; + + /** + * This keeps track of all the {@link org.eclipse.jface.viewers.ISelectionChangedListener}s that are listening to this editor. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Collection<ISelectionChangedListener> selectionChangedListeners = new ArrayList<ISelectionChangedListener>(); + + /** + * This keeps track of the selection of the editor as a whole. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ISelection editorSelection = StructuredSelection.EMPTY; + + /** + * The MarkerHelper is responsible for creating workspace resource markers presented + * in Eclipse's Problems View. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected MarkerHelper markerHelper = new EditUIMarkerHelper(); + + /** + * This listens for when the outline becomes active + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected IPartListener partListener = new IPartListener() { + public void partActivated(IWorkbenchPart p) { + if (p instanceof ContentOutline) { + if (((ContentOutline) p).getCurrentPage() == contentOutlinePage) { + getActionBarContributor().setActiveEditor(PetrinetEditor.this); + + setCurrentViewer(contentOutlineViewer); + } + } else if (p instanceof PropertySheet) { + if (propertySheetPages.contains(((PropertySheet) p).getCurrentPage())) { + getActionBarContributor().setActiveEditor(PetrinetEditor.this); + handleActivate(); + } + } else if (p == PetrinetEditor.this) { + handleActivate(); + } + } + + public void partBroughtToTop(IWorkbenchPart p) { + // Ignore. + } + + public void partClosed(IWorkbenchPart p) { + // Ignore. + } + + public void partDeactivated(IWorkbenchPart p) { + // Ignore. + } + + public void partOpened(IWorkbenchPart p) { + // Ignore. + } + }; + + /** + * Resources that have been removed since last activation. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Collection<Resource> removedResources = new ArrayList<Resource>(); + + /** + * Resources that have been changed since last activation. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Collection<Resource> changedResources = new ArrayList<Resource>(); + + /** + * Resources that have been saved. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Collection<Resource> savedResources = new ArrayList<Resource>(); + + /** + * Map to store the diagnostic associated with a resource. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Map<Resource, Diagnostic> resourceToDiagnosticMap = new LinkedHashMap<Resource, Diagnostic>(); + + /** + * Controls whether the problem indication should be updated. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected boolean updateProblemIndication = true; + + /** + * Adapter used to update the problem indication when resources are demanded loaded. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected EContentAdapter problemIndicationAdapter = new EContentAdapter() { + protected boolean dispatching; + + @Override + public void notifyChanged(Notification notification) { + if (notification.getNotifier() instanceof Resource) { + switch (notification.getFeatureID(Resource.class)) { + case Resource.RESOURCE__IS_LOADED: + case Resource.RESOURCE__ERRORS: + case Resource.RESOURCE__WARNINGS: { + Resource resource = (Resource) notification.getNotifier(); + Diagnostic diagnostic = analyzeResourceProblems(resource, null); + if (diagnostic.getSeverity() != Diagnostic.OK) { + resourceToDiagnosticMap.put(resource, diagnostic); + } else { + resourceToDiagnosticMap.remove(resource); + } + dispatchUpdateProblemIndication(); + break; + } + } + } else { + super.notifyChanged(notification); + } + } + + protected void dispatchUpdateProblemIndication() { + if (updateProblemIndication && !dispatching) { + dispatching = true; + getSite().getShell().getDisplay().asyncExec(new Runnable() { + public void run() { + dispatching = false; + updateProblemIndication(); + } + }); + } + } + + @Override + protected void setTarget(Resource target) { + basicSetTarget(target); + } + + @Override + protected void unsetTarget(Resource target) { + basicUnsetTarget(target); + resourceToDiagnosticMap.remove(target); + dispatchUpdateProblemIndication(); + } + }; + + /** + * This listens for workspace changes. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected IResourceChangeListener resourceChangeListener = new IResourceChangeListener() { + public void resourceChanged(IResourceChangeEvent event) { + IResourceDelta delta = event.getDelta(); + try { + class ResourceDeltaVisitor implements IResourceDeltaVisitor { + protected ResourceSet resourceSet = editingDomain.getResourceSet(); + protected Collection<Resource> changedResources = new ArrayList<Resource>(); + protected Collection<Resource> removedResources = new ArrayList<Resource>(); + + public boolean visit(IResourceDelta delta) { + if (delta.getResource().getType() == IResource.FILE) { + if (delta.getKind() == IResourceDelta.REMOVED || delta.getKind() == IResourceDelta.CHANGED + && delta.getFlags() != IResourceDelta.MARKERS) { + Resource resource = resourceSet.getResource( + URI.createPlatformResourceURI(delta.getFullPath().toString(), true), false); + if (resource != null) { + if (delta.getKind() == IResourceDelta.REMOVED) { + removedResources.add(resource); + } else if (!savedResources.remove(resource)) { + changedResources.add(resource); + } + } + } + return false; + } + + return true; + } + + public Collection<Resource> getChangedResources() { + return changedResources; + } + + public Collection<Resource> getRemovedResources() { + return removedResources; + } + } + + final ResourceDeltaVisitor visitor = new ResourceDeltaVisitor(); + delta.accept(visitor); + + if (!visitor.getRemovedResources().isEmpty()) { + getSite().getShell().getDisplay().asyncExec(new Runnable() { + public void run() { + removedResources.addAll(visitor.getRemovedResources()); + if (!isDirty()) { + getSite().getPage().closeEditor(PetrinetEditor.this, false); + } + } + }); + } + + if (!visitor.getChangedResources().isEmpty()) { + getSite().getShell().getDisplay().asyncExec(new Runnable() { + public void run() { + changedResources.addAll(visitor.getChangedResources()); + if (getSite().getPage().getActiveEditor() == PetrinetEditor.this) { + handleActivate(); + } + } + }); + } + } catch (CoreException exception) { + PetrinetEditorPlugin.INSTANCE.log(exception); + } + } + }; + + /** + * Handles activation of the editor or it's associated views. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void handleActivate() { + // Recompute the read only state. + // + if (editingDomain.getResourceToReadOnlyMap() != null) { + editingDomain.getResourceToReadOnlyMap().clear(); + + // Refresh any actions that may become enabled or disabled. + // + setSelection(getSelection()); + } + + if (!removedResources.isEmpty()) { + if (handleDirtyConflict()) { + getSite().getPage().closeEditor(PetrinetEditor.this, false); + } else { + removedResources.clear(); + changedResources.clear(); + savedResources.clear(); + } + } else if (!changedResources.isEmpty()) { + changedResources.removeAll(savedResources); + handleChangedResources(); + changedResources.clear(); + savedResources.clear(); + } + } + + /** + * Handles what to do with changed resources on activation. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void handleChangedResources() { + if (!changedResources.isEmpty() && (!isDirty() || handleDirtyConflict())) { + ResourceSet resourceSet = editingDomain.getResourceSet(); + if (isDirty()) { + changedResources.addAll(resourceSet.getResources()); + } + editingDomain.getCommandStack().flush(); + + updateProblemIndication = false; + for (Resource resource : changedResources) { + if (resource.isLoaded()) { + resource.unload(); + try { + resource.load(resourceSet.getLoadOptions()); + } catch (IOException exception) { + if (!resourceToDiagnosticMap.containsKey(resource)) { + resourceToDiagnosticMap.put(resource, analyzeResourceProblems(resource, exception)); + } + } + } + } + + if (AdapterFactoryEditingDomain.isStale(editorSelection)) { + setSelection(StructuredSelection.EMPTY); + } + + updateProblemIndication = true; + updateProblemIndication(); + } + } + + /** + * Updates the problems indication with the information described in the specified diagnostic. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void updateProblemIndication() { + if (updateProblemIndication) { + BasicDiagnostic diagnostic = new BasicDiagnostic(Diagnostic.OK, "swt.most.petrinet.editor", 0, null, + new Object[] { editingDomain.getResourceSet() }); + for (Diagnostic childDiagnostic : resourceToDiagnosticMap.values()) { + if (childDiagnostic.getSeverity() != Diagnostic.OK) { + diagnostic.add(childDiagnostic); + } + } + + int lastEditorPage = getPageCount() - 1; + if (lastEditorPage >= 0 && getEditor(lastEditorPage) instanceof ProblemEditorPart) { + ((ProblemEditorPart) getEditor(lastEditorPage)).setDiagnostic(diagnostic); + if (diagnostic.getSeverity() != Diagnostic.OK) { + setActivePage(lastEditorPage); + } + } else if (diagnostic.getSeverity() != Diagnostic.OK) { + ProblemEditorPart problemEditorPart = new ProblemEditorPart(); + problemEditorPart.setDiagnostic(diagnostic); + problemEditorPart.setMarkerHelper(markerHelper); + try { + addPage(++lastEditorPage, problemEditorPart, getEditorInput()); + setPageText(lastEditorPage, problemEditorPart.getPartName()); + setActivePage(lastEditorPage); + showTabs(); + } catch (PartInitException exception) { + PetrinetEditorPlugin.INSTANCE.log(exception); + } + } + + if (markerHelper.hasMarkers(editingDomain.getResourceSet())) { + try { + markerHelper.updateMarkers(diagnostic); + } catch (CoreException exception) { + PetrinetEditorPlugin.INSTANCE.log(exception); + } + } + } + } + + /** + * Shows a dialog that asks if conflicting changes should be discarded. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected boolean handleDirtyConflict() { + return MessageDialog.openQuestion(getSite().getShell(), getString("_UI_FileConflict_label"), + getString("_WARN_FileConflict")); + } + + /** + * This creates a model editor. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public PetrinetEditor() { + super(); + initializeEditingDomain(); + } + + /** + * This sets up the editing domain for the model editor. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void initializeEditingDomain() { + // Create an adapter factory that yields item providers. + // + adapterFactory = new ComposedAdapterFactory(ComposedAdapterFactory.Descriptor.Registry.INSTANCE); + + adapterFactory.addAdapterFactory(new ResourceItemProviderAdapterFactory()); + adapterFactory.addAdapterFactory(new PetrinetItemProviderAdapterFactory()); + adapterFactory.addAdapterFactory(new ReflectiveItemProviderAdapterFactory()); + + // Create the command stack that will notify this editor as commands are executed. + // + BasicCommandStack commandStack = new BasicCommandStack(); + + // Add a listener to set the most recent command's affected objects to be the selection of the viewer with focus. + // + commandStack.addCommandStackListener(new CommandStackListener() { + public void commandStackChanged(final EventObject event) { + getContainer().getDisplay().asyncExec(new Runnable() { + public void run() { + firePropertyChange(IEditorPart.PROP_DIRTY); + + // Try to select the affected objects. + // + Command mostRecentCommand = ((CommandStack) event.getSource()).getMostRecentCommand(); + if (mostRecentCommand != null) { + setSelectionToViewer(mostRecentCommand.getAffectedObjects()); + } + for (Iterator<PropertySheetPage> i = propertySheetPages.iterator(); i.hasNext();) { + PropertySheetPage propertySheetPage = i.next(); + if (propertySheetPage.getControl() == null || propertySheetPage.getControl().isDisposed()) { + i.remove(); + } else { + propertySheetPage.refresh(); + } + } + } + }); + } + }); + + // Create the editing domain with a special command stack. + // + editingDomain = new AdapterFactoryEditingDomain(adapterFactory, commandStack, new HashMap<Resource, Boolean>()); + } + + /** + * This is here for the listener to be able to call it. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected void firePropertyChange(int action) { + super.firePropertyChange(action); + } + + /** + * This sets the selection into whichever viewer is active. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setSelectionToViewer(Collection<?> collection) { + final Collection<?> theSelection = collection; + // Make sure it's okay. + // + if (theSelection != null && !theSelection.isEmpty()) { + Runnable runnable = new Runnable() { + public void run() { + // Try to select the items in the current content viewer of the editor. + // + if (currentViewer != null) { + currentViewer.setSelection(new StructuredSelection(theSelection.toArray()), true); + } + } + }; + getSite().getShell().getDisplay().asyncExec(runnable); + } + } + + /** + * This returns the editing domain as required by the {@link IEditingDomainProvider} interface. + * This is important for implementing the static methods of {@link AdapterFactoryEditingDomain} + * and for supporting {@link org.eclipse.emf.edit.ui.action.CommandAction}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EditingDomain getEditingDomain() { + return editingDomain; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public class ReverseAdapterFactoryContentProvider extends AdapterFactoryContentProvider { + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ReverseAdapterFactoryContentProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object[] getElements(Object object) { + Object parent = super.getParent(object); + return (parent == null ? Collections.EMPTY_SET : Collections.singleton(parent)).toArray(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object[] getChildren(Object object) { + Object parent = super.getParent(object); + return (parent == null ? Collections.EMPTY_SET : Collections.singleton(parent)).toArray(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean hasChildren(Object object) { + Object parent = super.getParent(object); + return parent != null; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object getParent(Object object) { + return null; + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setCurrentViewerPane(ViewerPane viewerPane) { + if (currentViewerPane != viewerPane) { + if (currentViewerPane != null) { + currentViewerPane.showFocus(false); + } + currentViewerPane = viewerPane; + } + setCurrentViewer(currentViewerPane.getViewer()); + } + + /** + * This makes sure that one content viewer, either for the current page or the outline view, if it has focus, + * is the current one. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setCurrentViewer(Viewer viewer) { + // If it is changing... + // + if (currentViewer != viewer) { + if (selectionChangedListener == null) { + // Create the listener on demand. + // + selectionChangedListener = new ISelectionChangedListener() { + // This just notifies those things that are affected by the section. + // + public void selectionChanged(SelectionChangedEvent selectionChangedEvent) { + setSelection(selectionChangedEvent.getSelection()); + } + }; + } + + // Stop listening to the old one. + // + if (currentViewer != null) { + currentViewer.removeSelectionChangedListener(selectionChangedListener); + } + + // Start listening to the new one. + // + if (viewer != null) { + viewer.addSelectionChangedListener(selectionChangedListener); + } + + // Remember it. + // + currentViewer = viewer; + + // Set the editors selection based on the current viewer's selection. + // + setSelection(currentViewer == null ? StructuredSelection.EMPTY : currentViewer.getSelection()); + } + } + + /** + * This returns the viewer as required by the {@link IViewerProvider} interface. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Viewer getViewer() { + return currentViewer; + } + + /** + * This creates a context menu for the viewer and adds a listener as well registering the menu for extension. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void createContextMenuFor(StructuredViewer viewer) { + MenuManager contextMenu = new MenuManager("#PopUp"); + contextMenu.add(new Separator("additions")); + contextMenu.setRemoveAllWhenShown(true); + contextMenu.addMenuListener(this); + Menu menu = contextMenu.createContextMenu(viewer.getControl()); + viewer.getControl().setMenu(menu); + getSite().registerContextMenu(contextMenu, new UnwrappingSelectionProvider(viewer)); + + int dndOperations = DND.DROP_COPY | DND.DROP_MOVE | DND.DROP_LINK; + Transfer[] transfers = new Transfer[] { LocalTransfer.getInstance(), LocalSelectionTransfer.getTransfer(), + FileTransfer.getInstance() }; + viewer.addDragSupport(dndOperations, transfers, new ViewerDragAdapter(viewer)); + viewer.addDropSupport(dndOperations, transfers, new EditingDomainViewerDropAdapter(editingDomain, viewer)); + } + + /** + * This is the method called to load a resource into the editing domain's resource set based on the editor's input. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void createModel() { + URI resourceURI = EditUIUtil.getURI(getEditorInput(), editingDomain.getResourceSet().getURIConverter()); + Exception exception = null; + Resource resource = null; + try { + // Load the resource through the editing domain. + // + resource = editingDomain.getResourceSet().getResource(resourceURI, true); + } catch (Exception e) { + exception = e; + resource = editingDomain.getResourceSet().getResource(resourceURI, false); + } + + Diagnostic diagnostic = analyzeResourceProblems(resource, exception); + if (diagnostic.getSeverity() != Diagnostic.OK) { + resourceToDiagnosticMap.put(resource, analyzeResourceProblems(resource, exception)); + } + editingDomain.getResourceSet().eAdapters().add(problemIndicationAdapter); + } + + /** + * Returns a diagnostic describing the errors and warnings listed in the resource + * and the specified exception (if any). + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Diagnostic analyzeResourceProblems(Resource resource, Exception exception) { + boolean hasErrors = !resource.getErrors().isEmpty(); + if (hasErrors || !resource.getWarnings().isEmpty()) { + BasicDiagnostic basicDiagnostic = new BasicDiagnostic(hasErrors ? Diagnostic.ERROR : Diagnostic.WARNING, + "swt.most.petrinet.editor", 0, getString("_UI_CreateModelError_message", resource.getURI()), + new Object[] { exception == null ? (Object) resource : exception }); + basicDiagnostic.merge(EcoreUtil.computeDiagnostic(resource, true)); + return basicDiagnostic; + } else if (exception != null) { + return new BasicDiagnostic(Diagnostic.ERROR, "swt.most.petrinet.editor", 0, + getString("_UI_CreateModelError_message", resource.getURI()), new Object[] { exception }); + } else { + return Diagnostic.OK_INSTANCE; + } + } + + /** + * This is the method used by the framework to install your own controls. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void createPages() { + // Creates the model from the editor input + // + createModel(); + + // Only creates the other pages if there is something that can be edited + // + if (!getEditingDomain().getResourceSet().getResources().isEmpty()) { + // Create a page for the selection tree view. + // + { + ViewerPane viewerPane = new ViewerPane(getSite().getPage(), PetrinetEditor.this) { + @Override + public Viewer createViewer(Composite composite) { + Tree tree = new Tree(composite, SWT.MULTI); + TreeViewer newTreeViewer = new TreeViewer(tree); + return newTreeViewer; + } + + @Override + public void requestActivation() { + super.requestActivation(); + setCurrentViewerPane(this); + } + }; + viewerPane.createControl(getContainer()); + + selectionViewer = (TreeViewer) viewerPane.getViewer(); + selectionViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory)); + selectionViewer.setUseHashlookup(true); + + selectionViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory)); + selectionViewer.setInput(editingDomain.getResourceSet()); + selectionViewer.setSelection( + new StructuredSelection(editingDomain.getResourceSet().getResources().get(0)), true); + viewerPane.setTitle(editingDomain.getResourceSet()); + + new AdapterFactoryTreeEditor(selectionViewer.getTree(), adapterFactory); + + createContextMenuFor(selectionViewer); + int pageIndex = addPage(viewerPane.getControl()); + setPageText(pageIndex, getString("_UI_SelectionPage_label")); + } + + // Create a page for the parent tree view. + // + { + ViewerPane viewerPane = new ViewerPane(getSite().getPage(), PetrinetEditor.this) { + @Override + public Viewer createViewer(Composite composite) { + Tree tree = new Tree(composite, SWT.MULTI); + TreeViewer newTreeViewer = new TreeViewer(tree); + return newTreeViewer; + } + + @Override + public void requestActivation() { + super.requestActivation(); + setCurrentViewerPane(this); + } + }; + viewerPane.createControl(getContainer()); + + parentViewer = (TreeViewer) viewerPane.getViewer(); + parentViewer.setAutoExpandLevel(30); + parentViewer.setContentProvider(new ReverseAdapterFactoryContentProvider(adapterFactory)); + parentViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory)); + + createContextMenuFor(parentViewer); + int pageIndex = addPage(viewerPane.getControl()); + setPageText(pageIndex, getString("_UI_ParentPage_label")); + } + + // This is the page for the list viewer + // + { + ViewerPane viewerPane = new ViewerPane(getSite().getPage(), PetrinetEditor.this) { + @Override + public Viewer createViewer(Composite composite) { + return new ListViewer(composite); + } + + @Override + public void requestActivation() { + super.requestActivation(); + setCurrentViewerPane(this); + } + }; + viewerPane.createControl(getContainer()); + listViewer = (ListViewer) viewerPane.getViewer(); + listViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory)); + listViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory)); + + createContextMenuFor(listViewer); + int pageIndex = addPage(viewerPane.getControl()); + setPageText(pageIndex, getString("_UI_ListPage_label")); + } + + // This is the page for the tree viewer + // + { + ViewerPane viewerPane = new ViewerPane(getSite().getPage(), PetrinetEditor.this) { + @Override + public Viewer createViewer(Composite composite) { + return new TreeViewer(composite); + } + + @Override + public void requestActivation() { + super.requestActivation(); + setCurrentViewerPane(this); + } + }; + viewerPane.createControl(getContainer()); + treeViewer = (TreeViewer) viewerPane.getViewer(); + treeViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory)); + treeViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory)); + + new AdapterFactoryTreeEditor(treeViewer.getTree(), adapterFactory); + + createContextMenuFor(treeViewer); + int pageIndex = addPage(viewerPane.getControl()); + setPageText(pageIndex, getString("_UI_TreePage_label")); + } + + // This is the page for the table viewer. + // + { + ViewerPane viewerPane = new ViewerPane(getSite().getPage(), PetrinetEditor.this) { + @Override + public Viewer createViewer(Composite composite) { + return new TableViewer(composite); + } + + @Override + public void requestActivation() { + super.requestActivation(); + setCurrentViewerPane(this); + } + }; + viewerPane.createControl(getContainer()); + tableViewer = (TableViewer) viewerPane.getViewer(); + + Table table = tableViewer.getTable(); + TableLayout layout = new TableLayout(); + table.setLayout(layout); + table.setHeaderVisible(true); + table.setLinesVisible(true); + + TableColumn objectColumn = new TableColumn(table, SWT.NONE); + layout.addColumnData(new ColumnWeightData(3, 100, true)); + objectColumn.setText(getString("_UI_ObjectColumn_label")); + objectColumn.setResizable(true); + + TableColumn selfColumn = new TableColumn(table, SWT.NONE); + layout.addColumnData(new ColumnWeightData(2, 100, true)); + selfColumn.setText(getString("_UI_SelfColumn_label")); + selfColumn.setResizable(true); + + tableViewer.setColumnProperties(new String[] { "a", "b" }); + tableViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory)); + tableViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory)); + + createContextMenuFor(tableViewer); + int pageIndex = addPage(viewerPane.getControl()); + setPageText(pageIndex, getString("_UI_TablePage_label")); + } + + // This is the page for the table tree viewer. + // + { + ViewerPane viewerPane = new ViewerPane(getSite().getPage(), PetrinetEditor.this) { + @Override + public Viewer createViewer(Composite composite) { + return new TreeViewer(composite); + } + + @Override + public void requestActivation() { + super.requestActivation(); + setCurrentViewerPane(this); + } + }; + viewerPane.createControl(getContainer()); + + treeViewerWithColumns = (TreeViewer) viewerPane.getViewer(); + + Tree tree = treeViewerWithColumns.getTree(); + tree.setLayoutData(new FillLayout()); + tree.setHeaderVisible(true); + tree.setLinesVisible(true); + + TreeColumn objectColumn = new TreeColumn(tree, SWT.NONE); + objectColumn.setText(getString("_UI_ObjectColumn_label")); + objectColumn.setResizable(true); + objectColumn.setWidth(250); + + TreeColumn selfColumn = new TreeColumn(tree, SWT.NONE); + selfColumn.setText(getString("_UI_SelfColumn_label")); + selfColumn.setResizable(true); + selfColumn.setWidth(200); + + treeViewerWithColumns.setColumnProperties(new String[] { "a", "b" }); + treeViewerWithColumns.setContentProvider(new AdapterFactoryContentProvider(adapterFactory)); + treeViewerWithColumns.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory)); + + createContextMenuFor(treeViewerWithColumns); + int pageIndex = addPage(viewerPane.getControl()); + setPageText(pageIndex, getString("_UI_TreeWithColumnsPage_label")); + } + + getSite().getShell().getDisplay().asyncExec(new Runnable() { + public void run() { + if (!getContainer().isDisposed()) { + setActivePage(0); + } + } + }); + } + + // Ensures that this editor will only display the page's tab + // area if there are more than one page + // + getContainer().addControlListener(new ControlAdapter() { + boolean guard = false; + + @Override + public void controlResized(ControlEvent event) { + if (!guard) { + guard = true; + hideTabs(); + guard = false; + } + } + }); + + getSite().getShell().getDisplay().asyncExec(new Runnable() { + public void run() { + updateProblemIndication(); + } + }); + } + + /** + * If there is just one page in the multi-page editor part, + * this hides the single tab at the bottom. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void hideTabs() { + if (getPageCount() <= 1) { + setPageText(0, ""); + if (getContainer() instanceof CTabFolder) { + Point point = getContainer().getSize(); + Rectangle clientArea = getContainer().getClientArea(); + getContainer().setSize(point.x, 2 * point.y - clientArea.height - clientArea.y); + } + } + } + + /** + * If there is more than one page in the multi-page editor part, + * this shows the tabs at the bottom. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void showTabs() { + if (getPageCount() > 1) { + setPageText(0, getString("_UI_SelectionPage_label")); + if (getContainer() instanceof CTabFolder) { + Point point = getContainer().getSize(); + Rectangle clientArea = getContainer().getClientArea(); + getContainer().setSize(point.x, clientArea.height + clientArea.y); + } + } + } + + /** + * This is used to track the active viewer. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected void pageChange(int pageIndex) { + super.pageChange(pageIndex); + + if (contentOutlinePage != null) { + handleContentOutlineSelection(contentOutlinePage.getSelection()); + } + } + + /** + * This is how the framework determines which interfaces we implement. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public <T> T getAdapter(Class<T> key) { + if (key.equals(IContentOutlinePage.class)) { + return showOutlineView() ? key.cast(getContentOutlinePage()) : null; + } else if (key.equals(IPropertySheetPage.class)) { + return key.cast(getPropertySheetPage()); + } else if (key.equals(IGotoMarker.class)) { + return key.cast(this); + } else { + return super.getAdapter(key); + } + } + + /** + * This accesses a cached version of the content outliner. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public IContentOutlinePage getContentOutlinePage() { + if (contentOutlinePage == null) { + // The content outline is just a tree. + // + class MyContentOutlinePage extends ContentOutlinePage { + @Override + public void createControl(Composite parent) { + super.createControl(parent); + contentOutlineViewer = getTreeViewer(); + contentOutlineViewer.addSelectionChangedListener(this); + + // Set up the tree viewer. + // + contentOutlineViewer.setUseHashlookup(true); + contentOutlineViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory)); + contentOutlineViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory)); + contentOutlineViewer.setInput(editingDomain.getResourceSet()); + + // Make sure our popups work. + // + createContextMenuFor(contentOutlineViewer); + + if (!editingDomain.getResourceSet().getResources().isEmpty()) { + // Select the root object in the view. + // + contentOutlineViewer.setSelection( + new StructuredSelection(editingDomain.getResourceSet().getResources().get(0)), true); + } + } + + @Override + public void makeContributions(IMenuManager menuManager, IToolBarManager toolBarManager, + IStatusLineManager statusLineManager) { + super.makeContributions(menuManager, toolBarManager, statusLineManager); + contentOutlineStatusLineManager = statusLineManager; + } + + @Override + public void setActionBars(IActionBars actionBars) { + super.setActionBars(actionBars); + getActionBarContributor().shareGlobalActions(this, actionBars); + } + } + + contentOutlinePage = new MyContentOutlinePage(); + + // Listen to selection so that we can handle it is a special way. + // + contentOutlinePage.addSelectionChangedListener(new ISelectionChangedListener() { + // This ensures that we handle selections correctly. + // + public void selectionChanged(SelectionChangedEvent event) { + handleContentOutlineSelection(event.getSelection()); + } + }); + } + + return contentOutlinePage; + } + + /** + * This accesses a cached version of the property sheet. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public IPropertySheetPage getPropertySheetPage() { + PropertySheetPage propertySheetPage = new ExtendedPropertySheetPage(editingDomain, + ExtendedPropertySheetPage.Decoration.NONE, null, 0, false) { + @Override + public void setSelectionToViewer(List<?> selection) { + PetrinetEditor.this.setSelectionToViewer(selection); + PetrinetEditor.this.setFocus(); + } + + @Override + public void setActionBars(IActionBars actionBars) { + super.setActionBars(actionBars); + getActionBarContributor().shareGlobalActions(this, actionBars); + } + }; + propertySheetPage.setPropertySourceProvider(new AdapterFactoryContentProvider(adapterFactory)); + propertySheetPages.add(propertySheetPage); + + return propertySheetPage; + } + + /** + * This deals with how we want selection in the outliner to affect the other views. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void handleContentOutlineSelection(ISelection selection) { + if (currentViewerPane != null && !selection.isEmpty() && selection instanceof IStructuredSelection) { + Iterator<?> selectedElements = ((IStructuredSelection) selection).iterator(); + if (selectedElements.hasNext()) { + // Get the first selected element. + // + Object selectedElement = selectedElements.next(); + + // If it's the selection viewer, then we want it to select the same selection as this selection. + // + if (currentViewerPane.getViewer() == selectionViewer) { + ArrayList<Object> selectionList = new ArrayList<Object>(); + selectionList.add(selectedElement); + while (selectedElements.hasNext()) { + selectionList.add(selectedElements.next()); + } + + // Set the selection to the widget. + // + selectionViewer.setSelection(new StructuredSelection(selectionList)); + } else { + // Set the input to the widget. + // + if (currentViewerPane.getViewer().getInput() != selectedElement) { + currentViewerPane.getViewer().setInput(selectedElement); + currentViewerPane.setTitle(selectedElement); + } + } + } + } + } + + /** + * This is for implementing {@link IEditorPart} and simply tests the command stack. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isDirty() { + return ((BasicCommandStack) editingDomain.getCommandStack()).isSaveNeeded(); + } + + /** + * This is for implementing {@link IEditorPart} and simply saves the model file. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void doSave(IProgressMonitor progressMonitor) { + // Save only resources that have actually changed. + // + final Map<Object, Object> saveOptions = new HashMap<Object, Object>(); + saveOptions.put(Resource.OPTION_SAVE_ONLY_IF_CHANGED, Resource.OPTION_SAVE_ONLY_IF_CHANGED_MEMORY_BUFFER); + saveOptions.put(Resource.OPTION_LINE_DELIMITER, Resource.OPTION_LINE_DELIMITER_UNSPECIFIED); + + // Do the work within an operation because this is a long running activity that modifies the workbench. + // + WorkspaceModifyOperation operation = new WorkspaceModifyOperation() { + // This is the method that gets invoked when the operation runs. + // + @Override + public void execute(IProgressMonitor monitor) { + // Save the resources to the file system. + // + boolean first = true; + List<Resource> resources = editingDomain.getResourceSet().getResources(); + for (int i = 0; i < resources.size(); ++i) { + Resource resource = resources.get(i); + if ((first || !resource.getContents().isEmpty() || isPersisted(resource)) + && !editingDomain.isReadOnly(resource)) { + try { + long timeStamp = resource.getTimeStamp(); + resource.save(saveOptions); + if (resource.getTimeStamp() != timeStamp) { + savedResources.add(resource); + } + } catch (Exception exception) { + resourceToDiagnosticMap.put(resource, analyzeResourceProblems(resource, exception)); + } + first = false; + } + } + } + }; + + updateProblemIndication = false; + try { + // This runs the options, and shows progress. + // + new ProgressMonitorDialog(getSite().getShell()).run(true, false, operation); + + // Refresh the necessary state. + // + ((BasicCommandStack) editingDomain.getCommandStack()).saveIsDone(); + firePropertyChange(IEditorPart.PROP_DIRTY); + } catch (Exception exception) { + // Something went wrong that shouldn't. + // + PetrinetEditorPlugin.INSTANCE.log(exception); + } + updateProblemIndication = true; + updateProblemIndication(); + } + + /** + * This returns whether something has been persisted to the URI of the specified resource. + * The implementation uses the URI converter from the editor's resource set to try to open an input stream. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected boolean isPersisted(Resource resource) { + boolean result = false; + try { + InputStream stream = editingDomain.getResourceSet().getURIConverter().createInputStream(resource.getURI()); + if (stream != null) { + result = true; + stream.close(); + } + } catch (IOException e) { + // Ignore + } + return result; + } + + /** + * This always returns true because it is not currently supported. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSaveAsAllowed() { + return true; + } + + /** + * This also changes the editor's input. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void doSaveAs() { + SaveAsDialog saveAsDialog = new SaveAsDialog(getSite().getShell()); + saveAsDialog.open(); + IPath path = saveAsDialog.getResult(); + if (path != null) { + IFile file = ResourcesPlugin.getWorkspace().getRoot().getFile(path); + if (file != null) { + doSaveAs(URI.createPlatformResourceURI(file.getFullPath().toString(), true), new FileEditorInput(file)); + } + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void doSaveAs(URI uri, IEditorInput editorInput) { + (editingDomain.getResourceSet().getResources().get(0)).setURI(uri); + setInputWithNotify(editorInput); + setPartName(editorInput.getName()); + IProgressMonitor progressMonitor = getActionBars().getStatusLineManager() != null + ? getActionBars().getStatusLineManager().getProgressMonitor() + : new NullProgressMonitor(); + doSave(progressMonitor); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void gotoMarker(IMarker marker) { + List<?> targetObjects = markerHelper.getTargetObjects(editingDomain, marker); + if (!targetObjects.isEmpty()) { + setSelectionToViewer(targetObjects); + } + } + + /** + * This is called during startup. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void init(IEditorSite site, IEditorInput editorInput) { + setSite(site); + setInputWithNotify(editorInput); + setPartName(editorInput.getName()); + site.setSelectionProvider(this); + site.getPage().addPartListener(partListener); + ResourcesPlugin.getWorkspace().addResourceChangeListener(resourceChangeListener, + IResourceChangeEvent.POST_CHANGE); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void setFocus() { + if (currentViewerPane != null) { + currentViewerPane.setFocus(); + } else { + getControl(getActivePage()).setFocus(); + } + } + + /** + * This implements {@link org.eclipse.jface.viewers.ISelectionProvider}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void addSelectionChangedListener(ISelectionChangedListener listener) { + selectionChangedListeners.add(listener); + } + + /** + * This implements {@link org.eclipse.jface.viewers.ISelectionProvider}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void removeSelectionChangedListener(ISelectionChangedListener listener) { + selectionChangedListeners.remove(listener); + } + + /** + * This implements {@link org.eclipse.jface.viewers.ISelectionProvider} to return this editor's overall selection. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ISelection getSelection() { + return editorSelection; + } + + /** + * This implements {@link org.eclipse.jface.viewers.ISelectionProvider} to set this editor's overall selection. + * Calling this result will notify the listeners. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setSelection(ISelection selection) { + editorSelection = selection; + + for (ISelectionChangedListener listener : selectionChangedListeners) { + listener.selectionChanged(new SelectionChangedEvent(this, selection)); + } + setStatusLineManager(selection); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setStatusLineManager(ISelection selection) { + IStatusLineManager statusLineManager = currentViewer != null && currentViewer == contentOutlineViewer + ? contentOutlineStatusLineManager + : getActionBars().getStatusLineManager(); + + if (statusLineManager != null) { + if (selection instanceof IStructuredSelection) { + Collection<?> collection = ((IStructuredSelection) selection).toList(); + switch (collection.size()) { + case 0: { + statusLineManager.setMessage(getString("_UI_NoObjectSelected")); + break; + } + case 1: { + String text = new AdapterFactoryItemDelegator(adapterFactory).getText(collection.iterator().next()); + statusLineManager.setMessage(getString("_UI_SingleObjectSelected", text)); + break; + } + default: { + statusLineManager + .setMessage(getString("_UI_MultiObjectSelected", Integer.toString(collection.size()))); + break; + } + } + } else { + statusLineManager.setMessage(""); + } + } + } + + /** + * This looks up a string in the plugin's plugin.properties file. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private static String getString(String key) { + return PetrinetEditorPlugin.INSTANCE.getString(key); + } + + /** + * This looks up a string in plugin.properties, making a substitution. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private static String getString(String key, Object s1) { + return PetrinetEditorPlugin.INSTANCE.getString(key, new Object[] { s1 }); + } + + /** + * This implements {@link org.eclipse.jface.action.IMenuListener} to help fill the context menus with contributions from the Edit menu. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void menuAboutToShow(IMenuManager menuManager) { + ((IMenuListener) getEditorSite().getActionBarContributor()).menuAboutToShow(menuManager); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EditingDomainActionBarContributor getActionBarContributor() { + return (EditingDomainActionBarContributor) getEditorSite().getActionBarContributor(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public IActionBars getActionBars() { + return getActionBarContributor().getActionBars(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public AdapterFactory getAdapterFactory() { + return adapterFactory; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void dispose() { + updateProblemIndication = false; + + ResourcesPlugin.getWorkspace().removeResourceChangeListener(resourceChangeListener); + + getSite().getPage().removePartListener(partListener); + + adapterFactory.dispose(); + + if (getActionBarContributor().getActiveEditor() == this) { + getActionBarContributor().setActiveEditor(null); + } + + for (PropertySheetPage propertySheetPage : propertySheetPages) { + propertySheetPage.dispose(); + } + + if (contentOutlinePage != null) { + contentOutlinePage.dispose(); + } + + super.dispose(); + } + + /** + * Returns whether the outline view should be presented to the user. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected boolean showOutlineView() { + return true; + } +} diff --git a/metamodel/swt.most.petrinet.editor/src-gen/swt/most/petrinet/presentation/PetrinetEditorPlugin.java b/metamodel/swt.most.petrinet.editor/src-gen/swt/most/petrinet/presentation/PetrinetEditorPlugin.java new file mode 100644 index 0000000..7ec83fd --- /dev/null +++ b/metamodel/swt.most.petrinet.editor/src-gen/swt/most/petrinet/presentation/PetrinetEditorPlugin.java @@ -0,0 +1,89 @@ +/** + */ +package swt.most.petrinet.presentation; + +import org.eclipse.emf.common.EMFPlugin; + +import org.eclipse.emf.common.ui.EclipseUIPlugin; + +import org.eclipse.emf.common.util.ResourceLocator; + +/** + * This is the central singleton for the Petrinet editor plugin. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public final class PetrinetEditorPlugin extends EMFPlugin { + /** + * Keep track of the singleton. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final PetrinetEditorPlugin INSTANCE = new PetrinetEditorPlugin(); + + /** + * Keep track of the singleton. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private static Implementation plugin; + + /** + * Create the instance. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public PetrinetEditorPlugin() { + super(new ResourceLocator[] {}); + } + + /** + * Returns the singleton instance of the Eclipse plugin. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the singleton instance. + * @generated + */ + @Override + public ResourceLocator getPluginResourceLocator() { + return plugin; + } + + /** + * Returns the singleton instance of the Eclipse plugin. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the singleton instance. + * @generated + */ + public static Implementation getPlugin() { + return plugin; + } + + /** + * The actual implementation of the Eclipse <b>Plugin</b>. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static class Implementation extends EclipseUIPlugin { + /** + * Creates an instance. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Implementation() { + super(); + + // Remember the static instance. + // + plugin = this; + } + } + +} diff --git a/metamodel/swt.most.petrinet.editor/src-gen/swt/most/petrinet/presentation/PetrinetModelWizard.java b/metamodel/swt.most.petrinet.editor/src-gen/swt/most/petrinet/presentation/PetrinetModelWizard.java new file mode 100644 index 0000000..ca520f3 --- /dev/null +++ b/metamodel/swt.most.petrinet.editor/src-gen/swt/most/petrinet/presentation/PetrinetModelWizard.java @@ -0,0 +1,624 @@ +/** + */ +package swt.most.petrinet.presentation; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.MissingResourceException; +import java.util.StringTokenizer; + +import org.eclipse.emf.common.CommonPlugin; + +import org.eclipse.emf.common.util.URI; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EClassifier; + +import org.eclipse.emf.ecore.resource.Resource; +import org.eclipse.emf.ecore.resource.ResourceSet; + +import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl; + +import org.eclipse.emf.ecore.EObject; + +import org.eclipse.emf.ecore.xmi.XMLResource; + +import org.eclipse.emf.edit.ui.provider.ExtendedImageRegistry; + +import org.eclipse.core.resources.IContainer; +import org.eclipse.core.resources.IFile; +import org.eclipse.core.resources.IFolder; +import org.eclipse.core.resources.IProject; +import org.eclipse.core.resources.IResource; +import org.eclipse.core.resources.ResourcesPlugin; + +import org.eclipse.core.runtime.IProgressMonitor; + +import org.eclipse.jface.dialogs.MessageDialog; + +import org.eclipse.jface.viewers.IStructuredSelection; + +import org.eclipse.jface.wizard.Wizard; +import org.eclipse.jface.wizard.WizardPage; + +import org.eclipse.swt.SWT; + +import org.eclipse.swt.events.ModifyListener; +import org.eclipse.swt.events.ModifyEvent; + +import org.eclipse.swt.layout.GridData; +import org.eclipse.swt.layout.GridLayout; + +import org.eclipse.swt.widgets.Combo; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Label; + +import org.eclipse.ui.INewWizard; +import org.eclipse.ui.IWorkbench; + +import org.eclipse.ui.actions.WorkspaceModifyOperation; + +import org.eclipse.ui.dialogs.WizardNewFileCreationPage; + +import org.eclipse.ui.part.FileEditorInput; +import org.eclipse.ui.part.ISetSelectionTarget; + +import swt.most.petrinet.PetrinetFactory; +import swt.most.petrinet.PetrinetPackage; +import swt.most.petrinet.provider.PetrinetEditPlugin; + +import org.eclipse.core.runtime.Path; + +import org.eclipse.jface.viewers.ISelection; +import org.eclipse.jface.viewers.StructuredSelection; + +import org.eclipse.ui.IWorkbenchPage; +import org.eclipse.ui.IWorkbenchPart; +import org.eclipse.ui.IWorkbenchWindow; +import org.eclipse.ui.PartInitException; + +/** + * This is a simple wizard for creating a new model file. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class PetrinetModelWizard extends Wizard implements INewWizard { + /** + * The supported extensions for created files. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final List<String> FILE_EXTENSIONS = Collections.unmodifiableList(Arrays.asList( + PetrinetEditorPlugin.INSTANCE.getString("_UI_PetrinetEditorFilenameExtensions").split("\\s*,\\s*"))); + + /** + * A formatted list of supported file extensions, suitable for display. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final String FORMATTED_FILE_EXTENSIONS = PetrinetEditorPlugin.INSTANCE + .getString("_UI_PetrinetEditorFilenameExtensions").replaceAll("\\s*,\\s*", ", "); + + /** + * This caches an instance of the model package. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected PetrinetPackage petrinetPackage = PetrinetPackage.eINSTANCE; + + /** + * This caches an instance of the model factory. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected PetrinetFactory petrinetFactory = petrinetPackage.getPetrinetFactory(); + + /** + * This is the file creation page. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected PetrinetModelWizardNewFileCreationPage newFileCreationPage; + + /** + * This is the initial object creation page. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected PetrinetModelWizardInitialObjectCreationPage initialObjectCreationPage; + + /** + * Remember the selection during initialization for populating the default container. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected IStructuredSelection selection; + + /** + * Remember the workbench during initialization. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected IWorkbench workbench; + + /** + * Caches the names of the types that can be created as the root object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected List<String> initialObjectNames; + + /** + * This just records the information. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void init(IWorkbench workbench, IStructuredSelection selection) { + this.workbench = workbench; + this.selection = selection; + setWindowTitle(PetrinetEditorPlugin.INSTANCE.getString("_UI_Wizard_label")); + setDefaultPageImageDescriptor(ExtendedImageRegistry.INSTANCE + .getImageDescriptor(PetrinetEditorPlugin.INSTANCE.getImage("full/wizban/NewPetrinet"))); + } + + /** + * Returns the names of the types that can be created as the root object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Collection<String> getInitialObjectNames() { + if (initialObjectNames == null) { + initialObjectNames = new ArrayList<String>(); + for (EClassifier eClassifier : petrinetPackage.getEClassifiers()) { + if (eClassifier instanceof EClass) { + EClass eClass = (EClass) eClassifier; + if (!eClass.isAbstract()) { + initialObjectNames.add(eClass.getName()); + } + } + } + Collections.sort(initialObjectNames, CommonPlugin.INSTANCE.getComparator()); + } + return initialObjectNames; + } + + /** + * Create a new model. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected EObject createInitialModel() { + EClass eClass = (EClass) petrinetPackage.getEClassifier(initialObjectCreationPage.getInitialObjectName()); + EObject rootObject = petrinetFactory.create(eClass); + return rootObject; + } + + /** + * Do the work after everything is specified. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean performFinish() { + try { + // Remember the file. + // + final IFile modelFile = getModelFile(); + + // Do the work within an operation. + // + WorkspaceModifyOperation operation = new WorkspaceModifyOperation() { + @Override + protected void execute(IProgressMonitor progressMonitor) { + try { + // Create a resource set + // + ResourceSet resourceSet = new ResourceSetImpl(); + + // Get the URI of the model file. + // + URI fileURI = URI.createPlatformResourceURI(modelFile.getFullPath().toString(), true); + + // Create a resource for this file. + // + Resource resource = resourceSet.createResource(fileURI); + + // Add the initial model object to the contents. + // + EObject rootObject = createInitialModel(); + if (rootObject != null) { + resource.getContents().add(rootObject); + } + + // Save the contents of the resource to the file system. + // + Map<Object, Object> options = new HashMap<Object, Object>(); + options.put(XMLResource.OPTION_ENCODING, initialObjectCreationPage.getEncoding()); + resource.save(options); + } catch (Exception exception) { + PetrinetEditorPlugin.INSTANCE.log(exception); + } finally { + progressMonitor.done(); + } + } + }; + + getContainer().run(false, false, operation); + + // Select the new file resource in the current view. + // + IWorkbenchWindow workbenchWindow = workbench.getActiveWorkbenchWindow(); + IWorkbenchPage page = workbenchWindow.getActivePage(); + final IWorkbenchPart activePart = page.getActivePart(); + if (activePart instanceof ISetSelectionTarget) { + final ISelection targetSelection = new StructuredSelection(modelFile); + getShell().getDisplay().asyncExec(new Runnable() { + public void run() { + ((ISetSelectionTarget) activePart).selectReveal(targetSelection); + } + }); + } + + // Open an editor on the new file. + // + try { + page.openEditor(new FileEditorInput(modelFile), + workbench.getEditorRegistry().getDefaultEditor(modelFile.getFullPath().toString()).getId()); + } catch (PartInitException exception) { + MessageDialog.openError(workbenchWindow.getShell(), + PetrinetEditorPlugin.INSTANCE.getString("_UI_OpenEditorError_label"), exception.getMessage()); + return false; + } + + return true; + } catch (Exception exception) { + PetrinetEditorPlugin.INSTANCE.log(exception); + return false; + } + } + + /** + * This is the one page of the wizard. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public class PetrinetModelWizardNewFileCreationPage extends WizardNewFileCreationPage { + /** + * Pass in the selection. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public PetrinetModelWizardNewFileCreationPage(String pageId, IStructuredSelection selection) { + super(pageId, selection); + } + + /** + * The framework calls this to see if the file is correct. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected boolean validatePage() { + if (super.validatePage()) { + String extension = new Path(getFileName()).getFileExtension(); + if (extension == null || !FILE_EXTENSIONS.contains(extension)) { + String key = FILE_EXTENSIONS.size() > 1 ? "_WARN_FilenameExtensions" : "_WARN_FilenameExtension"; + setErrorMessage( + PetrinetEditorPlugin.INSTANCE.getString(key, new Object[] { FORMATTED_FILE_EXTENSIONS })); + return false; + } + return true; + } + return false; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public IFile getModelFile() { + return ResourcesPlugin.getWorkspace().getRoot().getFile(getContainerFullPath().append(getFileName())); + } + } + + /** + * This is the page where the type of object to create is selected. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public class PetrinetModelWizardInitialObjectCreationPage extends WizardPage { + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Combo initialObjectField; + + /** + * @generated + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + */ + protected List<String> encodings; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Combo encodingField; + + /** + * Pass in the selection. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public PetrinetModelWizardInitialObjectCreationPage(String pageId) { + super(pageId); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void createControl(Composite parent) { + Composite composite = new Composite(parent, SWT.NONE); + { + GridLayout layout = new GridLayout(); + layout.numColumns = 1; + layout.verticalSpacing = 12; + composite.setLayout(layout); + + GridData data = new GridData(); + data.verticalAlignment = GridData.FILL; + data.grabExcessVerticalSpace = true; + data.horizontalAlignment = GridData.FILL; + composite.setLayoutData(data); + } + + Label containerLabel = new Label(composite, SWT.LEFT); + { + containerLabel.setText(PetrinetEditorPlugin.INSTANCE.getString("_UI_ModelObject")); + + GridData data = new GridData(); + data.horizontalAlignment = GridData.FILL; + containerLabel.setLayoutData(data); + } + + initialObjectField = new Combo(composite, SWT.BORDER); + { + GridData data = new GridData(); + data.horizontalAlignment = GridData.FILL; + data.grabExcessHorizontalSpace = true; + initialObjectField.setLayoutData(data); + } + + for (String objectName : getInitialObjectNames()) { + initialObjectField.add(getLabel(objectName)); + } + + if (initialObjectField.getItemCount() == 1) { + initialObjectField.select(0); + } + initialObjectField.addModifyListener(validator); + + Label encodingLabel = new Label(composite, SWT.LEFT); + { + encodingLabel.setText(PetrinetEditorPlugin.INSTANCE.getString("_UI_XMLEncoding")); + + GridData data = new GridData(); + data.horizontalAlignment = GridData.FILL; + encodingLabel.setLayoutData(data); + } + encodingField = new Combo(composite, SWT.BORDER); + { + GridData data = new GridData(); + data.horizontalAlignment = GridData.FILL; + data.grabExcessHorizontalSpace = true; + encodingField.setLayoutData(data); + } + + for (String encoding : getEncodings()) { + encodingField.add(encoding); + } + + encodingField.select(0); + encodingField.addModifyListener(validator); + + setPageComplete(validatePage()); + setControl(composite); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ModifyListener validator = new ModifyListener() { + public void modifyText(ModifyEvent e) { + setPageComplete(validatePage()); + } + }; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected boolean validatePage() { + return getInitialObjectName() != null && getEncodings().contains(encodingField.getText()); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void setVisible(boolean visible) { + super.setVisible(visible); + if (visible) { + if (initialObjectField.getItemCount() == 1) { + initialObjectField.clearSelection(); + encodingField.setFocus(); + } else { + encodingField.clearSelection(); + initialObjectField.setFocus(); + } + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getInitialObjectName() { + String label = initialObjectField.getText(); + + for (String name : getInitialObjectNames()) { + if (getLabel(name).equals(label)) { + return name; + } + } + return null; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getEncoding() { + return encodingField.getText(); + } + + /** + * Returns the label for the specified type name. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected String getLabel(String typeName) { + try { + return PetrinetEditPlugin.INSTANCE.getString("_UI_" + typeName + "_type"); + } catch (MissingResourceException mre) { + PetrinetEditorPlugin.INSTANCE.log(mre); + } + return typeName; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Collection<String> getEncodings() { + if (encodings == null) { + encodings = new ArrayList<String>(); + for (StringTokenizer stringTokenizer = new StringTokenizer( + PetrinetEditorPlugin.INSTANCE.getString("_UI_XMLEncodingChoices")); stringTokenizer + .hasMoreTokens();) { + encodings.add(stringTokenizer.nextToken()); + } + } + return encodings; + } + } + + /** + * The framework calls this to create the contents of the wizard. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void addPages() { + // Create a page, set the title, and the initial model file name. + // + newFileCreationPage = new PetrinetModelWizardNewFileCreationPage("Whatever", selection); + newFileCreationPage.setTitle(PetrinetEditorPlugin.INSTANCE.getString("_UI_PetrinetModelWizard_label")); + newFileCreationPage + .setDescription(PetrinetEditorPlugin.INSTANCE.getString("_UI_PetrinetModelWizard_description")); + newFileCreationPage.setFileName(PetrinetEditorPlugin.INSTANCE.getString("_UI_PetrinetEditorFilenameDefaultBase") + + "." + FILE_EXTENSIONS.get(0)); + addPage(newFileCreationPage); + + // Try and get the resource selection to determine a current directory for the file dialog. + // + if (selection != null && !selection.isEmpty()) { + // Get the resource... + // + Object selectedElement = selection.iterator().next(); + if (selectedElement instanceof IResource) { + // Get the resource parent, if its a file. + // + IResource selectedResource = (IResource) selectedElement; + if (selectedResource.getType() == IResource.FILE) { + selectedResource = selectedResource.getParent(); + } + + // This gives us a directory... + // + if (selectedResource instanceof IFolder || selectedResource instanceof IProject) { + // Set this for the container. + // + newFileCreationPage.setContainerFullPath(selectedResource.getFullPath()); + + // Make up a unique new name here. + // + String defaultModelBaseFilename = PetrinetEditorPlugin.INSTANCE + .getString("_UI_PetrinetEditorFilenameDefaultBase"); + String defaultModelFilenameExtension = FILE_EXTENSIONS.get(0); + String modelFilename = defaultModelBaseFilename + "." + defaultModelFilenameExtension; + for (int i = 1; ((IContainer) selectedResource).findMember(modelFilename) != null; ++i) { + modelFilename = defaultModelBaseFilename + i + "." + defaultModelFilenameExtension; + } + newFileCreationPage.setFileName(modelFilename); + } + } + } + initialObjectCreationPage = new PetrinetModelWizardInitialObjectCreationPage("Whatever2"); + initialObjectCreationPage.setTitle(PetrinetEditorPlugin.INSTANCE.getString("_UI_PetrinetModelWizard_label")); + initialObjectCreationPage + .setDescription(PetrinetEditorPlugin.INSTANCE.getString("_UI_Wizard_initial_object_description")); + addPage(initialObjectCreationPage); + } + + /** + * Get the file from the page. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public IFile getModelFile() { + return newFileCreationPage.getModelFile(); + } + +} diff --git a/metamodel/swt.most.petrinet/.classpath b/metamodel/swt.most.petrinet/.classpath new file mode 100644 index 0000000..c3f9cf3 --- /dev/null +++ b/metamodel/swt.most.petrinet/.classpath @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="src" path="src-gen"/> + <classpathentry kind="src" path="src"/> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-17"/> + <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> + <classpathentry kind="output" path="bin"/> +</classpath> diff --git a/metamodel/swt.most.petrinet/.project b/metamodel/swt.most.petrinet/.project new file mode 100644 index 0000000..b86c38a --- /dev/null +++ b/metamodel/swt.most.petrinet/.project @@ -0,0 +1,29 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>swt.most.petrinet</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.pde.ManifestBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.pde.SchemaBuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>org.eclipse.sirius.nature.modelingproject</nature> + <nature>org.eclipse.jdt.core.javanature</nature> + <nature>org.eclipse.pde.PluginNature</nature> + </natures> +</projectDescription> diff --git a/metamodel/swt.most.petrinet/.settings/org.eclipse.core.resources.prefs b/metamodel/swt.most.petrinet/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 0000000..99f26c0 --- /dev/null +++ b/metamodel/swt.most.petrinet/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +encoding/<project>=UTF-8 diff --git a/metamodel/swt.most.petrinet/META-INF/MANIFEST.MF b/metamodel/swt.most.petrinet/META-INF/MANIFEST.MF new file mode 100644 index 0000000..1ec2a87 --- /dev/null +++ b/metamodel/swt.most.petrinet/META-INF/MANIFEST.MF @@ -0,0 +1,16 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: %pluginName +Bundle-SymbolicName: swt.most.petrinet;singleton:=true +Automatic-Module-Name: swt.most.petrinet +Bundle-Version: 0.1.0.qualifier +Bundle-ClassPath: . +Bundle-Vendor: %providerName +Bundle-Localization: plugin +Bundle-RequiredExecutionEnvironment: J2SE-1.5 +Export-Package: swt.most.petrinet, + swt.most.petrinet.impl, + swt.most.petrinet.util +Require-Bundle: org.eclipse.emf.ecore;visibility:=reexport, + org.eclipse.core.runtime +Bundle-ActivationPolicy: lazy diff --git a/metamodel/swt.most.petrinet/bin/.gitkeep b/metamodel/swt.most.petrinet/bin/.gitkeep new file mode 100644 index 0000000000000000000000000000000000000000..49cc8ef0e116cef009fe0bd72473a964bbd07f9b GIT binary patch literal 6 NcmezWkC%aq0RRg=0u=xN literal 0 HcmV?d00001 diff --git a/metamodel/swt.most.petrinet/bin/swt/most/petrinet/Arc.class b/metamodel/swt.most.petrinet/bin/swt/most/petrinet/Arc.class new file mode 100644 index 0000000000000000000000000000000000000000..00ae59c08799669a1ab447e2f938a1b374a6d14b GIT binary patch literal 142 zcmX^0Z`VEs1_nn4PId++Mh4O1@)G^r{NfV*g4B|t%)HbReaE6?b_Nzk27#=^vPAuy z#JqHU|D>$c<PvrUHbw^7{GxRI)a0DZg5p&D)Z8@v)a3l4RDD;75=I8D;QZ2}<W#rJ loK!{z4#%QoJ&-YMj0}tn%nXbStPCK)$iU9Pz`(@70RWPJBk}+M literal 0 HcmV?d00001 diff --git a/metamodel/swt.most.petrinet/bin/swt/most/petrinet/Element.class b/metamodel/swt.most.petrinet/bin/swt/most/petrinet/Element.class new file mode 100644 index 0000000000000000000000000000000000000000..637b322e3e6b6e46772ff5d016de531f00caffe5 GIT binary patch literal 245 zcmX^0Z`VEs1_nn4UUmj1Mh3~^@)G^r{NfV*g4B|t%)HbReb=1S+|;}hb_Nzk27#=^ zvPAuy#JqHU|D>$c<PvrUHbw^7{GxRI)a0DZg5p&D)Z8@v)a3l4RDD;75=I8z^wbj1 zl+?VE%(TqZB1Q%g4NV_}LBSw<(ybX8c#Bb$iE3b~(hOr{;0n$!ElN&x%gjk-WZ;21 sPY+}u8zTcF12Y3711kdq0}~4)13Lo;1IXQ+3|tHh42%riAaMpB0HjVptpET3 literal 0 HcmV?d00001 diff --git a/metamodel/swt.most.petrinet/bin/swt/most/petrinet/IncomingArc.class b/metamodel/swt.most.petrinet/bin/swt/most/petrinet/IncomingArc.class new file mode 100644 index 0000000000000000000000000000000000000000..bd1f1839a7f275569c9ea767bec33e8708a4817b GIT binary patch literal 362 zcmX^0Z`VEs1_nn4L3RcvMh4m9@)G^r{NfV*g4B|t%)HbReb2n){M^jEbjPA(b_Nzk z27#=^vPAuy#JqHU|D>$c<PvrUHbw?fOpT63$&3t~>8T|liACwDC5#LT8k#<s%0h|~ z^NKS|GV}AS85uZ>5y}-c@T=AggBTy2Us{x$%E%y%)%bv%#N<?{$uN~N*i42f1R2T& zQRkMKlgh{-faHHYkk{E585kLu85kK@85kH?SQr`D88{d~0mI3_1*W+fc)&C-10Mqe O10w@J0|NsSg8%@=d}Kxd literal 0 HcmV?d00001 diff --git a/metamodel/swt.most.petrinet/bin/swt/most/petrinet/OutgoingArc.class b/metamodel/swt.most.petrinet/bin/swt/most/petrinet/OutgoingArc.class new file mode 100644 index 0000000000000000000000000000000000000000..66eb1967d4046d8fa1ddedb3f45545182c903015 GIT binary patch literal 362 zcmX^0Z`VEs1_nn4L3RcvMh4m9@)G^r{NfV*g4B|t%)HbRegD#u^!&`cbjPA(b_Nzk z27#=^vPAuy#JqHU|D>$c<PvrUHbw?fOpT63$&3t~>8T~b`K3k4sf-K?8k#<s%0h|~ z^NKS|GV}AS85uZ>5y}-c@T=AggBTx@Sd^Yx!pI<v)%bv%#N<?{$uN~N*i42f1R2T& zaj;uvPAVgV0FwXpKwf8KWME`qW?*DsWnf@nVPRxoXW(D}1q>$x7ntT|-~rRT415d> O42%r?3=9lR3<3c21Y~vq literal 0 HcmV?d00001 diff --git a/metamodel/swt.most.petrinet/bin/swt/most/petrinet/PetriNet.class b/metamodel/swt.most.petrinet/bin/swt/most/petrinet/PetriNet.class new file mode 100644 index 0000000000000000000000000000000000000000..aed7b2302c7aac227ee7246bcfa46ab3d81db0ce GIT binary patch literal 477 zcmX^0Z`VEs1_nn4VRi;4Mh2<k@)G^r{NfV*g4B|t%)HbR{QwZdFSUf7frXJlAS<yf zQ9ma!FJ0e1DJwO(gq?wnkwG@UC|y4_IVZEAI8{G2H%&h^Ilm}X-xZ>Sk%2uuwZtzm zH<gh=L_^aDVMH*<igas62KHi@0#OZ2dCf405spR4#f%K98k#=n_9f@%=H}<=mzHGa z=)3x47MEBvGH?cGrspM=loq8jGT0HL$HoWK^NvNy)^^s64BY9dC9XNCxv6<2#f%J2 z<QfMx0&FB#aDHh~a;jTqPAVe<FD#VxK%v9N$iT?J%)rRN%D}+D!otYF&cML{3Vu!o iE-=l_z{9}Ez{|kEz{J4E!pOjn#1~*-WDo?)2mt_|afGn| literal 0 HcmV?d00001 diff --git a/metamodel/swt.most.petrinet/bin/swt/most/petrinet/PetrinetFactory.class b/metamodel/swt.most.petrinet/bin/swt/most/petrinet/PetrinetFactory.class new file mode 100644 index 0000000000000000000000000000000000000000..96d53a66e79c669b29a50d52958c49d31222c399 GIT binary patch literal 877 zcmX^0Z`VEs1_nn4HFgFjMh3;=@)G^r{NfV*g4B|t%)HbR{QxM#Eit(yzo?R(frXJl zAS<yfQ9ma!FJ0e1DJwO(gq?wnkwGrMC|y4_IVZEAI8{G2H%&h^Ilm}X-xaEpk%2SS z(=Ry0(a+hHkwMvqpjFn43>-GeIhlExC3cJq%o>_uj0`N!`6;Pf47?2d><oO23|g3m zWabv+pgY<#w;+dyL4ZM!k%0wd93z9Oh9(gX;ACKA5awZEXW(FD;P=VQOZ6+wO-d~a zNleN~Wn>WY$xlwq2}>->1o5GQe91+ri6yDvQ1eSIVPufQZIfSWi8UjGAVh~}UUGhJ zW?s5uQ8FWgB34aEN)Y<|OH0!8@#{lUV$I0F4Y4mECowsdkwF@(O<+lDMg{?h+K{5e zyyDD~%=|n?1_i7d5GoKhgyd(Z=HapdENRWiAe5e30uHRa)RKV2<m|-sR6?->Rc6h| zz!jWdT9lmXmI;au5tuR1^ri<&q-=}~j10^Sj0~&{j0}>Xm}FpJ;9%fj;AG%pU}WHC zU|>*ZU}OLR_8km7n;C>QGB7YOF^DiQFtC9o#27@uBA|3H#vslBq9qt4!L$^EG?<oQ dkOk9n4Dw)Ffk6>WD={cDFfcGOsDMpS1pwps^p*es literal 0 HcmV?d00001 diff --git a/metamodel/swt.most.petrinet/bin/swt/most/petrinet/PetrinetPackage$Literals.class b/metamodel/swt.most.petrinet/bin/swt/most/petrinet/PetrinetPackage$Literals.class new file mode 100644 index 0000000000000000000000000000000000000000..5cd80e2699b500b2653e31d7d7b8d94f2b777845 GIT binary patch literal 1935 zcmX^0Z`VEs1_nolMs@}!Mh30o@)G^r{NfV*g4B|t%)HbR{QxK<ATc>RF+EkqC$l8A zC^4s)oq>gsK_Dx!EKxrvF)v-;KPf9UxrC8{Gr%<@$TQy0HH48t&L_VpT|YHBC$pe9 zRX;U1O+Pg`zbIAT)j21zxY(MJfgi3oKHksK*Oie$36~bfl9Hm#q|%a9G;NMS&cS%J z1*N8?7NzDTgR}`F+2-ow>g(zk63ocJ4rMYj2t!%%@t!WOej%Q2o~}WR49t!}&WsE^ zo_@~$zMg*W@nEh9GB-Xx#4*Sn<Y6@7VE@n{XIDlB9{<n~cYlOtWNv&sOqB?#Fw9KW z03S!NAz(T_KE&VK)sK;ZD<sI#FW580)8CJgffXvqVUwJbnU`5&$H>5}p&7==z~Y>r zlFG>-%OKCrAjim{NHBhR7!(*385uZJJ^g}19Q{BREBg@CWzEeX%b?7|pu(Wa$iSVR zS^`creyJsl3<?^WxS|x23OE@U8Ps_gSQ*$rhG_CIXfbFrG6*0U67QFoo65+bg4-lS z;sBYZ%frCVzyUH%pNGMK!4S<f$D-t7yrv=249GNN9tKVZE|6)aJPc+a(?pQn=9-h5 zo0?Zr3{q;r!@vzuYQ@7~4GIgc^wbil3XlR@9tIwWKka!K96<gQMJR~(Oi9fv$xO>k zEdr@^;$h&0_`-#U!4+f}TY74VV^K0l(w&Ea4`Prf4}%v-k}o~A#4|5BKQ}Wk9jeHO zhk+lW$d8A?ALMe7ZAgmZLlTS9Q%gVw2J$cnK%5@T!w`Z^ZE${RQF1CsZ5R)OAVh5h z4?`r(a{tnj^n8Tn(L4-75X)nE7~)_CA}NYT7?{ArAPg}uiH9K>n_7fJQ+XIfAZpWj z7&1VXbAX~FClTVdEFK0?h_yL947nhqKmii~l8z6_&rZz)c_5#MK@4I>ArC_l$PC`} z)RK^*#Ju9nlFWRtni3ucafm@>JPhR^H6VN7MpW`JNHDN5GVuFk=B4_T<|d^Ug(N2B zq%txH`Q#@j=7c2{WrFxnK`w}A-7-NcM8LTtFSP_(rs{!8QBV<+mzP=u&J?M|j0_yG zl9rKy!!NbC#3R4BgpHAbk%5_kfkBW#5|m>Y7#Ji$X&p>+GH`)uZYa&ezy{{?GH`%t zJ}93bN((^M2|{ThsJJkcF9M}Sq2gjtzBrUG0j3!lI2a@uq!<_(q!}0(Wf&M4Kw!@% z2AQ1<N{kGf8Pvc`4G>cY%+v!hjlfJ35YrsYv;;A2z)U+3(-F*c1~J{hOb-y#8_e_t zF$2KNAP_SY%nS!Hqrl7<5HlXkOaw7gz|1rdGZW0r1~K!%%mNUz7|bjMF)KDQFfcGN zR536xxG@MaFfau$a5F_Ph%qHFC^BU*=r9#Am@`!|I5D*__%ih|L@-TbNM@SHkjJ!w zp^|9>LkrUmhJL0)46~R{F)U@e!mxqq9z!+QL<R<Ch8i%dmZ6S;fq{zw6q~XP^=zCB I4PbFu06`bJ{{R30 literal 0 HcmV?d00001 diff --git a/metamodel/swt.most.petrinet/bin/swt/most/petrinet/PetrinetPackage.class b/metamodel/swt.most.petrinet/bin/swt/most/petrinet/PetrinetPackage.class new file mode 100644 index 0000000000000000000000000000000000000000..0d84c0522318dee3828765174b70c6e33f771469 GIT binary patch literal 2702 zcmX^0Z`VEs1_nol40Z-4Mh3;=@)G^r{NfV*g4B|t%)HbR{QxK<ATc>RF+G)?frXJl zAS<yfQ9ma!FJ0e1DJwO(gq?wnkwGrMC|y4_IVZEAI8{G2H%&h^Ilm}X-xaEpk%2YU z&(YVFkwM4@p+6X8O}aHB1Fv&_UU5lcUP)MDPH8F!12-cB2h0(S4D6|X!SSI%o*WE( zj12M_B_#z``ugSN<$9?ViMa(isd^y05z4th$^(L2-8>^088}lt{enXr{hVDH8I*kp z`p}w@fiu80B*-(~&ozXRfzgwhfq{X6k%1pB7#|Pu2eOD`kaI9dAtNJ$Fp@%7A6H*j zzYwq#6C;B-Ldwn6F(fp|HQw1j)Gq|2lbMl05+Us$;2Pu@;_2@PQNYN+4mFCAK^V%4 zkN0$O^$YQI^K=bjWDtdkq8QA`APy79Fp=3Y$eEEr&@sq49!-xhNDM<gkEfrrzptmC zdpua92r@T5KEyG|9TZ+@!omKbL7;$_LQ#!opA3p5rp5lDA@2TAi$Ouf!pI<kEEXRR zvj$BV<|ru?)#$dPNMhK|8sOvT><Y4$m61UZ%s~x#9;jG|zqhL&DEdL_(SuYJq6ouu zu8<%{zhF;LOoOaoV`LCRh@jddfh2+E1t}yc3@cc{4g;Ca&d4AP=3uxEB8s7v!zMW= zGcU8mj*)>`Lo<w#fyFsLC6$Z8iNS@P!I_ak3o|!m<`(3j7aE?q1vxwnt_*IB3@jky z7#UPGG>OQGoD7T%9y|;J41$ad{63j^seYxoNvTC4iAg!BpkgFHIWZ?Ju_zP7hYE71 zr<Q<=EWgweMg|29O&?InfTdJ&&PgmTwq|4yK++KJmzbN%$e@B-mt#puQD#zUNh-Qd z$D-t7ygGwY(^894^O8Y2MUd@u%}LEo%_}KpWZ+6qErIeF8AK7Bc+Zs7ypqhc%+w-A z2DbFn633!sMh3q0)Dq9U<ow*symYVtNC%QYd`MzZIw%m(#e?%pi;`0z2Kbkjq~{|W zfFuwPQwTBuSsZ3C2gn;ai7>MQK+O1%{Or^`Mh4#W)RK^*#Ju9nlFa-(Mh1{tsFV;$ z8?;t&OH3}wFRCPzAfU>u85y`Bj&jQcr2r9dOy{MRK&u!%P`$#)z~h;hms$jl;M8Jv zhE%NS6ius&Pi9GKQDROpBLfG5$?ca~T;iJwN_53+j0}tn%nXbStPJW5k__w&91M&M zoD2*MOblEMk_<dZd|n1g27V+yNM3+Jkb!|gl0k?;7_Lu*L6SifjW3487iW-UkU-)~ zGDtE=A@QXdBpGCo_#pFSk@z6}a!7oTygU*gB(H$P2gxfU@j><}A@M=-%4mEQBtFPJ zsz`j0dNm|I$Ub!>KFE9xBtA&JCK6wZL6Simi4T(3LE?kV(?#Ng%+o{SgVgII@eLRx z84Qv5AbBGsKFB;{BtFPI6C^%Jy(tpkj6ssY9ElH-w?N{9%(Fz|gXFD{_|^=P3^qu7 zki0DlUzmY|!H&V6fsw(1fq_Arff3XeVPN0E;JBH=eIq#Wc``6Ca4|43Ffdp$urby! zc!5Ph%`|TY9|jQZ%iss5{TTwlbRd)tg31R&<wKzSP$(S+RTmDWBcS4uP<|AYj)scI vK>4vyejJpJXGmaRU|?oQ1iLJWAsOsqMurpyMus#tPKI;_1_l-eMurpsd*?o2 literal 0 HcmV?d00001 diff --git a/metamodel/swt.most.petrinet/bin/swt/most/petrinet/Place.class b/metamodel/swt.most.petrinet/bin/swt/most/petrinet/Place.class new file mode 100644 index 0000000000000000000000000000000000000000..e4b8a377a31174eec0cbff1ddff44cf0d8a368d8 GIT binary patch literal 241 zcmX^0Z`VEs1_nn4UUmj1Mh5ZX@)G^r{NfV*g4B|t%)HbR{eYar<WzPB7Dfhvti-ZJ z{hY+SbbbG%tkmQZb_O;^21!gUt~sf>sd*)g3>@jHB_a9Qsd<bH(i)mRm@2`N){G1s z#c+i(8aUNyhA}d51?QI*C8xS&=A<$*aDg4C2XYr1BLgD?GXo<7D+2=q6AL2)I|By; T$km(-Tnr2hj11f$aRwd$qYgjy literal 0 HcmV?d00001 diff --git a/metamodel/swt.most.petrinet/bin/swt/most/petrinet/Token.class b/metamodel/swt.most.petrinet/bin/swt/most/petrinet/Token.class new file mode 100644 index 0000000000000000000000000000000000000000..9b2d9d81a034bb566b104ce742601384fdaf6466 GIT binary patch literal 146 zcmX^0Z`VEs1_nn4PId++Mh5ZX@)G^r{NfV*g4B|t%)HbR{gC|Z)I4?u7Dfhvti-ZJ z{hY+SbbbG%tkmQZb_O;^2HE_gbp6!ioXmpaRQ=T4H2u`%{GwESSBMfu2Cm@z(xT*4 mx6GVWMg}ghX?h@o*ccfY8JHOu8CV%WfRTZnfq{XEfdc?<s3pt* literal 0 HcmV?d00001 diff --git a/metamodel/swt.most.petrinet/bin/swt/most/petrinet/Transition.class b/metamodel/swt.most.petrinet/bin/swt/most/petrinet/Transition.class new file mode 100644 index 0000000000000000000000000000000000000000..c3fb18a40efc988a4d4f7df6a787ce5d7884ef12 GIT binary patch literal 152 zcmX^0Z`VEs1_nn4PId++Mh2PU@)G^r{NfV*g4B|t%)HbR{g9%>yyDD~%=|od1{OvJ zfvm)`ME#t^ymWp4q^#8B5_SeQMg~bteXcpFxv6<2j0{}C`K3k4scxA$sf-N#2;=lX bCb2OxFfuSRFfy<*fB+){I|Bm)69WeT`e7+P literal 0 HcmV?d00001 diff --git a/metamodel/swt.most.petrinet/bin/swt/most/petrinet/impl/ArcImpl.class b/metamodel/swt.most.petrinet/bin/swt/most/petrinet/impl/ArcImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..2dee7b713266ee4b03d9f0c688a9356b5735b5d6 GIT binary patch literal 723 zcmX^0Z`VEs1_nn4MRo=zMh3a!@)G^r{NfV*g4B|t%)HbR{mk5g9DT>4WY64!9Cij4 zMh5fzqICV#<ebcc;#B?A+%)~v<ou#kh&tcQyv*Fh99RFOtkmQZkQNo^{JfIH%)Hbh zb_O;^22o549E*|}8Q5$x^D;~97#Wx~G{YDfSe)}yQn?tI8Mt{E*cmt&8TfrN^HTjv zbCXhwLK2g5QW+V9eDaeMbHWmfGC_Q(AWKO`W-%j!f)A!O$o{ZqWZ+2+E=erOOm@ym zEC%V&(DcFXFITV%Yfc7X22pkf5k>|rOtS-^ffbOLoSm4Ss^XJbl3J9QQ_RC4#vsnf z!0Z_0%*Y^z-vUMkuHgLAqU2P!Opy0@ph2#el~|U@$iU;7mzP=uc1mh7JA(`(gD!UG zg1w0u4U7z&ND(2=$e>8j7mN%XFn_QpGB7eQGcYo+GB7YOF|dH*gn^NPlYxQ3n1PXj zk%57MRcku~*G8~34+8@O7XuRm1A`O;3xhNRF9QPu4@40I9|J!F0|N_#0D~aZ06nMy xESngFHo*0>fz_)Z>1BcHWnz#3tCD1pVqjnpVqjumW{_r(WdKEx9D@QICjj+GvY!9| literal 0 HcmV?d00001 diff --git a/metamodel/swt.most.petrinet/bin/swt/most/petrinet/impl/ElementImpl.class b/metamodel/swt.most.petrinet/bin/swt/most/petrinet/impl/ElementImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..2905ea46bd769bfa7aad5d17fb0e1bd8e85ff327 GIT binary patch literal 2801 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 a3K<v}gcz6@m>G%~N*F+GD;<VXHckLD2}sHS literal 0 HcmV?d00001 diff --git a/metamodel/swt.most.petrinet/bin/swt/most/petrinet/impl/IncomingArcImpl.class b/metamodel/swt.most.petrinet/bin/swt/most/petrinet/impl/IncomingArcImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..f191772f6d4b9fef15ebf4a351f3ce9e9d39dfee GIT binary patch literal 3340 zcmX^0Z`VEs1_nolGIj<gMh3Ow@)G^r{NfV*g4B|t%)HbR{mk5g9DUEc<ow*symZH+ zWY64!9Cij4Mg}<?YT;_w7#U<S)gT$g$iP;TSd^Yx!pI=!gQ+s4C^4@%vm`S=&zg~e ztvJ85C^?mpK@y9~fSknSRFEQ@%)HDJJ4Oa(4b3n{1{UZ1lvFMTW(Iy925tr(Mh1SL z%)C^;(%hufqL9R-oK!{zA)ox@#GJ6iqD&AUD#%ijky*^hpn=6EY@uPz$iR~tT#{Il zne3dCSX|7=prE1YlV6mspPHPLSx}s+pPHMdpPHOsl&bFvR$<M_AkHAk&LF|apoQu0 z0BFz$BqnDkrl+d-WR|2BCFT_KFi0^-Gcxda`Z@didiuG?I|ey}LJqG@j0~LVsU;!M zU<Nr1(?X<x=44=Gkmq4wXW-ywP-IYMXHa5fkin;ehe3rwm63rX)w4LDD8Hf-9QIM{ z4C;&ws@NUonOBlpl$V&}>YtRAnq0!gz{sG<!=S~W&B(x;8kAa`pHr3!HOfN+M=+w9 zVU07mA$C}UEYam*&;vPDG}SM^Br`2DIT4h!f>H}hGmBDF*cl8M8Fa9_7#!)Y$hshz zz=)AS3tdNYer|4lo_-$4ib{QCJ?so7j0}pHVTl&qTnzdQW}x(H&d3lztp7bdeX<hE z67_Qu^V0R9e#R8h3<HIOB@crYgEb=qJ0u(`85#63t-<XLYf#SO%+E=Ir73kH<A{-g zH@GA*Iomg}0GiMEk`jwElid-?ld~AXR>YS5kWwnx8F{JYFlT_0c`&q$kk-(|l6N7c z1So~O@i1^QaB(wufKs?8BZD}WSOFC&j0_-;!c2ub7bXC5E{rXM&AAX8VJ?L!Wl41h z6?x(so>5Vnn6U(kqaYpz83tJpD};x^9>NOaVQ^+}0f|NMFnEJl%nVUH4E_uOj0~J< zsfi_}MX8=Hj0}vPj125WkbK0*z!=5IzyT_HLMjVV85vkogF$wSX<$h(kmQlf!{ET+ z2(l)Xhrx%z7gT<x^DrbZBr-B^<fWE}CFYcZ3r>s#$H>5z8k$!OGM`1m6J#1QLoN?P z7DF~j#<Lh~Ge{;1WM&}`LmopuBLf#CSllu}#jyxd?EuPSdLT<cMP6QBY7w~TOf6<) z;DD8g42lel49pCS46F=H3@o5hi-CcG1r)ao3=BLBETB@Kfsuiifq}u8fsuicfq{Wl zYdZtqMg|53CI$fp1_mw$CI$uuD+U$@YX(8ECa@v~AqHWvQ6dbYPy_U!2C!^m5ZeIP z&jvQs1xYUpR4*ea2BCV_F>rwG@z>hIAa{(x4Mgo^P+(-3$zTOyA7D`P(bCf1#-MS4 zL2)aC97s%iDTAEWHU^!U4B}e58T2Ey1UQ+sK@!^;Ot&#ufLI`BFoV6J#=yzIz~IXu z%;3i$&EU_V&Je($&k)F9#t_6{&k)Su&Je`l#SjK|rWnL2P-jXr=rh<b*fKCO*nvWa zf$=wk7Xu?G%|YF+5A`=I%tlDSK|CH0HjxJ$2&_;O8A0g>s=1SagMpcWfk73d*;h*& z<TtRN#2|iRVb%f3K)eKs6^M7_7}yyY7%~`G88R8T7_t}y8L}Cq7;+dC8L}Bv7;?du zDnJZ|TFStn%HYJn0Zs}E3^w5K26>2sf$<N63OhKVI5W6ForN49u8{a}-O1n%iw{@i z`0&`u;HtHS!4*q<uz=#j72<f167={eWe{d4V~}PjXHaLTV9;l%WH4i>Vz6hZW^iYy zV(?<91A7EBKD;pF!yE2)<oIv}*@zq;?O+qp<HLu+7wU23_;3ZshbttF!Qz7j6dzD8 zp~uGr23CfN3|tJ87z7z6Ge|K^VNhh4%%H+B6>KSHeE2bdN)c8D1qLs0K0}TV4+ch1 z$pv-RS_T#d76t|e8|hUHAYcq47#P6GN*t7YWM(pOXl-K%+@Q6MA$S9n7YgEqZ_tvK zk=@P^2?`2G>QQ3gU|?XF#~{J5fI)^~A%h~rA_g^vB@9{&OBwVTmNA$xtN^=M3t}fc z1=%n}GsJ-Hv|)&4hy!O68-{p>I0j~L=3r-FmEd6EU}0bcm4;BKPhwyOCqzT2(>2kY zuArrJfI)E^L()bN!($sm%0?||o$U;1=%KrbL4simg95`=21SPL44Mo(7_=C6F&HrH z2D=p!x`uGK8p7Rb$dJL1$-o45Au9v31P3S+WHDqz-Pg##1ons))P2fm?vvGG1Urrq z;<D`wIp_{M!XUwLj6s&+ID;I+Nd{$xQw%B$XBadY&Vn5VNxfQdhiO3_28wKub68m! z7(oR+nsZE`&e274juNOiIL5%rvW9sLC`-YZ(%Tsd)-W(IKw?-39COzgBp7ZmC^Ot* s&||oR<QNmUV@!}71CBjL4n_thh9YqBUCdCz0IC2O8N?Zk8A{nW0aQN1761SM literal 0 HcmV?d00001 diff --git a/metamodel/swt.most.petrinet/bin/swt/most/petrinet/impl/OutgoingArcImpl.class b/metamodel/swt.most.petrinet/bin/swt/most/petrinet/impl/OutgoingArcImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..16635350be9b09a69a129185cf3bc8f53679449a GIT binary patch literal 3340 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 literal 0 HcmV?d00001 diff --git a/metamodel/swt.most.petrinet/bin/swt/most/petrinet/impl/PetriNetImpl.class b/metamodel/swt.most.petrinet/bin/swt/most/petrinet/impl/PetriNetImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..b5695fdd0688e1898463275a075e0da0c43702f6 GIT binary patch literal 4644 zcmX^0Z`VEs1_nolb?gjGj10=f<t6&L`Nbvr1*s)PnR%%t`kA=}Ir;%0o?mK-XKq0b zI|B<NgL!^Yx_)YMPG&)Is(xy2ntp0>eo-n!v2SKxW^Q7RtAA2fYBE@higSKmNn&PR zY7sjF8zX}hrY$fF7#Vo|9DQBmU0qz=97BCV7#W0ovJ%S@^>Y&Q()EKuZc4XiWMIil z%uQuvU`Z@WE@os<_Ca?|a(-@Zex815NoJ0|t50Tei8UhwXK-eEUSdgUQ7R*Y4PhNN zKA5g_EK0Vvvu0%ANX<#jP0cGQW@K<6&m>of0T9z{l5;ZiGE3|j8JIOR!x$M@obyvs zIT;ukM0gn388{dj_<b_-QvFJElTwR95|eULL7|eLoR|}qSd<CkLj~Dvz{YSfFf&N< zFo-h<g3OTSVc-Or!BUcuS<J|wip5(PQEbh~z>^wWl30?N?3|NWT+GOzprMK3QAm`# zf>l^^GAJ@Avok0$GH79j8#s3JQcD67ld}`kQ&oI2OHzvxbBcKwR2Wnl88`!6LxMcx z{aiyB8RYO=!^ps%o?7Auj(rggO>Aj{y%?rIR0C69GmMLYkwKe>L5D$?kwG-oFTW%+ zEi*Z>Br`uRD7COOvnVwM91l_K4El@=I_N12;%RV*xgzU@<P1Yb1}$_Q(6pEbvZzuY zSr0pdF(ZQ_!QkRz&|@$K#itn~Lx2X3@bSzmNiE8Q=Q?XoPb9xXa-ub+2qZKtco-}h ztQZ;CA)!&p$e@pD4Q_8(gVHQ}UTQfcTG;b*QXnke;F84TY~REJaQb9tuxDftK+nvO z2z3PKV^u7P3~DV(PPQXP9q#-K$`vj=3|tJ{><n&<3`Xb?28m*bjgXLo7GIz&4=zpE z89W#nL@^`Iu_&2~!Ii-a6j|Pk3^vH=50XuYjXhA1a;K-3K+B0@Mg}KxJq<O&+Rhr} zaep2LK9I))85txoJpfh9$iSECnOBxtRGb==nwwvi%E-`znIa(Jgpu$tya<g#EE&K# zBQZ128na{}qyv<NLwOh+7#!Id!WkJf@Wde8d7xT=n<0!Ll7}IRA)1kaJ1Ma^Ga2T+ zGUTX&M7lMdJQB;p;KSeuDzxKy7=jpr85ub8OEOZ6T=P;G8PqWxfj!h28938Y!Ihh* z3nK%gCnEz(ZgF}sBZDD^0fYjVk%1-EJ+*|9L0rQ#Dhj!Xg@y|#^fP%F)ELx3j?U&` zNMlH6WMD5!EzZvYB^AafMg|U0b0DO$08~k*27^o!)4)<9LCT*Z9tI5tO>Tw~hB9`B zQbq<v^!S828ImPI5y`_)&LGIhz?z(snpninP|3(30xnp<DxC9ka#E8)1v<#cY959f zhFV4jw#1Ya$DABS21#gCqp7vli~@P5o`)fyp@5NrBQLc)EHS4PT-Sol2Dd<<LBPns zmKvH@4DuI?h9}4u%nYqO3{4EpAQ{hMu#Z79QCtjm44pg-T@2kInZnY<oMJ`>l!^&z zq-GSzwY@wHeV~eoJ+s&~x1gjF<fI8a3~dbUj0_wl`H%(>C;}$)FiZg{<Vf`_4k*g6 z0IQtF!!VISot<F@BZD}?%@9parI|S?sYP52(-~%g$|p?@hB=H3910qsrj(TeNPHd- z!+eGXpr9%!NCl-nU1(5&y$&(P8aY8ggrFu{gN#@NGGZ|!gN%kVeudK*8Q6+ai%WA# z7#SpyDkfAT85y{O^Gl18Q{6H_tsX&eLju|k)dTsEk%7lEFE6zST)L(fvoow_WY9%V zK9DQ}uCp=Qri=`n(BeI{h>?K<)-+*IWME`qW?*DsWnf{D0X4%I7#LVUO(`(V#lX$L z$iTzEz`(@7%fJFEQ{jAm23`gZ1_1^^21W)U1_lOI21W)DU}fCQAiNQ*MU;VofekEd z#2^M10U0h1*J8)O1eWE|+Rh-MwTVG^D}xk5Cm#bd0|P?@0}F!<12;n?*aRMkdIlK= zS+E1;804YW>oG8b<ybZ`C~N@Rg|IydNiWEoAia#BoDJ2h57o=6wS_?nU2`^)W>%=h zj0_qKno!M+3>;vGs)988YH4p}kkZ=5pf!_0OlvoTUZfTavkpjRJA=tK26K?_m>EDW z6JuayU|=X=U}Y#};9@9a5M(H4P+_P5Tc!Xp5Na7HXssDIz>%cDV8g({z{Ft7zyK2Y z!=S>>V8_4+sv{Vfpb_N+j*c*B$V+Q&VQ@aqAf&aM!8KCIU5jNqgXdNTXOJk!rx3?L zg1Ui$ouQFIjG-Cq2uM&%LmdIKkePu|jDZnUjKl5n#jwi{ZdZU7E7&eStt||G=yvrm zuru^Bh%xlzw=0Mt7#hrT8CV!t7#JArWLAMv8G|VU1312!7#JAD85kJUw6-yX9AF63 z*4@bv!OXBhYa2rhGFMwhcRNEI!Wlwf(`GVAFwAC9XPC=i#xNi36fLm09n{+l40a3& z42fWy>==?5k{Lku*)gOrq%tsrV}X@{S%Qy`fe}<aK%F`r>QrNCh*Pz|4hH2R1_o&c z1_lLCZqeGtkO6XJ2#AQ;pd~FMyPY8m;XX+ESjiy6u$n=UVJ(9i!+Hj7hK)#WG={s; z80<1o_A_S4VaNr$(U>8RAs6aKHU<_M78Vu;Mo^&-b>uk)W^gKtfjTk-&5<e$3=B3} zItLi+wlNfL1O@I+hGIqr5JTqxL&Z*pDkg?-ka!GCJO)`@T4y^$9U`^sF>o_5FzjKF zVc5r@!myt~mEj<R9>XC98-~LSwhTuZ+!&5AgfJXu2xU0Q5Y2E3>`O>4h=Kbu2JXuk zh6aX4Xf6QxjYC|Vfe}<KLH#z5fe9Q2c2K{Wqxnslfq_96RNkO?4dI!MTGHDYS`e;R zW8h?9V7Sa6!*G>Bnc*6P3d0QsU51+sdJMN2%o*-5STNjUuw}RpcC{G9X1J>%sfH1p zRzPlL=LEG++ZfuRZaoimYX#J;g=lVdW?*25+Qc9X%2rz#q>eGLvn*$jWM0l7x`{y; zRIqGg=$OgC&b*v~g=GyWS07^#1W`K~dKejIF|e|%VFn5NL4^HKgr&DL^sixHV1N_? zkQDcVL5ATKgA2nOhG>R&3`GndkbG4E_f-WnE<nWsF9Vm10JDGtBZCN|2&fRA$e<4O zTqgrFI5<qSwlPea$-tqtonh*R-3-$sL5%GTGkvs$W^ZGd8?FuU$lP#k0nKd;3&XXy zF)Tr31vv(G1_p*-4D1ZQ8F(1}GDtA|V~}U~&!EA`z@X2_h~z*Mr~@S!WEhq*EMtHK oJ2L|#4+9g!a&WD%f?*{C1A`C)69Y5DDuy)-pdP&u!&){@08A=Y7ytkO literal 0 HcmV?d00001 diff --git a/metamodel/swt.most.petrinet/bin/swt/most/petrinet/impl/PetrinetFactoryImpl.class b/metamodel/swt.most.petrinet/bin/swt/most/petrinet/impl/PetrinetFactoryImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..67a6ae79d11c185b770d2c9e5fee9f565d0b31e6 GIT binary patch literal 4018 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 literal 0 HcmV?d00001 diff --git a/metamodel/swt.most.petrinet/bin/swt/most/petrinet/impl/PetrinetPackageImpl.class b/metamodel/swt.most.petrinet/bin/swt/most/petrinet/impl/PetrinetPackageImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..18396c406a79c8c34574fcf33b6bfa2e817f83a8 GIT binary patch literal 6926 zcmX^0Z`VEs1_nn)VRi;4Mh30o@)G^r{NfV*g4B|t%)HbR{mk5g9Q^<&FCZ~FJ25@g zGq)gzoq>gsK|Q}HT|YHBC$pe9RX;U1O+Pg`zbF-=#}!2}8zX}vrr~JjGBWUi?e$A7 zadpl~EG}kbkn_QA1w`JOk%2cgCp9-U53YeTu_zfL$;cp>nU|cOo0*sHh$NO@T9TfR zD#l%qlbD<e(<M++l$ckXS(2Hb2NU8h$<I!O^Efh#J@Yb4Qd1Zi7^4^&I5Uf#i&7K8 zd|rrDW@1ie6-b`LCOIcFFSEpsk%3u5GmMde#W_DEm6L&yL4t=tfI*Ovf!`-HFV(L! zHz~C!Brz!`m61WnCqFqcCoHij6U2uKve|%*;b4$uWRTA&DJihh*Do(G*GsKP%q_@C z)dPhRIPCILOE?+i85G$W6z~SQTViraeo-Y4gA#)>BLiour(bZ0qo1=YBZIOJ?udfw zvgTr7W>Do}kY-S0WH8n6$x19s)Xz!GOV<wuC7X0>T(JhzuNejk0}UPqb_Na*ON)nr z6T;HrVc>$W^mrJ!AuIzP1|A5@h=+j}!ZP7u;DfNtco_I0EDIh6AqGK^c~(3O!l2M) zDaptzW@OO8;w4-O+nSMq1r*kd45}KMSoEQ#S!+%P2L>m021lH^0hSR|f>P5ni%URZ z?#$rA$iRUJa!p*}1<gZnt=8NO4h(KQ4DJjbj11iAsU<MO85vBlL<1pn!Nz&<FnBZg zFfuTwr<O1>s39BUpOlrFTw<+>6v0p-E(S&hKTrY?1+fBn7y=nY85u;A!5IPSYUljC zlGMDCVvvep9)=K*3Q17VLb3-IRbe~~;UHCPX+^22RjDA)M)EL3F+?*mFc*}TFfv$R zaUG`Pu(+3zL9z%O{HaB$DQHm$%5sPl4D}!*gHTCEDuznl;F84TY~REJaK2<`NMvLX zK-UY28L(DAP>?EU;EV@wDQC^dAdsF~0@D!hmzbN%$e@B-mt#puQD#zUNvbtBLpnny zJ3|H|gAAwyz$}U(B^VDw7DF~8gBU2m1eX+*CYO{JCFZ!LCYF>Ir4~a{I=cSk{M_99 zJpIy=%p84JpUmPCYi@>IhJ1F0JVpjZf{H<Ds(_I}RKpWXWUw<7F)}Ein*pgiT;ZNW z3l+zr<YK&`5|o;jT9lfXoNCR^P=?!lxH3it5#&&Jh14U(j0{|$V1n=%8AK7Bc+Zs7 zypqhc%+w-A2DbFn633!sMh3q0)DllbJp<8!BoH5xSOm^lAd`^AgY!#^l2aiD_#-MM zhyh3f@i2uT1CYgG26KSC0jj|uW(9zl@gblZi;;mhJ+&kRUY{{CfYd^zgh1M$6+5(C zhNJ{yiho9i4jzV1hAu`1VNd`;^?T+Omn7zaJf(y?^+MHJgNlV79)@0qK1K!}NWlR~ zt&9wcpk#w1eL%7dNb>|9hKUT57#RehnvqhDk_N646{6i!GYn+H6ds1D$R@zk1_#4* zMg|U8g$hzSlZRmz!)!(d_TtnMNCp)}E{mY`9>mzWJPh+dYPmsbivx;M(=sbSW-Q=g zSO^m50E>qPd4jU<VjhMipv(zMN3Ox81*t_Ll?AEbLUS1pLlr|ZDBG>zVOYtqijjdi zF(n0*tFV-LQ6L-E@Gw*`B(pQDV`PxR5siMSB^(SJ7#TQV<qb&RCLV^(3|kl(xIo1- zEEZA-1R|0nAfbvR01c0*s3-zuAISD?JPaue;8xKN9)_I^yBHaGz=Z*{hG1k+!4;dJ z<|b5?H8;Z^hJEY|dl?y&a3mch)jSOQ84f_RI>fDv49d9EtV?1^A}Cs{IT#KxGO*+& z=B9!ieuRhND8n&E20n1GA*H_+ID-zZ2xl7!9G2ix#u_s~F-1H*k;K4yt)rj-XV4=Y z0rJHO9)@Cu5)Ot_j0`M^Makf#cZP@IEW<gN&*1rjk>NB>pTQLo<ue>ngk%V!T7^Uq zme9cCciia?VFk$Z7kC)TL7u<F$iM;ZN))p*Tw!F8#LPd?DuRRI8Y2Tclmjy31`k6e zLn;TuEl>u6*AeUtcNiH&F->tSO6Fj=$H>6!Sd`4p@PLs)7E=vUJ;A~7h>?LCNdRQy z6CQ>dh7u6#84p7<Lox@$3q}UE5^zle5`D$PPz#ZN!^6-Bl7Gj@z*Y>dao8C?V6_ve zYT;n`#K^#nBmgq=3lBp*#LRCz3=Iq=><m8`8N@N&4z7PV7=AG_u!5N&y?=NZnjm`r z@i4S7By%t_Ffy=$dsXa=OpFXNn8qM#Ee=K&Mg}efpPi8ntHt1Yjf0Vck%1M=<YHiC z<l<rEX5?XH;Dgi=L8*{1U}UhxR(j(oW{RM?^kLeq85y`BwX$0#sLLh+E=%)LOQ2;D zsDrErO23Q@Jf3-ZsYT#?nOe-wD9Felha>4j^)fPWz&Z*HiVTbl%%G5B;AUU~^_3VH z7??mkB{0p!zyYSYp)?Pa=7rLHP?{f1bAkGsVD&-_f?!%0Op7ycFo-aSGB7fTF)%Qw zGB7fL04wum2JwwxWs(dG3~XTGJO(MS2*?rAa4nO-PGn%P(Grr`#2~kwK}CykD}y?S z&;$|MAVL>J=z|DD5Mc}=OtqM|GMIx1ON32E3_J`B3~3CU49X0A3|b7r42BF63>FNs z4E7943~mhS489CH3?U4LjJ6DBjM)s<4C!E3@qk@u!(h!|!@$76$zaQ12ldh^24)5( z1_p-UO$_2Q83Z>m*bB+*WN>9-IKaTV0m}1aV(`{F$iO(0flKQE1LJZAuH6ibk=q%3 zeONX#h-+_S@YmkP5Tw10Ar!1ZdnZE#Gefxc1_lNOW(H6InKAG(Ffi0Iurbszh%huV z$TKuCs4+A%=rXi0m@qUkm@>36STb}n*fR7mI5PAzxH3#)2xOQHcDfh?6N5a12}2A+ zECU0BDT5qC9D@x5BSSm`0|PGuv&bI?33i4AH+BY4rb%K*hWbk%%x7R=)!M?K4sr<- z*d>stngcc&5-6<DKw$*cvQW*o3{2nv69#GC$&kj#z`T<o2NWiS=teC?GD;Y3R53#d zPNP_$MwOx)wGOLM<#>!@#bwlXtVUH}4INE%cN{>{j0l}dhEyzG(!?J+Cy|UogiaM! zcYxCiax7g!(u{CNHCD~K=$^QZRdWs2z|=+Y1V+3(K{5*AiCR2H;f&(9SdFT~>Lq=2 zFMUJOj0lf<tnSdq@1_4pMj^b^fX66YUSj0HYE&auFBzhFiBS+qGr~(vSlwZW*Gr62 zNJb&N)Qr^~#^~-)M$(LMM+;WXrs$e=uxf5)XoKb#BWO{?p|y>n{Q!eJx_(n6{T%Qj zBoJ1GFzP_7kd<0n7|drfux!*~0o4pz%-a~cK~)K;kYe7((60qzuxw+P3}&!`87yEm znjjHPh#FR~h_;p%8<?RBlG0@cE8fDO3(?LFmeL1F>BFS-AyOP*DMOHyAw)y~Vvw<x zmH<SbDX6}J6#QWfq6`d-?hNdV9t<3eo(#N<J`7@vz6|n=eheCn{tSkUfecoRK@84} zAq+l@VGN;+;S6z%5e(^!Q49r)(F~Q0F$_(NaSYvz@eETK6B*_)CNr#HOhF2;mCyhK zRR_!rj2sM%prJHK$TJ%;2!YCRCT^`Q43@Bvv(yrrwvAy1n4F^}B(sfSzSb57-JJ}J z7#Xy-F)ZE5u$+k@Tx$!1KBkZ%OlUP+l`*;yC>Dg)3aw{mX4%HDF<eV)8^czuEezXt zGVEq#5IV@n%p$awnVAKIShg`71}iuYvY1imBqK8uSP~|C8Z3KWYa7FAMxl$?WVbMA z3SAbu%7U=$I>NG>Aj>X;Y+?p009m$$L0jmy&|NSe<hm^kx<dDb9wNE+vDP+*r;I|+ z8Ch6_?t?V5Ky*VK^HOUY!)r#Nx7cL2Fz5@t7y5`~)@O)WVAbz2%=!v33v3g*>=p(? zq3=RJk<9w7wT<B~qtJhlr@k{Yvmgi376xNsMn+*qX1Mw-45q@2tip`!FcBe{ZH%1Z zh_v~O!H$7}v6O+Gv5bL(v7CXIv5G;Mv6?}Wv4%mOv6;b$v4z2vv6Uf$v5g^{v6G>U zv5TRcv6G>iv72EcV-Ld&#%_i=jJ*u&82cEuGWIiUW9((v#W;cCG~+~ui;R;Pt}squ zxWPDu;RWMVhQEx{7+D#oGIBD`V3cH>#i+tKn^Bc<7NaKP97Zd~xr`2s^BA2O=P<f6 z&S#8ZT)-H|xR5cCaXw=z<6_1F#wCn}jEfmd8J9A)F)m~5VO-AG&$yIvGUE!yC5$T> zS23<)T+6tEaU<gz#)FJ&880)gW4y(<p7A#0TE_c~8yVj)Zeo1PxRLQA;}#}n#_dd8 kj5`qdhlv|K|1dFv+G<RUe2n}I3=E*|i36hmqYxV>06a*HWB>pF literal 0 HcmV?d00001 diff --git a/metamodel/swt.most.petrinet/bin/swt/most/petrinet/impl/PlaceImpl.class b/metamodel/swt.most.petrinet/bin/swt/most/petrinet/impl/PlaceImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..1650862fc5b7ef57a9faf73a658039326f9b87f7 GIT binary patch literal 3431 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 L%Amne%*F`-7T6S7 literal 0 HcmV?d00001 diff --git a/metamodel/swt.most.petrinet/bin/swt/most/petrinet/impl/TokenImpl.class b/metamodel/swt.most.petrinet/bin/swt/most/petrinet/impl/TokenImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..b509feafe93fe24b8d841a9166256d929bc5305a GIT binary patch literal 733 zcmX^0Z`VEs1_nn4MRo=zMh1oA@)G^r{NfV*g4B|t%)HbR{mk5g9Q}~|?9@EZ+=3i- z1{OvJ^ZcT8{nX@~%!1-n{nXqv{nX_AqEv`V-^{$s+{7GL|D>$c<Pwk;73ciClElos z)FO5UHbw?<Oe?^qGcvH*Waed-*fBCNYiNcsGO#%3r=)T*Ff(xTFt9UlFf#D_Wag#% zmF6a;7KJ1x<)kt)2>IkEC+37D7G;9?P(hZGjLc$21|=U%i!xFCV$I0FlNwx-Sdy9S zoRe5w%*ddiq3MI&Z?0e!)|?E&45I7|B8&`Ln5G9ngDfC1IXf{uRmCT>B(*3pr<jL9 zj6s}{fi=Y6+trVeK@Ptaj0{}C`K3k4scxAdFY<u{2NaHaS&3zdj0`-Ud3mWtVCSS3 zvopvrGU#G=GT5`2(ZR^Ti4-C7j0}ndeZt7V0rLxkA_F4>GXo<7D+2=q69Wq<W*8V5 zI2jlij2Rdi7#SECShcn@aBT!j^Dr<la4|43Ffd3lurNq7@G>wk@IVwX@G<Z+Ffgz% z2rvjj4bX!cz_N)!Xaih78(6&xl3o_5UM2<!uqsIgDFy}xAqFM}W(H{nSq4xf$uTIf GaRLBajJEs$ literal 0 HcmV?d00001 diff --git a/metamodel/swt.most.petrinet/bin/swt/most/petrinet/impl/TransitionImpl.class b/metamodel/swt.most.petrinet/bin/swt/most/petrinet/impl/TransitionImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..a535d059398223e45f2d74e194ea3b5e530d8ef6 GIT binary patch literal 666 zcmX^0Z`VEs1_nn4Id%pnMh4a5@)G^r{NfV*g4B|t%)HbR{mk5g9Q}}@#Ju9nlFa-( z&)k9>b_Nzk1|=LyU2{@%Q}aq7>ev_=WH8ksOk-qVv&qcMEU{x`VAjwKV`N})&QD3@ zVqj+A=3!uG;9z9n_sPsl^()OyN-YXWOv*`RWDxSnPfpAUODxI+@u7k&B^jB;j11~N zn6_c@fHflnPik;UVo7GQb53G$F(ZS5hNe$`QM!I=a!zJJajJf5Zkm2-a(+>&zAIRT zH7A2GgD5+L2qS|QrWFCuzzRrA&Q45ERq@FzNi9muDdu4iV-RO#;0g(H^b7V3@$~m& zWRSye4<iFtaDHh~a;jS<$g{$TumXjsURGjRA|nHjXI@@v5!hj=#q10+j0}nd9mUAN z0dp3EA_F4>GXo<7D+2=q69Wq<q!}0)I2jlij2Rdi7#SECShcn@aBT!j^Dr<la4|43 zFfd3kurNq6@G>wk@IVwX@G<Z+Ffgz%2rvjj4bX!cz_N)!Xaih78(6&(l3o_5UM2<! UuqsIgDX=|^48jc346<yT0Ez{qS^xk5 literal 0 HcmV?d00001 diff --git a/metamodel/swt.most.petrinet/bin/swt/most/petrinet/util/PetrinetAdapterFactory$1.class b/metamodel/swt.most.petrinet/bin/swt/most/petrinet/util/PetrinetAdapterFactory$1.class new file mode 100644 index 0000000000000000000000000000000000000000..1426616276e707ef38f0f64493bc1a9848ca5dec GIT binary patch literal 3820 zcmX^0Z`VEs1_nole0ByVMh5-j@)G^r{NfV*g4B|t%)HbR{nC=m9Q^<&&oL#jpd_`( zEit(yzo=5hkez{rkwKM!rr`3-lH?3V2DXxn%wiP-Mh1N!0y<Ewv1Vjov&qcMEU{x` zFw!7VuVxq{1B-KhN-8G<BLg=N11kd?7Xvc`FAoDd10N#;vj#{3zfWdfs$XetQfg61 zVp2{jBZH7nesW??SYlBohz}KH0eOIt!H_g3s2Ex^GVmlP7N>$k(J!@xk--(4H(=7% znm+kO>H4Y3Ihh5;srsq8Y5K|exw-jy`g!>!nQ4{!(BQG=Vi04HU}q3#WY8rkKzSG> z8Kf8)M3akB6HDN(f||<6ps7Ku0~i_D@{_VslS>#GWUvGZ+(V2E+#vtE=A`DP=9Mrq zxM1@>RF)*)EATKVg1jOE@e0%kxKE_9I0~x9nvsDW<R-_WWJU%DZ0>O^N+!uIYCH_; zAh!rW+~Qc240ne(7I%P*XJp_9xxq6pIX^cuFCFX_4{UBhQbCfNba)taL2i<OxCzM^ zxZC8hxD832HPns%r6uY4c-@Gkf+RN@@h})8xe>`2ylzBNXU)jK2@1!6oW$f*Mg}Kr zAqbWu$z2va43;2w2|>aRYyjLvl2}3wtiqa+fe+-CkfOxA;>?oF{5(bmcWe$qC?LsI zc03IBAXkY)T!k<N?ld_pPD3bzg;hv?c4{7uuma1G<SG{)23L@)pkW0z0PY}cVFgxU z&B(x=lA4xSnp5JOSe(kp;Guz0@}(x{7p3aE`h$xZlHBCQ!{7~a6Rd227y);cJOQg1 z8MLuQ8z|dq`eY@RCF<uS=B4XHOtt1>U}W&;VNhmJ!BIyc#Q+ZNK|BoB3^t4m#)Ja_ ztM#Eg4DJjbVEvf20dj7^VSfY<gFb@+BZC1pZ^Mgn9Gatf7=#%_7#Vc2X@*2L4xMp4 z42}#=j12nNbixX29C{OZ7-SjbaCjNH5W}HAg@-|tK?{egA=w#+&U79IQwB3e2Cm@z z(xT*4w@gr@K^h!Nd8sAPL<Vgp>4Bn)k%2QfGd(Y{q_ilNks$y}9z|(rLE20<7-<xH zL%<GHO1tJI=j0b>=B4|lmSp6oFf#CX=H;apIp-u67pE38GI02%7MFPB7nd+7FfcMO zGcYhP3J8GOLktWI!VC-y><k<Xj0~I%3=Ad=Obkp63=CXa+FKd8w6-(wY-C_yU}E5B zU|?WlU}RumaA6Q&U|`?@v$+@q8H7Nlfl>g}1RDlMun8PmTNt>uF^FzJ)9((}F9uNq z)z84d!63~b!@$VE2#QtgCds3l<b%^BC9p}#3@X@7Qbji@5T{8RV3RZ%w6L3`jc!sH zPLuS&Ch0R6U^mGS-K1!oCYgXuGG#EsZjw2=NeMVjvI3iA%>arsQ0#+fQ0znF&KBLI zRGcO`fK75_aKi2;XLOUYaGK->Hp!jA1G`C{=qBakG|7j7QNWQwnZXxok{UE^vuSB> zWAH;ahY@TJ69a>QBZD<V05&~=`1H6l1Y^?^f=`b=Ll`za;rR3jGelz36NOKYBSQ=} zJ+b)o$TGxZ)02Qtk0wJBHa*Gs^q4ZFV$+j`Qx5|xLk74^$z;d^)7cC;3=9k`3}Orn S47s4P3!H)&z#tE-LJR;Z?T$_W literal 0 HcmV?d00001 diff --git a/metamodel/swt.most.petrinet/bin/swt/most/petrinet/util/PetrinetAdapterFactory.class b/metamodel/swt.most.petrinet/bin/swt/most/petrinet/util/PetrinetAdapterFactory.class new file mode 100644 index 0000000000000000000000000000000000000000..a723d31d77f41e7558b4b7b4f503725198da8572 GIT binary patch literal 2491 zcmX^0Z`VEs1_nn4Uv>s2Mh4yD@)G^r{NfV*g4B|t%)HbR{nC=m9Q^<&&oL#jpd_`( zEit(yzo?R(frXL5G`}caKQ%cgv!FOtKQ%W^KRG`)H$P85FTW%+tx`WTw;)F!RhwsS zK@KAWPi}rnYED36a&}^RDkFok52n>HTcL`q85y|2nu5zSOOi7f8Pu`pL2)ibp*14| zXK-eEUSdgUQ7R)t0CBo(eDHe=>L+VEYeoh(o6Nk-5<5l)W)00SMg|t={FGEK24)6+ z9tLg(9(D#nMh1OM@1ZyqY8*6VRSdZp1Q>)t+C>-{j5G*28CAEnW*8>}BZC+Z13Lo; zh$X?pz{<eJ$solb!_FYh$e@Vn7__kFVUT5DV`Sh=_4Er4arAR`Wn|#@$;?ajE6q(x zEec6Y%1LEp5c0`SPRt2QEXoA&p@J+W8JWe54EiKGnUR4vxFj(-+c&WQYLGx?F*G#X z@{2+$3sM;wL^XV}63Y_xa}x8?_5G8wQj<%pHKW)W)EF6L(PJw$Ilm}X-xZ>Yn?aR9 zgNH$rL5q=rE!8<EvACF#K|w<kBaWfEz$&b{8FU!**co&g8Dwyn4pzs*pwD2y$iSVR zTH*>#s*DUuxDAJ@0i~OKupdAniQz9s2HxbN)WnihXxuU~1ZrS77d5Z>fwEj?YLPXj zzfcuIjkM-sFk`S_XE0}EP{m9UD9IC&lXw^`8LSu?I8yQ<d`1RiOgBM;5EAg#nwT-h z&S1mHpo$)%SY61-z*dr2l%86`$be}Pst&m485u+&0S8XfeyJr;-!d|2Vu=$}L!e5n z85u+%X1M00=BDN$j1YhbI~FBFl`=9&K!iN=lJj#j^U|?M`InZY=c7ppL39P=Bqk$b zSR5i4Qk0lioLQ2Yp9i-Dsyrk=I~5@ab0Z|E;cB^p^Gl18Q{6H_c~lx43VHBQfMzK@ zP<mrz;PK4MODzJY;?!bB25!I9;u7CfP!=y{P-I|aU}j)oU}6B59t;cÐm)fsug| zEXu{e!@vkC-xwGfco`TNG8tGH7#SECWVN<4@M-O45Qx;;&LFgvL39&?_;Ci#O$?Ho z8N@d-FfcGP$T2W5h%vA-FfgbxurRnV2r#HIh%u-$$S`O!$TKj24Q61FWl&&HWME)W zf{6TQkYQkC2V23&pv<5GwYHLhiGhiMfk8`q6NC6N23D3e+6Ng_XEI1@A7D`3$)L{2 zu#-WXkpU*jyoPxVnj1_R*cr?iI2kM$1Q;wCG#ISGZV-c*3UvbmgBF7!gAoHG*fp#S z%$zce42%rM3?@)#I76MmueF6i6lC=_2Gau!)*HY<1@bQ&*yXiIX7j_%=4Y^Fuwwuj zXwTpPHBbl4XJBArL^q=wYz8RsL6HLqBSr>CB6QBgs?&)Goy)Q6bS6UQR;)T*h|qZ$ zt4>!UbY8@&(~St7_p$19Cqn02tU5i2(D@UKPG$yAaLVyw@Md6O;9_885MY1+A8<xw HWDo!VC!9Jl literal 0 HcmV?d00001 diff --git a/metamodel/swt.most.petrinet/bin/swt/most/petrinet/util/PetrinetSwitch.class b/metamodel/swt.most.petrinet/bin/swt/most/petrinet/util/PetrinetSwitch.class new file mode 100644 index 0000000000000000000000000000000000000000..0c1a576e82a9828177e3a3d613f3299044c09f3c GIT binary patch literal 4528 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 Ipp{}Z0Fn#ySO5S3 literal 0 HcmV?d00001 diff --git a/metamodel/swt.most.petrinet/build.properties b/metamodel/swt.most.petrinet/build.properties new file mode 100644 index 0000000..697ca96 --- /dev/null +++ b/metamodel/swt.most.petrinet/build.properties @@ -0,0 +1,10 @@ +# + +bin.includes = .,\ + model/,\ + META-INF/,\ + plugin.xml,\ + plugin.properties +jars.compile.order = . +source.. = src-gen/ +output.. = bin/ diff --git a/metamodel/swt.most.petrinet/model/petrinet.aird b/metamodel/swt.most.petrinet/model/petrinet.aird new file mode 100644 index 0000000..14bf545 --- /dev/null +++ b/metamodel/swt.most.petrinet/model/petrinet.aird @@ -0,0 +1,535 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:description="http://www.eclipse.org/sirius/description/1.1.0" xmlns:description_1="http://www.eclipse.org/sirius/diagram/description/1.1.0" xmlns:diagram="http://www.eclipse.org/sirius/diagram/1.1.0" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.3/notation" xmlns:style="http://www.eclipse.org/sirius/diagram/description/style/1.1.0" xmlns:viewpoint="http://www.eclipse.org/sirius/1.1.0" xsi:schemaLocation="http://www.eclipse.org/sirius/description/1.1.0 http://www.eclipse.org/sirius/1.1.0#//description http://www.eclipse.org/sirius/diagram/description/1.1.0 http://www.eclipse.org/sirius/diagram/1.1.0#//description http://www.eclipse.org/sirius/diagram/description/style/1.1.0 http://www.eclipse.org/sirius/diagram/1.1.0#//description/style"> + <viewpoint:DAnalysis uid="_OYqr8CylEe-wqd8WJDWOGA" selectedViews="_eJxNMCylEe-wqd8WJDWOGA _eJ-okCylEe-wqd8WJDWOGA _eJ_2sCylEe-wqd8WJDWOGA _eKDhECylEe-wqd8WJDWOGA" version="15.2.0.202303281325"> + <semanticResources>model/petrinet.ecore</semanticResources> + <semanticResources>model/petrinet.genmodel</semanticResources> + <semanticResources>petrinet.ecore</semanticResources> + <semanticResources>petrinet.genmodel</semanticResources> + <ownedViews xmi:type="viewpoint:DView" uid="_eJxNMCylEe-wqd8WJDWOGA"> + <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']"/> + <ownedRepresentationDescriptors xmi:type="viewpoint:DRepresentationDescriptor" uid="_fBp3cCylEe-wqd8WJDWOGA" name="petrinet class diagram" repPath="#_fBjw0CylEe-wqd8WJDWOGA" changeId="1718627695256"> + <description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/> + <target xmi:type="ecore:EPackage" href="petrinet.ecore#/"/> + </ownedRepresentationDescriptors> + </ownedViews> + <ownedViews xmi:type="viewpoint:DView" uid="_eJ-okCylEe-wqd8WJDWOGA"> + <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Review']"/> + </ownedViews> + <ownedViews xmi:type="viewpoint:DView" uid="_eJ_2sCylEe-wqd8WJDWOGA"> + <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Archetype']"/> + </ownedViews> + <ownedViews xmi:type="viewpoint:DView" uid="_eKDhECylEe-wqd8WJDWOGA"> + <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Generation']"/> + </ownedViews> + </viewpoint:DAnalysis> + <diagram:DSemanticDiagram uid="_fBjw0CylEe-wqd8WJDWOGA"> + <ownedAnnotationEntries xmi:type="description:AnnotationEntry" uid="_fB3S0CylEe-wqd8WJDWOGA" source="GMF_DIAGRAMS"> + <data xmi:type="notation:Diagram" xmi:id="_fB3S0SylEe-wqd8WJDWOGA" type="Sirius" element="_fBjw0CylEe-wqd8WJDWOGA" measurementUnit="Pixel"> + <children xmi:type="notation:Node" xmi:id="_fcFwsCylEe-wqd8WJDWOGA" type="2003" element="_fbodsCylEe-wqd8WJDWOGA"> + <children xmi:type="notation:Node" xmi:id="_fcGXwCylEe-wqd8WJDWOGA" type="5007"/> + <children xmi:type="notation:Node" xmi:id="_fcG-0CylEe-wqd8WJDWOGA" type="7004"> + <children xmi:type="notation:Node" xmi:id="_fcLQQCylEe-wqd8WJDWOGA" type="3010" element="_fb5jcCylEe-wqd8WJDWOGA"> + <styles xmi:type="notation:FontStyle" xmi:id="_fcLQQSylEe-wqd8WJDWOGA" fontName="Segoe UI" fontHeight="8"/> + <layoutConstraint xmi:type="notation:Location" xmi:id="_fcLQQiylEe-wqd8WJDWOGA"/> + </children> + <styles xmi:type="notation:SortingStyle" xmi:id="_fcG-0SylEe-wqd8WJDWOGA"/> + <styles xmi:type="notation:FilteringStyle" xmi:id="_fcG-0iylEe-wqd8WJDWOGA"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_fcFwsSylEe-wqd8WJDWOGA" fontName="Segoe UI" fontHeight="8"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fcFwsiylEe-wqd8WJDWOGA" x="420" y="-126"/> + </children> + <children xmi:type="notation:Node" xmi:id="_fcHl4CylEe-wqd8WJDWOGA" type="2003" element="_fbsIECylEe-wqd8WJDWOGA"> + <children xmi:type="notation:Node" xmi:id="_fcHl4yylEe-wqd8WJDWOGA" type="5007"/> + <children xmi:type="notation:Node" xmi:id="_fcHl5CylEe-wqd8WJDWOGA" type="7004"> + <children xmi:type="notation:Node" xmi:id="_fcL3UCylEe-wqd8WJDWOGA" type="3010" element="_fb6KgCylEe-wqd8WJDWOGA"> + <styles xmi:type="notation:FontStyle" xmi:id="_fcL3USylEe-wqd8WJDWOGA" fontName="Segoe UI" fontHeight="8"/> + <layoutConstraint xmi:type="notation:Location" xmi:id="_fcL3UiylEe-wqd8WJDWOGA"/> + </children> + <styles xmi:type="notation:SortingStyle" xmi:id="_fcHl5SylEe-wqd8WJDWOGA"/> + <styles xmi:type="notation:FilteringStyle" xmi:id="_fcHl5iylEe-wqd8WJDWOGA"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_fcHl4SylEe-wqd8WJDWOGA" fontName="Segoe UI" fontHeight="8" italic="true"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fcHl4iylEe-wqd8WJDWOGA" x="240" y="64"/> + </children> + <children xmi:type="notation:Node" xmi:id="_fcHl5yylEe-wqd8WJDWOGA" type="2003" element="_fbtWMCylEe-wqd8WJDWOGA"> + <children xmi:type="notation:Node" xmi:id="_fcIM8CylEe-wqd8WJDWOGA" type="5007"/> + <children xmi:type="notation:Node" xmi:id="_fcIM8SylEe-wqd8WJDWOGA" type="7004"> + <styles xmi:type="notation:SortingStyle" xmi:id="_fcIM8iylEe-wqd8WJDWOGA"/> + <styles xmi:type="notation:FilteringStyle" xmi:id="_fcIM8yylEe-wqd8WJDWOGA"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_fcHl6CylEe-wqd8WJDWOGA" fontName="Segoe UI" fontHeight="8" italic="true"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fcHl6SylEe-wqd8WJDWOGA" x="637" y="64"/> + </children> + <children xmi:type="notation:Node" xmi:id="_fcIM9CylEe-wqd8WJDWOGA" type="2003" element="_fbukUCylEe-wqd8WJDWOGA"> + <children xmi:type="notation:Node" xmi:id="_fcI0ACylEe-wqd8WJDWOGA" type="5007"/> + <children xmi:type="notation:Node" xmi:id="_fcI0ASylEe-wqd8WJDWOGA" type="7004"> + <styles xmi:type="notation:SortingStyle" xmi:id="_fcI0AiylEe-wqd8WJDWOGA"/> + <styles xmi:type="notation:FilteringStyle" xmi:id="_fcI0AyylEe-wqd8WJDWOGA"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_fcIM9SylEe-wqd8WJDWOGA" fontName="Segoe UI" fontHeight="8"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fcIM9iylEe-wqd8WJDWOGA" x="560" y="231"/> + </children> + <children xmi:type="notation:Node" xmi:id="_fcI0BCylEe-wqd8WJDWOGA" type="2003" element="_fbvycSylEe-wqd8WJDWOGA"> + <children xmi:type="notation:Node" xmi:id="_fcJbECylEe-wqd8WJDWOGA" type="5007"/> + <children xmi:type="notation:Node" xmi:id="_fcJbESylEe-wqd8WJDWOGA" type="7004"> + <styles xmi:type="notation:SortingStyle" xmi:id="_fcJbEiylEe-wqd8WJDWOGA"/> + <styles xmi:type="notation:FilteringStyle" xmi:id="_fcJbEyylEe-wqd8WJDWOGA"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_fcI0BSylEe-wqd8WJDWOGA" fontName="Segoe UI" fontHeight="8"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fcI0BiylEe-wqd8WJDWOGA" x="770" y="231"/> + </children> + <children xmi:type="notation:Node" xmi:id="_fcJbFCylEe-wqd8WJDWOGA" type="2003" element="_fbxAkSylEe-wqd8WJDWOGA"> + <children xmi:type="notation:Node" xmi:id="_fcJbFyylEe-wqd8WJDWOGA" type="5007"/> + <children xmi:type="notation:Node" xmi:id="_fcJbGCylEe-wqd8WJDWOGA" type="7004"> + <styles xmi:type="notation:SortingStyle" xmi:id="_fcJbGSylEe-wqd8WJDWOGA"/> + <styles xmi:type="notation:FilteringStyle" xmi:id="_fcJbGiylEe-wqd8WJDWOGA"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_fcJbFSylEe-wqd8WJDWOGA" fontName="Segoe UI" fontHeight="8"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fcJbFiylEe-wqd8WJDWOGA" x="133" y="420"/> + </children> + <children xmi:type="notation:Node" xmi:id="_fcJbGyylEe-wqd8WJDWOGA" type="2003" element="_fbyOsSylEe-wqd8WJDWOGA"> + <children xmi:type="notation:Node" xmi:id="_fcKCICylEe-wqd8WJDWOGA" type="5007"/> + <children xmi:type="notation:Node" xmi:id="_fcKCISylEe-wqd8WJDWOGA" type="7004"> + <styles xmi:type="notation:SortingStyle" xmi:id="_fcKCIiylEe-wqd8WJDWOGA"/> + <styles xmi:type="notation:FilteringStyle" xmi:id="_fcKCIyylEe-wqd8WJDWOGA"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_fcJbHCylEe-wqd8WJDWOGA" fontName="Segoe UI" fontHeight="8"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fcJbHSylEe-wqd8WJDWOGA" x="315" y="315"/> + </children> + <children xmi:type="notation:Node" xmi:id="_fcKCJCylEe-wqd8WJDWOGA" type="2003" element="_fbzc0CylEe-wqd8WJDWOGA"> + <children xmi:type="notation:Node" xmi:id="_fcKpMCylEe-wqd8WJDWOGA" type="5007"/> + <children xmi:type="notation:Node" xmi:id="_fcKpMSylEe-wqd8WJDWOGA" type="7004"> + <styles xmi:type="notation:SortingStyle" xmi:id="_fcKpMiylEe-wqd8WJDWOGA"/> + <styles xmi:type="notation:FilteringStyle" xmi:id="_fcKpMyylEe-wqd8WJDWOGA"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_fcKCJSylEe-wqd8WJDWOGA" fontName="Segoe UI" fontHeight="8"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fcKCJiylEe-wqd8WJDWOGA" x="16" y="105"/> + </children> + <styles xmi:type="notation:DiagramStyle" xmi:id="_fB3S0iylEe-wqd8WJDWOGA"/> + <edges xmi:type="notation:Edge" xmi:id="_fcTMECylEe-wqd8WJDWOGA" type="4001" element="_fb7_sCylEe-wqd8WJDWOGA" source="_fcFwsCylEe-wqd8WJDWOGA" target="_fcHl5yylEe-wqd8WJDWOGA"> + <children xmi:type="notation:Node" xmi:id="_fcTzICylEe-wqd8WJDWOGA" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fcTzISylEe-wqd8WJDWOGA" x="59" y="124"/> + </children> + <children xmi:type="notation:Node" xmi:id="_fcUaMCylEe-wqd8WJDWOGA" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fcUaMSylEe-wqd8WJDWOGA" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_fcVBQCylEe-wqd8WJDWOGA" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fcVBQSylEe-wqd8WJDWOGA" x="10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_fcTMESylEe-wqd8WJDWOGA" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_fcTMEiylEe-wqd8WJDWOGA" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_fcTMEyylEe-wqd8WJDWOGA" points="[64, 1, -148, -189]$[216, 1, 4, -189]$[216, 141, 4, -49]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_fcW2cCylEe-wqd8WJDWOGA" id="(0.5,0.5)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_fcW2cSylEe-wqd8WJDWOGA" id="(0.5,0.5)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_fcXdgCylEe-wqd8WJDWOGA" type="4001" element="_fb9N0CylEe-wqd8WJDWOGA" source="_fcFwsCylEe-wqd8WJDWOGA" target="_fcHl4CylEe-wqd8WJDWOGA"> + <children xmi:type="notation:Node" xmi:id="_fcXdhCylEe-wqd8WJDWOGA" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fcXdhSylEe-wqd8WJDWOGA" x="107" y="65"/> + </children> + <children xmi:type="notation:Node" xmi:id="_fcXdhiylEe-wqd8WJDWOGA" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fcXdhyylEe-wqd8WJDWOGA" x="-1" y="-10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_fcXdiCylEe-wqd8WJDWOGA" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fcXdiSylEe-wqd8WJDWOGA" x="11"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_fcXdgSylEe-wqd8WJDWOGA" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_fcXdgiylEe-wqd8WJDWOGA" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_fcXdgyylEe-wqd8WJDWOGA" points="[-64, 1, 105, -189]$[-169, 1, 0, -189]$[-169, 141, 0, -49]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_fcXdiiylEe-wqd8WJDWOGA" id="(0.5,0.5)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_fcXdiyylEe-wqd8WJDWOGA" id="(0.5,0.5)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_fcXdjCylEe-wqd8WJDWOGA" type="4001" element="_fb904yylEe-wqd8WJDWOGA" source="_fcIM9CylEe-wqd8WJDWOGA" target="_fcJbGyylEe-wqd8WJDWOGA"> + <children xmi:type="notation:Node" xmi:id="_fcYEkCylEe-wqd8WJDWOGA" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fcYEkSylEe-wqd8WJDWOGA" x="38" y="-17"/> + </children> + <children xmi:type="notation:Node" xmi:id="_fcYEkiylEe-wqd8WJDWOGA" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fcYEkyylEe-wqd8WJDWOGA" x="64" y="-9"/> + </children> + <children xmi:type="notation:Node" xmi:id="_fcYElCylEe-wqd8WJDWOGA" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fcYElSylEe-wqd8WJDWOGA" x="20" y="7"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_fcXdjSylEe-wqd8WJDWOGA" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_fcXdjiylEe-wqd8WJDWOGA" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_fcXdjyylEe-wqd8WJDWOGA" points="[-25, 98, 220, -84]$[-25, 119, 220, -63]$[-187, 119, 58, -63]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_fcYEliylEe-wqd8WJDWOGA" id="(0.5084745762711864,0.0)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_fcYElyylEe-wqd8WJDWOGA" id="(0.5084745762711864,1.0)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_fcYEmCylEe-wqd8WJDWOGA" type="4001" element="_fb-b-SylEe-wqd8WJDWOGA" source="_fcIM9CylEe-wqd8WJDWOGA" target="_fcJbFCylEe-wqd8WJDWOGA"> + <children xmi:type="notation:Node" xmi:id="_fcYEnCylEe-wqd8WJDWOGA" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fcYEnSylEe-wqd8WJDWOGA" x="207" y="-17"/> + </children> + <children xmi:type="notation:Node" xmi:id="_fcYroCylEe-wqd8WJDWOGA" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fcYroSylEe-wqd8WJDWOGA" x="58" y="318"/> + </children> + <children xmi:type="notation:Node" xmi:id="_fcYroiylEe-wqd8WJDWOGA" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fcYroyylEe-wqd8WJDWOGA" x="5" y="-10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_fcYEmSylEe-wqd8WJDWOGA" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_fcYEmiylEe-wqd8WJDWOGA" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_fcYEmyylEe-wqd8WJDWOGA" points="[0, 98, 427, -189]$[0, 154, 427, -133]$[10, 154, 437, -133]$[10, 167, 437, -120]$[-2, 167, 425, -120]$[-2, 223, 425, -64]$[-369, 223, 58, -64]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_fcYrpCylEe-wqd8WJDWOGA" id="(0.5084745762711864,0.0)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_fcYrpSylEe-wqd8WJDWOGA" id="(0.5084745762711864,1.0)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_fcYrpiylEe-wqd8WJDWOGA" type="4001" element="_fb_DBiylEe-wqd8WJDWOGA" source="_fcI0BCylEe-wqd8WJDWOGA" target="_fcJbGyylEe-wqd8WJDWOGA"> + <children xmi:type="notation:Node" xmi:id="_fcYrqiylEe-wqd8WJDWOGA" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fcYrqyylEe-wqd8WJDWOGA" x="164" y="-18"/> + </children> + <children xmi:type="notation:Node" xmi:id="_fcYrrCylEe-wqd8WJDWOGA" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fcYrrSylEe-wqd8WJDWOGA" x="122" y="-10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_fcYrriylEe-wqd8WJDWOGA" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fcYrryylEe-wqd8WJDWOGA" x="56" y="7"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_fcYrpyylEe-wqd8WJDWOGA" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_fcYrqCylEe-wqd8WJDWOGA" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_fcYrqSylEe-wqd8WJDWOGA" points="[-18, 98, 437, -84]$[-18, 161, 437, -21]$[-397, 161, 58, -21]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_fcZSsCylEe-wqd8WJDWOGA" id="(0.5084745762711864,0.0)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_fcZSsSylEe-wqd8WJDWOGA" id="(0.5084745762711864,1.0)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_fcZSsiylEe-wqd8WJDWOGA" type="4001" element="_fb_qFCylEe-wqd8WJDWOGA" source="_fcI0BCylEe-wqd8WJDWOGA" target="_fcJbFCylEe-wqd8WJDWOGA"> + <children xmi:type="notation:Node" xmi:id="_fcZStiylEe-wqd8WJDWOGA" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fcZStyylEe-wqd8WJDWOGA" x="328" y="-17"/> + </children> + <children xmi:type="notation:Node" xmi:id="_fcZSuCylEe-wqd8WJDWOGA" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fcZSuSylEe-wqd8WJDWOGA" x="43" y="29"/> + </children> + <children xmi:type="notation:Node" xmi:id="_fcZSuiylEe-wqd8WJDWOGA" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fcZSuyylEe-wqd8WJDWOGA" x="-343" y="10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_fcZSsyylEe-wqd8WJDWOGA" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_fcZStCylEe-wqd8WJDWOGA" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_fcZStSylEe-wqd8WJDWOGA" points="[17, 98, 654, -189]$[17, 265, 654, -22]$[-579, 265, 58, -22]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_fcZSvCylEe-wqd8WJDWOGA" id="(0.5084745762711864,0.0)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_fcZSvSylEe-wqd8WJDWOGA" id="(0.5084745762711864,1.0)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_fcZSviylEe-wqd8WJDWOGA" type="4001" element="_fcARIyylEe-wqd8WJDWOGA" source="_fcJbFCylEe-wqd8WJDWOGA" target="_fcKCJCylEe-wqd8WJDWOGA"> + <children xmi:type="notation:Node" xmi:id="_fcZSwiylEe-wqd8WJDWOGA" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fcZ5wCylEe-wqd8WJDWOGA" x="145" y="48"/> + </children> + <children xmi:type="notation:Node" xmi:id="_fcZ5wSylEe-wqd8WJDWOGA" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fcZ5wiylEe-wqd8WJDWOGA" y="-10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_fcZ5wyylEe-wqd8WJDWOGA" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fcZ5xCylEe-wqd8WJDWOGA" x="-10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_fcZSvyylEe-wqd8WJDWOGA" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_fcZSwCylEe-wqd8WJDWOGA" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_fcZSwSylEe-wqd8WJDWOGA" points="[-60, 50, 57, 267]$[-119, 50, -2, 267]$[-119, -217, -2, 0]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_fcZ5xSylEe-wqd8WJDWOGA" id="(0.5084745762711864,0.0)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_fcZ5xiylEe-wqd8WJDWOGA" id="(0.5084745762711864,1.0)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_fcZ5xyylEe-wqd8WJDWOGA" type="4001" element="_fcA4NiylEe-wqd8WJDWOGA" source="_fcIM9CylEe-wqd8WJDWOGA" target="_fcHl5yylEe-wqd8WJDWOGA"> + <children xmi:type="notation:Node" xmi:id="_fcZ5yyylEe-wqd8WJDWOGA" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fcZ5zCylEe-wqd8WJDWOGA" y="-10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_fcZ5zSylEe-wqd8WJDWOGA" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fcZ5ziylEe-wqd8WJDWOGA" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_fcZ5zyylEe-wqd8WJDWOGA" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fcZ50CylEe-wqd8WJDWOGA" y="10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_fcZ5yCylEe-wqd8WJDWOGA" routing="Tree"/> + <styles xmi:type="notation:FontStyle" xmi:id="_fcZ5ySylEe-wqd8WJDWOGA" fontName="Segoe UI" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_fcZ5yiylEe-wqd8WJDWOGA" points="[-1, 0, -271, 60]$[269, -60, -1, 0]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_fcag0CylEe-wqd8WJDWOGA" id="(0.5084745762711864,0.0)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_fcag0SylEe-wqd8WJDWOGA" id="(0.5084745762711864,1.0)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_fcag0iylEe-wqd8WJDWOGA" type="4001" element="_fcCGUyylEe-wqd8WJDWOGA" source="_fcI0BCylEe-wqd8WJDWOGA" target="_fcHl5yylEe-wqd8WJDWOGA"> + <children xmi:type="notation:Node" xmi:id="_fcag1iylEe-wqd8WJDWOGA" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fcag1yylEe-wqd8WJDWOGA" x="84" y="-32"/> + </children> + <children xmi:type="notation:Node" xmi:id="_fcag2CylEe-wqd8WJDWOGA" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fcag2SylEe-wqd8WJDWOGA" x="-54" y="-10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_fcag2iylEe-wqd8WJDWOGA" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fcag2yylEe-wqd8WJDWOGA" x="100" y="11"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_fcag0yylEe-wqd8WJDWOGA" routing="Tree"/> + <styles xmi:type="notation:FontStyle" xmi:id="_fcag1CylEe-wqd8WJDWOGA" fontName="Segoe UI" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_fcag1SylEe-wqd8WJDWOGA" points="[0, 0, 133, 69]$[0, -42, 133, 27]$[-133, -42, 0, 27]$[-133, -69, 0, 0]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_fcbH4CylEe-wqd8WJDWOGA" id="(0.5084745762711864,0.0)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_fcbH4SylEe-wqd8WJDWOGA" id="(0.5084745762711864,1.0)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_fcbH4iylEe-wqd8WJDWOGA" type="4001" element="_fcCtYyylEe-wqd8WJDWOGA" source="_fcJbFCylEe-wqd8WJDWOGA" target="_fcHl4CylEe-wqd8WJDWOGA"> + <children xmi:type="notation:Node" xmi:id="_fcbH5iylEe-wqd8WJDWOGA" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fcbH5yylEe-wqd8WJDWOGA" y="-10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_fcbH6CylEe-wqd8WJDWOGA" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fcbH6SylEe-wqd8WJDWOGA" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_fcbH6iylEe-wqd8WJDWOGA" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fcbH6yylEe-wqd8WJDWOGA" x="-9" y="10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_fcbH4yylEe-wqd8WJDWOGA" routing="Tree"/> + <styles xmi:type="notation:FontStyle" xmi:id="_fcbH5CylEe-wqd8WJDWOGA" fontName="Segoe UI" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_fcbH5SylEe-wqd8WJDWOGA" points="[0, 0, -123, 258]$[0, -231, -123, 27]$[123, -231, 0, 27]$[123, -258, 0, 0]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_fcbH7CylEe-wqd8WJDWOGA" id="(0.5084745762711864,0.0)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_fcbH7SylEe-wqd8WJDWOGA" id="(0.5033112582781457,1.0)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_fcbu8CylEe-wqd8WJDWOGA" type="4001" element="_fcDUcCylEe-wqd8WJDWOGA" source="_fcJbGyylEe-wqd8WJDWOGA" target="_fcHl4CylEe-wqd8WJDWOGA"> + <children xmi:type="notation:Node" xmi:id="_fcbu9CylEe-wqd8WJDWOGA" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fcbu9SylEe-wqd8WJDWOGA" y="-10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_fcbu9iylEe-wqd8WJDWOGA" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fcbu9yylEe-wqd8WJDWOGA" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_fcbu-CylEe-wqd8WJDWOGA" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fcbu-SylEe-wqd8WJDWOGA" y="10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_fcbu8SylEe-wqd8WJDWOGA" routing="Tree"/> + <styles xmi:type="notation:FontStyle" xmi:id="_fcbu8iylEe-wqd8WJDWOGA" fontName="Segoe UI" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_fcbu8yylEe-wqd8WJDWOGA" points="[-1, 0, -136, 60]$[134, -60, -1, 0]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_fcbu-iylEe-wqd8WJDWOGA" id="(0.5084745762711864,0.0)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_fcbu-yylEe-wqd8WJDWOGA" id="(0.5033112582781457,1.0)"/> + </edges> + </data> + </ownedAnnotationEntries> + <ownedAnnotationEntries xmi:type="description:AnnotationEntry" uid="_fB_OoCylEe-wqd8WJDWOGA" source="DANNOTATION_CUSTOMIZATION_KEY"> + <data xmi:type="diagram:ComputedStyleDescriptionRegistry" uid="_fB_OoSylEe-wqd8WJDWOGA"> + <computedStyleDescriptions xmi:type="style:EdgeStyleDescription" xmi:id="_fb8mwCylEe-wqd8WJDWOGA" sourceArrow="FillDiamond" routingStyle="manhattan"> + <strokeColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> + <centerLabelStyleDescription xmi:type="style:CenterLabelStyleDescription" xmi:id="_fb8mwSylEe-wqd8WJDWOGA" showIcon="false" labelExpression="service:render"> + <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> + </centerLabelStyleDescription> + <endLabelStyleDescription xmi:type="style:EndLabelStyleDescription" xmi:id="_fb8mwiylEe-wqd8WJDWOGA" labelSize="6" showIcon="false" labelExpression="service:eKeysLabel"> + <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='dark_blue']"/> + </endLabelStyleDescription> + </computedStyleDescriptions> + <computedStyleDescriptions xmi:type="style:EdgeStyleDescription" xmi:id="_fb-b8CylEe-wqd8WJDWOGA" routingStyle="manhattan"> + <strokeColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> + <centerLabelStyleDescription xmi:type="style:CenterLabelStyleDescription" xmi:id="_fb-b8SylEe-wqd8WJDWOGA" showIcon="false" labelExpression="service:render"> + <labelFormat>bold</labelFormat> + <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> + </centerLabelStyleDescription> + <endLabelStyleDescription xmi:type="style:EndLabelStyleDescription" xmi:id="_fb-b8iylEe-wqd8WJDWOGA" labelSize="6" showIcon="false" labelExpression="service:eKeysLabel"> + <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='dark_blue']"/> + </endLabelStyleDescription> + </computedStyleDescriptions> + </data> + </ownedAnnotationEntries> + <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_fbodsCylEe-wqd8WJDWOGA" name="PetriNet" tooltipText="" outgoingEdges="_fb7_sCylEe-wqd8WJDWOGA _fb9N0CylEe-wqd8WJDWOGA" width="12" height="10"> + <target xmi:type="ecore:EClass" href="petrinet.ecore#//PetriNet"/> + <semanticElements xmi:type="ecore:EClass" href="petrinet.ecore#//PetriNet"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_fbpr0CylEe-wqd8WJDWOGA" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216"> + <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/> + <ownedElements xmi:type="diagram:DNodeListElement" uid="_fb5jcCylEe-wqd8WJDWOGA" name="name : EString" tooltipText=""> + <target xmi:type="ecore:EAttribute" href="petrinet.ecore#//PetriNet/name"/> + <semanticElements xmi:type="ecore:EAttribute" href="petrinet.ecore#//PetriNet/name"/> + <ownedStyle xmi:type="diagram:BundledImage" uid="_fb5jcSylEe-wqd8WJDWOGA" labelAlignment="LEFT"> + <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> + </ownedElements> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_fbsIECylEe-wqd8WJDWOGA" name="Element" tooltipText="" incomingEdges="_fb9N0CylEe-wqd8WJDWOGA _fcCtYyylEe-wqd8WJDWOGA _fcDUcCylEe-wqd8WJDWOGA" width="12" height="10"> + <target xmi:type="ecore:EClass" href="petrinet.ecore#//Element"/> + <semanticElements xmi:type="ecore:EClass" href="petrinet.ecore#//Element"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_fbsvICylEe-wqd8WJDWOGA" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="228,228,228"> + <labelFormat>italic</labelFormat> + <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/> + <ownedElements xmi:type="diagram:DNodeListElement" uid="_fb6KgCylEe-wqd8WJDWOGA" name="identifier : EString" tooltipText=""> + <target xmi:type="ecore:EAttribute" href="petrinet.ecore#//Element/identifier"/> + <semanticElements xmi:type="ecore:EAttribute" href="petrinet.ecore#//Element/identifier"/> + <ownedStyle xmi:type="diagram:BundledImage" uid="_fb6xkCylEe-wqd8WJDWOGA" labelAlignment="LEFT"> + <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> + </ownedElements> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_fbtWMCylEe-wqd8WJDWOGA" name="Arc" tooltipText="" incomingEdges="_fb7_sCylEe-wqd8WJDWOGA _fcA4NiylEe-wqd8WJDWOGA _fcCGUyylEe-wqd8WJDWOGA" width="12" height="10"> + <target xmi:type="ecore:EClass" href="petrinet.ecore#//Arc"/> + <semanticElements xmi:type="ecore:EClass" href="petrinet.ecore#//Arc"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_fbt9QCylEe-wqd8WJDWOGA" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="228,228,228"> + <labelFormat>italic</labelFormat> + <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_fbukUCylEe-wqd8WJDWOGA" name="IncomingArc" tooltipText="" outgoingEdges="_fb904yylEe-wqd8WJDWOGA _fb-b-SylEe-wqd8WJDWOGA _fcA4NiylEe-wqd8WJDWOGA" width="12" height="10"> + <target xmi:type="ecore:EClass" href="petrinet.ecore#//IncomingArc"/> + <semanticElements xmi:type="ecore:EClass" href="petrinet.ecore#//IncomingArc"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_fbvLYCylEe-wqd8WJDWOGA" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216"> + <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_fbvycSylEe-wqd8WJDWOGA" name="OutgoingArc" tooltipText="" outgoingEdges="_fb_DBiylEe-wqd8WJDWOGA _fb_qFCylEe-wqd8WJDWOGA _fcCGUyylEe-wqd8WJDWOGA" width="12" height="10"> + <target xmi:type="ecore:EClass" href="petrinet.ecore#//OutgoingArc"/> + <semanticElements xmi:type="ecore:EClass" href="petrinet.ecore#//OutgoingArc"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_fbwZgCylEe-wqd8WJDWOGA" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216"> + <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_fbxAkSylEe-wqd8WJDWOGA" name="Place" tooltipText="" outgoingEdges="_fcARIyylEe-wqd8WJDWOGA _fcCtYyylEe-wqd8WJDWOGA" incomingEdges="_fb-b-SylEe-wqd8WJDWOGA _fb_qFCylEe-wqd8WJDWOGA" width="12" height="10"> + <target xmi:type="ecore:EClass" href="petrinet.ecore#//Place"/> + <semanticElements xmi:type="ecore:EClass" href="petrinet.ecore#//Place"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_fbxnoCylEe-wqd8WJDWOGA" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216"> + <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_fbyOsSylEe-wqd8WJDWOGA" name="Transition" tooltipText="" outgoingEdges="_fcDUcCylEe-wqd8WJDWOGA" incomingEdges="_fb904yylEe-wqd8WJDWOGA _fb_DBiylEe-wqd8WJDWOGA" width="12" height="10"> + <target xmi:type="ecore:EClass" href="petrinet.ecore#//Transition"/> + <semanticElements xmi:type="ecore:EClass" href="petrinet.ecore#//Transition"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_fby1wCylEe-wqd8WJDWOGA" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216"> + <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_fbzc0CylEe-wqd8WJDWOGA" name="Token" tooltipText="" incomingEdges="_fcARIyylEe-wqd8WJDWOGA" width="12" height="10"> + <target xmi:type="ecore:EClass" href="petrinet.ecore#//Token"/> + <semanticElements xmi:type="ecore:EClass" href="petrinet.ecore#//Token"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_fbzc0SylEe-wqd8WJDWOGA" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216"> + <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_fb7_sCylEe-wqd8WJDWOGA" name="[0..*] arcs" sourceNode="_fbodsCylEe-wqd8WJDWOGA" targetNode="_fbtWMCylEe-wqd8WJDWOGA"> + <target xmi:type="ecore:EReference" href="petrinet.ecore#//PetriNet/arcs"/> + <semanticElements xmi:type="ecore:EReference" href="petrinet.ecore#//PetriNet/arcs"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_fb8mwyylEe-wqd8WJDWOGA" description="_fb8mwCylEe-wqd8WJDWOGA" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_fb8mxSylEe-wqd8WJDWOGA" showIcon="false"/> + <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_fb8mxCylEe-wqd8WJDWOGA" showIcon="false" labelColor="39,76,114"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_fb9N0CylEe-wqd8WJDWOGA" name="[0..*] elements" sourceNode="_fbodsCylEe-wqd8WJDWOGA" targetNode="_fbsIECylEe-wqd8WJDWOGA"> + <target xmi:type="ecore:EReference" href="petrinet.ecore#//PetriNet/elements"/> + <semanticElements xmi:type="ecore:EReference" href="petrinet.ecore#//PetriNet/elements"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_fb9N0SylEe-wqd8WJDWOGA" description="_fb8mwCylEe-wqd8WJDWOGA" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_fb9N0yylEe-wqd8WJDWOGA" showIcon="false"/> + <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_fb9N0iylEe-wqd8WJDWOGA" showIcon="false" labelColor="39,76,114"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_fb904yylEe-wqd8WJDWOGA" name="[1..1] target" sourceNode="_fbukUCylEe-wqd8WJDWOGA" targetNode="_fbyOsSylEe-wqd8WJDWOGA"> + <target xmi:type="ecore:EReference" href="petrinet.ecore#//IncomingArc/target"/> + <semanticElements xmi:type="ecore:EReference" href="petrinet.ecore#//IncomingArc/target"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_fb-b8yylEe-wqd8WJDWOGA" description="_fb-b8CylEe-wqd8WJDWOGA" routingStyle="manhattan" strokeColor="0,0,0"> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_fb-b9SylEe-wqd8WJDWOGA" showIcon="false"/> + <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_fb-b9CylEe-wqd8WJDWOGA" showIcon="false" labelColor="39,76,114"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_fb-b-SylEe-wqd8WJDWOGA" name="[1..1] source" sourceNode="_fbukUCylEe-wqd8WJDWOGA" targetNode="_fbxAkSylEe-wqd8WJDWOGA"> + <target xmi:type="ecore:EReference" href="petrinet.ecore#//IncomingArc/source"/> + <semanticElements xmi:type="ecore:EReference" href="petrinet.ecore#//IncomingArc/source"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_fb_DACylEe-wqd8WJDWOGA" description="_fb-b8CylEe-wqd8WJDWOGA" routingStyle="manhattan" strokeColor="0,0,0"> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_fb_DAiylEe-wqd8WJDWOGA" showIcon="false"/> + <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_fb_DASylEe-wqd8WJDWOGA" showIcon="false" labelColor="39,76,114"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_fb_DBiylEe-wqd8WJDWOGA" name="[1..1] source" sourceNode="_fbvycSylEe-wqd8WJDWOGA" targetNode="_fbyOsSylEe-wqd8WJDWOGA"> + <target xmi:type="ecore:EReference" href="petrinet.ecore#//OutgoingArc/source"/> + <semanticElements xmi:type="ecore:EReference" href="petrinet.ecore#//OutgoingArc/source"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_fb_DByylEe-wqd8WJDWOGA" description="_fb-b8CylEe-wqd8WJDWOGA" routingStyle="manhattan" strokeColor="0,0,0"> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_fb_qECylEe-wqd8WJDWOGA" showIcon="false"/> + <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_fb_DCCylEe-wqd8WJDWOGA" showIcon="false" labelColor="39,76,114"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_fb_qFCylEe-wqd8WJDWOGA" name="[1..1] target" sourceNode="_fbvycSylEe-wqd8WJDWOGA" targetNode="_fbxAkSylEe-wqd8WJDWOGA"> + <target xmi:type="ecore:EReference" href="petrinet.ecore#//OutgoingArc/target"/> + <semanticElements xmi:type="ecore:EReference" href="petrinet.ecore#//OutgoingArc/target"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_fb_qFSylEe-wqd8WJDWOGA" description="_fb-b8CylEe-wqd8WJDWOGA" routingStyle="manhattan" strokeColor="0,0,0"> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_fb_qFyylEe-wqd8WJDWOGA" showIcon="false"/> + <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_fb_qFiylEe-wqd8WJDWOGA" showIcon="false" labelColor="39,76,114"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_fcARIyylEe-wqd8WJDWOGA" name="[0..1] token" sourceNode="_fbxAkSylEe-wqd8WJDWOGA" targetNode="_fbzc0CylEe-wqd8WJDWOGA"> + <target xmi:type="ecore:EReference" href="petrinet.ecore#//Place/token"/> + <semanticElements xmi:type="ecore:EReference" href="petrinet.ecore#//Place/token"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_fcA4MCylEe-wqd8WJDWOGA" description="_fb8mwCylEe-wqd8WJDWOGA" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_fcA4MiylEe-wqd8WJDWOGA" showIcon="false"/> + <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_fcA4MSylEe-wqd8WJDWOGA" showIcon="false" labelColor="39,76,114"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_fcA4NiylEe-wqd8WJDWOGA" sourceNode="_fbukUCylEe-wqd8WJDWOGA" targetNode="_fbtWMCylEe-wqd8WJDWOGA"> + <target xmi:type="ecore:EClass" href="petrinet.ecore#//IncomingArc"/> + <semanticElements xmi:type="ecore:EClass" href="petrinet.ecore#//IncomingArc"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_fcBfQCylEe-wqd8WJDWOGA" targetArrow="InputClosedArrow" routingStyle="tree"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/> + <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_fcBfQSylEe-wqd8WJDWOGA" showIcon="false"> + <labelFormat>italic</labelFormat> + </beginLabelStyle> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_fcBfQiylEe-wqd8WJDWOGA" showIcon="false"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_fcCGUyylEe-wqd8WJDWOGA" sourceNode="_fbvycSylEe-wqd8WJDWOGA" targetNode="_fbtWMCylEe-wqd8WJDWOGA"> + <target xmi:type="ecore:EClass" href="petrinet.ecore#//OutgoingArc"/> + <semanticElements xmi:type="ecore:EClass" href="petrinet.ecore#//OutgoingArc"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_fcCGVCylEe-wqd8WJDWOGA" targetArrow="InputClosedArrow" routingStyle="tree"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/> + <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_fcCGVSylEe-wqd8WJDWOGA" showIcon="false"> + <labelFormat>italic</labelFormat> + </beginLabelStyle> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_fcCGViylEe-wqd8WJDWOGA" showIcon="false"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_fcCtYyylEe-wqd8WJDWOGA" sourceNode="_fbxAkSylEe-wqd8WJDWOGA" targetNode="_fbsIECylEe-wqd8WJDWOGA"> + <target xmi:type="ecore:EClass" href="petrinet.ecore#//Place"/> + <semanticElements xmi:type="ecore:EClass" href="petrinet.ecore#//Place"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_fcCtZCylEe-wqd8WJDWOGA" targetArrow="InputClosedArrow" routingStyle="tree"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/> + <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_fcCtZSylEe-wqd8WJDWOGA" showIcon="false"> + <labelFormat>italic</labelFormat> + </beginLabelStyle> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_fcCtZiylEe-wqd8WJDWOGA" showIcon="false"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_fcDUcCylEe-wqd8WJDWOGA" sourceNode="_fbyOsSylEe-wqd8WJDWOGA" targetNode="_fbsIECylEe-wqd8WJDWOGA"> + <target xmi:type="ecore:EClass" href="petrinet.ecore#//Transition"/> + <semanticElements xmi:type="ecore:EClass" href="petrinet.ecore#//Transition"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_fcDUcSylEe-wqd8WJDWOGA" targetArrow="InputClosedArrow" routingStyle="tree"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/> + <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_fcDUciylEe-wqd8WJDWOGA" showIcon="false"> + <labelFormat>italic</labelFormat> + </beginLabelStyle> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_fcDUcyylEe-wqd8WJDWOGA" showIcon="false"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/> + </ownedDiagramElements> + <description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/> + <filterVariableHistory xmi:type="diagram:FilterVariableHistory" uid="_fBoCQCylEe-wqd8WJDWOGA"/> + <activatedLayers xmi:type="description_1:Layer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer"/> + <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Package']"/> + <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Validation']"/> + <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Archetype']/@ownedRepresentationExtensions[name='Entities%20With%20Archetypes']/@layers[name='Archetypes']"/> + <target xmi:type="ecore:EPackage" href="petrinet.ecore#/"/> + </diagram:DSemanticDiagram> +</xmi:XMI> diff --git a/metamodel/swt.most.petrinet/model/petrinet.ecore b/metamodel/swt.most.petrinet/model/petrinet.ecore new file mode 100644 index 0000000..9ec0189 --- /dev/null +++ b/metamodel/swt.most.petrinet/model/petrinet.ecore @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="petrinet" nsURI="http://www.example.org/petrinet" nsPrefix="petrinet"> + <eClassifiers xsi:type="ecore:EClass" name="PetriNet"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="arcs" upperBound="-1" eType="#//Arc" + containment="true"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="elements" upperBound="-1" + eType="#//Element" containment="true"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Element" abstract="true"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="identifier" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Arc" abstract="true"/> + <eClassifiers xsi:type="ecore:EClass" name="IncomingArc" eSuperTypes="#//Arc"> + <eStructuralFeatures xsi:type="ecore:EReference" name="target" lowerBound="1" + eType="#//Transition"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="source" lowerBound="1" + eType="#//Place"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="OutgoingArc" eSuperTypes="#//Arc"> + <eStructuralFeatures xsi:type="ecore:EReference" name="source" lowerBound="1" + eType="#//Transition"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="target" lowerBound="1" + eType="#//Place"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Place" eSuperTypes="#//Element"> + <eStructuralFeatures xsi:type="ecore:EReference" name="token" eType="#//Token" + containment="true"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Transition" eSuperTypes="#//Element"/> + <eClassifiers xsi:type="ecore:EClass" name="Token"/> +</ecore:EPackage> diff --git a/metamodel/swt.most.petrinet/model/petrinet.genmodel b/metamodel/swt.most.petrinet/model/petrinet.genmodel new file mode 100644 index 0000000..1accf9b --- /dev/null +++ b/metamodel/swt.most.petrinet/model/petrinet.genmodel @@ -0,0 +1,36 @@ +<?xml version="1.0" encoding="UTF-8"?> +<genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" + modelDirectory="/swt.most.petrinet/src-gen" creationIcons="false" + editDirectory="/swt.most.petrinet.edit/src-gen" editorDirectory="/swt.most.petrinet.editor/src-gen" + modelPluginID="swt.most.petrinet" modelName="Petrinet" rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container" + codeFormatting="true" importerID="org.eclipse.emf.importer.ecore" complianceLevel="5.0" + copyrightFields="false" operationReflection="true" importOrganizing="true"> + <foreignModel>petrinet.ecore</foreignModel> + <testsDirectory xsi:nil="true"/> + <genPackages prefix="Petrinet" basePackage="swt.most" disposableProviderFactory="true" + ecorePackage="petrinet.ecore#/"> + <genClasses ecoreClass="petrinet.ecore#//PetriNet"> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute petrinet.ecore#//PetriNet/name"/> + <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference petrinet.ecore#//PetriNet/arcs"/> + <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference petrinet.ecore#//PetriNet/elements"/> + </genClasses> + <genClasses ecoreClass="petrinet.ecore#//Element"> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute petrinet.ecore#//Element/identifier"/> + </genClasses> + <genClasses ecoreClass="petrinet.ecore#//Arc"/> + <genClasses ecoreClass="petrinet.ecore#//IncomingArc"> + <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference petrinet.ecore#//IncomingArc/target"/> + <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference petrinet.ecore#//IncomingArc/source"/> + </genClasses> + <genClasses ecoreClass="petrinet.ecore#//OutgoingArc"> + <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference petrinet.ecore#//OutgoingArc/source"/> + <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference petrinet.ecore#//OutgoingArc/target"/> + </genClasses> + <genClasses ecoreClass="petrinet.ecore#//Place"> + <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference petrinet.ecore#//Place/token"/> + </genClasses> + <genClasses ecoreClass="petrinet.ecore#//Transition"/> + <genClasses ecoreClass="petrinet.ecore#//Token"/> + </genPackages> +</genmodel:GenModel> diff --git a/metamodel/swt.most.petrinet/model/petrinet.svg b/metamodel/swt.most.petrinet/model/petrinet.svg new file mode 100644 index 0000000..75b1e57 --- /dev/null +++ b/metamodel/swt.most.petrinet/model/petrinet.svg @@ -0,0 +1,361 @@ +<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" stroke-dasharray="none" shape-rendering="auto" font-family="'Dialog'" width="894" text-rendering="auto" fill-opacity="1" contentScriptType="text/ecmascript" color-interpolation="auto" color-rendering="auto" preserveAspectRatio="xMidYMid meet" font-size="12px" xmlns:diagram="http://www.eclipse.org/sirius/diagram/1.1.0" diagram:semanticRoot="platform:/resource/swt.most.petrinet/model/petrinet.ecore#/" viewBox="0 0 894 683" fill="black" stroke="black" image-rendering="auto" stroke-miterlimit="10" zoomAndPan="magnify" version="1.0" stroke-linecap="square" stroke-linejoin="miter" contentStyleType="text/css" font-style="normal" height="683" stroke-width="1" stroke-dashoffset="0" font-weight="normal" stroke-opacity="1"> + <!--Generated by the Batik Graphics2D SVG Generator--> + <defs id="genericDefs"/> + <g> + <defs id="defs1"> + <linearGradient x1="414" x2="542" y1="3" gradientUnits="userSpaceOnUse" y2="116" xlink:type="simple" xlink:actuate="onLoad" id="linearGradient1" xlink:show="other" spreadMethod="pad"> + <stop stop-opacity="1" stop-color="white" offset="0%"/> + <stop stop-opacity="1" stop-color="rgb(255,252,216)" offset="100%"/> + </linearGradient> + <linearGradient x1="234" x2="385" y1="187" gradientUnits="userSpaceOnUse" y2="311" xlink:type="simple" xlink:actuate="onLoad" id="linearGradient2" xlink:show="other" spreadMethod="pad"> + <stop stop-opacity="1" stop-color="white" offset="0%"/> + <stop stop-opacity="1" stop-color="rgb(228,228,228)" offset="100%"/> + </linearGradient> + <linearGradient x1="631" x2="749" y1="195" gradientUnits="userSpaceOnUse" y2="303" xlink:type="simple" xlink:actuate="onLoad" id="linearGradient3" xlink:show="other" spreadMethod="pad"> + <stop stop-opacity="1" stop-color="white" offset="0%"/> + <stop stop-opacity="1" stop-color="rgb(228,228,228)" offset="100%"/> + </linearGradient> + <linearGradient x1="554" x2="672" y1="362" gradientUnits="userSpaceOnUse" y2="470" xlink:type="simple" xlink:actuate="onLoad" id="linearGradient4" xlink:show="other" spreadMethod="pad"> + <stop stop-opacity="1" stop-color="white" offset="0%"/> + <stop stop-opacity="1" stop-color="rgb(255,252,216)" offset="100%"/> + </linearGradient> + <linearGradient x1="764" x2="882" y1="362" gradientUnits="userSpaceOnUse" y2="470" xlink:type="simple" xlink:actuate="onLoad" id="linearGradient5" xlink:show="other" spreadMethod="pad"> + <stop stop-opacity="1" stop-color="white" offset="0%"/> + <stop stop-opacity="1" stop-color="rgb(255,252,216)" offset="100%"/> + </linearGradient> + <linearGradient x1="127" x2="245" y1="551" gradientUnits="userSpaceOnUse" y2="659" xlink:type="simple" xlink:actuate="onLoad" id="linearGradient6" xlink:show="other" spreadMethod="pad"> + <stop stop-opacity="1" stop-color="white" offset="0%"/> + <stop stop-opacity="1" stop-color="rgb(255,252,216)" offset="100%"/> + </linearGradient> + <linearGradient x1="309" x2="427" y1="446" gradientUnits="userSpaceOnUse" y2="554" xlink:type="simple" xlink:actuate="onLoad" id="linearGradient7" xlink:show="other" spreadMethod="pad"> + <stop stop-opacity="1" stop-color="white" offset="0%"/> + <stop stop-opacity="1" stop-color="rgb(255,252,216)" offset="100%"/> + </linearGradient> + <linearGradient x1="10" x2="128" y1="236" gradientUnits="userSpaceOnUse" y2="344" xlink:type="simple" xlink:actuate="onLoad" id="linearGradient8" xlink:show="other" spreadMethod="pad"> + <stop stop-opacity="1" stop-color="white" offset="0%"/> + <stop stop-opacity="1" stop-color="rgb(255,252,216)" offset="100%"/> + </linearGradient> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath1"> + <path d="M413 9 L545 9 L545 111 L413 111 L413 9 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath2"> + <path d="M413 9 L543 9 L543 109 L413 109 L413 9 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath3"> + <path d="M439 14 L516 14 L516 37 L439 37 L439 14 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath4"> + <path d="M439 14 L519 14 L519 37 L439 37 L439 14 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath5"> + <path d="M418 42 L538 42 L538 65 L418 65 L418 42 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath6"> + <path d="M418 42 L541 42 L541 65 L418 65 L418 42 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath7"> + <path d="M414 40 L542 40 L542 108 L414 108 L414 40 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath8"> + <path d="M233 199 L388 199 L388 301 L233 301 L233 199 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath9"> + <path d="M233 199 L386 199 L386 299 L233 299 L233 199 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath10"> + <path d="M271 204 L348 204 L348 227 L271 227 L271 204 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath11"> + <path d="M271 204 L352 204 L352 227 L271 227 L271 204 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath12"> + <path d="M238 232 L381 232 L381 255 L238 255 L238 232 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath13"> + <path d="M238 232 L384 232 L384 255 L238 255 L238 232 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath14"> + <path d="M234 230 L385 230 L385 298 L234 298 L234 230 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath15"> + <path d="M630 199 L752 199 L752 301 L630 301 L630 199 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath16"> + <path d="M630 199 L750 199 L750 299 L630 299 L630 199 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath17"> + <path d="M668 204 L712 204 L712 227 L668 227 L668 204 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath18"> + <path d="M668 204 L715 204 L715 227 L668 227 L668 204 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath19"> + <path d="M631 230 L749 230 L749 298 L631 298 L631 230 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath20"> + <path d="M553 366 L675 366 L675 468 L553 468 L553 366 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath21"> + <path d="M553 366 L673 366 L673 466 L553 466 L553 366 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath22"> + <path d="M558 371 L667 371 L667 394 L558 394 L558 371 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath23"> + <path d="M558 371 L671 371 L671 394 L558 394 L558 371 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath24"> + <path d="M554 397 L672 397 L672 465 L554 465 L554 397 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath25"> + <path d="M763 366 L885 366 L885 468 L763 468 L763 366 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath26"> + <path d="M763 366 L883 366 L883 466 L763 466 L763 366 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath27"> + <path d="M768 371 L878 371 L878 394 L768 394 L768 371 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath28"> + <path d="M768 371 L882 371 L882 394 L768 394 L768 371 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath29"> + <path d="M764 397 L882 397 L882 465 L764 465 L764 397 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath30"> + <path d="M126 555 L248 555 L248 657 L126 657 L126 555 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath31"> + <path d="M126 555 L246 555 L246 655 L126 655 L126 555 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath32"> + <path d="M157 560 L214 560 L214 583 L157 583 L157 560 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath33"> + <path d="M157 560 L217 560 L217 583 L157 583 L157 560 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath34"> + <path d="M127 586 L245 586 L245 654 L127 654 L127 586 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath35"> + <path d="M308 450 L430 450 L430 552 L308 552 L308 450 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath36"> + <path d="M308 450 L428 450 L428 550 L308 550 L308 450 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath37"> + <path d="M323 455 L412 455 L412 478 L323 478 L323 455 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath38"> + <path d="M323 455 L415 455 L415 478 L323 478 L323 455 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath39"> + <path d="M309 481 L427 481 L427 549 L309 549 L309 481 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath40"> + <path d="M9 240 L131 240 L131 342 L9 342 L9 240 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath41"> + <path d="M9 240 L129 240 L129 340 L9 340 L9 240 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath42"> + <path d="M38 245 L99 245 L99 268 L38 268 L38 245 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath43"> + <path d="M38 245 L103 245 L103 268 L38 268 L38 245 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath44"> + <path d="M10 271 L128 271 L128 339 L10 339 L10 271 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath45"> + <path d="M-1 -1 L895 -1 L895 684 L-1 684 L-1 -1 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath46"> + <path d="M714 173 L782 173 L782 196 L714 196 L714 173 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath47"> + <path d="M541 56 L556 56 L556 65 L541 65 L541 56 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath48"> + <path d="M690 192 L699 192 L699 202 L690 202 L690 192 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath49"> + <path d="M194 173 L298 173 L298 196 L194 196 L194 173 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath50"> + <path d="M401 56 L416 56 L416 65 L401 65 L401 56 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath51"> + <path d="M305 192 L314 192 L314 202 L305 202 L305 192 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath52"> + <path d="M441 492 L525 492 L525 515 L441 515 L441 492 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath53"> + <path d="M426 482 L436 482 L436 491 L426 491 L426 482 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath54"> + <path d="M252 596 L341 596 L341 619 L252 619 L252 596 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath55"> + <path d="M244 586 L254 586 L254 595 L244 595 L244 586 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath56"> + <path d="M441 535 L530 535 L530 558 L441 558 L441 535 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath57"> + <path d="M426 524 L436 524 L436 533 L426 533 L426 524 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath58"> + <path d="M259 638 L343 638 L343 661 L259 661 L259 638 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath59"> + <path d="M244 628 L254 628 L254 637 L244 637 L244 628 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath60"> + <path d="M77 346 L159 346 L159 369 L77 369 L77 346 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath61"> + <path d="M114 602 L129 602 L129 611 L114 611 L114 602 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath62"> + <path d="M64 338 L73 338 L73 348 L64 348 L64 338 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath63"> + <path d="M686 297 L697 297 L697 308 L686 308 L686 297 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath64"> + <path d="M305 297 L316 297 L316 308 L305 308 L305 297 Z"/> + </clipPath> + </defs> + <g font-size="16px" fill="rgb(131,122,133)" font-family="'Segoe UI'" stroke-linejoin="round" stroke="rgb(131,122,133)" stroke-width="0" stroke-miterlimit="0"> + <rect x="415" y="11" clip-path="url(#clipPath1)" width="128" rx="4" opacity="0.255" ry="4" height="98" stroke="none"/> + <rect x="416" y="12" clip-path="url(#clipPath1)" width="128" rx="4" opacity="0.255" ry="4" height="98" stroke="none"/> + <rect x="414" y="10" clip-path="url(#clipPath2)" fill="url(#linearGradient1)" width="128" rx="4" ry="4" height="98" stroke="none"/> + </g> + <g font-size="16px" stroke-width="1.1" font-family="'Segoe UI'" stroke-linecap="butt"> + <rect x="414" y="10" clip-path="url(#clipPath2)" fill="none" width="127" rx="4" ry="4" height="97"/> + <image x="440" y="17" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAsklEQVR4XqWQ0QoB QRSG941sEhJ5F1HaViRCpKwoN25cUFI8khuvYvbq8IuaOuaftr34mmm+ztdpAhEJ 8qAesqIeLouC+PAGTHp34g2c56EasoGngeM0lKd5fDDpl9/9fcLTwGFSlNsplqsD eBrYj0tqbRt4GtgNy2rIBp4G1v0K/QN4GljGVUm2K0k2/4GngVlUU2vbwNPAqFtX QzbwNDDoNOgfwNNAr92UqOUGngay8gIKdwdeFkAbDAAAAABJRU5ErkJggg==" xlink:type="simple" xlink:actuate="onLoad" height="16" preserveAspectRatio="none" xlink:show="embed"/> + <text x="459" xml:space="preserve" y="33" clip-path="url(#clipPath4)" stroke="none">PetriNet</text> + <image x="419" y="45" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAWUlEQVR4XmNgGAWD EMyt0f9PCKPrQQFTKwz///h5EScGyaPrQQFdRaYYmpAxSB5dDwqozbH8//3HNTD+ 8ROKYWwgDZJH14MCitJs/2cl2ePEIHl0PaOAQgAAf2WC/D0GsQEAAAAASUVORK5C YII=" xlink:type="simple" xlink:actuate="onLoad" height="16" preserveAspectRatio="none" xlink:show="embed"/> + <text x="438" xml:space="preserve" y="61" clip-path="url(#clipPath6)" stroke="none">name : EString</text> + <line y2="41" fill="none" x1="415" clip-path="url(#clipPath7)" x2="541" y1="41"/> + <rect x="235" y="201" clip-path="url(#clipPath8)" fill="rgb(131,122,133)" width="151" rx="4" opacity="0.255" ry="4" height="98" stroke="none"/> + <rect x="236" y="202" clip-path="url(#clipPath8)" fill="rgb(131,122,133)" width="151" rx="4" opacity="0.255" ry="4" height="98" stroke="none"/> + <rect x="234" y="200" clip-path="url(#clipPath9)" fill="url(#linearGradient2)" width="151" rx="4" ry="4" height="98" stroke="none"/> + <rect x="234" y="200" clip-path="url(#clipPath9)" fill="none" width="150" rx="4" ry="4" height="97" stroke="rgb(125,125,125)"/> + <image stroke="rgb(125,125,125)" width="16" xlink:show="embed" xlink:type="simple" fill="rgb(125,125,125)" preserveAspectRatio="none" height="16" font-style="italic" x="272" y="207" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAw0lEQVR4XmP4//8/ AyUYQgApZIyuCB8Ga0YHILG5Nfo4MUgJDMMNQLIdTP/4eRErxmkAMsBnwOxqA7AS GMbpgu8/rgE1QDGMDaSnV2AxAKoRJgDmL5iRgxVPLjdCNQCZA8J9pSYYzkbGIHm8 BnQWmWFoQsYgebwGNOebg/2PKwxA8ngNqMux+N/U1vi/qRU7BsnjNaAyywrD2cgY JI/XgJIMGwxNyBgkj9eAglRbvGEAksdrQG6K/f+sJNwYJI/XAFIxAHIn7dCPjVWK AAAAAElFTkSuQmCC" xlink:actuate="onLoad"/> + <text font-style="italic" x="291" xml:space="preserve" y="223" clip-path="url(#clipPath11)" stroke="none">Element</text> + <image x="239" y="235" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAWUlEQVR4XmNgGAWD EMyt0f9PCKPrQQFTKwz///h5EScGyaPrQQFdRaYYmpAxSB5dDwqozbH8//3HNTD+ 8ROKYWwgDZJH14MCitJs/2cl2ePEIHl0PaOAQgAAf2WC/D0GsQEAAAAASUVORK5C YII=" xlink:type="simple" xlink:actuate="onLoad" height="16" preserveAspectRatio="none" xlink:show="embed"/> + <text x="258" xml:space="preserve" y="251" clip-path="url(#clipPath13)" stroke="none">identifier : EString</text> + <line clip-path="url(#clipPath14)" fill="none" x1="235" x2="384" y1="231" y2="231" stroke="rgb(125,125,125)"/> + <rect x="632" y="201" clip-path="url(#clipPath15)" fill="rgb(131,122,133)" width="118" rx="4" opacity="0.255" ry="4" height="98" stroke="none"/> + <rect x="633" y="202" clip-path="url(#clipPath15)" fill="rgb(131,122,133)" width="118" rx="4" opacity="0.255" ry="4" height="98" stroke="none"/> + <rect x="631" y="200" clip-path="url(#clipPath16)" fill="url(#linearGradient3)" width="118" rx="4" ry="4" height="98" stroke="none"/> + <rect x="631" y="200" clip-path="url(#clipPath16)" fill="none" width="117" rx="4" ry="4" height="97" stroke="rgb(125,125,125)"/> + <image stroke="rgb(125,125,125)" width="16" xlink:show="embed" xlink:type="simple" fill="rgb(125,125,125)" preserveAspectRatio="none" height="16" font-style="italic" x="669" y="207" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAw0lEQVR4XmP4//8/ AyUYQgApZIyuCB8Ga0YHILG5Nfo4MUgJDMMNQLIdTP/4eRErxmkAMsBnwOxqA7AS GMbpgu8/rgE1QDGMDaSnV2AxAKoRJgDmL5iRgxVPLjdCNQCZA8J9pSYYzkbGIHm8 BnQWmWFoQsYgebwGNOebg/2PKwxA8ngNqMux+N/U1vi/qRU7BsnjNaAyywrD2cgY JI/XgJIMGwxNyBgkj9eAglRbvGEAksdrQG6K/f+sJNwYJI/XAFIxAHIn7dCPjVWK AAAAAElFTkSuQmCC" xlink:actuate="onLoad"/> + <text font-style="italic" x="688" xml:space="preserve" y="223" clip-path="url(#clipPath18)" stroke="none">Arc</text> + <line clip-path="url(#clipPath19)" fill="none" x1="632" x2="748" y1="231" y2="231" stroke="rgb(125,125,125)"/> + <rect x="555" y="368" clip-path="url(#clipPath20)" fill="rgb(131,122,133)" width="118" rx="4" opacity="0.255" ry="4" height="98" stroke="none"/> + <rect x="556" y="369" clip-path="url(#clipPath20)" fill="rgb(131,122,133)" width="118" rx="4" opacity="0.255" ry="4" height="98" stroke="none"/> + <rect x="554" y="367" clip-path="url(#clipPath21)" fill="url(#linearGradient4)" width="118" rx="4" ry="4" height="98" stroke="none"/> + <rect x="554" y="367" clip-path="url(#clipPath21)" fill="none" width="117" rx="4" ry="4" height="97"/> + <image x="559" y="374" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAsklEQVR4XqWQ0QoB QRSG941sEhJ5F1HaViRCpKwoN25cUFI8khuvYvbq8IuaOuaftr34mmm+ztdpAhEJ 8qAesqIeLouC+PAGTHp34g2c56EasoGngeM0lKd5fDDpl9/9fcLTwGFSlNsplqsD eBrYj0tqbRt4GtgNy2rIBp4G1v0K/QN4GljGVUm2K0k2/4GngVlUU2vbwNPAqFtX QzbwNDDoNOgfwNNAr92UqOUGngay8gIKdwdeFkAbDAAAAABJRU5ErkJggg==" xlink:type="simple" xlink:actuate="onLoad" height="16" preserveAspectRatio="none" xlink:show="embed"/> + <text x="578" xml:space="preserve" y="390" clip-path="url(#clipPath23)" stroke="none">IncomingArc</text> + <line y2="398" fill="none" x1="555" clip-path="url(#clipPath24)" x2="671" y1="398"/> + <rect x="765" y="368" clip-path="url(#clipPath25)" fill="rgb(131,122,133)" width="118" rx="4" opacity="0.255" ry="4" height="98" stroke="none"/> + <rect x="766" y="369" clip-path="url(#clipPath25)" fill="rgb(131,122,133)" width="118" rx="4" opacity="0.255" ry="4" height="98" stroke="none"/> + <rect x="764" y="367" clip-path="url(#clipPath26)" fill="url(#linearGradient5)" width="118" rx="4" ry="4" height="98" stroke="none"/> + <rect x="764" y="367" clip-path="url(#clipPath26)" fill="none" width="117" rx="4" ry="4" height="97"/> + <image x="769" y="374" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAsklEQVR4XqWQ0QoB QRSG941sEhJ5F1HaViRCpKwoN25cUFI8khuvYvbq8IuaOuaftr34mmm+ztdpAhEJ 8qAesqIeLouC+PAGTHp34g2c56EasoGngeM0lKd5fDDpl9/9fcLTwGFSlNsplqsD eBrYj0tqbRt4GtgNy2rIBp4G1v0K/QN4GljGVUm2K0k2/4GngVlUU2vbwNPAqFtX QzbwNDDoNOgfwNNAr92UqOUGngay8gIKdwdeFkAbDAAAAABJRU5ErkJggg==" xlink:type="simple" xlink:actuate="onLoad" height="16" preserveAspectRatio="none" xlink:show="embed"/> + <text x="788" xml:space="preserve" y="390" clip-path="url(#clipPath28)" stroke="none">OutgoingArc</text> + <line y2="398" fill="none" x1="765" clip-path="url(#clipPath29)" x2="881" y1="398"/> + <rect x="128" y="557" clip-path="url(#clipPath30)" fill="rgb(131,122,133)" width="118" rx="4" opacity="0.255" ry="4" height="98" stroke="none"/> + <rect x="129" y="558" clip-path="url(#clipPath30)" fill="rgb(131,122,133)" width="118" rx="4" opacity="0.255" ry="4" height="98" stroke="none"/> + <rect x="127" y="556" clip-path="url(#clipPath31)" fill="url(#linearGradient6)" width="118" rx="4" ry="4" height="98" stroke="none"/> + <rect x="127" y="556" clip-path="url(#clipPath31)" fill="none" width="117" rx="4" ry="4" height="97"/> + <image x="158" y="563" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAsklEQVR4XqWQ0QoB QRSG941sEhJ5F1HaViRCpKwoN25cUFI8khuvYvbq8IuaOuaftr34mmm+ztdpAhEJ 8qAesqIeLouC+PAGTHp34g2c56EasoGngeM0lKd5fDDpl9/9fcLTwGFSlNsplqsD eBrYj0tqbRt4GtgNy2rIBp4G1v0K/QN4GljGVUm2K0k2/4GngVlUU2vbwNPAqFtX QzbwNDDoNOgfwNNAr92UqOUGngay8gIKdwdeFkAbDAAAAABJRU5ErkJggg==" xlink:type="simple" xlink:actuate="onLoad" height="16" preserveAspectRatio="none" xlink:show="embed"/> + <text x="177" xml:space="preserve" y="579" clip-path="url(#clipPath33)" stroke="none">Place</text> + <line y2="587" fill="none" x1="128" clip-path="url(#clipPath34)" x2="244" y1="587"/> + <rect x="310" y="452" clip-path="url(#clipPath35)" fill="rgb(131,122,133)" width="118" rx="4" opacity="0.255" ry="4" height="98" stroke="none"/> + <rect x="311" y="453" clip-path="url(#clipPath35)" fill="rgb(131,122,133)" width="118" rx="4" opacity="0.255" ry="4" height="98" stroke="none"/> + <rect x="309" y="451" clip-path="url(#clipPath36)" fill="url(#linearGradient7)" width="118" rx="4" ry="4" height="98" stroke="none"/> + <rect x="309" y="451" clip-path="url(#clipPath36)" fill="none" width="117" rx="4" ry="4" height="97"/> + <image x="324" y="458" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAsklEQVR4XqWQ0QoB QRSG941sEhJ5F1HaViRCpKwoN25cUFI8khuvYvbq8IuaOuaftr34mmm+ztdpAhEJ 8qAesqIeLouC+PAGTHp34g2c56EasoGngeM0lKd5fDDpl9/9fcLTwGFSlNsplqsD eBrYj0tqbRt4GtgNy2rIBp4G1v0K/QN4GljGVUm2K0k2/4GngVlUU2vbwNPAqFtX QzbwNDDoNOgfwNNAr92UqOUGngay8gIKdwdeFkAbDAAAAABJRU5ErkJggg==" xlink:type="simple" xlink:actuate="onLoad" height="16" preserveAspectRatio="none" xlink:show="embed"/> + <text x="343" xml:space="preserve" y="474" clip-path="url(#clipPath38)" stroke="none">Transition</text> + <line y2="482" fill="none" x1="310" clip-path="url(#clipPath39)" x2="426" y1="482"/> + <rect x="11" y="242" clip-path="url(#clipPath40)" fill="rgb(131,122,133)" width="118" rx="4" opacity="0.255" ry="4" height="98" stroke="none"/> + <rect x="12" y="243" clip-path="url(#clipPath40)" fill="rgb(131,122,133)" width="118" rx="4" opacity="0.255" ry="4" height="98" stroke="none"/> + <rect x="10" y="241" clip-path="url(#clipPath41)" fill="url(#linearGradient8)" width="118" rx="4" ry="4" height="98" stroke="none"/> + <rect x="10" y="241" clip-path="url(#clipPath41)" fill="none" width="117" rx="4" ry="4" height="97"/> + <image x="39" y="248" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAsklEQVR4XqWQ0QoB QRSG941sEhJ5F1HaViRCpKwoN25cUFI8khuvYvbq8IuaOuaftr34mmm+ztdpAhEJ 8qAesqIeLouC+PAGTHp34g2c56EasoGngeM0lKd5fDDpl9/9fcLTwGFSlNsplqsD eBrYj0tqbRt4GtgNy2rIBp4G1v0K/QN4GljGVUm2K0k2/4GngVlUU2vbwNPAqFtX QzbwNDDoNOgfwNNAr92UqOUGngay8gIKdwdeFkAbDAAAAABJRU5ErkJggg==" xlink:type="simple" xlink:actuate="onLoad" height="16" preserveAspectRatio="none" xlink:show="embed"/> + <text x="58" xml:space="preserve" y="264" clip-path="url(#clipPath43)" stroke="none">Token</text> + <line y2="272" fill="none" x1="11" clip-path="url(#clipPath44)" x2="127" y1="272"/> + <line y2="60" fill="none" x1="542" clip-path="url(#clipPath45)" x2="694" y1="60"/> + <line y2="200" fill="none" x1="694" clip-path="url(#clipPath45)" x2="694" y1="60"/> + <text x="715" xml:space="preserve" y="192" clip-path="url(#clipPath46)" stroke="none">[0..*] arcs</text> + <polygon points=" 542 60 548 57 554 60 548 63" clip-path="url(#clipPath47)" stroke="none"/> + <polygon fill="none" points=" 542 60 548 57 554 60 548 63" clip-path="url(#clipPath47)"/> + <line y2="200" fill="none" x1="691" clip-path="url(#clipPath48)" x2="694" y1="193"/> + <line y2="193" fill="none" x1="694" clip-path="url(#clipPath48)" x2="697" y1="200"/> + <line y2="60" fill="none" x1="414" clip-path="url(#clipPath45)" x2="309" y1="60"/> + <line y2="200" fill="none" x1="309" clip-path="url(#clipPath45)" x2="309" y1="60"/> + <text x="195" xml:space="preserve" y="192" clip-path="url(#clipPath49)" stroke="none">[0..*] elements</text> + <polygon points=" 414 60 408 63 402 60 408 57" clip-path="url(#clipPath50)" stroke="none"/> + <polygon fill="none" points=" 414 60 408 63 402 60 408 57" clip-path="url(#clipPath50)"/> + <line y2="200" fill="none" x1="306" clip-path="url(#clipPath51)" x2="309" y1="193"/> + <line y2="193" fill="none" x1="309" clip-path="url(#clipPath51)" x2="312" y1="200"/> + <line y2="486" fill="none" x1="589" clip-path="url(#clipPath45)" x2="589" y1="465"/> + <line y2="486" fill="none" x1="589" clip-path="url(#clipPath45)" x2="427" y1="486"/> + <text x="442" xml:space="preserve" y="511" clip-path="url(#clipPath52)" stroke="none">[1..1] target</text> + <line y2="486" fill="none" x1="434" clip-path="url(#clipPath53)" x2="427" y1="483"/> + <line y2="489" fill="none" x1="427" clip-path="url(#clipPath53)" x2="434" y1="486"/> + <line y2="521" fill="none" x1="614" clip-path="url(#clipPath45)" x2="614" y1="465"/> + <line y2="521" fill="none" x1="614" clip-path="url(#clipPath45)" x2="624" y1="521"/> + <line y2="534" fill="none" x1="624" clip-path="url(#clipPath45)" x2="624" y1="521"/> + <line y2="534" fill="none" x1="624" clip-path="url(#clipPath45)" x2="612" y1="534"/> + <line y2="590" fill="none" x1="612" clip-path="url(#clipPath45)" x2="612" y1="534"/> + <line y2="590" fill="none" x1="612" clip-path="url(#clipPath45)" x2="245" y1="590"/> + <text x="253" xml:space="preserve" y="615" clip-path="url(#clipPath54)" stroke="none">[1..1] source</text> + <line y2="590" fill="none" x1="252" clip-path="url(#clipPath55)" x2="245" y1="587"/> + <line y2="593" fill="none" x1="245" clip-path="url(#clipPath55)" x2="252" y1="590"/> + <line y2="528" fill="none" x1="806" clip-path="url(#clipPath45)" x2="806" y1="465"/> + <line y2="528" fill="none" x1="806" clip-path="url(#clipPath45)" x2="427" y1="528"/> + <text x="442" xml:space="preserve" y="554" clip-path="url(#clipPath56)" stroke="none">[1..1] source</text> + <line y2="528" fill="none" x1="434" clip-path="url(#clipPath57)" x2="427" y1="525"/> + <line y2="531" fill="none" x1="427" clip-path="url(#clipPath57)" x2="434" y1="528"/> + <line y2="632" fill="none" x1="841" clip-path="url(#clipPath45)" x2="841" y1="465"/> + <line y2="632" fill="none" x1="841" clip-path="url(#clipPath45)" x2="245" y1="632"/> + <text x="260" xml:space="preserve" y="657" clip-path="url(#clipPath58)" stroke="none">[1..1] target</text> + <line y2="632" fill="none" x1="252" clip-path="url(#clipPath59)" x2="245" y1="629"/> + <line y2="635" fill="none" x1="245" clip-path="url(#clipPath59)" x2="252" y1="632"/> + <line y2="606" fill="none" x1="127" clip-path="url(#clipPath45)" x2="68" y1="606"/> + <line y2="339" fill="none" x1="68" clip-path="url(#clipPath45)" x2="68" y1="606"/> + <text x="78" xml:space="preserve" y="365" clip-path="url(#clipPath60)" stroke="none">[0..1] token</text> + <polygon points=" 127 606 121 609 115 606 121 603" clip-path="url(#clipPath61)" stroke="none"/> + <polygon fill="none" points=" 127 606 121 609 115 606 121 603" clip-path="url(#clipPath61)"/> + <line y2="339" fill="none" x1="71" clip-path="url(#clipPath62)" x2="68" y1="346"/> + <line y2="346" fill="none" x1="68" clip-path="url(#clipPath62)" x2="65" y1="339"/> + <line clip-path="url(#clipPath45)" fill="none" x1="614" x2="614" y1="367" y2="325" stroke="rgb(136,136,136)"/> + <line clip-path="url(#clipPath45)" fill="none" x1="614" x2="691" y1="325" y2="325" stroke="rgb(136,136,136)"/> + <line clip-path="url(#clipPath45)" fill="none" x1="691" x2="691" y1="325" y2="298" stroke="rgb(136,136,136)"/> + <polygon fill="white" clip-path="url(#clipPath63)" points=" 691 298 695 306 687 306" stroke="none"/> + <polygon fill="none" clip-path="url(#clipPath63)" points=" 691 298 695 306 687 306" stroke="rgb(136,136,136)"/> + <line clip-path="url(#clipPath45)" fill="none" x1="824" x2="824" y1="367" y2="325" stroke="rgb(136,136,136)"/> + <line clip-path="url(#clipPath45)" fill="none" x1="824" x2="691" y1="325" y2="325" stroke="rgb(136,136,136)"/> + <line clip-path="url(#clipPath45)" fill="none" x1="691" x2="691" y1="325" y2="298" stroke="rgb(136,136,136)"/> + <polygon fill="white" clip-path="url(#clipPath63)" points=" 691 298 695 306 687 306" stroke="none"/> + <polygon fill="none" clip-path="url(#clipPath63)" points=" 691 298 695 306 687 306" stroke="rgb(136,136,136)"/> + <line clip-path="url(#clipPath45)" fill="none" x1="187" x2="187" y1="556" y2="325" stroke="rgb(136,136,136)"/> + <line clip-path="url(#clipPath45)" fill="none" x1="187" x2="310" y1="325" y2="325" stroke="rgb(136,136,136)"/> + <line clip-path="url(#clipPath45)" fill="none" x1="310" x2="310" y1="325" y2="298" stroke="rgb(136,136,136)"/> + <polygon fill="white" clip-path="url(#clipPath64)" points=" 310 298 314 306 306 306" stroke="none"/> + <polygon fill="none" clip-path="url(#clipPath64)" points=" 310 298 314 306 306 306" stroke="rgb(136,136,136)"/> + <line clip-path="url(#clipPath45)" fill="none" x1="369" x2="369" y1="451" y2="325" stroke="rgb(136,136,136)"/> + <line clip-path="url(#clipPath45)" fill="none" x1="369" x2="310" y1="325" y2="325" stroke="rgb(136,136,136)"/> + <line clip-path="url(#clipPath45)" fill="none" x1="310" x2="310" y1="325" y2="298" stroke="rgb(136,136,136)"/> + <polygon fill="white" clip-path="url(#clipPath64)" points=" 310 298 314 306 306 306" stroke="none"/> + <polygon fill="none" clip-path="url(#clipPath64)" points=" 310 298 314 306 306 306" stroke="rgb(136,136,136)"/> + </g> + </g> +</svg> diff --git a/metamodel/swt.most.petrinet/plugin.properties b/metamodel/swt.most.petrinet/plugin.properties new file mode 100644 index 0000000..69c8f3c --- /dev/null +++ b/metamodel/swt.most.petrinet/plugin.properties @@ -0,0 +1,4 @@ +# + +pluginName = swt.most.petrinet +providerName = www.example.org diff --git a/metamodel/swt.most.petrinet/plugin.xml b/metamodel/swt.most.petrinet/plugin.xml new file mode 100644 index 0000000..e741d68 --- /dev/null +++ b/metamodel/swt.most.petrinet/plugin.xml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<?eclipse version="3.0"?> + +<!-- +--> + +<plugin> + + <extension point="org.eclipse.emf.ecore.generated_package"> + <!-- @generated petrinet --> + <package + uri="http://www.example.org/petrinet" + class="swt.most.petrinet.PetrinetPackage" + genModel="model/petrinet.genmodel"/> + </extension> + +</plugin> diff --git a/metamodel/swt.most.petrinet/src-gen/swt/most/petrinet/Arc.java b/metamodel/swt.most.petrinet/src-gen/swt/most/petrinet/Arc.java new file mode 100644 index 0000000..ba76cc9 --- /dev/null +++ b/metamodel/swt.most.petrinet/src-gen/swt/most/petrinet/Arc.java @@ -0,0 +1,18 @@ +/** + */ +package swt.most.petrinet; + +import org.eclipse.emf.ecore.EObject; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Arc</b></em>'. + * <!-- end-user-doc --> + * + * + * @see swt.most.petrinet.PetrinetPackage#getArc() + * @model abstract="true" + * @generated + */ +public interface Arc extends EObject { +} // Arc diff --git a/metamodel/swt.most.petrinet/src-gen/swt/most/petrinet/Element.java b/metamodel/swt.most.petrinet/src-gen/swt/most/petrinet/Element.java new file mode 100644 index 0000000..e2f9313 --- /dev/null +++ b/metamodel/swt.most.petrinet/src-gen/swt/most/petrinet/Element.java @@ -0,0 +1,46 @@ +/** + */ +package swt.most.petrinet; + +import org.eclipse.emf.ecore.EObject; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Element</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * </p> + * <ul> + * <li>{@link swt.most.petrinet.Element#getIdentifier <em>Identifier</em>}</li> + * </ul> + * + * @see swt.most.petrinet.PetrinetPackage#getElement() + * @model abstract="true" + * @generated + */ +public interface Element extends EObject { + /** + * Returns the value of the '<em><b>Identifier</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the value of the '<em>Identifier</em>' attribute. + * @see #setIdentifier(String) + * @see swt.most.petrinet.PetrinetPackage#getElement_Identifier() + * @model + * @generated + */ + String getIdentifier(); + + /** + * Sets the value of the '{@link swt.most.petrinet.Element#getIdentifier <em>Identifier</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Identifier</em>' attribute. + * @see #getIdentifier() + * @generated + */ + void setIdentifier(String value); + +} // Element diff --git a/metamodel/swt.most.petrinet/src-gen/swt/most/petrinet/IncomingArc.java b/metamodel/swt.most.petrinet/src-gen/swt/most/petrinet/IncomingArc.java new file mode 100644 index 0000000..c03936f --- /dev/null +++ b/metamodel/swt.most.petrinet/src-gen/swt/most/petrinet/IncomingArc.java @@ -0,0 +1,67 @@ +/** + */ +package swt.most.petrinet; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Incoming Arc</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * </p> + * <ul> + * <li>{@link swt.most.petrinet.IncomingArc#getTarget <em>Target</em>}</li> + * <li>{@link swt.most.petrinet.IncomingArc#getSource <em>Source</em>}</li> + * </ul> + * + * @see swt.most.petrinet.PetrinetPackage#getIncomingArc() + * @model + * @generated + */ +public interface IncomingArc extends Arc { + /** + * Returns the value of the '<em><b>Target</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the value of the '<em>Target</em>' reference. + * @see #setTarget(Transition) + * @see swt.most.petrinet.PetrinetPackage#getIncomingArc_Target() + * @model required="true" + * @generated + */ + Transition getTarget(); + + /** + * Sets the value of the '{@link swt.most.petrinet.IncomingArc#getTarget <em>Target</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Target</em>' reference. + * @see #getTarget() + * @generated + */ + void setTarget(Transition value); + + /** + * Returns the value of the '<em><b>Source</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the value of the '<em>Source</em>' reference. + * @see #setSource(Place) + * @see swt.most.petrinet.PetrinetPackage#getIncomingArc_Source() + * @model required="true" + * @generated + */ + Place getSource(); + + /** + * Sets the value of the '{@link swt.most.petrinet.IncomingArc#getSource <em>Source</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Source</em>' reference. + * @see #getSource() + * @generated + */ + void setSource(Place value); + +} // IncomingArc diff --git a/metamodel/swt.most.petrinet/src-gen/swt/most/petrinet/OutgoingArc.java b/metamodel/swt.most.petrinet/src-gen/swt/most/petrinet/OutgoingArc.java new file mode 100644 index 0000000..f7204ec --- /dev/null +++ b/metamodel/swt.most.petrinet/src-gen/swt/most/petrinet/OutgoingArc.java @@ -0,0 +1,67 @@ +/** + */ +package swt.most.petrinet; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Outgoing Arc</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * </p> + * <ul> + * <li>{@link swt.most.petrinet.OutgoingArc#getSource <em>Source</em>}</li> + * <li>{@link swt.most.petrinet.OutgoingArc#getTarget <em>Target</em>}</li> + * </ul> + * + * @see swt.most.petrinet.PetrinetPackage#getOutgoingArc() + * @model + * @generated + */ +public interface OutgoingArc extends Arc { + /** + * Returns the value of the '<em><b>Source</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the value of the '<em>Source</em>' reference. + * @see #setSource(Transition) + * @see swt.most.petrinet.PetrinetPackage#getOutgoingArc_Source() + * @model required="true" + * @generated + */ + Transition getSource(); + + /** + * Sets the value of the '{@link swt.most.petrinet.OutgoingArc#getSource <em>Source</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Source</em>' reference. + * @see #getSource() + * @generated + */ + void setSource(Transition value); + + /** + * Returns the value of the '<em><b>Target</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the value of the '<em>Target</em>' reference. + * @see #setTarget(Place) + * @see swt.most.petrinet.PetrinetPackage#getOutgoingArc_Target() + * @model required="true" + * @generated + */ + Place getTarget(); + + /** + * Sets the value of the '{@link swt.most.petrinet.OutgoingArc#getTarget <em>Target</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Target</em>' reference. + * @see #getTarget() + * @generated + */ + void setTarget(Place value); + +} // OutgoingArc diff --git a/metamodel/swt.most.petrinet/src-gen/swt/most/petrinet/PetriNet.java b/metamodel/swt.most.petrinet/src-gen/swt/most/petrinet/PetriNet.java new file mode 100644 index 0000000..4431b19 --- /dev/null +++ b/metamodel/swt.most.petrinet/src-gen/swt/most/petrinet/PetriNet.java @@ -0,0 +1,74 @@ +/** + */ +package swt.most.petrinet; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EObject; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Petri Net</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * </p> + * <ul> + * <li>{@link swt.most.petrinet.PetriNet#getName <em>Name</em>}</li> + * <li>{@link swt.most.petrinet.PetriNet#getArcs <em>Arcs</em>}</li> + * <li>{@link swt.most.petrinet.PetriNet#getElements <em>Elements</em>}</li> + * </ul> + * + * @see swt.most.petrinet.PetrinetPackage#getPetriNet() + * @model + * @generated + */ +public interface PetriNet extends EObject { + /** + * Returns the value of the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the value of the '<em>Name</em>' attribute. + * @see #setName(String) + * @see swt.most.petrinet.PetrinetPackage#getPetriNet_Name() + * @model + * @generated + */ + String getName(); + + /** + * Sets the value of the '{@link swt.most.petrinet.PetriNet#getName <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Name</em>' attribute. + * @see #getName() + * @generated + */ + void setName(String value); + + /** + * Returns the value of the '<em><b>Arcs</b></em>' containment reference list. + * The list contents are of type {@link swt.most.petrinet.Arc}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the value of the '<em>Arcs</em>' containment reference list. + * @see swt.most.petrinet.PetrinetPackage#getPetriNet_Arcs() + * @model containment="true" + * @generated + */ + EList<Arc> getArcs(); + + /** + * Returns the value of the '<em><b>Elements</b></em>' containment reference list. + * The list contents are of type {@link swt.most.petrinet.Element}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the value of the '<em>Elements</em>' containment reference list. + * @see swt.most.petrinet.PetrinetPackage#getPetriNet_Elements() + * @model containment="true" + * @generated + */ + EList<Element> getElements(); + +} // PetriNet diff --git a/metamodel/swt.most.petrinet/src-gen/swt/most/petrinet/PetrinetFactory.java b/metamodel/swt.most.petrinet/src-gen/swt/most/petrinet/PetrinetFactory.java new file mode 100644 index 0000000..a646180 --- /dev/null +++ b/metamodel/swt.most.petrinet/src-gen/swt/most/petrinet/PetrinetFactory.java @@ -0,0 +1,87 @@ +/** + */ +package swt.most.petrinet; + +import org.eclipse.emf.ecore.EFactory; + +/** + * <!-- begin-user-doc --> + * The <b>Factory</b> for the model. + * It provides a create method for each non-abstract class of the model. + * <!-- end-user-doc --> + * @see swt.most.petrinet.PetrinetPackage + * @generated + */ +public interface PetrinetFactory extends EFactory { + /** + * The singleton instance of the factory. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + PetrinetFactory eINSTANCE = swt.most.petrinet.impl.PetrinetFactoryImpl.init(); + + /** + * Returns a new object of class '<em>Petri Net</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Petri Net</em>'. + * @generated + */ + PetriNet createPetriNet(); + + /** + * Returns a new object of class '<em>Incoming Arc</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Incoming Arc</em>'. + * @generated + */ + IncomingArc createIncomingArc(); + + /** + * Returns a new object of class '<em>Outgoing Arc</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Outgoing Arc</em>'. + * @generated + */ + OutgoingArc createOutgoingArc(); + + /** + * Returns a new object of class '<em>Place</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Place</em>'. + * @generated + */ + Place createPlace(); + + /** + * Returns a new object of class '<em>Transition</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Transition</em>'. + * @generated + */ + Transition createTransition(); + + /** + * Returns a new object of class '<em>Token</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Token</em>'. + * @generated + */ + Token createToken(); + + /** + * Returns the package supported by this factory. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the package supported by this factory. + * @generated + */ + PetrinetPackage getPetrinetPackage(); + +} //PetrinetFactory diff --git a/metamodel/swt.most.petrinet/src-gen/swt/most/petrinet/PetrinetPackage.java b/metamodel/swt.most.petrinet/src-gen/swt/most/petrinet/PetrinetPackage.java new file mode 100644 index 0000000..adc743e --- /dev/null +++ b/metamodel/swt.most.petrinet/src-gen/swt/most/petrinet/PetrinetPackage.java @@ -0,0 +1,738 @@ +/** + */ +package swt.most.petrinet; + +import org.eclipse.emf.ecore.EAttribute; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EPackage; +import org.eclipse.emf.ecore.EReference; + +/** + * <!-- begin-user-doc --> + * The <b>Package</b> for the model. + * It contains accessors for the meta objects to represent + * <ul> + * <li>each class,</li> + * <li>each feature of each class,</li> + * <li>each operation of each class,</li> + * <li>each enum,</li> + * <li>and each data type</li> + * </ul> + * <!-- end-user-doc --> + * @see swt.most.petrinet.PetrinetFactory + * @model kind="package" + * @generated + */ +public interface PetrinetPackage extends EPackage { + /** + * The package name. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + String eNAME = "petrinet"; + + /** + * The package namespace URI. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + String eNS_URI = "http://www.example.org/petrinet"; + + /** + * The package namespace name. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + String eNS_PREFIX = "petrinet"; + + /** + * The singleton instance of the package. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + PetrinetPackage eINSTANCE = swt.most.petrinet.impl.PetrinetPackageImpl.init(); + + /** + * The meta object id for the '{@link swt.most.petrinet.impl.PetriNetImpl <em>Petri Net</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see swt.most.petrinet.impl.PetriNetImpl + * @see swt.most.petrinet.impl.PetrinetPackageImpl#getPetriNet() + * @generated + */ + int PETRI_NET = 0; + + /** + * The feature id for the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int PETRI_NET__NAME = 0; + + /** + * The feature id for the '<em><b>Arcs</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int PETRI_NET__ARCS = 1; + + /** + * The feature id for the '<em><b>Elements</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int PETRI_NET__ELEMENTS = 2; + + /** + * The number of structural features of the '<em>Petri Net</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int PETRI_NET_FEATURE_COUNT = 3; + + /** + * The number of operations of the '<em>Petri Net</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int PETRI_NET_OPERATION_COUNT = 0; + + /** + * The meta object id for the '{@link swt.most.petrinet.impl.ElementImpl <em>Element</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see swt.most.petrinet.impl.ElementImpl + * @see swt.most.petrinet.impl.PetrinetPackageImpl#getElement() + * @generated + */ + int ELEMENT = 1; + + /** + * The feature id for the '<em><b>Identifier</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int ELEMENT__IDENTIFIER = 0; + + /** + * The number of structural features of the '<em>Element</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int ELEMENT_FEATURE_COUNT = 1; + + /** + * The number of operations of the '<em>Element</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int ELEMENT_OPERATION_COUNT = 0; + + /** + * The meta object id for the '{@link swt.most.petrinet.impl.ArcImpl <em>Arc</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see swt.most.petrinet.impl.ArcImpl + * @see swt.most.petrinet.impl.PetrinetPackageImpl#getArc() + * @generated + */ + int ARC = 2; + + /** + * The number of structural features of the '<em>Arc</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int ARC_FEATURE_COUNT = 0; + + /** + * The number of operations of the '<em>Arc</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int ARC_OPERATION_COUNT = 0; + + /** + * The meta object id for the '{@link swt.most.petrinet.impl.IncomingArcImpl <em>Incoming Arc</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see swt.most.petrinet.impl.IncomingArcImpl + * @see swt.most.petrinet.impl.PetrinetPackageImpl#getIncomingArc() + * @generated + */ + int INCOMING_ARC = 3; + + /** + * The feature id for the '<em><b>Target</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int INCOMING_ARC__TARGET = ARC_FEATURE_COUNT + 0; + + /** + * The feature id for the '<em><b>Source</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int INCOMING_ARC__SOURCE = ARC_FEATURE_COUNT + 1; + + /** + * The number of structural features of the '<em>Incoming Arc</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int INCOMING_ARC_FEATURE_COUNT = ARC_FEATURE_COUNT + 2; + + /** + * The number of operations of the '<em>Incoming Arc</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int INCOMING_ARC_OPERATION_COUNT = ARC_OPERATION_COUNT + 0; + + /** + * The meta object id for the '{@link swt.most.petrinet.impl.OutgoingArcImpl <em>Outgoing Arc</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see swt.most.petrinet.impl.OutgoingArcImpl + * @see swt.most.petrinet.impl.PetrinetPackageImpl#getOutgoingArc() + * @generated + */ + int OUTGOING_ARC = 4; + + /** + * The feature id for the '<em><b>Source</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int OUTGOING_ARC__SOURCE = ARC_FEATURE_COUNT + 0; + + /** + * The feature id for the '<em><b>Target</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int OUTGOING_ARC__TARGET = ARC_FEATURE_COUNT + 1; + + /** + * The number of structural features of the '<em>Outgoing Arc</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int OUTGOING_ARC_FEATURE_COUNT = ARC_FEATURE_COUNT + 2; + + /** + * The number of operations of the '<em>Outgoing Arc</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int OUTGOING_ARC_OPERATION_COUNT = ARC_OPERATION_COUNT + 0; + + /** + * The meta object id for the '{@link swt.most.petrinet.impl.PlaceImpl <em>Place</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see swt.most.petrinet.impl.PlaceImpl + * @see swt.most.petrinet.impl.PetrinetPackageImpl#getPlace() + * @generated + */ + int PLACE = 5; + + /** + * The feature id for the '<em><b>Identifier</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int PLACE__IDENTIFIER = ELEMENT__IDENTIFIER; + + /** + * The feature id for the '<em><b>Token</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int PLACE__TOKEN = ELEMENT_FEATURE_COUNT + 0; + + /** + * The number of structural features of the '<em>Place</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int PLACE_FEATURE_COUNT = ELEMENT_FEATURE_COUNT + 1; + + /** + * The number of operations of the '<em>Place</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int PLACE_OPERATION_COUNT = ELEMENT_OPERATION_COUNT + 0; + + /** + * The meta object id for the '{@link swt.most.petrinet.impl.TransitionImpl <em>Transition</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see swt.most.petrinet.impl.TransitionImpl + * @see swt.most.petrinet.impl.PetrinetPackageImpl#getTransition() + * @generated + */ + int TRANSITION = 6; + + /** + * The feature id for the '<em><b>Identifier</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int TRANSITION__IDENTIFIER = ELEMENT__IDENTIFIER; + + /** + * The number of structural features of the '<em>Transition</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int TRANSITION_FEATURE_COUNT = ELEMENT_FEATURE_COUNT + 0; + + /** + * The number of operations of the '<em>Transition</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int TRANSITION_OPERATION_COUNT = ELEMENT_OPERATION_COUNT + 0; + + /** + * The meta object id for the '{@link swt.most.petrinet.impl.TokenImpl <em>Token</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see swt.most.petrinet.impl.TokenImpl + * @see swt.most.petrinet.impl.PetrinetPackageImpl#getToken() + * @generated + */ + int TOKEN = 7; + + /** + * The number of structural features of the '<em>Token</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int TOKEN_FEATURE_COUNT = 0; + + /** + * The number of operations of the '<em>Token</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int TOKEN_OPERATION_COUNT = 0; + + /** + * Returns the meta object for class '{@link swt.most.petrinet.PetriNet <em>Petri Net</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Petri Net</em>'. + * @see swt.most.petrinet.PetriNet + * @generated + */ + EClass getPetriNet(); + + /** + * Returns the meta object for the attribute '{@link swt.most.petrinet.PetriNet#getName <em>Name</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Name</em>'. + * @see swt.most.petrinet.PetriNet#getName() + * @see #getPetriNet() + * @generated + */ + EAttribute getPetriNet_Name(); + + /** + * Returns the meta object for the containment reference list '{@link swt.most.petrinet.PetriNet#getArcs <em>Arcs</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference list '<em>Arcs</em>'. + * @see swt.most.petrinet.PetriNet#getArcs() + * @see #getPetriNet() + * @generated + */ + EReference getPetriNet_Arcs(); + + /** + * Returns the meta object for the containment reference list '{@link swt.most.petrinet.PetriNet#getElements <em>Elements</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference list '<em>Elements</em>'. + * @see swt.most.petrinet.PetriNet#getElements() + * @see #getPetriNet() + * @generated + */ + EReference getPetriNet_Elements(); + + /** + * Returns the meta object for class '{@link swt.most.petrinet.Element <em>Element</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Element</em>'. + * @see swt.most.petrinet.Element + * @generated + */ + EClass getElement(); + + /** + * Returns the meta object for the attribute '{@link swt.most.petrinet.Element#getIdentifier <em>Identifier</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Identifier</em>'. + * @see swt.most.petrinet.Element#getIdentifier() + * @see #getElement() + * @generated + */ + EAttribute getElement_Identifier(); + + /** + * Returns the meta object for class '{@link swt.most.petrinet.Arc <em>Arc</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Arc</em>'. + * @see swt.most.petrinet.Arc + * @generated + */ + EClass getArc(); + + /** + * Returns the meta object for class '{@link swt.most.petrinet.IncomingArc <em>Incoming Arc</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Incoming Arc</em>'. + * @see swt.most.petrinet.IncomingArc + * @generated + */ + EClass getIncomingArc(); + + /** + * Returns the meta object for the reference '{@link swt.most.petrinet.IncomingArc#getTarget <em>Target</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference '<em>Target</em>'. + * @see swt.most.petrinet.IncomingArc#getTarget() + * @see #getIncomingArc() + * @generated + */ + EReference getIncomingArc_Target(); + + /** + * Returns the meta object for the reference '{@link swt.most.petrinet.IncomingArc#getSource <em>Source</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference '<em>Source</em>'. + * @see swt.most.petrinet.IncomingArc#getSource() + * @see #getIncomingArc() + * @generated + */ + EReference getIncomingArc_Source(); + + /** + * Returns the meta object for class '{@link swt.most.petrinet.OutgoingArc <em>Outgoing Arc</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Outgoing Arc</em>'. + * @see swt.most.petrinet.OutgoingArc + * @generated + */ + EClass getOutgoingArc(); + + /** + * Returns the meta object for the reference '{@link swt.most.petrinet.OutgoingArc#getSource <em>Source</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference '<em>Source</em>'. + * @see swt.most.petrinet.OutgoingArc#getSource() + * @see #getOutgoingArc() + * @generated + */ + EReference getOutgoingArc_Source(); + + /** + * Returns the meta object for the reference '{@link swt.most.petrinet.OutgoingArc#getTarget <em>Target</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference '<em>Target</em>'. + * @see swt.most.petrinet.OutgoingArc#getTarget() + * @see #getOutgoingArc() + * @generated + */ + EReference getOutgoingArc_Target(); + + /** + * Returns the meta object for class '{@link swt.most.petrinet.Place <em>Place</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Place</em>'. + * @see swt.most.petrinet.Place + * @generated + */ + EClass getPlace(); + + /** + * Returns the meta object for the containment reference '{@link swt.most.petrinet.Place#getToken <em>Token</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference '<em>Token</em>'. + * @see swt.most.petrinet.Place#getToken() + * @see #getPlace() + * @generated + */ + EReference getPlace_Token(); + + /** + * Returns the meta object for class '{@link swt.most.petrinet.Transition <em>Transition</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Transition</em>'. + * @see swt.most.petrinet.Transition + * @generated + */ + EClass getTransition(); + + /** + * Returns the meta object for class '{@link swt.most.petrinet.Token <em>Token</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Token</em>'. + * @see swt.most.petrinet.Token + * @generated + */ + EClass getToken(); + + /** + * Returns the factory that creates the instances of the model. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the factory that creates the instances of the model. + * @generated + */ + PetrinetFactory getPetrinetFactory(); + + /** + * <!-- begin-user-doc --> + * Defines literals for the meta objects that represent + * <ul> + * <li>each class,</li> + * <li>each feature of each class,</li> + * <li>each operation of each class,</li> + * <li>each enum,</li> + * <li>and each data type</li> + * </ul> + * <!-- end-user-doc --> + * @generated + */ + interface Literals { + /** + * The meta object literal for the '{@link swt.most.petrinet.impl.PetriNetImpl <em>Petri Net</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see swt.most.petrinet.impl.PetriNetImpl + * @see swt.most.petrinet.impl.PetrinetPackageImpl#getPetriNet() + * @generated + */ + EClass PETRI_NET = eINSTANCE.getPetriNet(); + + /** + * The meta object literal for the '<em><b>Name</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute PETRI_NET__NAME = eINSTANCE.getPetriNet_Name(); + + /** + * The meta object literal for the '<em><b>Arcs</b></em>' containment reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference PETRI_NET__ARCS = eINSTANCE.getPetriNet_Arcs(); + + /** + * The meta object literal for the '<em><b>Elements</b></em>' containment reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference PETRI_NET__ELEMENTS = eINSTANCE.getPetriNet_Elements(); + + /** + * The meta object literal for the '{@link swt.most.petrinet.impl.ElementImpl <em>Element</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see swt.most.petrinet.impl.ElementImpl + * @see swt.most.petrinet.impl.PetrinetPackageImpl#getElement() + * @generated + */ + EClass ELEMENT = eINSTANCE.getElement(); + + /** + * The meta object literal for the '<em><b>Identifier</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute ELEMENT__IDENTIFIER = eINSTANCE.getElement_Identifier(); + + /** + * The meta object literal for the '{@link swt.most.petrinet.impl.ArcImpl <em>Arc</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see swt.most.petrinet.impl.ArcImpl + * @see swt.most.petrinet.impl.PetrinetPackageImpl#getArc() + * @generated + */ + EClass ARC = eINSTANCE.getArc(); + + /** + * The meta object literal for the '{@link swt.most.petrinet.impl.IncomingArcImpl <em>Incoming Arc</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see swt.most.petrinet.impl.IncomingArcImpl + * @see swt.most.petrinet.impl.PetrinetPackageImpl#getIncomingArc() + * @generated + */ + EClass INCOMING_ARC = eINSTANCE.getIncomingArc(); + + /** + * The meta object literal for the '<em><b>Target</b></em>' reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference INCOMING_ARC__TARGET = eINSTANCE.getIncomingArc_Target(); + + /** + * The meta object literal for the '<em><b>Source</b></em>' reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference INCOMING_ARC__SOURCE = eINSTANCE.getIncomingArc_Source(); + + /** + * The meta object literal for the '{@link swt.most.petrinet.impl.OutgoingArcImpl <em>Outgoing Arc</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see swt.most.petrinet.impl.OutgoingArcImpl + * @see swt.most.petrinet.impl.PetrinetPackageImpl#getOutgoingArc() + * @generated + */ + EClass OUTGOING_ARC = eINSTANCE.getOutgoingArc(); + + /** + * The meta object literal for the '<em><b>Source</b></em>' reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference OUTGOING_ARC__SOURCE = eINSTANCE.getOutgoingArc_Source(); + + /** + * The meta object literal for the '<em><b>Target</b></em>' reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference OUTGOING_ARC__TARGET = eINSTANCE.getOutgoingArc_Target(); + + /** + * The meta object literal for the '{@link swt.most.petrinet.impl.PlaceImpl <em>Place</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see swt.most.petrinet.impl.PlaceImpl + * @see swt.most.petrinet.impl.PetrinetPackageImpl#getPlace() + * @generated + */ + EClass PLACE = eINSTANCE.getPlace(); + + /** + * The meta object literal for the '<em><b>Token</b></em>' containment reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference PLACE__TOKEN = eINSTANCE.getPlace_Token(); + + /** + * The meta object literal for the '{@link swt.most.petrinet.impl.TransitionImpl <em>Transition</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see swt.most.petrinet.impl.TransitionImpl + * @see swt.most.petrinet.impl.PetrinetPackageImpl#getTransition() + * @generated + */ + EClass TRANSITION = eINSTANCE.getTransition(); + + /** + * The meta object literal for the '{@link swt.most.petrinet.impl.TokenImpl <em>Token</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see swt.most.petrinet.impl.TokenImpl + * @see swt.most.petrinet.impl.PetrinetPackageImpl#getToken() + * @generated + */ + EClass TOKEN = eINSTANCE.getToken(); + + } + +} //PetrinetPackage diff --git a/metamodel/swt.most.petrinet/src-gen/swt/most/petrinet/Place.java b/metamodel/swt.most.petrinet/src-gen/swt/most/petrinet/Place.java new file mode 100644 index 0000000..64b3486 --- /dev/null +++ b/metamodel/swt.most.petrinet/src-gen/swt/most/petrinet/Place.java @@ -0,0 +1,44 @@ +/** + */ +package swt.most.petrinet; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Place</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * </p> + * <ul> + * <li>{@link swt.most.petrinet.Place#getToken <em>Token</em>}</li> + * </ul> + * + * @see swt.most.petrinet.PetrinetPackage#getPlace() + * @model + * @generated + */ +public interface Place extends Element { + /** + * Returns the value of the '<em><b>Token</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the value of the '<em>Token</em>' containment reference. + * @see #setToken(Token) + * @see swt.most.petrinet.PetrinetPackage#getPlace_Token() + * @model containment="true" + * @generated + */ + Token getToken(); + + /** + * Sets the value of the '{@link swt.most.petrinet.Place#getToken <em>Token</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Token</em>' containment reference. + * @see #getToken() + * @generated + */ + void setToken(Token value); + +} // Place diff --git a/metamodel/swt.most.petrinet/src-gen/swt/most/petrinet/Token.java b/metamodel/swt.most.petrinet/src-gen/swt/most/petrinet/Token.java new file mode 100644 index 0000000..f7e9e60 --- /dev/null +++ b/metamodel/swt.most.petrinet/src-gen/swt/most/petrinet/Token.java @@ -0,0 +1,18 @@ +/** + */ +package swt.most.petrinet; + +import org.eclipse.emf.ecore.EObject; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Token</b></em>'. + * <!-- end-user-doc --> + * + * + * @see swt.most.petrinet.PetrinetPackage#getToken() + * @model + * @generated + */ +public interface Token extends EObject { +} // Token diff --git a/metamodel/swt.most.petrinet/src-gen/swt/most/petrinet/Transition.java b/metamodel/swt.most.petrinet/src-gen/swt/most/petrinet/Transition.java new file mode 100644 index 0000000..1205c20 --- /dev/null +++ b/metamodel/swt.most.petrinet/src-gen/swt/most/petrinet/Transition.java @@ -0,0 +1,16 @@ +/** + */ +package swt.most.petrinet; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Transition</b></em>'. + * <!-- end-user-doc --> + * + * + * @see swt.most.petrinet.PetrinetPackage#getTransition() + * @model + * @generated + */ +public interface Transition extends Element { +} // Transition diff --git a/metamodel/swt.most.petrinet/src-gen/swt/most/petrinet/impl/ArcImpl.java b/metamodel/swt.most.petrinet/src-gen/swt/most/petrinet/impl/ArcImpl.java new file mode 100644 index 0000000..2165962 --- /dev/null +++ b/metamodel/swt.most.petrinet/src-gen/swt/most/petrinet/impl/ArcImpl.java @@ -0,0 +1,39 @@ +/** + */ +package swt.most.petrinet.impl; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +import swt.most.petrinet.Arc; +import swt.most.petrinet.PetrinetPackage; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Arc</b></em>'. + * <!-- end-user-doc --> + * + * @generated + */ +public abstract class ArcImpl extends MinimalEObjectImpl.Container implements Arc { + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ArcImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() { + return PetrinetPackage.Literals.ARC; + } + +} //ArcImpl diff --git a/metamodel/swt.most.petrinet/src-gen/swt/most/petrinet/impl/ElementImpl.java b/metamodel/swt.most.petrinet/src-gen/swt/most/petrinet/impl/ElementImpl.java new file mode 100644 index 0000000..d7c7616 --- /dev/null +++ b/metamodel/swt.most.petrinet/src-gen/swt/most/petrinet/impl/ElementImpl.java @@ -0,0 +1,165 @@ +/** + */ +package swt.most.petrinet.impl; + +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +import swt.most.petrinet.Element; +import swt.most.petrinet.PetrinetPackage; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Element</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * </p> + * <ul> + * <li>{@link swt.most.petrinet.impl.ElementImpl#getIdentifier <em>Identifier</em>}</li> + * </ul> + * + * @generated + */ +public abstract class ElementImpl extends MinimalEObjectImpl.Container implements Element { + /** + * The default value of the '{@link #getIdentifier() <em>Identifier</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getIdentifier() + * @generated + * @ordered + */ + protected static final String IDENTIFIER_EDEFAULT = null; + + /** + * The cached value of the '{@link #getIdentifier() <em>Identifier</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getIdentifier() + * @generated + * @ordered + */ + protected String identifier = IDENTIFIER_EDEFAULT; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ElementImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() { + return PetrinetPackage.Literals.ELEMENT; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getIdentifier() { + return identifier; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setIdentifier(String newIdentifier) { + String oldIdentifier = identifier; + identifier = newIdentifier; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, PetrinetPackage.ELEMENT__IDENTIFIER, oldIdentifier, + identifier)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case PetrinetPackage.ELEMENT__IDENTIFIER: + return getIdentifier(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case PetrinetPackage.ELEMENT__IDENTIFIER: + setIdentifier((String) newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case PetrinetPackage.ELEMENT__IDENTIFIER: + setIdentifier(IDENTIFIER_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case PetrinetPackage.ELEMENT__IDENTIFIER: + return IDENTIFIER_EDEFAULT == null ? identifier != null : !IDENTIFIER_EDEFAULT.equals(identifier); + } + return super.eIsSet(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String toString() { + if (eIsProxy()) + return super.toString(); + + StringBuilder result = new StringBuilder(super.toString()); + result.append(" (identifier: "); + result.append(identifier); + result.append(')'); + return result.toString(); + } + +} //ElementImpl diff --git a/metamodel/swt.most.petrinet/src-gen/swt/most/petrinet/impl/IncomingArcImpl.java b/metamodel/swt.most.petrinet/src-gen/swt/most/petrinet/impl/IncomingArcImpl.java new file mode 100644 index 0000000..29c436d --- /dev/null +++ b/metamodel/swt.most.petrinet/src-gen/swt/most/petrinet/impl/IncomingArcImpl.java @@ -0,0 +1,223 @@ +/** + */ +package swt.most.petrinet.impl; + +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +import swt.most.petrinet.IncomingArc; +import swt.most.petrinet.PetrinetPackage; +import swt.most.petrinet.Place; +import swt.most.petrinet.Transition; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Incoming Arc</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * </p> + * <ul> + * <li>{@link swt.most.petrinet.impl.IncomingArcImpl#getTarget <em>Target</em>}</li> + * <li>{@link swt.most.petrinet.impl.IncomingArcImpl#getSource <em>Source</em>}</li> + * </ul> + * + * @generated + */ +public class IncomingArcImpl extends ArcImpl implements IncomingArc { + /** + * The cached value of the '{@link #getTarget() <em>Target</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getTarget() + * @generated + * @ordered + */ + protected Transition target; + + /** + * The cached value of the '{@link #getSource() <em>Source</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getSource() + * @generated + * @ordered + */ + protected Place source; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected IncomingArcImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() { + return PetrinetPackage.Literals.INCOMING_ARC; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Transition getTarget() { + if (target != null && target.eIsProxy()) { + InternalEObject oldTarget = (InternalEObject) target; + target = (Transition) eResolveProxy(oldTarget); + if (target != oldTarget) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, PetrinetPackage.INCOMING_ARC__TARGET, + oldTarget, target)); + } + } + return target; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Transition basicGetTarget() { + return target; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setTarget(Transition newTarget) { + Transition oldTarget = target; + target = newTarget; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, PetrinetPackage.INCOMING_ARC__TARGET, oldTarget, + target)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Place getSource() { + if (source != null && source.eIsProxy()) { + InternalEObject oldSource = (InternalEObject) source; + source = (Place) eResolveProxy(oldSource); + if (source != oldSource) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, PetrinetPackage.INCOMING_ARC__SOURCE, + oldSource, source)); + } + } + return source; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Place basicGetSource() { + return source; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setSource(Place newSource) { + Place oldSource = source; + source = newSource; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, PetrinetPackage.INCOMING_ARC__SOURCE, oldSource, + source)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case PetrinetPackage.INCOMING_ARC__TARGET: + if (resolve) + return getTarget(); + return basicGetTarget(); + case PetrinetPackage.INCOMING_ARC__SOURCE: + if (resolve) + return getSource(); + return basicGetSource(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case PetrinetPackage.INCOMING_ARC__TARGET: + setTarget((Transition) newValue); + return; + case PetrinetPackage.INCOMING_ARC__SOURCE: + setSource((Place) newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case PetrinetPackage.INCOMING_ARC__TARGET: + setTarget((Transition) null); + return; + case PetrinetPackage.INCOMING_ARC__SOURCE: + setSource((Place) null); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case PetrinetPackage.INCOMING_ARC__TARGET: + return target != null; + case PetrinetPackage.INCOMING_ARC__SOURCE: + return source != null; + } + return super.eIsSet(featureID); + } + +} //IncomingArcImpl diff --git a/metamodel/swt.most.petrinet/src-gen/swt/most/petrinet/impl/OutgoingArcImpl.java b/metamodel/swt.most.petrinet/src-gen/swt/most/petrinet/impl/OutgoingArcImpl.java new file mode 100644 index 0000000..af9f6eb --- /dev/null +++ b/metamodel/swt.most.petrinet/src-gen/swt/most/petrinet/impl/OutgoingArcImpl.java @@ -0,0 +1,223 @@ +/** + */ +package swt.most.petrinet.impl; + +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +import swt.most.petrinet.OutgoingArc; +import swt.most.petrinet.PetrinetPackage; +import swt.most.petrinet.Place; +import swt.most.petrinet.Transition; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Outgoing Arc</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * </p> + * <ul> + * <li>{@link swt.most.petrinet.impl.OutgoingArcImpl#getSource <em>Source</em>}</li> + * <li>{@link swt.most.petrinet.impl.OutgoingArcImpl#getTarget <em>Target</em>}</li> + * </ul> + * + * @generated + */ +public class OutgoingArcImpl extends ArcImpl implements OutgoingArc { + /** + * The cached value of the '{@link #getSource() <em>Source</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getSource() + * @generated + * @ordered + */ + protected Transition source; + + /** + * The cached value of the '{@link #getTarget() <em>Target</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getTarget() + * @generated + * @ordered + */ + protected Place target; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected OutgoingArcImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() { + return PetrinetPackage.Literals.OUTGOING_ARC; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Transition getSource() { + if (source != null && source.eIsProxy()) { + InternalEObject oldSource = (InternalEObject) source; + source = (Transition) eResolveProxy(oldSource); + if (source != oldSource) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, PetrinetPackage.OUTGOING_ARC__SOURCE, + oldSource, source)); + } + } + return source; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Transition basicGetSource() { + return source; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setSource(Transition newSource) { + Transition oldSource = source; + source = newSource; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, PetrinetPackage.OUTGOING_ARC__SOURCE, oldSource, + source)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Place getTarget() { + if (target != null && target.eIsProxy()) { + InternalEObject oldTarget = (InternalEObject) target; + target = (Place) eResolveProxy(oldTarget); + if (target != oldTarget) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, PetrinetPackage.OUTGOING_ARC__TARGET, + oldTarget, target)); + } + } + return target; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Place basicGetTarget() { + return target; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setTarget(Place newTarget) { + Place oldTarget = target; + target = newTarget; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, PetrinetPackage.OUTGOING_ARC__TARGET, oldTarget, + target)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case PetrinetPackage.OUTGOING_ARC__SOURCE: + if (resolve) + return getSource(); + return basicGetSource(); + case PetrinetPackage.OUTGOING_ARC__TARGET: + if (resolve) + return getTarget(); + return basicGetTarget(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case PetrinetPackage.OUTGOING_ARC__SOURCE: + setSource((Transition) newValue); + return; + case PetrinetPackage.OUTGOING_ARC__TARGET: + setTarget((Place) newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case PetrinetPackage.OUTGOING_ARC__SOURCE: + setSource((Transition) null); + return; + case PetrinetPackage.OUTGOING_ARC__TARGET: + setTarget((Place) null); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case PetrinetPackage.OUTGOING_ARC__SOURCE: + return source != null; + case PetrinetPackage.OUTGOING_ARC__TARGET: + return target != null; + } + return super.eIsSet(featureID); + } + +} //OutgoingArcImpl diff --git a/metamodel/swt.most.petrinet/src-gen/swt/most/petrinet/impl/PetriNetImpl.java b/metamodel/swt.most.petrinet/src-gen/swt/most/petrinet/impl/PetriNetImpl.java new file mode 100644 index 0000000..9ac5a18 --- /dev/null +++ b/metamodel/swt.most.petrinet/src-gen/swt/most/petrinet/impl/PetriNetImpl.java @@ -0,0 +1,260 @@ +/** + */ +package swt.most.petrinet.impl; + +import java.util.Collection; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +import org.eclipse.emf.ecore.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.InternalEList; + +import swt.most.petrinet.Arc; +import swt.most.petrinet.Element; +import swt.most.petrinet.PetriNet; +import swt.most.petrinet.PetrinetPackage; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Petri Net</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * </p> + * <ul> + * <li>{@link swt.most.petrinet.impl.PetriNetImpl#getName <em>Name</em>}</li> + * <li>{@link swt.most.petrinet.impl.PetriNetImpl#getArcs <em>Arcs</em>}</li> + * <li>{@link swt.most.petrinet.impl.PetriNetImpl#getElements <em>Elements</em>}</li> + * </ul> + * + * @generated + */ +public class PetriNetImpl extends MinimalEObjectImpl.Container implements PetriNet { + /** + * The default value of the '{@link #getName() <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getName() + * @generated + * @ordered + */ + protected static final String NAME_EDEFAULT = null; + + /** + * The cached value of the '{@link #getName() <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getName() + * @generated + * @ordered + */ + protected String name = NAME_EDEFAULT; + + /** + * The cached value of the '{@link #getArcs() <em>Arcs</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getArcs() + * @generated + * @ordered + */ + protected EList<Arc> arcs; + + /** + * The cached value of the '{@link #getElements() <em>Elements</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getElements() + * @generated + * @ordered + */ + protected EList<Element> elements; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected PetriNetImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() { + return PetrinetPackage.Literals.PETRI_NET; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getName() { + return name; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setName(String newName) { + String oldName = name; + name = newName; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, PetrinetPackage.PETRI_NET__NAME, oldName, name)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EList<Arc> getArcs() { + if (arcs == null) { + arcs = new EObjectContainmentEList<Arc>(Arc.class, this, PetrinetPackage.PETRI_NET__ARCS); + } + return arcs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EList<Element> getElements() { + if (elements == null) { + elements = new EObjectContainmentEList<Element>(Element.class, this, PetrinetPackage.PETRI_NET__ELEMENTS); + } + return elements; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case PetrinetPackage.PETRI_NET__ARCS: + return ((InternalEList<?>) getArcs()).basicRemove(otherEnd, msgs); + case PetrinetPackage.PETRI_NET__ELEMENTS: + return ((InternalEList<?>) getElements()).basicRemove(otherEnd, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case PetrinetPackage.PETRI_NET__NAME: + return getName(); + case PetrinetPackage.PETRI_NET__ARCS: + return getArcs(); + case PetrinetPackage.PETRI_NET__ELEMENTS: + return getElements(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case PetrinetPackage.PETRI_NET__NAME: + setName((String) newValue); + return; + case PetrinetPackage.PETRI_NET__ARCS: + getArcs().clear(); + getArcs().addAll((Collection<? extends Arc>) newValue); + return; + case PetrinetPackage.PETRI_NET__ELEMENTS: + getElements().clear(); + getElements().addAll((Collection<? extends Element>) newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case PetrinetPackage.PETRI_NET__NAME: + setName(NAME_EDEFAULT); + return; + case PetrinetPackage.PETRI_NET__ARCS: + getArcs().clear(); + return; + case PetrinetPackage.PETRI_NET__ELEMENTS: + getElements().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case PetrinetPackage.PETRI_NET__NAME: + return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); + case PetrinetPackage.PETRI_NET__ARCS: + return arcs != null && !arcs.isEmpty(); + case PetrinetPackage.PETRI_NET__ELEMENTS: + return elements != null && !elements.isEmpty(); + } + return super.eIsSet(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String toString() { + if (eIsProxy()) + return super.toString(); + + StringBuilder result = new StringBuilder(super.toString()); + result.append(" (name: "); + result.append(name); + result.append(')'); + return result.toString(); + } + +} //PetriNetImpl diff --git a/metamodel/swt.most.petrinet/src-gen/swt/most/petrinet/impl/PetrinetFactoryImpl.java b/metamodel/swt.most.petrinet/src-gen/swt/most/petrinet/impl/PetrinetFactoryImpl.java new file mode 100644 index 0000000..1e19c1d --- /dev/null +++ b/metamodel/swt.most.petrinet/src-gen/swt/most/petrinet/impl/PetrinetFactoryImpl.java @@ -0,0 +1,156 @@ +/** + */ +package swt.most.petrinet.impl; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.EPackage; + +import org.eclipse.emf.ecore.impl.EFactoryImpl; + +import org.eclipse.emf.ecore.plugin.EcorePlugin; + +import swt.most.petrinet.*; + +/** + * <!-- begin-user-doc --> + * An implementation of the model <b>Factory</b>. + * <!-- end-user-doc --> + * @generated + */ +public class PetrinetFactoryImpl extends EFactoryImpl implements PetrinetFactory { + /** + * Creates the default factory implementation. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static PetrinetFactory init() { + try { + PetrinetFactory thePetrinetFactory = (PetrinetFactory) EPackage.Registry.INSTANCE + .getEFactory(PetrinetPackage.eNS_URI); + if (thePetrinetFactory != null) { + return thePetrinetFactory; + } + } catch (Exception exception) { + EcorePlugin.INSTANCE.log(exception); + } + return new PetrinetFactoryImpl(); + } + + /** + * Creates an instance of the factory. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public PetrinetFactoryImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EObject create(EClass eClass) { + switch (eClass.getClassifierID()) { + case PetrinetPackage.PETRI_NET: + return createPetriNet(); + case PetrinetPackage.INCOMING_ARC: + return createIncomingArc(); + case PetrinetPackage.OUTGOING_ARC: + return createOutgoingArc(); + case PetrinetPackage.PLACE: + return createPlace(); + case PetrinetPackage.TRANSITION: + return createTransition(); + case PetrinetPackage.TOKEN: + return createToken(); + default: + throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public PetriNet createPetriNet() { + PetriNetImpl petriNet = new PetriNetImpl(); + return petriNet; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public IncomingArc createIncomingArc() { + IncomingArcImpl incomingArc = new IncomingArcImpl(); + return incomingArc; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public OutgoingArc createOutgoingArc() { + OutgoingArcImpl outgoingArc = new OutgoingArcImpl(); + return outgoingArc; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Place createPlace() { + PlaceImpl place = new PlaceImpl(); + return place; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Transition createTransition() { + TransitionImpl transition = new TransitionImpl(); + return transition; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Token createToken() { + TokenImpl token = new TokenImpl(); + return token; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public PetrinetPackage getPetrinetPackage() { + return (PetrinetPackage) getEPackage(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @deprecated + * @generated + */ + @Deprecated + public static PetrinetPackage getPackage() { + return PetrinetPackage.eINSTANCE; + } + +} //PetrinetFactoryImpl diff --git a/metamodel/swt.most.petrinet/src-gen/swt/most/petrinet/impl/PetrinetPackageImpl.java b/metamodel/swt.most.petrinet/src-gen/swt/most/petrinet/impl/PetrinetPackageImpl.java new file mode 100644 index 0000000..eac5512 --- /dev/null +++ b/metamodel/swt.most.petrinet/src-gen/swt/most/petrinet/impl/PetrinetPackageImpl.java @@ -0,0 +1,442 @@ +/** + */ +package swt.most.petrinet.impl; + +import org.eclipse.emf.ecore.EAttribute; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EPackage; +import org.eclipse.emf.ecore.EReference; + +import org.eclipse.emf.ecore.impl.EPackageImpl; + +import swt.most.petrinet.Arc; +import swt.most.petrinet.Element; +import swt.most.petrinet.IncomingArc; +import swt.most.petrinet.OutgoingArc; +import swt.most.petrinet.PetriNet; +import swt.most.petrinet.PetrinetFactory; +import swt.most.petrinet.PetrinetPackage; +import swt.most.petrinet.Place; +import swt.most.petrinet.Token; +import swt.most.petrinet.Transition; + +/** + * <!-- begin-user-doc --> + * An implementation of the model <b>Package</b>. + * <!-- end-user-doc --> + * @generated + */ +public class PetrinetPackageImpl extends EPackageImpl implements PetrinetPackage { + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass petriNetEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass elementEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass arcEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass incomingArcEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass outgoingArcEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass placeEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass transitionEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass tokenEClass = null; + + /** + * Creates an instance of the model <b>Package</b>, registered with + * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package + * package URI value. + * <p>Note: the correct way to create the package is via the static + * factory method {@link #init init()}, which also performs + * initialization of the package, or returns the registered package, + * if one already exists. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.ecore.EPackage.Registry + * @see swt.most.petrinet.PetrinetPackage#eNS_URI + * @see #init() + * @generated + */ + private PetrinetPackageImpl() { + super(eNS_URI, PetrinetFactory.eINSTANCE); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private static boolean isInited = false; + + /** + * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends. + * + * <p>This method is used to initialize {@link PetrinetPackage#eINSTANCE} when that field is accessed. + * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #eNS_URI + * @see #createPackageContents() + * @see #initializePackageContents() + * @generated + */ + public static PetrinetPackage init() { + if (isInited) + return (PetrinetPackage) EPackage.Registry.INSTANCE.getEPackage(PetrinetPackage.eNS_URI); + + // Obtain or create and register package + Object registeredPetrinetPackage = EPackage.Registry.INSTANCE.get(eNS_URI); + PetrinetPackageImpl thePetrinetPackage = registeredPetrinetPackage instanceof PetrinetPackageImpl + ? (PetrinetPackageImpl) registeredPetrinetPackage + : new PetrinetPackageImpl(); + + isInited = true; + + // Create package meta-data objects + thePetrinetPackage.createPackageContents(); + + // Initialize created meta-data + thePetrinetPackage.initializePackageContents(); + + // Mark meta-data to indicate it can't be changed + thePetrinetPackage.freeze(); + + // Update the registry and return the package + EPackage.Registry.INSTANCE.put(PetrinetPackage.eNS_URI, thePetrinetPackage); + return thePetrinetPackage; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getPetriNet() { + return petriNetEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getPetriNet_Name() { + return (EAttribute) petriNetEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getPetriNet_Arcs() { + return (EReference) petriNetEClass.getEStructuralFeatures().get(1); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getPetriNet_Elements() { + return (EReference) petriNetEClass.getEStructuralFeatures().get(2); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getElement() { + return elementEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getElement_Identifier() { + return (EAttribute) elementEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getArc() { + return arcEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getIncomingArc() { + return incomingArcEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getIncomingArc_Target() { + return (EReference) incomingArcEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getIncomingArc_Source() { + return (EReference) incomingArcEClass.getEStructuralFeatures().get(1); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getOutgoingArc() { + return outgoingArcEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getOutgoingArc_Source() { + return (EReference) outgoingArcEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getOutgoingArc_Target() { + return (EReference) outgoingArcEClass.getEStructuralFeatures().get(1); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getPlace() { + return placeEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getPlace_Token() { + return (EReference) placeEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getTransition() { + return transitionEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getToken() { + return tokenEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public PetrinetFactory getPetrinetFactory() { + return (PetrinetFactory) getEFactoryInstance(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private boolean isCreated = false; + + /** + * Creates the meta-model objects for the package. This method is + * guarded to have no affect on any invocation but its first. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void createPackageContents() { + if (isCreated) + return; + isCreated = true; + + // Create classes and their features + petriNetEClass = createEClass(PETRI_NET); + createEAttribute(petriNetEClass, PETRI_NET__NAME); + createEReference(petriNetEClass, PETRI_NET__ARCS); + createEReference(petriNetEClass, PETRI_NET__ELEMENTS); + + elementEClass = createEClass(ELEMENT); + createEAttribute(elementEClass, ELEMENT__IDENTIFIER); + + arcEClass = createEClass(ARC); + + incomingArcEClass = createEClass(INCOMING_ARC); + createEReference(incomingArcEClass, INCOMING_ARC__TARGET); + createEReference(incomingArcEClass, INCOMING_ARC__SOURCE); + + outgoingArcEClass = createEClass(OUTGOING_ARC); + createEReference(outgoingArcEClass, OUTGOING_ARC__SOURCE); + createEReference(outgoingArcEClass, OUTGOING_ARC__TARGET); + + placeEClass = createEClass(PLACE); + createEReference(placeEClass, PLACE__TOKEN); + + transitionEClass = createEClass(TRANSITION); + + tokenEClass = createEClass(TOKEN); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private boolean isInitialized = false; + + /** + * Complete the initialization of the package and its meta-model. This + * method is guarded to have no affect on any invocation but its first. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void initializePackageContents() { + if (isInitialized) + return; + isInitialized = true; + + // Initialize package + setName(eNAME); + setNsPrefix(eNS_PREFIX); + setNsURI(eNS_URI); + + // Create type parameters + + // Set bounds for type parameters + + // Add supertypes to classes + incomingArcEClass.getESuperTypes().add(this.getArc()); + outgoingArcEClass.getESuperTypes().add(this.getArc()); + placeEClass.getESuperTypes().add(this.getElement()); + transitionEClass.getESuperTypes().add(this.getElement()); + + // Initialize classes, features, and operations; add parameters + initEClass(petriNetEClass, PetriNet.class, "PetriNet", !IS_ABSTRACT, !IS_INTERFACE, + IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getPetriNet_Name(), ecorePackage.getEString(), "name", null, 0, 1, PetriNet.class, !IS_TRANSIENT, + !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getPetriNet_Arcs(), this.getArc(), null, "arcs", null, 0, -1, PetriNet.class, !IS_TRANSIENT, + !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, + IS_ORDERED); + initEReference(getPetriNet_Elements(), this.getElement(), null, "elements", null, 0, -1, PetriNet.class, + !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, + IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(elementEClass, Element.class, "Element", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getElement_Identifier(), ecorePackage.getEString(), "identifier", null, 0, 1, Element.class, + !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(arcEClass, Arc.class, "Arc", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(incomingArcEClass, IncomingArc.class, "IncomingArc", !IS_ABSTRACT, !IS_INTERFACE, + IS_GENERATED_INSTANCE_CLASS); + initEReference(getIncomingArc_Target(), this.getTransition(), null, "target", null, 1, 1, IncomingArc.class, + !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, + IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getIncomingArc_Source(), this.getPlace(), null, "source", null, 1, 1, IncomingArc.class, + !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, + IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(outgoingArcEClass, OutgoingArc.class, "OutgoingArc", !IS_ABSTRACT, !IS_INTERFACE, + IS_GENERATED_INSTANCE_CLASS); + initEReference(getOutgoingArc_Source(), this.getTransition(), null, "source", null, 1, 1, OutgoingArc.class, + !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, + IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getOutgoingArc_Target(), this.getPlace(), null, "target", null, 1, 1, OutgoingArc.class, + !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, + IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(placeEClass, Place.class, "Place", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getPlace_Token(), this.getToken(), null, "token", null, 0, 1, Place.class, !IS_TRANSIENT, + !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, + IS_ORDERED); + + initEClass(transitionEClass, Transition.class, "Transition", !IS_ABSTRACT, !IS_INTERFACE, + IS_GENERATED_INSTANCE_CLASS); + + initEClass(tokenEClass, Token.class, "Token", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + // Create resource + createResource(eNS_URI); + } + +} //PetrinetPackageImpl diff --git a/metamodel/swt.most.petrinet/src-gen/swt/most/petrinet/impl/PlaceImpl.java b/metamodel/swt.most.petrinet/src-gen/swt/most/petrinet/impl/PlaceImpl.java new file mode 100644 index 0000000..91e90ac --- /dev/null +++ b/metamodel/swt.most.petrinet/src-gen/swt/most/petrinet/impl/PlaceImpl.java @@ -0,0 +1,181 @@ +/** + */ +package swt.most.petrinet.impl; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +import swt.most.petrinet.PetrinetPackage; +import swt.most.petrinet.Place; +import swt.most.petrinet.Token; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Place</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * </p> + * <ul> + * <li>{@link swt.most.petrinet.impl.PlaceImpl#getToken <em>Token</em>}</li> + * </ul> + * + * @generated + */ +public class PlaceImpl extends ElementImpl implements Place { + /** + * The cached value of the '{@link #getToken() <em>Token</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getToken() + * @generated + * @ordered + */ + protected Token token; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected PlaceImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() { + return PetrinetPackage.Literals.PLACE; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Token getToken() { + return token; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetToken(Token newToken, NotificationChain msgs) { + Token oldToken = token; + token = newToken; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, PetrinetPackage.PLACE__TOKEN, + oldToken, newToken); + if (msgs == null) + msgs = notification; + else + msgs.add(notification); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setToken(Token newToken) { + if (newToken != token) { + NotificationChain msgs = null; + if (token != null) + msgs = ((InternalEObject) token).eInverseRemove(this, + EOPPOSITE_FEATURE_BASE - PetrinetPackage.PLACE__TOKEN, null, msgs); + if (newToken != null) + msgs = ((InternalEObject) newToken).eInverseAdd(this, + EOPPOSITE_FEATURE_BASE - PetrinetPackage.PLACE__TOKEN, null, msgs); + msgs = basicSetToken(newToken, msgs); + if (msgs != null) + msgs.dispatch(); + } else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, PetrinetPackage.PLACE__TOKEN, newToken, newToken)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case PetrinetPackage.PLACE__TOKEN: + return basicSetToken(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case PetrinetPackage.PLACE__TOKEN: + return getToken(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case PetrinetPackage.PLACE__TOKEN: + setToken((Token) newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case PetrinetPackage.PLACE__TOKEN: + setToken((Token) null); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case PetrinetPackage.PLACE__TOKEN: + return token != null; + } + return super.eIsSet(featureID); + } + +} //PlaceImpl diff --git a/metamodel/swt.most.petrinet/src-gen/swt/most/petrinet/impl/TokenImpl.java b/metamodel/swt.most.petrinet/src-gen/swt/most/petrinet/impl/TokenImpl.java new file mode 100644 index 0000000..ae4d34a --- /dev/null +++ b/metamodel/swt.most.petrinet/src-gen/swt/most/petrinet/impl/TokenImpl.java @@ -0,0 +1,39 @@ +/** + */ +package swt.most.petrinet.impl; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +import swt.most.petrinet.PetrinetPackage; +import swt.most.petrinet.Token; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Token</b></em>'. + * <!-- end-user-doc --> + * + * @generated + */ +public class TokenImpl extends MinimalEObjectImpl.Container implements Token { + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected TokenImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() { + return PetrinetPackage.Literals.TOKEN; + } + +} //TokenImpl diff --git a/metamodel/swt.most.petrinet/src-gen/swt/most/petrinet/impl/TransitionImpl.java b/metamodel/swt.most.petrinet/src-gen/swt/most/petrinet/impl/TransitionImpl.java new file mode 100644 index 0000000..2d206c2 --- /dev/null +++ b/metamodel/swt.most.petrinet/src-gen/swt/most/petrinet/impl/TransitionImpl.java @@ -0,0 +1,37 @@ +/** + */ +package swt.most.petrinet.impl; + +import org.eclipse.emf.ecore.EClass; + +import swt.most.petrinet.PetrinetPackage; +import swt.most.petrinet.Transition; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Transition</b></em>'. + * <!-- end-user-doc --> + * + * @generated + */ +public class TransitionImpl extends ElementImpl implements Transition { + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected TransitionImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() { + return PetrinetPackage.Literals.TRANSITION; + } + +} //TransitionImpl diff --git a/metamodel/swt.most.petrinet/src-gen/swt/most/petrinet/util/PetrinetAdapterFactory.java b/metamodel/swt.most.petrinet/src-gen/swt/most/petrinet/util/PetrinetAdapterFactory.java new file mode 100644 index 0000000..381c618 --- /dev/null +++ b/metamodel/swt.most.petrinet/src-gen/swt/most/petrinet/util/PetrinetAdapterFactory.java @@ -0,0 +1,252 @@ +/** + */ +package swt.most.petrinet.util; + +import org.eclipse.emf.common.notify.Adapter; +import org.eclipse.emf.common.notify.Notifier; + +import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl; + +import org.eclipse.emf.ecore.EObject; + +import swt.most.petrinet.*; + +/** + * <!-- begin-user-doc --> + * The <b>Adapter Factory</b> for the model. + * It provides an adapter <code>createXXX</code> method for each class of the model. + * <!-- end-user-doc --> + * @see swt.most.petrinet.PetrinetPackage + * @generated + */ +public class PetrinetAdapterFactory extends AdapterFactoryImpl { + /** + * The cached model package. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected static PetrinetPackage modelPackage; + + /** + * Creates an instance of the adapter factory. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public PetrinetAdapterFactory() { + if (modelPackage == null) { + modelPackage = PetrinetPackage.eINSTANCE; + } + } + + /** + * Returns whether this factory is applicable for the type of the object. + * <!-- begin-user-doc --> + * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model. + * <!-- end-user-doc --> + * @return whether this factory is applicable for the type of the object. + * @generated + */ + @Override + public boolean isFactoryForType(Object object) { + if (object == modelPackage) { + return true; + } + if (object instanceof EObject) { + return ((EObject) object).eClass().getEPackage() == modelPackage; + } + return false; + } + + /** + * The switch that delegates to the <code>createXXX</code> methods. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected PetrinetSwitch<Adapter> modelSwitch = new PetrinetSwitch<Adapter>() { + @Override + public Adapter casePetriNet(PetriNet object) { + return createPetriNetAdapter(); + } + + @Override + public Adapter caseElement(Element object) { + return createElementAdapter(); + } + + @Override + public Adapter caseArc(Arc object) { + return createArcAdapter(); + } + + @Override + public Adapter caseIncomingArc(IncomingArc object) { + return createIncomingArcAdapter(); + } + + @Override + public Adapter caseOutgoingArc(OutgoingArc object) { + return createOutgoingArcAdapter(); + } + + @Override + public Adapter casePlace(Place object) { + return createPlaceAdapter(); + } + + @Override + public Adapter caseTransition(Transition object) { + return createTransitionAdapter(); + } + + @Override + public Adapter caseToken(Token object) { + return createTokenAdapter(); + } + + @Override + public Adapter defaultCase(EObject object) { + return createEObjectAdapter(); + } + }; + + /** + * Creates an adapter for the <code>target</code>. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param target the object to adapt. + * @return the adapter for the <code>target</code>. + * @generated + */ + @Override + public Adapter createAdapter(Notifier target) { + return modelSwitch.doSwitch((EObject) target); + } + + /** + * Creates a new adapter for an object of class '{@link swt.most.petrinet.PetriNet <em>Petri Net</em>}'. + * <!-- begin-user-doc --> + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * <!-- end-user-doc --> + * @return the new adapter. + * @see swt.most.petrinet.PetriNet + * @generated + */ + public Adapter createPetriNetAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link swt.most.petrinet.Element <em>Element</em>}'. + * <!-- begin-user-doc --> + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * <!-- end-user-doc --> + * @return the new adapter. + * @see swt.most.petrinet.Element + * @generated + */ + public Adapter createElementAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link swt.most.petrinet.Arc <em>Arc</em>}'. + * <!-- begin-user-doc --> + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * <!-- end-user-doc --> + * @return the new adapter. + * @see swt.most.petrinet.Arc + * @generated + */ + public Adapter createArcAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link swt.most.petrinet.IncomingArc <em>Incoming Arc</em>}'. + * <!-- begin-user-doc --> + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * <!-- end-user-doc --> + * @return the new adapter. + * @see swt.most.petrinet.IncomingArc + * @generated + */ + public Adapter createIncomingArcAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link swt.most.petrinet.OutgoingArc <em>Outgoing Arc</em>}'. + * <!-- begin-user-doc --> + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * <!-- end-user-doc --> + * @return the new adapter. + * @see swt.most.petrinet.OutgoingArc + * @generated + */ + public Adapter createOutgoingArcAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link swt.most.petrinet.Place <em>Place</em>}'. + * <!-- begin-user-doc --> + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * <!-- end-user-doc --> + * @return the new adapter. + * @see swt.most.petrinet.Place + * @generated + */ + public Adapter createPlaceAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link swt.most.petrinet.Transition <em>Transition</em>}'. + * <!-- begin-user-doc --> + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * <!-- end-user-doc --> + * @return the new adapter. + * @see swt.most.petrinet.Transition + * @generated + */ + public Adapter createTransitionAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link swt.most.petrinet.Token <em>Token</em>}'. + * <!-- begin-user-doc --> + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * <!-- end-user-doc --> + * @return the new adapter. + * @see swt.most.petrinet.Token + * @generated + */ + public Adapter createTokenAdapter() { + return null; + } + + /** + * Creates a new adapter for the default case. + * <!-- begin-user-doc --> + * This default implementation returns null. + * <!-- end-user-doc --> + * @return the new adapter. + * @generated + */ + public Adapter createEObjectAdapter() { + return null; + } + +} //PetrinetAdapterFactory diff --git a/metamodel/swt.most.petrinet/src-gen/swt/most/petrinet/util/PetrinetSwitch.java b/metamodel/swt.most.petrinet/src-gen/swt/most/petrinet/util/PetrinetSwitch.java new file mode 100644 index 0000000..3d1e96c --- /dev/null +++ b/metamodel/swt.most.petrinet/src-gen/swt/most/petrinet/util/PetrinetSwitch.java @@ -0,0 +1,274 @@ +/** + */ +package swt.most.petrinet.util; + +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.EPackage; + +import org.eclipse.emf.ecore.util.Switch; + +import swt.most.petrinet.*; + +/** + * <!-- begin-user-doc --> + * The <b>Switch</b> for the model's inheritance hierarchy. + * It supports the call {@link #doSwitch(EObject) doSwitch(object)} + * to invoke the <code>caseXXX</code> method for each class of the model, + * starting with the actual class of the object + * and proceeding up the inheritance hierarchy + * until a non-null result is returned, + * which is the result of the switch. + * <!-- end-user-doc --> + * @see swt.most.petrinet.PetrinetPackage + * @generated + */ +public class PetrinetSwitch<T> extends Switch<T> { + /** + * The cached model package + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected static PetrinetPackage modelPackage; + + /** + * Creates an instance of the switch. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public PetrinetSwitch() { + if (modelPackage == null) { + modelPackage = PetrinetPackage.eINSTANCE; + } + } + + /** + * Checks whether this is a switch for the given package. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param ePackage the package in question. + * @return whether this is a switch for the given package. + * @generated + */ + @Override + protected boolean isSwitchFor(EPackage ePackage) { + return ePackage == modelPackage; + } + + /** + * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the first non-null result returned by a <code>caseXXX</code> call. + * @generated + */ + @Override + protected T doSwitch(int classifierID, EObject theEObject) { + switch (classifierID) { + case PetrinetPackage.PETRI_NET: { + PetriNet petriNet = (PetriNet) theEObject; + T result = casePetriNet(petriNet); + if (result == null) + result = defaultCase(theEObject); + return result; + } + case PetrinetPackage.ELEMENT: { + Element element = (Element) theEObject; + T result = caseElement(element); + if (result == null) + result = defaultCase(theEObject); + return result; + } + case PetrinetPackage.ARC: { + Arc arc = (Arc) theEObject; + T result = caseArc(arc); + if (result == null) + result = defaultCase(theEObject); + return result; + } + case PetrinetPackage.INCOMING_ARC: { + IncomingArc incomingArc = (IncomingArc) theEObject; + T result = caseIncomingArc(incomingArc); + if (result == null) + result = caseArc(incomingArc); + if (result == null) + result = defaultCase(theEObject); + return result; + } + case PetrinetPackage.OUTGOING_ARC: { + OutgoingArc outgoingArc = (OutgoingArc) theEObject; + T result = caseOutgoingArc(outgoingArc); + if (result == null) + result = caseArc(outgoingArc); + if (result == null) + result = defaultCase(theEObject); + return result; + } + case PetrinetPackage.PLACE: { + Place place = (Place) theEObject; + T result = casePlace(place); + if (result == null) + result = caseElement(place); + if (result == null) + result = defaultCase(theEObject); + return result; + } + case PetrinetPackage.TRANSITION: { + Transition transition = (Transition) theEObject; + T result = caseTransition(transition); + if (result == null) + result = caseElement(transition); + if (result == null) + result = defaultCase(theEObject); + return result; + } + case PetrinetPackage.TOKEN: { + Token token = (Token) theEObject; + T result = caseToken(token); + if (result == null) + result = defaultCase(theEObject); + return result; + } + default: + return defaultCase(theEObject); + } + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Petri Net</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of '<em>Petri Net</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T casePetriNet(PetriNet object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Element</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of '<em>Element</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseElement(Element object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Arc</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of '<em>Arc</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseArc(Arc object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Incoming Arc</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of '<em>Incoming Arc</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseIncomingArc(IncomingArc object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Outgoing Arc</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of '<em>Outgoing Arc</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseOutgoingArc(OutgoingArc object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Place</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of '<em>Place</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T casePlace(Place object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Transition</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of '<em>Transition</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseTransition(Transition object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Token</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of '<em>Token</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseToken(Token object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>EObject</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch, but this is the last case anyway. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of '<em>EObject</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) + * @generated + */ + @Override + public T defaultCase(EObject object) { + return null; + } + +} //PetrinetSwitch diff --git a/metamodel/swt.most.petrinet/src/.gitkeep b/metamodel/swt.most.petrinet/src/.gitkeep new file mode 100644 index 0000000000000000000000000000000000000000..49cc8ef0e116cef009fe0bd72473a964bbd07f9b GIT binary patch literal 6 NcmezWkC%aq0RRg=0u=xN literal 0 HcmV?d00001 diff --git a/metamodel/swt.most.statemachine.edit/.classpath b/metamodel/swt.most.statemachine.edit/.classpath new file mode 100644 index 0000000..2377d85 --- /dev/null +++ b/metamodel/swt.most.statemachine.edit/.classpath @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="src" path="src-gen"/> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-17"/> + <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> + <classpathentry kind="output" path="bin"/> +</classpath> diff --git a/metamodel/swt.most.statemachine.edit/.gitignore b/metamodel/swt.most.statemachine.edit/.gitignore new file mode 100644 index 0000000..ae3c172 --- /dev/null +++ b/metamodel/swt.most.statemachine.edit/.gitignore @@ -0,0 +1 @@ +/bin/ diff --git a/metamodel/swt.most.statemachine.edit/.project b/metamodel/swt.most.statemachine.edit/.project new file mode 100644 index 0000000..93527ab --- /dev/null +++ b/metamodel/swt.most.statemachine.edit/.project @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>swt.most.statemachine.edit</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.pde.ManifestBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.pde.SchemaBuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>org.eclipse.jdt.core.javanature</nature> + <nature>org.eclipse.pde.PluginNature</nature> + </natures> +</projectDescription> diff --git a/metamodel/swt.most.statemachine.edit/.settings/org.eclipse.core.resources.prefs b/metamodel/swt.most.statemachine.edit/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 0000000..99f26c0 --- /dev/null +++ b/metamodel/swt.most.statemachine.edit/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +encoding/<project>=UTF-8 diff --git a/metamodel/swt.most.statemachine.edit/META-INF/MANIFEST.MF b/metamodel/swt.most.statemachine.edit/META-INF/MANIFEST.MF new file mode 100644 index 0000000..eedc10e --- /dev/null +++ b/metamodel/swt.most.statemachine.edit/META-INF/MANIFEST.MF @@ -0,0 +1,16 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: %pluginName +Bundle-SymbolicName: swt.most.statemachine.edit;singleton:=true +Automatic-Module-Name: swt.most.statemachine.edit +Bundle-Version: 1.0.0.qualifier +Bundle-ClassPath: . +Bundle-Activator: swt.most.statemachine.provider.StatemachineEditPlugin$Implementation +Bundle-Vendor: %providerName +Bundle-Localization: plugin +Bundle-RequiredExecutionEnvironment: J2SE-1.5 +Export-Package: swt.most.statemachine.provider +Require-Bundle: org.eclipse.core.runtime, + swt.most.statemachine;visibility:=reexport, + org.eclipse.emf.edit;visibility:=reexport +Bundle-ActivationPolicy: lazy diff --git a/metamodel/swt.most.statemachine.edit/build.properties b/metamodel/swt.most.statemachine.edit/build.properties new file mode 100644 index 0000000..a3c4e32 --- /dev/null +++ b/metamodel/swt.most.statemachine.edit/build.properties @@ -0,0 +1,10 @@ +# + +bin.includes = .,\ + icons/,\ + META-INF/,\ + plugin.xml,\ + plugin.properties +jars.compile.order = . +source.. = src-gen/ +output.. = bin/ diff --git a/metamodel/swt.most.statemachine.edit/icons/full/obj16/Action.gif b/metamodel/swt.most.statemachine.edit/icons/full/obj16/Action.gif new file mode 100644 index 0000000000000000000000000000000000000000..cb1755a712505aeaaa447d9b1cc5940e602f87b6 GIT binary patch literal 129 zcmZ?wbhEHb6krfw*vtS14Gatn4Gawp2M!!)XlP*g&%nU&|G<F*|Nnzo|3U0IbLKQO zG#m@=QT)lm$iTqKpaaqgGJ}Cd&)}rz>b(}PzkE~Se^}_c-IVoKN`lvdg<oy-K2B4+ XYF6H}Qj=eIIb)~Wk%>aWj11NQ*-tP- literal 0 HcmV?d00001 diff --git a/metamodel/swt.most.statemachine.edit/icons/full/obj16/FinalState.gif b/metamodel/swt.most.statemachine.edit/icons/full/obj16/FinalState.gif new file mode 100644 index 0000000000000000000000000000000000000000..ea58a657dc0c287f6bb84e6cbd38008c96713db3 GIT binary patch literal 129 zcmZ?wbhEHb6krfw*vtS14Gatn4Gawp2M!!)XlP*g&%nU&|G<F*|Nnzo|Np<(bLnQ! zrZZ_X4>&X^{$ycfVBloX0qF#p!N8(taME-2UW?aXzNzp(EOgy&%6cm$!E3?7uQqxg ar>R{vEALsU$*;SdvD59yL?K~D25SHbr!e9G literal 0 HcmV?d00001 diff --git a/metamodel/swt.most.statemachine.edit/icons/full/obj16/Guard.gif b/metamodel/swt.most.statemachine.edit/icons/full/obj16/Guard.gif new file mode 100644 index 0000000000000000000000000000000000000000..5a9bc7514facefe049e8f5d98bb2e1e37f03c0c2 GIT binary patch literal 129 zcmZ?wbhEHb6krfw*vtS14Gatn4Gawp2M!!)XlP*g&%nU&|G<F*|Nnzo|NsB~@%7D( zqxbjEzqG7U@h1x-0|O_64oD}+3<efGgOi@C_gcLE@=b;RVWI1GQ`TE430?~peznp2 bI8E)US$WS&O@7_wjGb;rCJG5NGFSrujw>>$ literal 0 HcmV?d00001 diff --git a/metamodel/swt.most.statemachine.edit/icons/full/obj16/InitialState.gif b/metamodel/swt.most.statemachine.edit/icons/full/obj16/InitialState.gif new file mode 100644 index 0000000000000000000000000000000000000000..7b7c428c715e615c179d42a8462ee953741414d4 GIT binary patch literal 129 zcmZ?wbhEHb6krfw*vtS14Gatn4Gawp2M!!)XlP*g&%nU&|G<F*|Nnzo|3U2i^Y1q_ zG&ndoDE?$&WMJTA&;jWLnZdxKXK>PU^<InDU%sjEKP+_JZpwNqCBbXK!ml=ZAE&8Z XH7oB~smZUqoUzmG$V4GwMh0sDxq~mq literal 0 HcmV?d00001 diff --git a/metamodel/swt.most.statemachine.edit/icons/full/obj16/NormalState.gif b/metamodel/swt.most.statemachine.edit/icons/full/obj16/NormalState.gif new file mode 100644 index 0000000000000000000000000000000000000000..b1f8afa47661703c49bd5fa535dcb1342deb6fc4 GIT binary patch literal 129 zcmZ?wbhEHb6krfw*vtS14Gatn4Gawp2M!!)XlP*g&%nU&|G<F*|Nnzo|3U0IbLJdq zaBy&NQ2fcl$iTqKpaaqgGJ}Cd&)}rz>b(}PzkE~Se^}_c-IVoKN`lvdg<oy-K2B4+ XYF6H}Qj=eIIb)~Wk%>aWj11NQn)feW literal 0 HcmV?d00001 diff --git a/metamodel/swt.most.statemachine.edit/icons/full/obj16/StateMachine.gif b/metamodel/swt.most.statemachine.edit/icons/full/obj16/StateMachine.gif new file mode 100644 index 0000000000000000000000000000000000000000..badaab0664ae45de5d990f64638197daeabf31bf GIT binary patch literal 129 zcmZ?wbhEHb6krfw*vtS14Gatn4Gawp2M!!)XlP*g&%nU&|G<F*|Nnzo|Nnpe{rl*f zH}mh`ue@|g@h1x-0|O_64oD}+3<efGgOi@C_gcLE@=b;RVWI1GQ`TE430?~peznp2 bI8E)US$WS&O@7_wjGb;rCJG5NGFSrusH8It literal 0 HcmV?d00001 diff --git a/metamodel/swt.most.statemachine.edit/icons/full/obj16/Transition.gif b/metamodel/swt.most.statemachine.edit/icons/full/obj16/Transition.gif new file mode 100644 index 0000000000000000000000000000000000000000..7bac4fd3808df6247660dfb8d76e15609f279841 GIT binary patch literal 129 zcmZ?wbhEHb6krfw*vtS14Gatn4Gawp2M!!)XlP*g&%nU&|G<F*|Nnzo|NrmV^P;Ec zW?I@A2ZsZSKUo+V7&sYpKsrHYFtF$uob+71*W&e;Zz}u`3thLHvffHb@LI6&tBu~r aX=+!^%6nF7^6M^V>~uRaQAn7P!5RS7Y%ntb literal 0 HcmV?d00001 diff --git a/metamodel/swt.most.statemachine.edit/icons/full/obj16/Trigger.gif b/metamodel/swt.most.statemachine.edit/icons/full/obj16/Trigger.gif new file mode 100644 index 0000000000000000000000000000000000000000..ea58a657dc0c287f6bb84e6cbd38008c96713db3 GIT binary patch literal 129 zcmZ?wbhEHb6krfw*vtS14Gatn4Gawp2M!!)XlP*g&%nU&|G<F*|Nnzo|Np<(bLnQ! zrZZ_X4>&X^{$ycfVBloX0qF#p!N8(taME-2UW?aXzNzp(EOgy&%6cm$!E3?7uQqxg ar>R{vEALsU$*;SdvD59yL?K~D25SHbr!e9G literal 0 HcmV?d00001 diff --git a/metamodel/swt.most.statemachine.edit/plugin.properties b/metamodel/swt.most.statemachine.edit/plugin.properties new file mode 100644 index 0000000..2cad145 --- /dev/null +++ b/metamodel/swt.most.statemachine.edit/plugin.properties @@ -0,0 +1,46 @@ +# + +pluginName = swt.most.statemachine Edit Support +providerName = www.example.org + +_UI_CreateChild_text = {0} +_UI_CreateChild_text2 = {1} {0} +_UI_CreateChild_text3 = {1} +_UI_CreateChild_tooltip = Create New {0} Under {1} Feature +_UI_CreateChild_description = Create a new child of type {0} for the {1} feature of the selected {2}. +_UI_CreateSibling_description = Create a new sibling of type {0} for the selected {2}, under the {1} feature of their parent. + +_UI_PropertyDescriptor_description = The {0} of the {1} + +_UI_StateMachine_type = State Machine +_UI_State_type = State +_UI_Transition_type = Transition +_UI_Trigger_type = Trigger +_UI_Guard_type = Guard +_UI_Action_type = Action +_UI_Expression_type = Expression +_UI_InitialState_type = Initial State +_UI_FinalState_type = Final State +_UI_NormalState_type = Normal State +_UI_Unknown_type = Object + +_UI_Unknown_datatype= Value + +_UI_StateMachine_identifier_feature = Identifier +_UI_StateMachine_states_feature = States +_UI_StateMachine_finalstates_feature = Finalstates +_UI_StateMachine_initialstate_feature = Initialstate +_UI_StateMachine_transitions_feature = Transitions +_UI_State_name_feature = Name +_UI_Transition_from_feature = From +_UI_Transition_to_feature = To +_UI_Transition_trigger_feature = Trigger +_UI_Transition_guard_feature = Guard +_UI_Transition_action_feature = Action +_UI_Expression_content_feature = Content +_UI_NormalState_do__feature = Do +_UI_NormalState_exit__feature = Exit +_UI_NormalState_entry__feature = Entry +_UI_Unknown_feature = Unspecified + +_UI_StateMachine_name_feature = Name diff --git a/metamodel/swt.most.statemachine.edit/plugin.xml b/metamodel/swt.most.statemachine.edit/plugin.xml new file mode 100644 index 0000000..16aacfb --- /dev/null +++ b/metamodel/swt.most.statemachine.edit/plugin.xml @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="UTF-8"?> +<?eclipse version="3.0"?> + +<!-- +--> + +<plugin> + + <extension point="org.eclipse.emf.edit.itemProviderAdapterFactories"> + <!-- @generated statemachine --> + <factory + uri="http://www.swt.org/most/statemachine" + class="swt.most.statemachine.provider.StatemachineItemProviderAdapterFactory" + supportedTypes= + "org.eclipse.emf.edit.provider.IEditingDomainItemProvider + org.eclipse.emf.edit.provider.IStructuredItemContentProvider + org.eclipse.emf.edit.provider.ITreeItemContentProvider + org.eclipse.emf.edit.provider.IItemLabelProvider + org.eclipse.emf.edit.provider.IItemPropertySource"/> + </extension> + +</plugin> diff --git a/metamodel/swt.most.statemachine.edit/src-gen/swt/most/statemachine/provider/ActionItemProvider.java b/metamodel/swt.most.statemachine.edit/src-gen/swt/most/statemachine/provider/ActionItemProvider.java new file mode 100644 index 0000000..836a8ed --- /dev/null +++ b/metamodel/swt.most.statemachine.edit/src-gen/swt/most/statemachine/provider/ActionItemProvider.java @@ -0,0 +1,106 @@ +/** + */ +package swt.most.statemachine.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; + +import swt.most.statemachine.Action; + +/** + * This is the item provider adapter for a {@link swt.most.statemachine.Action} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class ActionItemProvider extends ExpressionItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ActionItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns Action.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/Action")); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected boolean shouldComposeCreationImage() { + return true; + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String getText(Object object) { + String label = ((Action) object).getContent(); + return label == null || label.length() == 0 ? getString("_UI_Action_type") + : getString("_UI_Action_type") + " " + label; + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + +} diff --git a/metamodel/swt.most.statemachine.edit/src-gen/swt/most/statemachine/provider/ExpressionItemProvider.java b/metamodel/swt.most.statemachine.edit/src-gen/swt/most/statemachine/provider/ExpressionItemProvider.java new file mode 100644 index 0000000..705da2c --- /dev/null +++ b/metamodel/swt.most.statemachine.edit/src-gen/swt/most/statemachine/provider/ExpressionItemProvider.java @@ -0,0 +1,142 @@ +/** + */ +package swt.most.statemachine.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ItemProviderAdapter; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import swt.most.statemachine.Expression; +import swt.most.statemachine.StatemachinePackage; + +/** + * This is the item provider adapter for a {@link swt.most.statemachine.Expression} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class ExpressionItemProvider extends ItemProviderAdapter implements IEditingDomainItemProvider, + IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ExpressionItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addContentPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Content feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addContentPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(), + getResourceLocator(), getString("_UI_Expression_content_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_Expression_content_feature", + "_UI_Expression_type"), + StatemachinePackage.Literals.EXPRESSION__CONTENT, true, false, false, + ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected boolean shouldComposeCreationImage() { + return true; + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String getText(Object object) { + String label = ((Expression) object).getContent(); + return label == null || label.length() == 0 ? getString("_UI_Expression_type") + : getString("_UI_Expression_type") + " " + label; + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(Expression.class)) { + case StatemachinePackage.EXPRESSION__CONTENT: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public ResourceLocator getResourceLocator() { + return StatemachineEditPlugin.INSTANCE; + } + +} diff --git a/metamodel/swt.most.statemachine.edit/src-gen/swt/most/statemachine/provider/FinalStateItemProvider.java b/metamodel/swt.most.statemachine.edit/src-gen/swt/most/statemachine/provider/FinalStateItemProvider.java new file mode 100644 index 0000000..35e6d8b --- /dev/null +++ b/metamodel/swt.most.statemachine.edit/src-gen/swt/most/statemachine/provider/FinalStateItemProvider.java @@ -0,0 +1,106 @@ +/** + */ +package swt.most.statemachine.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; + +import swt.most.statemachine.FinalState; + +/** + * This is the item provider adapter for a {@link swt.most.statemachine.FinalState} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class FinalStateItemProvider extends StateItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public FinalStateItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns FinalState.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/FinalState")); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected boolean shouldComposeCreationImage() { + return true; + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String getText(Object object) { + String label = ((FinalState) object).getName(); + return label == null || label.length() == 0 ? getString("_UI_FinalState_type") + : getString("_UI_FinalState_type") + " " + label; + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + +} diff --git a/metamodel/swt.most.statemachine.edit/src-gen/swt/most/statemachine/provider/GuardItemProvider.java b/metamodel/swt.most.statemachine.edit/src-gen/swt/most/statemachine/provider/GuardItemProvider.java new file mode 100644 index 0000000..93e36a4 --- /dev/null +++ b/metamodel/swt.most.statemachine.edit/src-gen/swt/most/statemachine/provider/GuardItemProvider.java @@ -0,0 +1,106 @@ +/** + */ +package swt.most.statemachine.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; + +import swt.most.statemachine.Guard; + +/** + * This is the item provider adapter for a {@link swt.most.statemachine.Guard} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class GuardItemProvider extends ExpressionItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public GuardItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns Guard.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/Guard")); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected boolean shouldComposeCreationImage() { + return true; + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String getText(Object object) { + String label = ((Guard) object).getContent(); + return label == null || label.length() == 0 ? getString("_UI_Guard_type") + : getString("_UI_Guard_type") + " " + label; + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + +} diff --git a/metamodel/swt.most.statemachine.edit/src-gen/swt/most/statemachine/provider/InitialStateItemProvider.java b/metamodel/swt.most.statemachine.edit/src-gen/swt/most/statemachine/provider/InitialStateItemProvider.java new file mode 100644 index 0000000..2289176 --- /dev/null +++ b/metamodel/swt.most.statemachine.edit/src-gen/swt/most/statemachine/provider/InitialStateItemProvider.java @@ -0,0 +1,106 @@ +/** + */ +package swt.most.statemachine.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; + +import swt.most.statemachine.InitialState; + +/** + * This is the item provider adapter for a {@link swt.most.statemachine.InitialState} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class InitialStateItemProvider extends StateItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public InitialStateItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns InitialState.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/InitialState")); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected boolean shouldComposeCreationImage() { + return true; + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String getText(Object object) { + String label = ((InitialState) object).getName(); + return label == null || label.length() == 0 ? getString("_UI_InitialState_type") + : getString("_UI_InitialState_type") + " " + label; + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + +} diff --git a/metamodel/swt.most.statemachine.edit/src-gen/swt/most/statemachine/provider/NormalStateItemProvider.java b/metamodel/swt.most.statemachine.edit/src-gen/swt/most/statemachine/provider/NormalStateItemProvider.java new file mode 100644 index 0000000..44b11fd --- /dev/null +++ b/metamodel/swt.most.statemachine.edit/src-gen/swt/most/statemachine/provider/NormalStateItemProvider.java @@ -0,0 +1,182 @@ +/** + */ +package swt.most.statemachine.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import swt.most.statemachine.NormalState; +import swt.most.statemachine.StatemachineFactory; +import swt.most.statemachine.StatemachinePackage; + +/** + * This is the item provider adapter for a {@link swt.most.statemachine.NormalState} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class NormalStateItemProvider extends StateItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NormalStateItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(StatemachinePackage.Literals.NORMAL_STATE__DO_); + childrenFeatures.add(StatemachinePackage.Literals.NORMAL_STATE__EXIT_); + childrenFeatures.add(StatemachinePackage.Literals.NORMAL_STATE__ENTRY_); + } + return childrenFeatures; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns NormalState.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/NormalState")); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected boolean shouldComposeCreationImage() { + return true; + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String getText(Object object) { + String label = ((NormalState) object).getName(); + return label == null || label.length() == 0 ? getString("_UI_NormalState_type") + : getString("_UI_NormalState_type") + " " + label; + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(NormalState.class)) { + case StatemachinePackage.NORMAL_STATE__DO_: + case StatemachinePackage.NORMAL_STATE__EXIT_: + case StatemachinePackage.NORMAL_STATE__ENTRY_: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(StatemachinePackage.Literals.NORMAL_STATE__DO_, + StatemachineFactory.eINSTANCE.createAction())); + + newChildDescriptors.add(createChildParameter(StatemachinePackage.Literals.NORMAL_STATE__EXIT_, + StatemachineFactory.eINSTANCE.createAction())); + + newChildDescriptors.add(createChildParameter(StatemachinePackage.Literals.NORMAL_STATE__ENTRY_, + StatemachineFactory.eINSTANCE.createAction())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String getCreateChildText(Object owner, Object feature, Object child, Collection<?> selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = childFeature == StatemachinePackage.Literals.NORMAL_STATE__DO_ + || childFeature == StatemachinePackage.Literals.NORMAL_STATE__EXIT_ + || childFeature == StatemachinePackage.Literals.NORMAL_STATE__ENTRY_; + + if (qualify) { + return getString("_UI_CreateChild_text2", + new Object[] { getTypeText(childObject), getFeatureText(childFeature), getTypeText(owner) }); + } + return super.getCreateChildText(owner, feature, child, selection); + } + +} diff --git a/metamodel/swt.most.statemachine.edit/src-gen/swt/most/statemachine/provider/StateItemProvider.java b/metamodel/swt.most.statemachine.edit/src-gen/swt/most/statemachine/provider/StateItemProvider.java new file mode 100644 index 0000000..a5c2339 --- /dev/null +++ b/metamodel/swt.most.statemachine.edit/src-gen/swt/most/statemachine/provider/StateItemProvider.java @@ -0,0 +1,141 @@ +/** + */ +package swt.most.statemachine.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ItemProviderAdapter; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import swt.most.statemachine.State; +import swt.most.statemachine.StatemachinePackage; + +/** + * This is the item provider adapter for a {@link swt.most.statemachine.State} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class StateItemProvider extends ItemProviderAdapter implements IEditingDomainItemProvider, + IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public StateItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addNamePropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Name feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addNamePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(), + getResourceLocator(), getString("_UI_State_name_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_State_name_feature", "_UI_State_type"), + StatemachinePackage.Literals.STATE__NAME, true, false, false, + ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected boolean shouldComposeCreationImage() { + return true; + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String getText(Object object) { + String label = ((State) object).getName(); + return label == null || label.length() == 0 ? getString("_UI_State_type") + : getString("_UI_State_type") + " " + label; + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(State.class)) { + case StatemachinePackage.STATE__NAME: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public ResourceLocator getResourceLocator() { + return StatemachineEditPlugin.INSTANCE; + } + +} diff --git a/metamodel/swt.most.statemachine.edit/src-gen/swt/most/statemachine/provider/StateMachineItemProvider.java b/metamodel/swt.most.statemachine.edit/src-gen/swt/most/statemachine/provider/StateMachineItemProvider.java new file mode 100644 index 0000000..2f4fb44 --- /dev/null +++ b/metamodel/swt.most.statemachine.edit/src-gen/swt/most/statemachine/provider/StateMachineItemProvider.java @@ -0,0 +1,207 @@ +/** + */ +package swt.most.statemachine.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ItemProviderAdapter; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import swt.most.statemachine.StateMachine; +import swt.most.statemachine.StatemachineFactory; +import swt.most.statemachine.StatemachinePackage; + +/** + * This is the item provider adapter for a {@link swt.most.statemachine.StateMachine} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class StateMachineItemProvider extends ItemProviderAdapter implements IEditingDomainItemProvider, + IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public StateMachineItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addNamePropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Name feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addNamePropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(), + getResourceLocator(), getString("_UI_StateMachine_name_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_StateMachine_name_feature", + "_UI_StateMachine_type"), + StatemachinePackage.Literals.STATE_MACHINE__NAME, true, false, false, + ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null)); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(StatemachinePackage.Literals.STATE_MACHINE__STATES); + childrenFeatures.add(StatemachinePackage.Literals.STATE_MACHINE__FINALSTATES); + childrenFeatures.add(StatemachinePackage.Literals.STATE_MACHINE__INITIALSTATE); + childrenFeatures.add(StatemachinePackage.Literals.STATE_MACHINE__TRANSITIONS); + } + return childrenFeatures; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns StateMachine.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/StateMachine")); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected boolean shouldComposeCreationImage() { + return true; + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String getText(Object object) { + String label = ((StateMachine) object).getName(); + return label == null || label.length() == 0 ? getString("_UI_StateMachine_type") + : getString("_UI_StateMachine_type") + " " + label; + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(StateMachine.class)) { + case StatemachinePackage.STATE_MACHINE__NAME: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true)); + return; + case StatemachinePackage.STATE_MACHINE__STATES: + case StatemachinePackage.STATE_MACHINE__FINALSTATES: + case StatemachinePackage.STATE_MACHINE__INITIALSTATE: + case StatemachinePackage.STATE_MACHINE__TRANSITIONS: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(StatemachinePackage.Literals.STATE_MACHINE__STATES, + StatemachineFactory.eINSTANCE.createNormalState())); + + newChildDescriptors.add(createChildParameter(StatemachinePackage.Literals.STATE_MACHINE__FINALSTATES, + StatemachineFactory.eINSTANCE.createFinalState())); + + newChildDescriptors.add(createChildParameter(StatemachinePackage.Literals.STATE_MACHINE__INITIALSTATE, + StatemachineFactory.eINSTANCE.createInitialState())); + + newChildDescriptors.add(createChildParameter(StatemachinePackage.Literals.STATE_MACHINE__TRANSITIONS, + StatemachineFactory.eINSTANCE.createTransition())); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public ResourceLocator getResourceLocator() { + return StatemachineEditPlugin.INSTANCE; + } + +} diff --git a/metamodel/swt.most.statemachine.edit/src-gen/swt/most/statemachine/provider/StatemachineEditPlugin.java b/metamodel/swt.most.statemachine.edit/src-gen/swt/most/statemachine/provider/StatemachineEditPlugin.java new file mode 100644 index 0000000..1b60b58 --- /dev/null +++ b/metamodel/swt.most.statemachine.edit/src-gen/swt/most/statemachine/provider/StatemachineEditPlugin.java @@ -0,0 +1,87 @@ +/** + */ +package swt.most.statemachine.provider; + +import org.eclipse.emf.common.EMFPlugin; + +import org.eclipse.emf.common.util.ResourceLocator; + +/** + * This is the central singleton for the Statemachine edit plugin. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public final class StatemachineEditPlugin extends EMFPlugin { + /** + * Keep track of the singleton. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final StatemachineEditPlugin INSTANCE = new StatemachineEditPlugin(); + + /** + * Keep track of the singleton. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private static Implementation plugin; + + /** + * Create the instance. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public StatemachineEditPlugin() { + super(new ResourceLocator[] {}); + } + + /** + * Returns the singleton instance of the Eclipse plugin. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the singleton instance. + * @generated + */ + @Override + public ResourceLocator getPluginResourceLocator() { + return plugin; + } + + /** + * Returns the singleton instance of the Eclipse plugin. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the singleton instance. + * @generated + */ + public static Implementation getPlugin() { + return plugin; + } + + /** + * The actual implementation of the Eclipse <b>Plugin</b>. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static class Implementation extends EclipsePlugin { + /** + * Creates an instance. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Implementation() { + super(); + + // Remember the static instance. + // + plugin = this; + } + } + +} diff --git a/metamodel/swt.most.statemachine.edit/src-gen/swt/most/statemachine/provider/StatemachineItemProviderAdapterFactory.java b/metamodel/swt.most.statemachine.edit/src-gen/swt/most/statemachine/provider/StatemachineItemProviderAdapterFactory.java new file mode 100644 index 0000000..7ae9ad4 --- /dev/null +++ b/metamodel/swt.most.statemachine.edit/src-gen/swt/most/statemachine/provider/StatemachineItemProviderAdapterFactory.java @@ -0,0 +1,376 @@ +/** + */ +package swt.most.statemachine.provider; + +import java.util.ArrayList; +import java.util.Collection; + +import org.eclipse.emf.common.notify.Adapter; +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.Notifier; + +import org.eclipse.emf.edit.provider.ChangeNotifier; +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.ComposedAdapterFactory; +import org.eclipse.emf.edit.provider.IChangeNotifier; +import org.eclipse.emf.edit.provider.IDisposable; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.INotifyChangedListener; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import swt.most.statemachine.util.StatemachineAdapterFactory; + +/** + * This is the factory that is used to provide the interfaces needed to support Viewers. + * The adapters generated by this factory convert EMF adapter notifications into calls to {@link #fireNotifyChanged fireNotifyChanged}. + * The adapters also support Eclipse property sheets. + * Note that most of the adapters are shared among multiple instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class StatemachineItemProviderAdapterFactory extends StatemachineAdapterFactory + implements ComposeableAdapterFactory, IChangeNotifier, IDisposable { + /** + * This keeps track of the root adapter factory that delegates to this adapter factory. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ComposedAdapterFactory parentAdapterFactory; + + /** + * This is used to implement {@link org.eclipse.emf.edit.provider.IChangeNotifier}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected IChangeNotifier changeNotifier = new ChangeNotifier(); + + /** + * This keeps track of all the supported types checked by {@link #isFactoryForType isFactoryForType}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Collection<Object> supportedTypes = new ArrayList<Object>(); + + /** + * This constructs an instance. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public StatemachineItemProviderAdapterFactory() { + supportedTypes.add(IEditingDomainItemProvider.class); + supportedTypes.add(IStructuredItemContentProvider.class); + supportedTypes.add(ITreeItemContentProvider.class); + supportedTypes.add(IItemLabelProvider.class); + supportedTypes.add(IItemPropertySource.class); + } + + /** + * This keeps track of the one adapter used for all {@link swt.most.statemachine.StateMachine} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected StateMachineItemProvider stateMachineItemProvider; + + /** + * This creates an adapter for a {@link swt.most.statemachine.StateMachine}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Adapter createStateMachineAdapter() { + if (stateMachineItemProvider == null) { + stateMachineItemProvider = new StateMachineItemProvider(this); + } + + return stateMachineItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link swt.most.statemachine.Transition} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected TransitionItemProvider transitionItemProvider; + + /** + * This creates an adapter for a {@link swt.most.statemachine.Transition}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Adapter createTransitionAdapter() { + if (transitionItemProvider == null) { + transitionItemProvider = new TransitionItemProvider(this); + } + + return transitionItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link swt.most.statemachine.Trigger} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected TriggerItemProvider triggerItemProvider; + + /** + * This creates an adapter for a {@link swt.most.statemachine.Trigger}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Adapter createTriggerAdapter() { + if (triggerItemProvider == null) { + triggerItemProvider = new TriggerItemProvider(this); + } + + return triggerItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link swt.most.statemachine.Guard} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected GuardItemProvider guardItemProvider; + + /** + * This creates an adapter for a {@link swt.most.statemachine.Guard}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Adapter createGuardAdapter() { + if (guardItemProvider == null) { + guardItemProvider = new GuardItemProvider(this); + } + + return guardItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link swt.most.statemachine.Action} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ActionItemProvider actionItemProvider; + + /** + * This creates an adapter for a {@link swt.most.statemachine.Action}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Adapter createActionAdapter() { + if (actionItemProvider == null) { + actionItemProvider = new ActionItemProvider(this); + } + + return actionItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link swt.most.statemachine.InitialState} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected InitialStateItemProvider initialStateItemProvider; + + /** + * This creates an adapter for a {@link swt.most.statemachine.InitialState}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Adapter createInitialStateAdapter() { + if (initialStateItemProvider == null) { + initialStateItemProvider = new InitialStateItemProvider(this); + } + + return initialStateItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link swt.most.statemachine.FinalState} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected FinalStateItemProvider finalStateItemProvider; + + /** + * This creates an adapter for a {@link swt.most.statemachine.FinalState}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Adapter createFinalStateAdapter() { + if (finalStateItemProvider == null) { + finalStateItemProvider = new FinalStateItemProvider(this); + } + + return finalStateItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link swt.most.statemachine.NormalState} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected NormalStateItemProvider normalStateItemProvider; + + /** + * This creates an adapter for a {@link swt.most.statemachine.NormalState}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Adapter createNormalStateAdapter() { + if (normalStateItemProvider == null) { + normalStateItemProvider = new NormalStateItemProvider(this); + } + + return normalStateItemProvider; + } + + /** + * This returns the root adapter factory that contains this factory. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ComposeableAdapterFactory getRootAdapterFactory() { + return parentAdapterFactory == null ? this : parentAdapterFactory.getRootAdapterFactory(); + } + + /** + * This sets the composed adapter factory that contains this factory. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setParentAdapterFactory(ComposedAdapterFactory parentAdapterFactory) { + this.parentAdapterFactory = parentAdapterFactory; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isFactoryForType(Object type) { + return supportedTypes.contains(type) || super.isFactoryForType(type); + } + + /** + * This implementation substitutes the factory itself as the key for the adapter. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Adapter adapt(Notifier notifier, Object type) { + return super.adapt(notifier, this); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object adapt(Object object, Object type) { + if (isFactoryForType(type)) { + Object adapter = super.adapt(object, type); + if (!(type instanceof Class<?>) || (((Class<?>) type).isInstance(adapter))) { + return adapter; + } + } + + return null; + } + + /** + * This adds a listener. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void addListener(INotifyChangedListener notifyChangedListener) { + changeNotifier.addListener(notifyChangedListener); + } + + /** + * This removes a listener. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void removeListener(INotifyChangedListener notifyChangedListener) { + changeNotifier.removeListener(notifyChangedListener); + } + + /** + * This delegates to {@link #changeNotifier} and to {@link #parentAdapterFactory}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void fireNotifyChanged(Notification notification) { + changeNotifier.fireNotifyChanged(notification); + + if (parentAdapterFactory != null) { + parentAdapterFactory.fireNotifyChanged(notification); + } + } + + /** + * This disposes all of the item providers created by this factory. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void dispose() { + if (stateMachineItemProvider != null) + stateMachineItemProvider.dispose(); + if (transitionItemProvider != null) + transitionItemProvider.dispose(); + if (triggerItemProvider != null) + triggerItemProvider.dispose(); + if (guardItemProvider != null) + guardItemProvider.dispose(); + if (actionItemProvider != null) + actionItemProvider.dispose(); + if (initialStateItemProvider != null) + initialStateItemProvider.dispose(); + if (finalStateItemProvider != null) + finalStateItemProvider.dispose(); + if (normalStateItemProvider != null) + normalStateItemProvider.dispose(); + } + +} diff --git a/metamodel/swt.most.statemachine.edit/src-gen/swt/most/statemachine/provider/TransitionItemProvider.java b/metamodel/swt.most.statemachine.edit/src-gen/swt/most/statemachine/provider/TransitionItemProvider.java new file mode 100644 index 0000000..85102ff --- /dev/null +++ b/metamodel/swt.most.statemachine.edit/src-gen/swt/most/statemachine/provider/TransitionItemProvider.java @@ -0,0 +1,211 @@ +/** + */ +package swt.most.statemachine.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemProviderAdapter; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import swt.most.statemachine.StatemachineFactory; +import swt.most.statemachine.StatemachinePackage; +import swt.most.statemachine.Transition; + +/** + * This is the item provider adapter for a {@link swt.most.statemachine.Transition} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class TransitionItemProvider extends ItemProviderAdapter implements IEditingDomainItemProvider, + IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public TransitionItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addFromPropertyDescriptor(object); + addToPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the From feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addFromPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(), + getResourceLocator(), getString("_UI_Transition_from_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_Transition_from_feature", + "_UI_Transition_type"), + StatemachinePackage.Literals.TRANSITION__FROM, true, false, true, null, null, null)); + } + + /** + * This adds a property descriptor for the To feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addToPropertyDescriptor(Object object) { + itemPropertyDescriptors + .add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(), + getResourceLocator(), getString("_UI_Transition_to_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_Transition_to_feature", + "_UI_Transition_type"), + StatemachinePackage.Literals.TRANSITION__TO, true, false, true, null, null, null)); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(StatemachinePackage.Literals.TRANSITION__TRIGGER); + childrenFeatures.add(StatemachinePackage.Literals.TRANSITION__GUARD); + childrenFeatures.add(StatemachinePackage.Literals.TRANSITION__ACTION); + } + return childrenFeatures; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns Transition.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/Transition")); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected boolean shouldComposeCreationImage() { + return true; + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_Transition_type"); + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(Transition.class)) { + case StatemachinePackage.TRANSITION__TRIGGER: + case StatemachinePackage.TRANSITION__GUARD: + case StatemachinePackage.TRANSITION__ACTION: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add(createChildParameter(StatemachinePackage.Literals.TRANSITION__TRIGGER, + StatemachineFactory.eINSTANCE.createTrigger())); + + newChildDescriptors.add(createChildParameter(StatemachinePackage.Literals.TRANSITION__GUARD, + StatemachineFactory.eINSTANCE.createGuard())); + + newChildDescriptors.add(createChildParameter(StatemachinePackage.Literals.TRANSITION__ACTION, + StatemachineFactory.eINSTANCE.createAction())); + } + + /** + * Return the resource locator for this item provider's resources. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public ResourceLocator getResourceLocator() { + return StatemachineEditPlugin.INSTANCE; + } + +} diff --git a/metamodel/swt.most.statemachine.edit/src-gen/swt/most/statemachine/provider/TriggerItemProvider.java b/metamodel/swt.most.statemachine.edit/src-gen/swt/most/statemachine/provider/TriggerItemProvider.java new file mode 100644 index 0000000..02b1f53 --- /dev/null +++ b/metamodel/swt.most.statemachine.edit/src-gen/swt/most/statemachine/provider/TriggerItemProvider.java @@ -0,0 +1,106 @@ +/** + */ +package swt.most.statemachine.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; + +import swt.most.statemachine.Trigger; + +/** + * This is the item provider adapter for a {@link swt.most.statemachine.Trigger} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class TriggerItemProvider extends ExpressionItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public TriggerItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns Trigger.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/Trigger")); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected boolean shouldComposeCreationImage() { + return true; + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String getText(Object object) { + String label = ((Trigger) object).getContent(); + return label == null || label.length() == 0 ? getString("_UI_Trigger_type") + : getString("_UI_Trigger_type") + " " + label; + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + +} diff --git a/metamodel/swt.most.statemachine.editor/.classpath b/metamodel/swt.most.statemachine.editor/.classpath new file mode 100644 index 0000000..2377d85 --- /dev/null +++ b/metamodel/swt.most.statemachine.editor/.classpath @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="src" path="src-gen"/> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-17"/> + <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> + <classpathentry kind="output" path="bin"/> +</classpath> diff --git a/metamodel/swt.most.statemachine.editor/.gitignore b/metamodel/swt.most.statemachine.editor/.gitignore new file mode 100644 index 0000000..ae3c172 --- /dev/null +++ b/metamodel/swt.most.statemachine.editor/.gitignore @@ -0,0 +1 @@ +/bin/ diff --git a/metamodel/swt.most.statemachine.editor/.project b/metamodel/swt.most.statemachine.editor/.project new file mode 100644 index 0000000..410edf8 --- /dev/null +++ b/metamodel/swt.most.statemachine.editor/.project @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>swt.most.statemachine.editor</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.pde.ManifestBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.pde.SchemaBuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>org.eclipse.jdt.core.javanature</nature> + <nature>org.eclipse.pde.PluginNature</nature> + </natures> +</projectDescription> diff --git a/metamodel/swt.most.statemachine.editor/.settings/org.eclipse.core.resources.prefs b/metamodel/swt.most.statemachine.editor/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 0000000..99f26c0 --- /dev/null +++ b/metamodel/swt.most.statemachine.editor/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +encoding/<project>=UTF-8 diff --git a/metamodel/swt.most.statemachine.editor/META-INF/MANIFEST.MF b/metamodel/swt.most.statemachine.editor/META-INF/MANIFEST.MF new file mode 100644 index 0000000..d052320 --- /dev/null +++ b/metamodel/swt.most.statemachine.editor/META-INF/MANIFEST.MF @@ -0,0 +1,19 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: %pluginName +Bundle-SymbolicName: swt.most.statemachine.editor;singleton:=true +Automatic-Module-Name: swt.most.statemachine.editor +Bundle-Version: 1.0.0.qualifier +Bundle-ClassPath: . +Bundle-Activator: swt.most.statemachine.presentation.StatemachineEditorPlugin$Implementation +Bundle-Vendor: %providerName +Bundle-Localization: plugin +Bundle-RequiredExecutionEnvironment: J2SE-1.5 +Export-Package: swt.most.statemachine.presentation +Require-Bundle: org.eclipse.core.runtime, + org.eclipse.core.resources;visibility:=reexport, + swt.most.statemachine.edit;visibility:=reexport, + org.eclipse.emf.ecore.xmi;visibility:=reexport, + org.eclipse.emf.edit.ui;visibility:=reexport, + org.eclipse.ui.ide;visibility:=reexport +Bundle-ActivationPolicy: lazy diff --git a/metamodel/swt.most.statemachine.editor/build.properties b/metamodel/swt.most.statemachine.editor/build.properties new file mode 100644 index 0000000..11a5719 --- /dev/null +++ b/metamodel/swt.most.statemachine.editor/build.properties @@ -0,0 +1,10 @@ +# + +bin.includes = .,\ + icons/,\ + META-INF/,\ + plugin.xml,\ + plugin.properties +jars.compile.order = . +source.. = src-gen/ +output.. = bin diff --git a/metamodel/swt.most.statemachine.editor/icons/full/obj16/StatemachineModelFile.gif b/metamodel/swt.most.statemachine.editor/icons/full/obj16/StatemachineModelFile.gif new file mode 100644 index 0000000000000000000000000000000000000000..415a3b6e05f910f571beefc62a17c6e917ba4fac GIT binary patch literal 346 zcmZ?wbhEHb6krfwxXQrL(9jScAHRS9{{Q#qA2@KJp`n4{KLZ29{{sgO{QnPT{r`Wh zY0a_Vo;8-mZ90)#CfIJ7V7sB;ZcUHF@@}U^9nN!GU8gs>HJAI=mHJf|2VB{dd24UY zgA@HffBpIX^Y_;uzdwEb{o(8Hx1WB!`tbAq%O7{1e`lZ`Q2fcl$iTqHpaU`z<R=EU za);&u4;>-J6DpT9S}NvU;BC?T8L?hwWg*k6D(jn`6NR+e<(>&FjS$?)$=?(mq8a7( z!~J2Sd}NoniV81l3vZLSD^o!$OG_b>D}NO)%d~#}uAZs=EE8QMR8`wr7fHBEs;#Qx ZU!^ALDz!<ffMv6kj}sIBd>2OsYXFT?co+Zx literal 0 HcmV?d00001 diff --git a/metamodel/swt.most.statemachine.editor/icons/full/wizban/NewStatemachine.gif b/metamodel/swt.most.statemachine.editor/icons/full/wizban/NewStatemachine.gif new file mode 100644 index 0000000000000000000000000000000000000000..acfcd368e5023e5244370e7ba66a2111068ddc06 GIT binary patch literal 2462 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 KIiG+4gEat&H^rp@ literal 0 HcmV?d00001 diff --git a/metamodel/swt.most.statemachine.editor/plugin.properties b/metamodel/swt.most.statemachine.editor/plugin.properties new file mode 100644 index 0000000..f29de99 --- /dev/null +++ b/metamodel/swt.most.statemachine.editor/plugin.properties @@ -0,0 +1,53 @@ +# + +pluginName = swt.most.statemachine Editor +providerName = www.example.org + +_UI_StatemachineEditor_menu = &Statemachine Editor + +_UI_CreateChild_menu_item = &New Child +_UI_CreateSibling_menu_item = N&ew Sibling + +_UI_ShowPropertiesView_menu_item = Show &Properties View +_UI_RefreshViewer_menu_item = &Refresh + +_UI_SelectionPage_label = Selection +_UI_ParentPage_label = Parent +_UI_ListPage_label = List +_UI_TreePage_label = Tree +_UI_TablePage_label = Table +_UI_TreeWithColumnsPage_label = Tree with Columns +_UI_ObjectColumn_label = Object +_UI_SelfColumn_label = Self + +_UI_NoObjectSelected = Selected Nothing +_UI_SingleObjectSelected = Selected Object: {0} +_UI_MultiObjectSelected = Selected {0} Objects + +_UI_OpenEditorError_label = Open Editor + +_UI_Wizard_category = Example EMF Model Creation Wizards + +_UI_CreateModelError_message = Problems encountered in file "{0}" + +_UI_StatemachineModelWizard_label = Statemachine Model +_UI_StatemachineModelWizard_description = Create a new Statemachine model + +_UI_StatemachineEditor_label = Statemachine Model Editor + +_UI_StatemachineEditorFilenameDefaultBase = My +_UI_StatemachineEditorFilenameExtensions = statemachine + +_UI_Wizard_label = New + +_WARN_FilenameExtension = The file name must end in ''.{0}'' +_WARN_FilenameExtensions = The file name must have one of the following extensions: {0} + +_UI_ModelObject = &Model Object +_UI_XMLEncoding = &XML Encoding +_UI_XMLEncodingChoices = UTF-8 ASCII UTF-16 UTF-16BE UTF-16LE ISO-8859-1 +_UI_Wizard_initial_object_description = Select a model object to create + +_UI_FileConflict_label = File Conflict +_WARN_FileConflict = There are unsaved changes that conflict with changes made outside the editor. Do you wish to discard this editor's changes? + diff --git a/metamodel/swt.most.statemachine.editor/plugin.xml b/metamodel/swt.most.statemachine.editor/plugin.xml new file mode 100644 index 0000000..6e8cbfa --- /dev/null +++ b/metamodel/swt.most.statemachine.editor/plugin.xml @@ -0,0 +1,37 @@ +<?xml version="1.0" encoding="UTF-8"?> +<?eclipse version="3.0"?> + +<!-- +--> + +<plugin> + + <extension point="org.eclipse.ui.newWizards"> + <!-- @generated statemachine --> + <category + id="org.eclipse.emf.ecore.Wizard.category.ID" + name="%_UI_Wizard_category"/> + <wizard + id="swt.most.statemachine.presentation.StatemachineModelWizardID" + name="%_UI_StatemachineModelWizard_label" + class="swt.most.statemachine.presentation.StatemachineModelWizard" + category="org.eclipse.emf.ecore.Wizard.category.ID" + icon="icons/full/obj16/StatemachineModelFile.gif"> + <description>%_UI_StatemachineModelWizard_description</description> + <selection class="org.eclipse.core.resources.IResource"/> + </wizard> + </extension> + + <extension point="org.eclipse.ui.editors"> + <!-- @generated statemachine --> + <editor + id="swt.most.statemachine.presentation.StatemachineEditorID" + name="%_UI_StatemachineEditor_label" + icon="icons/full/obj16/StatemachineModelFile.gif" + extensions="statemachine" + class="swt.most.statemachine.presentation.StatemachineEditor" + contributorClass="swt.most.statemachine.presentation.StatemachineActionBarContributor"> + </editor> + </extension> + +</plugin> diff --git a/metamodel/swt.most.statemachine.editor/src-gen/swt/most/statemachine/presentation/StatemachineActionBarContributor.java b/metamodel/swt.most.statemachine.editor/src-gen/swt/most/statemachine/presentation/StatemachineActionBarContributor.java new file mode 100644 index 0000000..bc325a0 --- /dev/null +++ b/metamodel/swt.most.statemachine.editor/src-gen/swt/most/statemachine/presentation/StatemachineActionBarContributor.java @@ -0,0 +1,424 @@ +/** + */ +package swt.most.statemachine.presentation; + +import java.util.ArrayList; +import java.util.Collection; + +import org.eclipse.emf.common.ui.viewer.IViewerProvider; + +import org.eclipse.emf.edit.domain.EditingDomain; +import org.eclipse.emf.edit.domain.IEditingDomainProvider; + +import org.eclipse.emf.edit.ui.action.ControlAction; +import org.eclipse.emf.edit.ui.action.CreateChildAction; +import org.eclipse.emf.edit.ui.action.CreateSiblingAction; +import org.eclipse.emf.edit.ui.action.EditingDomainActionBarContributor; +import org.eclipse.emf.edit.ui.action.LoadResourceAction; +import org.eclipse.emf.edit.ui.action.ValidateAction; + +import org.eclipse.jface.action.Action; +import org.eclipse.jface.action.ActionContributionItem; +import org.eclipse.jface.action.IAction; +import org.eclipse.jface.action.IContributionItem; +import org.eclipse.jface.action.IContributionManager; +import org.eclipse.jface.action.IMenuListener; +import org.eclipse.jface.action.IMenuManager; +import org.eclipse.jface.action.IToolBarManager; +import org.eclipse.jface.action.MenuManager; +import org.eclipse.jface.action.Separator; +import org.eclipse.jface.action.SubContributionItem; + +import org.eclipse.jface.viewers.ISelection; +import org.eclipse.jface.viewers.ISelectionChangedListener; +import org.eclipse.jface.viewers.ISelectionProvider; +import org.eclipse.jface.viewers.IStructuredSelection; +import org.eclipse.jface.viewers.SelectionChangedEvent; +import org.eclipse.jface.viewers.Viewer; + +import org.eclipse.ui.IEditorPart; +import org.eclipse.ui.PartInitException; + +/** + * This is the action bar contributor for the Statemachine model editor. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class StatemachineActionBarContributor extends EditingDomainActionBarContributor + implements ISelectionChangedListener { + /** + * This keeps track of the active editor. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected IEditorPart activeEditorPart; + + /** + * This keeps track of the current selection provider. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ISelectionProvider selectionProvider; + + /** + * This action opens the Properties view. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected IAction showPropertiesViewAction = new Action( + StatemachineEditorPlugin.INSTANCE.getString("_UI_ShowPropertiesView_menu_item")) { + @Override + public void run() { + try { + getPage().showView("org.eclipse.ui.views.PropertySheet"); + } catch (PartInitException exception) { + StatemachineEditorPlugin.INSTANCE.log(exception); + } + } + }; + + /** + * This action refreshes the viewer of the current editor if the editor + * implements {@link org.eclipse.emf.common.ui.viewer.IViewerProvider}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected IAction refreshViewerAction = new Action( + StatemachineEditorPlugin.INSTANCE.getString("_UI_RefreshViewer_menu_item")) { + @Override + public boolean isEnabled() { + return activeEditorPart instanceof IViewerProvider; + } + + @Override + public void run() { + if (activeEditorPart instanceof IViewerProvider) { + Viewer viewer = ((IViewerProvider) activeEditorPart).getViewer(); + if (viewer != null) { + viewer.refresh(); + } + } + } + }; + + /** + * This will contain one {@link org.eclipse.emf.edit.ui.action.CreateChildAction} corresponding to each descriptor + * generated for the current selection by the item provider. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Collection<IAction> createChildActions; + + /** + * This is the menu manager into which menu contribution items should be added for CreateChild actions. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected IMenuManager createChildMenuManager; + + /** + * This will contain one {@link org.eclipse.emf.edit.ui.action.CreateSiblingAction} corresponding to each descriptor + * generated for the current selection by the item provider. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Collection<IAction> createSiblingActions; + + /** + * This is the menu manager into which menu contribution items should be added for CreateSibling actions. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected IMenuManager createSiblingMenuManager; + + /** + * This creates an instance of the contributor. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public StatemachineActionBarContributor() { + super(ADDITIONS_LAST_STYLE); + loadResourceAction = new LoadResourceAction(); + validateAction = new ValidateAction(); + controlAction = new ControlAction(); + } + + /** + * This adds Separators for editor additions to the tool bar. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void contributeToToolBar(IToolBarManager toolBarManager) { + super.contributeToToolBar(toolBarManager); + toolBarManager.add(new Separator("statemachine-settings")); + toolBarManager.add(new Separator("statemachine-additions")); + } + + /** + * This adds to the menu bar a menu and some separators for editor additions, + * as well as the sub-menus for object creation items. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void contributeToMenu(IMenuManager menuManager) { + super.contributeToMenu(menuManager); + + IMenuManager submenuManager = new MenuManager( + StatemachineEditorPlugin.INSTANCE.getString("_UI_StatemachineEditor_menu"), + "swt.most.statemachineMenuID"); + menuManager.insertAfter("additions", submenuManager); + submenuManager.add(new Separator("settings")); + submenuManager.add(new Separator("actions")); + submenuManager.add(new Separator("additions")); + submenuManager.add(new Separator("additions-end")); + + // Prepare for CreateChild item addition or removal. + // + createChildMenuManager = new MenuManager( + StatemachineEditorPlugin.INSTANCE.getString("_UI_CreateChild_menu_item")); + submenuManager.insertBefore("additions", createChildMenuManager); + + // Prepare for CreateSibling item addition or removal. + // + createSiblingMenuManager = new MenuManager( + StatemachineEditorPlugin.INSTANCE.getString("_UI_CreateSibling_menu_item")); + submenuManager.insertBefore("additions", createSiblingMenuManager); + + // Force an update because Eclipse hides empty menus now. + // + submenuManager.addMenuListener(new IMenuListener() { + public void menuAboutToShow(IMenuManager menuManager) { + menuManager.updateAll(true); + } + }); + + addGlobalActions(submenuManager); + } + + /** + * When the active editor changes, this remembers the change and registers with it as a selection provider. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void setActiveEditor(IEditorPart part) { + super.setActiveEditor(part); + activeEditorPart = part; + + // Switch to the new selection provider. + // + if (selectionProvider != null) { + selectionProvider.removeSelectionChangedListener(this); + } + if (part == null) { + selectionProvider = null; + } else { + selectionProvider = part.getSite().getSelectionProvider(); + selectionProvider.addSelectionChangedListener(this); + + // Fake a selection changed event to update the menus. + // + if (selectionProvider.getSelection() != null) { + selectionChanged(new SelectionChangedEvent(selectionProvider, selectionProvider.getSelection())); + } + } + } + + /** + * This implements {@link org.eclipse.jface.viewers.ISelectionChangedListener}, + * handling {@link org.eclipse.jface.viewers.SelectionChangedEvent}s by querying for the children and siblings + * that can be added to the selected object and updating the menus accordingly. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void selectionChanged(SelectionChangedEvent event) { + // Remove any menu items for old selection. + // + if (createChildMenuManager != null) { + depopulateManager(createChildMenuManager, createChildActions); + } + if (createSiblingMenuManager != null) { + depopulateManager(createSiblingMenuManager, createSiblingActions); + } + + // Query the new selection for appropriate new child/sibling descriptors + // + Collection<?> newChildDescriptors = null; + Collection<?> newSiblingDescriptors = null; + + ISelection selection = event.getSelection(); + if (selection instanceof IStructuredSelection && ((IStructuredSelection) selection).size() == 1) { + Object object = ((IStructuredSelection) selection).getFirstElement(); + + EditingDomain domain = ((IEditingDomainProvider) activeEditorPart).getEditingDomain(); + + newChildDescriptors = domain.getNewChildDescriptors(object, null); + newSiblingDescriptors = domain.getNewChildDescriptors(null, object); + } + + // Generate actions for selection; populate and redraw the menus. + // + createChildActions = generateCreateChildActions(newChildDescriptors, selection); + createSiblingActions = generateCreateSiblingActions(newSiblingDescriptors, selection); + + if (createChildMenuManager != null) { + populateManager(createChildMenuManager, createChildActions, null); + createChildMenuManager.update(true); + } + if (createSiblingMenuManager != null) { + populateManager(createSiblingMenuManager, createSiblingActions, null); + createSiblingMenuManager.update(true); + } + } + + /** + * This generates a {@link org.eclipse.emf.edit.ui.action.CreateChildAction} for each object in <code>descriptors</code>, + * and returns the collection of these actions. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Collection<IAction> generateCreateChildActions(Collection<?> descriptors, ISelection selection) { + Collection<IAction> actions = new ArrayList<IAction>(); + if (descriptors != null) { + for (Object descriptor : descriptors) { + actions.add(new CreateChildAction(activeEditorPart, selection, descriptor)); + } + } + return actions; + } + + /** + * This generates a {@link org.eclipse.emf.edit.ui.action.CreateSiblingAction} for each object in <code>descriptors</code>, + * and returns the collection of these actions. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Collection<IAction> generateCreateSiblingActions(Collection<?> descriptors, ISelection selection) { + Collection<IAction> actions = new ArrayList<IAction>(); + if (descriptors != null) { + for (Object descriptor : descriptors) { + actions.add(new CreateSiblingAction(activeEditorPart, selection, descriptor)); + } + } + return actions; + } + + /** + * This populates the specified <code>manager</code> with {@link org.eclipse.jface.action.ActionContributionItem}s + * based on the {@link org.eclipse.jface.action.IAction}s contained in the <code>actions</code> collection, + * by inserting them before the specified contribution item <code>contributionID</code>. + * If <code>contributionID</code> is <code>null</code>, they are simply added. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void populateManager(IContributionManager manager, Collection<? extends IAction> actions, + String contributionID) { + if (actions != null) { + for (IAction action : actions) { + if (contributionID != null) { + manager.insertBefore(contributionID, action); + } else { + manager.add(action); + } + } + } + } + + /** + * This removes from the specified <code>manager</code> all {@link org.eclipse.jface.action.ActionContributionItem}s + * based on the {@link org.eclipse.jface.action.IAction}s contained in the <code>actions</code> collection. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void depopulateManager(IContributionManager manager, Collection<? extends IAction> actions) { + if (actions != null) { + IContributionItem[] items = manager.getItems(); + for (int i = 0; i < items.length; i++) { + // Look into SubContributionItems + // + IContributionItem contributionItem = items[i]; + while (contributionItem instanceof SubContributionItem) { + contributionItem = ((SubContributionItem) contributionItem).getInnerItem(); + } + + // Delete the ActionContributionItems with matching action. + // + if (contributionItem instanceof ActionContributionItem) { + IAction action = ((ActionContributionItem) contributionItem).getAction(); + if (actions.contains(action)) { + manager.remove(contributionItem); + } + } + } + } + } + + /** + * This populates the pop-up menu before it appears. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void menuAboutToShow(IMenuManager menuManager) { + super.menuAboutToShow(menuManager); + MenuManager submenuManager = null; + + submenuManager = new MenuManager(StatemachineEditorPlugin.INSTANCE.getString("_UI_CreateChild_menu_item")); + populateManager(submenuManager, createChildActions, null); + menuManager.insertBefore("edit", submenuManager); + + submenuManager = new MenuManager(StatemachineEditorPlugin.INSTANCE.getString("_UI_CreateSibling_menu_item")); + populateManager(submenuManager, createSiblingActions, null); + menuManager.insertBefore("edit", submenuManager); + } + + /** + * This inserts global actions before the "additions-end" separator. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected void addGlobalActions(IMenuManager menuManager) { + menuManager.insertAfter("additions-end", new Separator("ui-actions")); + menuManager.insertAfter("ui-actions", showPropertiesViewAction); + + refreshViewerAction.setEnabled(refreshViewerAction.isEnabled()); + menuManager.insertAfter("ui-actions", refreshViewerAction); + + super.addGlobalActions(menuManager); + } + + /** + * This ensures that a delete action will clean up all references to deleted objects. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected boolean removeAllReferencesOnDelete() { + return true; + } + +} diff --git a/metamodel/swt.most.statemachine.editor/src-gen/swt/most/statemachine/presentation/StatemachineEditor.java b/metamodel/swt.most.statemachine.editor/src-gen/swt/most/statemachine/presentation/StatemachineEditor.java new file mode 100644 index 0000000..3edf894 --- /dev/null +++ b/metamodel/swt.most.statemachine.editor/src-gen/swt/most/statemachine/presentation/StatemachineEditor.java @@ -0,0 +1,1775 @@ +/** + */ +package swt.most.statemachine.presentation; + +import java.io.IOException; +import java.io.InputStream; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.EventObject; +import java.util.HashMap; +import java.util.Iterator; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; + +import org.eclipse.core.resources.IFile; +import org.eclipse.core.resources.IMarker; +import org.eclipse.core.resources.IResource; +import org.eclipse.core.resources.IResourceChangeEvent; +import org.eclipse.core.resources.IResourceChangeListener; +import org.eclipse.core.resources.IResourceDelta; +import org.eclipse.core.resources.IResourceDeltaVisitor; +import org.eclipse.core.resources.ResourcesPlugin; + +import org.eclipse.core.runtime.CoreException; +import org.eclipse.core.runtime.IPath; +import org.eclipse.core.runtime.IProgressMonitor; +import org.eclipse.core.runtime.NullProgressMonitor; + +import org.eclipse.jface.action.IMenuListener; +import org.eclipse.jface.action.IMenuManager; +import org.eclipse.jface.action.IStatusLineManager; +import org.eclipse.jface.action.IToolBarManager; +import org.eclipse.jface.action.MenuManager; +import org.eclipse.jface.action.Separator; + +import org.eclipse.jface.dialogs.MessageDialog; +import org.eclipse.jface.dialogs.ProgressMonitorDialog; + +import org.eclipse.jface.util.LocalSelectionTransfer; + +import org.eclipse.jface.viewers.ColumnWeightData; +import org.eclipse.jface.viewers.ISelection; +import org.eclipse.jface.viewers.ISelectionChangedListener; +import org.eclipse.jface.viewers.ISelectionProvider; +import org.eclipse.jface.viewers.IStructuredSelection; +import org.eclipse.jface.viewers.ListViewer; +import org.eclipse.jface.viewers.SelectionChangedEvent; +import org.eclipse.jface.viewers.StructuredSelection; +import org.eclipse.jface.viewers.StructuredViewer; +import org.eclipse.jface.viewers.TableLayout; +import org.eclipse.jface.viewers.TableViewer; +import org.eclipse.jface.viewers.TreeViewer; +import org.eclipse.jface.viewers.Viewer; + +import org.eclipse.swt.SWT; + +import org.eclipse.swt.custom.CTabFolder; + +import org.eclipse.swt.dnd.DND; +import org.eclipse.swt.dnd.FileTransfer; +import org.eclipse.swt.dnd.Transfer; + +import org.eclipse.swt.events.ControlAdapter; +import org.eclipse.swt.events.ControlEvent; + +import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.graphics.Rectangle; + +import org.eclipse.swt.layout.FillLayout; + +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Menu; +import org.eclipse.swt.widgets.Table; +import org.eclipse.swt.widgets.TableColumn; +import org.eclipse.swt.widgets.Tree; +import org.eclipse.swt.widgets.TreeColumn; + +import org.eclipse.ui.IActionBars; +import org.eclipse.ui.IEditorInput; +import org.eclipse.ui.IEditorPart; +import org.eclipse.ui.IEditorSite; +import org.eclipse.ui.IPartListener; +import org.eclipse.ui.IWorkbenchPart; +import org.eclipse.ui.PartInitException; + +import org.eclipse.ui.dialogs.SaveAsDialog; + +import org.eclipse.ui.ide.IGotoMarker; + +import org.eclipse.ui.part.FileEditorInput; +import org.eclipse.ui.part.MultiPageEditorPart; + +import org.eclipse.ui.views.contentoutline.ContentOutline; +import org.eclipse.ui.views.contentoutline.ContentOutlinePage; +import org.eclipse.ui.views.contentoutline.IContentOutlinePage; + +import org.eclipse.ui.views.properties.IPropertySheetPage; +import org.eclipse.ui.views.properties.PropertySheet; +import org.eclipse.ui.views.properties.PropertySheetPage; + +import org.eclipse.emf.common.command.BasicCommandStack; +import org.eclipse.emf.common.command.Command; +import org.eclipse.emf.common.command.CommandStack; +import org.eclipse.emf.common.command.CommandStackListener; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.ui.MarkerHelper; +import org.eclipse.emf.common.ui.ViewerPane; + +import org.eclipse.emf.common.ui.editor.ProblemEditorPart; + +import org.eclipse.emf.common.ui.viewer.IViewerProvider; + +import org.eclipse.emf.common.util.BasicDiagnostic; +import org.eclipse.emf.common.util.Diagnostic; +import org.eclipse.emf.common.util.URI; + +import org.eclipse.emf.ecore.resource.Resource; +import org.eclipse.emf.ecore.resource.ResourceSet; + +import org.eclipse.emf.ecore.util.EContentAdapter; +import org.eclipse.emf.ecore.util.EcoreUtil; + +import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain; +import org.eclipse.emf.edit.domain.EditingDomain; +import org.eclipse.emf.edit.domain.IEditingDomainProvider; + +import org.eclipse.emf.edit.provider.AdapterFactoryItemDelegator; +import org.eclipse.emf.edit.provider.ComposedAdapterFactory; +import org.eclipse.emf.edit.provider.ReflectiveItemProviderAdapterFactory; + +import org.eclipse.emf.edit.provider.resource.ResourceItemProviderAdapterFactory; + +import org.eclipse.emf.edit.ui.action.EditingDomainActionBarContributor; + +import org.eclipse.emf.edit.ui.celleditor.AdapterFactoryTreeEditor; + +import org.eclipse.emf.edit.ui.dnd.EditingDomainViewerDropAdapter; +import org.eclipse.emf.edit.ui.dnd.LocalTransfer; +import org.eclipse.emf.edit.ui.dnd.ViewerDragAdapter; + +import org.eclipse.emf.edit.ui.provider.AdapterFactoryContentProvider; +import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider; +import org.eclipse.emf.edit.ui.provider.UnwrappingSelectionProvider; + +import org.eclipse.emf.edit.ui.util.EditUIMarkerHelper; +import org.eclipse.emf.edit.ui.util.EditUIUtil; + +import org.eclipse.emf.edit.ui.view.ExtendedPropertySheetPage; + +import swt.most.statemachine.provider.StatemachineItemProviderAdapterFactory; + +import org.eclipse.ui.actions.WorkspaceModifyOperation; + +/** + * This is an example of a Statemachine model editor. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class StatemachineEditor extends MultiPageEditorPart + implements IEditingDomainProvider, ISelectionProvider, IMenuListener, IViewerProvider, IGotoMarker { + /** + * This keeps track of the editing domain that is used to track all changes to the model. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected AdapterFactoryEditingDomain editingDomain; + + /** + * This is the one adapter factory used for providing views of the model. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ComposedAdapterFactory adapterFactory; + + /** + * This is the content outline page. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected IContentOutlinePage contentOutlinePage; + + /** + * This is a kludge... + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected IStatusLineManager contentOutlineStatusLineManager; + + /** + * This is the content outline page's viewer. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected TreeViewer contentOutlineViewer; + + /** + * This is the property sheet page. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected List<PropertySheetPage> propertySheetPages = new ArrayList<PropertySheetPage>(); + + /** + * This is the viewer that shadows the selection in the content outline. + * The parent relation must be correctly defined for this to work. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected TreeViewer selectionViewer; + + /** + * This inverts the roll of parent and child in the content provider and show parents as a tree. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected TreeViewer parentViewer; + + /** + * This shows how a tree view works. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected TreeViewer treeViewer; + + /** + * This shows how a list view works. + * A list viewer doesn't support icons. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ListViewer listViewer; + + /** + * This shows how a table view works. + * A table can be used as a list with icons. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected TableViewer tableViewer; + + /** + * This shows how a tree view with columns works. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected TreeViewer treeViewerWithColumns; + + /** + * This keeps track of the active viewer pane, in the book. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ViewerPane currentViewerPane; + + /** + * This keeps track of the active content viewer, which may be either one of the viewers in the pages or the content outline viewer. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Viewer currentViewer; + + /** + * This listens to which ever viewer is active. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ISelectionChangedListener selectionChangedListener; + + /** + * This keeps track of all the {@link org.eclipse.jface.viewers.ISelectionChangedListener}s that are listening to this editor. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Collection<ISelectionChangedListener> selectionChangedListeners = new ArrayList<ISelectionChangedListener>(); + + /** + * This keeps track of the selection of the editor as a whole. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ISelection editorSelection = StructuredSelection.EMPTY; + + /** + * The MarkerHelper is responsible for creating workspace resource markers presented + * in Eclipse's Problems View. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected MarkerHelper markerHelper = new EditUIMarkerHelper(); + + /** + * This listens for when the outline becomes active + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected IPartListener partListener = new IPartListener() { + public void partActivated(IWorkbenchPart p) { + if (p instanceof ContentOutline) { + if (((ContentOutline) p).getCurrentPage() == contentOutlinePage) { + getActionBarContributor().setActiveEditor(StatemachineEditor.this); + + setCurrentViewer(contentOutlineViewer); + } + } else if (p instanceof PropertySheet) { + if (propertySheetPages.contains(((PropertySheet) p).getCurrentPage())) { + getActionBarContributor().setActiveEditor(StatemachineEditor.this); + handleActivate(); + } + } else if (p == StatemachineEditor.this) { + handleActivate(); + } + } + + public void partBroughtToTop(IWorkbenchPart p) { + // Ignore. + } + + public void partClosed(IWorkbenchPart p) { + // Ignore. + } + + public void partDeactivated(IWorkbenchPart p) { + // Ignore. + } + + public void partOpened(IWorkbenchPart p) { + // Ignore. + } + }; + + /** + * Resources that have been removed since last activation. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Collection<Resource> removedResources = new ArrayList<Resource>(); + + /** + * Resources that have been changed since last activation. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Collection<Resource> changedResources = new ArrayList<Resource>(); + + /** + * Resources that have been saved. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Collection<Resource> savedResources = new ArrayList<Resource>(); + + /** + * Map to store the diagnostic associated with a resource. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Map<Resource, Diagnostic> resourceToDiagnosticMap = new LinkedHashMap<Resource, Diagnostic>(); + + /** + * Controls whether the problem indication should be updated. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected boolean updateProblemIndication = true; + + /** + * Adapter used to update the problem indication when resources are demanded loaded. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected EContentAdapter problemIndicationAdapter = new EContentAdapter() { + protected boolean dispatching; + + @Override + public void notifyChanged(Notification notification) { + if (notification.getNotifier() instanceof Resource) { + switch (notification.getFeatureID(Resource.class)) { + case Resource.RESOURCE__IS_LOADED: + case Resource.RESOURCE__ERRORS: + case Resource.RESOURCE__WARNINGS: { + Resource resource = (Resource) notification.getNotifier(); + Diagnostic diagnostic = analyzeResourceProblems(resource, null); + if (diagnostic.getSeverity() != Diagnostic.OK) { + resourceToDiagnosticMap.put(resource, diagnostic); + } else { + resourceToDiagnosticMap.remove(resource); + } + dispatchUpdateProblemIndication(); + break; + } + } + } else { + super.notifyChanged(notification); + } + } + + protected void dispatchUpdateProblemIndication() { + if (updateProblemIndication && !dispatching) { + dispatching = true; + getSite().getShell().getDisplay().asyncExec(new Runnable() { + public void run() { + dispatching = false; + updateProblemIndication(); + } + }); + } + } + + @Override + protected void setTarget(Resource target) { + basicSetTarget(target); + } + + @Override + protected void unsetTarget(Resource target) { + basicUnsetTarget(target); + resourceToDiagnosticMap.remove(target); + dispatchUpdateProblemIndication(); + } + }; + + /** + * This listens for workspace changes. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected IResourceChangeListener resourceChangeListener = new IResourceChangeListener() { + public void resourceChanged(IResourceChangeEvent event) { + IResourceDelta delta = event.getDelta(); + try { + class ResourceDeltaVisitor implements IResourceDeltaVisitor { + protected ResourceSet resourceSet = editingDomain.getResourceSet(); + protected Collection<Resource> changedResources = new ArrayList<Resource>(); + protected Collection<Resource> removedResources = new ArrayList<Resource>(); + + public boolean visit(IResourceDelta delta) { + if (delta.getResource().getType() == IResource.FILE) { + if (delta.getKind() == IResourceDelta.REMOVED || delta.getKind() == IResourceDelta.CHANGED + && delta.getFlags() != IResourceDelta.MARKERS) { + Resource resource = resourceSet.getResource( + URI.createPlatformResourceURI(delta.getFullPath().toString(), true), false); + if (resource != null) { + if (delta.getKind() == IResourceDelta.REMOVED) { + removedResources.add(resource); + } else if (!savedResources.remove(resource)) { + changedResources.add(resource); + } + } + } + return false; + } + + return true; + } + + public Collection<Resource> getChangedResources() { + return changedResources; + } + + public Collection<Resource> getRemovedResources() { + return removedResources; + } + } + + final ResourceDeltaVisitor visitor = new ResourceDeltaVisitor(); + delta.accept(visitor); + + if (!visitor.getRemovedResources().isEmpty()) { + getSite().getShell().getDisplay().asyncExec(new Runnable() { + public void run() { + removedResources.addAll(visitor.getRemovedResources()); + if (!isDirty()) { + getSite().getPage().closeEditor(StatemachineEditor.this, false); + } + } + }); + } + + if (!visitor.getChangedResources().isEmpty()) { + getSite().getShell().getDisplay().asyncExec(new Runnable() { + public void run() { + changedResources.addAll(visitor.getChangedResources()); + if (getSite().getPage().getActiveEditor() == StatemachineEditor.this) { + handleActivate(); + } + } + }); + } + } catch (CoreException exception) { + StatemachineEditorPlugin.INSTANCE.log(exception); + } + } + }; + + /** + * Handles activation of the editor or it's associated views. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void handleActivate() { + // Recompute the read only state. + // + if (editingDomain.getResourceToReadOnlyMap() != null) { + editingDomain.getResourceToReadOnlyMap().clear(); + + // Refresh any actions that may become enabled or disabled. + // + setSelection(getSelection()); + } + + if (!removedResources.isEmpty()) { + if (handleDirtyConflict()) { + getSite().getPage().closeEditor(StatemachineEditor.this, false); + } else { + removedResources.clear(); + changedResources.clear(); + savedResources.clear(); + } + } else if (!changedResources.isEmpty()) { + changedResources.removeAll(savedResources); + handleChangedResources(); + changedResources.clear(); + savedResources.clear(); + } + } + + /** + * Handles what to do with changed resources on activation. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void handleChangedResources() { + if (!changedResources.isEmpty() && (!isDirty() || handleDirtyConflict())) { + ResourceSet resourceSet = editingDomain.getResourceSet(); + if (isDirty()) { + changedResources.addAll(resourceSet.getResources()); + } + editingDomain.getCommandStack().flush(); + + updateProblemIndication = false; + for (Resource resource : changedResources) { + if (resource.isLoaded()) { + resource.unload(); + try { + resource.load(resourceSet.getLoadOptions()); + } catch (IOException exception) { + if (!resourceToDiagnosticMap.containsKey(resource)) { + resourceToDiagnosticMap.put(resource, analyzeResourceProblems(resource, exception)); + } + } + } + } + + if (AdapterFactoryEditingDomain.isStale(editorSelection)) { + setSelection(StructuredSelection.EMPTY); + } + + updateProblemIndication = true; + updateProblemIndication(); + } + } + + /** + * Updates the problems indication with the information described in the specified diagnostic. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void updateProblemIndication() { + if (updateProblemIndication) { + BasicDiagnostic diagnostic = new BasicDiagnostic(Diagnostic.OK, "swt.most.statemachine.editor", 0, null, + new Object[] { editingDomain.getResourceSet() }); + for (Diagnostic childDiagnostic : resourceToDiagnosticMap.values()) { + if (childDiagnostic.getSeverity() != Diagnostic.OK) { + diagnostic.add(childDiagnostic); + } + } + + int lastEditorPage = getPageCount() - 1; + if (lastEditorPage >= 0 && getEditor(lastEditorPage) instanceof ProblemEditorPart) { + ((ProblemEditorPart) getEditor(lastEditorPage)).setDiagnostic(diagnostic); + if (diagnostic.getSeverity() != Diagnostic.OK) { + setActivePage(lastEditorPage); + } + } else if (diagnostic.getSeverity() != Diagnostic.OK) { + ProblemEditorPart problemEditorPart = new ProblemEditorPart(); + problemEditorPart.setDiagnostic(diagnostic); + problemEditorPart.setMarkerHelper(markerHelper); + try { + addPage(++lastEditorPage, problemEditorPart, getEditorInput()); + setPageText(lastEditorPage, problemEditorPart.getPartName()); + setActivePage(lastEditorPage); + showTabs(); + } catch (PartInitException exception) { + StatemachineEditorPlugin.INSTANCE.log(exception); + } + } + + if (markerHelper.hasMarkers(editingDomain.getResourceSet())) { + try { + markerHelper.updateMarkers(diagnostic); + } catch (CoreException exception) { + StatemachineEditorPlugin.INSTANCE.log(exception); + } + } + } + } + + /** + * Shows a dialog that asks if conflicting changes should be discarded. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected boolean handleDirtyConflict() { + return MessageDialog.openQuestion(getSite().getShell(), getString("_UI_FileConflict_label"), + getString("_WARN_FileConflict")); + } + + /** + * This creates a model editor. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public StatemachineEditor() { + super(); + initializeEditingDomain(); + } + + /** + * This sets up the editing domain for the model editor. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void initializeEditingDomain() { + // Create an adapter factory that yields item providers. + // + adapterFactory = new ComposedAdapterFactory(ComposedAdapterFactory.Descriptor.Registry.INSTANCE); + + adapterFactory.addAdapterFactory(new ResourceItemProviderAdapterFactory()); + adapterFactory.addAdapterFactory(new StatemachineItemProviderAdapterFactory()); + adapterFactory.addAdapterFactory(new ReflectiveItemProviderAdapterFactory()); + + // Create the command stack that will notify this editor as commands are executed. + // + BasicCommandStack commandStack = new BasicCommandStack(); + + // Add a listener to set the most recent command's affected objects to be the selection of the viewer with focus. + // + commandStack.addCommandStackListener(new CommandStackListener() { + public void commandStackChanged(final EventObject event) { + getContainer().getDisplay().asyncExec(new Runnable() { + public void run() { + firePropertyChange(IEditorPart.PROP_DIRTY); + + // Try to select the affected objects. + // + Command mostRecentCommand = ((CommandStack) event.getSource()).getMostRecentCommand(); + if (mostRecentCommand != null) { + setSelectionToViewer(mostRecentCommand.getAffectedObjects()); + } + for (Iterator<PropertySheetPage> i = propertySheetPages.iterator(); i.hasNext();) { + PropertySheetPage propertySheetPage = i.next(); + if (propertySheetPage.getControl() == null || propertySheetPage.getControl().isDisposed()) { + i.remove(); + } else { + propertySheetPage.refresh(); + } + } + } + }); + } + }); + + // Create the editing domain with a special command stack. + // + editingDomain = new AdapterFactoryEditingDomain(adapterFactory, commandStack, new HashMap<Resource, Boolean>()); + } + + /** + * This is here for the listener to be able to call it. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected void firePropertyChange(int action) { + super.firePropertyChange(action); + } + + /** + * This sets the selection into whichever viewer is active. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setSelectionToViewer(Collection<?> collection) { + final Collection<?> theSelection = collection; + // Make sure it's okay. + // + if (theSelection != null && !theSelection.isEmpty()) { + Runnable runnable = new Runnable() { + public void run() { + // Try to select the items in the current content viewer of the editor. + // + if (currentViewer != null) { + currentViewer.setSelection(new StructuredSelection(theSelection.toArray()), true); + } + } + }; + getSite().getShell().getDisplay().asyncExec(runnable); + } + } + + /** + * This returns the editing domain as required by the {@link IEditingDomainProvider} interface. + * This is important for implementing the static methods of {@link AdapterFactoryEditingDomain} + * and for supporting {@link org.eclipse.emf.edit.ui.action.CommandAction}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EditingDomain getEditingDomain() { + return editingDomain; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public class ReverseAdapterFactoryContentProvider extends AdapterFactoryContentProvider { + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ReverseAdapterFactoryContentProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object[] getElements(Object object) { + Object parent = super.getParent(object); + return (parent == null ? Collections.EMPTY_SET : Collections.singleton(parent)).toArray(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object[] getChildren(Object object) { + Object parent = super.getParent(object); + return (parent == null ? Collections.EMPTY_SET : Collections.singleton(parent)).toArray(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean hasChildren(Object object) { + Object parent = super.getParent(object); + return parent != null; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object getParent(Object object) { + return null; + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setCurrentViewerPane(ViewerPane viewerPane) { + if (currentViewerPane != viewerPane) { + if (currentViewerPane != null) { + currentViewerPane.showFocus(false); + } + currentViewerPane = viewerPane; + } + setCurrentViewer(currentViewerPane.getViewer()); + } + + /** + * This makes sure that one content viewer, either for the current page or the outline view, if it has focus, + * is the current one. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setCurrentViewer(Viewer viewer) { + // If it is changing... + // + if (currentViewer != viewer) { + if (selectionChangedListener == null) { + // Create the listener on demand. + // + selectionChangedListener = new ISelectionChangedListener() { + // This just notifies those things that are affected by the section. + // + public void selectionChanged(SelectionChangedEvent selectionChangedEvent) { + setSelection(selectionChangedEvent.getSelection()); + } + }; + } + + // Stop listening to the old one. + // + if (currentViewer != null) { + currentViewer.removeSelectionChangedListener(selectionChangedListener); + } + + // Start listening to the new one. + // + if (viewer != null) { + viewer.addSelectionChangedListener(selectionChangedListener); + } + + // Remember it. + // + currentViewer = viewer; + + // Set the editors selection based on the current viewer's selection. + // + setSelection(currentViewer == null ? StructuredSelection.EMPTY : currentViewer.getSelection()); + } + } + + /** + * This returns the viewer as required by the {@link IViewerProvider} interface. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Viewer getViewer() { + return currentViewer; + } + + /** + * This creates a context menu for the viewer and adds a listener as well registering the menu for extension. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void createContextMenuFor(StructuredViewer viewer) { + MenuManager contextMenu = new MenuManager("#PopUp"); + contextMenu.add(new Separator("additions")); + contextMenu.setRemoveAllWhenShown(true); + contextMenu.addMenuListener(this); + Menu menu = contextMenu.createContextMenu(viewer.getControl()); + viewer.getControl().setMenu(menu); + getSite().registerContextMenu(contextMenu, new UnwrappingSelectionProvider(viewer)); + + int dndOperations = DND.DROP_COPY | DND.DROP_MOVE | DND.DROP_LINK; + Transfer[] transfers = new Transfer[] { LocalTransfer.getInstance(), LocalSelectionTransfer.getTransfer(), + FileTransfer.getInstance() }; + viewer.addDragSupport(dndOperations, transfers, new ViewerDragAdapter(viewer)); + viewer.addDropSupport(dndOperations, transfers, new EditingDomainViewerDropAdapter(editingDomain, viewer)); + } + + /** + * This is the method called to load a resource into the editing domain's resource set based on the editor's input. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void createModel() { + URI resourceURI = EditUIUtil.getURI(getEditorInput(), editingDomain.getResourceSet().getURIConverter()); + Exception exception = null; + Resource resource = null; + try { + // Load the resource through the editing domain. + // + resource = editingDomain.getResourceSet().getResource(resourceURI, true); + } catch (Exception e) { + exception = e; + resource = editingDomain.getResourceSet().getResource(resourceURI, false); + } + + Diagnostic diagnostic = analyzeResourceProblems(resource, exception); + if (diagnostic.getSeverity() != Diagnostic.OK) { + resourceToDiagnosticMap.put(resource, analyzeResourceProblems(resource, exception)); + } + editingDomain.getResourceSet().eAdapters().add(problemIndicationAdapter); + } + + /** + * Returns a diagnostic describing the errors and warnings listed in the resource + * and the specified exception (if any). + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Diagnostic analyzeResourceProblems(Resource resource, Exception exception) { + boolean hasErrors = !resource.getErrors().isEmpty(); + if (hasErrors || !resource.getWarnings().isEmpty()) { + BasicDiagnostic basicDiagnostic = new BasicDiagnostic(hasErrors ? Diagnostic.ERROR : Diagnostic.WARNING, + "swt.most.statemachine.editor", 0, getString("_UI_CreateModelError_message", resource.getURI()), + new Object[] { exception == null ? (Object) resource : exception }); + basicDiagnostic.merge(EcoreUtil.computeDiagnostic(resource, true)); + return basicDiagnostic; + } else if (exception != null) { + return new BasicDiagnostic(Diagnostic.ERROR, "swt.most.statemachine.editor", 0, + getString("_UI_CreateModelError_message", resource.getURI()), new Object[] { exception }); + } else { + return Diagnostic.OK_INSTANCE; + } + } + + /** + * This is the method used by the framework to install your own controls. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void createPages() { + // Creates the model from the editor input + // + createModel(); + + // Only creates the other pages if there is something that can be edited + // + if (!getEditingDomain().getResourceSet().getResources().isEmpty()) { + // Create a page for the selection tree view. + // + { + ViewerPane viewerPane = new ViewerPane(getSite().getPage(), StatemachineEditor.this) { + @Override + public Viewer createViewer(Composite composite) { + Tree tree = new Tree(composite, SWT.MULTI); + TreeViewer newTreeViewer = new TreeViewer(tree); + return newTreeViewer; + } + + @Override + public void requestActivation() { + super.requestActivation(); + setCurrentViewerPane(this); + } + }; + viewerPane.createControl(getContainer()); + + selectionViewer = (TreeViewer) viewerPane.getViewer(); + selectionViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory)); + selectionViewer.setUseHashlookup(true); + + selectionViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory)); + selectionViewer.setInput(editingDomain.getResourceSet()); + selectionViewer.setSelection( + new StructuredSelection(editingDomain.getResourceSet().getResources().get(0)), true); + viewerPane.setTitle(editingDomain.getResourceSet()); + + new AdapterFactoryTreeEditor(selectionViewer.getTree(), adapterFactory); + + createContextMenuFor(selectionViewer); + int pageIndex = addPage(viewerPane.getControl()); + setPageText(pageIndex, getString("_UI_SelectionPage_label")); + } + + // Create a page for the parent tree view. + // + { + ViewerPane viewerPane = new ViewerPane(getSite().getPage(), StatemachineEditor.this) { + @Override + public Viewer createViewer(Composite composite) { + Tree tree = new Tree(composite, SWT.MULTI); + TreeViewer newTreeViewer = new TreeViewer(tree); + return newTreeViewer; + } + + @Override + public void requestActivation() { + super.requestActivation(); + setCurrentViewerPane(this); + } + }; + viewerPane.createControl(getContainer()); + + parentViewer = (TreeViewer) viewerPane.getViewer(); + parentViewer.setAutoExpandLevel(30); + parentViewer.setContentProvider(new ReverseAdapterFactoryContentProvider(adapterFactory)); + parentViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory)); + + createContextMenuFor(parentViewer); + int pageIndex = addPage(viewerPane.getControl()); + setPageText(pageIndex, getString("_UI_ParentPage_label")); + } + + // This is the page for the list viewer + // + { + ViewerPane viewerPane = new ViewerPane(getSite().getPage(), StatemachineEditor.this) { + @Override + public Viewer createViewer(Composite composite) { + return new ListViewer(composite); + } + + @Override + public void requestActivation() { + super.requestActivation(); + setCurrentViewerPane(this); + } + }; + viewerPane.createControl(getContainer()); + listViewer = (ListViewer) viewerPane.getViewer(); + listViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory)); + listViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory)); + + createContextMenuFor(listViewer); + int pageIndex = addPage(viewerPane.getControl()); + setPageText(pageIndex, getString("_UI_ListPage_label")); + } + + // This is the page for the tree viewer + // + { + ViewerPane viewerPane = new ViewerPane(getSite().getPage(), StatemachineEditor.this) { + @Override + public Viewer createViewer(Composite composite) { + return new TreeViewer(composite); + } + + @Override + public void requestActivation() { + super.requestActivation(); + setCurrentViewerPane(this); + } + }; + viewerPane.createControl(getContainer()); + treeViewer = (TreeViewer) viewerPane.getViewer(); + treeViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory)); + treeViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory)); + + new AdapterFactoryTreeEditor(treeViewer.getTree(), adapterFactory); + + createContextMenuFor(treeViewer); + int pageIndex = addPage(viewerPane.getControl()); + setPageText(pageIndex, getString("_UI_TreePage_label")); + } + + // This is the page for the table viewer. + // + { + ViewerPane viewerPane = new ViewerPane(getSite().getPage(), StatemachineEditor.this) { + @Override + public Viewer createViewer(Composite composite) { + return new TableViewer(composite); + } + + @Override + public void requestActivation() { + super.requestActivation(); + setCurrentViewerPane(this); + } + }; + viewerPane.createControl(getContainer()); + tableViewer = (TableViewer) viewerPane.getViewer(); + + Table table = tableViewer.getTable(); + TableLayout layout = new TableLayout(); + table.setLayout(layout); + table.setHeaderVisible(true); + table.setLinesVisible(true); + + TableColumn objectColumn = new TableColumn(table, SWT.NONE); + layout.addColumnData(new ColumnWeightData(3, 100, true)); + objectColumn.setText(getString("_UI_ObjectColumn_label")); + objectColumn.setResizable(true); + + TableColumn selfColumn = new TableColumn(table, SWT.NONE); + layout.addColumnData(new ColumnWeightData(2, 100, true)); + selfColumn.setText(getString("_UI_SelfColumn_label")); + selfColumn.setResizable(true); + + tableViewer.setColumnProperties(new String[] { "a", "b" }); + tableViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory)); + tableViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory)); + + createContextMenuFor(tableViewer); + int pageIndex = addPage(viewerPane.getControl()); + setPageText(pageIndex, getString("_UI_TablePage_label")); + } + + // This is the page for the table tree viewer. + // + { + ViewerPane viewerPane = new ViewerPane(getSite().getPage(), StatemachineEditor.this) { + @Override + public Viewer createViewer(Composite composite) { + return new TreeViewer(composite); + } + + @Override + public void requestActivation() { + super.requestActivation(); + setCurrentViewerPane(this); + } + }; + viewerPane.createControl(getContainer()); + + treeViewerWithColumns = (TreeViewer) viewerPane.getViewer(); + + Tree tree = treeViewerWithColumns.getTree(); + tree.setLayoutData(new FillLayout()); + tree.setHeaderVisible(true); + tree.setLinesVisible(true); + + TreeColumn objectColumn = new TreeColumn(tree, SWT.NONE); + objectColumn.setText(getString("_UI_ObjectColumn_label")); + objectColumn.setResizable(true); + objectColumn.setWidth(250); + + TreeColumn selfColumn = new TreeColumn(tree, SWT.NONE); + selfColumn.setText(getString("_UI_SelfColumn_label")); + selfColumn.setResizable(true); + selfColumn.setWidth(200); + + treeViewerWithColumns.setColumnProperties(new String[] { "a", "b" }); + treeViewerWithColumns.setContentProvider(new AdapterFactoryContentProvider(adapterFactory)); + treeViewerWithColumns.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory)); + + createContextMenuFor(treeViewerWithColumns); + int pageIndex = addPage(viewerPane.getControl()); + setPageText(pageIndex, getString("_UI_TreeWithColumnsPage_label")); + } + + getSite().getShell().getDisplay().asyncExec(new Runnable() { + public void run() { + if (!getContainer().isDisposed()) { + setActivePage(0); + } + } + }); + } + + // Ensures that this editor will only display the page's tab + // area if there are more than one page + // + getContainer().addControlListener(new ControlAdapter() { + boolean guard = false; + + @Override + public void controlResized(ControlEvent event) { + if (!guard) { + guard = true; + hideTabs(); + guard = false; + } + } + }); + + getSite().getShell().getDisplay().asyncExec(new Runnable() { + public void run() { + updateProblemIndication(); + } + }); + } + + /** + * If there is just one page in the multi-page editor part, + * this hides the single tab at the bottom. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void hideTabs() { + if (getPageCount() <= 1) { + setPageText(0, ""); + if (getContainer() instanceof CTabFolder) { + Point point = getContainer().getSize(); + Rectangle clientArea = getContainer().getClientArea(); + getContainer().setSize(point.x, 2 * point.y - clientArea.height - clientArea.y); + } + } + } + + /** + * If there is more than one page in the multi-page editor part, + * this shows the tabs at the bottom. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void showTabs() { + if (getPageCount() > 1) { + setPageText(0, getString("_UI_SelectionPage_label")); + if (getContainer() instanceof CTabFolder) { + Point point = getContainer().getSize(); + Rectangle clientArea = getContainer().getClientArea(); + getContainer().setSize(point.x, clientArea.height + clientArea.y); + } + } + } + + /** + * This is used to track the active viewer. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected void pageChange(int pageIndex) { + super.pageChange(pageIndex); + + if (contentOutlinePage != null) { + handleContentOutlineSelection(contentOutlinePage.getSelection()); + } + } + + /** + * This is how the framework determines which interfaces we implement. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public <T> T getAdapter(Class<T> key) { + if (key.equals(IContentOutlinePage.class)) { + return showOutlineView() ? key.cast(getContentOutlinePage()) : null; + } else if (key.equals(IPropertySheetPage.class)) { + return key.cast(getPropertySheetPage()); + } else if (key.equals(IGotoMarker.class)) { + return key.cast(this); + } else { + return super.getAdapter(key); + } + } + + /** + * This accesses a cached version of the content outliner. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public IContentOutlinePage getContentOutlinePage() { + if (contentOutlinePage == null) { + // The content outline is just a tree. + // + class MyContentOutlinePage extends ContentOutlinePage { + @Override + public void createControl(Composite parent) { + super.createControl(parent); + contentOutlineViewer = getTreeViewer(); + contentOutlineViewer.addSelectionChangedListener(this); + + // Set up the tree viewer. + // + contentOutlineViewer.setUseHashlookup(true); + contentOutlineViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory)); + contentOutlineViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory)); + contentOutlineViewer.setInput(editingDomain.getResourceSet()); + + // Make sure our popups work. + // + createContextMenuFor(contentOutlineViewer); + + if (!editingDomain.getResourceSet().getResources().isEmpty()) { + // Select the root object in the view. + // + contentOutlineViewer.setSelection( + new StructuredSelection(editingDomain.getResourceSet().getResources().get(0)), true); + } + } + + @Override + public void makeContributions(IMenuManager menuManager, IToolBarManager toolBarManager, + IStatusLineManager statusLineManager) { + super.makeContributions(menuManager, toolBarManager, statusLineManager); + contentOutlineStatusLineManager = statusLineManager; + } + + @Override + public void setActionBars(IActionBars actionBars) { + super.setActionBars(actionBars); + getActionBarContributor().shareGlobalActions(this, actionBars); + } + } + + contentOutlinePage = new MyContentOutlinePage(); + + // Listen to selection so that we can handle it is a special way. + // + contentOutlinePage.addSelectionChangedListener(new ISelectionChangedListener() { + // This ensures that we handle selections correctly. + // + public void selectionChanged(SelectionChangedEvent event) { + handleContentOutlineSelection(event.getSelection()); + } + }); + } + + return contentOutlinePage; + } + + /** + * This accesses a cached version of the property sheet. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public IPropertySheetPage getPropertySheetPage() { + PropertySheetPage propertySheetPage = new ExtendedPropertySheetPage(editingDomain, + ExtendedPropertySheetPage.Decoration.NONE, null, 0, false) { + @Override + public void setSelectionToViewer(List<?> selection) { + StatemachineEditor.this.setSelectionToViewer(selection); + StatemachineEditor.this.setFocus(); + } + + @Override + public void setActionBars(IActionBars actionBars) { + super.setActionBars(actionBars); + getActionBarContributor().shareGlobalActions(this, actionBars); + } + }; + propertySheetPage.setPropertySourceProvider(new AdapterFactoryContentProvider(adapterFactory)); + propertySheetPages.add(propertySheetPage); + + return propertySheetPage; + } + + /** + * This deals with how we want selection in the outliner to affect the other views. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void handleContentOutlineSelection(ISelection selection) { + if (currentViewerPane != null && !selection.isEmpty() && selection instanceof IStructuredSelection) { + Iterator<?> selectedElements = ((IStructuredSelection) selection).iterator(); + if (selectedElements.hasNext()) { + // Get the first selected element. + // + Object selectedElement = selectedElements.next(); + + // If it's the selection viewer, then we want it to select the same selection as this selection. + // + if (currentViewerPane.getViewer() == selectionViewer) { + ArrayList<Object> selectionList = new ArrayList<Object>(); + selectionList.add(selectedElement); + while (selectedElements.hasNext()) { + selectionList.add(selectedElements.next()); + } + + // Set the selection to the widget. + // + selectionViewer.setSelection(new StructuredSelection(selectionList)); + } else { + // Set the input to the widget. + // + if (currentViewerPane.getViewer().getInput() != selectedElement) { + currentViewerPane.getViewer().setInput(selectedElement); + currentViewerPane.setTitle(selectedElement); + } + } + } + } + } + + /** + * This is for implementing {@link IEditorPart} and simply tests the command stack. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isDirty() { + return ((BasicCommandStack) editingDomain.getCommandStack()).isSaveNeeded(); + } + + /** + * This is for implementing {@link IEditorPart} and simply saves the model file. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void doSave(IProgressMonitor progressMonitor) { + // Save only resources that have actually changed. + // + final Map<Object, Object> saveOptions = new HashMap<Object, Object>(); + saveOptions.put(Resource.OPTION_SAVE_ONLY_IF_CHANGED, Resource.OPTION_SAVE_ONLY_IF_CHANGED_MEMORY_BUFFER); + saveOptions.put(Resource.OPTION_LINE_DELIMITER, Resource.OPTION_LINE_DELIMITER_UNSPECIFIED); + + // Do the work within an operation because this is a long running activity that modifies the workbench. + // + WorkspaceModifyOperation operation = new WorkspaceModifyOperation() { + // This is the method that gets invoked when the operation runs. + // + @Override + public void execute(IProgressMonitor monitor) { + // Save the resources to the file system. + // + boolean first = true; + List<Resource> resources = editingDomain.getResourceSet().getResources(); + for (int i = 0; i < resources.size(); ++i) { + Resource resource = resources.get(i); + if ((first || !resource.getContents().isEmpty() || isPersisted(resource)) + && !editingDomain.isReadOnly(resource)) { + try { + long timeStamp = resource.getTimeStamp(); + resource.save(saveOptions); + if (resource.getTimeStamp() != timeStamp) { + savedResources.add(resource); + } + } catch (Exception exception) { + resourceToDiagnosticMap.put(resource, analyzeResourceProblems(resource, exception)); + } + first = false; + } + } + } + }; + + updateProblemIndication = false; + try { + // This runs the options, and shows progress. + // + new ProgressMonitorDialog(getSite().getShell()).run(true, false, operation); + + // Refresh the necessary state. + // + ((BasicCommandStack) editingDomain.getCommandStack()).saveIsDone(); + firePropertyChange(IEditorPart.PROP_DIRTY); + } catch (Exception exception) { + // Something went wrong that shouldn't. + // + StatemachineEditorPlugin.INSTANCE.log(exception); + } + updateProblemIndication = true; + updateProblemIndication(); + } + + /** + * This returns whether something has been persisted to the URI of the specified resource. + * The implementation uses the URI converter from the editor's resource set to try to open an input stream. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected boolean isPersisted(Resource resource) { + boolean result = false; + try { + InputStream stream = editingDomain.getResourceSet().getURIConverter().createInputStream(resource.getURI()); + if (stream != null) { + result = true; + stream.close(); + } + } catch (IOException e) { + // Ignore + } + return result; + } + + /** + * This always returns true because it is not currently supported. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSaveAsAllowed() { + return true; + } + + /** + * This also changes the editor's input. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void doSaveAs() { + SaveAsDialog saveAsDialog = new SaveAsDialog(getSite().getShell()); + saveAsDialog.open(); + IPath path = saveAsDialog.getResult(); + if (path != null) { + IFile file = ResourcesPlugin.getWorkspace().getRoot().getFile(path); + if (file != null) { + doSaveAs(URI.createPlatformResourceURI(file.getFullPath().toString(), true), new FileEditorInput(file)); + } + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void doSaveAs(URI uri, IEditorInput editorInput) { + (editingDomain.getResourceSet().getResources().get(0)).setURI(uri); + setInputWithNotify(editorInput); + setPartName(editorInput.getName()); + IProgressMonitor progressMonitor = getActionBars().getStatusLineManager() != null + ? getActionBars().getStatusLineManager().getProgressMonitor() + : new NullProgressMonitor(); + doSave(progressMonitor); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void gotoMarker(IMarker marker) { + List<?> targetObjects = markerHelper.getTargetObjects(editingDomain, marker); + if (!targetObjects.isEmpty()) { + setSelectionToViewer(targetObjects); + } + } + + /** + * This is called during startup. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void init(IEditorSite site, IEditorInput editorInput) { + setSite(site); + setInputWithNotify(editorInput); + setPartName(editorInput.getName()); + site.setSelectionProvider(this); + site.getPage().addPartListener(partListener); + ResourcesPlugin.getWorkspace().addResourceChangeListener(resourceChangeListener, + IResourceChangeEvent.POST_CHANGE); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void setFocus() { + if (currentViewerPane != null) { + currentViewerPane.setFocus(); + } else { + getControl(getActivePage()).setFocus(); + } + } + + /** + * This implements {@link org.eclipse.jface.viewers.ISelectionProvider}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void addSelectionChangedListener(ISelectionChangedListener listener) { + selectionChangedListeners.add(listener); + } + + /** + * This implements {@link org.eclipse.jface.viewers.ISelectionProvider}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void removeSelectionChangedListener(ISelectionChangedListener listener) { + selectionChangedListeners.remove(listener); + } + + /** + * This implements {@link org.eclipse.jface.viewers.ISelectionProvider} to return this editor's overall selection. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ISelection getSelection() { + return editorSelection; + } + + /** + * This implements {@link org.eclipse.jface.viewers.ISelectionProvider} to set this editor's overall selection. + * Calling this result will notify the listeners. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setSelection(ISelection selection) { + editorSelection = selection; + + for (ISelectionChangedListener listener : selectionChangedListeners) { + listener.selectionChanged(new SelectionChangedEvent(this, selection)); + } + setStatusLineManager(selection); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setStatusLineManager(ISelection selection) { + IStatusLineManager statusLineManager = currentViewer != null && currentViewer == contentOutlineViewer + ? contentOutlineStatusLineManager + : getActionBars().getStatusLineManager(); + + if (statusLineManager != null) { + if (selection instanceof IStructuredSelection) { + Collection<?> collection = ((IStructuredSelection) selection).toList(); + switch (collection.size()) { + case 0: { + statusLineManager.setMessage(getString("_UI_NoObjectSelected")); + break; + } + case 1: { + String text = new AdapterFactoryItemDelegator(adapterFactory).getText(collection.iterator().next()); + statusLineManager.setMessage(getString("_UI_SingleObjectSelected", text)); + break; + } + default: { + statusLineManager + .setMessage(getString("_UI_MultiObjectSelected", Integer.toString(collection.size()))); + break; + } + } + } else { + statusLineManager.setMessage(""); + } + } + } + + /** + * This looks up a string in the plugin's plugin.properties file. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private static String getString(String key) { + return StatemachineEditorPlugin.INSTANCE.getString(key); + } + + /** + * This looks up a string in plugin.properties, making a substitution. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private static String getString(String key, Object s1) { + return StatemachineEditorPlugin.INSTANCE.getString(key, new Object[] { s1 }); + } + + /** + * This implements {@link org.eclipse.jface.action.IMenuListener} to help fill the context menus with contributions from the Edit menu. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void menuAboutToShow(IMenuManager menuManager) { + ((IMenuListener) getEditorSite().getActionBarContributor()).menuAboutToShow(menuManager); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EditingDomainActionBarContributor getActionBarContributor() { + return (EditingDomainActionBarContributor) getEditorSite().getActionBarContributor(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public IActionBars getActionBars() { + return getActionBarContributor().getActionBars(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public AdapterFactory getAdapterFactory() { + return adapterFactory; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void dispose() { + updateProblemIndication = false; + + ResourcesPlugin.getWorkspace().removeResourceChangeListener(resourceChangeListener); + + getSite().getPage().removePartListener(partListener); + + adapterFactory.dispose(); + + if (getActionBarContributor().getActiveEditor() == this) { + getActionBarContributor().setActiveEditor(null); + } + + for (PropertySheetPage propertySheetPage : propertySheetPages) { + propertySheetPage.dispose(); + } + + if (contentOutlinePage != null) { + contentOutlinePage.dispose(); + } + + super.dispose(); + } + + /** + * Returns whether the outline view should be presented to the user. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected boolean showOutlineView() { + return true; + } +} diff --git a/metamodel/swt.most.statemachine.editor/src-gen/swt/most/statemachine/presentation/StatemachineEditorPlugin.java b/metamodel/swt.most.statemachine.editor/src-gen/swt/most/statemachine/presentation/StatemachineEditorPlugin.java new file mode 100644 index 0000000..40386e6 --- /dev/null +++ b/metamodel/swt.most.statemachine.editor/src-gen/swt/most/statemachine/presentation/StatemachineEditorPlugin.java @@ -0,0 +1,89 @@ +/** + */ +package swt.most.statemachine.presentation; + +import org.eclipse.emf.common.EMFPlugin; + +import org.eclipse.emf.common.ui.EclipseUIPlugin; + +import org.eclipse.emf.common.util.ResourceLocator; + +/** + * This is the central singleton for the Statemachine editor plugin. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public final class StatemachineEditorPlugin extends EMFPlugin { + /** + * Keep track of the singleton. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final StatemachineEditorPlugin INSTANCE = new StatemachineEditorPlugin(); + + /** + * Keep track of the singleton. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private static Implementation plugin; + + /** + * Create the instance. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public StatemachineEditorPlugin() { + super(new ResourceLocator[] {}); + } + + /** + * Returns the singleton instance of the Eclipse plugin. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the singleton instance. + * @generated + */ + @Override + public ResourceLocator getPluginResourceLocator() { + return plugin; + } + + /** + * Returns the singleton instance of the Eclipse plugin. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the singleton instance. + * @generated + */ + public static Implementation getPlugin() { + return plugin; + } + + /** + * The actual implementation of the Eclipse <b>Plugin</b>. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static class Implementation extends EclipseUIPlugin { + /** + * Creates an instance. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Implementation() { + super(); + + // Remember the static instance. + // + plugin = this; + } + } + +} diff --git a/metamodel/swt.most.statemachine.editor/src-gen/swt/most/statemachine/presentation/StatemachineModelWizard.java b/metamodel/swt.most.statemachine.editor/src-gen/swt/most/statemachine/presentation/StatemachineModelWizard.java new file mode 100644 index 0000000..1726309 --- /dev/null +++ b/metamodel/swt.most.statemachine.editor/src-gen/swt/most/statemachine/presentation/StatemachineModelWizard.java @@ -0,0 +1,628 @@ +/** + */ +package swt.most.statemachine.presentation; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.MissingResourceException; +import java.util.StringTokenizer; + +import org.eclipse.emf.common.CommonPlugin; + +import org.eclipse.emf.common.util.URI; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EClassifier; + +import org.eclipse.emf.ecore.resource.Resource; +import org.eclipse.emf.ecore.resource.ResourceSet; + +import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl; + +import org.eclipse.emf.ecore.EObject; + +import org.eclipse.emf.ecore.xmi.XMLResource; + +import org.eclipse.emf.edit.ui.provider.ExtendedImageRegistry; + +import org.eclipse.core.resources.IContainer; +import org.eclipse.core.resources.IFile; +import org.eclipse.core.resources.IFolder; +import org.eclipse.core.resources.IProject; +import org.eclipse.core.resources.IResource; +import org.eclipse.core.resources.ResourcesPlugin; + +import org.eclipse.core.runtime.IProgressMonitor; + +import org.eclipse.jface.dialogs.MessageDialog; + +import org.eclipse.jface.viewers.IStructuredSelection; + +import org.eclipse.jface.wizard.Wizard; +import org.eclipse.jface.wizard.WizardPage; + +import org.eclipse.swt.SWT; + +import org.eclipse.swt.events.ModifyListener; +import org.eclipse.swt.events.ModifyEvent; + +import org.eclipse.swt.layout.GridData; +import org.eclipse.swt.layout.GridLayout; + +import org.eclipse.swt.widgets.Combo; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Label; + +import org.eclipse.ui.INewWizard; +import org.eclipse.ui.IWorkbench; + +import org.eclipse.ui.actions.WorkspaceModifyOperation; + +import org.eclipse.ui.dialogs.WizardNewFileCreationPage; + +import org.eclipse.ui.part.FileEditorInput; +import org.eclipse.ui.part.ISetSelectionTarget; + +import swt.most.statemachine.StatemachineFactory; +import swt.most.statemachine.StatemachinePackage; +import swt.most.statemachine.provider.StatemachineEditPlugin; + +import org.eclipse.core.runtime.Path; + +import org.eclipse.jface.viewers.ISelection; +import org.eclipse.jface.viewers.StructuredSelection; + +import org.eclipse.ui.IWorkbenchPage; +import org.eclipse.ui.IWorkbenchPart; +import org.eclipse.ui.IWorkbenchWindow; +import org.eclipse.ui.PartInitException; + +/** + * This is a simple wizard for creating a new model file. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class StatemachineModelWizard extends Wizard implements INewWizard { + /** + * The supported extensions for created files. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final List<String> FILE_EXTENSIONS = Collections + .unmodifiableList(Arrays.asList(StatemachineEditorPlugin.INSTANCE + .getString("_UI_StatemachineEditorFilenameExtensions").split("\\s*,\\s*"))); + + /** + * A formatted list of supported file extensions, suitable for display. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final String FORMATTED_FILE_EXTENSIONS = StatemachineEditorPlugin.INSTANCE + .getString("_UI_StatemachineEditorFilenameExtensions").replaceAll("\\s*,\\s*", ", "); + + /** + * This caches an instance of the model package. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected StatemachinePackage statemachinePackage = StatemachinePackage.eINSTANCE; + + /** + * This caches an instance of the model factory. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected StatemachineFactory statemachineFactory = statemachinePackage.getStatemachineFactory(); + + /** + * This is the file creation page. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected StatemachineModelWizardNewFileCreationPage newFileCreationPage; + + /** + * This is the initial object creation page. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected StatemachineModelWizardInitialObjectCreationPage initialObjectCreationPage; + + /** + * Remember the selection during initialization for populating the default container. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected IStructuredSelection selection; + + /** + * Remember the workbench during initialization. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected IWorkbench workbench; + + /** + * Caches the names of the types that can be created as the root object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected List<String> initialObjectNames; + + /** + * This just records the information. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void init(IWorkbench workbench, IStructuredSelection selection) { + this.workbench = workbench; + this.selection = selection; + setWindowTitle(StatemachineEditorPlugin.INSTANCE.getString("_UI_Wizard_label")); + setDefaultPageImageDescriptor(ExtendedImageRegistry.INSTANCE + .getImageDescriptor(StatemachineEditorPlugin.INSTANCE.getImage("full/wizban/NewStatemachine"))); + } + + /** + * Returns the names of the types that can be created as the root object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Collection<String> getInitialObjectNames() { + if (initialObjectNames == null) { + initialObjectNames = new ArrayList<String>(); + for (EClassifier eClassifier : statemachinePackage.getEClassifiers()) { + if (eClassifier instanceof EClass) { + EClass eClass = (EClass) eClassifier; + if (!eClass.isAbstract()) { + initialObjectNames.add(eClass.getName()); + } + } + } + Collections.sort(initialObjectNames, CommonPlugin.INSTANCE.getComparator()); + } + return initialObjectNames; + } + + /** + * Create a new model. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected EObject createInitialModel() { + EClass eClass = (EClass) statemachinePackage.getEClassifier(initialObjectCreationPage.getInitialObjectName()); + EObject rootObject = statemachineFactory.create(eClass); + return rootObject; + } + + /** + * Do the work after everything is specified. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean performFinish() { + try { + // Remember the file. + // + final IFile modelFile = getModelFile(); + + // Do the work within an operation. + // + WorkspaceModifyOperation operation = new WorkspaceModifyOperation() { + @Override + protected void execute(IProgressMonitor progressMonitor) { + try { + // Create a resource set + // + ResourceSet resourceSet = new ResourceSetImpl(); + + // Get the URI of the model file. + // + URI fileURI = URI.createPlatformResourceURI(modelFile.getFullPath().toString(), true); + + // Create a resource for this file. + // + Resource resource = resourceSet.createResource(fileURI); + + // Add the initial model object to the contents. + // + EObject rootObject = createInitialModel(); + if (rootObject != null) { + resource.getContents().add(rootObject); + } + + // Save the contents of the resource to the file system. + // + Map<Object, Object> options = new HashMap<Object, Object>(); + options.put(XMLResource.OPTION_ENCODING, initialObjectCreationPage.getEncoding()); + resource.save(options); + } catch (Exception exception) { + StatemachineEditorPlugin.INSTANCE.log(exception); + } finally { + progressMonitor.done(); + } + } + }; + + getContainer().run(false, false, operation); + + // Select the new file resource in the current view. + // + IWorkbenchWindow workbenchWindow = workbench.getActiveWorkbenchWindow(); + IWorkbenchPage page = workbenchWindow.getActivePage(); + final IWorkbenchPart activePart = page.getActivePart(); + if (activePart instanceof ISetSelectionTarget) { + final ISelection targetSelection = new StructuredSelection(modelFile); + getShell().getDisplay().asyncExec(new Runnable() { + public void run() { + ((ISetSelectionTarget) activePart).selectReveal(targetSelection); + } + }); + } + + // Open an editor on the new file. + // + try { + page.openEditor(new FileEditorInput(modelFile), + workbench.getEditorRegistry().getDefaultEditor(modelFile.getFullPath().toString()).getId()); + } catch (PartInitException exception) { + MessageDialog.openError(workbenchWindow.getShell(), + StatemachineEditorPlugin.INSTANCE.getString("_UI_OpenEditorError_label"), + exception.getMessage()); + return false; + } + + return true; + } catch (Exception exception) { + StatemachineEditorPlugin.INSTANCE.log(exception); + return false; + } + } + + /** + * This is the one page of the wizard. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public class StatemachineModelWizardNewFileCreationPage extends WizardNewFileCreationPage { + /** + * Pass in the selection. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public StatemachineModelWizardNewFileCreationPage(String pageId, IStructuredSelection selection) { + super(pageId, selection); + } + + /** + * The framework calls this to see if the file is correct. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected boolean validatePage() { + if (super.validatePage()) { + String extension = new Path(getFileName()).getFileExtension(); + if (extension == null || !FILE_EXTENSIONS.contains(extension)) { + String key = FILE_EXTENSIONS.size() > 1 ? "_WARN_FilenameExtensions" : "_WARN_FilenameExtension"; + setErrorMessage(StatemachineEditorPlugin.INSTANCE.getString(key, + new Object[] { FORMATTED_FILE_EXTENSIONS })); + return false; + } + return true; + } + return false; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public IFile getModelFile() { + return ResourcesPlugin.getWorkspace().getRoot().getFile(getContainerFullPath().append(getFileName())); + } + } + + /** + * This is the page where the type of object to create is selected. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public class StatemachineModelWizardInitialObjectCreationPage extends WizardPage { + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Combo initialObjectField; + + /** + * @generated + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + */ + protected List<String> encodings; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Combo encodingField; + + /** + * Pass in the selection. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public StatemachineModelWizardInitialObjectCreationPage(String pageId) { + super(pageId); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void createControl(Composite parent) { + Composite composite = new Composite(parent, SWT.NONE); + { + GridLayout layout = new GridLayout(); + layout.numColumns = 1; + layout.verticalSpacing = 12; + composite.setLayout(layout); + + GridData data = new GridData(); + data.verticalAlignment = GridData.FILL; + data.grabExcessVerticalSpace = true; + data.horizontalAlignment = GridData.FILL; + composite.setLayoutData(data); + } + + Label containerLabel = new Label(composite, SWT.LEFT); + { + containerLabel.setText(StatemachineEditorPlugin.INSTANCE.getString("_UI_ModelObject")); + + GridData data = new GridData(); + data.horizontalAlignment = GridData.FILL; + containerLabel.setLayoutData(data); + } + + initialObjectField = new Combo(composite, SWT.BORDER); + { + GridData data = new GridData(); + data.horizontalAlignment = GridData.FILL; + data.grabExcessHorizontalSpace = true; + initialObjectField.setLayoutData(data); + } + + for (String objectName : getInitialObjectNames()) { + initialObjectField.add(getLabel(objectName)); + } + + if (initialObjectField.getItemCount() == 1) { + initialObjectField.select(0); + } + initialObjectField.addModifyListener(validator); + + Label encodingLabel = new Label(composite, SWT.LEFT); + { + encodingLabel.setText(StatemachineEditorPlugin.INSTANCE.getString("_UI_XMLEncoding")); + + GridData data = new GridData(); + data.horizontalAlignment = GridData.FILL; + encodingLabel.setLayoutData(data); + } + encodingField = new Combo(composite, SWT.BORDER); + { + GridData data = new GridData(); + data.horizontalAlignment = GridData.FILL; + data.grabExcessHorizontalSpace = true; + encodingField.setLayoutData(data); + } + + for (String encoding : getEncodings()) { + encodingField.add(encoding); + } + + encodingField.select(0); + encodingField.addModifyListener(validator); + + setPageComplete(validatePage()); + setControl(composite); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ModifyListener validator = new ModifyListener() { + public void modifyText(ModifyEvent e) { + setPageComplete(validatePage()); + } + }; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected boolean validatePage() { + return getInitialObjectName() != null && getEncodings().contains(encodingField.getText()); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void setVisible(boolean visible) { + super.setVisible(visible); + if (visible) { + if (initialObjectField.getItemCount() == 1) { + initialObjectField.clearSelection(); + encodingField.setFocus(); + } else { + encodingField.clearSelection(); + initialObjectField.setFocus(); + } + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getInitialObjectName() { + String label = initialObjectField.getText(); + + for (String name : getInitialObjectNames()) { + if (getLabel(name).equals(label)) { + return name; + } + } + return null; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getEncoding() { + return encodingField.getText(); + } + + /** + * Returns the label for the specified type name. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected String getLabel(String typeName) { + try { + return StatemachineEditPlugin.INSTANCE.getString("_UI_" + typeName + "_type"); + } catch (MissingResourceException mre) { + StatemachineEditorPlugin.INSTANCE.log(mre); + } + return typeName; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected Collection<String> getEncodings() { + if (encodings == null) { + encodings = new ArrayList<String>(); + for (StringTokenizer stringTokenizer = new StringTokenizer( + StatemachineEditorPlugin.INSTANCE.getString("_UI_XMLEncodingChoices")); stringTokenizer + .hasMoreTokens();) { + encodings.add(stringTokenizer.nextToken()); + } + } + return encodings; + } + } + + /** + * The framework calls this to create the contents of the wizard. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void addPages() { + // Create a page, set the title, and the initial model file name. + // + newFileCreationPage = new StatemachineModelWizardNewFileCreationPage("Whatever", selection); + newFileCreationPage.setTitle(StatemachineEditorPlugin.INSTANCE.getString("_UI_StatemachineModelWizard_label")); + newFileCreationPage + .setDescription(StatemachineEditorPlugin.INSTANCE.getString("_UI_StatemachineModelWizard_description")); + newFileCreationPage + .setFileName(StatemachineEditorPlugin.INSTANCE.getString("_UI_StatemachineEditorFilenameDefaultBase") + + "." + FILE_EXTENSIONS.get(0)); + addPage(newFileCreationPage); + + // Try and get the resource selection to determine a current directory for the file dialog. + // + if (selection != null && !selection.isEmpty()) { + // Get the resource... + // + Object selectedElement = selection.iterator().next(); + if (selectedElement instanceof IResource) { + // Get the resource parent, if its a file. + // + IResource selectedResource = (IResource) selectedElement; + if (selectedResource.getType() == IResource.FILE) { + selectedResource = selectedResource.getParent(); + } + + // This gives us a directory... + // + if (selectedResource instanceof IFolder || selectedResource instanceof IProject) { + // Set this for the container. + // + newFileCreationPage.setContainerFullPath(selectedResource.getFullPath()); + + // Make up a unique new name here. + // + String defaultModelBaseFilename = StatemachineEditorPlugin.INSTANCE + .getString("_UI_StatemachineEditorFilenameDefaultBase"); + String defaultModelFilenameExtension = FILE_EXTENSIONS.get(0); + String modelFilename = defaultModelBaseFilename + "." + defaultModelFilenameExtension; + for (int i = 1; ((IContainer) selectedResource).findMember(modelFilename) != null; ++i) { + modelFilename = defaultModelBaseFilename + i + "." + defaultModelFilenameExtension; + } + newFileCreationPage.setFileName(modelFilename); + } + } + } + initialObjectCreationPage = new StatemachineModelWizardInitialObjectCreationPage("Whatever2"); + initialObjectCreationPage + .setTitle(StatemachineEditorPlugin.INSTANCE.getString("_UI_StatemachineModelWizard_label")); + initialObjectCreationPage + .setDescription(StatemachineEditorPlugin.INSTANCE.getString("_UI_Wizard_initial_object_description")); + addPage(initialObjectCreationPage); + } + + /** + * Get the file from the page. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public IFile getModelFile() { + return newFileCreationPage.getModelFile(); + } + +} diff --git a/metamodel/swt.most.statemachine/.classpath b/metamodel/swt.most.statemachine/.classpath new file mode 100644 index 0000000..c3f9cf3 --- /dev/null +++ b/metamodel/swt.most.statemachine/.classpath @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="src" path="src-gen"/> + <classpathentry kind="src" path="src"/> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-17"/> + <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> + <classpathentry kind="output" path="bin"/> +</classpath> diff --git a/metamodel/swt.most.statemachine/.project b/metamodel/swt.most.statemachine/.project new file mode 100644 index 0000000..0889fd6 --- /dev/null +++ b/metamodel/swt.most.statemachine/.project @@ -0,0 +1,35 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>swt.most.statemachine</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>org.eclipse.xtext.ui.shared.xtextBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.pde.ManifestBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.pde.SchemaBuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>org.eclipse.sirius.nature.modelingproject</nature> + <nature>org.eclipse.jdt.core.javanature</nature> + <nature>org.eclipse.pde.PluginNature</nature> + <nature>org.eclipse.xtext.ui.shared.xtextNature</nature> + </natures> +</projectDescription> diff --git a/metamodel/swt.most.statemachine/.settings/org.eclipse.core.resources.prefs b/metamodel/swt.most.statemachine/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 0000000..99f26c0 --- /dev/null +++ b/metamodel/swt.most.statemachine/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +encoding/<project>=UTF-8 diff --git a/metamodel/swt.most.statemachine/META-INF/MANIFEST.MF b/metamodel/swt.most.statemachine/META-INF/MANIFEST.MF new file mode 100644 index 0000000..e4a1810 --- /dev/null +++ b/metamodel/swt.most.statemachine/META-INF/MANIFEST.MF @@ -0,0 +1,16 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: %pluginName +Bundle-SymbolicName: swt.most.statemachine;singleton:=true +Automatic-Module-Name: swt.most.statemachine +Bundle-Version: 0.1.0.qualifier +Bundle-ClassPath: . +Bundle-Vendor: %providerName +Bundle-Localization: plugin +Bundle-RequiredExecutionEnvironment: J2SE-1.5 +Export-Package: swt.most.statemachine, + swt.most.statemachine.impl, + swt.most.statemachine.util +Require-Bundle: org.eclipse.emf.ecore;visibility:=reexport, + org.eclipse.core.runtime +Bundle-ActivationPolicy: lazy diff --git a/metamodel/swt.most.statemachine/bin/.gitkeep b/metamodel/swt.most.statemachine/bin/.gitkeep new file mode 100644 index 0000000000000000000000000000000000000000..49cc8ef0e116cef009fe0bd72473a964bbd07f9b GIT binary patch literal 6 NcmezWkC%aq0RRg=0u=xN literal 0 HcmV?d00001 diff --git a/metamodel/swt.most.statemachine/bin/swt/most/statemachine/Action.class b/metamodel/swt.most.statemachine/bin/swt/most/statemachine/Action.class new file mode 100644 index 0000000000000000000000000000000000000000..f870b81fd6cb6b43a21f2e9814c6516c908b1e19 GIT binary patch literal 155 zcmX^0Z`VEs1_nn4PId++Mh2PU@)G^r{NfV*;*!LY)ZE16jLf`LeaGaI%=|od1{OvJ zfvm)`ME#t^ymWp4q^#8B5_SeQMg|4!`dljtic*V<GxPHp8MuP;ON)|I-7<4h85y`C eChCC<V`F4sWMF1sWME|g0Y(OP1_lNu1`Ys=8!96J literal 0 HcmV?d00001 diff --git a/metamodel/swt.most.statemachine/bin/swt/most/statemachine/Expression.class b/metamodel/swt.most.statemachine/bin/swt/most/statemachine/Expression.class new file mode 100644 index 0000000000000000000000000000000000000000..6e9bc61562126aa012ed4c128f63122f20ddd7bc GIT binary patch literal 249 zcmX^0Z`VEs1_nn4UUmj1Mh1oA@)G^r{NfV*;*!LY)ZE16jLf`Leb<VDqSWHz%=|od z1{OvJfvm)`ME#t^ymWp4q^#8B5_SeQMh4mZqICV#<ebcc;#B?A+%)~v<ou#keOHJQ zMh33*)Dq|Xypq(s5=I6Q4NV_}DZwR0nR)5fj0{}GNNPkiFqLSAF*0xk=a&{Gr@Ce4 yq%tz_BiyD3GLVgtfsuikfsuigfq{XEg^_`sfrA0$Xif$$1_lO325yiz0}lXV8$!4M literal 0 HcmV?d00001 diff --git a/metamodel/swt.most.statemachine/bin/swt/most/statemachine/FinalState.class b/metamodel/swt.most.statemachine/bin/swt/most/statemachine/FinalState.class new file mode 100644 index 0000000000000000000000000000000000000000..f7b40197fb61970459d1897801a9056bbc366556 GIT binary patch literal 158 zcmX^0Z`VEs1_nn4PId++Mh1oA@)G^r{NfV*;*!LY)ZE16jLf`LeYecK#GGJ|2s;A{ zBZELzVp*boPGVlVzJF3yYH|rX0~;fQG<LmUZHx?D!TF^{$*FFcIjM{c{0IZ}KxVNq YGB7eQGcYo+GJpUh13Lo)0}}%W04f|S5dZ)H literal 0 HcmV?d00001 diff --git a/metamodel/swt.most.statemachine/bin/swt/most/statemachine/Guard.class b/metamodel/swt.most.statemachine/bin/swt/most/statemachine/Guard.class new file mode 100644 index 0000000000000000000000000000000000000000..c61835cb05c157ef11e14dabef31cb93ff4bcd08 GIT binary patch literal 153 zcmX^0Z`VEs1_nn4PId++Mh5BP@)G^r{NfV*;*!LY)ZE16jLf`LefQGDq7-%p7Dfhv zti-ZJ{hY+SbbbG%tkmQZb_O;^1_kWeTq_ESQj3c-^Ya)PxPtRbi;`2_GILTH8Mwd( d>VeE+V`N}tU}j)sU}XRSMh12U1_mYu4geY2DN6tV literal 0 HcmV?d00001 diff --git a/metamodel/swt.most.statemachine/bin/swt/most/statemachine/InitialState.class b/metamodel/swt.most.statemachine/bin/swt/most/statemachine/InitialState.class new file mode 100644 index 0000000000000000000000000000000000000000..caa43f8c9d18e7e2616884c006af58bafa5b1e23 GIT binary patch literal 162 zcmX^0Z`VEs1_nn4PId++Mh2zg@)G^r{NfV*;*!LY)ZE16jLf`Leb2nilFY=MV2~I) z0}CUAKvrT|qJB<dUb?=2QdVkm2|EKDBZD+{-C%8u3|ztarA5i9Zkai$j0}RvM(Tk~ aV`F4sWMF1sWME|g0Y(OP1_lNu1`Yrnn=I7; literal 0 HcmV?d00001 diff --git a/metamodel/swt.most.statemachine/bin/swt/most/statemachine/NormalState.class b/metamodel/swt.most.statemachine/bin/swt/most/statemachine/NormalState.class new file mode 100644 index 0000000000000000000000000000000000000000..e2646a56c67d8ba63eaeb2eb699a92ff801e7f41 GIT binary patch literal 343 zcmX^0Z`VEs1_nn4L3RcvMh3;=@)G^r{NfV*;*!LY)ZE16jLf`LeZTyo+{Bz<kPtfq z3nPO-R$^JAeokUuy1su>R%&tyI|CadgEV%{U~P;HZ0V^bF8T3{3<?^WKG;<{CYNO9 z=UFo{uoXkqDr(?Ysu{+}z>%I>;#!ee63@uMQ4D8tf<*I5iYnt788|`0P&QX^erZv1 zs#|7GDkFmclE?Hweqv)}U}RusU}RurU|?WlVPs%u;9vmxn3I7EOmjo|JWxI_l+Op^ PGcYpnGcYhPF$e$vlpR;% literal 0 HcmV?d00001 diff --git a/metamodel/swt.most.statemachine/bin/swt/most/statemachine/State.class b/metamodel/swt.most.statemachine/bin/swt/most/statemachine/State.class new file mode 100644 index 0000000000000000000000000000000000000000..e8bdaee3fc67f24695e1a090dfa1e99b7427d612 GIT binary patch literal 233 zcmX^0Z`VEs1_nn4UUmj1Mh5BP@)G^r{NfV*;*!LY)ZE16jLf`L{a_G>oq>gsK_Dx! zEKxrvF)v-;KPf9UxrCj8jgdh%zbIWlH904<pg2`OH8)K^H95a1Ro@k&gpq+gJ+;Iy zF*lWwK}18-2Vq2TNl|8Ax-}yMdofIbs0OCIW*8#_S8#r5QF5wVW=<-I19Ffa$RIXG m21W*E21W)}1_lNu7Dfhk1`Y<0OF0?17#J8B8Mr~>3_Jj;UOScm literal 0 HcmV?d00001 diff --git a/metamodel/swt.most.statemachine/bin/swt/most/statemachine/StateMachine.class b/metamodel/swt.most.statemachine/bin/swt/most/statemachine/StateMachine.class new file mode 100644 index 0000000000000000000000000000000000000000..c797580f49f7fffebec0c7a9f820b5b30a1498ee GIT binary patch literal 757 zcmX^0Z`VEs1_nn4Np=P%Mh2zg@)G^r{NfV*;*!LY)ZE16jLf`L{a_Hs7s6p@U}0ns z$Vx0r)Xz!GOV{^L%1TWxVP{}tWRT4-O4m<K&dDq&PSsD%P18?J&M!*UcZDcnWMEHE zE%8gtO=V;d(a`ik7!h1jl$n=q&B(xB3{xPgfhn&U#>l{#o>~HSO)(>bs)nWyx{b;C zxw-jy`lThAIr^?XnZ+g6j0~K?ndy0nC8b5Fj0|4H=&|v^9t?i@MY)MNVC${ztQi^j z(o;*^GV>C1z=2iF$lytd>0px(hV!SVmU!l6mSjSWXJk;*(8S>|s5*#dMh5<3bgk+d z#OMSCFvw3KMTvREnI)O|d6fDIVG=mNxPtRbi;`2_GILTH83e)3g{CS!P-<XfWME`q zW?*DsWnf@nXJKSuXW(D}B{xn6E-=l_z{9}Ez{|kEz{J4E!pOjn#1~*;WDsN!0;>~d S5CPMoNb+I~j11ynoe}_m7~bvx literal 0 HcmV?d00001 diff --git a/metamodel/swt.most.statemachine/bin/swt/most/statemachine/StatemachineFactory.class b/metamodel/swt.most.statemachine/bin/swt/most/statemachine/StatemachineFactory.class new file mode 100644 index 0000000000000000000000000000000000000000..4f3a1e380ce766c7a5d6c58ac3bcceeada37d92e GIT binary patch literal 1087 zcmX^0Z`VEs1_nn4Ep`SbMh4B|@)G^r{NfV*;*!LY)ZE16jLf`L{a_@HTViraeo-Ym z0}CUAKvrT|qJB<dUb?=2QdVkm2|EKDBZFLiQM!I=a!zJJajJf5Zkm2-a(+>&zAIEG zBLiour(bZ0qo1=YBZIaN(N<bBGH}===Vaz(me?^eFl%UrF*2|?=clA{G4L|*vor89 zG8kbuEHk$t2b(86a|?2K7z7vu85vkW#xgSKYG{(+AWjBG24Nlsb_Nbc27aH+yi~u^ z+@#c^ki?{%R7M6NpZw&+oUp{AOb{O?m|T>aSdt13QC~>#GBT*)w-u_+nvp>OqC2E0 zF|RnYBr`vckwFEgUW6)ZMh0G(&dl`m)FMU(MLgQTN~{?fxFLGnOB0Jy7#ZYo>HsUS zW@O-jsCP_;xJ&`328ar4Mg}2>4$r*IlFY;$aG>A|4P<qQ&~VGlgX_f|8VFU^j0}Ph zd;Ri@a^YH4aXJ@CnKdJWSbAy+*rm|i5s;XiotU0VY}$b;w`OGE3eGPrN=|jl1SJ*; zWFw(DMGus{*ccfY8JHOu8CV$@86-hzje&uIi-CiIlYxtYk%60mfkB;tkpTqQcQEj5 zW)RxQz`(%7Ai}`Fzy_8OV-N+4fO4!DgE#|-mSB(s(^3r5U|NPj7EH@A$b)GG21PKf Z#GnkORTxykv>Jmt0|Nsig9g|{O#qy?JTCwM literal 0 HcmV?d00001 diff --git a/metamodel/swt.most.statemachine/bin/swt/most/statemachine/StatemachinePackage$Literals.class b/metamodel/swt.most.statemachine/bin/swt/most/statemachine/StatemachinePackage$Literals.class new file mode 100644 index 0000000000000000000000000000000000000000..237c127112f52bfcfb7d8dbde262358474dfb1e8 GIT binary patch literal 2687 zcmX^0Z`VEs1_noljqD6ej0{G_<t6&L`Nbvr#U+U)skw>C8JT&h`oTz?fW+kN#Pn1Z zpUjffqQsnHb_Nzk27#=^vPAuy#JqHU|D>$c<Pt^(-rx|&5Z8ELM`sUDKUYQuIiLKZ zbp6!ioXmpaRQ=T4H2u`%{GwESSLd9>;$mw?24NHp@$r6+zOIZ6O1QK+mXs7_CY6?? zS~D_;qG<(lgYjq%N=-{GO3h0KX_f-3hB-7o-p$j`(FZIR%*Y@OW*{Uz{X9cFq0)>D z=vqU99Q}elLp=Tcf*BcD!CDy^xWP2cKU@ekj0^$@PJFyukiRb@10S+bh(9BPFp5Bs zr@Omr5F>*ivZ#BgV~`6YgAlTqqcg}Ej124{FfFW5Wo$4hF4u^FAlKkvPk%o~24Msz zKHk~iFT~X^gpq+4>fd;<9~c?9!GQzg@%Z@%`8xW*xPr*s_;?rpct!?cR58~G&yaXV z1`#w-zmTBFct!>eo8+9#yv!0iMh0dL%`ip=7U%qwR89s}26c7@HAV(aqEjaig9d{p zBLiour(bZ0qo1=YBZIaN(Ymd<8B`gxc^GsUbQu}=(^E^p>E9QU85kK9G&FG~N=RDf zWME{_=V4%FU;`Os$ira7V9dxMf@V;>Ut(@5BZCTV(-27<WTGh#13Lo;$V77<1`7sD zMg}o-6T$8*#%m@b<%7($=3(Gu-~yRx%fny?GE*AeOt;Lu#2j#GPz=)Hz{9`|(c#3y z;0)3sgRa9fFS8^Qst2USm4|@`qQ#wu!2_fP!;+Aq#Ju9nlFa-(uq9qR47?B>K0FM* zpjhC5SpqW9pND}D61IUn3_+l<<%LOu0~MqugolA25?WzA4B;RnKxz>7fYe0tFbF`* ziRNL50Xa-4J+%a(Cf=<mKNqAhj)y@I;+_N^hD4A;0aS${`5<M<JPbk*WvM(2X&_~y zXv&H*)6-LnKx#917=$5evv?S?L289j)w-7^7Nvkx=JGIzKvd@QFcg4Pf>IKaD;<+T z0S8iA#KRy8QCh;oPzv%i7uZm^t>runVh|r!@-S3^6o3L2ZdDBrgE&OGj)$QhB+Z$g zT7odYk%vJ7BHzrz&;pVN1*&UBK~ZXPab|uV$PH~g43ZEv9Xt%3pvVCQ0zyr^bADb) zYF-IQZ8r~t6eN;*c^LXY=7Dk>H2r`RGf3409tLTMiIaF3CWBOgYz3!FxSFXv3^EWk z(|H(XfYk7%r<VBT7v(1Az!lBnVUUF=n#02|7Zj49_(oC`?~)%6vT;5SgB&Cr7xFMH z0x1LqIkH06ip&zQ(j`0$@(`uVco>$0l!CmAqBO6hs1mGpB@crF0~aF$zfWdfs$Xet zQfg61Vp2{jBZH7nesW??SYlBohz}Ly3eGPrN=|jl1gVe!`vO`aL+fBYP_4_zz~h;h zms$iadQyuS88~1yGb00sUutoQM}Bb$8zTcF12Y2ygCv6_s9XZG*cmv$G$#WWnC6Dk zJW!e!O7k(Wf#vz3>II;DL8!bClop24B2ZcsN{d0&i$iG%C@l%4rJ&|YL-{gLS{6#n zLCuke(h6Xjk%5CjkwJ-pkwKY(fpH20BLf2i1Ea_$29=!*T8s>v8T7zR0}#^$%rpZr zt-wqh5YryabObS7z)Uv~(-X|}1~L7>%m5HG7|aX>F(bgtC=fFi%!~&ylfcXr5HlUj z%mguWz|1@lvk=TI1~JRP%nA^*8qBN(F&n_lCJ?g~%xniSyTHsI5VIf5oCso00W+t8 zm@~o5*&yaTFmnNjxfsk`3SzF<$iTqB#ITBifgz1Sl7WHQf`OaafkBMfgF%rwfI){j zg29|Qfx(G6i@}$<h#`Wxh9Q}`g&~i*hoO>r3PTI?9EN`8B@DBe*D)+*-odbe`4Gcy z<}(b(n6EHgWWL96hxrA=bLLMBpO}9!{AFQc<Y3`qSPiz3fq|J}4Vbl-VI2bl0~Z4* Q6{<3<XX9kp02WsT060H@EC2ui literal 0 HcmV?d00001 diff --git a/metamodel/swt.most.statemachine/bin/swt/most/statemachine/StatemachinePackage.class b/metamodel/swt.most.statemachine/bin/swt/most/statemachine/StatemachinePackage.class new file mode 100644 index 0000000000000000000000000000000000000000..bb0717f2bb879feac9d6975d4f11606b82be13c4 GIT binary patch literal 3679 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 literal 0 HcmV?d00001 diff --git a/metamodel/swt.most.statemachine/bin/swt/most/statemachine/Transition.class b/metamodel/swt.most.statemachine/bin/swt/most/statemachine/Transition.class new file mode 100644 index 0000000000000000000000000000000000000000..48cfc9c66cb032918650e43abe7f95466bd5936b GIT binary patch literal 630 zcmX^0Z`VEs1_nn4X?6xCMh1oA@)G^r{NfV*;*!LY)ZE16jLf`L{g9%>yyDD~%=|od z1{OvJfvm)`ME#t^ymWp4q^#8B5_SeQMh4mZqICV#<ebcc;#B?A+%)~v<ou#keOHJQ zMh5ou)DpL%{9Hx`c@0e;>=p%sY_(=&U@wNLRnWkzR5Of`fi*p~BqX1afwdSybAk9p znd#}NMT`uJIPD67D6wW_-~wrc@E94Ca9Idb53-UYJ+;KWG_fcJpJ%`dtQi?Nis6cJ z`UavFWHe`bYKdbqD6AP76mU8oqQaVyfwLH)ToISkp{hZ~a|P#@7A2>;W#*(ZGVmiJ zRu2@XY>W(y49pCS46F<c3|uUX4D1XX44@e2WZ(kR+)zFbl+Vk+2NvgN5CGGH3_@U9 cm_Y<gi!z9TX>kS#1_lO321y161||k60AG`>?f?J) literal 0 HcmV?d00001 diff --git a/metamodel/swt.most.statemachine/bin/swt/most/statemachine/Trigger.class b/metamodel/swt.most.statemachine/bin/swt/most/statemachine/Trigger.class new file mode 100644 index 0000000000000000000000000000000000000000..512f1c348b00dcecf7a19958b82a2900563a48a7 GIT binary patch literal 157 zcmX^0Z`VEs1_nn4PId++Mh4m9@)G^r{NfV*;*!LY)ZE16jLf`L{g9%}^z_ssb_Nzk z27#=^vPAuy#JqHU|D>$c<PvrUHbw>o>>6Dw3W`#Ti!<}{7#X;N^Gl18Q{6IiQW+U| fphoI}Ok-nYU}RusU}Rur00Bk@b_NCpCI$`w1&%8b literal 0 HcmV?d00001 diff --git a/metamodel/swt.most.statemachine/bin/swt/most/statemachine/impl/ActionImpl.class b/metamodel/swt.most.statemachine/bin/swt/most/statemachine/impl/ActionImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..2a6bad30a795022df26b35e99a693af161df8534 GIT binary patch literal 681 zcmX^0Z`VEs1_nn4Id%pnMh4a5@)G^r{NfV*;*!LY)ZE16jLf`L{mk5g9DT>+lFa-( z&)k9>b_Nzk22DIlT`LNTQj3e>%GnqhWUwoT7|O`NW|NthSz^b?z^tJe#>l|poS%}) z#lXzK&BMUXz`@AC?~|FA>Q|bZlv)&$n3R*s$ROmCpPZNzmROVt;zI>lN-{Ew85z`l zu-k^_4{JsSp48xy#FETp=bXgiVnzl94Naf?qICV#<ebcc;#B?A+%)~v<ou#keOIsw zYfc7X22pkf5k>|h>{ft`gN0i_Vsdt3da8;~W=U#MVoos+gBXK2BLkbGbBL$EA0vYt ze!CbMxPtRbi;`2_GC>~ZhlCX<0`#&H%MuwGcs%p+Qj5S2OD$$+kii)#SRBR3zyWg> zgCYYX12Y3711kdq0}}%aD8v~U88{gj7>pSh85kKD7+AHoGjMGLOY<-=FmN$2F)%Pl zFt9L4GVn4mFz`SWG4L_)GcYi)FbFURLJiP^8o;uNL1+V9KO0!R5|UmPs9q)p39u?j R1}U&Tj10mI(hRa}oB-Lmsipt` literal 0 HcmV?d00001 diff --git a/metamodel/swt.most.statemachine/bin/swt/most/statemachine/impl/ExpressionImpl.class b/metamodel/swt.most.statemachine/bin/swt/most/statemachine/impl/ExpressionImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..9f81b4565c661f5889d12939641611bf413c0c36 GIT binary patch literal 2823 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 literal 0 HcmV?d00001 diff --git a/metamodel/swt.most.statemachine/bin/swt/most/statemachine/impl/FinalStateImpl.class b/metamodel/swt.most.statemachine/bin/swt/most/statemachine/impl/FinalStateImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..9f4c5d8a44dbb0fe4ac191c16b97481ec21afae1 GIT binary patch literal 697 zcmX^0Z`VEs1_nn4Id%pnMh4B|@)G^r{NfV*;*!LY)ZE16jLf`L{mk5g9DTRUyu_Sf zkg#WNK@K|u3nPOH9_2_X*%%oVu&YFv$;iNFlbM%UV#mn9tf3jk$iU*9pOVVOz|6qS z!@$nK!N|bxlbM(5SDKrYS`?C)l#|NHAmo#uoR|}qSd<CkLj_q%GBS%98MJ+{+la+0 z){G21sUYWOCOhXO78f%zC}?Q<<QJvurzYoQ78IxIr{<>VrzYnYrRuwaRakQ}2s4PX zGl(!U7-6>tWE?E`0uqz66Vp>wd@@T?ixP8+c^JeP#2Fd5-8}sqed2>d979|g8RYO= z$jHDIoL^d$oa&Yd^0_b~;6Ra~mz7wS$jHFsnU|MZ1a@I+F*}0{&iKUQIz|Q#nEMzM z85kLu85kK@85kIt7+65T&%nsQ$-uy1%)rRN$iTqBs<oYgYa>{ihk=2Ci-C!OfkA?S zg+Y>mmw|zS2cn39kAa_ofq{iVfI$#yfF9HUmQ4&o8{qoc!0MHd^s+$pGBHSiRY@{P Qf$d>r5N42OkY(cp060XiM*si- literal 0 HcmV?d00001 diff --git a/metamodel/swt.most.statemachine/bin/swt/most/statemachine/impl/GuardImpl.class b/metamodel/swt.most.statemachine/bin/swt/most/statemachine/impl/GuardImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..621503c9c429bc1dc017d16ac0da1515242d8b44 GIT binary patch literal 676 zcmX^0Z`VEs1_nn4Id%pnMh2DQ@)G^r{NfV*;*!LY)ZE16jLf`L{mk5g9DVoF#G(|> z+=3i-1{OvJO*|@HD+-EIi;FY!^B~IE7#XCoD+im&$iQZknU`5&$H>5}p&7==z~Y>r zlFG%v%)rgVz|O$I$iVNDnV0HUnwykb6q1;flgh{-<ddJAm=l&*lnLTP1zAcmGK(1* z)O@g8hUyDzMh2eL;F83W%w*@B#NuK`1_cdGpZub9{nX@~%!1-n{nXqv{nX_AqEvlX zunKEV24MzKb_Nkf1|#e?fQ*9$T0mlQc4B&}ice-qYEfcNF%N?ngE%7tt9z(pkP9P& z9Db`98MuP;ON)|I-7-Pm<pT#4C^Yr563Y@98F)PN@=}Yy&Ppw2XOO`eAy}Nm$iM+} z6oVoIBLg!7BLgb~0|OHS3n;i57#TPj7#NHh7#SED7#LW!wli>T1WWTUFfed2FflMN zNHDN4NHXv;Ffi~y6fy8I@G~$lurLTP2tp0egBrlHi9u)sTt6FFy%LgM7N}k(1_`h# SNd_sfJ&X*(4AKm;Y@7h-;iswq literal 0 HcmV?d00001 diff --git a/metamodel/swt.most.statemachine/bin/swt/most/statemachine/impl/InitialStateImpl.class b/metamodel/swt.most.statemachine/bin/swt/most/statemachine/impl/InitialStateImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..7d73a2343ed50f22d919e55110e1f115b56a4560 GIT binary patch literal 707 zcmX^0Z`VEs1_nn4Id%pnMh5NT@)G^r{NfV*;*!LY)ZE16jLf`L{mk5g9DUEc%#zH+ zoM4cIXKq0bI|B<Ng9;uENGjPF8I-WAL^hR?fz2i}FSEpsk%3u5GmMde#W_DEm5YIy zft!bcoq>aqf!`-HFV(L!Hz~C!Brz!`m61WnCqFqcCoHij6U2uKvXo?G7Be#F`e3&c zt9Ps!8F*4bPR>kr&PgmTW@J#%(DcbKO4m<K&dDq&PSsD%P18?J&M!*UcLl4k=423N z5M^f&VPr7EZV|{hSRe)@CTAz6r>gj5mZTOX<`nZVh%tyWGVpr(d4_m8`osr^IEJ_~ zGRWb#l97QcIKQ+gIn^x_<a<%%-~&a9URGjRA|nHjXI@@v5!jWf#q10+j0~DYyO5EA z1Lj5sMFvI&W(GzERt5$JCI%KzBrq^Ca56A37&9<3FfuSOuxf2*;Mxe5=3!u9;9_86 zU|^77U}2DC;ALQ7;DIP&;A7xtU|?Wj5MU658lVR?fMpYd&<41EHn4gnB)u$9y-W-e UU{#U~Qeb-+8H5?68D!Zw0noLxaR2}S literal 0 HcmV?d00001 diff --git a/metamodel/swt.most.statemachine/bin/swt/most/statemachine/impl/NormalStateImpl.class b/metamodel/swt.most.statemachine/bin/swt/most/statemachine/impl/NormalStateImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..3cded65db9283550c9eb415efb36331cf18a097b GIT binary patch literal 4987 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 literal 0 HcmV?d00001 diff --git a/metamodel/swt.most.statemachine/bin/swt/most/statemachine/impl/StateImpl.class b/metamodel/swt.most.statemachine/bin/swt/most/statemachine/impl/StateImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..77de38ac501f98532e9609237432cf74293c0d50 GIT binary patch literal 2769 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 IhEg_80DR0n@&Et; literal 0 HcmV?d00001 diff --git a/metamodel/swt.most.statemachine/bin/swt/most/statemachine/impl/StateMachineImpl.class b/metamodel/swt.most.statemachine/bin/swt/most/statemachine/impl/StateMachineImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..70dfd0481615f6dce18e46b1319bdec0f794a650 GIT binary patch literal 6807 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 ZFfa%)FflMQ+-A7T02+ojW4Oo02>|Trv+V!? literal 0 HcmV?d00001 diff --git a/metamodel/swt.most.statemachine/bin/swt/most/statemachine/impl/StatemachineFactoryImpl.class b/metamodel/swt.most.statemachine/bin/swt/most/statemachine/impl/StatemachineFactoryImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..24e9e0133766180440ba63e5a939c0a0565877df GIT binary patch literal 4732 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 literal 0 HcmV?d00001 diff --git a/metamodel/swt.most.statemachine/bin/swt/most/statemachine/impl/StatemachinePackageImpl.class b/metamodel/swt.most.statemachine/bin/swt/most/statemachine/impl/StatemachinePackageImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..ea51f30b4b3fd0c0d9954269256dab253ae49655 GIT binary patch literal 8726 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 literal 0 HcmV?d00001 diff --git a/metamodel/swt.most.statemachine/bin/swt/most/statemachine/impl/TransitionImpl.class b/metamodel/swt.most.statemachine/bin/swt/most/statemachine/impl/TransitionImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..9a04ccef9cdb76bf3ca4ccb7d0deb6ab90445bb6 GIT binary patch literal 7073 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 FCjdF2P*wl{ literal 0 HcmV?d00001 diff --git a/metamodel/swt.most.statemachine/bin/swt/most/statemachine/impl/TriggerImpl.class b/metamodel/swt.most.statemachine/bin/swt/most/statemachine/impl/TriggerImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..caca244c015bc14e96d8fafa234ea675390fbef5 GIT binary patch literal 686 zcmX^0Z`VEs1_nn4Id%pnMh3Ow@)G^r{NfV*;*!LY)ZE16jLf`L{mk5g9Q}}@%=Gls zBG24{9Cij4Mg~nhYF#S|ic*V<GxPHx%GnqhWU(uUn##z)W|NthSz^b?z^tJe#>l|p zoS%})#lXzK&BMUXz`@AC?~|FA>Q|bZlv)&$n3R*s$ROmCpPZNzmROVt;zI>lN-{Ew z85uNuuv>@j6Kh5Wp48xy#FETp=bXgiVnzl94Naf?qICV#<ebcc;#B?A+%)~v<ou#k zeOIswYfc7X22pkf5k>|h>~?^Rg9TkcVsdt3da8;~W=U#MVoos+gBXK2BLjO#kf*!5 zYY-!Y9Dd6f8MuP;ON)|I-7-O57Jvp9C{*>b63Y@98F)PN@=}YyPD?FjXOO`eF<6|% z$iM+}7=t1MBLg!7BLgb~0|OHS3n<VT7#TPj7#NHh7#SED7#LW!wli>T1WWTUFfed2 zFflMNNHDN4NHXv;Ffi~y6fy8I@G~$lurLTP2tp0egBrlHi9u)sTt6FFy%LgM7N}k( W1_`h#Nd_sfJ&X*(4AKm;Y@7f!gsa&A literal 0 HcmV?d00001 diff --git a/metamodel/swt.most.statemachine/bin/swt/most/statemachine/util/StatemachineAdapterFactory$1.class b/metamodel/swt.most.statemachine/bin/swt/most/statemachine/util/StatemachineAdapterFactory$1.class new file mode 100644 index 0000000000000000000000000000000000000000..946ad8b56ef4eeb45664cf9a0ce9e15da948b9cc GIT binary patch literal 4738 zcmX^0Z`VEs1_nolMs@}!Mh5fZ@)G^r{NfV*;*!LY)ZE16jLf`L{nC=m9Q|M<5yzCo zf|ArCx5VU<{Gv(~Lv{uhMh0CXH3yexmLz8|GO(3oWEQI!Ffy3?5UCT@T5CoIHk-`6 z%o00B1}hCR&Cm>EWMFa5Pf6uuU}WItVPIuo<6>ZD;N@XpXW(OGVAcRB;P=VQOZ6+w zO-d~aNleN~Wn>WY$xlwq2}>->1o5GQEFcdtGFX!56cs~jMh1c8#Nt$NNc%#<o{_;9 zm)DS$S!?>_7p3c`Cg)@p6sPK^=BDW<=jZ0;=jrF=mt>|@>O+Ihnu|e<L4ut@oRPtl ztU%{skYtczWROfQN=+<5aVgXWMg~m{VjaWCz?Pqsm6}|_$e@BF&`><d$iN8?A4Uc@ zya7W}h$!$dD1y8tgyb!_e`N7F&6<&c59FqhqQt!7%#zIfJVpj@Tn<AhBFS}XJPhg} z*NH=1hcE^1L?s+fL@2dpWZ;IlGc!FswTO|y1Ggi=DoApn4iAGa$b}*>7lMs|J5L^` z^T6t?q4DZonpl*ACtktwB)Q9ohrt-+E@-@h4S>4}SG<B%Su-+lfx^o%84{=NxPl9! zfFxI0@Gw|{TqO(%Er<zlXUX9REQm5#dULHPC`v6Z#-H90ib!&w9S?&&$bHcChA;*0 zMqKF)p%hk@dFEx7WG3c-voW5s3|SdTZgt^da0R&)S|A~t19vU1vISW&EL`0(^Wd(< znU4{QNOG$e4}&+zt<Z2qm;!exu5d*twPs}C2c=8D{GwdALw#^1P9#+%xio->ArRzJ z2}lY>G6wEcWgN*ANiC?%Nl8shEX^r#PApCZmpSOQRBCd5QL4VHKe!qo$&Fz=4B;R* zLdzVe5peg(V^oN!RxvUd;tDlzVzt)v$x19s)Xz!GOV@`wkBfnkA)1FlmO+k@!3>vf zq`1OiL>v!;JA(%vBan)197ZJaFeo#qFftfx5b!1r{V6;Q!3-gIoPd;*aTt-#!(h!| z!^mKcD<F_l0uD2>co=*c{1_RGaG3!u^l)g;<zX;oFk@t}z@;4}hvP7$fQP}6!3mEc z;N$>pj^Rob#XJnc3?g{a6r@tY;e;|C27LwtaBO04l!X*QDoPysD|r|+8MGJ~xPtRb zi;`2_GC@sLd9b^oO?YUwfHv6mKq;G%fipNWJuk7Ov?!I4Ap%Es#%TIOTJJU($qsvS z(+*T#x#lJ3<QHe=rTeCqWaOtXGVplj<)s!m=Oh*vrxr6ZaQLMbmw4nCmoO+WFfuSR zFfcF*2!LAR3=9n73=9nH3>*xM44e!M3?>Xr3``6R3|v~;TN${twlnZ-WME)mV&G?B zU|?flWME)$VGv+oVBi6>xflc)gg~Z&;s$Dh4Fe<C1P-k&3|!k7L^q)6cL(bigQ$V( zXJFu9kY<o!U}Rtf<$dfX$)lU(gVQ7>ut~}cD%ed@MK>uBr%4)MlQbE$u$!cfZc-Rd zlk~tQ=`$E$H^~s)q-dNbnSf0)WiZ2Tk~z9b2{=u%0-I#b0E#nE?1N}f>_g+u7Tu&& zoF+MdO>$&#!tN$#bd$1hn&bvH$(_LiyGfqtCgtNa$p>tbFM}U;ll;+5D#2+|5ZI(( zh7jx~g`%5OiPNMA21Wr#23dwks7Y$j{KlrGy^SFX-5f@+IZO-;0*(ys3^CaB#NyMV z%n*-FPXazY!3;^*^d#fcW6h9?O-~v=J-!SX*z{!L(__kzjZIGuK0S^MdD!&i<I^L| zP>4-W5k5Wo3?<m~l;YE)$xx0>PX$gr46F=Q;PSMZp$1IXGSo3JFt9L)F)%RHgUW4i MN@W0p2Cxb-0A?JHRR910 literal 0 HcmV?d00001 diff --git a/metamodel/swt.most.statemachine/bin/swt/most/statemachine/util/StatemachineAdapterFactory.class b/metamodel/swt.most.statemachine/bin/swt/most/statemachine/util/StatemachineAdapterFactory.class new file mode 100644 index 0000000000000000000000000000000000000000..8981ae01fdf9f91693fbf7eb8a648973f240bea0 GIT binary patch literal 2743 zcmX^0Z`VEs1_nn4e|82YMh4U3@)G^r{NfV*;*!LY)ZE16jLf`L{nC=m9Q|M<5yzCo zf|ArCx5VU<{Gv*B1{OvJ)BK`z{nX@~%!1-n{nXqv{p9@I-26QKy!?{Pv`YQV+=3i^ zRBfKQ1v!iiJh}NPsW}0O$=QkNsf-NTKG>arY&%r3H6sHzSaWcBW=V1eBZEE;y%^4i zXs~8v;0(@8&r2*RElOo%h#*b3jSqegL;Y%PXU)jKW|NthSz^b?z^tJe#>l|poS%}) z#lXzK&%?mYz{AcU$jD%h-P;&WhZ+kFc@;x01_1_PkTD{R3|1P%dI8lGYt1lD21W)k z9tL&>4iHO%hk=!Wjgvu&L57_{nvp>hyW_CL2@iuT0~;d)XR4=PaEPOyvnwM5zfWdf zs$XetQfg61Vp2{jBZH7nesW??SYlBohz}KHDaptzW@IoY(+i9Yyul@j$=SY%1yBP8 zGK-<1<d$C)QdyA7$RMiWla*MOsGpOVm#*)hl$DxXVyzj)&Y;G~Ad4QGsmb|8srs%E zRoo1!3>rKPnhaWu3~Z^+If=!^j0_4Iniy#Sstc^bnwvp~L64n5mytmRhv{H-JPi5_ z28;~c>8T~I(4@`CpoH6Ss2WhZ$_M)a6rvdZVr1Y=E=o--NrlEWBSWADhI3K#s2?b+ zW~LTdWBLnKA=F4~E(S9O3w8!`Mh0E%DFh?=LUJAtgC&C%BLhcDK7`N6V2tTDXi!2T zz*-YC=GYl*7#UR2Ll&z`85!705{uGPOBfk2Eke}+4+KUANk{;KlesUXD1`c)kwFtn z{Gb{HRcg)1AcSNNRFsiH93mJ}l$ckXS(2Hb2bU3n$z-OdrxwA5p{BT(CKjc@1%)AM z9g|T^fST=EQBagxT#Rfs)JvXunI)NtIbff`&4TK3%gjTUk$~9ZmtT~NE(LWgG@roD z;tI|$ElN&x%LL_jd9Xdu$^@zenl<%6>6Vd!$1^W4wFsOWQi~ZGxcyR#OMFv7MMg1$ zA_F4>GXnzy69c$ZVqjok0hLn>j0~J$Q7#5P21Zah%D~9L%fP^p$-u(E$iToLtF@hh zPir@WK%~}o2BEDCqMI1Rk27#?VvyX-Aij}-fq|Jpj)8$ejDeMbfkBmlg~5eEfI*Ex zj6t12hC!1-o`HdZ2VxL|0)rw01A`Jo<UfN910y?FhLJ&;K?Q1UB?A)!69WT-mi8tF z@nsCGENiq6GN{gEkk&rHpt_SmosnTDgEk`rOp<vG^BOcam@=?4m@#lNSTG1MSTblZ zScBal1~C=t1_lN#215oT21c-JSQ(f(Wf&P48H^cBpw4iHI)h(p3xg=g>TL|B2N<k3 zfP)I;UpBDI+mX!XhnvmMV9Q{~05Z^?!2xQZ4w%otz{H4d##FEwkT7C`n!(86NQBPC zSamuPp>rcvoz6t)+>ceK3lTccV%6zNgwESob-EFu^CecD?nLPPj#Z}zVV#VuSao_5 pp;H*EPA?*K%45;V%-{`9tv(FC3=9lh42%o{3=rT4&isrF0s!H#am4@t literal 0 HcmV?d00001 diff --git a/metamodel/swt.most.statemachine/bin/swt/most/statemachine/util/StatemachineSwitch.class b/metamodel/swt.most.statemachine/bin/swt/most/statemachine/util/StatemachineSwitch.class new file mode 100644 index 0000000000000000000000000000000000000000..7bd4d12ef9fb7c9137d138a9c93f29a5d9b66ea2 GIT binary patch literal 5592 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 AF#rGn literal 0 HcmV?d00001 diff --git a/metamodel/swt.most.statemachine/build.properties b/metamodel/swt.most.statemachine/build.properties new file mode 100644 index 0000000..697ca96 --- /dev/null +++ b/metamodel/swt.most.statemachine/build.properties @@ -0,0 +1,10 @@ +# + +bin.includes = .,\ + model/,\ + META-INF/,\ + plugin.xml,\ + plugin.properties +jars.compile.order = . +source.. = src-gen/ +output.. = bin/ diff --git a/metamodel/swt.most.statemachine/model/statemachine.aird b/metamodel/swt.most.statemachine/model/statemachine.aird new file mode 100644 index 0000000..be08415 --- /dev/null +++ b/metamodel/swt.most.statemachine/model/statemachine.aird @@ -0,0 +1,822 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:description="http://www.eclipse.org/sirius/description/1.1.0" xmlns:description_1="http://www.eclipse.org/sirius/diagram/description/1.1.0" xmlns:diagram="http://www.eclipse.org/sirius/diagram/1.1.0" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.3/notation" xmlns:style="http://www.eclipse.org/sirius/diagram/description/style/1.1.0" xmlns:viewpoint="http://www.eclipse.org/sirius/1.1.0" xsi:schemaLocation="http://www.eclipse.org/sirius/description/1.1.0 http://www.eclipse.org/sirius/1.1.0#//description http://www.eclipse.org/sirius/diagram/description/1.1.0 http://www.eclipse.org/sirius/diagram/1.1.0#//description http://www.eclipse.org/sirius/diagram/description/style/1.1.0 http://www.eclipse.org/sirius/diagram/1.1.0#//description/style"> + <viewpoint:DAnalysis uid="_L24nQFOpEe2H3LXgl620PA" selectedViews="_MIiX8FOpEe2H3LXgl620PA" version="15.2.0.202303281325"> + <semanticResources>statemachine.ecore</semanticResources> + <ownedViews xmi:type="viewpoint:DView" uid="_MIiX8FOpEe2H3LXgl620PA"> + <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']"/> + <ownedRepresentationDescriptors xmi:type="viewpoint:DRepresentationDescriptor" uid="_MK4hUFOpEe2H3LXgl620PA" name="statemachine" repPath="#_MKHsUFOpEe2H3LXgl620PA" changeId="1718626992484"> + <description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/> + <target xmi:type="ecore:EPackage" href="statemachine.ecore#/"/> + </ownedRepresentationDescriptors> + </ownedViews> + </viewpoint:DAnalysis> + <diagram:DSemanticDiagram uid="_MKHsUFOpEe2H3LXgl620PA"> + <ownedAnnotationEntries xmi:type="description:AnnotationEntry" uid="_MLWbYFOpEe2H3LXgl620PA" source="GMF_DIAGRAMS"> + <data xmi:type="notation:Diagram" xmi:id="_MLWbYVOpEe2H3LXgl620PA" type="Sirius" element="_MKHsUFOpEe2H3LXgl620PA" measurementUnit="Pixel"> + <children xmi:type="notation:Node" xmi:id="_yD77sFOqEe2NKN60v8idTQ" type="2003" element="_yDDK4FOqEe2NKN60v8idTQ"> + <children xmi:type="notation:Node" xmi:id="_yD77s1OqEe2NKN60v8idTQ" type="5007"/> + <children xmi:type="notation:Node" xmi:id="_yD77tFOqEe2NKN60v8idTQ" type="7004"> + <children xmi:type="notation:Node" xmi:id="_yEDQcFOqEe2NKN60v8idTQ" type="3010" element="_yDXT8FOqEe2NKN60v8idTQ"> + <styles xmi:type="notation:FontStyle" xmi:id="_yEDQcVOqEe2NKN60v8idTQ" fontName="Segoe UI" fontHeight="8" bold="true"/> + <layoutConstraint xmi:type="notation:Location" xmi:id="_yEDQclOqEe2NKN60v8idTQ"/> + </children> + <styles xmi:type="notation:SortingStyle" xmi:id="_yD77tVOqEe2NKN60v8idTQ"/> + <styles xmi:type="notation:FilteringStyle" xmi:id="_yD77tlOqEe2NKN60v8idTQ"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_yD77sVOqEe2NKN60v8idTQ" fontName="Segoe UI" fontHeight="8"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yD77slOqEe2NKN60v8idTQ" x="108" y="42"/> + </children> + <children xmi:type="notation:Node" xmi:id="_yD8iwFOqEe2NKN60v8idTQ" type="2003" element="_yDFAEFOqEe2NKN60v8idTQ"> + <children xmi:type="notation:Node" xmi:id="_yD9J0FOqEe2NKN60v8idTQ" type="5007"/> + <children xmi:type="notation:Node" xmi:id="_yD9J0VOqEe2NKN60v8idTQ" type="7004"> + <children xmi:type="notation:Node" xmi:id="_yED3gFOqEe2NKN60v8idTQ" type="3010" element="_yDczgFOqEe2NKN60v8idTQ"> + <styles xmi:type="notation:FontStyle" xmi:id="_yED3gVOqEe2NKN60v8idTQ" fontName="Segoe UI" fontHeight="8" bold="true"/> + <layoutConstraint xmi:type="notation:Location" xmi:id="_yED3glOqEe2NKN60v8idTQ"/> + </children> + <styles xmi:type="notation:SortingStyle" xmi:id="_yD9J0lOqEe2NKN60v8idTQ"/> + <styles xmi:type="notation:FilteringStyle" xmi:id="_yD9J01OqEe2NKN60v8idTQ"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_yD8iwVOqEe2NKN60v8idTQ" fontName="Segoe UI" fontHeight="8" italic="true"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yD8iwlOqEe2NKN60v8idTQ" x="456" y="474"/> + </children> + <children xmi:type="notation:Node" xmi:id="_yD9w4FOqEe2NKN60v8idTQ" type="2003" element="_yDG1QFOqEe2NKN60v8idTQ"> + <children xmi:type="notation:Node" xmi:id="_yD9w41OqEe2NKN60v8idTQ" type="5007"/> + <children xmi:type="notation:Node" xmi:id="_yD9w5FOqEe2NKN60v8idTQ" type="7004"> + <styles xmi:type="notation:SortingStyle" xmi:id="_yD9w5VOqEe2NKN60v8idTQ"/> + <styles xmi:type="notation:FilteringStyle" xmi:id="_yD9w5lOqEe2NKN60v8idTQ"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_yD9w4VOqEe2NKN60v8idTQ" fontName="Segoe UI" fontHeight="8"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yD9w4lOqEe2NKN60v8idTQ" x="803" y="474"/> + </children> + <children xmi:type="notation:Node" xmi:id="_yD9w51OqEe2NKN60v8idTQ" type="2003" element="_yDIDYFOqEe2NKN60v8idTQ"> + <children xmi:type="notation:Node" xmi:id="_yD-X8FOqEe2NKN60v8idTQ" type="5007"/> + <children xmi:type="notation:Node" xmi:id="_yD-X8VOqEe2NKN60v8idTQ" type="7004"> + <styles xmi:type="notation:SortingStyle" xmi:id="_yD-X8lOqEe2NKN60v8idTQ"/> + <styles xmi:type="notation:FilteringStyle" xmi:id="_yD-X81OqEe2NKN60v8idTQ"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_yD9w6FOqEe2NKN60v8idTQ" fontName="Segoe UI" fontHeight="8"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yD9w6VOqEe2NKN60v8idTQ" x="528" y="246"/> + </children> + <children xmi:type="notation:Node" xmi:id="_yD-X9FOqEe2NKN60v8idTQ" type="2003" element="_yDIqcVOqEe2NKN60v8idTQ"> + <children xmi:type="notation:Node" xmi:id="_yD-X91OqEe2NKN60v8idTQ" type="5007"/> + <children xmi:type="notation:Node" xmi:id="_yD-X-FOqEe2NKN60v8idTQ" type="7004"> + <styles xmi:type="notation:SortingStyle" xmi:id="_yD-X-VOqEe2NKN60v8idTQ"/> + <styles xmi:type="notation:FilteringStyle" xmi:id="_yD-X-lOqEe2NKN60v8idTQ"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_yD-X9VOqEe2NKN60v8idTQ" fontName="Segoe UI" fontHeight="8"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yD-X9lOqEe2NKN60v8idTQ" x="708" y="240"/> + </children> + <children xmi:type="notation:Node" xmi:id="_yD-_AFOqEe2NKN60v8idTQ" type="2003" element="_yDJ4kFOqEe2NKN60v8idTQ"> + <children xmi:type="notation:Node" xmi:id="_yD-_A1OqEe2NKN60v8idTQ" type="5007"/> + <children xmi:type="notation:Node" xmi:id="_yD_mEFOqEe2NKN60v8idTQ" type="7004"> + <styles xmi:type="notation:SortingStyle" xmi:id="_yD_mEVOqEe2NKN60v8idTQ"/> + <styles xmi:type="notation:FilteringStyle" xmi:id="_yD_mElOqEe2NKN60v8idTQ"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_yD-_AVOqEe2NKN60v8idTQ" fontName="Segoe UI" fontHeight="8"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yD-_AlOqEe2NKN60v8idTQ" x="882" y="240"/> + </children> + <children xmi:type="notation:Node" xmi:id="_yEANIFOqEe2NKN60v8idTQ" type="2003" element="_yDLGsFOqEe2NKN60v8idTQ"> + <children xmi:type="notation:Node" xmi:id="_yEANI1OqEe2NKN60v8idTQ" type="5007"/> + <children xmi:type="notation:Node" xmi:id="_yEANJFOqEe2NKN60v8idTQ" type="7004"> + <children xmi:type="notation:Node" xmi:id="_yEEekFOqEe2NKN60v8idTQ" type="3010" element="_yDeosFOqEe2NKN60v8idTQ"> + <styles xmi:type="notation:FontStyle" xmi:id="_yEEekVOqEe2NKN60v8idTQ" fontName="Segoe UI" fontHeight="8" bold="true"/> + <layoutConstraint xmi:type="notation:Location" xmi:id="_yEEeklOqEe2NKN60v8idTQ"/> + </children> + <styles xmi:type="notation:SortingStyle" xmi:id="_yEANJVOqEe2NKN60v8idTQ"/> + <styles xmi:type="notation:FilteringStyle" xmi:id="_yEANJlOqEe2NKN60v8idTQ"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_yEANIVOqEe2NKN60v8idTQ" fontName="Segoe UI" fontHeight="8" italic="true"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yEANIlOqEe2NKN60v8idTQ" x="384" y="72"/> + </children> + <children xmi:type="notation:Node" xmi:id="_yEA0MFOqEe2NKN60v8idTQ" type="2003" element="_yDLtwVOqEe2NKN60v8idTQ"> + <children xmi:type="notation:Node" xmi:id="_yEA0M1OqEe2NKN60v8idTQ" type="5007"/> + <children xmi:type="notation:Node" xmi:id="_yEA0NFOqEe2NKN60v8idTQ" type="7004"> + <styles xmi:type="notation:SortingStyle" xmi:id="_yEA0NVOqEe2NKN60v8idTQ"/> + <styles xmi:type="notation:FilteringStyle" xmi:id="_yEA0NlOqEe2NKN60v8idTQ"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_yEA0MVOqEe2NKN60v8idTQ" fontName="Segoe UI" fontHeight="8"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yEA0MlOqEe2NKN60v8idTQ" x="24" y="318"/> + </children> + <children xmi:type="notation:Node" xmi:id="_yEBbQFOqEe2NKN60v8idTQ" type="2003" element="_yDM74FOqEe2NKN60v8idTQ"> + <children xmi:type="notation:Node" xmi:id="_yEBbQ1OqEe2NKN60v8idTQ" type="5007"/> + <children xmi:type="notation:Node" xmi:id="_yEBbRFOqEe2NKN60v8idTQ" type="7004"> + <styles xmi:type="notation:SortingStyle" xmi:id="_yEBbRVOqEe2NKN60v8idTQ"/> + <styles xmi:type="notation:FilteringStyle" xmi:id="_yEBbRlOqEe2NKN60v8idTQ"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_yEBbQVOqEe2NKN60v8idTQ" fontName="Segoe UI" fontHeight="8"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yEBbQlOqEe2NKN60v8idTQ" x="156" y="318"/> + </children> + <children xmi:type="notation:Node" xmi:id="_yECCUFOqEe2NKN60v8idTQ" type="2003" element="_yDNi8VOqEe2NKN60v8idTQ"> + <children xmi:type="notation:Node" xmi:id="_yECCU1OqEe2NKN60v8idTQ" type="5007"/> + <children xmi:type="notation:Node" xmi:id="_yECCVFOqEe2NKN60v8idTQ" type="7004"> + <styles xmi:type="notation:SortingStyle" xmi:id="_yECCVVOqEe2NKN60v8idTQ"/> + <styles xmi:type="notation:FilteringStyle" xmi:id="_yECCVlOqEe2NKN60v8idTQ"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_yECCUVOqEe2NKN60v8idTQ" fontName="Segoe UI" fontHeight="8"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yECCUlOqEe2NKN60v8idTQ" x="291" y="318"/> + </children> + <styles xmi:type="notation:DiagramStyle" xmi:id="_MLWbYlOpEe2H3LXgl620PA"/> + <edges xmi:type="notation:Edge" xmi:id="_yEKlMFOqEe2NKN60v8idTQ" type="4001" element="_yDkIQFOqEe2NKN60v8idTQ" source="_yD77sFOqEe2NKN60v8idTQ" target="_yECCUFOqEe2NKN60v8idTQ"> + <children xmi:type="notation:Node" xmi:id="_yELMQFOqEe2NKN60v8idTQ" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yELMQVOqEe2NKN60v8idTQ" x="122" y="42"/> + </children> + <children xmi:type="notation:Node" xmi:id="_yENogFOqEe2NKN60v8idTQ" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yENogVOqEe2NKN60v8idTQ" x="71" y="-95"/> + </children> + <children xmi:type="notation:Node" xmi:id="_yEOPkFOqEe2NKN60v8idTQ" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yEOPkVOqEe2NKN60v8idTQ" x="-7"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_yEKlMVOqEe2NKN60v8idTQ" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_yEKlMlOqEe2NKN60v8idTQ" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_yEKlM1OqEe2NKN60v8idTQ" points="[47, 49, -124, -227]$[47, 155, -124, -121]$[170, 155, -1, -121]$[170, 227, -1, -49]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yEWycFOqEe2NKN60v8idTQ" id="(0.5,0.5)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yEWycVOqEe2NKN60v8idTQ" id="(0.5,0.5)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_yEXZgFOqEe2NKN60v8idTQ" type="4001" element="_yDsEEFOqEe2NKN60v8idTQ" source="_yD77sFOqEe2NKN60v8idTQ" target="_yEBbQFOqEe2NKN60v8idTQ"> + <children xmi:type="notation:Node" xmi:id="_yEXZhFOqEe2NKN60v8idTQ" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yEXZhVOqEe2NKN60v8idTQ" x="68" y="-67"/> + </children> + <children xmi:type="notation:Node" xmi:id="_yEXZhlOqEe2NKN60v8idTQ" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yEXZh1OqEe2NKN60v8idTQ" x="20" y="4"/> + </children> + <children xmi:type="notation:Node" xmi:id="_yEXZiFOqEe2NKN60v8idTQ" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yEXZiVOqEe2NKN60v8idTQ" x="-19"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_yEXZgVOqEe2NKN60v8idTQ" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_yEXZglOqEe2NKN60v8idTQ" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_yEXZg1OqEe2NKN60v8idTQ" points="[5, 49, -19, -227]$[5, 227, -19, -49]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yEYAkFOqEe2NKN60v8idTQ" id="(0.5,0.5)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yEYAkVOqEe2NKN60v8idTQ" id="(0.5,0.5)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_yEYAklOqEe2NKN60v8idTQ" type="4001" element="_yDsrJlOqEe2NKN60v8idTQ" source="_yD77sFOqEe2NKN60v8idTQ" target="_yEA0MFOqEe2NKN60v8idTQ"> + <children xmi:type="notation:Node" xmi:id="_yEYAllOqEe2NKN60v8idTQ" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yEYAl1OqEe2NKN60v8idTQ" x="94" y="-65"/> + </children> + <children xmi:type="notation:Node" xmi:id="_yEYAmFOqEe2NKN60v8idTQ" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yEYAmVOqEe2NKN60v8idTQ" x="135" y="-10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_yEYAmlOqEe2NKN60v8idTQ" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yEYAm1OqEe2NKN60v8idTQ" x="-78" y="-6"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_yEYAk1OqEe2NKN60v8idTQ" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_yEYAlFOqEe2NKN60v8idTQ" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_yEYAlVOqEe2NKN60v8idTQ" points="[-19, 49, 89, -227]$[-19, 138, 89, -138]$[-65, 138, 43, -138]$[-65, 227, 43, -49]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yEYnoFOqEe2NKN60v8idTQ" id="(0.5,0.5)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yEYnoVOqEe2NKN60v8idTQ" id="(0.5,0.5)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_yEYnolOqEe2NKN60v8idTQ" type="4001" element="_yDt5QFOqEe2NKN60v8idTQ" source="_yD77sFOqEe2NKN60v8idTQ" target="_yD9w4FOqEe2NKN60v8idTQ"> + <children xmi:type="notation:Node" xmi:id="_yEYnplOqEe2NKN60v8idTQ" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yEYnp1OqEe2NKN60v8idTQ" x="-729" y="-10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_yEYnqFOqEe2NKN60v8idTQ" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yEYnqVOqEe2NKN60v8idTQ" x="-154" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_yEZOsFOqEe2NKN60v8idTQ" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yEZOsVOqEe2NKN60v8idTQ" x="-40" y="359"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_yEYno1OqEe2NKN60v8idTQ" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_yEYnpFOqEe2NKN60v8idTQ" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_yEYnpVOqEe2NKN60v8idTQ" points="[71, -31, -612, -463]$[937, -31, 254, -463]$[937, 527, 254, 95]$[684, 527, 1, 95]$[684, 481, 1, 49]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yEZOslOqEe2NKN60v8idTQ" id="(0.5,0.5)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yEZOs1OqEe2NKN60v8idTQ" id="(0.5,0.5)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_yEZOtFOqEe2NKN60v8idTQ" type="4001" element="_yDt5R1OqEe2NKN60v8idTQ" source="_yD9w4FOqEe2NKN60v8idTQ" target="_yD8iwFOqEe2NKN60v8idTQ"> + <children xmi:type="notation:Node" xmi:id="_yEZOuFOqEe2NKN60v8idTQ" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yEZOuVOqEe2NKN60v8idTQ" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_yEZOulOqEe2NKN60v8idTQ" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yEZOu1OqEe2NKN60v8idTQ" x="193" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_yEZOvFOqEe2NKN60v8idTQ" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yEZOvVOqEe2NKN60v8idTQ" x="33" y="-10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_yEZOtVOqEe2NKN60v8idTQ" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_yEZOtlOqEe2NKN60v8idTQ" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_yEZOt1OqEe2NKN60v8idTQ" points="[-59, 17, 288, 17]$[-287, 17, 60, 17]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yEZ1wFOqEe2NKN60v8idTQ" id="(0.5,0.5)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yEZ1wVOqEe2NKN60v8idTQ" id="(0.5,0.5)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_yEZ1wlOqEe2NKN60v8idTQ" type="4001" element="_yDvHYFOqEe2NKN60v8idTQ" source="_yD9w4FOqEe2NKN60v8idTQ" target="_yD8iwFOqEe2NKN60v8idTQ"> + <children xmi:type="notation:Node" xmi:id="_yEZ1xlOqEe2NKN60v8idTQ" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yEZ1x1OqEe2NKN60v8idTQ" x="-7" y="16"/> + </children> + <children xmi:type="notation:Node" xmi:id="_yEZ1yFOqEe2NKN60v8idTQ" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yEZ1yVOqEe2NKN60v8idTQ" x="13"/> + </children> + <children xmi:type="notation:Node" xmi:id="_yEZ1ylOqEe2NKN60v8idTQ" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yEZ1y1OqEe2NKN60v8idTQ" x="12"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_yEZ1w1OqEe2NKN60v8idTQ" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_yEZ1xFOqEe2NKN60v8idTQ" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_yEZ1xVOqEe2NKN60v8idTQ" points="[-59, -19, 288, -19]$[-287, -19, 60, -19]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yEZ1zFOqEe2NKN60v8idTQ" id="(0.5,0.5)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yEZ1zVOqEe2NKN60v8idTQ" id="(0.5,0.5)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_yEZ1zlOqEe2NKN60v8idTQ" type="4001" element="_yDvuc1OqEe2NKN60v8idTQ" source="_yD9w4FOqEe2NKN60v8idTQ" target="_yD9w51OqEe2NKN60v8idTQ"> + <children xmi:type="notation:Node" xmi:id="_yEac0FOqEe2NKN60v8idTQ" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yEac0VOqEe2NKN60v8idTQ" x="-330" y="-78"/> + </children> + <children xmi:type="notation:Node" xmi:id="_yEac0lOqEe2NKN60v8idTQ" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yEac01OqEe2NKN60v8idTQ" x="28" y="-257"/> + </children> + <children xmi:type="notation:Node" xmi:id="_yEac1FOqEe2NKN60v8idTQ" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yEac1VOqEe2NKN60v8idTQ" x="26" y="-10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_yEZ1z1OqEe2NKN60v8idTQ" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_yEZ10FOqEe2NKN60v8idTQ" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_yEZ10VOqEe2NKN60v8idTQ" points="[58, 78, 333, 208]$[229, 78, 504, 208]$[229, -264, 504, -134]$[-245, -264, 30, -134]$[-245, -228, 30, -98]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yEac1lOqEe2NKN60v8idTQ" id="(0.5084745762711864,0.0)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yEac11OqEe2NKN60v8idTQ" id="(0.5084745762711864,1.0)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_yEac2FOqEe2NKN60v8idTQ" type="4001" element="_yDwVhlOqEe2NKN60v8idTQ" source="_yD9w4FOqEe2NKN60v8idTQ" target="_yD-X9FOqEe2NKN60v8idTQ"> + <children xmi:type="notation:Node" xmi:id="_yEac3FOqEe2NKN60v8idTQ" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yEac3VOqEe2NKN60v8idTQ" x="-208" y="-69"/> + </children> + <children xmi:type="notation:Node" xmi:id="_yEac3lOqEe2NKN60v8idTQ" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yEac31OqEe2NKN60v8idTQ" x="52" y="-225"/> + </children> + <children xmi:type="notation:Node" xmi:id="_yEbD4FOqEe2NKN60v8idTQ" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yEbD4VOqEe2NKN60v8idTQ" x="21" y="-10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_yEac2VOqEe2NKN60v8idTQ" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_yEac2lOqEe2NKN60v8idTQ" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_yEac21OqEe2NKN60v8idTQ" points="[58, 48, 153, 184]$[223, 48, 318, 184]$[223, -252, 318, -116]$[-65, -252, 30, -116]$[-65, -234, 30, -98]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yEbD4lOqEe2NKN60v8idTQ" id="(0.5084745762711864,0.0)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yEbD41OqEe2NKN60v8idTQ" id="(0.5084745762711864,1.0)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_yEbD5FOqEe2NKN60v8idTQ" type="4001" element="_yDxjoFOqEe2NKN60v8idTQ" source="_yD9w4FOqEe2NKN60v8idTQ" target="_yD-_AFOqEe2NKN60v8idTQ"> + <children xmi:type="notation:Node" xmi:id="_yEbD6FOqEe2NKN60v8idTQ" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yEbD6VOqEe2NKN60v8idTQ" x="-45" y="-63"/> + </children> + <children xmi:type="notation:Node" xmi:id="_yEbD6lOqEe2NKN60v8idTQ" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yEbD61OqEe2NKN60v8idTQ" x="92" y="-147"/> + </children> + <children xmi:type="notation:Node" xmi:id="_yEbD7FOqEe2NKN60v8idTQ" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yEbD7VOqEe2NKN60v8idTQ" x="-13" y="-95"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_yEbD5VOqEe2NKN60v8idTQ" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_yEbD5lOqEe2NKN60v8idTQ" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_yEbD51OqEe2NKN60v8idTQ" points="[58, 18, -21, 154]$[217, 18, 138, 154]$[217, -184, 138, -48]$[137, -184, 58, -48]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yEbq8FOqEe2NKN60v8idTQ" id="(0.5084745762711864,0.0)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yEbq8VOqEe2NKN60v8idTQ" id="(0.5084745762711864,1.0)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_yEbq8lOqEe2NKN60v8idTQ" type="4001" element="_yDyKtlOqEe2NKN60v8idTQ" source="_yECCUFOqEe2NKN60v8idTQ" target="_yD-_AFOqEe2NKN60v8idTQ"> + <children xmi:type="notation:Node" xmi:id="_yEbq9lOqEe2NKN60v8idTQ" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yEbq91OqEe2NKN60v8idTQ" x="-12" y="-10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_yEbq-FOqEe2NKN60v8idTQ" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yEbq-VOqEe2NKN60v8idTQ" x="66" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_yEbq-lOqEe2NKN60v8idTQ" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yEbq-1OqEe2NKN60v8idTQ" x="-241" y="10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_yEbq81OqEe2NKN60v8idTQ" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_yEbq9FOqEe2NKN60v8idTQ" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_yEbq9VOqEe2NKN60v8idTQ" points="[58, 54, -533, 34]$[573, 54, -18, 34]$[573, 20, -18, 0]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yEbq_FOqEe2NKN60v8idTQ" id="(0.5084745762711864,0.0)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yEbq_VOqEe2NKN60v8idTQ" id="(0.5084745762711864,1.0)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_yEcSAFOqEe2NKN60v8idTQ" type="4001" element="_yDzY0FOqEe2NKN60v8idTQ" source="_yECCUFOqEe2NKN60v8idTQ" target="_yD-_AFOqEe2NKN60v8idTQ"> + <children xmi:type="notation:Node" xmi:id="_yEcSBFOqEe2NKN60v8idTQ" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yEcSBVOqEe2NKN60v8idTQ" x="-29" y="-10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_yEcSBlOqEe2NKN60v8idTQ" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yEcSB1OqEe2NKN60v8idTQ" x="62" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_yEcSCFOqEe2NKN60v8idTQ" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yEcSCVOqEe2NKN60v8idTQ" x="-267" y="10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_yEcSAVOqEe2NKN60v8idTQ" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_yEcSAlOqEe2NKN60v8idTQ" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_yEcSA1OqEe2NKN60v8idTQ" points="[58, 72, -533, 52]$[585, 72, -6, 52]$[585, 20, -6, 0]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yEcSClOqEe2NKN60v8idTQ" id="(0.5084745762711864,0.0)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yEcSC1OqEe2NKN60v8idTQ" id="(0.5084745762711864,1.0)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_yEcSDFOqEe2NKN60v8idTQ" type="4001" element="_yDz_41OqEe2NKN60v8idTQ" source="_yECCUFOqEe2NKN60v8idTQ" target="_yD-_AFOqEe2NKN60v8idTQ"> + <children xmi:type="notation:Node" xmi:id="_yEc5EFOqEe2NKN60v8idTQ" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yEc5EVOqEe2NKN60v8idTQ" x="-44" y="-10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_yEc5ElOqEe2NKN60v8idTQ" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yEc5E1OqEe2NKN60v8idTQ" x="57" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_yEc5FFOqEe2NKN60v8idTQ" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yEc5FVOqEe2NKN60v8idTQ" x="-292" y="10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_yEcSDVOqEe2NKN60v8idTQ" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_yEcSDlOqEe2NKN60v8idTQ" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_yEcSD1OqEe2NKN60v8idTQ" points="[58, 90, -533, 70]$[597, 90, 6, 70]$[597, 20, 6, 0]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yEc5FlOqEe2NKN60v8idTQ" id="(0.5084745762711864,0.0)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yEc5F1OqEe2NKN60v8idTQ" id="(0.5084745762711864,1.0)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_yEc5GFOqEe2NKN60v8idTQ" type="4001" element="_yD1OAFOqEe2NKN60v8idTQ" source="_yD9w51OqEe2NKN60v8idTQ" target="_yEANIFOqEe2NKN60v8idTQ"> + <children xmi:type="notation:Node" xmi:id="_yEc5HFOqEe2NKN60v8idTQ" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yEc5HVOqEe2NKN60v8idTQ" y="-10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_yEdgIFOqEe2NKN60v8idTQ" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yEdgIVOqEe2NKN60v8idTQ" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_yEdgIlOqEe2NKN60v8idTQ" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yEdgI1OqEe2NKN60v8idTQ" y="10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_yEc5GVOqEe2NKN60v8idTQ" routing="Tree"/> + <styles xmi:type="notation:FontStyle" xmi:id="_yEc5GlOqEe2NKN60v8idTQ" fontName="Segoe UI" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_yEc5G1OqEe2NKN60v8idTQ" points="[-1, 0, -181, 60]$[179, -60, -1, 0]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yEdgJFOqEe2NKN60v8idTQ" id="(0.5084745762711864,0.0)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yEdgJVOqEe2NKN60v8idTQ" id="(0.5075757575757576,1.0)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_yEdgJlOqEe2NKN60v8idTQ" type="4001" element="_yD3DM1OqEe2NKN60v8idTQ" source="_yD-X9FOqEe2NKN60v8idTQ" target="_yEANIFOqEe2NKN60v8idTQ"> + <children xmi:type="notation:Node" xmi:id="_yEdgKlOqEe2NKN60v8idTQ" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yEdgK1OqEe2NKN60v8idTQ" x="-4" y="-10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_yEdgLFOqEe2NKN60v8idTQ" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yEdgLVOqEe2NKN60v8idTQ" x="-4" y="6"/> + </children> + <children xmi:type="notation:Node" xmi:id="_yEdgLlOqEe2NKN60v8idTQ" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yEdgL1OqEe2NKN60v8idTQ" x="-4" y="10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_yEdgJ1OqEe2NKN60v8idTQ" routing="Tree"/> + <styles xmi:type="notation:FontStyle" xmi:id="_yEdgKFOqEe2NKN60v8idTQ" fontName="Segoe UI" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_yEdgKVOqEe2NKN60v8idTQ" points="[0, 0, -219, 58]$[0, -36, -219, 22]$[219, -36, 0, 22]$[219, -58, 0, 0]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yEeHMFOqEe2NKN60v8idTQ" id="(0.5084745762711864,0.0)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yEeHMVOqEe2NKN60v8idTQ" id="(0.5075757575757576,1.0)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_yEeHMlOqEe2NKN60v8idTQ" type="4001" element="_yD3qQ1OqEe2NKN60v8idTQ" source="_yD-_AFOqEe2NKN60v8idTQ" target="_yEANIFOqEe2NKN60v8idTQ"> + <children xmi:type="notation:Node" xmi:id="_yEeHNlOqEe2NKN60v8idTQ" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yEeHN1OqEe2NKN60v8idTQ" y="-10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_yEeHOFOqEe2NKN60v8idTQ" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yEeHOVOqEe2NKN60v8idTQ" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_yEeHOlOqEe2NKN60v8idTQ" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yEeHO1OqEe2NKN60v8idTQ" y="10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_yEeHM1OqEe2NKN60v8idTQ" routing="Tree"/> + <styles xmi:type="notation:FontStyle" xmi:id="_yEeHNFOqEe2NKN60v8idTQ" fontName="Segoe UI" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_yEeHNVOqEe2NKN60v8idTQ" points="[-1, 0, 179, 60]$[-181, -60, -1, 0]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yEeuQFOqEe2NKN60v8idTQ" id="(0.5084745762711864,0.0)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yEeuQVOqEe2NKN60v8idTQ" id="(0.5075757575757576,1.0)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_yEfVUFOqEe2NKN60v8idTQ" type="4001" element="_yD4RU1OqEe2NKN60v8idTQ" source="_yEA0MFOqEe2NKN60v8idTQ" target="_yD8iwFOqEe2NKN60v8idTQ"> + <children xmi:type="notation:Node" xmi:id="_yEf8YFOqEe2NKN60v8idTQ" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yEf8YVOqEe2NKN60v8idTQ" y="-10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_yEgjcFOqEe2NKN60v8idTQ" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yEgjcVOqEe2NKN60v8idTQ" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_yEgjclOqEe2NKN60v8idTQ" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yEgjc1OqEe2NKN60v8idTQ" y="10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_yEfVUVOqEe2NKN60v8idTQ" routing="Tree"/> + <styles xmi:type="notation:FontStyle" xmi:id="_yEfVUlOqEe2NKN60v8idTQ" fontName="Segoe UI" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_yEfVU1OqEe2NKN60v8idTQ" points="[-1, 0, 98, 60]$[-100, -60, -1, 0]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yEhKgFOqEe2NKN60v8idTQ" id="(0.5084745762711864,0.0)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yEhKgVOqEe2NKN60v8idTQ" id="(0.5042016806722689,1.0)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_yEhKglOqEe2NKN60v8idTQ" type="4001" element="_yD44Y1OqEe2NKN60v8idTQ" source="_yEBbQFOqEe2NKN60v8idTQ" target="_yD8iwFOqEe2NKN60v8idTQ"> + <children xmi:type="notation:Node" xmi:id="_yEhKhlOqEe2NKN60v8idTQ" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yEhKh1OqEe2NKN60v8idTQ" y="-10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_yEhxkFOqEe2NKN60v8idTQ" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yEhxkVOqEe2NKN60v8idTQ" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_yEhxklOqEe2NKN60v8idTQ" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yEhxk1OqEe2NKN60v8idTQ" y="10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_yEhKg1OqEe2NKN60v8idTQ" routing="Tree"/> + <styles xmi:type="notation:FontStyle" xmi:id="_yEhKhFOqEe2NKN60v8idTQ" fontName="Segoe UI" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_yEhKhVOqEe2NKN60v8idTQ" points="[-1, 0, -82, 60]$[80, -60, -1, 0]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yEhxlFOqEe2NKN60v8idTQ" id="(0.5084745762711864,0.0)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yEhxlVOqEe2NKN60v8idTQ" id="(0.5042016806722689,1.0)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_yEhxllOqEe2NKN60v8idTQ" type="4001" element="_yD5fc1OqEe2NKN60v8idTQ" source="_yECCUFOqEe2NKN60v8idTQ" target="_yD8iwFOqEe2NKN60v8idTQ"> + <children xmi:type="notation:Node" xmi:id="_yEhxmlOqEe2NKN60v8idTQ" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yEhxm1OqEe2NKN60v8idTQ" y="-10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_yEhxnFOqEe2NKN60v8idTQ" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yEhxnVOqEe2NKN60v8idTQ" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_yEhxnlOqEe2NKN60v8idTQ" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yEhxn1OqEe2NKN60v8idTQ" y="10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_yEhxl1OqEe2NKN60v8idTQ" routing="Tree"/> + <styles xmi:type="notation:FontStyle" xmi:id="_yEhxmFOqEe2NKN60v8idTQ" fontName="Segoe UI" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_yEhxmVOqEe2NKN60v8idTQ" points="[-1, 0, 540, 60]$[-542, -60, -1, 0]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yEiYoFOqEe2NKN60v8idTQ" id="(0.5084745762711864,0.0)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yEiYoVOqEe2NKN60v8idTQ" id="(0.5546218487394958,0.05102040816326531)"/> + </edges> + </data> + </ownedAnnotationEntries> + <ownedAnnotationEntries xmi:type="description:AnnotationEntry" uid="_MNRuAFOpEe2H3LXgl620PA" source="DANNOTATION_CUSTOMIZATION_KEY"> + <data xmi:type="diagram:ComputedStyleDescriptionRegistry" uid="_MNSVEFOpEe2H3LXgl620PA"> + <computedStyleDescriptions xmi:type="style:BundledImageDescription" xmi:id="_yDYiEFOqEe2NKN60v8idTQ" labelExpression="service:render" labelAlignment="LEFT" tooltipExpression="service:renderTooltip" sizeComputationExpression="1"> + <borderColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> + <labelFormat>bold</labelFormat> + <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> + <color xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> + </computedStyleDescriptions> + <computedStyleDescriptions xmi:type="style:EdgeStyleDescription" xmi:id="_yDmkgFOqEe2NKN60v8idTQ" sourceArrow="FillDiamond" routingStyle="manhattan"> + <strokeColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> + <centerLabelStyleDescription xmi:type="style:CenterLabelStyleDescription" xmi:id="_yDmkgVOqEe2NKN60v8idTQ" showIcon="false" labelExpression="service:render"> + <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> + </centerLabelStyleDescription> + <endLabelStyleDescription xmi:type="style:EndLabelStyleDescription" xmi:id="_yDmkglOqEe2NKN60v8idTQ" labelSize="6" showIcon="false" labelExpression="service:eKeysLabel"> + <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='dark_blue']"/> + </endLabelStyleDescription> + </computedStyleDescriptions> + <computedStyleDescriptions xmi:type="style:EdgeStyleDescription" xmi:id="_yDtSMFOqEe2NKN60v8idTQ" sourceArrow="FillDiamond" routingStyle="manhattan"> + <strokeColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> + <centerLabelStyleDescription xmi:type="style:CenterLabelStyleDescription" xmi:id="_yDtSMVOqEe2NKN60v8idTQ" showIcon="false" labelExpression="service:render"> + <labelFormat>bold</labelFormat> + <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> + </centerLabelStyleDescription> + <endLabelStyleDescription xmi:type="style:EndLabelStyleDescription" xmi:id="_yDtSMlOqEe2NKN60v8idTQ" labelSize="6" showIcon="false" labelExpression="service:eKeysLabel"> + <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='dark_blue']"/> + </endLabelStyleDescription> + </computedStyleDescriptions> + <computedStyleDescriptions xmi:type="style:EdgeStyleDescription" xmi:id="_yDugUFOqEe2NKN60v8idTQ" routingStyle="manhattan"> + <strokeColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> + <centerLabelStyleDescription xmi:type="style:CenterLabelStyleDescription" xmi:id="_yDugUVOqEe2NKN60v8idTQ" showIcon="false" labelExpression="service:render"> + <labelFormat>bold</labelFormat> + <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> + </centerLabelStyleDescription> + <endLabelStyleDescription xmi:type="style:EndLabelStyleDescription" xmi:id="_yDugUlOqEe2NKN60v8idTQ" labelSize="6" showIcon="false" labelExpression="service:eKeysLabel"> + <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='dark_blue']"/> + </endLabelStyleDescription> + </computedStyleDescriptions> + </data> + </ownedAnnotationEntries> + <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_yDDK4FOqEe2NKN60v8idTQ" name="StateMachine" tooltipText="" outgoingEdges="_yDkIQFOqEe2NKN60v8idTQ _yDsEEFOqEe2NKN60v8idTQ _yDsrJlOqEe2NKN60v8idTQ _yDt5QFOqEe2NKN60v8idTQ" width="12" height="10"> + <target xmi:type="ecore:EClass" href="statemachine.ecore#//StateMachine"/> + <semanticElements xmi:type="ecore:EClass" href="statemachine.ecore#//StateMachine"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_yDEZAFOqEe2NKN60v8idTQ" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216"> + <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/> + <ownedElements xmi:type="diagram:DNodeListElement" uid="_yDXT8FOqEe2NKN60v8idTQ" name="name : EString" tooltipText=""> + <target xmi:type="ecore:EAttribute" href="statemachine.ecore#//StateMachine/name"/> + <semanticElements xmi:type="ecore:EAttribute" href="statemachine.ecore#//StateMachine/name"/> + <ownedStyle xmi:type="diagram:BundledImage" uid="_yDcMcFOqEe2NKN60v8idTQ" labelAlignment="LEFT" description="_yDYiEFOqEe2NKN60v8idTQ"> + <labelFormat>bold</labelFormat> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> + </ownedElements> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_yDFAEFOqEe2NKN60v8idTQ" name="State" tooltipText="" incomingEdges="_yDt5R1OqEe2NKN60v8idTQ _yDvHYFOqEe2NKN60v8idTQ _yD4RU1OqEe2NKN60v8idTQ _yD44Y1OqEe2NKN60v8idTQ _yD5fc1OqEe2NKN60v8idTQ" width="12" height="10"> + <target xmi:type="ecore:EClass" href="statemachine.ecore#//State"/> + <semanticElements xmi:type="ecore:EClass" href="statemachine.ecore#//State"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_yDFnIFOqEe2NKN60v8idTQ" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="228,228,228"> + <labelFormat>italic</labelFormat> + <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/> + <ownedElements xmi:type="diagram:DNodeListElement" uid="_yDczgFOqEe2NKN60v8idTQ" name="name : EString" tooltipText=""> + <target xmi:type="ecore:EAttribute" href="statemachine.ecore#//State/name"/> + <semanticElements xmi:type="ecore:EAttribute" href="statemachine.ecore#//State/name"/> + <ownedStyle xmi:type="diagram:BundledImage" uid="_yDdakFOqEe2NKN60v8idTQ" labelAlignment="LEFT" description="_yDYiEFOqEe2NKN60v8idTQ"> + <labelFormat>bold</labelFormat> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> + </ownedElements> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_yDG1QFOqEe2NKN60v8idTQ" name="Transition" tooltipText="" outgoingEdges="_yDt5R1OqEe2NKN60v8idTQ _yDvHYFOqEe2NKN60v8idTQ _yDvuc1OqEe2NKN60v8idTQ _yDwVhlOqEe2NKN60v8idTQ _yDxjoFOqEe2NKN60v8idTQ" incomingEdges="_yDt5QFOqEe2NKN60v8idTQ" width="12" height="10"> + <target xmi:type="ecore:EClass" href="statemachine.ecore#//Transition"/> + <semanticElements xmi:type="ecore:EClass" href="statemachine.ecore#//Transition"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_yDHcUFOqEe2NKN60v8idTQ" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216"> + <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_yDIDYFOqEe2NKN60v8idTQ" name="Trigger" tooltipText="" outgoingEdges="_yD1OAFOqEe2NKN60v8idTQ" incomingEdges="_yDvuc1OqEe2NKN60v8idTQ" width="12" height="10"> + <target xmi:type="ecore:EClass" href="statemachine.ecore#//Trigger"/> + <semanticElements xmi:type="ecore:EClass" href="statemachine.ecore#//Trigger"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_yDIDYVOqEe2NKN60v8idTQ" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216"> + <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_yDIqcVOqEe2NKN60v8idTQ" name="Guard" tooltipText="" outgoingEdges="_yD3DM1OqEe2NKN60v8idTQ" incomingEdges="_yDwVhlOqEe2NKN60v8idTQ" width="12" height="10"> + <target xmi:type="ecore:EClass" href="statemachine.ecore#//Guard"/> + <semanticElements xmi:type="ecore:EClass" href="statemachine.ecore#//Guard"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_yDJRgFOqEe2NKN60v8idTQ" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216"> + <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_yDJ4kFOqEe2NKN60v8idTQ" name="Action" tooltipText="" outgoingEdges="_yD3qQ1OqEe2NKN60v8idTQ" incomingEdges="_yDxjoFOqEe2NKN60v8idTQ _yDyKtlOqEe2NKN60v8idTQ _yDzY0FOqEe2NKN60v8idTQ _yDz_41OqEe2NKN60v8idTQ" width="12" height="10"> + <target xmi:type="ecore:EClass" href="statemachine.ecore#//Action"/> + <semanticElements xmi:type="ecore:EClass" href="statemachine.ecore#//Action"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_yDKfoFOqEe2NKN60v8idTQ" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216"> + <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_yDLGsFOqEe2NKN60v8idTQ" name="Expression" tooltipText="" incomingEdges="_yD1OAFOqEe2NKN60v8idTQ _yD3DM1OqEe2NKN60v8idTQ _yD3qQ1OqEe2NKN60v8idTQ" width="12" height="10"> + <target xmi:type="ecore:EClass" href="statemachine.ecore#//Expression"/> + <semanticElements xmi:type="ecore:EClass" href="statemachine.ecore#//Expression"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_yDLGsVOqEe2NKN60v8idTQ" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="228,228,228"> + <labelFormat>italic</labelFormat> + <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/> + <ownedElements xmi:type="diagram:DNodeListElement" uid="_yDeosFOqEe2NKN60v8idTQ" name="content : EString" tooltipText=""> + <target xmi:type="ecore:EAttribute" href="statemachine.ecore#//Expression/content"/> + <semanticElements xmi:type="ecore:EAttribute" href="statemachine.ecore#//Expression/content"/> + <ownedStyle xmi:type="diagram:BundledImage" uid="_yDfPwFOqEe2NKN60v8idTQ" labelAlignment="LEFT" description="_yDYiEFOqEe2NKN60v8idTQ"> + <labelFormat>bold</labelFormat> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> + </ownedElements> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_yDLtwVOqEe2NKN60v8idTQ" name="InitialState" tooltipText="" outgoingEdges="_yD4RU1OqEe2NKN60v8idTQ" incomingEdges="_yDsrJlOqEe2NKN60v8idTQ" width="12" height="10"> + <target xmi:type="ecore:EClass" href="statemachine.ecore#//InitialState"/> + <semanticElements xmi:type="ecore:EClass" href="statemachine.ecore#//InitialState"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_yDMU0FOqEe2NKN60v8idTQ" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216"> + <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_yDM74FOqEe2NKN60v8idTQ" name="FinalState" tooltipText="" outgoingEdges="_yD44Y1OqEe2NKN60v8idTQ" incomingEdges="_yDsEEFOqEe2NKN60v8idTQ" width="12" height="10"> + <target xmi:type="ecore:EClass" href="statemachine.ecore#//FinalState"/> + <semanticElements xmi:type="ecore:EClass" href="statemachine.ecore#//FinalState"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_yDM74VOqEe2NKN60v8idTQ" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216"> + <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_yDNi8VOqEe2NKN60v8idTQ" name="NormalState" tooltipText="" outgoingEdges="_yDyKtlOqEe2NKN60v8idTQ _yDzY0FOqEe2NKN60v8idTQ _yDz_41OqEe2NKN60v8idTQ _yD5fc1OqEe2NKN60v8idTQ" incomingEdges="_yDkIQFOqEe2NKN60v8idTQ" width="12" height="10"> + <target xmi:type="ecore:EClass" href="statemachine.ecore#//NormalState"/> + <semanticElements xmi:type="ecore:EClass" href="statemachine.ecore#//NormalState"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_yDOKAFOqEe2NKN60v8idTQ" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216"> + <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_yDkIQFOqEe2NKN60v8idTQ" name="[0..*] states" sourceNode="_yDDK4FOqEe2NKN60v8idTQ" targetNode="_yDNi8VOqEe2NKN60v8idTQ"> + <target xmi:type="ecore:EReference" href="statemachine.ecore#//StateMachine/states"/> + <semanticElements xmi:type="ecore:EReference" href="statemachine.ecore#//StateMachine/states"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_yDqO4FOqEe2NKN60v8idTQ" description="_yDmkgFOqEe2NKN60v8idTQ" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_yDq18VOqEe2NKN60v8idTQ" showIcon="false"> + <customFeatures>labelSize</customFeatures> + </centerLabelStyle> + <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_yDq18FOqEe2NKN60v8idTQ" showIcon="false" labelColor="39,76,114"> + <customFeatures>labelSize</customFeatures> + </endLabelStyle> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_yDsEEFOqEe2NKN60v8idTQ" name="[0..*] finalstates" sourceNode="_yDDK4FOqEe2NKN60v8idTQ" targetNode="_yDM74FOqEe2NKN60v8idTQ"> + <target xmi:type="ecore:EReference" href="statemachine.ecore#//StateMachine/finalstates"/> + <semanticElements xmi:type="ecore:EReference" href="statemachine.ecore#//StateMachine/finalstates"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_yDsrIFOqEe2NKN60v8idTQ" description="_yDmkgFOqEe2NKN60v8idTQ" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_yDsrIlOqEe2NKN60v8idTQ" showIcon="false"> + <customFeatures>labelSize</customFeatures> + </centerLabelStyle> + <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_yDsrIVOqEe2NKN60v8idTQ" showIcon="false" labelColor="39,76,114"> + <customFeatures>labelSize</customFeatures> + </endLabelStyle> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_yDsrJlOqEe2NKN60v8idTQ" name="[1..1] initialstate" sourceNode="_yDDK4FOqEe2NKN60v8idTQ" targetNode="_yDLtwVOqEe2NKN60v8idTQ"> + <target xmi:type="ecore:EReference" href="statemachine.ecore#//StateMachine/initialstate"/> + <semanticElements xmi:type="ecore:EReference" href="statemachine.ecore#//StateMachine/initialstate"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_yDtSM1OqEe2NKN60v8idTQ" description="_yDtSMFOqEe2NKN60v8idTQ" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_yDtSNVOqEe2NKN60v8idTQ" showIcon="false"> + <customFeatures>labelSize</customFeatures> + <labelFormat>bold</labelFormat> + </centerLabelStyle> + <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_yDtSNFOqEe2NKN60v8idTQ" showIcon="false" labelColor="39,76,114"> + <customFeatures>labelSize</customFeatures> + </endLabelStyle> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_yDt5QFOqEe2NKN60v8idTQ" name="[0..*] transitions" sourceNode="_yDDK4FOqEe2NKN60v8idTQ" targetNode="_yDG1QFOqEe2NKN60v8idTQ"> + <target xmi:type="ecore:EReference" href="statemachine.ecore#//StateMachine/transitions"/> + <semanticElements xmi:type="ecore:EReference" href="statemachine.ecore#//StateMachine/transitions"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_yDt5QVOqEe2NKN60v8idTQ" description="_yDmkgFOqEe2NKN60v8idTQ" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_yDt5Q1OqEe2NKN60v8idTQ" showIcon="false"> + <customFeatures>labelSize</customFeatures> + </centerLabelStyle> + <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_yDt5QlOqEe2NKN60v8idTQ" showIcon="false" labelColor="39,76,114"> + <customFeatures>labelSize</customFeatures> + </endLabelStyle> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_yDt5R1OqEe2NKN60v8idTQ" name="[1..1] from" sourceNode="_yDG1QFOqEe2NKN60v8idTQ" targetNode="_yDFAEFOqEe2NKN60v8idTQ"> + <target xmi:type="ecore:EReference" href="statemachine.ecore#//Transition/from"/> + <semanticElements xmi:type="ecore:EReference" href="statemachine.ecore#//Transition/from"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_yDugU1OqEe2NKN60v8idTQ" description="_yDugUFOqEe2NKN60v8idTQ" routingStyle="manhattan" strokeColor="0,0,0"> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_yDugVVOqEe2NKN60v8idTQ" showIcon="false"> + <customFeatures>labelSize</customFeatures> + <labelFormat>bold</labelFormat> + </centerLabelStyle> + <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_yDugVFOqEe2NKN60v8idTQ" showIcon="false" labelColor="39,76,114"> + <customFeatures>labelSize</customFeatures> + </endLabelStyle> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_yDvHYFOqEe2NKN60v8idTQ" name="[1..1] to" sourceNode="_yDG1QFOqEe2NKN60v8idTQ" targetNode="_yDFAEFOqEe2NKN60v8idTQ"> + <target xmi:type="ecore:EReference" href="statemachine.ecore#//Transition/to"/> + <semanticElements xmi:type="ecore:EReference" href="statemachine.ecore#//Transition/to"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_yDvHYVOqEe2NKN60v8idTQ" description="_yDugUFOqEe2NKN60v8idTQ" routingStyle="manhattan" strokeColor="0,0,0"> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_yDvHY1OqEe2NKN60v8idTQ" showIcon="false"> + <customFeatures>labelSize</customFeatures> + <labelFormat>bold</labelFormat> + </centerLabelStyle> + <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_yDvHYlOqEe2NKN60v8idTQ" showIcon="false" labelColor="39,76,114"> + <customFeatures>labelSize</customFeatures> + </endLabelStyle> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_yDvuc1OqEe2NKN60v8idTQ" name="[0..1] trigger" sourceNode="_yDG1QFOqEe2NKN60v8idTQ" targetNode="_yDIDYFOqEe2NKN60v8idTQ"> + <target xmi:type="ecore:EReference" href="statemachine.ecore#//Transition/trigger"/> + <semanticElements xmi:type="ecore:EReference" href="statemachine.ecore#//Transition/trigger"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_yDwVgFOqEe2NKN60v8idTQ" description="_yDmkgFOqEe2NKN60v8idTQ" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_yDwVglOqEe2NKN60v8idTQ" showIcon="false"> + <customFeatures>labelSize</customFeatures> + </centerLabelStyle> + <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_yDwVgVOqEe2NKN60v8idTQ" showIcon="false" labelColor="39,76,114"> + <customFeatures>labelSize</customFeatures> + </endLabelStyle> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_yDwVhlOqEe2NKN60v8idTQ" name="[0..1] guard" sourceNode="_yDG1QFOqEe2NKN60v8idTQ" targetNode="_yDIqcVOqEe2NKN60v8idTQ"> + <target xmi:type="ecore:EReference" href="statemachine.ecore#//Transition/guard"/> + <semanticElements xmi:type="ecore:EReference" href="statemachine.ecore#//Transition/guard"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_yDw8kFOqEe2NKN60v8idTQ" description="_yDmkgFOqEe2NKN60v8idTQ" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_yDw8klOqEe2NKN60v8idTQ" showIcon="false"> + <customFeatures>labelSize</customFeatures> + </centerLabelStyle> + <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_yDw8kVOqEe2NKN60v8idTQ" showIcon="false" labelColor="39,76,114"> + <customFeatures>labelSize</customFeatures> + </endLabelStyle> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_yDxjoFOqEe2NKN60v8idTQ" name="[0..1] action" sourceNode="_yDG1QFOqEe2NKN60v8idTQ" targetNode="_yDJ4kFOqEe2NKN60v8idTQ"> + <target xmi:type="ecore:EReference" href="statemachine.ecore#//Transition/action"/> + <semanticElements xmi:type="ecore:EReference" href="statemachine.ecore#//Transition/action"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_yDyKsFOqEe2NKN60v8idTQ" description="_yDmkgFOqEe2NKN60v8idTQ" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_yDyKslOqEe2NKN60v8idTQ" showIcon="false"> + <customFeatures>labelSize</customFeatures> + </centerLabelStyle> + <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_yDyKsVOqEe2NKN60v8idTQ" showIcon="false" labelColor="39,76,114"> + <customFeatures>labelSize</customFeatures> + </endLabelStyle> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_yDyKtlOqEe2NKN60v8idTQ" name="[0..1] do_" sourceNode="_yDNi8VOqEe2NKN60v8idTQ" targetNode="_yDJ4kFOqEe2NKN60v8idTQ"> + <target xmi:type="ecore:EReference" href="statemachine.ecore#//NormalState/do_"/> + <semanticElements xmi:type="ecore:EReference" href="statemachine.ecore#//NormalState/do_"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_yDyxwFOqEe2NKN60v8idTQ" description="_yDmkgFOqEe2NKN60v8idTQ" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_yDyxwlOqEe2NKN60v8idTQ" showIcon="false"> + <customFeatures>labelSize</customFeatures> + </centerLabelStyle> + <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_yDyxwVOqEe2NKN60v8idTQ" showIcon="false" labelColor="39,76,114"> + <customFeatures>labelSize</customFeatures> + </endLabelStyle> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_yDzY0FOqEe2NKN60v8idTQ" name="[0..1] exit_" sourceNode="_yDNi8VOqEe2NKN60v8idTQ" targetNode="_yDJ4kFOqEe2NKN60v8idTQ"> + <target xmi:type="ecore:EReference" href="statemachine.ecore#//NormalState/exit_"/> + <semanticElements xmi:type="ecore:EReference" href="statemachine.ecore#//NormalState/exit_"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_yDzY0VOqEe2NKN60v8idTQ" description="_yDmkgFOqEe2NKN60v8idTQ" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_yDzY01OqEe2NKN60v8idTQ" showIcon="false"> + <customFeatures>labelSize</customFeatures> + </centerLabelStyle> + <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_yDzY0lOqEe2NKN60v8idTQ" showIcon="false" labelColor="39,76,114"> + <customFeatures>labelSize</customFeatures> + </endLabelStyle> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_yDz_41OqEe2NKN60v8idTQ" name="[0..1] entry_" sourceNode="_yDNi8VOqEe2NKN60v8idTQ" targetNode="_yDJ4kFOqEe2NKN60v8idTQ"> + <target xmi:type="ecore:EReference" href="statemachine.ecore#//NormalState/entry_"/> + <semanticElements xmi:type="ecore:EReference" href="statemachine.ecore#//NormalState/entry_"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_yD0m8FOqEe2NKN60v8idTQ" description="_yDmkgFOqEe2NKN60v8idTQ" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_yD0m8lOqEe2NKN60v8idTQ" showIcon="false"> + <customFeatures>labelSize</customFeatures> + </centerLabelStyle> + <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_yD0m8VOqEe2NKN60v8idTQ" showIcon="false" labelColor="39,76,114"> + <customFeatures>labelSize</customFeatures> + </endLabelStyle> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_yD1OAFOqEe2NKN60v8idTQ" sourceNode="_yDIDYFOqEe2NKN60v8idTQ" targetNode="_yDLGsFOqEe2NKN60v8idTQ"> + <target xmi:type="ecore:EClass" href="statemachine.ecore#//Trigger"/> + <semanticElements xmi:type="ecore:EClass" href="statemachine.ecore#//Trigger"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_yD11EFOqEe2NKN60v8idTQ" targetArrow="InputClosedArrow" routingStyle="tree"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/> + <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_yD2cIFOqEe2NKN60v8idTQ" showIcon="false"> + <labelFormat>italic</labelFormat> + </beginLabelStyle> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_yD2cIVOqEe2NKN60v8idTQ" showIcon="false"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_yD3DM1OqEe2NKN60v8idTQ" sourceNode="_yDIqcVOqEe2NKN60v8idTQ" targetNode="_yDLGsFOqEe2NKN60v8idTQ"> + <target xmi:type="ecore:EClass" href="statemachine.ecore#//Guard"/> + <semanticElements xmi:type="ecore:EClass" href="statemachine.ecore#//Guard"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_yD3DNFOqEe2NKN60v8idTQ" targetArrow="InputClosedArrow" routingStyle="tree"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/> + <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_yD3DNVOqEe2NKN60v8idTQ" showIcon="false"> + <labelFormat>italic</labelFormat> + </beginLabelStyle> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_yD3DNlOqEe2NKN60v8idTQ" showIcon="false"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_yD3qQ1OqEe2NKN60v8idTQ" sourceNode="_yDJ4kFOqEe2NKN60v8idTQ" targetNode="_yDLGsFOqEe2NKN60v8idTQ"> + <target xmi:type="ecore:EClass" href="statemachine.ecore#//Action"/> + <semanticElements xmi:type="ecore:EClass" href="statemachine.ecore#//Action"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_yD3qRFOqEe2NKN60v8idTQ" targetArrow="InputClosedArrow" routingStyle="tree"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/> + <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_yD3qRVOqEe2NKN60v8idTQ" showIcon="false"> + <labelFormat>italic</labelFormat> + </beginLabelStyle> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_yD3qRlOqEe2NKN60v8idTQ" showIcon="false"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_yD4RU1OqEe2NKN60v8idTQ" sourceNode="_yDLtwVOqEe2NKN60v8idTQ" targetNode="_yDFAEFOqEe2NKN60v8idTQ"> + <target xmi:type="ecore:EClass" href="statemachine.ecore#//InitialState"/> + <semanticElements xmi:type="ecore:EClass" href="statemachine.ecore#//InitialState"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_yD4RVFOqEe2NKN60v8idTQ" targetArrow="InputClosedArrow" routingStyle="tree"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/> + <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_yD4RVVOqEe2NKN60v8idTQ" showIcon="false"> + <labelFormat>italic</labelFormat> + </beginLabelStyle> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_yD4RVlOqEe2NKN60v8idTQ" showIcon="false"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_yD44Y1OqEe2NKN60v8idTQ" sourceNode="_yDM74FOqEe2NKN60v8idTQ" targetNode="_yDFAEFOqEe2NKN60v8idTQ"> + <target xmi:type="ecore:EClass" href="statemachine.ecore#//FinalState"/> + <semanticElements xmi:type="ecore:EClass" href="statemachine.ecore#//FinalState"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_yD44ZFOqEe2NKN60v8idTQ" targetArrow="InputClosedArrow" routingStyle="tree"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/> + <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_yD44ZVOqEe2NKN60v8idTQ" showIcon="false"> + <labelFormat>italic</labelFormat> + </beginLabelStyle> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_yD44ZlOqEe2NKN60v8idTQ" showIcon="false"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_yD5fc1OqEe2NKN60v8idTQ" sourceNode="_yDNi8VOqEe2NKN60v8idTQ" targetNode="_yDFAEFOqEe2NKN60v8idTQ"> + <target xmi:type="ecore:EClass" href="statemachine.ecore#//NormalState"/> + <semanticElements xmi:type="ecore:EClass" href="statemachine.ecore#//NormalState"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_yD6GgFOqEe2NKN60v8idTQ" targetArrow="InputClosedArrow" routingStyle="tree"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/> + <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_yD6GgVOqEe2NKN60v8idTQ" showIcon="false"> + <labelFormat>italic</labelFormat> + </beginLabelStyle> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_yD6GglOqEe2NKN60v8idTQ" showIcon="false"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/> + </ownedDiagramElements> + <description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/> + <filterVariableHistory xmi:type="diagram:FilterVariableHistory" uid="_MKp30FOpEe2H3LXgl620PA"/> + <activatedLayers xmi:type="description_1:Layer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer"/> + <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Package']"/> + <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Validation']"/> + <target xmi:type="ecore:EPackage" href="statemachine.ecore#/"/> + </diagram:DSemanticDiagram> +</xmi:XMI> diff --git a/metamodel/swt.most.statemachine/model/statemachine.ecore b/metamodel/swt.most.statemachine/model/statemachine.ecore new file mode 100644 index 0000000..df0090b --- /dev/null +++ b/metamodel/swt.most.statemachine/model/statemachine.ecore @@ -0,0 +1,47 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="statemachine" nsURI="http://www.swt.org/most/statemachine" nsPrefix="statemachine"> + <eClassifiers xsi:type="ecore:EClass" name="StateMachine"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" + iD="true"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="states" upperBound="-1" + eType="#//NormalState" containment="true"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="finalstates" upperBound="-1" + eType="#//FinalState" containment="true"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="initialstate" lowerBound="1" + eType="#//InitialState" containment="true"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="transitions" upperBound="-1" + eType="#//Transition" containment="true"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="State" abstract="true"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" + iD="true"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Transition"> + <eStructuralFeatures xsi:type="ecore:EReference" name="from" lowerBound="1" eType="#//State"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="to" lowerBound="1" eType="#//State"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="trigger" eType="#//Trigger" + containment="true"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="guard" eType="#//Guard" + containment="true"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="action" eType="#//Action" + containment="true"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Trigger" eSuperTypes="#//Expression"/> + <eClassifiers xsi:type="ecore:EClass" name="Guard" eSuperTypes="#//Expression"/> + <eClassifiers xsi:type="ecore:EClass" name="Action" eSuperTypes="#//Expression"/> + <eClassifiers xsi:type="ecore:EClass" name="Expression" abstract="true"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="content" lowerBound="1" + eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="InitialState" eSuperTypes="#//State"/> + <eClassifiers xsi:type="ecore:EClass" name="FinalState" eSuperTypes="#//State"/> + <eClassifiers xsi:type="ecore:EClass" name="NormalState" eSuperTypes="#//State"> + <eStructuralFeatures xsi:type="ecore:EReference" name="do_" eType="#//Action" + containment="true"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="exit_" eType="#//Action" + containment="true"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="entry_" eType="#//Action" + containment="true"/> + </eClassifiers> +</ecore:EPackage> diff --git a/metamodel/swt.most.statemachine/model/statemachine.genmodel b/metamodel/swt.most.statemachine/model/statemachine.genmodel new file mode 100644 index 0000000..1aab0ae --- /dev/null +++ b/metamodel/swt.most.statemachine/model/statemachine.genmodel @@ -0,0 +1,44 @@ +<?xml version="1.0" encoding="UTF-8"?> +<genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" + modelDirectory="/swt.most.statemachine/src-gen" creationIcons="false" + editDirectory="/swt.most.statemachine.edit/src-gen" editorDirectory="/swt.most.statemachine.editor/src-gen" + modelPluginID="swt.most.statemachine" modelName="Statemachine" rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container" + codeFormatting="true" importerID="org.eclipse.emf.importer.ecore" complianceLevel="5.0" + copyrightFields="false" operationReflection="true" importOrganizing="true"> + <foreignModel>statemachine.ecore</foreignModel> + <testsDirectory xsi:nil="true"/> + <genPackages prefix="Statemachine" basePackage="swt.most" disposableProviderFactory="true" + ecorePackage="statemachine.ecore#/"> + <genClasses ecoreClass="statemachine.ecore#//StateMachine"> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute statemachine.ecore#//StateMachine/name"/> + <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference statemachine.ecore#//StateMachine/states"/> + <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference statemachine.ecore#//StateMachine/finalstates"/> + <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference statemachine.ecore#//StateMachine/initialstate"/> + <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference statemachine.ecore#//StateMachine/transitions"/> + </genClasses> + <genClasses image="false" ecoreClass="statemachine.ecore#//State"> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute statemachine.ecore#//State/name"/> + </genClasses> + <genClasses ecoreClass="statemachine.ecore#//Transition"> + <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference statemachine.ecore#//Transition/from"/> + <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference statemachine.ecore#//Transition/to"/> + <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference statemachine.ecore#//Transition/trigger"/> + <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference statemachine.ecore#//Transition/guard"/> + <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference statemachine.ecore#//Transition/action"/> + </genClasses> + <genClasses ecoreClass="statemachine.ecore#//Trigger"/> + <genClasses ecoreClass="statemachine.ecore#//Guard"/> + <genClasses ecoreClass="statemachine.ecore#//Action"/> + <genClasses image="false" ecoreClass="statemachine.ecore#//Expression"> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute statemachine.ecore#//Expression/content"/> + </genClasses> + <genClasses ecoreClass="statemachine.ecore#//InitialState"/> + <genClasses ecoreClass="statemachine.ecore#//FinalState"/> + <genClasses ecoreClass="statemachine.ecore#//NormalState"> + <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference statemachine.ecore#//NormalState/do_"/> + <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference statemachine.ecore#//NormalState/exit_"/> + <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference statemachine.ecore#//NormalState/entry_"/> + </genClasses> + </genPackages> +</genmodel:GenModel> diff --git a/metamodel/swt.most.statemachine/model/statemachine.svg b/metamodel/swt.most.statemachine/model/statemachine.svg new file mode 100644 index 0000000..55deaae --- /dev/null +++ b/metamodel/swt.most.statemachine/model/statemachine.svg @@ -0,0 +1,521 @@ +<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" stroke-dasharray="none" shape-rendering="auto" font-family="'Dialog'" width="1151" text-rendering="auto" fill-opacity="1" contentScriptType="text/ecmascript" color-interpolation="auto" color-rendering="auto" preserveAspectRatio="xMidYMid meet" font-size="12px" xmlns:diagram="http://www.eclipse.org/sirius/diagram/1.1.0" diagram:semanticRoot="platform:/resource/swt.most.statemachine/model/statemachine.ecore#/" viewBox="0 0 1151 635" fill="black" stroke="black" image-rendering="auto" stroke-miterlimit="10" zoomAndPan="magnify" version="1.0" stroke-linecap="square" stroke-linejoin="miter" contentStyleType="text/css" font-style="normal" height="635" stroke-width="1" stroke-dashoffset="0" font-weight="normal" stroke-opacity="1"> + <!--Generated by the Batik Graphics2D SVG Generator--> + <defs id="genericDefs"/> + <g> + <defs id="defs1"> + <linearGradient x1="113" x2="255" y1="12" gradientUnits="userSpaceOnUse" y2="132" xlink:type="simple" xlink:actuate="onLoad" id="linearGradient1" xlink:show="other" spreadMethod="pad"> + <stop stop-opacity="1" stop-color="white" offset="0%"/> + <stop stop-opacity="1" stop-color="rgb(255,252,216)" offset="100%"/> + </linearGradient> + <linearGradient x1="467" x2="586" y1="462" gradientUnits="userSpaceOnUse" y2="570" xlink:type="simple" xlink:actuate="onLoad" id="linearGradient2" xlink:show="other" spreadMethod="pad"> + <stop stop-opacity="1" stop-color="white" offset="0%"/> + <stop stop-opacity="1" stop-color="rgb(228,228,228)" offset="100%"/> + </linearGradient> + <linearGradient x1="814" x2="932" y1="462" gradientUnits="userSpaceOnUse" y2="570" xlink:type="simple" xlink:actuate="onLoad" id="linearGradient3" xlink:show="other" spreadMethod="pad"> + <stop stop-opacity="1" stop-color="white" offset="0%"/> + <stop stop-opacity="1" stop-color="rgb(255,252,216)" offset="100%"/> + </linearGradient> + <linearGradient x1="539" x2="657" y1="234" gradientUnits="userSpaceOnUse" y2="342" xlink:type="simple" xlink:actuate="onLoad" id="linearGradient4" xlink:show="other" spreadMethod="pad"> + <stop stop-opacity="1" stop-color="white" offset="0%"/> + <stop stop-opacity="1" stop-color="rgb(255,252,216)" offset="100%"/> + </linearGradient> + <linearGradient x1="719" x2="837" y1="228" gradientUnits="userSpaceOnUse" y2="336" xlink:type="simple" xlink:actuate="onLoad" id="linearGradient5" xlink:show="other" spreadMethod="pad"> + <stop stop-opacity="1" stop-color="white" offset="0%"/> + <stop stop-opacity="1" stop-color="rgb(255,252,216)" offset="100%"/> + </linearGradient> + <linearGradient x1="893" x2="1011" y1="228" gradientUnits="userSpaceOnUse" y2="336" xlink:type="simple" xlink:actuate="onLoad" id="linearGradient6" xlink:show="other" spreadMethod="pad"> + <stop stop-opacity="1" stop-color="white" offset="0%"/> + <stop stop-opacity="1" stop-color="rgb(255,252,216)" offset="100%"/> + </linearGradient> + <linearGradient x1="419" x2="551" y1="57" gradientUnits="userSpaceOnUse" y2="172" xlink:type="simple" xlink:actuate="onLoad" id="linearGradient7" xlink:show="other" spreadMethod="pad"> + <stop stop-opacity="1" stop-color="white" offset="0%"/> + <stop stop-opacity="1" stop-color="rgb(228,228,228)" offset="100%"/> + </linearGradient> + <linearGradient x1="35" x2="153" y1="306" gradientUnits="userSpaceOnUse" y2="414" xlink:type="simple" xlink:actuate="onLoad" id="linearGradient8" xlink:show="other" spreadMethod="pad"> + <stop stop-opacity="1" stop-color="white" offset="0%"/> + <stop stop-opacity="1" stop-color="rgb(255,252,216)" offset="100%"/> + </linearGradient> + <linearGradient x1="167" x2="285" y1="306" gradientUnits="userSpaceOnUse" y2="414" xlink:type="simple" xlink:actuate="onLoad" id="linearGradient9" xlink:show="other" spreadMethod="pad"> + <stop stop-opacity="1" stop-color="white" offset="0%"/> + <stop stop-opacity="1" stop-color="rgb(255,252,216)" offset="100%"/> + </linearGradient> + <linearGradient x1="302" x2="420" y1="306" gradientUnits="userSpaceOnUse" y2="414" xlink:type="simple" xlink:actuate="onLoad" id="linearGradient10" xlink:show="other" spreadMethod="pad"> + <stop stop-opacity="1" stop-color="white" offset="0%"/> + <stop stop-opacity="1" stop-color="rgb(255,252,216)" offset="100%"/> + </linearGradient> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath1"> + <path d="M112 22 L258 22 L258 124 L112 124 L112 22 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath2"> + <path d="M112 22 L256 22 L256 122 L112 122 L112 22 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath3"> + <path d="M134 27 L233 27 L233 46 L134 46 L134 27 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath4"> + <path d="M134 27 L236 27 L236 46 L134 46 L134 27 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath5"> + <path d="M117 51 L251 51 L251 70 L117 70 L117 51 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath6"> + <path d="M117 51 L253 51 L253 70 L117 70 L117 51 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath7"> + <path d="M113 49 L255 49 L255 121 L113 121 L113 49 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath8"> + <path d="M466 466 L589 466 L589 568 L466 568 L466 466 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath9"> + <path d="M466 466 L587 466 L587 566 L466 566 L466 466 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath10"> + <path d="M502 471 L550 471 L550 490 L502 490 L502 471 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath11"> + <path d="M502 471 L552 471 L552 490 L502 490 L502 471 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath12"> + <path d="M471 495 L582 495 L582 514 L471 514 L471 495 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath13"> + <path d="M471 495 L585 495 L585 514 L471 514 L471 495 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath14"> + <path d="M467 493 L586 493 L586 565 L467 565 L467 493 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath15"> + <path d="M813 466 L935 466 L935 568 L813 568 L813 466 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath16"> + <path d="M813 466 L933 466 L933 566 L813 566 L813 466 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath17"> + <path d="M834 471 L911 471 L911 490 L834 490 L834 471 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath18"> + <path d="M834 471 L913 471 L913 490 L834 490 L834 471 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath19"> + <path d="M814 493 L932 493 L932 565 L814 565 L814 493 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath20"> + <path d="M538 238 L660 238 L660 340 L538 340 L538 238 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath21"> + <path d="M538 238 L658 238 L658 338 L538 338 L538 238 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath22"> + <path d="M566 243 L629 243 L629 262 L566 262 L566 243 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath23"> + <path d="M566 243 L632 243 L632 262 L566 262 L566 243 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath24"> + <path d="M539 265 L657 265 L657 337 L539 337 L539 265 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath25"> + <path d="M718 232 L840 232 L840 334 L718 334 L718 232 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath26"> + <path d="M718 232 L838 232 L838 332 L718 332 L718 232 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath27"> + <path d="M749 237 L806 237 L806 256 L749 256 L749 237 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath28"> + <path d="M749 237 L809 237 L809 256 L749 256 L749 237 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath29"> + <path d="M719 259 L837 259 L837 331 L719 331 L719 259 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath30"> + <path d="M892 232 L1014 232 L1014 334 L892 334 L892 232 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath31"> + <path d="M892 232 L1012 232 L1012 332 L892 332 L892 232 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath32"> + <path d="M923 237 L980 237 L980 256 L923 256 L923 237 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath33"> + <path d="M923 237 L983 237 L983 256 L923 256 L923 237 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath34"> + <path d="M893 259 L1011 259 L1011 331 L893 331 L893 259 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath35"> + <path d="M418 64 L554 64 L554 166 L418 166 L418 64 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath36"> + <path d="M418 64 L552 64 L552 164 L418 164 L418 64 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath37"> + <path d="M446 69 L524 69 L524 88 L446 88 L446 69 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath38"> + <path d="M446 69 L526 69 L526 88 L446 88 L446 69 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath39"> + <path d="M423 93 L547 93 L547 112 L423 112 L423 93 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath40"> + <path d="M423 93 L550 93 L550 112 L423 112 L423 93 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath41"> + <path d="M419 91 L551 91 L551 163 L419 163 L419 91 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath42"> + <path d="M34 310 L156 310 L156 412 L34 412 L34 310 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath43"> + <path d="M34 310 L154 310 L154 410 L34 410 L34 310 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath44"> + <path d="M54 315 L134 315 L134 334 L54 334 L54 315 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath45"> + <path d="M54 315 L136 315 L136 334 L54 334 L54 315 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath46"> + <path d="M35 337 L153 337 L153 409 L35 409 L35 337 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath47"> + <path d="M166 310 L288 310 L288 412 L166 412 L166 310 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath48"> + <path d="M166 310 L286 310 L286 410 L166 410 L166 310 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath49"> + <path d="M188 315 L264 315 L264 334 L188 334 L188 315 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath50"> + <path d="M188 315 L266 315 L266 334 L188 334 L188 315 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath51"> + <path d="M167 337 L285 337 L285 409 L167 409 L167 337 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath52"> + <path d="M301 310 L423 310 L423 412 L301 412 L301 310 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath53"> + <path d="M301 310 L421 310 L421 410 L301 410 L301 310 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath54"> + <path d="M314 315 L408 315 L408 334 L314 334 L314 315 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath55"> + <path d="M314 315 L411 315 L411 334 L314 334 L314 315 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath56"> + <path d="M302 337 L420 337 L420 409 L302 409 L302 337 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath57"> + <path d="M-1 -1 L1152 -1 L1152 636 L-1 636 L-1 -1 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath58"> + <path d="M370 272 L438 272 L438 291 L370 291 L370 272 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath59"> + <path d="M227 120 L236 120 L236 135 L227 135 L227 120 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath60"> + <path d="M356 303 L365 303 L365 313 L356 313 L356 303 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath61"> + <path d="M196 274 L288 274 L288 293 L196 293 L196 274 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath62"> + <path d="M187 120 L196 120 L196 135 L187 135 L187 120 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath63"> + <path d="M187 303 L196 303 L196 313 L187 313 L187 303 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath64"> + <path d="M22 278 L128 278 L128 297 L22 297 L22 278 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath65"> + <path d="M127 120 L136 120 L136 135 L127 135 L127 120 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath66"> + <path d="M127 303 L136 303 L136 313 L127 313 L127 303 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath67"> + <path d="M347 22 L441 22 L441 41 L347 41 L347 22 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath68"> + <path d="M254 37 L269 37 L269 46 L254 46 L254 37 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath69"> + <path d="M870 564 L879 564 L879 574 L870 574 L870 564 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath70"> + <path d="M666 514 L737 514 L737 533 L666 533 L666 514 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath71"> + <path d="M585 529 L595 529 L595 538 L585 538 L585 529 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath72"> + <path d="M682 472 L735 472 L735 491 L682 491 L682 472 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath73"> + <path d="M585 493 L595 493 L595 502 L585 502 L585 493 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath74"> + <path d="M988 526 L1064 526 L1064 545 L988 545 L988 526 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath75"> + <path d="M931 541 L946 541 L946 550 L931 550 L931 541 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath76"> + <path d="M625 231 L634 231 L634 241 L625 241 L625 231 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath77"> + <path d="M994 494 L1065 494 L1065 513 L994 513 L994 494 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath78"> + <path d="M931 511 L946 511 L946 520 L931 520 L931 511 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath79"> + <path d="M805 225 L814 225 L814 235 L805 235 L805 225 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath80"> + <path d="M994 460 L1065 460 L1065 479 L994 479 L994 460 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath81"> + <path d="M931 481 L946 481 L946 490 L931 490 L931 481 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath82"> + <path d="M1010 279 L1020 279 L1020 288 L1010 288 L1010 279 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath83"> + <path d="M655 346 L712 346 L712 365 L655 365 L655 346 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath84"> + <path d="M419 361 L434 361 L434 370 L419 370 L419 361 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath85"> + <path d="M931 330 L940 330 L940 340 L931 340 L931 330 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath86"> + <path d="M651 364 L712 364 L712 383 L651 383 L651 364 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath87"> + <path d="M419 379 L434 379 L434 388 L419 388 L419 379 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath88"> + <path d="M943 330 L952 330 L952 340 L943 340 L943 330 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath89"> + <path d="M646 382 L716 382 L716 401 L646 401 L646 382 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath90"> + <path d="M419 397 L434 397 L434 406 L419 406 L419 397 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath91"> + <path d="M955 330 L964 330 L964 340 L955 340 L955 330 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath92"> + <path d="M481 162 L492 162 L492 173 L481 173 L481 162 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath93"> + <path d="M522 458 L533 458 L533 469 L522 469 L522 458 Z"/> + </clipPath> + </defs> + <g font-size="13px" fill="rgb(131,122,133)" font-family="'Segoe UI'" stroke-linejoin="round" stroke="rgb(131,122,133)" stroke-width="0" stroke-miterlimit="0"> + <rect x="114" y="24" clip-path="url(#clipPath1)" width="142" rx="4" opacity="0.255" ry="4" height="98" stroke="none"/> + <rect x="115" y="25" clip-path="url(#clipPath1)" width="142" rx="4" opacity="0.255" ry="4" height="98" stroke="none"/> + <rect x="113" y="23" clip-path="url(#clipPath2)" fill="url(#linearGradient1)" width="142" rx="4" ry="4" height="98" stroke="none"/> + </g> + <g font-size="13px" stroke-width="1.1" font-family="'Segoe UI'" stroke-linecap="butt"> + <rect x="113" y="23" clip-path="url(#clipPath2)" fill="none" width="141" rx="4" ry="4" height="97"/> + <image x="135" y="28" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAsklEQVR4XqWQ0QoB QRSG941sEhJ5F1HaViRCpKwoN25cUFI8khuvYvbq8IuaOuaftr34mmm+ztdpAhEJ 8qAesqIeLouC+PAGTHp34g2c56EasoGngeM0lKd5fDDpl9/9fcLTwGFSlNsplqsD eBrYj0tqbRt4GtgNy2rIBp4G1v0K/QN4GljGVUm2K0k2/4GngVlUU2vbwNPAqFtX QzbwNDDoNOgfwNNAr92UqOUGngay8gIKdwdeFkAbDAAAAABJRU5ErkJggg==" xlink:type="simple" xlink:actuate="onLoad" height="16" preserveAspectRatio="none" xlink:show="embed"/> + <text x="154" xml:space="preserve" y="42" clip-path="url(#clipPath4)" stroke="none">StateMachine</text> + <image x="118" y="52" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAa0lEQVR4XmNgGAUY YG6N/n9CGF0PCphaYfj/x8+LODFIHl0PCugqMsXQhIxB8uh6UEBtjuX/7z+ugfGP n1AMYwNpkDy6HhRQlGb7PyvJHicGyaProS2QtC8j30aQZooMAIGBNQDmBYoMIQQA VHKRZGFCvOoAAAAASUVORK5CYII=" xlink:type="simple" xlink:actuate="onLoad" height="16" preserveAspectRatio="none" xlink:show="embed" font-weight="bold"/> + <text x="137" xml:space="preserve" y="66" clip-path="url(#clipPath6)" font-weight="bold" stroke="none">identifier : EString</text> + <line y2="50" fill="none" x1="114" clip-path="url(#clipPath7)" x2="254" y1="50"/> + <rect x="468" y="468" clip-path="url(#clipPath8)" fill="rgb(131,122,133)" width="119" rx="4" opacity="0.255" ry="4" height="98" stroke="none"/> + <rect x="469" y="469" clip-path="url(#clipPath8)" fill="rgb(131,122,133)" width="119" rx="4" opacity="0.255" ry="4" height="98" stroke="none"/> + <rect x="467" y="467" clip-path="url(#clipPath9)" fill="url(#linearGradient2)" width="119" rx="4" ry="4" height="98" stroke="none"/> + <rect x="467" y="467" clip-path="url(#clipPath9)" fill="none" width="118" rx="4" ry="4" height="97" stroke="rgb(125,125,125)"/> + <image stroke="rgb(125,125,125)" width="16" xlink:show="embed" xlink:type="simple" fill="rgb(125,125,125)" preserveAspectRatio="none" height="16" font-style="italic" x="503" y="472" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAw0lEQVR4XmP4//8/ AyUYQgApZIyuCB8Ga0YHILG5Nfo4MUgJDMMNQLIdTP/4eRErxmkAMsBnwOxqA7AS GMbpgu8/rgE1QDGMDaSnV2AxAKoRJgDmL5iRgxVPLjdCNQCZA8J9pSYYzkbGIHm8 BnQWmWFoQsYgebwGNOebg/2PKwxA8ngNqMux+N/U1vi/qRU7BsnjNaAyywrD2cgY JI/XgJIMGwxNyBgkj9eAglRbvGEAksdrQG6K/f+sJNwYJI/XAFIxAHIn7dCPjVWK AAAAAElFTkSuQmCC" xlink:actuate="onLoad"/> + <text font-style="italic" x="522" xml:space="preserve" y="486" clip-path="url(#clipPath11)" stroke="none">State</text> + <image x="472" y="496" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAa0lEQVR4XmNgGAUY YG6N/n9CGF0PCphaYfj/x8+LODFIHl0PCugqMsXQhIxB8uh6UEBtjuX/7z+ugfGP n1AMYwNpkDy6HhRQlGb7PyvJHicGyaProS2QtC8j30aQZooMAIGBNQDmBYoMIQQA VHKRZGFCvOoAAAAASUVORK5CYII=" xlink:type="simple" xlink:actuate="onLoad" height="16" preserveAspectRatio="none" xlink:show="embed" font-weight="bold"/> + <text x="491" xml:space="preserve" y="510" clip-path="url(#clipPath13)" font-weight="bold" stroke="none">name : EString</text> + <line clip-path="url(#clipPath14)" fill="none" x1="468" x2="585" y1="494" y2="494" stroke="rgb(125,125,125)"/> + <rect x="815" y="468" clip-path="url(#clipPath15)" fill="rgb(131,122,133)" width="118" rx="4" opacity="0.255" ry="4" height="98" stroke="none"/> + <rect x="816" y="469" clip-path="url(#clipPath15)" fill="rgb(131,122,133)" width="118" rx="4" opacity="0.255" ry="4" height="98" stroke="none"/> + <rect x="814" y="467" clip-path="url(#clipPath16)" fill="url(#linearGradient3)" width="118" rx="4" ry="4" height="98" stroke="none"/> + <rect x="814" y="467" clip-path="url(#clipPath16)" fill="none" width="117" rx="4" ry="4" height="97"/> + <image x="835" y="472" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAsklEQVR4XqWQ0QoB QRSG941sEhJ5F1HaViRCpKwoN25cUFI8khuvYvbq8IuaOuaftr34mmm+ztdpAhEJ 8qAesqIeLouC+PAGTHp34g2c56EasoGngeM0lKd5fDDpl9/9fcLTwGFSlNsplqsD eBrYj0tqbRt4GtgNy2rIBp4G1v0K/QN4GljGVUm2K0k2/4GngVlUU2vbwNPAqFtX QzbwNDDoNOgfwNNAr92UqOUGngay8gIKdwdeFkAbDAAAAABJRU5ErkJggg==" xlink:type="simple" xlink:actuate="onLoad" height="16" preserveAspectRatio="none" xlink:show="embed"/> + <text x="854" xml:space="preserve" y="486" clip-path="url(#clipPath18)" stroke="none">Transition</text> + <line y2="494" fill="none" x1="815" clip-path="url(#clipPath19)" x2="931" y1="494"/> + <rect x="540" y="240" clip-path="url(#clipPath20)" fill="rgb(131,122,133)" width="118" rx="4" opacity="0.255" ry="4" height="98" stroke="none"/> + <rect x="541" y="241" clip-path="url(#clipPath20)" fill="rgb(131,122,133)" width="118" rx="4" opacity="0.255" ry="4" height="98" stroke="none"/> + <rect x="539" y="239" clip-path="url(#clipPath21)" fill="url(#linearGradient4)" width="118" rx="4" ry="4" height="98" stroke="none"/> + <rect x="539" y="239" clip-path="url(#clipPath21)" fill="none" width="117" rx="4" ry="4" height="97"/> + <image x="567" y="244" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAsklEQVR4XqWQ0QoB QRSG941sEhJ5F1HaViRCpKwoN25cUFI8khuvYvbq8IuaOuaftr34mmm+ztdpAhEJ 8qAesqIeLouC+PAGTHp34g2c56EasoGngeM0lKd5fDDpl9/9fcLTwGFSlNsplqsD eBrYj0tqbRt4GtgNy2rIBp4G1v0K/QN4GljGVUm2K0k2/4GngVlUU2vbwNPAqFtX QzbwNDDoNOgfwNNAr92UqOUGngay8gIKdwdeFkAbDAAAAABJRU5ErkJggg==" xlink:type="simple" xlink:actuate="onLoad" height="16" preserveAspectRatio="none" xlink:show="embed"/> + <text x="586" xml:space="preserve" y="258" clip-path="url(#clipPath23)" stroke="none">Trigger</text> + <line y2="266" fill="none" x1="540" clip-path="url(#clipPath24)" x2="656" y1="266"/> + <rect x="720" y="234" clip-path="url(#clipPath25)" fill="rgb(131,122,133)" width="118" rx="4" opacity="0.255" ry="4" height="98" stroke="none"/> + <rect x="721" y="235" clip-path="url(#clipPath25)" fill="rgb(131,122,133)" width="118" rx="4" opacity="0.255" ry="4" height="98" stroke="none"/> + <rect x="719" y="233" clip-path="url(#clipPath26)" fill="url(#linearGradient5)" width="118" rx="4" ry="4" height="98" stroke="none"/> + <rect x="719" y="233" clip-path="url(#clipPath26)" fill="none" width="117" rx="4" ry="4" height="97"/> + <image x="750" y="238" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAsklEQVR4XqWQ0QoB QRSG941sEhJ5F1HaViRCpKwoN25cUFI8khuvYvbq8IuaOuaftr34mmm+ztdpAhEJ 8qAesqIeLouC+PAGTHp34g2c56EasoGngeM0lKd5fDDpl9/9fcLTwGFSlNsplqsD eBrYj0tqbRt4GtgNy2rIBp4G1v0K/QN4GljGVUm2K0k2/4GngVlUU2vbwNPAqFtX QzbwNDDoNOgfwNNAr92UqOUGngay8gIKdwdeFkAbDAAAAABJRU5ErkJggg==" xlink:type="simple" xlink:actuate="onLoad" height="16" preserveAspectRatio="none" xlink:show="embed"/> + <text x="769" xml:space="preserve" y="252" clip-path="url(#clipPath28)" stroke="none">Guard</text> + <line y2="260" fill="none" x1="720" clip-path="url(#clipPath29)" x2="836" y1="260"/> + <rect x="894" y="234" clip-path="url(#clipPath30)" fill="rgb(131,122,133)" width="118" rx="4" opacity="0.255" ry="4" height="98" stroke="none"/> + <rect x="895" y="235" clip-path="url(#clipPath30)" fill="rgb(131,122,133)" width="118" rx="4" opacity="0.255" ry="4" height="98" stroke="none"/> + <rect x="893" y="233" clip-path="url(#clipPath31)" fill="url(#linearGradient6)" width="118" rx="4" ry="4" height="98" stroke="none"/> + <rect x="893" y="233" clip-path="url(#clipPath31)" fill="none" width="117" rx="4" ry="4" height="97"/> + <image x="924" y="238" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAsklEQVR4XqWQ0QoB QRSG941sEhJ5F1HaViRCpKwoN25cUFI8khuvYvbq8IuaOuaftr34mmm+ztdpAhEJ 8qAesqIeLouC+PAGTHp34g2c56EasoGngeM0lKd5fDDpl9/9fcLTwGFSlNsplqsD eBrYj0tqbRt4GtgNy2rIBp4G1v0K/QN4GljGVUm2K0k2/4GngVlUU2vbwNPAqFtX QzbwNDDoNOgfwNNAr92UqOUGngay8gIKdwdeFkAbDAAAAABJRU5ErkJggg==" xlink:type="simple" xlink:actuate="onLoad" height="16" preserveAspectRatio="none" xlink:show="embed"/> + <text x="943" xml:space="preserve" y="252" clip-path="url(#clipPath33)" stroke="none">Action</text> + <line y2="260" fill="none" x1="894" clip-path="url(#clipPath34)" x2="1010" y1="260"/> + <rect x="420" y="66" clip-path="url(#clipPath35)" fill="rgb(131,122,133)" width="132" rx="4" opacity="0.255" ry="4" height="98" stroke="none"/> + <rect x="421" y="67" clip-path="url(#clipPath35)" fill="rgb(131,122,133)" width="132" rx="4" opacity="0.255" ry="4" height="98" stroke="none"/> + <rect x="419" y="65" clip-path="url(#clipPath36)" fill="url(#linearGradient7)" width="132" rx="4" ry="4" height="98" stroke="none"/> + <rect x="419" y="65" clip-path="url(#clipPath36)" fill="none" width="131" rx="4" ry="4" height="97" stroke="rgb(125,125,125)"/> + <image stroke="rgb(125,125,125)" width="16" xlink:show="embed" xlink:type="simple" fill="rgb(125,125,125)" preserveAspectRatio="none" height="16" font-style="italic" x="447" y="70" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAw0lEQVR4XmP4//8/ AyUYQgApZIyuCB8Ga0YHILG5Nfo4MUgJDMMNQLIdTP/4eRErxmkAMsBnwOxqA7AS GMbpgu8/rgE1QDGMDaSnV2AxAKoRJgDmL5iRgxVPLjdCNQCZA8J9pSYYzkbGIHm8 BnQWmWFoQsYgebwGNOebg/2PKwxA8ngNqMux+N/U1vi/qRU7BsnjNaAyywrD2cgY JI/XgJIMGwxNyBgkj9eAglRbvGEAksdrQG6K/f+sJNwYJI/XAFIxAHIn7dCPjVWK AAAAAElFTkSuQmCC" xlink:actuate="onLoad"/> + <text font-style="italic" x="466" xml:space="preserve" y="84" clip-path="url(#clipPath38)" stroke="none">Expression</text> + <image x="424" y="94" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAa0lEQVR4XmNgGAUY YG6N/n9CGF0PCphaYfj/x8+LODFIHl0PCugqMsXQhIxB8uh6UEBtjuX/7z+ugfGP n1AMYwNpkDy6HhRQlGb7PyvJHicGyaProS2QtC8j30aQZooMAIGBNQDmBYoMIQQA VHKRZGFCvOoAAAAASUVORK5CYII=" xlink:type="simple" xlink:actuate="onLoad" height="16" preserveAspectRatio="none" xlink:show="embed" font-weight="bold"/> + <text x="443" xml:space="preserve" y="108" clip-path="url(#clipPath40)" font-weight="bold" stroke="none">content : EString</text> + <line clip-path="url(#clipPath41)" fill="none" x1="420" x2="550" y1="92" y2="92" stroke="rgb(125,125,125)"/> + <rect x="36" y="312" clip-path="url(#clipPath42)" fill="rgb(131,122,133)" width="118" rx="4" opacity="0.255" ry="4" height="98" stroke="none"/> + <rect x="37" y="313" clip-path="url(#clipPath42)" fill="rgb(131,122,133)" width="118" rx="4" opacity="0.255" ry="4" height="98" stroke="none"/> + <rect x="35" y="311" clip-path="url(#clipPath43)" fill="url(#linearGradient8)" width="118" rx="4" ry="4" height="98" stroke="none"/> + <rect x="35" y="311" clip-path="url(#clipPath43)" fill="none" width="117" rx="4" ry="4" height="97"/> + <image x="55" y="316" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAsklEQVR4XqWQ0QoB QRSG941sEhJ5F1HaViRCpKwoN25cUFI8khuvYvbq8IuaOuaftr34mmm+ztdpAhEJ 8qAesqIeLouC+PAGTHp34g2c56EasoGngeM0lKd5fDDpl9/9fcLTwGFSlNsplqsD eBrYj0tqbRt4GtgNy2rIBp4G1v0K/QN4GljGVUm2K0k2/4GngVlUU2vbwNPAqFtX QzbwNDDoNOgfwNNAr92UqOUGngay8gIKdwdeFkAbDAAAAABJRU5ErkJggg==" xlink:type="simple" xlink:actuate="onLoad" height="16" preserveAspectRatio="none" xlink:show="embed"/> + <text x="74" xml:space="preserve" y="330" clip-path="url(#clipPath45)" stroke="none">InitialState</text> + <line y2="338" fill="none" x1="36" clip-path="url(#clipPath46)" x2="152" y1="338"/> + <rect x="168" y="312" clip-path="url(#clipPath47)" fill="rgb(131,122,133)" width="118" rx="4" opacity="0.255" ry="4" height="98" stroke="none"/> + <rect x="169" y="313" clip-path="url(#clipPath47)" fill="rgb(131,122,133)" width="118" rx="4" opacity="0.255" ry="4" height="98" stroke="none"/> + <rect x="167" y="311" clip-path="url(#clipPath48)" fill="url(#linearGradient9)" width="118" rx="4" ry="4" height="98" stroke="none"/> + <rect x="167" y="311" clip-path="url(#clipPath48)" fill="none" width="117" rx="4" ry="4" height="97"/> + <image x="189" y="316" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAsklEQVR4XqWQ0QoB QRSG941sEhJ5F1HaViRCpKwoN25cUFI8khuvYvbq8IuaOuaftr34mmm+ztdpAhEJ 8qAesqIeLouC+PAGTHp34g2c56EasoGngeM0lKd5fDDpl9/9fcLTwGFSlNsplqsD eBrYj0tqbRt4GtgNy2rIBp4G1v0K/QN4GljGVUm2K0k2/4GngVlUU2vbwNPAqFtX QzbwNDDoNOgfwNNAr92UqOUGngay8gIKdwdeFkAbDAAAAABJRU5ErkJggg==" xlink:type="simple" xlink:actuate="onLoad" height="16" preserveAspectRatio="none" xlink:show="embed"/> + <text x="208" xml:space="preserve" y="330" clip-path="url(#clipPath50)" stroke="none">FinalState</text> + <line y2="338" fill="none" x1="168" clip-path="url(#clipPath51)" x2="284" y1="338"/> + <rect x="303" y="312" clip-path="url(#clipPath52)" fill="rgb(131,122,133)" width="118" rx="4" opacity="0.255" ry="4" height="98" stroke="none"/> + <rect x="304" y="313" clip-path="url(#clipPath52)" fill="rgb(131,122,133)" width="118" rx="4" opacity="0.255" ry="4" height="98" stroke="none"/> + <rect x="302" y="311" clip-path="url(#clipPath53)" fill="url(#linearGradient10)" width="118" rx="4" ry="4" height="98" stroke="none"/> + <rect x="302" y="311" clip-path="url(#clipPath53)" fill="none" width="117" rx="4" ry="4" height="97"/> + <image x="315" y="316" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAsklEQVR4XqWQ0QoB QRSG941sEhJ5F1HaViRCpKwoN25cUFI8khuvYvbq8IuaOuaftr34mmm+ztdpAhEJ 8qAesqIeLouC+PAGTHp34g2c56EasoGngeM0lKd5fDDpl9/9fcLTwGFSlNsplqsD eBrYj0tqbRt4GtgNy2rIBp4G1v0K/QN4GljGVUm2K0k2/4GngVlUU2vbwNPAqFtX QzbwNDDoNOgfwNNAr92UqOUGngay8gIKdwdeFkAbDAAAAABJRU5ErkJggg==" xlink:type="simple" xlink:actuate="onLoad" height="16" preserveAspectRatio="none" xlink:show="embed"/> + <text x="334" xml:space="preserve" y="330" clip-path="url(#clipPath55)" stroke="none">NormalState</text> + <line y2="338" fill="none" x1="303" clip-path="url(#clipPath56)" x2="419" y1="338"/> + <line y2="239" fill="none" x1="231" clip-path="url(#clipPath57)" x2="231" y1="121"/> + <line y2="239" fill="none" x1="231" clip-path="url(#clipPath57)" x2="360" y1="239"/> + <line y2="311" fill="none" x1="360" clip-path="url(#clipPath57)" x2="360" y1="239"/> + <text x="371" xml:space="preserve" y="287" clip-path="url(#clipPath58)" stroke="none">[0..*] states</text> + <polygon points=" 231 121 234 127 231 133 228 127" clip-path="url(#clipPath59)" stroke="none"/> + <polygon fill="none" points=" 231 121 234 127 231 133 228 127" clip-path="url(#clipPath59)"/> + <line y2="311" fill="none" x1="357" clip-path="url(#clipPath60)" x2="360" y1="304"/> + <line y2="304" fill="none" x1="360" clip-path="url(#clipPath60)" x2="363" y1="311"/> + <line y2="311" fill="none" x1="191" clip-path="url(#clipPath57)" x2="191" y1="121"/> + <text x="197" xml:space="preserve" y="289" clip-path="url(#clipPath61)" stroke="none">[0..*] finalstates</text> + <polygon points=" 191 121 194 127 191 133 188 127" clip-path="url(#clipPath62)" stroke="none"/> + <polygon fill="none" points=" 191 121 194 127 191 133 188 127" clip-path="url(#clipPath62)"/> + <line y2="311" fill="none" x1="188" clip-path="url(#clipPath63)" x2="191" y1="304"/> + <line y2="304" fill="none" x1="191" clip-path="url(#clipPath63)" x2="194" y1="311"/> + <line y2="311" fill="none" x1="131" clip-path="url(#clipPath57)" x2="131" y1="121"/> + <text x="23" xml:space="preserve" y="293" clip-path="url(#clipPath64)" font-weight="bold" stroke="none">[1..1] initialstate</text> + <polygon points=" 131 121 134 127 131 133 128 127" clip-path="url(#clipPath65)" stroke="none"/> + <polygon fill="none" points=" 131 121 134 127 131 133 128 127" clip-path="url(#clipPath65)"/> + <line y2="311" fill="none" x1="128" clip-path="url(#clipPath66)" x2="131" y1="304"/> + <line y2="304" fill="none" x1="131" clip-path="url(#clipPath66)" x2="134" y1="311"/> + <line y2="41" fill="none" x1="255" clip-path="url(#clipPath57)" x2="1127" y1="41"/> + <line y2="611" fill="none" x1="1127" clip-path="url(#clipPath57)" x2="1127" y1="41"/> + <line y2="611" fill="none" x1="1127" clip-path="url(#clipPath57)" x2="874" y1="611"/> + <line y2="565" fill="none" x1="874" clip-path="url(#clipPath57)" x2="874" y1="611"/> + <text x="348" xml:space="preserve" y="37" clip-path="url(#clipPath67)" stroke="none">[0..*] transitions</text> + <polygon points=" 255 41 261 38 267 41 261 44" clip-path="url(#clipPath68)" stroke="none"/> + <polygon fill="none" points=" 255 41 261 38 267 41 261 44" clip-path="url(#clipPath68)"/> + <line y2="565" fill="none" x1="877" clip-path="url(#clipPath69)" x2="874" y1="572"/> + <line y2="572" fill="none" x1="874" clip-path="url(#clipPath69)" x2="871" y1="565"/> + <line y2="533" fill="none" x1="814" clip-path="url(#clipPath57)" x2="586" y1="533"/> + <text x="667" xml:space="preserve" y="529" clip-path="url(#clipPath70)" font-weight="bold" stroke="none">[1..1] from</text> + <line y2="533" fill="none" x1="593" clip-path="url(#clipPath71)" x2="586" y1="530"/> + <line y2="536" fill="none" x1="586" clip-path="url(#clipPath71)" x2="593" y1="533"/> + <line y2="497" fill="none" x1="814" clip-path="url(#clipPath57)" x2="586" y1="497"/> + <text x="683" xml:space="preserve" y="487" clip-path="url(#clipPath72)" font-weight="bold" stroke="none">[1..1] to</text> + <line y2="497" fill="none" x1="593" clip-path="url(#clipPath73)" x2="586" y1="494"/> + <line y2="500" fill="none" x1="586" clip-path="url(#clipPath73)" x2="593" y1="497"/> + <line y2="545" fill="none" x1="932" clip-path="url(#clipPath57)" x2="1103" y1="545"/> + <line y2="203" fill="none" x1="1103" clip-path="url(#clipPath57)" x2="1103" y1="545"/> + <line y2="203" fill="none" x1="1103" clip-path="url(#clipPath57)" x2="629" y1="203"/> + <line y2="239" fill="none" x1="629" clip-path="url(#clipPath57)" x2="629" y1="203"/> + <text x="989" xml:space="preserve" y="541" clip-path="url(#clipPath74)" stroke="none">[0..1] trigger</text> + <polygon points=" 932 545 938 542 944 545 938 548" clip-path="url(#clipPath75)" stroke="none"/> + <polygon fill="none" points=" 932 545 938 542 944 545 938 548" clip-path="url(#clipPath75)"/> + <line y2="239" fill="none" x1="626" clip-path="url(#clipPath76)" x2="629" y1="232"/> + <line y2="232" fill="none" x1="629" clip-path="url(#clipPath76)" x2="632" y1="239"/> + <line y2="515" fill="none" x1="932" clip-path="url(#clipPath57)" x2="1097" y1="515"/> + <line y2="215" fill="none" x1="1097" clip-path="url(#clipPath57)" x2="1097" y1="515"/> + <line y2="215" fill="none" x1="1097" clip-path="url(#clipPath57)" x2="809" y1="215"/> + <line y2="233" fill="none" x1="809" clip-path="url(#clipPath57)" x2="809" y1="215"/> + <text x="995" xml:space="preserve" y="509" clip-path="url(#clipPath77)" stroke="none">[0..1] guard</text> + <polygon points=" 932 515 938 512 944 515 938 518" clip-path="url(#clipPath78)" stroke="none"/> + <polygon fill="none" points=" 932 515 938 512 944 515 938 518" clip-path="url(#clipPath78)"/> + <line y2="233" fill="none" x1="806" clip-path="url(#clipPath79)" x2="809" y1="226"/> + <line y2="226" fill="none" x1="809" clip-path="url(#clipPath79)" x2="812" y1="233"/> + <line y2="485" fill="none" x1="932" clip-path="url(#clipPath57)" x2="1091" y1="485"/> + <line y2="283" fill="none" x1="1091" clip-path="url(#clipPath57)" x2="1091" y1="485"/> + <line y2="283" fill="none" x1="1091" clip-path="url(#clipPath57)" x2="1011" y1="283"/> + <text x="995" xml:space="preserve" y="475" clip-path="url(#clipPath80)" stroke="none">[0..1] action</text> + <polygon points=" 932 485 938 482 944 485 938 488" clip-path="url(#clipPath81)" stroke="none"/> + <polygon fill="none" points=" 932 485 938 482 944 485 938 488" clip-path="url(#clipPath81)"/> + <line y2="283" fill="none" x1="1018" clip-path="url(#clipPath82)" x2="1011" y1="280"/> + <line y2="286" fill="none" x1="1011" clip-path="url(#clipPath82)" x2="1018" y1="283"/> + <line y2="365" fill="none" x1="420" clip-path="url(#clipPath57)" x2="935" y1="365"/> + <line y2="331" fill="none" x1="935" clip-path="url(#clipPath57)" x2="935" y1="365"/> + <text x="656" xml:space="preserve" y="361" clip-path="url(#clipPath83)" stroke="none">[0..1] do_</text> + <polygon points=" 420 365 426 362 432 365 426 368" clip-path="url(#clipPath84)" stroke="none"/> + <polygon fill="none" points=" 420 365 426 362 432 365 426 368" clip-path="url(#clipPath84)"/> + <line y2="331" fill="none" x1="938" clip-path="url(#clipPath85)" x2="935" y1="338"/> + <line y2="338" fill="none" x1="935" clip-path="url(#clipPath85)" x2="932" y1="331"/> + <line y2="383" fill="none" x1="420" clip-path="url(#clipPath57)" x2="947" y1="383"/> + <line y2="331" fill="none" x1="947" clip-path="url(#clipPath57)" x2="947" y1="383"/> + <text x="652" xml:space="preserve" y="379" clip-path="url(#clipPath86)" stroke="none">[0..1] exit_</text> + <polygon points=" 420 383 426 380 432 383 426 386" clip-path="url(#clipPath87)" stroke="none"/> + <polygon fill="none" points=" 420 383 426 380 432 383 426 386" clip-path="url(#clipPath87)"/> + <line y2="331" fill="none" x1="950" clip-path="url(#clipPath88)" x2="947" y1="338"/> + <line y2="338" fill="none" x1="947" clip-path="url(#clipPath88)" x2="944" y1="331"/> + <line y2="401" fill="none" x1="420" clip-path="url(#clipPath57)" x2="959" y1="401"/> + <line y2="331" fill="none" x1="959" clip-path="url(#clipPath57)" x2="959" y1="401"/> + <text x="647" xml:space="preserve" y="397" clip-path="url(#clipPath89)" stroke="none">[0..1] entry_</text> + <polygon points=" 420 401 426 398 432 401 426 404" clip-path="url(#clipPath90)" stroke="none"/> + <polygon fill="none" points=" 420 401 426 398 432 401 426 404" clip-path="url(#clipPath90)"/> + <line y2="331" fill="none" x1="962" clip-path="url(#clipPath91)" x2="959" y1="338"/> + <line y2="338" fill="none" x1="959" clip-path="url(#clipPath91)" x2="956" y1="331"/> + <line clip-path="url(#clipPath57)" fill="none" x1="599" x2="599" y1="239" y2="181" stroke="rgb(136,136,136)"/> + <line clip-path="url(#clipPath57)" fill="none" x1="599" x2="486" y1="181" y2="181" stroke="rgb(136,136,136)"/> + <line clip-path="url(#clipPath57)" fill="none" x1="486" x2="486" y1="181" y2="163" stroke="rgb(136,136,136)"/> + <polygon fill="white" clip-path="url(#clipPath92)" points=" 486 163 490 171 482 171" stroke="none"/> + <polygon fill="none" clip-path="url(#clipPath92)" points=" 486 163 490 171 482 171" stroke="rgb(136,136,136)"/> + <line clip-path="url(#clipPath57)" fill="none" x1="779" x2="779" y1="233" y2="181" stroke="rgb(136,136,136)"/> + <line clip-path="url(#clipPath57)" fill="none" x1="779" x2="486" y1="181" y2="181" stroke="rgb(136,136,136)"/> + <line clip-path="url(#clipPath57)" fill="none" x1="486" x2="486" y1="181" y2="163" stroke="rgb(136,136,136)"/> + <polygon fill="white" clip-path="url(#clipPath92)" points=" 486 163 490 171 482 171" stroke="none"/> + <polygon fill="none" clip-path="url(#clipPath92)" points=" 486 163 490 171 482 171" stroke="rgb(136,136,136)"/> + <line clip-path="url(#clipPath57)" fill="none" x1="953" x2="953" y1="233" y2="181" stroke="rgb(136,136,136)"/> + <line clip-path="url(#clipPath57)" fill="none" x1="953" x2="486" y1="181" y2="181" stroke="rgb(136,136,136)"/> + <line clip-path="url(#clipPath57)" fill="none" x1="486" x2="486" y1="181" y2="163" stroke="rgb(136,136,136)"/> + <polygon fill="white" clip-path="url(#clipPath92)" points=" 486 163 490 171 482 171" stroke="none"/> + <polygon fill="none" clip-path="url(#clipPath92)" points=" 486 163 490 171 482 171" stroke="rgb(136,136,136)"/> + <line clip-path="url(#clipPath57)" fill="none" x1="95" x2="95" y1="409" y2="451" stroke="rgb(136,136,136)"/> + <line clip-path="url(#clipPath57)" fill="none" x1="95" x2="527" y1="451" y2="451" stroke="rgb(136,136,136)"/> + <line clip-path="url(#clipPath57)" fill="none" x1="527" x2="527" y1="451" y2="467" stroke="rgb(136,136,136)"/> + <polygon fill="white" clip-path="url(#clipPath93)" points=" 527 467 523 459 531 459" stroke="none"/> + <polygon fill="none" clip-path="url(#clipPath93)" points=" 527 467 523 459 531 459" stroke="rgb(136,136,136)"/> + <line clip-path="url(#clipPath57)" fill="none" x1="227" x2="227" y1="409" y2="451" stroke="rgb(136,136,136)"/> + <line clip-path="url(#clipPath57)" fill="none" x1="227" x2="527" y1="451" y2="451" stroke="rgb(136,136,136)"/> + <line clip-path="url(#clipPath57)" fill="none" x1="527" x2="527" y1="451" y2="467" stroke="rgb(136,136,136)"/> + <polygon fill="white" clip-path="url(#clipPath93)" points=" 527 467 523 459 531 459" stroke="none"/> + <polygon fill="none" clip-path="url(#clipPath93)" points=" 527 467 523 459 531 459" stroke="rgb(136,136,136)"/> + <line clip-path="url(#clipPath57)" fill="none" x1="362" x2="362" y1="409" y2="451" stroke="rgb(136,136,136)"/> + <line clip-path="url(#clipPath57)" fill="none" x1="362" x2="527" y1="451" y2="451" stroke="rgb(136,136,136)"/> + <line clip-path="url(#clipPath57)" fill="none" x1="527" x2="527" y1="451" y2="467" stroke="rgb(136,136,136)"/> + <polygon fill="white" clip-path="url(#clipPath93)" points=" 527 467 523 459 531 459" stroke="none"/> + <polygon fill="none" clip-path="url(#clipPath93)" points=" 527 467 523 459 531 459" stroke="rgb(136,136,136)"/> + </g> + </g> +</svg> diff --git a/metamodel/swt.most.statemachine/plugin.properties b/metamodel/swt.most.statemachine/plugin.properties new file mode 100644 index 0000000..d7a33a4 --- /dev/null +++ b/metamodel/swt.most.statemachine/plugin.properties @@ -0,0 +1,4 @@ +# + +pluginName = swt.most.statemachine +providerName = www.example.org diff --git a/metamodel/swt.most.statemachine/plugin.xml b/metamodel/swt.most.statemachine/plugin.xml new file mode 100644 index 0000000..487605c --- /dev/null +++ b/metamodel/swt.most.statemachine/plugin.xml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<?eclipse version="3.0"?> + +<!-- +--> + +<plugin> + + <extension point="org.eclipse.emf.ecore.generated_package"> + <!-- @generated statemachine --> + <package + uri="http://www.swt.org/most/statemachine" + class="swt.most.statemachine.StatemachinePackage" + genModel="model/statemachine.genmodel"/> + </extension> + +</plugin> diff --git a/metamodel/swt.most.statemachine/src-gen/swt/most/statemachine/Action.java b/metamodel/swt.most.statemachine/src-gen/swt/most/statemachine/Action.java new file mode 100644 index 0000000..409cd8b --- /dev/null +++ b/metamodel/swt.most.statemachine/src-gen/swt/most/statemachine/Action.java @@ -0,0 +1,16 @@ +/** + */ +package swt.most.statemachine; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Action</b></em>'. + * <!-- end-user-doc --> + * + * + * @see swt.most.statemachine.StatemachinePackage#getAction() + * @model + * @generated + */ +public interface Action extends Expression { +} // Action diff --git a/metamodel/swt.most.statemachine/src-gen/swt/most/statemachine/Expression.java b/metamodel/swt.most.statemachine/src-gen/swt/most/statemachine/Expression.java new file mode 100644 index 0000000..271b7a3 --- /dev/null +++ b/metamodel/swt.most.statemachine/src-gen/swt/most/statemachine/Expression.java @@ -0,0 +1,46 @@ +/** + */ +package swt.most.statemachine; + +import org.eclipse.emf.ecore.EObject; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Expression</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * </p> + * <ul> + * <li>{@link swt.most.statemachine.Expression#getContent <em>Content</em>}</li> + * </ul> + * + * @see swt.most.statemachine.StatemachinePackage#getExpression() + * @model abstract="true" + * @generated + */ +public interface Expression extends EObject { + /** + * Returns the value of the '<em><b>Content</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the value of the '<em>Content</em>' attribute. + * @see #setContent(String) + * @see swt.most.statemachine.StatemachinePackage#getExpression_Content() + * @model required="true" + * @generated + */ + String getContent(); + + /** + * Sets the value of the '{@link swt.most.statemachine.Expression#getContent <em>Content</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Content</em>' attribute. + * @see #getContent() + * @generated + */ + void setContent(String value); + +} // Expression diff --git a/metamodel/swt.most.statemachine/src-gen/swt/most/statemachine/FinalState.java b/metamodel/swt.most.statemachine/src-gen/swt/most/statemachine/FinalState.java new file mode 100644 index 0000000..a716cd4 --- /dev/null +++ b/metamodel/swt.most.statemachine/src-gen/swt/most/statemachine/FinalState.java @@ -0,0 +1,16 @@ +/** + */ +package swt.most.statemachine; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Final State</b></em>'. + * <!-- end-user-doc --> + * + * + * @see swt.most.statemachine.StatemachinePackage#getFinalState() + * @model + * @generated + */ +public interface FinalState extends State { +} // FinalState diff --git a/metamodel/swt.most.statemachine/src-gen/swt/most/statemachine/Guard.java b/metamodel/swt.most.statemachine/src-gen/swt/most/statemachine/Guard.java new file mode 100644 index 0000000..9e518c2 --- /dev/null +++ b/metamodel/swt.most.statemachine/src-gen/swt/most/statemachine/Guard.java @@ -0,0 +1,16 @@ +/** + */ +package swt.most.statemachine; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Guard</b></em>'. + * <!-- end-user-doc --> + * + * + * @see swt.most.statemachine.StatemachinePackage#getGuard() + * @model + * @generated + */ +public interface Guard extends Expression { +} // Guard diff --git a/metamodel/swt.most.statemachine/src-gen/swt/most/statemachine/InitialState.java b/metamodel/swt.most.statemachine/src-gen/swt/most/statemachine/InitialState.java new file mode 100644 index 0000000..876098d --- /dev/null +++ b/metamodel/swt.most.statemachine/src-gen/swt/most/statemachine/InitialState.java @@ -0,0 +1,16 @@ +/** + */ +package swt.most.statemachine; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Initial State</b></em>'. + * <!-- end-user-doc --> + * + * + * @see swt.most.statemachine.StatemachinePackage#getInitialState() + * @model + * @generated + */ +public interface InitialState extends State { +} // InitialState diff --git a/metamodel/swt.most.statemachine/src-gen/swt/most/statemachine/NormalState.java b/metamodel/swt.most.statemachine/src-gen/swt/most/statemachine/NormalState.java new file mode 100644 index 0000000..f7b47cf --- /dev/null +++ b/metamodel/swt.most.statemachine/src-gen/swt/most/statemachine/NormalState.java @@ -0,0 +1,90 @@ +/** + */ +package swt.most.statemachine; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Normal State</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * </p> + * <ul> + * <li>{@link swt.most.statemachine.NormalState#getDo_ <em>Do </em>}</li> + * <li>{@link swt.most.statemachine.NormalState#getExit_ <em>Exit </em>}</li> + * <li>{@link swt.most.statemachine.NormalState#getEntry_ <em>Entry </em>}</li> + * </ul> + * + * @see swt.most.statemachine.StatemachinePackage#getNormalState() + * @model + * @generated + */ +public interface NormalState extends State { + /** + * Returns the value of the '<em><b>Do </b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the value of the '<em>Do </em>' containment reference. + * @see #setDo_(Action) + * @see swt.most.statemachine.StatemachinePackage#getNormalState_Do_() + * @model containment="true" + * @generated + */ + Action getDo_(); + + /** + * Sets the value of the '{@link swt.most.statemachine.NormalState#getDo_ <em>Do </em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Do </em>' containment reference. + * @see #getDo_() + * @generated + */ + void setDo_(Action value); + + /** + * Returns the value of the '<em><b>Exit </b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the value of the '<em>Exit </em>' containment reference. + * @see #setExit_(Action) + * @see swt.most.statemachine.StatemachinePackage#getNormalState_Exit_() + * @model containment="true" + * @generated + */ + Action getExit_(); + + /** + * Sets the value of the '{@link swt.most.statemachine.NormalState#getExit_ <em>Exit </em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Exit </em>' containment reference. + * @see #getExit_() + * @generated + */ + void setExit_(Action value); + + /** + * Returns the value of the '<em><b>Entry </b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the value of the '<em>Entry </em>' containment reference. + * @see #setEntry_(Action) + * @see swt.most.statemachine.StatemachinePackage#getNormalState_Entry_() + * @model containment="true" + * @generated + */ + Action getEntry_(); + + /** + * Sets the value of the '{@link swt.most.statemachine.NormalState#getEntry_ <em>Entry </em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Entry </em>' containment reference. + * @see #getEntry_() + * @generated + */ + void setEntry_(Action value); + +} // NormalState diff --git a/metamodel/swt.most.statemachine/src-gen/swt/most/statemachine/State.java b/metamodel/swt.most.statemachine/src-gen/swt/most/statemachine/State.java new file mode 100644 index 0000000..7a9e141 --- /dev/null +++ b/metamodel/swt.most.statemachine/src-gen/swt/most/statemachine/State.java @@ -0,0 +1,46 @@ +/** + */ +package swt.most.statemachine; + +import org.eclipse.emf.ecore.EObject; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>State</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * </p> + * <ul> + * <li>{@link swt.most.statemachine.State#getName <em>Name</em>}</li> + * </ul> + * + * @see swt.most.statemachine.StatemachinePackage#getState() + * @model abstract="true" + * @generated + */ +public interface State extends EObject { + /** + * Returns the value of the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the value of the '<em>Name</em>' attribute. + * @see #setName(String) + * @see swt.most.statemachine.StatemachinePackage#getState_Name() + * @model id="true" required="true" + * @generated + */ + String getName(); + + /** + * Sets the value of the '{@link swt.most.statemachine.State#getName <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Name</em>' attribute. + * @see #getName() + * @generated + */ + void setName(String value); + +} // State diff --git a/metamodel/swt.most.statemachine/src-gen/swt/most/statemachine/StateMachine.java b/metamodel/swt.most.statemachine/src-gen/swt/most/statemachine/StateMachine.java new file mode 100644 index 0000000..13f1daa --- /dev/null +++ b/metamodel/swt.most.statemachine/src-gen/swt/most/statemachine/StateMachine.java @@ -0,0 +1,110 @@ +/** + */ +package swt.most.statemachine; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EObject; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>State Machine</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * </p> + * <ul> + * <li>{@link swt.most.statemachine.StateMachine#getName <em>Name</em>}</li> + * <li>{@link swt.most.statemachine.StateMachine#getStates <em>States</em>}</li> + * <li>{@link swt.most.statemachine.StateMachine#getFinalstates <em>Finalstates</em>}</li> + * <li>{@link swt.most.statemachine.StateMachine#getInitialstate <em>Initialstate</em>}</li> + * <li>{@link swt.most.statemachine.StateMachine#getTransitions <em>Transitions</em>}</li> + * </ul> + * + * @see swt.most.statemachine.StatemachinePackage#getStateMachine() + * @model + * @generated + */ +public interface StateMachine extends EObject { + /** + * Returns the value of the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the value of the '<em>Name</em>' attribute. + * @see #setName(String) + * @see swt.most.statemachine.StatemachinePackage#getStateMachine_Name() + * @model id="true" required="true" + * @generated + */ + String getName(); + + /** + * Sets the value of the '{@link swt.most.statemachine.StateMachine#getName <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Name</em>' attribute. + * @see #getName() + * @generated + */ + void setName(String value); + + /** + * Returns the value of the '<em><b>States</b></em>' containment reference list. + * The list contents are of type {@link swt.most.statemachine.NormalState}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the value of the '<em>States</em>' containment reference list. + * @see swt.most.statemachine.StatemachinePackage#getStateMachine_States() + * @model containment="true" + * @generated + */ + EList<NormalState> getStates(); + + /** + * Returns the value of the '<em><b>Finalstates</b></em>' containment reference list. + * The list contents are of type {@link swt.most.statemachine.FinalState}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the value of the '<em>Finalstates</em>' containment reference list. + * @see swt.most.statemachine.StatemachinePackage#getStateMachine_Finalstates() + * @model containment="true" + * @generated + */ + EList<FinalState> getFinalstates(); + + /** + * Returns the value of the '<em><b>Initialstate</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the value of the '<em>Initialstate</em>' containment reference. + * @see #setInitialstate(InitialState) + * @see swt.most.statemachine.StatemachinePackage#getStateMachine_Initialstate() + * @model containment="true" required="true" + * @generated + */ + InitialState getInitialstate(); + + /** + * Sets the value of the '{@link swt.most.statemachine.StateMachine#getInitialstate <em>Initialstate</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Initialstate</em>' containment reference. + * @see #getInitialstate() + * @generated + */ + void setInitialstate(InitialState value); + + /** + * Returns the value of the '<em><b>Transitions</b></em>' containment reference list. + * The list contents are of type {@link swt.most.statemachine.Transition}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the value of the '<em>Transitions</em>' containment reference list. + * @see swt.most.statemachine.StatemachinePackage#getStateMachine_Transitions() + * @model containment="true" + * @generated + */ + EList<Transition> getTransitions(); + +} // StateMachine diff --git a/metamodel/swt.most.statemachine/src-gen/swt/most/statemachine/StatemachineFactory.java b/metamodel/swt.most.statemachine/src-gen/swt/most/statemachine/StatemachineFactory.java new file mode 100644 index 0000000..39d9f81 --- /dev/null +++ b/metamodel/swt.most.statemachine/src-gen/swt/most/statemachine/StatemachineFactory.java @@ -0,0 +1,105 @@ +/** + */ +package swt.most.statemachine; + +import org.eclipse.emf.ecore.EFactory; + +/** + * <!-- begin-user-doc --> + * The <b>Factory</b> for the model. + * It provides a create method for each non-abstract class of the model. + * <!-- end-user-doc --> + * @see swt.most.statemachine.StatemachinePackage + * @generated + */ +public interface StatemachineFactory extends EFactory { + /** + * The singleton instance of the factory. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + StatemachineFactory eINSTANCE = swt.most.statemachine.impl.StatemachineFactoryImpl.init(); + + /** + * Returns a new object of class '<em>State Machine</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>State Machine</em>'. + * @generated + */ + StateMachine createStateMachine(); + + /** + * Returns a new object of class '<em>Transition</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Transition</em>'. + * @generated + */ + Transition createTransition(); + + /** + * Returns a new object of class '<em>Trigger</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Trigger</em>'. + * @generated + */ + Trigger createTrigger(); + + /** + * Returns a new object of class '<em>Guard</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Guard</em>'. + * @generated + */ + Guard createGuard(); + + /** + * Returns a new object of class '<em>Action</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Action</em>'. + * @generated + */ + Action createAction(); + + /** + * Returns a new object of class '<em>Initial State</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Initial State</em>'. + * @generated + */ + InitialState createInitialState(); + + /** + * Returns a new object of class '<em>Final State</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Final State</em>'. + * @generated + */ + FinalState createFinalState(); + + /** + * Returns a new object of class '<em>Normal State</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Normal State</em>'. + * @generated + */ + NormalState createNormalState(); + + /** + * Returns the package supported by this factory. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the package supported by this factory. + * @generated + */ + StatemachinePackage getStatemachinePackage(); + +} //StatemachineFactory diff --git a/metamodel/swt.most.statemachine/src-gen/swt/most/statemachine/StatemachinePackage.java b/metamodel/swt.most.statemachine/src-gen/swt/most/statemachine/StatemachinePackage.java new file mode 100644 index 0000000..2741a66 --- /dev/null +++ b/metamodel/swt.most.statemachine/src-gen/swt/most/statemachine/StatemachinePackage.java @@ -0,0 +1,1038 @@ +/** + */ +package swt.most.statemachine; + +import org.eclipse.emf.ecore.EAttribute; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EPackage; +import org.eclipse.emf.ecore.EReference; + +/** + * <!-- begin-user-doc --> + * The <b>Package</b> for the model. + * It contains accessors for the meta objects to represent + * <ul> + * <li>each class,</li> + * <li>each feature of each class,</li> + * <li>each operation of each class,</li> + * <li>each enum,</li> + * <li>and each data type</li> + * </ul> + * <!-- end-user-doc --> + * @see swt.most.statemachine.StatemachineFactory + * @model kind="package" + * @generated + */ +public interface StatemachinePackage extends EPackage { + /** + * The package name. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + String eNAME = "statemachine"; + + /** + * The package namespace URI. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + String eNS_URI = "http://www.swt.org/most/statemachine"; + + /** + * The package namespace name. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + String eNS_PREFIX = "statemachine"; + + /** + * The singleton instance of the package. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + StatemachinePackage eINSTANCE = swt.most.statemachine.impl.StatemachinePackageImpl.init(); + + /** + * The meta object id for the '{@link swt.most.statemachine.impl.StateMachineImpl <em>State Machine</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see swt.most.statemachine.impl.StateMachineImpl + * @see swt.most.statemachine.impl.StatemachinePackageImpl#getStateMachine() + * @generated + */ + int STATE_MACHINE = 0; + + /** + * The feature id for the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int STATE_MACHINE__NAME = 0; + + /** + * The feature id for the '<em><b>States</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int STATE_MACHINE__STATES = 1; + + /** + * The feature id for the '<em><b>Finalstates</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int STATE_MACHINE__FINALSTATES = 2; + + /** + * The feature id for the '<em><b>Initialstate</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int STATE_MACHINE__INITIALSTATE = 3; + + /** + * The feature id for the '<em><b>Transitions</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int STATE_MACHINE__TRANSITIONS = 4; + + /** + * The number of structural features of the '<em>State Machine</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int STATE_MACHINE_FEATURE_COUNT = 5; + + /** + * The number of operations of the '<em>State Machine</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int STATE_MACHINE_OPERATION_COUNT = 0; + + /** + * The meta object id for the '{@link swt.most.statemachine.impl.StateImpl <em>State</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see swt.most.statemachine.impl.StateImpl + * @see swt.most.statemachine.impl.StatemachinePackageImpl#getState() + * @generated + */ + int STATE = 1; + + /** + * The feature id for the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int STATE__NAME = 0; + + /** + * The number of structural features of the '<em>State</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int STATE_FEATURE_COUNT = 1; + + /** + * The number of operations of the '<em>State</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int STATE_OPERATION_COUNT = 0; + + /** + * The meta object id for the '{@link swt.most.statemachine.impl.TransitionImpl <em>Transition</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see swt.most.statemachine.impl.TransitionImpl + * @see swt.most.statemachine.impl.StatemachinePackageImpl#getTransition() + * @generated + */ + int TRANSITION = 2; + + /** + * The feature id for the '<em><b>From</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int TRANSITION__FROM = 0; + + /** + * The feature id for the '<em><b>To</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int TRANSITION__TO = 1; + + /** + * The feature id for the '<em><b>Trigger</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int TRANSITION__TRIGGER = 2; + + /** + * The feature id for the '<em><b>Guard</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int TRANSITION__GUARD = 3; + + /** + * The feature id for the '<em><b>Action</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int TRANSITION__ACTION = 4; + + /** + * The number of structural features of the '<em>Transition</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int TRANSITION_FEATURE_COUNT = 5; + + /** + * The number of operations of the '<em>Transition</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int TRANSITION_OPERATION_COUNT = 0; + + /** + * The meta object id for the '{@link swt.most.statemachine.impl.ExpressionImpl <em>Expression</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see swt.most.statemachine.impl.ExpressionImpl + * @see swt.most.statemachine.impl.StatemachinePackageImpl#getExpression() + * @generated + */ + int EXPRESSION = 6; + + /** + * The feature id for the '<em><b>Content</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int EXPRESSION__CONTENT = 0; + + /** + * The number of structural features of the '<em>Expression</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int EXPRESSION_FEATURE_COUNT = 1; + + /** + * The number of operations of the '<em>Expression</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int EXPRESSION_OPERATION_COUNT = 0; + + /** + * The meta object id for the '{@link swt.most.statemachine.impl.TriggerImpl <em>Trigger</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see swt.most.statemachine.impl.TriggerImpl + * @see swt.most.statemachine.impl.StatemachinePackageImpl#getTrigger() + * @generated + */ + int TRIGGER = 3; + + /** + * The feature id for the '<em><b>Content</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int TRIGGER__CONTENT = EXPRESSION__CONTENT; + + /** + * The number of structural features of the '<em>Trigger</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int TRIGGER_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 0; + + /** + * The number of operations of the '<em>Trigger</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int TRIGGER_OPERATION_COUNT = EXPRESSION_OPERATION_COUNT + 0; + + /** + * The meta object id for the '{@link swt.most.statemachine.impl.GuardImpl <em>Guard</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see swt.most.statemachine.impl.GuardImpl + * @see swt.most.statemachine.impl.StatemachinePackageImpl#getGuard() + * @generated + */ + int GUARD = 4; + + /** + * The feature id for the '<em><b>Content</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int GUARD__CONTENT = EXPRESSION__CONTENT; + + /** + * The number of structural features of the '<em>Guard</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int GUARD_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 0; + + /** + * The number of operations of the '<em>Guard</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int GUARD_OPERATION_COUNT = EXPRESSION_OPERATION_COUNT + 0; + + /** + * The meta object id for the '{@link swt.most.statemachine.impl.ActionImpl <em>Action</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see swt.most.statemachine.impl.ActionImpl + * @see swt.most.statemachine.impl.StatemachinePackageImpl#getAction() + * @generated + */ + int ACTION = 5; + + /** + * The feature id for the '<em><b>Content</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int ACTION__CONTENT = EXPRESSION__CONTENT; + + /** + * The number of structural features of the '<em>Action</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int ACTION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 0; + + /** + * The number of operations of the '<em>Action</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int ACTION_OPERATION_COUNT = EXPRESSION_OPERATION_COUNT + 0; + + /** + * The meta object id for the '{@link swt.most.statemachine.impl.InitialStateImpl <em>Initial State</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see swt.most.statemachine.impl.InitialStateImpl + * @see swt.most.statemachine.impl.StatemachinePackageImpl#getInitialState() + * @generated + */ + int INITIAL_STATE = 7; + + /** + * The feature id for the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int INITIAL_STATE__NAME = STATE__NAME; + + /** + * The number of structural features of the '<em>Initial State</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int INITIAL_STATE_FEATURE_COUNT = STATE_FEATURE_COUNT + 0; + + /** + * The number of operations of the '<em>Initial State</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int INITIAL_STATE_OPERATION_COUNT = STATE_OPERATION_COUNT + 0; + + /** + * The meta object id for the '{@link swt.most.statemachine.impl.FinalStateImpl <em>Final State</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see swt.most.statemachine.impl.FinalStateImpl + * @see swt.most.statemachine.impl.StatemachinePackageImpl#getFinalState() + * @generated + */ + int FINAL_STATE = 8; + + /** + * The feature id for the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int FINAL_STATE__NAME = STATE__NAME; + + /** + * The number of structural features of the '<em>Final State</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int FINAL_STATE_FEATURE_COUNT = STATE_FEATURE_COUNT + 0; + + /** + * The number of operations of the '<em>Final State</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int FINAL_STATE_OPERATION_COUNT = STATE_OPERATION_COUNT + 0; + + /** + * The meta object id for the '{@link swt.most.statemachine.impl.NormalStateImpl <em>Normal State</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see swt.most.statemachine.impl.NormalStateImpl + * @see swt.most.statemachine.impl.StatemachinePackageImpl#getNormalState() + * @generated + */ + int NORMAL_STATE = 9; + + /** + * The feature id for the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int NORMAL_STATE__NAME = STATE__NAME; + + /** + * The feature id for the '<em><b>Do </b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int NORMAL_STATE__DO_ = STATE_FEATURE_COUNT + 0; + + /** + * The feature id for the '<em><b>Exit </b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int NORMAL_STATE__EXIT_ = STATE_FEATURE_COUNT + 1; + + /** + * The feature id for the '<em><b>Entry </b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int NORMAL_STATE__ENTRY_ = STATE_FEATURE_COUNT + 2; + + /** + * The number of structural features of the '<em>Normal State</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int NORMAL_STATE_FEATURE_COUNT = STATE_FEATURE_COUNT + 3; + + /** + * The number of operations of the '<em>Normal State</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int NORMAL_STATE_OPERATION_COUNT = STATE_OPERATION_COUNT + 0; + + /** + * Returns the meta object for class '{@link swt.most.statemachine.StateMachine <em>State Machine</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>State Machine</em>'. + * @see swt.most.statemachine.StateMachine + * @generated + */ + EClass getStateMachine(); + + /** + * Returns the meta object for the attribute '{@link swt.most.statemachine.StateMachine#getName <em>Name</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Name</em>'. + * @see swt.most.statemachine.StateMachine#getName() + * @see #getStateMachine() + * @generated + */ + EAttribute getStateMachine_Name(); + + /** + * Returns the meta object for the containment reference list '{@link swt.most.statemachine.StateMachine#getStates <em>States</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference list '<em>States</em>'. + * @see swt.most.statemachine.StateMachine#getStates() + * @see #getStateMachine() + * @generated + */ + EReference getStateMachine_States(); + + /** + * Returns the meta object for the containment reference list '{@link swt.most.statemachine.StateMachine#getFinalstates <em>Finalstates</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference list '<em>Finalstates</em>'. + * @see swt.most.statemachine.StateMachine#getFinalstates() + * @see #getStateMachine() + * @generated + */ + EReference getStateMachine_Finalstates(); + + /** + * Returns the meta object for the containment reference '{@link swt.most.statemachine.StateMachine#getInitialstate <em>Initialstate</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference '<em>Initialstate</em>'. + * @see swt.most.statemachine.StateMachine#getInitialstate() + * @see #getStateMachine() + * @generated + */ + EReference getStateMachine_Initialstate(); + + /** + * Returns the meta object for the containment reference list '{@link swt.most.statemachine.StateMachine#getTransitions <em>Transitions</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference list '<em>Transitions</em>'. + * @see swt.most.statemachine.StateMachine#getTransitions() + * @see #getStateMachine() + * @generated + */ + EReference getStateMachine_Transitions(); + + /** + * Returns the meta object for class '{@link swt.most.statemachine.State <em>State</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>State</em>'. + * @see swt.most.statemachine.State + * @generated + */ + EClass getState(); + + /** + * Returns the meta object for the attribute '{@link swt.most.statemachine.State#getName <em>Name</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Name</em>'. + * @see swt.most.statemachine.State#getName() + * @see #getState() + * @generated + */ + EAttribute getState_Name(); + + /** + * Returns the meta object for class '{@link swt.most.statemachine.Transition <em>Transition</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Transition</em>'. + * @see swt.most.statemachine.Transition + * @generated + */ + EClass getTransition(); + + /** + * Returns the meta object for the reference '{@link swt.most.statemachine.Transition#getFrom <em>From</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference '<em>From</em>'. + * @see swt.most.statemachine.Transition#getFrom() + * @see #getTransition() + * @generated + */ + EReference getTransition_From(); + + /** + * Returns the meta object for the reference '{@link swt.most.statemachine.Transition#getTo <em>To</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference '<em>To</em>'. + * @see swt.most.statemachine.Transition#getTo() + * @see #getTransition() + * @generated + */ + EReference getTransition_To(); + + /** + * Returns the meta object for the containment reference '{@link swt.most.statemachine.Transition#getTrigger <em>Trigger</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference '<em>Trigger</em>'. + * @see swt.most.statemachine.Transition#getTrigger() + * @see #getTransition() + * @generated + */ + EReference getTransition_Trigger(); + + /** + * Returns the meta object for the containment reference '{@link swt.most.statemachine.Transition#getGuard <em>Guard</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference '<em>Guard</em>'. + * @see swt.most.statemachine.Transition#getGuard() + * @see #getTransition() + * @generated + */ + EReference getTransition_Guard(); + + /** + * Returns the meta object for the containment reference '{@link swt.most.statemachine.Transition#getAction <em>Action</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference '<em>Action</em>'. + * @see swt.most.statemachine.Transition#getAction() + * @see #getTransition() + * @generated + */ + EReference getTransition_Action(); + + /** + * Returns the meta object for class '{@link swt.most.statemachine.Trigger <em>Trigger</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Trigger</em>'. + * @see swt.most.statemachine.Trigger + * @generated + */ + EClass getTrigger(); + + /** + * Returns the meta object for class '{@link swt.most.statemachine.Guard <em>Guard</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Guard</em>'. + * @see swt.most.statemachine.Guard + * @generated + */ + EClass getGuard(); + + /** + * Returns the meta object for class '{@link swt.most.statemachine.Action <em>Action</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Action</em>'. + * @see swt.most.statemachine.Action + * @generated + */ + EClass getAction(); + + /** + * Returns the meta object for class '{@link swt.most.statemachine.Expression <em>Expression</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Expression</em>'. + * @see swt.most.statemachine.Expression + * @generated + */ + EClass getExpression(); + + /** + * Returns the meta object for the attribute '{@link swt.most.statemachine.Expression#getContent <em>Content</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Content</em>'. + * @see swt.most.statemachine.Expression#getContent() + * @see #getExpression() + * @generated + */ + EAttribute getExpression_Content(); + + /** + * Returns the meta object for class '{@link swt.most.statemachine.InitialState <em>Initial State</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Initial State</em>'. + * @see swt.most.statemachine.InitialState + * @generated + */ + EClass getInitialState(); + + /** + * Returns the meta object for class '{@link swt.most.statemachine.FinalState <em>Final State</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Final State</em>'. + * @see swt.most.statemachine.FinalState + * @generated + */ + EClass getFinalState(); + + /** + * Returns the meta object for class '{@link swt.most.statemachine.NormalState <em>Normal State</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Normal State</em>'. + * @see swt.most.statemachine.NormalState + * @generated + */ + EClass getNormalState(); + + /** + * Returns the meta object for the containment reference '{@link swt.most.statemachine.NormalState#getDo_ <em>Do </em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference '<em>Do </em>'. + * @see swt.most.statemachine.NormalState#getDo_() + * @see #getNormalState() + * @generated + */ + EReference getNormalState_Do_(); + + /** + * Returns the meta object for the containment reference '{@link swt.most.statemachine.NormalState#getExit_ <em>Exit </em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference '<em>Exit </em>'. + * @see swt.most.statemachine.NormalState#getExit_() + * @see #getNormalState() + * @generated + */ + EReference getNormalState_Exit_(); + + /** + * Returns the meta object for the containment reference '{@link swt.most.statemachine.NormalState#getEntry_ <em>Entry </em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference '<em>Entry </em>'. + * @see swt.most.statemachine.NormalState#getEntry_() + * @see #getNormalState() + * @generated + */ + EReference getNormalState_Entry_(); + + /** + * Returns the factory that creates the instances of the model. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the factory that creates the instances of the model. + * @generated + */ + StatemachineFactory getStatemachineFactory(); + + /** + * <!-- begin-user-doc --> + * Defines literals for the meta objects that represent + * <ul> + * <li>each class,</li> + * <li>each feature of each class,</li> + * <li>each operation of each class,</li> + * <li>each enum,</li> + * <li>and each data type</li> + * </ul> + * <!-- end-user-doc --> + * @generated + */ + interface Literals { + /** + * The meta object literal for the '{@link swt.most.statemachine.impl.StateMachineImpl <em>State Machine</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see swt.most.statemachine.impl.StateMachineImpl + * @see swt.most.statemachine.impl.StatemachinePackageImpl#getStateMachine() + * @generated + */ + EClass STATE_MACHINE = eINSTANCE.getStateMachine(); + + /** + * The meta object literal for the '<em><b>Name</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute STATE_MACHINE__NAME = eINSTANCE.getStateMachine_Name(); + + /** + * The meta object literal for the '<em><b>States</b></em>' containment reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference STATE_MACHINE__STATES = eINSTANCE.getStateMachine_States(); + + /** + * The meta object literal for the '<em><b>Finalstates</b></em>' containment reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference STATE_MACHINE__FINALSTATES = eINSTANCE.getStateMachine_Finalstates(); + + /** + * The meta object literal for the '<em><b>Initialstate</b></em>' containment reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference STATE_MACHINE__INITIALSTATE = eINSTANCE.getStateMachine_Initialstate(); + + /** + * The meta object literal for the '<em><b>Transitions</b></em>' containment reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference STATE_MACHINE__TRANSITIONS = eINSTANCE.getStateMachine_Transitions(); + + /** + * The meta object literal for the '{@link swt.most.statemachine.impl.StateImpl <em>State</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see swt.most.statemachine.impl.StateImpl + * @see swt.most.statemachine.impl.StatemachinePackageImpl#getState() + * @generated + */ + EClass STATE = eINSTANCE.getState(); + + /** + * The meta object literal for the '<em><b>Name</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute STATE__NAME = eINSTANCE.getState_Name(); + + /** + * The meta object literal for the '{@link swt.most.statemachine.impl.TransitionImpl <em>Transition</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see swt.most.statemachine.impl.TransitionImpl + * @see swt.most.statemachine.impl.StatemachinePackageImpl#getTransition() + * @generated + */ + EClass TRANSITION = eINSTANCE.getTransition(); + + /** + * The meta object literal for the '<em><b>From</b></em>' reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference TRANSITION__FROM = eINSTANCE.getTransition_From(); + + /** + * The meta object literal for the '<em><b>To</b></em>' reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference TRANSITION__TO = eINSTANCE.getTransition_To(); + + /** + * The meta object literal for the '<em><b>Trigger</b></em>' containment reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference TRANSITION__TRIGGER = eINSTANCE.getTransition_Trigger(); + + /** + * The meta object literal for the '<em><b>Guard</b></em>' containment reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference TRANSITION__GUARD = eINSTANCE.getTransition_Guard(); + + /** + * The meta object literal for the '<em><b>Action</b></em>' containment reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference TRANSITION__ACTION = eINSTANCE.getTransition_Action(); + + /** + * The meta object literal for the '{@link swt.most.statemachine.impl.TriggerImpl <em>Trigger</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see swt.most.statemachine.impl.TriggerImpl + * @see swt.most.statemachine.impl.StatemachinePackageImpl#getTrigger() + * @generated + */ + EClass TRIGGER = eINSTANCE.getTrigger(); + + /** + * The meta object literal for the '{@link swt.most.statemachine.impl.GuardImpl <em>Guard</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see swt.most.statemachine.impl.GuardImpl + * @see swt.most.statemachine.impl.StatemachinePackageImpl#getGuard() + * @generated + */ + EClass GUARD = eINSTANCE.getGuard(); + + /** + * The meta object literal for the '{@link swt.most.statemachine.impl.ActionImpl <em>Action</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see swt.most.statemachine.impl.ActionImpl + * @see swt.most.statemachine.impl.StatemachinePackageImpl#getAction() + * @generated + */ + EClass ACTION = eINSTANCE.getAction(); + + /** + * The meta object literal for the '{@link swt.most.statemachine.impl.ExpressionImpl <em>Expression</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see swt.most.statemachine.impl.ExpressionImpl + * @see swt.most.statemachine.impl.StatemachinePackageImpl#getExpression() + * @generated + */ + EClass EXPRESSION = eINSTANCE.getExpression(); + + /** + * The meta object literal for the '<em><b>Content</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute EXPRESSION__CONTENT = eINSTANCE.getExpression_Content(); + + /** + * The meta object literal for the '{@link swt.most.statemachine.impl.InitialStateImpl <em>Initial State</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see swt.most.statemachine.impl.InitialStateImpl + * @see swt.most.statemachine.impl.StatemachinePackageImpl#getInitialState() + * @generated + */ + EClass INITIAL_STATE = eINSTANCE.getInitialState(); + + /** + * The meta object literal for the '{@link swt.most.statemachine.impl.FinalStateImpl <em>Final State</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see swt.most.statemachine.impl.FinalStateImpl + * @see swt.most.statemachine.impl.StatemachinePackageImpl#getFinalState() + * @generated + */ + EClass FINAL_STATE = eINSTANCE.getFinalState(); + + /** + * The meta object literal for the '{@link swt.most.statemachine.impl.NormalStateImpl <em>Normal State</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see swt.most.statemachine.impl.NormalStateImpl + * @see swt.most.statemachine.impl.StatemachinePackageImpl#getNormalState() + * @generated + */ + EClass NORMAL_STATE = eINSTANCE.getNormalState(); + + /** + * The meta object literal for the '<em><b>Do </b></em>' containment reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference NORMAL_STATE__DO_ = eINSTANCE.getNormalState_Do_(); + + /** + * The meta object literal for the '<em><b>Exit </b></em>' containment reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference NORMAL_STATE__EXIT_ = eINSTANCE.getNormalState_Exit_(); + + /** + * The meta object literal for the '<em><b>Entry </b></em>' containment reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference NORMAL_STATE__ENTRY_ = eINSTANCE.getNormalState_Entry_(); + + } + +} //StatemachinePackage diff --git a/metamodel/swt.most.statemachine/src-gen/swt/most/statemachine/Transition.java b/metamodel/swt.most.statemachine/src-gen/swt/most/statemachine/Transition.java new file mode 100644 index 0000000..d749bf5 --- /dev/null +++ b/metamodel/swt.most.statemachine/src-gen/swt/most/statemachine/Transition.java @@ -0,0 +1,138 @@ +/** + */ +package swt.most.statemachine; + +import org.eclipse.emf.ecore.EObject; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Transition</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * </p> + * <ul> + * <li>{@link swt.most.statemachine.Transition#getFrom <em>From</em>}</li> + * <li>{@link swt.most.statemachine.Transition#getTo <em>To</em>}</li> + * <li>{@link swt.most.statemachine.Transition#getTrigger <em>Trigger</em>}</li> + * <li>{@link swt.most.statemachine.Transition#getGuard <em>Guard</em>}</li> + * <li>{@link swt.most.statemachine.Transition#getAction <em>Action</em>}</li> + * </ul> + * + * @see swt.most.statemachine.StatemachinePackage#getTransition() + * @model + * @generated + */ +public interface Transition extends EObject { + /** + * Returns the value of the '<em><b>From</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the value of the '<em>From</em>' reference. + * @see #setFrom(State) + * @see swt.most.statemachine.StatemachinePackage#getTransition_From() + * @model required="true" + * @generated + */ + State getFrom(); + + /** + * Sets the value of the '{@link swt.most.statemachine.Transition#getFrom <em>From</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>From</em>' reference. + * @see #getFrom() + * @generated + */ + void setFrom(State value); + + /** + * Returns the value of the '<em><b>To</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the value of the '<em>To</em>' reference. + * @see #setTo(State) + * @see swt.most.statemachine.StatemachinePackage#getTransition_To() + * @model required="true" + * @generated + */ + State getTo(); + + /** + * Sets the value of the '{@link swt.most.statemachine.Transition#getTo <em>To</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>To</em>' reference. + * @see #getTo() + * @generated + */ + void setTo(State value); + + /** + * Returns the value of the '<em><b>Trigger</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the value of the '<em>Trigger</em>' containment reference. + * @see #setTrigger(Trigger) + * @see swt.most.statemachine.StatemachinePackage#getTransition_Trigger() + * @model containment="true" + * @generated + */ + Trigger getTrigger(); + + /** + * Sets the value of the '{@link swt.most.statemachine.Transition#getTrigger <em>Trigger</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Trigger</em>' containment reference. + * @see #getTrigger() + * @generated + */ + void setTrigger(Trigger value); + + /** + * Returns the value of the '<em><b>Guard</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the value of the '<em>Guard</em>' containment reference. + * @see #setGuard(Guard) + * @see swt.most.statemachine.StatemachinePackage#getTransition_Guard() + * @model containment="true" + * @generated + */ + Guard getGuard(); + + /** + * Sets the value of the '{@link swt.most.statemachine.Transition#getGuard <em>Guard</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Guard</em>' containment reference. + * @see #getGuard() + * @generated + */ + void setGuard(Guard value); + + /** + * Returns the value of the '<em><b>Action</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the value of the '<em>Action</em>' containment reference. + * @see #setAction(Action) + * @see swt.most.statemachine.StatemachinePackage#getTransition_Action() + * @model containment="true" + * @generated + */ + Action getAction(); + + /** + * Sets the value of the '{@link swt.most.statemachine.Transition#getAction <em>Action</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Action</em>' containment reference. + * @see #getAction() + * @generated + */ + void setAction(Action value); + +} // Transition diff --git a/metamodel/swt.most.statemachine/src-gen/swt/most/statemachine/Trigger.java b/metamodel/swt.most.statemachine/src-gen/swt/most/statemachine/Trigger.java new file mode 100644 index 0000000..1ef1eaa --- /dev/null +++ b/metamodel/swt.most.statemachine/src-gen/swt/most/statemachine/Trigger.java @@ -0,0 +1,16 @@ +/** + */ +package swt.most.statemachine; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Trigger</b></em>'. + * <!-- end-user-doc --> + * + * + * @see swt.most.statemachine.StatemachinePackage#getTrigger() + * @model + * @generated + */ +public interface Trigger extends Expression { +} // Trigger diff --git a/metamodel/swt.most.statemachine/src-gen/swt/most/statemachine/impl/ActionImpl.java b/metamodel/swt.most.statemachine/src-gen/swt/most/statemachine/impl/ActionImpl.java new file mode 100644 index 0000000..33a72fc --- /dev/null +++ b/metamodel/swt.most.statemachine/src-gen/swt/most/statemachine/impl/ActionImpl.java @@ -0,0 +1,37 @@ +/** + */ +package swt.most.statemachine.impl; + +import org.eclipse.emf.ecore.EClass; + +import swt.most.statemachine.Action; +import swt.most.statemachine.StatemachinePackage; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Action</b></em>'. + * <!-- end-user-doc --> + * + * @generated + */ +public class ActionImpl extends ExpressionImpl implements Action { + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ActionImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() { + return StatemachinePackage.Literals.ACTION; + } + +} //ActionImpl diff --git a/metamodel/swt.most.statemachine/src-gen/swt/most/statemachine/impl/ExpressionImpl.java b/metamodel/swt.most.statemachine/src-gen/swt/most/statemachine/impl/ExpressionImpl.java new file mode 100644 index 0000000..57e6bda --- /dev/null +++ b/metamodel/swt.most.statemachine/src-gen/swt/most/statemachine/impl/ExpressionImpl.java @@ -0,0 +1,165 @@ +/** + */ +package swt.most.statemachine.impl; + +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +import swt.most.statemachine.Expression; +import swt.most.statemachine.StatemachinePackage; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Expression</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * </p> + * <ul> + * <li>{@link swt.most.statemachine.impl.ExpressionImpl#getContent <em>Content</em>}</li> + * </ul> + * + * @generated + */ +public abstract class ExpressionImpl extends MinimalEObjectImpl.Container implements Expression { + /** + * The default value of the '{@link #getContent() <em>Content</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getContent() + * @generated + * @ordered + */ + protected static final String CONTENT_EDEFAULT = null; + + /** + * The cached value of the '{@link #getContent() <em>Content</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getContent() + * @generated + * @ordered + */ + protected String content = CONTENT_EDEFAULT; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ExpressionImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() { + return StatemachinePackage.Literals.EXPRESSION; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getContent() { + return content; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setContent(String newContent) { + String oldContent = content; + content = newContent; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, StatemachinePackage.EXPRESSION__CONTENT, oldContent, + content)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case StatemachinePackage.EXPRESSION__CONTENT: + return getContent(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case StatemachinePackage.EXPRESSION__CONTENT: + setContent((String) newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case StatemachinePackage.EXPRESSION__CONTENT: + setContent(CONTENT_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case StatemachinePackage.EXPRESSION__CONTENT: + return CONTENT_EDEFAULT == null ? content != null : !CONTENT_EDEFAULT.equals(content); + } + return super.eIsSet(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String toString() { + if (eIsProxy()) + return super.toString(); + + StringBuilder result = new StringBuilder(super.toString()); + result.append(" (content: "); + result.append(content); + result.append(')'); + return result.toString(); + } + +} //ExpressionImpl diff --git a/metamodel/swt.most.statemachine/src-gen/swt/most/statemachine/impl/FinalStateImpl.java b/metamodel/swt.most.statemachine/src-gen/swt/most/statemachine/impl/FinalStateImpl.java new file mode 100644 index 0000000..0c06cf3 --- /dev/null +++ b/metamodel/swt.most.statemachine/src-gen/swt/most/statemachine/impl/FinalStateImpl.java @@ -0,0 +1,37 @@ +/** + */ +package swt.most.statemachine.impl; + +import org.eclipse.emf.ecore.EClass; + +import swt.most.statemachine.FinalState; +import swt.most.statemachine.StatemachinePackage; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Final State</b></em>'. + * <!-- end-user-doc --> + * + * @generated + */ +public class FinalStateImpl extends StateImpl implements FinalState { + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected FinalStateImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() { + return StatemachinePackage.Literals.FINAL_STATE; + } + +} //FinalStateImpl diff --git a/metamodel/swt.most.statemachine/src-gen/swt/most/statemachine/impl/GuardImpl.java b/metamodel/swt.most.statemachine/src-gen/swt/most/statemachine/impl/GuardImpl.java new file mode 100644 index 0000000..08665fd --- /dev/null +++ b/metamodel/swt.most.statemachine/src-gen/swt/most/statemachine/impl/GuardImpl.java @@ -0,0 +1,37 @@ +/** + */ +package swt.most.statemachine.impl; + +import org.eclipse.emf.ecore.EClass; + +import swt.most.statemachine.Guard; +import swt.most.statemachine.StatemachinePackage; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Guard</b></em>'. + * <!-- end-user-doc --> + * + * @generated + */ +public class GuardImpl extends ExpressionImpl implements Guard { + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected GuardImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() { + return StatemachinePackage.Literals.GUARD; + } + +} //GuardImpl diff --git a/metamodel/swt.most.statemachine/src-gen/swt/most/statemachine/impl/InitialStateImpl.java b/metamodel/swt.most.statemachine/src-gen/swt/most/statemachine/impl/InitialStateImpl.java new file mode 100644 index 0000000..6cab99e --- /dev/null +++ b/metamodel/swt.most.statemachine/src-gen/swt/most/statemachine/impl/InitialStateImpl.java @@ -0,0 +1,37 @@ +/** + */ +package swt.most.statemachine.impl; + +import org.eclipse.emf.ecore.EClass; + +import swt.most.statemachine.InitialState; +import swt.most.statemachine.StatemachinePackage; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Initial State</b></em>'. + * <!-- end-user-doc --> + * + * @generated + */ +public class InitialStateImpl extends StateImpl implements InitialState { + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected InitialStateImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() { + return StatemachinePackage.Literals.INITIAL_STATE; + } + +} //InitialStateImpl diff --git a/metamodel/swt.most.statemachine/src-gen/swt/most/statemachine/impl/NormalStateImpl.java b/metamodel/swt.most.statemachine/src-gen/swt/most/statemachine/impl/NormalStateImpl.java new file mode 100644 index 0000000..d8f676a --- /dev/null +++ b/metamodel/swt.most.statemachine/src-gen/swt/most/statemachine/impl/NormalStateImpl.java @@ -0,0 +1,328 @@ +/** + */ +package swt.most.statemachine.impl; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +import swt.most.statemachine.Action; +import swt.most.statemachine.NormalState; +import swt.most.statemachine.StatemachinePackage; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Normal State</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * </p> + * <ul> + * <li>{@link swt.most.statemachine.impl.NormalStateImpl#getDo_ <em>Do </em>}</li> + * <li>{@link swt.most.statemachine.impl.NormalStateImpl#getExit_ <em>Exit </em>}</li> + * <li>{@link swt.most.statemachine.impl.NormalStateImpl#getEntry_ <em>Entry </em>}</li> + * </ul> + * + * @generated + */ +public class NormalStateImpl extends StateImpl implements NormalState { + /** + * The cached value of the '{@link #getDo_() <em>Do </em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getDo_() + * @generated + * @ordered + */ + protected Action do_; + + /** + * The cached value of the '{@link #getExit_() <em>Exit </em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getExit_() + * @generated + * @ordered + */ + protected Action exit_; + + /** + * The cached value of the '{@link #getEntry_() <em>Entry </em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getEntry_() + * @generated + * @ordered + */ + protected Action entry_; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected NormalStateImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() { + return StatemachinePackage.Literals.NORMAL_STATE; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Action getDo_() { + return do_; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetDo_(Action newDo_, NotificationChain msgs) { + Action oldDo_ = do_; + do_ = newDo_; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, + StatemachinePackage.NORMAL_STATE__DO_, oldDo_, newDo_); + if (msgs == null) + msgs = notification; + else + msgs.add(notification); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setDo_(Action newDo_) { + if (newDo_ != do_) { + NotificationChain msgs = null; + if (do_ != null) + msgs = ((InternalEObject) do_).eInverseRemove(this, + EOPPOSITE_FEATURE_BASE - StatemachinePackage.NORMAL_STATE__DO_, null, msgs); + if (newDo_ != null) + msgs = ((InternalEObject) newDo_).eInverseAdd(this, + EOPPOSITE_FEATURE_BASE - StatemachinePackage.NORMAL_STATE__DO_, null, msgs); + msgs = basicSetDo_(newDo_, msgs); + if (msgs != null) + msgs.dispatch(); + } else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, StatemachinePackage.NORMAL_STATE__DO_, newDo_, + newDo_)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Action getExit_() { + return exit_; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetExit_(Action newExit_, NotificationChain msgs) { + Action oldExit_ = exit_; + exit_ = newExit_; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, + StatemachinePackage.NORMAL_STATE__EXIT_, oldExit_, newExit_); + if (msgs == null) + msgs = notification; + else + msgs.add(notification); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setExit_(Action newExit_) { + if (newExit_ != exit_) { + NotificationChain msgs = null; + if (exit_ != null) + msgs = ((InternalEObject) exit_).eInverseRemove(this, + EOPPOSITE_FEATURE_BASE - StatemachinePackage.NORMAL_STATE__EXIT_, null, msgs); + if (newExit_ != null) + msgs = ((InternalEObject) newExit_).eInverseAdd(this, + EOPPOSITE_FEATURE_BASE - StatemachinePackage.NORMAL_STATE__EXIT_, null, msgs); + msgs = basicSetExit_(newExit_, msgs); + if (msgs != null) + msgs.dispatch(); + } else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, StatemachinePackage.NORMAL_STATE__EXIT_, newExit_, + newExit_)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Action getEntry_() { + return entry_; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetEntry_(Action newEntry_, NotificationChain msgs) { + Action oldEntry_ = entry_; + entry_ = newEntry_; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, + StatemachinePackage.NORMAL_STATE__ENTRY_, oldEntry_, newEntry_); + if (msgs == null) + msgs = notification; + else + msgs.add(notification); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setEntry_(Action newEntry_) { + if (newEntry_ != entry_) { + NotificationChain msgs = null; + if (entry_ != null) + msgs = ((InternalEObject) entry_).eInverseRemove(this, + EOPPOSITE_FEATURE_BASE - StatemachinePackage.NORMAL_STATE__ENTRY_, null, msgs); + if (newEntry_ != null) + msgs = ((InternalEObject) newEntry_).eInverseAdd(this, + EOPPOSITE_FEATURE_BASE - StatemachinePackage.NORMAL_STATE__ENTRY_, null, msgs); + msgs = basicSetEntry_(newEntry_, msgs); + if (msgs != null) + msgs.dispatch(); + } else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, StatemachinePackage.NORMAL_STATE__ENTRY_, newEntry_, + newEntry_)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case StatemachinePackage.NORMAL_STATE__DO_: + return basicSetDo_(null, msgs); + case StatemachinePackage.NORMAL_STATE__EXIT_: + return basicSetExit_(null, msgs); + case StatemachinePackage.NORMAL_STATE__ENTRY_: + return basicSetEntry_(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case StatemachinePackage.NORMAL_STATE__DO_: + return getDo_(); + case StatemachinePackage.NORMAL_STATE__EXIT_: + return getExit_(); + case StatemachinePackage.NORMAL_STATE__ENTRY_: + return getEntry_(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case StatemachinePackage.NORMAL_STATE__DO_: + setDo_((Action) newValue); + return; + case StatemachinePackage.NORMAL_STATE__EXIT_: + setExit_((Action) newValue); + return; + case StatemachinePackage.NORMAL_STATE__ENTRY_: + setEntry_((Action) newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case StatemachinePackage.NORMAL_STATE__DO_: + setDo_((Action) null); + return; + case StatemachinePackage.NORMAL_STATE__EXIT_: + setExit_((Action) null); + return; + case StatemachinePackage.NORMAL_STATE__ENTRY_: + setEntry_((Action) null); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case StatemachinePackage.NORMAL_STATE__DO_: + return do_ != null; + case StatemachinePackage.NORMAL_STATE__EXIT_: + return exit_ != null; + case StatemachinePackage.NORMAL_STATE__ENTRY_: + return entry_ != null; + } + return super.eIsSet(featureID); + } + +} //NormalStateImpl diff --git a/metamodel/swt.most.statemachine/src-gen/swt/most/statemachine/impl/StateImpl.java b/metamodel/swt.most.statemachine/src-gen/swt/most/statemachine/impl/StateImpl.java new file mode 100644 index 0000000..360d1b9 --- /dev/null +++ b/metamodel/swt.most.statemachine/src-gen/swt/most/statemachine/impl/StateImpl.java @@ -0,0 +1,164 @@ +/** + */ +package swt.most.statemachine.impl; + +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +import swt.most.statemachine.State; +import swt.most.statemachine.StatemachinePackage; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>State</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * </p> + * <ul> + * <li>{@link swt.most.statemachine.impl.StateImpl#getName <em>Name</em>}</li> + * </ul> + * + * @generated + */ +public abstract class StateImpl extends MinimalEObjectImpl.Container implements State { + /** + * The default value of the '{@link #getName() <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getName() + * @generated + * @ordered + */ + protected static final String NAME_EDEFAULT = null; + + /** + * The cached value of the '{@link #getName() <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getName() + * @generated + * @ordered + */ + protected String name = NAME_EDEFAULT; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected StateImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() { + return StatemachinePackage.Literals.STATE; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getName() { + return name; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setName(String newName) { + String oldName = name; + name = newName; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, StatemachinePackage.STATE__NAME, oldName, name)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case StatemachinePackage.STATE__NAME: + return getName(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case StatemachinePackage.STATE__NAME: + setName((String) newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case StatemachinePackage.STATE__NAME: + setName(NAME_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case StatemachinePackage.STATE__NAME: + return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); + } + return super.eIsSet(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String toString() { + if (eIsProxy()) + return super.toString(); + + StringBuilder result = new StringBuilder(super.toString()); + result.append(" (name: "); + result.append(name); + result.append(')'); + return result.toString(); + } + +} //StateImpl diff --git a/metamodel/swt.most.statemachine/src-gen/swt/most/statemachine/impl/StateMachineImpl.java b/metamodel/swt.most.statemachine/src-gen/swt/most/statemachine/impl/StateMachineImpl.java new file mode 100644 index 0000000..be0b08a --- /dev/null +++ b/metamodel/swt.most.statemachine/src-gen/swt/most/statemachine/impl/StateMachineImpl.java @@ -0,0 +1,375 @@ +/** + */ +package swt.most.statemachine.impl; + +import java.util.Collection; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +import org.eclipse.emf.ecore.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.InternalEList; + +import swt.most.statemachine.FinalState; +import swt.most.statemachine.InitialState; +import swt.most.statemachine.NormalState; +import swt.most.statemachine.StateMachine; +import swt.most.statemachine.StatemachinePackage; +import swt.most.statemachine.Transition; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>State Machine</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * </p> + * <ul> + * <li>{@link swt.most.statemachine.impl.StateMachineImpl#getName <em>Name</em>}</li> + * <li>{@link swt.most.statemachine.impl.StateMachineImpl#getStates <em>States</em>}</li> + * <li>{@link swt.most.statemachine.impl.StateMachineImpl#getFinalstates <em>Finalstates</em>}</li> + * <li>{@link swt.most.statemachine.impl.StateMachineImpl#getInitialstate <em>Initialstate</em>}</li> + * <li>{@link swt.most.statemachine.impl.StateMachineImpl#getTransitions <em>Transitions</em>}</li> + * </ul> + * + * @generated + */ +public class StateMachineImpl extends MinimalEObjectImpl.Container implements StateMachine { + /** + * The default value of the '{@link #getName() <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getName() + * @generated + * @ordered + */ + protected static final String NAME_EDEFAULT = null; + + /** + * The cached value of the '{@link #getName() <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getName() + * @generated + * @ordered + */ + protected String name = NAME_EDEFAULT; + + /** + * The cached value of the '{@link #getStates() <em>States</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getStates() + * @generated + * @ordered + */ + protected EList<NormalState> states; + + /** + * The cached value of the '{@link #getFinalstates() <em>Finalstates</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getFinalstates() + * @generated + * @ordered + */ + protected EList<FinalState> finalstates; + + /** + * The cached value of the '{@link #getInitialstate() <em>Initialstate</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getInitialstate() + * @generated + * @ordered + */ + protected InitialState initialstate; + + /** + * The cached value of the '{@link #getTransitions() <em>Transitions</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getTransitions() + * @generated + * @ordered + */ + protected EList<Transition> transitions; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected StateMachineImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() { + return StatemachinePackage.Literals.STATE_MACHINE; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getName() { + return name; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setName(String newName) { + String oldName = name; + name = newName; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, StatemachinePackage.STATE_MACHINE__NAME, oldName, + name)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EList<NormalState> getStates() { + if (states == null) { + states = new EObjectContainmentEList<NormalState>(NormalState.class, this, + StatemachinePackage.STATE_MACHINE__STATES); + } + return states; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EList<FinalState> getFinalstates() { + if (finalstates == null) { + finalstates = new EObjectContainmentEList<FinalState>(FinalState.class, this, + StatemachinePackage.STATE_MACHINE__FINALSTATES); + } + return finalstates; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public InitialState getInitialstate() { + return initialstate; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetInitialstate(InitialState newInitialstate, NotificationChain msgs) { + InitialState oldInitialstate = initialstate; + initialstate = newInitialstate; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, + StatemachinePackage.STATE_MACHINE__INITIALSTATE, oldInitialstate, newInitialstate); + if (msgs == null) + msgs = notification; + else + msgs.add(notification); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setInitialstate(InitialState newInitialstate) { + if (newInitialstate != initialstate) { + NotificationChain msgs = null; + if (initialstate != null) + msgs = ((InternalEObject) initialstate).eInverseRemove(this, + EOPPOSITE_FEATURE_BASE - StatemachinePackage.STATE_MACHINE__INITIALSTATE, null, msgs); + if (newInitialstate != null) + msgs = ((InternalEObject) newInitialstate).eInverseAdd(this, + EOPPOSITE_FEATURE_BASE - StatemachinePackage.STATE_MACHINE__INITIALSTATE, null, msgs); + msgs = basicSetInitialstate(newInitialstate, msgs); + if (msgs != null) + msgs.dispatch(); + } else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, StatemachinePackage.STATE_MACHINE__INITIALSTATE, + newInitialstate, newInitialstate)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EList<Transition> getTransitions() { + if (transitions == null) { + transitions = new EObjectContainmentEList<Transition>(Transition.class, this, + StatemachinePackage.STATE_MACHINE__TRANSITIONS); + } + return transitions; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case StatemachinePackage.STATE_MACHINE__STATES: + return ((InternalEList<?>) getStates()).basicRemove(otherEnd, msgs); + case StatemachinePackage.STATE_MACHINE__FINALSTATES: + return ((InternalEList<?>) getFinalstates()).basicRemove(otherEnd, msgs); + case StatemachinePackage.STATE_MACHINE__INITIALSTATE: + return basicSetInitialstate(null, msgs); + case StatemachinePackage.STATE_MACHINE__TRANSITIONS: + return ((InternalEList<?>) getTransitions()).basicRemove(otherEnd, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case StatemachinePackage.STATE_MACHINE__NAME: + return getName(); + case StatemachinePackage.STATE_MACHINE__STATES: + return getStates(); + case StatemachinePackage.STATE_MACHINE__FINALSTATES: + return getFinalstates(); + case StatemachinePackage.STATE_MACHINE__INITIALSTATE: + return getInitialstate(); + case StatemachinePackage.STATE_MACHINE__TRANSITIONS: + return getTransitions(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case StatemachinePackage.STATE_MACHINE__NAME: + setName((String) newValue); + return; + case StatemachinePackage.STATE_MACHINE__STATES: + getStates().clear(); + getStates().addAll((Collection<? extends NormalState>) newValue); + return; + case StatemachinePackage.STATE_MACHINE__FINALSTATES: + getFinalstates().clear(); + getFinalstates().addAll((Collection<? extends FinalState>) newValue); + return; + case StatemachinePackage.STATE_MACHINE__INITIALSTATE: + setInitialstate((InitialState) newValue); + return; + case StatemachinePackage.STATE_MACHINE__TRANSITIONS: + getTransitions().clear(); + getTransitions().addAll((Collection<? extends Transition>) newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case StatemachinePackage.STATE_MACHINE__NAME: + setName(NAME_EDEFAULT); + return; + case StatemachinePackage.STATE_MACHINE__STATES: + getStates().clear(); + return; + case StatemachinePackage.STATE_MACHINE__FINALSTATES: + getFinalstates().clear(); + return; + case StatemachinePackage.STATE_MACHINE__INITIALSTATE: + setInitialstate((InitialState) null); + return; + case StatemachinePackage.STATE_MACHINE__TRANSITIONS: + getTransitions().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case StatemachinePackage.STATE_MACHINE__NAME: + return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); + case StatemachinePackage.STATE_MACHINE__STATES: + return states != null && !states.isEmpty(); + case StatemachinePackage.STATE_MACHINE__FINALSTATES: + return finalstates != null && !finalstates.isEmpty(); + case StatemachinePackage.STATE_MACHINE__INITIALSTATE: + return initialstate != null; + case StatemachinePackage.STATE_MACHINE__TRANSITIONS: + return transitions != null && !transitions.isEmpty(); + } + return super.eIsSet(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String toString() { + if (eIsProxy()) + return super.toString(); + + StringBuilder result = new StringBuilder(super.toString()); + result.append(" (name: "); + result.append(name); + result.append(')'); + return result.toString(); + } + +} //StateMachineImpl diff --git a/metamodel/swt.most.statemachine/src-gen/swt/most/statemachine/impl/StatemachineFactoryImpl.java b/metamodel/swt.most.statemachine/src-gen/swt/most/statemachine/impl/StatemachineFactoryImpl.java new file mode 100644 index 0000000..881f4dd --- /dev/null +++ b/metamodel/swt.most.statemachine/src-gen/swt/most/statemachine/impl/StatemachineFactoryImpl.java @@ -0,0 +1,180 @@ +/** + */ +package swt.most.statemachine.impl; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.EPackage; + +import org.eclipse.emf.ecore.impl.EFactoryImpl; + +import org.eclipse.emf.ecore.plugin.EcorePlugin; + +import swt.most.statemachine.*; + +/** + * <!-- begin-user-doc --> + * An implementation of the model <b>Factory</b>. + * <!-- end-user-doc --> + * @generated + */ +public class StatemachineFactoryImpl extends EFactoryImpl implements StatemachineFactory { + /** + * Creates the default factory implementation. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static StatemachineFactory init() { + try { + StatemachineFactory theStatemachineFactory = (StatemachineFactory) EPackage.Registry.INSTANCE + .getEFactory(StatemachinePackage.eNS_URI); + if (theStatemachineFactory != null) { + return theStatemachineFactory; + } + } catch (Exception exception) { + EcorePlugin.INSTANCE.log(exception); + } + return new StatemachineFactoryImpl(); + } + + /** + * Creates an instance of the factory. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public StatemachineFactoryImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EObject create(EClass eClass) { + switch (eClass.getClassifierID()) { + case StatemachinePackage.STATE_MACHINE: + return createStateMachine(); + case StatemachinePackage.TRANSITION: + return createTransition(); + case StatemachinePackage.TRIGGER: + return createTrigger(); + case StatemachinePackage.GUARD: + return createGuard(); + case StatemachinePackage.ACTION: + return createAction(); + case StatemachinePackage.INITIAL_STATE: + return createInitialState(); + case StatemachinePackage.FINAL_STATE: + return createFinalState(); + case StatemachinePackage.NORMAL_STATE: + return createNormalState(); + default: + throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public StateMachine createStateMachine() { + StateMachineImpl stateMachine = new StateMachineImpl(); + return stateMachine; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Transition createTransition() { + TransitionImpl transition = new TransitionImpl(); + return transition; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Trigger createTrigger() { + TriggerImpl trigger = new TriggerImpl(); + return trigger; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Guard createGuard() { + GuardImpl guard = new GuardImpl(); + return guard; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Action createAction() { + ActionImpl action = new ActionImpl(); + return action; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public InitialState createInitialState() { + InitialStateImpl initialState = new InitialStateImpl(); + return initialState; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public FinalState createFinalState() { + FinalStateImpl finalState = new FinalStateImpl(); + return finalState; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NormalState createNormalState() { + NormalStateImpl normalState = new NormalStateImpl(); + return normalState; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public StatemachinePackage getStatemachinePackage() { + return (StatemachinePackage) getEPackage(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @deprecated + * @generated + */ + @Deprecated + public static StatemachinePackage getPackage() { + return StatemachinePackage.eINSTANCE; + } + +} //StatemachineFactoryImpl diff --git a/metamodel/swt.most.statemachine/src-gen/swt/most/statemachine/impl/StatemachinePackageImpl.java b/metamodel/swt.most.statemachine/src-gen/swt/most/statemachine/impl/StatemachinePackageImpl.java new file mode 100644 index 0000000..d397988 --- /dev/null +++ b/metamodel/swt.most.statemachine/src-gen/swt/most/statemachine/impl/StatemachinePackageImpl.java @@ -0,0 +1,565 @@ +/** + */ +package swt.most.statemachine.impl; + +import org.eclipse.emf.ecore.EAttribute; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EPackage; +import org.eclipse.emf.ecore.EReference; + +import org.eclipse.emf.ecore.impl.EPackageImpl; + +import swt.most.statemachine.Action; +import swt.most.statemachine.Expression; +import swt.most.statemachine.FinalState; +import swt.most.statemachine.Guard; +import swt.most.statemachine.InitialState; +import swt.most.statemachine.NormalState; +import swt.most.statemachine.State; +import swt.most.statemachine.StateMachine; +import swt.most.statemachine.StatemachineFactory; +import swt.most.statemachine.StatemachinePackage; +import swt.most.statemachine.Transition; +import swt.most.statemachine.Trigger; + +/** + * <!-- begin-user-doc --> + * An implementation of the model <b>Package</b>. + * <!-- end-user-doc --> + * @generated + */ +public class StatemachinePackageImpl extends EPackageImpl implements StatemachinePackage { + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass stateMachineEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass stateEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass transitionEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass triggerEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass guardEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass actionEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass expressionEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass initialStateEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass finalStateEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass normalStateEClass = null; + + /** + * Creates an instance of the model <b>Package</b>, registered with + * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package + * package URI value. + * <p>Note: the correct way to create the package is via the static + * factory method {@link #init init()}, which also performs + * initialization of the package, or returns the registered package, + * if one already exists. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.ecore.EPackage.Registry + * @see swt.most.statemachine.StatemachinePackage#eNS_URI + * @see #init() + * @generated + */ + private StatemachinePackageImpl() { + super(eNS_URI, StatemachineFactory.eINSTANCE); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private static boolean isInited = false; + + /** + * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends. + * + * <p>This method is used to initialize {@link StatemachinePackage#eINSTANCE} when that field is accessed. + * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #eNS_URI + * @see #createPackageContents() + * @see #initializePackageContents() + * @generated + */ + public static StatemachinePackage init() { + if (isInited) + return (StatemachinePackage) EPackage.Registry.INSTANCE.getEPackage(StatemachinePackage.eNS_URI); + + // Obtain or create and register package + Object registeredStatemachinePackage = EPackage.Registry.INSTANCE.get(eNS_URI); + StatemachinePackageImpl theStatemachinePackage = registeredStatemachinePackage instanceof StatemachinePackageImpl + ? (StatemachinePackageImpl) registeredStatemachinePackage + : new StatemachinePackageImpl(); + + isInited = true; + + // Create package meta-data objects + theStatemachinePackage.createPackageContents(); + + // Initialize created meta-data + theStatemachinePackage.initializePackageContents(); + + // Mark meta-data to indicate it can't be changed + theStatemachinePackage.freeze(); + + // Update the registry and return the package + EPackage.Registry.INSTANCE.put(StatemachinePackage.eNS_URI, theStatemachinePackage); + return theStatemachinePackage; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getStateMachine() { + return stateMachineEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getStateMachine_Name() { + return (EAttribute) stateMachineEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getStateMachine_States() { + return (EReference) stateMachineEClass.getEStructuralFeatures().get(1); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getStateMachine_Finalstates() { + return (EReference) stateMachineEClass.getEStructuralFeatures().get(2); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getStateMachine_Initialstate() { + return (EReference) stateMachineEClass.getEStructuralFeatures().get(3); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getStateMachine_Transitions() { + return (EReference) stateMachineEClass.getEStructuralFeatures().get(4); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getState() { + return stateEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getState_Name() { + return (EAttribute) stateEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getTransition() { + return transitionEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getTransition_From() { + return (EReference) transitionEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getTransition_To() { + return (EReference) transitionEClass.getEStructuralFeatures().get(1); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getTransition_Trigger() { + return (EReference) transitionEClass.getEStructuralFeatures().get(2); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getTransition_Guard() { + return (EReference) transitionEClass.getEStructuralFeatures().get(3); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getTransition_Action() { + return (EReference) transitionEClass.getEStructuralFeatures().get(4); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getTrigger() { + return triggerEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getGuard() { + return guardEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getAction() { + return actionEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getExpression() { + return expressionEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getExpression_Content() { + return (EAttribute) expressionEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getInitialState() { + return initialStateEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getFinalState() { + return finalStateEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getNormalState() { + return normalStateEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getNormalState_Do_() { + return (EReference) normalStateEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getNormalState_Exit_() { + return (EReference) normalStateEClass.getEStructuralFeatures().get(1); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getNormalState_Entry_() { + return (EReference) normalStateEClass.getEStructuralFeatures().get(2); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public StatemachineFactory getStatemachineFactory() { + return (StatemachineFactory) getEFactoryInstance(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private boolean isCreated = false; + + /** + * Creates the meta-model objects for the package. This method is + * guarded to have no affect on any invocation but its first. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void createPackageContents() { + if (isCreated) + return; + isCreated = true; + + // Create classes and their features + stateMachineEClass = createEClass(STATE_MACHINE); + createEAttribute(stateMachineEClass, STATE_MACHINE__NAME); + createEReference(stateMachineEClass, STATE_MACHINE__STATES); + createEReference(stateMachineEClass, STATE_MACHINE__FINALSTATES); + createEReference(stateMachineEClass, STATE_MACHINE__INITIALSTATE); + createEReference(stateMachineEClass, STATE_MACHINE__TRANSITIONS); + + stateEClass = createEClass(STATE); + createEAttribute(stateEClass, STATE__NAME); + + transitionEClass = createEClass(TRANSITION); + createEReference(transitionEClass, TRANSITION__FROM); + createEReference(transitionEClass, TRANSITION__TO); + createEReference(transitionEClass, TRANSITION__TRIGGER); + createEReference(transitionEClass, TRANSITION__GUARD); + createEReference(transitionEClass, TRANSITION__ACTION); + + triggerEClass = createEClass(TRIGGER); + + guardEClass = createEClass(GUARD); + + actionEClass = createEClass(ACTION); + + expressionEClass = createEClass(EXPRESSION); + createEAttribute(expressionEClass, EXPRESSION__CONTENT); + + initialStateEClass = createEClass(INITIAL_STATE); + + finalStateEClass = createEClass(FINAL_STATE); + + normalStateEClass = createEClass(NORMAL_STATE); + createEReference(normalStateEClass, NORMAL_STATE__DO_); + createEReference(normalStateEClass, NORMAL_STATE__EXIT_); + createEReference(normalStateEClass, NORMAL_STATE__ENTRY_); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private boolean isInitialized = false; + + /** + * Complete the initialization of the package and its meta-model. This + * method is guarded to have no affect on any invocation but its first. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void initializePackageContents() { + if (isInitialized) + return; + isInitialized = true; + + // Initialize package + setName(eNAME); + setNsPrefix(eNS_PREFIX); + setNsURI(eNS_URI); + + // Create type parameters + + // Set bounds for type parameters + + // Add supertypes to classes + triggerEClass.getESuperTypes().add(this.getExpression()); + guardEClass.getESuperTypes().add(this.getExpression()); + actionEClass.getESuperTypes().add(this.getExpression()); + initialStateEClass.getESuperTypes().add(this.getState()); + finalStateEClass.getESuperTypes().add(this.getState()); + normalStateEClass.getESuperTypes().add(this.getState()); + + // Initialize classes, features, and operations; add parameters + initEClass(stateMachineEClass, StateMachine.class, "StateMachine", !IS_ABSTRACT, !IS_INTERFACE, + IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getStateMachine_Name(), ecorePackage.getEString(), "name", null, 1, 1, StateMachine.class, + !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getStateMachine_States(), this.getNormalState(), null, "states", null, 0, -1, StateMachine.class, + !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, + IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getStateMachine_Finalstates(), this.getFinalState(), null, "finalstates", null, 0, -1, + StateMachine.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, + !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getStateMachine_Initialstate(), this.getInitialState(), null, "initialstate", null, 1, 1, + StateMachine.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, + !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getStateMachine_Transitions(), this.getTransition(), null, "transitions", null, 0, -1, + StateMachine.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, + !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(stateEClass, State.class, "State", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getState_Name(), ecorePackage.getEString(), "name", null, 1, 1, State.class, !IS_TRANSIENT, + !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(transitionEClass, Transition.class, "Transition", !IS_ABSTRACT, !IS_INTERFACE, + IS_GENERATED_INSTANCE_CLASS); + initEReference(getTransition_From(), this.getState(), null, "from", null, 1, 1, Transition.class, !IS_TRANSIENT, + !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, + IS_ORDERED); + initEReference(getTransition_To(), this.getState(), null, "to", null, 1, 1, Transition.class, !IS_TRANSIENT, + !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, + IS_ORDERED); + initEReference(getTransition_Trigger(), this.getTrigger(), null, "trigger", null, 0, 1, Transition.class, + !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, + IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getTransition_Guard(), this.getGuard(), null, "guard", null, 0, 1, Transition.class, + !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, + IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getTransition_Action(), this.getAction(), null, "action", null, 0, 1, Transition.class, + !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, + IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(triggerEClass, Trigger.class, "Trigger", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(guardEClass, Guard.class, "Guard", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(actionEClass, Action.class, "Action", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(expressionEClass, Expression.class, "Expression", IS_ABSTRACT, !IS_INTERFACE, + IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getExpression_Content(), ecorePackage.getEString(), "content", null, 1, 1, Expression.class, + !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(initialStateEClass, InitialState.class, "InitialState", !IS_ABSTRACT, !IS_INTERFACE, + IS_GENERATED_INSTANCE_CLASS); + + initEClass(finalStateEClass, FinalState.class, "FinalState", !IS_ABSTRACT, !IS_INTERFACE, + IS_GENERATED_INSTANCE_CLASS); + + initEClass(normalStateEClass, NormalState.class, "NormalState", !IS_ABSTRACT, !IS_INTERFACE, + IS_GENERATED_INSTANCE_CLASS); + initEReference(getNormalState_Do_(), this.getAction(), null, "do_", null, 0, 1, NormalState.class, + !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, + IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getNormalState_Exit_(), this.getAction(), null, "exit_", null, 0, 1, NormalState.class, + !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, + IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getNormalState_Entry_(), this.getAction(), null, "entry_", null, 0, 1, NormalState.class, + !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, + IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + // Create resource + createResource(eNS_URI); + } + +} //StatemachinePackageImpl diff --git a/metamodel/swt.most.statemachine/src-gen/swt/most/statemachine/impl/TransitionImpl.java b/metamodel/swt.most.statemachine/src-gen/swt/most/statemachine/impl/TransitionImpl.java new file mode 100644 index 0000000..5c7c30d --- /dev/null +++ b/metamodel/swt.most.statemachine/src-gen/swt/most/statemachine/impl/TransitionImpl.java @@ -0,0 +1,456 @@ +/** + */ +package swt.most.statemachine.impl; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +import swt.most.statemachine.Action; +import swt.most.statemachine.Guard; +import swt.most.statemachine.State; +import swt.most.statemachine.StatemachinePackage; +import swt.most.statemachine.Transition; +import swt.most.statemachine.Trigger; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Transition</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * </p> + * <ul> + * <li>{@link swt.most.statemachine.impl.TransitionImpl#getFrom <em>From</em>}</li> + * <li>{@link swt.most.statemachine.impl.TransitionImpl#getTo <em>To</em>}</li> + * <li>{@link swt.most.statemachine.impl.TransitionImpl#getTrigger <em>Trigger</em>}</li> + * <li>{@link swt.most.statemachine.impl.TransitionImpl#getGuard <em>Guard</em>}</li> + * <li>{@link swt.most.statemachine.impl.TransitionImpl#getAction <em>Action</em>}</li> + * </ul> + * + * @generated + */ +public class TransitionImpl extends MinimalEObjectImpl.Container implements Transition { + /** + * The cached value of the '{@link #getFrom() <em>From</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getFrom() + * @generated + * @ordered + */ + protected State from; + + /** + * The cached value of the '{@link #getTo() <em>To</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getTo() + * @generated + * @ordered + */ + protected State to; + + /** + * The cached value of the '{@link #getTrigger() <em>Trigger</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getTrigger() + * @generated + * @ordered + */ + protected Trigger trigger; + + /** + * The cached value of the '{@link #getGuard() <em>Guard</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getGuard() + * @generated + * @ordered + */ + protected Guard guard; + + /** + * The cached value of the '{@link #getAction() <em>Action</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getAction() + * @generated + * @ordered + */ + protected Action action; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected TransitionImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() { + return StatemachinePackage.Literals.TRANSITION; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public State getFrom() { + if (from != null && from.eIsProxy()) { + InternalEObject oldFrom = (InternalEObject) from; + from = (State) eResolveProxy(oldFrom); + if (from != oldFrom) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, StatemachinePackage.TRANSITION__FROM, + oldFrom, from)); + } + } + return from; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public State basicGetFrom() { + return from; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setFrom(State newFrom) { + State oldFrom = from; + from = newFrom; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, StatemachinePackage.TRANSITION__FROM, oldFrom, from)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public State getTo() { + if (to != null && to.eIsProxy()) { + InternalEObject oldTo = (InternalEObject) to; + to = (State) eResolveProxy(oldTo); + if (to != oldTo) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, StatemachinePackage.TRANSITION__TO, oldTo, + to)); + } + } + return to; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public State basicGetTo() { + return to; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setTo(State newTo) { + State oldTo = to; + to = newTo; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, StatemachinePackage.TRANSITION__TO, oldTo, to)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Trigger getTrigger() { + return trigger; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetTrigger(Trigger newTrigger, NotificationChain msgs) { + Trigger oldTrigger = trigger; + trigger = newTrigger; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, + StatemachinePackage.TRANSITION__TRIGGER, oldTrigger, newTrigger); + if (msgs == null) + msgs = notification; + else + msgs.add(notification); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setTrigger(Trigger newTrigger) { + if (newTrigger != trigger) { + NotificationChain msgs = null; + if (trigger != null) + msgs = ((InternalEObject) trigger).eInverseRemove(this, + EOPPOSITE_FEATURE_BASE - StatemachinePackage.TRANSITION__TRIGGER, null, msgs); + if (newTrigger != null) + msgs = ((InternalEObject) newTrigger).eInverseAdd(this, + EOPPOSITE_FEATURE_BASE - StatemachinePackage.TRANSITION__TRIGGER, null, msgs); + msgs = basicSetTrigger(newTrigger, msgs); + if (msgs != null) + msgs.dispatch(); + } else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, StatemachinePackage.TRANSITION__TRIGGER, newTrigger, + newTrigger)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Guard getGuard() { + return guard; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetGuard(Guard newGuard, NotificationChain msgs) { + Guard oldGuard = guard; + guard = newGuard; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, + StatemachinePackage.TRANSITION__GUARD, oldGuard, newGuard); + if (msgs == null) + msgs = notification; + else + msgs.add(notification); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setGuard(Guard newGuard) { + if (newGuard != guard) { + NotificationChain msgs = null; + if (guard != null) + msgs = ((InternalEObject) guard).eInverseRemove(this, + EOPPOSITE_FEATURE_BASE - StatemachinePackage.TRANSITION__GUARD, null, msgs); + if (newGuard != null) + msgs = ((InternalEObject) newGuard).eInverseAdd(this, + EOPPOSITE_FEATURE_BASE - StatemachinePackage.TRANSITION__GUARD, null, msgs); + msgs = basicSetGuard(newGuard, msgs); + if (msgs != null) + msgs.dispatch(); + } else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, StatemachinePackage.TRANSITION__GUARD, newGuard, + newGuard)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Action getAction() { + return action; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetAction(Action newAction, NotificationChain msgs) { + Action oldAction = action; + action = newAction; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, + StatemachinePackage.TRANSITION__ACTION, oldAction, newAction); + if (msgs == null) + msgs = notification; + else + msgs.add(notification); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setAction(Action newAction) { + if (newAction != action) { + NotificationChain msgs = null; + if (action != null) + msgs = ((InternalEObject) action).eInverseRemove(this, + EOPPOSITE_FEATURE_BASE - StatemachinePackage.TRANSITION__ACTION, null, msgs); + if (newAction != null) + msgs = ((InternalEObject) newAction).eInverseAdd(this, + EOPPOSITE_FEATURE_BASE - StatemachinePackage.TRANSITION__ACTION, null, msgs); + msgs = basicSetAction(newAction, msgs); + if (msgs != null) + msgs.dispatch(); + } else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, StatemachinePackage.TRANSITION__ACTION, newAction, + newAction)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case StatemachinePackage.TRANSITION__TRIGGER: + return basicSetTrigger(null, msgs); + case StatemachinePackage.TRANSITION__GUARD: + return basicSetGuard(null, msgs); + case StatemachinePackage.TRANSITION__ACTION: + return basicSetAction(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case StatemachinePackage.TRANSITION__FROM: + if (resolve) + return getFrom(); + return basicGetFrom(); + case StatemachinePackage.TRANSITION__TO: + if (resolve) + return getTo(); + return basicGetTo(); + case StatemachinePackage.TRANSITION__TRIGGER: + return getTrigger(); + case StatemachinePackage.TRANSITION__GUARD: + return getGuard(); + case StatemachinePackage.TRANSITION__ACTION: + return getAction(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case StatemachinePackage.TRANSITION__FROM: + setFrom((State) newValue); + return; + case StatemachinePackage.TRANSITION__TO: + setTo((State) newValue); + return; + case StatemachinePackage.TRANSITION__TRIGGER: + setTrigger((Trigger) newValue); + return; + case StatemachinePackage.TRANSITION__GUARD: + setGuard((Guard) newValue); + return; + case StatemachinePackage.TRANSITION__ACTION: + setAction((Action) newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case StatemachinePackage.TRANSITION__FROM: + setFrom((State) null); + return; + case StatemachinePackage.TRANSITION__TO: + setTo((State) null); + return; + case StatemachinePackage.TRANSITION__TRIGGER: + setTrigger((Trigger) null); + return; + case StatemachinePackage.TRANSITION__GUARD: + setGuard((Guard) null); + return; + case StatemachinePackage.TRANSITION__ACTION: + setAction((Action) null); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case StatemachinePackage.TRANSITION__FROM: + return from != null; + case StatemachinePackage.TRANSITION__TO: + return to != null; + case StatemachinePackage.TRANSITION__TRIGGER: + return trigger != null; + case StatemachinePackage.TRANSITION__GUARD: + return guard != null; + case StatemachinePackage.TRANSITION__ACTION: + return action != null; + } + return super.eIsSet(featureID); + } + +} //TransitionImpl diff --git a/metamodel/swt.most.statemachine/src-gen/swt/most/statemachine/impl/TriggerImpl.java b/metamodel/swt.most.statemachine/src-gen/swt/most/statemachine/impl/TriggerImpl.java new file mode 100644 index 0000000..f10d4ea --- /dev/null +++ b/metamodel/swt.most.statemachine/src-gen/swt/most/statemachine/impl/TriggerImpl.java @@ -0,0 +1,37 @@ +/** + */ +package swt.most.statemachine.impl; + +import org.eclipse.emf.ecore.EClass; + +import swt.most.statemachine.StatemachinePackage; +import swt.most.statemachine.Trigger; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Trigger</b></em>'. + * <!-- end-user-doc --> + * + * @generated + */ +public class TriggerImpl extends ExpressionImpl implements Trigger { + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected TriggerImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() { + return StatemachinePackage.Literals.TRIGGER; + } + +} //TriggerImpl diff --git a/metamodel/swt.most.statemachine/src-gen/swt/most/statemachine/util/StatemachineAdapterFactory.java b/metamodel/swt.most.statemachine/src-gen/swt/most/statemachine/util/StatemachineAdapterFactory.java new file mode 100644 index 0000000..5594669 --- /dev/null +++ b/metamodel/swt.most.statemachine/src-gen/swt/most/statemachine/util/StatemachineAdapterFactory.java @@ -0,0 +1,290 @@ +/** + */ +package swt.most.statemachine.util; + +import org.eclipse.emf.common.notify.Adapter; +import org.eclipse.emf.common.notify.Notifier; + +import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl; + +import org.eclipse.emf.ecore.EObject; + +import swt.most.statemachine.*; + +/** + * <!-- begin-user-doc --> + * The <b>Adapter Factory</b> for the model. + * It provides an adapter <code>createXXX</code> method for each class of the model. + * <!-- end-user-doc --> + * @see swt.most.statemachine.StatemachinePackage + * @generated + */ +public class StatemachineAdapterFactory extends AdapterFactoryImpl { + /** + * The cached model package. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected static StatemachinePackage modelPackage; + + /** + * Creates an instance of the adapter factory. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public StatemachineAdapterFactory() { + if (modelPackage == null) { + modelPackage = StatemachinePackage.eINSTANCE; + } + } + + /** + * Returns whether this factory is applicable for the type of the object. + * <!-- begin-user-doc --> + * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model. + * <!-- end-user-doc --> + * @return whether this factory is applicable for the type of the object. + * @generated + */ + @Override + public boolean isFactoryForType(Object object) { + if (object == modelPackage) { + return true; + } + if (object instanceof EObject) { + return ((EObject) object).eClass().getEPackage() == modelPackage; + } + return false; + } + + /** + * The switch that delegates to the <code>createXXX</code> methods. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected StatemachineSwitch<Adapter> modelSwitch = new StatemachineSwitch<Adapter>() { + @Override + public Adapter caseStateMachine(StateMachine object) { + return createStateMachineAdapter(); + } + + @Override + public Adapter caseState(State object) { + return createStateAdapter(); + } + + @Override + public Adapter caseTransition(Transition object) { + return createTransitionAdapter(); + } + + @Override + public Adapter caseTrigger(Trigger object) { + return createTriggerAdapter(); + } + + @Override + public Adapter caseGuard(Guard object) { + return createGuardAdapter(); + } + + @Override + public Adapter caseAction(Action object) { + return createActionAdapter(); + } + + @Override + public Adapter caseExpression(Expression object) { + return createExpressionAdapter(); + } + + @Override + public Adapter caseInitialState(InitialState object) { + return createInitialStateAdapter(); + } + + @Override + public Adapter caseFinalState(FinalState object) { + return createFinalStateAdapter(); + } + + @Override + public Adapter caseNormalState(NormalState object) { + return createNormalStateAdapter(); + } + + @Override + public Adapter defaultCase(EObject object) { + return createEObjectAdapter(); + } + }; + + /** + * Creates an adapter for the <code>target</code>. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param target the object to adapt. + * @return the adapter for the <code>target</code>. + * @generated + */ + @Override + public Adapter createAdapter(Notifier target) { + return modelSwitch.doSwitch((EObject) target); + } + + /** + * Creates a new adapter for an object of class '{@link swt.most.statemachine.StateMachine <em>State Machine</em>}'. + * <!-- begin-user-doc --> + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * <!-- end-user-doc --> + * @return the new adapter. + * @see swt.most.statemachine.StateMachine + * @generated + */ + public Adapter createStateMachineAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link swt.most.statemachine.State <em>State</em>}'. + * <!-- begin-user-doc --> + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * <!-- end-user-doc --> + * @return the new adapter. + * @see swt.most.statemachine.State + * @generated + */ + public Adapter createStateAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link swt.most.statemachine.Transition <em>Transition</em>}'. + * <!-- begin-user-doc --> + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * <!-- end-user-doc --> + * @return the new adapter. + * @see swt.most.statemachine.Transition + * @generated + */ + public Adapter createTransitionAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link swt.most.statemachine.Trigger <em>Trigger</em>}'. + * <!-- begin-user-doc --> + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * <!-- end-user-doc --> + * @return the new adapter. + * @see swt.most.statemachine.Trigger + * @generated + */ + public Adapter createTriggerAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link swt.most.statemachine.Guard <em>Guard</em>}'. + * <!-- begin-user-doc --> + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * <!-- end-user-doc --> + * @return the new adapter. + * @see swt.most.statemachine.Guard + * @generated + */ + public Adapter createGuardAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link swt.most.statemachine.Action <em>Action</em>}'. + * <!-- begin-user-doc --> + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * <!-- end-user-doc --> + * @return the new adapter. + * @see swt.most.statemachine.Action + * @generated + */ + public Adapter createActionAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link swt.most.statemachine.Expression <em>Expression</em>}'. + * <!-- begin-user-doc --> + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * <!-- end-user-doc --> + * @return the new adapter. + * @see swt.most.statemachine.Expression + * @generated + */ + public Adapter createExpressionAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link swt.most.statemachine.InitialState <em>Initial State</em>}'. + * <!-- begin-user-doc --> + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * <!-- end-user-doc --> + * @return the new adapter. + * @see swt.most.statemachine.InitialState + * @generated + */ + public Adapter createInitialStateAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link swt.most.statemachine.FinalState <em>Final State</em>}'. + * <!-- begin-user-doc --> + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * <!-- end-user-doc --> + * @return the new adapter. + * @see swt.most.statemachine.FinalState + * @generated + */ + public Adapter createFinalStateAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link swt.most.statemachine.NormalState <em>Normal State</em>}'. + * <!-- begin-user-doc --> + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * <!-- end-user-doc --> + * @return the new adapter. + * @see swt.most.statemachine.NormalState + * @generated + */ + public Adapter createNormalStateAdapter() { + return null; + } + + /** + * Creates a new adapter for the default case. + * <!-- begin-user-doc --> + * This default implementation returns null. + * <!-- end-user-doc --> + * @return the new adapter. + * @generated + */ + public Adapter createEObjectAdapter() { + return null; + } + +} //StatemachineAdapterFactory diff --git a/metamodel/swt.most.statemachine/src-gen/swt/most/statemachine/util/StatemachineSwitch.java b/metamodel/swt.most.statemachine/src-gen/swt/most/statemachine/util/StatemachineSwitch.java new file mode 100644 index 0000000..0371d11 --- /dev/null +++ b/metamodel/swt.most.statemachine/src-gen/swt/most/statemachine/util/StatemachineSwitch.java @@ -0,0 +1,322 @@ +/** + */ +package swt.most.statemachine.util; + +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.EPackage; + +import org.eclipse.emf.ecore.util.Switch; + +import swt.most.statemachine.*; + +/** + * <!-- begin-user-doc --> + * The <b>Switch</b> for the model's inheritance hierarchy. + * It supports the call {@link #doSwitch(EObject) doSwitch(object)} + * to invoke the <code>caseXXX</code> method for each class of the model, + * starting with the actual class of the object + * and proceeding up the inheritance hierarchy + * until a non-null result is returned, + * which is the result of the switch. + * <!-- end-user-doc --> + * @see swt.most.statemachine.StatemachinePackage + * @generated + */ +public class StatemachineSwitch<T> extends Switch<T> { + /** + * The cached model package + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected static StatemachinePackage modelPackage; + + /** + * Creates an instance of the switch. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public StatemachineSwitch() { + if (modelPackage == null) { + modelPackage = StatemachinePackage.eINSTANCE; + } + } + + /** + * Checks whether this is a switch for the given package. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param ePackage the package in question. + * @return whether this is a switch for the given package. + * @generated + */ + @Override + protected boolean isSwitchFor(EPackage ePackage) { + return ePackage == modelPackage; + } + + /** + * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the first non-null result returned by a <code>caseXXX</code> call. + * @generated + */ + @Override + protected T doSwitch(int classifierID, EObject theEObject) { + switch (classifierID) { + case StatemachinePackage.STATE_MACHINE: { + StateMachine stateMachine = (StateMachine) theEObject; + T result = caseStateMachine(stateMachine); + if (result == null) + result = defaultCase(theEObject); + return result; + } + case StatemachinePackage.STATE: { + State state = (State) theEObject; + T result = caseState(state); + if (result == null) + result = defaultCase(theEObject); + return result; + } + case StatemachinePackage.TRANSITION: { + Transition transition = (Transition) theEObject; + T result = caseTransition(transition); + if (result == null) + result = defaultCase(theEObject); + return result; + } + case StatemachinePackage.TRIGGER: { + Trigger trigger = (Trigger) theEObject; + T result = caseTrigger(trigger); + if (result == null) + result = caseExpression(trigger); + if (result == null) + result = defaultCase(theEObject); + return result; + } + case StatemachinePackage.GUARD: { + Guard guard = (Guard) theEObject; + T result = caseGuard(guard); + if (result == null) + result = caseExpression(guard); + if (result == null) + result = defaultCase(theEObject); + return result; + } + case StatemachinePackage.ACTION: { + Action action = (Action) theEObject; + T result = caseAction(action); + if (result == null) + result = caseExpression(action); + if (result == null) + result = defaultCase(theEObject); + return result; + } + case StatemachinePackage.EXPRESSION: { + Expression expression = (Expression) theEObject; + T result = caseExpression(expression); + if (result == null) + result = defaultCase(theEObject); + return result; + } + case StatemachinePackage.INITIAL_STATE: { + InitialState initialState = (InitialState) theEObject; + T result = caseInitialState(initialState); + if (result == null) + result = caseState(initialState); + if (result == null) + result = defaultCase(theEObject); + return result; + } + case StatemachinePackage.FINAL_STATE: { + FinalState finalState = (FinalState) theEObject; + T result = caseFinalState(finalState); + if (result == null) + result = caseState(finalState); + if (result == null) + result = defaultCase(theEObject); + return result; + } + case StatemachinePackage.NORMAL_STATE: { + NormalState normalState = (NormalState) theEObject; + T result = caseNormalState(normalState); + if (result == null) + result = caseState(normalState); + if (result == null) + result = defaultCase(theEObject); + return result; + } + default: + return defaultCase(theEObject); + } + } + + /** + * Returns the result of interpreting the object as an instance of '<em>State Machine</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of '<em>State Machine</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseStateMachine(StateMachine object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>State</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of '<em>State</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseState(State object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Transition</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of '<em>Transition</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseTransition(Transition object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Trigger</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of '<em>Trigger</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseTrigger(Trigger object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Guard</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of '<em>Guard</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseGuard(Guard object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Action</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of '<em>Action</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseAction(Action object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Expression</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of '<em>Expression</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseExpression(Expression object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Initial State</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of '<em>Initial State</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseInitialState(InitialState object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Final State</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of '<em>Final State</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseFinalState(FinalState object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Normal State</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of '<em>Normal State</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseNormalState(NormalState object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>EObject</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch, but this is the last case anyway. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of '<em>EObject</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) + * @generated + */ + @Override + public T defaultCase(EObject object) { + return null; + } + +} //StatemachineSwitch diff --git a/metamodel/swt.most.statemachine/src/.gitkeep b/metamodel/swt.most.statemachine/src/.gitkeep new file mode 100644 index 0000000000000000000000000000000000000000..49cc8ef0e116cef009fe0bd72473a964bbd07f9b GIT binary patch literal 6 NcmezWkC%aq0RRg=0u=xN literal 0 HcmV?d00001 diff --git a/model2model/examples-etl/.project b/model2model/examples-etl/.project new file mode 100644 index 0000000..c330d41 --- /dev/null +++ b/model2model/examples-etl/.project @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>examples-etl</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + </buildSpec> + <natures> + <nature>org.eclipse.sirius.nature.modelingproject</nature> + </natures> +</projectDescription> diff --git a/model2model/examples-etl/.settings/org.eclipse.core.resources.prefs b/model2model/examples-etl/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 0000000..99f26c0 --- /dev/null +++ b/model2model/examples-etl/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +encoding/<project>=UTF-8 diff --git a/model2model/examples-etl/petrinets/garagedoor.petrinet b/model2model/examples-etl/petrinets/garagedoor.petrinet new file mode 100644 index 0000000..7164feb --- /dev/null +++ b/model2model/examples-etl/petrinets/garagedoor.petrinet @@ -0,0 +1,81 @@ +<?xml version="1.0" encoding="ASCII"?> +<petrinet:PetriNet xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:petrinet="http://www.example.org/petrinet" name="Garage Door"> + <arcs xsi:type="petrinet:IncomingArc" target="//@elements.6" source="//@elements.0"/> + <arcs xsi:type="petrinet:OutgoingArc" source="//@elements.6" target="//@elements.1"/> + <arcs xsi:type="petrinet:IncomingArc" target="//@elements.7" source="//@elements.1"/> + <arcs xsi:type="petrinet:OutgoingArc" source="//@elements.7" target="//@elements.3"/> + <arcs xsi:type="petrinet:IncomingArc" target="//@elements.7" source="//@elements.8"/> + <arcs xsi:type="petrinet:OutgoingArc" source="//@elements.7" target="//@elements.9"/> + <arcs xsi:type="petrinet:IncomingArc" target="//@elements.10" source="//@elements.3"/> + <arcs xsi:type="petrinet:OutgoingArc" source="//@elements.10" target="//@elements.2"/> + <arcs xsi:type="petrinet:IncomingArc" target="//@elements.10" source="//@elements.11"/> + <arcs xsi:type="petrinet:OutgoingArc" source="//@elements.10" target="//@elements.12"/> + <arcs xsi:type="petrinet:IncomingArc" target="//@elements.13" source="//@elements.2"/> + <arcs xsi:type="petrinet:OutgoingArc" source="//@elements.13" target="//@elements.4"/> + <arcs xsi:type="petrinet:IncomingArc" target="//@elements.13" source="//@elements.14"/> + <arcs xsi:type="petrinet:OutgoingArc" source="//@elements.13" target="//@elements.15"/> + <arcs xsi:type="petrinet:IncomingArc" target="//@elements.16" source="//@elements.4"/> + <arcs xsi:type="petrinet:OutgoingArc" source="//@elements.16" target="//@elements.1"/> + <arcs xsi:type="petrinet:IncomingArc" target="//@elements.16" source="//@elements.17"/> + <arcs xsi:type="petrinet:OutgoingArc" source="//@elements.16" target="//@elements.18"/> + <arcs xsi:type="petrinet:IncomingArc" target="//@elements.19" source="//@elements.4"/> + <arcs xsi:type="petrinet:OutgoingArc" source="//@elements.19" target="//@elements.3"/> + <arcs xsi:type="petrinet:IncomingArc" target="//@elements.19" source="//@elements.20"/> + <arcs xsi:type="petrinet:OutgoingArc" source="//@elements.19" target="//@elements.21"/> + <arcs xsi:type="petrinet:IncomingArc" target="//@elements.22" source="//@elements.3"/> + <arcs xsi:type="petrinet:OutgoingArc" source="//@elements.22" target="//@elements.4"/> + <arcs xsi:type="petrinet:IncomingArc" target="//@elements.22" source="//@elements.23"/> + <arcs xsi:type="petrinet:OutgoingArc" source="//@elements.22" target="//@elements.24"/> + <arcs xsi:type="petrinet:IncomingArc" target="//@elements.25" source="//@elements.1"/> + <arcs xsi:type="petrinet:OutgoingArc" source="//@elements.25" target="//@elements.5"/> + <arcs xsi:type="petrinet:IncomingArc" target="//@elements.25" source="//@elements.26"/> + <arcs xsi:type="petrinet:IncomingArc" target="//@elements.27" source="//@elements.1"/> + <arcs xsi:type="petrinet:OutgoingArc" source="//@elements.27" target="//@elements.1"/> + <arcs xsi:type="petrinet:IncomingArc" target="//@elements.27" source="//@elements.28"/> + <arcs xsi:type="petrinet:IncomingArc" target="//@elements.29" source="//@elements.4"/> + <arcs xsi:type="petrinet:OutgoingArc" source="//@elements.29" target="//@elements.4"/> + <arcs xsi:type="petrinet:IncomingArc" target="//@elements.29" source="//@elements.30"/> + <arcs xsi:type="petrinet:IncomingArc" target="//@elements.31" source="//@elements.2"/> + <arcs xsi:type="petrinet:OutgoingArc" source="//@elements.31" target="//@elements.2"/> + <arcs xsi:type="petrinet:IncomingArc" target="//@elements.31" source="//@elements.32"/> + <arcs xsi:type="petrinet:IncomingArc" target="//@elements.33" source="//@elements.3"/> + <arcs xsi:type="petrinet:OutgoingArc" source="//@elements.33" target="//@elements.3"/> + <arcs xsi:type="petrinet:IncomingArc" target="//@elements.33" source="//@elements.34"/> + <elements xsi:type="petrinet:Place" identifier="initial"> + <token/> + </elements> + <elements xsi:type="petrinet:Place" identifier="Closed"/> + <elements xsi:type="petrinet:Place" identifier="Open"/> + <elements xsi:type="petrinet:Place" identifier="Opening"/> + <elements xsi:type="petrinet:Place" identifier="Closing"/> + <elements xsi:type="petrinet:Place" identifier="final"/> + <elements xsi:type="petrinet:Transition" identifier="default"/> + <elements xsi:type="petrinet:Transition" identifier="openDoor"/> + <elements xsi:type="petrinet:Place" identifier="openDoor"/> + <elements xsi:type="petrinet:Place" identifier="motor.upwards"/> + <elements xsi:type="petrinet:Transition" identifier="default"/> + <elements xsi:type="petrinet:Place" identifier="stopper"/> + <elements xsi:type="petrinet:Place" identifier="motor.stop"/> + <elements xsi:type="petrinet:Transition" identifier="closeDoor"/> + <elements xsi:type="petrinet:Place" identifier="closeDoor"/> + <elements xsi:type="petrinet:Place" identifier="motor.downwards"/> + <elements xsi:type="petrinet:Transition" identifier="default"/> + <elements xsi:type="petrinet:Place" identifier="stopper"/> + <elements xsi:type="petrinet:Place" identifier="motor.stop"/> + <elements xsi:type="petrinet:Transition" identifier="openDoor"/> + <elements xsi:type="petrinet:Place" identifier="openDoor"/> + <elements xsi:type="petrinet:Place" identifier="motor.upwards"/> + <elements xsi:type="petrinet:Transition" identifier="closeDoor"/> + <elements xsi:type="petrinet:Place" identifier="closeDoor"/> + <elements xsi:type="petrinet:Place" identifier="motor.downwards"/> + <elements xsi:type="petrinet:Transition" identifier="default"/> + <elements xsi:type="petrinet:Place" identifier="shutdown"/> + <elements xsi:type="petrinet:Transition" identifier="closeDoor"/> + <elements xsi:type="petrinet:Place" identifier="closeDoor"/> + <elements xsi:type="petrinet:Transition" identifier="closeDoor"/> + <elements xsi:type="petrinet:Place" identifier="closeDoor"/> + <elements xsi:type="petrinet:Transition" identifier="openDoor"/> + <elements xsi:type="petrinet:Place" identifier="openDoor"/> + <elements xsi:type="petrinet:Transition" identifier="openDoor"/> + <elements xsi:type="petrinet:Place" identifier="openDoor"/> +</petrinet:PetriNet> diff --git a/model2model/examples-etl/petrinets/garagedoor.svg b/model2model/examples-etl/petrinets/garagedoor.svg new file mode 100644 index 0000000..37e83b8 --- /dev/null +++ b/model2model/examples-etl/petrinets/garagedoor.svg @@ -0,0 +1,625 @@ +<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" stroke-dasharray="none" shape-rendering="auto" font-family="'Dialog'" width="965" text-rendering="auto" fill-opacity="1" contentScriptType="text/ecmascript" color-interpolation="auto" color-rendering="auto" preserveAspectRatio="xMidYMid meet" font-size="12px" xmlns:diagram="http://www.eclipse.org/sirius/diagram/1.1.0" diagram:semanticRoot="platform:/resource/example/petrinets/garagedoor.petrinet#/" viewBox="0 0 965 748" fill="black" stroke="black" image-rendering="auto" stroke-miterlimit="10" zoomAndPan="magnify" version="1.0" stroke-linecap="square" stroke-linejoin="miter" contentStyleType="text/css" font-style="normal" height="748" stroke-width="1" stroke-dashoffset="0" font-weight="normal" stroke-opacity="1"> + <!--Generated by the Batik Graphics2D SVG Generator--> + <defs id="genericDefs"/> + <g> + <defs id="defs1"> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath1"> + <path d="M18 456 L50 456 L50 488 L18 488 L18 456 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath2"> + <path d="M9 427 L62 427 L62 457 L9 457 L9 427 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath3"> + <path d="M40 466 L62 466 L62 488 L40 488 L40 466 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath4"> + <path d="M198 456 L230 456 L230 488 L198 488 L198 456 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath5"> + <path d="M229 457 L294 457 L294 487 L229 487 L229 457 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath6"> + <path d="M875 456 L907 456 L907 488 L875 488 L875 456 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath7"> + <path d="M906 457 L962 457 L962 487 L906 487 L906 457 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath8"> + <path d="M539 167 L571 167 L571 199 L539 199 L539 167 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath9"> + <path d="M516 138 L599 138 L599 168 L516 168 L516 138 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath10"> + <path d="M539 558 L571 558 L571 590 L539 590 L539 558 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath11"> + <path d="M522 589 L593 589 L593 619 L522 619 L522 589 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath12"> + <path d="M18 345 L50 345 L50 377 L18 377 L18 345 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath13"> + <path d="M15 316 L57 316 L57 346 L15 346 L15 316 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath14"> + <path d="M246 102 L278 102 L278 134 L246 134 L246 102 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath15"> + <path d="M216 73 L313 73 L313 103 L216 103 L216 73 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath16"> + <path d="M371 102 L403 102 L403 134 L371 134 L371 102 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath17"> + <path d="M320 73 L460 73 L460 103 L320 103 L320 73 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath18"> + <path d="M683 102 L715 102 L715 134 L683 134 L683 102 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath19"> + <path d="M664 73 L738 73 L738 103 L664 103 L664 73 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath20"> + <path d="M785 102 L817 102 L817 134 L785 134 L785 102 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath21"> + <path d="M751 73 L855 73 L855 103 L751 103 L751 73 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath22"> + <path d="M808 627 L840 627 L840 659 L808 659 L808 627 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath23"> + <path d="M779 658 L874 658 L874 688 L779 688 L779 658 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath24"> + <path d="M671 627 L703 627 L703 659 L671 659 L671 627 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath25"> + <path d="M607 658 L773 658 L773 688 L607 688 L607 658 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath26"> + <path d="M389 627 L421 627 L421 659 L389 659 L389 627 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath27"> + <path d="M370 658 L444 658 L444 688 L370 688 L370 658 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath28"> + <path d="M257 627 L289 627 L289 659 L257 659 L257 627 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath29"> + <path d="M223 658 L327 658 L327 688 L223 688 L223 658 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath30"> + <path d="M503 389 L535 389 L535 421 L503 421 L503 389 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath31"> + <path d="M412 390 L509 390 L509 420 L412 420 L412 390 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath32"> + <path d="M400 316 L432 316 L432 348 L400 348 L400 316 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath33"> + <path d="M349 347 L489 347 L489 377 L349 377 L349 347 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath34"> + <path d="M575 204 L607 204 L607 236 L575 236 L575 204 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath35"> + <path d="M606 205 L701 205 L701 235 L606 235 L606 205 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath36"> + <path d="M719 274 L751 274 L751 306 L719 306 L719 274 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath37"> + <path d="M655 245 L821 245 L821 275 L655 275 L655 245 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath38"> + <path d="M169 274 L201 274 L201 306 L169 306 L169 274 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath39"> + <path d="M82 274 L175 274 L175 304 L82 304 L82 274 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath40"> + <path d="M269 360 L301 360 L301 392 L269 392 L269 360 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath41"> + <path d="M240 331 L335 331 L335 361 L240 361 L240 331 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath42"> + <path d="M671 702 L703 702 L703 734 L671 734 L671 702 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath43"> + <path d="M702 704 L797 704 L797 734 L702 734 L702 704 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath44"> + <path d="M808 360 L840 360 L840 392 L808 392 L808 360 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath45"> + <path d="M778 331 L875 331 L875 361 L778 361 L778 331 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath46"> + <path d="M437 38 L469 38 L469 70 L437 70 L437 38 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath47"> + <path d="M407 9 L504 9 L504 39 L407 39 L407 9 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath48"> + <path d="M113 441 L135 441 L135 503 L113 503 L113 441 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath49"> + <path d="M93 502 L160 502 L160 532 L93 532 L93 502 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath50"> + <path d="M322 152 L344 152 L344 214 L322 214 L322 152 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath51"> + <path d="M287 213 L384 213 L384 243 L287 243 L287 213 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath52"> + <path d="M737 152 L759 152 L759 214 L737 214 L737 152 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath53"> + <path d="M717 213 L784 213 L784 243 L717 243 L717 213 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath54"> + <path d="M737 543 L759 543 L759 605 L737 605 L737 543 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath55"> + <path d="M703 604 L798 604 L798 634 L703 634 L703 604 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath56"> + <path d="M322 543 L344 543 L344 605 L322 605 L322 543 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath57"> + <path d="M302 604 L369 604 L369 634 L302 634 L302 604 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath58"> + <path d="M484 274 L506 274 L506 336 L484 336 L484 274 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath59"> + <path d="M449 245 L546 245 L546 275 L449 275 L449 245 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath60"> + <path d="M611 274 L633 274 L633 336 L611 336 L611 274 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath61"> + <path d="M577 335 L672 335 L672 365 L577 365 L577 335 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath62"> + <path d="M137 330 L159 330 L159 392 L137 392 L137 330 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath63"> + <path d="M117 391 L184 391 L184 421 L117 421 L117 391 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath64"> + <path d="M352 403 L374 403 L374 465 L352 465 L352 403 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath65"> + <path d="M318 464 L413 464 L413 494 L318 494 L318 464 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath66"> + <path d="M539 648 L561 648 L561 710 L539 710 L539 648 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath67"> + <path d="M505 709 L600 709 L600 739 L505 739 L505 709 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath68"> + <path d="M748 403 L770 403 L770 465 L748 465 L748 403 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath69"> + <path d="M713 464 L810 464 L810 494 L713 494 L713 464 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath70"> + <path d="M544 38 L566 38 L566 100 L544 100 L544 38 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath71"> + <path d="M509 9 L606 9 L606 39 L509 39 L509 9 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath72"> + <path d="M-1 -1 L966 -1 L966 749 L-1 749 L-1 -1 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath73"> + <path d="M105 470 L117 470 L117 481 L105 481 L105 470 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath74"> + <path d="M314 177 L326 177 L326 188 L314 188 L314 177 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath75"> + <path d="M314 160 L326 160 L326 171 L314 171 L314 160 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath76"> + <path d="M729 178 L741 178 L741 189 L729 189 L729 178 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath77"> + <path d="M729 160 L741 160 L741 171 L729 171 L729 160 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath78"> + <path d="M756 566 L768 566 L768 577 L756 577 L756 566 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath79"> + <path d="M756 584 L768 584 L768 595 L756 595 L756 584 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath80"> + <path d="M341 565 L353 565 L353 576 L341 576 L341 565 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath81"> + <path d="M341 584 L353 584 L353 595 L341 595 L341 584 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath82"> + <path d="M503 302 L515 302 L515 313 L503 313 L503 302 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath83"> + <path d="M503 320 L515 320 L515 331 L503 331 L503 320 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath84"> + <path d="M603 300 L615 300 L615 311 L603 311 L603 300 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath85"> + <path d="M603 284 L615 284 L615 295 L603 295 L603 284 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath86"> + <path d="M156 356 L168 356 L168 367 L156 367 L156 356 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath87"> + <path d="M156 338 L168 338 L168 349 L156 349 L156 338 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath88"> + <path d="M344 434 L356 434 L356 445 L344 445 L344 434 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath89"> + <path d="M344 415 L356 415 L356 426 L344 426 L344 415 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath90"> + <path d="M531 674 L543 674 L543 685 L531 685 L531 674 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath91"> + <path d="M558 692 L570 692 L570 703 L558 703 L558 692 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath92"> + <path d="M767 428 L779 428 L779 439 L767 439 L767 428 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath93"> + <path d="M767 410 L779 410 L779 421 L767 421 L767 410 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath94"> + <path d="M536 64 L548 64 L548 75 L536 75 L536 64 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath95"> + <path d="M536 48 L548 48 L548 59 L536 59 L536 48 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath96"> + <path d="M190 470 L202 470 L202 481 L190 481 L190 470 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath97"> + <path d="M531 178 L543 178 L543 189 L531 189 L531 178 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath98"> + <path d="M382 131 L393 131 L393 143 L382 143 L382 131 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath99"> + <path d="M886 448 L897 448 L897 460 L886 460 L886 448 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath100"> + <path d="M793 131 L804 131 L804 143 L793 143 L793 131 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath101"> + <path d="M568 566 L580 566 L580 577 L568 577 L568 566 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath102"> + <path d="M682 619 L693 619 L693 631 L682 631 L682 619 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath103"> + <path d="M211 485 L222 485 L222 497 L211 497 L211 485 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath104"> + <path d="M268 619 L279 619 L279 631 L268 631 L268 619 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath105"> + <path d="M541 196 L552 196 L552 208 L541 208 L541 196 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath106"> + <path d="M429 321 L441 321 L441 332 L429 332 L429 321 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath107"> + <path d="M559 550 L570 550 L570 562 L559 562 L559 550 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath108"> + <path d="M711 284 L723 284 L723 295 L711 295 L711 284 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath109"> + <path d="M47 356 L59 356 L59 367 L47 367 L47 356 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath110"> + <path d="M223 485 L234 485 L234 497 L223 497 L223 485 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath111"> + <path d="M568 578 L580 578 L580 589 L568 589 L568 578 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath112"> + <path d="M877 485 L888 485 L888 497 L877 497 L877 485 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath113"> + <path d="M568 166 L580 166 L580 177 L568 177 L568 166 Z"/> + </clipPath> + </defs> + <g font-size="15px" fill="rgb(255,245,181)" font-family="'Segoe UI'" stroke-linejoin="round" stroke="rgb(255,245,181)" stroke-width="0" stroke-miterlimit="0"> + <circle r="14" clip-path="url(#clipPath1)" cx="33" cy="471" stroke="none"/> + </g> + <g font-size="15px" stroke-width="1.1" font-family="'Segoe UI'" stroke-linecap="butt"> + <circle fill="none" r="14.5" clip-path="url(#clipPath1)" cx="33.5" cy="471.5"/> + <text x="10" xml:space="preserve" font-size="20px" y="450" clip-path="url(#clipPath2)" stroke="none">initial</text> + <circle r="9" clip-path="url(#clipPath3)" cx="50" cy="476" stroke="none"/> + <circle fill="none" stroke-width="0.1" r="9.5" clip-path="url(#clipPath3)" cx="50.5" cy="476.5"/> + <circle clip-path="url(#clipPath4)" fill="rgb(255,245,181)" r="14" cx="213" cy="471" stroke="none" stroke-width="0.1"/> + <circle fill="none" r="14.5" clip-path="url(#clipPath4)" cx="213.5" cy="471.5"/> + <text x="230" xml:space="preserve" font-size="20px" y="480" clip-path="url(#clipPath5)" stroke="none">Closed</text> + <circle fill="rgb(255,245,181)" r="14" clip-path="url(#clipPath6)" cx="890" cy="471" stroke="none"/> + <circle fill="none" r="14.5" clip-path="url(#clipPath6)" cx="890.5" cy="471.5"/> + <text x="907" xml:space="preserve" font-size="20px" y="480" clip-path="url(#clipPath7)" stroke="none">Open</text> + <circle fill="rgb(255,245,181)" r="14" clip-path="url(#clipPath8)" cx="554" cy="182" stroke="none"/> + <circle fill="none" r="14.5" clip-path="url(#clipPath8)" cx="554.5" cy="182.5"/> + <text x="517" xml:space="preserve" font-size="20px" y="161" clip-path="url(#clipPath9)" stroke="none">Opening</text> + <circle fill="rgb(255,245,181)" r="14" clip-path="url(#clipPath10)" cx="554" cy="573" stroke="none"/> + <circle fill="none" r="14.5" clip-path="url(#clipPath10)" cx="554.5" cy="573.5"/> + <text x="523" xml:space="preserve" font-size="20px" y="612" clip-path="url(#clipPath11)" stroke="none">Closing</text> + <circle fill="rgb(255,245,181)" r="14" clip-path="url(#clipPath12)" cx="33" cy="360" stroke="none"/> + <circle fill="none" r="14.5" clip-path="url(#clipPath12)" cx="33.5" cy="360.5"/> + <text x="16" xml:space="preserve" font-size="20px" y="339" clip-path="url(#clipPath13)" stroke="none">final</text> + <circle fill="rgb(255,245,181)" r="14" clip-path="url(#clipPath14)" cx="261" cy="117" stroke="none"/> + <circle fill="none" r="14.5" clip-path="url(#clipPath14)" cx="261.5" cy="117.5"/> + <text x="217" xml:space="preserve" font-size="20px" y="96" clip-path="url(#clipPath15)" stroke="none">openDoor</text> + <circle fill="rgb(255,245,181)" r="14" clip-path="url(#clipPath16)" cx="386" cy="117" stroke="none"/> + <circle fill="none" r="14.5" clip-path="url(#clipPath16)" cx="386.5" cy="117.5"/> + <text x="321" xml:space="preserve" font-size="20px" y="96" clip-path="url(#clipPath17)" stroke="none">motor.upwards</text> + <circle fill="rgb(255,245,181)" r="14" clip-path="url(#clipPath18)" cx="698" cy="117" stroke="none"/> + <circle fill="none" r="14.5" clip-path="url(#clipPath18)" cx="698.5" cy="117.5"/> + <text x="665" xml:space="preserve" font-size="20px" y="96" clip-path="url(#clipPath19)" stroke="none">stopper</text> + <circle fill="rgb(255,245,181)" r="14" clip-path="url(#clipPath20)" cx="800" cy="117" stroke="none"/> + <circle fill="none" r="14.5" clip-path="url(#clipPath20)" cx="800.5" cy="117.5"/> + <text x="752" xml:space="preserve" font-size="20px" y="96" clip-path="url(#clipPath21)" stroke="none">motor.stop</text> + <circle fill="rgb(255,245,181)" r="14" clip-path="url(#clipPath22)" cx="823" cy="642" stroke="none"/> + <circle fill="none" r="14.5" clip-path="url(#clipPath22)" cx="823.5" cy="642.5"/> + <text x="780" xml:space="preserve" font-size="20px" y="681" clip-path="url(#clipPath23)" stroke="none">closeDoor</text> + <circle fill="rgb(255,245,181)" r="14" clip-path="url(#clipPath24)" cx="686" cy="642" stroke="none"/> + <circle fill="none" r="14.5" clip-path="url(#clipPath24)" cx="686.5" cy="642.5"/> + <text x="608" xml:space="preserve" font-size="20px" y="681" clip-path="url(#clipPath25)" stroke="none">motor.downwards</text> + <circle fill="rgb(255,245,181)" r="14" clip-path="url(#clipPath26)" cx="404" cy="642" stroke="none"/> + <circle fill="none" r="14.5" clip-path="url(#clipPath26)" cx="404.5" cy="642.5"/> + <text x="371" xml:space="preserve" font-size="20px" y="681" clip-path="url(#clipPath27)" stroke="none">stopper</text> + <circle fill="rgb(255,245,181)" r="14" clip-path="url(#clipPath28)" cx="272" cy="642" stroke="none"/> + <circle fill="none" r="14.5" clip-path="url(#clipPath28)" cx="272.5" cy="642.5"/> + <text x="224" xml:space="preserve" font-size="20px" y="681" clip-path="url(#clipPath29)" stroke="none">motor.stop</text> + <circle fill="rgb(255,245,181)" r="14" clip-path="url(#clipPath30)" cx="518" cy="404" stroke="none"/> + <circle fill="none" r="14.5" clip-path="url(#clipPath30)" cx="518.5" cy="404.5"/> + <text x="413" xml:space="preserve" font-size="20px" y="413" clip-path="url(#clipPath31)" stroke="none">openDoor</text> + <circle fill="rgb(255,245,181)" r="14" clip-path="url(#clipPath32)" cx="415" cy="331" stroke="none"/> + <circle fill="none" r="14.5" clip-path="url(#clipPath32)" cx="415.5" cy="331.5"/> + <text x="350" xml:space="preserve" font-size="20px" y="370" clip-path="url(#clipPath33)" stroke="none">motor.upwards</text> + <circle fill="rgb(255,245,181)" r="14" clip-path="url(#clipPath34)" cx="590" cy="219" stroke="none"/> + <circle fill="none" r="14.5" clip-path="url(#clipPath34)" cx="590.5" cy="219.5"/> + <text x="607" xml:space="preserve" font-size="20px" y="228" clip-path="url(#clipPath35)" stroke="none">closeDoor</text> + <circle fill="rgb(255,245,181)" r="14" clip-path="url(#clipPath36)" cx="734" cy="289" stroke="none"/> + <circle fill="none" r="14.5" clip-path="url(#clipPath36)" cx="734.5" cy="289.5"/> + <text x="656" xml:space="preserve" font-size="20px" y="268" clip-path="url(#clipPath37)" stroke="none">motor.downwards</text> + <circle fill="rgb(255,245,181)" r="14" clip-path="url(#clipPath38)" cx="184" cy="289" stroke="none"/> + <circle fill="none" r="14.5" clip-path="url(#clipPath38)" cx="184.5" cy="289.5"/> + <text x="83" xml:space="preserve" font-size="20px" y="297" clip-path="url(#clipPath39)" stroke="none">shutdown</text> + <circle fill="rgb(255,245,181)" r="14" clip-path="url(#clipPath40)" cx="284" cy="375" stroke="none"/> + <circle fill="none" r="14.5" clip-path="url(#clipPath40)" cx="284.5" cy="375.5"/> + <text x="241" xml:space="preserve" font-size="20px" y="354" clip-path="url(#clipPath41)" stroke="none">closeDoor</text> + <circle fill="rgb(255,245,181)" r="14" clip-path="url(#clipPath42)" cx="686" cy="717" stroke="none"/> + <circle fill="none" r="14.5" clip-path="url(#clipPath42)" cx="686.5" cy="717.5"/> + <text x="703" xml:space="preserve" font-size="20px" y="727" clip-path="url(#clipPath43)" stroke="none">closeDoor</text> + <circle fill="rgb(255,245,181)" r="14" clip-path="url(#clipPath44)" cx="823" cy="375" stroke="none"/> + <circle fill="none" r="14.5" clip-path="url(#clipPath44)" cx="823.5" cy="375.5"/> + <text x="779" xml:space="preserve" font-size="20px" y="354" clip-path="url(#clipPath45)" stroke="none">openDoor</text> + <circle fill="rgb(255,245,181)" r="14" clip-path="url(#clipPath46)" cx="452" cy="53" stroke="none"/> + <circle fill="none" r="14.5" clip-path="url(#clipPath46)" cx="452.5" cy="53.5"/> + <text x="408" xml:space="preserve" font-size="20px" y="32" clip-path="url(#clipPath47)" stroke="none">openDoor</text> + <rect x="114" y="442" clip-path="url(#clipPath48)" fill="rgb(253,206,137)" width="20" height="60" stroke="none"/> + <rect fill="none" x="114" width="19" height="59" y="442" clip-path="url(#clipPath48)"/> + <text x="94" xml:space="preserve" font-size="20px" y="525" clip-path="url(#clipPath49)" stroke="none">default</text> + <rect x="323" y="153" clip-path="url(#clipPath50)" fill="rgb(253,206,137)" width="20" height="60" stroke="none"/> + <rect fill="none" x="323" width="19" height="59" y="153" clip-path="url(#clipPath50)"/> + <text x="288" xml:space="preserve" font-size="20px" y="236" clip-path="url(#clipPath51)" stroke="none">openDoor</text> + <rect x="738" y="153" clip-path="url(#clipPath52)" fill="rgb(253,206,137)" width="20" height="60" stroke="none"/> + <rect fill="none" x="738" width="19" height="59" y="153" clip-path="url(#clipPath52)"/> + <text x="718" xml:space="preserve" font-size="20px" y="236" clip-path="url(#clipPath53)" stroke="none">default</text> + <rect x="738" y="544" clip-path="url(#clipPath54)" fill="rgb(253,206,137)" width="20" height="60" stroke="none"/> + <rect fill="none" x="738" width="19" height="59" y="544" clip-path="url(#clipPath54)"/> + <text x="704" xml:space="preserve" font-size="20px" y="627" clip-path="url(#clipPath55)" stroke="none">closeDoor</text> + <rect x="323" y="544" clip-path="url(#clipPath56)" fill="rgb(253,206,137)" width="20" height="60" stroke="none"/> + <rect fill="none" x="323" width="19" height="59" y="544" clip-path="url(#clipPath56)"/> + <text x="303" xml:space="preserve" font-size="20px" y="627" clip-path="url(#clipPath57)" stroke="none">default</text> + <rect x="485" y="275" clip-path="url(#clipPath58)" fill="rgb(253,206,137)" width="20" height="60" stroke="none"/> + <rect fill="none" x="485" width="19" height="59" y="275" clip-path="url(#clipPath58)"/> + <text x="450" xml:space="preserve" font-size="20px" y="268" clip-path="url(#clipPath59)" stroke="none">openDoor</text> + <rect x="612" y="275" clip-path="url(#clipPath60)" fill="rgb(253,206,137)" width="20" height="60" stroke="none"/> + <rect fill="none" x="612" width="19" height="59" y="275" clip-path="url(#clipPath60)"/> + <text x="578" xml:space="preserve" font-size="20px" y="358" clip-path="url(#clipPath61)" stroke="none">closeDoor</text> + <rect x="138" y="331" clip-path="url(#clipPath62)" fill="rgb(253,206,137)" width="20" height="60" stroke="none"/> + <rect fill="none" x="138" width="19" height="59" y="331" clip-path="url(#clipPath62)"/> + <text x="118" xml:space="preserve" font-size="20px" y="414" clip-path="url(#clipPath63)" stroke="none">default</text> + <rect x="353" y="404" clip-path="url(#clipPath64)" fill="rgb(253,206,137)" width="20" height="60" stroke="none"/> + <rect fill="none" x="353" width="19" height="59" y="404" clip-path="url(#clipPath64)"/> + <text x="319" xml:space="preserve" font-size="20px" y="487" clip-path="url(#clipPath65)" stroke="none">closeDoor</text> + <rect x="540" y="649" clip-path="url(#clipPath66)" fill="rgb(253,206,137)" width="20" height="60" stroke="none"/> + <rect fill="none" x="540" width="19" height="59" y="649" clip-path="url(#clipPath66)"/> + <text x="506" xml:space="preserve" font-size="20px" y="732" clip-path="url(#clipPath67)" stroke="none">closeDoor</text> + <rect x="749" y="404" clip-path="url(#clipPath68)" fill="rgb(253,206,137)" width="20" height="60" stroke="none"/> + <rect fill="none" x="749" width="19" height="59" y="404" clip-path="url(#clipPath68)"/> + <text x="714" xml:space="preserve" font-size="20px" y="487" clip-path="url(#clipPath69)" stroke="none">openDoor</text> + <rect x="545" y="39" clip-path="url(#clipPath70)" fill="rgb(253,206,137)" width="20" height="60" stroke="none"/> + <rect fill="none" x="545" width="19" height="59" y="39" clip-path="url(#clipPath70)"/> + <text x="510" xml:space="preserve" font-size="20px" y="32" clip-path="url(#clipPath71)" stroke="none">openDoor</text> + <line clip-path="url(#clipPath72)" fill="none" x1="49" x2="114" y1="475" y2="475" stroke-width="2.1"/> + <line clip-path="url(#clipPath73)" fill="none" x1="107" x2="114" y1="478" y2="475" stroke-width="2.1"/> + <line clip-path="url(#clipPath73)" fill="none" x1="114" x2="107" y1="475" y2="472" stroke-width="2.1"/> + <line clip-path="url(#clipPath72)" fill="none" x1="216" x2="216" y1="457" y2="182" stroke-width="2.1"/> + <line clip-path="url(#clipPath72)" fill="none" x1="216" x2="323" y1="182" y2="182" stroke-width="2.1"/> + <line clip-path="url(#clipPath74)" fill="none" x1="316" x2="323" y1="185" y2="182" stroke-width="2.1"/> + <line clip-path="url(#clipPath74)" fill="none" x1="323" x2="316" y1="182" y2="179" stroke-width="2.1"/> + <line clip-path="url(#clipPath72)" fill="none" x1="262" x2="262" y1="133" y2="165" stroke-width="2.1"/> + <line clip-path="url(#clipPath72)" fill="none" x1="262" x2="323" y1="165" y2="165" stroke-width="2.1"/> + <line clip-path="url(#clipPath75)" fill="none" x1="316" x2="323" y1="168" y2="165" stroke-width="2.1"/> + <line clip-path="url(#clipPath75)" fill="none" x1="323" x2="316" y1="165" y2="162" stroke-width="2.1"/> + <line clip-path="url(#clipPath72)" fill="none" x1="570" x2="738" y1="183" y2="183" stroke-width="2.1"/> + <line clip-path="url(#clipPath76)" fill="none" x1="731" x2="738" y1="186" y2="183" stroke-width="2.1"/> + <line clip-path="url(#clipPath76)" fill="none" x1="738" x2="731" y1="183" y2="180" stroke-width="2.1"/> + <line clip-path="url(#clipPath72)" fill="none" x1="699" x2="699" y1="133" y2="165" stroke-width="2.1"/> + <line clip-path="url(#clipPath72)" fill="none" x1="699" x2="738" y1="165" y2="165" stroke-width="2.1"/> + <line clip-path="url(#clipPath77)" fill="none" x1="731" x2="738" y1="168" y2="165" stroke-width="2.1"/> + <line clip-path="url(#clipPath77)" fill="none" x1="738" x2="731" y1="165" y2="162" stroke-width="2.1"/> + <line clip-path="url(#clipPath72)" fill="none" x1="894" x2="894" y1="487" y2="571" stroke-width="2.1"/> + <line clip-path="url(#clipPath72)" fill="none" x1="894" x2="758" y1="571" y2="571" stroke-width="2.1"/> + <line clip-path="url(#clipPath78)" fill="none" x1="765" x2="758" y1="568" y2="571" stroke-width="2.1"/> + <line clip-path="url(#clipPath78)" fill="none" x1="758" x2="765" y1="571" y2="574" stroke-width="2.1"/> + <line clip-path="url(#clipPath72)" fill="none" x1="824" x2="824" y1="628" y2="589" stroke-width="2.1"/> + <line clip-path="url(#clipPath72)" fill="none" x1="824" x2="758" y1="589" y2="589" stroke-width="2.1"/> + <line clip-path="url(#clipPath79)" fill="none" x1="765" x2="758" y1="586" y2="589" stroke-width="2.1"/> + <line clip-path="url(#clipPath79)" fill="none" x1="758" x2="765" y1="589" y2="592" stroke-width="2.1"/> + <line clip-path="url(#clipPath72)" fill="none" x1="540" x2="343" y1="570" y2="570" stroke-width="2.1"/> + <line clip-path="url(#clipPath80)" fill="none" x1="350" x2="343" y1="567" y2="570" stroke-width="2.1"/> + <line clip-path="url(#clipPath80)" fill="none" x1="343" x2="350" y1="570" y2="573" stroke-width="2.1"/> + <line clip-path="url(#clipPath72)" fill="none" x1="405" x2="405" y1="628" y2="589" stroke-width="2.1"/> + <line clip-path="url(#clipPath72)" fill="none" x1="405" x2="343" y1="589" y2="589" stroke-width="2.1"/> + <line clip-path="url(#clipPath81)" fill="none" x1="350" x2="343" y1="586" y2="589" stroke-width="2.1"/> + <line clip-path="url(#clipPath81)" fill="none" x1="343" x2="350" y1="589" y2="592" stroke-width="2.1"/> + <line clip-path="url(#clipPath72)" fill="none" x1="546" x2="546" y1="559" y2="307" stroke-width="2.1"/> + <line clip-path="url(#clipPath72)" fill="none" x1="546" x2="505" y1="307" y2="307" stroke-width="2.1"/> + <line clip-path="url(#clipPath82)" fill="none" x1="512" x2="505" y1="304" y2="307" stroke-width="2.1"/> + <line clip-path="url(#clipPath82)" fill="none" x1="505" x2="512" y1="307" y2="310" stroke-width="2.1"/> + <line clip-path="url(#clipPath72)" fill="none" x1="522" x2="522" y1="390" y2="325" stroke-width="2.1"/> + <line clip-path="url(#clipPath72)" fill="none" x1="522" x2="505" y1="325" y2="325" stroke-width="2.1"/> + <line clip-path="url(#clipPath83)" fill="none" x1="512" x2="505" y1="322" y2="325" stroke-width="2.1"/> + <line clip-path="url(#clipPath83)" fill="none" x1="505" x2="512" y1="325" y2="328" stroke-width="2.1"/> + <line clip-path="url(#clipPath72)" fill="none" x1="564" x2="564" y1="198" y2="305" stroke-width="2.1"/> + <line clip-path="url(#clipPath72)" fill="none" x1="564" x2="612" y1="305" y2="305" stroke-width="2.1"/> + <line clip-path="url(#clipPath84)" fill="none" x1="605" x2="612" y1="308" y2="305" stroke-width="2.1"/> + <line clip-path="url(#clipPath84)" fill="none" x1="612" x2="605" y1="305" y2="302" stroke-width="2.1"/> + <line clip-path="url(#clipPath72)" fill="none" x1="588" x2="588" y1="235" y2="289" stroke-width="2.1"/> + <line clip-path="url(#clipPath72)" fill="none" x1="588" x2="612" y1="289" y2="289" stroke-width="2.1"/> + <line clip-path="url(#clipPath85)" fill="none" x1="605" x2="612" y1="292" y2="289" stroke-width="2.1"/> + <line clip-path="url(#clipPath85)" fill="none" x1="612" x2="605" y1="289" y2="286" stroke-width="2.1"/> + <line clip-path="url(#clipPath72)" fill="none" x1="204" x2="204" y1="457" y2="361" stroke-width="2.1"/> + <line clip-path="url(#clipPath72)" fill="none" x1="204" x2="158" y1="361" y2="361" stroke-width="2.1"/> + <line clip-path="url(#clipPath86)" fill="none" x1="165" x2="158" y1="358" y2="361" stroke-width="2.1"/> + <line clip-path="url(#clipPath86)" fill="none" x1="158" x2="165" y1="361" y2="364" stroke-width="2.1"/> + <line clip-path="url(#clipPath72)" fill="none" x1="185" x2="185" y1="305" y2="343" stroke-width="2.1"/> + <line clip-path="url(#clipPath72)" fill="none" x1="185" x2="158" y1="343" y2="343" stroke-width="2.1"/> + <line clip-path="url(#clipPath87)" fill="none" x1="165" x2="158" y1="340" y2="343" stroke-width="2.1"/> + <line clip-path="url(#clipPath87)" fill="none" x1="158" x2="165" y1="343" y2="346" stroke-width="2.1"/> + <line clip-path="url(#clipPath72)" fill="none" x1="229" x2="229" y1="457" y2="439" stroke-width="2.1"/> + <line clip-path="url(#clipPath72)" fill="none" x1="229" x2="353" y1="439" y2="439" stroke-width="2.1"/> + <line clip-path="url(#clipPath88)" fill="none" x1="346" x2="353" y1="442" y2="439" stroke-width="2.1"/> + <line clip-path="url(#clipPath88)" fill="none" x1="353" x2="346" y1="439" y2="436" stroke-width="2.1"/> + <line clip-path="url(#clipPath72)" fill="none" x1="285" x2="285" y1="391" y2="420" stroke-width="2.1"/> + <line clip-path="url(#clipPath72)" fill="none" x1="285" x2="353" y1="420" y2="420" stroke-width="2.1"/> + <line clip-path="url(#clipPath89)" fill="none" x1="346" x2="353" y1="423" y2="420" stroke-width="2.1"/> + <line clip-path="url(#clipPath89)" fill="none" x1="353" x2="346" y1="420" y2="417" stroke-width="2.1"/> + <line clip-path="url(#clipPath72)" fill="none" x1="540" x2="516" y1="583" y2="583" stroke-width="2.1"/> + <line clip-path="url(#clipPath72)" fill="none" x1="516" x2="516" y1="583" y2="679" stroke-width="2.1"/> + <line clip-path="url(#clipPath72)" fill="none" x1="516" x2="540" y1="679" y2="679" stroke-width="2.1"/> + <line clip-path="url(#clipPath90)" fill="none" x1="533" x2="540" y1="682" y2="679" stroke-width="2.1"/> + <line clip-path="url(#clipPath90)" fill="none" x1="540" x2="533" y1="679" y2="676" stroke-width="2.1"/> + <line clip-path="url(#clipPath72)" fill="none" x1="672" x2="612" y1="714" y2="714" stroke-width="2.1"/> + <line clip-path="url(#clipPath72)" fill="none" x1="612" x2="612" y1="714" y2="697" stroke-width="2.1"/> + <line clip-path="url(#clipPath72)" fill="none" x1="612" x2="560" y1="697" y2="697" stroke-width="2.1"/> + <line clip-path="url(#clipPath91)" fill="none" x1="567" x2="560" y1="694" y2="697" stroke-width="2.1"/> + <line clip-path="url(#clipPath91)" fill="none" x1="560" x2="567" y1="697" y2="700" stroke-width="2.1"/> + <line clip-path="url(#clipPath72)" fill="none" x1="882" x2="882" y1="457" y2="433" stroke-width="2.1"/> + <line clip-path="url(#clipPath72)" fill="none" x1="882" x2="769" y1="433" y2="433" stroke-width="2.1"/> + <line clip-path="url(#clipPath92)" fill="none" x1="776" x2="769" y1="430" y2="433" stroke-width="2.1"/> + <line clip-path="url(#clipPath92)" fill="none" x1="769" x2="776" y1="433" y2="436" stroke-width="2.1"/> + <line clip-path="url(#clipPath72)" fill="none" x1="823" x2="823" y1="391" y2="415" stroke-width="2.1"/> + <line clip-path="url(#clipPath72)" fill="none" x1="823" x2="769" y1="415" y2="415" stroke-width="2.1"/> + <line clip-path="url(#clipPath93)" fill="none" x1="776" x2="769" y1="412" y2="415" stroke-width="2.1"/> + <line clip-path="url(#clipPath93)" fill="none" x1="769" x2="776" y1="415" y2="418" stroke-width="2.1"/> + <line clip-path="url(#clipPath72)" fill="none" x1="540" x2="504" y1="171" y2="171" stroke-width="2.1"/> + <line clip-path="url(#clipPath72)" fill="none" x1="504" x2="504" y1="171" y2="69" stroke-width="2.1"/> + <line clip-path="url(#clipPath72)" fill="none" x1="504" x2="545" y1="69" y2="69" stroke-width="2.1"/> + <line clip-path="url(#clipPath94)" fill="none" x1="538" x2="545" y1="72" y2="69" stroke-width="2.1"/> + <line clip-path="url(#clipPath94)" fill="none" x1="545" x2="538" y1="69" y2="66" stroke-width="2.1"/> + <line clip-path="url(#clipPath72)" fill="none" x1="468" x2="545" y1="53" y2="53" stroke-width="2.1"/> + <line clip-path="url(#clipPath95)" fill="none" x1="538" x2="545" y1="56" y2="53" stroke-width="2.1"/> + <line clip-path="url(#clipPath95)" fill="none" x1="545" x2="538" y1="53" y2="50" stroke-width="2.1"/> + <line clip-path="url(#clipPath72)" fill="none" x1="134" x2="199" y1="475" y2="475" stroke-width="2.1"/> + <line clip-path="url(#clipPath96)" fill="none" x1="192" x2="199" y1="478" y2="475" stroke-width="2.1"/> + <line clip-path="url(#clipPath96)" fill="none" x1="199" x2="192" y1="475" y2="472" stroke-width="2.1"/> + <line clip-path="url(#clipPath72)" fill="none" x1="343" x2="540" y1="183" y2="183" stroke-width="2.1"/> + <line clip-path="url(#clipPath97)" fill="none" x1="533" x2="540" y1="186" y2="183" stroke-width="2.1"/> + <line clip-path="url(#clipPath97)" fill="none" x1="540" x2="533" y1="183" y2="180" stroke-width="2.1"/> + <line clip-path="url(#clipPath72)" fill="none" x1="343" x2="387" y1="165" y2="165" stroke-width="2.1"/> + <line clip-path="url(#clipPath72)" fill="none" x1="387" x2="387" y1="165" y2="133" stroke-width="2.1"/> + <line clip-path="url(#clipPath98)" fill="none" x1="390" x2="387" y1="140" y2="133" stroke-width="2.1"/> + <line clip-path="url(#clipPath98)" fill="none" x1="387" x2="384" y1="133" y2="140" stroke-width="2.1"/> + <line clip-path="url(#clipPath72)" fill="none" x1="758" x2="891" y1="183" y2="183" stroke-width="2.1"/> + <line clip-path="url(#clipPath72)" fill="none" x1="891" x2="891" y1="183" y2="457" stroke-width="2.1"/> + <line clip-path="url(#clipPath99)" fill="none" x1="888" x2="891" y1="450" y2="457" stroke-width="2.1"/> + <line clip-path="url(#clipPath99)" fill="none" x1="891" x2="894" y1="457" y2="450" stroke-width="2.1"/> + <line clip-path="url(#clipPath72)" fill="none" x1="758" x2="798" y1="165" y2="165" stroke-width="2.1"/> + <line clip-path="url(#clipPath72)" fill="none" x1="798" x2="798" y1="165" y2="133" stroke-width="2.1"/> + <line clip-path="url(#clipPath100)" fill="none" x1="801" x2="798" y1="140" y2="133" stroke-width="2.1"/> + <line clip-path="url(#clipPath100)" fill="none" x1="798" x2="795" y1="133" y2="140" stroke-width="2.1"/> + <line clip-path="url(#clipPath72)" fill="none" x1="738" x2="570" y1="571" y2="571" stroke-width="2.1"/> + <line clip-path="url(#clipPath101)" fill="none" x1="577" x2="570" y1="568" y2="571" stroke-width="2.1"/> + <line clip-path="url(#clipPath101)" fill="none" x1="570" x2="577" y1="571" y2="574" stroke-width="2.1"/> + <line clip-path="url(#clipPath72)" fill="none" x1="738" x2="687" y1="589" y2="589" stroke-width="2.1"/> + <line clip-path="url(#clipPath72)" fill="none" x1="687" x2="687" y1="589" y2="628" stroke-width="2.1"/> + <line clip-path="url(#clipPath102)" fill="none" x1="684" x2="687" y1="621" y2="628" stroke-width="2.1"/> + <line clip-path="url(#clipPath102)" fill="none" x1="687" x2="690" y1="628" y2="621" stroke-width="2.1"/> + <line clip-path="url(#clipPath72)" fill="none" x1="323" x2="216" y1="570" y2="570" stroke-width="2.1"/> + <line clip-path="url(#clipPath72)" fill="none" x1="216" x2="216" y1="570" y2="487" stroke-width="2.1"/> + <line clip-path="url(#clipPath103)" fill="none" x1="219" x2="216" y1="494" y2="487" stroke-width="2.1"/> + <line clip-path="url(#clipPath103)" fill="none" x1="216" x2="213" y1="487" y2="494" stroke-width="2.1"/> + <line clip-path="url(#clipPath72)" fill="none" x1="323" x2="273" y1="589" y2="589" stroke-width="2.1"/> + <line clip-path="url(#clipPath72)" fill="none" x1="273" x2="273" y1="589" y2="628" stroke-width="2.1"/> + <line clip-path="url(#clipPath104)" fill="none" x1="270" x2="273" y1="621" y2="628" stroke-width="2.1"/> + <line clip-path="url(#clipPath104)" fill="none" x1="273" x2="276" y1="628" y2="621" stroke-width="2.1"/> + <line clip-path="url(#clipPath72)" fill="none" x1="485" x2="432" y1="307" y2="307" stroke-width="2.1"/> + <line clip-path="url(#clipPath72)" fill="none" x1="432" x2="432" y1="307" y2="246" stroke-width="2.1"/> + <line clip-path="url(#clipPath72)" fill="none" x1="432" x2="546" y1="246" y2="246" stroke-width="2.1"/> + <line clip-path="url(#clipPath72)" fill="none" x1="546" x2="546" y1="246" y2="198" stroke-width="2.1"/> + <line clip-path="url(#clipPath105)" fill="none" x1="549" x2="546" y1="205" y2="198" stroke-width="2.1"/> + <line clip-path="url(#clipPath105)" fill="none" x1="546" x2="543" y1="198" y2="205" stroke-width="2.1"/> + <line clip-path="url(#clipPath72)" fill="none" x1="485" x2="431" y1="326" y2="326" stroke-width="2.1"/> + <line clip-path="url(#clipPath106)" fill="none" x1="438" x2="431" y1="323" y2="326" stroke-width="2.1"/> + <line clip-path="url(#clipPath106)" fill="none" x1="431" x2="438" y1="326" y2="329" stroke-width="2.1"/> + <line clip-path="url(#clipPath72)" fill="none" x1="632" x2="678" y1="305" y2="305" stroke-width="2.1"/> + <line clip-path="url(#clipPath72)" fill="none" x1="678" x2="678" y1="305" y2="367" stroke-width="2.1"/> + <line clip-path="url(#clipPath72)" fill="none" x1="678" x2="564" y1="367" y2="367" stroke-width="2.1"/> + <line clip-path="url(#clipPath72)" fill="none" x1="564" x2="564" y1="367" y2="559" stroke-width="2.1"/> + <line clip-path="url(#clipPath107)" fill="none" x1="561" x2="564" y1="552" y2="559" stroke-width="2.1"/> + <line clip-path="url(#clipPath107)" fill="none" x1="564" x2="567" y1="559" y2="552" stroke-width="2.1"/> + <line clip-path="url(#clipPath72)" fill="none" x1="632" x2="720" y1="289" y2="289" stroke-width="2.1"/> + <line clip-path="url(#clipPath108)" fill="none" x1="713" x2="720" y1="292" y2="289" stroke-width="2.1"/> + <line clip-path="url(#clipPath108)" fill="none" x1="720" x2="713" y1="289" y2="286" stroke-width="2.1"/> + <line clip-path="url(#clipPath72)" fill="none" x1="138" x2="49" y1="361" y2="361" stroke-width="2.1"/> + <line clip-path="url(#clipPath109)" fill="none" x1="56" x2="49" y1="358" y2="361" stroke-width="2.1"/> + <line clip-path="url(#clipPath109)" fill="none" x1="49" x2="56" y1="361" y2="364" stroke-width="2.1"/> + <line clip-path="url(#clipPath72)" fill="none" x1="373" x2="425" y1="439" y2="439" stroke-width="2.1"/> + <line clip-path="url(#clipPath72)" fill="none" x1="425" x2="425" y1="439" y2="511" stroke-width="2.1"/> + <line clip-path="url(#clipPath72)" fill="none" x1="425" x2="228" y1="511" y2="511" stroke-width="2.1"/> + <line clip-path="url(#clipPath72)" fill="none" x1="228" x2="228" y1="511" y2="487" stroke-width="2.1"/> + <line clip-path="url(#clipPath110)" fill="none" x1="231" x2="228" y1="494" y2="487" stroke-width="2.1"/> + <line clip-path="url(#clipPath110)" fill="none" x1="228" x2="225" y1="487" y2="494" stroke-width="2.1"/> + <line clip-path="url(#clipPath72)" fill="none" x1="560" x2="594" y1="678" y2="678" stroke-width="2.1"/> + <line clip-path="url(#clipPath72)" fill="none" x1="594" x2="594" y1="678" y2="583" stroke-width="2.1"/> + <line clip-path="url(#clipPath72)" fill="none" x1="594" x2="570" y1="583" y2="583" stroke-width="2.1"/> + <line clip-path="url(#clipPath111)" fill="none" x1="577" x2="570" y1="580" y2="583" stroke-width="2.1"/> + <line clip-path="url(#clipPath111)" fill="none" x1="570" x2="577" y1="583" y2="586" stroke-width="2.1"/> + <line clip-path="url(#clipPath72)" fill="none" x1="749" x2="702" y1="434" y2="434" stroke-width="2.1"/> + <line clip-path="url(#clipPath72)" fill="none" x1="702" x2="702" y1="434" y2="511" stroke-width="2.1"/> + <line clip-path="url(#clipPath72)" fill="none" x1="702" x2="882" y1="511" y2="511" stroke-width="2.1"/> + <line clip-path="url(#clipPath72)" fill="none" x1="882" x2="882" y1="511" y2="487" stroke-width="2.1"/> + <line clip-path="url(#clipPath112)" fill="none" x1="885" x2="882" y1="494" y2="487" stroke-width="2.1"/> + <line clip-path="url(#clipPath112)" fill="none" x1="882" x2="879" y1="487" y2="494" stroke-width="2.1"/> + <line clip-path="url(#clipPath72)" fill="none" x1="565" x2="606" y1="69" y2="69" stroke-width="2.1"/> + <line clip-path="url(#clipPath72)" fill="none" x1="606" x2="606" y1="69" y2="171" stroke-width="2.1"/> + <line clip-path="url(#clipPath72)" fill="none" x1="606" x2="570" y1="171" y2="171" stroke-width="2.1"/> + <line clip-path="url(#clipPath113)" fill="none" x1="577" x2="570" y1="168" y2="171" stroke-width="2.1"/> + <line clip-path="url(#clipPath113)" fill="none" x1="570" x2="577" y1="171" y2="174" stroke-width="2.1"/> + </g> + </g> +</svg> diff --git a/model2model/examples-etl/petrinets/switch.petrinet b/model2model/examples-etl/petrinets/switch.petrinet new file mode 100644 index 0000000..6c06fcc --- /dev/null +++ b/model2model/examples-etl/petrinets/switch.petrinet @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="ASCII"?> +<petrinet:PetriNet xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:petrinet="http://www.example.org/petrinet" name="Switch"> + <arcs xsi:type="petrinet:IncomingArc" target="//@elements.3" source="//@elements.0"/> + <arcs xsi:type="petrinet:OutgoingArc" source="//@elements.3" target="//@elements.2"/> + <arcs xsi:type="petrinet:IncomingArc" target="//@elements.4" source="//@elements.2"/> + <arcs xsi:type="petrinet:OutgoingArc" source="//@elements.4" target="//@elements.1"/> + <arcs xsi:type="petrinet:IncomingArc" target="//@elements.4" source="//@elements.5"/> + <arcs xsi:type="petrinet:IncomingArc" target="//@elements.6" source="//@elements.1"/> + <arcs xsi:type="petrinet:OutgoingArc" source="//@elements.6" target="//@elements.2"/> + <arcs xsi:type="petrinet:IncomingArc" target="//@elements.6" source="//@elements.7"/> + <elements xsi:type="petrinet:Place" identifier="initial"> + <token/> + </elements> + <elements xsi:type="petrinet:Place" identifier="on"/> + <elements xsi:type="petrinet:Place" identifier="off"/> + <elements xsi:type="petrinet:Transition" identifier="default"/> + <elements xsi:type="petrinet:Transition" identifier="flip"/> + <elements xsi:type="petrinet:Place" identifier="flip"/> + <elements xsi:type="petrinet:Transition" identifier="flip"/> + <elements xsi:type="petrinet:Place" identifier="flip"/> +</petrinet:PetriNet> diff --git a/model2model/examples-etl/petrinets/switch.svg b/model2model/examples-etl/petrinets/switch.svg new file mode 100644 index 0000000..9a34ece --- /dev/null +++ b/model2model/examples-etl/petrinets/switch.svg @@ -0,0 +1,148 @@ +<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" stroke-dasharray="none" shape-rendering="auto" font-family="'Dialog'" width="410" text-rendering="auto" fill-opacity="1" contentScriptType="text/ecmascript" color-interpolation="auto" color-rendering="auto" preserveAspectRatio="xMidYMid meet" font-size="12px" xmlns:diagram="http://www.eclipse.org/sirius/diagram/1.1.0" diagram:semanticRoot="platform:/resource/example/petrinets/switch.petrinet#/" viewBox="0 0 410 234" fill="black" stroke="black" image-rendering="auto" stroke-miterlimit="10" zoomAndPan="magnify" version="1.0" stroke-linecap="square" stroke-linejoin="miter" contentStyleType="text/css" font-style="normal" height="234" stroke-width="1" stroke-dashoffset="0" font-weight="normal" stroke-opacity="1"> + <!--Generated by the Batik Graphics2D SVG Generator--> + <defs id="genericDefs"/> + <g> + <defs id="defs1"> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath1"> + <path d="M18 105 L50 105 L50 137 L18 137 L18 105 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath2"> + <path d="M9 76 L62 76 L62 106 L9 106 L9 76 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath3"> + <path d="M40 115 L62 115 L62 137 L40 137 L40 115 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath4"> + <path d="M340 106 L372 106 L372 138 L340 138 L340 106 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath5"> + <path d="M371 107 L401 107 L401 137 L371 137 L371 107 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath6"> + <path d="M160 105 L192 105 L192 137 L160 137 L160 105 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath7"> + <path d="M191 106 L221 106 L221 136 L191 136 L191 106 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath8"> + <path d="M160 28 L192 28 L192 60 L160 60 L160 28 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath9"> + <path d="M131 28 L164 28 L164 58 L131 58 L131 28 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath10"> + <path d="M340 193 L372 193 L372 225 L340 225 L340 193 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath11"> + <path d="M371 193 L404 193 L404 223 L371 223 L371 193 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath12"> + <path d="M100 90 L122 90 L122 152 L100 152 L100 90 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath13"> + <path d="M80 151 L147 151 L147 181 L80 181 L80 151 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath14"> + <path d="M250 46 L272 46 L272 108 L250 108 L250 46 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath15"> + <path d="M246 17 L279 17 L279 47 L246 47 L246 17 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath16"> + <path d="M250 134 L272 134 L272 196 L250 196 L250 134 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath17"> + <path d="M246 195 L279 195 L279 225 L246 225 L246 195 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath18"> + <path d="M-1 -1 L411 -1 L411 235 L-1 235 L-1 -1 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath19"> + <path d="M92 114 L104 114 L104 125 L92 125 L92 114 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath20"> + <path d="M242 72 L254 72 L254 83 L242 83 L242 72 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath21"> + <path d="M242 60 L254 60 L254 71 L242 71 L242 60 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath22"> + <path d="M269 160 L281 160 L281 171 L269 171 L269 160 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath23"> + <path d="M269 174 L281 174 L281 185 L269 185 L269 174 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath24"> + <path d="M152 114 L164 114 L164 125 L152 125 L152 114 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath25"> + <path d="M351 98 L362 98 L362 110 L351 110 L351 98 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath26"> + <path d="M171 134 L182 134 L182 146 L171 146 L171 134 Z"/> + </clipPath> + </defs> + <g font-size="15px" fill="rgb(255,245,181)" font-family="'Segoe UI'" stroke-linejoin="round" stroke="rgb(255,245,181)" stroke-width="0" stroke-miterlimit="0"> + <circle r="14" clip-path="url(#clipPath1)" cx="33" cy="120" stroke="none"/> + </g> + <g font-size="15px" stroke-width="1.1" font-family="'Segoe UI'" stroke-linecap="butt"> + <circle fill="none" r="14.5" clip-path="url(#clipPath1)" cx="33.5" cy="120.5"/> + <text x="10" xml:space="preserve" font-size="20px" y="99" clip-path="url(#clipPath2)" stroke="none">initial</text> + <circle r="9" clip-path="url(#clipPath3)" cx="50" cy="125" stroke="none"/> + <circle fill="none" stroke-width="0.1" r="9.5" clip-path="url(#clipPath3)" cx="50.5" cy="125.5"/> + <circle clip-path="url(#clipPath4)" fill="rgb(255,245,181)" r="14" cx="355" cy="121" stroke="none" stroke-width="0.1"/> + <circle fill="none" r="14.5" clip-path="url(#clipPath4)" cx="355.5" cy="121.5"/> + <text x="372" xml:space="preserve" font-size="20px" y="130" clip-path="url(#clipPath5)" stroke="none">on</text> + <circle fill="rgb(255,245,181)" r="14" clip-path="url(#clipPath6)" cx="175" cy="120" stroke="none"/> + <circle fill="none" r="14.5" clip-path="url(#clipPath6)" cx="175.5" cy="120.5"/> + <text x="192" xml:space="preserve" font-size="20px" y="129" clip-path="url(#clipPath7)" stroke="none">off</text> + <circle fill="rgb(255,245,181)" r="14" clip-path="url(#clipPath8)" cx="175" cy="43" stroke="none"/> + <circle fill="none" r="14.5" clip-path="url(#clipPath8)" cx="175.5" cy="43.5"/> + <text x="132" xml:space="preserve" font-size="20px" y="51" clip-path="url(#clipPath9)" stroke="none">flip</text> + <circle fill="rgb(255,245,181)" r="14" clip-path="url(#clipPath10)" cx="355" cy="208" stroke="none"/> + <circle fill="none" r="14.5" clip-path="url(#clipPath10)" cx="355.5" cy="208.5"/> + <text x="372" xml:space="preserve" font-size="20px" y="216" clip-path="url(#clipPath11)" stroke="none">flip</text> + <rect x="101" y="91" clip-path="url(#clipPath12)" fill="rgb(253,206,137)" width="20" height="60" stroke="none"/> + <rect fill="none" x="101" width="19" height="59" y="91" clip-path="url(#clipPath12)"/> + <text x="81" xml:space="preserve" font-size="20px" y="174" clip-path="url(#clipPath13)" stroke="none">default</text> + <rect x="251" y="47" clip-path="url(#clipPath14)" fill="rgb(253,206,137)" width="20" height="60" stroke="none"/> + <rect fill="none" x="251" width="19" height="59" y="47" clip-path="url(#clipPath14)"/> + <text x="247" xml:space="preserve" font-size="20px" y="40" clip-path="url(#clipPath15)" stroke="none">flip</text> + <rect x="251" y="135" clip-path="url(#clipPath16)" fill="rgb(253,206,137)" width="20" height="60" stroke="none"/> + <rect fill="none" x="251" width="19" height="59" y="135" clip-path="url(#clipPath16)"/> + <text x="247" xml:space="preserve" font-size="20px" y="218" clip-path="url(#clipPath17)" stroke="none">flip</text> + <line clip-path="url(#clipPath18)" fill="none" x1="49" x2="101" y1="119" y2="119" stroke-width="2.1"/> + <line clip-path="url(#clipPath19)" fill="none" x1="94" x2="101" y1="122" y2="119" stroke-width="2.1"/> + <line clip-path="url(#clipPath19)" fill="none" x1="101" x2="94" y1="119" y2="116" stroke-width="2.1"/> + <line clip-path="url(#clipPath18)" fill="none" x1="176" x2="176" y1="106" y2="77" stroke-width="2.1"/> + <line clip-path="url(#clipPath18)" fill="none" x1="176" x2="251" y1="77" y2="77" stroke-width="2.1"/> + <line clip-path="url(#clipPath20)" fill="none" x1="244" x2="251" y1="80" y2="77" stroke-width="2.1"/> + <line clip-path="url(#clipPath20)" fill="none" x1="251" x2="244" y1="77" y2="74" stroke-width="2.1"/> + <line clip-path="url(#clipPath18)" fill="none" x1="191" x2="221" y1="42" y2="42" stroke-width="2.1"/> + <line clip-path="url(#clipPath18)" fill="none" x1="221" x2="221" y1="42" y2="65" stroke-width="2.1"/> + <line clip-path="url(#clipPath18)" fill="none" x1="221" x2="251" y1="65" y2="65" stroke-width="2.1"/> + <line clip-path="url(#clipPath21)" fill="none" x1="244" x2="251" y1="68" y2="65" stroke-width="2.1"/> + <line clip-path="url(#clipPath21)" fill="none" x1="251" x2="244" y1="65" y2="62" stroke-width="2.1"/> + <line clip-path="url(#clipPath18)" fill="none" x1="357" x2="357" y1="137" y2="165" stroke-width="2.1"/> + <line clip-path="url(#clipPath18)" fill="none" x1="357" x2="271" y1="165" y2="165" stroke-width="2.1"/> + <line clip-path="url(#clipPath22)" fill="none" x1="278" x2="271" y1="162" y2="165" stroke-width="2.1"/> + <line clip-path="url(#clipPath22)" fill="none" x1="271" x2="278" y1="165" y2="168" stroke-width="2.1"/> + <line clip-path="url(#clipPath18)" fill="none" x1="341" x2="311" y1="207" y2="207" stroke-width="2.1"/> + <line clip-path="url(#clipPath18)" fill="none" x1="311" x2="311" y1="207" y2="179" stroke-width="2.1"/> + <line clip-path="url(#clipPath18)" fill="none" x1="311" x2="271" y1="179" y2="179" stroke-width="2.1"/> + <line clip-path="url(#clipPath23)" fill="none" x1="278" x2="271" y1="176" y2="179" stroke-width="2.1"/> + <line clip-path="url(#clipPath23)" fill="none" x1="271" x2="278" y1="179" y2="182" stroke-width="2.1"/> + <line clip-path="url(#clipPath18)" fill="none" x1="121" x2="161" y1="119" y2="119" stroke-width="2.1"/> + <line clip-path="url(#clipPath24)" fill="none" x1="154" x2="161" y1="122" y2="119" stroke-width="2.1"/> + <line clip-path="url(#clipPath24)" fill="none" x1="161" x2="154" y1="119" y2="116" stroke-width="2.1"/> + <line clip-path="url(#clipPath18)" fill="none" x1="271" x2="356" y1="77" y2="77" stroke-width="2.1"/> + <line clip-path="url(#clipPath18)" fill="none" x1="356" x2="356" y1="77" y2="107" stroke-width="2.1"/> + <line clip-path="url(#clipPath25)" fill="none" x1="353" x2="356" y1="100" y2="107" stroke-width="2.1"/> + <line clip-path="url(#clipPath25)" fill="none" x1="356" x2="359" y1="107" y2="100" stroke-width="2.1"/> + <line clip-path="url(#clipPath18)" fill="none" x1="251" x2="176" y1="164" y2="164" stroke-width="2.1"/> + <line clip-path="url(#clipPath18)" fill="none" x1="176" x2="176" y1="164" y2="136" stroke-width="2.1"/> + <line clip-path="url(#clipPath26)" fill="none" x1="179" x2="176" y1="143" y2="136" stroke-width="2.1"/> + <line clip-path="url(#clipPath26)" fill="none" x1="176" x2="173" y1="136" y2="143" stroke-width="2.1"/> + </g> + </g> +</svg> diff --git a/model2model/examples-etl/representations.aird b/model2model/examples-etl/representations.aird new file mode 100644 index 0000000..081f6b9 --- /dev/null +++ b/model2model/examples-etl/representations.aird @@ -0,0 +1,2932 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:description="http://www.eclipse.org/sirius/description/1.1.0" xmlns:description_1="http://www.eclipse.org/sirius/diagram/description/1.1.0" xmlns:diagram="http://www.eclipse.org/sirius/diagram/1.1.0" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.3/notation" xmlns:petrinet="http://www.example.org/petrinet" xmlns:statemachine="http://www.swt.org/most/statemachine" xmlns:style="http://www.eclipse.org/sirius/diagram/description/style/1.1.0" xmlns:viewpoint="http://www.eclipse.org/sirius/1.1.0" xsi:schemaLocation="http://www.eclipse.org/sirius/description/1.1.0 http://www.eclipse.org/sirius/1.1.0#//description http://www.eclipse.org/sirius/diagram/description/1.1.0 http://www.eclipse.org/sirius/diagram/1.1.0#//description http://www.eclipse.org/sirius/diagram/description/style/1.1.0 http://www.eclipse.org/sirius/diagram/1.1.0#//description/style"> + <viewpoint:DAnalysis uid="_JzAvsHIhEe2-Np0Hy5W05A" selectedViews="_faHbAHIhEe2-Np0Hy5W05A _5LE60HIlEe271L-91z2s1A" version="15.2.0.202303281325"> + <semanticResources>statemachines/garagedoor.statemachine</semanticResources> + <semanticResources>statemachines/switch.statemachine</semanticResources> + <semanticResources>petrinets/garagedoor.petrinet</semanticResources> + <semanticResources>petrinets/switch.petrinet</semanticResources> + <ownedViews xmi:type="viewpoint:DView" uid="_faHbAHIhEe2-Np0Hy5W05A"> + <viewpoint xmi:type="description:Viewpoint" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']"/> + <ownedRepresentationDescriptors xmi:type="viewpoint:DRepresentationDescriptor" uid="_gwRVoHIhEe2-Np0Hy5W05A" name="Editor Switch" repPath="#_gwQHgHIhEe2-Np0Hy5W05A" changeId="1718631835427"> + <description xmi:type="description_1:DiagramDescription" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']"/> + <target xmi:type="statemachine:StateMachine" href="statemachines/switch.statemachine#Switch"/> + </ownedRepresentationDescriptors> + <ownedRepresentationDescriptors xmi:type="viewpoint:DRepresentationDescriptor" uid="_s4P0EXIhEe2-Np0Hy5W05A" name="Editor GarageDoor" repPath="#_s4PNAHIhEe2-Np0Hy5W05A" changeId="1718631816049"> + <description xmi:type="description_1:DiagramDescription" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']"/> + <target xmi:type="statemachine:StateMachine" href="statemachines/garagedoor.statemachine#Garage Door"/> + </ownedRepresentationDescriptors> + </ownedViews> + <ownedViews xmi:type="viewpoint:DView" uid="_5LE60HIlEe271L-91z2s1A"> + <viewpoint xmi:type="description:Viewpoint" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']"/> + <ownedRepresentationDescriptors xmi:type="viewpoint:DRepresentationDescriptor" uid="_7ZmGMXI4Ee2-kruQw0QW4w" name="Viewer GarageDoor" repPath="#_7ZlfIHI4Ee2-kruQw0QW4w" changeId="1718631816049"> + <description xmi:type="description_1:DiagramDescription" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']"/> + <target xmi:type="petrinet:PetriNet" href="petrinets/garagedoor.petrinet#/"/> + </ownedRepresentationDescriptors> + <ownedRepresentationDescriptors xmi:type="viewpoint:DRepresentationDescriptor" uid="_v4aYMCywEe-4er9RFtOKtQ" name="Viewer Switch" repPath="#_v4ZxICywEe-4er9RFtOKtQ" changeId="1718632424390"> + <description xmi:type="description_1:DiagramDescription" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']"/> + <target xmi:type="petrinet:PetriNet" href="petrinets/switch.petrinet#/"/> + </ownedRepresentationDescriptors> + </ownedViews> + </viewpoint:DAnalysis> + <diagram:DSemanticDiagram uid="_gwQHgHIhEe2-Np0Hy5W05A"> + <ownedAnnotationEntries xmi:type="description:AnnotationEntry" uid="_gwR8sXIhEe2-Np0Hy5W05A" source="GMF_DIAGRAMS"> + <data xmi:type="notation:Diagram" xmi:id="_gwR8snIhEe2-Np0Hy5W05A" type="Sirius" element="_gwQHgHIhEe2-Np0Hy5W05A" measurementUnit="Pixel"> + <children xmi:type="notation:Node" xmi:id="_gw19YHIhEe2-Np0Hy5W05A" type="2001" element="_gwYqYHIhEe2-Np0Hy5W05A"> + <children xmi:type="notation:Node" xmi:id="_gw2kcHIhEe2-Np0Hy5W05A" type="5002"> + <layoutConstraint xmi:type="notation:Location" xmi:id="_gw2kcXIhEe2-Np0Hy5W05A" x="-9" y="31"/> + </children> + <children xmi:type="notation:Node" xmi:id="_gw8EB3IhEe2-Np0Hy5W05A" type="3002" element="_gwZ4gHIhEe2-Np0Hy5W05A"> + <styles xmi:type="notation:ShapeStyle" xmi:id="_gw8ECHIhEe2-Np0Hy5W05A" fontName="Segoe UI"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gw8ECXIhEe2-Np0Hy5W05A"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_gw19YXIhEe2-Np0Hy5W05A" fontName="Segoe UI" fontHeight="12"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gw19YnIhEe2-Np0Hy5W05A" x="162" y="176" width="30" height="30"/> + </children> + <children xmi:type="notation:Node" xmi:id="_gw4ZoHIhEe2-Np0Hy5W05A" type="2003" element="_gwn68HIhEe2-Np0Hy5W05A"> + <children xmi:type="notation:Node" xmi:id="_gw5AsHIhEe2-Np0Hy5W05A" type="5007"/> + <children xmi:type="notation:Node" xmi:id="_gw614HIhEe2-Np0Hy5W05A" type="7004"> + <children xmi:type="notation:Node" xmi:id="_gw8rEHIhEe2-Np0Hy5W05A" type="3010" element="_gwszcHIhEe2-Np0Hy5W05A"> + <styles xmi:type="notation:FontStyle" xmi:id="_gw8rEXIhEe2-Np0Hy5W05A" fontName="Segoe UI" fontHeight="12"/> + <layoutConstraint xmi:type="notation:Location" xmi:id="_gw8rEnIhEe2-Np0Hy5W05A"/> + </children> + <styles xmi:type="notation:SortingStyle" xmi:id="_gw614XIhEe2-Np0Hy5W05A"/> + <styles xmi:type="notation:FilteringStyle" xmi:id="_gw614nIhEe2-Np0Hy5W05A"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_gw4ZoXIhEe2-Np0Hy5W05A" fontName="Segoe UI" fontHeight="12" bold="true"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gw4ZonIhEe2-Np0Hy5W05A" x="276" y="354"/> + </children> + <children xmi:type="notation:Node" xmi:id="_gw7c8HIhEe2-Np0Hy5W05A" type="2003" element="_gwrlUXIhEe2-Np0Hy5W05A"> + <children xmi:type="notation:Node" xmi:id="_gw7c83IhEe2-Np0Hy5W05A" type="5007"/> + <children xmi:type="notation:Node" xmi:id="_gw7c9HIhEe2-Np0Hy5W05A" type="7004"> + <children xmi:type="notation:Node" xmi:id="_gw9SIHIhEe2-Np0Hy5W05A" type="3010" element="_gwuooHIhEe2-Np0Hy5W05A"> + <styles xmi:type="notation:FontStyle" xmi:id="_gw9SIXIhEe2-Np0Hy5W05A" fontName="Segoe UI" fontHeight="12"/> + <layoutConstraint xmi:type="notation:Location" xmi:id="_gw9SInIhEe2-Np0Hy5W05A"/> + </children> + <styles xmi:type="notation:SortingStyle" xmi:id="_gw7c9XIhEe2-Np0Hy5W05A"/> + <styles xmi:type="notation:FilteringStyle" xmi:id="_gw7c9nIhEe2-Np0Hy5W05A"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_gw7c8XIhEe2-Np0Hy5W05A" fontName="Segoe UI" fontHeight="12" bold="true"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gw7c8nIhEe2-Np0Hy5W05A" x="292" y="112" width="194"/> + </children> + <children xmi:type="notation:Node" xmi:id="_gw8EAHIhEe2-Np0Hy5W05A" type="2003" element="_gwuoonIhEe2-Np0Hy5W05A"> + <children xmi:type="notation:Node" xmi:id="_gw8EA3IhEe2-Np0Hy5W05A" type="5007"/> + <children xmi:type="notation:Node" xmi:id="_gw8EBHIhEe2-Np0Hy5W05A" type="7004"> + <styles xmi:type="notation:SortingStyle" xmi:id="_gw8EBXIhEe2-Np0Hy5W05A"/> + <styles xmi:type="notation:FilteringStyle" xmi:id="_gw8EBnIhEe2-Np0Hy5W05A"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_gw8EAXIhEe2-Np0Hy5W05A" fontName="Segoe UI" fontHeight="10" bold="true"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gw8EAnIhEe2-Np0Hy5W05A" x="283" y="48" height="40"/> + </children> + <styles xmi:type="notation:DiagramStyle" xmi:id="_gwR8s3IhEe2-Np0Hy5W05A"/> + <edges xmi:type="notation:Edge" xmi:id="_gw9SI3IhEe2-Np0Hy5W05A" type="4001" element="_gwv2wHIhEe2-Np0Hy5W05A" source="_gw19YHIhEe2-Np0Hy5W05A" target="_gw7c8HIhEe2-Np0Hy5W05A"> + <children xmi:type="notation:Node" xmi:id="_gw9SJ3IhEe2-Np0Hy5W05A" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gw9SKHIhEe2-Np0Hy5W05A" x="61" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_gw9SKXIhEe2-Np0Hy5W05A" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gw9SKnIhEe2-Np0Hy5W05A" x="-3" y="-26"/> + </children> + <children xmi:type="notation:Node" xmi:id="_gw9SK3IhEe2-Np0Hy5W05A" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gw9SLHIhEe2-Np0Hy5W05A" x="-26" y="10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_gw9SJHIhEe2-Np0Hy5W05A" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_gw9SJXIhEe2-Np0Hy5W05A" fontName="Segoe UI" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_gw9SJnIhEe2-Np0Hy5W05A" points="[0, 0, -206, -45]$[0, -14, -206, -59]$[115, -14, -91, -59]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_gw_HUHIhEe2-Np0Hy5W05A" id="(0.5,0.0)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_gw_uYHIhEe2-Np0Hy5W05A" id="(0.4739583333333333,1.0)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_gw_ubXIhEe2-Np0Hy5W05A" type="4001" element="_gw0vRXIhEe2-Np0Hy5W05A" source="_gw4ZoHIhEe2-Np0Hy5W05A" target="_gw7c8HIhEe2-Np0Hy5W05A"> + <children xmi:type="notation:Node" xmi:id="_gxAVcHIhEe2-Np0Hy5W05A" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gxAVcXIhEe2-Np0Hy5W05A" x="-9" y="23"/> + </children> + <children xmi:type="notation:Node" xmi:id="_gxAVcnIhEe2-Np0Hy5W05A" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gxAVc3IhEe2-Np0Hy5W05A" x="192" y="8"/> + </children> + <children xmi:type="notation:Node" xmi:id="_gxAVdHIhEe2-Np0Hy5W05A" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gxAVdXIhEe2-Np0Hy5W05A" x="-7"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_gw_ubnIhEe2-Np0Hy5W05A" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_gw_ub3IhEe2-Np0Hy5W05A" fontName="Segoe UI" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_gw_ucHIhEe2-Np0Hy5W05A" points="[36, -38, 47, 188]$[36, -171, 47, 55]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_gxAVdnIhEe2-Np0Hy5W05A" id="(0.5,0.5)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_gxAVd3IhEe2-Np0Hy5W05A" id="(0.46875,0.5)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_gw_uYXIhEe2-Np0Hy5W05A" type="4001" element="_gw0vQHIhEe2-Np0Hy5W05A" source="_gw7c8HIhEe2-Np0Hy5W05A" target="_gw4ZoHIhEe2-Np0Hy5W05A"> + <children xmi:type="notation:Node" xmi:id="_gw_uZXIhEe2-Np0Hy5W05A" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gw_uZnIhEe2-Np0Hy5W05A" x="10" y="19"/> + </children> + <children xmi:type="notation:Node" xmi:id="_gw_uZ3IhEe2-Np0Hy5W05A" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gw_uaHIhEe2-Np0Hy5W05A" x="-4"/> + </children> + <children xmi:type="notation:Node" xmi:id="_gw_uaXIhEe2-Np0Hy5W05A" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gw_uanIhEe2-Np0Hy5W05A" x="9"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_gw_uYnIhEe2-Np0Hy5W05A" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_gw_uY3IhEe2-Np0Hy5W05A" fontName="Segoe UI" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_gw_uZHIhEe2-Np0Hy5W05A" points="[-30, 55, -41, -171]$[-30, 188, -41, -38]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_gw_ua3IhEe2-Np0Hy5W05A" id="(0.46875,0.5)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_gw_ubHIhEe2-Np0Hy5W05A" id="(0.5,0.5)"/> + </edges> + </data> + </ownedAnnotationEntries> + <ownedAnnotationEntries xmi:type="description:AnnotationEntry" uid="_gw1WUnIhEe2-Np0Hy5W05A" source="DANNOTATION_CUSTOMIZATION_KEY"> + <data xmi:type="diagram:ComputedStyleDescriptionRegistry" uid="_gw1WU3IhEe2-Np0Hy5W05A"/> + </ownedAnnotationEntries> + <ownedDiagramElements xmi:type="diagram:DNode" uid="_gwYqYHIhEe2-Np0Hy5W05A" name="initial" outgoingEdges="_gwv2wHIhEe2-Np0Hy5W05A" width="3" height="3"> + <target xmi:type="statemachine:InitialState" href="statemachines/switch.statemachine#initial"/> + <semanticElements xmi:type="statemachine:InitialState" href="statemachines/switch.statemachine#initial"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:Dot" uid="_gwZ4gHIhEe2-Np0Hy5W05A" labelSize="12" showIcon="false" backgroundColor="0,0,0"> + <description xmi:type="style:DotDescription" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@nodeMappings[name='Initial%20State']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@nodeMappings[name='Initial%20State']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_gwn68HIhEe2-Np0Hy5W05A" name="on" outgoingEdges="_gw0vRXIhEe2-Np0Hy5W05A" incomingEdges="_gw0vQHIhEe2-Np0Hy5W05A"> + <target xmi:type="statemachine:NormalState" href="statemachines/switch.statemachine#on"/> + <semanticElements xmi:type="statemachine:NormalState" href="statemachines/switch.statemachine#on"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_gwq-QHIhEe2-Np0Hy5W05A" labelSize="12" showIcon="false" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" backgroundColor="255,245,181" foregroundColor="255,245,181"> + <labelFormat>bold</labelFormat> + <description xmi:type="style:FlatContainerStyleDescription" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@containerMappings[name='Normal%20State']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@containerMappings[name='Normal%20State']"/> + <ownedElements xmi:type="diagram:DNodeListElement" uid="_gwszcHIhEe2-Np0Hy5W05A" name="do/ do_something"> + <target xmi:type="statemachine:Action" href="statemachines/switch.statemachine#//@states.0/@do_"/> + <semanticElements xmi:type="statemachine:Action" href="statemachines/switch.statemachine#//@states.0/@do_"/> + <ownedStyle xmi:type="diagram:Square" uid="_gwtagHIhEe2-Np0Hy5W05A" labelSize="12" showIcon="false" labelAlignment="LEFT" labelPosition="node" color="255,245,181"> + <description xmi:type="style:SquareDescription" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@containerMappings[name='Normal%20State']/@subNodeMappings[name='Do%20Activity']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@containerMappings[name='Normal%20State']/@subNodeMappings[name='Do%20Activity']"/> + </ownedElements> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_gwrlUXIhEe2-Np0Hy5W05A" name="off" outgoingEdges="_gw0vQHIhEe2-Np0Hy5W05A" incomingEdges="_gwv2wHIhEe2-Np0Hy5W05A _gw0vRXIhEe2-Np0Hy5W05A"> + <target xmi:type="statemachine:NormalState" href="statemachines/switch.statemachine#off"/> + <semanticElements xmi:type="statemachine:NormalState" href="statemachines/switch.statemachine#off"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_gwrlUnIhEe2-Np0Hy5W05A" labelSize="12" showIcon="false" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" backgroundColor="255,245,181" foregroundColor="255,245,181"> + <labelFormat>bold</labelFormat> + <description xmi:type="style:FlatContainerStyleDescription" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@containerMappings[name='Normal%20State']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@containerMappings[name='Normal%20State']"/> + <ownedElements xmi:type="diagram:DNodeListElement" uid="_gwuooHIhEe2-Np0Hy5W05A" name="do/ do_nothing"> + <target xmi:type="statemachine:Action" href="statemachines/switch.statemachine#//@states.1/@do_"/> + <semanticElements xmi:type="statemachine:Action" href="statemachines/switch.statemachine#//@states.1/@do_"/> + <ownedStyle xmi:type="diagram:Square" uid="_gwuooXIhEe2-Np0Hy5W05A" labelSize="12" showIcon="false" labelAlignment="LEFT" labelPosition="node" color="255,245,181"> + <description xmi:type="style:SquareDescription" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@containerMappings[name='Normal%20State']/@subNodeMappings[name='Do%20Activity']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@containerMappings[name='Normal%20State']/@subNodeMappings[name='Do%20Activity']"/> + </ownedElements> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_gwuoonIhEe2-Np0Hy5W05A" name="State Machine: Switch" height="4"> + <target xmi:type="statemachine:StateMachine" href="statemachines/switch.statemachine#Switch"/> + <semanticElements xmi:type="statemachine:StateMachine" href="statemachines/switch.statemachine#Switch"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_gwvPsHIhEe2-Np0Hy5W05A" labelSize="10" showIcon="false" borderColor="209,209,209" backgroundStyle="Liquid" backgroundColor="209,209,209"> + <labelFormat>bold</labelFormat> + <description xmi:type="style:FlatContainerStyleDescription" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@containerMappings[name='State%20Machine%20Label']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@containerMappings[name='State%20Machine%20Label']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_gwv2wHIhEe2-Np0Hy5W05A" sourceNode="_gwYqYHIhEe2-Np0Hy5W05A" targetNode="_gwrlUXIhEe2-Np0Hy5W05A"> + <target xmi:type="statemachine:Transition" href="statemachines/switch.statemachine#//@transitions.0"/> + <semanticElements xmi:type="statemachine:Transition" href="statemachines/switch.statemachine#//@transitions.0"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_gwv2wXIhEe2-Np0Hy5W05A" size="2" routingStyle="manhattan" strokeColor="0,0,0"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@edgeMappings[name='Transition']/@style"/> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_gwv2wnIhEe2-Np0Hy5W05A" showIcon="false"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@edgeMappings[name='Transition']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_gw0vQHIhEe2-Np0Hy5W05A" name="flip" sourceNode="_gwrlUXIhEe2-Np0Hy5W05A" targetNode="_gwn68HIhEe2-Np0Hy5W05A"> + <target xmi:type="statemachine:Transition" href="statemachines/switch.statemachine#//@transitions.1"/> + <semanticElements xmi:type="statemachine:Transition" href="statemachines/switch.statemachine#//@transitions.1"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_gw0vQXIhEe2-Np0Hy5W05A" size="2" routingStyle="manhattan" strokeColor="0,0,0"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@edgeMappings[name='Transition']/@style"/> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_gw0vQnIhEe2-Np0Hy5W05A" showIcon="false"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@edgeMappings[name='Transition']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_gw0vRXIhEe2-Np0Hy5W05A" name="flip" sourceNode="_gwn68HIhEe2-Np0Hy5W05A" targetNode="_gwrlUXIhEe2-Np0Hy5W05A"> + <target xmi:type="statemachine:Transition" href="statemachines/switch.statemachine#//@transitions.2"/> + <semanticElements xmi:type="statemachine:Transition" href="statemachines/switch.statemachine#//@transitions.2"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_gw0vRnIhEe2-Np0Hy5W05A" size="2" routingStyle="manhattan" strokeColor="0,0,0"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@edgeMappings[name='Transition']/@style"/> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_gw0vR3IhEe2-Np0Hy5W05A" showIcon="false"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@edgeMappings[name='Transition']"/> + </ownedDiagramElements> + <description xmi:type="description_1:DiagramDescription" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']"/> + <filterVariableHistory xmi:type="diagram:FilterVariableHistory" uid="_gwQHgXIhEe2-Np0Hy5W05A"/> + <activatedLayers xmi:type="description_1:Layer" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer"/> + <target xmi:type="statemachine:StateMachine" href="statemachines/switch.statemachine#Switch"/> + </diagram:DSemanticDiagram> + <diagram:DSemanticDiagram uid="_s4PNAHIhEe2-Np0Hy5W05A"> + <ownedAnnotationEntries xmi:type="description:AnnotationEntry" uid="_s4QbIHIhEe2-Np0Hy5W05A" source="GMF_DIAGRAMS"> + <data xmi:type="notation:Diagram" xmi:id="_s4QbIXIhEe2-Np0Hy5W05A" type="Sirius" element="_s4PNAHIhEe2-Np0Hy5W05A" measurementUnit="Pixel"> + <children xmi:type="notation:Node" xmi:id="_s4ZlEHIhEe2-Np0Hy5W05A" type="2001" element="_s4RCMHIhEe2-Np0Hy5W05A"> + <children xmi:type="notation:Node" xmi:id="_s4ZlE3IhEe2-Np0Hy5W05A" type="5002"> + <layoutConstraint xmi:type="notation:Location" xmi:id="_s4ZlFHIhEe2-Np0Hy5W05A" x="31" y="1"/> + </children> + <children xmi:type="notation:Node" xmi:id="_s4baUXIhEe2-Np0Hy5W05A" type="3002" element="_s4RCMXIhEe2-Np0Hy5W05A"> + <styles xmi:type="notation:ShapeStyle" xmi:id="_s4baUnIhEe2-Np0Hy5W05A" fontName="Segoe UI"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_s4baU3IhEe2-Np0Hy5W05A"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_s4ZlEXIhEe2-Np0Hy5W05A" fontName="Segoe UI" fontHeight="12"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_s4ZlEnIhEe2-Np0Hy5W05A" x="858" y="108" width="30" height="30"/> + </children> + <children xmi:type="notation:Node" xmi:id="_s4aMIHIhEe2-Np0Hy5W05A" type="2001" element="_s4RpQXIhEe2-Np0Hy5W05A"> + <children xmi:type="notation:Node" xmi:id="_s4aMI3IhEe2-Np0Hy5W05A" type="5002"> + <layoutConstraint xmi:type="notation:Location" xmi:id="_s4aMJHIhEe2-Np0Hy5W05A" x="31" y="1"/> + </children> + <children xmi:type="notation:Node" xmi:id="_s4cBUHIhEe2-Np0Hy5W05A" type="3002" element="_s4RpQnIhEe2-Np0Hy5W05A"> + <styles xmi:type="notation:ShapeStyle" xmi:id="_s4cBUXIhEe2-Np0Hy5W05A" fontName="Segoe UI"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_s4cBUnIhEe2-Np0Hy5W05A"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_s4aMIXIhEe2-Np0Hy5W05A" fontName="Segoe UI" fontHeight="12"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_s4aMInIhEe2-Np0Hy5W05A" x="858" y="156" width="30" height="30"/> + </children> + <children xmi:type="notation:Node" xmi:id="_s4azMHIhEe2-Np0Hy5W05A" type="2003" element="_s4RpRHIhEe2-Np0Hy5W05A"> + <children xmi:type="notation:Node" xmi:id="_s4azM3IhEe2-Np0Hy5W05A" type="5007"/> + <children xmi:type="notation:Node" xmi:id="_s4azNHIhEe2-Np0Hy5W05A" type="7004"> + <styles xmi:type="notation:SortingStyle" xmi:id="_s4azNXIhEe2-Np0Hy5W05A"/> + <styles xmi:type="notation:FilteringStyle" xmi:id="_s4azNnIhEe2-Np0Hy5W05A"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_s4azMXIhEe2-Np0Hy5W05A" fontName="Segoe UI" fontHeight="12" bold="true"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_s4azMnIhEe2-Np0Hy5W05A" x="690" y="217" width="99"/> + </children> + <children xmi:type="notation:Node" xmi:id="_s4azN3IhEe2-Np0Hy5W05A" type="2003" element="_s4SQUXIhEe2-Np0Hy5W05A"> + <children xmi:type="notation:Node" xmi:id="_s4azOnIhEe2-Np0Hy5W05A" type="5007"/> + <children xmi:type="notation:Node" xmi:id="_s4azO3IhEe2-Np0Hy5W05A" type="7004"> + <styles xmi:type="notation:SortingStyle" xmi:id="_s4azPHIhEe2-Np0Hy5W05A"/> + <styles xmi:type="notation:FilteringStyle" xmi:id="_s4azPXIhEe2-Np0Hy5W05A"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_s4azOHIhEe2-Np0Hy5W05A" fontName="Segoe UI" fontHeight="12" bold="true"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_s4azOXIhEe2-Np0Hy5W05A" x="180" y="213" width="78"/> + </children> + <children xmi:type="notation:Node" xmi:id="_s4azPnIhEe2-Np0Hy5W05A" type="2003" element="_s4SQVHIhEe2-Np0Hy5W05A"> + <children xmi:type="notation:Node" xmi:id="_s4azQXIhEe2-Np0Hy5W05A" type="5007"/> + <children xmi:type="notation:Node" xmi:id="_s4baQHIhEe2-Np0Hy5W05A" type="7004"> + <styles xmi:type="notation:SortingStyle" xmi:id="_s4baQXIhEe2-Np0Hy5W05A"/> + <styles xmi:type="notation:FilteringStyle" xmi:id="_s4baQnIhEe2-Np0Hy5W05A"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_s4azP3IhEe2-Np0Hy5W05A" fontName="Segoe UI" fontHeight="12" bold="true"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_s4azQHIhEe2-Np0Hy5W05A" x="424" y="78" width="105"/> + </children> + <children xmi:type="notation:Node" xmi:id="_s4baQ3IhEe2-Np0Hy5W05A" type="2003" element="_s4SQV3IhEe2-Np0Hy5W05A"> + <children xmi:type="notation:Node" xmi:id="_s4baRnIhEe2-Np0Hy5W05A" type="5007"/> + <children xmi:type="notation:Node" xmi:id="_s4baR3IhEe2-Np0Hy5W05A" type="7004"> + <styles xmi:type="notation:SortingStyle" xmi:id="_s4baSHIhEe2-Np0Hy5W05A"/> + <styles xmi:type="notation:FilteringStyle" xmi:id="_s4baSXIhEe2-Np0Hy5W05A"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_s4baRHIhEe2-Np0Hy5W05A" fontName="Segoe UI" fontHeight="12" bold="true"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_s4baRXIhEe2-Np0Hy5W05A" x="428" y="300" width="97"/> + </children> + <children xmi:type="notation:Node" xmi:id="_s4baSnIhEe2-Np0Hy5W05A" type="2003" element="_s4S3YHIhEe2-Np0Hy5W05A"> + <children xmi:type="notation:Node" xmi:id="_s4baTXIhEe2-Np0Hy5W05A" type="5007"/> + <children xmi:type="notation:Node" xmi:id="_s4baTnIhEe2-Np0Hy5W05A" type="7004"> + <styles xmi:type="notation:SortingStyle" xmi:id="_s4baT3IhEe2-Np0Hy5W05A"/> + <styles xmi:type="notation:FilteringStyle" xmi:id="_s4baUHIhEe2-Np0Hy5W05A"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_s4baS3IhEe2-Np0Hy5W05A" fontName="Segoe UI" fontHeight="10" bold="true"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_s4baTHIhEe2-Np0Hy5W05A" x="186" y="6" height="40"/> + </children> + <styles xmi:type="notation:DiagramStyle" xmi:id="_s4QbInIhEe2-Np0Hy5W05A"/> + <edges xmi:type="notation:Edge" xmi:id="_s4cBU3IhEe2-Np0Hy5W05A" type="4001" element="_s4TecHIhEe2-Np0Hy5W05A" source="_s4ZlEHIhEe2-Np0Hy5W05A" target="_s4azMHIhEe2-Np0Hy5W05A"> + <children xmi:type="notation:Node" xmi:id="_s4coYHIhEe2-Np0Hy5W05A" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_s4coYXIhEe2-Np0Hy5W05A" x="-20" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_s4coYnIhEe2-Np0Hy5W05A" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_s4coY3IhEe2-Np0Hy5W05A" x="-5" y="-10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_s4coZHIhEe2-Np0Hy5W05A" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_s4coZXIhEe2-Np0Hy5W05A" x="2" y="-10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_s4cBVHIhEe2-Np0Hy5W05A" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_s4cBVXIhEe2-Np0Hy5W05A" fontName="Segoe UI" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_s4cBVnIhEe2-Np0Hy5W05A" points="[-15, -1, 136, -120]$[-119, -1, 32, -120]$[-119, 94, 32, -25]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_s4coZnIhEe2-Np0Hy5W05A" id="(0.5,0.5)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_s4coZ3IhEe2-Np0Hy5W05A" id="(0.32989690721649484,0.5)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_s4fErnIhEe2-Np0Hy5W05A" type="4001" element="_s4WhwHIhEe2-Np0Hy5W05A" source="_s4azMHIhEe2-Np0Hy5W05A" target="_s4aMIHIhEe2-Np0Hy5W05A"> + <children xmi:type="notation:Node" xmi:id="_s4frsHIhEe2-Np0Hy5W05A" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_s4frsXIhEe2-Np0Hy5W05A" x="22" y="-12"/> + </children> + <children xmi:type="notation:Node" xmi:id="_s4frsnIhEe2-Np0Hy5W05A" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_s4frs3IhEe2-Np0Hy5W05A" x="20" y="6"/> + </children> + <children xmi:type="notation:Node" xmi:id="_s4frtHIhEe2-Np0Hy5W05A" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_s4frtXIhEe2-Np0Hy5W05A" x="-7" y="10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_s4fEr3IhEe2-Np0Hy5W05A" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_s4fEsHIhEe2-Np0Hy5W05A" fontName="Segoe UI" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_s4fEsXIhEe2-Np0Hy5W05A" points="[52, -25, -99, 46]$[52, -72, -99, -1]$[136, -72, -15, -1]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_s4frtnIhEe2-Np0Hy5W05A" id="(0.32989690721649484,0.5)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_s4frt3IhEe2-Np0Hy5W05A" id="(0.5,0.5)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_s4coaHIhEe2-Np0Hy5W05A" type="4001" element="_s4UFgHIhEe2-Np0Hy5W05A" source="_s4azMHIhEe2-Np0Hy5W05A" target="_s4azPnIhEe2-Np0Hy5W05A"> + <children xmi:type="notation:Node" xmi:id="_s4cobHIhEe2-Np0Hy5W05A" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_s4cobXIhEe2-Np0Hy5W05A" x="45" y="17"/> + </children> + <children xmi:type="notation:Node" xmi:id="_s4dPcHIhEe2-Np0Hy5W05A" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_s4dPcXIhEe2-Np0Hy5W05A" x="-5"/> + </children> + <children xmi:type="notation:Node" xmi:id="_s4dPcnIhEe2-Np0Hy5W05A" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_s4dPc3IhEe2-Np0Hy5W05A" x="-5" y="-10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_s4coaXIhEe2-Np0Hy5W05A" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_s4coanIhEe2-Np0Hy5W05A" fontName="Segoe UI" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_s4coa3IhEe2-Np0Hy5W05A" points="[17, -25, 274, 114]$[17, -139, 274, 0]$[-195, -139, 62, 0]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_s4dPdHIhEe2-Np0Hy5W05A" id="(0.32989690721649484,0.5)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_s4dPdXIhEe2-Np0Hy5W05A" id="(0.39805825242718446,0.5)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_s4fruHIhEe2-Np0Hy5W05A" type="4001" element="_s4XI03IhEe2-Np0Hy5W05A" source="_s4azMHIhEe2-Np0Hy5W05A" target="_s4azMHIhEe2-Np0Hy5W05A"> + <children xmi:type="notation:Node" xmi:id="_s4gSwHIhEe2-Np0Hy5W05A" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_s4gSwXIhEe2-Np0Hy5W05A" x="14" y="-24"/> + </children> + <children xmi:type="notation:Node" xmi:id="_s4gSwnIhEe2-Np0Hy5W05A" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_s4gSw3IhEe2-Np0Hy5W05A" x="9" y="6"/> + </children> + <children xmi:type="notation:Node" xmi:id="_s4gSxHIhEe2-Np0Hy5W05A" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_s4gSxXIhEe2-Np0Hy5W05A" x="-5" y="8"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_s4fruXIhEe2-Np0Hy5W05A" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_s4frunIhEe2-Np0Hy5W05A" fontName="Segoe UI" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_s4fru3IhEe2-Np0Hy5W05A" points="[65, -4, 65, -4]$[82, -4, 82, -4]$[82, 40, 82, 40]$[34, 40, 34, 40]$[34, 26, 34, 26]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_s4g50HIhEe2-Np0Hy5W05A" id="(0.32989690721649484,0.5)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_s4g50XIhEe2-Np0Hy5W05A" id="(0.32989690721649484,0.5)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_s4d2jnIhEe2-Np0Hy5W05A" type="4001" element="_s4Usl3IhEe2-Np0Hy5W05A" source="_s4baQ3IhEe2-Np0Hy5W05A" target="_s4azMHIhEe2-Np0Hy5W05A"> + <children xmi:type="notation:Node" xmi:id="_s4edkHIhEe2-Np0Hy5W05A" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_s4edkXIhEe2-Np0Hy5W05A" x="-36" y="-17"/> + </children> + <children xmi:type="notation:Node" xmi:id="_s4edknIhEe2-Np0Hy5W05A" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_s4edk3IhEe2-Np0Hy5W05A" x="14" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_s4edlHIhEe2-Np0Hy5W05A" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_s4edlXIhEe2-Np0Hy5W05A" x="-6" y="-131"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_s4d2j3IhEe2-Np0Hy5W05A" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_s4d2kHIhEe2-Np0Hy5W05A" fontName="Segoe UI" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_s4d2kXIhEe2-Np0Hy5W05A" points="[36, 0, -199, 83]$[252, 0, 17, 83]$[252, -57, 17, 26]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_s4edlnIhEe2-Np0Hy5W05A" id="(0.6263157894736842,0.5)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_s4edl3IhEe2-Np0Hy5W05A" id="(0.32989690721649484,0.5)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_s4d2gnIhEe2-Np0Hy5W05A" type="4001" element="_s4UsknIhEe2-Np0Hy5W05A" source="_s4azN3IhEe2-Np0Hy5W05A" target="_s4baQ3IhEe2-Np0Hy5W05A"> + <children xmi:type="notation:Node" xmi:id="_s4d2hnIhEe2-Np0Hy5W05A" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_s4d2h3IhEe2-Np0Hy5W05A" x="27" y="-14"/> + </children> + <children xmi:type="notation:Node" xmi:id="_s4d2iHIhEe2-Np0Hy5W05A" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_s4d2iXIhEe2-Np0Hy5W05A" x="19"/> + </children> + <children xmi:type="notation:Node" xmi:id="_s4d2inIhEe2-Np0Hy5W05A" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_s4d2i3IhEe2-Np0Hy5W05A" x="-100" y="-10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_s4d2g3IhEe2-Np0Hy5W05A" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_s4d2hHIhEe2-Np0Hy5W05A" fontName="Segoe UI" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_s4d2hXIhEe2-Np0Hy5W05A" points="[-5, 26, -262, -61]$[-5, 87, -262, 0]$[198, 87, -59, 0]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_s4d2jHIhEe2-Np0Hy5W05A" id="(0.6578947368421053,0.5)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_s4d2jXIhEe2-Np0Hy5W05A" id="(0.6263157894736842,0.5)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_s4jWEnIhEe2-Np0Hy5W05A" type="4001" element="_s4Xv6XIhEe2-Np0Hy5W05A" source="_s4azN3IhEe2-Np0Hy5W05A" target="_s4azN3IhEe2-Np0Hy5W05A"> + <children xmi:type="notation:Node" xmi:id="_s4jWFnIhEe2-Np0Hy5W05A" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_s4jWF3IhEe2-Np0Hy5W05A" x="15" y="6"/> + </children> + <children xmi:type="notation:Node" xmi:id="_s4jWGHIhEe2-Np0Hy5W05A" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_s4jWGXIhEe2-Np0Hy5W05A" x="-9" y="-22"/> + </children> + <children xmi:type="notation:Node" xmi:id="_s4jWGnIhEe2-Np0Hy5W05A" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_s4jWG3IhEe2-Np0Hy5W05A" x="11" y="-6"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_s4jWE3IhEe2-Np0Hy5W05A" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_s4jWFHIhEe2-Np0Hy5W05A" fontName="Segoe UI" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_s4jWFXIhEe2-Np0Hy5W05A" points="[-50, 0, -50, 0]$[-68, 0, -68, 0]$[-68, 44, -68, 44]$[-26, 44, -26, 44]$[-26, 26, -26, 26]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_s4jWHHIhEe2-Np0Hy5W05A" id="(0.6578947368421053,0.5)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_s4jWHXIhEe2-Np0Hy5W05A" id="(0.6578947368421053,0.5)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_s4dPdnIhEe2-Np0Hy5W05A" type="4001" element="_s4UFhXIhEe2-Np0Hy5W05A" source="_s4azPnIhEe2-Np0Hy5W05A" target="_s4azN3IhEe2-Np0Hy5W05A"> + <children xmi:type="notation:Node" xmi:id="_s4dPenIhEe2-Np0Hy5W05A" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_s4dPe3IhEe2-Np0Hy5W05A" x="-52" y="17"/> + </children> + <children xmi:type="notation:Node" xmi:id="_s4dPfHIhEe2-Np0Hy5W05A" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_s4dPfXIhEe2-Np0Hy5W05A" x="42" y="-10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_s4dPfnIhEe2-Np0Hy5W05A" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_s4dPf3IhEe2-Np0Hy5W05A" x="-27" y="10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_s4dPd3IhEe2-Np0Hy5W05A" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_s4dPeHIhEe2-Np0Hy5W05A" fontName="Segoe UI" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_s4dPeXIhEe2-Np0Hy5W05A" points="[-41, 0, 194, -135]$[-237, 0, -2, -135]$[-237, 110, -2, -25]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_s4d2gHIhEe2-Np0Hy5W05A" id="(0.39805825242718446,0.5)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_s4d2gXIhEe2-Np0Hy5W05A" id="(0.6578947368421053,0.5)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_s4fEonIhEe2-Np0Hy5W05A" type="4001" element="_s4VTp3IhEe2-Np0Hy5W05A" source="_s4azPnIhEe2-Np0Hy5W05A" target="_s4baQ3IhEe2-Np0Hy5W05A"> + <children xmi:type="notation:Node" xmi:id="_s4fEpnIhEe2-Np0Hy5W05A" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_s4fEp3IhEe2-Np0Hy5W05A" x="-50" y="-102" width="193" height="17"/> + </children> + <children xmi:type="notation:Node" xmi:id="_s4fEqHIhEe2-Np0Hy5W05A" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_s4fEqXIhEe2-Np0Hy5W05A" x="-19" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_s4fEqnIhEe2-Np0Hy5W05A" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_s4fEq3IhEe2-Np0Hy5W05A" x="-82" y="10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_s4fEo3IhEe2-Np0Hy5W05A" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_s4fEpHIhEe2-Np0Hy5W05A" fontName="Segoe UI" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_s4fEpXIhEe2-Np0Hy5W05A" points="[15, 26, -7, -196]$[15, 197, -7, -25]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_s4fErHIhEe2-Np0Hy5W05A" id="(0.39805825242718446,0.5)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_s4fErXIhEe2-Np0Hy5W05A" id="(0.6263157894736842,0.5)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_s4jWHnIhEe2-Np0Hy5W05A" type="4001" element="_s4YW9HIhEe2-Np0Hy5W05A" source="_s4azPnIhEe2-Np0Hy5W05A" target="_s4azPnIhEe2-Np0Hy5W05A"> + <children xmi:type="notation:Node" xmi:id="_s4j9IHIhEe2-Np0Hy5W05A" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_s4j9IXIhEe2-Np0Hy5W05A" x="2" y="-18"/> + </children> + <children xmi:type="notation:Node" xmi:id="_s4j9InIhEe2-Np0Hy5W05A" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_s4j9I3IhEe2-Np0Hy5W05A" x="-15"/> + </children> + <children xmi:type="notation:Node" xmi:id="_s4j9JHIhEe2-Np0Hy5W05A" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_s4j9JXIhEe2-Np0Hy5W05A" x="15"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_s4jWH3IhEe2-Np0Hy5W05A" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_s4jWIHIhEe2-Np0Hy5W05A" fontName="Segoe UI" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_s4jWIXIhEe2-Np0Hy5W05A" points="[-21, -25, -21, -25]$[-21, -42, -21, -42]$[39, -42, 39, -42]$[39, -25, 39, -25]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_s4j9JnIhEe2-Np0Hy5W05A" id="(0.39805825242718446,0.5)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_s4j9J3IhEe2-Np0Hy5W05A" id="(0.39805825242718446,0.5)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_s4edmHIhEe2-Np0Hy5W05A" type="4001" element="_s4VTonIhEe2-Np0Hy5W05A" source="_s4baQ3IhEe2-Np0Hy5W05A" target="_s4azPnIhEe2-Np0Hy5W05A"> + <children xmi:type="notation:Node" xmi:id="_s4ednHIhEe2-Np0Hy5W05A" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_s4ednXIhEe2-Np0Hy5W05A" x="51" y="-88"/> + </children> + <children xmi:type="notation:Node" xmi:id="_s4ednnIhEe2-Np0Hy5W05A" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_s4edn3IhEe2-Np0Hy5W05A" x="105" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_s4edoHIhEe2-Np0Hy5W05A" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_s4edoXIhEe2-Np0Hy5W05A" x="9"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_s4edmXIhEe2-Np0Hy5W05A" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_s4edmnIhEe2-Np0Hy5W05A" fontName="Segoe UI" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_s4edm3IhEe2-Np0Hy5W05A" points="[-24, -25, -2, 197]$[-24, -196, -2, 26]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_s4fEoHIhEe2-Np0Hy5W05A" id="(0.6263157894736842,0.5)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_s4fEoXIhEe2-Np0Hy5W05A" id="(0.39805825242718446,0.5)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_s4hg4HIhEe2-Np0Hy5W05A" type="4001" element="_s4Xv5HIhEe2-Np0Hy5W05A" source="_s4baQ3IhEe2-Np0Hy5W05A" target="_s4baQ3IhEe2-Np0Hy5W05A"> + <children xmi:type="notation:Node" xmi:id="_s4iH8HIhEe2-Np0Hy5W05A" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_s4iH8XIhEe2-Np0Hy5W05A" x="-2" y="-14"/> + </children> + <children xmi:type="notation:Node" xmi:id="_s4ivAHIhEe2-Np0Hy5W05A" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_s4ivAXIhEe2-Np0Hy5W05A" x="-5"/> + </children> + <children xmi:type="notation:Node" xmi:id="_s4ivAnIhEe2-Np0Hy5W05A" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_s4ivA3IhEe2-Np0Hy5W05A" x="4" y="10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_s4hg4XIhEe2-Np0Hy5W05A" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_s4hg4nIhEe2-Np0Hy5W05A" fontName="Segoe UI" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_s4hg43IhEe2-Np0Hy5W05A" points="[17, 26, 17, 26]$[17, 41, 17, 41]$[-43, 41, -43, 41]$[-43, 26, -43, 26]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_s4jWEHIhEe2-Np0Hy5W05A" id="(0.6263157894736842,0.5)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_s4jWEXIhEe2-Np0Hy5W05A" id="(0.6263157894736842,0.5)"/> + </edges> + </data> + </ownedAnnotationEntries> + <ownedAnnotationEntries xmi:type="description:AnnotationEntry" uid="_s4YW-XIhEe2-Np0Hy5W05A" source="DANNOTATION_CUSTOMIZATION_KEY"> + <data xmi:type="diagram:ComputedStyleDescriptionRegistry" uid="_s4YW-nIhEe2-Np0Hy5W05A"/> + </ownedAnnotationEntries> + <ownedDiagramElements xmi:type="diagram:DNode" uid="_s4RCMHIhEe2-Np0Hy5W05A" name="initial" outgoingEdges="_s4TecHIhEe2-Np0Hy5W05A" width="3" height="3"> + <target xmi:type="statemachine:InitialState" href="statemachines/garagedoor.statemachine#initial"/> + <semanticElements xmi:type="statemachine:InitialState" href="statemachines/garagedoor.statemachine#initial"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:Dot" uid="_s4RCMXIhEe2-Np0Hy5W05A" labelSize="12" showIcon="false" backgroundColor="0,0,0"> + <description xmi:type="style:DotDescription" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@nodeMappings[name='Initial%20State']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@nodeMappings[name='Initial%20State']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNode" uid="_s4RpQXIhEe2-Np0Hy5W05A" name="final" incomingEdges="_s4WhwHIhEe2-Np0Hy5W05A" width="3" height="3"> + <target xmi:type="statemachine:FinalState" href="statemachines/garagedoor.statemachine#final"/> + <semanticElements xmi:type="statemachine:FinalState" href="statemachines/garagedoor.statemachine#final"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:Dot" uid="_s4RpQnIhEe2-Np0Hy5W05A" labelSize="12" showIcon="false" backgroundColor="209,209,209"> + <description xmi:type="style:DotDescription" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@nodeMappings[name='Final%20State']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@nodeMappings[name='Final%20State']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_s4RpRHIhEe2-Np0Hy5W05A" name="Closed" outgoingEdges="_s4UFgHIhEe2-Np0Hy5W05A _s4WhwHIhEe2-Np0Hy5W05A _s4XI03IhEe2-Np0Hy5W05A" incomingEdges="_s4TecHIhEe2-Np0Hy5W05A _s4Usl3IhEe2-Np0Hy5W05A _s4XI03IhEe2-Np0Hy5W05A"> + <target xmi:type="statemachine:NormalState" href="statemachines/garagedoor.statemachine#Closed"/> + <semanticElements xmi:type="statemachine:NormalState" href="statemachines/garagedoor.statemachine#Closed"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_s4RpRXIhEe2-Np0Hy5W05A" labelSize="12" showIcon="false" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" backgroundColor="255,245,181" foregroundColor="255,245,181"> + <labelFormat>bold</labelFormat> + <description xmi:type="style:FlatContainerStyleDescription" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@containerMappings[name='Normal%20State']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@containerMappings[name='Normal%20State']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_s4SQUXIhEe2-Np0Hy5W05A" name="Open" outgoingEdges="_s4UsknIhEe2-Np0Hy5W05A _s4Xv6XIhEe2-Np0Hy5W05A" incomingEdges="_s4UFhXIhEe2-Np0Hy5W05A _s4Xv6XIhEe2-Np0Hy5W05A"> + <target xmi:type="statemachine:NormalState" href="statemachines/garagedoor.statemachine#Open"/> + <semanticElements xmi:type="statemachine:NormalState" href="statemachines/garagedoor.statemachine#Open"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_s4SQUnIhEe2-Np0Hy5W05A" labelSize="12" showIcon="false" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" backgroundColor="255,245,181" foregroundColor="255,245,181"> + <labelFormat>bold</labelFormat> + <description xmi:type="style:FlatContainerStyleDescription" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@containerMappings[name='Normal%20State']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@containerMappings[name='Normal%20State']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_s4SQVHIhEe2-Np0Hy5W05A" name="Opening" outgoingEdges="_s4UFhXIhEe2-Np0Hy5W05A _s4VTp3IhEe2-Np0Hy5W05A _s4YW9HIhEe2-Np0Hy5W05A" incomingEdges="_s4UFgHIhEe2-Np0Hy5W05A _s4VTonIhEe2-Np0Hy5W05A _s4YW9HIhEe2-Np0Hy5W05A"> + <target xmi:type="statemachine:NormalState" href="statemachines/garagedoor.statemachine#Opening"/> + <semanticElements xmi:type="statemachine:NormalState" href="statemachines/garagedoor.statemachine#Opening"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_s4SQVXIhEe2-Np0Hy5W05A" labelSize="12" showIcon="false" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" backgroundColor="255,245,181" foregroundColor="255,245,181"> + <labelFormat>bold</labelFormat> + <description xmi:type="style:FlatContainerStyleDescription" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@containerMappings[name='Normal%20State']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@containerMappings[name='Normal%20State']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_s4SQV3IhEe2-Np0Hy5W05A" name="Closing" outgoingEdges="_s4Usl3IhEe2-Np0Hy5W05A _s4VTonIhEe2-Np0Hy5W05A _s4Xv5HIhEe2-Np0Hy5W05A" incomingEdges="_s4UsknIhEe2-Np0Hy5W05A _s4VTp3IhEe2-Np0Hy5W05A _s4Xv5HIhEe2-Np0Hy5W05A"> + <target xmi:type="statemachine:NormalState" href="statemachines/garagedoor.statemachine#Closing"/> + <semanticElements xmi:type="statemachine:NormalState" href="statemachines/garagedoor.statemachine#Closing"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_s4SQWHIhEe2-Np0Hy5W05A" labelSize="12" showIcon="false" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" backgroundColor="255,245,181" foregroundColor="255,245,181"> + <labelFormat>bold</labelFormat> + <description xmi:type="style:FlatContainerStyleDescription" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@containerMappings[name='Normal%20State']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@containerMappings[name='Normal%20State']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_s4S3YHIhEe2-Np0Hy5W05A" name="State Machine: Garage Door" height="4"> + <target xmi:type="statemachine:StateMachine" href="statemachines/garagedoor.statemachine#Garage Door"/> + <semanticElements xmi:type="statemachine:StateMachine" href="statemachines/garagedoor.statemachine#Garage Door"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_s4S3YXIhEe2-Np0Hy5W05A" labelSize="10" showIcon="false" borderColor="209,209,209" backgroundStyle="Liquid" backgroundColor="209,209,209"> + <labelFormat>bold</labelFormat> + <description xmi:type="style:FlatContainerStyleDescription" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@containerMappings[name='State%20Machine%20Label']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@containerMappings[name='State%20Machine%20Label']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_s4TecHIhEe2-Np0Hy5W05A" sourceNode="_s4RCMHIhEe2-Np0Hy5W05A" targetNode="_s4RpRHIhEe2-Np0Hy5W05A"> + <target xmi:type="statemachine:Transition" href="statemachines/garagedoor.statemachine#//@transitions.0"/> + <semanticElements xmi:type="statemachine:Transition" href="statemachines/garagedoor.statemachine#//@transitions.0"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_s4TecXIhEe2-Np0Hy5W05A" size="2" routingStyle="manhattan" strokeColor="0,0,0"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@edgeMappings[name='Transition']/@style"/> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_s4TecnIhEe2-Np0Hy5W05A" showIcon="false"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@edgeMappings[name='Transition']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_s4UFgHIhEe2-Np0Hy5W05A" name="openDoor / motor.upwards" sourceNode="_s4RpRHIhEe2-Np0Hy5W05A" targetNode="_s4SQVHIhEe2-Np0Hy5W05A"> + <target xmi:type="statemachine:Transition" href="statemachines/garagedoor.statemachine#//@transitions.1"/> + <semanticElements xmi:type="statemachine:Transition" href="statemachines/garagedoor.statemachine#//@transitions.1"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_s4UFgXIhEe2-Np0Hy5W05A" size="2" routingStyle="manhattan" strokeColor="0,0,0"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@edgeMappings[name='Transition']/@style"/> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_s4UFgnIhEe2-Np0Hy5W05A" showIcon="false"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@edgeMappings[name='Transition']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_s4UFhXIhEe2-Np0Hy5W05A" name=" [stopper] / motor.stop" sourceNode="_s4SQVHIhEe2-Np0Hy5W05A" targetNode="_s4SQUXIhEe2-Np0Hy5W05A"> + <target xmi:type="statemachine:Transition" href="statemachines/garagedoor.statemachine#//@transitions.2"/> + <semanticElements xmi:type="statemachine:Transition" href="statemachines/garagedoor.statemachine#//@transitions.2"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_s4UFhnIhEe2-Np0Hy5W05A" size="2" routingStyle="manhattan" strokeColor="0,0,0"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@edgeMappings[name='Transition']/@style"/> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_s4UFh3IhEe2-Np0Hy5W05A" showIcon="false"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@edgeMappings[name='Transition']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_s4UsknIhEe2-Np0Hy5W05A" name="closeDoor / motor.downwards" sourceNode="_s4SQUXIhEe2-Np0Hy5W05A" targetNode="_s4SQV3IhEe2-Np0Hy5W05A"> + <target xmi:type="statemachine:Transition" href="statemachines/garagedoor.statemachine#//@transitions.3"/> + <semanticElements xmi:type="statemachine:Transition" href="statemachines/garagedoor.statemachine#//@transitions.3"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_s4Usk3IhEe2-Np0Hy5W05A" size="2" routingStyle="manhattan" strokeColor="0,0,0"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@edgeMappings[name='Transition']/@style"/> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_s4UslHIhEe2-Np0Hy5W05A" showIcon="false"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@edgeMappings[name='Transition']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_s4Usl3IhEe2-Np0Hy5W05A" name=" [stopper] / motor.stop" sourceNode="_s4SQV3IhEe2-Np0Hy5W05A" targetNode="_s4RpRHIhEe2-Np0Hy5W05A"> + <target xmi:type="statemachine:Transition" href="statemachines/garagedoor.statemachine#//@transitions.4"/> + <semanticElements xmi:type="statemachine:Transition" href="statemachines/garagedoor.statemachine#//@transitions.4"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_s4UsmHIhEe2-Np0Hy5W05A" size="2" routingStyle="manhattan" strokeColor="0,0,0"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@edgeMappings[name='Transition']/@style"/> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_s4UsmXIhEe2-Np0Hy5W05A" showIcon="false"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@edgeMappings[name='Transition']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_s4VTonIhEe2-Np0Hy5W05A" name="openDoor / motor.upwards" sourceNode="_s4SQV3IhEe2-Np0Hy5W05A" targetNode="_s4SQVHIhEe2-Np0Hy5W05A"> + <target xmi:type="statemachine:Transition" href="statemachines/garagedoor.statemachine#//@transitions.5"/> + <semanticElements xmi:type="statemachine:Transition" href="statemachines/garagedoor.statemachine#//@transitions.5"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_s4VTo3IhEe2-Np0Hy5W05A" size="2" routingStyle="manhattan" strokeColor="0,0,0"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@edgeMappings[name='Transition']/@style"/> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_s4VTpHIhEe2-Np0Hy5W05A" showIcon="false"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@edgeMappings[name='Transition']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_s4VTp3IhEe2-Np0Hy5W05A" name="closeDoor / motor.downwards" sourceNode="_s4SQVHIhEe2-Np0Hy5W05A" targetNode="_s4SQV3IhEe2-Np0Hy5W05A"> + <target xmi:type="statemachine:Transition" href="statemachines/garagedoor.statemachine#//@transitions.6"/> + <semanticElements xmi:type="statemachine:Transition" href="statemachines/garagedoor.statemachine#//@transitions.6"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_s4V6sHIhEe2-Np0Hy5W05A" size="2" routingStyle="manhattan" strokeColor="0,0,0"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@edgeMappings[name='Transition']/@style"/> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_s4V6sXIhEe2-Np0Hy5W05A" showIcon="false"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@edgeMappings[name='Transition']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_s4WhwHIhEe2-Np0Hy5W05A" name=" [shutdown]" sourceNode="_s4RpRHIhEe2-Np0Hy5W05A" targetNode="_s4RpQXIhEe2-Np0Hy5W05A"> + <target xmi:type="statemachine:Transition" href="statemachines/garagedoor.statemachine#//@transitions.7"/> + <semanticElements xmi:type="statemachine:Transition" href="statemachines/garagedoor.statemachine#//@transitions.7"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_s4WhwXIhEe2-Np0Hy5W05A" size="2" routingStyle="manhattan" strokeColor="0,0,0"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@edgeMappings[name='Transition']/@style"/> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_s4XI0HIhEe2-Np0Hy5W05A" showIcon="false"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@edgeMappings[name='Transition']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_s4XI03IhEe2-Np0Hy5W05A" name="closeDoor" sourceNode="_s4RpRHIhEe2-Np0Hy5W05A" targetNode="_s4RpRHIhEe2-Np0Hy5W05A"> + <target xmi:type="statemachine:Transition" href="statemachines/garagedoor.statemachine#//@transitions.8"/> + <semanticElements xmi:type="statemachine:Transition" href="statemachines/garagedoor.statemachine#//@transitions.8"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_s4Xv4HIhEe2-Np0Hy5W05A" size="2" routingStyle="manhattan" strokeColor="0,0,0"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@edgeMappings[name='Transition']/@style"/> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_s4Xv4XIhEe2-Np0Hy5W05A" showIcon="false"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@edgeMappings[name='Transition']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_s4Xv5HIhEe2-Np0Hy5W05A" name="closeDoor" sourceNode="_s4SQV3IhEe2-Np0Hy5W05A" targetNode="_s4SQV3IhEe2-Np0Hy5W05A"> + <target xmi:type="statemachine:Transition" href="statemachines/garagedoor.statemachine#//@transitions.9"/> + <semanticElements xmi:type="statemachine:Transition" href="statemachines/garagedoor.statemachine#//@transitions.9"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_s4Xv5XIhEe2-Np0Hy5W05A" size="2" routingStyle="manhattan" strokeColor="0,0,0"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@edgeMappings[name='Transition']/@style"/> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_s4Xv5nIhEe2-Np0Hy5W05A" showIcon="false"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@edgeMappings[name='Transition']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_s4Xv6XIhEe2-Np0Hy5W05A" name="openDoor" sourceNode="_s4SQUXIhEe2-Np0Hy5W05A" targetNode="_s4SQUXIhEe2-Np0Hy5W05A"> + <target xmi:type="statemachine:Transition" href="statemachines/garagedoor.statemachine#//@transitions.10"/> + <semanticElements xmi:type="statemachine:Transition" href="statemachines/garagedoor.statemachine#//@transitions.10"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_s4YW8HIhEe2-Np0Hy5W05A" size="2" routingStyle="manhattan" strokeColor="0,0,0"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@edgeMappings[name='Transition']/@style"/> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_s4YW8XIhEe2-Np0Hy5W05A" showIcon="false"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@edgeMappings[name='Transition']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_s4YW9HIhEe2-Np0Hy5W05A" name="openDoor" sourceNode="_s4SQVHIhEe2-Np0Hy5W05A" targetNode="_s4SQVHIhEe2-Np0Hy5W05A"> + <target xmi:type="statemachine:Transition" href="statemachines/garagedoor.statemachine#//@transitions.11"/> + <semanticElements xmi:type="statemachine:Transition" href="statemachines/garagedoor.statemachine#//@transitions.11"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_s4YW9XIhEe2-Np0Hy5W05A" size="2" routingStyle="manhattan" strokeColor="0,0,0"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@edgeMappings[name='Transition']/@style"/> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_s4YW9nIhEe2-Np0Hy5W05A" showIcon="false"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer/@edgeMappings[name='Transition']"/> + </ownedDiagramElements> + <description xmi:type="description_1:DiagramDescription" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']"/> + <filterVariableHistory xmi:type="diagram:FilterVariableHistory" uid="_s4P0EHIhEe2-Np0Hy5W05A"/> + <activatedLayers xmi:type="description_1:Layer" href="platform:/resource/swt.most.sirius.statemachine/description/statemachine.odesign#//@ownedViewpoints[name='gDSL']/@ownedRepresentations[name='StateMachine']/@defaultLayer"/> + <target xmi:type="statemachine:StateMachine" href="statemachines/garagedoor.statemachine#Garage Door"/> + </diagram:DSemanticDiagram> + <diagram:DSemanticDiagram uid="_7ZlfIHI4Ee2-kruQw0QW4w"> + <ownedAnnotationEntries xmi:type="description:AnnotationEntry" uid="_7ZmtQHI4Ee2-kruQw0QW4w" source="GMF_DIAGRAMS"> + <data xmi:type="notation:Diagram" xmi:id="_7ZmtQXI4Ee2-kruQw0QW4w" type="Sirius" element="_7ZlfIHI4Ee2-kruQw0QW4w" measurementUnit="Pixel"> + <children xmi:type="notation:Node" xmi:id="_7aFOYHI4Ee2-kruQw0QW4w" type="2001" element="_7Zn7YHI4Ee2-kruQw0QW4w"> + <children xmi:type="notation:Node" xmi:id="_7aF1cHI4Ee2-kruQw0QW4w" type="5002"> + <layoutConstraint xmi:type="notation:Location" xmi:id="_7aF1cXI4Ee2-kruQw0QW4w" x="31" y="1"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7aUe8HI4Ee2-kruQw0QW4w" type="3001" element="_7ZvQJnI4Ee2-kruQw0QW4w"> + <children xmi:type="notation:Node" xmi:id="_7aUe83I4Ee2-kruQw0QW4w" type="5001"> + <layoutConstraint xmi:type="notation:Location" xmi:id="_7aUe9HI4Ee2-kruQw0QW4w" y="5"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7aUe-HI4Ee2-kruQw0QW4w" type="3002" element="_7ZvQJ3I4Ee2-kruQw0QW4w"> + <styles xmi:type="notation:ShapeStyle" xmi:id="_7aUe-XI4Ee2-kruQw0QW4w" fontName="Segoe UI"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7aUe-nI4Ee2-kruQw0QW4w"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_7aUe8XI4Ee2-kruQw0QW4w" fontName="Segoe UI" fontHeight="12"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7aUe8nI4Ee2-kruQw0QW4w" x="22" y="10" width="20" height="20"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7aUe9XI4Ee2-kruQw0QW4w" type="3002" element="_7Zn7YXI4Ee2-kruQw0QW4w"> + <styles xmi:type="notation:ShapeStyle" xmi:id="_7aUe9nI4Ee2-kruQw0QW4w" fontName="Segoe UI"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7aUe93I4Ee2-kruQw0QW4w"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_7aFOYXI4Ee2-kruQw0QW4w" fontName="Segoe UI" fontHeight="12"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7aFOYnI4Ee2-kruQw0QW4w" x="31" y="678" width="30" height="30"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7aF1cnI4Ee2-kruQw0QW4w" type="2001" element="_7ZoicXI4Ee2-kruQw0QW4w"> + <children xmi:type="notation:Node" xmi:id="_7aGcgHI4Ee2-kruQw0QW4w" type="5002"> + <layoutConstraint xmi:type="notation:Location" xmi:id="_7aGcgXI4Ee2-kruQw0QW4w" x="31" y="1"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7aVGAHI4Ee2-kruQw0QW4w" type="3002" element="_7ZoicnI4Ee2-kruQw0QW4w"> + <styles xmi:type="notation:ShapeStyle" xmi:id="_7aVGAXI4Ee2-kruQw0QW4w" fontName="Segoe UI"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7aVGAnI4Ee2-kruQw0QW4w"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_7aF1c3I4Ee2-kruQw0QW4w" fontName="Segoe UI" fontHeight="12"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7aF1dHI4Ee2-kruQw0QW4w" x="211" y="678" width="30" height="30"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7aGcgnI4Ee2-kruQw0QW4w" type="2001" element="_7ZoidHI4Ee2-kruQw0QW4w"> + <children xmi:type="notation:Node" xmi:id="_7aGchXI4Ee2-kruQw0QW4w" type="5002"> + <layoutConstraint xmi:type="notation:Location" xmi:id="_7aGchnI4Ee2-kruQw0QW4w" x="31" y="1"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7aVGA3I4Ee2-kruQw0QW4w" type="3002" element="_7ZoidXI4Ee2-kruQw0QW4w"> + <styles xmi:type="notation:ShapeStyle" xmi:id="_7aVGBHI4Ee2-kruQw0QW4w" fontName="Segoe UI"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7aVGBXI4Ee2-kruQw0QW4w"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_7aGcg3I4Ee2-kruQw0QW4w" fontName="Segoe UI" fontHeight="12"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7aGchHI4Ee2-kruQw0QW4w" x="888" y="678" width="30" height="30"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7aHDkHI4Ee2-kruQw0QW4w" type="2001" element="_7Zoid3I4Ee2-kruQw0QW4w"> + <children xmi:type="notation:Node" xmi:id="_7aHDk3I4Ee2-kruQw0QW4w" type="5002"> + <layoutConstraint xmi:type="notation:Location" xmi:id="_7aHDlHI4Ee2-kruQw0QW4w" x="-23" y="-29"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7aVGBnI4Ee2-kruQw0QW4w" type="3002" element="_7ZpJgHI4Ee2-kruQw0QW4w"> + <styles xmi:type="notation:ShapeStyle" xmi:id="_7aVGB3I4Ee2-kruQw0QW4w" fontName="Segoe UI"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7aVGCHI4Ee2-kruQw0QW4w"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_7aHDkXI4Ee2-kruQw0QW4w" fontName="Segoe UI" fontHeight="12"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7aHDknI4Ee2-kruQw0QW4w" x="552" y="389" width="30" height="30"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7aHqoHI4Ee2-kruQw0QW4w" type="2001" element="_7ZpJgnI4Ee2-kruQw0QW4w"> + <children xmi:type="notation:Node" xmi:id="_7aHqo3I4Ee2-kruQw0QW4w" type="5002"> + <layoutConstraint xmi:type="notation:Location" xmi:id="_7aHqpHI4Ee2-kruQw0QW4w" x="-17" y="31"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7aVtEHI4Ee2-kruQw0QW4w" type="3002" element="_7ZpJg3I4Ee2-kruQw0QW4w"> + <styles xmi:type="notation:ShapeStyle" xmi:id="_7aVtEXI4Ee2-kruQw0QW4w" fontName="Segoe UI"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7aVtEnI4Ee2-kruQw0QW4w"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_7aHqoXI4Ee2-kruQw0QW4w" fontName="Segoe UI" fontHeight="12"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7aHqonI4Ee2-kruQw0QW4w" x="552" y="780" width="30" height="30"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7aHqpXI4Ee2-kruQw0QW4w" type="2001" element="_7ZpwkHI4Ee2-kruQw0QW4w"> + <children xmi:type="notation:Node" xmi:id="_7aHqqHI4Ee2-kruQw0QW4w" type="5002"> + <layoutConstraint xmi:type="notation:Location" xmi:id="_7aHqqXI4Ee2-kruQw0QW4w" x="-3" y="-29"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7aVtE3I4Ee2-kruQw0QW4w" type="3002" element="_7ZpwkXI4Ee2-kruQw0QW4w"> + <styles xmi:type="notation:ShapeStyle" xmi:id="_7aVtFHI4Ee2-kruQw0QW4w" fontName="Segoe UI"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7aVtFXI4Ee2-kruQw0QW4w"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_7aHqpnI4Ee2-kruQw0QW4w" fontName="Segoe UI" fontHeight="12"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7aHqp3I4Ee2-kruQw0QW4w" x="31" y="567" width="30" height="30"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7aIRsHI4Ee2-kruQw0QW4w" type="2001" element="_7Zpwk3I4Ee2-kruQw0QW4w"> + <children xmi:type="notation:Node" xmi:id="_7aJf0HI4Ee2-kruQw0QW4w" type="5002"> + <layoutConstraint xmi:type="notation:Location" xmi:id="_7aJf0XI4Ee2-kruQw0QW4w" x="-30" y="-29"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7aVtFnI4Ee2-kruQw0QW4w" type="3002" element="_7ZpwlHI4Ee2-kruQw0QW4w"> + <styles xmi:type="notation:ShapeStyle" xmi:id="_7aVtF3I4Ee2-kruQw0QW4w" fontName="Segoe UI"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7aVtGHI4Ee2-kruQw0QW4w"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_7aIRsXI4Ee2-kruQw0QW4w" fontName="Segoe UI" fontHeight="12"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7aIRsnI4Ee2-kruQw0QW4w" x="259" y="324" width="30" height="30"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7aJf0nI4Ee2-kruQw0QW4w" type="2001" element="_7ZqXoHI4Ee2-kruQw0QW4w"> + <children xmi:type="notation:Node" xmi:id="_7aKG4HI4Ee2-kruQw0QW4w" type="5002"> + <layoutConstraint xmi:type="notation:Location" xmi:id="_7aKG4XI4Ee2-kruQw0QW4w" x="-51" y="-29"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7aVtGXI4Ee2-kruQw0QW4w" type="3002" element="_7ZqXoXI4Ee2-kruQw0QW4w"> + <styles xmi:type="notation:ShapeStyle" xmi:id="_7aVtGnI4Ee2-kruQw0QW4w" fontName="Segoe UI"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7aVtG3I4Ee2-kruQw0QW4w"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_7aJf03I4Ee2-kruQw0QW4w" fontName="Segoe UI" fontHeight="12"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7aJf1HI4Ee2-kruQw0QW4w" x="384" y="324" width="30" height="30"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7aKG4nI4Ee2-kruQw0QW4w" type="2001" element="_7ZqXo3I4Ee2-kruQw0QW4w"> + <children xmi:type="notation:Node" xmi:id="_7aKG5XI4Ee2-kruQw0QW4w" type="5002"> + <layoutConstraint xmi:type="notation:Location" xmi:id="_7aKG5nI4Ee2-kruQw0QW4w" x="-19" y="-29"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7aWUIHI4Ee2-kruQw0QW4w" type="3002" element="_7ZqXpHI4Ee2-kruQw0QW4w"> + <styles xmi:type="notation:ShapeStyle" xmi:id="_7aWUIXI4Ee2-kruQw0QW4w" fontName="Segoe UI"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7aWUInI4Ee2-kruQw0QW4w"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_7aKG43I4Ee2-kruQw0QW4w" fontName="Segoe UI" fontHeight="12"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7aKG5HI4Ee2-kruQw0QW4w" x="696" y="324" width="30" height="30"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7aKG53I4Ee2-kruQw0QW4w" type="2001" element="_7Zq-sHI4Ee2-kruQw0QW4w"> + <children xmi:type="notation:Node" xmi:id="_7aKG6nI4Ee2-kruQw0QW4w" type="5002"> + <layoutConstraint xmi:type="notation:Location" xmi:id="_7aKG63I4Ee2-kruQw0QW4w" x="-34" y="-29"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7aWUI3I4Ee2-kruQw0QW4w" type="3002" element="_7Zq-sXI4Ee2-kruQw0QW4w"> + <styles xmi:type="notation:ShapeStyle" xmi:id="_7aWUJHI4Ee2-kruQw0QW4w" fontName="Segoe UI"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7aWUJXI4Ee2-kruQw0QW4w"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_7aKG6HI4Ee2-kruQw0QW4w" fontName="Segoe UI" fontHeight="12"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7aKG6XI4Ee2-kruQw0QW4w" x="798" y="324" width="30" height="30"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7aKt8HI4Ee2-kruQw0QW4w" type="2001" element="_7Zq-s3I4Ee2-kruQw0QW4w"> + <children xmi:type="notation:Node" xmi:id="_7aKt83I4Ee2-kruQw0QW4w" type="5002"> + <layoutConstraint xmi:type="notation:Location" xmi:id="_7aKt9HI4Ee2-kruQw0QW4w" x="-29" y="31"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7aW7MHI4Ee2-kruQw0QW4w" type="3002" element="_7Zq-tHI4Ee2-kruQw0QW4w"> + <styles xmi:type="notation:ShapeStyle" xmi:id="_7aW7MXI4Ee2-kruQw0QW4w" fontName="Segoe UI"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7aW7MnI4Ee2-kruQw0QW4w"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_7aKt8XI4Ee2-kruQw0QW4w" fontName="Segoe UI" fontHeight="12"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7aKt8nI4Ee2-kruQw0QW4w" x="821" y="849" width="30" height="30"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7aKt9XI4Ee2-kruQw0QW4w" type="2001" element="_7Zq-tnI4Ee2-kruQw0QW4w"> + <children xmi:type="notation:Node" xmi:id="_7aKt-HI4Ee2-kruQw0QW4w" type="5002"> + <layoutConstraint xmi:type="notation:Location" xmi:id="_7aKt-XI4Ee2-kruQw0QW4w" x="-64" y="31"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7aW7M3I4Ee2-kruQw0QW4w" type="3002" element="_7ZrlwHI4Ee2-kruQw0QW4w"> + <styles xmi:type="notation:ShapeStyle" xmi:id="_7aW7NHI4Ee2-kruQw0QW4w" fontName="Segoe UI"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7aW7NXI4Ee2-kruQw0QW4w"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_7aKt9nI4Ee2-kruQw0QW4w" fontName="Segoe UI" fontHeight="12"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7aKt93I4Ee2-kruQw0QW4w" x="684" y="849" width="30" height="30"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7aKt-nI4Ee2-kruQw0QW4w" type="2001" element="_7ZrlwnI4Ee2-kruQw0QW4w"> + <children xmi:type="notation:Node" xmi:id="_7aLVAHI4Ee2-kruQw0QW4w" type="5002"> + <layoutConstraint xmi:type="notation:Location" xmi:id="_7aLVAXI4Ee2-kruQw0QW4w" x="-19" y="31"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7aW7NnI4Ee2-kruQw0QW4w" type="3002" element="_7Zrlw3I4Ee2-kruQw0QW4w"> + <styles xmi:type="notation:ShapeStyle" xmi:id="_7aW7N3I4Ee2-kruQw0QW4w" fontName="Segoe UI"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7aW7OHI4Ee2-kruQw0QW4w"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_7aKt-3I4Ee2-kruQw0QW4w" fontName="Segoe UI" fontHeight="12"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7aKt_HI4Ee2-kruQw0QW4w" x="402" y="849" width="30" height="30"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7aLVAnI4Ee2-kruQw0QW4w" type="2001" element="_7ZrlxXI4Ee2-kruQw0QW4w"> + <children xmi:type="notation:Node" xmi:id="_7aLVBXI4Ee2-kruQw0QW4w" type="5002"> + <layoutConstraint xmi:type="notation:Location" xmi:id="_7aLVBnI4Ee2-kruQw0QW4w" x="-34" y="31"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7aW7OXI4Ee2-kruQw0QW4w" type="3002" element="_7ZrlxnI4Ee2-kruQw0QW4w"> + <styles xmi:type="notation:ShapeStyle" xmi:id="_7aW7OnI4Ee2-kruQw0QW4w" fontName="Segoe UI"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7aW7O3I4Ee2-kruQw0QW4w"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_7aLVA3I4Ee2-kruQw0QW4w" fontName="Segoe UI" fontHeight="12"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7aLVBHI4Ee2-kruQw0QW4w" x="270" y="849" width="30" height="30"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7aLVB3I4Ee2-kruQw0QW4w" type="2001" element="_7ZsM0XI4Ee2-kruQw0QW4w"> + <children xmi:type="notation:Node" xmi:id="_7aLVCnI4Ee2-kruQw0QW4w" type="5002"> + <layoutConstraint xmi:type="notation:Location" xmi:id="_7aLVC3I4Ee2-kruQw0QW4w" x="-91" y="1"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7aW7PHI4Ee2-kruQw0QW4w" type="3002" element="_7ZsM0nI4Ee2-kruQw0QW4w"> + <styles xmi:type="notation:ShapeStyle" xmi:id="_7aW7PXI4Ee2-kruQw0QW4w" fontName="Segoe UI"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7aW7PnI4Ee2-kruQw0QW4w"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_7aLVCHI4Ee2-kruQw0QW4w" fontName="Segoe UI" fontHeight="12"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7aLVCXI4Ee2-kruQw0QW4w" x="516" y="611" width="30" height="30"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7aL8EHI4Ee2-kruQw0QW4w" type="2001" element="_7ZsM1HI4Ee2-kruQw0QW4w"> + <children xmi:type="notation:Node" xmi:id="_7aL8E3I4Ee2-kruQw0QW4w" type="5002"> + <layoutConstraint xmi:type="notation:Location" xmi:id="_7aL8FHI4Ee2-kruQw0QW4w" x="-51" y="31"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7aW7P3I4Ee2-kruQw0QW4w" type="3002" element="_7ZsM1XI4Ee2-kruQw0QW4w"> + <styles xmi:type="notation:ShapeStyle" xmi:id="_7aW7QHI4Ee2-kruQw0QW4w" fontName="Segoe UI"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7aW7QXI4Ee2-kruQw0QW4w"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_7aL8EXI4Ee2-kruQw0QW4w" fontName="Segoe UI" fontHeight="12"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7aL8EnI4Ee2-kruQw0QW4w" x="413" y="538" width="30" height="30"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7aL8FXI4Ee2-kruQw0QW4w" type="2001" element="_7Zsz4XI4Ee2-kruQw0QW4w"> + <children xmi:type="notation:Node" xmi:id="_7aL8GHI4Ee2-kruQw0QW4w" type="5002"> + <layoutConstraint xmi:type="notation:Location" xmi:id="_7aL8GXI4Ee2-kruQw0QW4w" x="31" y="1"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7aXiQHI4Ee2-kruQw0QW4w" type="3002" element="_7Zsz4nI4Ee2-kruQw0QW4w"> + <styles xmi:type="notation:ShapeStyle" xmi:id="_7aXiQXI4Ee2-kruQw0QW4w" fontName="Segoe UI"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7aXiQnI4Ee2-kruQw0QW4w"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_7aL8FnI4Ee2-kruQw0QW4w" fontName="Segoe UI" fontHeight="12"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7aL8F3I4Ee2-kruQw0QW4w" x="588" y="426" width="30" height="30"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7aL8GnI4Ee2-kruQw0QW4w" type="2001" element="_7Zsz5HI4Ee2-kruQw0QW4w"> + <children xmi:type="notation:Node" xmi:id="_7aMjIHI4Ee2-kruQw0QW4w" type="5002"> + <layoutConstraint xmi:type="notation:Location" xmi:id="_7aMjIXI4Ee2-kruQw0QW4w" x="-64" y="-29"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7aXiQ3I4Ee2-kruQw0QW4w" type="3002" element="_7Zta8HI4Ee2-kruQw0QW4w"> + <styles xmi:type="notation:ShapeStyle" xmi:id="_7aXiRHI4Ee2-kruQw0QW4w" fontName="Segoe UI"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7aXiRXI4Ee2-kruQw0QW4w"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_7aL8G3I4Ee2-kruQw0QW4w" fontName="Segoe UI" fontHeight="12"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7aL8HHI4Ee2-kruQw0QW4w" x="732" y="496" width="30" height="30"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7aMjInI4Ee2-kruQw0QW4w" type="2001" element="_7Zta8nI4Ee2-kruQw0QW4w"> + <children xmi:type="notation:Node" xmi:id="_7aMjJXI4Ee2-kruQw0QW4w" type="5002"> + <layoutConstraint xmi:type="notation:Location" xmi:id="_7aMjJnI4Ee2-kruQw0QW4w" x="-87"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7aXiRnI4Ee2-kruQw0QW4w" type="3002" element="_7Zta83I4Ee2-kruQw0QW4w"> + <styles xmi:type="notation:ShapeStyle" xmi:id="_7aXiR3I4Ee2-kruQw0QW4w" fontName="Segoe UI"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7aXiSHI4Ee2-kruQw0QW4w"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_7aMjI3I4Ee2-kruQw0QW4w" fontName="Segoe UI" fontHeight="12"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7aMjJHI4Ee2-kruQw0QW4w" x="182" y="496" width="30" height="30"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7aMjJ3I4Ee2-kruQw0QW4w" type="2001" element="_7ZuCAXI4Ee2-kruQw0QW4w"> + <children xmi:type="notation:Node" xmi:id="_7aNKMHI4Ee2-kruQw0QW4w" type="5002"> + <layoutConstraint xmi:type="notation:Location" xmi:id="_7aNKMXI4Ee2-kruQw0QW4w" x="-29" y="-29"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7aXiSXI4Ee2-kruQw0QW4w" type="3002" element="_7ZupEHI4Ee2-kruQw0QW4w"> + <styles xmi:type="notation:ShapeStyle" xmi:id="_7aXiSnI4Ee2-kruQw0QW4w" fontName="Segoe UI"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7aXiS3I4Ee2-kruQw0QW4w"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_7aMjKHI4Ee2-kruQw0QW4w" fontName="Segoe UI" fontHeight="12"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7aMjKXI4Ee2-kruQw0QW4w" x="282" y="582" width="30" height="30"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7aNKMnI4Ee2-kruQw0QW4w" type="2001" element="_7ZupEnI4Ee2-kruQw0QW4w"> + <children xmi:type="notation:Node" xmi:id="_7aNKNXI4Ee2-kruQw0QW4w" type="5002"> + <layoutConstraint xmi:type="notation:Location" xmi:id="_7aNKNnI4Ee2-kruQw0QW4w" x="31" y="2"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7aXiTHI4Ee2-kruQw0QW4w" type="3002" element="_7ZupE3I4Ee2-kruQw0QW4w"> + <styles xmi:type="notation:ShapeStyle" xmi:id="_7aXiTXI4Ee2-kruQw0QW4w" fontName="Segoe UI"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7aXiTnI4Ee2-kruQw0QW4w"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_7aNKM3I4Ee2-kruQw0QW4w" fontName="Segoe UI" fontHeight="12"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7aNKNHI4Ee2-kruQw0QW4w" x="684" y="924" width="30" height="30"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7aNKN3I4Ee2-kruQw0QW4w" type="2001" element="_7ZvQIHI4Ee2-kruQw0QW4w"> + <children xmi:type="notation:Node" xmi:id="_7aNxQHI4Ee2-kruQw0QW4w" type="5002"> + <layoutConstraint xmi:type="notation:Location" xmi:id="_7aNxQXI4Ee2-kruQw0QW4w" x="-30" y="-29"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7aXiT3I4Ee2-kruQw0QW4w" type="3002" element="_7ZvQIXI4Ee2-kruQw0QW4w"> + <styles xmi:type="notation:ShapeStyle" xmi:id="_7aXiUHI4Ee2-kruQw0QW4w" fontName="Segoe UI"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7aXiUXI4Ee2-kruQw0QW4w"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_7aNKOHI4Ee2-kruQw0QW4w" fontName="Segoe UI" fontHeight="12"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7aNKOXI4Ee2-kruQw0QW4w" x="821" y="582" width="30" height="30"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7aNxQnI4Ee2-kruQw0QW4w" type="2001" element="_7ZvQI3I4Ee2-kruQw0QW4w"> + <children xmi:type="notation:Node" xmi:id="_7aNxRXI4Ee2-kruQw0QW4w" type="5002"> + <layoutConstraint xmi:type="notation:Location" xmi:id="_7aNxRnI4Ee2-kruQw0QW4w" x="-30" y="-29"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7aYJUHI4Ee2-kruQw0QW4w" type="3002" element="_7ZvQJHI4Ee2-kruQw0QW4w"> + <styles xmi:type="notation:ShapeStyle" xmi:id="_7aYJUXI4Ee2-kruQw0QW4w" fontName="Segoe UI"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7aYJUnI4Ee2-kruQw0QW4w"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_7aNxQ3I4Ee2-kruQw0QW4w" fontName="Segoe UI" fontHeight="12"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7aNxRHI4Ee2-kruQw0QW4w" x="450" y="260" width="30" height="30"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7aOYUHI4Ee2-kruQw0QW4w" type="2001" element="_7Zv3MHI4Ee2-kruQw0QW4w"> + <children xmi:type="notation:Node" xmi:id="_7aOYU3I4Ee2-kruQw0QW4w" type="5002"> + <layoutConstraint xmi:type="notation:Location" xmi:id="_7aOYVHI4Ee2-kruQw0QW4w" x="-20" y="61"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7aYJU3I4Ee2-kruQw0QW4w" type="3003" element="_7ZweQHI4Ee2-kruQw0QW4w"> + <styles xmi:type="notation:ShapeStyle" xmi:id="_7aYJVHI4Ee2-kruQw0QW4w" fontName="Segoe UI"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7aYJVXI4Ee2-kruQw0QW4w"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_7aOYUXI4Ee2-kruQw0QW4w" fontName="Segoe UI" fontHeight="12"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7aOYUnI4Ee2-kruQw0QW4w" x="126" y="663" width="20" height="60"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7aO_YHI4Ee2-kruQw0QW4w" type="2001" element="_7ZweQnI4Ee2-kruQw0QW4w"> + <children xmi:type="notation:Node" xmi:id="_7aO_Y3I4Ee2-kruQw0QW4w" type="5002"> + <layoutConstraint xmi:type="notation:Location" xmi:id="_7aO_ZHI4Ee2-kruQw0QW4w" x="-35" y="61"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7aYJVnI4Ee2-kruQw0QW4w" type="3003" element="_7ZweQ3I4Ee2-kruQw0QW4w"> + <styles xmi:type="notation:ShapeStyle" xmi:id="_7aYJV3I4Ee2-kruQw0QW4w" fontName="Segoe UI"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7aYJWHI4Ee2-kruQw0QW4w"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_7aO_YXI4Ee2-kruQw0QW4w" fontName="Segoe UI" fontHeight="12"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7aO_YnI4Ee2-kruQw0QW4w" x="335" y="374" width="20" height="60"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7aPmcHI4Ee2-kruQw0QW4w" type="2001" element="_7ZweRXI4Ee2-kruQw0QW4w"> + <children xmi:type="notation:Node" xmi:id="_7aPmc3I4Ee2-kruQw0QW4w" type="5002"> + <layoutConstraint xmi:type="notation:Location" xmi:id="_7aPmdHI4Ee2-kruQw0QW4w" x="-20" y="61"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7aYJWXI4Ee2-kruQw0QW4w" type="3003" element="_7ZweRnI4Ee2-kruQw0QW4w"> + <styles xmi:type="notation:ShapeStyle" xmi:id="_7aYJWnI4Ee2-kruQw0QW4w" fontName="Segoe UI"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7aYJW3I4Ee2-kruQw0QW4w"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_7aPmcXI4Ee2-kruQw0QW4w" fontName="Segoe UI" fontHeight="12"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7aPmcnI4Ee2-kruQw0QW4w" x="750" y="374" width="20" height="60"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7aPmdXI4Ee2-kruQw0QW4w" type="2001" element="_7ZweSHI4Ee2-kruQw0QW4w"> + <children xmi:type="notation:Node" xmi:id="_7aQNgHI4Ee2-kruQw0QW4w" type="5002"> + <layoutConstraint xmi:type="notation:Location" xmi:id="_7aQNgXI4Ee2-kruQw0QW4w" x="-34" y="61"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7aYJXHI4Ee2-kruQw0QW4w" type="3003" element="_7ZweSXI4Ee2-kruQw0QW4w"> + <styles xmi:type="notation:ShapeStyle" xmi:id="_7aYJXXI4Ee2-kruQw0QW4w" fontName="Segoe UI"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7aYJXnI4Ee2-kruQw0QW4w"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_7aPmdnI4Ee2-kruQw0QW4w" fontName="Segoe UI" fontHeight="12"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7aPmd3I4Ee2-kruQw0QW4w" x="750" y="765" width="20" height="60"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7aQNgnI4Ee2-kruQw0QW4w" type="2001" element="_7ZxFUXI4Ee2-kruQw0QW4w"> + <children xmi:type="notation:Node" xmi:id="_7aQNhXI4Ee2-kruQw0QW4w" type="5002"> + <layoutConstraint xmi:type="notation:Location" xmi:id="_7aQNhnI4Ee2-kruQw0QW4w" x="-20" y="61"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7aYwYHI4Ee2-kruQw0QW4w" type="3003" element="_7ZxFUnI4Ee2-kruQw0QW4w"> + <styles xmi:type="notation:ShapeStyle" xmi:id="_7aYwYXI4Ee2-kruQw0QW4w" fontName="Segoe UI"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7aYwYnI4Ee2-kruQw0QW4w"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_7aQNg3I4Ee2-kruQw0QW4w" fontName="Segoe UI" fontHeight="12"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7aQNhHI4Ee2-kruQw0QW4w" x="335" y="765" width="20" height="60"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7aQNh3I4Ee2-kruQw0QW4w" type="2001" element="_7ZxFVHI4Ee2-kruQw0QW4w"> + <children xmi:type="notation:Node" xmi:id="_7aQ0kHI4Ee2-kruQw0QW4w" type="5002"> + <layoutConstraint xmi:type="notation:Location" xmi:id="_7aQ0kXI4Ee2-kruQw0QW4w" x="-35" y="-29"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7aYwY3I4Ee2-kruQw0QW4w" type="3003" element="_7ZxFVXI4Ee2-kruQw0QW4w"> + <styles xmi:type="notation:ShapeStyle" xmi:id="_7aYwZHI4Ee2-kruQw0QW4w" fontName="Segoe UI"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7aYwZXI4Ee2-kruQw0QW4w"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_7aQNiHI4Ee2-kruQw0QW4w" fontName="Segoe UI" fontHeight="12"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7aQNiXI4Ee2-kruQw0QW4w" x="497" y="496" width="20" height="60"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7aQ0knI4Ee2-kruQw0QW4w" type="2001" element="_7ZxFV3I4Ee2-kruQw0QW4w"> + <children xmi:type="notation:Node" xmi:id="_7aRboHI4Ee2-kruQw0QW4w" type="5002"> + <layoutConstraint xmi:type="notation:Location" xmi:id="_7aRboXI4Ee2-kruQw0QW4w" x="-34" y="61"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7aYwZnI4Ee2-kruQw0QW4w" type="3003" element="_7ZxFWHI4Ee2-kruQw0QW4w"> + <styles xmi:type="notation:ShapeStyle" xmi:id="_7aYwZ3I4Ee2-kruQw0QW4w" fontName="Segoe UI"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7aYwaHI4Ee2-kruQw0QW4w"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_7aQ0k3I4Ee2-kruQw0QW4w" fontName="Segoe UI" fontHeight="12"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7aQ0lHI4Ee2-kruQw0QW4w" x="624" y="496" width="20" height="60"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7aRbonI4Ee2-kruQw0QW4w" type="2001" element="_7ZxFWnI4Ee2-kruQw0QW4w"> + <children xmi:type="notation:Node" xmi:id="_7aRbpXI4Ee2-kruQw0QW4w" type="5002"> + <layoutConstraint xmi:type="notation:Location" xmi:id="_7aRbpnI4Ee2-kruQw0QW4w" x="-20" y="61"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7aYwaXI4Ee2-kruQw0QW4w" type="3003" element="_7ZxsYHI4Ee2-kruQw0QW4w"> + <styles xmi:type="notation:ShapeStyle" xmi:id="_7aYwanI4Ee2-kruQw0QW4w" fontName="Segoe UI"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7aYwa3I4Ee2-kruQw0QW4w"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_7aRbo3I4Ee2-kruQw0QW4w" fontName="Segoe UI" fontHeight="12"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7aRbpHI4Ee2-kruQw0QW4w" x="150" y="552" width="20" height="60"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7aSCsHI4Ee2-kruQw0QW4w" type="2001" element="_7ZxsYnI4Ee2-kruQw0QW4w"> + <children xmi:type="notation:Node" xmi:id="_7aSCs3I4Ee2-kruQw0QW4w" type="5002"> + <layoutConstraint xmi:type="notation:Location" xmi:id="_7aSCtHI4Ee2-kruQw0QW4w" x="-34" y="61"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7aZXcHI4Ee2-kruQw0QW4w" type="3003" element="_7ZxsY3I4Ee2-kruQw0QW4w"> + <styles xmi:type="notation:ShapeStyle" xmi:id="_7aZXcXI4Ee2-kruQw0QW4w" fontName="Segoe UI"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7aZXcnI4Ee2-kruQw0QW4w"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_7aSCsXI4Ee2-kruQw0QW4w" fontName="Segoe UI" fontHeight="12"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7aSCsnI4Ee2-kruQw0QW4w" x="365" y="625" width="20" height="60"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7aSpwHI4Ee2-kruQw0QW4w" type="2001" element="_7ZxsZXI4Ee2-kruQw0QW4w"> + <children xmi:type="notation:Node" xmi:id="_7aTQ0HI4Ee2-kruQw0QW4w" type="5002"> + <layoutConstraint xmi:type="notation:Location" xmi:id="_7aTQ0XI4Ee2-kruQw0QW4w" x="-34" y="61"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7aZXc3I4Ee2-kruQw0QW4w" type="3003" element="_7ZxsZnI4Ee2-kruQw0QW4w"> + <styles xmi:type="notation:ShapeStyle" xmi:id="_7aZXdHI4Ee2-kruQw0QW4w" fontName="Segoe UI"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7aZXdXI4Ee2-kruQw0QW4w"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_7aSpwXI4Ee2-kruQw0QW4w" fontName="Segoe UI" fontHeight="12"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7aSpwnI4Ee2-kruQw0QW4w" x="552" y="870" width="20" height="60"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7aT34HI4Ee2-kruQw0QW4w" type="2001" element="_7ZxsaHI4Ee2-kruQw0QW4w"> + <children xmi:type="notation:Node" xmi:id="_7aT343I4Ee2-kruQw0QW4w" type="5002"> + <layoutConstraint xmi:type="notation:Location" xmi:id="_7aT35HI4Ee2-kruQw0QW4w" x="-35" y="61"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7aZXdnI4Ee2-kruQw0QW4w" type="3003" element="_7ZxsaXI4Ee2-kruQw0QW4w"> + <styles xmi:type="notation:ShapeStyle" xmi:id="_7aZXd3I4Ee2-kruQw0QW4w" fontName="Segoe UI"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7aZXeHI4Ee2-kruQw0QW4w"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_7aT34XI4Ee2-kruQw0QW4w" fontName="Segoe UI" fontHeight="12"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7aT34nI4Ee2-kruQw0QW4w" x="761" y="625" width="20" height="60"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7aT35XI4Ee2-kruQw0QW4w" type="2001" element="_7Zxsa3I4Ee2-kruQw0QW4w"> + <children xmi:type="notation:Node" xmi:id="_7aT36HI4Ee2-kruQw0QW4w" type="5002"> + <layoutConstraint xmi:type="notation:Location" xmi:id="_7aT36XI4Ee2-kruQw0QW4w" x="-35" y="-29"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7aZXeXI4Ee2-kruQw0QW4w" type="3003" element="_7ZxsbHI4Ee2-kruQw0QW4w"> + <styles xmi:type="notation:ShapeStyle" xmi:id="_7aZXenI4Ee2-kruQw0QW4w" fontName="Segoe UI"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7aZXe3I4Ee2-kruQw0QW4w"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_7aT35nI4Ee2-kruQw0QW4w" fontName="Segoe UI" fontHeight="12"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7aT353I4Ee2-kruQw0QW4w" x="557" y="260" width="20" height="60"/> + </children> + <styles xmi:type="notation:DiagramStyle" xmi:id="_7ZmtQnI4Ee2-kruQw0QW4w"/> + <edges xmi:type="notation:Edge" xmi:id="_7aZ-gHI4Ee2-kruQw0QW4w" type="4001" element="_7Zy6gHI4Ee2-kruQw0QW4w" source="_7aFOYHI4Ee2-kruQw0QW4w" target="_7aOYUHI4Ee2-kruQw0QW4w"> + <children xmi:type="notation:Node" xmi:id="_7aalkHI4Ee2-kruQw0QW4w" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7aalkXI4Ee2-kruQw0QW4w" x="21" y="-10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7aalknI4Ee2-kruQw0QW4w" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7aalk3I4Ee2-kruQw0QW4w" x="12" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7aallHI4Ee2-kruQw0QW4w" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7aallXI4Ee2-kruQw0QW4w" y="10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_7aZ-gXI4Ee2-kruQw0QW4w" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_7aZ-gnI4Ee2-kruQw0QW4w" fontName="Segoe UI" fontHeight="12"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7aZ-g3I4Ee2-kruQw0QW4w" points="[15, 18, -75, -27]$[80, 18, -10, -27]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7aallnI4Ee2-kruQw0QW4w" id="(0.5,0.0)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7aall3I4Ee2-kruQw0QW4w" id="(0.5,1.0)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_7aalmHI4Ee2-kruQw0QW4w" type="4001" element="_7ZzhknI4Ee2-kruQw0QW4w" source="_7aF1cnI4Ee2-kruQw0QW4w" target="_7aO_YHI4Ee2-kruQw0QW4w"> + <children xmi:type="notation:Node" xmi:id="_7abMoHI4Ee2-kruQw0QW4w" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7abMoXI4Ee2-kruQw0QW4w" x="94" y="66"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7abMonI4Ee2-kruQw0QW4w" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7abMo3I4Ee2-kruQw0QW4w" x="11" y="8"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7abMpHI4Ee2-kruQw0QW4w" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7abMpXI4Ee2-kruQw0QW4w" x="1" y="10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_7aalmXI4Ee2-kruQw0QW4w" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_7aalmnI4Ee2-kruQw0QW4w" fontName="Segoe UI" fontHeight="12"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7aalm3I4Ee2-kruQw0QW4w" points="[2, 0, -117, 244]$[2, -275, -117, -31]$[109, -275, -10, -31]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7abMpnI4Ee2-kruQw0QW4w" id="(0.5,0.0)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7abMp3I4Ee2-kruQw0QW4w" id="(0.5,1.0)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_7akWkHI4Ee2-kruQw0QW4w" type="4001" element="_7Z5oOnI4Ee2-kruQw0QW4w" source="_7aF1cnI4Ee2-kruQw0QW4w" target="_7aRbonI4Ee2-kruQw0QW4w"> + <children xmi:type="notation:Node" xmi:id="_7akWlHI4Ee2-kruQw0QW4w" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7akWlXI4Ee2-kruQw0QW4w" x="15" y="-14"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7akWlnI4Ee2-kruQw0QW4w" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7akWl3I4Ee2-kruQw0QW4w" x="49" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7akWmHI4Ee2-kruQw0QW4w" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7akWmXI4Ee2-kruQw0QW4w" x="1" y="7"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_7akWkXI4Ee2-kruQw0QW4w" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_7akWknI4Ee2-kruQw0QW4w" fontName="Segoe UI" fontHeight="12"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7akWk3I4Ee2-kruQw0QW4w" points="[-10, 0, 56, 66]$[-10, -96, 56, -30]$[-56, -96, 10, -30]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7akWmnI4Ee2-kruQw0QW4w" id="(0.5,0.0)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7akWm3I4Ee2-kruQw0QW4w" id="(0.5,1.0)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_7akWqHI4Ee2-kruQw0QW4w" type="4001" element="_7Z6PSXI4Ee2-kruQw0QW4w" source="_7aF1cnI4Ee2-kruQw0QW4w" target="_7aSCsHI4Ee2-kruQw0QW4w"> + <children xmi:type="notation:Node" xmi:id="_7ak9oHI4Ee2-kruQw0QW4w" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7ak9oXI4Ee2-kruQw0QW4w" x="9" y="-10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7ak9onI4Ee2-kruQw0QW4w" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7ak9o3I4Ee2-kruQw0QW4w" x="54" y="-10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7ak9pHI4Ee2-kruQw0QW4w" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7ak9pXI4Ee2-kruQw0QW4w" x="-1" y="10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_7akWqXI4Ee2-kruQw0QW4w" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_7akWqnI4Ee2-kruQw0QW4w" fontName="Segoe UI" fontHeight="12"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7akWq3I4Ee2-kruQw0QW4w" points="[15, 0, -134, -7]$[15, -18, -134, -25]$[139, -18, -10, -25]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7ak9pnI4Ee2-kruQw0QW4w" id="(0.5,0.0)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7ak9p3I4Ee2-kruQw0QW4w" id="(0.5,1.0)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_7aoA_nI4Ee2-kruQw0QW4w" type="4001" element="_7Z8rgHI4Ee2-kruQw0QW4w" source="_7aOYUHI4Ee2-kruQw0QW4w" target="_7aF1cnI4Ee2-kruQw0QW4w"> + <children xmi:type="notation:Node" xmi:id="_7aooAHI4Ee2-kruQw0QW4w" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7aooAXI4Ee2-kruQw0QW4w" x="4" y="-10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7aooAnI4Ee2-kruQw0QW4w" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7aooA3I4Ee2-kruQw0QW4w" x="-4" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7aooBHI4Ee2-kruQw0QW4w" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7aooBXI4Ee2-kruQw0QW4w" x="-11" y="10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_7aoA_3I4Ee2-kruQw0QW4w" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_7aoBAHI4Ee2-kruQw0QW4w" fontName="Segoe UI" fontHeight="12"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7aoBAXI4Ee2-kruQw0QW4w" points="[10, 33, -80, -12]$[75, 33, -15, -12]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7aooBnI4Ee2-kruQw0QW4w" id="(0.5,0.0)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7aooB3I4Ee2-kruQw0QW4w" id="(0.5,1.0)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_7arESHI4Ee2-kruQw0QW4w" type="4001" element="_7Z_u1XI4Ee2-kruQw0QW4w" source="_7aQNgnI4Ee2-kruQw0QW4w" target="_7aF1cnI4Ee2-kruQw0QW4w"> + <children xmi:type="notation:Node" xmi:id="_7arETHI4Ee2-kruQw0QW4w" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7arETXI4Ee2-kruQw0QW4w" x="12" y="41"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7arrUHI4Ee2-kruQw0QW4w" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7arrUXI4Ee2-kruQw0QW4w" x="-21" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7arrUnI4Ee2-kruQw0QW4w" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7arrU3I4Ee2-kruQw0QW4w" x="14"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_7arESXI4Ee2-kruQw0QW4w" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_7arESnI4Ee2-kruQw0QW4w" fontName="Segoe UI" fontHeight="12"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7arES3I4Ee2-kruQw0QW4w" points="[-10, 26, 109, 83]$[-117, 26, 2, 83]$[-117, -57, 2, 0]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7arrVHI4Ee2-kruQw0QW4w" id="(0.5,0.0)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7arrVXI4Ee2-kruQw0QW4w" id="(0.5,1.0)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_7atgjnI4Ee2-kruQw0QW4w" type="4001" element="_7aBkAHI4Ee2-kruQw0QW4w" source="_7aSCsHI4Ee2-kruQw0QW4w" target="_7aF1cnI4Ee2-kruQw0QW4w"> + <children xmi:type="notation:Node" xmi:id="_7atgknI4Ee2-kruQw0QW4w" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7atgk3I4Ee2-kruQw0QW4w" x="84" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7atglHI4Ee2-kruQw0QW4w" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7atglXI4Ee2-kruQw0QW4w" x="-89" y="82"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7atglnI4Ee2-kruQw0QW4w" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7atgl3I4Ee2-kruQw0QW4w" x="-17" y="-10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_7atgj3I4Ee2-kruQw0QW4w" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_7atgkHI4Ee2-kruQw0QW4w" fontName="Segoe UI" fontHeight="12"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7atgkXI4Ee2-kruQw0QW4w" points="[10, -25, 159, -18]$[62, -25, 211, -18]$[62, 47, 211, 54]$[-135, 47, 14, 54]$[-135, 23, 14, 30]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7atgmHI4Ee2-kruQw0QW4w" id="(0.5,1.0)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7atgmXI4Ee2-kruQw0QW4w" id="(0.5,0.0)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_7aeP8nI4Ee2-kruQw0QW4w" type="4001" element="_7Z1Wx3I4Ee2-kruQw0QW4w" source="_7aGcgnI4Ee2-kruQw0QW4w" target="_7aPmdXI4Ee2-kruQw0QW4w"> + <children xmi:type="notation:Node" xmi:id="_7aeP9nI4Ee2-kruQw0QW4w" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7aeP93I4Ee2-kruQw0QW4w" x="-26" y="54"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7aeP-HI4Ee2-kruQw0QW4w" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7aeP-XI4Ee2-kruQw0QW4w" x="24"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7aeP-nI4Ee2-kruQw0QW4w" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7aeP-3I4Ee2-kruQw0QW4w" x="25" y="-10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_7aeP83I4Ee2-kruQw0QW4w" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_7aeP9HI4Ee2-kruQw0QW4w" fontName="Segoe UI" fontHeight="12"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7aeP9XI4Ee2-kruQw0QW4w" points="[3, 30, 146, -117]$[3, 114, 146, -33]$[-133, 114, 10, -33]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7ae3AHI4Ee2-kruQw0QW4w" id="(0.5,0.0)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7ae3AXI4Ee2-kruQw0QW4w" id="(0.5,1.0)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_7amLwnI4Ee2-kruQw0QW4w" type="4001" element="_7Z7dYnI4Ee2-kruQw0QW4w" source="_7aGcgnI4Ee2-kruQw0QW4w" target="_7aT34HI4Ee2-kruQw0QW4w"> + <children xmi:type="notation:Node" xmi:id="_7amLxnI4Ee2-kruQw0QW4w" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7amLx3I4Ee2-kruQw0QW4w" x="-24" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7amLyHI4Ee2-kruQw0QW4w" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7amLyXI4Ee2-kruQw0QW4w" x="-12"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7amLynI4Ee2-kruQw0QW4w" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7amLy3I4Ee2-kruQw0QW4w" y="-10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_7amLw3I4Ee2-kruQw0QW4w" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_7amLxHI4Ee2-kruQw0QW4w" fontName="Segoe UI" fontHeight="12"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7amLxXI4Ee2-kruQw0QW4w" points="[-9, -30, 123, 53]$[-9, -54, 123, 29]$[-122, -54, 10, 29]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7amLzHI4Ee2-kruQw0QW4w" id="(0.5,1.0)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7amLzXI4Ee2-kruQw0QW4w" id="(0.5,0.0)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_7apPGHI4Ee2-kruQw0QW4w" type="4001" element="_7Z-gsHI4Ee2-kruQw0QW4w" source="_7aPmcHI4Ee2-kruQw0QW4w" target="_7aGcgnI4Ee2-kruQw0QW4w"> + <children xmi:type="notation:Node" xmi:id="_7ap2IHI4Ee2-kruQw0QW4w" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7ap2IXI4Ee2-kruQw0QW4w" x="-60" y="71"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7ap2InI4Ee2-kruQw0QW4w" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7ap2I3I4Ee2-kruQw0QW4w" x="2" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7ap2JHI4Ee2-kruQw0QW4w" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7ap2JXI4Ee2-kruQw0QW4w" x="-221" y="50"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_7apPGXI4Ee2-kruQw0QW4w" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_7apPGnI4Ee2-kruQw0QW4w" fontName="Segoe UI" fontHeight="12"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7apPG3I4Ee2-kruQw0QW4w" points="[10, 30, -133, -304]$[143, 30, 0, -304]$[143, 304, 0, -30]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7ap2JnI4Ee2-kruQw0QW4w" id="(0.5,0.0)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7ap2J3I4Ee2-kruQw0QW4w" id="(0.5,1.0)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_7auHmHI4Ee2-kruQw0QW4w" type="4001" element="_7aBkCnI4Ee2-kruQw0QW4w" source="_7aT34HI4Ee2-kruQw0QW4w" target="_7aGcgnI4Ee2-kruQw0QW4w"> + <children xmi:type="notation:Node" xmi:id="_7auHnHI4Ee2-kruQw0QW4w" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7auHnXI4Ee2-kruQw0QW4w" x="93" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7auHnnI4Ee2-kruQw0QW4w" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7auHn3I4Ee2-kruQw0QW4w" x="65" y="-146"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7auHoHI4Ee2-kruQw0QW4w" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7auHoXI4Ee2-kruQw0QW4w" x="26" y="-10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_7auHmXI4Ee2-kruQw0QW4w" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_7auHmnI4Ee2-kruQw0QW4w" fontName="Segoe UI" fontHeight="12"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7auHm3I4Ee2-kruQw0QW4w" points="[-10, 30, -142, -53]$[-57, 30, -189, -53]$[-57, 107, -189, 24]$[123, 107, -9, 24]$[123, 83, -9, 0]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7auuoHI4Ee2-kruQw0QW4w" id="(0.5,0.0)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7auuoXI4Ee2-kruQw0QW4w" id="(0.5,1.0)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_7acawnI4Ee2-kruQw0QW4w" type="4001" element="_7Z0vsnI4Ee2-kruQw0QW4w" source="_7aHDkHI4Ee2-kruQw0QW4w" target="_7aPmcHI4Ee2-kruQw0QW4w"> + <children xmi:type="notation:Node" xmi:id="_7acaxnI4Ee2-kruQw0QW4w" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7acax3I4Ee2-kruQw0QW4w" x="-38" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7acayHI4Ee2-kruQw0QW4w" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7acayXI4Ee2-kruQw0QW4w" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7acaynI4Ee2-kruQw0QW4w" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7acay3I4Ee2-kruQw0QW4w" y="10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_7acaw3I4Ee2-kruQw0QW4w" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_7acaxHI4Ee2-kruQw0QW4w" fontName="Segoe UI" fontHeight="12"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7acaxXI4Ee2-kruQw0QW4w" points="[15, 15, -178, -30]$[183, 15, -10, -30]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7adB0HI4Ee2-kruQw0QW4w" id="(0.5,0.0)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7adB0XI4Ee2-kruQw0QW4w" id="(0.5,1.0)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_7ajvgnI4Ee2-kruQw0QW4w" type="4001" element="_7Z5oMHI4Ee2-kruQw0QW4w" source="_7aHDkHI4Ee2-kruQw0QW4w" target="_7aQ0knI4Ee2-kruQw0QW4w"> + <children xmi:type="notation:Node" xmi:id="_7ajvhnI4Ee2-kruQw0QW4w" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7ajvh3I4Ee2-kruQw0QW4w" x="29" y="-10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7ajviHI4Ee2-kruQw0QW4w" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7ajviXI4Ee2-kruQw0QW4w" x="30"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7ajvinI4Ee2-kruQw0QW4w" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7ajvi3I4Ee2-kruQw0QW4w" x="2" y="10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_7ajvg3I4Ee2-kruQw0QW4w" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_7ajvhHI4Ee2-kruQw0QW4w" fontName="Segoe UI" fontHeight="12"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7ajvhXI4Ee2-kruQw0QW4w" points="[9, 0, -58, -77]$[9, 107, -58, 30]$[57, 107, -10, 30]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7ajvjHI4Ee2-kruQw0QW4w" id="(0.5,1.0)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7ajvjXI4Ee2-kruQw0QW4w" id="(0.5,0.0)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_7amy3HI4Ee2-kruQw0QW4w" type="4001" element="_7Z7dbHI4Ee2-kruQw0QW4w" source="_7aHDkHI4Ee2-kruQw0QW4w" target="_7aT35XI4Ee2-kruQw0QW4w"> + <children xmi:type="notation:Node" xmi:id="_7anZ4XI4Ee2-kruQw0QW4w" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7anZ4nI4Ee2-kruQw0QW4w" x="20"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7anZ43I4Ee2-kruQw0QW4w" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7anZ5HI4Ee2-kruQw0QW4w" x="-1" y="-10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7anZ5XI4Ee2-kruQw0QW4w" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7anZ5nI4Ee2-kruQw0QW4w" y="10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_7amy3XI4Ee2-kruQw0QW4w" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_7amy3nI4Ee2-kruQw0QW4w" fontName="Segoe UI" fontHeight="12"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7anZ4HI4Ee2-kruQw0QW4w" points="[-15, -27, -15, 132]$[-51, -27, -51, 132]$[-51, -129, -51, 30]$[-10, -129, -10, 30]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7aoA8HI4Ee2-kruQw0QW4w" id="(0.5,1.0)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7aoA8XI4Ee2-kruQw0QW4w" id="(0.5,0.0)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_7aooCHI4Ee2-kruQw0QW4w" type="4001" element="_7Z9SlHI4Ee2-kruQw0QW4w" source="_7aO_YHI4Ee2-kruQw0QW4w" target="_7aHDkHI4Ee2-kruQw0QW4w"> + <children xmi:type="notation:Node" xmi:id="_7aooDHI4Ee2-kruQw0QW4w" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7aooDXI4Ee2-kruQw0QW4w" x="36" y="-10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7aooDnI4Ee2-kruQw0QW4w" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7aooD3I4Ee2-kruQw0QW4w" x="13" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7aooEHI4Ee2-kruQw0QW4w" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7aooEXI4Ee2-kruQw0QW4w" x="19" y="10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_7aooCXI4Ee2-kruQw0QW4w" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_7aooCnI4Ee2-kruQw0QW4w" fontName="Segoe UI" fontHeight="12"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7aooC3I4Ee2-kruQw0QW4w" points="[10, 30, -212, -15]$[207, 30, -15, -15]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7aooEnI4Ee2-kruQw0QW4w" id="(0.5,0.0)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7aooE3I4Ee2-kruQw0QW4w" id="(0.5,1.0)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_7asSYnI4Ee2-kruQw0QW4w" type="4001" element="_7aAV5HI4Ee2-kruQw0QW4w" source="_7aQNh3I4Ee2-kruQw0QW4w" target="_7aHDkHI4Ee2-kruQw0QW4w"> + <children xmi:type="notation:Node" xmi:id="_7asSZnI4Ee2-kruQw0QW4w" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7asSZ3I4Ee2-kruQw0QW4w" x="3" y="51"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7asSaHI4Ee2-kruQw0QW4w" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7asSaXI4Ee2-kruQw0QW4w" x="18" y="40"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7asSanI4Ee2-kruQw0QW4w" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7asSa3I4Ee2-kruQw0QW4w" x="-60" y="-92"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_7asSY3I4Ee2-kruQw0QW4w" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_7asSZHI4Ee2-kruQw0QW4w" fontName="Segoe UI" fontHeight="12"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7asSZXI4Ee2-kruQw0QW4w" points="[-10, 32, -70, 109]$[-63, 32, -123, 109]$[-63, -29, -123, 48]$[51, -29, -9, 48]$[51, -77, -9, 0]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7asSbHI4Ee2-kruQw0QW4w" id="(0.5,0.0)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7asSbXI4Ee2-kruQw0QW4w" id="(0.5,1.0)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_7auuonI4Ee2-kruQw0QW4w" type="4001" element="_7aBkD3I4Ee2-kruQw0QW4w" source="_7aT35XI4Ee2-kruQw0QW4w" target="_7aHDkHI4Ee2-kruQw0QW4w"> + <children xmi:type="notation:Node" xmi:id="_7auupnI4Ee2-kruQw0QW4w" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7auup3I4Ee2-kruQw0QW4w" x="-48" y="-3"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7auuqHI4Ee2-kruQw0QW4w" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7auuqXI4Ee2-kruQw0QW4w" x="25" y="31"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7auuqnI4Ee2-kruQw0QW4w" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7auuq3I4Ee2-kruQw0QW4w" x="-9"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_7auuo3I4Ee2-kruQw0QW4w" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_7auupHI4Ee2-kruQw0QW4w" fontName="Segoe UI" fontHeight="12"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7auupXI4Ee2-kruQw0QW4w" points="[10, 30, 10, -129]$[51, 30, 51, -129]$[51, 132, 51, -27]$[15, 132, 15, -27]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7auurHI4Ee2-kruQw0QW4w" id="(0.5,0.0)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7auurXI4Ee2-kruQw0QW4w" id="(0.5,1.0)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_7agFIHI4Ee2-kruQw0QW4w" type="4001" element="_7Z2k4HI4Ee2-kruQw0QW4w" source="_7aHqoHI4Ee2-kruQw0QW4w" target="_7aQNgnI4Ee2-kruQw0QW4w"> + <children xmi:type="notation:Node" xmi:id="_7agsMHI4Ee2-kruQw0QW4w" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7agsMXI4Ee2-kruQw0QW4w" x="45" y="-10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7ahTQHI4Ee2-kruQw0QW4w" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7ahTQXI4Ee2-kruQw0QW4w" x="1" y="-10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7ah6UHI4Ee2-kruQw0QW4w" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7ah6UXI4Ee2-kruQw0QW4w" x="-16" y="-10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_7agFIXI4Ee2-kruQw0QW4w" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_7agFInI4Ee2-kruQw0QW4w" fontName="Segoe UI" fontHeight="12"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7agFI3I4Ee2-kruQw0QW4w" points="[-15, 11, 207, -34]$[-212, 11, 10, -34]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7ah6UnI4Ee2-kruQw0QW4w" id="(0.5,0.0)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7ah6U3I4Ee2-kruQw0QW4w" id="(0.5,1.0)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_7aiha3I4Ee2-kruQw0QW4w" type="4001" element="_7Z3L9HI4Ee2-kruQw0QW4w" source="_7aHqoHI4Ee2-kruQw0QW4w" target="_7aQNh3I4Ee2-kruQw0QW4w"> + <children xmi:type="notation:Node" xmi:id="_7ajIc3I4Ee2-kruQw0QW4w" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7ajIdHI4Ee2-kruQw0QW4w" x="-16" y="-10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7ajIdXI4Ee2-kruQw0QW4w" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7ajIdnI4Ee2-kruQw0QW4w" x="36" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7ajId3I4Ee2-kruQw0QW4w" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7ajIeHI4Ee2-kruQw0QW4w" x="-89" y="5"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_7ajIcHI4Ee2-kruQw0QW4w" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_7ajIcXI4Ee2-kruQw0QW4w" fontName="Segoe UI" fontHeight="12"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7ajIcnI4Ee2-kruQw0QW4w" points="[-9, 0, 51, 224]$[-9, -252, 51, -28]$[-50, -252, 10, -28]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7ajIeXI4Ee2-kruQw0QW4w" id="(0.5,0.0)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7ajIenI4Ee2-kruQw0QW4w" id="(0.5,1.0)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_7alksnI4Ee2-kruQw0QW4w" type="4001" element="_7Z62VHI4Ee2-kruQw0QW4w" source="_7aHqoHI4Ee2-kruQw0QW4w" target="_7aSpwHI4Ee2-kruQw0QW4w"> + <children xmi:type="notation:Node" xmi:id="_7alktnI4Ee2-kruQw0QW4w" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7alkt3I4Ee2-kruQw0QW4w" x="-22"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7alkuHI4Ee2-kruQw0QW4w" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7alkuXI4Ee2-kruQw0QW4w" x="-5" y="-10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7alkunI4Ee2-kruQw0QW4w" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7alku3I4Ee2-kruQw0QW4w" x="6" y="10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_7alks3I4Ee2-kruQw0QW4w" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_7alktHI4Ee2-kruQw0QW4w" fontName="Segoe UI" fontHeight="12"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7alktXI4Ee2-kruQw0QW4w" points="[-15, 24, -10, -126]$[-39, 24, -34, -126]$[-39, 120, -34, -30]$[-15, 120, -10, -30]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7alkvHI4Ee2-kruQw0QW4w" id="(0.5,0.0)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7alkvXI4Ee2-kruQw0QW4w" id="(0.5,1.0)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_7aqdNnI4Ee2-kruQw0QW4w" type="4001" element="_7Z_Hx3I4Ee2-kruQw0QW4w" source="_7aPmdXI4Ee2-kruQw0QW4w" target="_7aHqoHI4Ee2-kruQw0QW4w"> + <children xmi:type="notation:Node" xmi:id="_7aqdOnI4Ee2-kruQw0QW4w" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7aqdO3I4Ee2-kruQw0QW4w" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7aqdPHI4Ee2-kruQw0QW4w" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7aqdPXI4Ee2-kruQw0QW4w" x="36" y="-10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7aqdPnI4Ee2-kruQw0QW4w" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7aqdP3I4Ee2-kruQw0QW4w" y="-10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_7aqdN3I4Ee2-kruQw0QW4w" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_7aqdOHI4Ee2-kruQw0QW4w" fontName="Segoe UI" fontHeight="12"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7aqdOXI4Ee2-kruQw0QW4w" points="[-10, -33, 183, 12]$[-178, -33, 15, 12]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7aqdQHI4Ee2-kruQw0QW4w" id="(0.5,1.0)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7aqdQXI4Ee2-kruQw0QW4w" id="(0.5,0.0)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_7as5cHI4Ee2-kruQw0QW4w" type="4001" element="_7aA88HI4Ee2-kruQw0QW4w" source="_7aQ0knI4Ee2-kruQw0QW4w" target="_7aHqoHI4Ee2-kruQw0QW4w"> + <children xmi:type="notation:Node" xmi:id="_7as5dHI4Ee2-kruQw0QW4w" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7as5dXI4Ee2-kruQw0QW4w" x="-12" y="-10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7as5dnI4Ee2-kruQw0QW4w" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7as5d3I4Ee2-kruQw0QW4w" x="43" y="-10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7as5eHI4Ee2-kruQw0QW4w" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7as5eXI4Ee2-kruQw0QW4w" x="28" y="-10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_7as5cXI4Ee2-kruQw0QW4w" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_7as5cnI4Ee2-kruQw0QW4w" fontName="Segoe UI" fontHeight="12"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7as5c3I4Ee2-kruQw0QW4w" points="[10, 30, 77, -284]$[56, 30, 123, -284]$[56, 92, 123, -222]$[-58, 92, 9, -222]$[-58, 284, 9, -30]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7as5enI4Ee2-kruQw0QW4w" id="(0.5,0.0)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7as5e3I4Ee2-kruQw0QW4w" id="(0.5,1.0)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_7atgmnI4Ee2-kruQw0QW4w" type="4001" element="_7aBkBXI4Ee2-kruQw0QW4w" source="_7aSpwHI4Ee2-kruQw0QW4w" target="_7aHqoHI4Ee2-kruQw0QW4w"> + <children xmi:type="notation:Node" xmi:id="_7auHkHI4Ee2-kruQw0QW4w" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7auHkXI4Ee2-kruQw0QW4w" x="27" y="-1"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7auHknI4Ee2-kruQw0QW4w" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7auHk3I4Ee2-kruQw0QW4w" x="13" y="-28"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7auHlHI4Ee2-kruQw0QW4w" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7auHlXI4Ee2-kruQw0QW4w" x="-2" y="-25"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_7atgm3I4Ee2-kruQw0QW4w" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_7atgnHI4Ee2-kruQw0QW4w" fontName="Segoe UI" fontHeight="12"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7atgnXI4Ee2-kruQw0QW4w" points="[10, -31, 5, 119]$[44, -31, 39, 119]$[44, -126, 39, 24]$[20, -126, 15, 24]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7auHlnI4Ee2-kruQw0QW4w" id="(0.5,1.0)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7auHl3I4Ee2-kruQw0QW4w" id="(0.5,0.0)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_7atggnI4Ee2-kruQw0QW4w" type="4001" element="_7aA8-nI4Ee2-kruQw0QW4w" source="_7aRbonI4Ee2-kruQw0QW4w" target="_7aHqpXI4Ee2-kruQw0QW4w"> + <children xmi:type="notation:Node" xmi:id="_7atghnI4Ee2-kruQw0QW4w" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7atgh3I4Ee2-kruQw0QW4w" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7atgiHI4Ee2-kruQw0QW4w" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7atgiXI4Ee2-kruQw0QW4w" y="-10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7atginI4Ee2-kruQw0QW4w" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7atgi3I4Ee2-kruQw0QW4w" y="-10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_7atgg3I4Ee2-kruQw0QW4w" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_7atghHI4Ee2-kruQw0QW4w" fontName="Segoe UI" fontHeight="12"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7atghXI4Ee2-kruQw0QW4w" points="[-10, 30, 104, -15]$[-99, 30, 15, -15]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7atgjHI4Ee2-kruQw0QW4w" id="(0.5,0.0)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7atgjXI4Ee2-kruQw0QW4w" id="(0.5,1.0)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_7abMqHI4Ee2-kruQw0QW4w" type="4001" element="_7Z0IonI4Ee2-kruQw0QW4w" source="_7aIRsHI4Ee2-kruQw0QW4w" target="_7aO_YHI4Ee2-kruQw0QW4w"> + <children xmi:type="notation:Node" xmi:id="_7abzsHI4Ee2-kruQw0QW4w" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7abzsXI4Ee2-kruQw0QW4w" x="21" y="-10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7abzsnI4Ee2-kruQw0QW4w" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7abzs3I4Ee2-kruQw0QW4w" x="-4" y="-10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7abztHI4Ee2-kruQw0QW4w" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7abztXI4Ee2-kruQw0QW4w" x="-6" y="10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_7abMqXI4Ee2-kruQw0QW4w" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_7abMqnI4Ee2-kruQw0QW4w" fontName="Segoe UI" fontHeight="12"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7abMq3I4Ee2-kruQw0QW4w" points="[0, 30, -71, -80]$[0, 62, -71, -48]$[61, 62, -10, -48]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7acawHI4Ee2-kruQw0QW4w" id="(0.5,0.0)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7acawXI4Ee2-kruQw0QW4w" id="(0.5,1.0)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_7aooFHI4Ee2-kruQw0QW4w" type="4001" element="_7Z95onI4Ee2-kruQw0QW4w" source="_7aO_YHI4Ee2-kruQw0QW4w" target="_7aJf0nI4Ee2-kruQw0QW4w"> + <children xmi:type="notation:Node" xmi:id="_7apPEHI4Ee2-kruQw0QW4w" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7apPEXI4Ee2-kruQw0QW4w" x="3" y="-5"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7apPEnI4Ee2-kruQw0QW4w" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7apPE3I4Ee2-kruQw0QW4w" x="4" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7apPFHI4Ee2-kruQw0QW4w" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7apPFXI4Ee2-kruQw0QW4w" x="-12"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_7aooFXI4Ee2-kruQw0QW4w" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_7aooFnI4Ee2-kruQw0QW4w" fontName="Segoe UI" fontHeight="12"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7aooF3I4Ee2-kruQw0QW4w" points="[10, 12, -44, 32]$[54, 12, 0, 32]$[54, -20, 0, 0]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7apPFnI4Ee2-kruQw0QW4w" id="(0.5,0.0)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7apPF3I4Ee2-kruQw0QW4w" id="(0.5,1.0)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_7ado4HI4Ee2-kruQw0QW4w" type="4001" element="_7Z1WwnI4Ee2-kruQw0QW4w" source="_7aKG4nI4Ee2-kruQw0QW4w" target="_7aPmcHI4Ee2-kruQw0QW4w"> + <children xmi:type="notation:Node" xmi:id="_7ado5HI4Ee2-kruQw0QW4w" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7ado5XI4Ee2-kruQw0QW4w" x="3" y="-4"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7ado5nI4Ee2-kruQw0QW4w" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7ado53I4Ee2-kruQw0QW4w" x="14" y="-8"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7ado6HI4Ee2-kruQw0QW4w" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7ado6XI4Ee2-kruQw0QW4w" x="-2" y="10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_7ado4XI4Ee2-kruQw0QW4w" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_7ado4nI4Ee2-kruQw0QW4w" fontName="Segoe UI" fontHeight="12"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7ado43I4Ee2-kruQw0QW4w" points="[0, 30, -49, -80]$[0, 62, -49, -48]$[39, 62, -10, -48]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7aeP8HI4Ee2-kruQw0QW4w" id="(0.5,0.0)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7aeP8XI4Ee2-kruQw0QW4w" id="(0.5,1.0)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_7ap2KHI4Ee2-kruQw0QW4w" type="4001" element="_7Z_HwnI4Ee2-kruQw0QW4w" source="_7aPmcHI4Ee2-kruQw0QW4w" target="_7aKG53I4Ee2-kruQw0QW4w"> + <children xmi:type="notation:Node" xmi:id="_7ap2LHI4Ee2-kruQw0QW4w" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7ap2LXI4Ee2-kruQw0QW4w" x="-2" y="-10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7aqdMHI4Ee2-kruQw0QW4w" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7aqdMXI4Ee2-kruQw0QW4w" x="9" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7aqdMnI4Ee2-kruQw0QW4w" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7aqdM3I4Ee2-kruQw0QW4w" x="-15"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_7ap2KXI4Ee2-kruQw0QW4w" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_7ap2KnI4Ee2-kruQw0QW4w" fontName="Segoe UI" fontHeight="12"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7ap2K3I4Ee2-kruQw0QW4w" points="[10, 12, -43, 32]$[50, 12, -3, 32]$[50, -20, -3, 0]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7aqdNHI4Ee2-kruQw0QW4w" id="(0.5,0.0)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7aqdNXI4Ee2-kruQw0QW4w" id="(0.5,1.0)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_7ae3AnI4Ee2-kruQw0QW4w" type="4001" element="_7Z191HI4Ee2-kruQw0QW4w" source="_7aKt8HI4Ee2-kruQw0QW4w" target="_7aPmdXI4Ee2-kruQw0QW4w"> + <children xmi:type="notation:Node" xmi:id="_7ae3BnI4Ee2-kruQw0QW4w" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7ae3B3I4Ee2-kruQw0QW4w" x="-13" y="-13"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7ae3CHI4Ee2-kruQw0QW4w" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7ae3CXI4Ee2-kruQw0QW4w" x="3"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7afeEHI4Ee2-kruQw0QW4w" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7afeEXI4Ee2-kruQw0QW4w" x="-60" y="-19"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_7ae3A3I4Ee2-kruQw0QW4w" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_7ae3BHI4Ee2-kruQw0QW4w" fontName="Segoe UI" fontHeight="12"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7ae3BXI4Ee2-kruQw0QW4w" points="[0, 0, 76, 24]$[0, -39, 76, -15]$[-66, -39, 10, -15]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7afeEnI4Ee2-kruQw0QW4w" id="(0.5,0.0)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7afeE3I4Ee2-kruQw0QW4w" id="(0.5,1.0)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_7aqdQnI4Ee2-kruQw0QW4w" type="4001" element="_7Z_u0HI4Ee2-kruQw0QW4w" source="_7aPmdXI4Ee2-kruQw0QW4w" target="_7aKt9XI4Ee2-kruQw0QW4w"> + <children xmi:type="notation:Node" xmi:id="_7arEQHI4Ee2-kruQw0QW4w" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7arEQXI4Ee2-kruQw0QW4w" x="4"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7arEQnI4Ee2-kruQw0QW4w" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7arEQ3I4Ee2-kruQw0QW4w" x="6" y="-10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7arERHI4Ee2-kruQw0QW4w" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7arERXI4Ee2-kruQw0QW4w" x="-35" y="-5"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_7aqdQ3I4Ee2-kruQw0QW4w" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_7aqdRHI4Ee2-kruQw0QW4w" fontName="Segoe UI" fontHeight="12"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7aqdRXI4Ee2-kruQw0QW4w" points="[-10, 45, 51, -69]$[-61, 45, 0, -69]$[-61, 84, 0, -30]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7arERnI4Ee2-kruQw0QW4w" id="(0.5,0.0)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7arER3I4Ee2-kruQw0QW4w" id="(0.5,1.0)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_7ah6VHI4Ee2-kruQw0QW4w" type="4001" element="_7Z2k5XI4Ee2-kruQw0QW4w" source="_7aKt-nI4Ee2-kruQw0QW4w" target="_7aQNgnI4Ee2-kruQw0QW4w"> + <children xmi:type="notation:Node" xmi:id="_7aihY3I4Ee2-kruQw0QW4w" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7aihZHI4Ee2-kruQw0QW4w" x="-3" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7aihZXI4Ee2-kruQw0QW4w" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7aihZnI4Ee2-kruQw0QW4w" x="24" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7aihZ3I4Ee2-kruQw0QW4w" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7aihaHI4Ee2-kruQw0QW4w" x="-1" y="-10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_7aihYHI4Ee2-kruQw0QW4w" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_7aihYXI4Ee2-kruQw0QW4w" fontName="Segoe UI" fontHeight="12"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7aihYnI4Ee2-kruQw0QW4w" points="[0, 0, 72, 24]$[0, -39, 72, -15]$[-62, -39, 10, -15]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7aihaXI4Ee2-kruQw0QW4w" id="(0.5,0.0)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7aihanI4Ee2-kruQw0QW4w" id="(0.5,1.0)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_7arrVnI4Ee2-kruQw0QW4w" type="4001" element="_7Z_u2nI4Ee2-kruQw0QW4w" source="_7aQNgnI4Ee2-kruQw0QW4w" target="_7aLVAnI4Ee2-kruQw0QW4w"> + <children xmi:type="notation:Node" xmi:id="_7arrWnI4Ee2-kruQw0QW4w" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7arrW3I4Ee2-kruQw0QW4w" x="6"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7arrXHI4Ee2-kruQw0QW4w" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7arrXXI4Ee2-kruQw0QW4w" x="-13" y="-7"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7arrXnI4Ee2-kruQw0QW4w" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7arrX3I4Ee2-kruQw0QW4w" x="-10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_7arrV3I4Ee2-kruQw0QW4w" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_7arrWHI4Ee2-kruQw0QW4w" fontName="Segoe UI" fontHeight="12"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7arrWXI4Ee2-kruQw0QW4w" points="[-10, 45, 50, -69]$[-60, 45, 0, -69]$[-60, 84, 0, -30]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7asSYHI4Ee2-kruQw0QW4w" id="(0.5,0.0)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7asSYXI4Ee2-kruQw0QW4w" id="(0.5,1.0)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_7ajIe3I4Ee2-kruQw0QW4w" type="4001" element="_7Z4aEHI4Ee2-kruQw0QW4w" source="_7aLVB3I4Ee2-kruQw0QW4w" target="_7aQNh3I4Ee2-kruQw0QW4w"> + <children xmi:type="notation:Node" xmi:id="_7ajIf3I4Ee2-kruQw0QW4w" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7ajIgHI4Ee2-kruQw0QW4w" x="-3" y="-10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7ajIgXI4Ee2-kruQw0QW4w" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7ajIgnI4Ee2-kruQw0QW4w" x="16" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7ajIg3I4Ee2-kruQw0QW4w" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7ajIhHI4Ee2-kruQw0QW4w" x="-14" y="-27"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_7ajIfHI4Ee2-kruQw0QW4w" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_7ajIfXI4Ee2-kruQw0QW4w" fontName="Segoe UI" fontHeight="12"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7ajIfnI4Ee2-kruQw0QW4w" points="[3, 0, 27, 55]$[3, -65, 27, -10]$[-14, -65, 10, -10]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7ajvgHI4Ee2-kruQw0QW4w" id="(0.5,0.0)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7ajvgXI4Ee2-kruQw0QW4w" id="(0.5,1.0)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_7asSbnI4Ee2-kruQw0QW4w" type="4001" element="_7aAV6XI4Ee2-kruQw0QW4w" source="_7aQNh3I4Ee2-kruQw0QW4w" target="_7aL8EHI4Ee2-kruQw0QW4w"> + <children xmi:type="notation:Node" xmi:id="_7asScnI4Ee2-kruQw0QW4w" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7asSc3I4Ee2-kruQw0QW4w" x="-11" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7asSdHI4Ee2-kruQw0QW4w" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7asSdXI4Ee2-kruQw0QW4w" x="21" y="-10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7asSdnI4Ee2-kruQw0QW4w" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7asSd3I4Ee2-kruQw0QW4w" x="-4" y="-10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_7asSb3I4Ee2-kruQw0QW4w" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_7asScHI4Ee2-kruQw0QW4w" fontName="Segoe UI" fontHeight="12"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7asScXI4Ee2-kruQw0QW4w" points="[-68, 0, 11, -72]$[-68, 72, 11, 0]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7asSeHI4Ee2-kruQw0QW4w" id="(0.5,0.0)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7asSeXI4Ee2-kruQw0QW4w" id="(0.5,1.0)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_7ajvjnI4Ee2-kruQw0QW4w" type="4001" element="_7Z5oNXI4Ee2-kruQw0QW4w" source="_7aL8FXI4Ee2-kruQw0QW4w" target="_7aQ0knI4Ee2-kruQw0QW4w"> + <children xmi:type="notation:Node" xmi:id="_7ajvknI4Ee2-kruQw0QW4w" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7ajvk3I4Ee2-kruQw0QW4w" x="14" y="-16"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7ajvlHI4Ee2-kruQw0QW4w" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7ajvlXI4Ee2-kruQw0QW4w" x="8"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7ajvlnI4Ee2-kruQw0QW4w" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7ajvl3I4Ee2-kruQw0QW4w" x="2" y="10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_7ajvj3I4Ee2-kruQw0QW4w" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_7ajvkHI4Ee2-kruQw0QW4w" fontName="Segoe UI" fontHeight="12"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7ajvkXI4Ee2-kruQw0QW4w" points="[-3, 30, -34, -100]$[-3, 84, -34, -46]$[21, 84, -10, -46]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7ajvmHI4Ee2-kruQw0QW4w" id="(0.5,0.0)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7ajvmXI4Ee2-kruQw0QW4w" id="(0.5,1.0)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_7as5fHI4Ee2-kruQw0QW4w" type="4001" element="_7aA89XI4Ee2-kruQw0QW4w" source="_7aQ0knI4Ee2-kruQw0QW4w" target="_7aL8GnI4Ee2-kruQw0QW4w"> + <children xmi:type="notation:Node" xmi:id="_7as5gHI4Ee2-kruQw0QW4w" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7as5gXI4Ee2-kruQw0QW4w" y="-10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7as5gnI4Ee2-kruQw0QW4w" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7as5g3I4Ee2-kruQw0QW4w" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7as5hHI4Ee2-kruQw0QW4w" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7as5hXI4Ee2-kruQw0QW4w" y="10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_7as5fXI4Ee2-kruQw0QW4w" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_7as5fnI4Ee2-kruQw0QW4w" fontName="Segoe UI" fontHeight="12"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7as5f3I4Ee2-kruQw0QW4w" points="[10, 14, -103, -16]$[98, 14, -15, -16]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7atggHI4Ee2-kruQw0QW4w" id="(0.5,0.0)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7atggXI4Ee2-kruQw0QW4w" id="(0.5,1.0)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_7akWnHI4Ee2-kruQw0QW4w" type="4001" element="_7Z6PRHI4Ee2-kruQw0QW4w" source="_7aMjInI4Ee2-kruQw0QW4w" target="_7aRbonI4Ee2-kruQw0QW4w"> + <children xmi:type="notation:Node" xmi:id="_7akWoHI4Ee2-kruQw0QW4w" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7akWoXI4Ee2-kruQw0QW4w" x="-16" y="9"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7akWonI4Ee2-kruQw0QW4w" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7akWo3I4Ee2-kruQw0QW4w" x="37" y="3"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7akWpHI4Ee2-kruQw0QW4w" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7akWpXI4Ee2-kruQw0QW4w" x="8" y="-10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_7akWnXI4Ee2-kruQw0QW4w" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_7akWnnI4Ee2-kruQw0QW4w" fontName="Segoe UI" fontHeight="12"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7akWn3I4Ee2-kruQw0QW4w" points="[0, 30, 37, -86]$[0, 68, 37, -48]$[-27, 68, 10, -48]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7akWpnI4Ee2-kruQw0QW4w" id="(0.5,0.0)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7akWp3I4Ee2-kruQw0QW4w" id="(0.5,1.0)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_7ak9qHI4Ee2-kruQw0QW4w" type="4001" element="_7Z6PTnI4Ee2-kruQw0QW4w" source="_7aMjJ3I4Ee2-kruQw0QW4w" target="_7aSCsHI4Ee2-kruQw0QW4w"> + <children xmi:type="notation:Node" xmi:id="_7ak9rHI4Ee2-kruQw0QW4w" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7ak9rXI4Ee2-kruQw0QW4w" x="28" y="-10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7ak9rnI4Ee2-kruQw0QW4w" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7ak9r3I4Ee2-kruQw0QW4w" x="23" y="-11"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7ak9sHI4Ee2-kruQw0QW4w" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7ak9sXI4Ee2-kruQw0QW4w" x="-3" y="10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_7ak9qXI4Ee2-kruQw0QW4w" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_7ak9qnI4Ee2-kruQw0QW4w" fontName="Segoe UI" fontHeight="12"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7ak9q3I4Ee2-kruQw0QW4w" points="[0, 30, -78, -73]$[0, 59, -78, -44]$[68, 59, -10, -44]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7alksHI4Ee2-kruQw0QW4w" id="(0.5,0.0)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7alksXI4Ee2-kruQw0QW4w" id="(0.5,1.0)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_7alkvnI4Ee2-kruQw0QW4w" type="4001" element="_7Z62WXI4Ee2-kruQw0QW4w" source="_7aNKMnI4Ee2-kruQw0QW4w" target="_7aSpwHI4Ee2-kruQw0QW4w"> + <children xmi:type="notation:Node" xmi:id="_7alkwnI4Ee2-kruQw0QW4w" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7alkw3I4Ee2-kruQw0QW4w" x="6" y="34"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7alkxHI4Ee2-kruQw0QW4w" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7alkxXI4Ee2-kruQw0QW4w" x="1" y="-10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7alkxnI4Ee2-kruQw0QW4w" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7alkx3I4Ee2-kruQw0QW4w" x="-40" y="-27"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_7alkv3I4Ee2-kruQw0QW4w" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_7alkwHI4Ee2-kruQw0QW4w" fontName="Segoe UI" fontHeight="12"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7alkwXI4Ee2-kruQw0QW4w" points="[-15, 11, 122, 5]$[-75, 11, 62, 5]$[-75, -6, 62, -12]$[-127, -6, 10, -12]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7amLwHI4Ee2-kruQw0QW4w" id="(0.5,0.0)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7amLwXI4Ee2-kruQw0QW4w" id="(0.5,1.0)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_7amy0HI4Ee2-kruQw0QW4w" type="4001" element="_7Z7dZ3I4Ee2-kruQw0QW4w" source="_7aNKN3I4Ee2-kruQw0QW4w" target="_7aT34HI4Ee2-kruQw0QW4w"> + <children xmi:type="notation:Node" xmi:id="_7amy1HI4Ee2-kruQw0QW4w" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7amy1XI4Ee2-kruQw0QW4w" x="-5" y="5"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7amy1nI4Ee2-kruQw0QW4w" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7amy13I4Ee2-kruQw0QW4w" x="-5" y="3"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7amy2HI4Ee2-kruQw0QW4w" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7amy2XI4Ee2-kruQw0QW4w" x="-2" y="-10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_7amy0XI4Ee2-kruQw0QW4w" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_7amy0nI4Ee2-kruQw0QW4w" fontName="Segoe UI" fontHeight="12"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7amy03I4Ee2-kruQw0QW4w" points="[-1, 30, 64, -73]$[-1, 54, 64, -49]$[-55, 54, 10, -49]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7amy2nI4Ee2-kruQw0QW4w" id="(0.5,0.0)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7amy23I4Ee2-kruQw0QW4w" id="(0.5,1.0)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_7aoA8nI4Ee2-kruQw0QW4w" type="4001" element="_7Z8EdHI4Ee2-kruQw0QW4w" source="_7aNxQnI4Ee2-kruQw0QW4w" target="_7aT35XI4Ee2-kruQw0QW4w"> + <children xmi:type="notation:Node" xmi:id="_7aoA9nI4Ee2-kruQw0QW4w" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7aoA93I4Ee2-kruQw0QW4w" y="-10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7aoA-HI4Ee2-kruQw0QW4w" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7aoA-XI4Ee2-kruQw0QW4w" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_7aoA-nI4Ee2-kruQw0QW4w" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7aoA-3I4Ee2-kruQw0QW4w" x="-14" y="10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_7aoA83I4Ee2-kruQw0QW4w" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_7aoA9HI4Ee2-kruQw0QW4w" fontName="Segoe UI" fontHeight="12"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7aoA9XI4Ee2-kruQw0QW4w" points="[15, 14, -87, -46]$[92, 14, -10, -46]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7aoA_HI4Ee2-kruQw0QW4w" id="(0.5,0.0)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7aoA_XI4Ee2-kruQw0QW4w" id="(0.5,1.0)"/> + </edges> + </data> + </ownedAnnotationEntries> + <ownedAnnotationEntries xmi:type="description:AnnotationEntry" uid="_7aCLEnI4Ee2-kruQw0QW4w" source="DANNOTATION_CUSTOMIZATION_KEY"> + <data xmi:type="diagram:ComputedStyleDescriptionRegistry" uid="_7aCLE3I4Ee2-kruQw0QW4w"/> + </ownedAnnotationEntries> + <ownedDiagramElements xmi:type="diagram:DNode" uid="_7Zn7YHI4Ee2-kruQw0QW4w" name="initial" outgoingEdges="_7Zy6gHI4Ee2-kruQw0QW4w" width="3" height="3"> + <target xmi:type="petrinet:Place" href="petrinets/garagedoor.petrinet#//@elements.0"/> + <semanticElements xmi:type="petrinet:Place" href="petrinets/garagedoor.petrinet#//@elements.0"/> + <ownedBorderedNodes xmi:type="diagram:DNode" uid="_7ZvQJnI4Ee2-kruQw0QW4w" name="''" width="2" height="2"> + <target xmi:type="petrinet:Token" href="petrinets/garagedoor.petrinet#//@elements.0/@token"/> + <semanticElements xmi:type="petrinet:Token" href="petrinets/garagedoor.petrinet#//@elements.0/@token"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:Dot" uid="_7ZvQJ3I4Ee2-kruQw0QW4w" labelSize="12" showIcon="false" labelAlignment="LEFT" labelPosition="node" backgroundColor="0,0,0"> + <description xmi:type="style:DotDescription" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@nodeMappings[name='Place']/@borderedNodeMappings[name='Token']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@nodeMappings[name='Place']/@borderedNodeMappings[name='Token']"/> + </ownedBorderedNodes> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:Dot" uid="_7Zn7YXI4Ee2-kruQw0QW4w" labelSize="12" showIcon="false" borderSize="1" borderSizeComputationExpression="1" strokeSizeComputationExpression="3" backgroundColor="255,245,181"> + <description xmi:type="style:DotDescription" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@nodeMappings[name='Place']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@nodeMappings[name='Place']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNode" uid="_7ZoicXI4Ee2-kruQw0QW4w" name="Closed" outgoingEdges="_7ZzhknI4Ee2-kruQw0QW4w _7Z5oOnI4Ee2-kruQw0QW4w _7Z6PSXI4Ee2-kruQw0QW4w" incomingEdges="_7Z8rgHI4Ee2-kruQw0QW4w _7Z_u1XI4Ee2-kruQw0QW4w _7aBkAHI4Ee2-kruQw0QW4w" width="3" height="3"> + <target xmi:type="petrinet:Place" href="petrinets/garagedoor.petrinet#//@elements.1"/> + <semanticElements xmi:type="petrinet:Place" href="petrinets/garagedoor.petrinet#//@elements.1"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:Dot" uid="_7ZoicnI4Ee2-kruQw0QW4w" labelSize="12" showIcon="false" borderSize="1" borderSizeComputationExpression="1" strokeSizeComputationExpression="3" backgroundColor="255,245,181"> + <description xmi:type="style:DotDescription" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@nodeMappings[name='Place']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@nodeMappings[name='Place']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNode" uid="_7ZoidHI4Ee2-kruQw0QW4w" name="Open" outgoingEdges="_7Z1Wx3I4Ee2-kruQw0QW4w _7Z7dYnI4Ee2-kruQw0QW4w" incomingEdges="_7Z-gsHI4Ee2-kruQw0QW4w _7aBkCnI4Ee2-kruQw0QW4w" width="3" height="3"> + <target xmi:type="petrinet:Place" href="petrinets/garagedoor.petrinet#//@elements.2"/> + <semanticElements xmi:type="petrinet:Place" href="petrinets/garagedoor.petrinet#//@elements.2"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:Dot" uid="_7ZoidXI4Ee2-kruQw0QW4w" labelSize="12" showIcon="false" borderSize="1" borderSizeComputationExpression="1" strokeSizeComputationExpression="3" backgroundColor="255,245,181"> + <description xmi:type="style:DotDescription" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@nodeMappings[name='Place']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@nodeMappings[name='Place']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNode" uid="_7Zoid3I4Ee2-kruQw0QW4w" name="Opening" outgoingEdges="_7Z0vsnI4Ee2-kruQw0QW4w _7Z5oMHI4Ee2-kruQw0QW4w _7Z7dbHI4Ee2-kruQw0QW4w" incomingEdges="_7Z9SlHI4Ee2-kruQw0QW4w _7aAV5HI4Ee2-kruQw0QW4w _7aBkD3I4Ee2-kruQw0QW4w" width="3" height="3"> + <target xmi:type="petrinet:Place" href="petrinets/garagedoor.petrinet#//@elements.3"/> + <semanticElements xmi:type="petrinet:Place" href="petrinets/garagedoor.petrinet#//@elements.3"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:Dot" uid="_7ZpJgHI4Ee2-kruQw0QW4w" labelSize="12" showIcon="false" borderSize="1" borderSizeComputationExpression="1" strokeSizeComputationExpression="3" backgroundColor="255,245,181"> + <description xmi:type="style:DotDescription" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@nodeMappings[name='Place']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@nodeMappings[name='Place']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNode" uid="_7ZpJgnI4Ee2-kruQw0QW4w" name="Closing" outgoingEdges="_7Z2k4HI4Ee2-kruQw0QW4w _7Z3L9HI4Ee2-kruQw0QW4w _7Z62VHI4Ee2-kruQw0QW4w" incomingEdges="_7Z_Hx3I4Ee2-kruQw0QW4w _7aA88HI4Ee2-kruQw0QW4w _7aBkBXI4Ee2-kruQw0QW4w" width="3" height="3"> + <target xmi:type="petrinet:Place" href="petrinets/garagedoor.petrinet#//@elements.4"/> + <semanticElements xmi:type="petrinet:Place" href="petrinets/garagedoor.petrinet#//@elements.4"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:Dot" uid="_7ZpJg3I4Ee2-kruQw0QW4w" labelSize="12" showIcon="false" borderSize="1" borderSizeComputationExpression="1" strokeSizeComputationExpression="3" backgroundColor="255,245,181"> + <description xmi:type="style:DotDescription" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@nodeMappings[name='Place']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@nodeMappings[name='Place']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNode" uid="_7ZpwkHI4Ee2-kruQw0QW4w" name="final" incomingEdges="_7aA8-nI4Ee2-kruQw0QW4w" width="3" height="3"> + <target xmi:type="petrinet:Place" href="petrinets/garagedoor.petrinet#//@elements.5"/> + <semanticElements xmi:type="petrinet:Place" href="petrinets/garagedoor.petrinet#//@elements.5"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:Dot" uid="_7ZpwkXI4Ee2-kruQw0QW4w" labelSize="12" showIcon="false" borderSize="1" borderSizeComputationExpression="1" strokeSizeComputationExpression="3" backgroundColor="255,245,181"> + <description xmi:type="style:DotDescription" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@nodeMappings[name='Place']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@nodeMappings[name='Place']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNode" uid="_7Zpwk3I4Ee2-kruQw0QW4w" name="openDoor" outgoingEdges="_7Z0IonI4Ee2-kruQw0QW4w" width="3" height="3"> + <target xmi:type="petrinet:Place" href="petrinets/garagedoor.petrinet#//@elements.8"/> + <semanticElements xmi:type="petrinet:Place" href="petrinets/garagedoor.petrinet#//@elements.8"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:Dot" uid="_7ZpwlHI4Ee2-kruQw0QW4w" labelSize="12" showIcon="false" borderSize="1" borderSizeComputationExpression="1" strokeSizeComputationExpression="3" backgroundColor="255,245,181"> + <description xmi:type="style:DotDescription" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@nodeMappings[name='Place']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@nodeMappings[name='Place']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNode" uid="_7ZqXoHI4Ee2-kruQw0QW4w" name="motor.upwards" incomingEdges="_7Z95onI4Ee2-kruQw0QW4w" width="3" height="3"> + <target xmi:type="petrinet:Place" href="petrinets/garagedoor.petrinet#//@elements.9"/> + <semanticElements xmi:type="petrinet:Place" href="petrinets/garagedoor.petrinet#//@elements.9"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:Dot" uid="_7ZqXoXI4Ee2-kruQw0QW4w" labelSize="12" showIcon="false" borderSize="1" borderSizeComputationExpression="1" strokeSizeComputationExpression="3" backgroundColor="255,245,181"> + <description xmi:type="style:DotDescription" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@nodeMappings[name='Place']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@nodeMappings[name='Place']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNode" uid="_7ZqXo3I4Ee2-kruQw0QW4w" name="stopper" outgoingEdges="_7Z1WwnI4Ee2-kruQw0QW4w" width="3" height="3"> + <target xmi:type="petrinet:Place" href="petrinets/garagedoor.petrinet#//@elements.11"/> + <semanticElements xmi:type="petrinet:Place" href="petrinets/garagedoor.petrinet#//@elements.11"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:Dot" uid="_7ZqXpHI4Ee2-kruQw0QW4w" labelSize="12" showIcon="false" borderSize="1" borderSizeComputationExpression="1" strokeSizeComputationExpression="3" backgroundColor="255,245,181"> + <description xmi:type="style:DotDescription" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@nodeMappings[name='Place']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@nodeMappings[name='Place']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNode" uid="_7Zq-sHI4Ee2-kruQw0QW4w" name="motor.stop" incomingEdges="_7Z_HwnI4Ee2-kruQw0QW4w" width="3" height="3"> + <target xmi:type="petrinet:Place" href="petrinets/garagedoor.petrinet#//@elements.12"/> + <semanticElements xmi:type="petrinet:Place" href="petrinets/garagedoor.petrinet#//@elements.12"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:Dot" uid="_7Zq-sXI4Ee2-kruQw0QW4w" labelSize="12" showIcon="false" borderSize="1" borderSizeComputationExpression="1" strokeSizeComputationExpression="3" backgroundColor="255,245,181"> + <description xmi:type="style:DotDescription" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@nodeMappings[name='Place']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@nodeMappings[name='Place']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNode" uid="_7Zq-s3I4Ee2-kruQw0QW4w" name="closeDoor" outgoingEdges="_7Z191HI4Ee2-kruQw0QW4w" width="3" height="3"> + <target xmi:type="petrinet:Place" href="petrinets/garagedoor.petrinet#//@elements.14"/> + <semanticElements xmi:type="petrinet:Place" href="petrinets/garagedoor.petrinet#//@elements.14"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:Dot" uid="_7Zq-tHI4Ee2-kruQw0QW4w" labelSize="12" showIcon="false" borderSize="1" borderSizeComputationExpression="1" strokeSizeComputationExpression="3" backgroundColor="255,245,181"> + <description xmi:type="style:DotDescription" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@nodeMappings[name='Place']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@nodeMappings[name='Place']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNode" uid="_7Zq-tnI4Ee2-kruQw0QW4w" name="motor.downwards" incomingEdges="_7Z_u0HI4Ee2-kruQw0QW4w" width="3" height="3"> + <target xmi:type="petrinet:Place" href="petrinets/garagedoor.petrinet#//@elements.15"/> + <semanticElements xmi:type="petrinet:Place" href="petrinets/garagedoor.petrinet#//@elements.15"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:Dot" uid="_7ZrlwHI4Ee2-kruQw0QW4w" labelSize="12" showIcon="false" borderSize="1" borderSizeComputationExpression="1" strokeSizeComputationExpression="3" backgroundColor="255,245,181"> + <description xmi:type="style:DotDescription" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@nodeMappings[name='Place']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@nodeMappings[name='Place']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNode" uid="_7ZrlwnI4Ee2-kruQw0QW4w" name="stopper" outgoingEdges="_7Z2k5XI4Ee2-kruQw0QW4w" width="3" height="3"> + <target xmi:type="petrinet:Place" href="petrinets/garagedoor.petrinet#//@elements.17"/> + <semanticElements xmi:type="petrinet:Place" href="petrinets/garagedoor.petrinet#//@elements.17"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:Dot" uid="_7Zrlw3I4Ee2-kruQw0QW4w" labelSize="12" showIcon="false" borderSize="1" borderSizeComputationExpression="1" strokeSizeComputationExpression="3" backgroundColor="255,245,181"> + <description xmi:type="style:DotDescription" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@nodeMappings[name='Place']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@nodeMappings[name='Place']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNode" uid="_7ZrlxXI4Ee2-kruQw0QW4w" name="motor.stop" incomingEdges="_7Z_u2nI4Ee2-kruQw0QW4w" width="3" height="3"> + <target xmi:type="petrinet:Place" href="petrinets/garagedoor.petrinet#//@elements.18"/> + <semanticElements xmi:type="petrinet:Place" href="petrinets/garagedoor.petrinet#//@elements.18"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:Dot" uid="_7ZrlxnI4Ee2-kruQw0QW4w" labelSize="12" showIcon="false" borderSize="1" borderSizeComputationExpression="1" strokeSizeComputationExpression="3" backgroundColor="255,245,181"> + <description xmi:type="style:DotDescription" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@nodeMappings[name='Place']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@nodeMappings[name='Place']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNode" uid="_7ZsM0XI4Ee2-kruQw0QW4w" name="openDoor" outgoingEdges="_7Z4aEHI4Ee2-kruQw0QW4w" width="3" height="3"> + <target xmi:type="petrinet:Place" href="petrinets/garagedoor.petrinet#//@elements.20"/> + <semanticElements xmi:type="petrinet:Place" href="petrinets/garagedoor.petrinet#//@elements.20"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:Dot" uid="_7ZsM0nI4Ee2-kruQw0QW4w" labelSize="12" showIcon="false" borderSize="1" borderSizeComputationExpression="1" strokeSizeComputationExpression="3" backgroundColor="255,245,181"> + <description xmi:type="style:DotDescription" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@nodeMappings[name='Place']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@nodeMappings[name='Place']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNode" uid="_7ZsM1HI4Ee2-kruQw0QW4w" name="motor.upwards" incomingEdges="_7aAV6XI4Ee2-kruQw0QW4w" width="3" height="3"> + <target xmi:type="petrinet:Place" href="petrinets/garagedoor.petrinet#//@elements.21"/> + <semanticElements xmi:type="petrinet:Place" href="petrinets/garagedoor.petrinet#//@elements.21"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:Dot" uid="_7ZsM1XI4Ee2-kruQw0QW4w" labelSize="12" showIcon="false" borderSize="1" borderSizeComputationExpression="1" strokeSizeComputationExpression="3" backgroundColor="255,245,181"> + <description xmi:type="style:DotDescription" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@nodeMappings[name='Place']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@nodeMappings[name='Place']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNode" uid="_7Zsz4XI4Ee2-kruQw0QW4w" name="closeDoor" outgoingEdges="_7Z5oNXI4Ee2-kruQw0QW4w" width="3" height="3"> + <target xmi:type="petrinet:Place" href="petrinets/garagedoor.petrinet#//@elements.23"/> + <semanticElements xmi:type="petrinet:Place" href="petrinets/garagedoor.petrinet#//@elements.23"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:Dot" uid="_7Zsz4nI4Ee2-kruQw0QW4w" labelSize="12" showIcon="false" borderSize="1" borderSizeComputationExpression="1" strokeSizeComputationExpression="3" backgroundColor="255,245,181"> + <description xmi:type="style:DotDescription" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@nodeMappings[name='Place']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@nodeMappings[name='Place']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNode" uid="_7Zsz5HI4Ee2-kruQw0QW4w" name="motor.downwards" incomingEdges="_7aA89XI4Ee2-kruQw0QW4w" width="3" height="3"> + <target xmi:type="petrinet:Place" href="petrinets/garagedoor.petrinet#//@elements.24"/> + <semanticElements xmi:type="petrinet:Place" href="petrinets/garagedoor.petrinet#//@elements.24"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:Dot" uid="_7Zta8HI4Ee2-kruQw0QW4w" labelSize="12" showIcon="false" borderSize="1" borderSizeComputationExpression="1" strokeSizeComputationExpression="3" backgroundColor="255,245,181"> + <description xmi:type="style:DotDescription" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@nodeMappings[name='Place']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@nodeMappings[name='Place']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNode" uid="_7Zta8nI4Ee2-kruQw0QW4w" name="shutdown" outgoingEdges="_7Z6PRHI4Ee2-kruQw0QW4w" width="3" height="3"> + <target xmi:type="petrinet:Place" href="petrinets/garagedoor.petrinet#//@elements.26"/> + <semanticElements xmi:type="petrinet:Place" href="petrinets/garagedoor.petrinet#//@elements.26"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:Dot" uid="_7Zta83I4Ee2-kruQw0QW4w" labelSize="12" showIcon="false" borderSize="1" borderSizeComputationExpression="1" strokeSizeComputationExpression="3" backgroundColor="255,245,181"> + <description xmi:type="style:DotDescription" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@nodeMappings[name='Place']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@nodeMappings[name='Place']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNode" uid="_7ZuCAXI4Ee2-kruQw0QW4w" name="closeDoor" outgoingEdges="_7Z6PTnI4Ee2-kruQw0QW4w" width="3" height="3"> + <target xmi:type="petrinet:Place" href="petrinets/garagedoor.petrinet#//@elements.28"/> + <semanticElements xmi:type="petrinet:Place" href="petrinets/garagedoor.petrinet#//@elements.28"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:Dot" uid="_7ZupEHI4Ee2-kruQw0QW4w" labelSize="12" showIcon="false" borderSize="1" borderSizeComputationExpression="1" strokeSizeComputationExpression="3" backgroundColor="255,245,181"> + <description xmi:type="style:DotDescription" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@nodeMappings[name='Place']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@nodeMappings[name='Place']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNode" uid="_7ZupEnI4Ee2-kruQw0QW4w" name="closeDoor" outgoingEdges="_7Z62WXI4Ee2-kruQw0QW4w" width="3" height="3"> + <target xmi:type="petrinet:Place" href="petrinets/garagedoor.petrinet#//@elements.30"/> + <semanticElements xmi:type="petrinet:Place" href="petrinets/garagedoor.petrinet#//@elements.30"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:Dot" uid="_7ZupE3I4Ee2-kruQw0QW4w" labelSize="12" showIcon="false" borderSize="1" borderSizeComputationExpression="1" strokeSizeComputationExpression="3" backgroundColor="255,245,181"> + <description xmi:type="style:DotDescription" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@nodeMappings[name='Place']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@nodeMappings[name='Place']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNode" uid="_7ZvQIHI4Ee2-kruQw0QW4w" name="openDoor" outgoingEdges="_7Z7dZ3I4Ee2-kruQw0QW4w" width="3" height="3"> + <target xmi:type="petrinet:Place" href="petrinets/garagedoor.petrinet#//@elements.32"/> + <semanticElements xmi:type="petrinet:Place" href="petrinets/garagedoor.petrinet#//@elements.32"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:Dot" uid="_7ZvQIXI4Ee2-kruQw0QW4w" labelSize="12" showIcon="false" borderSize="1" borderSizeComputationExpression="1" strokeSizeComputationExpression="3" backgroundColor="255,245,181"> + <description xmi:type="style:DotDescription" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@nodeMappings[name='Place']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@nodeMappings[name='Place']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNode" uid="_7ZvQI3I4Ee2-kruQw0QW4w" name="openDoor" outgoingEdges="_7Z8EdHI4Ee2-kruQw0QW4w" width="3" height="3"> + <target xmi:type="petrinet:Place" href="petrinets/garagedoor.petrinet#//@elements.34"/> + <semanticElements xmi:type="petrinet:Place" href="petrinets/garagedoor.petrinet#//@elements.34"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:Dot" uid="_7ZvQJHI4Ee2-kruQw0QW4w" labelSize="12" showIcon="false" borderSize="1" borderSizeComputationExpression="1" strokeSizeComputationExpression="3" backgroundColor="255,245,181"> + <description xmi:type="style:DotDescription" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@nodeMappings[name='Place']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@nodeMappings[name='Place']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNode" uid="_7Zv3MHI4Ee2-kruQw0QW4w" name="default" outgoingEdges="_7Z8rgHI4Ee2-kruQw0QW4w" incomingEdges="_7Zy6gHI4Ee2-kruQw0QW4w" width="2" height="6"> + <target xmi:type="petrinet:Transition" href="petrinets/garagedoor.petrinet#//@elements.6"/> + <semanticElements xmi:type="petrinet:Transition" href="petrinets/garagedoor.petrinet#//@elements.6"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:Square" uid="_7ZweQHI4Ee2-kruQw0QW4w" labelSize="12" showIcon="false" borderSize="1" borderSizeComputationExpression="1" width="2" height="6" color="253,206,137"> + <description xmi:type="style:SquareDescription" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@nodeMappings[name='Transition']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@nodeMappings[name='Transition']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNode" uid="_7ZweQnI4Ee2-kruQw0QW4w" name="openDoor" outgoingEdges="_7Z9SlHI4Ee2-kruQw0QW4w _7Z95onI4Ee2-kruQw0QW4w" incomingEdges="_7ZzhknI4Ee2-kruQw0QW4w _7Z0IonI4Ee2-kruQw0QW4w" width="2" height="6"> + <target xmi:type="petrinet:Transition" href="petrinets/garagedoor.petrinet#//@elements.7"/> + <semanticElements xmi:type="petrinet:Transition" href="petrinets/garagedoor.petrinet#//@elements.7"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:Square" uid="_7ZweQ3I4Ee2-kruQw0QW4w" labelSize="12" showIcon="false" borderSize="1" borderSizeComputationExpression="1" width="2" height="6" color="253,206,137"> + <description xmi:type="style:SquareDescription" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@nodeMappings[name='Transition']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@nodeMappings[name='Transition']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNode" uid="_7ZweRXI4Ee2-kruQw0QW4w" name="default" outgoingEdges="_7Z-gsHI4Ee2-kruQw0QW4w _7Z_HwnI4Ee2-kruQw0QW4w" incomingEdges="_7Z0vsnI4Ee2-kruQw0QW4w _7Z1WwnI4Ee2-kruQw0QW4w" width="2" height="6"> + <target xmi:type="petrinet:Transition" href="petrinets/garagedoor.petrinet#//@elements.10"/> + <semanticElements xmi:type="petrinet:Transition" href="petrinets/garagedoor.petrinet#//@elements.10"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:Square" uid="_7ZweRnI4Ee2-kruQw0QW4w" labelSize="12" showIcon="false" borderSize="1" borderSizeComputationExpression="1" width="2" height="6" color="253,206,137"> + <description xmi:type="style:SquareDescription" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@nodeMappings[name='Transition']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@nodeMappings[name='Transition']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNode" uid="_7ZweSHI4Ee2-kruQw0QW4w" name="closeDoor" outgoingEdges="_7Z_Hx3I4Ee2-kruQw0QW4w _7Z_u0HI4Ee2-kruQw0QW4w" incomingEdges="_7Z1Wx3I4Ee2-kruQw0QW4w _7Z191HI4Ee2-kruQw0QW4w" width="2" height="6"> + <target xmi:type="petrinet:Transition" href="petrinets/garagedoor.petrinet#//@elements.13"/> + <semanticElements xmi:type="petrinet:Transition" href="petrinets/garagedoor.petrinet#//@elements.13"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:Square" uid="_7ZweSXI4Ee2-kruQw0QW4w" labelSize="12" showIcon="false" borderSize="1" borderSizeComputationExpression="1" width="2" height="6" color="253,206,137"> + <description xmi:type="style:SquareDescription" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@nodeMappings[name='Transition']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@nodeMappings[name='Transition']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNode" uid="_7ZxFUXI4Ee2-kruQw0QW4w" name="default" outgoingEdges="_7Z_u1XI4Ee2-kruQw0QW4w _7Z_u2nI4Ee2-kruQw0QW4w" incomingEdges="_7Z2k4HI4Ee2-kruQw0QW4w _7Z2k5XI4Ee2-kruQw0QW4w" width="2" height="6"> + <target xmi:type="petrinet:Transition" href="petrinets/garagedoor.petrinet#//@elements.16"/> + <semanticElements xmi:type="petrinet:Transition" href="petrinets/garagedoor.petrinet#//@elements.16"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:Square" uid="_7ZxFUnI4Ee2-kruQw0QW4w" labelSize="12" showIcon="false" borderSize="1" borderSizeComputationExpression="1" width="2" height="6" color="253,206,137"> + <description xmi:type="style:SquareDescription" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@nodeMappings[name='Transition']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@nodeMappings[name='Transition']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNode" uid="_7ZxFVHI4Ee2-kruQw0QW4w" name="openDoor" outgoingEdges="_7aAV5HI4Ee2-kruQw0QW4w _7aAV6XI4Ee2-kruQw0QW4w" incomingEdges="_7Z3L9HI4Ee2-kruQw0QW4w _7Z4aEHI4Ee2-kruQw0QW4w" width="2" height="6"> + <target xmi:type="petrinet:Transition" href="petrinets/garagedoor.petrinet#//@elements.19"/> + <semanticElements xmi:type="petrinet:Transition" href="petrinets/garagedoor.petrinet#//@elements.19"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:Square" uid="_7ZxFVXI4Ee2-kruQw0QW4w" labelSize="12" showIcon="false" borderSize="1" borderSizeComputationExpression="1" width="2" height="6" color="253,206,137"> + <description xmi:type="style:SquareDescription" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@nodeMappings[name='Transition']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@nodeMappings[name='Transition']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNode" uid="_7ZxFV3I4Ee2-kruQw0QW4w" name="closeDoor" outgoingEdges="_7aA88HI4Ee2-kruQw0QW4w _7aA89XI4Ee2-kruQw0QW4w" incomingEdges="_7Z5oMHI4Ee2-kruQw0QW4w _7Z5oNXI4Ee2-kruQw0QW4w" width="2" height="6"> + <target xmi:type="petrinet:Transition" href="petrinets/garagedoor.petrinet#//@elements.22"/> + <semanticElements xmi:type="petrinet:Transition" href="petrinets/garagedoor.petrinet#//@elements.22"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:Square" uid="_7ZxFWHI4Ee2-kruQw0QW4w" labelSize="12" showIcon="false" borderSize="1" borderSizeComputationExpression="1" width="2" height="6" color="253,206,137"> + <description xmi:type="style:SquareDescription" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@nodeMappings[name='Transition']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@nodeMappings[name='Transition']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNode" uid="_7ZxFWnI4Ee2-kruQw0QW4w" name="default" outgoingEdges="_7aA8-nI4Ee2-kruQw0QW4w" incomingEdges="_7Z5oOnI4Ee2-kruQw0QW4w _7Z6PRHI4Ee2-kruQw0QW4w" width="2" height="6"> + <target xmi:type="petrinet:Transition" href="petrinets/garagedoor.petrinet#//@elements.25"/> + <semanticElements xmi:type="petrinet:Transition" href="petrinets/garagedoor.petrinet#//@elements.25"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:Square" uid="_7ZxsYHI4Ee2-kruQw0QW4w" labelSize="12" showIcon="false" borderSize="1" borderSizeComputationExpression="1" width="2" height="6" color="253,206,137"> + <description xmi:type="style:SquareDescription" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@nodeMappings[name='Transition']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@nodeMappings[name='Transition']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNode" uid="_7ZxsYnI4Ee2-kruQw0QW4w" name="closeDoor" outgoingEdges="_7aBkAHI4Ee2-kruQw0QW4w" incomingEdges="_7Z6PSXI4Ee2-kruQw0QW4w _7Z6PTnI4Ee2-kruQw0QW4w" width="2" height="6"> + <target xmi:type="petrinet:Transition" href="petrinets/garagedoor.petrinet#//@elements.27"/> + <semanticElements xmi:type="petrinet:Transition" href="petrinets/garagedoor.petrinet#//@elements.27"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:Square" uid="_7ZxsY3I4Ee2-kruQw0QW4w" labelSize="12" showIcon="false" borderSize="1" borderSizeComputationExpression="1" width="2" height="6" color="253,206,137"> + <description xmi:type="style:SquareDescription" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@nodeMappings[name='Transition']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@nodeMappings[name='Transition']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNode" uid="_7ZxsZXI4Ee2-kruQw0QW4w" name="closeDoor" outgoingEdges="_7aBkBXI4Ee2-kruQw0QW4w" incomingEdges="_7Z62VHI4Ee2-kruQw0QW4w _7Z62WXI4Ee2-kruQw0QW4w" width="2" height="6"> + <target xmi:type="petrinet:Transition" href="petrinets/garagedoor.petrinet#//@elements.29"/> + <semanticElements xmi:type="petrinet:Transition" href="petrinets/garagedoor.petrinet#//@elements.29"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:Square" uid="_7ZxsZnI4Ee2-kruQw0QW4w" labelSize="12" showIcon="false" borderSize="1" borderSizeComputationExpression="1" width="2" height="6" color="253,206,137"> + <description xmi:type="style:SquareDescription" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@nodeMappings[name='Transition']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@nodeMappings[name='Transition']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNode" uid="_7ZxsaHI4Ee2-kruQw0QW4w" name="openDoor" outgoingEdges="_7aBkCnI4Ee2-kruQw0QW4w" incomingEdges="_7Z7dYnI4Ee2-kruQw0QW4w _7Z7dZ3I4Ee2-kruQw0QW4w" width="2" height="6"> + <target xmi:type="petrinet:Transition" href="petrinets/garagedoor.petrinet#//@elements.31"/> + <semanticElements xmi:type="petrinet:Transition" href="petrinets/garagedoor.petrinet#//@elements.31"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:Square" uid="_7ZxsaXI4Ee2-kruQw0QW4w" labelSize="12" showIcon="false" borderSize="1" borderSizeComputationExpression="1" width="2" height="6" color="253,206,137"> + <description xmi:type="style:SquareDescription" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@nodeMappings[name='Transition']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@nodeMappings[name='Transition']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNode" uid="_7Zxsa3I4Ee2-kruQw0QW4w" name="openDoor" outgoingEdges="_7aBkD3I4Ee2-kruQw0QW4w" incomingEdges="_7Z7dbHI4Ee2-kruQw0QW4w _7Z8EdHI4Ee2-kruQw0QW4w" width="2" height="6"> + <target xmi:type="petrinet:Transition" href="petrinets/garagedoor.petrinet#//@elements.33"/> + <semanticElements xmi:type="petrinet:Transition" href="petrinets/garagedoor.petrinet#//@elements.33"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:Square" uid="_7ZxsbHI4Ee2-kruQw0QW4w" labelSize="12" showIcon="false" borderSize="1" borderSizeComputationExpression="1" width="2" height="6" color="253,206,137"> + <description xmi:type="style:SquareDescription" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@nodeMappings[name='Transition']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@nodeMappings[name='Transition']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_7Zy6gHI4Ee2-kruQw0QW4w" sourceNode="_7Zn7YHI4Ee2-kruQw0QW4w" targetNode="_7Zv3MHI4Ee2-kruQw0QW4w"> + <target xmi:type="petrinet:IncomingArc" href="petrinets/garagedoor.petrinet#//@arcs.0"/> + <semanticElements xmi:type="petrinet:IncomingArc" href="petrinets/garagedoor.petrinet#//@arcs.0"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_7Zy6gXI4Ee2-kruQw0QW4w" size="2" routingStyle="manhattan" strokeColor="0,0,0"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@edgeMappings[name='IncomingArc']/@style"/> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_7Zy6gnI4Ee2-kruQw0QW4w" labelSize="12"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@edgeMappings[name='IncomingArc']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_7ZzhknI4Ee2-kruQw0QW4w" sourceNode="_7ZoicXI4Ee2-kruQw0QW4w" targetNode="_7ZweQnI4Ee2-kruQw0QW4w"> + <target xmi:type="petrinet:IncomingArc" href="petrinets/garagedoor.petrinet#//@arcs.2"/> + <semanticElements xmi:type="petrinet:IncomingArc" href="petrinets/garagedoor.petrinet#//@arcs.2"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_7Zzhk3I4Ee2-kruQw0QW4w" size="2" routingStyle="manhattan" strokeColor="0,0,0"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@edgeMappings[name='IncomingArc']/@style"/> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_7ZzhlHI4Ee2-kruQw0QW4w" labelSize="12"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@edgeMappings[name='IncomingArc']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_7Z0IonI4Ee2-kruQw0QW4w" sourceNode="_7Zpwk3I4Ee2-kruQw0QW4w" targetNode="_7ZweQnI4Ee2-kruQw0QW4w"> + <target xmi:type="petrinet:IncomingArc" href="petrinets/garagedoor.petrinet#//@arcs.4"/> + <semanticElements xmi:type="petrinet:IncomingArc" href="petrinets/garagedoor.petrinet#//@arcs.4"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_7Z0Io3I4Ee2-kruQw0QW4w" size="2" routingStyle="manhattan" strokeColor="0,0,0"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@edgeMappings[name='IncomingArc']/@style"/> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_7Z0IpHI4Ee2-kruQw0QW4w" labelSize="12"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@edgeMappings[name='IncomingArc']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_7Z0vsnI4Ee2-kruQw0QW4w" sourceNode="_7Zoid3I4Ee2-kruQw0QW4w" targetNode="_7ZweRXI4Ee2-kruQw0QW4w"> + <target xmi:type="petrinet:IncomingArc" href="petrinets/garagedoor.petrinet#//@arcs.6"/> + <semanticElements xmi:type="petrinet:IncomingArc" href="petrinets/garagedoor.petrinet#//@arcs.6"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_7Z0vs3I4Ee2-kruQw0QW4w" size="2" routingStyle="manhattan" strokeColor="0,0,0"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@edgeMappings[name='IncomingArc']/@style"/> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_7Z0vtHI4Ee2-kruQw0QW4w" labelSize="12"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@edgeMappings[name='IncomingArc']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_7Z1WwnI4Ee2-kruQw0QW4w" sourceNode="_7ZqXo3I4Ee2-kruQw0QW4w" targetNode="_7ZweRXI4Ee2-kruQw0QW4w"> + <target xmi:type="petrinet:IncomingArc" href="petrinets/garagedoor.petrinet#//@arcs.8"/> + <semanticElements xmi:type="petrinet:IncomingArc" href="petrinets/garagedoor.petrinet#//@arcs.8"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_7Z1Ww3I4Ee2-kruQw0QW4w" size="2" routingStyle="manhattan" strokeColor="0,0,0"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@edgeMappings[name='IncomingArc']/@style"/> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_7Z1WxHI4Ee2-kruQw0QW4w" labelSize="12"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@edgeMappings[name='IncomingArc']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_7Z1Wx3I4Ee2-kruQw0QW4w" sourceNode="_7ZoidHI4Ee2-kruQw0QW4w" targetNode="_7ZweSHI4Ee2-kruQw0QW4w"> + <target xmi:type="petrinet:IncomingArc" href="petrinets/garagedoor.petrinet#//@arcs.10"/> + <semanticElements xmi:type="petrinet:IncomingArc" href="petrinets/garagedoor.petrinet#//@arcs.10"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_7Z190HI4Ee2-kruQw0QW4w" size="2" routingStyle="manhattan" strokeColor="0,0,0"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@edgeMappings[name='IncomingArc']/@style"/> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_7Z190XI4Ee2-kruQw0QW4w" labelSize="12"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@edgeMappings[name='IncomingArc']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_7Z191HI4Ee2-kruQw0QW4w" sourceNode="_7Zq-s3I4Ee2-kruQw0QW4w" targetNode="_7ZweSHI4Ee2-kruQw0QW4w"> + <target xmi:type="petrinet:IncomingArc" href="petrinets/garagedoor.petrinet#//@arcs.12"/> + <semanticElements xmi:type="petrinet:IncomingArc" href="petrinets/garagedoor.petrinet#//@arcs.12"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_7Z191XI4Ee2-kruQw0QW4w" size="2" routingStyle="manhattan" strokeColor="0,0,0"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@edgeMappings[name='IncomingArc']/@style"/> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_7Z191nI4Ee2-kruQw0QW4w" labelSize="12"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@edgeMappings[name='IncomingArc']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_7Z2k4HI4Ee2-kruQw0QW4w" sourceNode="_7ZpJgnI4Ee2-kruQw0QW4w" targetNode="_7ZxFUXI4Ee2-kruQw0QW4w"> + <target xmi:type="petrinet:IncomingArc" href="petrinets/garagedoor.petrinet#//@arcs.14"/> + <semanticElements xmi:type="petrinet:IncomingArc" href="petrinets/garagedoor.petrinet#//@arcs.14"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_7Z2k4XI4Ee2-kruQw0QW4w" size="2" routingStyle="manhattan" strokeColor="0,0,0"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@edgeMappings[name='IncomingArc']/@style"/> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_7Z2k4nI4Ee2-kruQw0QW4w" labelSize="12"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@edgeMappings[name='IncomingArc']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_7Z2k5XI4Ee2-kruQw0QW4w" sourceNode="_7ZrlwnI4Ee2-kruQw0QW4w" targetNode="_7ZxFUXI4Ee2-kruQw0QW4w"> + <target xmi:type="petrinet:IncomingArc" href="petrinets/garagedoor.petrinet#//@arcs.16"/> + <semanticElements xmi:type="petrinet:IncomingArc" href="petrinets/garagedoor.petrinet#//@arcs.16"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_7Z3L8HI4Ee2-kruQw0QW4w" size="2" routingStyle="manhattan" strokeColor="0,0,0"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@edgeMappings[name='IncomingArc']/@style"/> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_7Z3L8XI4Ee2-kruQw0QW4w" labelSize="12"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@edgeMappings[name='IncomingArc']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_7Z3L9HI4Ee2-kruQw0QW4w" sourceNode="_7ZpJgnI4Ee2-kruQw0QW4w" targetNode="_7ZxFVHI4Ee2-kruQw0QW4w"> + <target xmi:type="petrinet:IncomingArc" href="petrinets/garagedoor.petrinet#//@arcs.18"/> + <semanticElements xmi:type="petrinet:IncomingArc" href="petrinets/garagedoor.petrinet#//@arcs.18"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_7Z3zAHI4Ee2-kruQw0QW4w" size="2" routingStyle="manhattan" strokeColor="0,0,0"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@edgeMappings[name='IncomingArc']/@style"/> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_7Z3zAXI4Ee2-kruQw0QW4w" labelSize="12"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@edgeMappings[name='IncomingArc']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_7Z4aEHI4Ee2-kruQw0QW4w" sourceNode="_7ZsM0XI4Ee2-kruQw0QW4w" targetNode="_7ZxFVHI4Ee2-kruQw0QW4w"> + <target xmi:type="petrinet:IncomingArc" href="petrinets/garagedoor.petrinet#//@arcs.20"/> + <semanticElements xmi:type="petrinet:IncomingArc" href="petrinets/garagedoor.petrinet#//@arcs.20"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_7Z5BIHI4Ee2-kruQw0QW4w" size="2" routingStyle="manhattan" strokeColor="0,0,0"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@edgeMappings[name='IncomingArc']/@style"/> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_7Z5BIXI4Ee2-kruQw0QW4w" labelSize="12"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@edgeMappings[name='IncomingArc']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_7Z5oMHI4Ee2-kruQw0QW4w" sourceNode="_7Zoid3I4Ee2-kruQw0QW4w" targetNode="_7ZxFV3I4Ee2-kruQw0QW4w"> + <target xmi:type="petrinet:IncomingArc" href="petrinets/garagedoor.petrinet#//@arcs.22"/> + <semanticElements xmi:type="petrinet:IncomingArc" href="petrinets/garagedoor.petrinet#//@arcs.22"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_7Z5oMXI4Ee2-kruQw0QW4w" size="2" routingStyle="manhattan" strokeColor="0,0,0"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@edgeMappings[name='IncomingArc']/@style"/> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_7Z5oMnI4Ee2-kruQw0QW4w" labelSize="12"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@edgeMappings[name='IncomingArc']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_7Z5oNXI4Ee2-kruQw0QW4w" sourceNode="_7Zsz4XI4Ee2-kruQw0QW4w" targetNode="_7ZxFV3I4Ee2-kruQw0QW4w"> + <target xmi:type="petrinet:IncomingArc" href="petrinets/garagedoor.petrinet#//@arcs.24"/> + <semanticElements xmi:type="petrinet:IncomingArc" href="petrinets/garagedoor.petrinet#//@arcs.24"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_7Z5oNnI4Ee2-kruQw0QW4w" size="2" routingStyle="manhattan" strokeColor="0,0,0"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@edgeMappings[name='IncomingArc']/@style"/> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_7Z5oN3I4Ee2-kruQw0QW4w" labelSize="12"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@edgeMappings[name='IncomingArc']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_7Z5oOnI4Ee2-kruQw0QW4w" sourceNode="_7ZoicXI4Ee2-kruQw0QW4w" targetNode="_7ZxFWnI4Ee2-kruQw0QW4w"> + <target xmi:type="petrinet:IncomingArc" href="petrinets/garagedoor.petrinet#//@arcs.26"/> + <semanticElements xmi:type="petrinet:IncomingArc" href="petrinets/garagedoor.petrinet#//@arcs.26"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_7Z6PQHI4Ee2-kruQw0QW4w" size="2" routingStyle="manhattan" strokeColor="0,0,0"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@edgeMappings[name='IncomingArc']/@style"/> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_7Z6PQXI4Ee2-kruQw0QW4w" labelSize="12"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@edgeMappings[name='IncomingArc']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_7Z6PRHI4Ee2-kruQw0QW4w" sourceNode="_7Zta8nI4Ee2-kruQw0QW4w" targetNode="_7ZxFWnI4Ee2-kruQw0QW4w"> + <target xmi:type="petrinet:IncomingArc" href="petrinets/garagedoor.petrinet#//@arcs.28"/> + <semanticElements xmi:type="petrinet:IncomingArc" href="petrinets/garagedoor.petrinet#//@arcs.28"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_7Z6PRXI4Ee2-kruQw0QW4w" size="2" routingStyle="manhattan" strokeColor="0,0,0"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@edgeMappings[name='IncomingArc']/@style"/> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_7Z6PRnI4Ee2-kruQw0QW4w" labelSize="12"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@edgeMappings[name='IncomingArc']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_7Z6PSXI4Ee2-kruQw0QW4w" sourceNode="_7ZoicXI4Ee2-kruQw0QW4w" targetNode="_7ZxsYnI4Ee2-kruQw0QW4w"> + <target xmi:type="petrinet:IncomingArc" href="petrinets/garagedoor.petrinet#//@arcs.29"/> + <semanticElements xmi:type="petrinet:IncomingArc" href="petrinets/garagedoor.petrinet#//@arcs.29"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_7Z6PSnI4Ee2-kruQw0QW4w" size="2" routingStyle="manhattan" strokeColor="0,0,0"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@edgeMappings[name='IncomingArc']/@style"/> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_7Z6PS3I4Ee2-kruQw0QW4w" labelSize="12"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@edgeMappings[name='IncomingArc']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_7Z6PTnI4Ee2-kruQw0QW4w" sourceNode="_7ZuCAXI4Ee2-kruQw0QW4w" targetNode="_7ZxsYnI4Ee2-kruQw0QW4w"> + <target xmi:type="petrinet:IncomingArc" href="petrinets/garagedoor.petrinet#//@arcs.31"/> + <semanticElements xmi:type="petrinet:IncomingArc" href="petrinets/garagedoor.petrinet#//@arcs.31"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_7Z62UHI4Ee2-kruQw0QW4w" size="2" routingStyle="manhattan" strokeColor="0,0,0"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@edgeMappings[name='IncomingArc']/@style"/> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_7Z62UXI4Ee2-kruQw0QW4w" labelSize="12"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@edgeMappings[name='IncomingArc']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_7Z62VHI4Ee2-kruQw0QW4w" sourceNode="_7ZpJgnI4Ee2-kruQw0QW4w" targetNode="_7ZxsZXI4Ee2-kruQw0QW4w"> + <target xmi:type="petrinet:IncomingArc" href="petrinets/garagedoor.petrinet#//@arcs.32"/> + <semanticElements xmi:type="petrinet:IncomingArc" href="petrinets/garagedoor.petrinet#//@arcs.32"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_7Z62VXI4Ee2-kruQw0QW4w" size="2" routingStyle="manhattan" strokeColor="0,0,0"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@edgeMappings[name='IncomingArc']/@style"/> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_7Z62VnI4Ee2-kruQw0QW4w" labelSize="12"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@edgeMappings[name='IncomingArc']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_7Z62WXI4Ee2-kruQw0QW4w" sourceNode="_7ZupEnI4Ee2-kruQw0QW4w" targetNode="_7ZxsZXI4Ee2-kruQw0QW4w"> + <target xmi:type="petrinet:IncomingArc" href="petrinets/garagedoor.petrinet#//@arcs.34"/> + <semanticElements xmi:type="petrinet:IncomingArc" href="petrinets/garagedoor.petrinet#//@arcs.34"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_7Z62WnI4Ee2-kruQw0QW4w" size="2" routingStyle="manhattan" strokeColor="0,0,0"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@edgeMappings[name='IncomingArc']/@style"/> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_7Z62W3I4Ee2-kruQw0QW4w" labelSize="12"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@edgeMappings[name='IncomingArc']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_7Z7dYnI4Ee2-kruQw0QW4w" sourceNode="_7ZoidHI4Ee2-kruQw0QW4w" targetNode="_7ZxsaHI4Ee2-kruQw0QW4w"> + <target xmi:type="petrinet:IncomingArc" href="petrinets/garagedoor.petrinet#//@arcs.35"/> + <semanticElements xmi:type="petrinet:IncomingArc" href="petrinets/garagedoor.petrinet#//@arcs.35"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_7Z7dY3I4Ee2-kruQw0QW4w" size="2" routingStyle="manhattan" strokeColor="0,0,0"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@edgeMappings[name='IncomingArc']/@style"/> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_7Z7dZHI4Ee2-kruQw0QW4w" labelSize="12"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@edgeMappings[name='IncomingArc']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_7Z7dZ3I4Ee2-kruQw0QW4w" sourceNode="_7ZvQIHI4Ee2-kruQw0QW4w" targetNode="_7ZxsaHI4Ee2-kruQw0QW4w"> + <target xmi:type="petrinet:IncomingArc" href="petrinets/garagedoor.petrinet#//@arcs.37"/> + <semanticElements xmi:type="petrinet:IncomingArc" href="petrinets/garagedoor.petrinet#//@arcs.37"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_7Z7daHI4Ee2-kruQw0QW4w" size="2" routingStyle="manhattan" strokeColor="0,0,0"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@edgeMappings[name='IncomingArc']/@style"/> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_7Z7daXI4Ee2-kruQw0QW4w" labelSize="12"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@edgeMappings[name='IncomingArc']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_7Z7dbHI4Ee2-kruQw0QW4w" sourceNode="_7Zoid3I4Ee2-kruQw0QW4w" targetNode="_7Zxsa3I4Ee2-kruQw0QW4w"> + <target xmi:type="petrinet:IncomingArc" href="petrinets/garagedoor.petrinet#//@arcs.38"/> + <semanticElements xmi:type="petrinet:IncomingArc" href="petrinets/garagedoor.petrinet#//@arcs.38"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_7Z8EcHI4Ee2-kruQw0QW4w" size="2" routingStyle="manhattan" strokeColor="0,0,0"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@edgeMappings[name='IncomingArc']/@style"/> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_7Z8EcXI4Ee2-kruQw0QW4w" labelSize="12"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@edgeMappings[name='IncomingArc']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_7Z8EdHI4Ee2-kruQw0QW4w" sourceNode="_7ZvQI3I4Ee2-kruQw0QW4w" targetNode="_7Zxsa3I4Ee2-kruQw0QW4w"> + <target xmi:type="petrinet:IncomingArc" href="petrinets/garagedoor.petrinet#//@arcs.40"/> + <semanticElements xmi:type="petrinet:IncomingArc" href="petrinets/garagedoor.petrinet#//@arcs.40"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_7Z8EdXI4Ee2-kruQw0QW4w" size="2" routingStyle="manhattan" strokeColor="0,0,0"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@edgeMappings[name='IncomingArc']/@style"/> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_7Z8EdnI4Ee2-kruQw0QW4w" labelSize="12"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@edgeMappings[name='IncomingArc']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_7Z8rgHI4Ee2-kruQw0QW4w" sourceNode="_7Zv3MHI4Ee2-kruQw0QW4w" targetNode="_7ZoicXI4Ee2-kruQw0QW4w"> + <target xmi:type="petrinet:OutgoingArc" href="petrinets/garagedoor.petrinet#//@arcs.1"/> + <semanticElements xmi:type="petrinet:OutgoingArc" href="petrinets/garagedoor.petrinet#//@arcs.1"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_7Z9SkHI4Ee2-kruQw0QW4w" size="2" routingStyle="manhattan" strokeColor="0,0,0"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@edgeMappings[name='OutgoingArc']/@style"/> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_7Z9SkXI4Ee2-kruQw0QW4w" labelSize="12"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@edgeMappings[name='OutgoingArc']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_7Z9SlHI4Ee2-kruQw0QW4w" sourceNode="_7ZweQnI4Ee2-kruQw0QW4w" targetNode="_7Zoid3I4Ee2-kruQw0QW4w"> + <target xmi:type="petrinet:OutgoingArc" href="petrinets/garagedoor.petrinet#//@arcs.3"/> + <semanticElements xmi:type="petrinet:OutgoingArc" href="petrinets/garagedoor.petrinet#//@arcs.3"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_7Z9SlXI4Ee2-kruQw0QW4w" size="2" routingStyle="manhattan" strokeColor="0,0,0"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@edgeMappings[name='OutgoingArc']/@style"/> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_7Z9SlnI4Ee2-kruQw0QW4w" labelSize="12"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@edgeMappings[name='OutgoingArc']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_7Z95onI4Ee2-kruQw0QW4w" sourceNode="_7ZweQnI4Ee2-kruQw0QW4w" targetNode="_7ZqXoHI4Ee2-kruQw0QW4w"> + <target xmi:type="petrinet:OutgoingArc" href="petrinets/garagedoor.petrinet#//@arcs.5"/> + <semanticElements xmi:type="petrinet:OutgoingArc" href="petrinets/garagedoor.petrinet#//@arcs.5"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_7Z95o3I4Ee2-kruQw0QW4w" size="2" routingStyle="manhattan" strokeColor="0,0,0"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@edgeMappings[name='OutgoingArc']/@style"/> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_7Z95pHI4Ee2-kruQw0QW4w" labelSize="12"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@edgeMappings[name='OutgoingArc']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_7Z-gsHI4Ee2-kruQw0QW4w" sourceNode="_7ZweRXI4Ee2-kruQw0QW4w" targetNode="_7ZoidHI4Ee2-kruQw0QW4w"> + <target xmi:type="petrinet:OutgoingArc" href="petrinets/garagedoor.petrinet#//@arcs.7"/> + <semanticElements xmi:type="petrinet:OutgoingArc" href="petrinets/garagedoor.petrinet#//@arcs.7"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_7Z-gsXI4Ee2-kruQw0QW4w" size="2" routingStyle="manhattan" strokeColor="0,0,0"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@edgeMappings[name='OutgoingArc']/@style"/> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_7Z-gsnI4Ee2-kruQw0QW4w" labelSize="12"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@edgeMappings[name='OutgoingArc']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_7Z_HwnI4Ee2-kruQw0QW4w" sourceNode="_7ZweRXI4Ee2-kruQw0QW4w" targetNode="_7Zq-sHI4Ee2-kruQw0QW4w"> + <target xmi:type="petrinet:OutgoingArc" href="petrinets/garagedoor.petrinet#//@arcs.9"/> + <semanticElements xmi:type="petrinet:OutgoingArc" href="petrinets/garagedoor.petrinet#//@arcs.9"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_7Z_Hw3I4Ee2-kruQw0QW4w" size="2" routingStyle="manhattan" strokeColor="0,0,0"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@edgeMappings[name='OutgoingArc']/@style"/> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_7Z_HxHI4Ee2-kruQw0QW4w" labelSize="12"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@edgeMappings[name='OutgoingArc']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_7Z_Hx3I4Ee2-kruQw0QW4w" sourceNode="_7ZweSHI4Ee2-kruQw0QW4w" targetNode="_7ZpJgnI4Ee2-kruQw0QW4w"> + <target xmi:type="petrinet:OutgoingArc" href="petrinets/garagedoor.petrinet#//@arcs.11"/> + <semanticElements xmi:type="petrinet:OutgoingArc" href="petrinets/garagedoor.petrinet#//@arcs.11"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_7Z_HyHI4Ee2-kruQw0QW4w" size="2" routingStyle="manhattan" strokeColor="0,0,0"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@edgeMappings[name='OutgoingArc']/@style"/> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_7Z_HyXI4Ee2-kruQw0QW4w" labelSize="12"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@edgeMappings[name='OutgoingArc']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_7Z_u0HI4Ee2-kruQw0QW4w" sourceNode="_7ZweSHI4Ee2-kruQw0QW4w" targetNode="_7Zq-tnI4Ee2-kruQw0QW4w"> + <target xmi:type="petrinet:OutgoingArc" href="petrinets/garagedoor.petrinet#//@arcs.13"/> + <semanticElements xmi:type="petrinet:OutgoingArc" href="petrinets/garagedoor.petrinet#//@arcs.13"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_7Z_u0XI4Ee2-kruQw0QW4w" size="2" routingStyle="manhattan" strokeColor="0,0,0"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@edgeMappings[name='OutgoingArc']/@style"/> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_7Z_u0nI4Ee2-kruQw0QW4w" labelSize="12"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@edgeMappings[name='OutgoingArc']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_7Z_u1XI4Ee2-kruQw0QW4w" sourceNode="_7ZxFUXI4Ee2-kruQw0QW4w" targetNode="_7ZoicXI4Ee2-kruQw0QW4w"> + <target xmi:type="petrinet:OutgoingArc" href="petrinets/garagedoor.petrinet#//@arcs.15"/> + <semanticElements xmi:type="petrinet:OutgoingArc" href="petrinets/garagedoor.petrinet#//@arcs.15"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_7Z_u1nI4Ee2-kruQw0QW4w" size="2" routingStyle="manhattan" strokeColor="0,0,0"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@edgeMappings[name='OutgoingArc']/@style"/> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_7Z_u13I4Ee2-kruQw0QW4w" labelSize="12"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@edgeMappings[name='OutgoingArc']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_7Z_u2nI4Ee2-kruQw0QW4w" sourceNode="_7ZxFUXI4Ee2-kruQw0QW4w" targetNode="_7ZrlxXI4Ee2-kruQw0QW4w"> + <target xmi:type="petrinet:OutgoingArc" href="petrinets/garagedoor.petrinet#//@arcs.17"/> + <semanticElements xmi:type="petrinet:OutgoingArc" href="petrinets/garagedoor.petrinet#//@arcs.17"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_7aAV4HI4Ee2-kruQw0QW4w" size="2" routingStyle="manhattan" strokeColor="0,0,0"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@edgeMappings[name='OutgoingArc']/@style"/> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_7aAV4XI4Ee2-kruQw0QW4w" labelSize="12"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@edgeMappings[name='OutgoingArc']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_7aAV5HI4Ee2-kruQw0QW4w" sourceNode="_7ZxFVHI4Ee2-kruQw0QW4w" targetNode="_7Zoid3I4Ee2-kruQw0QW4w"> + <target xmi:type="petrinet:OutgoingArc" href="petrinets/garagedoor.petrinet#//@arcs.19"/> + <semanticElements xmi:type="petrinet:OutgoingArc" href="petrinets/garagedoor.petrinet#//@arcs.19"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_7aAV5XI4Ee2-kruQw0QW4w" size="2" routingStyle="manhattan" strokeColor="0,0,0"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@edgeMappings[name='OutgoingArc']/@style"/> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_7aAV5nI4Ee2-kruQw0QW4w" labelSize="12"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@edgeMappings[name='OutgoingArc']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_7aAV6XI4Ee2-kruQw0QW4w" sourceNode="_7ZxFVHI4Ee2-kruQw0QW4w" targetNode="_7ZsM1HI4Ee2-kruQw0QW4w"> + <target xmi:type="petrinet:OutgoingArc" href="petrinets/garagedoor.petrinet#//@arcs.21"/> + <semanticElements xmi:type="petrinet:OutgoingArc" href="petrinets/garagedoor.petrinet#//@arcs.21"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_7aAV6nI4Ee2-kruQw0QW4w" size="2" routingStyle="manhattan" strokeColor="0,0,0"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@edgeMappings[name='OutgoingArc']/@style"/> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_7aAV63I4Ee2-kruQw0QW4w" labelSize="12"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@edgeMappings[name='OutgoingArc']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_7aA88HI4Ee2-kruQw0QW4w" sourceNode="_7ZxFV3I4Ee2-kruQw0QW4w" targetNode="_7ZpJgnI4Ee2-kruQw0QW4w"> + <target xmi:type="petrinet:OutgoingArc" href="petrinets/garagedoor.petrinet#//@arcs.23"/> + <semanticElements xmi:type="petrinet:OutgoingArc" href="petrinets/garagedoor.petrinet#//@arcs.23"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_7aA88XI4Ee2-kruQw0QW4w" size="2" routingStyle="manhattan" strokeColor="0,0,0"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@edgeMappings[name='OutgoingArc']/@style"/> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_7aA88nI4Ee2-kruQw0QW4w" labelSize="12"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@edgeMappings[name='OutgoingArc']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_7aA89XI4Ee2-kruQw0QW4w" sourceNode="_7ZxFV3I4Ee2-kruQw0QW4w" targetNode="_7Zsz5HI4Ee2-kruQw0QW4w"> + <target xmi:type="petrinet:OutgoingArc" href="petrinets/garagedoor.petrinet#//@arcs.25"/> + <semanticElements xmi:type="petrinet:OutgoingArc" href="petrinets/garagedoor.petrinet#//@arcs.25"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_7aA89nI4Ee2-kruQw0QW4w" size="2" routingStyle="manhattan" strokeColor="0,0,0"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@edgeMappings[name='OutgoingArc']/@style"/> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_7aA893I4Ee2-kruQw0QW4w" labelSize="12"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@edgeMappings[name='OutgoingArc']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_7aA8-nI4Ee2-kruQw0QW4w" sourceNode="_7ZxFWnI4Ee2-kruQw0QW4w" targetNode="_7ZpwkHI4Ee2-kruQw0QW4w"> + <target xmi:type="petrinet:OutgoingArc" href="petrinets/garagedoor.petrinet#//@arcs.27"/> + <semanticElements xmi:type="petrinet:OutgoingArc" href="petrinets/garagedoor.petrinet#//@arcs.27"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_7aA8-3I4Ee2-kruQw0QW4w" size="2" routingStyle="manhattan" strokeColor="0,0,0"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@edgeMappings[name='OutgoingArc']/@style"/> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_7aA8_HI4Ee2-kruQw0QW4w" labelSize="12"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@edgeMappings[name='OutgoingArc']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_7aBkAHI4Ee2-kruQw0QW4w" sourceNode="_7ZxsYnI4Ee2-kruQw0QW4w" targetNode="_7ZoicXI4Ee2-kruQw0QW4w"> + <target xmi:type="petrinet:OutgoingArc" href="petrinets/garagedoor.petrinet#//@arcs.30"/> + <semanticElements xmi:type="petrinet:OutgoingArc" href="petrinets/garagedoor.petrinet#//@arcs.30"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_7aBkAXI4Ee2-kruQw0QW4w" size="2" routingStyle="manhattan" strokeColor="0,0,0"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@edgeMappings[name='OutgoingArc']/@style"/> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_7aBkAnI4Ee2-kruQw0QW4w" labelSize="12"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@edgeMappings[name='OutgoingArc']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_7aBkBXI4Ee2-kruQw0QW4w" sourceNode="_7ZxsZXI4Ee2-kruQw0QW4w" targetNode="_7ZpJgnI4Ee2-kruQw0QW4w"> + <target xmi:type="petrinet:OutgoingArc" href="petrinets/garagedoor.petrinet#//@arcs.33"/> + <semanticElements xmi:type="petrinet:OutgoingArc" href="petrinets/garagedoor.petrinet#//@arcs.33"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_7aBkBnI4Ee2-kruQw0QW4w" size="2" routingStyle="manhattan" strokeColor="0,0,0"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@edgeMappings[name='OutgoingArc']/@style"/> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_7aBkB3I4Ee2-kruQw0QW4w" labelSize="12"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@edgeMappings[name='OutgoingArc']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_7aBkCnI4Ee2-kruQw0QW4w" sourceNode="_7ZxsaHI4Ee2-kruQw0QW4w" targetNode="_7ZoidHI4Ee2-kruQw0QW4w"> + <target xmi:type="petrinet:OutgoingArc" href="petrinets/garagedoor.petrinet#//@arcs.36"/> + <semanticElements xmi:type="petrinet:OutgoingArc" href="petrinets/garagedoor.petrinet#//@arcs.36"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_7aBkC3I4Ee2-kruQw0QW4w" size="2" routingStyle="manhattan" strokeColor="0,0,0"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@edgeMappings[name='OutgoingArc']/@style"/> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_7aBkDHI4Ee2-kruQw0QW4w" labelSize="12"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@edgeMappings[name='OutgoingArc']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_7aBkD3I4Ee2-kruQw0QW4w" sourceNode="_7Zxsa3I4Ee2-kruQw0QW4w" targetNode="_7Zoid3I4Ee2-kruQw0QW4w"> + <target xmi:type="petrinet:OutgoingArc" href="petrinets/garagedoor.petrinet#//@arcs.39"/> + <semanticElements xmi:type="petrinet:OutgoingArc" href="petrinets/garagedoor.petrinet#//@arcs.39"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_7aBkEHI4Ee2-kruQw0QW4w" size="2" routingStyle="manhattan" strokeColor="0,0,0"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@edgeMappings[name='OutgoingArc']/@style"/> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_7aBkEXI4Ee2-kruQw0QW4w" labelSize="12"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@edgeMappings[name='OutgoingArc']"/> + </ownedDiagramElements> + <description xmi:type="description_1:DiagramDescription" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']"/> + <filterVariableHistory xmi:type="diagram:FilterVariableHistory" uid="_7ZmGMHI4Ee2-kruQw0QW4w"/> + <activatedLayers xmi:type="description_1:Layer" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer"/> + <target xmi:type="petrinet:PetriNet" href="petrinets/garagedoor.petrinet#/"/> + </diagram:DSemanticDiagram> + <diagram:DSemanticDiagram uid="_v4ZxICywEe-4er9RFtOKtQ"> + <ownedAnnotationEntries xmi:type="description:AnnotationEntry" uid="_v4aYMiywEe-4er9RFtOKtQ" source="GMF_DIAGRAMS"> + <data xmi:type="notation:Diagram" xmi:id="_v4aYMyywEe-4er9RFtOKtQ" type="Sirius" element="_v4ZxICywEe-4er9RFtOKtQ" measurementUnit="Pixel"> + <children xmi:type="notation:Node" xmi:id="_v4iUACywEe-4er9RFtOKtQ" type="2001" element="_v4a_QCywEe-4er9RFtOKtQ"> + <children xmi:type="notation:Node" xmi:id="_v4iUAyywEe-4er9RFtOKtQ" type="5002"> + <layoutConstraint xmi:type="notation:Location" xmi:id="_v4iUBCywEe-4er9RFtOKtQ" x="31" y="-1"/> + </children> + <children xmi:type="notation:Node" xmi:id="_v4oaoCywEe-4er9RFtOKtQ" type="3001" element="_v4c0diywEe-4er9RFtOKtQ"> + <children xmi:type="notation:Node" xmi:id="_v4oaoyywEe-4er9RFtOKtQ" type="5001"> + <layoutConstraint xmi:type="notation:Location" xmi:id="_v4oapCywEe-4er9RFtOKtQ" y="5"/> + </children> + <children xmi:type="notation:Node" xmi:id="_v4pBsyywEe-4er9RFtOKtQ" type="3002" element="_v4dbgCywEe-4er9RFtOKtQ"> + <styles xmi:type="notation:ShapeStyle" xmi:id="_v4pBtCywEe-4er9RFtOKtQ" fontName="Segoe UI"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_v4pBtSywEe-4er9RFtOKtQ"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_v4oaoSywEe-4er9RFtOKtQ" fontName="Segoe UI" fontHeight="12"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_v4oaoiywEe-4er9RFtOKtQ" x="22" width="20" height="20"/> + </children> + <children xmi:type="notation:Node" xmi:id="_v4pBsCywEe-4er9RFtOKtQ" type="3002" element="_v4bmUCywEe-4er9RFtOKtQ"> + <styles xmi:type="notation:ShapeStyle" xmi:id="_v4pBsSywEe-4er9RFtOKtQ" fontName="Segoe UI"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_v4pBsiywEe-4er9RFtOKtQ"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_v4iUASywEe-4er9RFtOKtQ" fontName="Segoe UI" fontHeight="12"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_v4iUAiywEe-4er9RFtOKtQ" x="217" y="210" width="30" height="30"/> + </children> + <children xmi:type="notation:Node" xmi:id="_v4i7ECywEe-4er9RFtOKtQ" type="2001" element="_v4cNYSywEe-4er9RFtOKtQ"> + <children xmi:type="notation:Node" xmi:id="_v4i7EyywEe-4er9RFtOKtQ" type="5002"> + <layoutConstraint xmi:type="notation:Location" xmi:id="_v4i7FCywEe-4er9RFtOKtQ" x="-29" y="-2"/> + </children> + <children xmi:type="notation:Node" xmi:id="_v4pBtiywEe-4er9RFtOKtQ" type="3002" element="_v4cNYiywEe-4er9RFtOKtQ"> + <styles xmi:type="notation:ShapeStyle" xmi:id="_v4pBtyywEe-4er9RFtOKtQ" fontName="Segoe UI"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_v4pBuCywEe-4er9RFtOKtQ"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_v4i7ESywEe-4er9RFtOKtQ" fontName="Segoe UI" fontHeight="12"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_v4i7EiywEe-4er9RFtOKtQ" x="651" y="210" width="30" height="30"/> + </children> + <children xmi:type="notation:Node" xmi:id="_v4jiICywEe-4er9RFtOKtQ" type="2001" element="_v4cNZCywEe-4er9RFtOKtQ"> + <children xmi:type="notation:Node" xmi:id="_v4jiIyywEe-4er9RFtOKtQ" type="5002"> + <layoutConstraint xmi:type="notation:Location" xmi:id="_v4jiJCywEe-4er9RFtOKtQ" x="31" y="-2"/> + </children> + <children xmi:type="notation:Node" xmi:id="_v4pBuSywEe-4er9RFtOKtQ" type="3002" element="_v4cNZSywEe-4er9RFtOKtQ"> + <styles xmi:type="notation:ShapeStyle" xmi:id="_v4pBuiywEe-4er9RFtOKtQ" fontName="Segoe UI"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_v4pBuyywEe-4er9RFtOKtQ"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_v4jiISywEe-4er9RFtOKtQ" fontName="Segoe UI" fontHeight="12"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_v4jiIiywEe-4er9RFtOKtQ" x="392" y="210" width="30" height="30"/> + </children> + <children xmi:type="notation:Node" xmi:id="_v4jiJSywEe-4er9RFtOKtQ" type="2001" element="_v4c0cCywEe-4er9RFtOKtQ"> + <children xmi:type="notation:Node" xmi:id="_v4kJMCywEe-4er9RFtOKtQ" type="5002"> + <layoutConstraint xmi:type="notation:Location" xmi:id="_v4kJMSywEe-4er9RFtOKtQ" x="-2" y="31"/> + </children> + <children xmi:type="notation:Node" xmi:id="_v4powCywEe-4er9RFtOKtQ" type="3002" element="_v4c0cSywEe-4er9RFtOKtQ"> + <styles xmi:type="notation:ShapeStyle" xmi:id="_v4powSywEe-4er9RFtOKtQ" fontName="Segoe UI"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_v4powiywEe-4er9RFtOKtQ"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_v4jiJiywEe-4er9RFtOKtQ" fontName="Segoe UI" fontHeight="12"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_v4jiJyywEe-4er9RFtOKtQ" x="421" y="357" width="30" height="30"/> + </children> + <children xmi:type="notation:Node" xmi:id="_v4kJMiywEe-4er9RFtOKtQ" type="2001" element="_v4c0cyywEe-4er9RFtOKtQ"> + <children xmi:type="notation:Node" xmi:id="_v4kJNSywEe-4er9RFtOKtQ" type="5002"> + <layoutConstraint xmi:type="notation:Location" xmi:id="_v4kJNiywEe-4er9RFtOKtQ" x="-2" y="-33"/> + </children> + <children xmi:type="notation:Node" xmi:id="_v4powyywEe-4er9RFtOKtQ" type="3002" element="_v4c0dCywEe-4er9RFtOKtQ"> + <styles xmi:type="notation:ShapeStyle" xmi:id="_v4poxCywEe-4er9RFtOKtQ" fontName="Segoe UI"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_v4poxSywEe-4er9RFtOKtQ"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_v4kJMyywEe-4er9RFtOKtQ" fontName="Segoe UI" fontHeight="12"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_v4kJNCywEe-4er9RFtOKtQ" x="427" y="91" width="30" height="30"/> + </children> + <children xmi:type="notation:Node" xmi:id="_v4kwQCywEe-4er9RFtOKtQ" type="2001" element="_v4dbgiywEe-4er9RFtOKtQ"> + <children xmi:type="notation:Node" xmi:id="_v4kwQyywEe-4er9RFtOKtQ" type="5002"> + <layoutConstraint xmi:type="notation:Location" xmi:id="_v4kwRCywEe-4er9RFtOKtQ" x="-27" y="61"/> + </children> + <children xmi:type="notation:Node" xmi:id="_v4poxiywEe-4er9RFtOKtQ" type="3003" element="_v4dbgyywEe-4er9RFtOKtQ"> + <styles xmi:type="notation:ShapeStyle" xmi:id="_v4poxyywEe-4er9RFtOKtQ" fontName="Segoe UI"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_v4poyCywEe-4er9RFtOKtQ"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_v4kwQSywEe-4er9RFtOKtQ" fontName="Segoe UI" fontHeight="12"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_v4kwQiywEe-4er9RFtOKtQ" x="308" y="203" width="20" height="60"/> + </children> + <children xmi:type="notation:Node" xmi:id="_v4lXUCywEe-4er9RFtOKtQ" type="2001" element="_v4dbhSywEe-4er9RFtOKtQ"> + <children xmi:type="notation:Node" xmi:id="_v4lXUyywEe-4er9RFtOKtQ" type="5002"> + <layoutConstraint xmi:type="notation:Location" xmi:id="_v4lXVCywEe-4er9RFtOKtQ" x="-7" y="-33"/> + </children> + <children xmi:type="notation:Node" xmi:id="_v4qP0CywEe-4er9RFtOKtQ" type="3003" element="_v4eCkCywEe-4er9RFtOKtQ"> + <styles xmi:type="notation:ShapeStyle" xmi:id="_v4qP0SywEe-4er9RFtOKtQ" fontName="Segoe UI"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_v4qP0iywEe-4er9RFtOKtQ"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_v4lXUSywEe-4er9RFtOKtQ" fontName="Segoe UI" fontHeight="12"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_v4lXUiywEe-4er9RFtOKtQ" x="518" y="287" width="20" height="60"/> + </children> + <children xmi:type="notation:Node" xmi:id="_v4lXVSywEe-4er9RFtOKtQ" type="2001" element="_v4eCkiywEe-4er9RFtOKtQ"> + <children xmi:type="notation:Node" xmi:id="_v4l-YCywEe-4er9RFtOKtQ" type="5002"> + <layoutConstraint xmi:type="notation:Location" xmi:id="_v4l-YSywEe-4er9RFtOKtQ" x="-7" y="61"/> + </children> + <children xmi:type="notation:Node" xmi:id="_v4qP0yywEe-4er9RFtOKtQ" type="3003" element="_v4eCkyywEe-4er9RFtOKtQ"> + <styles xmi:type="notation:ShapeStyle" xmi:id="_v4qP1CywEe-4er9RFtOKtQ" fontName="Segoe UI"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_v4qP1SywEe-4er9RFtOKtQ"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_v4lXViywEe-4er9RFtOKtQ" fontName="Segoe UI" fontHeight="12"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_v4lXVyywEe-4er9RFtOKtQ" x="525" y="144" width="20" height="60"/> + </children> + <styles xmi:type="notation:DiagramStyle" xmi:id="_v4aYNCywEe-4er9RFtOKtQ"/> + <edges xmi:type="notation:Edge" xmi:id="_v4qP1iywEe-4er9RFtOKtQ" type="4001" element="_v4epoCywEe-4er9RFtOKtQ" source="_v4iUACywEe-4er9RFtOKtQ" target="_v4kwQCywEe-4er9RFtOKtQ"> + <children xmi:type="notation:Node" xmi:id="_v4q24CywEe-4er9RFtOKtQ" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_v4q24SywEe-4er9RFtOKtQ" x="-3" y="-10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_v4q24iywEe-4er9RFtOKtQ" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_v4q24yywEe-4er9RFtOKtQ" x="-3" y="-10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_v4q25CywEe-4er9RFtOKtQ" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_v4q25SywEe-4er9RFtOKtQ" x="-1" y="10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_v4qP1yywEe-4er9RFtOKtQ" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_v4qP2CywEe-4er9RFtOKtQ" fontName="Segoe UI" fontHeight="12"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_v4qP2SywEe-4er9RFtOKtQ" points="[15, 21, -71, -32]$[76, 21, -10, -32]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_v4q25iywEe-4er9RFtOKtQ" id="(0.5,0.0)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_v4q25yywEe-4er9RFtOKtQ" id="(0.5,1.0)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_v4q26CywEe-4er9RFtOKtQ" type="4001" element="_v4fQsiywEe-4er9RFtOKtQ" source="_v4jiICywEe-4er9RFtOKtQ" target="_v4lXUCywEe-4er9RFtOKtQ"> + <children xmi:type="notation:Node" xmi:id="_v4rd8CywEe-4er9RFtOKtQ" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_v4rd8SywEe-4er9RFtOKtQ" y="-10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_v4rd8iywEe-4er9RFtOKtQ" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_v4rd8yywEe-4er9RFtOKtQ" x="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_v4rd9CywEe-4er9RFtOKtQ" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_v4rd9SywEe-4er9RFtOKtQ" y="10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_v4q26SywEe-4er9RFtOKtQ" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_v4q26iywEe-4er9RFtOKtQ" fontName="Segoe UI" fontHeight="12"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_v4q26yywEe-4er9RFtOKtQ" points="[2, 0, -119, -47]$[2, 82, -119, 35]$[111, 82, -10, 35]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_v4rd9iywEe-4er9RFtOKtQ" id="(0.5,1.0)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_v4rd9yywEe-4er9RFtOKtQ" id="(0.5,0.0)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_v4rd-CywEe-4er9RFtOKtQ" type="4001" element="_v4fQtyywEe-4er9RFtOKtQ" source="_v4jiJSywEe-4er9RFtOKtQ" target="_v4lXUCywEe-4er9RFtOKtQ"> + <children xmi:type="notation:Node" xmi:id="_v4rd_CywEe-4er9RFtOKtQ" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_v4rd_SywEe-4er9RFtOKtQ" x="-11" y="-10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_v4rd_iywEe-4er9RFtOKtQ" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_v4rd_yywEe-4er9RFtOKtQ" x="-10" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_v4reACywEe-4er9RFtOKtQ" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_v4reASywEe-4er9RFtOKtQ" x="-18" y="-22"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_v4rd-SywEe-4er9RFtOKtQ" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_v4rd-iywEe-4er9RFtOKtQ" fontName="Segoe UI" fontHeight="12"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_v4rd-yywEe-4er9RFtOKtQ" points="[15, 14, -77, 24]$[92, 14, 0, 24]$[92, -10, 0, 0]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_v4sFACywEe-4er9RFtOKtQ" id="(0.5,0.0)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_v4sFASywEe-4er9RFtOKtQ" id="(0.5,1.0)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_v4sFAiywEe-4er9RFtOKtQ" type="4001" element="_v4f3wCywEe-4er9RFtOKtQ" source="_v4i7ECywEe-4er9RFtOKtQ" target="_v4lXVSywEe-4er9RFtOKtQ"> + <children xmi:type="notation:Node" xmi:id="_v4sFBiywEe-4er9RFtOKtQ" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_v4sFByywEe-4er9RFtOKtQ" x="-39" y="-10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_v4sFCCywEe-4er9RFtOKtQ" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_v4sFCSywEe-4er9RFtOKtQ" x="21" y="-69"/> + </children> + <children xmi:type="notation:Node" xmi:id="_v4sFCiywEe-4er9RFtOKtQ" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_v4sFCyywEe-4er9RFtOKtQ" x="-5" y="-10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_v4sFAyywEe-4er9RFtOKtQ" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_v4sFBCywEe-4er9RFtOKtQ" fontName="Segoe UI" fontHeight="12"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_v4sFBSywEe-4er9RFtOKtQ" points="[6, 0, 137, 6]$[6, -35, 137, -29]$[-121, -35, 10, -29]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_v4sFDCywEe-4er9RFtOKtQ" id="(0.5,0.0)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_v4sFDSywEe-4er9RFtOKtQ" id="(0.5,1.0)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_v4sFDiywEe-4er9RFtOKtQ" type="4001" element="_v4f3xSywEe-4er9RFtOKtQ" source="_v4kJMiywEe-4er9RFtOKtQ" target="_v4lXVSywEe-4er9RFtOKtQ"> + <children xmi:type="notation:Node" xmi:id="_v4sFEiywEe-4er9RFtOKtQ" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_v4sFEyywEe-4er9RFtOKtQ" x="-52" y="-10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_v4sFFCywEe-4er9RFtOKtQ" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_v4sFFSywEe-4er9RFtOKtQ" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_v4sFFiywEe-4er9RFtOKtQ" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_v4sFFyywEe-4er9RFtOKtQ" x="-10" y="61"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_v4sFDyywEe-4er9RFtOKtQ" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_v4sFECywEe-4er9RFtOKtQ" fontName="Segoe UI" fontHeight="12"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_v4sFESywEe-4er9RFtOKtQ" points="[15, 15, -78, -98]$[93, 15, 0, -98]$[93, 53, 0, -60]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_v4sFGCywEe-4er9RFtOKtQ" id="(0.5,0.0)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_v4sFGSywEe-4er9RFtOKtQ" id="(0.5,1.0)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_v4sFGiywEe-4er9RFtOKtQ" type="4001" element="_v4ge0CywEe-4er9RFtOKtQ" source="_v4kwQCywEe-4er9RFtOKtQ" target="_v4jiICywEe-4er9RFtOKtQ"> + <children xmi:type="notation:Node" xmi:id="_v4ssECywEe-4er9RFtOKtQ" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_v4ssESywEe-4er9RFtOKtQ" x="25" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_v4ssEiywEe-4er9RFtOKtQ" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_v4ssEyywEe-4er9RFtOKtQ" x="16" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_v4ssFCywEe-4er9RFtOKtQ" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_v4ssFSywEe-4er9RFtOKtQ" y="10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_v4sFGyywEe-4er9RFtOKtQ" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_v4sFHCywEe-4er9RFtOKtQ" fontName="Segoe UI" fontHeight="12"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_v4sFHSywEe-4er9RFtOKtQ" points="[10, 28, -79, -9]$[74, 28, -15, -9]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_v4ssFiywEe-4er9RFtOKtQ" id="(0.5,0.0)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_v4ssFyywEe-4er9RFtOKtQ" id="(0.5,1.0)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_v4ssGCywEe-4er9RFtOKtQ" type="4001" element="_v4ge1SywEe-4er9RFtOKtQ" source="_v4lXUCywEe-4er9RFtOKtQ" target="_v4i7ECywEe-4er9RFtOKtQ"> + <children xmi:type="notation:Node" xmi:id="_v4ssHCywEe-4er9RFtOKtQ" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_v4ssHSywEe-4er9RFtOKtQ" x="-43" y="-10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_v4ssHiywEe-4er9RFtOKtQ" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_v4ssHyywEe-4er9RFtOKtQ" x="-4" y="4"/> + </children> + <children xmi:type="notation:Node" xmi:id="_v4ssICywEe-4er9RFtOKtQ" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_v4ssISywEe-4er9RFtOKtQ" x="15" y="10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_v4ssGSywEe-4er9RFtOKtQ" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_v4ssGiywEe-4er9RFtOKtQ" fontName="Segoe UI" fontHeight="12"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_v4ssGyywEe-4er9RFtOKtQ" points="[10, 35, -128, 82]$[144, 35, 6, 82]$[144, -47, 6, 0]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_v4tTICywEe-4er9RFtOKtQ" id="(0.5,0.0)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_v4tTISywEe-4er9RFtOKtQ" id="(0.5,1.0)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_v4tTIiywEe-4er9RFtOKtQ" type="4001" element="_v4hF4iywEe-4er9RFtOKtQ" source="_v4lXVSywEe-4er9RFtOKtQ" target="_v4jiICywEe-4er9RFtOKtQ"> + <children xmi:type="notation:Node" xmi:id="_v4tTJiywEe-4er9RFtOKtQ" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_v4tTJyywEe-4er9RFtOKtQ" x="-74" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_v4tTKCywEe-4er9RFtOKtQ" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_v4tTKSywEe-4er9RFtOKtQ" y="-10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_v4tTKiywEe-4er9RFtOKtQ" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_v4tTKyywEe-4er9RFtOKtQ" x="6" y="-10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_v4tTIyywEe-4er9RFtOKtQ" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_v4tTJCywEe-4er9RFtOKtQ" fontName="Segoe UI" fontHeight="12"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_v4tTJSywEe-4er9RFtOKtQ" points="[-10, 31, 118, -65]$[-128, 31, 0, -65]$[-128, 66, 0, -30]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_v4tTLCywEe-4er9RFtOKtQ" id="(0.5,0.0)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_v4tTLSywEe-4er9RFtOKtQ" id="(0.5,1.0)"/> + </edges> + </data> + </ownedAnnotationEntries> + <ownedAnnotationEntries xmi:type="description:AnnotationEntry" uid="_v4hF5yywEe-4er9RFtOKtQ" source="DANNOTATION_CUSTOMIZATION_KEY"> + <data xmi:type="diagram:ComputedStyleDescriptionRegistry" uid="_v4hF6CywEe-4er9RFtOKtQ"/> + </ownedAnnotationEntries> + <ownedDiagramElements xmi:type="diagram:DNode" uid="_v4a_QCywEe-4er9RFtOKtQ" name="initial" outgoingEdges="_v4epoCywEe-4er9RFtOKtQ" width="3" height="3"> + <target xmi:type="petrinet:Place" href="petrinets/switch.petrinet#//@elements.0"/> + <semanticElements xmi:type="petrinet:Place" href="petrinets/switch.petrinet#//@elements.0"/> + <ownedBorderedNodes xmi:type="diagram:DNode" uid="_v4c0diywEe-4er9RFtOKtQ" name="''" width="2" height="2"> + <target xmi:type="petrinet:Token" href="petrinets/switch.petrinet#//@elements.0/@token"/> + <semanticElements xmi:type="petrinet:Token" href="petrinets/switch.petrinet#//@elements.0/@token"/> + <ownedStyle xmi:type="diagram:Dot" uid="_v4dbgCywEe-4er9RFtOKtQ" labelSize="12" showIcon="false" labelAlignment="LEFT" labelPosition="node" backgroundColor="0,0,0"> + <description xmi:type="style:DotDescription" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@nodeMappings[name='Place']/@borderedNodeMappings[name='Token']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@nodeMappings[name='Place']/@borderedNodeMappings[name='Token']"/> + </ownedBorderedNodes> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:Dot" uid="_v4bmUCywEe-4er9RFtOKtQ" labelSize="12" showIcon="false" borderSize="1" borderSizeComputationExpression="1" strokeSizeComputationExpression="3" backgroundColor="255,245,181"> + <description xmi:type="style:DotDescription" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@nodeMappings[name='Place']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@nodeMappings[name='Place']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNode" uid="_v4cNYSywEe-4er9RFtOKtQ" name="on" outgoingEdges="_v4f3wCywEe-4er9RFtOKtQ" incomingEdges="_v4ge1SywEe-4er9RFtOKtQ" width="3" height="3"> + <target xmi:type="petrinet:Place" href="petrinets/switch.petrinet#//@elements.1"/> + <semanticElements xmi:type="petrinet:Place" href="petrinets/switch.petrinet#//@elements.1"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:Dot" uid="_v4cNYiywEe-4er9RFtOKtQ" labelSize="12" showIcon="false" borderSize="1" borderSizeComputationExpression="1" strokeSizeComputationExpression="3" backgroundColor="255,245,181"> + <description xmi:type="style:DotDescription" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@nodeMappings[name='Place']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@nodeMappings[name='Place']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNode" uid="_v4cNZCywEe-4er9RFtOKtQ" name="off" outgoingEdges="_v4fQsiywEe-4er9RFtOKtQ" incomingEdges="_v4ge0CywEe-4er9RFtOKtQ _v4hF4iywEe-4er9RFtOKtQ" width="3" height="3"> + <target xmi:type="petrinet:Place" href="petrinets/switch.petrinet#//@elements.2"/> + <semanticElements xmi:type="petrinet:Place" href="petrinets/switch.petrinet#//@elements.2"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:Dot" uid="_v4cNZSywEe-4er9RFtOKtQ" labelSize="12" showIcon="false" borderSize="1" borderSizeComputationExpression="1" strokeSizeComputationExpression="3" backgroundColor="255,245,181"> + <description xmi:type="style:DotDescription" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@nodeMappings[name='Place']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@nodeMappings[name='Place']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNode" uid="_v4c0cCywEe-4er9RFtOKtQ" name="flip" outgoingEdges="_v4fQtyywEe-4er9RFtOKtQ" width="3" height="3"> + <target xmi:type="petrinet:Place" href="petrinets/switch.petrinet#//@elements.5"/> + <semanticElements xmi:type="petrinet:Place" href="petrinets/switch.petrinet#//@elements.5"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:Dot" uid="_v4c0cSywEe-4er9RFtOKtQ" labelSize="12" showIcon="false" borderSize="1" borderSizeComputationExpression="1" strokeSizeComputationExpression="3" backgroundColor="255,245,181"> + <description xmi:type="style:DotDescription" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@nodeMappings[name='Place']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@nodeMappings[name='Place']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNode" uid="_v4c0cyywEe-4er9RFtOKtQ" name="flip" outgoingEdges="_v4f3xSywEe-4er9RFtOKtQ" width="3" height="3"> + <target xmi:type="petrinet:Place" href="petrinets/switch.petrinet#//@elements.7"/> + <semanticElements xmi:type="petrinet:Place" href="petrinets/switch.petrinet#//@elements.7"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:Dot" uid="_v4c0dCywEe-4er9RFtOKtQ" labelSize="12" showIcon="false" borderSize="1" borderSizeComputationExpression="1" strokeSizeComputationExpression="3" backgroundColor="255,245,181"> + <description xmi:type="style:DotDescription" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@nodeMappings[name='Place']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@nodeMappings[name='Place']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNode" uid="_v4dbgiywEe-4er9RFtOKtQ" name="default" outgoingEdges="_v4ge0CywEe-4er9RFtOKtQ" incomingEdges="_v4epoCywEe-4er9RFtOKtQ" width="2" height="6"> + <target xmi:type="petrinet:Transition" href="petrinets/switch.petrinet#//@elements.3"/> + <semanticElements xmi:type="petrinet:Transition" href="petrinets/switch.petrinet#//@elements.3"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:Square" uid="_v4dbgyywEe-4er9RFtOKtQ" labelSize="12" showIcon="false" borderSize="1" borderSizeComputationExpression="1" width="2" height="6" color="253,206,137"> + <description xmi:type="style:SquareDescription" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@nodeMappings[name='Transition']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@nodeMappings[name='Transition']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNode" uid="_v4dbhSywEe-4er9RFtOKtQ" name="flip" outgoingEdges="_v4ge1SywEe-4er9RFtOKtQ" incomingEdges="_v4fQsiywEe-4er9RFtOKtQ _v4fQtyywEe-4er9RFtOKtQ" width="2" height="6"> + <target xmi:type="petrinet:Transition" href="petrinets/switch.petrinet#//@elements.4"/> + <semanticElements xmi:type="petrinet:Transition" href="petrinets/switch.petrinet#//@elements.4"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:Square" uid="_v4eCkCywEe-4er9RFtOKtQ" labelSize="12" showIcon="false" borderSize="1" borderSizeComputationExpression="1" width="2" height="6" color="253,206,137"> + <description xmi:type="style:SquareDescription" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@nodeMappings[name='Transition']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@nodeMappings[name='Transition']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNode" uid="_v4eCkiywEe-4er9RFtOKtQ" name="flip" outgoingEdges="_v4hF4iywEe-4er9RFtOKtQ" incomingEdges="_v4f3wCywEe-4er9RFtOKtQ _v4f3xSywEe-4er9RFtOKtQ" width="2" height="6"> + <target xmi:type="petrinet:Transition" href="petrinets/switch.petrinet#//@elements.6"/> + <semanticElements xmi:type="petrinet:Transition" href="petrinets/switch.petrinet#//@elements.6"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:Square" uid="_v4eCkyywEe-4er9RFtOKtQ" labelSize="12" showIcon="false" borderSize="1" borderSizeComputationExpression="1" width="2" height="6" color="253,206,137"> + <description xmi:type="style:SquareDescription" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@nodeMappings[name='Transition']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@nodeMappings[name='Transition']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_v4epoCywEe-4er9RFtOKtQ" sourceNode="_v4a_QCywEe-4er9RFtOKtQ" targetNode="_v4dbgiywEe-4er9RFtOKtQ"> + <target xmi:type="petrinet:IncomingArc" href="petrinets/switch.petrinet#//@arcs.0"/> + <semanticElements xmi:type="petrinet:IncomingArc" href="petrinets/switch.petrinet#//@arcs.0"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_v4epoSywEe-4er9RFtOKtQ" size="2" routingStyle="manhattan" strokeColor="0,0,0"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@edgeMappings[name='IncomingArc']/@style"/> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_v4epoiywEe-4er9RFtOKtQ" labelSize="12"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@edgeMappings[name='IncomingArc']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_v4fQsiywEe-4er9RFtOKtQ" sourceNode="_v4cNZCywEe-4er9RFtOKtQ" targetNode="_v4dbhSywEe-4er9RFtOKtQ"> + <target xmi:type="petrinet:IncomingArc" href="petrinets/switch.petrinet#//@arcs.2"/> + <semanticElements xmi:type="petrinet:IncomingArc" href="petrinets/switch.petrinet#//@arcs.2"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_v4fQsyywEe-4er9RFtOKtQ" size="2" routingStyle="manhattan" strokeColor="0,0,0"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@edgeMappings[name='IncomingArc']/@style"/> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_v4fQtCywEe-4er9RFtOKtQ" labelSize="12"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@edgeMappings[name='IncomingArc']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_v4fQtyywEe-4er9RFtOKtQ" sourceNode="_v4c0cCywEe-4er9RFtOKtQ" targetNode="_v4dbhSywEe-4er9RFtOKtQ"> + <target xmi:type="petrinet:IncomingArc" href="petrinets/switch.petrinet#//@arcs.4"/> + <semanticElements xmi:type="petrinet:IncomingArc" href="petrinets/switch.petrinet#//@arcs.4"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_v4fQuCywEe-4er9RFtOKtQ" size="2" routingStyle="manhattan" strokeColor="0,0,0"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@edgeMappings[name='IncomingArc']/@style"/> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_v4fQuSywEe-4er9RFtOKtQ" labelSize="12"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@edgeMappings[name='IncomingArc']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_v4f3wCywEe-4er9RFtOKtQ" sourceNode="_v4cNYSywEe-4er9RFtOKtQ" targetNode="_v4eCkiywEe-4er9RFtOKtQ"> + <target xmi:type="petrinet:IncomingArc" href="petrinets/switch.petrinet#//@arcs.5"/> + <semanticElements xmi:type="petrinet:IncomingArc" href="petrinets/switch.petrinet#//@arcs.5"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_v4f3wSywEe-4er9RFtOKtQ" size="2" routingStyle="manhattan" strokeColor="0,0,0"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@edgeMappings[name='IncomingArc']/@style"/> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_v4f3wiywEe-4er9RFtOKtQ" labelSize="12"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@edgeMappings[name='IncomingArc']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_v4f3xSywEe-4er9RFtOKtQ" sourceNode="_v4c0cyywEe-4er9RFtOKtQ" targetNode="_v4eCkiywEe-4er9RFtOKtQ"> + <target xmi:type="petrinet:IncomingArc" href="petrinets/switch.petrinet#//@arcs.7"/> + <semanticElements xmi:type="petrinet:IncomingArc" href="petrinets/switch.petrinet#//@arcs.7"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_v4f3xiywEe-4er9RFtOKtQ" size="2" routingStyle="manhattan" strokeColor="0,0,0"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@edgeMappings[name='IncomingArc']/@style"/> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_v4f3xyywEe-4er9RFtOKtQ" labelSize="12"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@edgeMappings[name='IncomingArc']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_v4ge0CywEe-4er9RFtOKtQ" sourceNode="_v4dbgiywEe-4er9RFtOKtQ" targetNode="_v4cNZCywEe-4er9RFtOKtQ"> + <target xmi:type="petrinet:OutgoingArc" href="petrinets/switch.petrinet#//@arcs.1"/> + <semanticElements xmi:type="petrinet:OutgoingArc" href="petrinets/switch.petrinet#//@arcs.1"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_v4ge0SywEe-4er9RFtOKtQ" size="2" routingStyle="manhattan" strokeColor="0,0,0"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@edgeMappings[name='OutgoingArc']/@style"/> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_v4ge0iywEe-4er9RFtOKtQ" labelSize="12"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@edgeMappings[name='OutgoingArc']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_v4ge1SywEe-4er9RFtOKtQ" sourceNode="_v4dbhSywEe-4er9RFtOKtQ" targetNode="_v4cNYSywEe-4er9RFtOKtQ"> + <target xmi:type="petrinet:OutgoingArc" href="petrinets/switch.petrinet#//@arcs.3"/> + <semanticElements xmi:type="petrinet:OutgoingArc" href="petrinets/switch.petrinet#//@arcs.3"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_v4ge1iywEe-4er9RFtOKtQ" size="2" routingStyle="manhattan" strokeColor="0,0,0"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@edgeMappings[name='OutgoingArc']/@style"/> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_v4ge1yywEe-4er9RFtOKtQ" labelSize="12"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@edgeMappings[name='OutgoingArc']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_v4hF4iywEe-4er9RFtOKtQ" sourceNode="_v4eCkiywEe-4er9RFtOKtQ" targetNode="_v4cNZCywEe-4er9RFtOKtQ"> + <target xmi:type="petrinet:OutgoingArc" href="petrinets/switch.petrinet#//@arcs.6"/> + <semanticElements xmi:type="petrinet:OutgoingArc" href="petrinets/switch.petrinet#//@arcs.6"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_v4hF4yywEe-4er9RFtOKtQ" size="2" routingStyle="manhattan" strokeColor="0,0,0"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@edgeMappings[name='OutgoingArc']/@style"/> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_v4hF5CywEe-4er9RFtOKtQ" labelSize="12"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer/@edgeMappings[name='OutgoingArc']"/> + </ownedDiagramElements> + <description xmi:type="description_1:DiagramDescription" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']"/> + <filterVariableHistory xmi:type="diagram:FilterVariableHistory" uid="_v4ZxISywEe-4er9RFtOKtQ"/> + <activatedLayers xmi:type="description_1:Layer" href="platform:/resource/swt.most.sirius.petrinet/description/petrinet.odesign#//@ownedViewpoints[name='Viewer']/@ownedRepresentations[name='Petrinet%20Viewer']/@defaultLayer"/> + <target xmi:type="petrinet:PetriNet" href="petrinets/switch.petrinet#/"/> + </diagram:DSemanticDiagram> +</xmi:XMI> diff --git a/model2model/examples-etl/statemachines/garagedoor.statemachine b/model2model/examples-etl/statemachines/garagedoor.statemachine new file mode 100644 index 0000000..7e44c6f --- /dev/null +++ b/model2model/examples-etl/statemachines/garagedoor.statemachine @@ -0,0 +1,49 @@ +<?xml version="1.0" encoding="UTF-8"?> +<statemachine:StateMachine xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:statemachine="http://www.swt.org/most/statemachine" name="Garage Door"> + <states name="Closed"/> + <states name="Open"/> + <states name="Opening"/> + <states name="Closing"/> + <finalstates name="final"/> + <initialstate name="initial"/> + <transitions from="//@initialstate" to="//@states.0"/> + <transitions from="//@states.0" to="//@states.2"> + <trigger content="openDoor"/> + <action content="motor.upwards"/> + </transitions> + <transitions from="//@states.2" to="//@states.1"> + <guard content="stopper"/> + <action content="motor.stop"/> + </transitions> + <transitions from="//@states.1" to="//@states.3"> + <trigger content="closeDoor"/> + <action content="motor.downwards"/> + </transitions> + <transitions from="//@states.3" to="//@states.0"> + <guard content="stopper"/> + <action content="motor.stop"/> + </transitions> + <transitions from="//@states.3" to="//@states.2"> + <trigger content="openDoor"/> + <action content="motor.upwards"/> + </transitions> + <transitions from="//@states.2" to="//@states.3"> + <trigger content="closeDoor"/> + <action content="motor.downwards"/> + </transitions> + <transitions from="//@states.0" to="//@finalstates.0"> + <guard content="shutdown"/> + </transitions> + <transitions from="//@states.0" to="//@states.0"> + <trigger content="closeDoor"/> + </transitions> + <transitions from="//@states.3" to="//@states.3"> + <trigger content="closeDoor"/> + </transitions> + <transitions from="//@states.1" to="//@states.1"> + <trigger content="openDoor"/> + </transitions> + <transitions from="//@states.2" to="//@states.2"> + <trigger content="openDoor"/> + </transitions> +</statemachine:StateMachine> diff --git a/model2model/examples-etl/statemachines/garagedoor.svg b/model2model/examples-etl/statemachines/garagedoor.svg new file mode 100644 index 0000000..26c9a75 --- /dev/null +++ b/model2model/examples-etl/statemachines/garagedoor.svg @@ -0,0 +1,280 @@ +<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" stroke-dasharray="none" shape-rendering="auto" font-family="'Dialog'" width="845" text-rendering="auto" fill-opacity="1" contentScriptType="text/ecmascript" color-interpolation="auto" color-rendering="auto" preserveAspectRatio="xMidYMid meet" font-size="12px" xmlns:diagram="http://www.eclipse.org/sirius/diagram/1.1.0" diagram:semanticRoot="platform:/resource/example/statemachines/garagedoor.statemachine#Garage Door" viewBox="0 0 845 417" fill="black" stroke="black" image-rendering="auto" stroke-miterlimit="10" zoomAndPan="magnify" version="1.0" stroke-linecap="square" stroke-linejoin="miter" contentStyleType="text/css" font-style="normal" height="417" stroke-width="1" stroke-dashoffset="0" font-weight="normal" stroke-opacity="1"> + <!--Generated by the Batik Graphics2D SVG Generator--> + <defs id="genericDefs"/> + <g> + <defs id="defs1"> + <linearGradient x1="588" x2="685" y1="210" gradientUnits="userSpaceOnUse" y2="284" xlink:type="simple" xlink:actuate="onLoad" id="linearGradient1" xlink:show="other" spreadMethod="pad"> + <stop stop-opacity="1" stop-color="rgb(255,245,181)" offset="0%"/> + <stop stop-opacity="1" stop-color="rgb(255,245,181)" offset="100%"/> + </linearGradient> + <linearGradient x1="78" x2="154" y1="211" gradientUnits="userSpaceOnUse" y2="274" xlink:type="simple" xlink:actuate="onLoad" id="linearGradient2" xlink:show="other" spreadMethod="pad"> + <stop stop-opacity="1" stop-color="rgb(255,245,181)" offset="0%"/> + <stop stop-opacity="1" stop-color="rgb(255,245,181)" offset="100%"/> + </linearGradient> + <linearGradient x1="322" x2="425" y1="69" gradientUnits="userSpaceOnUse" y2="146" xlink:type="simple" xlink:actuate="onLoad" id="linearGradient3" xlink:show="other" spreadMethod="pad"> + <stop stop-opacity="1" stop-color="rgb(255,245,181)" offset="0%"/> + <stop stop-opacity="1" stop-color="rgb(255,245,181)" offset="100%"/> + </linearGradient> + <linearGradient x1="326" x2="421" y1="293" gradientUnits="userSpaceOnUse" y2="366" xlink:type="simple" xlink:actuate="onLoad" id="linearGradient4" xlink:show="other" spreadMethod="pad"> + <stop stop-opacity="1" stop-color="rgb(255,245,181)" offset="0%"/> + <stop stop-opacity="1" stop-color="rgb(255,245,181)" offset="100%"/> + </linearGradient> + <linearGradient x1="84" x2="310" y1="-35" gradientUnits="userSpaceOnUse" y2="100" xlink:type="simple" xlink:actuate="onLoad" id="linearGradient5" xlink:show="other" spreadMethod="pad"> + <stop stop-opacity="1" stop-color="rgb(209,209,209)" offset="0%"/> + <stop stop-opacity="1" stop-color="rgb(209,209,209)" offset="100%"/> + </linearGradient> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath1"> + <path d="M755 111 L787 111 L787 143 L755 143 L755 111 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath2"> + <path d="M786 112 L839 112 L839 142 L786 142 L786 112 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath3"> + <path d="M755 159 L787 159 L787 191 L755 191 L755 159 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath4"> + <path d="M786 160 L828 160 L828 190 L786 190 L786 160 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath5"> + <path d="M587 220 L688 220 L688 275 L587 275 L587 220 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath6"> + <path d="M587 220 L686 220 L686 273 L587 273 L587 220 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath7"> + <path d="M604 225 L673 225 L673 255 L604 255 L604 225 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath8"> + <path d="M588 258 L685 258 L685 272 L588 272 L588 258 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath9"> + <path d="M77 216 L157 216 L157 271 L77 271 L77 216 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath10"> + <path d="M77 216 L155 216 L155 269 L77 269 L77 216 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath11"> + <path d="M90 221 L148 221 L148 251 L90 251 L90 221 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath12"> + <path d="M78 254 L154 254 L154 268 L78 268 L78 254 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath13"> + <path d="M321 81 L428 81 L428 136 L321 136 L321 81 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath14"> + <path d="M321 81 L426 81 L426 134 L321 134 L321 81 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath15"> + <path d="M332 86 L419 86 L419 116 L332 116 L332 86 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath16"> + <path d="M322 119 L425 119 L425 133 L322 133 L322 119 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath17"> + <path d="M325 303 L424 303 L424 358 L325 358 L325 303 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath18"> + <path d="M325 303 L422 303 L422 356 L325 356 L325 303 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath19"> + <path d="M338 308 L413 308 L413 338 L338 338 L338 308 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath20"> + <path d="M326 341 L421 341 L421 355 L326 355 L326 341 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath21"> + <path d="M83 9 L313 9 L313 57 L83 57 L83 9 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath22"> + <path d="M83 9 L311 9 L311 55 L83 55 L83 9 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath23"> + <path d="M83 13 L315 13 L315 38 L83 38 L83 13 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath24"> + <path d="M83 41 L311 41 L311 55 L83 55 L83 41 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath25"> + <path d="M-1 -1 L846 -1 L846 418 L-1 418 L-1 -1 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath26"> + <path d="M647 212 L658 212 L658 224 L647 224 L647 212 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath27"> + <path d="M461 81 L628 81 L628 100 L461 100 L461 81 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath28"> + <path d="M423 102 L435 102 L435 113 L423 113 L423 102 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath29"> + <path d="M152 81 L292 81 L292 100 L152 100 L152 81 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath30"> + <path d="M121 208 L132 208 L132 220 L121 220 L121 208 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath31"> + <path d="M131 306 L315 306 L315 325 L131 325 L131 306 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath32"> + <path d="M317 324 L329 324 L329 335 L317 335 L317 324 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath33"> + <path d="M452 303 L592 303 L592 322 L452 322 L452 303 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath34"> + <path d="M632 270 L643 270 L643 282 L632 282 L632 270 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath35"> + <path d="M191 159 L358 159 L358 178 L191 178 L191 159 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath36"> + <path d="M356 131 L367 131 L367 143 L356 143 L356 131 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath37"> + <path d="M383 159 L581 159 L581 178 L383 178 L383 159 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath38"> + <path d="M373 295 L384 295 L384 307 L373 307 L373 295 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath39"> + <path d="M677 153 L750 153 L750 172 L677 172 L677 153 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath40"> + <path d="M747 169 L759 169 L759 180 L747 180 L747 169 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath41"> + <path d="M695 291 L760 291 L760 310 L695 310 L695 291 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath42"> + <path d="M649 270 L660 270 L660 282 L649 282 L649 270 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath43"> + <path d="M343 375 L408 375 L408 394 L343 394 L343 375 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath44"> + <path d="M337 353 L348 353 L348 365 L337 365 L337 353 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath45"> + <path d="M23 291 L88 291 L88 310 L23 310 L23 291 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath46"> + <path d="M97 266 L108 266 L108 278 L97 278 L97 266 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath47"> + <path d="M343 38 L408 38 L408 57 L343 57 L343 38 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath48"> + <path d="M397 73 L408 73 L408 85 L397 85 L397 73 Z"/> + </clipPath> + </defs> + <g stroke-miterlimit="0" stroke-width="0" font-size="15px" font-family="'Segoe UI'" stroke-linejoin="round"> + <circle r="14" clip-path="url(#clipPath1)" cx="770" cy="126" stroke="none"/> + </g> + <g font-size="15px" stroke-width="0.1" font-family="'Segoe UI'" stroke-linecap="butt"> + <circle fill="none" r="14.5" clip-path="url(#clipPath1)" cx="770.5" cy="126.5"/> + <text x="787" xml:space="preserve" font-size="20px" y="135" clip-path="url(#clipPath2)" stroke="none">initial</text> + <circle fill="rgb(209,209,209)" r="14" clip-path="url(#clipPath3)" cx="770" cy="174" stroke="none"/> + <circle fill="none" r="14.5" clip-path="url(#clipPath3)" cx="770.5" cy="174.5"/> + <text x="787" xml:space="preserve" font-size="20px" y="183" clip-path="url(#clipPath4)" stroke="none">final</text> + </g> + <g stroke-linecap="butt" font-size="20px" fill="rgb(131,122,133)" font-family="'Segoe UI'" stroke="rgb(131,122,133)" font-weight="bold" stroke-width="0.1"> + <rect x="589" y="222" clip-path="url(#clipPath5)" width="97" rx="5" opacity="0.255" ry="5" height="51" stroke="none"/> + <rect x="590" y="223" clip-path="url(#clipPath5)" width="97" rx="5" opacity="0.255" ry="5" height="51" stroke="none"/> + <rect x="588" y="221" clip-path="url(#clipPath6)" fill="url(#linearGradient1)" width="97" rx="5" ry="5" height="51" stroke="none"/> + <rect x="588" y="221" clip-path="url(#clipPath6)" fill="none" width="96" rx="5" ry="5" height="50" stroke="black" stroke-width="1.1"/> + <text x="605" y="248" clip-path="url(#clipPath7)" fill="black" stroke="none" stroke-width="1.1" xml:space="preserve">Closed</text> + <line clip-path="url(#clipPath8)" fill="none" x1="589" x2="684" y1="259" y2="259" stroke="black" stroke-width="1.1"/> + <rect x="79" y="218" clip-path="url(#clipPath9)" width="76" rx="5" opacity="0.255" ry="5" height="51" stroke="none" stroke-width="1.1"/> + <rect x="80" y="219" clip-path="url(#clipPath9)" width="76" rx="5" opacity="0.255" ry="5" height="51" stroke="none" stroke-width="1.1"/> + <rect x="78" y="217" clip-path="url(#clipPath10)" fill="url(#linearGradient2)" width="76" rx="5" ry="5" height="51" stroke="none" stroke-width="1.1"/> + <rect x="78" y="217" clip-path="url(#clipPath10)" fill="none" width="75" rx="5" ry="5" height="50" stroke="black" stroke-width="1.1"/> + <text x="91" y="244" clip-path="url(#clipPath11)" fill="black" stroke="none" stroke-width="1.1" xml:space="preserve">Open</text> + <line clip-path="url(#clipPath12)" fill="none" x1="79" x2="153" y1="255" y2="255" stroke="black" stroke-width="1.1"/> + <rect x="323" y="83" clip-path="url(#clipPath13)" width="103" rx="5" opacity="0.255" ry="5" height="51" stroke="none" stroke-width="1.1"/> + <rect x="324" y="84" clip-path="url(#clipPath13)" width="103" rx="5" opacity="0.255" ry="5" height="51" stroke="none" stroke-width="1.1"/> + <rect x="322" y="82" clip-path="url(#clipPath14)" fill="url(#linearGradient3)" width="103" rx="5" ry="5" height="51" stroke="none" stroke-width="1.1"/> + <rect x="322" y="82" clip-path="url(#clipPath14)" fill="none" width="102" rx="5" ry="5" height="50" stroke="black" stroke-width="1.1"/> + <text x="333" y="109" clip-path="url(#clipPath15)" fill="black" stroke="none" stroke-width="1.1" xml:space="preserve">Opening</text> + <line clip-path="url(#clipPath16)" fill="none" x1="323" x2="424" y1="120" y2="120" stroke="black" stroke-width="1.1"/> + <rect x="327" y="305" clip-path="url(#clipPath17)" width="95" rx="5" opacity="0.255" ry="5" height="51" stroke="none" stroke-width="1.1"/> + <rect x="328" y="306" clip-path="url(#clipPath17)" width="95" rx="5" opacity="0.255" ry="5" height="51" stroke="none" stroke-width="1.1"/> + <rect x="326" y="304" clip-path="url(#clipPath18)" fill="url(#linearGradient4)" width="95" rx="5" ry="5" height="51" stroke="none" stroke-width="1.1"/> + <rect x="326" y="304" clip-path="url(#clipPath18)" fill="none" width="94" rx="5" ry="5" height="50" stroke="black" stroke-width="1.1"/> + <text x="339" y="331" clip-path="url(#clipPath19)" fill="black" stroke="none" stroke-width="1.1" xml:space="preserve">Closing</text> + <line clip-path="url(#clipPath20)" fill="none" x1="327" x2="420" y1="342" y2="342" stroke="black" stroke-width="1.1"/> + <rect x="85" y="11" clip-path="url(#clipPath21)" width="226" rx="5" opacity="0.255" ry="5" height="44" stroke="none" stroke-width="1.1"/> + <rect x="86" y="12" clip-path="url(#clipPath21)" width="226" rx="5" opacity="0.255" ry="5" height="44" stroke="none" stroke-width="1.1"/> + </g> + <g stroke-linecap="butt" font-size="16px" fill="url(#linearGradient5)" font-family="'Segoe UI'" stroke="url(#linearGradient5)" font-weight="bold" stroke-width="1.1"> + <rect x="84" y="10" clip-path="url(#clipPath22)" width="226" rx="5" ry="5" height="44" stroke="none"/> + <text fill="black" x="84" xml:space="preserve" y="32" clip-path="url(#clipPath23)" stroke="none">State Machine: Garage Door</text> + <line clip-path="url(#clipPath24)" fill="none" x1="84" x2="310" y1="42" y2="42" stroke="rgb(209,209,209)"/> + </g> + <g font-size="13px" stroke-width="2.1" font-family="'Segoe UI'" stroke-linecap="butt"> + <line y2="126" fill="none" x1="756" clip-path="url(#clipPath25)" x2="652" y1="126"/> + <line y2="221" fill="none" x1="652" clip-path="url(#clipPath25)" x2="652" y1="126"/> + <line y2="221" fill="none" x1="649" clip-path="url(#clipPath26)" x2="652" y1="214"/> + <line y2="214" fill="none" x1="652" clip-path="url(#clipPath26)" x2="655" y1="221"/> + <line y2="107" fill="none" x1="637" clip-path="url(#clipPath25)" x2="637" y1="221"/> + <line y2="107" fill="none" x1="637" clip-path="url(#clipPath25)" x2="425" y1="107"/> + <text x="462" xml:space="preserve" y="96" clip-path="url(#clipPath27)" stroke="none">openDoor / motor.upwards</text> + <line y2="107" fill="none" x1="432" clip-path="url(#clipPath28)" x2="425" y1="104"/> + <line y2="110" fill="none" x1="425" clip-path="url(#clipPath28)" x2="432" y1="107"/> + <line y2="107" fill="none" x1="322" clip-path="url(#clipPath25)" x2="126" y1="107"/> + <line y2="217" fill="none" x1="126" clip-path="url(#clipPath25)" x2="126" y1="107"/> + <text x="153" xml:space="preserve" y="96" clip-path="url(#clipPath29)" stroke="none"> [stopper] / motor.stop</text> + <line y2="217" fill="none" x1="123" clip-path="url(#clipPath30)" x2="126" y1="210"/> + <line y2="210" fill="none" x1="126" clip-path="url(#clipPath30)" x2="129" y1="217"/> + <line y2="329" fill="none" x1="123" clip-path="url(#clipPath25)" x2="123" y1="268"/> + <line y2="329" fill="none" x1="123" clip-path="url(#clipPath25)" x2="326" y1="329"/> + <text x="132" xml:space="preserve" y="321" clip-path="url(#clipPath31)" stroke="none">closeDoor / motor.downwards</text> + <line y2="329" fill="none" x1="319" clip-path="url(#clipPath32)" x2="326" y1="332"/> + <line y2="326" fill="none" x1="326" clip-path="url(#clipPath32)" x2="319" y1="329"/> + <line y2="329" fill="none" x1="421" clip-path="url(#clipPath25)" x2="637" y1="329"/> + <line y2="272" fill="none" x1="637" clip-path="url(#clipPath25)" x2="637" y1="329"/> + <text x="453" xml:space="preserve" y="318" clip-path="url(#clipPath33)" stroke="none"> [stopper] / motor.stop</text> + <line y2="272" fill="none" x1="640" clip-path="url(#clipPath34)" x2="637" y1="279"/> + <line y2="279" fill="none" x1="637" clip-path="url(#clipPath34)" x2="634" y1="272"/> + <line y2="133" fill="none" x1="361" clip-path="url(#clipPath25)" x2="361" y1="304"/> + <text x="192" xml:space="preserve" y="174" clip-path="url(#clipPath35)" stroke="none">openDoor / motor.upwards</text> + <line y2="133" fill="none" x1="364" clip-path="url(#clipPath36)" x2="361" y1="140"/> + <line y2="140" fill="none" x1="361" clip-path="url(#clipPath36)" x2="358" y1="133"/> + <line y2="304" fill="none" x1="378" clip-path="url(#clipPath25)" x2="378" y1="133"/> + <text x="391" xml:space="preserve" y="174" clip-path="url(#clipPath37)" stroke="none">closeDoor / motor.downwards</text> + <line y2="304" fill="none" x1="375" clip-path="url(#clipPath38)" x2="378" y1="297"/> + <line y2="297" fill="none" x1="378" clip-path="url(#clipPath38)" x2="381" y1="304"/> + <line y2="174" fill="none" x1="672" clip-path="url(#clipPath25)" x2="672" y1="221"/> + <line y2="174" fill="none" x1="672" clip-path="url(#clipPath25)" x2="756" y1="174"/> + <text x="678" xml:space="preserve" y="168" clip-path="url(#clipPath39)" stroke="none"> [shutdown]</text> + <line y2="174" fill="none" x1="749" clip-path="url(#clipPath40)" x2="756" y1="177"/> + <line y2="171" fill="none" x1="756" clip-path="url(#clipPath40)" x2="749" y1="174"/> + <line y2="242" fill="none" x1="685" clip-path="url(#clipPath25)" x2="702" y1="242"/> + <line y2="286" fill="none" x1="702" clip-path="url(#clipPath25)" x2="702" y1="242"/> + <line y2="286" fill="none" x1="702" clip-path="url(#clipPath25)" x2="654" y1="286"/> + <line y2="272" fill="none" x1="654" clip-path="url(#clipPath25)" x2="654" y1="286"/> + <text x="696" xml:space="preserve" y="306" clip-path="url(#clipPath41)" stroke="none">closeDoor</text> + <line y2="272" fill="none" x1="657" clip-path="url(#clipPath42)" x2="654" y1="279"/> + <line y2="279" fill="none" x1="654" clip-path="url(#clipPath42)" x2="651" y1="272"/> + <line y2="370" fill="none" x1="402" clip-path="url(#clipPath25)" x2="402" y1="355"/> + <line y2="370" fill="none" x1="402" clip-path="url(#clipPath25)" x2="342" y1="370"/> + <line y2="355" fill="none" x1="342" clip-path="url(#clipPath25)" x2="342" y1="370"/> + <text x="344" xml:space="preserve" y="390" clip-path="url(#clipPath43)" stroke="none">closeDoor</text> + <line y2="355" fill="none" x1="345" clip-path="url(#clipPath44)" x2="342" y1="362"/> + <line y2="362" fill="none" x1="342" clip-path="url(#clipPath44)" x2="339" y1="355"/> + <line y2="242" fill="none" x1="78" clip-path="url(#clipPath25)" x2="60" y1="242"/> + <line y2="286" fill="none" x1="60" clip-path="url(#clipPath25)" x2="60" y1="242"/> + <line y2="286" fill="none" x1="60" clip-path="url(#clipPath25)" x2="102" y1="286"/> + <line y2="268" fill="none" x1="102" clip-path="url(#clipPath25)" x2="102" y1="286"/> + <text x="24" xml:space="preserve" y="306" clip-path="url(#clipPath45)" stroke="none">openDoor</text> + <line y2="268" fill="none" x1="105" clip-path="url(#clipPath46)" x2="102" y1="275"/> + <line y2="275" fill="none" x1="102" clip-path="url(#clipPath46)" x2="99" y1="268"/> + <line y2="65" fill="none" x1="342" clip-path="url(#clipPath25)" x2="342" y1="82"/> + <line y2="65" fill="none" x1="342" clip-path="url(#clipPath25)" x2="402" y1="65"/> + <line y2="82" fill="none" x1="402" clip-path="url(#clipPath25)" x2="402" y1="65"/> + <text x="344" xml:space="preserve" y="53" clip-path="url(#clipPath47)" stroke="none">openDoor</text> + <line y2="82" fill="none" x1="399" clip-path="url(#clipPath48)" x2="402" y1="75"/> + <line y2="75" fill="none" x1="402" clip-path="url(#clipPath48)" x2="405" y1="82"/> + </g> + </g> +</svg> diff --git a/model2model/examples-etl/statemachines/switch.statemachine b/model2model/examples-etl/statemachines/switch.statemachine new file mode 100644 index 0000000..e69b268 --- /dev/null +++ b/model2model/examples-etl/statemachines/switch.statemachine @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<statemachine:StateMachine xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:statemachine="http://www.swt.org/most/statemachine" name="Switch"> + <states name="on"> + <do_ content="do_something"/> + </states> + <states name="off"> + <do_ content="do_nothing"/> + </states> + <initialstate name="initial"/> + <transitions from="//@initialstate" to="//@states.1"/> + <transitions from="//@states.1" to="//@states.0"> + <trigger content="flip"/> + </transitions> + <transitions from="//@states.0" to="//@states.1"> + <trigger content="flip"/> + </transitions> +</statemachine:StateMachine> diff --git a/model2model/examples-etl/statemachines/switch.svg b/model2model/examples-etl/statemachines/switch.svg new file mode 100644 index 0000000..31ee459 --- /dev/null +++ b/model2model/examples-etl/statemachines/switch.svg @@ -0,0 +1,132 @@ +<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" stroke-dasharray="none" shape-rendering="auto" font-family="'Dialog'" width="337" text-rendering="auto" fill-opacity="1" contentScriptType="text/ecmascript" color-interpolation="auto" color-rendering="auto" preserveAspectRatio="xMidYMid meet" font-size="12px" xmlns:diagram="http://www.eclipse.org/sirius/diagram/1.1.0" diagram:semanticRoot="platform:/resource/example/statemachines/switch.statemachine#Switch" viewBox="0 0 337 397" fill="black" stroke="black" image-rendering="auto" stroke-miterlimit="10" zoomAndPan="magnify" version="1.0" stroke-linecap="square" stroke-linejoin="miter" contentStyleType="text/css" font-style="normal" height="397" stroke-width="1" stroke-dashoffset="0" font-weight="normal" stroke-opacity="1"> + <!--Generated by the Batik Graphics2D SVG Generator--> + <defs id="genericDefs"/> + <g> + <defs id="defs1"> + <linearGradient x1="133" x2="325" y1="286" gradientUnits="userSpaceOnUse" y2="416" xlink:type="simple" xlink:actuate="onLoad" id="linearGradient1" xlink:show="other" spreadMethod="pad"> + <stop stop-opacity="1" stop-color="rgb(255,245,181)" offset="0%"/> + <stop stop-opacity="1" stop-color="rgb(255,245,181)" offset="100%"/> + </linearGradient> + <linearGradient x1="133" x2="325" y1="40" gradientUnits="userSpaceOnUse" y2="170" xlink:type="simple" xlink:actuate="onLoad" id="linearGradient2" xlink:show="other" spreadMethod="pad"> + <stop stop-opacity="1" stop-color="rgb(255,245,181)" offset="0%"/> + <stop stop-opacity="1" stop-color="rgb(255,245,181)" offset="100%"/> + </linearGradient> + <linearGradient x1="140" x2="318" y1="-23" gradientUnits="userSpaceOnUse" y2="88" xlink:type="simple" xlink:actuate="onLoad" id="linearGradient3" xlink:show="other" spreadMethod="pad"> + <stop stop-opacity="1" stop-color="rgb(209,209,209)" offset="0%"/> + <stop stop-opacity="1" stop-color="rgb(209,209,209)" offset="100%"/> + </linearGradient> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath1"> + <path d="M18 137 L50 137 L50 169 L18 169 L18 137 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath2"> + <path d="M9 168 L62 168 L62 198 L9 198 L9 168 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath3"> + <path d="M132 315 L328 315 L328 388 L132 388 L132 315 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath4"> + <path d="M132 315 L326 315 L326 386 L132 386 L132 315 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath5"> + <path d="M216 320 L248 320 L248 350 L216 350 L216 320 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath6"> + <path d="M137 355 L325 355 L325 385 L137 385 L137 355 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath7"> + <path d="M133 353 L325 353 L325 385 L133 385 L133 353 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath8"> + <path d="M132 69 L328 69 L328 142 L132 142 L132 69 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath9"> + <path d="M132 69 L326 69 L326 140 L132 140 L132 69 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath10"> + <path d="M214 74 L248 74 L248 104 L214 104 L214 74 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath11"> + <path d="M137 109 L301 109 L301 139 L137 139 L137 109 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath12"> + <path d="M133 107 L325 107 L325 139 L133 139 L133 107 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath13"> + <path d="M139 9 L321 9 L321 57 L139 57 L139 9 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath14"> + <path d="M139 9 L319 9 L319 55 L139 55 L139 9 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath15"> + <path d="M139 13 L323 13 L323 38 L139 38 L139 13 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath16"> + <path d="M139 41 L319 41 L319 55 L139 55 L139 41 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath17"> + <path d="M-1 -1 L338 -1 L338 398 L-1 398 L-1 -1 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath18"> + <path d="M124 95 L136 95 L136 106 L124 106 L124 95 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath19"> + <path d="M270 207 L292 207 L292 226 L270 226 L270 207 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath20"> + <path d="M248 307 L259 307 L259 319 L248 319 L248 307 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath21"> + <path d="M168 207 L190 207 L190 226 L168 226 L168 207 Z"/> + </clipPath> + <clipPath clipPathUnits="userSpaceOnUse" id="clipPath22"> + <path d="M194 137 L205 137 L205 149 L194 149 L194 137 Z"/> + </clipPath> + </defs> + <g stroke-miterlimit="0" stroke-width="0" font-size="15px" font-family="'Segoe UI'" stroke-linejoin="round"> + <circle r="14" clip-path="url(#clipPath1)" cx="33" cy="152" stroke="none"/> + </g> + <g font-size="15px" stroke-width="0.1" font-family="'Segoe UI'" stroke-linecap="butt"> + <circle fill="none" r="14.5" clip-path="url(#clipPath1)" cx="33.5" cy="152.5"/> + <text x="10" xml:space="preserve" font-size="20px" y="191" clip-path="url(#clipPath2)" stroke="none">initial</text> + </g> + <g stroke-linecap="butt" font-size="20px" fill="rgb(131,122,133)" font-family="'Segoe UI'" stroke="rgb(131,122,133)" font-weight="bold" stroke-width="0.1"> + <rect x="134" y="317" clip-path="url(#clipPath3)" width="192" rx="5" opacity="0.255" ry="5" height="69" stroke="none"/> + <rect x="135" y="318" clip-path="url(#clipPath3)" width="192" rx="5" opacity="0.255" ry="5" height="69" stroke="none"/> + <rect x="133" y="316" clip-path="url(#clipPath4)" fill="url(#linearGradient1)" width="192" rx="5" ry="5" height="69" stroke="none"/> + <rect x="133" y="316" clip-path="url(#clipPath4)" fill="none" width="191" rx="5" ry="5" height="68" stroke="black" stroke-width="1.1"/> + <text x="217" y="343" clip-path="url(#clipPath5)" fill="black" stroke="none" stroke-width="1.1" xml:space="preserve">on</text> + </g> + <g font-size="20px" stroke-width="1.1" font-family="'Segoe UI'" stroke-linecap="butt"> + <text x="138" xml:space="preserve" y="378" clip-path="url(#clipPath6)" stroke="none">do/ do_something</text> + <line y2="354" fill="none" x1="134" clip-path="url(#clipPath7)" x2="324" y1="354"/> + <rect x="134" y="71" clip-path="url(#clipPath8)" fill="rgb(131,122,133)" width="192" rx="5" opacity="0.255" ry="5" height="69" stroke="none"/> + <rect x="135" y="72" clip-path="url(#clipPath8)" fill="rgb(131,122,133)" width="192" rx="5" opacity="0.255" ry="5" height="69" stroke="none"/> + <rect x="133" y="70" clip-path="url(#clipPath9)" fill="url(#linearGradient2)" width="192" rx="5" ry="5" height="69" stroke="none"/> + <rect x="133" y="70" clip-path="url(#clipPath9)" fill="none" width="191" rx="5" ry="5" height="68"/> + <text x="215" xml:space="preserve" y="97" clip-path="url(#clipPath10)" font-weight="bold" stroke="none">off</text> + <text x="138" xml:space="preserve" y="132" clip-path="url(#clipPath11)" stroke="none">do/ do_nothing</text> + <line y2="108" fill="none" x1="134" clip-path="url(#clipPath12)" x2="324" y1="108"/> + </g> + <g stroke-linecap="butt" font-size="16px" fill="rgb(131,122,133)" font-family="'Segoe UI'" stroke="rgb(131,122,133)" font-weight="bold" stroke-width="1.1"> + <rect x="141" y="11" clip-path="url(#clipPath13)" width="178" rx="5" opacity="0.255" ry="5" height="44" stroke="none"/> + <rect x="142" y="12" clip-path="url(#clipPath13)" width="178" rx="5" opacity="0.255" ry="5" height="44" stroke="none"/> + <rect x="140" y="10" clip-path="url(#clipPath14)" fill="url(#linearGradient3)" width="178" rx="5" ry="5" height="44" stroke="none"/> + <text fill="black" x="140" xml:space="preserve" y="32" clip-path="url(#clipPath15)" stroke="none">State Machine: Switch</text> + <line clip-path="url(#clipPath16)" fill="none" x1="140" x2="318" y1="42" y2="42" stroke="rgb(209,209,209)"/> + </g> + <g font-size="13px" stroke-width="2.1" font-family="'Segoe UI'" stroke-linecap="butt"> + <line y2="100" fill="none" x1="34" clip-path="url(#clipPath17)" x2="34" y1="138"/> + <line y2="100" fill="none" x1="34" clip-path="url(#clipPath17)" x2="133" y1="100"/> + <line y2="100" fill="none" x1="126" clip-path="url(#clipPath18)" x2="133" y1="103"/> + <line y2="97" fill="none" x1="133" clip-path="url(#clipPath18)" x2="126" y1="100"/> + <line y2="316" fill="none" x1="253" clip-path="url(#clipPath17)" x2="253" y1="139"/> + <text x="271" xml:space="preserve" y="222" clip-path="url(#clipPath19)" stroke="none">flip</text> + <line y2="316" fill="none" x1="250" clip-path="url(#clipPath20)" x2="253" y1="309"/> + <line y2="309" fill="none" x1="253" clip-path="url(#clipPath20)" x2="256" y1="316"/> + <line y2="139" fill="none" x1="199" clip-path="url(#clipPath17)" x2="199" y1="316"/> + <text x="169" xml:space="preserve" y="222" clip-path="url(#clipPath21)" stroke="none">flip</text> + <line y2="139" fill="none" x1="202" clip-path="url(#clipPath22)" x2="199" y1="146"/> + <line y2="146" fill="none" x1="199" clip-path="url(#clipPath22)" x2="196" y1="139"/> + </g> + </g> +</svg> diff --git a/model2model/swt.most.statemachine.to.petrinet.etl/.project b/model2model/swt.most.statemachine.to.petrinet.etl/.project new file mode 100644 index 0000000..b6c3018 --- /dev/null +++ b/model2model/swt.most.statemachine.to.petrinet.etl/.project @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>swt.most.etl.statemachine</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + </buildSpec> + <natures> + </natures> +</projectDescription> diff --git a/model2model/swt.most.statemachine.to.petrinet.etl/StatechartToPetrinets-GarageDoor.launch b/model2model/swt.most.statemachine.to.petrinet.etl/StatechartToPetrinets-GarageDoor.launch new file mode 100644 index 0000000..e1b0e5c --- /dev/null +++ b/model2model/swt.most.statemachine.to.petrinet.etl/StatechartToPetrinets-GarageDoor.launch @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<launchConfiguration type="org.epsilon.etl.eclipse.dt.launching.EtlLaunchConfigurationDelegate"> + <booleanAttribute key="fine_grained_profiling" value="false"/> + <stringAttribute key="implementation_name" value="Parallel (Declarative operations)"/> + <listAttribute key="models"> + <listEntry value="#Mon Jun 17 15:47:19 CEST 2024 aliases= cached=true concurrent=false expand=true fileBasedMetamodelUri= isMetamodelFileBased=false metamodelFile= metamodelUri=http\://www.swt.org/most/statemachine modelFile=/examples-etl/statemachines/garagedoor.statemachine modelUri=platform\:/resource/examples-etl/statemachines/garagedoor.statemachine name=source readOnLoad=true reuseUnmodifiedFileBasedMetamodels=true storeOnDisposal=false type=EMF validate=false"/> + <listEntry value="#Mon Jun 17 15:47:39 CEST 2024 aliases= cached=true concurrent=false expand=true fileBasedMetamodelUri= isMetamodelFileBased=false metamodelFile= metamodelUri=http\://www.example.org/petrinet modelFile=/examples-etl/petrinets/garagedoor.petrinet modelUri=platform\:/resource/examples-etl/petrinets/garagedoor.petrinet name=target readOnLoad=false reuseUnmodifiedFileBasedMetamodels=true storeOnDisposal=true type=EMF validate=false"/> + </listAttribute> + <booleanAttribute key="org.eclipse.debug.core.ATTR_FORCE_SYSTEM_CONSOLE_ENCODING" value="false"/> + <intAttribute key="parallelism" value="7"/> + <listAttribute key="parameters"/> + <booleanAttribute key="profile_model_loading" value="false"/> + <booleanAttribute key="profiling_enabled" value="false"/> + <booleanAttribute key="reset_profiler" value="false"/> + <stringAttribute key="source" value="/swt.most.etl.statemachine/StatechartToPetrinets.etl"/> +</launchConfiguration> diff --git a/model2model/swt.most.statemachine.to.petrinet.etl/StatechartToPetrinets-Switch.launch b/model2model/swt.most.statemachine.to.petrinet.etl/StatechartToPetrinets-Switch.launch new file mode 100644 index 0000000..2488b8f --- /dev/null +++ b/model2model/swt.most.statemachine.to.petrinet.etl/StatechartToPetrinets-Switch.launch @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<launchConfiguration type="org.epsilon.etl.eclipse.dt.launching.EtlLaunchConfigurationDelegate"> + <booleanAttribute key="fine_grained_profiling" value="false"/> + <stringAttribute key="implementation_name" value="Parallel (Declarative operations)"/> + <listAttribute key="models"> + <listEntry value="#Mon Jun 17 15:50:00 CEST 2024 aliases= cached=true concurrent=false expand=true fileBasedMetamodelUri= isMetamodelFileBased=false metamodelFile= metamodelUri=http\://www.swt.org/most/statemachine modelFile=/examples-etl/statemachines/switch.statemachine modelUri=platform\:/resource/examples-etl/statemachines/switch.statemachine name=source readOnLoad=true reuseUnmodifiedFileBasedMetamodels=true storeOnDisposal=false type=EMF validate=false"/> + <listEntry value="#Mon Jun 17 15:50:51 CEST 2024 aliases= cached=true concurrent=false expand=true fileBasedMetamodelUri= isMetamodelFileBased=false metamodelFile= metamodelUri=http\://www.example.org/petrinet modelFile=/examples-etl/petrinets/switch.petrinet modelUri=platform\:/resource/examples-etl/petrinets/switch.petrinet name=target readOnLoad=false reuseUnmodifiedFileBasedMetamodels=true storeOnDisposal=true type=EMF validate=false"/> + </listAttribute> + <booleanAttribute key="org.eclipse.debug.core.ATTR_FORCE_SYSTEM_CONSOLE_ENCODING" value="false"/> + <intAttribute key="parallelism" value="7"/> + <listAttribute key="parameters"/> + <booleanAttribute key="profile_model_loading" value="false"/> + <booleanAttribute key="profiling_enabled" value="false"/> + <booleanAttribute key="reset_profiler" value="false"/> + <stringAttribute key="source" value="/swt.most.etl.statemachine/StatechartToPetrinets.etl"/> +</launchConfiguration> diff --git a/model2model/swt.most.statemachine.to.petrinet.etl/StatechartToPetrinets.etl b/model2model/swt.most.statemachine.to.petrinet.etl/StatechartToPetrinets.etl new file mode 100644 index 0000000..6561467 --- /dev/null +++ b/model2model/swt.most.statemachine.to.petrinet.etl/StatechartToPetrinets.etl @@ -0,0 +1,129 @@ + +// A normal Transformation Rule triggers ones per element in the source model. +// this rule will create a Petri Net out of a State Machine and will fill it with transformed sub-elements from the source model. +rule StateMachineToPerinet + transform s : source!StateMachine + to t : target!PetriNet { + + ("Start transforming State Machine '"+ s.name +"' into a Petri Net!").println(); + + t.name = s.name; + + t.elements.add(s.initialstate.equivalent()); + + for (state in s.states) { + t.elements.add(state.equivalent()); + } + + for (state in s.finalstates) { + t.elements.add(state.equivalent()); + } + + for (transition in s.transitions) { + t.processTransition(transition); + } + + "Transformation finished!".println(); + +} + + +// Lazy Transformation Rules will not automatically trigger a transformation per source model element. +// They can be triggered by calling x.equivalent(). x must be an element of the source model datatype. (source!Datatype) +// Note x.equivalent() will only trigger the transformation once and will after the first call only return a reference to the created element. +// They are used for simple transformations. +@lazy +rule NormalStateToPlace + transform s : source!NormalState + to t : target!Place { + t.identifier = s.name; +} + +@lazy +rule InitialStateToPlace + transform s : source!InitialState + to t : target!Place { + t.identifier = s.name; + t.token = new target!Token; +} + +@lazy +rule FinalStateToPlace + transform s : source!FinalState + to t : target!Place { + t.identifier = s.name; +} + +@lazy +rule TransitionToTransition + transform s : source!Transition + to t : target!Transition { + if(s.trigger <> null){ + t.identifier = s.trigger.content; + }else{ + t.identifier = "default"; + } +} + +// If you need a complex transformation, you can define our own functions. +// Please note that functions are not automatically called per source model element. You need to call them from a rule. +// In this case, a State Machine Transition is transformed into multiple Petri Net elements (Transition and Arcs). +function target!PetriNet processTransition(transition : source!Transition){ + + // Process a State Machine Transition in a Petri Net Transition and two Arcs. + // Call the lazy rule to create the Transition + var pTransition = transition.equivalent(); + self.elements.add(pTransition); + + // Add the arcs as completly new elements + var pIncomingArc = new target!IncomingArc; + pIncomingArc.Target = pTransition; + pIncomingArc.Source = transition.from.equivalent(); + self.arcs.add(pIncomingArc); + + var pOutgoingArc = new target!OutgoingArc; + pOutgoingArc.Target = transition.To.equivalent(); + pOutgoingArc.Source = pTransition; + self.arcs.add(pOutgoingArc); + + // Process the trigger statement to a Place and an Arc to the current Petri Net Transition. + // By later placing a Token in the Place the "guard" is active and the Transition can fire. + if(transition.trigger <> null){ + var triggerPlace = new target!Place; + triggerPlace.identifier = transition.trigger.content; + self.elements.add(triggerPlace); + + var triggerIncomingArc = new target!IncomingArc; + triggerIncomingArc.Target = pTransition; + triggerIncomingArc.Source = triggerPlace; + self.arcs.add(triggerIncomingArc); + } + + // Process a guard statement to a Place and an Arc to the current Petri Net Transition. + // By later placing a Token in the Place the "guard" is active and the Transition can fire. + if(transition.Guard <> null){ + var guardPlace = new target!Place; + guardPlace.identifier = transition.Guard.content; + self.elements.add(guardPlace); + + var guardIncomingArc = new target!IncomingArc; + guardIncomingArc.Target = pTransition; + guardIncomingArc.Source = guardPlace; + self.arcs.add(guardIncomingArc); + } + + // Process an action statement to a Place and an Arc from the current petri net Transition. + // If the Transition is fired a token is placed in the Place, symbolizing a done or pending action. + if(transition.action <> null){ + var actionPlace = new target!Place; + actionPlace.identifier = transition.action.content; + self.elements.add(actionPlace); + + var actionOutgoingArc = new target!OutgoingArc; + actionOutgoingArc.Target = actionPlace; + actionOutgoingArc.Source = pTransition; + self.arcs.add(actionOutgoingArc); + } + + +} diff --git a/model2model/swt.most.statemachine.validation.evl/.project b/model2model/swt.most.statemachine.validation.evl/.project new file mode 100644 index 0000000..8cebe1d --- /dev/null +++ b/model2model/swt.most.statemachine.validation.evl/.project @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>swt.most.statemachine.validation.evl</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + </buildSpec> + <natures> + </natures> +</projectDescription> diff --git a/model2model/swt.most.statemachine.validation.evl/model/garagedoor.statemachine b/model2model/swt.most.statemachine.validation.evl/model/garagedoor.statemachine new file mode 100644 index 0000000..358692a --- /dev/null +++ b/model2model/swt.most.statemachine.validation.evl/model/garagedoor.statemachine @@ -0,0 +1,51 @@ +<?xml version="1.0" encoding="UTF-8"?> +<statemachine:StateMachine xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:statemachine="http://www.swt.org/most/statemachine" name="Garage Door"> + <states name="Closed"/> + <states name="Open"/> + <states name="Opening"/> + <states name="Closing"/> + <finalstates name="final"/> + <initialstate name="initial"/> + <transitions from="initial" to="Closed"/> + <transitions from="Closed" to="Opening"> + <trigger content="openDoor"/> + <action content="motor.upwards"/> + </transitions> + <transitions from="Opening" to="Open"> + <action content="motor.stop"/> + </transitions> + <transitions from="Open" to="Closing"> + <trigger content="closeDoor"/> + <action content="motor.downwards"/> + </transitions> + <transitions from="Closing" to="Closed"> + <guard content="stopper"/> + <action content="motor.stop"/> + </transitions> + <transitions from="Closing" to="Opening"> + <trigger content="openDoor"/> + <action content="motor.upwards"/> + </transitions> + <transitions from="Opening" to="Closing"> + <trigger content="closeDoor"/> + <action content="motor.downwards"/> + </transitions> + <transitions from="Closed" to="final"> + <guard content="shutdown"/> + </transitions> + <transitions from="Closed" to="Closed"> + <trigger content="closeDoor"/> + </transitions> + <transitions from="Closing" to="Closing"> + <trigger content="closeDoor"/> + </transitions> + <transitions from="Open" to="Open"> + <trigger content="openDoor"/> + </transitions> + <transitions from="Opening" to="Opening"> + <trigger content="openDoor"/> + </transitions> + <transitions from="final" to="initial"> + <guard content="end"/> + </transitions> +</statemachine:StateMachine> diff --git a/model2model/swt.most.statemachine.validation.evl/statemachine-validation.evl b/model2model/swt.most.statemachine.validation.evl/statemachine-validation.evl new file mode 100644 index 0000000..c732864 --- /dev/null +++ b/model2model/swt.most.statemachine.validation.evl/statemachine-validation.evl @@ -0,0 +1,55 @@ +pre{ + var maxStates = 3; +} + +context Transition { + + guard: not self.from.instanceOf(InitialState) + + critique emptyTransition { + check : (self.Trigger <> null) or (self.Guard <> null) + message : "Transition [" + self.from.name + "-" + self.to.name + "] has no guard or event" + } +} + + +context Transition { + + constraint TransitionToInitialState { + check : not self.to.instanceOf(InitialState) + message : "Transition [" + self.from.name + "-" + self.to.name + "] ends in an Initial State" + } + + constraint TransitionFromFinalState { + check : not self.from.instanceOf(FinalState) + message : "Transition [" + self.from.name + "-" + self.to.name + "] starts in a Final State" + fix { + title: "Delete Transition" + do { + delete self; + } + } + + } + +} + + +context StateMachine { + + critique CheckNumberOfStates{ + check { + var numberS = 0; + numberS = self.states.size(); + return numberS > 1 and numberS < maxStates; + } + message { + if(numberS == 0){ + return "No States are present in the State Machine. Check if the model was saved correctly!"; + }else if(numberS > maxStates){ + return numberS + " States are found. The statemachine is quite big. Please check if the behaivior can be split up!"; + } + } + } + +} diff --git a/model2model/swt.most.statemachine.validation.evl/validation GarageDoor.launch b/model2model/swt.most.statemachine.validation.evl/validation GarageDoor.launch new file mode 100644 index 0000000..2e03350 --- /dev/null +++ b/model2model/swt.most.statemachine.validation.evl/validation GarageDoor.launch @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<launchConfiguration type="org.epsilon.evl.eclipse.dt.launching.EvlLaunchConfigurationDelegate"> + <booleanAttribute key="fine_grained_profiling" value="false"/> + <stringAttribute key="implementation_name" value="Parallel (Annotations)"/> + <listAttribute key="models"> + <listEntry value="#Mon Jun 17 17:13:45 CEST 2024 aliases= cached=true concurrent=false expand=true fileBasedMetamodelUri= isMetamodelFileBased=false metamodelFile= metamodelUri=http\://www.swt.org/most/statemachine modelFile=/swt.most.statemachine.validation.evl/model/garagedoor.statemachine modelUri=platform\:/resource/swt.most.statemachine.validation.evl/model/garagedoor.statemachine name=source readOnLoad=true reuseUnmodifiedFileBasedMetamodels=true storeOnDisposal=false type=EMF validate=false"/> + </listAttribute> + <booleanAttribute key="optimizeConstraintTrace" value="true"/> + <booleanAttribute key="optimizeConstraints" value="false"/> + <booleanAttribute key="org.eclipse.debug.core.ATTR_FORCE_SYSTEM_CONSOLE_ENCODING" value="false"/> + <intAttribute key="parallelism" value="7"/> + <listAttribute key="parameters"/> + <booleanAttribute key="profile_model_loading" value="false"/> + <booleanAttribute key="profiling_enabled" value="false"/> + <booleanAttribute key="reset_profiler" value="false"/> + <booleanAttribute key="shortCircuit" value="false"/> + <stringAttribute key="source" value="/swt.most.statemachine.validation.evl/statemachine-validation.evl"/> +</launchConfiguration> diff --git a/model2text/swt.most.statemachine.to.java.egl/.project b/model2text/swt.most.statemachine.to.java.egl/.project new file mode 100644 index 0000000..7ecab28 --- /dev/null +++ b/model2text/swt.most.statemachine.to.java.egl/.project @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>swt.most.statemachine.to.java.egl</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + </buildSpec> + <natures> + </natures> +</projectDescription> diff --git a/model2text/swt.most.statemachine.to.java.egl/generateJava-GarageDoor.launch b/model2text/swt.most.statemachine.to.java.egl/generateJava-GarageDoor.launch new file mode 100644 index 0000000..06bbf48 --- /dev/null +++ b/model2text/swt.most.statemachine.to.java.egl/generateJava-GarageDoor.launch @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<launchConfiguration type="org.epsilon.egl.eclipse.dt.launching.EglLaunchConfigurationDelegate"> + <booleanAttribute key="appendToFile" value="false"/> + <listAttribute key="defaultFormatters"/> + <intAttribute key="egxGenerateTo" value="1"/> + <booleanAttribute key="fine_grained_profiling" value="false"/> + <intAttribute key="generateTo" value="1"/> + <stringAttribute key="implementation_name" value="Sequential EGX"/> + <listAttribute key="models"> + <listEntry value="#Mon Jun 17 16:56:01 CEST 2024 aliases= cached=true concurrent=false expand=true fileBasedMetamodelUri= isMetamodelFileBased=false metamodelFile= metamodelUri=http\://www.swt.org/most/statemachine modelFile=/swt.most.statemachine.to.java.egl/model/garagedoor.statemachine modelUri=platform\:/resource/swt.most.statemachine.to.java.egl/model/garagedoor.statemachine name=source readOnLoad=true reuseUnmodifiedFileBasedMetamodels=true storeOnDisposal=false type=EMF validate=false"/> + </listAttribute> + <booleanAttribute key="org.eclipse.debug.core.ATTR_FORCE_SYSTEM_CONSOLE_ENCODING" value="false"/> + <stringAttribute key="outputDirPath" value=""/> + <stringAttribute key="outputFilePath" value=""/> + <listAttribute key="parameters"/> + <booleanAttribute key="produceTrace" value="false"/> + <booleanAttribute key="profile_model_loading" value="false"/> + <booleanAttribute key="profiling_enabled" value="false"/> + <booleanAttribute key="reset_profiler" value="false"/> + <stringAttribute key="source" value="/swt.most.statemachine.to.java.egl/generator-code/generate.egx"/> + <stringAttribute key="templateFactoryType" value="org.eclipse.epsilon.egl.EglFileGeneratingTemplateFactory"/> + <stringAttribute key="traceDestination" value=""/> +</launchConfiguration> diff --git a/model2text/swt.most.statemachine.to.java.egl/generateJava-Switch.launch b/model2text/swt.most.statemachine.to.java.egl/generateJava-Switch.launch new file mode 100644 index 0000000..900f6a8 --- /dev/null +++ b/model2text/swt.most.statemachine.to.java.egl/generateJava-Switch.launch @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<launchConfiguration type="org.epsilon.egl.eclipse.dt.launching.EglLaunchConfigurationDelegate"> + <booleanAttribute key="appendToFile" value="false"/> + <listAttribute key="defaultFormatters"/> + <intAttribute key="egxGenerateTo" value="1"/> + <booleanAttribute key="fine_grained_profiling" value="false"/> + <intAttribute key="generateTo" value="1"/> + <stringAttribute key="implementation_name" value="Sequential EGX"/> + <listAttribute key="models"> + <listEntry value="#Mon Jun 17 16:45:56 CEST 2024 aliases= cached=true concurrent=false expand=true fileBasedMetamodelUri= isMetamodelFileBased=false metamodelFile= metamodelUri=http\://www.swt.org/most/statemachine modelFile=/swt.most.statemachine.to.java.egl/model/switch.statemachine modelUri=platform\:/resource/swt.most.statemachine.to.java.egl/model/switch.statemachine name=source readOnLoad=true reuseUnmodifiedFileBasedMetamodels=true storeOnDisposal=false type=EMF validate=false"/> + </listAttribute> + <booleanAttribute key="org.eclipse.debug.core.ATTR_FORCE_SYSTEM_CONSOLE_ENCODING" value="false"/> + <stringAttribute key="outputDirPath" value=""/> + <stringAttribute key="outputFilePath" value=""/> + <listAttribute key="parameters"/> + <booleanAttribute key="produceTrace" value="false"/> + <booleanAttribute key="profile_model_loading" value="false"/> + <booleanAttribute key="profiling_enabled" value="false"/> + <booleanAttribute key="reset_profiler" value="false"/> + <stringAttribute key="source" value="/swt.most.statemachine.to.java.egl/generator-code/generate.egx"/> + <stringAttribute key="templateFactoryType" value="org.eclipse.epsilon.egl.EglFileGeneratingTemplateFactory"/> + <stringAttribute key="traceDestination" value=""/> +</launchConfiguration> diff --git a/model2text/swt.most.statemachine.to.java.egl/generator-code/functions.eol b/model2text/swt.most.statemachine.to.java.egl/generator-code/functions.eol new file mode 100644 index 0000000..bb4e0a9 --- /dev/null +++ b/model2text/swt.most.statemachine.to.java.egl/generator-code/functions.eol @@ -0,0 +1,15 @@ +function String normalize(upperCase:Boolean) : String { + + var result = self.replaceAll(' ', '').trim(); + + if(upperCase){ + return result.firstToUpperCase(); + }else{ + return result; + } + +} + +function StateMachine uniqueTrigger() : Set { + return self.transitions.select(t | t.trigger <> null).asSet(); +} \ No newline at end of file diff --git a/model2text/swt.most.statemachine.to.java.egl/generator-code/generate.egx b/model2text/swt.most.statemachine.to.java.egl/generator-code/generate.egx new file mode 100644 index 0000000..f907e3d --- /dev/null +++ b/model2text/swt.most.statemachine.to.java.egl/generator-code/generate.egx @@ -0,0 +1,9 @@ +import "functions.eol"; + +rule StateMachineToJava + transform aStateMachine : source!StateMachine { + + template : "template-statemachine.egl" + + target : "../src-gen/" + aStateMachine.name.normalize(true) + ".java" +} \ No newline at end of file diff --git a/model2text/swt.most.statemachine.to.java.egl/generator-code/template-statemachine.egl b/model2text/swt.most.statemachine.to.java.egl/generator-code/template-statemachine.egl new file mode 100644 index 0000000..c2cbfe6 --- /dev/null +++ b/model2text/swt.most.statemachine.to.java.egl/generator-code/template-statemachine.egl @@ -0,0 +1,104 @@ +[%import "functions.eol";%] +public class [%= aStateMachine.name.normalize(true)%]{ + + // Some parts of the implementation are simplified, + // because implementing them would require more information then the state machine model provides. + + // Attributes of the state machine + // Current active state + private State currentState = new [%=aStateMachine.name.normalize(true)%](); + + // Constructor of the state machine + // Also triggers the default (not named) Transition + public [%=aStateMachine.name.normalize(true)%](){ + this._default(); + } + + // Triggers used in the state machine + // Default trigger for transitions without trigger + // This method is always automatically activated as soon as the state is entered or a time interval has passed + public void _default(){ currentState._default(); } + // Triggers that were extracted from the state machine transitions + [%for (trigger : String in aStateMachine.uniqueTrigger()){%] + [%if (trigger <> null and trigger.content.size() > 0){%] + public void [%=trigger.content.normalize(false)%][%if (not trigger.content.normalize(false).endsWith('()')){%]()[%}%]{ currentState.[%=trigger.content.normalize(false)%][%if (not trigger.endsWith('()')){%]()[%}%]; } + [%}%] + [%}%] + + + // States as inner classes + // Abstract state for the usage of polymorphism in the pattern + private abstract class State{ + public void _default(){ /* by default, do nothing */ } + [%for (trigger : String in aStateMachine.uniqueTrigger()){%] + [%if (trigger <> null and trigger.size() > 0){%] + public void [%=trigger.content.normalize(false)%][%if (not trigger.content.normalize(false).endsWith('()')){%]()[%}%]{ /* by default, do nothing */ } + [%}%] + [%}%] + } + + // Initial state + private class [%=aStateMachine.initialstate.name.normalize(true)%]{ + [%for (t : Transition in aStateMachine.transitions){%] + [%if (t.from.name.matches(aStateMachine.initialstate.name)){%] + // Initial states should only have one default transition without guards and actions + public void _default(){ + currentState = new [%=t.to.name.normalize(true)%](); + currentState._default(); + } + [%}%] + [%}%] + } + + // Normal states + [%for (s : NormalState in aStateMachine.states){%] + private class [%=s.name.normalize(true)%] extends State{ + [%for (t : Transition in aStateMachine.transitions){%] + [%if (t.from.name.matches(s.name)){%] + [%if (t.trigger = null or t.trigger.content.size() = 0){%] + public void _default(){ + [%if (t.guard <> null and t.guard.content.size() > 0){%] + if([%=t.guard.content.normalize(false)%]){ // Special guard, notation simplified in this example + [%}else{%] + if(true){ // No guard + [%}%] + [%if (t.action <> null and t.action.content.size() > 0){%] + [%=t.action.content.normalize(false)%][%if (not t.action.content.normalize(false).endsWith('()')){%]()[%}%]; // Action + [%}%] + currentState = new [%=t.to.name.normalize(true)%](); + currentState._default(); + } + } + + [%}%] + [%if (t.trigger <> null and t.trigger.content.size() > 0){%] + public void [%=t.trigger.content.normalize(false)%][%if (not t.trigger.content.endsWith('()')){%]()[%}%]{ + [%if (t.guard <> null and t.guard.content.size() > 0){%] + if([%=t.guard.content.normalize(false)%]){ // Special guard, notation simplified in this example + [%}else{%] + if(true){ // No guard + [%}%] + [%if (t.action <> null and t.action.content.size() > 0){%] + [%=t.action.content.normalize(false)%][%if (not t.action.content.normalize(false).endsWith('()')){%]()[%}%]; // Action + [%}%] + currentState = new [%=t.to.name.normalize(true)%](); + currentState._default(); + } + } + + [%}%] + [%}%] + [%}%] + } + + [%}%] + + // Final states + [%for (s : FinalState in aStateMachine.finalstates){%] + private class [%=s.name.normalize(true)%] extends State{ + // A final state is only a flow sink without functionality + } + + [%}%] + +} \ No newline at end of file diff --git a/model2text/swt.most.statemachine.to.java.egl/model/garagedoor.statemachine b/model2text/swt.most.statemachine.to.java.egl/model/garagedoor.statemachine new file mode 100644 index 0000000..7e44c6f --- /dev/null +++ b/model2text/swt.most.statemachine.to.java.egl/model/garagedoor.statemachine @@ -0,0 +1,49 @@ +<?xml version="1.0" encoding="UTF-8"?> +<statemachine:StateMachine xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:statemachine="http://www.swt.org/most/statemachine" name="Garage Door"> + <states name="Closed"/> + <states name="Open"/> + <states name="Opening"/> + <states name="Closing"/> + <finalstates name="final"/> + <initialstate name="initial"/> + <transitions from="//@initialstate" to="//@states.0"/> + <transitions from="//@states.0" to="//@states.2"> + <trigger content="openDoor"/> + <action content="motor.upwards"/> + </transitions> + <transitions from="//@states.2" to="//@states.1"> + <guard content="stopper"/> + <action content="motor.stop"/> + </transitions> + <transitions from="//@states.1" to="//@states.3"> + <trigger content="closeDoor"/> + <action content="motor.downwards"/> + </transitions> + <transitions from="//@states.3" to="//@states.0"> + <guard content="stopper"/> + <action content="motor.stop"/> + </transitions> + <transitions from="//@states.3" to="//@states.2"> + <trigger content="openDoor"/> + <action content="motor.upwards"/> + </transitions> + <transitions from="//@states.2" to="//@states.3"> + <trigger content="closeDoor"/> + <action content="motor.downwards"/> + </transitions> + <transitions from="//@states.0" to="//@finalstates.0"> + <guard content="shutdown"/> + </transitions> + <transitions from="//@states.0" to="//@states.0"> + <trigger content="closeDoor"/> + </transitions> + <transitions from="//@states.3" to="//@states.3"> + <trigger content="closeDoor"/> + </transitions> + <transitions from="//@states.1" to="//@states.1"> + <trigger content="openDoor"/> + </transitions> + <transitions from="//@states.2" to="//@states.2"> + <trigger content="openDoor"/> + </transitions> +</statemachine:StateMachine> diff --git a/model2text/swt.most.statemachine.to.java.egl/model/switch.statemachine b/model2text/swt.most.statemachine.to.java.egl/model/switch.statemachine new file mode 100644 index 0000000..e69b268 --- /dev/null +++ b/model2text/swt.most.statemachine.to.java.egl/model/switch.statemachine @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<statemachine:StateMachine xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:statemachine="http://www.swt.org/most/statemachine" name="Switch"> + <states name="on"> + <do_ content="do_something"/> + </states> + <states name="off"> + <do_ content="do_nothing"/> + </states> + <initialstate name="initial"/> + <transitions from="//@initialstate" to="//@states.1"/> + <transitions from="//@states.1" to="//@states.0"> + <trigger content="flip"/> + </transitions> + <transitions from="//@states.0" to="//@states.1"> + <trigger content="flip"/> + </transitions> +</statemachine:StateMachine> diff --git a/model2text/swt.most.statemachine.to.java.egl/src-gen/GarageDoor.java b/model2text/swt.most.statemachine.to.java.egl/src-gen/GarageDoor.java new file mode 100644 index 0000000..5c4cf6c --- /dev/null +++ b/model2text/swt.most.statemachine.to.java.egl/src-gen/GarageDoor.java @@ -0,0 +1,142 @@ +public class GarageDoor{ + + // Some parts of the implementation are simplified, + // because implementing them would require more information then the state machine model provides. + + // Attributes of the state machine + // Current active state + private State currentState = new GarageDoor(); + + // Constructor of the state machine + // Also triggers the default (not named) Transition + public GarageDoor(){ + this._default(); + } + + // Triggers used in the state machine + // Default trigger for transitions without trigger + // This method is always automatically activated as soon as the state is entered or a time interval has passed + public void _default(){ currentState._default(); } + // Triggers that were extracted from the state machine transitions + + + // States as inner classes + // Abstract state for the usage of polymorphism in the pattern + private abstract class State{ + public void _default(){ /* by default, do nothing */ } + } + + // Initial state + private class Initial{ + // Initial states should only have one default transition without guards and actions + public void _default(){ + currentState = new Closed(); + currentState._default(); + } + } + + // Normal states + private class Closed extends State{ + public void openDoor(){ + if(true){ // No guard + motor.upwards(); // Action + currentState = new Opening(); + currentState._default(); + } + } + + public void _default(){ + if(shutdown){ // Special guard, notation simplified in this example + currentState = new Final(); + currentState._default(); + } + } + + public void closeDoor(){ + if(true){ // No guard + currentState = new Closed(); + currentState._default(); + } + } + + } + + private class Open extends State{ + public void closeDoor(){ + if(true){ // No guard + motor.downwards(); // Action + currentState = new Closing(); + currentState._default(); + } + } + + public void openDoor(){ + if(true){ // No guard + currentState = new Open(); + currentState._default(); + } + } + + } + + private class Opening extends State{ + public void _default(){ + if(stopper){ // Special guard, notation simplified in this example + motor.stop(); // Action + currentState = new Open(); + currentState._default(); + } + } + + public void closeDoor(){ + if(true){ // No guard + motor.downwards(); // Action + currentState = new Closing(); + currentState._default(); + } + } + + public void openDoor(){ + if(true){ // No guard + currentState = new Opening(); + currentState._default(); + } + } + + } + + private class Closing extends State{ + public void _default(){ + if(stopper){ // Special guard, notation simplified in this example + motor.stop(); // Action + currentState = new Closed(); + currentState._default(); + } + } + + public void openDoor(){ + if(true){ // No guard + motor.upwards(); // Action + currentState = new Opening(); + currentState._default(); + } + } + + public void closeDoor(){ + if(true){ // No guard + currentState = new Closing(); + currentState._default(); + } + } + + } + + + + // Final states + private class Final extends State{ + // A final state is only a flow sink without functionality + } + + +} \ No newline at end of file diff --git a/model2text/swt.most.statemachine.to.java.egl/src-gen/Switch.java b/model2text/swt.most.statemachine.to.java.egl/src-gen/Switch.java new file mode 100644 index 0000000..5483d1d --- /dev/null +++ b/model2text/swt.most.statemachine.to.java.egl/src-gen/Switch.java @@ -0,0 +1,63 @@ +public class Switch{ + + // Some parts of the implementation are simplified, + // because implementing them would require more information then the state machine model provides. + + // Attributes of the state machine + // Current active state + private State currentState = new Switch(); + + // Constructor of the state machine + // Also triggers the default (not named) Transition + public Switch(){ + this._default(); + } + + // Triggers used in the state machine + // Default trigger for transitions without trigger + // This method is always automatically activated as soon as the state is entered or a time interval has passed + public void _default(){ currentState._default(); } + // Triggers that were extracted from the state machine transitions + + + // States as inner classes + // Abstract state for the usage of polymorphism in the pattern + private abstract class State{ + public void _default(){ /* by default, do nothing */ } + } + + // Initial state + private class Initial{ + // Initial states should only have one default transition without guards and actions + public void _default(){ + currentState = new Off(); + currentState._default(); + } + } + + // Normal states + private class On extends State{ + public void flip(){ + if(true){ // No guard + currentState = new Off(); + currentState._default(); + } + } + + } + + private class Off extends State{ + public void flip(){ + if(true){ // No guard + currentState = new On(); + currentState._default(); + } + } + + } + + + + // Final states + +} \ No newline at end of file -- GitLab