Thread View: comp.std.unix
1 messages
1 total messages
Started by Peter Collinson
Wed, 09 Sep 1992 21:33
Standards Update, POSIX.5: Ada Bindings to POSIX
Author: Peter Collinson
Date: Wed, 09 Sep 1992 21:33
Date: Wed, 09 Sep 1992 21:33
125 lines
7189 bytes
7189 bytes
Submitted-by: pc@hillside.co.uk (Peter Collinson) USENIX Standards Watchdog Committee Stephen R. Walli <stephe@usenix.org>, Report Editor POSIX.5: Ada Bindings to POSIX Del Swanson <dswanson@email.sp.unisys.com> reports on the July 13-17, 1992 meeting in Chicago, IL : The POSIX.5 group has been working to produce Ada language bindings to POSIX standards. As of June, 1992, the IEEE Standards Committee has approved the Ada binding to POSIX.1 as a standard, designated POSIX.5. It should be published as an IEEE standard by the end of the year. Congratulations all around to the working group, the ballot resolution committee, the balloters, and all the supporting employers, spouses, lovers, etc. At this time, it is not expected that this document will become an ISO standard, because of its format and derivation. POSIX.5 is a ``thick'' binding: it can be read by itself, since it duplicates the descriptions of all the functions, in addition to describing how they relate to the Ada language. And POSIX.5 is derived from the POSIX.1 C binding, since no Language Independent Specification (LIS) yet exists. ISO requires that language bindings be ``thin,'' not duplicating any information present in the base document, and that they be bindings to an LIS. TCOS-SS (the IEEE committee responsible for all POSIX standards) had previously agreed that POSIX.5 could be approved as an IEEE standard in its current form. It would not be submitted for ISO standardization. A new version of the standard (which will then be submitted for ISO standardization) will be produced after the LIS is approved, and after the revision of the Ada language, now expected to be finalized in 1994. Meanwhile, there has been a reaction from the European community, and from members of ISO Working Group 9 (on Ada) that there should be an Ada binding of POSIX officially sanctioned by ISO. At the July POSIX meetings, therefore, we recommended to TCOS-SS that it recommend to ISO Working Group 15 (ISO POSIX) that POSIX.5 be approved as an ISO ``Committee Document.'' Now that the IEEE standard has been approved, it is incumbent upon the group to resolve interpretation questions. Officially, this involves the formation of an interpretation committee (on which nearly the entire group sits). The intent is to explain interfaces, elaborate semantic descriptions, and define the implications of problematic interface specifications. About ten interpretation requests have been received to this point. The TCOS approach is that this interpretation group adds nothing normative to the standard, even by logical extension. Any such specifications must be done by balloted revisions to the document. The major current activity of the group is the development of bindings to the Real-Time Extensions standards being developed by the POSIX.4 group. The binding to POSIX.4 will be relatively straightforward. This is especially true since a draft thin binding to POSIX.4 has been prepared by one of our members at Florida State University with financing from the U.S. Army. This draft has now been updated a couple of times by the group, and is ready to be massaged into IEEE format, with a few changes reflecting the latest POSIX.4 draft. This POSIX.20 draft 1 is planned to be circulated for mock ballot after the October meetings. Our goal is to have POSIX.20 approved as a standard hard on the heels of POSIX.4 LIS. This schedule is somewhat of a change from our previous assumption that we would produce a unified binding to POSIX.4 and POSIX.4a (threads extensions). Our current direction is to proceed directly with balloting the binding to POSIX.4, and work concurrently on the binding to POSIX.4a. The advantages are that this reflects the document structure of the POSIX.4 group, that this approach will fill the needs of some users sooner, and that the approval of the POSIX.4a standard is likely to be significantly later than POSIX.4. Meanwhile, we have also agreed to assist in the production of the POSIX.4 LIS. The new technical editor of this document has been a joint member of the POSIX.4 and the POSIX.5 groups. The members of the POSIX.5 group are committed to help him and the POSIX.4 group to produce the LIS as quickly as possible. The production of a binding to POSIX.4a is going to be significantly more complex, because of the interplay of two separate modes of intra-process concurrency, Ada tasks and POSIX threads. Complicating the issues is a difference of philosophy among members of the group, which is probably reflective of the community at large. A key question that differentiates the philosophies: should operating system functions be visible in a binding if the language itself provides parallel functionality? Several other issues ensue. Should functions be visible that, if called directly, may interfere with the assumptions and operations of the language support library? Would it be acceptable to isolate such functions to emphasize their danger? Is it adequate (or acceptable) to assume that Ada compilers will allow calling such functions via language interface conventions? One of the greatest technical challenges to the POSIX.4a binding is to determine the implications of interactions among processes in a multi-language environment. The feasibility of mapping tasks to threads is being demonstrated in prototype implementations. But some potential conflicts caused by the interactions of the two entities are becoming apparent. We are assuming that these conflicts must be resolved, since at a minimum Ada programs will want to make use of libraries written in C, such as GUI and DBMS packages. We are starting to catalog such potential conflicts, which revolve around the creation and destruction of threads/tasks, parent-child relations of threads/tasks, and the handling of exceptional conditions. We have barely begun the resolution process. Meanwhile, members of our group are involved with two efforts that are prototyping implementations of Ada bindings to the Real-Time Extensions (including threads). As it happens, this is not only being valuable input to our effort, but a few problems have been found with the base document drafts, that have been passed on to POSIX.4. In preparation for the next meeting, we have volunteers to analyze issues with task/thread interactions, and to propose directions and bindings to synchronization and scheduling functions. We hope for significant progress on these issues, as well as completing preparations for the mock ballot. Volume-Number: Volume 29, Number 25
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads