Research Project:

Scenario-based Design of Concurrent Real-Time Systems

  • This project is a continuation of the project Software Requirements Engineering and Design based on Message Sequence Charts. We are currently in the process of setting up this web page - please bear with us in case you observe any insufficiency.

  • Research Partners:

  • Stefan Leue (Principal Investigator), Electrical & Computer Engineering, University of Waterloo, <>.
  • Bran Selic, ObjecTime Limited, <>.

  • Research Team at Waterloo:

  • Mohammad Rezai (Post Doc), <>
  • Mohammad Zulkernine

  • Funding:

  • Communications and Information Technology Ontario
  • ObjecTime Limited.

  • Duration:

    July 1998 - June 2000


    Research proposal (Excerpt)

    ``A picture is worth a thousand words'' - or, engineers like
    using charts and graphical notations when designing systems. This
    does not hold to a lesser extend for software engineers than it holds
    for, say, civil  engineers. The graphical appeal, however, can be
    problematic if the meaning of the charts is not well understood.
    For example, different people may interpret a chart in different
    ways. In this case one says that the description is ambiguous.

    There are some important differences between the charts that one finds
    in classical engineering and those important to software engineering.
    In particular in the design of reactive, telecommunications
    and real-time systems the system's evolution over time and the
    mechanisms by which the different processes coordinate their
    activities are of great importance.

    Message Sequence Charts (MSCs) have been suggested as a technique to
    visualize both temporal progress as well as message flows in
    distributed systems. MSCs form part of many object-oriented design
    methodologies for distributed real-time systems, and they have been
    standardized by the International Telecommunications Union in Geneva,
    Switzerland. It turns out that MSC-based descriptions of a system's
    behaviour are particularly prone to ambiguous interpretations.

    One of the notations that uses MSCs is the Real-Time Objec-Oriented
    Modeling Technique, developed by ObjecTime Limited of Kanata,
    Ontario. In collaboration with ObjecTime we have previously analyzed
    the MSC notation with respect to ambiguities, and we developed
    automated tool support for drawing, simulating and verifying MSCs (our
    prototype toolset is called ``Mesa''). Once an MSC-based system
    specification has been made unambiguous and verified, it can be used
    to automatically derive code in an executable modeling language like
    SDL, Promela or ROOM. In this project we will develop synthesis
    algorithms that automate the model synthesis. We will also look at
    extensions to the MSC notation as it has been defined so far in order
    to more easily embed it into an objec-oriented software engineering
    methodology like the Unified Modeling Language. The next objective is
    to model non-functional properties, sometimes also called
    Quality-of-Service properties, in MSC specifications. Finally, we will
    investigate what abstraction, refinement, inheritance and polymorphism
    may mean in an MSC specification context, and we'll look at MSCs in a
    requirements engineering and verification context. We will incorporate
    our results into the Mesa toolset.

    Research Results

  • Please see the page `Research on Message Sequence Charts and Message Flow Graphs'. Some of the results documented there have been achieved under the heading of this project.

  • In case you are interested in the Mesa toolset - we expect that it will become publicly available (for non-profit generating research purposes only) towards
    the end of this year / early 1999. If you are interested in a copy,

    Go to the home page of the E&CE department of the University of Waterloo, or to the home page of the Software Engineering Group (SWEN) of the E&CE department. 
    Last modified: July 17, 1998.
    Stefan Leue <>