Learn JOVIAL with Real Code Examples
Updated Nov 21, 2025
Architecture
Programs organized into procedures and modules
Data structures include arrays, records, and fixed-point types
Real-time control structures for deterministic execution
Efficient memory management and low-level system access
Applications compiled for specific embedded hardware
Rendering Model
Procedures and records define program logic and data
Compiler produces machine code for target hardware
Macros expand into reusable code blocks
Arrays and fixed-point types manage structured data
System-level operations handle embedded I/O
Architectural Patterns
Procedural modular design
Real-time event handling
Structured memory and fixed-point management
Macro-based code reuse
Embedded hardware-oriented program flow
Real World Architectures
Avionics flight control systems
Radar signal processing modules
Air defense command and control software
Embedded sensor management
Legacy aerospace mission-critical applications
Design Principles
Structured programming with clear block constructs
Deterministic execution for real-time systems
Strong typing for safety and reliability
Efficiency in memory and CPU-constrained environments
Procedural design optimized for embedded hardware
Scalability Guide
Use modular procedures to scale embedded programs
Optimize memory and CPU usage for larger systems
Reuse macros for efficiency
Profile execution time for real-time constraints
Ensure deterministic behavior in larger modules
Migration Guide
Port ALGOL or legacy procedural code to JOVIAL
Replace unsafe assembly routines with structured procedures
Adapt numeric computations to fixed-point types
Organize programs into reusable modules and macros
Validate real-time execution in simulator or hardware