A Semantic Model for Actions and Event in Ambient Intelligence

Based on our conviction that event management and response generation are two essential aspects of systems for Ambient Intelligence, we propose here a semantic model for actions and events as a way of handling these issues. Basically, our semantic model describes what actions and events are, how they are connected, and how computational systems should think about their meaning.

This model entails an approach with which to both reason about and model context events and generate behavioral responses to those events, when necessary. The model supports this ad-hoc response generation by automatically composing services when those which are available do not meet the expected functionality (without requesting user intervention).

The great potential of the proposed semantic model is founded on its fulfillment of the inter-module connectivity and communication requirements of a framework for Ambient Intelligence. In our endeavor to show the impact that automatic service composition has on the achievement of autonomous, self-managed, and pro-active systems, we propose an optional implementation that makes use of several technologies: ZeroC ICE, JADEX, and Scone. The only purpose of this optional implementation is showing the feasibility of our proposal and to show the reader how to map the proposed theorethical semantic model into a concrete system.

System Architecture Overview

The Semantic Model

Our main contribution is twofold with regard to the semantic model. First, we propose a non-coupled semantic model. Second, as mentioned in the paper, we are convinced that the notion of event, action or service should not vary among systems, nor should they respond to the mere approach convenience. For that reason, we follow a novel approach proposing a semantic model for Ambient Intelligence based on the conclusions, concerning actions and events, drawn from the philosophical doctrine. In contrast to what can be found in the literature revision, our model is formally based and justified on philosophical studies.

From a computing perspective, a semantic model is considered to be an agreement on how to interpret the knowledge represented in the knowledge base. Semantic models therefore ensure common interpretations of shared knowledge. They are also an essential requirement when there are different instances handling the same knowledge. Every holder is expected to extract the same meaning or conclusions from the represented knowledge.

Having said that, the following section provides a more formal expression of the proposed semantic model, along with the justification of why the proposed semantic model is considered to be common-sense compliant.

Semantic Model for Actions and Events

Implementation Guidelines

The following subsections analyze those modules, paying particular attention to the implications of the semantic model and the different strategies followed for its implementation.

Furthermore, the following sequence diagrams, provide an overview of the interaction among the different modules.

The Multi-Agent System

The Multi-Agent System (MAS) works as a link between the Ambient Intelligence environment and the other elements of which the Ambient Intelligence framework is composed. The MAS is basically in charge of adopting the plan as outlined by the planning algorithm, and undertaking it. The interaction with the other architectural elements is, once again, supported in the semantic model. At the MAS level, the semantic model is implemented by means of an OWL ontology. The Agent Communication Language (ACL) messages, exchanged among agents, therefore contain classes of the ontology, which are simultaneously concepts of the semantic model.

We have used Jadex, a BDI Agent System that allows to develop goal oriented agents following the BDI model.

Manager Agent

Manager.agent.xml XML description of the Manager Agent
WaitingForEventsIce.java Java class that describes the "waiting for Ice events" plan.
StarterPlan.java Java class that describes the plan that starts up other agents.
SendEventTypePlan.java Java class that describes the plan that sends the Perceptor Agent detected event.
EventsMonitorI.java Java class that manages the events reported to the "alarms" channel.

Perceptor Agent

Perceptor.agent.xml XML description of the Perceptor Agent
ManageEventPlan.java Java class that manages the receptions of messages from the Manager Agent (containing the event type).
GetBiometricIDPlan.java Java class that describes the guidelines for accomplishing a biometric identification. These guidelines are provided to the planner.
Planning.java Implementation of the planning algorithm. This class receives request for each of the individual plans of the agent.

The middleware framework

SemanticModel.ice Semantic Model implemented in Slice.
config.icebox The Icebox configuration file.
config.icestorm The Icestorm configuration file.
USE Some notes about how to run the example

Scone Knowledge

The Scone Knowledge Base project is used here so as to enhace our proposal with common-sense capabilities. An extensive justification of how common-sense reasoning can be accomplished by means of Scone can be found here.

General Definitions

building.lisp This file describes the general features of a building in Scone.
building-definitions.lisp Additional information about the building description.
devices.lisp This file models the device concept of the semantic model along with some instances.
service-definitions.lisp This file models the service concept of the semantic model.
services.lisp Here, instances of the service concept are declared.

Action definitions

actions.lisp
actions2.lisp
actions3.lisp

Location aspects

Shape.lisp This file describes the shape and data types considered in the MLP.
Location.lisp Based on the OpenSL standard, we have described those issues referred to location aspects.
LocationType.lisp Definition of additional data types.
actions4.lisp Actions involving location aspects.