SCSM - synchronous composition of sequential machines

The SCSM formalism allows to define event driven synchronous systems by means of expressions formed by sum, product and restriction operators applied to non-deterministic sequential machines. Deterministic expressions are obtained through global product restrictions, which correlate transitions of non-deterministic components with states of other components. SCSM is usefull as denotation domain for synchronous system description languages, especially for models concerning reactive systems. Introduction A reactive system is a system which interacts permanently with its environment. A typical environment consists of many physical objects, thus the structure of a reactive system is expected to be highly parallel in nature. The formal semantics of a general system description language for reactive systems should therefore be based on a model of concurrency like PetriNets, CCS or process algebras. However, highly parallel in nature does not necessairely mean highly disributed. In the real environment of a reactive system one will always find groups of objects which have to be controlled with respect to a common local time. The control of such a local group can usefully be specified by a subsystem consisting of a set of synchronously cooperating processes. The SCSM formalism adresses the formal description of such synchronous subsystems which in the following will be called clusters. A cluster generally represents a sequential subsystem of a distributed reactive system. The parallellism of a cluster's components is expressed through the respective orthogonality of the component's state spaces. An occurring event for a cluster's component leads through generated software events to transitions of other components. The occurring chain reaction is always considered as instantaneous, i.e. a temporal atomic state transition of the cluster. Instantaneous interaction mechanisms are in fact the basic ingredients of several well known synchronous system description languages: ESTEREL[1], LUSTRE[6], SIGNAL[11], STATECHARTS[13]. Many questions related to safety and reliability are much easier to treat in synchronous systems than in concurrent ones. However, the formal semantics of the cited synchronous languages is more complex and difficult to understand than expected from the evident intuitive meaning of particular system descriptions. The seemingly unneccessary complexity of the defined semantic functions is partly a consequence of the adopted traditional way of language development,