Generation of database schemas from Z specifications

Automatic translation of a high-level specification language to an executable implementation would be highly useful in maximizing the benefits of formal methods. We will introduce a set of translation functions to fill the specification-implementation gap in the domain of database applications. Because the mathematical foundation of Z has many properties in common with SQL, a direct mapping from Z to SQL structures can be found. We derive a set of translation functions from Z to SQL for the generation of a database. The proposed methodology results in reducing the expenses and duration of the software development, and also, prevents the errors originated from the manual translation of specifications to code.

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

[2]  C. A. R. Hoare,et al.  Intelligent Systems and Formal Methods in Software Engineering , 2006, IEEE Intelligent Systems.

[3]  Cliff B. Jones,et al.  Specifications are not (necessarily) executable , 1989 .

[4]  Shengchao Qin,et al.  Linking Object-Z with Spec# , 2007, 12th IEEE International Conference on Engineering Complex Computer Systems (ICECCS 2007).

[5]  Kathi Fisler,et al.  Alchemy: transmuting base alloy specifications into implementations , 2008, SIGSOFT '08/FSE-16.

[6]  London South Ten Commandments of Formal Methods … Ten Years Later , 2006 .

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

[8]  Michael Poppleton,et al.  Automatic Translation from Combined B and CSP Specification to Java Programs , 2007, B.

[9]  S. Mirian-Hosseinabadi,et al.  Derivation of Z functional input/output refinement proof rules , 2010, 2010 International Conference on Electronics and Information Engineering.

[10]  Anthony Hall,et al.  Correctness by Construction: Developing a Commercial Secure System , 2002, IEEE Softw..

[11]  Amel Mammar,et al.  From a B formal specification to an executable code: application to the relational database domain , 2006, Inf. Softw. Technol..

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

[13]  Roger Duke,et al.  Object-Z: a specification language advocated for the description of standards , 1995 .

[14]  Ali E. Abdallah,et al.  A provably correct functional programming approach to the prototyping of formal Z specifications , 2003 .

[15]  Christopher A. Rouff,et al.  A formal approach to requirements-based programming , 2005, 12th IEEE International Conference and Workshops on the Engineering of Computer-Based Systems (ECBS'05).

[16]  Daniel Jackson,et al.  Software Abstractions - Logic, Language, and Analysis , 2006 .

[17]  Cui Zhang,et al.  Generating Java Skeletal Code with Design Contracts from Specifications in a Subset of Object Z , 2006, 5th IEEE/ACIS International Conference on Computer and Information Science and 1st IEEE/ACIS International Workshop on Component-Based Software Engineering,Software Architecture and Reuse (ICIS-COMSAR'06).

[18]  Stéphane Bressan,et al.  Introduction to Database Systems , 2005 .

[19]  Roberto Souto Maior de Barros,et al.  On the Formal Specification and Derivation of Relational Database Applications , 1994, US-Brazil Joint Workshops on the Formal Foundations of Software Systems.

[20]  Jim Davies,et al.  From Predicates to Programs: The Semantics of a Method Language , 2007, Electron. Notes Theor. Comput. Sci..

[21]  Anthony Hall,et al.  Realising the Benefits of Formal Methods , 2005, J. Univers. Comput. Sci..

[22]  Xiaoping Jia An approach to animating Z specifications , 1995, Proceedings Nineteenth Annual International Computer Software and Applications Conference (COMPSAC'95).

[23]  Seyed-Hassan Mirian-Hosseinabadi,et al.  Rule-based translation of specifications to executable code , 2010, 2010 2nd IEEE International Conference on Information Management and Engineering.

[24]  Carroll Morgan,et al.  Programming from specifications , 1990, Prentice Hall International Series in computer science.

[25]  Ana Cavalcanti,et al.  Automatic Translation from Circus to Java , 2006, FM.

[26]  深川 雅和,et al.  A Mapping System from Object-Z to C++ , 1994 .