The complexity inherent to concurrent systems can turn their development into a very complex and error-prone task. The use
of formal languages like CSP and tools that support them simplifies considerably the task of developing such systems. This process, however, usually aims
at reaching an executable program: a translation between the specification language and a practical programming language is
still needed and is usually rather problematic. In this paper we present a translation framework and a tool, csp2hc, that implements it. This framework provides an automatic translation from a subset of CSP to Handel-C, a programming language that is similar to standard C, but whose programs can be converted to produce files to program an
FPGA.
Keywords concurrency - refinement - program development - tool support -
Handel-C
- FPGA -
CSP
- automatic compilation