Abstract
Connectors and connector wrappers explicitly specify the protocol of interaction among components and afford the reusable application of extra-functional behaviors, such as reliability policies. Ideally, these specifications can be used for more than just modeling and analysis. We are investigating how to use them in the design and implementation of the middleware substrate of a distributed system. This paper reports our experience elaborating connectors and connector wrappers as instantiations of a feature-oriented middleware framework called Theseus, which supports the design of asynchronous distributed applications. The results of this case study indicate that the relationship between specification features and implementation-level features is not one-to-one and that some specification features have complex, often subtle, manifestations in Theseus’ design. This work reports the lessons learned designing these strategies and suggests techniques for designing middleware frameworks and composition tools that more explicitly reify and expose the features specified by connectors and connector wrappers.
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
Spitznagel, B., Garlan, D.: A Compositional Formalization of Connector Wrappers. In: Proceedings of the 2003 International Conference on Software Engineering, Portland, Oregon, USA (2003)
Allen, R., Garlan, D.: A Formal Basis for Architectural Connection. ACM Transactions on Software Engineering Methodology 6, 213–249 (1997)
Batory, D., Sarvela, J.N., Rauschmayer, A.: Scaling step-wise refinement. In: Proceedings of the 25th International Conference on Software Engineering, pp. 187–197. IEEE Computer Society, Los Alamitos (2003)
Milner, R., et al.: The Definition of Standard ML - Revised. The MIT Press, Cambridge (1997)
Smaragdakis, Y., Batory, D.: Implementing layered designs with mixin layers. In: Jul, E. (ed.) ECOOP 1998. LNCS, vol. 1445, pp. 550–570. Springer, Heidelberg (1998)
Schmidt, D., Stal, M., Rohnert, H., Buschmann, F.: Pattern-Oriented Software Architecture: Patterns for Concurrent and Networked Objects, vol. 2. John-Wiley & Sons, West Sussex (2000)
Avizienis, A., Laprie, J.C., Randell, B.: Fundamental concepts of dependability. Technical Report 010028, UCLA (1984)
Sowell, J.H., Stirewalt, R.E.K.: Middleware Reliability Implementations and Connector Wrappers. In: Proceedings of ICSE 2004 Workshop on Architecting Dependable Systems, Edinburgh, Scotland, UK (2004)
Spitznagel, B.: Compositional Transformation of Software Connectors. PhD dissertation, School of Computer Science, Carnegie Mellon University, Pittsburgh, PA, USA (2004)
Becker, T.: Application Transparent Fault Tolerance in Distributed Systems. In: Proceedings of 2nd International Workshop on Configurable Distributed Systems, Pittsburgh, Pennsylvania, USA (2004)
Zandy, V.C., Miller, B.P.: Reliable network connections. In: MobiCom 2002: Proceedings of the 8th annual international conference on Mobile computing and networking, pp. 95–106. ACM Press, New York (2002)
Portable Interceptors. In: Common Object Request Broker Architecture: Core Specification. Object Management Group, 21–1–21–64 (2002), http://www.omg.org/technology/documents/formal/corba_2.htm
Marchetti, C., Verde, L., Baldoni, R.: CORBA Request Portable Interceptors: A Performance Analysis. In: Proceedings of the 3nd International Symposium on Distributed Objects and Applications (DOA 2001), pp. 208–217 (2001)
Bergmans, L., Aksits, M.: Composing crosscutting concerns using composition filters. Commun. ACM 44, 51–57 (2001)
Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading (1995)
Schmidt, D.: The ADAPTIVE Communication Environment: Object-Oriented Network Programming Components for Developing Client/Server Applications. In: Proceedings of the 12th Sun Users Group Conference (1994)
Fabre, J.C., Perennou, T.: A Metaobject Architecture for Fault Tolerant Distributed Systems: The FRIENDS Approach. IEEE Transactions on Computers, Special Issue on Dependability of Computing Systems 41, 78–95 (1998)
Parlavantzas, N., Coulson, G., Blair, G.: An Extensible Binding Framework for Component-Based Middleware. In: Proceedings of EDOC 2003, Brisbane, Australia (2003)
Fleury, M., Reverbel, F.: The jboss extensible server. In: Middleware, pp. 344–373 (2003)
Shaw, M., DeLine, R., Klein, D.V., Ross, T.L., Young, D.M., Zelesnik, G.: Abstractions for software architecture and tools to support them. IEEE Trans. Softw. Eng. 21, 314–335 (1995)
Batory, D., Sarvela, J.N., Rauschmayer, A.: Scaling step-wise refinement. IEEE Trans. Softw. Eng. 30, 355–371 (2004)
Package java.lang.reflect, http://java.sun.com/j2se/1.4.2/docs/api/java/lang/reflect/package-summary.html
Gray, J., Reuter, A.: Transaction Processing: Concepts and Techniques. Morgan Kaufmann Publishers, San Francisco (1993)
Stevens, W.R.: UNIX Network Programming, 2nd edn. Networking APIs: Sockets and XTI, vol. 1. Prentice Hall, Englewood Cliffs (1998)
Common Object Request Broker Architecture: Core Specification. Object Management Group (2002)
Class java.rmi.server.uid, http://java.sun.com/j2se/1.4.2/docs/api/java/rmi/server/UID.html
Kramer, J., Magee, J.: The evolving philosophers problem: Dynamic change management. IEEE Trans. Softw. Eng. 16, 1293–1306 (1990)
Hillman, J., Warren, I.: An open framework for dynamic reconfiguration. In: ICSE 2004: Proceedings of the 26th International Conference on Software Engineering, pp. 594–603. IEEE Computer Society, Los Alamitos (2004)
Allen, R., Douence, R., Garlan, D.: Specifying and analyzing dynamic software architectures. In: Astesiano, E. (ed.) ETAPS 1998 and FASE 1998. LNCS, vol. 1382, p. 21. Springer, Heidelberg (1998)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Sowell, J.H., Stirewalt, R.E.K. (2005). A Feature-Oriented Alternative to Implementing Reliability Connector Wrappers. In: de Lemos, R., Gacek, C., Romanovsky, A. (eds) Architecting Dependable Systems III. Lecture Notes in Computer Science, vol 3549. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11556169_11
Download citation
DOI: https://doi.org/10.1007/11556169_11
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-28968-5
Online ISBN: 978-3-540-31648-0
eBook Packages: Computer ScienceComputer Science (R0)