Most present systems are never finished or completed. They often need to undergo some changes, concerning for instance user’s requirements or data formats, or in order to fix bugs and problems, improve the system efficiency or change the operating environment. This set of procedures is called “software maintenance”, which is an important phase in the life cycle of any system. However, it is more difficult to maintain a system than to develop it, but it is not difficult to maintain a maintainable system that is extensible and adaptable for any future changes. A model driven system can be considered as maintainable; it is a result of platform independent models transformation. In this work, we have focused on an approach to automate the process of software maintenance. It is a model-driven software evolution concept based on Architecture-Driven Modernization (ADM) approach in which models replace the source code as the key artifact. The objective of the entire process is building a NooJ web application without errors, easy to modify and apt to receive new features. This process contains three phases: the model-driven reengineering, the refinement and the model-driven migration.


Architecture-Driven Modernization (ADM) Model-driven evolution Parsing Model-driven engineering Refinement Migration Xtext Knowledge Discovery Model (KDM) Abstract Syntax Tree Meta-model (ASTM) NooJ application Grammar graphical editor HtMLM JavaScriptM 


  1. 1.
    Fürnweger, A., Auer, M., Biffl, S.: Software evolution of legacy systems - a case study of soft-migration. In: Proceedings of the 18th International Conference on Enterprise Information Systems (2016).
  2. 2.
    Gotti, Z., Mbarki, S.: Java swing modernization approach - complete abstract representation based on static and dynamic analysis. In: Proceedings of the 11th International Joint Conference on Software Technologies (2016).
  3. 3.
    Platform Level Task Force. In: ADM Platform Task Force|Object Management Group.
  4. 4.
    Wagner, C.: Model-driven software migration. Model-Driven Software Migration: A Methodology, pp. 67–105. Springer, Wiesbaden (2014). Scholar
  5. 5.
    Knowledge Discovery Metamodel (KDM).
  6. 6.
    Silberztein, M.: NooJ. In: Proceedings of HLT/EMNLP on Interactive Demonstrations (2005).
  7. 7.
    Bézivin, J.: Model driven engineering: an emerging technical space. In: Lämmel, R., Saraiva, J., Visser, J. (eds.) GTTSE 2005. LNCS, vol. 4143, pp. 36–64. Springer, Heidelberg (2006). Scholar
  8. 8.
    Efftinge, S., Spoenemann, M.: Why Xtext? In: Xtext - Language Engineering Made Easy!
  9. 9.
    About the MOF Query/View/Transformation Specification Version 1.3.
  10. 10.
    Obeo Acceleo. In: The Eclipse Foundation.
  11. 11.
    Konva.js - JavaScript 2d canvas library. In: Konva.js - JavaScript 2d canvas library.
  12. 12.
    Van Deursen, A., Visser, E., Warmer, J.: Model-driven software evolution: a research agenda. Technical Report Series TUD-SERG-2007-006 (2007)Google Scholar
  13. 13.
    Gotti, Z., Mbarki, S., Gotti, S., Laaz, N.: Nooj graphical user interfaces modernization. In: Mbarki, S., Mourchid, M., Silberztein, M. (eds.) NooJ 2017. CCIS, vol. 811, pp. 227–239. Springer, Cham (2018). Scholar
  14. 14.
    Angulo, G., Martín, D.S., Santos, B., et al.: An approach for creating KDM2PSM transformation engines in ADM context. In: Proceedings of the VII Brazilian Symposium on Software Components, Architectures, and Reuse on - SBCARS 2018 (2018).

Copyright information

© Springer Nature Switzerland AG 2019

Authors and Affiliations

  • Zineb Gotti
    • 1
    Email author
  • Samir Mbarki
    • 1
  • Naziha Laaz
    • 1
  • Sara Gotti
    • 1
  1. 1.MISC Laboratory, Faculty of ScienceIbn Tofail UniversityKenitraMorocco

Personalised recommendations