A Formal Approach for the Development of Automated Systems

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.