JOVIAL Programming Language
   HOME

TheInfoList



OR:

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 us ...
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 pro ...
, 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 W ...
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 ...
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 Jules I. Schwartz (June 26, 1927 – June 6, 2013) was an American computer scientist chiefly known for his creation of the JOVIAL programming language. He served in the United States Army in both World War II and the Korean War. He attended gr ...
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 pro ...
. 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, committee, or deliberative assembly. The person holding the office, who is typically elected or appointed by members of the grou ...
, 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 (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) 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 Sage or SAGE may refer to: Plants * ''Salvia officinalis'', common sage, a small evergreen subshrub used as a culinary herb ** Lamiaceae, a family of flowering plants commonly known as the mint or deadnettle or sage family ** ''Salvia'', a large ...
L-project. During the late 1970s and early 1980s, the
United States Air Force The United States Air Force (USAF) is the Aerial warfare, air military branch, 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 ...
adopted a standardized
central processing unit A central processing unit (CPU), also called a central processor, main processor or just Processor (computing), processor, is the electronic circuitry that executes Instruction (computing), instructions comprising a computer program. The CPU per ...
(CPU), the
MIL-STD-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 military standard document MIL-STD-1750A (1980). Since August 1996, it h ...
, 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 tha ...
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 Advanced Computer Techniques (ACT) was a computer software company most active from the early 1960s through the early 1990s that made software products, especially language compilers and related tools. It also engaged in information technology con ...
(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 ser ...
,
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, w ...
,
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 la ...
on PowerPC,
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 develope ...
,
VAX VAX (an acronym for Virtual Address eXtension) is a series of computers featuring a 32-bit instruction set architecture (ISA) and virtual memory that was developed and sold by Digital Equipment Corporation (DEC) in the late 20th century. The V ...
, 1750A, PowerPC, TI-9989, Zilog Z800x,
Motorola 680x0 The Motorola 68000 series (also known as 680x0, m68000, m68k, or 68k) is a family of 32-bit complex instruction set computer (CISC) microprocessors. During the 1980s and early 1990s, they were popular in personal computers and workstations and ...
, and IBM System 360, System 370, and
System z IBM Z is a family name used by IBM for all of its z/Architecture mainframe computers. In July 2017, with another generation of products, the official family was changed to IBM Z from IBM z Systems; the IBM Z family now includes the newest mod ...
. 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 Life-critical system, safety-critical embedded applications, headquartered in Phoenix, Ari ...
, 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 resu ...
, 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 airs ...
infrastructure, and that the agency that uses it,
NATS Holdings NATS Holdings, formerly National Air Traffic Services and commonly referred to as NATS, is the main air navigation service provider in the United Kingdom. It inherited the traditions of UK air traffic control, which (founded over Croydon Air ...
, 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 ...
'', '' SYMPL'', ''Space Programming Language'' (SPL), and to some extent ''
CMS-2 CMS-2 is an embedded systems programming language used by the United States Navy. It was an early attempt to develop a standardized high-level computer programming language intended to improve code portability and reusability. CMS-2 was developed ...
''. An interactive 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 An array is a systematic arrangement of similar objects, usually in rows and columns. Things called an array include: {{TOC right Music * In twelve-tone and serial composition, the presentation of simultaneous twelve-tone sets such that the ...
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 (fo ...
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 Milstar (Military Strategic and Tactical Relay) is a constellation of military communications satellites in geosynchronous orbit, which are operated by the United States Space Force, and provide secure and jam-resistant worldwide communications ...
communications satellite *
Advanced Cruise Missile The AGM-129 ACM (Advanced Cruise Missile) was a stealth aircraft, low-observable, subsonic, turbofan-powered, air-launched cruise missile originally designed and built by General Dynamics and eventually acquired by Raytheon Missile Systems. Prior ...
*
B-52 The Boeing B-52 Stratofortress is an American long-range, 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 United States Air ...
,
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 wit ...
, B-2 bombers *
C-130 The Lockheed C-130 Hercules is an American four-engine turboprop military transport aircraft designed and built by Lockheed Corporation, Lockheed (now Lockheed Martin). Capable of using unprepared runways for takeoffs and landings, the C-130 ...
,
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 the ...
, C-17
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 ca ...
,
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 (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 aircr ...
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 mod ...
* U-2 aircraft * Boeing E-3 Sentry 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 A multiple rocket launcher (MRL) or multiple launch rocket system (MLRS) is a type of rocket artillery system that contains multiple launchers which are fixed to a single platform, and shoots its rocket ordnance in a fashion similar to a voll ...
) *Army
Sikorsky UH-60 Black Hawk The Sikorsky UH-60 Black Hawk is a four-blade, twin-engine, medium-lift utility military helicopter manufactured by Sikorsky Aircraft. Sikorsky submitted the S-70 design for the United States Army's Utility Tactical Transport Aircraft System ( ...
helicopters * F100,
F117 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 air ...
, F119 jet engines * NORAD air defense & control system (Hughes HME-5118ME system) *
NATO Air Defence Ground Environment The NATO Integrated Air Defense System (short: NATINADS) is a command and control network combining radars and other facilities spread throughout the NATO alliance's air defence forces. It formed in the mid-1950s and became operational in 1962 as ...
(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, APG-71, 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, we ...
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
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)
* Archived a
Ghostarchive
and th
Wayback Machine
* {{DEFAULTSORT:Jovial Procedural programming languages Avionics programming languages Systems programming languages High Integrity Programming Language ALGOL 58 dialect