|
Intelligent graphics — WebCGM applications & the ATA CGM
profiles
|
 |
The Air Transport Association's Graphics Working Group has spent several
years developing
CGM
profiles for graphical and intelligent graphics interchange. WebCGM is a CGM
profile developed by the CGM Open consortium and approved by the
W3C for use in the web environment.
The WebCGM profile was derived from the
ATA
CGM profile for graphics interchange and is designed specifically for web
applications. WebCGM is a full application profile of CGM, complete with semantics
for all of the CGM application structure types and attributes. The ATA interchange
profiles has only recently defined semantics for their models.
There have been applications developed for WebCGM and the interoperability
of WebCGM files has been demonstrated. There have been some implementations
of the ATA intelligent graphics exchange profile, but because of the lack
of semantics these implementations have not proved to be completely interoperable.
The ATA Graphics Working Group is attempting to use the experience of the
WebCGM applications to improve the interoperability of the ATA intelligent
graphics model.
This paper will review the intelligent graphics models in WebCGM, the
ATA graphics interchange profile (GREXCHANGE), and the ATA intelligent graphics
interchange profile (IGEXCHANGE). The authors will describe an architecture
showing how the ATA intelligent graphics interchange requirements can be supported
by the model in WebCGM using
XML
to encode the additional intelligent metadata required in the ATA models.
An implementation of this architecture will be described and mechanisms for
implementation will be shown.
Comparison of intelligent graphics models
Over that past several years the
ATA Graphics Working
Group has been developing an intelligent graphics interchange profile (IGEXCHANGE)
based on the
CGM and customized to the requirements
of the industry and aligned with the structural models in the
ATA SGML specifications. The ATA
Graphics Working Group also maintains a graphics interchange
CGM
profile (GREXCHANGE). GREXCHANGE has recently been expanded to include an
intelligent graphics model as an intermediate step to the full intelligent
graphics model in IGEXCHANGE. In 1998, The
CGM
Open Consortium developed a
CGM profile
(WebCGM) intended for web application use. WebCGM was based on the
ATA GREXCHANGE profile and is now an approved
specification in the
W3C.
To assist in the explanation of the various intelligent graphics models,
they are graphically presented as structure charts with attributes attached
where appropriate. The shorthand notations cho for choice, opt for optional,
and rep for repeatble are used to indicate the syntactical structure of the
models. Boxes that have dashed borders are further expanded by content model.
The use of the term "gdata" is to describe graphical data within the content
model.
The IGEXCHANGE model
The model describe here is a very complex one attempting to capture
the structural requirements of
ATA
documentation.
The IGEXCHANGE model structure starts at the level of an intelligent
graphic sheet or illustration. The illustration has identifier and sheet numbers
attributes inherited from the
ATA SGML text model. An illustration is typically
made up of point of reference objects (locators), various views of the component
in question (details), and strings of text (paras). An optional effectivity
must precede any of the other objects.
The locator object can be made up of detail objects, callout objects
to support navigation, and para objects. The attributes associated with the
locator are a required identifier and implied region, common name, revision
date, and descriptive text. The region attribute is used to define hotspots
associated with the object. Again, an optional effectivity object is allowed.
The detail object is defined recursively and can also contain callout
and para objects. In addition to the attributes associated with the locator
object, the detail objects can also be identified with a particular assembly
or system with the
ATA model. Effectivity
may also be applied to this object.
Text within an illustration may contain revision indicators, customer
originated change indicators, and callout objects to for navigation purposes.
The content attribute on this object is available to capture the textual content
of the paragraph and aid in text searching.
There are four ways to navigate with the callout object. It is possible
to navigate to an internal reference within the current document, an external
reference in another document, another graphical object, or any combination
of the previous three based on a particular condition or context. Effectivity
is again option in this object.
Further decomposition is not carried out here, but the content models
of the undescribed objects follow the
ATA SGML text model.
The GREXCHANGE model
In this model, rather than trying to capture the complexities of the
ATA document model, a more generic approach
was taken. This approach is much easier to implement and supports its primary
objective, navigation.
The intelligent graphics model in GREXCHANGE is a simple recursive model
of a generic graphical object.
In this model, the attributes are defined to specify more behavior than
document structure. The graphical object has a required identifier and the
optional attributes common name, region to support hotspots, reference locator
for navigation, view window to specify initial view, string of text to be
used for screen tips, and content to facilitate text searches. Like the ATA
SGML text model, the refloc attribute is not further defined and resolution
of a navigation action is left up to the application.
The WebCGM model
Based on the
ATA GREXCHANGE
model and expanded to impose some structure, the WebCGM intelligent graphics
model was designed for web applications. Its semantics are well defined and
its interoperability has been demonstrated by several vendors.
WebCGM starts at the picture body within the
CGM
model. In this model the picture body is made up of layers or a combination
of graphical objects and paragraphs.
The layer is a construct that is familiar to many illustrating systems.
It allows the grouping of particular types of graphical data to be assigned
to a layer within the file. Its attributes are a required identifier and optional
layer names and descriptions. Its content is again a combination of graphical
objects and paragraphs.
The graphical object is recursively defined and can also contain paragraphs.
Its attributes are similar to those defined for the grobject in the
ATA GREXCHANGE model. The difference here is
that the reference locator attribute is replaced by a linkuri. The linkuri
specifies a web address for navigation and can also contain an address fragment
for extended linking into an object.
The paragraph object in WebCGM can contain sub-paragraphs so a finer
granularity of linking can be attained. For example, there may be a substring
within a paragraph that is the actual callout to another object. It has a
content attribute again to support text searching.
At the lowest level of the structure is the sub-paragraph, whose attributes
are the same as the paragraph and may only contain graphical data.
The WebCGM model for intelligent graphics contains enough structure
to identify the type of graphical objects addressed. Those graphical objects
have associated attributes that determine the behavior of the graphical browsing
applications.
An architecture for WebCGM support for ATA models
In order to map the complexity of the
ATA
IGEXCHANGE intelligent graphics model into that of WebCGM, one additional
concept must be introduced. Many of the attributes that are associated with
graphical objects are metadata that can be carried externally to the actual
CGM file. In fact, some of the attributes inhibit
reuse of illustrations if they are embedded in the file.
The XML companion file
Nearly all of the attributes, including the object types, in the
ATA IGEXCHANGE model can be considered metadata.
CGM is a graphics language that is well-suited
to modelling graphical structure and content. Consider the
ATA
GREXCHANGE intelligent graphics model where the attributes are id, name, region,
refloc, viewcontext, screentip, and content. Of those attributes, id, region,
and viewcontext are the three that truly associated with the display of the
graphical object. The others, name, refloc, screentip, and content, may be
metadata that is context dependent. That metadata could be encoded external
to the
CGM file along with the id
to tie the two pieces of information together.
Using
XML to capture the metadata
has multiple benefits.
XML tools to
manage, access and update
XML files
are more readily available than
CGM
tools are. Illustrations may be reused in different applications by simply
changing the associated
XML file.
Query functions are easier to perform against
XML
than against
CGM.
WebCGM implementation of GREXCHANGE
Consider the following illustration.
The paragraph in the lower right quadrant contain the text "REFER TO
SRM 51-70-12 (TYPICAL EXTRUDED SECTION REPAIRS) FOR AN ALTERNATIVE REPAIR
TO RIB CHORDS" might be encoded as a grobject with an identifier of "acd"
containing "SRM 51-70-12" as a child grobject with an identifier of "bcd"
of the entire paragraph. The companion
XML
file associated with WebCGM for this might contain the following:
...<grobject id="abc"
content="REFER TO SRM 51-70-12
(TYPICAL EXTRUDED SECTION REPAIRS) FOR AN ALTERNATIVE REPAIR TO RIB CHORDS">
</grobject>...
<grobject id="bcd" linkuri="http://srm.xml#51-71-12" content="SRM 51-70-12">
</grobject>...
Notice that the identifiers are the link between the object in the
CGM file and the
XML
instance. Also notice that the elements in the
XML
file are from the GREXCHANGE profile but the attributes available to the viewer
application give a hint to its WebCGM equivalent. In addition, the elements
in the
XML file no longer contain
the hierarchy of the
CGM file structure,
but are flattened out to make retrieval by identifier query easier.
Web implementation of IGEXCHANGE
Again consider the same illustration:
At the upper left corner of the illustration there is a locator with
a callout as it might be defined in the IGEXCHANGE profile. In WebCGM these
two objects are encoded as a grobject containing a para. The locator might
have the identifier of "cde" and the callout might have the identifier of
"def". In WebCGM the
XML file would
contain the following fragment:
...<locator id="cde" name="tail section"></locator>...
<refaps id="def" linkuri="xyz.cgm#detail_I" content="SEE DETAIL I">
</refaps>
This time the
XML file is made
up of the element name from the IGEXCHANGE profile, but contains the attributes
from WebCGM. The identifier relationship is the key for the viewer. By using
the element name in the
XML file associated
with the identifier the requirements of IGEXCHANGE can be satisfied.
The architectural model
The following is a high-level conceptual model for how a web browser,
a graphical viewer, and an
XML tool
might interact in this scenario:
Example implementation
The presentation will contain an example of how WebCGM can be applied
to the
ATA intelligent graphics models.