Découverte automatique de modèles effectifs

Scientific discovery often culminates into representing structure in nature as networks (graphs) of objects. For instance, certain biological reaction networks aim to represent living processes such as burning fat or switching genes on/off. Knowledge from experiments, data analysis and mental tacit lead to the discovery of such effective structures in nature. Can this process of scientific discovery using various sources of knowledge be automated? In this thesis, we address the same question in the contemporary context of model-driven engineering (MDE) of complex software systems. MDE aims to grease the wheels of complex software creation using first class artifacts called models. Very much like the process of effective structure discovery in science a modeler creates effective models, representing useful software artifacts, in a modelling domain. In this thesis, we consider two such modelling domains: metamodels for modelling languages and feature diagrams for Software Product Lines (SPLs). Can we automate effective model discovery in a modelling domain? The central challenge in discovery is the automatic generation of models. Models are graphs of inter-connected objects with constraints on their structure and the data contained in them. These constraints are enforced by a modelling domain and heterogeneous sources of knowledge including several well-formedness rules. How can we automatically generate models that simultaneously satisfy these constraints? In this thesis, we present a model-driven framework to answer this question. The framework for automatic model discovery uses heterogeneous sources of knowledge to first setup a concise and relevant subset of a modelling domain specification called the effective modelling domain. Next, it transforms the effective modelling domain defined in possibly different languages to a constraint satisfaction problem in the unique formal specification language Alloy. Finally, the framework invokes a solver on the Alloy model to generate one or more effective models. We embody the framework in two tools: Pramana for model discovery in any modelling language and Avishkar for product discovery in a SPL. We validate our framework through rigorous experiments in test model generation, partial model completion, product generation in SPLs, and generation of web-service orchestrations. The results qualify that our framework consistently generates effective findings in modelling domains from commensurate case studies.

[1]  Gary T. Leavens,et al.  MultiJava: modular open classes and symmetric multiple dispatch for Java , 2000, OOPSLA '00.

[2]  Sébastien Gérard,et al.  Extending OCL to Ensure Model Transformations , 2007, ER Workshops.

[3]  Hans Vangheluwe,et al.  Domain-Specific Model Editors with Model Completion , 2008, MoDELS.

[4]  Larry Masinter,et al.  The Interlisp Programming Environment , 1981, Computer.

[5]  Sarfraz Khurshid,et al.  Korat: automated testing based on Java predicates , 2002, ISSTA '02.

[6]  Sarfraz Khurshid,et al.  Testing Software Product Lines Using Incremental Test Generation , 2008, 2008 19th International Symposium on Software Reliability Engineering (ISSRE).

[7]  Kyo Chul Kang,et al.  Feature-Oriented Domain Analysis (FODA) Feasibility Study , 1990 .

[8]  Nicolas Guelfi,et al.  A Flexible Requirements Analysis Approach for Software Product Lines , 2007, REFSQ.

[9]  Christodoulos A. Floudas,et al.  Automatic synthesis of optimum heat exchanger network configurations , 1986 .

[10]  Yves Le Traon,et al.  Mutation Analysis Testing for Model Transformations , 2006, ECMDA-FA.

[11]  Stuart Kent,et al.  Model Driven Engineering , 2002, IFM.

[12]  Sharad Malik,et al.  Zchaff2004: An Efficient SAT Solver , 2004, SAT (Selected Papers.

[13]  Ian Thomas,et al.  An overview of PCTE and PCTE+ , 1989, SDE 3.

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

[15]  Yves Le Traon,et al.  Barriers to systematic model transformation testing , 2010, Commun. ACM.

[16]  Xavier Crégut,et al.  The TOPCASED project : a toolkit in open source for critical aeronautic systems design , 2006 .

[17]  Albert Benveniste,et al.  Probabilistic QoS and Soft Contracts for Transaction-Based Web Services Orchestrations , 2008, IEEE Trans. Serv. Comput..

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

[19]  Myra B. Cohen,et al.  Coverage and adequacy in software product line testing , 2006, ROSATEA '06.

[20]  Anne Etien,et al.  Fine Grained Traceability for an MDE Approach of Embedded System Conception , 2008 .

[21]  W. Gutjahr Partition Testing versus Random Testing: the Innuence of Uncertainty , 1999 .

[22]  Jacques Klein,et al.  Reconciling Automation and Flexibility in Product Derivation , 2008, 2008 12th International Software Product Line Conference.

[23]  Ivar Jacobson,et al.  Object-Oriented Software Engineering , 1991, TOOLS.

[24]  Krzysztof Czarnecki,et al.  Formalizing cardinality-based feature models and their specialization , 2005, Softw. Process. Improv. Pract..

[25]  Behzad Bordbar,et al.  UML2ALLOY: A tool for lightweight modelling of discrete event systems , 2005, IADIS AC.

[26]  Doina Precup,et al.  Partial Model Completion in Model Driven Engineering using Constraint Logic Programming , 2007 .

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

[28]  Peter P. Chen The Entity-Relationship Model: Towards a unified view of Data , 1976 .

[29]  Kim B. Bruce,et al.  Semantics-Driven Language Design: Statically Type-safe Virtual Types in Object-oriented Languages , 1999, MFPS.

[30]  David Notkin,et al.  Gandalf: Software development environments , 1986, IEEE Transactions on Software Engineering.

[31]  Gabriele Taentzer,et al.  Generating Instance Models from Meta Models , 2006, FMOODS.

[32]  Gabor Karsai,et al.  Constraint-Based Design-Space Exploration and Model Synthesis , 2003, EMSOFT.

[33]  Jaejoon Lee,et al.  FORM: A feature-;oriented reuse method with domain-;specific reference architectures , 1998, Ann. Softw. Eng..

[34]  Vipin Kumar,et al.  Algorithms for Constraint-Satisfaction Problems: A Survey , 1992, AI Mag..

[35]  Adam A. Porter,et al.  Direct-dependency-based software compatibility testing , 2007, ASE.

[36]  André van der Hoek,et al.  Design-time product line architectures for any-time variability , 2004, Sci. Comput. Program..

[37]  Brad A. Myers,et al.  Design requirements for more flexible structured editors from a study of programmers' text editing , 2005, CHI Extended Abstracts.

[38]  Olivier Barais,et al.  Evaluation of Kermeta for solving graph-based problems , 2010, International Journal on Software Tools for Technology Transfer.

[39]  Benoit Baudry,et al.  On Combining Multi-formalism Knowledge to Select Models for Model Transformation Testing , 2008, 2008 1st International Conference on Software Testing, Verification, and Validation.

[40]  Pierre-Yves Schobbens,et al.  Feature Diagrams: A Survey and a Formal Semantics , 2006, 14th IEEE International Requirements Engineering Conference (RE'06).

[41]  Mark Hennessy,et al.  An analysis of rule coverage as a criterion in generating minimal test suites for grammar-based software , 2005, ASE.

[42]  Benoit Baudry,et al.  Automatic Model Generation Strategies for Model Transformation Testing , 2009, ICMT@TOOLS.

[43]  J. Czerwonka Pairwise Testing in the Real World : Practical Extensions to Test-Case Scenarios , 2011 .

[44]  Yves Le Traon,et al.  Qualifying input test data for model transformations , 2009, Software & Systems Modeling.

[45]  Ilya Shlyakhter,et al.  Generating effective symmetry-breaking predicates for search problems , 2001, Discrete Applied Mathematics.

[46]  Jean-Marc Jézéquel,et al.  Reflective Model Driven Engineering , 2003, UML.

[47]  Juan de Lara,et al.  AToM3: A Tool for Multi-formalism and Meta-modelling , 2002, FASE.

[48]  Myra B. Cohen,et al.  Interaction testing of highly-configurable systems in the presence of constraints , 2007, ISSTA '07.

[49]  W. Oechel,et al.  Automatic design and manufacture of robotic lifeforms , 2022 .

[50]  Krzysztof Czarnecki,et al.  SAT-based analysis of feature models is easy , 2009, SPLC.

[51]  Cristina V. Lopes,et al.  Aspect-Oriented Programming , 1997, ECOOP.

[52]  Juha Taina,et al.  Product family testing: a survey , 2004, SOEN.

[53]  Paul Clements,et al.  Software product lines - practices and patterns , 2001, SEI series in software engineering.

[54]  Daniel Jackson,et al.  Some Shortcomings of OCL, the Object Constraint Language of UML , 2000, TOOLS.

[55]  G. Johnson Interactive programming environments , 1987, Proceedings of the IEEE.

[56]  Krzysztof Czarnecki,et al.  Feature Diagrams and Logics: There and Back Again , 2007 .

[57]  Gabor Karsai,et al.  Composing Domain-Specific Design Environments , 2001, Computer.

[58]  Sergio Segura,et al.  FAMA: Tooling a Framework for the Automated Analysis of Feature Models , 2007, VaMoS.

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

[60]  Pierre-Yves Schobbens,et al.  Disambiguating the Documentation of Variability in Software Product Lines: A Separation of Concerns, Formalization and Automated Analysis , 2007, 15th IEEE International Requirements Engineering Conference (RE 2007).

[61]  Steven P. Reiss,et al.  Graphical program development with PECAN program development systems , 1984, SDE 1.

[62]  Hans Vangheluwe,et al.  Towards Domain-specific Model Editors with Automatic Model Completion , 2010, Simul..

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

[64]  Tomas Vagoun,et al.  Input domain partitioning in software testing , 1996, Proceedings of HICSS-29: 29th Hawaii International Conference on System Sciences.

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

[66]  Elaine J. Weyuker,et al.  Comparison of program testing strategies , 1991, TAV4.

[67]  Niklas Sörensson,et al.  An Extensible SAT-solver , 2003, SAT.

[68]  Richard J. Lipton,et al.  Hints on Test Data Selection: Help for the Practicing Programmer , 1978, Computer.

[69]  Brice Morin,et al.  Weaving variability into domain metamodels , 2010, Software & Systems Modeling.

[70]  Jacques Klein,et al.  Aspect-oriented multi-view modeling , 2009, AOSD '09.

[71]  John R. Koza,et al.  Automated Design of Both the Topology and Sizing of Analog Electrical Circuits Using Genetic Programming , 1996 .

[72]  Jean Bézivin,et al.  Model Transformations in Practice Workshop , 2005, MoDELS.

[73]  Emina Torlak,et al.  Kodkod: A Relational Model Finder , 2007, TACAS.

[74]  Bernhard Rumpe,et al.  Model-driven Development of Complex Software : A Research Roadmap , 2007 .

[75]  Indrakshi Ray,et al.  UML2Alloy: a challenging model transformation , 2007, MODELS'07.

[76]  Gail E. Kaiser,et al.  Incremental dynamic semantics for language-based programming environments , 1989, TOPL.

[77]  Grady Booch,et al.  Object-Oriented Analysis and Design with Applications , 1990 .

[78]  I. Rigoutsos,et al.  The emergence of pattern discovery techniques in computational biology. , 2000, Metabolic engineering.

[79]  Thomas Reps,et al.  A syntax-directed programming environment , 1981 .

[80]  Shane Sendall,et al.  Model Transformation: The Heart and Soul of Model-Driven Software Development , 2003, IEEE Softw..

[81]  Shari Lawrence Pfleeger,et al.  Experimental design and analysis in software engineering , 1995, Ann. Softw. Eng..

[82]  Krzysztof Czarnecki,et al.  Classification of Model Transformation Approaches , 2003 .

[83]  Toni Mancini,et al.  Finite Satisfiability of UML Class Diagrams by Constraint Programming , 2004, Description Logics.

[84]  Behzad Bordbar,et al.  MDA and Analysis of Web Applications , 2005, TEAA.

[85]  Jean-Marc Jézéquel,et al.  Weaving executability into object-oriented meta-languages , 2005, MoDELS'05.

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

[87]  John D. McGregor,et al.  Testing a Software Product Line , 2001, PSSE.

[88]  Albert Benveniste,et al.  Variability Modeling and QoS Analysis of Web Services Orchestrations , 2010, 2010 IEEE International Conference on Web Services.

[89]  Jim Steel,et al.  On model typing , 2007, Software & Systems Modeling.

[90]  Don S. Batory,et al.  Feature Models, Grammars, and Propositional Formulas , 2005, SPLC.

[91]  James E. Archer,et al.  Rational's experience using Ada for very large systems , 1986 .

[92]  K. D. Scheidemann Optimizing the selection of representative configurations in verification of evolving product lines of distributed embedded systems , 2006 .