From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.5-pre1 (2020-06-20) on ip-172-31-74-118.ec2.internal X-Spam-Level: X-Spam-Status: No, score=-1.9 required=3.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.5-pre1 Date: 26 Dec 91 21:26:42 GMT From: emery@mitre-bedford.arpa (David Emery) Subject: Re: POSIX standards. Message-ID: List-Id: The POSIX Ada Binding (IEEE P1003.5) is currently undergoing a ballot recirculation. I'd expect that we'll need one more recirculation before final approval, probably 2Q92. POSIX .5 covers the set of services defined in POSIX .1, including files, directories, processes, signals, etc. It also includes an interpretation of some Ada features (e.g. TEXT_IO) in a POSIX context. It does not cover facilities covered in other POSIX documents (e.g. real-time, security, system administration, networking, etc.) P1003.5 is defined in terms of the Ada 83 standard, and in terms of the facilities provided by .1. Some parts of the POSIX Ada Binding do not provide functionality that Ada programmers would like (particularly with respect to tasking), because these facilities are not available from IEEE P1003.1. In particular, IO that blocks only one task in a program, instead of the entire program, is not supported by current .1 semantics and is therefore not supported by the Ada binding (no matter how much we'd like to require it, this would represent a significant extension to current POSIX semantics, and would probably break many otherwise conforming POSIX-compliant operating systems.) The current binding is defined in terms of Ada 83. An Ada9X binding would probably look different, to take advantage of some new 9X features. Conversly, you should be able to use the Ada 83 (P1003.5) Ada Binding from within an Ada 9X program. No Ada9X work on POSIX is currently under way, although the real-time people are studying Ada9X as the target language for the P1003.20 Ada real-time binding. A follow-on project, IEEE P1003.20, includes the facilities defined in the POSIX real-time documents, P1003.4 and P1003.4a. It is also examining the current release of CIFO and ExTRA to understand their influences on a POSIX real-time system programmed in Ada. One current issue is to resolve the impact of Ada9X on this work. The POSIX Ada binding document defines the set of standard package specifications and provides English text describing the semantics of those packages. You currently do not have to have a copy of POSIX .1 (which is defined in terms of C) to understand POSIX .5. However, there is an effort in the IEEE POSIX committee to develop a language-independent (LI) definition of POSIX, and then require all language bindings to be "thin" documents that mostly contain references back to the LI document. This approach is controversial, as it would require the Ada programmer to read both the LI definition and the Ada binding to understand the semantics of the Ada binding. In part due to the controversy over the LI definition of POSIX, neither the Ada binding nor the FORTRAN binding have been registered as ISO committee documents. Therefore, in the near term, the Ada (and FORTRAN) binding will be an IEEE standard only. You can obtain a copy of the current draft (Draft 7) by contacting Anna Kaczmarek IEEE Standards Office P.O. Box 1331 445 Hoes Ln. Piscataway, NJ 08855-1331 (908) 562-3811 I think the draft costs about $35 (it's about 350 pages all told). Several vendors are planning implementations of the Ada binding. In general, I'd expect that you'll purchase an implementation from your compiler vendor, as some features of the binding require cooperation from the compiler and its runtime. You should therefore contact your compiler vendor for information on implementations. The next IEEE POSIX meeting will be held at Irvine CA, the week of January 13. We are actively soliciting participants for the Ada Real-Time bindings work, as well as Ada Bindings to other parts of POSIX. dave emery P1003.5 Technical Editor emery@mitre.org