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?