23.08.2015 Views

Here - Agents Lab - University of Nottingham

Here - Agents Lab - University of Nottingham

Here - Agents Lab - University of Nottingham

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

include both container and life cycle operations to install, start, stop and removecomponents as well as checking dependencies.The separation between services and their actual implementations is the keyto enable system adaptation. With OSGi, in addition to syntactic matching <strong>of</strong>service interfaces, developers can also associate lists <strong>of</strong> name/value attributes todescribe the semantic <strong>of</strong> each service, and use the LDAP filter syntax to searchthe services that match given search criteria. Furthermore, Declarative Services(DS) for OSGi <strong>of</strong>fers a declarative model for managing multiple componentswithin each bundle and also for automatically publishing, finding and bindingtheir required/provided services, based on XML component definitions. However,DS only matches pre-defined filters with pre-defined services attributes <strong>of</strong> alreadyactive components, but does not consider the automatic instantiation <strong>of</strong> newcomponents, the context-sensitive selection <strong>of</strong> their services, or the automaticrecovery from their failure - all necessary features for the construction <strong>of</strong> contextaware,adaptive systems.3.2 Component & Service based Agent ModelSelf -OSGi addresses the issues outlined in the previous section by translating theBDI agent model [16] into general component & service concepts. In particular,the separation between the services interface and the services implementation isthe basis for implementing both the declarative and the procedural components<strong>of</strong> BDI-like agents, and also for handling dynamic environments, by replicatingtheir ability to search for alternative applicable plans when a goal is first postedor when a previously attempted plan has failed.Belief Model: As in the Jadex agent language [17], Self -OSGi represents beliefsas simple Java objects. Compared to agent toolkits where beliefs are stored aslogic predicates, objects have the advantage <strong>of</strong> providing a strong typed definition<strong>of</strong> agent’s beliefs. In addition, within Self -OSGi, a belief set is implemented asa Belief Set component with clearly defined interfaces, which are used to accessany data that may affect the value <strong>of</strong> its beliefs.Service Goal Model: Goals, describing the desires that the agent may possiblyintend, are represented in Self -OSGi by the (Java) interfaces <strong>of</strong> the services thatmay be used to achieve them, or service goals.Service goals may represent either: (i) performative sub-goals defining thedesired conditions to bring about in the world and/or in the systems state - forinstance, the method ”(void) beAt(X, Y)” in the goal service GoalNavigationmay be used by a robotic agent to represent the goal <strong>of</strong> being at a given location- and (ii) knowledge sub-goals subtending the exchange <strong>of</strong> information. Forinstance, the method ”Image getImage()” in the GoalImage service goal maybe used to express the goal <strong>of</strong> retrieving the last video frame captured by onecamera. In addition, service goals attributes may be used to further characteriseeach service goal, e.g. the characteristic <strong>of</strong> the information requested/granted,74

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!