Modeling and Reasoning on Requirements Evolution with Constrained Goal Models

  • Chi Mai Nguyen
  • Roberto SebastianiEmail author
  • Paolo Giorgini
  • John Mylopoulos
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10469)


We are interested in supporting software evolution caused by changing requirements and/or changes in the operational environment of a software system. For example, users of a system may want new functionality or performance enhancements to cope with growing user population (changing requirements). Alternatively, vendors of a system may want to minimize costs in implementing requirements changes (evolution requirements). We propose to use Constrained Goal Models (CGMs) to represent the requirements of a system, and capture requirements changes in terms of incremental operations on a goal model. Evolution requirements are then represented as optimization goals that minimize implementation costs or customer value. We then exploit reasoning techniques to derive optimal new specifications for an evolving software system. CGMs offer an expressive language for modelling goals that comes with scalable solvers that solve hybrid constraint and optimization problems using a combination of Satisfiability Modulo Theories (SMT) and Optimization Modulo Theories (OMT) techniques. We evaluate our proposal by modeling and reasoning with a goal model for a standard exemplar used in Requirement Engineering.


  1. 1.
    Barrett, C.W., Sebastiani, R., Seshia, S.A., Tinelli, C.: Satisfiability modulo theories. In: Handbook of Satisfiability, pp. 825–885. IOS Press (2009). Chap. 26Google Scholar
  2. 2.
    Ernst, N.A., Borgida, A., Mylopoulos, J., Jureta, I.J.: Agile requirements evolution via paraconsistent reasoning. In: Ralyté, J., Franch, X., Brinkkemper, S., Wrycza, S. (eds.) CAiSE 2012. LNCS, vol. 7328, pp. 382–397. Springer, Heidelberg (2012). doi: 10.1007/978-3-642-31095-9_25CrossRefGoogle Scholar
  3. 3.
    Feather, M.S., Fickas, S., Finkelsteiin, A., Lamsweerde, A.V.: Requirements and specification exemplars. Automated Software Engineering 4(4), 419–438 (1997)CrossRefGoogle Scholar
  4. 4.
    Lehman, M.M.: Programs, life cycles, and laws of software evolution. Proc. IEEE 68(9), 1060–1076 (1980)CrossRefGoogle Scholar
  5. 5.
    Nguyen, C.M., Sebastiani, R., Giorgini, P., Mylopoulos, J.: Multi-objective reasoning with constrained goal models. Requir. Eng. J., 1–37 (2016)Google Scholar
  6. 6.
    Nguyen, C.M., Sebastiani, R., Giorgini, P., Mylopoulos, J.: Requirements evolution and evolution requirements with constrained goal models. In: Comyn-Wattiau, I., Tanaka, K., Song, I.-Y., Yamamoto, S., Saeki, M. (eds.) ER 2016. LNCS, vol. 9974, pp. 544–552. Springer, Cham (2016). doi: 10.1007/978-3-319-46397-1_42CrossRefGoogle Scholar
  7. 7.
    Nguyen, C.M., Sebastiani, R., Giorgini, P., Mylopoulos, J.: Modeling and reasoning on requirements evolution with constrained goal models (2017). Extended version of this paper.
  8. 8.
    Sebastiani, R., Tomasi, S.: Optimization modulo theories with linear rational costs. ACM Trans. Comput. Log. 16(2), 12:1–12:43 (2015)MathSciNetCrossRefGoogle Scholar
  9. 9.
    Sebastiani, R., Trentin, P.: OptiMathSAT: a tool for optimization modulo theories. In: Kroening, D., Păsăreanu, C.S. (eds.) CAV 2015. LNCS, vol. 9206, pp. 447–454. Springer, Cham (2015). doi: 10.1007/978-3-319-21690-4_27CrossRefGoogle Scholar
  10. 10.
    Souza, V.E.S.: Requirements-based software system adaptation. Ph.D. thesis, University of Trento (2012)Google Scholar
  11. 11.
    van Lamsweerde, A., Darimont, R., Massonet, P.: Goal-directed elaboration of requirements for a meeting scheduler: problems and lessons learned. In: Proceedings of the RE 1995 - 2nd International Symposium on Requirements Engineering, pp. 194–203. IEEE (1995)Google Scholar

Copyright information

© Springer International Publishing AG 2017

Authors and Affiliations

  • Chi Mai Nguyen
    • 1
  • Roberto Sebastiani
    • 1
    Email author
  • Paolo Giorgini
    • 1
  • John Mylopoulos
    • 1
  1. 1.DISIUniversity of TrentoTrentoItaly

Personalised recommendations