home *** CD-ROM | disk | FTP | other *** search
- From: Jeffrey S. Haemer <jsh@usenix.org>
-
-
- An Update on UNIX* and C Standards Activities
-
- December 1989
-
- USENIX Standards Watchdog Committee
-
- Jeffrey S. Haemer, Report Editor
-
- IEEE 1003.5: Ada-language Binding Update
-
- Ted Baker <tbaker@ajpo.sei.cmu.edu> reports on the October 16-20, 1989
- meeting in Brussels, Belgium:
-
- The P1003.5 group is producing an Ada-language binding for 1003.1.
- The Brussels meeting had two objectives: to reach consensus on a draft
- document to be distributed for mock ballot, and to solicit input from
- the European community. We achieved the first but not the second;
- only one of the ten attendees was European (Olle Wikstrom, from
- Ericsson).
-
- The technical editor (David Emery) and the chapter authors had worked
- very hard between meetings to produce version 3.2 of the document, and
- Dave brought copies to the meeting. The working group reviewed it to
- try to correct any serious errors or omissions before mock ballot.
-
- There was a lengthy discussion about schedule and logistics for the
- mock ballot. The present plan is to send out copies of the next
- draft, in ISO format, to both the ISO and the entire 1003.5 mock-
- ballot mailing list. [Editor's note: All committees are re-formatting
- their documents in ISO format to smooth the way for ISO acceptance
- (see Dominic Dunlop's report on WG15 for more details), and an IEEE
- copy editor appeared on the scene in Brussels to give P1003.5 guidance
- and help in this.] Since there is no way that enough input can be
- received before the next POSIX meeting, in January, the group has
- scheduled a special meeting for mock ballot resolution, between the
- January and April POSIX meetings, to be held in Tallahassee. The
- objective will be to produce a proposed standard to be reviewed at the
- April meeting.
-
- Most technical issues discussed were minor, compared with previous
- meetings. The most significant, and complicated, was the treatment of
- system configuration limits. Here are three problem areas:
-
- __________
-
- * UNIX is a registered trademark of AT&T in the U.S. and other
- countries.
-
- December 1989 Standards Update IEEE 1003.5: Ada-language Binding
-
-
- - 2 -
-
- 1. Tri-state configuration parameters (true, false, undefined) in
- the POSIX C binding need to be treated differently in the Ada
- binding, because Ada prohibits references to undefined symbols.
- (I.e., Ada lacks an "#ifdef" facility.)
-
- 2. For the same reason, it isn't clear how an Ada binding can
- accommodate future POSIX extensions. Suppose, for example, a
- future extension adds a new configuration constant. How does
- one write an Ada program that takes advantage of the new feature
- on implementations where it's available without preventing the
- same program from compiling on older implementations, where it's
- not?
-
- 3. Because Ada compilers can do optimizations, such as dead code
- elimination, based on static expressions (the nearest analog to
- some C preprocessor capabilities), it is important to provide
- compile-time constants, where safe. At the same time, to
- support "bubble pack" software that is usable on different
- system configurations, programs should also be able to defer
- binding such values until run time.
-
- The group did achieve consensus on a treatment of configuration limits
- for the mock ballot. It includes a combination of functions, to allow
- software to defer resolution of system limits and characteristics
- until runtime, and implementation-defined constants and numeric
- ranges, to allow optimizers to take advantage of information available
- at compile time. This does not fully solve all the problems mentioned
- above. Perhaps the mock ballot process will turn up some suggestions
- for improvements.
-
- The treatment of process arguments and environment variables, which
- must be provided as parameters when starting a new process or calling
- Exec produced another controversy.
-
- Unlike C, Ada does not allow pointers to stack or statically allocated
- objects. An Ada POSIX interface implemented over a C-language binding
- must bridge this gap somehow. For example, an implementation might
- use a C-compatible data structure and hide the non-Ada details, or use
- an Ada data structure and translate between the two forms. Everyone
- agreed that the interface should avoid constraining the
- implementation, but the first interface solutions appeared to rule out
- desirable implementations. The present solution permits an
- application to insure that if the Ada POSIX interface machinery
- allocates any "heap" storage this storage is be recovered, while
- allowing an implementation to impose restrictions that would permit
- stack allocation. A price paid for this compromise is that writing
- portable applications takes more care: an application that works OK
- with one implementation may lose storage or exceed size limits with
- another.
-
- At the previous two meetings, we had substantial interaction both with
-
- December 1989 Standards Update IEEE 1003.5: Ada-language Binding
-
-
- - 3 -
-
- other groups working on language-independence and with P1003.4 (real-
- time). There was much less this time, partly because the group was
- concentrating so hard on getting ready for mock ballot, partly because
- meetings were spread over several buildings, and partly because
- P1003.4 mostly skipped Brussels.
-
- On the administrative side, Steve Deller was promoted from Vice
- Chairman to Chairman (in charge of external affairs and running
- meetings) and Jim Lonjers was chosen as Vice Chairman (in charge of
- administering ballot resolution). This change was required because
- the ex-Chairman (Maj. Terry Fong) has been unable to participate
- regularly in the working group recently, owing to conflicts with his
- professional duties.
-
- Another issue that came up was whether working group members are at
- liberty to publish papers or present talks on the 1003.5 work. The
- answer is, "Yes." Until now, some members have been exercising self-
- censorship, based on an earlier agreement designed to discourage
- anyone (e.g., defense department personnel) from making commitments
- (e.g., requiring use of the POSIX Ada binding in contracts) based on
- erroneous (e.g., overly optimistic) progress reports. It did not take
- much discussion to agree that such censorship is now
- counterproductive, and may never have been wise. At this point,
- P1003.5 certainly wants public exposure of its draft document, and
- hopes that such exposure will generate more reviewers and active
- working group members.
-
- December 1989 Standards Update IEEE 1003.5: Ada-language Binding
-
-
- Volume-Number: Volume 18, Number 2
-
-