Dynamic decision networks for decision-making in self-adaptive systems: A case study

Bayesian decision theory is increasingly applied to support decision-making processes under environmental variability and uncertainty. Researchers from application areas like psychology and biomedicine have applied these techniques successfully. However, in the area of software engineering and specifically in the area of self-adaptive systems (SASs), little progress has been made in the application of Bayesian decision theory. We believe that techniques based on Bayesian Networks (BNs) are useful for systems that dynamically adapt themselves at runtime to a changing environment, which is usually uncertain. In this paper, we discuss the case for the use of BNs, specifically Dynamic Decision Networks (DDNs), to support the decision-making of self-adaptive systems. We present how such a probabilistic model can be used to support the decision-making in SASs and justify its applicability. We have applied our DDN-based approach to the case of an adaptive remote data mirroring system. We discuss results, implications and potential benefits of the DDN to enhance the development and operation of self-adaptive systems, by providing mechanisms to cope with uncertainty and automatically make the best decision.

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

[2]  Valérie Issarny,et al.  Bayesian artificial intelligence for tackling uncertainty in self-adaptive systems: The case of dynamic decision networks , 2013, 2013 2nd International Workshop on Realizing Artificial Intelligence Synergies in Software Engineering (RAISE).

[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]  Debra J. Richardson,et al.  The Uncertainty Principle in Software Engineering Submitted to ICSE'97, 19th International Conference on Software Engineering , 1998 .

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

[6]  Ronald A. Howard,et al.  Influence Diagrams , 2005, Decis. Anal..

[7]  Heather Goldsby,et al.  Goal-Based Modeling of Dynamically Adaptive System Requirements , 2008, 15th Annual IEEE International Conference and Workshop on the Engineering of Computer Based Systems (ecbs 2008).

[8]  Peter Norvig,et al.  Artificial Intelligence: A Modern Approach , 1995 .

[9]  Nelly Bencomo,et al.  Relaxing claims: coping with uncertainty while evaluating assumptions at run time , 2012, MODELS'12.

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

[11]  Nelly Bencomo,et al.  Self-Explanation in Adaptive Systems , 2012, 2012 IEEE 17th International Conference on Engineering of Complex Computer Systems.

[12]  L. Zadeh Fuzzy sets as a basis for a theory of possibility , 1999 .

[13]  Nelly Bencomo,et al.  Towards requirements aware systems: Run-time resolution of design-time assumptions , 2011, 2011 26th IEEE/ACM International Conference on Automated Software Engineering (ASE 2011).

[14]  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).

[15]  John Mylopoulos,et al.  Representing and reasoning about preferences in requirements engineering , 2011, Requirements Engineering.

[16]  Nelly Bencomo,et al.  RELAX: a language to address uncertainty in self-adaptive systems requirement , 2010, Requirements Engineering.

[17]  Norman E. Fenton,et al.  Making decisions: using Bayesian nets and MCDA , 2001, Knowl. Based Syst..

[18]  Nelly Bencomo,et al.  Supporting Decision-Making for Self-Adaptive Systems: From Goal Models to Dynamic Decision Networks , 2013, REFSQ.

[19]  Sam Malek,et al.  Dealing with uncertainty in early software architecture , 2012, SIGSOFT FSE.

[20]  H. P. Robertson The Uncertainty Principle , 1929 .

[21]  Judea Pearl,et al.  Probabilistic reasoning in intelligent systems - networks of plausible inference , 1991, Morgan Kaufmann series in representation and reasoning.

[22]  Carlo Ghezzi,et al.  A formal approach to adaptive software: continuous assurance of non-functional requirements , 2011, Formal Aspects of Computing.

[23]  William Marsh,et al.  Making resource decisions for software projects , 2004, Proceedings. 26th International Conference on Software Engineering.

[24]  Peter Sawyer,et al.  Understanding the Scope of Uncertainty in Dynamically Adaptive Systems , 2010, REFSQ.

[25]  Bradley R. Schmerl,et al.  Software Engineering for Self-Adaptive Systems: A Second Research Roadmap , 2010, Software Engineering for Self-Adaptive Systems.

[26]  John Wilkes,et al.  Seneca: remote mirroring done write , 2003, USENIX Annual Technical Conference, General Track.

[27]  Luigi Portinale,et al.  Using Dynamic Decision Networks and Extended Fault Trees for Autonomous FDIR , 2011, 2011 IEEE 23rd International Conference on Tools with Artificial Intelligence.

[28]  Ronald A. Howard,et al.  Readings on the Principles and Applications of Decision Analysis , 1989 .

[29]  Jeff A. Bilmes,et al.  On Virtual Evidence and Soft Evidence in Bayesian Networks , 2004 .

[30]  Gerd Brewka,et al.  Artificial intelligence - a modern approach by Stuart Russell and Peter Norvig, Prentice Hall. Series in Artificial Intelligence, Englewood Cliffs, NJ , 1996, The Knowledge Engineering Review.

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

[32]  Julio Cesar Sampaio do Prado Leite,et al.  On Non-Functional Requirements in Software Engineering , 2009, Conceptual Modeling: Foundations and Applications.

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