Ereignisgesteuerte Systeme - Cheatsheet
Definition und Bedeutung von Ereignisgesteuerten Systemen
Definition:
Ereignisgesteuerte Systeme sind Systeme, die auf Ereignisse reagieren und aufgrund dieser Ereignisse Zustands- oder Verhaltensänderungen durchführen.
Details:
- Reaktion auf externe und interne Ereignisse.
- Nutzung von Zustandsautomaten und Übergangsbedingungen.
- Beispiel: GUI, Echtzeit-Systeme.
- Synchone und asynchrone Ereignisse.
- Mathematische Modellierung: Zustandsübergangsdiagramme und Petri-Netze.
- Key-Formel: Übergangsfunktion \(\delta: Z \times E \rightarrow Z\), wobei \(Z\) Zustände und \(E\) Ereignisse sind.
Unterschied zwischen synchronen und asynchronen Systemen
Definition:
Unterschiede und Eigenschaften von synchronen und asynchronen Systemen.
Details:
- Synchrone Systeme: Ereignisse treten gleichzeitig oder in festgelegten Abständen auf, basieren auf globaler Uhr.
- Asynchrone Systeme: Ereignisse treten unabhängig voneinander auf, keine globale Uhr nötig.
- Synchrone Kommunikation: Koordination durch gemeinsame Zeitbasis.
- Asynchrone Kommunikation: Koordination über Nachrichten und Handshake-Mechanismen.
- \text{Synchrone Modellierung: FSM (Finite State Machines), Timed Automata}
- \text{Asynchrone Modellierung: Petri-Netze, Ereignisgesteuerte Prozessketten (EPK)}
Architektur und Design-Patterns für Ereignisgesteuerte Systeme
Definition:
Architektur- und Design-Patterns für ereignisgesteuerte Systeme helfen bei der Strukturierung und Implementierung solcher Systeme, um Effizienz, Wartbarkeit und Skalierbarkeit zu gewährleisten.
Details:
- Ebenenarchitektur: Zerlegt die Anwendung in verschiedene Schichten wie Präsentation, Logik und Datenhaltung
- Ereignis-Quellen: Initiieren Ereignisse, z.B. Benutzeraktionen oder Systemzustände
- Ereignis-Listener/Handler: Reagieren auf Ereignisse und führen entsprechende Aktionen aus
- Ereignis-Bus/Queue: Vermittelt Ereignisse zwischen Quellen und Listener
- Publish-Subscribe-Pattern: Ermöglicht lose Kopplung durch Veröffentlichung und Abonnement von Ereignissen
- Observer Pattern: Benachrichtigt registrierte Beobachter bei Zustandsänderungen
- Command Pattern: Kapselt eine Anforderung als Objekt
Verwendung von Zustandsdiagrammen und Petri-Netzen
Definition:
Verwendung von Zustandsdiagrammen und Petri-Netzen in ereignisgesteuerten Systemen
Details:
- 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)\).
Modellierung von Prozessabläufen
Definition:
Modellierung von Prozessabläufen beschreibt die Darstellung und Analyse von Geschäftsprozessen zur Verbesserung und Optimierung.
Details:
- Nutze BPMN für visuelle Modellierung
- Identifiziere wichtige Akteure und Ereignisse
- Darstellung der Abfolge von Aktivitäten und Entscheidungen
- Ziel: Effizienzsteigerung und Fehlerreduzierung
- Werkzeuge: Software wie ARIS, Camunda, Signavio
Tool-basierte Ansätze zur Systemanalyse
Definition:
Nutzung von Software-Tools zur Analyse und Modellierung von Systemen basierend auf Ereignissen und Zustandsänderungen.
Details:
- Wichtige Tools: MATLAB/Simulink, Scilab, Microsoft Visio.
- Ermöglicht Simulation, Validierung und Verifikation komplexer Systeme.
- Erzeugung von Zustandsdiagrammen, Petrinetzen und ereignisgesteuerten Prozessketten (EPKs).
- Unterstützung durch automatisierte Fehlersuche und Optimierung.
- Mögliche Integration in Entwicklungsumgebungen und Continuous Integration (CI).
Verifikation und Validierung von Modellen
Definition:
Überprüfung und Bewertung von Modellen in ihrer Entwicklungsphase.
Details:
- Verifikation: Überprüfung, ob das Modell korrekt und funktionsfähig ist.
- Validierung: Überprüfung, ob das Modell die realen Anforderungen erfüllt.
- Methoden: formale Verifikation (z.B. Modellprüfung), Simulation, Testen mit realen/erstellten Daten.
- Formeln: Keine spezifischen für alle Fälle erforderlich, aber können z.B. zur Modellprüfung genutzt werden.
Integration in bestehende IT-Infrastrukturen
Definition:
Integration in bestehende IT-Infrastrukturen betrifft die Einbindung neuer Systeme oder Komponenten in eine vorhandene IT-Landschaft ohne Unterbrechung bestehender Arbeitsprozesse.
Details:
- Erforderlich zur Aufrechterhaltung der Funktionalität und Kompatibilität.
- Vermeidung von Redundanzen durch Nutzung existierender Ressourcen.
- Reibungslose Datenkommunikation durch Standardprotokolle und Schnittstellen.
- Häufig Verwendung von Middleware zur Vermittlung.
- Sicherstellung der Sicherheit und Einhaltung von Compliance-Vorgaben.
- Erforderlicher technologischer und organisatorischer Wandel.
- Üblicherweise schrittweise Implementierung, um Risiken zu minimieren.