BSPL, the Blindingly Simple Protocol Language
Munindar P . Singh
North Carolina State University
April 2011
singh@ncsu.edu (NCSU) Blindingly Simple Protocol Language April 2011 1 / 34
BSPL, the Blindingly Simple Protocol Language Munindar P . Singh - - PowerPoint PPT Presentation
BSPL, the Blindingly Simple Protocol Language Munindar P . Singh North Carolina State University April 2011 singh@ncsu.edu (NCSU) Blindingly Simple Protocol Language April 2011 1 / 34 Interactions and Protocols All actions are interactions
singh@ncsu.edu (NCSU) Blindingly Simple Protocol Language April 2011 1 / 34
singh@ncsu.edu (NCSU) Blindingly Simple Protocol Language April 2011 2 / 34
◮ 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) Blindingly Simple Protocol Language April 2011 3 / 34
◮ 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) Blindingly Simple Protocol Language April 2011 4 / 34
◮ All choices must be local
◮ Local state ◮ 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) Blindingly Simple Protocol Language April 2011 5 / 34
◮ Abstract class (or interface) of interactions ◮ Based on roles and parameters
◮ Local but not internal views of each agent
◮ Distinguish different instances of the same protocol
singh@ncsu.edu (NCSU) Blindingly Simple Protocol Language April 2011 6 / 34
◮ 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) Blindingly Simple Protocol Language April 2011 7 / 34
◮ Statelessness ◮ Consistency ◮ Atomicity ◮ Natural composition
◮ Make protocol designer responsible for specifying causality ◮ Avoid contortions of traditional approaches when causality is
singh@ncsu.edu (NCSU) Blindingly Simple Protocol Language April 2011 8 / 34
◮ Declare a message schema: as an atomic protocol ◮ Declare a composite protocol: as a bag of references (to existing
◮ 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) Blindingly Simple Protocol Language April 2011 9 / 34
◮ 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) Blindingly Simple Protocol Language April 2011 10 / 34
singh@ncsu.edu (NCSU) Blindingly Simple Protocol Language April 2011 11 / 34
singh@ncsu.edu (NCSU) Blindingly Simple Protocol Language April 2011 12 / 34
singh@ncsu.edu (NCSU) Blindingly Simple Protocol Language April 2011 13 / 34
singh@ncsu.edu (NCSU) Blindingly Simple Protocol Language April 2011 14 / 34
singh@ncsu.edu (NCSU) Blindingly Simple Protocol Language April 2011 15 / 34
singh@ncsu.edu (NCSU) Blindingly Simple Protocol Language April 2011 16 / 34
Blindingly Simple Protocol Language April 2011 17 / 34
singh@ncsu.edu (NCSU) Blindingly Simple Protocol Language April 2011 18 / 34
singh@ncsu.edu (NCSU) Blindingly Simple Protocol Language April 2011 19 / 34
singh@ncsu.edu (NCSU) Blindingly Simple Protocol Language April 2011 20 / 34
singh@ncsu.edu (NCSU) Blindingly Simple Protocol Language April 2011 21 / 34
singh@ncsu.edu (NCSU) Blindingly Simple Protocol Language April 2011 22 / 34
◮ Operational ◮ 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) Blindingly Simple Protocol Language April 2011 23 / 34
◮ 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) Blindingly Simple Protocol Language April 2011 24 / 34
◮ Ensured by placing one agent in charge of each conflict
◮ Ensured by placing one agent in charge of each conflict
◮ Ensured by keys
◮ Ensured by the immutability of bindings singh@ncsu.edu (NCSU) Blindingly Simple Protocol Language April 2011 25 / 34
◮ Expanded into the body of a composite protocol: partially enactable ◮ Maximize concurrency
◮ All or none ◮ Enable compositionality
◮ Enactment is maximally concurrent, at the level of individual
◮ Atomicity avoids undesirable outcomes singh@ncsu.edu (NCSU) Blindingly Simple Protocol Language April 2011 26 / 34
singh@ncsu.edu (NCSU) Blindingly Simple Protocol Language April 2011 27 / 34
singh@ncsu.edu (NCSU) Blindingly Simple Protocol Language April 2011 28 / 34
singh@ncsu.edu (NCSU) Blindingly Simple Protocol Language April 2011 29 / 34
singh@ncsu.edu (NCSU) Blindingly Simple Protocol Language April 2011 30 / 34
singh@ncsu.edu (NCSU) Blindingly Simple Protocol Language April 2011 31 / 34
singh@ncsu.edu (NCSU) Blindingly Simple Protocol Language April 2011 32 / 34
singh@ncsu.edu (NCSU) Blindingly Simple Protocol Language April 2011 33 / 34
◮ Decision procedures for judging consistent enactability ◮ Treatment of recursive protocols singh@ncsu.edu (NCSU) Blindingly Simple Protocol Language April 2011 34 / 34