Generating relational database transactions from eb3 attribute definitions

Abstracteb3 is a trace-based formal language created for the specification of information systems. In eb3, each entity and association attribute is independently defined by a recursive function on the valid traces of external events. This paper describes an algorithm that generates, for each external event, a transaction that updates the value of affected attributes in their relational database representation. The benefits are twofold: eb3 attribute specifications are automatically translated into executable programs, eliminating system design and implementation steps; the construction of information systems is streamlined, because eb3 specifications are simpler and shorter to write than corresponding traditional specifications, design and implementations. In particular, the paper shows that simple eb3 constructs can replace complex SQL queries which are typically difficult to write.

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

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

[3]  Andrew William Roscoe,et al.  The Theory and Practice of Concurrency , 1997 .

[4]  Jim Woodcock,et al.  Using Z - specification, refinement, and proof , 1996, Prentice Hall international series in computer science.

[5]  Kazimierz Subieta,et al.  Semantics of Query Languages for the Entity-Relationship Model , 1986, ER.

[6]  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).

[7]  Roberto Souto Maior de Barros,et al.  Deriving Relational Database Programs from Formal Specifications , 1994, FME.

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

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

[10]  T. J. Teorey,et al.  A logical design methodology for relational databases using the extended entity-relationship model , 1986, CSUR.

[11]  Gregor Engels,et al.  SQL/EER - syntax and semantics of an Entity-Relationship-based query language , 1992, Inf. Syst..

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

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

[14]  B. Ginoux,et al.  DESCARTES: an automatic programming system for algorithmically simple programs , 1998, Proceedings Ninth International Workshop on Software Specification and Design.

[15]  Douglas R. Smith,et al.  KIDS: A Semiautomatic Program Development System , 1990, IEEE Trans. Software Eng..

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

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

[18]  Marc Frappier,et al.  apis 1 - Automatic Production of Information Systems , 2002 .

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

[20]  이상준,et al.  [서평]Cleanroom Software Engineering-Technology and Process , 2000 .

[21]  Eliezer Kantorowitz,et al.  Translating ERROL, a High Level, ER, Structured English Languages for DBTG Databases , 1987, ER.

[22]  Tommaso Bolognesi,et al.  Tableau methods to describe strong bisimilarity on LOTOS processes involving pure interleaving and enabling , 1994, FORTE.

[23]  Jeanine Souquières,et al.  A Systematic Approach to Transform OMT Diagrams to a B Specification , 1999, World Congress on Formal Methods.

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

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

[26]  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.

[27]  Martin Fowler,et al.  Patterns of Enterprise Application Architecture , 2002 .

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

[29]  Axel van Lamsweerde,et al.  Formal specification: a roadmap , 2000, ICSE '00.

[30]  Sushil Jajodia,et al.  Translation of entity-relationship diagrams into relational structures , 1984, J. Syst. Softw..

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

[32]  Marc Frappier,et al.  EB3TG: A Tool Synthesizing Relational Database Transactions from EB3 Attribute Definitions , 2006, ICEIS.

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

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

[35]  Thomas Noll,et al.  Rapid prototyping of specification language implementations , 1999, Proceedings Tenth IEEE International Workshop on Rapid System Prototyping. Shortening the Path from Specification to Prototype (Cat. No.PR00246).

[36]  Robin Milner,et al.  Communication and concurrency , 1989, PHI Series in computer science.

[37]  Rodney J. Douglas KIDS: A Semi-Automatic Program Development System , 1990 .

[38]  Marc Frappier,et al.  Synthesizing B Specifications from EB3 Attribute Definitions , 2005, IFM.

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

[40]  MSc Mbcs CEng Michael Bronzite BSc System Development , 2000, Springer London.

[41]  Victor Vianu,et al.  Mapping a semantic database model to the relational model , 1987, SIGMOD '87.

[42]  Heinrich Hußmann,et al.  Using UML/OCL Constraints for Relational Database Design , 1999, UML.

[43]  Joseph Sifakis,et al.  Compilation and verification of LOTOS specifications , 1990, PSTV.

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

[45]  Uwe Hohenstein,et al.  Automatic Transformation of an Entity-Relationship Query Language into SQL , 1989, ER.