Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

JOVIAL

From Wikipedia, the free encyclopedia
Programming language
JOVIAL
ParadigmsProcedural,imperative,structured
FamilyALGOL
Designed bySystem Development Corporation
DeveloperSoftware Engineering Associates[1]
First appeared1960; 66 years ago (1960)
Typing disciplinestatic,strong,safe,structural
ScopeLexical
Majorimplementations
MVS,OpenVMS,macOS,Windows,Linux,SPARC,PowerPC,MIL-STD-1750A, other legacy systems
Dialects
J3, J3B-2, J73
Influenced by
ALGOL,SAGE
Influenced
CMS-2,Coral 66,SYMPL

JOVIAL is ahigh-level programming language based onALGOL 58, specialized for developingembedded systems (specialized computer systems designed to perform one or a few dedicated functions, usually embedded as part of a larger, more complete device, including mechanical parts). It was a majorsystem programming language through the 1960s and 1970s.[2]

History

[edit]
Computer Programming Manual for the Jovial (J73) Language

JOVIAL was developed as a new "high-order"[3]: 1 programming language starting in 1959 by a team atSystem Development Corporation (SDC) headed byJules Schwartz to compose software for the electronics of military aircraft.[4]

The nameJOVIAL is an acronym forJules' Own Version[5]of the International Algebraic Language;International Algorithmic Language (IAL) was a name proposed originally forALGOL 58.[6] According to Schwartz, the language was originally calledOVIAL, but this was opposed for various reasons.JOVIAL was then suggested, with no meaning attached to theJ. Somewhat jokingly it was suggested that the language be named after Schwartz, since he was the meetingchairperson, and this unofficial name stuck.[7]

During the 1960s, JOVIAL was a part of the US MilitaryL-project series, particularly theITT 465L Strategic Air Command Control System (theStrategic Automated Command and Control System (SACCS) project), due to a lack ofreal-time computing programming languages available. Some 95 percent of the SACCS project, managed byInternational Telephone & Telegraph (ITT) with software mainly written by SDC, was written in JOVIAL. The software project took two years and fewer than 1,400 programmer years, less than half of the equivalent time in theSAGE L-project.[8]

Pin button showing JOVIAL as one of the languages thatAdvanced Computer Techniques made cross-compilers for

During the late 1970s and early 1980s, theUnited States Air Force adopted a standardizedcentral processing unit (CPU), theMIL-STD-1750A, and subsequent JOVIAL programs were built for that processor. Several commercial vendors providedcompilers and relatedprogramming tools to build JOVIAL for processors such as the MIL-STD-1750A, includingAdvanced Computer Techniques (ACT),TLD Systems, Proprietary Software Systems (PSS), and others.[9][10]

JOVIAL was standardized during 1973 with MIL-STD-1589 and was revised during 1984 withMIL-STD-1589C. It is still used to update and maintain software on older military vehicles and aircraft. There are three dialects in common use: J3, J3B-2, and J73.

As of 2010[update], JOVIAL is no longer maintained and distributed by the USAF JOVIAL Program Office (JPO). Software formerly distributed by the JPO is still available through commercial resources at Software Engineering Associates, Inc., (SEA) as are other combinations of host/target processors includingWindows,Linux,Mac OS X onPowerPC,SPARC,VAX,1750A,PowerPC,TI-9989,Zilog Z800x,Motorola 680x0, andIBM System 360,System 370, andSystem z. Further,DDC-I, which acquired parts of Advanced Computer Techniques, also lists JOVIAL compilers and related tools as of April 2020[update].[2]

Most software implemented in JOVIAL ismission critical, and maintenance is growing more difficult. In December 2014, it was reported that software derived from JOVIAL code produced in the 1960s was involved in a major failure of theUnited Kingdom'sair traffic control infrastructure, and that the agency that uses it,NATS Holdings, was having to train its IT staff in JOVIAL so they could maintain this software, which was not scheduled for replacement until 2016.[11]

Influence

[edit]

Languages influenced by JOVIAL includeCORAL,SYMPL,Space Programming Language (SPL), and to some extentCMS-2.[12] Aninteractive subset of JOVIAL called TINT, similar toJOSS was developed in the 1960s.[7]

Features

[edit]

JOVIAL includes features not found in standard ALGOL, such as items (now calledstructures),arrays of items, status variables (now calledenumerations) andinline assembly language.[13]

It also included provisions for "packed" data within tables. Table packing refers to the allocation of items within an entry to words of storage (bits in a unit of data). This was important with respect to the limited memory and storage of the computing systems of the JOVIAL era.

The Communication Pool (COMPOOL) in Jovial is similar to libraries of header files for languages such as PL/I and C.

Applications

[edit]

Notable systems using embedded JOVIAL software include:

Example

[edit]

The following example is taken fromComputer Programming Manual for the JOVIAL (J73) Language.[3]: 12 

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

This example defines a procedure namedRETRIEVE which takes an unsigned integer input argumentCODE and a floating-point output argumentVALUE. It searches the 1000-element arrayTABCODE for an entry that matchesCODE, and then sets the floating-point variableVALUE to the element of arrayTABVALUE having the same matching array index. If no matching element is found,VALUE is set to−99999.0.

References

[edit]
  1. ^"Software Engineering Associates, Inc. (SEA)". Archived fromthe original on 2019-12-21. Retrieved2006-08-17.
  2. ^ab"Mature Development Systems, Field Proven on Hundreds of Applications".DDC-I. Phoenix, Arizona. 2020. Archived fromthe original on 27 March 2023. Retrieved22 April 2020.
  3. ^abSoftech, Inc. (June 1981).Computer Programming Manual for the JOVIAL (J73) Language(PDF). Rome, New York: Rome Air Development Center. p. 1.Archived(PDF) from the original on July 29, 2018. RetrievedMay 16, 2018.
  4. ^Schwartz, Jules I. (7 April 1989)."Oral History interview with Jules I. Schwartz".Charles Babbage Institute. University of Minnesota. Schwartz worked for theRAND Corporation on various defense related projects: especiallySemi-Automatic Ground Environment (SAGE) andJOHNNIAC. When RAND organized theSystem Development Corporation, Schwartz went to the new company. For most of the interview, Schwartz describes his association with SAGE, his part in the computer laboratory work ontime-sharing for theAN/FSQ-32 computer,computer networks, control system projects (such as TDMS), and his interactions withJ. C. R. Licklider,Lawrence G. Roberts, andRobert Saxton Taylor. He discusses his later position atComputer Sciences Corporation.
  5. ^"Ed and Kay, JOVIAL Pioneers".jovial.com. Retrieved2021-02-23.
  6. ^Shaw, Christopher J. (1963-12-01)."A specification of JOVIAL".Communications of the ACM.6 (12):721–736.doi:10.1145/763973.763978.ISSN 0001-0782.S2CID 1427629.
  7. ^abSchwartz, Jules I. (August 8, 1978)."The Development of Jovial"(PDF).ACM SIGPLAN Notices.13 (8): 203.doi:10.1145/960118.808385.S2CID 17913060. RetrievedJanuary 28, 2015.
  8. ^Campbell-Kelly, Martin (2003).From airline reservations to Sonic the Hedgehog: a history of the software industry. Cambridge, Massachusetts:MIT Press. pp. 46-7.ISBN 0-262-03303-8.
  9. ^Schachter, Oscar (7 May 2004)."Oral history interview with Oscar Schachter".Charles Babbage Institute. University of Minnesota: 17.
  10. ^"JOVIAL (J73) and MIL-STD-1750A ISA Software Support Tools".Ada–JOVIAL Newsletter. High Order Language Control Facility, Wright-Patterson AFB, U.S. Air Force. September 1993. pp. 21–24.
  11. ^Rayner, Gordon (December 12, 2014)."UK flights chaos: Air traffic control computers using software from the 1960s".Daily Telegraph. Retrieved2020-04-21.
  12. ^Digital Computer Basics Rate Training Manual, NAVEDTRA 10088-B,United States Navy, 1978
  13. ^Halang, Wolfgang A.; Stoyenko, Alexander D. (1991).Constructing Predictable Real Time Systems. Springer Verlag. p. 31.ISBN 978-1-4615-4032-8.
  14. ^"Jovial to smooth U.S. Air Force shift to Ada".Defense Electronics. March 1, 1984. Archived fromthe original on 2012-10-12. RetrievedJanuary 28, 2015.
  15. ^"AN/APG-73, Warfighter's Encyclopedia". Archived fromthe original on 2004-11-05.

External links

[edit]
Implementations
Technical
standards
Dialects
Formalisms
Community
Organizations
Professional
associations
Business
Education
Government
People
ALGOL 58
MAD
ALGOL 60
Simula
ALGOL 68
Comparison
^ = full name and link in older ALGOL version above
Categories:ALGOLALGOL 60
Retrieved from "https://en.wikipedia.org/w/index.php?title=JOVIAL&oldid=1319571461"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2026 Movatter.jp