258 research outputs found

    Bounded LTL Model Checking with Stable Models

    Full text link
    In this paper bounded model checking of asynchronous concurrent systems is introduced as a promising application area for answer set programming. As the model of asynchronous systems a generalisation of communicating automata, 1-safe Petri nets, are used. It is shown how a 1-safe Petri net and a requirement on the behaviour of the net can be translated into a logic program such that the bounded model checking problem for the net can be solved by computing stable models of the corresponding program. The use of the stable model semantics leads to compact encodings of bounded reachability and deadlock detection tasks as well as the more general problem of bounded model checking of linear temporal logic. Correctness proofs of the devised translations are given, and some experimental results using the translation and the Smodels system are presented.Comment: 32 pages, to appear in Theory and Practice of Logic Programmin

    Model-based dependability analysis : state-of-the-art, challenges and future outlook

    Get PDF
    Abstract: Over the past two decades, the study of model-based dependability analysis has gathered significant research interest. Different approaches have been developed to automate and address various limitations of classical dependability techniques to contend with the increasing complexity and challenges of modern safety-critical system. Two leading paradigms have emerged, one which constructs predictive system failure models from component failure models compositionally using the topology of the system. The other utilizes design models - typically state automata - to explore system behaviour through fault injection. This paper reviews a number of prominent techniques under these two paradigms, and provides an insight into their working mechanism, applicability, strengths and challenges, as well as recent developments within these fields. We also discuss the emerging trends on integrated approaches and advanced analysis capabilities. Lastly, we outline the future outlook for model-based dependability analysis

    Automated Mapping of UML Activity Diagrams to Formal Specifications for Supporting Containment Checking

    Full text link
    Business analysts and domain experts are often sketching the behaviors of a software system using high-level models that are technology- and platform-independent. The developers will refine and enrich these high-level models with technical details. As a consequence, the refined models can deviate from the original models over time, especially when the two kinds of models evolve independently. In this context, we focus on behavior models; that is, we aim to ensure that the refined, low-level behavior models conform to the corresponding high-level behavior models. Based on existing formal verification techniques, we propose containment checking as a means to assess whether the system's behaviors described by the low-level models satisfy what has been specified in the high-level counterparts. One of the major obstacles is how to lessen the burden of creating formal specifications of the behavior models as well as consistency constraints, which is a tedious and error-prone task when done manually. Our approach presented in this paper aims at alleviating the aforementioned challenges by considering the behavior models as verification inputs and devising automated mappings of behavior models onto formal properties and descriptions that can be directly used by model checkers. We discuss various challenges in our approach and show the applicability of our approach in illustrative scenarios.Comment: In Proceedings FESCA 2014, arXiv:1404.043

    Modular Verification of Biological Systems

    Get PDF
    Systems of interest in systems biology (such as metabolic pathways, signalling pathways and gene regulatory networks) often consist of a huge number of components interacting in different ways, thus exhibiting very complex behaviours. In biology, such behaviours are usually explored by means of simulation techniques applied to models defined on the basis of system observation and of hypotheses on its functioning. Model checking has also been recently applied to the analysis of biological systems. This analysis technique typically relies on a state space representation whose size, unfortunately, makes the analysis often intractable for realistic models. A method for trying to avoid the state space explosion problem is to consider a decomposition of the system, and to apply a modular verification technique. In particular, properties to be verified often concern only a small portion of the modelled system rather than the system as a whole. Hence, for each property it would be useful to be able to isolate a minimal fragment of the model that is necessary to verify such a property. In this thesis we introduce a modular verification technique in which the system of interest is described by means of an automata-based formalism, called sync-programs, that supports modular construction. Our modular verification technique is based on results of Grumberg et al.~and on their application to the theory of concurrent systems proposed by Attie and Emerson. In particular, we adapt Attie and Emerson's approach to deal with biological systems by allowing automata to synchronise by performing transitions simultaneously. Modular verification allows qualitative aspects of systems to be analysed with the guarantee that properties proved to hold in a suitable model fragment also hold in the whole model. The correctness of the verification technique is proved. The class of properties preserved is ACTL^{-}, the universal fragment of temporal logic CTL. The preservation holds only for positive answers and negative answers are not necessarily preserved. In order to verify properties we use the NuSMV model checker, which is a well-established and efficient instrument. We provide a formal translation of sync-programs to simpler automata, which can be given as input to NuSMV. We prove the correspondence of the verification problems. We show the application of our verification technique in some biological case studies. We compare the time required to verify the property on the whole model with the time needed to verify the same property by only considering those modules which are involved in the behaviour of the system related to the property. In order to handle modelling and verification of more realistic biological scenarios, we propose also a dynamic version of our formalism. It allows entities to be created dynamically, in particular by other already running entities, as it often happens in biological systems. Moreover, multiple copies of the same entities can be present at the same time in a system. We show a correspondence of our model with Petri Nets. This has a consequence that tools developed for Petri Nets could be used also for dynamic sync-programs. Modular verification allows properties expressed as DACTL- formulae (dynamic version of ACTL-) to be verified on a portion of the model. The results of analysis of the case study of the MAP kinase cascade activated by surface and internalised EGF receptors, which consists of 143 species and 80 reactions, suggest applicability and scalability of the approach. The results raise the prospect of rendering tractable problems that are currently intractable in the verification of biological systems. In addition, we expect that the techniques developed in the thesis could be applied with profit not only to models of biological systems, but more generally to models of concurrent systems

    Control Interpreted Petri Nets - Model Checking and Synthesis

    Get PDF

    Symbolic Reachability Analysis of B through ProB and LTSmin

    Get PDF
    We present a symbolic reachability analysis approach for B that can provide a significant speedup over traditional explicit state model checking. The symbolic analysis is implemented by linking ProB to LTSmin, a high-performance language independent model checker. The link is achieved via LTSmin's PINS interface, allowing ProB to benefit from LTSmin's analysis algorithms, while only writing a few hundred lines of glue-code, along with a bridge between ProB and C using ZeroMQ. ProB supports model checking of several formal specification languages such as B, Event-B, Z and TLA. Our experiments are based on a wide variety of B-Method and Event-B models to demonstrate the efficiency of the new link. Among the tested categories are state space generation and deadlock detection; but action detection and invariant checking are also feasible in principle. In many cases we observe speedups of several orders of magnitude. We also compare the results with other approaches for improving model checking, such as partial order reduction or symmetry reduction. We thus provide a new scalable, symbolic analysis algorithm for the B-Method and Event-B, along with a platform to integrate other model checking improvements via LTSmin in the future
    corecore