Authors:
Christophe Ponsard
1
and
Robert Darimont
2
Affiliations:
1
CETIC Research Centre, Charleroi, Belgium
;
2
Respect-IT SA, Louvain-la-Neuve, Belgium
Keyword(s):
Requirements Engineering, Obstacle Analysis, Risk Minimisation, Search-based Software Engineering, Quantitative Reasoning, Pareto Front, Attack Trees, Case Study, Tool Support.
Abstract:
Goal Models capture system goals and their decomposition into operational requirements assigned to human, hardware or software agents. This refinement process supports alternatives both when refining goals processes but also when reasoning and refining obstacles to goals. This leads to large design space to explore in order to select a specific solution fulfilling a set of set of non-functional requirements (e.g. reliability, security, performance) or business goals (e.g. costs, satisfaction). This paper investigates how optimisation techniques can be used to efficiently explore the design space where multiple objectives have to be met simultaneously. This works extends previous work by allowing one not only to select a single alternative but also to combine different alternatives together to produce a more robust design. In order to explore the potentially very large design space, we show how to translate a model with many goals and obstacle alternatives, expressed in the KAOS notat
ion, into a constraint programming (CP) problem. The OscaR.CP engine is then used to compute a set of Pareto-optimal solutions regarding the targeted evaluation objectives. Our method is implemented as a tool plugin of a requirements engineering platform and is benchmarked on a security case study close to attack trees.
(More)