260 likes | 386 Views
Programming Semantic Agents. Julien Subercaze. Summary. Introduction to MAS Cognitive agents – a state of the art Restrictions on cognitive agents Semantic Agents Implementation Conclusion. What is a MAS.
E N D
Programming Semantic Agents Julien Subercaze Universiteit Twente - 19/03/2009
Summary • Introduction to MAS • Cognitive agents – a state of the art • Restrictions on cognitive agents • Semantic Agents • Implementation • Conclusion Universiteit Twente - 19/03/2009
What is a MAS • Multi Agent System is useful paradigm for Distributed Artificial Intelligence an for Distributed Knowledge Management • Agent are autonomous • Able to interact with their environment • Able to interact with other agents • Definitions vary between MAS subdomains Universiteit Twente - 19/03/2009
Several types of agents • Reactive : perceive environment • Proactive : goal directed • Intelligent : • Reactive • Pro-active • Social Ability • Cognitive • Knowledge Management Process • Reasoning abilities • High level representation of environment Universiteit Twente - 19/03/2009
Cognitive Agents • Our scope : Cognitive Agents • Architectures of cognitive agents, related work: • Not implemented : IDA (Intelligent Distribution Agent, U of Memphis) • Dedicated applications in which Knowledge Base and algorithm for behaviours are decoupled : • Bibster : bibliographic references search (AIFB, Germany) and its clones : SemreX and SocioBiblog • Sifo-Peers : Decentralized Social Network (DERI, Ireland) Universiteit Twente - 19/03/2009
Details : BIBSTER Universiteit Twente - 19/03/2009
Semantic Agent : why ? • Our goal : Extend agent capabilities by introducing reflection on Reasoning. { } + Behaviour as Knowledge = Semantic Agents Knowledge Goals Cognitive Agents Behaviour Our contribution What exists Universiteit Twente - 19/03/2009
Semantic Web Semantic Web Layers – Tim Berners Lee Universiteit Twente - 19/03/2009
Reasoning and Behaviour • Agent behaviour is a part of its knowledge • Technology used : • Nowadays, Web Semantic Technologies is the most advanced to represent technologies • OWL stores knowledge • SWRL gives extension to express rules on OWL
Our Goal (refined) Build agents that have their behaviours expressed in SWRL Universiteit Twente - 19/03/2009
Building behaviour representation • Agent Behaviour : • sequence of actions • Triggered by in internal/external agents • We can represent the behaviour as extended finite state machine : • Transitions triggered by if statement • Transition => execution of specified actions Universiteit Twente - 19/03/2009
Agent model • Defining the internal agent architecture • List of possible atomic actions • Internal : • Add/Remove/Modify : Class, Property, Individual, Rule • External : • Receive Messages • These actions have parameters : receiver, content, … Universiteit Twente - 19/03/2009
Agent Behaviour Model • State • Begin • A • B • … • End • Actions: • Add Property • Remove Property • Add Individual • …. • Send Message • Receive Message Universiteit Twente - 19/03/2009
Agent Internal Architecture Knowledge BASE Knowledge of the agent Engine Start Rules Execute Actions Atomic actions Low level implementation Universiteit Twente - 19/03/2009
Agent interpreter Knowledge Base Rules – States – Messages- Knowledge incoming messages Rules and state Actions names and parameters Engine : FireRules • Knowledge Base Update : • Behaviour • Knowledge • State Clock If state updated Execute actions sequence outgoing messages Universiteit Twente - 19/03/2009
Example of behaviour • Simple behaviour : • Register to the yellow pages • Send a query to the agent « Bob » • Wait for answer • Use of atomical actions (12 in total): • RegisterDF • SendMessage • WaitForMessage • … • Each action takes parameters(name/value) Universiteit Twente - 19/03/2009
Example of behaviour II A Begin B C {SendMessage} {RegisterDF} {Wait4Message} {AddIndividual} END Universiteit Twente - 19/03/2009
Implementation • JAVA Based Prototype using following libs: • JADE : MAS Framework • Protege-OWL • JENA Framework • Pellet Reasoner Universiteit Twente - 19/03/2009
Implementation layers Knowledge Base OWL-DL SWRL Knowledge of the agent JAVA SWRL API JENA API Protege API Engine Start Rules Execute Actions Atomic actions Low level implementation JAVA Jade API Universiteit Twente - 19/03/2009
Example of behaviour II A Begin B C {SendMessage} {RegisterDF} {Wait4Message} {AddIndividual} END State(?x) ∧ hasStateValue(?x,BEGIN) ∧ NextState(?y) => hasStateValue(?y,A) ∧ hasValue(Action,RegisterDF) Universiteit Twente - 19/03/2009
Execution of Behaviour • Enginequeries SWRL repositorythrough API : NextState value ? Answer : A • A != BEGIN, thereis a transition • Enginequeriesrepository to get the Action Sequence • Update the current state to A • For each action • Get the namefromrepository : RegisterDF • Get the parameters : none in this case • Call the lowlevelatomic action with the parameters : execution of the action Universiteit Twente - 19/03/2009
Timeline of a transition KB NextState Value ? ActionList Value ? Update State to A Execute Regiser DF A {RegisterDF} Engine Atomic Actions Message to DF Universiteit Twente - 19/03/2009
Conclusion • Why : Cognitive Agents implementationalwayshardcodesbehaviour of agents ! • Our Solution : Behaviouris part of Knowledge, wedescribeitusingSemantic Web Rules and alsodefined an agent architecture. • Advantages • Reflection on the behaviour of the agent • Behaviouris a piece of agents knowledge • Behaviour no more dependsfrom agents implementationlanguage • Drawbacks • Programmingisdifficult Universiteit Twente - 19/03/2009
Perspectives : • Opens a new way of agent capabilities !! What are the possible applications ? Domains of interest ? • How to exchange Agents Behaviours ? Use of Virtual Knowledge Communities appears to be the most common solution since agents already exchange knowledge within the communities. • We need an IDE to program Agents • Consistency Checking required Universiteit Twente - 19/03/2009
Questions ? Universiteit Twente - 19/03/2009