b. Machine/problem-oriented:
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 [3] and associated
assembly code inserts.
c. Claimed advantages:
The language is simple, efficient and portable.
d. Criticality:
This only rates Poor, if used without severe
restrictions.
e. Insecurities:
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.
f. Standards:
BS 5905:1980 Specification for Computer Programming
Language CORAL 66. (See also [2])
g. Supporting agency:
MOD. Like MASCOT2, the language is a product of DRA
Malvern.
h. Variants:
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 [2].)
j. Tools/environments:
A MALPAS translator exists for CORAL 66-see the Pascal
entry in Annex R for more details.
k. Programming-in-the-large:
Much like C, many large systems have been written in
CORAL 66 despite the language having relatively poor support for
modularisation.
l. Platforms:
Various platforms support CORAL 66 compilers,
particularly for UK defence industry hardware.
m. Reuse/libraries:
None known.
n. Interfacing:
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
new projects.
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).
t. References:
DELETE
standard
[1] BS 5905:1980 Specification for Computer Programming
Language CORAL 66, BSI, 1980.
DELETE
[2] Def. Stan. 05-47/2, Computer on-line real-time
applications language CORAL 66, Specification for compilers, MOD, 1983.
Dialects
See Vendors' manuals.
quality texts
[3] The Official Handbook of MASCOT, IECCA, 1987 (see
also Def Stan 00-17). | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |