plantuml gets styles

This commit is contained in:
2026-06-12 08:42:54 +02:00
parent 5ebfbbbbdf
commit 9aa7e42960
24 changed files with 1188 additions and 426 deletions

View File

@@ -0,0 +1,144 @@
package click.kamil.springstatemachineexporter;
import click.kamil.springstatemachineexporter.exporter.PlantUml;
import click.kamil.springstatemachineexporter.exporter.StateMachineExporter;
import click.kamil.springstatemachineexporter.service.ExportService;
import click.kamil.springstatemachineexporter.utils.TestScenario;
import org.junit.jupiter.api.Tag;
import org.junit.jupiter.api.io.TempDir;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.MethodSource;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.List;
import static org.assertj.core.api.Assertions.assertThat;
@Tag("render")
public class PlantUmlRenderTest {
private final List<StateMachineExporter> exporters = List.of(new PlantUml());
private final ExportService exportService = new ExportService(exporters);
private static List<TestScenario> provideTestScenarios() {
return List.of(
new TestScenario(
"Complex State Machine",
Path.of("../state_machines/complex_state_machine"),
Path.of("src/test/resources/golden/ComplexStateMachineConfig"),
"ComplexStateMachineConfig"
),
new TestScenario(
"Fork Join State Machine",
Path.of("../state_machines/forkjoin_state_machine"),
Path.of("src/test/resources/golden/ForkJoinStateMachineConfig"),
"ForkJoinStateMachineConfig"
),
new TestScenario(
"Kamil Enum State Machine",
Path.of("../state_machines/enumstate_state_machine"),
Path.of("src/test/resources/golden/KamilEnumStateMachineConfiguration"),
"KamilEnumStateMachineConfiguration"
),
new TestScenario(
"Simple Enum Join State Machine",
Path.of("../state_machines/simple_state_machine"),
Path.of("src/test/resources/golden/SimpleEnumStateMachineConfiguration"),
"SimpleEnumStateMachineConfiguration"
),
new TestScenario(
"One State Machine (Inheritance)",
Path.of("../state_machines/inheritance_state_machine"),
Path.of("src/test/resources/golden/OneStateMachineConfiguration"),
"OneStateMachineConfiguration"
),
new TestScenario(
"Two State Machine (Extra Functions)",
Path.of("../state_machines/inheritance_extra_functions_state_machine"),
Path.of("src/test/resources/golden/TwoStateMachineExtraFunctionsConfiguration"),
"TwoStateMachineConfiguration"
),
new TestScenario(
"Three State Machine (Extra Functions 2)",
Path.of("../state_machines/inheritance_extra_functions2_state_machine"),
Path.of("src/test/resources/golden/ThreeStateMachineConfiguration"),
"ThreeStateMachineConfiguration"
),
new TestScenario(
"F1 State Machine (Example 4)",
Path.of("../state_machines/inheritance_extra_functions3_state_machine"),
Path.of("src/test/resources/golden/F1StateMachineConfiguration"),
"F1StateMachineConfiguration"
),
new TestScenario(
"F2 State Machine (Example 4)",
Path.of("../state_machines/inheritance_extra_functions3_state_machine"),
Path.of("src/test/resources/golden/F2StateMachineConfiguration"),
"F2StateMachineConfiguration"
),
new TestScenario(
"G1 State Machine (Example 4)",
Path.of("../state_machines/inheritance_extra_functions3_state_machine"),
Path.of("src/test/resources/golden/G1StateMachineConfiguration"),
"G1StateMachineConfiguration"
),
new TestScenario(
"G2 State Machine (Example 4)",
Path.of("../state_machines/inheritance_extra_functions3_state_machine"),
Path.of("src/test/resources/golden/G2StateMachineConfiguration"),
"G2StateMachineConfiguration"
)
);
}
@ParameterizedTest(name = "{0}")
@MethodSource("provideTestScenarios")
void testRenderMatchesGolden(TestScenario scenario, @TempDir Path tempDir) throws Exception {
exportService.runExporter(scenario.inputPath(), tempDir, List.of("puml"));
// Find the generated directory
List<Path> generatedDirs;
try (var stream = Files.list(tempDir)) {
generatedDirs = stream.filter(Files::isDirectory).toList();
}
String targetBaseName = scenario.baseName();
Path actualDir = generatedDirs.stream()
.filter(d -> d.getFileName().toString().endsWith(targetBaseName))
.findFirst()
.orElseThrow(() -> new IllegalArgumentException("No output directory found for " + targetBaseName));
String actualBaseName = actualDir.getFileName().toString();
Path actualPumlFile = actualDir.resolve(actualBaseName + ".puml");
assertThat(actualPumlFile).exists();
// Render to PNG
renderToPng(actualPumlFile);
Path actualPngFile = actualDir.resolve(actualBaseName + ".png");
assertThat(actualPngFile).exists();
// Compare with Golden PNG
String goldenPngFileName = targetBaseName + ".png";
Path goldenPngFile = scenario.goldenPath().resolve(goldenPngFileName);
assertThat(goldenPngFile).as("Golden PNG %s should exist", goldenPngFileName).exists();
assertThat(Files.readAllBytes(actualPngFile))
.as("Rendered PNG mismatch for %s", actualBaseName)
.isEqualTo(Files.readAllBytes(goldenPngFile));
}
private void renderToPng(Path pumlFile) throws IOException, InterruptedException {
ProcessBuilder pb = new ProcessBuilder("plantuml", "-nometadata", pumlFile.toAbsolutePath().toString());
pb.inheritIO();
Process process = pb.start();
int exitCode = process.waitFor();
if (exitCode != 0) {
throw new RuntimeException("PlantUML rendering failed with exit code " + exitCode);
}
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 172 KiB

View File

@@ -1,7 +1,44 @@
@startuml
skinparam state {
BackgroundColor<<choice>> LightYellow
}
<style>
state {
.choice {
BackgroundColor LightYellow
}
}
arrow {
LineThickness 1
.external { LineColor #1E90FF }
.internal { LineColor #32CD32 }
.local { LineColor #FFA500 }
.junction { LineColor #FF69B4 }
.join { LineColor #8A2BE2 }
.fork { LineColor #20B2AA }
.choice_type { LineColor #000000 }
.choice_color_0 { LineColor #FF6347 }
.choice_color_1 { LineColor #4682B4 }
.choice_color_2 { LineColor #32CD32 }
.choice_color_3 { LineColor #FFD700 }
.choice_color_4 { LineColor #6A5ACD }
.choice_color_5 { LineColor #FF69B4 }
}
/* Example: Highlight all transitions for a specific event */
/* .e_MY_EVENT { LineColor red } */
</style>
hide <<external>> stereotype
hide <<internal>> stereotype
hide <<local>> stereotype
hide <<junction>> stereotype
hide <<join>> stereotype
hide <<fork>> stereotype
hide <<choice_type>> stereotype
hide <<choice_color_0>> stereotype
hide <<choice_color_1>> stereotype
hide <<choice_color_2>> stereotype
hide <<choice_color_3>> stereotype
hide <<choice_color_4>> stereotype
hide <<choice_color_5>> stereotype
[*] --> STATE1
@@ -16,44 +53,59 @@ state STATE9 <<choice>>
state STATE19 <<choice>>
state STATE18 <<choice>>
STATE1 -[#1E90FF,bold]-> STATE2 : EVENT1
STATE2 -[#1E90FF,bold]-> STATE3 : EVENT2
STATE3 -[#1E90FF,bold]-> STATE4 : EVENT3
STATE4 -[#1E90FF,bold]-> STATE5 : EVENT4
STATE5 -[#1E90FF,bold]-> STATE6 : EVENT5
STATE6 -[#1E90FF,bold]-> STATE7 : EVENT6
STATE7 -[#1E90FF,bold]-> STATE8 : EVENT7
STATE8 -[#1E90FF,bold]-> STATE9 : EVENT8
STATE9 -[#1E90FF,bold]-> STATE10 : EVENT9
STATE10 -[#1E90FF,bold]-> STATE11 : EVENT10
STATE11 -[#1E90FF,bold]-> STATE12 : EVENT11
STATE12 -[#1E90FF,bold]-> STATE13 : EVENT12
STATE13 -[#1E90FF,bold]-> STATE14 : EVENT13
STATE14 -[#1E90FF,bold]-> STATE15 : EVENT14
STATE15 -[#1E90FF,bold]-> STATE16 : EVENT15
STATE16 -[#4682B4,bold]-> STATE17 : [guardVarEquals("value1")] (order=0)
STATE16 -[#4682B4,bold]-> STATE18 : [guardVarEquals("value2")] (order=1)
STATE16 -[#4682B4,bold]-> STATE19 : (order=2)
STATE17 -[#FF6347,bold]-> STATE20 : [guardEventHeaderEquals("header1","foo")] (order=0)
STATE17 -[#FF6347,bold]-> STATE16 : (order=1)
STATE18 -[#FFD700,bold]-> STATE19 : [guardVarEquals("value3")] (order=0)
STATE18 -[#FFD700,bold]-> STATE20 : (order=1)
STATE19 -[#32CD32,bold]-> STATE1 : [guardVarEquals("reset")] (order=0)
STATE19 -[#32CD32,bold]-> STATE20 : (order=1)
STATE20 -[#FF6347,bold]-> STATE5 : [guardEventHeaderEquals("header2","bar")] (order=0)
STATE20 -[#FF6347,bold]-> STATE1 : (order=1)
STATE11 -[#6A5ACD,bold]-> STATE13 : [guardVarEquals("goTo13")] (order=0)
STATE11 -[#6A5ACD,bold]-> STATE14 : [guardVarEquals("goTo14")] (order=1)
STATE11 -[#6A5ACD,bold]-> STATE15 : (order=2)
STATE12 -[#FFD700,bold]-> STATE10 : [guardVarEquals("goBack10")] (order=0)
STATE12 -[#FFD700,bold]-> STATE11 : (order=1)
STATE14 -[#32CD32,bold]-> STATE12 : [guardVarEquals("loop12")] (order=0)
STATE14 -[#32CD32,bold]-> STATE16 : (order=1)
STATE9 -[#4682B4,bold]-> STATE8 : [guardVarEquals("stepBack")] (order=0)
STATE9 -[#4682B4,bold]-> STATE7 : [guardVarEquals("stepBackMore")] (order=1)
STATE9 -[#4682B4,bold]-> STATE6 : (order=2)
STATE8 -[#FF69B4,bold]-> STATE9 : [guardVarEquals("forward9")] (order=0)
STATE8 -[#FF69B4,bold]-> STATE10 : (order=1)
STATE1 -[#1E90FF,bold]-> STATE2 <<external>> <<e_Events_EVENT1>> : EVENT1
STATE2 -[#1E90FF,bold]-> STATE3 <<external>> <<e_Events_EVENT2>> : EVENT2
STATE3 -[#1E90FF,bold]-> STATE4 <<external>> <<e_Events_EVENT3>> : EVENT3
STATE4 -[#1E90FF,bold]-> STATE5 <<external>> <<e_Events_EVENT4>> : EVENT4
STATE5 -[#1E90FF,bold]-> STATE6 <<external>> <<e_Events_EVENT5>> : EVENT5
STATE6 -[#1E90FF,bold]-> STATE7 <<external>> <<e_Events_EVENT6>> : EVENT6
STATE7 -[#1E90FF,bold]-> STATE8 <<external>> <<e_Events_EVENT7>> : EVENT7
STATE8 -[#1E90FF,bold]-> STATE9 <<external>> <<e_Events_EVENT8>> : EVENT8
STATE9 -[#1E90FF,bold]-> STATE10 <<external>> <<e_Events_EVENT9>> : EVENT9
STATE10 -[#1E90FF,bold]-> STATE11 <<external>> <<e_Events_EVENT10>> : EVENT10
STATE11 -[#1E90FF,bold]-> STATE12 <<external>> <<e_Events_EVENT11>> : EVENT11
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
hide <<e_Events_EVENT1>> stereotype
hide <<e_Events_EVENT10>> stereotype
hide <<e_Events_EVENT11>> stereotype
hide <<e_Events_EVENT12>> stereotype
@enduml

Binary file not shown.

After

Width:  |  Height:  |  Size: 258 KiB

View File

@@ -1,7 +1,44 @@
@startuml
skinparam state {
BackgroundColor<<choice>> LightYellow
}
<style>
state {
.choice {
BackgroundColor LightYellow
}
}
arrow {
LineThickness 1
.external { LineColor #1E90FF }
.internal { LineColor #32CD32 }
.local { LineColor #FFA500 }
.junction { LineColor #FF69B4 }
.join { LineColor #8A2BE2 }
.fork { LineColor #20B2AA }
.choice_type { LineColor #000000 }
.choice_color_0 { LineColor #FF6347 }
.choice_color_1 { LineColor #4682B4 }
.choice_color_2 { LineColor #32CD32 }
.choice_color_3 { LineColor #FFD700 }
.choice_color_4 { LineColor #6A5ACD }
.choice_color_5 { LineColor #FF69B4 }
}
/* Example: Highlight all transitions for a specific event */
/* .e_MY_EVENT { LineColor red } */
</style>
hide <<external>> stereotype
hide <<internal>> stereotype
hide <<local>> stereotype
hide <<junction>> stereotype
hide <<join>> stereotype
hide <<fork>> stereotype
hide <<choice_type>> stereotype
hide <<choice_color_0>> stereotype
hide <<choice_color_1>> stereotype
hide <<choice_color_2>> stereotype
hide <<choice_color_3>> stereotype
hide <<choice_color_4>> stereotype
hide <<choice_color_5>> stereotype
[*] --> STATE1
@@ -18,58 +55,77 @@ state STATE9 <<choice>>
state STATE19 <<choice>>
state STATE18 <<choice>>
STATE1 -[#1E90FF,bold]-> STATE2 : EVENT1
STATE2 -[#1E90FF,bold]-> STATE3 : EVENT2
STATE3 -[#1E90FF,bold]-> STATE4 : EVENT3
STATE4 -[#1E90FF,bold]-> STATE5 : EVENT4
STATE5 -[#1E90FF,bold]-> STATE6 : EVENT5
STATE6 -[#1E90FF,bold]-> STATE7 : EVENT6
STATE7 -[#1E90FF,bold]-> STATE8 : EVENT7
STATE8 -[#1E90FF,bold]-> STATE9 : EVENT8
STATE9 -[#1E90FF,bold]-> STATE10 : EVENT9
STATE10 -[#1E90FF,bold]-> STATE11 : EVENT10
STATE11 -[#1E90FF,bold]-> STATE12 : EVENT11
STATE12 -[#1E90FF,bold]-> STATE13 : EVENT12
STATE13 -[#1E90FF,bold]-> STATE14 : EVENT13
STATE14 -[#1E90FF,bold]-> STATE15 : EVENT14
STATE15 -[#1E90FF,bold]-> STATE16 : EVENT15
STATE1 -[#1E90FF,bold]-> CANCEL : EVENT_CANCEL
STATE2 -[#1E90FF,bold]-> CANCEL : EVENT_CANCEL
STATE3 -[#1E90FF,bold]-> CANCEL : EVENT_CANCEL
STATE4 -[#1E90FF,bold]-> CANCEL : EVENT_CANCEL
STATE5 -[#1E90FF,bold]-> CANCEL : EVENT_CANCEL
STATE4 -[#1E90FF,bold]-> STATEY : EVENTY
STATEY -[#4682B4,bold]-> STATEX : [guardVarEquals("value1")] (order=0)
STATEY -[#4682B4,bold]-> STATEZ : (order=1)
STATE16 -[#4682B4,bold]-> STATE17 : [guardVarEquals("value1")] (order=0)
STATE16 -[#4682B4,bold]-> STATE18 : [guardVarEquals("value2")] (order=1)
STATE16 -[#4682B4,bold]-> STATE19 : (order=2)
STATE17 -[#FF6347,bold]-> STATE20 : [guardEventHeaderEquals("header1","foo")] (order=0)
STATE17 -[#FF6347,bold]-> STATE16 : (order=1)
STATE18 -[#FF69B4,bold]-> STATE19 : [guardVarEquals("value3")] (order=0)
STATE18 -[#FF69B4,bold]-> STATE20 : (order=1)
STATE19 -[#6A5ACD,bold]-> STATE1 : [guardVarEquals("reset")] (order=0)
STATE19 -[#6A5ACD,bold]-> STATE20 : (order=1)
STATE20 -[#32CD32,bold]-> STATE5 : [guardEventHeaderEquals("header2","bar")] (order=0)
STATE20 -[#32CD32,bold]-> STATE1 : (order=1)
STATE11 -[#FF69B4,bold]-> STATE13 : [guardVarEquals("goTo13")] (order=0)
STATE11 -[#FF69B4,bold]-> STATE14 : [guardVarEquals("goTo14")] (order=1)
STATE11 -[#FF69B4,bold]-> STATE15 : (order=2)
STATE12 -[#6A5ACD,bold]-> STATE10 : [guardVarEquals("goBack10")] (order=0)
STATE12 -[#6A5ACD,bold]-> STATE11 : (order=1)
STATE14 -[#FFD700,bold]-> STATE12 : [guardVarEquals("loop12")] (order=0)
STATE14 -[#FFD700,bold]-> STATE16 : (order=1)
STATE9 -[#FFD700,bold]-> STATE8 : [guardVarEquals("stepBack")] (order=0)
STATE9 -[#FFD700,bold]-> STATE7 : [guardVarEquals("stepBackMore")] (order=1)
STATE9 -[#FFD700,bold]-> STATE6 : (order=2)
STATE8 -[#FF6347,bold]-> STATE9 : [guardVarEquals("forward9")] (order=0)
STATE8 -[#FF6347,bold]-> STATE10 : (order=1)
STATE2 -[#1E90FF,bold]-> STATE_EXTRA_1 : EVENTX
STATE2 -[#32CD32,bold]-> STATE1 : [guardEventHeaderEquals("header1","foo")] (order=0)
STATE2 -[#32CD32,bold]-> STATE_EXTRA_1 : (order=1)
STATE_EXTRA_1 -[#1E90FF,bold]-> STATE_EXTRA_3 : EVENTY
STATE_EXTRA_1 -[#1E90FF,bold]-> CANCEL : EVENT_CANCEL_2
STATE_EXTRA_2 -[#1E90FF,bold]-> CANCEL : EVENT_CANCEL_2
STATE1 -[#1E90FF,bold]-> STATE2 <<external>> <<e_Events_EVENT1>> : EVENT1
STATE2 -[#1E90FF,bold]-> STATE3 <<external>> <<e_Events_EVENT2>> : EVENT2
STATE3 -[#1E90FF,bold]-> STATE4 <<external>> <<e_Events_EVENT3>> : EVENT3
STATE4 -[#1E90FF,bold]-> STATE5 <<external>> <<e_Events_EVENT4>> : EVENT4
STATE5 -[#1E90FF,bold]-> STATE6 <<external>> <<e_Events_EVENT5>> : EVENT5
STATE6 -[#1E90FF,bold]-> STATE7 <<external>> <<e_Events_EVENT6>> : EVENT6
STATE7 -[#1E90FF,bold]-> STATE8 <<external>> <<e_Events_EVENT7>> : EVENT7
STATE8 -[#1E90FF,bold]-> STATE9 <<external>> <<e_Events_EVENT8>> : EVENT8
STATE9 -[#1E90FF,bold]-> STATE10 <<external>> <<e_Events_EVENT9>> : EVENT9
STATE10 -[#1E90FF,bold]-> STATE11 <<external>> <<e_Events_EVENT10>> : EVENT10
STATE11 -[#1E90FF,bold]-> STATE12 <<external>> <<e_Events_EVENT11>> : EVENT11
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
STATE1 -[#1E90FF,bold]-> CANCEL <<external>> <<e_Events_EVENT_CANCEL>> : EVENT_CANCEL
STATE2 -[#1E90FF,bold]-> CANCEL <<external>> <<e_Events_EVENT_CANCEL>> : EVENT_CANCEL
STATE3 -[#1E90FF,bold]-> CANCEL <<external>> <<e_Events_EVENT_CANCEL>> : EVENT_CANCEL
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)
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)
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)
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)
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)
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_EVENT10>> stereotype
hide <<e_Events_EVENT11>> stereotype
hide <<e_Events_EVENT12>> stereotype
hide <<e_Events_EVENT_CANCEL_2>> stereotype
STATEZ --> [*]
@enduml

Binary file not shown.

After

Width:  |  Height:  |  Size: 288 KiB

View File

@@ -1,7 +1,44 @@
@startuml
skinparam state {
BackgroundColor<<choice>> LightYellow
}
<style>
state {
.choice {
BackgroundColor LightYellow
}
}
arrow {
LineThickness 1
.external { LineColor #1E90FF }
.internal { LineColor #32CD32 }
.local { LineColor #FFA500 }
.junction { LineColor #FF69B4 }
.join { LineColor #8A2BE2 }
.fork { LineColor #20B2AA }
.choice_type { LineColor #000000 }
.choice_color_0 { LineColor #FF6347 }
.choice_color_1 { LineColor #4682B4 }
.choice_color_2 { LineColor #32CD32 }
.choice_color_3 { LineColor #FFD700 }
.choice_color_4 { LineColor #6A5ACD }
.choice_color_5 { LineColor #FF69B4 }
}
/* Example: Highlight all transitions for a specific event */
/* .e_MY_EVENT { LineColor red } */
</style>
hide <<external>> stereotype
hide <<internal>> stereotype
hide <<local>> stereotype
hide <<junction>> stereotype
hide <<join>> stereotype
hide <<fork>> stereotype
hide <<choice_type>> stereotype
hide <<choice_color_0>> stereotype
hide <<choice_color_1>> stereotype
hide <<choice_color_2>> stereotype
hide <<choice_color_3>> stereotype
hide <<choice_color_4>> stereotype
hide <<choice_color_5>> stereotype
[*] --> STATE1
@@ -18,59 +55,79 @@ state STATE_EXTRA_1_2 <<choice>>
state STATE19 <<choice>>
state STATE18 <<choice>>
STATE1 -[#1E90FF,bold]-> STATE2 : EVENT1
STATE2 -[#1E90FF,bold]-> STATE3 : EVENT2
STATE3 -[#1E90FF,bold]-> STATE4 : EVENT3
STATE4 -[#1E90FF,bold]-> STATE5 : EVENT4
STATE5 -[#1E90FF,bold]-> STATE6 : EVENT5
STATE6 -[#1E90FF,bold]-> STATE7 : EVENT6
STATE7 -[#1E90FF,bold]-> STATE8 : EVENT7
STATE8 -[#1E90FF,bold]-> STATE9 : EVENT8
STATE9 -[#1E90FF,bold]-> STATE10 : EVENT9
STATE10 -[#1E90FF,bold]-> STATE11 : EVENT10
STATE11 -[#1E90FF,bold]-> STATE12 : EVENT11
STATE12 -[#1E90FF,bold]-> STATE13 : EVENT12
STATE13 -[#1E90FF,bold]-> STATE14 : EVENT13
STATE14 -[#1E90FF,bold]-> STATE15 : EVENT14
STATE15 -[#1E90FF,bold]-> STATE16 : EVENT15
STATE1 -[#1E90FF,bold]-> CANCEL : EVENT_CANCEL
STATE2 -[#1E90FF,bold]-> CANCEL : EVENT_CANCEL
STATE3 -[#1E90FF,bold]-> CANCEL : EVENT_CANCEL
STATE4 -[#1E90FF,bold]-> CANCEL : EVENT_CANCEL
STATE5 -[#1E90FF,bold]-> CANCEL : EVENT_CANCEL
STATE4 -[#1E90FF,bold]-> STATEY : EVENTY
STATEY -[#FF6347,bold]-> STATEX : [guardVarEquals("value1")] (order=0)
STATEY -[#FF6347,bold]-> STATEZ : (order=1)
STATE16 -[#4682B4,bold]-> STATE17 : [guardVarEquals("value1")] (order=0)
STATE16 -[#4682B4,bold]-> STATE18 : [guardVarEquals("value2")] (order=1)
STATE16 -[#4682B4,bold]-> STATE19 : (order=2)
STATE17 -[#FF6347,bold]-> STATE20 : [guardEventHeaderEquals("header1","foo")] (order=0)
STATE17 -[#FF6347,bold]-> STATE16 : (order=1)
STATE18 -[#FF69B4,bold]-> STATE19 : [guardVarEquals("value3")] (order=0)
STATE18 -[#FF69B4,bold]-> STATE20 : (order=1)
STATE19 -[#6A5ACD,bold]-> STATE1 : [guardVarEquals("reset")] (order=0)
STATE19 -[#6A5ACD,bold]-> STATE20 : (order=1)
STATE20 -[#4682B4,bold]-> STATE5 : [guardEventHeaderEquals("header2","bar")] (order=0)
STATE20 -[#4682B4,bold]-> STATE1 : (order=1)
STATE11 -[#6A5ACD,bold]-> STATE13 : [guardVarEquals("goTo13")] (order=0)
STATE11 -[#6A5ACD,bold]-> STATE14 : [guardVarEquals("goTo14")] (order=1)
STATE11 -[#6A5ACD,bold]-> STATE15 : (order=2)
STATE12 -[#FFD700,bold]-> STATE10 : [guardVarEquals("goBack10")] (order=0)
STATE12 -[#FFD700,bold]-> STATE11 : (order=1)
STATE14 -[#32CD32,bold]-> STATE12 : [guardVarEquals("loop12")] (order=0)
STATE14 -[#32CD32,bold]-> STATE16 : (order=1)
STATE9 -[#32CD32,bold]-> STATE8 : [guardVarEquals("stepBack")] (order=0)
STATE9 -[#32CD32,bold]-> STATE7 : [guardVarEquals("stepBackMore")] (order=1)
STATE9 -[#32CD32,bold]-> STATE6 : (order=2)
STATE8 -[#FF69B4,bold]-> STATE9 : [guardVarEquals("forward9")] (order=0)
STATE8 -[#FF69B4,bold]-> STATE10 : (order=1)
STATE9 -[#1E90FF,bold]-> STATE_EXTRA_1_1 : EVENT_1_1
STATE_EXTRA_1_2 -[#FFD700,bold]-> STATE_EXTRA_1_1 : [guardEventHeaderEquals("header1","foo")] (order=0)
STATE_EXTRA_1_2 -[#FFD700,bold]-> STATE_EXTRA_1_3 : (order=1)
STATE_EXTRA_1_3 -[#1E90FF,bold]-> STATE_EXTRA_1 : EVENT_1_2
STATE_EXTRA_1_1 -[#1E90FF,bold]-> CANCEL : EVENT_CANCEL_2
STATE_EXTRA_1_2 -[#1E90FF,bold]-> CANCEL : EVENT_CANCEL_2
STATE_EXTRA_1 -[#1E90FF,bold]-> CANCEL : EVENT_CANCEL_2
STATE1 -[#1E90FF,bold]-> STATE2 <<external>> <<e_Events_EVENT1>> : EVENT1
STATE2 -[#1E90FF,bold]-> STATE3 <<external>> <<e_Events_EVENT2>> : EVENT2
STATE3 -[#1E90FF,bold]-> STATE4 <<external>> <<e_Events_EVENT3>> : EVENT3
STATE4 -[#1E90FF,bold]-> STATE5 <<external>> <<e_Events_EVENT4>> : EVENT4
STATE5 -[#1E90FF,bold]-> STATE6 <<external>> <<e_Events_EVENT5>> : EVENT5
STATE6 -[#1E90FF,bold]-> STATE7 <<external>> <<e_Events_EVENT6>> : EVENT6
STATE7 -[#1E90FF,bold]-> STATE8 <<external>> <<e_Events_EVENT7>> : EVENT7
STATE8 -[#1E90FF,bold]-> STATE9 <<external>> <<e_Events_EVENT8>> : EVENT8
STATE9 -[#1E90FF,bold]-> STATE10 <<external>> <<e_Events_EVENT9>> : EVENT9
STATE10 -[#1E90FF,bold]-> STATE11 <<external>> <<e_Events_EVENT10>> : EVENT10
STATE11 -[#1E90FF,bold]-> STATE12 <<external>> <<e_Events_EVENT11>> : EVENT11
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
STATE1 -[#1E90FF,bold]-> CANCEL <<external>> <<e_Events_EVENT_CANCEL>> : EVENT_CANCEL
STATE2 -[#1E90FF,bold]-> CANCEL <<external>> <<e_Events_EVENT_CANCEL>> : EVENT_CANCEL
STATE3 -[#1E90FF,bold]-> CANCEL <<external>> <<e_Events_EVENT_CANCEL>> : EVENT_CANCEL
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 -[#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)
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)
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 -[#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_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_EVENT10>> stereotype
hide <<e_Events_EVENT11>> stereotype
hide <<e_Events_EVENT12>> stereotype
hide <<e_Events_EVENT_CANCEL_2>> stereotype
STATEZ --> [*]
@enduml

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

View File

@@ -1,19 +1,60 @@
@startuml
skinparam state {
BackgroundColor<<choice>> LightYellow
}
<style>
state {
.choice {
BackgroundColor LightYellow
}
}
arrow {
LineThickness 1
.external { LineColor #1E90FF }
.internal { LineColor #32CD32 }
.local { LineColor #FFA500 }
.junction { LineColor #FF69B4 }
.join { LineColor #8A2BE2 }
.fork { LineColor #20B2AA }
.choice_type { LineColor #000000 }
.choice_color_0 { LineColor #FF6347 }
.choice_color_1 { LineColor #4682B4 }
.choice_color_2 { LineColor #32CD32 }
.choice_color_3 { LineColor #FFD700 }
.choice_color_4 { LineColor #6A5ACD }
.choice_color_5 { LineColor #FF69B4 }
}
/* Example: Highlight all transitions for a specific event */
/* .e_MY_EVENT { LineColor red } */
</style>
hide <<external>> stereotype
hide <<internal>> stereotype
hide <<local>> stereotype
hide <<junction>> stereotype
hide <<join>> stereotype
hide <<fork>> stereotype
hide <<choice_type>> stereotype
hide <<choice_color_0>> stereotype
hide <<choice_color_1>> stereotype
hide <<choice_color_2>> stereotype
hide <<choice_color_3>> stereotype
hide <<choice_color_4>> stereotype
hide <<choice_color_5>> stereotype
[*] --> START
START -[#1E90FF,bold]-> FORK : TO_FORK
FORK -[#20B2AA,bold]-> REGION1_STATE1
FORK -[#20B2AA,bold]-> REGION2_STATE1
REGION1_STATE1 -[#1E90FF,bold]-> REGION1_STATE2 : R1_NEXT
REGION2_STATE1 -[#1E90FF,bold]-> REGION2_STATE2 : R2_NEXT
REGION1_STATE2 -[#8A2BE2,bold]-> JOIN
REGION2_STATE2 -[#8A2BE2,bold]-> JOIN
JOIN -[#1E90FF,bold]-> END : TO_END
START -[#1E90FF,bold]-> FORK <<external>> <<e_Events_TO_FORK>> : TO_FORK
FORK -[#20B2AA,bold]-> REGION1_STATE1 <<fork>>
FORK -[#20B2AA,bold]-> REGION2_STATE1 <<fork>>
REGION1_STATE1 -[#1E90FF,bold]-> REGION1_STATE2 <<external>> <<e_Events_R1_NEXT>> : R1_NEXT
REGION2_STATE1 -[#1E90FF,bold]-> REGION2_STATE2 <<external>> <<e_Events_R2_NEXT>> : R2_NEXT
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_R2_NEXT>> stereotype
hide <<e_Events_TO_END>> stereotype
hide <<e_Events_R1_NEXT>> stereotype
END --> [*]
@enduml

Binary file not shown.

After

Width:  |  Height:  |  Size: 106 KiB

View File

@@ -1,7 +1,44 @@
@startuml
skinparam state {
BackgroundColor<<choice>> LightYellow
}
<style>
state {
.choice {
BackgroundColor LightYellow
}
}
arrow {
LineThickness 1
.external { LineColor #1E90FF }
.internal { LineColor #32CD32 }
.local { LineColor #FFA500 }
.junction { LineColor #FF69B4 }
.join { LineColor #8A2BE2 }
.fork { LineColor #20B2AA }
.choice_type { LineColor #000000 }
.choice_color_0 { LineColor #FF6347 }
.choice_color_1 { LineColor #4682B4 }
.choice_color_2 { LineColor #32CD32 }
.choice_color_3 { LineColor #FFD700 }
.choice_color_4 { LineColor #6A5ACD }
.choice_color_5 { LineColor #FF69B4 }
}
/* Example: Highlight all transitions for a specific event */
/* .e_MY_EVENT { LineColor red } */
</style>
hide <<external>> stereotype
hide <<internal>> stereotype
hide <<local>> stereotype
hide <<junction>> stereotype
hide <<join>> stereotype
hide <<fork>> stereotype
hide <<choice_type>> stereotype
hide <<choice_color_0>> stereotype
hide <<choice_color_1>> stereotype
hide <<choice_color_2>> stereotype
hide <<choice_color_3>> stereotype
hide <<choice_color_4>> stereotype
hide <<choice_color_5>> stereotype
[*] --> STATE1
@@ -9,31 +46,43 @@ state STATE8 <<choice>>
state STATEY <<choice>>
state STATE9 <<choice>>
STATE1 -[#1E90FF,bold]-> STATE2 : EVENT1
STATE2 -[#1E90FF,bold]-> STATE3 : EVENT2
STATE3 -[#1E90FF,bold]-> STATE4 : EVENT3
STATE4 -[#1E90FF,bold]-> STATE5 : EVENT4
STATE5 -[#1E90FF,bold]-> STATE6 : EVENT5
STATE6 -[#1E90FF,bold]-> STATE7 : EVENT6
STATE7 -[#1E90FF,bold]-> STATE8 : EVENT7
STATE8 -[#1E90FF,bold]-> STATE9 : EVENT8
STATE9 -[#1E90FF,bold]-> STATE10 : EVENT9
STATE1 -[#1E90FF,bold]-> CANCEL : EVENT_CANCEL
STATE2 -[#1E90FF,bold]-> CANCEL : EVENT_CANCEL
STATE3 -[#1E90FF,bold]-> CANCEL : EVENT_CANCEL
STATE4 -[#1E90FF,bold]-> CANCEL : EVENT_CANCEL
STATE5 -[#1E90FF,bold]-> CANCEL : EVENT_CANCEL
STATE4 -[#1E90FF,bold]-> STATEY : EVENTY
STATEY -[#4682B4,bold]-> STATEX : [guardVarEquals("value1")] (order=0)
STATEY -[#4682B4,bold]-> STATEZ : (order=1)
STATE9 -[#32CD32,bold]-> STATE8 : [guardVarEquals("stepBack")] (order=0)
STATE9 -[#32CD32,bold]-> STATE7 : [guardVarEquals("stepBackMore")] (order=1)
STATE9 -[#32CD32,bold]-> STATE6 : (order=2)
STATE8 -[#FF6347,bold]-> STATE9 : [guardVarEquals("forward9")] (order=0)
STATE8 -[#FF6347,bold]-> STATE10 : (order=1)
STATE3 -[#1E90FF,bold]-> STATE_EXTRA_2 : EVENT_1_2
STATE_EXTRA_2 -[#1E90FF,bold]-> STATE_EXTRA_3 : EVENT_1_2
STATE_EXTRA_3 -[#1E90FF,bold]-> CANCEL : EVENT_CANCEL
STATE1 -[#1E90FF,bold]-> STATE2 <<external>> <<e_Events_EVENT1>> : EVENT1
STATE2 -[#1E90FF,bold]-> STATE3 <<external>> <<e_Events_EVENT2>> : EVENT2
STATE3 -[#1E90FF,bold]-> STATE4 <<external>> <<e_Events_EVENT3>> : EVENT3
STATE4 -[#1E90FF,bold]-> STATE5 <<external>> <<e_Events_EVENT4>> : EVENT4
STATE5 -[#1E90FF,bold]-> STATE6 <<external>> <<e_Events_EVENT5>> : EVENT5
STATE6 -[#1E90FF,bold]-> STATE7 <<external>> <<e_Events_EVENT6>> : EVENT6
STATE7 -[#1E90FF,bold]-> STATE8 <<external>> <<e_Events_EVENT7>> : EVENT7
STATE8 -[#1E90FF,bold]-> STATE9 <<external>> <<e_Events_EVENT8>> : EVENT8
STATE9 -[#1E90FF,bold]-> STATE10 <<external>> <<e_Events_EVENT9>> : EVENT9
STATE1 -[#1E90FF,bold]-> CANCEL <<external>> <<e_Events_EVENT_CANCEL>> : EVENT_CANCEL
STATE2 -[#1E90FF,bold]-> CANCEL <<external>> <<e_Events_EVENT_CANCEL>> : EVENT_CANCEL
STATE3 -[#1E90FF,bold]-> CANCEL <<external>> <<e_Events_EVENT_CANCEL>> : EVENT_CANCEL
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)
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_EVENT_1_2>> stereotype
STATEZ --> [*]
@enduml

Binary file not shown.

After

Width:  |  Height:  |  Size: 113 KiB

View File

@@ -1,7 +1,44 @@
@startuml
skinparam state {
BackgroundColor<<choice>> LightYellow
}
<style>
state {
.choice {
BackgroundColor LightYellow
}
}
arrow {
LineThickness 1
.external { LineColor #1E90FF }
.internal { LineColor #32CD32 }
.local { LineColor #FFA500 }
.junction { LineColor #FF69B4 }
.join { LineColor #8A2BE2 }
.fork { LineColor #20B2AA }
.choice_type { LineColor #000000 }
.choice_color_0 { LineColor #FF6347 }
.choice_color_1 { LineColor #4682B4 }
.choice_color_2 { LineColor #32CD32 }
.choice_color_3 { LineColor #FFD700 }
.choice_color_4 { LineColor #6A5ACD }
.choice_color_5 { LineColor #FF69B4 }
}
/* Example: Highlight all transitions for a specific event */
/* .e_MY_EVENT { LineColor red } */
</style>
hide <<external>> stereotype
hide <<internal>> stereotype
hide <<local>> stereotype
hide <<junction>> stereotype
hide <<join>> stereotype
hide <<fork>> stereotype
hide <<choice_type>> stereotype
hide <<choice_color_0>> stereotype
hide <<choice_color_1>> stereotype
hide <<choice_color_2>> stereotype
hide <<choice_color_3>> stereotype
hide <<choice_color_4>> stereotype
hide <<choice_color_5>> stereotype
[*] --> STATE1
@@ -9,32 +46,45 @@ state STATE8 <<choice>>
state STATEY <<choice>>
state STATE9 <<choice>>
STATE1 -[#1E90FF,bold]-> STATE2 : EVENT1
STATE2 -[#1E90FF,bold]-> STATE3 : EVENT2
STATE3 -[#1E90FF,bold]-> STATE4 : EVENT3
STATE4 -[#1E90FF,bold]-> STATE5 : EVENT4
STATE5 -[#1E90FF,bold]-> STATE6 : EVENT5
STATE6 -[#1E90FF,bold]-> STATE7 : EVENT6
STATE7 -[#1E90FF,bold]-> STATE8 : EVENT7
STATE8 -[#1E90FF,bold]-> STATE9 : EVENT8
STATE9 -[#1E90FF,bold]-> STATE10 : EVENT9
STATE1 -[#1E90FF,bold]-> CANCEL : EVENT_CANCEL
STATE2 -[#1E90FF,bold]-> CANCEL : EVENT_CANCEL
STATE3 -[#1E90FF,bold]-> CANCEL : EVENT_CANCEL
STATE4 -[#1E90FF,bold]-> CANCEL : EVENT_CANCEL
STATE5 -[#1E90FF,bold]-> CANCEL : EVENT_CANCEL
STATE4 -[#1E90FF,bold]-> STATEY : EVENTY
STATEY -[#4682B4,bold]-> STATEX : [guardVarEquals("value1")] (order=0)
STATEY -[#4682B4,bold]-> STATEZ : (order=1)
STATE9 -[#32CD32,bold]-> STATE8 : [guardVarEquals("stepBack")] (order=0)
STATE9 -[#32CD32,bold]-> STATE7 : [guardVarEquals("stepBackMore")] (order=1)
STATE9 -[#32CD32,bold]-> STATE6 : (order=2)
STATE8 -[#FF6347,bold]-> STATE9 : [guardVarEquals("forward9")] (order=0)
STATE8 -[#FF6347,bold]-> STATE10 : (order=1)
STATE3 -[#1E90FF,bold]-> STATE_EXTRA_1 : EVENT_1_2
STATE_EXTRA_1 -[#1E90FF,bold]-> STATE_EXTRA_2 : EVENT_1_3
STATE_EXTRA_1 -[#1E90FF,bold]-> CANCEL : EVENT_CANCEL
STATE_EXTRA_2 -[#1E90FF,bold]-> CANCEL : EVENT_CANCEL
STATE1 -[#1E90FF,bold]-> STATE2 <<external>> <<e_Events_EVENT1>> : EVENT1
STATE2 -[#1E90FF,bold]-> STATE3 <<external>> <<e_Events_EVENT2>> : EVENT2
STATE3 -[#1E90FF,bold]-> STATE4 <<external>> <<e_Events_EVENT3>> : EVENT3
STATE4 -[#1E90FF,bold]-> STATE5 <<external>> <<e_Events_EVENT4>> : EVENT4
STATE5 -[#1E90FF,bold]-> STATE6 <<external>> <<e_Events_EVENT5>> : EVENT5
STATE6 -[#1E90FF,bold]-> STATE7 <<external>> <<e_Events_EVENT6>> : EVENT6
STATE7 -[#1E90FF,bold]-> STATE8 <<external>> <<e_Events_EVENT7>> : EVENT7
STATE8 -[#1E90FF,bold]-> STATE9 <<external>> <<e_Events_EVENT8>> : EVENT8
STATE9 -[#1E90FF,bold]-> STATE10 <<external>> <<e_Events_EVENT9>> : EVENT9
STATE1 -[#1E90FF,bold]-> CANCEL <<external>> <<e_Events_EVENT_CANCEL>> : EVENT_CANCEL
STATE2 -[#1E90FF,bold]-> CANCEL <<external>> <<e_Events_EVENT_CANCEL>> : EVENT_CANCEL
STATE3 -[#1E90FF,bold]-> CANCEL <<external>> <<e_Events_EVENT_CANCEL>> : EVENT_CANCEL
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)
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_EVENT_1_2>> stereotype
STATEZ --> [*]
@enduml

View File

@@ -1,25 +1,66 @@
@startuml
skinparam state {
BackgroundColor<<choice>> LightYellow
}
<style>
state {
.choice {
BackgroundColor LightYellow
}
}
arrow {
LineThickness 1
.external { LineColor #1E90FF }
.internal { LineColor #32CD32 }
.local { LineColor #FFA500 }
.junction { LineColor #FF69B4 }
.join { LineColor #8A2BE2 }
.fork { LineColor #20B2AA }
.choice_type { LineColor #000000 }
.choice_color_0 { LineColor #FF6347 }
.choice_color_1 { LineColor #4682B4 }
.choice_color_2 { LineColor #32CD32 }
.choice_color_3 { LineColor #FFD700 }
.choice_color_4 { LineColor #6A5ACD }
.choice_color_5 { LineColor #FF69B4 }
}
/* Example: Highlight all transitions for a specific event */
/* .e_MY_EVENT { LineColor red } */
</style>
hide <<external>> stereotype
hide <<internal>> stereotype
hide <<local>> stereotype
hide <<junction>> stereotype
hide <<join>> stereotype
hide <<fork>> stereotype
hide <<choice_type>> stereotype
hide <<choice_color_0>> stereotype
hide <<choice_color_1>> stereotype
hide <<choice_color_2>> stereotype
hide <<choice_color_3>> stereotype
hide <<choice_color_4>> stereotype
hide <<choice_color_5>> stereotype
[*] --> SUBMITTED
state PAID1 <<choice>>
SUBMITTED -[#1E90FF,bold]-> PAID : PAY
PAID -[#1E90FF,bold]-> FULFILLED : FULFILL
SUBMITTED -[#1E90FF,bold]-> CANCELED : CANCEL [λ]
PAID -[#1E90FF,bold]-> CANCELED : CANCEL
SUBMITTED -[#1E90FF,bold]-> SUBMITTED : ABCD
SUBMITTED -[#1E90FF,bold]-> PAID1 : ABCD
PAID1 -[#FF6347,bold]-> PAID2 : [λ] (order=0)
PAID1 -[#FF6347,bold]-> PAID3 : [guard1] (order=1)
PAID1 -[#FF6347,bold]-> HAPPEN : [λ] (order=2)
PAID1 -[#FF6347,bold]-> CANCELED : (order=3)
PAID2 -[#1E90FF,bold]-> CANCELED
PAID3 -[#1E90FF,bold]-> CANCELED
PAID2 -[#1E90FF,bold]-> PAID2 : ABCD / λ, action2
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 -[#1E90FF,bold]-> PAID1 <<external>> <<e_OrderEvents_ABCD>> : ABCD
PAID1 -[#FF6347,bold]-> PAID2 <<choice_color_0>> : [λ] (order=0)
PAID1 -[#FF6347,bold]-> PAID3 <<choice_color_0>> : [guard1] (order=1)
PAID1 -[#FF6347,bold]-> HAPPEN <<choice_color_0>> : [λ] (order=2)
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
CANCELED --> [*]
FULFILLED --> [*]

Binary file not shown.

After

Width:  |  Height:  |  Size: 193 KiB

View File

@@ -1,7 +1,44 @@
@startuml
skinparam state {
BackgroundColor<<choice>> LightYellow
}
<style>
state {
.choice {
BackgroundColor LightYellow
}
}
arrow {
LineThickness 1
.external { LineColor #1E90FF }
.internal { LineColor #32CD32 }
.local { LineColor #FFA500 }
.junction { LineColor #FF69B4 }
.join { LineColor #8A2BE2 }
.fork { LineColor #20B2AA }
.choice_type { LineColor #000000 }
.choice_color_0 { LineColor #FF6347 }
.choice_color_1 { LineColor #4682B4 }
.choice_color_2 { LineColor #32CD32 }
.choice_color_3 { LineColor #FFD700 }
.choice_color_4 { LineColor #6A5ACD }
.choice_color_5 { LineColor #FF69B4 }
}
/* Example: Highlight all transitions for a specific event */
/* .e_MY_EVENT { LineColor red } */
</style>
hide <<external>> stereotype
hide <<internal>> stereotype
hide <<local>> stereotype
hide <<junction>> stereotype
hide <<join>> stereotype
hide <<fork>> stereotype
hide <<choice_type>> stereotype
hide <<choice_color_0>> stereotype
hide <<choice_color_1>> stereotype
hide <<choice_color_2>> stereotype
hide <<choice_color_3>> stereotype
hide <<choice_color_4>> stereotype
hide <<choice_color_5>> stereotype
[*] --> STATE1
@@ -17,48 +54,65 @@ state STATE9 <<choice>>
state STATE19 <<choice>>
state STATE18 <<choice>>
STATE1 -[#1E90FF,bold]-> STATE2 : EVENT1
STATE2 -[#1E90FF,bold]-> STATE3 : EVENT2
STATE3 -[#1E90FF,bold]-> STATE4 : EVENT3
STATE4 -[#1E90FF,bold]-> STATE5 : EVENT4
STATE5 -[#1E90FF,bold]-> STATE6 : EVENT5
STATE6 -[#1E90FF,bold]-> STATE7 : EVENT6
STATE7 -[#1E90FF,bold]-> STATE8 : EVENT7
STATE8 -[#1E90FF,bold]-> STATE9 : EVENT8
STATE9 -[#1E90FF,bold]-> STATE10 : EVENT9
STATE10 -[#1E90FF,bold]-> STATE11 : EVENT10
STATE11 -[#1E90FF,bold]-> STATE12 : EVENT11
STATE12 -[#1E90FF,bold]-> STATE13 : EVENT12
STATE13 -[#1E90FF,bold]-> STATE14 : EVENT13
STATE14 -[#1E90FF,bold]-> STATE15 : EVENT14
STATE15 -[#1E90FF,bold]-> STATE16 : EVENT15
STATE4 -[#1E90FF,bold]-> STATEY : EVENTY
STATEY -[#FF6347,bold]-> STATEX : [guardVarEquals("value1")] (order=0)
STATEY -[#FF6347,bold]-> STATEZ : (order=1)
STATE16 -[#4682B4,bold]-> STATE17 : [guardVarEquals("value1")] (order=0)
STATE16 -[#4682B4,bold]-> STATE18 : [guardVarEquals("value2")] (order=1)
STATE16 -[#4682B4,bold]-> STATE19 : (order=2)
STATE17 -[#FF6347,bold]-> STATE20 : [guardEventHeaderEquals("header1","foo")] (order=0)
STATE17 -[#FF6347,bold]-> STATE16 : (order=1)
STATE18 -[#6A5ACD,bold]-> STATE19 : [guardVarEquals("value3")] (order=0)
STATE18 -[#6A5ACD,bold]-> STATE20 : (order=1)
STATE19 -[#FFD700,bold]-> STATE1 : [guardVarEquals("reset")] (order=0)
STATE19 -[#FFD700,bold]-> STATE20 : (order=1)
STATE20 -[#4682B4,bold]-> STATE5 : [guardEventHeaderEquals("header2","bar")] (order=0)
STATE20 -[#4682B4,bold]-> STATE1 : (order=1)
STATE11 -[#6A5ACD,bold]-> STATE13 : [guardVarEquals("goTo13")] (order=0)
STATE11 -[#6A5ACD,bold]-> STATE14 : [guardVarEquals("goTo14")] (order=1)
STATE11 -[#6A5ACD,bold]-> STATE15 : (order=2)
STATE12 -[#FFD700,bold]-> STATE10 : [guardVarEquals("goBack10")] (order=0)
STATE12 -[#FFD700,bold]-> STATE11 : (order=1)
STATE14 -[#32CD32,bold]-> STATE12 : [guardVarEquals("loop12")] (order=0)
STATE14 -[#32CD32,bold]-> STATE16 : (order=1)
STATE9 -[#32CD32,bold]-> STATE8 : [guardVarEquals("stepBack")] (order=0)
STATE9 -[#32CD32,bold]-> STATE7 : [guardVarEquals("stepBackMore")] (order=1)
STATE9 -[#32CD32,bold]-> STATE6 : (order=2)
STATE8 -[#FF69B4,bold]-> STATE9 : [guardVarEquals("forward9")] (order=0)
STATE8 -[#FF69B4,bold]-> STATE10 : (order=1)
STATE5 -[#1E90FF,bold]-> STATE_EXTRA_1 : EVENTX
STATE1 -[#1E90FF,bold]-> STATE2 <<external>> <<e_Events_EVENT1>> : EVENT1
STATE2 -[#1E90FF,bold]-> STATE3 <<external>> <<e_Events_EVENT2>> : EVENT2
STATE3 -[#1E90FF,bold]-> STATE4 <<external>> <<e_Events_EVENT3>> : EVENT3
STATE4 -[#1E90FF,bold]-> STATE5 <<external>> <<e_Events_EVENT4>> : EVENT4
STATE5 -[#1E90FF,bold]-> STATE6 <<external>> <<e_Events_EVENT5>> : EVENT5
STATE6 -[#1E90FF,bold]-> STATE7 <<external>> <<e_Events_EVENT6>> : EVENT6
STATE7 -[#1E90FF,bold]-> STATE8 <<external>> <<e_Events_EVENT7>> : EVENT7
STATE8 -[#1E90FF,bold]-> STATE9 <<external>> <<e_Events_EVENT8>> : EVENT8
STATE9 -[#1E90FF,bold]-> STATE10 <<external>> <<e_Events_EVENT9>> : EVENT9
STATE10 -[#1E90FF,bold]-> STATE11 <<external>> <<e_Events_EVENT10>> : EVENT10
STATE11 -[#1E90FF,bold]-> STATE12 <<external>> <<e_Events_EVENT11>> : EVENT11
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
STATE4 -[#1E90FF,bold]-> STATEY <<external>> <<e_Events_EVENTY>> : EVENTY
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 -[#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)
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)
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_EVENT10>> stereotype
hide <<e_Events_EVENT11>> stereotype
hide <<e_Events_EVENT12>> stereotype
STATEZ --> [*]
@enduml

View File

@@ -1,27 +1,68 @@
@startuml
skinparam state {
BackgroundColor<<choice>> LightYellow
}
<style>
state {
.choice {
BackgroundColor LightYellow
}
}
arrow {
LineThickness 1
.external { LineColor #1E90FF }
.internal { LineColor #32CD32 }
.local { LineColor #FFA500 }
.junction { LineColor #FF69B4 }
.join { LineColor #8A2BE2 }
.fork { LineColor #20B2AA }
.choice_type { LineColor #000000 }
.choice_color_0 { LineColor #FF6347 }
.choice_color_1 { LineColor #4682B4 }
.choice_color_2 { LineColor #32CD32 }
.choice_color_3 { LineColor #FFD700 }
.choice_color_4 { LineColor #6A5ACD }
.choice_color_5 { LineColor #FF69B4 }
}
/* Example: Highlight all transitions for a specific event */
/* .e_MY_EVENT { LineColor red } */
</style>
hide <<external>> stereotype
hide <<internal>> stereotype
hide <<local>> stereotype
hide <<junction>> stereotype
hide <<join>> stereotype
hide <<fork>> stereotype
hide <<choice_type>> stereotype
hide <<choice_color_0>> stereotype
hide <<choice_color_1>> stereotype
hide <<choice_color_2>> stereotype
hide <<choice_color_3>> stereotype
hide <<choice_color_4>> stereotype
hide <<choice_color_5>> stereotype
[*] --> SUBMITTED
state PAID <<choice>>
state SUBMITTED <<choice>>
SUBMITTED -[#1E90FF,bold]-> PAID : PAY
PAID -[#1E90FF,bold]-> FULFILLED : FULFILL
SUBMITTED -[#1E90FF,bold]-> CANCELED : CANCEL [λ]
PAID -[#1E90FF,bold]-> CANCELED : CANCEL
SUBMITTED -[#1E90FF,bold]-> SUBMITTED : ABCD
SUBMITTED -[#4682B4,bold]-> PAID2 : [λ] (order=0)
SUBMITTED -[#4682B4,bold]-> PAID3 : (order=1)
PAID -[#FF6347,bold]-> PAID1 : [λ] (order=0)
PAID -[#FF6347,bold]-> PAID2 : [guard1] (order=1)
PAID -[#FF6347,bold]-> HAPPEN : [λ] (order=2)
PAID -[#FF6347,bold]-> PAID3 : (order=3)
PAID2 -[#1E90FF,bold]-> CANCELED
PAID3 -[#1E90FF,bold]-> CANCELED
PAID1 -[#1E90FF,bold]-> PAID1 : ABCD / λ, action2
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)
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
CANCELED --> [*]
FULFILLED --> [*]

Binary file not shown.

After

Width:  |  Height:  |  Size: 258 KiB

View File

@@ -1,7 +1,44 @@
@startuml
skinparam state {
BackgroundColor<<choice>> LightYellow
}
<style>
state {
.choice {
BackgroundColor LightYellow
}
}
arrow {
LineThickness 1
.external { LineColor #1E90FF }
.internal { LineColor #32CD32 }
.local { LineColor #FFA500 }
.junction { LineColor #FF69B4 }
.join { LineColor #8A2BE2 }
.fork { LineColor #20B2AA }
.choice_type { LineColor #000000 }
.choice_color_0 { LineColor #FF6347 }
.choice_color_1 { LineColor #4682B4 }
.choice_color_2 { LineColor #32CD32 }
.choice_color_3 { LineColor #FFD700 }
.choice_color_4 { LineColor #6A5ACD }
.choice_color_5 { LineColor #FF69B4 }
}
/* Example: Highlight all transitions for a specific event */
/* .e_MY_EVENT { LineColor red } */
</style>
hide <<external>> stereotype
hide <<internal>> stereotype
hide <<local>> stereotype
hide <<junction>> stereotype
hide <<join>> stereotype
hide <<fork>> stereotype
hide <<choice_type>> stereotype
hide <<choice_color_0>> stereotype
hide <<choice_color_1>> stereotype
hide <<choice_color_2>> stereotype
hide <<choice_color_3>> stereotype
hide <<choice_color_4>> stereotype
hide <<choice_color_5>> stereotype
[*] --> STATE1
@@ -18,58 +55,77 @@ state STATE9 <<choice>>
state STATE19 <<choice>>
state STATE18 <<choice>>
STATE1 -[#1E90FF,bold]-> STATE2 : EVENT1
STATE2 -[#1E90FF,bold]-> STATE3 : EVENT2
STATE3 -[#1E90FF,bold]-> STATE4 : EVENT3
STATE4 -[#1E90FF,bold]-> STATE5 : EVENT4
STATE5 -[#1E90FF,bold]-> STATE6 : EVENT5
STATE6 -[#1E90FF,bold]-> STATE7 : EVENT6
STATE7 -[#1E90FF,bold]-> STATE8 : EVENT7
STATE8 -[#1E90FF,bold]-> STATE9 : EVENT8
STATE9 -[#1E90FF,bold]-> STATE10 : EVENT9
STATE10 -[#1E90FF,bold]-> STATE11 : EVENT10
STATE11 -[#1E90FF,bold]-> STATE12 : EVENT11
STATE12 -[#1E90FF,bold]-> STATE13 : EVENT12
STATE13 -[#1E90FF,bold]-> STATE14 : EVENT13
STATE14 -[#1E90FF,bold]-> STATE15 : EVENT14
STATE15 -[#1E90FF,bold]-> STATE16 : EVENT15
STATE1 -[#1E90FF,bold]-> CANCEL : EVENT_CANCEL
STATE2 -[#1E90FF,bold]-> CANCEL : EVENT_CANCEL
STATE3 -[#1E90FF,bold]-> CANCEL : EVENT_CANCEL
STATE4 -[#1E90FF,bold]-> CANCEL : EVENT_CANCEL
STATE5 -[#1E90FF,bold]-> CANCEL : EVENT_CANCEL
STATE4 -[#1E90FF,bold]-> STATEY : EVENTY
STATEY -[#4682B4,bold]-> STATEX : [guardVarEquals("value1")] (order=0)
STATEY -[#4682B4,bold]-> STATEZ : (order=1)
STATE16 -[#4682B4,bold]-> STATE17 : [guardVarEquals("value1")] (order=0)
STATE16 -[#4682B4,bold]-> STATE18 : [guardVarEquals("value2")] (order=1)
STATE16 -[#4682B4,bold]-> STATE19 : (order=2)
STATE17 -[#FF6347,bold]-> STATE20 : [guardEventHeaderEquals("header1","foo")] (order=0)
STATE17 -[#FF6347,bold]-> STATE16 : (order=1)
STATE18 -[#FF69B4,bold]-> STATE19 : [guardVarEquals("value3")] (order=0)
STATE18 -[#FF69B4,bold]-> STATE20 : (order=1)
STATE19 -[#6A5ACD,bold]-> STATE1 : [guardVarEquals("reset")] (order=0)
STATE19 -[#6A5ACD,bold]-> STATE20 : (order=1)
STATE20 -[#32CD32,bold]-> STATE5 : [guardEventHeaderEquals("header2","bar")] (order=0)
STATE20 -[#32CD32,bold]-> STATE1 : (order=1)
STATE11 -[#FF69B4,bold]-> STATE13 : [guardVarEquals("goTo13")] (order=0)
STATE11 -[#FF69B4,bold]-> STATE14 : [guardVarEquals("goTo14")] (order=1)
STATE11 -[#FF69B4,bold]-> STATE15 : (order=2)
STATE12 -[#6A5ACD,bold]-> STATE10 : [guardVarEquals("goBack10")] (order=0)
STATE12 -[#6A5ACD,bold]-> STATE11 : (order=1)
STATE14 -[#FFD700,bold]-> STATE12 : [guardVarEquals("loop12")] (order=0)
STATE14 -[#FFD700,bold]-> STATE16 : (order=1)
STATE9 -[#FFD700,bold]-> STATE8 : [guardVarEquals("stepBack")] (order=0)
STATE9 -[#FFD700,bold]-> STATE7 : [guardVarEquals("stepBackMore")] (order=1)
STATE9 -[#FFD700,bold]-> STATE6 : (order=2)
STATE8 -[#FF6347,bold]-> STATE9 : [guardVarEquals("forward9")] (order=0)
STATE8 -[#FF6347,bold]-> STATE10 : (order=1)
STATE2 -[#1E90FF,bold]-> STATE_EXTRA_1 : EVENTX
STATE2 -[#32CD32,bold]-> STATE1 : [guardEventHeaderEquals("header1","foo")] (order=0)
STATE2 -[#32CD32,bold]-> STATE_EXTRA_1 : (order=1)
STATE_EXTRA_1 -[#1E90FF,bold]-> STATE_EXTRA_3 : EVENTY
STATE_EXTRA_1 -[#1E90FF,bold]-> CANCEL : EVENT_CANCEL_2
STATE_EXTRA_2 -[#1E90FF,bold]-> CANCEL : EVENT_CANCEL_2
STATE1 -[#1E90FF,bold]-> STATE2 <<external>> <<e_Events_EVENT1>> : EVENT1
STATE2 -[#1E90FF,bold]-> STATE3 <<external>> <<e_Events_EVENT2>> : EVENT2
STATE3 -[#1E90FF,bold]-> STATE4 <<external>> <<e_Events_EVENT3>> : EVENT3
STATE4 -[#1E90FF,bold]-> STATE5 <<external>> <<e_Events_EVENT4>> : EVENT4
STATE5 -[#1E90FF,bold]-> STATE6 <<external>> <<e_Events_EVENT5>> : EVENT5
STATE6 -[#1E90FF,bold]-> STATE7 <<external>> <<e_Events_EVENT6>> : EVENT6
STATE7 -[#1E90FF,bold]-> STATE8 <<external>> <<e_Events_EVENT7>> : EVENT7
STATE8 -[#1E90FF,bold]-> STATE9 <<external>> <<e_Events_EVENT8>> : EVENT8
STATE9 -[#1E90FF,bold]-> STATE10 <<external>> <<e_Events_EVENT9>> : EVENT9
STATE10 -[#1E90FF,bold]-> STATE11 <<external>> <<e_Events_EVENT10>> : EVENT10
STATE11 -[#1E90FF,bold]-> STATE12 <<external>> <<e_Events_EVENT11>> : EVENT11
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
STATE1 -[#1E90FF,bold]-> CANCEL <<external>> <<e_Events_EVENT_CANCEL>> : EVENT_CANCEL
STATE2 -[#1E90FF,bold]-> CANCEL <<external>> <<e_Events_EVENT_CANCEL>> : EVENT_CANCEL
STATE3 -[#1E90FF,bold]-> CANCEL <<external>> <<e_Events_EVENT_CANCEL>> : EVENT_CANCEL
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)
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)
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)
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)
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)
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_EVENT10>> stereotype
hide <<e_Events_EVENT11>> stereotype
hide <<e_Events_EVENT12>> stereotype
hide <<e_Events_EVENT_CANCEL_2>> stereotype
STATEZ --> [*]
@enduml

View File

@@ -1,7 +1,44 @@
@startuml
skinparam state {
BackgroundColor<<choice>> LightYellow
}
<style>
state {
.choice {
BackgroundColor LightYellow
}
}
arrow {
LineThickness 1
.external { LineColor #1E90FF }
.internal { LineColor #32CD32 }
.local { LineColor #FFA500 }
.junction { LineColor #FF69B4 }
.join { LineColor #8A2BE2 }
.fork { LineColor #20B2AA }
.choice_type { LineColor #000000 }
.choice_color_0 { LineColor #FF6347 }
.choice_color_1 { LineColor #4682B4 }
.choice_color_2 { LineColor #32CD32 }
.choice_color_3 { LineColor #FFD700 }
.choice_color_4 { LineColor #6A5ACD }
.choice_color_5 { LineColor #FF69B4 }
}
/* Example: Highlight all transitions for a specific event */
/* .e_MY_EVENT { LineColor red } */
</style>
hide <<external>> stereotype
hide <<internal>> stereotype
hide <<local>> stereotype
hide <<junction>> stereotype
hide <<join>> stereotype
hide <<fork>> stereotype
hide <<choice_type>> stereotype
hide <<choice_color_0>> stereotype
hide <<choice_color_1>> stereotype
hide <<choice_color_2>> stereotype
hide <<choice_color_3>> stereotype
hide <<choice_color_4>> stereotype
hide <<choice_color_5>> stereotype
[*] --> STATE1
@@ -17,55 +54,74 @@ state STATE9 <<choice>>
state STATE19 <<choice>>
state STATE18 <<choice>>
STATE1 -[#1E90FF,bold]-> STATE2 : EVENT1
STATE2 -[#1E90FF,bold]-> STATE3 : EVENT2
STATE3 -[#1E90FF,bold]-> STATE4 : EVENT3
STATE4 -[#1E90FF,bold]-> STATE5 : EVENT4
STATE5 -[#1E90FF,bold]-> STATE6 : EVENT5
STATE6 -[#1E90FF,bold]-> STATE7 : EVENT6
STATE7 -[#1E90FF,bold]-> STATE8 : EVENT7
STATE8 -[#1E90FF,bold]-> STATE9 : EVENT8
STATE9 -[#1E90FF,bold]-> STATE10 : EVENT9
STATE10 -[#1E90FF,bold]-> STATE11 : EVENT10
STATE11 -[#1E90FF,bold]-> STATE12 : EVENT11
STATE12 -[#1E90FF,bold]-> STATE13 : EVENT12
STATE13 -[#1E90FF,bold]-> STATE14 : EVENT13
STATE14 -[#1E90FF,bold]-> STATE15 : EVENT14
STATE15 -[#1E90FF,bold]-> STATE16 : EVENT15
STATE1 -[#1E90FF,bold]-> CANCEL : EVENT_CANCEL
STATE2 -[#1E90FF,bold]-> CANCEL : EVENT_CANCEL
STATE3 -[#1E90FF,bold]-> CANCEL : EVENT_CANCEL
STATE4 -[#1E90FF,bold]-> CANCEL : EVENT_CANCEL
STATE5 -[#1E90FF,bold]-> CANCEL : EVENT_CANCEL
STATE4 -[#1E90FF,bold]-> STATEY : EVENTY
STATEY -[#FF6347,bold]-> STATEX : [guardVarEquals("value1")] (order=0)
STATEY -[#FF6347,bold]-> STATEZ : (order=1)
STATE16 -[#4682B4,bold]-> STATE17 : [guardVarEquals("value1")] (order=0)
STATE16 -[#4682B4,bold]-> STATE18 : [guardVarEquals("value2")] (order=1)
STATE16 -[#4682B4,bold]-> STATE19 : (order=2)
STATE17 -[#FF6347,bold]-> STATE20 : [guardEventHeaderEquals("header1","foo")] (order=0)
STATE17 -[#FF6347,bold]-> STATE16 : (order=1)
STATE18 -[#6A5ACD,bold]-> STATE19 : [guardVarEquals("value3")] (order=0)
STATE18 -[#6A5ACD,bold]-> STATE20 : (order=1)
STATE19 -[#FFD700,bold]-> STATE1 : [guardVarEquals("reset")] (order=0)
STATE19 -[#FFD700,bold]-> STATE20 : (order=1)
STATE20 -[#4682B4,bold]-> STATE5 : [guardEventHeaderEquals("header2","bar")] (order=0)
STATE20 -[#4682B4,bold]-> STATE1 : (order=1)
STATE11 -[#6A5ACD,bold]-> STATE13 : [guardVarEquals("goTo13")] (order=0)
STATE11 -[#6A5ACD,bold]-> STATE14 : [guardVarEquals("goTo14")] (order=1)
STATE11 -[#6A5ACD,bold]-> STATE15 : (order=2)
STATE12 -[#FFD700,bold]-> STATE10 : [guardVarEquals("goBack10")] (order=0)
STATE12 -[#FFD700,bold]-> STATE11 : (order=1)
STATE14 -[#32CD32,bold]-> STATE12 : [guardVarEquals("loop12")] (order=0)
STATE14 -[#32CD32,bold]-> STATE16 : (order=1)
STATE9 -[#32CD32,bold]-> STATE8 : [guardVarEquals("stepBack")] (order=0)
STATE9 -[#32CD32,bold]-> STATE7 : [guardVarEquals("stepBackMore")] (order=1)
STATE9 -[#32CD32,bold]-> STATE6 : (order=2)
STATE8 -[#FF69B4,bold]-> STATE9 : [guardVarEquals("forward9")] (order=0)
STATE8 -[#FF69B4,bold]-> STATE10 : (order=1)
STATE5 -[#1E90FF,bold]-> STATE_EXTRA_1 : EVENTX
STATE_EXTRA_1 -[#1E90FF,bold]-> CANCEL : EVENT_CANCEL
STATE_EXTRA_1 -[#1E90FF,bold]-> CANCEL : EVENT_CANCEL_2
STATE1 -[#1E90FF,bold]-> STATE2 <<external>> <<e_Events_EVENT1>> : EVENT1
STATE2 -[#1E90FF,bold]-> STATE3 <<external>> <<e_Events_EVENT2>> : EVENT2
STATE3 -[#1E90FF,bold]-> STATE4 <<external>> <<e_Events_EVENT3>> : EVENT3
STATE4 -[#1E90FF,bold]-> STATE5 <<external>> <<e_Events_EVENT4>> : EVENT4
STATE5 -[#1E90FF,bold]-> STATE6 <<external>> <<e_Events_EVENT5>> : EVENT5
STATE6 -[#1E90FF,bold]-> STATE7 <<external>> <<e_Events_EVENT6>> : EVENT6
STATE7 -[#1E90FF,bold]-> STATE8 <<external>> <<e_Events_EVENT7>> : EVENT7
STATE8 -[#1E90FF,bold]-> STATE9 <<external>> <<e_Events_EVENT8>> : EVENT8
STATE9 -[#1E90FF,bold]-> STATE10 <<external>> <<e_Events_EVENT9>> : EVENT9
STATE10 -[#1E90FF,bold]-> STATE11 <<external>> <<e_Events_EVENT10>> : EVENT10
STATE11 -[#1E90FF,bold]-> STATE12 <<external>> <<e_Events_EVENT11>> : EVENT11
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
STATE1 -[#1E90FF,bold]-> CANCEL <<external>> <<e_Events_EVENT_CANCEL>> : EVENT_CANCEL
STATE2 -[#1E90FF,bold]-> CANCEL <<external>> <<e_Events_EVENT_CANCEL>> : EVENT_CANCEL
STATE3 -[#1E90FF,bold]-> CANCEL <<external>> <<e_Events_EVENT_CANCEL>> : EVENT_CANCEL
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 -[#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 -[#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)
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)
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_EVENT10>> stereotype
hide <<e_Events_EVENT11>> stereotype
hide <<e_Events_EVENT12>> stereotype
hide <<e_Events_EVENT_CANCEL_2>> stereotype
STATEZ --> [*]
@enduml