Ereignisgesteuerte Systeme - Exam.pdf

Ereignisgesteuerte Systeme - Exam
Ereignisgesteuerte Systeme - Exam Aufgabe 1) Gegeben: Ein Fahrstuhlsystem, das aus vier Etagen besteht, wird durch Ereignisse gesteuert. Ereignisse sind das Drücken eines Knopfes im Fahrstuhl oder an den Etagen, das Erreichen einer Etage und das Schließen der Türen. Es gibt 5 Zustände: Ruhezustand Fährt rauf Fährt runter Türen öffnen Türen schließen Das System soll so modelliert werden, dass es so...

© StudySmarter 2024, all rights reserved.

Ereignisgesteuerte Systeme - Exam

Aufgabe 1)

Gegeben: Ein Fahrstuhlsystem, das aus vier Etagen besteht, wird durch Ereignisse gesteuert. Ereignisse sind das Drücken eines Knopfes im Fahrstuhl oder an den Etagen, das Erreichen einer Etage und das Schließen der Türen. Es gibt 5 Zustände:

  • Ruhezustand
  • Fährt rauf
  • Fährt runter
  • Türen öffnen
  • Türen schließen
Das System soll so modelliert werden, dass es sowohl synchron (auf Knopfdruck) als auch asynchron (auf Erreichen einer Etage) arbeitet. Relevante Information:
  • Ereignis: Drücken eines Aufzugs- oder Etagenknopfes.
  • Ereignis: Erreichen einer Etage.
  • Mathematische Modellierung des Systems durch eine Übergangsfunktion und*
  • f)**inlichfak*nach At6aufEin Petri-Netz für das System besteht aus Orten und Transitionen:
  • Die Orte repräsentieren die derzeitigen Zustände des Fahrstuhlsystems (z.B. Ruhezustand, Türen offen, etc.).
  • Die Transitionen repräsentieren die möglichen Zustandsübergänge (z.B. Knopf gedrückt, Etage erreicht, etc.).

a)

Erstelle ein Zustandsübergangsdiagramm für das Fahrstuhlsystem, welches die oben gegebenen Zustände und Ereignisse repräsentiert. Kennzeichne deutlich die Zustandsübergänge und die damit verbundenen Ereignisse, die einen Übergang auslösen.

Lösung:

Lösung: Um ein Zustandsübergangsdiagramm für das Fahrstuhlsystem zu erstellen, können wir die Zustände und die Ereignisse, die die Übergänge zwischen diesen Zuständen auslösen, grafisch darstellen. Ein Zustandsübergangsdiagramm besteht aus Knoten (die Zustände repräsentieren) und Kanten (die die Übergänge zwischen den Zuständen darstellen, ausgelöst durch Ereignisse). Hier ist das Zustandsübergangsdiagramm für das Fahrstuhlsystem:

  • Zustände:
    • Ruhezustand
    • Fährt rauf
    • Fährt runter
    • Türen öffnen
    • Türen schließen
  • Übergänge und dazugehörige Ereignisse:
    • Von Ruhezustand zu Fährt rauf (Ereignis: Knopf gedrückt, Fahrstuhl fährt nach oben)
    • Von Ruhezustand zu Fährt runter (Ereignis: Knopf gedrückt, Fahrstuhl fährt nach unten)
    • Von Ruhezustand zu Türen öffnen (Ereignis: Erreichen einer Etage)
    • Von Fährt rauf zu Ruhezustand (Ereignis: Erreichen der gewünschten Etage)
    • Von Fährt runter zu Ruhezustand (Ereignis: Erreichen der gewünschten Etage)
    • Von Türen öffnen zu Ruhezustand (Ereignis: Türen geschlossen)
    • Von Türen schließen zu Ruhezustand (Ereignis: Türen vollständig geschlossen)
Zustandsübergangsdiagramm:
 [Ruhezustand] --(Knopf gedrückt, fahren rauf)--> [Fährt rauf] [Ruhezustand] --(Knopf gedrückt, fahren runter)--> [Fährt runter] [Ruhezustand] --(Etage erreicht)--> [Türen öffnen] [Fährt rauf] --(Etage erreicht)--> [Ruhezustand] [Fährt runter] --(Etage erreicht)--> [Ruhezustand] [Türen öffnen] --(Türen geschlossen)--> [Türen schließen] [Türen schließen] --(Türen vollständig geschlossen)--> [Ruhezustand]

b)

Modelliere das beschriebene Fahrstuhlsystem mithilfe eines Petri-Netzes. Definiere die Orte und Transitionen und beschreibe, wie die Ereignisse im System durch das Netz repräsentiert werden. Zeige anhand eines Beispiels (z.B. Drücken des Knopfs im Fahrstuhl und danach Erreichen einer Etage) den Ablauf im Petri-Netz.

Lösung:

Lösung: Ein Petri-Netz eignet sich hervorragend zur Modellierung von Systemen mit parallelen und asynchronen Prozessen. Für das beschriebene Fahrstuhlsystem definieren wir die Orte und Transitionen, die die Zustände und Ereignisse im System repräsentieren.

  • Orte (Zustände):
    • O1: Ruhezustand
    • O2: Fährt rauf
    • O3: Fährt runter
    • O4: Türen öffnen
    • O5: Türen schließen
  • Transitionen (Ereignisse):
    • T1: Knopf gedrückt (Aufzug fährt rauf)
    • T2: Knopf gedrückt (Aufzug fährt runter)
    • T3: Etage erreicht (Türen öffnen)
    • T4: Türen offen (Türen schließen)
    • T5: Türen vollständig geschlossen
Darstellung des Petri-Netzes:
  [O1] --(T1)--> [O2]  [O1] --(T2)--> [O3]  [O2] --(T3)--> [O4]  [O3] --(T3)--> [O4]  [O4] --(T4)--> [O5]  [O5] --(T5)--> [O1]
Ablaufbeispiel: Gehen wir den Ablauf durch, in dem der Knopf im Fahrstuhl gedrückt wird und danach eine Etage erreicht wird:
  • Schritt 1: Der Fahrstuhl befindet sich im Ruhezustand (Token in O1).
  • Schritt 2: Die Transition T1 (Knopf gedrückt, Aufzug fährt rauf) wird aktiviert. Dies führt den Token von O1 nach O2.
  [O1] [ - ] --(T1 zur Aktivierung)--> [O2] (Token jetzt in O2)
  • Schritt 3: Der Fahrstuhl fährt nach oben (Token bleibt in O2) und erreicht schließlich eine Etage.
  • Schritt 4: Die Transition T3 (Etage erreicht, Türen öffnen) wird aktiviert. Dies führt den Token von O2 nach O4.
  •   [O2] [ - ] --(T3 zur Aktivierung)--> [O4] (Token jetzt in O4)
  • Schritt 5: Die Türen öffnen sich (Token bleibt in O4).
  • Schritt 6: Die Transition T4 (Türen schließen) wird aktiviert. Dies führt den Token von O4 nach O5.
  •   [O4] [ - ] --(T4 zur Aktivierung)--> [O5] (Token jetzt in O5)
  • Schritt 7: Die Türen schließen sich vollständig (Token bleibt in O5).
  • Schritt 8: Die Transition T5 (Türen vollständig geschlossen) wird aktiviert. Dies führt den Token von O5 zurück nach O1.
  •   [O5] [ - ] --(T5 zur Aktivierung)--> [O1] (Token jetzt wieder in O1)
    Dieses einfache Beispiel zeigt den Ablauf im Petri-Netz des Fahrstuhlsystems. Durch die Definition der Orte und Transitionen können wir verschiedene Szenarien und Abläufe des Fahrstuhlsystems modellieren und analysieren.

    Aufgabe 2)

    Betrachte ein komplexes System zur Steuerung eines Produktionsprozesses. Das System kann sowohl als synchrones als auch als asynchrones Modell realisiert werden. Erkläre die zugehörigen Modellierungstechniken und erläutere, welche Vor- und Nachteile die jeweilige Modellierung für diesen Anwendungsfall haben könnte.

    a)

    Modellierung: Modelle die synchrone und asynchrone Modellierungstechniken für das gegebene System. Erkläre, wie Du mit FSM (Finite State Machines) und Timed Automata ein synchrones Modell erstellen würdest und wie Du mit Petri-Netzen und Ereignisgesteuerten Prozessketten (EPK) ein asynchrones Modell erstellen würdest.

    Lösung:

    Modellierung:

    Für die Modellierung eines komplexen Systems zur Steuerung eines Produktionsprozesses können sowohl synchrone als auch asynchrone Modellierungstechniken verwendet werden. Hier ist eine detaillierte Erklärung, wie Du diese Modelle mit verschiedenen Techniken erstellen kannst:

    • Synchrone Modellierung:
      • Finite State Machines (FSM):Eine FSM ist ein Berechnungsmodell, das aus einer endlichen Anzahl von Zuständen besteht, in denen sich das System zu einem bestimmten Zeitpunkt befinden kann. Jeder Zustand kann durch bestimmte Eingaben in einen anderen Zustand übergehen.
          (1) Definiere die verschiedenen Zustände des Systems. Zum Beispiel könnte ein Produktionsprozess die Zustände „Start“, „In Produktion“, „Warten auf Material“ und „Abgeschlossen“ enthalten.  (2) Bestimme die Übergänge zwischen den Zuständen. Dies kann durch bestimmte Eingaben oder Auslöser geschehen, zum Beispiel: „Material verfügbar“, „Produktion abgeschlossen“, etc.  (3) Zeichne den Zustandsgraphen, der die Zustände und Übergänge visualisiert.  
      • Timed Automata:Timed Automata erweitern das Konzept der FSM, indem sie zeitliche Bedingungen auf den Übergängen und Zuständen definieren.
          (1) Definiere die Zustände des Systems wie bei einer FSM.  (2) Füge Uhren und zeitliche Bedingungen hinzu, die festlegen, wie lange das System in einem Zustand verweilen kann oder wann bestimmte Übergänge erfolgen dürfen.  (3) Zeichne den Zustandsgraphen mit den zeitlichen Bedingungen an den Übergängen.  
    • Asynchrone Modellierung:
      • Petri-Netze:Petri-Netze sind ein Werkzeug zur Beschreibung von verteilten und parallelen Systemen. Sie bestehen aus Plätzen, Transitionen und Marken (Tokens).
          (1) Definiere die Plätze, die bestimmte Zustände oder Ressourcen im System darstellen.  (2) Bestimme die Transitionen, die Veränderungen zwischen den Zuständen repräsentieren.  (3) Verknüpfe die Plätze und Transitionen durch Kanten, und füge anfänglich Tokens zu den Plätzen hinzu, um den Startzustand zu definieren.  
      • Ereignisgesteuerte Prozessketten (EPK):EPK sind ein Diagramm-Werkzeug zur Modellierung von Geschäftsprozessen. Sie beschreiben, wie Ereignisse und Funktionen in einem Prozess miteinander verknüpft sind.
          (1) Definiere die Ereignisse, die bestimmte Zustände oder Änderungen im Prozess darstellen.  (2) Bestimme die Funktionen, die ausgeführt werden, und welche durch die Ereignisse ausgelöst werden.  (3) Verknüpfe Ereignisse und Funktionen in einer logischen Abfolge, um den Prozessfluss abzubilden.  

    Durch die Anwendung dieser Modellierungstechniken können sowohl die synchronen als auch die asynchronen Aspekte des Produktionsprozesses klar und verständlich dargestellt werden. Beide Methoden haben ihre Vor- und Nachteile und können je nach spezifischen Anforderungen und Eigenschaften des Systems gewählt werden.

    b)

    Vor- und Nachteile: Diskutiere die Vor- und Nachteile der synchronen und asynchronen Modellierung für das vorliegende System. Welche der beiden Modellierungstechniken würdest Du für die Steuerung des Produktionsprozesses bevorzugen und warum? Gehe dabei besonders auf Aspekte wie Komplexität, Erweiterbarkeit, Zuverlässigkeit und Kommunikationsanforderungen ein.

    Lösung:

    Vor- und Nachteile:

    Die Wahl zwischen synchroner und asynchroner Modellierung hängt von verschiedenen Faktoren ab, darunter Komplexität, Erweiterbarkeit, Zuverlässigkeit und Kommunikationsanforderungen. Hier sind die Vor- und Nachteile beider Modellierungstechniken im Kontext eines Produktionsprozesses:

    • Synchrone Modellierung:
      • Vorteile:
        • Einfachheit und Klarheit: Synchrone Modelle sind oft einfacher zu entwerfen und zu analysieren, da sie auf einer globalen Uhr basieren, die den gesamten Prozess steuert.
        • Zuverlässigkeit: Durch die synchrone Natur der Modellierung ist das Verhalten des Systems deterministisch, was zu einer höheren Zuverlässigkeit führt.
        • Fehlersuche: Fehler sind leichter zu identifizieren und zu beheben, da die Zustandsübergänge klar definiert und zeitlich determiniert sind.
      • Nachteile:
        • Kommunikations-Overhead: Da das System auf einer globalen Uhr basiert, ist eine konstante Synchronisation aller Komponenten erforderlich, was zu einem hohen Kommunikationsaufwand führen kann.
        • Skalierbarkeit: Bei großen und komplexen Systemen kann die synchrone Modellierung unpraktisch werden, da die Synchronisation über viele Komponenten schwierig und ressourcenintensiv ist.
        • Fehlende Flexibilität: Die starre Struktur synchroner Modelle kann zu einer geringeren Flexibilität führen, insbesondere bei unerwarteten Ereignissen oder in dynamischen Umgebungen.
    • Asynchrone Modellierung:
      • Vorteile:
        • Erweiterbarkeit: Asynchrone Modelle sind besser skalierbar und können leichter erweitert werden, da keine globale Synchronisation erforderlich ist.
        • Flexibilität: Diese Modelle sind flexibler und können besser auf unerwartete Ereignisse reagieren, da sie nicht an eine zentrale Uhr gebunden sind.
        • Effiziente Kommunikation: Die Kommunikation erfolgt nur bei Bedarf, was den Kommunikationsaufwand reduziert und das System effizienter macht.
      • Nachteile:
        • Komplexität: Asynchrone Modelle sind komplexer zu entwerfen und zu analysieren, da sie keine zentrale Uhr haben und die Zustände der Komponenten unabhängig voneinander wechseln können.
        • Zuverlässigkeit: Die asynchrone Natur kann zu nicht-deterministischem Verhalten führen, was die Vorhersagbarkeit und Zuverlässigkeit des Systems beeinträchtigen kann.
        • Fehlersuche: Die Identifizierung und Behebung von Fehlern kann schwieriger sein, da die Zustandsübergänge nicht synchronisiert sind und komplexe Interaktionen auftreten können.

    Empfehlung: Welche Modellierungstechnik bevorzugt wird, hängt von den spezifischen Anforderungen des Produktionsprozesses ab. Für Systeme, bei denen Zuverlässigkeit und einfache Fehlerbehebung im Vordergrund stehen, ist die synchrone Modellierung vorteilhaft. Für dynamische und skalierbare Systeme, die eine höhere Flexibilität erfordern, ist die asynchrone Modellierung besser geeignet. In der Praxis könnte auch eine hybride Lösung, die Elemente beider Ansätze kombiniert, sinnvoll sein.

    Aufgabe 3)

    Stellen Dir vor, Du bist verantwortlich für die Entwicklung eines ereignisgesteuerten Systems, das Echtzeitaktualisierungen für ein Börsenhandelswerkzeug bereitstellt. Dieses Werkzeug empfängt Marktinformationen von verschiedenen Quellen und aktualisiert grafische Benutzeroberflächen für Händler bzw. analysiert Daten auf Basis dieser Informationen. Dazu soll sowohl eine interne Datenverarbeitungsschicht als auch eine gut strukturierte Schnittstelle zur Präsentationsschicht entworfen werden.

    a)

    Erkläre, wie Du die Ebenenarchitektur für dieses System einrichten würdest. Beschreibe detailliert die Aufgaben jeder Schicht und welche Design-Patterns angewendet werden können, um die Aktivitäten in jeder Schicht zu orchestrieren.

    Lösung:

    Die Ebenenarchitektur für ein ereignisgesteuertes Börsenhandelswerkzeug:

    • Präsentationsschicht (Presentation Layer):Diese Schicht ist verantwortlich für die Darstellung der Daten und die Interaktion mit dem Benutzer. Sie umfasst grafische Benutzeroberflächen (GUIs), die Echtzeitaktualisierungen empfangen und anzeigen. Zu den Aufgaben dieser Schicht gehören:
      • Empfangen und Anzeigen von Marktinformationen
      • Interaktive Diagramme und Graphen für Händler
      • Benutzerinteraktionen wie Eingaben und Befehle

      Design-Pattern:

      • MVC (Model-View-Controller): Trennung von Daten, Darstellung und Logik.
      • Observer: Um Echtzeitaktualisierungen zu empfangen und die GUI dementsprechend zu aktualisieren.
    • Applikationsschicht (Application Layer):Diese Schicht beinhaltet die Geschäftslogik und orchestriert die Kommunikation zwischen den anderen Schichten. Zu den Aufgaben gehören:
      • Verarbeitung der Marktinformationen
      • Koordination der Interaktion zwischen Präsentationsschicht und Datenverarbeitungsschicht
      • Implementierung geschäftslogischer Prozesse und Regeln

      Design-Pattern:

      • Facade: Bietet eine vereinfachte Schnittstelle zur Geschäftslogik.
      • Service Layer: Kapselt die Geschäftslogik als eigenständige Dienste.
    • Datenschicht (Data Layer):Diese Schicht ist verantwortlich für die Speicherung, Verwaltung und Abruf von Daten. Sie umfasst Zugriffe auf Datenbanken und andere persistente Speicher. Aufgaben:
      • Speichern und Abrufen von Marktinformationen
      • Management von Datenbanken und Datenquellen
      • Sicherstellung der Datenintegrität und Konsistenz

      Design-Pattern:

      • DAO (Data Access Object): Abstraktion und Kapselung der Datenbankzugriffe.
      • Repository: Abstrakte Ebenen für den Zugriff auf das Datenmodell.
    • Kommunikationsschicht (Communication Layer):Diese Schicht regelt den Austausch von Informationen zwischen den Systemen und den verschiedenen Quellen. Aufgaben:
      • Empfangen von Echtzeit-Marktdaten von verschiedenen Quellen
      • Senden von Daten an andere Systeme oder Dienste
      • Implementierung von Protokollen für Datenübertragung

      Design-Pattern:

      • Publish-Subscribe: Ermöglicht die asynchrone Kommunikation zwischen verschiedenen Komponente
      • Adapter: Ermöglicht die Interaktion mit verschiedenen externen Systemen und Quellen.

    b)

    Beschreibe, wie Du das Publish-Subscribe-Pattern nutzen würdest, um die Marktinformationen zu handeln. Gehe dabei darauf ein, wie Marktinformationen publiziert werden, wie die verschiedenen Teile des Systems diese Informationen abonnieren, und welche Maßnahmen getroffen werden müssen, um sicherzustellen, dass alle Abonnenten die Informationen zeitnah und konsistent erhalten. Nutze erzielte Erkenntnisse und setze mathematische Modelle ein, um die Konsistenz und die Latenz der Nachrichtenübermittlung zu illustrieren. Du kannst dabei folgende Gleichungen verwenden: 1. \text{Gesamtverzögerung} = \text{Netzwerkverzögerung} + \text{Verarbeitungsverzögerung} 2. \text{Konsistenz} = f(\text{Durchsatz, Latenz})

    Lösung:

    Verwendung des Publish-Subscribe-Patterns zur Handhabung der Marktinformationen:

    • Publizieren von Marktinformationen: Marktinformationen werden von verschiedenen Quellen wie Börsen, Finanznachrichtendiensten und anderen Daten-Feeds empfangen. Diese Informationen werden an einen Message Broker (z.B. Apache Kafka, RabbitMQ) gesendet, der die Nachrichten an verschiedene Themen (Topics) verteilt. Diese Themen könnten spezifische Kategorien der Informationen darstellen, wie Aktienkurse, Handelsvolumen oder Marktnachrichten.
    • Abonnieren der Marktinformationen durch verschiedene Systemteile:
    • Präsentationsschicht: Die grafischen Benutzeroberflächen (GUIs) der Handelswerkzeuge abonnieren diejenigen Themen, die für Echtzeitdarstellungen benötigt werden. Diese Schicht ist verantwortlich dafür, die Daten reibungslos und fehlerfrei zu visualisieren.
    • Applikationsschicht: Diese Schicht abonniert Inhalte, die für die Implementierung der Geschäftslogik notwendig sind. Hier werden die empfangenen Daten weiterverarbeitet, um Alarme auszulösen oder komplexe Analysen durchzuführen.
    • Datenschicht: Diese Schicht speichert abonnierte Daten in Datenbanken oder anderen Speicherlösungen für historische Analysen und Datenpersistenz.
    • Maßnahmen zur Sicherstellung von zeitnaher und konsistenter Informationslieferung:
    • Verlässliche Nachrichtenübermittlung: Der Message Broker sollte Mechanismen zur garantierten Nachrichtenlieferung bieten. Dies hilft sicherzustellen, dass keine Daten aufgrund von Netzwerkausfällen oder anderen Problemen verloren gehen.
    • Niedrige Latenz: Die Verzögerung bei der Nachrichtenübermittlung sollte so gering wie möglich gehalten werden. Dies kann durch die Nutzung von Hochgeschwindigkeitsnetzwerkverbindungen und leistungsfähiger Hardware erreicht werden.
    • Skalierbarkeit: Das System sollte in der Lage sein, eine große Anzahl an Abonnenten zu unterstützen und hohe Datenraten ohne Verzögerungen zu verarbeiten. Dies kann durch horizontale Skalierung der Infrastrukturkomponenten und den Einsatz leistungsfähiger Datenverarbeitungstechniken erreicht werden.
    • Backpressure-Management: Es sollten Mechanismen implementiert werden, um Rückstaus zu handhaben, wenn Abonnenten die Nachrichten nicht schnell genug verarbeiten können. Solche Mechanismen könnten Anpassung der Verbrauchsraten oder Queueing-Strategien beinhalten.
    • Mathematische Modelle zur Illustration von Konsistenz und Latenz:
    • Gesamtverzögerung (Latenz): Die Gesamtverzögerung der Nachrichtenübermittlung kann als Summe von Netzwerk- und Verarbeitungsverzögerungen dargestellt werden:

    \[ \text{Gesamtverzögerung} = \text{Netzwerkverzögerung} + \text{Verarbeitungsverzögerung} \]

    • Optimierung kann durch den Einsatz von Hochgeschwindigkeitsnetzwerken und effizienten Algorithmen in der Datenverarbeitung erreicht werden.
    • Konsistenzmodell: Die Konsistenz der verteilten Informationen kann als Funktion des Durchsatzes und der Latenz betrachtet werden:

    \[ \text{Konsistenz} = f(\text{Durchsatz, Latenz}) \]

    • Ein hoher Durchsatz bedeutet, dass viele Nachrichten pro Zeiteinheit verarbeitet werden können, während eine niedrige Latenz sicherstellt, dass die Nachrichten schnell an die Abonnenten geliefert werden. Diese beiden Faktoren tragen zur Konsistenz der Datenverteilung bei, da sie sicherstellen, dass alle Abonnenten die aktuellsten Informationen nahezu gleichzeitig erhalten.

    Durch die Implementierung des Publish-Subscribe-Patterns mit einem verlässlichen Message Broker und der Berücksichtigung von Maßnahmen zur Optimierung der Latenz und Konsistenz kann ein robustes und effizientes System für die Echtzeitverarbeitung von Marktinformationen gewährleistet werden.

    Aufgabe 4)

    Verwendung von Zustandsdiagrammen und Petri-Netzen

    • Zustandsdiagramme: grafisch, zeigen Zustände und Übergänge basierend auf Ereignissen.
    • Besonders nützlich für Kommunikationsprotokolle, Steuerungs- und Überwachungssysteme, Verhalten spezifizieren.
    • Wichtige Elemente: Zustände, Übergänge, Ereignisse, Aktionen.
    • Petri-Netze: mathematische Modellierungstechnik, nützlich für Analyse und Design von verteilten Systemen.
    • Bestehen aus Stellen (Kreise), Transitionen (Rechtecke), Kanten (Pfeile).
    • Analyse von Parallelität, Synchronisation, Verklemmung möglich.
    • Formale Definition durch Tupel \(PN = (P, T, F)\).

    a)

    Entwirf ein Zustandsdiagramm für ein einfaches Ampelsystem mit den Zuständen Rot, Gelb, Grün und Gelb-Rot.

    • Angenommen, das Ampelsystem beginnt im Zustand Rot.
    • Beschreibe alle möglichen Zustandsübergänge und erläuter die Ereignisse, die diese Übergänge auslösen.
    • Welche Aktionen werden bei den Übergängen ausgeführt?

    Lösung:

    Zustandsdiagramm für ein einfaches Ampelsystem:Das folgende Zustandsdiagramm zeigt alle möglichen Zustände und Übergänge für ein einfaches Ampelsystem mit den Zuständen Rot, Gelb, Grün und Gelb-Rot.

    • Startzustand: Rot
    • Zustände und Übergänge:
    • 1. Rot -> Grün: Nach einer eingestellten Zeitdauer wechselt die Ampel von Rot zu Grün. Aktion: Wechsle das Licht zu Grün.
    • 2. Grün -> Gelb: Nach einer weiteren Zeitdauer wechselt die Ampel von Grün zu Gelb. Aktion: Wechsle das Licht zu Gelb.
    • 3. Gelb -> Rot: Nach einer kurzen Zeitdauer wechselt die Ampel von Gelb zurück zu Rot. Aktion: Wechsle das Licht zu Rot.
    • 4. Optionale Übergänge durch den Zustand Gelb-Rot:
    • 4a. Gelb -> Gelb-Rot: Nach einer kurzen Zeit kann die Ampel von Gelb zu Gelb-Rot wechseln. Aktion: Setze beide Lichter auf Gelb und Rot.
    • 4b. Gelb-Rot -> Grün: Nach einer weiteren kurzen Zeit wechselt die Ampel von Gelb-Rot zu Grün. Aktion: Wechsle das Licht zu Grün und schalte Rot aus.
    • Zusammenfassung:
      • Rot -Starten -> Grün -Warte-> Gelb -Warte-> Rot
      • Optional: Rot -Starten -> Grün -Warte-> Gelb -Warte-> Gelb-Rot -Warte-> Grün -Warte-> Rot
        • Aktionen:
        • Wechsle das Licht entsprechend dem neuen Zustand.
        • Zustandsdiagramm:
        • Erstelle ein grafisches Diagramm mithilfe von Zuständen (Kreise) und Übergängen (Pfeile). Jeder Übergang sollte mit einem Ereignis (z.B. Zeitablauf) und einer Aktion (z.B. Lichtwechsel) beschriftet sein.

        b)

        Modelliere ein Petri-Netz, das ein System mit zwei Arbeitsplätzen beschreibt, die einen begrenzten gemeinsamen Ressourcen-Pool nutzen.

        • Beschreibe das Netz mit den Stellen (P), Transitionen (T) und Kanten (F).
        • Zeichne das Petri-Netz und identifiziere mögliche Probleme der Parallelität und Synchronisation.
        • Analysiere, ob eine Verklemmung (Deadlock) möglich ist und begründe Deine Antwort mathematisch. Nutze dazu die formalen Definitionen und Eigenschaften von Petri-Netzen.

        Lösung:

        Petri-Netz-Modellierung für ein System mit zwei Arbeitsplätzen und einem gemeinsamen Ressourcen-Pool

        • Petri-Netz-Elemente beschreiben:
        • Stellen (P):
        • P1: Arbeitsplatz 1 ist frei
        • P2: Arbeitsplatz 1 nutzt Ressourcen
        • P3: Arbeitsplatz 2 ist frei
        • P4: Arbeitsplatz 2 nutzt Ressourcen
        • P5: Gemeinsamer Ressourcen-Pool
        • Transitionen (T):
        • T1: Arbeitsplatz 1 beginnt Ressourcen zu nutzen
        • T2: Arbeitsplatz 1 gibt Ressourcen frei
        • T3: Arbeitsplatz 2 beginnt Ressourcen zu nutzen
        • T4: Arbeitsplatz 2 gibt Ressourcen frei
        • Kanten (F):
        • (P1, T1): Arbeitsplatz 1 kann Ressourcen anfordern
        • (P5, T1): Ressourcen stehen für Arbeitsplatz 1 zur Verfügung
        • (T1, P2): Arbeitsplatz 1 nutzt Ressourcen
        • (P2, T2): Arbeitsplatz 1 gibt Ressourcen frei
        • (T2, P5): Ressourcen zurück an den Pool
        • (T2, P1): Arbeitsplatz 1 wird frei
        • (P3, T3): Arbeitsplatz 2 kann Ressourcen anfordern
        • (P5, T3): Ressourcen stehen für Arbeitsplatz 2 zur Verfügung
        • (T3, P4): Arbeitsplatz 2 nutzt Ressourcen
        • (P4, T4): Arbeitsplatz 2 gibt Ressourcen frei
        • (T4, P5): Ressourcen zurück an den Pool
        • (T4, P3): Arbeitsplatz 2 wird frei
        • Grafische Darstellung des Petri-Netzes:
        • Zeichne die Stellen als Kreise und Transitionen als Rechtecke. Verbinde sie entsprechend den oben beschriebenen Kanten. Eine Beispielskizze könnte wie folgt aussehen:
        - P1 (Arbeitsplatz 1 frei) -> T1 (Arbeitsplatz 1 beginnt Nutzung) -> P2 (Arbeitsplatz 1 nutzt Ressourcen)- P2 -> T2 (Arbeitsplatz 1 gibt Ressourcen frei) -> P1- P3 (Arbeitsplatz 2 frei) -> T3 (Arbeitsplatz 2 beginnt Nutzung) -> P4 (Arbeitsplatz 2 nutzt Ressourcen)- P4 -> T4 (Arbeitsplatz 2 gibt Ressourcen frei) -> P3- P5 (Ressourcen-Pool) ist verbunden mit sowohl T1 als auch T3 sowie mit T2 und T4
        • Mögliche Probleme der Parallelität und Synchronisation:
        • Weil beide Arbeitsplätze auf denselben gemeinsamen Ressourcen-Pool zugreifen, kann es zu Wettbewerbsbedingungen kommen, wenn beide gleichzeitig auf die Ressourcen zugreifen möchten. Die Synchronisation der Übergänge T1 und T3 ist daher kritisch.
        • Analyse auf Verklemmung (Deadlock):
        • Eine Verklemmung könnte auftreten, wenn beide Arbeitsplätze gleichzeitig Ressourcen anfordern, aber keine freigegeben werden. Um dies zu analysieren, können wir überprüfen, ob es möglich ist, dass alle Stellen leer sind, während die Ressourcen im Übergang festhängen:
        - Eine Verklemmung tritt auf, wenn kein Token mehr bewegt werden kann. Wir müssen also sicherstellen, dass mindestens eine Ressource im Pool verfügbar bleibt, oder das System so modelliert wird, dass der Ressourcen-Pool niemals vollständig leer wird.- Eine Verklemmung kann mathematisch durch die Analyse der erreichbaren Zustände und Transitionen nachgewiesen werden. Wenn alle Pfade überprüft werden und es keinen Zyklus gibt, der zum Stillstand führt, gibt es kein Deadlock. In unserem Fall sollte die Modellierung sicherstellen, dass Ressourcen zyklisch zwischen den Stellen und Übergängen fließen können, ohne dass ein vollständiger Stillstand auftritt.
        • Formale Definition:
        - Das Petri-Netz-Tupel ist \(PN = (P, T, F)\)- \textbf{Stellen} (\textbf{P}): \(P = \{P1, P2, P3, P4, P5\}\)- \textbf{Transitionen} (\textbf{T}): \(T = \{T1, T2, T3, T4\}\)- \textbf{Kanten} (\textbf{F}): \(F = \{(P1, T1), (P5, T1), (T1, P2), (P2, T2), (T2, P5), (T2, P1), (P3, T3), (P5, T3), (T3, P4), (P4, T4), (T4, P5), (T4, P3)\}\)
    Sign Up

    Melde dich kostenlos an, um Zugriff auf das vollständige Dokument zu erhalten

    Mit unserer kostenlosen Lernplattform erhältst du Zugang zu Millionen von Dokumenten, Karteikarten und Unterlagen.

    Kostenloses Konto erstellen

    Du hast bereits ein Konto? Anmelden