ABSTRACT
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.
- H. Ziv, D. J. Richardson, and R. KlŽsch, “The uncertainty principle in software engineering,” 19th International Conference on Software Engineering,ICSE’97, boston, Massachusetts, USA.Google Scholar
- N. Fenton, W. Marsh, M. Neil, P. Cates, S. Forey, and M. Tailor, “Making resource decisions for software projects,” in Proceedings of the 26th International Conference on Software Engineering, ser. ICSE ’04. Washington, DC, USA: IEEE Computer Society, 2004, pp. 397–406. Google Scholar
- B. H. Cheng, R. de Lemos, H. Giese, P. Inverardi, and J. Magee, “Software engineering for self-adaptive systems: A research roadmap,” in Software Engineering for Self-Adaptive Systems, B. H. Cheng, R. de Lemos, H. Giese, P. Inverardi, and J. Magee, Eds. Springer-Verlag, 2009, vol. 5525, pp. 1–26. Google Scholar
- J. Whittle, P. Sawyer, N. Bencomo, B. Cheng, and J.-M. Bruel, “Relax: a language to address uncertainty in self-adaptive systems requirement,” Requirements Engineering, vol. 15, pp. 177–196, 2010. Google Scholar
- D. Garlan, “Software engineering in an uncertain world,” in Proceedings of the FSE/SDP workshop on Future of software engineering research, ser. FoSER ’10. New York, NY, USA: ACM, 2010, pp. 125–128. Google Scholar
- N. Esfahani and S. Malek, “Uncertainty in self-adaptive software systems,” in Software Engineering for Self-Adaptive Systems 2 (SEfSAS 2). Springer-Verlag, 2012.Google Scholar
- L. Chung, B. A. Nixon, E. Yu, and J. Mylopoulos, Non-Functional Requirements in Software Engineering. Springer, 1999, vol. 5.Google Scholar
- H. J. Goldsby, P. Sawyer, N. Bencomo, D. Hughes, and B. H. Cheng, “Goal-based modeling of dynamically adaptive system requirements,” in IEEE Int. Conference on the Engineering of Computer Based Systems (ECBS), 2008. Google Scholar
- K. Welsh, P. Sawyer, and N. Bencomo, “Towards requirements aware systems: Run-time resolution of design-time assumptions,” in ASE, 2011, pp. 560–563. Google Scholar
- A. Filieri, C. Ghezzi, and G. Tamburrelli, “A formal approach to adaptive software: continuous assurance of non-functional requirements,” Formal Asp. Comput., vol. 24, no. 2, pp. 163–186, 2012. Google Scholar
- S. J. Russell and P. Norvig, Artificial intelligence: A modern approach, 2nd ed., ser. Prentice Hall series in artificial intelligence. Prentice Hall, 2003. Google Scholar
- J. Bilmes and J. Bilmes, “On virtual evidence and soft evidence in bayesian networks,” 2004.Google Scholar
- J. Pearl, Probabilistic reasoning in intelligent systems: networks of plausible inference. San Francisco, CA, USA: Morgan Kaufmann Publishers Inc., 1988. Google Scholar
- R. Howard and J. Matheson., “Influence diagrams,” in Readings on the Principles and Readings on the Principles and Applications of Decision Analysis II. Menlo Park CA:: Strategic Decisions Group, 1984.Google Scholar
- K. Welsh and P. Sawyer, “Understanding the scope of uncertainty in dynamically adaptive systems,” in REFSQ, 2010.Google Scholar
- A. Ramirez, A. Jensen, and B. Cheng, “A taxonomy of uncertainty for dynamically adaptive systems,” in Software Engineering for Adaptive and Self-Managing Systems (SEAMS), 2012 ICSE Workshop on, june 2012, pp. 99 –108.Google Scholar
- N. Bencomo and A. Belaggoun, “Supporting decision-making for selfadaptive systems: From goal models to dynamic decision networks,” in 9th International Working Conference on Requirements Engineering: Foundation for Software Quality (REFSQ), 2013. Google Scholar
- M. Ji, A. Veitch, and J. Wilkes, “Seneca: Remote mirroring done write,” USENIX 2003 Annual Technical Conference., pp. 253–268, 2003.Google Scholar
- A. Ramirez, B. Cheng, N. Bencomo, and P. Sawyer, “Relaxing claims: Coping with uncertainty while evaluating assumptions at run time,” ACM/IEEE Int. Conference on Model Driven Engineering Languages & Systems MODELS, 2012. Google Scholar
- Norsys Software Corporation. Netica - User guide, 1997.Google Scholar
- A. Belaggoun, “Exploring the use of dynamic decision networks for selfadaptive systems,” Master’s thesis, Univ. de Versailles Saint-Quentin-En-Yvelines, 2012.Google Scholar
- R. de Lemos, H. Giese, H. Müller, and M. Shaw, “Software Engineering for Self-Adpaptive Systems: A second Research Roadmap,” in Software Engineering for Self-Adaptive Systems, ser. Dagstuhl Seminar Proceedings, no. 10431. Germany: Schloss Dagstuhl, 2011.Google Scholar
- N. Esfahani, K. Razavi, and S. Malek, “Dealing with uncertainty in early software architecture,” in Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering, ser. FSE ’12. New York, NY, USA: ACM, 2012, pp. 21:1–21:4. Google Scholar
- P. Sawyer, N. Bencomo, E. Letier, and A. Finkelstein, “Requirementsaware systems: A research agenda for re self-adaptive systems,” in Proc. of the 18th IEEE International Requirements Engineering Conference, 2010, pp. 95–103. Google Scholar
- N. Esfahani, E. Kouroshfar, and S. Malek, “Taming uncertainty in selfadaptive software,” in Proc.of the 19th ACM SIGSOFT Symp FSE, no. 11, 2011. Google Scholar
- L. Zadeh, “Fuzzy sets as a basis for theory of possibility,” Fuzzy Sets and Systems, vol. 1, pp. 3–28, 1978.Google Scholar
- N. Bencomo, A. Belaggoun, and V. Issarny, “Bayesian artificial intelligence for tackling uncertainty in self-adaptive systems: the case of dynamic decision networks,” in 2nd International NSF sponsored Workshop on Realizing Artificial Intelligence Synergies in Software Engineering RAISE, 2013.Google Scholar
- E. Letier and A. van Lamsweerde, “Reasoning about partial goal satisfaction for requirements and design engineering,” SIGSOFT Softw. Eng. Notes, vol. 26, 2004. Google Scholar
- S. Liaskos, S. A. McIlraith, S. Sohrabi, and J. Mylopoulos, “Representing and reasoning about preferences in requirements engineering,” Requir. Eng., vol. 16, no. 3, pp. 227–249, 2011. Google Scholar
- N. E. Fenton and M. Neil, “Making decisions: using bayesian nets and mcda,” Knowl.-Based Syst., vol. 14, no. 7, pp. 307–325, 2001.Google Scholar
- L. Portinale and D. C. Raiteri, “Using dynamic decision networks and extended fault trees for autonomous fdir,” in ICTAI, 2011, pp. 480–484. Google Scholar
- N. Bencomo, K. Welsh, P. Sawyer, and J. Whittle, “Self-explanation in adaptive systems,” in ICECCS, 2012, pp. 157–166. Google Scholar
Index Terms
- Dynamic decision networks for decision-making in self-adaptive systems: a case study
Recommendations
Dynamic decision networks for decision-making in self-adaptive systems: a case study
SEAMS '13: Proceedings of the 8th International Symposium on Software Engineering for Adaptive and Self-Managing SystemsBayesian 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,...
Dynamic decision networks for decision-making in self-adaptive systems: A case study
SEAMS '13: Proceedings of the 2013 8th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS)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,...
Decision making process: typology, intelligence, and optimization
Decision making is concerned with evaluating and/or ranking possible alternatives of action. In this paper, we develop a model for the process of decision making. Understanding the decision process can provide insights into how humans make decisions, ...
Comments