OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

   Re: Realistic proposals to the W3C?

[ Lists Home | Date Index | Thread Index ]
  • From: "Clark C. Evans" <cce@clarkevans.com>
  • To: Daniel Veillard <Daniel.Veillard@w3.org>
  • Date: Mon, 16 Oct 2000 17:52:01 -0400 (EDT)

On Mon, 16 Oct 2000, Daniel Veillard wrote:
> On Mon, Oct 16, 2000 at 08:33:23PM +0100, Matt Sergeant wrote:
> > On Mon, 16 Oct 2000, Clark C. Evans wrote:
> > > > Insist on an open source reference implementation?
> > > 
> > > Absolutely.  Only, call me strange, but I would go 
> > > one step further and say that the reference 
> > > implementation *is* the recommendation and that 
> > > any other explanatory documents are secondary.  
> > 
> > No! Please god no.
> 
> yes I second that. sorry but all attempts at simply building "reference 
> code" was just an exercize in insanity ! I would not make the software
> normative ...

Ok.  There is another way to skin this cat.

1.  Software implements a process (that given particular
    state and input produces a particular output).

2.  The goal of the specification is to describe this
    specific process so that it can be automated by
    a machine _and_ understood by a human.

3.  Describing the process in English or other natural
    language tends to have many possible interpretations
    into a machine description, and can lead to different
    implementations based on different understandings.

4.  A machine description of the process is too incomprehensible
    and not useable by people who have to understand how 
    the machine works, or may include items that are required
    for the machine's operation (Java semantics, for instance)
    and not for the process per sae.

Thus, I now assert that a "normative" reference for a specification
should include:

A.  A rigourous machine description

B.  A fuzzy human description

C.  A feedback mechansim to correct when A and B 
    get out-of-sync, due to an error or inconsistency
    in one, the other, or both descriptions of the process.

Do you agree here?  XSLT has been an unqualified success 
since it has both A and B.  


One may say that the human description is "normative" -- but 
this is where I part company.  I think both a human _and_ machine
description work together as a larger whole -- where the feedback
mechanism comes to play.

So, the rigourous machine description must ALSO be 
included in the "normative" description of the process, no?

Am I asserting that the machine description must
be a full implementation? Actually, Len hinted at the 
other thing it can be.   You can mechanically describe 
the process using a deductive style (with code), or,
with an inductivestyle (using examples).I think both 
are adequate for the machine description, although a 
mix of both would be preferrable.   Tom DeMarco says 
in his 1979 book on Structured Analysis and Systems 
Design (the red book) something like...

  "Thus, it is the acceptance test suite which is
   really the authorative design document".

He then goes on to describe how a regression test 
suite describes a process by induction; it specifies
particular mappings which the process must perform.
So...  perhaps a regression test suite would
be an acceptable "normative" machine description
of the process?

I'm just not so happy with the fuzzy English/Techize 
being the *singular* "normative" description of the 
processes put forth... look at what happend to the 
namespace recommendation!   I humbly assert that 
if _some_ form of machine description of the spec 
were provided (a state machine that accepted valid
namespace names or a huge laundry list of acceptable
and non-acceptable namespace names), we may have 
avoided a ton of mis-interpretation.  So, I put forth 
the question:

  Is a human description adequate to describe
  a process being specified?  Or do we also
  require a machine description (either reference
  implementation, regression test, or both)?

Best,

Clark







 

News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS