| The Occam Language Occam is a parallel processing language designed by a team at INMOS 
        in conjunction with the design of the transputer processor, and based 
        on T. Hoare's ideas of CSP.   Occam incorporates support for very fine grained, easy to use threads 
        and seamless support of multi-processor environments. It can be used with 
        shared or distributed memory systems, and the strong basis in CSP makes 
        it excellent choice when formal proofs of correctness are required.   See the subsections for more information on using occam on your system: 
       This page contains the following sections describing the occam language 
        itself: The Occam Language Specification The occam language is available in versions: 1, 2, 2.1, and 3.  
        Occam version 1 
          This version of the language is now obsolete. Occam version 2 
           This language was implemented in TDS2 and supported a useful set 
            of types and high level software constructs. It is by far the most 
            commonly used version of the language.  A specification of this language, written by INMOS Ltd., is available 
            as a book published by Prentice-Hall. ISBN: 0136293123 Occam version 2.1 
          This version of the language was the last implemented the commercial 
            SGS-Thompson (ex INMOS) compiler. It included a small number of new 
            language constructs, such as record types.  Since SGS-Thompson ceased development of the language and compilers, 
            further enhancements have been made by groups at Kent University and 
            elsewhere. These developments are ongoing.  Specifications are available for: 
           
             
               The standard 2.1 language in the occam 2.1 Reference Manual 
                [PDF,  
                PostScript] written and kindly made available by SGS-Thomson 
                Microelectronics, Bristol. This book is in the same style as the 
                occam 2 reference manual published by Prentice-Hall. 171 pages. 
                There is also an update 
                document, that describes the changes between occam2 and occam 
                2.1. This is INMOS internal technical document SW-0429-8. It assumes 
                familiarity with occam2 and merely describes the additional features 
                that have been added to the language (user defined data types, 
                records, etc). 15 pages.  
               The extended 2.1 language, incorporating all of the official 
                2.1 features 
          Occam version 3 
           A detailed specification for occam 3 predates occam version 2.1, 
            but the language has never been implemented, and indeed it is unlikely 
            to be implemented in that form.  A specification of this language, the occam 3 reference manual 
            (March 31 1992 draft) [PDF, 
             PostScript], written 
            by Geoff Barrett and donated by SGS-Thomson Microelectronics, Bristol 
            formerly INMOS), is also available. This includes documentation of 
            the standard compiler libraries. 203 pages.  Many of the ideas from occam 3 have inspired occam-pi language
	    features, but there are still many good ideas in occam 3 left to
            exploit. The Occam Standard Libraries The occam language is supplemented by standard libraries, implementing 
        text I/O and advanced mathematics. Documentation for the occam2 libraries 
        is available in the form of 
        Unix man pages and text files. The libraries themselves are distrbuted 
        with the INMOS occam compiler, obtainable in the tds3 
        source and with the Linux source versions of KRoC. The Java implementation of Occam Some of the principles of occam have more recently been implemented 
        in Java libraries, so that it is possible to program in the CSP and occam 
        style while using the syntax and portability of Java. The libraries are 
        called JCSP, 
        CTJ and JavaPP. 
        See also the articles on the about occam and CSP at  
        SEL-HPC Article Archive.  |