Skip to main content

MDA-Based Reverse Engineering of Object Oriented Code

  • Conference paper
Enterprise, Business-Process and Information Systems Modeling (BPMDS 2009, EMMSAD 2009)

Abstract

The Model Driven Architecture (MDA) is an architectural framework for information integration and tool interoperation that could facilitate system modernization. Reverse engineering techniques are crucial to extract high level views of the subject system. This paper describes a reverse engineering approach that fits with MDA. We propose to integrate different techniques that come from compiler theory, metamodeling and formal specification. We describe a process that combines static and dynamic analysis for generating MDA models. We show how MOF (Meta Object Facility) and QVT (Query, View, Transformation) metamodels can be used to drive model recovery processes. Besides, we show how metamodels and transformations can be integrated with formal specifications in an interoperable way. The reverse engineering of class diagram and state diagram at PSM level from Java code is exemplified.

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. ADM Task Force: Architecture Driven Modernization Roadmap. OMG.adm.omg.org (2007)

    Google Scholar 

  2. Aho, A., Sethi, R., Ullman, J.: Compilers. Principles, Techniques, and Tools. Addison-Wesley, Reading (1985)

    Google Scholar 

  3. Bidoit, M., Mosses, P.: CASL User Manual. LNCS, vol. 2900. Springer, Heidelberg (2004)

    Google Scholar 

  4. Boronat, A., Carsi, J., Ramos, I.: Automatic reengineering in MDA using rewriting logic as transformation engine. In: Proc. of the Ninth European Conference on Software Maintenance and Reengineering (CSMR 2005), USA, pp. 228–231. IEEE Computer Society, Los Alamitos (2005)

    Chapter  Google Scholar 

  5. Canfora, G., Di Penta, M.: New Frontiers of Reverse Engineering. In: Future of Software Engineering (FOSE 2007), pp. 326–341. IEEE Press, Los Alamitos (2007)

    Google Scholar 

  6. CASE TOOLS (2008), http://www.objectbydesign.com/tools

  7. Deissenboeck, F., Ratiu, D.: A Unified Meta Model for Concept-Based Reverse Engineering. In: Proceedings of 3rd International Workshop on Metamodels, Schemes, Grammars, and Ontologies for Reverse Engineering (2006), www.planetmde.org

  8. Favre, L., Martinez, L.: Formalizing MDA Components. In: Morisio, M. (ed.) ICSR 2006. LNCS, vol. 4039, pp. 326–339. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  9. Favre, L.: A Rigorous Framework for Model Driven Development. In: Siau, K. (ed.) Advanced Topics in Database Research, ch. I, vol. 5, pp. 1–27. IGP, USA (2006)

    Chapter  Google Scholar 

  10. Favre, L.: Foundations for MDA-based Forward Engineering. Journal of Object Technology (JOT) 4(1), 129–153 (2005)

    Article  Google Scholar 

  11. Favre, L., Pereira, C.: Formalizing MDA-based Refactorings. In: 19th Australian Software Engineering Conference (ASWEC 2008), pp. 377–386. IEEE Computer Society, Los Alamitos (2008)

    Chapter  Google Scholar 

  12. Gueheneuc, Y.: A Systematic Study of UML Class Diagram Constituents for their Abstract and Precise Recovery. In: Proc. of 11th Asia-Pacific Software Engineering Conference (APSEC 2004), pp. 265–274. IEEE Computer Society, Los Alamitos (2004)

    Google Scholar 

  13. Jones, N., Nielson, F.: Abstract interpretation: A semantic based tool for program analysis. In: Gabbay, D., Abramsky, S., Maibaum, T. (eds.) Handbook of Logic in Computer Science, vol. 4, pp. 527–636. Clarendon Press, Oxford (1995)

    Google Scholar 

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

  15. MDA. The Model Driven Architecture (2005), http://www.omg.org/mda

  16. MOF. Meta Object facility (MOF TM) 2.0. OMG Specification formal/2006-01-01 (2006), www.omg.org/mof

  17. Object Constraint Language. Version 2.0. OMG: formal/06-05-01 (2006), http://www.omg.org

  18. Qiao, B., Yang, H., Chu, W., Xu, B.: Bridging legacy systems to model driven architecture. In: Proc. 27th Annual International Computer Aided Software and Applications Conference, pp. 304–309. IEEE Press, Los Alamitos (2003)

    Google Scholar 

  19. Meta Object Facility (MOF) 2.0 Query/View/Transformation. formal/2008-04-03 (2008), http://www.omg.org

  20. Reus, T., Geers, H., van Deursen, A.: Harvesting Software System for MDA-based Reengineering. In: Rensink, A., Warmer, J. (eds.) ECMDA-FA 2006. LNCS, vol. 4066, pp. 220–236. Springer, Heidelberg (2006)

    Google Scholar 

  21. Sommerville, I.: Software Engineering, 7th edn. Addison-Wesley, Reading (2004)

    Google Scholar 

  22. Systa, T.: Static and Dynamic Reverse Engineering Techniques for Java Software Systems. Ph.D Thesis, University of Tampere, Report A-2000-4 (2000)

    Google Scholar 

  23. Tonella, P., Potrich, A.: Reverse Enginering of Object Oriented Code. Monographs in Computer Science. Springer, Heidelberg (2005)

    Google Scholar 

  24. Unified Modeling Language: Superstructure. Version 2.1.2. OMG Specification: formal/2007-02-05 (2007), http://www.omg.org

  25. Unified Modeling Language: Infrastructure. Version 2.1.2. OMG Specification formal/07-02-04 (2007)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2009 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Favre, L., Martinez, L., Pereira, C. (2009). MDA-Based Reverse Engineering of Object Oriented Code. In: Halpin, T., et al. Enterprise, Business-Process and Information Systems Modeling. BPMDS EMMSAD 2009 2009. Lecture Notes in Business Information Processing, vol 29. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-01862-6_21

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-01862-6_21

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-01861-9

  • Online ISBN: 978-3-642-01862-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics