Skip to main content

Constructional Design Patterns as Reusable Components

  • Conference paper
Software Reuse: Advances in Software Reusability (ICSR 2000)

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

Included in the following conference series:

Abstract

Reusing software is a challenge to researchers and practitioners. Design reuse, in the form of object-oriented design patterns, has emerged with the premise that coding is not the most difficult part of building software, it is the decisions we make early at the design level. Design patterns promise new reuse benefits early in the development lifecycle. To reap the benefits of deploying these proven design solutions, we need to define design composition techniques to construct applications using patterns. These techniques should be supported by versatile design models. In this paper, we introduce a new composition approach that utilizes constructional design patterns as building blocks. The term constructional is used for a particular type of patterns that abstract a structure of interfacing classes. The approach glues together the design structure of patterns at various levels of abstraction for the purpose of developing pattern-oriented designs. The internal details of the pattern structure are hidden at high design levels (pattern views) and are traceable to lower design levels (class views). We define pattern interfaces and develop three hierarchical traceable views: namely the Pattern-Level, Pattern-Level with Interfaces, and Detailed Pattern-Level views. Each design view represents a particular design level granularity with different types of relationships between design artifacts. The proposed pattern views represent a visual method to capture interaction between patterns while hiding details not utilized directly in the design. We use an example to illustrate the applicability of the approach.

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.

References

  1. Addy, E., Mili, A., Yacoub, S.: A Controlled Experiment in Software Reuse, Technical Report, NASA IV&V, Fairmont, West Virginia, TR# NASA-IVV-99-002, 1999, an extended version of this paper will appear in the Software Quality Journal (2000)

    Google Scholar 

  2. Anderson, E., Reenskaug, T.: System Design by Composing Structures of Interacting Objects. In: Lehrmann Madsen, O. (ed.) ECOOP 1992. LNCS, vol. 615, pp. 133–152. Springer, Heidelberg (1992)

    Chapter  Google Scholar 

  3. Bosch, J.: Specifying Frameworks and Design Patterns as Architecture Fragments. In: Proceedings of Technology of Object-Oriented Languages and Systems, TOOLS 1998, China, September 22-25 (1998)

    Google Scholar 

  4. Buschmann, F., Meunier, R., Rohnert, H., Sommerlad, P., Stal, M.: Pattern-Oriented Software Architecture - A Pattern System. Addison-Wesley, Reading (1996)

    Google Scholar 

  5. Fayad, M., Schmidt, D.: Object-Oriented Application Frameworks. Communications of the ACM 40(10), 32–38 (1997)

    Article  Google Scholar 

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

    Google Scholar 

  7. Garlow, J., Holmes, C., Mowbary, T.: Applying Design Patterns in UML. Rose Architect 1(2) (Winter 1999)

    Google Scholar 

  8. Helm, R., Holland, I., Gangopadhyay, D.: Contracts: Specifying Behavioral Compositions in Object Oriented Systems. In: Proceedings of Object Oriented Programming Systems, Languages, and Applications, joint ECOOP/OOPSLA conference, SIGPLAN Notices, Ottowa, pp. 169–180 (1990)

    Google Scholar 

  9. Delatte, B., Heitz, M., Mullerm, J.: Hood Reference Manual 3.1, Masson, Paris (1993)

    Google Scholar 

  10. Keller, R., Schauer, R.: Design Components: Towards Software Composition at the Design Level. In: Proceedings of 20th International Conference on Software Engineering, ICSE1998, Kyoto, Japan, April 19-25, pp. 302–311 (1998)

    Google Scholar 

  11. Kent, S.: Constraint Diagrams: Visualizing Invariants in Object-Oriented Models. In: Proceedings of Object-Oriented Programming, Systems, Languages and Applications, OOPSLA 1997, Atlanta Georgia, USA (October 1997)

    Google Scholar 

  12. Lauder, A., Kent, S.: Precise Visual Specification of Design Patterns. In: Jul, E. (ed.) ECOOP 1998. LNCS, vol. 1445, pp. 114–134. Springer, Heidelberg (1998)

    Chapter  Google Scholar 

  13. Odenthal, G., Quibeldey-Cirkel, K.: Using Patterns for Design and Documentation. In: Aksit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 511–529. Springer, Heidelberg (1997)

    Chapter  Google Scholar 

  14. Parnas, D.: On the Criteria to be used in Decomposing Systems into Modules. Communications of the ACM 15(2), 1053–1058 (1972)

    Article  Google Scholar 

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

    Google Scholar 

  16. Ram, D., Anantha, K., Guruprasad, K.: A Pattern Oriented Technique for Software Design. Software Engineering Notes 22(4), 70–73 (1997)

    Article  Google Scholar 

  17. Reenskaug, T.: OORASS: Seamless Support for the Creation and Maintenance of Object Oriented Systems. Journal of Object Oriented Programming 5(6), 27–41 (1992)

    Google Scholar 

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

    Google Scholar 

  19. Riehle, D.: Describing and Composing Patterns Using Role Diagrams. In: Mätzel, K., Frei, H. (eds.) Computer Science Research at Ubilab, Research Projects 1995/1996, Proceedings of the Ubilab Conference, pp. 137–152. Universitätsverlag Konstanz, Konstanz (1996)

    Google Scholar 

  20. Riehle, D.: Composite Design Patterns. In: Proceedings of Object-Oriented Programming, Systems, Languages and Applications, OOPSLA 1997, Atlanta Georgia, USA, pp. 218–228 (October 1997)

    Google Scholar 

  21. Robinson, P.: Hierarchical Object Oriented Design. Prentice Hall, Englewood Cliffs (1992)

    Google Scholar 

  22. Schauer, R., Keller, R.: Pattern Visualization for Software Comprehension. In: Pro-ceedings of the 6th International Workshop on Program Comprehension (IWPC 1998), Ischia, Italy, pp. 4–12 (June 1998)

    Google Scholar 

  23. Schmidt, D.: Reactor: An Object Behavioral Pattern for Concurrent Event Demultiplexing and Event Handler Dispatching. In: Coplien, J., Schmidt, D. (eds.) Pattern Languages of Program Design. ch. 29, pp. 529–545 (1995)

    Google Scholar 

  24. Sirinivasan, S., Vergo, J.: Object-Oriented Reuse: Experience in Developing a Framework for Speech Recognition Applications. In: Proceedings of 20th International Conference on Software Engineering, ICSE 1998, Kyoto, Japan, April 19-25, pp. 322–330 (1998)

    Google Scholar 

  25. Soukup, J.: Implementing Patterns. In: Pattern Language of Program Design, PLoPD. Ch. 20, pp. 395–415. Addison-Wesley, Reading (1995)

    Google Scholar 

  26. Vlissides, J.: Pattern Hatching, Design Patterns Applied. Addison-Wesley, Reading (1998)

    Google Scholar 

  27. Wirfs-Brock, R., Wilkerson, B.: Object-Oriented Design: A Responsibility-Driven-Approach. In: Proceedings of Object-Oriented Programming, Systems, Languages and Applications, OOPSLA 1989, pp. 71–75 (October 1989)

    Google Scholar 

  28. Yacoub, S.: Pattern-Oriented Analysis and Design, Ph.D. Dissertation. West Virginia University (December 1999)

    Google Scholar 

  29. Yacoub, S., Xue, H., Ammar, H.: Automating the Development of Pattern-Oriented Designs for Application Specific Software Systems. In: Proceedings of the 3rd IEEE Symposium on Application-Specific Systems and Software Engineering Technology, ASSET 2000, March 24-25, Richardson, Texas (2000)

    Google Scholar 

  30. Johnson, R., Foote, B.: Designing Reusable Classes. Journal of Object Oriented Programming 5, 22–35 (1988)

    Google Scholar 

  31. Pree, W.: Framework Patterns. SIGS Books and Multimedia (October 1996)

    Google Scholar 

  32. Yacoub, S., Ammar, H.: An Object-oriented Framework for Feedback Control Applications. In: Proceedings of Application Specific Software Engineering and Technology, ASSET 1998, Dallas, Texas, pp. 134–139 (March 1998)

    Google Scholar 

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

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2000 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Yacoub, S., Ammar, H.H., Mili, A. (2000). Constructional Design Patterns as Reusable Components. In: Frakes, W.B. (eds) Software Reuse: Advances in Software Reusability. ICSR 2000. Lecture Notes in Computer Science, vol 1844. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-44995-9_22

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-44995-9_22

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-67696-6

  • Online ISBN: 978-3-540-44995-9

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics