FREUNDLICH - JOVIAL

JOVIAL
Paradigmen Prozedural , zwingend , strukturiert
Familie ALGOL
Entworfen von Systementwicklungsgesellschaft
Entwickler Software Engineering Associates
Erstmals erschienen 1960 ; Vor 61 Jahren ( 1960 )
Schreibdisziplin statisch , stark , sicher , strukturell
Umfang Lexikalisches
Wichtige Implementierungen
MVS , VAX/VMS , macOS , Windows , Linux , SPARC , PowerPC , MIL-STD-1750A , andere Legacy-Systeme
Dialekte
J3, J3B-2, J73
Beeinflusst von
ALGOL , SALBEI
Beeinflusst
CMS-2 , Koralle 66 , SYMPL

JOVIAL ist eine auf ALGOL 58 basierende High-Level-Programmiersprache , die sich auf die Entwicklung eingebetteter Systeme spezialisiert hat (spezielle Computersysteme, die eine oder einige dedizierte Funktionen ausführen, die normalerweise als Teil eines größeren, vollständigeren Geräts einschließlich mechanischer Teile eingebettet sind). Es war eine wichtige Systemprogrammiersprache in den 1960er und 70er Jahren.

Geschichte

JOVIAL wurde als neue Programmiersprache "hoher Ordnung" ab 1959 von einem Team der System Development Corporation (SDC) unter der Leitung von Jules Schwartz entwickelt , um Software für die Elektronik von Militärflugzeugen zu entwickeln.

Der Name JOVIAL ist ein Akronym für Jules' Own Version of the International Algebraic Language ; International Algorithmic Language (IAL) war ein ursprünglich für ALGOL 58 vorgeschlagener Name . Laut Schwartz hieß die Sprache ursprünglich OVIAL , was jedoch aus verschiedenen Gründen abgelehnt wurde. JOVIAL wurde dann vorgeschlagen, ohne dass dem J eine Bedeutung beigemessen wurde . Es wurde ein wenig scherzhaft vorgeschlagen , dass die Sprache nach Schwartz genannt werden, da er das Treffen war Vorsitzende , und dieser inoffizielle Name blieb.

In den 1960er Jahren war JOVIAL ein Teil der US - Militär - L-Projekt - Reihe, insbesondere das ITT 465L Strategic Air Command Control Systems (das Strategic Automatisiertes Command and Control System (SACCS) Projekt), aufgrund des Fehlens von Echtzeit - Computing - Programmierung Sprachen zur Verfügung. Etwa 95 Prozent des SACCS-Projekts, das von International Telephone & Telegraph (ITT) mit hauptsächlich von der DEZA geschriebener Software verwaltet wird, wurden in JOVIAL geschrieben. Das Softwareprojekt dauerte zwei Jahre und weniger als 1.400 Programmiererjahre, weniger als die Hälfte der entsprechenden Zeit im SAGE L-Projekt.

In den späten 1970er und frühen 1980er Jahren führte die United States Air Force eine standardisierte Zentraleinheit (CPU) ein, die MIL-STD-1750A , und nachfolgende JOVIAL-Programme wurden für diesen Prozessor entwickelt. Mehrere kommerzielle Anbieter stellten Compiler und zugehörige Programmiertools bereit , um JOVIAL für Prozessoren wie den MIL-STD-1750A zu erstellen, darunter Advanced Computer Techniques (ACT), TLD Systems , Proprietary Software Systems (PSS) und andere.

JOVIAL wurde 1973 mit MIL-STD-1589 standardisiert und 1984 mit MIL-STD-1589C überarbeitet . Es wird immer noch viel verwendet, um Software älterer Militärfahrzeuge und -flugzeuge zu aktualisieren und zu warten. Es gibt drei gebräuchliche Dialekte: J3, J3B-2 und J73.

Seit 2010 wird JOVIAL nicht mehr vom USAF JOVIAL Program Office (JPO) gepflegt und vertrieben. Software, die früher vom JPO vertrieben wurde, ist weiterhin über kommerzielle Ressourcen bei Software Engineering Associates, Inc., (SEA) erhältlich, ebenso wie andere Kombinationen von Host-/ Zielprozessoren , einschließlich Windows , Linux , Mac OS X auf PowerPC , SPARC , VAX , 1750A , PowerPC , TI-9989 , Zilog Z800x , Motorola 680x0 und IBM System 360 , System 370 und System z . Darüber hinaus listet DDC-I , das Teile von Advanced Computer Techniques erworben hat, ab April 2020 auch JOVIAL-Compiler und verwandte Tools auf.

Die meisten Software in JOVIAL implementiert ist mission critical und Wartung wächst schwieriger. Im Dezember 2014 wurde berichtet , dass Software von JOVIAL Code abgeleitet in den 1960er Jahren produziert wurde in einem großen Ausfall der betroffenen Vereinigten Königreichs ist der Flugsicherung Infrastruktur und dass die Agentur , dass Verwendungen es, NATS Holdings , wurde mit seiner trainieren IT-Mitarbeiter bei JOVIAL, damit sie diese Software warten konnten, die erst 2016 ersetzt werden sollte.

Beeinflussen

Zu den von JOVIAL beeinflussten Sprachen gehören CORAL , SYMPL , Space Programming Language (SPL) und in gewissem Maße CMS-2 . Eine interaktive Untermenge von JOVIAL namens TINT, ähnlich wie JOSS, wurde in den 1960er Jahren entwickelt.

Merkmale

JOVIAL enthält Funktionen, die in Standard-ALGOL nicht zu finden sind, wie Elemente (jetzt Strukturen genannt ), Arrays von Elementen, Statusvariablen (jetzt Enumerationen genannt ) und Inline- Assemblersprache .

Es enthielt auch Bestimmungen für "gepackte" Daten in Tabellen. Table Packing bezieht sich auf die Zuordnung von Elementen innerhalb eines Eintrags zu Speicherwörtern (Bits in einer Dateneinheit). Dies war im Hinblick auf den begrenzten Speicher und die begrenzte Speicherkapazität der Computersysteme der JOVIAL-Ära wichtig.

Der Kommunikationspool (COMPOOL) in Jovial ähnelt Bibliotheken von Headerdateien für Sprachen wie PL/I und C.

Anwendungen

Zu den bemerkenswerten Systemen, die eingebettete JOVIAL-Software verwenden, gehören:

Beispiel

Das folgende Beispiel stammt aus dem Computer Programming Manual für die Sprache JOVIAL (J73).

PROC RETRIEVE(CODE:VALUE);
   BEGIN
   ITEM CODE U;
   ITEM VALUE F;
   VALUE = -99999.;
   FOR I:0 BY 1 WHILE I<1000;
      IF CODE = TABCODE(I);
         BEGIN
         VALUE = TABVALUE(I);
         EXIT;
      END
   END

In diesem Beispiel wird eine Prozedur mit dem Namen definiert, RETRIEVEdie ein vorzeichenloses Integer-Eingabeargument CODEund ein Gleitkomma-Ausgabeargument verwendet VALUE. Es durchsucht das Array mit 1000 Elementen TABCODEnach einem passenden Eintrag CODEund setzt dann die Gleitkommavariable VALUEauf das Element von Array TABVALUEmit demselben übereinstimmenden Array-Index. Wenn kein passendes Element gefunden wird, VALUEwird auf gesetzt −99999.0.

Verweise

Externe Links