tests for golden png

This commit is contained in:
2026-06-13 08:58:51 +02:00
parent f85a68d9fc
commit e2798b26cf
41 changed files with 1127 additions and 1039 deletions

View File

@@ -45,8 +45,11 @@ dependencies {
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:6.1.0'
testRuntimeOnly 'org.junit.platform:junit-platform-launcher:6.1.0'
testImplementation 'org.assertj:assertj-core:3.27.7'
implementation 'net.sourceforge.plantuml:plantuml:1.2024.3'
}
tasks.named('test') {
useJUnitPlatform()
systemProperty "updateGolden", System.getProperty("updateGolden")
}

View File

@@ -17,6 +17,11 @@ public class Dot implements StateMachineExporter {
"blue", "green", "red", "purple", "orange", "brown", "darkgreen", "darkblue"
};
@Override
public String export(click.kamil.springstatemachineexporter.analysis.model.AnalysisResult result, ExportOptions options) {
return export(result.getName(), result.getTransitions(), result.getStartStates(), result.getEndStates(), options);
}
@Override
public String export(String name,
List<Transition> transitions,

View File

@@ -17,6 +17,11 @@ public class JsonExporter implements StateMachineExporter {
.enable(SerializationFeature.INDENT_OUTPUT);
}
@Override
public String export(click.kamil.springstatemachineexporter.analysis.model.AnalysisResult result, ExportOptions options) {
return export(result.getName(), result.getTransitions(), result.getStartStates(), result.getEndStates(), options);
}
@Override
public String export(String name, List<Transition> transitions, Set<String> startStates, Set<String> endStates, ExportOptions options) {
try {

View File

@@ -33,6 +33,23 @@ public class PlantUml implements StateMachineExporter {
}
}
@Override
public String export(click.kamil.springstatemachineexporter.analysis.model.AnalysisResult result, ExportOptions options) {
String baseContent = export(result.getName(), result.getTransitions(), result.getStartStates(), result.getEndStates(), options);
// Allow custom styling from metadata
String customStyle = result.getMetadata().getProperties().get("plantuml.style");
if (customStyle != null && !customStyle.isBlank()) {
// Insert custom style before @enduml
int endumlIndex = baseContent.lastIndexOf("@enduml");
if (endumlIndex >= 0) {
return baseContent.substring(0, endumlIndex) + "\n" + customStyle + "\n" + baseContent.substring(endumlIndex);
}
}
return baseContent;
}
@Override
public String export(String name,
List<Transition> transitions,
@@ -63,7 +80,7 @@ public class PlantUml implements StateMachineExporter {
}
sb.append("\n");
Set<String> statesWithChoice = new HashSet<>();
Set<String> statesWithChoice = new java.util.LinkedHashSet<>();
for (Transition t : transitions) {
if (t.getType() == TransitionType.CHOICE) {
for (State source : t.getSourceStates()) {
@@ -88,7 +105,7 @@ public class PlantUml implements StateMachineExporter {
.filter(t -> t.getType() == TransitionType.JUNCTION)
.flatMap(t -> t.getSourceStates().stream())
.map(s -> simplify(s.toString()))
.collect(Collectors.toSet());
.collect(Collectors.toCollection(java.util.LinkedHashSet::new));
for (String junction : junctionStates) {
if (options.isRenderChoicesAsDiamonds()) {
sb.append("state ").append(junction).append(" <<choice>>\n");
@@ -97,7 +114,7 @@ public class PlantUml implements StateMachineExporter {
sb.append("\n");
Set<String> usedEventStereotypes = new HashSet<>();
Set<String> usedEventStereotypes = new java.util.LinkedHashSet<>();
for (Transition t : transitions) {
if (t.getSourceStates() == null || t.getSourceStates().isEmpty())
continue;

View File

@@ -12,6 +12,11 @@ public class Scxml implements StateMachineExporter {
private static final String LAMBDA = "λ";
@Override
public String export(click.kamil.springstatemachineexporter.analysis.model.AnalysisResult result, ExportOptions options) {
return export(result.getName(), result.getTransitions(), result.getStartStates(), result.getEndStates(), options);
}
@Override
public String export(String name,
List<Transition> transitions,
@@ -24,7 +29,7 @@ public class Scxml implements StateMachineExporter {
sb.append(startStates.isEmpty() ? "" : simplify(startStates.iterator().next()));
sb.append("\">\n");
Set<String> allStates = new HashSet<>();
Set<String> allStates = new java.util.LinkedHashSet<>();
for (Transition t : transitions) {
t.getSourceStates().forEach(s -> allStates.add(s.toString()));
t.getTargetStates().forEach(s -> allStates.add(s.toString()));

View File

@@ -1,11 +1,16 @@
package click.kamil.springstatemachineexporter.exporter;
import click.kamil.springstatemachineexporter.analysis.model.AnalysisResult;
import click.kamil.springstatemachineexporter.model.Transition;
import java.util.List;
import java.util.Set;
public interface StateMachineExporter {
default String export(AnalysisResult result, ExportOptions options) {
return export(result.getName(), result.getTransitions(), result.getStartStates(), result.getEndStates(), options);
}
String export(String name,
List<Transition> transitions,
Set<String> startStates,

View File

@@ -152,7 +152,7 @@ public class ExportService {
if (!match) continue;
}
String content = output.export(result.getName(), result.getTransitions(), result.getStartStates(), result.getEndStates(), options);
String content = output.export(result, options);
String fileName = result.getName() + output.getFileExtension();
try (PrintWriter out = new PrintWriter(targetDir.resolve(fileName).toFile())) {

View File

@@ -0,0 +1,48 @@
package click.kamil.springstatemachineexporter.exporter;
import click.kamil.springstatemachineexporter.analysis.model.AnalysisResult;
import click.kamil.springstatemachineexporter.analysis.model.CodebaseMetadata;
import click.kamil.springstatemachineexporter.model.State;
import click.kamil.springstatemachineexporter.model.Transition;
import click.kamil.springstatemachineexporter.model.TransitionType;
import org.junit.jupiter.api.Test;
import java.util.List;
import java.util.Map;
import java.util.Set;
import static org.assertj.core.api.Assertions.assertThat;
class PlantUmlCustomStyleTest {
@Test
void shouldApplyCustomStyleFromMetadata() {
PlantUml exporter = new PlantUml();
Transition transition = new Transition();
transition.setType(TransitionType.EXTERNAL);
transition.setSourceStates(List.of(State.of("S1")));
transition.setTargetStates(List.of(State.of("S2")));
transition.setEvent("E1");
AnalysisResult result = AnalysisResult.builder()
.name("TestSM")
.transitions(List.of(transition))
.startStates(Set.of("S1"))
.endStates(Set.of("S2"))
.metadata(CodebaseMetadata.builder()
.properties(Map.of("plantuml.style", "skinparam stateBackgroundColor Red"))
.build())
.build();
String puml = exporter.export(result, ExportOptions.builder().build());
assertThat(puml)
.contains("skinparam stateBackgroundColor Red")
.contains("@enduml");
// Ensure it's inserted before @enduml
int styleIndex = puml.indexOf("skinparam stateBackgroundColor Red");
int endumlIndex = puml.indexOf("@enduml");
assertThat(styleIndex).isLessThan(endumlIndex);
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 172 KiB

After

Width:  |  Height:  |  Size: 189 KiB

View File

@@ -42,16 +42,16 @@ hide <<choice_color_5>> stereotype
[*] --> STATE1
state STATE17 <<choice>>
state STATE16 <<choice>>
state STATE14 <<choice>>
state STATE12 <<choice>>
state STATE11 <<choice>>
state STATE8 <<choice>>
state STATE20 <<choice>>
state STATE9 <<choice>>
state STATE19 <<choice>>
state STATE17 <<choice>>
state STATE18 <<choice>>
state STATE19 <<choice>>
state STATE20 <<choice>>
state STATE11 <<choice>>
state STATE12 <<choice>>
state STATE14 <<choice>>
state STATE9 <<choice>>
state STATE8 <<choice>>
STATE1 -[#1E90FF,bold]-> STATE2 <<external>> <<e_Events_EVENT1>> : EVENT1
STATE2 -[#1E90FF,bold]-> STATE3 <<external>> <<e_Events_EVENT2>> : EVENT2
@@ -68,44 +68,44 @@ STATE12 -[#1E90FF,bold]-> STATE13 <<external>> <<e_Events_EVENT12>> : EVENT12
STATE13 -[#1E90FF,bold]-> STATE14 <<external>> <<e_Events_EVENT13>> : EVENT13
STATE14 -[#1E90FF,bold]-> STATE15 <<external>> <<e_Events_EVENT14>> : EVENT14
STATE15 -[#1E90FF,bold]-> STATE16 <<external>> <<e_Events_EVENT15>> : EVENT15
STATE16 -[#4682B4,bold]-> STATE17 <<choice_color_1>> : [guardVarEquals("value1")] (order=0)
STATE16 -[#4682B4,bold]-> STATE18 <<choice_color_1>> : [guardVarEquals("value2")] (order=1)
STATE16 -[#4682B4,bold]-> STATE19 <<choice_color_1>> : (order=2)
STATE17 -[#FF6347,bold]-> STATE20 <<choice_color_0>> : [guardEventHeaderEquals("header1","foo")] (order=0)
STATE17 -[#FF6347,bold]-> STATE16 <<choice_color_0>> : (order=1)
STATE18 -[#FFD700,bold]-> STATE19 <<choice_color_3>> : [guardVarEquals("value3")] (order=0)
STATE18 -[#FFD700,bold]-> STATE20 <<choice_color_3>> : (order=1)
STATE19 -[#32CD32,bold]-> STATE1 <<choice_color_2>> : [guardVarEquals("reset")] (order=0)
STATE19 -[#32CD32,bold]-> STATE20 <<choice_color_2>> : (order=1)
STATE20 -[#FF6347,bold]-> STATE5 <<choice_color_0>> : [guardEventHeaderEquals("header2","bar")] (order=0)
STATE20 -[#FF6347,bold]-> STATE1 <<choice_color_0>> : (order=1)
STATE11 -[#6A5ACD,bold]-> STATE13 <<choice_color_4>> : [guardVarEquals("goTo13")] (order=0)
STATE11 -[#6A5ACD,bold]-> STATE14 <<choice_color_4>> : [guardVarEquals("goTo14")] (order=1)
STATE11 -[#6A5ACD,bold]-> STATE15 <<choice_color_4>> : (order=2)
STATE12 -[#FFD700,bold]-> STATE10 <<choice_color_3>> : [guardVarEquals("goBack10")] (order=0)
STATE12 -[#FFD700,bold]-> STATE11 <<choice_color_3>> : (order=1)
STATE14 -[#32CD32,bold]-> STATE12 <<choice_color_2>> : [guardVarEquals("loop12")] (order=0)
STATE14 -[#32CD32,bold]-> STATE16 <<choice_color_2>> : (order=1)
STATE9 -[#4682B4,bold]-> STATE8 <<choice_color_1>> : [guardVarEquals("stepBack")] (order=0)
STATE9 -[#4682B4,bold]-> STATE7 <<choice_color_1>> : [guardVarEquals("stepBackMore")] (order=1)
STATE9 -[#4682B4,bold]-> STATE6 <<choice_color_1>> : (order=2)
STATE8 -[#FF69B4,bold]-> STATE9 <<choice_color_5>> : [guardVarEquals("forward9")] (order=0)
STATE8 -[#FF69B4,bold]-> STATE10 <<choice_color_5>> : (order=1)
hide <<e_Events_EVENT9>> stereotype
hide <<e_Events_EVENT13>> stereotype
hide <<e_Events_EVENT8>> stereotype
hide <<e_Events_EVENT14>> stereotype
hide <<e_Events_EVENT7>> stereotype
hide <<e_Events_EVENT15>> stereotype
hide <<e_Events_EVENT6>> stereotype
hide <<e_Events_EVENT5>> stereotype
hide <<e_Events_EVENT4>> stereotype
hide <<e_Events_EVENT3>> stereotype
hide <<e_Events_EVENT2>> stereotype
STATE16 -[#FF6347,bold]-> STATE17 <<choice_color_0>> : [guardVarEquals("value1")] (order=0)
STATE16 -[#FF6347,bold]-> STATE18 <<choice_color_0>> : [guardVarEquals("value2")] (order=1)
STATE16 -[#FF6347,bold]-> STATE19 <<choice_color_0>> : (order=2)
STATE17 -[#4682B4,bold]-> STATE20 <<choice_color_1>> : [guardEventHeaderEquals("header1","foo")] (order=0)
STATE17 -[#4682B4,bold]-> STATE16 <<choice_color_1>> : (order=1)
STATE18 -[#32CD32,bold]-> STATE19 <<choice_color_2>> : [guardVarEquals("value3")] (order=0)
STATE18 -[#32CD32,bold]-> STATE20 <<choice_color_2>> : (order=1)
STATE19 -[#FFD700,bold]-> STATE1 <<choice_color_3>> : [guardVarEquals("reset")] (order=0)
STATE19 -[#FFD700,bold]-> STATE20 <<choice_color_3>> : (order=1)
STATE20 -[#6A5ACD,bold]-> STATE5 <<choice_color_4>> : [guardEventHeaderEquals("header2","bar")] (order=0)
STATE20 -[#6A5ACD,bold]-> STATE1 <<choice_color_4>> : (order=1)
STATE11 -[#FF69B4,bold]-> STATE13 <<choice_color_5>> : [guardVarEquals("goTo13")] (order=0)
STATE11 -[#FF69B4,bold]-> STATE14 <<choice_color_5>> : [guardVarEquals("goTo14")] (order=1)
STATE11 -[#FF69B4,bold]-> STATE15 <<choice_color_5>> : (order=2)
STATE12 -[#FF6347,bold]-> STATE10 <<choice_color_0>> : [guardVarEquals("goBack10")] (order=0)
STATE12 -[#FF6347,bold]-> STATE11 <<choice_color_0>> : (order=1)
STATE14 -[#4682B4,bold]-> STATE12 <<choice_color_1>> : [guardVarEquals("loop12")] (order=0)
STATE14 -[#4682B4,bold]-> STATE16 <<choice_color_1>> : (order=1)
STATE9 -[#32CD32,bold]-> STATE8 <<choice_color_2>> : [guardVarEquals("stepBack")] (order=0)
STATE9 -[#32CD32,bold]-> STATE7 <<choice_color_2>> : [guardVarEquals("stepBackMore")] (order=1)
STATE9 -[#32CD32,bold]-> STATE6 <<choice_color_2>> : (order=2)
STATE8 -[#FFD700,bold]-> STATE9 <<choice_color_3>> : [guardVarEquals("forward9")] (order=0)
STATE8 -[#FFD700,bold]-> STATE10 <<choice_color_3>> : (order=1)
hide <<e_Events_EVENT1>> stereotype
hide <<e_Events_EVENT2>> stereotype
hide <<e_Events_EVENT3>> stereotype
hide <<e_Events_EVENT4>> stereotype
hide <<e_Events_EVENT5>> stereotype
hide <<e_Events_EVENT6>> stereotype
hide <<e_Events_EVENT7>> stereotype
hide <<e_Events_EVENT8>> stereotype
hide <<e_Events_EVENT9>> stereotype
hide <<e_Events_EVENT10>> stereotype
hide <<e_Events_EVENT11>> stereotype
hide <<e_Events_EVENT12>> stereotype
hide <<e_Events_EVENT13>> stereotype
hide <<e_Events_EVENT14>> stereotype
hide <<e_Events_EVENT15>> stereotype
@enduml

View File

@@ -1,82 +1,35 @@
<?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 id="STATE1">
<transition target="STATE2" event="Events.EVENT1"/>
</state>
<state id="STATE2">
<transition target="STATE3" event="Events.EVENT2"/>
</state>
<state id="STATE1">
<transition target="STATE2" event="Events.EVENT1"/>
<state id="STATE3">
<transition target="STATE4" event="Events.EVENT3"/>
</state>
<state id="STATE19">
<transition target="STATE1" cond="guardVarEquals(&quot;reset&quot;)">
<state id="STATE4">
<transition target="STATE5" event="Events.EVENT4"/>
</state>
<state id="STATE5">
<transition target="STATE6" event="Events.EVENT5"/>
</state>
<state id="STATE6">
<transition target="STATE7" event="Events.EVENT6"/>
</state>
<state id="STATE7">
<transition target="STATE8" event="Events.EVENT7"/>
</state>
<state id="STATE8">
<transition target="STATE9" event="Events.EVENT8"/>
<transition target="STATE9" cond="guardVarEquals(&quot;forward9&quot;)">
<!-- order=0 -->
</transition>
<transition target="STATE20">
<transition target="STATE10">
<!-- order=1 -->
</transition>
</state>
<state id="STATE18">
<transition target="STATE19" cond="guardVarEquals(&quot;value3&quot;)">
<!-- 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(&quot;loop12&quot;)">
<!-- order=0 -->
</transition>
<transition target="STATE16">
<!-- order=1 -->
</transition>
</state>
<state id="STATE17">
<transition target="STATE20" cond="guardEventHeaderEquals(&quot;header1&quot;,&quot;foo&quot;)">
<!-- order=0 -->
</transition>
<transition target="STATE16">
<!-- order=1 -->
</transition>
</state>
<state id="STATE16">
<transition target="STATE17" cond="guardVarEquals(&quot;value1&quot;)">
<!-- order=0 -->
</transition>
<transition target="STATE18" cond="guardVarEquals(&quot;value2&quot;)">
<!-- order=1 -->
</transition>
<transition target="STATE19">
<!-- order=2 -->
</transition>
</state>
<state id="STATE11">
<transition target="STATE12" event="Events.EVENT11"/>
<transition target="STATE13" cond="guardVarEquals(&quot;goTo13&quot;)">
<!-- order=0 -->
</transition>
<transition target="STATE14" cond="guardVarEquals(&quot;goTo14&quot;)">
<!-- 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(&quot;stepBack&quot;)">
@@ -89,6 +42,21 @@
<!-- order=2 -->
</transition>
</state>
<state id="STATE10">
<transition target="STATE11" event="Events.EVENT10"/>
</state>
<state id="STATE11">
<transition target="STATE12" event="Events.EVENT11"/>
<transition target="STATE13" cond="guardVarEquals(&quot;goTo13&quot;)">
<!-- order=0 -->
</transition>
<transition target="STATE14" cond="guardVarEquals(&quot;goTo14&quot;)">
<!-- order=1 -->
</transition>
<transition target="STATE15">
<!-- order=2 -->
</transition>
</state>
<state id="STATE12">
<transition target="STATE13" event="Events.EVENT12"/>
<transition target="STATE10" cond="guardVarEquals(&quot;goBack10&quot;)">
@@ -98,20 +66,55 @@
<!-- order=1 -->
</transition>
</state>
<state id="STATE8">
<transition target="STATE9" event="Events.EVENT8"/>
<transition target="STATE9" cond="guardVarEquals(&quot;forward9&quot;)">
<state id="STATE13">
<transition target="STATE14" event="Events.EVENT13"/>
</state>
<state id="STATE14">
<transition target="STATE15" event="Events.EVENT14"/>
<transition target="STATE12" cond="guardVarEquals(&quot;loop12&quot;)">
<!-- order=0 -->
</transition>
<transition target="STATE10">
<transition target="STATE16">
<!-- order=1 -->
</transition>
</state>
<state id="STATE7">
<transition target="STATE8" event="Events.EVENT7"/>
<state id="STATE15">
<transition target="STATE16" event="Events.EVENT15"/>
</state>
<state id="STATE6">
<transition target="STATE7" event="Events.EVENT6"/>
<state id="STATE16">
<transition target="STATE17" cond="guardVarEquals(&quot;value1&quot;)">
<!-- order=0 -->
</transition>
<transition target="STATE18" cond="guardVarEquals(&quot;value2&quot;)">
<!-- order=1 -->
</transition>
<transition target="STATE19">
<!-- order=2 -->
</transition>
</state>
<state id="STATE17">
<transition target="STATE20" cond="guardEventHeaderEquals(&quot;header1&quot;,&quot;foo&quot;)">
<!-- order=0 -->
</transition>
<transition target="STATE16">
<!-- order=1 -->
</transition>
</state>
<state id="STATE18">
<transition target="STATE19" cond="guardVarEquals(&quot;value3&quot;)">
<!-- order=0 -->
</transition>
<transition target="STATE20">
<!-- order=1 -->
</transition>
</state>
<state id="STATE19">
<transition target="STATE1" cond="guardVarEquals(&quot;reset&quot;)">
<!-- order=0 -->
</transition>
<transition target="STATE20">
<!-- order=1 -->
</transition>
</state>
<state id="STATE20">
<transition target="STATE5" cond="guardEventHeaderEquals(&quot;header2&quot;,&quot;bar&quot;)">
@@ -121,8 +124,5 @@
<!-- order=1 -->
</transition>
</state>
<state id="STATE5">
<transition target="STATE6" event="Events.EVENT5"/>
</state>
</scxml>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 258 KiB

After

Width:  |  Height:  |  Size: 253 KiB

View File

@@ -42,18 +42,18 @@ hide <<choice_color_5>> stereotype
[*] --> STATE1
state STATE17 <<choice>>
state STATE16 <<choice>>
state STATE2 <<choice>>
state STATE14 <<choice>>
state STATE12 <<choice>>
state STATE11 <<choice>>
state STATE8 <<choice>>
state STATEY <<choice>>
state STATE20 <<choice>>
state STATE9 <<choice>>
state STATE19 <<choice>>
state STATE16 <<choice>>
state STATE17 <<choice>>
state STATE18 <<choice>>
state STATE19 <<choice>>
state STATE20 <<choice>>
state STATE11 <<choice>>
state STATE12 <<choice>>
state STATE14 <<choice>>
state STATE9 <<choice>>
state STATE8 <<choice>>
state STATE2 <<choice>>
STATE1 -[#1E90FF,bold]-> STATE2 <<external>> <<e_Events_EVENT1>> : EVENT1
STATE2 -[#1E90FF,bold]-> STATE3 <<external>> <<e_Events_EVENT2>> : EVENT2
@@ -76,55 +76,55 @@ STATE3 -[#1E90FF,bold]-> CANCEL <<external>> <<e_Events_EVENT_CANCEL>> : EVENT_C
STATE4 -[#1E90FF,bold]-> CANCEL <<external>> <<e_Events_EVENT_CANCEL>> : EVENT_CANCEL
STATE5 -[#1E90FF,bold]-> CANCEL <<external>> <<e_Events_EVENT_CANCEL>> : EVENT_CANCEL
STATE4 -[#1E90FF,bold]-> STATEY <<external>> <<e_Events_EVENTY>> : EVENTY
STATEY -[#4682B4,bold]-> STATEX <<choice_color_1>> : [guardVarEquals("value1")] (order=0)
STATEY -[#4682B4,bold]-> STATEZ <<choice_color_1>> : (order=1)
STATEY -[#FF6347,bold]-> STATEX <<choice_color_0>> : [guardVarEquals("value1")] (order=0)
STATEY -[#FF6347,bold]-> STATEZ <<choice_color_0>> : (order=1)
STATE16 -[#4682B4,bold]-> STATE17 <<choice_color_1>> : [guardVarEquals("value1")] (order=0)
STATE16 -[#4682B4,bold]-> STATE18 <<choice_color_1>> : [guardVarEquals("value2")] (order=1)
STATE16 -[#4682B4,bold]-> STATE19 <<choice_color_1>> : (order=2)
STATE17 -[#FF6347,bold]-> STATE20 <<choice_color_0>> : [guardEventHeaderEquals("header1","foo")] (order=0)
STATE17 -[#FF6347,bold]-> STATE16 <<choice_color_0>> : (order=1)
STATE18 -[#FF69B4,bold]-> STATE19 <<choice_color_5>> : [guardVarEquals("value3")] (order=0)
STATE18 -[#FF69B4,bold]-> STATE20 <<choice_color_5>> : (order=1)
STATE17 -[#32CD32,bold]-> STATE20 <<choice_color_2>> : [guardEventHeaderEquals("header1","foo")] (order=0)
STATE17 -[#32CD32,bold]-> STATE16 <<choice_color_2>> : (order=1)
STATE18 -[#FFD700,bold]-> STATE19 <<choice_color_3>> : [guardVarEquals("value3")] (order=0)
STATE18 -[#FFD700,bold]-> STATE20 <<choice_color_3>> : (order=1)
STATE19 -[#6A5ACD,bold]-> STATE1 <<choice_color_4>> : [guardVarEquals("reset")] (order=0)
STATE19 -[#6A5ACD,bold]-> STATE20 <<choice_color_4>> : (order=1)
STATE20 -[#32CD32,bold]-> STATE5 <<choice_color_2>> : [guardEventHeaderEquals("header2","bar")] (order=0)
STATE20 -[#32CD32,bold]-> STATE1 <<choice_color_2>> : (order=1)
STATE11 -[#FF69B4,bold]-> STATE13 <<choice_color_5>> : [guardVarEquals("goTo13")] (order=0)
STATE11 -[#FF69B4,bold]-> STATE14 <<choice_color_5>> : [guardVarEquals("goTo14")] (order=1)
STATE11 -[#FF69B4,bold]-> STATE15 <<choice_color_5>> : (order=2)
STATE12 -[#6A5ACD,bold]-> STATE10 <<choice_color_4>> : [guardVarEquals("goBack10")] (order=0)
STATE12 -[#6A5ACD,bold]-> STATE11 <<choice_color_4>> : (order=1)
STATE14 -[#FFD700,bold]-> STATE12 <<choice_color_3>> : [guardVarEquals("loop12")] (order=0)
STATE14 -[#FFD700,bold]-> STATE16 <<choice_color_3>> : (order=1)
STATE20 -[#FF69B4,bold]-> STATE5 <<choice_color_5>> : [guardEventHeaderEquals("header2","bar")] (order=0)
STATE20 -[#FF69B4,bold]-> STATE1 <<choice_color_5>> : (order=1)
STATE11 -[#FF6347,bold]-> STATE13 <<choice_color_0>> : [guardVarEquals("goTo13")] (order=0)
STATE11 -[#FF6347,bold]-> STATE14 <<choice_color_0>> : [guardVarEquals("goTo14")] (order=1)
STATE11 -[#FF6347,bold]-> STATE15 <<choice_color_0>> : (order=2)
STATE12 -[#4682B4,bold]-> STATE10 <<choice_color_1>> : [guardVarEquals("goBack10")] (order=0)
STATE12 -[#4682B4,bold]-> STATE11 <<choice_color_1>> : (order=1)
STATE14 -[#32CD32,bold]-> STATE12 <<choice_color_2>> : [guardVarEquals("loop12")] (order=0)
STATE14 -[#32CD32,bold]-> STATE16 <<choice_color_2>> : (order=1)
STATE9 -[#FFD700,bold]-> STATE8 <<choice_color_3>> : [guardVarEquals("stepBack")] (order=0)
STATE9 -[#FFD700,bold]-> STATE7 <<choice_color_3>> : [guardVarEquals("stepBackMore")] (order=1)
STATE9 -[#FFD700,bold]-> STATE6 <<choice_color_3>> : (order=2)
STATE8 -[#FF6347,bold]-> STATE9 <<choice_color_0>> : [guardVarEquals("forward9")] (order=0)
STATE8 -[#FF6347,bold]-> STATE10 <<choice_color_0>> : (order=1)
STATE8 -[#6A5ACD,bold]-> STATE9 <<choice_color_4>> : [guardVarEquals("forward9")] (order=0)
STATE8 -[#6A5ACD,bold]-> STATE10 <<choice_color_4>> : (order=1)
STATE2 -[#1E90FF,bold]-> STATE_EXTRA_1 <<external>> <<e_Events_EVENTX>> : EVENTX
STATE2 -[#32CD32,bold]-> STATE1 <<choice_color_2>> : [guardEventHeaderEquals("header1","foo")] (order=0)
STATE2 -[#32CD32,bold]-> STATE_EXTRA_1 <<choice_color_2>> : (order=1)
STATE2 -[#FF69B4,bold]-> STATE1 <<choice_color_5>> : [guardEventHeaderEquals("header1","foo")] (order=0)
STATE2 -[#FF69B4,bold]-> STATE_EXTRA_1 <<choice_color_5>> : (order=1)
STATE_EXTRA_1 -[#1E90FF,bold]-> STATE_EXTRA_3 <<external>> <<e_Events_EVENTY>> : EVENTY
STATE_EXTRA_1 -[#1E90FF,bold]-> CANCEL <<external>> <<e_Events_EVENT_CANCEL_2>> : EVENT_CANCEL_2
STATE_EXTRA_2 -[#1E90FF,bold]-> CANCEL <<external>> <<e_Events_EVENT_CANCEL_2>> : EVENT_CANCEL_2
hide <<e_Events_EVENT_CANCEL>> stereotype
hide <<e_Events_EVENT9>> stereotype
hide <<e_Events_EVENT13>> stereotype
hide <<e_Events_EVENTY>> stereotype
hide <<e_Events_EVENT8>> stereotype
hide <<e_Events_EVENT14>> stereotype
hide <<e_Events_EVENTX>> stereotype
hide <<e_Events_EVENT7>> stereotype
hide <<e_Events_EVENT15>> stereotype
hide <<e_Events_EVENT6>> stereotype
hide <<e_Events_EVENT5>> stereotype
hide <<e_Events_EVENT4>> stereotype
hide <<e_Events_EVENT3>> stereotype
hide <<e_Events_EVENT2>> stereotype
hide <<e_Events_EVENT1>> stereotype
hide <<e_Events_EVENT2>> stereotype
hide <<e_Events_EVENT3>> stereotype
hide <<e_Events_EVENT4>> stereotype
hide <<e_Events_EVENT5>> stereotype
hide <<e_Events_EVENT6>> stereotype
hide <<e_Events_EVENT7>> stereotype
hide <<e_Events_EVENT8>> stereotype
hide <<e_Events_EVENT9>> stereotype
hide <<e_Events_EVENT10>> stereotype
hide <<e_Events_EVENT11>> stereotype
hide <<e_Events_EVENT12>> stereotype
hide <<e_Events_EVENT13>> stereotype
hide <<e_Events_EVENT14>> stereotype
hide <<e_Events_EVENT15>> stereotype
hide <<e_Events_EVENT_CANCEL>> stereotype
hide <<e_Events_EVENTY>> stereotype
hide <<e_Events_EVENTX>> stereotype
hide <<e_Events_EVENT_CANCEL_2>> stereotype
STATEZ --> [*]

View File

@@ -1,107 +1,7 @@
<?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(&quot;reset&quot;)">
<!-- order=0 -->
</transition>
<transition target="STATE20">
<!-- order=1 -->
</transition>
</state>
<state id="STATE18">
<transition target="STATE19" cond="guardVarEquals(&quot;value3&quot;)">
<!-- 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(&quot;loop12&quot;)">
<!-- order=0 -->
</transition>
<transition target="STATE16">
<!-- order=1 -->
</transition>
</state>
<state id="STATE17">
<transition target="STATE20" cond="guardEventHeaderEquals(&quot;header1&quot;,&quot;foo&quot;)">
<!-- order=0 -->
</transition>
<transition target="STATE16">
<!-- order=1 -->
</transition>
</state>
<state id="STATE16">
<transition target="STATE17" cond="guardVarEquals(&quot;value1&quot;)">
<!-- order=0 -->
</transition>
<transition target="STATE18" cond="guardVarEquals(&quot;value2&quot;)">
<!-- order=1 -->
</transition>
<transition target="STATE19">
<!-- order=2 -->
</transition>
</state>
<state id="STATE11">
<transition target="STATE12" event="Events.EVENT11"/>
<transition target="STATE13" cond="guardVarEquals(&quot;goTo13&quot;)">
<!-- order=0 -->
</transition>
<transition target="STATE14" cond="guardVarEquals(&quot;goTo14&quot;)">
<!-- 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(&quot;goBack10&quot;)">
<!-- order=0 -->
</transition>
<transition target="STATE11">
<!-- order=1 -->
</transition>
</state>
<state id="STATEY">
<transition target="STATEX" cond="guardVarEquals(&quot;value1&quot;)">
<!-- 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"/>
<state id="STATE1">
<transition target="STATE2" event="Events.EVENT1"/>
<transition target="CANCEL" event="Events.EVENT_CANCEL"/>
</state>
<state id="STATE2">
@@ -115,10 +15,34 @@
<!-- order=1 -->
</transition>
</state>
<state id="STATE1">
<transition target="STATE2" event="Events.EVENT1"/>
<state id="STATE3">
<transition target="STATE4" event="Events.EVENT3"/>
<transition target="CANCEL" event="Events.EVENT_CANCEL"/>
</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="STATE5">
<transition target="STATE6" event="Events.EVENT5"/>
<transition target="CANCEL" event="Events.EVENT_CANCEL"/>
</state>
<state id="STATE6">
<transition target="STATE7" event="Events.EVENT6"/>
</state>
<state id="STATE7">
<transition target="STATE8" event="Events.EVENT7"/>
</state>
<state id="STATE8">
<transition target="STATE9" event="Events.EVENT8"/>
<transition target="STATE9" cond="guardVarEquals(&quot;forward9&quot;)">
<!-- order=0 -->
</transition>
<transition target="STATE10">
<!-- order=1 -->
</transition>
</state>
<state id="STATE9">
<transition target="STATE10" event="Events.EVENT9"/>
<transition target="STATE8" cond="guardVarEquals(&quot;stepBack&quot;)">
@@ -131,22 +55,93 @@
<!-- order=2 -->
</transition>
</state>
<state id="STATE8">
<transition target="STATE9" event="Events.EVENT8"/>
<transition target="STATE9" cond="guardVarEquals(&quot;forward9&quot;)">
<state id="STATE10">
<transition target="STATE11" event="Events.EVENT10"/>
</state>
<state id="STATE11">
<transition target="STATE12" event="Events.EVENT11"/>
<transition target="STATE13" cond="guardVarEquals(&quot;goTo13&quot;)">
<!-- order=0 -->
</transition>
<transition target="STATE10">
<transition target="STATE14" cond="guardVarEquals(&quot;goTo14&quot;)">
<!-- order=1 -->
</transition>
<transition target="STATE15">
<!-- order=2 -->
</transition>
</state>
<state id="STATE12">
<transition target="STATE13" event="Events.EVENT12"/>
<transition target="STATE10" cond="guardVarEquals(&quot;goBack10&quot;)">
<!-- order=0 -->
</transition>
<transition target="STATE11">
<!-- order=1 -->
</transition>
</state>
<state id="STATE7">
<transition target="STATE8" event="Events.EVENT7"/>
<state id="STATE13">
<transition target="STATE14" event="Events.EVENT13"/>
</state>
<state id="STATE14">
<transition target="STATE15" event="Events.EVENT14"/>
<transition target="STATE12" cond="guardVarEquals(&quot;loop12&quot;)">
<!-- order=0 -->
</transition>
<transition target="STATE16">
<!-- order=1 -->
</transition>
</state>
<state id="STATE15">
<transition target="STATE16" event="Events.EVENT15"/>
</state>
<state id="STATE16">
<transition target="STATE17" cond="guardVarEquals(&quot;value1&quot;)">
<!-- order=0 -->
</transition>
<transition target="STATE18" cond="guardVarEquals(&quot;value2&quot;)">
<!-- order=1 -->
</transition>
<transition target="STATE19">
<!-- order=2 -->
</transition>
</state>
<state id="CANCEL">
</state>
<state id="STATE6">
<transition target="STATE7" event="Events.EVENT6"/>
<state id="STATEY">
<transition target="STATEX" cond="guardVarEquals(&quot;value1&quot;)">
<!-- order=0 -->
</transition>
<transition target="STATEZ">
<!-- order=1 -->
</transition>
</state>
<state id="STATEX">
</state>
<state id="STATEZ">
</state>
<state id="STATE17">
<transition target="STATE20" cond="guardEventHeaderEquals(&quot;header1&quot;,&quot;foo&quot;)">
<!-- order=0 -->
</transition>
<transition target="STATE16">
<!-- order=1 -->
</transition>
</state>
<state id="STATE18">
<transition target="STATE19" cond="guardVarEquals(&quot;value3&quot;)">
<!-- order=0 -->
</transition>
<transition target="STATE20">
<!-- order=1 -->
</transition>
</state>
<state id="STATE19">
<transition target="STATE1" cond="guardVarEquals(&quot;reset&quot;)">
<!-- order=0 -->
</transition>
<transition target="STATE20">
<!-- order=1 -->
</transition>
</state>
<state id="STATE20">
<transition target="STATE5" cond="guardEventHeaderEquals(&quot;header2&quot;,&quot;bar&quot;)">
@@ -156,9 +151,14 @@
<!-- order=1 -->
</transition>
</state>
<state id="STATE5">
<transition target="STATE6" event="Events.EVENT5"/>
<transition target="CANCEL" event="Events.EVENT_CANCEL"/>
<state id="STATE_EXTRA_1">
<transition target="STATE_EXTRA_3" event="Events.EVENTY"/>
<transition target="CANCEL" event="Events.EVENT_CANCEL_2"/>
</state>
<state id="STATE_EXTRA_3">
</state>
<state id="STATE_EXTRA_2">
<transition target="CANCEL" event="Events.EVENT_CANCEL_2"/>
</state>
</scxml>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 288 KiB

After

Width:  |  Height:  |  Size: 290 KiB

View File

@@ -42,18 +42,18 @@ hide <<choice_color_5>> stereotype
[*] --> STATE1
state STATE17 <<choice>>
state STATE16 <<choice>>
state STATE14 <<choice>>
state STATE12 <<choice>>
state STATE11 <<choice>>
state STATE8 <<choice>>
state STATEY <<choice>>
state STATE20 <<choice>>
state STATE9 <<choice>>
state STATE_EXTRA_1_2 <<choice>>
state STATE19 <<choice>>
state STATE16 <<choice>>
state STATE17 <<choice>>
state STATE18 <<choice>>
state STATE19 <<choice>>
state STATE20 <<choice>>
state STATE11 <<choice>>
state STATE12 <<choice>>
state STATE14 <<choice>>
state STATE9 <<choice>>
state STATE8 <<choice>>
state STATE_EXTRA_1_2 <<choice>>
STATE1 -[#1E90FF,bold]-> STATE2 <<external>> <<e_Events_EVENT1>> : EVENT1
STATE2 -[#1E90FF,bold]-> STATE3 <<external>> <<e_Events_EVENT2>> : EVENT2
@@ -81,52 +81,52 @@ STATEY -[#FF6347,bold]-> STATEZ <<choice_color_0>> : (order=1)
STATE16 -[#4682B4,bold]-> STATE17 <<choice_color_1>> : [guardVarEquals("value1")] (order=0)
STATE16 -[#4682B4,bold]-> STATE18 <<choice_color_1>> : [guardVarEquals("value2")] (order=1)
STATE16 -[#4682B4,bold]-> STATE19 <<choice_color_1>> : (order=2)
STATE17 -[#FF6347,bold]-> STATE20 <<choice_color_0>> : [guardEventHeaderEquals("header1","foo")] (order=0)
STATE17 -[#FF6347,bold]-> STATE16 <<choice_color_0>> : (order=1)
STATE18 -[#FF69B4,bold]-> STATE19 <<choice_color_5>> : [guardVarEquals("value3")] (order=0)
STATE18 -[#FF69B4,bold]-> STATE20 <<choice_color_5>> : (order=1)
STATE17 -[#32CD32,bold]-> STATE20 <<choice_color_2>> : [guardEventHeaderEquals("header1","foo")] (order=0)
STATE17 -[#32CD32,bold]-> STATE16 <<choice_color_2>> : (order=1)
STATE18 -[#FFD700,bold]-> STATE19 <<choice_color_3>> : [guardVarEquals("value3")] (order=0)
STATE18 -[#FFD700,bold]-> STATE20 <<choice_color_3>> : (order=1)
STATE19 -[#6A5ACD,bold]-> STATE1 <<choice_color_4>> : [guardVarEquals("reset")] (order=0)
STATE19 -[#6A5ACD,bold]-> STATE20 <<choice_color_4>> : (order=1)
STATE20 -[#4682B4,bold]-> STATE5 <<choice_color_1>> : [guardEventHeaderEquals("header2","bar")] (order=0)
STATE20 -[#4682B4,bold]-> STATE1 <<choice_color_1>> : (order=1)
STATE11 -[#6A5ACD,bold]-> STATE13 <<choice_color_4>> : [guardVarEquals("goTo13")] (order=0)
STATE11 -[#6A5ACD,bold]-> STATE14 <<choice_color_4>> : [guardVarEquals("goTo14")] (order=1)
STATE11 -[#6A5ACD,bold]-> STATE15 <<choice_color_4>> : (order=2)
STATE12 -[#FFD700,bold]-> STATE10 <<choice_color_3>> : [guardVarEquals("goBack10")] (order=0)
STATE12 -[#FFD700,bold]-> STATE11 <<choice_color_3>> : (order=1)
STATE20 -[#FF69B4,bold]-> STATE5 <<choice_color_5>> : [guardEventHeaderEquals("header2","bar")] (order=0)
STATE20 -[#FF69B4,bold]-> STATE1 <<choice_color_5>> : (order=1)
STATE11 -[#FF6347,bold]-> STATE13 <<choice_color_0>> : [guardVarEquals("goTo13")] (order=0)
STATE11 -[#FF6347,bold]-> STATE14 <<choice_color_0>> : [guardVarEquals("goTo14")] (order=1)
STATE11 -[#FF6347,bold]-> STATE15 <<choice_color_0>> : (order=2)
STATE12 -[#4682B4,bold]-> STATE10 <<choice_color_1>> : [guardVarEquals("goBack10")] (order=0)
STATE12 -[#4682B4,bold]-> STATE11 <<choice_color_1>> : (order=1)
STATE14 -[#32CD32,bold]-> STATE12 <<choice_color_2>> : [guardVarEquals("loop12")] (order=0)
STATE14 -[#32CD32,bold]-> STATE16 <<choice_color_2>> : (order=1)
STATE9 -[#32CD32,bold]-> STATE8 <<choice_color_2>> : [guardVarEquals("stepBack")] (order=0)
STATE9 -[#32CD32,bold]-> STATE7 <<choice_color_2>> : [guardVarEquals("stepBackMore")] (order=1)
STATE9 -[#32CD32,bold]-> STATE6 <<choice_color_2>> : (order=2)
STATE8 -[#FF69B4,bold]-> STATE9 <<choice_color_5>> : [guardVarEquals("forward9")] (order=0)
STATE8 -[#FF69B4,bold]-> STATE10 <<choice_color_5>> : (order=1)
STATE9 -[#FFD700,bold]-> STATE8 <<choice_color_3>> : [guardVarEquals("stepBack")] (order=0)
STATE9 -[#FFD700,bold]-> STATE7 <<choice_color_3>> : [guardVarEquals("stepBackMore")] (order=1)
STATE9 -[#FFD700,bold]-> STATE6 <<choice_color_3>> : (order=2)
STATE8 -[#6A5ACD,bold]-> STATE9 <<choice_color_4>> : [guardVarEquals("forward9")] (order=0)
STATE8 -[#6A5ACD,bold]-> STATE10 <<choice_color_4>> : (order=1)
STATE9 -[#1E90FF,bold]-> STATE_EXTRA_1_1 <<external>> <<e_Events_EVENT_1_1>> : EVENT_1_1
STATE_EXTRA_1_2 -[#FFD700,bold]-> STATE_EXTRA_1_1 <<choice_color_3>> : [guardEventHeaderEquals("header1","foo")] (order=0)
STATE_EXTRA_1_2 -[#FFD700,bold]-> STATE_EXTRA_1_3 <<choice_color_3>> : (order=1)
STATE_EXTRA_1_2 -[#FF69B4,bold]-> STATE_EXTRA_1_1 <<choice_color_5>> : [guardEventHeaderEquals("header1","foo")] (order=0)
STATE_EXTRA_1_2 -[#FF69B4,bold]-> STATE_EXTRA_1_3 <<choice_color_5>> : (order=1)
STATE_EXTRA_1_3 -[#1E90FF,bold]-> STATE_EXTRA_1 <<external>> <<e_Events_EVENT_1_2>> : EVENT_1_2
STATE_EXTRA_1_1 -[#1E90FF,bold]-> CANCEL <<external>> <<e_Events_EVENT_CANCEL_2>> : EVENT_CANCEL_2
STATE_EXTRA_1_2 -[#1E90FF,bold]-> CANCEL <<external>> <<e_Events_EVENT_CANCEL_2>> : EVENT_CANCEL_2
STATE_EXTRA_1 -[#1E90FF,bold]-> CANCEL <<external>> <<e_Events_EVENT_CANCEL_2>> : EVENT_CANCEL_2
hide <<e_Events_EVENT_CANCEL>> stereotype
hide <<e_Events_EVENT9>> stereotype
hide <<e_Events_EVENT13>> stereotype
hide <<e_Events_EVENTY>> stereotype
hide <<e_Events_EVENT8>> stereotype
hide <<e_Events_EVENT14>> stereotype
hide <<e_Events_EVENT7>> stereotype
hide <<e_Events_EVENT15>> stereotype
hide <<e_Events_EVENT6>> stereotype
hide <<e_Events_EVENT5>> stereotype
hide <<e_Events_EVENT4>> stereotype
hide <<e_Events_EVENT3>> stereotype
hide <<e_Events_EVENT2>> stereotype
hide <<e_Events_EVENT1>> stereotype
hide <<e_Events_EVENT_1_2>> stereotype
hide <<e_Events_EVENT_1_1>> stereotype
hide <<e_Events_EVENT2>> stereotype
hide <<e_Events_EVENT3>> stereotype
hide <<e_Events_EVENT4>> stereotype
hide <<e_Events_EVENT5>> stereotype
hide <<e_Events_EVENT6>> stereotype
hide <<e_Events_EVENT7>> stereotype
hide <<e_Events_EVENT8>> stereotype
hide <<e_Events_EVENT9>> stereotype
hide <<e_Events_EVENT10>> stereotype
hide <<e_Events_EVENT11>> stereotype
hide <<e_Events_EVENT12>> stereotype
hide <<e_Events_EVENT13>> stereotype
hide <<e_Events_EVENT14>> stereotype
hide <<e_Events_EVENT15>> stereotype
hide <<e_Events_EVENT_CANCEL>> stereotype
hide <<e_Events_EVENTY>> stereotype
hide <<e_Events_EVENT_1_1>> stereotype
hide <<e_Events_EVENT_1_2>> stereotype
hide <<e_Events_EVENT_CANCEL_2>> stereotype
STATEZ --> [*]

View File

@@ -1,126 +1,41 @@
<?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(&quot;header1&quot;,&quot;foo&quot;)">
<!-- 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(&quot;reset&quot;)">
<!-- order=0 -->
</transition>
<transition target="STATE20">
<!-- order=1 -->
</transition>
</state>
<state id="STATE18">
<transition target="STATE19" cond="guardVarEquals(&quot;value3&quot;)">
<!-- 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(&quot;loop12&quot;)">
<!-- order=0 -->
</transition>
<transition target="STATE16">
<!-- order=1 -->
</transition>
</state>
<state id="STATE17">
<transition target="STATE20" cond="guardEventHeaderEquals(&quot;header1&quot;,&quot;foo&quot;)">
<!-- order=0 -->
</transition>
<transition target="STATE16">
<!-- order=1 -->
</transition>
</state>
<state id="STATE16">
<transition target="STATE17" cond="guardVarEquals(&quot;value1&quot;)">
<!-- order=0 -->
</transition>
<transition target="STATE18" cond="guardVarEquals(&quot;value2&quot;)">
<!-- order=1 -->
</transition>
<transition target="STATE19">
<!-- order=2 -->
</transition>
</state>
<state id="STATE11">
<transition target="STATE12" event="Events.EVENT11"/>
<transition target="STATE13" cond="guardVarEquals(&quot;goTo13&quot;)">
<!-- order=0 -->
</transition>
<transition target="STATE14" cond="guardVarEquals(&quot;goTo14&quot;)">
<!-- 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(&quot;goBack10&quot;)">
<!-- order=0 -->
</transition>
<transition target="STATE11">
<!-- order=1 -->
</transition>
</state>
<state id="STATEY">
<transition target="STATEX" cond="guardVarEquals(&quot;value1&quot;)">
<!-- 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"/>
<state id="STATE1">
<transition target="STATE2" event="Events.EVENT1"/>
<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"/>
<state id="STATE3">
<transition target="STATE4" event="Events.EVENT3"/>
<transition target="CANCEL" event="Events.EVENT_CANCEL"/>
</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="STATE5">
<transition target="STATE6" event="Events.EVENT5"/>
<transition target="CANCEL" event="Events.EVENT_CANCEL"/>
</state>
<state id="STATE6">
<transition target="STATE7" event="Events.EVENT6"/>
</state>
<state id="STATE7">
<transition target="STATE8" event="Events.EVENT7"/>
</state>
<state id="STATE8">
<transition target="STATE9" event="Events.EVENT8"/>
<transition target="STATE9" cond="guardVarEquals(&quot;forward9&quot;)">
<!-- order=0 -->
</transition>
<transition target="STATE10">
<!-- order=1 -->
</transition>
</state>
<state id="STATE9">
<transition target="STATE10" event="Events.EVENT9"/>
<transition target="STATE8" cond="guardVarEquals(&quot;stepBack&quot;)">
@@ -134,22 +49,93 @@
</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(&quot;forward9&quot;)">
<state id="STATE10">
<transition target="STATE11" event="Events.EVENT10"/>
</state>
<state id="STATE11">
<transition target="STATE12" event="Events.EVENT11"/>
<transition target="STATE13" cond="guardVarEquals(&quot;goTo13&quot;)">
<!-- order=0 -->
</transition>
<transition target="STATE10">
<transition target="STATE14" cond="guardVarEquals(&quot;goTo14&quot;)">
<!-- order=1 -->
</transition>
<transition target="STATE15">
<!-- order=2 -->
</transition>
</state>
<state id="STATE12">
<transition target="STATE13" event="Events.EVENT12"/>
<transition target="STATE10" cond="guardVarEquals(&quot;goBack10&quot;)">
<!-- order=0 -->
</transition>
<transition target="STATE11">
<!-- order=1 -->
</transition>
</state>
<state id="STATE7">
<transition target="STATE8" event="Events.EVENT7"/>
<state id="STATE13">
<transition target="STATE14" event="Events.EVENT13"/>
</state>
<state id="STATE14">
<transition target="STATE15" event="Events.EVENT14"/>
<transition target="STATE12" cond="guardVarEquals(&quot;loop12&quot;)">
<!-- order=0 -->
</transition>
<transition target="STATE16">
<!-- order=1 -->
</transition>
</state>
<state id="STATE15">
<transition target="STATE16" event="Events.EVENT15"/>
</state>
<state id="STATE16">
<transition target="STATE17" cond="guardVarEquals(&quot;value1&quot;)">
<!-- order=0 -->
</transition>
<transition target="STATE18" cond="guardVarEquals(&quot;value2&quot;)">
<!-- order=1 -->
</transition>
<transition target="STATE19">
<!-- order=2 -->
</transition>
</state>
<state id="CANCEL">
</state>
<state id="STATE6">
<transition target="STATE7" event="Events.EVENT6"/>
<state id="STATEY">
<transition target="STATEX" cond="guardVarEquals(&quot;value1&quot;)">
<!-- order=0 -->
</transition>
<transition target="STATEZ">
<!-- order=1 -->
</transition>
</state>
<state id="STATEX">
</state>
<state id="STATEZ">
</state>
<state id="STATE17">
<transition target="STATE20" cond="guardEventHeaderEquals(&quot;header1&quot;,&quot;foo&quot;)">
<!-- order=0 -->
</transition>
<transition target="STATE16">
<!-- order=1 -->
</transition>
</state>
<state id="STATE18">
<transition target="STATE19" cond="guardVarEquals(&quot;value3&quot;)">
<!-- order=0 -->
</transition>
<transition target="STATE20">
<!-- order=1 -->
</transition>
</state>
<state id="STATE19">
<transition target="STATE1" cond="guardVarEquals(&quot;reset&quot;)">
<!-- order=0 -->
</transition>
<transition target="STATE20">
<!-- order=1 -->
</transition>
</state>
<state id="STATE20">
<transition target="STATE5" cond="guardEventHeaderEquals(&quot;header2&quot;,&quot;bar&quot;)">
@@ -159,9 +145,23 @@
<!-- order=1 -->
</transition>
</state>
<state id="STATE5">
<transition target="STATE6" event="Events.EVENT5"/>
<transition target="CANCEL" event="Events.EVENT_CANCEL"/>
<state id="STATE_EXTRA_1_1">
<transition target="CANCEL" event="Events.EVENT_CANCEL_2"/>
</state>
<state id="STATE_EXTRA_1_2">
<transition target="STATE_EXTRA_1_1" cond="guardEventHeaderEquals(&quot;header1&quot;,&quot;foo&quot;)">
<!-- 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_3">
<transition target="STATE_EXTRA_1" event="Events.EVENT_1_2"/>
</state>
<state id="STATE_EXTRA_1">
<transition target="CANCEL" event="Events.EVENT_CANCEL_2"/>
</state>
</scxml>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

View File

@@ -52,9 +52,9 @@ REGION1_STATE2 -[#8A2BE2,bold]-> JOIN <<join>>
REGION2_STATE2 -[#8A2BE2,bold]-> JOIN <<join>>
JOIN -[#1E90FF,bold]-> END <<external>> <<e_Events_TO_END>> : TO_END
hide <<e_Events_TO_FORK>> stereotype
hide <<e_Events_R1_NEXT>> stereotype
hide <<e_Events_R2_NEXT>> stereotype
hide <<e_Events_TO_END>> stereotype
hide <<e_Events_R1_NEXT>> stereotype
END --> [*]
@enduml

View File

@@ -1,28 +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="START">
<transition target="FORK" event="Events.TO_FORK"/>
</state>
<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 id="REGION1_STATE1">
<transition target="REGION1_STATE2" event="Events.R1_NEXT"/>
</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 id="REGION2_STATE2">
<transition target="JOIN"/>
</state>
<state id="JOIN">
<transition target="END" event="Events.TO_END"/>
</state>
<state id="END">
</state>
</scxml>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 106 KiB

After

Width:  |  Height:  |  Size: 101 KiB

View File

@@ -42,9 +42,9 @@ hide <<choice_color_5>> stereotype
[*] --> STATE1
state STATE8 <<choice>>
state STATEY <<choice>>
state STATE9 <<choice>>
state STATE8 <<choice>>
STATE1 -[#1E90FF,bold]-> STATE2 <<external>> <<e_Events_EVENT1>> : EVENT1
STATE2 -[#1E90FF,bold]-> STATE3 <<external>> <<e_Events_EVENT2>> : EVENT2
@@ -61,27 +61,27 @@ STATE3 -[#1E90FF,bold]-> CANCEL <<external>> <<e_Events_EVENT_CANCEL>> : EVENT_C
STATE4 -[#1E90FF,bold]-> CANCEL <<external>> <<e_Events_EVENT_CANCEL>> : EVENT_CANCEL
STATE5 -[#1E90FF,bold]-> CANCEL <<external>> <<e_Events_EVENT_CANCEL>> : EVENT_CANCEL
STATE4 -[#1E90FF,bold]-> STATEY <<external>> <<e_Events_EVENTY>> : EVENTY
STATEY -[#4682B4,bold]-> STATEX <<choice_color_1>> : [guardVarEquals("value1")] (order=0)
STATEY -[#4682B4,bold]-> STATEZ <<choice_color_1>> : (order=1)
STATE9 -[#32CD32,bold]-> STATE8 <<choice_color_2>> : [guardVarEquals("stepBack")] (order=0)
STATE9 -[#32CD32,bold]-> STATE7 <<choice_color_2>> : [guardVarEquals("stepBackMore")] (order=1)
STATE9 -[#32CD32,bold]-> STATE6 <<choice_color_2>> : (order=2)
STATE8 -[#FF6347,bold]-> STATE9 <<choice_color_0>> : [guardVarEquals("forward9")] (order=0)
STATE8 -[#FF6347,bold]-> STATE10 <<choice_color_0>> : (order=1)
STATEY -[#FF6347,bold]-> STATEX <<choice_color_0>> : [guardVarEquals("value1")] (order=0)
STATEY -[#FF6347,bold]-> STATEZ <<choice_color_0>> : (order=1)
STATE9 -[#4682B4,bold]-> STATE8 <<choice_color_1>> : [guardVarEquals("stepBack")] (order=0)
STATE9 -[#4682B4,bold]-> STATE7 <<choice_color_1>> : [guardVarEquals("stepBackMore")] (order=1)
STATE9 -[#4682B4,bold]-> STATE6 <<choice_color_1>> : (order=2)
STATE8 -[#32CD32,bold]-> STATE9 <<choice_color_2>> : [guardVarEquals("forward9")] (order=0)
STATE8 -[#32CD32,bold]-> STATE10 <<choice_color_2>> : (order=1)
STATE3 -[#1E90FF,bold]-> STATE_EXTRA_2 <<external>> <<e_Events_EVENT_1_2>> : EVENT_1_2
STATE_EXTRA_2 -[#1E90FF,bold]-> STATE_EXTRA_3 <<external>> <<e_Events_EVENT_1_2>> : EVENT_1_2
STATE_EXTRA_3 -[#1E90FF,bold]-> CANCEL <<external>> <<e_Events_EVENT_CANCEL>> : EVENT_CANCEL
hide <<e_Events_EVENT_CANCEL>> stereotype
hide <<e_Events_EVENT9>> stereotype
hide <<e_Events_EVENTY>> stereotype
hide <<e_Events_EVENT8>> stereotype
hide <<e_Events_EVENT7>> stereotype
hide <<e_Events_EVENT6>> stereotype
hide <<e_Events_EVENT5>> stereotype
hide <<e_Events_EVENT4>> stereotype
hide <<e_Events_EVENT3>> stereotype
hide <<e_Events_EVENT2>> stereotype
hide <<e_Events_EVENT1>> stereotype
hide <<e_Events_EVENT2>> stereotype
hide <<e_Events_EVENT3>> stereotype
hide <<e_Events_EVENT4>> stereotype
hide <<e_Events_EVENT5>> stereotype
hide <<e_Events_EVENT6>> stereotype
hide <<e_Events_EVENT7>> stereotype
hide <<e_Events_EVENT8>> stereotype
hide <<e_Events_EVENT9>> stereotype
hide <<e_Events_EVENT_CANCEL>> stereotype
hide <<e_Events_EVENTY>> stereotype
hide <<e_Events_EVENT_1_2>> stereotype
STATEZ --> [*]

View File

@@ -1,32 +1,41 @@
<?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 id="STATE1">
<transition target="STATE2" event="Events.EVENT1"/>
<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="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"/>
<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="STATE5">
<transition target="STATE6" event="Events.EVENT5"/>
<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 id="STATE6">
<transition target="STATE7" event="Events.EVENT6"/>
</state>
<state id="STATE10">
<state id="STATE7">
<transition target="STATE8" event="Events.EVENT7"/>
</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 id="STATE8">
<transition target="STATE9" event="Events.EVENT8"/>
<transition target="STATE9" cond="guardVarEquals(&quot;forward9&quot;)">
<!-- order=0 -->
</transition>
<transition target="STATE10">
<!-- order=1 -->
</transition>
</state>
<state id="STATE9">
<transition target="STATE10" event="Events.EVENT9"/>
@@ -40,6 +49,10 @@
<!-- order=2 -->
</transition>
</state>
<state id="STATE10">
</state>
<state id="CANCEL">
</state>
<state id="STATEY">
<transition target="STATEX" cond="guardVarEquals(&quot;value1&quot;)">
<!-- order=0 -->
@@ -48,27 +61,14 @@
<!-- order=1 -->
</transition>
</state>
<state id="STATE8">
<transition target="STATE9" event="Events.EVENT8"/>
<transition target="STATE9" cond="guardVarEquals(&quot;forward9&quot;)">
<!-- order=0 -->
</transition>
<transition target="STATE10">
<!-- order=1 -->
</transition>
</state>
<state id="STATEX">
</state>
<state id="STATE7">
<transition target="STATE8" event="Events.EVENT7"/>
<state id="STATEZ">
</state>
<state id="CANCEL">
<state id="STATE_EXTRA_2">
<transition target="STATE_EXTRA_3" event="Events.EVENT_1_2"/>
</state>
<state id="STATE6">
<transition target="STATE7" event="Events.EVENT6"/>
</state>
<state id="STATE5">
<transition target="STATE6" event="Events.EVENT5"/>
<state id="STATE_EXTRA_3">
<transition target="CANCEL" event="Events.EVENT_CANCEL"/>
</state>
</scxml>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 113 KiB

After

Width:  |  Height:  |  Size: 108 KiB

View File

@@ -42,9 +42,9 @@ hide <<choice_color_5>> stereotype
[*] --> STATE1
state STATE8 <<choice>>
state STATEY <<choice>>
state STATE9 <<choice>>
state STATE8 <<choice>>
STATE1 -[#1E90FF,bold]-> STATE2 <<external>> <<e_Events_EVENT1>> : EVENT1
STATE2 -[#1E90FF,bold]-> STATE3 <<external>> <<e_Events_EVENT2>> : EVENT2
@@ -61,30 +61,30 @@ STATE3 -[#1E90FF,bold]-> CANCEL <<external>> <<e_Events_EVENT_CANCEL>> : EVENT_C
STATE4 -[#1E90FF,bold]-> CANCEL <<external>> <<e_Events_EVENT_CANCEL>> : EVENT_CANCEL
STATE5 -[#1E90FF,bold]-> CANCEL <<external>> <<e_Events_EVENT_CANCEL>> : EVENT_CANCEL
STATE4 -[#1E90FF,bold]-> STATEY <<external>> <<e_Events_EVENTY>> : EVENTY
STATEY -[#4682B4,bold]-> STATEX <<choice_color_1>> : [guardVarEquals("value1")] (order=0)
STATEY -[#4682B4,bold]-> STATEZ <<choice_color_1>> : (order=1)
STATE9 -[#32CD32,bold]-> STATE8 <<choice_color_2>> : [guardVarEquals("stepBack")] (order=0)
STATE9 -[#32CD32,bold]-> STATE7 <<choice_color_2>> : [guardVarEquals("stepBackMore")] (order=1)
STATE9 -[#32CD32,bold]-> STATE6 <<choice_color_2>> : (order=2)
STATE8 -[#FF6347,bold]-> STATE9 <<choice_color_0>> : [guardVarEquals("forward9")] (order=0)
STATE8 -[#FF6347,bold]-> STATE10 <<choice_color_0>> : (order=1)
STATEY -[#FF6347,bold]-> STATEX <<choice_color_0>> : [guardVarEquals("value1")] (order=0)
STATEY -[#FF6347,bold]-> STATEZ <<choice_color_0>> : (order=1)
STATE9 -[#4682B4,bold]-> STATE8 <<choice_color_1>> : [guardVarEquals("stepBack")] (order=0)
STATE9 -[#4682B4,bold]-> STATE7 <<choice_color_1>> : [guardVarEquals("stepBackMore")] (order=1)
STATE9 -[#4682B4,bold]-> STATE6 <<choice_color_1>> : (order=2)
STATE8 -[#32CD32,bold]-> STATE9 <<choice_color_2>> : [guardVarEquals("forward9")] (order=0)
STATE8 -[#32CD32,bold]-> STATE10 <<choice_color_2>> : (order=1)
STATE3 -[#1E90FF,bold]-> STATE_EXTRA_1 <<external>> <<e_Events_EVENT_1_2>> : EVENT_1_2
STATE_EXTRA_1 -[#1E90FF,bold]-> STATE_EXTRA_2 <<external>> <<e_Events_EVENT_1_3>> : EVENT_1_3
STATE_EXTRA_1 -[#1E90FF,bold]-> CANCEL <<external>> <<e_Events_EVENT_CANCEL>> : EVENT_CANCEL
STATE_EXTRA_2 -[#1E90FF,bold]-> CANCEL <<external>> <<e_Events_EVENT_CANCEL>> : EVENT_CANCEL
hide <<e_Events_EVENT_CANCEL>> stereotype
hide <<e_Events_EVENT9>> stereotype
hide <<e_Events_EVENTY>> stereotype
hide <<e_Events_EVENT8>> stereotype
hide <<e_Events_EVENT7>> stereotype
hide <<e_Events_EVENT6>> stereotype
hide <<e_Events_EVENT5>> stereotype
hide <<e_Events_EVENT4>> stereotype
hide <<e_Events_EVENT3>> stereotype
hide <<e_Events_EVENT2>> stereotype
hide <<e_Events_EVENT_1_3>> stereotype
hide <<e_Events_EVENT1>> stereotype
hide <<e_Events_EVENT2>> stereotype
hide <<e_Events_EVENT3>> stereotype
hide <<e_Events_EVENT4>> stereotype
hide <<e_Events_EVENT5>> stereotype
hide <<e_Events_EVENT6>> stereotype
hide <<e_Events_EVENT7>> stereotype
hide <<e_Events_EVENT8>> stereotype
hide <<e_Events_EVENT9>> stereotype
hide <<e_Events_EVENT_CANCEL>> stereotype
hide <<e_Events_EVENTY>> stereotype
hide <<e_Events_EVENT_1_2>> stereotype
hide <<e_Events_EVENT_1_3>> stereotype
STATEZ --> [*]
@enduml

View File

@@ -1,29 +1,41 @@
<?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 id="STATE1">
<transition target="STATE2" event="Events.EVENT1"/>
<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="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"/>
<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="STATE5">
<transition target="STATE6" event="Events.EVENT5"/>
<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 id="STATE6">
<transition target="STATE7" event="Events.EVENT6"/>
</state>
<state id="STATE10">
<state id="STATE7">
<transition target="STATE8" event="Events.EVENT7"/>
</state>
<state id="STATEZ">
</state>
<state id="STATE_EXTRA_2">
<transition target="CANCEL" event="Events.EVENT_CANCEL"/>
<state id="STATE8">
<transition target="STATE9" event="Events.EVENT8"/>
<transition target="STATE9" cond="guardVarEquals(&quot;forward9&quot;)">
<!-- order=0 -->
</transition>
<transition target="STATE10">
<!-- order=1 -->
</transition>
</state>
<state id="STATE9">
<transition target="STATE10" event="Events.EVENT9"/>
@@ -37,6 +49,10 @@
<!-- order=2 -->
</transition>
</state>
<state id="STATE10">
</state>
<state id="CANCEL">
</state>
<state id="STATEY">
<transition target="STATEX" cond="guardVarEquals(&quot;value1&quot;)">
<!-- order=0 -->
@@ -45,31 +61,15 @@
<!-- order=1 -->
</transition>
</state>
<state id="STATEX">
</state>
<state id="STATEZ">
</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(&quot;forward9&quot;)">
<!-- 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"/>
<state id="STATE_EXTRA_2">
<transition target="CANCEL" event="Events.EVENT_CANCEL"/>
</state>
</scxml>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 44 KiB

After

Width:  |  Height:  |  Size: 43 KiB

View File

@@ -57,10 +57,10 @@ PAID1 -[#FF6347,bold]-> CANCELED <<choice_color_0>> : (order=3)
PAID2 -[#1E90FF,bold]-> CANCELED <<external>>
PAID3 -[#1E90FF,bold]-> CANCELED <<external>>
PAID2 -[#1E90FF,bold]-> PAID2 <<external>> <<e_OrderEvents_ABCD>> : ABCD / λ, action2
hide <<e_OrderEvents_CANCEL>> stereotype
hide <<e_OrderEvents_FULFILL>> stereotype
hide <<e_OrderEvents_ABCD>> stereotype
hide <<e_OrderEvents_PAY>> stereotype
hide <<e_OrderEvents_FULFILL>> stereotype
hide <<e_OrderEvents_CANCEL>> stereotype
hide <<e_OrderEvents_ABCD>> stereotype
CANCELED --> [*]
FULFILLED --> [*]

View File

@@ -1,5 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<scxml xmlns="http://www.w3.org/2005/07/scxml" version="1.0" initial="SUBMITTED">
<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="FULFILLED">
</state>
<state id="CANCELED">
</state>
<state id="PAID1">
<transition target="PAID2" cond="λ">
<!-- order=0 -->
@@ -14,28 +28,14 @@
<!-- 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 id="PAID2">
<transition target="CANCELED"/>
<transition target="PAID2" event="OrderEvents.ABCD"/>
</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>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 193 KiB

After

Width:  |  Height:  |  Size: 196 KiB

View File

@@ -42,17 +42,17 @@ hide <<choice_color_5>> stereotype
[*] --> STATE1
state STATE17 <<choice>>
state STATE16 <<choice>>
state STATE14 <<choice>>
state STATE12 <<choice>>
state STATE11 <<choice>>
state STATE8 <<choice>>
state STATEY <<choice>>
state STATE20 <<choice>>
state STATE9 <<choice>>
state STATE19 <<choice>>
state STATE16 <<choice>>
state STATE17 <<choice>>
state STATE18 <<choice>>
state STATE19 <<choice>>
state STATE20 <<choice>>
state STATE11 <<choice>>
state STATE12 <<choice>>
state STATE14 <<choice>>
state STATE9 <<choice>>
state STATE8 <<choice>>
STATE1 -[#1E90FF,bold]-> STATE2 <<external>> <<e_Events_EVENT1>> : EVENT1
STATE2 -[#1E90FF,bold]-> STATE3 <<external>> <<e_Events_EVENT2>> : EVENT2
@@ -75,44 +75,44 @@ STATEY -[#FF6347,bold]-> STATEZ <<choice_color_0>> : (order=1)
STATE16 -[#4682B4,bold]-> STATE17 <<choice_color_1>> : [guardVarEquals("value1")] (order=0)
STATE16 -[#4682B4,bold]-> STATE18 <<choice_color_1>> : [guardVarEquals("value2")] (order=1)
STATE16 -[#4682B4,bold]-> STATE19 <<choice_color_1>> : (order=2)
STATE17 -[#FF6347,bold]-> STATE20 <<choice_color_0>> : [guardEventHeaderEquals("header1","foo")] (order=0)
STATE17 -[#FF6347,bold]-> STATE16 <<choice_color_0>> : (order=1)
STATE18 -[#6A5ACD,bold]-> STATE19 <<choice_color_4>> : [guardVarEquals("value3")] (order=0)
STATE18 -[#6A5ACD,bold]-> STATE20 <<choice_color_4>> : (order=1)
STATE19 -[#FFD700,bold]-> STATE1 <<choice_color_3>> : [guardVarEquals("reset")] (order=0)
STATE19 -[#FFD700,bold]-> STATE20 <<choice_color_3>> : (order=1)
STATE20 -[#4682B4,bold]-> STATE5 <<choice_color_1>> : [guardEventHeaderEquals("header2","bar")] (order=0)
STATE20 -[#4682B4,bold]-> STATE1 <<choice_color_1>> : (order=1)
STATE11 -[#6A5ACD,bold]-> STATE13 <<choice_color_4>> : [guardVarEquals("goTo13")] (order=0)
STATE11 -[#6A5ACD,bold]-> STATE14 <<choice_color_4>> : [guardVarEquals("goTo14")] (order=1)
STATE11 -[#6A5ACD,bold]-> STATE15 <<choice_color_4>> : (order=2)
STATE12 -[#FFD700,bold]-> STATE10 <<choice_color_3>> : [guardVarEquals("goBack10")] (order=0)
STATE12 -[#FFD700,bold]-> STATE11 <<choice_color_3>> : (order=1)
STATE17 -[#32CD32,bold]-> STATE20 <<choice_color_2>> : [guardEventHeaderEquals("header1","foo")] (order=0)
STATE17 -[#32CD32,bold]-> STATE16 <<choice_color_2>> : (order=1)
STATE18 -[#FFD700,bold]-> STATE19 <<choice_color_3>> : [guardVarEquals("value3")] (order=0)
STATE18 -[#FFD700,bold]-> STATE20 <<choice_color_3>> : (order=1)
STATE19 -[#6A5ACD,bold]-> STATE1 <<choice_color_4>> : [guardVarEquals("reset")] (order=0)
STATE19 -[#6A5ACD,bold]-> STATE20 <<choice_color_4>> : (order=1)
STATE20 -[#FF69B4,bold]-> STATE5 <<choice_color_5>> : [guardEventHeaderEquals("header2","bar")] (order=0)
STATE20 -[#FF69B4,bold]-> STATE1 <<choice_color_5>> : (order=1)
STATE11 -[#FF6347,bold]-> STATE13 <<choice_color_0>> : [guardVarEquals("goTo13")] (order=0)
STATE11 -[#FF6347,bold]-> STATE14 <<choice_color_0>> : [guardVarEquals("goTo14")] (order=1)
STATE11 -[#FF6347,bold]-> STATE15 <<choice_color_0>> : (order=2)
STATE12 -[#4682B4,bold]-> STATE10 <<choice_color_1>> : [guardVarEquals("goBack10")] (order=0)
STATE12 -[#4682B4,bold]-> STATE11 <<choice_color_1>> : (order=1)
STATE14 -[#32CD32,bold]-> STATE12 <<choice_color_2>> : [guardVarEquals("loop12")] (order=0)
STATE14 -[#32CD32,bold]-> STATE16 <<choice_color_2>> : (order=1)
STATE9 -[#32CD32,bold]-> STATE8 <<choice_color_2>> : [guardVarEquals("stepBack")] (order=0)
STATE9 -[#32CD32,bold]-> STATE7 <<choice_color_2>> : [guardVarEquals("stepBackMore")] (order=1)
STATE9 -[#32CD32,bold]-> STATE6 <<choice_color_2>> : (order=2)
STATE8 -[#FF69B4,bold]-> STATE9 <<choice_color_5>> : [guardVarEquals("forward9")] (order=0)
STATE8 -[#FF69B4,bold]-> STATE10 <<choice_color_5>> : (order=1)
STATE9 -[#FFD700,bold]-> STATE8 <<choice_color_3>> : [guardVarEquals("stepBack")] (order=0)
STATE9 -[#FFD700,bold]-> STATE7 <<choice_color_3>> : [guardVarEquals("stepBackMore")] (order=1)
STATE9 -[#FFD700,bold]-> STATE6 <<choice_color_3>> : (order=2)
STATE8 -[#6A5ACD,bold]-> STATE9 <<choice_color_4>> : [guardVarEquals("forward9")] (order=0)
STATE8 -[#6A5ACD,bold]-> STATE10 <<choice_color_4>> : (order=1)
STATE5 -[#1E90FF,bold]-> STATE_EXTRA_1 <<external>> <<e_Events_EVENTX>> : EVENTX
hide <<e_Events_EVENT9>> stereotype
hide <<e_Events_EVENT13>> stereotype
hide <<e_Events_EVENTY>> stereotype
hide <<e_Events_EVENT8>> stereotype
hide <<e_Events_EVENT14>> stereotype
hide <<e_Events_EVENTX>> stereotype
hide <<e_Events_EVENT7>> stereotype
hide <<e_Events_EVENT15>> stereotype
hide <<e_Events_EVENT6>> stereotype
hide <<e_Events_EVENT5>> stereotype
hide <<e_Events_EVENT4>> stereotype
hide <<e_Events_EVENT3>> stereotype
hide <<e_Events_EVENT2>> stereotype
hide <<e_Events_EVENT1>> stereotype
hide <<e_Events_EVENT2>> stereotype
hide <<e_Events_EVENT3>> stereotype
hide <<e_Events_EVENT4>> stereotype
hide <<e_Events_EVENT5>> stereotype
hide <<e_Events_EVENT6>> stereotype
hide <<e_Events_EVENT7>> stereotype
hide <<e_Events_EVENT8>> stereotype
hide <<e_Events_EVENT9>> stereotype
hide <<e_Events_EVENT10>> stereotype
hide <<e_Events_EVENT11>> stereotype
hide <<e_Events_EVENT12>> stereotype
hide <<e_Events_EVENT13>> stereotype
hide <<e_Events_EVENT14>> stereotype
hide <<e_Events_EVENT15>> stereotype
hide <<e_Events_EVENTY>> stereotype
hide <<e_Events_EVENTX>> stereotype
STATEZ --> [*]
@enduml

View File

@@ -1,85 +1,37 @@
<?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 id="STATE1">
<transition target="STATE2" event="Events.EVENT1"/>
</state>
<state id="STATE2">
<transition target="STATE3" event="Events.EVENT2"/>
</state>
<state id="STATE1">
<transition target="STATE2" event="Events.EVENT1"/>
<state id="STATE3">
<transition target="STATE4" event="Events.EVENT3"/>
</state>
<state id="STATE19">
<transition target="STATE1" cond="guardVarEquals(&quot;reset&quot;)">
<state id="STATE4">
<transition target="STATE5" event="Events.EVENT4"/>
<transition target="STATEY" event="Events.EVENTY"/>
</state>
<state id="STATE5">
<transition target="STATE6" event="Events.EVENT5"/>
<transition target="STATE_EXTRA_1" event="Events.EVENTX"/>
</state>
<state id="STATE6">
<transition target="STATE7" event="Events.EVENT6"/>
</state>
<state id="STATE7">
<transition target="STATE8" event="Events.EVENT7"/>
</state>
<state id="STATE8">
<transition target="STATE9" event="Events.EVENT8"/>
<transition target="STATE9" cond="guardVarEquals(&quot;forward9&quot;)">
<!-- order=0 -->
</transition>
<transition target="STATE20">
<transition target="STATE10">
<!-- order=1 -->
</transition>
</state>
<state id="STATE18">
<transition target="STATE19" cond="guardVarEquals(&quot;value3&quot;)">
<!-- 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(&quot;loop12&quot;)">
<!-- order=0 -->
</transition>
<transition target="STATE16">
<!-- order=1 -->
</transition>
</state>
<state id="STATE17">
<transition target="STATE20" cond="guardEventHeaderEquals(&quot;header1&quot;,&quot;foo&quot;)">
<!-- order=0 -->
</transition>
<transition target="STATE16">
<!-- order=1 -->
</transition>
</state>
<state id="STATE16">
<transition target="STATE17" cond="guardVarEquals(&quot;value1&quot;)">
<!-- order=0 -->
</transition>
<transition target="STATE18" cond="guardVarEquals(&quot;value2&quot;)">
<!-- order=1 -->
</transition>
<transition target="STATE19">
<!-- order=2 -->
</transition>
</state>
<state id="STATE11">
<transition target="STATE12" event="Events.EVENT11"/>
<transition target="STATE13" cond="guardVarEquals(&quot;goTo13&quot;)">
<!-- order=0 -->
</transition>
<transition target="STATE14" cond="guardVarEquals(&quot;goTo14&quot;)">
<!-- 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(&quot;stepBack&quot;)">
@@ -92,6 +44,21 @@
<!-- order=2 -->
</transition>
</state>
<state id="STATE10">
<transition target="STATE11" event="Events.EVENT10"/>
</state>
<state id="STATE11">
<transition target="STATE12" event="Events.EVENT11"/>
<transition target="STATE13" cond="guardVarEquals(&quot;goTo13&quot;)">
<!-- order=0 -->
</transition>
<transition target="STATE14" cond="guardVarEquals(&quot;goTo14&quot;)">
<!-- order=1 -->
</transition>
<transition target="STATE15">
<!-- order=2 -->
</transition>
</state>
<state id="STATE12">
<transition target="STATE13" event="Events.EVENT12"/>
<transition target="STATE10" cond="guardVarEquals(&quot;goBack10&quot;)">
@@ -101,6 +68,32 @@
<!-- order=1 -->
</transition>
</state>
<state id="STATE13">
<transition target="STATE14" event="Events.EVENT13"/>
</state>
<state id="STATE14">
<transition target="STATE15" event="Events.EVENT14"/>
<transition target="STATE12" cond="guardVarEquals(&quot;loop12&quot;)">
<!-- order=0 -->
</transition>
<transition target="STATE16">
<!-- order=1 -->
</transition>
</state>
<state id="STATE15">
<transition target="STATE16" event="Events.EVENT15"/>
</state>
<state id="STATE16">
<transition target="STATE17" cond="guardVarEquals(&quot;value1&quot;)">
<!-- order=0 -->
</transition>
<transition target="STATE18" cond="guardVarEquals(&quot;value2&quot;)">
<!-- order=1 -->
</transition>
<transition target="STATE19">
<!-- order=2 -->
</transition>
</state>
<state id="STATEY">
<transition target="STATEX" cond="guardVarEquals(&quot;value1&quot;)">
<!-- order=0 -->
@@ -109,24 +102,33 @@
<!-- order=1 -->
</transition>
</state>
<state id="STATE_EXTRA_1">
<state id="STATEX">
</state>
<state id="STATE8">
<transition target="STATE9" event="Events.EVENT8"/>
<transition target="STATE9" cond="guardVarEquals(&quot;forward9&quot;)">
<state id="STATEZ">
</state>
<state id="STATE17">
<transition target="STATE20" cond="guardEventHeaderEquals(&quot;header1&quot;,&quot;foo&quot;)">
<!-- order=0 -->
</transition>
<transition target="STATE10">
<transition target="STATE16">
<!-- order=1 -->
</transition>
</state>
<state id="STATEX">
<state id="STATE18">
<transition target="STATE19" cond="guardVarEquals(&quot;value3&quot;)">
<!-- order=0 -->
</transition>
<transition target="STATE20">
<!-- order=1 -->
</transition>
</state>
<state id="STATE7">
<transition target="STATE8" event="Events.EVENT7"/>
</state>
<state id="STATE6">
<transition target="STATE7" event="Events.EVENT6"/>
<state id="STATE19">
<transition target="STATE1" cond="guardVarEquals(&quot;reset&quot;)">
<!-- order=0 -->
</transition>
<transition target="STATE20">
<!-- order=1 -->
</transition>
</state>
<state id="STATE20">
<transition target="STATE5" cond="guardEventHeaderEquals(&quot;header2&quot;,&quot;bar&quot;)">
@@ -136,9 +138,7 @@
<!-- order=1 -->
</transition>
</state>
<state id="STATE5">
<transition target="STATE6" event="Events.EVENT5"/>
<transition target="STATE_EXTRA_1" event="Events.EVENTX"/>
<state id="STATE_EXTRA_1">
</state>
</scxml>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 50 KiB

After

Width:  |  Height:  |  Size: 52 KiB

View File

@@ -42,27 +42,27 @@ hide <<choice_color_5>> stereotype
[*] --> SUBMITTED
state PAID <<choice>>
state SUBMITTED <<choice>>
state PAID <<choice>>
SUBMITTED -[#1E90FF,bold]-> PAID <<external>> <<e_OrderEvents_PAY>> : PAY
PAID -[#1E90FF,bold]-> FULFILLED <<external>> <<e_OrderEvents_FULFILL>> : FULFILL
SUBMITTED -[#1E90FF,bold]-> CANCELED <<external>> <<e_OrderEvents_CANCEL>> : CANCEL [λ]
PAID -[#1E90FF,bold]-> CANCELED <<external>> <<e_OrderEvents_CANCEL>> : CANCEL
SUBMITTED -[#1E90FF,bold]-> SUBMITTED <<external>> <<e_OrderEvents_ABCD>> : ABCD
SUBMITTED -[#4682B4,bold]-> PAID2 <<choice_color_1>> : [λ] (order=0)
SUBMITTED -[#4682B4,bold]-> PAID3 <<choice_color_1>> : (order=1)
PAID -[#FF6347,bold]-> PAID1 <<choice_color_0>> : [λ] (order=0)
PAID -[#FF6347,bold]-> PAID2 <<choice_color_0>> : [guard1] (order=1)
PAID -[#FF6347,bold]-> HAPPEN <<choice_color_0>> : [λ] (order=2)
PAID -[#FF6347,bold]-> PAID3 <<choice_color_0>> : (order=3)
SUBMITTED -[#FF6347,bold]-> PAID2 <<choice_color_0>> : [λ] (order=0)
SUBMITTED -[#FF6347,bold]-> PAID3 <<choice_color_0>> : (order=1)
PAID -[#4682B4,bold]-> PAID1 <<choice_color_1>> : [λ] (order=0)
PAID -[#4682B4,bold]-> PAID2 <<choice_color_1>> : [guard1] (order=1)
PAID -[#4682B4,bold]-> HAPPEN <<choice_color_1>> : [λ] (order=2)
PAID -[#4682B4,bold]-> PAID3 <<choice_color_1>> : (order=3)
PAID2 -[#1E90FF,bold]-> CANCELED <<external>>
PAID3 -[#1E90FF,bold]-> CANCELED <<external>>
PAID1 -[#1E90FF,bold]-> PAID1 <<external>> <<e_OrderEvents_ABCD>> : ABCD / λ, action2
hide <<e_OrderEvents_CANCEL>> stereotype
hide <<e_OrderEvents_FULFILL>> stereotype
hide <<e_OrderEvents_ABCD>> stereotype
hide <<e_OrderEvents_PAY>> stereotype
hide <<e_OrderEvents_FULFILL>> stereotype
hide <<e_OrderEvents_CANCEL>> stereotype
hide <<e_OrderEvents_ABCD>> stereotype
CANCELED --> [*]
FULFILLED --> [*]

View File

@@ -1,8 +1,5 @@
<?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="λ"/>
@@ -30,17 +27,20 @@
<!-- order=3 -->
</transition>
</state>
<state id="CANCELED">
</state>
<state id="FULFILLED">
</state>
<state id="PAID3">
<transition target="CANCELED"/>
</state>
<state id="HAPPEN">
<state id="CANCELED">
</state>
<state id="PAID2">
<transition target="CANCELED"/>
</state>
<state id="PAID3">
<transition target="CANCELED"/>
</state>
<state id="PAID1">
<transition target="PAID1" event="OrderEvents.ABCD"/>
</state>
<state id="HAPPEN">
</state>
</scxml>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 258 KiB

After

Width:  |  Height:  |  Size: 253 KiB

View File

@@ -42,18 +42,18 @@ hide <<choice_color_5>> stereotype
[*] --> STATE1
state STATE17 <<choice>>
state STATE16 <<choice>>
state STATE2 <<choice>>
state STATE14 <<choice>>
state STATE12 <<choice>>
state STATE11 <<choice>>
state STATE8 <<choice>>
state STATEY <<choice>>
state STATE20 <<choice>>
state STATE9 <<choice>>
state STATE19 <<choice>>
state STATE16 <<choice>>
state STATE17 <<choice>>
state STATE18 <<choice>>
state STATE19 <<choice>>
state STATE20 <<choice>>
state STATE11 <<choice>>
state STATE12 <<choice>>
state STATE14 <<choice>>
state STATE9 <<choice>>
state STATE8 <<choice>>
state STATE2 <<choice>>
STATE1 -[#1E90FF,bold]-> STATE2 <<external>> <<e_Events_EVENT1>> : EVENT1
STATE2 -[#1E90FF,bold]-> STATE3 <<external>> <<e_Events_EVENT2>> : EVENT2
@@ -76,55 +76,55 @@ STATE3 -[#1E90FF,bold]-> CANCEL <<external>> <<e_Events_EVENT_CANCEL>> : EVENT_C
STATE4 -[#1E90FF,bold]-> CANCEL <<external>> <<e_Events_EVENT_CANCEL>> : EVENT_CANCEL
STATE5 -[#1E90FF,bold]-> CANCEL <<external>> <<e_Events_EVENT_CANCEL>> : EVENT_CANCEL
STATE4 -[#1E90FF,bold]-> STATEY <<external>> <<e_Events_EVENTY>> : EVENTY
STATEY -[#4682B4,bold]-> STATEX <<choice_color_1>> : [guardVarEquals("value1")] (order=0)
STATEY -[#4682B4,bold]-> STATEZ <<choice_color_1>> : (order=1)
STATEY -[#FF6347,bold]-> STATEX <<choice_color_0>> : [guardVarEquals("value1")] (order=0)
STATEY -[#FF6347,bold]-> STATEZ <<choice_color_0>> : (order=1)
STATE16 -[#4682B4,bold]-> STATE17 <<choice_color_1>> : [guardVarEquals("value1")] (order=0)
STATE16 -[#4682B4,bold]-> STATE18 <<choice_color_1>> : [guardVarEquals("value2")] (order=1)
STATE16 -[#4682B4,bold]-> STATE19 <<choice_color_1>> : (order=2)
STATE17 -[#FF6347,bold]-> STATE20 <<choice_color_0>> : [guardEventHeaderEquals("header1","foo")] (order=0)
STATE17 -[#FF6347,bold]-> STATE16 <<choice_color_0>> : (order=1)
STATE18 -[#FF69B4,bold]-> STATE19 <<choice_color_5>> : [guardVarEquals("value3")] (order=0)
STATE18 -[#FF69B4,bold]-> STATE20 <<choice_color_5>> : (order=1)
STATE17 -[#32CD32,bold]-> STATE20 <<choice_color_2>> : [guardEventHeaderEquals("header1","foo")] (order=0)
STATE17 -[#32CD32,bold]-> STATE16 <<choice_color_2>> : (order=1)
STATE18 -[#FFD700,bold]-> STATE19 <<choice_color_3>> : [guardVarEquals("value3")] (order=0)
STATE18 -[#FFD700,bold]-> STATE20 <<choice_color_3>> : (order=1)
STATE19 -[#6A5ACD,bold]-> STATE1 <<choice_color_4>> : [guardVarEquals("reset")] (order=0)
STATE19 -[#6A5ACD,bold]-> STATE20 <<choice_color_4>> : (order=1)
STATE20 -[#32CD32,bold]-> STATE5 <<choice_color_2>> : [guardEventHeaderEquals("header2","bar")] (order=0)
STATE20 -[#32CD32,bold]-> STATE1 <<choice_color_2>> : (order=1)
STATE11 -[#FF69B4,bold]-> STATE13 <<choice_color_5>> : [guardVarEquals("goTo13")] (order=0)
STATE11 -[#FF69B4,bold]-> STATE14 <<choice_color_5>> : [guardVarEquals("goTo14")] (order=1)
STATE11 -[#FF69B4,bold]-> STATE15 <<choice_color_5>> : (order=2)
STATE12 -[#6A5ACD,bold]-> STATE10 <<choice_color_4>> : [guardVarEquals("goBack10")] (order=0)
STATE12 -[#6A5ACD,bold]-> STATE11 <<choice_color_4>> : (order=1)
STATE14 -[#FFD700,bold]-> STATE12 <<choice_color_3>> : [guardVarEquals("loop12")] (order=0)
STATE14 -[#FFD700,bold]-> STATE16 <<choice_color_3>> : (order=1)
STATE20 -[#FF69B4,bold]-> STATE5 <<choice_color_5>> : [guardEventHeaderEquals("header2","bar")] (order=0)
STATE20 -[#FF69B4,bold]-> STATE1 <<choice_color_5>> : (order=1)
STATE11 -[#FF6347,bold]-> STATE13 <<choice_color_0>> : [guardVarEquals("goTo13")] (order=0)
STATE11 -[#FF6347,bold]-> STATE14 <<choice_color_0>> : [guardVarEquals("goTo14")] (order=1)
STATE11 -[#FF6347,bold]-> STATE15 <<choice_color_0>> : (order=2)
STATE12 -[#4682B4,bold]-> STATE10 <<choice_color_1>> : [guardVarEquals("goBack10")] (order=0)
STATE12 -[#4682B4,bold]-> STATE11 <<choice_color_1>> : (order=1)
STATE14 -[#32CD32,bold]-> STATE12 <<choice_color_2>> : [guardVarEquals("loop12")] (order=0)
STATE14 -[#32CD32,bold]-> STATE16 <<choice_color_2>> : (order=1)
STATE9 -[#FFD700,bold]-> STATE8 <<choice_color_3>> : [guardVarEquals("stepBack")] (order=0)
STATE9 -[#FFD700,bold]-> STATE7 <<choice_color_3>> : [guardVarEquals("stepBackMore")] (order=1)
STATE9 -[#FFD700,bold]-> STATE6 <<choice_color_3>> : (order=2)
STATE8 -[#FF6347,bold]-> STATE9 <<choice_color_0>> : [guardVarEquals("forward9")] (order=0)
STATE8 -[#FF6347,bold]-> STATE10 <<choice_color_0>> : (order=1)
STATE8 -[#6A5ACD,bold]-> STATE9 <<choice_color_4>> : [guardVarEquals("forward9")] (order=0)
STATE8 -[#6A5ACD,bold]-> STATE10 <<choice_color_4>> : (order=1)
STATE2 -[#1E90FF,bold]-> STATE_EXTRA_1 <<external>> <<e_Events_EVENTX>> : EVENTX
STATE2 -[#32CD32,bold]-> STATE1 <<choice_color_2>> : [guardEventHeaderEquals("header1","foo")] (order=0)
STATE2 -[#32CD32,bold]-> STATE_EXTRA_1 <<choice_color_2>> : (order=1)
STATE2 -[#FF69B4,bold]-> STATE1 <<choice_color_5>> : [guardEventHeaderEquals("header1","foo")] (order=0)
STATE2 -[#FF69B4,bold]-> STATE_EXTRA_1 <<choice_color_5>> : (order=1)
STATE_EXTRA_1 -[#1E90FF,bold]-> STATE_EXTRA_3 <<external>> <<e_Events_EVENTY>> : EVENTY
STATE_EXTRA_1 -[#1E90FF,bold]-> CANCEL <<external>> <<e_Events_EVENT_CANCEL_2>> : EVENT_CANCEL_2
STATE_EXTRA_2 -[#1E90FF,bold]-> CANCEL <<external>> <<e_Events_EVENT_CANCEL_2>> : EVENT_CANCEL_2
hide <<e_Events_EVENT_CANCEL>> stereotype
hide <<e_Events_EVENT9>> stereotype
hide <<e_Events_EVENT13>> stereotype
hide <<e_Events_EVENTY>> stereotype
hide <<e_Events_EVENT8>> stereotype
hide <<e_Events_EVENT14>> stereotype
hide <<e_Events_EVENTX>> stereotype
hide <<e_Events_EVENT7>> stereotype
hide <<e_Events_EVENT15>> stereotype
hide <<e_Events_EVENT6>> stereotype
hide <<e_Events_EVENT5>> stereotype
hide <<e_Events_EVENT4>> stereotype
hide <<e_Events_EVENT3>> stereotype
hide <<e_Events_EVENT2>> stereotype
hide <<e_Events_EVENT1>> stereotype
hide <<e_Events_EVENT2>> stereotype
hide <<e_Events_EVENT3>> stereotype
hide <<e_Events_EVENT4>> stereotype
hide <<e_Events_EVENT5>> stereotype
hide <<e_Events_EVENT6>> stereotype
hide <<e_Events_EVENT7>> stereotype
hide <<e_Events_EVENT8>> stereotype
hide <<e_Events_EVENT9>> stereotype
hide <<e_Events_EVENT10>> stereotype
hide <<e_Events_EVENT11>> stereotype
hide <<e_Events_EVENT12>> stereotype
hide <<e_Events_EVENT13>> stereotype
hide <<e_Events_EVENT14>> stereotype
hide <<e_Events_EVENT15>> stereotype
hide <<e_Events_EVENT_CANCEL>> stereotype
hide <<e_Events_EVENTY>> stereotype
hide <<e_Events_EVENTX>> stereotype
hide <<e_Events_EVENT_CANCEL_2>> stereotype
STATEZ --> [*]

View File

@@ -1,107 +1,7 @@
<?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(&quot;reset&quot;)">
<!-- order=0 -->
</transition>
<transition target="STATE20">
<!-- order=1 -->
</transition>
</state>
<state id="STATE18">
<transition target="STATE19" cond="guardVarEquals(&quot;value3&quot;)">
<!-- 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(&quot;loop12&quot;)">
<!-- order=0 -->
</transition>
<transition target="STATE16">
<!-- order=1 -->
</transition>
</state>
<state id="STATE17">
<transition target="STATE20" cond="guardEventHeaderEquals(&quot;header1&quot;,&quot;foo&quot;)">
<!-- order=0 -->
</transition>
<transition target="STATE16">
<!-- order=1 -->
</transition>
</state>
<state id="STATE16">
<transition target="STATE17" cond="guardVarEquals(&quot;value1&quot;)">
<!-- order=0 -->
</transition>
<transition target="STATE18" cond="guardVarEquals(&quot;value2&quot;)">
<!-- order=1 -->
</transition>
<transition target="STATE19">
<!-- order=2 -->
</transition>
</state>
<state id="STATE11">
<transition target="STATE12" event="Events.EVENT11"/>
<transition target="STATE13" cond="guardVarEquals(&quot;goTo13&quot;)">
<!-- order=0 -->
</transition>
<transition target="STATE14" cond="guardVarEquals(&quot;goTo14&quot;)">
<!-- 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(&quot;goBack10&quot;)">
<!-- order=0 -->
</transition>
<transition target="STATE11">
<!-- order=1 -->
</transition>
</state>
<state id="STATEY">
<transition target="STATEX" cond="guardVarEquals(&quot;value1&quot;)">
<!-- 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"/>
<state id="STATE1">
<transition target="STATE2" event="Events.EVENT1"/>
<transition target="CANCEL" event="Events.EVENT_CANCEL"/>
</state>
<state id="STATE2">
@@ -115,10 +15,34 @@
<!-- order=1 -->
</transition>
</state>
<state id="STATE1">
<transition target="STATE2" event="Events.EVENT1"/>
<state id="STATE3">
<transition target="STATE4" event="Events.EVENT3"/>
<transition target="CANCEL" event="Events.EVENT_CANCEL"/>
</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="STATE5">
<transition target="STATE6" event="Events.EVENT5"/>
<transition target="CANCEL" event="Events.EVENT_CANCEL"/>
</state>
<state id="STATE6">
<transition target="STATE7" event="Events.EVENT6"/>
</state>
<state id="STATE7">
<transition target="STATE8" event="Events.EVENT7"/>
</state>
<state id="STATE8">
<transition target="STATE9" event="Events.EVENT8"/>
<transition target="STATE9" cond="guardVarEquals(&quot;forward9&quot;)">
<!-- order=0 -->
</transition>
<transition target="STATE10">
<!-- order=1 -->
</transition>
</state>
<state id="STATE9">
<transition target="STATE10" event="Events.EVENT9"/>
<transition target="STATE8" cond="guardVarEquals(&quot;stepBack&quot;)">
@@ -131,22 +55,93 @@
<!-- order=2 -->
</transition>
</state>
<state id="STATE8">
<transition target="STATE9" event="Events.EVENT8"/>
<transition target="STATE9" cond="guardVarEquals(&quot;forward9&quot;)">
<state id="STATE10">
<transition target="STATE11" event="Events.EVENT10"/>
</state>
<state id="STATE11">
<transition target="STATE12" event="Events.EVENT11"/>
<transition target="STATE13" cond="guardVarEquals(&quot;goTo13&quot;)">
<!-- order=0 -->
</transition>
<transition target="STATE10">
<transition target="STATE14" cond="guardVarEquals(&quot;goTo14&quot;)">
<!-- order=1 -->
</transition>
<transition target="STATE15">
<!-- order=2 -->
</transition>
</state>
<state id="STATE12">
<transition target="STATE13" event="Events.EVENT12"/>
<transition target="STATE10" cond="guardVarEquals(&quot;goBack10&quot;)">
<!-- order=0 -->
</transition>
<transition target="STATE11">
<!-- order=1 -->
</transition>
</state>
<state id="STATE7">
<transition target="STATE8" event="Events.EVENT7"/>
<state id="STATE13">
<transition target="STATE14" event="Events.EVENT13"/>
</state>
<state id="STATE14">
<transition target="STATE15" event="Events.EVENT14"/>
<transition target="STATE12" cond="guardVarEquals(&quot;loop12&quot;)">
<!-- order=0 -->
</transition>
<transition target="STATE16">
<!-- order=1 -->
</transition>
</state>
<state id="STATE15">
<transition target="STATE16" event="Events.EVENT15"/>
</state>
<state id="STATE16">
<transition target="STATE17" cond="guardVarEquals(&quot;value1&quot;)">
<!-- order=0 -->
</transition>
<transition target="STATE18" cond="guardVarEquals(&quot;value2&quot;)">
<!-- order=1 -->
</transition>
<transition target="STATE19">
<!-- order=2 -->
</transition>
</state>
<state id="CANCEL">
</state>
<state id="STATE6">
<transition target="STATE7" event="Events.EVENT6"/>
<state id="STATEY">
<transition target="STATEX" cond="guardVarEquals(&quot;value1&quot;)">
<!-- order=0 -->
</transition>
<transition target="STATEZ">
<!-- order=1 -->
</transition>
</state>
<state id="STATEX">
</state>
<state id="STATEZ">
</state>
<state id="STATE17">
<transition target="STATE20" cond="guardEventHeaderEquals(&quot;header1&quot;,&quot;foo&quot;)">
<!-- order=0 -->
</transition>
<transition target="STATE16">
<!-- order=1 -->
</transition>
</state>
<state id="STATE18">
<transition target="STATE19" cond="guardVarEquals(&quot;value3&quot;)">
<!-- order=0 -->
</transition>
<transition target="STATE20">
<!-- order=1 -->
</transition>
</state>
<state id="STATE19">
<transition target="STATE1" cond="guardVarEquals(&quot;reset&quot;)">
<!-- order=0 -->
</transition>
<transition target="STATE20">
<!-- order=1 -->
</transition>
</state>
<state id="STATE20">
<transition target="STATE5" cond="guardEventHeaderEquals(&quot;header2&quot;,&quot;bar&quot;)">
@@ -156,9 +151,14 @@
<!-- order=1 -->
</transition>
</state>
<state id="STATE5">
<transition target="STATE6" event="Events.EVENT5"/>
<transition target="CANCEL" event="Events.EVENT_CANCEL"/>
<state id="STATE_EXTRA_1">
<transition target="STATE_EXTRA_3" event="Events.EVENTY"/>
<transition target="CANCEL" event="Events.EVENT_CANCEL_2"/>
</state>
<state id="STATE_EXTRA_3">
</state>
<state id="STATE_EXTRA_2">
<transition target="CANCEL" event="Events.EVENT_CANCEL_2"/>
</state>
</scxml>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 238 KiB

After

Width:  |  Height:  |  Size: 233 KiB

View File

@@ -42,17 +42,17 @@ hide <<choice_color_5>> stereotype
[*] --> STATE1
state STATE17 <<choice>>
state STATE16 <<choice>>
state STATE14 <<choice>>
state STATE12 <<choice>>
state STATE11 <<choice>>
state STATE8 <<choice>>
state STATEY <<choice>>
state STATE20 <<choice>>
state STATE9 <<choice>>
state STATE19 <<choice>>
state STATE16 <<choice>>
state STATE17 <<choice>>
state STATE18 <<choice>>
state STATE19 <<choice>>
state STATE20 <<choice>>
state STATE11 <<choice>>
state STATE12 <<choice>>
state STATE14 <<choice>>
state STATE9 <<choice>>
state STATE8 <<choice>>
STATE1 -[#1E90FF,bold]-> STATE2 <<external>> <<e_Events_EVENT1>> : EVENT1
STATE2 -[#1E90FF,bold]-> STATE3 <<external>> <<e_Events_EVENT2>> : EVENT2
@@ -80,47 +80,47 @@ STATEY -[#FF6347,bold]-> STATEZ <<choice_color_0>> : (order=1)
STATE16 -[#4682B4,bold]-> STATE17 <<choice_color_1>> : [guardVarEquals("value1")] (order=0)
STATE16 -[#4682B4,bold]-> STATE18 <<choice_color_1>> : [guardVarEquals("value2")] (order=1)
STATE16 -[#4682B4,bold]-> STATE19 <<choice_color_1>> : (order=2)
STATE17 -[#FF6347,bold]-> STATE20 <<choice_color_0>> : [guardEventHeaderEquals("header1","foo")] (order=0)
STATE17 -[#FF6347,bold]-> STATE16 <<choice_color_0>> : (order=1)
STATE18 -[#6A5ACD,bold]-> STATE19 <<choice_color_4>> : [guardVarEquals("value3")] (order=0)
STATE18 -[#6A5ACD,bold]-> STATE20 <<choice_color_4>> : (order=1)
STATE19 -[#FFD700,bold]-> STATE1 <<choice_color_3>> : [guardVarEquals("reset")] (order=0)
STATE19 -[#FFD700,bold]-> STATE20 <<choice_color_3>> : (order=1)
STATE20 -[#4682B4,bold]-> STATE5 <<choice_color_1>> : [guardEventHeaderEquals("header2","bar")] (order=0)
STATE20 -[#4682B4,bold]-> STATE1 <<choice_color_1>> : (order=1)
STATE11 -[#6A5ACD,bold]-> STATE13 <<choice_color_4>> : [guardVarEquals("goTo13")] (order=0)
STATE11 -[#6A5ACD,bold]-> STATE14 <<choice_color_4>> : [guardVarEquals("goTo14")] (order=1)
STATE11 -[#6A5ACD,bold]-> STATE15 <<choice_color_4>> : (order=2)
STATE12 -[#FFD700,bold]-> STATE10 <<choice_color_3>> : [guardVarEquals("goBack10")] (order=0)
STATE12 -[#FFD700,bold]-> STATE11 <<choice_color_3>> : (order=1)
STATE17 -[#32CD32,bold]-> STATE20 <<choice_color_2>> : [guardEventHeaderEquals("header1","foo")] (order=0)
STATE17 -[#32CD32,bold]-> STATE16 <<choice_color_2>> : (order=1)
STATE18 -[#FFD700,bold]-> STATE19 <<choice_color_3>> : [guardVarEquals("value3")] (order=0)
STATE18 -[#FFD700,bold]-> STATE20 <<choice_color_3>> : (order=1)
STATE19 -[#6A5ACD,bold]-> STATE1 <<choice_color_4>> : [guardVarEquals("reset")] (order=0)
STATE19 -[#6A5ACD,bold]-> STATE20 <<choice_color_4>> : (order=1)
STATE20 -[#FF69B4,bold]-> STATE5 <<choice_color_5>> : [guardEventHeaderEquals("header2","bar")] (order=0)
STATE20 -[#FF69B4,bold]-> STATE1 <<choice_color_5>> : (order=1)
STATE11 -[#FF6347,bold]-> STATE13 <<choice_color_0>> : [guardVarEquals("goTo13")] (order=0)
STATE11 -[#FF6347,bold]-> STATE14 <<choice_color_0>> : [guardVarEquals("goTo14")] (order=1)
STATE11 -[#FF6347,bold]-> STATE15 <<choice_color_0>> : (order=2)
STATE12 -[#4682B4,bold]-> STATE10 <<choice_color_1>> : [guardVarEquals("goBack10")] (order=0)
STATE12 -[#4682B4,bold]-> STATE11 <<choice_color_1>> : (order=1)
STATE14 -[#32CD32,bold]-> STATE12 <<choice_color_2>> : [guardVarEquals("loop12")] (order=0)
STATE14 -[#32CD32,bold]-> STATE16 <<choice_color_2>> : (order=1)
STATE9 -[#32CD32,bold]-> STATE8 <<choice_color_2>> : [guardVarEquals("stepBack")] (order=0)
STATE9 -[#32CD32,bold]-> STATE7 <<choice_color_2>> : [guardVarEquals("stepBackMore")] (order=1)
STATE9 -[#32CD32,bold]-> STATE6 <<choice_color_2>> : (order=2)
STATE8 -[#FF69B4,bold]-> STATE9 <<choice_color_5>> : [guardVarEquals("forward9")] (order=0)
STATE8 -[#FF69B4,bold]-> STATE10 <<choice_color_5>> : (order=1)
STATE9 -[#FFD700,bold]-> STATE8 <<choice_color_3>> : [guardVarEquals("stepBack")] (order=0)
STATE9 -[#FFD700,bold]-> STATE7 <<choice_color_3>> : [guardVarEquals("stepBackMore")] (order=1)
STATE9 -[#FFD700,bold]-> STATE6 <<choice_color_3>> : (order=2)
STATE8 -[#6A5ACD,bold]-> STATE9 <<choice_color_4>> : [guardVarEquals("forward9")] (order=0)
STATE8 -[#6A5ACD,bold]-> STATE10 <<choice_color_4>> : (order=1)
STATE5 -[#1E90FF,bold]-> STATE_EXTRA_1 <<external>> <<e_Events_EVENTX>> : EVENTX
STATE_EXTRA_1 -[#1E90FF,bold]-> CANCEL <<external>> <<e_Events_EVENT_CANCEL>> : EVENT_CANCEL
STATE_EXTRA_1 -[#1E90FF,bold]-> CANCEL <<external>> <<e_Events_EVENT_CANCEL_2>> : EVENT_CANCEL_2
hide <<e_Events_EVENT_CANCEL>> stereotype
hide <<e_Events_EVENT9>> stereotype
hide <<e_Events_EVENT13>> stereotype
hide <<e_Events_EVENTY>> stereotype
hide <<e_Events_EVENT8>> stereotype
hide <<e_Events_EVENT14>> stereotype
hide <<e_Events_EVENTX>> stereotype
hide <<e_Events_EVENT7>> stereotype
hide <<e_Events_EVENT15>> stereotype
hide <<e_Events_EVENT6>> stereotype
hide <<e_Events_EVENT5>> stereotype
hide <<e_Events_EVENT4>> stereotype
hide <<e_Events_EVENT3>> stereotype
hide <<e_Events_EVENT2>> stereotype
hide <<e_Events_EVENT1>> stereotype
hide <<e_Events_EVENT2>> stereotype
hide <<e_Events_EVENT3>> stereotype
hide <<e_Events_EVENT4>> stereotype
hide <<e_Events_EVENT5>> stereotype
hide <<e_Events_EVENT6>> stereotype
hide <<e_Events_EVENT7>> stereotype
hide <<e_Events_EVENT8>> stereotype
hide <<e_Events_EVENT9>> stereotype
hide <<e_Events_EVENT10>> stereotype
hide <<e_Events_EVENT11>> stereotype
hide <<e_Events_EVENT12>> stereotype
hide <<e_Events_EVENT13>> stereotype
hide <<e_Events_EVENT14>> stereotype
hide <<e_Events_EVENT15>> stereotype
hide <<e_Events_EVENT_CANCEL>> stereotype
hide <<e_Events_EVENTY>> stereotype
hide <<e_Events_EVENTX>> stereotype
hide <<e_Events_EVENT_CANCEL_2>> stereotype
STATEZ --> [*]

View File

@@ -1,112 +1,42 @@
<?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(&quot;reset&quot;)">
<!-- order=0 -->
</transition>
<transition target="STATE20">
<!-- order=1 -->
</transition>
</state>
<state id="STATE18">
<transition target="STATE19" cond="guardVarEquals(&quot;value3&quot;)">
<!-- 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(&quot;loop12&quot;)">
<!-- order=0 -->
</transition>
<transition target="STATE16">
<!-- order=1 -->
</transition>
</state>
<state id="STATE17">
<transition target="STATE20" cond="guardEventHeaderEquals(&quot;header1&quot;,&quot;foo&quot;)">
<!-- order=0 -->
</transition>
<transition target="STATE16">
<!-- order=1 -->
</transition>
</state>
<state id="STATE16">
<transition target="STATE17" cond="guardVarEquals(&quot;value1&quot;)">
<!-- order=0 -->
</transition>
<transition target="STATE18" cond="guardVarEquals(&quot;value2&quot;)">
<!-- order=1 -->
</transition>
<transition target="STATE19">
<!-- order=2 -->
</transition>
</state>
<state id="STATE11">
<transition target="STATE12" event="Events.EVENT11"/>
<transition target="STATE13" cond="guardVarEquals(&quot;goTo13&quot;)">
<!-- order=0 -->
</transition>
<transition target="STATE14" cond="guardVarEquals(&quot;goTo14&quot;)">
<!-- 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(&quot;goBack10&quot;)">
<!-- order=0 -->
</transition>
<transition target="STATE11">
<!-- order=1 -->
</transition>
</state>
<state id="STATEY">
<transition target="STATEX" cond="guardVarEquals(&quot;value1&quot;)">
<!-- 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"/>
<state id="STATE1">
<transition target="STATE2" event="Events.EVENT1"/>
<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"/>
<state id="STATE3">
<transition target="STATE4" event="Events.EVENT3"/>
<transition target="CANCEL" event="Events.EVENT_CANCEL"/>
</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="STATE5">
<transition target="STATE6" event="Events.EVENT5"/>
<transition target="CANCEL" event="Events.EVENT_CANCEL"/>
<transition target="STATE_EXTRA_1" event="Events.EVENTX"/>
</state>
<state id="STATE6">
<transition target="STATE7" event="Events.EVENT6"/>
</state>
<state id="STATE7">
<transition target="STATE8" event="Events.EVENT7"/>
</state>
<state id="STATE8">
<transition target="STATE9" event="Events.EVENT8"/>
<transition target="STATE9" cond="guardVarEquals(&quot;forward9&quot;)">
<!-- order=0 -->
</transition>
<transition target="STATE10">
<!-- order=1 -->
</transition>
</state>
<state id="STATE9">
<transition target="STATE10" event="Events.EVENT9"/>
<transition target="STATE8" cond="guardVarEquals(&quot;stepBack&quot;)">
@@ -119,22 +49,93 @@
<!-- order=2 -->
</transition>
</state>
<state id="STATE8">
<transition target="STATE9" event="Events.EVENT8"/>
<transition target="STATE9" cond="guardVarEquals(&quot;forward9&quot;)">
<state id="STATE10">
<transition target="STATE11" event="Events.EVENT10"/>
</state>
<state id="STATE11">
<transition target="STATE12" event="Events.EVENT11"/>
<transition target="STATE13" cond="guardVarEquals(&quot;goTo13&quot;)">
<!-- order=0 -->
</transition>
<transition target="STATE10">
<transition target="STATE14" cond="guardVarEquals(&quot;goTo14&quot;)">
<!-- order=1 -->
</transition>
<transition target="STATE15">
<!-- order=2 -->
</transition>
</state>
<state id="STATE12">
<transition target="STATE13" event="Events.EVENT12"/>
<transition target="STATE10" cond="guardVarEquals(&quot;goBack10&quot;)">
<!-- order=0 -->
</transition>
<transition target="STATE11">
<!-- order=1 -->
</transition>
</state>
<state id="STATE7">
<transition target="STATE8" event="Events.EVENT7"/>
<state id="STATE13">
<transition target="STATE14" event="Events.EVENT13"/>
</state>
<state id="STATE14">
<transition target="STATE15" event="Events.EVENT14"/>
<transition target="STATE12" cond="guardVarEquals(&quot;loop12&quot;)">
<!-- order=0 -->
</transition>
<transition target="STATE16">
<!-- order=1 -->
</transition>
</state>
<state id="STATE15">
<transition target="STATE16" event="Events.EVENT15"/>
</state>
<state id="STATE16">
<transition target="STATE17" cond="guardVarEquals(&quot;value1&quot;)">
<!-- order=0 -->
</transition>
<transition target="STATE18" cond="guardVarEquals(&quot;value2&quot;)">
<!-- order=1 -->
</transition>
<transition target="STATE19">
<!-- order=2 -->
</transition>
</state>
<state id="CANCEL">
</state>
<state id="STATE6">
<transition target="STATE7" event="Events.EVENT6"/>
<state id="STATEY">
<transition target="STATEX" cond="guardVarEquals(&quot;value1&quot;)">
<!-- order=0 -->
</transition>
<transition target="STATEZ">
<!-- order=1 -->
</transition>
</state>
<state id="STATEX">
</state>
<state id="STATEZ">
</state>
<state id="STATE17">
<transition target="STATE20" cond="guardEventHeaderEquals(&quot;header1&quot;,&quot;foo&quot;)">
<!-- order=0 -->
</transition>
<transition target="STATE16">
<!-- order=1 -->
</transition>
</state>
<state id="STATE18">
<transition target="STATE19" cond="guardVarEquals(&quot;value3&quot;)">
<!-- order=0 -->
</transition>
<transition target="STATE20">
<!-- order=1 -->
</transition>
</state>
<state id="STATE19">
<transition target="STATE1" cond="guardVarEquals(&quot;reset&quot;)">
<!-- order=0 -->
</transition>
<transition target="STATE20">
<!-- order=1 -->
</transition>
</state>
<state id="STATE20">
<transition target="STATE5" cond="guardEventHeaderEquals(&quot;header2&quot;,&quot;bar&quot;)">
@@ -144,10 +145,9 @@
<!-- order=1 -->
</transition>
</state>
<state id="STATE5">
<transition target="STATE6" event="Events.EVENT5"/>
<state id="STATE_EXTRA_1">
<transition target="CANCEL" event="Events.EVENT_CANCEL"/>
<transition target="STATE_EXTRA_1" event="Events.EVENTX"/>
<transition target="CANCEL" event="Events.EVENT_CANCEL_2"/>
</state>
</scxml>