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.
References
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)
Booch, G.: Object-Oriented Analysis and Design With Applications (2nd Edition), Benjamin/Cummings (1993)
Buschmann, F., Meunier, R., Rohnert, H., Sommerlad, P., Stal, M.: Pattern-Oriented Software Architecture: A System of Patterns, Wiley (1996)
Cook, S., and Daniels, J.: Designing Object Systems: Object-Oriented Modelling with Syntropy, Prentice-Hall (1994)
Coplien, J., Schmidt, D. (eds.): Pattern Languages of Program Design, Addison-Wesley (1995)
D'Souza, D., and Wills, A.: Objects, Components and Frameworks with UML: The Catalysis Approach, Addison-Wesley (1998)
Firesmith, D., Henderson-Sellers, B., Graham, I.: OPEN Modelling Language (OML) Reference Manual, SIGS Reference Library (1997)
Fowler, M.: Analysis Patterns: Reusable Object Models, Addison-Wesley (1997)
Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software, Addison-Wesley (1995)
Gil, J., and Kent, S.: Three Dimensional Software Modelling, Unpublished Manuscript (1998)
Jones, C.: Systematic Software Development using VDM (2nd edition), Prentice Hall (1990)
Kent, S.: Constraint Diagrams: Visualising Invariants in Object-Oriented Models, to appear in Procs. of OOPSLA97, ACM Press (1997)
Kent, S.: Visualising Action Contracts in Object-Oriented Modelling, submitted to Visual 98 (1998)
Pree, W.: Design Patterns for Object-Oriented Software Development, Addison-Wesley (1995)
Reenskaug, T., Wold, P., Lehne, O. A.: Working With Objects, Manning Publications (1996)
Rumbaugh, J., Blaha, M., Premerlani, W., Eddy, F., Lorensen, W.: Object-Oriented Modelling and Design, Prentice Hall (1991)
UML Consortium: The Unified Modelling Language Notation, version 1.1, http://www.rational.com (1997)
UML Consortium: The Unified Modelling Language Semantics, version 1.1, http://www.rational.com (1997)
UML Consortium: Object Constraint Language Specification, version 1.1, http://www.rational.com (1997)
Vlissides, J., Coplien, J., and Kerth, N., (eds.): Pattern Languages of Program Design 2, Addison-Wesley (1996)
Author information
Authors and Affiliations
Editor information
Rights 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