skip to main content
10.1145/568760.568797acmotherconferencesArticle/Chapter ViewAbstractPublication PagessekeConference Proceedingsconference-collections
Article

A formal model for verifying compound design patterns

Authors Info & Claims
Published:15 July 2002Publication History

ABSTRACT

Object-oriented design patterns commonly "work together", and many such combinations of patterns are identified as related patterns for each given pattern in the standard GoF pattern catalogue [?] while other combinations, such as the Template Method-Factory Method Compound Pattern, are described in [?].When designers apply these compound patterns, they need to be sure they are doing so correctly, particularly where one component of the design plays different roles in different patterns. This can be achieved by using a formal language to express the set of rules the design must satisfy in order to represent a correct use of the patterns.A similar approach but for individual patterns has been used in [?], [?], [?], which use a formal model of a generic object-oriented design [?] as the basis for formal specifications of the properties of the majority of the design patterns in the GoF catalogue [?]. These specifications, written in RSL (the RAISE specification language [?]), then give a means of checking whether a given subset of a design matches one instance of one particular pattern.However, the model presented in [?] assumes that only a single instance of a single pattern is being checked at any time, whereas in practice a design may involve many different patterns and also many different occurrences of the same pattern. In addition, the patterns may be overlapping, that is they may share roles, so that, for example, a single class or method in a design may play one role in one pattern and another role in another pattern.We therefore extend this model so that it can describe the matching of a single design against an arbitrary combination of patterns all together, including multiple occurrences of the same pattern and also patterns with overlapping roles as in the compound patterns. Then we express the essential properties of the compound patterns in terms of this extended model, thus giving us a means of checking formally that a design matches a particular compound pattern.

References

  1. G. Aranda and R. Moore. Formally modelling compound design patterns. Technical Report 225, UNU/IIST, P.O. Box 3058, Macau, December, 2000.]]Google ScholarGoogle Scholar
  2. G. Aranda and R. Moore. Gof creational patterns: A formal specification. Technical Report 224, UNU/IIST, P.O. Box 3058, Macau, December, 2000.]]Google ScholarGoogle Scholar
  3. A. Flores and R. Moore. Analysis and Specification of GoF Structural Patterns. In Proceedings of the IASTED International Symposia: Applied Informatics, pages 625-630, Innsbruck, Austria, February 2001.]]Google ScholarGoogle Scholar
  4. A. Flores, R. Moore, and L. Reynoso. A Formal Model of Object-Oriented Design and GoF Design Patterns. In J. N. Oliveira and P. Zave, editors, FME2001: Formal Methods for Increasing Software Productivity, volume 2021 of Lecture Notes in Computer Science, pages 223-241. Springer Verlag, 2001.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. Addison Wesley, 1995.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. T. R. L. Group. The RAISE Specification Language. BCS Practicioner Series, Prentice Hall, 1992.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. R. Moore and L. Reynoso. A Precise Specification of GoF Behavioural Patterns. In Proceedings of the ACIS 2nd International Conference on Software Engineering, Artificial Intelligence, Networking & Parallel/Distributed Computing: SNPD'01, pages 262-270, Nagoya, Japan, August 2001.]]Google ScholarGoogle Scholar
  8. J. Vlissides. Pattern Hatching: Design Patterns Applied. Software Patterns Series. Addison-Wesley, 1998.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. J. Vlissides. Composite Design Patterns(They Aren't What You Think). C++ Report, June 1998. http://research.ibm.com/people/v/vlis/pubs.html.]]Google ScholarGoogle Scholar

Recommendations

Comments

Login options

Check if you have access through your login credentials or your institution to get full access on this article.

Sign in
  • Published in

    cover image ACM Other conferences
    SEKE '02: Proceedings of the 14th international conference on Software engineering and knowledge engineering
    July 2002
    859 pages
    ISBN:1581135564
    DOI:10.1145/568760

    Copyright © 2002 ACM

    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    • Published: 15 July 2002

    Permissions

    Request permissions about this article.

    Request Permissions

    Check for updates

    Qualifiers

    • Article

PDF Format

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader