ISCASMC: A Web-Based Probabilistic Model Checker

Similar documents
Workstation Cluster. AVACS S3 Phase 2. July 28, 2011

PRISM 4.0: Verification of Probabilistic Real-Time Systems

Incremental Runtime Verification of Probabilistic Systems

CONTROLLER DEPENDABILITY ANALYSIS BY PROBABILISTIC MODEL CHECKING. Marta Kwiatkowska, Gethin Norman and David Parker

Verification in Continuous Time Recent Advances

The Hanoi Omega-Automata Format

Parallel Model Checking of ω-automata

A New Generation PEPA Workbench

Modeling, Testing and Executing Reo Connectors with the. Reo, Eclipse Coordination Tools

PRISM An overview. automatic verification of systems with stochastic behaviour e.g. due to unreliability, uncertainty, randomisation,

Probabilistic Model Checking

Probabilistic Model Checking. Mohammad Roohitavaf

Analysis of a Gossip Protocol in PRISM

Verifying Liveness Properties of ML Programs

Model Checking of C and C++ with DIVINE 4

PRISM-games 2.0: A Tool for Multi-Objective Strategy Synthesis for Stochastic Games

PARAM: A Model Checker for Parametric Markov Models

Stochastic Games for Verification of Probabilistic Timed Automata

Software verification for ubiquitous computing

Simplifying Itai-Rodeh Leader Election for Anonymous Rings

With thanks to. Main collaborators on probabilistic model checking

An MTBDD-based Implementation of Forward Reachability for Probabilistic Timed Automata

IMPLEMENTATION OF SYMBOLIC MODEL CHECKING FOR PROBABILISTIC SYSTEMS DAVID ANTHONY PARKER

ALASKA Antichains for Logic, Automata and Symbolic Kripke structures Analysis

The Maude LTL Model Checker and Its Implementation

Probabilistic Model Checking Michaelmas Term Dr. Dave Parker. Department of Computer Science University of Oxford

Offline Monte Carlo Tree Search for Statistical Model Checking of Markov Decision Processes

Offline Monte Carlo Tree Search for Statistical Model Checking of Markov Decision Processes

Reverse Engineering Models from Traces to Validate Distributed Systems An Industrial Case Study

Accelerated Model Checking of Parametric Markov Chains

The Modest Toolset: An Integrated Environment for Quantitative Modelling and Verification

arxiv: v2 [cs.ds] 13 Apr 2018

Monitoring Interfaces for Faults

Distributed Systems Programming (F21DS1) Formal Verification

CLAN: A Tool for Contract Analysis and Conflict Discovery

Under-Approximation Refinement for Timed Automata

PVeStA: A Parallel Statistical Model Checking and Quantitative Analysis Tool

Nondeterministic Query Algorithms

TIMO: Timed Mobility in Distributed Systems

arxiv: v1 [cs.se] 14 Feb 2017

PRISM-games: Verification and Strategy Synthesis for Stochastic Multi-player Games with Multiple Objectives

On Refinement of Büchi Automata for Explicit Model Checking

Modeling and Verification of Connectors in Complex Systems

Grid-enabled Probabilistic Model Checking with PRISM

Context-Switch-Directed Verification in DIVINE

Teaching and Training Formal Methods for Safety Critical Systems

Temporal logic-based decision making and control. Jana Tumova Robotics, Perception, and Learning Department (RPL)

Simulink Design Verifier vs. SPIN a Comparative Case Study

Automated Freedom from Interference Analysis for Automotive Software

Symbolic Automata Library for Fast Prototyping

This is a repository copy of Comparative Analysis of Statistical Model Checking Tools.

Model checking pushdown systems

Simple Stochastic Parity Games

Explicit State Model Checking with Generalized Büchi and Rabin Automata

JANI: Quantitative Model and Tool Interaction

Safra's Büchi determinization algorithm

Software Model Checking: Theory and Practice

Trading Memory for Randomness

Transient Analysis Of Stochastic Petri Nets With Interval Decision Diagrams

A Web Based Registration system for Higher Educational Institutions in Greece: the case of Energy Technology Department-TEI of Athens

Regression Testing for Visual Models

Cover Page. The handle holds various files of this Leiden University dissertation

Specification and Generation of Environment for Model Checking of Software Components *

Model-Checking Concurrent Systems. The Model Checker Spin. The Model Checker Spin. Wolfgang Schreiner

Compiling Probabilistic Model Checking into Probabilistic Planning

Mubug: a mobile service for rapid bug tracking

MIDTERM EXAM (Solutions)

Lecture 2: Symbolic Model Checking With SAT

Model Checking with Automata An Overview

Proseminar. (with Eclipse) Jun.-Prof. Dr.-Ing. Steffen Becker. Model-Driven Software Engineering. Software Engineering Group

BOOSTER: Speeding Up RTL Property Checking of Digital Designs by Word-Level Abstraction

4/6/2011. Model Checking. Encoding test specifications. Model Checking. Encoding test specifications. Model Checking CS 4271

Compiler Construction

Linear-Time Model Checking: Automata Theory in Practice

Chapter 9 Probabilistic Model Checking of SysML Activity Diagrams

The largest professional kids coding academy KODING KINGDOM (HK) LIMITED

Owl: A Library for ω-words, Automata, and LTL

Model-checking with the TimeLine formalism

OpenSMT2: An SMT Solver for Multi-Core and Cloud Computing

Transforming UML Collaborating Statecharts for Verification and Simulation

Lock-sensitive Interference Analysis for Java: Combining Program Dependence Graphs with Dynamic Pushdown Networks

Fault Detection of Reachability Testing with Game Theoretic Approach

A Methodology for On-line Monitoring Non-Functional Specifications of Web-Services

Serial Disk-Based Analysis of Large Stochastic Models

An Eclipse-based Integrated Environment for Developing Executable Structural Operational Semantics Specifications

Ufo: A Framework for Abstraction- and Interpolation-Based Software Verification

Model-Checking Concurrent Systems

FedX: A Federation Layer for Distributed Query Processing on Linked Open Data

Syntactic Optimizations for PSL Verification

Scenario Graphs Applied to Security (Summary Paper)

Improving Parallel State-Space Exploration Using Genetic Algorithms

Formal Verification of 800 Genetically Constructed Automata Programs: A Case Study

ProPed. Tool for Symbolic Verification of Probablistic Recursive Programs. University of Missouri Columbia, Missouri, USA

Programming Embedded Systems

Research Article Optimization of Access Threshold for Cognitive Radio Networks with Prioritized Secondary Users

A Type Graph Model for Java Programs

FAdo: Interactive Tools for Learning Formal Computational Models

Dynamic Logic David Harel, The Weizmann Institute Dexter Kozen, Cornell University Jerzy Tiuryn, University of Warsaw The MIT Press, Cambridge, Massac

Improved BDD-based Discrete Analysis of Timed Systems

Computer aided verification

Transcription:

ISCASMC: A Web-Based Probabilistic Model Checker Ernst Moritz Hahn 1, Yi Li 2, Sven Schewe 3, Andrea Turrini 1, and Lijun Zhang 1 1 State Key Laboratory of Computer Science, Institute of Software, Chinese Academy of Sciences 2 LMAM & Department of Information Science, School of Math. Sciences, Peking University 3 Department of Computer Science, University of Liverpool Abstract. We introduce the web-based model checker ISCASMC for probabilistic systems (see http://iscasmc.ios.ac.cn/iscasmc). This Java application offers an easy-to-use web interface for the evaluation of Markov chains and decision processes against PCTL and PCTL specifications. Compared to PRISM or MRMC, ISCASMC is particularly efficient in evaluating the probabilities of LTL properties. 1 Introduction Markov decision processes (MDP) are widely used to model and analyse systems that exhibit both probabilistic and nondeterministic choices. To reason about such systems, one often specifies properties in the popular probabilistic temporal logics PCTL, PLTL, or PCTL [2]. While PCTL is more expressive, it suffers from a higher complexity compared to PCTL [4]: model checking MDPs against PCTL specifications is linear, but against PCTL specifications is 2EXPTIME complete, and the doubly exponential cost is usually incurred through the translation of the LTL fragments to deterministic automata. Several probabilistic model checkers have been developed for verifying Markov chains and MDPs. The state-of-the-art probabilistic model checker PRISM [10] supports both PCTL and PCTL. Another model checker MRMC [8] is predominantly used for model checking PCTL properties with reward extensions. On the other side, LIQUOR [3] is a probabilistic model checker for PLTL properties. In this paper, we present a new model checker for probabilistic models, called IS- CASMC. ISCASMC supports Markov chains and MDPs, and properties specified in PCTL. It implements the efficient heuristics in [7] particularly tuned to handle linear time properties. ISCASMC is written in Java, while including a few off-the-shelf components like SPOT [5] on the server side. The web interface on the client side is written in HTML and JavaScript, such that ISCASMC enjoys full portability: it can be run from any machine with internet access and a browser, be it a laptop or a mobile phone. In the web interface, one can easily import or create examples, analyse it and track the s. The computation is performed on the server, thus making the evaluation of Markov chains and MDPs very easy and readily available. The main features of the tool include modularity, support of linear time properties, and specification of linear time properties using pattern formulas. Supported by the National Natural Science Foundation of China (NSFC) under grant No. 61361136002, 61350110518, 61202069, the Chinese Academy of Sciences Fellowship for International Young Scientists (Grant No. 2013Y1GB0006), Research Fund for the Doctoral Program of Higher Education of China (Grant No. 20120001120103), and Engineering and Physical Science Research Council (EPSRC) through the grant EP/H046623/1.

backend main engine work task DBMS module collector limit data store task completed w 1... w n database engine high-level description SPOT formula DBMS module tasks editor messages model property frontend / web interface options parser/options interface parser options model checker model product automaton engine user Fig. 1. Architecture of ISCASMC. Outline. We describe the architecture and usage of the tool in Section 2. The main features of ISCASMC are given in Section 3, and Section 4 concludes the paper. 2 Architecture and Usage The architecture and components of ISCASMC are depicted in Figure 1. It has three main components: the frontend web interface, the backend for handling requests from the frontend, and the model checker engine. A database engine is used to store information. We describe these components in detail. 2.1 The Frontend Web Interface The frontend allows for logging into the system, either as a guest or as a registered user. Guest users can experiment with most of the features of the tool, but they have limited resources, for instance small timeout values. After logging into the system, it offers several views, including: Message Centre. The message centre provides the user recent news. Particularly, one can post messages, send models to other users as well as receive models shared by other users. Model Centre. The model management centre lists available models, their type (currently only PRISM models are supported), comments, options, last updated snapshot and all available operations for the model. From the menu above one can also upload or create new models. The properties are associated to models. For each model, one can create and analyse these properties. Currently, ISCASMC supports Markov chains and MDPs and properties in PCTL. Once one clicks on one of the models in the list, one enters the editing page. 2

In the editing page, models can be edited, and properties can be added, modified, or removed. A model may have more than one associated properties. Task Centre. In the model centre, the user can choose to check selected properties or all properties. This is referred to as a task. Note that a task is created as a snapshot of the current model, (selected) properties and options. This allows the user to modify the model/properties and submit several tasks without having to wait for the termination of the previous submitted tasks. The task, together with the corresponding options, will be sent to the server side to be handled. In the task centre, one can find a list of all submitted tasks from the user. For each task, one can track the current status, find the final s once available, see the complete log generated by the model checker, or remove the task. Option Centre. From the option centre the user can set the user level options. Moreover, for each model to be analysed, one may modify certain options and get model level options. The model level options have higher priority and will overwrite user level options. Example Centre. From the example centre, the user can directly import several examples together with associated properties into her own account. The Interface. While the frontend does not play a role in the evaluation of the model, it includes a fast syntax check that allows for checking the syntactical correctness of the model while interacting with the editor. As shown in Figure 1, the parser and the options interface are shared between the model checker and the frontend. The part available to the frontend is a stand-alone program (on the server side) that makes use of only a small part of the classes in the model checker engine. This lightweight version is only used for checking the syntactical correctness of models from the client side, while the full version on the model checker site also constructs the respective models and automata. These syntactical correctness checks are simple and can thus be done efficiently on-demand, bypassing the scheduling queue. 2.2 The Database The database, powered by MySQL TM, contains all information needed to elaborate the models: besides the user details, it stores the models and the relative properties defined by the user, as well as the tasks the user creates by requiring an operation on the model. Each task is created by the frontend DBMS module as snapshot of the model and the corresponding properties and options, such that it is not affected by subsequent changes. Once a task is completed, it is updated by the backend DBMS module with the evaluation of the properties (or with an error message), according to the model checker outcome. The tasks are kept until the user explicitly removes them via the task centre. 2.3 The Backend The main job of the backend is to poll tasks from the database and evaluate them. It currently adopts a FIFO approach to retrieve the tasks from the DBMS module. These tasks are then sent to several instances of ISCASMC that run in parallel in independent worker s w 1,..., w n. Once a worker w i completes her task, she sends the outcome to the data store, whose main jobs are to keep track of busy workers and to collect the s. Since the evaluation of a task may take some time, the worker periodically sends status updates to the data store. The collector retrieves the available s from the data store and forwards them to the database via the backend DBMS module. 3

2.4 The Model Checker Engine The model checker is the working horse of the system. Each work will parse and translate the model and the specification it is going to be checked against. For complex LTL subformulas (that is, for each linear part ϕ of PCTL outside of the simple PCTL operators), we first use SPOT [5] to generate the generalised Büchi automaton. Unless this is already deterministic, we then use the layered approach from [7], which uses first subset constructions (with an over- and underapproximation of the acceptance condition), and subsequently refines them (where necessary) first to a breakpoint construction (again with an over- and underapproximation of the acceptance condition) and then to the deterministic Rabin automata [11]. The product of the automaton and model is an MDP equipped with accepting conditions. These accepting conditions are used to identify accepting states in the product, after which the problem reduces to a probabilistic reachability problem for MDPs. The reachability problem is a central problem in probabilistic model checking, and is well studied, see [1] for a survey. One can apply value iteration or policy iteration to solve it. Currently, ISCASMC uses a value iteration approach based on Gauss-Seidel or Jacobi method. After the evaluation, it returns the s to the backend. 3 Main Features ISCASMC supports models and properties described in the PRISM input language. A nice feature of ISCASMC is that it provides a plain web interface that allows users to easily try the probabilistic model checker. Since the computation is performed on the server side, the user can conduct her experiments using computers, but also smart phones and any device with a browser and internet access. Besides its performance, the main features of ISCASMC are modularity and the handling of linear time properties. Modularity. The three main components of ISCASMC are essentially independent of each other. This allows for distributing the computation, i.e., it allows for centring the power-hungry evaluation on powerful servers, while using simple machines like smartphones for the initiation and control of the experiments. Pattern formulas. ISCASMC provides pattern formula specifications. This allows one to easily add and check PLTL properties based on the absence and response LTL patterns proposed in [6] by simply choosing basic events among existing labels in the model or by writing her own events. All occurrences of the same event identifier are automatically replaced by actual content. Error tracking. ISCASMC being a web-based tool, we are able to keep track of all internal assertion failures and runtime errors which occur during any model checking run. This way, we are able to reproduce the according bug and thus can quickly fix the problem. Comparison Platform. ISCASMC can be easily extended for providing a comparing platform for off-the-shelf probabilistic model checkers. We shall leave it as our future work. Linear time properties. Comparing to existing model checkers such as PRISM, MRMC, and LIQUOR, ISCASMC builds on efficient heuristics in [7] tailored to linear time properties. Example 1. In Table 1, we consider a variant of the quasi birth-death process described in [9] together with some example properties. For each of the properties, we compare 4

ISCASMC PRISM property time (s) prod. states autom. states type time (s) prod. states autom. states propu 1 805 2 subset 24 808 12 propgf 1 825 6 breakp. 365 825 77775 propgf 1 1634 8 rabin 34 823 4110 Table 1. Quasi birth-death process. The example and properties can be loaded on the webpage. performance s of ISCASMC and PRISM. For both tools we provide the total runtime in seconds, the number of states of the property automaton constructed for the analysis, and the size of the product of this automaton with the model. For ISCASMC, we also state with which method from [7] (subset, breakpoint, or Rabin construction) the property can be decided. For this set of properties, ISCASMC terminated considerably faster. The reason is that the time required to construct the complete Rabin determinisation is very high. The approach in [7] completely avoids this construction for the first two properties. In the third one, it employs an on-the-fly implementation of the state-of-the-art Rabin determinisation algorithm [11]. We can therefore restrict the use of the full Rabin construction to refining those parts of the product, where this is required for deciding the respective property. 4 Future Work We plan to extend ISCASMC to support more model types such as continuous-time Markov decision processes and Markov games, recursive Markov chains and quantum Markov chains. On the property side, we plan to incorporate more general properties such as reward properties and ω-regular languages. To allow handling larger models, we plan to extend our implementation to use symbolic rather than explicit-state methods. References 1. Baier, C., Katoen, J.P.: Principles of Model Checking. MIT Press (2008) 2. Bianco, A., de Alfaro, L.: Model checking of probabalistic and nondeterministic systems. In: FSTTCS. LNCS, vol. 1026, pp. 499 513. Springer (1995) 3. Ciesinski, F., Baier, C.: LiQuor: A tool for qualitative and quantitative linear time analysis of reactive systems. In: QEST. pp. 131 132 (2006) 4. Courcoubetis, C., Yannakakis, M.: The complexity of probabilistic verification. JACM 42(4), 857 907 (1995) 5. Duret-Lutz, A.: LTL translation improvements in SPOT. In: VECoS. pp. 72 83. BCS (2011) 6. Dwyer, M.B., Avrunin, G.S., Corbett, J.C.: Property specification patterns for finite-state verification. In: FMSP. pp. 7 15 (1998) 7. Hahn, E.M., Li, G., Schewe, S., Zhang, L.: Lazy determinisation for quantitative model checking (2013), arxiv:1311.2928 8. Katoen, J.P., Khattri, M., Zapreev, I.S.: A Markov reward model checker. In: QEST. pp. 243 244 (2005) 9. Katoen, J.P., Klink, D., Leucker, M., Wolf, V.: Three-valued abstraction for continuous-time Markov chains. In: CAV. pp. 311 324 (2007) 10. Kwiatkowska, M.Z., Norman, G., Parker, D.: PRISM 4.0: Verification of probabilistic realtime systems. In: CAV. LNCS, vol. 6806, pp. 585 591 (2011) 11. Schewe, S., Varghese, T.: Tight bounds for the determinisation and complementation of generalised Büchi automata. In: ATVA. LNCS, vol. 7561, pp. 42 56. Springer (2012) 5