A tool to support the definition and enactment of model-driven migration processes

A tool to ease the implementation of MDE-based migration processes is presented.Enactment of MDE-based migration process models is supported.When process models are enacted, manual tasks are added to a task management tool.Lack of enactment of SPEM is overcome with a DSL for defining migration processes.Open source tools (e.g. Mylyn) are used to manage manual tasks in MDE processes. One of the main challenges to achieve the industrial adoption of Model-Driven Engineering (MDE) paradigm is building tools able to support model-driven software processes. We present a tool for the definition and enactment of model-driven migration processes. We have created a SPEM-based language for defining Abstract Migration models that represent an MDE migration solution for a particular pair of source and target technologies. For each legacy application to be migrated, the Abstract Migration model is transformed into a Concrete Migration model which contains all the information needed for the enactment. Then, these models are enacted by means of a process interpreter which generates Trac tickets for executing automated tasks by means of Ant scripts and managing manual tasks with the Mylyn tool.Our work has therefore two main contributions: i) it proposes a novel solution for the enactment that integrates the execution of the automated tasks with the generation of tickets to support the manual tasks, and ii) it describes how MDE techniques can be used to implement process engineering tools, in particular migration processes. The article presents the approach and describes in detail the essential aspects of our tool.

[1]  Vicente Pelechano Automating the development of information systems with the MOSKitt open source tool , 2012, 2012 Sixth International Conference on Research Challenges in Information Science (RCIS).

[2]  Grace A. Lewis,et al.  Modernizing Legacy Systems - Software Technologies, Engineering Processes, and Business Practices , 2003, SEI series in software engineering.

[3]  Jean Bézivin,et al.  Model driven process engineering , 2001, 25th Annual International Computer Software and Applications Conference. COMPSAC 2001.

[4]  Kalle Lyytinen,et al.  MetaEdit+: A Fully Configurable Multi-User and Multi-Tool CASE and CAME Environment , 1996, CAiSE.

[5]  Francisco Curbera,et al.  Web Services Business Process Execution Language Version 2.0 , 2007 .

[6]  Ali Koudri,et al.  MODAL: A SPEM Extension to Improve Co-design Process Models , 2010, ICSP.

[7]  Jesús Sánchez Cuadrado,et al.  Building Domain-Specific Languages for Model-Driven Development , 2007, IEEE Software.

[8]  Bran Selic,et al.  What will it take? A view on adoption of model-based methods in practice , 2012, Software & Systems Modeling.

[9]  Aniruddha S. Gokhale,et al.  Domain-Specific Modeling , 2008, Handbook of Dynamic System Modeling.

[10]  Jordi Cabot,et al.  Model-Driven Software Engineering in Practice , 2017, Synthesis Lectures on Software Engineering.

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

[12]  Frank Leymann,et al.  WS-BPEL Extension for People ? BPEL4People , 2005 .

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

[14]  Volker Gruhn Process-Centered Software Engineering Environments, A Brief History and Future Challenges , 2002, Ann. Softw. Eng..

[15]  Holger Giese,et al.  A build server for model-driven engineering , 2012, MPM '12.

[16]  Brian Henderson-Sellers,et al.  Metamodelling for software engineering , 2008 .

[17]  Philip H. Newcomb,et al.  Information Systems Transformation: Architecture-Driven Modernization Case Studies , 2010 .

[18]  Jean-Marc Jézéquel,et al.  Model-driven engineering for software migration in a large industrial context , 2007, MODELS'07.

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

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

[21]  Leonardo Mariani,et al.  MASH: tool integration made easy , 2013, Softw. Pract. Exp..

[22]  Benoît Combemale,et al.  Definition of an Executable SPEM 2.0 , 2007, 14th Asia-Pacific Software Engineering Conference (APSEC'07).

[23]  Eugene Syriani,et al.  Automating activities in MDE tools , 2016, 2016 4th International Conference on Model-Driven Engineering and Software Development (MODELSWARD).

[24]  James H. Cross,et al.  Reverse engineering and design recovery: a taxonomy , 1990, IEEE Software.

[25]  Eelco Visser,et al.  DSL Engineering - Designing, Implementing and Using Domain-Specific Languages , 2013 .

[26]  Rita Suzana Pitangueira Maciel,et al.  Supporting model-driven development using a process-centered software engineering environment , 2013, Automated Software Engineering.

[27]  Mario Piattini,et al.  Architecture-Driven Modernization , 2011 .

[28]  Jesús Sánchez Cuadrado,et al.  Morsa: a scalable approach for persisting and accessing large models , 2011, MODELS'11.

[29]  Michael Philippsen,et al.  eSPEM - A SPEM Extension for Enactable Behavior Modeling , 2010, ECMFA.

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

[31]  Leon J. Osterweil,et al.  Software processes are software too , 1987, ISPW.

[32]  Jesús García Molina,et al.  Definition of processes for MDE-based migrations , 2013, PMDE@ECOOP.

[33]  Mik Kersten,et al.  Using task context to improve programmer productivity , 2006, SIGSOFT '06/FSE-14.

[34]  Michael Philippsen,et al.  An Integrated Tool Chain for Software Process Modeling and Execution , 2012 .

[35]  Jesús Sánchez Cuadrado,et al.  Model-driven reverse engineering of legacy graphical user interfaces , 2010, ASE.

[36]  Jesús Sánchez Cuadrado,et al.  RubyTL: A Practical, Extensible Transformation Language , 2006, ECMDA-FA.

[37]  Jean-Marc Jézéquel,et al.  Achieving process modeling and execution through the combination of aspect and model‐driven engineering approaches , 2012, J. Softw. Evol. Process..

[38]  Jesús García Molina,et al.  A Domain Specific Language for Extracting Models in Software Modernization , 2009, ECMDA-FA.

[39]  Jesús Sánchez Cuadrado,et al.  Modularization of model transformations through a phasing mechanism , 2009, Software & Systems Modeling.

[40]  Richard F. Paige,et al.  The Epsilon Transformation Language , 2008, ICMT@TOOLS.

[41]  Fahad Rafique Golra,et al.  Generation of dynamic process models for multi-metamodel applications , 2012, 2012 International Conference on Software and System Process (ICSSP).

[42]  Watts S. Humphrey,et al.  Software process development and enactment: concepts and definitions , 1993, [1993] Proceedings of the Second International Conference on the Software Process-Continuous Software Process Improvement.

[43]  Marie-Pierre Gervais,et al.  UML4SPM: a UML2.0-Based metamodel for software process modelling , 2005, MoDELS'05.

[44]  Vicente Pelechano,et al.  A Methodological Framework and Software Infrastructure for the Construction of Software Production Methods , 2010, ICSP.