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.
- VMware. http://www.vmware.com/.Google Scholar
- Xen. http://xen.org/.Google Scholar
- The Globus Alliance. http://www.globus.org/.Google Scholar
- 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 ScholarCross Ref
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- MicrosoftTechNet. Introduction to Hotpatching. http://technet2.microsoft.com/windowsserver/en/library/8bf7c6e4-3175-43bd-a67a-827ff3a586011033.mspx?mfr=true, Microsoft Corporation, 2008.Google Scholar
- 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 ScholarDigital Library
- 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 ScholarCross Ref
- 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 ScholarDigital Library
- Pingdom. Best and worst US online banks revealed. http://www.pingdom.com/_img/press/best_and_worst_us_online_banks_revealed.pdf, 2006.Google Scholar
- Reiss, S.P. Connecting Tools Using Message Passing in the Field Environment. IEEE Software. 7(4), p. 57--66, July, 1990. Google ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- Taylor, R.N., Medvidovic, N., and Dashofy, E.M. Software Architecture: Foundations, Theory, and Practice. John Wiley & Sons, 2008. In press. Google ScholarDigital Library
- Winfree, E. Simulations of computing by self-assembly of DNA. California Institute of Technology, Report CS-TR:1998:22, 1998.Google Scholar
- C. R. Hofmeister. Dynamic Reconfiguration of Distributed Applications. Ph.D. Thesis. University of Maryland, Computer Science Department, 1993. Google ScholarDigital Library
Index Terms
- Runtime software adaptation: framework, approaches, and styles
Recommendations
PLASMA: a plan-based layered architecture for software model-driven adaptation
ASE '10: Proceedings of the 25th IEEE/ACM International Conference on Automated Software EngineeringModern software-intensive systems are expected to adapt, often while the system is executing, to changing requirements, failures, and new operational contexts. This paper describes an approach to dynamic system adaptation that utilizes plan-based and ...
Comparative Evaluation of the State-of-the Art on Approaches to Software Adaptation
ICSEA '09: Proceedings of the 2009 Fourth International Conference on Software Engineering AdvancesSoftware needs to evolve to ensure it continuously relevant in supporting the needs of an organization. Thus, software evolution is unavoidable for its survival. Due to rapid changes in business environment and advancement of technology, simplifying ...
A framework for acquisition and application of software architecture evolution knowledge: 14
Software systems continuously evolve as a consequence of frequent changes in their functional requirements and the environment surrounding them. Architecture-centric software evolution (ACSE) enables changes in software structure and behaviour while ...
Comments