|
@@ -0,0 +1,114 @@
|
|
|
+include "primitives.alh"
|
|
|
+
|
|
|
+A B {
|
|
|
+ Composite schedule {
|
|
|
+ {Contains} Success success {}
|
|
|
+ {Contains} Failure failure {}
|
|
|
+ {Contains} ForAll create_ports {
|
|
|
+ LHS {
|
|
|
+ Pre_Environment_PW/Event {
|
|
|
+ label = "0"
|
|
|
+ }
|
|
|
+ }
|
|
|
+ RHS {
|
|
|
+ Post_Environment_PW/Event {
|
|
|
+ label = "0"
|
|
|
+ }
|
|
|
+ Post_Encapsulated_PetriNet/Place cp_place {
|
|
|
+ label = "1"
|
|
|
+ value_name = $
|
|
|
+ String function value(model : Element, name : String, mapping : Element):
|
|
|
+ return read_attribute(model, mapping["0"], "name")!
|
|
|
+ $
|
|
|
+ }
|
|
|
+ Post_Encapsulated_PetriNet/Port cp_port {
|
|
|
+ label = "2"
|
|
|
+ value_name = $
|
|
|
+ String function value(model : Element, name : String, mapping : Element):
|
|
|
+ return read_attribute(model, mapping["0"], "name")!
|
|
|
+ $
|
|
|
+ }
|
|
|
+ Post_Encapsulated_PetriNet/PortPlace (cp_port, cp_place) {
|
|
|
+ label = "3"
|
|
|
+ }
|
|
|
+ Post_ENV2EPN_link (cp_evt, cp_place) {
|
|
|
+ label = "4"
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ {Contains} ForAll create_switches {
|
|
|
+ LHS {
|
|
|
+ Pre_Environment_PW/Group pre_grp {
|
|
|
+ label = "0"
|
|
|
+ }
|
|
|
+ Pre_Environment_PW/Event pre_evt_a {
|
|
|
+ label = "1"
|
|
|
+ }
|
|
|
+ Pre_Environment_PW/Contains (pre_grp, pre_evt_a) {
|
|
|
+ label = "2"
|
|
|
+ }
|
|
|
+ Pre_Environment_PW/Event pre_evt_b {
|
|
|
+ label = "3"
|
|
|
+ }
|
|
|
+ Pre_Environment_PW/Contains (pre_grp, pre_evt_b) {
|
|
|
+ label = "4"
|
|
|
+ }
|
|
|
+ Pre_Encapsulated_PetriNet/Place pre_place_a {
|
|
|
+ label = "5"
|
|
|
+ }
|
|
|
+ Pre_Encapsulated_PetriNet/Place pre_place_b {
|
|
|
+ label = "6"
|
|
|
+ }
|
|
|
+ Pre_ENV2EPN_link (pre_evt_a, pre_place_a) {
|
|
|
+ label = "7"
|
|
|
+ }
|
|
|
+ Pre_ENV2EPN_link (pre_evt_b, pre_place_b) {
|
|
|
+ label = "8"
|
|
|
+ }
|
|
|
+ }
|
|
|
+ RHS {
|
|
|
+ Post_Environment_PW/Group post_grp {
|
|
|
+ label = "0"
|
|
|
+ }
|
|
|
+ Post_Environment_PW/Event post_evt_a {
|
|
|
+ label = "1"
|
|
|
+ }
|
|
|
+ Post_Environment_PW/Contains (post_grp, post_evt_a) {
|
|
|
+ label = "2"
|
|
|
+ }
|
|
|
+ Post_Environment_PW/Event post_evt_b {
|
|
|
+ label = "3"
|
|
|
+ }
|
|
|
+ Post_Environment_PW/Contains (post_grp, post_evt_b) {
|
|
|
+ label = "4"
|
|
|
+ }
|
|
|
+ Post_Encapsulated_PetriNet/Place post_place_a {
|
|
|
+ label = "5"
|
|
|
+ }
|
|
|
+ Post_Encapsulated_PetriNet/Place post_place_b {
|
|
|
+ label = "6"
|
|
|
+ }
|
|
|
+ Post_ENV2EPN_link (post_evt_a, post_place_a) {
|
|
|
+ label = "7"
|
|
|
+ }
|
|
|
+ Post_ENV2EPN_link (post_evt_b, post_place_b) {
|
|
|
+ label = "8"
|
|
|
+ }
|
|
|
+ Post_Encapsulated_PetriNet/Transition post_transition {
|
|
|
+ label = "9"
|
|
|
+ }
|
|
|
+ Post_Encapsulated_PetriNet/P2T (post_place_a, post_transition) {
|
|
|
+ label = "10"
|
|
|
+ }
|
|
|
+ Post_Encapsulated_PetriNet/T2P (post_transition, post_place_b) {
|
|
|
+ label = "11"
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ Initial (schedule, create_ports) {}
|
|
|
+ Success (create_ports, create_switches) {}
|
|
|
+ Success (create_switches, success) {}
|
|
|
+ Failure (create_ports, failure) {}
|
|
|
+ Failure (create_switches, failure) {}
|
|
|
+}
|