golden tests are back
This commit is contained in:
8
.gitignore
vendored
8
.gitignore
vendored
@@ -35,11 +35,3 @@ out/
|
||||
|
||||
### VS Code ###
|
||||
.vscode/
|
||||
|
||||
|
||||
|
||||
#### added
|
||||
*.png
|
||||
*.dot
|
||||
*.scxml.xml
|
||||
Combined.java
|
||||
|
||||
37
file_combine/.gitignore
vendored
Normal file
37
file_combine/.gitignore
vendored
Normal file
@@ -0,0 +1,37 @@
|
||||
HELP.md
|
||||
.gradle
|
||||
build/
|
||||
!gradle/wrapper/gradle-wrapper.jar
|
||||
!**/src/main/**/build/
|
||||
!**/src/test/**/build/
|
||||
|
||||
### STS ###
|
||||
.apt_generated
|
||||
.classpath
|
||||
.factorypath
|
||||
.project
|
||||
.settings
|
||||
.springBeans
|
||||
.sts4-cache
|
||||
bin/
|
||||
!**/src/main/**/bin/
|
||||
!**/src/test/**/bin/
|
||||
|
||||
### IntelliJ IDEA ###
|
||||
.idea
|
||||
*.iws
|
||||
*.iml
|
||||
*.ipr
|
||||
out/
|
||||
!**/src/main/**/out/
|
||||
!**/src/test/**/out/
|
||||
|
||||
### NetBeans ###
|
||||
/nbproject/private/
|
||||
/nbbuild/
|
||||
/dist/
|
||||
/nbdist/
|
||||
/.nb-gradle/
|
||||
|
||||
### VS Code ###
|
||||
.vscode/
|
||||
8
state_machine_exporter/.gitignore
vendored
8
state_machine_exporter/.gitignore
vendored
@@ -35,11 +35,3 @@ out/
|
||||
|
||||
### VS Code ###
|
||||
.vscode/
|
||||
|
||||
|
||||
|
||||
#### added
|
||||
*.png
|
||||
*.dot
|
||||
*.scxml.xml
|
||||
Combined.java
|
||||
@@ -0,0 +1,29 @@
|
||||
digraph statemachine {
|
||||
rankdir=LR;
|
||||
node [shape=rounded, style=filled, fillcolor=white, fontname="Arial"];
|
||||
edge [fontname="Arial", fontsize=10];
|
||||
|
||||
SUBMITTED_choice [shape=diamond, label="", fillcolor="blue", width=0.2, height=0.2];
|
||||
SUBMITTED -> SUBMITTED_choice [style=dotted, color="blue"];
|
||||
PAID_choice [shape=diamond, label="", fillcolor="green", width=0.2, height=0.2];
|
||||
PAID -> PAID_choice [style=dotted, color="green"];
|
||||
_start [shape=circle, label="", fillcolor=black, width=0.1];
|
||||
_start -> SUBMITTED;
|
||||
CANCELED [fillcolor=lightgray];
|
||||
FULFILLED [fillcolor=lightgray];
|
||||
SUBMITTED -> PAID [label="OrderEvents.PAY", style="solid", color="black"];
|
||||
PAID -> FULFILLED [label="OrderEvents.FULFILL", style="solid", color="black"];
|
||||
SUBMITTED -> CANCELED [label="OrderEvents.CANCEL [λ]", style="solid", color="black"];
|
||||
PAID -> CANCELED [label="OrderEvents.CANCEL", style="solid", color="black"];
|
||||
SUBMITTED -> SUBMITTED [label="OrderEvents.ABCD", style="solid", color="black"];
|
||||
SUBMITTED_choice -> PAID2 [label="[λ] (order=0)", style="solid", color="blue"];
|
||||
SUBMITTED_choice -> PAID3 [label="(order=1)", style="solid", color="blue"];
|
||||
PAID_choice -> PAID1 [label="[λ] (order=0)", style="solid", color="green"];
|
||||
PAID_choice -> PAID2 [label="[guard1] (order=1)", style="solid", color="green"];
|
||||
PAID_choice -> HAPPEN [label="[λ] (order=2)", style="solid", color="green"];
|
||||
PAID_choice -> PAID3 [label="(order=3)", style="solid", color="green"];
|
||||
PAID2 -> CANCELED [style="solid", color="black"];
|
||||
PAID3 -> CANCELED [style="solid", color="black"];
|
||||
PAID1 -> PAID1 [label="OrderEvents.ABCD / λ, action2", style="solid", color="black"];
|
||||
}
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<scxml xmlns="http://www.w3.org/2005/07/scxml" version="1.0" initial="SUBMITTED">
|
||||
<state id="PAID1">
|
||||
<transition target="PAID1" event="OrderEvents.ABCD"/>
|
||||
</state>
|
||||
<state id="SUBMITTED">
|
||||
<transition target="PAID" event="OrderEvents.PAY"/>
|
||||
<transition target="CANCELED" event="OrderEvents.CANCEL" cond="λ"/>
|
||||
<transition target="SUBMITTED" event="OrderEvents.ABCD"/>
|
||||
<transition target="PAID2" cond="λ">
|
||||
<!-- order=0 -->
|
||||
</transition>
|
||||
<transition target="PAID3">
|
||||
<!-- order=1 -->
|
||||
</transition>
|
||||
</state>
|
||||
<state id="PAID">
|
||||
<transition target="FULFILLED" event="OrderEvents.FULFILL"/>
|
||||
<transition target="CANCELED" event="OrderEvents.CANCEL"/>
|
||||
<transition target="PAID1" cond="λ">
|
||||
<!-- order=0 -->
|
||||
</transition>
|
||||
<transition target="PAID2" cond="guard1">
|
||||
<!-- order=1 -->
|
||||
</transition>
|
||||
<transition target="HAPPEN" cond="λ">
|
||||
<!-- order=2 -->
|
||||
</transition>
|
||||
<transition target="PAID3">
|
||||
<!-- order=3 -->
|
||||
</transition>
|
||||
</state>
|
||||
<state id="CANCELED">
|
||||
</state>
|
||||
<state id="FULFILLED">
|
||||
</state>
|
||||
<state id="PAID3">
|
||||
<transition target="CANCELED"/>
|
||||
</state>
|
||||
<state id="HAPPEN">
|
||||
</state>
|
||||
<state id="PAID2">
|
||||
<transition target="CANCELED"/>
|
||||
</state>
|
||||
</scxml>
|
||||
|
||||
@@ -0,0 +1,67 @@
|
||||
digraph statemachine {
|
||||
rankdir=LR;
|
||||
node [shape=rounded, style=filled, fillcolor=white, fontname="Arial"];
|
||||
edge [fontname="Arial", fontsize=10];
|
||||
|
||||
STATE16_choice [shape=diamond, label="", fillcolor="blue", width=0.2, height=0.2];
|
||||
STATE16 -> STATE16_choice [style=dotted, color="blue"];
|
||||
STATE17_choice [shape=diamond, label="", fillcolor="green", width=0.2, height=0.2];
|
||||
STATE17 -> STATE17_choice [style=dotted, color="green"];
|
||||
STATE18_choice [shape=diamond, label="", fillcolor="red", width=0.2, height=0.2];
|
||||
STATE18 -> STATE18_choice [style=dotted, color="red"];
|
||||
STATE19_choice [shape=diamond, label="", fillcolor="purple", width=0.2, height=0.2];
|
||||
STATE19 -> STATE19_choice [style=dotted, color="purple"];
|
||||
STATE20_choice [shape=diamond, label="", fillcolor="orange", width=0.2, height=0.2];
|
||||
STATE20 -> STATE20_choice [style=dotted, color="orange"];
|
||||
STATE11_choice [shape=diamond, label="", fillcolor="brown", width=0.2, height=0.2];
|
||||
STATE11 -> STATE11_choice [style=dotted, color="brown"];
|
||||
STATE12_choice [shape=diamond, label="", fillcolor="darkgreen", width=0.2, height=0.2];
|
||||
STATE12 -> STATE12_choice [style=dotted, color="darkgreen"];
|
||||
STATE14_choice [shape=diamond, label="", fillcolor="darkblue", width=0.2, height=0.2];
|
||||
STATE14 -> STATE14_choice [style=dotted, color="darkblue"];
|
||||
STATE9_choice [shape=diamond, label="", fillcolor="blue", width=0.2, height=0.2];
|
||||
STATE9 -> STATE9_choice [style=dotted, color="blue"];
|
||||
STATE8_choice [shape=diamond, label="", fillcolor="green", width=0.2, height=0.2];
|
||||
STATE8 -> STATE8_choice [style=dotted, color="green"];
|
||||
_start [shape=circle, label="", fillcolor=black, width=0.1];
|
||||
_start -> STATE1;
|
||||
STATE1 -> STATE2 [label="Events.EVENT1", style="solid", color="black"];
|
||||
STATE2 -> STATE3 [label="Events.EVENT2", style="solid", color="black"];
|
||||
STATE3 -> STATE4 [label="Events.EVENT3", style="solid", color="black"];
|
||||
STATE4 -> STATE5 [label="Events.EVENT4", style="solid", color="black"];
|
||||
STATE5 -> STATE6 [label="Events.EVENT5", style="solid", color="black"];
|
||||
STATE6 -> STATE7 [label="Events.EVENT6", style="solid", color="black"];
|
||||
STATE7 -> STATE8 [label="Events.EVENT7", style="solid", color="black"];
|
||||
STATE8 -> STATE9 [label="Events.EVENT8", style="solid", color="black"];
|
||||
STATE9 -> STATE10 [label="Events.EVENT9", style="solid", color="black"];
|
||||
STATE10 -> STATE11 [label="Events.EVENT10", style="solid", color="black"];
|
||||
STATE11 -> STATE12 [label="Events.EVENT11", style="solid", color="black"];
|
||||
STATE12 -> STATE13 [label="Events.EVENT12", style="solid", color="black"];
|
||||
STATE13 -> STATE14 [label="Events.EVENT13", style="solid", color="black"];
|
||||
STATE14 -> STATE15 [label="Events.EVENT14", style="solid", color="black"];
|
||||
STATE15 -> STATE16 [label="Events.EVENT15", style="solid", color="black"];
|
||||
STATE16_choice -> STATE17 [label="[guardVarEquals(\"value1\")] (order=0)", style="solid", color="blue"];
|
||||
STATE16_choice -> STATE18 [label="[guardVarEquals(\"value2\")] (order=1)", style="solid", color="blue"];
|
||||
STATE16_choice -> STATE19 [label="(order=2)", style="solid", color="blue"];
|
||||
STATE17_choice -> STATE20 [label="[guardEventHeaderEquals(\"header1\",\"foo\")] (order=0)", style="solid", color="green"];
|
||||
STATE17_choice -> STATE16 [label="(order=1)", style="solid", color="green"];
|
||||
STATE18_choice -> STATE19 [label="[guardVarEquals(\"value3\")] (order=0)", style="solid", color="red"];
|
||||
STATE18_choice -> STATE20 [label="(order=1)", style="solid", color="red"];
|
||||
STATE19_choice -> STATE1 [label="[guardVarEquals(\"reset\")] (order=0)", style="solid", color="purple"];
|
||||
STATE19_choice -> STATE20 [label="(order=1)", style="solid", color="purple"];
|
||||
STATE20_choice -> STATE5 [label="[guardEventHeaderEquals(\"header2\",\"bar\")] (order=0)", style="solid", color="orange"];
|
||||
STATE20_choice -> STATE1 [label="(order=1)", style="solid", color="orange"];
|
||||
STATE11_choice -> STATE13 [label="[guardVarEquals(\"goTo13\")] (order=0)", style="solid", color="brown"];
|
||||
STATE11_choice -> STATE14 [label="[guardVarEquals(\"goTo14\")] (order=1)", style="solid", color="brown"];
|
||||
STATE11_choice -> STATE15 [label="(order=2)", style="solid", color="brown"];
|
||||
STATE12_choice -> STATE10 [label="[guardVarEquals(\"goBack10\")] (order=0)", style="solid", color="darkgreen"];
|
||||
STATE12_choice -> STATE11 [label="(order=1)", style="solid", color="darkgreen"];
|
||||
STATE14_choice -> STATE12 [label="[guardVarEquals(\"loop12\")] (order=0)", style="solid", color="darkblue"];
|
||||
STATE14_choice -> STATE16 [label="(order=1)", style="solid", color="darkblue"];
|
||||
STATE9_choice -> STATE8 [label="[guardVarEquals(\"stepBack\")] (order=0)", style="solid", color="blue"];
|
||||
STATE9_choice -> STATE7 [label="[guardVarEquals(\"stepBackMore\")] (order=1)", style="solid", color="blue"];
|
||||
STATE9_choice -> STATE6 [label="(order=2)", style="solid", color="blue"];
|
||||
STATE8_choice -> STATE9 [label="[guardVarEquals(\"forward9\")] (order=0)", style="solid", color="green"];
|
||||
STATE8_choice -> STATE10 [label="(order=1)", style="solid", color="green"];
|
||||
}
|
||||
|
||||
@@ -0,0 +1,128 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<scxml xmlns="http://www.w3.org/2005/07/scxml" version="1.0" initial="STATE1">
|
||||
<state id="STATE4">
|
||||
<transition target="STATE5" event="Events.EVENT4"/>
|
||||
</state>
|
||||
<state id="STATE3">
|
||||
<transition target="STATE4" event="Events.EVENT3"/>
|
||||
</state>
|
||||
<state id="STATE2">
|
||||
<transition target="STATE3" event="Events.EVENT2"/>
|
||||
</state>
|
||||
<state id="STATE1">
|
||||
<transition target="STATE2" event="Events.EVENT1"/>
|
||||
</state>
|
||||
<state id="STATE19">
|
||||
<transition target="STATE1" cond="guardVarEquals("reset")">
|
||||
<!-- order=0 -->
|
||||
</transition>
|
||||
<transition target="STATE20">
|
||||
<!-- order=1 -->
|
||||
</transition>
|
||||
</state>
|
||||
<state id="STATE18">
|
||||
<transition target="STATE19" cond="guardVarEquals("value3")">
|
||||
<!-- order=0 -->
|
||||
</transition>
|
||||
<transition target="STATE20">
|
||||
<!-- order=1 -->
|
||||
</transition>
|
||||
</state>
|
||||
<state id="STATE15">
|
||||
<transition target="STATE16" event="Events.EVENT15"/>
|
||||
</state>
|
||||
<state id="STATE14">
|
||||
<transition target="STATE15" event="Events.EVENT14"/>
|
||||
<transition target="STATE12" cond="guardVarEquals("loop12")">
|
||||
<!-- order=0 -->
|
||||
</transition>
|
||||
<transition target="STATE16">
|
||||
<!-- order=1 -->
|
||||
</transition>
|
||||
</state>
|
||||
<state id="STATE17">
|
||||
<transition target="STATE20" cond="guardEventHeaderEquals("header1","foo")">
|
||||
<!-- order=0 -->
|
||||
</transition>
|
||||
<transition target="STATE16">
|
||||
<!-- order=1 -->
|
||||
</transition>
|
||||
</state>
|
||||
<state id="STATE16">
|
||||
<transition target="STATE17" cond="guardVarEquals("value1")">
|
||||
<!-- order=0 -->
|
||||
</transition>
|
||||
<transition target="STATE18" cond="guardVarEquals("value2")">
|
||||
<!-- order=1 -->
|
||||
</transition>
|
||||
<transition target="STATE19">
|
||||
<!-- order=2 -->
|
||||
</transition>
|
||||
</state>
|
||||
<state id="STATE11">
|
||||
<transition target="STATE12" event="Events.EVENT11"/>
|
||||
<transition target="STATE13" cond="guardVarEquals("goTo13")">
|
||||
<!-- order=0 -->
|
||||
</transition>
|
||||
<transition target="STATE14" cond="guardVarEquals("goTo14")">
|
||||
<!-- order=1 -->
|
||||
</transition>
|
||||
<transition target="STATE15">
|
||||
<!-- order=2 -->
|
||||
</transition>
|
||||
</state>
|
||||
<state id="STATE10">
|
||||
<transition target="STATE11" event="Events.EVENT10"/>
|
||||
</state>
|
||||
<state id="STATE13">
|
||||
<transition target="STATE14" event="Events.EVENT13"/>
|
||||
</state>
|
||||
<state id="STATE9">
|
||||
<transition target="STATE10" event="Events.EVENT9"/>
|
||||
<transition target="STATE8" cond="guardVarEquals("stepBack")">
|
||||
<!-- order=0 -->
|
||||
</transition>
|
||||
<transition target="STATE7" cond="guardVarEquals("stepBackMore")">
|
||||
<!-- order=1 -->
|
||||
</transition>
|
||||
<transition target="STATE6">
|
||||
<!-- order=2 -->
|
||||
</transition>
|
||||
</state>
|
||||
<state id="STATE12">
|
||||
<transition target="STATE13" event="Events.EVENT12"/>
|
||||
<transition target="STATE10" cond="guardVarEquals("goBack10")">
|
||||
<!-- order=0 -->
|
||||
</transition>
|
||||
<transition target="STATE11">
|
||||
<!-- order=1 -->
|
||||
</transition>
|
||||
</state>
|
||||
<state id="STATE8">
|
||||
<transition target="STATE9" event="Events.EVENT8"/>
|
||||
<transition target="STATE9" cond="guardVarEquals("forward9")">
|
||||
<!-- order=0 -->
|
||||
</transition>
|
||||
<transition target="STATE10">
|
||||
<!-- order=1 -->
|
||||
</transition>
|
||||
</state>
|
||||
<state id="STATE7">
|
||||
<transition target="STATE8" event="Events.EVENT7"/>
|
||||
</state>
|
||||
<state id="STATE6">
|
||||
<transition target="STATE7" event="Events.EVENT6"/>
|
||||
</state>
|
||||
<state id="STATE20">
|
||||
<transition target="STATE5" cond="guardEventHeaderEquals("header2","bar")">
|
||||
<!-- order=0 -->
|
||||
</transition>
|
||||
<transition target="STATE1">
|
||||
<!-- order=1 -->
|
||||
</transition>
|
||||
</state>
|
||||
<state id="STATE5">
|
||||
<transition target="STATE6" event="Events.EVENT5"/>
|
||||
</state>
|
||||
</scxml>
|
||||
|
||||
@@ -0,0 +1,86 @@
|
||||
digraph statemachine {
|
||||
rankdir=LR;
|
||||
node [shape=rounded, style=filled, fillcolor=white, fontname="Arial"];
|
||||
edge [fontname="Arial", fontsize=10];
|
||||
|
||||
STATEY_choice [shape=diamond, label="", fillcolor="blue", width=0.2, height=0.2];
|
||||
STATEY -> STATEY_choice [style=dotted, color="blue"];
|
||||
STATE16_choice [shape=diamond, label="", fillcolor="green", width=0.2, height=0.2];
|
||||
STATE16 -> STATE16_choice [style=dotted, color="green"];
|
||||
STATE17_choice [shape=diamond, label="", fillcolor="red", width=0.2, height=0.2];
|
||||
STATE17 -> STATE17_choice [style=dotted, color="red"];
|
||||
STATE18_choice [shape=diamond, label="", fillcolor="purple", width=0.2, height=0.2];
|
||||
STATE18 -> STATE18_choice [style=dotted, color="purple"];
|
||||
STATE19_choice [shape=diamond, label="", fillcolor="orange", width=0.2, height=0.2];
|
||||
STATE19 -> STATE19_choice [style=dotted, color="orange"];
|
||||
STATE20_choice [shape=diamond, label="", fillcolor="brown", width=0.2, height=0.2];
|
||||
STATE20 -> STATE20_choice [style=dotted, color="brown"];
|
||||
STATE11_choice [shape=diamond, label="", fillcolor="darkgreen", width=0.2, height=0.2];
|
||||
STATE11 -> STATE11_choice [style=dotted, color="darkgreen"];
|
||||
STATE12_choice [shape=diamond, label="", fillcolor="darkblue", width=0.2, height=0.2];
|
||||
STATE12 -> STATE12_choice [style=dotted, color="darkblue"];
|
||||
STATE14_choice [shape=diamond, label="", fillcolor="blue", width=0.2, height=0.2];
|
||||
STATE14 -> STATE14_choice [style=dotted, color="blue"];
|
||||
STATE9_choice [shape=diamond, label="", fillcolor="green", width=0.2, height=0.2];
|
||||
STATE9 -> STATE9_choice [style=dotted, color="green"];
|
||||
STATE8_choice [shape=diamond, label="", fillcolor="red", width=0.2, height=0.2];
|
||||
STATE8 -> STATE8_choice [style=dotted, color="red"];
|
||||
STATE2_choice [shape=diamond, label="", fillcolor="purple", width=0.2, height=0.2];
|
||||
STATE2 -> STATE2_choice [style=dotted, color="purple"];
|
||||
_start [shape=circle, label="", fillcolor=black, width=0.1];
|
||||
_start -> STATE1;
|
||||
STATEZ [fillcolor=lightgray];
|
||||
STATE1 -> STATE2 [label="Events.EVENT1", style="solid", color="black"];
|
||||
STATE2 -> STATE3 [label="Events.EVENT2", style="solid", color="black"];
|
||||
STATE3 -> STATE4 [label="Events.EVENT3", style="solid", color="black"];
|
||||
STATE4 -> STATE5 [label="Events.EVENT4", style="solid", color="black"];
|
||||
STATE5 -> STATE6 [label="Events.EVENT5", style="solid", color="black"];
|
||||
STATE6 -> STATE7 [label="Events.EVENT6", style="solid", color="black"];
|
||||
STATE7 -> STATE8 [label="Events.EVENT7", style="solid", color="black"];
|
||||
STATE8 -> STATE9 [label="Events.EVENT8", style="solid", color="black"];
|
||||
STATE9 -> STATE10 [label="Events.EVENT9", style="solid", color="black"];
|
||||
STATE10 -> STATE11 [label="Events.EVENT10", style="solid", color="black"];
|
||||
STATE11 -> STATE12 [label="Events.EVENT11", style="solid", color="black"];
|
||||
STATE12 -> STATE13 [label="Events.EVENT12", style="solid", color="black"];
|
||||
STATE13 -> STATE14 [label="Events.EVENT13", style="solid", color="black"];
|
||||
STATE14 -> STATE15 [label="Events.EVENT14", style="solid", color="black"];
|
||||
STATE15 -> STATE16 [label="Events.EVENT15", style="solid", color="black"];
|
||||
STATE1 -> CANCEL [label="Events.EVENT_CANCEL", style="solid", color="black"];
|
||||
STATE2 -> CANCEL [label="Events.EVENT_CANCEL", style="solid", color="black"];
|
||||
STATE3 -> CANCEL [label="Events.EVENT_CANCEL", style="solid", color="black"];
|
||||
STATE4 -> CANCEL [label="Events.EVENT_CANCEL", style="solid", color="black"];
|
||||
STATE5 -> CANCEL [label="Events.EVENT_CANCEL", style="solid", color="black"];
|
||||
STATE4 -> STATEY [label="Events.EVENTY", style="solid", color="black"];
|
||||
STATEY_choice -> STATEX [label="[guardVarEquals(\"value1\")] (order=0)", style="solid", color="blue"];
|
||||
STATEY_choice -> STATEZ [label="(order=1)", style="solid", color="blue"];
|
||||
STATE16_choice -> STATE17 [label="[guardVarEquals(\"value1\")] (order=0)", style="solid", color="green"];
|
||||
STATE16_choice -> STATE18 [label="[guardVarEquals(\"value2\")] (order=1)", style="solid", color="green"];
|
||||
STATE16_choice -> STATE19 [label="(order=2)", style="solid", color="green"];
|
||||
STATE17_choice -> STATE20 [label="[guardEventHeaderEquals(\"header1\",\"foo\")] (order=0)", style="solid", color="red"];
|
||||
STATE17_choice -> STATE16 [label="(order=1)", style="solid", color="red"];
|
||||
STATE18_choice -> STATE19 [label="[guardVarEquals(\"value3\")] (order=0)", style="solid", color="purple"];
|
||||
STATE18_choice -> STATE20 [label="(order=1)", style="solid", color="purple"];
|
||||
STATE19_choice -> STATE1 [label="[guardVarEquals(\"reset\")] (order=0)", style="solid", color="orange"];
|
||||
STATE19_choice -> STATE20 [label="(order=1)", style="solid", color="orange"];
|
||||
STATE20_choice -> STATE5 [label="[guardEventHeaderEquals(\"header2\",\"bar\")] (order=0)", style="solid", color="brown"];
|
||||
STATE20_choice -> STATE1 [label="(order=1)", style="solid", color="brown"];
|
||||
STATE11_choice -> STATE13 [label="[guardVarEquals(\"goTo13\")] (order=0)", style="solid", color="darkgreen"];
|
||||
STATE11_choice -> STATE14 [label="[guardVarEquals(\"goTo14\")] (order=1)", style="solid", color="darkgreen"];
|
||||
STATE11_choice -> STATE15 [label="(order=2)", style="solid", color="darkgreen"];
|
||||
STATE12_choice -> STATE10 [label="[guardVarEquals(\"goBack10\")] (order=0)", style="solid", color="darkblue"];
|
||||
STATE12_choice -> STATE11 [label="(order=1)", style="solid", color="darkblue"];
|
||||
STATE14_choice -> STATE12 [label="[guardVarEquals(\"loop12\")] (order=0)", style="solid", color="blue"];
|
||||
STATE14_choice -> STATE16 [label="(order=1)", style="solid", color="blue"];
|
||||
STATE9_choice -> STATE8 [label="[guardVarEquals(\"stepBack\")] (order=0)", style="solid", color="green"];
|
||||
STATE9_choice -> STATE7 [label="[guardVarEquals(\"stepBackMore\")] (order=1)", style="solid", color="green"];
|
||||
STATE9_choice -> STATE6 [label="(order=2)", style="solid", color="green"];
|
||||
STATE8_choice -> STATE9 [label="[guardVarEquals(\"forward9\")] (order=0)", style="solid", color="red"];
|
||||
STATE8_choice -> STATE10 [label="(order=1)", style="solid", color="red"];
|
||||
STATE2 -> STATE_EXTRA_1 [label="Events.EVENTX", style="solid", color="black"];
|
||||
STATE2_choice -> STATE1 [label="[guardEventHeaderEquals(\"header1\",\"foo\")] (order=0)", style="solid", color="purple"];
|
||||
STATE2_choice -> STATE_EXTRA_1 [label="(order=1)", style="solid", color="purple"];
|
||||
STATE_EXTRA_1 -> STATE_EXTRA_3 [label="Events.EVENTY", style="solid", color="black"];
|
||||
STATE_EXTRA_1 -> CANCEL [label="Events.EVENT_CANCEL_2", style="solid", color="black"];
|
||||
STATE_EXTRA_2 -> CANCEL [label="Events.EVENT_CANCEL_2", style="solid", color="black"];
|
||||
}
|
||||
|
||||
@@ -0,0 +1,164 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<scxml xmlns="http://www.w3.org/2005/07/scxml" version="1.0" initial="STATE1">
|
||||
<state id="STATE19">
|
||||
<transition target="STATE1" cond="guardVarEquals("reset")">
|
||||
<!-- order=0 -->
|
||||
</transition>
|
||||
<transition target="STATE20">
|
||||
<!-- order=1 -->
|
||||
</transition>
|
||||
</state>
|
||||
<state id="STATE18">
|
||||
<transition target="STATE19" cond="guardVarEquals("value3")">
|
||||
<!-- order=0 -->
|
||||
</transition>
|
||||
<transition target="STATE20">
|
||||
<!-- order=1 -->
|
||||
</transition>
|
||||
</state>
|
||||
<state id="STATE15">
|
||||
<transition target="STATE16" event="Events.EVENT15"/>
|
||||
</state>
|
||||
<state id="STATE14">
|
||||
<transition target="STATE15" event="Events.EVENT14"/>
|
||||
<transition target="STATE12" cond="guardVarEquals("loop12")">
|
||||
<!-- order=0 -->
|
||||
</transition>
|
||||
<transition target="STATE16">
|
||||
<!-- order=1 -->
|
||||
</transition>
|
||||
</state>
|
||||
<state id="STATE17">
|
||||
<transition target="STATE20" cond="guardEventHeaderEquals("header1","foo")">
|
||||
<!-- order=0 -->
|
||||
</transition>
|
||||
<transition target="STATE16">
|
||||
<!-- order=1 -->
|
||||
</transition>
|
||||
</state>
|
||||
<state id="STATE16">
|
||||
<transition target="STATE17" cond="guardVarEquals("value1")">
|
||||
<!-- order=0 -->
|
||||
</transition>
|
||||
<transition target="STATE18" cond="guardVarEquals("value2")">
|
||||
<!-- order=1 -->
|
||||
</transition>
|
||||
<transition target="STATE19">
|
||||
<!-- order=2 -->
|
||||
</transition>
|
||||
</state>
|
||||
<state id="STATE11">
|
||||
<transition target="STATE12" event="Events.EVENT11"/>
|
||||
<transition target="STATE13" cond="guardVarEquals("goTo13")">
|
||||
<!-- order=0 -->
|
||||
</transition>
|
||||
<transition target="STATE14" cond="guardVarEquals("goTo14")">
|
||||
<!-- order=1 -->
|
||||
</transition>
|
||||
<transition target="STATE15">
|
||||
<!-- order=2 -->
|
||||
</transition>
|
||||
</state>
|
||||
<state id="STATE10">
|
||||
<transition target="STATE11" event="Events.EVENT10"/>
|
||||
</state>
|
||||
<state id="STATE_EXTRA_3">
|
||||
</state>
|
||||
<state id="STATE13">
|
||||
<transition target="STATE14" event="Events.EVENT13"/>
|
||||
</state>
|
||||
<state id="STATEZ">
|
||||
</state>
|
||||
<state id="STATE_EXTRA_2">
|
||||
<transition target="CANCEL" event="Events.EVENT_CANCEL_2"/>
|
||||
</state>
|
||||
<state id="STATE12">
|
||||
<transition target="STATE13" event="Events.EVENT12"/>
|
||||
<transition target="STATE10" cond="guardVarEquals("goBack10")">
|
||||
<!-- order=0 -->
|
||||
</transition>
|
||||
<transition target="STATE11">
|
||||
<!-- order=1 -->
|
||||
</transition>
|
||||
</state>
|
||||
<state id="STATEY">
|
||||
<transition target="STATEX" cond="guardVarEquals("value1")">
|
||||
<!-- order=0 -->
|
||||
</transition>
|
||||
<transition target="STATEZ">
|
||||
<!-- order=1 -->
|
||||
</transition>
|
||||
</state>
|
||||
<state id="STATE_EXTRA_1">
|
||||
<transition target="STATE_EXTRA_3" event="Events.EVENTY"/>
|
||||
<transition target="CANCEL" event="Events.EVENT_CANCEL_2"/>
|
||||
</state>
|
||||
<state id="STATEX">
|
||||
</state>
|
||||
<state id="STATE4">
|
||||
<transition target="STATE5" event="Events.EVENT4"/>
|
||||
<transition target="CANCEL" event="Events.EVENT_CANCEL"/>
|
||||
<transition target="STATEY" event="Events.EVENTY"/>
|
||||
</state>
|
||||
<state id="STATE3">
|
||||
<transition target="STATE4" event="Events.EVENT3"/>
|
||||
<transition target="CANCEL" event="Events.EVENT_CANCEL"/>
|
||||
</state>
|
||||
<state id="STATE2">
|
||||
<transition target="STATE3" event="Events.EVENT2"/>
|
||||
<transition target="CANCEL" event="Events.EVENT_CANCEL"/>
|
||||
<transition target="STATE_EXTRA_1" event="Events.EVENTX"/>
|
||||
<transition target="STATE1" cond="guardEventHeaderEquals("header1","foo")">
|
||||
<!-- order=0 -->
|
||||
</transition>
|
||||
<transition target="STATE_EXTRA_1">
|
||||
<!-- order=1 -->
|
||||
</transition>
|
||||
</state>
|
||||
<state id="STATE1">
|
||||
<transition target="STATE2" event="Events.EVENT1"/>
|
||||
<transition target="CANCEL" event="Events.EVENT_CANCEL"/>
|
||||
</state>
|
||||
<state id="STATE9">
|
||||
<transition target="STATE10" event="Events.EVENT9"/>
|
||||
<transition target="STATE8" cond="guardVarEquals("stepBack")">
|
||||
<!-- order=0 -->
|
||||
</transition>
|
||||
<transition target="STATE7" cond="guardVarEquals("stepBackMore")">
|
||||
<!-- order=1 -->
|
||||
</transition>
|
||||
<transition target="STATE6">
|
||||
<!-- order=2 -->
|
||||
</transition>
|
||||
</state>
|
||||
<state id="STATE8">
|
||||
<transition target="STATE9" event="Events.EVENT8"/>
|
||||
<transition target="STATE9" cond="guardVarEquals("forward9")">
|
||||
<!-- order=0 -->
|
||||
</transition>
|
||||
<transition target="STATE10">
|
||||
<!-- order=1 -->
|
||||
</transition>
|
||||
</state>
|
||||
<state id="STATE7">
|
||||
<transition target="STATE8" event="Events.EVENT7"/>
|
||||
</state>
|
||||
<state id="CANCEL">
|
||||
</state>
|
||||
<state id="STATE6">
|
||||
<transition target="STATE7" event="Events.EVENT6"/>
|
||||
</state>
|
||||
<state id="STATE20">
|
||||
<transition target="STATE5" cond="guardEventHeaderEquals("header2","bar")">
|
||||
<!-- order=0 -->
|
||||
</transition>
|
||||
<transition target="STATE1">
|
||||
<!-- order=1 -->
|
||||
</transition>
|
||||
</state>
|
||||
<state id="STATE5">
|
||||
<transition target="STATE6" event="Events.EVENT5"/>
|
||||
<transition target="CANCEL" event="Events.EVENT_CANCEL"/>
|
||||
</state>
|
||||
</scxml>
|
||||
|
||||
@@ -0,0 +1,87 @@
|
||||
digraph statemachine {
|
||||
rankdir=LR;
|
||||
node [shape=rounded, style=filled, fillcolor=white, fontname="Arial"];
|
||||
edge [fontname="Arial", fontsize=10];
|
||||
|
||||
STATEY_choice [shape=diamond, label="", fillcolor="blue", width=0.2, height=0.2];
|
||||
STATEY -> STATEY_choice [style=dotted, color="blue"];
|
||||
STATE16_choice [shape=diamond, label="", fillcolor="green", width=0.2, height=0.2];
|
||||
STATE16 -> STATE16_choice [style=dotted, color="green"];
|
||||
STATE17_choice [shape=diamond, label="", fillcolor="red", width=0.2, height=0.2];
|
||||
STATE17 -> STATE17_choice [style=dotted, color="red"];
|
||||
STATE18_choice [shape=diamond, label="", fillcolor="purple", width=0.2, height=0.2];
|
||||
STATE18 -> STATE18_choice [style=dotted, color="purple"];
|
||||
STATE19_choice [shape=diamond, label="", fillcolor="orange", width=0.2, height=0.2];
|
||||
STATE19 -> STATE19_choice [style=dotted, color="orange"];
|
||||
STATE20_choice [shape=diamond, label="", fillcolor="brown", width=0.2, height=0.2];
|
||||
STATE20 -> STATE20_choice [style=dotted, color="brown"];
|
||||
STATE11_choice [shape=diamond, label="", fillcolor="darkgreen", width=0.2, height=0.2];
|
||||
STATE11 -> STATE11_choice [style=dotted, color="darkgreen"];
|
||||
STATE12_choice [shape=diamond, label="", fillcolor="darkblue", width=0.2, height=0.2];
|
||||
STATE12 -> STATE12_choice [style=dotted, color="darkblue"];
|
||||
STATE14_choice [shape=diamond, label="", fillcolor="blue", width=0.2, height=0.2];
|
||||
STATE14 -> STATE14_choice [style=dotted, color="blue"];
|
||||
STATE9_choice [shape=diamond, label="", fillcolor="green", width=0.2, height=0.2];
|
||||
STATE9 -> STATE9_choice [style=dotted, color="green"];
|
||||
STATE8_choice [shape=diamond, label="", fillcolor="red", width=0.2, height=0.2];
|
||||
STATE8 -> STATE8_choice [style=dotted, color="red"];
|
||||
STATE_EXTRA_1_2_choice [shape=diamond, label="", fillcolor="purple", width=0.2, height=0.2];
|
||||
STATE_EXTRA_1_2 -> STATE_EXTRA_1_2_choice [style=dotted, color="purple"];
|
||||
_start [shape=circle, label="", fillcolor=black, width=0.1];
|
||||
_start -> STATE1;
|
||||
STATEZ [fillcolor=lightgray];
|
||||
STATE1 -> STATE2 [label="Events.EVENT1", style="solid", color="black"];
|
||||
STATE2 -> STATE3 [label="Events.EVENT2", style="solid", color="black"];
|
||||
STATE3 -> STATE4 [label="Events.EVENT3", style="solid", color="black"];
|
||||
STATE4 -> STATE5 [label="Events.EVENT4", style="solid", color="black"];
|
||||
STATE5 -> STATE6 [label="Events.EVENT5", style="solid", color="black"];
|
||||
STATE6 -> STATE7 [label="Events.EVENT6", style="solid", color="black"];
|
||||
STATE7 -> STATE8 [label="Events.EVENT7", style="solid", color="black"];
|
||||
STATE8 -> STATE9 [label="Events.EVENT8", style="solid", color="black"];
|
||||
STATE9 -> STATE10 [label="Events.EVENT9", style="solid", color="black"];
|
||||
STATE10 -> STATE11 [label="Events.EVENT10", style="solid", color="black"];
|
||||
STATE11 -> STATE12 [label="Events.EVENT11", style="solid", color="black"];
|
||||
STATE12 -> STATE13 [label="Events.EVENT12", style="solid", color="black"];
|
||||
STATE13 -> STATE14 [label="Events.EVENT13", style="solid", color="black"];
|
||||
STATE14 -> STATE15 [label="Events.EVENT14", style="solid", color="black"];
|
||||
STATE15 -> STATE16 [label="Events.EVENT15", style="solid", color="black"];
|
||||
STATE1 -> CANCEL [label="Events.EVENT_CANCEL", style="solid", color="black"];
|
||||
STATE2 -> CANCEL [label="Events.EVENT_CANCEL", style="solid", color="black"];
|
||||
STATE3 -> CANCEL [label="Events.EVENT_CANCEL", style="solid", color="black"];
|
||||
STATE4 -> CANCEL [label="Events.EVENT_CANCEL", style="solid", color="black"];
|
||||
STATE5 -> CANCEL [label="Events.EVENT_CANCEL", style="solid", color="black"];
|
||||
STATE4 -> STATEY [label="Events.EVENTY", style="solid", color="black"];
|
||||
STATEY_choice -> STATEX [label="[guardVarEquals(\"value1\")] (order=0)", style="solid", color="blue"];
|
||||
STATEY_choice -> STATEZ [label="(order=1)", style="solid", color="blue"];
|
||||
STATE16_choice -> STATE17 [label="[guardVarEquals(\"value1\")] (order=0)", style="solid", color="green"];
|
||||
STATE16_choice -> STATE18 [label="[guardVarEquals(\"value2\")] (order=1)", style="solid", color="green"];
|
||||
STATE16_choice -> STATE19 [label="(order=2)", style="solid", color="green"];
|
||||
STATE17_choice -> STATE20 [label="[guardEventHeaderEquals(\"header1\",\"foo\")] (order=0)", style="solid", color="red"];
|
||||
STATE17_choice -> STATE16 [label="(order=1)", style="solid", color="red"];
|
||||
STATE18_choice -> STATE19 [label="[guardVarEquals(\"value3\")] (order=0)", style="solid", color="purple"];
|
||||
STATE18_choice -> STATE20 [label="(order=1)", style="solid", color="purple"];
|
||||
STATE19_choice -> STATE1 [label="[guardVarEquals(\"reset\")] (order=0)", style="solid", color="orange"];
|
||||
STATE19_choice -> STATE20 [label="(order=1)", style="solid", color="orange"];
|
||||
STATE20_choice -> STATE5 [label="[guardEventHeaderEquals(\"header2\",\"bar\")] (order=0)", style="solid", color="brown"];
|
||||
STATE20_choice -> STATE1 [label="(order=1)", style="solid", color="brown"];
|
||||
STATE11_choice -> STATE13 [label="[guardVarEquals(\"goTo13\")] (order=0)", style="solid", color="darkgreen"];
|
||||
STATE11_choice -> STATE14 [label="[guardVarEquals(\"goTo14\")] (order=1)", style="solid", color="darkgreen"];
|
||||
STATE11_choice -> STATE15 [label="(order=2)", style="solid", color="darkgreen"];
|
||||
STATE12_choice -> STATE10 [label="[guardVarEquals(\"goBack10\")] (order=0)", style="solid", color="darkblue"];
|
||||
STATE12_choice -> STATE11 [label="(order=1)", style="solid", color="darkblue"];
|
||||
STATE14_choice -> STATE12 [label="[guardVarEquals(\"loop12\")] (order=0)", style="solid", color="blue"];
|
||||
STATE14_choice -> STATE16 [label="(order=1)", style="solid", color="blue"];
|
||||
STATE9_choice -> STATE8 [label="[guardVarEquals(\"stepBack\")] (order=0)", style="solid", color="green"];
|
||||
STATE9_choice -> STATE7 [label="[guardVarEquals(\"stepBackMore\")] (order=1)", style="solid", color="green"];
|
||||
STATE9_choice -> STATE6 [label="(order=2)", style="solid", color="green"];
|
||||
STATE8_choice -> STATE9 [label="[guardVarEquals(\"forward9\")] (order=0)", style="solid", color="red"];
|
||||
STATE8_choice -> STATE10 [label="(order=1)", style="solid", color="red"];
|
||||
STATE9 -> STATE_EXTRA_1_1 [label="Events.EVENT_1_1", style="solid", color="black"];
|
||||
STATE_EXTRA_1_2_choice -> STATE_EXTRA_1_1 [label="[guardEventHeaderEquals(\"header1\",\"foo\")] (order=0)", style="solid", color="purple"];
|
||||
STATE_EXTRA_1_2_choice -> STATE_EXTRA_1_3 [label="(order=1)", style="solid", color="purple"];
|
||||
STATE_EXTRA_1_3 -> STATE_EXTRA_1 [label="Events.EVENT_1_2", style="solid", color="black"];
|
||||
STATE_EXTRA_1_1 -> CANCEL [label="Events.EVENT_CANCEL_2", style="solid", color="black"];
|
||||
STATE_EXTRA_1_2 -> CANCEL [label="Events.EVENT_CANCEL_2", style="solid", color="black"];
|
||||
STATE_EXTRA_1 -> CANCEL [label="Events.EVENT_CANCEL_2", style="solid", color="black"];
|
||||
}
|
||||
|
||||
@@ -0,0 +1,167 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<scxml xmlns="http://www.w3.org/2005/07/scxml" version="1.0" initial="STATE1">
|
||||
<state id="STATE_EXTRA_1_2">
|
||||
<transition target="STATE_EXTRA_1_1" cond="guardEventHeaderEquals("header1","foo")">
|
||||
<!-- order=0 -->
|
||||
</transition>
|
||||
<transition target="STATE_EXTRA_1_3">
|
||||
<!-- order=1 -->
|
||||
</transition>
|
||||
<transition target="CANCEL" event="Events.EVENT_CANCEL_2"/>
|
||||
</state>
|
||||
<state id="STATE_EXTRA_1_1">
|
||||
<transition target="CANCEL" event="Events.EVENT_CANCEL_2"/>
|
||||
</state>
|
||||
<state id="STATE_EXTRA_1_3">
|
||||
<transition target="STATE_EXTRA_1" event="Events.EVENT_1_2"/>
|
||||
</state>
|
||||
<state id="STATE19">
|
||||
<transition target="STATE1" cond="guardVarEquals("reset")">
|
||||
<!-- order=0 -->
|
||||
</transition>
|
||||
<transition target="STATE20">
|
||||
<!-- order=1 -->
|
||||
</transition>
|
||||
</state>
|
||||
<state id="STATE18">
|
||||
<transition target="STATE19" cond="guardVarEquals("value3")">
|
||||
<!-- order=0 -->
|
||||
</transition>
|
||||
<transition target="STATE20">
|
||||
<!-- order=1 -->
|
||||
</transition>
|
||||
</state>
|
||||
<state id="STATE15">
|
||||
<transition target="STATE16" event="Events.EVENT15"/>
|
||||
</state>
|
||||
<state id="STATE14">
|
||||
<transition target="STATE15" event="Events.EVENT14"/>
|
||||
<transition target="STATE12" cond="guardVarEquals("loop12")">
|
||||
<!-- order=0 -->
|
||||
</transition>
|
||||
<transition target="STATE16">
|
||||
<!-- order=1 -->
|
||||
</transition>
|
||||
</state>
|
||||
<state id="STATE17">
|
||||
<transition target="STATE20" cond="guardEventHeaderEquals("header1","foo")">
|
||||
<!-- order=0 -->
|
||||
</transition>
|
||||
<transition target="STATE16">
|
||||
<!-- order=1 -->
|
||||
</transition>
|
||||
</state>
|
||||
<state id="STATE16">
|
||||
<transition target="STATE17" cond="guardVarEquals("value1")">
|
||||
<!-- order=0 -->
|
||||
</transition>
|
||||
<transition target="STATE18" cond="guardVarEquals("value2")">
|
||||
<!-- order=1 -->
|
||||
</transition>
|
||||
<transition target="STATE19">
|
||||
<!-- order=2 -->
|
||||
</transition>
|
||||
</state>
|
||||
<state id="STATE11">
|
||||
<transition target="STATE12" event="Events.EVENT11"/>
|
||||
<transition target="STATE13" cond="guardVarEquals("goTo13")">
|
||||
<!-- order=0 -->
|
||||
</transition>
|
||||
<transition target="STATE14" cond="guardVarEquals("goTo14")">
|
||||
<!-- order=1 -->
|
||||
</transition>
|
||||
<transition target="STATE15">
|
||||
<!-- order=2 -->
|
||||
</transition>
|
||||
</state>
|
||||
<state id="STATE10">
|
||||
<transition target="STATE11" event="Events.EVENT10"/>
|
||||
</state>
|
||||
<state id="STATE13">
|
||||
<transition target="STATE14" event="Events.EVENT13"/>
|
||||
</state>
|
||||
<state id="STATEZ">
|
||||
</state>
|
||||
<state id="STATE12">
|
||||
<transition target="STATE13" event="Events.EVENT12"/>
|
||||
<transition target="STATE10" cond="guardVarEquals("goBack10")">
|
||||
<!-- order=0 -->
|
||||
</transition>
|
||||
<transition target="STATE11">
|
||||
<!-- order=1 -->
|
||||
</transition>
|
||||
</state>
|
||||
<state id="STATEY">
|
||||
<transition target="STATEX" cond="guardVarEquals("value1")">
|
||||
<!-- order=0 -->
|
||||
</transition>
|
||||
<transition target="STATEZ">
|
||||
<!-- order=1 -->
|
||||
</transition>
|
||||
</state>
|
||||
<state id="STATE_EXTRA_1">
|
||||
<transition target="CANCEL" event="Events.EVENT_CANCEL_2"/>
|
||||
</state>
|
||||
<state id="STATEX">
|
||||
</state>
|
||||
<state id="STATE4">
|
||||
<transition target="STATE5" event="Events.EVENT4"/>
|
||||
<transition target="CANCEL" event="Events.EVENT_CANCEL"/>
|
||||
<transition target="STATEY" event="Events.EVENTY"/>
|
||||
</state>
|
||||
<state id="STATE3">
|
||||
<transition target="STATE4" event="Events.EVENT3"/>
|
||||
<transition target="CANCEL" event="Events.EVENT_CANCEL"/>
|
||||
</state>
|
||||
<state id="STATE2">
|
||||
<transition target="STATE3" event="Events.EVENT2"/>
|
||||
<transition target="CANCEL" event="Events.EVENT_CANCEL"/>
|
||||
</state>
|
||||
<state id="STATE1">
|
||||
<transition target="STATE2" event="Events.EVENT1"/>
|
||||
<transition target="CANCEL" event="Events.EVENT_CANCEL"/>
|
||||
</state>
|
||||
<state id="STATE9">
|
||||
<transition target="STATE10" event="Events.EVENT9"/>
|
||||
<transition target="STATE8" cond="guardVarEquals("stepBack")">
|
||||
<!-- order=0 -->
|
||||
</transition>
|
||||
<transition target="STATE7" cond="guardVarEquals("stepBackMore")">
|
||||
<!-- order=1 -->
|
||||
</transition>
|
||||
<transition target="STATE6">
|
||||
<!-- order=2 -->
|
||||
</transition>
|
||||
<transition target="STATE_EXTRA_1_1" event="Events.EVENT_1_1"/>
|
||||
</state>
|
||||
<state id="STATE8">
|
||||
<transition target="STATE9" event="Events.EVENT8"/>
|
||||
<transition target="STATE9" cond="guardVarEquals("forward9")">
|
||||
<!-- order=0 -->
|
||||
</transition>
|
||||
<transition target="STATE10">
|
||||
<!-- order=1 -->
|
||||
</transition>
|
||||
</state>
|
||||
<state id="STATE7">
|
||||
<transition target="STATE8" event="Events.EVENT7"/>
|
||||
</state>
|
||||
<state id="CANCEL">
|
||||
</state>
|
||||
<state id="STATE6">
|
||||
<transition target="STATE7" event="Events.EVENT6"/>
|
||||
</state>
|
||||
<state id="STATE20">
|
||||
<transition target="STATE5" cond="guardEventHeaderEquals("header2","bar")">
|
||||
<!-- order=0 -->
|
||||
</transition>
|
||||
<transition target="STATE1">
|
||||
<!-- order=1 -->
|
||||
</transition>
|
||||
</state>
|
||||
<state id="STATE5">
|
||||
<transition target="STATE6" event="Events.EVENT5"/>
|
||||
<transition target="CANCEL" event="Events.EVENT_CANCEL"/>
|
||||
</state>
|
||||
</scxml>
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
digraph statemachine {
|
||||
rankdir=LR;
|
||||
node [shape=rounded, style=filled, fillcolor=white, fontname="Arial"];
|
||||
edge [fontname="Arial", fontsize=10];
|
||||
|
||||
_start [shape=circle, label="", fillcolor=black, width=0.1];
|
||||
_start -> START;
|
||||
END [fillcolor=lightgray];
|
||||
START -> FORK [label="Events.TO_FORK", style="solid", color="black"];
|
||||
FORK -> REGION1_STATE1 [style="bold", color="green"];
|
||||
FORK -> REGION2_STATE1 [style="bold", color="green"];
|
||||
REGION1_STATE1 -> REGION1_STATE2 [label="Events.R1_NEXT", style="solid", color="black"];
|
||||
REGION2_STATE1 -> REGION2_STATE2 [label="Events.R2_NEXT", style="solid", color="black"];
|
||||
REGION1_STATE2 -> JOIN [style="bold", color="darkorange"];
|
||||
REGION2_STATE2 -> JOIN [style="bold", color="darkorange"];
|
||||
JOIN -> END [label="Events.TO_END", style="solid", color="black"];
|
||||
}
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<scxml xmlns="http://www.w3.org/2005/07/scxml" version="1.0" initial="START">
|
||||
<state id="FORK">
|
||||
<transition target="REGION1_STATE1"/>
|
||||
<transition target="REGION2_STATE1"/>
|
||||
</state>
|
||||
<state id="END">
|
||||
</state>
|
||||
<state id="JOIN">
|
||||
<transition target="END" event="Events.TO_END"/>
|
||||
</state>
|
||||
<state id="REGION2_STATE1">
|
||||
<transition target="REGION2_STATE2" event="Events.R2_NEXT"/>
|
||||
</state>
|
||||
<state id="REGION2_STATE2">
|
||||
<transition target="JOIN"/>
|
||||
</state>
|
||||
<state id="START">
|
||||
<transition target="FORK" event="Events.TO_FORK"/>
|
||||
</state>
|
||||
<state id="REGION1_STATE2">
|
||||
<transition target="JOIN"/>
|
||||
</state>
|
||||
<state id="REGION1_STATE1">
|
||||
<transition target="REGION1_STATE2" event="Events.R1_NEXT"/>
|
||||
</state>
|
||||
</scxml>
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
digraph statemachine {
|
||||
rankdir=LR;
|
||||
node [shape=rounded, style=filled, fillcolor=white, fontname="Arial"];
|
||||
edge [fontname="Arial", fontsize=10];
|
||||
|
||||
STATEY_choice [shape=diamond, label="", fillcolor="blue", width=0.2, height=0.2];
|
||||
STATEY -> STATEY_choice [style=dotted, color="blue"];
|
||||
STATE9_choice [shape=diamond, label="", fillcolor="green", width=0.2, height=0.2];
|
||||
STATE9 -> STATE9_choice [style=dotted, color="green"];
|
||||
STATE8_choice [shape=diamond, label="", fillcolor="red", width=0.2, height=0.2];
|
||||
STATE8 -> STATE8_choice [style=dotted, color="red"];
|
||||
_start [shape=circle, label="", fillcolor=black, width=0.1];
|
||||
_start -> STATE1;
|
||||
STATEZ [fillcolor=lightgray];
|
||||
STATE1 -> STATE2 [label="Events.EVENT1", style="solid", color="black"];
|
||||
STATE2 -> STATE3 [label="Events.EVENT2", style="solid", color="black"];
|
||||
STATE3 -> STATE4 [label="Events.EVENT3", style="solid", color="black"];
|
||||
STATE4 -> STATE5 [label="Events.EVENT4", style="solid", color="black"];
|
||||
STATE5 -> STATE6 [label="Events.EVENT5", style="solid", color="black"];
|
||||
STATE6 -> STATE7 [label="Events.EVENT6", style="solid", color="black"];
|
||||
STATE7 -> STATE8 [label="Events.EVENT7", style="solid", color="black"];
|
||||
STATE8 -> STATE9 [label="Events.EVENT8", style="solid", color="black"];
|
||||
STATE9 -> STATE10 [label="Events.EVENT9", style="solid", color="black"];
|
||||
STATE1 -> CANCEL [label="Events.EVENT_CANCEL", style="solid", color="black"];
|
||||
STATE2 -> CANCEL [label="Events.EVENT_CANCEL", style="solid", color="black"];
|
||||
STATE3 -> CANCEL [label="Events.EVENT_CANCEL", style="solid", color="black"];
|
||||
STATE4 -> CANCEL [label="Events.EVENT_CANCEL", style="solid", color="black"];
|
||||
STATE5 -> CANCEL [label="Events.EVENT_CANCEL", style="solid", color="black"];
|
||||
STATE4 -> STATEY [label="Events.EVENTY", style="solid", color="black"];
|
||||
STATEY_choice -> STATEX [label="[guardVarEquals(\"value1\")] (order=0)", style="solid", color="blue"];
|
||||
STATEY_choice -> STATEZ [label="(order=1)", style="solid", color="blue"];
|
||||
STATE9_choice -> STATE8 [label="[guardVarEquals(\"stepBack\")] (order=0)", style="solid", color="green"];
|
||||
STATE9_choice -> STATE7 [label="[guardVarEquals(\"stepBackMore\")] (order=1)", style="solid", color="green"];
|
||||
STATE9_choice -> STATE6 [label="(order=2)", style="solid", color="green"];
|
||||
STATE8_choice -> STATE9 [label="[guardVarEquals(\"forward9\")] (order=0)", style="solid", color="red"];
|
||||
STATE8_choice -> STATE10 [label="(order=1)", style="solid", color="red"];
|
||||
STATE3 -> STATE_EXTRA_2 [label="Events.EVENT_1_2", style="solid", color="black"];
|
||||
STATE_EXTRA_2 -> STATE_EXTRA_3 [label="Events.EVENT_1_2", style="solid", color="black"];
|
||||
STATE_EXTRA_3 -> CANCEL [label="Events.EVENT_CANCEL", style="solid", color="black"];
|
||||
}
|
||||
|
||||
@@ -0,0 +1,75 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<scxml xmlns="http://www.w3.org/2005/07/scxml" version="1.0" initial="STATE1">
|
||||
<state id="STATE4">
|
||||
<transition target="STATE5" event="Events.EVENT4"/>
|
||||
<transition target="CANCEL" event="Events.EVENT_CANCEL"/>
|
||||
<transition target="STATEY" event="Events.EVENTY"/>
|
||||
</state>
|
||||
<state id="STATE3">
|
||||
<transition target="STATE4" event="Events.EVENT3"/>
|
||||
<transition target="CANCEL" event="Events.EVENT_CANCEL"/>
|
||||
<transition target="STATE_EXTRA_2" event="Events.EVENT_1_2"/>
|
||||
</state>
|
||||
<state id="STATE2">
|
||||
<transition target="STATE3" event="Events.EVENT2"/>
|
||||
<transition target="CANCEL" event="Events.EVENT_CANCEL"/>
|
||||
</state>
|
||||
<state id="STATE1">
|
||||
<transition target="STATE2" event="Events.EVENT1"/>
|
||||
<transition target="CANCEL" event="Events.EVENT_CANCEL"/>
|
||||
</state>
|
||||
<state id="STATE10">
|
||||
</state>
|
||||
<state id="STATE_EXTRA_3">
|
||||
<transition target="CANCEL" event="Events.EVENT_CANCEL"/>
|
||||
</state>
|
||||
<state id="STATEZ">
|
||||
</state>
|
||||
<state id="STATE_EXTRA_2">
|
||||
<transition target="STATE_EXTRA_3" event="Events.EVENT_1_2"/>
|
||||
</state>
|
||||
<state id="STATE9">
|
||||
<transition target="STATE10" event="Events.EVENT9"/>
|
||||
<transition target="STATE8" cond="guardVarEquals("stepBack")">
|
||||
<!-- order=0 -->
|
||||
</transition>
|
||||
<transition target="STATE7" cond="guardVarEquals("stepBackMore")">
|
||||
<!-- order=1 -->
|
||||
</transition>
|
||||
<transition target="STATE6">
|
||||
<!-- order=2 -->
|
||||
</transition>
|
||||
</state>
|
||||
<state id="STATEY">
|
||||
<transition target="STATEX" cond="guardVarEquals("value1")">
|
||||
<!-- order=0 -->
|
||||
</transition>
|
||||
<transition target="STATEZ">
|
||||
<!-- order=1 -->
|
||||
</transition>
|
||||
</state>
|
||||
<state id="STATE8">
|
||||
<transition target="STATE9" event="Events.EVENT8"/>
|
||||
<transition target="STATE9" cond="guardVarEquals("forward9")">
|
||||
<!-- order=0 -->
|
||||
</transition>
|
||||
<transition target="STATE10">
|
||||
<!-- order=1 -->
|
||||
</transition>
|
||||
</state>
|
||||
<state id="STATEX">
|
||||
</state>
|
||||
<state id="STATE7">
|
||||
<transition target="STATE8" event="Events.EVENT7"/>
|
||||
</state>
|
||||
<state id="CANCEL">
|
||||
</state>
|
||||
<state id="STATE6">
|
||||
<transition target="STATE7" event="Events.EVENT6"/>
|
||||
</state>
|
||||
<state id="STATE5">
|
||||
<transition target="STATE6" event="Events.EVENT5"/>
|
||||
<transition target="CANCEL" event="Events.EVENT_CANCEL"/>
|
||||
</state>
|
||||
</scxml>
|
||||
|
||||
@@ -0,0 +1,42 @@
|
||||
digraph statemachine {
|
||||
rankdir=LR;
|
||||
node [shape=rounded, style=filled, fillcolor=white, fontname="Arial"];
|
||||
edge [fontname="Arial", fontsize=10];
|
||||
|
||||
STATEY_choice [shape=diamond, label="", fillcolor="blue", width=0.2, height=0.2];
|
||||
STATEY -> STATEY_choice [style=dotted, color="blue"];
|
||||
STATE9_choice [shape=diamond, label="", fillcolor="green", width=0.2, height=0.2];
|
||||
STATE9 -> STATE9_choice [style=dotted, color="green"];
|
||||
STATE8_choice [shape=diamond, label="", fillcolor="red", width=0.2, height=0.2];
|
||||
STATE8 -> STATE8_choice [style=dotted, color="red"];
|
||||
_start [shape=circle, label="", fillcolor=black, width=0.1];
|
||||
_start -> STATE1;
|
||||
STATEZ [fillcolor=lightgray];
|
||||
STATE1 -> STATE2 [label="Events.EVENT1", style="solid", color="black"];
|
||||
STATE2 -> STATE3 [label="Events.EVENT2", style="solid", color="black"];
|
||||
STATE3 -> STATE4 [label="Events.EVENT3", style="solid", color="black"];
|
||||
STATE4 -> STATE5 [label="Events.EVENT4", style="solid", color="black"];
|
||||
STATE5 -> STATE6 [label="Events.EVENT5", style="solid", color="black"];
|
||||
STATE6 -> STATE7 [label="Events.EVENT6", style="solid", color="black"];
|
||||
STATE7 -> STATE8 [label="Events.EVENT7", style="solid", color="black"];
|
||||
STATE8 -> STATE9 [label="Events.EVENT8", style="solid", color="black"];
|
||||
STATE9 -> STATE10 [label="Events.EVENT9", style="solid", color="black"];
|
||||
STATE1 -> CANCEL [label="Events.EVENT_CANCEL", style="solid", color="black"];
|
||||
STATE2 -> CANCEL [label="Events.EVENT_CANCEL", style="solid", color="black"];
|
||||
STATE3 -> CANCEL [label="Events.EVENT_CANCEL", style="solid", color="black"];
|
||||
STATE4 -> CANCEL [label="Events.EVENT_CANCEL", style="solid", color="black"];
|
||||
STATE5 -> CANCEL [label="Events.EVENT_CANCEL", style="solid", color="black"];
|
||||
STATE4 -> STATEY [label="Events.EVENTY", style="solid", color="black"];
|
||||
STATEY_choice -> STATEX [label="[guardVarEquals(\"value1\")] (order=0)", style="solid", color="blue"];
|
||||
STATEY_choice -> STATEZ [label="(order=1)", style="solid", color="blue"];
|
||||
STATE9_choice -> STATE8 [label="[guardVarEquals(\"stepBack\")] (order=0)", style="solid", color="green"];
|
||||
STATE9_choice -> STATE7 [label="[guardVarEquals(\"stepBackMore\")] (order=1)", style="solid", color="green"];
|
||||
STATE9_choice -> STATE6 [label="(order=2)", style="solid", color="green"];
|
||||
STATE8_choice -> STATE9 [label="[guardVarEquals(\"forward9\")] (order=0)", style="solid", color="red"];
|
||||
STATE8_choice -> STATE10 [label="(order=1)", style="solid", color="red"];
|
||||
STATE3 -> STATE_EXTRA_1 [label="Events.EVENT_1_2", style="solid", color="black"];
|
||||
STATE_EXTRA_1 -> STATE_EXTRA_2 [label="Events.EVENT_1_3", style="solid", color="black"];
|
||||
STATE_EXTRA_1 -> CANCEL [label="Events.EVENT_CANCEL", style="solid", color="black"];
|
||||
STATE_EXTRA_2 -> CANCEL [label="Events.EVENT_CANCEL", style="solid", color="black"];
|
||||
}
|
||||
|
||||
@@ -0,0 +1,76 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<scxml xmlns="http://www.w3.org/2005/07/scxml" version="1.0" initial="STATE1">
|
||||
<state id="STATE4">
|
||||
<transition target="STATE5" event="Events.EVENT4"/>
|
||||
<transition target="CANCEL" event="Events.EVENT_CANCEL"/>
|
||||
<transition target="STATEY" event="Events.EVENTY"/>
|
||||
</state>
|
||||
<state id="STATE3">
|
||||
<transition target="STATE4" event="Events.EVENT3"/>
|
||||
<transition target="CANCEL" event="Events.EVENT_CANCEL"/>
|
||||
<transition target="STATE_EXTRA_1" event="Events.EVENT_1_2"/>
|
||||
</state>
|
||||
<state id="STATE2">
|
||||
<transition target="STATE3" event="Events.EVENT2"/>
|
||||
<transition target="CANCEL" event="Events.EVENT_CANCEL"/>
|
||||
</state>
|
||||
<state id="STATE1">
|
||||
<transition target="STATE2" event="Events.EVENT1"/>
|
||||
<transition target="CANCEL" event="Events.EVENT_CANCEL"/>
|
||||
</state>
|
||||
<state id="STATE10">
|
||||
</state>
|
||||
<state id="STATEZ">
|
||||
</state>
|
||||
<state id="STATE_EXTRA_2">
|
||||
<transition target="CANCEL" event="Events.EVENT_CANCEL"/>
|
||||
</state>
|
||||
<state id="STATE9">
|
||||
<transition target="STATE10" event="Events.EVENT9"/>
|
||||
<transition target="STATE8" cond="guardVarEquals("stepBack")">
|
||||
<!-- order=0 -->
|
||||
</transition>
|
||||
<transition target="STATE7" cond="guardVarEquals("stepBackMore")">
|
||||
<!-- order=1 -->
|
||||
</transition>
|
||||
<transition target="STATE6">
|
||||
<!-- order=2 -->
|
||||
</transition>
|
||||
</state>
|
||||
<state id="STATEY">
|
||||
<transition target="STATEX" cond="guardVarEquals("value1")">
|
||||
<!-- order=0 -->
|
||||
</transition>
|
||||
<transition target="STATEZ">
|
||||
<!-- order=1 -->
|
||||
</transition>
|
||||
</state>
|
||||
<state id="STATE_EXTRA_1">
|
||||
<transition target="STATE_EXTRA_2" event="Events.EVENT_1_3"/>
|
||||
<transition target="CANCEL" event="Events.EVENT_CANCEL"/>
|
||||
</state>
|
||||
<state id="STATE8">
|
||||
<transition target="STATE9" event="Events.EVENT8"/>
|
||||
<transition target="STATE9" cond="guardVarEquals("forward9")">
|
||||
<!-- order=0 -->
|
||||
</transition>
|
||||
<transition target="STATE10">
|
||||
<!-- order=1 -->
|
||||
</transition>
|
||||
</state>
|
||||
<state id="STATEX">
|
||||
</state>
|
||||
<state id="STATE7">
|
||||
<transition target="STATE8" event="Events.EVENT7"/>
|
||||
</state>
|
||||
<state id="CANCEL">
|
||||
</state>
|
||||
<state id="STATE6">
|
||||
<transition target="STATE7" event="Events.EVENT6"/>
|
||||
</state>
|
||||
<state id="STATE5">
|
||||
<transition target="STATE6" event="Events.EVENT5"/>
|
||||
<transition target="CANCEL" event="Events.EVENT_CANCEL"/>
|
||||
</state>
|
||||
</scxml>
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
digraph statemachine {
|
||||
rankdir=LR;
|
||||
node [shape=rounded, style=filled, fillcolor=white, fontname="Arial"];
|
||||
edge [fontname="Arial", fontsize=10];
|
||||
|
||||
PAID1_choice [shape=diamond, label="", fillcolor="blue", width=0.2, height=0.2];
|
||||
PAID1 -> PAID1_choice [style=dotted, color="blue"];
|
||||
_start [shape=circle, label="", fillcolor=black, width=0.1];
|
||||
_start -> SUBMITTED;
|
||||
CANCELED [fillcolor=lightgray];
|
||||
FULFILLED [fillcolor=lightgray];
|
||||
SUBMITTED -> PAID [label="OrderEvents.PAY", style="solid", color="black"];
|
||||
PAID -> FULFILLED [label="OrderEvents.FULFILL", style="solid", color="black"];
|
||||
SUBMITTED -> CANCELED [label="OrderEvents.CANCEL [λ]", style="solid", color="black"];
|
||||
PAID -> CANCELED [label="OrderEvents.CANCEL", style="solid", color="black"];
|
||||
SUBMITTED -> SUBMITTED [label="OrderEvents.ABCD", style="solid", color="black"];
|
||||
SUBMITTED -> PAID1 [label="OrderEvents.ABCD", style="solid", color="black"];
|
||||
PAID1_choice -> PAID2 [label="[λ] (order=0)", style="solid", color="blue"];
|
||||
PAID1_choice -> PAID3 [label="[guard1] (order=1)", style="solid", color="blue"];
|
||||
PAID1_choice -> HAPPEN [label="[λ] (order=2)", style="solid", color="blue"];
|
||||
PAID1_choice -> CANCELED [label="(order=3)", style="solid", color="blue"];
|
||||
PAID2 -> CANCELED [style="solid", color="black"];
|
||||
PAID3 -> CANCELED [style="solid", color="black"];
|
||||
PAID2 -> PAID2 [label="OrderEvents.ABCD / λ, action2", style="solid", color="black"];
|
||||
}
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<scxml xmlns="http://www.w3.org/2005/07/scxml" version="1.0" initial="SUBMITTED">
|
||||
<state id="PAID1">
|
||||
<transition target="PAID2" cond="λ">
|
||||
<!-- order=0 -->
|
||||
</transition>
|
||||
<transition target="PAID3" cond="guard1">
|
||||
<!-- order=1 -->
|
||||
</transition>
|
||||
<transition target="HAPPEN" cond="λ">
|
||||
<!-- order=2 -->
|
||||
</transition>
|
||||
<transition target="CANCELED">
|
||||
<!-- order=3 -->
|
||||
</transition>
|
||||
</state>
|
||||
<state id="SUBMITTED">
|
||||
<transition target="PAID" event="OrderEvents.PAY"/>
|
||||
<transition target="CANCELED" event="OrderEvents.CANCEL" cond="λ"/>
|
||||
<transition target="SUBMITTED" event="OrderEvents.ABCD"/>
|
||||
<transition target="PAID1" event="OrderEvents.ABCD"/>
|
||||
</state>
|
||||
<state id="PAID">
|
||||
<transition target="FULFILLED" event="OrderEvents.FULFILL"/>
|
||||
<transition target="CANCELED" event="OrderEvents.CANCEL"/>
|
||||
</state>
|
||||
<state id="CANCELED">
|
||||
</state>
|
||||
<state id="FULFILLED">
|
||||
</state>
|
||||
<state id="PAID3">
|
||||
<transition target="CANCELED"/>
|
||||
</state>
|
||||
<state id="HAPPEN">
|
||||
</state>
|
||||
<state id="PAID2">
|
||||
<transition target="CANCELED"/>
|
||||
<transition target="PAID2" event="OrderEvents.ABCD"/>
|
||||
</state>
|
||||
</scxml>
|
||||
|
||||
@@ -0,0 +1,74 @@
|
||||
digraph statemachine {
|
||||
rankdir=LR;
|
||||
node [shape=rounded, style=filled, fillcolor=white, fontname="Arial"];
|
||||
edge [fontname="Arial", fontsize=10];
|
||||
|
||||
STATEY_choice [shape=diamond, label="", fillcolor="blue", width=0.2, height=0.2];
|
||||
STATEY -> STATEY_choice [style=dotted, color="blue"];
|
||||
STATE16_choice [shape=diamond, label="", fillcolor="green", width=0.2, height=0.2];
|
||||
STATE16 -> STATE16_choice [style=dotted, color="green"];
|
||||
STATE17_choice [shape=diamond, label="", fillcolor="red", width=0.2, height=0.2];
|
||||
STATE17 -> STATE17_choice [style=dotted, color="red"];
|
||||
STATE18_choice [shape=diamond, label="", fillcolor="purple", width=0.2, height=0.2];
|
||||
STATE18 -> STATE18_choice [style=dotted, color="purple"];
|
||||
STATE19_choice [shape=diamond, label="", fillcolor="orange", width=0.2, height=0.2];
|
||||
STATE19 -> STATE19_choice [style=dotted, color="orange"];
|
||||
STATE20_choice [shape=diamond, label="", fillcolor="brown", width=0.2, height=0.2];
|
||||
STATE20 -> STATE20_choice [style=dotted, color="brown"];
|
||||
STATE11_choice [shape=diamond, label="", fillcolor="darkgreen", width=0.2, height=0.2];
|
||||
STATE11 -> STATE11_choice [style=dotted, color="darkgreen"];
|
||||
STATE12_choice [shape=diamond, label="", fillcolor="darkblue", width=0.2, height=0.2];
|
||||
STATE12 -> STATE12_choice [style=dotted, color="darkblue"];
|
||||
STATE14_choice [shape=diamond, label="", fillcolor="blue", width=0.2, height=0.2];
|
||||
STATE14 -> STATE14_choice [style=dotted, color="blue"];
|
||||
STATE9_choice [shape=diamond, label="", fillcolor="green", width=0.2, height=0.2];
|
||||
STATE9 -> STATE9_choice [style=dotted, color="green"];
|
||||
STATE8_choice [shape=diamond, label="", fillcolor="red", width=0.2, height=0.2];
|
||||
STATE8 -> STATE8_choice [style=dotted, color="red"];
|
||||
_start [shape=circle, label="", fillcolor=black, width=0.1];
|
||||
_start -> STATE1;
|
||||
STATEZ [fillcolor=lightgray];
|
||||
STATE1 -> STATE2 [label="Events.EVENT1", style="solid", color="black"];
|
||||
STATE2 -> STATE3 [label="Events.EVENT2", style="solid", color="black"];
|
||||
STATE3 -> STATE4 [label="Events.EVENT3", style="solid", color="black"];
|
||||
STATE4 -> STATE5 [label="Events.EVENT4", style="solid", color="black"];
|
||||
STATE5 -> STATE6 [label="Events.EVENT5", style="solid", color="black"];
|
||||
STATE6 -> STATE7 [label="Events.EVENT6", style="solid", color="black"];
|
||||
STATE7 -> STATE8 [label="Events.EVENT7", style="solid", color="black"];
|
||||
STATE8 -> STATE9 [label="Events.EVENT8", style="solid", color="black"];
|
||||
STATE9 -> STATE10 [label="Events.EVENT9", style="solid", color="black"];
|
||||
STATE10 -> STATE11 [label="Events.EVENT10", style="solid", color="black"];
|
||||
STATE11 -> STATE12 [label="Events.EVENT11", style="solid", color="black"];
|
||||
STATE12 -> STATE13 [label="Events.EVENT12", style="solid", color="black"];
|
||||
STATE13 -> STATE14 [label="Events.EVENT13", style="solid", color="black"];
|
||||
STATE14 -> STATE15 [label="Events.EVENT14", style="solid", color="black"];
|
||||
STATE15 -> STATE16 [label="Events.EVENT15", style="solid", color="black"];
|
||||
STATE4 -> STATEY [label="Events.EVENTY", style="solid", color="black"];
|
||||
STATEY_choice -> STATEX [label="[guardVarEquals(\"value1\")] (order=0)", style="solid", color="blue"];
|
||||
STATEY_choice -> STATEZ [label="(order=1)", style="solid", color="blue"];
|
||||
STATE16_choice -> STATE17 [label="[guardVarEquals(\"value1\")] (order=0)", style="solid", color="green"];
|
||||
STATE16_choice -> STATE18 [label="[guardVarEquals(\"value2\")] (order=1)", style="solid", color="green"];
|
||||
STATE16_choice -> STATE19 [label="(order=2)", style="solid", color="green"];
|
||||
STATE17_choice -> STATE20 [label="[guardEventHeaderEquals(\"header1\",\"foo\")] (order=0)", style="solid", color="red"];
|
||||
STATE17_choice -> STATE16 [label="(order=1)", style="solid", color="red"];
|
||||
STATE18_choice -> STATE19 [label="[guardVarEquals(\"value3\")] (order=0)", style="solid", color="purple"];
|
||||
STATE18_choice -> STATE20 [label="(order=1)", style="solid", color="purple"];
|
||||
STATE19_choice -> STATE1 [label="[guardVarEquals(\"reset\")] (order=0)", style="solid", color="orange"];
|
||||
STATE19_choice -> STATE20 [label="(order=1)", style="solid", color="orange"];
|
||||
STATE20_choice -> STATE5 [label="[guardEventHeaderEquals(\"header2\",\"bar\")] (order=0)", style="solid", color="brown"];
|
||||
STATE20_choice -> STATE1 [label="(order=1)", style="solid", color="brown"];
|
||||
STATE11_choice -> STATE13 [label="[guardVarEquals(\"goTo13\")] (order=0)", style="solid", color="darkgreen"];
|
||||
STATE11_choice -> STATE14 [label="[guardVarEquals(\"goTo14\")] (order=1)", style="solid", color="darkgreen"];
|
||||
STATE11_choice -> STATE15 [label="(order=2)", style="solid", color="darkgreen"];
|
||||
STATE12_choice -> STATE10 [label="[guardVarEquals(\"goBack10\")] (order=0)", style="solid", color="darkblue"];
|
||||
STATE12_choice -> STATE11 [label="(order=1)", style="solid", color="darkblue"];
|
||||
STATE14_choice -> STATE12 [label="[guardVarEquals(\"loop12\")] (order=0)", style="solid", color="blue"];
|
||||
STATE14_choice -> STATE16 [label="(order=1)", style="solid", color="blue"];
|
||||
STATE9_choice -> STATE8 [label="[guardVarEquals(\"stepBack\")] (order=0)", style="solid", color="green"];
|
||||
STATE9_choice -> STATE7 [label="[guardVarEquals(\"stepBackMore\")] (order=1)", style="solid", color="green"];
|
||||
STATE9_choice -> STATE6 [label="(order=2)", style="solid", color="green"];
|
||||
STATE8_choice -> STATE9 [label="[guardVarEquals(\"forward9\")] (order=0)", style="solid", color="red"];
|
||||
STATE8_choice -> STATE10 [label="(order=1)", style="solid", color="red"];
|
||||
STATE5 -> STATE_EXTRA_1 [label="Events.EVENTX", style="solid", color="black"];
|
||||
}
|
||||
|
||||
@@ -0,0 +1,144 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<scxml xmlns="http://www.w3.org/2005/07/scxml" version="1.0" initial="STATE1">
|
||||
<state id="STATE4">
|
||||
<transition target="STATE5" event="Events.EVENT4"/>
|
||||
<transition target="STATEY" event="Events.EVENTY"/>
|
||||
</state>
|
||||
<state id="STATE3">
|
||||
<transition target="STATE4" event="Events.EVENT3"/>
|
||||
</state>
|
||||
<state id="STATE2">
|
||||
<transition target="STATE3" event="Events.EVENT2"/>
|
||||
</state>
|
||||
<state id="STATE1">
|
||||
<transition target="STATE2" event="Events.EVENT1"/>
|
||||
</state>
|
||||
<state id="STATE19">
|
||||
<transition target="STATE1" cond="guardVarEquals("reset")">
|
||||
<!-- order=0 -->
|
||||
</transition>
|
||||
<transition target="STATE20">
|
||||
<!-- order=1 -->
|
||||
</transition>
|
||||
</state>
|
||||
<state id="STATE18">
|
||||
<transition target="STATE19" cond="guardVarEquals("value3")">
|
||||
<!-- order=0 -->
|
||||
</transition>
|
||||
<transition target="STATE20">
|
||||
<!-- order=1 -->
|
||||
</transition>
|
||||
</state>
|
||||
<state id="STATE15">
|
||||
<transition target="STATE16" event="Events.EVENT15"/>
|
||||
</state>
|
||||
<state id="STATE14">
|
||||
<transition target="STATE15" event="Events.EVENT14"/>
|
||||
<transition target="STATE12" cond="guardVarEquals("loop12")">
|
||||
<!-- order=0 -->
|
||||
</transition>
|
||||
<transition target="STATE16">
|
||||
<!-- order=1 -->
|
||||
</transition>
|
||||
</state>
|
||||
<state id="STATE17">
|
||||
<transition target="STATE20" cond="guardEventHeaderEquals("header1","foo")">
|
||||
<!-- order=0 -->
|
||||
</transition>
|
||||
<transition target="STATE16">
|
||||
<!-- order=1 -->
|
||||
</transition>
|
||||
</state>
|
||||
<state id="STATE16">
|
||||
<transition target="STATE17" cond="guardVarEquals("value1")">
|
||||
<!-- order=0 -->
|
||||
</transition>
|
||||
<transition target="STATE18" cond="guardVarEquals("value2")">
|
||||
<!-- order=1 -->
|
||||
</transition>
|
||||
<transition target="STATE19">
|
||||
<!-- order=2 -->
|
||||
</transition>
|
||||
</state>
|
||||
<state id="STATE11">
|
||||
<transition target="STATE12" event="Events.EVENT11"/>
|
||||
<transition target="STATE13" cond="guardVarEquals("goTo13")">
|
||||
<!-- order=0 -->
|
||||
</transition>
|
||||
<transition target="STATE14" cond="guardVarEquals("goTo14")">
|
||||
<!-- order=1 -->
|
||||
</transition>
|
||||
<transition target="STATE15">
|
||||
<!-- order=2 -->
|
||||
</transition>
|
||||
</state>
|
||||
<state id="STATE10">
|
||||
<transition target="STATE11" event="Events.EVENT10"/>
|
||||
</state>
|
||||
<state id="STATE13">
|
||||
<transition target="STATE14" event="Events.EVENT13"/>
|
||||
</state>
|
||||
<state id="STATEZ">
|
||||
</state>
|
||||
<state id="STATE9">
|
||||
<transition target="STATE10" event="Events.EVENT9"/>
|
||||
<transition target="STATE8" cond="guardVarEquals("stepBack")">
|
||||
<!-- order=0 -->
|
||||
</transition>
|
||||
<transition target="STATE7" cond="guardVarEquals("stepBackMore")">
|
||||
<!-- order=1 -->
|
||||
</transition>
|
||||
<transition target="STATE6">
|
||||
<!-- order=2 -->
|
||||
</transition>
|
||||
</state>
|
||||
<state id="STATE12">
|
||||
<transition target="STATE13" event="Events.EVENT12"/>
|
||||
<transition target="STATE10" cond="guardVarEquals("goBack10")">
|
||||
<!-- order=0 -->
|
||||
</transition>
|
||||
<transition target="STATE11">
|
||||
<!-- order=1 -->
|
||||
</transition>
|
||||
</state>
|
||||
<state id="STATEY">
|
||||
<transition target="STATEX" cond="guardVarEquals("value1")">
|
||||
<!-- order=0 -->
|
||||
</transition>
|
||||
<transition target="STATEZ">
|
||||
<!-- order=1 -->
|
||||
</transition>
|
||||
</state>
|
||||
<state id="STATE_EXTRA_1">
|
||||
</state>
|
||||
<state id="STATE8">
|
||||
<transition target="STATE9" event="Events.EVENT8"/>
|
||||
<transition target="STATE9" cond="guardVarEquals("forward9")">
|
||||
<!-- order=0 -->
|
||||
</transition>
|
||||
<transition target="STATE10">
|
||||
<!-- order=1 -->
|
||||
</transition>
|
||||
</state>
|
||||
<state id="STATEX">
|
||||
</state>
|
||||
<state id="STATE7">
|
||||
<transition target="STATE8" event="Events.EVENT7"/>
|
||||
</state>
|
||||
<state id="STATE6">
|
||||
<transition target="STATE7" event="Events.EVENT6"/>
|
||||
</state>
|
||||
<state id="STATE20">
|
||||
<transition target="STATE5" cond="guardEventHeaderEquals("header2","bar")">
|
||||
<!-- order=0 -->
|
||||
</transition>
|
||||
<transition target="STATE1">
|
||||
<!-- order=1 -->
|
||||
</transition>
|
||||
</state>
|
||||
<state id="STATE5">
|
||||
<transition target="STATE6" event="Events.EVENT5"/>
|
||||
<transition target="STATE_EXTRA_1" event="Events.EVENTX"/>
|
||||
</state>
|
||||
</scxml>
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
digraph statemachine {
|
||||
rankdir=LR;
|
||||
node [shape=rounded, style=filled, fillcolor=white, fontname="Arial"];
|
||||
edge [fontname="Arial", fontsize=10];
|
||||
|
||||
SUBMITTED_choice [shape=diamond, label="", fillcolor="blue", width=0.2, height=0.2];
|
||||
SUBMITTED -> SUBMITTED_choice [style=dotted, color="blue"];
|
||||
PAID_choice [shape=diamond, label="", fillcolor="green", width=0.2, height=0.2];
|
||||
PAID -> PAID_choice [style=dotted, color="green"];
|
||||
_start [shape=circle, label="", fillcolor=black, width=0.1];
|
||||
_start -> SUBMITTED;
|
||||
CANCELED [fillcolor=lightgray];
|
||||
FULFILLED [fillcolor=lightgray];
|
||||
SUBMITTED -> PAID [label="OrderEvents.PAY", style="solid", color="black"];
|
||||
PAID -> FULFILLED [label="OrderEvents.FULFILL", style="solid", color="black"];
|
||||
SUBMITTED -> CANCELED [label="OrderEvents.CANCEL [λ]", style="solid", color="black"];
|
||||
PAID -> CANCELED [label="OrderEvents.CANCEL", style="solid", color="black"];
|
||||
SUBMITTED -> SUBMITTED [label="OrderEvents.ABCD", style="solid", color="black"];
|
||||
SUBMITTED_choice -> PAID2 [label="[λ] (order=0)", style="solid", color="blue"];
|
||||
SUBMITTED_choice -> PAID3 [label="(order=1)", style="solid", color="blue"];
|
||||
PAID_choice -> PAID1 [label="[λ] (order=0)", style="solid", color="green"];
|
||||
PAID_choice -> PAID2 [label="[guard1] (order=1)", style="solid", color="green"];
|
||||
PAID_choice -> HAPPEN [label="[λ] (order=2)", style="solid", color="green"];
|
||||
PAID_choice -> PAID3 [label="(order=3)", style="solid", color="green"];
|
||||
PAID2 -> CANCELED [style="solid", color="black"];
|
||||
PAID3 -> CANCELED [style="solid", color="black"];
|
||||
PAID1 -> PAID1 [label="OrderEvents.ABCD / λ, action2", style="solid", color="black"];
|
||||
}
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<scxml xmlns="http://www.w3.org/2005/07/scxml" version="1.0" initial="SUBMITTED">
|
||||
<state id="PAID1">
|
||||
<transition target="PAID1" event="OrderEvents.ABCD"/>
|
||||
</state>
|
||||
<state id="SUBMITTED">
|
||||
<transition target="PAID" event="OrderEvents.PAY"/>
|
||||
<transition target="CANCELED" event="OrderEvents.CANCEL" cond="λ"/>
|
||||
<transition target="SUBMITTED" event="OrderEvents.ABCD"/>
|
||||
<transition target="PAID2" cond="λ">
|
||||
<!-- order=0 -->
|
||||
</transition>
|
||||
<transition target="PAID3">
|
||||
<!-- order=1 -->
|
||||
</transition>
|
||||
</state>
|
||||
<state id="PAID">
|
||||
<transition target="FULFILLED" event="OrderEvents.FULFILL"/>
|
||||
<transition target="CANCELED" event="OrderEvents.CANCEL"/>
|
||||
<transition target="PAID1" cond="λ">
|
||||
<!-- order=0 -->
|
||||
</transition>
|
||||
<transition target="PAID2" cond="guard1">
|
||||
<!-- order=1 -->
|
||||
</transition>
|
||||
<transition target="HAPPEN" cond="λ">
|
||||
<!-- order=2 -->
|
||||
</transition>
|
||||
<transition target="PAID3">
|
||||
<!-- order=3 -->
|
||||
</transition>
|
||||
</state>
|
||||
<state id="CANCELED">
|
||||
</state>
|
||||
<state id="FULFILLED">
|
||||
</state>
|
||||
<state id="PAID3">
|
||||
<transition target="CANCELED"/>
|
||||
</state>
|
||||
<state id="HAPPEN">
|
||||
</state>
|
||||
<state id="PAID2">
|
||||
<transition target="CANCELED"/>
|
||||
</state>
|
||||
</scxml>
|
||||
|
||||
@@ -0,0 +1,86 @@
|
||||
digraph statemachine {
|
||||
rankdir=LR;
|
||||
node [shape=rounded, style=filled, fillcolor=white, fontname="Arial"];
|
||||
edge [fontname="Arial", fontsize=10];
|
||||
|
||||
STATEY_choice [shape=diamond, label="", fillcolor="blue", width=0.2, height=0.2];
|
||||
STATEY -> STATEY_choice [style=dotted, color="blue"];
|
||||
STATE16_choice [shape=diamond, label="", fillcolor="green", width=0.2, height=0.2];
|
||||
STATE16 -> STATE16_choice [style=dotted, color="green"];
|
||||
STATE17_choice [shape=diamond, label="", fillcolor="red", width=0.2, height=0.2];
|
||||
STATE17 -> STATE17_choice [style=dotted, color="red"];
|
||||
STATE18_choice [shape=diamond, label="", fillcolor="purple", width=0.2, height=0.2];
|
||||
STATE18 -> STATE18_choice [style=dotted, color="purple"];
|
||||
STATE19_choice [shape=diamond, label="", fillcolor="orange", width=0.2, height=0.2];
|
||||
STATE19 -> STATE19_choice [style=dotted, color="orange"];
|
||||
STATE20_choice [shape=diamond, label="", fillcolor="brown", width=0.2, height=0.2];
|
||||
STATE20 -> STATE20_choice [style=dotted, color="brown"];
|
||||
STATE11_choice [shape=diamond, label="", fillcolor="darkgreen", width=0.2, height=0.2];
|
||||
STATE11 -> STATE11_choice [style=dotted, color="darkgreen"];
|
||||
STATE12_choice [shape=diamond, label="", fillcolor="darkblue", width=0.2, height=0.2];
|
||||
STATE12 -> STATE12_choice [style=dotted, color="darkblue"];
|
||||
STATE14_choice [shape=diamond, label="", fillcolor="blue", width=0.2, height=0.2];
|
||||
STATE14 -> STATE14_choice [style=dotted, color="blue"];
|
||||
STATE9_choice [shape=diamond, label="", fillcolor="green", width=0.2, height=0.2];
|
||||
STATE9 -> STATE9_choice [style=dotted, color="green"];
|
||||
STATE8_choice [shape=diamond, label="", fillcolor="red", width=0.2, height=0.2];
|
||||
STATE8 -> STATE8_choice [style=dotted, color="red"];
|
||||
STATE2_choice [shape=diamond, label="", fillcolor="purple", width=0.2, height=0.2];
|
||||
STATE2 -> STATE2_choice [style=dotted, color="purple"];
|
||||
_start [shape=circle, label="", fillcolor=black, width=0.1];
|
||||
_start -> STATE1;
|
||||
STATEZ [fillcolor=lightgray];
|
||||
STATE1 -> STATE2 [label="Events.EVENT1", style="solid", color="black"];
|
||||
STATE2 -> STATE3 [label="Events.EVENT2", style="solid", color="black"];
|
||||
STATE3 -> STATE4 [label="Events.EVENT3", style="solid", color="black"];
|
||||
STATE4 -> STATE5 [label="Events.EVENT4", style="solid", color="black"];
|
||||
STATE5 -> STATE6 [label="Events.EVENT5", style="solid", color="black"];
|
||||
STATE6 -> STATE7 [label="Events.EVENT6", style="solid", color="black"];
|
||||
STATE7 -> STATE8 [label="Events.EVENT7", style="solid", color="black"];
|
||||
STATE8 -> STATE9 [label="Events.EVENT8", style="solid", color="black"];
|
||||
STATE9 -> STATE10 [label="Events.EVENT9", style="solid", color="black"];
|
||||
STATE10 -> STATE11 [label="Events.EVENT10", style="solid", color="black"];
|
||||
STATE11 -> STATE12 [label="Events.EVENT11", style="solid", color="black"];
|
||||
STATE12 -> STATE13 [label="Events.EVENT12", style="solid", color="black"];
|
||||
STATE13 -> STATE14 [label="Events.EVENT13", style="solid", color="black"];
|
||||
STATE14 -> STATE15 [label="Events.EVENT14", style="solid", color="black"];
|
||||
STATE15 -> STATE16 [label="Events.EVENT15", style="solid", color="black"];
|
||||
STATE1 -> CANCEL [label="Events.EVENT_CANCEL", style="solid", color="black"];
|
||||
STATE2 -> CANCEL [label="Events.EVENT_CANCEL", style="solid", color="black"];
|
||||
STATE3 -> CANCEL [label="Events.EVENT_CANCEL", style="solid", color="black"];
|
||||
STATE4 -> CANCEL [label="Events.EVENT_CANCEL", style="solid", color="black"];
|
||||
STATE5 -> CANCEL [label="Events.EVENT_CANCEL", style="solid", color="black"];
|
||||
STATE4 -> STATEY [label="Events.EVENTY", style="solid", color="black"];
|
||||
STATEY_choice -> STATEX [label="[guardVarEquals(\"value1\")] (order=0)", style="solid", color="blue"];
|
||||
STATEY_choice -> STATEZ [label="(order=1)", style="solid", color="blue"];
|
||||
STATE16_choice -> STATE17 [label="[guardVarEquals(\"value1\")] (order=0)", style="solid", color="green"];
|
||||
STATE16_choice -> STATE18 [label="[guardVarEquals(\"value2\")] (order=1)", style="solid", color="green"];
|
||||
STATE16_choice -> STATE19 [label="(order=2)", style="solid", color="green"];
|
||||
STATE17_choice -> STATE20 [label="[guardEventHeaderEquals(\"header1\",\"foo\")] (order=0)", style="solid", color="red"];
|
||||
STATE17_choice -> STATE16 [label="(order=1)", style="solid", color="red"];
|
||||
STATE18_choice -> STATE19 [label="[guardVarEquals(\"value3\")] (order=0)", style="solid", color="purple"];
|
||||
STATE18_choice -> STATE20 [label="(order=1)", style="solid", color="purple"];
|
||||
STATE19_choice -> STATE1 [label="[guardVarEquals(\"reset\")] (order=0)", style="solid", color="orange"];
|
||||
STATE19_choice -> STATE20 [label="(order=1)", style="solid", color="orange"];
|
||||
STATE20_choice -> STATE5 [label="[guardEventHeaderEquals(\"header2\",\"bar\")] (order=0)", style="solid", color="brown"];
|
||||
STATE20_choice -> STATE1 [label="(order=1)", style="solid", color="brown"];
|
||||
STATE11_choice -> STATE13 [label="[guardVarEquals(\"goTo13\")] (order=0)", style="solid", color="darkgreen"];
|
||||
STATE11_choice -> STATE14 [label="[guardVarEquals(\"goTo14\")] (order=1)", style="solid", color="darkgreen"];
|
||||
STATE11_choice -> STATE15 [label="(order=2)", style="solid", color="darkgreen"];
|
||||
STATE12_choice -> STATE10 [label="[guardVarEquals(\"goBack10\")] (order=0)", style="solid", color="darkblue"];
|
||||
STATE12_choice -> STATE11 [label="(order=1)", style="solid", color="darkblue"];
|
||||
STATE14_choice -> STATE12 [label="[guardVarEquals(\"loop12\")] (order=0)", style="solid", color="blue"];
|
||||
STATE14_choice -> STATE16 [label="(order=1)", style="solid", color="blue"];
|
||||
STATE9_choice -> STATE8 [label="[guardVarEquals(\"stepBack\")] (order=0)", style="solid", color="green"];
|
||||
STATE9_choice -> STATE7 [label="[guardVarEquals(\"stepBackMore\")] (order=1)", style="solid", color="green"];
|
||||
STATE9_choice -> STATE6 [label="(order=2)", style="solid", color="green"];
|
||||
STATE8_choice -> STATE9 [label="[guardVarEquals(\"forward9\")] (order=0)", style="solid", color="red"];
|
||||
STATE8_choice -> STATE10 [label="(order=1)", style="solid", color="red"];
|
||||
STATE2 -> STATE_EXTRA_1 [label="Events.EVENTX", style="solid", color="black"];
|
||||
STATE2_choice -> STATE1 [label="[guardEventHeaderEquals(\"header1\",\"foo\")] (order=0)", style="solid", color="purple"];
|
||||
STATE2_choice -> STATE_EXTRA_1 [label="(order=1)", style="solid", color="purple"];
|
||||
STATE_EXTRA_1 -> STATE_EXTRA_3 [label="Events.EVENTY", style="solid", color="black"];
|
||||
STATE_EXTRA_1 -> CANCEL [label="Events.EVENT_CANCEL_2", style="solid", color="black"];
|
||||
STATE_EXTRA_2 -> CANCEL [label="Events.EVENT_CANCEL_2", style="solid", color="black"];
|
||||
}
|
||||
|
||||
@@ -0,0 +1,164 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<scxml xmlns="http://www.w3.org/2005/07/scxml" version="1.0" initial="STATE1">
|
||||
<state id="STATE19">
|
||||
<transition target="STATE1" cond="guardVarEquals("reset")">
|
||||
<!-- order=0 -->
|
||||
</transition>
|
||||
<transition target="STATE20">
|
||||
<!-- order=1 -->
|
||||
</transition>
|
||||
</state>
|
||||
<state id="STATE18">
|
||||
<transition target="STATE19" cond="guardVarEquals("value3")">
|
||||
<!-- order=0 -->
|
||||
</transition>
|
||||
<transition target="STATE20">
|
||||
<!-- order=1 -->
|
||||
</transition>
|
||||
</state>
|
||||
<state id="STATE15">
|
||||
<transition target="STATE16" event="Events.EVENT15"/>
|
||||
</state>
|
||||
<state id="STATE14">
|
||||
<transition target="STATE15" event="Events.EVENT14"/>
|
||||
<transition target="STATE12" cond="guardVarEquals("loop12")">
|
||||
<!-- order=0 -->
|
||||
</transition>
|
||||
<transition target="STATE16">
|
||||
<!-- order=1 -->
|
||||
</transition>
|
||||
</state>
|
||||
<state id="STATE17">
|
||||
<transition target="STATE20" cond="guardEventHeaderEquals("header1","foo")">
|
||||
<!-- order=0 -->
|
||||
</transition>
|
||||
<transition target="STATE16">
|
||||
<!-- order=1 -->
|
||||
</transition>
|
||||
</state>
|
||||
<state id="STATE16">
|
||||
<transition target="STATE17" cond="guardVarEquals("value1")">
|
||||
<!-- order=0 -->
|
||||
</transition>
|
||||
<transition target="STATE18" cond="guardVarEquals("value2")">
|
||||
<!-- order=1 -->
|
||||
</transition>
|
||||
<transition target="STATE19">
|
||||
<!-- order=2 -->
|
||||
</transition>
|
||||
</state>
|
||||
<state id="STATE11">
|
||||
<transition target="STATE12" event="Events.EVENT11"/>
|
||||
<transition target="STATE13" cond="guardVarEquals("goTo13")">
|
||||
<!-- order=0 -->
|
||||
</transition>
|
||||
<transition target="STATE14" cond="guardVarEquals("goTo14")">
|
||||
<!-- order=1 -->
|
||||
</transition>
|
||||
<transition target="STATE15">
|
||||
<!-- order=2 -->
|
||||
</transition>
|
||||
</state>
|
||||
<state id="STATE10">
|
||||
<transition target="STATE11" event="Events.EVENT10"/>
|
||||
</state>
|
||||
<state id="STATE_EXTRA_3">
|
||||
</state>
|
||||
<state id="STATE13">
|
||||
<transition target="STATE14" event="Events.EVENT13"/>
|
||||
</state>
|
||||
<state id="STATEZ">
|
||||
</state>
|
||||
<state id="STATE_EXTRA_2">
|
||||
<transition target="CANCEL" event="Events.EVENT_CANCEL_2"/>
|
||||
</state>
|
||||
<state id="STATE12">
|
||||
<transition target="STATE13" event="Events.EVENT12"/>
|
||||
<transition target="STATE10" cond="guardVarEquals("goBack10")">
|
||||
<!-- order=0 -->
|
||||
</transition>
|
||||
<transition target="STATE11">
|
||||
<!-- order=1 -->
|
||||
</transition>
|
||||
</state>
|
||||
<state id="STATEY">
|
||||
<transition target="STATEX" cond="guardVarEquals("value1")">
|
||||
<!-- order=0 -->
|
||||
</transition>
|
||||
<transition target="STATEZ">
|
||||
<!-- order=1 -->
|
||||
</transition>
|
||||
</state>
|
||||
<state id="STATE_EXTRA_1">
|
||||
<transition target="STATE_EXTRA_3" event="Events.EVENTY"/>
|
||||
<transition target="CANCEL" event="Events.EVENT_CANCEL_2"/>
|
||||
</state>
|
||||
<state id="STATEX">
|
||||
</state>
|
||||
<state id="STATE4">
|
||||
<transition target="STATE5" event="Events.EVENT4"/>
|
||||
<transition target="CANCEL" event="Events.EVENT_CANCEL"/>
|
||||
<transition target="STATEY" event="Events.EVENTY"/>
|
||||
</state>
|
||||
<state id="STATE3">
|
||||
<transition target="STATE4" event="Events.EVENT3"/>
|
||||
<transition target="CANCEL" event="Events.EVENT_CANCEL"/>
|
||||
</state>
|
||||
<state id="STATE2">
|
||||
<transition target="STATE3" event="Events.EVENT2"/>
|
||||
<transition target="CANCEL" event="Events.EVENT_CANCEL"/>
|
||||
<transition target="STATE_EXTRA_1" event="Events.EVENTX"/>
|
||||
<transition target="STATE1" cond="guardEventHeaderEquals("header1","foo")">
|
||||
<!-- order=0 -->
|
||||
</transition>
|
||||
<transition target="STATE_EXTRA_1">
|
||||
<!-- order=1 -->
|
||||
</transition>
|
||||
</state>
|
||||
<state id="STATE1">
|
||||
<transition target="STATE2" event="Events.EVENT1"/>
|
||||
<transition target="CANCEL" event="Events.EVENT_CANCEL"/>
|
||||
</state>
|
||||
<state id="STATE9">
|
||||
<transition target="STATE10" event="Events.EVENT9"/>
|
||||
<transition target="STATE8" cond="guardVarEquals("stepBack")">
|
||||
<!-- order=0 -->
|
||||
</transition>
|
||||
<transition target="STATE7" cond="guardVarEquals("stepBackMore")">
|
||||
<!-- order=1 -->
|
||||
</transition>
|
||||
<transition target="STATE6">
|
||||
<!-- order=2 -->
|
||||
</transition>
|
||||
</state>
|
||||
<state id="STATE8">
|
||||
<transition target="STATE9" event="Events.EVENT8"/>
|
||||
<transition target="STATE9" cond="guardVarEquals("forward9")">
|
||||
<!-- order=0 -->
|
||||
</transition>
|
||||
<transition target="STATE10">
|
||||
<!-- order=1 -->
|
||||
</transition>
|
||||
</state>
|
||||
<state id="STATE7">
|
||||
<transition target="STATE8" event="Events.EVENT7"/>
|
||||
</state>
|
||||
<state id="CANCEL">
|
||||
</state>
|
||||
<state id="STATE6">
|
||||
<transition target="STATE7" event="Events.EVENT6"/>
|
||||
</state>
|
||||
<state id="STATE20">
|
||||
<transition target="STATE5" cond="guardEventHeaderEquals("header2","bar")">
|
||||
<!-- order=0 -->
|
||||
</transition>
|
||||
<transition target="STATE1">
|
||||
<!-- order=1 -->
|
||||
</transition>
|
||||
</state>
|
||||
<state id="STATE5">
|
||||
<transition target="STATE6" event="Events.EVENT5"/>
|
||||
<transition target="CANCEL" event="Events.EVENT_CANCEL"/>
|
||||
</state>
|
||||
</scxml>
|
||||
|
||||
@@ -0,0 +1,81 @@
|
||||
digraph statemachine {
|
||||
rankdir=LR;
|
||||
node [shape=rounded, style=filled, fillcolor=white, fontname="Arial"];
|
||||
edge [fontname="Arial", fontsize=10];
|
||||
|
||||
STATEY_choice [shape=diamond, label="", fillcolor="blue", width=0.2, height=0.2];
|
||||
STATEY -> STATEY_choice [style=dotted, color="blue"];
|
||||
STATE16_choice [shape=diamond, label="", fillcolor="green", width=0.2, height=0.2];
|
||||
STATE16 -> STATE16_choice [style=dotted, color="green"];
|
||||
STATE17_choice [shape=diamond, label="", fillcolor="red", width=0.2, height=0.2];
|
||||
STATE17 -> STATE17_choice [style=dotted, color="red"];
|
||||
STATE18_choice [shape=diamond, label="", fillcolor="purple", width=0.2, height=0.2];
|
||||
STATE18 -> STATE18_choice [style=dotted, color="purple"];
|
||||
STATE19_choice [shape=diamond, label="", fillcolor="orange", width=0.2, height=0.2];
|
||||
STATE19 -> STATE19_choice [style=dotted, color="orange"];
|
||||
STATE20_choice [shape=diamond, label="", fillcolor="brown", width=0.2, height=0.2];
|
||||
STATE20 -> STATE20_choice [style=dotted, color="brown"];
|
||||
STATE11_choice [shape=diamond, label="", fillcolor="darkgreen", width=0.2, height=0.2];
|
||||
STATE11 -> STATE11_choice [style=dotted, color="darkgreen"];
|
||||
STATE12_choice [shape=diamond, label="", fillcolor="darkblue", width=0.2, height=0.2];
|
||||
STATE12 -> STATE12_choice [style=dotted, color="darkblue"];
|
||||
STATE14_choice [shape=diamond, label="", fillcolor="blue", width=0.2, height=0.2];
|
||||
STATE14 -> STATE14_choice [style=dotted, color="blue"];
|
||||
STATE9_choice [shape=diamond, label="", fillcolor="green", width=0.2, height=0.2];
|
||||
STATE9 -> STATE9_choice [style=dotted, color="green"];
|
||||
STATE8_choice [shape=diamond, label="", fillcolor="red", width=0.2, height=0.2];
|
||||
STATE8 -> STATE8_choice [style=dotted, color="red"];
|
||||
_start [shape=circle, label="", fillcolor=black, width=0.1];
|
||||
_start -> STATE1;
|
||||
STATEZ [fillcolor=lightgray];
|
||||
STATE1 -> STATE2 [label="Events.EVENT1", style="solid", color="black"];
|
||||
STATE2 -> STATE3 [label="Events.EVENT2", style="solid", color="black"];
|
||||
STATE3 -> STATE4 [label="Events.EVENT3", style="solid", color="black"];
|
||||
STATE4 -> STATE5 [label="Events.EVENT4", style="solid", color="black"];
|
||||
STATE5 -> STATE6 [label="Events.EVENT5", style="solid", color="black"];
|
||||
STATE6 -> STATE7 [label="Events.EVENT6", style="solid", color="black"];
|
||||
STATE7 -> STATE8 [label="Events.EVENT7", style="solid", color="black"];
|
||||
STATE8 -> STATE9 [label="Events.EVENT8", style="solid", color="black"];
|
||||
STATE9 -> STATE10 [label="Events.EVENT9", style="solid", color="black"];
|
||||
STATE10 -> STATE11 [label="Events.EVENT10", style="solid", color="black"];
|
||||
STATE11 -> STATE12 [label="Events.EVENT11", style="solid", color="black"];
|
||||
STATE12 -> STATE13 [label="Events.EVENT12", style="solid", color="black"];
|
||||
STATE13 -> STATE14 [label="Events.EVENT13", style="solid", color="black"];
|
||||
STATE14 -> STATE15 [label="Events.EVENT14", style="solid", color="black"];
|
||||
STATE15 -> STATE16 [label="Events.EVENT15", style="solid", color="black"];
|
||||
STATE1 -> CANCEL [label="Events.EVENT_CANCEL", style="solid", color="black"];
|
||||
STATE2 -> CANCEL [label="Events.EVENT_CANCEL", style="solid", color="black"];
|
||||
STATE3 -> CANCEL [label="Events.EVENT_CANCEL", style="solid", color="black"];
|
||||
STATE4 -> CANCEL [label="Events.EVENT_CANCEL", style="solid", color="black"];
|
||||
STATE5 -> CANCEL [label="Events.EVENT_CANCEL", style="solid", color="black"];
|
||||
STATE4 -> STATEY [label="Events.EVENTY", style="solid", color="black"];
|
||||
STATEY_choice -> STATEX [label="[guardVarEquals(\"value1\")] (order=0)", style="solid", color="blue"];
|
||||
STATEY_choice -> STATEZ [label="(order=1)", style="solid", color="blue"];
|
||||
STATE16_choice -> STATE17 [label="[guardVarEquals(\"value1\")] (order=0)", style="solid", color="green"];
|
||||
STATE16_choice -> STATE18 [label="[guardVarEquals(\"value2\")] (order=1)", style="solid", color="green"];
|
||||
STATE16_choice -> STATE19 [label="(order=2)", style="solid", color="green"];
|
||||
STATE17_choice -> STATE20 [label="[guardEventHeaderEquals(\"header1\",\"foo\")] (order=0)", style="solid", color="red"];
|
||||
STATE17_choice -> STATE16 [label="(order=1)", style="solid", color="red"];
|
||||
STATE18_choice -> STATE19 [label="[guardVarEquals(\"value3\")] (order=0)", style="solid", color="purple"];
|
||||
STATE18_choice -> STATE20 [label="(order=1)", style="solid", color="purple"];
|
||||
STATE19_choice -> STATE1 [label="[guardVarEquals(\"reset\")] (order=0)", style="solid", color="orange"];
|
||||
STATE19_choice -> STATE20 [label="(order=1)", style="solid", color="orange"];
|
||||
STATE20_choice -> STATE5 [label="[guardEventHeaderEquals(\"header2\",\"bar\")] (order=0)", style="solid", color="brown"];
|
||||
STATE20_choice -> STATE1 [label="(order=1)", style="solid", color="brown"];
|
||||
STATE11_choice -> STATE13 [label="[guardVarEquals(\"goTo13\")] (order=0)", style="solid", color="darkgreen"];
|
||||
STATE11_choice -> STATE14 [label="[guardVarEquals(\"goTo14\")] (order=1)", style="solid", color="darkgreen"];
|
||||
STATE11_choice -> STATE15 [label="(order=2)", style="solid", color="darkgreen"];
|
||||
STATE12_choice -> STATE10 [label="[guardVarEquals(\"goBack10\")] (order=0)", style="solid", color="darkblue"];
|
||||
STATE12_choice -> STATE11 [label="(order=1)", style="solid", color="darkblue"];
|
||||
STATE14_choice -> STATE12 [label="[guardVarEquals(\"loop12\")] (order=0)", style="solid", color="blue"];
|
||||
STATE14_choice -> STATE16 [label="(order=1)", style="solid", color="blue"];
|
||||
STATE9_choice -> STATE8 [label="[guardVarEquals(\"stepBack\")] (order=0)", style="solid", color="green"];
|
||||
STATE9_choice -> STATE7 [label="[guardVarEquals(\"stepBackMore\")] (order=1)", style="solid", color="green"];
|
||||
STATE9_choice -> STATE6 [label="(order=2)", style="solid", color="green"];
|
||||
STATE8_choice -> STATE9 [label="[guardVarEquals(\"forward9\")] (order=0)", style="solid", color="red"];
|
||||
STATE8_choice -> STATE10 [label="(order=1)", style="solid", color="red"];
|
||||
STATE5 -> STATE_EXTRA_1 [label="Events.EVENTX", style="solid", color="black"];
|
||||
STATE_EXTRA_1 -> CANCEL [label="Events.EVENT_CANCEL", style="solid", color="black"];
|
||||
STATE_EXTRA_1 -> CANCEL [label="Events.EVENT_CANCEL_2", style="solid", color="black"];
|
||||
}
|
||||
|
||||
@@ -0,0 +1,153 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<scxml xmlns="http://www.w3.org/2005/07/scxml" version="1.0" initial="STATE1">
|
||||
<state id="STATE19">
|
||||
<transition target="STATE1" cond="guardVarEquals("reset")">
|
||||
<!-- order=0 -->
|
||||
</transition>
|
||||
<transition target="STATE20">
|
||||
<!-- order=1 -->
|
||||
</transition>
|
||||
</state>
|
||||
<state id="STATE18">
|
||||
<transition target="STATE19" cond="guardVarEquals("value3")">
|
||||
<!-- order=0 -->
|
||||
</transition>
|
||||
<transition target="STATE20">
|
||||
<!-- order=1 -->
|
||||
</transition>
|
||||
</state>
|
||||
<state id="STATE15">
|
||||
<transition target="STATE16" event="Events.EVENT15"/>
|
||||
</state>
|
||||
<state id="STATE14">
|
||||
<transition target="STATE15" event="Events.EVENT14"/>
|
||||
<transition target="STATE12" cond="guardVarEquals("loop12")">
|
||||
<!-- order=0 -->
|
||||
</transition>
|
||||
<transition target="STATE16">
|
||||
<!-- order=1 -->
|
||||
</transition>
|
||||
</state>
|
||||
<state id="STATE17">
|
||||
<transition target="STATE20" cond="guardEventHeaderEquals("header1","foo")">
|
||||
<!-- order=0 -->
|
||||
</transition>
|
||||
<transition target="STATE16">
|
||||
<!-- order=1 -->
|
||||
</transition>
|
||||
</state>
|
||||
<state id="STATE16">
|
||||
<transition target="STATE17" cond="guardVarEquals("value1")">
|
||||
<!-- order=0 -->
|
||||
</transition>
|
||||
<transition target="STATE18" cond="guardVarEquals("value2")">
|
||||
<!-- order=1 -->
|
||||
</transition>
|
||||
<transition target="STATE19">
|
||||
<!-- order=2 -->
|
||||
</transition>
|
||||
</state>
|
||||
<state id="STATE11">
|
||||
<transition target="STATE12" event="Events.EVENT11"/>
|
||||
<transition target="STATE13" cond="guardVarEquals("goTo13")">
|
||||
<!-- order=0 -->
|
||||
</transition>
|
||||
<transition target="STATE14" cond="guardVarEquals("goTo14")">
|
||||
<!-- order=1 -->
|
||||
</transition>
|
||||
<transition target="STATE15">
|
||||
<!-- order=2 -->
|
||||
</transition>
|
||||
</state>
|
||||
<state id="STATE10">
|
||||
<transition target="STATE11" event="Events.EVENT10"/>
|
||||
</state>
|
||||
<state id="STATE13">
|
||||
<transition target="STATE14" event="Events.EVENT13"/>
|
||||
</state>
|
||||
<state id="STATEZ">
|
||||
</state>
|
||||
<state id="STATE12">
|
||||
<transition target="STATE13" event="Events.EVENT12"/>
|
||||
<transition target="STATE10" cond="guardVarEquals("goBack10")">
|
||||
<!-- order=0 -->
|
||||
</transition>
|
||||
<transition target="STATE11">
|
||||
<!-- order=1 -->
|
||||
</transition>
|
||||
</state>
|
||||
<state id="STATEY">
|
||||
<transition target="STATEX" cond="guardVarEquals("value1")">
|
||||
<!-- order=0 -->
|
||||
</transition>
|
||||
<transition target="STATEZ">
|
||||
<!-- order=1 -->
|
||||
</transition>
|
||||
</state>
|
||||
<state id="STATE_EXTRA_1">
|
||||
<transition target="CANCEL" event="Events.EVENT_CANCEL"/>
|
||||
<transition target="CANCEL" event="Events.EVENT_CANCEL_2"/>
|
||||
</state>
|
||||
<state id="STATEX">
|
||||
</state>
|
||||
<state id="STATE4">
|
||||
<transition target="STATE5" event="Events.EVENT4"/>
|
||||
<transition target="CANCEL" event="Events.EVENT_CANCEL"/>
|
||||
<transition target="STATEY" event="Events.EVENTY"/>
|
||||
</state>
|
||||
<state id="STATE3">
|
||||
<transition target="STATE4" event="Events.EVENT3"/>
|
||||
<transition target="CANCEL" event="Events.EVENT_CANCEL"/>
|
||||
</state>
|
||||
<state id="STATE2">
|
||||
<transition target="STATE3" event="Events.EVENT2"/>
|
||||
<transition target="CANCEL" event="Events.EVENT_CANCEL"/>
|
||||
</state>
|
||||
<state id="STATE1">
|
||||
<transition target="STATE2" event="Events.EVENT1"/>
|
||||
<transition target="CANCEL" event="Events.EVENT_CANCEL"/>
|
||||
</state>
|
||||
<state id="STATE9">
|
||||
<transition target="STATE10" event="Events.EVENT9"/>
|
||||
<transition target="STATE8" cond="guardVarEquals("stepBack")">
|
||||
<!-- order=0 -->
|
||||
</transition>
|
||||
<transition target="STATE7" cond="guardVarEquals("stepBackMore")">
|
||||
<!-- order=1 -->
|
||||
</transition>
|
||||
<transition target="STATE6">
|
||||
<!-- order=2 -->
|
||||
</transition>
|
||||
</state>
|
||||
<state id="STATE8">
|
||||
<transition target="STATE9" event="Events.EVENT8"/>
|
||||
<transition target="STATE9" cond="guardVarEquals("forward9")">
|
||||
<!-- order=0 -->
|
||||
</transition>
|
||||
<transition target="STATE10">
|
||||
<!-- order=1 -->
|
||||
</transition>
|
||||
</state>
|
||||
<state id="STATE7">
|
||||
<transition target="STATE8" event="Events.EVENT7"/>
|
||||
</state>
|
||||
<state id="CANCEL">
|
||||
</state>
|
||||
<state id="STATE6">
|
||||
<transition target="STATE7" event="Events.EVENT6"/>
|
||||
</state>
|
||||
<state id="STATE20">
|
||||
<transition target="STATE5" cond="guardEventHeaderEquals("header2","bar")">
|
||||
<!-- order=0 -->
|
||||
</transition>
|
||||
<transition target="STATE1">
|
||||
<!-- order=1 -->
|
||||
</transition>
|
||||
</state>
|
||||
<state id="STATE5">
|
||||
<transition target="STATE6" event="Events.EVENT5"/>
|
||||
<transition target="CANCEL" event="Events.EVENT_CANCEL"/>
|
||||
<transition target="STATE_EXTRA_1" event="Events.EVENTX"/>
|
||||
</state>
|
||||
</scxml>
|
||||
|
||||
@@ -35,11 +35,3 @@ out/
|
||||
|
||||
### VS Code ###
|
||||
.vscode/
|
||||
|
||||
|
||||
|
||||
#### added
|
||||
*.png
|
||||
*.dot
|
||||
*.scxml.xml
|
||||
Combined.java
|
||||
@@ -35,11 +35,3 @@ out/
|
||||
|
||||
### VS Code ###
|
||||
.vscode/
|
||||
|
||||
|
||||
|
||||
#### added
|
||||
*.png
|
||||
*.dot
|
||||
*.scxml.xml
|
||||
Combined.java
|
||||
@@ -35,11 +35,3 @@ out/
|
||||
|
||||
### VS Code ###
|
||||
.vscode/
|
||||
|
||||
|
||||
|
||||
#### added
|
||||
*.png
|
||||
*.dot
|
||||
*.scxml.xml
|
||||
Combined.java
|
||||
@@ -35,11 +35,3 @@ out/
|
||||
|
||||
### VS Code ###
|
||||
.vscode/
|
||||
|
||||
|
||||
|
||||
#### added
|
||||
*.png
|
||||
*.dot
|
||||
*.scxml.xml
|
||||
Combined.java
|
||||
@@ -35,11 +35,3 @@ out/
|
||||
|
||||
### VS Code ###
|
||||
.vscode/
|
||||
|
||||
|
||||
|
||||
#### added
|
||||
*.png
|
||||
*.dot
|
||||
*.scxml.xml
|
||||
Combined.java
|
||||
@@ -35,11 +35,3 @@ out/
|
||||
|
||||
### VS Code ###
|
||||
.vscode/
|
||||
|
||||
|
||||
|
||||
#### added
|
||||
*.png
|
||||
*.dot
|
||||
*.scxml.xml
|
||||
Combined.java
|
||||
@@ -35,11 +35,3 @@ out/
|
||||
|
||||
### VS Code ###
|
||||
.vscode/
|
||||
|
||||
|
||||
|
||||
#### added
|
||||
*.png
|
||||
*.dot
|
||||
*.scxml.xml
|
||||
Combined.java
|
||||
@@ -35,11 +35,3 @@ out/
|
||||
|
||||
### VS Code ###
|
||||
.vscode/
|
||||
|
||||
|
||||
|
||||
#### added
|
||||
*.png
|
||||
*.dot
|
||||
*.scxml.xml
|
||||
Combined.java
|
||||
@@ -35,11 +35,3 @@ out/
|
||||
|
||||
### VS Code ###
|
||||
.vscode/
|
||||
|
||||
|
||||
|
||||
#### added
|
||||
*.png
|
||||
*.dot
|
||||
*.scxml.xml
|
||||
Combined.java
|
||||
@@ -35,11 +35,3 @@ out/
|
||||
|
||||
### VS Code ###
|
||||
.vscode/
|
||||
|
||||
|
||||
|
||||
#### added
|
||||
*.png
|
||||
*.dot
|
||||
*.scxml.xml
|
||||
Combined.java
|
||||
Reference in New Issue
Block a user