From 8f028c76f0af23c008d13c0cca5cb2bb3aceac8f Mon Sep 17 00:00:00 2001 From: Marco Realacci Date: Mon, 31 Mar 2025 08:30:43 +0200 Subject: [PATCH] vault backup: 2025-03-31 08:30:43 --- Concurrent Systems/notes/9 - Universal Object.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/Concurrent Systems/notes/9 - Universal Object.md b/Concurrent Systems/notes/9 - Universal Object.md index a2a80f4..4061611 100644 --- a/Concurrent Systems/notes/9 - Universal Object.md +++ b/Concurrent Systems/notes/9 - Universal Object.md @@ -8,4 +8,12 @@ But what is the **type** of an object? We focus on types whose operations are: - **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. \ No newline at end of file +- **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) \ No newline at end of file