Lists Home |
Date Index |
- From: Paul Prescod <email@example.com>
- To: Sean Mc Grath <firstname.lastname@example.org>
- Date: Fri, 19 Dec 1997 14:41:58 -0500
Sean Mc Grath wrote:
> The concept of a DTD has a resonance with data driven programming such as
> JSP Jackson Structured Programming and JSD - Jackson System Design.
> I have on occasion used DTDs to document time ordered interfaces to objects. It
> can be a very powerful technique!
We discuss this in a paper we gave at SGML/XML 97. We call this a
"Software Component Interface Description in SGML"
"Additional architectural constraints may be provided which currently
are not enforced by any programming language."
"Examples include protocols and design patterns. Protocols are
permissible sequences of method invocation and attribute access,
possibly with additional temporal constraints. Design patterns are
specifications of a set of roles in a pattern and identification of the
mapping of specific classes and methods in the current definitions onto
I do see an interesting correlation between the ideas in that paper and
the aspect programming paper someone posted earlier.
ON THE OTHER HAND, protocols should be rare in good software design. You
can usually define an interface so that it doesn't require much explicit
time ordering. For instance you can open file objects automatically when
they are created and close them automatically when they are destroyed.
Paul Prescod -- http://itrc.uwaterloo.ca/~papresco
Art is always at peril in universities, where there are so many people,
young and old, who love art less than argument, and dote upon a text
that provides the nutritious pemmican on which scholars love to chew.
-- Robertson Davies in "The Cunning Man"
xml-dev: A list for W3C XML Developers. To post, mailto:email@example.com
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/
To (un)subscribe, mailto:firstname.lastname@example.org the following message;
To subscribe to the digests, mailto:email@example.com the following message;
List coordinator, Henry Rzepa (mailto:firstname.lastname@example.org)