Skip to main content

Precise visual specification of design patterns

  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1445))

Abstract

There has been substantial recent interest in captured design expertise expressed as design patterns. Prevalent descriptions of these design patterns suffer from two demerits. Firstly, they capture specific instances of pattern deployment, rather than the essential pattern itself, thus the spirit of the pattern is often lost in the superfluous details of the specific instances described. Secondly, existing pattern descriptions rely upon relatively informal diagrammatic notations supplemented with natural language annotations. This can result in imprecision and ambiguity. This paper addresses these problems by separating the specification of patterns into three models (role, type, and class). The most abstract (role-centric) model presents patterns in their purest form, capturing their essential spirit without deleterious detail. A role-model is refined by a type-model (adding usually-domain-specific constraints), which is further refined by a class-model (forming a concrete deployment). We utilise recent advances in visual modelling notation to achieve greater precision without resorting to obtuse mathematical symbols. A set-oriented view of state, operations, and instances is adopted, permitting their abstract presentation in models via this visual notation. This paper utilises these ideas in the unambiguous specification of a selection of prominent design patterns. The expectation is that precise visual pattern specification will firstly enable clear communication between domain experts and pattern writers (and ultimately pattern users), and secondly enable CASE tool support for design patterns, permitting the designer (pattern user) to operate at a higher level of abstraction without ambiguity.

This is a preview of subscription content, log in via an institution.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Abrial, J-R., Schuman, S., Meyer, B.: A Specification Language. On the Construction of Programs, McNaughten, R., and McKeag, R. (eds.), Cambridge University Press (1980)

    Google Scholar 

  2. Booch, G.: Object-Oriented Analysis and Design With Applications (2nd Edition), Benjamin/Cummings (1993)

    Google Scholar 

  3. Buschmann, F., Meunier, R., Rohnert, H., Sommerlad, P., Stal, M.: Pattern-Oriented Software Architecture: A System of Patterns, Wiley (1996)

    Google Scholar 

  4. Cook, S., and Daniels, J.: Designing Object Systems: Object-Oriented Modelling with Syntropy, Prentice-Hall (1994)

    Google Scholar 

  5. Coplien, J., Schmidt, D. (eds.): Pattern Languages of Program Design, Addison-Wesley (1995)

    Google Scholar 

  6. D'Souza, D., and Wills, A.: Objects, Components and Frameworks with UML: The Catalysis Approach, Addison-Wesley (1998)

    Google Scholar 

  7. Firesmith, D., Henderson-Sellers, B., Graham, I.: OPEN Modelling Language (OML) Reference Manual, SIGS Reference Library (1997)

    Google Scholar 

  8. Fowler, M.: Analysis Patterns: Reusable Object Models, Addison-Wesley (1997)

    Google Scholar 

  9. Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software, Addison-Wesley (1995)

    Google Scholar 

  10. Gil, J., and Kent, S.: Three Dimensional Software Modelling, Unpublished Manuscript (1998)

    Google Scholar 

  11. Jones, C.: Systematic Software Development using VDM (2nd edition), Prentice Hall (1990)

    Google Scholar 

  12. Kent, S.: Constraint Diagrams: Visualising Invariants in Object-Oriented Models, to appear in Procs. of OOPSLA97, ACM Press (1997)

    Google Scholar 

  13. Kent, S.: Visualising Action Contracts in Object-Oriented Modelling, submitted to Visual 98 (1998)

    Google Scholar 

  14. Pree, W.: Design Patterns for Object-Oriented Software Development, Addison-Wesley (1995)

    Google Scholar 

  15. Reenskaug, T., Wold, P., Lehne, O. A.: Working With Objects, Manning Publications (1996)

    Google Scholar 

  16. Rumbaugh, J., Blaha, M., Premerlani, W., Eddy, F., Lorensen, W.: Object-Oriented Modelling and Design, Prentice Hall (1991)

    Google Scholar 

  17. UML Consortium: The Unified Modelling Language Notation, version 1.1, http://www.rational.com (1997)

    Google Scholar 

  18. UML Consortium: The Unified Modelling Language Semantics, version 1.1, http://www.rational.com (1997)

    Google Scholar 

  19. UML Consortium: Object Constraint Language Specification, version 1.1, http://www.rational.com (1997)

    Google Scholar 

  20. Vlissides, J., Coplien, J., and Kerth, N., (eds.): Pattern Languages of Program Design 2, Addison-Wesley (1996)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Eric Jul

Rights and permissions

Reprints and permissions

Copyright information

© 1998 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Lauder, A., Kent, S. (1998). Precise visual specification of design patterns. In: Jul, E. (eds) ECOOP’98 — Object-Oriented Programming. ECOOP 1998. Lecture Notes in Computer Science, vol 1445. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0054089

Download citation

  • DOI: https://doi.org/10.1007/BFb0054089

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-64737-9

  • Online ISBN: 978-3-540-69064-1

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics