Skip to main content

Enabling Safe Dynamic Component-Based Software Adaptation

  • Conference paper
Architecting Dependable Systems III

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

Abstract

Recomposable software enables a system to change its structure and behavior during execution, in response to a dynamic execution environment. This paper proposes an approach to ensure that such adaptations are safe with respect to system consistency. The proposed method takes into consideration dependency analysis for target components, specifically determining viable sequences of adaptive actions and those states in which an adaptive action may be applied safely. We demonstrate that the technique ensures safe adaptation (insertion, removal, and replacement of components) in response to changing external conditions in a wireless multicast video application.

This work has been supported in part by NSF grants EIA-0000433, EIA-0130724, ITR-0313142, and CCR-9901017, and the Department of the Navy, Office of Naval Research under Grant No. N00014-01-1-0744.

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. McKinley, P.K., Sadjadi, S.M., Kasten, E.P., Cheng, B.H.C.: Composing adaptive software. IEEE Computer 37(7), 56–64 (2004)

    Google Scholar 

  2. Adve, V., Lam, V.V., Ensink, B.: Language and compiler support for adaptive distributed applications. In: Proceedings of the ACM SIGPLAN Workshop on Optimization of Middleware and Distributed Systems, OM 2001 (2001)

    Google Scholar 

  3. Kasten, E., McKinley, P.K., Sadjadi, S., Stirewalt, R.: Separating introspection and intercession in metamorphic distributed systems. In: Proceedings of the IEEE Workshop on Aspect-Oriented Programming for Distributed Computing, with ICDCS 2002 (2002)

    Google Scholar 

  4. Redmond, B., Cahill, V.: Supporting unanticipated dynamic adaptation of application behaviour. In: Proceedings of the 16th European Conference on Object-Oriented Programming (2002)

    Google Scholar 

  5. Fickas, S., Kortuem, G., Segall, Z.: Software organization for dynamic and adaptable wearable systems. In: Proceedings First International Symposium on Wearable Computers, ISWC 1997 (1997)

    Google Scholar 

  6. Sousa, J.P., Garlan, D.: Aura: An architectural framework for user mobility in ubiquitous computing environments. In: Proceedings of the 3rd Working IEEE/IFIP Conference on Software Architecture (2000)

    Google Scholar 

  7. Blair, G.S., Coulson, G., Robin, P., Papathomas, M.: An architecture for next generation middleware. In: Proceedings of the IFIP International Conference on Distributed Systems Platforms and Open Distributed Processing, Middleware 1998 (1998)

    Google Scholar 

  8. Kon, F., Roman, M., Liu, P., Mao, J., Yamane, T., Magalhaes, L.C., Campbell, R.H.: Monitoring, security, and dynamic configuration with the dynamictao reflective orb. In: Proceedings of the IFIP/ACM International Conference on Distributed Systems Platforms and Open Distributed Processing (Middleware 2000) (April 2000)

    Google Scholar 

  9. Bershad, B.N., Savage, S., Pardyak, P., Sirer, E.G., Fiuczynski, M.E., Becker, D., Chambers, C., Eggers, S.: Extensibility safety and performance in the SPIN operating system. In: Proceedings of the fifteenth ACM symposium on Operating systems principles, pp. 267–283. ACM Press, New York (1995)

    Chapter  Google Scholar 

  10. Appavoo, J., Wisniewski, R.W., Soules, C.A.N., et al.: An infrastructure for multiprocessor run-time adaptation. In: Proceedings of the ACM SIGSOFT Workshop on Self-Healing Systems (WOSS 2002) (November 2002)

    Google Scholar 

  11. Engler, D.R., Kaashoek, M.F., O’Toole, J.: Exokernel: An operating system architecture for application-level resource management. In: Symposium on Operating Systems Principles, pp. 251–266 (1995)

    Google Scholar 

  12. Sadjadi, S.M., McKinley, P.K., Kasten, E.P.: Architecture and operation of an adaptable communication substrate. In: Proceedings of the Ninth International Workshop on Future Trends of Distributed Computing Systems (FTDCS 2003) (May 2003)

    Google Scholar 

  13. Yang, Z., Cheng, B.H.C., Stirewalt, K., Sadjadis, M., Sowell, J., McKinley, P.: An aspect-oriented approach to dynamic adaptation. In: Proceedings of the ACM SIGSOFT Workshop on Self-Healing Systems (2002)

    Google Scholar 

  14. Sadjadi, S.M., McKinley, P.K.: ACT: An adaptive CORBA template to support unanticipated adaptation. In: Proceedings of the 24th IEEE International Conference on Distributed Computing Systems (ICDCS 2004), Tokyo, Japan (March 2004)

    Google Scholar 

  15. Sadjadi, S.M., McKinley, P.K., Cheng, B.H., Stirewalt, R.E.: TRAP/J: Transparent generation of adaptable java programs. In: Proceedings of the International Symposium on Distributed Objects and Applications, Agia Napa, Cyprus (October 2004)

    Google Scholar 

  16. Maes, P.: Concepts and experiments in computational reflection. In: Proceedings of the ACM Conerfence on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA), December 1987, pp. 147–155 (1987)

    Google Scholar 

  17. McKinley, P.K., Kasten, E.P., Sadjadi, S.M., Zhou, Z.: Realizing multi-dimensional software adaptation. In: Proceedings of the ACM Workshop on Self-Healing, Adaptive and self-MANaged Systems (SHAMAN), held in conjunction with the 16th Annual ACM International Conference on Supercomputing, New York City (June 2002)

    Google Scholar 

  18. McKinley, P.K., Sadjadi, S.M., Kasten, E.P.: An adaptive software approach to intrusion detection and response. In: Proceedings of the 10th International Conference on Telecommunication Systems, Modeling and Analysis, Monterey, California (October 2002)

    Google Scholar 

  19. Arora, A., Gouda, M.G.: Distributed reset. IEEE Transactions on Computers (1994)

    Google Scholar 

  20. Kulkarni, S.S., Biyani, K.N., Arumugam, U.: Composing distributed fault-tolerance components. In: Proccedings of the International Conference on Dependable Systems and Networks (DSN), Workshop on Principles of Dependable Systems, vol. Supplemental, June 2003, pp. W127–W136 (2003)

    Google Scholar 

  21. Gray, J.: Notes on data base operating systems. In: Operating Systems, An Advanced Course, pp. 393–481. Springer, Heidelberg (1978)

    Google Scholar 

  22. Kulkarni, S., Biyani, K.: Correctness of component-based adaptation. In: Proceedings of International Symposium on Component-based Software Engineering (May 2004)

    Google Scholar 

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

    Article  Google Scholar 

  24. Chen, W.-K., Hiltunen, M.A., Schlichting, R.D.: Constructing adaptive software in distributed systems. In: Proc. of the 21st International Conference on Distributed Computing Systems, Mesa, AZ, April 16-19 (2001)

    Google Scholar 

  25. Appavoo, J., Hui, K., Soules, C.A.N., et al.: Enabling autonomic behavior in systems software with hot swapping. IBM System Journal 42(1), 60 (2003)

    Article  Google Scholar 

  26. Amano, N., Watanabe, T.: A software model for flexible and safe adaptation of mobile code programs. In: Proceedings of the international workshop on Principles of software evolution, pp. 57–61. ACM Press, New York (2002)

    Chapter  Google Scholar 

  27. Kramer, J., Magee, J., Sloman, M.: Configuring distributed systems. In: Proceedings of the 5th workshop on ACM SIGOPS European workshop, pp. 1–5. ACM Press, New York (1992)

    Google Scholar 

  28. Milner, R., Parrow, J., Walker, D.: A calculus of mobile processes, I. Information and Computation 100(1), 1–40 (1992)

    Article  MATH  MathSciNet  Google Scholar 

  29. Kramer, J., Magee, J.: Analysing dynamic change in software architectures: a case study. In: Proc. of 4th IEEE international conference on configuratble distributed systems, Annapolis (May 1998)

    Google Scholar 

  30. Taylor, R.N., Medvidovic, N., Anderson, K.M., Whitehead Jr., E.J., Robbins, J.E.: A component- and message-based architectural style for GUI software. In: Proceedings of the 17th international conference on Software engineering, pp. 295–304. ACM Press, New York (1995)

    Google Scholar 

  31. Oreizy, P., Medvidovic, N., Taylor, R.N.: Architecture-based runtime software evolution. In: Proceedings of the 20th international conference on Software engineering, pp. 177–186. IEEE Computer Society, Los Alamitos (1998)

    Chapter  Google Scholar 

  32. Zhang, J., Cheng, B.H.: Specifying adaptation semantics. In: Proceedings of ICSE 2005 Workshop on Architecting Dependable Systems, St. Louis, Missouri (May 2005), accepted for publication

    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

Zhang, J., Cheng, B.H.C., Yang, Z., McKinley, P.K. (2005). Enabling Safe Dynamic Component-Based Software Adaptation. 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_9

Download citation

  • DOI: https://doi.org/10.1007/11556169_9

  • 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