A Model-Based Fuzzy Control Approach to Achieving Adaptation with Contextual Uncertainties

Self-adaptive system (SAS) is capable of adjusting its behavior in response to meaningful changes in the operational context and itself. Due to the inherent volatility of the open and changeable environment in which SAS is embedded, the ability of adaptation is highly demanded by many software-intensive systems. Two concerns, i.e., the requirements uncertainty and the context uncertainty are most important among others. An essential issue to be addressed is how to dynamically adapt non-functional requirements (NFRs) and task configurations of SASs with context uncertainty. In this paper, we propose a model-based fuzzy control approach that is underpinned by the feedforward-feedback control mechanism. This approach identifies and represents NFR uncertainties, task uncertainties and context uncertainties with linguistic variables, and then designs an inference structure and rules for the fuzzy controller based on the relations between the requirements model and the context model. The adaptation of NFRs and task configurations is achieved through fuzzification, inference, defuzzification and readaptation. Our approach is demonstrated with a mobile computing application and is evaluated through a series of simulation experiments.

[1]  Luciano Baresi,et al.  Fuzzy Goals for Requirements-Driven Adaptation , 2010, 2010 18th IEEE International Requirements Engineering Conference.

[2]  Zhi Jin,et al.  A Systematic Literature Review of Requirements Modeling and Analysis for Self-adaptive Systems , 2014, REFSQ.

[3]  Nelly Bencomo,et al.  Requirements-Aware Systems: A Research Agenda for RE for Self-adaptive Systems , 2010, 2010 18th IEEE International Requirements Engineering Conference.

[4]  Stephen Fickas,et al.  Goal-Directed Requirements Acquisition , 1993, Sci. Comput. Program..

[5]  Carlo Ghezzi,et al.  Self-adaptive software meets control theory: A preliminary approach supporting reliability requirements , 2011, 2011 26th IEEE/ACM International Conference on Automated Software Engineering (ASE 2011).

[6]  Guanling Chen,et al.  A Survey of Context-Aware Mobile Computing Research , 2000 .

[7]  Jun Han,et al.  A systematic survey on the design of self-adaptive software systems using control engineering approaches , 2012, 2012 7th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS).

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

[9]  Sam Malek,et al.  Uncertainty in Self-Adaptive Software Systems , 2010, Software Engineering for Self-Adaptive Systems.

[10]  Anthony Finkelstein,et al.  A framework for requirements engineering for context-aware services , 2001, ICSE 2001.

[11]  Lotfi A. Zadeh,et al.  The Concepts of a Linguistic Variable and its Application to Approximate Reasoning , 1975 .

[12]  Sam Malek,et al.  FUSION: a framework for engineering self-tuning self-adaptive software systems , 2010, FSE '10.

[13]  Seyed Masoud Sadjadi,et al.  Composing adaptive software , 2004, Computer.

[14]  Rudolf Kruse,et al.  Fuzzy Control , 2015, Handbook of Computational Intelligence.

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

[16]  Jesper Andersson,et al.  On interacting control loops in self-adaptive systems , 2011, SEAMS '11.

[17]  David Garlan,et al.  Software engineering in an uncertain world , 2010, FoSER '10.

[18]  John Mylopoulos,et al.  System Identification for Adaptive Software Systems: A Requirements Engineering Perspective , 2011, ER.

[19]  Andres J. Ramirez,et al.  A taxonomy of uncertainty for dynamically adaptive systems , 2012, 2012 7th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS).

[20]  Takeo Kanade,et al.  Software Engineering for Self-Adaptive Systems II , 2013, Lecture Notes in Computer Science.

[21]  Nelly Bencomo,et al.  RELAX: Incorporating Uncertainty into the Specification of Self-Adaptive Systems , 2009, 2009 17th IEEE International Requirements Engineering Conference.

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

[23]  Sam Malek,et al.  Taming uncertainty in self-adaptive software , 2011, ESEC/FSE '11.

[24]  Mary Shaw,et al.  Engineering Self-Adaptive Systems through Feedback Loops , 2009, Software Engineering for Self-Adaptive Systems.

[25]  Nelly Bencomo,et al.  A Goal-Based Modeling Approach to Develop Requirements of an Adaptive System with Environmental Uncertainty , 2009, MoDELS.

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

[27]  References , 1971 .

[28]  Radu-Emil Precup,et al.  A survey on industrial applications of fuzzy control , 2011, Comput. Ind..

[29]  Ladan Tahvildari,et al.  Self-adaptive software: Landscape and research challenges , 2009, TAAS.

[30]  John Mylopoulos,et al.  From awareness requirements to adaptive systems: A control-theoretic approach , 2011, 2011 2nd International Workshop on Requirements@Run.Time.