PVT User's Guide - Table Of Contents And Introduction

USER'S GUIDE FOR THE PHIGS VALIDATION TESTS

 
 
                 USER'S GUIDE FOR THE
                 PHIGS VALIDATION TESTS
                 (Version 2.1)
 
                  by
 
                 Kevin Brady
                 John Cugini
                 Qiming Wang
 
 
                 U.S. Department of Commerce
                 National Institute of
                    Standards and Technology
                 Computer Systems Laboratory
                 Gaithersburg, MD 20899
 
 
All PVT documentation can be found under PHIGS Validation Tests - Overview. All sections of this User's Guide can be accessed from its list of sections or its detailed table of contents.

This User's Guide is composed of the following sections:

  • Section 1: Table Of Contents And Introduction
  • Section 2: Structure and Format of PVT Suite
  • Section 3: Installation
  • Section 4: Operation
  • Appendix: Global Variables
  • Appendix: Version History of the PVT
  • Appendix: Test Program Characteristics
  • Appendix: Examples of Command Procedures
  • Appendix: Building the PVT in UNIX
  • Appendix: Software Metrics
  • Appendix: Module Cross-reference
  • This is Section 1: Table of Contents and Introduction

    ABSTRACT:

    The PHIGS Validation Tests (PVT), developed by NIST, consist of a large set of Fortran and C programs which may be used to test how well implementations of PHIGS conform to the standard. The tests are organized into a hierarchical structure of modules which corresponds to the conceptual overview of the standard. The tests are associated with the standard via a set of semantic requirements which are derived directly from the standard. Cross-reference tables allow the user to find tests relating to specific PHIGS functions and data structures. Directions for installation and operation of the tests are included.

    KEYWORDS:

    conformance testing; graphics standards; PHIGS; testing of software; validation of software
     
                           TABLE OF CONTENTS
     
    1       TABLE OF CONTENTS AND INTRODUCTION
    2       STRUCTURE AND FORMAT OF PVT SUITE
    2.1       Tree Structure
    2.2       Modules
    2.3       Subroutine Libraries
    2.4       Order
    2.5       Module Documentation
    2.5.1       Introductory Headings
    2.5.2       Semantic Requirements
    2.5.2.1       Related Functions
    2.5.2.2       Related Data Structures
    2.5.2.3       Basis In The Standard
    2.5.2.4       Test Cases
    2.5.2.5       Module Cross-references
    2.5.2.6       Comments
    2.5.3       Local Dictionary
    2.5.4       Semantic Cross-references
    2.5.5       Local Subroutines
    2.5.6       Program Design
    2.5.6.1       Headings
    2.5.6.2       Logic And TCs
    2.6       Source Code
    2.6.1       Language
    2.6.2       Generation Of C Version Of PVT From Fortran
    2.6.2.1       Use Of f2c As Translator
    2.6.2.2       Customization Of f2c Libraries
    2.6.2.3       Interface Between Fortran And C Bindings
    2.6.3       All Variables Declared
    2.6.4       Standard PHIGS Names
    2.6.5       Dummy Parameters
    2.6.6       Program Banner
    2.6.7       Common
    2.6.8       Special Characteristics Of C Code
    2.6.8.1       Prototyping
    2.6.8.2       File Handling
    2.6.8.3       Pack/Unpack
    2.6.8.4       Character Strings
    2.6.8.5       Error Handling
    2.6.8.6       Parameter Passing
    2.6.8.7       Array Indexing
    2.7       Ubiquitous Subroutines
    2.7.1       Initialization And Clean-up Of Test Programs
    2.7.2       TC Subroutines
    2.7.3       Message Subroutines
    2.7.4       CHKINQ
    3       INSTALLATION
    3.1       File Storage
    3.1.1       Hierarchical Format
    3.1.2       Alternative Storage Strategy For Subroutines
    3.2       Customization Of Code
    3.2.1       Naming PVT Configuration File
    3.2.2       Special Processing For Opening PHIGS
    3.2.3       Random Number Generator
    3.2.4       Naming Individual Message File
    3.2.5       Resolution Of Parameters For Open Workstation
    3.2.6       Providing Valid Names For Archive Files
    3.2.7       Time-stamping Message Files
    3.2.8       Operator Communication
    3.2.9       Appending To Global Message File
    3.2.10      Control Of C Prototyping
    3.2.11      Special Characters
    3.3       Compile Subroutines
    3.4       Procedures For Batch Processing
    4       OPERATION
    4.1       PVT Sessions And Workstations
    4.2       Running INITPH For PVT Configuration
    4.2.1       Parameters For Opening PHIGS
    4.2.2       Parameters For Opening Workstations
    4.2.3       Control Of Messages
    4.2.4       Control Of Error File
    4.2.5       Control Of Randomization
    4.2.6       Primary Workstation Support For Graphical
                Output
    4.2.7       Control for prompting the operator
    4.2.8       Control For Operator Responses To Prompt
    4.2.9       Location And Size Of The Dialogue And Echo
                Areas
    4.2.10      Ratio Of Meters To DC Units For The Primary
                Workstation
    4.3       Background Documentation
    4.4       Execution And Interpretation
    4.4.1       Testing Error Handling
    4.4.2       Language Specific Tests
    4.4.3       Failure To Compile Or Link
    4.4.4       Failure To Complete Execution
    4.4.5       Operator Interaction
    4.4.5.1       Format For Answering Questions
    4.4.5.2       Special Processing Of Operator Responses
    4.4.6       Completion Of Execution And Message Type
    4.4.7       Analysis Of Results
    4.4.8       Troubleshooting
    4.5       Session Completion
    4.6       Customization For Debugging
     
    REFERENCES
     
    Appendix: Global Variables
     
    Appendix: Version History of the PVT 
     
    Appendix: Test Program Characteristics 
     
    Appendix: Examples of Command Procedures 
     
    Appendix: Building the PVT in UNIX  
     
    Appendix: Software Metrics 
     
    Appendix: Module Cross-reference  
     
    

    1. Introduction

    PHIGS stands for Programmer's Hierarchical Interactive Graphics System. The PHIGS standard defines a set of functions to be used by a programmer to manipulate and display 3-D graphical objects. For a full description of the features of PHIGS, see [PHIGS89]. The standard has been approved by the American National Standards Institute (ANSI) as ANSI X3.144-1988, by the International Organization for Standards (ISO) as ISO 9592-1:1989, and by the Federal government as Federal Information Processing Standard (FIPS) 153.

    The PHIGS Validation Test (PVT) suite is a product of the Computer Systems Laboratory (CSL) of the National Institute of Standards and Technology (NIST). The function of this suite is to test whether implementations of PHIGS conform to the PHIGS standard. The PVT is available to individuals and organizations for use in developing or testing PHIGS implementations. CSL uses version 2.1 of this suite to validate PHIGS implementations which have been submitted for testing.

    There are some aspects of the PHIGS standard which can reasonably be construed in various ways. The PVT suite embodies CSL's best technical judgment concerning the standard's requirements for conforming implementations. CSL intends to update the PVT suite periodically to reflect official ANSI or ISO interpretations that conflict with the assumptions upon which the current version of the PVT is based.

    Version 2.1 includes tests for error handling and updates the PVT to reflect official interpretations of the PHIGS standard. See Appendix: Version History of the PVT for a description of the coverage provided by the various versions of the PVT.

    This document describes the general rules and procedures for using the PVT suite. Detailed information for specific tests may be found in the module documentation, as described in section 2.5. For a general discussion of PVT design issues, see [CUGI90] and [CUGI91].

    We welcome any comments or suggestions regarding the PVT. Such comments may include reports of errors in the PVT, suggestions for additional test cases, interpretation questions, or any other ideas on how to improve the PVT. Please send all correspondence, including questions about PHIGS validation and obtaining the PVT, to:

     
       Project Leader, PHIGS Validation Tests
       Computer Systems Laboratory
       National Institute of Standards and Technology
       Bldg. 225, Room A-266
       Gaithersburg, MD 20899
     
    

    This report identifies certain commercial software products in order to illustrate some of the concepts discussed herein. Such identification does not imply recommendation or endorsement by NIST.

    Next section is Section 2: Structure and Format of PVT Suite.