packages feed

cpsa-3.6.8: tst/uniq_orig_doesnt_fail.tst

(herald "Uniq orig fail"
  (comment This protocol demonstrates a bug in CPSA: points of
    origination are not always preserved for skeleton uniq-orig
    assumptions))

(comment "CPSA 3.6.8")
(comment "All input read from tst/uniq_orig_doesnt_fail.scm")

(defprotocol uof basic
  (defrole init
    (vars (a b name) (n1 n2 text))
    (trace (send n1) (recv n2) (send (enc n1 n2 n1 (ltk a b)))))
  (defrole resp
    (vars (b a name) (n2 n1 text))
    (trace (recv n1) (send n2) (recv (enc n2 n1 n1 (ltk a b))))))

(defskeleton uof
  (vars (n2 n1 text) (a b name))
  (defstrand resp 3 (n2 n2) (n1 n1) (b b) (a a))
  (non-orig (ltk a b))
  (uniq-orig n2)
  (comment "Responder point-of-view")
  (traces ((recv n1) (send n2) (recv (enc n2 n1 n1 (ltk a b)))))
  (label 0)
  (unrealized (0 2))
  (dead)
  (origs (n2 (0 1)))
  (comment "empty cohort"))

(comment "Nothing left to do")

(defprotocol uof basic
  (defrole init
    (vars (a b name) (n1 n2 text))
    (trace (send n1) (recv n2) (send (enc n1 n2 n1 (ltk a b)))))
  (defrole resp
    (vars (b a name) (n2 n1 text))
    (trace (recv n1) (send n2) (recv (enc n2 n1 n1 (ltk a b))))))

(defskeleton uof
  (vars (n2 n1 text) (a b name))
  (defstrand resp 3 (n2 n2) (n1 n1) (b b) (a a))
  (non-orig (ltk a b))
  (uniq-gen n2)
  (comment "Responder point-of-view")
  (traces ((recv n1) (send n2) (recv (enc n2 n1 n1 (ltk a b)))))
  (label 1)
  (unrealized (0 2))
  (dead)
  (origs)
  (comment "empty cohort"))

(comment "Nothing left to do")

(defprotocol uof basic
  (defrole init
    (vars (a b name) (n1 n2 text))
    (trace (send n1) (recv n2) (send (enc n1 n2 n1 (ltk a b)))))
  (defrole resp
    (vars (b a name) (n2 n1 text))
    (trace (recv n1) (send n2) (recv (enc n2 n1 n1 (ltk a b))))))

(defskeleton uof
  (vars (n2 n1 text) (a b name))
  (defstrand resp 3 (n2 n2) (n1 n1) (b b) (a a))
  (non-orig (ltk a b))
  (comment "Responder point-of-view")
  (traces ((recv n1) (send n2) (recv (enc n2 n1 n1 (ltk a b)))))
  (label 2)
  (unrealized (0 2))
  (origs)
  (comment "1 in cohort - 1 not yet seen"))

(defskeleton uof
  (vars (n1 text) (a b name))
  (defstrand resp 3 (n2 n1) (n1 n1) (b b) (a a))
  (defstrand init 3 (n1 n1) (n2 n1) (a a) (b b))
  (precedes ((1 2) (0 2)))
  (non-orig (ltk a b))
  (operation encryption-test (added-strand init 3)
    (enc n1 n1 n1 (ltk a b)) (0 2))
  (traces ((recv n1) (send n1) (recv (enc n1 n1 n1 (ltk a b))))
    ((send n1) (recv n1) (send (enc n1 n1 n1 (ltk a b)))))
  (label 3)
  (parent 2)
  (unrealized)
  (shape)
  (maps ((0) ((a a) (b b) (n2 n1) (n1 n1))))
  (origs))

(comment "Nothing left to do")

(defprotocol uof2 basic
  (defrole init
    (vars (a b name) (n1 n2 text))
    (trace (send n1) (recv n2) (send (enc n1 n2 (ltk a b))))
    (uniq-orig n1))
  (defrole resp
    (vars (b a name) (n2 n1 text))
    (trace (recv n1) (send n2) (recv (enc n2 n1 (ltk a b))))))

(defskeleton uof2
  (vars (n2 n1 text) (a b name))
  (defstrand resp 3 (n2 n2) (n1 n1) (b b) (a a))
  (non-orig (ltk a b))
  (uniq-orig n2)
  (comment "Responder point-of-view")
  (traces ((recv n1) (send n2) (recv (enc n2 n1 (ltk a b)))))
  (label 4)
  (unrealized (0 2))
  (dead)
  (origs (n2 (0 1)))
  (comment "empty cohort"))

(comment "Nothing left to do")