In this paper I present a review of research issues raised by the application of process algebras to the design of object-orientated systems. In particular, I concentrate upon the difficulties associated with behavioural extension and the dynamic reconfiguration of systems with a view to reuse; a concept for which object-oriented design provides many useful methods, including inheritance and operator overriding. From this review it is clear that several issues are poorly addressed by current languages; these issues form the basis for my research. Basic languages such as CCS , CSP  and LOTOS  and higher-order languages (i.e: CHOCS) are reviewed. My research thus far suggests that elements required to make formal model that matches closely an object-orientated design are present, in part, in many of the reviewed formal languages but are not all present in one language. This paper attempts to answer the question: 'Which features of the available formal languages for concurrent systems capture the essential features of the available formal languages for concurrent systems specification?' An overall picture of process algebras and how they map to object-oriented design issues is presented, together with links between elements of the process algebra view of systems design. Issues such as asynchronous communication and its influence on a system's behavioural modification, or the reuse of processes using inherited branch behaviour are discussed. I show that synchronisation between processes hinders any attempt to modify the behaviour of a system containing those processes.
|Name||UH Computer Science Technical Report|
|Publisher||University of Hertfordshire|