This paper deals with the use of two verification approaches : theorem proving and model checking. We focus on the event B method by using its associated theorem proving tool (Click n Prove), and on the language TLA + by using its model checker TLC. By considering the limitation of the event B method to invariance properties, we propose to apply the language TLA + to verify liveness properties on a software behavior. We extend first of all the expressivity of a B model (called temporal B model) to deal with the specification of fairness and eventuality properties. Second, we give transformation rules from a temporal B model into a TLA + module. We present in particular, our prototype system called B2TLA + , that we have developed to support this transformation. Finally, we verify these properties thanks to the TLC model checker.
[1]
Jean-Raymond Abrial.
B#: Toward a Synthesis between Z and B
,
2003,
ZB.
[2]
Dominique Cansell,et al.
Diagram Refinements for the Design of Reactive Systems
,
2001,
J. Univers. Comput. Sci..
[3]
Leslie Lamport,et al.
The temporal logic of actions
,
1994,
TOPL.
[4]
Jonathan P. Bowen,et al.
ZB 2003: Formal Specification and Development in Z and B
,
2003,
Lecture Notes in Computer Science.
[5]
Leslie Lamport,et al.
Specifying Systems: The TLA+ Language and Tools for Hardware and Software Engineers [Book Review]
,
2002,
Computer.