Skip to main content

UML Support for Designing Software Systems as a Composition of Design Patterns

  • Conference paper
  • First Online:
≪UML≫ 2001 — The Unified Modeling Language. Modeling Languages, Concepts, and Tools (UML 2001)

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

Included in the following conference series:

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.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Similar content being viewed by others

References

  1. Booch, G., Rumbaugh, J., Jacobson, I.: The Unified Modeling Language User Guide. Addison-Wesley, 1999.

    Google Scholar 

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

    Google Scholar 

  3. Vlissides, J.: Pattern Hatching, Design Patterns Applied. Addison-Wesley, 1998.

    Google Scholar 

  4. 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

    Google Scholar 

  5. D’Souze, D., and A. Wills. Objects, Components, and Frameworks with UML. Addison Wesley 1999.

    Google Scholar 

  6. D’Souza, D. “Interface Specification, Refinement, and Design with UML/Catalysis”, Journal of Object Oriented Programming, June 1998, pp12–18

    Google Scholar 

  7. Alexander, C., S. Inshikawa, M. Silverstiein, M. Jacobson, I. Fiksdahl-king, and S. Angel, “A Pattern Language”, Oxford University Press, New York, 1977

    Google Scholar 

  8. 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.

    Google Scholar 

  9. Distefano, J., A. Stubberud, and I. Williams, “Feedback and Control Systems”, McGraw-Hill, 1990

    Google Scholar 

  10. Yacoub, S., Ammar, H.: Towards Pattern Oriented Frameworks. The Journal of Object Oriented Programming, JOOP, January 2000.

    Google Scholar 

  11. Buschmann, F., Meunier, R., Rohnert, H., Sommerlad, P., Stal, M.: Pattern-Oriented Software Architecture-A System of Patterns. Addison-Wesley, 1996.

    Google Scholar 

  12. Martin, R., Riehle, D., Buschmann, F. (eds.): Pattern Language of Program Design 3. Addison-Wesley, 1998.

    Google Scholar 

  13. The Unified Modeling Language homepage. http://www.omg.com/technology/uml

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

    Google Scholar 

  15. Garlow, J., Holmes, C., Mowbary, T.: Applying Design Patterns in UML. Rose Architect, Vol 1, No. 2, Winter 1999

    Google Scholar 

  16. Fowler, M.: Analysis Patterns. Addison Wesley, 1997.

    Google Scholar 

  17. Yacoub, S. and H. Ammar. Pattern-Oriented Analysis and Design. Addison Wesley, to appear 2002.

    Google Scholar 

  18. Riehle, D. Composite Design Patterns. Proceedings of Object-Oriented Programming, Systems, Languages and Applications, OOPSLA’97, pp218–228, Atlanta, October 1997.

    Google Scholar 

  19. 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.

    Google Scholar 

  20. 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.

    Google Scholar 

  21. 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.

    Google Scholar 

  22. 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.

    Google Scholar 

  23. Larsen, G. Designing Component-Based Frameworks using Patterns in the UML. Communications of the ACM, 42(10):38:45, October 1999.

    Article  Google Scholar 

  24. Rogers, G., “Framework-Based Software Development in C++”, Prentice Hall 1997

    Google Scholar 

  25. Soukup, J.. Implementing Patterns. Chapter 20, pp395–415, in Pattern Language of Program Design, Addison-Wesley, 1995.

    Google Scholar 

  26. Bosch, J. Specifying Frameworks and Design Patterns as Architecture Fragments. Proceedings of Technology of Object-Oriented Languages and Systems, China, Sept. 22–25 1998.

    Google Scholar 

  27. 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.

    Google Scholar 

  28. 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.

    Google Scholar 

  29. 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.

    Google Scholar 

  30. Reenskaug, T.. Working with Objects: The OOram Software Engineering Method. Manning Publishing Co., ISBN 1-884777-10-4, 1996.

    Google Scholar 

  31. 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.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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

Publish with us

Policies and ethics