[Mirrored from: http://www.hightext.com/IHC96/srn23.htm]
Steven R. Newcomb
Graphic Communications Association
Third International HyTime Conference
August 20, 1996
Seattle, Washington
Architecture means planning structures.
A structural plan is a model.
SGML requires modeling; one can't express a document
instance in the absence of a model for it.
<-
Document Type Definition
->
In SGML, a model is called a "Document Type Definition (DTD)"
A DTD is an information architecture.
(This is not news.)
HyTime was designed to extend SGML into the realm
of hypermedia.
There are certain things about hypermedia that are commonly
found in hypermedia documents.
HyTime provides a standard syntactic and semantic model for
these common features of hypermedia documents.
There were several problems encountered in expressing
the design of HyTime in strictly SGML terms.
But HyTime had to be an application of SGML, and not
violate SGML in any way.
The main problem:
HyTime could not optimally be expressed as a DTD.
- Such a DTD would either be too constraining for many
applications, or
- it would be so loose that the modeling power of DTDs would
be lost.
- Even the cleverest use of parameter entities just wasn't
going to do the trick. Besides, parameter entities
frequently fool everyone but computers.
What to do?
In other words,
- HyTime's constructs are useful in many very different
architectures (DTDs). We had to allow HyTime constructs
to appear in any DTD. (We can't constrain their syntax
much, if at all.)
But:
- HyTime's constructs are only useful for interchange if
the critical aspects of their syntax are used consistently
and correctly. (We must constrain their syntax precisely
and absolutely.)
What to do?
Two distinct kinds of architectures
were needed!
(...and SGML already provided for one of them.)
(1) "Encompassing" architectures -- DTDs --
- for control of entire document structure
- for using the SGML parser as the enforcer
- to guarantee conformance of document instance with a single authoritative model.
Two distinct kinds of architectures
were needed!
(...and SGML already provided for only one of them.)
- for control of structure of certain aspects of
document structure
- using an architecture-specific "engine"
- to guarantee conformance of only the architecture-relevant portions of the document instance to the architecture.
A DTD is the formal, parsable expression of an encompassing architecture.
A meta-DTD is the formal, parsable expression of an enabling architecture.
Meta-DTDs look and feel just like DTDs. (There are two minor enhancements to the meta-DTD syntax which Dr. Goldfarb will explain shortly.)
Question: So, what is the difference between a meta-DTD and a DTD?
Answer: There is NO significant inherent difference.
In fact, a DTD can be used as a meta-DTD without being changed. Every DTD is already potentially a meta-DTD. All you have to do is use it that way; you don't have to change a single character.
The only significant difference is in how they are used.
What makes a meta-DTD different is:
- A meta-DTD serves as a partial meta-model
for the document instance.
- A DTD serves as a comprehensive direct model
for the document instance.
- A meta-DTD places certain semantic and syntactic
constraints on document instances...
- ...IN ADDITION TO the constraints provided by the DTD.
- A meta-DTD MUST be comprehensively explained in an
auxiliary document --
- the "architecture definition document"
- -- written in natural language.
- For any document instance,
- there can be only one effective governing DTD,
but, at the same time,
- there can be any number of meta-DTDs also governing
the instance.
- A meta-DTD may impose semantic and syntactic constraints
which cannot be validated by SGML parsers.
- Architecture engines normally should perform
such validations on the output of the SGML parser.
- HyTime's "reftype" constraints are an example.
- The purpose of this talk is NOT to describe how enabling
architectures work.
- Several other speakers will do that at this conference.
- (Which is good, because there is no shortage of material
to be covered.)
The rest of this talk makes some bold claims for this
new enhanced way of using SGML: enabling
architectures.
These claims are like a problem statement for the
Technical Corrigendum of HyTime.
The solution is the Technical Corrigendum.
Now, ISO 10744's Technical Corrigendum extends to everyone
the ability to create and use enabling architectures.
EXCITING NEW POSSIBILITIES offered by ENABLING ARCHITECTURES
Obviously, we now have a way to express and enforce
syntactic and semantic similarities between documents.
Any two element types in any two different documents
can explicitly share syntactic and semantic features,
- even if their DTDs are different,
- even if they don't have the same generic identifier,
- even if they have incompatible SGML declarations, and
- even if they don't use the same character set.
Now we can declare that syntactic similarity between
constructs in different instances are not a coincidence.
- (DOCTYPE doesn't really do that.) (!)
- SGML information becomes much more (and much more truly)
self-describing.
- Enabling architectures must be invoked with NOTATION
declarations.
- Many of today's DTDs will be promoted to meta-DTDs.
- SGML now has multiple inheritance.
- An element can conform to any number of base element
types, each of which is in a different base
architecture.
- <-
Element
->
Elements and their semantics are now connected just as
formally and rigorously as OO classes and their methods.
- Enabling architectures (meta-DTDs) will become the primary
arbiters of information interchange. (!)
- Encompassing architectures (DTDs) will have vastly
diminished architectural importance. Their primary purpose
will be to allow the SGML parser to function.
- Enabling architectures will define enterprise computing.
- Every element that has enterprise-wide significance can
have an attribute that expresses the meta-GI of that
element for all purposes of the enterprise.
- (Forward reference to following presentations: This
is the "ArcForm" attribute. In the HyTime
architecture, it's the "HyTime" attribute.)
- Many enterprises will build and use enterprise-wide,
application-neutral enterprise engines: the implementation
of the enterprise's meta application.
- "Plug compatible" enterprises.
- Corporations can effectively merge their
information resources, temporarily (for a project)
or permanently.
- Enabling architectures will facilitate and define
"virtual corporations."
- Human civilization is an enterprise, too.
- HyTime is only the first SGML enabling architecture
for civilization as a whole.
- Many more SGML enabling architectures will be created
and used.
- Most will simply formalize, in SGML terms, the
way things are currently done.
- Some will be created more thoughtfully than that.
- All will be subject to evolution.
Because of the rigor and accountability afforded by
using the SGML enabling architecture formalism:
- the evolution of architectures will be more
orderly and less autocratic than some business
interests might prefer.
- That's good for all of us. The formalism can
be used to protect the value of human effort,
and, therefore, to enhance the productivity of
everyone.
- Some early candidates for enabling architectures
(off the top of my head)
- locations on this planet
- law
- all the kinds of things EDI is used for now
- the flow of public money
- disclosures of various kinds
- multi-lingualism -- how to handle it
- Some early candidates for enabling architectures
(off the top of my head)
- professional certification requirements
- instructional materials
- IETMs
- treaties
- technical standards
- Some early candidates for enabling architectures
(off the top of my head)
- domain-specific knowledge in science & technology
- chemical formulae
- genetic sequences
- industrial processes -- the SGMLification of STEP?
- medicine
- personal health records
- public health information & data
- etc.
- <-
Topic Map
->
indexing and information discovery (Topic Maps!)
- <-
SMDL
->
music (SMDL!)
- opera, football games, and battle management.
(Abstractly, these are pretty similar things.)
SIDE EFFECTS of using ENABLING ARCHITECTURES
The productivity of information architects will be:
- higher, in terms of how much they can enhance the
productivity of others; and
- measured in new terms:
- not just the number of documents that participate
in an architecture, but
- the number of architectures a document can
participate in.
- how few syntaxes are redundantly used to express
the same or similar semantics;
- how smoothly and painlessly evolution occurs;
- how many architectures use as a base architecture
successfully.
SGML architects will be expected to declare the
sources of their semantic notions, and to express
them as base architectures, rather than just leaving
them implicit.
People who use SGML documents will increasingly rely
on formal architecture definition documents, and
decreasingly on comments in DTDs.
- <-
Object
->
Objects are useful and application specific, while
- <-
Element
->
Elements are interchangeable and application neutral.
- New applications will consist of aggregations of
engines, of which SGML supporting software and
HyTime engines are only two.
- <-
Object
->
Object-oriented software technology and SGML
technology will be regarded as essential to one
another.
- The amount of application-specific software will be
minimized by the use of architecture engines.
- Validation of a document instance for conformance
with its DTD will be seen as a trivial, automatic
process, relegated to the status of a packet
integrity check performed by communications
technology.
- Much greater emphasis will be placed on the document
instance's conformance to its base architecture(s).
- Less reliance on SGML parsers for validation work.
- More reliance on architecture engines for validation.
- DTDs will not be used as the primary means of
insuring the compatibility of document structure with
the expectations of application.
- Document authors will gain control over all
non-architectural aspects of the DTDs they use.
- Document authors will use applications that
permit them to tweak their DTDs interactively, probably
while documents are open for writing.
- This will greatly diminish the frustration and
distaste many authors now feel about using SGML.
- The author-driven evolution of DTDs will provide
many good architectural ideas.
- Even so, architects will have finer control, and more
control, over the output of document authors than
ever before.
- Many new kinds of document validation will appear.
- HyTime already provides some very general ones.
- Other architectures may require and/or provide any
kind of validation at all.
- Architects can use these validation features to
insure a quality product.
- Authors can use architecture-provided validation
features as writing aids. They will tweak DTDs (not
meta-DTDs) to get more validation services from their
architecture engines.
- For example, using HyTime, by adding a lextype
attribute.
EDITORIAL OBSERVATIONS
- Managers need this technology and methodology.
- Managers don't have to be programmers to understand it.
- Given the right tools, managers don't have to be
programmers to USE it, either.
- Tools for supporting the tweaking of DTDs in
conformance with their base architectures are needed,
so that architects can let authors follow their
consciences, without worrying about the consequences.
- "Adapt or die."
- Adaptability is health. Evolution must be
demanded and supported.
- The adaptability of the structure of corporate
records is a useful indicator of the adaptability
and overall health of the organization.
- By means of enabling architectures, control over
the evolution of information architectures can be
distributed, and, whenever necessary,
redistributed.
NEWS ABOUT ENABLING ARCHITECTURES