Behavioral verification of distributed concurrent systems with BOBJ

Following a brief introduction to classical and behavioral algebraic specification, this paper discusses the verification of behavioral properties using BOBJ, especially its implementation of conditional circular coinductive rewriting with case analysis. This formal method is then applied to proving correctness of the alternating bit protocol, in one of its less trivial versions. We have tried to minimize mathematics in the exposition, in part by giving concrete illustrations using the BOBJ system.

[1]  Grigore Rosu,et al.  Circular Coinduction , 2000 .

[2]  Joseph A. Goguen,et al.  Institutions: abstract model theory for specification and programming , 1992, JACM.

[3]  Hartmut Ehrig,et al.  Fundamentals of Algebraic Specification 1: Equations and Initial Semantics , 1985 .

[4]  Joseph A. Goguen,et al.  Principles of parameterized programming , 1989 .

[5]  G. Malcolm,et al.  Behavioral Correctness Proofs for Objects , 1999 .

[6]  Grigore Rosu,et al.  Behavioral and Coinductive Rewriting , 2000, WRLA.

[7]  Rolf Hennicker,et al.  Context Induction: a Proof Principle for Behavioural Abstractions , 1990, DISCO.

[8]  Grigore Rosu,et al.  Hidden Congruent Deduction , 1998, FTP.

[9]  Joseph A. Goguen,et al.  Types as theories , 1991 .

[10]  B. Jacobs,et al.  A tutorial on (co)algebras and (co)induction , 1997 .

[11]  Kai Lin,et al.  Machine support for behavioral algebraic specification and verification , 2003 .

[12]  Samuel R. Buss,et al.  Incompleteness of Behavioral Logics , 2000, CMCS.

[13]  Joseph A. Goguen,et al.  Web-Based Support for Cooperative Software Engineering , 2001, Ann. Softw. Eng..

[14]  Razvan Diaconescu,et al.  Cafeobj Report - The Language, Proof Techniques, and Methodologies for Object-Oriented Algebraic Specification , 1998, AMAST Series in Computing.

[15]  Grigore Rosu,et al.  Circular coinductive rewriting , 2000, Proceedings ASE 2000. Fifteenth IEEE International Conference on Automated Software Engineering.

[16]  Robin Milner,et al.  A Calculus of Communicating Systems , 1980, Lecture Notes in Computer Science.

[17]  Joseph A. Goguen,et al.  A hidden agenda , 2000, Theor. Comput. Sci..

[18]  Tobias Nipkow,et al.  Term rewriting and all that , 1998 .

[19]  José Meseguer,et al.  Order-Sorted Algebra I: Equational Deduction for Multiple Inheritance, Overloading, Exceptions and Partial Operations , 1992, Theor. Comput. Sci..

[20]  Michaël Rusinowitch,et al.  Observational Proofs with Critical Contexts , 1998, FASE.

[21]  Joseph A. Goguen,et al.  Towards an Algebraic Semantics for the Object Paradigm , 1992, COMPASS/ADT.

[22]  Razvan Diaconescu,et al.  Behavioural Coherence in Object-Oriented Algebraic Specification , 2000, J. Univers. Comput. Sci..

[23]  Barry W. Boehm,et al.  Software Engineering Economics , 1993, IEEE Transactions on Software Engineering.

[24]  Robert S. Boyer,et al.  The Correctness Problem in Computer Science , 1982 .

[25]  Joseph A. Goguen,et al.  Software Engineering with Obj: Algebraic Specification In Action , 2010 .

[26]  Michel Bidoit,et al.  Observational Logic , 1998, AMAST.

[27]  Journal of the Association for Computing Machinery , 1961, Nature.

[28]  Grigore Rosu,et al.  A protocol for distributed cooperative work , 1999, Electron. Notes Theor. Comput. Sci..

[29]  Grigore Rosu,et al.  Hiding More of Hidden Algebra , 1999, World Congress on Formal Methods.

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

[31]  José Meseguer,et al.  Initiality, induction, and computability , 1986 .