From a B formal specification to an executable code: application to the relational database domain

This paper presents a formal approach for the development of trustworthy database applications. This approach consists of three complementary steps. Designers start by modeling applications using UML diagrams dedicated to database applications domain. These diagrams are then automatically translated into B specifications suitable not only for reasoning about data integrity checking but also for the derivation of trustworthy implementations. In this paper, we present a process based on the B refinement technique for the derivation of a SQL relational implementation, embedded in the JAVA language (JAVA/SQL), from a B specification obtained by the first translation phase.

[1]  Rajshekhar Sunderraman Fundamentals of Database Systems Laboratory Manual 1 , 2007 .

[2]  Alan R. Simon,et al.  Understanding the New SQL: A Complete Guide , 1993 .

[3]  David Edmond Refining Database Systems , 1995, ZUM.

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

[5]  Sophie Dupuy-Chessa,et al.  An Overview of RoZ: A Tool for Integrating UML and Z Specifications , 2000, CAiSE.

[6]  Shamkant B. Navathe,et al.  Conceptual Database Design: An Entity-Relationship Approach , 1991 .

[7]  Régine Laleau,et al.  Specification of integrity-preserving operations in information systems by using a formal UML-based language , 2001, Inf. Softw. Technol..

[8]  Sylvain Boulmé,et al.  Adaptable Translator of B Specifications to Embedded C Programs , 2003, FME.

[9]  Xiaolei Qian,et al.  The deductive synthesis of database transactions , 1993, TODS.

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

[11]  David Edmond,et al.  Information Modeling , 1992 .

[12]  Emmanuel Chailloux,et al.  Objective Caml : développment d'applications avec , 2000 .

[13]  Régine Laleau,et al.  Coming and Going from UML to B: A Proposal to Support Traceability in Rigorous IS Development , 2002, ZB.

[14]  Régine Laleau On the Interest of Combining UML with the B Formal Method for the Specification of Database Applications , 1999, ICEIS.

[15]  Klaus-Dieter Schewe,et al.  On the Derivation of Executable Database Programs from Formal Specifications , 1993, FME.

[16]  Ahmed Hammad,et al.  Java Card Code Generation from B Specifications , 2003, ICFEM.

[17]  Sylvain Lecomte,et al.  Utilisation des bases de données pour la flexibilité des services coopérants dans la carte à microprocesseur , 2000, INFORSID.

[18]  Klaus-Dieter Schewe,et al.  Specification and Refinement in an Integrated Database Application Environment , 1991, VDM Europe.

[19]  Amel Mammar,et al.  A Generic Process to Refine a B Specification into a Relational Database Implementation , 2000, ZB.

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

[21]  Fiona A. C. Polack,et al.  Rigorous specification using structured systems analysis and Z , 1995, Inf. Softw. Technol..

[22]  Amel Mammar Développement formel par raffinement d'applications bases de données sûres , 2001, Ingénierie des Systèmes d Inf..

[23]  Amel Mammar Un environnement formel pour le développement d'applications bases de données , 2002 .

[24]  Amel Mammar,et al.  An overview of a method and its support tool for generating B specifications from UML notations , 2000, Proceedings ASE 2000. Fifteenth IEEE International Conference on Automated Software Engineering.

[25]  E. F. Codd,et al.  A relational model of data for large shared data banks , 1970, CACM.

[26]  E. F. Codd,et al.  A Relational Model for Large Shared Data Banks , 1970 .

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