Self-tuning of software systems through dynamic quality tradeoff and value-based feedback control loop

Quality requirements of a software system cannot be optimally met, especially when it is running in an uncertain and changing environment. In principle, a controller at runtime can monitor the change impact on quality requirements of the system, update the expectations and priorities from the environment, and take reasonable actions to improve the overall satisfaction. In practice, however, existing controllers are mostly designed for tuning low-level performance indicators instead of high-level requirements. By maintaining a live goal model to represent runtime requirements and linking the overall satisfaction of quality requirements to an indicator of earned business value, we propose a control-theoretic self-tuning method that can dynamically tune the preferences of different quality requirements, and can autonomously make tradeoff decisions through our Preference-Based Goal Reasoning procedure. The reasoning procedure results in an optimal configuration of the variation points by selecting the right alternative of OR-decomposed goals and such a configuration is mapped onto corresponding system architecture reconfigurations. The effectiveness of our self-tuning method is evaluated by earned business value, comparing our results with those obtained using static and ad hoc methods.

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

[2]  Barry W. Boehm,et al.  Value-Based Software Engineering: Overview and Agenda , 2006, Value-Based Software Engineering.

[3]  João W. Cangussu,et al.  Automatic feedback, control-based, stress and load testing , 2008, SAC '08.

[4]  Paul Clements,et al.  ATAM: Method for Architecture Evaluation , 2000 .

[5]  John Mylopoulos,et al.  Self-Repair through Reconfiguration: A Requirements Engineering Approach , 2009, 2009 IEEE/ACM International Conference on Automated Software Engineering.

[6]  Eric S. K. Yu,et al.  Modeling and analysis of security trade-offs - A goal oriented approach , 2009, Data Knowl. Eng..

[7]  Yijun Yu,et al.  Reverse engineering goal models from legacy code , 2005, 13th IEEE International Conference on Requirements Engineering (RE'05).

[8]  John Mylopoulos,et al.  Simple and Minimum-Cost Satisfiability for Goal Models , 2004, CAiSE.

[9]  Thierry Coupaye,et al.  The FRACTAL component model and its support in Java: Experiences with Auto-adaptive and Reconfigurable Systems , 2006 .

[10]  Yijun Yu,et al.  Monitoring and diagnosing software requirements , 2009, Automated Software Engineering.

[11]  Calton Pu,et al.  A feedback-driven proportion allocator for real-rate scheduling , 1999, OSDI '99.

[12]  Rogério de Lemos,et al.  Proceedings of the 7th International Symposium on Software Engineering for Adaptive and Self-Managing Systems , 2012, ICSE 2012.

[13]  Kai-Yuan Cai,et al.  An Overview of Software Cybernetics , 2003, STEP.

[14]  Stephen Shaoyi Liao,et al.  Exploring Alternatives during Requirements Analysis , 2001, IEEE Softw..

[15]  Thierry Coupaye,et al.  The FRACTAL component model and its support in Java , 2006, Softw. Pract. Exp..

[16]  Martin Glinz,et al.  On Non-Functional Requirements , 2007, 15th IEEE International Requirements Engineering Conference (RE 2007).

[17]  Rogério de Lemos,et al.  SEAMS 2009: Software engineering for adaptive and self-managing systems , 2009, ICSE Companion.

[18]  Axel van Lamsweerde,et al.  Reasoning about partial goal satisfaction for requirements and design engineering , 2004, SIGSOFT '04/FSE-12.

[19]  Bihuan Chen,et al.  Towards runtime optimization of software quality based on feedback control theory , 2009, Internetware.

[20]  Eric S. K. Yu,et al.  Qualitative, Interactive, Backward Analysis of i* Models , 2008, iStar.

[21]  John Mylopoulos,et al.  Modeling and Reasoning about Service-Oriented Applications via Goals and Commitments , 2010, CAiSE.

[22]  Bashar Nuseibeh,et al.  Security Requirements Engineering: A Framework for Representation and Analysis , 2008, IEEE Transactions on Software Engineering.

[23]  Martin S. Feather,et al.  Requirements monitoring in dynamic environments , 1995, Proceedings of 1995 IEEE International Symposium on Requirements Engineering (RE'95).

[24]  Thomas Risse,et al.  Combining global optimization with local selection for efficient QoS-aware service composition , 2009, WWW '09.

[25]  Gregory D. Abowd,et al.  Formalizing style to understand descriptions of software architecture , 1995, TSEM.

[26]  Xin Peng,et al.  An Architecture-based Evolution Management Method for Software Product Line , 2009, SEKE.

[27]  Jeff Magee,et al.  A Rigorous Architectural Approach to Adaptive Software Engineering , 2009, Journal of Computer Science and Technology.

[28]  John Mylopoulos,et al.  Integrating Preferences into Goal Models for Requirements Engineering , 2010, 2010 18th IEEE International Requirements Engineering Conference.

[29]  Betty H. C. Cheng,et al.  Research Directions in Requirements Engineering , 2007, Future of Software Engineering (FOSE '07).

[30]  John Mylopoulos,et al.  Formal Reasoning Techniques for Goal Models , 2003, J. Data Semant..

[31]  John Mylopoulos,et al.  Towards requirements-driven information systems engineering: the Tropos project , 2002, Inf. Syst..

[32]  Jaap Gordijn,et al.  E-service design using i* and e/sup 3/ value modeling , 2006, IEEE Software.

[33]  Vincenzo Grassi,et al.  Qos-driven runtime adaptation of service oriented architectures , 2009, ESEC/SIGSOFT FSE.

[34]  Yijun Yu,et al.  Self-Tuning of Software Systems Through Goal-based Feedback Loop Control , 2010, 2010 18th IEEE International Requirements Engineering Conference.

[35]  Bashar Nuseibeh,et al.  Specifying Monitoring and Switching Problems in Context , 2007, 15th IEEE International Requirements Engineering Conference (RE 2007).

[36]  Axel van Lamsweerde,et al.  From Object Orientation to Goal Orientation: A Paradigm Shift for Requirements Engineering , 2002, RISSEF.

[37]  Klaus Meißner,et al.  Adaptation and Distribution of Pipeline-Based Context-Aware Web Architectures , 2007, 2007 Working IEEE/IFIP Conference on Software Architecture (WICSA'07).

[38]  Jeffrey O. Kephart,et al.  The Vision of Autonomic Computing , 2003, Computer.

[39]  John Mylopoulos,et al.  Software self-reconfiguration: a BDI-based approach , 2009, AAMAS.

[40]  Giancarlo Guizzardi,et al.  Ontological Analysis of Means-End Links , 2011, iStar.

[41]  Lawrence Chung,et al.  Dealing with Security Requirements During the Development of Information Systems , 1993, CAiSE.

[42]  Eric S. K. Yu,et al.  Towards modelling and reasoning support for early-phase requirements engineering , 1997, Proceedings of ISRE '97: 3rd IEEE International Symposium on Requirements Engineering.

[43]  S. M. Sadjadi,et al.  Generation of self-optimizing wireless network applications , 2004, International Conference on Autonomic Computing, 2004. Proceedings..

[44]  Daniel A. Menascé,et al.  Utility-based QoS Brokering in Service Oriented Architectures , 2007, IEEE International Conference on Web Services (ICWS 2007).

[45]  Stuart Bennett,et al.  A History of Control Engineering 1930-1955 , 1993 .

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

[47]  Herbert A. Simon,et al.  The Sciences of the Artificial , 1970 .

[48]  Yijun Yu,et al.  From Goals to High-Variability Software Design , 2008, ISMIS.

[49]  John Mylopoulos,et al.  An Architecture for Requirements-Driven Self-reconfiguration , 2009, CAiSE.

[50]  John Mylopoulos,et al.  Reasoning with Goal Models , 2002, ER.

[51]  Yijun Yu,et al.  Requirements-Driven Design and Configuration Management of Business Processes , 2007, BPM.

[52]  David Garlan,et al.  Rainbow: cost-effective software architecture-based self-adaptation , 2008 .

[53]  Thaís Vasconcelos Batista,et al.  Managing Dynamic Reconfiguration in Component-Based Systems , 2005, EWSA.

[54]  Martin Lukasiewycz,et al.  Solving Multi-objective Pseudo-Boolean Problems , 2007, SAT.

[55]  J. Mylopoulos,et al.  Towards requirements-driven autonomic systems design , 2005, ACM SIGSOFT Softw. Eng. Notes.