A Software Architecture for Multi-paradigm...

55
MESM 2002 Sharjah, United Arab Emirates 29 September, 2002 A Software Architecture for Multi-paradigm Modelling Hans Vangheluwe School of Computer Science, McGill University, Montr ´ eal, Canada Juan de Lara E.T.S. de Inform ´ atica, Universidad Auton ´ oma de Madrid, Madrid, Spain Ghislain Vansteenkiste BIOMATH department, Ghent University, Ghent, Belgium MESM 2002, 29 September, Sharjah U.A.E [email protected] A Software Architecture for Multi-Paradigm Modelling 1/55

Transcript of A Software Architecture for Multi-paradigm...

Page 1: A Software Architecture for Multi-paradigm Modellingmsdl.cs.mcgill.ca/people/hv/teaching/MSBDesign/COMP762B...Formalism-specic modelling and simulation tools can automatically be generated

MESM 2002Sharjah, United Arab Emirates

29 September, 2002

A Software Architecture

for Multi-paradigm Modelling

Hans Vangheluwe

School of Computer Science, McGill University, Montreal, Canada

Juan de Lara

E.T.S. de Informatica, Universidad Autonoma de Madrid, Madrid, Spain

Ghislain Vansteenkiste

BIOMATH department, Ghent University, Ghent, Belgium

MESM 2002, 29 September, Sharjah U.A.E [email protected] A Software Architecture for Multi-Paradigm Modelling 1/55

Page 2: A Software Architecture for Multi-paradigm Modellingmsdl.cs.mcgill.ca/people/hv/teaching/MSBDesign/COMP762B...Formalism-specic modelling and simulation tools can automatically be generated

Presentation Overview� Complex systems

� Multi-paradigm Modelling and Simulation

� 1. Levels of abstraction

� 2. Multi-formalism Modelling and Simulation

� 3. Meta-modelling formalism syntax and semantics

� The AToM3 environment

MESM 2002, 29 September, Sharjah U.A.E [email protected] A Software Architecture for Multi-Paradigm Modelling 2/55

Page 3: A Software Architecture for Multi-paradigm Modellingmsdl.cs.mcgill.ca/people/hv/teaching/MSBDesign/COMP762B...Formalism-specic modelling and simulation tools can automatically be generated

M,S

M,S

M,S M,S

QM,S

Q

M,S

M,S M,S M,S

PaperPulp mill Waste Water Treatment Plant

Fish Farm

Effluent

Recycle (return) flow

Clarifier(DESS)

Activated sludge unit(DESS)

MixingAeration Sedimentation

Influent

Stormwater tank 1

Stormwater tank 2overflow

Switch

WWTP (DESS)

System of WWTP and Stormwater tanks (DEVS)

Input/Output function

Inputfunction

Outputfunction

algae

fish

GE

RRA

X

CFA

+

CFF

EDRF +

GFX

X

MESM 2002, 29 September, Sharjah U.A.E [email protected] A Software Architecture for Multi-Paradigm Modelling 3/55

Page 4: A Software Architecture for Multi-paradigm Modellingmsdl.cs.mcgill.ca/people/hv/teaching/MSBDesign/COMP762B...Formalism-specic modelling and simulation tools can automatically be generated

Complexity (system/model) due to . . .

1. Number of interacting (coupled, concurrent) components (+ feedback)

2. Variety of views at different levels of abstraction

3. Variety of components (software/hardware, continuous/discrete)

4. Uncertainty

� � focus on 1 and 3

MESM 2002, 29 September, Sharjah U.A.E [email protected] A Software Architecture for Multi-Paradigm Modelling 4/55

Page 5: A Software Architecture for Multi-paradigm Modellingmsdl.cs.mcgill.ca/people/hv/teaching/MSBDesign/COMP762B...Formalism-specic modelling and simulation tools can automatically be generated

Proposed solution:multi-paradigm modelling and simulation

1. Different levels of abstraction

2. Mixing different formalisms

3. Modelling syntax and semantics of classes of models (formalisms):

meta-modelling

All are closely related to model transformation

MESM 2002, 29 September, Sharjah U.A.E [email protected] A Software Architecture for Multi-Paradigm Modelling 5/55

Page 6: A Software Architecture for Multi-paradigm Modellingmsdl.cs.mcgill.ca/people/hv/teaching/MSBDesign/COMP762B...Formalism-specic modelling and simulation tools can automatically be generated

Multi-paradigm dimensions

Abstraction Level

Meta Level

Formalism

MESM 2002, 29 September, Sharjah U.A.E [email protected] A Software Architecture for Multi-Paradigm Modelling 6/55

Page 7: A Software Architecture for Multi-paradigm Modellingmsdl.cs.mcgill.ca/people/hv/teaching/MSBDesign/COMP762B...Formalism-specic modelling and simulation tools can automatically be generated

System under study: T � l controlled liquid

is_full

is_emptyheat

off

cool

is_coldis_hot

fill emptyclosed

MESM 2002, 29 September, Sharjah U.A.E [email protected] A Software Architecture for Multi-Paradigm Modelling 7/55

Page 8: A Software Architecture for Multi-paradigm Modellingmsdl.cs.mcgill.ca/people/hv/teaching/MSBDesign/COMP762B...Formalism-specic modelling and simulation tools can automatically be generated

Detailed (continuous) view, ALG + ODE formalismInputs (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 ρ

� Temperature of influent Tin

State variables:

� Temperature T

� Level of liquid l

Outputs (sensors):

� is low � is high � is cold � is hot

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

dTdt

� 1l� W

cρA

� φ T � Tin � �

dldt

� φ

is low � l � llow �

is high � l � lhigh �

is cold � T � Tcold �

is hot � T � Thot �

MESM 2002, 29 September, Sharjah U.A.E [email protected] A Software Architecture for Multi-Paradigm Modelling 8/55

Page 9: A Software Architecture for Multi-paradigm Modellingmsdl.cs.mcgill.ca/people/hv/teaching/MSBDesign/COMP762B...Formalism-specic modelling and simulation tools can automatically be generated

High-level (discrete) view, FSA formalism

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)

MESM 2002, 29 September, Sharjah U.A.E [email protected] A Software Architecture for Multi-Paradigm Modelling 9/55

Page 10: A Software Architecture for Multi-paradigm Modellingmsdl.cs.mcgill.ca/people/hv/teaching/MSBDesign/COMP762B...Formalism-specic modelling and simulation tools can automatically be generated

Levels of abstraction/views: trajectories

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

MESM 2002, 29 September, Sharjah U.A.E [email protected] A Software Architecture for Multi-Paradigm Modelling 10/55

Page 11: A Software Architecture for Multi-paradigm Modellingmsdl.cs.mcgill.ca/people/hv/teaching/MSBDesign/COMP762B...Formalism-specic modelling and simulation tools can automatically be generated

Multi-paradigm dimensions: abstraction/formalism

Abstraction Level

Meta Level

Formalism

Formalism ODE

meta-model

model low high

Formalism FSA

MESM 2002, 29 September, Sharjah U.A.E [email protected] A Software Architecture for Multi-Paradigm Modelling 11/55

Page 12: A Software Architecture for Multi-paradigm Modellingmsdl.cs.mcgill.ca/people/hv/teaching/MSBDesign/COMP762B...Formalism-specic modelling and simulation tools can automatically be generated

Multi-paradigm dimension: abstraction

Abstraction Level

Meta Level

Formalism

Formalism ODE

meta-model

model

linearize

low high

MESM 2002, 29 September, Sharjah U.A.E [email protected] A Software Architecture for Multi-Paradigm Modelling 12/55

Page 13: A Software Architecture for Multi-paradigm Modellingmsdl.cs.mcgill.ca/people/hv/teaching/MSBDesign/COMP762B...Formalism-specic modelling and simulation tools can automatically be generated

Levels of abstraction/views: morphism

detailed (technical) level

abstract (decision) level

abstraction

simulation

M_dM_t

trajectory

model

traj_t traj_d

MESM 2002, 29 September, Sharjah U.A.E [email protected] A Software Architecture for Multi-Paradigm Modelling 13/55

Page 14: A Software Architecture for Multi-paradigm Modellingmsdl.cs.mcgill.ca/people/hv/teaching/MSBDesign/COMP762B...Formalism-specic modelling and simulation tools can automatically be generated

Multi-paradigm dimensions: formalisms

Abstraction Level

Meta Level

Formalism

MESM 2002, 29 September, Sharjah U.A.E [email protected] A Software Architecture for Multi-Paradigm Modelling 14/55

Page 15: A Software Architecture for Multi-paradigm Modellingmsdl.cs.mcgill.ca/people/hv/teaching/MSBDesign/COMP762B...Formalism-specic modelling and simulation tools can automatically be generated

Forrester System Dynamics model of Predator-Prey

Predator Prey

Grazing_efficiency

uptake_predatorloss_prey

predator_surplus_DR

prey_surplus_BR

2−species predator−prey system

MESM 2002, 29 September, Sharjah U.A.E [email protected] A Software Architecture for Multi-Paradigm Modelling 15/55

Page 16: A Software Architecture for Multi-paradigm Modellingmsdl.cs.mcgill.ca/people/hv/teaching/MSBDesign/COMP762B...Formalism-specic modelling and simulation tools can automatically be generated

Causal Block Diagram model of Harmonic Oscillator

x0

0.0

y0

1.0

ICx

ICy

− I OUT

K

1.0

0.0

PLOT

MESM 2002, 29 September, Sharjah U.A.E [email protected] A Software Architecture for Multi-Paradigm Modelling 16/55

Page 17: A Software Architecture for Multi-paradigm Modellingmsdl.cs.mcgill.ca/people/hv/teaching/MSBDesign/COMP762B...Formalism-specic modelling and simulation tools can automatically be generated

Petri Net model of Producer Consumer

P.Calculating1

Wait4Cons0

Buffer0

Buffer−p1

Wait4Prod1

C.Calculating0

Produce

Put in Buffer

Rem.from buffer

Consume

MESM 2002, 29 September, Sharjah U.A.E [email protected] A Software Architecture for Multi-Paradigm Modelling 17/55

Page 18: A Software Architecture for Multi-paradigm Modellingmsdl.cs.mcgill.ca/people/hv/teaching/MSBDesign/COMP762B...Formalism-specic modelling and simulation tools can automatically be generated

Statechart model of Producer Consumer

Empty

Full

Producing Wait4Prod

Wait4Cons

Computing

Buff Producer Consumer

buffer++

buffer−−

Produce

/ buffer++

[in Buff.Empty]

/ buffer−−

[in Buff.Full]Consume

MESM 2002, 29 September, Sharjah U.A.E [email protected] A Software Architecture for Multi-Paradigm Modelling 18/55

Page 19: A Software Architecture for Multi-paradigm Modellingmsdl.cs.mcgill.ca/people/hv/teaching/MSBDesign/COMP762B...Formalism-specic modelling and simulation tools can automatically be generated

GPSS model of Telephone Exchange

FN112

0

2V2

V1 PH1

LR PH1

V1 H2

P2NEP1

S PH1

LNKS

R PH1

1

LR PH2 R PH1

LNKS

1

S PH2

FN1120

Function: 1LNKS10

MESM 2002, 29 September, Sharjah U.A.E [email protected] A Software Architecture for Multi-Paradigm Modelling 19/55

Page 20: A Software Architecture for Multi-paradigm Modellingmsdl.cs.mcgill.ca/people/hv/teaching/MSBDesign/COMP762B...Formalism-specic modelling and simulation tools can automatically be generated

Event Scheduling DAE model of a Train

Train_at_rest

AcceleratingODE

xvvk * ( v − v_init + 5 )

FrictionODE

xvv− k * ( v − 20 )

BrakingODE

xvv− k * ( v + 3 )

START EVENT

x = x_0v = v_0passengers = 0

Initialize_Model

passengers = passengers

Passenger_arriveprint "Train is leaving i

Train_is_full

print "Train is leaving a

Train_starts

Stop_Accelerating

Start_Accelerating

Start_Braking

print "Train arrived at t

DepartureStart

passengers = passengers −

Departure_Event

monitoring fct.:

v_max − v

+−

testmax

monitoring fct.:

v − v_min

+−

testminmonitoring fct.:

stopping_x − x

+−

test_arrival

monitoring fct.:

v

+−

Test_zerospeed

IF1

AFTER0

IFpassengers < 10

AFTERrandom.uniform ( 1 , 10 )

IF1

AFTER5

IFpassengers >= 10

AFTER0

IF1 AFTER

0

IFpassengers > 0 AFTER

5

MESM 2002, 29 September, Sharjah U.A.E [email protected] A Software Architecture for Multi-Paradigm Modelling 20/55

Page 21: A Software Architecture for Multi-paradigm Modellingmsdl.cs.mcgill.ca/people/hv/teaching/MSBDesign/COMP762B...Formalism-specic modelling and simulation tools can automatically be generated

Multi-paradigm dimensions: meta

Abstraction Level

Meta Level

Formalism

MESM 2002, 29 September, Sharjah U.A.E [email protected] A Software Architecture for Multi-Paradigm Modelling 21/55

Page 22: A Software Architecture for Multi-paradigm Modellingmsdl.cs.mcgill.ca/people/hv/teaching/MSBDesign/COMP762B...Formalism-specic modelling and simulation tools can automatically be generated

What is Meta-modelling ?� A meta-model is a model of a modelling formalism

� A meta-model is itself a model. Its syntax and semantics are

governed by the formalism it is described in. That formalism can be

modelled in a meta-meta-model.

� As a meta-model is a model, we can reason about it, manipulate it,

. . . In particular, properties of (all models in) a formalism can be

formally proven.

� Formalism-specific modelling and simulation tools can automatically

be generated from a meta-model (AToM3 A Tool for Multi-formalism

Meta-Modelling).

MESM 2002, 29 September, Sharjah U.A.E [email protected] A Software Architecture for Multi-Paradigm Modelling 22/55

Page 23: A Software Architecture for Multi-paradigm Modellingmsdl.cs.mcgill.ca/people/hv/teaching/MSBDesign/COMP762B...Formalism-specic modelling and simulation tools can automatically be generated

� Formalisms can be tailored to specific needs by modifying the

meta-model (possibly through inheritance if specializing).

� Building domain/applicatin specific, possibly graphical modelling

and simulation environments becomes affordable.

� Semantics of new formalisms through extension or transformation

(multi-formalism).

MESM 2002, 29 September, Sharjah U.A.E [email protected] A Software Architecture for Multi-Paradigm Modelling 23/55

Page 24: A Software Architecture for Multi-paradigm Modellingmsdl.cs.mcgill.ca/people/hv/teaching/MSBDesign/COMP762B...Formalism-specic modelling and simulation tools can automatically be generated

FSA model of Even Binary Number recognizer

Init End_1

End_0

1

0

1

0

1

0

MESM 2002, 29 September, Sharjah U.A.E [email protected] A Software Architecture for Multi-Paradigm Modelling 24/55

Page 25: A Software Architecture for Multi-paradigm Modellingmsdl.cs.mcgill.ca/people/hv/teaching/MSBDesign/COMP762B...Formalism-specic modelling and simulation tools can automatically be generated

ER model of the FSA formalism syntax(meta-model)

Name type=String init.valisInitial type=Boolean inisFinal type=Boolean init

FSAStatecurrent

FSATransition

points_to

MESM 2002, 29 September, Sharjah U.A.E [email protected] A Software Architecture for Multi-Paradigm Modelling 25/55

Page 26: A Software Architecture for Multi-paradigm Modellingmsdl.cs.mcgill.ca/people/hv/teaching/MSBDesign/COMP762B...Formalism-specic modelling and simulation tools can automatically be generated

ER formalism + constraints (OCL/Python)

# check for unique input labels (FSA)

for transition1 in state.out_connections:

for transition2 in state.out_connections:

if transition1 != transition2:

if transition1.in == transition2.in:

return("Non-determinism: input "+transition1.in)

MESM 2002, 29 September, Sharjah U.A.E [email protected] A Software Architecture for Multi-Paradigm Modelling 26/55

Page 27: A Software Architecture for Multi-paradigm Modellingmsdl.cs.mcgill.ca/people/hv/teaching/MSBDesign/COMP762B...Formalism-specic modelling and simulation tools can automatically be generated

ER model of the ER formalism (meta-meta-model)

name type=String init.valattributes type=List init

ERentity

ERrelationship

MESM 2002, 29 September, Sharjah U.A.E [email protected] A Software Architecture for Multi-Paradigm Modelling 27/55

Page 28: A Software Architecture for Multi-paradigm Modellingmsdl.cs.mcgill.ca/people/hv/teaching/MSBDesign/COMP762B...Formalism-specic modelling and simulation tools can automatically be generated

Meta-meta-. . .

meta-metamodel

meta-modelprocessor

meta-modeluserinput

a model of a class of models (the formalism MF)semantics within formalism MMFdescribes: structure and constraints

a model in formalism MF

-create-delete-verify (local, global)

meta-modelprocessor model

userinput

a model of a class of models (the formalism F)semantics within formalism MFdescribes: structure and constraints

a model in formalism F

-create-delete-verify (local, global)

MMF

MF

F

(ER)

(ER)

(FSA)

MESM 2002, 29 September, Sharjah U.A.E [email protected] A Software Architecture for Multi-Paradigm Modelling 28/55

Page 29: A Software Architecture for Multi-paradigm Modellingmsdl.cs.mcgill.ca/people/hv/teaching/MSBDesign/COMP762B...Formalism-specic modelling and simulation tools can automatically be generated

Causal Block Diagram Semantics ?

x0

0.0

y0

1.0

ICx

ICy

− I OUT

K

1.0

0.0

PLOT

MESM 2002, 29 September, Sharjah U.A.E [email protected] A Software Architecture for Multi-Paradigm Modelling 29/55

Page 30: A Software Architecture for Multi-paradigm Modellingmsdl.cs.mcgill.ca/people/hv/teaching/MSBDesign/COMP762B...Formalism-specic modelling and simulation tools can automatically be generated

Causal Block Diagram Denotational Semantics

��� ��

dxdt

� y x 0 � � 0dydt

� � Kx y 0 � � 1

K � 1

MESM 2002, 29 September, Sharjah U.A.E [email protected] A Software Architecture for Multi-Paradigm Modelling 30/55

Page 31: A Software Architecture for Multi-paradigm Modellingmsdl.cs.mcgill.ca/people/hv/teaching/MSBDesign/COMP762B...Formalism-specic modelling and simulation tools can automatically be generated

FSA model Operational Semantics ?

Init End_1

End_0

1

0

1

0

1

0

MESM 2002, 29 September, Sharjah U.A.E [email protected] A Software Architecture for Multi-Paradigm Modelling 31/55

Page 32: A Software Architecture for Multi-paradigm Modellingmsdl.cs.mcgill.ca/people/hv/teaching/MSBDesign/COMP762B...Formalism-specic modelling and simulation tools can automatically be generated

Simulation steps

MESM 2002, 29 September, Sharjah U.A.E [email protected] A Software Architecture for Multi-Paradigm Modelling 32/55

Page 33: A Software Architecture for Multi-paradigm Modellingmsdl.cs.mcgill.ca/people/hv/teaching/MSBDesign/COMP762B...Formalism-specic modelling and simulation tools can automatically be generated

Init End_1

End_0

1

0

1

0

1

0

Current State

Init End_1

End_0

1

0

1

0

1

0

Current State

Init End_1

End_0

1

0

1

0

1

0

Current State

Init End_1

End_0

1

0

1

0

1

0

Current State

Rule 1 Rule 2

Rule 2Rule 2

Final Action"Accept Input"

input 0

input 1input 0

end of input

MESM 2002, 29 September, Sharjah U.A.E [email protected] A Software Architecture for Multi-Paradigm Modelling 33/55

Page 34: A Software Architecture for Multi-paradigm Modellingmsdl.cs.mcgill.ca/people/hv/teaching/MSBDesign/COMP762B...Formalism-specic modelling and simulation tools can automatically be generated

Graph Grammar model of FSA OpSem

/ <ANY><ANY>

<ANY>

Current State

2

4

3

1

/<COPIED><COPIED>

<COPIED>

Current State

2

4

3

1

<ANY>

1

/ <ANY><ANY><ANY> <ANY>

Current State

2

4

3 5

1

/<COPIED><COPIED>

<COPIED><COPIED>

Current State

2

43

5

1

::=

::=

::=

Rule 1 (priority 3)

Rule 2 (priority 1)

Rule 3 (priority 2)

Locate Initial Current State

State Transition

Local State Transition

condition:matched(4).input == input[0]

action:remove(input[0])

condition:matched(4).input == input[0]

action:remove(input[0])

<COPIED>

Current State

3

1

2

MESM 2002, 29 September, Sharjah U.A.E [email protected] A Software Architecture for Multi-Paradigm Modelling 34/55

Page 35: A Software Architecture for Multi-paradigm Modellingmsdl.cs.mcgill.ca/people/hv/teaching/MSBDesign/COMP762B...Formalism-specic modelling and simulation tools can automatically be generated

Model Transformation meta-specification

meta-model a model in formalism ER

meta-modelprocessor

model

userinput

a model of a class of models (the formalism NFA)semantics within formalism ER

a model in formalism NFA

-create-delete-verify (local, global)

MF

F

(ER)

(NFA)

meta-model a model in formalism MF

meta-modelprocessor

model

userinput

a model of a class of models (the formalism F)semantics within formalism MFdescribes: structure and constraints

a model in formalism FSA

-create-delete-verify (local, global)

MF

F

(ER)

(FSA)(multi-formalism)

model transformer=

meta-modelprocessor

transformationmeta-model

MF (GGR)

MESM 2002, 29 September, Sharjah U.A.E [email protected] A Software Architecture for Multi-Paradigm Modelling 35/55

Page 36: A Software Architecture for Multi-paradigm Modellingmsdl.cs.mcgill.ca/people/hv/teaching/MSBDesign/COMP762B...Formalism-specic modelling and simulation tools can automatically be generated

Timed Automata model of a Traffic Light + codegen

show(R)R

show(O)O

show(G)G

show(O)CO PCR

show(OFF)OFF

after 60

after 10

pi

pi

pi

after 50

pi

pcr

pcr

after 10

off

off

off

off

off

MESM 2002, 29 September, Sharjah U.A.E [email protected] A Software Architecture for Multi-Paradigm Modelling 36/55

Page 37: A Software Architecture for Multi-paradigm Modellingmsdl.cs.mcgill.ca/people/hv/teaching/MSBDesign/COMP762B...Formalism-specic modelling and simulation tools can automatically be generated

Generated Application

MESM 2002, 29 September, Sharjah U.A.E [email protected] A Software Architecture for Multi-Paradigm Modelling 37/55

Page 38: A Software Architecture for Multi-paradigm Modellingmsdl.cs.mcgill.ca/people/hv/teaching/MSBDesign/COMP762B...Formalism-specic modelling and simulation tools can automatically be generated

Model Transformation Uses (1)� Code generation

� Operational Semantics (reference simulator)

� Denotational Semantics

May model transformation as Graph Grammar

MESM 2002, 29 September, Sharjah U.A.E [email protected] A Software Architecture for Multi-Paradigm Modelling 38/55

Page 39: A Software Architecture for Multi-paradigm Modellingmsdl.cs.mcgill.ca/people/hv/teaching/MSBDesign/COMP762B...Formalism-specic modelling and simulation tools can automatically be generated

FSD Denotational Semantics ?

Predator Prey

Grazing_efficiency

uptake_predatorloss_prey

predator_surplus_DR

prey_surplus_BR

2−species predator−prey system

MESM 2002, 29 September, Sharjah U.A.E [email protected] A Software Architecture for Multi-Paradigm Modelling 39/55

Page 40: A Software Architecture for Multi-paradigm Modellingmsdl.cs.mcgill.ca/people/hv/teaching/MSBDesign/COMP762B...Formalism-specic modelling and simulation tools can automatically be generated

FSD denotational semantics in terms of DAE� Semantics of “level” block:

d leveldt

� BR � DR �

� Semantics of “algebraic” block: algebraic relationship between block’s

I/O signals

� Semantics of the full model: set of components’ semantics equations.

MESM 2002, 29 September, Sharjah U.A.E [email protected] A Software Architecture for Multi-Paradigm Modelling 40/55

Page 41: A Software Architecture for Multi-paradigm Modellingmsdl.cs.mcgill.ca/people/hv/teaching/MSBDesign/COMP762B...Formalism-specic modelling and simulation tools can automatically be generated

Formalism Transformation

state trajectory data (observation frame)

DAE a-causal set

DAE causal set

DAE causal sequence (sorted)

Difference Equations

System Dynamics

Transfer Function

Causal Block Diagram

MESM 2002, 29 September, Sharjah U.A.E [email protected] A Software Architecture for Multi-Paradigm Modelling 41/55

Page 42: A Software Architecture for Multi-paradigm Modellingmsdl.cs.mcgill.ca/people/hv/teaching/MSBDesign/COMP762B...Formalism-specic modelling and simulation tools can automatically be generated

Formalism transformation uses (2)� Add new formalisms without much effort (only ∆).

� Re-use lower level modelling/simulation environment.

� Answer questions at “optimal” level.

1. System Dynamics: influences, domain-knowledge.

2. DAE: algebraic dependency cycles.

3. ALG + ODE: linear ?

4. Trajectory, given initial conditions.

� Optimization possible at every level.

� Semantics of coupled multi-formalism models.

MESM 2002, 29 September, Sharjah U.A.E [email protected] A Software Architecture for Multi-Paradigm Modelling 42/55

Page 43: A Software Architecture for Multi-paradigm Modellingmsdl.cs.mcgill.ca/people/hv/teaching/MSBDesign/COMP762B...Formalism-specic modelling and simulation tools can automatically be generated

Compositional Modelling: Coupled Model (network)

Msub_1 Msub_2

CoupledModel

CouplingGraph

Msub_3

MESM 2002, 29 September, Sharjah U.A.E [email protected] A Software Architecture for Multi-Paradigm Modelling 43/55

Page 44: A Software Architecture for Multi-paradigm Modellingmsdl.cs.mcgill.ca/people/hv/teaching/MSBDesign/COMP762B...Formalism-specic modelling and simulation tools can automatically be generated

Closure under Coupling/Composition:Block Diagram

A B

xy

A B

xy

non-causal

causal

Non-Causal:

A � y � B � x

Causal:

B � x : � A � y

MESM 2002, 29 September, Sharjah U.A.E [email protected] A Software Architecture for Multi-Paradigm Modelling 44/55

Page 45: A Software Architecture for Multi-paradigm Modellingmsdl.cs.mcgill.ca/people/hv/teaching/MSBDesign/COMP762B...Formalism-specic modelling and simulation tools can automatically be generated

Closure under Coupling/Composition:non-causal Bond Graph

A B

p p

A � p � e f f ort � B � p � e f f ort

A � p � f low � B � p � f low

MESM 2002, 29 September, Sharjah U.A.E [email protected] A Software Architecture for Multi-Paradigm Modelling 45/55

Page 46: A Software Architecture for Multi-paradigm Modellingmsdl.cs.mcgill.ca/people/hv/teaching/MSBDesign/COMP762B...Formalism-specic modelling and simulation tools can automatically be generated

Closure under Coupling/Composition:Discrete Event

A1

A2

By

y

x

DEP

DEP

ARR

� schedule ARRivals

� resolve collisions

MESM 2002, 29 September, Sharjah U.A.E [email protected] A Software Architecture for Multi-Paradigm Modelling 46/55

Page 47: A Software Architecture for Multi-paradigm Modellingmsdl.cs.mcgill.ca/people/hv/teaching/MSBDesign/COMP762B...Formalism-specic modelling and simulation tools can automatically be generated

Closure under Coupling/Composition:Petri Net

A B

ty tx

p

� Transitions A � ty � B � tx are used as ports

� Coupling between ports by means of a place p

MESM 2002, 29 September, Sharjah U.A.E [email protected] A Software Architecture for Multi-Paradigm Modelling 47/55

Page 48: A Software Architecture for Multi-paradigm Modellingmsdl.cs.mcgill.ca/people/hv/teaching/MSBDesign/COMP762B...Formalism-specic modelling and simulation tools can automatically be generated

Complex System: Coupling Different Formalisms

M,S

M,S

M,S M,S

Q

M,S

Q

M,S

M,S M,S M,S

PaperPulp mill Waste Water Treatment Plant

Fish Farm

Effluent

Recycle (return) flow

Clarifier(DESS)

Activated sludge unit(DESS)

MixingAeration Sedimentation

Influent

Stormwater tank 1

Stormwater tank 2overflow

Switch

WWTP (DESS)

System of WWTP and Stormwater tanks (DEVS)

Input/Output function

Inputfunction

Outputfunction

algae

fish

GE

RRA

X

CFA

+

CFF

EDRF +

GFX

X

MESM 2002, 29 September, Sharjah U.A.E [email protected] A Software Architecture for Multi-Paradigm Modelling 48/55

Page 49: A Software Architecture for Multi-paradigm Modellingmsdl.cs.mcgill.ca/people/hv/teaching/MSBDesign/COMP762B...Formalism-specic modelling and simulation tools can automatically be generated

Semantics of Coupled Models

1. Super-formalism subsumes all formalisms

2. Co-simulation (coupling resolved at trajectory level)

3. Transform to common formalism

MESM 2002, 29 September, Sharjah U.A.E [email protected] A Software Architecture for Multi-Paradigm Modelling 49/55

Page 50: A Software Architecture for Multi-paradigm Modellingmsdl.cs.mcgill.ca/people/hv/teaching/MSBDesign/COMP762B...Formalism-specic modelling and simulation tools can automatically be generated

Multi-formalism coupled model:co-simulation

Msub_1 Msub_2

CoupledModel

CouplingGraph

Msub_3

MESM 2002, 29 September, Sharjah U.A.E [email protected] A Software Architecture for Multi-Paradigm Modelling 50/55

Page 51: A Software Architecture for Multi-paradigm Modellingmsdl.cs.mcgill.ca/people/hv/teaching/MSBDesign/COMP762B...Formalism-specic modelling and simulation tools can automatically be generated

Co-simulation of multi-formalism coupled models� Sub-models simulated with formalism-specific simulators.

� Interaction due to coupling is resolved at trajectory level.

� Loss of information.

� Questions can only be answered at trajectory level.

� Speed and numerical accuracy problems

for continuous formalisms.

� Meaningful for discrete-event formalisms (but beware of legitimacy !).

Basis of the DoD High Level Architecture (HLA)

for simulator interoperability.

MESM 2002, 29 September, Sharjah U.A.E [email protected] A Software Architecture for Multi-Paradigm Modelling 51/55

Page 52: A Software Architecture for Multi-paradigm Modellingmsdl.cs.mcgill.ca/people/hv/teaching/MSBDesign/COMP762B...Formalism-specic modelling and simulation tools can automatically be generated

Multi-formalism coupled model:multi-formalism modelling

Msub_1 Msub_2

CoupledModel

CouplingGraph

Msub_3

MESM 2002, 29 September, Sharjah U.A.E [email protected] A Software Architecture for Multi-Paradigm Modelling 52/55

Page 53: A Software Architecture for Multi-paradigm Modellingmsdl.cs.mcgill.ca/people/hv/teaching/MSBDesign/COMP762B...Formalism-specic modelling and simulation tools can automatically be generated

Formalism Transformation Graph

DEVS

Process Interaction Discrete Event

state trajectory data (observation frame)

Petri NetsStatecharts

scheduling-hybrid-DAE

Bond Graph a-causal

Bond Graph causal

DAE non-causal set

DAE causal set

PDE

Transfer Function

Difference Equations

System Dynamics

KTG Cellular Automata

Event Scheduling Discrete Event

3 Phase Approach Discrete Event

DAE causal sequence (sorted)

DEVS&DESS

Activity Scanning Discrete Event

Timed Automata

Causal Block Diagram

MESM 2002, 29 September, Sharjah U.A.E [email protected] A Software Architecture for Multi-Paradigm Modelling 53/55

Page 54: A Software Architecture for Multi-paradigm Modellingmsdl.cs.mcgill.ca/people/hv/teaching/MSBDesign/COMP762B...Formalism-specic modelling and simulation tools can automatically be generated

Multi-formalism modelling � co-simulation

1. Start from a coupled multi-formalism model. Check consistency of this

model (e.g., whether causalites and types of connected ports match).

2. Cluster all formalisms described in the same formalism.

3. For each cluster, implement closure under coupling.

4. Look for the best common formalism in the Formalism Transformation

Graph all the remaining different formalisms can be transformed to.

Worst case: trajectory level (fallback to co-simulation).

5. Transform all the sub-models to the common formalism.

6. Implement closure under coupling of the common formalism.

MESM 2002, 29 September, Sharjah U.A.E [email protected] A Software Architecture for Multi-Paradigm Modelling 54/55

Page 55: A Software Architecture for Multi-paradigm Modellingmsdl.cs.mcgill.ca/people/hv/teaching/MSBDesign/COMP762B...Formalism-specic modelling and simulation tools can automatically be generated

The Future . . .� Formalism Transformation (FTG)

� Graph Grammars models for all Transformations

� Simulator Meta-specification (reference implementation)

� Model exchange (DTD from meta-model, XML from model)

� Variations (flavours) of formalisms (syntax and semantics)

� Automatic equivalence proofs (bi-simulation)

� Meta-modelling Environment (ATOM3)

MESM 2002, 29 September, Sharjah U.A.E [email protected] A Software Architecture for Multi-Paradigm Modelling 55/55