I will do my best to describe my system here, whithout to repeat my whole (not yet ready) thesis paper here. If your questions are not answered, then do not hesitate to contact me.

Generally I would use the following keywords to describe my work : adaptive interface toolkit, multimodal interfaces, XML interface description


I start here with a short list of the main characteristics of the GITK approach:


gitk architecture Like most other approches GITK uses a modular, multilayered architecture, but heavily relies on XML processing through all the layers. The architecture implements the ARCH model (which is an extension of the Seeheim model). Lets briefly introduce the layers from top to bottom:

There are several run-time configurations thinkable. E.g. in one configuration all layers except the renderer could run on a server machine, but in another configuration all components run one the client machine.
gitk components Now lets have a look at the architecture by it components. The images on the right shows that GITK: The projects has a few important goals, that differ a lot from the ones of other projects. Not all goals are yet met by the current implementation, but we are working on it;-). Lets have a look at them:


gitk processing pipeline The image on the right gives a rought idea, how a XML dialog description (GIML) runs though all the transformations steps and which components are involved in processing it.
Most processing steps in the pipeline are already XSLT steps. They just apply a given XSL stylesheet to the dialog description. The i18n processing step is a bit special. It adds a custom XSLT command to the style-sheet processor (GITK uses GNU gettext catalogs and I do not want to create a dependency on gettext to dynamicaly create a XSL stylesheet from a catalog at runtime). In my opinion - the biggest advantage of the pipeline approach is, that it invites to experiment, as the whole transformation process can easily be adapted and reconfigured.
The images show that the XML dialog description is provides by the application. Further one can see, that additional information comes from "profiles" in the form of XSL stylesheets. These are provided by the core system and the rendering modules.

GIML - the XML dialog descriptions

Like many other approaches, GITK uses a XML based markup language to describe dialogs. As a main difference GIML avoids terms related to graphical presentation of dialogs, as such dialogs may be presented on any media from audio to graphics.
Other XML interface languages use terms as "push-button", "scrollbar", whereas GIML uses terms as "action", "data-entry/value-choice/single/limited". The goal is to use interface patterns in the future. These media neutral identifiers are the foundation for an interface object hierarchy.

Send mail to: Stefan Kost
Last modified: Mon Oct 04 15:33:26 MEST 2004
Valid HTML 4.01! Valid CSS! SourceForge Logo