Added: Concepts

This commit is contained in:
TheJoKlLa 2024-05-13 15:48:50 +02:00
parent 4c378a3a3b
commit 627873554f
22 changed files with 202 additions and 2 deletions

View File

@ -0,0 +1,22 @@
# Claims
Das Claim Konzept dienen als Abstraktion des Verleihens einer Ressource in FabAccess. Ihr Hauptzweck besteht darin, die Möglichkeiten zu verwalten, wie Benutzer Zugriff auf eine Ressource erhalten und diesen Zugriff untereinander teilen können.
## Claim
Ein "Claim" in FabAccess repräsentiert den gewährten Zugriff auf eine Ressource.
Die Flexibilität von Claims ermöglicht es, verschiedene Szenarien des Ressourcenzugriffs effektiv zu unterstützen. Zum Beispiel können mehrere Benutzer gleichzeitig einen Claim für eine Ressource erhalten, was besonders in Umgebungen mit kollaborativem Arbeiten von Vorteil ist. Darüber hinaus bietet die Möglichkeit, sich in eine Warteschlange mit einem Interest einzutragen, eine praktische Lösung für Situationen, in denen die Verfügbarkeit einer Ressource begrenzt ist und Benutzer darauf warten müssen, darauf zugreifen zu können.
Ein weiterer wichtiger Aspekt von Claims ist ihre Fähigkeit, Ressourcen zwischen Benutzern zu transferieren oder auszuleihen. Diese Funktionen ermöglichen eine flexible Nutzung der Ressourcen und fördern die Zusammenarbeit zwischen den Benutzern. Zum Beispiel kann ein Benutzer, der eine Ressource nicht mehr benötigt, diese einem anderen Benutzer übertragen, der sie gerade benötigt, oder ein Ausbilder kann einem Auszubildenden vorübergehend Zugriff auf eine Ressource gewähren, um bestimmte Fähigkeiten zu erlernen.
## Interest
Ein wichtiger Bestandteil des Claims-Konzepts sind "Interest", die Reservierungen abbilden, die entweder zeitbasiert oder auf einer Warteschlange basieren können. Diese Interessen bieten den Benutzern die Möglichkeit, einen zukünftigen Zugriff auf eine Ressource zu sichern, entweder basierend auf einer vordefinierten Zeit oder in der Reihenfolge des Eintritts in die Warteschlange.
Mit einem Interest signalisiert der Nutzer dem System sein Interesse an einer bestimmten Ressource. Bei der nächsten Gelegenheit erhält der Nutzer entweder einen Claim auf die Ressource oder hat die Möglichkeit, seinen Interest auf einen Claim zu aktualisieren. Diese Flexibilität ermöglicht es den Benutzern, ihre Bedürfnisse anzupassen und auf Änderungen in der Verfügbarkeit der Ressourcen zu reagieren.
## Notify
Das letzte Element des Claim-Konzepts ist der "Notify". Durch den Notify können Nutzer den Status einer Ressource einsehen und sich über Änderungen benachrichtigen lassen.
Der Notify ermöglicht es Benutzern, den aktuellen Zustand einer Ressource abzurufen und bei Bedarf auf Änderungen zu reagieren. Dies bietet eine wichtige Möglichkeit, den Zustand von Ressourcen zu überwachen und zeitnah auf relevante Ereignisse zu reagieren.
Durch die Möglichkeit, sich für Benachrichtigungen über Zustandsänderungen zu registrieren, können Benutzer effektiv mit den Ressourcen interagieren und sicherstellen, dass sie stets über wichtige Entwicklungen informiert sind.

View File

@ -0,0 +1,21 @@
# Claims
The claim concept serves as an abstraction for allocating a resource in FabAccess. Its primary purpose is to manage the methods by which users gain access to a resource and share that access among themselves.
## Claim
A "claim" in FabAccess represents the granted access to a resource.
The flexibility of claims enables effective support for various scenarios of resource access. For instance, multiple users can simultaneously claim access to a resource, which is particularly advantageous in collaborative working environments. Additionally, the ability to register in a queue with an interest provides a practical solution for situations where resource availability is limited, and users must wait to access it.
Another significant aspect of claims is their capability to transfer or lend resources between users. These functionalities facilitate a flexible utilization of resources and foster collaboration among users. For example, a user who no longer requires a resource can transfer it to another user in need, or an instructor can temporarily grant access to a resource to a trainee to acquire specific skills.
## Interest
An integral part of the claim concept is "interest," which represents reservations that can be either time-based or queue-based. These interests allow users to secure future access to a resource, either based on a predefined time or in the order of entry into the queue.
With an interest, the user signals their interest in a particular resource to the system. At the next opportunity, the user either receives a claim to the resource or has the option to upgrade their interest to a claim. This flexibility enables users to adapt to their needs and respond to changes in resource availability.
## Notify
The final element of the claim concept is the "notify." Through the notify, users can view the status of a resource and receive notifications about changes.
The notify allows users to retrieve the current state of a resource and respond to changes as needed. This provides an essential means of monitoring resource status and reacting promptly to relevant events.
By registering for notifications of state changes, users can effectively interact with resources and ensure they are informed about important developments at all times.

View File

@ -0,0 +1,2 @@
# Konzepte
Die Anforderungen an FabAccess sind im Laufe der Jahre rasant gewachsen. Ursprünglich sollte nur eine Drehbank mit Strom versorgt werden, nun können jedoch auch Türen oder Schließfächer verwaltet werden. Um diesen vielfältigen Anforderungen gerecht zu werden, haben wir einige Konzepte erarbeitet, mit denen wir den Prozess zum Freischalten dieser Ressourcen vereinheitlichen und für alle verfügbar machen wollen.

View File

@ -0,0 +1,2 @@
# Concepts
FabAccess utilizes several key concepts to facilitate the process of resource allocation and provide flexibility where needed to accommodate customization.

View File

@ -0,0 +1,6 @@
# Measurements
Durch "Measurements" in FabAccess werden Daten von Ressourcen gesammelt, um deren Leistung und Nutzung zu erfassen. Das Ziel ist es, dass FabAccess diese Messwerte sammelt und an die Nutzer weitergibt.
Die Funktion Measurements ermöglicht es FabAccess, wichtige Daten über die Nutzung von Ressourcen zu erfassen und den Nutzern zur Verfügung zu stellen. Dies umfasst Informationen wie Betriebsstunden, Auslastung und andere Leistungsindikatoren, die es den Nutzern ermöglichen, die Effizienz und Produktivität ihrer Arbeitsprozesse zu optimieren.
**Das Konzept zu Projekten exitiert zwar, jedoch gibt es noch keine Spezifikation!**

View File

@ -0,0 +1,6 @@
# Measurements
Through "Measurements" in FabAccess, data is collected from resources to track their performance and usage. The goal is for FabAccess to gather these measurements and provide them to users.
The Measurements feature enables FabAccess to capture important data about resource usage and make it available to users. This includes information such as operating hours, utilization, and other performance indicators, allowing users to optimize the efficiency and productivity of their work processes.
**Although the concept of Projects exists, there is currently no specification in place!**

View File

@ -0,0 +1,6 @@
# Projects
Projekte in FabAccess sollen die Zusammenarbeit zwischen den Nutzern fördern und gleichzeitig die Abrechnung von Maschinenzeiten verbessern. Ein wichtiger Aspekt der Projektstruktur ist die Möglichkeit für Nutzer, Claims innerhalb desselben Projekts miteinander zu teilen, um gleichzeitig auf Ressourcen zugreifen zu können.
Durch die Zuweisung von Nutzern zu Projekten können Teams effizient zusammenarbeiten und ihre Ressourcen optimal nutzen. Das Teilen von Claims innerhalb eines Projekts ermöglicht es den Teammitgliedern, nahtlos auf benötigte Ressourcen zuzugreifen und gemeinsam an Projekten zu arbeiten. Darüber hinaus erleichtert diese Funktionalität die Abrechnung von Maschinenzeiten, da die Nutzung der Ressourcen innerhalb eines Projekts besser nachverfolgt und zugeordnet werden kann.
**Das Konzept zu Projekten exitiert zwar, jedoch gibt es noch keine Spezifikation!**

View File

@ -0,0 +1,6 @@
# Projects
Projects in FabAccess are designed to promote collaboration among users and improve the billing of machine usage. A key aspect of the project structure is the ability for users to share claims within the same project, allowing simultaneous access to resources.
By assigning users to projects, teams can collaborate efficiently and optimize their resource utilization. Sharing claims within a project enables team members to seamlessly access needed resources and work together on projects. Additionally, this functionality facilitates machine usage billing by providing better tracking and allocation of resource usage within a project.
**While the concept of Projects exists, there is currently no specification in place!**

View File

@ -0,0 +1,6 @@
# Terminals
Terminals in FabAccess provide restricted access to the server. These terminals can only access machines assigned to them and have the capability to lend machines to other users.
Due to their limited access rights, terminals are ideal for authentication in FabFire. By using terminals as an authentication method, users can ensure that only authorized individuals access and utilize the resources.
Using terminals for authentication adds an additional layer of security and helps maintain the integrity of the system. Additionally, it enables efficient management of resource utilization by granting access only to authorized users.

View File

@ -0,0 +1,6 @@
# Terminals
Terminals ermöglichen einen eingeschränkten Zugriff auf den Server in FabAccess. Diese Terminals können nur auf ihnen zugewiesene Maschinen zugreifen und haben die Fähigkeit, Maschinen für andere Nutzer auszuleihen.
Aufgrund ihrer beschränkten Zugriffsrechte eignen sich Terminals ideal für die Authentifizierung in FabFire. Durch die Verwendung von Terminals als Authentifizierungsmethode können Nutzer sicherstellen, dass nur autorisierte Benutzer auf die Ressourcen zugreifen und diese nutzen können.
Die Verwendung von Terminals für die Authentifizierung bietet eine zusätzliche Sicherheitsebene und trägt dazu bei, die Integrität des Systems zu gewährleisten. Darüber hinaus ermöglicht es eine effiziente Verwaltung der Ressourcennutzung, indem nur autorisierten Benutzern Zugriff gewährt wird.

View File

@ -0,0 +1,18 @@
# Checkable
Der komplexere Trait "Checkable" ermöglicht die Abbildung von Ressourcen, die nach der Benutzung überprüft werden müssen. Bei einer Überprüfung durch einen berechtigten Nutzer kann die Ressource entweder für alle wieder freigegeben oder zurückgewiesen werden. Falls die Ressource zurückgewiesen wurde, kann der ursprüngliche Nutzer die Ressource weiterhin verwenden oder erneut zur Überprüfung einreichen, nachdem die Fehler behoben wurden.
## 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
```

View File

@ -0,0 +1,7 @@
# Claimable
Der Trait "Claimable" stellt einen Sonderfall dar, da er dazu dient, dass sich ein Nutzer über den Claim-Zustand einer Ressource informieren kann.
Nutzer können auf diesem Trait keine Aktionen ausführen, sondern lediglich den Zustand abfragen.
## OID
`1.3.6.1.4.1.61783.612.1.0`

View File

@ -0,0 +1,17 @@
# Doorable
Der Trait "Doorable" ermöglicht die Abbildung von Türen oder anderen Schließsystemen. Dabei besteht die Möglichkeit, kurzzeitige Öffnungen zu realisieren. Die genaue Zeitdauer, für die die Ressource geöffnet wird, wird dabei vom Server bestimmt.
## 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: lock
tempOPEN --> CLOSED: AUTO
```

View File

@ -0,0 +1,8 @@
# Traits
Traits bieten die Möglichkeit, den Zustand von Ressourcen zu ändern. Ressourcen können mehrere Traits besitzen und diese kombiniert nutzen.
Mit Traits erhalten Nutzer Zugriff auf die Ressource, nachdem sie einen Claim erhalten haben. Dabei können Traits verwendet werden, um Ressourcen aus bestehenden Traits zusammenzusetzen oder spezifische Traits zu implementieren.
Um eine optimale Anzeige der Traits für Nutzer in Clients zu ermöglichen, kann einer Ressource ein "Hint" hinzugefügt werden. Dieser ermöglicht es einem Client, eine verbesserte Ansicht der Ressource für Nutzer zu generieren.
Traits werden anhand einer OID (Object Identifier) bereitgestellt. In FabAccess gibt es bereits vordefinierte Traits für grundlegende Funktionen, mit denen viele Zustände von Ressourcen abgebildet werden können.

View File

@ -0,0 +1,6 @@
# Traits
Traits allow users to access resources after they have obtained a claim. Traits can be used to compose resources from existing traits or implement specific traits.
To enable optimal display of traits for users in clients, a "hint" can be added to a resource. This allows a client to generate an improved view of the resource for users.
Traits are provided based on an OID (Object Identifier). FabAccess already includes predefined traits for basic functions, which can represent many states of resources.

View File

@ -0,0 +1,15 @@
# Locatable
Der Trait "Locatable" ermöglicht die Identifizierung von Ressourcen, wie beispielsweise Schließfächer oder 3D-Drucker in einer Druckerfarm. Dabei kann entweder eine kurzfristige Identifikation abgegeben werden oder die Identifizierung dauerhaft gesetzt werden.
## 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: AUTO
```

View File

@ -0,0 +1,19 @@
# Lockers
"Lockers" ist einer der komplexeren Traits, mit dem Schlösser von Ressourcen genauer abgebildet werden können. Der Nutzer kann die Ressource nicht in jedem Zustand zurückgeben; erst wenn alles korrekt zurückgegeben wurde, kann die Ressource auch wieder gesperrt werden.
Die Zustandsänderungen zwischen den vom Nutzer verwendbaren Übergängen können von einem Initiator herbeigeführt werden.
## OID
`1.3.6.1.4.1.61783.612.1.4`
## States
```mermaid
stateDiagram
[*] --> locked
locked --> unlocked: unengage
unlocked --> locked: engage
unlocked --> open: AUTO
open --> unengaged: AUTO
unengaged --> locked: engage
unengaged --> open: AUTO
```

View File

@ -0,0 +1,13 @@
# Powerable
"Powerable" ist der grundlegendste Trait, den FabAccess unterstützt. Er dient dazu abzubilden, ob eine Ressource eingeschaltet bzw. mit Strom versorgt ist.
## OID
`1.3.6.1.4.1.61783.612.1.1`
## States
```mermaid
stateDiagram
[*] --> OFF
OFF --> ON: turnON
ON --> OFF: turnOFF
```

View File

@ -1 +1,7 @@
# Wilkommen DE
# Wilkommen bei FabAccess
FabAccess ist ein leistungsstarkes System, das das Management und die Zuweisung von Ressourcen ermöglicht. Mit seiner flexiblen API können Ressourcenbesitz und -zustände effektiv abgebildet werden, wobei jede Ressource einem bestimmten Benutzer zugeordnet werden kann. Darüber hinaus bietet FabAccess die Möglichkeit, Statusänderungen von Ressourcen zu verfolgen, was eine präzise Überwachung und Verwaltung ermöglicht.
Ein zentraler Aspekt von FabAccess ist das Management von Berechtigungen, das die Steuerung des Zugriffs auf bestimmte Ressourcen ermöglicht. Diese Berechtigungen bieten eine feingranulare Kontrolle darüber, welcher Benutzer auf welche Ressourcen zugreifen kann, und dienen als wichtiges Instrument für die Sicherheit und Effizienz des Systems.
In dieser Dokumentation werden wir einen umfassenden Überblick über die Funktionen und Einsatzmöglichkeiten von FabAccess geben, sowie detaillierte Anleitungen zur Integration und Nutzung bereitstellen. Wir laden Sie ein, sich mit unserem System vertraut zu machen und seine vielfältigen Möglichkeiten zu entdecken.

View File

@ -1 +1,7 @@
# Welcome EN
# Welcome to FabAccess
FabAccess is a powerful system that enables the management and allocation of resources. With its flexible API, resource ownership and states can be effectively mapped, with each resource being assignable to a specific user. Furthermore, FabAccess provides the capability to track status changes of resources, facilitating precise monitoring and management.
A central aspect of FabAccess is the management of permissions, which allows for controlling access to specific resources. These permissions offer granular control over which user can access which resources, serving as a crucial tool for the security and efficiency of the system.
In this documentation, we will provide a comprehensive overview of FabAccess' features and usage possibilities, as well as detailed instructions for integration and utilization. We invite you to become acquainted with our system and discover its diverse capabilities.

View File

@ -20,6 +20,7 @@ plugins:
languages:
en: English
de: Deutsch
- mermaid2
markdown_extensions:
- markdown_include.include:

View File

@ -46,6 +46,7 @@ mkdocstrings-python==0.7.1
# via mkdocstrings
mkdocs-material == 7.1.11
mkdocs-static-i18n == 0.18
mkdocs-mermaid2-plugin == 1.1.1
packaging==21.3
# via mkdocs
pymdown-extensions==9.5