||Machine-oriented. CORAL is a small, simple language
that has a long history of use by MOD in real-time systems. For concurrent
and real-time features either a local real-time kernel system is used or
the language is used in connection with MASCOT2  and associated
assembly code inserts.
|c. Claimed advantages:
||The language is simple, efficient and portable.
||This only rates Poor, if used without severe
||Programs can overwrite themselves if anonymous
references are used. Semantics are weak and may be interpreted differently
in different compilers. There is no standard form of safe, separate
compilation-although, again, each vendor is likely to provide for this.
||BS 5905:1980 Specification for Computer Programming
Language CORAL 66. (See also )
|g. Supporting agency:
||MOD. Like MASCOT2, the language is a product of DRA
||Several UK vendors offer subsets that are claimed to be
suitable for safety-critical work (they are almost bound to be more
suitable than the full language). MALPAS is also available. Because CORAL
66 is such a small language it has been extended in several incompatible
ways by different vendors.
|i. Compiler validation:
||MOD have a test suite that is used to validate vendors'
compilers. (See also reference .)
||A MALPAS translator exists for CORAL 66-see the Pascal
entry in Annex R for more details.
||Much like C, many large systems have been written in
CORAL 66 despite the language having relatively poor support for
||Various platforms support CORAL 66 compilers,
particularly for UK defence industry hardware.
||Assembly-code inserts can be written and thus any
system with a published interface described in machine-oriented terms can
be interfaced to.
|o. Cross-language linking:
||See Interfacing .
|p. Portability issues:
||Portability is fine for the core language, but
difficult if many language extensions have been used.
|q. Skilled programmers:
||There are many programmers within MOD and UK defence
industry. However, the language is considered obsolete and rarely used on
|r. Typical prices:
||MOD have funded the development of several CORAL 66
compilers so prices should be minimal, but check with vendors.
|s. Summary comments:
||(i) Legacy systems, written in the language, should be
maintained, but it seems unlikely that "clean sheet" projects would use
it. (ii) MOD validated compilers should be used. (iii) A carefully
selected, and checked, subset may be suitable for safety-critical work
should a better language not be available (e.g. SPARK Ada).
|| BS 5905:1980 Specification for Computer Programming
Language CORAL 66, BSI, 1980.
|| Def. Stan. 05-47/2, Computer on-line real-time
applications language CORAL 66, Specification for compilers, MOD, 1983.
||See Vendors' manuals.
|| The Official Handbook of MASCOT, IECCA, 1987 (see
also Def Stan 00-17). |