Certification of transformation algorithms in model-driven software development

The increasing reliance on Model-Driven Software Development calls for model compilers to assume the role of today’s compilers, i.e., reliability of these components is of utmost importance. We describe how to certify model transformations in this context by bridging the gap between the languages in which such transformations are specified (e.g., Essential MOF, OCL, OO programs) and the decision procedures needed to verify properties expected of such transformations. Two major aspects are investigated in this paper: (i) valid output is obtained for each valid input, (ii) the output satisfies certain properties. Results from application projects validate our approach, which internally applies model-driven techniques to the certification process itself by mapping transformation specifications into the +CAL model-checking language.

[1]  Michelle L. Crane,et al.  UML vs. classical vs. rhapsody statecharts: not all models are created equal , 2005, MoDELS'05.

[2]  Anneke Kleppe,et al.  The Object Constraint Language: Getting Your Models Ready for MDA , 2003 .

[3]  Sabine Glesner,et al.  Formal Verification of Java Code Generation from UML Models , 2005 .

[4]  Gerhard Goos,et al.  Verifix: Konstruktion und Architektur verifizierender Übersetzer , 2004 .

[5]  U. Keller,et al.  Translating the Object Constraint Language into First-order Predicate Logic , 2001 .

[6]  Achim D. Brucker,et al.  A Package for Extensible Object-Oriented Data Models with an Application to IMP++ , 2006 .

[7]  Giuliano Antoniol,et al.  YAAB (Yet another AST browser): using OCL to navigate ASTs , 2003, 11th IEEE International Workshop on Program Comprehension, 2003..

[8]  Miguel Garcia,et al.  Formalizing the well-formedness rules of EJB3QL in UML + OCL , 2006, MoDELS'06.

[9]  Frédéric Jouault,et al.  On the architectural alignment of ATL and QVT , 2006, SAC '06.

[10]  Stephan Merz,et al.  On the Logic of TLA+ , 2003, Comput. Artif. Intell..

[11]  Bob Goldberg The DASL language programmer's guide and reference manual , 2005 .

[12]  Andy Schürr,et al.  On OCL as part of the metamodeling framework MOFLON , 2006 .

[13]  Tobias Nipkow,et al.  Proving Pointer Programs in Higher-Order Logic , 2003, CADE.

[14]  Bernhard Beckert,et al.  The KeY tool , 2005, Software & Systems Modeling.

[15]  Leslie Lamport,et al.  Formal specification of a Web services protocol , 2007, J. Log. Algebraic Methods Program..

[16]  Ralph Johnson,et al.  Design Patterns CD: Elements of Reusable Object-Oriented Software, (CD-ROM) , 1998 .

[17]  Leslie Lamport Checking a Multithreaded Algorithm with +CAL , 2006, DISC.

[18]  David H. Akehurst,et al.  Validating BPEL Specifications using OCL , 2004 .

[19]  Bernhard Beckert,et al.  Verification of Object-Oriented Software. The KeY Approach - Foreword by K. Rustan M. Leino , 2007, The KeY Approach.

[20]  Stefano Ceri Process Modeling in Web Applications , 2005, OTM Conferences.

[21]  Tobias Rötschke,et al.  MOFLON: A Standard-Compliant Metamodeling Framework with Graph Transformations , 2006, ECMDA-FA.

[22]  Paul Francis,et al.  Model Driven Architecture with Executable UML , 2004 .

[23]  Frank Budinsky,et al.  Eclipse Modeling Framework , 2003 .

[24]  Leslie Lamport,et al.  The +CAL Algorithm Language , 2006, NCA.

[25]  Michael D. Ernst,et al.  An overview of JML tools and applications , 2003, International Journal on Software Tools for Technology Transfer.

[26]  Jean Bézivin,et al.  TCS:: a DSL for the specification of textual concrete syntaxes in model engineering , 2006, GPCE '06.

[27]  Gabriele Taentzer,et al.  Generation of visual editors as eclipse plug-ins , 2005, ASE.

[28]  Ali Hamie,et al.  Translating the Object Constraint Language into the Java Modelling Language , 2004, SAC '04.

[29]  Fabian Büttner,et al.  Realizing UML Model Transformations with USE , 2006 .

[30]  David A. Carrington,et al.  Verifying metamodel coverage of model transformations , 2006, Australian Software Engineering Conference (ASWEC'06).

[31]  Lawrence Charles Paulson,et al.  Isabelle/HOL: A Proof Assistant for Higher-Order Logic , 2002 .

[32]  Achim D. Brucker,et al.  A model transformation semantics and analysis methodology for SecureUML , 2006, MoDELS'06.

[33]  Achim D. Brucker,et al.  The HOL-OCL Book , 2006 .

[34]  Shan Shan Huang,et al.  Statically safe program generation with safegen , 2005, GPCE'05.

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

[36]  Claude Marché,et al.  A case study of C source code verification: the Schorr-Waite algorithm , 2005, Third IEEE International Conference on Software Engineering and Formal Methods (SEFM'05).

[37]  Christine Mingins,et al.  Providing Trusted Components to the Industry , 1998, Computer.

[38]  Ioana Manolescu,et al.  Process modeling in Web applications , 2005, TSEM.

[39]  Leslie Lamport,et al.  Specifying Systems: The TLA+ Language and Tools for Hardware and Software Engineers [Book Review] , 2002, Computer.

[40]  Leslie Lamport The +CAL Algorithm Language , 2006, NCA.