JOVIAL is a
high-level programming language
In computer science, a high-level programming language is a programming language with strong abstraction from the details of the computer. In contrast to low-level programming languages, it may use natural language ''elements'', be easier to ...
based on
ALGOL 58
ALGOL 58, originally named IAL, is one of the family of ALGOL computer programming languages. It was an early compromise design soon superseded by ALGOL 60. According to John Backus
The Zurich ACM-GAMM Conference had two principal motives in p ...
, specialized for developing
embedded system
An embedded system is a computer system—a combination of a computer processor, computer memory, and input/output peripheral devices—that has a dedicated function within a larger mechanical or electronic system. It is ''embedded'' ...
s (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 major
system programming language
A system programming language is a programming language used for system programming; such languages are designed for writing system software, which usually requires different development approaches when compared with application software. Edsger D ...
through the 1960s and 1970s.
History
JOVIAL was developed as a new "high-order"
programming language
A programming language is a system of notation for writing computer programs. Most programming languages are text-based formal languages, but they may also be graphical. They are a kind of computer language.
The description of a programming l ...
starting in 1959 by a team at
System Development Corporation
System Development Corporation (SDC) was a computer software company based in Santa Monica, California. Founded in 1955, it is considered the first company of its kind.
History
SDC began as the systems engineering group for the SAGE air-defens ...
(SDC) headed by
Jules Schwartz to compose software for the electronics of military aircraft.
The name ''JOVIAL'' is an acronym for ''Jules' Own Version'' ''of the International Algebraic Language''; ''International Algorithmic Language'' (IAL) was a name proposed originally for
ALGOL 58
ALGOL 58, originally named IAL, is one of the family of ALGOL computer programming languages. It was an early compromise design soon superseded by ALGOL 60. According to John Backus
The Zurich ACM-GAMM Conference had two principal motives in p ...
. According to Schwartz, the language was originally called ''OVIAL'', but this was opposed for various reasons. ''JOVIAL'' was then suggested, with no meaning attached to the ''J''. Somewhat jokingly it was suggested that the language be named after Schwartz, since he was the meeting
chairperson
The chairperson, also chairman, chairwoman or chair, is the presiding officer of an organized group such as a Board of directors, board, committee, or deliberative assembly. The person holding the office, who is typically elected or appointed by ...
, and this unofficial name stuck.
During the 1960s, JOVIAL was a part of the US Military ''L-project'' series, particularly the
ITT 465L Strategic Air Command Control System
The ITT 465L Strategic Air Command Control System (SACCS, SAC Control System, 465L Project, 465L Program) was a Cold War "Big L" network of computer and communication systems for command and control of Strategic Air Command "combat aircraft, r ...
(the
Strategic Automated Command and Control System
The Strategic Automated Command and Control System (SACCS) is a United States Strategic Command command and control system to coordinate the operational functions of United States nuclear forces (ICBMs, nuclear bombers, and SLBMs).
Background
T ...
(SACCS) project), due to a lack of
real-time computing
Real-time computing (RTC) is the computer science term for hardware and software systems subject to a "real-time constraint", for example from event to system response. Real-time programs must guarantee response within specified time constra ...
programming languages available. Some 95 percent of the SACCS project, managed by
International Telephone & Telegraph
ITT Inc., formerly ITT Corporation, is an American worldwide manufacturing company based in Stamford, Connecticut. The company produces specialty components for the aerospace, transportation, energy and industrial markets. ITT's three businesses ...
(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 the
SAGE L-project.
During the late 1970s and early 1980s, the
United States Air Force
The United States Air Force (USAF) is the air service branch of the United States Armed Forces, and is one of the eight uniformed services of the United States. Originally created on 1 August 1907, as a part of the United States Army S ...
adopted a standardized
central processing unit
A central processing unit (CPU), also called a central processor, main processor or just processor, is the electronic circuitry that executes instructions comprising a computer program. The CPU performs basic arithmetic, logic, controlling, an ...
(CPU), the
MIL-STD-1750A, and subsequent JOVIAL programs were built for that processor. Several commercial vendors provided
compiler
In computing, a compiler is a computer program that translates computer code written in one programming language (the ''source'' language) into another language (the ''target'' language). The name "compiler" is primarily used for programs that ...
s and related
programming tool
A programming tool or software development tool is a computer program that software developers use to create, debug, maintain, or otherwise support other programs and applications. The term usually refers to relatively simple programs, that can b ...
s to build JOVIAL for processors such as the MIL-STD-1750A, including
Advanced Computer Techniques (ACT),
TLD Systems
TLD Systems, Ltd. was an American software company active in the 1980s and 1990s and based in Torrance, California, that specialized in language compilers for the JOVIAL and Ada programming languages that were targeted to embedded systems.
TLD ...
, Proprietary Software Systems (PSS), and others.
JOVIAL was standardized during 1973 with MIL-STD-1589 and was revised during 1984 with ''MIL-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.
, 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 including
Windows
Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for ...
,
Linux
Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, which i ...
,
Mac OS X
macOS (; previously OS X and originally Mac OS X) is a Unix operating system developed and marketed by Apple Inc. since 2001. It is the primary operating system for Apple's Mac computers. Within the market of desktop and lapt ...
on
PowerPC
PowerPC (with the backronym Performance Optimization With Enhanced RISC – Performance Computing, sometimes abbreviated as PPC) is a reduced instruction set computer (RISC) instruction set architecture (ISA) created by the 1991 Apple– IBM ...
,
SPARC
SPARC (Scalable Processor Architecture) is a reduced instruction set computer (RISC) instruction set architecture originally developed by Sun Microsystems. Its design was strongly influenced by the experimental Berkeley RISC system developed ...
,
VAX,
1750A
MIL-STD-1750A or 1750A is the formal definition of a 16-bit computer instruction set architecture (ISA), including both required and optional components, as described by the United States Military Standard, military standard document MIL-STD-1750A ...
,
PowerPC
PowerPC (with the backronym Performance Optimization With Enhanced RISC – Performance Computing, sometimes abbreviated as PPC) is a reduced instruction set computer (RISC) instruction set architecture (ISA) created by the 1991 Apple– IBM ...
,
TI-9989,
Zilog Z800x,
Motorola 680x0, and
IBM System 360
The IBM System/360 (S/360) is a family of mainframe computer systems that was announced by IBM on April 7, 1964, and delivered between 1965 and 1978. It was the first family of computers designed to cover both commercial and scientific applica ...
,
System 370
The IBM System/370 (S/370) is a model range of IBM mainframe computers announced on June 30, 1970, as the successors to the System/360 family. The series mostly maintains backward compatibility with the S/360, allowing an easy migration path f ...
, and
System z. Further,
DDC-I
DDC-I, Inc. is a privately held company providing software development of real-time operating systems, software development tools, and software services for safety-critical embedded applications, headquartered in Phoenix, Arizona. It was first c ...
, which acquired parts of Advanced Computer Techniques, also lists JOVIAL compilers and related tools .
Most software implemented in JOVIAL is
mission critical
A mission critical factor of a system is any factor (component, equipment, personnel, process, procedure, software, etc.) that is essential to business operation or to an organization. Failure or disruption of mission critical factors will resul ...
, 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 the
United Kingdom
The United Kingdom of Great Britain and Northern Ireland, commonly known as the United Kingdom (UK) or Britain, is a country in Europe, off the north-western coast of the European mainland, continental mainland. It comprises England, Scotlan ...
's
air traffic control
Air traffic control (ATC) is a service provided by ground-based air traffic controllers who direct aircraft on the ground and through a given section of controlled airspace, and can provide advisory services to aircraft in non-controlled airsp ...
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.
Influence
Languages influenced by JOVIAL include ''
CORAL
Corals are marine invertebrates within the class Anthozoa of the phylum Cnidaria. They typically form compact colonies of many identical individual polyps. Coral species include the important reef builders that inhabit tropical oceans and secre ...
'', ''
SYMPL SYMPL is an obsolete programming language developed by the Control Data Corporation (CDC) for use on the CDC 6000 series computer systems in the 1970s and 1980s. It was based on a subset of CDCs version of JOVIAL, as an alternative to assembly lang ...
'', ''Space Programming Language'' (SPL), and to some extent ''
CMS-2''.
An
interactive
Across the many fields concerned with interactivity, including information science, computer science, human-computer interaction, communication, and industrial design, there is little agreement over the meaning of the term "interactivity", but m ...
subset of JOVIAL called TINT, similar to
JOSS Joss may refer to:
* Joss (name), including a list of people with the name
* JOSS, a time-sharing programming language
* Joss (Chinese statue), a religious object
* Joss JP1, an Australian-built supercar
* Joss paper, a type of burnt offering ...
was developed in the 1960s.
Features
JOVIAL includes features not found in standard ALGOL, such as items (now called
structures),
arrays of items, status variables (now called
enumeration
An enumeration is a complete, ordered listing of all the items in a collection. The term is commonly used in mathematics and computer science to refer to a listing of all of the elements of a set. The precise requirements for an enumeration ( ...
s) and
inline assembly language.
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
Notable systems using embedded JOVIAL software include:
*
Milstar communications satellite
*
Advanced Cruise Missile
*
B-52
The Boeing B-52 Stratofortress is an American long-range, subsonic aircraft, subsonic, jet-powered strategic bomber. The B-52 was designed and built by Boeing, which has continued to provide support and upgrades. It has been operated by the ...
,
B-1B
The Rockwell B-1 Lancer is a supersonic variable-sweep wing, heavy bomber used by the United States Air Force. It is commonly called the "Bone" (from "B-One"). It is one of three strategic bombers serving in the U.S. Air Force fleet along with ...
,
B-2
The Northrop (later Northrop Grumman) B-2 Spirit, also known as the Stealth Bomber, is an American heavy strategic bomber, featuring low-observable stealth technology designed to penetrate dense anti-aircraft defenses. A subsonic flying w ...
bombers
*
C-130
The Lockheed C-130 Hercules is an American four-engine turboprop military transport aircraft designed and built by Lockheed (now Lockheed Martin). Capable of using unprepared runways for takeoffs and landings, the C-130 was originally des ...
,
C-141
The Lockheed C-141 Starlifter is a retired military strategic airlifter that served with the Military Air Transport Service (MATS), its successor organization the Military Airlift Command (MAC), and finally the Air Mobility Command (AMC) of t ...
,
C-17
The McDonnell Douglas/Boeing C-17 Globemaster III is a large military transport aircraft that was developed for the United States Air Force (USAF) from the 1980s to the early 1990s by McDonnell Douglas. The C-17 carries forward the name of two ...
transport aircraft Transport aircraft is a broad category of aircraft that includes:
* Airliners, aircraft, usually large and most often operated by airlines, intended for carrying multiple passengers or cargo in commercial service
* Cargo aircraft or freighters, fix ...
*
F-111
The General Dynamics F-111 Aardvark is a retired supersonic, medium-range, multirole combat aircraft. Production variants of the F-111 had roles that included ground attack (e.g. interdiction), strategic bombing (including nuclear weapons ...
,
F-15
The McDonnell Douglas F-15 Eagle is an American twin-engine, all-weather tactical fighter aircraft designed by McDonnell Douglas (now part of Boeing). Following reviews of proposals, the United States Air Force selected McDonnell Douglas's ...
,
F-16
The General Dynamics F-16 Fighting Falcon is a single-engine multirole fighter aircraft originally developed by General Dynamics for the United States Air Force (USAF). Designed as an air superiority day fighter, it evolved into a successful ...
(prior to Block 50),
F-117
The Lockheed F-117 Nighthawk is a retired American single-seat, twin-engine stealth attack aircraft developed by Lockheed's secretive Skunk Works division and operated by the United States Air Force (USAF). It was the first operational airc ...
fighter aircraft
*
LANTIRN
LANTIRN (Low Altitude Navigation and Targeting Infrared for Night) is a combined navigation and targeting pod system for use on the United States Air Force fighter aircraft—the F-15E Strike Eagle and F-16 Fighting Falcon (Block 40/42 C & D m ...
*
U-2 aircraft
*
Boeing E-3 Sentry
The Boeing E-3 Sentry is an American airborne early warning and control (AEW&C) aircraft developed by Boeing. E-3s are commonly known as AWACS (Airborne Warning and Control System). Derived from the Boeing 707 airliner, it provides all-weat ...
AWACS aircraft (Prior to Block 40/45)
*Navy
Aegis
The aegis ( ; grc, αἰγίς ''aigís''), as stated in the ''Iliad'', is a device carried by Athena and Zeus, variously interpreted as an animal skin or a shield and sometimes featuring the head of a Gorgon. There may be a connection with a d ...
cruisers
*Army Multiple Launch Rocket System (
MLRS)
*Army
Sikorsky UH-60 Black Hawk
The Sikorsky UH-60 Black Hawk is a four-blade, twin-engine, medium-lift Utility helicopter, utility military helicopter manufactured by Sikorsky Aircraft. Sikorsky submitted the S-70 design for the United States Army's Utility Tactical Transpo ...
helicopters
*
F100,
F117,
F119
The Pratt & Whitney F119, company designation PW5000, is an afterburning turbofan engine developed by Pratt & Whitney for the Advanced Tactical Fighter (ATF) program, which resulted in the Lockheed Martin F-22 Raptor. The engine delivers thrust ...
jet engine
A jet engine is a type of reaction engine discharging a fast-moving jet (fluid), jet of heated gas (usually air) that generates thrust by jet propulsion. While this broad definition can include Rocket engine, rocket, Pump-jet, water jet, and ...
s
*
NORAD
North American Aerospace Defense Command (NORAD ), known until March 1981 as the North American Air Defense Command, is a combined organization of the United States and Canada that provides aerospace warning, air sovereignty, and protection ...
air defense & control system (Hughes HME-5118ME system)
*
NATO Air Defence Ground Environment (NADGE) system
*
RL10
The RL10 is a liquid-fuel cryogenic rocket engine built in the United States by Aerojet Rocketdyne that burns cryogenic liquid hydrogen and liquid oxygen propellants. Modern versions produce up to of thrust per engine in vacuum. Three RL10 ve ...
rocket engines
*Civil NAS (
National Airspace System
The National Airspace System (NAS) is the airspace, navigation facilities and airports of the United States along with their associated information, services, rules, regulations, policies, procedures, personnel and equipment. It includes components ...
) Air Traffic Control
*
APG-70
The AN/APG-63 and AN/APG-70 are a family of all-weather multimode radar systems designed by Hughes Aircraft (later Raytheon) for the F-15 Eagle air superiority fighter. These X band pulse-Doppler radar systems are designed for both air-air and air ...
,
APG-71
The AN/AWG-9 and AN/APG-71 radars are all-weather, multi-mode X band pulse-Doppler radar systems used in the F-14 Tomcat, and also tested on TA-3B. It is a very long-range air-to-air system with the capability of guiding several AIM-54 Phoenix ...
, and
APG-73 airborne
radar
Radar is a detection system that uses radio waves to determine the distance ('' ranging''), angle, and radial velocity of objects relative to the site. It can be used to detect aircraft, ships, spacecraft, guided missiles, motor vehicles, w ...
systems
Example
The following example is taken from ''Computer Programming Manual for the JOVIAL (J73) Language.
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 named
RETRIEVE
which takes an unsigned integer input argument
CODE
and a floating-point output argument
VALUE
. It searches the 1000-element array
TABCODE
for an entry that matches
CODE
, and then sets the floating-point variable
VALUE
to the element of array
TABVALUE
having the same matching array index. If no matching element is found,
VALUE
is set to
−99999.0
.
References
External links
The Development of Jovial*
April 2006 archive of the JOVIAL Program Office including film of a humorous talk on the development of JOVIAL
DODSSPU.S. Department of Defense Single Stock Point for Military Specifications, Standards and Related Publications
Software Engineering AssociatesDDC-I, Inc.: DDC-I JOVIAL Compiler System (DJCS)* Archived a
Ghostarchiveand th
Wayback Machine
*
{{DEFAULTSORT:Jovial
Procedural programming languages
Avionics programming languages
Systems programming languages
High Integrity Programming Language
ALGOL 58 dialect