a software architecture for multi-paradigm...
TRANSCRIPT
![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](https://reader036.vdocuments.mx/reader036/viewer/2022070919/5fb8c7605319d5477a30f12d/html5/thumbnails/1.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022070919/5fb8c7605319d5477a30f12d/html5/thumbnails/2.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022070919/5fb8c7605319d5477a30f12d/html5/thumbnails/3.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022070919/5fb8c7605319d5477a30f12d/html5/thumbnails/4.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022070919/5fb8c7605319d5477a30f12d/html5/thumbnails/5.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022070919/5fb8c7605319d5477a30f12d/html5/thumbnails/6.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022070919/5fb8c7605319d5477a30f12d/html5/thumbnails/7.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022070919/5fb8c7605319d5477a30f12d/html5/thumbnails/8.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022070919/5fb8c7605319d5477a30f12d/html5/thumbnails/9.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022070919/5fb8c7605319d5477a30f12d/html5/thumbnails/10.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022070919/5fb8c7605319d5477a30f12d/html5/thumbnails/11.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022070919/5fb8c7605319d5477a30f12d/html5/thumbnails/12.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022070919/5fb8c7605319d5477a30f12d/html5/thumbnails/13.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022070919/5fb8c7605319d5477a30f12d/html5/thumbnails/14.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022070919/5fb8c7605319d5477a30f12d/html5/thumbnails/15.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022070919/5fb8c7605319d5477a30f12d/html5/thumbnails/16.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022070919/5fb8c7605319d5477a30f12d/html5/thumbnails/17.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022070919/5fb8c7605319d5477a30f12d/html5/thumbnails/18.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022070919/5fb8c7605319d5477a30f12d/html5/thumbnails/19.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022070919/5fb8c7605319d5477a30f12d/html5/thumbnails/20.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022070919/5fb8c7605319d5477a30f12d/html5/thumbnails/21.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022070919/5fb8c7605319d5477a30f12d/html5/thumbnails/22.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022070919/5fb8c7605319d5477a30f12d/html5/thumbnails/23.jpg)
� 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](https://reader036.vdocuments.mx/reader036/viewer/2022070919/5fb8c7605319d5477a30f12d/html5/thumbnails/24.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022070919/5fb8c7605319d5477a30f12d/html5/thumbnails/25.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022070919/5fb8c7605319d5477a30f12d/html5/thumbnails/26.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022070919/5fb8c7605319d5477a30f12d/html5/thumbnails/27.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022070919/5fb8c7605319d5477a30f12d/html5/thumbnails/28.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022070919/5fb8c7605319d5477a30f12d/html5/thumbnails/29.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022070919/5fb8c7605319d5477a30f12d/html5/thumbnails/30.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022070919/5fb8c7605319d5477a30f12d/html5/thumbnails/31.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022070919/5fb8c7605319d5477a30f12d/html5/thumbnails/32.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022070919/5fb8c7605319d5477a30f12d/html5/thumbnails/33.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022070919/5fb8c7605319d5477a30f12d/html5/thumbnails/34.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022070919/5fb8c7605319d5477a30f12d/html5/thumbnails/35.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022070919/5fb8c7605319d5477a30f12d/html5/thumbnails/36.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022070919/5fb8c7605319d5477a30f12d/html5/thumbnails/37.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022070919/5fb8c7605319d5477a30f12d/html5/thumbnails/38.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022070919/5fb8c7605319d5477a30f12d/html5/thumbnails/39.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022070919/5fb8c7605319d5477a30f12d/html5/thumbnails/40.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022070919/5fb8c7605319d5477a30f12d/html5/thumbnails/41.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022070919/5fb8c7605319d5477a30f12d/html5/thumbnails/42.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022070919/5fb8c7605319d5477a30f12d/html5/thumbnails/43.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022070919/5fb8c7605319d5477a30f12d/html5/thumbnails/44.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022070919/5fb8c7605319d5477a30f12d/html5/thumbnails/45.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022070919/5fb8c7605319d5477a30f12d/html5/thumbnails/46.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022070919/5fb8c7605319d5477a30f12d/html5/thumbnails/47.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022070919/5fb8c7605319d5477a30f12d/html5/thumbnails/48.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022070919/5fb8c7605319d5477a30f12d/html5/thumbnails/49.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022070919/5fb8c7605319d5477a30f12d/html5/thumbnails/50.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022070919/5fb8c7605319d5477a30f12d/html5/thumbnails/51.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022070919/5fb8c7605319d5477a30f12d/html5/thumbnails/52.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022070919/5fb8c7605319d5477a30f12d/html5/thumbnails/53.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022070919/5fb8c7605319d5477a30f12d/html5/thumbnails/54.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022070919/5fb8c7605319d5477a30f12d/html5/thumbnails/55.jpg)
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