diff --git a/autocoder/fprime_backend/fppcoder.py b/autocoder/fprime_backend/fppcoder.py index b43cc5d..8f6413d 100644 --- a/autocoder/fprime_backend/fppcoder.py +++ b/autocoder/fprime_backend/fppcoder.py @@ -73,39 +73,47 @@ def processNode(node: Node, indent = " " * level - for child in node.children: - - if child.name == "INITIAL": - target = xmiModel.idMap[child.target].stateName - doExpr = f" do {{ {format_funcs(child.action, False)} }}" if child.action else "" - fppFile.write(f"{indent}initial{doExpr} enter {target}\n") - - if child.name == "JUNCTION": - ifTarget = xmiModel.idMap[child.ifTarget].stateName - elseTarget = xmiModel.idMap[child.elseTarget].stateName - doIfExpr = f" do {{ {format_funcs(child.ifAction, False)} }}" if child.ifAction else "" - doElseExpr = f" do {{ {format_funcs(child.elseAction, False)} }}" if child.elseAction else "" - fppFile.write(f"{indent}choice {child.stateName} {{\n") - fppFile.write(f"{indent} if {child.guard}{doIfExpr} enter {ifTarget} else{doElseExpr} enter {elseTarget}\n") - fppFile.write(f"{indent}}}\n") - - if child.name == "TRANSITION": - guardExpr = f" if {format_funcs(child.guard, False)}" if child.guard else "" - enterExpr = f" enter {xmiModel.idMap[child.target].stateName}" if child.kind is None else "" - doExpr = f" do {{ {format_funcs(child.action, False)} }}" if child.action else "" - fppFile.write(f"{indent}on {child.event}{guardExpr}{doExpr}{enterExpr}\n") - - if child.name == "STATE": - stateName = child.stateName - enterExpr = f" entry do {{ {format_funcs(child.entry, False)} }}" if child.entry else "" - exitExpr = f" exit do {{ {format_funcs(child.exit, False)} }}" if child.exit else "" - fppFile.write(f"{indent}state {stateName} {{\n") - if enterExpr: - fppFile.write(f"{indent}{enterExpr}\n") - if exitExpr: - fppFile.write(f"{indent}{exitExpr}\n") - processNode(child, xmiModel, fppFile, level+1) - fppFile.write(f"{indent}}}\n\n") + # Separate children by type for consistent ordering + initials = [child for child in node.children if child.name == "INITIAL"] + junctions = [child for child in node.children if child.name == "JUNCTION"] + transitions = [child for child in node.children if child.name == "TRANSITION"] + states = [child for child in node.children if child.name == "STATE"] + + # Process INITIAL children (typically only one, maintain order) + for child in initials: + target = xmiModel.idMap[child.target].stateName + doExpr = f" do {{ {format_funcs(child.action, False)} }}" if child.action else "" + fppFile.write(f"{indent}initial{doExpr} enter {target}\n") + + # Process TRANSITION children in sorted order by event name for consistency + for child in sorted(transitions, key=lambda t: t.event if t.event else ""): + guardExpr = f" if {format_funcs(child.guard, False)}" if child.guard else "" + enterExpr = f" enter {xmiModel.idMap[child.target].stateName}" if child.kind is None else "" + doExpr = f" do {{ {format_funcs(child.action, False)} }}" if child.action else "" + fppFile.write(f"{indent}on {child.event}{guardExpr}{doExpr}{enterExpr}\n") + + # Process STATE children in sorted (alphabetical) order for consistency + for child in sorted(states, key=lambda s: s.stateName): + stateName = child.stateName + enterExpr = f" entry do {{ {format_funcs(child.entry, False)} }}" if child.entry else "" + exitExpr = f" exit do {{ {format_funcs(child.exit, False)} }}" if child.exit else "" + fppFile.write(f"{indent}state {stateName} {{\n") + if enterExpr: + fppFile.write(f"{indent}{enterExpr}\n") + if exitExpr: + fppFile.write(f"{indent}{exitExpr}\n") + processNode(child, xmiModel, fppFile, level+1) + fppFile.write(f"{indent}}}\n\n") + + # Process JUNCTION children last (maintain order, typically referenced by transitions) + for child in junctions: + ifTarget = xmiModel.idMap[child.ifTarget].stateName + elseTarget = xmiModel.idMap[child.elseTarget].stateName + doIfExpr = f" do {{ {format_funcs(child.ifAction, False)} }}" if child.ifAction else "" + doElseExpr = f" do {{ {format_funcs(child.elseAction, False)} }}" if child.elseAction else "" + fppFile.write(f"{indent}choice {child.stateName} {{\n") + fppFile.write(f"{indent} if {child.guard}{doIfExpr} enter {ifTarget} else{doElseExpr} enter {elseTarget}\n") + fppFile.write(f"{indent}}}\n") # ----------------------------------------------------------------------- # getInitTranstions @@ -217,6 +225,11 @@ def generateCode(xmiModel: XmiModel): (actions, guards, signals) = getStateMachineMethods(xmiModel) moveTransitions(xmiModel) + + # Renumber junctions for consistent output across input formats + junctions = [node for node in PreOrderIter(xmiModel.tree) if node.name == "JUNCTION"] + for idx, junction in enumerate(sorted(junctions, key=lambda j: (j.parent.stateName if hasattr(j.parent, 'stateName') else "", j.guard or ""))): + junction.stateName = f"J{idx}" fppFile.write(f"state machine {xmiModel.tree.stateMachine} {{\n\n") diff --git a/models/TestModels/golden/Actions/fprime.fppi b/models/TestModels/golden/Actions/fprime.fppi index 19e41ef..e8dddd9 100644 --- a/models/TestModels/golden/Actions/fprime.fppi +++ b/models/TestModels/golden/Actions/fprime.fppi @@ -10,6 +10,7 @@ state machine Actions { signal EV1 + initial enter S1 state S1 { entry do { s1Entry } exit do { s1Exit } @@ -22,5 +23,4 @@ state machine Actions { on EV1 do { a2 } enter S1 } - initial enter S1 } diff --git a/models/TestModels/golden/Arg_Actions/fprime.fppi b/models/TestModels/golden/Arg_Actions/fprime.fppi index dfe38a8..33f9c27 100644 --- a/models/TestModels/golden/Arg_Actions/fprime.fppi +++ b/models/TestModels/golden/Arg_Actions/fprime.fppi @@ -18,6 +18,7 @@ state machine Arg_Actions { signal EV1: e signal EV2 + initial enter S1 state S1 { entry do { s1Entry, s1Entry2, foo } exit do { s1Exit, s1Exit2, foo } @@ -31,5 +32,4 @@ state machine Arg_Actions { on EV1 do { a1, a2, foo } enter S1 } - initial enter S1 } diff --git a/models/TestModels/golden/Cameo/c-cameo.txt b/models/TestModels/golden/Cameo/c.txt similarity index 100% rename from models/TestModels/golden/Cameo/c-cameo.txt rename to models/TestModels/golden/Cameo/c.txt diff --git a/models/TestModels/golden/Cameo/cpp-cameo.txt b/models/TestModels/golden/Cameo/cpp-cameo.txt deleted file mode 100644 index 49dd3cc..0000000 --- a/models/TestModels/golden/Cameo/cpp-cameo.txt +++ /dev/null @@ -1,67 +0,0 @@ -CameoImpl_guard() is 0 -CameoImpl_guard4() is 0 -CameoImpl_runningEntry() -CameoImpl_s2Entry() - ---> EV5_SIG -CameoImpl_guard4() is 0 -CameoImpl_s2Exit() -CameoImpl_runningExit() -CameoImpl_runningEntry() -CameoImpl_s2Entry() - ---> EV3_SIG -CameoImpl_guard3() is 1 -CameoImpl_s2Exit() -CameoImpl_runningExit() -CameoImpl_S1Entry() - ---> EV2_SIG -CameoImpl_guard4() is 0 -CameoImpl_a2() -CameoImpl_S1Exit() -CameoImpl_runningEntry() -CameoImpl_s2Entry() - ---> EV1_SIG -CameoImpl_guard2() is 0 - ---> EV1_SIG -CameoImpl_guard2() is 1 -CameoImpl_a1() -CameoImpl_s2Exit() -CameoImpl_runningExit() -CameoImpl_S1Entry() - ---> EV2_SIG -CameoImpl_guard4() is 0 -CameoImpl_a2() -CameoImpl_S1Exit() -CameoImpl_runningEntry() -CameoImpl_s2Entry() - ---> EV3_SIG -CameoImpl_guard3() is 0 -CameoImpl_guard4() is 1 -CameoImpl_a2() -CameoImpl_s2Exit() -CameoImpl_runningExit() -CameoImpl_runningEntry() -CameoImpl_s3Entry() - ---> EV4_SIG -CameoImpl_a4() -CameoImpl_guard3() is 0 -CameoImpl_guard4() is 1 -CameoImpl_a2() -CameoImpl_s3Exit() -CameoImpl_runningExit() -CameoImpl_runningEntry() -CameoImpl_s3Entry() - ---> EV4_SIG -CameoImpl_a4() -CameoImpl_guard3() is 1 -CameoImpl_s3Exit() -CameoImpl_runningExit() -CameoImpl_S1Entry() diff --git a/models/TestModels/golden/Cameo/cpp-plantuml.txt b/models/TestModels/golden/Cameo/cpp-plantuml.txt deleted file mode 100644 index 49dd3cc..0000000 --- a/models/TestModels/golden/Cameo/cpp-plantuml.txt +++ /dev/null @@ -1,67 +0,0 @@ -CameoImpl_guard() is 0 -CameoImpl_guard4() is 0 -CameoImpl_runningEntry() -CameoImpl_s2Entry() - ---> EV5_SIG -CameoImpl_guard4() is 0 -CameoImpl_s2Exit() -CameoImpl_runningExit() -CameoImpl_runningEntry() -CameoImpl_s2Entry() - ---> EV3_SIG -CameoImpl_guard3() is 1 -CameoImpl_s2Exit() -CameoImpl_runningExit() -CameoImpl_S1Entry() - ---> EV2_SIG -CameoImpl_guard4() is 0 -CameoImpl_a2() -CameoImpl_S1Exit() -CameoImpl_runningEntry() -CameoImpl_s2Entry() - ---> EV1_SIG -CameoImpl_guard2() is 0 - ---> EV1_SIG -CameoImpl_guard2() is 1 -CameoImpl_a1() -CameoImpl_s2Exit() -CameoImpl_runningExit() -CameoImpl_S1Entry() - ---> EV2_SIG -CameoImpl_guard4() is 0 -CameoImpl_a2() -CameoImpl_S1Exit() -CameoImpl_runningEntry() -CameoImpl_s2Entry() - ---> EV3_SIG -CameoImpl_guard3() is 0 -CameoImpl_guard4() is 1 -CameoImpl_a2() -CameoImpl_s2Exit() -CameoImpl_runningExit() -CameoImpl_runningEntry() -CameoImpl_s3Entry() - ---> EV4_SIG -CameoImpl_a4() -CameoImpl_guard3() is 0 -CameoImpl_guard4() is 1 -CameoImpl_a2() -CameoImpl_s3Exit() -CameoImpl_runningExit() -CameoImpl_runningEntry() -CameoImpl_s3Entry() - ---> EV4_SIG -CameoImpl_a4() -CameoImpl_guard3() is 1 -CameoImpl_s3Exit() -CameoImpl_runningExit() -CameoImpl_S1Entry() diff --git a/models/TestModels/golden/Cameo/c-plantuml.txt b/models/TestModels/golden/Cameo/cpp.txt similarity index 100% rename from models/TestModels/golden/Cameo/c-plantuml.txt rename to models/TestModels/golden/Cameo/cpp.txt diff --git a/models/TestModels/golden/Cameo/fprime-plantuml.fppi b/models/TestModels/golden/Cameo/fprime-plantuml.fppi deleted file mode 100644 index 0757fe3..0000000 --- a/models/TestModels/golden/Cameo/fprime-plantuml.fppi +++ /dev/null @@ -1,62 +0,0 @@ -state machine Cameo { - - action S1Entry - action S1Exit - action a1 - action a2 - action a4 - action runningEntry - action runningExit - action s2Entry - action s2Exit - action s3Entry - action s3Exit - - guard guard() - guard guard2 - guard guard3() - guard guard4() - - signal Ev1 - signal Ev2 - signal Ev3 - signal Ev4 - signal Ev5 - - state StateS1 { - entry do { S1Entry } - exit do { S1Exit } - on Ev2 do { a2 } enter Running - } - - state Running { - entry do { runningEntry } - exit do { runningExit } - state StateS2 { - entry do { s2Entry } - exit do { s2Exit } - } - - state StateS3 { - entry do { s3Entry } - exit do { s3Exit } - } - - initial enter J4 - choice J4 { - if guard4() enter StateS3 else enter StateS2 - } - on Ev5 enter Running - on Ev4 do { a4 } enter J6 - on Ev3 enter J6 - on Ev1 if guard2 do { a1 } enter StateS1 - } - - initial enter J5 - choice J5 { - if guard() enter StateS1 else enter Running - } - choice J6 { - if guard3() enter StateS1 else do { a2 } enter Running - } -} diff --git a/models/TestModels/golden/Cameo/fprime-cameo.fppi b/models/TestModels/golden/Cameo/fprime.fppi similarity index 87% rename from models/TestModels/golden/Cameo/fprime-cameo.fppi rename to models/TestModels/golden/Cameo/fprime.fppi index d7e8ee8..f7c1093 100644 --- a/models/TestModels/golden/Cameo/fprime-cameo.fppi +++ b/models/TestModels/golden/Cameo/fprime.fppi @@ -23,15 +23,15 @@ state machine Cameo { signal Ev4 signal Ev5 - state StateS1 { - entry do { S1Entry } - exit do { S1Exit } - on Ev2 do { a2 } enter Running - } - + initial enter J0 state Running { entry do { runningEntry } exit do { runningExit } + initial enter J2 + on Ev1 if guard2 do { a1 } enter StateS1 + on Ev3 enter J1 + on Ev4 do { a4 } enter J1 + on Ev5 enter Running state StateS2 { entry do { s2Entry } exit do { s2Exit } @@ -42,21 +42,21 @@ state machine Cameo { exit do { s3Exit } } - initial enter J6 - choice J6 { + choice J2 { if guard4() enter StateS3 else enter StateS2 } - on Ev1 if guard2 do { a1 } enter StateS1 - on Ev3 enter J8 - on Ev4 do { a4 } enter J8 - on Ev5 enter Running } - initial enter J7 - choice J7 { + state StateS1 { + entry do { S1Entry } + exit do { S1Exit } + on Ev2 do { a2 } enter Running + } + + choice J0 { if guard() enter StateS1 else enter Running } - choice J8 { + choice J1 { if guard3() enter StateS1 else do { a2 } enter Running } } diff --git a/models/TestModels/golden/Cameo/qf-plantuml.txt b/models/TestModels/golden/Cameo/qf-plantuml.txt deleted file mode 100644 index 5d89182..0000000 --- a/models/TestModels/golden/Cameo/qf-plantuml.txt +++ /dev/null @@ -1,67 +0,0 @@ -CameoImpl_guard() is 0 -CameoImpl_runningEntry() -CameoImpl_guard4() is 0 -CameoImpl_s2Entry() - ---> EV5_SIG -CameoImpl_s2Exit() -CameoImpl_runningExit() -CameoImpl_runningEntry() -CameoImpl_guard4() is 0 -CameoImpl_s2Entry() - ---> EV3_SIG -CameoImpl_guard3() is 1 -CameoImpl_s2Exit() -CameoImpl_runningExit() -CameoImpl_S1Entry() - ---> EV2_SIG -CameoImpl_a2() -CameoImpl_S1Exit() -CameoImpl_runningEntry() -CameoImpl_guard4() is 0 -CameoImpl_s2Entry() - ---> EV1_SIG -CameoImpl_guard2() is 0 - ---> EV1_SIG -CameoImpl_guard2() is 1 -CameoImpl_a1() -CameoImpl_s2Exit() -CameoImpl_runningExit() -CameoImpl_S1Entry() - ---> EV2_SIG -CameoImpl_a2() -CameoImpl_S1Exit() -CameoImpl_runningEntry() -CameoImpl_guard4() is 0 -CameoImpl_s2Entry() - ---> EV3_SIG -CameoImpl_guard3() is 0 -CameoImpl_a2() -CameoImpl_s2Exit() -CameoImpl_runningExit() -CameoImpl_runningEntry() -CameoImpl_guard4() is 1 -CameoImpl_s3Entry() - ---> EV4_SIG -CameoImpl_a4() -CameoImpl_guard3() is 0 -CameoImpl_a2() -CameoImpl_s3Exit() -CameoImpl_runningExit() -CameoImpl_runningEntry() -CameoImpl_guard4() is 1 -CameoImpl_s3Entry() - ---> EV4_SIG -CameoImpl_a4() -CameoImpl_guard3() is 1 -CameoImpl_s3Exit() -CameoImpl_runningExit() -CameoImpl_S1Entry() diff --git a/models/TestModels/golden/Cameo/qf-cameo.txt b/models/TestModels/golden/Cameo/qf.txt similarity index 100% rename from models/TestModels/golden/Cameo/qf-cameo.txt rename to models/TestModels/golden/Cameo/qf.txt diff --git a/models/TestModels/golden/Cases/fprime-plantuml.fppi b/models/TestModels/golden/Cases/fprime-plantuml.fppi deleted file mode 100644 index ead3488..0000000 --- a/models/TestModels/golden/Cases/fprime-plantuml.fppi +++ /dev/null @@ -1,46 +0,0 @@ -state machine Cases { - - action A1 - action DiagEntry - action DiagExit - action InitEntry - action InitExit - action OFFENTRY - action OnEntry - action OnExit - action offexit - - guard G1() - - signal EV1 - signal ev2 - - state on { - entry do { OnEntry } - exit do { OnExit } - state Init { - entry do { InitEntry } - exit do { InitExit } - } - - initial enter Init - on ev2 enter OFF - } - - state OFF { - entry do { OFFENTRY } - exit do { offexit } - state Diag { - entry do { DiagEntry } - exit do { DiagExit } - } - - initial enter Diag - on EV1 enter J4 - } - - initial enter OFF - choice J4 { - if G1() enter OFF else do { A1 } enter on - } -} diff --git a/models/TestModels/golden/Cases/fprime-qm.fppi b/models/TestModels/golden/Cases/fprime-qm.fppi deleted file mode 100644 index 40258aa..0000000 --- a/models/TestModels/golden/Cases/fprime-qm.fppi +++ /dev/null @@ -1,46 +0,0 @@ -state machine Cases { - - action A1 - action DiagEntry - action DiagExit - action InitEntry - action InitExit - action OFFENTRY - action OnEntry - action OnExit - action offexit - - guard G1() - - signal EV1 - signal ev2 - - state on { - entry do { OnEntry } - exit do { OnExit } - state Init { - entry do { InitEntry } - exit do { InitExit } - } - - initial enter Init - on ev2 enter OFF - } - - state OFF { - entry do { OFFENTRY } - exit do { offexit } - state Diag { - entry do { DiagEntry } - exit do { DiagExit } - } - - initial enter Diag - on EV1 enter J7 - } - - initial enter OFF - choice J7 { - if G1() enter OFF else do { A1 } enter on - } -} diff --git a/models/TestModels/golden/Cases/fprime-cameo.fppi b/models/TestModels/golden/Cases/fprime.fppi similarity index 94% rename from models/TestModels/golden/Cases/fprime-cameo.fppi rename to models/TestModels/golden/Cases/fprime.fppi index 93e489f..9fa03fa 100644 --- a/models/TestModels/golden/Cases/fprime-cameo.fppi +++ b/models/TestModels/golden/Cases/fprime.fppi @@ -15,32 +15,32 @@ state machine Cases { signal EV1 signal ev2 + initial enter OFF state OFF { entry do { OFFENTRY } exit do { offexit } + initial enter Diag + on EV1 enter J0 state Diag { entry do { DiagEntry } exit do { DiagExit } } - initial enter Diag - on EV1 enter J7 } state on { entry do { OnEntry } exit do { OnExit } + initial enter Init + on ev2 enter OFF state Init { entry do { InitEntry } exit do { InitExit } } - initial enter Init - on ev2 enter OFF } - initial enter OFF - choice J7 { + choice J0 { if G1() enter OFF else do { A1 } enter on } } diff --git a/models/TestModels/golden/Complex_Composite/fprime-plantuml.fppi b/models/TestModels/golden/Complex_Composite/fprime-plantuml.fppi deleted file mode 100644 index 373900b..0000000 --- a/models/TestModels/golden/Complex_Composite/fprime-plantuml.fppi +++ /dev/null @@ -1,80 +0,0 @@ -state machine Complex_Composite { - - action init1 - action s1111Entry - action s1111Exit - action s111Entry - action s111Exit - action s11Entry - action s11Exit - action s121Entry - action s121Exit - action s12Entry - action s12Exit - action s1Entry - action s1Exit - action s21Entry - action s21Exit - action s2Entry - action s2Exit - - - signal Ev1 - signal Ev2 - signal Ev3 - signal Ev4 - - state S1 { - entry do { s1Entry } - exit do { s1Exit } - state S11 { - entry do { s11Entry } - exit do { s11Exit } - state S111 { - entry do { s111Entry } - exit do { s111Exit } - state s1111 { - entry do { s1111Entry } - exit do { s1111Exit } - on Ev2 enter S21 - on Ev3 enter S121 - } - - initial enter s1111 - on Ev1 enter S12 - } - - initial enter S111 - } - - state S12 { - entry do { s12Entry } - exit do { s12Exit } - state S121 { - entry do { s121Entry } - exit do { s121Exit } - on Ev4 enter S111 - } - - initial enter S121 - on Ev2 enter S11 - } - - initial enter S11 - on Ev1 enter S2 - } - - state S2 { - entry do { s2Entry } - exit do { s2Exit } - state S21 { - entry do { s21Entry } - exit do { s21Exit } - } - - initial enter S21 - on Ev1 enter S1 - } - - initial do { init1 } enter S1 -} diff --git a/models/TestModels/golden/Complex_Composite/fprime-qm.fppi b/models/TestModels/golden/Complex_Composite/fprime-qm.fppi deleted file mode 100644 index 373900b..0000000 --- a/models/TestModels/golden/Complex_Composite/fprime-qm.fppi +++ /dev/null @@ -1,80 +0,0 @@ -state machine Complex_Composite { - - action init1 - action s1111Entry - action s1111Exit - action s111Entry - action s111Exit - action s11Entry - action s11Exit - action s121Entry - action s121Exit - action s12Entry - action s12Exit - action s1Entry - action s1Exit - action s21Entry - action s21Exit - action s2Entry - action s2Exit - - - signal Ev1 - signal Ev2 - signal Ev3 - signal Ev4 - - state S1 { - entry do { s1Entry } - exit do { s1Exit } - state S11 { - entry do { s11Entry } - exit do { s11Exit } - state S111 { - entry do { s111Entry } - exit do { s111Exit } - state s1111 { - entry do { s1111Entry } - exit do { s1111Exit } - on Ev2 enter S21 - on Ev3 enter S121 - } - - initial enter s1111 - on Ev1 enter S12 - } - - initial enter S111 - } - - state S12 { - entry do { s12Entry } - exit do { s12Exit } - state S121 { - entry do { s121Entry } - exit do { s121Exit } - on Ev4 enter S111 - } - - initial enter S121 - on Ev2 enter S11 - } - - initial enter S11 - on Ev1 enter S2 - } - - state S2 { - entry do { s2Entry } - exit do { s2Exit } - state S21 { - entry do { s21Entry } - exit do { s21Exit } - } - - initial enter S21 - on Ev1 enter S1 - } - - initial do { init1 } enter S1 -} diff --git a/models/TestModels/golden/Complex_Composite/fprime-cameo.fppi b/models/TestModels/golden/Complex_Composite/fprime.fppi similarity index 100% rename from models/TestModels/golden/Complex_Composite/fprime-cameo.fppi rename to models/TestModels/golden/Complex_Composite/fprime.fppi index 448ffd7..c27f238 100644 --- a/models/TestModels/golden/Complex_Composite/fprime-cameo.fppi +++ b/models/TestModels/golden/Complex_Composite/fprime.fppi @@ -24,57 +24,57 @@ state machine Complex_Composite { signal Ev3 signal Ev4 + initial do { init1 } enter S1 state S1 { entry do { s1Entry } exit do { s1Exit } + initial enter S11 + on Ev1 enter S2 state S11 { entry do { s11Entry } exit do { s11Exit } + initial enter S111 state S111 { entry do { s111Entry } exit do { s111Exit } + initial enter s1111 + on Ev1 enter S12 state s1111 { entry do { s1111Entry } exit do { s1111Exit } - on Ev3 enter S121 on Ev2 enter S21 + on Ev3 enter S121 } - initial enter s1111 - on Ev1 enter S12 } - initial enter S111 } state S12 { entry do { s12Entry } exit do { s12Exit } + initial enter S121 + on Ev2 enter S11 state S121 { entry do { s121Entry } exit do { s121Exit } on Ev4 enter S111 } - initial enter S121 - on Ev2 enter S11 } - initial enter S11 - on Ev1 enter S2 } state S2 { entry do { s2Entry } exit do { s2Exit } + initial enter S21 + on Ev1 enter S1 state S21 { entry do { s21Entry } exit do { s21Exit } } - initial enter S21 - on Ev1 enter S1 } - initial do { init1 } enter S1 } diff --git a/models/TestModels/golden/Complex_Junction/fprime-cameo.fppi b/models/TestModels/golden/Complex_Junction/fprime-cameo.fppi deleted file mode 100644 index c411aa0..0000000 --- a/models/TestModels/golden/Complex_Junction/fprime-cameo.fppi +++ /dev/null @@ -1,58 +0,0 @@ -state machine Complex_Junction { - - action DiagEntry - action DiagExit - action InitEntry - action InitExit - action OffEntry - action OffExit - action OnEntry - action OnExit - action a1 - action a2 - action a3 - action a4 - action a5 - action a6 - - guard g1() - guard g2() - guard g3() - - signal Ev1 - - state OFF { - entry do { OffEntry } - exit do { OffExit } - state Diag { - entry do { DiagEntry } - exit do { DiagExit } - } - - initial enter Diag - on Ev1 enter J7 - } - - state ON { - entry do { OnEntry } - exit do { OnExit } - state Init { - entry do { InitEntry } - exit do { InitExit } - } - - initial enter Init - on Ev1 enter OFF - } - - initial enter OFF - choice J7 { - if g1() do { a1 } enter OFF else do { a2 } enter J8 - } - choice J8 { - if g2() do { a5 } enter ON else do { a3 } enter J9 - } - choice J9 { - if g3() do { a6 } enter ON else do { a4 } enter OFF - } -} diff --git a/models/TestModels/golden/Complex_Junction/fprime-qm.fppi b/models/TestModels/golden/Complex_Junction/fprime-qm.fppi deleted file mode 100644 index e1c740f..0000000 --- a/models/TestModels/golden/Complex_Junction/fprime-qm.fppi +++ /dev/null @@ -1,58 +0,0 @@ -state machine Complex_Junction { - - action DiagEntry - action DiagExit - action InitEntry - action InitExit - action OffEntry - action OffExit - action OnEntry - action OnExit - action a1 - action a2 - action a3 - action a4 - action a5 - action a6 - - guard g1() - guard g2() - guard g3() - - signal Ev1 - - state ON { - entry do { OnEntry } - exit do { OnExit } - state Init { - entry do { InitEntry } - exit do { InitExit } - } - - initial enter Init - on Ev1 enter OFF - } - - state OFF { - entry do { OffEntry } - exit do { OffExit } - state Diag { - entry do { DiagEntry } - exit do { DiagExit } - } - - initial enter Diag - on Ev1 enter J7 - } - - initial enter OFF - choice J7 { - if g1() do { a1 } enter OFF else do { a2 } enter J8 - } - choice J8 { - if g2() do { a5 } enter ON else do { a3 } enter J9 - } - choice J9 { - if g3() do { a6 } enter ON else do { a4 } enter OFF - } -} diff --git a/models/TestModels/golden/Complex_Junction/fprime-plantuml.fppi b/models/TestModels/golden/Complex_Junction/fprime.fppi similarity index 81% rename from models/TestModels/golden/Complex_Junction/fprime-plantuml.fppi rename to models/TestModels/golden/Complex_Junction/fprime.fppi index 04cc262..5c949e4 100644 --- a/models/TestModels/golden/Complex_Junction/fprime-plantuml.fppi +++ b/models/TestModels/golden/Complex_Junction/fprime.fppi @@ -21,38 +21,38 @@ state machine Complex_Junction { signal Ev1 + initial enter OFF state OFF { entry do { OffEntry } exit do { OffExit } + initial enter Diag + on Ev1 enter J0 state Diag { entry do { DiagEntry } exit do { DiagExit } } - initial enter Diag - on Ev1 enter J4 } state ON { entry do { OnEntry } exit do { OnExit } + initial enter Init + on Ev1 enter OFF state Init { entry do { InitEntry } exit do { InitExit } } - initial enter Init - on Ev1 enter OFF } - initial enter OFF - choice J4 { - if g1() do { a1 } enter OFF else do { a2 } enter J5 + choice J0 { + if g1() do { a1 } enter OFF else do { a2 } enter J1 } - choice J5 { - if g2() do { a5 } enter ON else do { a3 } enter J6 + choice J1 { + if g2() do { a5 } enter ON else do { a3 } enter J2 } - choice J6 { + choice J2 { if g3() do { a6 } enter ON else do { a4 } enter OFF } } diff --git a/models/TestModels/golden/Multiple_Actions/fprime-cameo.fppi b/models/TestModels/golden/Multiple_Actions/fprime-cameo.fppi deleted file mode 100644 index 944adaf..0000000 --- a/models/TestModels/golden/Multiple_Actions/fprime-cameo.fppi +++ /dev/null @@ -1,31 +0,0 @@ -state machine Multiple_Actions { - - action a1 - action a2 - action s1Entry - action s1Entry2 - action s1Exit - action s1Exit2 - action s2Entry - action s2Entry2 - action s2Exit - action s2Exit2 - - guard g1 - - signal EV1 - - state S1 { - entry do { s1Entry, s1Entry2 } - exit do { s1Exit, s1Exit2 } - on EV1 if g1 enter S2 - } - - state S2 { - entry do { s2Entry, s2Entry2 } - exit do { s2Exit, s2Exit2 } - on EV1 do { a1, a2 } enter S1 - } - - initial enter S1 -} diff --git a/models/TestModels/golden/Multiple_Actions/fprime-qm.fppi b/models/TestModels/golden/Multiple_Actions/fprime-qm.fppi deleted file mode 100644 index 944adaf..0000000 --- a/models/TestModels/golden/Multiple_Actions/fprime-qm.fppi +++ /dev/null @@ -1,31 +0,0 @@ -state machine Multiple_Actions { - - action a1 - action a2 - action s1Entry - action s1Entry2 - action s1Exit - action s1Exit2 - action s2Entry - action s2Entry2 - action s2Exit - action s2Exit2 - - guard g1 - - signal EV1 - - state S1 { - entry do { s1Entry, s1Entry2 } - exit do { s1Exit, s1Exit2 } - on EV1 if g1 enter S2 - } - - state S2 { - entry do { s2Entry, s2Entry2 } - exit do { s2Exit, s2Exit2 } - on EV1 do { a1, a2 } enter S1 - } - - initial enter S1 -} diff --git a/models/TestModels/golden/Multiple_Actions/fprime-plantuml.fppi b/models/TestModels/golden/Multiple_Actions/fprime.fppi similarity index 100% rename from models/TestModels/golden/Multiple_Actions/fprime-plantuml.fppi rename to models/TestModels/golden/Multiple_Actions/fprime.fppi index 944adaf..0b0b058 100644 --- a/models/TestModels/golden/Multiple_Actions/fprime-plantuml.fppi +++ b/models/TestModels/golden/Multiple_Actions/fprime.fppi @@ -15,6 +15,7 @@ state machine Multiple_Actions { signal EV1 + initial enter S1 state S1 { entry do { s1Entry, s1Entry2 } exit do { s1Exit, s1Exit2 } @@ -27,5 +28,4 @@ state machine Multiple_Actions { on EV1 do { a1, a2 } enter S1 } - initial enter S1 } diff --git a/models/TestModels/golden/Simple/fprime.fppi b/models/TestModels/golden/Simple/fprime.fppi index 7bd9689..c0b5660 100644 --- a/models/TestModels/golden/Simple/fprime.fppi +++ b/models/TestModels/golden/Simple/fprime.fppi @@ -5,6 +5,7 @@ state machine Simple { signal EV1 + initial enter S1 state S1 { entry do { s1Entry } on EV1 enter S2 @@ -14,5 +15,4 @@ state machine Simple { on EV1 enter S1 } - initial enter S1 } diff --git a/models/TestModels/golden/Simple_Composite/fprime.fppi b/models/TestModels/golden/Simple_Composite/fprime.fppi index 9ace0f8..e6cade9 100644 --- a/models/TestModels/golden/Simple_Composite/fprime.fppi +++ b/models/TestModels/golden/Simple_Composite/fprime.fppi @@ -13,9 +13,12 @@ state machine Simple_Composite { signal Ev1 signal Ev2 + initial enter S1 state S1 { entry do { s1Entry } exit do { s1Exit } + initial enter S11 + on Ev1 enter S2 state S11 { entry do { s11Entry } exit do { s11Exit } @@ -28,8 +31,6 @@ state machine Simple_Composite { on Ev2 enter S11 } - initial enter S11 - on Ev1 enter S2 } state S2 { @@ -38,5 +39,4 @@ state machine Simple_Composite { on Ev1 enter S1 } - initial enter S1 } diff --git a/models/TestModels/golden/Simple_Junction/fprime-cameo.fppi b/models/TestModels/golden/Simple_Junction/fprime-cameo.fppi deleted file mode 100644 index 3ca196a..0000000 --- a/models/TestModels/golden/Simple_Junction/fprime-cameo.fppi +++ /dev/null @@ -1,45 +0,0 @@ -state machine Simple_Junction { - - action DiagEntry - action DiagExit - action InitEntry - action InitExit - action OffEntry - action OffExit - action OnEntry - action OnExit - action a1 - - guard g1() - - signal Ev1 - - state OFF { - entry do { OffEntry } - exit do { OffExit } - state Diag { - entry do { DiagEntry } - exit do { DiagExit } - } - - initial enter Diag - on Ev1 enter J7 - } - - state ON { - entry do { OnEntry } - exit do { OnExit } - state Init { - entry do { InitEntry } - exit do { InitExit } - } - - initial enter Init - on Ev1 enter OFF - } - - initial enter OFF - choice J7 { - if g1() enter OFF else do { a1 } enter ON - } -} diff --git a/models/TestModels/golden/Simple_Junction/fprime-plantuml.fppi b/models/TestModels/golden/Simple_Junction/fprime-plantuml.fppi deleted file mode 100644 index 52fe513..0000000 --- a/models/TestModels/golden/Simple_Junction/fprime-plantuml.fppi +++ /dev/null @@ -1,45 +0,0 @@ -state machine Simple_Junction { - - action DiagEntry - action DiagExit - action InitEntry - action InitExit - action OffEntry - action OffExit - action OnEntry - action OnExit - action a1 - - guard g1() - - signal Ev1 - - state OFF { - entry do { OffEntry } - exit do { OffExit } - state Diag { - entry do { DiagEntry } - exit do { DiagExit } - } - - initial enter Diag - on Ev1 enter J4 - } - - state ON { - entry do { OnEntry } - exit do { OnExit } - state Init { - entry do { InitEntry } - exit do { InitExit } - } - - initial enter Init - on Ev1 enter OFF - } - - initial enter OFF - choice J4 { - if g1() enter OFF else do { a1 } enter ON - } -} diff --git a/models/TestModels/golden/Simple_Junction/fprime-qm.fppi b/models/TestModels/golden/Simple_Junction/fprime-qm.fppi deleted file mode 100644 index 6db5405..0000000 --- a/models/TestModels/golden/Simple_Junction/fprime-qm.fppi +++ /dev/null @@ -1,45 +0,0 @@ -state machine Simple_Junction { - - action DiagEntry - action DiagExit - action InitEntry - action InitExit - action OffEntry - action OffExit - action OnEntry - action OnExit - action a1 - - guard g1() - - signal Ev1 - - state ON { - entry do { OnEntry } - exit do { OnExit } - state Init { - entry do { InitEntry } - exit do { InitExit } - } - - initial enter Init - on Ev1 enter OFF - } - - state OFF { - entry do { OffEntry } - exit do { OffExit } - state Diag { - entry do { DiagEntry } - exit do { DiagExit } - } - - initial enter Diag - on Ev1 enter J7 - } - - initial enter OFF - choice J7 { - if g1() enter OFF else do { a1 } enter ON - } -} diff --git a/models/TestModels/golden/Simple_Junction/fprime.fppi b/models/TestModels/golden/Simple_Junction/fprime.fppi index 3ca196a..2586f3f 100644 --- a/models/TestModels/golden/Simple_Junction/fprime.fppi +++ b/models/TestModels/golden/Simple_Junction/fprime.fppi @@ -14,32 +14,32 @@ state machine Simple_Junction { signal Ev1 + initial enter OFF state OFF { entry do { OffEntry } exit do { OffExit } + initial enter Diag + on Ev1 enter J0 state Diag { entry do { DiagEntry } exit do { DiagExit } } - initial enter Diag - on Ev1 enter J7 } state ON { entry do { OnEntry } exit do { OnExit } + initial enter Init + on Ev1 enter OFF state Init { entry do { InitEntry } exit do { InitExit } } - initial enter Init - on Ev1 enter OFF } - initial enter OFF - choice J7 { + choice J0 { if g1() enter OFF else do { a1 } enter ON } } diff --git a/models/TestModels/golden/String_Guards/c-cameo.txt b/models/TestModels/golden/String_Guards/c.txt similarity index 100% rename from models/TestModels/golden/String_Guards/c-cameo.txt rename to models/TestModels/golden/String_Guards/c.txt diff --git a/models/TestModels/golden/String_Guards/cpp-cameo.txt b/models/TestModels/golden/String_Guards/cpp-cameo.txt deleted file mode 100644 index 451208f..0000000 --- a/models/TestModels/golden/String_Guards/cpp-cameo.txt +++ /dev/null @@ -1,69 +0,0 @@ -String_GuardsImpl_initialAction() -String_GuardsImpl_farEntry() - ---> EV1_SIG -String_GuardsImpl_g1() is 0 -String_GuardsImpl_a1() -String_GuardsImpl_farExit() -String_GuardsImpl_farEntry() - ---> EV2_SIG -String_GuardsImpl_g4() is 0 - ---> EV1_SIG -String_GuardsImpl_g1() is 1 -String_GuardsImpl_b2() -String_GuardsImpl_g2() is 0 -String_GuardsImpl_a2() -String_GuardsImpl_farExit() -String_GuardsImpl_farEntry() - ---> EV2_SIG -String_GuardsImpl_g4() is 0 - ---> EV1_SIG -String_GuardsImpl_g1() is 1 -String_GuardsImpl_b2() -String_GuardsImpl_g2() is 1 -String_GuardsImpl_b3() -String_GuardsImpl_g3() is 0 -String_GuardsImpl_a3() -String_GuardsImpl_farExit() -String_GuardsImpl_farEntry() - ---> EV2_SIG -String_GuardsImpl_g4() is 0 - ---> EV1_SIG -String_GuardsImpl_g1() is 1 -String_GuardsImpl_b2() -String_GuardsImpl_g2() is 1 -String_GuardsImpl_b3() -String_GuardsImpl_g3() is 1 -String_GuardsImpl_b4() -String_GuardsImpl_farExit() -String_GuardsImpl_barEntry() - ---> EV2_SIG -String_GuardsImpl_barExit() -String_GuardsImpl_farEntry() - ---> EV2_SIG -String_GuardsImpl_g4() is 1 -String_GuardsImpl_a5() -String_GuardsImpl_g5() is 0 -String_GuardsImpl_a6() -String_GuardsImpl_farExit() -String_GuardsImpl_barEntry() - ---> EV2_SIG -String_GuardsImpl_barExit() -String_GuardsImpl_farEntry() - ---> EV2_SIG -String_GuardsImpl_g4() is 1 -String_GuardsImpl_a5() -String_GuardsImpl_g5() is 1 -String_GuardsImpl_a4() -String_GuardsImpl_farExit() -String_GuardsImpl_farEntry() diff --git a/models/TestModels/golden/String_Guards/cpp-plantuml.txt b/models/TestModels/golden/String_Guards/cpp-plantuml.txt deleted file mode 100644 index 451208f..0000000 --- a/models/TestModels/golden/String_Guards/cpp-plantuml.txt +++ /dev/null @@ -1,69 +0,0 @@ -String_GuardsImpl_initialAction() -String_GuardsImpl_farEntry() - ---> EV1_SIG -String_GuardsImpl_g1() is 0 -String_GuardsImpl_a1() -String_GuardsImpl_farExit() -String_GuardsImpl_farEntry() - ---> EV2_SIG -String_GuardsImpl_g4() is 0 - ---> EV1_SIG -String_GuardsImpl_g1() is 1 -String_GuardsImpl_b2() -String_GuardsImpl_g2() is 0 -String_GuardsImpl_a2() -String_GuardsImpl_farExit() -String_GuardsImpl_farEntry() - ---> EV2_SIG -String_GuardsImpl_g4() is 0 - ---> EV1_SIG -String_GuardsImpl_g1() is 1 -String_GuardsImpl_b2() -String_GuardsImpl_g2() is 1 -String_GuardsImpl_b3() -String_GuardsImpl_g3() is 0 -String_GuardsImpl_a3() -String_GuardsImpl_farExit() -String_GuardsImpl_farEntry() - ---> EV2_SIG -String_GuardsImpl_g4() is 0 - ---> EV1_SIG -String_GuardsImpl_g1() is 1 -String_GuardsImpl_b2() -String_GuardsImpl_g2() is 1 -String_GuardsImpl_b3() -String_GuardsImpl_g3() is 1 -String_GuardsImpl_b4() -String_GuardsImpl_farExit() -String_GuardsImpl_barEntry() - ---> EV2_SIG -String_GuardsImpl_barExit() -String_GuardsImpl_farEntry() - ---> EV2_SIG -String_GuardsImpl_g4() is 1 -String_GuardsImpl_a5() -String_GuardsImpl_g5() is 0 -String_GuardsImpl_a6() -String_GuardsImpl_farExit() -String_GuardsImpl_barEntry() - ---> EV2_SIG -String_GuardsImpl_barExit() -String_GuardsImpl_farEntry() - ---> EV2_SIG -String_GuardsImpl_g4() is 1 -String_GuardsImpl_a5() -String_GuardsImpl_g5() is 1 -String_GuardsImpl_a4() -String_GuardsImpl_farExit() -String_GuardsImpl_farEntry() diff --git a/models/TestModels/golden/String_Guards/cpp-qm.txt b/models/TestModels/golden/String_Guards/cpp-qm.txt deleted file mode 100644 index 451208f..0000000 --- a/models/TestModels/golden/String_Guards/cpp-qm.txt +++ /dev/null @@ -1,69 +0,0 @@ -String_GuardsImpl_initialAction() -String_GuardsImpl_farEntry() - ---> EV1_SIG -String_GuardsImpl_g1() is 0 -String_GuardsImpl_a1() -String_GuardsImpl_farExit() -String_GuardsImpl_farEntry() - ---> EV2_SIG -String_GuardsImpl_g4() is 0 - ---> EV1_SIG -String_GuardsImpl_g1() is 1 -String_GuardsImpl_b2() -String_GuardsImpl_g2() is 0 -String_GuardsImpl_a2() -String_GuardsImpl_farExit() -String_GuardsImpl_farEntry() - ---> EV2_SIG -String_GuardsImpl_g4() is 0 - ---> EV1_SIG -String_GuardsImpl_g1() is 1 -String_GuardsImpl_b2() -String_GuardsImpl_g2() is 1 -String_GuardsImpl_b3() -String_GuardsImpl_g3() is 0 -String_GuardsImpl_a3() -String_GuardsImpl_farExit() -String_GuardsImpl_farEntry() - ---> EV2_SIG -String_GuardsImpl_g4() is 0 - ---> EV1_SIG -String_GuardsImpl_g1() is 1 -String_GuardsImpl_b2() -String_GuardsImpl_g2() is 1 -String_GuardsImpl_b3() -String_GuardsImpl_g3() is 1 -String_GuardsImpl_b4() -String_GuardsImpl_farExit() -String_GuardsImpl_barEntry() - ---> EV2_SIG -String_GuardsImpl_barExit() -String_GuardsImpl_farEntry() - ---> EV2_SIG -String_GuardsImpl_g4() is 1 -String_GuardsImpl_a5() -String_GuardsImpl_g5() is 0 -String_GuardsImpl_a6() -String_GuardsImpl_farExit() -String_GuardsImpl_barEntry() - ---> EV2_SIG -String_GuardsImpl_barExit() -String_GuardsImpl_farEntry() - ---> EV2_SIG -String_GuardsImpl_g4() is 1 -String_GuardsImpl_a5() -String_GuardsImpl_g5() is 1 -String_GuardsImpl_a4() -String_GuardsImpl_farExit() -String_GuardsImpl_farEntry() diff --git a/models/TestModels/golden/String_Guards/c-plantuml.txt b/models/TestModels/golden/String_Guards/cpp.txt similarity index 100% rename from models/TestModels/golden/String_Guards/c-plantuml.txt rename to models/TestModels/golden/String_Guards/cpp.txt diff --git a/models/TestModels/golden/String_Guards/fprime-cameo.fppi b/models/TestModels/golden/String_Guards/fprime-cameo.fppi deleted file mode 100644 index 5fead21..0000000 --- a/models/TestModels/golden/String_Guards/fprime-cameo.fppi +++ /dev/null @@ -1,61 +0,0 @@ -state machine String_Guards { - - action a1 - action a2 - action a3 - action a4 - action a5 - action a6 - action b2 - action b3 - action b4 - action barEntry - action barExit - action farEntry - action farExit - action initialAction - - guard g1() - guard g2() - guard g3() - guard g4 - guard g5() - - signal Ev1 - signal Ev2 - - state OFF { - state Far { - entry do { farEntry } - exit do { farExit } - } - - initial enter Far - on Ev1 enter J7 - on Ev2 if g4 do { a5 } enter J10 - } - - state ON { - state Bar { - entry do { barEntry } - exit do { barExit } - } - - initial enter Bar - on Ev2 enter OFF - } - - initial do { initialAction } enter OFF - choice J7 { - if g1() do { b2 } enter J8 else do { a1 } enter OFF - } - choice J8 { - if g2() do { b3 } enter J9 else do { a2 } enter OFF - } - choice J9 { - if g3() do { b4 } enter ON else do { a3 } enter OFF - } - choice J10 { - if g5() do { a4 } enter OFF else do { a6 } enter ON - } -} diff --git a/models/TestModels/golden/String_Guards/fprime-qm.fppi b/models/TestModels/golden/String_Guards/fprime-qm.fppi deleted file mode 100644 index 3c6d334..0000000 --- a/models/TestModels/golden/String_Guards/fprime-qm.fppi +++ /dev/null @@ -1,61 +0,0 @@ -state machine String_Guards { - - action a1 - action a2 - action a3 - action a4 - action a5 - action a6 - action b2 - action b3 - action b4 - action barEntry - action barExit - action farEntry - action farExit - action initialAction - - guard g1() - guard g2() - guard g3() - guard g4 - guard g5() - - signal Ev1 - signal Ev2 - - state ON { - state Bar { - entry do { barEntry } - exit do { barExit } - } - - initial enter Bar - on Ev2 enter OFF - } - - state OFF { - state Far { - entry do { farEntry } - exit do { farExit } - } - - initial enter Far - on Ev1 enter J7 - on Ev2 if g4 do { a5 } enter J10 - } - - initial do { initialAction } enter OFF - choice J7 { - if g1() do { b2 } enter J8 else do { a1 } enter OFF - } - choice J8 { - if g2() do { b3 } enter J9 else do { a2 } enter OFF - } - choice J9 { - if g3() do { b4 } enter ON else do { a3 } enter OFF - } - choice J10 { - if g5() do { a4 } enter OFF else do { a6 } enter ON - } -} diff --git a/models/TestModels/golden/String_Guards/fprime-plantuml.fppi b/models/TestModels/golden/String_Guards/fprime.fppi similarity index 76% rename from models/TestModels/golden/String_Guards/fprime-plantuml.fppi rename to models/TestModels/golden/String_Guards/fprime.fppi index 12d0c42..a6d2288 100644 --- a/models/TestModels/golden/String_Guards/fprime-plantuml.fppi +++ b/models/TestModels/golden/String_Guards/fprime.fppi @@ -24,38 +24,38 @@ state machine String_Guards { signal Ev1 signal Ev2 + initial do { initialAction } enter OFF state OFF { + initial enter Far + on Ev1 enter J0 + on Ev2 if g4 do { a5 } enter J3 state Far { entry do { farEntry } exit do { farExit } } - initial enter Far - on Ev1 enter J4 - on Ev2 if g4 do { a5 } enter J7 } state ON { + initial enter Bar + on Ev2 enter OFF state Bar { entry do { barEntry } exit do { barExit } } - initial enter Bar - on Ev2 enter OFF } - initial do { initialAction } enter OFF - choice J4 { - if g1() do { b2 } enter J5 else do { a1 } enter OFF + choice J0 { + if g1() do { b2 } enter J1 else do { a1 } enter OFF } - choice J5 { - if g2() do { b3 } enter J6 else do { a2 } enter OFF + choice J1 { + if g2() do { b3 } enter J2 else do { a2 } enter OFF } - choice J6 { + choice J2 { if g3() do { b4 } enter ON else do { a3 } enter OFF } - choice J7 { + choice J3 { if g5() do { a4 } enter OFF else do { a6 } enter ON } } diff --git a/models/TestModels/golden/String_Guards/qf-cameo.txt b/models/TestModels/golden/String_Guards/qf-cameo.txt deleted file mode 100644 index 451208f..0000000 --- a/models/TestModels/golden/String_Guards/qf-cameo.txt +++ /dev/null @@ -1,69 +0,0 @@ -String_GuardsImpl_initialAction() -String_GuardsImpl_farEntry() - ---> EV1_SIG -String_GuardsImpl_g1() is 0 -String_GuardsImpl_a1() -String_GuardsImpl_farExit() -String_GuardsImpl_farEntry() - ---> EV2_SIG -String_GuardsImpl_g4() is 0 - ---> EV1_SIG -String_GuardsImpl_g1() is 1 -String_GuardsImpl_b2() -String_GuardsImpl_g2() is 0 -String_GuardsImpl_a2() -String_GuardsImpl_farExit() -String_GuardsImpl_farEntry() - ---> EV2_SIG -String_GuardsImpl_g4() is 0 - ---> EV1_SIG -String_GuardsImpl_g1() is 1 -String_GuardsImpl_b2() -String_GuardsImpl_g2() is 1 -String_GuardsImpl_b3() -String_GuardsImpl_g3() is 0 -String_GuardsImpl_a3() -String_GuardsImpl_farExit() -String_GuardsImpl_farEntry() - ---> EV2_SIG -String_GuardsImpl_g4() is 0 - ---> EV1_SIG -String_GuardsImpl_g1() is 1 -String_GuardsImpl_b2() -String_GuardsImpl_g2() is 1 -String_GuardsImpl_b3() -String_GuardsImpl_g3() is 1 -String_GuardsImpl_b4() -String_GuardsImpl_farExit() -String_GuardsImpl_barEntry() - ---> EV2_SIG -String_GuardsImpl_barExit() -String_GuardsImpl_farEntry() - ---> EV2_SIG -String_GuardsImpl_g4() is 1 -String_GuardsImpl_a5() -String_GuardsImpl_g5() is 0 -String_GuardsImpl_a6() -String_GuardsImpl_farExit() -String_GuardsImpl_barEntry() - ---> EV2_SIG -String_GuardsImpl_barExit() -String_GuardsImpl_farEntry() - ---> EV2_SIG -String_GuardsImpl_g4() is 1 -String_GuardsImpl_a5() -String_GuardsImpl_g5() is 1 -String_GuardsImpl_a4() -String_GuardsImpl_farExit() -String_GuardsImpl_farEntry() diff --git a/models/TestModels/golden/String_Guards/qf-plantuml.txt b/models/TestModels/golden/String_Guards/qf-plantuml.txt deleted file mode 100644 index 451208f..0000000 --- a/models/TestModels/golden/String_Guards/qf-plantuml.txt +++ /dev/null @@ -1,69 +0,0 @@ -String_GuardsImpl_initialAction() -String_GuardsImpl_farEntry() - ---> EV1_SIG -String_GuardsImpl_g1() is 0 -String_GuardsImpl_a1() -String_GuardsImpl_farExit() -String_GuardsImpl_farEntry() - ---> EV2_SIG -String_GuardsImpl_g4() is 0 - ---> EV1_SIG -String_GuardsImpl_g1() is 1 -String_GuardsImpl_b2() -String_GuardsImpl_g2() is 0 -String_GuardsImpl_a2() -String_GuardsImpl_farExit() -String_GuardsImpl_farEntry() - ---> EV2_SIG -String_GuardsImpl_g4() is 0 - ---> EV1_SIG -String_GuardsImpl_g1() is 1 -String_GuardsImpl_b2() -String_GuardsImpl_g2() is 1 -String_GuardsImpl_b3() -String_GuardsImpl_g3() is 0 -String_GuardsImpl_a3() -String_GuardsImpl_farExit() -String_GuardsImpl_farEntry() - ---> EV2_SIG -String_GuardsImpl_g4() is 0 - ---> EV1_SIG -String_GuardsImpl_g1() is 1 -String_GuardsImpl_b2() -String_GuardsImpl_g2() is 1 -String_GuardsImpl_b3() -String_GuardsImpl_g3() is 1 -String_GuardsImpl_b4() -String_GuardsImpl_farExit() -String_GuardsImpl_barEntry() - ---> EV2_SIG -String_GuardsImpl_barExit() -String_GuardsImpl_farEntry() - ---> EV2_SIG -String_GuardsImpl_g4() is 1 -String_GuardsImpl_a5() -String_GuardsImpl_g5() is 0 -String_GuardsImpl_a6() -String_GuardsImpl_farExit() -String_GuardsImpl_barEntry() - ---> EV2_SIG -String_GuardsImpl_barExit() -String_GuardsImpl_farEntry() - ---> EV2_SIG -String_GuardsImpl_g4() is 1 -String_GuardsImpl_a5() -String_GuardsImpl_g5() is 1 -String_GuardsImpl_a4() -String_GuardsImpl_farExit() -String_GuardsImpl_farEntry() diff --git a/models/TestModels/golden/String_Guards/qf-qm.txt b/models/TestModels/golden/String_Guards/qf-qm.txt deleted file mode 100644 index 451208f..0000000 --- a/models/TestModels/golden/String_Guards/qf-qm.txt +++ /dev/null @@ -1,69 +0,0 @@ -String_GuardsImpl_initialAction() -String_GuardsImpl_farEntry() - ---> EV1_SIG -String_GuardsImpl_g1() is 0 -String_GuardsImpl_a1() -String_GuardsImpl_farExit() -String_GuardsImpl_farEntry() - ---> EV2_SIG -String_GuardsImpl_g4() is 0 - ---> EV1_SIG -String_GuardsImpl_g1() is 1 -String_GuardsImpl_b2() -String_GuardsImpl_g2() is 0 -String_GuardsImpl_a2() -String_GuardsImpl_farExit() -String_GuardsImpl_farEntry() - ---> EV2_SIG -String_GuardsImpl_g4() is 0 - ---> EV1_SIG -String_GuardsImpl_g1() is 1 -String_GuardsImpl_b2() -String_GuardsImpl_g2() is 1 -String_GuardsImpl_b3() -String_GuardsImpl_g3() is 0 -String_GuardsImpl_a3() -String_GuardsImpl_farExit() -String_GuardsImpl_farEntry() - ---> EV2_SIG -String_GuardsImpl_g4() is 0 - ---> EV1_SIG -String_GuardsImpl_g1() is 1 -String_GuardsImpl_b2() -String_GuardsImpl_g2() is 1 -String_GuardsImpl_b3() -String_GuardsImpl_g3() is 1 -String_GuardsImpl_b4() -String_GuardsImpl_farExit() -String_GuardsImpl_barEntry() - ---> EV2_SIG -String_GuardsImpl_barExit() -String_GuardsImpl_farEntry() - ---> EV2_SIG -String_GuardsImpl_g4() is 1 -String_GuardsImpl_a5() -String_GuardsImpl_g5() is 0 -String_GuardsImpl_a6() -String_GuardsImpl_farExit() -String_GuardsImpl_barEntry() - ---> EV2_SIG -String_GuardsImpl_barExit() -String_GuardsImpl_farEntry() - ---> EV2_SIG -String_GuardsImpl_g4() is 1 -String_GuardsImpl_a5() -String_GuardsImpl_g5() is 1 -String_GuardsImpl_a4() -String_GuardsImpl_farExit() -String_GuardsImpl_farEntry() diff --git a/models/TestModels/golden/String_Guards/c-qm.txt b/models/TestModels/golden/String_Guards/qf.txt similarity index 100% rename from models/TestModels/golden/String_Guards/c-qm.txt rename to models/TestModels/golden/String_Guards/qf.txt diff --git a/models/TestModels/golden/Transitions/c-cameo.txt b/models/TestModels/golden/Transitions/c.txt similarity index 100% rename from models/TestModels/golden/Transitions/c-cameo.txt rename to models/TestModels/golden/Transitions/c.txt diff --git a/models/TestModels/golden/Transitions/cpp-cameo.txt b/models/TestModels/golden/Transitions/cpp-cameo.txt deleted file mode 100644 index 8cc222f..0000000 --- a/models/TestModels/golden/Transitions/cpp-cameo.txt +++ /dev/null @@ -1,58 +0,0 @@ -TransitionsImpl_init1() -TransitionsImpl_init2() -TransitionsImpl_s1Entry() -TransitionsImpl_s11Entry() - ---> EV1_SIG -TransitionsImpl_s11Exit() -TransitionsImpl_s1Exit() -TransitionsImpl_s1Entry() -TransitionsImpl_s11Entry() - ---> EV2_SIG -TransitionsImpl_a1() - ---> EV3_SIG -TransitionsImpl_g1() is 0 - ---> EV3_SIG -TransitionsImpl_g1() is 1 -TransitionsImpl_a2() - ---> EV4_SIG -TransitionsImpl_a3() -TransitionsImpl_s11Exit() -TransitionsImpl_s1Exit() -TransitionsImpl_s1Entry() -TransitionsImpl_s11Entry() - ---> EV5_SIG -TransitionsImpl_g2() is 0 - ---> EV5_SIG -TransitionsImpl_g2() is 1 -TransitionsImpl_s11Exit() -TransitionsImpl_s1Exit() -TransitionsImpl_s1Entry() -TransitionsImpl_s11Entry() - ---> EV6_SIG -TransitionsImpl_g3() is 0 - ---> EV6_SIG -TransitionsImpl_g3() is 1 -TransitionsImpl_a4() -TransitionsImpl_s11Exit() -TransitionsImpl_s1Exit() -TransitionsImpl_s1Entry() -TransitionsImpl_s11Entry() - ---> EV7_SIG -TransitionsImpl_s11Exit() -TransitionsImpl_s1Exit() -TransitionsImpl_s2Entry() - ---> EV7_SIG -TransitionsImpl_s2Exit() -TransitionsImpl_s1Entry() -TransitionsImpl_s11Entry() diff --git a/models/TestModels/golden/Transitions/cpp-plantuml.txt b/models/TestModels/golden/Transitions/cpp-plantuml.txt deleted file mode 100644 index 8cc222f..0000000 --- a/models/TestModels/golden/Transitions/cpp-plantuml.txt +++ /dev/null @@ -1,58 +0,0 @@ -TransitionsImpl_init1() -TransitionsImpl_init2() -TransitionsImpl_s1Entry() -TransitionsImpl_s11Entry() - ---> EV1_SIG -TransitionsImpl_s11Exit() -TransitionsImpl_s1Exit() -TransitionsImpl_s1Entry() -TransitionsImpl_s11Entry() - ---> EV2_SIG -TransitionsImpl_a1() - ---> EV3_SIG -TransitionsImpl_g1() is 0 - ---> EV3_SIG -TransitionsImpl_g1() is 1 -TransitionsImpl_a2() - ---> EV4_SIG -TransitionsImpl_a3() -TransitionsImpl_s11Exit() -TransitionsImpl_s1Exit() -TransitionsImpl_s1Entry() -TransitionsImpl_s11Entry() - ---> EV5_SIG -TransitionsImpl_g2() is 0 - ---> EV5_SIG -TransitionsImpl_g2() is 1 -TransitionsImpl_s11Exit() -TransitionsImpl_s1Exit() -TransitionsImpl_s1Entry() -TransitionsImpl_s11Entry() - ---> EV6_SIG -TransitionsImpl_g3() is 0 - ---> EV6_SIG -TransitionsImpl_g3() is 1 -TransitionsImpl_a4() -TransitionsImpl_s11Exit() -TransitionsImpl_s1Exit() -TransitionsImpl_s1Entry() -TransitionsImpl_s11Entry() - ---> EV7_SIG -TransitionsImpl_s11Exit() -TransitionsImpl_s1Exit() -TransitionsImpl_s2Entry() - ---> EV7_SIG -TransitionsImpl_s2Exit() -TransitionsImpl_s1Entry() -TransitionsImpl_s11Entry() diff --git a/models/TestModels/golden/Transitions/c-plantuml.txt b/models/TestModels/golden/Transitions/cpp.txt similarity index 100% rename from models/TestModels/golden/Transitions/c-plantuml.txt rename to models/TestModels/golden/Transitions/cpp.txt diff --git a/models/TestModels/golden/Transitions/fprime-cameo.fppi b/models/TestModels/golden/Transitions/fprime-cameo.fppi deleted file mode 100644 index c48fd95..0000000 --- a/models/TestModels/golden/Transitions/fprime-cameo.fppi +++ /dev/null @@ -1,53 +0,0 @@ -state machine Transitions { - - action a1 - action a2 - action a3 - action a4 - action init1 - action init2 - action s11Entry - action s11Exit - action s1Entry - action s1Exit - action s2Entry - action s2Exit - - guard g1 - guard g2 - guard g3 - - signal Ev1 - signal Ev2 - signal Ev3 - signal Ev4 - signal Ev5 - signal Ev6 - signal Ev7 - - state S1 { - entry do { s1Entry } - exit do { s1Exit } - state S11 { - entry do { s11Entry } - exit do { s11Exit } - on Ev4 do { a3 } enter S1 - } - - initial enter S11 - on Ev1 enter S1 - on Ev5 if g2 enter S1 - on Ev6 if g3 do { a4 } enter S1 - on Ev2 do { a1 } - on Ev3 if g1 do { a2 } - on Ev7 enter S2 - } - - state S2 { - entry do { s2Entry } - exit do { s2Exit } - on Ev7 enter S1 - } - - initial do { init1, init2 } enter S1 -} diff --git a/models/TestModels/golden/Transitions/fprime-qm.fppi b/models/TestModels/golden/Transitions/fprime-qm.fppi deleted file mode 100644 index 1c1a4c8..0000000 --- a/models/TestModels/golden/Transitions/fprime-qm.fppi +++ /dev/null @@ -1,53 +0,0 @@ -state machine Transitions { - - action a1 - action a2 - action a3 - action a4 - action init1 - action init2 - action s11Entry - action s11Exit - action s1Entry - action s1Exit - action s2Entry - action s2Exit - - guard g1 - guard g2 - guard g3 - - signal Ev1 - signal Ev2 - signal Ev3 - signal Ev4 - signal Ev5 - signal Ev6 - signal Ev7 - - state S1 { - entry do { s1Entry } - exit do { s1Exit } - state S11 { - entry do { s11Entry } - exit do { s11Exit } - on Ev4 do { a3 } enter S1 - } - - initial enter S11 - on Ev1 enter S1 - on Ev2 do { a1 } - on Ev3 if g1 do { a2 } - on Ev5 if g2 enter S1 - on Ev6 if g3 do { a4 } enter S1 - on Ev7 enter S2 - } - - state S2 { - entry do { s2Entry } - exit do { s2Exit } - on Ev7 enter S1 - } - - initial do { init1, init2 } enter S1 -} diff --git a/models/TestModels/golden/Transitions/fprime-plantuml.fppi b/models/TestModels/golden/Transitions/fprime.fppi similarity index 100% rename from models/TestModels/golden/Transitions/fprime-plantuml.fppi rename to models/TestModels/golden/Transitions/fprime.fppi index 261da6d..231e503 100644 --- a/models/TestModels/golden/Transitions/fprime-plantuml.fppi +++ b/models/TestModels/golden/Transitions/fprime.fppi @@ -25,22 +25,23 @@ state machine Transitions { signal Ev6 signal Ev7 + initial do { init1, init2 } enter S1 state S1 { entry do { s1Entry } exit do { s1Exit } + initial enter S11 + on Ev1 enter S1 + on Ev2 do { a1 } + on Ev3 if g1 do { a2 } + on Ev5 if g2 enter S1 + on Ev6 if g3 do { a4 } enter S1 + on Ev7 enter S2 state S11 { entry do { s11Entry } exit do { s11Exit } on Ev4 do { a3 } enter S1 } - initial enter S11 - on Ev2 do { a1 } - on Ev3 if g1 do { a2 } - on Ev7 enter S2 - on Ev6 if g3 do { a4 } enter S1 - on Ev5 if g2 enter S1 - on Ev1 enter S1 } state S2 { @@ -49,5 +50,4 @@ state machine Transitions { on Ev7 enter S1 } - initial do { init1, init2 } enter S1 } diff --git a/models/TestModels/golden/Transitions/qf-plantuml.txt b/models/TestModels/golden/Transitions/qf-plantuml.txt deleted file mode 100644 index 42e2a0b..0000000 --- a/models/TestModels/golden/Transitions/qf-plantuml.txt +++ /dev/null @@ -1,56 +0,0 @@ -TransitionsImpl_init1() -TransitionsImpl_init2() -TransitionsImpl_s1Entry() -TransitionsImpl_s11Entry() - ---> EV1_SIG -TransitionsImpl_s11Exit() -TransitionsImpl_s1Exit() -TransitionsImpl_s1Entry() -TransitionsImpl_s11Entry() - ---> EV2_SIG -TransitionsImpl_a1() - ---> EV3_SIG -TransitionsImpl_g1() is 0 - ---> EV3_SIG -TransitionsImpl_g1() is 1 -TransitionsImpl_a2() - ---> EV4_SIG -TransitionsImpl_a3() -TransitionsImpl_s11Exit() -TransitionsImpl_s11Entry() - ---> EV5_SIG -TransitionsImpl_g2() is 0 - ---> EV5_SIG -TransitionsImpl_g2() is 1 -TransitionsImpl_s11Exit() -TransitionsImpl_s1Exit() -TransitionsImpl_s1Entry() -TransitionsImpl_s11Entry() - ---> EV6_SIG -TransitionsImpl_g3() is 0 - ---> EV6_SIG -TransitionsImpl_g3() is 1 -TransitionsImpl_a4() -TransitionsImpl_s11Exit() -TransitionsImpl_s1Exit() -TransitionsImpl_s1Entry() -TransitionsImpl_s11Entry() - ---> EV7_SIG -TransitionsImpl_s11Exit() -TransitionsImpl_s1Exit() -TransitionsImpl_s2Entry() - ---> EV7_SIG -TransitionsImpl_s2Exit() -TransitionsImpl_s1Entry() -TransitionsImpl_s11Entry() diff --git a/models/TestModels/golden/Transitions/qf-qm.txt b/models/TestModels/golden/Transitions/qf-qm.txt deleted file mode 100644 index 42e2a0b..0000000 --- a/models/TestModels/golden/Transitions/qf-qm.txt +++ /dev/null @@ -1,56 +0,0 @@ -TransitionsImpl_init1() -TransitionsImpl_init2() -TransitionsImpl_s1Entry() -TransitionsImpl_s11Entry() - ---> EV1_SIG -TransitionsImpl_s11Exit() -TransitionsImpl_s1Exit() -TransitionsImpl_s1Entry() -TransitionsImpl_s11Entry() - ---> EV2_SIG -TransitionsImpl_a1() - ---> EV3_SIG -TransitionsImpl_g1() is 0 - ---> EV3_SIG -TransitionsImpl_g1() is 1 -TransitionsImpl_a2() - ---> EV4_SIG -TransitionsImpl_a3() -TransitionsImpl_s11Exit() -TransitionsImpl_s11Entry() - ---> EV5_SIG -TransitionsImpl_g2() is 0 - ---> EV5_SIG -TransitionsImpl_g2() is 1 -TransitionsImpl_s11Exit() -TransitionsImpl_s1Exit() -TransitionsImpl_s1Entry() -TransitionsImpl_s11Entry() - ---> EV6_SIG -TransitionsImpl_g3() is 0 - ---> EV6_SIG -TransitionsImpl_g3() is 1 -TransitionsImpl_a4() -TransitionsImpl_s11Exit() -TransitionsImpl_s1Exit() -TransitionsImpl_s1Entry() -TransitionsImpl_s11Entry() - ---> EV7_SIG -TransitionsImpl_s11Exit() -TransitionsImpl_s1Exit() -TransitionsImpl_s2Entry() - ---> EV7_SIG -TransitionsImpl_s2Exit() -TransitionsImpl_s1Entry() -TransitionsImpl_s11Entry() diff --git a/models/TestModels/golden/Transitions/qf-cameo.txt b/models/TestModels/golden/Transitions/qf.txt similarity index 100% rename from models/TestModels/golden/Transitions/qf-cameo.txt rename to models/TestModels/golden/Transitions/qf.txt diff --git a/models/TestModels/tests/test_config.yaml b/models/TestModels/tests/test_config.yaml index 4dc2e40..98a254f 100644 --- a/models/TestModels/tests/test_config.yaml +++ b/models/TestModels/tests/test_config.yaml @@ -45,97 +45,48 @@ models: Complex_Composite: <<: *model_template # Format-specific golden files for fprime backend - golden: - c: "${model_name}/c.txt" - c++: "${model_name}/cpp.txt" - qf: "${model_name}/qf.txt" - fprime: - qm: "${model_name}/fprime-qm.fppi" - plantuml: "${model_name}/fprime-plantuml.fppi" - cameo: "${model_name}/fprime-cameo.fppi" # Cases model Cases: <<: *model_template # Format-specific golden files for fprime backend - golden: - c: "${model_name}/c.txt" - c++: "${model_name}/cpp.txt" - qf: "${model_name}/qf.txt" - fprime: - qm: "${model_name}/fprime-qm.fppi" - plantuml: "${model_name}/fprime-plantuml.fppi" - cameo: "${model_name}/fprime-cameo.fppi" - - # Complex_Junction model - Complex_Junction: + + # Simple_Junction model + Simple_Junction: <<: *model_template # Format-specific golden files for fprime backend - golden: - c: "${model_name}/c.txt" - c++: "${model_name}/cpp.txt" - qf: "${model_name}/qf.txt" - fprime: - qm: "${model_name}/fprime-qm.fppi" - plantuml: "${model_name}/fprime-plantuml.fppi" - cameo: "${model_name}/fprime-cameo.fppi" # Multiple_Actions model Multiple_Actions: <<: *model_template # Format-specific golden files for fprime backend - golden: - c: "${model_name}/c.txt" - c++: "${model_name}/cpp.txt" - qf: "${model_name}/qf.txt" - fprime: - qm: "${model_name}/fprime-qm.fppi" - plantuml: "${model_name}/fprime-plantuml.fppi" - cameo: "${model_name}/fprime-cameo.fppi" - # Transitions model - Transitions: + # Complex_Junction model + Complex_Junction: <<: *model_template - # Format-specific golden files for all backends - golden: - c: - qm: "${model_name}/c-qm.txt" - plantuml: "${model_name}/c-plantuml.txt" - cameo: "${model_name}/c-cameo.txt" - c++: - qm: "${model_name}/cpp-qm.txt" - plantuml: "${model_name}/cpp-plantuml.txt" - cameo: "${model_name}/cpp-cameo.txt" - qf: - qm: "${model_name}/qf-qm.txt" - plantuml: "${model_name}/qf-plantuml.txt" - cameo: "${model_name}/qf-cameo.txt" - fprime: - qm: "${model_name}/fprime-qm.fppi" - plantuml: "${model_name}/fprime-plantuml.fppi" - cameo: "${model_name}/fprime-cameo.fppi" - + # Format-specific golden files for fprime backend + # String_Guards model String_Guards: <<: *model_template # Format-specific golden files for all backends + + # Transitions model + Transitions: + <<: *model_template + # Format-specific golden files for all backends golden: c: qm: "${model_name}/c-qm.txt" - plantuml: "${model_name}/c-plantuml.txt" - cameo: "${model_name}/c-cameo.txt" + plantuml: "${model_name}/c.txt" + cameo: "${model_name}/c.txt" c++: qm: "${model_name}/cpp-qm.txt" - plantuml: "${model_name}/cpp-plantuml.txt" - cameo: "${model_name}/cpp-cameo.txt" - qf: - qm: "${model_name}/qf-qm.txt" - plantuml: "${model_name}/qf-plantuml.txt" - cameo: "${model_name}/qf-cameo.txt" - fprime: - qm: "${model_name}/fprime-qm.fppi" - plantuml: "${model_name}/fprime-plantuml.fppi" - cameo: "${model_name}/fprime-cameo.fppi" + plantuml: "${model_name}/cpp.txt" + cameo: "${model_name}/cpp.txt" + qf: "${model_name}/qf.txt" + fprime: "${model_name}/fprime.fppi" + # Cameo model Cameo: @@ -145,29 +96,9 @@ models: cameo: "${model_name}.xml" backends: [c, c++, qf, fprime] test_driver: testDrv.txt - golden: - c: - plantuml: "${model_name}/c-plantuml.txt" - cameo: "${model_name}/c-cameo.txt" - c++: - plantuml: "${model_name}/cpp-plantuml.txt" - cameo: "${model_name}/cpp-cameo.txt" - qf: - plantuml: "${model_name}/qf-plantuml.txt" - cameo: "${model_name}/qf-cameo.txt" - fprime: - plantuml: "${model_name}/fprime-plantuml.fppi" - cameo: "${model_name}/fprime-cameo.fppi" - - # Simple_Junction model - Simple_Junction: - <<: *model_template - # Format-specific golden files for fprime backend - golden: - c: "${model_name}/c.txt" - c++: "${model_name}/cpp.txt" - qf: "${model_name}/qf.txt" - fprime: - qm: "${model_name}/fprime-qm.fppi" - plantuml: "${model_name}/fprime-plantuml.fppi" - cameo: "${model_name}/fprime-cameo.fppi" + golden: + c: "${model_name}/c.txt" + c++: "${model_name}/cpp.txt" + qf: "${model_name}/qf.txt" + fprime: "${model_name}/fprime.fppi" + \ No newline at end of file