Requirements Engineering

, Volume 21, Issue 1, pp 29–61 | Cite as

Interactive goal model analysis for early requirements engineering

  • Jennifer HorkoffEmail author
  • Eric Yu
Original Article


In goal-oriented requirements engineering, goal models have been advocated to express stakeholder objectives and to capture and choose among system requirement candidates. A number of highly automated procedures have been proposed to analyze goal achievement and select alternative requirements using goal models. However, during the early stages of requirements exploration, these procedures are difficult to apply, as stakeholder goals are typically high-level, abstract, and hard-to-measure. Automated procedures often require formal representations and/or information not easily acquired in early stages (e.g., costs, temporal constraints). Consequently, early requirements engineering (RE) presents specific challenges for goal model analysis, including the need to encourage and support stakeholder involvement (through interactivity) and model improvement (through iterations). This work provides a consolidated and updated description of a framework for iterative, interactive, agent-goal model analysis for early RE. We use experiences in case studies and literature surveys to guide the design of agent-goal model analysis specific to early RE. We introduce analysis procedures for the i* goal-oriented framework, allowing users to ask “what if?” and “are certain goals achievable? how? or why not?” The i* language and our analysis procedures are formally defined. We describe framework implementation, including model visualization techniques and scalability tests. Industrial, group, and individual case studies are applied to test framework effectiveness. Contributions, including limitations and future work, are described.


Goal-oriented requirements engineering Goal modeling Modeling Model analysis Model iteration Interactive modeling Satisfaction analysis 



Financial support for various stages of this work has been provided by the Bell University Labs, the Natural Sciences and Engineering Research Council of Canada, the Ontario Graduate Scholarship Program, the Canada, the Ontario Graduate Scholarship Program, the NSERC Business Intelligence Network, and ERC advanced grant 267856 "Lucretius: Foundations for Software Evolution". The OpenOME tool was ported from OME and expanded by Yijun Yu, Neil Ernst, and many undergraduate students. The presented work has benefited from feedback from many colleagues at the University of Toronto and Trento, including detailed comments on the current paper from Daniel Gross, and extensive input from the PhD Committee members of the first author: Steve Easterbrook and John Mylopoulos. We are grateful for the detailed comments from the anonymous reviewers, which helped to greatly improve the quality of the paper.


  1. 1.
  2. 2.
    OpenOME, an open-source requirements engineering tool (2010).
  3. 3.
    Amyot D (2003) Introduction to the user requirements notation: learning by example. Comput Netw 42(3):285–301CrossRefGoogle Scholar
  4. 4.
    Amyot D, Ghanavati S, Horkoff J, Mussbacher G, Peyton L, Yu E (2010) Evaluating goal models within the goal-oriented requirement language. Int J Intell Syst 25(8):841–877CrossRefGoogle Scholar
  5. 5.
    Borgida A, Horkoff J, Mylopoulos J (2014) Applying knowledge representation and reasoning to (simple) goal models. In: First international workshop on artificial intelligence for requirements engineering to appear, NewyorkGoogle Scholar
  6. 6.
    Bresciani P, Perini A, Giorgini P, Giunchiglia F, Mylopoulos J (2004) Tropos: an agent-oriented software development methodology. Auton Agents Multiagent Syst 8(3):203–236CrossRefGoogle Scholar
  7. 7.
    Bruni R, Sassano A (2001) Restoring satisfiability or maintaining unsatisfiability by finding small unsatisfiable subformulae. Electron Notes Discret Math 9:162–173CrossRefGoogle Scholar
  8. 8.
    Bryl V, Giorgini P, Mylopoulos J (2009) Supporting requirements analysis in tropos: a planning-based approach. In: Ghose A, Governatori G, Sadananda R (eds) Agent computing and multiAgent systems, LNCS, vol 5044. Springer, Berlin, Heidelberg, pp 243–254 Google Scholar
  9. 9.
    Cabot J, Easterbrook S, Horkoff J, Lessard L, Liaskos S, Mazon JN (2009) Integrating sustainability in decision-making processes: a modelling strategy. 31st international conference on software engineering companion volume, pp 207–210Google Scholar
  10. 10.
    Chung L, Nixon BA, Yu E, Mylopoulos J (2000) Non-functional requirements in software engineering, international series in software engineering, vol 5. Kluwer Academic Publishers, New YorkGoogle Scholar
  11. 11.
    Dardenne A, Lamsweerde AV, Fickas S (1993) Goal-directed requirements acquisition. Sci Comput Program 20(1–2):3–50CrossRefzbMATHGoogle Scholar
  12. 12.
    Easterbrook S, Yu E, Aranda J, Fan Y, Horkoff J, Leica M, Qadir RA (2005) Do viewpoints lead to better conceptual models? An exploratory case study. In: Proceedings of the 13th IEEE international requirements engineering conference, IEEE, pp 199–208Google Scholar
  13. 13.
    Easterbrook S, Yu E, Aranda J, Horkoff J, Strohmaier M, Fan Y, Leica M, Qadir RA (2011) Analyzing requirements for online presence kids help phone. In: Horkoff J (ed) Proceedings of the iStar Showcase '11. Exploring the goals of your systems and Businesses. Practical experiences with i* modeling. (unpublished).
  14. 14.
    Ernst NA, Mylopoulos J, Borgida A, Jureta IJ (2010) Reasoning with optional and preferred requirements. In: Proceedings of the 29th international conference on conceptual modeling (ER’10), LNCS, vol 6412. Springer, pp 118–131Google Scholar
  15. 15.
    Franch X (2006) On the quantitative analysis of agent-oriented models. In: Proceedings of the 18th international conference on advanced information systems engineering (CAiSE’06), LNCS, vol 4001. Springer, pp 495–509Google Scholar
  16. 16.
    Franch X (2010) Incorporating modules into the i* framework. In: Proceedings of the 22nd international conference on advanced information systems engineering (CAiSE’10), LNCS, vol 6051. Springer, pp 439–454Google Scholar
  17. 17.
    Fuxman A, Liu L, Pistore M, Roveri M, Mylopoulos J (2003) Specifying and analyzing early requirements: some experimental results. In: Proceedings of the 11th IEEE international requirements engineering conference, IEEE, pp 105–114Google Scholar
  18. 18.
    Gans G, Jarke M, Lakemeyer G, Vits T (2002) SNet: A modeling and simulation environment for agent networks based on i* and ConGolog. In: Proceedings of the 14th international conference on advanced information system engineering (CAiSE’02), LNCS, vol 2348. pp 328–343Google Scholar
  19. 19.
    Giorgini P, Mylopoulos J, Nicchiarelli E, Sebastiani R (2004) Formal reasoning techniques for goal models. J Data Semant 1:1–20Google Scholar
  20. 20.
    Giorgini P., Mylopoulos J., Sebastiani R (2004) Simple and minimum-cost satisfiability for goal models. In: Proceedings of the 16th conference on advanced information systems engineering (CAiSE’04), LNCS, vol 3084. Springer, pp 20–35Google Scholar
  21. 21.
    Giorgini P, Mylopoulos J, Sebastiani R (2005) Goal-oriented requirements analysis and reasoning in the Tropos methodology. Eng Appl Artif Intell 18(2):159–171CrossRefGoogle Scholar
  22. 22.
    Griggio A (2012) A practical approach to satisfiability modulo linear integer arithmetic. JSAT 8:1–27MathSciNetGoogle Scholar
  23. 23.
    Horkoff J (2006) Using i* Models for evaluation (2006). Master’s thesis, University of TorontoGoogle Scholar
  24. 24.
    Horkoff J (2012) Iterative, interactive analysis of agent-goal models for early requirements engineering. Ph.D. thesis, Department of Computer Science, University of TorontoGoogle Scholar
  25. 25.
    Horkoff J, Barone D, Jiang L, Yu E, Amyot D, Borgida A, Mylopoulos J (2014) Strategic business modeling: representation and reasoning. Softw Syst Model 13(3):1015–1041CrossRefGoogle Scholar
  26. 26.
    Horkoff J, Elahi G, Abdulhadi S, Yu E(2008) Reflective Analysis of the Syntax and Semantics of the i* Framework. In: Proceedings of 2nd international workshop on requirements, intentions, and goals in conceptual modeling (RIGiM’08), LNCS, vol 5232. pp 249–260Google Scholar
  27. 27.
    Horkoff J, Salay R, Chechik M, Di Sandro A (2014) Supporting early decision-making in the presence of uncertainty. In: Proceedings of the 22nd IEEE international requirements engineering conference. To appearGoogle Scholar
  28. 28.
    Horkoff J, Yu E (2009) Evaluating goal achievement in enterprise modeling an interactive procedure and experiences. In: Proceedings of the 2nd IFIP WG8.1 on the practice of enterprise modeling (PoEM’09), Springer, pp. 145–160Google Scholar
  29. 29.
    Horkoff J, Yu E (2010) Finding solutions in goal models: an interactive backward reasoning approach. In: Proceedings of the 29th international conference on conceptual modeling (ER’10), LNCS, vol 6412. Springer, p 59Google Scholar
  30. 30.
    Horkoff J, Yu E (2010) Interactive analysis of agent-goal models in enterprise modeling. Int J Inf Syst Model Des IJISMD 1(4):1–23CrossRefGoogle Scholar
  31. 31.
    Horkoff J, Yu E (2010) Visualizations to support interactive goal model analysis. In: Proceedings of the 5th international workshop on requirements engineering visualization (REV’10), pp 1–10, IEEEGoogle Scholar
  32. 32.
    Horkoff J, Yu E (2011) Analyzing goal models: different approaches and how to choose among them. In: Proceedings of the ACM symposium on applied computing., SAC ’11ACM, New York, pp 675–682Google Scholar
  33. 33.
    Horkoff J, Yu E (2011) Detecting judgment inconsistencies to encourage model iteration in interactive i* analysis. In: Proceedings of the 5th international i* workshop, pp 2–7Google Scholar
  34. 34.
    Horkoff J, Yu E (2013) Comparison and evaluation of goal-oriented satisfaction analysis techniques. Requir Eng 18(3):199–222CrossRefGoogle Scholar
  35. 35.
    Horkoff J, Yu E, Ghose A (2010) Interactive goal model analysis applied–systematic procedures versus Ad hoc analysis. In: Proceedings of the 3rd IFIP WG8.1 on the practice of enterprise modeling (PoEM’10), LNBIP, vol 68. Springer, pp 130–144Google Scholar
  36. 36.
    Horkoff J, Yu E, Liu L (2006) Analyzing trust in technology strategies. In: Proceedings of the international conference on privacy security and trust (PST’06), p 1, PressGoogle Scholar
  37. 37.
    ITU-T (2008) Intern. Telecom. Union: Recommendation Z.151 (11/08): recommendation Z.151 (11/08) User requirements notation (URN) language definition. Tech. rep., ITU-T International Telecommunications Union, Geneva, SwitzerlandGoogle Scholar
  38. 38.
    Jureta IJ, Borgida A, Ernst NA, Mylopoulos J (2010) Techne: towards a new generation of requirements modeling languages with goals, preferences, and inconsistency handling. In: Proceedings of the 18th IEEE international requirements engineering conference, pp 115–124, IEEEGoogle Scholar
  39. 39.
    Kaiya H, Horai H, Saeki M (2002) AGORA: attributed goal-oriented requirements analysis method. In: Proceedings IEEE joint international conference on requirements engineering, pp 13–22, IEEEGoogle Scholar
  40. 40.
    van Lamsweerde A (2009) Reasoning about alternative requirements options. In: Borgida AT, Chaudhri VK, Giorgini P, Yu ES (eds) Conceptual modeling: foundations and applications. Springer, Berlin, HeidelbergGoogle Scholar
  41. 41.
    Letier E, Lamsweerde AV (2004) Reasoning about partial goal satisfaction for requirements and design engineering. ACM SIGSOFT Softw Eng Notes 29(6):53–62CrossRefGoogle Scholar
  42. 42.
    Liaskos S, McIlraith S, Sohrabi S, Mylopoulos J (2011) Representing and reasoning about preferences in requirements engineering. Requir Eng 16:227–249CrossRefGoogle Scholar
  43. 43.
    Mahajan YS, Fu Z, Malik S (2004) Zchaff 2004: an efficient SAT solver. In: Proceedings of the 7th international conference on theory and applications of satisfiability testing (SAT04), pp 360–375Google Scholar
  44. 44.
    Maiden N, Lockerbie J, Randall D, Jones S, Bush D (2007) Using satisfaction arguments to enhance i* modelling of an air traffic management system. In: Proceedings of RE’07, pp 49–52Google Scholar
  45. 45.
    Pourshahid A, Richards G, Amyot D (2011) Toward a goal-oriented, business intelligence decision-making framework. In: E-technologies: transformation in a connected world, LNBIP, vol 78. Springer, pp 100–115Google Scholar
  46. 46.
    Salay R, Chechik M, Horkoff J (2012) Managing requirements uncertainty with partial models. In: Proceedings of the 20th IEEE international requirements engineering conference, pp 1–10Google Scholar
  47. 47.
    Stirna J, Persson A, Sandkuhl K (2007) Participative enterprise modeling: experiences and recommendations. In: Proceedings of the 19th conference on advanced information systems engineering (CAiSE’07), vol 4495. Springer, pp 546–560Google Scholar
  48. 48.
    Strohmaier M, Horkoff J, Yu E, Aranda J, Easterbrook S (2008) Can patterns improve i* modeling? Two exploratory studies. In: Proceedings of the 14th international working conference on requirements engineering foundation for software quality, Springer, pp 153–167Google Scholar
  49. 49.
    Strohmaier M, Yu E, Horkoff J, Aranda J, Easterbrook S (2007) Analyzing knowledge transfer effectiveness an agent-oriented modeling approach. In: Proceedings of the 40th annual Hawaii international conference on system sciences, p 188b, IEEE Computer SocietyGoogle Scholar
  50. 50.
    Tanabe D, Uno K, Akemine K, Yoshikawa T, Kaiya H, Saeki M (2008) Supporting requirements change management in goal oriented analysis. Proceedings of the 16th IEEE international requirements engineering conference, pp 3–12Google Scholar
  51. 51.
    Yu E (1997) Towards modelling and reasoning support for early-phase requirements engineering. In: Proceedings of 3rd IEEE international symposium on requirements engineering, pp 226–235, IEEEGoogle Scholar
  52. 52.
    Yu E, Giorgini P, Maiden N, Mylopoulos J (2011) Social modeling for requirements engineering. MIT Press, CambridgeGoogle Scholar

Copyright information

© Springer-Verlag London 2014

Authors and Affiliations

  1. 1.Department of Information Engineering and Computer ScienceUniversity of TrentoTrentoItaly
  2. 2.Faculty of InformationUniversity of TorontoTorontoCanada

Personalised recommendations