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
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 />
interface inputs. They can also retrieve information about a current view that is active in the<br />
user interface. Further, PI-components must implement interface IUIClient in order to receive<br />
information about state changes, changes with respect to the valid value range or to be<br />
informed when a specific piece of information is not shown. Moreover, the IP-components are<br />
informed via this interface what information is to be shown on the screen and which navigation<br />
options the user has.<br />
<strong>Interface</strong> I<strong>User</strong>Management is used to attach user management components. Form the user<br />
profile the user specific navigation model is retrieved.<br />
<strong>Interface</strong> IKnowledgeBase is exploited to interface knowledge bases to the system. Via this<br />
interface, new knowledge can be added to the system. This covers adding concepts and<br />
statements. Finally, information can be retrieved from the knowledge base via this interface as<br />
well.<br />
The interface IUI<strong>Service</strong>Control can be used to control the behavior of the UI-service. For<br />
example, using this interface, PI-components can be coupled, user can be logged in or out<br />
and statements can be added to the environmental model. If PI-components are coupled, they<br />
behave the same. I.e., the show the same information to the user and also present him or her<br />
with the same navigation options. This may be useful if there are several display in the range<br />
of the user giving him or her the options to freely choose between the them. Moreover, the<br />
user may even change the interaction device on the fly.<br />
3.9.2 Classes of the UI-<strong>Service</strong><br />
Figure 6 shows the main classes of the UI-service. Class UIMain implements the singleton<br />
pattern. The appropriate instance is created via the Activator class. UIMain creates further<br />
objects needed by the service. Important classes of the UI-service are:<br />
• <strong>Service</strong> Manager: The service manager also belongs to the singleton pattern. It is<br />
responsible for administration and communication with services and devices. <strong>Service</strong>s<br />
inform the <strong>Service</strong>Manager about state changes using class <strong>Service</strong>ActionManager.<br />
• <strong>Service</strong>ActionManager: There is also only a single instance of class<br />
SeviceActionManager. The class receives information about changes of internal<br />
variables of services or devices. The instance then determines those PI-components<br />
that are affected by the propagated change und further propagates the information to<br />
other components.<br />
• Internal<strong>Service</strong>List: This class is used to manage the registered services.<br />
• UIClientManger: This class implements the interface to register PI-components. For<br />
each registered component this class generates a VirtualUIClient instance which is<br />
used to control the component.<br />
• VirtualUIClient: Instances of the class VirtualUIClient represent PI-components. Hence,<br />
for each PI-component an instance is created to control the component. Class<br />
VirtualUIClient implements IUIConnector which is used for communication with the<br />
associated PI-component.<br />
• <strong>User</strong>InputManager: All user input is processed by an instance of <strong>User</strong>InputManager. If<br />
the user is operating a navigation element, then the instance informs the corresponding<br />
instances of class VirtualUIClient. Otherwise, if the input changes a value, then the<br />
input is forwarded to the appropriate instance of class <strong>Service</strong>Manager.<br />
• UI<strong>Service</strong>Controller: This class can be used to control the behavior of the UI-service.<br />
For example, PI-components can be coupled, user can be logged in or out and<br />
statements can be added to the environmental model.<br />
Amigo IST-2004-004182 103/114