Reasoning about partial goal satisfaction for requirements and design engineering

Exploring alternative options is at the heart of the requirements and design processes. Different alternatives contribute to different degrees of achievement of non-functional goals about system safety, security, performance, usability, and so forth. Such goals in general cannot be satisfied in an absolute, clear-cut sense. Various qualitative and quantitative frameworks have been proposed to support the assessment of alternatives for design decision making. In general they lead to limited conclusions due to the lack of accuracy and measurability of goal formulations and the lack of impact propagation rules along goal contribution links. The paper presents techniques for specifying partial degrees of goal satisfaction and for quantifying the impact of alternative system designs on the degree of goal satisfaction. The approach consists in enriching goal refinement models with a probabilistic layer for reasoning about partial satisfaction. Within such models, non-functional goals are specified in a precise, probabilistic way; their specification is interpreted in terms of application-specific measures; impact of alternative goal refinements is evaluated in terms of refinement equations over random variables involved in the system's functional goals. A systematic method is presented for guiding the elaboration of such models. The latter can then be used to assess the impact of alternative decisions on the degree of goal satisfaction or to derive quantitative, fine-grained requirements on the software to achieve the higher-level goals.

[1]  M.S. Feather,et al.  Reconciling system requirements and runtime behavior , 1998, Proceedings Ninth International Workshop on Software Specification and Design.

[2]  David Wright,et al.  Towards Operational Measures of Computer Security , 1993, J. Comput. Secur..

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

[4]  Paul Williams,et al.  London ambulance service inquiry , 1993 .

[5]  Morris Sloman,et al.  CONIC: an integrated approach to distributed computer control systems , 1983 .

[6]  William N. Robinson,et al.  Negotiation behavior during requirement specification , 1990, [1990] Proceedings. 12th International Conference on Software Engineering.

[7]  Axel van Lamsweerde,et al.  Goal-Oriented Requirements Engineering: A Guided Tour , 2001, RE.

[8]  Bharat B. Madan,et al.  Modeling and quantification of security attributes of software systems , 2002, Proceedings International Conference on Dependable Systems and Networks.

[9]  Marta Z. Kwiatkowska,et al.  Probabilistic symbolic model checking with PRISM: a hybrid approach , 2004, International Journal on Software Tools for Technology Transfer.

[10]  Martin S. Feather,et al.  A quantitative risk model for early lifecycle decision making , 2002 .

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

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

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

[14]  Victor L. Winter,et al.  Bay area rapid transit district advance automated train control system case study description , 2001 .

[15]  Peter Neumann,et al.  Safeware: System Safety and Computers , 1995, SOEN.

[16]  Mark Klein,et al.  Experience with performing architecture tradeoff analysis , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[17]  Philippe Vincke,et al.  Multicriteria Decision-aid , 1993 .

[18]  A. Finkelstein Report of the Inquiry into the London Ambulance Service , 1993 .

[19]  Axel van Lamsweerde,et al.  Agent-based tactics for goal-oriented requirements elaboration , 2002, ICSE '02.

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

[21]  M. Bohanec,et al.  The Analytic Hierarchy Process , 2004 .

[22]  John R. English Quality Function Deployment: Integrating Customer Requirements into Product Design , 1993 .

[23]  Anna Philippou,et al.  Tools and Algorithms for the Construction and Analysis of Systems , 2018, Lecture Notes in Computer Science.

[24]  Barry W. Boehm,et al.  Applying WinWin to quality requirements: a case study , 2001, Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001.

[25]  A. Berztiss,et al.  Requirements Engineering , 2002, J. Object Technol..

[26]  T. Saaty,et al.  The Analytic Hierarchy Process , 1985 .

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

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

[29]  Axel van Lamsweerde,et al.  Formal refinement patterns for goal-driven requirements elaboration , 1996, SIGSOFT '96.

[30]  Joachim Karlsson,et al.  A Cost-Value Approach for Prioritizing Requirements , 1997, IEEE Softw..

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

[32]  George S. Avrunin,et al.  Patterns in property specifications for finite-state verification , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[33]  Mehdi T. Harandi,et al.  Workshop on software specification and design , 1988, SOEN.

[34]  Bengt Jonsson,et al.  A logic for reasoning about time and reliability , 1990, Formal Aspects of Computing.

[35]  Holger Hermanns,et al.  A Markov Chain Model Checker , 2000, TACAS.

[36]  John Yen,et al.  A systematic tradeoff analysis for conflicting imprecise requirements , 1997, Proceedings of ISRE '97: 3rd IEEE International Symposium on Requirements Engineering.

[37]  Emmanuel Letier Reasoning about Agents in Goal-Oriented Requirements Engineering , 2002 .

[38]  Moshe Y. Vardi Branching vs. Linear Time: Final Showdown , 2001, TACAS.