taler-docs

Documentation for GNU Taler components, APIs and protocols
Log | Files | Refs | README | LICENSE

sesame-data-model.puml (1031B)


      1 @startuml sesame-data-model
      2 ' Data model mapping for DD 97 (Project Sesame).
      3 ' Regenerate with: java -jar plantuml.jar -tsvg sesame-*.puml
      4 !include taler-style.iuml
      5 skinparam classAttributeIconSize 0
      6 hide circle
      7 hide methods
      8 left to right direction
      9 
     10 package "Access control system" {
     11   class "access group" as group {
     12     group id
     13     group expiry
     14   }
     15   class "door" as door {
     16     door id
     17     door groups
     18   }
     19   class "user" as user {
     20     user groups
     21     credential
     22   }
     23 }
     24 
     25 package "Merchant backend (Taler)" {
     26   class "token family" as tf {
     27     slug
     28     duration, validity_granularity
     29   }
     30   class "template" as tpl {
     31     template_id
     32     contract choices: one per group
     33   }
     34   class "OTP device" as otp {
     35     otp_device_id
     36   }
     37   class "fountain" as fountain {
     38     grants: one per group
     39     fountain_secret: held by wallet
     40   }
     41 }
     42 
     43 group ..> tf : 1:1
     44 door ..> tpl : 1:1 (+ OTP device)
     45 user ..> fountain : 1:1
     46 
     47 tpl --> otp : otp_id = template_id
     48 tpl --> tf : choice inputs/outputs\nper group
     49 fountain --> tf : one grant per group
     50 @enduml