ahby@uinj.UI.ORG (Shane McCarron) (06/24/90)
From: ahby@uinj.UI.ORG (Shane McCarron) > From: Doug Gwyn <gwyn@smoke.brl.mil> > > Correct me if I'm mistaken, but I thought the specific task of > 1003.5 was to provide Ada-language bindings to 1003.1, not to > add functionality. Remember the history of POSIX.1. We have a standard which should have been specified in a language independent manner. If that had been done, a number of the functions that are in the standard would not be there, or would be in the C bindings section. They are convenience functions for C. Likewise, there will be convenience functions for other languages. Ada is particularly nasty, for all the obvious reasons. Someday there will be a language independent 1003.1 specification. It will detail the real functionality of the underlying system in such a way that it will be clear to people doing language bindings which features they must include. Until then, there will continue to be confusion on the subject. -- Shane P. McCarron ATT: +1 201 263-8400 x232 Project Manager UUCP: mccarron@uiunix.ui.org Volume-Number: Volume 20, Number 50
gwyn@smoke.brl.mil (Doug Gwyn) (06/27/90)
From: Doug Gwyn <gwyn@smoke.brl.mil> In article <738@longway.TIC.COM> From: ahby@uinj.UI.ORG (Shane McCarron) >Remember the history of POSIX.1. We have a standard which should have >been specified in a language independent manner. If that had been >done, a number of the functions that are in the standard would not be >there, or would be in the C bindings section. They are convenience >functions for C. Likewise, there will be convenience functions for >other languages. Ada is particularly nasty, for all the obvious >reasons. I DO remember the history of 1003.1; I was there! We most certainly did NOT set out to create a language-independent standard; C was specifically chosen for the obvious reason that it was the SOLE appropriate language for systems-level programming on UNIX, for a variety of reasons, including the fact that the UNIX kernel has a marked preference for being fed C data types. This "language binding" nonsense was foisted off on P1003 in an attempt to meet ISO guidelines. I think it must have been adopted by ISO as the result of Pascal types insisting that they never have to use any other language. Clearly, a BASIC, COBOL, or even LISP binding to 1003.1 would be ludicrous. I don't know how languages are selected for binding, but I do know what constitutes a UNIX system interface, and if a language can support one then that is what it should be given as a 1003.1 binding. Volume-Number: Volume 20, Number 51
buck@drax.gsfc.nasa.gov (Loren (Buck) Buchanan) (06/28/90)
From: buck@drax.gsfc.nasa.gov (Loren (Buck) Buchanan) In article <739@longway.TIC.COM> From: Doug Gwyn <gwyn@smoke.brl.mil> >I DO remember the history of 1003.1; I was there! We most certainly >did NOT set out to create a language-independent standard; C was >specifically chosen for the obvious reason that it was the SOLE >appropriate language for systems-level programming on UNIX, for a >variety of reasons, including the fact that the UNIX kernel has a >marked preference for being fed C data types. Sometimes you have to make painful changes, so that the future generations will not have to suffer with "historical artifacts". This is one place I think the changes should have been made (but of course I do not know all of the argumentation, compromises, etc. that passed before the committee came to an agreement. >This "language binding" nonsense was foisted off on P1003 in an >attempt to meet ISO guidelines. I think it must have been adopted >by ISO as the result of Pascal types insisting that they never have >to use any other language. I take exception to "nonsense was foisted". The reason for language bindings is so that various different languages can take advantage of the standard. Why should PASCALers, FORTRANers, etc. be coerced into giving up their favorite language. I regularly use three different langauges, and I expect that the operating environment I am working under will not impede my use of these languages. >Clearly, a BASIC, COBOL, or even LISP binding to 1003.1 would be >ludicrous. I don't know how languages are selected for binding, >but I do know what constitutes a UNIX system interface, and if a >language can support one then that is what it should be given as a >1003.1 binding. Why is it ludicrous, I think all of them should have bindings to POSIX, but don't ask me to do the work. If POSIX is to become truly universal, then it better support all of them and also RPG II/III, PL/I, Prolog, MUMPS, and any other general or special purpose language that is in common use. How a language is selected is two part, 1) is there a consensus of the committee that the work should be done, and 2) is there a fool ... eh ... er ... uh ... volunteer willing to do the work of creating and/or being the editor. I am currently working on the proposed image processing standard, and how acceptable do you think this standard would be if we ignored FORTRAN? B Cing U Buck -- Loren Buchanan | buck@drax.gsfc.nasa.gov | #include <std_disclaimer.h> CSC, 1100 West St. | ...!ames!dftsrv!drax!buck | typedef int by Laurel, MD 20707 | (301) 497-2531 | void where_prohibited(by law){} CD International lists over 40,000 pop music CDs, collect the whole set. Volume-Number: Volume 20, Number 57
gwyn@smoke.brl.mil (Doug Gwyn) (06/30/90)
From: Doug Gwyn <gwyn@smoke.brl.mil> In article <744@longway.TIC.COM> From: buck@drax.gsfc.nasa.gov (Loren Buchanan) >Why should PASCALers, FORTRANers, etc. be coerced into giving up >their favorite language. I regularly use three different langauges, >and I expect that the operating environment I am working under will >not impede my use of these languages. That's not what we're talking about. Pascal and Fortran can be fully implemented in a UNIX environment. You are not being asked to "give up" those languages. What I am saying is that you should not insist on using a language in an application domain for which it is ill suited. Fortran is not an appropriate choice for systems programming applications in a UNIX environment. While it is perhaps possible to devise a complete 1003.1 binding for Fortran (I suspect it wouldn't be possible for BASIC), there is no real need to do so. On the other end of the spectrum, Ada has its own notions of tasking that don't mesh well with UNIX's process model. Since the promulgators of Ada have insisted for years that Ada programs must not use extensions to the language, I suggest that holding them to their word would have been quite appropriate. Volume-Number: Volume 20, Number 71
jsh@usenix.org (Jeffrey S. Haemer) (09/18/90)
Submitted-by: jsh@usenix.org (Jeffrey S. Haemer) An Update on UNIX*-Related Standards Activities August, 1990 USENIX Standards Watchdog Committee Jeffrey S. Haemer <jsh@usenix.org>, Report Editor IEEE 1003.5: Ada bindings Jayne Baker <cgb@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
rja7m@chaos.cs.Virginia.EDU (Ran Atkinson) (09/18/90)
Submitted-by: rja7m@chaos.cs.Virginia.EDU (Ran Atkinson) The comment in the snitch report about the committee "knowing" that 30 days being insufficient time to review the P1003.5 draft is distressing. Indeed I am one of the folks who is going to try to review the draft and 30 days is no where near enough time to do a proper job. The notion of starting at different places is NOT helpful because it is likely that my objections won't be evenly distributed across the document and because any I miss for lack of time can't be raised in a future ballot. The TCOS administration should REQUIRE that balloting groups be given sufficient time to review documents thoroughly. Otherwise we will end up with incompletely reviewed standards which we will then have to try to live with. This just serves to reinforce my view that the POSIX effort has changed from standardising existing practice with due deliberation to one to create as many standards documents as possible as quickly as possible without due regard for existing practice or internal consistency among the various documents that are under P1003. Standards are a good thing if done carefully. I'm concerned that the POSIX effort is moving too hastily to be truly useful to us users. Randall Atkinson randall@Virginia.EDU Volume-Number: Volume 21, Number 113