VAX Diagnostic Design Guide

Order Number: EK-1VAXD-TM

The "VAX Diagnostic Design Guide" (EK-1VAXD-TM-001, August 1979) is a comprehensive manual intended for diagnostic engineers involved in designing and writing diagnostic programs for VAX Family computers. It assumes familiarity with VAX-11 Macro assembly language, VAX hardware, the VAX/VMS operating system, and the specific hardware device to be tested. The manual serves as both a tutorial for diagnostic program development and a reference for the diagnostic supervisor and its macro library.

The document is divided into two main parts:

Part I: VAX Diagnostic Engineering Design Philosophy This section provides a high-level overview of the VAX diagnostic system. It defines:

  • Diagnostic Users and Applications: Identifying key users such as computer design engineers, manufacturing technicians, and field service engineers, each with varying needs regarding fault detection, isolation, troubleshooting, and run-time. It also covers applications like local operator interaction and automated product testing (APT, APT-RD).
  • Diagnostic Program Metrics: Discussing characteristics that determine a diagnostic's usefulness, including fault detection coverage (a primary concern), fault isolation, troubleshooting support, program size, execution time, and operational functionality and documentation.
  • VAX Diagnostic System Structure and Strategy: Detailing a hierarchical system of six diagnostic program levels (from VMS-based to standalone machine-level tests) and four operating environments (user, system, CPU cluster, console). It emphasizes a "building block" approach where lower-level diagnostics validate hardware assumed "hard-core" for higher-level tests.
  • Diagnostic Development Process: Outlining the key phases: consultation, planning (including project and functional specifications), implementation (including support for engineering prototypes), and quality assurance (QA) and release.

Part II: System-Wide Guidelines This part provides detailed technical guidelines and standards for diagnostic engineers to write programs that conform to DIGITAL engineering standards and interface effectively with the VAX diagnostic supervisor. Key areas covered include:

  • Diagnostic Supervisor Basics: Describing the supervisor's role as the central framework for diagnostic program control and execution, its operating environments, and its comprehensive macro library (utility, supervisor service, and VMS service macros). It also details the supervisor's command set for program and test sequence control, scripting, execution control, and debugging.
  • Diagnostic Program Structure and Design: Presenting the recommended modular structure for diagnostic programs, including header, global subroutine, and test modules, along with their internal sections (e.g., program header, declarations, dispatch table, data, statistics, messages, initialization, cleanup, summary).
  • Utility, Supervisor Service, and VMS Service Macros: Providing extensive descriptions and usage examples for the various macros available to simplify diagnostic programming tasks such as program control, channel control, memory management, error reporting, time services, and handling program-operator dialogues. A dedicated macro dictionary is included.
  • Coding Conventions and Procedures: Offering best practices for organizing executable code, global subroutines, error message routines, handling interrupts and asynchronous system traps (ASTs), data structures, exception handlers, user-defined macros, symbol naming, and assembly/linking procedures.
  • External Interface Diagnostic Considerations: Addressing practical design considerations related to program setup, compatibility with automated test environments (APT), scripting constraints, run-time performance, parallel vs. serial testing, looping mechanisms, volume verification, and the importance of avoiding "long silences" during lengthy tests.
  • Debugging Test Design: Identifying common coding errors and their symptoms, outlining quality assurance procedures (specification, conventions, load/execution, fault detection/reporting, user mode checks), and explaining the use of diagnostic supervisor commands for debugging.

Overall, the document aims to ensure that VAX diagnostic programs are consistently effective, reliable, and transportable across different VAX system implementations, providing robust fault detection, isolation, and troubleshooting capabilities for various user groups and applications.

EK-1VAXD-TM-001
August 1979
466 pages
Quality

Original
20MB
EK-1VAXD-TM-003
August 1983
488 pages
Quality

Original
20MB

Site structure and layout ©2025 Majenko Technologies