diff options
Diffstat (limited to 'docs/command-interface.puml')
| -rw-r--r-- | docs/command-interface.puml | 58 |
1 files changed, 0 insertions, 58 deletions
diff --git a/docs/command-interface.puml b/docs/command-interface.puml deleted file mode 100644 index 4c0319a..0000000 --- a/docs/command-interface.puml +++ /dev/null @@ -1,58 +0,0 @@ -@startuml command-interface -!theme plain -title Command-Based Interface Flow - -participant "Karuta" as K -participant "domino:execute/2" as API -participant "Command Validator" as V -participant "operations.erl" as Ops -database "Mnesia" as DB - -K -> API: execute(DB0, {create, relation, employee, Schema}) -activate API -API -> V: validate({create, relation, ...}) -activate V -V -> V: check schema format -V -> V: verify types -V --> API: ok -deactivate V - -API -> Ops: create_relation(DB0, employee, Schema) -activate Ops -Ops -> DB: transaction(fn -> ... end) -activate DB -DB -> DB: insert relation record -DB -> DB: update database tree -DB --> Ops: {atomic, {NewDB, Hash}} -deactivate DB -Ops --> API: {NewDB, Hash} -deactivate Ops - -API --> K: {ok, DB1, {relation_created, employee, Hash}} -deactivate API - -K -> API: execute(DB1, {insert, tuple, employee, Data}) -activate API -API -> V: validate({insert, tuple, ...}) -activate V -V -> V: check schema compliance -V -> V: verify constraints -V --> API: ok -deactivate V - -API -> Ops: create_tuple(DB1, employee, Data) -activate Ops -Ops -> DB: transaction(fn -> ... end) -activate DB -DB -> DB: store attribute values -DB -> DB: create tuple record -DB -> DB: update merkle tree -DB --> Ops: {atomic, {NewDB2, TupleHash}} -deactivate DB -Ops --> API: {NewDB2, TupleHash} -deactivate Ops - -API --> K: {ok, DB2, {tuple_inserted, TupleHash}} -deactivate API - -@enduml |
