Search-Based Model-Driven Engineering

Model-Driven Engineering (MDE) is a software engineering approach that treats models as the primary development artefacts. Models are manipulated, using model management operations (MMO), in order to perform engineering tasks such as comparison, validation, and code generation. We propose that many of the challenges faced in MDE could be addressed using Search-Based Software Engineering (SBSE) techniques: the two approaches, MDE and SBSE, are natural partners. However, a significant barrier preventing widespread application of SBSE to MDE is a suitable representation of MDE models that is amenable to metaheuristic search algorithms while also applicable across a wide range of MDE problem domains. This paper presents such a representation and describes an implementation using a widely used MDE toolset. We illustrate the utility of the representation by applying it to the white-box analysis of three MMOs. Furthermore, we discuss other areas of MDE which could benefit from the application of SBSE techniques, and highlight research opportunities for combining the two fields.

[1]  Frank Budinsky,et al.  EMF: Eclipse Modeling Framework 2.0 , 2009 .

[2]  P. Cochat,et al.  Et al , 2008, Archives de pediatrie : organe officiel de la Societe francaise de pediatrie.

[3]  Houari A. Sahraoui,et al.  Searching the Boundaries of a Modeling Space to Test Metamodels , 2012, 2012 IEEE Fifth International Conference on Software Testing, Verification and Validation.

[4]  Yves Le Traon,et al.  Model Transformation Testing Challenges , 2006 .

[5]  Phil McMinn,et al.  Search-Based Software Testing: Past, Present and Future , 2011, 2011 IEEE Fourth International Conference on Software Testing, Verification and Validation Workshops.

[6]  Riccardo Poli,et al.  A Linear Estimation-of-Distribution GP System , 2008, EuroGP.

[7]  Riccardo Poli,et al.  A Field Guide to Genetic Programming , 2008 .

[8]  Richard F. Paige,et al.  Taming EMF and GMF using model transformation , 2010, MODELS'10.

[9]  B. Baudry,et al.  Validation in model-driven engineering: testing model transformations , 2004, Proceedings. 2004 First International Workshop on Model, Design and Validation, 2004..

[10]  Richard F. Paige,et al.  Sensitivity analysis in model-driven engineering , 2012, MODELS'12.

[11]  Mark Harman,et al.  Reformulating software engineering as a search problem , 2003 .

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

[13]  Richard F. Paige,et al.  The Epsilon Object Language (EOL) , 2006, ECMDA-FA.

[14]  Mark Rouncefield,et al.  Empirical assessment of MDE in industry , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[15]  Elmar Jürgens,et al.  COPE - Automating Coupled Evolution of Metamodels and Models , 2009, ECOOP.

[16]  David E. Goldberg,et al.  The Design of Innovation: Lessons from and for Competent Genetic Algorithms , 2002 .

[17]  Julian Francis Miller,et al.  Redundancy and computational efficiency in Cartesian genetic programming , 2006, IEEE Transactions on Evolutionary Computation.

[18]  Richard F. Paige,et al.  Identifying Desirable Game Character Behaviours through the Application of Evolutionary Algorithms to Model-Driven Engineering Metamodels , 2011, SSBSE.

[19]  Heather Goldsby,et al.  Avida-MDE: a digital evolution approach to generating models of adaptive software behavior , 2008, GECCO '08.

[20]  Julie Clacy,et al.  In line. , 1988, Nursing standard (Royal College of Nursing (Great Britain) : 1987).

[21]  Michel R. V. Chaudron,et al.  Towards automated software architectures design using model transformations and evolutionary algorithms , 2010, GECCO '10.

[22]  Franz Rothlauf,et al.  Representations for genetic and evolutionary algorithms (2. ed.) , 2006 .

[23]  Bran Selic,et al.  The Pragmatics of Model-Driven Development , 2003, IEEE Softw..

[24]  Phil McMinn,et al.  Search‐based software test data generation: a survey , 2004, Softw. Test. Verification Reliab..

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

[26]  Krzysztof Czarnecki,et al.  Feature-based survey of model transformation approaches , 2006, IBM Syst. J..

[27]  Gerard J. Holzmann,et al.  The SPIN Model Checker , 2003 .

[28]  Mark Harman,et al.  Search-based software engineering , 2001, Inf. Softw. Technol..

[29]  A. E. Eiben,et al.  On-Line, On-Board Evolution of Robot Controllers , 2009, Artificial Evolution.

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

[31]  Houari A. Sahraoui,et al.  Search-based model transformation by example , 2010, Software & Systems Modeling.

[32]  Tom Mens,et al.  Challenges in Model-Driven Software Engineering , 2009, MoDELS.

[33]  Mark Harman,et al.  The Current State and Future of Search Based Software Engineering , 2007, Future of Software Engineering (FOSE '07).

[34]  Editors , 2003 .

[35]  Richard F. Paige,et al.  Solving Acquisition Problems Using Model-Driven Engineering , 2012, ECMFA.