Requirements Evolution and Evolution Requirements with Constrained Goal Models

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


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 can 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 can 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 the meeting scheduling exemplar.


  1. 1.
    Barrett, C.W., Sebastiani, R., Seshia, S.A., Tinelli, C.: Satisfiability modulo theories. In: Biere, A., Heule, M.J.H., van Maaren, H., Walsh, T. (eds.) Handbook of Satisfiability, Chap. 26, pp. 825–885. IOS Press, Amsterdam (2009)Google 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_25 CrossRefGoogle Scholar
  3. 3.
    Lehman, M.M.: Programs, life cycles, and laws of software evolution. In: Proceedings of the IEEE, pp. 1060–1076, September 1980Google Scholar
  4. 4.
    Nguyen, C.M., Sebastiani, R., Giorgini, P., Mylopoulos, J.: Multi object reasoning with constrained goal model. CoRR, abs/1601.07409 (2016, submitted).
  5. 5.
    Nguyen, C.M., Sebastiani, R., Giorgini, P., Mylopoulos, J.: Requirements evolution and evolution requirements with constrained goal models. CoRR, abs/1604.04716 (2016).
  6. 6.
    Sebastiani, R., Tomasi, S.: Optimization modulo theories with linear rational costs. ACM Trans. Comput. Logics 16(2) (2015)Google Scholar
  7. 7.
    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, Heidelberg (2015). doi: 10.1007/978-3-319-21690-4_27 CrossRefGoogle Scholar
  8. 8.
    Souza, V.E.S.: Requirements-based software system adaptation. Ph.D. thesis, University of Trento (2012)Google Scholar

Copyright information

© Springer International Publishing AG 2016

Authors and Affiliations

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

Personalised recommendations