home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / std_unix / volume.19 / text0098.txt < prev    next >
Encoding:
Internet Message Format  |  1990-05-17  |  18.0 KB

  1. From: Rick Kuhn <kuhn@swe.ncsl.nist.gov>
  2.  
  3. The Federal Information Processing Standard (FIPS) for user interface systems
  4. was approved by the Secretary of Commerce on May 1.  It will be
  5. published in the Federal Register as FIPS 158.  The text is given below.
  6.  
  7. Briefly, the FIPS adopts X11 Release 3 X protocol, Xlib, Xt, and bitmap 
  8. distribution format as a non-compulsory standard for use by Federal 
  9. agencies.  Release 3 was specified rather than Release 4 because Release 3 
  10. based products are much more widely available.  NIST anticipates updating the 
  11. standard as appropriate.  
  12.  
  13. Rick Kuhn
  14. Technology Bldg.  B266
  15. National Institute of Standards and Technology
  16. (formerly National Bureau of Standards)
  17. Gaithersburg, Md.  20899
  18.  
  19. +1 301/975-3337
  20. +1 301/590-0932 - FAX
  21.  
  22. DDN:    kuhn@swe.ncsl.nist.gov  
  23.         kuhn@hook.ncsl.nist.gov  
  24.         DRKuhn@dockmaster.ncsc.mil
  25.  
  26.  
  27. -------------------------------------------------------------------------------
  28.  
  29.  
  30.  
  31.                   FEDERAL INFORMATION 
  32.              PROCESSING STANDARDS PUBLICATION  
  33.   
  34.   
  35.                 Announcing the Standard for  
  36.  
  37.             The User Interface Component of the
  38.  
  39.               Applications Portability Profile
  40.  
  41. Federal Information Processing Standards Publications (FIPS PUBS)
  42. are issued by the National Institute of Standards and Technology
  43. after approval by the Secretary of Commerce pursuant to Section
  44. 111(d) of the Federal Property and Administrative Services Act of
  45. 1949 as amended by the Computer Security Act of 1987, Public Law
  46. 100-235. 
  47.    
  48. Name of Standard.  The User Interface Component of the
  49. Applications Portability Profile.
  50.   
  51. Category of Standard.  Software Standard, Application Program
  52. Interface.
  53.   
  54. Explanation.  This publication announces the adoption of the X
  55. Protocol, Xlib Interface, Xt Intrinsics and Bitmap Distribution
  56. Format specifications of the X Window System, Version 11, Release
  57. 3 (X Window System is a trademark of the Massachusetts Institute
  58. of Technology (MIT)) as a Federal Information Processing
  59. Standard. This standard is for use by computing professionals
  60. involved in system and application software development and
  61. implementation.  This standard is part of a series of
  62. specifications needed for application portability.  
  63.  
  64.  
  65. The Appendix
  66. to this standard contains a reference model for network-based
  67. bit-mapped graphic user interface standards.  This standard
  68. covers the Data Stream Encoding, Data Stream Interface, and
  69. Subroutine Foundation layers of the reference model.  It is the
  70. intention of NIST to provide standards for other layers of the
  71. reference model as consensus develops within industry.  
  72.  
  73. This
  74. standard addresses the user interface functional area of the
  75. Applications Portability Profile that was announced in FIPS 151,
  76. POSIX: Portable Operating System Interface for Computer
  77. Environments.   
  78.  
  79. Approving Authority.  Secretary of Commerce.  
  80.   
  81. Maintenance Agency.   U.S. Department of Commerce, National
  82. Institute of Standards and Technology (NIST), National Computer
  83. Systems Laboratory.
  84.  
  85. Cross Index.  The X Window System, Version 11, Release 3.  
  86.  
  87. Related Documents.  
  88.     a. Federal Information Resources Management Regulation
  89. 201-39, Acquisition of Federal Information Processing Resources by
  90. Contracting.
  91.     b. Draft Proposed American National Standard X3J11/87-
  92. 140,"Programming Language C".   
  93.     c. FIPS 151, POSIX:  Portable Operating System Interface for
  94. Computer Environments.
  95.  
  96. Objectives.   This FIPS permits Federal departments and agencies
  97. to exercise more effective control over the production,
  98. management, and use of the Government's information resources.
  99. The primary objectives of this FIPS are: 
  100.     a. To promote portability of computer application programs
  101. at the source code level.  
  102.     b. To simplify computer program documentation by the use of
  103. a standard portable system interface design.  
  104.     c. To reduce staff hours in porting computer programs to
  105. different vendor systems and architectures.  
  106.     d. To increase portability of acquired skills, resulting in
  107. reduced personnel training costs.  
  108.     e. To maximize the return on investment in generating or
  109. purchasing computer programs by insuring operating system
  110. compatibility.  
  111.     f. To provide ease of use in computer systems through
  112. network-based bit-mapped graphic user interfaces with a
  113. consistent appearance.  This FIPS is not intended to specify a
  114. government-wide appearance or "look and feel", but to enable agencies to
  115. develop interfaces with a consistent appearance and behavior.  Individual
  116. government organizations should determine their own policies in this area.
  117.  
  118. Government-wide attainment of the above
  119. objectives depends upon the widespread availability and use of
  120. comprehensive and precise standard specifications. 
  121.   
  122. Applicability.  This FIPS should be considered for network-based bit-
  123. mapped graphic systems 
  124. that are either developed or acquired for
  125. government use where distributed/networked bit-mapped graphic
  126. interfaces to multi-user computer systems are required.  
  127.  
  128. Specifications.  The specifications for this FIPS are the
  129. following documents from the X Window System, Version 11, Release
  130. 3.  These specifications define a C language source code level
  131. interface to a network-based bit-mapped graphic system.  The
  132. computer program source code contained in Version 11, Release 3
  133. is not part of the specifications for this FIPS.  The
  134. specifications for this FIPS are the following documents from X
  135. Version 11, Release 3:
  136.  
  137.     a. X Window System Protocol, X Version 11,
  138.     b. Xlib - C language X Interface,
  139.     c. X Toolkit Intrinsics - C Language Interface,
  140.     d. Bitmap Distribution Format 2.1.
  141.  
  142.  
  143. Implementation.  This standard is effective (6 months after date
  144. of publication in the Federal Register).  The other elements
  145. identified in the Appendix should be considered in planning for
  146. future procurements. 
  147.  
  148.     a.  Acquisition of a Conforming System.  Organizations
  149. developing network-based bit-mapped graphic system applications
  150. which are to be acquired for Federal use after the effective date
  151. of this standard and which have applications portability as a
  152. requirement should consider the use of this FIPS.  Conformance to
  153. this FIPS should be considered whether the network-based bit-
  154. mapped graphic system applications are: 
  155.         1. developed internally,  
  156.         2. acquired as part of an ADP system procurement,  
  157.         3. acquired by separate procurement,  
  158.         4. used under an ADP leasing arrangement, or 
  159.         5. specified for use in contracts for programming
  160. services.  
  161.  
  162.     b.  Interpretation of the FIPS for the User Interface
  163. Component of the Applications Portability Profile.    NIST
  164. provides for the resolution of questions regarding the FIPS
  165. specifications and requirements, and issues official
  166. interpretations as needed.  All questions about the
  167. interpretation of this FIPS should be addressed to: 
  168.  
  169. Director 
  170. National Computer Systems Laboratory
  171. Attn: APP User Interface Component FIPS
  172. Interpretation 
  173. National Institute of Standards and Technology 
  174. Gaithersburg, MD 20899 
  175.  
  176.  
  177.     c.  Validation of Conforming Systems.    The X Testing
  178. Consortium has developed a validation suite for measuring
  179. conformance to this standard.  NIST is considering the use of the
  180. X Testing Consortium validation suite as the basis for an NIST
  181. validation suite for measuring conformance to this standard.
  182.  
  183.  
  184. Where to Obtain Copies:  Copies of this publication are for sale
  185. by the National Technical Information Service, U.S. Department of
  186. Commerce, Springfield, VA 22161.  (Sale of the included
  187. specifications document is by arrangement with the Massachusetts
  188. Institute of Technology and Digital Equipment Corporation.)  When
  189. ordering, refer to Federal Information Processing Standards
  190. Publication ____ (FIPSPUB____), and title.  Payment may be made
  191. by check, money order, or deposit account. 
  192.  
  193.  
  194.  
  195. APPENDIX
  196.  
  197. The FIPS for User Interface is part of a series of FIPS for the
  198. Applications Portability Profile (APP), first announced in FIPS
  199. 151 (POSIX).  The functional components of the APP constitute a
  200. "toolbox" of standard elements that can be used to develop and
  201. maintain portable applications.  The APP is an open systems
  202. architecture based upon non-proprietary standards.  
  203.  
  204. One of the most neglected aspects of applications software
  205. portability is the requirement to maintain a consistent user
  206. interface across all systems on which the application resides.
  207. The FIPS for User Interface is the first step in responding to a
  208. critical need within the Federal community for a set of tools to
  209. develop standard user interfaces.  It is the first in a series
  210. which we intend to adopt as user interface technology progresses
  211. and consensus emerges.  
  212.  
  213. This initial FIPS is based upon the X Window System [1] developed by
  214. the Massachusetts Institute of Technology (MIT) X Consortium. 
  215. The X Window System assumes a client/server model of distributed
  216. computing, and user interface applications based upon bit-mapped
  217. graphic displays.  With this system, software vendors can develop
  218. applications that incorporate such interfaces without being
  219. concerned about the underlying display hardware on which the
  220. application runs.  In addition, the application need not be
  221. resident on the same computer system as the one to which the
  222. user's display is attached.
  223.  
  224. The X Window System Version 11, Release 4 has not been
  225. specified because there will be a significant time lag before products are
  226. available based upon Release 4.  To specify release 4 at this time 
  227. would severely limit product availability and
  228. reduce competition.  However, Release 4 will be upwardly compatible with
  229. Release 3.  It is the intention of NIST to revise this FIPS as appropriate.
  230.  
  231. This FIPS is not intended to specify a government-wide style or
  232. "look and feel", nor is it intended as a specification of a
  233. general programming interface for graphics applications.  It is
  234. intended to lay a foundation for standards that will help Federal
  235. agencies develop and acquire network-based, bit-mapped graphic
  236. user interface applications.  
  237.  
  238. It is
  239. customary to develop applications using toolkit interfaces that are 
  240. at a higher level than the interfaces covered by this FIPS (see Reference
  241. Model in the Appendix).  
  242. The interfaces specified in this FIPS are not intended to be a complete
  243. solution for application user interface development, but rather to provide
  244. a foundation on which other layers will be added as consensus emerges
  245. within the industry.
  246. The interfaces specified in this FIPS represent the consensus of the
  247. industry for lower-level X Window System interfaces.  
  248. Agencies that seek to ensure portability and to reduce conversion costs are
  249. advised to acquire systems that support the interfaces specified in this
  250. FIPS, as a future toolkit standard is expected to be based on these
  251. interfaces.
  252. Agencies should develop migration strategies to ease the transition from
  253. proprietary systems to an open systems environment.
  254. The complexity of the migration towards open systems depends largely upon
  255. the extent to which proprietary interfaces are used.
  256. When portions of an application must be developed using proprietary 
  257. interfaces, portability may be reduced.
  258. Developers should be aware that the source code for a
  259. toolkit may be freely available.  If the source
  260. code is available, then it should be ported along with the application to
  261. another system that supports components at lower layers of the reference
  262. model.
  263.   
  264.  
  265. The X Window System program services and interface specifications
  266. adopted by this FIPS provide the foundation for a set of vendor
  267. independent building blocks that can be used to develop user
  268. interface applications.  These specifications, however, must be
  269. extended to provide the additional program services and interface
  270. specifications for user interface applications.  These additional
  271. specifications will be based on the NIST User Interface reference
  272. model shown in Figure 1.  
  273.  
  274. National and international standards organizations may develop
  275. standards for components of this FIPS.  In particular, ANSI
  276. X3H3.6 is preparing a standard for the X Protocol, and IEEE
  277. P1201 has initiated an effort to develop a standard for Xlib.
  278. It is desirable to have only a single standard for each component.
  279. Therefore, it is the intention of NIST to reference such standards as
  280. appropriate in a revision of this FIPS.
  281.  
  282. The NIST User Interface reference model is a layered model which
  283. defines the program services and interfaces required for
  284. network-based, bit-mapped graphic user interface applications.
  285. This FIPS covers the Data Stream Encoding, Data Stream Interface,
  286. and Subroutine Foundation layers of the framework.  These layers
  287. provide a foundation upon which standard components for higher
  288. layers of the framework may be built. 
  289.  
  290.  
  291.  
  292.  
  293.  
  294.  
  295. NIST User Interface Reference Model 
  296.  
  297.  
  298.   Model Layer                                System Component 
  299. -----------------------------------------------------------------
  300. 6:  Application                            | Application 
  301. -------------------------------------------| 
  302. 5:  Dialogue             |                 | UIDL, UIMS 
  303. --------------------------                 |
  304. 4:  Presentation         |                 | UIDL, UIMS
  305. --------------------------------           |
  306. 3:  Toolkit                    |           | Toolkit 
  307. --------------------------------------     |
  308. 2:  Subroutine Foundation            |     | Xt Intrinsics 
  309. -------------------------------------------| 
  310. 1:  Data Stream Interface                  | Xlib
  311. -------------------------------------------| 
  312. 0:  Data Stream Encoding                   | X Protocol 
  313. -----------------------------------------------------------------
  314.  
  315.  
  316.                         FIGURE 1. 
  317.  
  318.  
  319.  
  320.  
  321. Layer 0:  Data Stream Encoding 
  322.  
  323. Data Stream Encoding defines the format and sequencing of byte
  324. streams passed between client and server.  In the X Window
  325. System, the Data Stream Encoding is the X "wire" or "network"
  326. protocol.  As a specification of message formats, the Data Stream
  327. Encoding is independent of operating system, programming
  328. language, or network communication. 
  329.  
  330.  
  331. Layer 1:  Data Stream Interface 
  332.  
  333. The Data Stream Interface specifies a function call interface to
  334. build the messages defined in the Data Stream Encoding layer.  In
  335. C programs for X, this interface is the Xlib function library. The Data Stream
  336. Interface converts parameters passed from a program into the bit
  337. stream that is transmitted over the network, and converts
  338. messages from the server into values passed to the program. The
  339. Data Stream Interface provides access to basic graphic functions
  340. from Layer 0, and may support system functions such as error
  341. handling and synchronization. 
  342.  
  343.  
  344.  
  345.  
  346.  
  347.  
  348. Layer 2:  Subroutine Foundation 
  349.  
  350. The Subroutine Foundation uses features of the Data Stream
  351. Interface to provide the means to build components of window
  352. interfaces such as scroll bars.  Functions often provided by the
  353. Subroutine Foundation include initialization and destruction of
  354. objects, management of events and object hierarchy, and the
  355. saving and restoration of interface state.  The Subroutine
  356. Foundation can be thought of as a toolkit with which to build
  357. toolkits. The X Window System's Xt Intrinsics set is a Subroutine
  358. Foundation for X. 
  359.  
  360.  
  361. Layer 3:  Toolkit 
  362.  
  363. Components such as menus, pushbuttons, scroll bars, or help boxes
  364. can be used to build an application interface.  These
  365. "prefabricated" components make up the Toolkit.  The components
  366. of Toolkits vary with vendors, but they typically contain most of
  367. the common user interface elements. 
  368.  
  369.  
  370. Layer 4:  Presentation
  371.  
  372. The Presentation layer determines the appearance of the user
  373. interface, including aspects such as size, style, and color.  It
  374. specifies how the components in the Toolkit should be composed to
  375. create windows.  The appearance may be specified using a User
  376. Interface Definition Language (UIDL) and may be enforced by a window manager,
  377. which controls the size and location of windows, and decorates
  378. windows in the style specified by the user.
  379.  
  380. Layer 5:  Dialogue
  381.  
  382. The Dialogue layer coordinates the interaction between the
  383. computer system and the user. It can be thought of as a mediator
  384. between the user and the application program.   Communication
  385. between user and application program is through the Dialogue
  386. layer, which may be implemented by a User Interface Management
  387. System (UIMS).  The user/application interaction is specified by
  388. a "dialogue" that associates user actions, such as clicking on a
  389. menu item, with application actions.  Some UIMS tools can accept
  390. a dialogue and a presentation style from which to generate an
  391. instance of the UIMS that controls the interaction between user
  392. and application.
  393.  
  394.  
  395.  
  396.  
  397.  
  398. Layer 6:  Application 
  399.  
  400. The application program implements the functions required by the
  401. user.  Its interaction with the user is through the Dialogue
  402. layer.  The application may call routines at the Toolkit, Subroutine
  403. Foundation, or Data Stream Interface levels as well, but portability may be
  404. reduced.
  405.  
  406.  
  407.  
  408.  
  409. PLANS
  410.  
  411. The FIPS for User Interface is an integral component of the APP.
  412. As with other components of the APP, the specifications adopted
  413. by this FIPS are expected to evolve as the technology matures, as
  414. additional experience using the technology is gained, and as
  415. consensus broadens in the national and international standards
  416. arena.  NIST has established a process to ensure that the FIPS
  417. will evolve in a manner that serves the interests of both users
  418. who employ these specifications to acquire products and vendors
  419. who use them to build products. 
  420.  
  421. Both users and vendors are included in this process through an
  422. ongoing series of APP User Workshops and APP Implementor
  423. Workshops.  The user workshops provide information on the
  424. evolving definition of the User Interface Component as well as
  425. other APP specifications.  They also serve as a forum for users
  426. to identify user priorities and to provide input and feedback. 
  427. The implementor workshops provide a forum for vendors to discuss
  428. the APP specifications and to provide feedback on the technical
  429. merits of the NIST proposals.  The implementor workshops are
  430. designed to ensure that there is consensus on the part of the
  431. vendors building products to the evolving APP specifications. 
  432.  
  433.  
  434. [1] Scheifler, R.W., and J. Gettys, "The X Window System,"  ACM
  435. Transactions on Graphics, Vol. 5, No. 2, April, 1986. 
  436.  
  437. Volume-Number: Volume 19, Number 102
  438.  
  439.