WoTUG - The place for concurrent processes

Kent Retargetable Occam Compiler (KRoC)

Note: KRoC development is being taken forward with the Occam-PI language at Kent University.

KRoC is a development of the Occam For All EPSRC project at the University of Kent at Canterbury and the University of Keele. It provides a portable occam compiler for Pentium, Sparc, Alpha, PowerPC and several other processors.

KROC works by translating code produced by the ex- SGS-Thomson(TM) occam Toolset compiler into the native machine code for the target architecture, and then linking in a small (< 2K bytes) run time kernel. The kernel provides the process scheduling and message-passing functionality that is required to run occam. Basic context-switch overheads for an arbitrary number of processes are around 600 nano-seconds on a Sparc-20, 230 nano-seconds on a 233 MHz Alpha and 50 nano-seconds on an 800 MHz PIII. Process creation and shutdown overheads are the same order of magnitude.

KROC supports the extended occam2.1 language released by SGS-Thomson for the transputer along with some enhancments by the OFA project team. It also gives access to underlying OS facilities and libraries through an interfacing tool, which translates C header files into occam and generates the necessary linking stub code (Sparc SunOS only). In addition, you can call native assembler for inner loops of computationally intensive applications. Finally, the separate compilation facilities (with full semantic checking) helps with the management of large projects.

If you download or use KRoC, please let us know what you think by filling out the response form in the release and mailing it back - thanks.

KRoC implements the following enhancements to the occam2.1 specification:

There have also been improvements to the compiler to:

See following sections for more about getting KRoC:

More documentation is provided in the releases.


Page last modified on 26th January 2005
Pages © WoTUG, or the indicated author. All Rights Reserved.
Comments on these web pages should be addressed to: www at wotug.org