1 / 20

Representing and Enforcing E-Commerce Contracts Using Occurrences

Presentation to:. 20 February, 2002. Representing and Enforcing E-Commerce Contracts Using Occurrences. Alan Abrahams and Jean Bacon {asa28,jmb} @cl.cam.ac.uk. Overview. Background: The Problem Occurrences Contracts Queries Examples of Provisions Related Work Contributions.

rolandf
Télécharger la présentation

Representing and Enforcing E-Commerce Contracts Using Occurrences

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Presentation to: 20 February, 2002 Representing and Enforcing E-Commerce Contracts Using Occurrences Alan Abrahams and Jean Bacon {asa28,jmb}@cl.cam.ac.uk

  2. Overview • Background: The Problem • Occurrences • Contracts • Queries • Examples of Provisions • Related Work • Contributions

  3. BackgroundThe Problem Business contractscurrently buried in application logic in various opaque languages (e.g. Java, C, SQL) Businesses need to be able to … • represent • store • query (real + hypothetical) • execute • monitor (for provision applicability and fulfilment) • enforce(prevent / detect; deduce legal implications) • disseminate & collate … contracts

  4. What are occurrences?Time-delimited relatedness between things Brian purchases books worth $25,000 from Walt. Brian owns the books. Time purchasing1 purchasing2 Occurrences owning1 owning2 owning3 Participants books Walt Brian Roles purchaser owner purchased owned seller Prolonged occurrence (State) Instantaneous occurrence (Event)

  5. The Representation OfA Simple Commercial Occurrence An occurrence of “Brian buying books from Walt”

  6. Stored Contracts Contracts specify what must and can (not) happen, how, to who, where, …, and when (time/circumstance) • permitting • forbidding • obliging • predicating Contracts are sets of occurrences of … can (permission) cannot / must not must can (legal capability) / is Prescriptive provisions Descriptive provisions Stored contracts = stored application definitions

  7. EDEE Architecture Platform-Independent Active Database Occurrence Store (e.g. Oracle, Microsoft SQL Server, IBM DB/2, Postgres, MS Access) Software Wrapper (e.g. Java) dynamically… contract-related occurrences Provisions find applicable provisions 2 Stored Occurrence-Descriptions check if occurrences fit description 1 business & environmental occurrences Regular Occurrences trigger occurrences (e.g. obligations) 3 asynchronously fulfilchosen obligations Diligent Components / Fulfilment Scheduler 4

  8. Queries in EDEE Triplet Queries ?p = participants... ?o = occurrences... ?r = roles... “Find payments of $25,000 by Brian?” • In EdeeQL: ?intersection[ ?o-paying[ ?[paid-amount] ?[$25,000] ] • ?o-paying[ ?[payer] ?[Brian] ] ] 1 2 Set Queries CountOrder/Sequence

  9. Stored Occurrence-Descriptions An item fits a description if it is covered by a stored query “Payments” Stored Queries (Descriptions) “Brian paying” “Walt paid”  Family of Occurrences Fitting o1 o2 o3 Occurrence of Brian paying Ken Occurrence of Brian paying Walt Occurrence of Peter paying Walt

  10. Representing and StoringQueries ‘Find payments (occurrences of paying) of $25,000 by Brian ?’ In EdeeQL: ?intersection[ ?o-paying[ ?[paid-amount] ?[$25,000] ] ?o-paying[ ?[payer] ?[Brian] ] ] Flattened form (to store query): Continuous querying: as each occurrence is added, look up which stored queries cover it

  11. A Metaphorical Look at the Representation OfA Simple Obligation Clause 3.1: Brian is obliged to pay Walt $25,000 for the books occurrence of paying Peter occurrence of Ken paying Obligation to pay Walt $25,000 for books Occurrence fills compartment (query)  obligation fulfilled No occurrences filling compartment (query) by deadline  obligation violated

  12. A Metaphorical Look at the Representation OfA Simple Obligation Clause 3.1: Brian is obliged to pay Walt $25,000 for the books occurrence of paying Peter occurrence of Ken paying occurrence of Brian paying Walt $25,000 for the books Obligation to pay Walt $25,000 for books Compartment filled = Obligation fulfilled!

  13. The Representation OfA Simple Obligation Occurrence Clause 3.1: Brian is obliged to pay Walt $25,000 for the books Time being-obliged1 (according to Clause 3.1) Occurrences Participants Find first occurrence of paying Walt $25,000 for the books? Brian (stored query describing) obliged-occurrences Roles obliged-person Brian paying $25,000 for books Occurrence fills query  obligation fulfilled No occurrences filling query by deadline  obligation violated

  14. The Representation OfA Simple Obligation Occurrence Clause 3.1: Brian is obliged to pay Walt $25,000 for the books Stored query describing which set of occurrences fulfil the obligation.

  15. A Metaphorical Look at the Representation OfA Simple Prohibition Risk Management Procedures, Clause 8: Brian is forbidden from paying more than $10,000 for books occurrence of paying Peter occurrence of Ken paying occurrence of Brian paying Walt $25,000 for the books Prohibition against paying more than $10,000 for books Occurrences prohibited! (Prohibition violated!)

  16. The Representation OfA Simple Prohibition Occurrence Risk Management Procedures, Clause 8: Brian is forbidden from paying more than $10,000 for books Time being-prohibited1, under Clause 8 Occurrences Participants Find occurrences of paying more than $10,000 for books? Brian Roles prohibited-person (stored query describing) prohibited-occurrences Brian paying $25,000 for books Occurrence fits query  prohibition violated

  17. Analytic Conflict Detection Stored query describing prohibited-occurrences: Brian forbidden from paying more than $10,000 for books Stored query describing obliged-occurrences: Brian is obliged to pay $25,000 for Walt's books Occurrence of Brian paying $25,000 for Walt's books

  18. The Representation OfA Simple Power or Classificational Norm Sale of Goods Act Section 3.2: A person owns goods if he paid in full for the goods Brian has the power to become regarded as owner Time owning (according to Section 3.2) Occurrences Participants Find payments in full for goods? Brian books owner owned (stored query describing) conventional occurrences Brian paying $25,000 for books

  19. Related Work • Policies- not targeted at commerceAccess Control: OASIS, LaSCO, RBAC, QCM, KeyNote/PolicyMakerNetwork Management: Ponder, IETF • Contracts- storing provisions as data, detecting against occurrence histories, and detecting conflicts not treatedRepresentation: Daskalopulu + Maibaum, COSMOS (conflicts not supported), Commitments in Wagner’s Agent-Object-Relationship (AOR) ModelsArchitectures: Milosevic et al (no dynamic addition of provisions), HP Labs • Workflow - process synchronization without obligationsWfMC, OMG JointFlow, Petri Nets • Business Rules - lack contractual notionsCommonRules, ILOG, GUIDE, SiteServer, Dynamo, Weblogic, …Expert Systems + Production Rules: OPS5 (and Rete/TREAT), Prolog • Event Monitors - lack persistent occurrencesCEA + COBEA, Herald, GEM, SIENA, Elvin, etc. • ECA Rules & Triggers - need extension to support conflicts

  20. Contributions • Direct representation of contracts (exchanges) • makes legal relations explicit - and therefore queryable, actionable, and communicable - unlike procedural/OO code • more expressive than simple interface advertisements by conventional traders as legal implications of invocation become visible • Supports variable-attribute entities (flexibility) • Practical implementation of theoretical event semantics • Coverage checker extends Rete/TREAT with query coverage checking, used for analytically identifying conflicting clauses • Cross-platform, multi-table triggers • Provides executable and queryable specification for commerce applications

More Related