• DocumentCode
    1579107
  • Title

    Formalising Design Patterns in Predicate Logic

  • Author

    Bayley, I. ; Hong Zhu

  • Author_Institution
    Oxford Brookes Univ., Oxford
  • fYear
    2007
  • Firstpage
    25
  • Lastpage
    36
  • Abstract
    Design patterns are traditionally outlined in an informal manner. If they could be formalised, we could derive tools that automatically recognise design patterns and refactor designs and code. Our approach is to deploy predicate logic to specify conditions on the class diagrams that describe design patterns. The structure of class diagrams is itself described with a novel meta-notation that can be used for defining any graphical modelling language. As a result, the constraints, while based on UML, are highly readable and have much expressive power. This enables us not only to recognise design patterns in legacy code, but also to reason about them at the design stage, such as showing one pattern to be a special case of another. The paper discusses our specification of the original 23 design patterns and presents a representative sample of some of them.
  • Keywords
    Unified Modeling Language; formal specification; object-oriented methods; object-oriented programming; process algebra; reasoning about programs; software maintenance; UML; class diagram; design pattern reasoning; design refactoring; formal specification; graphical modelling language; legacy code; predicate logic; Calculus; Collaboration; Concrete; Design methodology; Electronic mail; Java; Logic design; Pattern recognition; Software engineering; Unified modeling language;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Engineering and Formal Methods, 2007. SEFM 2007. Fifth IEEE International Conference on
  • Conference_Location
    London
  • Print_ISBN
    978-0-7695-2884-7
  • Type

    conf

  • DOI
    10.1109/SEFM.2007.22
  • Filename
    4343921