Advertisement

Harvesting Software Systems for MDA-Based Reengineering

  • Thijs Reus
  • Hans Geers
  • Arie van Deursen
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4066)

Abstract

In this paper we report on a feasibility study in reengineering legacy systems towards a model-driven architecture (MDA). Steps in our approach consist of (1) parsing the source code of the legacy system according to a grammar; (2) mapping the abstract syntax trees thus obtained to a grammar model that is defined in the Meta-Object Facility (MOF); (3) using model to model (M2M) transformations to turn the grammar model into a generic meta-model, called GenericAST, in which information about software systems can be stored in a language-independent way; (4) mapping the GenericAST models, again using M2M transformations, to UML models that can be either used for code generation or for documentation purposes. The steps have been implemented in a prototype model harvesting tool that is based on ArcStyler, the MDA environment provided by Interactive Objects. Our paper presents this approach, and reports on our experiences in applying the method to a 178 KLOC production system from the insurance domain written in PL/SQL.

Keywords

Model Transformation Model Drive Architecture Abstract Syntax Tree Meta Object Facility Model Drive Architecture 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Al-Ekram, R., Kontogiannis, K.: An XML-based framework for language neutral program representation and generic analysis. In: CSMR 2005: Proceedings of the Ninth European Conference on Software Maintenance and Reengineering (CSMR 2005), Washington, DC, USA, pp. 42–51. IEEE Computer Society, Los Alamitos (2005)CrossRefGoogle Scholar
  2. 2.
    Alanen, M., Porres, I.: A relation between context-free grammars and meta object facility meta-models. Technical Report 606, TUCS Turku Center for Computer Science (2003)Google Scholar
  3. 3.
    Boronat, A., Carsi, J.A., Ramos, I.: Automatic reengineering in MDA using rewriting logic as transformation engine. In: CSMR 2005: Proceedings of the Ninth European Conference on Software Maintenance and Reengineering (CSMR 2005), Washington, DC, USA, pp. 228–231. IEEE Computer Society, Los Alamitos (2005)CrossRefGoogle Scholar
  4. 4.
    Cepa, V., Mezini, M.: Language support for model-driven software development. Science of Computer Programming (2006); Special issue on model-driven architectures (to appear)Google Scholar
  5. 5.
    Chikofsky, E.J., Cross, J.H.: Reverse engineering and design recovery: a taxonomy. IEEE Software, 13–17 (January 1990)Google Scholar
  6. 6.
    van Deursen, A., Hofmeister, C., Koschke, R., Moonen, L., Riva, C.: Symphony: View-driven software architecture reconstruction. In: Proceedings Working IEEE/IFIP Conference on Software Architecture (WICSA 2004), pp. 122–134. IEEE Computer Society Press, Los Alamitos (2004)CrossRefGoogle Scholar
  7. 7.
    van Deursen, A., Klint, P., Verhoef, C.: Research issues in software renovation. In: Finance, J.-P. (ed.) ETAPS 1999 and FASE 1999. LNCS, vol. 1577, pp. 1–21. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  8. 8.
    van Deursen, A., Kuipers, T.: Building documentation generators. In: Proceedings International Conference on Software Maintenance, pp. 40–49. IEEE Computer Society, Los Alamitos (1999)Google Scholar
  9. 9.
    Doyle, D.: Transforming proprietary domain-specific modeling languages to model-driven architectures. Master’s thesis, Delft University of Technology (2005), http://swerl.tudelft.nl
  10. 10.
    Favre, J.-M., Nguyen, T.: Towards a megamodel to model software evolution through transformations. Electr. Notes Theor. Comput. Sci. 127(3), 59–74 (2005)CrossRefGoogle Scholar
  11. 11.
    ADM Task Force. Architecture-driven modernization roadmap. Technical report, OMG, Draft #1 dated 1/12/2006 (2006), adm.omg.org
  12. 12.
    Ford, B.: Parsing expression grammars: a recognition-based syntactic foundation. In: Proceedings of the 31st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pp. 111–122. ACM, New York (2004)CrossRefGoogle Scholar
  13. 13.
    Gannod, G., Carey, M.: Evolution of java programs to a model-driven environment using EMF. In: Proceedings EDOC Workshop on Model-Driven Evolution of Legacy Systems (MELS). IEEE Computer Society Digital Library, Los Alamitos (2004)Google Scholar
  14. 14.
    Java Specification Requests. JSR 040: Java Metadata Interface (JMI) Specification Version 1.0 (2002)Google Scholar
  15. 15.
    Kurtev, I., Bézevin, J., Aksit, M.: Technological spaces: An initial appraisal. In: Meersman, R., Tari, Z., et al. (eds.) CoopIS 2002, DOA 2002, and ODBASE 2002. LNCS, vol. 2519. Springer, Heidelberg (2002) (Industrial Track)Google Scholar
  16. 16.
    Mansurov, N., Campara, D.: Managed architecture of existing code as a practical transition towards MDA. In: Jardim Nunes, N., Selic, B., Rodrigues da Silva, A., Toval Alvarez, A. (eds.) UML Satellite Activities 2004. LNCS, vol. 3297, pp. 219–233. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  17. 17.
    Moonen, L.: Exploring Software Systems. PhD thesis, Faculty of Natural Sciences, Mathematics, and Computer Science, University of Amsterdam (December 2002)Google Scholar
  18. 18.
    Moonen, L.: Lightweight impact analysis using island grammars. In: Proceedings of the 10th International Workshop on Program Comprehension (IWPC 2002). IEEE Computer Society Press, Los Alamitos (2002)Google Scholar
  19. 19.
    OMG. Meta Object Facility (MOF) 2.0 Query/View/Transformation Specification. Final Adopted Specification, ptc/05-11-01 (2002)Google Scholar
  20. 20.
    OMG. Meta Object Facility (MOF) Specification Version 1.4 (2002)Google Scholar
  21. 21.
    Reus, T.: Harvesting existing software systems for MDA-based reengineering. Master’s thesis, Delft University of Technology (2006), swerl.tudelft.nl
  22. 22.
    Ulrich, W.: A status on OMG architecture-driven modernization task force. In: Proceedings EDOC Workshop on Model-Driven Evolution of Legacy Systems (MELS). IEEE Computer Society Digital Library, Los Alamitos (2004)Google Scholar
  23. 23.
    Visser, E.: Syntax Definition for Language Prototyping. PhD thesis, University of Amsterdam (September 1997)Google Scholar
  24. 24.
    Wimmer, M., Kramler, G.: Bridging grammarware and modelware. In: Bruel, J.-M. (ed.) MoDELS 2005. LNCS, vol. 3844, pp. 159–168. Springer, Heidelberg (2006)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Thijs Reus
    • 1
  • Hans Geers
    • 2
  • Arie van Deursen
    • 3
  1. 1.Interactive ObjectsFreiburg
  2. 2.Delft University of TechnologyThe Netherlands
  3. 3.Delft University of Technology and CWIThe Netherlands

Personalised recommendations