Formal Model-Driven Engineering: Generating Data and Behavioural Components

Chen-Wei Wang
(McMaster Centre for Software Certification, McMaster University)
Jim Davies
(Department of Computer Science, University of Oxford)

Model-driven engineering is the automatic production of software artefacts from abstract models of structure and functionality. By targeting a specific class of system, it is possible to automate aspects of the development process, using model transformations and code generators that encode domain knowledge and implementation strategies. Using this approach, questions of correctness for a complex, software system may be answered through analysis of abstract models of lower complexity, under the assumption that the transformations and generators employed are themselves correct. This paper shows how formal techniques can be used to establish the correctness of model transformations used in the generation of software components from precise object models. The source language is based upon existing, formal techniques; the target language is the widely-used SQL notation for database programming. Correctness is established by giving comparable, relational semantics to both languages, and checking that the transformations are semantics-preserving.

In Peter Csaba Ölveczky and Cyrille Artho: Proceedings First International Workshop on Formal Techniques for Safety-Critical Systems (FTSCS 2012), Kyoto, Japan, November 12, 2012, Electronic Proceedings in Theoretical Computer Science 105, pp. 100–117.
Published: 29th December 2012.

ArXived at: http://dx.doi.org/10.4204/EPTCS.105.8 bibtex PDF
References in reconstructed bibtex, XML and HTML format (approximated).
Comments and questions to: eptcs@eptcs.org
For website issues: webmaster@eptcs.org