<?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">SEMANTIC MATCHING OF WEB SERVICE POLICIES</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">Kunal</forename><surname>Verma</surname></persName>
							<email>verma@cs.uga.edu</email>
							<affiliation key="aff0">
								<orgName type="department">Dept of Computer Science</orgName>
								<orgName type="laboratory">LSDIS Lab</orgName>
								<orgName type="institution">University of Georgia</orgName>
								<address>
									<postCode>30605</postCode>
									<settlement>Athens</settlement>
									<region>GA</region>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Rama</forename><surname>Akkiraju</surname></persName>
							<email>akkiraju@us.ibm.com</email>
							<affiliation key="aff1">
								<orgName type="institution">IBM T. J Watson Research Center</orgName>
								<address>
									<addrLine>19 Skyline Drive</addrLine>
									<postCode>10532</postCode>
									<settlement>Hawthorne</settlement>
									<region>NY</region>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Richard</forename><surname>Goodwin</surname></persName>
							<email>rgoodwin@us.ibm.com</email>
							<affiliation key="aff1">
								<orgName type="institution">IBM T. J Watson Research Center</orgName>
								<address>
									<addrLine>19 Skyline Drive</addrLine>
									<postCode>10532</postCode>
									<settlement>Hawthorne</settlement>
									<region>NY</region>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">SEMANTIC MATCHING OF WEB SERVICE POLICIES</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">AE748093E52A174AE3CA182A04F077B1</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-25T04:42+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>
			<textClass>
				<keywords>
					<term>WS-Policy</term>
					<term>Semantic Policy Matching</term>
					<term>Ontologies</term>
					<term>OWL</term>
					<term>SWRL</term>
				</keywords>
			</textClass>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>In this work, we present a novel approach for matching the nonfunctional properties of Web Services represented using WS-policy. To date, most policy matching has been done using syntactic approaches, where pairs of policies are compared for structural and syntactic similarity to determine compatibility. In our approach, we enhance the policies of a Web Service with semantics by creating the policy assertions based on terms from ontologies. The use of semantic terms enables richer representations of the intent of a policy and allows matching of policies with compatible intent, but dissimilar syntax. Also, in cases where policies are defined at multiple levels/domains (such as security, privacy, trust, transactional etc.), we handle inter-domain policy interactions by processing the rules represented in the semantic domain models. This helps identify any inconsistencies in policies during specification as well matching. This approach of using semantic concepts and rules during policy matching leads to better Web Service matches that may not have been possible with syntax based matchers, or prior semantic based methods.</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>Web Services Policy Framework (WS-Policy) is a general purpose framework for describing capabilities and requirements of Web Service entities. While Web Services Description Language (WSDL) is meant to represent the functional aspects of a Web Service, WS-Policy is used to represent its non-functional attributes. To determine if a Web Service is suitable for a particular use, both the functional and non-functional capabilities and requirements of a Web Service have to be matched with those of a request. Specifically, in matching the non-functional properties, the policy requirements of the entity invoking the Web Service must be compatible with the policies of the entity providing the Web service. In their current specification, both WSDL and WS-Policy are capable of representing the syntactic aspects of the functional and non-functional properties respectively but lack semantics. For example, using WSDL one can describe the interfaces of a service and details on how to invoke it but not what a service actually does. Similarly, using WS-Policy one can describe the policies that a service requires or provides but not the context in which these policies operate. This lack of semantics hampers the effectiveness of computing the compatibility between the policies.</p><p>Realizing this need for semantics, the semantic web community <ref type="bibr" target="#b0">[Berners-Lee et al., 1999]</ref> is proposing to formalize the representation of meaning (semantics) of content with the help of model theory based RDF <ref type="bibr" target="#b8">[RDF, 1999]</ref> and description logics based OWL <ref type="bibr" target="#b6">[OWL, 2002]</ref>. In addition, academic projects like OWL-S <ref type="bibr">[OWL-S, 2002]</ref>, <ref type="bibr" target="#b5">METEOR-S [METEOR-S, 2002]</ref> and WSMO <ref type="bibr" target="#b11">[WSMO, 2004]</ref> have proposed approaches to semantically represent Web services. Using OWL, OWL-S provides a vocabulary to represent the semantics of both the functional and nonfunctional aspects of Web Services. However, much of semantic matching work, to date, has been focused on the matching of functional properties of Web Services; namely inputs, outputs, preconditions and effects <ref type="bibr">[Paolucci et al] [Mc.Ilraith et al]</ref>.</p><p>In this paper, we present a novel approach to represent and match the nonfunctional attributes of Web Services. There are two distinct aspects to our approach. First, we use a combination of OWL and SWRL <ref type="bibr" target="#b9">[SWRL 2004</ref>] based rules to capture domain concepts and rules and present a mechanism to enhance policies represented using WS-Policy with semantics. Second, we present an approach to validate such semantically described policies specified across multiple domains (such as security, privacy, trust, transactional, business) during specification and then prescribe an algorithm for policy matching.</p><p>The rest of the paper is organized as follows. In Section 2, we present a motivating example to make a case for semantics in representing the non-functional properties of Web Services. Section 3 presents how policies represented using WS-Policy can be matched today using syntactic matching approach. In Section 4, we describe how WS-Policy can be extended to incorporate semantics. In Section 5 we present our semantic policy matching algorithm. Section 6 provides a comparison of this work with other projects in this area. Our conclusions and future work is outlined in section 7.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.">MAKING A CASE FOR SEMANTICS IN POLICY MATCHING</head><p>The current WS-Policy specification relies on XML based vocabularies like WS-Security and WS-Trust to make assertions in those domains. In principle, two parties can make assertions in any number of domains, as long as they have an agreed upon vocabulary. However, if the matching is unaware of the semantics of the assertions, it will be somewhat restricted. In order to illustrate our viewpoint, let us consider the following example. Say that a service provider would like to specify policies at three domains for a specific service. They are:</p><p>• Business domain: BusinessLevel of requestor must be Enterprise In the above assertions, if we were to use syntactic matching, the matcher would have no additional knowledge about the domain and it would only perform string matching on the attributes of the assertions. This would lead to false negatives, even though the assertions are equivalent. For example, in the above example a syntactic matcher would not know what relation, if any, the enterprise level status of a company holds to a Dun &amp; Bradstreet rating of a company. Also, the syntax matcher would not know how to match the expected response time of the request service with the information on execution time and network response time given by the service providers' service. Say that now we create a domain ontology to capture the following semantic information:</p><p>• If a company has Dun &amp;Bradstreet rating A3 then it is enterprise level • Kerberos 5.1 can accept Kerberos 4.0 tokens.</p><p>• Total Processing time = Service execution time + network response time</p><p>• Response time is Equivalent to Total processing time When this additional domain information along with semantic reasoning is applied, the relationships between seemingly unrelated policies become apparent thereby making it possible to match them correctly. For example, based on a domain rule which states that 'TotalProcessingTime = NetworkTime + executionTime', and with the inference that a response time is equivalent to total time, the matcher can now match the transaction domains of the two policies. Similarly, applying the rule that Dun and Bradstreet (D&amp;B rating) A3 means that the company is enterprise level business domains can now be matched. Also, the compatibility of security tokens is an additional piece of information that a syntax based matcher did not have in a syntax based matcher. This example illustrates how domain knowledge captured as semantic models can improve the quality of matches.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.">WS-POLICY AND WS-POLICY MATCHING</head><p>In this section, we briefly describe the WS-Policy specification and provide an overview of how policy matching can be done today in the absence of semantics.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.1">WS-Policy</head><p>WS-Policy provides a grammar for representing the non-functional attributes of entities in a Web services based XML environment [WS-Policy]. A policy is defined as a collection of alternatives and an alternative is defined as a collection of assertions. An assertion is used to represent a requirement, capability or a behavior of a Web service. An assertion can have arbitrary number of child assertions and attributes. A WS-Policy can be represented in XML using the following tags: The "Policy" tag is used to start and end a policy. The "ExactlyOne" tag is used to contain a set of alternatives and the "All" tag contains all the assertions in an alternative. Each assertion belongs to some vocabulary and can have any number of attributes or child assertions.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.2">Policy Matching</head><p>Once a client or a service finds another service with the desired functionality, it must evaluate whether it is compatible by matching the policies. WS-Policy describes a policy normal form which is a disjunction of alternatives and conjunction of all assertions in an alternative. In this paper, we always use the normal form for policy matching.</p><p>A policy P is defined as a finite set of alternatives. It can also be expressed as a disjunction of all its alternatives</p><formula xml:id="formula_0">P = { Alt1, Alt2, …. Alt N } = Alt1 | Alt2 | …. Alt N</formula><p>An alternative Alt is defined as a finite set of assertions. It can also be expressed as a conjunction of all its assertions. Alt = {A1, A2 … AN} = A1 ^ A2^ …. AN Matching two policies is reduced to finding two equivalent alternatives.</p><p>( ( Alt i ) S.T. Alt i P1 and ( ∃ Alt j ) S.T. Alt j ∃ ∈ ∈ P2 and Alt i ⇔ Alt j ) (P1 ⇔ P2) ……………Rule 1 ⇒ Finding equivalent alternatives can be defined in the following manner. Two alternatives are equivalent, if for each assertion in both alternatives, there exists an equivalent assertion.</p><p>(( ∀ A i ) S.T. A i Є Alt1 and ( A j ) S.T. A j Є Alt2 and A i ∃ ⇔ A j ) and ((</p><formula xml:id="formula_1">∀ A i ) S.T. A i Є Alt2 and ( ∃ A j ) S.T. A j Є Alt1 and A1 ⇔ A2 ) ) ⇒ (Alt1 ⇔ Alt2)</formula><p>..Rule 2 In the current policy framework, equivalent assertions can be computed using syntactical matching of the assertions. In the end, from the application of the above two rules 1 and 2, a working policy must be created from the equivalent alternatives. In some cases, the intersection of policies may also be useful to find common properties and creating a limited working policy. When we apply this approach to match the pair of policies described in section 2, we note that the business domain and transaction domain cannot be matched based on syntax alone. In the next section we show how we extend WS-Policy to capture semantic annotations and how policy matching can be achieved using this newly available semantic information.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.">EXTENDING WS-POLICY TO INCORPORATE SEMANTICS</head><p>Policies must be augmented with semantic information in order to enable semantic matching. Below we describe how we use domain ontologies for creating policy assertions with semantics. As mentioned in section 3, assertions are used to represent a requirement or a behavior of Web services in any number of domains. The type of the assertion is specified by using the QName [XML-Namespaces, 1999] specified in a domain specific vocabulary. A sample assertion is shown in Figure <ref type="figure">1</ref>.</p><p>&lt;wsse:SecurityToken&gt; &lt;wsse:TokenType&gt;wsse:Kerberosv5TGT &lt;/wsse:TokenType&gt; &lt;/wsse:SecurityToken&gt;</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Figure 1: Sample Assertion</head><p>This assertion is a security assertion, which is specified by the "wsse", which is the URI part of the name of the root element of the assertion. In the WS-Policy specification, this URI is mapped to the URI of the OASIS site hosting the XML schema description of WS-Security. The local part of the name of root element "SecurityToken" specifies that it is a security token assertion. It has a child assertion which states that the token type of the security token should be Kerberosv5TGT.</p><p>For adding semantics to WS-Policy, we recommend using OWL ontologies instead of XML schema based vocabularies like WS-Security. Consider an OWL ontology, which semantically describes all the elements of WS-Security using the more expressive description logics constructs available in OWL ontologies. The fact that OWL ontology concepts can be referenced through URIs allows us to use concepts from the ontologies directly in the policy assertions. In Figure <ref type="figure">2</ref>, the URI part of QName "semsecurity:SecurityToken", is mapped to an URI hosting a security ontology in OWL, which has semantic descriptions of SecurityToken, Kerberosv5TGT and TokenType.</p><p>In addition to creating assertions from domain ontologies, we propose adding three optional attributes to each assertion for explicating the semantics of the assertion. They are: 1. assertionType: This attribute is used to specify whether an assertion is a requirement or a capability. The current specification states an assertion could be either a requirement or a capability of a Web service. As a result during matchmaking, all assertions have to be matched and are considered as both a capability and requirement. This makes the matching cumbersome. Explicitly categorizing an assertion as either a requirement or a capability resolves this ambiguity and makes the matching simpler and cleaner. The assertions in Figure <ref type="figure">2</ref> are requirements. The default value of assertionType is requirement.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.">valueType:</head><p>This attribute is used to specify whether an assertion is a numeric or a non-numeric assertion. The value owl:object specifies that the assertion is belongs to an OWL ontology and OWL based operators can be used to reason about it. The value xsd:type specifies that it a literal, where type can be any data type <ref type="bibr">(xsd:string, xsd:float, xsd:int, etc.)</ref> supported by XML schema. . We use this attribute to decide whether to use numeric/string based comparisons or description logics based reasoning for matching the particular assertion. By default, an assertion is xsd:string, and string matching is used . The assertions in Figure <ref type="figure">2</ref> are non numeric.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.">comparisonOperator:</head><p>This attribute is used to represent the relationship between the assertion name and value. For example the child assertion in Figure <ref type="figure">1</ref> states that "TokenType = Kerberosv5TGT". WS-Policy assumes an "equals-to" relationship. While the "equals-to" is the default value we allow "greater than", "less than", "greater than or equal to", "less than or equal to" for number numeric assertions and "subclassof", "superclassof", "instanceof" for non numeric assertions.</p><p>&lt;semsecurity:SecurityToken assertionType="sempolicy:Requirement" valueType="owl:object" comparisonOperator="sempolicy:EQ"&gt; &lt;semsecurity:TokenType assertionType="sempolicy:Requirement" valueType="owl:object" comparisonOperator="sempolicy:EQ"&gt; semsecurity:Kerberosv5TGT &lt;/semsecurity:TokenType &gt; &lt;/semsecurity:SecurityToken &gt; Figure <ref type="figure">2</ref>: Assertion using ontologies</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.">WEB SERVICE POLICY MATCHING USING SEMANTICS</head><p>In this section, we will describe how semantic matching can help match the policies of the request and advertisement shown in section 2 with the help of domain ontologies and rules.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.1">Policy and Rules Representation</head><p>To reason about domain ontologies, we use a semantic network based ontology management system known as SNoBASE <ref type="bibr">[Lee et al., 2003</ref>] that offers DQL-based <ref type="bibr">[DQL, 2003]</ref> Java API for querying ontologies represented in OWL. SNOBASE uses IBM's ABLE <ref type="bibr" target="#b0">[Bigus et al 2002]</ref> engine for inferencing. We have created an OWL ontology for WS-Policy. This allows to represent individual policies as OWL instances. We implemented a module to add SWRL rules to SNoBASE. Consider the following rules, and their SWRL and ABLE representations.</p><p>If there exists a policy P, which has an alternative ALT, which has an Assertion A, which states that "DunAndBradStreetRating = A3", then create a new Assertion A1 which states "BusinessLevel=Enterprise" and belongs to Alternative Alt. This rule can be represented in SWRL abstract syntax as: Policy (P) and hasAlternative(P, ALT) and hasAssertion (ALT, A) and DunAndBradStreetRating(A, "A3") =&gt; Assertion (A1) and BusinessLevel (A1, "Enterprise") and hasAssertion (ALT, A1)</p><p>The ARL "when-do" for the above SWRL rule is given below: when: Policy (P) and hasAlternative (P, ALT) and hasAssertion (ALT, A)</p><p>In order to explain the satisfiability of one assertion by another we define the following functions.</p><p>"val" returns the value of an assertion or an attribute "type" returns the type of an assertion or an attribute "children" returns all the children of an assertion "attributes" returns all attributes of an assertion A capability assertion satisfies a requirement assertion if its value satisfies the requirement assertion's value and if all the attributes of the requirement assertions are satisfied by its attributes. In addition, all the child assertions of the capability assertion, must satisfy the child assertions of the requirement assertions.</p><p>[val (A2) satisfies val (A1) and</p><p>( ∀ attr i ) S.T. attr i attributes(A1) and ( attr j ) S.T. attr j ∈ ∃ ∈ attributes (A2) and type(attr i ) = type (attr j ) and val (attr j ) satifisfies val (attr i ) ) and (( child i ) S.T. child i children(A1) and ( ∀ ∈ ∃ child j ) S.T. child j ∈ children (A2) and child i satisfies child j ) ] ⇒ (A2 satisfies A1)</p><p>Following operators are used to check value or attribute satisfiability 1. For XML type based assertions: equals, =, &lt;, &gt;, &lt;=, &gt;= 2. For OWL based assertions: sameClassAs, sameInstanceAs, subClassOf, instanceOf, superClassOf, subsumes</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.3">An Example of Semantic Policy Matching</head><p>We use the same example introduced in section 2. Below, we categorize the policies of the provider into requirements and capabilities.</p><p>Provider Requirements:</p><p>• Business domain: BusinessLevel of requestor must be Enterprise There has also been some work in policies using Semantic Web technologies. <ref type="bibr" target="#b9">[Uszok et al., 2004]</ref> have developed the KAOS system for representing policies using OWL. Their approach is similar to ours, but we use SWRL rules, instead of value-maps used by them. <ref type="bibr" target="#b2">[Kagal et al., 2004a]</ref> use a rule based engine for handling trust and privacy of Web services. In another paper <ref type="bibr">[Kagal et al., 2004b]</ref> the authors have discussed the interaction of OWL ontologies and SWRL rules as an open problem. The approach discussed in this paper allows us to combine OWL ontologies and SWRL rules, by representing only those aspects of which are beyond the expressivity of description logics to OWL. <ref type="bibr" target="#b4">[Li and Horrocks, 2004]</ref> provides an approach for matching non-functional attributes, but their framework is restricted as they rely solely on subsumption for the matching and their expressivity is limited by description logics. While our approach also takes care of hierarchical relationships (the basis for subsumption), it is more flexible we can use either subsumption based reasoning as well as domain rules for matching. In addition, we support relationships (inter and intra domain) using rules which cannot be representing using description logics alone. <ref type="bibr" target="#b7">[Parsia et al., 2005]</ref> have developed an OWL ontology for representing WS-Policy. However, they have not considered adding SWRL rules to the assertions, which is a key contribution of this approach.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="7.">CONCLUSIONS AND FUTURE WORK</head><p>In this paper, we have proposed an approach for matching non-functional requirements of Web services based on creating rich domain models using ontologies and rules. The research contributions of this paper are providing a extensible domain crossing approach for semantic policy matchmaking as well as providing an approach for implementing horn logic based rules to be used in conjunction with OWL based ontologies. Our implementation acts as a proof of concept and shows the usefulness of such an approach.</p></div><figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_1"><head></head><label></label><figDesc>in their work is capturing and reasoning on inter domain dependencies between assertions of different domains. Once again, such dependencies can be captured using ontologies and rules and used in the matchmaking.</figDesc><table><row><cell>the problems mentioned</cell></row><row><cell>Provider Capabilities:</cell></row><row><cell>• Transaction domain: NetworkTime &lt;= 30 ms &amp; ExecutionTime &lt;= 60 ms • Security domain: Can support any of {RSA, SSH and DEC}</cell></row><row><cell>Based on the domain knowledge in rules and ontologies, the original policy is</cell></row><row><cell>augmented with new facts. The following rule is fired when the above assertions are</cell></row><row><cell>added to the policy object</cell></row><row><cell>ExecutionTime(P) + networkTime (P) = TotalProcessingTime (P)</cell></row><row><cell>Hence, a new assertion is generated</cell></row><row><cell>• TotalProcessingTime &lt;= 90 ms</cell></row><row><cell>Due to the assertions in the domain ontology</cell></row><row><cell>TotalProcessingTime sameAs ResponseTime</cell></row><row><cell>Another, new assertion is generated</cell></row><row><cell>• ResponseTime &lt;= 90 ms</cell></row></table><note>• Security domain: Security Token must be Kerberos 5.1 and keySize &gt;= 512 • Security domain: Encryption should be used</note></figure>
		</body>
		<back>
			<div type="annex">
<div xmlns="http://www.tei-c.org/ns/1.0"><p>and DunAndBradStreetRating(A, "A3") do:</p><p>Assertion (A1) and BusinessLevel (A1, "Enterprise") and hasAssertion (ALT, A1) If there exists a policy P, which has an alternative ALT, which has an Assertion A1, which states that "ExecutionTime = X" and an Assertion A2, which states that "NeworkTime = Y", then create a new Assertion A3 which states that TotalProcessingTime = X + Y. This rule can be represented in SWRL syntax as: Policy (P) and hasAlternative (P, ALT) and hasAssertion (ALT, A1) and hasAssertion (ALT, A2) and ExecutionTime(A1, X) and NetworkTime (A2, Y) =&gt; Assertion (A3) and TotalProcessingTime (A3, X + Y) and hasAssertion <ref type="bibr">(Alt,</ref><ref type="bibr">A3)</ref> This rule can be written in ARL as:</p><p>when: Policy (P) and hasAlternative (P, ALT) and hasAssertion (ALT, A1) and hasAssertion (ALT, A2) and ExecutionTime(A1, X) and NetworkTime (A2, Y) do:</p><p>Assertion (A3) and TotalProcessingTime (A3, X + Y) and hasAssertion (Alt, A3) Rules are used in ABLE using a RETE <ref type="bibr" target="#b0">[Forgy, 1982]</ref> network and new facts are added to the policies if the right conditions exist for firing the particular rules. A key challenge was to model these rules over OWL facts. However, the ABLE based implementation of SNOBASE, which also models OWL facts as rules, allowed us to write these in Able Rules Language. Similar rules can be written to invalidate alternatives, if the inter-domain assertions do not make sense or contradict each other. For example, if a security algorithm assertion and compression algorithm assertion are in the same alternative, and they cannot co-exist, then the alternative can be invalidated, by having a rule to do so.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.2">Semantic Policy Matching Algorithm</head><p>In this section, we will explain our matching algorithm. As discussed in section 3.2, matching two policies is reduced to finding two equivalent alternatives. However, based on requirements and capabilities, we present a different definition for equivalent alternatives. Equivalent alternatives can be defined as alternatives whose capabilities satisfy each others requirements. In order to write the definition, we define functions "req" and "cap", which represents requirement and capability assertions of an alternative respectively.</p><p>(( ∀ A i ) S.T. A i req (Alt1) and ( ∃ A j ) S.T. A j ∈ ∈ cap (Alt2) and A i satisfies A j ) and (( ∀ A i ) S.T. A i ∈ req (Alt2) and ( A j ) S.T. A j ∃ ∈ cap(Alt1) and A i satisfies</p><p>⇒ ⇔</p><p>Similarly, we categorize the policies of requester in section 2 as follows:</p><p>Requestor Requirements:</p><p>• The following rule is fired when the above assertions are added to the policy object.</p><p>DunAndBradStreetSize(P, A3) =&gt; businessLevel(P) = Enterprise Hence, a new assertion is generated • BusinessLevel is Enterprise</p><p>Our matchmaking framework can now match the policies of the requestor and the provider with the help of the new facts that have been added to both the policies.</p><p>Checking all requirments of policy 1:</p><p>1. BusinessLevel (P1 , Enterprise) is satisfied by assertion BusinessLevel (P1 , Enterprise) as Enterprise = = Enterprise 2. SecurityToken (P1, Kerberos 5.1) is satisfied by assertion SecurityToken (P2, Kerberos 5.0) as Kerberos 5.0 is substituteable for Kerberos 5.1 and keysize ( 1024 &gt;= 512) 3. EncryptionAlgorithm (P1, EncryptionAlgorithm) is satisfied by assertion EncryptionAlgorithm (P1, RSA) as RSA subClassOf EncryptionAlgorithm Therefore, all requirements of policy 1 are satisfied by policy 2. Checking all requirements of policy 2: 1. ProcessingTime (P2 , &lt;=, 100ms) is satisfied by assertion ProcessingTime (P1 , &lt;=, 90ms) as 90ms &lt;= 100ms Therefore, all requirements of policy 2 are satisfied by policy 1. Since all requirements of both policies are satisfied by each other, the matcher declares these policies as being equivalent.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="6.">RELATED WORK</head><p>Much of the previous work on policy matching has been based on syntactical models. Wohlstadter et al <ref type="bibr" target="#b10">[Wohlstadter et al., 2004]</ref> extend the grammar of WS-Policy to add qualifying conditions and numerical predicates, but is still based on syntactical domain models. Having XML based models limits the expressivity of the assertions and also limits the matching to syntactical matching. Our work addresses these limitations by using OWL based domain ontologies along with SWRL like rules. This allows our matcher to use rich domain knowledge for better matching. <ref type="bibr" target="#b5">[Mukhi and Plebani, 2004]</ref> discuss issues in WS-Policy based frameworks. One of</p></div>			</div>
			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<analytic>
		<title level="a" type="main">Rete: A Fast Algorithm for the Many Pattern/ Many Object Pattern Match Problem</title>
		<author>
			<persName><surname>Berners-Lee</surname></persName>
		</author>
		<ptr target="http://www.daml.org/dql" />
	</analytic>
	<monogr>
		<title level="m">DAML Query Language (DQL)</title>
				<imprint>
			<publisher>DQL</publisher>
			<date type="published" when="1982">1999. May 2001. 2002. 2002. 2003. 1982. 1982</date>
			<biblScope unit="volume">41</biblScope>
			<biblScope unit="page" from="17" to="37" />
		</imprint>
	</monogr>
	<note>IBM Systems Journal</note>
</biblStruct>

<biblStruct xml:id="b1">
	<analytic>
		<title level="a" type="main">Description logic programs: combining logic programs with description logic</title>
		<author>
			<persName><surname>Grosof</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">The Proceedings of the World Wide Web Conference (WWW2003)</title>
				<imprint>
			<date type="published" when="2003">2004. 2003</date>
			<biblScope unit="page" from="48" to="57" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<analytic>
		<title level="a" type="main">Authorization and Privacy for Semantic Web Services</title>
		<author>
			<persName><surname>Kagal</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">The Proceedings of the AAAI Spring Symposium on Semantic Web Services</title>
				<imprint>
			<date type="published" when="2004">2004</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<analytic>
		<title level="a" type="main">Declarative Policies for Describing Web Service Capabilities and Constraints</title>
		<author>
			<persName><surname>Kagal</surname></persName>
		</author>
		<ptr target="http://alphaWorks.ibm.com/tech/snobase.2003" />
	</analytic>
	<monogr>
		<title level="m">Proceedings of W3C Workshop on Constraints and Capabilities for Web Services</title>
				<meeting>W3C Workshop on Constraints and Capabilities for Web Services</meeting>
		<imprint>
			<date type="published" when="2003">2003</date>
		</imprint>
	</monogr>
	<note>A Semantic Network-based Ontology Ontology Management</note>
</biblStruct>

<biblStruct xml:id="b4">
	<analytic>
		<title level="a" type="main">A software framework for matchmaking based on semantic web technology</title>
		<author>
			<persName><forename type="first">Horrocks</forename><surname>Li</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><surname>Li</surname></persName>
		</author>
		<author>
			<persName><forename type="first">I</forename><surname>Horrocks</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">The Proceedings of the World Wide Web Conference (WWW2003)</title>
				<imprint>
			<date type="published" when="2003">2004. 2003</date>
			<biblScope unit="page" from="331" to="339" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<analytic>
		<title level="a" type="main">Supporting Policy-driven behaviors in Web services:Experiences and Issues</title>
		<author>
			<persName><surname>Meteor-S ; Mukhi</surname></persName>
		</author>
		<author>
			<persName><forename type="first">N</forename><forename type="middle">K</forename><surname>Plebani</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Mukhi</surname></persName>
		</author>
		<author>
			<persName><surname>Plebani</surname></persName>
		</author>
		<ptr target="http://lsdis.cs.uga.edu/Projects/METEOR-S/" />
	</analytic>
	<monogr>
		<title level="m">the proceedings of the International Conference on Services Oriented Computing (ICSOC)</title>
				<imprint>
			<date type="published" when="2002">2002. 2004. 2004</date>
		</imprint>
	</monogr>
	<note>METEOR-S: Semantic Web Services and Processes</note>
</biblStruct>

<biblStruct xml:id="b6">
	<monogr>
		<author>
			<persName><surname>Owl</surname></persName>
		</author>
		<ptr target="http://www.daml.org/services/owl-s/" />
		<title level="m">Web Ontology Language for Web Services</title>
				<editor>
			<persName><forename type="first">T</forename></persName>
		</editor>
		<imprint>
			<date type="published" when="2002">2002. 2002. 2002. 2002</date>
		</imprint>
	</monogr>
	<note>OWL Technical Committee (T.C)</note>
</biblStruct>

<biblStruct xml:id="b7">
	<analytic>
		<title level="a" type="main">Expressing WS-Policies in OWL</title>
		<author>
			<persName><surname>Parsia</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Submitted to Policy Management for the Web Workshop, 14th International World Wide Web Conference</title>
				<meeting><address><addrLine>Chiba, Japan</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2005-05">2005. May 2005</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b8">
	<monogr>
		<author>
			<persName><forename type="first">K</forename><surname>Rdf</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><surname>Sivashanmugam</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><forename type="middle">P</forename><surname>Verma</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><forename type="middle">A</forename><surname>Sheth</surname></persName>
		</author>
		<author>
			<persName><surname>Miller</surname></persName>
		</author>
		<ptr target="http://www.w3.org/RDF/" />
		<title level="m">Adding Semantics to Web Services Standards, The Proceedings of the First International Conference on Web Services (ICWS</title>
				<imprint>
			<date type="published" when="1999">1999. 2003. 2003</date>
			<biblScope unit="page" from="395" to="401" />
		</imprint>
	</monogr>
	<note>Resource Data Framework</note>
</biblStruct>

<biblStruct xml:id="b9">
	<analytic>
		<title level="a" type="main">Policy and Contract Management for Semantic Web Services</title>
		<author>
			<persName><forename type="first">J</forename><forename type="middle">M</forename><surname>Swrl ; Uszok</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Bradshaw</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Jeffers</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Johnson</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Tate</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Dalton</surname></persName>
		</author>
		<author>
			<persName><surname>Aitken</surname></persName>
		</author>
		<ptr target="http://www.daml.org/2003/11/swrl/" />
	</analytic>
	<monogr>
		<title level="m">The Proceedings of the AAAI Spring Symposium on Semantic Web Services</title>
				<imprint>
			<date type="published" when="2004">2004. 2004</date>
		</imprint>
	</monogr>
	<note>Semantic Web Rule Language</note>
</biblStruct>

<biblStruct xml:id="b10">
	<analytic>
		<title level="a" type="main">GlueQoS: Middleware to Sweeten Quality-of-Service Policy Interactions</title>
		<author>
			<persName><surname>Wohlstadter</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">The Proceeding of the 26th International Conference on Software Engineering (ICSE 2004)</title>
				<imprint>
			<date type="published" when="2004">2004</date>
			<biblScope unit="page" from="189" to="199" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b11">
	<monogr>
		<author>
			<persName><surname>Wsmo</surname></persName>
		</author>
		<ptr target="http://www.w3.org/TR/REC-xml-names/" />
		<title level="m">Web Service Modeling Ontology</title>
				<imprint>
			<date type="published" when="1999-01-14">2004. 1999. 14-January-1999</date>
		</imprint>
	</monogr>
	<note>World Wide Web Consortium</note>
</biblStruct>

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