12.01.2014 Views

User Interface Service Software Developerís Guide - Hitech Projects

User Interface Service Software Developerís Guide - Hitech Projects

User Interface Service Software Developerís Guide - Hitech Projects

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

January 2008<br />

Public<br />

working on are in fact distributed. Figure 3 shows an example of a main tree and 3.<br />

Subscribed sub-trees (denoted as derived trees).<br />

Figure 3. An example XML tree in PEGASUS<br />

To fully implement the blackboard design pattern, it is necessary to enable notification of<br />

application on changes in the data storage. PEGASUS provides the concept of Triggers for<br />

this purpose. A Trigger can be setup to observe a parts of an XML tree and notify application<br />

upon a change of that certain element. The changes, which are observed by the Triggers are<br />

configurable in PEGASUS. For example, considering the example from Figure 3, it is also<br />

possible to define a Trigger that only notifies the change of the element “Light dark” to true but<br />

ignores a change to false. Just as well, it is possible to defined Trigger that puts multiple XML<br />

elements into a context. For example, notify the changes of “Light dark” only of the element<br />

“Climate pressure” holds 1.<br />

For the Triggers to actually cause an action to happen, the functionality of the PEGASUS<br />

object needs to be supplied. The functionality of an object is highly dependent on what the<br />

respective object represents:<br />

• Source of data. On a system level, it may be a device which expects user input, a logger etc...<br />

• Presentation of data. On an operating system level it may be a public display.<br />

• Process on data. It can either be a concrete program written with the PEGASUS framework<br />

using C++ or Java.<br />

• Parts of another process. Object descriptions can be nested, to maintain closeness to<br />

abstraction layers<br />

• Abstract representation of one or more processes.<br />

• Way of joining many objects into a container.<br />

• Representation of data structures or input data. It can handle user events, expressed through<br />

data change.<br />

For a full description of the PEGASUS API the document “Pegasus-Manual.pdf” is<br />

recommended. It contains both, the API for C++ and Java applications.<br />

Amigo IST-2004-004182 86/114

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!