TY - JOUR
T1 - A model-driven approach to reengineering processes in cloud computing
AU - Fahmideh, Mahdi
AU - Grundy, John
AU - Beydoun, Ghassan
AU - Zowghi, Didar
AU - Susilo, Willy
AU - Mougouei, Davoud
N1 - Funding Information:
We would like to thank our industry partners who provided detailed and constructive feedback in different stages of this research. We would like to express our special thanks to anonymous reviewers whose comments improved this paper. Finally, the work of Professor John Grundy was supported by the ARC Laureate Fellowship under Grant FL190100035.
Publisher Copyright:
© 2021
PY - 2022/4
Y1 - 2022/4
N2 - 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.
AB - 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.
KW - Cloud computing
KW - Legacy software applications
KW - Method engineering
KW - Model-driven software engineering
KW - Modeling
KW - Reengineering process
UR - http://www.scopus.com/inward/record.url?scp=85120909013&partnerID=8YFLogxK
U2 - 10.1016/j.infsof.2021.106795
DO - 10.1016/j.infsof.2021.106795
M3 - Article
AN - SCOPUS:85120909013
VL - 144
JO - Information and Software Technology
JF - Information and Software Technology
SN - 0950-5849
M1 - 106795
ER -