Generating Relational Database Transactions From Recursive Functions Defined on EB^3 Traces

  • Authors:
  • Frederic Gervais;Marc Frappier;Regine Laleau

  • Affiliations:
  • Universite de Sherbrooke, Canada;Universite de Sherbrooke, Canada;LACL, Universite Paris 12, France

  • Venue:
  • SEFM '05 Proceedings of the Third IEEE International Conference on Software Engineering and Formal Methods
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

EB^3 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 EB^3 by recursive functions on the valid traces of the system. We aim at synthesizing relational database transactions that correspond to EB^3 attribute definitions. Each EB3 action is translated into a transaction. EB^3 attribute definitions are analysed to determine the key values affected by each action. Some key values are retrieved from SELECT statements that correspond to first-order predicates in EB^3 attribute definitions. To avoid problems with the sequencing of SQL statements in the transactions, temporary variables and/or tables are introduced for these key values. Generation of DELETE statements is straightforward, but distinguishing updates from insertions of tuples requires more analysis.