Information Technology Reference
In-Depth Information
2
Preliminaries and Related Work
Smart Environments. Smart environment should support their users by provid-
ing proactive assistance. That is, the environment should support its users as
much as possible while achieving their usual tasks. Several such system have
been proposed before. To name just a few, we refer to [6,11,13] and to [7] for a
general introduction into the area. Assistance can be provided by controlling the
environment to satisfy the users needs, like for example the lighting conditions.
Designing such a system is a complex task, because such environments tend to
be heterogeneous and dynamic with respect to their components.
Objects versus Agents. Objects and agents differ in particular with respect to the
following aspects: While objects are passive in the sense that they only receive
method calls, agents are active. That is, they are to some degree autonomous and
can trigger actions and events on their own. Notions like believe and goal, are
usually inadequate while talking about objects, but are fundamental to agents,
which have intrinsic goals, and they are flexible to choose how to behave with re-
spect to their beliefs. Multi-agent systems are inherently multithreaded and dis-
tributed. Therefore, most communication must be asynchronous, while method
calls in object oriented programming are usually synchronous. Objects are usu-
ally characterised by their properties and methods. As mentioned above, agents
have in addition a set of current beliefs and of current goals.
One multi-agent systems is Jason [2], based on the AgentSpeak language de-
veloped in [16]. It allows to specify rules of the form event : context <- body .
Triggered by some event, the current context, that is the agents belief with re-
spect to the state of the world is evaluated. If the specified context conditions
hold, the body of the rule is executed. The body consists of actions to be ex-
ecuted. Those actions can either create new events, control objects directly, or
send messages to other agents.
Publish / Subscribe Systems. Middleware systems within the area of ubiquitous
computing are usually defined as an abstraction layer used to connect software
components, running on different hosts within some network. The core services
provided by such systems are look-up facilities to locate remote components,
event distribution and remote procedure calls. Event distribution is often imple-
mented as publish/subscribe system. The events are picked up by the middleware
and distributed to every component which has registered itself. The registration
is done by specifying a filter to be applied to the events. If the filter matches, the
event is propagated. Many different middleware systems for distributed systems
have been proposed [4,5,14,19], and the concept of publish / subscribe has for
example been implemented in [3,8,15]. Most systems allow filters to be expressed
at the level of events only, but some work has been done with respect to event
aggregation [15].
Deployment System. Objects and agents are usually registered in a distributed
environment using some deployment systems. Such a system is responsible to
Search WWH ::




Custom Search