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.
3047 lines
107 KiB
3047 lines
107 KiB
|
|
{
|
|
"jani-version":1,
|
|
"features":[
|
|
"derived-operators"
|
|
],
|
|
"name":"Converted from PRISM by IscasMC",
|
|
"type":"mdp",
|
|
"actions":[
|
|
{
|
|
"name":"send1"
|
|
},
|
|
{
|
|
"name":"send2"
|
|
},
|
|
{
|
|
"name":"send3"
|
|
},
|
|
{
|
|
"name":"end1"
|
|
},
|
|
{
|
|
"name":"end2"
|
|
},
|
|
{
|
|
"name":"end3"
|
|
},
|
|
{
|
|
"name":"busy1"
|
|
},
|
|
{
|
|
"name":"busy2"
|
|
},
|
|
{
|
|
"name":"busy3"
|
|
},
|
|
{
|
|
"name":"cd"
|
|
},
|
|
{
|
|
"name":"time"
|
|
},
|
|
{
|
|
"name":"tau__"
|
|
}
|
|
],
|
|
"variables":[
|
|
{
|
|
"name":"b",
|
|
"type":{
|
|
"kind":"bounded",
|
|
"base":"int",
|
|
"lower-bound":0,
|
|
"upper-bound":2
|
|
}
|
|
},
|
|
{
|
|
"name":"y1",
|
|
"type":{
|
|
"kind":"bounded",
|
|
"base":"int",
|
|
"lower-bound":0,
|
|
"upper-bound":{
|
|
"op":"+",
|
|
"left":1,
|
|
"right":1
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name":"y2",
|
|
"type":{
|
|
"kind":"bounded",
|
|
"base":"int",
|
|
"lower-bound":0,
|
|
"upper-bound":{
|
|
"op":"+",
|
|
"left":1,
|
|
"right":1
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name":"s1",
|
|
"type":{
|
|
"kind":"bounded",
|
|
"base":"int",
|
|
"lower-bound":0,
|
|
"upper-bound":5
|
|
}
|
|
},
|
|
{
|
|
"name":"x1",
|
|
"type":{
|
|
"kind":"bounded",
|
|
"base":"int",
|
|
"lower-bound":0,
|
|
"upper-bound":{
|
|
"op":"max",
|
|
"left":30,
|
|
"right":{
|
|
"op":"*",
|
|
"left":2,
|
|
"right":1
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name":"bc1",
|
|
"type":{
|
|
"kind":"bounded",
|
|
"base":"int",
|
|
"lower-bound":0,
|
|
"upper-bound":{
|
|
"op":"-",
|
|
"left":{
|
|
"op":"⌊⌋",
|
|
"exp":{
|
|
"op":"pow",
|
|
"left":2,
|
|
"right":2
|
|
}
|
|
},
|
|
"right":1
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name":"cd1",
|
|
"type":{
|
|
"kind":"bounded",
|
|
"base":"int",
|
|
"lower-bound":0,
|
|
"upper-bound":2
|
|
}
|
|
},
|
|
{
|
|
"name":"s2",
|
|
"type":{
|
|
"kind":"bounded",
|
|
"base":"int",
|
|
"lower-bound":0,
|
|
"upper-bound":5
|
|
}
|
|
},
|
|
{
|
|
"name":"x2",
|
|
"type":{
|
|
"kind":"bounded",
|
|
"base":"int",
|
|
"lower-bound":0,
|
|
"upper-bound":{
|
|
"op":"max",
|
|
"left":30,
|
|
"right":{
|
|
"op":"*",
|
|
"left":2,
|
|
"right":1
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name":"bc2",
|
|
"type":{
|
|
"kind":"bounded",
|
|
"base":"int",
|
|
"lower-bound":0,
|
|
"upper-bound":{
|
|
"op":"-",
|
|
"left":{
|
|
"op":"⌊⌋",
|
|
"exp":{
|
|
"op":"pow",
|
|
"left":2,
|
|
"right":2
|
|
}
|
|
},
|
|
"right":1
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name":"cd2",
|
|
"type":{
|
|
"kind":"bounded",
|
|
"base":"int",
|
|
"lower-bound":0,
|
|
"upper-bound":2
|
|
}
|
|
},
|
|
{
|
|
"name":"s3",
|
|
"type":{
|
|
"kind":"bounded",
|
|
"base":"int",
|
|
"lower-bound":0,
|
|
"upper-bound":5
|
|
}
|
|
},
|
|
{
|
|
"name":"x3",
|
|
"type":{
|
|
"kind":"bounded",
|
|
"base":"int",
|
|
"lower-bound":0,
|
|
"upper-bound":{
|
|
"op":"max",
|
|
"left":30,
|
|
"right":{
|
|
"op":"*",
|
|
"left":2,
|
|
"right":1
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name":"bc3",
|
|
"type":{
|
|
"kind":"bounded",
|
|
"base":"int",
|
|
"lower-bound":0,
|
|
"upper-bound":{
|
|
"op":"-",
|
|
"left":{
|
|
"op":"⌊⌋",
|
|
"exp":{
|
|
"op":"pow",
|
|
"left":2,
|
|
"right":2
|
|
}
|
|
},
|
|
"right":1
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name":"cd3",
|
|
"type":{
|
|
"kind":"bounded",
|
|
"base":"int",
|
|
"lower-bound":0,
|
|
"upper-bound":2
|
|
}
|
|
}
|
|
],
|
|
"observables":[
|
|
{
|
|
"name":"\"time\""
|
|
}
|
|
],
|
|
"initial-states":{
|
|
"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":{
|
|
"op":"=",
|
|
"left":"b",
|
|
"right":0
|
|
},
|
|
"right":{
|
|
"op":"=",
|
|
"left":"y1",
|
|
"right":0
|
|
}
|
|
},
|
|
"right":{
|
|
"op":"=",
|
|
"left":"y2",
|
|
"right":0
|
|
}
|
|
},
|
|
"right":{
|
|
"op":"=",
|
|
"left":"s1",
|
|
"right":0
|
|
}
|
|
},
|
|
"right":{
|
|
"op":"=",
|
|
"left":"x1",
|
|
"right":0
|
|
}
|
|
},
|
|
"right":{
|
|
"op":"=",
|
|
"left":"bc1",
|
|
"right":0
|
|
}
|
|
},
|
|
"right":{
|
|
"op":"=",
|
|
"left":"cd1",
|
|
"right":0
|
|
}
|
|
},
|
|
"right":{
|
|
"op":"=",
|
|
"left":"s2",
|
|
"right":0
|
|
}
|
|
},
|
|
"right":{
|
|
"op":"=",
|
|
"left":"x2",
|
|
"right":0
|
|
}
|
|
},
|
|
"right":{
|
|
"op":"=",
|
|
"left":"bc2",
|
|
"right":0
|
|
}
|
|
},
|
|
"right":{
|
|
"op":"=",
|
|
"left":"cd2",
|
|
"right":0
|
|
}
|
|
},
|
|
"right":{
|
|
"op":"=",
|
|
"left":"s3",
|
|
"right":0
|
|
}
|
|
},
|
|
"right":{
|
|
"op":"=",
|
|
"left":"x3",
|
|
"right":0
|
|
}
|
|
},
|
|
"right":{
|
|
"op":"=",
|
|
"left":"bc3",
|
|
"right":0
|
|
}
|
|
},
|
|
"right":{
|
|
"op":"=",
|
|
"left":"cd3",
|
|
"right":0
|
|
}
|
|
}
|
|
},
|
|
"automata":[
|
|
{
|
|
"name":"bus",
|
|
"locations":[
|
|
{
|
|
"name":"location"
|
|
}
|
|
],
|
|
"initial-locations":[
|
|
"location"
|
|
],
|
|
"edges":[
|
|
{
|
|
"location":"location",
|
|
"action":"send1",
|
|
"guard":{
|
|
"exp":{
|
|
"op":"=",
|
|
"left":"b",
|
|
"right":0
|
|
}
|
|
},
|
|
"destinations":[
|
|
{
|
|
"probability":{
|
|
"exp":1
|
|
},
|
|
"location":"location",
|
|
"assignments":[
|
|
{
|
|
"ref":"b",
|
|
"value":1
|
|
}
|
|
],
|
|
"observables":[
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"location":"location",
|
|
"action":"send2",
|
|
"guard":{
|
|
"exp":{
|
|
"op":"=",
|
|
"left":"b",
|
|
"right":0
|
|
}
|
|
},
|
|
"destinations":[
|
|
{
|
|
"probability":{
|
|
"exp":1
|
|
},
|
|
"location":"location",
|
|
"assignments":[
|
|
{
|
|
"ref":"b",
|
|
"value":1
|
|
}
|
|
],
|
|
"observables":[
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"location":"location",
|
|
"action":"send3",
|
|
"guard":{
|
|
"exp":{
|
|
"op":"=",
|
|
"left":"b",
|
|
"right":0
|
|
}
|
|
},
|
|
"destinations":[
|
|
{
|
|
"probability":{
|
|
"exp":1
|
|
},
|
|
"location":"location",
|
|
"assignments":[
|
|
{
|
|
"ref":"b",
|
|
"value":1
|
|
}
|
|
],
|
|
"observables":[
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"location":"location",
|
|
"action":"send1",
|
|
"guard":{
|
|
"exp":{
|
|
"op":"∧",
|
|
"left":{
|
|
"op":"∨",
|
|
"left":{
|
|
"op":"=",
|
|
"left":"b",
|
|
"right":1
|
|
},
|
|
"right":{
|
|
"op":"=",
|
|
"left":"b",
|
|
"right":2
|
|
}
|
|
},
|
|
"right":{
|
|
"op":"<",
|
|
"left":"y1",
|
|
"right":1
|
|
}
|
|
}
|
|
},
|
|
"destinations":[
|
|
{
|
|
"probability":{
|
|
"exp":1
|
|
},
|
|
"location":"location",
|
|
"assignments":[
|
|
{
|
|
"ref":"b",
|
|
"value":2
|
|
}
|
|
],
|
|
"observables":[
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"location":"location",
|
|
"action":"send2",
|
|
"guard":{
|
|
"exp":{
|
|
"op":"∧",
|
|
"left":{
|
|
"op":"∨",
|
|
"left":{
|
|
"op":"=",
|
|
"left":"b",
|
|
"right":1
|
|
},
|
|
"right":{
|
|
"op":"=",
|
|
"left":"b",
|
|
"right":2
|
|
}
|
|
},
|
|
"right":{
|
|
"op":"<",
|
|
"left":"y1",
|
|
"right":1
|
|
}
|
|
}
|
|
},
|
|
"destinations":[
|
|
{
|
|
"probability":{
|
|
"exp":1
|
|
},
|
|
"location":"location",
|
|
"assignments":[
|
|
{
|
|
"ref":"b",
|
|
"value":2
|
|
}
|
|
],
|
|
"observables":[
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"location":"location",
|
|
"action":"send3",
|
|
"guard":{
|
|
"exp":{
|
|
"op":"∧",
|
|
"left":{
|
|
"op":"∨",
|
|
"left":{
|
|
"op":"=",
|
|
"left":"b",
|
|
"right":1
|
|
},
|
|
"right":{
|
|
"op":"=",
|
|
"left":"b",
|
|
"right":2
|
|
}
|
|
},
|
|
"right":{
|
|
"op":"<",
|
|
"left":"y1",
|
|
"right":1
|
|
}
|
|
}
|
|
},
|
|
"destinations":[
|
|
{
|
|
"probability":{
|
|
"exp":1
|
|
},
|
|
"location":"location",
|
|
"assignments":[
|
|
{
|
|
"ref":"b",
|
|
"value":2
|
|
}
|
|
],
|
|
"observables":[
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"location":"location",
|
|
"action":"end1",
|
|
"guard":{
|
|
"exp":{
|
|
"op":"=",
|
|
"left":"b",
|
|
"right":1
|
|
}
|
|
},
|
|
"destinations":[
|
|
{
|
|
"probability":{
|
|
"exp":1
|
|
},
|
|
"location":"location",
|
|
"assignments":[
|
|
{
|
|
"ref":"b",
|
|
"value":0
|
|
},
|
|
{
|
|
"ref":"y1",
|
|
"value":0
|
|
}
|
|
],
|
|
"observables":[
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"location":"location",
|
|
"action":"end2",
|
|
"guard":{
|
|
"exp":{
|
|
"op":"=",
|
|
"left":"b",
|
|
"right":1
|
|
}
|
|
},
|
|
"destinations":[
|
|
{
|
|
"probability":{
|
|
"exp":1
|
|
},
|
|
"location":"location",
|
|
"assignments":[
|
|
{
|
|
"ref":"b",
|
|
"value":0
|
|
},
|
|
{
|
|
"ref":"y1",
|
|
"value":0
|
|
}
|
|
],
|
|
"observables":[
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"location":"location",
|
|
"action":"end3",
|
|
"guard":{
|
|
"exp":{
|
|
"op":"=",
|
|
"left":"b",
|
|
"right":1
|
|
}
|
|
},
|
|
"destinations":[
|
|
{
|
|
"probability":{
|
|
"exp":1
|
|
},
|
|
"location":"location",
|
|
"assignments":[
|
|
{
|
|
"ref":"b",
|
|
"value":0
|
|
},
|
|
{
|
|
"ref":"y1",
|
|
"value":0
|
|
}
|
|
],
|
|
"observables":[
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"location":"location",
|
|
"action":"busy1",
|
|
"guard":{
|
|
"exp":{
|
|
"op":"∧",
|
|
"left":{
|
|
"op":"∨",
|
|
"left":{
|
|
"op":"=",
|
|
"left":"b",
|
|
"right":1
|
|
},
|
|
"right":{
|
|
"op":"=",
|
|
"left":"b",
|
|
"right":2
|
|
}
|
|
},
|
|
"right":{
|
|
"op":"≥",
|
|
"left":"y1",
|
|
"right":1
|
|
}
|
|
}
|
|
},
|
|
"destinations":[
|
|
{
|
|
"probability":{
|
|
"exp":1
|
|
},
|
|
"location":"location",
|
|
"assignments":[
|
|
{
|
|
"ref":"b",
|
|
"value":"b"
|
|
}
|
|
],
|
|
"observables":[
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"location":"location",
|
|
"action":"busy2",
|
|
"guard":{
|
|
"exp":{
|
|
"op":"∧",
|
|
"left":{
|
|
"op":"∨",
|
|
"left":{
|
|
"op":"=",
|
|
"left":"b",
|
|
"right":1
|
|
},
|
|
"right":{
|
|
"op":"=",
|
|
"left":"b",
|
|
"right":2
|
|
}
|
|
},
|
|
"right":{
|
|
"op":"≥",
|
|
"left":"y1",
|
|
"right":1
|
|
}
|
|
}
|
|
},
|
|
"destinations":[
|
|
{
|
|
"probability":{
|
|
"exp":1
|
|
},
|
|
"location":"location",
|
|
"assignments":[
|
|
{
|
|
"ref":"b",
|
|
"value":"b"
|
|
}
|
|
],
|
|
"observables":[
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"location":"location",
|
|
"action":"busy3",
|
|
"guard":{
|
|
"exp":{
|
|
"op":"∧",
|
|
"left":{
|
|
"op":"∨",
|
|
"left":{
|
|
"op":"=",
|
|
"left":"b",
|
|
"right":1
|
|
},
|
|
"right":{
|
|
"op":"=",
|
|
"left":"b",
|
|
"right":2
|
|
}
|
|
},
|
|
"right":{
|
|
"op":"≥",
|
|
"left":"y1",
|
|
"right":1
|
|
}
|
|
}
|
|
},
|
|
"destinations":[
|
|
{
|
|
"probability":{
|
|
"exp":1
|
|
},
|
|
"location":"location",
|
|
"assignments":[
|
|
{
|
|
"ref":"b",
|
|
"value":"b"
|
|
}
|
|
],
|
|
"observables":[
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"location":"location",
|
|
"action":"cd",
|
|
"guard":{
|
|
"exp":{
|
|
"op":"∧",
|
|
"left":{
|
|
"op":"=",
|
|
"left":"b",
|
|
"right":2
|
|
},
|
|
"right":{
|
|
"op":"≤",
|
|
"left":"y2",
|
|
"right":1
|
|
}
|
|
}
|
|
},
|
|
"destinations":[
|
|
{
|
|
"probability":{
|
|
"exp":1
|
|
},
|
|
"location":"location",
|
|
"assignments":[
|
|
{
|
|
"ref":"b",
|
|
"value":0
|
|
},
|
|
{
|
|
"ref":"y1",
|
|
"value":0
|
|
},
|
|
{
|
|
"ref":"y2",
|
|
"value":0
|
|
}
|
|
],
|
|
"observables":[
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"location":"location",
|
|
"action":"time",
|
|
"guard":{
|
|
"exp":{
|
|
"op":"=",
|
|
"left":"b",
|
|
"right":0
|
|
}
|
|
},
|
|
"destinations":[
|
|
{
|
|
"probability":{
|
|
"exp":1
|
|
},
|
|
"location":"location",
|
|
"assignments":[
|
|
{
|
|
"ref":"y1",
|
|
"value":0
|
|
}
|
|
],
|
|
"observables":[
|
|
{
|
|
"ref":"\"time\"",
|
|
"value":1
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"location":"location",
|
|
"action":"time",
|
|
"guard":{
|
|
"exp":{
|
|
"op":"=",
|
|
"left":"b",
|
|
"right":1
|
|
}
|
|
},
|
|
"destinations":[
|
|
{
|
|
"probability":{
|
|
"exp":1
|
|
},
|
|
"location":"location",
|
|
"assignments":[
|
|
{
|
|
"ref":"y1",
|
|
"value":{
|
|
"op":"min",
|
|
"left":{
|
|
"op":"+",
|
|
"left":"y1",
|
|
"right":1
|
|
},
|
|
"right":{
|
|
"op":"+",
|
|
"left":1,
|
|
"right":1
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"observables":[
|
|
{
|
|
"ref":"\"time\"",
|
|
"value":1
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"location":"location",
|
|
"action":"time",
|
|
"guard":{
|
|
"exp":{
|
|
"op":"∧",
|
|
"left":{
|
|
"op":"=",
|
|
"left":"b",
|
|
"right":2
|
|
},
|
|
"right":{
|
|
"op":"<",
|
|
"left":"y2",
|
|
"right":1
|
|
}
|
|
}
|
|
},
|
|
"destinations":[
|
|
{
|
|
"probability":{
|
|
"exp":1
|
|
},
|
|
"location":"location",
|
|
"assignments":[
|
|
{
|
|
"ref":"y1",
|
|
"value":{
|
|
"op":"min",
|
|
"left":{
|
|
"op":"+",
|
|
"left":"y1",
|
|
"right":1
|
|
},
|
|
"right":{
|
|
"op":"+",
|
|
"left":1,
|
|
"right":1
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"ref":"y2",
|
|
"value":{
|
|
"op":"min",
|
|
"left":{
|
|
"op":"+",
|
|
"left":"y2",
|
|
"right":1
|
|
},
|
|
"right":{
|
|
"op":"+",
|
|
"left":1,
|
|
"right":1
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"observables":[
|
|
{
|
|
"ref":"\"time\"",
|
|
"value":1
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name":"station1",
|
|
"locations":[
|
|
{
|
|
"name":"location"
|
|
}
|
|
],
|
|
"initial-locations":[
|
|
"location"
|
|
],
|
|
"edges":[
|
|
{
|
|
"location":"location",
|
|
"action":"send1",
|
|
"guard":{
|
|
"exp":{
|
|
"op":"=",
|
|
"left":"s1",
|
|
"right":0
|
|
}
|
|
},
|
|
"destinations":[
|
|
{
|
|
"probability":{
|
|
"exp":1
|
|
},
|
|
"location":"location",
|
|
"assignments":[
|
|
{
|
|
"ref":"s1",
|
|
"value":1
|
|
},
|
|
{
|
|
"ref":"x1",
|
|
"value":0
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"location":"location",
|
|
"action":"busy1",
|
|
"guard":{
|
|
"exp":{
|
|
"op":"=",
|
|
"left":"s1",
|
|
"right":0
|
|
}
|
|
},
|
|
"destinations":[
|
|
{
|
|
"probability":{
|
|
"exp":1
|
|
},
|
|
"location":"location",
|
|
"assignments":[
|
|
{
|
|
"ref":"s1",
|
|
"value":2
|
|
},
|
|
{
|
|
"ref":"x1",
|
|
"value":0
|
|
},
|
|
{
|
|
"ref":"cd1",
|
|
"value":{
|
|
"op":"min",
|
|
"left":2,
|
|
"right":{
|
|
"op":"+",
|
|
"left":"cd1",
|
|
"right":1
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"location":"location",
|
|
"action":"time",
|
|
"guard":{
|
|
"exp":{
|
|
"op":"∧",
|
|
"left":{
|
|
"op":"=",
|
|
"left":"s1",
|
|
"right":1
|
|
},
|
|
"right":{
|
|
"op":"<",
|
|
"left":"x1",
|
|
"right":30
|
|
}
|
|
}
|
|
},
|
|
"destinations":[
|
|
{
|
|
"probability":{
|
|
"exp":1
|
|
},
|
|
"location":"location",
|
|
"assignments":[
|
|
{
|
|
"ref":"x1",
|
|
"value":{
|
|
"op":"min",
|
|
"left":{
|
|
"op":"+",
|
|
"left":"x1",
|
|
"right":1
|
|
},
|
|
"right":30
|
|
}
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"location":"location",
|
|
"action":"end1",
|
|
"guard":{
|
|
"exp":{
|
|
"op":"∧",
|
|
"left":{
|
|
"op":"=",
|
|
"left":"s1",
|
|
"right":1
|
|
},
|
|
"right":{
|
|
"op":"=",
|
|
"left":"x1",
|
|
"right":30
|
|
}
|
|
}
|
|
},
|
|
"destinations":[
|
|
{
|
|
"probability":{
|
|
"exp":1
|
|
},
|
|
"location":"location",
|
|
"assignments":[
|
|
{
|
|
"ref":"s1",
|
|
"value":4
|
|
},
|
|
{
|
|
"ref":"x1",
|
|
"value":0
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"location":"location",
|
|
"action":"cd",
|
|
"guard":{
|
|
"exp":{
|
|
"op":"=",
|
|
"left":"s1",
|
|
"right":1
|
|
}
|
|
},
|
|
"destinations":[
|
|
{
|
|
"probability":{
|
|
"exp":1
|
|
},
|
|
"location":"location",
|
|
"assignments":[
|
|
{
|
|
"ref":"s1",
|
|
"value":2
|
|
},
|
|
{
|
|
"ref":"x1",
|
|
"value":0
|
|
},
|
|
{
|
|
"ref":"cd1",
|
|
"value":{
|
|
"op":"min",
|
|
"left":2,
|
|
"right":{
|
|
"op":"+",
|
|
"left":"cd1",
|
|
"right":1
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"location":"location",
|
|
"action":"cd",
|
|
"guard":{
|
|
"exp":{
|
|
"op":"¬",
|
|
"exp":{
|
|
"op":"=",
|
|
"left":"s1",
|
|
"right":1
|
|
}
|
|
}
|
|
},
|
|
"destinations":[
|
|
{
|
|
"probability":{
|
|
"exp":1
|
|
},
|
|
"location":"location",
|
|
"assignments":[
|
|
{
|
|
"ref":"s1",
|
|
"value":"s1"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"location":"location",
|
|
"action":"tau__",
|
|
"guard":{
|
|
"exp":{
|
|
"op":"∧",
|
|
"left":{
|
|
"op":"=",
|
|
"left":"s1",
|
|
"right":2
|
|
},
|
|
"right":{
|
|
"op":"=",
|
|
"left":"cd1",
|
|
"right":1
|
|
}
|
|
}
|
|
},
|
|
"destinations":[
|
|
{
|
|
"probability":{
|
|
"exp":{
|
|
"op":"/",
|
|
"left":1,
|
|
"right":2
|
|
}
|
|
},
|
|
"location":"location",
|
|
"assignments":[
|
|
{
|
|
"ref":"s1",
|
|
"value":3
|
|
},
|
|
{
|
|
"ref":"bc1",
|
|
"value":0
|
|
}
|
|
],
|
|
"observables":[
|
|
]
|
|
},
|
|
{
|
|
"probability":{
|
|
"exp":{
|
|
"op":"/",
|
|
"left":1,
|
|
"right":2
|
|
}
|
|
},
|
|
"location":"location",
|
|
"assignments":[
|
|
{
|
|
"ref":"s1",
|
|
"value":3
|
|
},
|
|
{
|
|
"ref":"bc1",
|
|
"value":1
|
|
}
|
|
],
|
|
"observables":[
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"location":"location",
|
|
"action":"tau__",
|
|
"guard":{
|
|
"exp":{
|
|
"op":"∧",
|
|
"left":{
|
|
"op":"=",
|
|
"left":"s1",
|
|
"right":2
|
|
},
|
|
"right":{
|
|
"op":"=",
|
|
"left":"cd1",
|
|
"right":2
|
|
}
|
|
}
|
|
},
|
|
"destinations":[
|
|
{
|
|
"probability":{
|
|
"exp":{
|
|
"op":"/",
|
|
"left":1,
|
|
"right":4
|
|
}
|
|
},
|
|
"location":"location",
|
|
"assignments":[
|
|
{
|
|
"ref":"s1",
|
|
"value":3
|
|
},
|
|
{
|
|
"ref":"bc1",
|
|
"value":0
|
|
}
|
|
],
|
|
"observables":[
|
|
]
|
|
},
|
|
{
|
|
"probability":{
|
|
"exp":{
|
|
"op":"/",
|
|
"left":1,
|
|
"right":4
|
|
}
|
|
},
|
|
"location":"location",
|
|
"assignments":[
|
|
{
|
|
"ref":"s1",
|
|
"value":3
|
|
},
|
|
{
|
|
"ref":"bc1",
|
|
"value":1
|
|
}
|
|
],
|
|
"observables":[
|
|
]
|
|
},
|
|
{
|
|
"probability":{
|
|
"exp":{
|
|
"op":"/",
|
|
"left":1,
|
|
"right":4
|
|
}
|
|
},
|
|
"location":"location",
|
|
"assignments":[
|
|
{
|
|
"ref":"s1",
|
|
"value":3
|
|
},
|
|
{
|
|
"ref":"bc1",
|
|
"value":2
|
|
}
|
|
],
|
|
"observables":[
|
|
]
|
|
},
|
|
{
|
|
"probability":{
|
|
"exp":{
|
|
"op":"/",
|
|
"left":1,
|
|
"right":4
|
|
}
|
|
},
|
|
"location":"location",
|
|
"assignments":[
|
|
{
|
|
"ref":"s1",
|
|
"value":3
|
|
},
|
|
{
|
|
"ref":"bc1",
|
|
"value":3
|
|
}
|
|
],
|
|
"observables":[
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"location":"location",
|
|
"action":"time",
|
|
"guard":{
|
|
"exp":{
|
|
"op":"∧",
|
|
"left":{
|
|
"op":"=",
|
|
"left":"s1",
|
|
"right":3
|
|
},
|
|
"right":{
|
|
"op":"<",
|
|
"left":"x1",
|
|
"right":{
|
|
"op":"*",
|
|
"left":2,
|
|
"right":1
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"destinations":[
|
|
{
|
|
"probability":{
|
|
"exp":1
|
|
},
|
|
"location":"location",
|
|
"assignments":[
|
|
{
|
|
"ref":"x1",
|
|
"value":{
|
|
"op":"+",
|
|
"left":"x1",
|
|
"right":1
|
|
}
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"location":"location",
|
|
"action":"time",
|
|
"guard":{
|
|
"exp":{
|
|
"op":"∧",
|
|
"left":{
|
|
"op":"∧",
|
|
"left":{
|
|
"op":"=",
|
|
"left":"s1",
|
|
"right":3
|
|
},
|
|
"right":{
|
|
"op":"=",
|
|
"left":"x1",
|
|
"right":{
|
|
"op":"*",
|
|
"left":2,
|
|
"right":1
|
|
}
|
|
}
|
|
},
|
|
"right":{
|
|
"op":">",
|
|
"left":"bc1",
|
|
"right":0
|
|
}
|
|
}
|
|
},
|
|
"destinations":[
|
|
{
|
|
"probability":{
|
|
"exp":1
|
|
},
|
|
"location":"location",
|
|
"assignments":[
|
|
{
|
|
"ref":"x1",
|
|
"value":1
|
|
},
|
|
{
|
|
"ref":"bc1",
|
|
"value":{
|
|
"op":"-",
|
|
"left":"bc1",
|
|
"right":1
|
|
}
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"location":"location",
|
|
"action":"send1",
|
|
"guard":{
|
|
"exp":{
|
|
"op":"∧",
|
|
"left":{
|
|
"op":"∧",
|
|
"left":{
|
|
"op":"=",
|
|
"left":"s1",
|
|
"right":3
|
|
},
|
|
"right":{
|
|
"op":"=",
|
|
"left":"x1",
|
|
"right":{
|
|
"op":"*",
|
|
"left":2,
|
|
"right":1
|
|
}
|
|
}
|
|
},
|
|
"right":{
|
|
"op":"=",
|
|
"left":"bc1",
|
|
"right":0
|
|
}
|
|
}
|
|
},
|
|
"destinations":[
|
|
{
|
|
"probability":{
|
|
"exp":1
|
|
},
|
|
"location":"location",
|
|
"assignments":[
|
|
{
|
|
"ref":"s1",
|
|
"value":1
|
|
},
|
|
{
|
|
"ref":"x1",
|
|
"value":0
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"location":"location",
|
|
"action":"busy1",
|
|
"guard":{
|
|
"exp":{
|
|
"op":"∧",
|
|
"left":{
|
|
"op":"∧",
|
|
"left":{
|
|
"op":"=",
|
|
"left":"s1",
|
|
"right":3
|
|
},
|
|
"right":{
|
|
"op":"=",
|
|
"left":"x1",
|
|
"right":{
|
|
"op":"*",
|
|
"left":2,
|
|
"right":1
|
|
}
|
|
}
|
|
},
|
|
"right":{
|
|
"op":"=",
|
|
"left":"bc1",
|
|
"right":0
|
|
}
|
|
}
|
|
},
|
|
"destinations":[
|
|
{
|
|
"probability":{
|
|
"exp":1
|
|
},
|
|
"location":"location",
|
|
"assignments":[
|
|
{
|
|
"ref":"s1",
|
|
"value":2
|
|
},
|
|
{
|
|
"ref":"x1",
|
|
"value":0
|
|
},
|
|
{
|
|
"ref":"cd1",
|
|
"value":{
|
|
"op":"min",
|
|
"left":2,
|
|
"right":{
|
|
"op":"+",
|
|
"left":"cd1",
|
|
"right":1
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"location":"location",
|
|
"action":"time",
|
|
"guard":{
|
|
"exp":{
|
|
"op":"≥",
|
|
"left":"s1",
|
|
"right":4
|
|
}
|
|
},
|
|
"destinations":[
|
|
{
|
|
"probability":{
|
|
"exp":1
|
|
},
|
|
"location":"location",
|
|
"assignments":[
|
|
{
|
|
"ref":"x1",
|
|
"value":0
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name":"station2",
|
|
"locations":[
|
|
{
|
|
"name":"location"
|
|
}
|
|
],
|
|
"initial-locations":[
|
|
"location"
|
|
],
|
|
"edges":[
|
|
{
|
|
"location":"location",
|
|
"action":"send2",
|
|
"guard":{
|
|
"exp":{
|
|
"op":"=",
|
|
"left":"s2",
|
|
"right":0
|
|
}
|
|
},
|
|
"destinations":[
|
|
{
|
|
"probability":{
|
|
"exp":1
|
|
},
|
|
"location":"location",
|
|
"assignments":[
|
|
{
|
|
"ref":"s2",
|
|
"value":1
|
|
},
|
|
{
|
|
"ref":"x2",
|
|
"value":0
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"location":"location",
|
|
"action":"busy2",
|
|
"guard":{
|
|
"exp":{
|
|
"op":"=",
|
|
"left":"s2",
|
|
"right":0
|
|
}
|
|
},
|
|
"destinations":[
|
|
{
|
|
"probability":{
|
|
"exp":1
|
|
},
|
|
"location":"location",
|
|
"assignments":[
|
|
{
|
|
"ref":"s2",
|
|
"value":2
|
|
},
|
|
{
|
|
"ref":"x2",
|
|
"value":0
|
|
},
|
|
{
|
|
"ref":"cd2",
|
|
"value":{
|
|
"op":"min",
|
|
"left":2,
|
|
"right":{
|
|
"op":"+",
|
|
"left":"cd2",
|
|
"right":1
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"location":"location",
|
|
"action":"time",
|
|
"guard":{
|
|
"exp":{
|
|
"op":"∧",
|
|
"left":{
|
|
"op":"=",
|
|
"left":"s2",
|
|
"right":1
|
|
},
|
|
"right":{
|
|
"op":"<",
|
|
"left":"x2",
|
|
"right":30
|
|
}
|
|
}
|
|
},
|
|
"destinations":[
|
|
{
|
|
"probability":{
|
|
"exp":1
|
|
},
|
|
"location":"location",
|
|
"assignments":[
|
|
{
|
|
"ref":"x2",
|
|
"value":{
|
|
"op":"min",
|
|
"left":{
|
|
"op":"+",
|
|
"left":"x2",
|
|
"right":1
|
|
},
|
|
"right":30
|
|
}
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"location":"location",
|
|
"action":"end2",
|
|
"guard":{
|
|
"exp":{
|
|
"op":"∧",
|
|
"left":{
|
|
"op":"=",
|
|
"left":"s2",
|
|
"right":1
|
|
},
|
|
"right":{
|
|
"op":"=",
|
|
"left":"x2",
|
|
"right":30
|
|
}
|
|
}
|
|
},
|
|
"destinations":[
|
|
{
|
|
"probability":{
|
|
"exp":1
|
|
},
|
|
"location":"location",
|
|
"assignments":[
|
|
{
|
|
"ref":"s2",
|
|
"value":4
|
|
},
|
|
{
|
|
"ref":"x2",
|
|
"value":0
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"location":"location",
|
|
"action":"cd",
|
|
"guard":{
|
|
"exp":{
|
|
"op":"=",
|
|
"left":"s2",
|
|
"right":1
|
|
}
|
|
},
|
|
"destinations":[
|
|
{
|
|
"probability":{
|
|
"exp":1
|
|
},
|
|
"location":"location",
|
|
"assignments":[
|
|
{
|
|
"ref":"s2",
|
|
"value":2
|
|
},
|
|
{
|
|
"ref":"x2",
|
|
"value":0
|
|
},
|
|
{
|
|
"ref":"cd2",
|
|
"value":{
|
|
"op":"min",
|
|
"left":2,
|
|
"right":{
|
|
"op":"+",
|
|
"left":"cd2",
|
|
"right":1
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"location":"location",
|
|
"action":"cd",
|
|
"guard":{
|
|
"exp":{
|
|
"op":"¬",
|
|
"exp":{
|
|
"op":"=",
|
|
"left":"s2",
|
|
"right":1
|
|
}
|
|
}
|
|
},
|
|
"destinations":[
|
|
{
|
|
"probability":{
|
|
"exp":1
|
|
},
|
|
"location":"location",
|
|
"assignments":[
|
|
{
|
|
"ref":"s2",
|
|
"value":"s2"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"location":"location",
|
|
"action":"tau__",
|
|
"guard":{
|
|
"exp":{
|
|
"op":"∧",
|
|
"left":{
|
|
"op":"=",
|
|
"left":"s2",
|
|
"right":2
|
|
},
|
|
"right":{
|
|
"op":"=",
|
|
"left":"cd2",
|
|
"right":1
|
|
}
|
|
}
|
|
},
|
|
"destinations":[
|
|
{
|
|
"probability":{
|
|
"exp":{
|
|
"op":"/",
|
|
"left":1,
|
|
"right":2
|
|
}
|
|
},
|
|
"location":"location",
|
|
"assignments":[
|
|
{
|
|
"ref":"s2",
|
|
"value":3
|
|
},
|
|
{
|
|
"ref":"bc2",
|
|
"value":0
|
|
}
|
|
],
|
|
"observables":[
|
|
]
|
|
},
|
|
{
|
|
"probability":{
|
|
"exp":{
|
|
"op":"/",
|
|
"left":1,
|
|
"right":2
|
|
}
|
|
},
|
|
"location":"location",
|
|
"assignments":[
|
|
{
|
|
"ref":"s2",
|
|
"value":3
|
|
},
|
|
{
|
|
"ref":"bc2",
|
|
"value":1
|
|
}
|
|
],
|
|
"observables":[
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"location":"location",
|
|
"action":"tau__",
|
|
"guard":{
|
|
"exp":{
|
|
"op":"∧",
|
|
"left":{
|
|
"op":"=",
|
|
"left":"s2",
|
|
"right":2
|
|
},
|
|
"right":{
|
|
"op":"=",
|
|
"left":"cd2",
|
|
"right":2
|
|
}
|
|
}
|
|
},
|
|
"destinations":[
|
|
{
|
|
"probability":{
|
|
"exp":{
|
|
"op":"/",
|
|
"left":1,
|
|
"right":4
|
|
}
|
|
},
|
|
"location":"location",
|
|
"assignments":[
|
|
{
|
|
"ref":"s2",
|
|
"value":3
|
|
},
|
|
{
|
|
"ref":"bc2",
|
|
"value":0
|
|
}
|
|
],
|
|
"observables":[
|
|
]
|
|
},
|
|
{
|
|
"probability":{
|
|
"exp":{
|
|
"op":"/",
|
|
"left":1,
|
|
"right":4
|
|
}
|
|
},
|
|
"location":"location",
|
|
"assignments":[
|
|
{
|
|
"ref":"s2",
|
|
"value":3
|
|
},
|
|
{
|
|
"ref":"bc2",
|
|
"value":1
|
|
}
|
|
],
|
|
"observables":[
|
|
]
|
|
},
|
|
{
|
|
"probability":{
|
|
"exp":{
|
|
"op":"/",
|
|
"left":1,
|
|
"right":4
|
|
}
|
|
},
|
|
"location":"location",
|
|
"assignments":[
|
|
{
|
|
"ref":"s2",
|
|
"value":3
|
|
},
|
|
{
|
|
"ref":"bc2",
|
|
"value":2
|
|
}
|
|
],
|
|
"observables":[
|
|
]
|
|
},
|
|
{
|
|
"probability":{
|
|
"exp":{
|
|
"op":"/",
|
|
"left":1,
|
|
"right":4
|
|
}
|
|
},
|
|
"location":"location",
|
|
"assignments":[
|
|
{
|
|
"ref":"s2",
|
|
"value":3
|
|
},
|
|
{
|
|
"ref":"bc2",
|
|
"value":3
|
|
}
|
|
],
|
|
"observables":[
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"location":"location",
|
|
"action":"time",
|
|
"guard":{
|
|
"exp":{
|
|
"op":"∧",
|
|
"left":{
|
|
"op":"=",
|
|
"left":"s2",
|
|
"right":3
|
|
},
|
|
"right":{
|
|
"op":"<",
|
|
"left":"x2",
|
|
"right":{
|
|
"op":"*",
|
|
"left":2,
|
|
"right":1
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"destinations":[
|
|
{
|
|
"probability":{
|
|
"exp":1
|
|
},
|
|
"location":"location",
|
|
"assignments":[
|
|
{
|
|
"ref":"x2",
|
|
"value":{
|
|
"op":"+",
|
|
"left":"x2",
|
|
"right":1
|
|
}
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"location":"location",
|
|
"action":"time",
|
|
"guard":{
|
|
"exp":{
|
|
"op":"∧",
|
|
"left":{
|
|
"op":"∧",
|
|
"left":{
|
|
"op":"=",
|
|
"left":"s2",
|
|
"right":3
|
|
},
|
|
"right":{
|
|
"op":"=",
|
|
"left":"x2",
|
|
"right":{
|
|
"op":"*",
|
|
"left":2,
|
|
"right":1
|
|
}
|
|
}
|
|
},
|
|
"right":{
|
|
"op":">",
|
|
"left":"bc2",
|
|
"right":0
|
|
}
|
|
}
|
|
},
|
|
"destinations":[
|
|
{
|
|
"probability":{
|
|
"exp":1
|
|
},
|
|
"location":"location",
|
|
"assignments":[
|
|
{
|
|
"ref":"x2",
|
|
"value":1
|
|
},
|
|
{
|
|
"ref":"bc2",
|
|
"value":{
|
|
"op":"-",
|
|
"left":"bc2",
|
|
"right":1
|
|
}
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"location":"location",
|
|
"action":"send2",
|
|
"guard":{
|
|
"exp":{
|
|
"op":"∧",
|
|
"left":{
|
|
"op":"∧",
|
|
"left":{
|
|
"op":"=",
|
|
"left":"s2",
|
|
"right":3
|
|
},
|
|
"right":{
|
|
"op":"=",
|
|
"left":"x2",
|
|
"right":{
|
|
"op":"*",
|
|
"left":2,
|
|
"right":1
|
|
}
|
|
}
|
|
},
|
|
"right":{
|
|
"op":"=",
|
|
"left":"bc2",
|
|
"right":0
|
|
}
|
|
}
|
|
},
|
|
"destinations":[
|
|
{
|
|
"probability":{
|
|
"exp":1
|
|
},
|
|
"location":"location",
|
|
"assignments":[
|
|
{
|
|
"ref":"s2",
|
|
"value":1
|
|
},
|
|
{
|
|
"ref":"x2",
|
|
"value":0
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"location":"location",
|
|
"action":"busy2",
|
|
"guard":{
|
|
"exp":{
|
|
"op":"∧",
|
|
"left":{
|
|
"op":"∧",
|
|
"left":{
|
|
"op":"=",
|
|
"left":"s2",
|
|
"right":3
|
|
},
|
|
"right":{
|
|
"op":"=",
|
|
"left":"x2",
|
|
"right":{
|
|
"op":"*",
|
|
"left":2,
|
|
"right":1
|
|
}
|
|
}
|
|
},
|
|
"right":{
|
|
"op":"=",
|
|
"left":"bc2",
|
|
"right":0
|
|
}
|
|
}
|
|
},
|
|
"destinations":[
|
|
{
|
|
"probability":{
|
|
"exp":1
|
|
},
|
|
"location":"location",
|
|
"assignments":[
|
|
{
|
|
"ref":"s2",
|
|
"value":2
|
|
},
|
|
{
|
|
"ref":"x2",
|
|
"value":0
|
|
},
|
|
{
|
|
"ref":"cd2",
|
|
"value":{
|
|
"op":"min",
|
|
"left":2,
|
|
"right":{
|
|
"op":"+",
|
|
"left":"cd2",
|
|
"right":1
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"location":"location",
|
|
"action":"time",
|
|
"guard":{
|
|
"exp":{
|
|
"op":"≥",
|
|
"left":"s2",
|
|
"right":4
|
|
}
|
|
},
|
|
"destinations":[
|
|
{
|
|
"probability":{
|
|
"exp":1
|
|
},
|
|
"location":"location",
|
|
"assignments":[
|
|
{
|
|
"ref":"x2",
|
|
"value":0
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name":"station3",
|
|
"locations":[
|
|
{
|
|
"name":"location"
|
|
}
|
|
],
|
|
"initial-locations":[
|
|
"location"
|
|
],
|
|
"edges":[
|
|
{
|
|
"location":"location",
|
|
"action":"send3",
|
|
"guard":{
|
|
"exp":{
|
|
"op":"=",
|
|
"left":"s3",
|
|
"right":0
|
|
}
|
|
},
|
|
"destinations":[
|
|
{
|
|
"probability":{
|
|
"exp":1
|
|
},
|
|
"location":"location",
|
|
"assignments":[
|
|
{
|
|
"ref":"s3",
|
|
"value":1
|
|
},
|
|
{
|
|
"ref":"x3",
|
|
"value":0
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"location":"location",
|
|
"action":"busy3",
|
|
"guard":{
|
|
"exp":{
|
|
"op":"=",
|
|
"left":"s3",
|
|
"right":0
|
|
}
|
|
},
|
|
"destinations":[
|
|
{
|
|
"probability":{
|
|
"exp":1
|
|
},
|
|
"location":"location",
|
|
"assignments":[
|
|
{
|
|
"ref":"s3",
|
|
"value":2
|
|
},
|
|
{
|
|
"ref":"x3",
|
|
"value":0
|
|
},
|
|
{
|
|
"ref":"cd3",
|
|
"value":{
|
|
"op":"min",
|
|
"left":2,
|
|
"right":{
|
|
"op":"+",
|
|
"left":"cd3",
|
|
"right":1
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"location":"location",
|
|
"action":"time",
|
|
"guard":{
|
|
"exp":{
|
|
"op":"∧",
|
|
"left":{
|
|
"op":"=",
|
|
"left":"s3",
|
|
"right":1
|
|
},
|
|
"right":{
|
|
"op":"<",
|
|
"left":"x3",
|
|
"right":30
|
|
}
|
|
}
|
|
},
|
|
"destinations":[
|
|
{
|
|
"probability":{
|
|
"exp":1
|
|
},
|
|
"location":"location",
|
|
"assignments":[
|
|
{
|
|
"ref":"x3",
|
|
"value":{
|
|
"op":"min",
|
|
"left":{
|
|
"op":"+",
|
|
"left":"x3",
|
|
"right":1
|
|
},
|
|
"right":30
|
|
}
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"location":"location",
|
|
"action":"end3",
|
|
"guard":{
|
|
"exp":{
|
|
"op":"∧",
|
|
"left":{
|
|
"op":"=",
|
|
"left":"s3",
|
|
"right":1
|
|
},
|
|
"right":{
|
|
"op":"=",
|
|
"left":"x3",
|
|
"right":30
|
|
}
|
|
}
|
|
},
|
|
"destinations":[
|
|
{
|
|
"probability":{
|
|
"exp":1
|
|
},
|
|
"location":"location",
|
|
"assignments":[
|
|
{
|
|
"ref":"s3",
|
|
"value":4
|
|
},
|
|
{
|
|
"ref":"x3",
|
|
"value":0
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"location":"location",
|
|
"action":"cd",
|
|
"guard":{
|
|
"exp":{
|
|
"op":"=",
|
|
"left":"s3",
|
|
"right":1
|
|
}
|
|
},
|
|
"destinations":[
|
|
{
|
|
"probability":{
|
|
"exp":1
|
|
},
|
|
"location":"location",
|
|
"assignments":[
|
|
{
|
|
"ref":"s3",
|
|
"value":2
|
|
},
|
|
{
|
|
"ref":"x3",
|
|
"value":0
|
|
},
|
|
{
|
|
"ref":"cd3",
|
|
"value":{
|
|
"op":"min",
|
|
"left":2,
|
|
"right":{
|
|
"op":"+",
|
|
"left":"cd3",
|
|
"right":1
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"location":"location",
|
|
"action":"cd",
|
|
"guard":{
|
|
"exp":{
|
|
"op":"¬",
|
|
"exp":{
|
|
"op":"=",
|
|
"left":"s3",
|
|
"right":1
|
|
}
|
|
}
|
|
},
|
|
"destinations":[
|
|
{
|
|
"probability":{
|
|
"exp":1
|
|
},
|
|
"location":"location",
|
|
"assignments":[
|
|
{
|
|
"ref":"s3",
|
|
"value":"s3"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"location":"location",
|
|
"action":"tau__",
|
|
"guard":{
|
|
"exp":{
|
|
"op":"∧",
|
|
"left":{
|
|
"op":"=",
|
|
"left":"s3",
|
|
"right":2
|
|
},
|
|
"right":{
|
|
"op":"=",
|
|
"left":"cd3",
|
|
"right":1
|
|
}
|
|
}
|
|
},
|
|
"destinations":[
|
|
{
|
|
"probability":{
|
|
"exp":{
|
|
"op":"/",
|
|
"left":1,
|
|
"right":2
|
|
}
|
|
},
|
|
"location":"location",
|
|
"assignments":[
|
|
{
|
|
"ref":"s3",
|
|
"value":3
|
|
},
|
|
{
|
|
"ref":"bc3",
|
|
"value":0
|
|
}
|
|
],
|
|
"observables":[
|
|
]
|
|
},
|
|
{
|
|
"probability":{
|
|
"exp":{
|
|
"op":"/",
|
|
"left":1,
|
|
"right":2
|
|
}
|
|
},
|
|
"location":"location",
|
|
"assignments":[
|
|
{
|
|
"ref":"s3",
|
|
"value":3
|
|
},
|
|
{
|
|
"ref":"bc3",
|
|
"value":1
|
|
}
|
|
],
|
|
"observables":[
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"location":"location",
|
|
"action":"tau__",
|
|
"guard":{
|
|
"exp":{
|
|
"op":"∧",
|
|
"left":{
|
|
"op":"=",
|
|
"left":"s3",
|
|
"right":2
|
|
},
|
|
"right":{
|
|
"op":"=",
|
|
"left":"cd3",
|
|
"right":2
|
|
}
|
|
}
|
|
},
|
|
"destinations":[
|
|
{
|
|
"probability":{
|
|
"exp":{
|
|
"op":"/",
|
|
"left":1,
|
|
"right":4
|
|
}
|
|
},
|
|
"location":"location",
|
|
"assignments":[
|
|
{
|
|
"ref":"s3",
|
|
"value":3
|
|
},
|
|
{
|
|
"ref":"bc3",
|
|
"value":0
|
|
}
|
|
],
|
|
"observables":[
|
|
]
|
|
},
|
|
{
|
|
"probability":{
|
|
"exp":{
|
|
"op":"/",
|
|
"left":1,
|
|
"right":4
|
|
}
|
|
},
|
|
"location":"location",
|
|
"assignments":[
|
|
{
|
|
"ref":"s3",
|
|
"value":3
|
|
},
|
|
{
|
|
"ref":"bc3",
|
|
"value":1
|
|
}
|
|
],
|
|
"observables":[
|
|
]
|
|
},
|
|
{
|
|
"probability":{
|
|
"exp":{
|
|
"op":"/",
|
|
"left":1,
|
|
"right":4
|
|
}
|
|
},
|
|
"location":"location",
|
|
"assignments":[
|
|
{
|
|
"ref":"s3",
|
|
"value":3
|
|
},
|
|
{
|
|
"ref":"bc3",
|
|
"value":2
|
|
}
|
|
],
|
|
"observables":[
|
|
]
|
|
},
|
|
{
|
|
"probability":{
|
|
"exp":{
|
|
"op":"/",
|
|
"left":1,
|
|
"right":4
|
|
}
|
|
},
|
|
"location":"location",
|
|
"assignments":[
|
|
{
|
|
"ref":"s3",
|
|
"value":3
|
|
},
|
|
{
|
|
"ref":"bc3",
|
|
"value":3
|
|
}
|
|
],
|
|
"observables":[
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"location":"location",
|
|
"action":"time",
|
|
"guard":{
|
|
"exp":{
|
|
"op":"∧",
|
|
"left":{
|
|
"op":"=",
|
|
"left":"s3",
|
|
"right":3
|
|
},
|
|
"right":{
|
|
"op":"<",
|
|
"left":"x3",
|
|
"right":{
|
|
"op":"*",
|
|
"left":2,
|
|
"right":1
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"destinations":[
|
|
{
|
|
"probability":{
|
|
"exp":1
|
|
},
|
|
"location":"location",
|
|
"assignments":[
|
|
{
|
|
"ref":"x3",
|
|
"value":{
|
|
"op":"+",
|
|
"left":"x3",
|
|
"right":1
|
|
}
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"location":"location",
|
|
"action":"time",
|
|
"guard":{
|
|
"exp":{
|
|
"op":"∧",
|
|
"left":{
|
|
"op":"∧",
|
|
"left":{
|
|
"op":"=",
|
|
"left":"s3",
|
|
"right":3
|
|
},
|
|
"right":{
|
|
"op":"=",
|
|
"left":"x3",
|
|
"right":{
|
|
"op":"*",
|
|
"left":2,
|
|
"right":1
|
|
}
|
|
}
|
|
},
|
|
"right":{
|
|
"op":">",
|
|
"left":"bc3",
|
|
"right":0
|
|
}
|
|
}
|
|
},
|
|
"destinations":[
|
|
{
|
|
"probability":{
|
|
"exp":1
|
|
},
|
|
"location":"location",
|
|
"assignments":[
|
|
{
|
|
"ref":"x3",
|
|
"value":1
|
|
},
|
|
{
|
|
"ref":"bc3",
|
|
"value":{
|
|
"op":"-",
|
|
"left":"bc3",
|
|
"right":1
|
|
}
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"location":"location",
|
|
"action":"send3",
|
|
"guard":{
|
|
"exp":{
|
|
"op":"∧",
|
|
"left":{
|
|
"op":"∧",
|
|
"left":{
|
|
"op":"=",
|
|
"left":"s3",
|
|
"right":3
|
|
},
|
|
"right":{
|
|
"op":"=",
|
|
"left":"x3",
|
|
"right":{
|
|
"op":"*",
|
|
"left":2,
|
|
"right":1
|
|
}
|
|
}
|
|
},
|
|
"right":{
|
|
"op":"=",
|
|
"left":"bc3",
|
|
"right":0
|
|
}
|
|
}
|
|
},
|
|
"destinations":[
|
|
{
|
|
"probability":{
|
|
"exp":1
|
|
},
|
|
"location":"location",
|
|
"assignments":[
|
|
{
|
|
"ref":"s3",
|
|
"value":1
|
|
},
|
|
{
|
|
"ref":"x3",
|
|
"value":0
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"location":"location",
|
|
"action":"busy3",
|
|
"guard":{
|
|
"exp":{
|
|
"op":"∧",
|
|
"left":{
|
|
"op":"∧",
|
|
"left":{
|
|
"op":"=",
|
|
"left":"s3",
|
|
"right":3
|
|
},
|
|
"right":{
|
|
"op":"=",
|
|
"left":"x3",
|
|
"right":{
|
|
"op":"*",
|
|
"left":2,
|
|
"right":1
|
|
}
|
|
}
|
|
},
|
|
"right":{
|
|
"op":"=",
|
|
"left":"bc3",
|
|
"right":0
|
|
}
|
|
}
|
|
},
|
|
"destinations":[
|
|
{
|
|
"probability":{
|
|
"exp":1
|
|
},
|
|
"location":"location",
|
|
"assignments":[
|
|
{
|
|
"ref":"s3",
|
|
"value":2
|
|
},
|
|
{
|
|
"ref":"x3",
|
|
"value":0
|
|
},
|
|
{
|
|
"ref":"cd3",
|
|
"value":{
|
|
"op":"min",
|
|
"left":2,
|
|
"right":{
|
|
"op":"+",
|
|
"left":"cd3",
|
|
"right":1
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"location":"location",
|
|
"action":"time",
|
|
"guard":{
|
|
"exp":{
|
|
"op":"≥",
|
|
"left":"s3",
|
|
"right":4
|
|
}
|
|
},
|
|
"destinations":[
|
|
{
|
|
"probability":{
|
|
"exp":1
|
|
},
|
|
"location":"location",
|
|
"assignments":[
|
|
{
|
|
"ref":"x3",
|
|
"value":0
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"system":{
|
|
"elements":[
|
|
{
|
|
"automaton":"bus"
|
|
},
|
|
{
|
|
"automaton":"station1"
|
|
},
|
|
{
|
|
"automaton":"station2"
|
|
},
|
|
{
|
|
"automaton":"station3"
|
|
}
|
|
],
|
|
"syncs":[
|
|
{
|
|
"synchronise":[
|
|
"cd",
|
|
"cd",
|
|
"cd",
|
|
"cd"
|
|
],
|
|
"result":"cd"
|
|
},
|
|
{
|
|
"synchronise":[
|
|
"time",
|
|
"time",
|
|
"time",
|
|
"time"
|
|
],
|
|
"result":"time"
|
|
},
|
|
{
|
|
"synchronise":[
|
|
"send3",
|
|
null,
|
|
null,
|
|
"send3"
|
|
],
|
|
"result":"send3"
|
|
},
|
|
{
|
|
"synchronise":[
|
|
"end3",
|
|
null,
|
|
null,
|
|
"end3"
|
|
],
|
|
"result":"end3"
|
|
},
|
|
{
|
|
"synchronise":[
|
|
"busy3",
|
|
null,
|
|
null,
|
|
"busy3"
|
|
],
|
|
"result":"busy3"
|
|
},
|
|
{
|
|
"synchronise":[
|
|
"send2",
|
|
null,
|
|
"send2",
|
|
null
|
|
],
|
|
"result":"send2"
|
|
},
|
|
{
|
|
"synchronise":[
|
|
"end2",
|
|
null,
|
|
"end2",
|
|
null
|
|
],
|
|
"result":"end2"
|
|
},
|
|
{
|
|
"synchronise":[
|
|
"busy2",
|
|
null,
|
|
"busy2",
|
|
null
|
|
],
|
|
"result":"busy2"
|
|
},
|
|
{
|
|
"synchronise":[
|
|
"send1",
|
|
"send1",
|
|
null,
|
|
null
|
|
],
|
|
"result":"send1"
|
|
},
|
|
{
|
|
"synchronise":[
|
|
"end1",
|
|
"end1",
|
|
null,
|
|
null
|
|
],
|
|
"result":"end1"
|
|
},
|
|
{
|
|
"synchronise":[
|
|
"busy1",
|
|
"busy1",
|
|
null,
|
|
null
|
|
],
|
|
"result":"busy1"
|
|
},
|
|
{
|
|
"synchronise":[
|
|
null,
|
|
"tau__",
|
|
null,
|
|
null
|
|
],
|
|
"result":"tau__"
|
|
},
|
|
{
|
|
"synchronise":[
|
|
null,
|
|
null,
|
|
"tau__",
|
|
null
|
|
],
|
|
"result":"tau__"
|
|
},
|
|
{
|
|
"synchronise":[
|
|
null,
|
|
null,
|
|
null,
|
|
"tau__"
|
|
],
|
|
"result":"tau__"
|
|
}
|
|
]
|
|
}
|
|
}
|