Semantic Web Communication Framework Towards Agent-based Software Engineering
全文
(2) 2. Agent interoperability over the agent platform The FIPA interaction protocol forms a suite of protocol standards. Making agents compliant with FIPA facilitates interoperability over different agent platforms. Jfipa concerns about transferring message to agents, rather than interacting with agents. Thus, it does not support the FIPA interaction protocol suite. Jade supports most of the FIPA protocols, but unfortunately, provides only a protocol framework. Restated, users must generate agents' behavior as a finite states machine (FSM), and implement the FSM handling methods. Cougaar does not support the FIPA standard, but instead performs inter-agent communication on a blackboard based on the “Replys” mechanism. In other words, the users must implement “Relay.source” and “Relay.target” interfaces to exchange messages. 3. Integrativity of agents and the Semantic Web Agents on the SemanticWeb act as coordinators between semantic web services. Integrating the Semantic Web with agents enables the agents to seamlessly coordinate semantic web services. Jfipa is a flexible framework for deploying agents to a new environment, but has no mechanism for integrating web services, and certainly not for semantic web services. Jade provides a web service integration gateway (WSIG) [7] to register web services. This gateway integrates agents with web services, but not with semantic web services. By contrast, Cougaar embeds Tomcat in its nodes (similar to agent platforms). A web service can be treated as a component of an agent. Thus, neither Jade nor Cougaar integrate agents with semantic web services.. 3.1: Transport Channel A transport channel encodes and transports coordination messages. Agents running in heterogeneous environments (such as disparate operating systems) can carry communication states from one end of this channel to the other. The transport channel has both a server and a client implementation. The server listens for incoming messages and the client dispatches outgoing messages. HTTP is used as the underlying transport protocol and XML as the encoding scheme. The Document Type Definition (DTD) of the coordination message is expressed as follows: <?xml version="1.0"?> <!--A Coordination-Message contains Communicative-Act, Initiator, Participant, Service and Proposition--> <!ELEMENT Coordination-Message (Communicative-Act, Initiator, Participant+, Action?, Proposition*)> <!ELEMENT Communicative-Act (#PCDATA)> <!ELEMENT Initiator(#PCDATA)> <!ELEMENT Participant (#PCDATA)> <!-- An Action contains Service and Parameters --> <!ELEMENT Action (Service, Parameters)> <!ELEMENT Service (#PCDATA)> <!-- Parameters contain Input and Output --> <!ELEMENT Parameters (Input*,Output*)> <!ELEMENT Input (#PCDATA)> <!ELEMENT Output (#PCDATA)> <!ATTLIST Input type CDATA #REQUIRED> <!ATTLIST Output type CDATA #REQUIRED>. 3: ARCHITECTURE Fig. 2 shows that this framework contains six components: 1) transport channel (that communicates with external transport channel), 2) reasoner, 3) agent mental model, 4) interaction protocol ontology, 5) OWL-S service resolver (which reads an OWL-S description), and 6) domain knowledge. Each is described in details next.. Fig. 2: Architecture of the framework. <!-- A Proposition contain subject, predicate and object--> <!ELEMENT Proposition (subject, predicate, object)> <!ELEMENT subject (#PCDATA)> <!ELEMENT predicate (#PCDATA)> <!ELEMENT object (#PCDATA)>. 3.2: Reasoner A reasoner, such as RACER [10], is compatible with description logics implementation group (DIG) [11] interface. It contains interaction protocol ontology and agent mental model, which form the knowledge base of this framework. In driving the interaction between agents, a reasoner accepts 1) a “tells” operator, which contains the communication states to update the knowledge base, and 2) an “asks” operator, which contains formal semantics [13] to query the knowledge base. Below is an example about “tells” operator. An agent receives the communication states about someone who wants to coordinate a book buying service. The “tells” operator is expressed as follows: <tells uri="urn:protocol" xmlns="http://dl.kr.org/dig/2003/02/lang" > <related>. - 415 -.
(3) <individual name="urn:protocol#Mary"/> <ratom name="urn:protocol#coordinates"/> <individual name="urn:protocol#BookBuyingService"/> </related> </tells>. In this example, a “tells” operator updates the knowledge base about “Mary coordinates the book buying service". Next is an example about “asks” operator. John requests Mary to perform a book buying service. A part of formal semantics of a request communicative act is: “BJohn Agent (Mary, BookBuyingService)” that means John believes Mary is the agent that has performed the book buying service before. In order to meet the formal semantic, agent John uses an “asks” operator to query the knowledge base to confirm whether he believes Mary has done so. The “asks” operator is expressed as follows:. <believe rdf:resource="#b1"> </Agent> </rdf:RDF>. In this example, agent John believes b1, which states that “Mary coordinates Book Buying Service”. Restated, John believes that Mary coordinates the book buying service.. 3.4: Interaction Protocol Ontology The core of this framework is the OWL-based interaction protocol ontology (Fig. 3), which supplies a set of markup language constructs to describe the properties of inter-agent communication in an unambiguous, computer-interpretable form. The interaction protocol ontology has three important classes, namely agent, communicative act and protocol.. <asks uri="http://dl.kr.org/dig/kb-51610" xmlns="http://dl.kr.org/dig/2003/02/lang" > <toldValues id="q1"> <individual name="urn:beliefbase#b1"/> <attribute name="urn:beliefbase#belief"/> </toldValues> </asks>. In this example, an “asks” operator queries the knowledge base to make sure if John believes b1 (Mary coordinates a book buying service). Fig. 3: Interaction protocol ontology. 3.3: Agent Mental Model An agent mental model defines the modality of belief [13], which denotes an agent's propositional attitude, for driving the communication. To preserve the communication states just mentioned, the initial communication states originating in the agent's belief base [14] are loaded into the mental model during framework initialization. The inferred states are immediately sent to the outside environment whenever new communication states are added to, or removed from, the mental model. For example, an agent's mental model preserves a communication state expressed as the following web ontology language (OWL) code: <rdf:RDF <!--b1 states that Mary coordinates Book Buying Service--> <Proposition rdf:ID="b1"> <subject>Mary</subject> <predicate>coordinates</predicate> <object>BookBuyingService</object> <belief>true</belief> </Proposition> <!--agent John believes b1--> <Agent rdf:ID="John">. The agent describes: 1. The entities involved in coordinating semantic web services. 2. The service that enables agents to coordinate, specified by the property “coordinates”. Notably, the service is equivalent to the service in OWL-S. 3. The type of intention that the agent wishes to accomplish, specified by the property “hasIntention”. The intention may be to perform action, handle error, pass information, request information or negotiate agreement. For example, an agent involved in coordinating a web service is expressed as follows: <!--a Book Buying Service--> <Service rdf:ID="BookBuyingService"/> <!--Agent John intents to perform coordinating Book Buying Service--> <Agent rdf:ID="John"> <coordinates rdf:resource="#BookBuyingService"/> <hasIntention rdf:resource="#PerformAction"/> </Agent>. - 416 -.
(4) In this example, agent John has the intention to perform the action of coordinating the book buying service.. <from rdf:resource="#Mary"/> <to rdf:resource="#John"/> </Failure>. The communicative act describes: 1. The sender and receiver(s), specified by the properties “from” and “to”. 2. The next communicative act, specified by property “next”. 3. The communicative acts denoting performative utterance that can be derived. These acts may include, among others, “accept”, “inform”, “failure”, “request” and “refuse”. FIPA proposes 22 fundamental communicative acts [12] in agent communication. For example, Fig. 4 shows a FIPA request interaction protocol consisting of three possible interaction sequences: (1) request-accept-inform, (2) requestaccept-failure and (3) request-refuse. Notably, the abnormal act “NotUnderstood” is omitted.. <!-- request-refuse -->. Fig. 4: The FIPA request interaction protocol and three possible interaction sequences The sequences are expressed as follows: <Initiator rdf:ID="John"/> <Participant rdf:ID="Mary"/>. <!-- request-accept-inform --> <Request rdf:ID="request"> <from rdf:resource="#John"/> <to rdf:resource="#Mary"/> <next rdf:resource="#agree"/> </Request> <Agree rdf:ID="agree"> <from rdf:resource="#Mary"/> <to rdf:resource="#John"/> <next rdf:resource="#inform"/> </Agree> <Inform rdf:ID="inform"> <from rdf:resource="#Mary"/> <to rdf:resource="#John"/> </Inform>. <!-- request-accept-failure --> <Request rdf:ID="request"> <from rdf:resource="#John"/> <to rdf:resource="#Mary"/> <next rdf:resource="#agree"/> </Request> <Agree rdf:ID="agree"> <from rdf:resource="#Mary"/> <to rdf:resource="#John"/> <next rdf:resource="#failure"/> </Agree> <Failure rdf:ID="failure">. <Request rdf:ID="request"> <from rdf:resource="#John"/> <to rdf:resource="#Mary"/> <next rdf:resource="#refuse"/> </Request> <Refuse rdf:ID="refuse"> <from rdf:resource="#Mary"/> <to rdf:resource="#John"/> </Refuse>. In this example, the “request” communicative act is sent from initiator “John” to participant “Mary”, while the rest of the acts are sent in the opposite direction. The protocol describes: 1. The participants in the interaction, given in the two properties “hasInitator” and “hasParticipant”. The “hasInitiator” indicates a special participant who initiates the interaction. 2. The protocol adopted by the agent, described by the “protocolName” property. 3. The communicative acts specified by the “constructedBy” property, which construct the interaction protocol. For example, an interaction protocol is expressed as follows: <Protocol rdf:ID="protocol"> <protocolName rdf:datatype="&xsd;#string" >request</protocolName> <hasInitiator rdf:resource="#John"/> <hasParticipant rdf:resource="#Mary"/> <constructedBy rdf:resource="#request"/> <constructedBy rdf:resource="#agree"/> <constructedBy rdf:resource="#refuse"/> <constructedBy rdf:resource="#inform"/> <constructedBy rdf:resource="#failure"/> </Protocol>. In this example, an interaction protocol named “request” is constructed by “request”, “agree”, “refuse”, “inform”, and “failure” communicative acts, and includes initiator John and participant Mary. The framework can be easily extended to accommodate other FIPA interaction protocols, simply by instantiating the interaction sequences and interaction protocol from the interaction protocol ontology (Fig. 3) as described above.. 3.5: OWL-S Service Resolver OWL-S service resolver extracts the service interface as an action of the coordination message (see Document Type Definition in section 3.1). An OWL-S description contains properties, namely serviceName, hasInput, hasOutput, hasPrecondition and hasResult [5], to present a service interface.. - 417 -.
(5) Figure 5 illustrates an OWL-S description, book buying service. This service has the “hasOutput” property, which specifies order status, and the “hasInput” properties to specify the book's title and the price.. Fig.5: Book Buying Service In this example, the action of coordination message is expressed as follows: <Action> <Service>bookbuyingservice</Service> <Parameters> <Input type="http://www.swcf.org/bookbuying#Title" >Different Seasons</Input> <Input type="http://www.swcf.org/bookbuying#Price" >$9</Input> <Output type="http://www.swcf.org/bookbuying#OrderStatus"/> </Parameters> </Action>. 3.6: Domain Knowledge Domain knowledge generally represents the particular meanings of terms that domain experts apply to a specific domain. This work defines domain knowledge as the type and the parameters of the services. Additionally, a service interface can be validated by domain knowledge when agents orchestrate a web service scenario. Figure 6 illustrates the domain knowledge of a book buying service. According to the scenario in Fig. 5, the “service” sells “books”, and each book has “title”, “price” and order status “hasOrdered”. Additionally, the service has “members”, some of whom belong to the “VIP” group.. believes (a book) Different Seasons has a price of $9” in its mental model, while Mary's agent believes “Mary believes Different Seasons has a price of $6”. This example demonstrates that agents exploit the coordinative communication of this framework to buy a book “Different Seasons” for $6 in the book buying service. With a limited budget of $6, John delegates his agent to buy “Different Seasons”. The agent inspects its mental model and knows that he cannot perform this task, since this violates its belief that “Different Seasons has a price of $9”. The agent asks the reasoner, “who is the participant of book buying service coordination?”, and the reasoner responds, “Mary is the participant of book buying service coordination.” The agent then adds this proposition to its mental model as a belief. The agent again asks the reasoner which communicative act to apply to express its performative utterance. The reasoner replies, “Request”. The coordination message for the above is: <Coordination-Message> <Communicative-Act>Request</Communicative-Act> <Initiator>John</Initiator> <Participant>Mary</Participant> <Action> <Service>bookbuyingservice</Service> <Parameters> <Input type="http://www.swcf.org/bookbuying#Title" >Different Seasons</Input> <Input type="http://www.swcf.org/bookbuying#Price" >$9</Input> <Output type="http://www.swcf.org/bookbuying#OrderStatus"/> </Parameters> </Action> </Coordination-Message>. The transport channel then transfers this coordination message to Mary's agent, which receives the message and asks the reasoner, “Is John a participant of coordination?” The reasoner replies, “John is the participant of book buying service coordination.” Then, Mary's agent adds this proposition to its mental model as a belief, and asks the reasoner which communicative act to apply. The reasoner replies with “Agree” and “Refuse”. Mary's agent inspects its mental model to determine which communicative act to choose. Because it has a belief that “Different Seasons has a price of $6”, it believes Mary can help John with this task, and therefore chooses “Agree”. The coordination message for the above is:. Fig. 6: Domain knowledge. 4: AN EXAMPLE John and Mary are customers of the Elite bookstore. She is a VIP member of the bookstore, while he is not. Both have agents to assist them with buying books in the bookstore (Fig. 5). The VIP members enjoy lower prices than others. Thus, John's agent holds a belief that “John. <Coordination-Message> <Communicative-Act>Agree</Communicative-Act> <Initiator>John</Initiator> <Participant>Mary</Participant> <Action> <Service>bookbuyingservice</Service> <Parameters> <Input type="http://www.swcf.org/bookbuying#Title" >Different Seasons</Input>. - 418 -.
(6) <Input type="http://www.swcf.org/bookbuying#Price" >$9</Input> <Output type="http://www.swcf.org/bookbuying#OrderStatus"/> </Parameters> </Action>. scenarios of semantic web services. Consequently, this framework coordinates semantic web services in a standardized manner.. <Proposition> <subject>Different Seasons</subject> <predicate>http://www.swcf.org/bookbuying#hasPrice</p redicate> <object>$6</object> </Proposition> </Coordination-Message>. The transport channel then transfers this message to John's agent, which learns that the condition of the agreement (“Different Seasons has a price of $6”) meets John's budget. Meanwhile, Mary's agent performs John's request of invoking book buying service to order a book “Different Seasons” for $6, and the book buying service replies the message “Different Seasons has ordered” to Mary's agent, which adds it to the mental model as a belief. After performing this service, Mary's agent asks the reasoner which communicative act to apply. The reasoner replies with “Inform” and “Failure”. Mary's agent inspects its mental model and believes that “Different Seasons has been ordered”, and thus chooses “Inform”. The coordination message for the above is: <Coordination-Message> <Communicative-Act>Inform</Communicative-Act> <Initiator>John</Initiator> <Participant>Mary</Participant> <Proposition> <subject>Different Seasons</subject> <predicate>http://www.swcf.org/bookbuying#hasOrdere d</predicate> <object>true</object> </Proposition> </Coordination-Message>. Then, the transport channel transfers the message to John's agent, and the coordinative communication is completed.. 5: CONCLUSIONS This framework facilitates inter-agent communication and web service coordination over the Semantic Web. It has the following advantages: 1.. 2.. All components of the framework are specified in web ontology language (OWL), a recommended standard for the Semantic Web. Therefore, this framework serves as a semantic web infrastructure, facilitating inter-agent communication over the Semantic Web. By conforming to the same FIPA interaction protocols, agents in this framework serve as articulated communicators to orchestrate. Hence, this framework is envisioned to realize automated web service discovery and composition over the Semantic Web in the near future.. ACKNOWLEDGEMENTS The authors would like to thank the National Science Council in Taiwan under Grant NSC94-2213-E-008-029, Department of Industrial Technology, Ministry of Economic Affairs in Taiwan, under Grant 95-EC-17-A-02-S1-029 and the Ministry of Education in Taiwan under Grant EX91-E-FA06-4-4.. REFERENCES [1]. D. Martin et al., OWL-S: Semantic markup for web services, DARPA, 2004, available at http://www.daml.org/services/owl-s/1.1/overview/ [2] J. Hendler, Agents and the Semantic Web, IEEE Intelligent Systems, vol. 16, no. 2, Mar. /Apr. 2001, pp. 30-37. [3] Tim Berners-Lee, James Hendler and Ora Lassila, The Semantic Web, Scientific American, May 2001. [4] Ethan Cerami, Web Services Essentials, O'Reilly Press, Feb. 2002, pp. 102-133. [5] S. McIlraith, T.C. Son, and H. Zeng, Semantic Web Services, IEEE Intelligent Systems Special Issue on the Semantic Web, March/April, 2001, pp. 46-53. [6] Amund Tveit, jfipa- An Architecture for Agent-based Grid Computing, In Proceedings of AISB'02 Convention, Symposium on AI and Grid Computing, London, United Kingdom, Apr. 2002. [7] D. Greenwood, J. Nagy, M. Calisti, Semantic Enhancement of a Web Service Integration Gateway, Service Oriented Computing and Agent Based Engineering (SOCABE) Workshop, Netherlands, 2005. [8] Aaron Helsinger, Michael Thome and Todd Wright, Cougaar: A Scalable, Distributed Multi-Agent Architecture, Systems, Man and Cybernetics, 2004 IEEE International Conference on Volume 2, Oct. 2004, pp. 10-13. [9] G. Antoniou and F. van Harmelen, A Semantic Web Primer, The MIT Press, 2004, pp.10-12. [10] M. Wessel and R. Möller, A High Performance Semantic Web Query Answering Engine, Proc. of International Workshop on Description Logics, 2005. [11] S. Bechhofer, R. Möller, and P. Crowther, The DIG Description Logic Interface, In Proc. of International Workshop on Description Logics (DL2003), Rome, Italy, 2003. [12] Foundation for Intelligent Physical Agents, FIPA Communicative Act Library Specification, Dec. 2002. [13] H. Dekker, Possible Worlds, Belief, and Modal. Logic: a Tutorial, Oct. 2004. [14] Chang-Hyun Jo, Guobin Chen and James Choi, A. - 419 -. new approach to the BDI agent-based modeling, Proceedings of the ACM symposium on Applied computing, Mar. 2004, pp. 1541-1545..
(7)
數據
相關文件
[This function is named after the electrical engineer Oliver Heaviside (1850–1925) and can be used to describe an electric current that is switched on at time t = 0.] Its graph
Students will practice reading texts to through choral reading, TPS-think/pair/share, student/teacher cooperative groups, and round-robin reading to explore and
Students will practice reading texts to through choral reading, TPS-think/pair/share, student/teacher cooperative groups, and round-robin reading to explore and
A network technician reports that he receives a “Request timed out” error message when he attempts to use the ping utility to connect to Server1 from his client computer.. The
Promote project learning, mathematical modeling, and problem-based learning to strengthen the ability to integrate and apply knowledge and skills, and make. calculated
2.8 The principles for short-term change are building on the strengths of teachers and schools to develop incremental change, and enhancing interactive collaboration to
The booklet is divided into four chapters, which cover the spirit and governance framework of school-based management, scope of school- based management, roles
Courtesy: Ned Wright’s Cosmology Page Burles, Nolette & Turner, 1999?. Total Mass Density