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.
 
 
 
 

1686 lines
64 KiB

{
"jani-version":1,
"features":[
"derived-operators"
],
"name":"Converted from PRISM by IscasMC",
"type":"pta",
"actions":[
{
"name":"req"
},
{
"name":"message"
},
{
"name":"ack"
},
{
"name":"tau__"
},
{
"name":"decode"
},
{
"name":"finished"
},
{
"name":"stop"
},
{
"name":"error"
},
{
"name":"decoded_random"
},
{
"name":"decoded_last"
}
],
"variables":[
{
"name":"o",
"type":{
"kind":"bounded",
"base":"int",
"lower-bound":0,
"upper-bound":12
}
},
{
"name":"x",
"type":"clock"
},
{
"name":"r",
"type":{
"kind":"bounded",
"base":"int",
"lower-bound":0,
"upper-bound":9
}
},
{
"name":"y",
"type":"clock"
}
],
"observables":[
],
"initial-states":{
"exp":{
"op":"∧",
"left":{
"op":"∧",
"left":{
"op":"∧",
"left":{
"op":"=",
"left":"o",
"right":0
},
"right":{
"op":"=",
"left":"x",
"right":0
}
},
"right":{
"op":"=",
"left":"r",
"right":0
}
},
"right":{
"op":"=",
"left":"y",
"right":0
}
}
},
"automata":[
{
"name":"originator",
"locations":[
{
"name":"location",
"invariant":{
"exp":{
"op":"∧",
"left":{
"op":"∧",
"left":{
"op":"∧",
"left":{
"op":"∧",
"left":{
"op":"∧",
"left":{
"op":"∧",
"left":{
"op":"∧",
"left":{
"op":"∧",
"left":{
"op":"∧",
"left":{
"op":"∧",
"left":{
"op":"∧",
"left":{
"op":"∧",
"left":{
"op":"⇒",
"left":{
"op":"=",
"left":"o",
"right":0
},
"right":true
},
"right":{
"op":"⇒",
"left":{
"op":"=",
"left":"o",
"right":1
},
"right":{
"op":"≤",
"left":"x",
"right":0
}
}
},
"right":{
"op":"⇒",
"left":{
"op":"=",
"left":"o",
"right":2
},
"right":{
"op":"≤",
"left":"x",
"right":5
}
}
},
"right":{
"op":"⇒",
"left":{
"op":"=",
"left":"o",
"right":3
},
"right":{
"op":"≤",
"left":"x",
"right":0
}
}
},
"right":{
"op":"⇒",
"left":{
"op":"=",
"left":"o",
"right":4
},
"right":{
"op":"≤",
"left":"x",
"right":0
}
}
},
"right":{
"op":"⇒",
"left":{
"op":"=",
"left":"o",
"right":5
},
"right":{
"op":"≤",
"left":"x",
"right":0
}
}
},
"right":{
"op":"⇒",
"left":{
"op":"=",
"left":"o",
"right":6
},
"right":true
}
},
"right":{
"op":"⇒",
"left":{
"op":"=",
"left":"o",
"right":7
},
"right":true
}
},
"right":{
"op":"⇒",
"left":{
"op":"=",
"left":"o",
"right":8
},
"right":true
}
},
"right":{
"op":"⇒",
"left":{
"op":"=",
"left":"o",
"right":9
},
"right":true
}
},
"right":{
"op":"⇒",
"left":{
"op":"=",
"left":"o",
"right":10
},
"right":true
}
},
"right":{
"op":"⇒",
"left":{
"op":"=",
"left":"o",
"right":11
},
"right":{
"op":"≤",
"left":"x",
"right":5
}
}
},
"right":{
"op":"⇒",
"left":{
"op":"=",
"left":"o",
"right":12
},
"right":{
"op":"≤",
"left":"x",
"right":5
}
}
}
}
}
],
"initial-locations":[
"location"
],
"edges":[
{
"location":"location",
"action":"req",
"guard":{
"exp":{
"op":"=",
"left":"o",
"right":0
}
},
"destinations":[
{
"probability":{
"exp":1
},
"location":"location",
"assignments":[
{
"ref":"o",
"value":1
},
{
"ref":"x",
"value":0
}
],
"observables":[
]
}
]
},
{
"location":"location",
"action":"message",
"guard":{
"exp":{
"op":"∧",
"left":{
"op":"=",
"left":"o",
"right":1
},
"right":{
"op":"≤",
"left":"x",
"right":0
}
}
},
"destinations":[
{
"probability":{
"exp":1
},
"location":"location",
"assignments":[
{
"ref":"o",
"value":2
}
],
"observables":[
]
}
]
},
{
"location":"location",
"action":"ack",
"guard":{
"exp":{
"op":"∧",
"left":{
"op":"=",
"left":"o",
"right":2
},
"right":{
"op":"∧",
"left":{
"op":"≥",
"left":"x",
"right":1
},
"right":{
"op":"≤",
"left":"x",
"right":4
}
}
}
},
"destinations":[
{
"probability":{
"exp":0.9000000
},
"location":"location",
"assignments":[
{
"ref":"o",
"value":1
},
{
"ref":"x",
"value":0
}
],
"observables":[
]
},
{
"probability":{
"exp":0.1000000
},
"location":"location",
"assignments":[
{
"ref":"o",
"value":3
},
{
"ref":"x",
"value":0
}
],
"observables":[
]
}
]
},
{
"location":"location",
"action":"tau__",
"guard":{
"exp":{
"op":"∧",
"left":{
"op":"=",
"left":"o",
"right":2
},
"right":{
"op":">",
"left":"x",
"right":4
}
}
},
"destinations":[
{
"probability":{
"exp":0.9000000
},
"location":"location",
"assignments":[
{
"ref":"o",
"value":4
},
{
"ref":"x",
"value":0
}
],
"observables":[
]
},
{
"probability":{
"exp":0.1000000
},
"location":"location",
"assignments":[
{
"ref":"o",
"value":5
},
{
"ref":"x",
"value":0
}
],
"observables":[
]
}
]
},
{
"location":"location",
"action":"decode",
"guard":{
"exp":{
"op":"=",
"left":"o",
"right":2
}
},
"destinations":[
{
"probability":{
"exp":0.9000000
},
"location":"location",
"assignments":[
{
"ref":"o",
"value":6
}
],
"observables":[
]
},
{
"probability":{
"exp":0.1000000
},
"location":"location",
"assignments":[
{
"ref":"o",
"value":7
}
],
"observables":[
]
}
]
},
{
"location":"location",
"action":"finished",
"guard":{
"exp":{
"op":"=",
"left":"o",
"right":3
}
},
"destinations":[
{
"probability":{
"exp":1
},
"location":"location",
"assignments":[
{
"ref":"o",
"value":8
},
{
"ref":"x",
"value":0
}
],
"observables":[
]
}
]
},
{
"location":"location",
"action":"tau__",
"guard":{
"exp":{
"op":"=",
"left":"o",
"right":8
}
},
"destinations":[
{
"probability":{
"exp":1
},
"location":"location",
"assignments":[
{
"ref":"o",
"value":8
}
],
"observables":[
]
}
]
},
{
"location":"location",
"action":"tau__",
"guard":{
"exp":{
"op":"=",
"left":"o",
"right":9
}
},
"destinations":[
{
"probability":{
"exp":1
},
"location":"location",
"assignments":[
{
"ref":"o",
"value":9
}
],
"observables":[
]
}
]
},
{
"location":"location",
"action":"tau__",
"guard":{
"exp":{
"op":"=",
"left":"o",
"right":10
}
},
"destinations":[
{
"probability":{
"exp":1
},
"location":"location",
"assignments":[
{
"ref":"o",
"value":10
}
],
"observables":[
]
}
]
},
{
"location":"location",
"action":"stop",
"guard":{
"exp":{
"op":"=",
"left":"o",
"right":4
}
},
"destinations":[
{
"probability":{
"exp":1
},
"location":"location",
"assignments":[
{
"ref":"o",
"value":9
}
],
"observables":[
]
}
]
},
{
"location":"location",
"action":"error",
"guard":{
"exp":{
"op":"=",
"left":"o",
"right":5
}
},
"destinations":[
{
"probability":{
"exp":1
},
"location":"location",
"assignments":[
{
"ref":"o",
"value":10
}
],
"observables":[
]
}
]
},
{
"location":"location",
"action":"decoded_random",
"guard":{
"exp":{
"op":"=",
"left":"o",
"right":6
}
},
"destinations":[
{
"probability":{
"exp":1
},
"location":"location",
"assignments":[
{
"ref":"o",
"value":11
}
],
"observables":[
]
}
]
},
{
"location":"location",
"action":"decoded_last",
"guard":{
"exp":{
"op":"=",
"left":"o",
"right":7
}
},
"destinations":[
{
"probability":{
"exp":1
},
"location":"location",
"assignments":[
{
"ref":"o",
"value":12
}
],
"observables":[
]
}
]
},
{
"location":"location",
"action":"ack",
"guard":{
"exp":{
"op":"∧",
"left":{
"op":"=",
"left":"o",
"right":11
},
"right":{
"op":"∧",
"left":{
"op":"≥",
"left":"x",
"right":1
},
"right":{
"op":"≤",
"left":"x",
"right":4
}
}
}
},
"destinations":[
{
"probability":{
"exp":1
},
"location":"location",
"assignments":[
{
"ref":"o",
"value":1
},
{
"ref":"x",
"value":0
}
],
"observables":[
]
}
]
},
{
"location":"location",
"action":"stop",
"guard":{
"exp":{
"op":"∧",
"left":{
"op":"=",
"left":"o",
"right":11
},
"right":{
"op":">",
"left":"x",
"right":4
}
}
},
"destinations":[
{
"probability":{
"exp":1
},
"location":"location",
"assignments":[
{
"ref":"o",
"value":9
},
{
"ref":"x",
"value":0
}
],
"observables":[
]
}
]
},
{
"location":"location",
"action":"ack",
"guard":{
"exp":{
"op":"∧",
"left":{
"op":"=",
"left":"o",
"right":12
},
"right":{
"op":"∧",
"left":{
"op":"≥",
"left":"x",
"right":1
},
"right":{
"op":"≤",
"left":"x",
"right":4
}
}
}
},
"destinations":[
{
"probability":{
"exp":1
},
"location":"location",
"assignments":[
{
"ref":"o",
"value":3
},
{
"ref":"x",
"value":0
}
],
"observables":[
]
}
]
},
{
"location":"location",
"action":"stop",
"guard":{
"exp":{
"op":"∧",
"left":{
"op":"=",
"left":"o",
"right":12
},
"right":{
"op":">",
"left":"x",
"right":4
}
}
},
"destinations":[
{
"probability":{
"exp":1
},
"location":"location",
"assignments":[
{
"ref":"o",
"value":10
},
{
"ref":"x",
"value":0
}
],
"observables":[
]
}
]
}
]
},
{
"name":"recipient",
"locations":[
{
"name":"location",
"invariant":{
"exp":{
"op":"∧",
"left":{
"op":"∧",
"left":{
"op":"∧",
"left":{
"op":"∧",
"left":{
"op":"∧",
"left":{
"op":"∧",
"left":{
"op":"∧",
"left":{
"op":"∧",
"left":{
"op":"∧",
"left":{
"op":"⇒",
"left":{
"op":"=",
"left":"r",
"right":0
},
"right":{
"op":"≤",
"left":"y",
"right":0
}
},
"right":{
"op":"⇒",
"left":{
"op":"=",
"left":"r",
"right":1
},
"right":true
}
},
"right":{
"op":"⇒",
"left":{
"op":"=",
"left":"r",
"right":2
},
"right":true
}
},
"right":{
"op":"⇒",
"left":{
"op":"=",
"left":"r",
"right":3
},
"right":true
}
},
"right":{
"op":"⇒",
"left":{
"op":"=",
"left":"r",
"right":4
},
"right":{
"op":"≤",
"left":"y",
"right":1
}
}
},
"right":{
"op":"⇒",
"left":{
"op":"=",
"left":"r",
"right":5
},
"right":{
"op":"≤",
"left":"y",
"right":3
}
}
},
"right":{
"op":"⇒",
"left":{
"op":"=",
"left":"r",
"right":6
},
"right":true
}
},
"right":{
"op":"⇒",
"left":{
"op":"=",
"left":"r",
"right":7
},
"right":{
"op":"≤",
"left":"y",
"right":0
}
}
},
"right":{
"op":"⇒",
"left":{
"op":"=",
"left":"r",
"right":8
},
"right":{
"op":"≤",
"left":"y",
"right":0
}
}
},
"right":{
"op":"⇒",
"left":{
"op":"=",
"left":"r",
"right":9
},
"right":{
"op":"≤",
"left":"y",
"right":0
}
}
}
}
}
],
"initial-locations":[
"location"
],
"edges":[
{
"location":"location",
"action":"req",
"guard":{
"exp":{
"op":"∧",
"left":{
"op":"=",
"left":"r",
"right":0
},
"right":{
"op":"=",
"left":"y",
"right":0
}
}
},
"destinations":[
{
"probability":{
"exp":1
},
"location":"location",
"assignments":[
{
"ref":"r",
"value":1
}
]
}
]
},
{
"location":"location",
"action":"message",
"guard":{
"exp":{
"op":"=",
"left":"r",
"right":1
}
},
"destinations":[
{
"probability":{
"exp":1
},
"location":"location",
"assignments":[
{
"ref":"r",
"value":2
},
{
"ref":"y",
"value":0
}
]
}
]
},
{
"location":"location",
"action":"finished",
"guard":{
"exp":{
"op":"=",
"left":"r",
"right":1
}
},
"destinations":[
{
"probability":{
"exp":1
},
"location":"location",
"assignments":[
{
"ref":"r",
"value":3
}
]
}
]
},
{
"location":"location",
"action":"ack",
"guard":{
"exp":{
"op":"=",
"left":"r",
"right":2
}
},
"destinations":[
{
"probability":{
"exp":1
},
"location":"location",
"assignments":[
{
"ref":"r",
"value":1
}
]
}
]
},
{
"location":"location",
"action":"tau__",
"guard":{
"exp":{
"op":"=",
"left":"r",
"right":2
}
},
"destinations":[
{
"probability":{
"exp":1
},
"location":"location",
"assignments":[
{
"ref":"r",
"value":4
},
{
"ref":"y",
"value":0
}
],
"observables":[
]
}
]
},
{
"location":"location",
"action":"tau__",
"guard":{
"exp":{
"op":"=",
"left":"r",
"right":2
}
},
"destinations":[
{
"probability":{
"exp":1
},
"location":"location",
"assignments":[
{
"ref":"r",
"value":5
},
{
"ref":"y",
"value":0
}
],
"observables":[
]
}
]
},
{
"location":"location",
"action":"tau__",
"guard":{
"exp":{
"op":"=",
"left":"r",
"right":2
}
},
"destinations":[
{
"probability":{
"exp":1
},
"location":"location",
"assignments":[
{
"ref":"r",
"value":6
}
],
"observables":[
]
}
]
},
{
"location":"location",
"action":"tau__",
"guard":{
"exp":{
"op":"=",
"left":"r",
"right":3
}
},
"destinations":[
{
"probability":{
"exp":1
},
"location":"location",
"assignments":[
{
"ref":"r",
"value":3
}
],
"observables":[
]
}
]
},
{
"location":"location",
"action":"tau__",
"guard":{
"exp":{
"op":"=",
"left":"r",
"right":6
}
},
"destinations":[
{
"probability":{
"exp":1
},
"location":"location",
"assignments":[
{
"ref":"r",
"value":6
}
],
"observables":[
]
}
]
},
{
"location":"location",
"action":"tau__",
"guard":{
"exp":{
"op":"∧",
"left":{
"op":"=",
"left":"r",
"right":4
},
"right":{
"op":"=",
"left":"y",
"right":1
}
}
},
"destinations":[
{
"probability":{
"exp":0.0100000
},
"location":"location",
"assignments":[
{
"ref":"r",
"value":7
},
{
"ref":"y",
"value":0
}
],
"observables":[
]
},
{
"probability":{
"exp":0.9900000
},
"location":"location",
"assignments":[
{
"ref":"r",
"value":2
},
{
"ref":"y",
"value":0
}
],
"observables":[
]
}
]
},
{
"location":"location",
"action":"tau__",
"guard":{
"exp":{
"op":"∧",
"left":{
"op":"=",
"left":"r",
"right":5
},
"right":{
"op":"=",
"left":"y",
"right":3
}
}
},
"destinations":[
{
"probability":{
"exp":0.0500000
},
"location":"location",
"assignments":[
{
"ref":"r",
"value":7
},
{
"ref":"y",
"value":0
}
],
"observables":[
]
},
{
"probability":{
"exp":0.9500000
},
"location":"location",
"assignments":[
{
"ref":"r",
"value":2
},
{
"ref":"y",
"value":0
}
],
"observables":[
]
}
]
},
{
"location":"location",
"action":"decode",
"guard":{
"exp":{
"op":"∧",
"left":{
"op":"=",
"left":"r",
"right":7
},
"right":{
"op":"=",
"left":"y",
"right":0
}
}
},
"destinations":[
{
"probability":{
"exp":1
},
"location":"location",
"assignments":[
{
"ref":"r",
"value":8
}
]
}
]
},
{
"location":"location",
"action":"decoded_random",
"guard":{
"exp":{
"op":"∧",
"left":{
"op":"=",
"left":"r",
"right":8
},
"right":{
"op":"=",
"left":"y",
"right":0
}
}
},
"destinations":[
{
"probability":{
"exp":1
},
"location":"location",
"assignments":[
{
"ref":"r",
"value":9
}
]
}
]
},
{
"location":"location",
"action":"decoded_last",
"guard":{
"exp":{
"op":"∧",
"left":{
"op":"=",
"left":"r",
"right":8
},
"right":{
"op":"=",
"left":"y",
"right":0
}
}
},
"destinations":[
{
"probability":{
"exp":1
},
"location":"location",
"assignments":[
{
"ref":"r",
"value":6
}
]
}
]
},
{
"location":"location",
"action":"ack",
"guard":{
"exp":{
"op":"=",
"left":"r",
"right":9
}
},
"destinations":[
{
"probability":{
"exp":1
},
"location":"location",
"assignments":[
{
"ref":"r",
"value":1
}
]
}
]
},
{
"location":"location",
"action":"tau__",
"guard":{
"exp":{
"op":"=",
"left":"r",
"right":9
}
},
"destinations":[
{
"probability":{
"exp":1
},
"location":"location",
"assignments":[
{
"ref":"r",
"value":6
}
],
"observables":[
]
}
]
}
]
}
],
"system":{
"elements":[
{
"automaton":"originator"
},
{
"automaton":"recipient"
}
],
"syncs":[
{
"synchronise":[
"req",
"req"
],
"result":"req"
},
{
"synchronise":[
"message",
"message"
],
"result":"message"
},
{
"synchronise":[
"ack",
"ack"
],
"result":"ack"
},
{
"synchronise":[
"decode",
"decode"
],
"result":"decode"
},
{
"synchronise":[
"finished",
"finished"
],
"result":"finished"
},
{
"synchronise":[
"decoded_random",
"decoded_random"
],
"result":"decoded_random"
},
{
"synchronise":[
"decoded_last",
"decoded_last"
],
"result":"decoded_last"
},
{
"synchronise":[
"tau__",
null
],
"result":"tau__"
},
{
"synchronise":[
"stop",
null
],
"result":"stop"
},
{
"synchronise":[
"error",
null
],
"result":"error"
},
{
"synchronise":[
null,
"tau__"
],
"result":"tau__"
}
]
}
}