1 / 16

Representing and Enforcing E-Commerce Contracts Using Occurrences

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

morton
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. Representing and Enforcing E-Commerce Contracts Using Occurrences Alan Abrahams and Jean Bacon {asa28,jmb}@cl.cam.ac.uk

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

  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. Contracts Contracts specify what must and can (not) happen, how, to who, where, …, and when (time/circumstance) • permitting • forbidding • obliging • classifying • naming Contracts can be stored as occurrences of … can (permission) cannot / must not must can (legal capability) is Prescriptive norms Descriptive norms

  5. 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 / Rules find applicable provisions 2 Queries check if occurrences fit description 1 business & environmental occurrences Regular Occurrences trigger occurrences (e.g. obligations) 3 asynchronously fulfilchosen obligations Fulfilment Scheduler 4

  6. What are occurrences?Time-delimited relatedness between things Brian purchases a book. Brian owns the book. Walt purchases the book from Brian. Time purchasing1 Occurrences purchasing2 owning1 owning2 Participants The book Walt Brian Roles purchaser owner seller purchased owned sold owned purchaser owner Instantaneous occurrence (Event) Prolonged occurrence (State)

  7. The Representation OfA Simple Commercial Occurrence An occurrence of “Brian buying a copy of Concurrent Systems - 2nd Editionfrom Walt”

  8. Types ofQueries in EDEE Triplet Queries ?p = participants... ?o = occurrences... ?r = roles... “How much did Walt pay?” In EdeeQL: ?o [?[payer] ?[Walt]] 1 In EdeeQL: ?p [?[paid-amount] ?[paying1]] 2 Set Queries CountOrder/Sequence Nested Queries In EdeeQL: ?p ?[ ?[paid-amount] ?o[ ?[payer] ?[Walt]]]

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

  10. Representing and StoringOccurrences of Querying in EDEE In EdeeQL: ?<=[25] ‘Payments (occurrences of paying) of £25 by Walt ?’ In EdeeQL: ?intersection[ ?o[ ?[paid-amount] ?[£25] ] ?o[ ?[payer] ?[Walt] ] ]

  11. The Representation OfA Simple Obligation Occurrence An obligation is a rule that may or may not be obeyed. Forcing it to be obeyed is impossible; it is sufficient to know merely when it is and isn’t obeyed, and to deduce the relevant legal implications. An occurrence of “Walt being obliged to pay Brian for Concurrent Systems - 2nd Edition within 2 days” We need to store queries in the occurrence-base. The obligation is fulfilled, in the contract’s opinion, when the query is ‘filled’ and can produce no more results (determinable using continuous query mechanism). Note however, that there may be other opinions as to the status of the obligation (e.g. a de minimus rule of law which says that immaterial breaches still constitute fulfilment), and the other opinions may be stronger and override.

  12. The Representation OfA Simple Prohibition Occurrence An prohibition is an occurrence of prohibiting where what is prohibited is occurrences fitting a certain description. Any occurrences that fit the said description necessarily bring about occurrences of violating the prohibition. An occurrence of “Selling damaged goods being prohibited” This description is a query - again we need to store queries in the occurrence-base. The continuous query mechanism determines when this query produces a new result - e.g. when an occurrence of ‘selling book1, which is damaged’ is added to the database, it determines that the occurrence is covered by the above-mentioned query, and the occurrence is therefore prohibited.

  13. OPTIONAL The Representation of an Occurrence ofViolation / Breach of Contract An violation may be a failure to discharge an obligation or to obey a duty to refrain (prohibition) Violation of obligation1 “Walt being obliged to pay Brian for Concurrent Systems - 2nd Edition within 2 days” A query specifies what is to be counted. * The system itself is obliged to perform this count (incrementally or from scratch) at the relevant time. f3(x3) is a new occurrence brought about by occurrences of counting that are in the domain of function3.

  14. The Representation OfA Simple Power or Classificational Norm A power means some clause of some institution provides that occurrences fitting some particular convention (description) bring about other occurrences of a certain type. An individual able to enact occurrences that fit the convention can thereby exercise their power: that is, bring about, according to a certain provision of a certain institution, a certain relation. An occurrence of “Walt is able to sell the book he owns”

  15. OPTIONAL Related Work • Policies- not targeted at commerceAccess Control: OASIS, LaSCO, RBAC, QCM, KeyNote/PolicyMakerNetwork Management: Ponder, IETF • Contracts- detecting against occurrence histories 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 - no support for conflicts

  16. 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