plantuml gets styles
@@ -5,6 +5,9 @@ import click.kamil.springstatemachineexporter.model.Transition;
|
||||
import click.kamil.springstatemachineexporter.model.TransitionType;
|
||||
import click.kamil.springstatemachineexporter.ast.common.StringUtils;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.InputStream;
|
||||
import java.io.InputStreamReader;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
@@ -17,22 +20,19 @@ import java.util.stream.Collectors;
|
||||
public class PlantUml implements StateMachineExporter {
|
||||
private final List<String> choiceColors = List.of("FF6347", "4682B4", "32CD32", "FFD700", "6A5ACD", "FF69B4");
|
||||
|
||||
private String getColor(Transition t, String source, Map<String, String> choiceStateColorMap) {
|
||||
if (t.getType() == null)
|
||||
return "000000";
|
||||
return switch (t.getType()) {
|
||||
case CHOICE -> choiceStateColorMap.getOrDefault(source, "000000");
|
||||
case EXTERNAL -> "1E90FF";
|
||||
case INTERNAL -> "32CD32";
|
||||
case LOCAL -> "FFA500";
|
||||
case JUNCTION -> "FF69B4";
|
||||
case JOIN -> "8A2BE2";
|
||||
case FORK -> "20B2AA";
|
||||
};
|
||||
}
|
||||
|
||||
private final String LAMBDA = "λ";
|
||||
|
||||
private String loadBaseStyle() {
|
||||
try (InputStream is = getClass().getResourceAsStream("/plantuml/default-style.puml")) {
|
||||
if (is == null) return "";
|
||||
return new BufferedReader(new InputStreamReader(is))
|
||||
.lines()
|
||||
.collect(Collectors.joining("\n"));
|
||||
} catch (Exception e) {
|
||||
return "";
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String export(String name,
|
||||
List<Transition> transitions,
|
||||
@@ -42,9 +42,21 @@ public class PlantUml implements StateMachineExporter {
|
||||
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.append("@startuml\n");
|
||||
sb.append("skinparam state {\n");
|
||||
sb.append(" BackgroundColor<<choice>> LightYellow\n");
|
||||
sb.append("}\n\n");
|
||||
|
||||
String style = loadBaseStyle();
|
||||
|
||||
StringBuilder choiceColorStyles = new StringBuilder();
|
||||
StringBuilder hideChoiceColors = new StringBuilder();
|
||||
for (int i = 0; i < choiceColors.size(); i++) {
|
||||
choiceColorStyles.append(" .choice_color_").append(i)
|
||||
.append(" { LineColor #").append(choiceColors.get(i)).append(" }\n");
|
||||
hideChoiceColors.append("hide <<choice_color_").append(i).append(">> stereotype\n");
|
||||
}
|
||||
|
||||
style = style.replace("/* CHOICE_COLORS_PLACEHOLDER */", choiceColorStyles.toString());
|
||||
style = style.replace("/* HIDE_CHOICE_COLORS_PLACEHOLDER */", hideChoiceColors.toString());
|
||||
|
||||
sb.append(style).append("\n");
|
||||
|
||||
for (String start : startStates) {
|
||||
sb.append("[*] --> ").append(simplify(start)).append("\n");
|
||||
@@ -60,12 +72,13 @@ public class PlantUml implements StateMachineExporter {
|
||||
}
|
||||
}
|
||||
|
||||
Map<String, String> choiceStateColorMap = new HashMap<>();
|
||||
Map<String, String> choiceStateClassMap = new HashMap<>();
|
||||
int colorIndex = 0;
|
||||
|
||||
for (String state : statesWithChoice) {
|
||||
String className = "choice_color_" + (colorIndex % choiceColors.size());
|
||||
sb.append("state ").append(state).append(" <<choice>>\n");
|
||||
choiceStateColorMap.put(state, choiceColors.get(colorIndex % choiceColors.size()));
|
||||
choiceStateClassMap.put(state, className);
|
||||
colorIndex++;
|
||||
}
|
||||
|
||||
@@ -80,6 +93,7 @@ public class PlantUml implements StateMachineExporter {
|
||||
|
||||
sb.append("\n");
|
||||
|
||||
Set<String> usedEventStereotypes = new HashSet<>();
|
||||
for (Transition t : transitions) {
|
||||
if (t.getSourceStates() == null || t.getSourceStates().isEmpty())
|
||||
continue;
|
||||
@@ -104,8 +118,15 @@ public class PlantUml implements StateMachineExporter {
|
||||
String target = simplify(rawTarget);
|
||||
String transitionSource = source;
|
||||
|
||||
String color = getColor(t, source, choiceStateColorMap);
|
||||
sb.append(transitionSource).append(" -[#").append(color).append(",bold]-> ").append(target);
|
||||
String styleClass = getStyleClass(t, source, choiceStateClassMap);
|
||||
String color = getLegacyColor(t, source, choiceStateClassMap);
|
||||
sb.append(transitionSource).append(" -[#").append(color).append(",bold]-> ").append(target).append(" <<").append(styleClass).append(">>");
|
||||
|
||||
if (t.getEvent() != null && !t.getEvent().isBlank()) {
|
||||
String eventClass = "e_" + normalize(t.getEvent());
|
||||
sb.append(" <<").append(eventClass).append(">>");
|
||||
usedEventStereotypes.add(eventClass);
|
||||
}
|
||||
|
||||
String label = buildLabel(t, useLambdaGuards);
|
||||
if (!label.isEmpty()) {
|
||||
@@ -116,6 +137,10 @@ public class PlantUml implements StateMachineExporter {
|
||||
}
|
||||
}
|
||||
|
||||
for (String eventClass : usedEventStereotypes) {
|
||||
sb.append("hide <<").append(eventClass).append(">> stereotype\n");
|
||||
}
|
||||
|
||||
sb.append("\n");
|
||||
for (String end : endStates) {
|
||||
sb.append(simplify(end)).append(" --> [*]\n");
|
||||
@@ -125,6 +150,46 @@ public class PlantUml implements StateMachineExporter {
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
private String normalize(String name) {
|
||||
if (name == null) return "";
|
||||
return name.replaceAll("[^a-zA-Z0-9]", "_");
|
||||
}
|
||||
|
||||
private String getLegacyColor(Transition t, String source, Map<String, String> choiceStateClassMap) {
|
||||
if (t.getType() == null)
|
||||
return "000000";
|
||||
return switch (t.getType()) {
|
||||
case CHOICE -> {
|
||||
String className = choiceStateClassMap.get(source);
|
||||
if (className != null && className.startsWith("choice_color_")) {
|
||||
int index = Integer.parseInt(className.substring("choice_color_".length()));
|
||||
yield choiceColors.get(index % choiceColors.size());
|
||||
}
|
||||
yield "000000";
|
||||
}
|
||||
case EXTERNAL -> "1E90FF";
|
||||
case INTERNAL -> "32CD32";
|
||||
case LOCAL -> "FFA500";
|
||||
case JUNCTION -> "FF69B4";
|
||||
case JOIN -> "8A2BE2";
|
||||
case FORK -> "20B2AA";
|
||||
};
|
||||
}
|
||||
|
||||
private String getStyleClass(Transition t, String source, Map<String, String> choiceStateClassMap) {
|
||||
if (t.getType() == null)
|
||||
return "default";
|
||||
return switch (t.getType()) {
|
||||
case CHOICE -> choiceStateClassMap.getOrDefault(source, "choice_type");
|
||||
case EXTERNAL -> "external";
|
||||
case INTERNAL -> "internal";
|
||||
case LOCAL -> "local";
|
||||
case JUNCTION -> "junction";
|
||||
case JOIN -> "join";
|
||||
case FORK -> "fork";
|
||||
};
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getFileExtension() {
|
||||
return ".puml";
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
After Width: | Height: | Size: 172 KiB |
@@ -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
|
||||
|
||||
|
||||
|
After Width: | Height: | Size: 258 KiB |
@@ -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
|
||||
|
||||
|
After Width: | Height: | Size: 288 KiB |
@@ -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
|
||||
|
||||
|
After Width: | Height: | Size: 21 KiB |
@@ -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
|
||||
|
||||
|
After Width: | Height: | Size: 106 KiB |
@@ -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
|
||||
|
||||
|
After Width: | Height: | Size: 113 KiB |
@@ -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
|
||||
|
||||
|
After Width: | Height: | Size: 44 KiB |
@@ -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 --> [*]
|
||||
|
||||
|
After Width: | Height: | Size: 193 KiB |
@@ -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
|
||||
|
||||
|
After Width: | Height: | Size: 50 KiB |
@@ -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 --> [*]
|
||||
|
||||
|
After Width: | Height: | Size: 258 KiB |
@@ -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
|
||||
|
||||
|
After Width: | Height: | Size: 238 KiB |
@@ -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
|
||||
|
||||