- The papers and other publications about them, which provide more detail of the aspects described here.
- The different variants of the basic model that have evolved.

The Background to CSXMS Models ; The Aim of CSXMS Models ; The Structure of CSXMS Models ; The Links Between CSXMS and Data Flow Algebra ; Future Developments.

The distinguishing feature of an Eilenberg machine is that it has four components:

The linkage between these components then has two parts.a finite state automaton, which models the control of the computation within the machine;a memory, which describes the data structure on which the computation is performed by the machine;an i nput tapeand anoutput tape, which describe respectively the data accepted by the machine and the results that it produces; anda set of processing functions, which describe the primitive steps in which the computation is performed by the machine.

- Each processing function defines how the combination of the current memory values and the symbols available on the tapes is mapped into new memory values and symbols on the tapes.
- Each transition of the finite state automaton depends on the current values of the memory and the symbols available on the input tape, and is associated with one of the processing functions, which is applied when that transition occurs.

There a large number of different versions of this model, and there is not space here to review them. One of the most important versions is the stream X-machine, which imposes the following limitations on the behaviour of each transition function.

- The only symbol on the tapes on which this function may depend is the symbol at the head of the input tape.
- The function must change the input tape by removing this head symbol from it, but may not make any other change to it.
- The function must change the output tape by appending a symbol to the tail of it, but may not make any other change to it.

For more information about the X-machine models, see the pages dealing with them that have been created by Mike Holcombe and by Mike Stannett.

Hence, the aim of the CSXMS (Communicating Stream X-Machine Syatem) model is, as its name suggests, to extend this model to a system of concurrent communicating processes. In doing this, the assumption is that each individual process will be modelled in terms of a single Eilenberg machine (usually a stream X-machine, but for some purposes it is convenient to relax some of the stream restrictions), so that by adding a suitable model of the communication mechanism a complete system can be represented.

- The set of individual Eilenberg machines which model the individual processes.
- Some structure involving the individual input and output tapes, in order to represent the input to and output from the complete system.
- Some structure that models the mechanism by which the individual Eilenberg machines communicate with each other.

Since a CSXMS is defined essentially in terms of processes which communicate via data channels (ie the elements of the communications matrix), then it should be apparent that its static structure can be represented in terms of a data flow diagram. Hence, if one had a suitable description of the allowable sequences of communications between the different processes in the system, it should be possible to model this in terms of a data flow algebra (DFA) description. An important aspect of this which is currently being investigated is whether it can be used to guide the testing process, so as to avoid the effects of the combinatorial explosion of the state space.

More detailed proposals for some of these developments are set out in my projects page .investigating further the theoretical properties of CSXMS models; developing applications of the models to case studies of system designs; developing the linkages with DFA.

- Jump Back to a section of this page:
- Introduction (ie the top of the page);
- Contents ;
- The Background to CSXMS Models ;
- The Aim of CSXMS Models ;
- The Structure of CSXMS Models ;
- CSXMS and DFA ;
- Future Developments .
- Go to main CSXMS page;
- Go to other CSXMS pages:
- Go to my projects page ;
- Go to Personal Page.

This page created by A. J. Cowling, and last updated on 11 August 2004