Fact-checked by Grok 2 weeks ago

JOVIAL

JOVIAL is a high-level, procedure-oriented programming language designed for developing large-scale, systems, particularly in and applications. It was created to facilitate portable software across diverse computer architectures by abstracting machine-specific details, allowing programmers to focus on algorithmic logic using syntax inspired by English and . Developed primarily by the System Development Corporation (SDC) under the leadership of Schwartz, JOVIAL originated in late 1958 as a response to the needs of the U.S. Air Force's (SAGE) and Strategic Air Command Control System (SACCS) projects. The language's name is an acronym for "Jules' Own Version of the International Algebraic Language" (IAL), an early precursor to , reflecting its roots in international efforts to standardize algorithmic expression. Initial proposals in December 1958 referred to it as "OVIAL" (Our Version of IAL), but it was renamed JOVIAL by January 1959. The first interpreter, J0, became available in January 1960, followed by the J2 compiler for the IBM 7090 in March 1961. Key innovations in JOVIAL included the COMPOOL (common ), a centralized repository for definitions that enabled consistent referencing across programs without regard to representations, a feature extending beyond standard capabilities. It supported basic data types such as integers, floating-point numbers, bit strings, and characters, with a focus on efficiency for processing. Over time, the language evolved through several versions to address growing complexity in systems: J3 and its variant J3B (standardized by the in 1967), J4, J5 (including J5.2), and J73 in the 1970s, which introduced non-upward-compatible changes for broader . These iterations incorporated influences from projects like SAGE's data handling and the UNCOL (Universal Computer-Oriented Language) concept for intermediate . JOVIAL found extensive use in U.S. military applications, including , air defense systems, and later extensions to the (FAA) and projects. Compilers were implemented on dozens of computers, from early mainframes like the IBM 7090 to specialized military hardware such as the AN/FSQ-31. Although it competed in a U.S. language selection contest, it was not adopted as their standard but remained influential in environments. By the late , JOVIAL had become a legacy , yet it persisted in maintaining critical defense infrastructure due to its reliability in and contexts.

History and Development

Origins and Initial Development

JOVIAL's development began in late 1958 at the System Development Corporation (SDC), a spin-off from the RAND Corporation, under the leadership of Jules I. Schwartz, with contributions from Erwin Book and Harvey Bratman. The initiative stemmed from the need for a higher-level programming language to support the U.S. Air Force's large-scale real-time command and control systems, particularly for mission-critical applications that outgrew the capabilities of assembly languages. Influenced by experiences with the Semi-Automatic Ground Environment (SAGE) system and early compiler work, the team proposed the language in December 1958 as part of the Command and Control Utility System Software (CUSS) project, aiming for machine independence and flexibility in programming large-scale systems. The language was initially called OVIAL ("Our Version of International Algebraic Language"), but in January 1959, during a team meeting, it was renamed JOVIAL ("Jules' Own Version of International Algebraic Language") in a lighthearted nod to 's central role and its roots in , also known as the International Algebraic Language (IAL). The first document was released in April 1959, and development focused on self-compiling features and an intermediate language inspired by UNCOL concepts to enable portability across computers like the , 704, and AN/FSQ-31. This adaptation of emphasized practical extensions for military computing, such as robust data handling drawn from SAGE's communication pools and table structures. The initial goals centered on enabling efficient development of command-and-control software, reducing reliance on low-level coding for time-sensitive operations. The first operational milestone came in January 1960 with an interpreter for the Strategic Air Command Control System (SACCS), a SAGE successor project designated 465L, marking JOVIAL's debut in real-world use. A full compiler followed in March 1961, after approximately eight man-years of effort for the initial implementation. SACCS itself represented a key early success: its software, exceeding one million lines of code, was completed in under two years using primarily JOVIAL, requiring fewer than 1,400 man-years—less than half the effort of comparable SAGE efforts—demonstrating the language's productivity for massive, real-time military systems. In the 1960s, JOVIAL saw adoption in U.S. Military L-projects, including the 465L system.

Standardization and Later Revisions

In 1977, the U.S. Department of Defense formalized the standardization of JOVIAL through MIL-STD-1589, establishing it as the high-order language for processors in military embedded systems. This standard introduced the J73 dialect, which emphasized improved modularity through features like definitions and segmented organization to facilitate development of complex, maintainable programs. The J73 enhancements also explored adaptations for potential non-military applications during the , broadening its scope beyond initial command-and-control uses while retaining military priorities. By the late 1970s and early 1980s, JOVIAL's standardized form saw widespread adoption for hardware aligned with the architecture, including multiplex data buses and reconfigurable in , ensuring across U.S. platforms. In 1984, the standard was revised as MIL-STD-1589C, incorporating enhancements such as stronger support for constructs and improved portability across diverse processors to address evolving needs. The JOVIAL Programming Office (JPO) played a central role in overseeing these revisions and maintaining the language standard, issuing updates through notices until the cessation of maintenance in 2010. Subsequent notices, such as Notice-4 in April 2010, confirmed the standard's inactive status for new designs while allowing its continued use in legacy systems.

Language Design

Syntax and Semantics

JOVIAL is a procedural and language designed for sequential execution of statements that specify computations and , drawing from early algorithmic languages to facilitate the description of complex information processing tasks. It employs static typing, where types are determined at , combined with strong, safe, and structural typing systems that enforce type consistency and compatibility during compilation to prevent runtime errors. Like , JOVIAL adopts a block-structured approach using BEGIN and END delimiters to define scopes for declarations and statements, promoting modular and nested code organization. This structure, rooted in , supports hierarchical program design while emphasizing machine independence for applications. The language's syntax mandates declarations before use within their , ensuring all variables and elements are defined prior to , which aids in maintaining program integrity. In early versions such as J3, statements are terminated by a ($), chosen to avoid conflicts with the period (.) reserved for other syntactic purposes, while later dialects like J73 use semicolons (;). Expressions require explicit parentheses to eliminate ambiguities in operator precedence, fostering clear and unambiguous code. Semantics prioritize compile-time type checking for assignments, operations, and initializations, with an emphasis on tailored to the constraints of systems in contexts, where concise yet explicit notation reduces errors in resource-limited environments. Additionally, JOVIAL supports inline ; early versions use statements, while J73 employs INLINE directives, allowing low-level insertion for performance-critical sections without disrupting the high-level structure. A distinctive semantic feature is the Communication Pool (COMPOOL), a centralized for sharing declarations across multiple program modules, functioning similarly to include files by providing a common repository of data descriptions that ensures consistent referencing without machine-specific details. This promotes data transparency and modularity in large-scale systems. Compared to , JOVIAL simplifies the design for efficiency by omitting advanced mathematical features, such as complex floating-point semantics or user-defined extensions, to focus on practical data handling and . For instance, it lacks a dedicated type and relies on bit strings for set-like operations, streamlining implementation for applications. Data types, such as items representing structures, are briefly referenced here to illustrate structural typing but are detailed elsewhere.

Data Types and Structures

JOVIAL's supports a range of primitive types optimized for numerical computations and systems, including integers in signed and unsigned variants with configurable bit sizes. Signed integers (S) accommodate negative values and default to a machine-dependent size, typically BITSINWORD-1 bits, while unsigned integers (U) range from 1 to MAXINTSIZE bits for positive values only. Floating-point reals (F) specify precision for the , defaulting to FLOATPRECISION bits, and fixed-point types (A) include scale and fraction parameters for decimal-like precision, with total precision limited to MAXFIXEDPRECISION. Booleans are represented as single-bit values (B type), where TRUE is B'1' and FALSE is B'0', allowing adjustable sizes for flags. Characters (C) handle strings using BITSINBYTE bits per character, with sizes up to MAXBYTES. Aggregate types in JOVIAL enable structured data organization, with arrays providing fixed or dynamic multi-dimensional storage up to seven dimensions, indexed from bounds defined by or formulas. Tables function as dynamic arrays or matrices of entries, supporting fixed-length () or variable-length () configurations for runtime resizing, which is essential for applications handling variable data volumes. Items serve as record-like structures, grouping fields within BEGIN...END blocks to form composite types, often used within tables for columnar data representation. Enumerations in JOVIAL are implemented via types, allowing user-defined symbolic constants such as V(RED) or V(SPRING) for improved readability in state machines and control logic, with bit sizes minimized to fit the number of values. These can specify explicit sizes or derive them from the status list, supporting up to the machine's range. Memory-efficient features tailor JOVIAL for embedded environments like , including packed representations for bit fields via the B type and modifiers like BIT for extracting unsigned s from bit strings. Packing options—none (N), medium (M), or dense (D)—control aggregation density in tables and items, reducing overhead in resource-constrained systems. Alignment rules position items on word or byte boundaries, with the compiler adding as needed for efficiency, while variable-length tables use functions like UBOUND and for dynamic management without fixed allocation. Common pools (COMPOOLs) facilitate sharing of type definitions across procedures for consistency in large-scale programs.

Control Flow and Procedures

Later dialects of JOVIAL, such as J73, emphasize to enhance reliability in embedded systems, providing mechanisms that avoid unstructured jumps like statements, which were present in early versions. The language supports conditional execution through the construct, which evaluates a and executes one of two alternatives: IF test THEN true-alternative [ELSE false-alternative]. The ELSE clause associates with the nearest unmatched IF, preventing ambiguous "dangling ELSE" issues, and nested conditions can be used for complex decision logic. For multi-way branching, later dialects like J73 include a CASE statement that selects among alternatives based on a case-selector expression: CASE case-selector BEGIN [case-option:] statement ... [DEFAULT: statement] END. Case options can specify ranges or lists of values, with support for fall-through to subsequent cases if no explicit break is used, and a clause handles unmatched selectors. Iterative control is managed via DO loops, including variants like FOR loops with initialization, increment, and termination conditions—FOR loop-control INITIAL initial-value [BY increment] WHILE condition DO statement—as well as simpler WHILE loops that repeat while a condition holds true. An statement allows premature termination of loops, promoting clean flow without unrestricted branching. Procedures in JOVIAL enable modularity by encapsulating reusable code blocks, defined as PROC procedure-name [REC] (formal-parameter-list) [procedure-body]. Parameters are passed by value, value-result, or reference, allowing data types such as integers or arrays to be manipulated within the procedure while maintaining type compatibility between formals and actuals during calls. Recursion is permitted when the REC attribute is specified, though its use is limited in embedded environments to avoid stack overflow risks in resource-constrained systems. Procedure calls follow the form procedure-name (actual-parameter-list), supporting reentrancy for concurrent execution where needed. Block structures organize code into nested scopes using BEGIN-END delimiters: BEGIN [declarations] statements END, which can be labeled as for explicit naming and static allocation via the STATIC specifier. This facilitates lexical scoping and grouping of related statements, with nesting allowing hierarchical . Error handling integrates into this through mechanisms like the ABORT statement, which transfers to a designated point in the calling , and conditional checks within IF or constructs to manage runtime anomalies. A key feature for modularity is COMPOOL linkage, where procedures access shared data and external routines via common pools defined with START COMPOOL and DEF/REF directives, enabling global-like access without polluting local scopes. For instance, a procedure might reference a COMPOOL-defined table or another procedure using REF PROC, promoting loose coupling across modules. In real-time systems, inline assembly blocks provide an exception for low-level control; J73 uses INLINE directives to embed machine code directly—INLINE subroutine-name—particularly for handling interrupts without subroutine overhead, though recursion and nesting are prohibited in such blocks. Influenced by , JOVIAL's prioritizes clarity and verifiability for mission-critical applications.

Dialects and Implementations

Principal Dialects

JOVIAL's principal dialects emerged to address evolving needs in and systems, particularly within applications, with J3 serving as the foundational variant. Developed in the early 1960s, J3 was the first widely used dialect, optimized for basic programming with limited data structures such as simple scalars and one-dimensional arrays, emphasizing tight integration with code for low-level control. Its design prioritized simplicity and efficiency for resource-constrained environments, supporting core like conditional statements and loops but lacking advanced modularity. A minor evolution, J3B-2, appeared as an update to J3 in the late , introducing enhancements for better portability across systems and improved error handling mechanisms, such as more robust type checking and definitions via the DEFINE statement. This dialect retained J3's core simplicity while adding features like declarations to facilitate program maintenance and modification, making it suitable for slightly more complex tasks without overhauling the basic syntax. J3B-2 was particularly influential in projects, bridging early JOVIAL implementations toward greater standardization. The most significant advancement came with J73 in 1973, formalized under MIL-STD-1589 to enhance for advanced hardware like the 1750A . Unlike J3's rudimentary structures, J73 introduced multi-dimensional tables, enumerated types, blocks for , pointers, and types, enabling more efficient and data abstraction. It also bolstered through compool modules for shared declarations, recursive procedures with REC attributes, and reentrant code via RENT specifications, supporting larger-scale . These additions promoted and portability, marking a shift from J3's assembly-oriented simplicity to J73's emphasis on high-level constructs like CASE statements and variable-length tables. Other variants include JOVIAL 3B, an adaptation of J3B tailored for defense systems in the , incorporating minor syntactic tweaks for compatibility with avionics standards while preserving core J3B portability features. Additionally, TINT emerged in the as an interactive subset of JOVIAL, akin to JOSS, designed for and on-line testing with simplified syntax for interpretive execution and immediate feedback in development environments. No major dialects postdating the 1984 revision of J73 have been standardized, reflecting the language's stabilization for legacy maintenance.

Compilers and Supported Platforms

Major compilers for JOVIAL include those developed and maintained by Software Engineering Associates (SEA). SEA specializes exclusively in JOVIAL, providing multi-host/multi-target compilers that implement full MIL-STD-1589C features (corresponding to the J73 dialect) with backward compatibility options, emphasizing global optimization and consistent code generation across platforms. DDC-I previously offered compiler systems and run-time environments supporting JOVIAL alongside Ada and C, targeted at safety-critical embedded applications, with integration for real-time operating systems like Deos (as of 2023). Originally designed for military hardware such as the , JOVIAL compilers now support a range of host environments including MS Windows, , macOS, , SGI/AIX (), VAX/, and legacy 360/370 systems under . Target platforms encompass embedded processors like PowerPC and , with capabilities for cross-compilation to various native and specialized embedded systems. JOVIAL runtimes lack automatic garbage collection, relying instead on through static allocation to ensure predictability in real-time environments. These runtimes integrate with real-time operating systems such as , supporting applications in and defense systems. Following the closure of the U.S. JOVIAL Program Office in due to insufficient , JOVIAL and shifted to providers, with no major open-source initiatives emerging post-2010. As of November 2025, continues to offer compilers, tools, and migration services for legacy JOVIAL systems, ensuring ongoing support for modernization and sustainment.

Applications and Usage

Military and Aerospace Systems

JOVIAL found its primary application in embedded software for military and aerospace systems, particularly in command and control environments requiring high reliability and real-time performance. Developed initially for the U.S. Air Force's Strategic Air Command Control System (SACCS) in the late 1950s, the language enabled efficient programming of large-scale, real-time systems on constrained hardware like the IBM AN/FSQ-31 computers. Its design emphasized procedure-oriented features that supported deterministic execution, making it suitable for mission-critical operations such as force management and simulation in defense scenarios. Key advantages of JOVIAL in these domains included efficiency through mechanisms like data packing, overlays, and compact structures such as tables and arrays, which minimized resource usage in environments with limited core (typically 32K to 128K words). These features, combined with optimized operations and device-oriented handling, ensured predictable performance for applications interleaving batch and interactive processing, as evaluated in command systems. By the mid-1960s, JOVIAL had become a U.S. standard for such systems, facilitating rapid development and deployment in projects. In the SACCS project during the 1960s, JOVIAL was the core language for programming the system's command and control software, drawing from prior experience with the air defense system to handle complex and variable management. Later, in the 1990s, the satellite communication system for the U.S. relied on the J3 dialect of JOVIAL for over 143,000 lines of mission-critical code, supporting high-performance, secure data transmission in environments. This usage underscored JOVIAL's role in enabling reliable operations for missiles, , and systems until the early 2000s, when migrations to modern languages began to address evolving hardware needs.

Civilian and Other Uses

During the and , JOVIAL underwent evaluations for potential applications in non-military software domains, including industrial control systems, as part of broader efforts to extend its use beyond defense projects. These explorations highlighted JOVIAL's strengths in processing and , though adoption remained limited due to its specialized design for embedded environments. A notable civilian application occurred in the United Kingdom's civil , where the National Air Traffic Services (NATS) employed JOVIAL for its en route system at the Swanwick Centre from the 1970s into the 2020s. This system, part of the (New Approach Surveillance) infrastructure, relied on JOVIAL's reliability for handling flight data processing, necessitating specialized training for maintainers as the became obsolete. In August 2023, a software failure in NATS' system caused widespread disruptions affecting over 2,000 flights, highlighting the challenges of maintaining legacy code from the 1960s and 1970s. Limited use also appeared in software development, where a 1977 investigation selected JOVIAL J73I as a for enhancements tailored to communications systems. Academic interest in historical JOVIAL compilers has persisted, with studies analyzing its evolution and implementations for educational purposes in curricula. Post-2000, many JOVIAL-based civilian systems underwent migrations to modern languages like Ada and C++ to address maintenance challenges and improve portability. Efforts to transition the UK's NATS from its JOVIAL-dependent systems to newer frameworks have been underway, though legacy components remained in use as of 2023. In the 1980s, portability efforts included support for JOVIAL compilers on systems, such as UNIX/PWB, which facilitated limited broader adoption in non-embedded contexts. By the 2020s, JOVIAL's civilian presence is rare, confined to preserved simulations in academic settings and hobbyist retrocomputing projects that recreate historical compilers for study. These efforts underscore JOVIAL's niche role in maintaining legacy simulations without significant new development.

Legacy and Influence

Influence on Subsequent Languages

JOVIAL exerted direct influence on several specialized programming languages developed for and systems in the . CMS-2, a language for U.S. avionics applications, incorporated features from JOVIAL alongside elements of and to extend its predecessor CS-1, enabling more robust capabilities for real-time weapon systems. Similarly, Coral 66, designed for use, drew initial concepts from early JOVIAL implementations, adding structured extensions while building on foundations to support reliable, hardware-constrained environments. SYMPL, a derivative developed by , adopted JOVIAL's block-structured approach and emphasized extensive bit manipulation for systems programming, allowing linkage with in non-reentrant contexts. Indirectly, JOVIAL contributed to the design of Ada, the U.S. Department of Defense's standard for systems, by demonstrating the need for enhanced features in applications; evaluations of JOVIAL variants highlighted its strengths in military contexts like but revealed gaps in and concurrency that informed Ada's requirements. The Spacecraft Programming Language (SPL) also reflected JOVIAL's impact, incorporating similar principles for in defense systems, as both were recommended for standardization in spaceborne computing to promote and . Key concepts from JOVIAL, such as COMPOOL modules for managing shared global data across separately compiled units, influenced modular designs in subsequent languages by enabling external declarations (via DEF and specifications) without executable , thus supporting large-scale, maintainable systems. Packed data representations in JOVIAL, optimized for bit-level efficiency in resource-constrained , were echoed in like SYMPL to minimize memory usage in and control systems. On a broader scale, the proliferation of over 450 programming in use during the , amid efforts like JOVIAL's emphasis on portability and , contributed to policies reducing language variety and paving the way for unified standards like Ada. Its TINT subset, an interactive interpreter from the late 1960s, anticipated early integrated development environments through features that facilitated in command-and-control software. Specific evaluations, such as SofTech's assessment of JOVIAL J3B against TINMAN criteria, exposed limitations in areas like and , spurring the creation of hybrid languages that blended JOVIAL's strengths with advanced constructs for defense applications.

Modern Status and Preservation

As of 2025, JOVIAL remains in limited but active use primarily for the maintenance of embedded systems in U.S. and military applications, such as avionics and vehicle control software, where it supports operations without new initiatives. Commercial providers like Software Engineering Associates (SEA) offer ongoing and tool support, including multi-host/multi-target JOVIAL translators for platforms like /WinX, UNIX, and Sun/, enabling sustainment in Department of (DoD) contracts. Similarly, DDC-I continues to provide JOVIAL systems and run-time environments as part of its tools for safety-critical applications. Maintaining JOVIAL codebases presents significant challenges due to their age, with many projects facing obsolescence of supporting hardware like the architecture and a shortage of proficient programmers. This has driven migrations to modern languages such as or Ada, often using automated translators to convert JOVIAL J73 code while preserving functionality; for instance, TSRI's tools have facilitated such transitions in satellite systems like the TRW program. The closure of the USAF JOVIAL Program Office has shifted reliance to these commercial entities, increasing costs and complicating certification for DO-178 compliance in . Preservation efforts focus on archiving resources and developing verification tools rather than revival. The Defense Technical Information Center (DTIC) maintains extensive archives of JOVIAL manuals, including compiler validation systems and programming guides from the 1970s and 1980s, accessible for reference in sustainment work. Tools like the Rugged JOVIAL Environment, a program verifier developed for structured design and implementation conformity, support certification of legacy JOVIAL-J73 code despite its age. Open-source efforts are nascent and incomplete, with hobbyist projects attempting freestanding compilers but lacking full implementations; limited interest persists among enthusiasts via emulators for 1750A processors to run historical code. Overall, no major revivals are underway, with JOVIAL confined to DoD sustainment roles amid broader modernization pressures.

Code Examples

Simple Procedure Example

A procedure in JOVIAL J73 demonstrates the language's support for modular subroutines through the PROC , which encapsulates executable within a BEGIN...END for reusability across programs. Consider a procedure named SUM_ARRAY that computes the sum of elements in an input table () and returns the result via an output , illustrating basic arithmetic operations and iteration. The following code snippet defines the procedure in JOVIAL J73 syntax, assuming unsigned integer data types for simplicity:
PROC SUM_ARRAY (INPUT ARR: TABLE(*) U, OUTPUT TOTAL: U);
BEGIN
  ITEM I U;
  TOTAL = 0;
  FOR I : 1 BY 1 WHILE I <= UBOUND(ARR, 0);
    TOTAL = TOTAL + ARR(I);
  END;
END;
This procedure takes an input table ARR passed by value (using the INPUT specifier to indicate read-only access) and an output item TOTAL passed by reference for modification. The TABLE(*) U declaration allows dynamic sizing of the array, with U denoting an unsigned integer type. Inside the BEGIN...END block, an index I is declared, initialized to zero outside the loop (but loop starts at 1 for 1-based indexing), and a FOR loop iterates through the array bounds using UBOUND to determine the upper limit, accumulating the sum sequentially. Upon completion, the procedure implicitly returns control to the caller, with the summed value stored in TOTAL for use elsewhere. This structure highlights JOVIAL's emphasis on procedure modularity, where the subroutine can be invoked from a main program via a call like SUM_ARRAY(MYTABLE, RESULT);, promoting code organization without global dependencies. Parameter passing follows value semantics for inputs to avoid side effects, while outputs enable result propagation, and the FOR loop provides straightforward control flow for repetitive tasks like array processing. Such examples underscore JOVIAL J73's design for reliable, structured programming in resource-constrained environments.

Data Structure Usage

In JOVIAL J73, data structures such as tables and items enable efficient handling of aggregated data, particularly in resource-constrained environments like avionics systems where lookup operations are common for retrieving parameters based on codes. A representative example is a procedure that searches a table of structured entries—each containing a code and associated value—to match an input code and return the corresponding value or a default sentinel if no match is found. This demonstrates practical use in scenarios like sensor data mapping in flight control software. The following code snippet illustrates such a lookup in J73 syntax, where the is declared with dynamic sizing (using * for the ) to support resizing based on actual data needs, and entries are structures defined with BEGIN...END blocks. The might be shared via a common pool (COMPOL) for integration, ensuring consistent declaration across .
PROC RETRIEVE(CODE: U, TAB: [TABLE](/page/Table)(*) BEGIN ITEM TABCODE U; ITEM TABVALUE F; END) F;
BEGIN
  ITEM I U = 0;
  RETRIEVE = -99999.0;
  FOR I : 1 BY 1 WHILE I <= UBOUND(TAB, 0)
    IF CODE = TAB(I).[TABCODE](/page/Table) THEN
    BEGIN
      RETRIEVE = TAB(I).[TABVALUE](/page/Table);
      EXIT;
    END;
  END;
END;
This declares local items for iteration (I) and the result (RETRIEVE), with the input using a entry : an unsigned code (TABCODE) and a floating-point value (TABVALUE). The iterates over bounds using UBOUND for flexibility, accessing packed via qualified references like TAB(I).[TABCODE](/page/Table), which supports efficient bit-level or word-aligned storage without explicit padding. If integrated into a COMPOL, the declaration (e.g., DEF [TABLE](/page/Table) LOOKUP_TABLE(1000) BEGIN ITEM CODE U; ITEM VALUE F; END;) would be externalized for reuse, promoting in large-scale systems. The default return value of -99999.0 serves as an error indicator, common in applications to flag unmatched lookups without halting execution.

References

  1. [1]
    [PDF] self-instructional jovial manual - DTIC
    JOVIAL was developed by the System Development Corporation to be used for programming large scale command and control systems.
  2. [2]
    A brief description of JOVIAL | ACM SIGPLAN Notices
    JOVIAL (Jules' Own Version of the International Algebraic Language) was one of the first programming languages developed primarily to aid in programming large ...
  3. [3]
    [PDF] JOVIAL Session
    Programming for SAGE had been done in machine language, as was almost all programming up to that time. FORTRAN existed and had been in use for a few years, but ...
  4. [4]
    Jules I. Schwartz - Computer Pioneers
    Developer of JOVIAL, Jules Own Version of IAL. While attending graduate school at Columbia University, Schwartz became acquainted with some early computing ...Missing: origins | Show results with:origins
  5. [5]
    The Closed World - MIT Press
    The Closed World offers a radically new alternative to the canonical histories of computers and cognitive science.Missing: PDF | Show results with:PDF
  6. [6]
    MIL-STD-1589 C JOVIAL - EverySpec
    MIL-STD-1589C, MILITARY STANDARD: JOVIAL (J73) (6 JUL 1984) [NO S/S DOCUMENT]., MIL-STD-1589C (USAF) defines the upgraded JOVIAL (J73) programming language.
  7. [7]
    [PDF] JOVIAL J73 Programming Support Library. - DTIC
    A. J73 source code module may be one segment or a group of segments that are related by !COPY statements in the code. Source segments may also contain source ...Missing: 1973 | Show results with:1973
  8. [8]
    The development of JOVIAL | History of programming languages
    A brief description of JOVIAL​​ JOVIAL (Jules' Own Version of the International Algebraic Language) was one of the first programming languages developed ...<|separator|>
  9. [9]
    General Dynamics Convair Division totally reconfigurable ...
    - MIL-STD-1750A: Instruction set architecture standard. - MIL-STD-1553B: Interface standard. - MIL-STD-1589B: JOVIAL high-order language standard ... MIL-STD- ...
  10. [10]
    MIL-STD-1589 C NOTICE-4 JOVIAL
    ### Summary of Notice-4 for MIL-STD-1589C
  11. [11]
    JOVIAL - implementation of programming language Algol58
    It was developed to compose software for the electronics of military aircraft by Jules Schwartz in 1959. During the 1960s JOVIAL was a part of the US Military L ...
  12. [12]
    [PDF] 1 TM-555/005/00 Grammar and Lexicon for Basic JOVIAL - DTIC
    Basic JOVIAL is a subset of J3, which is the full language. This manual defines the full syntax and semantics of. Basic JOVIAL without drawing fine distinctions.
  13. [13]
    None
    ### Summary of JOVIAL Syntax and Semantics
  14. [14]
    [PDF] Evaluation of ALGOL 68, JOVIAL J3B, PASCAL, SIMULA 67 ... - DTIC
    languge definition uses the revised ALGOL 60 report's syntax and semantics for fea tures that are the same , so the following reference is also cited in ...
  15. [15]
    [PDF] the jovial (j73) workbook - DTIC
    Dec 14, 1981 · The JOVIAL (J73) Workbook is only one portion of a self-instructional. JOVIAL 0J73) training course. In addition to the programmed-learning.Missing: JPO | Show results with:JPO
  16. [16]
    [PDF] Computer Programming Manual for the Jovial (J73) Language
    QJ73) language as defined in MIL-STD-1589A dated 15 March 1979. The main ... not obey standard JOVIAL (J73) linkage conventions. The form of the ...
  17. [17]
    A specification of JOVIAL - ACM Digital Library
    JOVIAL has been adopted by the Navy. Command Systems Support Activity as the interim stand- ard programming language for Navy strategic command systems. 2.Missing: terminator | Show results with:terminator
  18. [18]
    [PDF] A PROGRAMMER'S INTRODUCTION TO BASIC JOVIAL - DTIC
    Jul 21, 2024 · JOVIAL Is a programming language for professional programmers, who are notoriously averse to redundant coding. JOVIAL consequently uses certain.
  19. [19]
    [PDF] programming languages and cj shaw - jovial
    As a com- mon programming language, JOVIAL serves both as a means of communicating information processing methods between people and as a means of realizing a ...
  20. [20]
    The development of JOVIAL
    JOVIAL really got its beginning because of the launching by the Air Force of another large system. This one followed SAGE and it was called the SACCS System.
  21. [21]
    [PDF] 176 p HC A05/MF A01 - NASA Technical Reports Server
    JOVIAL/J3B has a COMPOOL feature that is similar to (but more awkward than) the HAL/S COMPOOL block. A JOVIAL COMPOOL file can contain constant and macro ...<|separator|>
  22. [22]
    The development of JOVIAL
    When System Development Corporation was spun off from RAND, Jules Schwartz went with SDC. He began his work on JOVIAL at the. System Development Corporation in ...
  23. [23]
    [PDF] Curtiss-Wright and DDC-I Collaborate for First Live Demonstration of ...
    DDC ... real-time operating systems, compilers, integrated development environments and run-time systems for C, C++, Ada, and JOVIAL application development.<|separator|>
  24. [24]
    JOVIAL Compilers
    SEA is the world leader in developing and maintaining JOVIAL language compilers and embedded systems support tools.Missing: Software Associates
  25. [25]
    Software Engineering Associates
    SEA specializes in the development and maintenance of JOVIAL language compilers and the JOVIAL Integrated Tool Set (ITS): a set of software support tools.
  26. [26]
    Software Engineering for Avionics & Support Systems | SwRI
    Green Hills INTEGRITY® RTOS; Green Hills MULTI® IDE; SEA JOVIAL Compiler; Ada Compiler; Borland® C Compiler; LabVIEW™; Lab Windows/CVI™; Vx Works; Microsoft® ...
  27. [27]
    AWACS awaits essential upgrades - Air Combat Command
    Aug 29, 2006 · "The U.S. Air Force JOVIAL Program Office has closed due to lack of funding." To some, the announcement posted on the Web site may have ...
  28. [28]
    No Money, No Jovial | Air & Space Forces Magazine
    Aug 31, 2006 · With less pomp and public attention because of the government shutdown, three Air Force major commands have gained new leaders in the past week— ...
  29. [29]
    [PDF] PROGRAMMING LANGUAGES AND - Software Preservation Group
    This language, named JOVIAL, was like. CLIP patterned after ALGOL, and was adapted to the programming of large-scale, computer- based, command control systems ...
  30. [30]
    [PDF] JOVIAL EVALUATION PROJECT - DTIC
    ... JOVIAL for real time application, and conclude that management of execution time resources is probably important as well. We feel that a command and control ...
  31. [31]
    [PDF] JOVIAL to C++ TRW/US Air Force MILSTAR Satellite | TSRI
    Feb 11, 2023 · The MILSTAR satellite system was written in J3 JOVIAL, a software language widely used by the Air Force for high- performance, mission-critical ...
  32. [32]
    UK flights chaos: Air traffic control computers using software from the ...
    Dec 12, 2014 · Prof Thomas said the NAS system was written using a now defunct computer language called Jovial, meaning Nats has to train programmers in Jovial ...
  33. [33]
    Communications high-order language investigation, volume 2
    This report contains data and conclusions that were used in selecting JOVIAL J73I as a base language for modifications that would result in a language suitable ...
  34. [34]
    Jovian Software Consulting, LLC
    Our team has over 50+ years of combined experience in development of complex systems and software in the Aviation and Automotive Industry. Our team members held ...
  35. [35]
    The history of JOVIAL : a study of programming language change
    Oct 6, 2020 · This paper describes research on the factors that influenced the development and subsequent change of the JOVIAL (Jules' Own Version of the ...
  36. [36]
    Feasibility Assessment of JOVIAL to Ada Translation. - DTIC
    With the translation of all J73 software into Ada, J73 software development systems could be phased out of use, the cost of maintaining the J73 system could be ...
  37. [37]
    A hand-built JOVIAL compiler - GitHub
    This project requires a C11 compiler to compile. Its build system is done with make. Developed on a Windows 10 platform, with GCC.Missing: 1960s | Show results with:1960s
  38. [38]
  39. [39]
    SYMPL from FOLDOC
    CDC's derivative of Jovial. SYMPL is a non-re-entrant block structured language with extensive bit manipulation facilities, which is linkable with Fortran.
  40. [40]
    [PDF] Maintenance Metrics for Jovial (J73) Software - DTIC
    The goal of this study was to determine whether metrics could indicate the maintainability of JOVIAL (J73) software, and, if any were found, to implement ...
  41. [41]
    [PDF] A Survey of Computer Programming Languages Currently Used in ...
    The goal of the 1970s, language commonality within the weapon system community, has not been reached yet even for military standards such as Jovial and CMS-. 2 ...Missing: influence | Show results with:influence
  42. [42]
    Jovial | Software Development - Howdy
    Jovial was created in 1959 to address the needs of embedded systems in military and aerospace applications. It was designed to support structured programming ...Missing: automotive | Show results with:automotive
  43. [43]
    DDC-I Inc - TechOnline
    The company provides compiler systems and run-time systems for Ada, JOVIAL, and C application development. DDC-I focuses on the needs of the safety critical ...
  44. [44]
    High-Performance Software Emulation of 1750A Processor
    We describe a software emulator of the MIL-STD-1750A architecture that executes 1750A code at a rate of about 4 MIPS on a Sun 200MHz Ultra2 work-station.Missing: JOVIAL hobbyist
  45. [45]
    Jovial to C++ TRW MILSTAR Satellite - TSRI
    Our transparent and flexible approach will help modernize your legacy software application with the least amount of risk and the shortest schedule. ... 2025 ...
  46. [46]
    Northrop Grumman, B-2, JOVIAL, Migration - Semantic Designs
    Semantic Designs' automated JOVIAL2C direct translator allows Northrop Grumman to modernize the OFP and other software avionics components included in this B-2 ...Missing: military | Show results with:military<|separator|>
  47. [47]
    [PDF] USER'S MANUAL JOVIAL COMPILER VALIDATION SYSTEM - DTIC
    This technical report consists of detailed specifications for the use of the JOVIAL Compiler Validation System (JCVS). The system is designed to measure the ...Missing: DDC- Score
  48. [48]
    [PDF] Jovial Program Verifier Rugged Jovial Environment. - DTIC
    Jan 2, 2025 · This report has been reviewed by the RADC Public Affairs Office (PA) and is releasable to the National Technical Information Service (NTIS). At ...