skip to main content
10.1145/1370175.1370181acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
research-article

Runtime software adaptation: framework, approaches, and styles

Published:10 May 2008Publication History

ABSTRACT

Our ICSE 1998 paper showed how an application can be adapted at runtime by manipulating its architectural model. In particular, our paper demonstrated the beneficial role of (1) software connectors in aiding runtime change, (2) an explicit architectural model fielded with the system and used as the basis for runtime change, and (3) architectural style in providing both structural and behavioral constraints over runtime change. This paper examines runtime evolution in the decade hence. A broad framework for studying and describing evolution is introduced that serves to unify the wide range of work now found in the field of dynamic software adaptation. This paper also looks to the future, identifying what we believe to be highly promising directions.

References

  1. VMware. http://www.vmware.com/.Google ScholarGoogle Scholar
  2. Xen. http://xen.org/.Google ScholarGoogle Scholar
  3. The Globus Alliance. http://www.globus.org/.Google ScholarGoogle Scholar
  4. Allen, R.J., Douence, R., and Garlan, D. Specifying and Analyzing Dynamic Software Architectures. In Proceedings of the 1998 Conference on Fundamental Approaches to Software Engineering. Lisbon, Portugal, March 1998, 1998.Google ScholarGoogle ScholarCross RefCross Ref
  5. Anderson, D.P., Cobb, J., Korpela, E., Lebofsky, M., and Werthimer, D. SETI@home: an experiment in public-resource computing. Communications of the ACM. 45(11), p. 56--61, November, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Baset, S.A. and Schulzrinne, H. An Analysis of the Skype Peer-to-Peer Internet Telephony Protocol. Columbia University, Report CUCS-039-04, 2004.Google ScholarGoogle Scholar
  7. Brun, Y. and Medvidovic, N. An Architectural Style for Solving Computationally Intensive Problems on Large Networks. In Proceedings of the SEAMS '07: Proceedings of the 2007 International Workshop on Software Engineering for Adaptive and Self-Managing Systems. p. 2--9, IEEE Computer Society. 2007. http://dx.doi.org/10.1109/SEAMS.2007.4. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Carzaniga, A., Rosenblum, D.S., and Wolf, A.L. Design and Evaluation of a Wide-Area Event Notification Service. ACM Transactions on Computer Systems. 9(3), p. 332--383, August, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Chan, A.T.S. and Chuang, S.-N. MobiPADS: A Reflective Middleware for Context-Aware Mobile Computing. IEEE Transactions on Software Engineering. 29(12), p. 1072--1085, December, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Dean, J. and Ghernawat, S. MapReduce: Simplified Data Processing on Large Clusters In Proceedings of the OSDI'04: Sixth Symposium on Operating System Design and Implementation. San Francisco, CA, December, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Erenkrantz, J.R., Gorlick, M., Suryanarayana, G., and Taylor, R.N. From Representations to Computations: The Evolution of Web Architectures. In Proceedings of the 6th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Int'l Symposium on the Foundations of Software Engineering (ESEC/FSE). Dubrovnik, Croatia, September, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Eugster, P.T., Felber, P.A., Guerraoui, R., and Kermarrec, A.-M. The many faces of publish/subscribe. ACM Computing Surveys. 35(2), p. 114--131, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Fielding, R.T. and Taylor, R.N. Principled Design of the Modern Web Architecture. ACM Transactions on Internet Technology (TOIT). 2(2), p. 115--150, May, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Foster, I., Kesselman, C., Nick, J.M., and Tuecke, S. Grid Services for Distributed System Integration. IEEE Computer. 35(6), p. 37--46, June, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Garlan, D., Siewiorek, D., Smailagic, A., and Steenkiste, P. Project Aura: Toward distraction-free pervasive computing. IEEE Pervasive computing. 4(2), p. 22--31, April, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Garlan, D., Cheng, S.-W., Huang, A.-C., Schmerl, B., and Steenkiste, P. Rainbow: Architecture-Based Self-Adaptation with Reusable Infrastructure. Computer. p. 46--54, October, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Gorlick, M.M. and Razouk, R.R. Using Weaves for Software Construction and Analysis. In Proceedings of the 13th International Conference on Software Engineering. p. 23--34, May, 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Inverardi, P. and Wolf, A.L. Formal Specification and Analysis of Software Architectures Using the Chemical Abstract Machine Model. IEEE Transactions on Software Engineering. 21(4), p. 373--386, April, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Kramer, J. and Magee, J. Self-Managed Systems: An Architectural Challenge In Future of Software Engineering 2007 Briand, L. and Wolf, A. eds. IEEE-CS Press, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Larson, S.M., Snow, C.D., Shirts, M.R., and Pande, V.S. Folding@Home and Genome@Home: Using distributed computing to tackle previously intractable problems in computational biology. In Computational Genomics. Horizon Press, 2002.Google ScholarGoogle Scholar
  21. Luckham, D.C. and Vera, J. An Event-Based Architecture Definition Language. IEEE Transactions on Software Engineering. 21(9), p. 717--734, September, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Magee, J. and Kramer, J. Dynamic Structure in Software Architectures. In Proceedings of the 4th ACM SIGSOFT Symposium on Foundations of Software Engineering. p. 3--14, ACM SIGSOFT. San Francisco, CA, October 16-18, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Metayer, D.L. Describing software architecture styles using graph grammars. Transactions on Software Engineering. 24(7), p. 521--553, July, 1998. http://www.computer.org/tse/ts1998/e0521abs.htm?SMSESSION=NO. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. MicrosoftTechNet. Introduction to Hotpatching. http://technet2.microsoft.com/windowsserver/en/library/8bf7c6e4-3175-43bd-a67a-827ff3a586011033.mspx?mfr=true, Microsoft Corporation, 2008.Google ScholarGoogle Scholar
  25. Ommering, R.v., Linden, F.v.d., Kramer, J., and Magee, J. The Koala Component Model for Consumer Electronics Software. IEEE Computer. 33(3), p. 78--85, March, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Oreizy, P. and Taylor, R.N. On the Role of Software Architectures in Runtime System Reconfiguration. IEE Proceedings - Software Engineering. 145(5), p. 137--145, October, 1998.Google ScholarGoogle ScholarCross RefCross Ref
  27. Oreizy, P., Gorlick, M.M., Taylor, R.N., Heimbigner, D., Johnson, G., Medvidovic, N., Quilici, A., Rosenblum, D.S., and Wolf, A.L. An Architecture-based Approach to Self-Adaptive Software. IEEE Intelligent Systems. 14(3), p. 54--62, May-June, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Pingdom. Best and worst US online banks revealed. http://www.pingdom.com/_img/press/best_and_worst_us_online_banks_revealed.pdf, 2006.Google ScholarGoogle Scholar
  29. Reiss, S.P. Connecting Tools Using Message Passing in the Field Environment. IEEE Software. 7(4), p. 57--66, July, 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Reuters. Routine Upgrade Blamed for BlackBerry Outage. New York Times. 12 February, 2008. http://www.nytimes.com/2008/02/12/technology/12cnd-rim.html?ex=1360558800&en=eceb00610baba273&ei=5124&partner=permalink&exprod=permalink.Google ScholarGoogle Scholar
  31. Taylor, R.N., Medvidovic, N., Anderson, K.M., E. James Whitehead, J., Robbins, J.E., Nies, K.A., Oreizy, P., and Dubrow, D.L. A Component- and Message-Based Architectural Style for GUI Software. IEEE Transactions on Software Engineering. 22(6), p. 390--406, June, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Taylor, R.N., Medvidovic, N., and Dashofy, E.M. Software Architecture: Foundations, Theory, and Practice. John Wiley & Sons, 2008. In press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Winfree, E. Simulations of computing by self-assembly of DNA. California Institute of Technology, Report CS-TR:1998:22, 1998.Google ScholarGoogle Scholar
  34. C. R. Hofmeister. Dynamic Reconfiguration of Distributed Applications. Ph.D. Thesis. University of Maryland, Computer Science Department, 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Runtime software adaptation: framework, approaches, and styles

        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
          ICSE Companion '08: Companion of the 30th international conference on Software engineering
          May 2008
          214 pages
          ISBN:9781605580791
          DOI:10.1145/1370175

          Copyright © 2008 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: 10 May 2008

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • research-article

          Acceptance Rates

          Overall Acceptance Rate276of1,856submissions,15%

          Upcoming Conference

          ICSE 2025

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader