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 -