Using the Information Addressing Model of HyTime (ISO 10744) to
Add Hypermedia Functionality to Legacy Data and Systems
Steven R. Newcomb, President
TechnoTeacher, Inc.
Adding Hypertext Functionality to Legacy Data
The HyTime standard allows any pieces of information to be addressed
(and therefore to become the anchors of hyperlinks) in any convenient
terms. These terms can be expressed in _any_ notation and they can be
used to address _any_ information in _any_ notation.
In addition, HyTime provides more specialized mechanisms to meet
frequently-encountered addressing needs, including:
- addressing of information represented in SGML in terms of all of the
inherent properties of information represented in SGML (e.g.,
hierarchy, attribute values, all other markup phenomena).
- addressing of information represented in HyTime in terms of all of
the inherent properties of information represented in HyTime (e.g.,
anchor status, position, extent).
- addressing of information represented in any other (i.e.,
non-HyTime) SGML architecture in terms of all of the inherent
properties of information represented in that architecture.
- addressing of information that has, as one or more of its inherent
properties, position in any arbitrary finite coordinate space.
The HyTime standard is designed to permit hyperlinks to exist in
documents that are distinct and maintained separately from the
documents containing their anchors. Therefore, and because of the
extreme generality of HyTime's information addressing mechanisms, it
is possible to use HyTime to express relationships (including
traversible relationships) between any number of portions of any
number of documents in any notations. Only the document(s) that
contain the hyperlinks and their associated address location pointer
information need be expressed using the HyTime standard.
Adding Hypertext Functionality to Legacy Systems
It is one thing to express a traversible relationship abstractly, as
HyTime permits, but it is quite a different sort of challenge to
support user-initiated traversal between anchors that are only
viewable while running non-hypermedia legacy software. The technical
obstacles to be overcome are as various as the systems themselves, not
to mention their users and the requirements of those users.
Still, the structural and addressing abstractions that HyTime provides
can be useful in several ways:
- HyTime represents a great deal of careful object class design work
that need not be re-invented for each retrofitting task. (HyTime's
specification of the properties of aggregate locations is an
example.)
- HyTime provides a rigorous formalism for describing the properties
of SGML-based information architectures (including, but not limited
to, the HyTime architecture itself). These and other general
facilities of HyTime can be especially useful in cases where there
is no reason to cling to a legacy notation, and wholesale conversion
is feasible, or where there is need to express formally, perhaps for
the first time, the properties of a legacy notation for addressing
purposes.
- HyTime's abstractions can be supported by general-purpose software
modules called "HyTime Engines." In some cases, these components
can be useful in retrofitting existing software with HyTime
awareness and functionality. When using such components, it is
possible to approach the retrofitting problem in several ways:
- Change the legacy software so that it uses the HyTime engine's
internal data structure.
- Change the HyTime engine so that it uses the legacy software's
internal data structure.
- Change both the HyTime engine's internal data structure and the
legacy software's internal data structure to some third data
structure.
- Keep both the legacy software's internal data structure and the
HyTime engine's internal data structure, and create software that
performs bidirectional translation between the two structures.
- Some combination of the foregoing.
A HyTime Engine
One example of a HyTime Engine is the HyMinder(TM) system product of
TechnoTeacher, Inc., a C++ library which offers an easy-to-use and
comprehensive API to the information contained in SGML/HyTime
documents. It is designed for those who wish to write applications
that can create and/or process hypermedia documents represented in
SGML/HyTime as well as for those who wish to create object-oriented
SGML applications or retrofit existing applications for data
interchange using SGML/HyTime documents.
The HyMinder system allows programmers to regard each syntactic and
semantic construct described by the SGML and HyTime standards as a
persistent C++ object; all such objects can be randomly accessed and
manipulated while in database form, and/or automatically exported as
SGML/HyTime. Using the HyMinder system, the structures, attribute
values, contents, etc. of several databased SGML/HyTime documents can
be simultaneously and rapidly read, written, and/or altered.
Limitations of the HyTime Approach
- Support for real SGML is required. Many existing SGML systems do
not offer support for the SGML standard that is sufficient to
support the HyTime standard, often because their SGML entity
management capabilities are too limited or do not conform.
- The document in which a user session begins (the ``hub document'')
must be a HyTime-conforming document. (However, no other documents
in the linked set of documents [the ``hyperdocument''] need be
expressed in HyTime or SGML.)
- The hyperlinks and addresses must be expressed in a
HyTime-conforming fashion. Otherwise, the linking and addressing
information could not be universally understood.
- Because it constitutes a large amount of predefined object-oriented
design, there is a fair amount of lore and detail to be mastered by
programmers, application designers, and information architects.
Three Examples of the Use of HyTime
- Metafile for Interactive Documents (MID). A DoD document type
definition for describing the behaviors of Interactive Electronic
Technical Manuals (IETMs) and incorporating legacy and other data in
them by query, by reference, and by inclusion. Information is
available at ftp://navysgml.dt.navy.mil/pub/ietm/mid. HyTime
linking and addressing modules are used in a working prototype.
- Standard Music Description Language (SMDL). An ISO Draft
International Standard (ISO/IEC DIS 10743) for describing music in
terms of its abstract structure. Information is available at
ftp://ftp.techno.com/HyTime/SMDL. HyTime scheduling, rendition, and
linking modules are used. The European Commission is supporting the
development of a prototype system for delivering legacy music
information to sheet music outlets, etc. Information is available
by request from S.R.Mounce@comp.brad.ac.uk.
- Pinnacles Initiative. A consortium of semiconductor makers
(Hitachi, Intel, National Semiconductor, Philips Semiconductors, and
Texas Instruments) to allow them to provide product information
(``Electronic Data Books'') to customers electronically in an
interchangeable, system-neutral form. The Pinnacles DTD employs a
minimal amount of HyTime syntax in order to support hyperlinks.
Reference Materials
Robin Cover's excellent and frequently-updated bibliography/database
of materials regarding SGML and HyTime can by found at
http://www.sil.org/sgml/sgml.html. If you have access to it,
you do not need the list of references that follows.
DeRose, Steven J.; Durand, David G. Making Hypermedia Work: A User's
Guide to HyTime. Boston/Dordrecht/London: Kluwer Academic
Publishers, 1994. xxii + 384 pages. ISBN: 0-7923-9432-1.
Ferris, Ralph E.; Newcomb, Victoria Taussig (ed). HyTime Application
Development Guide. Version 1.2. San Jose, CA and Rochester, NY:
Fujitsu Open Systems Solutions and TechnoTeacher, Inc., May,
1995. 8 chapters, approximately 95 pages. Ralph Ferris is Project
Manager, Electronic Publications, Fujitsu Open Systems Solutions,
Inc., 3055 Orchard Drive, San Jose, CA, 95134-2022 (email:
ralph@ossi.com OR ralphf@ix.netcom.com); Victoria Newcomb is with
TechnoTeacher, Inc., P.O. Box 23795, Rochester, NY, 14692-3795.
This document is available via anonymous FTP from
ftp://ftp.techno.com/pub/HyTime/Application_Development_Guide
Goldfarb, Charles F. "Standards - HyTime: A Standard for Structured
Hypermedia Interchange." IEEE Computer 24/8 (August 1991)
81-84. Author's affiliation: IBM Almaden Research Center, San Jose,
CA, USA.
Goldfarb, Charles F. The SGML Handbook. Edited and with a foreword by
Yuri Rubinsky. Oxford: Oxford University Press, 1990. 688
pages. ISBN: 0-19-853737-1. The authoritative reference on SGML,
written by its inventor. Contains the entire SGML standard
verbatim, with copious commentary.
International Organization for Standardization (ISO). ISO/IEC
10744:1992. Information Technology - Hypermedia/Time-based
Structuring Language (HyTime). Edited by Charles F. Goldfarb (with
assistance from Steven R. Newcomb). Geneva: International
Organization for Standardization/International Electrotechnical
Commission, 1992.
Kimber, W. Eliot. Practical Hypermedia: An Introduction to
HyTime. Charles F. Goldfarb Series On Open Information
Management. New York: Prentice-Hall Professional Technical
Reference, [Spring/forthcoming] 1995. approximately 250
pages. ISBN: 0-13-309899-0. Author affiliation: Passage Systems,
Inc. (W. Eliot Kimber (kimber@passage.com); Systems Analyst and
HyTime Consultant; Passage Systems, Inc., 2608 Pinewood Terrace;
Austin TX 78757 (512)339-1400; 465 Fairchild Dr., Suite 201;
Mountain View, CA 94043 (415) 390-0911).
Newcomb, Steven R. "Multimedia Interchange Using SGML/HyTime. Part I:
Structures." IEEE MultiMedia 2/2 (Summer 1995) 86-89 (with 2
references). ISSN: 1070-986X. Author's affiliation: TechnoTeacher,
Inc.
Newcomb, Steven R. "Multimedia Interchange Using SGML/HyTime. Part II:
Applications." IEEE MultiMedia 2/3 ([forthcoming] 1995)
xxx-xxx. ISSN: 1070-986X. Author's affiliation: TechnoTeacher, Inc.
Newcomb, Steven R. "SGML Architectures: Implications and Opportunities
for Industry." The SGML Newsletter 8/8 (August 1995)
1-5. ISSN: 1067-9197. Author's affiliation: TechnoTeacher, Inc.
A version of this document is available via anonymous FTP from
ftp://ftp.techno.com/pub/HyTime/conferences/ROCLING95/keynote.paper
Newcomb, Steven R. "Standards. Standard Music Description Language
Complies with Hypermedia Standard." IEEE Computer 24/7 (July 1991)
76-79. ISSN: 0018-9162. Author's affiliation: Florida State
University, Tallahassee, FL, USA; TechnoTeacher, Inc..
Newcomb, Steven R.; Kipp, Neill A.; Newcomb, Victoria T. "The 'HyTime'
Hypermedia/Time-based Document Structuring Language."
Communications of the Association for Computing Machinery 34/11
(November 1991) 67-83. ISSN: 0001-0782.
About the author:
Steven R. Newcomb is Vice Chairman of the American National Standards
Institute's X3V1.8M Committee. Chaired by Charles F. Goldfarb, this
committee was responsible for the seminal work on HyTime. Dr. Newcomb
is President of TechnoTeacher, Inc., a software and consulting company
in Rochester, New York. TechnoTeacher is the creator and vendor of the
HyMinder(TM) object-oriented C++ libraries, which are used by SGML and
HyTime application developers. Dr. Newcomb serves as Chairman of the
Conventions for the Application of HyTime (CApH) Activity of the
Graphic Communications Association Research Institute. He chairs the
International HyTime Conferences held annually in Vancouver.
This paper appears in the
Proceedings of the Second International Workshop on Incorporating Hypertext
Functionality into Software Systems, held in conjunction with the
ACM Hypertext '96
conference, Washington, U.S.A.
This document is located at http://space.njit.edu:5080/HTFII/Newcomb.html