{CHOICE_TYPE,PRISM_ENGINE,"Engine","2.1","Hybrid","MTBDD,Sparse,Hybrid","Which engine (hybrid, sparse or MTBDD) should be used for model checking."},
{BOOLEAN_TYPE,PRISM_VERBOSE,"Verbose output","2.1",newBoolean(false),"","Display verbose output to log."},
{BOOLEAN_TYPE,PRISM_FAIRNESS,"Use fairness","2.1",newBoolean(false),"","Constrain to fair adversaries when model checking probabilistic reachability properties of MDPs."},
{BOOLEAN_TYPE,PRISM_PRECOMPUTATION,"Use precomputation","2.1",newBoolean(true),"","Use model checking precomputation algorithms (Prob0, Prob1, etc.)."},
{BOOLEAN_TYPE,PRISM_DO_PROB_CHECKS,"Do probability/rate checks","2.1",newBoolean(true),"","Perform sanity checks on model probabilities/rates when constructing probabilistic models."},
{BOOLEAN_TYPE,PRISM_COMPACT,"Use compact schemes","2.1",newBoolean(true),"","Use additional optimisations for compressing sparse matrices and vectors with repeated values."},
{CHOICE_TYPE,PRISM_LIN_EQ_METHOD,"Iterative method","2.1","Jacobi","Power,Jacobi,Gauss-Seidel,Backwards Gauss-Seidel,Pseudo-Gauss-Seidel,Backwards Pseudo-Gauss-Seidel,JOR,SOR,Backwards SOR,Pseudo-SOR,Backwards Pseudo-SOR","Which iterative method to use when solving linear equation systems."},
{DOUBLE_TYPE,PRISM_LIN_EQ_METHOD_PARAM,"Over-relaxation parameter","2.1",newDouble(0.9),"","Over-relaxation parameter for iterative numerical methods such as JOR/SOR."},
{CHOICE_TYPE,PRISM_TERM_CRIT,"Termination criteria","2.1","Relative","Absolute,Relative","Criteria to use for checking termination of iterative numerical methods."},
{DOUBLE_TYPE,PRISM_TERM_CRIT_PARAM,"Termination epsilon","2.1",newDouble(1.0E-6),"0.0,","Epsilon value to use for checking termination of iterative numerical methods."},
{INTEGER_TYPE,PRISM_MAX_ITERS,"Termination max. iterations","2.1",newInteger(10000),"0,","Maximum number of iterations to perform if iterative methods do not converge."},
{INTEGER_TYPE,PRISM_CUDD_MAX_MEM,"CUDD max. memory (KB)","2.1",newInteger(204800),"0,","Maximum memory available to CUDD (underlying BDD/MTBDD library) in KB (Note: Restart PRISM after changing this.)"},
{DOUBLE_TYPE,PRISM_CUDD_EPSILON,"CUDD epsilon","2.1",newDouble(1.0E-15),"0.0,","Epsilon value used by CUDD (underlying BDD/MTBDD library) for terminal cache comparisons."},
{INTEGER_TYPE,PRISM_NUM_SB_LEVELS,"Hybrid sparse levels","2.1",newInteger(-1),"-1,","Number of MTBDD levels ascended when adding sparse matrices to hybrid engine data structures (-1 means use default)."},
{INTEGER_TYPE,PRISM_SB_MAX_MEM,"Hybrid sparse memory (KB)","2.1",newInteger(1024),"0,","Maximum memory usage when adding sparse matrices to hybrid engine data structures (KB)."},
{INTEGER_TYPE,PRISM_NUM_SOR_LEVELS,"Hybrid GS levels","2.1",newInteger(-1),"-1,","Number of MTBDD levels descended for hybrid engine data structures block division with GS/SOR."},
{INTEGER_TYPE,PRISM_SOR_MAX_MEM,"Hybrid GS memory (KB)","2.1",newInteger(1024),"0,","Maximum memory usage for hybrid engine data structures block division with GS/SOR (KB)."},
{BOOLEAN_TYPE,PRISM_DO_SS_DETECTION,"Use steady-state detection","2.1",newBoolean(true),"0,","Use steady-state detection during CTMC transient probability computation."},
{BOOLEAN_TYPE,PRISM_EXTRA_DD_INFO,"Extra MTBDD information","3.1.1",newBoolean(false),"0,","Display extra information about (MT)BDDs used during and after model construction."},
{BOOLEAN_TYPE,PRISM_EXTRA_REACH_INFO,"Extra reachability information","3.1.1",newBoolean(false),"0,","Display extra information about progress of reachability during model construction."},
{CHOICE_TYPE,PRISM_SCC_METHOD,"SCC decomposition method","3.2","Lockstep","Xie-Beerel,Lockstep,SCC-Find","Which algorithm to use for decomposing a graph into strongly connected components (SCCs)."},
{STRING_TYPE,PRISM_SYMM_RED_PARAMS,"Symmetry reduction parameters","3.2","","","Parameters for symmetry reduction (format: \"i j\" where i and j are the number of modules before and after the symmetric ones; empty string means symmetry reduction disabled)."},
{CHOICE_TYPE,PRISM_PTA_METHOD,"PTA model checking method","3.3","Stochastic games","Digital clocks,Stochastic games,Bisimulation minimisation","Which method to use for model checking of PTAs."},
{STRING_TYPE,PRISM_AR_OPTIONS,"Abstraction refinement options","3.3","","","Various options passed to the asbtraction-refinement engine (e.g. for PTA model checking)."},
{CHOICE_TYPE,PRISM_EXPORT_ADV,"Adversary export","3.3","None","None,DTMC,MDP","Type of adversary to generate and export during MDP model checking"},
{STRING_TYPE,PRISM_EXPORT_ADV_FILENAME,"Adversary export filename","3.3","adv.tra","","Name of file for MDP adversary export (if enabled)"},
"Parameters for symmetry reduction (format: \"i j\" where i and j are the number of modules before and after the symmetric ones; empty string means symmetry reduction disabled)."},
"Name of file for MDP adversary export (if enabled)"},
},
{
{BOOLEAN_TYPE,MODEL_AUTO_PARSE,"Auto parse","2.1",newBoolean(true),"","Parse PRISM models automatically as they are loaded/edited in the text editor."},