Implementation and Management Approach
The most important considerations to make in the execution of the project
are:
- How to create and maintain context? How to detect the position of the
user (triangulation), his mood (sensors), habits, needs? - How to use context considerations in decision making? How to use
reasoning, verification, and validation provided by ontologies in
this context? - How to continuously improve and use digital personality for decision
making?
These define the main objectives of the Project are the following:
- Context detection (using mobile phones, for example);
- Maintainance of Context independence from the user location (home, office, car, holidays) by using mobile technologies;
- Decision Making support based on Context;
- Develop a Digital Personality framework.
Technology solution
PROJECT DESIGN
Architecture
The CBDP Framework architecture consists of a set of services , these services have been created and designed taking into account their future re-usability in other digital personality applications.
The architecture is presented as a distributed architecture where different implementations of the framework can exist. The main goal of the design is to create a scalable architecture formed by modular services. These services
can be selected and installed depending on the device capabilities.
The CBDP framework defines two instances for deployment depending of the device capabilities and usage:
CBDP Server: this part is intended for those devices with full capabilities. This part of the framework also provides communications services in order to connect it with other devices.
CBDP reduced capabilities device: this part can be deployed in devices with limited capabilities. It means that the device cannot execute all the modules of the main CBDP framework. For this reason, a reduced version of the framework is provided.
Distributed Architecture
Usually, the Framework will be deployed using the server-client approach. In these cases, only a CBDP server exists, whereas many clients can be connected to it. These clients can be mobile devices which belong to the different users, or any other device depending of the domain of application. The main characteristic is that the design must support the connection of various clients simultaneously. This goal can be achieved depending of the technology used to communicate the different devices. Not all the available communication technologies (GSM , WI-FI , Bluetooth , etc…) offer the same possibilities, and their application depends on the specific application domain.
Services
The list of services is:
Context Manager: Manages all the information of the CBDP context. It contains the digital personality information and the context specific data. The manager provides methods to add new information, recover the stored information, and to query about that information.
Location Service: Manages the information related to the location of the user. It provides an API to obtain and access the Location information of the user. This information can be useful for the domain applications to trigger actions based on the user location.
Machine Learning Engine: Provides functionality to learn new data from the information compiled by the user. The information used to perform the machine learning process can be obtained from the current user preferences, user’s actions, and other relevant context information. The output of the machine learning process is a set of rules which encode the actions and create the new
information.
Conflict Resolution System: This component provides rules and actions to avoid the problems which can arise when different users are interacting with the same system.
Recommendation System: Using the context and the users’ digital personality, this gives recommendations to the user. This process is based on the information stored by the user and the information learned using the machine learning engine.
Historic Context manager: this component manages and offers functionality to store historical information from the context. The historic information can be
used by the Machine Learning Engine and Recommendation System.
Reasoning Engine: Using the knowledge learned, this engine performs action to help the user, facilitate common tasks, etc.
Context management
The CBDP Framework provides an API that enables to manage the digital personality and context information. This data is stored using ontologies which model the concepts and the relations among them. The Framework defines the language for ontology representation and the methods that can be used to
manage it. In this case, the ontologies are going to bemodelled using OWL expressed using RDF ; this means that the Framework has mechanism to
manage this kind of semantic representation. The API provided by the CBDP is general enough to not depend on the specific domain ontologies.
It has methods to add, remove and query about the stored knowledge. These methods enable to add new ontologies expressed in OWL, remove and erase the stored ones and query them using a language for RDF. The domain application uses this API to manage the digital personality and the context information. The API is the entry point for the applications and it provides an abstract view of the
CBDP Services. The ontology used to represent the digital personality can
be shared partially among the different domain applications. The goal is to create a common ontology known as CBDP Core Ontology. This ontology represents the common concepts for digital personality which can be shared among the different scenarios and demonstrators. The CBDP Core Ontology defines general concepts as user, preference, time, date, etc, which can be reused by the different domains.However, the specific applications may have concepts that only exist in its domain and are not useful outside it.
This means that the CBDP Core Ontology must be extended with domain concepts that are specific to the applications. The result of this process will be used by the applications to specify their concepts and information to the CBDP Framework.
The applications must configure the CBDP Framework before use adding the ontologies required for their domain. The CBDP Framework is capable of managing any ontology expressed in OWL/RDF. This means, that the CBDP does not have specific classes or utilities to manage these domain ontologies because it cannot know the concepts used in advance. However, the CBDP Core ontology, which is shared among the different domains, is static and it does not change from domain to domain. This means that the CBDP Core Framework can provide a
specific API to manage the Digital Personality. This API can be used by the applications to access the digital personality in an easy way.