Skip to main content

Harvesting Software Systems for MDA-Based Reengineering

  • Conference paper
Model Driven Architecture – Foundations and Applications (ECMDA-FA 2006)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  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)

    Chapter  Google Scholar 

  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. 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)

    Chapter  Google Scholar 

  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. Chikofsky, E.J., Cross, J.H.: Reverse engineering and design recovery: a taxonomy. IEEE Software, 13–17 (January 1990)

    Google Scholar 

  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)

    Chapter  Google Scholar 

  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)

    Chapter  Google Scholar 

  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. 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. Favre, J.-M., Nguyen, T.: Towards a megamodel to model software evolution through transformations. Electr. Notes Theor. Comput. Sci. 127(3), 59–74 (2005)

    Article  Google Scholar 

  11. ADM Task Force. Architecture-driven modernization roadmap. Technical report, OMG, Draft #1 dated 1/12/2006 (2006), adm.omg.org

  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)

    Chapter  Google Scholar 

  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. Java Specification Requests. JSR 040: Java Metadata Interface (JMI) Specification Version 1.0 (2002)

    Google Scholar 

  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. 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)

    Chapter  Google Scholar 

  17. Moonen, L.: Exploring Software Systems. PhD thesis, Faculty of Natural Sciences, Mathematics, and Computer Science, University of Amsterdam (December 2002)

    Google Scholar 

  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. OMG. Meta Object Facility (MOF) 2.0 Query/View/Transformation Specification. Final Adopted Specification, ptc/05-11-01 (2002)

    Google Scholar 

  20. OMG. Meta Object Facility (MOF) Specification Version 1.4 (2002)

    Google Scholar 

  21. Reus, T.: Harvesting existing software systems for MDA-based reengineering. Master’s thesis, Delft University of Technology (2006), swerl.tudelft.nl

  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. Visser, E.: Syntax Definition for Language Prototyping. PhD thesis, University of Amsterdam (September 1997)

    Google Scholar 

  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)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2006 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Reus, T., Geers, H., van Deursen, A. (2006). Harvesting Software Systems for MDA-Based Reengineering. In: Rensink, A., Warmer, J. (eds) Model Driven Architecture – Foundations and Applications. ECMDA-FA 2006. Lecture Notes in Computer Science, vol 4066. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11787044_17

Download citation

  • DOI: https://doi.org/10.1007/11787044_17

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-35909-8

  • Online ISBN: 978-3-540-35910-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics