2nd Estonian Summer School in
Computer and Systems Science (ESSCaSS'03)

II Eesti Arvuti- ja Süsteemiteaduse Suvekool (EASTS'03)

Taagepera Castle, August 10-14, 2003.


Speaker:Walter Dosch University of Luebeck, Germany


Interactive systems are composed of software and hardware components of different kind. The components communicate asynchronously by exchanging information along connecting channels. Elementary components can be combined into composite components following different composition styles.

The specification, systematic design and correct implementation of interactive systems need sound foundations for describing the interface, the behavior and the structure of components.

In the stream-based approach, the behavior of a (non)deterministic component is characterized by a function (relation) between the communication histories for input and output. A communication history, for short a stream, records the finite or infinite succession of messages of specified type passing through the component's interface. The stream-based description abstracts the component's behavior from the internal structure, its state and the transitions. This results in a functional model of interactive systems supporting compositional design methods.

The lecture series presents a tutorial on the stream-based specification, design and implementation of asynchronously communicating components in distributed systems. On the specification level, we concentrate on functional requirements defining the input/output behavior. During validation we are interested in the component's safety and lifeness properties. Among the design issues, we present compositional techniques for the stepwise refinement of the component's behavior, interface and structure. On the implementation level, we discuss the introduction of data states and control states.

The stream-based approach is explicated presenting various processing, memory, control and synchronization components. The accompanying examples illustrate different description styles using recursive functions, logical assertions and graphical representations. We also relate the stream-based approach to pragmatic engineering techniques based on state transition tables and abstract state machines.

The lecture series addresses computer scientists interested in the foundations of software and systems engineering.

Lecture notes:

  • Lecture 1: pdf;
  • Lecture 2: pdf;
  • Lecture 3: pdf;
  • Lecture 4: pdf.

Valid CSS! Valid XHTML 1.0 Strict Last modified on May 22 2004 00:53:05. summerschool@cc.ioc.ee