A Software Architecture for Multi-paradigm Modelling Hans - - PowerPoint PPT Presentation

a software architecture for multi paradigm modelling
SMART_READER_LITE
LIVE PREVIEW

A Software Architecture for Multi-paradigm Modelling Hans - - PowerPoint PPT Presentation

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,


slide-1
SLIDE 1

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´

  • ma de Madrid, Madrid, Spain

Ghislain Vansteenkiste

BIOMATH department, Ghent University, Ghent, Belgium

MESM 2002, 29 September, Sharjah U.A.E hv@cs.mcgill.ca A Software Architecture for Multi-Paradigm Modelling 1/55

slide-2
SLIDE 2

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 hv@cs.mcgill.ca A Software Architecture for Multi-Paradigm Modelling 2/55

slide-3
SLIDE 3

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) Mixing Aeration Sedimentation Influent Stormwater tank 1 Stormwater tank 2

  • verflow

Switch

WWTP (DESS) System of WWTP and Stormwater tanks (DEVS)

Input/Output function Input function Output function

algae fish

GE RRA X

CFA

+

CFF

EDRF

+

GF

X X

MESM 2002, 29 September, Sharjah U.A.E hv@cs.mcgill.ca A Software Architecture for Multi-Paradigm Modelling 3/55

slide-4
SLIDE 4

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 hv@cs.mcgill.ca A Software Architecture for Multi-Paradigm Modelling 4/55

slide-5
SLIDE 5

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 hv@cs.mcgill.ca A Software Architecture for Multi-Paradigm Modelling 5/55

slide-6
SLIDE 6

Multi-paradigm dimensions

Abstraction Level Meta Level Formalism

MESM 2002, 29 September, Sharjah U.A.E hv@cs.mcgill.ca A Software Architecture for Multi-Paradigm Modelling 6/55

slide-7
SLIDE 7

System under study: T

l controlled liquid

is_full is_empty heat

  • ff

cool is_cold is_hot

fill empty closed

MESM 2002, 29 September, Sharjah U.A.E hv@cs.mcgill.ca A Software Architecture for Multi-Paradigm Modelling 7/55

slide-8
SLIDE 8

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 ρ

Temperature of influent Tin State variables:

Temperature T

Level of liquid l Outputs (sensors):

is low

is high

is cold

is hot

✞ ✟ ✟ ✟ ✟ ✟ ✟ ✟ ✟ ✟ ✟ ✟ ✠ ✟ ✟ ✟ ✟ ✟ ✟ ✟ ✟ ✟ ✟ ✟ ✡

dT dt

1 l

W cρA

φ

T

Tin

✍ ✎

dl dt

φ is low

☛ ✌

l

llow

is high

☛ ✌

l

lhigh

is cold

☛ ✌

T

Tcold

is hot

☛ ✌

T

Thot

MESM 2002, 29 September, Sharjah U.A.E hv@cs.mcgill.ca A Software Architecture for Multi-Paradigm Modelling 8/55

slide-9
SLIDE 9

High-level (discrete) view, FSA formalism

level temperature cold T_in_between hot full l_in_between empty (cold,empty) empty fill empty fill 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 hv@cs.mcgill.ca A Software Architecture for Multi-Paradigm Modelling 9/55

slide-10
SLIDE 10

Levels of abstraction/views: trajectories

level temperature cold T_in_between hot

  • n
  • ff
  • ff
  • ff
  • f
  • n

is_cold sensor is_hot sensor full l_in_between empty

  • n off
  • ff off
  • ff on

is_full sensor is_empty sensor

Continuous State Trajectory Discrete State Trajectory

fill fill heat heat

MESM 2002, 29 September, Sharjah U.A.E hv@cs.mcgill.ca A Software Architecture for Multi-Paradigm Modelling 10/55

slide-11
SLIDE 11

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 hv@cs.mcgill.ca A Software Architecture for Multi-Paradigm Modelling 11/55

slide-12
SLIDE 12

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 hv@cs.mcgill.ca A Software Architecture for Multi-Paradigm Modelling 12/55

slide-13
SLIDE 13

Levels of abstraction/views: morphism

detailed (technical) level abstract (decision) level abstraction simulation M_d M_t trajectory model traj_t traj_d

MESM 2002, 29 September, Sharjah U.A.E hv@cs.mcgill.ca A Software Architecture for Multi-Paradigm Modelling 13/55

slide-14
SLIDE 14

Multi-paradigm dimensions: formalisms

Abstraction Level Meta Level Formalism

MESM 2002, 29 September, Sharjah U.A.E hv@cs.mcgill.ca A Software Architecture for Multi-Paradigm Modelling 14/55

slide-15
SLIDE 15

Forrester System Dynamics model of Predator-Prey

Predator Prey Grazing_efficiency uptake_predator loss_prey predator_surplus_DR prey_surplus_BR

2−species predator−prey system MESM 2002, 29 September, Sharjah U.A.E hv@cs.mcgill.ca A Software Architecture for Multi-Paradigm Modelling 15/55

slide-16
SLIDE 16

Causal Block Diagram model of Harmonic Oscillator

x0 0.0 y0 1.0

IC

x

IC

y −

I OUT

K 1.0 0.0 PLOT

MESM 2002, 29 September, Sharjah U.A.E hv@cs.mcgill.ca A Software Architecture for Multi-Paradigm Modelling 16/55

slide-17
SLIDE 17

Petri Net model of Producer Consumer

P.Calculating 1 Wait4Cons Buffer Buffer−p 1 Wait4Prod 1 C.Calculating Produce Put in Buffer Rem.from buffer Consume

MESM 2002, 29 September, Sharjah U.A.E hv@cs.mcgill.ca A Software Architecture for Multi-Paradigm Modelling 17/55

slide-18
SLIDE 18

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 hv@cs.mcgill.ca A Software Architecture for Multi-Paradigm Modelling 18/55

slide-19
SLIDE 19

GPSS model of Telephone Exchange

FN1 12 2 V2 V1 PH 1 LR PH1 V1 H 2 P2 NE P1 S PH1 LNKS R PH1 1 LR PH2 R PH1 LNKS 1 S PH2 FN1 120 Function: 1 LNKS 10

MESM 2002, 29 September, Sharjah U.A.E hv@cs.mcgill.ca A Software Architecture for Multi-Paradigm Modelling 19/55

slide-20
SLIDE 20

Event Scheduling DAE model of a Train

Train_at_rest AcceleratingODE

x v v k * ( v − v_init + 5 )

FrictionODE

x v v − k * ( v − 20 )

BrakingODE

x v v − k * ( v + 3 )

START EVENT

x = x_0 v = v_0 passengers = 0

Initialize_Model

passengers = passengers

Passenger_arrive

print "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 +−

testmin

monitoring fct.: stopping_x − x +−

test_arrival

monitoring fct.: v +−

Test_zerospeed IF 1 AFTER IF passengers < 10 AFTER random.uniform ( 1 , 10 ) IF 1 AFTER 5 IF passengers >= 10 AFTER IF 1 AFTER IF passengers > 0 AFTER 5

MESM 2002, 29 September, Sharjah U.A.E hv@cs.mcgill.ca A Software Architecture for Multi-Paradigm Modelling 20/55

slide-21
SLIDE 21

Multi-paradigm dimensions: meta

Abstraction Level Meta Level Formalism

MESM 2002, 29 September, Sharjah U.A.E hv@cs.mcgill.ca A Software Architecture for Multi-Paradigm Modelling 21/55

slide-22
SLIDE 22

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 hv@cs.mcgill.ca A Software Architecture for Multi-Paradigm Modelling 22/55

slide-23
SLIDE 23
  • 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 hv@cs.mcgill.ca A Software Architecture for Multi-Paradigm Modelling 23/55

slide-24
SLIDE 24

FSA model of Even Binary Number recognizer

Init End_1 End_0 1 1 1

MESM 2002, 29 September, Sharjah U.A.E hv@cs.mcgill.ca A Software Architecture for Multi-Paradigm Modelling 24/55

slide-25
SLIDE 25

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

Name type=String init.val isInitial type=Boolean in isFinal type=Boolean init FSAState current FSATransition points_to

MESM 2002, 29 September, Sharjah U.A.E hv@cs.mcgill.ca A Software Architecture for Multi-Paradigm Modelling 25/55

slide-26
SLIDE 26

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 hv@cs.mcgill.ca A Software Architecture for Multi-Paradigm Modelling 26/55

slide-27
SLIDE 27

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

name type=String init.val attributes type=List init ERentity ERrelationship

MESM 2002, 29 September, Sharjah U.A.E hv@cs.mcgill.ca A Software Architecture for Multi-Paradigm Modelling 27/55

slide-28
SLIDE 28

Meta-meta-. . .

meta-meta model meta-model processor meta-model user input a model of a class of models (the formalism MF) semantics within formalism MMF describes: structure and constraints a model in formalism MF

  • create
  • delete
  • verify (local, global)

meta-model processor model user input a model of a class of models (the formalism F) semantics within formalism MF describes: 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 hv@cs.mcgill.ca A Software Architecture for Multi-Paradigm Modelling 28/55

slide-29
SLIDE 29

Causal Block Diagram Semantics ?

x0 0.0 y0 1.0

IC

x

IC

y −

I OUT

K 1.0 0.0 PLOT

MESM 2002, 29 September, Sharjah U.A.E hv@cs.mcgill.ca A Software Architecture for Multi-Paradigm Modelling 29/55

slide-30
SLIDE 30

Causal Block Diagram Denotational Semantics

✞ ✟ ✟ ✠ ✟ ✟ ✡

dx dt

y x

✌ ✍ ☛

dy dt

☛ ✁

Kx y

✌ ✍ ☛

1 K

1

MESM 2002, 29 September, Sharjah U.A.E hv@cs.mcgill.ca A Software Architecture for Multi-Paradigm Modelling 30/55

slide-31
SLIDE 31

FSA model Operational Semantics ?

Init End_1 End_0 1 1 1

MESM 2002, 29 September, Sharjah U.A.E hv@cs.mcgill.ca A Software Architecture for Multi-Paradigm Modelling 31/55

slide-32
SLIDE 32

Simulation steps

MESM 2002, 29 September, Sharjah U.A.E hv@cs.mcgill.ca A Software Architecture for Multi-Paradigm Modelling 32/55

slide-33
SLIDE 33

Init End_1 End_0 1 1 1 Current State Init End_1 End_0 1 1 1 Current State Init End_1 End_0 1 1 1 Current State Init End_1 End_0 1 1 1 Current State

Rule 1 Rule 2 Rule 2 Rule 2 Final Action

"Accept Input"

input 0 input 1 input 0 end of input

MESM 2002, 29 September, Sharjah U.A.E hv@cs.mcgill.ca A Software Architecture for Multi-Paradigm Modelling 33/55

slide-34
SLIDE 34

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 4 3 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 hv@cs.mcgill.ca A Software Architecture for Multi-Paradigm Modelling 34/55

slide-35
SLIDE 35

Model Transformation meta-specification

meta-model a model in formalism ER meta-model processor model user input 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-model processor model user input a model of a class of models (the formalism F) semantics within formalism MF describes: structure and constraints a model in formalism FSA

  • create
  • delete
  • verify (local, global)

MF F (ER) (FSA) (multi-formalism) model transformer = meta-model processor transformation meta-model MF (GGR)

MESM 2002, 29 September, Sharjah U.A.E hv@cs.mcgill.ca A Software Architecture for Multi-Paradigm Modelling 35/55

slide-36
SLIDE 36

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

  • ff
  • ff
  • ff
  • ff
  • ff

MESM 2002, 29 September, Sharjah U.A.E hv@cs.mcgill.ca A Software Architecture for Multi-Paradigm Modelling 36/55

slide-37
SLIDE 37

Generated Application

MESM 2002, 29 September, Sharjah U.A.E hv@cs.mcgill.ca A Software Architecture for Multi-Paradigm Modelling 37/55

slide-38
SLIDE 38

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 hv@cs.mcgill.ca A Software Architecture for Multi-Paradigm Modelling 38/55

slide-39
SLIDE 39

FSD Denotational Semantics ?

Predator Prey Grazing_efficiency uptake_predator loss_prey predator_surplus_DR prey_surplus_BR

2−species predator−prey system MESM 2002, 29 September, Sharjah U.A.E hv@cs.mcgill.ca A Software Architecture for Multi-Paradigm Modelling 39/55

slide-40
SLIDE 40

FSD denotational semantics in terms of DAE

  • Semantics of “level” block:

d level dt

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 hv@cs.mcgill.ca A Software Architecture for Multi-Paradigm Modelling 40/55

slide-41
SLIDE 41

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 hv@cs.mcgill.ca A Software Architecture for Multi-Paradigm Modelling 41/55

slide-42
SLIDE 42

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 hv@cs.mcgill.ca A Software Architecture for Multi-Paradigm Modelling 42/55

slide-43
SLIDE 43

Compositional Modelling: Coupled Model (network)

Msub_1 Msub_2 CoupledModel CouplingGraph Msub_3

MESM 2002, 29 September, Sharjah U.A.E hv@cs.mcgill.ca A Software Architecture for Multi-Paradigm Modelling 43/55

slide-44
SLIDE 44

Closure under Coupling/Composition: Block Diagram

A B x y A B x y non-causal causal

Non-Causal:

A

y

B

x

Causal:

B

x :

A

y

MESM 2002, 29 September, Sharjah U.A.E hv@cs.mcgill.ca A Software Architecture for Multi-Paradigm Modelling 44/55

slide-45
SLIDE 45

Closure under Coupling/Composition: non-causal Bond Graph

A B p p

A

p

ef fort

B

p

ef fort A

p

flow

B

p

flow

MESM 2002, 29 September, Sharjah U.A.E hv@cs.mcgill.ca A Software Architecture for Multi-Paradigm Modelling 45/55

slide-46
SLIDE 46

Closure under Coupling/Composition: Discrete Event

A1 A2 B y y x DEP DEP ARR

  • schedule ARRivals
  • resolve collisions

MESM 2002, 29 September, Sharjah U.A.E hv@cs.mcgill.ca A Software Architecture for Multi-Paradigm Modelling 46/55

slide-47
SLIDE 47

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 hv@cs.mcgill.ca A Software Architecture for Multi-Paradigm Modelling 47/55

slide-48
SLIDE 48

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) Mixing Aeration Sedimentation Influent Stormwater tank 1 Stormwater tank 2

  • verflow

Switch

WWTP (DESS) System of WWTP and Stormwater tanks (DEVS)

Input/Output function Input function Output function

algae fish

GE RRA X

CFA

+

CFF

EDRF

+

GF

X X

MESM 2002, 29 September, Sharjah U.A.E hv@cs.mcgill.ca A Software Architecture for Multi-Paradigm Modelling 48/55

slide-49
SLIDE 49

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 hv@cs.mcgill.ca A Software Architecture for Multi-Paradigm Modelling 49/55

slide-50
SLIDE 50

Multi-formalism coupled model: co-simulation

Msub_1 Msub_2 CoupledModel CouplingGraph Msub_3

MESM 2002, 29 September, Sharjah U.A.E hv@cs.mcgill.ca A Software Architecture for Multi-Paradigm Modelling 50/55

slide-51
SLIDE 51

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 hv@cs.mcgill.ca A Software Architecture for Multi-Paradigm Modelling 51/55

slide-52
SLIDE 52

Multi-formalism coupled model: multi-formalism modelling

Msub_1 Msub_2 CoupledModel CouplingGraph Msub_3

MESM 2002, 29 September, Sharjah U.A.E hv@cs.mcgill.ca A Software Architecture for Multi-Paradigm Modelling 52/55

slide-53
SLIDE 53

Formalism Transformation Graph

DEVS

Process Interaction Discrete Event state trajectory data (observation frame) Petri Nets Statecharts 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 hv@cs.mcgill.ca A Software Architecture for Multi-Paradigm Modelling 53/55

slide-54
SLIDE 54

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 hv@cs.mcgill.ca A Software Architecture for Multi-Paradigm Modelling 54/55

slide-55
SLIDE 55

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 hv@cs.mcgill.ca A Software Architecture for Multi-Paradigm Modelling 55/55