CLPS-B - A Constraint Solver for B

This paper proposes an approach to the evaluation of B formal specifications using Constraint Logic Programming with sets. This approach is used to animate and generate test sequences from B formal specifications. The solver, called CLPS-B, is described in terms of constraint domains, consistency verification and constraint propagation. It is more powerful than most constraint systems, because it allows the domain of variable to contain other variables, which increase the level of abstraction. The constrained state propagates the non-determinism of the B specifications and reduces the number of states in a reachability graph. We illustrate this approach by comparing the constrained states graph exploration with the concrete one in a simple example: Process scheduler.

[1]  Bernard A. Nadel,et al.  Constraint satisfaction algorithms 1 , 1989, Comput. Intell..

[2]  Bruno Legeard,et al.  A Comparison of the BTT and TTF Test-Generation Methods , 2002, ZB.

[3]  Bruno Legeard,et al.  Generation of functional test sequences from B formal specifications presentation and industrial case-study , 2001, Proceedings 16th Annual International Conference on Automated Software Engineering (ASE 2001).

[4]  Dexter Kozen Set Constraints and Logic Programming , 1994, CCL.

[5]  Frank Waters,et al.  The B Book , 1971 .

[6]  Barry Eaglestone,et al.  Software development: two approaches to animation of Z specifications using Prolog , 1992, Softw. Eng. J..

[7]  Alexander Aiken,et al.  Type inclusion constraints and type inference , 1993, FPCA '93.

[8]  Bruno Marre,et al.  Test sequences generation from LUSTRE descriptions: GATEL , 2000, Proceedings ASE 2000. Fifteenth IEEE International Conference on Automated Software Engineering.

[9]  Pretschner,et al.  AutoFocus on Constraint Logic Programming , 2000 .

[10]  Carmen Gervet,et al.  Interval propagation to reason about sets: Definition and implementation of a practical language , 1997, Constraints.

[11]  A. Jefferson Offutt,et al.  The dynamic domain reduction procedure for test data generation , 1999, Softw. Pract. Exp..

[12]  Leon Sterling,et al.  On the Animation of "not Executable" Specifications by Prolog , 1996, Int. J. Softw. Eng. Knowl. Eng..

[13]  S. Griffis EDITOR , 1997, Journal of Navigation.

[14]  Wolfgang Grieskamp,et al.  A Computation Model for Z Based on Concurrent Constraint Resolution , 2000, ZB.

[15]  Christophe Meudec ATGen: automatic test data generation using constraint logic programming and symbolic execution † , 2001, Softw. Test. Verification Reliab..

[16]  Bernard Botella,et al.  A CLP Framework for Computing Structural Test Data , 2000, Computational Logic.