ISO/IEC JTC1/SC22/WG5-N760 A Strategic Plan for the Next Fortran Standard L12 Subgroup (Buckley, Martin, Philips, Rotthauser, Schonfelder, Wada, Wagener) March 26, 1992 1. Mission (the goal to achieve) To produce a revision of Fortran 90 by the year 2000 that is recognized and accepted worldwide as the single international Fortran standard (F2000). This revision will incorporate any necessary corrections and clarifications determined during the maintenance of Fortran 90, will incorporate any amendments to Fortran 90, and will not invalidate any Fortran 90 collateral standards produced by WG5 prior to the adoption of the revision. As a step toward achieving this goal, a Fortran 90 corrigendum will be produced by the year 1995. 2. Vision (the desired effect of achieving the goal) That the community of nations will constructively collaborate on the production of this standard, that the resulting product will serve the worldwide Fortran community effectively, and that consequently no nation or other organizational unit will feel the need for other alternatives. 3. Values (fundamental principles associated with achieving the goal) 3.1. Service. Fortran serves primarily the global scientific and engineering community. The purpose of the proposed revision is to serve the diverse needs of this community as effectively as possible. 3.2. Unity. Mirroring the workings of society in general, the Fortran community is increasingly diverse and its constituent parts increasingly interdependent. F2000 should provide the "glue" that holds this community together for maximum effectiveness and productivity. 3.3. Teamwork. F2000 should be the result of the cooperative efforts of the worldwide Fortran community. Collectively there should be a broad and balanced representation of users, vendors, and academics providing appropriate scientific expertise. These efforts should be characterized by true teamwork among the participants. 3.4. Progress. F2000 should contribute positively to the cause of and improve the lot of science and society and should optimally benefit those affected by the standard. That is, the world as a whole should be better off with F2000. 4. Strategies (what specific functions will achieve the goal) 4.1. Two major functions. There are two major functions: requirements specification and development. Other activities include scheduling, defining and developing collateral standards, maintaining Fortran 90, performing liaison and review activities, and conducting various ad hoc studies. There may be several development bodies if it is determined that collateral standards are needed to supply extended functionality compatible with Fortran 90 or to interface with functional standards that provide additional capabilities. There will be a primary development body that will create the primary revision (F2000) of the current international standard and any amendments to the current standard; there will be a development body that specifies the corrigendum; and there may be development bodies that create collateral standards. To achieve appropriate focus and division of work and to provide adequate checks and balances, the requirements specification and development functions should be separate but highly coordinated. 4.2. Requirements specification as the "what" function. The requirements specification function determines and specifies the functional requirements for F2000 and any intermediate or collateral standards. These then constitute the primary input to the development bodies. Technical design and development is not part of the official role of the requirements specification body, and any such activities undertaken by this body in the process of providing rationale for specific requirements should serve as informational input to the development bodies in order to speed their work. The requirements specification body reviews the output and recommendations from the development processes, making any appropriate changes to the functional requirements. It is responsible for determining whether the resulting implementations of its requirements are adequate and consistent with its specifications. Ultimately, it submits drafts to ISO for adoption as international standards. 4.3. Development as the "how" function. The primary development function is responsible for the technical design and development of the international standard revision. It will develop a language architecture based on the requirements and implement the requirements in a draft document. This process includes all aspects of technical analysis, design, and integration of language features. In order to respond in a timely fashion to the critical needs of the Fortran community, the primary development body may develop some requirements as amendments to the current standard. Any such amendments will be incorporated in the primary revision as well. The primary development function is also responsible for assuring that all corrections and interpretations of the current standard are incorporated appropriately in F2000. The primary development body is responsible for appointing a project editor and for producing draft documents. The development body delivers its products and recommendations to the requirements specification body. Establishing functional requirements is not part of the official role of the primary development body and any such recommendations from this body serve as informational input to the requirements specification body. 4.4. Scheduling as the "when" function. It is the further responsibility of the requirements specification body to determine an overall schedule. For the primary development function, it will specify starting and completion dates as well as specific intermediate milestones. 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-N643)] Completion of requirements specification and development fall in stage 2, so it is necessary to break that stage into further divisions, including at least completion of requirements specification completion of development completion of integration 4.5. Defining and developing collateral standards. A collateral standard is one that extends the functionality of Fortran 90 via the established interfacing mechanisms provided by the language; that is, the interface of a collateral standard is definable within the module/use structure. This ensures that different collateral standards do not conflict with each other or the language. A collateral standard for Fortran 90 must not use any obsolescent features. This ensures that the collateral standard will be compatible with F2000 as well. Such a collateral standard is the recommended mechanism for all development bodies of Fortran-related standards other than the primary development body. It can be used to bind functionalities (such as graphics, data base management, or operating system facilities) to Fortran 90. During the requirements specification phase for F2000, it may become apparent that some requirements can be met by such collateral standards. It is the responsibility of the requirements specification body to recommend which approach should be used for each requirement. The final decision will be based on advice from member bodies and be heavily weighted by the advice of the primary development body. A development body, other than the primary development body, may be chosen by the requirements specification body to develop a collateral standard. Such a development body must maintain close liaison with the primary development body. It is the responsibility of the collateral standard development body to appoint a project editor and determine a schedule for the completion of its work within guidelines set by the requirements specification body. The collateral standard development body delivers its product and recommendations to the requirements specification body. Normally, development of collateral standards will occur concurrently with the development of the primary revision. 4.6. Maintaining Fortran 90. Maintenance of Fortran 90 involves making corrections to 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, clarifications, and interpretations resulting from this maintenance activity will be produced by 1995. X3J3 has responsibility for maintaining Fortran 90 and for developing the corrigendum. The requirements specification body has oversight responsibility for the maintenance of Fortran 90 and for the corrigendum. Maintenance activities will take place concurrently with the primary revision activities. 4.7. Performing liaison and review activities. It is the responsibility of the requirements specification and development bodies to establish liaison with and review the work of other standards organizations whose work items relate to the Fortran standards effort. Such organizations include: SC22/WG11 and X3T2 (LCAS, CLID, CLIP) SC22/WG15 and IEEE P1003.9 (POSIX Fortran Bindings) SC22/WG20 (Internationalization) X3H5 and HPF (Parallel Processing) 4.8. Conducting ad hoc studies. It is the responsibility of the requirements specification body to determine whether studies are needed to aid the requirements specification process. It is then the responsibility of each participating member body to conduct such a study internally. Once the preliminary requirements have been established, it is the responsibility of each participating member body to submit them to a widespread review prior to their finalization and development. It is the responsibility of the primary development body to determine whether studies are needed to aid the development process. This body may conduct its own study or request the requirements specification body to conduct an international study. 5. Tactics (how to achieve the strategic objectives) 5.1. The requirements specification body. ISO/IEC JTC1/SC22/WG5 should be the body responsible for specifying the requirements. It has the necessary relationship with ISO and the appropriate membership. Since WG5 usually meets only once a year, it will establish a management committee to make recommendations and interim decisions when it is inconvenient to involve the entire membership. Initially this committee will consist of the members of the L12 subgroup, but the membership will be reconfirmed at each WG5 meeting. WG5 members will be invited to present their requirements for discussion at the 1992 WG5 meeting to obtain a preliminary overview. There may be some requirements that need further investigation; if so, these will be assigned to subgroups to establish a recommendation before the 1993 meeting. Following the 1992 meeting, WG5 will issue a call to national member bodies and individuals to provide requirements together with a rationale for each requirement. These requirements should be assembled from comprehensive input systematically gathered. The initial list must reach the Convenor by May 1, 1993 in order to be distributed prior to the 1993 WG5 meeting. At this meeting WG5 will determine items that it selects as requirements and some that it rejects. Thus a preliminary requirements list will be determined at the 1993 meeting, reviewed internationally during the following year, and finalized at the 1994 meeting. This list will be constrained so that completion of development is achievable within three years. The list will consist of two parts: requirements to be satisfied by amendment or revision of the existing standard and requirements to be satisfied by collateral standards. 5.2. The primary development body. The primary development body has responsibility for producing F2000 and should have the following characteristics: - Its membership should contain a diverse mix of users, vendors and academics. - It should permit international members, regardless of nationality. - It should have the resources necessary to meet several times per year and to prepare and distribute working materials and draft documents. - It should be able to provide a document editor for the revised international standard with sufficient resources to fulfill the necessary responsibilities. Under current international agreements, the US member body has responsibility for developing Fortran standards based on guidance from WG5. Because the changing of international agreements is a time-consuming process involving approval of SC22, JTC1, and the standards organization of the proposed development body, if a change is to be recommended, WG5 must determine at its 1992 meeting, its candidate for the primary development body of F2000. Development of F2000 should not begin until a reasonably complete set of the functional requirements have been identified (in the 1993-1994 time frame as indicated by the proposed schedule in section 5.3)). Some overlap may be possible, in particular the refinement of the requirements may depend on initial development studies. In the meantime the candidate development body should investigate more efficient methods of document editing and a document production system that will allow the most recent electronic version of the proposed revision to be available to all members of both concerned bodies. It should investigate more effective methods of standards description and presentation. These might include improved mechanisms for specifying both syntax and semantics and providing thorough discussions of rationale and other explanatory material. 5.3. The schedule. It is the responsibility of WG5 to provide a schedule for the revision process. Following is a proposed schedule: phase date preparatory 2.1 7-92 initial call for requirements 8-92 deadline for initial list 5-93 initial requirements complete 7-93 requirements review complete 5-94 requirements complete 9-94 development complete 9-97 integration complete 9-98 2.8 12-98 CD ballot 3.0 1-99 3.1 1-99 3.2 4-99 3.8 9-99 DIS ballot 4.0 10-99 4.1 10-99 4.2 5-00 4.4 7-00 4.8 7-00 publication 5.0 8-00 5.3 10-00 For the next three WG5 meetings, this schedule has the following implications for each participating WG5 member body: before - review this strategic plan 1992 - review the maintenance activities of X3J3 meeting - prepare an informal list of F2000 requirements accompanied by rationale and send to Convenor 6 weeks before the meeting at - approve a strategic plan 1992 - accept or reject F90 maintenance proposals meeting - create a preliminary list of F2000 requirements - initiate requirements studies, if needed before - conduct a widespread national study to 1993 gather F2000 requirements systematically meeting from your Fortran users - prepare results of study and send to Convenor 6 weeks before the meeting - review ongoing maintenance activities at - develop provisional list of F2000 1993 requirements meeting - accept or reject F90 maintenance proposals before - conduct widespread national review of 1994 provisional list of F2000 requirements meeting - prepare results of review and send to Convenor 6 weeks before the meeting - review ongoing maintenance activities at - finalize requirements for F2000 1994 - approve corrigendum for international meeting processing and publication 5.4. Coordination between the requirements specification and development bodies. Meeting schedules should 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 the two bodies. This provides informal communication and continuity. Formal written reports and resolutions will be used to clarify communications and maintain a record of communications. At each meeting a Responses and Resolutions (R&R) report will be produced that is intended to be the official communication and coordination vehicle between the requirements specification body and the primary development body or other development body, as appropriate. The R&R reports produced by WG5 will be sent to the appropriate development body; the R&R reports produced by the development body will be sent to WG5. The responses portion of each R&R report will contain responses to resolutions received from the other body. The resolutions part may contain any information for or requests of the other bodies.