X3J3/97-134 ISO/IEC JTC1/SC22/WG5-N1151 Date: Feb 17, 1997 To: X3J3/WG5 From: John Reid Subject: Strategic Plan for Fortran Standardization Strategic Plan for Fortran Standardization (WG5 Standing Document 4) The international standard for Fortran is a multi-part set of standards. Part 1 defines the base language; other parts define optional auxiliary standards. 1. Mission (the goal to achieve) The mission of WG5 is to be responsive to changing technology and user needs by establishing procedures whereby all parts of the international Fortran standard are updated and revised in accordance with ISO procedures. The standard will be developed and maintained by a broad and balanced international group of users, vendors, and academics, collectively providing appropriate expertise. 2. Vision (desired effect of achieving the goal) The international scientific and engineering community will be provided with a single worldwide Fortran standard that will improve software and programmer portability and promote software reusability and compatibility. 3. Strategies (functions to achieve the goal) 3.1. Two major functions. There are two major functions: (1) identification of needs and specification of standard requirements and (2) development of standard document content and maintenance of the current standard. Other activities include scheduling, performing liaison and review activities, and conducting ad hoc studies. The requirements and development functions should be separate but highly coordinated. 3.2. Requirements as the "what" function. The result of requirements specification is a document that prescribes the functional requirements for a revision of the base language standard or of related standards. Draft documents (standards, amendments, corrigenda, technical reports, etc.) will be submitted to ISO for adoption. WG5, on a continuing basis, determines, records, distributes, and maintains the needs and suggested requirements for Fortran. To begin a new revision WG5, using the recorded needs and suggested requirements, establishes objectives and corresponding functional requirements, specifications, and schedule for that revision. 3.3. Development as the "how" function. The development function develops the international standard revisions, corrigenda, amendments, and related auxiliary standards, in accordance with the specified requirements and schedule. A development body will be chosen to produce each revision or new auxiliary standard. The development body for a revision of the base Fortran standard is the primary development body. It is the responsibility of each development body to determine how the requirements are to be met and to prepare the corresponding draft document. Revisions of the Fortran standard will incorporate approved corrections as well as fully implemented requirements. Maintenance of a standard involves correcting errors that are discovered in the standard and providing official interpretations for those parts of the standard that are found to be unclear or incompletely specified. A corrigendum that incorporates corrections resulting from this maintenance activity will be produced periodically. 3.4. Scheduling. The basic five-year schedule for revisions is predetermined by ISO procedures. WG5 will negotiate with the primary development body a detailed schedule consistent with this five-year cycle. For other development work WG5 will negotiate an appropriate schedule with the corresponding development body. Activities involving maintenance of the current standard will take place concurrently with the development activities. Since the schedule must be reported to JTC1, the schedule will be phrased in ISO terms. The relevant ISO stages for ongoing projects are: 2 preparatory 3 committee CD ballot (SC22) 4 approval DIS ballot (JTC1) 5 publication [See, for example, WG5 Standing Document 3, WG5 - N1129)] 3.5. The multi-part standard and technical reports. Some needs may be met most effectively with auxiliary standards rather than by revision of the base standard. Such an auxiliary standard is related to the base standard in some significant way; for example, some functionality may be made available by "binding" that functionality to the base standard. Auxiliary standards may be further classified as "extension" or "supplementary" standards. Extension standards involve syntax/semantics beyond that of the base standard. Because of the serious potential for incompatibilities arising from uncoordinated extension activities, WG5 requests that all bodies developing extension standards coordinate their work closely with the primary development body and requires that the work be technically acceptable to the primary development body before approval by WG5. Supplementary standards are auxiliary standards other than extension standards. Common forms of supplementary standards likely will be standard Fortran code using the module/use and procedure library mechanisms. In order to minimize conflicts and incompatibilities, WG5 requests that the primary development body review all proposed supplementary standards and provide WG5 with the results of those reviews. At some point it may become appropriate to incorporate an auxiliary standard into the base standard. WG5 will accomplish this by assigning the integration to the primary development body, with assistance from the development body responsible for maintenance of the auxiliary standard. To expedite the development of specific new functionality for any part of the Fortran standard, including the base standard, WG5 may commission a "contributing" development body to develop the material as a technical report, under the terms of WG5-N1152. Prior to WG5 approval, material developed by such a contributing development body must be technically acceptable both to the development body responsible for developing, integrating, or maintaining that part of the standard and (if different from the responsible development body) to the primary development body. During integration of such material the responsible development body may make changes necessary for proper integration, but will take every reasonable precaution to minimize the impact of such integration changes on commercially available implementations of the material. 3.6. Liaison and review activities. It is the responsibility of WG5 and the development bodies to establish liaison or contact with and review the work of other organizations whose work items relate to the Fortran standards effort. Such organizations include: SC22/WG11 and X3T2 (LIA, LID, LIPC) SC22/WG15 and IEEE P1003.9 (POSIX Fortran Bindings) SC22/WG20 (Internationalization) HPFF (Parallel Processing) SC24/WG5 (Graphics) 3.7. Conducting ad hoc studies. It is the responsibility of WG5 to determine whether studies are needed to aid the identification and requirements specification processes. WG5 may carry out such ad hoc studies or may request one or more participating member bodies to carry out such studies. 4. Tactics (implementing the strategies) 4.1. Principal responsibilities of WG5. WG5 may establish a management committee to make recommendations and interim decisions when it is impractical to involve the entire membership. The membership of the management committee would be reestablished at each meeting and be in effect until the following meeting. WG5 will: (a) maintain a repository of suggested requirements (Standing Document 5) (b) define revision objectives and select the corresponding functional requirements for development after comprehensive review (c) determine whether a given requirement can best be met by a revision of a part of the Fortran standard, the addition of a new part of the Fortran standard or by a technical report (d) choose the development bodies and delegate all development and draft document preparation to them (e) monitor development (Where progress is not consistent with the schedule WG5 will, together with the development body, determine if corrective action can be taken by the development body; if this is not possible it will be necessary for WG5 to reassign some or all items to another development body, or to delete some items from the specification or to revise the schedule) (f) monitor maintenance activities (g) determine whether a final draft document is adequate and consistent with the specified requirements (h) submit draft documents to ISO. 4.2. Principal responsibilities of the development bodies. A development body will: (a) nominate a project editor (b) produce a draft document to meet the agreed schedule and specified requirements (c) establish a document production system that will allow the most recent electronic version of any proposed standard to be available to all members of WG5 and the development body (d) coordinate with other development bodies and organizations, as appropriate. 4.3 The Schedule The proposed schedule for the current revision of the base Standard (Fortran 95) and the next revision (Fortran 2000) is as follows: Stage Process Fortran 95 Fortran 2000 1 Initial requirements prepared ---- 95-11 Review of requirements completed ---- 96-05 Final definition of requirements 94-07 96-07 2 First working draft available ---- 98-07 WG5 approval of draft CD 95-04 99-07 3 First CD submitted for registration and approval 95-05 99-09 First CD ballot initiated 95-06 99-10 First CD ballot comments available 95-10 00-02 Final CD submitted for approval ---- 00-09 Final CD ballot initiated ---- 00-10 Final CD ballot comments available ---- 01-02 WG5 approval of draft DIS 96-02 01-04 4 DIS registered 96-03 01-05 DIS ballot initiated 96-04 01-05 DIS ballot comments available 96-08 01-09 5 Corrections to DIS sent to ITTF 96-09 01-10 Standard published 96-10 01-11 4.4. Fortran maintenance bodies. WG5 will determine maintenance bodies for Fortran revision standards and auxiliary standards. In general, the body that develops a standard will be responsible for its maintenance. X3J3 has been delegated responsibility for maintaining Fortran 90. WG5 will conduct a letter ballot on items that the maintenance body identifies as ready for further processing. From the items thus approved, WG5 will extract material appropriate for a technical corrigendum and forward the resulting draft to SC22 for further processing. This procedure will be repeated annually, except for those years in which a standard revision including the approved items is forwarded to SC22. To expedite processing, every effort will be made to produce a draft corrigendum prior to an SC22 meeting so that it may be approved at that meeting for combined SC22 and JTC1 balloting. 4.5. Coordination between WG5 and development bodies. Meeting schedules will be coordinated to make the best advantage of members' resources as far as time and travel expenses are concerned and to accomplish the goals established by the schedule. There should be as much overlap as possible in the membership of WG5 and development bodies, especially with the primary development body. This provides informal communication and continuity. Formal written reports and resolutions will be used to clarify communications and maintain a record of communications. Annex A. Schedule Implications For the next two years, the proposed schedule has the following implications for each participating WG5 member body: Jan-Feb 1996 Review draft DIS and send comments to the Convenor by 29th February 1996 Apr-Jul 1996 Prepare national responses to DIS ballot and send copies to the Convenor by 13th July, or earlier if possible May-Jul 1996 Review results of Primary Development Body initial review of Fortran 2000 requirements July 1996 WG5 Meeting in Dresden - Confirm corrections to DIS - Confirm provisional content of Fortran 2000 July 1996 onwards Monitor progress on Fortran 2000 development by the Primary Development Body, and comment as appropriate