M. Bubak et al. (Eds.): HPCN 2000, LNCS 1823, pp. 177-186, 2000.
© Springer-Verlag Berlin Heidelberg 2000
Modelling Control Systems in an Event-Driven
Coordination Language
Theophilos A. Limniotes and George A. Papadopoulos
Department of Computer Science, University of Cyprus
75 Kallipoleos Str., P.O.Box 20537
CY-1678 Nicosia, Cyprus
{theo,george}@cs.ucy.ac.cy
Abstract. The paper presents the implementation of a railway control system,
as a means of assessing the potential of coordination languages to be used for
modelling software architectures for complex control systems using a
components-based approach. Moreover, with this case study we assess and
understand the issues of real time, fault tolerance, scalability, extensibility,
distributed execution and adaptive behaviour, while modelling software
architectures. We concentrate our study on the so-called control- or event-
driven coordination languages, and more to the point we use the language
Manifold. In the process, we develop a methodology for modelling software
architectures within the framework of control-oriented coordination languages.
Keywords. Concepts and languages for high-level parallel programming;
Distributed component-based systems; Software Engineering principles; High-
level programming environments for Distributed Systems.
1 Introduction
A number of programming models and associated software development
environments for parallel and distributed systems have been proposed, ranging from
ones providing elementary parallel constructs (such as PVM and MPI) to ones
offering higher level logical abstractions such as skeletons, virtual shared memory
metaphors (such as Linda), coordination models ([4]), software architectures ([5]),
etc. It would be interested to examine the potential of those models in modelling real-
life non-trivial applications and in the process develop a software engineering
methodology for their use.
In this paper we present some of the main components of implementing a railway
control system using the coordination language Manifold ([1]). It is a typical real
world problem which, apart from its operational aspects, it necessitates the addressing
of several other requirements that relate to real-time, fault tolerance and adaptive
behaviour. In the process, we present a methodology for developing such real-life
applications using the control-driven coordination metaphor.
The rest of the paper is organised as follows: the next section describes briefly the
case study while the following one is a brief introduction to the coordination language