MSDL 2005 Summer Presentations
## MSDL 2005 Summer Presentations

Friday 26 August 2005, McConnell 103

Have a look at the pictures of the presenters in action !

### 9:00 - 9:30 Hans Vangheluwe

Modelling, Simulation and Design Lab Roadmap

The Modelling, Simulation and Design Lab (MSDL)'s focus is on
modelling and simulation based design of complex systems.
The different facets of the MSDL research and how they inter-relate
will be presented. This will cover some "history" (previous work),
will show how current work fits into the "big picture" and will
outline future research directions.
## Theme: Theory and Foundations

### 9:30 - 10:00 Ernesto Posse

On Deterministic Moore Transducers: basics, equivalence and tools

Deterministic Moore Transducers (DMOOTs for short) are a very simple kind
of state-transition system. This talk will present some brief aspects of
the theory of DMOOTs as well as tools for modelling, simulation and analysis
of these systems. Particular attention is placed on the notion of
equivalence of systems, and its role in system analysis and optimization.
### 10:00 - 10:15 Jean-Sebastien Bolduc (presented by HV)

Extended time, Modelling of Experiments

### 10:15 - 10:30

slack, discussions, coffee
## Theme: Kernel

### 10:30 - 11:00 Marc Provost

Himesis: A bootstrapped meta-modelling kernel

This presentation introduces Himesis, the meta-modelling kernel for the
next generation of AToM3. At first, the goal of Himesis was to add
hierarchy to AToM3 and separate the graph engine from the graphical user
interface. We discovered that it was not enough to simply have a
hierarchical graph kernel. The original goal of my thesis was to use
Himesis to meta-model several types of graph grammars explicitly. The
problem with this approach is that it is dependent on the meta-modelling
kernel. AToM3's GUI is also dependent on the meta-modelling kernel.
EVERYTHING depends on it. Designing such a kernel is not an easy task as
it needs to solve all the problems we discovered with our experience with
AToM3. The current version of AToM3 is a powerful tool, many complex
formalisms can be meta-modelled both syntacticly and semantically. ER
meta-models with constraints are used to describe the syntax of models and
graph grammars are used to describe semantics. The main problem of AToM3
is that syntax and semantics are treated differently as there is no
meta-model of graph grammars, the engine being hardcoded in the tool.
Also, python code is used for actions and constraints at the meta-level.
With so many things hardcoded in the system, the meta-meta level cannot be
treated like other models. It is "special" and very hard to modify. In
Himesis, our main goal is to treat everything equally, as graphs. Indeed,
in Himesis, everything is a hierarchical, labelled and directed graph. We
start with this concept of graph, along with four primitive graphs, Int,
String, Bool and Float to define the concept of meta-model and bootstrap
the meta-modelling kernel. In order to have a closed system, we designed a
textual language, HiLang, to specify Himesis graphs. In this presentation,
we will introduce the main features of Hilang: Specification of graphs,
actions and constraints.
### 11:00 - 11:15 Philippe Nguyen (presented by HV)

Meta-modelling Constraints

### 11:15 - 11:45 He Wei

(meta-)model evolution

During the process of Model Driven Software Engineering (MDSE),
models, like the programs in the traditional software engineering,
are evolving all the time. It is important to provide a framework
to support the management of the model evolution process.
The foundation of this framework is a mechanism to compare
models. The framework should be a complete set of theories and solutions
that can adequately address the following issues:
- Defining the syntax and the semantics of the models effectively
- Representing and storing the models efficiently
- Supporting the model evolution tracing back
- Automatically modifying the models when the meta-model changes
- Automatically modifying the model interpreters when
the meta-model evolves

### 11:45 - 13:00

slack, discussions, lunch
## Theme: Formalisms: Theory and Tools

### (16:30 - 17:00) Bill Song

DEVS Visual Modeling and Simulation Environment

The DEVS formalism and its simulator have been studied by many
people in our lab. In this presentation, I will give a introduction
of how I enhanced and integrated Denis Dube's DevsV2, Ernesto Posse's
code generator, Jean-Sebastien Bolduc and Hans Vangheluwe's DEVS model
templates and simulator, and my DEVS trace plotter together to build a
DEVS Visual Modeling and Simulation Environment, which can create
visual representations of DEVS models, generate textual representations
of those models, and simulate the model with a visual trace plotter.
This introduction will cover the following topics: the architecture,
the DEVS meta-model, the modeling environment, the code generator,
the DEVS simulator and the simulation trace plotter.
### 13:00 - 13:30 Simon Sun

Extending Causal Block Diagram (CBD) Modeling in AToM3:
Hierarchical Modeling, Code Generation and Standalone Simulator

The extension for CBD modeling and simulation in AToM3 includes three
parts: hierarchical modeling, Python code generation from a graphical
CBD model, and a standalone simulator (in Python).
Hierarchical modeling makes CBD models reusable. Drawing a group of
cooperative blocks again and again is unnecessary now. These blocks
can be modeled separately as an independent model and be used as a
child block in another CBD model. Complicated models are easier to
model. Rather than drawing a huge messy model in one level, drawing
a hierarchical model which includes several levels of children models
is clearer and more efficient.
For each graphical CBD model, a file of code can be generated.
Instances of the models (classes) are used as Child blocks in
hierarchical models. The code has two functions. First, it contains
all topological information of its graphical model. It will be
possible to regenerate the graphical model from a class file. Second,
it can be used for import by the standalone simulator.
A standalone simulator is implemented which uses generated model
code (classes) to run simulation of any hierarchical model independently
of the AToM3 modelling environment.
Linear algebraic loop can be detected and solved by a linear equation
solver implementing Gauss-Jordan Elimination.
### 13:30 - 14:00 Sagar Sen

Domain-Specific Modelling and Simulation of Physical Systems in AToM3

I will talk about my summer work on creating formalisms and graph
grammars to demostrate possible new directions in physical systems
modelling. We have used meta-modelling in our tool, AToM3, to
describe visual languages for real world models, idealized physical
systems, acausal bond graphs, causal bond graphs, and causal block
diagrams. Graph grammars have been developed to show a transition
from formalism to formalism, therefore bringing physical systems
modelling into the framework of Computer Automated Multi-Paradigm
Modelling (CaMPaM). This whole system of modelling formalisms and
model transformations greatly speeds up the process of build
physically meaningful domain specific models in a less error prone
and constrained fashion.
### 14:00 - 14:30 Eystein Esbensen (presented by HV)

Forrester System Dynamics, emergent behaviour
micro and macro view of Brooks' Law, relation
### 14:30 - 15:00

slack, discussions, coffee
## Theme: User Interfaces (by and for Model Driven Design)

### 15:00 - 15:30 Shengjie Xia

GUI modelling with Hierarchical (Canvases + DCharts)

Using only primitive constructs (canvases containing only
basic entities such as text, rectangles, and splines), a new formalism
primarily based on a hierarchy of communicating DCharts
is used to model complex user interfaces (have a look at HV's
scribbles).
### 5:30 - 16:00 Denis Dube

Linear constraints layout in graph grammars,
new layout algorithms, and scoped DChart layout

An incremental linear constraint solver, QOCA, was integrated with
AToM3 to allow formalism developers to control the visual layout of
their models in a declarative fashion. This is especially important
when a model is being transformed by a graph grammar,
since a graph grammar does not have any implicit notion of where to
place things visually. With a large number of high level linear
constraints to choose from, it is now easy for the developer to
specify formalism-specific layout rules. A demonstration of the power
of this approach is given in a dynamic, but simplified, model of the
Pacman game.
It is clear however that no single layout approach is sufficient
for all formalisms, hence three more layout algorithms
were implemented: circle, tree-like, and Sugiyama style hiearchical
layout. The latter is a complex algorithm, but often provides
deep insight into models layed out with it, and works well with
a wide range of models and formalisms.
Finally, a new DCharts formalism is used to demonstrate the power of
scoped layout rules that are themselves represented as DCharts.
These rules can be somewhat complex and include the ability to:
switch between various layouts, chain multiple layout algorithms together,
and set actions that trigger a layout calculation.
### 16:00 - 16:30 Francois Plamondon

Triple Graph Grammars and Event-Driven Grammars

The talk will be an informal introduction to triple graph grammars
and their application to meta-modelling. In particular, the work of
Esther Guerra and Juan de Lara on the combination of event-driven
grammars and triple graph grammars will be discussed.
In event-driven grammars, user interface events are made explicit,
and actions in response to these events are modelled as graph
grammar rules. In the work presented, event-driven grammars are
combined with abstract triple rules and meta-modelling to express
the relationships between concrete and abstract syntax models.
The abstract syntax representation is constructed and its consistency
checked as the user builds the concrete syntax model.
The concepts will be illustrated with the definition of a modelling
environment for UML sequence diagrams.
### 16:30 - 17:00 Bill Song

DEVS Visual Modeling and Simulation Environment

### 17:00 - 17:30 Shahla Almasri (presented by HV)

Sketch-based user interfaces

Productivity of Domain Specific Modelling (DSM) can be drastically enhanced
by means of sketch-based user interfaces. Both in "drawing" and in
"command" mode, gestures can speed up interaction. The problem of
pattern recognition is much simplified in the context of DSM thanks to the
very limited number of different entities in a given domain. The reactive
behaviour of the user interface is modelled using DCharts.
Have a look at the Winter 2005
COMP 762
Modelling and Simulation Based Design
project presentation [pdf]
as well as this prototype sketch-based AToM^{3}.
### 17:30 - 18:00

slack, discussions, coffee
## Theme: Applications

### 18:00 - 18:30 Riandi Wiguna

I-Logix Rhapsody and PythonDEVS implementations of a Multi-Agent Flu
Simulation: Comparison & Analysis

I-Logix's Rhapsody is software for UML-modeling and simulation.
PythonDEVS is a Python implementation of the DEVS formalism written by
Jean-Sebastien Bolduc and Hans Vangheluwe. While Rhapsody is a visual
modeling tool and has controls for multiple threads, PythonDEVS is
simply a set of Python classes and has no threading capabilities. I
implemented a flu/infection simulation in both Rhapsody and PythonDEVS
that have moving, reactive agents in a grid world. The agents can be
either Healthy, Infected, Sick, or Immune. Infected and Sick agents can
infect Healthy agents. Once an agent is Infected, it progresses through
the Sick and Immune states before becoming Healthy again. I have
attempted to compare the Rhapsody and PythonDEVS formalisms'
capabilities, ease of use, and their output in this domain.
### 18:30 - 19:00 Miriam Zia

A Modelling and Simulation Based Approach to Dependable System Design

Complex real-time system design needs to address dependability
requirements, such as safety, reliability, and security.
We introduce a modelling and simulation based approach which allows
for the analysis and prediction of dependability constraints.
Dependability can be improved by making use of fault tolerance techniques.
The de-facto example in the real-time system literature of a pump control
system in a mining environment is used to demonstrate our model-based
approach. In particular, the system is modelled using the
Discrete EVent system Specification (DEVS) formalism, and then extended
to incorporate fault tolerance mechanisms. The modularity of the DEVS
formalism facilitates this extension. The simulation demonstrates
that the employed fault tolerance techniques are effective.
That is, the system performs satisfactorily despite the presence of
faults. This approach also makes it possible to make an informed choice
between different fault tolerance techniques. Performance metrics are
used to measure the reliability and safety of the system, and to evaluate
the dependability achieved by the design. In our model-based development
process, modelling, simulation and eventual deployment of the system
are seamlessly integrated.
### 19:00 - 19:30 Vamshi Raghu

'Middle-Out' Modeling as an approach to building a Music Modeling Tool

A set of extensions to the STK library (STKX) that wrap the library
with an Object-Message facility on the lines of pure object oriented
systems like SmallTalk/CLOS is presented. The idea is to emulate/embed
a symbolic language style in regular C++ code. This facilitates the
library to be used almost as if it were written in a dynamic language
with built-in support for messaging and sample-synchronous concurrent
processes. The idea is to raise the level of abstraction of the
platform specific model (PSM).
Music domain-specific issues as well as insights from this activity
for metamodeling in general will be discussed.