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.
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,