2 research outputs found

    Behavioral Equivalences

    Get PDF
    Beahvioral equivalences serve to establish in which cases two reactive (possible concurrent) systems offer similar interaction capabilities relatively to other systems representing their operating environment. Behavioral equivalences have been mainly developed in the context of process algebras, mathematically rigorous languages that have been used for describing and verifying properties of concurrent communicating systems. By relying on the so called structural operational semantics (SOS), labelled transition systems, are associated to each term of a process algebra. Behavioral equivalences are used to abstract from unwanted details and identify those labelled transition systems that react “similarly” to external experiments. Due to the large number of properties which may be relevant in the analysis of concurrent systems, many different theories of equivalences have been proposed in the literature. The main contenders consider those systems equivalent that (i) perform the same sequences of actions, or (ii) perform the same sequences of actions and after each sequence are ready to accept the same sets of actions, or (iii) perform the same sequences of actions and after each sequence exhibit, recursively, the same behavior. This approach leads to many different equivalences that preserve significantly different properties of systems

    Local and Symbolic Bisimulation using Tabled Constraint Logic Programming

    No full text
    Bisimulation is a fundamental notion that characterizes behavioral equivalence of concurrent systems. In this paper, we study the problem of encoding efficient bisimulation checkers for finite- as well as infinite-state systems as logic programs. We begin with a straightforward and short (less than 10 lines) encoding of finite-state bisimulation checker as a tabled logic program. In a goal-directed system like XSB, this encoding yields a local bisimulation checker: one where state space exploration is done only until a dissimilarity is revealed. Local checking can often outperform the traditional global checking by several orders of magnitude even for finite-state systems, as our experimental results show. Surprisingly, even when the systems are equivalent where the entire state space may need to be explored, the performance of our local checker is comparable to hand-coded equivalence checking algorithms implemented in other verification tools. More importantly, the logic programming formulation of local bisimulation can be extended to do symbolic bisimulation for checking the equivalence of infinite-state concurrent systems represented by symbolic transition systems. We show how the two variants of symbolic bisimulation (late and early equivalences) can be formulated as a tabled constraint logic program in a way that precisely brings out their differences. We use a a constraint meta-interpreter over disequality constraints that evaluates tabled constraint logic programs to support the symbolic bisimulation checker. We present experimental results to illustrate the practical efficacy of our logic programming based symbolic bisimulation checker. Finally, we show that our symbolic bisimulation checker, despite the overheads imposed by the constraint meta-interpreter..
    corecore