Concrete examples (using CSP) of process algebra templates and their children
This paper describes the concepts of template, class, object and type between processes defined using the process algebra CSP. We are primarily concerned with the issue of reuse and behavioural compatibility, particularly the stability of systems that incorporate object-orientated inheritance via the incremental modification of existing behaviour. It is intended that this paper provides concrete process algebra examples for the main concepts of the object-orientated paradigm. The formal language of CSP is used to specify the object-orientated concepts defined in the ISO Reference Model for Open Distributed Processing (RM-ODP) 10746 (Part 2). In this paper CSP processes that are related via strict inheritance (i.e: incremental modification) are classified using their RM-ODP definitions. Conformance and extension testing are then used to prove the behavioural compatibility of simple examples which incorporate reuse. In order to build an object-oriented concurrent system, components must be classified in terms of template, class, object and type and shown to exhibit behavioural compatibility where inheritance is used.