You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
850 lines
27 KiB
850 lines
27 KiB
|
|
{
|
|
"jani-version":1,
|
|
"features":[
|
|
"derived-operators"
|
|
],
|
|
"name":"Converted from PRISM by IscasMC",
|
|
"type":"ctmc",
|
|
"actions":[
|
|
{
|
|
"name":"cO_s"
|
|
},
|
|
{
|
|
"name":"cO_f"
|
|
},
|
|
{
|
|
"name":"cI"
|
|
}
|
|
],
|
|
"variables":[
|
|
{
|
|
"name":"User_STATE",
|
|
"type":{
|
|
"kind":"bounded",
|
|
"base":"int",
|
|
"lower-bound":0,
|
|
"upper-bound":2
|
|
}
|
|
},
|
|
{
|
|
"name":"User_2_STATE",
|
|
"type":{
|
|
"kind":"bounded",
|
|
"base":"int",
|
|
"lower-bound":0,
|
|
"upper-bound":2
|
|
}
|
|
},
|
|
{
|
|
"name":"User_3_STATE",
|
|
"type":{
|
|
"kind":"bounded",
|
|
"base":"int",
|
|
"lower-bound":0,
|
|
"upper-bound":2
|
|
}
|
|
},
|
|
{
|
|
"name":"CheckOut_STATE",
|
|
"type":{
|
|
"kind":"bounded",
|
|
"base":"int",
|
|
"lower-bound":0,
|
|
"upper-bound":1
|
|
}
|
|
}
|
|
],
|
|
"observables":[
|
|
],
|
|
"initial-states":{
|
|
"exp":{
|
|
"op":"∧",
|
|
"left":{
|
|
"op":"∧",
|
|
"left":{
|
|
"op":"∧",
|
|
"left":{
|
|
"op":"=",
|
|
"left":"User_STATE",
|
|
"right":0
|
|
},
|
|
"right":{
|
|
"op":"=",
|
|
"left":"User_2_STATE",
|
|
"right":0
|
|
}
|
|
},
|
|
"right":{
|
|
"op":"=",
|
|
"left":"User_3_STATE",
|
|
"right":0
|
|
}
|
|
},
|
|
"right":{
|
|
"op":"=",
|
|
"left":"CheckOut_STATE",
|
|
"right":0
|
|
}
|
|
}
|
|
},
|
|
"automata":[
|
|
{
|
|
"name":"User",
|
|
"locations":[
|
|
{
|
|
"name":"location"
|
|
}
|
|
],
|
|
"initial-locations":[
|
|
"location"
|
|
],
|
|
"edges":[
|
|
{
|
|
"location":"location",
|
|
"action":"cO_s",
|
|
"rate":{
|
|
"exp":1.0000000
|
|
},
|
|
"guard":{
|
|
"exp":{
|
|
"op":"=",
|
|
"left":"User_STATE",
|
|
"right":0
|
|
}
|
|
},
|
|
"destinations":[
|
|
{
|
|
"probability":{
|
|
"exp":{
|
|
"op":"/",
|
|
"left":1.0000000,
|
|
"right":1.0000000
|
|
}
|
|
},
|
|
"location":"location",
|
|
"assignments":[
|
|
{
|
|
"ref":"User_STATE",
|
|
"value":1
|
|
}
|
|
],
|
|
"observables":[
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"location":"location",
|
|
"action":"cO_f",
|
|
"rate":{
|
|
"exp":1.0000000
|
|
},
|
|
"guard":{
|
|
"exp":{
|
|
"op":"=",
|
|
"left":"User_STATE",
|
|
"right":0
|
|
}
|
|
},
|
|
"destinations":[
|
|
{
|
|
"probability":{
|
|
"exp":{
|
|
"op":"/",
|
|
"left":1.0000000,
|
|
"right":1.0000000
|
|
}
|
|
},
|
|
"location":"location",
|
|
"assignments":[
|
|
{
|
|
"ref":"User_STATE",
|
|
"value":2
|
|
}
|
|
],
|
|
"observables":[
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"location":"location",
|
|
"action":"cI",
|
|
"rate":{
|
|
"exp":5.0000000
|
|
},
|
|
"guard":{
|
|
"exp":{
|
|
"op":"=",
|
|
"left":"User_STATE",
|
|
"right":1
|
|
}
|
|
},
|
|
"destinations":[
|
|
{
|
|
"probability":{
|
|
"exp":{
|
|
"op":"/",
|
|
"left":5.0000000,
|
|
"right":5.0000000
|
|
}
|
|
},
|
|
"location":"location",
|
|
"assignments":[
|
|
{
|
|
"ref":"User_STATE",
|
|
"value":0
|
|
}
|
|
],
|
|
"observables":[
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"location":"location",
|
|
"action":"cO_s",
|
|
"rate":{
|
|
"exp":5.0000000
|
|
},
|
|
"guard":{
|
|
"exp":{
|
|
"op":"=",
|
|
"left":"User_STATE",
|
|
"right":2
|
|
}
|
|
},
|
|
"destinations":[
|
|
{
|
|
"probability":{
|
|
"exp":{
|
|
"op":"/",
|
|
"left":5.0000000,
|
|
"right":5.0000000
|
|
}
|
|
},
|
|
"location":"location",
|
|
"assignments":[
|
|
{
|
|
"ref":"User_STATE",
|
|
"value":1
|
|
}
|
|
],
|
|
"observables":[
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"location":"location",
|
|
"action":"cO_f",
|
|
"rate":{
|
|
"exp":5.0000000
|
|
},
|
|
"guard":{
|
|
"exp":{
|
|
"op":"=",
|
|
"left":"User_STATE",
|
|
"right":2
|
|
}
|
|
},
|
|
"destinations":[
|
|
{
|
|
"probability":{
|
|
"exp":{
|
|
"op":"/",
|
|
"left":5.0000000,
|
|
"right":5.0000000
|
|
}
|
|
},
|
|
"location":"location",
|
|
"assignments":[
|
|
{
|
|
"ref":"User_STATE",
|
|
"value":2
|
|
}
|
|
],
|
|
"observables":[
|
|
]
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name":"User_2",
|
|
"locations":[
|
|
{
|
|
"name":"location"
|
|
}
|
|
],
|
|
"initial-locations":[
|
|
"location"
|
|
],
|
|
"edges":[
|
|
{
|
|
"location":"location",
|
|
"action":"cO_s",
|
|
"rate":{
|
|
"exp":1.0000000
|
|
},
|
|
"guard":{
|
|
"exp":{
|
|
"op":"=",
|
|
"left":"User_2_STATE",
|
|
"right":0
|
|
}
|
|
},
|
|
"destinations":[
|
|
{
|
|
"probability":{
|
|
"exp":{
|
|
"op":"/",
|
|
"left":1.0000000,
|
|
"right":1.0000000
|
|
}
|
|
},
|
|
"location":"location",
|
|
"assignments":[
|
|
{
|
|
"ref":"User_2_STATE",
|
|
"value":1
|
|
}
|
|
],
|
|
"observables":[
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"location":"location",
|
|
"action":"cO_f",
|
|
"rate":{
|
|
"exp":1.0000000
|
|
},
|
|
"guard":{
|
|
"exp":{
|
|
"op":"=",
|
|
"left":"User_2_STATE",
|
|
"right":0
|
|
}
|
|
},
|
|
"destinations":[
|
|
{
|
|
"probability":{
|
|
"exp":{
|
|
"op":"/",
|
|
"left":1.0000000,
|
|
"right":1.0000000
|
|
}
|
|
},
|
|
"location":"location",
|
|
"assignments":[
|
|
{
|
|
"ref":"User_2_STATE",
|
|
"value":2
|
|
}
|
|
],
|
|
"observables":[
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"location":"location",
|
|
"action":"cI",
|
|
"rate":{
|
|
"exp":5.0000000
|
|
},
|
|
"guard":{
|
|
"exp":{
|
|
"op":"=",
|
|
"left":"User_2_STATE",
|
|
"right":1
|
|
}
|
|
},
|
|
"destinations":[
|
|
{
|
|
"probability":{
|
|
"exp":{
|
|
"op":"/",
|
|
"left":5.0000000,
|
|
"right":5.0000000
|
|
}
|
|
},
|
|
"location":"location",
|
|
"assignments":[
|
|
{
|
|
"ref":"User_2_STATE",
|
|
"value":0
|
|
}
|
|
],
|
|
"observables":[
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"location":"location",
|
|
"action":"cO_s",
|
|
"rate":{
|
|
"exp":5.0000000
|
|
},
|
|
"guard":{
|
|
"exp":{
|
|
"op":"=",
|
|
"left":"User_2_STATE",
|
|
"right":2
|
|
}
|
|
},
|
|
"destinations":[
|
|
{
|
|
"probability":{
|
|
"exp":{
|
|
"op":"/",
|
|
"left":5.0000000,
|
|
"right":5.0000000
|
|
}
|
|
},
|
|
"location":"location",
|
|
"assignments":[
|
|
{
|
|
"ref":"User_2_STATE",
|
|
"value":1
|
|
}
|
|
],
|
|
"observables":[
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"location":"location",
|
|
"action":"cO_f",
|
|
"rate":{
|
|
"exp":5.0000000
|
|
},
|
|
"guard":{
|
|
"exp":{
|
|
"op":"=",
|
|
"left":"User_2_STATE",
|
|
"right":2
|
|
}
|
|
},
|
|
"destinations":[
|
|
{
|
|
"probability":{
|
|
"exp":{
|
|
"op":"/",
|
|
"left":5.0000000,
|
|
"right":5.0000000
|
|
}
|
|
},
|
|
"location":"location",
|
|
"assignments":[
|
|
{
|
|
"ref":"User_2_STATE",
|
|
"value":2
|
|
}
|
|
],
|
|
"observables":[
|
|
]
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name":"User_3",
|
|
"locations":[
|
|
{
|
|
"name":"location"
|
|
}
|
|
],
|
|
"initial-locations":[
|
|
"location"
|
|
],
|
|
"edges":[
|
|
{
|
|
"location":"location",
|
|
"action":"cO_s",
|
|
"rate":{
|
|
"exp":1.0000000
|
|
},
|
|
"guard":{
|
|
"exp":{
|
|
"op":"=",
|
|
"left":"User_3_STATE",
|
|
"right":0
|
|
}
|
|
},
|
|
"destinations":[
|
|
{
|
|
"probability":{
|
|
"exp":{
|
|
"op":"/",
|
|
"left":1.0000000,
|
|
"right":1.0000000
|
|
}
|
|
},
|
|
"location":"location",
|
|
"assignments":[
|
|
{
|
|
"ref":"User_3_STATE",
|
|
"value":1
|
|
}
|
|
],
|
|
"observables":[
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"location":"location",
|
|
"action":"cO_f",
|
|
"rate":{
|
|
"exp":1.0000000
|
|
},
|
|
"guard":{
|
|
"exp":{
|
|
"op":"=",
|
|
"left":"User_3_STATE",
|
|
"right":0
|
|
}
|
|
},
|
|
"destinations":[
|
|
{
|
|
"probability":{
|
|
"exp":{
|
|
"op":"/",
|
|
"left":1.0000000,
|
|
"right":1.0000000
|
|
}
|
|
},
|
|
"location":"location",
|
|
"assignments":[
|
|
{
|
|
"ref":"User_3_STATE",
|
|
"value":2
|
|
}
|
|
],
|
|
"observables":[
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"location":"location",
|
|
"action":"cI",
|
|
"rate":{
|
|
"exp":5.0000000
|
|
},
|
|
"guard":{
|
|
"exp":{
|
|
"op":"=",
|
|
"left":"User_3_STATE",
|
|
"right":1
|
|
}
|
|
},
|
|
"destinations":[
|
|
{
|
|
"probability":{
|
|
"exp":{
|
|
"op":"/",
|
|
"left":5.0000000,
|
|
"right":5.0000000
|
|
}
|
|
},
|
|
"location":"location",
|
|
"assignments":[
|
|
{
|
|
"ref":"User_3_STATE",
|
|
"value":0
|
|
}
|
|
],
|
|
"observables":[
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"location":"location",
|
|
"action":"cO_s",
|
|
"rate":{
|
|
"exp":5.0000000
|
|
},
|
|
"guard":{
|
|
"exp":{
|
|
"op":"=",
|
|
"left":"User_3_STATE",
|
|
"right":2
|
|
}
|
|
},
|
|
"destinations":[
|
|
{
|
|
"probability":{
|
|
"exp":{
|
|
"op":"/",
|
|
"left":5.0000000,
|
|
"right":5.0000000
|
|
}
|
|
},
|
|
"location":"location",
|
|
"assignments":[
|
|
{
|
|
"ref":"User_3_STATE",
|
|
"value":1
|
|
}
|
|
],
|
|
"observables":[
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"location":"location",
|
|
"action":"cO_f",
|
|
"rate":{
|
|
"exp":5.0000000
|
|
},
|
|
"guard":{
|
|
"exp":{
|
|
"op":"=",
|
|
"left":"User_3_STATE",
|
|
"right":2
|
|
}
|
|
},
|
|
"destinations":[
|
|
{
|
|
"probability":{
|
|
"exp":{
|
|
"op":"/",
|
|
"left":5.0000000,
|
|
"right":5.0000000
|
|
}
|
|
},
|
|
"location":"location",
|
|
"assignments":[
|
|
{
|
|
"ref":"User_3_STATE",
|
|
"value":2
|
|
}
|
|
],
|
|
"observables":[
|
|
]
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name":"CheckOut",
|
|
"locations":[
|
|
{
|
|
"name":"location"
|
|
}
|
|
],
|
|
"initial-locations":[
|
|
"location"
|
|
],
|
|
"edges":[
|
|
{
|
|
"location":"location",
|
|
"action":"cO_s",
|
|
"rate":{
|
|
"exp":1
|
|
},
|
|
"guard":{
|
|
"exp":{
|
|
"op":"=",
|
|
"left":"CheckOut_STATE",
|
|
"right":0
|
|
}
|
|
},
|
|
"destinations":[
|
|
{
|
|
"probability":{
|
|
"exp":{
|
|
"op":"/",
|
|
"left":1,
|
|
"right":1
|
|
}
|
|
},
|
|
"location":"location",
|
|
"assignments":[
|
|
{
|
|
"ref":"CheckOut_STATE",
|
|
"value":1
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"location":"location",
|
|
"action":"cI",
|
|
"rate":{
|
|
"exp":1
|
|
},
|
|
"guard":{
|
|
"exp":{
|
|
"op":"=",
|
|
"left":"CheckOut_STATE",
|
|
"right":1
|
|
}
|
|
},
|
|
"destinations":[
|
|
{
|
|
"probability":{
|
|
"exp":{
|
|
"op":"/",
|
|
"left":1,
|
|
"right":1
|
|
}
|
|
},
|
|
"location":"location",
|
|
"assignments":[
|
|
{
|
|
"ref":"CheckOut_STATE",
|
|
"value":0
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"location":"location",
|
|
"action":"cO_f",
|
|
"rate":{
|
|
"exp":1
|
|
},
|
|
"guard":{
|
|
"exp":{
|
|
"op":"=",
|
|
"left":"CheckOut_STATE",
|
|
"right":1
|
|
}
|
|
},
|
|
"destinations":[
|
|
{
|
|
"probability":{
|
|
"exp":{
|
|
"op":"/",
|
|
"left":1,
|
|
"right":1
|
|
}
|
|
},
|
|
"location":"location",
|
|
"assignments":[
|
|
{
|
|
"ref":"CheckOut_STATE",
|
|
"value":1
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"system":{
|
|
"elements":[
|
|
{
|
|
"automaton":"User"
|
|
},
|
|
{
|
|
"automaton":"User_2"
|
|
},
|
|
{
|
|
"automaton":"User_3"
|
|
},
|
|
{
|
|
"automaton":"CheckOut"
|
|
}
|
|
],
|
|
"syncs":[
|
|
{
|
|
"synchronise":[
|
|
"cO_s",
|
|
null,
|
|
null,
|
|
"cO_s"
|
|
],
|
|
"result":"cO_s"
|
|
},
|
|
{
|
|
"synchronise":[
|
|
"cO_f",
|
|
null,
|
|
null,
|
|
"cO_f"
|
|
],
|
|
"result":"cO_f"
|
|
},
|
|
{
|
|
"synchronise":[
|
|
"cI",
|
|
null,
|
|
null,
|
|
"cI"
|
|
],
|
|
"result":"cI"
|
|
},
|
|
{
|
|
"synchronise":[
|
|
null,
|
|
"cO_s",
|
|
null,
|
|
"cO_s"
|
|
],
|
|
"result":"cO_s"
|
|
},
|
|
{
|
|
"synchronise":[
|
|
null,
|
|
"cO_f",
|
|
null,
|
|
"cO_f"
|
|
],
|
|
"result":"cO_f"
|
|
},
|
|
{
|
|
"synchronise":[
|
|
null,
|
|
"cI",
|
|
null,
|
|
"cI"
|
|
],
|
|
"result":"cI"
|
|
},
|
|
{
|
|
"synchronise":[
|
|
null,
|
|
null,
|
|
"cO_s",
|
|
"cO_s"
|
|
],
|
|
"result":"cO_s"
|
|
},
|
|
{
|
|
"synchronise":[
|
|
null,
|
|
null,
|
|
"cO_f",
|
|
"cO_f"
|
|
],
|
|
"result":"cO_f"
|
|
},
|
|
{
|
|
"synchronise":[
|
|
null,
|
|
null,
|
|
"cI",
|
|
"cI"
|
|
],
|
|
"result":"cI"
|
|
}
|
|
]
|
|
}
|
|
}
|