Compositionality in State Space Verification Methods

The purpose of this article is to introduce the concepts and ideas that are necessary for understanding computerised process-algebraic compositional verification. Furthermore, by describing two recent case studies an attempt is made to demonstrate the power of the compositional approach and to describe some advanced ways of using the basic techniques. The case studies are given first so that the basic concepts may be introduced in an informal manner. Then the article attempts to elucidate the process-algebraic way of modelling systems and their behaviours. The idea of compositionality is explained. The most important process-algebraic semantic models are described in detail and related to each other, paying special emphasis on algorithmic issues. The representation is at the semantic and state space level; process-algebraic languages are not discussed. Therefore, the techniques presented should be immediately applicable to a wide range of formalisms that can be given semantics in terms of state spaces and transition occurrences.

[1]  Jean-Claude Fernandez,et al.  An Implementation of an Efficient Algorithm for Bisimulation Equivalence , 1990, Sci. Comput. Program..

[2]  C. A. R. Hoare,et al.  A Theory of Communicating Sequential Processes , 1984, JACM.

[3]  Rocco De Nicola,et al.  Three logics for branching bisimulation , 1995, JACM.

[4]  A. W. Roscoe,et al.  An Improved Failures Model for Communicating Processes , 1984, Seminar on Concurrency.

[5]  P. Darondeau,et al.  Infinitary behaviours and infinitary observations , 1990 .

[6]  Antti Valmari,et al.  Putting Advanced Reachability Analysis Techniques Together: the "ARA" Tool , 1993, FME.

[7]  Antti Valmari,et al.  Compositional State Space Generation , 1991, Applications and Theory of Petri Nets.

[8]  Jan A. Bergstra,et al.  Failures without chaos: a new process semantics for fair abstraction , 1987, Formal Description of Programming Concepts.

[9]  Martti Tienari,et al.  An Improved Failures Equivalence for Finite-State Systems with a Reduction Algorithm , 1991, Protocol Specification, Testing and Verification.

[10]  Rob J. van Glabbeek,et al.  Branching Time and Abstraction in Bisimulation Semantics (Extended Abstract) , 1989, IFIP Congress.

[11]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[12]  Shing-Chi Cheung,et al.  Enhancing compositional reachability analysis with context constraints , 1993, SIGSOFT '93.

[13]  Jan A. Bergstra,et al.  Process theory based on bisimulation semantics , 1988, REX Workshop.

[14]  R. J. van Glabbeek,et al.  Comparative Concurrency Semantics and Refinement of Actions , 1996 .

[15]  Rance Cleaveland,et al.  Testing Equivalence as a Bisimulation Equivalence , 1989, Automatic Verification Methods for Finite State Systems.

[16]  D. Brand,et al.  Verification of HDLC , 1982, IEEE Trans. Commun..

[17]  E. Allen Emerson,et al.  Temporal and Modal Logic , 1991, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.

[18]  Pierre Wolper,et al.  Expressing interesting properties of programs in propositional temporal logic , 1986, POPL '86.

[19]  Matthew Hennessy,et al.  Acceptance trees , 1985, JACM.

[20]  Jan Friso Groote,et al.  An Efficient Algorithm for Branching Bisimulation and Stuttering Equivalence , 1990, ICALP.

[21]  Zohar Manna,et al.  The Temporal Logic of Reactive and Concurrent Systems , 1991, Springer New York.

[22]  Keith A. Bartlett,et al.  A note on reliable full-duplex transmission over half-duplex links , 1969, Commun. ACM.

[23]  Ernst-Rüdiger Olderog,et al.  Failures without chaos : a new process model for fair abstraction , 1987 .

[24]  David Park,et al.  Concurrency and Automata on Infinite Sequences , 1981, Theoretical Computer Science.

[25]  Paola Inverardi,et al.  Evaluation of Tools for the Analysis of Communicating Systems , 1991, Bull. EATCS.

[26]  Wojciech Penczek,et al.  A partial order approach to branching time logic model checking , 1995, Proceedings Third Israel Symposium on the Theory of Computing and Systems.

[27]  Andrew William Roscoe,et al.  Model-checking CSP , 1994 .

[28]  Scott A. Smolka,et al.  Fundamental Results for the Verification of Observational Equivalence: A Survey , 1987, PSTV.

[29]  Rob J. van Glabbeek,et al.  The Linear Time - Branching Time Spectrum II , 1993, CONCUR.

[30]  Antti Valmari,et al.  Visual Verification of Safety and Liveness , 1996, FME.

[31]  Scott A. Smolka,et al.  CCS expressions, finite state processes, and three problems of equivalence , 1983, PODC '83.

[32]  Antti Valmari,et al.  On-the-Fly Verification with Stubborn Sets , 1993, CAV.

[33]  David S. Johnson,et al.  Computers and Intractability: A Guide to the Theory of NP-Completeness , 1978 .

[34]  Antti Valmari,et al.  The Weakest Compositional Semantic Equivalence Preserving Nexttime-less Linear temporal Logic , 1992, CONCUR.

[35]  Tommaso Bolognesi,et al.  Tableau methods to describe strong bisimilarity on LOTOS processes involving pure interleaving and enabling , 1994, FORTE.

[36]  Eric Madelaine,et al.  AUTO: A Verification Tool for Distributed Systems Using Reduction of Finite Automata Networks , 1989, FORTE.

[37]  Antti Valmari,et al.  Compositional Analysis with Place-Bordered Subnets , 1994, Application and Theory of Petri Nets.

[38]  Vic Stenning,et al.  A Data Transfer Protocol , 1976, Comput. Networks.

[39]  Antti Valmari,et al.  The Weakest Deadlock-Preserving Congruence , 1995, Inf. Process. Lett..

[40]  Krishan K. Sabnani,et al.  An algorithmic procedure for checking safety properties of protocols , 1989, IEEE Trans. Commun..

[41]  Antti Valmari Failure-based Equivalences Are Faster Than Many Believe , 1995, STRICT.

[42]  Antti Valmari,et al.  Visualisation of reduced abstracted behaviour as a design tool , 1996, Proceedings of 4th Euromicro Workshop on Parallel and Distributed Processing.

[43]  Jaana Eloranta,et al.  Minimizing the number of transitions with respect to observation equivalence , 1991, BIT.

[44]  Stephen D. Brookes,et al.  Behavioural Equivalence Relations Induced by Programming Logics , 1983, ICALP.

[45]  Rance Cleaveland,et al.  The Concurrency Workbench , 1990, Automatic Verification Methods for Finite State Systems.

[46]  Joseph Sifakis,et al.  Verification in XESAR of the Sliding Window Protocol , 1987, PSTV.

[47]  Pierre Wolper,et al.  An Automata-Theoretic Approach to Automatic Program Verification (Preliminary Report) , 1986, LICS.

[48]  Robin Milner,et al.  Communication and concurrency , 1989, PHI Series in computer science.