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:
  1. Defining the syntax and the semantics of the models effectively
  2. Representing and storing the models efficiently
  3. Supporting the model evolution tracing back
  4. Automatically modifying the models when the meta-model changes
  5. 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 AToM3.

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.