MDE 2.0 : Pragmatical formal model verification and other challenges

This document presents a synthesis of the research results conducted in the eld of software veri cation for model-driven engineering (MDE). MDE is becoming one of the dominant software engineering paradigms in the industry. The main characteristic of MDE is the use of software models and model manipulation operations as main artifacts in all software engineering activities. This change of perspective implies that correctness of models (and model manipulation operations) becomes a key factor in the quality of the nal software product. The problem of ensuring software correctness is still considered to be a Grand Challenge for the software engineering community. At the modellevel, we are still missing a set of tools and methods that helps in the detection of defects and smoothly integrates in existing MDE-based tool-chains without an excessive overhead. Characteristics of existing tools, which require designer interaction, deep knowledge of formal methods or extensive manual model annotations seriously impair its usability in practice. In this document, we present our pragmatic set of techniques for formal model veri cation to overcome these limitations. We call our techniques pragmatic because they try to nd the best trade-o between completeness of the veri cation and the usability of the process.

[1]  José Ambrosio Toval Álvarez,et al.  A systematic review of UML model consistency management , 2009, Inf. Softw. Technol..

[2]  Jean Bézivin,et al.  ATL: a QVT-like transformation language , 2006, OOPSLA '06.

[3]  Gilles Motet,et al.  A UML model consistency verification approach based on meta-modeling formalization , 2006, SAC.

[4]  Robert B. France,et al.  A Generic Approach for Automatic Model Composition , 2008, MoDELS.

[5]  Richard F. Paige,et al.  Merging models with the epsilon merging language (EML) , 2006, MoDELS'06.

[6]  Achim D. Brucker,et al.  Efficient analysis of pattern-based constraint specifications , 2010, Software & Systems Modeling.

[7]  Oscar Nierstrasz,et al.  Model Driven Engineering Languages and Systems, 9th International Conference, MoDELS 2006, Genova, Italy, October 1-6, 2006, Proceedings , 2006, MoDELS.

[8]  Oscar Nierstrasz,et al.  Generating a catalog of unanticipated schemas in class hierarchies using Formal Concept Analysis , 2010, Inf. Softw. Technol..

[9]  Peter J. Stuckey,et al.  Programming with Constraints: An Introduction , 1998 .

[10]  Cesare Tinelli,et al.  Solving SAT and SAT Modulo Theories: From an abstract Davis--Putnam--Logemann--Loveland procedure to DPLL(T) , 2006, JACM.

[11]  Christine Parent Conceptual modeling - ER 2007 : 26th International Conference on Conceptual Modeling, Auckland, New Zealand, November 5-9, 2007 : proceedings , 2007 .

[12]  Steffen Zschaler,et al.  Integrating OCL and Model Transformations in Fujaba , 2006, Electron. Commun. Eur. Assoc. Softw. Sci. Technol..

[13]  Jordi Cabot,et al.  Improving Higher-Order Transformations Support in ATL , 2010, ICMT@TOOLS.

[14]  Jordi Cabot,et al.  Transformation techniques for OCL constraints , 2006, Sci. Comput. Program..

[15]  Mira Balaban,et al.  Efficient Reasoning About Finite Satisfiability of UML Class Diagrams with Constrained Generalization Sets , 2007, ECMDA-FA.

[16]  Andy Schürr,et al.  Tool Integration with Triple Graph Grammars - A Survey , 2006, FoVMT.

[17]  Jordi Cabot,et al.  Lazy execution of model-to-model transformations , 2011, MODELS'11.

[18]  Ernest Teniente,et al.  Reasoning on UML Class Diagrams with OCL Constraints , 2006, ER.

[19]  Robert B. France,et al.  A Systematic Approach to Generate Inputs to Test UML Design Models , 2006, 2006 17th International Symposium on Software Reliability Engineering.

[20]  Roel Wieringa,et al.  A survey of structured and object-oriented software specification methods and techniques , 1998, CSUR.

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

[22]  Edward P. K. Tsang,et al.  Foundations of constraint satisfaction , 1993, Computation in cognitive science.

[23]  Hartmut Ehrig,et al.  Attributed graph transformation with node type inheritance , 2007, Theor. Comput. Sci..

[24]  Jordi Cabot,et al.  MoDisco: a generic and extensible framework for model driven reverse engineering , 2010, ASE.

[25]  Jordi Cabot,et al.  Representing Temporal Information in UML , 2003, UML.

[26]  Craig Larman,et al.  Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development (3rd Edition) , 1997 .

[27]  Krzysztof R. Apt,et al.  Constraint logic programming using Eclipse , 2007 .

[28]  Juan de Lara,et al.  A UML/OCL framework for the analysis of graph transformation rules , 2009, Software & Systems Modeling.

[29]  Fang Yu,et al.  Automated size analysis for OCL , 2007, ESEC-FSE '07.

[30]  Alessandro Bozzon,et al.  Searching Repositories of Web Application Models , 2010, ICWE.

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

[32]  Dániel Varró,et al.  Automated formal verification of visual modeling languages by model checking , 2004, Software & Systems Modeling.

[33]  Felix Sheng-Ho Chang,et al.  Finding Minimal Unsatisfiable Cores of Declarative Specifications , 2008, FM.

[34]  Jordi Cabot,et al.  Situational Evaluation of Method Fragments: An Evidence-Based Goal-Oriented Approach , 2010, CAiSE.

[35]  Stephan Weißleder,et al.  Quality of Automatically Generated Test Cases based on OCL Expressions , 2008, 2008 1st International Conference on Software Testing, Verification, and Validation.

[36]  Reiko Heckel,et al.  Confluence of Typed Attributed Graph Transformation Systems , 2002, ICGT.

[37]  Peter W. O'Hearn,et al.  Verified Software: A Grand Challenge , 2006, Computer.

[38]  Jordi Cabot,et al.  MoScript: A DSL for Querying and Manipulating Model Repositories , 2011, SLE.

[39]  Martin Gogolla,et al.  Validating UML and OCL models in USE by automatic snapshot generation , 2005, Software & Systems Modeling.

[40]  Diego Calvanese,et al.  Reasoning on UML class diagrams , 2005, Artif. Intell..

[41]  Martin Gogolla,et al.  From Graph Transformation to OCL Using USE , 2007, AGTIVE.

[42]  Juan de Lara,et al.  Verification and validation of declarative model-to-model transformations through invariants , 2010, J. Syst. Softw..

[43]  Michel R. V. Chaudron,et al.  Evaluating the Impact of UML Modeling on Software Quality: An Industrial Case Study , 2009, MoDELS.

[44]  Tom Mens,et al.  Using Description Logic to Maintain Consistency between UML Models , 2003, UML.

[45]  Jordi Cabot,et al.  Conceptual Modelling Patterns for Roles , 2006, J. Data Semant..

[46]  Vicente Pelechano,et al.  Automatic generation of basic behavior schemas from UML class diagrams , 2008, Software & Systems Modeling.

[47]  Jozef Hooman,et al.  Formalizing UML Models and OCL Constraints in PVS , 2004, SFEDL@ETAPS.

[48]  Jean Bézivin,et al.  ATL: A model transformation tool , 2008, Sci. Comput. Program..

[49]  Hassan Charaf,et al.  Constraint Validation in Model Compilers , 2006, J. Object Technol..

[50]  Michael Thielscher,et al.  Integrating Action Calculi and Description Logics , 2007, KI.

[51]  Daniel M. Berry,et al.  Formal methods: the very idea - Some thoughts about why they work when they work , 2002, Sci. Comput. Program..

[52]  Juan de Lara,et al.  Event-driven grammars: relating abstract and concrete levels of visual languages , 2007, Software & Systems Modeling.

[53]  Grzegorz Rozenberg,et al.  Handbook of Graph Grammars and Computing by Graph Transformations, Volume 1: Foundations , 1997 .

[54]  Bernhard Rumpe,et al.  An Algebraic View on the Semantics of Model Composition , 2007, ECMDA-FA.

[55]  Juan de Lara,et al.  Pattern-Based Model-to-Model Transformation , 2008, ICGT.

[56]  Jean Bézivin,et al.  On the Use of Higher-Order Model Transformations , 2009, ECMDA-FA.

[57]  Mario Piattini,et al.  Quality of UML models , 2009, Inf. Softw. Technol..

[58]  Andy Schürr,et al.  Specification of Graph Translators with Triple Graph Grammars , 1994, WG.

[59]  Martin Gogolla,et al.  Expressing UML Class Diagrams Properties with OCL , 2002, Object Modeling with the OCL.

[60]  Philip A. Bernstein,et al.  Merging Models Based on Given Correspondences , 2003, VLDB.

[61]  Jordi Cabot,et al.  Extending Conceptual Schemas with Business Process Information , 2010, Adv. Softw. Eng..

[62]  Jean Bézivin,et al.  KM3: A DSL for Metamodel Specification , 2006, FMOODS.

[63]  Hartmut Ehrig,et al.  Handbook of graph grammars and computing by graph transformation: vol. 3: concurrency, parallelism, and distribution , 1999 .

[64]  Ernest Teniente,et al.  Decidable Reasoning in UML Schemas with Constraints , 2008, JISBD.

[65]  Parastoo Mohagheghi,et al.  Definitions and approaches to model quality in model-based software development - A review of literature , 2009, Inf. Softw. Technol..

[66]  Alan Hartman,et al.  Model Driven Architecture: Foundations and Applications , 2003 .

[67]  Martin Gogolla,et al.  Verifying UML/OCL models using Boolean satisfiability , 2010, 2010 Design, Automation & Test in Europe Conference & Exhibition (DATE 2010).

[68]  Ernest Teniente,et al.  Reasoning on UML Conceptual Schemas with Operations , 2009, CAiSE.

[69]  Renata Pontin de Mattos Fortes,et al.  MOOGLE: A Model Search Engine , 2008, MoDELS.

[70]  Jordi Cabot,et al.  Verifying Action Semantics Specifications in UML Behavioral Models , 2009, CAiSE.

[71]  Hadrien Cambazard,et al.  Identifying and Exploiting Problem Structures Using Explanation-based Constraint Programming , 2005, Constraints.

[72]  Antonio Vallecillo,et al.  Analyzing Rule-Based Behavioral Semantics of Visual Modeling Languages with Maude , 2009, SLE.