home *** CD-ROM | disk | FTP | other *** search
- From: Rick Kuhn <kuhn@swe.ncsl.nist.gov>
-
- The Federal Information Processing Standard (FIPS) for user interface systems
- was approved by the Secretary of Commerce on May 1. It will be
- published in the Federal Register as FIPS 158. The text is given below.
-
- Briefly, the FIPS adopts X11 Release 3 X protocol, Xlib, Xt, and bitmap
- distribution format as a non-compulsory standard for use by Federal
- agencies. Release 3 was specified rather than Release 4 because Release 3
- based products are much more widely available. NIST anticipates updating the
- standard as appropriate.
-
- Rick Kuhn
- Technology Bldg. B266
- National Institute of Standards and Technology
- (formerly National Bureau of Standards)
- Gaithersburg, Md. 20899
-
- +1 301/975-3337
- +1 301/590-0932 - FAX
-
- DDN: kuhn@swe.ncsl.nist.gov
- kuhn@hook.ncsl.nist.gov
- DRKuhn@dockmaster.ncsc.mil
-
-
- -------------------------------------------------------------------------------
-
-
-
- FEDERAL INFORMATION
- PROCESSING STANDARDS PUBLICATION
-
-
- Announcing the Standard for
-
- The User Interface Component of the
-
- Applications Portability Profile
-
- 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.
-
- Name of Standard. The User Interface Component of the
- Applications Portability Profile.
-
- Category of Standard. Software Standard, Application Program
- Interface.
-
- Explanation. This publication announces the adoption of the X
- Protocol, Xlib Interface, Xt Intrinsics and Bitmap Distribution
- Format specifications of the X Window System, Version 11, Release
- 3 (X Window System is a trademark of the Massachusetts Institute
- of Technology (MIT)) as a Federal Information Processing
- Standard. This standard is for use by computing professionals
- involved in system and application software development and
- implementation. This standard is part of a series of
- specifications needed for application portability.
-
-
- The Appendix
- to this standard contains a reference model for network-based
- bit-mapped graphic user interface standards. This standard
- covers the Data Stream Encoding, Data Stream Interface, and
- Subroutine Foundation layers of the reference model. It is the
- intention of NIST to provide standards for other layers of the
- reference model as consensus develops within industry.
-
- This
- standard addresses the user interface functional area of the
- Applications Portability Profile that was announced in FIPS 151,
- POSIX: Portable Operating System Interface for Computer
- Environments.
-
- Approving Authority. Secretary of Commerce.
-
- Maintenance Agency. U.S. Department of Commerce, National
- Institute of Standards and Technology (NIST), National Computer
- Systems Laboratory.
-
- Cross Index. The X Window System, Version 11, Release 3.
-
- Related Documents.
- a. Federal Information Resources Management Regulation
- 201-39, Acquisition of Federal Information Processing Resources by
- Contracting.
- b. Draft Proposed American National Standard X3J11/87-
- 140,"Programming Language C".
- c. FIPS 151, POSIX: Portable Operating System Interface for
- Computer Environments.
-
- Objectives. This FIPS permits Federal departments and agencies
- to exercise more effective control over the production,
- management, and use of the Government's information resources.
- The primary objectives of this FIPS are:
- a. To promote portability of computer application programs
- at the source code level.
- b. To simplify computer program documentation by the use of
- a standard portable system interface design.
- c. To reduce staff hours in porting computer programs to
- different vendor systems and architectures.
- d. To increase portability of acquired skills, resulting in
- reduced personnel training costs.
- e. To maximize the return on investment in generating or
- purchasing computer programs by insuring operating system
- compatibility.
- f. To provide ease of use in computer systems through
- network-based bit-mapped graphic user interfaces with a
- consistent appearance. This FIPS is not intended to specify a
- government-wide appearance or "look and feel", but to enable agencies to
- develop interfaces with a consistent appearance and behavior. Individual
- government organizations should determine their own policies in this area.
-
- Government-wide attainment of the above
- objectives depends upon the widespread availability and use of
- comprehensive and precise standard specifications.
-
- Applicability. This FIPS should be considered for network-based bit-
- mapped graphic systems
- that are either developed or acquired for
- government use where distributed/networked bit-mapped graphic
- interfaces to multi-user computer systems are required.
-
- Specifications. The specifications for this FIPS are the
- following documents from the X Window System, Version 11, Release
- 3. These specifications define a C language source code level
- interface to a network-based bit-mapped graphic system. The
- computer program source code contained in Version 11, Release 3
- is not part of the specifications for this FIPS. The
- specifications for this FIPS are the following documents from X
- Version 11, Release 3:
-
- a. X Window System Protocol, X Version 11,
- b. Xlib - C language X Interface,
- c. X Toolkit Intrinsics - C Language Interface,
- d. Bitmap Distribution Format 2.1.
-
-
- Implementation. This standard is effective (6 months after date
- of publication in the Federal Register). The other elements
- identified in the Appendix should be considered in planning for
- future procurements.
-
- a. Acquisition of a Conforming System. Organizations
- developing network-based bit-mapped graphic system applications
- which are to be acquired for Federal use after the effective date
- of this standard and which have applications portability as a
- requirement should consider the use of this FIPS. Conformance to
- this FIPS should be considered whether the network-based bit-
- mapped graphic system applications are:
- 1. developed internally,
- 2. acquired as part of an ADP system procurement,
- 3. acquired by separate procurement,
- 4. used under an ADP leasing arrangement, or
- 5. specified for use in contracts for programming
- services.
-
- b. Interpretation of the FIPS for the User Interface
- Component of the Applications Portability Profile. NIST
- provides for the resolution of questions regarding the FIPS
- specifications and requirements, and issues official
- interpretations as needed. All questions about the
- interpretation of this FIPS should be addressed to:
-
- Director
- National Computer Systems Laboratory
- Attn: APP User Interface Component FIPS
- Interpretation
- National Institute of Standards and Technology
- Gaithersburg, MD 20899
-
-
- c. Validation of Conforming Systems. The X Testing
- Consortium has developed a validation suite for measuring
- conformance to this standard. NIST is considering the use of the
- X Testing Consortium validation suite as the basis for an NIST
- validation suite for measuring conformance to this standard.
-
-
- 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 Massachusetts
- Institute of Technology and Digital Equipment Corporation.) When
- ordering, refer to Federal Information Processing Standards
- Publication ____ (FIPSPUB____), and title. Payment may be made
- by check, money order, or deposit account.
-
-
-
- APPENDIX
-
- The FIPS for User Interface is part of a series of FIPS for the
- Applications Portability Profile (APP), first announced in FIPS
- 151 (POSIX). The functional components of the APP constitute a
- "toolbox" of standard elements that can be used to develop and
- maintain portable applications. The APP is an open systems
- architecture based upon non-proprietary standards.
-
- One of the most neglected aspects of applications software
- portability is the requirement to maintain a consistent user
- interface across all systems on which the application resides.
- The FIPS for User Interface is the first step in responding to a
- critical need within the Federal community for a set of tools to
- develop standard user interfaces. It is the first in a series
- which we intend to adopt as user interface technology progresses
- and consensus emerges.
-
- This initial FIPS is based upon the X Window System [1] developed by
- the Massachusetts Institute of Technology (MIT) X Consortium.
- The X Window System assumes a client/server model of distributed
- computing, and user interface applications based upon bit-mapped
- graphic displays. With this system, software vendors can develop
- applications that incorporate such interfaces without being
- concerned about the underlying display hardware on which the
- application runs. In addition, the application need not be
- resident on the same computer system as the one to which the
- user's display is attached.
-
- The X Window System Version 11, Release 4 has not been
- specified because there will be a significant time lag before products are
- available based upon Release 4. To specify release 4 at this time
- would severely limit product availability and
- reduce competition. However, Release 4 will be upwardly compatible with
- Release 3. It is the intention of NIST to revise this FIPS as appropriate.
-
- This FIPS is not intended to specify a government-wide style or
- "look and feel", nor is it intended as a specification of a
- general programming interface for graphics applications. It is
- intended to lay a foundation for standards that will help Federal
- agencies develop and acquire network-based, bit-mapped graphic
- user interface applications.
-
- It is
- customary to develop applications using toolkit interfaces that are
- at a higher level than the interfaces covered by this FIPS (see Reference
- Model in the Appendix).
- The interfaces specified in this FIPS are not intended to be a complete
- solution for application user interface development, but rather to provide
- a foundation on which other layers will be added as consensus emerges
- within the industry.
- The interfaces specified in this FIPS represent the consensus of the
- industry for lower-level X Window System interfaces.
- Agencies that seek to ensure portability and to reduce conversion costs are
- advised to acquire systems that support the interfaces specified in this
- FIPS, as a future toolkit standard is expected to be based on these
- interfaces.
- Agencies should develop migration strategies to ease the transition from
- proprietary systems to an open systems environment.
- The complexity of the migration towards open systems depends largely upon
- the extent to which proprietary interfaces are used.
- When portions of an application must be developed using proprietary
- interfaces, portability may be reduced.
- Developers should be aware that the source code for a
- toolkit may be freely available. If the source
- code is available, then it should be ported along with the application to
- another system that supports components at lower layers of the reference
- model.
-
-
- The X Window System program services and interface specifications
- adopted by this FIPS provide the foundation for a set of vendor
- independent building blocks that can be used to develop user
- interface applications. These specifications, however, must be
- extended to provide the additional program services and interface
- specifications for user interface applications. These additional
- specifications will be based on the NIST User Interface reference
- model shown in Figure 1.
-
- National and international standards organizations may develop
- standards for components of this FIPS. In particular, ANSI
- X3H3.6 is preparing a standard for the X Protocol, and IEEE
- P1201 has initiated an effort to develop a standard for Xlib.
- It is desirable to have only a single standard for each component.
- Therefore, it is the intention of NIST to reference such standards as
- appropriate in a revision of this FIPS.
-
- The NIST User Interface reference model is a layered model which
- defines the program services and interfaces required for
- network-based, bit-mapped graphic user interface applications.
- This FIPS covers the Data Stream Encoding, Data Stream Interface,
- and Subroutine Foundation layers of the framework. These layers
- provide a foundation upon which standard components for higher
- layers of the framework may be built.
-
-
-
-
-
-
- NIST User Interface Reference Model
-
-
- Model Layer System Component
- -----------------------------------------------------------------
- 6: Application | Application
- -------------------------------------------|
- 5: Dialogue | | UIDL, UIMS
- -------------------------- |
- 4: Presentation | | UIDL, UIMS
- -------------------------------- |
- 3: Toolkit | | Toolkit
- -------------------------------------- |
- 2: Subroutine Foundation | | Xt Intrinsics
- -------------------------------------------|
- 1: Data Stream Interface | Xlib
- -------------------------------------------|
- 0: Data Stream Encoding | X Protocol
- -----------------------------------------------------------------
-
-
- FIGURE 1.
-
-
-
-
- Layer 0: Data Stream Encoding
-
- Data Stream Encoding defines the format and sequencing of byte
- streams passed between client and server. In the X Window
- System, the Data Stream Encoding is the X "wire" or "network"
- protocol. As a specification of message formats, the Data Stream
- Encoding is independent of operating system, programming
- language, or network communication.
-
-
- Layer 1: Data Stream Interface
-
- The Data Stream Interface specifies a function call interface to
- build the messages defined in the Data Stream Encoding layer. In
- C programs for X, this interface is the Xlib function library. The Data Stream
- Interface converts parameters passed from a program into the bit
- stream that is transmitted over the network, and converts
- messages from the server into values passed to the program. The
- Data Stream Interface provides access to basic graphic functions
- from Layer 0, and may support system functions such as error
- handling and synchronization.
-
-
-
-
-
-
- Layer 2: Subroutine Foundation
-
- The Subroutine Foundation uses features of the Data Stream
- Interface to provide the means to build components of window
- interfaces such as scroll bars. Functions often provided by the
- Subroutine Foundation include initialization and destruction of
- objects, management of events and object hierarchy, and the
- saving and restoration of interface state. The Subroutine
- Foundation can be thought of as a toolkit with which to build
- toolkits. The X Window System's Xt Intrinsics set is a Subroutine
- Foundation for X.
-
-
- Layer 3: Toolkit
-
- Components such as menus, pushbuttons, scroll bars, or help boxes
- can be used to build an application interface. These
- "prefabricated" components make up the Toolkit. The components
- of Toolkits vary with vendors, but they typically contain most of
- the common user interface elements.
-
-
- Layer 4: Presentation
-
- The Presentation layer determines the appearance of the user
- interface, including aspects such as size, style, and color. It
- specifies how the components in the Toolkit should be composed to
- create windows. The appearance may be specified using a User
- Interface Definition Language (UIDL) and may be enforced by a window manager,
- which controls the size and location of windows, and decorates
- windows in the style specified by the user.
-
- Layer 5: Dialogue
-
- The Dialogue layer coordinates the interaction between the
- computer system and the user. It can be thought of as a mediator
- between the user and the application program. Communication
- between user and application program is through the Dialogue
- layer, which may be implemented by a User Interface Management
- System (UIMS). The user/application interaction is specified by
- a "dialogue" that associates user actions, such as clicking on a
- menu item, with application actions. Some UIMS tools can accept
- a dialogue and a presentation style from which to generate an
- instance of the UIMS that controls the interaction between user
- and application.
-
-
-
-
-
- Layer 6: Application
-
- The application program implements the functions required by the
- user. Its interaction with the user is through the Dialogue
- layer. The application may call routines at the Toolkit, Subroutine
- Foundation, or Data Stream Interface levels as well, but portability may be
- reduced.
-
-
-
-
- PLANS
-
- The FIPS for User Interface is an integral component of the APP.
- As with other components of the APP, the specifications adopted
- by this FIPS are expected to evolve as the technology matures, as
- additional experience using the technology is gained, and as
- consensus broadens in the national and international standards
- arena. NIST has established a process to ensure that the FIPS
- will evolve in a manner that serves the interests of both users
- who employ these specifications to acquire products and vendors
- who use them to build products.
-
- Both users and vendors are included in this process through an
- ongoing series of APP User Workshops and APP Implementor
- Workshops. The user workshops provide information on the
- evolving definition of the User Interface Component as well as
- other APP specifications. They also serve as a forum for users
- to identify user priorities and to provide input and feedback.
- The implementor workshops provide a forum for vendors to discuss
- the APP specifications and to provide feedback on the technical
- merits of the NIST proposals. The implementor workshops are
- designed to ensure that there is consensus on the part of the
- vendors building products to the evolving APP specifications.
-
-
- [1] Scheifler, R.W., and J. Gettys, "The X Window System," ACM
- Transactions on Graphics, Vol. 5, No. 2, April, 1986.
-
- Volume-Number: Volume 19, Number 102
-
-