cba_b_check_appraise_sink.md
Copland Source
*client: @bank [attest bank sys] -> @appraiser appraise appraiser bank -> {} +<+ !
Abstract Syntax Tree
AST
n0
attest bank sys
n1
@bank
n1->n0
n2
appraise appraiser bank
n3
{}
n4
->
n4->n2
n4->n3
n5
!
n6
+<+
n6->n4
n6->n5
n7
@appraiser
n7->n6
n8
->
n8->n1
n8->n7
Events and Evidence
Copland
cluster_appraiser
appraiser
cluster_bank
bank
cluster_client
client
n19
s(mt, g(m(msp(attest, bank, sys), bank, mt), appraiser))
n20
client: rpy(appraiser)
n19->n20
n21
s(mt, g(m(msp(attest, bank, sys), bank, mt), appraiser))
n20->n21
n7
client: req(appraiser)
n7->n20
n8
m(msp(attest, bank, sys), bank, mt)
n7->n8
n9
appraiser: +<+ split
n8->n9
n4
m(msp(attest, bank, sys), bank, mt)
n5
client: rpy(bank)
n4->n5
n6
m(msp(attest, bank, sys), bank, mt)
n5->n6
n1
client: req(bank)
n1->n5
n2
mt
n1->n2
n3
bank: msp(attest, bank, sys)
n2->n3
n18
appraiser: join
n18->n19
n17
g(m(msp(attest, bank, sys), bank, mt), appraiser)
n17->n18
n14
mt
n14->n18
n13
appraiser: nul
n13->n14
n16
appraiser: sig
n13->n16
n16->n17
n15
m(msp(attest, bank, sys), bank, mt)
n15->n16
n9->n15
n10
m(msp(attest, bank, sys), bank, mt)
n9->n10
n12
m(msp(appraise, appraiser, bank), appraiser, m(msp(attest, bank, sys), bank, mt))
n12->n13
n11
appraiser: msp(appraise, appraiser, bank)
n11->n12
n10->n11
n3->n4
n6->n7
n0
mt
n0->n1