UBIWARE project, Deliverable 2


Deliverable 2.3

UBIWARE Platform Prototype v.2.0

UbiCore (Core UBIWARE Platform Design)

Typically, an Ubiware-based application consists of several agents running within one or more JADE containers. The usual way of starting an application is to execute several scripts, one script per agent. This approach has two main disadvantages. Firstly, several scripts have to be run (each in separate window) which is not always possible if a number of agents grows. Secondly, if an agent crashes for some reason, it will not be restarted which will most likely make the application maintenance unreasonably complicated.

In order to overcome these limitations we decided to integrate Java Service Wrapper Community edition (http://wrapper.tanukisoftware.org/) to the Ubiware platform. It allows us to run a Ubiware-based application as a service. This has the following advantages:

  • The application is considered a service. It is not needed to run several scripts. Also, if the application behaves as a Windows/Linux service, it may be started automatically every time the system is started.

  • The application is restarted every time it crashes. There are several ways to define when and how the application should be restarted in case one of the agents dies.

  • The configuration file of the wrapper is platform independent. This allows us to use one configuration file for several platforms. This basically means that if the application is run as a service on one platform (e.g. Windows) it can be run as a service also on another platform (e.g. GNU/Linux) without the need to change the configuration file.

  • Java Service Wrapper uses GNU GPLv2 license.

The S-APL language as such has not undergone significant changes. The main construct that was added is a new operator for use in a new type of rules - an Inference Rule.

UbiBlog (Managing Distributed Resource Histories)

In the development phase we have implemented Ontonuts engine. The engine is an extension to the UBIWARE platform that allows platform user to easily connect external data sources and run distributed queries over them. The backward chaining algorithm was implemented to meet the platform-specific features and the language. The algorithm implementation is used in the planning of distributed queries. To support database connectivity, we have implemented a special type of Ontonut called Donut that provides additional functionality to the user when dealing with the relational data sources. Special attention was paid to the mapping and transformation (adaptation) of the external sources.

FOR EYE (Context-aware GUI for Integrated Data)

One of the 4I Browser enhancements concerns a smart and intelligent technique for automatic dynamic selection of a visualization context. This context ranking technique allows us to sort a list of visualization contexts in more appropriate order for user and give him/her a hint for next logical step in though resource browsing process. Thus, it can become a smart search system that leads the user in proper direction/way.

Also we decided to include a visualization of the resources in a context of their similarity/closeness to the 4i(FOR EYE) Browser as its an inherent functionality. The main development in this direction has been done during the industrial case development period (see Deliverable 2.2):

  • Distance Measuring Methods for five main resource description types and General Resource Distance Measuring Method;

  • format and schema of similarity context related data;

  • resource closeness/similarity Visualization component.

During the period after the previous checkpoint we add useful functionality to the system. Now current implementation of the 4I GUI Shell supports visual configuration of resource similarity visualization context.


Deliverable 2.3, Technical Report
Deliverable 2.3, Presentation
Materials for the Steering Committee meeting (15 May 2009)