Finish wideo 04
parent
749c2a4e16
commit
f2542ecc1a
|
@ -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
|
* Go with default if no messages have been received
|
||||||
* The acceptancetest must be good.
|
* 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
|
Loading…
Reference in New Issue