From 008c3a1af7ee909a5f0d2671efd556d94045b10d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=98yvind=20Skaaden?= Date: Wed, 5 May 2021 20:40:26 +0200 Subject: [PATCH] Finish day 2 --- ntnu/21v/ttk4145/summary/summary.md | 33 ++++++++++++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/ntnu/21v/ttk4145/summary/summary.md b/ntnu/21v/ttk4145/summary/summary.md index f19c7a2..3ca64fc 100644 --- a/ntnu/21v/ttk4145/summary/summary.md +++ b/ntnu/21v/ttk4145/summary/summary.md @@ -155,4 +155,35 @@ Find the failure modes: What could go wrong? **Step 3: Handling with redundancy** * Timeout -* Retransmit message \ No newline at end of file +* Retransmit message + +#### Example with processes and caculations + +A calculation is an abstract, so how can we talk generally about the failure modes. + +**Step 1: Failure modes** + +One failure mode + +**Step 2: Detect, simplify, inject errors** + +All failed acceptance tests will "PANIC" or "STOP". + +**Step 3: Handling with redundancy** + +There are three solutions: + +1. Checkpoint restart + * Do all the work incuding the acceptance test + * Wait with the "side effects" + * Store a checkpoint + * Do the "side effects" +2. Process pairs + * Crash and let an another process take over +3. Presistent processes + + +## Transactions + +A transaction is a design framework for Damage Confinement and Error Recovery. +