Engineering safe, real-time distributed control systems

Reactive computer control systems need to track the behaviour of their inherently parallel physical environment. Hence, most non-trivial industrial applications may depend on concurrent modelling techniques to handle system complexities including hard real-time constraints. Failure of such systems can lead to unacceptable consequences and can therefore be deemed as safety-related with respect to their application. Parallel and distributed systems can exhibit undesirable behaviours, e.g. deadlock, which could render a control system unsafe. The paper proposes that a set of undesirable parallel behaviours can be classified as unsafe for all applications and reviews a technique that can be employed to avoid or mitigate against them, The approach needed by software engineers of parallel and distributed systems to facilitate this and meet the minimal safety standards is also given.