A Code Merger to Support Reverse Engineering Towards Model-driven Software Development

Oliver Haase, Nikolaus Moll, Paul Zerr

2013

Abstract

Model-driven engineering is a promising approach whose feasibility for commercial development is currently being validated. While most approaches discuss forward-engineering steps, only little research has been done on model-driven software migration. More precisely, it is unclear how to transform — or reverse engineer — existing code into generated and hand-crafted artifacts. We present an iterative approach to this problem. Assuming some evolving high-level representations of a software legacy system, code generators may produce a second version of the system to an extend where hand-crafted code is still necessary for completion. In this report we present a code merger that completes the generated code by reusing the implementation of the software legacy system.

References

  1. Eclipse Foundation (accessed on July 26th 2010). Java Development Tools. http://www.eclipse.org/jdt/.
  2. Gamma, E., Helm, R., Johnson, R., and Vlissides, J. (1995). Design patterns: elements of reusable object-oriented software. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA.
  3. Gosling, J., Joy, B., Steele, G., and Bracha, G. (2005). The Java Language Specification (Third Edition). Addison-Wesley.
  4. Kieburtz, R., McKinney, L., Bell, J., Hook, J., Kotov, A., Lewis, J., Oliva, D., Sheard, T., Smith, I., and Walton, L. (1996). A software engineering experiment in software component generation. Software Engineering, International Conference on, 0:542.
  5. Krueger, C. W. (1992). Software reuse. ACM Comput. Surv., 24(2):131-183.
  6. Ladd, D. A. and Ramming, J. C. (1994). Two application languages in software production. In VHLLS'94: Proceedings of the USENIX 1994 Very High Level Languages Symposium Proceedings on USENIX 1994 Very High Level Languages Symposium Proceedings, pages 10-10, Berkeley, CA, USA. USENIX Association.
  7. van Deursen, A. and Klint, P. (1998). Little languages: little maintenance. Journal of Software Maintenance, 10(2):75-92.
  8. Völter, M. (2009). MD* best practices. Journal of Object Technology, 8(6):79-102.
  9. Walter, R. and Haase, O. (2008). How to make legacy code MDSD-ready. In Second Workshop on MDSD Today.
Download


Paper Citation


in Harvard Style

Haase O., Moll N. and Zerr P. (2013). A Code Merger to Support Reverse Engineering Towards Model-driven Software Development . In Proceedings of the 1st International Conference on Model-Driven Engineering and Software Development - Volume 1: MODELSWARD, ISBN 978-989-8565-42-6, pages 83-88. DOI: 10.5220/0004309000830088


in Bibtex Style

@conference{modelsward13,
author={Oliver Haase and Nikolaus Moll and Paul Zerr},
title={A Code Merger to Support Reverse Engineering Towards Model-driven Software Development},
booktitle={Proceedings of the 1st International Conference on Model-Driven Engineering and Software Development - Volume 1: MODELSWARD,},
year={2013},
pages={83-88},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0004309000830088},
isbn={978-989-8565-42-6},
}


in EndNote Style

TY - CONF
JO - Proceedings of the 1st International Conference on Model-Driven Engineering and Software Development - Volume 1: MODELSWARD,
TI - A Code Merger to Support Reverse Engineering Towards Model-driven Software Development
SN - 978-989-8565-42-6
AU - Haase O.
AU - Moll N.
AU - Zerr P.
PY - 2013
SP - 83
EP - 88
DO - 10.5220/0004309000830088