Abstract
eb 3 is a trace-based formal language created for the specification of information systems. In eb 3, 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: eb 3 attribute specifications are automatically translated into executable programs, eliminating system design and implementation steps; the construction of information systems is streamlined, because eb 3 specifications are simpler and shorter to write than corresponding traditional specifications, design and implementations. In particular, the paper shows that simple eb 3 constructs can replace complex SQL queries which are typically difficult to write.
Similar content being viewed by others
References
Abrial J.R.: The B-Book: Assigning programs to meanings. Cambridge University Press, Cambridge (1996)
Barros, R.: Deriving relational database programs from formal specifications. In FME 94, pp. 703–723. Springer, Berlin (1994)
Batanado, P.: Synthèse de transactions de base de données relationnelle à partir de définitions d’attributs EB3. Master’s thesis, Département d’informatique, Université de Sherbrooke (2005)
Bolognesi T., Brinksma E.: Introduction to the ISO specification language LOTOS. Comp. Netw. ISDN Syst. 14(1), 25–59 (1987)
Cousineau G., Mauny M.: The functional approach to programming. Cambridge University Press, Cambridge (1998)
Davies J., Woodcock J.C.P.: Using Z: Specification, Refinement, and Proof. Prentice-Hall, Englewood Cliffs (1996)
Demuth, B., Hußmann, H.: Using uml/ocl constraints for relational database design. In: UML’99, Fort Collins, USA, October. LNCS, vol. 1723, pp. 598–613. Springer, Heidelberg (1999)
Dupuy, S., Ledru, Y., Chabre-Peccoud, M.: An overview of RoZ: a tool for integrating UML and Z specifications. In: CAiSE, Stockholm, Sweden, June 2000. LNCS, vol. 1789, pp. 417–430. Springer, Heidelberg (2000)
Edmond, D.: Refining database systems. In: ZUM’95: The Z Formal Specification Notation, Limerick, Ireland, September. LNCS, vol. 967, pp. 25–44. Springer, Heidelberg (1995)
Elmasri R., Navathe S.: Fundamentals of Database Systems. Addison-Wesley, Reading (2004)
Evans, N., Treharne, H., Laleau, R., Frappier, M.: How to verify dynamic properties of information systems. In: SEFM 2004, Beijing, China, September, pp. 416–425. IEEE Computer Society Press, New York (2004)
Fowler M.: Patterns of enterprise application architecture. Addison-Wesley, Reading (2002)
Fraikin, B., Frappier, M.: EB3PAI: An interpreter for the eb 3 specification language. In: 15th International conference on software and systems engineering and their applications (ICSSEA), December (2002)
Fraikin, B., Frappier, M.: Efficient execution of process expressions using symbolic interpretation. SCP (2006) (submitted)
Fraikin B., Frappier M., Laleau R.: State-based versus event-based specifications for information systems: A comparison of B and eb 3. Softw. Syst. Model. 4(3), 236–257 (2005)
Frappier, M., Fraikin, B., Laleau, R., Richard, M.: APIS—Automatic Production of Information Systems. In: AAAI Spring Symposium, Stanford, USA, March, pp. 17–24. AAAI Press, Menlo Park (2002)
Frappier M., St-Denis R.: eb 3: An entity-based black-box specification method for information systems. Softw. Syst. Model. 2(2), 134–149 (2003)
Garavel, H., Sifakis, J.: Compilation and verification of LOTOS specifications. In: 10th International symposium on protocol specification, testing and verification (PSTV), Ottawa, Canada, June, pp. 379–394 (1990)
Gervais, F.: EB4 : Vers une méthode combinée de spécification formelle des systèmes d’information. Dissertation for the general examination, GRIL, Université de Sherbrooke, Québec June (2004)
Gervais, F., Batanado, P., Frappier, M., Laleau, R.: EB3TG: A tool synthesizing relational database transactions from EB3 attribute definitions. In: ICEIS 2006, volume Information Systems Analysis and Specification, Paphos, Cyprus, May, pp. 44–51. NSTICC Press, Portugal (2006)
Gervais, F., Frappier, M., Laleau, R.: Synthesizing B substitutions for EB3 attribute definitions. Technical Report 683, CEDRIC, Paris, France, November (2004)
Gervais, F., Frappier, M., Laleau, R.: Generating relational database transactions from recursive functions defined on EB3 traces. In: SEFM 2005, Koblenz, Germany, September, pp. 117–126. IEEE Computer Society Press, New York (2005)
Gervais, F., Frappier, M., Laleau, R.: Synthesizing B specifications from EB3 attribute definitions. In: IFM 2005, Eindhoven, The Netherlands, November–December. LNCS, vol. 3771, pp. 207–226. Springer, Heidelberg (2005)
Gervais, F., Frappier, M., Laleau, R., Batanado, P.: EB3 attribute definitions: Formal language and application. Technical Report 700, CEDRIC, Paris, France, February (2005)
Ginoux, B., Dormoy, J.-L., Jimenez-Dominguez, C., Lucas, J.-Y., Pierre, L.: Descartes: An automatic programming system for algorithmically simple programs. In: IWSSD ’98, Washington, USA, p. 106. IEEE Computer Society, New York (1998)
Hoare C.A.R.: Communicating Sequential Processes. Prentice-Hall, Englewood Cliffs (1985)
Hohenstein, U.: Automatic transformation of an entity-relationship query language into SQL. In: 8th International Conf. on Entity-Relationship Approach to Database Design and Querying, Toronto, Canada, October, pp. 303–321. Elsevier, Amsterdam (1989)
Hohenstein U., Engels G.: SQL/EER—Syntax and semantics of an entity-relationship-based query language. Inf. Syst. 17(3), 209–242 (1992)
Jackson M.: System Development. Prentice-Hall, Englewood Cliffs (1983)
Jajodia S.: Translation of entity-relationship diagrams into relational structures. J. Syst. Softw. 4(2/3), 123–133 (1984)
JBoss Labs. Hibernate. http://www.hibernate.org (2006)
Laleau, R., Mammar, A.: An overview of a method and its support tool for generating B specifications from UML notations. In: ASE 2000, Grenoble, France, September, pp. 269–272. IEEE Computer Society Press, New York (2000)
Leucker, M., Noll, T.: Rapid prototyping of specification language implementations. In: RSP 1999, Clearwater, Florida, USA, June, pp. 60–65. IEEE Computer Society Press, New York (1999)
Lyngbaek, P., Vianu, V.: Mapping a semantic database model to the relational model. In: ACM SIGMOD, San Francisco. ACM, New York (1987)
Mammar, A.: Un environnement formel pour le développement d’applications base de données. PhD thesis, CNAM, Paris, December (2002)
Meyer, E., Souquières, J.: A systematic approach to transform OMT diagrams to a B specification. In: FM’99, Toulouse, France, September. LNCS, vol. 1708, pp. 875–895. Springer, Heidelberg (1999)
Milner R.: Communication and Concurrency. Prentice-Hall, Englewood Cliffs (1989)
Nguyen, H.P.: Dérivation de spécifications formelles B à partir de spécifications semi-formelles. PhD thesis CNAM, Paris, December (1998)
OMG. Object constraint language (ocl) http://www.omg.org/technology/
Prowell S.J., Trammell C.J., Linger R.C., Poore J.H.: Cleanroom Software Engineering: Technology and Process. Addison-Wesley, Reading (1999)
Qian X.: The deductive synthesis of database transactions. ACM Trans. Database Syst. 18(4), 626–677 (1993)
Roscoe A.W.: The Theory and Practice of Concurrency. Prentice-Hall, Englewood Cliffs (1997)
Schewe, K., Smith, J., Wetzel, I.: Specification and refinement in an integrated database application environment. In: VDM 1991, Noordwijkerhout, The Netherlands, pp. 496–510. Springer, Heidelberg (1991)
Smith D.R.: A semi-automatic program development system. IEEE Trans. Softw. Eng. 16(9), 1024–1043 (1990)
Steinberg, D., Raz, Y., Kantorowitz, E.: Translating errol, a high level, er, structured english language for dbtg databases. In: ER 1987 (1987)
Subleta, K., Missala, M.: Semantics of query languages for the entity-relationship model. In: ER 1986, Dijon, France (1986)
Teorey T., Yang D., Fry J.: A logical design methodology for relational databases using the extended entity-relationship model. ACM Comput. Surv. 18(2), 197–222 (1986)
Terrillon, J.-G.: Description comportementale d’interface web. Master’s thesis, Département d’informatique, Université de Sherbrooke (2005)
van Lamsweerde, A.: Formal specification: a roadmap. In: ICSE—Future of SE Track, Limerick, Ireland, June, pp. 147–159. ACM, New York (2000)
Author information
Authors and Affiliations
Corresponding author
Additional information
Communicated by Prof. Heinrich Hussmann.
Rights and permissions
About this article
Cite this article
Gervais, F., Frappier, M. & Laleau, R. Generating relational database transactions from eb 3 attribute definitions. Softw Syst Model 8, 423–445 (2009). https://doi.org/10.1007/s10270-008-0104-1
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10270-008-0104-1