Skip to main content

Modeling and Reasoning on Requirements Evolution with Constrained Goal Models

  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 10469))

Abstract

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.

This is a preview of subscription content, log in via an institution.

Notes

  1. 1.

    A solution optimizes lexicographically an ordered list of objectives \(\langle {obj_1,obj_2,...}\rangle \) if it makes \(obj_1\) optimum and, if more than one such solution exists, it makes also \(obj_2\) optimum, ..., etc.

  2. 2.

    More precisely, rather than “\(\mu _1\)”, here we should say “the restriction of \(\mu _1\) to the elements and variables which are still in \(\mathcal {M} _2\).” We will keep this distinction implicit in the rest of the paper.

  3. 3.

    Like Penalty, Cost and WorkTime in Fig. 1.

  4. 4.

    http://optimathsat.disi.unitn.it.

  5. 5.

    http://www.cgm-tool.eu/.

References

  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. 26

    Google Scholar 

  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

    Chapter  Google Scholar 

  3. Feather, M.S., Fickas, S., Finkelsteiin, A., Lamsweerde, A.V.: Requirements and specification exemplars. Automated Software Engineering 4(4), 419–438 (1997)

    Article  Google Scholar 

  4. Lehman, M.M.: Programs, life cycles, and laws of software evolution. Proc. IEEE 68(9), 1060–1076 (1980)

    Article  Google Scholar 

  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. 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_42

    Chapter  Google Scholar 

  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. http://disi.unitn.it/rseba/papers/sefm17_extended.pdf

  8. Sebastiani, R., Tomasi, S.: Optimization modulo theories with linear rational costs. ACM Trans. Comput. Log. 16(2), 12:1–12:43 (2015)

    Article  MathSciNet  Google Scholar 

  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_27

    Chapter  Google Scholar 

  10. Souza, V.E.S.: Requirements-based software system adaptation. Ph.D. thesis, University of Trento (2012)

    Google Scholar 

  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 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Roberto Sebastiani .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2017 Springer International Publishing AG

About this paper

Cite this paper

Nguyen, C.M., Sebastiani, R., Giorgini, P., Mylopoulos, J. (2017). Modeling and Reasoning on Requirements Evolution with Constrained Goal Models. In: Cimatti, A., Sirjani, M. (eds) Software Engineering and Formal Methods. SEFM 2017. Lecture Notes in Computer Science(), vol 10469. Springer, Cham. https://doi.org/10.1007/978-3-319-66197-1_5

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-66197-1_5

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-66196-4

  • Online ISBN: 978-3-319-66197-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics