Home » Research » Research outputs » Using CSP to Develop Quality Concurrent Software

Using CSP to Develop Quality Concurrent Software


  • Authors:
    Bruce Watson

    Publication date:

    Stellenbosch University

    Output type:
    Book chapter



    A method for developing concurrent software is advocated that centres
    on using CSP to specify the behaviour of the system. A small example problem
    is used to illustrate the method. The problem is to develop a simulation system
    that keeps track of and reports on the least unique bid of multiple streams of
    randomly generated incoming bids. The problem’s required high-level behaviour is
    specified in CSP, refined down to the level of interacting processes and then verified
    for refinement and behavioural correctness using the FDR refinement checker.
    Heuristics are used to map the CSP processes to a GO implementation. Interpretive
    reflections are offered of the lessons learned as a result of the exercise.

    Proof of peer-review from publisher: