LuTH home LuTH search My home? White space head

Department of Computer Science and Electrical Engineering
   SMD158 Interactive Systems, 2005

[Course home page] [Course plan] [Project] [Documentation] [Class list and assignment status] [Group Registration] [Old news]


A common programming problem is to create a graphical editor for a specific type of diagram. Diagrams are often used as languages to document programs or as visual programming languages. For this class, your group will create an editor for a diagrammatic language know as Interaction Object Graphs or IOGs. IOGs closely related to the state diagrams contained in UML. These, in turn, are are directly derived from the Statechart language developed by Professor David Harel.

IOGs are described in 4 publications available from my home page. These are:

The last paper gives a short overview. The first two papers give more complete descriptions of IOGs and offer more examples. I wouldn't advise anyone to read the entire dissertation. There is also a 9.5-minute video about IOGs. (MPEG-4, ~70MB)

In order to pass the lab portion of the course your group must implement an editor with the basic features and write a report documenting the editor. A well-done editor with good documentation incorporating the basic features would receive a maximum of 40 points toward your grade. In order to get more, you must attempt some of the advanced features.

The basic features for your IOG editor are:

Advanced features include:

The project will be done in groups of three.

The project has three milestones:

Finally, some useful things to know are:


All groups must have three members unless granted special dispensation by the examiner. Once your group has been formed register it using the form found here. The groups are listed on the class list page.

Lab Report

The lab report will be due on Friday, 11 March 2005 at 1700. The report should include sections describing: system design including documentation for classes that you have developed, user interface operation, experience with development, and suggested improvements. The source code should be submitted electronically.

Remember the report is in English.

[Course home page] [Course plan] [Project] [Documentation] [Class list and assignment status] [Group Registration] [Old news]

Author David A. Carr (
Modified 05-01-14