Abstract
Much of the research work on design patterns has primarily focused on discovering and documenting patterns. Design patterns promise early reuse benefits at the design stage. To reap the benefits of deploying these proven design solutions, we need to develop techniques to construct applications using patterns. These techniques should define a composition mechanism by which patterns can be integrated and deployed in the design of software applications. Versatile design models should be used to model the patterns themselves as well as their composition. In this paper, we describe an approach called Pattern- Oriented Analysis and Design (POAD) that utilizes UML modeling capabilities to compose design patterns at various levels of abstractions. In POAD, the internal details of the pattern structure are hidden at high design levels (pattern views) and are revealed at lower design levels (class views). We define three hierarchical traceable logical views based on UML models for developing pattern- oriented designs; namely the Pattern-Level view, the Pattern Interfaces view, and the Detailed Pattern-Level view. The discussion is illustrated by a case study of building a framework for feedback control systems.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Booch, G., Rumbaugh, J., Jacobson, I.: The Unified Modeling Language User Guide. Addison-Wesley, 1999.
Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Object-Oriented Software. Addison-Wesley, 1995.
Vlissides, J.: Pattern Hatching, Design Patterns Applied. Addison-Wesley, 1998.
Castellani, X., and S. Y. Liao, “Development Process for the Creation and Reuse of Object-Oriented Generic Applications and Components”, Journal of Object Oriented Programming, June 1998, Vol 11, No.3, pp24–31
D’Souze, D., and A. Wills. Objects, Components, and Frameworks with UML. Addison Wesley 1999.
D’Souza, D. “Interface Specification, Refinement, and Design with UML/Catalysis”, Journal of Object Oriented Programming, June 1998, pp12–18
Alexander, C., S. Inshikawa, M. Silverstiein, M. Jacobson, I. Fiksdahl-king, and S. Angel, “A Pattern Language”, Oxford University Press, New York, 1977
Schmidt, D.: Reactor: An Object Behavioral Pattern for Concurrent Event Demultiplexing and Event Handler Dispatching. In Pattern Languages of Program Design, Coplien, J. and Schmidt, D. (eds.), 1995, Chapter 29, pp529–545.
Distefano, J., A. Stubberud, and I. Williams, “Feedback and Control Systems”, McGraw-Hill, 1990
Yacoub, S., Ammar, H.: Towards Pattern Oriented Frameworks. The Journal of Object Oriented Programming, JOOP, January 2000.
Buschmann, F., Meunier, R., Rohnert, H., Sommerlad, P., Stal, M.: Pattern-Oriented Software Architecture-A System of Patterns. Addison-Wesley, 1996.
Martin, R., Riehle, D., Buschmann, F. (eds.): Pattern Language of Program Design 3. Addison-Wesley, 1998.
The Unified Modeling Language homepage. http://www.omg.com/technology/uml
Pree, W.: Design Patterns for Object-Oriented Software Development. Addison-Wesley 1995.
Garlow, J., Holmes, C., Mowbary, T.: Applying Design Patterns in UML. Rose Architect, Vol 1, No. 2, Winter 1999
Fowler, M.: Analysis Patterns. Addison Wesley, 1997.
Yacoub, S. and H. Ammar. Pattern-Oriented Analysis and Design. Addison Wesley, to appear 2002.
Riehle, D. Composite Design Patterns. Proceedings of Object-Oriented Programming, Systems, Languages and Applications, OOPSLA’97, pp218–228, Atlanta, October 1997.
Kent, S. Constraint Diagrams: Visualizing Invariants in Object-Oriented Models. Proceedings of Object-Oriented Programming, Systems, Languages and Applications, OOPSLA’ 97, Atlanta Georgia USA, October 1997.
Lauder, A., and S. Kent. Precise Visual Specification of Design Patterns. Proceedings of the 12 th European Conference on Object Oriented Programming, ECOOP’98, pp114–134, Brussels, Belgium, July 1998.
Keller, R., and R. Schauer. Design Components: Towards Software Composition at the Design Level. Proceedings of 20 th International Conference on Software Engineering, ICSE’98, pp302–311, Kyoto, Japan, April 19–25, 1998.
Schauer, R., and R. Keller. Pattern Visualization for Software Comprehension. Proceedings of the 6 th International Workshop on Program Comprehension, (IWPC’98), pages 4–12, Ischia, Italy, June 1998.
Larsen, G. Designing Component-Based Frameworks using Patterns in the UML. Communications of the ACM, 42(10):38:45, October 1999.
Rogers, G., “Framework-Based Software Development in C++”, Prentice Hall 1997
Soukup, J.. Implementing Patterns. Chapter 20, pp395–415, in Pattern Language of Program Design, Addison-Wesley, 1995.
Bosch, J. Specifying Frameworks and Design Patterns as Architecture Fragments. Proceedings of Technology of Object-Oriented Languages and Systems, China, Sept. 22–25 1998.
Srinivasan, S., and J. Vergo. Object-Oriented Reuse: Experience in Developing a Framework for Speech Recognition Applications. Proceedings of 20 th International Conference on Software Engineering, ICSE’98, pp322–330, Kyoto, Japan, April 19–25, 1998.
Wirfs-Brock, R., and B. Wilkerson. Object-Oriented Design: A Responsibility-Driven Approach. Proceedings of Object-Oriented Programming, Systems, Languages and Applications, OOPSLA’89, pp71–75, October 1989.
Reenskaug, T. OORASS: Seamless Support for the Creation and Maintenance of Object Oriented Systems. Journal of Object Oriented Programming, 5(6):27–41, October 1992.
Reenskaug, T.. Working with Objects: The OOram Software Engineering Method. Manning Publishing Co., ISBN 1-884777-10-4, 1996.
Yacoub S., and H. Ammar, “UML Support for Constructional Design Patterns”, in the special issue of The Object journal on Object Modeling, Hermes Science Publications, B. Henderson-Sellers and F. Barbier (eds.) 2000.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2001 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Yacoub, S.M., Ammar, H.H. (2001). UML Support for Designing Software Systems as a Composition of Design Patterns. In: Gogolla, M., Kobryn, C. (eds) ≪UML≫ 2001 — The Unified Modeling Language. Modeling Languages, Concepts, and Tools. UML 2001. Lecture Notes in Computer Science, vol 2185. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45441-1_12
Download citation
DOI: https://doi.org/10.1007/3-540-45441-1_12
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-42667-7
Online ISBN: 978-3-540-45441-0
eBook Packages: Springer Book Archive