Requirements Engineering

, Volume 23, Issue 2, pp 189–225 | Cite as

Multi-objective reasoning with constrained goal models

  • Chi Mai Nguyen
  • Roberto Sebastiani
  • Paolo Giorgini
  • John Mylopoulos
Original Article


Goal models have been widely used in computer science to represent software requirements, business objectives, and design qualities. Existing goal modelling techniques, however, have shown limitations of expressiveness and/or tractability in coping with complex real-world problems. In this work, we exploit advances in automated reasoning technologies, notably satisfiability and optimization modulo theories (SMT/OMT), and we propose and formalize: (1) an extended modelling language for goals, namely the constrained goal model (CGM), which makes explicit the notion of goal refinement and of domain assumption, allows for expressing preferences between goals and refinements and allows for associating numerical attributes to goals and refinements for defining constraints and optimization goals over multiple objective functions, refinements, and their numerical attributes; (2) a novel set of automated reasoning functionalities over CGMs, allowing for automatically generating suitable refinements of input CGMs, under user-specified assumptions and constraints, that also maximize preferences and optimize given objective functions. We have implemented these modelling and reasoning functionalities in a tool, named CGM-Tool, using the OMT solver OptiMathSAT as automated reasoning backend. Moreover, we have conducted an experimental evaluation on large CGMs to support the claim that our proposal scales well for goal models with 1000s of elements.


Requirements engineering Goal models SAT/SMT/OMT 



This research was partially supported by the ERC advanced Grant 267856, ‘Lucretius: Foundations for Software Evolution’. We would like to thank Dagmawi Neway for his technical support in developing CGM-Tool and Patrick Trentin for assistance with the usage of OptiMathSAT.


  1. 1.
    Angelopoulos K, Aydemir F, Giorgini P, Mylopoulos J (2016) Solving the next adaptation problem with prometheus. In: RCISGoogle Scholar
  2. 2.
    Anton AI (1996) Goal-based requirements analysis. In: Proceedings of the 2nd international conference on requirements engineering (ICRE ’96). IEEE Computer Society, p 136Google Scholar
  3. 3.
    Anton AI, Potts C (1998) The use of goals to surface requirements for evolving systems. In: Proceedings of the 20th international conference on software engineering (ICSE ’98). IEEE Computer Society, pp 157–166Google Scholar
  4. 4.
    Aydemir F, Mekuria D, Giorgini P, Mylopoulos J (2016) Scalable solutions to the next release problem: a goal-oriented perspective. CAISE 2017 conference in Essen, Germany (under submission) Google Scholar
  5. 5.
    Barrett C, Sebastiani R, Seshia SA, Tinelli C (2009) Satisfiability modulo theories, chap 26. In: Biere A, Heule MJH, Van Maaren H, Walsh T (eds) Handbook of satisfiability. IOS Press, Amsterdam, pp 825–885Google Scholar
  6. 6.
    Borgida A, Dalpiaz F, Horkoff J, Mylopoulos J (2013) Requirements models for design- and runtime: a position paper. In: Proceedings of the 5th international workshop on modeling in software engineering (MiSE ’13). IEEE Press, pp 62–68Google Scholar
  7. 7.
    Castro J, Kolp M, Mylopoulos J (2002) Towards requirements-driven information systems engineering: the tropos project. Inf Syst 27(6):365–389. doi: 10.1016/S0306-4379(02)00012-1 CrossRefzbMATHGoogle Scholar
  8. 8.
    Cimatti A, Griggio A, Schaafsma BJ, Sebastiani R (2013) The MathSAT 5 SMT solver. In: Tools and algorithms for the construction and analysis of systems (TACAS ’13). LNCS, vol 7795. Springer, Berlin, pp 95–109Google Scholar
  9. 9.
    Cimatti A, Griggio A, Sebastiani R (2011) Computing small unsatisfiable cores in SAT modulo theories. J Artif Intell Res (JAIR) 40:701–728zbMATHGoogle Scholar
  10. 10.
    Classen A, Boucher Q, Heymans P (2011) A text-based approach to feature modelling: syntax and semantics of TVL. Sci Comput Program 76(12):1130–1143. doi: 10.1016/j.scico.2010.10.005 CrossRefGoogle Scholar
  11. 11.
    Dardenne A, van Lamsweerde A, Fickas S (1993) Goal-directed requirements acquisition. Sci Comput Program 20(1–2):3–50CrossRefzbMATHGoogle Scholar
  12. 12.
    Ernst NA, Borgida A, Jureta I (2011) Finding incremental solutions for evolving requirements. In: RE. IEEE, pp 15–24Google Scholar
  13. 13.
    Ernst NA, Borgida A, Jureta IJ, Mylopoulos J (2014) Agile requirements engineering via paraconsistent reasoning. Inf Syst 43:100–116. doi: 10.1016/ CrossRefGoogle Scholar
  14. 14.
    Ernst NA, Borgida A, Mylopoulos J, Jureta I (2012) Agile requirements evolution via paraconsistent reasoning. In: Ralyté J, Franch X, Brinkkemper S, Wrycza S (eds) CAiSE, lecture notes in computer science, vol 7328. Springer, Berlin, pp 382–397Google Scholar
  15. 15.
    Ernst NA, Mylopoulos J, Borgida A, Jureta IJ (2010) Reasoning with optional and preferred requirements. In: Parsons J, Saeki M, Shoval P, Woo C, Wand Y (eds) Conceptual Modeling—ER 2010: proceedings of the 29th international conference on conceptual modeling, Vancouver, BC, Canada, November 1–4. Springer, Berlin, pp 118–131. doi: 10.1007/978-3-642-16373-9_9
  16. 16.
    Estrada H, Rebollar AM, Pastor O, Mylopoulos J (2006) An empirical evaluation of the i* framework in a model-based software generation environment. In: Dubois E, Pohl K (eds) Proceedings of the 18th international conference on advanced information systems engineering (CAiSE 2006), Luxembourg, Luxembourg, June 5–9, lecture notes in computer science, vol 4001. Springer, Berlin, pp 513–527. doi: 10.1007/11767138_34
  17. 17.
    Fuxman A, Liu L, Mylopoulos J, Pistore M, Roveri M, Traverso P (2004) Specifying and analyzing early requirements in tropos. Requir Eng 9(2):132–150. doi: 10.1007/s00766-004-0191-7 CrossRefGoogle Scholar
  18. 18.
    Giorgini P, Mylopoulos J, Nicchiarelli E, Sebastiani R (2004) Formal reasoning techniques for goal models. J Data Semant 1:1–20zbMATHGoogle Scholar
  19. 19.
    Horkoff JM (2012) Iterative, interactive analysis of agent-goal models for early requirements engineering. Ph.D. thesis, University of Toronto, AAINR97565Google Scholar
  20. 20.
    Horrocks I, Patel-Schneider PF, Sebastiani R (2000) An analysis of empirical testing for modal decision procedures. Logic J IGPL 8(3):293–323MathSciNetCrossRefzbMATHGoogle Scholar
  21. 21.
    Jarvis R, McArthur G, Mylopoulos J, Rodríguez-Gianolli P, Zhou S (2001) Semantic models for knowledge management. In: WISE, vol 1, p 8 (2001)Google Scholar
  22. 22.
    Jureta I, Borgida A, Ernst NA, Mylopoulos J (2010) Techne: towards a new generation of requirements modeling languages with goals, preferences, and inconsistency handling. In: RE. IEEE Computer Society, pp 115–124 (2010)Google Scholar
  23. 23.
    Jureta I, Mylopoulos J, Faulkner S (2008) Revisiting the core ontology and problem in requirements engineering. In: Proceedings of the 16th IEEE international requirements engineering conference (RE ’08). IEEE Computer Society, pp 71–80. doi: 10.1109/RE.2008.13
  24. 24.
    Lapouchnian A (2005) Goal-oriented requirements engineering: an overview of the current research. Technical report, Department of Computer Science, University of TorontoGoogle Scholar
  25. 25.
    Liaskos S (2012) On eliciting contribution measures in goal models. In: Proceedings of the IEEE 20th international requirements engineering conference (RE ’12). IEEE Computer Society, pp 221–230. doi: 10.1109/RE.2012.6345808
  26. 26.
    Liaskos S, McIlraith SA, Sohrabi S, Mylopoulos J (2010) Integrating preferences into goal models for requirements engineering. In: RE. IEEE Computer Society, pp 135–144Google Scholar
  27. 27.
    Mekuria DN (2015) Constrained goal modeling and reasoning tool’s user manual. Availble at:
  28. 28.
    Mylopoulos J, Chung L, Nixon B (1992) Representing and using nonfunctional requirements: a process-oriented approach. IEEE Trans Softw Eng 18(6):483–497. doi: 10.1109/32.142871 CrossRefGoogle Scholar
  29. 29.
    Newell A, Simon H (1963) GPS: a program that simulates human thought. In: Feigenbaum EA, Feldman J (eds) Computers and thought. McGraw-Hill, New York, pp 279–293Google Scholar
  30. 30.
    Nguyen CM, Sebastiani R, Giorgini P, Mylopoulos J (2016) Requirements evolution and evolution requirements with constrained goal models. In: Proceedings of the 37th international conference on conceptual modeling, LNCS. Springer, BerlinGoogle Scholar
  31. 31.
    Nieuwenhuis R, Oliveras A (2006) On SAT modulo theories and optimization problems. In: Proceedings of the SAT ’06, LNCS, vol 4121. Springer, BerlinGoogle Scholar
  32. 32.
    Paja E, Dalpiaz F, Poggianella M, Roberti P, Giorgini P (2012) STS-tool: socio-technical security requirements through social commitments. In: Proceedings of the 20th IEEE international conference on requirements engineering, pp 331–332Google Scholar
  33. 33.
    Patel-Schneider PF, Sebastiani R (2003) A new general method to generate random modal formulae for testing decision procedures. J Artif Intell Res (JAIR) 18:351–389MathSciNetzbMATHGoogle Scholar
  34. 34.
    Rao AS, George MP (1995) BDI agents: from theory to practice. In: Proceedings of the first international conference on multiagent systems. AAAIGoogle Scholar
  35. 35.
    Sebastiani R (2007) Lazy satisfiability modulo theories. J Satisf Boolean Model Comput (JSAT) 3(3–4):141–224MathSciNetzbMATHGoogle Scholar
  36. 36.
    Sebastiani R, Giorgini P, Mylopoulos J (2004) Simple and minimum-cost satisfiability for goal models. In: Proceedings of the 16th international conference on advanced information systems engineering (CAISE ’04), LNCS. Springer, RigaGoogle Scholar
  37. 37.
    Sebastiani R, Tomasi S (2012) Optimization in SMT with LA(Q) cost functions. In: IJCAR, LNAI, vol 7364. Springer, Berlin, pp 484–498Google Scholar
  38. 38.
    Sebastiani R, Tomasi S (2015) Optimization modulo theories with linear rational costs. ACM Trans Comput Log 16(2):12:1–12:43MathSciNetCrossRefzbMATHGoogle Scholar
  39. 39.
    Sebastiani R, Trentin P (2015) OptiMathSAT: a tool for optimization modulo theories. In: Proceedings of the international conference on computer-aided verification (CAV 2015), LNCS, vol 9206. Springer, BerlinGoogle Scholar
  40. 40.
    Sebastiani R, Trentin P (2015) Pushing the envelope of optimization modulo theories with linear-arithmetic cost functions. In: Proceedings of the international conference on tools and algorithms for the construction and analysis of systems (TACAS ’15), LNCS, vol 9035. Springer, BerlinGoogle Scholar
  41. 41.
    Sebastiani R, Trentin P (2016) On the benefits of enhancing optimization modulo theories with sorting networks for MaxSMT. In: CEUR workshop proceedings of the 14th international workshop on satisfiability modulo theories (SMT 2016)Google Scholar
  42. 42.
    Van Lamsweerde A (2001) Goal-oriented requirements engineering: a guided tour. In: Proceedings of the fifth IEEE international symposium on requirements engineering (RE ’01). IEEE Computer Society, p 249Google Scholar
  43. 43.
    Yu ESK (1997) Towards modeling and reasoning support for early-phase requirements engineering. In: Proceedings of the 3rd IEEE international symposium on requirements engineering (RE ’97). IEEE Computer Society, p 226Google Scholar
  44. 44.
    Zhang Y, Harman M, Mansouri SA (2007) The multi-objective next release problem. In: Proceedings of the 9th annual conference on genetic and evolutionary computation (GECCO ’07). ACM, New York, NY, USA, pp 1129–1137. doi: 10.1145/1276958.1277179

Copyright information

© Springer-Verlag London 2016

Authors and Affiliations

  1. 1.University of TrentoTrentoItaly

Personalised recommendations