🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

14 total messages Started by Stephen R. Walli Wed, 23 Dec 1992 21:33
POSIX - Caving In Under Its Own Weight (Long)
#859
Author: Stephen R. Walli
Date: Wed, 23 Dec 1992 21:33
605 lines
31998 bytes
Submitted-by: sef@ftp.uu.net

``Standards are commercial and international politics dressed up as
technical arguments.''

I think POSIX is caving in under its own weight.  All of the hard
nuts-and-bolt work effort of defining a technical programming
specification is slowly being mired in the mud.  POSIX exists to ``...
support application portability at the source-code level.  It is
intended to be used by both application developers and system
implementors.'' (ISO/IEC IS 9945-1:1990, 1.1 Scope, p.1, lines:2-3).

It has been floundering for sometime in a mess of its own making. I
want to look at this mess, describing it and its historical context,
and offer up a few possibilities for solutions.  This article is long,
but there is a lot of context that needs to be understood to see
what's happening to an otherwise useful standards effort. The article
ends with a list of e-mail addresses to which you may wish to send any
questions and concerns. In fact, I encourage it, and hope that you'll
be convinced by the end of the article.

The Problem

There are two sets of people doing work in the POSIX working groups.
The first set sit in the individual working groups, distilling
historical practice and experience into a technical specification
``for application developers and systems implementors.''

The second set of people have typically been involved at the working
group level for quite some time. They are often chairs of the groups
or other officers.  These people have begun to have co-ordination
meetings and form steering committees outside the working group
structure.  All of the pieces of POSIX are related to one another, and
there is a genuine need to co-ordinate between the different groups of
heads-down-over-the-specification-technicians.  The bureaucracy has
grown because of need rather than desire to hold extra meetings.  Most
of the people involved can think of more enjoyable ways to spend their
time.

I wander these steering committees, sub-committees, and the hallways
of POSIX. It quickly became apparent to me that this is where the
politics that drives POSIX is most on display.  I was eventually
around long enough to get involved in some of these committees. (Fool
me.)

There has been a strange tension in these rooms for quite some time,
coupled with a terrible confusion and sense of apathy. This is not
noticable in the working groups themselves.  Heads down and oblivious
to the politics of POSIX, the working groups are buried in the
religious wars and politics of their own technical specification.

A couple of POSIX meetings back, it began. First in one steering
committee, then another, and another.  The group would hit a crisis
point, and throw up its hands.  Despite the fact that each room
contained people with a long history and knowledge of POSIX, they
would reach a point of apparent confusion as to how to co-ordinate
with another steering committee or sub-committee. (The running joke is
that we need a steering committee steering committee, but it really
isn't seriously contemplated.)

Finally, someone would suggest we need to define the problem. I
offered to go away and write it up. (More fool me.) Then the next
sub-committee meeting. The same process.  Tension, confusion, ``let's
define the problem.'' It started in the Project Management Committee.
I later saw it in the Steering Committee for Conformance Testing, then
the System Interface Co-ordination Committee. These are all really
fundamental sub-committees, with a lot of POSIX history in their
membership.

The co-ordination complexity is amazing. The major areas of POSIX
requiring co-ordination are the base documents themselves, their test
methods, and their structure with respect to language independent
specifications (LIS) and programming language bindings. (This
complexity has spawned profiles, about which I've yelled enough for
now.)

Steering committees were thought to be a way out of the mire. If we
just communicate with one another, the problems will all become
apparent, sort themselves out and go away.  But ultimately this falls
down. POSIX is too big. The steering committees have no authority to
impose their collective will.  POSIX is a volunteer effort. There are
no sticks and there are no carrots.

If it becomes too much trouble to build the standards, then the
volunteers will cease to arrive at the meetings. The POSIX standards
effort will fail. Or worse yet, they will continue to be defined by
fewer and fewer people with sound technical background and a proper
perspective on the subject. This will cast doubt on the good work
which has already been done.

Test Method Madness

To ensure that implementations of the POSIX.1 standard could somehow
be tested and certified in a uniform way, the POSIX.3 standard (Test
Methods) was created. This work was heavily supported and resourced by
the United States government, along with the testing agencies that were
supporting the actual testing requirements.

The POSIX.3 standard is not a bad thing. It defines a methodology by
which test methods and results of test cases written to these methods
can be uniformly described.

If you are creating a standard it's a useful tool to ask yourself
``how would I test this functionality or feature'' as you write the
specification.  It ensures you read and possibly re-write the
specification properly.  You may wish to deliberately not be complete
in the definition, but these areas in a standard specification should
be intentional.

This ``testing'' tool has even been proven.  Several working groups
have written test methods for their specifications, with some help
from people historically involved in the original POSIX.3 effort. Many
of these POSIX.3 members have formed the Steering Committee on
Conformance Testing (SCCT) that oversees how test methods are applied
and created in the working groups.  The SCCT has been too busy to
review these test methods in depth, but without judging whether the
new test methods are good or bad, the working groups that have gone to
the trouble of creating them have all felt that their base
specifications are better defined for the effort.  It seems that the
tool works!

Now for the problem.  Some time ago, the SCCT recommended to the
Sponsor Executive Committee (SEC) that all POSIX standards must have
associated test methods.  These test methods would be standards as
well. They convinced the SEC to make this a requirement.

Now, a standard cannot offically exit balloting without having a test
method specification that is also a standard.  This instantly sets up
a directly competing body of text to the original standard. This is
not a competing functional standard a la IEEE 802.n LAN standards.
This is a competing body of text. (Note: ALL discussions of formal
testing languages and formal specifications are red herrings here.
Anyone wishing to hear my three Canadian cents worth on the subject
can email me.)

Test methods standards will become the annointed specification for the
test suite to demonstrate conformance by organisations with the funds
or market presence to demand as much. Implementations can hit the
narrower mark of the test suite (embodying the standard test methods)
to naively certify rather than hit the standard itself. If you don't
realise the subtle and nasty differences that can appear, spend some
time with the POSIX.1 standard (IEEE Std 1003.1- 1990), and with its
newly declared standard test methods (IEEE Std 1003.3.1-1992).

And what happens when there are holes in the test methods?  Some
things cannot be tested.  The standard still has requirements on these
areas of behaviour, but they may not translate nicely. And there are
some places where the test methods simply aren't complete.  A
reasonably recent draft of the POSIX.3.1 test methods had test methods
for the POSIX.1 environment variables required by U.S. FIPS PUB 151-1,
(the U.S. government profile of POSIX.1,) but none for the other
environment variables. The international community might wish to take
note of this oversight on all LC_ environment variables, should the
POSIX.3.1 standard get to ISO. What other holes are there?

There is a terrible balloting problem. Balloting apathy or overload is
striking many places. The test methods documents are as big as the
standards they repeat. Fewer people care about the test methods,
they've seen the original specification and the job is done, right?
We run the terrible risk of passing bad test methods documents if these
documents are quickly processed through balloting groups whose members
have little time on their hands.  In the current commercial climate
for standards, this is dangerous.

Then, of course, there is the maintenance problem. All useful
standards have the same problem as all useful software. They need to
be maintained. It's just slower and more tedious.  One has added a
level of complexity to the administration of the interpretations.

POSIX.1 has the fun little contradiction that PATH_MAX is the length
of the pathname both explicitly including and excluding the
terminating null byte. An interpretation was requested, and came back
that it was an inconsistency and that both can be right.(2)

 (2) IEEE Std 1003.1-1988/INT, 1992 Edition, Interpretation
    Number: 15, p. 36.

Now what happens when someone requests an interpretation of a standard
with its test methods?

If the request is leveled against the base, what guarantees are there
that the test methods, i.e. a separate standard, will be kept
synchronized? If it's against an inconsistency between the base and
its test method standard, which one wins? If the PATH_MAX argument
holds, then both are correct.  Since one of them is implemented as a
test suite to demonstrate conformance, which one wins in the real
world?

Do test methods need to be standards? Who wins by forcing working
groups to completely re-specify their work as test methods? Testing is
expensive, but the market ultimately protects itself. What has been
done in the TCP/IP space? (If you don't think TCP/IP is a successful
widely implemented specification, stop reading now.) What about the C
language?  No one specified a set of test methods for the ANSI C
standard. People in the know wanted to see how to test the C standard,
and through a lot of hard work built the Plum-Hall test suite. The
U.S. government created a FIPS for C, and chose an available suite.
There were no test methods for this work. No added burden on the
volunteer standards community to respecify itself.

A great tool; But only a tool!

LIS - The Great Experiment

Language Independent Specification (LIS) is burden Number #2 on
working group members.  Two working groups have been operating in the
POSIX space for quite some time in programming languages other than C.
One is the POSIX.5 Ada Bindings group, which has re-cast the POSIX.1
standard into Ada, and is now working on POSIX.4 (Real-time
Extensions.)  The second is POSIX.9 which has similarly cast POSIX.1
into FORTRAN 77, and is now considering what to do with Fortran 90.
The two groups have finished their work. Two real standards exist
within the IEEE standards realm:

   - IEEE Std 1003.5-1992 (Ada Bindings to IEEE Std 1003.1-
     1990.)

   - IEEE Std 1003.9-1992 (F77 Bindings to IEEE Std 1003.1-
     1990.)

A small digression is required on ISO POSIX.  Along the way, IEEE
POSIX entered the international community and an ISO Working Group
(WG15) was created as its home in the Subcommittee on Programming
Languages (SC22). WG15 is not a standards development group per se, in
that it does no drafting of specifications. Its job is to review the
draft IEEE documents and make recommendations to the IEEE, through the
ANSI sponsored U.S. Technical Advisory Group (TAG) on POSIX, back to
the POSIX Sponsor Executive Committee.

Do not be fooled. There is a substantial overlap in the key personnel
of the IEEE working groups and people sitting in the WG15 meetings as
individual technical specialists from their respective national POSIX
standards groups.

ISO began trying to specify programming interface standards in
programming language independent ways, such that the functional
specification appears once, with multiple bindings. It seems expensive
to continually re-specify a standard from one language into a standard
in another language. There is the feeling that there is twice the work
effort, plus the co-ordination effort.

A different international group, WG11, is working at defining abstract
data types and such.  All programmatic interfaces could eventually be
described in some abstract functional way and each individual language
binding would just ``fall-out'' once the mapping from the abstract
types to program language types had been established. Because of early
experiments in specifying standards this way, language independence
was inflicted on POSIX as a requirement from WG15. POSIX the Guinea
Pig.  WG11 had never been faced with POSIX.

All this means every standard becomes two standards.  There is a book
describing the functional specification in abstract data types, and a
book specifying a mapping to a real programming language's syntax,
along with additional required semantics. Try re-reading each of the
last few paragraphs, and after each repeat, ``It is intended to be
used by both application developers and system implementors.''
Ideally, ISO WG members believed that the functional specification
would be a ``thick'' book, and that the language binding would be
``thin''.

The Ada group, POSIX.5, chose not to split their work. They argued it
was too late in their project and that a sufficiently mature POSIX.1
LIS did not exist. They further argued that they had to produce a
``thick'' language binding reproducing much of the semantic content of
the POSIX.1 book, re-cast into Ada-speak, in-line.  Programmer
usability was very high on their list of priorities. Think about that
for a minute.

I work in an environment where we regularly refer to the POSIX.1
standard.  We write code that needs to be portable to many non-Unix
based architectures that provide POSIX.1 interfaces. All of our many
copies of POSIX.1 are very dog- eared and marked up. We use our copies
daily. It is a useful book from which to program. It is not a
tutorial. It is a programmer's reference.

I recently had to go through the POSIX.5 and POSIX.9 standards. I am
not an Ada programmer, but still found the information I needed to
find, in an easily understandable form. The POSIX.5 group did their
job well. Yes, it is a thick binding repeating the semantic functional
material of POSIX.1. And yes, even though the POSIX.5 standard is
supposed to exactly mirror the POSIX.1 standard, I found a bug, (or at
least something about which to request an interpretation.) But I found
the information, clearly laid out; even the bug!

The POSIX.9 (FORTRAN 77) working group chose to attempt a thin
language binding to POSIX.1. They were very tight for resources and
they wanted to do the right thing with respect to the ISO WG15
requirements. Through no fault of their efforts, I found it to be a
difficult book to use, and I was a Fortran programmer in a previous
incarnation.

First, you immediately run into the two book issue. Look up the syntax
in POSIX.9 which immediately punts you to the semantics in POSIX.1. So
you jockey about two books in your lap, continually cross referencing.

Second, you continually switch frames of reference. In one book, there
is a solid real world line of language syntax; in the other book, a
description of that syntax's semantics in a different specification
language (C.)

In balloting the POSIX.1 Language Independent Specification (LIS), I
ran into the same problems. Two books, two frames of reference. At
least POSIX.1 Classic (IEEE Std 1003.1-1990 == ISO/IEC IS
9945.1:1990) stands as an existing reference against which to compare
these models. When we begin balloting drafts of API standards as LIS
and attendent bindings in at least one language, will we be able to
catch all the holes?

The IEEE paid to have the initial drafts of POSIX.1 LIS and its
C-binding (POSIX.16) produced. They couldn't get the work done any
other way. Paul Rabin worked long and hard to produce guidelines for
writing LIS and language bindings.  This work was done within the IEEE
POSIX realm, although Paul liaised closely with ISO WG11 and WG15. The
few IEEE POSIX working groups that have attempted partial or complete
drafts of their work using these guidelines, have immediately started
finding problems in their previous C language specific descriptions.
Just like test methods, prodding the text by attempting to re-cast it
into a different form made a better specification.

Again, one has to ask if this is a good way to define standards.  A
tool to test the specification, yes. The specification itself? One has
to assume that the standard has an audience, and that usability is an
important factor.  One should assume that the standard is based on
existing practice for the most part. That existing practice is in a
particular programming language for API type standards.  Those will be
the first people to come forward to develop the standard. (There has
to be a need to standardize.)

If others with a different programming language background
participate, this would be ideal. If the experience with the
functionality exists in more than one language, and they all want to
come to the table, this is even better. But we do not live in ideal
worlds. Specifying the functionality in a hard to use (2 document/2
context) format is error prone, especially when the document is being
balloted. Until formal methods become a common method of expression,
we are stuck with English descriptions, and the exacting programming
language syntax of the existing body of experience in that area of
functionality.

Language Independent Test Methods

Yes, you read the title correctly.  If the functionality can be
abstracted, described exactly, then bound in various programming
language syntaxes, so to can the test methods of that functionality.
Think about how you would test an Ada run-time implementation of
POSIX.1.

And each is a standard. So there is a base programming language
independent functional specification (LIS) standard, a programming
language binding standard, the LIS test methods standard, and the
language binding standard for those test methods. Balloting will kill
us. We will produce unusable junk if we continue.

Simple economics says we're doomed. The IEEE is being forced to pay up
into ANSI for its international standards efforts.  To cover the costs
of simply balloting the quantity of paper, the IEEE has been forced to
start charging $25 US to join balloting groups.  To cover the
international participation, they've considered raising this to $50 US.
That means it will cost the individual professional programming member
of the IEEE $200 dollars to join the balloting groups for a set of
standards that represent a simple piece of functionality in which they
are interested.

One might argue that a programmer will only join two balloting groups,
for the LIS and language binding. Because the test methods (LIS and
language binding) are a competing body of text, however, they will
need to check the test methods to confirm they are accurate.  Because
of government procurement policies here and abroad, the test methods
will be important!

An Architect's Nightmare

LIS, language bindings, LIS test methods, and their bindings. Now
imagine that we start amending the four standards at once. POSIX.6
(Security Extensions to POSIX.1 and POSIX.2) will amend POSIX.1 and
POSIX.2 somehow at some point in the not too distant future.  So will
POSIX.4 (Real-time Extensions), POSIX.8 (Transparent File Access), and
POSIX.12 (Sockets/XTI).

The original POSIX.6 document, which did contain all the information
they could put together on POSIX security has just needed to be split
SIX ways.

   - The API as an LIS, to amend POSIX.1/LIS,

   - The API as a C-binding, to amend POSIX.16,

   - The API test methods in LIS form, to amend POSIX.3.1,
     (which currently isn't in LIS form,)

   - The API test methods as a C-binding, to amend POSIX.3.1
     (in its current C form?)

   - The utilities, to amend POSIX.2,

   - The utility test methods, to amend POSIX.3.2.

Can't wait.

The Problem Revisited

If POSIX continues on its current course, one of two things will
happen.

ONE - They will succeed.  The useful standards which do exist will be
amended to an user unfriendly form. An ugly unusable set of standards
will eventually be born.  Because of the lack of use, they will fail.
People will not use them. It will be too easy to ignore them.
Programmers will not be able to rely on a certain portability model.
The vendors will continue to sell completely proprietary
implementations.

TWO - They will fail.  Under it's own weight, it will collapse. If not
with a bang, then with a slow sickening crunching sound. The people
with the knowledge will get tired, or lose support (as they obviously
aren't producing anything to show their management in recessionary
times.)  POSIX.1 will become unusable as it is amended and amended and
almost amended.  (``If we wait for another 6 months, we'll be able to
get all the wizzy features in POSIX.42....'')

ONE AND HALF - Life isn't this black or white. The ugly truth will lay
in the middle. We're talking about several thousands of pages of
functional specification.  We're talking several hundred people in
working groups, plus hundreds more in balloting groups, plus the
unsuspecting time-delayed purchasing public. The death will be long and
painful.  Senility will set in first.

Solutions!

Ok. Let's stop the gloom and doom. Let's take an optimistic pro-active
view!  What to do about the problems of POSIX?  Let's put it on a diet.

Remove the continued requirement on balloting the test methods as
standards.  The Steering Committee of Conformance testing would no
longer have a function. It's members could go do real work in the
POSIX.3 update effort, adding to a useful document which provides a
tool for testing the specifications developed in working groups.

These working groups would immediately cease worrying about developing
complete test methods documents. Those that cared, would when
occasionally confronted with ugly passages in their drafts have a
useful tool (POSIX.3) to use to try asking the question, ``how would I
test this?''

Ballot groups could concentrate on the real specification in front of
them. Repeat again: Bad test methods standards will be dangerous in
the marketplace.

Individual technical members in working groups could stop worrying
about completely re-specifying their document.  Possibly some that
cared, with the newly found time, might actually write some real
honest-to-god test cases. These would surface, instead of everyone
waiting to see which way the testing wind was going to blow by large
governmental agencies here and abroad. These test cases might even be
used, therefore useful.

Should these large governmental testing concerns wish to compare the
merits of test suites, they could require that they are documented,
and record results according to POSIX.3. Render unto the standards
community that which is the standards community's, and render unto the
marketplace that which is the marketplace's.

Who can act on this recommendation?  The IEEE POSIX Sponsor Executive
Committee can. They are made up of the working group chairs, the
steering committee chairs, and institutional representatives. There is
a list of these at the end of the article, with email addresses. Send
them e- mail. It really only takes a minute. It will save you a lot of
future grief to take the minute to ask questions NOW!

There is also a list of some important heads of delegation within the
ISO POSIX WG15. WG15 is considering forwarding IEEE test methods
documents as standards at the international level. Then we can all
live with any mistakes in the U.S. government procurement policies!
E-mail soon!  E-mail often!

Let's continue the POSIX diet. Programming Language Independent
Specifications should be stopped for the time being. The IEEE has put
forward an incredible good faith attempt.  The experiment should be
considered a success!  We have demonstrated that we don't yet know
enough about specifying API standards in this abstract way. We should
cease to hold up the working process.

Once the problem is better understood, and our methods of describing
things in an LIS improve, we can begin exporing the possibilites.
Notice that I didn't say retrofit or recast. I said explore the
possibilities. Until we actually add a few of the large amendments to
the base standard, changing its format midstream just opens things up
for abuse and error.  Let's do it a few times in languages that many
of us understand, ie. C, Fortran, Ada, before tackling the problem
with little understood methods, which have been untried at this scale.

What would happen? Working groups would spend less time trying to
re-cast their work (again!) into LIS. They would spend more time on
the real specification, making it usable ``for application developers
and systems implementors.''

When the existing working groups want to bind something in more than
one language, they arrange to attend one anothers' meetings, and they
work together. This sometimes takes the form of the complex strained
negotiations that are the consensus process. This process is already
in place in POSIX and has been for some time. It works.  The LIS has
not been required in producing the usable standards documents to date.

Who can act on this recommendation?  Once again, the IEEE POSIX
Sponsor Executive Committee can. This one is harder, however, as ISO
WG15 is also involved.

First, the SEC has to be willing to say ``no''. This is not a surly
uncooperative ``no''. A huge work effort has gone into the LIS
experiment. There is real experience in the IEEE POSIX projects with
this. The SEC can say ``no'' with confidence based on experience.  ISO
cannot claim the same experience. (If they could, they would have been
helping us a long time ago.)

Second, ISO WG15 has to be willing to say ``no''. Remember that there
is a sizable overlap in the small membership of WG15, and members of
the SEC. The IEEE POSIX working groups have many international members
who show up in the Canadian, UK, American, and German delegations.
Education is certainly not the problem here, however, communication
might be.

Other special working groups within ISO may be concerned with this
approach, but again the experience lies within the IEEE POSIX working
groups, which overlap with ISO WG15.  Other ISO concerns should be
acknowledged and put to rest.  Once again I say: E-mail soon! E-mail
often!

Ultimately, in a worst case scenario some level within ISO could
refuse to accept IEEE POSIX drafts for ISO ballotting.  I believe even
this case should not be of concern, based on the following examples:

   - ISO WG15 has not accepted the perfectly useful IEEE POSIX.5 for
     international standardization, since it did not fit the ISO
     requirements.  ISO WG9 (ISO Ada Working Group) has been very
     concerned by this action and is attempting to fast track the IEEE
     POSIX document.

   - A representative from AFNOR (France's National standards
     organization) voiced strong support for the IEEE POSIX groups to
     continue to bring forward the standards as LIS at the last ISO
     WG15 meeting.  He then immediately expressed grave concerns that
     POSIX.4 be brought forward as quickly as possible in its current
     C-based form to the Draft International Standard (DIS) state. You
     see the French government can procure against a DIS.

Ultimately, if the IEEE POSIX working groups do their job right and
produce useful and usable standards, the market will demand their use,
even if they have to be fast-tracked into the back door to make them
international standards for the international market place. Twisting
the standardization process away from defining detailed specifications
towards suiting procurement processes from organizations that are too
big to change is wrong!

POSIX has market momentum.  It will effect the way you do things. The
working groups have produced useful standards, but that is now in
jeopardy.  You can effect the process. If you can't get directly
involved, e-mail the appropriate people below and ask questions!
Explain your concerns!  Otherwise, you'll have to live with their
decisions.

Who Ya Gonna Call?

             Position          Name                    E-mail

                           IEEE Concerns

Chair SEC                   Jim Isaak           isaak@decvax.dec.com
Vice Chair Interpretations  Andrew Twigger      att@root.co.uk
Vice Chair Balloting        Lorraine Kevra      l.kevra@att.com
Chair Steering Comm on
             Conf Testing   Roger Martin        rmartin@swe.ncsl.nist.gov
Chair Project Management 
               Committee    Shane McCarron      s.mccarron@ui.org
Chair POSIX.1               Paul Rabin          rabin@osf.org
Chair POSIX.2               Hal Jespersen       hlj@posix.com
Chair POSIX.3               Lowell Johnson      3lgj@rsvl.unisys.com
Chair POSIX.4               Bill Corwin         wmc@littlei.intel.com
Chair POSIX.5               Jim Lonjers         lonjers@prc.unisys.com
Chair POSIX.6               Ron Elliot          elliott%aixsm@uunet.uu.net
Chair POSIX.7               Martin Kirk         m.kirk@xopen.co.uk
Chair POSIX.8               Jason Zions         jason@cnd.hp.com
Chair POSIX.9               Michael Hannah      mjhanna@sandia.gov
Chair POSIX.12              Bob Durst           durst@mitre.org
USENIX Institutional Rep    Jeff Haemer         jsh@canary.com
EurOpen IR                  Stephen Walli       stephe@mks.com
Uniforum IR                 Ralph Barker        ralph@uniforum.org
DECUS IR                    Loren Buhle         buhle@xrt.upenn.edu
OSF IR                      John Morris         jsm@osf.org
Unix International IR       Shane McCarron      s.mccarron@ui.org
X/Open IR                   Derek Kaufman       d.kaufman@xopen.co.uk

                         WG15 Concerns

Convenor WG15               Jim Isaak           isaak@decvax.dec.com
US Head of Delegation       John Hill           hill@prc.unisys.com
Canadian HoD                Arnie Powell        arniep@canvm2.vnet.ibm.com
UK HoD                      David Cannon        cannon@exeter.ac.uk
German HoD                  Ron Elliot          elliott%aixsm@uunet.uu.net
Dutch HoD                   Herman Wegenaar     (phone: +31 50 637052)
Japanese HoD                Yasushi Nakahara    ynk@ome.toshiba.co.jp
French HoD                  Jean-Michel Cornu   jean-michel.cornu@afuu.fr
Danish HoD                  Keld Simenson       keld@dkuug.dk


Volume-Number: Volume 29, Number 86
Re: POSIX - Caving In Under Its Own Weight (Long
#861
Author: Chris Flatters
Date: Wed, 23 Dec 1992 23:21
20 lines
1339 bytes
Submitted-by: cflatter@NRAO.EDU (Chris Flatters)

In article 1halvbINN9kd@ftp.UU.NET, stephe@usenix.org (Stephen R. Walli) writes:
>....  One should assume that the standard is based on
>existing practice for the most part. That existing practice is in a
>particular programming language for API type standards.  Those will be
>the first people to come forward to develop the standard. (There has
>to be a need to standardize.)

Actually, producing a language independent specification plus language
bindings is already an existing practice for API standards.  Both the
ISO/ANSI GKS and PHIGS standards have this form.  The only aspect of the
POSIX effort that cuts new ground is the use of LI specifications to
approximate existing APIs.

	Chris Flatters
	cflatter@nrao.edu


Volume-Number: Volume 29, Number 88
Re: POSIX - Caving In Under Its Own Weight (Long)
#863
Author: Chuck Karish
Date: Thu, 24 Dec 1992 03:03
147 lines
6848 bytes
Submitted-by: karish@pangea.Stanford.EDU (Chuck Karish)

In article <1halvbINN9kd@ftp.UU.NET> stephe@usenix.org
(Stephen R. Walli) writes, as part of a well-considered
analysis that points out some critical problems:

>I think POSIX is caving in under its own weight.

I agree.

>Test Method Madness

>Now, a standard cannot offically exit balloting without having a test
>method specification that is also a standard.  This instantly sets up
>a directly competing body of text to the original standard.

I've been under the impression that the test methods must
always defer to the semantics defined in the base document.
The competition for developers' attention is real!

>Test methods standards will become the annointed specification for the
>test suite to demonstrate conformance by organisations with the funds
>or market presence to demand as much. Implementations can hit the
>narrower mark of the test suite (embodying the standard test methods)
>to naively certify rather than hit the standard itself.

This is always the case, as far as I can tell.  Implementations
of a standard are tested (and used!) according to their behavior.
It is problematic whether aspects of the base specification
that are not testable belonged there in the first place.

>If you don't
>realise the subtle and nasty differences that can appear, spend some
>time with the POSIX.1 standard (IEEE Std 1003.1- 1990), and with its
>newly declared standard test methods (IEEE Std 1003.3.1-1992).

It's to be called 2003.1-1992.  Is the problem with the
many errors in 2003.1 or with the philosophy of
certification based only on testable behavior?

My observation has been that the nasty differences arise
because the writers of the base standard don't consider
carefully enough how the standard will be implemented.  The
discipline of considering test methods helps focus
attention on these problems before errors in the standards
are immortalized as hacks in the implementations.

>Now what happens when someone requests an interpretation of a standard
>with its test methods?

In the past, people who wondered about the meaning of an
aspect of a base standard asked the relevant interpretations
committee for a ruling.  I don't see that the situation
is much different now.

Each assertion in a test methods document is a very specific
statement about the meaning of the base standard.  The
interpretations committee for the base standard should be
able to assess assertion accuracy easily.

>If the request is leveled against the base, what guarantees are there
>that the test methods, i.e. a separate standard, will be kept
>synchronized?

People who use test suites will either demand it or will
volunteer and do it themselves.  From a practical
viewpoint, it's a tremendous amount of work for a
certifying authority to continually make allowances for
errors in test methods; it's much easier to fix them.

This requires that an active ongoing interpretation and
maintenance process be supported.

>Do test methods need to be standards?

If the test methods aren't standardized, test suites will
become de facto standards without adequate review.  I don't
see a viable alternative to standardizing the test methods.
I hope we can continue to move away from the practice of
hacking our implementations to work around inadequacies in
test suites, just as every implementation of a specification
no longer has to be a bug-for-bug clone of a reference
implementation now that we have a process to standardize
specifications.

>Testing is
>expensive, but the market ultimately protects itself. What has been
>done in the TCP/IP space? (If you don't think TCP/IP is a successful
>widely implemented specification, stop reading now.)

This example is not completely analogous to the POSIX operating
system standards.  Communication systems are worthless without 
complete interoperability, so the marketplace is quite efficient
in requiring conformance.

Move away from that a bit and look at specifications like SCSI,
NFS, and the One True GUI, and you'll see that the marketplace
does not always cause implementors to see the need to compromise and
converge.

>What about the C
>language?  No one specified a set of test methods for the ANSI C
>standard. People in the know wanted to see how to test the C standard,
>and through a lot of hard work built the Plum-Hall test suite. The
>U.S. government created a FIPS for C, and chose an available suite.
>There were no test methods for this work. No added burden on the
>volunteer standards community to respecify itself.

Here's where politics become a problem.  It's difficult to
design test methods and implement a test suite that do not
favor one implementation over another.  Moreover, it's
expensive: sufficiently expensive that it's too risky to
develop a test suite that may not be accepted.  This is
problematic even with standardized test methods.

[ The solution: don't ballot on test methods. ]
>Ballot groups could concentrate on the real specification in front of
>them. Repeat again: Bad test methods standards will be dangerous in
>the marketplace.

Without the balloting, there won't be any test methods
standards.  And if we think back to the misgivings expressed
above about naively certifying against test suites rather than
against standards, we'll come to expect the bad test methods to
drive out the good.


The question of who will be willing to take on all the work
of doing the interpretations is a good one.  The 1003.1
interpretations folks will be swamped for some time to come
with questions about the accuracy of 2003.1 assertions.
The situation would be an absolute nightmare if they were
in the position of having to answer corresponding sets of
questions relating to multiple test methods specifications
that had not been through a review process.

It's much more efficient to get a standard right the first
time than by patching it through the review and maintenance
process.  Without balloting on test methods, we'll wind up
with more wasted effort and less to show for it, both in
the base standards and in the test methods.

--
Chuck Karish          karish@mindcraft.com
(415) 323-9000 x117   karish@pangea.stanford.edu

Volume-Number: Volume 29, Number 90
Re: POSIX - Caving In Under Its Own Weight (Long)
#864
Author: Andrew Hume
Date: Thu, 24 Dec 1992 06:12
90 lines
5908 bytes
Submitted-by: andrew@alice.att.com (Andrew Hume)

	i wanted to add some commentary to stephe's treatise (epic? opus?
kidney stone?). rather than trying to coherently fit my thoughts to his
story line, i thought it better to just dump them out. i therefore
assume the reader has the jist of what stephe said in his or her head
(and like me, is listening to Front 242 or the Sex Pistols).

	first of all, i think LIS are a good idea. as some of the readers
of this group know, i am the technical editor for an ECMA standard on
file system formats (its now DIS 13346!!). i ``had'' to change the draft
to follow essentially a thick/thin binding format. what this meant was that
there were prose sections that defined the semantics of the standard;
for example, how logical volumes were connected to volumes and volume
partitions. these prose sections by and large mentioned no field names;
for example, logical volumes have identifiers -- it didn't say what the
field name was. this prose section corresponds to the LIS; the descriptor
formats (in the latter part of the draft) corresponds to a binding to
specific descriptor formats (or the thin binding). i objected to this
in the beginning but by the end, i was a staunch advocate. it really
helps root out spurious details and you get a much better logical
consistency in the overall design. But, there are a few field names in
there because to get rid of them would have signficantly hurt the readability
of the standard; i was not willing to do that just for pedagogy's sake.

	i have been involved with a few large projects within at&t
(and outside at&t) and like most observers, have noticed an inevitable
trend for the methodologists to take over. admittedly, you need some
administrative goo to manage a few thousand programmers, but you know
that things have gone way too far on the day
you go to a meeting and someone SERIOUSLY suggests forming an ad hoc
group to meet in order to develop ground rules for a (yet-to-be-formed)
committee whose job is to develop a methodology for writing a project
proposal for the WORK that the original meeting decided had to be done.
i have called this the triumph of process over product.

	to a large extent, this has happened to the posix committees.
someone has a good idea: ``test methods''! so far, so good. encourage
people developing standards to think about them. so far, even better.
develop a standard way to write them up. so far, even betterer.
suggest to some over-arch-steering-bignose committee that they be made
mandatory. plausible, if not wise. committee accepts this idea. BIG
MISTAKE. put in more stark terms (and far less diplomatic terms than
stephe did), the question really was 'should test methods be compulsory
when we're not sure how far they can go, they will delay every useful
posix standard from 1-3 years for NO technical gain, they combine
in unpredictable ways with another experimental idea (thick/thin bindings),
and will probably drive 30-70% of the skilled volunteers out of the
standards process because of the huge increase of arbitrary BS such
folks would have to wade through just to stand still?' (actually, even if
put in such terms, it might have got through anyway because the
people on such over-arch committees TEND to be more concerned with
``purity of essence'' than with ``timely, useful standards''.)

	again, as a practical matter, my file system committee several times
voted against certain additions or changes because the nominal improvement
did not justify another draft or slipping the finish date by a month or two.

	this is not to say that you should get a standard out quick and dirty.
however, for the size of standards that posix works on, you WILL have
mistakes. so live with it, stop polishing turds and get the bastard out.
particularly for some of the older posix commitees, it would have
made much more sense to get the original standard out and get some experience
with it in the field while you dick around doing the thick/thin stuff.
it all has to be reviewed in 5 years anyway; for some of these documents,
that is nearly the MTTTT (mean time to thick/thin) and might be less than
the MTTTMTT (mean time to test methods & thick/thin).

	as a final comment, the committment to attend meetings is a
significant drain on smaller companies (especially individual consultants).
if someone told you that you had to get to meetings for an additional
two years because some watery bint had lobbed a methodology at you,
you'd think they were crazy. again, don't rush things but you gotta
understand that a standard is no good to anyone while its in committee.
seriously, if i were involved with a draft that was just about to go
out for (near) final ballot and someone said do test methods first,
you have just lost me as a future standards volunteer. either i give up
in disgust immediately, or i put on a hair shirt and get the job done
and then give up forever because i was so pissed off.

	i have had a fairly pleasant experience working on my standard.
i am disturbed that it seems a singular experience; everyone i talk
to about their experience (almost all posix) has at best an unhappy
experience; some, like stephe and others, have had terrible or worse.
my prayers go out to them.

			andrew hume


Volume-Number: Volume 29, Number 91
Re: POSIX - Caving In Under Its Own Weight (Long
#865
Author: Stephen Walli
Date: Fri, 25 Dec 1992 01:12
36 lines
2463 bytes
Submitted-by: stephe@mks.com (Stephen Walli)


>In article 1halvbINN9kd@ftp.UU.NET, stephe@usenix.org (Stephen R. Walli) writes:
>Actually, producing a language independent specification plus language
>bindings is already an existing practice for API standards.  Both the
>ISO/ANSI GKS and PHIGS standards have this form.  The only aspect of the
>POSIX effort that cuts new ground is the use of LI specifications to
>approximate existing APIs.

When IEEE POSIX began the LIS efforts, the ISO GKS model was investigated
and found to be wanting. Hopefully without sounding trite, the GKS LIS 
proved you could write Fortran programs in any language.  POSIX is trying 
to come up with a model that will take into account different language 
models, the three it has to take into account immediately being: C, Ada, F77.
A lot of effort has gone into this. The IEEE POSIX person responsible 
for the TCOS LIS Guidelines *is* the liaison to ISO WG11 (Language Binding
Techniques) and we have already overreached the WG11 work in a number of 
areas. Operating system APIs are apples. Graphic objects are oranges. 

The requirements placed on POSIX were different from the start in that
there were anywhere from 6-12 Fortran programmers, and 20-30 Ada
programmers looking over our shoulders at any one point in time.  These
were people who were active in their own working groups, so only had
time to provide critical comment over the wall. In separate
conversations, I have heard a number of Ada programmers complain
bitterly about the GKS Ada binding.


------------------------------------------------------------------------------
Stephen R. Walli,       stephe@mks.com | Standards are commercial and  
Mortice Kern Systems Inc.              | international politics dressed up  
phone: +1 (519) 884-2251               | as technical arguments. 


Volume-Number: Volume 29, Number 92
Re: POSIX - Caving In Under Its Own Weight (Long)
#866
Author: Stephen Walli
Date: Fri, 25 Dec 1992 01:16
75 lines
4003 bytes
Submitted-by: stephe@mks.com (Stephen Walli)

In <1hbkbtINNmh8@ftp.UU.NET> andrew@alice.att.com (Andrew Hume) writes:

>	i wanted to add some commentary to stephe's treatise (epic? opus?
>kidney stone?). 

Angst.  And thanks for taking the time to read it. 

>	first of all, i think LIS are a good idea. as some of the readers
>of this group know, i am the technical editor for an ECMA standard on
>file system formats (its now DIS 13346!!). i ``had'' to change the draft
>to follow essentially a thick/thin binding format. what this meant was that
>there were prose sections that defined the semantics of the standard;
> ....
>it really
>helps root out spurious details and you get a much better logical
>consistency in the overall design. But, there are a few field names in
>there because to get rid of them would have signficantly hurt the readability
>of the standard; i was not willing to do that just for pedagogy's sake.

I agree very much with your statement about the ability to better specify 
the standard, by stressing it and re-casting it. A couple of questions,
because it sounds like you've been able to do something useful with your 
LIS.

1. I haven't seen your spec (and I know its electronically available :-)  
   but how big is it wrt POSIX.1?  I think size and scope has a lot to 
   do with some of the problems in POSIX. 

2. I found the two book/two context problem really hurts usability.
   ( I don't believe this is the simple publishing problem some people 
    think it is.)  Are their similar concerns with your spec? 

3. How many language bindings are there to your LIS? And what languages 
   are they? 

4. Have you seen the current POSIX.1/LIS and POSIX.16 C-binding? 
   If so, what did you think?

>	to a large extent, this has happened to the posix committees.
>someone has a good idea: ``test methods''! 
>....
>they will delay every useful
>posix standard from 1-3 years for NO technical gain, they combine
>in unpredictable ways with another experimental idea (thick/thin bindings),
>and will probably drive 30-70% of the skilled volunteers out of the
>standards process because of the huge increase of arbitrary BS such
>folks would have to wade through just to stand still?' (actually, even if
>put in such terms, it might have got through anyway because the
>people on such over-arch committees TEND to be more concerned with
>``purity of essence'' than with ``timely, useful standards''.)

To give a real example: POSIX.4 (Real-time Extensions to POSIX.1) is almost
done. It will go in front of the IEEE Standards Board in June. There are no
test methods. To construct test methods, they should do so in an LIS form, 
plus C binding. But then the standard is not yet in LIS form. Plain old 
fashioned C. If I found out, as a poor individual programmer in the 
industry, that this useful specification was being withheld by the IEEE 
standards board because it didn't have this other thing (of NO value to 
me as programmer) called test methods, I would yell VERY LOUDLY at ANSI, 
which certifies the IEEE to produce standards. 

As always, my two cents. 

cheers,
stephe 

------------------------------------------------------------------------------
Stephen R. Walli,       stephe@mks.com | Just say ``NO'' to anticipatory 
Mortice Kern Systems Inc.              | standards. 
phone: +1 (519) 884-2251               |


Volume-Number: Volume 29, Number 93
Re: POSIX - Caving In Under Its Own Weight (Long)
#867
Author: Jerry M. Carlin
Date: Fri, 25 Dec 1992 01:17
18 lines
1262 bytes
Submitted-by: jmcarli@srv.pacbell.com (Jerry M. Carlin)

There is yet another problem: scope. I'm in the process of reviewing
1003.6 draft 13. Lots of good work went into it and there is lots that I
can agree with but my biggest problem is what they left out. IMHO 1003.6
won't REALLY be complete until the year 2000, if then, given that I&A and
lots of other things are not currently in the standard.  Even for what is
being standardized, my biggest problem is usability.  For example, you can
have audit, but no commands (none!) that deal with audit.

I'm not sure what the answer is, but if we're not careful it will
be Windows NT:-(

-- 
Jerry M. Carlin	(510) 823-2441 jmcarli@srv.pacbell.com
Alchemical Engineer and Virtual Realist

Volume-Number: Volume 29, Number 94
Re: POSIX - Caving In Under Its Own Weight (Long)
#868
Author: Andrew Hume
Date: Fri, 25 Dec 1992 07:26
41 lines
2438 bytes
Submitted-by: andrew@alice.att.com (Andrew Hume)

In article <1hdndfINNi52@ftp.UU.NET>, stephe@mks.com (Stephen Walli) writes:
> 1. I haven't seen your spec (and I know its electronically available :-)  
>    but how big is it wrt POSIX.1?  I think size and scope has a lot to 
>    do with some of the problems in POSIX. 

	the spec all up is 120-odd pages, including system requirements etc.
so it is maybe a third of 9945-1 and some infinitesimal fraction of 1003.2.
the size is a second order effect, i think; the thing that hurts you most
is the precision you need, and the need to cover a bunch of extent systems.

> 2. I found the two book/two context problem really hurts usability.
>    ( I don't believe this is the simple publishing problem some people 
>     think it is.)  Are their similar concerns with your spec? 

	nup. we were smart enough to insist on the 5 parts of our spec
being published together as a single volume. and another standard being
done at the same time which uses two of our parts verbatim is also
including those two parts in their volume for mainly readability issues.

> 3. How many language bindings are there to your LIS? And what languages 
>    are they? 

	As we are a format standard, and not an application interface standard,
we have no languages as such. however, specific descriptor formats are
analogous to languages; we include one such binding (that is, one set of
descriptors) in the standard. (as an example, i know of some work on
another binding with rather different performance characteristics.)

> 4. Have you seen the current POSIX.1/LIS and POSIX.16 C-binding? 
>    If so, what did you think?

	regrettably, not for some time. is it possible to get something
electronic?


			andrew hume


Volume-Number: Volume 29, Number 95
Re: POSIX - Caving In Under Its Own Weight (Long)
#869
Author: Chuck Karish
Date: Fri, 25 Dec 1992 23:53
35 lines
2325 bytes
Submitted-by: karish@pangea.Stanford.EDU (Chuck Karish)

In article <1hdndfINNi52@ftp.UU.NET> stephe@mks.com (Stephen Walli) writes:
>To give a real example: POSIX.4 (Real-time Extensions to POSIX.1) is almost
>done. It will go in front of the IEEE Standards Board in June. There are no
>test methods. To construct test methods, they should do so in an LIS form, 
>plus C binding. But then the standard is not yet in LIS form. Plain old 
>fashioned C. If I found out, as a poor individual programmer in the 
>industry, that this useful specification was being withheld by the IEEE 
>standards board because it didn't have this other thing (of NO value to 
>me as programmer) called test methods, I would yell VERY LOUDLY at ANSI, 
>which certifies the IEEE to produce standards. 

Remember that a lot of the functionality in POSIX.4 is invented,
either extending what's in existing implementations or specifying
the behavior differently.

It will be even more important for this standard than for POSIX.1
and POSIX.2 to have agreed-upon test methods.

The fact that the IEEE Standards Board won't publish the standard yet
does nothing to prevent OS vendors from implementing the C binding,
and thus has little effect on the individual programmer's ability to
use its features.  The tradeoff, from the programmer's point of view,
is that the sooner test methods are agreed upon, the sooner it will
be possible to write portable code that can be expected to work on
all POSIX.4 systems that support the applicable option(s).  Language
independence is of lesser importance to C programmers, except as it
impedes the rest of the process.

--
Chuck Karish          karish@mindcraft.com
(415) 323-9000 x117   karish@pangea.stanford.edu

Volume-Number: Volume 29, Number 96
Re: POSIX - Caving In Under Its Own Weight (Long)
#870
Author: James Buster
Date: Fri, 25 Dec 1992 23:55
24 lines
1575 bytes
Submitted-by: bitbug@netcom.com (James Buster)

In article <1hdnejINNi74@ftp.UU.NET> jmcarli@srv.pacbell.com (Jerry M. Carlin) writes:
>There is yet another problem: scope. I'm in the process of reviewing
>1003.6 draft 13. Lots of good work went into it and there is lots that I
>can agree with but my biggest problem is what they left out. IMHO 1003.6
>won't REALLY be complete until the year 2000, if then, given that I&A and
>lots of other things are not currently in the standard.  Even for what is
>being standardized, my biggest problem is usability.  For example, you can
>have audit, but no commands (none!) that deal with audit.

I thought the audit commands were being done as an addendum to 1003.2.
Has this idea been dropped?

Not to mention the fact (opinion?) that the interfaces specified by 1003.6
are so complex that verification and minimality of the TCB is extremely
(impossible?) difficult to assure. Anybody know where I can get a copy of
the Trusix spec?

-- 
James Buster
bitbug@netcom.com

Volume-Number: Volume 29, Number 97
Re: POSIX - Caving In Under Its Own Weight (Long)
#877
Author: Casey Schaufler
Date: Tue, 29 Dec 1992 22:14
26 lines
1611 bytes
Submitted-by: casey@anchovy.wpd.sgi.com (Casey Schaufler)

> I thought the audit commands were being done as an addendum to 1003.2.
> Has this idea been dropped?

All of 1003.6 should be considered an addendum.

> Not to mention the fact (opinion?) that the interfaces specified by 1003.6
> are so complex that verification and minimality of the TCB is extremely
> (impossible?) difficult to assure.

The POSIX ACL spec is Most Heinous. The priviledge mechanism is designed
primarily to ease retrofitting existing sysadmin programs, not to provide
for the principle of least priviledge. The audit section doesn't actually
nail anything down.

> Anybody know where I can get a copy of the Trusix spec?

The Trusix spec is available from the NSA. Don't strain any muscles getting
it, however. The Trusix working group (which I was privileged to be part of)
did not (in my opinion) produce anything of real value, primarily because
they didn't want to be incompatible with the POSIX efforts.

	-casey

Volume-Number: Volume 30, Number 4
Re: POSIX - Caving In Under Its Own Weight (Long)
#888
Author: Stephen Walli
Date: Wed, 30 Dec 1992 22:55
76 lines
4493 bytes
Submitted-by: stephe@mks.com (Stephen Walli)

In <1hg6ucINNft5@ftp.UU.NET> karish@pangea.Stanford.EDU (Chuck Karish) writes:

Thank you for taking the time to comment, but I believe I disagree with 
your comments. 

>In article <1hdndfINNi52@ftp.UU.NET> stephe@mks.com (Stephen Walli) writes:
>>To give a real example: POSIX.4 (Real-time Extensions to POSIX.1) is almost
>>done. It will go in front of the IEEE Standards Board in June. There are no
>>test methods. 
>>....
>Remember that a lot of the functionality in POSIX.4 is invented,
>either extending what's in existing implementations or specifying
>the behavior differently.
>It will be even more important for this standard than for POSIX.1
>and POSIX.2 to have agreed-upon test methods.

Why? I fail to see the connection between the above two paragraphs.  If
a lot of POSIX.4 *is* invented, then I would be *real* scared of
trusting them to get the test method specification correct without the
benefit of real implementations of the base standard upon which to cut
real test suites. I would hope that large procurement groups such as
the U.S. government would never choose so naive a specification for
testing for a possible FIPS of POSIX.4.

>The fact that the IEEE Standards Board won't publish the standard yet
>does nothing to prevent OS vendors from implementing the C binding,
>and thus has little effect on the individual programmer's ability to
>use its features.  

I disagree. VMS implemented to POSIX.4/Draft 9. QNX has implemented a
few chapters out of Draft 9 as well, (I think.) I'm not sure how
current Lynx is. There is at least one other vendor I know of,
implementing to Draft 10. The sooner the working group's work is done,
the sooner the IEEE Standards Board can approve it, and the sooner the
IEEE can publish it.  Until then, there is no definitive reference for
a programmer to follow or brow beat a vendor.

>The tradeoff, from the programmer's point of view,
>is that the sooner test methods are agreed upon, the sooner it will
>be possible to write portable code that can be expected to work on
>all POSIX.4 systems that support the applicable option(s).  

Again I ask, why?  The sooner the POSIX.4 *standard* exists, the sooner
a programmer can write portable code. Test methods *standards* do not
matter.  The only organizations that seem to really care about test
methods *standards* are large governmental procurement agencies.
Testing is expensive. They don't have the money to develop the suites
in house anymore, in these recessionary times.

There is nothing preventing them when they are evaluating possible
suites to test conformance to a standard, from laying down the criteria
that the suites document individual test cases according to the grammar
laid out in POSIX.3 (Test Methodologies for POSIX Standards), and that
they report status accordingly.  This would give them a basis for
judging test suites, one against the other.  They could even request
that individual test cases are tagged with some sort of
Section.subsection.page.line# identifier, and the quoted text from the
base standard, so someone could go through the standard with a
high-liter, (crude as this may seem,) to check for coverage.  They will
likely get a better suite, if they have more than one real suite to
judge against, than by asking the standards working groups to second
guess what a test suite will look like. Or they can pay the testing
houses like Mindcraft, Unisoft, Datafocus, and Perennial to develop the
suites in this manner. This is not work that should be hoisted onto the
standards development working groups any longer.

cheers,
stephe
-- 
Stephen R. Walli,       stephe@mks.com | Just say ``NO'' to anticipatory 
Mortice Kern Systems Inc.              | standards. 
phone: +1 (519) 884-2251               |

Volume-Number: Volume 30, Number 15
Re: POSIX - Caving In Under Its Own Weight (Long)
#971
Author: Scott E. Preece
Date: Tue, 05 Jan 1993 00:29
39 lines
2526 bytes
Submitted-by: preece@urbana.mcd.mot.com (Scott E. Preece)

The problem is that in the current environment saying "Don't make us
write test methods" really means "We think it's better to send the
standard our a little half-baked than to take the time to remove another
round of ambiguities."  That *may* be the right answer.  It may very
well be that more ambiguities will be exposed and interpreted by getting
the standard out for people to implement.  On the other hand, it also
may be that each implementor will guess and interpret when faced with
ambiguity, rather than seeking interpretation through inconvenient and
possibly slow official channels.

What is important about the test method requirement is that it requires
the standard writers to translate the specification into another form.
There is no structural guarantee that the alternative form will be
complete or perfect, but there is a high probability that *some*
ambiguities will be exposed.

My experience with trying to get a system to meet a standard that was
intended to be quite unambiguous (the 88000 version of the SVR4 ABI) is
that none of the existing standards is there yet and that forcing the
authors to think about them a little longer and in a different form is
for the good, though I must also acknowledge that I don't know how my
own work group is going to get that work done, either.

If we can't keep our people and our companies interested, we're going to
be stuck with one unambiguous standard: what runs successfully on NT on
the architecture whose name I prefer to leave unuttered...  I think that
would be for the worse, and I hope I would feel that way even if it were
our architecture that were the common reference.

--
scott preece
motorola/mcg urbana design center	1101 e. university, urbana, il   61801
uucp:	uunet!uiucuxc!udc!preece,	 arpa:	preece@urbana.mcd.mot.com
phone:	217-384-8589			  fax:	217-384-8550


Volume-Number: Volume 30, Number 17
Re: POSIX - Caving In Under Its Own Weight (Long)
#963
Author: Jason Zions
Date: Thu, 28 Jan 1993 19:17
28 lines
1587 bytes
Submitted-by: jason@jazz.cnd.hp.com (Jason Zions)

In article <1hqil1INN8tg@ftp.UU.NET> casey@anchovy.wpd.sgi.com (Casey Schaufler) writes:
> I thought the audit commands were being done as an addendum to 1003.2.
> Has this idea been dropped?

>All of 1003.6 should be considered an addendum.

Almost. 1003.6 is actually an *amendment*, and to IEEE Std 1003.1-1990. The
putative audit commands would be developed in a separate standard which
would be an amendment to IEEE Std 1003.2-1992.

Jason Zions
Chair, 1003.8 Transparent File Access

This is not an official statement of The Hewlett-Packard Company. No war-
ranty is expressed or implied. The information included herein is not to be
construed as a committment on HP's part. Save a tree - disband an ISO working
group today.

Jason Zions			The Hewlett-Packard Company
Colorado Networks Division	3404 E. Harmony Road
Mail Stop 102			Ft. Collins, CO  80525  USA
jason@cnd.hp.com		(303) 229-3800



Volume-Number: Volume 30, Number 43
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