Abstract
One common approach to self-adaptive systems is to incorporate a control layer that monitors a system, supervisorily detects problems, and applies adaptation strategies to fix problems or improve system behavior. While such approaches have been found to be quite effective, they are typically limited to carrying out a single adaptation at a time, delaying other adaptations until the current one finishes. This in turn leads to a problem in which a time-critical adaptation may have to wait for an existing long-running adaptation to complete, thereby missing a window of opportunity for that adaptation. In this paper we improve on existing practice through an approach in which adaptations can be preempted to allow for other time-critical adaptations to be scheduled. Scheduling is based on an algorithm that maximizes time-related utility for a set of concurrently executing adaptations.
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
Garlan, D., Cheng, S.-W., Cheng-Huang, A., Schmerl, B., Steenkiste, P.: Rainbow: Architecture-Based Self Adaptation with Reusable Infrastructure. IEEE Computer 37(10) (2004)
Cheng, S.-W., Garlan, D., Schmerl, B.: Architecture-based Self-adaptation in the Presence of Multiple Objectives. In: ICSE 2006 Workshop on Software Engineering for Adaptive and Self-Managing Systems (SEAMS), Shanghai, China, May 21-22 (2006)
Sztajnberg, A., Loques, O.: Describing and deploying self-adaptive applications. In: Proc. 1st Latin American Autonomic Computing Symposium, July 14-20 (2006) 2.3.3
Vasconcelos Batista, T., Joolia, A., Coulson, G.: Managing dynamic reconfiguration in component-based systems. In: Morrison, R., Oquendo, F. (eds.) EWSA 2005. LNCS, vol. 3527, pp. 1–17. Springer, Heidelberg (2005)
Dashofy, E.M., Van der Hoek, A., Taylor, R.N.: Towards Architecture-based Self-healing systems. In: Proceedings of the First Workshop on Self-healing Systems, pp. 21–26 (2002)
Bather, J.A.: Decision Theory: An Introduction to Dynamic Programming and Sequential Decisions. John Wiley and Sons, Chichester (2000)
Cheng, S.-W.: Rainbow: Cost-Effective Software Architecture-Based Self-Adaptation, PhD thesis, Carnegie Mellon University, Institute for Software Research Technical Report CMU-ISR-08-113 (May 2008)
Jensen, E.D., Locke, C.D., Tokuda, H.: A time-driven scheduling model for real-time systems. In: IEEE RTSS (1985)
Jones, C.B.: Tentative steps toward a development method for interfering programs. Transactions on Programming Languages and Systems 5(4), 569–619 (1983)
Kephart, J.O., Chess, D.M.: The vision of autonomic computing. IEEE Computer 36, 1 (2003)
Ganak, A.G., Corbi, T.A.: The dawning of the autonomic computing era. IBM Systems Journal 42(1), 5–18 (2003)
Jann, J., Browning, L.M., Burugula, R.S.: Dynamic reconfiguration: Basic building blocks for autonomic computing on IBM pSeries servers. IBM Systems Journal 42(1), 29–37 (2003)
Markl, V., Lohman, G.M., Raman, V.: LEO: An autonomic query optimizer for DB2. IBM Systems Journal 42(1), 98–106 (2003)
Vafeiadis, V., Herlihy, M., Hoare, T., Shapiro, M.: Proving Correctness of Highly-Concurrent Linearisable Objects. In: Proceedings of the eleventh ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, New York, pp. 129–136 (2006)
Khatchadourian, R., Dovland, J., Soundarajan, N.: Enforcing Behavioral Constraints in Evolving Aspect-Oriented Programs. In: Proceedings of the 7th Workshop on Foundations of Aspect-oriented Languages, Brussels, Belgium, pp. 19–28 (2008)
Feng, X.: Local Rely-Guarantee Reasoning. In: Proc. 36th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL 2009), Savannah, Georgia, USA, pp. 315–327 (January 2009)
Vafeiadis, V., Parkinson, M.: A Marriage of Rely/Guarantee and Separation Logic. In: Caires, L., Vasconcelos, V.T. (eds.) CONCUR 2007. LNCS, vol. 4703, pp. 256–271. Springer, Heidelberg (2007)
Li, P., Ravindran, B., Douglas Jensen, E.: Adaptive Time-Critical Resource management Using Time-Utility Functions: Past, Present and Future. In: Proceedings of the 28th Annual International on Computer Software and Applications Conference, COMPSAC 2004, Hong Kong, September 28-30, vol. 2, pp. 12–13 (2004)
Li, P., Sang Wu, H., Ravindran, B., Douglas Jensen, E.: A Utility Accrual Scheduling Algorithm for Real-Time Activities with Mutual Exclusion Resource Constraints. IEEE Transactions on Computers 55(4), 454–469 (2006)
Chen, K., Muhlethaler, P.: A Task Scheduling algorithm for tasks described by time value function. Real-Time Systems 10, 293–312 (1996)
Huang, A.-C., Steenkiste, P.: Bulding Self-adaptation services using service-specific knowledge. In: Proceedings of IEEE High Performance Distributed Computing (HPDC), Research Triangle Park, NC, USA, pp. 34–43 (July 2005)
Schmerl, B., Aldrich, J., Garlan, D., Kazman, R., Yan, H.: Discovering Architectures from Running Systems. IEEE Transactions on Software Engineering 32(7) (July 2006)
Georgiadis, I., Magee, J., Kramer, J.: Self-organizing software architectures for distributed systems. In: Proceedings of the Workshop on Self-healing Systems (WOSS 2002), Charleston, SC, pp. 33–38 (2002)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2010 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Raheja, R., Cheng, SW., Garlan, D., Schmerl, B. (2010). Improving Architecture-Based Self-adaptation Using Preemption. In: Weyns, D., Malek, S., de Lemos, R., Andersson, J. (eds) Self-Organizing Architectures. SOAR 2009. Lecture Notes in Computer Science, vol 6090. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-14412-7_2
Download citation
DOI: https://doi.org/10.1007/978-3-642-14412-7_2
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-14411-0
Online ISBN: 978-3-642-14412-7
eBook Packages: Computer ScienceComputer Science (R0)