diff --git a/statemachine.solution/build.gradle b/statemachine.solution/build.gradle index 2ccafb7578f9a9b0cfb5c8479285988f3b5f56d0..c3cd01ee142c60cbdb00f3729ac19b3149638097 100644 --- a/statemachine.solution/build.gradle +++ b/statemachine.solution/build.gradle @@ -42,8 +42,8 @@ run { } // Generated files -def ecoreFile = "./src/main/resources/Example.relast" -def relastFile = "./src/gen/jastadd/Example.relast" +def ecoreFile = "./src/main/resources/StateMachine.relast" +def relastFile = "./src/gen/jastadd/StateMachine.relast" // First phase: Ecore -> RelAst task ecoreToRelast(type: JavaExec) { @@ -58,7 +58,7 @@ task ecoreToRelast(type: JavaExec) { //args "../libs/ecore2relast-0.1.jar", ecoreFile, relastFile args "../libs/RoleRag-0.2.0.jar", "--inputBaseDir=src/main/resources", - "--outputBaseDir=src/gen/jastadd", "Example.relast" + "--outputBaseDir=src/gen/jastadd", "StateMachine.relast" inputs.files file(ecoreFile) outputs.files file(relastFile) diff --git a/statemachine.solution/src/main/resources/StateMachine.relast b/statemachine.solution/src/main/resources/StateMachine.relast new file mode 100644 index 0000000000000000000000000000000000000000..41f688a9b1d75f13fdad593bf7e606a50c6f3d5f --- /dev/null +++ b/statemachine.solution/src/main/resources/StateMachine.relast @@ -0,0 +1,9 @@ +StateMachine ::= Element*; +abstract Element ::= <Label:String>; +State : Element ::=; +Transition : Element ::=; + +rel StateMachine.initial -> State; +rel StateMachine.final* -> State; +rel State.outgoing* <-> Transition.from; +rel State.incoming* <-> Transition.to;