36 research outputs found
Bisimulation minimisations for Boolean equation systems
Boolean equation systems (BESs) have been used to encode several complex verification problems, including model checking and equivalence checking. We introduce the concepts of strong bisimulation and oblivious bisimulation for BESs, and we prove that these can be used for minimising BESs prior to solving these. Our results show that large reductions of the BESs may be obtained efficiently. Minimisation is rewarding for BESs with non-trivial alternations: the time required for solving the original BES exceeds the time required for quotienting plus the time for solving the quotient. Furthermore, we provide a verification example that demonstrates that bisimulation minimisation of a process prior to encoding the verification problem on that process as a BES can be arbitrarily less effective than minimising the BES that encodes the verification problem
Bisimulation minimisations for boolean equation systems
Abstract. Boolean equation systems (BESs) have been used to encode several complex verification problems, including model checking and equivalence checking. We introduce the concepts of strong bisimulation and idempotence-identifying bisimulation for BESs, and we prove that these can be used for minimising BESs prior to solving these. Our results show that large reductions of the BESs may be obtained efficiently. Minimisation is rewarding for BESs with non-trivial alternations: the time required for solving the original BES mostly exceeds the time required for quotienting plus the time for solving the quotient. Furthermore, we provide a verification example that demonstrates that bisimulation minimisation of a process prior to encoding the verification problem on that process as a BES can be arbitrarily less effective than minimising the BES that encodes the verification problem
Analysis of Boolean Equation Systems through Structure Graphs
We analyse the problem of solving Boolean equation systems through the use of
structure graphs. The latter are obtained through an elegant set of
Plotkin-style deduction rules. Our main contribution is that we show that
equation systems with bisimilar structure graphs have the same solution. We
show that our work conservatively extends earlier work, conducted by Keiren and
Willemse, in which dependency graphs were used to analyse a subclass of Boolean
equation systems, viz., equation systems in standard recursive form. We
illustrate our approach by a small example, demonstrating the effect of
simplifying an equation system through minimisation of its structure graph
Structural Analysis of Boolean Equation Systems
We analyse the problem of solving Boolean equation systems through the use of
structure graphs. The latter are obtained through an elegant set of
Plotkin-style deduction rules. Our main contribution is that we show that
equation systems with bisimilar structure graphs have the same solution. We
show that our work conservatively extends earlier work, conducted by Keiren and
Willemse, in which dependency graphs were used to analyse a subclass of Boolean
equation systems, viz., equation systems in standard recursive form. We
illustrate our approach by a small example, demonstrating the effect of
simplifying an equation system through minimisation of its structure graph
Benchmarks for Parity Games (extended version)
We propose a benchmark suite for parity games that includes all benchmarks
that have been used in the literature, and make it available online. We give an
overview of the parity games, including a description of how they have been
generated. We also describe structural properties of parity games, and using
these properties we show that our benchmarks are representative. With this work
we provide a starting point for further experimentation with parity games.Comment: The corresponding tool and benchmarks are available from
https://github.com/jkeiren/paritygame-generator. This is an extended version
of the paper that has been accepted for FSEN 201
Prefix orders as a general model of dynamics
In this report we formalize and study the notion of prex order on the executions of general dynamical systems and use basic category theory to show that appropriate structure preserving maps between such orders lead to the well-known notions of bisimulation, renement, product, and union of behavior, without relying on a notion of 'next state'. Thus these notions are generalized to apply to arbitrary dynamical systems, including continuous and hybrid systems
Software engineering : redundancy is key
Software engineers are humans and so they make lots of mistakes. Typically 1 out of 10 to 100 tasks go wrong. The only way to avoid these mistakes is to introduce redundancy in the software engineering process. This article is a plea to consciously introduce several levels of redundancy for each programming task. Depending on the required level of correctness, expressed in a residual error probability (typically 10-3 to 10-10), each programming task must be carried out redundantly 4 to 8 times. This number is hardly influenced by the size of a programming endeavour. Training software engineers does have some effect as non trained software engineers require a double amount of redundant tasks to deliver software of a desired quality. More compact programming, for instance by using domain specific languages, only reduces the number of redundant tasks by a small constant