Skip to main content
Log in

Mapping Procedural Patterns to Object-Oriented Design Patterns

  • Published:
Automated Software Engineering Aims and scope Submit manuscript

Abstract

This paper presents a new approach to the use of design patterns for the reengineering of legacy code, using a mapping from procedural design patterns to object-oriented patterns. We show also how object-oriented design patterns can be formalised and correctness conditions for their application derived, in order to justify the preservation of functionality in the reengineering process. We give examples taken from case studies of reengineering legacy COBOL applications.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Similar content being viewed by others

References

  • Bennet, K. and Ward, M. 1994. Using formal transformations for the reverse engineering of real-time safety critical systems. Proceedings of Safety Critical Systems Club Meeting, Springer-Verlag, Workshops in Computer Science, pp. 204-223.

  • Burd, E. 1996. Extracting reusable modules from legacy code: Considering the issues of module granularity. Proceedings of 3rd Working Conference on Reverse Engineering, IEEE Press.

  • Chikofsky, E. and Cross, J. 1990. Reverse engineering and design recovery: A taxonomy. IEEE Software, January.

  • Coleman, D., Arnold, P., Bodoff, S., Dollin, C., Gilchrist, H., Hayes, F., and Jeremaes, P. 1994. Object-oriented Development: The FUSION Method. Prentice-Hall, Object-Oriented Series.

  • Cook, S. and Daniels, J. 1994. Designing Object Systems: Object-Oriented Modelling with Syntropy. Prentice-Hall.

  • Dietrich, W., Nackman, L., and Gracer, F. 1989. Saving a legacy with objects. Object-Oriented Programming Systems, Languages and Applications Conference Proceedings, ACM Press.

  • Durr, E. and Dusink, E. 1993. The role of VDM++ in the development of a real-time tracking and tracing system. In J. Woodcock and P. Larsen (Eds.), FME '93, Lecture Notes in Computer Science, Springer-Verlag.

  • Fiadeiro, J. and Maibaum, T. 1991. Describing, structuring and implementing objects. In de Bakker et al. (Eds.), Foundations of Object Oriented Languages, LNCS 489, Springer-Verlag.

  • Fiadeiro, J. and Maibaum, T. 1994. Sometimes “Tomorrow” is “Sometime”. Temporal Logic, Lecture Notes in Artificial Intelligence, Springer-Verlag, vol. 827, pp. 48-66.

  • Gamma, E., Helm, R., Johnson, R., and Vlissides, J. 1994. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley.

  • Goldsack, S. and Lano, K. 1996. Annealing, object decomposition and design patterns. TOOLS Pacific 1996, Melbourne, Australia.

  • Jahnke, J. and Zündorf, A. 1997. Rewriting poor design patterns by good design patterns. ESEC/FSE '97 Workshop on Object-Oriented Re-engineering, Zürich.

  • Lano, K. 1994. Transformational program analysis. Journal of Software Testing, Verification and Reliability, vol. 4, pp. 155-189, December.

    Google Scholar 

  • Lano, K. and Bicarregui, J. 1998a. UML refinement and abstraction transformations. ROOM 2 Workshop, University of Bradford.

  • Lano, K. and Bicarregui, J. 1998b. Semantics and Transformations for UML Models, UML 98 Workshop, University of Mulhouse, France.

  • Lano, K., Bicarregui, J., and Goldsack, S. 1997. Formalising design patterns. BCS Northern Formal Methods Workshop, EWIC Series, Springer-Verlag.

  • Lano, K., Goldsack, S., Bicarregui, J., and Kent, S. 1997. Integrating VDM++ and real-time system design. Z User Meeting, LNCS, Springer-Verlag.

  • Lano, K. and Haughton, H. 1993. Reverse Engineering and Software Maintenance. McGraw-Hill.

  • Lividas, H. and Johnson, T. 1994. A new approach to finding objects in programs. Software Maintenance, Research and Practice, 6:249-260.

    Google Scholar 

  • Malik, N. 1996. Design Patterns and Reengineering. Department of Computing, Imperial College.

  • Newcomb, P. and Kotik, G. 1993. Reengineering procedural into object-oriented systems. Working Conference on Reverse Engineering, Toronto, Canada, July 1993. IEEE Press.

  • Prechelt, L. 1996. Design recovery by automated search for structural design patterns in object-oriented designs. Proceedings of 3rd Working Conference on Reverse Engineering, IEEE Press.

  • Rumbaugh, J., Blaha, M., Premerlani, W., Eddy, F., and Lorensen, W. 1991. Object-Oriented Modelling and Design. Prentice Hall.

  • Sneed, H. 1991. Migration of procedurally Oriented COBOL programs in an object-Oriented architecture. IEEE Conference on Software Maintenance.

  • Yourdon, E. 1990. Object-oriented COBOL. American Programmer, 3(2).

  • Zuylen, H. 1993. The REDO Compendium of Reverse-Engineering. Wiley.

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Lano, K., Malik, N. Mapping Procedural Patterns to Object-Oriented Design Patterns. Automated Software Engineering 6, 265–289 (1999). https://doi.org/10.1023/A:1008708927260

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1008708927260

Navigation