Hongyan (Bill) Song
Modelling, Simulation and Design Lab
School of Computer Science, McGill University
McConnell Engineering bldg. room 202
3480 University Street
Montreal, Quebec, Canada H3A 2A7
+1 (514) 398 7071 ext. 0364
+1 (514) 398 3883

WIG Compiler

WIG is the acronym of Web Interface Generator. The main task of this project is to build a compiler for the WIG language, which can be embedded into HTML providing dynamic data communication between clients and web servers. The target language for the WIG compiler is C language with CGI(Common Gateway Interface) support. The project is implemented in Java, the lexer and parser are generated using SABLECC, and the development environment is Eclipse 2.13.

Report (html) Source Code (wig8.jar)

Meta-Modeling ORM in ATOM3

ORM(Object Role Modeling), which depicts the world as objects playing roles, is a effective methodology for conceptual modeling in information system. ER(Entity Relationship) model is the typical model formalism for Realtion Database system. In this project we demonstrated how to use AToM3, a tool for multi-paradigm modeling to meta-model ORM and do model transformation from ORM to ER model. The project is implemented in Python and AToM3.

Project Report (pdf)

Model and Simulate Content based Publish/Subscribe System using DEVS

Content based Publish/Subscribe is a brand new paradigm for distributed event notification. DEVS is a typical formalism used in modeling and simulation industry for discrete event modeling and simulation. MDA(Model Driven Architechture) is the initiative of OMG(Object Mangement Group) for new generation of software architechture. In this project, we demonstrated how to use DEVS to model and simulate the Content based Publish/Subscribe system using concepts of MDA. The technology used in this project include meta-modeling, model transformation, concept modeling, computation modeling and implementation modeling. The system is implemented using Python and AToM3.

Project Report (pdf)

IES - Intelligent Elevator System

With the development of modern technology in construction industry, buildings become higher and higher. Consequently, Control algorithms for the behavor of elevators become more and more complex. In this project, we use DEVS(Discrete EVent Specification) to model, simulate, and animate multi-elevator system in buildings of any level of height. The results has demonstrated that DEVS is a perfect formalism for modeling and simulating both structure and behavor of dynamic systems.

Proposal (html) Presentation (IESPresentation.tar) Report (html) Source Code (ies.tar)

Distributed Simulation and Animation of Billard Balls Collision

Distributed Modelling and Simulation has been widely used in complex system design and analysis. MPI (Message Passing Interface) and Cluster Machines has been broadly accepted as a cheaper and more effective way for distributed and grid computing.

In this project, we used the technologies in distributed computing to model and simualte the behaviour of billiard balls collision.The simulation system was implemented using C++, MPICH, XML and QT.

Project File (comp655.tar.gz), A Simple Report (pdf)

DEVS Visual Modeling and Simulation Environment

Because of its mathematical rigorousness and the capability for multi-formalism modeling, DEVS has been studied widely in academia for many years. There are many DEVS modeling and simulation systems available now, such as DEVS Java, CD++, Python DEVS, and so forth. In almost all of the existing systems, the models are hard coded and the trace of simulation is textual.

In this project, we built a visual modeling and simulation environment for DEVS, in which DEVS meta-model is defined, visual DEVS modeling capability is provided, automatic model verification and validation is implemented, textual model is generated automatically from the graphic model, and the simulation trace can be viewed graphically. All these features make DEVS modeling and simulation much easier and more exciting.

Project File (atom3.tar.gz), Presentation (pdf), Readme(pdf).

Maintained by Hongyan (Bill) Song. Last Modified: 2008/09/09 18:03:05.