Communicating Process Architecture (CPA) describes an approach to system development that is process-oriented. It makes no great distinction between hardware and software. It has a major root in the theory of Communicating Sequential Processes (CSP). However, the underlying theory is not limited to CSP. The importance of mobility of both channel and process within a network sees integration with ideas from the eth-calculus. Other formalisms are also exploited, such as BSP and MPI. The focus is on sound methods for the engineering of significant concurrent systems, including those that are distributed (across the Internet or within a single chip) and/or software-scheduled on a single execution unit. Traditionally, at CPA, the emphasis has been on theory and practice - developing and applying tools based upon CSP and related theories to build high-integrity systems of significant size. In particular, interest focuses on achieving scalability and security against error. The development of Java, C, and C++, libraries to facilitate secure concurrent programming using 'mainstream' languages has allowed CPA to continue and proliferate.
This work continues in support of the engineering of distributed applications. Recently, there has been greater reference to theory and its more direct application to programming systems and languages. In this volume the formal CSP is very well presented. The papers provide a healthy mixture of the academic and commercial, software and hardware, application and infrastructure, which reflects the nature of the discipline.show more