Intelligent E-Commerce Lab. Aettie Ji AgentOWL: Semantic Knowledge Model and Agent Architecture Laclavik, M., Z. Balogh, M. Babik and L. Hluchy In Computing and Informatics. Vol. 25, no. 5 (2006) Ontology and Agent based Approach for Knowledge Management Laclavik, M. Thesis for the degree philosophiae doctor, Institute of Informatics, Slovak Academy of Science (2005) Intelligent E-Commerce Lab. Aettie Ji
Outline Introduction Agent Knowledge Model Modeling and Development Methodology for Agent Design Design and Specification of AgentOWL Library Demonstration Conclusion
Introduction Motivation MAS is a powerful paradigm in nowadays distributed systems, however its disadvantage is that it lacks the interconnection with semantic web standards such as OWL. Especially for KM systems in heterogeneous and distributed environments, MAS is a suitable solution, but lacks knowledge and intelligence. The aim of this article is to present a semantic knowledge model of an agent suitable for discrete environments as well as implementation.
Overview of Approaches Introduction Overview of Approaches An agent-oriented paradigm for KMS Ontology-based KM in MAS Cooperative intelligent agents in distributed environment Methodology & tools CommonKADS methodology & Protégé ontology editor for knowledge modeling OWL ontology for knowledge representation Jena library for knowledge and data manipulation JADE agent system for real implementation of the architecture
State of the Art Basic types of agent architectures: Introduction State of the Art Basic types of agent architectures: Reactive Architecture Belief Desire Intention Architecture – BDI Behavioral Architecture In literatures, the main focus is on the externals of agents, not on the internal knowledge model. The FIPA specifications The JADE agent model Existing RDF/OWL and FIPA-based agent systems Event-based memory model for agent architectures Reactive : 가장 단순한 형태, 환경에 대해 미리 정의된 행동을 취함 Behavioral : 에이전트가 연속적, 혹은 여러 레벨의 행위들을 갖는 구조 Belief- 환경의 현재 상태에 대한 에이전트의 지식 Desire- goal to achieve Intention- desire를 성취하기 위한 행위의 plan 몇몇 BDI 구조를 가능하게 하는 툴이 있지만, 시뮬레이션이나 테스트의 용도정도로밖에 사용할 수 없음. The FIPA (Foundation for Intelligent Physical Agents) just describe how agents should communicate and how they share, translate or communicate ontologies. The JADE agent model 은 OWL과 같은 semantic ontology representation을 제공하지 않는다. FIPA-SL 쿼리 언어를 위한 엔진을 제공하지 않는다. Predicate logic 기반의 모델은 사용자나 현존하는 상업 시스템에 사용하기 어려움 현존 RDF/OWL and FIPA-based agent system은 generic internal model이 부족, 이론적으로 어떻게 rdf/owl이 에이전트간의 의사소통에 사용되는지만 제공 에이전트 분야의 이벤트 기반 모델은 가장 기본적인 reactive architecture에서 사용되었고, Action-situation pair가 이벤트를 생성하는 러셀의 연구가 있다. 본 논문과 유사하나 더욱 구현이 복잡하다.
State of the Art Introduction FIPA를 따르는 MAS모델 Acl – agent communication language 에이전트 내부의 지식모델 GUI 외부 시스템과의 XML, XML-RPC, SOAP등을 통한 연결 외부 kb로부터 지식을 얻기위한 쿼리 RDF/OWL, SPARQL 기반의 ACL 어플리케이션의 풀에서 사용될수 있는 OWL기반의 일반적 모델 discrete 환경에 맞는 일반적인 확장 지식모델 Fig.1. Existing and missing features of agent architecture
Introduction Challenges Providing better semantic infrastructure (Ontologies, knowledge model) Apply basic principles of software and knowledge engineering Make stronger connection between the MAS and existing commercial technologies
Agent Knowledge Model Behavioral architecture, where an agent memory model used in behaviors implementations Discrete, fully observable environments modeled by discrete events in time and context For example, the information search agents or the agents in knowledge management applications
Formal Description of Model Agent Knowledge Model Formal Description of Model Five main elements: Resources, Actions, Actors, Context and Events Resource ⊆ Context Actor ⊆ Resource, {actor} ∈ Actor Actor ⊆ resource.Actor({resource}) ∩ context.Actor({actor}) ∩ Resource Agent ⊆ Actor, {agent} ∈ Agent Action ⊆ Context, {action} ∈ Action {aQuery, aInform, aUpdate, aDelete, aCreate} ∈ Action Domain ⊆ Context , {domain} ∈ Domain Task ⊆ Context Task ⊆ domain.Task({domain}) ∩ Context Context ⊃ Resource ∪ Action ∪ Domain ∪ Task, {context} ∈ Context 리소스 클래스는 에이전트 환경 내의 모든 리소스, Actor는 Resource의 주요 서브 클래스 모델의 customization의 한 부분으로서 리소스의 서브 클래스를 결정 액터는 환경내의 행위자, Agent는 특수한 타입의 Actor이다. Actor는 사용하고 있는 리소스, 현재의 컨텍스트를 프로포티로 갖는다. 개개의 행위자가 액션 클래스은 개개의 행위를 취한다. Individual action ACL QUERY-REF, ACL INFORM메시지 등과 같은 에이전트 내부커뮤니케이션을 표현 리소스의 생성, 갱신, 삭제 등의 수행 태스크는 환경 내에서 행해졌거나 행해질 필요가 있는 일들, 어플리케이션에 따라서 problem를 표현하기도 도메인은 온톨로지의 어플리케이션 도메인 확장, 모든 확장은 이 클래스의 서브클래스로 되어야한다. 컨텍스트는 행위자나 환경 등의 컨텍스트 Task의 중요 프로포티는 domain이다. 이는 어플리케이션 컨셉과 관련된 도메인을 상징화한다. actor context와 resource updating 을 위한 적절한 km 알고리즘을 셋팅하는데 이러한 커넥션이 유용하다.
Formal Description of Model Agent Knowledge Model Formal Description of Model Event ⊆ action.Event({action}) ∩ resource.Event({resource}) ∩ actor.Event({actor}) ∩ context.Event({context}) {event} ∈ Event context.Actor({actor}) = fC(∀event;actor.Event({actor}) ∈ {event}) resource.Actor(resource) = fR(context.Actor({actor})) 각각의 {event}는 {context}에서 기술된 상황에서 특정 {resource}에 대해 {actor}에 의해 취해진 {action} 시스템이나 어플리케이션의 환경은 저장된 이벤트에 기반한다. 이벤트는 환경의 상태를 모델링한다. 환경의 현재 상태나 actor와 관련된 환경/상황은 관련있는 새로운 이벤트에 영향을 받는다. actor의 의도나 목적의 결과, 현재 actor의 환경/상황에 의존적(context.Actor) 위 두 식은 context나 resource를 갱신하는 함수나 알고리즘을 의미하며, 나중에 알고리즘이 변경되었을때, 같은 데이터와 같은 모델을 가지고 더 나은 결과를 얻을 수 있는 장점이 있다. 모든 이벤트를 저장하기 때문에, 과거에서부터 어느 순간에서든 그 환경을 모델링 할 수 있고, 어느 시작점으로부터도 후에 그것을 프로세싱할 수 있다.
Modeling & Development Fig.2. Basic ontology for knowledge modeling
Creating Ontology & Agent Model Modeling & Development Creating Ontology & Agent Model The Environment Model Modeling a resource element extended by new types of resources (documents, contacts, goods or services). Modeling a domain element extended by all application/domain specific concepts. Modeling resources considered as results of actors’ goals. The Agent or Actor Model Modeling actors’ context: current environment. Modeling actors’ resources: the results of goals. Definitions of algorithms for updating the actor context and resources. The Task Model Modeling tasks, activities, processes and actions relevant to actors. Relations between tasks and some resources or domain entities are needed for defining algorithms for updating the actor context and resources. 에이전트 모델과 온톨로지를 만들기 위한 method 모델링해야 할 것?? The Organizational or the Environment Model actor와 어플리케이션의 환경을 모델링 리소스는 새로운 타입으로 확장 (documents, contacts, goods, services) 도메인은 가능하다면 리소스를 포함한 모든 도메인/어플리케이션 종속적인 개념으로 확장 문제상황 도메인 즉, actor의 의사결정, 작업수행을 위해 사용되는 개념 actor의 목표(goal)에 대한 결과인 리소스또한 모델링 된다. (found documents, sold goods) The Aengt or Actor Model task와 action을 수행하는 actor를 모델링, 시스템에 의해서 모니터되는 액션을 수행하는 사람, 에이전트, 혹은 다른 개체를 모델링 액터모델의 중요한 부분은 actor의 context이다. 이는 성취된 골의 결과인 actor의 리소스와 actor의 현재 환경을 정의한다. 때문에 actor모델은 actor의 context(fC), resource(fR) 갱신하는 함수 혹은 알고리즘을 포함한다. The Task Model actor와 관련된 tasks, activities, processes, action을 모델링 task의 중요한 부분은 domain이다. 이는 종종 다른 리소스나 다른 도메인 엔티티와 관련되어 있고, 우리는 리소스와 컨텍스트의 갱신하는 함수를 정의하기위해 이 관계를 알아야한다.
Pellucid Example Model Extension Modeling & Development Fig.3. Main Domain Concepts of SADESI Ontology
Creating Ontology & Agent Model Modeling & Development Creating Ontology & Agent Model Iterative refining to include all needed elements in the model Combination of actions, resources and actors should be captured as events. All possible events should be created from defined ontology elements. The outcome of models is the KM model consisting of: Ontology developed in Protégé in the OWL format. Algorithms for each agent updating actors’ context fC and resources fR.
AgentOWL Library Fig.3. Agent library functionality diagram
Design of AgentOWL Library Missing Components: Agent Knowledge Model based on RDF/OWL Action-resource pair (bases of events) as basics for communication included in OWL ontology model Sending ACL based RDF/OWL message Receiving ACL based RDF/OWL message Including received information (events) into a model XML-RPC receiving messages XML-RPC returning RDF/OWL and plain XML Inference Engine SPARQL messages handling AgentOWL library - JADE agent system, jena semantic web library기반, JADE와 같은 현재의 시스템에서 제공하지 않는 아래와 같은 기능 제공 JADE 에이전트가 RDF/OWL Jena 모델을 사용하도록 하는 라이브러리로 에이전트 메모리와 내부 에이전트 communication을 위해 사용
Classes of AgentOWL Library Fig.4. Library classes with main properties and methods, UML class diagram
Classes of AgentOWL Library The class Ontology Basic constants related to OWL ontology and the used ontology The class Memory The functionality to load, store and manipulate the agent memory based on RDF/OWL model (Jena library) Loading an OWL file which becomes an ontology model of an agent memory. Storing in a DB or OWL file. The class Message Creating ACL messages. Transforming models to the RDF or XML strings. The class Ontology - 사용된 온톨로지와 OWL 온톨로지와 관련된 기본 상수 The class Memory - 에이전트 메모리의 load, store, manipulation 메모리는 프로티지에서 구축된 OWL파일을 로드할 수 있다. 이는 에이전트 메모리의 온톨로지 모델이 된다. 메모리는 MySQL과 같은 Jena에서 제공되는 RDBS에 저장되거나, OWL 파일에 저장될수 있다. DB 모델을 사용할 때, 에이전트는 노드 사이를 이동하며 자신의 메모리를 옮길 필요가 없다. 모바일 에이전트가 요구되는 경우, 단지 메모리로부터의 연결을 끊고, 실행이 다른 노드에서 시작된 후에 다시 연결하면 된다. The class Message - ACL 메시지를 생성하고, 모델을 RDF나 XML 스트링으로 변환하는 static method를 포함한다. XML-RPC 서버와 랩핑되었을 경우 XML-RPC communication을 위해 사용되기도 한다. JADE 시스템은 에이전트 메모리로서 Jena OWL을 제공하기 위해, 이 라이브러리를 사용하여 개발될 수 있고, 나아가 외부 시스템으로부터 RDF 메시지로 표현된 이벤트를 받거나 지식을 표현하기 위한 XML_RPC 기반 기능을 포함하는 것이 가능하다. 또한 FIPA-ACL content 언어로 RDF/OWL 기반의 에이전트간의 커뮤니케이션도 지원할 수 있다.
Specification of AgentOWL Library Agent library functionality JADE-based agent can be developed using this library to support Jena OWL model as the agent memory. It is possible to include the XML-RPC based functionalities for presenting knowledge or receiving events from external systems as RDF messages. It allows communication among agents based on RDF/OWL as FIPA-ACL contents language. The developed library is published on the JADE website as the third party S/W as a way to put together Jena RDF/OWL and JADE multi-agent system features. (http://jade.tilab.com/)
Demonstration Communication between AskAgent and AnswerAgent Ontology Fig.4. The agent model of the AnswerAgent. The AskAgent uses the same model with the only difference that it does not have any resource individuals. 다음과 같은 온톨로지를 갖는 두개의 에이전트 간의 의사소통을 데모로 구현 AskAgent는 books CDs computers의 리소스 타입을 갖고, individual은 갖지 않는다. AnswerAgent는 각 리소스 타입에 대한 individual을 갖는다.
Demonstration 사용자가 리소스 타입을 선택하고 AskAgent가 이를 탐색하도록 한다. 이 리소스 타입은 XML-RPC method call로 에이전트에게 전달된다. AskAgent의 behavior가 activate되고 SPARQL 쿼리를 생성하여 answerAgent에게 ACL QUERY 메시지를 넘긴다. AskAgent는 이 리소스에 해당하는 AnswerAgent가 자신의 메모리에 갖는 모든 것을 리턴하도록 요청한다. ACL QUERY를 받은 answerAgent는 자신의 메모리에서 SPARQL을 수행하고 그 결과를 ACL INFORM 메시지로 보낸다. 이는 요청된 리소스의 RDF description으로 구성된다. answerAgent는 자신의 메모리에 리소스가 askAgent에게 보내졌다는 이벤트를 생성, 이로서 환경에 대한 정보를 저장 AskAgent는 ACL INFORm메시지를 받았을때, 이 이벤트를 자신의 메모리에 저장 즉, 자신의 환경에 대한 정보, context를 자신의 메모리에 저장한다. AskAgent individual resource property에 리턴된 리소스에 대한 레퍼런스를 추가 사용자가 getXML을 호출하면 (AskAgent에서) XML형식으로 출력 요건 지금 AskAgent의 메모리에 저장되어 있음
Conclusion The paper describes how semantic web technologies can be applied in multi-agent systems: agent knowledge model by modeling agent environment, agent context and its results. Such model and agent architecture can be used in knowledge intensive application in discrete environment: in several R&D project, mainly in the Pellucid IST project (http://www.sadiel.es/Europa/pellucid/). The presented work will be further developed and extended to solve various problem in information search and the knowledge management application in organization environment. the Pellucid IST project A platform for organisationally mobile public employee