[SCL] DTD for XML/SCL
John F. Sowa
sowa at bestweb.net
Tue Jan 7 11:57:49 CST 2003
Bill and Chris,
I think we all agree on the fundamental issues regarding how SCL should
relate to XML. To clarify, and in some respects broaden, the issues,
I would like to suggest the following approach:
1. Write an XML DTD to relate the abstract syntax of SCL to XML along
the lines that Chris has been doing.
2. Include other concrete syntaxes in the SCL standards document,
such as KIF and CGIF.
3. Provide an escape tag, which would allow the embedding of various
SCL concrete notations within an XML document. For example,
<logic language=kif>
(exists ((?x Cat) (?y Mat)) (on ?x ?y))
</logic>
<logic language=cgif>
(on [Cat] [Mat])
</logic>
4. Include Z as a first-class member of the SCL family, with the same
status as KIF and CGIF. The SCL standard document should relate
the SCL abstract syntax to the concrete syntax of core Z (which is
Z without the mathematic toolkit) in the same way that it relates
the abstract SCL syntax to the concrete syntaxes of KIF and CGIF.
Points #1 and #2 seem to be well accepted by everybody who is working
on the SCL project. Point #3 is one that I raised in my earlier note,
to which Bill and Chris replied. I would have no objections to the
verbosity of the XML DTD along the lines of #1 provided that we also
have an escape along the lines of #3, which would allow KIF, CGIF, and
other compatible SCL languages in an XML document without the overhead
of the encoding proposed for point #1.
The major new point I believe we should add is the adoption of Z as
a member of the SCL family of concrete notations. There are several
reasons, which I discussed in my earlier note and which I would like
to summarize here:
1. The model-theoretic foundations for Z, as presented in the ISO Z
standard, are logically equivalent to the simplified SCL semantics
that Pat Hayes proposed.
2. Z has been developed and used by well-qualified computer scientists
who have a long history of applying logic to formal specifications
of programming languages and other kinds of software. It was first
published as a PhD dissertation by Mike Spivey at Oxford, but it
incorporates the approach developed by Hoare, Abrial, and others,
including distinguished visitors to Oxford, such as Dana Scott.
3. Z has been officially adopted as an ISO standard. An SCL standard
that builds on the Z standard would be very easy to sell to the
ANSI and ISO standards bodies as well as to any country, company,
or computer scientist who respects ANSI and ISO (which includes
nearly everybody in the world except Bill Gates).
4. Finally, we have been proposing CL and SCL as a way of unifying
the diverse logic-based notations that have been developed.
If we adopt the Z standard as a foundation for SCL, we will set
a good example for other people to follow. But if we ignore Z and
go our own way independently of Z, we will lose any credibility
we may have had. The first question anybody would ask is why
they should accept our proposal instead of adopting an official
ISO standard that has the same semantics.
As I said in my earlier note, the adoption of Z semantics as a
foundation for SCL would allow us to develop an upward compatible
semantics that would satisfy the more ambitious goals of our
earlier CL efforts. We could write a solid SCL standard document
with an outline similar to the Z document by June 2003. After that,
we could turn to the more ambitious metalanguage project for CL,
which would go beyond what has been done in the Z standard.
Bottom line: Adopting the Z standard for the SCL foundations would
enable us to finish an SCL standard document quickly, and let us begin
work on the much more interesting metalanguage project.
John
More information about the Scl
mailing list