commitments as elements of a contract
play

Commitments as Elements of a Contract A kind of normative - PowerPoint PPT Presentation

Commitments Commitments as Elements of a Contract A kind of normative relationship: Express meanings of interactions Are atoms of contractual relationships Enable correctness checking of contracts Yield precise meanings and


  1. Commitments Commitments as Elements of a Contract A kind of normative relationship: Express meanings of interactions ◮ Are atoms of contractual relationships ◮ Enable correctness checking of contracts ◮ Yield precise meanings and verifiability Munindar P. Singh (NCSU) Service-Oriented Computing Fall 2016 102

  2. Commitments Example: Commitment Progression Via explicit operations or because of logical properties C (Buyer, Seller, goods, pay): Active and conditional ◮ If goods ∧ C (Buyer, Seller, goods, pay) Then ◮ Active and detached (or unconditional or base) ◮ C(Buyer, Seller, T, pay) ◮ If C (Buyer, Seller, T, pay) Then ◮ If pay Then Satisfied ◮ If never pay Then Violated ◮ If C (Buyer, Seller, goods, pay) Then ◮ If pay Then Satisfied ◮ If never pay and never goods Then Expired Can be nested: C (Seller, Buyer, pay, C (Shipper, Buyer, T, deliverGoods)) Munindar P. Singh (NCSU) Service-Oriented Computing Fall 2016 103

  3. Commitments Operationalizing Commitments: Detach then Discharge C (debtor, creditor, antecedent, consequent) d:Debtor c:Creditor create(d, c, p, q) p q Munindar P. Singh (NCSU) Service-Oriented Computing Fall 2016 104

  4. Commitments Operationalizing Commitments: Discharge First; Optional Detach How about this? d:Debtor c:Creditor create(d, c, p, q) q opt p [true] Munindar P. Singh (NCSU) Service-Oriented Computing Fall 2016 105

  5. Commitments Operationalizing Commitments: Detach First; Optional Discharge How about this? d:Debtor c:Creditor create(d, c, p, q) p opt q [true] Munindar P. Singh (NCSU) Service-Oriented Computing Fall 2016 106

  6. Commitments Operationalizing Commitments: Creation by Creditor C (debtor, creditor, antecedent, consequent) d:Debtor c:Creditor create(d, c, p, q) p q Munindar P. Singh (NCSU) Service-Oriented Computing Fall 2016 107

  7. Commitments Operationalizing Commitments: Strengthening by Creditor C (debtor, creditor, antecedent, consequent) d:Debtor c:Creditor create(d, c, p, q) C(d, c, p, q) p C(d, c, ⊤ , q) q no active commitment Munindar P. Singh (NCSU) Service-Oriented Computing Fall 2016 108

  8. Commitments Commitment Life Cycle (and Patterns) C (debtor, creditor, antecedent, consequent) Munindar P. Singh (NCSU) Service-Oriented Computing Fall 2016 109

  9. Commitments Commitment Operations ◮ create( C (d, c, p, q)) establishes the commitment ◮ detach( C (d, c, p, q)) turns it into a base commitment ◮ discharge( C (d, c, p, q)) satisfies the commitment ◮ cancel( C (d, c, p, q)) cancels the commitment ◮ release( C (d, c, p, q)) releases the debtor from the commitment ◮ delegate(z, C (d, c, p, q)) replaces d by z as the debtor ◮ d remains ultimately responsible (in our work) ◮ assign(w, C (d, c, p, q)) replaces c by w as the creditor Munindar P. Singh (NCSU) Service-Oriented Computing Fall 2016 110

  10. Commitments State Diagrams State Diagrams Formalized in UML 2.0 from Harel’s statecharts Generalize over finite state machines ◮ Condition or guard on a transition ◮ Superstate ( or -state): being in a substate entails being in the superstate ◮ Natural for summarizing states that bear similar meanings and support similar transitions ◮ Parallel states indicate being in the each of the states at the same time ( and -state) ◮ Cartesian product of the individual states ◮ Natural for expressing mutually independent components of the state Munindar P. Singh (NCSU) Service-Oriented Computing Fall 2016 111

  11. Commitments State Diagrams Exercise: Diagram the Purchase Protocol First as we specified and second with concurrent Pay and Ship subprotocols Munindar P. Singh (NCSU) Service-Oriented Computing Fall 2016 112

  12. Commitments State Diagrams Exercise: Diagram the Purchase Protocol with Return and Refund Munindar P. Singh (NCSU) Service-Oriented Computing Fall 2016 113

  13. Commitments State Diagrams Exercise: Diagram Precedence, Occurrence, Exclusion Across two messages, m 1 and m 2 Munindar P. Singh (NCSU) Service-Oriented Computing Fall 2016 114

  14. Commitments State Diagrams Applying State Diagrams in Our Setting Behavior descriptions, but of social behavior ◮ In general, sequence diagrams should describe interactions whereas state diagrams should describe internal behaviors ◮ Traditional sequence diagrams often step into internal details ◮ Traditional state diagrams are low-level, just as traditional sequence diagrams are, only more so ◮ Our state diagrams apply to a social state, which can be affected through messages described by sequence diagrams ◮ Consider state diagrams as describing the progression of the social state of a service engagement ◮ We can express this from an outside, i.e., a public or an institutional, as opposed to an implementation perspective ◮ A research challenge is to ensure the social state remains sufficiently aligned across the interacting parties ◮ For a properly designed service engagement, its social state ought to progress consistently Munindar P. Singh (NCSU) Service-Oriented Computing Fall 2016 115

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend