Overviewhv/classes/MS/lecture.MS...Overview 1. History of Modelling and Simulation 2. Modelling and...

38
Overview 1. History of Modelling and Simulation 2. Modelling and Simulation Concepts 3. Levels of Abstraction 4. Experimental Frame 5. Validation 6. Studying a mass-spring system 7. The Modelling and Simulation Process McGill, 10 September, 2000 [email protected] CS522: Modelling and Simulation 1/38

Transcript of Overviewhv/classes/MS/lecture.MS...Overview 1. History of Modelling and Simulation 2. Modelling and...

Page 1: Overviewhv/classes/MS/lecture.MS...Overview 1. History of Modelling and Simulation 2. Modelling and Simulation Concepts 3. Levels of Abstraction 4. Experimental Frame 5. Validation

Overview

1. History of Modelling and Simulation

2. Modelling and Simulation Concepts

3. Levels of Abstraction

4. Experimental Frame

5. Validation

6. Studying a mass-spring system

7. The Modelling and Simulation Process

McGill, 10 September, 2000 [email protected] CS522: Modelling and Simulation 1/38

Page 2: Overviewhv/classes/MS/lecture.MS...Overview 1. History of Modelling and Simulation 2. Modelling and Simulation Concepts 3. Levels of Abstraction 4. Experimental Frame 5. Validation

Modelling and simulation: past

(1950–): Numerical simulations: numerical analysis, statistical analysis,

simulation languages (CSSL, discrete-event world views).

focus: performance, accuracy

(1981–): Artificial Intelligence: model = knowledge representation

Use AI techniques in modelling, AI uses simulation (“deep” knowledge)

focus: knowledge

(1988–): Object-oriented modelling and simulation

focus: object orientation, later “agents”, non-causal modelling

McGill, 10 September, 2000 [email protected] CS522: Modelling and Simulation 2/38

Page 3: Overviewhv/classes/MS/lecture.MS...Overview 1. History of Modelling and Simulation 2. Modelling and Simulation Concepts 3. Levels of Abstraction 4. Experimental Frame 5. Validation

Modelling and simulation: past, present, future

(1993–): Multi-formalism, Multi-paradigm (2001 –)

1. Do it right (optimally) the first time (market pressure)

2. Complex systems: multi-formalism

3. Hybrid: continuous-discrete, hardware/software

4. Exchange (between humans/tools) and re-use (validated model)

5. User focus: do not expect user to know details

(software: glueing of components), need for tools

McGill, 10 September, 2000 [email protected] CS522: Modelling and Simulation 3/38

Page 4: Overviewhv/classes/MS/lecture.MS...Overview 1. History of Modelling and Simulation 2. Modelling and Simulation Concepts 3. Levels of Abstraction 4. Experimental Frame 5. Validation

Real-Worldentity

BaseModel

System S

only study behaviour inexperimental context

experimentwithin context

Model M

Simulation ResultsExperiment Observed Data

within context

simulate= virtual experiment

Model Basea-priori knowledge

validation

REALITY MODEL

GOALS

Modelling and Simulation Process

McGill, 10 September, 2000 [email protected] CS522: Modelling and Simulation 4/38

Page 5: Overviewhv/classes/MS/lecture.MS...Overview 1. History of Modelling and Simulation 2. Modelling and Simulation Concepts 3. Levels of Abstraction 4. Experimental Frame 5. Validation

Behaviour Morphism

Real System Abstract Model

Experiment Results Simulation Results

experiment virtual experiment

modelling/abstraction

abstraction

McGill, 10 September, 2000 [email protected] CS522: Modelling and Simulation 5/38

Page 6: Overviewhv/classes/MS/lecture.MS...Overview 1. History of Modelling and Simulation 2. Modelling and Simulation Concepts 3. Levels of Abstraction 4. Experimental Frame 5. Validation

Verification and Validation

Cause Effect

Input Output

System

ConceptualModel

SimulationModel

BehaviouralValidation

ConceptualModel

Validation

Verification

StructuralValidation

Popper: Falsification, Confidence

McGill, 10 September, 2000 [email protected] CS522: Modelling and Simulation 6/38

Page 7: Overviewhv/classes/MS/lecture.MS...Overview 1. History of Modelling and Simulation 2. Modelling and Simulation Concepts 3. Levels of Abstraction 4. Experimental Frame 5. Validation

Successfulending

Type I Errorending

Unsuccessfulending

Type II ErrorEnding

Type IIError

Type IError

simulationresults

accepted ?

simulationresults

accepted ?

credibilityof simulation results

certified?

credibilityof simulation results

certified?

actual problemhas no credible solution

actual problem has a credible solution

crediblesimulation model

?

formulated problemcontains

actual problem?

Type IIIError

FormulatedProblem

NO

YES

NO

YES NO

YES

NO

YES

NO

YES

NO

YES

McGill, 10 September, 2000 [email protected] CS522: Modelling and Simulation 7/38

Page 8: Overviewhv/classes/MS/lecture.MS...Overview 1. History of Modelling and Simulation 2. Modelling and Simulation Concepts 3. Levels of Abstraction 4. Experimental Frame 5. Validation

System, Base Model, Lumped Model

DBaseModel � DRealSystem

DLumpedModel � E � DRealSystem � E

McGill, 10 September, 2000 [email protected] CS522: Modelling and Simulation 8/38

Page 9: Overviewhv/classes/MS/lecture.MS...Overview 1. History of Modelling and Simulation 2. Modelling and Simulation Concepts 3. Levels of Abstraction 4. Experimental Frame 5. Validation

Experimental Frame Structure

System(real or model)

generator transduceracceptor

Experimental Frame

Frame InputVariables

Frame OutputVariables

� Programming Language Types

McGill, 10 September, 2000 [email protected] CS522: Modelling and Simulation 9/38

Page 10: Overviewhv/classes/MS/lecture.MS...Overview 1. History of Modelling and Simulation 2. Modelling and Simulation Concepts 3. Levels of Abstraction 4. Experimental Frame 5. Validation

"homomorphism"

"derived from"

general

restricted

more restricted

ModelsExperimental Frames

"applies to"

McGill, 10 September, 2000 [email protected] CS522: Modelling and Simulation 10/38

Page 11: Overviewhv/classes/MS/lecture.MS...Overview 1. History of Modelling and Simulation 2. Modelling and Simulation Concepts 3. Levels of Abstraction 4. Experimental Frame 5. Validation

Experimental Frame and Validity

Replicative Validity ( � : accuracy):

DLumpedModel � E � DBaseModel � E

Predictive Validity:

FLumpedModel � E � FBaseModel � E

Structural Validity (morphism�� ):

LumpedModel � E�� BaseModel � E

Simulator:

DSimulator � DLumpedModel

McGill, 10 September, 2000 [email protected] CS522: Modelling and Simulation 11/38

Page 12: Overviewhv/classes/MS/lecture.MS...Overview 1. History of Modelling and Simulation 2. Modelling and Simulation Concepts 3. Levels of Abstraction 4. Experimental Frame 5. Validation

Modelling (and Simulation) Choices

1. System Boundaries and Constraints: Experimental Frame (EF)

2. Level of Abstraction

3. Formalism(s)

4. Level of Accuracy

McGill, 10 September, 2000 [email protected] CS522: Modelling and Simulation 12/38

Page 13: Overviewhv/classes/MS/lecture.MS...Overview 1. History of Modelling and Simulation 2. Modelling and Simulation Concepts 3. Levels of Abstraction 4. Experimental Frame 5. Validation

System under study: T � l controlled liquid

is_full

is_emptyheat

off

cool

is_coldis_hot

fill emptyclosed

McGill, 10 September, 2000 [email protected] CS522: Modelling and Simulation 13/38

Page 14: Overviewhv/classes/MS/lecture.MS...Overview 1. History of Modelling and Simulation 2. Modelling and Simulation Concepts 3. Levels of Abstraction 4. Experimental Frame 5. Validation

System Boundaries (Experimental Frame)� Inputs: liquid flow rate, heating/cooling rate

� Outputs: observed level, temperature

� Contraints: no overflow/underflow, one phase only (no boiling)

McGill, 10 September, 2000 [email protected] CS522: Modelling and Simulation 14/38

Page 15: Overviewhv/classes/MS/lecture.MS...Overview 1. History of Modelling and Simulation 2. Modelling and Simulation Concepts 3. Levels of Abstraction 4. Experimental Frame 5. Validation

Abstraction: detailed (continuous) view, ALG +ODE formalism

Inputs (discontinuous � hybrid model):

Emptying, filling flow rate φ

Rate of adding/removing heat W

Parameters:

Cross-section surface of vessel A

Specific heat of liquid c

Density of liquid ρ

State variables:

Temperature T

Level of liquid l

Outputs (sensors):

is low is high is cold is hot

������������ �����������

dTdt

� 1l� W

cρA

� φT �

dldt

� φ

is low � � l � llow �

is high � � l � lhigh �

is cold � � T � Tcold �

is hot � � T � Thot �

McGill, 10 September, 2000 [email protected] CS522: Modelling and Simulation 15/38

Page 16: Overviewhv/classes/MS/lecture.MS...Overview 1. History of Modelling and Simulation 2. Modelling and Simulation Concepts 3. Levels of Abstraction 4. Experimental Frame 5. Validation

Abstraction: high-level (discrete) view, FSAformalism

level

temperaturecold T_in_between hot

full

l_in_between

empty (cold,empty)

emptyfill

emptyfill

cool

heat

cool

heat (hot,full)

(hot,empty)

(cold,full)

(cold,l_ib) (T_ib,l_ib) (hot,l_ib)

(T_ib,full)

(T_ib,empty)

McGill, 10 September, 2000 [email protected] CS522: Modelling and Simulation 16/38

Page 17: Overviewhv/classes/MS/lecture.MS...Overview 1. History of Modelling and Simulation 2. Modelling and Simulation Concepts 3. Levels of Abstraction 4. Experimental Frame 5. Validation

Levels of abstraction: trajectories (behaviour)

level

temperaturecold T_in_between hot

onoff

offoff

ofon

is_cold sensoris_hot sensor

full

l_in_between

empty

on off

off off

off on

is_full sensor

is_empty sensor

Continuous State TrajectoryDiscrete State Trajectory

fill

fill

heat

heat

different level of accuracy

McGill, 10 September, 2000 [email protected] CS522: Modelling and Simulation 17/38

Page 18: Overviewhv/classes/MS/lecture.MS...Overview 1. History of Modelling and Simulation 2. Modelling and Simulation Concepts 3. Levels of Abstraction 4. Experimental Frame 5. Validation

Levels of abstraction: behaviour morphism

detailed (technical) level

abstract (decision) level

abstraction

simulation

M_dM_t

trajectory

model

traj_t traj_d

McGill, 10 September, 2000 [email protected] CS522: Modelling and Simulation 18/38

Page 19: Overviewhv/classes/MS/lecture.MS...Overview 1. History of Modelling and Simulation 2. Modelling and Simulation Concepts 3. Levels of Abstraction 4. Experimental Frame 5. Validation

MODEL - re-use - exchange

formal checkingformal proof

automated test generation

simulationautomated generationof system/application

(code, possibly embedded)

documentation

McGill, 10 September, 2000 [email protected] CS522: Modelling and Simulation 19/38

Page 20: Overviewhv/classes/MS/lecture.MS...Overview 1. History of Modelling and Simulation 2. Modelling and Simulation Concepts 3. Levels of Abstraction 4. Experimental Frame 5. Validation

A Modelling and Simulation Exercise:the Mass-Spring system

WA

LL

RestLength [m]

WA

LL

position x [m]

Mass m [kg]

Mass m [kg]

McGill, 10 September, 2000 [email protected] CS522: Modelling and Simulation 20/38

Page 21: Overviewhv/classes/MS/lecture.MS...Overview 1. History of Modelling and Simulation 2. Modelling and Simulation Concepts 3. Levels of Abstraction 4. Experimental Frame 5. Validation

Knowledge Sources� A Priori Knowledge: Laws of Physics

� Goals, Intentions: Predict trajectory given Initial Conditions, “optimise”

behaviour, . . .

1. Analysis

2. Design

3. Control

� Measurement Data

McGill, 10 September, 2000 [email protected] CS522: Modelling and Simulation 21/38

Page 22: Overviewhv/classes/MS/lecture.MS...Overview 1. History of Modelling and Simulation 2. Modelling and Simulation Concepts 3. Levels of Abstraction 4. Experimental Frame 5. Validation

Measured Data

McGill, 10 September, 2000 [email protected] CS522: Modelling and Simulation 22/38

Page 23: Overviewhv/classes/MS/lecture.MS...Overview 1. History of Modelling and Simulation 2. Modelling and Simulation Concepts 3. Levels of Abstraction 4. Experimental Frame 5. Validation

Experimental Frame� Room Temperature, Humidity, . . .

� Frictionless, Ideal Spring, . . .

Structure Characterisation

� n� 1-order polynomial will perfectly fit n data points

� Ideal Spring: Feature = maximum amplitude constant

� Spring with Damping: Feature = amplitute decreases

McGill, 10 September, 2000 [email protected] CS522: Modelling and Simulation 23/38

Page 24: Overviewhv/classes/MS/lecture.MS...Overview 1. History of Modelling and Simulation 2. Modelling and Simulation Concepts 3. Levels of Abstraction 4. Experimental Frame 5. Validation

Building the model from a-priori knowledge

Newton’s Law

F � Md2∆x

dt

Ideal Spring

F � � K∆x

�d2∆xdt2

� � KM

∆x

McGill, 10 September, 2000 [email protected] CS522: Modelling and Simulation 24/38

Page 25: Overviewhv/classes/MS/lecture.MS...Overview 1. History of Modelling and Simulation 2. Modelling and Simulation Concepts 3. Levels of Abstraction 4. Experimental Frame 5. Validation

CLASS Spring "Ideal Spring": DAEmodel :=

{

OBJ F_left: ForceTerminal,

OBJ F_right: ForceTerminal,

OBJ RestLength: LengthParameter,

OBJ SpringConstant: SCParameter,

OBJ x: LengthState,

OBJ v: SpeedState,

F_left - F_right = - SpringConstant * (x - RestLength),

DERIV([ x, [t,] ]) = v,

EF_assert( x - RestLenght < RestLength/100),

},

McGill, 10 September, 2000 [email protected] CS522: Modelling and Simulation 25/38

Page 26: Overviewhv/classes/MS/lecture.MS...Overview 1. History of Modelling and Simulation 2. Modelling and Simulation Concepts 3. Levels of Abstraction 4. Experimental Frame 5. Validation

From Model to SimulationBlock-diagrams

analog computers, Continuous System Modelling Program (CSMP)

� From (algebraic) equation to Block Diagram

� Higher order differential equations

McGill, 10 September, 2000 [email protected] CS522: Modelling and Simulation 26/38

Page 27: Overviewhv/classes/MS/lecture.MS...Overview 1. History of Modelling and Simulation 2. Modelling and Simulation Concepts 3. Levels of Abstraction 4. Experimental Frame 5. Validation

Time-slicing simulator pseudo-code

Main program:

FOREACH block IN system

IF block is integrator

initialise block’s output with initial condition (IC)

ELSE

initialise output with 0

READ system network (graph) structure

READ integrator configuration info

step_size

communication_interval

READ experiment info

end_time

McGill, 10 September, 2000 [email protected] CS522: Modelling and Simulation 27/38

Page 28: Overviewhv/classes/MS/lecture.MS...Overview 1. History of Modelling and Simulation 2. Modelling and Simulation Concepts 3. Levels of Abstraction 4. Experimental Frame 5. Validation

Time-slicing simulator pseudo-code (ctd.)

Simulation Kernel Loop:

WHILE (NOT End_of_simulation) DO

Update_blocks

Output time and state variables

Update_blocks:

FOREACH block IN system

given current block inputs

(get input from output of influencer)

Calculate_block_output for block

increment current_time with stepsize

End_of_simulation:

termination condition such as

current_time >= end_time

condition(state_values) == TRUE

McGill, 10 September, 2000 [email protected] CS522: Modelling and Simulation 28/38

Page 29: Overviewhv/classes/MS/lecture.MS...Overview 1. History of Modelling and Simulation 2. Modelling and Simulation Concepts 3. Levels of Abstraction 4. Experimental Frame 5. Validation

Calculate_block_output: ([...] means optional)

WeightedSum

W, block_number, P1, e1[, P2, e2[, P3, e3]] ; --->

output= SUM_i(Pi*ei)

Summer

+, block_number, P1, e1[, P2, e2[, P3, e3]] ; --->

output = SUM_i(sign(Pi)*ei)

(only the sign of Pi is used)

Integrator

I, block_number, IC, e1 ; --->

output= previous_output + step_size*e1

(simple fixed-step Euler integration)

Minus (Sign Inverter)

-, block_number, e1 ; --->

output= -e1.

Multiplier

X, block_number, e1, e2 ; --->

output= e1*e2.

Divider

/, block_number, e1, e2 ; --->

output= e1/e2.

Constant

K, block_number, P1 ; --->

output= P1.

Output

O, block_number, e1 ; --->

output= e1.

(As a side-effect, the (time, e1) tuple is put

on the output stream at every communication point).

McGill, 10 September, 2000 [email protected] CS522: Modelling and Simulation 29/38

Page 30: Overviewhv/classes/MS/lecture.MS...Overview 1. History of Modelling and Simulation 2. Modelling and Simulation Concepts 3. Levels of Abstraction 4. Experimental Frame 5. Validation

Time Slicing: Evaluation Order

Blocks need to be sorted !

McGill, 10 September, 2000 [email protected] CS522: Modelling and Simulation 30/38

Page 31: Overviewhv/classes/MS/lecture.MS...Overview 1. History of Modelling and Simulation 2. Modelling and Simulation Concepts 3. Levels of Abstraction 4. Experimental Frame 5. Validation

Time Slicing: Circle Test

McGill, 10 September, 2000 [email protected] CS522: Modelling and Simulation 31/38

Page 32: Overviewhv/classes/MS/lecture.MS...Overview 1. History of Modelling and Simulation 2. Modelling and Simulation Concepts 3. Levels of Abstraction 4. Experimental Frame 5. Validation

; Circle Test for

; CSMP-style Time Slicing Simulator

$endtime = 100;

$timestep = ?;

$comminterval = 1.5;

I, 1, 0, 3 ; x’ is integral of x’’, IC=0

I, 2, 1, 1 ; x is integral of x’, IC=1

-, 3, 2 ; -x

O, 4, 1 ; output x’

O, 5, 2 ; output x

McGill, 10 September, 2000 [email protected] CS522: Modelling and Simulation 32/38

Page 33: Overviewhv/classes/MS/lecture.MS...Overview 1. History of Modelling and Simulation 2. Modelling and Simulation Concepts 3. Levels of Abstraction 4. Experimental Frame 5. Validation

Experimentation

1. Model

2. Parameters (constant for each simulation run)

3. Initial Conditions

4. Input (file, interactive, real system)

5. Output (file, plot, real system)

6. Solver Configuration

7. Experiment type (simulation, optimization, parameter estimation �

model calibration)

McGill, 10 September, 2000 [email protected] CS522: Modelling and Simulation 33/38

Page 34: Overviewhv/classes/MS/lecture.MS...Overview 1. History of Modelling and Simulation 2. Modelling and Simulation Concepts 3. Levels of Abstraction 4. Experimental Frame 5. Validation

Results Analysis� Accuracy (numerical)

� Model Parameters

� Model Structure

McGill, 10 September, 2000 [email protected] CS522: Modelling and Simulation 34/38

Page 35: Overviewhv/classes/MS/lecture.MS...Overview 1. History of Modelling and Simulation 2. Modelling and Simulation Concepts 3. Levels of Abstraction 4. Experimental Frame 5. Validation

Model Calibration: Parameter Fit

x

x_measured

s i m p l e f r i c t i o n l e s s m a s s - s p r i n g s y s t e m

t ime [s ]

0 1 2 3

po

sit

ion

[m

]

0

0.1

0.2

0.3

McGill, 10 September, 2000 [email protected] CS522: Modelling and Simulation 35/38

Page 36: Overviewhv/classes/MS/lecture.MS...Overview 1. History of Modelling and Simulation 2. Modelling and Simulation Concepts 3. Levels of Abstraction 4. Experimental Frame 5. Validation

From Here On . . .� Virtual Experiments: simulation, optimisation, what-if, . . .

� Validation/Falsification

McGill, 10 September, 2000 [email protected] CS522: Modelling and Simulation 36/38

Page 37: Overviewhv/classes/MS/lecture.MS...Overview 1. History of Modelling and Simulation 2. Modelling and Simulation Concepts 3. Levels of Abstraction 4. Experimental Frame 5. Validation

Modelling and Simulation Process

Experimental Frame Definition

Structure Characterisation

Parameter Estimation

Simulation

Validation

class of parametric model candidates

parametric model

model with meaningful parameter values

simulated measurements

validated model

a priori

knowledge

modeller’s andexperimenter’s

goals

experiment observation(measurement)

data

Information Sources Activities

McGill, 10 September, 2000 [email protected] CS522: Modelling and Simulation 37/38

Page 38: Overviewhv/classes/MS/lecture.MS...Overview 1. History of Modelling and Simulation 2. Modelling and Simulation Concepts 3. Levels of Abstraction 4. Experimental Frame 5. Validation

ExperimentalFrame Definition

problem formulation

Modellingand

SimulationProcess

communication

decisionmaking

refinement

versionmanagement

comm ?N

Y

"release"

formulatedproblem

objectivesquestions

requirements

communicatedresults

communicatedproblem

refined requirements

McGill, 10 September, 2000 [email protected] CS522: Modelling and Simulation 38/38