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.
 
 
 
 

683 lines
21 KiB

{
"jani-version":1,
"features":[
"derived-operators"
],
"name":"Converted from PRISM by IscasMC",
"type":"ctmc",
"actions":[
{
"name":"e1"
},
{
"name":"e2"
},
{
"name":"e3"
},
{
"name":"e4"
}
],
"constants":[
{
"name":"N1",
"type":"int"
},
{
"name":"N2",
"type":"int"
},
{
"name":"N3",
"type":"int"
}
],
"variables":[
{
"name":"na",
"type":{
"kind":"bounded",
"base":"int",
"lower-bound":0,
"upper-bound":"N1"
}
},
{
"name":"cl",
"type":{
"kind":"bounded",
"base":"int",
"lower-bound":0,
"upper-bound":"N2"
}
},
{
"name":"k",
"type":{
"kind":"bounded",
"base":"int",
"lower-bound":0,
"upper-bound":"N3"
}
},
{
"name":"dummy",
"type":"bool"
}
],
"observables":[
{
"name":"\"percentage_na\""
},
{
"name":"\"percentage_k\""
}
],
"initial-states":{
"exp":{
"op":"∧",
"left":{
"op":"∧",
"left":{
"op":"∧",
"left":{
"op":"=",
"left":"na",
"right":"N1"
},
"right":{
"op":"=",
"left":"cl",
"right":"N2"
}
},
"right":{
"op":"=",
"left":"k",
"right":"N3"
}
},
"right":{
"op":"=",
"left":"dummy",
"right":false
}
}
},
"automata":[
{
"name":"na",
"locations":[
{
"name":"location",
"observables":[
{
"ref":"\"percentage_na\"",
"value":{
"op":"/",
"left":{
"op":"*",
"left":100,
"right":"na"
},
"right":"N1"
}
},
{
"ref":"\"percentage_k\"",
"value":{
"op":"/",
"left":{
"op":"*",
"left":100,
"right":"k"
},
"right":"N3"
}
}
]
}
],
"initial-locations":[
"location"
],
"edges":[
{
"location":"location",
"action":"e1",
"rate":{
"exp":"na"
},
"guard":{
"exp":{
"op":">",
"left":"na",
"right":0
}
},
"destinations":[
{
"probability":{
"exp":{
"op":"/",
"left":"na",
"right":"na"
}
},
"location":"location",
"assignments":[
{
"ref":"na",
"value":{
"op":"-",
"left":"na",
"right":1
}
}
],
"observables":[
]
}
]
},
{
"location":"location",
"action":"e2",
"rate":{
"exp":{
"op":"-",
"left":"N1",
"right":"na"
}
},
"guard":{
"exp":{
"op":"<",
"left":"na",
"right":"N1"
}
},
"destinations":[
{
"probability":{
"exp":{
"op":"/",
"left":{
"op":"-",
"left":"N1",
"right":"na"
},
"right":{
"op":"-",
"left":"N1",
"right":"na"
}
}
},
"location":"location",
"assignments":[
{
"ref":"na",
"value":{
"op":"+",
"left":"na",
"right":1
}
}
],
"observables":[
]
}
]
}
]
},
{
"name":"cl",
"locations":[
{
"name":"location"
}
],
"initial-locations":[
"location"
],
"edges":[
{
"location":"location",
"action":"e1",
"rate":{
"exp":"cl"
},
"guard":{
"exp":{
"op":">",
"left":"cl",
"right":0
}
},
"destinations":[
{
"probability":{
"exp":{
"op":"/",
"left":"cl",
"right":"cl"
}
},
"location":"location",
"assignments":[
{
"ref":"cl",
"value":{
"op":"-",
"left":"cl",
"right":1
}
}
]
}
]
},
{
"location":"location",
"action":"e3",
"rate":{
"exp":"cl"
},
"guard":{
"exp":{
"op":">",
"left":"cl",
"right":0
}
},
"destinations":[
{
"probability":{
"exp":{
"op":"/",
"left":"cl",
"right":"cl"
}
},
"location":"location",
"assignments":[
{
"ref":"cl",
"value":{
"op":"-",
"left":"cl",
"right":1
}
}
],
"observables":[
]
}
]
},
{
"location":"location",
"action":"e2",
"rate":{
"exp":{
"op":"-",
"left":"N2",
"right":"cl"
}
},
"guard":{
"exp":{
"op":"<",
"left":"cl",
"right":"N2"
}
},
"destinations":[
{
"probability":{
"exp":{
"op":"/",
"left":{
"op":"-",
"left":"N2",
"right":"cl"
},
"right":{
"op":"-",
"left":"N2",
"right":"cl"
}
}
},
"location":"location",
"assignments":[
{
"ref":"cl",
"value":{
"op":"+",
"left":"cl",
"right":1
}
}
]
}
]
},
{
"location":"location",
"action":"e4",
"rate":{
"exp":{
"op":"-",
"left":"N2",
"right":"cl"
}
},
"guard":{
"exp":{
"op":"<",
"left":"cl",
"right":"N2"
}
},
"destinations":[
{
"probability":{
"exp":{
"op":"/",
"left":{
"op":"-",
"left":"N2",
"right":"cl"
},
"right":{
"op":"-",
"left":"N2",
"right":"cl"
}
}
},
"location":"location",
"assignments":[
{
"ref":"cl",
"value":{
"op":"+",
"left":"cl",
"right":1
}
}
],
"observables":[
]
}
]
}
]
},
{
"name":"k",
"locations":[
{
"name":"location"
}
],
"initial-locations":[
"location"
],
"edges":[
{
"location":"location",
"action":"e3",
"rate":{
"exp":"k"
},
"guard":{
"exp":{
"op":">",
"left":"k",
"right":0
}
},
"destinations":[
{
"probability":{
"exp":{
"op":"/",
"left":"k",
"right":"k"
}
},
"location":"location",
"assignments":[
{
"ref":"k",
"value":{
"op":"-",
"left":"k",
"right":1
}
}
]
}
]
},
{
"location":"location",
"action":"e4",
"rate":{
"exp":{
"op":"-",
"left":"N3",
"right":"k"
}
},
"guard":{
"exp":{
"op":"<",
"left":"k",
"right":"N3"
}
},
"destinations":[
{
"probability":{
"exp":{
"op":"/",
"left":{
"op":"-",
"left":"N3",
"right":"k"
},
"right":{
"op":"-",
"left":"N3",
"right":"k"
}
}
},
"location":"location",
"assignments":[
{
"ref":"k",
"value":{
"op":"+",
"left":"k",
"right":1
}
}
]
}
]
}
]
},
{
"name":"base_rates",
"locations":[
{
"name":"location"
}
],
"initial-locations":[
"location"
],
"edges":[
{
"location":"location",
"action":"e1",
"rate":{
"exp":100
},
"guard":{
"exp":true
},
"destinations":[
{
"probability":{
"exp":{
"op":"/",
"left":100,
"right":100
}
},
"location":"location",
"assignments":[
]
}
]
},
{
"location":"location",
"action":"e2",
"rate":{
"exp":10
},
"guard":{
"exp":true
},
"destinations":[
{
"probability":{
"exp":{
"op":"/",
"left":10,
"right":10
}
},
"location":"location",
"assignments":[
]
}
]
},
{
"location":"location",
"action":"e3",
"rate":{
"exp":30
},
"guard":{
"exp":true
},
"destinations":[
{
"probability":{
"exp":{
"op":"/",
"left":30,
"right":30
}
},
"location":"location",
"assignments":[
]
}
]
},
{
"location":"location",
"action":"e4",
"rate":{
"exp":20
},
"guard":{
"exp":true
},
"destinations":[
{
"probability":{
"exp":{
"op":"/",
"left":20,
"right":20
}
},
"location":"location",
"assignments":[
]
}
]
}
]
}
],
"system":{
"elements":[
{
"automaton":"na"
},
{
"automaton":"cl"
},
{
"automaton":"k"
},
{
"automaton":"base_rates"
}
],
"syncs":[
{
"synchronise":[
null,
"e3",
"e3",
"e3"
],
"result":"e3"
},
{
"synchronise":[
null,
"e4",
"e4",
"e4"
],
"result":"e4"
},
{
"synchronise":[
"e1",
"e1",
null,
"e1"
],
"result":"e1"
},
{
"synchronise":[
"e2",
"e2",
null,
"e2"
],
"result":"e2"
}
]
}
}