RE: [REVISED] My user experience of the user experience workshop

Michael Kay wrote ..
> > I want to add that since I wrote the note below I have read 
> > the formal specification and my feeling about that document 
> > is that it does more harm than good - especially since the 
> > committee made it clear at the workshop that the document is 
> > not considered a valid account of the standard. This is all
> > the more concern since I heard XPath and XQuery made use of
> > the spec.
> 
> The XQuery and XPath specifications do not make any reference (either
> normative or informative, or even as background reading) to the formal
> specification that you mention. Some of the members of the XQuery WG may
> well have read it and used it to educate themselves, but that doesn't create
> a dependency.

Ok, that is reassuring. I say "heard" because at the XMLSchema user
experience workshop a member of the committee said someone from
"XQuery and XPath" had said that they "got what they needed" from
the formal spec - I guess that was nothing.


> > 
> > I guess I am puzzled as to why the committee did not follow
> > the precedent set by the XML standard and wonder what the
> > W3C broad position is - surely a recomendation regarding 
> > formal specification for all the standards is appropriate.
> > A common mathematical basis and algebra in the standards 
> > would seem useful to me.
> 
> Working Groups are staffed by people with their own ideas, experience,
> and
> skills, and a directive of this kind that didn't match the needs of the
> particular WG and the skills of its members would achieve nothing.

I certainly understand this pragmatic - It simply suggests that 
the issue is a broader one and that we do in fact need a standard
approach industry wide. Zed is now an ISO standard, for example.
I see nothing wrong with the W3C issuing a recommendation about 
the form of language specs - since it is the users of the spec 
that will benefit from such consistency.

> I have to say that my own experience of formal specifications (both inside
> and outside W3C) is that they invariably lag behind the informal
> specification by months, and in most cases are never completed. 

I regret that this is my experience also - I was the formal methods 
lead on the MPI standard.  However, it is also my experience that the
reason these efforts do not complete is that they are not widely
appreciated either by the supporting organizations (and so do not 
get funded) and the majority of individuals involved (and so there
is little support).  Neither of these reasons are sufficient to
stop calling for formal specifications in my view.

> They also
> contain more bugs than the informal specification, because there are very
> few people with the time and the skills to read the specifications and
> spot the errors. 

This is a simple pragmatics of the stage of the game I suggest -
again, it is not a reason not to do it.

> In the case of the XQuery formal specification, there are a few
> external reviewers (for example, from universities) reporting bugs in the
> formal specification, but they tend not to be interested in the messier
> parts of the XML world (stuff like namespaces, whitespace, and relative
> URIs) which is where the bugs tend to hide. The people writing the formal
> specification have discovered bugs in the informal spec while writing the
> formal version, so the exercise has been worthwhile, but it's left us with
> the problem of two specs that are almost certainly inconsistent with each
> other.

I do appreciate that the formal methods community has made this harder,
in some sense, than it could be - especially through the proliferation
of algebras and methodologies.  But this is part of the learning 
experience I guess.

However, it would be wrong IMHO to blame all these issues on formal
methodology when much of it is a problem of invention by committee - 
formal methods need to drive the specification, not be an after thought.

> 
> My own preference when writing specs is for "formal English". Writing a
> backwards-E rather than "there exists" does not make the spec any more
> precise or less ambiguous, it just makes it accessible to a smaller
> readership.

First, I agree and recognize that the audience for the formal spec
is small - but it is an important audience, the tools writers.

Certainly there needs to be a more friendly presentation. But we should
all recognize that in anycase software engineering and data architecture
are formal processes.  They are what we do anyway. Formal methods
simply build solid foundations for the work we do.

On the other hand - if we really think that turning our back to the 
audience and listening to them hum is a valid way to do language design 
(as witnessed at this past workshop) then computing systems will ALWAYS 
be unreliable and there will never be peace in this world because we
are doomed forever to misunderstand each other. :-)

With respect,
Steven




> 
> Michael Kay
> http://www.saxonica.com/

Received on Tuesday, 28 June 2005 00:08:38 UTC