Articulo de referencia

CORAL

{{cite web|url=https://assets1.dxc.technology/manufacturing/downloads/MD_6841a-18_Coral_Offer_Overview_v4.pdf |archive-url=https://web.archive.org/web/20210123102547/https://ass...

CORAL , acrónimo de Computer On-line Real-time Applications Language , es un lenguaje de programación desarrollado originalmente en 1964 en el Royal Radar Establishment (RRE), Malvern, Worcestershire , en el Reino Unido. [ 2 ] La R originalmente significaba "radar", no "tiempo real". [ 3 ] Estuvo influenciado principalmente por JOVIAL y, por lo tanto , por ALGOL , pero no es un subconjunto de ninguno de los dos.

La versión más conocida, CORAL 66 , fue desarrollada posteriormente por I. F. Currie y M. Griffiths bajo los auspicios del Comité Interinstitucional para Aplicaciones Informáticas (IECCA). Su definición oficial, editada por Woodward , Wetherall y Gorman, se publicó por primera vez en 1970. [ 4 ]

En 1971, el Ministerio de Defensa seleccionó CORAL como el lenguaje para futuras aplicaciones militares y, para respaldar esta decisión, se introdujo un programa de estandarización para garantizar que los compiladores de CORAL cumplieran con las especificaciones. Este proceso fue adoptado posteriormente por el Departamento de Defensa de los Estados Unidos al definir Ada .

Descripción general

Coral 66 es un lenguaje de programación de propósito general basado en ALGOL 60 , con algunas características de Coral 64, JOVIAL y Fortran . Incluye tipos de registro estructurados (como en Pascal) y admite el empaquetado de datos en memoria limitada (también como en Pascal). Al igual que Edinburgh IMP, permite el lenguaje ensamblador integrado y ofrece una buena verificación y diagnóstico en tiempo de ejecución . Está diseñado para computación en tiempo real y aplicaciones de sistemas embebidos , y para su uso en ordenadores con capacidad de procesamiento limitada, incluidos aquellos limitados a aritmética de punto fijo y aquellos sin soporte para asignación dinámica de memoria.

El lenguaje era un estándar interservicios para la programación militar británica, [ 5 ] y también fue ampliamente adoptado para fines civiles en la industria británica de control y automatización. Se utilizó para escribir software para las computadoras Ferranti [ 6 ] y General Electric Company (GEC) a partir de 1971. También existen implementaciones para las plataformas Interdata 8/32, PDP-11 , VAX y Alpha y los servidores HPE Integrity ; para Honeywell y para Computer Technology Limited (CTL, posteriormente ITL) Modular-1 ; [ 7 ] y para SPARC con Solaris e Intel con Linux .

La reina Isabel II envió el primer correo electrónico de un jefe de Estado del Royal Signals and Radar Establishment a través de ARPANET el 26 de marzo de 1976. El mensaje decía: «Este mensaje a todos los usuarios de ARPANET anuncia la disponibilidad en ARPANET del compilador Coral 66 proporcionado por la computadora GEC 4080 en el Royal Signals and Radar Establishment, Malvern, Inglaterra, ... Coral 66 es el lenguaje de alto nivel estándar en tiempo real adoptado por el Ministerio de Defensa ». [ 8 ] [ 9 ]

Dado que Coral estaba orientado a diversas tareas en tiempo real, en lugar de al procesamiento general de datos de oficina, no existía un equivalente estandarizado a una biblioteca stdio . IECCA recomendaba un paquete de entrada/salida (E/S) primitivo para acompañar a cualquier compilador (en un documento titulado « Entrada/Salida de datos de caracteres en los programas de utilidad de Coral 66 »). La mayoría de los desarrolladores evitaron esto creando interfaces de Coral para las bibliotecas existentes de Fortran y, posteriormente, de C.

La contribución más significativa de CORAL a la informática pudo haber sido la aplicación del control de calidad en los compiladores comerciales . [ 7 ] Para que un compilador CORAL fuera aprobado por la IECCA y, por lo tanto, pudiera comercializarse como compilador CORAL 66, el compilador candidato debía compilar y ejecutar un conjunto estándar de 25 programas de prueba y 6 programas de evaluación comparativa. Este proceso formaba parte del proceso de aprobación de la norma británica (BS) 5905. Esta metodología fue observada y adaptada posteriormente por el Departamento de Defensa de los Estados Unidos para la certificación de compiladores Ada .

Se ha recuperado el código fuente de un compilador Coral 66 (escrito en BCPL ) y se ha escaneado el documento de Definición Oficial de Coral 66 de la Oficina de Publicaciones de Su Majestad (HMSO); la oficina de patentes del Ministerio de Defensa ha emitido una licencia al proyecto de Historia de la Informática de Edimburgo para permitirles publicar tanto el código como la referencia del lenguaje en línea para uso no comercial.

Variantes

Una variante de Coral 66, denominada PO-CORAL, fue desarrollada entre finales de la década de 1970 y principios de la de 1980 por la Oficina General de Correos británica (GPO), junto con GEC , STC y Plessey , para su uso en los ordenadores de control de la central telefónica digital System X. Posteriormente, se renombró como BT-CORAL cuando British Telecom se separó de la Oficina de Correos. Las características únicas de este lenguaje eran su enfoque en la ejecución en tiempo real, el procesamiento de mensajes, las limitaciones en la ejecución de instrucciones entre esperas de entrada y la prohibición de la recursión para eliminar la necesidad de una pila .

Referencias

  1. "Obtenga ventaja con CORAL, CORAL+ y Context" (PDF) . DXC Technology . Septiembre de 2017. Archivado (PDF) del original el 23 de enero de 2021. Consultado el 29 de diciembre de 2021 .
  2. FM1600B Microcircuit Computer Ferranti Digital Systems (PDF) . Bracknell, Berkshire, Reino Unido: Ferranti Limited , Departamento de Sistemas Digitales. Octubre de 1968 [septiembre de 1968]. Lista DSD 68/6. Archivado (PDF) del original el 19 de mayo de 2020. Recuperado el 19 de mayo de 2020 .
  3. Gough, Jack (1993). Watching the skies: a history of ground radar for the air defence of the United Kingdom by the Royal Air Force from 1946 to 1975. HMSO. p. 264. ISBN  978-0-11-772723-6.
  4. Woodward, Philip M. (1970). Definición oficial de CORAL 66. Her Majesty's Stationery Office (HMSO). págs. vii+58. ISBN  0114702217 vía Internet Archive .
  5. "Coral 66 - Manual de referencia del lenguaje - Manual - Historia de la informática" . www.computinghistory.org.uk . Archivado del original el 31 de julio de 2023. Consultado el 31 de julio de 2023 .
  6. Gorman, B (junio de 1978). El compilador Coral 66 para la computadora Ferranti ARGUS 500 (Informe). Royal Signals and Radar Establishment. Nota técnica 799. Archivado del original el 17 de marzo de 2021. Recuperado el 17 de enero de 2018 .
  7. 1 2 "El lenguaje claro puede ayudar a las computadoras europeas" . New Scientist . 30 de noviembre de 1972. pág. 513. Consultado el 8 de abril de 2019 . 
  8. Metz, Cade (25 de diciembre de 2012). "Cómo la Reina de Inglaterra se adelantó a todos en Internet" . Wired . ISSN 1059-1028 . Consultado el 9 de enero de 2020 . 
  9. Izquierda, Sarah (13 de marzo de 2002). "Cronología de correos electrónicos" . The Guardian . ISSN 0261-3077 . Consultado el 9 de enero de 2020 . 
  • Programa de prueba CORAL 66 extraído del informe de Test Responder.
  • Referencias CORAL 66
  • Norma BS5905 CORAL 66
  • DEF STAN 05-47
  • Biblioteca de interfaz PDP-11 CORAL/ASM
  • Script del editor ECCE para traducir CORAL 66 a Edinburgh IMP