\"\" \"\" \"\"
Go up to The CONCERT Architecture
Go forward to Application Programming Interface
RISC-Linz logo

The Mental Model

Our mental model of a distributed education session is inspired by the SPMD (single program, multiple data) model of parallel processing where a single program is executed on multiple processors, asynchronously in principle but synchronized at exactly specified points.

  • Concerts
  • Ensembles
  • Beat Sequences
  • Communication
  • Concerts

    The model is based on the following concepts whose relationship is explained below (see the following figure):

    A concert is an instance of an education session in action; it may be distributed among various hosts and involve multiple players.
    A host is a computer, possibly in a remote location, connected to the concert via a network. Each host accommodates one or multiple participating players.
    A player is a human that handles (interacts with) one or several instruments on the accommodating host.
    The score is the concert program according to which the players operate.
    Each instrument is an application component (slide viewer, audio player, etc) that executes independently as an asynchronous process.
    Players are organized in player ensembles which handle the same set of instruments and are generally treated alike. The set of instruments handled by an player ensemble is grouped into the various instrument ensembles.
    Beat Sequence
    Each instrument ensemble has an associated beat sequence (a stream of signals) by which it synchronizes with other instrument ensembles.
    A global database contains all the auxiliary objects required for the operation of the instruments (documents, files, programs, ...).

    Each player may participate in a concert by providing her credentials for a particular player ensemble, receiving the program score and executing the part of the score corresponding to the ensemble.

    In such a model of a distributed educated sessions, the part of the lecturer may be twofold:

    However the second role is not implied and not even especially emphasized by our model, because it is the score itself that actually coordinates the interaction of players where the lecturer is just one of them. In fact scores may be composed that do not designate any player with special roles such that also fully democratic "self-conducting" education sessions become possible.


    A concert consists of the execution of multiple instruments; for each member of a player ensemble, the same set of instruments is available: a monitor may be only available for a single participant (the lecturer), a slide presentation component may be available for all participants; an audio component may be available only for the lecturer (sender-side) and for the remote participants (receiver-side) because the local participants hear the lecturer anyway.

    An instrument ensemble may operate in two modes:

    Leader Mode
    One particular member of an instrument ensemble (the leader) controls the activities of all other members (the followers). As an example, the lecturer's activities on her instance of the slide presentation tool are replicated on the instances of the audience.

    Different instruments of an ensemble may be designated leader in the course of the time, e.g. control of a whiteboard component may be switched from the lecturer to a student and back.

    Independent Mode
    The activities of all members of an instrument ensemble proceed independently ("jam mode"). For instance, in a training session each participant may operate on his instance of an application program.

    The execution of concert score if for each player restricted to the part of her ensemble only. Each instrument runs as a parallel process whose start and termination is triggered by the score. Moreover, the score may switch the operation mode of a instrument from leader mode to independent mode and vice versa (possibly designating a new leader). Furthermore, the score may invoke special instrument operations such as hiding a window and showing it again.

    Beat Sequences

    Synchronization between different instrument ensembles is based on the concept of beat sequences (see the figure above). Each instrument ensemble has associated to it a sequence of (not necessarily uniquely) named beat signals. This sequence is generated by the respective leader of the ensemble (when in independent mode, no beats are generated). An instrument ensemble may wait for the next beat generated by another ensemble or it may wait for a specifically named beat from that ensemble (and skip all other beats).

    Synchronization between instrument ensembles takes place on an individual basis: each instrument retrieves an independent copy of the beat sequence of the ensemble it synchronizes with. This has the following consequences:

    Both features are important in realistic application contexts.


    Communication between instruments takes place in the following way:

    Database objects are addressed by qualified identifiers; by incorporating its particular identity as an identifier component, different instruments of an ensemble can retrieve/store different objects. Updates in the database must be synchronized using beat sequences as described above.

    Maintainer: Wolfgang Schreiner
    Last Modification: March 11, 1997

    \"\" \"\" \"\"