Standards Update, IEEE 1003.5: Ada bindings

Jeffrey S. Haemer jsh at usenix.org
Tue Sep 18 04:23:16 AEST 1990


Submitted-by: jsh at usenix.org (Jeffrey S. Haemer)

           An Update on UNIX*-Related Standards Activities

                             August, 1990

                 USENIX Standards Watchdog Committee

          Jeffrey S. Haemer <jsh at usenix.org>, Report Editor

IEEE 1003.5: Ada bindings

Jayne Baker <cgb at d74sun.mitre.org> reports on the July 16-20 meeting
in Danvers, Massachusetts:

Introduction and Overview

P1003.5 completed the last touches on Draft 6 of the Ada Language
Binding, before sending it to ballot, and considered our options for
P1003.5 work beyond balloting.  We also addressed the International
Standards Organization's (ISO's) refusal to accept and register our
draft and revised our balloting schedule.

Final Document Modifications

This meeting was our last chance to modify our document without a
formal IEEE ballot to justify that change.  We spent a large portion
of the meeting editing Draft 5, chapter by chapter.  Draft 6 will
ballot in less than two months, so document stability was guarded, but
we considered a few proposals for changes.

  1.  David Emery's Process Group ID as a Separate Type proposal
      addresses the P1003.1 intention and underlying semantics with
      respect to Process_Group_ID.  Specifically, the proposal
      recommends that Process_Group_ID be a separate type, or a
      derived type at a minimum, rather than a part of Process_ID.
      Dave believes that P1003.1 intended Process_ID and
      Process_Group_ID to be treated as separate types.  This
      perception is supported by a few operations, such as
      Wait_For_Process_Group, which suggest the two types are indeed
      separate. Representing the two types separately would help
      prevent confusing them.  Making them separate would also allow
      function overloading. For the most part, the group agreed, but
      felt that the types really do behave more like derived types
      than separate types.

      There was some resistance to adopting this proposal because of
      the number of changes it would require in sections 3 and 4

__________

  * UNIXTM is a Registered Trademark of UNIX System Laboratories in
    the United States and other countries.

August, 1990 Standards Update                IEEE 1003.5: Ada bindings


				- 2 -

      (Process Primitives and Process Environment), but there was also
      opposition to handing the problem off to the balloting group.
      We finally decided to consult with the Language Independence
      group.

  2.  A proposal submitted by Mars Gralia, of Applied Physics
      Laboratory, Clarify Functional Option `FIFO', addressed a topic
      presented in section 8 (Language-Specific Services for Ada),
      This proposal was accepted because it introduced flexibility
      that makes it easier for P1003.5 to support the P1003.4 work in
      the future.

  3.  Mars also offered a Simplify and Unify proposal, which provoked
      lengthy, somewhat heated discussion.  Specifically, the section
      8, Is_append, function returns yes/no, to support an existing
      application, but there is a naming convention P1003.5 supports
      that requires Is_Append to return a boolean; indeed, the append
      function in section 6 (Input and Output Primitives) already
      returns boolean.

      Our priorities are

         + Consistency with the Ada language.

         + Consistency between the Ada and POSIX portions of the
           document;

         + Consistency with existing implementations.

      Unfortunately, some of these conflict with others in this case.
      The good news is, we may not have to decide what to do: Ada
      Interpretation (AI) 544 addresses this issue, However, we did
      not know, and could not find out, the complete resolution of the
      AI in Danvers.  Moreover, Dave Emery and Hal Jespersen, who are
      preparing the document for ballot, don't have time to make all
      the changes Mars's proposal would require between now and ballot
      circulation.  Jim Lonjers suggested that Mars submit a negative
      ballot on this issue, which would let the ballot-resolution
      group construct a decision consistent with the AI during ballot
      resolution.

Future Work

When Draft 6 enters the IEEE ballot process, the ballot resolution
group becomes responsible for ballot coordination and resolution, and
the working group is freed to submit new Program Authorization
Requests (PARs).  IEEE policy only lets a group operate for six months
without a PAR, so we have to do our job quickly.

We listed possible new work areas, then ranked them based on our
effectiveness in the area, the work's importance, and the effort

August, 1990 Standards Update                IEEE 1003.5: Ada bindings


				- 3 -

required.  Here is our list.

  1.  Test Assertions for P1003.5

      A straw-man vote shows the test assertions work as the number
      one issue, though we suspect neither our corporations nor our
      individual bosses will be very interested in the work. However,
      test assertions are a National Institute of Standards and
      Technologies (NIST) requirement, which may increase corporate
      interest levels.  We do have total control over the test
      assertions work, and have been directed by the SEC to address it
      prior to our first round of IEEE ballot.  To prevent a delay to
      the first round of IEEE ballot, the SEC has allowed us to
      include a ``plan'' for identifying and accomplishing the test
      assertions portion of the document, rather than the actual test
      assertions.

  2.  Shells & Utilities (Ada binding to P1003.2)

  3.  Language Independence (Helping P1003.1 -- create a language-
      independent specification for 1003.1-1988, and 1003.1-1990.)

      The Shell and Tools work and language independence ran close
      seconds.  The Shells & Tools work received a high ranking in the
      straw-man vote because we feel that the work is do-able and that
      our effectiveness in the area would be high; moreover, compared
      to other areas (e.g., the P1003.4 work), the level of P1003.5
      effort required would be low. Language-independence ranked high
      as it is critical to both the current P1003.5 work (see ISO
      Acceptance and Registration, below) and the POSIX effort as a
      whole.  The people working the language-independent issues are
      asking for our input now.  Moreover, without our input the
      resulting language-independent work could adversely impact us,
      and P1003.5 might not have the voting clout during balloting to
      block anything particularly awful.  Several members interested
      in these issues are already holding Birds-of-a-Feather meetings
      with the P1003.1 language-independent group.

  4.  Threads issues (Ada binding to P1003.4a) and Real-Time
      Extensions (Ada binding to P1003.4)

      This area generates the most interest among working group
      members, several of whom have been working with P1003.4 for some
      time.  Ted Baker, former P1003.5 snitch, has written a document
      on the subject, Real-time Extension for Portable Operating
      System Ada Binding - Version 0.0 for the U.S.  Army HQ CECOM
      Center for Software Engineering, and provided us with copies for
      review and consideration.  Group consensus is that if we rush
      into this area, we are likely to stumble over language-
      independence issues, so we will work with the P1003.4 language-
      independence small group until their specification is well

August, 1990 Standards Update                IEEE 1003.5: Ada bindings


				- 4 -

      along, and then begin work on the Ada binding in parallel with
      its completion.

ISO Acceptance and Registration

Jim Isaak, Technical Committee on Operating Systems (TCOS) Chairman,
reported to P1003.5 that ISO declined to accept and register P1003.5
at the recent Subcommittee 22 (SC22) Paris meeting. Their primary
reason was the lack of a language-independent specification for
P1003.1.  How, they asked, can a language-dependent binding exist
without a base, language-independent specification?  We had also
failed to use Working Group 11's procedure-calling mechanism to
generate our language bindings.  (The WG11 approach produces a direct,
language-dependent binding to a language-independent specification.)
P1003.9, FORTRAN binding to P1003.1, suffered the same fate for the
same reasons.

For now, we will provide a copy of P1003.5 Draft 5 to SC22 for their
review and comments regarding potential registration problems in the
future. To address WG11 concerns, Jim Isaak, POSIX Strategy
Director -- note the different hat -- recommended we also forward a
copy of Draft 5 to WG11 for review.  David Emery and I, both of MITRE,
will follow up with a white paper explaining, with examples, why a
one-to-one, direct mapping of the functionality described in the
language-independent specification to the language-dependent binding
is not always optimal, and that a complete (i.e., thick) language-
independent specification and a reference-type (i.e., thin) language-
dependent binding is neither practical nor possible for some
languages.

Finally, we will formally submit Draft 7 (or later) to SC22,
requesting they recommend it for ISO acceptance/registration as a
Committee Document (CD).  (CD has replaced ``Draft Proposal'' or DP.)
The earliest this could happen is January 1991.

Why not Drafts 5 or 6?  A new policy, intended to promote document
stability requires one IEEE ballot cycle before submitting a draft for
ISO registration.

IEEE Ballot Issues/Schedule

We met with Jim Isaak and Lorraine Kevra, the new TCOS Balloting
vice-chair, to discuss the IEEE balloting process and our balloting
schedule.

P1003.5 produced a schedule for achieving simultaneous IEEE and ISO
ballot at the April/Salt Lake City meeting (see my report from last
quarter), but because of the problems with ISO, described above, we
have revised this schedule.

August, 1990 Standards Update                IEEE 1003.5: Ada bindings


				- 5 -

Approximately 450 people joined the P1003.5 ballot group.  Only 61 of
those people are POSIX participants; that is, only one-sixth of all
POSIX participants (from all working groups) signed up for our ballot
group!  The other 390-odd participants are SIGAda members.  We are
very pleased with this response.

Ballot-group formation closed on August 6.  Confirmation to applicants
was originally scheduled for August 8.  Because of the large number of
non-POSIX balloters, this date was pushed back to about August 17, but
anyone who signed up and has still not received confirmation should
contact Bob Pritchard at the IEEE Standards Office, 445 Hoes Lane,
Piscataway, NJ 08855, (908) 562-3811.

Now that ballot group formation has closed, the group cannot expand.
Only people who fail to respond to the initial ballot can be removed
(``abstain'' is not a non-response); ballot group members are not
required to respond to re-circulation ballots.

Bob Pritchard will mail Draft 6 to the P1003.5 ballot group on
September 10, 1990.  The distribution takes a minimum of two weeks.

The ballot period officially begins on September 24, 1990, and closes
October 24, 1990.  This allows the ballot group at least four weeks
for review.  Being realistic, we imagine that not everyone will
complete their document review. To prevent the uneven coverage that
would result from 450 reviewers reading the document from front to
not-quite-back, our cover letter requests that reviewers begin their
reviews at different spots, using a scheme based on the first letter
of the reviewer's last name.

If people do not return their ballots by October 24, the IEEE office
may send a follow-up letter to the ballot group members requesting
that they return their ballots.

Steve Deller, of Verdix, will do all necessary coordination with
organizations listed on our PAR.  Jim Lonjers, of Unisys, with
Lorraine Kevra's help, will coordinate ballot resolution, Each chapter
will have someone responsible for its resolution, but alternates for
each chapter are absolutely critical.  Jim Isaak says that, based on
his experience, we should assume 20% of the people who do ballot
resolution will, for some reason, prove unable to complete their
portion of the task.

Jim Lonjers will provide the last ballot to the technical reviewers by
December 5, 1990.  The ballot resolution group will meet at the Tri-
Ada meeting in early December to determine how close we are to
achieving the 75% minimum acceptance.  At that same meeting they will
also coordinate ballot responses to objections which cover multiple
chapters and objections which produce conflicting responses.  We
believe they will have resolved the last ballot by January 11, 1991,
and a re-circulation ballot is tentatively scheduled for the April

August, 1990 Standards Update                IEEE 1003.5: Ada bindings


				- 6 -

1991 POSIX meeting time frame.

In IEEE re-circulation ballot, two sets of material are returned to
the balloting group:

  1.  the changes made to the document (either a set of changes, or a
      new document with change bars), and

  2.  the unresolved objections.

IEEE policy does not allow the balloters' names, companies, or company
locations to be returned with the unresolved objections packet; to
maintain anonymity, ballot comments are numbered, and individual
balloters notified of their own ballot comment numbers.  (IEEE and
ANSI do maintain balloters' names, companies, and company locations to
detect corporate ballots, where and if they occur.) The balloting
group gets at least ten days to review the re-circulation ballot,
though they can be given more time if the size of the re-circulation
material and the document being balloted warrant it.

Miscellany

Eight Next Generation Computer Resources (NGCR) representatives gave
working-group participation quite a boost.  Although NGCR people have
the bond of all being NGCR representatives, they are not employed by a
single employer, but are from all over the United States, and they
possess individual interests and strengths. In the past, our core
group has only been about a dozen people, so we are pleased by NGCR's
interest and participation, and eager to work with them.

In April 1990, David Emery went to Sweden, to meet with the Ada 9x
committee group dealing with secondary standards and setting
priorities of those standards.  Secondary standards are those
standards not contained within the language itself (i.e., not in the
Ada Language Reference Manual).  POSIX was a very high priority
secondary standard.  The next Ada 9x committee meeting will be at the
SIGAda meeting in Los Angeles in August.  Dave is heading a panel
presentation on the P1003.5 Binding at this meeting.  The chapter
authors will also be a part of this panel.

At July POSIX meeting, P1003.5 expressed its special thanks to Dave
for his better-than-excellent job as our Technical Editor.  He has
contributed significant time (much of it his own) and effort to the
P1003.5 work, and we appreciate it.

August, 1990 Standards Update                IEEE 1003.5: Ada bindings

Volume-Number: Volume 21, Number 112



More information about the Comp.std.unix mailing list