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.
Access provided by Autonomous University of Puebla. Download to read the full chapter text
Chapter PDF
Similar content being viewed by others
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.
References
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)
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)
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)
Cepa, V., Mezini, M.: Language support for model-driven software development. Science of Computer Programming (2006); Special issue on model-driven architectures (to appear)
Chikofsky, E.J., Cross, J.H.: Reverse engineering and design recovery: a taxonomy. IEEE Software, 13–17 (January 1990)
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)
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)
van Deursen, A., Kuipers, T.: Building documentation generators. In: Proceedings International Conference on Software Maintenance, pp. 40–49. IEEE Computer Society, Los Alamitos (1999)
Doyle, D.: Transforming proprietary domain-specific modeling languages to model-driven architectures. Master’s thesis, Delft University of Technology (2005), http://swerl.tudelft.nl
Favre, J.-M., Nguyen, T.: Towards a megamodel to model software evolution through transformations. Electr. Notes Theor. Comput. Sci. 127(3), 59–74 (2005)
ADM Task Force. Architecture-driven modernization roadmap. Technical report, OMG, Draft #1 dated 1/12/2006 (2006), adm.omg.org
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)
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)
Java Specification Requests. JSR 040: Java Metadata Interface (JMI) Specification Version 1.0 (2002)
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)
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)
Moonen, L.: Exploring Software Systems. PhD thesis, Faculty of Natural Sciences, Mathematics, and Computer Science, University of Amsterdam (December 2002)
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)
OMG. Meta Object Facility (MOF) 2.0 Query/View/Transformation Specification. Final Adopted Specification, ptc/05-11-01 (2002)
OMG. Meta Object Facility (MOF) Specification Version 1.4 (2002)
Reus, T.: Harvesting existing software systems for MDA-based reengineering. Master’s thesis, Delft University of Technology (2006), swerl.tudelft.nl
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)
Visser, E.: Syntax Definition for Language Prototyping. PhD thesis, University of Amsterdam (September 1997)
Wimmer, M., Kramler, G.: Bridging grammarware and modelware. In: Bruel, J.-M. (ed.) MoDELS 2005. LNCS, vol. 3844, pp. 159–168. Springer, Heidelberg (2006)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)