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:
This is Section 1: Table of Contents and Introduction
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
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.