vault backup: 2025-03-31 08:30:43

This commit is contained in:
Marco Realacci 2025-03-31 08:30:43 +02:00
parent 1f7f6b76bf
commit 8f028c76f0

View file

@ -8,4 +8,12 @@ But what is the **type** of an object?
We focus on types whose operations are: We focus on types whose operations are:
- **Total:** all operations can be invoked in any state of the object - **Total:** all operations can be invoked in any state of the object
- **Sequentially specified:** given the initial state, the behavior depends only by the sequence of operations, where the output to every operation invocation only depends on the input arguments and the invocations preceding it. - **Sequentially specified:** given the initial state, the behavior depends only by the sequence of operations, where the output to every operation invocation only depends on the input arguments and the invocations preceding it
- formally, $𝛿(s, op(args)) = {⟨s1,res1⟩,…, ⟨sk,resk⟩}$
- it is *deterministic* whenever k=1, for every s and every op(args)
- è deterministica quando dato uno stato e dato un'operazione, posso raggiungere solo uno stato (se raffigurato come grafo, ci sarebbe un solo arco)
- ricorda un po' gli automi o le Turing Machine
An object of type $T_{U}$ is **universal** if every other object can be wait-free implemented using only objects of type $T_U$ and atomic R/W registers.
This object is a **consensus object**: a *one-shot object* (every process c)