Developing e-Negotiation support with a meta-modeling approach in a Web services environment Dickson Chiu Senior Member, IEEE dicksonchiu@ieee.org Shing-Chi CHEUNG Patrick C.K. Hung Dept. of Computer Science Hong Kong University of Science & Technology Sherina Y. Y. Chiu K. K. Chung Dept. of Computer Science & Engineering, Chinese University of Hong Kong scc@cs.ust.hk 1 To be learned from this case Capture and abstract various business process requirements Generalize them into an organized framework and model Application of IT and CS to solve a business problem Novelty - process support for NSS is much less studied (as compared with decision models for negotiation) Extend a traditionally human centric application into a Web service based platform to support growing need for programmatic interface for B2B support negotiating agents – autonomous intelligent programs act on behalf of a user Architecture and Web service design DSS 40(2005) 2 Introduction e-Contract Negotiation a decision process in which two or more parties make individual decisions and interact with each other for mutual gain negozio = shop in Italian … e-Negotiation computerized facilitation or automation of a contract cross-organizational business process perform negotiation activities over the Internet Web Services and Grid technologies and infrastructures => Context: extended e-Marketplace DSS 40(2005) 3 Classification of Negotiation Our Meta-model covers the following types of negotiation Bidding Bargaining Multilateral distributive negotiation Formal, competitive procurement procedure Usually involves two parties Each party has a single but opposing objective Each fights for the best value that opponent would still accept Request for Proposals (RFP) Extended form of bargaining Has a prelude phase of requirement & candidate identification DSS 40(2005) 4 Project Background D.K.W. Chiu, S.C. Cheung, P.C.K. Hung, S.Y.Y. Chiu* and K.K. Chung*. Developing e-Negotiation Process Support with a Metamodeling Approach in a Web Services Environment, Decision Support Systems, 40:51-69, 2005. (*FYP students) Peliminary Version at ICWS'03, June 2003 6th Pacific Asia Conference on Information Systems, Sept 2002 D.K.W. Chiu, S.C. Cheung, P.C.K. Hung, and H.F. Leung. Constraintbased Negotiation in a Multi-Agent Information System with Multiple Platform Support, HICSS37, Jan 2004. S.C. Cheung, P.C.K. Hung and D.K.W. Chiu. On e-Negotiation of Unmatched Logrolling Views, HICSS36, Jan 2003 (best paper nominee). (journal version under revision for JMIS) S.C. Cheung, P.C.K. Hung and D.K.W. Chiu. A Meta-model for eContract Template Variable Dependencies Facilitating e-Negotiation, ER2002, Oct 2002 DSS 40(2005) 5 Contract Templates Reference document based on which a new contract is created Contains a set of template variables whose values are to be negotiated Particularly applicable to standard business interactions that could be taken place over the Internet Such as real-estate transactions, purchase and sale of goods, etc. New e-Contracts for these business interactions can be defined based on standard contract templates Specific business interactions not covered by the clauses in standard contract templates can be provided as contract variations or contract escalations The PURCHASER shall send a Letter of Credit for the GOODS to the SUPPLIER in the currency of [ ] within [ ] days of the invoice date. The SUPPLIER shall on receipt of the Letter of Credit ships the GOODS to the PURCHASER within [ ] days and provides the PURCHASER with shipment details. DSS 40(2005) 6 Motivation and Objectives e-Contract template and template variables facilitate negotiation by avoiding uncontrolled openness of issues Address specific semantic requirement of contracts for supporting B2B applications Reduce cost and improve effectiveness of negotiation (avoid combinatorial explosion of issues) Development of an effective and efficient negotiation plan in a natural way Rapid development and deployment of a flexible negotiation support system (NSS) through reuse in a e-Marketplace A reference model for future research DSS 40(2005) 7 Overall Meta-modeling Approach 1. 2. 3. Based on business experience and requirements, contract templates (with variables) are abstracted from previous contracts Administrator models a contract template as an e-Contract template Suitable e-Negotiation processes are designed based on our metamodel for e-Negotiation processes 4. 5. Such as bargaining, auctions and RFP Determine template variable relations (dependencies) These designed processes are most likely repeatable and reusable for a business. NSS derive e-Negotiation plan Designed e-Negotiation processes are executed with the support of a NSS (e.g., exchange bids via Web Services) Each successful e-Negotiation will lead to an e-Contract DSS 40(2005) 8 Meta-Model of an e-Contract Template e-Contract involves Party 2..* depends refines 1 e-Contract Template * 1..* Contract Clause * Template Variable * * references Obligation Permission Prohibition DSS 40(2005) 9 A Sales e-Contract Template as an Instance of the Meta-model Purchaser :Party involves involves depends Supplier :Party consists of Sales :e-Contract Template Shipping & Insurance :Contract Clause freight :Template Variable Deposit Payment :Contract Clause deposit :Template Variable insurance premium :Template Variable Pricing :Contract Clause quantity :Template Variable unit price :Template Variable Delivery :Contract Clause delivery date :Template Variable return policy :Template Variable DSS 40(2005) 10 Conceptual Model of e-Negotiation and e-Contract e-Negotiation Conceptual Model Party involves 2..* Negotiation 1..* resolves Task 1 1..* dr 1 iv * es 1..* Offer 1 Issue 1 maps to * s* e t la mu r o f 1 Plan * 1..* Auxiliary Variable 1..* makes e-Contract Contract Conceptual Clause Model 1..* Template Variable * Variable 1 * precedes * * logrolls has 1..* Alternative Value specializes consists of Accepted Offer Accepted Alternative Value DSS 40(2005) 11 A Meta-Model of e-Negotiation Process in UML Activity Diagram Pre-negotiation phase define issues and criteria for each all issues collection have been of co-related mapped issue derive variable formulate plan organize tasks relations select e-Contract template [inconsistent] Negotiation phase How we carry out e-Negotiation in general … validate consistency creation of e-Contract [consistent] [reach consensus on all variables] make offers & counter offers [quit] DSS 40(2005) 12 System Architecture Enterprises End users on Multi-platform Devices Public UDDI Registry Web Services Programmatic Access Web / WAP Access Internet e-Marketplace XSLT Processor Web Front-end Web Service Server XSLT Stylesheets bids & offers e-Negotiation Executing Subsystem e-Negotiation Session Manager e-Negotiation process e-Contract template, template variables e-Contract Generator e-Contract e-Negotiation process revised e-Contract template, template variables e-Negotiation Data & Repository existing e-Contract template e-Negotiation Process Generator task dependency Tasks Organizer variable dependency Search Engine Variable Dependency Editor e-Contract Template Management e-Contract Template Editor e-Contract template e-Negotiation Matching Subsystem criteria, issues Criteria & Issues Editor DSS 40(2005) 13 Bargaining e-Negotiation Process (1) Decide your offers Select E-contract Template / Define Issues and Criteria business experience formally from its old sale contracts informally from quotations, purchase orders, invoices other correspondences with its customers typical contract template variables - product for sale, price, quantity, delivery date, freight, payment terms, deposit, etc. define issues and criteria select e-Contract template for each all issues collection derive variable have been of co-related mapped relations issue [inconsistent] formulate plan organize tasks validate consistency [consistent] make offers & counter offers creation of e-Contract [reach consensus on all variables] [quit] DSS 40(2005) 14 Web Services for Bargaining - Offer Service Name: placeNewBargainOffer Service Name: withdrawOffer Input: Item Description, Contract Template ID, Proposed Template Variable Values, Additional Requirement List Response: Offer ID Input: Offer ID Response: Confirmation Service Name: searchOffer Input: Search Criteria Response: List of Offer ID and Descriptions DSS 40(2005) 15 Web Services for Bargaining – Contract Template Service Name: searchContractTemplate Service Name: downloadContractTemplate Input: Search Criteria Response: XML Contract Template Summaries Input: Contract Template ID Response: XML Contract Template Service Name: uploadContractTemplate Input: XML Contract Template Response: Contract Template ID DSS 40(2005) 16 Bargaining e-Negotiation Process (2) Formulate Plan and Make Offer and Counter Offer Based on offers and contract template Evaluation of several variables and of several values per variable Need to take in account of the dependencies among the issues Deciding the order of negotiation Trade-off evaluation of inter-dependent issues Negotiate: Unit price, Quantity, Delivery date Negotiate: Payment terms, Deposit Negotiate: Return policy Compute Freight Negotiate: Who pay freight / insurance Check Insurance Premium DSS 40(2005) 17 Derivation of Negotiation Plan {facilities provision, lease period, basic rent} {start date, additional fee1} {management fee inclusion, additional fee2} {numOfMonths} Landlord {rent} start date {deposit} lease period facilities provision additional fee1 basic rent Partial ordering of variables (sets) mgt fee inclusion rent additional fee2 Tenant deposit numOfMonths DSS 40(2005) 18 Web Services for Bargaining – Contract Template & Negotiation Plan Service Name: downloadNegotiationPlan Input: Contract Template ID Response: XML Negotiation Plans in the Repository for the specified contract template Service Name: uploadNegotiationPlan Input: Contract Template ID, XML Negotiation Plan Response: Negotiation Plan ID DSS 40(2005) 19 Make Offer and Counter Offer [acceptance received] [ready to make an offer] Identify the issue(s) to be next negotiated in the plan Prepare reservation prices Have all issues been negotiated? Evaluate offer / counter-offer [unacceptable prices] [false] Quit? [acceptable prices] Notify counterparty of acceptance [false] Revise reservation prices Make offer / counter-offer [counter-offer received] [offer received] start a new negotiation cycle [failure received] [true] Notify counterparty of failure [true] Successful negotiation DSS 40(2005) 20 Web Services for Bargaining – Make Offer and Counter Offer Service Name: initNegotiationSession Service Name: updateNegotiationSession Input: Offer ID Responded to, Negotiation Plan ID, Counteroffer Template Variable Values, Comments Response: Session ID Input: User ID, Session ID, Counteroffer Template Variable Values, Comments Response: Outstanding Variables Not Agreed or Successful Negotiation Service Name: abortNegotiationSession Input: Session ID Response: Confirmation DSS 40(2005) 21 Auction Process (1) Decide your offers Select E-contract Template / Define Issues and Criteria price is usually the main and only issue for negotiation quantity - when a lot of same items are sold occasionally may involve multiple issues, using a scoring rule (formula) auction service or marketplace provider define issues and criteria select e-Contract template for each all issues collection derive variable have been of co-related mapped relations issue [inconsistent] formulate plan organize tasks validate consistency [consistent] make offers & counter offers creation of e-Contract [reach consensus on all variables] [quit] DSS 40(2005) 22 Auction Process (2) Formulate Plan (specify the rules and parameter for the bidding process) Format – Dutch or English auction, maximum rounds of bidding (if any), deadline for last bid (if any), maximum time between each bid (if any), whether bids are sealed or open, etc. Rules of bidding – starting price, (minimum) price increment for each bid (if any), reserve price (sealed or open), etc. Administration – start time and location (physical location, or URL in the case of electronic auction) of the bidding, entry fee (if any), deposit (if any), penalty for bidder default (if any), who may bid, etc. DSS 40(2005) 23 Auction Process (3) Organize Task Important factor for the success of an action Potential bidders have to be identified Announcements and publicity to attract potential bidders Carry out the planned admission procedures, such as admitting and registering valid bidders, charging entry fee and deposit (if any) DSS 40(2005) 24 Auction Process (4) Make Offer and Counter Offer (i.e. the bidding race) Received Valid Bid Received Valid Bid Wait for Next Bid Time Out or Exceeding Max. round (if any) [Price too low] Time Out Fail Compare with Reservation Price [Valid Final Price] Success DSS 40(2005) 25 Web Services for Auctions that are different Service Name: placeNewAuctionOffer Service Name: placeAuctionBid Input: Item Description, Contract Template ID, Proposed Template Variable Values, Additional Requirement List, Auction Parameters Response: Offer ID Input: User ID, Session ID, Counteroffer Template Variable Values, Comments Response: Valid | Invalid Consider the following services could be the same as bargaining – withdrawOffer, seachOffer, those regarding templates, etc. DSS 40(2005) 26 Request for Proposals (RFP) (1) Select E-contract template / Define Issues and Criteria customer has some requirements, but with a lot of open issues rest of the contract template is to be constructed based on the information from potential suppliers define issues and criteria select e-Contract template for each all issues collection derive variable have been of co-related mapped relations issue [inconsistent] formulate plan organize tasks validate consistency [consistent] make offers & counter offers creation of e-Contract [reach consensus on all variables] [quit] DSS 40(2005) 27 Request for Proposals (RFP) (2) Decide your offer Formulate Plan Identifies which issues and criteria to be disclosed to RFP candidates Identify specific candidates from directories, or identify some criteria for open advertisement Determine various administration procedures, such as deadline, submission procedures, etc. DSS 40(2005) 28 Request for Proposals (RFP) (2) Organize Tasks Similar to auction… Make Offers and Counter Offers Candidate proposals before the deadline Evaluates them according to the criteria previously defined May need further interaction with the candidates for clarifications Shortlist / rank candidates, or directly select a successful one By this time, the customer will have much more understanding on the details of product/service requirements, their issues, and thus also in the potential contract Can negotiate further issues and criteria by following the detail procedures of scenario 1 – bargaining DSS 40(2005) 29 Web Services for RFP Service Name: placeNewRFP Input: Item Description, Contract Template ID, Proposed Template Variable Values, Additional Requirement List Response: Offer ID Service Name: replyRFP Input: OfferID, Contract Template ID, Proposed Template Variable Values, Additional Requirement List Response: Accept | Reject | RevisedOfferID DSS 40(2005) 30 Monitoring - Session Manager DSS 40(2005) 31 NSS – Create Contract Template System administrator create new contract template by entering different contract template variables DSS 40(2005) 32 NSS - Grouping & Auxiliary Variables System administrator then input grouping and auxiliary variables DSS 40(2005) 33 NSS - Input Dependencies System administrator then input dependencies among groups / issues DSS 40(2005) 34 Negotiation Based on Different Contract Templates GUI (1) DSS 40(2005) 35 Negotiation Based on Different Contract Templates GUI (2) DSS 40(2005) 36 UDDI Registry for the Prototype Access URI DSS 40(2005) 37 Sample Web Service DSS 40(2005) 38 Conclusions An novel application of computer science techniques for a management problem A novel approach of e-Negotiation of contracts based on e-contract template A meta-model for e-Contract templates with the notion of template variables and their dependencies A flexible meta-model for e-Negotiation processes Feasibility of designing various practical e-Negotiation processes (viz., bargaining, auctions and request for proposals) Derivation of effective and efficient negotiation plan Application of contemporary Web Services technologies Facilitate rapid implementation for e-Marketplaces supporting the crossorganizational process NSS supporting both human and computer access DSS 40(2005) 39 Continuing and Future Work Contract template dependencies (Cheung et al 2002) One-to-many contract negotiation Ranking of different types of issues and criteria for tradeoff issues Decision making to reach an optimal and stable state for negotiators (Nash equilibrium) Ontology support for negotiation E-marketplace D.K.W. Chiu, S.C. Cheung, P.C.K. Hung and H.F. Leung. Facilitating eNegotiation Process with Semantic Web Technologies, HICSS38, Jan 2005. D.K.W. Chiu, J.K.M. Poon, W.C. Lam, C.Y. Tse, W.H.T. Siu, W.S. Poon. How Ontologies Can Help in an E-marketplace, ECIS 2005, to appear. Anonymity and Security Real-life negotiation practice Integration of NSS / e-Marketplace with EIS Request for proposals (particularly with semantic support) DSS 40(2005) 40