A Model-Driven Approach to Reengineering Processes in Cloud Computing

Context. The reengineering process of large data-intensive legacy software applications (“legacy applications” for brevity) to cloud platforms involves different interrelated activities. These activities are related to planning, architecture design, re-hosting/lift-shift, code refactoring, and other related ones. In this regard, the cloud computing literature has seen the emergence of different methods with a disparate point of view of the same underlying legacy application reengineering process to cloud platforms. As such, the effective interoperability and tailoring of these methods become problematic due to the lack of integrated and consistent standard models. Objective. We design, implement, and evaluate a novel framework called MLSAC (Migration of Legacy Software Applications to the Cloud). The core aim of MLSAC is to facilitate the sharing and tailoring of reengineering methods for migrating legacy applications to cloud platforms. MLSAC achieves this by using a collection of coherent and empirically tested cloud-specific method fragments from the literature and practice. A metamodel (or meta-method) together with corresponding instantiation guidelines is developed from this collection. The metamodel can also be used to create and maintain bespoke reengineering methods in a given scenario of reengineering to cloud platforms. Approach. MLSAC is underpinned by a metamodeling approach that acts as a representational layer to express reengineering methods. The design and evaluation of MLSAC are informed by the guidelines from the design science research approach. Results. Our framework is an accessible guide of what legacy-to-cloud reengineering methods can look like. The efficacy of the framework is demonstrated by modeling real-world reengineering scenarios and obtaining user feedback. Our findings show that the framework provides a fully-fledged domain-specific, yet platform-independent, foundation for the semi-automated representing, maintaining, sharing, and tailoring reengineering methods. MLSAC contributes to the state of the art of cloud computing and model-driven software engineering literature through (a) providing a collection of mainstream method fragments for incorporate into various scenarios of reengineering processes and (b) enabling a basis for consistent creation, representation, and maintenance of reengineering methods and processes within the cloud computing community.

[1]  Anneke Kleppe,et al.  MDA explained - the Model Driven Architecture: practice and promise , 2003, Addison Wesley object technology series.

[2]  Simon Moser,et al.  Topology and Orchestration Specification for Cloud Applications Version 1.0 , 2013 .

[3]  Dana Petcu,et al.  MODAClouds: A model-driven approach for the design and execution of applications on multiple Clouds , 2012, 2012 4th International Workshop on Modeling in Software Engineering (MISE).

[4]  Brian Henderson-Sellers,et al.  Situational Method Engineering: State-of-the-Art Review , 2010, J. Univers. Comput. Sci..

[5]  Shams Tabrez Siddiqui,et al.  Why Adopting Cloud Is Still a Challenge?—A Review on Issues and Challenges for Cloud Migration in Organizations , 2019, Advances in Intelligent Systems and Computing.

[6]  Pearl Brereton,et al.  Systematic literature reviews in software engineering - A systematic literature review , 2009, Inf. Softw. Technol..

[7]  Trisha Greenhalgh,et al.  How to read a paper: Papers that go beyond numbers (qualitative research) , 1997 .

[8]  Jurriaan Hage,et al.  A method engineering based legacy to SOA migration method , 2011, 2011 27th IEEE International Conference on Software Maintenance (ICSM).

[9]  Harry M. Sneed,et al.  Planning the Reengineering of Legacy Systems , 1995, IEEE Softw..

[10]  O. Robinson Sampling in Interview-Based Qualitative Research: A Theoretical and Practical Guide , 2014 .

[11]  Zahir Tari,et al.  Migration of a SCADA system to IaaS clouds – a case study , 2017, Journal of Cloud Computing.

[12]  Ritu Sharma,et al.  A Model-Driven Approach to Cloud SaaS Interoperability , 2011 .

[13]  Mahdi Fahmideh,et al.  A generic cloud migration process model , 2018, Eur. J. Inf. Syst..

[14]  Raman Ramsin,et al.  Strategies for Improving MDA-Based Development Processes , 2010, 2010 International Conference on Intelligent Systems, Modelling and Simulation.

[15]  Frank Leymann,et al.  Compliant Cloud Computing (C3): Architecture and Language Support for User-Driven Compliance Management in Clouds , 2010, 2010 IEEE 3rd International Conference on Cloud Computing.

[16]  Wilhelm Hasselbring,et al.  Model-Based Migration of Legacy Software Systems to Scalable and Resource-Efficient Cloud-Based Applications: The CloudMIG Approach , 2010 .

[17]  Andrea Polini,et al.  Evaluation of Cloud Portability of Legacy Applications , 2018, 2018 IEEE/ACM International Conference on Utility and Cloud Computing Companion (UCC Companion).

[18]  Colin Atkinson,et al.  Model-Driven Development: A Metamodeling Foundation , 2003, IEEE Softw..

[19]  Ladan Tahvildari,et al.  A Reference Model for Developing Cloud Applications , 2011, CLOSER.

[20]  Gerti Kappel,et al.  A Systematic Review of Cloud Modeling Languages , 2018, ACM Comput. Surv..

[21]  Parastoo Mohagheghi,et al.  Towards CloudML, a Model-based Approach to Provision Resources in the Clouds , 2012 .

[22]  Graham Low,et al.  Conceptualising Cloud Migration Process , 2016 .

[23]  Mahdi Fahmideh,et al.  Cloud Migration Methodologies: Preliminary Findings , 2016, ESOCC Workshops.

[24]  Samir Chatterjee,et al.  A Design Science Research Methodology for Information Systems Research , 2008 .

[25]  Muhammad Ali Babar,et al.  Towards Process Support for Migrating Applications to Cloud Computing , 2012, 2012 International Conference on Cloud and Service Computing.

[26]  Claes Wohlin,et al.  Empirical Research Methods in Software Engineering , 2003, ESERNET.

[27]  Kamran Zamanifar,et al.  CaaSSET: A Framework for Model-Driven Development of Context as a Service , 2020, Future Gener. Comput. Syst..

[28]  Gadadhar Sahoo,et al.  Exploring the factors influencing the cloud computing adoption: a systematic study on cloud migration , 2015, SpringerPlus.

[29]  Mahdi Fahmideh,et al.  A Procedure for Extracting Software Development Process Patterns , 2010, 2010 Fourth UKSim European Symposium on Computer Modeling and Simulation.

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

[31]  Mahdi Fahmideh,et al.  An exploration of IoT platform development , 2020, Inf. Syst..

[32]  Amjad Umar,et al.  Reengineering for service oriented architectures: A strategic decision model for integration versus migration , 2009, J. Syst. Softw..

[33]  Hannes Schwarz,et al.  Model-Driven Software Development , 2013 .

[34]  Muli Ben-Yehuda,et al.  The Reservoir model and architecture for open federated cloud computing , 2009, IBM J. Res. Dev..

[35]  José Antonio Lozano,et al.  A Review of Auto-scaling Techniques for Elastic Applications in Cloud Environments , 2014, Journal of Grid Computing.

[36]  Hong Zhou,et al.  An Ontology-Based Approach to Reengineering Enterprise Software for Cloud Computing , 2010, 2010 IEEE 34th Annual Computer Software and Applications Conference.

[37]  Hatim Hafiddi,et al.  Requirements definition for a holistic approach of cloud computing governance , 2015, 2015 IEEE/ACS 12th International Conference of Computer Systems and Applications (AICCSA).

[38]  Frank Leymann,et al.  Integrating Configuration Management with Model-driven Cloud Management based on TOSCA , 2013, CLOSER.

[39]  E. Michael Maximilien,et al.  Toward cloud-agnostic middlewares , 2009, OOPSLA Companion.

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

[41]  Vicente Pelechano,et al.  On the usefulness and ease of use of a model-driven Method Engineering approach , 2015, Inf. Syst..

[42]  Richard F. Paige,et al.  Model Migration with Epsilon Flock , 2010, ICMT@TOOLS.

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

[44]  Brian Henderson-Sellers,et al.  Bridging metamodels and ontologies in software engineering , 2011, J. Syst. Softw..

[45]  Mahdi Fahmideh,et al.  Software Engineering for Internet of Things: The Practitioners' Perspective , 2021, IEEE Transactions on Software Engineering.

[46]  J Glaser,et al.  Separation of Concerns , 2014 .

[47]  Alessandro Bianchi,et al.  Iterative Reengineering of Legacy Systems , 2003, IEEE Trans. Software Eng..

[48]  Frank Leymann,et al.  A GENTL Approach for Cloud Application Topologies , 2014, ESOCC.

[49]  Olivier Barais,et al.  A Precise Metamodel for Open Cloud Computing Interface , 2015, 2015 IEEE 8th International Conference on Cloud Computing.

[50]  Brian Fitzgerald,et al.  Customising agile methods to software practices at Intel Shannon , 2006, Eur. J. Inf. Syst..

[51]  Carlos Canal,et al.  A UML Profile for Modeling Multicloud Applications , 2013, ESOCC.

[52]  Arne Sølvberg,et al.  Understanding quality in conceptual modeling , 1994, IEEE Software.

[53]  Guido Wachsmuth,et al.  Metamodel Adaptation and Model Co-adaptation , 2007, ECOOP.

[54]  Pär J. Ågerfalk,et al.  Method configuration: adapting to situational characteristics while creating reusable assets , 2004, Inf. Softw. Technol..

[55]  Wilhelm Hasselbring,et al.  The CloudMIG Approach: Model-Based Migration of Software Systems to Cloud-Optimized Applications , 2012 .

[56]  Andreas Menychtas,et al.  ARTIST Methodology and Framework: A Novel Approach for the Migration of Legacy Software on the Cloud , 2013, 2013 15th International Symposium on Symbolic and Numeric Algorithms for Scientific Computing.

[57]  Regina Hebig,et al.  Approaches to Co-Evolution of Metamodels and Models: A Survey , 2017, IEEE Transactions on Software Engineering.

[58]  Alan R. Hevner,et al.  POSITIONING AND PRESENTING DESIGN SCIENCE RESEARCH FOR MAXIMUM IMPACT 1 , 2013 .

[59]  Adel Alkhalil,et al.  A decision process model to support migration to cloud computing , 2017, Int. J. Bus. Inf. Syst..

[60]  Guilherme Galante,et al.  A Survey on Cloud Computing Elasticity , 2012, 2012 IEEE Fifth International Conference on Utility and Cloud Computing.

[61]  Alexander Egyed,et al.  Reengineering legacy applications into software product lines: a systematic mapping , 2017, Empirical Software Engineering.

[62]  Mahdi Fahmideh,et al.  Cloud migration process - A survey, evaluation framework, and open challenges , 2016, J. Syst. Softw..

[63]  Frank Leymann,et al.  How to adapt applications for the Cloud environment , 2012, Computing.

[64]  Maryam Razavian,et al.  A lean and mean strategy: a data migration industrial study , 2014, J. Softw. Evol. Process..

[65]  Arie van Deursen,et al.  Realizing service migration in industry—lessons learned , 2011, J. Softw. Evol. Process..

[66]  Eleni Stroulia,et al.  From legacy to Web through interaction modeling , 2002, International Conference on Software Maintenance, 2002. Proceedings..

[67]  Tore Dybå,et al.  Measuring software methodology usage: challenges of conceptualization and operationalization , 2005, 2005 International Symposium on Empirical Software Engineering, 2005..

[68]  Tom Mens,et al.  A Taxonomy of Model Transformation , 2006, GRaMoT@GPCE.

[69]  Mahdi Fahmideh,et al.  Challenges in migrating legacy software systems to the cloud - an empirical study , 2017, Inf. Syst..

[70]  Brian Henderson-Sellers,et al.  Granularity in Conceptual Modelling: Application to Metamodels , 2010, ER.

[71]  Jurriaan Hage,et al.  How do professionals perceive legacy systems and software modernization? , 2014, ICSE.