Self-adaptive software meets control theory: A preliminary approach supporting reliability requirements

This paper investigates a novel approach to derive self-adaptive software by automatically modifying the model of the application using a control-theoretical approach. Self adaptation is achieved at the model level to assure that the model—which lives alongside the application at run-time— continues to satisfy its reliability requirements, despite changes in the environment that might lead to a violation. We assume that the model is given in terms of a Discrete Time Markov Chain (DTMC). DTMCs can express reliability concerns by modeling possible failures through transitions to failure states. Reliability requirements may be expressed as reachability properties that constrain the probability to reach certain states, denoted as failure states.

[1]  Nenad Medvidovic,et al.  Early prediction of software component reliability , 2008, 2008 ACM/IEEE 30th International Conference on Software Engineering.

[2]  Gordon S. Blair,et al.  Models@ run.time , 2009, Computer.

[3]  Wiebe R. Pestman,et al.  Mathematical Statistics: An Introduction , 1998 .

[4]  Isis Truck,et al.  From Data Center Resource Allocation to Control Theory and Back , 2010, 2010 IEEE 3rd International Conference on Cloud Computing.

[5]  J. Kemeny,et al.  Denumerable Markov chains , 1969 .

[6]  Lijun Zhang,et al.  Probabilistic Reachability for Parametric Markov Models , 2009, SPIN.

[7]  Henry Hoffmann,et al.  Controlling software applications via resource allocation within the heartbeats framework , 2010, 49th IEEE Conference on Decision and Control (CDC).

[8]  Mark D. Corner,et al.  Eon: a language and runtime system for perpetual systems , 2007, SenSys '07.

[9]  Kang G. Shin,et al.  What does control theory bring to systems research? , 2009, OPSR.

[10]  Abbas Emami-Naeini,et al.  Feedback Control of Dynamic Systems (6th edition) , 2010 .

[11]  Christel Baier,et al.  PROBMELA: a modeling language for communicating probabilistic processes , 2004, Proceedings. Second ACM and IEEE International Conference on Formal Methods and Models for Co-Design, 2004. MEMOCODE '04..

[12]  Carlo Ghezzi,et al.  Model evolution by run-time parameter adaptation , 2009, 2009 IEEE 31st International Conference on Software Engineering.

[13]  Katerina Goseva-Popstojanova,et al.  Architecture-based approach to reliability assessment of software systems , 2001, Perform. Evaluation.

[14]  Woongki Baek,et al.  Green: a framework for supporting energy-conscious programming using controlled approximation , 2010, PLDI '10.

[15]  Alan Edelman,et al.  PetaBricks: a language and compiler for algorithmic choice , 2009, PLDI '09.

[16]  Xiaoyun Zhu,et al.  Designing Controllable Computer Systems , 2005, HotOS.

[17]  Bengt Jonsson,et al.  A logic for reasoning about time and reliability , 1990, Formal Aspects of Computing.

[18]  Yixin Diao,et al.  Feedback Control of Computing Systems , 2004 .

[19]  Hoang Pham,et al.  Software reliability and cost models: Perspectives, comparison, and practice , 2003, Eur. J. Oper. Res..

[20]  Aidan O'Dwyer,et al.  Handbook of PI and PID controller tuning rules , 2003 .

[21]  Roger W. Brockett,et al.  Optimal control of observable continuous time Markov chains , 2008, 2008 47th IEEE Conference on Decision and Control.

[22]  Onur Mutlu,et al.  Accelerating critical section execution with asymmetric multi-core architectures , 2009, ASPLOS.

[23]  Carlo Ghezzi,et al.  Reliability Analysis of Component-Based Systems with Multiple Failure Modes , 2010, CBSE.

[24]  Gene F. Franklin,et al.  Feedback Control of Dynamic Systems , 1986 .

[25]  Engin Ipek,et al.  Core fusion: accommodating software diversity in chip multiprocessors , 2007, ISCA '07.

[26]  Maria Kihl,et al.  Control-theoretic Analysis of Admission Control Mechanisms for Web Server Systems , 2007, World Wide Web.

[27]  Gail E. Kaiser,et al.  Self-managing systems: a control theory foundation , 2005, 12th IEEE International Conference and Workshops on the Engineering of Computer-Based Systems (ECBS'05).

[28]  Mary Shaw,et al.  Software Engineering for Self-Adaptive Systems: A Research Roadmap , 2009, Software Engineering for Self-Adaptive Systems.

[29]  Marco Lovera,et al.  LPV model identification for power management of Web service systems , 2008, 2008 IEEE International Conference on Control Applications.

[30]  Norman P. Jouppi,et al.  Processor Power Reduction Via Single-ISA Heterogeneous Multi-Core Architectures , 2003, IEEE Computer Architecture Letters.

[31]  Carlo Ghezzi,et al.  Run-time efficient probabilistic model checking , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[32]  Evanghelos Zafiriou,et al.  Robust process control , 1987 .

[33]  Nagarajan Kandasamy,et al.  Risk-aware limited lookahead control for dynamic resource provisioning in enterprise computing systems , 2006, 2006 IEEE International Conference on Autonomic Computing.

[34]  R. Firoozian Feedback Control Theory , 2009 .

[35]  Ralf H. Reussner,et al.  Reliability prediction for component-based software architectures , 2003, J. Syst. Softw..

[36]  William S. Levine,et al.  The Control Handbook , 2005 .

[37]  Sang Hyuk Son,et al.  Feedback Control Architecture and Design Methodology for Service Delay Guarantees in Web Servers , 2006, IEEE Transactions on Parallel and Distributed Systems.

[38]  Simon Oberthür,et al.  Dynamic online reconfiguration for customizable and self-optimizing operating systems , 2005, EMSOFT.

[39]  Qilu Sun,et al.  LPV Model and Its Application in Web Server Performance Control , 2008, 2008 International Conference on Computer Science and Software Engineering.

[40]  Christel Baier,et al.  Principles of Model Checking (Representation and Mind Series) , 2008 .

[41]  Peter F. Sweeney,et al.  Performance and environment monitoring for continuous program optimization , 2006, IBM J. Res. Dev..

[42]  Nancy M. Amato,et al.  A framework for adaptive algorithm selection in STAPL , 2005, PPoPP.

[43]  Engin Ipek,et al.  Coordinated management of multiple interacting resources in chip multiprocessors: A machine learning approach , 2008, 2008 41st IEEE/ACM International Symposium on Microarchitecture.

[44]  Jeff Magee,et al.  Self-Managed Systems: an Architectural Challenge , 2007, Future of Software Engineering (FOSE '07).

[45]  Frank L. Lewis,et al.  Optimal Control , 1986 .

[46]  Naresh K. Sinha,et al.  Modern Control Systems , 1981, IEEE Transactions on Systems, Man, and Cybernetics.

[47]  Luciano Baresi,et al.  The disappearing boundary between development-time and run-time , 2010, FoSER '10.

[48]  Joseph L. Hellerstein,et al.  Applying control theory in the real world: experience with building a controller for the .NET thread pool , 2010, PERV.

[49]  Dilma Da Silva,et al.  K42: building a complete operating system , 2006, EuroSys.

[50]  Christel Baier,et al.  Principles of model checking , 2008 .

[51]  Roger C. Cheung,et al.  A User-Oriented Software Reliability Model , 1978, IEEE Transactions on Software Engineering.