LoST: Local State Transfer
And BSPL, the Blindingly Simple Protocol Language Munindar P . Singh
North Carolina State University
Spring 2014
singh@ncsu.edu (NCSU) LoST: Local State Transfer Spring 2014 1 / 40
LoST: Local State Transfer And BSPL, the Blindingly Simple Protocol - - PowerPoint PPT Presentation
LoST: Local State Transfer And BSPL, the Blindingly Simple Protocol Language Munindar P . Singh North Carolina State University Spring 2014 singh@ncsu.edu (NCSU) LoST: Local State Transfer Spring 2014 1 / 40 Interactions and Protocols
singh@ncsu.edu (NCSU) LoST: Local State Transfer Spring 2014 1 / 40
singh@ncsu.edu (NCSU) LoST: Local State Transfer Spring 2014 2 / 40
◮ All choices must be local ◮ Correctness should not rely on future interactions
◮ Local state (projection of global, which is stored nowhere) ◮ Public or observable ◮ Typically, must be revealed for correctness ◮ Internal state ◮ Private ◮ Must never be revealed to avoid false coupling
◮ Enact via messaging singh@ncsu.edu (NCSU) LoST: Local State Transfer Spring 2014 3 / 40
◮ Emphasize arbitrary ordering and occurrence constraints ◮ Then work hard to deal with those constraints
◮ Necessary ordering constraints fall out from causality ◮ Necessary occurrence constraints fall out from integrity ◮ Unnecessary constraints: simply ignore such singh@ncsu.edu (NCSU) LoST: Local State Transfer Spring 2014 4 / 40
◮ Declare a message schema: as an atomic protocol ◮ Declare a composite protocol: as a bag of references to protocols
◮ Provide a basis for expressing meaning in terms of bindings in
◮ Yield unambiguous specification of compositions through public
◮ Capture progression of a role’s knowledge ◮ Capture the completeness of a protocol enactment ◮ Capture uniqueness of enactments through keys
◮ Capture many important constraints purely structurally singh@ncsu.edu (NCSU) LoST: Local State Transfer Spring 2014 5 / 40
singh@ncsu.edu (NCSU) LoST: Local State Transfer Spring 2014 6 / 40
◮ Bindings must exist locally in order to proceed ◮ Bindings must be produced through some other protocol
◮ Bindings can be fed into other protocols through their in
◮ A standalone protocol must adorn all its public parameters out
◮ Bindings must not exist
singh@ncsu.edu (NCSU) LoST: Local State Transfer Spring 2014 7 / 40
singh@ncsu.edu (NCSU) LoST: Local State Transfer Spring 2014 8 / 40
singh@ncsu.edu (NCSU) LoST: Local State Transfer Spring 2014 9 / 40
singh@ncsu.edu (NCSU) LoST: Local State Transfer Spring 2014 10 / 40
singh@ncsu.edu (NCSU) LoST: Local State Transfer Spring 2014 11 / 40
singh@ncsu.edu (NCSU) LoST: Local State Transfer Spring 2014 12 / 40
LoST: Local State Transfer Spring 2014 13 / 40
singh@ncsu.edu (NCSU) LoST: Local State Transfer Spring 2014 14 / 40
◮ Unique messages ◮ Integrity checks on incoming messages ◮ Consistency of local choices on outgoing messages singh@ncsu.edu (NCSU) LoST: Local State Transfer Spring 2014 15 / 40
◮ For each message that it sends or receives ◮ Maintain a local relation of the same schema as the message
◮ It is not a duplicate ◮ Its integrity checks with respect to parameter bindings
◮ Parameter bindings agree with previous bindings for the same keys
◮ No bindings for out and nil parameters exist singh@ncsu.edu (NCSU) LoST: Local State Transfer Spring 2014 16 / 40
◮ Procedural ◮ Explicit constructs for ordering ◮ Sequential message ordering by default ◮ Agent-oriented ◮ Includes agents’ internal reasoning within choreography (specify what
◮ Relies on agents’ internal decision-making to achieve composition
◮ No semantic notion of completeness singh@ncsu.edu (NCSU) LoST: Local State Transfer Spring 2014 17 / 40
singh@ncsu.edu (NCSU) LoST: Local State Transfer Spring 2014 18 / 40
singh@ncsu.edu (NCSU) LoST: Local State Transfer Spring 2014 19 / 40
◮ Statelessness ◮ Consistency ◮ Atomicity ◮ Natural composition
◮ Make protocol designer responsible for specifying causality ◮ Avoid contortions of traditional approaches when causality is
singh@ncsu.edu (NCSU) LoST: Local State Transfer Spring 2014 20 / 40
◮ Natural within a single computational thread ◮ Exemplified by conditional branching ◮ Presumes master-slave relationship across threads ◮ Impossible between mutually autonomous parties because neither
◮ May sound appropriate, but only because of long habit
◮ Natural across computational threads ◮ Explicitly tied to causality singh@ncsu.edu (NCSU) LoST: Local State Transfer Spring 2014 21 / 40
singh@ncsu.edu (NCSU) LoST: Local State Transfer Spring 2014 22 / 40
◮ Improve flexibility ◮ Under-specify enactment: potential of interoperability failures
◮ Operationally clear, but ◮ Tend to emphasize control flow ◮ Tend to over-specify operational constraints ◮ Yield nontrivial interoperability and endpoint projections singh@ncsu.edu (NCSU) LoST: Local State Transfer Spring 2014 23 / 40
◮ When adorned out in zero references, not enactable ◮ When adorned out in exactly one reference, consistency is
◮ When adorned out in two or more references, no more than one
singh@ncsu.edu (NCSU) LoST: Local State Transfer Spring 2014 24 / 40
◮ A message is an atomic protocol ◮ A composite protocol is a set of references to protocols ◮ Each protocol is given by a name and a set of parameters
◮ Each protocol has inputs and outputs
◮ A protocol corresponds to a relation (table) ◮ Integrity constraints apply on the relations
◮ Information represented: local = internal ◮ Purely decentralized at each role ◮ Materialize the relations only for messages singh@ncsu.edu (NCSU) LoST: Local State Transfer Spring 2014 25 / 40
◮ Flow of information coincides with flow of causality ◮ No hidden control flows ◮ No backchannel for coordination
◮ Uniqueness ◮ Basis for completion
◮ Must have bindings for some parameters ◮ Analogous to NOT NULL constraints
◮ Durability ◮ Robustness: insensitivity to ◮ Reordering by infrastructure ◮ Retransmission: one delivery is all it needs singh@ncsu.edu (NCSU) LoST: Local State Transfer Spring 2014 26 / 40
singh@ncsu.edu (NCSU) LoST: Local State Transfer Spring 2014 27 / 40
singh@ncsu.edu (NCSU) LoST: Local State Transfer Spring 2014 28 / 40
singh@ncsu.edu (NCSU) LoST: Local State Transfer Spring 2014 29 / 40
◮ Any in parameter occurs prior to the message ◮ Any out parameter occurs simultaneously with the message
◮ Any out or in parameter occurs before or simultaneously with
singh@ncsu.edu (NCSU) LoST: Local State Transfer Spring 2014 30 / 40
singh@ncsu.edu (NCSU) LoST: Local State Transfer Spring 2014 31 / 40
singh@ncsu.edu (NCSU) LoST: Local State Transfer Spring 2014 32 / 40
◮ BSPL: AAMAS 2011 ◮ LoST: ICWS 2011 ◮ Semantics: AAMAS 2012 singh@ncsu.edu (NCSU) LoST: Local State Transfer Spring 2014 33 / 40
singh@ncsu.edu (NCSU) LoST: Local State Transfer Spring 2014 34 / 40
singh@ncsu.edu (NCSU) LoST: Local State Transfer Spring 2014 35 / 40
singh@ncsu.edu (NCSU) LoST: Local State Transfer Spring 2014 36 / 40
singh@ncsu.edu (NCSU) LoST: Local State Transfer Spring 2014 37 / 40
singh@ncsu.edu (NCSU) LoST: Local State Transfer Spring 2014 38 / 40
singh@ncsu.edu (NCSU) LoST: Local State Transfer Spring 2014 39 / 40
singh@ncsu.edu (NCSU) LoST: Local State Transfer Spring 2014 40 / 40