94-14779. Proposed Revision of Federal Information Processing Standard (FIPS) 153, Programmer's Hierarchical Interactive Graphics Systems (PHIGS)  

  • [Federal Register Volume 59, Number 116 (Friday, June 17, 1994)]
    [Unknown Section]
    [Page 0]
    From the Federal Register Online via the Government Publishing Office [www.gpo.gov]
    [FR Doc No: 94-14779]
    
    
    [[Page Unknown]]
    
    [Federal Register: June 17, 1994]
    
    
    -----------------------------------------------------------------------
    
    DEPARTMENT OF COMMERCE
    [Docket No. 940541-4141]
    RIN No. 0693-AB30
    
     
    
    Proposed Revision of Federal Information Processing Standard 
    (FIPS) 153, Programmer's Hierarchical Interactive Graphics Systems 
    (PHIGS)
    
    AGENCY: National Institute of Standards and Technology (NIST), 
    Commerce.
    
    ACTION: Notice; request for comments.
    
    -----------------------------------------------------------------------
    
    SUMMARY: A revision of FIPS 153, PHIGS, is being proposed. This 
    proposed revision will add features to the basic PHIGS functionality 
    defined in FIPS 153, which adopts voluntary industry standards, ANSI/
    ISO 9592.1-3:1989, and ANSI/ISO 9593-1:1990, 9593-3:1990, 9593-4:1991. 
    The basic PHIGS functionality provides for control and data interchange 
    between an application program and its graphic support systems and for 
    a set of functions and programming language bindings for the 
    definition, display and modification of two-dimensional (2D) or three-
    dimensional (3D) graphic data. New features will be provided by the 
    proposed adoption of voluntary industry specifications ANSI/ISO 
    9592.1a,2a,3a,4:1992 for PHIGS PLUS. PHIGS PLUS will augment the basic 
    PHIGS functionality by providing facilities for specifying curved 
    lines, curved and facetted surfaces, lighting and shading, and color. 
    In addition, the proposed revision will add a requirement for the 
    validation of PHIGS implementations using either FORTRAN or C bindings.
        Prior to the submission of this proposed revision to FIPS 153 to 
    the Secretary of Commerce for review and approval, it is essential to 
    assure that consideration is given to the needs and views of 
    manufacturers, the public, and State and local governments. The purpose 
    of this notice is to solicit such views.
        This proposed revision contains two sections: (1) An announcement 
    section, which provides information concerning the applicability, 
    implementation, and maintenance of the standard; and (2) a 
    specifications section. Only the announcement section of the standard 
    is provided in this notice. Interested parties may obtain copies of the 
    specifications (ANSI/ISO 9592.1-3:1989, ANSI/ISO 9592.1a,2a,3a,4:1992, 
    and ANSI/ISO 9593-1:1990, 9593-3:1990, 9593-4:1991) from American 
    National Standards Institute (ANSI), 11 West 42nd Street, 13th floor, 
    New York, NY 10036, (212) 642-4900.
    
    DATES: Comments on this proposed revision must be recived on or before 
    September 15, 1994.
    
    ADDRESSES: Written comments concerning the adoption of this proposed 
    revision should be sent to: Director, Computer Systems Laboratory, 
    ATTN: Proposed Revision of FIPS 153, PHIGS, Technology Building, room 
    B154, National Institute of Standards and Technology, Gaithersburg, MD 
    20899.
        Written comments received in response to this notice will be made 
    part of the public record and will be made available for inspection and 
    copying in the Central Reference and Records Inspection Facility, room 
    6020, Herbert C. Hoover Building, 14th Street between Pennsylvania and 
    Constitution Avenues, NW., Washington, DC 20230.
    
    FOR FURTHER INFORMATION CONTACT:
    Mr. Kevin G. Brady, National Institute of Standards and Technology, 
    Gaithersburg, MD 20899, telephone (301) 975-3644.
    
        Dated: June 13, 1994.
    Samuel Kramer,
    Associate Director.
    
    Proposed Federal Information Processing Standards Publication 153-1
    
    (date)
    
    Announcing the Standard for Programmer's Hierarchical Interactive 
    Graphics System (PHIGS)
    
        Federal Information Processing Standards Publications (FIPS 
    PUBS) are issued by the National Institute of Standards and 
    Technology after approval by the Secretary of Commerce pursuant to 
    section 111(d) of the Federal Property and Administrative Services 
    Act of 1949 as amended by the Computer Security Act of 1987, Public 
    Law 100-235.
        1. Name of Standard. Programmer's Hierarchical Interactive 
    Graphics System (PHIGS) (FIPS PUB 153-1).
        2. Category of Standard. Software Standard, Graphics.
        3. Explanation. This publication is a revision of FIPS PUB 153 
    and supersedes that document in its entirety. This revision provides 
    a substantial, upward-compatible enhancement of the basic PHIGS 
    functionality known as Plus Lumiere and Surfaces, PHIGS PLUS (ANSI/
    ISO 9592.1a,2a,3a,4:1992). PHIGS PLUS adds facilities for the 
    specification of curved lines, curved and facetted surfaces, 
    lighting and shading, and adds a mechanism for color specification 
    to allow non-indexed color specification. Amendments to each part of 
    the PHIGS specification detail revisions required by PHIGS PLUS. 
    Also, each language binding of PHIGS has been amended as a result of 
    PHIGS PLUS. The specifications and amendments that comprise the 
    complete PHIGS standard as a result of this revision are detailed in 
    the Specification section of this document.
        In addition this revision adds a requirement for validation of 
    PHIGS implementations using either FORTRAN or C bindings. However, 
    validation is currently limited to basic PHIGS functionality, and 
    therefore does not include the new functionality of PHIGS PLUS added 
    by this revision.
        FIPS 153-1 adopts the American National Standard Programmer's 
    Hierarchical Interactive Graphics System, ANSI/ISO 9592.1-3:1989, 
    and ANSI/ISO 9592.1a,2a,3a,4:1992, and 9593.1:1990, 9593.3:1990, 
    9593.4:1991, as a Federal Information Processing Standard (FIPS). 
    This standard specifies the control and data interchange between an 
    application program and its graphic support system. It provides a 
    set of functions and programming language bindings for the 
    definition, display and modification of two-dimensional (2D) or 
    three-dimensional (3D) graphical data. In addition, these language 
    bindings allow for the definition, display and modification of 
    geometrically related objects, graphical data, and the relationships 
    between the graphical data. The purpose of the standard is to 
    promote portability of graphics application programs between 
    different installations. The standard is for use by implementors as 
    the reference authority in developing graphics software systems; and 
    by other computer professionals who need to know the precise 
    syntactic and semantic rules of the standard.
        4. Approving Authority. Secretary of Commerce.
        5. Maintenance Agency. U.S. Department of Commerce, National 
    Institute of Standards and Technology (NIST), Computer Systems 
    Laboratory (CSL).
        6. Cross Index.
        a. ANSI/ISO 9592.1:1989, Information Processing Systems--
    Computer Graphics--Programmer's Hierarchical Interactive Graphics 
    System (PHIGS), Part 1, Functional Description.
        b. ANSI/ISO 9592.1a:1992, Amendment 1, Information Processing 
    Systems--Computer Graphics--Programmer's Hierarchical Interactive 
    Graphics System (PHIGS), Part 1, Functional Description.
        c. ANSI/ISO 9292.2:1989, Information Processing Systems--
    Computer Graphics--Programmer's Hierarchical Interactive Graphics 
    System (PHIGS), Part 2, Archive File Format.
        d. ANSI/ISO 9492.2a:1992, Amendment 1, Information Processing 
    Systems--Computer Graphics--Programmer's Hierarchical Interactive 
    Graphics System (PHIGS), Part 2, Archive File Format.
        e. ANSI/ISO 9592.3:1989, Information Processing Systems--
    Computer Graphics--Programmer's Hierarchical Interactive Graphics 
    System (PHIGS), Part 3, Clear Text Encoding of Archive File.
        f. ANSI/ISO 9592.3a:1992, Amendment 1, Information Processing 
    Systems--Computer Graphics--Programmer's Hierarchical Interactive 
    Graphics System (PHIGS), Part 3, Clear Text Encoding of Archive 
    File.
        g. ANSI/ISO 9592.4:1992, Information Processing Systems--
    Computer Graphics--Programmer's Hierarchical Interactive Graphics 
    System (PHIGS), Part 4, Plus Lumiere and Surfaces, PHIGS PLUS.
        h. ANSI/ISO 9593.1:1990, Information Processing Systems--
    Computer Graphics--Programmer's Hierarchical Interactive Graphics 
    System (PHIGS), Language Bindings, FORTRAN.
        i. ANSI/IEC 9593.1:1990 Tech. Corrigendum, Programmer's 
    Hierarchical Interactive Graphics System (PHIGS), Language Bindings, 
    FORTRAN.
        j. ANSI/ISO 9593.3:1990, Information Processing Systems--
    Computer Graphics--Programmer's Hierarchical Interactive Graphics 
    System (PHIGS), Language Bindings, Ada.
        k. ISO/IEC 9593.3:1990, Tech. Corrigendum, Programmer's 
    Hierarchical Interactive Graphics System (PHIGS) Language Bindings, 
    Ada.
        l. ANSI/ISO 9593.4:1991, Information Processing Systems--
    Computer Graphics--Programmer's Hierarchical Interactive Graphics 
    System (PHIGS), Language Bindings, C.
        7. Related Documents.
        a. Federal Information Resources Management Regulations (FIRMR) 
    subpart 201.20.303, Standards, and subpart 201.39.1002, Federal 
    Standards.
        b. Federal ADP and Telecommunications Standards Index, U.S. 
    General Services Administration, Information Resources Management 
    Service, (updated periodically).
        c. NIST, Validated Products List: Programming Languages, 
    Database Language SQL, Graphics, GOSIP, POSIX, Security, Published 
    quarterly and available by subscription from the National Technical 
    Information Service (NTIS), U.S. Department of Commerce, 
    Springfield, VA 22161.
        d. FIPS PUB 69-1, Programming Language FORTRAN, adopts ANSI 
    X3.9-1978/R1989.
        e. FIPS PUB 119, Programming Language Ada, adopts ANSI/MIL-STD-
    1815A-1983.
        f. FIPS PUB 120-1, Graphical Kernel System (GKS), adopts NISI 
    X3.124-1985.
        g. FIPS PUB 128-1, Computer Graphics Metafile (CGM), adopts 
    ANSI/ISO 8632: 1992.
        h. FIPS PUB 160, Programming Language C, adopts ANSI/ISO 9899: 
    1992.
        i. ANSI/ISO 8632: 1992, Information Processing Systems--Computer 
    Graphics Metafile for the Storage and Transfer of Picture 
    Description Information (Part 1: Functional Specifications; Part 2: 
    Character Encoding; Part 3: Binary Encoding; Part 4: Clear Text 
    Encoding).
        j. ISO/IEC 646: 1991, Information Processing--7-Bit Coded 
    Character Set for Information Interchange.
        k. ISO 2022: 1986, Information Processing--ISO 7-Bit and 8-Bit 
    Coded Character Sets--Code Extension Techniques.
        l. ISO 2382/13: 1984, Data Processing--Vocabulary--Part 13: 
    Computer Graphics.
        m. ISO 6093: 1985, Information Processing--Representation of 
    Numeric Values in Character Strings for Information Interchange.
        n. ISO 7942: 1985, Information Processing Systems--Computer 
    Graphics--Functional Specification of the Graphical Kernel System 
    (GKS).
        o. ISO 7942/Amendment 1: 1991, Computer Graphics--Graphical 
    Kernel Systems (GKS) Functional Descriptions.
        p. ISO 8805: 1988, Information Processing--Computer Graphics--
    Graphical Kernel System (GKS-3D) Extensions Functional Description.
        8. Objectives. The primary objectives of this standard are:
    
    --to allow very highly interactive graphics application programs 
    using 2D or 3D hierarchically structured graphics data to be easily 
    transported between installations. This will reduce costs associated 
    with the transfer of programs among different computers and graphic 
    devices, including replacement devices.
    --to aid the understanding and use of dynamic hierarchical graphics 
    methods by application programmers.
    --to aid manufacturers of graphics equipment by serving as a 
    guideline for identifying useful combinations of graphics 
    capabilities in a device.
    --to encourage more effective utilization and management of graphics 
    application programmers by ensuring that skills acquired on one job 
    are transportable to other jobs, thereby reducing the cost of 
    graphics programmer retraining.
    --to aid graphics application programmers in understanding and using 
    graphics methods by specifying well-defined functions and names. 
    This will avoid the confusion of incompatibility common with 
    operating systems and programming languages.
    
        9. Applicability. PHIGS is one of the computer graphics 
    standards (Appendix A discusses the family of computer graphics 
    standards) provided for use by all Federal departments and agencies. 
    These graphics standards should be used for all computer graphics 
    applications and programs that are either developed or acquired for 
    government use.
        9.1  The FIPS for PHIGS is intended for use in computer graphics 
    applications that are either developed or acquired for government 
    use. It is specifically designed to meet the performance 
    requirements of such demanding applications as Computer Aided 
    Design/Computer Aided Engineering/Computer Aided Manufacturing, 
    command and control, molecular modelling, simulation and process 
    control. It emphasizes the support of applications needing a highly 
    dynamic, highly interactive operator interface and expecting rapid 
    screen update of complex images to be performed by the display 
    system. The PHIGS Plus functionality is designed to support graphics 
    applications requiring lighting and shading, curved lines, curved 
    and facetted surfaces, and non-indexed color specification.
        9.2  The use of this standard is compulsory and binding when one 
    or more of the following situations exist:
    
    --The graphics application is very highly interactive, or contains 
    hierarchically structured graphics data, or requires rapid 
    modification of 2D or 3D graphics data and the relationships among 
    the data.
    --It is anticipated that the life of the graphics program will be 
    longer than the life of the presently utilized graphics equipment.
    --The graphics application or program is under constant review for 
    updating of the specifications, and changes may result frequently.
    --The graphics application is being designed and programmed 
    centrally for a decentralized system that employs computers of 
    different makes and models and different graphic devices.
    --The graphics program will or might be run on equipment other than 
    that for which the program is initially written.
    --The graphics program is to be understood and maintained by 
    programmers other than the original ones.
    --The graphics program is or is likely to be used by organizations 
    outside the Federal government (i.e., State and local governments, 
    and others).
    
        9.3  Nonstandard features of implementations of PHIGS should be 
    used only when the needed operation or function cannot reasonably be 
    implemented with the standard features alone. Although nonstandard 
    features can be very useful, it should be recognized that the use of 
    these or any other nonstandard elements may make the interchange of 
    graphics programs and future conversion more difficult and costly.
        10. Specifications. American National Standard Programmer's 
    Hierarchical Interactive Graphics System, ANSI/ISO 9592.1-3:1989 and 
    ANSI/ISO 9592.1a, 2a, 3a, 4:1992, define the scope of the 
    specifications, the syntax and semantics of the PHIGS elements and 
    requirements for conforming implementations. All of these 
    specifications apply to Federal Government implementations of this 
    standard.
        ANSI/ISO 9592.103:1989 and ANSI/ISO 9592.1a,2a,3a,4:1992 define 
    a language independent nucleus of a graphics system for integration 
    into a programming language. Thus, it is embedded in a language 
    layer obeying the particular conventions of the language. FIPS 153-1 
    is therefore divided into two parts. Part 1 represents the 
    functional aspects of PHIGS. Part 1 consists of the following:
    
    (1) Functional description (ANSI/ISO 9592.1:1989) and (ANSI/ISO 
    9592.1a:1992, Amendment 1)
        The functional description of PHIGS provides a set of functions 
    for the definition, display and modification of 2D or 3D graphical 
    data. It also provides for the definition, display and manipulation 
    of geometrically related objects, along with the modification of 
    graphics data and the relationships between that graphical data.
    (2) Archive file format (ANSI/ISO 9592.2:1989) and (ANSI/ISO 
    9592.2a:1992, Amendment 1)
        The archive file provides a file format suitable for the storage 
    and retrieval of PHIGS structures and structure network definitions. 
    It allows structure definitions to be stored in an organized way on 
    a graphical software system. And, facilitates transfer of structure 
    definitions between different graphical software systems.
    (3) Clear-text encoding (ANSI/ISO 9592.3:1989) and (ANSI/ISO 
    9592.3a:1992, Amendment 1)
        The clear-text encoding provides a representation of the archive 
    file syntax that is easy to type, edit and read. The file is human-
    readable (allows editing), human friendly (easy and natural to read) 
    and machine readable (parsable by software).
    (4) Plus Lumiere and Surfaces, PHIGS PLUS (ANSI/ISO 9592.4:1992)
        The Programmer's Hierarchical Interactive Graphics System 
    (PHIGS) Plus Lumiere and Surfaces (PHIGS PLUS) extends the basic 
    PHIGS functionality by adding facilities for the specification of 
    curved lines, curved and facetted surfaces, lighting and other 
    effects such as depth modulation.
    
        Part 2 of FIPS 153-1 consists of the bindings of PHIGS and PHIGS 
    PLUS functions to actual programming languages, defined in ANSI/ISO 
    9593:1990. These bindings are developed in cooperation with the 
    voluntary standards committees of the various languages. The 
    following bindings currently exist, and form part 2 of FIPS 153-1:
    
    --The FORTRAN Language binding for PHIGS (ANSI/ISO 9593.1:1990);
    --The ADA Language binding for PHIGS (ANSI/ISO 9593.3:1990);
    --The C Language binding for PHIGS (ANSI/ISO 9593.4:1991).
    
        Subsequent language bindings, including those for PHIGS PLUS, 
    will be added periodically as they become available. As these 
    bindings are approved by ANSI, each language binding will become 
    part of this standard.
        11. Implementation. Implementation of this standard involves 
    four areas of consideration: the effective date, acquisition of 
    PHIGS software system implementations, interpretations of PHIGS 
    implementations, and validation of PHIGS implementations.
        11.1  Effective Date. This revised standard is effective six (6) 
    months after approval by the Secretary of Commerce. Requirements for 
    the use of basic PHIGS functionality (defined in ANSI/ISO 9592.1-
    3;1989 and ANSI/ISO 9593.1:1990, 9593.3:1990, 9593.4:1991) are 
    unchanged and continue in effect. Validation of PHIGS 
    implementations is required after the effective date in accordance 
    with section 11.4.
        11.2  Acquisition of Implementations. Conformance to FIPS for 
    PHIGS is required whether PHIGS toolbox packages are developed 
    internally, acquired as part of an ADP system procurement, acquired 
    by separate procurement, used under an ADP leasing arrangement, or 
    specified for use in contracts for programming services. Recommended 
    terminology for procurement of FIPS for PHIGS is contained in the 
    U.S. General Services Administration publication Federal ADP & 
    Telecommunications Standards Index, chapter 4 part 1.
        11.3  Interpretation of this FIPS. NIST provides for the 
    resolution of questions regarding FIPS for PHIGS specifications and 
    requirements, and issues official interpretations as needed. 
    Procedures for interpretations are specified in FIPS PUB 29-3. All 
    questions about the interpretation of FIPS for PHIGS should be 
    addressed to: Director, Computer Systems Laboratory (CSL), ATTN: 
    PHIGS Interpretation, National Institute of Standards and 
    Technology, Gaithersburg, MD 20899, Telephone: (301) 975-3265.
        11.4  Validation of PHIGS Implementations. Implementations of 
    FIPS for PHIGS using either FORTRAN or C bindings shall be validated 
    in accordance with NIST Computer Systems Laboratory (CSL) validation 
    procedures for FIPS for PHIGS. Recommended procurement terminology 
    for validation of FIPS for PHIGS is contained in the U.S. General 
    Services Administration publication Federal ADP & Telecommunications 
    Standards Index, Chapter 4 Part 2. This GSA publication provides 
    terminology for three validation options: Delayed Validation, Prior 
    Validation Testing and Prior Validation. The agency shall select the 
    appropriate validation option. The agency is advised to refer to the 
    NIST publication Validated Products List for information about the 
    validation status of PHIGS products. This information may be used to 
    specify validation time frames that are not unduly restrictive of 
    competition.
        The agency shall specify the criteria used to determine whether 
    a Validation Summary Report (VSR) or Certificate is applicable to 
    the hardware/software environment of the PHIGS implementation 
    offered. The criteria for applicability of a VSR or Certificate 
    should be appropriate to the size and timing of the procurement. A 
    large procurement may require that the offered version/release of 
    the PHIGS implementation shall be validated in a specified hardware/
    software environment and that the validation shall be conducted with 
    specified hardware/software features or parameter settings; e.g., 
    the sema parameter settings to be used in a performance benchmark. 
    An agency with a single-license procurement may review the Validated 
    Products List to determine the applicability of existing VSRs or 
    Certificates to the agency's hardware/software environment.
        PHIGS implementations using either FORTRAN or C bindings shall 
    be validated using the NIST PHIGS Test Suite, a suite of automated 
    validation tests for PHIGS implementations. The NIST PHIGS Test 
    Suite was first released in July 1990 to help users and vendors 
    determine compliance with FIPS for PHIGS. The most recent version of 
    the test suite will be used for validating conformance of PHIGS 
    implementations after the effective date of FIPS PUB 153-1. The 
    results of validation testing by the PHIGS Testing Service are 
    published on a quarterly basis in the Validated Products List, 
    available from the National Technical Information Service (NTIS). 
    See related documents section.
        Each release of the test suite has provided additional language 
    bindings and test cases to increase the test suite's coverage of 
    PHIGS functionality. Version 2.1 of the NIST PHIGS Test Suite, 
    released in April 1994, provides testing for PHIGS implementations 
    using either the FORTRAN or C language binding. Version 2.1 does not 
    include tests for the functionality of PHIGS PLUS added by this 
    revision of FIPS for PHIGS.
        A PHIGS Test Suite license includes all of the tests described 
    above, documentation, and automatic notifications of approved 
    changes to the PHIGS Test Suite for a six month period. A license 
    for the most recent version of the PHIGS Test Suite is a necessary 
    requirement for an organization that desires to be tested by the 
    NIST PHIGS Testing Service after the effective date of FIPS 153-1.
        Current information about the NIST PHIGS Validation Service and 
    validation procedures for FIPS for PHIGS is available from: National 
    Institute of Standards and Technology, Computer Systems Laboratory, 
    Graphics Software Group, Building 225, room A266, Gaithersburg, MD 
    20899, (302) 975-3265.
        12. Waivers. Under certain exceptional circumstances, the heads 
    of Federal departments and agencies may approve waivers to Federal 
    Information Processing Standards (FIPS). The head of such agency may 
    redelegate such authority only to a senior official designated 
    pursuant to section 3506(b) of Title 44, United States Code.
        Waivers shall be granted only when:
        a. Compliance with a standard would adversely affect the 
    accomplishment of the mission of an operator of a Federal computer 
    system, or
        b. Cause a major adverse financial impact on the operator which 
    is not offset by Governmentwide savings.
        Agency heads may act upon a written waiver request containing 
    the information detailed above. Agency heads may also act without a 
    written waiver request when they determine that conditions for 
    meeting the standard cannot be met. Agency heads may approve waivers 
    only by a written decision which explains the basis upon which the 
    agency head made the required finding(s). A copy of each such 
    decision, with procurement sensitive or classified portions clearly 
    identified, shall be sent to: National Institute of Standards and 
    Technology; ATTN: FIPS Waiver Decisions, Technology Building, room 
    B-154; Gaithersburg, MD 20899. In addition notice of each waiver 
    granted and each delegation of authority to approve waivers shall be 
    sent promptly to the Committee on Government Operations of the House 
    of Representatives and the Committee on Governmental Affairs of the 
    Senate and shall be published promptly in the Federal Register.
        When the determination on a waiver applies to the procurement of 
    equipment and/or services, a notice of the waiver determination must 
    be published in the Commerce Business Daily as a part of the notice 
    of solicitation for offers of an acquisition or, if the waiver 
    determination is made after that notice is published, by amendment 
    to such notice.
        A copy of the waiver, any supporting documents, the document 
    approving the waiver and any supporting and accompanying documents, 
    with such deletions as the agency is authorized and decides to make 
    under 5 U.S.C. Sec. 552(b), shall be part of the procurement 
    documentation and retained by the agency.
        13. Where to Obtain Copies. Copies of this publication are for 
    sale by the National Technical Information Service, U.S. Department 
    of Commerce, Springfield, VA 22161. (Sale of the included 
    specifications document is by arrangement with the American National 
    Standards Institute.) When ordering, refer to Federal Information 
    Processing Standards Publication 153-1 (FIPSPUB153-1) and title. 
    Payment may be made by check, money order, or deposit account.
    
    Appendix A
    
    The Family of Graphics Standards
    
        The following computer graphics standards are now available to 
    address the needs of government applications in creating, modifying, 
    manipulating, and exchanging computer-generated pictures:
         FIPS PUB 120-1, the Graphical Kernel System (GKS), 
    which adopts ANSI X3.124-1985;
         FIPS PUB 153-1, the Programmer's Hierarchical 
    Interactive Graphics System (PHIGS), which adopts ANSI/ISO 9592-
    1989;
         FIPS PUB 128-1, the Computer Graphics Metafile (CGM), 
    which adopts ANSI/ISO 8632-1992 and
         FIPS PUB 177, the Initial Graphics Exchange 
    Specification (IGES), which adopts ASME/ANSI Y14.24M-1989.
        In addition, the Computer Graphics Interface (CGI) has recently 
    become an International standard, and is expected to be issued as a 
    FIPs.
        These standards fall into two categories: Application 
    Programmer's Interface (API) standards, and Interoperability 
    standards. The goal of API standards is to enhance the portability 
    of graphics programs (and programmers) between installations and 
    environments. The goal of Interoperability standards is to enable 
    graphics data to be exchanged successfully between graphics systems 
    and devices.
        Figure 1 is a very simple reference model of a computer graphics 
    operating environment. The model emphasizes that a graphics 
    application program interacts with physical devices and human 
    operators via a computer graphics environment. Figure 1 also shows 
    that the application may receive information from an external 
    database.
        The output of the graphics program, as shown in Figure 1, is 
    directed to a virtual graphics device (i.e., Virtual Device 
    Interface or VDI) rather than directly to a physical device. A 
    Device Driver provides an interface, implemented in either hardware 
    or software, for translating virtual device commands to commands 
    understood by a particular physical device. By substituting one 
    device driver for another, an application can run on a different 
    physical device. This device independent is a central concept of 
    this graphics reference model.
        In Figure 1, the API standards reside in the box labelled the 
    Device Independent Graphics Package. Interoperability standards are 
    related to the boxes in Figure labelled Metafile, Database and 
    Virtual Device Interface. Figure 2 depicts the various graphics 
    standards associated with the general model shown in Figure 1. These 
    are discussed below.
    
    BILLING CODE 3510-CN-M
    
    TN17JN94.055
    
    
    BILLING CODE 3510-CN-C
    
    Application Programmer's Interface (API) Standards
    
        Standards at the API promote program and programmer portability. 
    A standard at this level specifies a set of operations on a variety 
    of graphics objects. An API standard provides for the portability of 
    applications across a wide range of computer hardware, operating 
    systems, programming languages, and graphics devices. A program 
    written to an API standard at one facility in one environment should 
    be easily transferable to another facility in a different 
    environment. Facility dependencies should be the major area 
    requiring modification.
        The specific functions supported by a particular API standard 
    provide certain capabilities. The application programmer, by 
    identifying the capabilities needed, determines the API better 
    suited for the application. As shown in Figure 2, there are 
    currently two graphics API standards, GKS and PHIGS.
        GKS provides a functional description of a two-dimensional (2D) 
    graphics interface. It provides the basic graphics support required 
    by a wide variety of applications requiring the production of 
    computer-generated pictures. A procedural language binding of a 
    functional standard specifies the exact name for each operation, its 
    parameter sequence, and the data types for the parameters. FORTRAN, 
    Pascal, Ada and C language bindings are parts of GKS.
        GKS is suitable for use in graphics programming applications 
    that employ a broad spectrum of graphics, from simple passive 
    graphics output (where pictures are produced solely by output 
    functions without interaction with an operator) to interactive 
    applications; and which control a whole range of graphics devices, 
    including but not limited to vector and raster devices, microfilm 
    recorders, storage tube displays, refresh displays, and color 
    displays.'
        PHIGS provides for the definition, display, modification, and 
    manipulation of 2D and 3D graphical data. It provides functionality 
    to support storage of graphics and application data in a 
    hierarchical form. Information may be inserted, changed, and deleted 
    from the hierarchical data storage with the functions provided by 
    PHIGS. Language binding specifications for PHIGS include FORTRAN, C 
    and Ada.
        PHIGS is specifically designed to meet the performance 
    requirements of such demanding applications as Computer Aided 
    Design/Computer Aided Engineering/Computer Aided Manufacturing, 
    command and control, molecular modeling, simulation and process 
    control.
        Capabilities in PHIGS but not in GKS include: the centralized 
    hierarchical data storage: the dynamic and responsive nature of 
    interactions; the addition of a modeling capability; and support for 
    color models other than Red-Green-Blue (RGB).
    
    Interoperability Standards
    
        Graphics Interoperability standards allow graphical data to be 
    interchanged between graphics devices. As shown in Figure 2, there 
    are three graphics interoperability standards, CGM, (future) CGI, 
    and IGES.
        CGM is used for the storage and transfer of picture description 
    information. It enables pictures to be recorded for long term 
    storage, and to be exchanged between graphics devices, system, and 
    installations. As indicated in Figure 2, the storage mechanism for 
    CGM is in the form of a neutral file formal called a metafile. The 
    software which creates the metafile is known as a CGM Generator. The 
    software which reads and displays a CGM metafile is known as an 
    Interpreter.
        CGM specifies a semantic interface that describes 2D graphical 
    entities using primitives (like polyline, text, and ellipse) and 
    attributes (like color, line width, interior style, and fonts). CGM 
    is compatible with the specification of 2D elements in GKS. A data 
    encoding specifies the exact sequence of bits used to represent each 
    operation and its parameters. CGM contains three types of data 
    stream encodings (binary, character, and clear text) to provide the 
    implementor choices depending on the particular application.
        IGES provides a method for representing and storing geometric, 
    topological, and nongeometric product definition data that is 
    independent of any one system. Where CGM transfers graphical 
    pictures, IGES transfers a graphical database which can be processed 
    to represent a picture. Thus IGES represents more than just purely 
    graphical data. As Figure 2 indicates, the storage mechanism for 
    IGES is in the form of a neutral file format that must be translated 
    by a Preprocessor and Postprocessor for conversion between systems. 
    IGES permits the compatible exchange of product definition data used 
    by various computer aided design/computer aided manufacturing (CAD/
    CAM) systems.
        The future CGI standard is designed to specify the exchange of 
    information at the Virtual Device Interface. It will provide an 
    interface between the device independent and device dependent parts 
    of a graphics system. Since CGI contains information at a virtual 
    level, it can be used to create a CGM. A CGM can also be output on a 
    CGI device in a straightforward manner.
    [FR Doc. 94-14779 Filed 6-16-94; 8:45 am]
    BILLING CODE 3510-CN-M
    
    
    

Document Information

Published:
06/17/1994
Department:
Commerce Department
Entry Type:
Uncategorized Document
Action:
Notice; request for comments.
Document Number:
94-14779
Dates:
Comments on this proposed revision must be recived on or before September 15, 1994.
Pages:
0-0 (1 pages)
Docket Numbers:
Federal Register: June 17, 1994, Docket No. 940541-4141