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.
 
 
 
 

835 lines
27 KiB

{
"jani-version":1,
"features":[
"derived-operators"
],
"name":"Converted from PRISM by IscasMC",
"type":"mdp",
"actions":[
{
"name":"invest"
},
{
"name":"month"
},
{
"name":"done"
}
],
"variables":[
{
"name":"m",
"type":{
"kind":"bounded",
"base":"int",
"lower-bound":0,
"upper-bound":1
}
},
{
"name":"i",
"type":{
"kind":"bounded",
"base":"int",
"lower-bound":0,
"upper-bound":1
}
},
{
"name":"b",
"type":{
"kind":"bounded",
"base":"int",
"lower-bound":0,
"upper-bound":1
}
},
{
"name":"v",
"type":{
"kind":"bounded",
"base":"int",
"lower-bound":0,
"upper-bound":10
}
},
{
"name":"p",
"type":{
"kind":"bounded",
"base":"int",
"lower-bound":0,
"upper-bound":10
}
},
{
"name":"c",
"type":{
"kind":"bounded",
"base":"int",
"lower-bound":0,
"upper-bound":10
}
}
],
"observables":[
],
"initial-states":{
"exp":{
"op":"∧",
"left":{
"op":"∧",
"left":{
"op":"∧",
"left":{
"op":"∧",
"left":{
"op":"∧",
"left":{
"op":"=",
"left":"m",
"right":0
},
"right":{
"op":"=",
"left":"i",
"right":0
}
},
"right":{
"op":"=",
"left":"b",
"right":1
}
},
"right":{
"op":"=",
"left":"v",
"right":10
}
},
"right":{
"op":"=",
"left":"p",
"right":5
}
},
"right":{
"op":"=",
"left":"c",
"right":10
}
}
},
"automata":[
{
"name":"month",
"locations":[
{
"name":"location"
}
],
"initial-locations":[
"location"
],
"edges":[
{
"location":"location",
"action":"invest",
"guard":{
"exp":{
"op":"=",
"left":"m",
"right":0
}
},
"destinations":[
{
"probability":{
"exp":1
},
"location":"location",
"assignments":[
{
"ref":"m",
"value":1
}
],
"observables":[
]
}
]
},
{
"location":"location",
"action":"month",
"guard":{
"exp":{
"op":"=",
"left":"m",
"right":1
}
},
"destinations":[
{
"probability":{
"exp":1
},
"location":"location",
"assignments":[
{
"ref":"m",
"value":0
}
],
"observables":[
]
}
]
},
{
"location":"location",
"action":"done",
"guard":{
"exp":{
"op":"=",
"left":"m",
"right":0
}
},
"destinations":[
{
"probability":{
"exp":1
},
"location":"location",
"assignments":[
{
"ref":"m",
"value":0
}
],
"observables":[
]
}
]
}
]
},
{
"name":"investor",
"locations":[
{
"name":"location"
}
],
"initial-locations":[
"location"
],
"edges":[
{
"location":"location",
"action":"invest",
"guard":{
"exp":{
"op":"=",
"left":"i",
"right":0
}
},
"destinations":[
{
"probability":{
"exp":1
},
"location":"location",
"assignments":[
{
"ref":"i",
"value":0
}
]
}
]
},
{
"location":"location",
"action":"invest",
"guard":{
"exp":{
"op":"=",
"left":"i",
"right":0
}
},
"destinations":[
{
"probability":{
"exp":1
},
"location":"location",
"assignments":[
{
"ref":"i",
"value":1
}
]
}
]
},
{
"location":"location",
"action":"invest",
"guard":{
"exp":{
"op":"∧",
"left":{
"op":"=",
"left":"i",
"right":1
},
"right":{
"op":"=",
"left":"b",
"right":1
}
}
},
"destinations":[
{
"probability":{
"exp":1
},
"location":"location",
"assignments":[
{
"ref":"i",
"value":0
}
]
}
]
},
{
"location":"location",
"action":"invest",
"guard":{
"exp":{
"op":"∧",
"left":{
"op":"=",
"left":"i",
"right":1
},
"right":{
"op":"=",
"left":"b",
"right":1
}
}
},
"destinations":[
{
"probability":{
"exp":1
},
"location":"location",
"assignments":[
{
"ref":"i",
"value":1
}
]
}
]
},
{
"location":"location",
"action":"done",
"guard":{
"exp":{
"op":"∧",
"left":{
"op":"=",
"left":"i",
"right":1
},
"right":{
"op":"=",
"left":"b",
"right":0
}
}
},
"destinations":[
{
"probability":{
"exp":1
},
"location":"location",
"assignments":[
{
"ref":"i",
"value":1
}
]
}
]
}
]
},
{
"name":"barred",
"locations":[
{
"name":"location"
}
],
"initial-locations":[
"location"
],
"edges":[
{
"location":"location",
"action":"invest",
"guard":{
"exp":true
},
"destinations":[
{
"probability":{
"exp":1
},
"location":"location",
"assignments":[
{
"ref":"b",
"value":0
}
]
}
]
},
{
"location":"location",
"action":"invest",
"guard":{
"exp":{
"op":"=",
"left":"b",
"right":0
}
},
"destinations":[
{
"probability":{
"exp":1
},
"location":"location",
"assignments":[
{
"ref":"b",
"value":1
}
]
}
]
}
]
},
{
"name":"value",
"locations":[
{
"name":"location"
}
],
"initial-locations":[
"location"
],
"edges":[
{
"location":"location",
"action":"month",
"guard":{
"exp":true
},
"destinations":[
{
"probability":{
"exp":{
"op":"/",
"left":"p",
"right":10
}
},
"location":"location",
"assignments":[
{
"ref":"v",
"value":{
"op":"min",
"left":{
"op":"+",
"left":"v",
"right":1
},
"right":"c"
}
}
]
},
{
"probability":{
"exp":{
"op":"-",
"left":1,
"right":{
"op":"/",
"left":"p",
"right":10
}
}
},
"location":"location",
"assignments":[
{
"ref":"v",
"value":{
"op":"min",
"left":{
"op":"max",
"left":{
"op":"-",
"left":"v",
"right":1
},
"right":0
},
"right":"c"
}
}
]
}
]
}
]
},
{
"name":"probability",
"locations":[
{
"name":"location"
}
],
"initial-locations":[
"location"
],
"edges":[
{
"location":"location",
"action":"month",
"guard":{
"exp":{
"op":"<",
"left":"v",
"right":5
}
},
"destinations":[
{
"probability":{
"exp":{
"op":"/",
"left":2,
"right":3
}
},
"location":"location",
"assignments":[
{
"ref":"p",
"value":{
"op":"min",
"left":{
"op":"+",
"left":"p",
"right":1
},
"right":10
}
}
]
},
{
"probability":{
"exp":{
"op":"/",
"left":1,
"right":3
}
},
"location":"location",
"assignments":[
{
"ref":"p",
"value":{
"op":"max",
"left":{
"op":"-",
"left":"p",
"right":1
},
"right":0
}
}
]
}
]
},
{
"location":"location",
"action":"month",
"guard":{
"exp":{
"op":"=",
"left":"v",
"right":5
}
},
"destinations":[
{
"probability":{
"exp":{
"op":"/",
"left":1,
"right":2
}
},
"location":"location",
"assignments":[
{
"ref":"p",
"value":{
"op":"min",
"left":{
"op":"+",
"left":"p",
"right":1
},
"right":10
}
}
]
},
{
"probability":{
"exp":{
"op":"/",
"left":1,
"right":2
}
},
"location":"location",
"assignments":[
{
"ref":"p",
"value":{
"op":"max",
"left":{
"op":"-",
"left":"p",
"right":1
},
"right":0
}
}
]
}
]
},
{
"location":"location",
"action":"month",
"guard":{
"exp":{
"op":">",
"left":"v",
"right":5
}
},
"destinations":[
{
"probability":{
"exp":{
"op":"/",
"left":1,
"right":3
}
},
"location":"location",
"assignments":[
{
"ref":"p",
"value":{
"op":"min",
"left":{
"op":"+",
"left":"p",
"right":1
},
"right":10
}
}
]
},
{
"probability":{
"exp":{
"op":"/",
"left":2,
"right":3
}
},
"location":"location",
"assignments":[
{
"ref":"p",
"value":{
"op":"max",
"left":{
"op":"-",
"left":"p",
"right":1
},
"right":0
}
}
]
}
]
}
]
},
{
"name":"cap",
"locations":[
{
"name":"location"
}
],
"initial-locations":[
"location"
],
"edges":[
{
"location":"location",
"action":"month",
"guard":{
"exp":true
},
"destinations":[
{
"probability":{
"exp":{
"op":"/",
"left":1,
"right":2
}
},
"location":"location",
"assignments":[
{
"ref":"c",
"value":{
"op":"max",
"left":{
"op":"-",
"left":"c",
"right":1
},
"right":0
}
}
]
},
{
"probability":{
"exp":{
"op":"/",
"left":1,
"right":2
}
},
"location":"location",
"assignments":[
{
"ref":"c",
"value":"c"
}
]
}
]
}
]
}
],
"system":{
"elements":[
{
"automaton":"month"
},
{
"automaton":"investor"
},
{
"automaton":"barred"
},
{
"automaton":"value"
},
{
"automaton":"probability"
},
{
"automaton":"cap"
}
],
"syncs":[
{
"synchronise":[
"month",
null,
null,
"month",
"month",
"month"
],
"result":"month"
},
{
"synchronise":[
"invest",
"invest",
"invest",
null,
null,
null
],
"result":"invest"
},
{
"synchronise":[
"done",
"done",
null,
null,
null,
null
],
"result":"done"
}
]
}
}