Synthesizing B Specifications from EB3 Attribute Definitions

eb3 is a trace-based formal language created for the specification of information systems (IS). Attributes, linked to entities and associations of an IS, are computed in eb3 by recursive functions on the valid traces of the system. On the other hand, B is a state-based formal language also well adapted for the specification of IS. In this paper, we deal with the synthesis of B specifications that correspond to eb3 attribute definitions, in order to specify and verify safety properties like data integrity constraints. Each action in the eb3 specification is translated into a B operation. The substitutions are obtained by an analysis of the CAML-like patterns used in the recursive functions that define the attributes in eb3. Our technique is illustrated by an example of a simple library management system.

[1]  Marc Frappier,et al.  How to Synthesize Relational Database Transactions From EB3 Attribute Definitions? , 2005, MSVVEIS.

[2]  H. P. Nguyen Derivation de specifications formelles b a partir de specifications semi-formelles , 1998 .

[3]  Michel Mauny,et al.  The functional approach to programming , 1998 .

[4]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[5]  Jean-Raymond Abrial,et al.  The B-book - assigning programs to meanings , 1996 .

[6]  Jim Woodcock,et al.  The Semantics of Circus , 2002, ZB.

[7]  Ramez Elmasri,et al.  Fundamentals of Database Systems, 5th Edition , 2006 .

[8]  Ramez Elmasri,et al.  Fundamentals of Database Systems , 1989 .

[9]  Yves Ledru,et al.  Identifying pre-conditions with the Z/EVES theorem prover , 1998, Proceedings 13th IEEE International Conference on Automated Software Engineering (Cat. No.98EX239).

[10]  Frédéric Gervais,et al.  EB4 : Vers une méthode combinée de spécification formelle des systèmes d'information , 2004 .

[11]  Jonathan P. Bowen,et al.  ZB 2002:Formal Specification and Development in Z and B , 2002, Lecture Notes in Computer Science.

[12]  Marc Frappier,et al.  Synthesizing B Substitutions for EB3 Attribute Definitions , 2004 .

[13]  Marc Frappier,et al.  Technical Report 700: eb 3 Attribute Definitions: Formal Language and Application , 2006 .

[14]  Marc Frappier,et al.  EB3: an entity-based black-box specification method for information systems , 2003, Software & Systems Modeling.

[15]  Marc Frappier,et al.  How to verify dynamic properties of information systems , 2004 .

[16]  Marc Frappier,et al.  Proving Event Ordering Properties for Information Systems , 2003, ZB.

[17]  Amel Mammar,et al.  Design of an Automatic Prover Dedicated to the Refinement of Database Applications , 2003, FME.

[18]  Dominique Cansell,et al.  Click'n Prove: Interactive Proofs within Set Theory , 2003, TPHOLs.

[19]  Clemens Fischer Combination and implementation of processes and data: from CSP-OZ to Java , 2000 .

[20]  Jean-Raymond Abrial,et al.  Introducing Dynamic Constraints in B , 1998, B.

[21]  Michael J. Butler,et al.  csp2B: A Practical Approach to Combining CSP and B , 1999, Formal Aspects of Computing.

[22]  Stefania Gnesi,et al.  FME 2003: Formal Methods: International Symposium of Formal Methods Europe, Pisa, Italy, September 8-14, 2003. Proceedings , 2003, Lecture Notes in Computer Science.

[23]  Didier Bert B’98: Recent Advances in the Development and Use of the B Method , 1998, Lecture Notes in Computer Science.

[24]  Régine Laleau,et al.  EB3 Attribute Definitions: Formal Language and Application , 2005 .

[25]  Jonathan P. Bowen,et al.  ZB 2003: Formal Specification and Development in Z and B , 2003, Lecture Notes in Computer Science.

[26]  Marc Frappier,et al.  State-based versus event-based specifications for information systems: a comparison of B and eb3 , 2005, Software & Systems Modeling.

[27]  Marc Frappier,et al.  Generating Relational Database Transactions From Recursive Functions Defined on EB^3 Traces , 2005, Third IEEE International Conference on Software Engineering and Formal Methods (SEFM'05).

[28]  Régine Laleau,et al.  Mapping object diagrams into B specifications , 1996 .

[29]  David Aspinall,et al.  Formalising Java's Data Race Free Guarantee , 2007, TPHOLs.