Concept-Based Engineering of Situation-Specific Migration Methods

  • Marvin Grieger
  • Masud Fazal-Baqaie
  • Gregor Engels
  • Markus Klenke
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9679)

Abstract

Software migration methods enable to reuse legacy systems by transferring them into new environments. Thereby, the method used needs to fit to the project’s situation by considering conceptual differences between the source and target environment and automating parts of the migration whenever suitable. Using an inappropriate migration method may lead to a decreased software quality or increased effort. Various method engineering approaches have been proposed to support the development of situation-specific migration methods. However, most do not provide a sufficient degree of flexibility when developing a method or fall short in guiding the endeavor. To address this problem, we introduce a situational method engineering framework to guide the development of model-driven migration methods by assembling predefined buildings blocks. The development is centered around the identification of concepts within a legacy system and the selection of suitable migration strategies. We evaluate the framework by an industrial project in which we migrated a legacy system from the domain of real estates to a new environment.

Keywords

Software migration Model-driven Concept modeling Method engineering Method base Method fragments Method patterns 

References

  1. 1.
    Barbier, F., Mohagheghi, P., Berre, A.J., et al.: Reuse and migration of legacy systems to interoperable cloud services - the REMICS project. In: 4th Workshop on Modeling, Design, and Analysis for the Service Cloud (2010)Google Scholar
  2. 2.
    Bergmayr, A., Bruneliere, H., Canovas Izquierdo, J.L., et al.: Migrating legacy software to the cloud with ARTIST. In: 17th European Conference on Software Maintenance and Reengineering, pp. 465–468 (2013)Google Scholar
  3. 3.
    Brunelière, H., Cabot, J., Dupé, G., et al.: MoDisco: a model driven reverse engineering framework. Inf. Softw. Technol. 56(8), 1012–1032 (2014)CrossRefGoogle Scholar
  4. 4.
    Chikofsky, E.J., Cross, J.H.I.: Reverse engineering and design recovery: a taxonomy. IEEE Softw. 7(1), 13–17 (1990)CrossRefGoogle Scholar
  5. 5.
    Fazal-Baqaie, M., Luckey, M., Engels, G.: Assembly-based method engineering with method patterns. In: Software Engineering 2013 Workshopband, pp. 435–444 (2013)Google Scholar
  6. 6.
    Fleurey, F., Breton, E., Baudry, B., Nicolas, A., Jézéquel, J.-M.: Model-driven engineering for software migration in a large industrial context. In: Engels, G., Opdyke, B., Schmidt, D.C., Weil, F. (eds.) MODELS 2007. LNCS, vol. 4735, pp. 482–497. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  7. 7.
    Grieger, M., Fazal-Baqaie, M.: Towards a framework for the modular construction of situation-specific software transformation methods. In: 17th Workshop Software-Reengineering and Evolution, pp. 41–42 (2015)Google Scholar
  8. 8.
    Grieger, M., Fazal-Baqaie, M., Klenke, M., Sauer, S.: A method to systematically improve the effectiveness and efficiency of the semi-automatic migration of legacy systems. In: 16th Workshop Software-Reengineering and Evolution, pp. 77–78 (2014)Google Scholar
  9. 9.
    Grieger, M., Sauer, S., Klenke, M.: Architectural restructuring by semi-automatic clustering to facilitate migration towards a service-oriented architecture. In: 2nd Workshop Model-Based and Model-Driven Software Modernization, pp. 44–45 (2014)Google Scholar
  10. 10.
    Heckel, R., Correia, R., Matos, C., et al.: Architectural transformations: from legacy to three-tier and services. Software Evolution, pp. 139–170. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  11. 11.
    Henderson-Sellers, B., Ralyté, J., Ågerfalk, P.J., Rossi, M.: Situational Method Engineering. Springer, Heidelberg (2014)CrossRefGoogle Scholar
  12. 12.
    Kazman, R., Woods, S.G., Carrière, S.J.: Requirements for integrating software architecture and reengineering models: CORUM II. In: 5th Working Conference on Reverse Engineering, pp. 154–163 (1998)Google Scholar
  13. 13.
    Kozaczynski, W., Ning, J., Engberts, A.: Program concept recognition and transformation. IEEE Trans. Software Eng. 18, 1065–1075 (1992)CrossRefGoogle Scholar
  14. 14.
    Niere, J., Schäfer, W., Wadsack, J., Wendehals, L., Welsh, J.: Towards pattern-based design recovery. In: 24th International Conference on Software Engineering, pp. 338–348 (2002)Google Scholar
  15. 15.
    OMG: Architecture-Driven Modernization: Abstract Syntax Tree Metamodel (ASTM) (2011). http://www.omg.org/spec/ASTM/1.0/
  16. 16.
    OMG: Architecture-Driven Modernization: Knowledge Discovery Meta-Model (KDM) (2011). http://www.omg.org/spec/KDM/1.3
  17. 17.
    Ramón, Ó.S., Cuadrado, J.S., Molina, J.G.: Model-driven reverse engineering of legacy graphical user interfaces. In: 25th International Conference on Automated Software Engineering, pp. 147–150 (2010)Google Scholar
  18. 18.
    Razavian, M., Lago, P.: A systematic literature review on soa migration. J. Softw. Evol. Process 27(5), 337–372 (2015)CrossRefGoogle Scholar
  19. 19.
    Sneed, H.M.: Estimating the costs of a reengineering project. In: 12th Working Conference on Reverse Engineering, pp. 111–119 (2005)Google Scholar
  20. 20.
    Ulrich, W.M., Newcomb, P.: Information Systems Transformation: Architecture-Driven Modernization Case Studies. Morgan Kaufmann Publishers, San Francisco (2010)Google Scholar
  21. 21.
    Zimmermann, O.: An architectural decision modeling framework for service-oriented architecture design. Ph.D. thesis (2009)Google Scholar

Copyright information

© Springer International Publishing Switzerland 2016

Authors and Affiliations

  • Marvin Grieger
    • 1
  • Masud Fazal-Baqaie
    • 1
  • Gregor Engels
    • 1
  • Markus Klenke
    • 2
  1. 1.s-lab – Software Quality LabPaderborn UniversityPaderbornGermany
  2. 2.TEAM GmbHPaderbornGermany

Personalised recommendations