Description
Study on Modelling Interaction Protocols Through Semantic Web Technologies:- A protocol is a rule which how an activity should be performed, especially in the field of diplomacy. In diplomatic services and governmental fields of endeavor protocols are often unwritten guidelines.
Study on Modelling Interaction Protocols Through Semantic Web Technologies
work done in distributed systems and do not consider features such as the agent autonomy. Agent Interaction Protocol designers are now considering specific modeling techniques that contain these features. [45] A protocol can be computationally interpreted from a statechart, an AUML (agent unified modeling language) diagram or an ANML (Agent Negotiation Meta- language) theory, Logic and calculus. Some of these languages are either not expressive or too formal and also hard to understand. We are proposing to use Semantic Web to model Interaction Protocol. The main objectives of this paper is to analyze how the Semantic Web and which Semantic Web Languages can be used to model Agent Interaction Protocols. This paper is closely associated with areas of agent, agent communication languages (ACL) and agent interaction protocols (AIP's) and The Semantic Web. It is important to have some basic theoretical understanding of what these areas are about. Therefore, related work is a brief introduction on each of these areas. The main objectives of this paper are: ent Interaction Protocol with chosen Semantic Web Technologies framework quickly became one of the most successful applications of electronic commerce. EBay, the premier consumer-toconsumer (C2C) Internet auction site, is generally held up as an exemplar for the industry. However, it is widely predicted that the potential transaction volume in business-to-business (B2B) auctions will be much greater than in the C2C channel. [34] Interaction Protocols are patterns of behavior that agents have to follow to engage in a communicative interaction with other agents within a multi-agent system (MAS). The specification of interaction protocols is crucial for the development of MAS: the advent of Internet makes it urgent to develop general, application-independent methods for the definition of interaction protocols, to be used as components of open, dynamic, heterogeneous, and distributed interaction frameworks for artificial agents. [34] Several modeling techniques exist that represent agent interaction protocols. These techniques are based primarily on
S.R.S Author, Jr., was with Brunel University,UB8 3PH UK. (E-mail: [email protected]).
Abstract—Interaction Protocols are patterns of behavior that agents have to follow to engage in a communicative interaction with other agents within a multi-agent system (MAS). The specification of interaction protocols is crucial for the development of MAS: the advent of Internet makes it urgent to develop general, applicationindependent methods for the definition of interaction protocols, to be used as components of open, dynamic, heterogeneous, and distributed interaction frameworks for artificial agents Several modeling techniques exist that represent agent interaction protocols. These techniques are based primarily on work done in distributed systems and do not consider features such as the agent autonomy. Agent Interaction Protocol designers are now considering specific modeling techniques that contain these features. A protocol can be computationally interpreted from a state-chart, an AUML (agent unified modeling language) diagram or an ANML (Agent Negotiation Meta- language) theory, Logic and calculus. Some of these languages are either not expressive or too formal and also hard to understand. We are proposing to use Semantic Web to model Interaction Protocol. Keywords— Auction, Agent, Semantic Web, Negotiation Protocol, Ontology I. INTRODUCTION
I
nternet auctions appeared on the scene in the mid 1990s, and
protocols A. The Problem The problems, we have in this paper are listed as below: AUML and statechart are graphical representation Cluttered AUML diagrams are easy to misinterpret and a large amount of time and effort is required for developing and understanding reasonable interaction protocols in AUML.A major drawback of AUML is the inability to bind roles, cardinalities, access agent identities or interacting as in a forum.[54] AUML needs Class template definition, BDI formalization and to show how to put together Agent Classes and Object Classes. Also AUML has lacks of formalized meta-model to precise agent abstractions considered and its relationships and needs formal proofs to guarantee the consistency between AUML
and UML. [98] Because the specification is not consolidated, there is no tool that supports all AUML notations, but only Interaction Diagrams. Designers working with it use tools such as Dia, Xfig, or Visio, but they can't check diagram consistency with these tools. This makes it easy to misuse the specification. [97] Statecharts do not portray the agents that are involved in exchanging messages and states that become valid do not contain information about which agent triggered the state.[54] Reasoning / verification of properties are vague. It is difficult to understand the reasoning and the rules Logic (first order, calculus) Logics are hard to understand. Many users don't like to use logics. That's why most of them prefer to show the rules in graphical format. We are looking semantic web. Include it with other accessories such as XML,RDF,OWL which are
An agent is a computational process that implements the autonomous, communicating functionality of an application. Agents communicate using an Agent Communication Language (ACL). An Agent is the fundamental actor on an Agent Platform (AP provides the physical infrastructure in which agents can be deployed and consists of the machine(s), operating system, agent support software and so on) which combines one or more service capabilities, as published in a service description, into a unified and integrated execution model. An agent must have at least one owner, for example, based on organizational affiliation or human user ownership, and an agent must support at least one notion of identity. This notion of identity is the Agent Identifier (AID) that labels an agent so that it may be distinguished unambiguously within the Agent Universe. An agent may be registered at a number of transport addresses at which it can be contacted. [15]
B. Contribution of proposed work As mentioned in this proposal, we analyze how Semantic Web and which Semantic Web Languages use to model Agent Interaction Protocols. The contributions are as follows: Interaction Protocols Ontologies. Interaction Protocols through Ontologies. communication. Auctions are a popular form of online trading. Ontology for auctions allowing verifying their properties may prevent fraudulent behaviors and ensure that all participants adhere to the agreement, thus maintaining some sort of stability in the market. II. LITERATURE REVIEW A. Agent Technologies and Standards Agent research is one of the fastest growing fields in Information Technology. An agent can briefly be described as a processing entity which, when situated in an environment, senses the environment and acts autonomously upon it. It can use stored knowledge to act without the intervention of its owner in a dynamic environment, responding to changes in the environment, interacting with other agents and taking initiative where appropriate. The dynamic nature of agent distribution motivates research by groups working on the standardization of dynamic collaborative multi-agent systems. Some of these groups are the Foundation for Intelligent Physical Agents (FIPA), the Object Management Group (OMG), the Knowledge-able Agentoriented System (KAOS), and the General Magic group. [48] Figure 1: Generic Architecture of Agent [33] Agents mirror the autonomy and heterogeneity of real-world businesses and support rich interaction models. The key idea is to capture meaningful interactions as protocols. [36] A key aspect in real or automated negotiation is the rich, often implicit, interaction between (human or agent) parties, using languages and protocols. Languages for communicating agents promise to play the role that natural languages played for their human counterparts. [60] Setting up a negotiation involves deciding on a common language, ontology and choosing a common protocol. A common language establishes acts for communication that are known by all participants. A common ontology ensures messages have the same meaning for all of the agents in that context. In real life, people communicate verbally with a common language and share a common ontology to avoid misunderstandings. The same requirements apply to interaction in multi-agent systems where agent communication languages (ACL) may be used, but deciding on a common ontology is a major problem in its own. [22] An agent communication language that allows agents to interact while hiding the details of their internal workings will result in agent communities that tackle problems no individual agent could. [60] An agent defines as being both autonomous and flexible in some environment. Agent sense and act over a possibly dynamic environment using their own initiative. Examples of environments in which agents may be situated include the physical world, a user, a society of agents or the Internet. In addition to autonomy, agents need to respond in time to change, that is being responsive. The four basic attributes of an
agent according to are autonomy, responsiveness, proactiveness and social awareness. Proactiveness means anticipating events and taking initiative where appropriate. Social agents are able to interact with other agents via an agent communication language to complete their goals or to help others with their activities. The autonomy and proactivenss capabilities of agents render them more suitable for problem solving and strategic decision making in complex business domains. [62] B. Defining Software Agent A "software agent" is a computer program that is capable of autonomous (or at least semi-autonomous) actions in pursuit of a specific goal. The autonomy characteristic of a software agent distinguishes it from general software programs. Autonomy in agents implies that the software agent has the ability to perform its tasks without direct control, or at least with minimum supervision, in which case it will be a semi- autonomous software agent. Software agents can be grouped, according to specific characteristics, into different software agent classes. Literature does not agree on the different types or classes of software agents. [46] For example, Krupansky [2003] distinguishes between ten different types of software agents,[26] software agents are commonly classified according to a set of characteristics, different classes of software agents often overlap, implying that a software agent might belong to more than one class at a time. According to Woolridge [2001] intelligence implies the inclusion of at least three distinct properties, namely reactivity, pro-activeness and social ability. Reactivity refers to the agent's ability to perceive its environment and respond timorously to changes that occur in order to achieve its design goals. Pro-activeness is the agent's ability to take initiative in its environment in order to achieve its design goals. Social ability alludes to the collaborative nature of the agent. There are different definitions to define the collaborative nature of software agents. C.Characteristics of agent Agent sense and act over a possibly dynamic environment using their own initiative. Examples of environments in which agents may be situated include the physical world, a user, a society of agents or the Internet. In addition to autonomy, agents need to respond in time to changes that are being responsive. The four basic attributes of an agent according to are autonomy, responsiveness, pro-activeness and social awareness. Proactiveness means anticipating events and taking initiative where appropriate. Social agents are able to interact with other agents via an agent communication language to complete their goals or to help others with their activities. The autonomy and proactiveness capabilities of agents render them more suitable for problem solving and strategic decision making in complex business domains. [65] D.Agent Interaction Nwana, H.S notes that, interaction is one of the most important features of an agent [37]. In other words, agents
recurrently interact to share information and to perform tasks to achieve their goals. Researchers investigating agent communication languages mention, one of the key element in achieving multi-agent interaction is via having a common agent communication language and protocol [48] E. Agent Standards Nowadays, the most interesting standardization efforts in the multi-agent area are undertaken by the Foundation for Intelligent Physical Agents (FIPA) [85]. FIPA is an international organization dedicated to promoting the industry of intelligent agents by openly developing specifications supporting interoperability among agents and agent-based applications. FIPA specifications cover: delivery and representation of messages across different network transport protocols. FIPA agents exist and operate. Establishes the logical reference model for the creation, registration, location, communication, migration and retirement of agents. Communication Language), along with libraries of predefined communicative act types, interaction protocols and content languages. descriptions and case scenarios for agent-based applications. [85] Although FIPA uses AUML to represent its standard interaction protocols, many other projects utilize coloured Petri nets (CPNs) [86], because their formal properties facilitate the modeling of concurrent conversations in an integrated fashion. F. Agent Communication Language Having a standardized communication language removes the need for agents to design a common language for interaction but there have been some criticisms about the lack of formalization and ambiguous nature of existing agent communication languages. [27] Labrou, Y. [2001] identifies that "Agent communication languages" (ACLs) are typically designed by either a procedural or declarative approach [17]. As such it is probable that more than one agent communication language, (ACL), will emerge. Among the number of agent communication languages proposed in the last decade, FIPA- ACL (by the Foundation for Intelligent Physical Agents, a standardization consortium) KQML (Knowledge Query and Manipulation Language), are the most prevalent and commonly used. [32] In the procedural approach agents exchange procedural directives; a message defines the appropriate response from the recipient. Behavior based approaches extend this to larger sections of conversation, identifying certain patterns of communication (auction,
contract-net, negotiation) that arise in many situations and designing protocols for them. [16] An ontology is a representation of some part of the world. It provides a shared concept of the world that can serve as the basis for communication and helps to build an understanding of the content in a message. Knowledge Query and Manipulation Language (KQML) is a language that is designed to support interactions among intelligent software agents. It was developed by the ARPA supported Knowledge Sharing Effort [47] and separately implemented by several research groups. It has been successfully used to implement a variety of information systems using different software architectures. [57] KQML was one of the first initiatives to specify how to support social interaction characteristic of agents using a protocol based on speech acts. However, it is not a true de facto standard in the sense that there is no consensus on a single specification or set of specifications that has been ratified by common agreement within an organization or forum. As a result, variations of KQML exist such as KQML classic, KQML '93 and KQML-Lite, leading to different agent systems that speak different dialects and that are not able to interoperate fully. [9] Finin and et.al agree that KQML is a new language and protocol for exchanging information and knowledge. KQML is both a message format and a message-handling protocol to support run-time knowledge sharing among agents. KQML focuses on an extensible set of perforrnatives, which defines the permissible "speech acts" agents may use and comprise a substrate on which to develop higher-level models of interagent interaction such as contract nets and negotiation. KQML is used to communicate attitudes about information such as querying, stating, believing, requiring, achieving, subscribing and offering. A KQML message is called a performative in that the message is intended to perform some action by virtue of being sent. Each agent appears on the outside as if it manages a knowledge base (KB). Communication with an agent is with regard to its KB e.g. questions and statements about what a KB contains, requests to add or delete statements from the KB, or requests to use knowledge in the KB to route messages to other agents. Performatives are grouped in discourse, conversation, and networking and facilitation performatives. A message structure may optionally contain the message sender's name, a recipient's name, the content of the message (to express propositions, objects and actions), reply information, a content language and the ontology of the content. In each domain of KQML-compliant agents there is at least one agent with a special status called facilitator that can handle networking and facilitation performatives. Agents advertise to their facilitator, that is they send advertise messages to their facilitators to announce the messages that they are committed to accepting and processing. Network and facilitation performatives allow agents to find other agents that can process their queries as facilitators can advertise messages community-wide. The KQML specification has been under much criticism in that many of its performatives are redundant, ambiguous and overlap in their functions. A formalization of the KQML
specification appeared in a later version, [28], to give the semantics of the performatives and to clarify their functions. As a remedy to KQML, FIPA (Foundation for Intelligent Physical Agents), [14], has proposed two kinds of specification: agent and support interoperability with other FIPAspecified systems to industry on the use of FIPA technologies. The normative part contains specifications for agent management, agent communication language and agent/software integration. The FIPA Agent Communication Language (FIPA-ACL) is based on speech act theory, [52]. Messages are actions or communicative acts which can influence the actions of other agents. Every communicative act is described in both a narrative form and through formal semantics based on modal logic. The semantics are intended to give a deeper understanding of the meaning of the language and to be an unambiguous reference point. FIPA has also defined a number of protocols for patterns of conversations through an extension of UML called AUML, [3]. These range from simple requests for performing an action and querying, to setting up contracts and exchanging messages in auctions. Despite the semantics provided in the FIPA framework, communicative acts are still ambiguous and can lead to unexpected effects. Some researches, [59], deems communicative acts to be specific and internal to the agents in a group. There have been substantial efforts for standardizing FIPA ACL for communication, [44]. G. Agent Interaction Protocol(API) Fornara and et.al agree that Interaction Protocols are patterns of behavior that agents have to follow to engage in a communicative interaction with other agents within a multiagent system (MAS). [35] Agent Interaction Protocols (AIP's) are a pattern or a sequence of agent messages needed to achieve a meaningful result [45]. AIP's provide structure to agent interaction, and additional context information beyond that supplied by the ACL message. This context information at minimum includes shared expectations about the possible and required conversational moves between interacting agents. [58] A group of rational agents complies with an interaction protocol in order to engage in task-oriented sequences of message exchange. Thus, when an agent sends a message, it can expect a receiver's response to be among a set of messages indicated by the protocol and the interaction history. With a common interpretation of the protocol, each member of the group can also use the "rules" of the interaction in order to satisfy its own goals. In order to reach an implicit consensus about the possible states and actions in an interaction, it is necessary for the protocol itself to be correct (e.g. no contradictory states), unambiguous (e.g. possible actions are not vague), complete (e.g. no states are undefined) and verifiable (e.g. correctness properties can be verified). If a protocol does not exhibit these features, then with the
difference in the participants' private beliefs, experience, intuition or culture, the agents may perform contradictory and unexpected actions leading to the possible breakdown of the interaction, or the group, or encourage malicious behavior and cause discontent. The ability to express correct protocols depends in turn on the specification language or tool used to model the protocol. There are a number of requirements for a specification/implementation language or methodology for an interaction protocol. One of them is a formalization which lends itself to verification, validation and execution tools. [54] This thesis verifies interaction protocols proposed in statecharts and AUML, and Petri net [38], and show the inadequacy of these notations for specifying communication in multi-agent systems. For each verified protocol, its correct version is given in ANML. Modeling agent interaction can be done by using several means. The FIPA [85] uses the AUML agent interaction protocol diagrams [101] for modeling interactions between agents. These diagrams are an extension of the Unified Modeling Language (UML) sequence diagrams [100] but they are more powerful in their expressiveness. They can fold several sequences into one diagram by adding additional elements (AND, XOR and OR) to the usual sequence diagram. Thus they can describe a set of scenarios. Figure 2 shows the FIPA Request Protocol and a compliant Producer Consumer example. [99]
translated from extended statecharts to ANML and vice versa. ANML protocols facilitate verification, validation and other forms of reasoning including symbolic execution. They choose to extend statecharts for visual representation because they seem to exhibit the most adequate expressiveness, readability and intuitiveness for our purpose. To illustrate this point, Paurobally and et.al study the expressiveness of currently used notations like AUML and Petri nets. They compare diagrammatic notations such as AUML, Petri nets and statecharts [54] H. Agent Negotiation Meta-Language (ANML) ANML is a multi-modal propositional dynamic logic based meta-language for representing and reasoning about the states and processes of negotiation. New or existing protocols can be expressed and extended in ANML so as to use its verification capability. ANML addresses what can be standardized without the danger of semantics mismatch in language and ontology between different agents. [53] A meta-language called ANML is specified as an extension of propositional dynamic logic. The syntax and the semantics of ANML, including axioms and inference rules that hold in this normal modal system, are defined. Interaction protocols between agents can be concisely and completely specified in ANML allowing representation and reasoning about the states and processes of a negotiation. ANML can be used to construct and validate properties of interaction protocols. Existing communication languages such as KQML and FIPA ACL focused on performative or communicative acts and their semantics. In addition to standardized agent languages, shared protocols and conversations facilitate the interoperation of heterogeneous agents so that they can attain a common understanding among themselves. One way to show and develop agent interaction protocol is graphical methodologies such as AUML, Petri net, and statechart. I. Graphical methodologies of Agent Interaction Protocol Agent Unified Modeling Language (AUML)
Figure 2: Agent interaction protocol diagrams of the FIPA Request Protocol and a compliant Producer Consumer example [99] Paurobally and et.al [2003] identify in their paper, the bridges the gap between formal specification and intuitive development by: (1) proposing an extended form of propositional dynamic logic for expressing protocols completely, with clear semantics, that can be converted to a programming language for interaction protocols and developing extended state charts as a diagrammatic counterpart. In this paper, they propose an extended form of Propositional Dynamic Logic (PDL) for presenting interaction protocols. The extended form of PDL that they outline is called ANML. They identify that protocols can be
AUML, [39], is an extension of UML to express agent interaction protocols through UML sequence diagrams. AUML specifies an Interaction Protocol (IP) in the form of a UML sequence diagram with extensions. Agents belong to classes and are assigned roles. An IP (interaction protocol) diagram shows interactions between agents along a timeline. The Unified Modeling Language (UML) is gaining wide acceptance for the representation of engineering artifacts in object-oriented software. [7] The result is Agent UML (AUML) The UML has been proposed elsewhere as a tool for modeling agents [38], modeling agent behaviors' [21] and details of agent designs [42] and modeling Ontologies in specific domains [11].
By using standard UML diagramming techniques such as state charts, activity diagrams, and class diagrams the behavior of the agent can be documented. The UML provides three standard analysis classes that are used to specify in an abstract and general way the nature of a system. Typically these classes are abstractions of one or more classes that will be found in the system design. They result from, and are a part of a use case analysis and are one of the first steps in the transition between the analysis and design phases. These classes can be extended and applied to the modeling of the agent behavior. [10]
constraints on the concurrence, precedence, or frequency of these occurrences.[24] A net is a bipartite graph, consisting of two disjoint sets of nodes: places (circles) and transitions (bars or boxes) with arcs (which may be weighed) between a place and a transition and vice versa.[1]
Figure 4: Example of Petri Net [1] K. Statechart Statecharts are a graphical method to illustrate reactive behavior and are an extension of conventional finite-state machines and state transition diagrams. [54] The statechart notation possesses a number of advantages of interest for expressing protocols. Some of them are listed below: states with agents, identifying agents in statechart is relatively simple and does not require new timelines (as in AUML), partitions or new Petri nets. Thus the statechart does not suffer from the drastic rise in complexity and redundancy with increase in the number of agents identified, contrary to AUML and Petri nets. allowing an agent to refer and reason about the state of an interaction. express agent interaction protocols graphically by adding in ANML constructs. [54]
Figure 3: Modeling agent knowledge with standard UML analysis classes [10]
J. Petri net Petri nets, first described by Carl Adam Petri's dissertation in 1962,[49] Petri nets are a well-established formalism for modeling and verifying concurrent and reactive systems. A basic Petri net also called Place Transition (P/T) net. [6] A Petri net is an abstract, formal model of information flow. The properties, concepts, and techniques of Petri nets are being developed in a search for natural, simple, and powerful methods for describing and analyzing the flow of information and control in systems, particularly systems that may exhibit asynchronous and concurrent activities. The major use of Petri nets has been the modeling of systems of events in which it is possible for some events to occur concurrently but there are
Figure 5: Example of statechart [54] III. PROTOCOLS IN ANML A. Bilateral Negotiation Protocol A bilateral protocol defines a protocol of conversation between two parties looking for an agreement over a negotiation subject. The initial version of the bilateral
protocol studied here is expressed as a state transition diagram in. According to Figure 5, entry in a bilateral negotiation is through either an initial-request, initial-offer or initialpropose message leading to an open state and more precisely to a requested, offered or proposed state respectively. The process X.initial_request means that agent X sent an initial_request leading to a requested(X) state. The state requested(X) is read as agent X has triggered the state requested. Each state may be interpreted as conveying a level of commitment towards an agreement. For example an agreed state entails more commitment than a requested state. A reject action or timeout event can occur at any time. From a requested state, both agents can continuously make suggest actions to remain in that state while modifying the subject of negotiation until one of them wants to move to a higher level of commitment through an offer or propose. The proposed state is a sub-state of offered and both of these states allow an agreement to follow in the next action leading to an agreed state. The difference between offered and proposed is that from the former state, an agent can only agree or reject whereas from the proposed state, an agent may agree, reject or return to a requested state through a request.[95]
electronic procurement systems for all sorts of goods or the electronic auction markets. defined economic environment. They offer thus to economists a vast field for experimental research allowing to obtain empirical results that can be suitably validated. scientific results in economy, which have allowed developing new methods for pricing in competitive markets. Moreover, it has also helped to further understand complex negotiation mechanisms between vendors and buyers. Much different taxonomy of auctions may be given. Usually, auctions are classified according to the issues that they resolve. They can range from the familiar zero- dimensional auctions that determine only the price of the product, onedimensional auctions, that resolve price and quantity, to multidimensional generalizations that resolve multiple issues at once [90]. The later can be also characterized as multi-attribute, allowing specification of offers referring to multiple attributes of a single good [91]. In addition, combinatorial auctions are the ones that allow bidders to express offers for combinations of goods, aiming at an allocation that maximizes overall surplus. Wurman et al. in [92] recognize three core activities that are common to all auctions. The first two are requisite, while the third is usually performed, and all three may be interleaved and iterated depending upon the auction rules: indicate their willingness to participate in exchanges. In receiving a bid, the auction verifies that it satisfies the auction rules, and if so, admits it into the active set of bids. entral purpose of an auction is to clear the market, determining resource exchanges and corresponding payments between buyers and sellers. Clears can be triggered at scheduled times, at random times, by bidder activity or by bidder inactivity. ntermediate information: Auctions commonly supply agents with some form of intermediate status information, such as quotes. [92] a)Auction Types Auctions range vastly in types and parameters. The figure below shows the most common types of auctions:
Figure 6: Bilateral Negotiation statechart [94] B. On-line auctions McAfee and McMillan [87] define auctions as a market institution with an explicit set of rules determining resource allocation and prices on the basis of bids from the market participants. Auctions are considered a very efficient and effective method of allocating goods or services, in dynamic situations, to the entities that value them most highly [88] and many believe that their paradigm constitutes an important economic model. Indeed, Paul Klemperer gives three reasons why the theory of auctions is relevant to economists [89]: realized through auctions. Examples include the many auctions organized by governments, the enterprise wide
ii. First Price Sealed-bid auction In general, there is no dominant bidding strategy in this auction. Here, the price of the bid and the time to stop are functions of the agent's own valuation of the item and its beliefs about the valuation of other bidders. A good strategy is to bid less than the user's true valuation, but how much lessdepends on the user's attitude toward risk, the user's private valuation, as well as the prior beliefs about the valuations of other bidders. An analysis of such strategies can be found in. [83] ideally, sealed bid auction protocols should meet the following requirements: party honestly executes the protocol. Figure 7: classification of different types of auctions. i. English Auction The agent's dominant strategy (the best thing to do, irrespective of what the others do [81]) is to bid a small amount more than the current highest bid and stop when the user's valuation is reached. For example, in Yahoo auctions, "automatic bidding" allows buyers to input their maximum bid (i.e., valuation of the item) and an agent will bid incrementally when it is necessary to win the auction. [82] EAP is a "many protocol and is used when there is a scarcity or excess of resources. For example if resources are scarce, a service provider acts as the auctioneer and auctions access to its resources to many consumers and the consumer with the highest bid win the auction". [55] The advantages of the English protocol are: (a) the bidders have no motivation to manipulate and change bids according to their beliefs about other agents. (b) English auction is the best preferred protocol if the valuation problems of the agent are difficult [41], and finding the best possible multi-attribute bid can be a difficult problem. (c) Some variations of the English protocol allow the buyer's preferences regarding the required item to remain partially hidden. [13] can determine the winner and the winning price. Information about other bids is secret from all parties, except that the bid values are less than the winning price. winning price are known, but information about other bids is not obtainable. Non repudiation: No one can deny their bid. iii. Double Auction Auction protocols can be divided into two types, namely, onesided auction protocols in which a single seller (or buyer) accepts bids from multiple buyers (or sellers) and two-sided or double auction protocols in which multiple buyers and sellers are permitted to bid to exchange designated goods. Double auctions have caught the attention of many and have become an active research area in multi-agent systems. [61] Two main types of Double Auctions can be distinguished. In the Call (or Clearing House) Auctions, the auctions have a predefined time frame when the participants can submit their offers. In the Continuous Double Auctions (CDAs), the offers are submitted continuously, until a match between an ask and a bid is achieved, or until the auction is canceled.[30] iv. Vickrey Auction In a private value Vickrey auction, the dominant strategy is to bid the user's true valuation [82]. In this context, agents truthfully reveal their preference which allows efficient decisions to be made. [83] v. Dutch Auction In a Dutch auction, the auctioneer starts the auction at a high price and progressively lowers the price until either a participant bids or the auctioneer quits. An auctioneer usually has a reserve price and he withdraws from the auction if there are no bids at that limit. The item is sold to the first bidder. Dutch auctions are used to sell quantities of flowers in Holland. A Dutch auction protocol can avoid contention amongst buyers by accepting the first bid and disregarding other bids. [95]
Figure 8: State diagram for English Auction Protocol [95]
IV.AUCTION NEGOTIATION PROTOCOL According to Wieczorek and et.al, an auction is an economic mechanism to allocate resources among a group of bidders, and auction theory is currently a well developed economic theory which started to be put to work since the mid 90s.[30] Auctions are a popular type of negotiation. According to Rosenschein et al. in propose five attributes that are necessary for a 'good' negotiation mechanism: efficiency, stability, simplicity, distributive and symmetry. s often difficult, if not impossible to undertake without imposing severe restrictions such as independent private evaluations, risk neutrality, independent products to sell, etc. However, these restrictions are quite straightforward to implement in a multi-agent system. Indeed, the agents are often considered as rational entities seeking to maximize a well defined utility function based on precise rules. By imposing on architecture strict social relations between the different buyers, a simple auction model can be designed, which follows the simplifying restrictions. This will assure the efficiency of the proposed auction mechanism. forbid an agent to cancel or reconsider offers once they have been submitted. simple to implement. This is in fact one of their strength. Considering the number of messages to communicate, the only communications necessary are the offers and the responses of the vendor. fulfilled: while there are multiple independent buyers, the vendor or auctioneer is a central entity. However, in a more complex environment, i.e. a market, different buyers and vendors may negotiate. In such an environment there is no global central entity anymore. The vendors may either act independently or coordinate their activities. This allows for multiple simultaneous auctions. asily achieved by assuring that all participating agents have access in the same way to all information available to them. No agent will thus be privileged with regard to others. [67] According to the Esther David and et.al an auction is an efficient protocol for reaching agreements among agents. [13]
V. THE SEMANTIC WEB A. Introduction to semantic web Over the past decade, the Web has grown from what many perceived as an improved Gopher interface to become the new
medium of communication. It would have been hard to predict such a transition; the doubts that many researchers had about this outcome turned out to be misplaced. The Semantic Web is the outgrowth of many diverse desires and influences, all aimed at making better use of the Web as it stands. [8] The meaning behind the Semantic Web is a mesh of information linked up in such a way as to be easily process able by machines, on a global scale. It's an efficient way of representing data on the World Wide Web, or as a globally linked database. [51] On the other word, Semantic Web will enable automatic collection and correlation of various parts of information about an object, available at various different web resources. Semantic Web will save our valuable time we spend on navigating from one web resource to another in order to obtain meaningful information on a particular object. [18] The Semantic Web aims to overcome problems of making web content more accessible to automated processes; [23] the goal of Semantic Web research is to transform the Web from a linked document repository into a distributed knowledge base and application platform, thus allowing the vast range of available information and services to be more effectively exploited. This is to be achieved by adding semantic annotations to Web content, i.e., annotations that describe the meaning of the content. This is where Ontologies come into play: they provide a mechanism for introducing a vocabulary and giving precise meanings to the terms in the vocabulary. [23] Semantic Web is centered on: metadata; Ontologies; logic and inference; and software agents [19]. Metadata is data about data and its aim is to capture part of the meaning of data. It should be explicitly represented to enable machine- processibility. Ontology is a shared view of a domain conceptualization taxonomy. It not only defines terms (or concepts) and their meaning, but also their content dependent usage - constraints and conditions, and relationship to other terms. A set of inference rules are also associated with ontology. These rules are used to derive new information from the explicitly stated facts. Ontologies are often developed in a collaborative manner by domain experts. Languages for representing Ontologies and related issues are discussed in. [6, 8] The Semantic Web is being built on XML's ability to define customized tagging schemes and on RDF that is a flexible approach to represent data and on ontology language (OWL) at the first level above RDF that can formally describes the meaning of terminology used in Web documents. In order for computers to be more helpful, the Semantic Web augments the current Web with formalized knowledge and data that can be processed by computers. In order to enable to search and process information such as airline flights, software programs or software agents need information that has been modeled in a coherent manner. Ontology models all the entities and relationships in a domain. [18] B. The vision Originally the Web was envisioned as a set of tools for the representation of relationships between named objects [71].
Now, the main aim of the Semantic Web initiative is to fulfil this vision. The collaborative efforts aim at the development of technologies and standards, which help machines to understand the meaning of data. The guiding idea is having data linked in such a way that it can be retrieved and reused across platforms, applications and communities [56]. To meet these Figure goals, in a collaborative effort led by the World Wide Web Consortium, a set of layers has been designed (figure below).
All elements of a triple are resources with the exception of the object and subject that can be also literals. Literals can be either plain literals or typed literals using XML Datatypes as defined by Biron (2004) [80]. d. The Ontology level Both RDF and RDFS provide basic features of knowledge representation, but more modelling primitives are needed. The Web Ontology Language OWL enables the semantic specification and conceptualization of different application domains. The aim of OWL is to bring the expressiveness of description logics to the Semantic Web. The W3C OWL recommendation 19 includes the definition of three variants of OWL with different levels of expressiveness [77]. OLW Light provides classification hierarchies and simple constraints, such as 0 and 1 cardinality. Originally it was hoped that it would be simpler to provide tool support, allowing a quick migration path for existing systems [78]. OWL Light is the simplest OWL language and corresponds to description logic SHIF [79]. OWL DL is intended to support a maximum of expressiveness possible, but still retains computational completeness (all conclusions are guaranteed to be computed) and decidability (all computations will finish in finite time). OWL DL corresponds to description logic SHOIN [79]. The language variant includes all OWL constructs, but they can be used only under certain restrictions. For example number restrictions are not allowed to be placed upon properties that are declared to be transitive. OWL Full is designed to utilize the full syntactic freedom of RDF and RDFS. It is funded on semantics different from OWL Light and OWL DL; it has no expressiveness constraints, but does no longer guarantee the properties of computational completeness and decidability [78]. For example, in OWL Full resources can be treated simultaneously as a class and as an individual. e. OWL Sub-languages OWL provides three increasingly expressive sub-languages designed for use by specific communities of implementers and users:- (i) OWL Lite (is least expressive, suitable for simple class hierarchy and simple constraints and useful for quick migration path for thesauri and other taxonomies), (ii) OWL DL (is more expressive, retains Computational Completeness that is, all conclusions are guaranteed to be computable and has Decidability that is, all computations will finish in finite time, and is based on Description Logic), (iii) OWL Full (is most expressive and has syntactically freedom of RDF and has no computational guarantees but allows an ontology to augment the meaning of the pre-defined (RDF or OWL) vocabulary and is not suitable for auto-reasoning) [18] Ashok U. Mallya and et. al [2] argue that OWL-P (OWL for Processes and Protocols), a methodology and software tool for specifying and enacting interaction protocols among autonomous agents. They used the Ontology Web Language (OWL) and the Semantic Web Rule Language (SWRL) to specify interactions as rule based commitment protocols, which are a departure from the traditional, rigid protocol specifications. They developed a novel system and methodology with the following main features:
Figure 9: Semantic web layers a. Unicode and URI Unicode is a standard allowing computers to consistently represent and manipulate text. A Universal Resource Identifier is a string of characters to identify or name a resource. [73]. b. The XML layer At the core level is the XML layer with its XML Namespace and XML Schema, providing the syntax for the Semantic Web. The primary purpose of XML is to facilitate the encoding and serialization of structured data. XML is classified as an extensible language as it allows its users to define their own elements [73]. XML namespaces allow users to provide exclusively named elements and attributes in an XML document. An XML document can contain element or attribute names from more than one XML vocabulary. If each vocabulary has been given a namespace then the ambiguity between identically named elements or attributes can be resolved. XML schema can be used to express a set of rules to which an XML document must conform in order to be considered valid according to that schema [74]. c. The Metadata Level On the metadata level RDF and RDFS allow the description of resources. The Resource Description Framework is a specification designed for representing metadata about resources in a graph form [75]. However, RDF has become a general method of modelling information through a variety of syntax formats. The normative syntax for serializing RDF is XML in the RDF/XML form, but other serialization formats, such as Notation3 that will be discussed in section in detail, are used as well. The RDF data model is based on triples in the form of "subject-predicate-object" expressions. Hayes (2004) [81] defines the formal semantics of RDF. As pointed out Resources can represent everything, from websites to people.
model that is based on commitments among the participants to achieve flexibility in execution. and private local policies of interacting agents. using a protocol algebra [56], derive individual participants' roles from the processes, and bind participants' policies at runtime. RDF or Resource Description Framework In the semantic Web architecture, Web ontology languages are built on top of RDF(S). RDF [12] and RDF-Schema [51][12] are at the base of the semantic Web. All the languages in the upper layers are built on top of them. RDF(S) defines both the syntax and semantics of the subsequent layers. However, RDF(S) is built upon a non-standard thesis of representation [50]. The syntactic and semantic characterization underlying RDF(S) differ significantly from the syntax and semantics of most first-order logical languages [5] RDF has been given a model-theoretic semantics, which provides formal meaning to its abstract syntax [43]
VI. RELATED WORK The approach proposed in this paper is novel in that no other approach presented in the literature makes use protégé for modeling agent interaction protocol. A. Interaction Protocol Odell and et al. [2000] and Bauer and al. [2001] identify that UML to express agent interaction protocols through UML sequence diagrams. Bauer and al. [2001] also agree that it is a specification technique for interaction protocols with formal and intuitive intended semantics and a user-friendly graphical notation, Bauer et al. [4] state that the use of well known standards and technologies in multi-agent systems would increase the adoption of multi-agent technology in the commercial software development industry. According to them, two main reasons for using UML as a common ground are: • Many agent systems can be implemented in terms of objectoriented technology • Most software developers know and use UML. Barron [1982], Brauer et al. [1987], Genrich and Lautenbach [1981], Peterson [1981], Reisig [1985], Richter and Durchholz [1982], and Zisman [1977] have the same idea that Petri nets are a graphical formalism for modeling (distributed) system behavior. Paurobally and Cunningham [53] in paper Safety and Liveness of Negotiation Protocols are focused on specifying and proving safety and liveness properties of negotiation protocols. They identified that a safe and sound interaction allows no unpredictable states and transitions, and negotiation states that become valid are those that are defined by the protocol and none other. They specify three properties - liveness, termination and soundness - for a protocol in ANML. Also
they examined a negotiation between two agents following a bilateral protocol and they prove that the latter protocol is sound, terminates and exhibits liveness. [53] Valentina and et al [102] attempts to address the problem of automated agent negotiations in open environments, where the negotiation protocols are not known beforehand, but instead the host advertises the type of protocol regulating the interaction. Method ontology aims at modeling knowledge concerning the interactions between agents on how to perform a task. To demonstrate a proof of concept for their approach, the authors considered the application scenario of the Trading Agent Competition (TAC) and built an ontology for English auctions using DAML+OIL. It should be noted, though, that the approach is still at an early stage of development and several other issues need to be investigated. [102] B. Graphical representation Paurobally and et al [54] has addressed the need for formalized and more expressive logical and graphical methodologies for precisely specifying and validating protocols and their properties for interaction between rational agents. Towards this end, they show a combined approach consisting of extended PDL and extended statecharts. They specify a formal language, called ANML, based on PDL for representing and reasoning about agent interaction protocols. [54] The works on interaction protocol by Paurobally and Cunningham on 2002 [103] have shown that, despite being extended for the purpose of Agent Oriented software engineering, Agent UML notations still do not provide an unambiguous representation of interaction protocols, and are better suited for informal descriptions of Interaction Protocols. A more rigorous description, which would force the protocol designer to specify the protocol exactly, is now required. Paurobally [103] has developed one such notation, ANML, which is essentially an extended form of dynamic logic [104], but this notation is heavily logic based, and would therefore be of limited explanatory appeal to agent designers. Another notation, based on finite state machines, has been proposed by [105], but this notation also lacks the simplicity and clarity of less rigorous forms of representation such as Agent UML. [103] Dunn-Davies and et.al [106] show that the development of propositional statecharts has been motivated by the need to provide a notation which is sufficiently intuitive and easy to understand to encourage agent designers to adopt standard protocols while preserving the formal rigor required to represent the protocols unambiguously. It is also intended to form the basis of further work on the automated conversion of protocols described using a propositional statecharts into dynamic logic, which may be verified, and also into executable program threads. In this paper we will describe the propositional statechart formalism and demonstrate its ability to provide a simple yet formally rigorous description of a version of the English Auction Protocol. The English Auction Protocol is a natural choice of interaction protocol to use for this purpose because it is well known and widely used in e- commerce. For example the auction site eBay uses this
protocol [107]. It is also surprisingly complex, and forms an interesting example of an iterative Interaction Protocol [105]. C.Semantic web language Ashok and et.al [2] describe OWL-P (OWL for Processes and Protocols), a methodology and software tool for specifying and enacting interaction protocols among autonomous agents. We use the Web Ontology Language (OWL) and the Semantic Web Rule Language (SWRL) to specify interactions as rule- based commitment protocols, which are a departure from the traditional, rigid protocol specifications. Protocols in OWL-P allow flexibility during execution and honor agent autonomy because of their declarative nature and their use of commitments. [2]
VII. SYSTEM ANALYSIS AND DESIGN A d e ta ile d e m p iric a l stu d y b a se d o n th e a b o v e sta te d re se a rc h is p re se n te d . Th e sy ste m d e sig n a n d th e a lg o rith m s e m p lo y e d a re d e sc rib e d in th is se c tio n . A. Overview Most of the classic auctions in the other word negotiation protocols examined in introductory surveys of auction theory are one-sided, in that a single seller or buyer. Accepts bids from multiple buyers or sellers. Two-sided or double auctions, in contrast, permit multiple buyers and sellers to bid to exchange a designated commodity. Most types of negotiation can be characterized in terms of how they manage three core activities. [68] updates its database of active bids accordingly. the bidding period, the auction may reveal information about the status of bids. determine contracts between compatible buyers and sellers. The clear action matches buyers and sellers, and sets the transaction price. [68] Modeling English auction and bilateral protocol require making decisions and selecting technologies to support those decisions. The UML (Unified Modeling Language) is a language used to specify, visually model [63], and document the artifacts of an Objected-Oriented system under development. It represents the unification of a number of ideas from different methodologists. [66] Using UML to design a system improves its maintainability and reusability. Object oriented analysis techniques offer class, use case, state chart, sequence, and other diagrammatic notations for modeling [64]. UML has been used successfully in numerous projects to model varying architectures and requirements. [64-65] B. Scenario of auction processes Scenario-based of auction processes is initiative way of visualizing, understanding and analyzing the system design requirements. The scenario was devised (depicted in Figure 10) and used to analyze the requirements. [84] Figure 10: Scenario of auction processes [84] Participants of the auction are buyer and seller. Negotiation starts when both buyer and seller join to negotiation room and start chatting and send the offered values to each other. This process continues until the seller accepts the offered value sent from buyer and reach to deal. In the depicted figure (10) chatting is the process of sending the offered values from both buyer and seller. And in the selecting purchaser, the seller decides to choose which deal is more acceptable and select the owner of the bid which is buyer as winner and finish the auction by broadcasting the winner. C. UML to support Negotiation Protocols Negotiation systems are a major component of the electronic marketplace that allows users at any site to sell and buy products. The sellers set up negotiations for their products while the purchaser who bids the highest amount wins the right to purchase the product in a negotiation. [84] 1) Use Case Diagram Use case diagram is graphical view of interaction between classes (Purchaser and Seller). Figure 11 is the Use Case Diagram for the actions that the Users (Seller, Purchaser) can perform in an auction. Users after logs in to the system can start chatting with each other to reach to deal and then the bidding process is started and finally logs out from the system.
Figure 11: Auction Use Case Diagram D. Sequence Diagram A diagram that shows object interactions arranged in time sequence. In particular, it shows the objects participating in the interaction and the sequence of messages exchanged. Typically, it captures the behavior of a single use-case. [96] Figure 12 and 13 show the Sequence Diagrams for the Purchaser and Seller and show how they negotiated to each other in the system. Figure 13: Sequence Diagram for Seller With having this graphical representation of negotiation protocol we can implement the suitable model regarding to the bilateral and English auction negotiation protocols.
VIII. IMPLEMENTATION IN PROTÉGÉ Th is se c tio n d e ta ils h o w th e im p o rta n t p a rts o f th e sy ste m we re i m p l e m e n t e d a n d d e sc ri b e s a n y p ro b l e m s t h a t h a d t o b e o v e rc o m e d u rin g th e ir im p le m e n ta tio n . Th is se c tio n la y s o u t t h e a rt i f a c t s o f o u r st u d y a s we l l a s t h e i m p l e m e n t a t i o n wh i c h f o l l o we d t h e sy st e m a n a l y si s a n d d e si g n . IF WE HOPE THAT AN AGENT CAN USE THE PROTOCOLS DEFINED IN THE PROTOCOL ONTOLOGY, WE NEED TO TRANSLATE THE
ONTOLOGY INTO A SUITABLE LANGUAGE THAT ACTS AS A SORT OF COMMON ACCEPTED LANGUAGE AMONG AGENTS . THE PROTÉGÉ 3.4 (HTTP://PROTÉGÉ.STANFORD.EDU/) PLATFORM CAN IMPLEMENT THIS TRANSFORMATION AUTOMATICALLY.
In terms of the steps of developing an ontology described in, we complete the following work: [93] classes is the key stage of developing English Auction protocol ontology. Based upon the concept model, we define classes in this protocol ontology. According to the relationships from the requirement analysis processes, we can arrange the concepts into hierarchies in terms of super-class, class and sub-class relationships.
Figure 12: Sequence Diagram for Purchaser
and describing the allowed values for them. We should first analyze the properties a class should have and the restrictions on all of the classes, and then represent the universal restrictions, existential restrictions, cardinality restrictions, necessary conditions, necessary and sufficient conditions, closure restrictions and the combination of these restrictions and conditions. In other words, we should summarize and define the axioms that exist in the negotiation protocols. erties for individuals. After collecting various existing negotiation protocols and analyzing the properties and restrictions of them, we represent them by assigning values of properties and restrictions to form individuals. This chapter illustrates the modeling of 2 different negotiation protocols in protégé. A. Modeling English Auction in Protégé This type of negotiation has 5 main classes. Auction, auctioneer, bid, client and item. OWL VIZ tab in protégé is for representing the graphical format of ontology. Figure 16 shows the classes and subclasses of auction ontology in protégé using OWL VIZ tab. As you can see the participants of auction is in subclass of client.
Figure 15: Classes Required for English auction Figure 15 also shows the different English auction classes in protégé.
Figure 16: Auction class Data Type and Object Properties presentation Fi gure 14: Graphical Presentation of English Auction in Protégé Start with auction class. Auction conducted by auctioneer and consists of 3data type property (auction date, start time and end time). Auction initiated by client who is both buyer and seller. This figure shows the data type properties and object properties of auction class. Figure 16 also present all disjoint classes of auction class which are auctioneer, item, bid and client.
shows the other disjoint classes which are auctioneer, auction, item and client.
Figure 97: Auctioneer class Data Type and Object Properties presentation The next class is auctioneer. Figure 17 shows that auctioneer has two data types properties which are auctioneer ID and auctioneer name and one object property which is conducts. This object property connects auctioneer class to auction class. The other main part of this figure is disjoint classes as well which are client, item, bid and auction.
Figure 109: Client class Data Type and Object Properties presentation As you can see in figure 19, client class has two subclasses: buyer and seller. Buyer selects and buys item, seller registers item for bid and sells item. The properties they have in this model are the same, I mean both of them have client ID and client name that's why I put them as the subclass of client to share the properties of client. This class is disjoint with auctioneer, item, auction and bid.
Figure18: Biding class Data Type and Object Properties presentation Figure 18 illustrates the biding class properties. It consists of biding ID, biding price, biding time as data type properties and bid item which represent the item that buyer choose for biding and is in auction which connect auction class to bid class and is made by buyer which links buyer to bid class. And finally
Figure 20: Item class Data Type and Object Properties presentation Finally item is class of English auction which introduce the specifications of product that's going to be sold. This class has
four data type properties which are item ID, item name, item quantity and asking price and four object properties which are accepting bid which link class item to the class bid. Accepted buyer which connects buyer class to the item class, highest bid links buyer class to item class to show the highest bid which send to the seller and is_in_auction is again links auction class to item class which means that this item is in the auction. In next chapter which is about the evaluation and the example of this model you can see how this properties work with each other to show the correct result with using the SWRL rules. 1) SWRL Rules (1) Item(?b) ? Bid(?x)? Biding_Price(?x, ?z)? Asking_price(?b, ?y)
?
swrlb:greaterThanOrEqual(?z, ?y) ? accepted_bid(?b, ?x) The rule (1) shows that whenever biding price from the buyer is more than the asking price then that bid is acceptable. (2) accepted_bid(?x, ?y)? is_made_by_buyer(?y, ?z) ? accepted_Buyer(?x, ?z) As result of rule one we find the accepted bid, with using the accepted bid from rule one and the buyer who made the biding, we can find the accepted buyer. So rule (2) shows the accepted buyer. This rule is combination rule which means we use the outcome of rule 1 in finding the outcome of rule 2. (3) accepted_Buyer(?x, ?y)? accepted_Buyer(?x, ?z)? differentFrom(?y, ?z)? is_made_by_buyer(?c, ?y)?Biding_Price(?c, ?a)? is_made_by_buyer(?d, ?z)? Biding_Price(?d, ?b) ? swrlb:greaterThanOrEqual(?a, ?b) ? highest_bid(?x, ?y) With knowing about the accepted buyer we can find the highest bid and which one of the buyer has the highest bid. The rule (3) shows that whenever we have two accepted buyer whom they made bid with different biding price we can easily find the highest bid. (4) highest_bid(?x, ?y)? is_made_by_buyer(?c, ?y)? Biding_Price(?c, ?a) ? sqwrl:max(?a) Rule (4) illustrates that with finding the highest bid from rule (3) and the buyer whom made the biding and biding price we can find the max price which means the max price that buyers offer. So this rule gives us the max price. (5) Biding_Price(?x, 217)? is_made_by_buyer(?x, ?y)? accepted_bid(?z, ?x) ? sqwrl:select(?y, ?z) Here because protégé doesn't allow us to use sqwrl:max in right hand side of SWRL rule and we want to show that which one of the buyer make the highest bid then we write this rule with the highest bid that we find in the rule (4). So "217" is the highest bid finds in the rule (4). Then whenever we have rule that biding price 217 and the buyer who made this biding and this buyer has some value as accepted bid then we can have buyer name and the item that buyer wins. This rule is in the case that the seller accepts the highest bid.
(6) Biding_Price(?x, 217)? Biding_Price(?y, 217)? differentFrom(?x, ?y)? Biding_time(?y, ?e)?Biding_time(?x, ?f)? temporal:before(?e, ?f)?is_made_by_buyer(?x, ?t) ? is_made_by_buyer(?y, ?p) ? sqwrl:select(?y, ?p) highest_bid(?x, ?y) ? sqwrl:select(?x, ?y) Now we have condition that when the biding time is finished and the auction process has two buyers with the same biding price, then at this time the protégé accept the buyer who made the bid sooner based on the time. then rule (6) shows that whenever we have two buyers who have biding price "217" they make biding at different time then accept the earliest one. The evaluation of English auction is in next chapter. IX. Evaluation and Performance Analysis Th is se c tio n is a n e v a lu a tio n o f th e p e rfo rm a n c e o f th e sy ste m . I t fo c u se s o n th e p e rfo rm a n c e stu d y o f E n g lish Auction. We present the results obtained by running several te st c a se s, c o n sid e rin g th e tim e v a ria n t . A. English auction evaluation Figures 21-38 show the structure of creating instances in the protégé. We initiate one auction named as auction-59. In this auction one seller who wants to sell his book participated. We have three buyers named as buyer-1, buyer-2 and buyer-3. All three buyers want to buy that specific book from seller-1. Each buyer starts to send the offered value to the buyer in the specific time. This is shown in figures 28-31 which write the biding or desired price in biding price place. Then we test this model and finding results based on using SWRL rules. We have two test cases which we consider it in this section. The figures below illustrate the instances in protégé.
Figure 21: English auction instance 1
Figure 22: English auction instance 2
Figure 25: English auction instance 5
Figure 23: English auction instance 3 Figure 26: English auction instance 6
Figure 24: English auction instance 4 Figure 27:English auction instance 7
Figure 28: English auction instance 8 Figure31: English auction instance 11 We test the situation according to two conditions. First one is based on the highest biding price that buyers offered, second one is the situation that two buyers have the same biding price and at this moment, biding time plays the role to choose which one of the buyers will be the winner of auction. So it's based on the biding time. Test case 1 illustrates the auction based on the highest bid and test case 2 shows the winner based on the earliest biding time. 1) Test case 1
Figure 29: English auction instance 9
Figure 32: Highest bid Figure 32 shows how to used rule four for find the highest bid. As you can see the highest bid is 217.
Figure 30: English auction instance 10
Figure 33: The auction winner Figure 33 shows the winner of auction and the item that won. This is possible when using rule 5. 2) Test case 2
Figure 35: Biding time two
Figure 36: Highest bid
Figure 34: Biding time one
communication. We analyze how Semantic Web and which Semantic Web Languages use to model Agent Interaction Protocols by modeling it them in protégé. Auctions are a popular form of online trading. Ontology for auctions allowing verifying their properties may prevent fraudulent behaviors and ensure that all participants adhere to the agreement, thus maintaining some sort of stability in the market.[59] The central difficulty is to determine the iteration in protégé, one of the main problems of the protégé is that it's not possible to show the iteration in it, without the using programming language it's not possible.
Figure 37: Two buyers with the same highest bid Figure 37 shows that we have two buyers with the same biding price and the biding time is finished now as you can see in figure below (38) with using rule 6, it gives us the biding which made earliest and the buyer who made this bid as a winner.
APPENDIX Appendixes, if needed, appear before the acknowledgment. ACKNOWLEDGMENT The preferred spelling of the word "acknowledgment" in American English is without an "e" after the "g." Use the singular heading even if you have many acknowledgments. Avoid expressions such as "One of us (S.B.A.) would like to thank ... ." Instead, write "F. A. Author thanks ... ." Sponsor and financial support acknowledgments are placed in the unnumbered footnote on the first page. REFERENCES [1] ANDREAS OBERWEIS and PETER SANDERInformation System Behavior Specification by High-Level Petri Nets-ACM Transactions on Information Systems, Vol. 14, No. 4, October 1996, Pages 380-420. [2] Ashok U. Mallya, Nirmit Desai ,Amit K. Chopra Munindar P. Singh, OWLP:OWL for Protocol and Processes-2005 ACM [3] Bauer, B., Müller, J., Odell, J. 2001. "Agent UML: A Formalism for Specifying Multiagent Interaction". AgentOriented Software Engineering, Paolo Ciancarini and Michael Wooldridge eds., Springer-Verlag, Berlin, pp. 91-103. [4] B. Bauer, F. Bergenti, P. Massonet, and J. J. Odell. Agents and the UML: A unified notation for agents and multi-agent systems? In M. J. Wooldridge, G. Weiss, and P. Ciancarini, editors, Agent-oriented software engineering II : second international workshop, AOSE 2001, Montreal, Canada, May 29, 2001: revised papers and invited contributions, number 2222 in Lecture Notes in Computer Science, pages 148-150. Springer, 2002. [5] Bernardo Cuenca Grau-A Possible Simplification of the Semantic Web Architecture-2004, May 17-22, 2004, New York, New York, USA.ACM [6] Berndt Farwer, Michael Leuschel-Model Checking Object Petri Nets in Prolog-2004 ACM [7] Bernhard Bauer-UML Class Diagrams and Agent-Based Systems-2001 ACM
Fig ure 38: The auction winner
X. CONCLUSION AND FUTURE WORK In this last section the achievements and shortcomings of the presented approach and future work are reviewed and possible solutions are shortly examined. A. Achievements, Limitations and further Research In this thesis the author gave a structured overview on agent interaction protocol as well as the model of two specific types of it. This novel paper has several advantages: Interaction Protocols through Ontologies.
[8] Catherine C. Marshall, Frank M. Shipman, Which Semantic Web?, ACM conferance-2003 [9] Christos Georgousopoulos, Omer F. Rana -An approach to conforming a MAS into a FIPA-compliant system,2002 ACM [10] Clint Heinze,Leon Sterling-Using the UML to Model Knowledge in Agent Systems-2002 ACM [11] Cranefield, S. and Purvis, M. UML as an ontology modelling language. In Proceedings of the Workshop on Intelligent Information Integration, 16th International Joint Conference on Artificial Intelligence (IJCAI-99), 1999 [12] DANIEL OBERLE, STEFFEN STAAB, RUDI STUDER, and RAPHAEL VOLZ Supporting Application Development in the Semantic Web- ACM Transactions on Internet Technology, Vol. 5, No. 2, May 2005, Pages 328- 358. [13] Esther David, Rina Azoulay-Schwartz,Sarit KrausProtocols and Strategies for Automated Multi-Attribute Auctions-2002 ACM [14] FIPA.. 1997. Agent Communication Language Technical report. Foundation for Intelligent Physical Agents. http://www.fipa.org access 4 April 2009 [15] FIPA TC Agent Management,"Agent Management Specification", 2004/18/03 http://www.fipa.org/specs/fipa00023/SC00023K.pdf access 4 April 2009 [16] Frank Guerin and Jeremy Pitt-Denotational Semantics for Agent Communication Languages-AGENTS'01, May 28-June 1, ACM, 2001 [17] Genesereth, M., Ketchpel, S., Software Agents. Communications of the ACM, (July 1994). [18] Goutam Kumar Saha- Web Ontology Language (OWL) and Semantic Web-ACM Ubiquity, v.8, 2007 [19] Grigoris Antoniou, Frank van Harmelen. A Semantic Web Primer. The MIT Press; Second edition (9 May 2008). ISBN-10: 0262012421 [20] Guido Governatori, Marlon Dumas, Arthur H.M. ter Hofstede and Phillipa Oaks-A Formal Approach to Protocols and Strategies for (Legal) Negotiation- 2001 ACM [21] Heinze, C., Papasimeon, M. and Goss, S. Specifying agent behaviour with use cases. In Proceedings of Pacific Rim Workshop on Multi-Agents, PRIMA2000}, 2000. [22] Huhns, M. N. and Singh M. P (eds.) 1997. "Readings in Agents". p371-379. ISBN 1-55860-495-2 [23] Ian Horrocks, Semantic Web: The Story So Far, 16th International World Wide Web Conference- May 2007 [24] JAMES L. PETERSON- Petri Nets-permission of the Associat] on for Computing Machinery. Computing Surveys, Vol 9, No. 3, September 1977 [25] Jeremy Pitt, Frank Guerin, Chris Stergiou- Protocols and Intentional Specifications of Multi-Party Agent Conversations for Brokerage and Auctions- Agents 2000 Barcelona SpainACM 2000 [26] KRUPANSKY J.W. 2003. What is a Software Agent. http://agtivity.com/agdef.htm Accessed April
2009
[27] Labrou, Y. 2001. "Standardising Agent Communication". In Proceedings of 9th ECCAI Advanced Course and EASSS 2001. Springer, LNAI 2086.
[28] Labrou, Y. and Finin, T. 1997b. "Semantics and conversations for an agent communication language". In Proceedings of the Fifteenth International Joint Conference on Artificial Intelligence (IJCAI-97), pages 584--591, Nagoya, Japan. Communications of the ACM, 21:666--677. [29] Marc-Philippe Huget, James Odell- Representing Agent Interaction Protocols with Agent UML-2004 ACM [30] Marek Wieczorek,Stefan Podlipnig, Radu Prodan, Thomas Fahringer-Applying Double Auctions for Scheduling of Workflows on the Grid- SC2008 November 2008, Austin, Texas, USA,2008 IEEE [31] MICHAEL J. WOOLDRIDGE AND NICHOLAS R. JENNINGS- SOFTWARE ENGINEERING WITH AGENTS: Pitfalls and Pratfalls, MAY-JUNE 1999,IEEE INTERNET COMPUTING [32] Michael Wooldridge, Verifiable Semantics for Agent Communication Languages-1998 IEEE [33] Mihai Barbuceanu and Mark S. Fox- The Architecture of an Agent Building Shell, November 1995,Publisher: IBM Press [34] Nicoletta Fornara, Marco Colombetti, Defining Interaction Protocols using a Commitment-based Agent Communication Language, 2003 ACM 1-58113-6838/03/0007 [35] Nicoletta Fornara, Marco Colombetti-Defining Interaction Protocols using a Commitment-based Agent Communication Language-2003 ACM [36] Nirmit Desai, Ashok U. Mallya, Amit K. Chopra, and Munindar P. Singh, Interaction Protocols as Design Abstractions for Business Processes, IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, VOL. 31, NO. 12, DECEMBER 2005 [37] Nwana, H.S. Software Agents: An Overview. In: The Knowledge Engineering Review, October/ November 1996, Volume 11, Number 3, pages 205-244. [38] Odell, J., Parunak, H. and Bauer, B. Extending the UML for Agents. In Proceedings of AOIS Workshop at AAAI. 2000. [39] Odell, J., Parunak, H.V.D., Bauer B. 2000. "Extending UML for Agents". Proc. of the Agent-Oriented Information Systems Workshop at the 17th National conference on Artificial Intelligence, Gerd Wagner, Yves Lesperance, and Eric Yu eds., Austin, TX. [40] O. M. G. (OMG). Unified Modeling Language: Superstructure version 2.0, 03-04-01 edition, 2003. [41] Parkes, D. C., Ungar, L. H., and Foster, D. P. Accounting for cognitive costs in on-line auction design. In Agent Mediated Electronic Commerce (LNAI 1571), P. Noriega and C. Sierra, Eds. Springer-Verlag, 1999, 25-40. [42] Papasimeon. M. and Heinze, C. Extending the UML for designing jack agents. In Proceedings of the Australian Software Engineering Conference (ASWEC 01), Canberra, Australia, 2001. [43] P. Hayes. Resource description framework (rdf) semantics. W3C Working Draft, 2003. [44] Poslad, S. and Charlton, P. 2001. "Standardising Agent Interoperability: The FIPA approach." In Proceedings of 9th
ECCAI Advanced Course and EASSS 2001. Springer, LNAI 2086. [45] Representing Marc-Philippe Huget, James Odell,Agent Interaction Protocols with Agent UML,2004 ACM 1-58113864-4/04/0007 [46] RITA NIENABER, ELSABE CLOETE-A Software Agent Framework for the Support of Software Project Management-Proceedings of SAICSIT 2003, Pages 16 - 23 [47] R. Neches, R. Fikes, T. Finin, T. Gruber, R. Patil, T. Senator, and W. Swartout. Enabling technology for knowledge sharing. AI Magazine, 12(3):36-56, Fall 1991. [48] Roberto A. Flores-Mendez-"Towards a Standardization of Multi-Agent System Frameworks"- June 1999 Publisher: ACM [49] Robert G. Wllihoft-Petri-net Evaluation using APL2-1992 ACM [50] S. Arroyo, R. Lara, J. M. Gomez, D. Berka, Y. Ding, and D. Fensel. Semantic aspects of web services. In M. P. Singh, editor, The Practical Handbook of Internet Computing, pages 311- 31-17. Chapman & Hall/CRC,2005. [51] Sean B. Palmer, The Semantic Web: An Introduction, 2001-09, http://infomesh.net/2001/swintro/ [52] Searle, J. R. 1969. "Speech acts: An essay in the philosophy of language". Cambridge University Press. [53] Shamimabi Paurobally and Jim Cunningham-Safety and Liveness of Negotiation Protocols [54] Shamimabi Paurobally,Jim Cunningham,Nicholas R. Jennings-Developing Agent Interaction Protocols Using Graphical- AAMAS '03, Melbourne, Australia [55] S. Paurobally, (2007) "Deploying Automated Negotiation Protocols for Resource Allocation in the Grid.", AAMAS'07 Honolulu, Hawaii USA. [56] T. Berners-Lee. Semantic web road map, Sept. 1998. Available at http://www.w3.org/DesignIssues/Semantic.html [57] Tim Finin and Richard Fritzson, Don McKay and Robin McEntire- KQML as an Agent Communication Language1994 ACM [58] Usman Wajid, Nikolay Mehandjiev, Agent Interaction Protocols And Flexible Agent Interaction in Dynamic Environments, IEEE 2006 [59] Wooldridge, M. 1998. "Verifiable semantics for agent communication languages". Third International Conference on Multi-Agent Systems, Y. Demazeau (ed.), IEEE Press. [60] Yannis Labrou, Tim Finin, and Yun Peng- Agent Communication Languages:the current Landscape- IEEE march/ april 1999 [61] Yuko Sakurai, Makoto Yokoo- An Average-case BudgetNon-Negative Double Auction Protocol-AAMAS'02, July 1519, 2002, Bologna, Italy [62] Wooldridge, M. and Jennings, N. R. 1995b. "Agent Theories, Architectures, and Languages: A Survey." In M. J. Wooldridge and N. R. Jennings, editors, Proc. ECAI-94 Workshop on Agent Theories, Architectures and Languages. Springer-Verlag
Author: SARA ROBATY SHIRZAD, a PhD candidate in the School
of information systems at Brunel University, specialises in eprocurement and Supply Chain Management. She holds a BSC in Computer and Information Systems from the University of London (2006) and an MS in Information System from University of Westminster (2009). Her research interests include e-procurement, ebusiness, semantic web.
doc_175997923.docx
Study on Modelling Interaction Protocols Through Semantic Web Technologies:- A protocol is a rule which how an activity should be performed, especially in the field of diplomacy. In diplomatic services and governmental fields of endeavor protocols are often unwritten guidelines.
Study on Modelling Interaction Protocols Through Semantic Web Technologies
work done in distributed systems and do not consider features such as the agent autonomy. Agent Interaction Protocol designers are now considering specific modeling techniques that contain these features. [45] A protocol can be computationally interpreted from a statechart, an AUML (agent unified modeling language) diagram or an ANML (Agent Negotiation Meta- language) theory, Logic and calculus. Some of these languages are either not expressive or too formal and also hard to understand. We are proposing to use Semantic Web to model Interaction Protocol. The main objectives of this paper is to analyze how the Semantic Web and which Semantic Web Languages can be used to model Agent Interaction Protocols. This paper is closely associated with areas of agent, agent communication languages (ACL) and agent interaction protocols (AIP's) and The Semantic Web. It is important to have some basic theoretical understanding of what these areas are about. Therefore, related work is a brief introduction on each of these areas. The main objectives of this paper are: ent Interaction Protocol with chosen Semantic Web Technologies framework quickly became one of the most successful applications of electronic commerce. EBay, the premier consumer-toconsumer (C2C) Internet auction site, is generally held up as an exemplar for the industry. However, it is widely predicted that the potential transaction volume in business-to-business (B2B) auctions will be much greater than in the C2C channel. [34] Interaction Protocols are patterns of behavior that agents have to follow to engage in a communicative interaction with other agents within a multi-agent system (MAS). The specification of interaction protocols is crucial for the development of MAS: the advent of Internet makes it urgent to develop general, application-independent methods for the definition of interaction protocols, to be used as components of open, dynamic, heterogeneous, and distributed interaction frameworks for artificial agents. [34] Several modeling techniques exist that represent agent interaction protocols. These techniques are based primarily on
S.R.S Author, Jr., was with Brunel University,UB8 3PH UK. (E-mail: [email protected]).
Abstract—Interaction Protocols are patterns of behavior that agents have to follow to engage in a communicative interaction with other agents within a multi-agent system (MAS). The specification of interaction protocols is crucial for the development of MAS: the advent of Internet makes it urgent to develop general, applicationindependent methods for the definition of interaction protocols, to be used as components of open, dynamic, heterogeneous, and distributed interaction frameworks for artificial agents Several modeling techniques exist that represent agent interaction protocols. These techniques are based primarily on work done in distributed systems and do not consider features such as the agent autonomy. Agent Interaction Protocol designers are now considering specific modeling techniques that contain these features. A protocol can be computationally interpreted from a state-chart, an AUML (agent unified modeling language) diagram or an ANML (Agent Negotiation Meta- language) theory, Logic and calculus. Some of these languages are either not expressive or too formal and also hard to understand. We are proposing to use Semantic Web to model Interaction Protocol. Keywords— Auction, Agent, Semantic Web, Negotiation Protocol, Ontology I. INTRODUCTION
I
nternet auctions appeared on the scene in the mid 1990s, and
protocols A. The Problem The problems, we have in this paper are listed as below: AUML and statechart are graphical representation Cluttered AUML diagrams are easy to misinterpret and a large amount of time and effort is required for developing and understanding reasonable interaction protocols in AUML.A major drawback of AUML is the inability to bind roles, cardinalities, access agent identities or interacting as in a forum.[54] AUML needs Class template definition, BDI formalization and to show how to put together Agent Classes and Object Classes. Also AUML has lacks of formalized meta-model to precise agent abstractions considered and its relationships and needs formal proofs to guarantee the consistency between AUML
and UML. [98] Because the specification is not consolidated, there is no tool that supports all AUML notations, but only Interaction Diagrams. Designers working with it use tools such as Dia, Xfig, or Visio, but they can't check diagram consistency with these tools. This makes it easy to misuse the specification. [97] Statecharts do not portray the agents that are involved in exchanging messages and states that become valid do not contain information about which agent triggered the state.[54] Reasoning / verification of properties are vague. It is difficult to understand the reasoning and the rules Logic (first order, calculus) Logics are hard to understand. Many users don't like to use logics. That's why most of them prefer to show the rules in graphical format. We are looking semantic web. Include it with other accessories such as XML,RDF,OWL which are
An agent is a computational process that implements the autonomous, communicating functionality of an application. Agents communicate using an Agent Communication Language (ACL). An Agent is the fundamental actor on an Agent Platform (AP provides the physical infrastructure in which agents can be deployed and consists of the machine(s), operating system, agent support software and so on) which combines one or more service capabilities, as published in a service description, into a unified and integrated execution model. An agent must have at least one owner, for example, based on organizational affiliation or human user ownership, and an agent must support at least one notion of identity. This notion of identity is the Agent Identifier (AID) that labels an agent so that it may be distinguished unambiguously within the Agent Universe. An agent may be registered at a number of transport addresses at which it can be contacted. [15]
B. Contribution of proposed work As mentioned in this proposal, we analyze how Semantic Web and which Semantic Web Languages use to model Agent Interaction Protocols. The contributions are as follows: Interaction Protocols Ontologies. Interaction Protocols through Ontologies. communication. Auctions are a popular form of online trading. Ontology for auctions allowing verifying their properties may prevent fraudulent behaviors and ensure that all participants adhere to the agreement, thus maintaining some sort of stability in the market. II. LITERATURE REVIEW A. Agent Technologies and Standards Agent research is one of the fastest growing fields in Information Technology. An agent can briefly be described as a processing entity which, when situated in an environment, senses the environment and acts autonomously upon it. It can use stored knowledge to act without the intervention of its owner in a dynamic environment, responding to changes in the environment, interacting with other agents and taking initiative where appropriate. The dynamic nature of agent distribution motivates research by groups working on the standardization of dynamic collaborative multi-agent systems. Some of these groups are the Foundation for Intelligent Physical Agents (FIPA), the Object Management Group (OMG), the Knowledge-able Agentoriented System (KAOS), and the General Magic group. [48] Figure 1: Generic Architecture of Agent [33] Agents mirror the autonomy and heterogeneity of real-world businesses and support rich interaction models. The key idea is to capture meaningful interactions as protocols. [36] A key aspect in real or automated negotiation is the rich, often implicit, interaction between (human or agent) parties, using languages and protocols. Languages for communicating agents promise to play the role that natural languages played for their human counterparts. [60] Setting up a negotiation involves deciding on a common language, ontology and choosing a common protocol. A common language establishes acts for communication that are known by all participants. A common ontology ensures messages have the same meaning for all of the agents in that context. In real life, people communicate verbally with a common language and share a common ontology to avoid misunderstandings. The same requirements apply to interaction in multi-agent systems where agent communication languages (ACL) may be used, but deciding on a common ontology is a major problem in its own. [22] An agent communication language that allows agents to interact while hiding the details of their internal workings will result in agent communities that tackle problems no individual agent could. [60] An agent defines as being both autonomous and flexible in some environment. Agent sense and act over a possibly dynamic environment using their own initiative. Examples of environments in which agents may be situated include the physical world, a user, a society of agents or the Internet. In addition to autonomy, agents need to respond in time to change, that is being responsive. The four basic attributes of an
agent according to are autonomy, responsiveness, proactiveness and social awareness. Proactiveness means anticipating events and taking initiative where appropriate. Social agents are able to interact with other agents via an agent communication language to complete their goals or to help others with their activities. The autonomy and proactivenss capabilities of agents render them more suitable for problem solving and strategic decision making in complex business domains. [62] B. Defining Software Agent A "software agent" is a computer program that is capable of autonomous (or at least semi-autonomous) actions in pursuit of a specific goal. The autonomy characteristic of a software agent distinguishes it from general software programs. Autonomy in agents implies that the software agent has the ability to perform its tasks without direct control, or at least with minimum supervision, in which case it will be a semi- autonomous software agent. Software agents can be grouped, according to specific characteristics, into different software agent classes. Literature does not agree on the different types or classes of software agents. [46] For example, Krupansky [2003] distinguishes between ten different types of software agents,[26] software agents are commonly classified according to a set of characteristics, different classes of software agents often overlap, implying that a software agent might belong to more than one class at a time. According to Woolridge [2001] intelligence implies the inclusion of at least three distinct properties, namely reactivity, pro-activeness and social ability. Reactivity refers to the agent's ability to perceive its environment and respond timorously to changes that occur in order to achieve its design goals. Pro-activeness is the agent's ability to take initiative in its environment in order to achieve its design goals. Social ability alludes to the collaborative nature of the agent. There are different definitions to define the collaborative nature of software agents. C.Characteristics of agent Agent sense and act over a possibly dynamic environment using their own initiative. Examples of environments in which agents may be situated include the physical world, a user, a society of agents or the Internet. In addition to autonomy, agents need to respond in time to changes that are being responsive. The four basic attributes of an agent according to are autonomy, responsiveness, pro-activeness and social awareness. Proactiveness means anticipating events and taking initiative where appropriate. Social agents are able to interact with other agents via an agent communication language to complete their goals or to help others with their activities. The autonomy and proactiveness capabilities of agents render them more suitable for problem solving and strategic decision making in complex business domains. [65] D.Agent Interaction Nwana, H.S notes that, interaction is one of the most important features of an agent [37]. In other words, agents
recurrently interact to share information and to perform tasks to achieve their goals. Researchers investigating agent communication languages mention, one of the key element in achieving multi-agent interaction is via having a common agent communication language and protocol [48] E. Agent Standards Nowadays, the most interesting standardization efforts in the multi-agent area are undertaken by the Foundation for Intelligent Physical Agents (FIPA) [85]. FIPA is an international organization dedicated to promoting the industry of intelligent agents by openly developing specifications supporting interoperability among agents and agent-based applications. FIPA specifications cover: delivery and representation of messages across different network transport protocols. FIPA agents exist and operate. Establishes the logical reference model for the creation, registration, location, communication, migration and retirement of agents. Communication Language), along with libraries of predefined communicative act types, interaction protocols and content languages. descriptions and case scenarios for agent-based applications. [85] Although FIPA uses AUML to represent its standard interaction protocols, many other projects utilize coloured Petri nets (CPNs) [86], because their formal properties facilitate the modeling of concurrent conversations in an integrated fashion. F. Agent Communication Language Having a standardized communication language removes the need for agents to design a common language for interaction but there have been some criticisms about the lack of formalization and ambiguous nature of existing agent communication languages. [27] Labrou, Y. [2001] identifies that "Agent communication languages" (ACLs) are typically designed by either a procedural or declarative approach [17]. As such it is probable that more than one agent communication language, (ACL), will emerge. Among the number of agent communication languages proposed in the last decade, FIPA- ACL (by the Foundation for Intelligent Physical Agents, a standardization consortium) KQML (Knowledge Query and Manipulation Language), are the most prevalent and commonly used. [32] In the procedural approach agents exchange procedural directives; a message defines the appropriate response from the recipient. Behavior based approaches extend this to larger sections of conversation, identifying certain patterns of communication (auction,
contract-net, negotiation) that arise in many situations and designing protocols for them. [16] An ontology is a representation of some part of the world. It provides a shared concept of the world that can serve as the basis for communication and helps to build an understanding of the content in a message. Knowledge Query and Manipulation Language (KQML) is a language that is designed to support interactions among intelligent software agents. It was developed by the ARPA supported Knowledge Sharing Effort [47] and separately implemented by several research groups. It has been successfully used to implement a variety of information systems using different software architectures. [57] KQML was one of the first initiatives to specify how to support social interaction characteristic of agents using a protocol based on speech acts. However, it is not a true de facto standard in the sense that there is no consensus on a single specification or set of specifications that has been ratified by common agreement within an organization or forum. As a result, variations of KQML exist such as KQML classic, KQML '93 and KQML-Lite, leading to different agent systems that speak different dialects and that are not able to interoperate fully. [9] Finin and et.al agree that KQML is a new language and protocol for exchanging information and knowledge. KQML is both a message format and a message-handling protocol to support run-time knowledge sharing among agents. KQML focuses on an extensible set of perforrnatives, which defines the permissible "speech acts" agents may use and comprise a substrate on which to develop higher-level models of interagent interaction such as contract nets and negotiation. KQML is used to communicate attitudes about information such as querying, stating, believing, requiring, achieving, subscribing and offering. A KQML message is called a performative in that the message is intended to perform some action by virtue of being sent. Each agent appears on the outside as if it manages a knowledge base (KB). Communication with an agent is with regard to its KB e.g. questions and statements about what a KB contains, requests to add or delete statements from the KB, or requests to use knowledge in the KB to route messages to other agents. Performatives are grouped in discourse, conversation, and networking and facilitation performatives. A message structure may optionally contain the message sender's name, a recipient's name, the content of the message (to express propositions, objects and actions), reply information, a content language and the ontology of the content. In each domain of KQML-compliant agents there is at least one agent with a special status called facilitator that can handle networking and facilitation performatives. Agents advertise to their facilitator, that is they send advertise messages to their facilitators to announce the messages that they are committed to accepting and processing. Network and facilitation performatives allow agents to find other agents that can process their queries as facilitators can advertise messages community-wide. The KQML specification has been under much criticism in that many of its performatives are redundant, ambiguous and overlap in their functions. A formalization of the KQML
specification appeared in a later version, [28], to give the semantics of the performatives and to clarify their functions. As a remedy to KQML, FIPA (Foundation for Intelligent Physical Agents), [14], has proposed two kinds of specification: agent and support interoperability with other FIPAspecified systems to industry on the use of FIPA technologies. The normative part contains specifications for agent management, agent communication language and agent/software integration. The FIPA Agent Communication Language (FIPA-ACL) is based on speech act theory, [52]. Messages are actions or communicative acts which can influence the actions of other agents. Every communicative act is described in both a narrative form and through formal semantics based on modal logic. The semantics are intended to give a deeper understanding of the meaning of the language and to be an unambiguous reference point. FIPA has also defined a number of protocols for patterns of conversations through an extension of UML called AUML, [3]. These range from simple requests for performing an action and querying, to setting up contracts and exchanging messages in auctions. Despite the semantics provided in the FIPA framework, communicative acts are still ambiguous and can lead to unexpected effects. Some researches, [59], deems communicative acts to be specific and internal to the agents in a group. There have been substantial efforts for standardizing FIPA ACL for communication, [44]. G. Agent Interaction Protocol(API) Fornara and et.al agree that Interaction Protocols are patterns of behavior that agents have to follow to engage in a communicative interaction with other agents within a multiagent system (MAS). [35] Agent Interaction Protocols (AIP's) are a pattern or a sequence of agent messages needed to achieve a meaningful result [45]. AIP's provide structure to agent interaction, and additional context information beyond that supplied by the ACL message. This context information at minimum includes shared expectations about the possible and required conversational moves between interacting agents. [58] A group of rational agents complies with an interaction protocol in order to engage in task-oriented sequences of message exchange. Thus, when an agent sends a message, it can expect a receiver's response to be among a set of messages indicated by the protocol and the interaction history. With a common interpretation of the protocol, each member of the group can also use the "rules" of the interaction in order to satisfy its own goals. In order to reach an implicit consensus about the possible states and actions in an interaction, it is necessary for the protocol itself to be correct (e.g. no contradictory states), unambiguous (e.g. possible actions are not vague), complete (e.g. no states are undefined) and verifiable (e.g. correctness properties can be verified). If a protocol does not exhibit these features, then with the
difference in the participants' private beliefs, experience, intuition or culture, the agents may perform contradictory and unexpected actions leading to the possible breakdown of the interaction, or the group, or encourage malicious behavior and cause discontent. The ability to express correct protocols depends in turn on the specification language or tool used to model the protocol. There are a number of requirements for a specification/implementation language or methodology for an interaction protocol. One of them is a formalization which lends itself to verification, validation and execution tools. [54] This thesis verifies interaction protocols proposed in statecharts and AUML, and Petri net [38], and show the inadequacy of these notations for specifying communication in multi-agent systems. For each verified protocol, its correct version is given in ANML. Modeling agent interaction can be done by using several means. The FIPA [85] uses the AUML agent interaction protocol diagrams [101] for modeling interactions between agents. These diagrams are an extension of the Unified Modeling Language (UML) sequence diagrams [100] but they are more powerful in their expressiveness. They can fold several sequences into one diagram by adding additional elements (AND, XOR and OR) to the usual sequence diagram. Thus they can describe a set of scenarios. Figure 2 shows the FIPA Request Protocol and a compliant Producer Consumer example. [99]
translated from extended statecharts to ANML and vice versa. ANML protocols facilitate verification, validation and other forms of reasoning including symbolic execution. They choose to extend statecharts for visual representation because they seem to exhibit the most adequate expressiveness, readability and intuitiveness for our purpose. To illustrate this point, Paurobally and et.al study the expressiveness of currently used notations like AUML and Petri nets. They compare diagrammatic notations such as AUML, Petri nets and statecharts [54] H. Agent Negotiation Meta-Language (ANML) ANML is a multi-modal propositional dynamic logic based meta-language for representing and reasoning about the states and processes of negotiation. New or existing protocols can be expressed and extended in ANML so as to use its verification capability. ANML addresses what can be standardized without the danger of semantics mismatch in language and ontology between different agents. [53] A meta-language called ANML is specified as an extension of propositional dynamic logic. The syntax and the semantics of ANML, including axioms and inference rules that hold in this normal modal system, are defined. Interaction protocols between agents can be concisely and completely specified in ANML allowing representation and reasoning about the states and processes of a negotiation. ANML can be used to construct and validate properties of interaction protocols. Existing communication languages such as KQML and FIPA ACL focused on performative or communicative acts and their semantics. In addition to standardized agent languages, shared protocols and conversations facilitate the interoperation of heterogeneous agents so that they can attain a common understanding among themselves. One way to show and develop agent interaction protocol is graphical methodologies such as AUML, Petri net, and statechart. I. Graphical methodologies of Agent Interaction Protocol Agent Unified Modeling Language (AUML)
Figure 2: Agent interaction protocol diagrams of the FIPA Request Protocol and a compliant Producer Consumer example [99] Paurobally and et.al [2003] identify in their paper, the bridges the gap between formal specification and intuitive development by: (1) proposing an extended form of propositional dynamic logic for expressing protocols completely, with clear semantics, that can be converted to a programming language for interaction protocols and developing extended state charts as a diagrammatic counterpart. In this paper, they propose an extended form of Propositional Dynamic Logic (PDL) for presenting interaction protocols. The extended form of PDL that they outline is called ANML. They identify that protocols can be
AUML, [39], is an extension of UML to express agent interaction protocols through UML sequence diagrams. AUML specifies an Interaction Protocol (IP) in the form of a UML sequence diagram with extensions. Agents belong to classes and are assigned roles. An IP (interaction protocol) diagram shows interactions between agents along a timeline. The Unified Modeling Language (UML) is gaining wide acceptance for the representation of engineering artifacts in object-oriented software. [7] The result is Agent UML (AUML) The UML has been proposed elsewhere as a tool for modeling agents [38], modeling agent behaviors' [21] and details of agent designs [42] and modeling Ontologies in specific domains [11].
By using standard UML diagramming techniques such as state charts, activity diagrams, and class diagrams the behavior of the agent can be documented. The UML provides three standard analysis classes that are used to specify in an abstract and general way the nature of a system. Typically these classes are abstractions of one or more classes that will be found in the system design. They result from, and are a part of a use case analysis and are one of the first steps in the transition between the analysis and design phases. These classes can be extended and applied to the modeling of the agent behavior. [10]
constraints on the concurrence, precedence, or frequency of these occurrences.[24] A net is a bipartite graph, consisting of two disjoint sets of nodes: places (circles) and transitions (bars or boxes) with arcs (which may be weighed) between a place and a transition and vice versa.[1]
Figure 4: Example of Petri Net [1] K. Statechart Statecharts are a graphical method to illustrate reactive behavior and are an extension of conventional finite-state machines and state transition diagrams. [54] The statechart notation possesses a number of advantages of interest for expressing protocols. Some of them are listed below: states with agents, identifying agents in statechart is relatively simple and does not require new timelines (as in AUML), partitions or new Petri nets. Thus the statechart does not suffer from the drastic rise in complexity and redundancy with increase in the number of agents identified, contrary to AUML and Petri nets. allowing an agent to refer and reason about the state of an interaction. express agent interaction protocols graphically by adding in ANML constructs. [54]
Figure 3: Modeling agent knowledge with standard UML analysis classes [10]
J. Petri net Petri nets, first described by Carl Adam Petri's dissertation in 1962,[49] Petri nets are a well-established formalism for modeling and verifying concurrent and reactive systems. A basic Petri net also called Place Transition (P/T) net. [6] A Petri net is an abstract, formal model of information flow. The properties, concepts, and techniques of Petri nets are being developed in a search for natural, simple, and powerful methods for describing and analyzing the flow of information and control in systems, particularly systems that may exhibit asynchronous and concurrent activities. The major use of Petri nets has been the modeling of systems of events in which it is possible for some events to occur concurrently but there are
Figure 5: Example of statechart [54] III. PROTOCOLS IN ANML A. Bilateral Negotiation Protocol A bilateral protocol defines a protocol of conversation between two parties looking for an agreement over a negotiation subject. The initial version of the bilateral
protocol studied here is expressed as a state transition diagram in. According to Figure 5, entry in a bilateral negotiation is through either an initial-request, initial-offer or initialpropose message leading to an open state and more precisely to a requested, offered or proposed state respectively. The process X.initial_request means that agent X sent an initial_request leading to a requested(X) state. The state requested(X) is read as agent X has triggered the state requested. Each state may be interpreted as conveying a level of commitment towards an agreement. For example an agreed state entails more commitment than a requested state. A reject action or timeout event can occur at any time. From a requested state, both agents can continuously make suggest actions to remain in that state while modifying the subject of negotiation until one of them wants to move to a higher level of commitment through an offer or propose. The proposed state is a sub-state of offered and both of these states allow an agreement to follow in the next action leading to an agreed state. The difference between offered and proposed is that from the former state, an agent can only agree or reject whereas from the proposed state, an agent may agree, reject or return to a requested state through a request.[95]
electronic procurement systems for all sorts of goods or the electronic auction markets. defined economic environment. They offer thus to economists a vast field for experimental research allowing to obtain empirical results that can be suitably validated. scientific results in economy, which have allowed developing new methods for pricing in competitive markets. Moreover, it has also helped to further understand complex negotiation mechanisms between vendors and buyers. Much different taxonomy of auctions may be given. Usually, auctions are classified according to the issues that they resolve. They can range from the familiar zero- dimensional auctions that determine only the price of the product, onedimensional auctions, that resolve price and quantity, to multidimensional generalizations that resolve multiple issues at once [90]. The later can be also characterized as multi-attribute, allowing specification of offers referring to multiple attributes of a single good [91]. In addition, combinatorial auctions are the ones that allow bidders to express offers for combinations of goods, aiming at an allocation that maximizes overall surplus. Wurman et al. in [92] recognize three core activities that are common to all auctions. The first two are requisite, while the third is usually performed, and all three may be interleaved and iterated depending upon the auction rules: indicate their willingness to participate in exchanges. In receiving a bid, the auction verifies that it satisfies the auction rules, and if so, admits it into the active set of bids. entral purpose of an auction is to clear the market, determining resource exchanges and corresponding payments between buyers and sellers. Clears can be triggered at scheduled times, at random times, by bidder activity or by bidder inactivity. ntermediate information: Auctions commonly supply agents with some form of intermediate status information, such as quotes. [92] a)Auction Types Auctions range vastly in types and parameters. The figure below shows the most common types of auctions:
Figure 6: Bilateral Negotiation statechart [94] B. On-line auctions McAfee and McMillan [87] define auctions as a market institution with an explicit set of rules determining resource allocation and prices on the basis of bids from the market participants. Auctions are considered a very efficient and effective method of allocating goods or services, in dynamic situations, to the entities that value them most highly [88] and many believe that their paradigm constitutes an important economic model. Indeed, Paul Klemperer gives three reasons why the theory of auctions is relevant to economists [89]: realized through auctions. Examples include the many auctions organized by governments, the enterprise wide
ii. First Price Sealed-bid auction In general, there is no dominant bidding strategy in this auction. Here, the price of the bid and the time to stop are functions of the agent's own valuation of the item and its beliefs about the valuation of other bidders. A good strategy is to bid less than the user's true valuation, but how much lessdepends on the user's attitude toward risk, the user's private valuation, as well as the prior beliefs about the valuations of other bidders. An analysis of such strategies can be found in. [83] ideally, sealed bid auction protocols should meet the following requirements: party honestly executes the protocol. Figure 7: classification of different types of auctions. i. English Auction The agent's dominant strategy (the best thing to do, irrespective of what the others do [81]) is to bid a small amount more than the current highest bid and stop when the user's valuation is reached. For example, in Yahoo auctions, "automatic bidding" allows buyers to input their maximum bid (i.e., valuation of the item) and an agent will bid incrementally when it is necessary to win the auction. [82] EAP is a "many protocol and is used when there is a scarcity or excess of resources. For example if resources are scarce, a service provider acts as the auctioneer and auctions access to its resources to many consumers and the consumer with the highest bid win the auction". [55] The advantages of the English protocol are: (a) the bidders have no motivation to manipulate and change bids according to their beliefs about other agents. (b) English auction is the best preferred protocol if the valuation problems of the agent are difficult [41], and finding the best possible multi-attribute bid can be a difficult problem. (c) Some variations of the English protocol allow the buyer's preferences regarding the required item to remain partially hidden. [13] can determine the winner and the winning price. Information about other bids is secret from all parties, except that the bid values are less than the winning price. winning price are known, but information about other bids is not obtainable. Non repudiation: No one can deny their bid. iii. Double Auction Auction protocols can be divided into two types, namely, onesided auction protocols in which a single seller (or buyer) accepts bids from multiple buyers (or sellers) and two-sided or double auction protocols in which multiple buyers and sellers are permitted to bid to exchange designated goods. Double auctions have caught the attention of many and have become an active research area in multi-agent systems. [61] Two main types of Double Auctions can be distinguished. In the Call (or Clearing House) Auctions, the auctions have a predefined time frame when the participants can submit their offers. In the Continuous Double Auctions (CDAs), the offers are submitted continuously, until a match between an ask and a bid is achieved, or until the auction is canceled.[30] iv. Vickrey Auction In a private value Vickrey auction, the dominant strategy is to bid the user's true valuation [82]. In this context, agents truthfully reveal their preference which allows efficient decisions to be made. [83] v. Dutch Auction In a Dutch auction, the auctioneer starts the auction at a high price and progressively lowers the price until either a participant bids or the auctioneer quits. An auctioneer usually has a reserve price and he withdraws from the auction if there are no bids at that limit. The item is sold to the first bidder. Dutch auctions are used to sell quantities of flowers in Holland. A Dutch auction protocol can avoid contention amongst buyers by accepting the first bid and disregarding other bids. [95]
Figure 8: State diagram for English Auction Protocol [95]
IV.AUCTION NEGOTIATION PROTOCOL According to Wieczorek and et.al, an auction is an economic mechanism to allocate resources among a group of bidders, and auction theory is currently a well developed economic theory which started to be put to work since the mid 90s.[30] Auctions are a popular type of negotiation. According to Rosenschein et al. in propose five attributes that are necessary for a 'good' negotiation mechanism: efficiency, stability, simplicity, distributive and symmetry. s often difficult, if not impossible to undertake without imposing severe restrictions such as independent private evaluations, risk neutrality, independent products to sell, etc. However, these restrictions are quite straightforward to implement in a multi-agent system. Indeed, the agents are often considered as rational entities seeking to maximize a well defined utility function based on precise rules. By imposing on architecture strict social relations between the different buyers, a simple auction model can be designed, which follows the simplifying restrictions. This will assure the efficiency of the proposed auction mechanism. forbid an agent to cancel or reconsider offers once they have been submitted. simple to implement. This is in fact one of their strength. Considering the number of messages to communicate, the only communications necessary are the offers and the responses of the vendor. fulfilled: while there are multiple independent buyers, the vendor or auctioneer is a central entity. However, in a more complex environment, i.e. a market, different buyers and vendors may negotiate. In such an environment there is no global central entity anymore. The vendors may either act independently or coordinate their activities. This allows for multiple simultaneous auctions. asily achieved by assuring that all participating agents have access in the same way to all information available to them. No agent will thus be privileged with regard to others. [67] According to the Esther David and et.al an auction is an efficient protocol for reaching agreements among agents. [13]
V. THE SEMANTIC WEB A. Introduction to semantic web Over the past decade, the Web has grown from what many perceived as an improved Gopher interface to become the new
medium of communication. It would have been hard to predict such a transition; the doubts that many researchers had about this outcome turned out to be misplaced. The Semantic Web is the outgrowth of many diverse desires and influences, all aimed at making better use of the Web as it stands. [8] The meaning behind the Semantic Web is a mesh of information linked up in such a way as to be easily process able by machines, on a global scale. It's an efficient way of representing data on the World Wide Web, or as a globally linked database. [51] On the other word, Semantic Web will enable automatic collection and correlation of various parts of information about an object, available at various different web resources. Semantic Web will save our valuable time we spend on navigating from one web resource to another in order to obtain meaningful information on a particular object. [18] The Semantic Web aims to overcome problems of making web content more accessible to automated processes; [23] the goal of Semantic Web research is to transform the Web from a linked document repository into a distributed knowledge base and application platform, thus allowing the vast range of available information and services to be more effectively exploited. This is to be achieved by adding semantic annotations to Web content, i.e., annotations that describe the meaning of the content. This is where Ontologies come into play: they provide a mechanism for introducing a vocabulary and giving precise meanings to the terms in the vocabulary. [23] Semantic Web is centered on: metadata; Ontologies; logic and inference; and software agents [19]. Metadata is data about data and its aim is to capture part of the meaning of data. It should be explicitly represented to enable machine- processibility. Ontology is a shared view of a domain conceptualization taxonomy. It not only defines terms (or concepts) and their meaning, but also their content dependent usage - constraints and conditions, and relationship to other terms. A set of inference rules are also associated with ontology. These rules are used to derive new information from the explicitly stated facts. Ontologies are often developed in a collaborative manner by domain experts. Languages for representing Ontologies and related issues are discussed in. [6, 8] The Semantic Web is being built on XML's ability to define customized tagging schemes and on RDF that is a flexible approach to represent data and on ontology language (OWL) at the first level above RDF that can formally describes the meaning of terminology used in Web documents. In order for computers to be more helpful, the Semantic Web augments the current Web with formalized knowledge and data that can be processed by computers. In order to enable to search and process information such as airline flights, software programs or software agents need information that has been modeled in a coherent manner. Ontology models all the entities and relationships in a domain. [18] B. The vision Originally the Web was envisioned as a set of tools for the representation of relationships between named objects [71].
Now, the main aim of the Semantic Web initiative is to fulfil this vision. The collaborative efforts aim at the development of technologies and standards, which help machines to understand the meaning of data. The guiding idea is having data linked in such a way that it can be retrieved and reused across platforms, applications and communities [56]. To meet these Figure goals, in a collaborative effort led by the World Wide Web Consortium, a set of layers has been designed (figure below).
All elements of a triple are resources with the exception of the object and subject that can be also literals. Literals can be either plain literals or typed literals using XML Datatypes as defined by Biron (2004) [80]. d. The Ontology level Both RDF and RDFS provide basic features of knowledge representation, but more modelling primitives are needed. The Web Ontology Language OWL enables the semantic specification and conceptualization of different application domains. The aim of OWL is to bring the expressiveness of description logics to the Semantic Web. The W3C OWL recommendation 19 includes the definition of three variants of OWL with different levels of expressiveness [77]. OLW Light provides classification hierarchies and simple constraints, such as 0 and 1 cardinality. Originally it was hoped that it would be simpler to provide tool support, allowing a quick migration path for existing systems [78]. OWL Light is the simplest OWL language and corresponds to description logic SHIF [79]. OWL DL is intended to support a maximum of expressiveness possible, but still retains computational completeness (all conclusions are guaranteed to be computed) and decidability (all computations will finish in finite time). OWL DL corresponds to description logic SHOIN [79]. The language variant includes all OWL constructs, but they can be used only under certain restrictions. For example number restrictions are not allowed to be placed upon properties that are declared to be transitive. OWL Full is designed to utilize the full syntactic freedom of RDF and RDFS. It is funded on semantics different from OWL Light and OWL DL; it has no expressiveness constraints, but does no longer guarantee the properties of computational completeness and decidability [78]. For example, in OWL Full resources can be treated simultaneously as a class and as an individual. e. OWL Sub-languages OWL provides three increasingly expressive sub-languages designed for use by specific communities of implementers and users:- (i) OWL Lite (is least expressive, suitable for simple class hierarchy and simple constraints and useful for quick migration path for thesauri and other taxonomies), (ii) OWL DL (is more expressive, retains Computational Completeness that is, all conclusions are guaranteed to be computable and has Decidability that is, all computations will finish in finite time, and is based on Description Logic), (iii) OWL Full (is most expressive and has syntactically freedom of RDF and has no computational guarantees but allows an ontology to augment the meaning of the pre-defined (RDF or OWL) vocabulary and is not suitable for auto-reasoning) [18] Ashok U. Mallya and et. al [2] argue that OWL-P (OWL for Processes and Protocols), a methodology and software tool for specifying and enacting interaction protocols among autonomous agents. They used the Ontology Web Language (OWL) and the Semantic Web Rule Language (SWRL) to specify interactions as rule based commitment protocols, which are a departure from the traditional, rigid protocol specifications. They developed a novel system and methodology with the following main features:
Figure 9: Semantic web layers a. Unicode and URI Unicode is a standard allowing computers to consistently represent and manipulate text. A Universal Resource Identifier is a string of characters to identify or name a resource. [73]. b. The XML layer At the core level is the XML layer with its XML Namespace and XML Schema, providing the syntax for the Semantic Web. The primary purpose of XML is to facilitate the encoding and serialization of structured data. XML is classified as an extensible language as it allows its users to define their own elements [73]. XML namespaces allow users to provide exclusively named elements and attributes in an XML document. An XML document can contain element or attribute names from more than one XML vocabulary. If each vocabulary has been given a namespace then the ambiguity between identically named elements or attributes can be resolved. XML schema can be used to express a set of rules to which an XML document must conform in order to be considered valid according to that schema [74]. c. The Metadata Level On the metadata level RDF and RDFS allow the description of resources. The Resource Description Framework is a specification designed for representing metadata about resources in a graph form [75]. However, RDF has become a general method of modelling information through a variety of syntax formats. The normative syntax for serializing RDF is XML in the RDF/XML form, but other serialization formats, such as Notation3 that will be discussed in section in detail, are used as well. The RDF data model is based on triples in the form of "subject-predicate-object" expressions. Hayes (2004) [81] defines the formal semantics of RDF. As pointed out Resources can represent everything, from websites to people.
model that is based on commitments among the participants to achieve flexibility in execution. and private local policies of interacting agents. using a protocol algebra [56], derive individual participants' roles from the processes, and bind participants' policies at runtime. RDF or Resource Description Framework In the semantic Web architecture, Web ontology languages are built on top of RDF(S). RDF [12] and RDF-Schema [51][12] are at the base of the semantic Web. All the languages in the upper layers are built on top of them. RDF(S) defines both the syntax and semantics of the subsequent layers. However, RDF(S) is built upon a non-standard thesis of representation [50]. The syntactic and semantic characterization underlying RDF(S) differ significantly from the syntax and semantics of most first-order logical languages [5] RDF has been given a model-theoretic semantics, which provides formal meaning to its abstract syntax [43]
VI. RELATED WORK The approach proposed in this paper is novel in that no other approach presented in the literature makes use protégé for modeling agent interaction protocol. A. Interaction Protocol Odell and et al. [2000] and Bauer and al. [2001] identify that UML to express agent interaction protocols through UML sequence diagrams. Bauer and al. [2001] also agree that it is a specification technique for interaction protocols with formal and intuitive intended semantics and a user-friendly graphical notation, Bauer et al. [4] state that the use of well known standards and technologies in multi-agent systems would increase the adoption of multi-agent technology in the commercial software development industry. According to them, two main reasons for using UML as a common ground are: • Many agent systems can be implemented in terms of objectoriented technology • Most software developers know and use UML. Barron [1982], Brauer et al. [1987], Genrich and Lautenbach [1981], Peterson [1981], Reisig [1985], Richter and Durchholz [1982], and Zisman [1977] have the same idea that Petri nets are a graphical formalism for modeling (distributed) system behavior. Paurobally and Cunningham [53] in paper Safety and Liveness of Negotiation Protocols are focused on specifying and proving safety and liveness properties of negotiation protocols. They identified that a safe and sound interaction allows no unpredictable states and transitions, and negotiation states that become valid are those that are defined by the protocol and none other. They specify three properties - liveness, termination and soundness - for a protocol in ANML. Also
they examined a negotiation between two agents following a bilateral protocol and they prove that the latter protocol is sound, terminates and exhibits liveness. [53] Valentina and et al [102] attempts to address the problem of automated agent negotiations in open environments, where the negotiation protocols are not known beforehand, but instead the host advertises the type of protocol regulating the interaction. Method ontology aims at modeling knowledge concerning the interactions between agents on how to perform a task. To demonstrate a proof of concept for their approach, the authors considered the application scenario of the Trading Agent Competition (TAC) and built an ontology for English auctions using DAML+OIL. It should be noted, though, that the approach is still at an early stage of development and several other issues need to be investigated. [102] B. Graphical representation Paurobally and et al [54] has addressed the need for formalized and more expressive logical and graphical methodologies for precisely specifying and validating protocols and their properties for interaction between rational agents. Towards this end, they show a combined approach consisting of extended PDL and extended statecharts. They specify a formal language, called ANML, based on PDL for representing and reasoning about agent interaction protocols. [54] The works on interaction protocol by Paurobally and Cunningham on 2002 [103] have shown that, despite being extended for the purpose of Agent Oriented software engineering, Agent UML notations still do not provide an unambiguous representation of interaction protocols, and are better suited for informal descriptions of Interaction Protocols. A more rigorous description, which would force the protocol designer to specify the protocol exactly, is now required. Paurobally [103] has developed one such notation, ANML, which is essentially an extended form of dynamic logic [104], but this notation is heavily logic based, and would therefore be of limited explanatory appeal to agent designers. Another notation, based on finite state machines, has been proposed by [105], but this notation also lacks the simplicity and clarity of less rigorous forms of representation such as Agent UML. [103] Dunn-Davies and et.al [106] show that the development of propositional statecharts has been motivated by the need to provide a notation which is sufficiently intuitive and easy to understand to encourage agent designers to adopt standard protocols while preserving the formal rigor required to represent the protocols unambiguously. It is also intended to form the basis of further work on the automated conversion of protocols described using a propositional statecharts into dynamic logic, which may be verified, and also into executable program threads. In this paper we will describe the propositional statechart formalism and demonstrate its ability to provide a simple yet formally rigorous description of a version of the English Auction Protocol. The English Auction Protocol is a natural choice of interaction protocol to use for this purpose because it is well known and widely used in e- commerce. For example the auction site eBay uses this
protocol [107]. It is also surprisingly complex, and forms an interesting example of an iterative Interaction Protocol [105]. C.Semantic web language Ashok and et.al [2] describe OWL-P (OWL for Processes and Protocols), a methodology and software tool for specifying and enacting interaction protocols among autonomous agents. We use the Web Ontology Language (OWL) and the Semantic Web Rule Language (SWRL) to specify interactions as rule- based commitment protocols, which are a departure from the traditional, rigid protocol specifications. Protocols in OWL-P allow flexibility during execution and honor agent autonomy because of their declarative nature and their use of commitments. [2]
VII. SYSTEM ANALYSIS AND DESIGN A d e ta ile d e m p iric a l stu d y b a se d o n th e a b o v e sta te d re se a rc h is p re se n te d . Th e sy ste m d e sig n a n d th e a lg o rith m s e m p lo y e d a re d e sc rib e d in th is se c tio n . A. Overview Most of the classic auctions in the other word negotiation protocols examined in introductory surveys of auction theory are one-sided, in that a single seller or buyer. Accepts bids from multiple buyers or sellers. Two-sided or double auctions, in contrast, permit multiple buyers and sellers to bid to exchange a designated commodity. Most types of negotiation can be characterized in terms of how they manage three core activities. [68] updates its database of active bids accordingly. the bidding period, the auction may reveal information about the status of bids. determine contracts between compatible buyers and sellers. The clear action matches buyers and sellers, and sets the transaction price. [68] Modeling English auction and bilateral protocol require making decisions and selecting technologies to support those decisions. The UML (Unified Modeling Language) is a language used to specify, visually model [63], and document the artifacts of an Objected-Oriented system under development. It represents the unification of a number of ideas from different methodologists. [66] Using UML to design a system improves its maintainability and reusability. Object oriented analysis techniques offer class, use case, state chart, sequence, and other diagrammatic notations for modeling [64]. UML has been used successfully in numerous projects to model varying architectures and requirements. [64-65] B. Scenario of auction processes Scenario-based of auction processes is initiative way of visualizing, understanding and analyzing the system design requirements. The scenario was devised (depicted in Figure 10) and used to analyze the requirements. [84] Figure 10: Scenario of auction processes [84] Participants of the auction are buyer and seller. Negotiation starts when both buyer and seller join to negotiation room and start chatting and send the offered values to each other. This process continues until the seller accepts the offered value sent from buyer and reach to deal. In the depicted figure (10) chatting is the process of sending the offered values from both buyer and seller. And in the selecting purchaser, the seller decides to choose which deal is more acceptable and select the owner of the bid which is buyer as winner and finish the auction by broadcasting the winner. C. UML to support Negotiation Protocols Negotiation systems are a major component of the electronic marketplace that allows users at any site to sell and buy products. The sellers set up negotiations for their products while the purchaser who bids the highest amount wins the right to purchase the product in a negotiation. [84] 1) Use Case Diagram Use case diagram is graphical view of interaction between classes (Purchaser and Seller). Figure 11 is the Use Case Diagram for the actions that the Users (Seller, Purchaser) can perform in an auction. Users after logs in to the system can start chatting with each other to reach to deal and then the bidding process is started and finally logs out from the system.
Figure 11: Auction Use Case Diagram D. Sequence Diagram A diagram that shows object interactions arranged in time sequence. In particular, it shows the objects participating in the interaction and the sequence of messages exchanged. Typically, it captures the behavior of a single use-case. [96] Figure 12 and 13 show the Sequence Diagrams for the Purchaser and Seller and show how they negotiated to each other in the system. Figure 13: Sequence Diagram for Seller With having this graphical representation of negotiation protocol we can implement the suitable model regarding to the bilateral and English auction negotiation protocols.
VIII. IMPLEMENTATION IN PROTÉGÉ Th is se c tio n d e ta ils h o w th e im p o rta n t p a rts o f th e sy ste m we re i m p l e m e n t e d a n d d e sc ri b e s a n y p ro b l e m s t h a t h a d t o b e o v e rc o m e d u rin g th e ir im p le m e n ta tio n . Th is se c tio n la y s o u t t h e a rt i f a c t s o f o u r st u d y a s we l l a s t h e i m p l e m e n t a t i o n wh i c h f o l l o we d t h e sy st e m a n a l y si s a n d d e si g n . IF WE HOPE THAT AN AGENT CAN USE THE PROTOCOLS DEFINED IN THE PROTOCOL ONTOLOGY, WE NEED TO TRANSLATE THE
ONTOLOGY INTO A SUITABLE LANGUAGE THAT ACTS AS A SORT OF COMMON ACCEPTED LANGUAGE AMONG AGENTS . THE PROTÉGÉ 3.4 (HTTP://PROTÉGÉ.STANFORD.EDU/) PLATFORM CAN IMPLEMENT THIS TRANSFORMATION AUTOMATICALLY.
In terms of the steps of developing an ontology described in, we complete the following work: [93] classes is the key stage of developing English Auction protocol ontology. Based upon the concept model, we define classes in this protocol ontology. According to the relationships from the requirement analysis processes, we can arrange the concepts into hierarchies in terms of super-class, class and sub-class relationships.
Figure 12: Sequence Diagram for Purchaser
and describing the allowed values for them. We should first analyze the properties a class should have and the restrictions on all of the classes, and then represent the universal restrictions, existential restrictions, cardinality restrictions, necessary conditions, necessary and sufficient conditions, closure restrictions and the combination of these restrictions and conditions. In other words, we should summarize and define the axioms that exist in the negotiation protocols. erties for individuals. After collecting various existing negotiation protocols and analyzing the properties and restrictions of them, we represent them by assigning values of properties and restrictions to form individuals. This chapter illustrates the modeling of 2 different negotiation protocols in protégé. A. Modeling English Auction in Protégé This type of negotiation has 5 main classes. Auction, auctioneer, bid, client and item. OWL VIZ tab in protégé is for representing the graphical format of ontology. Figure 16 shows the classes and subclasses of auction ontology in protégé using OWL VIZ tab. As you can see the participants of auction is in subclass of client.
Figure 15: Classes Required for English auction Figure 15 also shows the different English auction classes in protégé.
Figure 16: Auction class Data Type and Object Properties presentation Fi gure 14: Graphical Presentation of English Auction in Protégé Start with auction class. Auction conducted by auctioneer and consists of 3data type property (auction date, start time and end time). Auction initiated by client who is both buyer and seller. This figure shows the data type properties and object properties of auction class. Figure 16 also present all disjoint classes of auction class which are auctioneer, item, bid and client.
shows the other disjoint classes which are auctioneer, auction, item and client.
Figure 97: Auctioneer class Data Type and Object Properties presentation The next class is auctioneer. Figure 17 shows that auctioneer has two data types properties which are auctioneer ID and auctioneer name and one object property which is conducts. This object property connects auctioneer class to auction class. The other main part of this figure is disjoint classes as well which are client, item, bid and auction.
Figure 109: Client class Data Type and Object Properties presentation As you can see in figure 19, client class has two subclasses: buyer and seller. Buyer selects and buys item, seller registers item for bid and sells item. The properties they have in this model are the same, I mean both of them have client ID and client name that's why I put them as the subclass of client to share the properties of client. This class is disjoint with auctioneer, item, auction and bid.
Figure18: Biding class Data Type and Object Properties presentation Figure 18 illustrates the biding class properties. It consists of biding ID, biding price, biding time as data type properties and bid item which represent the item that buyer choose for biding and is in auction which connect auction class to bid class and is made by buyer which links buyer to bid class. And finally
Figure 20: Item class Data Type and Object Properties presentation Finally item is class of English auction which introduce the specifications of product that's going to be sold. This class has
four data type properties which are item ID, item name, item quantity and asking price and four object properties which are accepting bid which link class item to the class bid. Accepted buyer which connects buyer class to the item class, highest bid links buyer class to item class to show the highest bid which send to the seller and is_in_auction is again links auction class to item class which means that this item is in the auction. In next chapter which is about the evaluation and the example of this model you can see how this properties work with each other to show the correct result with using the SWRL rules. 1) SWRL Rules (1) Item(?b) ? Bid(?x)? Biding_Price(?x, ?z)? Asking_price(?b, ?y)
?
swrlb:greaterThanOrEqual(?z, ?y) ? accepted_bid(?b, ?x) The rule (1) shows that whenever biding price from the buyer is more than the asking price then that bid is acceptable. (2) accepted_bid(?x, ?y)? is_made_by_buyer(?y, ?z) ? accepted_Buyer(?x, ?z) As result of rule one we find the accepted bid, with using the accepted bid from rule one and the buyer who made the biding, we can find the accepted buyer. So rule (2) shows the accepted buyer. This rule is combination rule which means we use the outcome of rule 1 in finding the outcome of rule 2. (3) accepted_Buyer(?x, ?y)? accepted_Buyer(?x, ?z)? differentFrom(?y, ?z)? is_made_by_buyer(?c, ?y)?Biding_Price(?c, ?a)? is_made_by_buyer(?d, ?z)? Biding_Price(?d, ?b) ? swrlb:greaterThanOrEqual(?a, ?b) ? highest_bid(?x, ?y) With knowing about the accepted buyer we can find the highest bid and which one of the buyer has the highest bid. The rule (3) shows that whenever we have two accepted buyer whom they made bid with different biding price we can easily find the highest bid. (4) highest_bid(?x, ?y)? is_made_by_buyer(?c, ?y)? Biding_Price(?c, ?a) ? sqwrl:max(?a) Rule (4) illustrates that with finding the highest bid from rule (3) and the buyer whom made the biding and biding price we can find the max price which means the max price that buyers offer. So this rule gives us the max price. (5) Biding_Price(?x, 217)? is_made_by_buyer(?x, ?y)? accepted_bid(?z, ?x) ? sqwrl:select(?y, ?z) Here because protégé doesn't allow us to use sqwrl:max in right hand side of SWRL rule and we want to show that which one of the buyer make the highest bid then we write this rule with the highest bid that we find in the rule (4). So "217" is the highest bid finds in the rule (4). Then whenever we have rule that biding price 217 and the buyer who made this biding and this buyer has some value as accepted bid then we can have buyer name and the item that buyer wins. This rule is in the case that the seller accepts the highest bid.
(6) Biding_Price(?x, 217)? Biding_Price(?y, 217)? differentFrom(?x, ?y)? Biding_time(?y, ?e)?Biding_time(?x, ?f)? temporal:before(?e, ?f)?is_made_by_buyer(?x, ?t) ? is_made_by_buyer(?y, ?p) ? sqwrl:select(?y, ?p) highest_bid(?x, ?y) ? sqwrl:select(?x, ?y) Now we have condition that when the biding time is finished and the auction process has two buyers with the same biding price, then at this time the protégé accept the buyer who made the bid sooner based on the time. then rule (6) shows that whenever we have two buyers who have biding price "217" they make biding at different time then accept the earliest one. The evaluation of English auction is in next chapter. IX. Evaluation and Performance Analysis Th is se c tio n is a n e v a lu a tio n o f th e p e rfo rm a n c e o f th e sy ste m . I t fo c u se s o n th e p e rfo rm a n c e stu d y o f E n g lish Auction. We present the results obtained by running several te st c a se s, c o n sid e rin g th e tim e v a ria n t . A. English auction evaluation Figures 21-38 show the structure of creating instances in the protégé. We initiate one auction named as auction-59. In this auction one seller who wants to sell his book participated. We have three buyers named as buyer-1, buyer-2 and buyer-3. All three buyers want to buy that specific book from seller-1. Each buyer starts to send the offered value to the buyer in the specific time. This is shown in figures 28-31 which write the biding or desired price in biding price place. Then we test this model and finding results based on using SWRL rules. We have two test cases which we consider it in this section. The figures below illustrate the instances in protégé.
Figure 21: English auction instance 1
Figure 22: English auction instance 2
Figure 25: English auction instance 5
Figure 23: English auction instance 3 Figure 26: English auction instance 6
Figure 24: English auction instance 4 Figure 27:English auction instance 7
Figure 28: English auction instance 8 Figure31: English auction instance 11 We test the situation according to two conditions. First one is based on the highest biding price that buyers offered, second one is the situation that two buyers have the same biding price and at this moment, biding time plays the role to choose which one of the buyers will be the winner of auction. So it's based on the biding time. Test case 1 illustrates the auction based on the highest bid and test case 2 shows the winner based on the earliest biding time. 1) Test case 1
Figure 29: English auction instance 9
Figure 32: Highest bid Figure 32 shows how to used rule four for find the highest bid. As you can see the highest bid is 217.
Figure 30: English auction instance 10
Figure 33: The auction winner Figure 33 shows the winner of auction and the item that won. This is possible when using rule 5. 2) Test case 2
Figure 35: Biding time two
Figure 36: Highest bid
Figure 34: Biding time one
communication. We analyze how Semantic Web and which Semantic Web Languages use to model Agent Interaction Protocols by modeling it them in protégé. Auctions are a popular form of online trading. Ontology for auctions allowing verifying their properties may prevent fraudulent behaviors and ensure that all participants adhere to the agreement, thus maintaining some sort of stability in the market.[59] The central difficulty is to determine the iteration in protégé, one of the main problems of the protégé is that it's not possible to show the iteration in it, without the using programming language it's not possible.
Figure 37: Two buyers with the same highest bid Figure 37 shows that we have two buyers with the same biding price and the biding time is finished now as you can see in figure below (38) with using rule 6, it gives us the biding which made earliest and the buyer who made this bid as a winner.
APPENDIX Appendixes, if needed, appear before the acknowledgment. ACKNOWLEDGMENT The preferred spelling of the word "acknowledgment" in American English is without an "e" after the "g." Use the singular heading even if you have many acknowledgments. Avoid expressions such as "One of us (S.B.A.) would like to thank ... ." Instead, write "F. A. Author thanks ... ." Sponsor and financial support acknowledgments are placed in the unnumbered footnote on the first page. REFERENCES [1] ANDREAS OBERWEIS and PETER SANDERInformation System Behavior Specification by High-Level Petri Nets-ACM Transactions on Information Systems, Vol. 14, No. 4, October 1996, Pages 380-420. [2] Ashok U. Mallya, Nirmit Desai ,Amit K. Chopra Munindar P. Singh, OWLP:OWL for Protocol and Processes-2005 ACM [3] Bauer, B., Müller, J., Odell, J. 2001. "Agent UML: A Formalism for Specifying Multiagent Interaction". AgentOriented Software Engineering, Paolo Ciancarini and Michael Wooldridge eds., Springer-Verlag, Berlin, pp. 91-103. [4] B. Bauer, F. Bergenti, P. Massonet, and J. J. Odell. Agents and the UML: A unified notation for agents and multi-agent systems? In M. J. Wooldridge, G. Weiss, and P. Ciancarini, editors, Agent-oriented software engineering II : second international workshop, AOSE 2001, Montreal, Canada, May 29, 2001: revised papers and invited contributions, number 2222 in Lecture Notes in Computer Science, pages 148-150. Springer, 2002. [5] Bernardo Cuenca Grau-A Possible Simplification of the Semantic Web Architecture-2004, May 17-22, 2004, New York, New York, USA.ACM [6] Berndt Farwer, Michael Leuschel-Model Checking Object Petri Nets in Prolog-2004 ACM [7] Bernhard Bauer-UML Class Diagrams and Agent-Based Systems-2001 ACM
Fig ure 38: The auction winner
X. CONCLUSION AND FUTURE WORK In this last section the achievements and shortcomings of the presented approach and future work are reviewed and possible solutions are shortly examined. A. Achievements, Limitations and further Research In this thesis the author gave a structured overview on agent interaction protocol as well as the model of two specific types of it. This novel paper has several advantages: Interaction Protocols through Ontologies.
[8] Catherine C. Marshall, Frank M. Shipman, Which Semantic Web?, ACM conferance-2003 [9] Christos Georgousopoulos, Omer F. Rana -An approach to conforming a MAS into a FIPA-compliant system,2002 ACM [10] Clint Heinze,Leon Sterling-Using the UML to Model Knowledge in Agent Systems-2002 ACM [11] Cranefield, S. and Purvis, M. UML as an ontology modelling language. In Proceedings of the Workshop on Intelligent Information Integration, 16th International Joint Conference on Artificial Intelligence (IJCAI-99), 1999 [12] DANIEL OBERLE, STEFFEN STAAB, RUDI STUDER, and RAPHAEL VOLZ Supporting Application Development in the Semantic Web- ACM Transactions on Internet Technology, Vol. 5, No. 2, May 2005, Pages 328- 358. [13] Esther David, Rina Azoulay-Schwartz,Sarit KrausProtocols and Strategies for Automated Multi-Attribute Auctions-2002 ACM [14] FIPA.. 1997. Agent Communication Language Technical report. Foundation for Intelligent Physical Agents. http://www.fipa.org access 4 April 2009 [15] FIPA TC Agent Management,"Agent Management Specification", 2004/18/03 http://www.fipa.org/specs/fipa00023/SC00023K.pdf access 4 April 2009 [16] Frank Guerin and Jeremy Pitt-Denotational Semantics for Agent Communication Languages-AGENTS'01, May 28-June 1, ACM, 2001 [17] Genesereth, M., Ketchpel, S., Software Agents. Communications of the ACM, (July 1994). [18] Goutam Kumar Saha- Web Ontology Language (OWL) and Semantic Web-ACM Ubiquity, v.8, 2007 [19] Grigoris Antoniou, Frank van Harmelen. A Semantic Web Primer. The MIT Press; Second edition (9 May 2008). ISBN-10: 0262012421 [20] Guido Governatori, Marlon Dumas, Arthur H.M. ter Hofstede and Phillipa Oaks-A Formal Approach to Protocols and Strategies for (Legal) Negotiation- 2001 ACM [21] Heinze, C., Papasimeon, M. and Goss, S. Specifying agent behaviour with use cases. In Proceedings of Pacific Rim Workshop on Multi-Agents, PRIMA2000}, 2000. [22] Huhns, M. N. and Singh M. P (eds.) 1997. "Readings in Agents". p371-379. ISBN 1-55860-495-2 [23] Ian Horrocks, Semantic Web: The Story So Far, 16th International World Wide Web Conference- May 2007 [24] JAMES L. PETERSON- Petri Nets-permission of the Associat] on for Computing Machinery. Computing Surveys, Vol 9, No. 3, September 1977 [25] Jeremy Pitt, Frank Guerin, Chris Stergiou- Protocols and Intentional Specifications of Multi-Party Agent Conversations for Brokerage and Auctions- Agents 2000 Barcelona SpainACM 2000 [26] KRUPANSKY J.W. 2003. What is a Software Agent. http://agtivity.com/agdef.htm Accessed April
2009
[27] Labrou, Y. 2001. "Standardising Agent Communication". In Proceedings of 9th ECCAI Advanced Course and EASSS 2001. Springer, LNAI 2086.
[28] Labrou, Y. and Finin, T. 1997b. "Semantics and conversations for an agent communication language". In Proceedings of the Fifteenth International Joint Conference on Artificial Intelligence (IJCAI-97), pages 584--591, Nagoya, Japan. Communications of the ACM, 21:666--677. [29] Marc-Philippe Huget, James Odell- Representing Agent Interaction Protocols with Agent UML-2004 ACM [30] Marek Wieczorek,Stefan Podlipnig, Radu Prodan, Thomas Fahringer-Applying Double Auctions for Scheduling of Workflows on the Grid- SC2008 November 2008, Austin, Texas, USA,2008 IEEE [31] MICHAEL J. WOOLDRIDGE AND NICHOLAS R. JENNINGS- SOFTWARE ENGINEERING WITH AGENTS: Pitfalls and Pratfalls, MAY-JUNE 1999,IEEE INTERNET COMPUTING [32] Michael Wooldridge, Verifiable Semantics for Agent Communication Languages-1998 IEEE [33] Mihai Barbuceanu and Mark S. Fox- The Architecture of an Agent Building Shell, November 1995,Publisher: IBM Press [34] Nicoletta Fornara, Marco Colombetti, Defining Interaction Protocols using a Commitment-based Agent Communication Language, 2003 ACM 1-58113-6838/03/0007 [35] Nicoletta Fornara, Marco Colombetti-Defining Interaction Protocols using a Commitment-based Agent Communication Language-2003 ACM [36] Nirmit Desai, Ashok U. Mallya, Amit K. Chopra, and Munindar P. Singh, Interaction Protocols as Design Abstractions for Business Processes, IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, VOL. 31, NO. 12, DECEMBER 2005 [37] Nwana, H.S. Software Agents: An Overview. In: The Knowledge Engineering Review, October/ November 1996, Volume 11, Number 3, pages 205-244. [38] Odell, J., Parunak, H. and Bauer, B. Extending the UML for Agents. In Proceedings of AOIS Workshop at AAAI. 2000. [39] Odell, J., Parunak, H.V.D., Bauer B. 2000. "Extending UML for Agents". Proc. of the Agent-Oriented Information Systems Workshop at the 17th National conference on Artificial Intelligence, Gerd Wagner, Yves Lesperance, and Eric Yu eds., Austin, TX. [40] O. M. G. (OMG). Unified Modeling Language: Superstructure version 2.0, 03-04-01 edition, 2003. [41] Parkes, D. C., Ungar, L. H., and Foster, D. P. Accounting for cognitive costs in on-line auction design. In Agent Mediated Electronic Commerce (LNAI 1571), P. Noriega and C. Sierra, Eds. Springer-Verlag, 1999, 25-40. [42] Papasimeon. M. and Heinze, C. Extending the UML for designing jack agents. In Proceedings of the Australian Software Engineering Conference (ASWEC 01), Canberra, Australia, 2001. [43] P. Hayes. Resource description framework (rdf) semantics. W3C Working Draft, 2003. [44] Poslad, S. and Charlton, P. 2001. "Standardising Agent Interoperability: The FIPA approach." In Proceedings of 9th
ECCAI Advanced Course and EASSS 2001. Springer, LNAI 2086. [45] Representing Marc-Philippe Huget, James Odell,Agent Interaction Protocols with Agent UML,2004 ACM 1-58113864-4/04/0007 [46] RITA NIENABER, ELSABE CLOETE-A Software Agent Framework for the Support of Software Project Management-Proceedings of SAICSIT 2003, Pages 16 - 23 [47] R. Neches, R. Fikes, T. Finin, T. Gruber, R. Patil, T. Senator, and W. Swartout. Enabling technology for knowledge sharing. AI Magazine, 12(3):36-56, Fall 1991. [48] Roberto A. Flores-Mendez-"Towards a Standardization of Multi-Agent System Frameworks"- June 1999 Publisher: ACM [49] Robert G. Wllihoft-Petri-net Evaluation using APL2-1992 ACM [50] S. Arroyo, R. Lara, J. M. Gomez, D. Berka, Y. Ding, and D. Fensel. Semantic aspects of web services. In M. P. Singh, editor, The Practical Handbook of Internet Computing, pages 311- 31-17. Chapman & Hall/CRC,2005. [51] Sean B. Palmer, The Semantic Web: An Introduction, 2001-09, http://infomesh.net/2001/swintro/ [52] Searle, J. R. 1969. "Speech acts: An essay in the philosophy of language". Cambridge University Press. [53] Shamimabi Paurobally and Jim Cunningham-Safety and Liveness of Negotiation Protocols [54] Shamimabi Paurobally,Jim Cunningham,Nicholas R. Jennings-Developing Agent Interaction Protocols Using Graphical- AAMAS '03, Melbourne, Australia [55] S. Paurobally, (2007) "Deploying Automated Negotiation Protocols for Resource Allocation in the Grid.", AAMAS'07 Honolulu, Hawaii USA. [56] T. Berners-Lee. Semantic web road map, Sept. 1998. Available at http://www.w3.org/DesignIssues/Semantic.html [57] Tim Finin and Richard Fritzson, Don McKay and Robin McEntire- KQML as an Agent Communication Language1994 ACM [58] Usman Wajid, Nikolay Mehandjiev, Agent Interaction Protocols And Flexible Agent Interaction in Dynamic Environments, IEEE 2006 [59] Wooldridge, M. 1998. "Verifiable semantics for agent communication languages". Third International Conference on Multi-Agent Systems, Y. Demazeau (ed.), IEEE Press. [60] Yannis Labrou, Tim Finin, and Yun Peng- Agent Communication Languages:the current Landscape- IEEE march/ april 1999 [61] Yuko Sakurai, Makoto Yokoo- An Average-case BudgetNon-Negative Double Auction Protocol-AAMAS'02, July 1519, 2002, Bologna, Italy [62] Wooldridge, M. and Jennings, N. R. 1995b. "Agent Theories, Architectures, and Languages: A Survey." In M. J. Wooldridge and N. R. Jennings, editors, Proc. ECAI-94 Workshop on Agent Theories, Architectures and Languages. Springer-Verlag
Author: SARA ROBATY SHIRZAD, a PhD candidate in the School
of information systems at Brunel University, specialises in eprocurement and Supply Chain Management. She holds a BSC in Computer and Information Systems from the University of London (2006) and an MS in Information System from University of Westminster (2009). Her research interests include e-procurement, ebusiness, semantic web.
doc_175997923.docx