A Methodology for the Automated Introduction of Design Patterns

M O'Cinneide, Patrick Nixon

Research output: Chapter in Book/Report/Conference proceedingConference contribution

41 Citations (Scopus)

Abstract

In reengineering legacy code it is frequently useful to introduce a design pattern in order to add clarity to the system and thus facilitate further program evolution. We show that this type of transformation can be automated in a pragmatic manner and present a methodology for the development of design pattern transformations. We address the issues of the definition of a starting point for the transformation, the decomposition of a pattern into mini-patterns and the development of corresponding mini-transformations that can introduce these mini-patterns to a program. We argue that behaviour preservation is a key issue and develop a rigorous argument of this for each mini-transformation we discover. The architecture of an existing software prototype is also discussed and the results of applying this methodology to develop a transformation for the Factory Method pattern are presented.
LanguageEnglish
Title of host publicationUnknown Host Publication
Pages463-472
Number of pages10
DOIs
Publication statusPublished - 1999
EventProceedings IEEE International Conference on Software Maintenance - Keble College, Oxford
Duration: 1 Jan 1999 → …

Conference

ConferenceProceedings IEEE International Conference on Software Maintenance
Period1/01/99 → …

Fingerprint

Reengineering
Industrial plants
Decomposition

Keywords

  • n/

Cite this

O'Cinneide, M ; Nixon, Patrick. / A Methodology for the Automated Introduction of Design Patterns. Unknown Host Publication. 1999. pp. 463-472
@inproceedings{52fea55ca2c649baa8bba92820405019,
title = "A Methodology for the Automated Introduction of Design Patterns",
abstract = "In reengineering legacy code it is frequently useful to introduce a design pattern in order to add clarity to the system and thus facilitate further program evolution. We show that this type of transformation can be automated in a pragmatic manner and present a methodology for the development of design pattern transformations. We address the issues of the definition of a starting point for the transformation, the decomposition of a pattern into mini-patterns and the development of corresponding mini-transformations that can introduce these mini-patterns to a program. We argue that behaviour preservation is a key issue and develop a rigorous argument of this for each mini-transformation we discover. The architecture of an existing software prototype is also discussed and the results of applying this methodology to develop a transformation for the Factory Method pattern are presented.",
keywords = "n/",
author = "M O'Cinneide and Patrick Nixon",
year = "1999",
doi = "10.1109/ICSM.1999.792644",
language = "English",
isbn = "0769500161",
pages = "463--472",
booktitle = "Unknown Host Publication",

}

O'Cinneide, M & Nixon, P 1999, A Methodology for the Automated Introduction of Design Patterns. in Unknown Host Publication. pp. 463-472, Proceedings IEEE International Conference on Software Maintenance, 1/01/99. https://doi.org/10.1109/ICSM.1999.792644

A Methodology for the Automated Introduction of Design Patterns. / O'Cinneide, M; Nixon, Patrick.

Unknown Host Publication. 1999. p. 463-472.

Research output: Chapter in Book/Report/Conference proceedingConference contribution

TY - GEN

T1 - A Methodology for the Automated Introduction of Design Patterns

AU - O'Cinneide, M

AU - Nixon, Patrick

PY - 1999

Y1 - 1999

N2 - In reengineering legacy code it is frequently useful to introduce a design pattern in order to add clarity to the system and thus facilitate further program evolution. We show that this type of transformation can be automated in a pragmatic manner and present a methodology for the development of design pattern transformations. We address the issues of the definition of a starting point for the transformation, the decomposition of a pattern into mini-patterns and the development of corresponding mini-transformations that can introduce these mini-patterns to a program. We argue that behaviour preservation is a key issue and develop a rigorous argument of this for each mini-transformation we discover. The architecture of an existing software prototype is also discussed and the results of applying this methodology to develop a transformation for the Factory Method pattern are presented.

AB - In reengineering legacy code it is frequently useful to introduce a design pattern in order to add clarity to the system and thus facilitate further program evolution. We show that this type of transformation can be automated in a pragmatic manner and present a methodology for the development of design pattern transformations. We address the issues of the definition of a starting point for the transformation, the decomposition of a pattern into mini-patterns and the development of corresponding mini-transformations that can introduce these mini-patterns to a program. We argue that behaviour preservation is a key issue and develop a rigorous argument of this for each mini-transformation we discover. The architecture of an existing software prototype is also discussed and the results of applying this methodology to develop a transformation for the Factory Method pattern are presented.

KW - n/

U2 - 10.1109/ICSM.1999.792644

DO - 10.1109/ICSM.1999.792644

M3 - Conference contribution

SN - 0769500161

SP - 463

EP - 472

BT - Unknown Host Publication

ER -