<?xml version="1.0" encoding="UTF-8"?>
<TEI xml:space="preserve" xmlns="http://www.tei-c.org/ns/1.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.tei-c.org/ns/1.0 https://raw.githubusercontent.com/kermitt2/grobid/master/grobid-home/schemas/xsd/Grobid.xsd"
 xmlns:xlink="http://www.w3.org/1999/xlink">
	<teiHeader xml:lang="en">
		<fileDesc>
			<titleStmt>
				<title level="a" type="main">A Planner for Implementing Semantic Service Agents based on Semantic Web Services Initiative Architecture</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">Önder</forename><surname>Gürcan</surname></persName>
							<email>onder.gurcan@ege.edu.tr</email>
							<affiliation key="aff0">
								<orgName type="department">Department of Computer Engineering</orgName>
								<orgName type="institution">Ege University</orgName>
								<address>
									<postCode>35100</postCode>
									<settlement>Bornova, Izmir</settlement>
									<country key="TR">Turkey</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Geylani</forename><surname>Kardas</surname></persName>
							<email>geylani.kardas@ege.edu.tr</email>
							<affiliation key="aff1">
								<orgName type="department">International Computer Institute</orgName>
								<orgName type="institution">Ege University</orgName>
								<address>
									<postCode>35100</postCode>
									<settlement>Bornova, Izmir</settlement>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Özgür</forename><surname>Gümüs</surname></persName>
							<affiliation key="aff0">
								<orgName type="department">Department of Computer Engineering</orgName>
								<orgName type="institution">Ege University</orgName>
								<address>
									<postCode>35100</postCode>
									<settlement>Bornova, Izmir</settlement>
									<country key="TR">Turkey</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Erdem</forename><forename type="middle">Eser</forename><surname>Ekinci</surname></persName>
							<email>erdemeserekinci@gmail.com</email>
							<affiliation key="aff0">
								<orgName type="department">Department of Computer Engineering</orgName>
								<orgName type="institution">Ege University</orgName>
								<address>
									<postCode>35100</postCode>
									<settlement>Bornova, Izmir</settlement>
									<country key="TR">Turkey</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Oguz</forename><surname>Dikenelli</surname></persName>
							<email>oguz.dikenelli@ege.edu.tr</email>
							<affiliation key="aff0">
								<orgName type="department">Department of Computer Engineering</orgName>
								<orgName type="institution">Ege University</orgName>
								<address>
									<postCode>35100</postCode>
									<settlement>Bornova, Izmir</settlement>
									<country key="TR">Turkey</country>
								</address>
							</affiliation>
						</author>
						<author>
							<affiliation key="aff2">
								<address>
									<postCode>2004</postCode>
									<settlement>-S)</settlement>
								</address>
							</affiliation>
						</author>
						<author>
							<affiliation key="aff3">
								<orgName type="department">Web Service Modeling Ontology</orgName>
							</affiliation>
						</author>
						<title level="a" type="main">A Planner for Implementing Semantic Service Agents based on Semantic Web Services Initiative Architecture</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">8C1E508A6C1446D01051A97B8BC89B5C</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-24T14:53+0000">
					<desc>GROBID - A machine learning software for extracting information from scholarly documents</desc>
					<ref target="https://github.com/kermitt2/grobid"/>
				</application>
			</appInfo>
		</encodingDesc>
		<profileDesc>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>The Semantic Web Services Initiative Architecture (SWSA) describes the overall process of discovering and interacting with Semantic Web services in three phases and denes a conceptual model to accomplish the specied requirements of these phases. This conceptual model is based on semantic service agents that provide and consume semantic web services and includes architectural and protocol abstractions. In this paper 1 , a software platform is dened which fullls fundamental requirements of SWSA's conceptual model including all its sub-processes. Based on this software platform, requirements of the planner module are identied and such a planner has been implemented. The developed planner has the capability of executing plans consisting of special tasks for semantic service agents in a way that described in SWSA. These special tasks are predened to accomplish the requirements of SWSA's sub-processes and they can be reused in real plans of semantic service agents both as is and as specialized according to domain requirements.</p></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1">Introduction</head><p>The Semantic Web Services Initiative Architecture (SWSA) committee, which has been contributed by the Semantic Markup for Services (OWL-S) 2 , Web Service Modeling Ontology (WSMO) 3 and Managing End-to-End Operations-Semantics (METEOR-S) 4 working groups, has created a set of architectural and protocol abstractions that serve as a foundation for Semantic Web service technologies <ref type="bibr" target="#b0">[1]</ref>. The proposed SWSA framework builds on the W3C Web Services Architecture working group recommendation 5 and attempts to address all requirements of semantic service agents: dynamic service discovery, service engagement, service process enactment and management, community support services, and quality of service (QoS). This architecture is based on the multiagent system (MAS) infrastructure because the specied requirements can be accomplished with asynchronous interactions based on predened protocols and using goal oriented software agents.</p><p>The SWSA framework describes the overall process of discovering and interacting with a Semantic Web service in three consecutive phases: (1) candidate service discovery, (2) service engagement, (3) service enactment. The SWSA framework also determines the actors of each phase, functional requirements of each phase and the required architectural elements to accomplish these requirements in terms of abstract protocols. Although it denes a detailed conceptual model based on MAS infrastructure and semantic web standards, it does not dene the software architecture to realize this conceptual model and does not include the theoretical and implementation details of the required software architecture.</p><p>There have been a few partial implementations to integrate web services and FIPA compliant agent platforms. WSDL2Jade <ref type="bibr" target="#b1">[2]</ref> can generate agent ontologies and agent codes from a WSDL input le to create a wrapper agent that can use external web services. WSDL2Agent <ref type="bibr" target="#b2">[3]</ref> describes an agent based method for migrating web services to the semantic web service environment by deriving the skeletons of the elements of the Web Service Modeling Framework (WSMF) <ref type="bibr" target="#b3">[4]</ref> from a WSDL input le with human interaction. WSIG (Web Services Integration Gateway) <ref type="bibr" target="#b4">[5]</ref> supports bi-directional integration of web services and Jade agents. WS2JADE <ref type="bibr" target="#b5">[6]</ref> allows deployment of web services as Jade agents' services at run time to make web services visible to FIPA-compliant agents through proxy agents. But these tools only deal with the integration of agents and external web services and do not provide any mechanism to realize the entire architectural and protocol abstractions addressed by the SWSA framework. It's clear that there must be environments which will simplify the development of SWSA-based software systems for ordinary developers.</p><p>The main contribution of this paper is to dene a software platform which fullls fundamental requirements of SWSA's conceptual model including all its sub-processes. Then, these sub-processes are modeled as reusable plans for development of semantic service agents. And the second contribution of this paper is to develop a planner that has the capability of executing these kinds of plans.</p><p>So, the developed planner has the innovative features listed below: Denition of reusable template plans that includes abstract task structures for SWSA's subprocesses and usage of these templates for generating agents' real plans by specializing these abstract tasks Support for recursion on the plan structure Constitution of composite services by using reusable semantic service agent plans The paper is organized as follows: in Sect. 2, the proposed architecture of the Software Platform for the SWSA framework is given. Section 3 introduces the planner component of the platform.</p><p>Planning requirements of SWSA and our solution are discussed in Sect. 4. Conclusion and future work are given in Sect. 5.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2">Semantic Service Platform Architecture</head><p>It is apparent that SWSA describes the architecture extensively in a conceptual base. However it doesn't dene required details and theoretical infrastructure to realize the architecture. Hence, we propose a new software platform in which above mentioned fundamental requirements of all SWSA's sub-processes (service discovery, engagement and enactment) are concretely fullled.</p><p>The software architecture of the proposed Semantic Service Platform is given in Fig. <ref type="figure">1</ref>. The platform is composed of two main modules called Semantic Service Kernel and External Service Agent.</p><p>The Semantic Service Kernel includes the required infrastructure and architectural components for an agent to execute sub-processes of SWSA. The agent's actions, to be used in semantic service discovery, engagement and enactment, are modeled as reusable plans and will be executed in a composite fashion by a planner. The sub-tasks, which compose the plan, will execute SWSA's sub-processes by invoking the related services. Invocation will be realized via predened execution protocols.</p><p>The External Service Agent converts either WSDL or OWL-S dened external services into agents that are able to execute SWSA's dened processes. This module includes inner services like WSDL to OWL-S Converter, Ontology Mapper and Translator -that provides mapping of services into the platform's ontologies, stores those mapping ontologies and serves ontology translation-and Monitor service that monitors quality of service parameters. Planner component of the External Service Agent realizes registration of the related service into the platform and executes interaction plans concerning service engagement and enactment. Those plans are formed automatically during the creation phase of the External Service Agent and stored in the plan library as domain plans.</p><p>In the following subsections, we discuss details of how our proposed semantic service platform meets the requirements of the SWSA taking into consideration predened SWSA sub-processes. </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.1">Realization of service discovery process</head><p>In order to realize semantic service discovery, the platform services should be registered to a matchmaker and service clients should query on this matchmaker and have ability to interpret resultant service advertisements.</p><p>The Matchmaker service of the Semantic Service Platform stores capability advertisements of registered services as OWL-S proles. As previously implemented in SEAGENT</p><p>6 environment <ref type="bibr" target="#b6">[7]</ref>,</p><p>the capability matching of the requested and registered service advertisements herein, is also based on the algorithm given in <ref type="bibr" target="#b7">[8]</ref> and deals with semantic distances between input/output parameter concepts of related services. The details of the implemented capability matching may be found in <ref type="bibr" target="#b8">[9]</ref> and <ref type="bibr" target="#b9">[10]</ref>. However, in addition to the above mentioned matching algorithm, Matchmaker service of our proposed platform also supports semantic match only on types of services (excluding input/output parameter match). Therefore, a client may indicate his/her preferred capability matching approach to the matchmaker and matchmaker performs capability matching upon this client's preference.</p><p>Based on domain knowledge of the related application, the Semantic Service Platform provides a meta-prole denition for platform services those to be registered, discovered and invoked within the platform. Hence, in this approach, Semantic Service Kernel plans, which include client invocation codes, may be prepared easily by only using those predened meta-proles of services. However this naturally exposes an ontology mapping requirement when an outer service, which is needed to be included in the platform, has a dierent prole model than platform's meta-denitions. It is aimed to bring a solution to this problem by using capabilities of the ontology mapping and translation service of the External Service Agent. So, advertisement plan of the External Service Agent supports platform administrators to be able to map platform's meta-prole with the related external service's ontology by using mapping service via a user interface.</p><p>It should be noted that discovery process of the client, has already been dened as a reusable plan template in the Semantic Service Kernel. So, the content of this plan template is determined during domain based application development and this creates the application dependent plan of the discovery process. The client agent, which uses the related created discovery plan, rst sends the required service's prole to the matchmaker service and receives advertisement proles of semantically appropriate services. The suitable communication protocol and content language for the client has already been designed and implemented for OWL-S services <ref type="bibr" target="#b8">[9]</ref>.</p><p>Another important task of the discovery process is the service selection policy of the requester client. The Matchmaker of the platform may return a collection of suitable service proles for the client's requests in many cases and client should apply a policy into the result collection to select the service(s) for further engagement and enactment processes. The Semantic Service Platform provides extensible service selection policy structures for plan designers to add various selection criteria into the service user agent plans.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.2">Realization of service engagement process</head><p>After completion of the service selection, the client-service engagement process begins. The engagement process has 2 stages: (1) negotiation on quality of service metrics between client and service agents and (2) agreement settlement.</p><p>The rst stage of the engagement process includes determination of the exact service according to quality of service (QoS) metrics. Currently, there exists no standard for the service quality metrics. However, during the exact service determination, our proposed service platform utilizes some QoS parameters (like service cost, run-time, location, etc.) dened in various studies <ref type="bibr" target="#b10">[11,</ref><ref type="bibr" target="#b11">12]</ref> which address this issue. When both sides (client and service) agree on the quality metrics, the rst stage of the process is nished.</p><p>The engagement process is completed after determined service's OWL-S process ontology and QoS parameters are sent to the Monitoring Service for being monitored during service execution.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.3">Realization of service enactment process</head><p>Conceptually, enactment can be dened as the invocation of the engaged service by the client agent. However, enactment includes more than just invocation and it should take into consideration monitoring, certication, trust and security requirements of service calls.</p><p>Execution of composite semantic services (which are modeled using OWL-S) is maintained in the platform by means of a planning approach. The approach herein, provides denition of service templates for each atomic service of the composite service and realizes composition of the service by linking those atomic subprocesses.</p><p>Service execution also requires monitoring of the invocation according to the engagement between client agent and the server. Monitoring services of the Semantic Service Kernel and External Service Agent both monitor execution of services and check whether current interaction conforms to the predened QoS metrics and engagement protocol or not. Hence, the Monitoring service of the External Service Agent informs the platform's monitoring service about the produced values of the quality metrics during service execution. According to the state of the ongoing interaction, the informed client agent may change his task execution behavior as dened in his enactment plan.</p><p>In the following, we rst briey explain the details of our planning module, and its mechanism.</p><p>Then we explain the planning requirements of SWSA and how these requirements are accomplished in our planning mechanism.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3">SEAGENT Planner</head><p>Since planning systems that are knowledge-based and hand tailor-able are the most promising ones to solve the real-world planning problems, the planner of our MAS development framework, called SEAGENT, is based on the Hierarchical Task Networking (HTN) planning formalism. HTN</p><p>Planning is an AI planning methodology that creates plans by task decomposition. This decomposition process continues until the planning system nds primitive tasks that can be performed directly. The basic idea of HTN planning was propounded in the mid-70s <ref type="bibr" target="#b12">[13,</ref><ref type="bibr" target="#b13">14]</ref>, and the formal underpinnings were developed in the mid-90s <ref type="bibr" target="#b14">[15]</ref>. In an HTN planning system, the objective is to accomplish a partially-ordered set of given tasks (plan) and a plan is correct if it is executable, and it accomplishes the given tasks. That is, the main focus of an HTN planner is to perform tasks, while a traditional planner focuses on achieving a desired state.</p><p>A plan is a representation of future behaviour, hence, in our platform, all behaviours of agents (even planning) are plans. To provide such a mechanism we use a task execution unit whose only job is to execute and schedule executable entities. Initially, a planning unit should provide two basic mechanisms: dispatching and goal matching. By dispatching we mean sending outgoing messages, fetching incoming messages and creating objectives from that messages when required. By a goal matching we mean matching the objectives to suitable plans.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.1">Plan Structure</head><p>Our framework is similar to the frameworks presented by Sycara et. al <ref type="bibr" target="#b15">[16]</ref> and DECAF architecture <ref type="bibr" target="#b16">[17]</ref>.</p><p>As a requirement of HTN, tasks might be either complex (called behaviours) or primitive (called actions). Each plan consists of a complex root task consisting of sub-tasks to achieve a predened goal. Behaviours hold a 'reduction schema' knowledge that denes the decomposition of the complex task to the sub-tasks and the information ow between these sub-tasks and their parent task.</p><p>The information ow mechanism is as follows: each task represents its information need by a set of provisions and the execution of a task produces outcomes, and there are links that represents the information ows between tasks using these provision and outcome slots. Actions are primitive tasks that can be executed directly by the planner. Also, each task produces an outcome state after its execution. Default outcome state is OK and usually it is not shown explicitly. The outcome states are used to route the information ow between tasks. and thus eligible for execution, when there is a value for each of its provisions and this is checked via isAllProvisionsAreSet() method. A task that has no provisions is always ready. Upon execution, a task consumes its provisions and produces outcomes if any. Tasks may be designated by the developers as periodic (cyclic). A periodic task is rescheduled upon execution for sub-sequent reexecution according to its associated period. Unlike other HTN frameworks mentioned above, we do not support external provisions. The reason for that is, in our platform agents that are resident on the same machine are attached to an Agent Communication Channel (ACC) which carries out all of the messaging of this agents. Agents' are just responsible for fetching their messages from that ACC and/or giving messages to that ACC (described in Sect. 3.2). Then ACC makes all the job (physical transfer of messages over HTTP -IIOP etc.). That's why all provisions are internal provisions whose value's are internally set within the plan. This means, the value of a provision is determined by an outcome of another task.</p><p>As described above, actions are directly executable tasks (using Do() method), while behaviours are complex tasks whose execution depends on the execution of all its sub-tasks. Behaviours' role is to control the execution of its subtasks. Behaviours hold a 'reduction schema' knowledge that describes which sub-tasks it is composed of and the information ow relationships between them.</p><p>Propagation of output values of the executed task to other dependent task(s) is handled by the owner behaviour since it is the only construct that knows the relationships.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.2">Internal Architecture</head><p>The overall structure of our planner's architecture (Fig. <ref type="figure" target="#fig_1">3</ref>) is designed to execute HTN structure(s).</p><p>In order a plan to be executed, the complex root task must be opened using the 'reduction schema' knowledge, and this reduction continues until the actions are found, and then the execution unit executes these actions. The planner basically is composed of the following functional modules: an execution unit, a periodic dispatching plan, and a periodic goal matching plan. All together, they match the goal extracted from the incoming FIPA-ACL message to an agent plan, schedule and execute the plan following the predened HTN based plan. In the following, we briey explain responsibilities of each module during plan execution. The planner is responsible for processing incoming and outgoing messages, goal matching, scheduling and executing tasks. The mechanism of the planner is as follows: New FIPA-ACL messages are fetched by the Dispatching plan. Then the Dispatching plan parses these messages and checks whether they are part of an ongoing conversation or not. In latter case, it puts the message to the knowledge-base as an incoming message. In former case, where the incoming message is not part of an ongoing conversation, it creates a new objective, and puts it to the knowledge-base as a new objective knowledge. The Goal Matching plan continuously checks the knowledge-base whether there are new objectives or not. When it nds one, the Goal Matching plan matches it to a pre-dened plan by the querying the plan library which is resident on knowledge-base. If this match process succeeds, this plan creates an instance of the matched plan and gives it to the execution unit for execution. After all, how this plan will be carried out is handled by the plan itself. Now, we briey explain the details each planning module, and their responsibilities. The execution unit is responsible for executing and scheduling submitted executable tasks. The task executor is composed of a scheduler and an executor module. Each module runs concurrently in a separate Java thread and uses the common data structures such as waiting queue and ready queue. Scheduler's role is to determine the execution time of each task. If a task is ready (all its provisions are set) and it is time to execute it, Scheduler removes it from the waiting queue and puts it to the ready queue. Executor, on the other hand, executes the ready tasks by invoking their execute() method and puts periodic tasks to the waiting queue for re-execution.</p><p>Dispatching plan is a cyclic plan which is responsible for incoming and outgoing messages and creating objectives for agents. It periodically checks ACC for incoming messages and fetches them (by putting them to the knowledge-base) if there is any. It also periodically checks knowledge-base for outgoing messages. Because when the agent intends to send a message, it simply puts it to the knowledge-base.</p><p>Goal Matching plan is responsible for matching the incoming objective to a pre-dened plan by querying the plan library which is constructed using plan ontology and match ontology. This plan periodically checks knowledge-base whether a new objective is occurred or not. When there is a new objective, it tries match a plan from the plan library for that objective. If the match process succeeds, Goal Matching plan creates an instance of the plan and submits it to the execution unit for execution.</p><p>Here after, the responsibility of the execution of the plan is belonged to the root task of the plan. Because a behaviour is said to be accomplished when all its subtasks are performed. So, the life cycle of a plan is as follows: It rst reducts itself to its subtasks, and submits them to the execution unit for execution. Then it checks them until they all are executed.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4">Planning Requirements of SWSA</head><p>As mentioned in Sect. 2, the Semantic Service Kernel includes the required infrastructure and architectural components for an agent to execute subprocesses of SWSA. Such an environment simplies the overall process of executing semantic web services for ordinary developers. Client agent(s) in this environment, must provide plans to be used in semantic service discovery, engagement and enactment. Hence, in our platform, we modeled these plans as reusable plans.</p><p>Figure <ref type="figure" target="#fig_2">4</ref> shows the task tree of the HTN plan for service execution of client agents. Execute</p><p>Service task represents the service execution process which was proposed by SWSA and is the root task of the plan that needs abstract characterizations of candidate services in order to be executed.</p><p>It is composed of three sub-tasks: Discover Candidate Services, Engage with a Service and Enact Service (decomposition of these tasks are not shown in this gure). Discover Candidate Services task inherits the abstract characterization of candidate services from its parent task and produces service proles of candidate services after its execution completes. Then these service proles are passed to Engage with a Service task via a provision link and then the execution of this task begins. Engage with a Service task nishes by producing two outcomes: selected service provider and service agreement. These outcomes are consumed by Enact Service task in order to complete the nal part of the plan. This task executes the selected service and passes the output list of its execution to its parent task.  The planner is at the heart of the architecture which controls the work-ows of the SWSA processes.</p><p>Each of these processes are modeled as reusable plans and the developed planner must have the innovative features in order to have the capability of executing these kind of plans. These features are listed below: Denition of reusable template plans that includes abstract task structures for SWSA's subprocesses and usage of these templates for generating agent's real plans by specializing these abstract tasks.  Some parts of processes introduced by SWSA is abstract because, they change according to domain. Hence, it must be possible to generate a template plan for SWSA and realize it on specic domains. Such a template plan must include abstract tasks which can be specied based on the domain requirements. So, the plan structure must provide mechanisms to dene and specify such abstract task constructs for developers. Without such a planning mechanism, it is impossible to dene reusable plan templates for executing SWSA processes.</p><p>For example, in service discovery, the client agent, rst forms a query using the required service's prole and sends it to the matchmaker service, then receives advertisement proles of semantically appropriate services and nally applies a service selection policy to return a collection of suitable proles. The abstract plan for this service discovery process is illustrated in Fig. <ref type="figure" target="#fig_3">5</ref>. As shown in the gure, Form a Query for Service Discovery task and Select Service(s) task are abstract. Former is abstract because the query could be formed either according to service type or input/output parameter types or etc. Latter is abstract because developers should be able to use various service selection criteria.</p><p>Support for recursion on the plan structure.</p><p>By a recursion we mean a situation where one instance of a task is an ancestor in the task network of another instance of the same task. Consider the engagement process of the client agent given in Sect. 2.2. At rst, one of the candidate services are chosen and then completeness of all service invocation parameters is assured. After the assurance, negotiation on QoS metrics and agreement settlement are performed. If either assurance or negotiation tasks fail, the engagement process will be restarted for unselected services (Fig. <ref type="figure">6</ref>). To provide this iteration the plan structure must have support for recursion. Such a support needs the ability for a task to contain itself as a sub-task (in Fig. <ref type="figure">6</ref>, Engage with a Service contains itself as a sub-task).</p><p>Constitution of composite services by using semantic service execution plans in agent's real plans.</p><p>To generate domain dependent service execution plans, developers must realize Execute Service template plan shown in Fig. <ref type="figure" target="#fig_2">4</ref>. Consider the HTN plan for reserving a hotel room shown in Fig. <ref type="figure" target="#fig_5">7</ref>. Reserving a hotel is as follows: rst user preferences are taken, and according to these preferences a hotel is found, then it is tried to make a reservation with that hotel   </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.1">SWSA Support in Planning Level</head><p>As mentioned in Sect. 3, SEAGENT planner has innovative features to handle the work-ows of the SWSA processes. This section shows how these features are satised by SEAGENT planner.</p><p>The built-in support makes implementing overall processes of SWSA easier for developers.</p><p>Template plan support In SEAGENT it is possible to create template (generic) plans. The basic idea resembles abstract class logic in object orientation. That is, to construct a generic plan, describe the main characteristics of a plan leaving the variable parts (tasks) unimplemented. So that in the future they may be specialized and used (remember the service discovery plan in Fig. <ref type="figure" target="#fig_3">5</ref>). The tasks dened in reusable template plan can be extended (by redenition of abstract tasks) to concrete plans. The important point here is the coniction of the specications of the abstract task to be extended (provision and outcome denitions) and specications of the extended concrete task. To implement a template plan, construct the plan as a normal plan but use abstract task denitions where you want to make abstract tasks.</p><p>In SEAGENT, to dene sub-tasks, defineSubtask() method is used by giving the class name of the sub-task as a parameter. If we want to dene an abstract sub-task, all we need to do is to give the name of the abstract sub-task indirectly. This can be done by using an abstract method that returns the name of the sub-task, and passing this abstract method as parameter to defineSubtask() method. For example, Select Service(s) abstract task in Fig. <ref type="figure" target="#fig_3">5</ref> can be dened in Discover Candidate Services parent task by using getSelectServicesTaskName() abstract method ( defineSubtask( getSelectServicesTaskName() ). Concrete realization of this plan is made by extending this plan and implementing the abstract methods that return the class names of the concrete tasks.</p><p>Recursion support Recursion is another capability of SEAGENT planner. By a recursion we mean a situation where one instance of a task is an ancestor in the planning tree of another instance of the same task. This is usually used when we cannot satisfy something in a task and want to execute this task again but with dierent provisions until reaching the goal. Since there is no restriction on dening sub-tasks, a task may contains itself as a sub-task. But the important point here is that the decomposition of the successor task must be in control, just like in recursive methods in traditional programming. In SEAGENT, the decomposition of a task is checked via its provision's state, that is, if all provisions are set or there is no provision then the task decomposes. So, in a recursive HTN plan, recursion tasks must contain at least one provision and the value of this provision must be dierent from its ancestor's value (see Fig. <ref type="figure">6</ref>). Otherwise an innite loop arises and our agent crashes.</p><p>Constitution of Composite Services support Constitution of composite services is simple in SEAGENT, because there are predened reusable template plans for service execution (see Fig. <ref type="figure" target="#fig_2">4</ref>) in plan library and, developers can use these plans to construct their own domain dependent service execution plans and compose them just as building an ordinary plan (see Fig. <ref type="figure" target="#fig_5">7</ref>). The important point here is the satisfaction of input/output compatibility and this is easily handled by the correct concrete realizations of the abstract tasks.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5">Conclusion</head><p>The SWSA is currently a working group recommendation and describes abstract infrastructures and related processes for semantic web services and agents interaction in a conceptual base. We believe that this architecture brings a comprehensive model of software agents which utilize and provide semantic web services. However this architecture is a product of an initiative study and most of its components are only theoretically dened, not implemented. In this paper, a new MAS software platform, which aims to concretely fulll fundamental requirements of the SWSA, has been introduced. We have modeled subprocesses of SWSA as reusable plans by HTN approach and provided a framework in which those plans can be executed in a composite fashion by agent planners. Hence, platform agents can accomplish execution of discovery, engagement and enactment processes for semantic web service interaction by employing those reusable and predened HTN plans. We have also discussed necessary properties of an agent planner which can execute those dened plans. Such a planner has been implemented based on the SEAGENT platform.</p><p>In the paper we focused on the requirements of the planner for execution of SWSA subprocesses.</p><p>But we are also working on the other parts of the software architecture. For example, service discovery mechanisms for the platform are fully operational. Semantic capability matching of services has already been implemented and platform agents are currently able to invoke semantic web services in proper to OWL-S standards.</p><p>Perhaps our major weakness, considering both the software and reusable agent plans, is seen in denition and design of the service engagement sub-process. QoS topics are currently being studied and they weren't addressed in detail by the service oriented computing community. Hence our QoS support during the engagement process is extremely primitive and only composes monitoring service. That support is also in its initial state. Security and trust mechanisms have not been considered yet in our implementation.</p></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head>Fig. 2 .</head><label>2</label><figDesc>Fig. 2. Components of SEAGENT plan structure</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_1"><head>Fig. 3 .</head><label>3</label><figDesc>Fig. 3. Overall structure of SEAGENT planner</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_2"><head>Fig. 4 .</head><label>4</label><figDesc>Fig. 4. HTN plan for SWSA based Semantic Service Execution</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_3"><head>Fig. 5 .</head><label>5</label><figDesc>Fig. 5. Decomposed view of the task for service discovery. The answer for the sent message contains service proles.</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_4"><head></head><label></label><figDesc>and nally results are shown to the user. In this plan, Find a Hotel, Find a Room and Make Room Reservation sub-tasks of the plan are concrete realizations of Execute Service task. They are connected with their provisions and outcome slots, and because they are domain dependent plans they know what input parameters they will take.</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_5"><head>Fig. 7 .</head><label>7</label><figDesc>Fig. 7. Hotel reservation plan. Find a Hotel, Find a Room and Make Room Reservation sub-tasks of the plan are concrete realizations of Execute Service task.</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_3"><head></head><label></label><figDesc>Decomposed view of the task for service engagement. Engage with a Service task contains itself as a subtask.</figDesc><table><row><cell></cell><cell></cell><cell></cell><cell>candidate</cell><cell></cell><cell>selected</cell><cell></cell></row><row><cell></cell><cell></cell><cell></cell><cell>sevices</cell><cell></cell><cell>service provider</cell><cell></cell></row><row><cell></cell><cell></cell><cell></cell><cell cols="2">Engage with</cell><cell></cell><cell></cell></row><row><cell></cell><cell></cell><cell></cell><cell cols="2">a Service</cell><cell></cell><cell></cell></row><row><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell>service</cell><cell></cell></row><row><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell>agreement</cell><cell></cell></row><row><cell>service</cell><cell>candidate</cell><cell>candidate</cell><cell>candidate</cell><cell></cell><cell>candidate</cell><cell></cell><cell>selected</cell><cell>OK</cell></row><row><cell>profiles</cell><cell>sevice</cell><cell>sevice</cell><cell>sevice</cell><cell></cell><cell>sevice</cell><cell cols="2">service provider</cell></row><row><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell>service</cell></row><row><cell>Select a Service</cell><cell></cell><cell cols="2">Assure on Parameters</cell><cell></cell><cell cols="2">Negotitate with Candidate Service</cell><cell>agreement</cell></row><row><cell></cell><cell>unselected</cell><cell>unselected</cell><cell>unselected</cell><cell>OK</cell><cell>unselected</cell><cell></cell><cell>unselected</cell></row><row><cell></cell><cell>sevices</cell><cell>sevices</cell><cell>sevices</cell><cell></cell><cell>sevices</cell><cell></cell><cell>sevices</cell></row><row><cell></cell><cell></cell><cell></cell><cell>fail</cell><cell></cell><cell></cell><cell></cell><cell>fail</cell></row><row><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell cols="2">candidate</cell><cell>selected</cell></row><row><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell cols="2">sevices</cell><cell>service provider</cell></row><row><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell>Engage with</cell></row><row><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell>a Service</cell></row><row><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell>service</cell></row><row><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell>agreement</cell></row><row><cell cols="5">Fig. 6. Reserve Hotel</cell><cell></cell><cell></cell></row><row><cell cols="2">preference info</cell><cell>preference info</cell><cell>hotel info</cell><cell>hotel info</cell><cell></cell><cell>reservation</cell><cell>reservation</cell></row><row><cell>Take User Preferences</cell><cell></cell><cell>Find a Hotel</cell><cell></cell><cell cols="3">Make Hotel Reservation</cell><cell>Show Reservation Result</cell></row><row><cell></cell><cell></cell><cell></cell><cell>hotel info</cell><cell></cell><cell>room</cell><cell>room</cell><cell>reservation</cell></row><row><cell></cell><cell></cell><cell></cell><cell cols="2">Find a Room</cell><cell></cell><cell cols="2">Make Room Reservation</cell></row></table></figure>
		</body>
		<back>
			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<analytic>
		<title level="a" type="main">A semantic web services architecture</title>
		<author>
			<persName><forename type="first">M</forename><surname>Burstein</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Bussler</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Zaremba</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Finin</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Huhns</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Paolucci</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Sheth</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Williams</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">IEEE Internet Computing</title>
		<imprint>
			<biblScope unit="volume">9</biblScope>
			<biblScope unit="issue">5</biblScope>
			<biblScope unit="page" from="72" to="81" />
			<date type="published" when="2005">2005</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<analytic>
		<title level="a" type="main">In: Engineering Web Service Invocations from Agent Systems</title>
		<author>
			<persName><forename type="first">L</forename><forename type="middle">Z</forename><surname>Varga</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Ákos</forename><surname>Hajnal</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Z</forename><surname>Werner</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Lecture Notes in Computer Science</title>
		<imprint>
			<biblScope unit="volume">2691</biblScope>
			<biblScope unit="page">635</biblScope>
			<date type="published" when="2003">2003</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<analytic>
		<title level="a" type="main">In: An Agent Based Approach for Migrating Web Services to Semantic Web Services</title>
		<author>
			<persName><forename type="first">L</forename><forename type="middle">Z</forename><surname>Varga</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Ákos</forename><surname>Hajnal</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Z</forename><surname>Werner</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Lecture Notes in Computer Science</title>
		<imprint>
			<biblScope unit="volume">3192</biblScope>
			<biblScope unit="page">390</biblScope>
			<date type="published" when="2004">2004</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<analytic>
		<title level="a" type="main">The web service modeling framework wsmf</title>
		<author>
			<persName><forename type="first">D</forename><surname>Fensel</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Bussler</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Electronic Commerce Research and Applications</title>
		<imprint>
			<biblScope unit="volume">1</biblScope>
			<biblScope unit="page">113137</biblScope>
			<date type="published" when="2002">2002</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<analytic>
		<title level="a" type="main">Engineering web service -agent integration</title>
		<author>
			<persName><forename type="first">D</forename><surname>Greenwood</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Calisti</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">SMC (2</title>
				<imprint>
			<publisher>IEEE</publisher>
			<date type="published" when="2004">2004</date>
			<biblScope unit="page">19181925</biblScope>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<analytic>
		<title level="a" type="main">Ws2jade: Integrating web service with jade agents</title>
		<author>
			<persName><forename type="first">T</forename><forename type="middle">X</forename><surname>Nguyen</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Kowalczyk</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">AAMAS&apos;05 Workshop on Service-Oriented Computing and Agent-Based Engineering</title>
				<meeting><address><addrLine>SOCABE</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2005">2005. 2005</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b6">
	<analytic>
		<title level="a" type="main">Seagent: A platform for developing semantic web based multi agent systems</title>
		<author>
			<persName><forename type="first">O</forename><surname>Dikenelli</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><forename type="middle">C</forename><surname>Erdur</surname></persName>
		</author>
		<author>
			<persName><surname>Özgür Gümüs</surname></persName>
		</author>
		<author>
			<persName><forename type="first">E</forename><forename type="middle">E</forename><surname>Ekinci</surname></persName>
		</author>
		<author>
			<persName><surname>Önder Gürcan</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Kardas</surname></persName>
		</author>
		<author>
			<persName><forename type="first">I</forename><surname>Seylan</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><forename type="middle">M</forename><surname>Tiryaki</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">AAMAS, ACM</title>
				<imprint>
			<date type="published" when="2005">2005</date>
			<biblScope unit="page">12711272</biblScope>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b7">
	<analytic>
		<title level="a" type="main">Semantic matching of web services capabilities</title>
		<author>
			<persName><forename type="first">M</forename><surname>Paolucci</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Kawmura</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Payne</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><surname>Sycara</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">First Int. Semantic Web Conf</title>
				<imprint>
			<date type="published" when="2002">2002</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b8">
	<analytic>
		<title level="a" type="main">Engineering a multi agent platform with dynamic semantic service discovery and invocation capability</title>
		<author>
			<persName><forename type="first">O</forename><surname>Dikenelli</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Ö</forename><surname>Gümüs</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Tiryaki</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Kardas</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="s">Lecture Notes in Computer Science</title>
		<editor>Eymann, T., Klügl, F., Lamersdorf, W., Klusch, M., Huhns, M.N.</editor>
		<imprint>
			<biblScope unit="volume">3550</biblScope>
			<biblScope unit="page">141152</biblScope>
			<date type="published" when="2005">2005</date>
			<publisher>Springer</publisher>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b9">
	<analytic>
		<title level="a" type="main">Applying semantic capability matching into directory service structures of multi agent systems</title>
		<author>
			<persName><forename type="first">G</forename><surname>Kardas</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Ö</forename><surname>Gümüs</surname></persName>
		</author>
		<author>
			<persName><forename type="first">O</forename><surname>Dikenelli</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">ISCIS</title>
		<title level="s">Lecture Notes in Computer Science</title>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2005">2005</date>
			<biblScope unit="volume">3733</biblScope>
			<biblScope unit="page">452461</biblScope>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b10">
	<analytic>
		<title level="a" type="main">Quality driven web services composition</title>
		<author>
			<persName><forename type="first">L</forename><surname>Zeng</surname></persName>
		</author>
		<author>
			<persName><forename type="first">B</forename><surname>Benatallah</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Dumas</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Kalagnanam</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Q</forename><forename type="middle">Z</forename><surname>Sheng</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">WWW &apos;03: Proceedings of the 12th international conference on World Wide Web</title>
				<meeting><address><addrLine>New York, NY, USA</addrLine></address></meeting>
		<imprint>
			<publisher>ACM Press</publisher>
			<date type="published" when="2003">2003</date>
			<biblScope unit="page">411421</biblScope>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b11">
	<analytic>
		<title level="a" type="main">Quality of service for workows and web service processes</title>
		<author>
			<persName><forename type="first">J</forename><surname>Cardoso</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><forename type="middle">P</forename><surname>Sheth</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><forename type="middle">A</forename><surname>Miller</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Arnold</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><surname>Kochut</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">J. Web Sem</title>
		<imprint>
			<biblScope unit="volume">1</biblScope>
			<biblScope unit="page">281308</biblScope>
			<date type="published" when="2004">2004</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b12">
	<analytic>
		<title level="a" type="main">The nonlinear nature of plans</title>
		<author>
			<persName><forename type="first">E</forename><surname>Sacerdoti</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">International Joint Conference on Articial Intelligence</title>
				<imprint>
			<date type="published" when="1975">1975</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b13">
	<analytic>
		<title level="a" type="main">Generation project networks</title>
		<author>
			<persName><forename type="first">A</forename><surname>Tate</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">International Joint Conference on Articial Intelligence</title>
				<imprint>
			<date type="published" when="1977">1977</date>
			<biblScope unit="page">893</biblScope>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b14">
	<analytic>
		<title level="a" type="main">Complexity results for htn planning</title>
		<author>
			<persName><forename type="first">K</forename><surname>Erol</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><forename type="middle">A</forename><surname>Hendler</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><forename type="middle">S</forename><surname>Nau</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Ann. Math. Artif. Intell</title>
		<imprint>
			<biblScope unit="volume">18</biblScope>
			<biblScope unit="page">6993</biblScope>
			<date type="published" when="1996">1996</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b15">
	<analytic>
		<title level="a" type="main">Unied information and control ow in hierarchical task networks</title>
		<author>
			<persName><forename type="first">K</forename><surname>Sycara</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Williamson</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><surname>Decker</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Working Notes of the AAAI-96 workshop &apos;Theories of Action, Planning, and Control</title>
				<imprint>
			<date type="published" when="1996">1996</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b16">
	<analytic>
		<title level="a" type="main">Decaf -a exible multi agent system architecture</title>
		<author>
			<persName><forename type="first">J</forename><forename type="middle">R</forename><surname>Graham</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><surname>Decker</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Mersic</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Autonomous Agents and Multi-Agent Systems</title>
		<imprint>
			<biblScope unit="volume">7</biblScope>
			<biblScope unit="page">727</biblScope>
			<date type="published" when="2003">2003</date>
		</imprint>
	</monogr>
</biblStruct>

				</listBibl>
			</div>
		</back>
	</text>
</TEI>
