From 5d81320ebcc71267f73f26c23685e711bb276ff5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Guzm=C3=A1n=20Llamb=C3=ADas?= <gllambi@fing.edu.uy> Date: Wed, 10 Apr 2024 13:11:43 -0300 Subject: [PATCH] Regenerate Event-B specification PDF --- ...cation___ICBC_Cross_chain_workshop (3).pdf | Bin 0 -> 171232 bytes .../latex/CCTx_Abstract_Animation_m2.tex | 116 +++++++ .../latex/CCTx_Abstract_DLT_c1.tex | 6 +- .../latex/CCTx_Abstract_DLT_m1.tex | 68 +++-- .../CCTx_Ethereum_Fabric_Animation_m3.tex | 158 ++++++++++ .../latex/CCTx_Ethereum_Fabric_c2.tex | 4 +- .../latex/CCTx_Ethereum_Fabric_m2.tex | 76 ++--- .../CCTx_Fabric_Ethereum_Animation_m3.tex | 177 +++++++++++ .../latex/CCTx_Fabric_Ethereum_m2.tex | 72 ++--- .../CCTx_Preserve_Balance_Gateway_m3.tex | 112 +++---- gateway-event-b/latex/b2latex.sty | 282 ------------------ 11 files changed, 624 insertions(+), 447 deletions(-) create mode 100644 Gateway_Event_B_specification___ICBC_Cross_chain_workshop (3).pdf create mode 100644 gateway-event-b/latex/CCTx_Abstract_Animation_m2.tex create mode 100644 gateway-event-b/latex/CCTx_Ethereum_Fabric_Animation_m3.tex create mode 100644 gateway-event-b/latex/CCTx_Fabric_Ethereum_Animation_m3.tex delete mode 100644 gateway-event-b/latex/b2latex.sty diff --git a/Gateway_Event_B_specification___ICBC_Cross_chain_workshop (3).pdf b/Gateway_Event_B_specification___ICBC_Cross_chain_workshop (3).pdf new file mode 100644 index 0000000000000000000000000000000000000000..3e8385c8ae6fc5ac2252ff150bd5e9cd33171196 GIT binary patch literal 171232 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%0Ao<a5V<>jB$ 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	iHj!`-HKJs6WAYjNA;RV-R+vC*<TtP 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 literal 0 HcmV?d00001 diff --git a/gateway-event-b/latex/CCTx_Abstract_Animation_m2.tex b/gateway-event-b/latex/CCTx_Abstract_Animation_m2.tex new file mode 100644 index 0000000..7ce515c --- /dev/null +++ b/gateway-event-b/latex/CCTx_Abstract_Animation_m2.tex @@ -0,0 +1,116 @@ +\documentclass[10pt,a4paper]{report} +\usepackage{bsymb,b2latex} +\begin{document} +\SingleHeader{CCTx\_Abstract\_Animation\_m2} +\MACHINE{CCTx\_Abstract\_Animation\_m2}{CCTx\_Abstract\_DLT\_m1}{CCTx\_Abstract\_DLT\_c1}{} +\VARIABLES{ + \Variable{received\_source\_transactions}{} + \Variable{emitted\_events}{} + \Variable{subscriptions}{} + \Variable{gateway\_pending\_events}{} + \Variable{received\_target\_transactions}{} + \Variable{subscribed}{} + \Variable{initiated}{} + \Variable{emitted}{} + \Variable{gateway\_processing}{} + \Variable{submit\_cc\_tx}{} +} +\INVARIANTS{ + \Invariant{inv11}{false}{$subscribed \in{} \{0,1\}$}{} + \Invariant{inv12}{false}{$initiated \in{} \{0,1\}$}{} + \Invariant{inv13}{false}{$emitted \in{} \{0,1\}$}{} + \Invariant{inv14}{false}{$gateway\_processing \in{} \{0,1\}$}{} + \Invariant{inv15}{false}{$submit\_cc\_tx \in{} \{0,1\}$}{} +} +\EVENTS{ +\INITIALISATION{true}{}{ + \ACTIONS{false}{ + \Action{act1}{$received\_source\_transactions \bcmeq{} \emptyset{}$}{false}{} + \Action{act2}{$emitted\_events \bcmeq{} \emptyset{}$}{false}{} + \Action{act3}{$subscriptions \bcmeq{} \emptyset{}$}{false}{} + \Action{act4}{$gateway\_pending\_events \bcmeq{} \emptyset{}$}{false}{} + \Action{act6}{$received\_target\_transactions \bcmeq{} \emptyset{}$}{false}{} + \Action{act11}{$subscribed \bcmeq{} 0$}{true}{} + \Action{act12}{$initiated \bcmeq{} 0$}{true}{} + \Action{act13}{$emitted \bcmeq{} 0$}{true}{} + \Action{act14}{$gateway\_processing \bcmeq{} 0$}{true}{} + \Action{act15}{$submit\_cc\_tx \bcmeq{} 0$}{true}{} + } +} +\EVT{SUBSCRIBE\_SMART\_CONTRACT\_EVENTS}{true}{ordinary}{SUBSCRIBE\_SMART\_CONTRACT\_EVENTS}{}{ + \GUARDS{false}{ + \Guard{grd1}{false}{$gateway \mapsto{} source\_smart\_contract \notin{} subscriptions$}{false}{\\The gateway is not already subscribed to the smart contract events} + } + \ACTIONS{true}{ + \Action{act1}{$subscriptions \bcmeq{} subscriptions \bunion{} \{gateway \mapsto{} source\_smart\_contract\}$}{false}{\\The gateway is subscribed to listen to the smart contract events} + \Action{act11}{$subscribed \bcmeq{} 1$}{true}{} + } +} +\EVT{INITIATE\_CC\_TX}{true}{ordinary}{INITIATE\_CC\_TX}{}{ + \ANY{ + \Param{transaction}{false}{} + } + \GUARDS{true}{ + \Guard{grd1}{false}{$transaction \in{} SOURCE\_TRANSACTIONS$}{false}{} + \Guard{grd3}{false}{$transaction \notin{} received\_source\_transactions[\{source\_smart\_contract\}]$}{false}{\\The transaction was not received by the smart contract} + } + \ACTIONS{true}{ + \Action{act1}{$received\_source\_transactions \bcmeq{} received\_source\_transactions \bunion{} \{source\_smart\_contract \mapsto{} transaction\}$}{false}{\\Add the transaction to the received transactions of the smart contract} + \Action{act11}{$initiated \bcmeq{} 1$}{true}{} + \Action{act12}{$submit\_cc\_tx \bcmeq{} 0$}{true}{} + } +} +\EVT{EMIT\_EVENT}{true}{ordinary}{EMIT\_EVENT}{}{ + \ANY{ + \Param{transaction}{false}{} + \Param{emitted\_event}{false}{} + } + \GUARDS{true}{ + \Guard{grd1}{false}{$source\_smart\_contract \mapsto{} transaction \in{} received\_source\_transactions$}{false}{\\The smart contract has a pending transaction to process} + \Guard{grd2}{false}{$emitted\_event \notin{} emitted\_events[\{source\_smart\_contract\}]$}{false}{\\The smart contract will always emit a new event} + } + \ACTIONS{true}{ + \Action{act1}{$emitted\_events \bcmeq{} emitted\_events \bunion{} \{source\_smart\_contract \mapsto{} emitted\_event\}$}{false}{\\The smart contract emits a new event related to the transaction processing} + \Action{act2}{$received\_source\_transactions \bcmeq{} received\_source\_transactions \setminus{} \{source\_smart\_contract \mapsto{} transaction\}$}{false}{\\The smart contract processed the transaction} + \Action{act11}{$emitted \bcmeq{} 1$}{true}{} + \Action{act12}{$initiated \bcmeq{} 0$}{true}{} + \Action{act13}{$submit\_cc\_tx \bcmeq{} 0$}{true}{} + } +} +\EVT{LISTEN\_EVENT}{true}{ordinary}{LISTEN\_EVENT}{}{ + \ANY{ + \Param{emitted\_event}{false}{} + \Param{pending\_event}{false}{} + } + \GUARDS{true}{ + \Guard{grd1}{false}{$source\_smart\_contract \mapsto{} emitted\_event \in{} emitted\_events$}{false}{\\The smart contract has emitted an event} + \Guard{grd2}{false}{$gateway \mapsto{} source\_smart\_contract \in{} subscriptions$}{false}{\\Exist a subscription to the smart contract events} + \Guard{grd3}{false}{$gateway \mapsto{} pending\_event \notin{} gateway\_pending\_events$}{false}{\\The event was not already listened} + } + \ACTIONS{true}{ + \Action{act1}{$gateway\_pending\_events \bcmeq{} gateway\_pending\_events \bunion{} \{gateway \mapsto{} pending\_event\}$}{false}{\\The event is added to the pending events to be processed by the gateway} + \Action{act2}{$emitted\_events \bcmeq{} emitted\_events \setminus{} \{source\_smart\_contract \mapsto{} emitted\_event\}$}{false}{\\The event is removed from the pending events to listen} + \Action{act11}{$gateway\_processing \bcmeq{} 1$}{true}{} + \Action{act12}{$emitted \bcmeq{} 0$}{true}{} + \Action{act13}{$submit\_cc\_tx \bcmeq{} 0$}{true}{} + } +} +\EVT{SUBMIT\_TX}{true}{ordinary}{SUBMIT\_TX}{}{ + \ANY{ + \Param{pending\_event}{false}{} + \Param{transaction}{false}{} + } + \GUARDS{true}{ + \Guard{grd1}{false}{$gateway \mapsto{} pending\_event \in{} gateway\_pending\_events$}{false}{\\There is one pending event to be processed} + \Guard{grd2}{false}{$transaction \in{} TARGET\_TRANSACTIONS$}{false}{} + } + \ACTIONS{true}{ + \Action{act1}{$received\_target\_transactions \bcmeq{} received\_target\_transactions \bunion{} \{target\_smart\_contract \mapsto{} transaction\}$}{false}{\\The transaction is received by the target smart contract} + \Action{act2}{$gateway\_pending\_events \bcmeq{} gateway\_pending\_events \setminus{} \{gateway \mapsto{} pending\_event\}$}{false}{\\Remove the event from the pending events of the gateway} + \Action{act11}{$submit\_cc\_tx \bcmeq{} 1$}{true}{} + \Action{act12}{$gateway\_processing \bcmeq{} 0$}{true}{} + } +} +} +\END +\end{document} diff --git a/gateway-event-b/latex/CCTx_Abstract_DLT_c1.tex b/gateway-event-b/latex/CCTx_Abstract_DLT_c1.tex index 59293ab..7b04cb4 100644 --- a/gateway-event-b/latex/CCTx_Abstract_DLT_c1.tex +++ b/gateway-event-b/latex/CCTx_Abstract_DLT_c1.tex @@ -5,10 +5,10 @@ \CONTEXT{CCTx\_Abstract\_DLT\_c1}{}{} \SETS{ \Set{GATEWAYS}{} - \Set{TRANSACTIONS}{} + \Set{SOURCE\_TRANSACTIONS}{} \Set{CROSS\_CHAIN\_SMART\_CONTRACTS}{} - \Set{CROSS\_CHAIN\_EVENTS}{} - \Set{CROSS\_CHAIN\_TRANSACTIONS}{} + \Set{SMART\_CONTRACT\_EVENTS}{} + \Set{TARGET\_TRANSACTIONS}{} } \CONSTANTS{ \Constant{source\_smart\_contract}{} diff --git a/gateway-event-b/latex/CCTx_Abstract_DLT_m1.tex b/gateway-event-b/latex/CCTx_Abstract_DLT_m1.tex index 1013c97..32c7497 100644 --- a/gateway-event-b/latex/CCTx_Abstract_DLT_m1.tex +++ b/gateway-event-b/latex/CCTx_Abstract_DLT_m1.tex @@ -4,27 +4,27 @@ \SingleHeader{CCTx\_Abstract\_DLT\_m1} \MACHINE{CCTx\_Abstract\_DLT\_m1}{}{CCTx\_Abstract\_DLT\_c1}{} \VARIABLES{ - \Variable{received\_transactions}{} - \Variable{triggered\_events}{} + \Variable{received\_source\_transactions}{} + \Variable{emitted\_events}{} \Variable{subscriptions}{} - \Variable{gateway\_pending\_transactions}{} - \Variable{received\_cross\_chain\_transactions}{} + \Variable{gateway\_pending\_events}{} + \Variable{received\_target\_transactions}{} } \INVARIANTS{ - \Invariant{inv1}{false}{$received\_transactions \in{} CROSS\_CHAIN\_SMART\_CONTRACTS \rel{} TRANSACTIONS$}{} - \Invariant{inv2}{false}{$triggered\_events \in{} CROSS\_CHAIN\_SMART\_CONTRACTS \rel{} CROSS\_CHAIN\_EVENTS$}{} + \Invariant{inv1}{false}{$received\_source\_transactions \in{} CROSS\_CHAIN\_SMART\_CONTRACTS \rel{} SOURCE\_TRANSACTIONS$}{} + \Invariant{inv2}{false}{$emitted\_events \in{} CROSS\_CHAIN\_SMART\_CONTRACTS \rel{} SMART\_CONTRACT\_EVENTS$}{} \Invariant{inv3}{false}{$subscriptions \in{} GATEWAYS \rel{} CROSS\_CHAIN\_SMART\_CONTRACTS$}{} - \Invariant{inv4}{false}{$gateway\_pending\_transactions \in{} GATEWAYS \rel{} CROSS\_CHAIN\_TRANSACTIONS$}{} - \Invariant{inv5}{false}{$received\_cross\_chain\_transactions \in{} CROSS\_CHAIN\_SMART\_CONTRACTS \rel{} CROSS\_CHAIN\_TRANSACTIONS$}{} + \Invariant{inv4}{false}{$gateway\_pending\_events \in{} GATEWAYS \rel{} TARGET\_TRANSACTIONS$}{} + \Invariant{inv5}{false}{$received\_target\_transactions \in{} CROSS\_CHAIN\_SMART\_CONTRACTS \rel{} TARGET\_TRANSACTIONS$}{} } \EVENTS{ \INITIALISATION{false}{}{ \ACTIONS{false}{ - \Action{act1}{$received\_transactions \bcmeq{} \emptyset{}$}{true}{} - \Action{act2}{$triggered\_events \bcmeq{} \emptyset{}$}{true}{} + \Action{act1}{$received\_source\_transactions \bcmeq{} \emptyset{}$}{true}{} + \Action{act2}{$emitted\_events \bcmeq{} \emptyset{}$}{true}{} \Action{act3}{$subscriptions \bcmeq{} \emptyset{}$}{true}{} - \Action{act4}{$gateway\_pending\_transactions \bcmeq{} \emptyset{}$}{true}{} - \Action{act6}{$received\_cross\_chain\_transactions \bcmeq{} \emptyset{}$}{true}{} + \Action{act4}{$gateway\_pending\_events \bcmeq{} \emptyset{}$}{true}{} + \Action{act6}{$received\_target\_transactions \bcmeq{} \emptyset{}$}{true}{} } } \EVT{SUBSCRIBE\_SMART\_CONTRACT\_EVENTS}{false}{ordinary}{}{}{ @@ -40,52 +40,54 @@ \Param{transaction}{true}{} } \GUARDS{true}{ - \Guard{grd1}{false}{$transaction \in{} TRANSACTIONS$}{true}{} - \Guard{grd3}{false}{$transaction \notin{} received\_transactions[\{source\_smart\_contract\}]$}{true}{\\The transaction was not received by the smart contract} + \Guard{grd1}{false}{$transaction \in{} SOURCE\_TRANSACTIONS$}{true}{} + \Guard{grd3}{false}{$transaction \notin{} received\_source\_transactions[\{source\_smart\_contract\}]$}{true}{\\The transaction was not received by the smart contract} } \ACTIONS{true}{ - \Action{act1}{$received\_transactions \bcmeq{} received\_transactions \bunion{} \{source\_smart\_contract \mapsto{} transaction\}$}{true}{\\Add the transaction to the received transactions of the smart contract} + \Action{act1}{$received\_source\_transactions \bcmeq{} received\_source\_transactions \bunion{} \{source\_smart\_contract \mapsto{} transaction\}$}{true}{\\Add the transaction to the received transactions of the smart contract} } } -\EVT{TRIGGER\_CC\_TX\_EVENT}{false}{ordinary}{}{}{ +\EVT{EMIT\_EVENT}{false}{ordinary}{}{}{ \ANY{ \Param{transaction}{true}{} - \Param{cross\_chain\_event}{true}{} + \Param{emitted\_event}{true}{} } \GUARDS{true}{ - \Guard{grd1}{false}{$source\_smart\_contract \mapsto{} transaction \in{} received\_transactions$}{true}{\\The smart contract has a pending transaction to process} - \Guard{grd2}{false}{$cross\_chain\_event \notin{} triggered\_events[\{source\_smart\_contract\}]$}{true}{\\The smart contract will always trigger a new event} + \Guard{grd1}{false}{$source\_smart\_contract \mapsto{} transaction \in{} received\_source\_transactions$}{true}{\\The smart contract has a pending transaction to process} + \Guard{grd2}{false}{$emitted\_event \notin{} emitted\_events[\{source\_smart\_contract\}]$}{true}{\\The smart contract will always emit a new event} } \ACTIONS{true}{ - \Action{act1}{$triggered\_events \bcmeq{} triggered\_events \bunion{} \{source\_smart\_contract \mapsto{} cross\_chain\_event\}$}{true}{\\The smart contract triggers a new event related to the transaction processing} - \Action{act2}{$received\_transactions \bcmeq{} received\_transactions \setminus{} \{source\_smart\_contract \mapsto{} transaction\}$}{true}{\\The smart contract processed the transaction} + \Action{act1}{$emitted\_events \bcmeq{} emitted\_events \bunion{} \{source\_smart\_contract \mapsto{} emitted\_event\}$}{true}{\\The smart contract emits a new event related to the transaction processing} + \Action{act2}{$received\_source\_transactions \bcmeq{} received\_source\_transactions \setminus{} \{source\_smart\_contract \mapsto{} transaction\}$}{true}{\\The smart contract processed the transaction} } } -\EVT{LISTEN\_CC\_TX\_EVENT}{false}{ordinary}{}{}{ +\EVT{LISTEN\_EVENT}{false}{ordinary}{}{}{ \ANY{ - \Param{cross\_chain\_event}{true}{} - \Param{cross\_chain\_transaction}{true}{} + \Param{emitted\_event}{true}{} + \Param{pending\_event}{true}{} } \GUARDS{true}{ - \Guard{grd1}{false}{$source\_smart\_contract \mapsto{} cross\_chain\_event \in{} triggered\_events$}{true}{\\The smart contract has triggered an event} + \Guard{grd1}{false}{$source\_smart\_contract \mapsto{} emitted\_event \in{} emitted\_events$}{true}{\\The smart contract has emitted an event} \Guard{grd2}{false}{$gateway \mapsto{} source\_smart\_contract \in{} subscriptions$}{true}{\\Exist a subscription to the smart contract events} - \Guard{grd3}{false}{$gateway \mapsto{} cross\_chain\_transaction \notin{} gateway\_pending\_transactions$}{true}{\\The event was not already listened} + \Guard{grd3}{false}{$gateway \mapsto{} pending\_event \notin{} gateway\_pending\_events$}{true}{\\The event was not already listened} } \ACTIONS{true}{ - \Action{act1}{$gateway\_pending\_transactions \bcmeq{} gateway\_pending\_transactions \bunion{} \{gateway \mapsto{} cross\_chain\_transaction\}$}{true}{\\The event is added to the cross-chain transactions to be processed by the gateway} - \Action{act2}{$triggered\_events \bcmeq{} triggered\_events \setminus{} \{source\_smart\_contract \mapsto{} cross\_chain\_event\}$}{true}{\\The event is removed from the pending events to listen} + \Action{act1}{$gateway\_pending\_events \bcmeq{} gateway\_pending\_events \bunion{} \{gateway \mapsto{} pending\_event\}$}{true}{\\The event is added to the pending events to be processed by the gateway} + \Action{act2}{$emitted\_events \bcmeq{} emitted\_events \setminus{} \{source\_smart\_contract \mapsto{} emitted\_event\}$}{true}{\\The event is removed from the pending events to listen} } } -\EVT{SUBMIT\_CC\_TX}{false}{ordinary}{}{}{ +\EVT{SUBMIT\_TX}{false}{ordinary}{}{}{ \ANY{ - \Param{cross\_chain\_transaction}{true}{} + \Param{pending\_event}{true}{} + \Param{transaction}{true}{} } \GUARDS{true}{ - \Guard{grd1}{false}{$gateway \mapsto{} cross\_chain\_transaction \in{} gateway\_pending\_transactions$}{true}{\\There is one pending cross-chain transaction to process} + \Guard{grd1}{false}{$gateway \mapsto{} pending\_event \in{} gateway\_pending\_events$}{true}{\\There is one pending event to be processed} + \Guard{grd2}{false}{$transaction \in{} TARGET\_TRANSACTIONS$}{true}{} } \ACTIONS{true}{ - \Action{act1}{$received\_cross\_chain\_transactions \bcmeq{} received\_cross\_chain\_transactions \bunion{} \{target\_smart\_contract \mapsto{} cross\_chain\_transaction\}$}{true}{\\The cross-chain transaction is received by the target smart contract} - \Action{act2}{$gateway\_pending\_transactions \bcmeq{} gateway\_pending\_transactions \setminus{} \{gateway \mapsto{} cross\_chain\_transaction\}$}{true}{\\Remove the cross-chain transaction to the pending transactions of the Gateway} + \Action{act1}{$received\_target\_transactions \bcmeq{} received\_target\_transactions \bunion{} \{target\_smart\_contract \mapsto{} transaction\}$}{true}{\\The transaction is received by the target smart contract} + \Action{act2}{$gateway\_pending\_events \bcmeq{} gateway\_pending\_events \setminus{} \{gateway \mapsto{} pending\_event\}$}{true}{\\Remove the event from the pending events of the gateway} } } } diff --git a/gateway-event-b/latex/CCTx_Ethereum_Fabric_Animation_m3.tex b/gateway-event-b/latex/CCTx_Ethereum_Fabric_Animation_m3.tex new file mode 100644 index 0000000..6c024e9 --- /dev/null +++ b/gateway-event-b/latex/CCTx_Ethereum_Fabric_Animation_m3.tex @@ -0,0 +1,158 @@ +\documentclass[10pt,a4paper]{report} +\usepackage{bsymb,b2latex} +\begin{document} +\SingleHeader{CCTx\_Ethereum\_Fabric\_Animation\_m3} +\MACHINE{CCTx\_Ethereum\_Fabric\_Animation\_m3}{CCTx\_Ethereum\_Fabric\_m2}{CCTx\_Ethereum\_Fabric\_c2}{} +\VARIABLES{ + \Variable{received\_source\_transactions}{} + \Variable{emitted\_events}{} + \Variable{subscriptions}{} + \Variable{gateway\_pending\_events}{} + \Variable{received\_target\_transactions}{} + \Variable{authenticated\_users}{} + \Variable{authenticated\_transactions}{} + \Variable{grants}{} + \Variable{subscribed}{} + \Variable{initiated}{} + \Variable{emitted}{} + \Variable{gateway\_processing}{} + \Variable{submit\_cc\_tx}{} + \Variable{user\_created}{} + \Variable{write\_granted}{} +} +\INVARIANTS{ + \Invariant{inv11}{false}{$subscribed \in{} \{0,1\}$}{} + \Invariant{inv12}{false}{$initiated \in{} \{0,1\}$}{} + \Invariant{inv13}{false}{$emitted \in{} \{0,1\}$}{} + \Invariant{inv14}{false}{$gateway\_processing \in{} \{0,1\}$}{} + \Invariant{inv15}{false}{$submit\_cc\_tx \in{} \{0,1\}$}{} + \Invariant{inv16}{false}{$user\_created \in{} \{0,1\}$}{} + \Invariant{inv17}{false}{$write\_granted \in{} \{0,1\}$}{} +} +\EVENTS{ +\INITIALISATION{true}{}{ + \ACTIONS{false}{ + \Action{act1}{$received\_source\_transactions \bcmeq{} \emptyset{}$}{false}{} + \Action{act2}{$emitted\_events \bcmeq{} \emptyset{}$}{false}{} + \Action{act3}{$subscriptions \bcmeq{} \emptyset{}$}{false}{} + \Action{act4}{$gateway\_pending\_events \bcmeq{} \emptyset{}$}{false}{} + \Action{act6}{$received\_target\_transactions \bcmeq{} \emptyset{}$}{false}{} + \Action{act11}{$authenticated\_users \bcmeq{} \emptyset{}$}{false}{} + \Action{act12}{$authenticated\_transactions \bcmeq{} \emptyset{}$}{false}{} + \Action{act14}{$grants \bcmeq{} \emptyset{}$}{false}{} + \Action{act31}{$subscribed \bcmeq{} 0$}{true}{} + \Action{act32}{$initiated \bcmeq{} 0$}{true}{} + \Action{act33}{$emitted \bcmeq{} 0$}{true}{} + \Action{act34}{$gateway\_processing \bcmeq{} 0$}{true}{} + \Action{act35}{$submit\_cc\_tx \bcmeq{} 0$}{true}{} + \Action{act36}{$user\_created \bcmeq{} 0$}{true}{} + \Action{act37}{$write\_granted \bcmeq{} 0$}{true}{} + } +} +\EVT{SUBSCRIBE\_SMART\_CONTRACT\_EVENTS\_IN\_ETHEREUM}{true}{ordinary}{SUBSCRIBE\_SMART\_CONTRACT\_EVENTS\_IN\_ETHEREUM}{}{ + \GUARDS{false}{ + \Guard{grd1}{false}{$gateway \mapsto{} source\_smart\_contract \notin{} subscriptions$}{false}{\\The gateway is not already subscribed to the smart contract events} + } + \ACTIONS{true}{ + \Action{act1}{$subscriptions \bcmeq{} subscriptions \bunion{} \{gateway \mapsto{} source\_smart\_contract\}$}{false}{\\The gateway is subscribed to listen to the smart contract events} + \Action{act31}{$subscribed \bcmeq{} 1$}{true}{} + } +} +\EVT{INITIATE\_CC\_TX\_IN\_ETHEREUM}{true}{ordinary}{INITIATE\_CC\_TX\_IN\_ETHEREUM}{}{ + \ANY{ + \Param{transaction}{false}{} + } + \GUARDS{true}{ + \Guard{grd1}{false}{$transaction \in{} SOURCE\_TRANSACTIONS$}{false}{} + \Guard{grd3}{false}{$transaction \notin{} received\_source\_transactions[\{source\_smart\_contract\}]$}{false}{\\The transaction was not received by the smart contract} + } + \ACTIONS{true}{ + \Action{act1}{$received\_source\_transactions \bcmeq{} received\_source\_transactions \bunion{} \{source\_smart\_contract \mapsto{} transaction\}$}{false}{\\Add the transaction to the received transactions of the smart contract} + \Action{act31}{$initiated \bcmeq{} 1$}{true}{} + \Action{act32}{$submit\_cc\_tx \bcmeq{} 0$}{true}{} + } +} +\EVT{EMIT\_EVENT\_IN\_ETHEREUM}{true}{ordinary}{EMIT\_EVENT\_IN\_ETHEREUM}{}{ + \ANY{ + \Param{transaction}{false}{} + \Param{emitted\_event}{false}{} + } + \GUARDS{true}{ + \Guard{grd1}{false}{$source\_smart\_contract \mapsto{} transaction \in{} received\_source\_transactions$}{false}{\\The smart contract has a pending transaction to process} + \Guard{grd2}{false}{$emitted\_event \notin{} emitted\_events[\{source\_smart\_contract\}]$}{false}{\\The smart contract will always emit a new event} + } + \ACTIONS{true}{ + \Action{act1}{$emitted\_events \bcmeq{} emitted\_events \bunion{} \{source\_smart\_contract \mapsto{} emitted\_event\}$}{false}{\\The smart contract emits a new event related to the transaction processing} + \Action{act2}{$received\_source\_transactions \bcmeq{} received\_source\_transactions \setminus{} \{source\_smart\_contract \mapsto{} transaction\}$}{false}{\\The smart contract processed the transaction} + \Action{act31}{$emitted \bcmeq{} 1$}{true}{} + \Action{act32}{$initiated \bcmeq{} 0$}{true}{} + \Action{act33}{$submit\_cc\_tx \bcmeq{} 0$}{true}{} + } +} +\EVT{LISTEN\_EVENT\_IN\_ETHEREUM}{true}{ordinary}{LISTEN\_EVENT\_IN\_ETHEREUM}{}{ + \ANY{ + \Param{emitted\_event}{false}{} + \Param{pending\_event}{false}{} + } + \GUARDS{true}{ + \Guard{grd1}{false}{$source\_smart\_contract \mapsto{} emitted\_event \in{} emitted\_events$}{false}{\\The smart contract has emitted an event} + \Guard{grd2}{false}{$gateway \mapsto{} source\_smart\_contract \in{} subscriptions$}{false}{\\Exist a subscription to the smart contract events} + \Guard{grd3}{false}{$gateway \mapsto{} pending\_event \notin{} gateway\_pending\_events$}{false}{\\The event was not already listened} + } + \ACTIONS{true}{ + \Action{act1}{$gateway\_pending\_events \bcmeq{} gateway\_pending\_events \bunion{} \{gateway \mapsto{} pending\_event\}$}{false}{\\The event is added to the pending events to be processed by the gateway} + \Action{act2}{$emitted\_events \bcmeq{} emitted\_events \setminus{} \{source\_smart\_contract \mapsto{} emitted\_event\}$}{false}{\\The event is removed from the pending events to listen} + \Action{act31}{$gateway\_processing \bcmeq{} 1$}{true}{} + \Action{act32}{$emitted \bcmeq{} 0$}{true}{} + \Action{act33}{$submit\_cc\_tx \bcmeq{} 0$}{true}{} + } +} +\EVT{SUBMIT\_TX\_TO\_FABRIC}{true}{ordinary}{SUBMIT\_TX\_TO\_FABRIC}{}{ + \ANY{ + \Param{pending\_event}{false}{} + \Param{transaction}{false}{} + \Param{user}{false}{} + } + \GUARDS{true}{ + \Guard{grd1}{false}{$gateway \mapsto{} pending\_event \in{} gateway\_pending\_events$}{false}{\\There is one pending event to be processed} + \Guard{grd2}{false}{$transaction \in{} TARGET\_TRANSACTIONS$}{false}{} + \Guard{grd11}{false}{$user \in{} authenticated\_users$}{false}{\\Only allow authenticated users (REQ6)} + \Guard{grd12}{false}{$user \mapsto{} write \in{} grants$}{false}{\\Only allow authorized users (REQ7)} + } + \ACTIONS{true}{ + \Action{act1}{$received\_target\_transactions \bcmeq{} received\_target\_transactions \bunion{} \{target\_smart\_contract \mapsto{} transaction\}$}{false}{\\The transaction is received by the target smart contract} + \Action{act2}{$gateway\_pending\_events \bcmeq{} gateway\_pending\_events \setminus{} \{gateway \mapsto{} pending\_event\}$}{false}{\\Remove the event from the pending events of the gateway} + \Action{act11}{$authenticated\_transactions(target\_smart\_contract \mapsto{} transaction) \bcmeq{} user$}{false}{\\Every submitted transaction to Fabric must be authenticated} + \Action{act31}{$submit\_cc\_tx \bcmeq{} 1$}{true}{} + \Action{act32}{$gateway\_processing \bcmeq{} 0$}{true}{} + } +} +\EVT{CREATE\_GATEWAY\_USER}{true}{ordinary}{CREATE\_GATEWAY\_USER}{}{ + \GUARDS{false}{ + \Guard{grd1}{false}{$gateway\_user \notin{} authenticated\_users$}{false}{} + } + \ACTIONS{true}{ + \Action{act1}{$authenticated\_users \bcmeq{} authenticated\_users \bunion{} \{gateway\_user\}$}{false}{\\Create credentials for a user (e.g. gateway) to authenticate them (REQ2)} + \Action{act31}{$user\_created \bcmeq{} 1$}{true}{} + } +} +\EVT{GRANT\_PERMISSION}{true}{ordinary}{GRANT\_PERMISSION}{}{ + \ANY{ + \Param{permission}{false}{} + \Param{user}{false}{} + } + \GUARDS{true}{ + \Guard{grd1}{false}{$permission \in{} PERMISSIONS$}{false}{} + \Guard{grd2}{false}{$user \in{} authenticated\_users$}{false}{} + \Guard{grd3}{false}{$user \mapsto{} permission \notin{} grants$}{false}{} + \Guard{grd31}{false}{$user = gateway\_user$}{true}{} + \Guard{grd32}{false}{$permission = write$}{true}{} + } + \ACTIONS{true}{ + \Action{act1}{$grants \bcmeq{} grants \bunion{} \{user \mapsto{} permission\}$}{false}{\\Grant permissions (e.g. write) to users (e.g. gateway) in Fabric (REQ3)} + \Action{act31}{$write\_granted \bcmeq{} 1$}{true}{} + } +} +} +\END +\end{document} diff --git a/gateway-event-b/latex/CCTx_Ethereum_Fabric_c2.tex b/gateway-event-b/latex/CCTx_Ethereum_Fabric_c2.tex index b5b4ec0..3feadf5 100644 --- a/gateway-event-b/latex/CCTx_Ethereum_Fabric_c2.tex +++ b/gateway-event-b/latex/CCTx_Ethereum_Fabric_c2.tex @@ -13,8 +13,8 @@ \Constant{gateway\_user}{} } \AXIOMS{ - \Axiom{axm11}{false}{$partition(PERMISSIONS, \{read\}, \{write\})$}{\\Two only types of permissions exist: read and write} - \Axiom{axm12}{false}{$gateway\_user \in{} USERS$}{\\The gateway has an Hyperledger Fabric user} + \Axiom{axm11}{false}{$partition(PERMISSIONS, \{read\}, \{write\})$}{\\Only two types of permissions exist: read and write (REQ1)} + \Axiom{axm12}{false}{$gateway\_user \in{} USERS$}{\\The gateway has a Fabric user} } \END \end{document} diff --git a/gateway-event-b/latex/CCTx_Ethereum_Fabric_m2.tex b/gateway-event-b/latex/CCTx_Ethereum_Fabric_m2.tex index 238080c..3ace914 100644 --- a/gateway-event-b/latex/CCTx_Ethereum_Fabric_m2.tex +++ b/gateway-event-b/latex/CCTx_Ethereum_Fabric_m2.tex @@ -4,30 +4,30 @@ \SingleHeader{CCTx\_Ethereum\_Fabric\_m2} \MACHINE{CCTx\_Ethereum\_Fabric\_m2}{CCTx\_Abstract\_DLT\_m1}{CCTx\_Ethereum\_Fabric\_c2}{} \VARIABLES{ - \Variable{received\_transactions}{} - \Variable{triggered\_events}{} + \Variable{received\_source\_transactions}{} + \Variable{emitted\_events}{} \Variable{subscriptions}{} - \Variable{gateway\_pending\_transactions}{} - \Variable{received\_cross\_chain\_transactions}{} + \Variable{gateway\_pending\_events}{} + \Variable{received\_target\_transactions}{} \Variable{authenticated\_users}{} \Variable{authenticated\_transactions}{} \Variable{grants}{} } \INVARIANTS{ \Invariant{inv11}{false}{$authenticated\_users \subseteq{} USERS$}{\\Authenticated users are a subset of all the possible users} - \Invariant{inv12}{false}{$authenticated\_transactions \in{} received\_cross\_chain\_transactions \tfun{} authenticated\_users$}{\\Authenticated transactions are received transactions submitted by an authenticated user} - \Invariant{inv13}{false}{$\\\forall{} tx \qdot{} tx \in{} received\_cross\_chain\_transactions \limp{} (\exists{} u \qdot{} u \in{}\\~ authenticated\_users \land{} tx \mapsto{} u \in{} authenticated\_transactions)$}{\\Every submitted transaction to Fabric must be authenticated (RQ4)} + \Invariant{inv12}{false}{$authenticated\_transactions \in{} received\_target\_transactions \tfun{} authenticated\_users$}{\\Authenticated transactions are received transactions submitted by an authenticated user} + \Invariant{inv13}{false}{$\\\forall{} tx \qdot{} tx \in{} received\_target\_transactions \limp{} (\exists{} u \qdot{} u \in{}\\~ authenticated\_users \land{} tx \mapsto{} u \in{} authenticated\_transactions)$}{\\Every submitted transaction to Fabric must be authenticated (REQ4)} \Invariant{inv14}{false}{$grants \in{} authenticated\_users \rel{} PERMISSIONS$}{\\Users with read or write permissions} - \Invariant{inv15}{false}{$\forall{} u \qdot{} u \in{} authenticated\_transactions[received\_cross\_chain\_transactions] \limp{} u \mapsto{} write \in{} grants$}{\\Authenticated users that submitted a transaction must have write permissions (RQ5)} + \Invariant{inv15}{false}{$\forall{} u \qdot{} u \in{} authenticated\_transactions[received\_target\_transactions] \limp{} u \mapsto{} write \in{} grants$}{\\Authenticated users that submitted a transaction must have write permissions (REQ5)} } \EVENTS{ \INITIALISATION{true}{}{ \ACTIONS{false}{ - \Action{act1}{$received\_transactions \bcmeq{} \emptyset{}$}{false}{} - \Action{act2}{$triggered\_events \bcmeq{} \emptyset{}$}{false}{} + \Action{act1}{$received\_source\_transactions \bcmeq{} \emptyset{}$}{false}{} + \Action{act2}{$emitted\_events \bcmeq{} \emptyset{}$}{false}{} \Action{act3}{$subscriptions \bcmeq{} \emptyset{}$}{false}{} - \Action{act4}{$gateway\_pending\_transactions \bcmeq{} \emptyset{}$}{false}{} - \Action{act6}{$received\_cross\_chain\_transactions \bcmeq{} \emptyset{}$}{false}{} + \Action{act4}{$gateway\_pending\_events \bcmeq{} \emptyset{}$}{false}{} + \Action{act6}{$received\_target\_transactions \bcmeq{} \emptyset{}$}{false}{} \Action{act11}{$authenticated\_users \bcmeq{} \emptyset{}$}{true}{} \Action{act12}{$authenticated\_transactions \bcmeq{} \emptyset{}$}{true}{} \Action{act14}{$grants \bcmeq{} \emptyset{}$}{true}{} @@ -46,56 +46,58 @@ \Param{transaction}{false}{} } \GUARDS{true}{ - \Guard{grd1}{false}{$transaction \in{} TRANSACTIONS$}{false}{} - \Guard{grd3}{false}{$transaction \notin{} received\_transactions[\{source\_smart\_contract\}]$}{false}{\\The transaction was not received by the smart contract} + \Guard{grd1}{false}{$transaction \in{} SOURCE\_TRANSACTIONS$}{false}{} + \Guard{grd3}{false}{$transaction \notin{} received\_source\_transactions[\{source\_smart\_contract\}]$}{false}{\\The transaction was not received by the smart contract} } \ACTIONS{true}{ - \Action{act1}{$received\_transactions \bcmeq{} received\_transactions \bunion{} \{source\_smart\_contract \mapsto{} transaction\}$}{false}{\\Add the transaction to the received transactions of the smart contract} + \Action{act1}{$received\_source\_transactions \bcmeq{} received\_source\_transactions \bunion{} \{source\_smart\_contract \mapsto{} transaction\}$}{false}{\\Add the transaction to the received transactions of the smart contract} } } -\EVT{TRIGGER\_CC\_TX\_EVENT\_IN\_ETHEREUM}{true}{ordinary}{TRIGGER\_CC\_TX\_EVENT}{}{ +\EVT{EMIT\_EVENT\_IN\_ETHEREUM}{true}{ordinary}{EMIT\_EVENT}{}{ \ANY{ \Param{transaction}{false}{} - \Param{cross\_chain\_event}{false}{} + \Param{emitted\_event}{false}{} } \GUARDS{true}{ - \Guard{grd1}{false}{$source\_smart\_contract \mapsto{} transaction \in{} received\_transactions$}{false}{\\The smart contract has a pending transaction to process} - \Guard{grd2}{false}{$cross\_chain\_event \notin{} triggered\_events[\{source\_smart\_contract\}]$}{false}{\\The smart contract will always trigger a new event} + \Guard{grd1}{false}{$source\_smart\_contract \mapsto{} transaction \in{} received\_source\_transactions$}{false}{\\The smart contract has a pending transaction to process} + \Guard{grd2}{false}{$emitted\_event \notin{} emitted\_events[\{source\_smart\_contract\}]$}{false}{\\The smart contract will always emit a new event} } \ACTIONS{true}{ - \Action{act1}{$triggered\_events \bcmeq{} triggered\_events \bunion{} \{source\_smart\_contract \mapsto{} cross\_chain\_event\}$}{false}{\\The smart contract triggers a new event related to the transaction processing} - \Action{act2}{$received\_transactions \bcmeq{} received\_transactions \setminus{} \{source\_smart\_contract \mapsto{} transaction\}$}{false}{\\The smart contract processed the transaction} + \Action{act1}{$emitted\_events \bcmeq{} emitted\_events \bunion{} \{source\_smart\_contract \mapsto{} emitted\_event\}$}{false}{\\The smart contract emits a new event related to the transaction processing} + \Action{act2}{$received\_source\_transactions \bcmeq{} received\_source\_transactions \setminus{} \{source\_smart\_contract \mapsto{} transaction\}$}{false}{\\The smart contract processed the transaction} } } -\EVT{LISTEN\_CC\_TX\_EVENT\_IN\_ETHEREUM}{true}{ordinary}{LISTEN\_CC\_TX\_EVENT}{}{ +\EVT{LISTEN\_EVENT\_IN\_ETHEREUM}{true}{ordinary}{LISTEN\_EVENT}{}{ \ANY{ - \Param{cross\_chain\_event}{false}{} - \Param{cross\_chain\_transaction}{false}{} + \Param{emitted\_event}{false}{} + \Param{pending\_event}{false}{} } \GUARDS{true}{ - \Guard{grd1}{false}{$source\_smart\_contract \mapsto{} cross\_chain\_event \in{} triggered\_events$}{false}{\\The smart contract has triggered an event} + \Guard{grd1}{false}{$source\_smart\_contract \mapsto{} emitted\_event \in{} emitted\_events$}{false}{\\The smart contract has emitted an event} \Guard{grd2}{false}{$gateway \mapsto{} source\_smart\_contract \in{} subscriptions$}{false}{\\Exist a subscription to the smart contract events} - \Guard{grd3}{false}{$gateway \mapsto{} cross\_chain\_transaction \notin{} gateway\_pending\_transactions$}{false}{\\The event was not already listened} + \Guard{grd3}{false}{$gateway \mapsto{} pending\_event \notin{} gateway\_pending\_events$}{false}{\\The event was not already listened} } \ACTIONS{true}{ - \Action{act1}{$gateway\_pending\_transactions \bcmeq{} gateway\_pending\_transactions \bunion{} \{gateway \mapsto{} cross\_chain\_transaction\}$}{false}{\\The event is added to the cross-chain transactions to be processed by the gateway} - \Action{act2}{$triggered\_events \bcmeq{} triggered\_events \setminus{} \{source\_smart\_contract \mapsto{} cross\_chain\_event\}$}{false}{\\The event is removed from the pending events to listen} + \Action{act1}{$gateway\_pending\_events \bcmeq{} gateway\_pending\_events \bunion{} \{gateway \mapsto{} pending\_event\}$}{false}{\\The event is added to the pending events to be processed by the gateway} + \Action{act2}{$emitted\_events \bcmeq{} emitted\_events \setminus{} \{source\_smart\_contract \mapsto{} emitted\_event\}$}{false}{\\The event is removed from the pending events to listen} } } -\EVT{SUBMIT\_CC\_TX\_TO\_FABRIC}{true}{ordinary}{SUBMIT\_CC\_TX}{}{ +\EVT{SUBMIT\_TX\_TO\_FABRIC}{true}{ordinary}{SUBMIT\_TX}{}{ \ANY{ - \Param{cross\_chain\_transaction}{false}{} + \Param{pending\_event}{false}{} + \Param{transaction}{false}{} \Param{user}{true}{} } \GUARDS{true}{ - \Guard{grd1}{false}{$gateway \mapsto{} cross\_chain\_transaction \in{} gateway\_pending\_transactions$}{false}{\\There is one pending cross-chain transaction to process} - \Guard{grd11}{false}{$user \in{} authenticated\_users$}{true}{\\Only allow authenticated users (RQ6)} - \Guard{grd12}{false}{$user \mapsto{} write \in{} grants$}{true}{\\Only allow authorized users (RQ7)} + \Guard{grd1}{false}{$gateway \mapsto{} pending\_event \in{} gateway\_pending\_events$}{false}{\\There is one pending event to be processed} + \Guard{grd2}{false}{$transaction \in{} TARGET\_TRANSACTIONS$}{false}{} + \Guard{grd11}{false}{$user \in{} authenticated\_users$}{true}{\\Only allow authenticated users (REQ6)} + \Guard{grd12}{false}{$user \mapsto{} write \in{} grants$}{true}{\\Only allow authorized users (REQ7)} } \ACTIONS{true}{ - \Action{act1}{$received\_cross\_chain\_transactions \bcmeq{} received\_cross\_chain\_transactions \bunion{} \{target\_smart\_contract \mapsto{} cross\_chain\_transaction\}$}{false}{\\The cross-chain transaction is received by the target smart contract} - \Action{act2}{$gateway\_pending\_transactions \bcmeq{} gateway\_pending\_transactions \setminus{} \{gateway \mapsto{} cross\_chain\_transaction\}$}{false}{\\Remove the cross-chain transaction to the pending transactions of the Gateway} - \Action{act11}{$authenticated\_transactions(target\_smart\_contract \mapsto{} cross\_chain\_transaction) \bcmeq{} user$}{true}{\\Audit user that submitted a transaction to a smart contract (RQ4)} + \Action{act1}{$received\_target\_transactions \bcmeq{} received\_target\_transactions \bunion{} \{target\_smart\_contract \mapsto{} transaction\}$}{false}{\\The transaction is received by the target smart contract} + \Action{act2}{$gateway\_pending\_events \bcmeq{} gateway\_pending\_events \setminus{} \{gateway \mapsto{} pending\_event\}$}{false}{\\Remove the event from the pending events of the gateway} + \Action{act11}{$authenticated\_transactions(target\_smart\_contract \mapsto{} transaction) \bcmeq{} user$}{true}{\\Every submitted transaction to Fabric must be authenticated} } } \EVT{CREATE\_GATEWAY\_USER}{false}{ordinary}{}{}{ @@ -103,7 +105,7 @@ \Guard{grd1}{false}{$gateway\_user \notin{} authenticated\_users$}{true}{} } \ACTIONS{true}{ - \Action{act1}{$authenticated\_users \bcmeq{} authenticated\_users \bunion{} \{gateway\_user\}$}{true}{\\Create credentials for a user (e.g. gateway) to authenticate them (RQ2)} + \Action{act1}{$authenticated\_users \bcmeq{} authenticated\_users \bunion{} \{gateway\_user\}$}{true}{\\Create credentials for a user (e.g. gateway) to authenticate them (REQ2)} } } \EVT{GRANT\_PERMISSION}{false}{ordinary}{}{}{ @@ -117,7 +119,7 @@ \Guard{grd3}{false}{$user \mapsto{} permission \notin{} grants$}{true}{} } \ACTIONS{true}{ - \Action{act1}{$grants \bcmeq{} grants \bunion{} \{user \mapsto{} permission\}$}{true}{\\Grant permissions (e.g. write) to users (e.g. gateway) in Fabric (RQ3)} + \Action{act1}{$grants \bcmeq{} grants \bunion{} \{user \mapsto{} permission\}$}{true}{\\Grant permissions (e.g. write) to users (e.g. gateway) in Fabric (REQ3)} } } } diff --git a/gateway-event-b/latex/CCTx_Fabric_Ethereum_Animation_m3.tex b/gateway-event-b/latex/CCTx_Fabric_Ethereum_Animation_m3.tex new file mode 100644 index 0000000..7a3d124 --- /dev/null +++ b/gateway-event-b/latex/CCTx_Fabric_Ethereum_Animation_m3.tex @@ -0,0 +1,177 @@ +\documentclass[10pt,a4paper]{report} +\usepackage{bsymb,b2latex} +\begin{document} +\SingleHeader{CCTx\_Fabric\_Ethereum\_Animation\_m3} +\MACHINE{CCTx\_Fabric\_Ethereum\_Animation\_m3}{CCTx\_Fabric\_Ethereum\_m2}{CCTx\_Fabric\_Ethereum\_c2}{} +\VARIABLES{ + \Variable{received\_source\_transactions}{} + \Variable{emitted\_events}{} + \Variable{subscriptions}{} + \Variable{gateway\_pending\_events}{} + \Variable{received\_target\_transactions}{} + \Variable{accounts}{} + \Variable{subscribed}{} + \Variable{initiated}{} + \Variable{emitted}{} + \Variable{gateway\_processing}{} + \Variable{submit\_cc\_tx}{} + \Variable{wallet\_created}{} + \Variable{wallet\_amount}{} +} +\INVARIANTS{ + \Invariant{inv31}{false}{$subscribed \in{} \{0,1\}$}{} + \Invariant{inv32}{false}{$initiated \in{} \{0,1\}$}{} + \Invariant{inv33}{false}{$emitted \in{} \{0,1\}$}{} + \Invariant{inv34}{false}{$gateway\_processing \in{} \{0,1\}$}{} + \Invariant{inv35}{false}{$submit\_cc\_tx \in{} \{0,1\}$}{} + \Invariant{inv36}{false}{$wallet\_created \in{} \{0,1\}$}{} + \Invariant{inv37}{false}{$wallet\_amount \in{} \nat{}$}{} +} +\EVENTS{ +\INITIALISATION{true}{}{ + \ACTIONS{false}{ + \Action{act1}{$received\_source\_transactions \bcmeq{} \emptyset{}$}{false}{} + \Action{act2}{$emitted\_events \bcmeq{} \emptyset{}$}{false}{} + \Action{act3}{$subscriptions \bcmeq{} \emptyset{}$}{false}{} + \Action{act4}{$gateway\_pending\_events \bcmeq{} \emptyset{}$}{false}{} + \Action{act6}{$received\_target\_transactions \bcmeq{} \emptyset{}$}{false}{} + \Action{act11}{$accounts \bcmeq{} \emptyset{}$}{false}{} + \Action{init\_subscribed}{$subscribed \bcmeq{} 0$}{true}{} + \Action{init\_initiated}{$initiated \bcmeq{} 0$}{true}{} + \Action{init\_emitted}{$emitted \bcmeq{} 0$}{true}{} + \Action{init\_gateway\_processing}{$gateway\_processing \bcmeq{} 0$}{true}{} + \Action{init\_submit\_cc\_tx}{$submit\_cc\_tx \bcmeq{} 0$}{true}{} + \Action{init\_wallet\_created}{$wallet\_created \bcmeq{} 0$}{true}{} + \Action{init\_wallet\_amount}{$wallet\_amount \bcmeq{} 0$}{true}{} + } +} +\EVT{SUBSCRIBE\_SMART\_CONTRACT\_EVENTS\_IN\_FABRIC}{true}{ordinary}{SUBSCRIBE\_SMART\_CONTRACT\_EVENTS\_IN\_FABRIC}{}{ + \GUARDS{false}{ + \Guard{grd1}{false}{$gateway \mapsto{} source\_smart\_contract \notin{} subscriptions$}{false}{\\The gateway is not already subscribed to the smart contract events} + } + \ACTIONS{true}{ + \Action{act1}{$subscriptions \bcmeq{} subscriptions \bunion{} \{gateway \mapsto{} source\_smart\_contract\}$}{false}{\\The gateway is subscribed to listen to the smart contract events} + \Action{act111}{$subscribed \bcmeq{} 1$}{true}{} + } +} +\EVT{INITIATE\_CC\_TX\_IN\_FABRIC}{true}{ordinary}{INITIATE\_CC\_TX\_IN\_FABRIC}{}{ + \ANY{ + \Param{transaction}{false}{} + } + \GUARDS{true}{ + \Guard{grd1}{false}{$transaction \in{} SOURCE\_TRANSACTIONS$}{false}{} + \Guard{grd3}{false}{$transaction \notin{} received\_source\_transactions[\{source\_smart\_contract\}]$}{false}{\\The transaction was not received by the smart contract} + } + \ACTIONS{true}{ + \Action{act1}{$received\_source\_transactions \bcmeq{} received\_source\_transactions \bunion{} \{source\_smart\_contract \mapsto{} transaction\}$}{false}{\\Add the transaction to the received transactions of the smart contract} + \Action{act31}{$initiated \bcmeq{} 1$}{true}{} + \Action{act32}{$submit\_cc\_tx \bcmeq{} 0$}{true}{} + } +} +\EVT{EMIT\_EVENT\_IN\_FABRIC}{true}{ordinary}{EMIT\_EVENT\_IN\_FABRIC}{}{ + \ANY{ + \Param{transaction}{false}{} + \Param{emitted\_event}{false}{} + } + \GUARDS{true}{ + \Guard{grd1}{false}{$source\_smart\_contract \mapsto{} transaction \in{} received\_source\_transactions$}{false}{\\The smart contract has a pending transaction to process} + \Guard{grd2}{false}{$emitted\_event \notin{} emitted\_events[\{source\_smart\_contract\}]$}{false}{\\The smart contract will always emit a new event} + } + \ACTIONS{true}{ + \Action{act1}{$emitted\_events \bcmeq{} emitted\_events \bunion{} \{source\_smart\_contract \mapsto{} emitted\_event\}$}{false}{\\The smart contract emits a new event related to the transaction processing} + \Action{act2}{$received\_source\_transactions \bcmeq{} received\_source\_transactions \setminus{} \{source\_smart\_contract \mapsto{} transaction\}$}{false}{\\The smart contract processed the transaction} + \Action{act31}{$emitted \bcmeq{} 1$}{true}{} + \Action{act32}{$initiated \bcmeq{} 0$}{true}{} + \Action{act33}{$submit\_cc\_tx \bcmeq{} 0$}{true}{} + } +} +\EVT{LISTEN\_EVENT\_IN\_FABRIC}{true}{ordinary}{LISTEN\_EVENT\_IN\_FABRIC}{}{ + \ANY{ + \Param{emitted\_event}{false}{} + \Param{pending\_event}{false}{} + } + \GUARDS{true}{ + \Guard{grd1}{false}{$source\_smart\_contract \mapsto{} emitted\_event \in{} emitted\_events$}{false}{\\The smart contract has emitted an event} + \Guard{grd2}{false}{$gateway \mapsto{} source\_smart\_contract \in{} subscriptions$}{false}{\\Exist a subscription to the smart contract events} + \Guard{grd3}{false}{$gateway \mapsto{} pending\_event \notin{} gateway\_pending\_events$}{false}{\\The event was not already listened} + } + \ACTIONS{true}{ + \Action{act1}{$gateway\_pending\_events \bcmeq{} gateway\_pending\_events \bunion{} \{gateway \mapsto{} pending\_event\}$}{false}{\\The event is added to the pending events to be processed by the gateway} + \Action{act2}{$emitted\_events \bcmeq{} emitted\_events \setminus{} \{source\_smart\_contract \mapsto{} emitted\_event\}$}{false}{\\The event is removed from the pending events to listen} + \Action{act31}{$gateway\_processing \bcmeq{} 1$}{true}{} + \Action{act32}{$emitted \bcmeq{} 0$}{true}{} + \Action{act33}{$submit\_cc\_tx \bcmeq{} 0$}{true}{} + } +} +\EVT{SUBMIT\_TX\_TO\_ETHEREUM}{true}{ordinary}{SUBMIT\_TX\_TO\_ETHEREUM}{}{ + \ANY{ + \Param{pending\_event}{false}{} + \Param{transaction}{false}{} + \Param{fee}{false}{} + } + \GUARDS{true}{ + \Guard{grd1}{false}{$gateway \mapsto{} pending\_event \in{} gateway\_pending\_events$}{false}{\\There is one pending event to be processed} + \Guard{grd2}{false}{$transaction \in{} TARGET\_TRANSACTIONS$}{false}{} + \Guard{grd11}{false}{$gateway\_address \in{} dom(accounts)$}{false}{} + \Guard{grd12}{false}{$accounts(gateway\_address) \geq{} fee$}{false}{\\The gateway has enough balance to pay the validators fee (REQ5)} + \Guard{grd13}{false}{$fee > 0$}{false}{} + } + \ACTIONS{true}{ + \Action{act1}{$received\_target\_transactions \bcmeq{} received\_target\_transactions \bunion{} \{target\_smart\_contract \mapsto{} transaction\}$}{false}{\\The transaction is received by the target smart contract} + \Action{act2}{$gateway\_pending\_events \bcmeq{} gateway\_pending\_events \setminus{} \{gateway \mapsto{} pending\_event\}$}{false}{\\Remove the event from the pending events of the gateway} + \Action{act11}{$accounts(gateway\_address) \bcmeq{} accounts(gateway\_address) - fee$}{false}{\\The fee is subtracted from the gateways account (REQ5)} + \Action{act31}{$submit\_cc\_tx \bcmeq{} 1$}{true}{} + \Action{act32}{$gateway\_processing \bcmeq{} 0$}{true}{} + \Action{act33}{$wallet\_amount \bcmeq{} accounts(gateway\_address) - fee$}{true}{} + } +} +\EVT{CREATE\_ADDRESS\_IN\_ETHEREUM}{true}{ordinary}{CREATE\_ADDRESS\_IN\_ETHEREUM}{\\Users can create their address on Ethereum (RQ1 and RQ2)}{ + \ANY{ + \Param{address}{false}{} + } + \GUARDS{true}{ + \Guard{grd1}{false}{$address \in{} ADDRESS$}{false}{} + \Guard{grd2}{false}{$address \notin{} dom(accounts)$}{false}{} + \Guard{grd31}{false}{$address = gateway\_address$}{true}{} + } + \ACTIONS{true}{ + \Action{act1}{$accounts \bcmeq{} accounts \bunion{} \{address \mapsto{} 0\}$}{false}{} + \Action{act31}{$wallet\_created \bcmeq{} 1$}{true}{} + } +} +\EVT{DEPOSIT\_CRYPTOCURRENCY\_IN\_ETHEREUM}{true}{ordinary}{DEPOSIT\_CRYPTOCURRENCY\_IN\_ETHEREUM}{\\Users (including the gateway) can deposit Ethers on their address (RQ3)}{ + \ANY{ + \Param{amount}{false}{} + \Param{address}{false}{} + } + \GUARDS{true}{ + \Guard{grd1}{false}{$amount > 0$}{false}{} + \Guard{grd2}{false}{$address \in{} dom(accounts)$}{false}{} + } + \ACTIONS{true}{ + \Action{act1}{$accounts(address) \bcmeq{} accounts(address) + amount$}{false}{} + \Action{act31}{$wallet\_amount \bcmeq{} accounts(address) + amount$}{true}{} + \Action{act32}{$submit\_cc\_tx \bcmeq{} 0$}{true}{} + } +} +\EVT{SUBMIT\_TRANSFER\_TRANSACTION\_IN\_ETHEREUM}{true}{ordinary}{SUBMIT\_TRANSFER\_TRANSACTION\_IN\_ETHEREUM}{\\The user can transfer an estimated fee to the gateways account (RQ1)}{ + \ANY{ + \Param{validator\_fee}{false}{} + \Param{user\_address}{false}{} + \Param{transfer\_amount}{false}{} + } + \GUARDS{true}{ + \Guard{grd1}{false}{$user\_address \in{} dom(accounts)$}{false}{\\The user has an account} + \Guard{grd2}{false}{$accounts(user\_address) \geq{} validator\_fee + transfer\_amount$}{false}{\\The user has enough balance to do the transfer and pay the validator's fee} + \Guard{grd3}{false}{$validator\_fee > 0$}{false}{} + \Guard{grd4}{false}{$transfer\_amount > 0$}{false}{} + \Guard{grd5}{false}{$gateway\_address \in{} dom(accounts)$}{false}{\\The gateway has an account} + \Guard{grd6}{false}{$(\{user\_address,gateway\_address\} \domsub{} accounts)\bunion{}\{gateway\_address \mapsto{} accounts(gateway\_address)+transfer\_amount\}\bunion{}\{user\_address \mapsto{} accounts(user\_address) - transfer\_amount - validator\_fee\}\in{}ADDRESS \pfun{} \nat{}$}{false}{} + } + \ACTIONS{true}{ + \Action{act1}{$\\accounts \bcmeq{} (\{user\_address, gateway\_address\} \domsub{} accounts) \bunion{}\\~ \{gateway\_address \mapsto{} accounts(gateway\_address) + transfer\_amount\} \bunion{}\\~ \{user\_address \mapsto{} accounts(user\_address) - transfer\_amount - validator\_fee\}$}{false}{\\Subtracts the transfer amount and fee from the user's account and add the transfer amount to the gateways account} + } +} +} +\END +\end{document} diff --git a/gateway-event-b/latex/CCTx_Fabric_Ethereum_m2.tex b/gateway-event-b/latex/CCTx_Fabric_Ethereum_m2.tex index f39ba4d..cf1fc80 100644 --- a/gateway-event-b/latex/CCTx_Fabric_Ethereum_m2.tex +++ b/gateway-event-b/latex/CCTx_Fabric_Ethereum_m2.tex @@ -4,24 +4,24 @@ \SingleHeader{CCTx\_Fabric\_Ethereum\_m2} \MACHINE{CCTx\_Fabric\_Ethereum\_m2}{CCTx\_Abstract\_DLT\_m1}{CCTx\_Fabric\_Ethereum\_c2}{} \VARIABLES{ - \Variable{received\_transactions}{} - \Variable{triggered\_events}{} + \Variable{received\_source\_transactions}{} + \Variable{emitted\_events}{} \Variable{subscriptions}{} - \Variable{gateway\_pending\_transactions}{} - \Variable{received\_cross\_chain\_transactions}{} + \Variable{gateway\_pending\_events}{} + \Variable{received\_target\_transactions}{} \Variable{accounts}{} } \INVARIANTS{ - \Invariant{inv11}{false}{$accounts \in{} ADDRESS \pfun{} \nat{}$}{\\The balance of each address must be equal or greater than zero (RQ4)} + \Invariant{inv11}{false}{$accounts \in{} ADDRESS \pfun{} \nat{}$}{\\The balance of each address must be equal or greater than zero (REQ4)} } \EVENTS{ \INITIALISATION{true}{}{ \ACTIONS{false}{ - \Action{act1}{$received\_transactions \bcmeq{} \emptyset{}$}{false}{} - \Action{act2}{$triggered\_events \bcmeq{} \emptyset{}$}{false}{} + \Action{act1}{$received\_source\_transactions \bcmeq{} \emptyset{}$}{false}{} + \Action{act2}{$emitted\_events \bcmeq{} \emptyset{}$}{false}{} \Action{act3}{$subscriptions \bcmeq{} \emptyset{}$}{false}{} - \Action{act4}{$gateway\_pending\_transactions \bcmeq{} \emptyset{}$}{false}{} - \Action{act6}{$received\_cross\_chain\_transactions \bcmeq{} \emptyset{}$}{false}{} + \Action{act4}{$gateway\_pending\_events \bcmeq{} \emptyset{}$}{false}{} + \Action{act6}{$received\_target\_transactions \bcmeq{} \emptyset{}$}{false}{} \Action{act11}{$accounts \bcmeq{} \emptyset{}$}{true}{} } } @@ -38,60 +38,62 @@ \Param{transaction}{false}{} } \GUARDS{true}{ - \Guard{grd1}{false}{$transaction \in{} TRANSACTIONS$}{false}{} - \Guard{grd3}{false}{$transaction \notin{} received\_transactions[\{source\_smart\_contract\}]$}{false}{\\The transaction was not received by the smart contract} + \Guard{grd1}{false}{$transaction \in{} SOURCE\_TRANSACTIONS$}{false}{} + \Guard{grd3}{false}{$transaction \notin{} received\_source\_transactions[\{source\_smart\_contract\}]$}{false}{\\The transaction was not received by the smart contract} } \ACTIONS{true}{ - \Action{act1}{$received\_transactions \bcmeq{} received\_transactions \bunion{} \{source\_smart\_contract \mapsto{} transaction\}$}{false}{\\Add the transaction to the received transactions of the smart contract} + \Action{act1}{$received\_source\_transactions \bcmeq{} received\_source\_transactions \bunion{} \{source\_smart\_contract \mapsto{} transaction\}$}{false}{\\Add the transaction to the received transactions of the smart contract} } } -\EVT{TRIGGER\_CC\_TX\_EVENT\_IN\_FABRIC}{true}{ordinary}{TRIGGER\_CC\_TX\_EVENT}{}{ +\EVT{EMIT\_EVENT\_IN\_FABRIC}{true}{ordinary}{EMIT\_EVENT}{}{ \ANY{ \Param{transaction}{false}{} - \Param{cross\_chain\_event}{false}{} + \Param{emitted\_event}{false}{} } \GUARDS{true}{ - \Guard{grd1}{false}{$source\_smart\_contract \mapsto{} transaction \in{} received\_transactions$}{false}{\\The smart contract has a pending transaction to process} - \Guard{grd2}{false}{$cross\_chain\_event \notin{} triggered\_events[\{source\_smart\_contract\}]$}{false}{\\The smart contract will always trigger a new event} + \Guard{grd1}{false}{$source\_smart\_contract \mapsto{} transaction \in{} received\_source\_transactions$}{false}{\\The smart contract has a pending transaction to process} + \Guard{grd2}{false}{$emitted\_event \notin{} emitted\_events[\{source\_smart\_contract\}]$}{false}{\\The smart contract will always emit a new event} } \ACTIONS{true}{ - \Action{act1}{$triggered\_events \bcmeq{} triggered\_events \bunion{} \{source\_smart\_contract \mapsto{} cross\_chain\_event\}$}{false}{\\The smart contract triggers a new event related to the transaction processing} - \Action{act2}{$received\_transactions \bcmeq{} received\_transactions \setminus{} \{source\_smart\_contract \mapsto{} transaction\}$}{false}{\\The smart contract processed the transaction} + \Action{act1}{$emitted\_events \bcmeq{} emitted\_events \bunion{} \{source\_smart\_contract \mapsto{} emitted\_event\}$}{false}{\\The smart contract emits a new event related to the transaction processing} + \Action{act2}{$received\_source\_transactions \bcmeq{} received\_source\_transactions \setminus{} \{source\_smart\_contract \mapsto{} transaction\}$}{false}{\\The smart contract processed the transaction} } } -\EVT{LISTEN\_CC\_TX\_EVENT\_IN\_FABRIC}{true}{ordinary}{LISTEN\_CC\_TX\_EVENT}{}{ +\EVT{LISTEN\_EVENT\_IN\_FABRIC}{true}{ordinary}{LISTEN\_EVENT}{}{ \ANY{ - \Param{cross\_chain\_event}{false}{} - \Param{cross\_chain\_transaction}{false}{} + \Param{emitted\_event}{false}{} + \Param{pending\_event}{false}{} } \GUARDS{true}{ - \Guard{grd1}{false}{$source\_smart\_contract \mapsto{} cross\_chain\_event \in{} triggered\_events$}{false}{\\The smart contract has triggered an event} + \Guard{grd1}{false}{$source\_smart\_contract \mapsto{} emitted\_event \in{} emitted\_events$}{false}{\\The smart contract has emitted an event} \Guard{grd2}{false}{$gateway \mapsto{} source\_smart\_contract \in{} subscriptions$}{false}{\\Exist a subscription to the smart contract events} - \Guard{grd3}{false}{$gateway \mapsto{} cross\_chain\_transaction \notin{} gateway\_pending\_transactions$}{false}{\\The event was not already listened} + \Guard{grd3}{false}{$gateway \mapsto{} pending\_event \notin{} gateway\_pending\_events$}{false}{\\The event was not already listened} } \ACTIONS{true}{ - \Action{act1}{$gateway\_pending\_transactions \bcmeq{} gateway\_pending\_transactions \bunion{} \{gateway \mapsto{} cross\_chain\_transaction\}$}{false}{\\The event is added to the cross-chain transactions to be processed by the gateway} - \Action{act2}{$triggered\_events \bcmeq{} triggered\_events \setminus{} \{source\_smart\_contract \mapsto{} cross\_chain\_event\}$}{false}{\\The event is removed from the pending events to listen} + \Action{act1}{$gateway\_pending\_events \bcmeq{} gateway\_pending\_events \bunion{} \{gateway \mapsto{} pending\_event\}$}{false}{\\The event is added to the pending events to be processed by the gateway} + \Action{act2}{$emitted\_events \bcmeq{} emitted\_events \setminus{} \{source\_smart\_contract \mapsto{} emitted\_event\}$}{false}{\\The event is removed from the pending events to listen} } } -\EVT{SUBMIT\_CC\_TX\_TO\_ETHEREUM}{true}{ordinary}{SUBMIT\_CC\_TX}{}{ +\EVT{SUBMIT\_TX\_TO\_ETHEREUM}{true}{ordinary}{SUBMIT\_TX}{}{ \ANY{ - \Param{cross\_chain\_transaction}{false}{} + \Param{pending\_event}{false}{} + \Param{transaction}{false}{} \Param{fee}{true}{} } \GUARDS{true}{ - \Guard{grd1}{false}{$gateway \mapsto{} cross\_chain\_transaction \in{} gateway\_pending\_transactions$}{false}{\\There is one pending cross-chain transaction to process} + \Guard{grd1}{false}{$gateway \mapsto{} pending\_event \in{} gateway\_pending\_events$}{false}{\\There is one pending event to be processed} + \Guard{grd2}{false}{$transaction \in{} TARGET\_TRANSACTIONS$}{false}{} \Guard{grd11}{false}{$gateway\_address \in{} dom(accounts)$}{true}{} - \Guard{grd12}{false}{$accounts(gateway\_address) \geq{} fee$}{true}{\\The gateway has enough balance to pay the validators fee (RQ5)} + \Guard{grd12}{false}{$accounts(gateway\_address) \geq{} fee$}{true}{\\The gateway has enough balance to pay the validators fee (REQ5)} \Guard{grd13}{false}{$fee > 0$}{true}{} } \ACTIONS{true}{ - \Action{act1}{$received\_cross\_chain\_transactions \bcmeq{} received\_cross\_chain\_transactions \bunion{} \{target\_smart\_contract \mapsto{} cross\_chain\_transaction\}$}{false}{\\The cross-chain transaction is received by the target smart contract} - \Action{act2}{$gateway\_pending\_transactions \bcmeq{} gateway\_pending\_transactions \setminus{} \{gateway \mapsto{} cross\_chain\_transaction\}$}{false}{\\Remove the cross-chain transaction to the pending transactions of the Gateway} - \Action{act11}{$accounts(gateway\_address) \bcmeq{} accounts(gateway\_address) - fee$}{true}{\\The fee is subtracted from the gateways account (RQ5)} + \Action{act1}{$received\_target\_transactions \bcmeq{} received\_target\_transactions \bunion{} \{target\_smart\_contract \mapsto{} transaction\}$}{false}{\\The transaction is received by the target smart contract} + \Action{act2}{$gateway\_pending\_events \bcmeq{} gateway\_pending\_events \setminus{} \{gateway \mapsto{} pending\_event\}$}{false}{\\Remove the event from the pending events of the gateway} + \Action{act11}{$accounts(gateway\_address) \bcmeq{} accounts(gateway\_address) - fee$}{true}{\\The fee is subtracted from the gateways account (REQ5)} } } -\EVT{CREATE\_ADDRESS\_IN\_ETHEREUM}{false}{ordinary}{}{\\Users can create their address on Ethereum (RQ1 and RQ2)}{ +\EVT{CREATE\_ADDRESS\_IN\_ETHEREUM}{false}{ordinary}{}{\\Users can create their address on Ethereum (REQ1 and REQ2)}{ \ANY{ \Param{address}{true}{} } @@ -103,7 +105,7 @@ \Action{act1}{$accounts \bcmeq{} accounts \bunion{} \{address \mapsto{} 0\}$}{true}{} } } -\EVT{DEPOSIT\_CRYPTOCURRENCY\_IN\_ETHEREUM}{false}{ordinary}{}{\\Users (including the gateway) can deposit Ethers on their address (RQ3)}{ +\EVT{DEPOSIT\_CRYPTOCURRENCY\_IN\_ETHEREUM}{false}{ordinary}{}{\\Users (including the gateway) can deposit Ethers on their address (REQ3)}{ \ANY{ \Param{amount}{true}{} \Param{address}{true}{} @@ -116,7 +118,7 @@ \Action{act1}{$accounts(address) \bcmeq{} accounts(address) + amount$}{true}{} } } -\EVT{SUBMIT\_TRANSFER\_TRANSACTION\_IN\_ETHEREUM}{false}{ordinary}{}{\\The user can transfer an estimated fee to the gateways account (RQ1)}{ +\EVT{SUBMIT\_TRANSFER\_TRANSACTION\_IN\_ETHEREUM}{false}{ordinary}{}{\\The user can transfer an estimated fee to the gateways account (REQ1)}{ \ANY{ \Param{validator\_fee}{true}{} \Param{user\_address}{true}{} diff --git a/gateway-event-b/latex/CCTx_Preserve_Balance_Gateway_m3.tex b/gateway-event-b/latex/CCTx_Preserve_Balance_Gateway_m3.tex index 90e79bf..87f52bf 100644 --- a/gateway-event-b/latex/CCTx_Preserve_Balance_Gateway_m3.tex +++ b/gateway-event-b/latex/CCTx_Preserve_Balance_Gateway_m3.tex @@ -4,11 +4,11 @@ \SingleHeader{CCTx\_Preserve\_Balance\_Gateway\_m3} \MACHINE{CCTx\_Preserve\_Balance\_Gateway\_m3}{CCTx\_Fabric\_Ethereum\_m2}{CCTx\_Fabric\_Ethereum\_c2}{} \VARIABLES{ - \Variable{received\_transactions}{} - \Variable{triggered\_events}{} + \Variable{received\_source\_transactions}{} + \Variable{emitted\_events}{} \Variable{subscriptions}{} - \Variable{gateway\_pending\_transactions}{} - \Variable{received\_cross\_chain\_transactions}{} + \Variable{gateway\_pending\_events}{} + \Variable{received\_target\_transactions}{} \Variable{accounts}{} \Variable{estimated\_cross\_chain\_cost}{} } @@ -16,51 +16,84 @@ \Invariant{inv31}{false}{$estimated\_cross\_chain\_cost \in{} \nat{}$}{} } \EVENTS{ -\EVT{TRIGGER\_CC\_TX\_EVENT\_IN\_FABRIC}{true}{ordinary}{TRIGGER\_CC\_TX\_EVENT\_IN\_FABRIC}{}{ +\INITIALISATION{true}{}{ + \ACTIONS{false}{ + \Action{act1}{$received\_source\_transactions \bcmeq{} \emptyset{}$}{false}{} + \Action{act2}{$emitted\_events \bcmeq{} \emptyset{}$}{false}{} + \Action{act3}{$subscriptions \bcmeq{} \emptyset{}$}{false}{} + \Action{act4}{$gateway\_pending\_events \bcmeq{} \emptyset{}$}{false}{} + \Action{act6}{$received\_target\_transactions \bcmeq{} \emptyset{}$}{false}{} + \Action{act11}{$accounts \bcmeq{} \emptyset{}$}{false}{} + \Action{act31}{$estimated\_cross\_chain\_cost \bcmeq{} 0$}{true}{} + } +} +\EVT{SUBSCRIBE\_SMART\_CONTRACT\_EVENTS\_IN\_FABRIC}{true}{ordinary}{SUBSCRIBE\_SMART\_CONTRACT\_EVENTS\_IN\_FABRIC}{}{ + \GUARDS{false}{ + \Guard{grd1}{false}{$gateway \mapsto{} source\_smart\_contract \notin{} subscriptions$}{false}{\\The gateway is not already subscribed to the smart contract events} + } + \ACTIONS{true}{ + \Action{act1}{$subscriptions \bcmeq{} subscriptions \bunion{} \{gateway \mapsto{} source\_smart\_contract\}$}{false}{\\The gateway is subscribed to listen to the smart contract events} + } +} +\EVT{INITIATE\_CC\_TX\_IN\_FABRIC}{true}{ordinary}{INITIATE\_CC\_TX\_IN\_FABRIC}{}{ + \ANY{ + \Param{transaction}{false}{} + } + \GUARDS{true}{ + \Guard{grd1}{false}{$transaction \in{} SOURCE\_TRANSACTIONS$}{false}{} + \Guard{grd3}{false}{$transaction \notin{} received\_source\_transactions[\{source\_smart\_contract\}]$}{false}{\\The transaction was not received by the smart contract} + } + \ACTIONS{true}{ + \Action{act1}{$received\_source\_transactions \bcmeq{} received\_source\_transactions \bunion{} \{source\_smart\_contract \mapsto{} transaction\}$}{false}{\\Add the transaction to the received transactions of the smart contract} + } +} +\EVT{EMIT\_EVENT\_IN\_FABRIC}{true}{ordinary}{EMIT\_EVENT\_IN\_FABRIC}{}{ \ANY{ \Param{transaction}{false}{} - \Param{cross\_chain\_event}{false}{} + \Param{emitted\_event}{false}{} } \GUARDS{true}{ - \Guard{grd1}{false}{$source\_smart\_contract \mapsto{} transaction \in{} received\_transactions$}{false}{\\The smart contract has a pending transaction to process} - \Guard{grd2}{false}{$cross\_chain\_event \notin{} triggered\_events[\{source\_smart\_contract\}]$}{false}{\\The smart contract will always trigger a new event} + \Guard{grd1}{false}{$source\_smart\_contract \mapsto{} transaction \in{} received\_source\_transactions$}{false}{\\The smart contract has a pending transaction to process} + \Guard{grd2}{false}{$emitted\_event \notin{} emitted\_events[\{source\_smart\_contract\}]$}{false}{\\The smart contract will always emit a new event} } \ACTIONS{true}{ - \Action{act1}{$triggered\_events \bcmeq{} triggered\_events \bunion{} \{source\_smart\_contract \mapsto{} cross\_chain\_event\}$}{false}{\\The smart contract triggers a new event related to the transaction processing} - \Action{act2}{$received\_transactions \bcmeq{} received\_transactions \setminus{} \{source\_smart\_contract \mapsto{} transaction\}$}{false}{\\The smart contract processed the transaction} + \Action{act1}{$emitted\_events \bcmeq{} emitted\_events \bunion{} \{source\_smart\_contract \mapsto{} emitted\_event\}$}{false}{\\The smart contract emits a new event related to the transaction processing} + \Action{act2}{$received\_source\_transactions \bcmeq{} received\_source\_transactions \setminus{} \{source\_smart\_contract \mapsto{} transaction\}$}{false}{\\The smart contract processed the transaction} } } -\EVT{LISTEN\_CC\_TX\_EVENT\_IN\_FABRIC}{true}{ordinary}{LISTEN\_CC\_TX\_EVENT\_IN\_FABRIC}{}{ +\EVT{LISTEN\_EVENT\_IN\_FABRIC}{true}{ordinary}{LISTEN\_EVENT\_IN\_FABRIC}{}{ \ANY{ - \Param{cross\_chain\_event}{false}{} - \Param{cross\_chain\_transaction}{false}{} + \Param{emitted\_event}{false}{} + \Param{pending\_event}{false}{} } \GUARDS{true}{ - \Guard{grd1}{false}{$source\_smart\_contract \mapsto{} cross\_chain\_event \in{} triggered\_events$}{false}{\\The smart contract has triggered an event} + \Guard{grd1}{false}{$source\_smart\_contract \mapsto{} emitted\_event \in{} emitted\_events$}{false}{\\The smart contract has emitted an event} \Guard{grd2}{false}{$gateway \mapsto{} source\_smart\_contract \in{} subscriptions$}{false}{\\Exist a subscription to the smart contract events} - \Guard{grd3}{false}{$gateway \mapsto{} cross\_chain\_transaction \notin{} gateway\_pending\_transactions$}{false}{\\The event was not already listened} + \Guard{grd3}{false}{$gateway \mapsto{} pending\_event \notin{} gateway\_pending\_events$}{false}{\\The event was not already listened} } \ACTIONS{true}{ - \Action{act1}{$gateway\_pending\_transactions \bcmeq{} gateway\_pending\_transactions \bunion{} \{gateway \mapsto{} cross\_chain\_transaction\}$}{false}{\\The event is added to the cross-chain transactions to be processed by the gateway} - \Action{act2}{$triggered\_events \bcmeq{} triggered\_events \setminus{} \{source\_smart\_contract \mapsto{} cross\_chain\_event\}$}{false}{\\The event is removed from the pending events to listen} + \Action{act1}{$gateway\_pending\_events \bcmeq{} gateway\_pending\_events \bunion{} \{gateway \mapsto{} pending\_event\}$}{false}{\\The event is added to the pending events to be processed by the gateway} + \Action{act2}{$emitted\_events \bcmeq{} emitted\_events \setminus{} \{source\_smart\_contract \mapsto{} emitted\_event\}$}{false}{\\The event is removed from the pending events to listen} } } -\EVT{SUBMIT\_CC\_TX\_TO\_ETHEREUM}{true}{ordinary}{SUBMIT\_CC\_TX\_TO\_ETHEREUM}{}{ +\EVT{SUBMIT\_TX\_TO\_ETHEREUM}{true}{ordinary}{SUBMIT\_TX\_TO\_ETHEREUM}{}{ \ANY{ - \Param{cross\_chain\_transaction}{false}{} + \Param{pending\_event}{false}{} + \Param{transaction}{false}{} \Param{fee}{false}{} } \GUARDS{true}{ - \Guard{grd1}{false}{$gateway \mapsto{} cross\_chain\_transaction \in{} gateway\_pending\_transactions$}{false}{\\There is one pending cross-chain transaction to process} + \Guard{grd1}{false}{$gateway \mapsto{} pending\_event \in{} gateway\_pending\_events$}{false}{\\There is one pending event to be processed} + \Guard{grd2}{false}{$transaction \in{} TARGET\_TRANSACTIONS$}{false}{} \Guard{grd11}{false}{$gateway\_address \in{} dom(accounts)$}{false}{} - \Guard{grd12}{false}{$accounts(gateway\_address) \geq{} fee$}{false}{\\The gateway has enough balance to pay the validators fee (RQ5)} + \Guard{grd12}{false}{$accounts(gateway\_address) \geq{} fee$}{false}{\\The gateway has enough balance to pay the validators fee (REQ5)} \Guard{grd13}{false}{$fee > 0$}{false}{} \Guard{grd31}{false}{$fee \leq{} estimated\_cross\_chain\_cost$}{true}{\\Check that the estimated fee is greater or equal to the validators fee (RQ2)} } \ACTIONS{true}{ - \Action{act1}{$received\_cross\_chain\_transactions \bcmeq{} received\_cross\_chain\_transactions \bunion{} \{target\_smart\_contract \mapsto{} cross\_chain\_transaction\}$}{false}{\\The cross-chain transaction is received by the target smart contract} - \Action{act2}{$gateway\_pending\_transactions \bcmeq{} gateway\_pending\_transactions \setminus{} \{gateway \mapsto{} cross\_chain\_transaction\}$}{false}{\\Remove the cross-chain transaction to the pending transactions of the Gateway} - \Action{act11}{$accounts(gateway\_address) \bcmeq{} accounts(gateway\_address) - fee$}{false}{\\The fee is subtracted from the gateways account (RQ5)} + \Action{act1}{$received\_target\_transactions \bcmeq{} received\_target\_transactions \bunion{} \{target\_smart\_contract \mapsto{} transaction\}$}{false}{\\The transaction is received by the target smart contract} + \Action{act2}{$gateway\_pending\_events \bcmeq{} gateway\_pending\_events \setminus{} \{gateway \mapsto{} pending\_event\}$}{false}{\\Remove the event from the pending events of the gateway} + \Action{act11}{$accounts(gateway\_address) \bcmeq{} accounts(gateway\_address) - fee$}{false}{\\The fee is subtracted from the gateways account (REQ5)} } } \EVT{CREATE\_ADDRESS\_IN\_ETHEREUM}{true}{ordinary}{CREATE\_ADDRESS\_IN\_ETHEREUM}{}{ @@ -108,37 +141,6 @@ \Action{act31}{$estimated\_cross\_chain\_cost \bcmeq{} transfer\_amount$}{true}{} } } -\INITIALISATION{true}{}{ - \ACTIONS{false}{ - \Action{act1}{$received\_transactions \bcmeq{} \emptyset{}$}{false}{} - \Action{act2}{$triggered\_events \bcmeq{} \emptyset{}$}{false}{} - \Action{act3}{$subscriptions \bcmeq{} \emptyset{}$}{false}{} - \Action{act4}{$gateway\_pending\_transactions \bcmeq{} \emptyset{}$}{false}{} - \Action{act6}{$received\_cross\_chain\_transactions \bcmeq{} \emptyset{}$}{false}{} - \Action{act11}{$accounts \bcmeq{} \emptyset{}$}{false}{} - \Action{act31}{$estimated\_cross\_chain\_cost \bcmeq{} 0$}{true}{} - } -} -\EVT{SUBSCRIBE\_SMART\_CONTRACT\_EVENTS\_IN\_FABRIC}{true}{ordinary}{SUBSCRIBE\_SMART\_CONTRACT\_EVENTS\_IN\_FABRIC}{}{ - \GUARDS{false}{ - \Guard{grd1}{false}{$gateway \mapsto{} source\_smart\_contract \notin{} subscriptions$}{false}{\\The gateway is not already subscribed to the smart contract events} - } - \ACTIONS{true}{ - \Action{act1}{$subscriptions \bcmeq{} subscriptions \bunion{} \{gateway \mapsto{} source\_smart\_contract\}$}{false}{\\The gateway is subscribed to listen to the smart contract events} - } -} -\EVT{INITIATE\_CC\_TX\_IN\_FABRIC}{true}{ordinary}{INITIATE\_CC\_TX\_IN\_FABRIC}{}{ - \ANY{ - \Param{transaction}{false}{} - } - \GUARDS{true}{ - \Guard{grd1}{false}{$transaction \in{} TRANSACTIONS$}{false}{} - \Guard{grd3}{false}{$transaction \notin{} received\_transactions[\{source\_smart\_contract\}]$}{false}{\\The transaction was not received by the smart contract} - } - \ACTIONS{true}{ - \Action{act1}{$received\_transactions \bcmeq{} received\_transactions \bunion{} \{source\_smart\_contract \mapsto{} transaction\}$}{false}{\\Add the transaction to the received transactions of the smart contract} - } -} } \END \end{document} diff --git a/gateway-event-b/latex/b2latex.sty b/gateway-event-b/latex/b2latex.sty deleted file mode 100644 index 7fa289c..0000000 --- a/gateway-event-b/latex/b2latex.sty +++ /dev/null @@ -1,282 +0,0 @@ -%---------------------------------------------------------------------------- -% This is b2latex.sty, generated by B2Latex plugin on Rodin -% Author: K. DAMCHOOM, kd06r@ecs.soton.ac.uk -% Copyright(c) 2008 - 2012 University of Southampton and others. -%---------------------------------------------------------------------------- -% This style is required for all latex files generated by the -% B2Latex plugin 0.7.x. It can be modified for your own style. -% Internal commands, which are not contained in the generated -% latex document, are marked by the character '@' in the name. -%---------------------------------------------------------------------------- - -\usepackage[top=2.5cm, bottom=2.0cm, left=2.5cm, right=2.5cm]{geometry} -\usepackage[utf8]{inputenc} -\usepackage[ddmmyyyy]{datetime} -\usepackage{fancyhdr,lastpage,color} - -\definecolor{keycolor}{rgb}{0,0,0.8} % Keywords, blue -\definecolor{labelcolor}{rgb}{0,0.4,0.8} % Labels, cyan -\definecolor{codecolor}{rgb}{0,0,0} % Formulas, black -\definecolor{inhcolor}{rgb}{0.6,0.2,0} % Inherited formulas, maroon -\definecolor{cmtcolor}{rgb}{0,0.4,0} % Comments, green - -\renewcommand{\chaptername}{} -\renewcommand{\thechapter}{} -\renewcommand{\dateseparator}{.} - -% Reduce space between paras -\newcommand{\paraSpc@} {\hspace*{\fill} \setlength{\parskip}{-2pt}} -% Reduce space between para items -\newcommand{\itemSpc@} {\setlength{\itemsep}{-0pt}} - -% Keywords -\newcommand{\key@}[1]{\textcolor{keycolor}{#1}} -% Labels -\newcommand{\lbl@}[1]{\textcolor{labelcolor}{\small{\texttt{#1}}}} -% Formulas -\newcommand{\code@}[1]{\textcolor{codecolor}{\small{#1}}} -% Inherited formulas -\newcommand{\inh@}[1]{\textcolor{inhcolor}{\small{#1}}} -% Comments -\newcommand{\cmt@}[1]{\textcolor{cmtcolor}{\small{#1}}} -% Modifiers (inline keywords) -\newcommand{\mod@}[1]{\key@{\small{$\langle$#1$\rangle$}}} - -% Optional comment -\newcommand{\cmtOpt@}[1]{\ifthenelse{\equal{#1}{}}{}{\cmt@{#1}}} -% Alternate keyword -\newcommand{\keyAlt@}[3]{\ifthenelse{\boolean{#1}}{\key@{#2}}{\key@{#3}}} -% Optional modifier -\newcommand{\modOpt@}[2]{\ifthenelse{\boolean{#1}}{\mod@{#2}}{}} -% Code or inherited code -\newcommand{\codeInh@}[2]{\ifthenelse{\boolean{#1}}{\code@{#2}}{\inh@{\textit{#2}}}} - -%---------------------------------------------------------------------------- - -% Common header definition -\newcommand{\Header@}{ - \lfoot{\today~\currenttime} - \cfoot{} - \rfoot{\rm Page \thepage~of \pageref{LastPage}} - \pagestyle{fancy} -} - -% Header used if a single context or machine is exported -% #1: Context / Machine name -\newcommand{\SingleHeader}[1]{ - \Header@{} - \lhead{} - \chead{An Event-B Specification of #1} - \rhead{} -} - -% Title page used if a whole project is exported -% #1: Project name -\newcommand{\MultiTitle}[1]{ - \Header@{} - \lhead{An Event-B Specification of #1} - \chead{} - \rhead{} - \fancypagestyle{plain}{} - \tableofcontents -} - -% Subheader for each component if a whole project is exported -% #1: Component type (CONTEXT / MACHINE); #2: Component name -\newcommand{\MultiHeader}[2]{ - \newpage{} - \rhead{\texttt{#1} #2} - \addcontentsline{toc}{chapter}{\texttt{#1} #2} -} - -%---------------------------------------------------------------------------- -% Special commands for CONTEXT -%---------------------------------------------------------------------------- - -% #1: Context name; #2: Extended contexts (optional); #3: Comment (optional) -\newcommand{\CONTEXT}[3]{ - \begin{description} - \item[\key@{CONTEXT}] #1 \cmtOpt@{#3} \paraSpc@ - \ifthenelse{\equal{#2}{}}{}{ - \item[\key@{EXTENDS}] #2 \paraSpc@ - } -} -% Alternative compact display: -%\newcommand{\CONTEXT}[3]{ -% \begin{description} -% \item[\key@{CONTEXT}] #1 -% \ifthenelse{\equal{#2}{}}{}{\key@{EXTENDS} #2} -% \cmtOpt@{#3} -% \paraSpc@ -%} - -% #1: Sets definitions -\newcommand{\SETS}[1]{ - \item[\key@{SETS}] \paraSpc@ - \begin{description} #1 \end{description} -} - -% #1: Identifier; #2: Comment (optional) -\newcommand{\Set}[2]{ - \item \code@{#1} \cmtOpt@{#2} \itemSpc@ -} - -% #1: Constants definitions -\newcommand{\CONSTANTS}[1]{ - \item[\key@{CONSTANTS}] \paraSpc@ - \begin{description} #1 \end{description} -} - -% #1: Identifier; #2: Comment (optional) -\newcommand{\Constant}[2]{ - \item \code@{#1} \cmtOpt@{#2} \itemSpc@ -} - -% #1: Axioms definitions -\newcommand{\AXIOMS}[1]{ - \item[\key@{AXIOMS}] \paraSpc@ - \begin{description} #1 \end{description} -} - -% #1: Label; #2: true if theorem; #3: Predicate; #4: Comment (optional) -\newcommand{\Axiom}[4]{ - \item \lbl@{#1}: \modOpt@{#2}{theorem} \code@{#3} \cmtOpt@{#4} \itemSpc@ -} - -%---------------------------------------------------------------------------- -% Special commands for MACHINE -%---------------------------------------------------------------------------- - -% #1: Machine name; #2: Refined machines (optional); -% #3: Seen contexts (optional); #4: Comment (optional) -\newcommand{\MACHINE}[4]{ - \begin{description} - \item[\key@{MACHINE}] #1 \cmtOpt@{#4} \paraSpc@ - \ifthenelse{\equal{#2}{}}{}{ - \item[\key@{REFINES}] #2 \paraSpc@ - } - \ifthenelse{\equal{#3}{}}{}{ - \item[\key@{SEES}] #3 \paraSpc@ - } -} - -% #1: variables definitions -\newcommand{\VARIABLES}[1]{ - \item[\key@{VARIABLES}] \paraSpc@ - \begin{description} #1 \end{description} -} - -% #1: Identifier; #2: Comment (optional) -\newcommand{\Variable}[2]{ - \item \code@{#1} \cmtOpt@{#2} \itemSpc@ -} - -% #1: Invariants definitions -\newcommand{\INVARIANTS}[1]{ - \item[\key@{INVARIANTS}] \paraSpc@ - \begin{description} #1 \end{description} -} - -% #1: Label; #2: true if theorem; #3: Predicate; #4: Comment (optional) -\newcommand{\Invariant}[4]{ - \item \lbl@{#1}: \modOpt@{#2}{theorem} \code@{#3} \cmtOpt@{#4} \itemSpc@ -} - -% #1: Variants definitions -\newcommand{\VARIANT}[1]{ - \item[\key@{VARIANT}] \paraSpc@ - \begin{description} #1 \end{description} -} - -% #1: Expression; #2: Comment (optional) -\newcommand{\Variant}[2]{ - \item \code@{#1} \cmtOpt@{#2} \itemSpc@ -} - -\newcommand{\EVENTS}{ - \item[\key@{EVENTS}] \paraSpc@ -} - -% #1: true if extended; #2: Comment (optional); #3: Event content -\newcommand{\INITIALISATION}[3]{ - \item[\key@{Initialisation}] \modOpt@{#1}{extended} \cmtOpt@{#2} \paraSpc@ - \begin{description} #3 \end{description} -} - -% #1: Event name; #2: true if extended; #3 convergence; -% #4: Refined events (optional); #5: Comment (optional); #6: Event content -\newcommand{\EVT}[6]{ - \item[\key@{Event}] #1 -% deactivate above line and activate line below to display only event name -% \item[\key@{#1}] - \mod@{#3} $\defi$ \cmtOpt@{#5} \paraSpc@ - \ifthenelse{\equal{#4}{}}{}{ - \item[\keyAlt@{#2}{extends}{refines}] #4 \paraSpc@ - } - \begin{description} #6 \end{description} -} - -% #1: Parameters definitions -\newcommand{\ANY}[1]{ - \item[\key@{any}] \paraSpc@ \itemSpc@ - \begin{description} #1 \end{description} -} - -% #1: Identifier; #2: true if own, false if inherited; #3: Comment (optional) -\newcommand{\Param}[3]{ - \item \codeInh@{#2}{#1} \cmtOpt@{#3} \itemSpc@ -} - -%1: true if the event has parameters; #2: Guards definitions -\newcommand{\GUARDS}[2]{ - \item[\keyAlt@{#1}{where}{when}] \paraSpc@ \itemSpc@ - \begin{description} #2 \end{description} -} - -% #1: Label; #2: true if theorem; #3: Predicate; -% #4: true if own, false if inherited; #5: Comment (optional) -\newcommand{\Guard}[5]{ - \item \lbl@{#1}: \modOpt@{#2}{theorem} \codeInh@{#4}{#3} \cmtOpt@{#5} \itemSpc@ -} - -% #1: Witnesses definitions -\newcommand{\WITNESSES}[1]{ - \item[\key@{with}] \paraSpc@ \itemSpc@ - \begin{description} #1 \end{description} -} - -% #1: Label; #3: Predicate; #3: Comment (optional) -\newcommand{\Witness}[3]{ - \item \lbl@{#1}: \code@{#2} \cmtOpt@{#3} \itemSpc@ -} - -%1: true if the event has guards; #2: Actions definitions -\newcommand{\ACTIONS}[2]{ - \item[\keyAlt@{#1}{then}{begin}] \paraSpc@ \itemSpc@ - \begin{description} #2 \end{description} - \item[\key@{end}] \paraSpc@ -} - -% #1: Label; #2: Predicate; #3: true if own, false if inherited; #4: Comment (optional) -\newcommand{\Action}[4]{ - \item \lbl@{#1}: \codeInh@{#3}{#2} \cmtOpt@{#4} \itemSpc@ -} - -% Skip action -\newcommand{\Skip}{ - \item \key@{\textit{skip}} \itemSpc@ -} - -%---------------------------------------------------------------------------- -% General commands for both CONTEXT and MACHINE -%---------------------------------------------------------------------------- - -% End of MACHINE or CONTEXT -\newcommand{\END}{ - \item[\key@{END}] \hspace*{\fill} \end{description} -} - -% Missing in bsymb.sty version 1.9 -\newcommand{\converse}{^{-1}} - -%---------------------------------------------------------------------------- \ No newline at end of file -- GitLab