mirror of
https://gitlab.com/fabinfra/fabaccess/docs.git
synced 2024-12-22 12:03:48 +01:00
Init Concepts
This commit is contained in:
parent
2c7bbcf0b2
commit
578be5a47c
16
source/concepts/claims.md
Normal file
16
source/concepts/claims.md
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
# Claims
|
||||||
|
Ein Claim ist eine Zugang zu einer Resource um deren dynamischen Zustand zu ändern. Claims können dabei auch von mehreren Nutzern gleichzeitig erhalten werden.
|
||||||
|
Claims enthalten Traits, welche eine Liste an Methoden ist, um den Zustand einer Resource zu ändern.
|
||||||
|
Um einen Claim auf eine Resource zu erhalten kann man entweder ein Claim der Resource selber beziehen oder sich auf eine Liste mit einem Interest eintragen, welche als Queue abgearbeitet wird, sobald eine Resource disowned wird.
|
||||||
|
|
||||||
|
Ein Interest bildet das Anmeleden eines Interesses an einer Resource beim Server an. Ein Interest ist hierbei verbindlich, sollte also ein Nutzer ein Interest auf eine Resource haben, dann wird ihm diese auch automatisch gegeben, sobald die Resource keinen Claim mehr hat.
|
||||||
|
|
||||||
|
Um den Zustand einer Resource abzufragen kann auf eine Resource ein Notify geholt werden. Dieses Notify gibt den Zustand einer Resource zurück, also auch eine Möglichkeit auf einen Zustand zu einer Resource zu subscriben und Updates zu einer Änderung zu erhalten.
|
||||||
|
|
||||||
|
Mit Claims sollen die verschienden Eigenschaften einer Resource abgebildet werden ohne, dass der Server das Konzept des Verleihens jedes mal neu Implementieren muss.
|
||||||
|
|
||||||
|
Eine weitere Möglichkeit einen Claim zu erhalten ist über ein Transfer eines Claims. Hierbei holt sich der erste Nutzer ein Token, über transfer(), welches er per QR-Code oder NFC an einen zweiten Nutzer weitergibt. Dieser kann dann den Claim übernehmen, wenn er das Token beim Server einlöst. Dabei ist zu beachten, dass der übernehmende Nuter auch über die Berechtigung verfügen muss die Resource leihen zu dürfen.
|
||||||
|
|
||||||
|
Die letzte Möglichkeit einen Claim zu erhalten ist in dem ein Ausbilder lend() auf dem Claim aufruft und ein Token erhält, welches er einer Auszubildenen übergibt. Dieser kann dann auch die Maschine nutzen, wenn er nicht die erforderliche Berechtigung hat. Dabei erhält nach erfolgreicher einlösung des Tokens der Ausbilder einen Interest, mit welchem er den Claim zurückfordern kann. Dieses Konzept kann recursiv angewendet werden. Bei einem Lend bleibt der übergeber des Tokens in Verantwortung, im gegensatz zum Transfer, in dem er die Verantwortung abgibt.
|
||||||
|
|
||||||
|
# TODO
|
13
source/concepts/concepts.rst
Normal file
13
source/concepts/concepts.rst
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
Concepts of FabAccess
|
||||||
|
=================
|
||||||
|
|
||||||
|
FabAccess nutzt mehrer Konzept um den Process des Verleihens nutzbar zu machen. Und an den benötigten Stellen Freiheiten zugeben, um Anpassungen vornehmen zu können.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
claims.md
|
||||||
|
traits.md
|
||||||
|
measurements.md
|
||||||
|
projects.md
|
||||||
|
terminals.md
|
2
source/concepts/measurements.md
Normal file
2
source/concepts/measurements.md
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
# Measurements
|
||||||
|
Messwerte von Resourcen
|
2
source/concepts/projects.md
Normal file
2
source/concepts/projects.md
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
# Projects
|
||||||
|
Claims mit einem Verweis auf Projekte beim Leihen von Resourcen
|
2
source/concepts/terminals.md
Normal file
2
source/concepts/terminals.md
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
# Terminals
|
||||||
|
Eingeschränkte Nutzung von Resourcen bei Ausleih Terminals
|
18
source/concepts/traits/checkable.md
Normal file
18
source/concepts/traits/checkable.md
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
# Checkable
|
||||||
|
Trait welcher den Zustand von Resourcen abbildet, welche eine Überprüfung nach einer Nutzung benötigen.
|
||||||
|
|
||||||
|
## OID
|
||||||
|
`1.3.6.1.4.1.61783.612.1.3`
|
||||||
|
|
||||||
|
## States
|
||||||
|
```mermaid
|
||||||
|
stateDiagram
|
||||||
|
[*] --> FREE
|
||||||
|
FREE --> INUSE: use
|
||||||
|
INUSE --> CHECK: giveback
|
||||||
|
CHECK --> FREE: accept
|
||||||
|
CHECK --> REJECTED: reject
|
||||||
|
REJECTED --> INUSE: use
|
||||||
|
REJECTED --> CHECK: giveback
|
||||||
|
REJECTED --> FREE: accept
|
||||||
|
```
|
5
source/concepts/traits/claimable.md
Normal file
5
source/concepts/traits/claimable.md
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
# Claimable
|
||||||
|
Sonderfall um den Status des Claims anbieten zu können.
|
||||||
|
|
||||||
|
## OID
|
||||||
|
`1.3.6.1.4.1.61783.612.1.0`
|
16
source/concepts/traits/doorable.md
Normal file
16
source/concepts/traits/doorable.md
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
# Doorable
|
||||||
|
Grundlegender Traits zum Ansteuern von Türen.
|
||||||
|
|
||||||
|
## OID
|
||||||
|
`1.3.6.1.4.1.61783.612.1.2`
|
||||||
|
|
||||||
|
## States
|
||||||
|
```mermaid
|
||||||
|
stateDiagram
|
||||||
|
[*] --> CLOSED
|
||||||
|
CLOSED --> OPEN: unlock
|
||||||
|
OPEN --> CLOSED: lock
|
||||||
|
CLOSED --> tempOPEN: unlocktemp
|
||||||
|
tempOPEN --> OPEN: unlock
|
||||||
|
tempOPEN --> CLOSED
|
||||||
|
```
|
15
source/concepts/traits/locatable.md
Normal file
15
source/concepts/traits/locatable.md
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
# Locatable
|
||||||
|
Grundlegender Trait zum Auffinden von Resourcen
|
||||||
|
|
||||||
|
## OID
|
||||||
|
`1.3.6.1.4.1.61783.612.1.5`
|
||||||
|
|
||||||
|
## States
|
||||||
|
```mermaid
|
||||||
|
stateDiagram
|
||||||
|
[*] --> IDLE
|
||||||
|
IDLE --> ACTIVE: setActive
|
||||||
|
IDLE --> ACTIVE: identify
|
||||||
|
ACTIVE --> IDLE: setIdle
|
||||||
|
ACTIVE --> IDLE
|
||||||
|
```
|
16
source/concepts/traits/lockable.md
Normal file
16
source/concepts/traits/lockable.md
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
# Lockers
|
||||||
|
Traits zum Abbilden von Schlössern
|
||||||
|
|
||||||
|
## OID
|
||||||
|
`1.3.6.1.4.1.61783.612.1.4`
|
||||||
|
|
||||||
|
## States
|
||||||
|
```mermaid
|
||||||
|
stateDiagram
|
||||||
|
[*] --> locked
|
||||||
|
locked --> unlocked: unengage
|
||||||
|
unlocked --> locked
|
||||||
|
unlocked --> open
|
||||||
|
open --> unengaged
|
||||||
|
unengaged --> locked: engage
|
||||||
|
unengaged --> open
|
13
source/concepts/traits/powerable.md
Normal file
13
source/concepts/traits/powerable.md
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
# Powerable
|
||||||
|
Grundlegender Trait, welcher Resourcen einschalten kann.
|
||||||
|
|
||||||
|
## OID
|
||||||
|
`1.3.6.1.4.1.61783.612.1.1`
|
||||||
|
|
||||||
|
## States
|
||||||
|
```mermaid
|
||||||
|
stateDiagram
|
||||||
|
[*] --> OFF
|
||||||
|
OFF --> ON: turnON
|
||||||
|
ON --> OFF: turnOFF
|
||||||
|
```
|
17
source/concepts/traits/traits.rst
Normal file
17
source/concepts/traits/traits.rst
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
Traits
|
||||||
|
=================
|
||||||
|
|
||||||
|
Traits sind Implementierung speziell für eine Eigenschaft einer Resource.
|
||||||
|
Mit einem Traits können Zustände auf einer Resource geändert werden.
|
||||||
|
|
||||||
|
TODO
|
||||||
|
=====
|
||||||
|
Es kann mehrere Traits pro Resource gebenb
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
claimable.md
|
||||||
|
powerable.md
|
||||||
|
doorable.md
|
||||||
|
lockable.md
|
||||||
|
checkable.md
|
||||||
|
locatable.md
|
@ -19,3 +19,4 @@ We will inform you about breaking changes over our Zulip. Please subscript to it
|
|||||||
installation/installation.rst
|
installation/installation.rst
|
||||||
configuration/configuration.rst
|
configuration/configuration.rst
|
||||||
usage/usage.rst
|
usage/usage.rst
|
||||||
|
concepts/concepts.rst
|
||||||
|
Loading…
Reference in New Issue
Block a user