180 likes | 300 Views
Using FLBC and Event Semantics for Modeling and Reasoning about Contracts. Yao-Hua Tan Walter Thoen. Objectives. Develop a First-Order logical formalism to represent the content of business contracts (e.g. Kimbrough, Lee, Moore, Sergot)
E N D
Using FLBC and Event Semantics for Modeling and Reasoning about Contracts Yao-Hua Tan Walter Thoen SIKS symposium
Objectives • Develop a First-Order logical formalism to represent the content of business contracts (e.g. Kimbrough, Lee, Moore, Sergot) • This formalism can be used to develop applications that • automatically negotiate and process contracts • give on-line support to human negotiators • MeMo • diCarta SIKS symposium
Why FLBC & Event Semantics? Five perspectives on modeling contracts: • Data perspective – agreements are seen as a collection of data elements, such as addresses, delivery dates, production specifications and prices, which have to be stored in data bases, communicated using EDI and processed using ERP back office systems • Document perspective – agreements are seen as documents that should be managed during their life cycle. The documents have be adequately created, stored, retrieved, updated etc. • Procedural perspective – agreements are seen as specifying the intended behavior of the parties to the agreement. • Normative perspective – agreements are seen as a collection of norms that regulate the behavior of the parties to the agreement. • Communication perspective – agreements are seen as a set of speech acts where the parties to the agreement promise, assert and declare the propositions the make up the agreement SIKS symposium
Why FLBC & Event Semantics? FLBC & Event semantics: Data perspective Communicative perspective Procedural perspective Normative perspective SIKS symposium
Event Semantics (Kimbrough) e (promise(e) speaker(e, Party) hearer(e, TheOtherParty) (Kept(e) e’ (deliver(e’) agent(e’, Party) theme(e’, Products) sake(e’, e)) • This expression is read as “There exists a promising event (speech act) with the speaker being Party and the hearer being TheOtherParty and the promising event is kept if and only if there exists another event, which is a delivery event, the agent of that delivery event is Party, what was delivered is Products and the delivery event occurred for the sake of the promising event” SIKS symposium
ICC Model contract • We modeled the ICC model Distributorship Contract as part of the MeMo research project • Several refinements of Kimbrough’s event semantics are needed to model the ICC Model contract, e.g. • Subcontracting • Conditional promises • Fundamental Breach • Remedies & Preferences • Granting of Rights SIKS symposium
Subcontracting • Article 8.107 (ex art. 3.107) – Performance Entrusted to Another A party who entrusts performance of the contract to another person remains responsible for performance. (source: “THE PRINCIPLES OF EUROPEAN CONTRACT LAW – 1998” • If we assume that a transporter will actually deliver the Products on behalf of the supplier, then we could represent this as: e (promise(e) speaker(e, Supplier) hearer(e, Buyer) (Kept(e) e’ (deliver(e’) agent(e’, Transporter) theme(e’, Products) sake(e’, e) influenced(Transporter, Supplier) SIKS symposium
Subcontracting e (promise(e) speaker(e, Supplier) hearer(e, Buyer) (Kept(e) e’ (deliver(e’) agent(e’, Transporter) theme(e’, Products) sake(e’, e) e’’ (promise(e’’) speaker(e’’, Transporter) hearer(e’’, Supplier) (Kept(e’’) e’’’ (deliver(e’’’) agent(e’’’, Transporter) theme(e’’’, Products) sake(e’’’, e’’) sake(e’’’, e))) • Embedded speech act to represent subcontract • e’ and e’’’ describe same type of event • sake(e’’’, e) used to link contracts together SIKS symposium
Conditional promises Post-payment: e (promise(e) speaker(e, Buyer) hearer(e, Supplier) (Kept(e) e’ (deliver(e’) agent(e’, Supplier) theme(e’, Products) sake(e’, e) cul(e’, t1)) no implication used! e’’ (pay(e’’) agent(e’’, Buyer) theme(e’’, Money) sake(e’’, e) cul(e’’, t2) t2 < (t1 + 30))) SIKS symposium
Fundamental Breach • Article 8.103 - Fundamental Non-Performance A non-performance of an obligation is fundamental to the contract if: • strict compliance with the obligation is of the essence of the contract; or • the non-performance substantially deprives the aggrieved party of what it was entitled to expect under the contract, unless the other party did not foresee and could not reasonably have foreseen that result; or • the non-performance is intentional and gives the aggrieved party reason to believe that it cannot rely on the other party's future performance. SIKS symposium
Fundamental Breach • Refine kept predicate and use kept_fundamental and kept_nonfundamental to model the distinction, for example e (promise(e) speaker(e, Party) hearer(e, TheOtherParty) (kept_fundamental(e) e’ (deliver(e’) agent(e’, Party) theme(e’, Products) sake(e’, e)) • Note that the contract should list the clauses that are fundamental explicitly. • The distinction is made to infer that if kept_fundamental is false, then that is a fundamental breach of contract, which empowers the other party to declare the contract avoided SIKS symposium
Remedies & Preference • Most contracts contain remedies for violations that occur frequently. For example: • Late delivery or non-delivery • Non-conforming goods • Late payment • The buyer has to pay an 1% interest charge if payment is not made within 30 days after delivery SIKS symposium
Remedies & Preference e (promise(e) speaker(e, Buyer) hearer(e, Supplier) ( ( kept_fundamental(e, high) [ ( e’ ( deliver(e’) agent(e’, Supplier) theme(e’, Products) sake(e’, e) cul(e’, t1) ) ) ( e’’ ( pay(e’’) agent(e’’, Buyer) theme(e’’, Money) sake(e’’, e) cul(e’’, t2) t2 < (t1 + 30) ) ) ] ) ( kept_fundamental(e, low) [ ( e’’’ ( deliver(e’’’) agent(e’’’, Supplier) theme(e’’’, Products) sake(e’’’, e) cul(e’’’, t3) ) ) ( e’’’’ ( pay(e’’’’) agent(e’’’’, Buyer) theme(e’’’’, MoneyPlusPenalty) sake(e’’’’, e) cul(e’’’’, t4) t4 > (t3 + 30) ) ) ] ) ) SIKS symposium
Planning versus Monitoring • Regarding the preference we have to make a distinction between Planning and Monitoring. • By planning we mean that an agent would use the contract representation to optimize her behavior in the planning stage before the action is executed • Planning is a separate decision making process • It cannot be automatically inferred from the event semantics representation • In the case of an artificial intelligent agent this decision making process could be executed by a separate expert system • By monitoring we mean to monitor to what extent the behavior of the agent complies with the contract. (Judge perspective) SIKS symposium
Granting of rights “The Supplier grants and the Distributor accepts the exclusive right to market and sell the Products in the Territory.” e (grant(e) speaker(e, Supplier) hearer(e, Distributor) (Kept(e) e’e’’ (market(e’) agent(e’, Distributor) not-successful(e’) agent(e’’, Supplier) cause(e’’, not-successful(e’)) SIKS symposium
Prolog implementation • Daskalopulu & Sergot “Computational Aspects of the FLBC Framework” • Basic idea: e (promise(e) speaker(e, Party) hearer(e, TheOtherParty) (Kept(e) e’ (deliver(e’) agent(e’, Party) theme(e’, Products) sake(e’, e)) Promise(e). Speaker(e, ‘Party’). Hearer(e, ‘TheOtherParty’). Kept(e) :- Deliver(X), Agent(X, ‘Party’), Theme(X, ‘Products’),Sake(X, e). SIKS symposium
Prolog implementation • e (grant(e) speaker(e, Supplier) hearer(e, Distributor) (Kept(e) e’e’’ (market(e’) agent(e’, Distributor) not-successful(e’) agent(e’’, Supplier) cause(e’’, not-successful(e’)) • Grant(e). Speaker(e,’Supplier’). Hearer(e, ‘Distributor’). Kept(e) :- not Failure(X). Kept(e) :- not Cause_Failure(X,’Supplier’). Failure(X, ‘market’) :- Market(X), Agent(X, ‘Distributor’), Not_Successful(X). SIKS symposium
Conclusions • Kimbrough’s Event Semantics suitable for modeling contracts • But improvements were needed for complex contracts • Implementation of Event Semantics in Prolog is possible. SIKS symposium