Abstract :
The author describes MASCOT, (modular approach to software construction, operation and test) which was developed to formalise the production of large-scale, real-time embedded software systems. A major characteristic of such systems is that they require a large number of people working on them, and so, require that the work is split up into a large number of separate modules to enable the task to proceed in parallel. In these software systems, one typically finds modularity in three forms: the decomposition of the task into sub-tasks; the coding of the sub-tasks into separately compilable modules; and the parallel execution of co-operating processes. It is a central feature of the MASCOT philosophy that these three forms are treated in a consistent, unified way. It splits the total task into a set of sub-tasks, codes each sub-task as a (set of) separately compilable module(s) and then executes each as a process. Thus, the decomposition is visible at each stage of the construction process, even down to the running code