Finish wideo 04

bootstrap5
Øyvind Skaaden 2021-05-05 13:56:04 +02:00
parent 749c2a4e16
commit f2542ecc1a
1 changed files with 49 additions and 1 deletions

View File

@ -107,4 +107,52 @@ To test how the systems responds for a unknown error is to insert a failed accep
* Go with default if no messages have been received
* The acceptancetest must be good.
### Fault model
#### Example with storage functions.
**Step 1: Failure modes**
Find the failure modes: What could go wrong?
* **Write**: May return "I failed". Does not know why it faield
* **Read**: May return "I failed". Does not know why it failed.
**Step 2: Detect, Simplify, Inject errors**
* Write information on where/what/how the process is doing.
* All errors --> Fail
* Inject errors
**Step 3: Handling with redundancy**
* Have multiple copies of the the information
* Use only the newest
#### Example with communication function
**Step 1: Failure modes**
* Message
* Lost
* Delayed
* Corrupted
* DUplicated
* Wrong recipient
**Step 2: Detection, Merging of errormodes and error injection**
* Adding information to message
* Checksum
* Session ID
* Sequence number
* Adding "ack" on well recieved messages
* All errors will be treaded as "Lost message"
* Injection
* Occasionally throw away some messages
**Step 3: Handling with redundancy**
* Timeout
* Retransmit message