JOVIAL
Paradigm | procedural, imperative, structured |
---|---|
Designed by | System Development Corporation |
Developer | Software Engineering Associates, Inc. (SEA) |
First appeared | 1960 |
Major implementations | |
mainframe, micro, PC, Mac OS X, Microsoft Windows, Linux, SPARC, PowerPC, 1750A, other legacy systems | |
Influenced by | |
ALGOL, SAGE | |
Influenced | |
CMS-2, Coral 66, and SYMPL |
JOVIAL is a high-level computer programming language similar to ALGOL, but specialized for the development of embedded systems (specialized computer systems designed to perform one or a few dedicated functions, usually embedded as part of a complete device including mechanical parts).
History
JOVIAL was developed as a new "high-order" programming language beginning in 1959 by a team at System Development Corporation (SDC) headed by Jules Schwartz to compose software for the electronics of military aircraft.[1] The name JOVIAL is an acronym for "Jules Own Version of the International Algebraic Language."[2] The "International Algorithmic Language" (IAL) was a name originally proposed for ALGOL 58.
During the 1960s JOVIAL was a part of the US Military L-project series, in particular 465L (the SACCS project), due to a lack of real-time processing languages available. Some 95% of the SACCS project, managed by ITT with software primarily written by SDC, was written in JOVIAL. The software project took two years and fewer than 1400 programmer years, less than half of the equivalent time in the SAGE L-project.[3]
During the late 1970s and early 1980s, the U.S. Air Force adopted a standardized CPU, the MIL-STD-1750A, and subsequent JOVIAL programs were built for that processor. Several commercial vendors provided compilers and related tools to build JOVIAL for processors such as the MIL-STD-1750A, including Advanced Computer Techniques (ACT), TLD Systems, Proprietary Software Systems (PSS), and others.[4][5]
JOVIAL was standardized during 1973 with MIL-STD-1589 and was revised during 1984 with MIL-STD-1589C. It is still much 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, JOVIAL is no longer maintained and distributed by the USAF JOVIAL Program Office (JPO). Software previously distributed by the JPO is still available through commercial resources at Software Engineering Associates, Inc. (SEA) as are other combinations of host/target processors including Microsoft Windows, Linux, Mac OS X on PowerPC, SPARC, VAX, 1750A, PowerPC, TI-9989, Zilog Z800x, Motorola 680x0 and IBM System 360/System 370/System z. In addition DDC-I, which acquired parts of Advanced Computer Techniques, also still lists JOVIAL compilers and related tools.[6]
Most software implemented in JOVIAL is mission critical, and maintenance is getting more difficult. In December 2014 it was reported that software deriving from JOVIAL code produced in the 1960s was involved in a major failure of the United Kingdom's air traffic control infrastructure, and that the agency which uses it was having to train its IT staff in JOVIAL in order to maintain this software, which is not scheduled for replacement until 2016.[7] Conversion of JOVIAL code to new platforms is therefore becoming more common. JOVIAL rehosting and retargeting is currently done by Software Engineering Associates. Conversions of JOVIAL to other languages is currently done by Semantic Designs, whose DMS Software Reengineering Toolkit was used to convert some of the JOVIAL mission software for the B-2 bomber to C.[8]
Influence
According to Schwartz languages influenced by JOVIAL include CORAL, SYMPL, Space Programming Language (SPL), and to some extent CMS-2.[9] An interactive subset of JOVIAL called TINT, similar to JOSS was developed in the 1960s.[2]
Features
JOVIAL includes features not found in standard ALGOL, such as records, arrays of records, and inline assembly language.[10]
Applications
Notable systems using JOVIAL include:
- Milstar Communications Satellite
- Advanced Cruise Missile
- B-52, B-1B,[11] B-2 bombers *
- C-130, C-141, C-17 transport aircraft
- F-111, F-15, F-16 (prior to Block 50), F-117 fighter aircraft
- LANTIRN
- U-2 aircraft
- E-3 Sentry AWACS aircraft
- Navy Aegis cruisers
- Army Multiple Launch Rocket System (MLRS)
- Army UH-60 Black Hawk helicopters
- F100, F117, F119 jet engines
- NORAD air defense & control system (Hughes HME-5118ME system)
- NATO Air Defence Ground Environment (NADGE) system
- RL-10 rocket engines
- Civil NAS (National Airspace System) Air Traffic Control
Airborne radar systems with embedded JOVIAL software include the APG-70, APG-71 and APG-73.[12]
References
- ↑ Oral History interview with Jules I. Schwartz, Charles Babbage Institute, University of Minnesota. Schwartz worked for the Rand Corporation on various defense related projects: SAGE and JOHNNIAC in particular. When Rand organized the System 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 on timesharing for the AN/FSQ-32 computer, computer networks, control system projects (such as TDMS), and his interactions with J. C. R. Licklider, Lawrence G. Roberts, and Robert Saxton Taylor. He discusses his later position at Computer Sciences Corporation.
- 1 2 Schwartz, Jules I. (August 8, 1978). "The Development of Jovial" (PDF). ACM SIGPLAN Notices 13 (8): 203. doi:10.1145/960118.808385. Retrieved January 28, 2015.
- ↑ Campbell-Kelly, Martin. From airline reservations to Sonic the Hedgehog: a history of the software industry Cambridge Mass: The MIT Press, 2003: 46-7. ISBN 0-262-03303-8.
- ↑ Oral history interview with Oscar Schachter, see p. 17. Charles Babbage Institute, University of Minnesota.
- ↑ "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.
- ↑ "Mature Development Systems, Field Proven on Hundreds of Applications". DDC-I. Retrieved January 10, 2016.
- ↑ Gordon Rayner (December 12, 2014). "UK flights chaos: Air traffic control computers using software from the 1960s". Daily Telegraph. Retrieved 2014-12-14.
- ↑ Semantic Designs. "Semantic Designs Aligns with Northrop Grumman to Modernize B-2 Spirit Bomber Software Systems". Retrieved January 28, 2015.
- ↑ U.S. Navy (1978), Digital Computer Basics Rate Training Manual, NAVEDTRA 10088-B, U.S. Navy
- ↑ Halang, Wolfgang A.; Stoyenko, Alexander D. (1991). Constructing Predictable Real Time Systems. Springer Verlag. p. 31. ISBN 978-1-4615-4032-8.
- ↑ "Jovial to smooth U.S. Air Force shift to Ada". Defense Electronics. March 1, 1984. Retrieved January 28, 2015.
- ↑ AN/APG-73, Warfighter's Encyclopedia
External links
- The Development of Jovial
- "MIL-STD-1589C, MILITARY STANDARD: JOVIAL (J73)" (PDF). United States Department of Defense. 6 Jul 1984.
- April 2006 archive of the JOVIAL Program Office
- Page on Jules Schwartz, including film of a humorous talk on the development of JOVIAL
- DODSSP U.S. Department of Defense Single Stock Point for Military Specifications, Standards and Related Publications
- Software Engineering Associates
- DDC-I, Inc.: DDC-I JOVIAL Compiler System (DJCS)
- Video of Jules Schwartz giving a humorous talk on the development of JOVIAL