MC 4 CSL TA : an efficient model checking tool for CSL

This demo presents MC4CSLTA, an efficient Markov chain Model Checker for (four) the stochastic logic CSLTA. In CSLTA formulas are either steady state queries or path formulas, where accepting paths are specified through a Deterministic Timed Automata (DTA). MC4CSLTA takes as input a labeled CTMC, a query, one or more DTA involved in the query (possibly expressed in parametric form), and computes the needed probability to assess the truth value of the formula. MC4CSLTA is written in C++, and is publicly available for the research community. 1. Major functionalities CSLTA is a stochastic logic for continuous Markov chains (CTMCs) that has been defined in [5]. CSLTA is characterized by the possibility of specifying path formulas through a single-clock Deterministic Timed Automata (DTA). If λ ∈ [0, 1] is a probability, p ∈ AP an atomic proposition and . / ∈ {≤, <,>,≥} a comparison operator, a CSLTA state formula Φ is defined by: Φ ::= p | ¬Φ | Φ ∧ Φ | S. /λ(Φ) | P./λ(A) where A is a single-clock Deterministic Timed Automata. Model checking of CSLTA is the same as for CSL [4], but for the case of P./λ(A). The model checking procedure for P./λ(A), defined in [5], requires the construction of a non-ergodic Markov Regenerative Process[6] called the “synchronized product”M×A of the CTMCM and of the DTA A, and its solution in steady state. In a recent paper [3] we have shown how the CSLTA model checking problem for P./λ(A) can be reduced to the steady state solution of a Deterministic Stochastic Petri Nets (DSPN). The work in [3] describes how the DSPN can be built starting from a CTMC M and a DTA A. This demo tool presentation describes MC4CSLTA, the tool that we have built upon the ideas described in [3]. The tool implements the translation into DSPN and its solution, as well as the chain of translation required for nested formulas. The tool is a single-line command tool invoked by: CslTA-Solver.exe model.cslta where model.cslta is a file that contains the CTMCM, the DTA A, and one or more evaluation commands. A user guide is included in the distribution, and therefore we give here only the most salient features of the tool. The CTMC M is specified in a simple textual form, which includes the possibility of defining rate parameters and parametric action names for transitions, to allow a simple way to verify formulas for different set of CTMC parameters. Transition rates can be both rate parameters or simple arithmetic expressions involving rate parameters. The CTMC can be also produced automatically (again with a simple line command) from higher level models defined using either the tool PRISM or GreatSPN to produce a text file to be included in our model.cslta input file. The DTA A is specified in textual form, with the peculiarity that DTA can be parametric in the set of time constants, in the set of propositions to be associated with locations, and in the set of action names to be associated with edges. At evaluation time a parametric DTA needs to be instantiated by providing an adequate set of parameters. This feature greatly enhances re-use (for example a simple DTA of a classical CSL Until formula can be re-used for any Until formula that we may want to check). It is assumed that time constants are given in a list that will be instantiated on an increasing set of values. Evaluation commands take the form given below: RESULT r = EVAL(Model, s0 |= PROB_TA < 0.1 (Until[ 10, 50 | | NOT waiting, waiting])