Simulating and Optimizing Design Decisions in Goal Models Emmanuel - - PowerPoint PPT Presentation

simulating and optimizing design decisions in goal models
SMART_READER_LITE
LIVE PREVIEW

Simulating and Optimizing Design Decisions in Goal Models Emmanuel - - PowerPoint PPT Presentation

Simulating and Optimizing Design Decisions in Goal Models Emmanuel Letier and William Heaven Department of Computer Science University College London http://www.cs.ucl.ac.uk/people/E.Letier Crest Open Workshop, London, 22 February 2011 1


slide-1
SLIDE 1

1

Simulating and Optimizing Design Decisions in Goal Models

Emmanuel Letier and William Heaven

Department of Computer Science University College London http://www.cs.ucl.ac.uk/people/E.Letier Crest Open Workshop, London, 22 February 2011

slide-2
SLIDE 2

Outline

  • Motivation
  • Quantitative Goals Models
  • Simulating and Optimizing Design Decisions

2

slide-3
SLIDE 3

Context: Multi-Objective Design Decisions Problems

  • Multiple stakeholders, multiple goals

– Performance, usability, security, safety, cost, etc. – Goals are generally not directly comparable one to another

  • Multiple design decisions

– Which requirements to select for next release? – What component or actor will be responsible for what? – What actions to select to mitigate risks?

3

slide-4
SLIDE 4

Qualitative Approaches

 Emphasis on understanding multiple perspectives and politics of the decision process, helps identifying hidden criteria  Goal definitions remain too vague  Qualitative information too poor to make informed decisions

4

(NFR, Win-win, Soft System Methodology)

Security Performance

Good System Option A Option B ++

  • ++

Security Performance

Option A

++

  • Option B
  • ++
slide-5
SLIDE 5

Quantitative Approaches

  • Basically: replace ++ and –- by numbers, count the cost
  • Compute overall value, usually as weighted average

(Cost-value based prioritization, Quality Function Deployment, NASA’s DDP , etc.)

Security Performance

Value Option A Option B 0.9 0.1 0.1 0.5 3 5

Security Performance Cost

Option A

0.9 0.1 54

Option B

0.1 0.5 42

slide-6
SLIDE 6

The Big Question

Where do the numbers come from?

6

The Wrong Question

slide-7
SLIDE 7

The Good Questions

  • What do the numbers mean?
  • How do we know they are correct?

7

slide-8
SLIDE 8

What do the numbers mean? How do we know they are correct?

  • Predicted objective attainments

E.g. Value = 76 ; cost = 42 Security = 7.88 ; Performance = 9.57

8

?

slide-9
SLIDE 9

What do the numbers mean? How do we know they are correct?

  • Equations used to compute objectives from parameters

E.g.

Cost = S selected(reqi) * cost(reqi) Value = S weight(Gk) * satisf(Gk)

9

?

slide-10
SLIDE 10

What do the numbers mean? How do we know they are correct?

  • Model parameters

E.g.

Cost(reqi) = 3; contrib(reqi, Security) = 0.5 weight(Security) = 3 ; weight(Performance) = 5

10

?

slide-11
SLIDE 11

Two Fundamental Principles

  • Requirements descriptions should be testable
  • Early design decisions must deal with uncertainties

11

slide-12
SLIDE 12

Quantitative Goal Models

  • E. Letier, A. van Lamsweerde,

Reasoning about partial goal satisfaction for requirements and design engineering, FSE 2004

12

slide-13
SLIDE 13

Specifying Levels Goal Satisfaction

  • Quantitative goal = behaviour goal extended with objective functions

defined in terms of domain quality variables (formally, random vars)

13

  • Based on industrial practices: VOLERE, Planguage, etc.

Goal Achieve [Ambulance Intervention]

  • Def. An ambulance must arrive at incident scene within

14 min. after the first call Objective Functions Max 14Min_RespRate = P (RespTime ≤ 14’) Max 8Min_RespRate = P (RespTime ≤ 8’) Quality Vars RespTime: Incident -> Duration

slide-14
SLIDE 14

Specifying quality variables refinement equations

  • Equations relating quality variables of parent goal to quality

variables of subgoals (and related domain properties)

14

Ambulance Intervention RespTime Ambulance Mobilized MobTime MobDist Mobilized Ambulance Intervention AmbDelay Variable Refinement: RespTime = Mobtime + MobDist+ AmbDelay

slide-15
SLIDE 15

Modelling alternatives

  • Decision points = goal refinements, responsibility

assignments, obstacle resolutions

15

OR-refinement OR-assignment

slide-16
SLIDE 16

Estimating leaf quality variables

  • Estimations can be descriptive, predictive, or prescriptive
  • Ideally, all should be testable

16

(Constraint: leaf quality variables must be statistically independent) Variables Estimations: AmbDelay = Normal(0, 120) % Normal distribution CallTakingTime = Exp(150) % Exponential distribution …

slide-17
SLIDE 17

Computing Objective Functions

Complex because arbitrary equations and probability distributions

17

… for one particular set of design decisions

slide-18
SLIDE 18

Simulating and Optimizing Design Decisions

With William Heaven, UCL

18

slide-19
SLIDE 19

Simulating the model

  • Compute objective functions through stochastic simulation

19

Simulator design choices Objective functions values

slide-20
SLIDE 20

Goal Simulation

Function Simulate(Goal G) Inputs NS size of sample space S for each quality variable Outputs E(Obj) estimated value for each objective fn. Obj S(X) array of NS simulated value for each quality var. X

20

Example Simulate(Ambulance Intervention) Input Nincident = 1000 Output E(14Min_RespTime) = 90% E(8Min_RespTime) = 60% S(RespTime) = [ 11’30’’, 7’50’’ , 14’05’’, 10’10’’, … ]

slide-21
SLIDE 21

Simulation algorithm

Goal graph traversed recursively from top goals

21

Simulate (G, [N1, …, Nn]) 

  • 1. Simulate each subgoal

(if it has not been simulated before)

  • 2. Compute G’s quality variables arrays from subgoals quality

variables and refinement equations

  • 3. Compute G’s objective functions from quality variable arrays

Prototype implementations in R and Matlab

slide-22
SLIDE 22

Optimizing Design Decisions

22

Simulator

design choices Objectives’ values

Optimization Search

Optimal designs and objectives’ values

slide-23
SLIDE 23

Current and Future Projects

  • Integrated tool support for simulation and optimization

– Editor + fully connected components – Combining discrete and continuous design variables – Performance, grid computing – Sensitivity and robustness analysis

  • Dealing with the optimization inputs

– Model construction – Elicitation of model parameters and (meta-) uncertainties

  • Dealing with the optimization outputs

– Helping decision makers analysing sets of optimal solutions

23