UbiCompForAll banner

SmartTracker service composition
The SmartTracker service composition framework extends Tellu's service platform with support for composition of tracking services. Tracking services deal with the monitoring the status of mobile assets, and can be exploited in multiple application domains, such as the AAL domain for the following of people suffering dementia or the transport domain for the monitoring of goods.

Tracking services

SmartTracker http://smarttracker.tellu.no/ is a service platform developed by Tellu that supports the acquisition of various parameters related to mobile assets, e.g. location, time and battery level, and the creation of services that can be triggered in particular situations. For instance, an alert can be sent to the owner of an asset when the asset is located outside of a specific zone at a specific time. The SmartTracker platform includes a rule engine to execute service behaviour. The rule engine is implemented using the Drools rules engine system.

Composition approaches

Service implementation using Drools rules is complex. Tellu has therefore investigated tools for service specification that can also be taken in use by non-IT professionals. A two-step approach was followed:

  • First, a user interface to SmartTracker based on the composition notation proposed by UbiCompForAll was developed. The interface is web-based and supports the configuration of rules in a user friendly way.
  • As a further development, a SmartTracker implementation of the composition meta-model proposed by UbiCompForAll was developed. This approach supports true component-based composition. The composition model is abstracted away from the rule realization in the server.


The following figure illustrates the service composition architecture developed for SmartTracker. The FindIt Application Server (grey box) is part of the SmartTracker server side. Each building block to be used in service composition is defined in an XML format based on UbiCompForAll composition meta-model also expressed in XML, with an implementation in Drools rule code.

SmartTracker architecture


Service composition requires (i) the definition and implementation of building blocks that are used by the user during composition and (ii) the definition of domain objects that provide access to the application domain data. In the case of SmartTracker, domain objects are defined for information accessible for a SmartTracker account, such as assets to be tracked and locations for geofence logic.

A service composition specified by the user includes building block instances and references to the domain objects for the service behaviour to operate on. Composition specifications are sent to the server, where a mapping to Drools rule code was implemented. The rule engine running on the server executes the Drools code, operating on domain objects.

The SmartTracker service composition architecture makes it feasible to develop multiple composition interfaces/tools, and thus to provide support for end-user composition various platforms. For instance, an Android composition tool was developed.


The notation developed in UbiCompForAll is simple yet powerful enough for end users to define custom services. Through adding end-user composition to the SmartTracker platform, Tellu provides a platform which is innovative in its flexibility and end-user friendliness. Tellu plans to further develop the platform after the project is over. This includes using the Android composition tool in a SmartTracker Android App, and replacing the current web composition interface by a new interface for based on the same building block definitions as the Android tool.

Published September 25, 2012

© UbiCompForAll | Jacqueline Floch