ISO/IEC JTC1/SC22 N1235 Title: Terms of Reference of the SC22 Ad Hoc Group on Cross Language Coordination Date: 1992-08-28 Status: Adopted by SC22 plenary in Ellevuori, Finland 1. The Ad Hoc Group on Cross Language Coordination (XLCG) shall develop a draft Policy for the Application of Cross Language Standards within SC22. 2. The policy shall cover all SC22 cross-language standards, binding standards, and programming language standards, both approved and under development. 3. The policy shall have the objective of ensuring that all SC22 cross-language standards are appropriately addressed by all SC22 programming language standards, and that cross- language standards projects are undertaken with this requirement in mind. (In particular, National Bodies should consider the impact on language-development resources before agreeing to cross-language projects, and the scopes of cross-language projects should be carefully set.) 4. The policy shall address at least the following issues: a. how it is determined which standards are considered to be cross-language standards and which standards are considered to be programming language standards for the purpose of the policy (it is noted that a standard may be both a programming language standard and an cross-language standard); b. the appropriate categorization of cross-language standards and the different policies that apply to each category; c. how it is determined whether and when a binding between an cross-language standard and a programming language standard should be created; d. how the appropriate binding method for each binding from a programming language standard to a cross- language standard should be determined; e. how it is determined which working group should define the binding, and how consistency of the binding with the intents of the cross-language and programming language working groups shall be assured; f. what kinds of conformance requirements are appropriate for cross-language standards; g. how the relative priority of programming language projects, cross-language projects and binding projects should be determined; h. what SC22 involvement in management of inter-related projects should be. 5. Since the policy will not be complete before the 1993 SC22 Plenary and several projects' documents may well reach DIS by then, the following action should be taken immediately following the 1992 JTC1/SC22 plenary meeting: a. XLCG shall distribute to all SC22 working group convenors the Cross-Language Coordination Questionnaire included in this document as Attachment 2. Part 1 is to be completed for all SC22 programming language standards. Part 2 is to be completed for all SC22 cross language standards. Both parts should be completed for standards that are both programming language standards and cross-language standards. b. Responses to the questionnaire should be completed by the SC22 working group conveners and returned to the XLCG convener by the date requested. (One effective approach would be for the programming language working groups, together with cross-language working groups, to create enough of a binding to demonstrate the use, implications and feasibility of the relevant cross- language standard.) c. For the purpose of the questionnaire the following standards shall be considered to be programming language standards: Pascal Extended Pascal APL COBOL Fortran BASIC Ada Modula-2 C LISP Prolog FIMS VDM C++ M For the purpose of the questionnaire the following standards shall be considered to be cross-language standards: CLIP CLID LIA POSIX LIS FIMS VDM Internationalization d. XLCG shall make the questionnaire responses available to the SC22 National Bodies as soon as possible, in order that the results can be useful during ballots that occur before the 1993 SC22 plenary meeting. 6. The XLCG shall contact groups outside SC22 in order to inform them of the activity of the XLCG, and to solicit information about their projects that can be useful for the development of the policy. Attachment 1: Summary of Binding Methods Binding methods (methods a to e are described in TR 10182) a. Revision or extension to the language syntax in order to support the cross-language facility (as by the programming language compiler or interpreter). b. Embedding "alien" syntax in the program text to support the cross-language facility (as by a preprocessor). c. Use of definition (as by another extension facility) provided by the programming language standard to support the cross-language facility (as by a standard header file). d. Addition of library functions or procedures to support the cross-language facility using mechanisms provided by the programming language standard. e. Support of the cross-language facility by mapping to the structures and services of the language environment (as by support of file structures or data types). f. Direct normative reference from the language standard to the cross-language facility standard. g. Direct inclusion of (part of) the text of the cross- language facility standard in the language standard. Attachment 2: Cross-Language Coordination Questionnaire Part 1: Questionnaire for Programming Language Standard Projects The following questions are to be addressed for each programming language standard by the responsible working group. 1) Identify the programming language standard by project number and title. 2) What facilities are defined by the programming language standard to support bindings to cross-language standards? Which binding mechanisms are supported by each such facility? 3) How do conformance requirements of the language standard affect bindings from this programming language standard to cross-language standards? 4) Are there guidelines available for the development of bindings into this programming language? 5) Are you indicating ``Future Directions'' in your project, such as reserving name space, etc., for future revisions of your standard so that working groups developing cross- language or binding standards will know what to avoid? 6) Are there technical areas, relevant to your standard, for which new cross-language standards (within the scope of SC22) would be useful? Questions 7 through 18 are to be addressed for each cross language (XL) standard. 7) Identify the cross-language standard being addressed by project number and title (document number?). 8) Is a binding useful between the programming language standard and the cross-language standard? Why? 9) Is a binding feasible between the programming language standard and the cross-language standard? If not, why not? 10) Is work being done in your working group to develop a binding for this programming language standard? If so, what milestone has it reached? What is its expected completion date? 11) What modifications to the cross-language standard are necessary for it to be compatible with your project? 12) What modifications to the cross-language standard would make it a more natural fit for users of your programming language? 13) What modifications would your working group have to make to the programming language standard to accommodate the cross- language standard? Does your working group have the necessary expertise and resources to this work? Is your working group prepared to do the work for these modifications? If so, how long would it take? 14) Are there any parts of the cross-language standard you cannot accommodate at all for technical reasons, or would much prefer to not accommodate for either philosophical or technical reasons? If so, which and why? 15) Which binding methods could be used? Which of these methods is preferred? (see attachment 1, Binding Methods) 16) Which working group do you think should define the binding? If your working group had to do the binding, by when could it be produced? 17) Would it be appropriate to include the binding in your standard? Why? 18) If the binding had to appear in your next revision or addendum, how would that affect your delivery schedule? Part 2: Questionnaire for Cross-Language Standard Projects The following questions are to be addressed for each cross- language standard by the responsible working group. 1) Identify the cross-language standard being addressed by project number and title. 2) What is the purpose of this cross-language standard? 3) What are the conformity requirements of this cross-language standard? 4) Does the value of this cross-language standard depend on its widespread support by programming language standards? 5) Does the value of this cross-language standard depend on a common binding method being used for all programming language bindings? 6) What are the dependencies between this cross-language standard and other cross-language standards? Questions 7 through 17 are to be addressed for each programming language standard. 7) Identify the programming language standards being addressed by project number and title (document number?). 8) Is a binding useful between the cross-language standard and the programming language standard? Why? 9) Is a binding feasible between the cross-language standard and the programming language standard? If not, why not? 10) Is work being done in your working group to develop a binding for this cross-language standard? If so, what milestone(s) has it reached? What is its expected completion date? 11) What modifications to the programming language standard are necessary for it to be compatible with this cross-language standard? 12) What modifications would your working group have to make to the cross-language standard to accommodate the programming language standard? Does your working group have the expertise and the resources to do the work? Is your working group prepared to do the work for these modifications? If so, how long would it take? 13) Are there any parts of the programming language standard you cannot accommodate at all for technical reasons, or would much prefer to not accommodate for either philosophical or technical reasons? If so, which and why? 14) Which binding methods could be used? Which of these methods is preferred? (see attachment 1, Binding Methods) 15) Which working group do you think should define the binding? If your working group had to do the binding, by when could it be produced? 16) Would it be appropriate to include the binding in your standard? Why? 17) If the binding had to appear in your next revision or addendum, how would that affect your delivery schedule?