cba_appraise_sink.md

Copland Source

*client:
  @bank attest bank sys
        -> @appraiser appraise appraiser bank -> {} +<+ !
    

Abstract Syntax Tree

AST n0 attest bank sys n1 appraise appraiser bank n2 {} n3 -> n3->n1 n3->n2 n4 ! n5 +<+ n5->n3 n5->n4 n6 @appraiser n6->n5 n7 -> n7->n0 n7->n6 n8 @bank 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(bank) n19->n20 n21 s(mt, g(m(msp(attest, bank, sys), bank, mt), appraiser)) n20->n21 n17 s(mt, g(m(msp(attest, bank, sys), bank, mt), appraiser)) n18 bank: rpy(appraiser) n17->n18 n18->n19 n5 bank: req(appraiser) n5->n18 n6 m(msp(attest, bank, sys), bank, mt) n5->n6 n7 appraiser: +<+ split n6->n7 n1 client: req(bank) n1->n20 n2 mt n1->n2 n3 bank: msp(attest, bank, sys) n2->n3 n16 appraiser: join n16->n17 n15 g(m(msp(attest, bank, sys), bank, mt), appraiser) n15->n16 n12 mt n12->n16 n11 appraiser: nul n11->n12 n14 appraiser: sig n11->n14 n14->n15 n13 m(msp(attest, bank, sys), bank, mt) n13->n14 n7->n13 n8 m(msp(attest, bank, sys), bank, mt) n7->n8 n10 m(msp(appraise, appraiser, bank), appraiser, m(msp(attest, bank, sys), bank, mt)) n10->n11 n9 appraiser: msp(appraise, appraiser, bank) n9->n10 n8->n9 n4 m(msp(attest, bank, sys), bank, mt) n4->n5 n3->n4 n0 mt n0->n1