MengGuo / PRISM_interface

Generate input files automatically for model checker PRISM

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

PRISM_interface

Generate input files automatically for model checker PRISM, from NetworkX graph objects.

@ARTICLE{8272366,
  author={M. {Guo} and M. M. {Zavlanos}},
  journal={IEEE Transactions on Automatic Control}, 
  title={Probabilistic Motion Planning Under Temporal Tasks and Soft Constraints}, 
  year={2018},
  volume={63},
  number={12},
  pages={4051-4066},
  doi={10.1109/TAC.2018.2799561}}

Description

This package contains the implementation for generating input files, particularly, MDP model, LTL/DRA model for the PRISM model checker, from NetworkX graph objects.

Creating by hand these modules is simply tedious, particularly so since PRISM does not allow non-integer identifier for each mode of a state.


Features

Specifically, check the P_MDP_TG package to generate the product automaton from a (probabilistically-labeled) MDP and a LTL formula.

Then this PRISM module (example size5_all_base_nx2prism.nm) along with a trivia LTL formula (example size5_all_base_nx2prism.nm.props) can be fed directly to PRISM.

  • Generate DRA model as MDP module in PRISM language.

Given a LTL formula, P_MDP_TG package provides automated translation to a NetworkX graph, via LTL2BA and LTL2DSTAR. Then the equivalent PRISM module as a MDP can be generated here.

Note that the DRA (example dra_all_base_nx2prism.nm) is encoded as a PRISM module to allow action-based LTL model checking (i.e., synchronized game between a MDP and a DRA), since PRISM only supports state-based LTL currently.

  • Generate labeled MDP module in PRISM language, from NetworkX graph object.

Given a labeled MDP digraph, P_MDP_TG package generates the corresponding mdp module in PRISM language, see example size5_motion_mdp_nx2prism.nm

About

Generate input files automatically for model checker PRISM

License:GNU General Public License v2.0


Languages

Language:OpenEdge ABL 99.5%Language:Python 0.5%