Java Virtual Machine. A Pentium IV, PC-platform
running at 2.5Ghz with a 512Mbyte memory can
be defined as a minimum platform. The present
version is tested on Linux and Windows. No
difficulties are expected for other platforms.
5.1 XGC: How it Works
The architecture shows the two different part of
XGC; the presentation and the interaction with the
“business logic” through a message interface. We
will focus first on the presentation.
To be able to show objects in their environment
XGC can use “road maps” as a background. SVG
is used to create these backgrounds, which can
take the shape of a geographical correct map or a
schematic view of the road network. Thanks to the
support of bitmap formats, the background can
also consist of a single bitmap file or a
combination of a bitmap and vector graphics. The
objects that compose “road maps” are defined in
the topological road ontology described in Section
2.
The visual objects representing the actual
traffic objects, such as emergency phones, variable
message signs etc. are placed as a second layer on
top of the background. These visual objects are
identified in the equipment ontology. They are
defined as re-usable SVG-symbols. As stated for
the background, a bitmap image can also be
declared as a reusable symbol.
The combination of a background map and the
visual objects are declared in a SVG-file using the
standardized XML-format. In principle this
SVG-file can be created with standard
SVG-editors. However, thanks to its XML-origin,
the file can be dynamically created using
Extensible Stylesheet Language (XSL) (Kajiya Y.
et al., 2004).
At present the available version supports
dynamic generation of the SVG-content.
For this process, two files need to be provided:
An XML file containing the configuration and an
XSL-file containing the transformation
instructions. For the transformation process an
Apache product, the Xalan-Java2 library is used.
Xalan-Java 2 is an XSLT processor for
transforming XML documents into HTML, text, or
other XML document types. It implements XSLT
Version 1.0 and XML XPath Version 1.0.
To create the XML and XSL-document it is
recommended to use a commercial off-the-shelf
XML-editor. XGC doesn’t and will not include
functionality to create the configuration files.
To visualize the SVG-document a software
library is needed to place each element and
possible attributes in a Document Object Model
Tree and to render it on screen. This functionality
is provided by means of another Apache product,
the Batik library, which provides functions for
loading, rendering and manipulating
SVG-documents. XGC depends heavily on Batik,
meaning all functional additions to Batik will also
be available in XGC. At the moment XGC
includes version 1.5.1 of Batik.
Thanks to Batik’s use of the SVG-standard the
elements of the SVG-Document can be altered
programmatically by adding scripts to the
documents or through its programming interface.
In the case of XGC only the latter is used, dynamic
scripting is not allowed.
However XGC is not a single Screen container;
it runs as a Desktop application containing
multiple internal frames. Each frame can be a
Screen, which means that XGC is able to support
multiple user screens at once. Although XGC is
intended for SVG-based graphic rendering, other
types of frames can be added. At the moment XGC
supports screens for alarm- and plain text logging,
HTML3.2 rendering (for instance for on-line help)
and XML-viewing.
The configuration of the Desktop is placed in a
single XML-file containing the application
specific elements such as security issues, as well as
the individual Screen elements and their attributes.
Each Screen-element has attributes used to
configure the Screen automatically at start up.
The configuration file is handled and managed
by the applications’ Configuration Handler, which
reads the configuration file at start-up and places
the configuration items in public variables,
accessible to all classes in the application.
Each object can be made dynamic, meaning it
can interact with the environment outside the
platform it is running in. The simplest example is
interaction with the operator. XGC supports
standard “tool tips”, meaning hovering over the
object, a text can be shown. This is the default
behavior included in SVG. On the other hand XGC
contains support for clicking on the object and
triggering object specific behavior.
As already mentioned, for this to happen, the
“semantics” of the object has been identified.
Clicking on the object results in reading the
objects’ semantic attribute, and based on its
contents a context specific pop-up menu is
activated.
Each menu item is defined in XGC’s
configuration file and it can contain text as well as
graphic content. Each menu item trigger creates a
command object, containing the identification of
the selected visual object and the requested
behavior.
This command object is send in serialized form
via the message service to the application server
WEBIST 2006 - WEB INTERFACES AND APPLICATIONS
426