From bcc4fafb810106aabd25a88ba0fc2a7f5ca88dda Mon Sep 17 00:00:00 2001 From: Erwan Bousse Date: Mon, 7 Feb 2022 14:57:51 +0100 Subject: [PATCH] Add new k3fsm modeling samples (#257) * Add new k3fsm modeling projects * Fix wrong paths in launchers for ThreeStates fsm model * deploy the new K3FSM model examples using emf.common.ui.examples wizard contributes to https://github.com/eclipse/gemoc-studio/issues/252 * adapt test to new k3fsm examples folder structure Signed-off-by: Didier Vojtisek Co-authored-by: Didier Vojtisek --- ...udio tycho_full_compilation (linux).launch | 21 - .../pom.xml | 23 +- .../DebugOfficialExampleK3FSM_Test.xtend | 39 +- .../DeployOfficialExampleK3FSM_Test.xtend | 26 +- ...K3FSM (fsm) Language Infrastructure.launch | 33 +- .../Launch Runtime Eclipse for K3FSM.launch | 2 +- .../EventK3FSM - Bitshifting(0110101).launch | 20 + .../K3FSM- Bitshifting(0110101).launch | 20 + .../.project | 17 + .../representations.aird | 244 ++ .../xtext/BitShifting.k3fsm | 47 + ...EventK3FSM - EdgeDetector(01000000).launch | 20 + .../K3FSM- EdgeDetector(01000000).launch | 20 + .../.project | 17 + .../representations.aird | 244 ++ .../xtext/EdgeDetector.k3fsm | 47 + ...ntK3FSM - String.toLowercase(HELLO).launch | 20 + .../K3FSM- String.toLowercase(HELLO).launch | 20 + .../.project | 17 + .../representations.aird | 3124 +++++++++++++++++ .../xtext/String.toLowercase.k3fsm | 586 ++++ ...ntK3FSM - String.toUpperCase(hello).launch | 20 + .../K3FSM- String.toUpperCase(hello).launch | 20 + .../.project | 17 + .../representations.aird | 3118 ++++++++++++++++ .../xtext/String.toUpperCase.k3fsm | 586 ++++ .../EventK3FSM - ThreeStates(ab).launch | 20 + .../.launch/K3FSM- ThreeStates(ab).launch | 20 + .../.project | 17 + .../representations.aird | 144 + .../xmi/ThreeStates.k3fsmxmi | 10 + ...ventK3FSM - TrafficLight(ttbtttttt).launch | 20 + .../K3FSM- TrafficLight(ttbtttttt).launch | 20 + .../.project | 17 + .../representations.aird | 194 + .../xtext/TrafficLight.k3fsm | 37 + .../EventK3FSM - TwoStates(abababa).launch} | 5 +- .../.launch/K3FSM- TwoStates(abababa).launch} | 6 +- .../.project | 2 +- .../representations.aird | 124 + .../xtext/TwoStates.k3fsm} | 2 +- .../TwoStatesUpcast.aird | 160 - .../META-INF/MANIFEST.MF | 3 +- .../plugin.xml | 48 +- .../pom.xml | 23 +- .../deployer/wizards/K3FSMExampleWizard.java | 33 - 46 files changed, 8989 insertions(+), 284 deletions(-) delete mode 100644 dev_support/launchconf/gemoc-studio tycho_full_compilation (linux).launch create mode 100644 official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.Bitshifting/.launch/EventK3FSM - Bitshifting(0110101).launch create mode 100644 official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.Bitshifting/.launch/K3FSM- Bitshifting(0110101).launch create mode 100644 official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.Bitshifting/.project create mode 100644 official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.Bitshifting/representations.aird create mode 100644 official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.Bitshifting/xtext/BitShifting.k3fsm create mode 100644 official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.EdgeDetector/.launch/EventK3FSM - EdgeDetector(01000000).launch create mode 100644 official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.EdgeDetector/.launch/K3FSM- EdgeDetector(01000000).launch create mode 100644 official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.EdgeDetector/.project create mode 100644 official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.EdgeDetector/representations.aird create mode 100644 official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.EdgeDetector/xtext/EdgeDetector.k3fsm create mode 100644 official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.StringtoLowercase/.launch/EventK3FSM - String.toLowercase(HELLO).launch create mode 100644 official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.StringtoLowercase/.launch/K3FSM- String.toLowercase(HELLO).launch create mode 100644 official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.StringtoLowercase/.project create mode 100644 official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.StringtoLowercase/representations.aird create mode 100644 official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.StringtoLowercase/xtext/String.toLowercase.k3fsm create mode 100644 official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.StringtoUpperCase/.launch/EventK3FSM - String.toUpperCase(hello).launch create mode 100644 official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.StringtoUpperCase/.launch/K3FSM- String.toUpperCase(hello).launch create mode 100644 official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.StringtoUpperCase/.project create mode 100644 official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.StringtoUpperCase/representations.aird create mode 100644 official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.StringtoUpperCase/xtext/String.toUpperCase.k3fsm create mode 100644 official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.ThreeStates/.launch/EventK3FSM - ThreeStates(ab).launch create mode 100644 official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.ThreeStates/.launch/K3FSM- ThreeStates(ab).launch create mode 100644 official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.ThreeStates/.project create mode 100644 official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.ThreeStates/representations.aird create mode 100644 official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.ThreeStates/xmi/ThreeStates.k3fsmxmi create mode 100644 official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.TrafficLight/.launch/EventK3FSM - TrafficLight(ttbtttttt).launch create mode 100644 official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.TrafficLight/.launch/K3FSM- TrafficLight(ttbtttttt).launch create mode 100644 official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.TrafficLight/.project create mode 100644 official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.TrafficLight/representations.aird create mode 100644 official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.TrafficLight/xtext/TrafficLight.k3fsm rename official_samples/K3FSM/modeling_workbench/{org.eclipse.gemoc.example.k3fsm.model_examples/.launch/EventK3FSM - TwoStatesUpcast(abababa).launch => org.eclipse.gemoc.example.k3fsm.model_examples.TwoStates/.launch/EventK3FSM - TwoStates(abababa).launch} (90%) rename official_samples/K3FSM/modeling_workbench/{org.eclipse.gemoc.example.k3fsm.model_examples/.launch/K3FSM - TwoStatesUpcast(abababa).launch => org.eclipse.gemoc.example.k3fsm.model_examples.TwoStates/.launch/K3FSM- TwoStates(abababa).launch} (92%) rename official_samples/K3FSM/modeling_workbench/{org.eclipse.gemoc.example.k3fsm.model_examples => org.eclipse.gemoc.example.k3fsm.model_examples.TwoStates}/.project (83%) create mode 100644 official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.TwoStates/representations.aird rename official_samples/K3FSM/modeling_workbench/{org.eclipse.gemoc.example.k3fsm.model_examples/TwoStatesUpcast.k3fsm => org.eclipse.gemoc.example.k3fsm.model_examples.TwoStates/xtext/TwoStates.k3fsm} (93%) delete mode 100644 official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples/TwoStatesUpcast.aird delete mode 100644 official_samples/sample.deployers/plugins/org.eclipse.gemoc.sequential.modeling.wb.sample.deployer/src/main/java/org/eclipse/gemoc/sequential/modeling/wb/sample/deployer/wizards/K3FSMExampleWizard.java diff --git a/dev_support/launchconf/gemoc-studio tycho_full_compilation (linux).launch b/dev_support/launchconf/gemoc-studio tycho_full_compilation (linux).launch deleted file mode 100644 index 6ce487f6..00000000 --- a/dev_support/launchconf/gemoc-studio tycho_full_compilation (linux).launch +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/gemoc_studio/tests/org.eclipse.gemoc.studio.tests.system.mwb/pom.xml b/gemoc_studio/tests/org.eclipse.gemoc.studio.tests.system.mwb/pom.xml index f923f60e..7ae1b1e2 100644 --- a/gemoc_studio/tests/org.eclipse.gemoc.studio.tests.system.mwb/pom.xml +++ b/gemoc_studio/tests/org.eclipse.gemoc.studio.tests.system.mwb/pom.xml @@ -90,8 +90,27 @@ - - + + + + + + + + + + + + + + + + + + + + + diff --git a/gemoc_studio/tests/org.eclipse.gemoc.studio.tests.system.mwb/src/org/eclipse/gemoc/studio/tests/system/mwb/userstory/DebugOfficialExampleK3FSM_Test.xtend b/gemoc_studio/tests/org.eclipse.gemoc.studio.tests.system.mwb/src/org/eclipse/gemoc/studio/tests/system/mwb/userstory/DebugOfficialExampleK3FSM_Test.xtend index 42cd3fff..ba18c461 100644 --- a/gemoc_studio/tests/org.eclipse.gemoc.studio.tests.system.mwb/src/org/eclipse/gemoc/studio/tests/system/mwb/userstory/DebugOfficialExampleK3FSM_Test.xtend +++ b/gemoc_studio/tests/org.eclipse.gemoc.studio.tests.system.mwb/src/org/eclipse/gemoc/studio/tests/system/mwb/userstory/DebugOfficialExampleK3FSM_Test.xtend @@ -73,8 +73,7 @@ class DebugOfficialExampleK3FSM_Test extends AbstractXtextTests static WorkspaceTestHelper helper = new WorkspaceTestHelper static final String BASE_FOLDER_NAME = "tests-inputs-gen/K3FSM" - static final String BASE_NAME = "org.eclipse.gemoc.example.k3fsm" - static final String MODEL_PROJECT_NAME = BASE_NAME+".model_examples" + static final String MODEL_PROJECT_NAME = "org.eclipse.gemoc.example.k3fsm.model_examples.TwoStates" static SWTWorkbenchBot bot; @@ -153,21 +152,21 @@ class DebugOfficialExampleK3FSM_Test extends AbstractXtextTests * Stop is done using Engine Status view */ @Test - def void test01_TwoStatesUpCast_Model_some_steps_stop_and_clear() throws Exception { + def void test01_TwoStates_Model_some_steps_stop_and_clear() throws Exception { TwoStatesUpCast_Model_some_steps_stop_and_clear } @Test - def void test02_secondRun_TwoStatesUpCast_Model_some_steps_stop_and_clear() throws Exception { + def void test02_secondRun_TwoStates_Model_some_steps_stop_and_clear() throws Exception { TwoStatesUpCast_Model_some_steps_stop_and_clear } private def void TwoStatesUpCast_Model_some_steps_stop_and_clear() { val runningEnginesRegistry = org.eclipse.gemoc.executionframework.engine.Activator.getDefault().gemocRunningEngineRegistry; - startDebugwoStatesUpCast_Model + startDebugTwoStates_Model val engine = runningEnginesRegistry.runningEngines.entrySet.get(0).value - assertEquals("GEMOC Kermeta Sequential Engine platform:/resource/org.eclipse.gemoc.example.k3fsm.model_examples/TwoStatesUpcast.k3fsm", engine.name) + assertEquals("GEMOC Kermeta Sequential Engine platform:/resource/"+MODEL_PROJECT_NAME+"/xtext/TwoStates.k3fsm", engine.name) assertEquals(0,engine.engineStatus.nbLogicalStepRun) val fsm = engine.executionContext.resourceModel.contents.get(0) as FSM fsm.currentState.assertNull @@ -229,8 +228,8 @@ class DebugOfficialExampleK3FSM_Test extends AbstractXtextTests */ @Ignore // this test actually implies to fix https://github.com/eclipse/gemoc-studio-modeldebugging/issues/66 @Test - def void test03_TwoStatesUpCast_Model_run_to_end() throws Exception { - startDebugwoStatesUpCast_Model + def void test03_TwoStates_Model_run_to_end() throws Exception { + startDebugTwoStates_Model val matcher = allOf(widgetOfType(typeof(ToolItem)), anyOf(withTooltip("Resu&me (F8)"), withTooltip("Resu&me")), @@ -258,16 +257,18 @@ class DebugOfficialExampleK3FSM_Test extends AbstractXtextTests } // some reusabe test part - def void startDebugwoStatesUpCast_Model() { + def void startDebugTwoStates_Model() { val runningEnginesRegistry = org.eclipse.gemoc.executionframework.engine.Activator.getDefault().gemocRunningEngineRegistry; assertTrue("runningEngineRegistry not empty " +runningEnginesRegistry.runningEngines, runningEnginesRegistry.runningEngines.size == 0) - bot.tree().getTreeItem("org.eclipse.gemoc.example.k3fsm.model_examples").select(); - bot.tree().getTreeItem("org.eclipse.gemoc.example.k3fsm.model_examples").expand(); - val item = bot.tree().getTreeItem("org.eclipse.gemoc.example.k3fsm.model_examples").waitNode("TwoStatesUpcast.k3fsm").select(); + bot.tree().getTreeItem(MODEL_PROJECT_NAME).select(); + bot.tree().getTreeItem(MODEL_PROJECT_NAME).expand(); + bot.tree().getTreeItem(MODEL_PROJECT_NAME).waitNode("xtext").select(); + bot.tree().getTreeItem(MODEL_PROJECT_NAME).getNode("xtext").expand(); + val item = bot.tree().getTreeItem(MODEL_PROJECT_NAME).getNode("xtext").waitNode("TwoStates.k3fsm").select(); item.contextMenu("Debug As").menu("Debug Configurations...").click(); bot.tree().getTreeItem("Executable model with GEMOC Java engine").expand(); - bot.tree().getTreeItem("Executable model with GEMOC Java engine").waitNode("K3FSM - TwoStatesUpcast(abababa)").select(); + bot.tree().getTreeItem("Executable model with GEMOC Java engine").waitNode("K3FSM- TwoStates(abababa)").select(); bot.button("Debug").click(); // accept switch to debug perspective (this also makes sure that the engines has started) @@ -275,11 +276,11 @@ class DebugOfficialExampleK3FSM_Test extends AbstractXtextTests // select stack in Debug view (this opens the xtext editor and enables the F5 buttons) bot.viewByTitle("Debug").show(); - bot.tree().getTreeItem("K3FSM - TwoStatesUpcast(abababa) [Executable model with GEMOC Java engine]").select(); - bot.tree().getTreeItem("K3FSM - TwoStatesUpcast(abababa) [Executable model with GEMOC Java engine]").waitNode("Gemoc debug target").waitNode("Model debugging").select(); - bot.tree().getTreeItem("K3FSM - TwoStatesUpcast(abababa) [Executable model with GEMOC Java engine]").getNode("Gemoc debug target").getNode("Model debugging").expand(); - bot.tree().getTreeItem("K3FSM - TwoStatesUpcast(abababa) [Executable model with GEMOC Java engine]").getNode("Gemoc debug target").getNode("Model debugging").waitNode("Engine : TwoStatesUpcast.k3fsm => TwoStateUpcast").select(); - bot.tree().getTreeItem("K3FSM - TwoStatesUpcast(abababa) [Executable model with GEMOC Java engine]").getNode("Gemoc debug target").getNode("Model debugging").waitNode("[FSM] TwoStateUpcast#initializeModel([])").select(); + bot.tree().getTreeItem("K3FSM- TwoStates(abababa) [Executable model with GEMOC Java engine]").select(); + bot.tree().getTreeItem("K3FSM- TwoStates(abababa) [Executable model with GEMOC Java engine]").waitNode("Gemoc debug target").waitNode("Model debugging").select(); + bot.tree().getTreeItem("K3FSM- TwoStates(abababa) [Executable model with GEMOC Java engine]").getNode("Gemoc debug target").getNode("Model debugging").expand(); + bot.tree().getTreeItem("K3FSM- TwoStates(abababa) [Executable model with GEMOC Java engine]").getNode("Gemoc debug target").getNode("Model debugging").waitNode("Engine : TwoStates.k3fsm => TwoStates").select(); + bot.tree().getTreeItem("K3FSM- TwoStates(abababa) [Executable model with GEMOC Java engine]").getNode("Gemoc debug target").getNode("Model debugging").waitNode("[FSM] TwoStates#initializeModel([])").select(); closeConfigureXtextPopup(bot) @@ -307,7 +308,7 @@ class DebugOfficialExampleK3FSM_Test extends AbstractXtextTests * or timeout exception */ def void waitThreadSuspended(){ - ModelingWorkbenchTestHelper.waitFirstTargetThreadSuspended("K3FSM - TwoStatesUpcast(abababa)") + ModelingWorkbenchTestHelper.waitFirstTargetThreadSuspended("K3FSM- TwoStates(abababa)") } /** simple helper method to get a string representation of the stack*/ diff --git a/gemoc_studio/tests/org.eclipse.gemoc.studio.tests.system.mwb/src/org/eclipse/gemoc/studio/tests/system/mwb/userstory/DeployOfficialExampleK3FSM_Test.xtend b/gemoc_studio/tests/org.eclipse.gemoc.studio.tests.system.mwb/src/org/eclipse/gemoc/studio/tests/system/mwb/userstory/DeployOfficialExampleK3FSM_Test.xtend index a1d613c1..32e4c8ae 100644 --- a/gemoc_studio/tests/org.eclipse.gemoc.studio.tests.system.mwb/src/org/eclipse/gemoc/studio/tests/system/mwb/userstory/DeployOfficialExampleK3FSM_Test.xtend +++ b/gemoc_studio/tests/org.eclipse.gemoc.studio.tests.system.mwb/src/org/eclipse/gemoc/studio/tests/system/mwb/userstory/DeployOfficialExampleK3FSM_Test.xtend @@ -145,7 +145,13 @@ class DeployOfficialExampleK3FSM_Test extends AbstractXtextTests IResourcesSetupUtil::reallyWaitForAutoBuild WorkspaceTestHelper::reallyWaitForJobs(2) - helper.assertProjectExists(BASE_NAME+".model_examples"); + helper.assertProjectExists(BASE_NAME+".model_examples.Bitshifting"); + helper.assertProjectExists(BASE_NAME+".model_examples.EdgeDetectors"); + helper.assertProjectExists(BASE_NAME+".model_examples.StringtoLowercase"); + helper.assertProjectExists(BASE_NAME+".model_examples.StringtoUpperCases"); + helper.assertProjectExists(BASE_NAME+".model_examples.ThreeStates"); + helper.assertProjectExists(BASE_NAME+".model_examples.TrafficLight"); + helper.assertProjectExists(BASE_NAME+".model_examples.TwoStates"); helper.assertNoMarkers(); } @@ -154,15 +160,17 @@ class DeployOfficialExampleK3FSM_Test extends AbstractXtextTests * verifies that we can use the predefined launch configuration and launch a debug session */ @Test - def void test02_DebugPredefinedK3Fsm_TwoStatesUpCast_Model_some_steps_and_stop() throws Exception { + def void test02_DebugPredefinedK3Fsm_TwoStates_Model_some_steps_and_stop() throws Exception { //val activeShell = bot.activeShell // the focus is lost after click on "Browse..." // open the Debug configuration and start the predefined launch conf - bot.tree().getTreeItem("org.eclipse.gemoc.example.k3fsm.model_examples").select(); - bot.tree().getTreeItem("org.eclipse.gemoc.example.k3fsm.model_examples").expand(); - val item = bot.tree().getTreeItem("org.eclipse.gemoc.example.k3fsm.model_examples").getNode("TwoStatesUpcast.k3fsm").select(); + bot.tree().getTreeItem("org.eclipse.gemoc.example.k3fsm.model_examples.TwoStates").select(); + bot.tree().getTreeItem("org.eclipse.gemoc.example.k3fsm.model_examples.TwoStates").expand(); + bot.tree().getTreeItem("org.eclipse.gemoc.example.k3fsm.model_examples.TwoStates").getNode("xtext").select(); + bot.tree().getTreeItem("org.eclipse.gemoc.example.k3fsm.model_examples.TwoStates").getNode("xtext").expand(); + val item = bot.tree().getTreeItem("org.eclipse.gemoc.example.k3fsm.model_examples.TwoStates").getNode("xtext").getNode("TwoStates.k3fsm").select(); item.contextMenu("Debug As").menu("Debug Configurations...").click(); bot.tree().getTreeItem("Executable model with GEMOC Java engine").expand(); - bot.tree().getTreeItem("Executable model with GEMOC Java engine").getNode("K3FSM - TwoStatesUpcast(abababa)").select(); + bot.tree().getTreeItem("Executable model with GEMOC Java engine").getNode("K3FSM- TwoStates(abababa)").select(); bot.button("Debug").click(); // accept switch to debug perspective (this also makes sure that the engines has started) @@ -178,12 +186,12 @@ class DeployOfficialExampleK3FSM_Test extends AbstractXtextTests waitThreadSuspended clickOnStepInto(bot) waitThreadSuspended - bot.tree().getTreeItem("K3FSM - TwoStatesUpcast(abababa) [Executable model with GEMOC Java engine]").getNode("Gemoc debug target").select(); + bot.tree().getTreeItem("K3FSM- TwoStates(abababa) [Executable model with GEMOC Java engine]").getNode("Gemoc debug target").select(); bot.toolbarButtonWithTooltip("Resu&me (F8)").click(); closeConfigureXtextPopup(bot) - waitFirstTargetThreadSuspendedOrTerminated("K3FSM - TwoStatesUpcast(abababa)") + waitFirstTargetThreadSuspendedOrTerminated("K3FSM- TwoStates(abababa)") try { closeAndClearEngine(bot) } catch (Exception e){ @@ -203,7 +211,7 @@ class DeployOfficialExampleK3FSM_Test extends AbstractXtextTests * or timeout exception */ def void waitThreadSuspended(){ - waitFirstTargetThreadSuspended("K3FSM - TwoStatesUpcast(abababa)") + waitFirstTargetThreadSuspended("K3FSM- TwoStates(abababa)") } } diff --git a/official_samples/K3FSM/language_workbench/org.eclipse.gemoc.example.k3fsm.xtext/.launch/Generate K3FSM (fsm) Language Infrastructure.launch b/official_samples/K3FSM/language_workbench/org.eclipse.gemoc.example.k3fsm.xtext/.launch/Generate K3FSM (fsm) Language Infrastructure.launch index d009f9bd..97340ea5 100644 --- a/official_samples/K3FSM/language_workbench/org.eclipse.gemoc.example.k3fsm.xtext/.launch/Generate K3FSM (fsm) Language Infrastructure.launch +++ b/official_samples/K3FSM/language_workbench/org.eclipse.gemoc.example.k3fsm.xtext/.launch/Generate K3FSM (fsm) Language Infrastructure.launch @@ -1,18 +1,21 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + diff --git a/official_samples/K3FSM/language_workbench/org.eclipse.gemoc.example.k3fsm.xtext/.launch/Launch Runtime Eclipse for K3FSM.launch b/official_samples/K3FSM/language_workbench/org.eclipse.gemoc.example.k3fsm.xtext/.launch/Launch Runtime Eclipse for K3FSM.launch index f1c5dd5c..a16a22f0 100644 --- a/official_samples/K3FSM/language_workbench/org.eclipse.gemoc.example.k3fsm.xtext/.launch/Launch Runtime Eclipse for K3FSM.launch +++ b/official_samples/K3FSM/language_workbench/org.eclipse.gemoc.example.k3fsm.xtext/.launch/Launch Runtime Eclipse for K3FSM.launch @@ -13,7 +13,7 @@ - + diff --git a/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.Bitshifting/.launch/EventK3FSM - Bitshifting(0110101).launch b/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.Bitshifting/.launch/EventK3FSM - Bitshifting(0110101).launch new file mode 100644 index 00000000..e1fc2e5d --- /dev/null +++ b/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.Bitshifting/.launch/EventK3FSM - Bitshifting(0110101).launch @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.Bitshifting/.launch/K3FSM- Bitshifting(0110101).launch b/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.Bitshifting/.launch/K3FSM- Bitshifting(0110101).launch new file mode 100644 index 00000000..bd688678 --- /dev/null +++ b/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.Bitshifting/.launch/K3FSM- Bitshifting(0110101).launch @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.Bitshifting/.project b/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.Bitshifting/.project new file mode 100644 index 00000000..3e17ec7c --- /dev/null +++ b/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.Bitshifting/.project @@ -0,0 +1,17 @@ + + + org.eclipse.gemoc.example.k3fsm.model_examples.Bitshifting + + + + + + org.eclipse.xtext.ui.shared.xtextBuilder + + + + + + org.eclipse.xtext.ui.shared.xtextNature + + diff --git a/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.Bitshifting/representations.aird b/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.Bitshifting/representations.aird new file mode 100644 index 00000000..961e4bb8 --- /dev/null +++ b/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.Bitshifting/representations.aird @@ -0,0 +1,244 @@ + + + + xtext/TwoStates.k3fsm + xmi/ThreeStates.k3fsmxmi + xtext/BitShifting.k3fsm + xtext/EdgeDetector.k3fsm + xtext/String.toLowercase.k3fsm + xtext/String.toUpperCase.k3fsm + xtext/TrafficLight.k3fsm + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.Bitshifting/xtext/BitShifting.k3fsm b/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.Bitshifting/xtext/BitShifting.k3fsm new file mode 100644 index 00000000..2755d189 --- /dev/null +++ b/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.Bitshifting/xtext/BitShifting.k3fsm @@ -0,0 +1,47 @@ +FSM BitShifting { + unprocessedString "1011" producedString "" initialState S0 + ownedStates { + State S0 { + outgoingTransitions { + Transition "S0_to_S1" { + input "1" + output "0" + target S1 + }, + Transition "S0_to_S2" { + input "0" + output "0" + target S2 + } + } + }, + State S1 { + outgoingTransitions { + Transition "S1_to_S1" { + input "1" + output "1" + target S1 + }, + Transition "S1_to_S2" { + input "0" + output "1" + target S2 + } + } + }, + State S2{ + outgoingTransitions { + Transition "S2_to_S2" { + input "0" + output "0" + target S2 + }, + Transition "S2_to_S1" { + input "1" + output "0" + target S1 + } + } + } + } +} \ No newline at end of file diff --git a/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.EdgeDetector/.launch/EventK3FSM - EdgeDetector(01000000).launch b/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.EdgeDetector/.launch/EventK3FSM - EdgeDetector(01000000).launch new file mode 100644 index 00000000..b5e87e87 --- /dev/null +++ b/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.EdgeDetector/.launch/EventK3FSM - EdgeDetector(01000000).launch @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.EdgeDetector/.launch/K3FSM- EdgeDetector(01000000).launch b/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.EdgeDetector/.launch/K3FSM- EdgeDetector(01000000).launch new file mode 100644 index 00000000..9cc3c1a5 --- /dev/null +++ b/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.EdgeDetector/.launch/K3FSM- EdgeDetector(01000000).launch @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.EdgeDetector/.project b/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.EdgeDetector/.project new file mode 100644 index 00000000..324fe523 --- /dev/null +++ b/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.EdgeDetector/.project @@ -0,0 +1,17 @@ + + + org.eclipse.gemoc.example.k3fsm.model_examples.EdgeDetector + + + + + + org.eclipse.xtext.ui.shared.xtextBuilder + + + + + + org.eclipse.xtext.ui.shared.xtextNature + + diff --git a/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.EdgeDetector/representations.aird b/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.EdgeDetector/representations.aird new file mode 100644 index 00000000..68ab989e --- /dev/null +++ b/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.EdgeDetector/representations.aird @@ -0,0 +1,244 @@ + + + + xtext/TwoStates.k3fsm + xmi/ThreeStates.k3fsmxmi + xtext/BitShifting.k3fsm + xtext/EdgeDetector.k3fsm + xtext/String.toLowercase.k3fsm + xtext/String.toUpperCase.k3fsm + xtext/TrafficLight.k3fsm + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.EdgeDetector/xtext/EdgeDetector.k3fsm b/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.EdgeDetector/xtext/EdgeDetector.k3fsm new file mode 100644 index 00000000..64823d8e --- /dev/null +++ b/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.EdgeDetector/xtext/EdgeDetector.k3fsm @@ -0,0 +1,47 @@ +FSM EdgeDetector { + initialState Si + ownedStates { + State Si { + outgoingTransitions { + Transition "Si_to_S0" { + input "0" + output "0" + target S0 + }, + Transition "Si_to_S1" { + input "1" + output "0" + target S1 + } + } + }, + State S0 { + outgoingTransitions { + Transition "S0_to_S0" { + input "0" + output "0" + target S0 + }, + Transition "S0_to_S1" { + input "1" + output "1" + target S1 + } + } + }, + State S1{ + outgoingTransitions { + Transition "S1_to_S1" { + input "1" + output "0" + target S1 + }, + Transition "S1_to_S0" { + input "0" + output "1" + target S0 + } + } + } + } +} \ No newline at end of file diff --git a/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.StringtoLowercase/.launch/EventK3FSM - String.toLowercase(HELLO).launch b/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.StringtoLowercase/.launch/EventK3FSM - String.toLowercase(HELLO).launch new file mode 100644 index 00000000..2b362bb5 --- /dev/null +++ b/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.StringtoLowercase/.launch/EventK3FSM - String.toLowercase(HELLO).launch @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.StringtoLowercase/.launch/K3FSM- String.toLowercase(HELLO).launch b/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.StringtoLowercase/.launch/K3FSM- String.toLowercase(HELLO).launch new file mode 100644 index 00000000..318abb58 --- /dev/null +++ b/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.StringtoLowercase/.launch/K3FSM- String.toLowercase(HELLO).launch @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.StringtoLowercase/.project b/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.StringtoLowercase/.project new file mode 100644 index 00000000..69ff78bd --- /dev/null +++ b/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.StringtoLowercase/.project @@ -0,0 +1,17 @@ + + + org.eclipse.gemoc.example.k3fsm.model_examples.StringtoLowercase + + + + + + org.eclipse.xtext.ui.shared.xtextBuilder + + + + + + org.eclipse.xtext.ui.shared.xtextNature + + diff --git a/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.StringtoLowercase/representations.aird b/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.StringtoLowercase/representations.aird new file mode 100644 index 00000000..6c7936af --- /dev/null +++ b/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.StringtoLowercase/representations.aird @@ -0,0 +1,3124 @@ + + + + xtext/TwoStates.k3fsm + xmi/ThreeStates.k3fsmxmi + xtext/BitShifting.k3fsm + xtext/EdgeDetector.k3fsm + xtext/String.toLowercase.k3fsm + xtext/String.toUpperCase.k3fsm + xtext/TrafficLight.k3fsm + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.StringtoLowercase/xtext/String.toLowercase.k3fsm b/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.StringtoLowercase/xtext/String.toLowercase.k3fsm new file mode 100644 index 00000000..d7655c00 --- /dev/null +++ b/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.StringtoLowercase/xtext/String.toLowercase.k3fsm @@ -0,0 +1,586 @@ +FSM toLowerCase { +initialState S0 + ownedStates { + State S0 { + outgoingTransitions { + Transition S0_to_S0_space { + input " " + output " " + target S0 + }, + Transition S0_to_a_A { + input "A" + output "a" + target a + }, + Transition S0_to_b_B { + input "B" + output "b" + target b + }, + Transition S0_to_c_C { + input "C" + output "c" + target c + }, + Transition S0_to_d_D { + input "D" + output "d" + target d + }, + Transition S0_to_e_E { + input "E" + output "e" + target e + }, + Transition S0_to_f_F { + input "F" + output "f" + target f + }, + Transition S0_to_g_G { + input "G" + output "g" + target g + }, + Transition S0_to_h_H { + input "H" + output "h" + target h + }, + Transition S0_to_i_I { + input "I" + output "i" + target i + }, + Transition S0_to_j_J { + input "J" + output "j" + target j + }, + Transition S0_to_k_K { + input "K" + output "k" + target k + }, + Transition S0_to_l_L { + input "L" + output "l" + target l + }, + Transition S0_to_m_M { + input "M" + output "m" + target m + }, + Transition S0_to_n_N { + input "N" + output "n" + target n + }, + Transition S0_to_o_O { + input "O" + output "o" + target o + }, + Transition S0_to_p_P { + input "P" + output "p" + target p + }, + Transition S0_to_q_Q { + input "Q" + output "q" + target q + }, + Transition S0_to_r_R { + input "R" + output "r" + target r + }, + Transition S0_to_s_S { + input "S" + output "s" + target s + }, + Transition S0_to_t_T { + input "T" + output "t" + target t + }, + Transition S0_to_u_U { + input "U" + output "u" + target u + }, + Transition S0_to_v_V { + input "V" + output "v" + target v + }, + Transition S0_to_w_W { + input "W" + output "w" + target w + }, + Transition S0_to_x_X { + input "X" + output "x" + target x + }, + Transition S0_to_y_Y { + input "Y" + output "y" + target y + }, + Transition S0_to_z_Z { + input "Z" + output "z" + target z + }, + Transition S0_to_a_a { + input "a" + output "a" + target a + }, + Transition S0_to_b_b { + input "b" + output "b" + target b + }, + Transition S0_to_c_c { + input "c" + output "c" + target c + }, + Transition S0_to_d_d { + input "d" + output "d" + target d + }, + Transition S0_to_e_e { + input "e" + output "e" + target e + }, + Transition S0_to_f_f { + input "f" + output "f" + target f + }, + Transition S0_to_g_g { + input "g" + output "g" + target g + }, + Transition S0_to_h_h { + input "h" + output "h" + target h + }, + Transition S0_to_i_i { + input "i" + output "i" + target i + }, + Transition S0_to_j_j { + input "j" + output "j" + target j + }, + Transition S0_to_k_k { + input "k" + output "k" + target k + }, + Transition S0_to_l_l { + input "l" + output "l" + target l + }, + Transition S0_to_m_m { + input "m" + output "m" + target m + }, + Transition S0_to_n_n { + input "n" + output "n" + target n + }, + Transition S0_to_o_o { + input "o" + output "o" + target o + }, + Transition S0_to_p_p { + input "p" + output "p" + target p + }, + Transition S0_to_q_q { + input "q" + output "q" + target q + }, + Transition S0_to_r_r { + input "r" + output "r" + target r + }, + Transition S0_to_s_s { + input "s" + output "s" + target s + }, + Transition S0_to_t_t { + input "t" + output "t" + target t + }, + Transition S0_to_u_u { + input "u" + output "u" + target u + }, + Transition S0_to_v_v { + input "v" + output "v" + target v + }, + Transition S0_to_w_w { + input "w" + output "w" + target w + }, + Transition S0_to_x_x { + input "x" + output "x" + target x + }, + Transition S0_to_y_y { + input "y" + output "y" + target y + }, + Transition S0_to_z_z { + input "z" + output "z" + target z + } + } + }, + State a { + outgoingTransitions { + Transition a_to_a { + input "a" + output "a" + target a + }, + Transition back_to_S0 { + target S0 + } + } + }, + State b { + outgoingTransitions { + Transition b_to_b { + input "b" + output "b" + target b + }, + Transition back_to_S0 { + target S0 + } + } + }, + State c { + outgoingTransitions { + Transition c_to_c { + input "c" + output "c" + target c + }, + Transition back_to_S0 { + target S0 + } + } + }, + State d { + outgoingTransitions { + Transition d_to_d { + input "d" + output "d" + target d + }, + Transition back_to_S0 { + target S0 + } + } + }, + State e { + outgoingTransitions { + Transition e_to_e { + input "e" + output "e" + target e + }, + Transition back_to_S0 { + target S0 + } + } + }, + State f { + outgoingTransitions { + Transition f_to_f { + input "f" + output "f" + target f + }, + Transition back_to_S0 { + target S0 + } + } + }, + State g { + outgoingTransitions { + Transition g_to_g { + input "g" + output "g" + target g + }, + Transition back_to_S0 { + target S0 + } + } + }, + State h { + outgoingTransitions { + Transition h_to_h { + input "h" + output "h" + target h + }, + Transition back_to_S0 { + target S0 + } + } + }, + State i { + outgoingTransitions { + Transition i_to_i { + input "i" + output "i" + target i + }, + Transition back_to_S0 { + target S0 + } + } + }, + State j { + outgoingTransitions { + Transition j_to_j { + input "j" + output "j" + target j + }, + Transition back_to_S0 { + target S0 + } + } + }, + State k { + outgoingTransitions { + Transition k_to_k { + input "k" + output "k" + target k + }, + Transition back_to_S0 { + target S0 + } + } + }, + State l { + outgoingTransitions { + Transition l_to_l { + input "l" + output "l" + target l + }, + Transition back_to_S0 { + target S0 + } + } + }, + State m { + outgoingTransitions { + Transition m_to_m { + input "m" + output "m" + target m + }, + Transition back_to_S0 { + target S0 + } + } + }, + State n { + outgoingTransitions { + Transition n_to_n { + input "n" + output "n" + target n + }, + Transition back_to_S0 { + target S0 + } + } + }, + State o { + outgoingTransitions { + Transition o_to_o { + input "o" + output "o" + target o + }, + Transition back_to_S0 { + target S0 + } + } + }, + State p { + outgoingTransitions { + Transition p_to_p { + input "p" + output "p" + target p + }, + Transition back_to_S0 { + target S0 + } + } + }, + State q { + outgoingTransitions { + Transition q_to_q { + input "q" + output "q" + target q + }, + Transition back_to_S0 { + target S0 + } + } + }, + State r { + outgoingTransitions { + Transition r_to_r { + input "r" + output "r" + target r + }, + Transition back_to_S0 { + target S0 + } + } + }, + State s { + outgoingTransitions { + Transition s_to_s { + input "s" + output "s" + target s + }, + Transition back_to_S0 { + target S0 + } + } + }, + State t { + outgoingTransitions { + Transition t_to_t { + input "t" + output "t" + target t + }, + Transition back_to_S0 { + target S0 + } + } + }, + State u { + outgoingTransitions { + Transition u_to_u { + input "u" + output "u" + target u + }, + Transition back_to_S0 { + target S0 + } + } + }, + State v { + outgoingTransitions { + Transition v_to_v { + input "v" + output "v" + target v + }, + Transition back_to_S0 { + target S0 + } + } + }, + State w { + outgoingTransitions { + Transition w_to_w { + input "w" + output "w" + target w + }, + Transition back_to_S0 { + target S0 + } + } + }, + State x { + outgoingTransitions { + Transition x_to_x { + input "x" + output "x" + target x + }, + Transition back_to_S0 { + target S0 + } + } + }, + State y { + outgoingTransitions { + Transition y_to_y { + input "y" + output "y" + target y + }, + Transition back_to_S0 { + target S0 + } + } + }, + State z { + outgoingTransitions { + Transition z_to_z { + input "z" + output "z" + target z + }, + Transition back_to_S0 { + target S0 + } + } + } + } +} \ No newline at end of file diff --git a/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.StringtoUpperCase/.launch/EventK3FSM - String.toUpperCase(hello).launch b/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.StringtoUpperCase/.launch/EventK3FSM - String.toUpperCase(hello).launch new file mode 100644 index 00000000..02ecbd5c --- /dev/null +++ b/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.StringtoUpperCase/.launch/EventK3FSM - String.toUpperCase(hello).launch @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.StringtoUpperCase/.launch/K3FSM- String.toUpperCase(hello).launch b/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.StringtoUpperCase/.launch/K3FSM- String.toUpperCase(hello).launch new file mode 100644 index 00000000..6de2d0d5 --- /dev/null +++ b/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.StringtoUpperCase/.launch/K3FSM- String.toUpperCase(hello).launch @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.StringtoUpperCase/.project b/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.StringtoUpperCase/.project new file mode 100644 index 00000000..a71bdd25 --- /dev/null +++ b/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.StringtoUpperCase/.project @@ -0,0 +1,17 @@ + + + org.eclipse.gemoc.example.k3fsm.model_examples.StringtoUpperCase + + + + + + org.eclipse.xtext.ui.shared.xtextBuilder + + + + + + org.eclipse.xtext.ui.shared.xtextNature + + diff --git a/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.StringtoUpperCase/representations.aird b/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.StringtoUpperCase/representations.aird new file mode 100644 index 00000000..f9adaf36 --- /dev/null +++ b/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.StringtoUpperCase/representations.aird @@ -0,0 +1,3118 @@ + + + + xtext/TwoStates.k3fsm + xmi/ThreeStates.k3fsmxmi + xtext/BitShifting.k3fsm + xtext/EdgeDetector.k3fsm + xtext/String.toLowercase.k3fsm + xtext/String.toUpperCase.k3fsm + xtext/TrafficLight.k3fsm + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.StringtoUpperCase/xtext/String.toUpperCase.k3fsm b/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.StringtoUpperCase/xtext/String.toUpperCase.k3fsm new file mode 100644 index 00000000..32900c96 --- /dev/null +++ b/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.StringtoUpperCase/xtext/String.toUpperCase.k3fsm @@ -0,0 +1,586 @@ +FSM toUpperCase { +initialState S0 + ownedStates { + State S0 { + outgoingTransitions { + Transition S0_to_S0_space { + input " " + output " " + target S0 + }, + Transition S0_to_A_a { + input "a" + output "A" + target A + }, + Transition S0_to_B_b { + input "b" + output "B" + target B + }, + Transition S0_to_C_c { + input "c" + output "C" + target C + }, + Transition S0_to_D_d { + input "d" + output "D" + target D + }, + Transition S0_to_E_e { + input "e" + output "E" + target E + }, + Transition S0_to_F_f { + input "f" + output "F" + target F + }, + Transition S0_to_G_g { + input "g" + output "G" + target G + }, + Transition S0_to_H_h { + input "h" + output "H" + target H + }, + Transition S0_to_I_i { + input "i" + output "I" + target I + }, + Transition S0_to_J_j { + input "j" + output "J" + target J + }, + Transition S0_to_K_k { + input "k" + output "K" + target K + }, + Transition S0_to_L_l { + input "l" + output "L" + target L + }, + Transition S0_to_M_m { + input "m" + output "M" + target M + }, + Transition S0_to_N_n { + input "n" + output "N" + target N + }, + Transition S0_to_O_o { + input "o" + output "O" + target O + }, + Transition S0_to_P_p { + input "p" + output "P" + target P + }, + Transition S0_to_Q_q { + input "q" + output "Q" + target Q + }, + Transition S0_to_R_r { + input "r" + output "R" + target R + }, + Transition S0_to_S_s { + input "s" + output "S" + target S + }, + Transition S0_to_T_t { + input "t" + output "T" + target T + }, + Transition S0_to_U_u { + input "u" + output "U" + target U + }, + Transition S0_to_V_v { + input "v" + output "V" + target V + }, + Transition S0_to_W_w { + input "w" + output "W" + target W + }, + Transition S0_to_X_x { + input "x" + output "X" + target X + }, + Transition S0_to_Y_y { + input "y" + output "Y" + target Y + }, + Transition S0_to_Z_z { + input "z" + output "Z" + target Z + }, + Transition S0_to_A_A { + input "A" + output "A" + target A + }, + Transition S0_to_B_B { + input "B" + output "B" + target B + }, + Transition S0_to_C_C { + input "C" + output "C" + target C + }, + Transition S0_to_D_D { + input "D" + output "D" + target D + }, + Transition S0_to_E_E { + input "E" + output "E" + target E + }, + Transition S0_to_F_F { + input "F" + output "F" + target F + }, + Transition S0_to_G_G { + input "G" + output "G" + target G + }, + Transition S0_to_H_H { + input "H" + output "H" + target H + }, + Transition S0_to_I_I { + input "I" + output "I" + target I + }, + Transition S0_to_J_J { + input "J" + output "J" + target J + }, + Transition S0_to_K_K { + input "K" + output "K" + target K + }, + Transition S0_to_L_L { + input "L" + output "L" + target L + }, + Transition S0_to_M_M { + input "M" + output "M" + target M + }, + Transition S0_to_N_N { + input "N" + output "N" + target N + }, + Transition S0_to_O_O { + input "O" + output "O" + target O + }, + Transition S0_to_P_P { + input "P" + output "P" + target P + }, + Transition S0_to_Q_Q { + input "Q" + output "Q" + target Q + }, + Transition S0_to_R_R { + input "R" + output "R" + target R + }, + Transition S0_to_S_S { + input "S" + output "S" + target S + }, + Transition S0_to_T_T { + input "T" + output "T" + target T + }, + Transition S0_to_U_U { + input "U" + output "U" + target U + }, + Transition S0_to_V_V { + input "V" + output "V" + target V + }, + Transition S0_to_W_W { + input "W" + output "W" + target W + }, + Transition S0_to_X_X { + input "X" + output "X" + target X + }, + Transition S0_to_Y_Y { + input "Y" + output "Y" + target Y + }, + Transition S0_to_Z_Z { + input "Z" + output "Z" + target Z + } + } + }, + State A { + outgoingTransitions { + Transition A_to_A { + input "A" + output "A" + target A + }, + Transition back_to_S0 { + target S0 + } + } + }, + State B { + outgoingTransitions { + Transition B_to_B { + input "B" + output "B" + target B + }, + Transition back_to_S0 { + target S0 + } + } + }, + State C { + outgoingTransitions { + Transition C_to_C { + input "C" + output "C" + target C + }, + Transition back_to_S0 { + target S0 + } + } + }, + State D { + outgoingTransitions { + Transition D_to_D { + input "D" + output "D" + target D + }, + Transition back_to_S0 { + target S0 + } + } + }, + State E { + outgoingTransitions { + Transition E_to_E { + input "E" + output "E" + target E + }, + Transition back_to_S0 { + target S0 + } + } + }, + State F { + outgoingTransitions { + Transition F_to_F { + input "F" + output "F" + target F + }, + Transition back_to_S0 { + target S0 + } + } + }, + State G { + outgoingTransitions { + Transition G_to_G { + input "G" + output "G" + target G + }, + Transition back_to_S0 { + target S0 + } + } + }, + State H { + outgoingTransitions { + Transition H_to_H { + input "H" + output "H" + target H + }, + Transition back_to_S0 { + target S0 + } + } + }, + State I { + outgoingTransitions { + Transition I_to_I { + input "I" + output "I" + target I + }, + Transition back_to_S0 { + target S0 + } + } + }, + State J { + outgoingTransitions { + Transition J_to_J { + input "J" + output "J" + target J + }, + Transition back_to_S0 { + target S0 + } + } + }, + State K { + outgoingTransitions { + Transition K_to_K { + input "K" + output "K" + target K + }, + Transition back_to_S0 { + target S0 + } + } + }, + State L { + outgoingTransitions { + Transition L_to_L { + input "L" + output "L" + target L + }, + Transition back_to_S0 { + target S0 + } + } + }, + State M { + outgoingTransitions { + Transition M_to_M { + input "M" + output "M" + target M + }, + Transition back_to_S0 { + target S0 + } + } + }, + State N { + outgoingTransitions { + Transition N_to_N { + input "N" + output "N" + target N + }, + Transition back_to_S0 { + target S0 + } + } + }, + State O { + outgoingTransitions { + Transition O_to_O { + input "O" + output "O" + target O + }, + Transition back_to_S0 { + target S0 + } + } + }, + State P { + outgoingTransitions { + Transition P_to_P { + input "P" + output "P" + target P + }, + Transition back_to_S0 { + target S0 + } + } + }, + State Q { + outgoingTransitions { + Transition Q_to_Q { + input "Q" + output "Q" + target Q + }, + Transition back_to_S0 { + target S0 + } + } + }, + State R { + outgoingTransitions { + Transition R_to_R { + input "R" + output "R" + target R + }, + Transition back_to_S0 { + target S0 + } + } + }, + State S { + outgoingTransitions { + Transition S_to_S { + input "S" + output "S" + target S + }, + Transition back_to_S0 { + target S0 + } + } + }, + State T { + outgoingTransitions { + Transition T_to_T { + input "T" + output "T" + target T + }, + Transition back_to_S0 { + target S0 + } + } + }, + State U { + outgoingTransitions { + Transition U_to_U { + input "U" + output "U" + target U + }, + Transition back_to_S0 { + target S0 + } + } + }, + State V { + outgoingTransitions { + Transition V_to_V { + input "V" + output "V" + target V + }, + Transition back_to_S0 { + target S0 + } + } + }, + State W { + outgoingTransitions { + Transition W_to_W { + input "W" + output "W" + target W + }, + Transition back_to_S0 { + target S0 + } + } + }, + State X { + outgoingTransitions { + Transition X_to_X { + input "X" + output "X" + target X + }, + Transition back_to_S0 { + target S0 + } + } + }, + State Y { + outgoingTransitions { + Transition Y_to_Y { + input "Y" + output "Y" + target Y + }, + Transition back_to_S0 { + target S0 + } + } + }, + State Z { + outgoingTransitions { + Transition Z_to_Z { + input "Z" + output "Z" + target Z + }, + Transition back_to_S0 { + target S0 + } + } + } + } +} \ No newline at end of file diff --git a/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.ThreeStates/.launch/EventK3FSM - ThreeStates(ab).launch b/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.ThreeStates/.launch/EventK3FSM - ThreeStates(ab).launch new file mode 100644 index 00000000..2b4f7d8f --- /dev/null +++ b/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.ThreeStates/.launch/EventK3FSM - ThreeStates(ab).launch @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.ThreeStates/.launch/K3FSM- ThreeStates(ab).launch b/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.ThreeStates/.launch/K3FSM- ThreeStates(ab).launch new file mode 100644 index 00000000..6bea572e --- /dev/null +++ b/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.ThreeStates/.launch/K3FSM- ThreeStates(ab).launch @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.ThreeStates/.project b/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.ThreeStates/.project new file mode 100644 index 00000000..8153fd68 --- /dev/null +++ b/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.ThreeStates/.project @@ -0,0 +1,17 @@ + + + org.eclipse.gemoc.example.k3fsm.model_examples.ThreeStates + + + + + + org.eclipse.xtext.ui.shared.xtextBuilder + + + + + + org.eclipse.xtext.ui.shared.xtextNature + + diff --git a/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.ThreeStates/representations.aird b/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.ThreeStates/representations.aird new file mode 100644 index 00000000..1728643d --- /dev/null +++ b/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.ThreeStates/representations.aird @@ -0,0 +1,144 @@ + + + + xtext/TwoStates.k3fsm + xmi/ThreeStates.k3fsmxmi + xtext/BitShifting.k3fsm + xtext/EdgeDetector.k3fsm + xtext/String.toLowercase.k3fsm + xtext/String.toUpperCase.k3fsm + xtext/TrafficLight.k3fsm + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.ThreeStates/xmi/ThreeStates.k3fsmxmi b/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.ThreeStates/xmi/ThreeStates.k3fsmxmi new file mode 100644 index 00000000..0f4f170b --- /dev/null +++ b/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.ThreeStates/xmi/ThreeStates.k3fsmxmi @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.TrafficLight/.launch/EventK3FSM - TrafficLight(ttbtttttt).launch b/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.TrafficLight/.launch/EventK3FSM - TrafficLight(ttbtttttt).launch new file mode 100644 index 00000000..c2ff310d --- /dev/null +++ b/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.TrafficLight/.launch/EventK3FSM - TrafficLight(ttbtttttt).launch @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.TrafficLight/.launch/K3FSM- TrafficLight(ttbtttttt).launch b/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.TrafficLight/.launch/K3FSM- TrafficLight(ttbtttttt).launch new file mode 100644 index 00000000..486d98da --- /dev/null +++ b/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.TrafficLight/.launch/K3FSM- TrafficLight(ttbtttttt).launch @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.TrafficLight/.project b/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.TrafficLight/.project new file mode 100644 index 00000000..c6998650 --- /dev/null +++ b/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.TrafficLight/.project @@ -0,0 +1,17 @@ + + + org.eclipse.gemoc.example.k3fsm.model_examples.TrafficLight + + + + + + org.eclipse.xtext.ui.shared.xtextBuilder + + + + + + org.eclipse.xtext.ui.shared.xtextNature + + diff --git a/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.TrafficLight/representations.aird b/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.TrafficLight/representations.aird new file mode 100644 index 00000000..bebced85 --- /dev/null +++ b/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.TrafficLight/representations.aird @@ -0,0 +1,194 @@ + + + + xtext/TwoStates.k3fsm + xmi/ThreeStates.k3fsmxmi + xtext/BitShifting.k3fsm + xtext/EdgeDetector.k3fsm + xtext/String.toLowercase.k3fsm + xtext/String.toUpperCase.k3fsm + xtext/TrafficLight.k3fsm + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.TrafficLight/xtext/TrafficLight.k3fsm b/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.TrafficLight/xtext/TrafficLight.k3fsm new file mode 100644 index 00000000..1a470388 --- /dev/null +++ b/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.TrafficLight/xtext/TrafficLight.k3fsm @@ -0,0 +1,37 @@ +FSM TrafficLight { + unprocessedString btt initialState Green + ownedStates { + State Green { + outgoingTransitions { + Transition Green_to_Green { + input "t" + output "Green" + target Green + }, + Transition Green_to_Yellow { + input "b" + output "Yellow" + target Yellow + } + } + }, + State Yellow { + outgoingTransitions { + Transition Yellow_to_Red { + input "t" + output "Red" + target Red + } + } + }, + State Red { + outgoingTransitions { + Transition Red_to_Green { + input "t" + output "Green" + target Green + } + } + } + } +} \ No newline at end of file diff --git a/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples/.launch/EventK3FSM - TwoStatesUpcast(abababa).launch b/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.TwoStates/.launch/EventK3FSM - TwoStates(abababa).launch similarity index 90% rename from official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples/.launch/EventK3FSM - TwoStatesUpcast(abababa).launch rename to official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.TwoStates/.launch/EventK3FSM - TwoStates(abababa).launch index fe648a25..6c5292fe 100644 --- a/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples/.launch/EventK3FSM - TwoStatesUpcast(abababa).launch +++ b/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.TwoStates/.launch/EventK3FSM - TwoStates(abababa).launch @@ -9,11 +9,10 @@ - - - + + diff --git a/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples/.launch/K3FSM - TwoStatesUpcast(abababa).launch b/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.TwoStates/.launch/K3FSM- TwoStates(abababa).launch similarity index 92% rename from official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples/.launch/K3FSM - TwoStatesUpcast(abababa).launch rename to official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.TwoStates/.launch/K3FSM- TwoStates(abababa).launch index f62ac8d9..72699e2f 100644 --- a/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples/.launch/K3FSM - TwoStatesUpcast(abababa).launch +++ b/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.TwoStates/.launch/K3FSM- TwoStates(abababa).launch @@ -8,11 +8,11 @@ - + - - + + diff --git a/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples/.project b/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.TwoStates/.project similarity index 83% rename from official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples/.project rename to official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.TwoStates/.project index 18823340..7cb7d68f 100644 --- a/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples/.project +++ b/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.TwoStates/.project @@ -1,6 +1,6 @@ - org.eclipse.gemoc.example.k3fsm.model_examples + org.eclipse.gemoc.example.k3fsm.model_examples.TwoStates diff --git a/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.TwoStates/representations.aird b/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.TwoStates/representations.aird new file mode 100644 index 00000000..714ab631 --- /dev/null +++ b/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.TwoStates/representations.aird @@ -0,0 +1,124 @@ + + + + xtext/TwoStates.k3fsm + xmi/ThreeStates.k3fsmxmi + xtext/BitShifting.k3fsm + xtext/EdgeDetector.k3fsm + xtext/String.toLowercase.k3fsm + xtext/String.toUpperCase.k3fsm + xtext/TrafficLight.k3fsm + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples/TwoStatesUpcast.k3fsm b/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.TwoStates/xtext/TwoStates.k3fsm similarity index 93% rename from official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples/TwoStatesUpcast.k3fsm rename to official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.TwoStates/xtext/TwoStates.k3fsm index b5e0f53b..d0e362b7 100644 --- a/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples/TwoStatesUpcast.k3fsm +++ b/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples.TwoStates/xtext/TwoStates.k3fsm @@ -1,4 +1,4 @@ -FSM TwoStateUpcast { +FSM TwoStates { initialState S1 ownedStates { State S1 { diff --git a/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples/TwoStatesUpcast.aird b/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples/TwoStatesUpcast.aird deleted file mode 100644 index 75a5269d..00000000 --- a/official_samples/K3FSM/modeling_workbench/org.eclipse.gemoc.example.k3fsm.model_examples/TwoStatesUpcast.aird +++ /dev/null @@ -1,160 +0,0 @@ - - - - TwoStatesUpcast.k3fsm - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/official_samples/sample.deployers/plugins/org.eclipse.gemoc.sequential.modeling.wb.sample.deployer/META-INF/MANIFEST.MF b/official_samples/sample.deployers/plugins/org.eclipse.gemoc.sequential.modeling.wb.sample.deployer/META-INF/MANIFEST.MF index 4b8ef7d9..5537f549 100644 --- a/official_samples/sample.deployers/plugins/org.eclipse.gemoc.sequential.modeling.wb.sample.deployer/META-INF/MANIFEST.MF +++ b/official_samples/sample.deployers/plugins/org.eclipse.gemoc.sequential.modeling.wb.sample.deployer/META-INF/MANIFEST.MF @@ -7,7 +7,8 @@ Bundle-Activator: org.eclipse.gemoc.sequential.modeling.wb.sample.deployer.Activ Bundle-Vendor: Eclipse GEMOC Project Require-Bundle: org.eclipse.ui, org.eclipse.core.runtime, - org.eclipse.core.resources + org.eclipse.core.resources, + org.eclipse.emf.common.ui Bundle-RequiredExecutionEnvironment: JavaSE-11 Bundle-ActivationPolicy: lazy Automatic-Module-Name: org.eclipse.gemoc.sequential.modeling.wb.sample.deployer diff --git a/official_samples/sample.deployers/plugins/org.eclipse.gemoc.sequential.modeling.wb.sample.deployer/plugin.xml b/official_samples/sample.deployers/plugins/org.eclipse.gemoc.sequential.modeling.wb.sample.deployer/plugin.xml index 9d90459a..bc232603 100644 --- a/official_samples/sample.deployers/plugins/org.eclipse.gemoc.sequential.modeling.wb.sample.deployer/plugin.xml +++ b/official_samples/sample.deployers/plugins/org.eclipse.gemoc.sequential.modeling.wb.sample.deployer/plugin.xml @@ -37,18 +37,40 @@ - - This project contains some finite state machine models that can be executed if you have installed the K3FSM language or the EventK3FSM language. - - + category="org.eclipse.ui.Examples/org.eclipse.gemoc.gemoc_modeling_workbench.samples.category" + class="org.eclipse.emf.common.ui.wizard.ExampleInstallerWizard" + icon="icons/IconeGemocModel-16.png" + id="org.eclipse.gemoc.sequential.modeling.wb.sample.deployer.k3fsm.model.wizard" + name="GEMOC models for K3FSM and EventK3FSM languages (Sequential)" + project="true"> + + These projects contain some finite state machine models that can be executed if you have installed the K3FSM language or the EventK3FSM language. + + - + + + + + + + + + + + diff --git a/official_samples/sample.deployers/plugins/org.eclipse.gemoc.sequential.modeling.wb.sample.deployer/pom.xml b/official_samples/sample.deployers/plugins/org.eclipse.gemoc.sequential.modeling.wb.sample.deployer/pom.xml index f93d7910..899db60f 100644 --- a/official_samples/sample.deployers/plugins/org.eclipse.gemoc.sequential.modeling.wb.sample.deployer/pom.xml +++ b/official_samples/sample.deployers/plugins/org.eclipse.gemoc.sequential.modeling.wb.sample.deployer/pom.xml @@ -48,8 +48,27 @@ - - + + + + + + + + + + + + + + + + + + + + + diff --git a/official_samples/sample.deployers/plugins/org.eclipse.gemoc.sequential.modeling.wb.sample.deployer/src/main/java/org/eclipse/gemoc/sequential/modeling/wb/sample/deployer/wizards/K3FSMExampleWizard.java b/official_samples/sample.deployers/plugins/org.eclipse.gemoc.sequential.modeling.wb.sample.deployer/src/main/java/org/eclipse/gemoc/sequential/modeling/wb/sample/deployer/wizards/K3FSMExampleWizard.java deleted file mode 100644 index 3f0b40c2..00000000 --- a/official_samples/sample.deployers/plugins/org.eclipse.gemoc.sequential.modeling.wb.sample.deployer/src/main/java/org/eclipse/gemoc/sequential/modeling/wb/sample/deployer/wizards/K3FSMExampleWizard.java +++ /dev/null @@ -1,33 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2015, 2017 Inria and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Inria - initial API and implementation - *******************************************************************************/ -package org.eclipse.gemoc.sequential.modeling.wb.sample.deployer.wizards; - -import java.util.ArrayList; -import java.util.Collection; -import java.util.List; - -import org.eclipse.ui.plugin.AbstractUIPlugin; -import org.eclipse.gemoc.sequential.modeling.wb.sample.deployer.Activator; - -public class K3FSMExampleWizard extends AbstractExampleWizard { - - protected Collection getProjectDescriptors() { - List projects = new ArrayList(1); - projects.add(new ProjectDescriptor(Activator.PLUGIN_ID, "zips/org.eclipse.gemoc.example.k3fsm.model_examples.zip", "org.eclipse.gemoc.example.k3fsm.model_examples")); - return projects; - } - - @Override - protected AbstractUIPlugin getContainerPlugin() { - - return Activator.getDefault(); - } -} \ No newline at end of file