WS-Agreement Based Semantic Partner Selection A component of the Meteor-S projectMeteor-S Nicole OldhamNicole Oldham, LSDIS Lab, University of GeorgiaLSDIS.

Slides:



Advertisements
Similar presentations
CH-4 Ontologies, Querying and Data Integration. Introduction to RDF(S) RDF stands for Resource Description Framework. RDF is a standard for describing.
Advertisements

Web Service Ahmed Gamal Ahmed Nile University Bioinformatics Group
Semantics Static semantics Dynamic semantics attribute grammars
Interest Rates Chapter 4.
Which Marketing Strategy Should I Use and Why? John Hobert Farm Business Management Program Riverland Community College.
1 Dynamic portfolio optimization with stochastic programming TIØ4317, H2009.
UDDI, Discovery and Web Services Registries. Introduction To facilitate e-commerce, companies needed a way to locate one another and exchange information.
Semantic WS-Agreement Partner Selection A component of the METEOR-S projectMETEOR-S By: Nicole M. Oldham Advisor: Dr. Amit P. Sheth Committee: Dr. John.
Introduction to Derivatives and Risk Management Corporate Finance Dr. A. DeMaskey.
SPECIFYING AND MONITORING GUARANTEES IN COMMERCIAL GRIDS THROUGH SLA Sven Graupner Vijay MachirajuAad van Moorsel IEEE/ACM International Symposium on Clustering.
OASIS Reference Model for Service Oriented Architecture 1.0
CHAPTER 18 Derivatives and Risk Management
Knowledge enable Information & Services Science Kno.e.sis CenterKno.e.sis Wright State University, Dayton, OH. Role of semantics in.
Constraint Logic Programming Ryan Kinworthy. Overview Introduction Logic Programming LP as a constraint programming language Constraint Logic Programming.
Software Testing and Quality Assurance
PROCESS MODELING Transform Description. A model is a representation of reality. Just as a picture is worth a thousand words, most models are pictorial.
Contracting: An Overview of Why, When, Where, & the Future PIE 231 by: Joe Parcell Extension Economist University of Missouri - Columbia
Types of Grain/Oilseed Contracts by: Joe Parcell PIE Agricultural Contracting.
Kmi.open.ac.uk Semantic Execution Environments Service Engineering and Execution Barry Norton and Mick Kerrigan.
System Engineering Instructor: Dr. Jerry Gao. System Engineering Jerry Gao, Ph.D. Jan System Engineering Hierarchy - System Modeling - Information.
Audumbar Chormale Advisor: Dr. Anupam Joshi M.S. Thesis Defense
Forward Contracting Grains John Hobert Farm Business Management Program Riverland Community College.
IBM Proof of Technology Discovering the Value of SOA with WebSphere Process Integration © 2005 IBM Corporation SOA on your terms and our expertise WebSphere.
Commercial operations in foreign trade.  Classical forms of international trade  Concept and content of international commercial operations  Export.
Becoming Familiar with Cash Sales Becoming Familiar with Cash Sales Objectives: Understand advantages and disadvantages of various types of cash sales.
Katanosh Morovat.   This concept is a formal approach for identifying the rules that encapsulate the structure, constraint, and control of the operation.
1 Chapter 11 Implementation. 2 System implementation issues Acquisition techniques Site implementation tools Content management and updating System changeover.
Semantic WS-Agreement Partner Selection (SWAPS) WWW2006WWW2006, Edinburgh, May Nicole Oldham, Kunal Verma, Amit Sheth, Farshad Hakimpur LSDIS Lab,
Rohit Aggarwal, Kunal Verma, John Miller, Willie Milnor Large Scale Distributed Information Systems (LSDIS) Lab University of Georgia, Athens Presented.
PACIFIC NORTHWEST & ALASKA RISK MANAGEMENT EDUCATION REGIONAL CONFERENCE March Spokane, Washington.
Derivative securities Fundamentals of risk management Using derivatives to reduce interest rate risk CHAPTER 18 Derivatives and Risk Management.
Semantic Web Fred: Project Objectives & SWF Framework Michael Stollberg Reinhold Herzog Peter Zugmann - 07 April
What is a Business Analyst? A Business Analyst is someone who works as a liaison among stakeholders in order to elicit, analyze, communicate and validate.
10/18/20151 Business Process Management and Semantic Technologies B. Ramamurthy.
Using WSMX to Bind Requester & Provider at Runtime when Executing Semantic Web Services Matthew Moran, Michal Zaremba, Adrian Mocan, Christoph Bussler.
Review 1.Lexical Analysis 2.Syntax Analysis 3.Semantic Analysis 4.Code Generation 5.Code Optimization.
Search Engines. Search Strategies Define the search topic(s) and break it down into its component parts What terms, words or phrases do you use to describe.
Formal Verification Lecture 9. Formal Verification Formal verification relies on Descriptions of the properties or requirements Descriptions of systems.
An Ontological Framework for Web Service Processes By Claus Pahl and Ronan Barrett.
1 WS-Agreement Tutorial Material 2004/09/13 Toshiyuki Nakata NEC Corporation.
Efficient RDF Storage and Retrieval in Jena2 Written by: Kevin Wilkinson, Craig Sayers, Harumi Kuno, Dave Reynolds Presented by: Umer Fareed 파리드.
Understanding Contract Farming and Appraisal
XML Grammar and Parser for WSOL Kruti Patel, Vladimir Tosic, Bernard Pagurek Network Management & Artificial Intelligence Lab Department of Systems & Computer.
Econ 337, Spring 2012 ECON 337: Agricultural Marketing Chad Hart Assistant Professor
06/12/2015Page 1 Rule-based SLA mediation Andras Micsik, Henar Muñoz Frutos.
16/11/ Semantic Web Services Language Requirements Presenter: Emilia Cimpian
Concepts and Realization of a Diagram Editor Generator Based on Hypergraph Transformation Author: Mark Minas Presenter: Song Gu.
Semantic Interoperability of Web Services – Challenges and Experiences Meenakshi Nagarajan, Kunal Verma, Amit P. Sheth, John Miller, Jon Lathem
Econ 339X, Spring 2010 ECON 339X: Agricultural Marketing Chad Hart Assistant Professor/Grain Markets Specialist
1 Authorization Sec PAL: A Decentralized Authorization Language.
ECON 337: Agricultural Marketing Chad Hart Associate Professor Lee Schulz Assistant Professor
Chapter 3: Purchasing Research and Planning Strategic Planning for Purchasing Strategic planning for purchasing involves the identification of critical.
ALLOY: A Formal Methods Tool Glenn Gordon Indiana University of Pennsylvania COSC 481- Formal Methods Dr. W. Oblitey 26 April 2005.
Of 24 lecture 11: ontology – mediation, merging & aligning.
 Andersen Consulting 2000 MM03 - Master Data in Purchasing & Contract November, 2000.
Enabling Grids for E-sciencE Agreement-based Workload and Resource Management Tiziana Ferrari, Elisabetta Ronchieri Mar 30-31, 2006.
Introduction to Financial Risk Management
Architecture Components
MM03 - Master Data in Purchasing & Contract
Which Marketing Strategy Should I Use and Why?
Agricultural Marketing
Service-Oriented Computing: Semantics, Processes, Agents
Production and Marketing Contracts in Agriculture
Service-Oriented Computing: Semantics, Processes, Agents
Semantic Markup for Semantic Web Tools:
Agricultural Marketing
Agricultural Marketing
Agricultural Marketing
Business Process Management and Semantic Technologies
Agricultural Marketing
Presentation transcript:

WS-Agreement Based Semantic Partner Selection A component of the Meteor-S projectMeteor-S Nicole OldhamNicole Oldham, LSDIS Lab, University of GeorgiaLSDIS LabUniversity of Georgia SWAPS Project Page

Outline WS-Agreement Project Objective Related Work Solution Reasoning Semantic Modeling Rules Searching Algorithm Architecture Example Use Case

WS-Agreement Structure Agreement Terms Service Terms Guarantee Terms Context Name <wsag:ServiceScope ServiceName=”xsd:NCName”> xsd:any... … Objective: to define a language and protocol for:- -Establishing agreement between two parties -Advertising the capabilities and requirements of service consumers and providers -Creating agreements based on creation offers -Monitoring the agreement compliance at runtime

WS-Agreement Allows users to specify requirements and capabilities in the following domains/categories: –Scopes: describes to what service element specifically a service applies. A performance guarantee might only apply to one operation of a Web service at a particular end point computeJob1, validateCreditCard –Service Level Objectives: expresses the condition that must be met to satisfy the guarantee. responseTime < 2 seconds –Qualifying conditions: express a precondition under which a guarantee holds. numRequests < 100 –Business Values: expresses importance, confidence, penalty, and reward. Penalty 5 USD

Outline WS-Agreement Project Objective Related Work Solution Semantic Modeling Reasoning Rules Searching Algorithm Architecture Example Use Case

What is the objective? Goal: to be able to reason dynamically over scope, objectives, conditions, and business values to find the best possible match. What is the challenge? - heterogeneous service level objectives different ways to say the same thing For Example: 98% of responses < 2s responseTime < 2s - objectives can only be met under certain conditions. How to determine which conditions are more suitable for consumer? ie: txRate VS weekday - tradeoffs exist for different consumers Consumer may prefer certain business values over other factors. ie: provider1 rt < 10 s and penalty 15 USD provider2 rt < 5s and penalty 1 USD *consumer may prefer slower with higher penalty - matching should be symmetric such that both consumer and provider’s requirements are met. Why is this an important problem to solve?

Outline WS-Agreement Project Objective Related Work Solution Semantic Modeling Rules Searching Algorithm Architecture Use Case

Related Work [Uszok et al., 2004] Policy and Contract Management for Semantic Web Services, AAAI Spring Symposium on Semantic Web Services, 2004 KAoS services and tools allow for specification and management of policies. KPO – KAoS uses ontology concepts to build policies –Is restricted by the functionality of OWL Does not consider rules and numeric expressions (later work uses role-value maps for rules) [Wohlstadter et al., 2004] GlueQoS: Middleware to Sweeten Quality-of-Service Policy Interactions, (ICSE 2004) Extends the grammar of WS-Policy to support qualifying conditions Not Semantic!

Related Work WSLA: Compatibility Analysis, Heiko Ludwig and Asit Dan What they do: –Parse WSLAs into syntax trees and match algorithm compares node by node –Handle heterogeneous SLOs with weakening functions Table shows how to decide which has the looser condition - Consult a lookup table to determine how to compare SLOs What they don’t do: –Consider Actions (the WSLA equivalent of qualifying conditions) –Utilize semantics to achieve better matches. –Use rules to capture user preferences and domain knowledge FuctionPredicateSlo1Slo2ComparisonResults RT<RT<x1RT<x2X1<X2RT1>RT2 RT5 < PLTT95% > RT2 < 2 RECONSTRUCT

Related Work Kunal Verma, Rama Akkiraju, Richard Goodwin, Semantic Matching of Web Service Policies, Second International Workshop on Semantic and Dynamic Web Processes (SDWP 2005) –Semantic policy matching –Use a combination of OWL and SWRL based rules to capture domain concepts and rules –Use of semantics and rules enables the discovery of matches that a syntactic matcher probably wouldn’t discover. Example: Provider: BusinessLevel of requestor must be Enterprise Requestor has a Dun & Bradstreet rating of A3. Rule: If a company has Dun &Bradstreet rating A3 then it is enterprise level when: Policy (P) and hasAlternative (P, ALT) and hasAssertion (ALT, A) and DunAndBradStreetRating(A, “A3”) do: Assertion (A1) and BusinessLevel (A1, “Enterprise”) and hasAssertion (ALT, A1) What they don’t do: –Reason over qualifying conditions or business values –Allow the user to specify tradeoffs and preferences

Contributions of this work Present a framework for semantically matching agreements. This framework considers scopes, objectives, qualifying conditions and business values as factors during matching. A flexible matching algorithm which allows users to specify preferences and tradeoffs through the use of rules

Outline WS-Agreement Project Objective Related Work Solution Semantic Modeling Reasoning Rules Searching Algorithm Architecture Example Use Case

How I solved the problem A Semantic Approach Represented domains with ontologies –WS-Agreement: individual agreements are instances of the WS-Agreement ontology –Domain Ontology –Temporal Concepts: time.owl (DAML time) Concepts: seconds, dayOfWeek, ends –Quality of Service: Dr. Michael Maximilien’s QoS ontology (IBM). Concepts: responseTime, failurePerDay Designed a flexible matching algorithm which eliminates needless matching with the use of ontological queries Provided abstraction from the code such that the user may specify tradeoffs, preferences, and semantics by modifying one file of ARL rules.

Outline WS-Agreement Project Objective Related Work Solution Semantic Modeling Reasoning Rules Searching Algorithm Architecture Example Use Case

WS-Agreement Ontology GuaranteeTerm Scope ServiceLevelObjectivev OWL ontology Predicate Parameter hasScope hasObjective Unit Value hasCondition Qualifying Condition Predicate Parameter Unit Value BusinessValue Penalty Reward hasReward hasPenalty hasGuaranteeTerm Importance hasImportance hasBusinessValue Assessment Interval ValueExpression ValueUnit TimeIntervalCount Assessment Interval ValueExpression ValueUnit TimeInterval Count

ServiceProvider ComputeJob1 qos:ResponseTime 5 time:seconds 1 5 USD Sample Agreement

Outline WS-Agreement Project Objective Related Work Solution Semantic Modeling Reasoning Rules Searching Algorithm Architecture Example Use Case

Reasoning Match Criteria –Each consumer requirement must be satisfied. –Each provider requirement must be satisfied. Scope: each guarantee term has a service scope for which that guarantee applies. ie: computeJob1, validateCredit –The value of this parameter is a concept from the domain ont. –Scope is not an optional parameter. SLO: must be compatible, the provider SLO must meet or exceed the need expressed in the consumer SLO –ie: responseTime < 4s -Heterogenity of SLOs will be dealt with by conversions using ARL rules and ontologies. -SLO parameter will be a variable from the WS-Agreement or a concept from one of the ontologies (probably QoS) Qualifying Condition: One provider’s qualifying condition may be more suitable for the consumer than another’s. –User will define rules which specify preferences Business Values –I assume user will always prefer a higher penalty amount to a lower amount but the differences in agreements will never be this simple. –User will define rules which specify tradeoff preferences

Outline WS-Agreement Project Objective Related Work Solution Semantic Modeling Reasoning Rules Searching Algorithm Architecture Example Use Case

Categories of Rules 1. Conversions for Heterogeneous SLOs ie: PercentageLessThanThreshold, etc. When there exists an SLO such that the predicate equals PercentLessThanThreshold Do if (percentage >= UserDefinedThreshold) predicate = less else predicate = greater 2. Semantics of Predicates When there exists an agreement which has an SLO such that predicate is less and a second agreement which also has an SLO with the predicate less AND the parameters of the two SLOs are the same Do if (value2 > value1) assert: slo1 isStronger slo2 else if (value1 > value2) assert: slo2 isStronger slo1 else assert: slo1 isEquivalent slo2

Categories of Rules 3. User preferences or tradeoffs When a guaranteeX exists whose qualifying condition parameter is txRate and another guaranteeY with the same objective has a qualifying condition parameter dayOfWeek Do guaranteeX isPreferedOver guaranteeY An assertion using the verb “notSuitable” would allow the user to state which conditions will never be appropriate 4.Domain Specific User Defined Rules ex: totalPrice = unitPrice + tax + freight + specialHandling totalTime = executionTime + networkTime availablility = totalTimeAvailable in last Q seconds/ Q seconds reliability = # of successful deliveries / total # of invokations When an agreement exists which has an SLO with parameter executionTime and an SLO with parameter networkTime Do Create a new guarantee for that agreement with an SLO that has parameter totalTime = the sum of the values of the two SLOs with a qualifying condition that is the compound of the two guarantees. 5.Unit Conversions seconds -> ms bytes -> mB

Outline WS-Agreement Project Objective Related Work Solution Semantic Modeling Reasoning Rules Searching Algorithm Architecture Example Use Case

The Control Flow Parsing As agreements are parsed they are entered into SnoBase as instances of the WSAG ontology. SNOBASE As these new predicates are entered, if the conditions in the ARL rules become present those rules will be fired at this time 1. Searching 2. The process of searching for a match occurs as soon as a consumer is seeking a partner. The searching algorithm will query the predicates in SNOBASE to find the best match

Searching Algorithm providerSet = set of all potential providers For each Consumer Guarantee, get Scope cScope { providerSet = all providers who have a guarantee with the same scope as cScope and were in the prev. set } if providerSet is empty there are no suitable providers else { For each provider p from providerSet { For each consumer guarantee term Gc { if the obligatedParty of Gc is ServiceProvider { satisfied = false; for each provider guarantee Gp { if the scopes are the same if the obligated parties are the same if the slos are compatible satisfied = true; } if (satisfied == false) // if you went through all of a provider guarantees and satisfied is still false for this consumer need this provider is removed from the set, move to next provider. } } // check that a consumer can satisfy each provider’s needs. For each provider guarantee Gp if (Gp.obligatedParty == ServiceConsumer) satisfied = false for each consumer guarantee if (Gc.obligatedParty == ServiceConsumer) if checkScopes() if checkSLOs() satisfied = true; if (satified = false) // if you went through all of a consumer’s guarantees and could not satisfy the provider need, remove provider remove provider from set, move to next provider. Narrows set Eliminates Needless Matching

Outline WS-Agreement Project Objective Related Work Solution Semantic Modeling Reasoning Rules Matching Algorithm Architecture Example Use Case

Architecture Provider Library WsagSelection Consumer Agreement WsagParser OntologyManager Ontologies SnoBase OWL.arl WsagMatcher Match policies with the help of domain knowledge stored in SNOBASE Ontologies are loaded into SNOBASE After the agreements are parsed the ontology manager creates instances in SNOBASE Domain Knowledge and Rules

Outline WS-Agreement Project Objective Related Work Solution Semantic Modeling Reasoning Rules Matching Algorithm Architecture Example Use Case

Example: Service Properties in a Web Service Environment Requirement1: responseTime < 8s Requirement2: endTime before Consumer Objective1a: executionTime < 3s Condition: day equals weekday Objective 2a: networkTime < 2s Condition: numRequests < 1000 Objective3a: endTime before RequirementA: availableMemory > 100 MB Provider1 Objective1b: 99% of responseTime < 7s Condition: txRate < 1000 Penalty: 5USD Objective2b: endTime before Penalty: 50 USD Provider2 Challenges/Notes: 1. Heterogeneous SLOs for Objective1 2. Provider1 and Provider2 conditions which is more suitable for the consumer, txRate or weekday and numRequests? 3. Provider2 is slower but offers a higher penalty – does consumer have a preference? 4. Provider1 also has a requirement – matching must be symmetric. *Since approach is semantic responseTime, endTime, day, availableMemory are all concepts from the ontologies. We have a common understanding.

The Matching Process Consumer endTime before responseTime < 8s Provider1 endTime before availableMemory > 100 MB networkTime < 2s numRequests < 1000 Rule: responseTime = executionTime + networkTime with compound condition executionTime < 3s day equals weekday Provider2 endTime before USD 99% of responseTimes < 7s txRate < USD

The Matching Process Consumer endTime before responseTime < 8s Provider1 endTime before availableMemory > 100 MB Weakening Rule: PercentageLessThanThreshold if percent >= X predicate = less else predicate = greater responseTime < 5s day equals weekday AND numRequests < 1000 Provider2 endTime before USD 99% of responseTimes < 7s txRate < USD

The Matching Process Consumer endTime before responseTime < 8s Provider1 endTime before availableMemory > 100 MB User Preference Rule: if (GTa exists where condition parameter == txRate AND value > 1500) AND (GTb exists where condition parameter == weekday) GTa preferredOver GTb responseTime < 5s day equals weekday AND numRequests < 1000 Provider2 endTime before USD responseTime < 7s txRate < USD

The Matching Process Consumer endTime before responseTime < 8s Provider1 endTime before availableMemory > 100 MB Semantics of Predicate Rules: if (slo1 and slo2 have the predicates less) if (slo1Value < slo2Value) slo1 isStronger slo2 else if (slo1Value > slo2Value) slo2 isStronger slo1 else slo1 isEquivalent slo2 responseTime < 5s day equals weekday AND numRequests < 1000 Provider2 endTime before USD responseTime < 7s txRate < USD isStronger

The Matching Process Consumer endTime before responseTime < 8s Provider1 endTime before availableMemory > 100 MB Semantics of Predicate Rules: if (slo1 and slo2 have the predicates before) if (slo1Value.compareTo(slo2Value) < 0) slo1 isStronger slo2 else if (slo1Value.compareTo(slo2Value)>0) slo2 isStronger slo1 else slo1 isEquivalent slo2 responseTime < 5s day equals weekday AND numRequests < 1000 Provider2 endTime before USD responseTime < 7s txRate < USD isStronger

The Matching Process Consumer endTime before responseTime < 8s Provider1 endTime before availableMemory > 100 MB Searching: first narrow down provider set by querying for consumer scopes for each provider p for each consumer Guarantee Term if consumer’s obligated party is ServiceProvider for each provider Guarantee Term checkScopes() checkObligations() checkSLOs (only have to query for isStronger or isEquivalent if (!satisfied) remove provider p for each provider Guarantee Term if provider’s obligated party is ServiceConsumer for each consumer guarantee term checkScopes() checkObligations() checkSLOs (only have to query for isStronger or isEquivalent if (!satisfied) remove provider p responseTime < 5s day equals weekday AND numRequests < 1000 Provider2 endTime before USD responseTime < 7s txRate < USD

Outline WS-Agreement Project Objective Related Work Solution Semantic Modeling Reasoning Rules Matching Algorithm Architecture Example Use Case

Use Case: The value of agreements in farming Contract farming is defined as a system for the production and supply of agricultural or horticultural products under forward contracts between producers/suppliers and buyers. The essence of such an arrangement is the commitment of the cultivator to provide an agricultural commodity of a certain type, at a time and a price, and in the quantity required by a known and committed buyer 1. Market provision: The grower and buyer agree to terms and conditions for the future sale and purchase of a crop or livestock product; 2. Resource provision: In conjunction with the marketing arrangements the buyer agrees to supply selected inputs, including on occasions land preparation and technical advice; 3. Management specifications: The grower agrees to follow recommended production methods, inputs regimes, and cultivation and harvesting specifications.

Categories of Agreement Crop Delivery Arrangements Pricing Arrangements Cultivation Practices Quality and Quantity of Goods Payment Procedures Insurance Arrangements

Advantages for farmers Buyer will normally undertake to purchase all produce grown, within specified quality and quantity parameters. Farmers’ price risk is often reduced as many contracts specify prices in advance Inputs and production services are often supplied by the sponsor This is usually done on credit through advances from the sponsor Contract farming often introduces new technology and also enables farmers to learn new skills Contract farming can open up new markets which would otherwise be unavailable to small farmers

Advantages for Buyers Production is more reliable than open-market purchases and the sponsoring company faces less risk by not being responsible for production More consistent quality can be obtained than if purchases were made on the open market

Sample Contracts Objective1: Moisture is less inclusive 14% Penalty: discount $x each Objective2: splits is less inclusive 20% Penalty: splits of 5% or more, discount $y each Objective3: test weight is greater than inclusive 54 lbs Objective4: oil content varies between x% and y% Conditions: variety of seed selected planting date is between x and y dates contaminating pollination by non-high oil corn variety Farmer Contract Objective1: guarantees compensation of grower to be (deliveryLocationPrice – discountPenalties) * netBushels Condition: market conditions may make deliveryLocationPrice higher or lower. Objective2: establishes delivery date. Objective3: draws a sample oil content from each load. Buyer Contract

Why Agreements? Agreements, in the form of a written contract or a verbal understanding, usually cover the responsibilities and obligations of each party, the manner in which the agreement can be enforced and the remedies to be taken if the contract breaks down. When efficiently organized and managed, contract farming reduces risk and uncertainty for both parties as compared to buying and selling crops on the open market.

Status and Expected Completion Implementation Status: Ontologies ARL Rules Domain Rules Semantics of Predicates Weakening Rules, PLTT Parser OntologyManager 60% of matcher To Do:  Matcher to consider Qualifying Conditions  Matcher to consider Business Values  ARL rules to represent user preferences  User Interface  (maybe) A module which will convert SWRL to ARL Expected Completion: Coding: September 21st Testing: September 28th Paper: October 28th