Extracting FSMs from Object-Z specifications with history invariants

Object-Z with history invariants can present precise and abstract models for complex systems. The system behavior patterns are often implicitly embedded within various state/operational constraints and history invariants. Without explicit system behavior representations, it is difficult to implement those abstract models. In this paper, we present a sound and systematic approach to automatically extract explicit system behaviors (as FSMs) from the abstract Object-Z specifications. Safety and liveness and additional crucial requirements for open systems are ensured.

[1]  Edsger W. Dijkstra,et al.  A Discipline of Programming , 1976 .

[2]  Jim Woodcock,et al.  Using Z - specification, refinement, and proof , 1996, Prentice Hall international series in computer science.

[3]  Alan J. Hu,et al.  Checking for Language Inclusion Using Simulation Preorders , 1991, CAV.

[4]  Joseph Sifakis,et al.  Property preserving abstractions for the verification of concurrent systems , 1995, Formal Methods Syst. Des..

[5]  J. R. Büchi,et al.  Solving sequential conditions by finite-state strategies , 1969 .

[6]  Robert M. Hierons,et al.  Testing from a Z Specification , 1997, Softw. Test. Verification Reliab..

[7]  Shaoying Liu,et al.  Generating test data from state‐based specifications , 2003, Softw. Test. Verification Reliab..

[8]  Shaoying Liu,et al.  Generating test data from SOFL specifications , 1999, J. Syst. Softw..

[9]  W. M. Wonham,et al.  The control of discrete event systems , 1989 .

[10]  Roger Duke,et al.  Formal Object Oriented Specification Using Object-Z , 2000 .

[11]  Leesa Murray,et al.  Formal Derivation of Finite State Machines for Class Testing , 1998, ZUM.

[12]  Jin Song Dong,et al.  A Formal Object Approach to the Design of ZML , 2002, Ann. Softw. Eng..

[13]  Thomas A. Henzinger,et al.  Fair Simulation , 1997, Inf. Comput..

[14]  Amir Pnueli,et al.  Distributed reactive systems are hard to synthesize , 1990, Proceedings [1990] 31st Annual Symposium on Foundations of Computer Science.

[15]  Shaoying Liu,et al.  Semi-automatic transformation from formal specifications to programs , 1996, Proceedings of ICECCS '96: 2nd IEEE International Conference on Engineering of Complex Computer Systems (held jointly with 6th CSESAW and 4th IEEE RTAW).

[16]  Fred Kröger,et al.  Temporal Logic of Programs , 1987, EATCS Monographs on Theoretical Computer Science.

[17]  Alonzo Church,et al.  Logic, arithmetic, and automata , 1962 .

[18]  P. S. Thiagarajan,et al.  A Decidable Class of Asynchronous Distributed Controllers , 2002, CONCUR.

[19]  Graeme Smith,et al.  An object-oriented approach to formal specification , 1992 .

[20]  Graeme Smith,et al.  Proving Temporal Properties of Z Specifications Using Abstraction , 2003, ZB.

[21]  Amir Pnueli,et al.  On the synthesis of a reactive module , 1989, POPL '89.

[22]  Natarajan Shankar,et al.  PVS: A Prototype Verification System , 1992, CADE.

[23]  Roger Duke,et al.  Object-Z: a specification language advocated for the description of standards , 1995 .

[24]  Jeremy Dick,et al.  Automating the Generation and Sequencing of Test Cases from Model-Based Specifications , 1993, FME.

[25]  P. Dangerfield Logic , 1996, Aristotle and the Stoics.

[26]  P. S. Thiagarajan,et al.  Branching time controllers for discrete event systems , 2002, Theor. Comput. Sci..

[27]  Jim Woodcock,et al.  A Weakest Precondition Semantics for Z , 1998, Comput. J..

[28]  Graeme Smith,et al.  The Object-Z Specification Language , 1999, Advances in Formal Methods.

[29]  Fabio Somenzi,et al.  Efficient Büchi Automata from LTL Formulae , 2000, CAV.

[30]  David Harel,et al.  Executable object modeling with statecharts , 1996, Proceedings of IEEE 18th International Conference on Software Engineering.