Simulating and optimising design decisions in quantitative goal models

Making decisions among a set of alternative system designs is an essential activity of requirements engineering. It involves evaluating how well each alternative satisfies the stakeholders' goals and selecting one alternative that achieves some optimal tradeoffs between possibly conflicting goals. Quantitative goal models support such activities by describing how alternative system designs — expressed as alternative goal refinements and responsibility assignments — impact on the levels of goal satisfaction specified in terms of measurable objective functions. Analyzing large numbers of alternative designs in such models is an expensive activity for which no dedicated tool support is currently available. This paper takes a first step towards providing such support by presenting automated techniques for (i) simulating quantitative goal models so as to estimate the levels of goal satisfaction contributed by alternative system designs and (ii) optimising the system design by applying a multi-objective optimisation algorithm to search through the design space. These techniques are presented and validated using a quantitative goal model for a well-known ambulance service system.

[1]  Suzanne Robertson,et al.  Mastering the Requirements Process (2nd Edition) , 2006 .

[2]  Norman E. Fenton,et al.  Modelling dependable systems using hybrid Bayesian networks , 2008, Reliab. Eng. Syst. Saf..

[3]  Norman E. Fenton,et al.  Modeling dependable systems using hybrid Bayesian networks , 2006, First International Conference on Availability, Reliability and Security (ARES'06).

[4]  Axel van Lamsweerde,et al.  Managing Conflicts in Goal-Driven Requirements Engineering , 1998, IEEE Trans. Software Eng..

[5]  Yoji Akao,et al.  Quality Function Deployment : Integrating Customer Requirements into Product Design , 1990 .

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

[7]  Tom Gilb,et al.  Competitive Engineering: A Handbook For Systems Engineering, Requirements Engineering, And Software Engineering Using Planguage , 2005 .

[8]  Tim Menzies,et al.  Converging on the optimal attainment of requirements , 2002, Proceedings IEEE Joint International Conference on Requirements Engineering.

[9]  Mark Harman,et al.  The Current State and Future of Search Based Software Engineering , 2007, Future of Software Engineering (FOSE '07).

[10]  Marta Z. Kwiatkowska,et al.  PRISM: Probabilistic Symbolic Model Checker , 2002, Computer Performance Evaluation / TOOLS.

[11]  Yuanyuan Zhang,et al.  The multi-objective next release problem , 2007, GECCO '07.

[12]  Yuanyuan Zhang,et al.  A search based approach to fairness analysis in requirement assignments to aid negotiation, mediation and decision making , 2009, Requirements Engineering.

[13]  Axel van Lamsweerde,et al.  Reasoning About Alternative Requirements Options , 2009, Conceptual Modeling: Foundations and Applications.

[14]  Martin S. Feather,et al.  Quantitative risk-based requirements reasoning , 2003, Requirements Engineering.

[15]  Barry W. Boehm,et al.  Software requirements as negotiated win conditions , 1994, Proceedings of IEEE International Conference on Requirements Engineering.

[16]  Kishor S. Trivedi Probability and Statistics with Reliability, Queuing, and Computer Science Applications , 1984 .

[17]  John Mylopoulos,et al.  Representing and Using Nonfunctional Requirements: A Process-Oriented Approach , 1992, IEEE Trans. Software Eng..

[18]  Viara Popova,et al.  Formal modelling of organisational goals based on performance indicators , 2011, Data Knowl. Eng..

[19]  Daniel Amyot,et al.  Evaluating goal models within the goal‐oriented requirement language , 2010, Int. J. Intell. Syst..

[20]  Eric S. K. Yu,et al.  Finding Solutions in Goal Models: An Interactive Backward Reasoning Approach , 2010, ER.

[21]  Kalyanmoy Deb,et al.  A fast and elitist multiobjective genetic algorithm: NSGA-II , 2002, IEEE Trans. Evol. Comput..

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

[23]  Suzanne Robertson,et al.  Mastering the Requirements Process , 1999 .

[24]  Alireza Pourshahid,et al.  Business process management with the user requirements notation , 2009, Electron. Commer. Res..

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

[26]  Axel van Lamsweerde,et al.  Handling Obstacles in Goal-Oriented Requirements Engineering , 2000, IEEE Trans. Software Eng..

[27]  A. Finkelstein,et al.  A comedy of errors: the London Ambulance Service case study , 1996, Proceedings of the 8th International Workshop on Software Specification and Design.

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

[29]  David S. Rosenblum,et al.  A Case Study in Eliciting Scalability Requirements , 2008, 2008 16th IEEE International Requirements Engineering Conference.

[30]  Ana Leticia de Cerqueira Leite Duboc A framework for the characterization and analysis of software systems scalability , 2010 .