| Managing the Intellectual Property Lifecycle | Table of contents | Indexes | Topic Maps at a glance | |||
Formal data models for SGML and HyTime |
| Peter Bergström |
| Senior Consultant |
| EuroSTEP AB
Vasagatan 38 Stockholm Sweden SE-111 20 Phone: +46-(0)708-111 966 Fax: +46-(0)708-111 965 Email: peter.bergstrom@eurostep.com Web: www.eurostep.com |
Biographical notice: |
Dallas ![]() ISOGEN International ![]() Kimber, W. Eliot ![]() U.S.A. ![]() |
Peter Bergstrom has been a mainstay of the Swedish SGML community, most recently as President of the Swedish SGML User's Group and as a participant in SGML and XML standardization activities. Peter has been involved with the STEP standard for the last several years as a member of EuroSTEP AB. Before becoming an SGML expert, Peter taught Swedish as a foreign language. His recent experience includes using STEP and SGML together in IETM projects and developing information and process management systems for suppliers of paper making equipment. When not jetting about the world for his clients, Peter enjoys the quiet life of rural Sweden with his wife and children. |
| W. Eliot Kimber |
| Senior Consulting SGML Engineer |
| ISOGEN International
2200 N. Lamar St., Suite 230 Dallas Texas U.S.A. 75202 Phone: +1 214-953-0004 Fax: +1 214-953-3152 Email: eliot@isogen.com Web: www.isogen.com |
Biographical notice: |
ABSTRACT: |
Introduction |
Introduction to the EXPRESS Modeling Language |
The EXPRESS language has two defined representation forms: a graphical language (EXPRESS-G) and a character-based syntax (EXPRESS). |
Graphical EXPRESS Models (EXPRESS-G) |
|
Figure 1. An entity "person" with an attribute "last_name" of type string.
|
||||||
|
Figure 2. The attribute "nick_name" is optional, and "birth_date" is a defined data type called "date", which resolves to an array of three integers, presumably year, month and day.
|
||||||
|
Figure 3. The attribute "hair" is of type "hair_type", which is an enumeration. "age" is a derived attribute of type integer, presumably calculated by subtracting "birth_date" from the date of today.
|
||||||
|
Figure 4. Entity "person" is subtyped into "male" and "female". The number "1" indicates that it is an exclusive-or subtyping. It is still possible to instantiate "person" without indicating whether its a "male" or "female".
|
||||||
|
Figure 5. A "person" owns either a "car" or a "house", through a select data type called "property", according to this model.
|
||||||
EXPRESS Language Syntax |
This document is not aimed at giving a deep understanding of the EXPRESS lexical form, but a few samples will be given as an illustration. Figure 1 above looks like this in EXPRESS: |
TYPE STRING; END_TYPE; ENTITY person; last_name : STRING; END_ENTITY; |
In the above, one type and one entity is defined. The entity has one attribute. |
Relationship to Other Modeling Languages |
EXPRESS Model of the SGML Document Grove |
The model consists of three main entities (in the EXPRESS sense of the word),sgml_document , element , andsgml_entity . |
|
Figure 6. Simplified EXPRESS-G model of SGML document.
|
||||||
|
Figure 7. Element and attribute model (simplified).
|
||||||
|
Figure 8. SGML Entity model (simplified).
|
||||||
As you can see, the EXPRESS models are describing the basic rules that govern all SGML documents. |
When creating an "SGML object model", we found that there are three possible approaches: |
|
Figure 9. SGML entity with simple transliteration.
|
||||||
EXPRESS Model of the HyTime Semantic Grove |
|
Figure 10. Simple Form of HyTime Data Model
|
||||||
The properties of the hypergrove object are shown in figure 11 |
|
Figure 11. Properties of the Hyperdocument Object
|
||||||
The reference targets property is bound to the hytime document objects because the references reflect the results of resolving the location addresses in the hytime document. |
The full HyTime semantic data model is shown in figure 12. |
|
Figure 12. Full HyTime Semantic Data Model
|
||||||
Design Principles |
Classes in the property sets (element classdef) were mapped to EXPRESS entities, and properties (propdef) to attributes or relations to other classes. |
For naming, we used the application names of classes and properties, replacing spaces with underscores. |
Conclusion |
|
Bibliography |
| Managing the Intellectual Property Lifecycle | Table of contents | Indexes | Topic Maps at a glance | |||