Explorar el Código

Finished R_sensor as well

Yentl Van Tendeloo hace 8 años
padre
commit
619b464a42
Se han modificado 1 ficheros con 343 adiciones y 0 borrados
  1. 343 0
      models/plant_to_EPN.mvc

+ 343 - 0
models/plant_to_EPN.mvc

@@ -239,7 +239,350 @@ PW_PN_RAM pw_to_epn {
             }
         }
         {Contains} Atomic R_sensor {
+            LHS {
+                Pre_PW/Side s_s{
+                    label = "1"
+                }
+                Pre_PW/Infrared s_i{
+                    label = "2"
+                }
+                Pre_PW/HasSensor (s_s, s_i) {
+                    label = "3"
+                }
+            }
+            RHS {
+                Post_EPN/Boundary s_0{
+                    label = "0"
+                }
+
+                Post_EPN/Port s_36{
+                    label = "36"
+                    name = $
+                        String function value(host_model : Element, name : String, mapping : Element):
+                            return "InControlNeutral"!
+                        $
+                }
+                Post_EPN/Port s_38{
+                    label = "38"
+                    name = $
+                        String function value(host_model : Element, name : String, mapping : Element):
+                            return "InControlMovingUp"!
+                        $
+                }
+                Post_EPN/Port s_40{
+                    label = "40"
+                    name = $
+                        String function value(host_model : Element, name : String, mapping : Element):
+                            return "InControlMovingDown"!
+                        $
+                }
+                Post_EPN/Port s_42{
+                    label = "42"
+                    name = $
+                        String function value(host_model : Element, name : String, mapping : Element):
+                            return "detectedObject"!
+                        $
+                }
+
+                Post_EPN/Place s_9{
+                    label = "9"
+                    nbTokens = $
+                        Integer function value(host_model : Element, name : String, mapping : Element):
+                            return 0!
+                        $
+                    name = $
+                        String function value(host_model : Element, name : String, mapping : Element):
+                            return "top"!
+                        $
+                }
+                Post_EPN/Place s_11{
+                    label = "11"
+                    nbTokens = $
+                        Integer function value(host_model : Element, name : String, mapping : Element):
+                            return 0!
+                        $
+                    name = $
+                        String function value(host_model : Element, name : String, mapping : Element):
+                            return "middle"!
+                        $
+                }
+                Post_EPN/Place s_14{
+                    label = "14"
+                    nbTokens = $
+                        Integer function value(host_model : Element, name : String, mapping : Element):
+                            return 1!
+                        $
+                    name = $
+                        String function value(host_model : Element, name : String, mapping : Element):
+                            return "bottom"!
+                        $
+                }
+                Post_EPN/Place s_19{
+                    label = "19"
+                    nbTokens = $
+                        Integer function value(host_model : Element, name : String, mapping : Element):
+                            return 0!
+                        $
+                    name = $
+                        String function value(host_model : Element, name : String, mapping : Element):
+                            return "topDetectedFrame"!
+                        $
+                }
+                Post_EPN/Place s_23{
+                    label = "23"
+                    nbTokens = $
+                        Integer function value(host_model : Element, name : String, mapping : Element):
+                            return 0!
+                        $
+                    name = $
+                        String function value(host_model : Element, name : String, mapping : Element):
+                            return "middleDetectedFrame"!
+                        $
+                }
+
+                Post_EPN/Transition s_32{
+                    label = "32"
+                    name = $
+                        String function value(host_model : Element, name : String, mapping : Element):
+                            return "ControlUp+Object"!
+                        $
+                }
+                Post_EPN/Transition s_33{
+                    label = "33"
+                    name = $
+                        String function value(host_model : Element, name : String, mapping : Element):
+                            return "ControlUp+Object"!
+                        $
+                }
+                Post_EPN/Transition s_27{
+                    label = "27"
+                    name = $
+                        String function value(host_model : Element, name : String, mapping : Element):
+                            return "InControlNeutral"!
+                        $
+                }
+                Post_EPN/Transition s_29{
+                    label = "29"
+                    name = $
+                        String function value(host_model : Element, name : String, mapping : Element):
+                            return "InControlNeutral"!
+                        $
+                }
+                Post_EPN/Transition s_16{
+                    label = "16"
+                    name = $
+                        String function value(host_model : Element, name : String, mapping : Element):
+                            return "InControlMovingUp"!
+                        $
+                }
+                Post_EPN/Transition s_18{
+                    label = "18"
+                    name = $
+                        String function value(host_model : Element, name : String, mapping : Element):
+                            return "InControlMovingUp"!
+                        $
+                }
+                Post_EPN/Transition s_20{
+                    label = "20"
+                    name = $
+                        String function value(host_model : Element, name : String, mapping : Element):
+                            return "InControlNeutral"!
+                        $
+                }
+                Post_EPN/Transition s_22{
+                    label = "22"
+                    name = $
+                        String function value(host_model : Element, name : String, mapping : Element):
+                            return "InControlNeutral"!
+                        $
+                }
+                Post_EPN/Transition s_24{
+                    label = "24"
+                    name = $
+                        String function value(host_model : Element, name : String, mapping : Element):
+                            return "InControlNeutral"!
+                        $
+                }
+                Post_EPN/Transition s_26{
+                    label = "26"
+                    name = $
+                        String function value(host_model : Element, name : String, mapping : Element):
+                            return "InControlMovingUp"!
+                        $
+                }
+                Post_EPN/Transition s_28{
+                    label = "28"
+                    name = $
+                        String function value(host_model : Element, name : String, mapping : Element):
+                            return "InControlMovingUp"!
+                        $
+                }
+
+                Post_EPN/PortTransition (s_42, s_32){
+                    label = "68"
+                }
+                Post_EPN/PortTransition (s_42, s_33){
+                    label = "69"
+                }
+                Post_EPN/PortTransition (s_38, s_18){
+                    label = "70"
+                }
+                Post_EPN/PortTransition (s_38, s_16){
+                    label = "71"
+                }
+                Post_EPN/PortTransition (s_40, s_26){
+                    label = "59"
+                }
+                Post_EPN/PortTransition (s_40, s_28){
+                    label = "58"
+                }
+                Post_EPN/PortTransition (s_36, s_27){
+                    label = "a_0"
+                }
+                Post_EPN/PortTransition (s_36, s_29){
+                    label = "a_1"
+                }
+                Post_EPN/PortTransition (s_36, s_20){
+                    label = "a_2"
+                }
+                Post_EPN/PortTransition (s_36, s_22){
+                    label = "a_3"
+                }
+                Post_EPN/PortTransition (s_36, s_24){
+                    label = "a_4"
+                }
+
+                Post_EPN/P2T (s_19, s_27){
+                    label = "60"
+                }
+                Post_EPN/P2T (s_23, s_29){
+                    label = "64"
+                }
+                Post_EPN/P2T (s_9, s_32){
+                    label = "62"
+                }
+                Post_EPN/P2T (s_9, s_20){
+                    label = "52"
+                }
+                Post_EPN/P2T (s_9, s_26){
+                    label = "48"
+                }
+                Post_EPN/P2T (s_11, s_28){
+                    label = "50"
+                }
+                Post_EPN/P2T (s_11, s_22){
+                    label = "55"
+                }
+                Post_EPN/P2T (s_11, s_16){
+                    label = "46"
+                }
+                Post_EPN/P2T (s_11, s_18){
+                    label = "45"
+                }
+                Post_EPN/P2T (s_14, s_24){
+                    label = "56"
+                }
+                Post_EPN/P2T (s_14, s_18){
+                    label = "44"
+                }
 
+                Post_EPN/T2P (s_32, s_19){
+                    label = "63"
+                }
+                Post_EPN/T2P (s_33, s_23){
+                    label = "67"
+                }
+                Post_EPN/T2P (s_27, s_9){
+                    label = "61"
+                }
+                Post_EPN/T2P (s_29, s_11){
+                    label = "65"
+                }
+                Post_EPN/T2P (s_16, s_9){
+                    label = "47"
+                }
+                Post_EPN/T2P (s_18, s_11){
+                    label = "45"
+                }
+                Post_EPN/T2P (s_20, s_9){
+                    label = "53"
+                }
+                Post_EPN/T2P (s_26, s_11){
+                    label = "49"
+                }
+                Post_EPN/T2P (s_22, s_11){
+                    label = "55"
+                }
+                Post_EPN/T2P (s_28, s_14){
+                    label = "51"
+                }
+                Post_EPN/T2P (s_24, s_14){
+                    label = "57"
+                }
+
+                Post_EPN/Has3 (s_0, s_42){
+                    label = "43"
+                }
+                Post_EPN/Has3 (s_0, s_36){
+                    label = "37"
+                }
+                Post_EPN/Has3 (s_0, s_38){
+                    label = "39"
+                }
+                Post_EPN/Has3 (s_0, s_40){
+                    label = "41"
+                }
+
+                Post_EPN/Has2 (s_0, s_32){
+                    label = "34"
+                }
+                Post_EPN/Has2 (s_0, s_33){
+                    label = "35"
+                }
+                Post_EPN/Has2 (s_0, s_27){
+                    label = "30"
+                }
+                Post_EPN/Has2 (s_0, s_29){
+                    label = "31"
+                }
+                Post_EPN/Has2 (s_0, s_16){
+                    label = "7"
+                }
+                Post_EPN/Has2 (s_0, s_18){
+                    label = "8"
+                }
+                Post_EPN/Has2 (s_0, s_20){
+                    label = "13"
+                }
+                Post_EPN/Has2 (s_0, s_22){
+                    label = "15"
+                }
+                Post_EPN/Has2 (s_0, s_24){
+                    label = "17"
+                }
+                Post_EPN/Has2 (s_0, s_26){
+                    label = "10"
+                }
+                Post_EPN/Has2 (s_0, s_28){
+                    label = "12"
+                }
+
+                Post_EPN/Has1 (s_0, s_9){
+                    label = "4"
+                }
+                Post_EPN/Has1 (s_0, s_11){
+                    label = "5"
+                }
+                Post_EPN/Has1 (s_0, s_14){
+                    label = "6"
+                }
+                Post_EPN/Has1 (s_0, s_19){
+                    label = "21"
+                }
+                Post_EPN/Has1 (s_0, s_23){
+                    label = "25"
+                }
+            }
         }
     }