Validating Goal Models via Bayesian Networks

Goal models are an example of requirement modeling language that has been applied to support the runtime monitoring and diagnosis of software systems and to steer self-adaptive systems. When creating a goal model, requirement engineers make assumptions concerning how the goals relate to each other and when they should be considered as satisfied. In dynamic environments, however, the assumptions made in the model may be (or become) invalid. This may result in a system that does not satisfy the stakeholders' needs and, when the model is used in adaptive systems, ineffective reconfigurations. Only few and preliminary works address the automated validation of goal or requirement models. In this paper we propose the use of probabilistic models (Bayesian Networks) to determine the validity of the assumptions underlying a goal model. We employ empirical data and probabilistic inference to automatically determine a quantitative degree of validity of goal model assumptions. We illustrate the approach on a smart traffic scenario.

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

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

[3]  Lin Liu,et al.  Optimizing Requirements Elicitation with an i* and Bayesian Network Integrated Modelling Approach , 2010, 2010 IEEE 34th Annual Computer Software and Applications Conference Workshops.

[4]  Silja Renooij,et al.  Sensitivity Analysis of Probabilistic Networks , 2007 .

[5]  Marco Scutari,et al.  Learning Bayesian Networks with the bnlearn R Package , 2009, 0908.3817.

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

[7]  David J. Spiegelhalter,et al.  Bayesian analysis in expert systems , 1993 .

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

[9]  Nelly Bencomo,et al.  Models@run.time , 2014, Lecture Notes in Computer Science.

[10]  John Mylopoulos,et al.  Awareness requirements for adaptive systems , 2011, SEAMS '11.

[11]  Raian Ali,et al.  Requirements Evolution: From Assumptions to Reality , 2011, BMMDS/EMMSAD.

[12]  Valérie Issarny,et al.  Dynamic decision networks for decision-making in self-adaptive systems: A case study , 2013, 2013 8th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS).

[13]  Radu Calinescu,et al.  Large-scale complex IT systems , 2011, Commun. ACM.

[14]  Mehdi Dastani,et al.  Reasoning under compliance assumptions in normative multiagent systems , 2012, AAMAS.

[15]  Nelly Bencomo,et al.  Requirements reflection: requirements as runtime entities , 2010, 2010 ACM/IEEE 32nd International Conference on Software Engineering.

[16]  Nelly Bencomo,et al.  Juggling Preferences in a World of Uncertainty , 2017, 2017 IEEE 25th International Requirements Engineering Conference (RE).

[17]  Raian Ali,et al.  Reasoning with contextual requirements: Detecting inconsistency and conflicts , 2013, Inf. Softw. Technol..

[18]  Nan Niu,et al.  Visual requirements analytics: a framework and case study , 2013, Requirements Engineering.

[19]  Christian Prehofer,et al.  Model Problem (CrowdNav) and Framework (RTX) for Self-Adaptation Based on Big Data Analytics (Artifact) , 2017, Dagstuhl Artifacts Ser..

[20]  Michael P. Wellman Fundamental Concepts of Qualitative Probabilistic Networks , 1990, Artif. Intell..

[21]  John Mylopoulos,et al.  Adaptive socio-technical systems: a requirements-based approach , 2011, Requirements Engineering.

[22]  Axel van Lamsweerde,et al.  Requirements Engineering: From System Goals to UML Models to Software Specifications , 2009 .

[23]  William N. Robinson A requirements monitoring framework for enterprise systems , 2005, Requirements Engineering.

[24]  Xavier Franch,et al.  iStar 2.0 Language Guide , 2016, ArXiv.