skip to main content
10.1145/375212.375252acmconferencesArticle/Chapter ViewAbstractPublication PagesssrConference Proceedingsconference-collections
Article

Reusable component interconnection patterns for distributed software architectures

Authors Info & Claims
Published:01 May 2001Publication History

ABSTRACT

This paper investigates the design of reusable component interconnection in client/ server systems. In particular, the paper describes the design of component interconnection patterns, which define and encapsulate the way client and server components communicate with each other. This paper uses the Unified Modeling Language (UML) to describe the component interconnection patterns for synchronous, asynchronous, and brokered communication. When designing a new distributed application, the appropriate component interaction patterns may then be selected and reused.

References

  1. 1.G. Abowd, R. Allen, D. Garlan. Using Style to Understand Descriptions of Software Architecture. Proc. Symposium on Foundations of Software Engineering, December 1993 Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. 2.R. Allen and D. Garlan. A Formal Basis for Architectural Connection. ACM Transactions on Software Engineering and Methodology, 1997 Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. 3.L. Bass, P. Clements, and Rich Kazman, Software Architecture in Practice. Addison-Wesley, 1998 Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. 4.G. Booch, J. Rumbaugh, I. Jacobson. The Unified Modeling Language User Guide. Addison Wesley, Reading MA, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. 5.F. Buschmann et al. Pattern Oriented Software Architecture: A System of Patterns. Wiley, 1996 Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. 6.Eric M. Dashofy, N. Medvidovic, and R. Taylor. Using Off-The- Shelf Middleware to Implement Connectors in Distributed Software Architectures. Proc. IEEE Intl. Conf. on Software Engineering, May 1999 Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. 7.E. Gamma, R. Helm, R. Johnson and J. Vlissides, Design Patterns: Elements of Reusable Object-Oriented Software. Addison Wesley, 1995 Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. 8.H. Gomaa. Designing Concurrent, Distributed, and Real-Time Applications with UML. Addison Wesley, 2000 Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. 9.H. Gomaa, D. A. Menasce, and L. Kerschberg. A Software Architectural Design Method for Large-Scale Distributed Data Intensive Information Systems. Journal of Distributed Systems Eng., Vol. 3, 1996, pp. 162-172Google ScholarGoogle ScholarCross RefCross Ref
  10. 10.H. Gomaa. Use Cases for Distributed Real-Time Software Architectures. Journal of Parallel and Distributed Computing Practices, June 1998Google ScholarGoogle Scholar
  11. 11.D. Harel and M. Politi. Modeling Reactive Systems with Statecharts. McGraw-Hill, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. 12.C. Hofmeister, R.L. Nord, D. Soni. Applied Software Architecture. Addison Wesley, 2000 Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. 13.C. Kobryn. UML 2001: A Standardization Odyssey. Communications ACM, Vol. 42, No. 10, October 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. 14.D. Luckham et al. Specification and Analysis of System Architecture using Rapide. IEEE Transactions on Software Engineering, Vol. 21, No.4, April 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. 15.Magee, J., Dulay, N., and Kramer, J. Regis: A Constructive Development Environment for Parallel and Distributed Programs. J. Distributed Systems Engineering, 1994, pp. 304-312Google ScholarGoogle Scholar
  16. 16.J. Magee and J. Kramer. Concurrency: State Models & Java Programs. John Wiley & Sons, 1999 Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. 17.Menasce, D. A. and H. Gomaa. A Method for Design and Performance Modeling of Client/Server Systems. IEEE Transactions on Software Engineering, November 2000 Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. 18.D. A. Menasce, H. Gomaa, and L. Kerschberg, A Performance-Oriented Design Methodology for Large-Scale Distributed Data Intensive Information Systems. Proc. First IEEE International Conf. on Eng. of Complex Computer Systems, Southern Florida, USA, Nov. 1995 Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. 19.R. Orfali, D Harkey, J. Edwards. Essential Distributed Objects Survival Guide. Wiley, 1996 Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. 20.R. Orfali, D Harkey, J. Edwards. Essential Client/Server Survival Guide. Wiley, Third Ed., 1999 Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. 21.J. E. Robbins, N. Medvidovic, D. F. Redmiles, and D. Rosenblum. Integrating Architectural Description Languages with a Standard Design Method. Proc. Intl. Conf. on Software Engineering, Kyoto, Japan, April 1998 Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. 22.J. Rumbaugh, G. Booch, I. Jacobson. The Unified Modeling Language Reference Manual. Addison Wesley, Reading MA, 1999 Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. 23.B. Selic, G. Gullekson, and P. T. Ward. Real-Time Object- Oriented Modeling. John Wiley & Sons, 1994 Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. 24.M. Shaw, R. DeLine, D. Klein, T. Ross, D. Young, and G. Zelesnik. Abstractions for Software Architecture and Tools to Support Them. IEEE Transactions on Software Engineering, April, 1995, 314-335 Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. 25.M. Shaw & D. Garlan. Software Architecture: Perspectives on an Emerging Discipline. Prentice Hall, 1996 Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. 26.R. N. Taylor, N. Medvidovic, K. Anderson, Jr. E. J. Whitehead, J. E, Robbins, K. A. Nies, P. Oreizy, and D. L. Dubrow. A component and message-based architectural style for GUI software. IEEE Trans. Software Engineering, June 1996, Vol.22, no.6, pp.390-406 Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Reusable component interconnection patterns for distributed software architectures

              Recommendations

              Comments

              Login options

              Check if you have access through your login credentials or your institution to get full access on this article.

              Sign in
              • Published in

                cover image ACM Conferences
                SSR '01: Proceedings of the 2001 symposium on Software reusability: putting software reuse in context
                May 2001
                177 pages
                ISBN:1581133588
                DOI:10.1145/375212

                Copyright © 2001 ACM

                Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

                Publisher

                Association for Computing Machinery

                New York, NY, United States

                Publication History

                • Published: 1 May 2001

                Permissions

                Request permissions about this article.

                Request Permissions

                Check for updates

                Qualifiers

                • Article

                Acceptance Rates

                Overall Acceptance Rate33of76submissions,43%

              PDF Format

              View or Download as a PDF file.

              PDF

              eReader

              View online with eReader.

              eReader