• DocumentCode
    3154152
  • Title

    A methodology for the automated introduction of design patterns

  • Author

    Cinnéide, Mel Ó ; Nixon, Paddy

  • Author_Institution
    Dept. of Comput. Sci., Univ. Coll. Dublin, Ireland
  • fYear
    1999
  • fDate
    1999
  • Firstpage
    463
  • Lastpage
    472
  • 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 minipatterns and the development of corresponding minitransformations that can introduce these minipatterns to a program. We argue that behaviour preservation is a key issue and develop a rigorous argument of this for each minitransformation 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
    automatic programming; object-oriented programming; software maintenance; systems re-engineering; Factory Method pattern; automated introduction; behaviour preservation; design pattern transformations; minipatterns; minitransformations; program evolution; reengineering legacy code; software prototype; Computer science; Design engineering; Educational institutions; Electrical capacitance tomography; Electronic switching systems; Production facilities; Prototypes; Software prototyping;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Maintenance, 1999. (ICSM '99) Proceedings. IEEE International Conference on
  • Conference_Location
    Oxford
  • ISSN
    1063-6773
  • Print_ISBN
    0-7695-0016-1
  • Type

    conf

  • DOI
    10.1109/ICSM.1999.792644
  • Filename
    792644