Skip to main content

A Feature-Oriented Alternative to Implementing Reliability Connector Wrappers

  • Conference paper
Architecting Dependable Systems III

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 3549))

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.

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. Spitznagel, B., Garlan, D.: A Compositional Formalization of Connector Wrappers. In: Proceedings of the 2003 International Conference on Software Engineering, Portland, Oregon, USA (2003)

    Google Scholar 

  2. Allen, R., Garlan, D.: A Formal Basis for Architectural Connection. ACM Transactions on Software Engineering Methodology 6, 213–249 (1997)

    Article  Google Scholar 

  3. 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)

    Chapter  Google Scholar 

  4. Milner, R., et al.: The Definition of Standard ML - Revised. The MIT Press, Cambridge (1997)

    Google Scholar 

  5. 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)

    Chapter  Google Scholar 

  6. 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)

    Google Scholar 

  7. Avizienis, A., Laprie, J.C., Randell, B.: Fundamental concepts of dependability. Technical Report 010028, UCLA (1984)

    Google Scholar 

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

    Google Scholar 

  9. Spitznagel, B.: Compositional Transformation of Software Connectors. PhD dissertation, School of Computer Science, Carnegie Mellon University, Pittsburgh, PA, USA (2004)

    Google Scholar 

  10. Becker, T.: Application Transparent Fault Tolerance in Distributed Systems. In: Proceedings of 2nd International Workshop on Configurable Distributed Systems, Pittsburgh, Pennsylvania, USA (2004)

    Google Scholar 

  11. 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)

    Chapter  Google Scholar 

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

  13. 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)

    Google Scholar 

  14. Bergmans, L., Aksits, M.: Composing crosscutting concerns using composition filters. Commun. ACM 44, 51–57 (2001)

    Article  Google Scholar 

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

    Google Scholar 

  16. 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)

    Google Scholar 

  17. 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)

    Google Scholar 

  18. Parlavantzas, N., Coulson, G., Blair, G.: An Extensible Binding Framework for Component-Based Middleware. In: Proceedings of EDOC 2003, Brisbane, Australia (2003)

    Google Scholar 

  19. Fleury, M., Reverbel, F.: The jboss extensible server. In: Middleware, pp. 344–373 (2003)

    Google Scholar 

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

    Article  Google Scholar 

  21. Batory, D., Sarvela, J.N., Rauschmayer, A.: Scaling step-wise refinement. IEEE Trans. Softw. Eng. 30, 355–371 (2004)

    Article  Google Scholar 

  22. Package java.lang.reflect, http://java.sun.com/j2se/1.4.2/docs/api/java/lang/reflect/package-summary.html

  23. Gray, J., Reuter, A.: Transaction Processing: Concepts and Techniques. Morgan Kaufmann Publishers, San Francisco (1993)

    MATH  Google Scholar 

  24. Stevens, W.R.: UNIX Network Programming, 2nd edn. Networking APIs: Sockets and XTI, vol. 1. Prentice Hall, Englewood Cliffs (1998)

    Google Scholar 

  25. Common Object Request Broker Architecture: Core Specification. Object Management Group (2002)

    Google Scholar 

  26. Class java.rmi.server.uid, http://java.sun.com/j2se/1.4.2/docs/api/java/rmi/server/UID.html

  27. Kramer, J., Magee, J.: The evolving philosophers problem: Dynamic change management. IEEE Trans. Softw. Eng. 16, 1293–1306 (1990)

    Article  Google Scholar 

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

    Chapter  Google Scholar 

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

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics