Goal Modelling and Reasoning in Tropos

We overview on-going research on modelling and analyzing goals in requirements engineering. Specifically, we introduce and discuss a qualitative model for goals, which – among other things -can cope with qualitative relationships and inconsistencies among goals. We then present an axiomatization of the model and propose sound and complete algorithms for forward and backward reasoning. In particular, given a goal model and labels for some of its goal elements, forward reasoning focuses on how to propagate these labels forward, towards root goals. Backward reasoning, on the other hand, focuses on finding a label assignment for leaf nodes of a goal graph that collectively satisfy/deny all root goals. Assuming that the satisfaction/denial of any leaf goal requires some unit cost, we also address the problem of finding a minimum cost label assignment to leaf goals for satisfying/denying all root goals of a goal graph. Both problems are solved by reducing them to the problems of satisfiability (SAT) and minimum-cost satisfiability (minimum-cost SAT) for Boolean formulas. The proposed algorithms have been implemented and are available through a tool named the GR-tool. To illustrate the whole framework, we include a simple case study adopted from the literature where a goal model is built and then analyzed.

[1]  John Mylopoulos,et al.  Simple and Minimum-Cost Satisfiability for Goal Models , 2004, CAiSE.

[2]  Nils J. Nilsson,et al.  Problem-solving methods in artificial intelligence , 1971, McGraw-Hill computer science series.

[3]  Axel van Lamsweerde,et al.  Requirements engineering in the year 00: a research perspective , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[4]  Colette Rolland,et al.  REASONING WITH GOALS TO ENGINEER REQUIREMENTS , 2004 .

[5]  Jim Conallen,et al.  Building Web applications with UML , 1999 .

[6]  Stephen A. Cook,et al.  The complexity of theorem-proving procedures , 1971, STOC.

[7]  Fausto Giunchiglia,et al.  Tropos: An Agent-Oriented Software Development Methodology , 2004, Autonomous Agents and Multi-Agent Systems.

[8]  Eric Yu,et al.  Modeling Strategic Relationships for Process Reengineering , 1995, Social Modeling for Requirements Engineering.

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

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

[11]  P. Liberatore Algorithms and Experiments on Finding Minimal Models , 2000 .

[12]  G. G. Stokes "J." , 1890, The New Yale Book of Quotations.

[13]  Sharad Malik,et al.  Chaff: engineering an efficient SAT solver , 2001, Proceedings of the 38th Design Automation Conference (IEEE Cat. No.01CH37232).

[14]  Stephen Fickas,et al.  Goal-Directed Requirements Acquisition , 1993, Sci. Comput. Program..

[15]  Donald W. Loveland,et al.  A machine program for theorem-proving , 2011, CACM.

[16]  John Mylopoulos,et al.  Goal-oriented requirements analysis and reasoning in the Tropos methodology , 2005, Eng. Appl. Artif. Intell..

[17]  Sharad Malik,et al.  The Quest for Efficient Boolean Satisfiability Solvers , 2002, CAV.

[18]  Colin Potts,et al.  Recording the reasons for design decisions , 1988, Proceedings. [1989] 11th International Conference on Software Engineering.

[19]  John Mylopoulos,et al.  Formal Reasoning Techniques for Goal Models , 2003, J. Data Semant..

[20]  John Mylopoulos,et al.  Towards requirements-driven information systems engineering: the Tropos project , 2002, Inf. Syst..