[Federal Register Volume 59, Number 131 (Monday, July 11, 1994)]
[Unknown Section]
[Page 0]
From the Federal Register Online via the Government Publishing Office [www.gpo.gov]
[FR Doc No: 94-16665]


[[Page Unknown]]

[Federal Register: July 11, 1994]


-----------------------------------------------------------------------

DEPARTMENT OF COMMERCE
National Institute of Standards and Technology
[Docket No. 940684-4184]
RIN 0693-AB32

 

Proposed Revision of Federal Information Processing Standard 
(FIPS) 21-3, COBOL

AGENCY: National Institute of Standards and Technology (NIST), 
Commerce.

ACTION: Notice; Request for comments.

-----------------------------------------------------------------------

SUMMARY: This proposed revision of Federal Information Processing 
Standard (FIPS) 21-3, COBOL, which adopts ANSI X3.23-1985, and ANSI 
X3.23a 1989, is being proposed for Federal use. This revision will 
adopt the forthcoming amendment (ANSI X3.23b-1993) to American National 
Standard for COBOL which adds corrections and clarification to the 
language. The proposed amendment is upwardly compatible with the 
current standard except for the reserved word FUNCTION.
    Prior to the submission of this proposed revision to FIPS PUB 21-3 
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 FIPS contains two sections: (1) An announcement 
section, which provides information concerning the applicability, 
implementation, and maintenance of the standard; and (2) a 
specifications section which deals with the technical requirements of 
the standard. Only the announcement section of the standard is provided 
in this notice. Interested parties may obtain copies of the 
specifications (ANSI X3.23-1985, ANSI X3.23a-1989, and ANSI X3.23b-
1993) 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 received on or before 
October 11, 1994.

ADDRESSES: Written comments concerning the adoption of this proposed 
revision as FIPS 21-4 should be sent to: Director, Computer Systems 
Laboratory, ATTN: Proposed Revision of FIPS 21-3, COBOL, Technology 
Building, Room B-154, 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. Arnold Johnson, National Institute of Standards and Technology, 
Gaithersburg, MD 20899, (301) 975-3247.

    Dated: July 5, 1994.
Samuel Kramer,
Associate Director.

Federal Information Processing Standards Publication 21-4

[proposed]

Announcing the Standard for COBOL

    Federal Information Processing Standards Publications (FIPS PUBS) 
are issued by the National Institute of Standards and Technology (NIST) 
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. COBOL (FIPS PUBS 21-4)
    2. Category of Standard. Software Standard, Programming Language.
    3. Explanation. This publication announces the adoption of American 
National Standard COBOL, as specified in ANSI X3.23-1985, X3.23a-1989 
and ANSI X3.23b-1993, as a Federal Information Processing Standard 
(FIPS) This revision supersedes FIPS PUB 21-3 and reflects corrections 
and clarifications to the COBOL specifications. The American National 
Standards define the elements of the COBOL programming language and the 
rules for their use. The purpose of the standards is to promote 
portability of COBOL programs for use on a variety of data processing 
systems. The standards are used by implementors as the reference 
authority in developing processors and by users who need to know the 
precise syntactic and semantic rules of the standard language.
    4. Approving Authority. Secretary of Commerce.
    5. Maintenance Agency. Department of Commerce, National Institute 
of Standards and Technology (NIST).
    6. Cross Index.
    a. American National Standard for Information Systems--Programming 
Language--COBOL, ANSI X3.23-1985, ISO 1989-1985.
    b. American National Standard for Information Systems--Programming 
Language--Intrinsic Function Module for COBOL, ANSI X3.23a-1989.
    c. American National Standard for Information Systems--Programming 
Language--Correction and Clarification Amendment for COBOL, ANSI 
X3.23b-1993.
    7. Related Documents.*
---------------------------------------------------------------------------

    *References to most recent revision of FIPS PUBS.
---------------------------------------------------------------------------

    a. Federal Information Resources Management Regulation (FIRMR) 
Subpart 201.20.303, Standards, and Subpart 201.39.1002, Federal 
Standards.
    b. Federal Information Processing Standards Publication 29, 
Interpretation Procedures for Federal Information Processing Standards 
for Software.
    c. NBS Special Publication 500-117, Selection and Use of General-
Purpose Programming Languages.
    8. Objectives. Federal standards for high level programming 
languages permit 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 Federal 
programming language standards are:

--To encourage more effective utilization and management of programmers 
by insuring that programming skills acquired on one job are 
transportable to other jobs, thereby reducing the cost of programmer 
re-training;
--To reduce the cost of program development by achieving the increased 
programmer productivity that is inherent in the use of high level 
programming languages;
--To reduce the overall software costs by making it easier and less 
expensive to maintain programs and to transfer programs among different 
computer systems, including replacement systems; and
--To protect the existing software assets of the Federal Government by 
insuring to the maximal feasible extent that Federal programming 
language standards are technically sound and that subsequent revisions 
are compatible with the installed base.

    9. Applicability.
    a. Federal standards for high level programming languages should be 
used for computer applications and programs that are either developed 
or acquired for government use. FIPS COBOL is one of the high level 
programming language standards provided for use by all Federal 
departments and agencies. FIPS COBOL is especially suited for 
applications that emphasize the manipulation of characters, records, 
files, and input/output (in contrast to those primarily concerned with 
scientific and numeric computations).
    b. The use of FIPS high level programming languages is strongly 
recommended when one or more of the following situations exist:

--It is anticipated that the life of the program will be longer than 
the life of the presently utilized equipment.
--The application or program is under constant review for updating of 
the specifications, and changes may result frequently.
--The application is being designed and programmed centrally for a 
decentralized system that employs computers of different makes, models 
and configurations.
--The program will or might be run on equipment other than for which 
the program is initially written.
--The program is to be understood and maintained by programmers other 
than the original ones.
--The advantages of improved program design, debugging, documentation 
and intelligibility can be obtained through the use of this high level 
language regardless of interchange potential.
--The program is or is likely to be used by organizations outside the 
Federal Government (i.e., State and local governments, and others).

    c. Nonstandard language features should be used only when the 
needed operation or function cannot reasonably be implemented with the 
standard features alone. Although nonstandard language features can be 
very useful, it should be recognized that their use may make the 
interchange of programs and future conversion to a revised standard or 
replacement processor more difficult and costly.
    d. It is recognized that programmatic requirements may be more 
economically and efficiently satisfied through the use of report 
generation, database management, or text processing languages. The use 
of any facility should be considered in the context of system life, 
system cost, data integrity, and the potential for data sharing.
    e. Programmatic requirements may be also more economically and 
efficiently satisfied by the use of automatic program generators. 
However, if the final output of a program generator is a COBOL source 
program, then the resulting program should conform to the conditions 
and specifications of FIPS COBOL.
    f. When it is determined that a programming language that has been 
adopted as a FIPS is to be used for an application or program, a 
processor conforming to the FIPS programming language shall be used, if 
available. It is not intended that existing programs be rewritten 
solely for the purpose of conforming to a FIPS programming language. If 
a program is to be part of an existing application written in a 
programming language not conforming to a FIPS, the language processor 
used for the existing application may be used for the new program.
    10. Specifications. FIPS COBOL specifications are the same as 
American National Standard COBOL as specified in ANSI X3.23-1985, ANSI 
X3.23a-1989 and ANSI X3.23b-1993.
    ANSI X3.23-1985, ANSI X3.23a-1989 and ANSI X3.23a-1993 specify the 
form of a program written in COBOL, formats for data, and rules for 
program and data interpretation.
    The standards do not specify limits on the size of programs, 
minimum system requirements, the means of supervisory control of 
programs, or the means of transforming programs internally for 
processing.
    In addition, the following requirements apply:
    a. For purposes of FIPS COBOL, the modules defined in ANSI X3.23-
1985 and ANSI X3.23a-1989 are combined into three subsets and four 
optional modules. The three subsets are identified as Minimum, 
Intermediate, and High. The four optional modules are Report Writer, 
Communication, Debug, and Segmentation. These four optional modules may 
be associated with any of the subsets.
    The high subset is composed of all language elements of the highest 
level of all required modules. The intermediate subset is composed of 
all language elements of level 1 of all required modules except the 
Intrinsic Function module. The minimum subset is composed of all 
language elements of level 1 of the Nucleus, Sequential I-O, and Inter-
Program Communication modules.
    The following table reflects the composition of the required 
subsets and the relationship of the subsets and the optional modules. 
The numbers in the table refer to the level within a module as 
designated in ANSI X3.23-1985 and ANSI X3.23A-1989, and a dash denotes 
the corresponding module is omitted or may be omitted.

----------------------------------------------------------------------------------------------------------------
                                                                               COBOL subsets                    
                         Modules                           -----------------------------------------------------
                                                                Minimum         Intermediate          High      
----------------------------------------------------------------------------------------------------------------
Required:                                                                                                       
    Nucleus...............................................  1                 1                 2.              
    Sequential I-O........................................  1                 1                 2.              
    Relative I-O..........................................  -                 1                 2.              
    Indexed I-O...........................................  -                 1                 2.              
    Inter-Program Communication...........................  1                 1                 2.              
    Sort-Merge............................................  -                 1                 1.              
    Source Text Manipulation..............................  -                 1                 2.              
    Intrinsic Function....................................  -                 -                 1.              
Optional:                                                                                                       
    Report Writer.........................................  -, or 1           -, or 1           -, or 1.        
    Communication.........................................  -, 1, or 2        -, 1, or 2        -, 1, or 2.     
    Debug.................................................  -, 1, or 2        -, 1, or 2        -, 1, or 2.     
    Segmentation..........................................  -, 1, or 2        -, 1, or 2        -, 1, or 2.     
----------------------------------------------------------------------------------------------------------------

    b. A facility must be available in the processor for the user to 
optionally specify monitoring of the source program at compile time. 
The monitoring may be specified for a FIPS COBOL subset, for any of the 
optional modules, for all of the obsolete language elements included in 
the processor, or for a combination of a FIPS COBOL subset, optional 
modules, and all obsolete elements. The monitoring may be specified for 
any FIPS COBOL subset at or below the highest subset for which the 
processor is implemented and for a level of an optional module at or 
below the level of the optional module for which the processor is 
implemented. The monitoring is an analysis of the syntax used in the 
source program against the syntax included in the user selected FIPS 
COBOL subset and optional modules. Any syntax used in the source 
program that does not conform to that included in the user selected 
FIPS COBOL subset and optional modules will be diagnosed and identified 
to the user through a message on the source program listing. Any syntax 
for an obsolete language element included in the processor and used in 
the source program will also be diagnosed and identified through a 
message on the source program listing. The determination of the need to 
flag any given source program syntax in accordance with these 
requirements cannot be logically resolved until the syntactic 
correctness of the source program has been established. The message 
provided will identify:

--The level indicator, clause, statement or header that directly 
contains the nonconforming or obsolete syntax. (For the purpose of this 
requirement the definitions of level indicator, clause, statement and 
header contained in American National Standard COBOL, ANSI X3.23-1985, 
Section III, Glossary, and the definition of syntax contained in 
American National Dictionary for Information Processing Systems, 
(ANDIS), ANSI X3.172-1990, apply.)
--The source program line and an indication of the beginning location 
within the line of the level indicator, clause, statement or header 
which contains the nonconforming or obsolete syntax.
--The syntax as ``nonconforming standard'' if the nonconforming syntax 
is included in the processor but is not within the user selected FIPS 
COBOL subset or optional modules unless monitoring is selected for the 
obsolete category; in that case obsolete language elements are only 
flagged as ``obsolete''.
--The syntax as ``nonconforming nonstandard'' if the nonconforming 
syntax is a nonstandard extension included in the processor.
--The syntax as ``obsolete'' if the syntax identified is in the 
obsolete category within a FIPS COBOL subset or optional module 
included in the processor.

    11. Implementation. The implementation of FIPS COBOL involves three 
areas of consideration: acquisition of COBOL processors, interpretation 
of FIPS COBOL, and validation of COBOL processors.
    11.1  Acquisition of COBOL Processors. This publication is 
effective [insert a date 90 days after the approval date]. COBOL 
processors acquired for Federal use after this date should implement at 
least one of the required subsets of FIPS COBOL. If the functionality 
of one or more of the optional modules meets programmatic requirements, 
then those optional modules also should be acquired. Each optional 
module that is needed to meet programmatic requirements should be 
explicitly cited as a requirement in the order for the processor. 
Conformance to FIPS COBOL should be considered whether COBOL processors 
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.
    A transition period provides time for industry to produce COBOL 
processors conforming to the standard. The transition period begins on 
the effective date and continues for one (1) year thereafter. The 
following apply during the transition period:
    a. The provisions of FIPS PUB 21-3 apply to processors ordered 
before the effective date but delivered subsequent to the effective 
date.
    b. The provisions of this publication apply to orders placed after 
the effective date; however, a processor conforming to FIPS PUB 21-4, 
if available, may be acquired for use prior to the effective date. If a 
conforming processor is not available, a processor conforming to FIPS 
PUB 21-3 may be acquired for interim use during the transition period.
    11.2  Interpretation of FIPS COBOL. NIST provides for the 
resolution of questions regarding FIPS COBOL specifications and 
requirements, and issues official interpretations as needed. All 
questions about the interpretation of FIPS COBOL should be addressed 
to: National Institute of Standards and Technology, Attn: COBOL 
Interpretation, Technology Building, Room B-154, Gaithersburg, MD 
20899.
    11.3  Validation of COBOL Processors. NIST provides a service for 
the purpose of validating the conformance to this standard of 
processors offered for Federal procurement. The validation system 
reports the nature of any deviations that are detected. This service is 
offered on a reimbursable basis. Further information about the 
validation service can be obtained from the Software Standards 
Validation Group, COBOL Validation, National Institute of Standards and 
Technology, Gaithersburg, MD 20899 (301) 975-3247.
    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 Government-wide 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 on 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 21-4 (FIPSPUB21-4), and title. Payment may be 
made by check, money order, or deposit account.

[FR Doc. 94-16665 Filed 7-8-94; 8:45 am]
BILLING CODE 3510-CN-M