About the readability of the constraints, although
the generated code is meant to be executed by an
optimisation engine, the selection operators could
be stated in more user-friendly form, e.g. using
isSelected(alt) rather than ”alt?! == 0. Operators for
checking other states can also be introduced.
The current mapping is limited to the selection of
a single alternative which is usual for goal refinements
but not for the dual of goals, i.e. obstacles. In this
case, making sure an obstacle is managed may require
to select multiple OR-refinements. The current map-
ping cannot cope with this but could be adapted, e.g.
an array of CPBoolVar, and specific constraints for
imposing no, one or some alternatives. This results in
the generation of far larger design spaces which also
raises the need for better guidance.
6 CONCLUSION & NEXT STEPS
In this paper, we developed an approach to deal with
the exploration of the design space at requirements
engineering time. As multiple qualities need to be
assessed simultaneously, a multi-objective approach
computing a Pareto front was used to provide the an-
alyst with a candidate set of solutions which can then
be reviewed more carefully. Our translation from the
KAOS notation to the OscaR.CP was tested on the
meeting scheduler benchmark.
Our work is still quite in early phase. Our next
steps are to cover the different extensions identi-
fied such as better language primitives, dealing with
shared goals and allowing the selection of multiple
alternatives. We also plan to improve usability and to
validate on larger models and with external analysts.
ACKNOWLEDGEMENTS
Thanks to Respect-IT for giving access to the Objec-
tiver tool and to the OscaR team for its Open Source
optimisation library.
REFERENCES
Aguilar, J., Garrig
´
os, I., and Maz
´
on, J.-N. (2011). A goal-
oriented approach for optimizing non-functional re-
quirements in web applications. pages 14–23.
Bagnall, A., Rayward-Smith, V., and Whittley, I. (2001).
The next release problem. Information and Software
Technology, 43(14):883 – 890.
Barone, D., Jiang, L., Amyot, D., and Mylopoulos, J.
(2011). Reasoning with key performance indicators.
volume 92, pages 82–96.
Calderon, A. et al. (2012). Webred: A model-driven tool
for web requirements specification and optimization.
In Web Engineering.
Dardenne, A., van Lamsweerde, A., and Fickas, S. (1993).
Goal-directed requirements acquisition. Sci. Comput.
Program., 20(1-2):3–50.
Harman, M. (2007). The current state and future of search
based software engineering. In Future of Software En-
gineering (FOSE ’07), pages 342–357.
Hartert, R. and Schaus, P. (2014). A support-based algo-
rithm for the bi-objective pareto constraint. In Proc.
28th AAAI Conf. on A.I., July 27-31, Qu
´
ebec, Canada.
Heaven, W. and Letier, E. (2011). Simulating and optimis-
ing design decisions in quantitative goal models. In
IEEE 19th Int. Requirements Engineering Conference.
ISO (2011). System and Software Quality Requirements
and Evaluation (SQuaRE). https://iso25000.com.
ITU (2012). Z.151 (10/12), User Requirements Notation
(URN) - Language Definition.
Karatas¸, A. S., O
˘
guzt
¨
uz
¨
un, H., and Do
˘
gru, A. (2010). Map-
ping extended feature models to constraint logic pro-
gramming over finite domains. In Proc. of the 14th
Int. Conf. on Software Product Lines: Going Beyond.
Letier, E. and van Lamsweerde, A. (2004). Reasoning about
partial goal satisfaction for requirements and design
engineering. SIGSOFT Softw. Eng. Notes, 29(6).
Luo, H. and Amyot, D. (2011). Towards a declarative,
constraint-oriented semantics with a generic evalua-
tion algorithm for GRL. In Proc. of the 5
th
Interna-
tional i* Workshop, Trento, Italy, August 28-29.
Mogk, N. W. (2014). A requirements management system
based on an optimization model of the design process.
Procedia Computer Science, 28:221 – 227.
Nguyen, C. M. et al. (2018). Multi-objective reasoning with
constrained goal models. Requir. Eng., 23(2).
Odersky, M. (2004). Scala Programming Language. https:
//www.scala-lang.org.
OscaR Team (2012). OscaR: Operational Research in
Scala. Available under the LGPL licence from https:
//bitbucket.org/oscarlib/oscar.
Respect-IT (2005). The Objectiver Goal-Oriented Require-
ments Engineering Tool. http://www.objectiver.com.
van Lamsweerde, A. (2009). Requirements Engineering -
From System Goals to UML Models to Software Spec-
ifications. Wiley.
van Lamsweerde, A., Darimont, R., and Massonet, P.
(1995). Goal-directed elaboration of requirements for
a meeting scheduler: problems and lessons learnt. In
Proc. of IEEE Int. Symposium on Req. Eng. (RE’95).
Yu, E. S. K. and Mylopoulos, J. (1997). Enterprise mod-
elling for business redesign: The i* framework. SIG-
GROUP Bull., 18(1):59–63.
Zhang, Y., Finkelstein, A., and Harman, M. (2008). Search
based requirements optimisation: Existing work and
challenges. In Requirements Engineering: Founda-
tion for Software Quality.
Zubcoff, J. et al. (2018). Evaluating different i*-based ap-
proaches for selecting functional requirements while
balancing and optimizing non-functional require-
ments: A controlled experiment. Information and
Software Technology.
ICORES 2020 - 9th International Conference on Operations Research and Enterprise Systems
292