Abstract
Despite dramatic increases in network and host performance, it remains difficult to design, implement, and reuse communication software for complex distributed systems. Examples of these systems include global personal communication systems, network management platforms, enterprise medical imaging systems, and real-time market data monitoring and analysis systems. In addition, it is often hard to directly reuse existing algorithms, detailed designs, interfaces, or implementations in these systems due to the growing heterogeneity of hardware/software architectures and the increasing diversity of operating system platforms.
- 1 Blaine, G., Boyd, M., and Crider, S. Project Spectrum: Scalable bandwidth for the BJC health system. HIMSS, Health Care Communications, 1994, pp. 71-81.Google Scholar
- 2 Booch, G. Object Oriented Analysis and Design with Applications 2d ed. Benjamin/Cummings, Redwood City, Ca., 1993. Google ScholarDigital Library
- 3 Buschmann, F., Meunier, R., Rohnert, H., Sommerlad, P., and Stal, M. Pattern-Oriented Software Architecture--A System of Patterns. Wiley, NY, 1996. Google ScholarDigital Library
- 4 Coplien, J.O. A development process generative pattern language. In J. O. Coplien and D. C. Schmidt, Eds., Pattern Languages of Programs. Addison-Wesley, Reading, Mass., 1995. Google ScholarDigital Library
- 5 Coplien, J.O. and Schmidt, D.C., Eds. Pattern Languages of Program Design. Addison-Wesley, Reading, Mass., 1995. Google ScholarDigital Library
- 6 Fayad, M., Tsai, W., and Fulghum, M. Transition to object-oriented software development. Commun. ACM. To appear. Google ScholarDigital Library
- 7 Gamma, E., Helm, R., Johnson, R., and Vlissides, J. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading, Mass., 1994. Google ScholarDigital Library
- 8 Johnson, R. Documenting frameworks using patterns. In Proceedings of OOPLSA '92, (Vancouver, BC. Oct. 1992), pp. 63-76. Google ScholarDigital Library
- 9 Lavender, R.G. and Schmidt, D.C. Active Object: An object behavioral pattern for concurrent programming. In Proceedings of the Second Annual Conference on the Pattern Languages of Programs, (Monticello, Illinois, Sept. 1995.), pp. 1-7.Google Scholar
- 10 Linton, M.A. and Calder, P.R. The design and implementation of InterViews. In Proceedings of the USENIX C++ Workshop, November 1987.Google Scholar
- 11 Pree, W. Design Patterns for Object-Oriented Software Development. Addison-Wesley, Reading, Mass., 1994. Google ScholarDigital Library
- 12 Schmidt, D.C. Acceptor and connector: Design patterns for active and passive establishment of network connections. In Proceedings of the Workshop on Pattern Languages of Object-Oriented Programs at ECOOP '95, (Aarhus, Denmark), August 1995.Google Scholar
- 13 Schmidt, D.C. A system of reusable design patterns for communication software. In The Theory and Practice of Object Systems (Special Issue on Patterns and Pattern Languages, S.P. Berczuk, Ed.), Wiley, New York, 1995.Google Scholar
- 14 Schmidt, D.C. Reactor: An object behavioral pattern for concurrent event demultiplexing and event handler dispatching. In J.O. Coplien and D.C. Schmidt, Eds., Pattern Languages of Program Design. Addison-Wesley, Reading, Mass., 1995. Google ScholarDigital Library
- 15 Schmidt, D.C. and Cranor, C.D. Half-Sync/Half-Async: An architectural pattern for efficient and well-structured concurrent I/O. In Proceedings of the Second Annual Conference on the Pattern Languages of Programs, (Monticello, Illinois, Sept. 1995 ), pp. 1-10Google Scholar
- 16 Schmidt D.C., and Stephenson, P. Experiences using design patterns to evolve system software across diverse OS platforms. In Proceedings of the Ninth European Conference on Object-Oriented Programming, (Aarhus, Denmark), August 1995. Google ScholarDigital Library
Index Terms
Using design patterns to develop reusable object-oriented communication software
Recommendations
Producing reusable object-oriented components: a domain-and-organization-specific perspective
SSR '01: Proceedings of the 2001 symposium on Software reusability: putting software reuse in contextDeveloping reusable object-oriented software requires a designer to determine how to structure a software system so as to achieve the necessary functionality, while at the same time increasing the reuse potential of the software. We introduce a set of ...
Restructuring conditional code structures using object oriented design patterns
ICCSA'03: Proceedings of the 2003 international conference on Computational science and its applications: PartINowadays, software industry demands high quality reusable artifacts that are easy to configure for developing new applications or modifying the existing ones at minimum cost. In this context several approaches have been proposed, as a result of this, ...
Object Oriented Design for Reusable Parallel Linear Algebra Software
Euro-Par '99: Proceedings of the 5th International Euro-Par Conference on Parallel ProcessingMaintaining and reusing parallel numerical applications is not an easy task. We propose an OO design which enables very good code reuse for both sequential and parallel linear algebra applications. A linear algebra class library called LAKe is ...
Comments