stringtranslate.com

JOVIAL

JOVIAL es un lenguaje de programación de alto nivel basado en ALGOL 58 , especializado en el desarrollo de sistemas integrados (sistemas informáticos especializados diseñados para realizar una o varias funciones dedicadas, normalmente integrados como parte de un dispositivo más grande y completo, que incluye piezas mecánicas). Fue un importante lenguaje de programación de sistemas durante las décadas de 1960 y 1970. [2]

Historia

Manual de programación informática para el lenguaje jovial (J73)

JOVIAL fue desarrollado como un nuevo lenguaje de programación de "alto nivel" [3] : 1  a partir de 1959 por un equipo de System Development Corporation (SDC) encabezado por Jules Schwartz para componer software para la electrónica de aviones militares. [4]

El nombre JOVIAL es un acrónimo de la propia versión de Jules [5] del lenguaje algebraico internacional ; Lenguaje Algorítmico Internacional (IAL) fue un nombre propuesto originalmente para ALGOL 58 . [6] Según Schwartz, el lenguaje originalmente se llamó OVIAL , pero se opuso a esto por varias razones. Luego se sugirió JOVIAL , sin que se le atribuye ningún significado a la J . En tono de broma, se sugirió que el idioma llevara el nombre de Schwartz, ya que él era el presidente de la reunión , y este nombre no oficial se mantuvo. [7]

Durante la década de 1960, JOVIAL fue parte de la serie de proyectos L militares de EE. UU ., en particular el Sistema de control de comando aéreo estratégico ITT 465L (el proyecto Sistema de control y comando estratégico automatizado (SACCS)), debido a la falta de programación informática en tiempo real. Idiomas disponibles. Alrededor del 95 por ciento del proyecto SACCS, gestionado por International Telephone & Telegraph (ITT) con software escrito principalmente por COSUDE, fue escrito en JOVIAL. El proyecto de software tomó dos años y menos de 1.400 años de programador, menos de la mitad del tiempo equivalente en el proyecto SAGE L. [8]

Botón de fijación que muestra JOVIAL como uno de los lenguajes para los que Advanced Computer Techniques creó compiladores cruzados

A finales de la década de 1970 y principios de la de 1980, la Fuerza Aérea de los Estados Unidos adoptó una unidad central de procesamiento (CPU) estandarizada, la MIL-STD-1750A , y se construyeron programas JOVIAL posteriores para ese procesador. Varios proveedores comerciales proporcionaron compiladores y herramientas de programación relacionadas para construir JOVIAL para procesadores como el MIL-STD-1750A, incluidas técnicas informáticas avanzadas (ACT), sistemas TLD , sistemas de software patentados (PSS) y otros. [9] [10]

JOVIAL fue estandarizado durante 1973 con MIL-STD-1589 y fue revisado durante 1984 con MIL-STD-1589C . Todavía se utiliza para actualizar y mantener software en vehículos y aviones militares más antiguos. Hay tres dialectos de uso común: J3, J3B-2 y J73.

A partir de 2010 , JOVIAL ya no es mantenido ni distribuido por la Oficina del Programa JOVIAL (JPO) de la USAF. El software anteriormente distribuido por la JPO todavía está disponible a través de recursos comerciales en Software Engineering Associates, Inc., (SEA), al igual que otras combinaciones de procesadores host/destino, incluidos Windows , Linux , Mac OS X en PowerPC , SPARC , VAX , 1750A , PowerPC. , TI-9989 , Zilog Z800x , Motorola 680x0 e IBM System 360 , System 370 y System z . Además, DDC-I , que adquirió partes de Advanced Computer Techniques, también enumera los compiladores JOVIAL y herramientas relacionadas a partir de abril de 2020 . [2]

La mayor parte del software implementado en JOVIAL es de misión crítica y el mantenimiento es cada vez más difícil. En diciembre de 2014, se informó que el software derivado del código JOVIAL producido en la década de 1960 estuvo involucrado en una falla importante de la infraestructura de control de tráfico aéreo del Reino Unido , y que la agencia que lo utiliza, NATS Holdings , estaba teniendo que capacitar a sus Personal informático de JOVIAL para poder dar mantenimiento a este software, cuya sustitución no estaba prevista hasta 2016. [11]

Influencia

Los lenguajes influenciados por JOVIAL incluyen CORAL , SYMPL , Space Programming Language (SPL) y, hasta cierto punto, CMS-2 . [12] En la década de 1960 se desarrolló un subconjunto interactivo de JOVIAL llamado TINT, similar a JOSS . [7]

Características

JOVIAL incluye características que no se encuentran en ALGOL estándar, como elementos (ahora llamados estructuras ), matrices de elementos, variables de estado (ahora llamadas enumeraciones ) y lenguaje ensamblador en línea . [13]

También incluía disposiciones para datos "empaquetados" dentro de tablas. El empaquetado de tablas se refiere a la asignación de elementos dentro de una entrada a palabras de almacenamiento (bits en una unidad de datos). Esto era importante con respecto a la memoria y el almacenamiento limitados de los sistemas informáticos de la era JOVIAL.

El Communication Pool (COMPOOL) en Jovial es similar a las bibliotecas de archivos de encabezado para lenguajes como PL/I y C.

Aplicaciones

Los sistemas notables que utilizan el software JOVIAL integrado incluyen:

Ejemplo

El siguiente ejemplo está tomado del Manual de programación de computadoras para el lenguaje JOVIAL (J73). [3] : 12 

PROC RECUPERAR(CÓDIGO:VALOR); COMENZAR CÓDIGO DEL ARTÍCULO U; VALOR DEL ARTÍCULO F; VALOR = -99999.; PARA I:0 POR 1 MIENTRAS I<1000; SI CÓDIGO = TABCODE(I); COMENZAR VALOR = TABVALOR(I); SALIDA; FIN FIN

Este ejemplo define un procedimiento llamado RETRIEVEque toma un argumento de entrada entero sin signo CODEy un argumento de salida de punto flotante VALUE. Busca en la matriz de 1000 elementos TABCODEuna entrada que coincida CODEy luego establece la variable de punto flotante VALUEen el elemento de la matriz TABVALUEque tiene el mismo índice de matriz coincidente. Si no se encuentra ningún elemento coincidente, VALUEse establece en −99999.0.

Referencias

  1. ^ "Asociados de ingeniería de software, Inc. (SEA)".
  2. ^ ab "Sistemas de desarrollo maduros, probados en campo en cientos de aplicaciones". DDC-I . Phoenix, Arizona. 2020 . Consultado el 22 de abril de 2020 .
  3. ^ ab Softech, Inc. (junio de 1981). Manual de programación informática para el lenguaje JOVIAL (J73) (PDF) . Roma, Nueva York: Centro de desarrollo del aire de Roma. pag. 1. Archivado (PDF) desde el original el 29 de julio de 2018 . Consultado el 16 de mayo de 2018 .
  4. ^ Schwartz, Jules I. (7 de abril de 1989). "Entrevista de Historia Oral con Jules I. Schwartz". Instituto Charles Babbage . Universidad de Minnesota.Schwartz trabajó para RAND Corporation en varios proyectos relacionados con la defensa: especialmente Semi-Automatic Ground Environment (SAGE) y JOHNNIAC . Cuando RAND organizó la System Development Corporation , Schwartz se trasladó a la nueva empresa. Durante la mayor parte de la entrevista, Schwartz describe su asociación con SAGE, su participación en el trabajo del laboratorio de computación en tiempo compartido para la computadora AN/FSQ-32 , redes de computadoras , proyectos de sistemas de control (como TDMS) y sus interacciones con JCR . Licklider , Lawrence G. Roberts y Robert Saxton Taylor . Habla de su puesto posterior en Computer Sciences Corporation .
  5. ^ "Ed y Kay, pioneros JOVIAL". jovial.com . Consultado el 23 de febrero de 2021 .
  6. ^ Shaw, Christopher J. (1 de diciembre de 1963). "Una especificación de JOVIAL". Comunicaciones de la ACM . 6 (12): 721–736. doi : 10.1145/763973.763978 . ISSN  0001-0782. S2CID  1427629.
  7. ^ ab Schwartz, Jules I. (8 de agosto de 1978). "El Desarrollo de Jovial" (PDF) . Avisos ACM SIGPLAN . 13 (8): 203. doi : 10.1145/960118.808385. S2CID  17913060 . Consultado el 28 de enero de 2015 .
  8. ^ Campbell-Kelly, Martín (2003). Desde reservas aéreas hasta Sonic the Hedgehog: una historia de la industria del software . Cambridge, Massachusetts: MIT Press . págs. 46-7. ISBN 0-262-03303-8.
  9. ^ Schachter, Oscar (7 de mayo de 2004). "Entrevista de historia oral con Oscar Schachter". Instituto Charles Babbage . Universidad de Minnesota: 17.
  10. ^ "Herramientas de soporte de software ISA JOVIAL (J73) y MIL-STD-1750A". Boletín Ada–JOVIAL . Instalación de control de idiomas de alto orden, Wright-Patterson AFB, Fuerza Aérea de EE. UU. Septiembre de 1993. págs. 21-24.
  11. ^ Rayner, Gordon (12 de diciembre de 2014). "Caos de vuelos en el Reino Unido: computadoras de control del tráfico aéreo que utilizan software de la década de 1960". Telegrafo diario . Consultado el 21 de abril de 2020 .
  12. ^ Manual de capacitación sobre tarifas de conceptos básicos de computación digital, NAVEDTRA 10088-B , Marina de los Estados Unidos , 1978
  13. ^ Halang, Wolfgang A.; Stoyenko, Alexander D. (1991). Construcción de sistemas predecibles en tiempo real. Springer Verlag. pag. 31.ISBN _ 978-1-4615-4032-8.
  14. ^ "Jovial para facilitar el cambio de la Fuerza Aérea de EE. UU. a Ada". Electrónica de defensa . 1 de marzo de 1984. Archivado desde el original el 12 de octubre de 2012 . Consultado el 28 de enero de 2015 .
  15. ^ "AN/APG-73, Enciclopedia del guerrero". Archivado desde el original el 5 de noviembre de 2004.

enlaces externos