Zustandsautomaten (Stichworte)

Größe: px
Ab Seite anzeigen:

Download "Zustandsautomaten (Stichworte)"

Transkript

1 Zustandsautomaten (Stichworte) Udo Kelter Zusammenfassung dieses Lehrmoduls Zustandsautomaten sind erweiterte Formen von endlichen Automaten bzw. einfachen Zustandsübergangsdiagrammen. Die UML 2.0 definiert zwei Arten von Zustandsautomaten: Verhaltenszustandsautomaten und Protokollzustandsautomaten. Beide basieren auf den gleichen Grundlagen, weisen aber diverse Detailunterschiede auf. Dieses Lehrmodul stellt vor allem die Besonderheiten von Verhaltenszustandsautomaten vor: spezielle Arten von Triggern, Pseudozustände und Transitionspfade sowie zusammengesetzte Zustände. Vorausgesetzte Lehrmodule: obligatorisch: Zustandsübergangsdiagramme Petri-Netze Stoffumfang in Vorlesungsdoppelstunden: 1.0 1

2 Zustandsautomaten (Stichworte) 2 Inhaltsverzeichnis 1 Motivation und Einordnung Steuerungsmodelle in der UML Herkunft der Konzepte von Zustandsautomaten Verhaltens- vs. Protokollzustandsautomaten Zustände 5 3 Transitionen Allgemeine Form einer Transition Arten von Triggern Guards Pseudozustände und Transitionspfade Pseudozustand Kreuzung (junction) Pseudozustand Auswahlknoten (choice pseudo state) Pseudozustand Startzustand (initial pseudostate) Pseudozustand Terminator (terminate pseudostate) Pseudozustand Gabelung (fork) Pseudozustand Vereinigung (join) Zusammengesetzte Zustände Zusammengesetzte Zustände mit nur einer Region Historien Pseudozustand flache Historie (shallow history) Pseudozustand tiefe Historie (deep history) Regionen Literatur Index Dieser Text darf für nichtkommerzielle Nutzungen als Ganzes und unverändert in elektronischer oder gedruckter Form beliebig weitergegeben werden und in WWW-Seiten, CDs und Datenbanken aufgenommen werden. Jede andere Nutzung, insb. die Veränderung und Überführung in andere Formate, bedarf der expliziten Genehmigung. Die jeweils aktuellste Version ist über erreichbar.

3 Zustandsautomaten (Stichworte) 3 1 Motivation und Einordnung Grundformen von ZÜD (endliche Automaten) und Petri-Netzen sind Kernkonzepte zur Beschreibung von sequentiellen und/oder parallelen Steuerungen / Algorithmen mit einer sehr klaren Semantik + theoretischem Fundament aber Nachteile hinsichtlich der Modellierung realer Systeme: keine Berücksichtigung von Daten und datenabhängigen Steuerungen keine Abstraktionshierarchien, durch die komplexere Modelle strukturiert und besser verstehbar / entwickelbar werden diverse Erweiterungen bessere Modellierungsfähigkeiten Verlust der klaren semantischen Grundlage, viele interessierende Eigenschaften nicht mehr entscheidbar 1.1 Steuerungsmodelle in der UML 2.0 (nach vielen Irrungen und Umwegen über die UML 1.*...) 1. Zustandsautomaten (state machines): endlichen Automaten (Mealy- und Moore-A.) + weitere Zutaten Modell = gerichteter Graph, Knoten modellieren Zustände; können Tokens beinhalten / puffern; in beschränktem Umfang auch parallele Teilzustände möglich Kanten modellieren Zustandsübergänge, hierbei komplizierte Fallunterscheidungen möglich; Kante ist i.d.r. mindestens mit einem Ereignis beschriftet 2. Aktivitätsdiagramme: Programmablaufplan + Petri-Netz Modell = gerichteter Graph,

4 Zustandsautomaten (Stichworte) 4 Knoten: modellieren Funktionen / Verarbeitungsschritte, aktive Systemteile Kanten: Kontroll- und Datenflüsse, transportieren Daten- oder Kontrolltoken zwischen Aktionen, beinhalten Ablaufsteuerung viele gemeinsame Diagrammelemente in beiden Diagrammtypen, insb. bei der Ablaufsteuerung aber teilweise verschiedene Bedeutung, Verwechslungsgefahr 1.2 Herkunft der Konzepte von Zustandsautomaten Zustandsautomaten beinhalten diverse schon erlernte bzw. andiskutierte Konzepte (werden hier nur kurz wiederholt) von Zustandsübergangsdiagrammen: Zustände mit internen Aktionen Zustandsübergänge mit Ereignissen, bedingten Transitionen und Aktionen von Petri-Netzen: Plätze als Tokenpuffer Transitionen mit mehreren Eingangs- oder Ausgangsplätzen 1.3 Verhaltens- vs. Protokollzustandsautomaten Verhaltenszustandsautomat (behavioral state machine) mit Aktionen / Verhalten an Transitionen, wie in Lehrmodul ZÜD beschrieben Protokollzustandsautomat (protocol state machine): ohne Aktionen / Verhalten an Transitionen Konzentration auf Zustandsübergänge, Darstellung der Vor- und Nachbedingungen für Zustandsübergänge Darstellung von Invarianten in Zuständen beide Arten mit gleichen Grundlagen, aber diversen Detailunterschieden; Protokollzustandsautomaten werden hier nicht detailliert behandelt

5 Zustandsautomaten (Stichworte) 5 2 Zustände Allgemeine Form eines Zustands: Zustandsname entry / Verhalten exit / Verhalten do / Verhalten Trigger [Guard] / Verhalten Trigger [Guard] / defer Verhalten bei Betreten / Aktivierung eines Zustands: 1. Zustand wird aktiv, wenn eine hereinkommende Transition durchlaufen wird 2. sofort nach der Aktivierung wird das Eintrittsverhalten (entry /...) ausgeführt wird nie abgebrochen; währenddessen ankommende Ereignisse werden in einer FIFO-Schlange gepuffert 3. sofort danach wird das Zustandsverhalten (do /...) ausgeführt Verhalten bei Verlassen eines Zustands: 1. Zustand wird verlassen, wenn ein Ereignis eintritt, das zum Durchlaufen einer herausgehenden Transition führt 2. falls das Eintrittsverhalten des aktuellen Zustands noch nicht abgearbeitet ist, wird dies erst komplett abgearbeitet 3. falls das Zustandsverhalten abläuft, wird es abgebrochen 4. danach wird das Austrittsverhalten (exit /...) ausgeführt 5. erst danach ist der Zustand inaktiv. interne Transitionen in einem Zustand (Trigger [Guard] /...): Wirkung analog zum allgemeinen Fall einer Transition, die einen Zustandswechsel bewirkt, aber kein Durchlaufen des Ein- und Austrittsverhaltens

6 Zustandsautomaten (Stichworte) 6 defer führt in bestimmten Situationen zu einer späteren Verarbeitung des Triggers (Details später) 3 Transitionen Denkweise ist stark von kommunizierenden Objekten (um nicht zu sagen GUI-Programmierung...) beeinflußt: Ereignisse (Trigger) sind i.d.r. Operationsaufrufe gemäß der Schnittstelle des Typs des Objekts Aufrufe können von anderen Objekten kommen, aber auch vom gleichen Objekt Verhalten an Transitionen fehlt häufig, weil meist das Verhalten im Zielzustand abläuft (also Zuordnung der Aktionen wie bei Moore-Automaten) Vorteil: man kann über verschiedene Transitionen das gleiche Verhalten auslösen Ereignisverarbeitung in der UML 2.0: sehr komplexes Verarbeitungsmodell diverse Details offen (semantic variation points), um verschiedene Applikationsbereiche mit gegensätzlichen Anforderungen bedienen zu können problematisch 3.1 Allgemeine Form einer Transition allgemeine Form einer Transition bei einem Verhaltenszustandsautomaten: Trigger [Guard] / Verhalten

7 Zustandsautomaten (Stichworte) 7 allgemeine Form einer Transition bei einem Protokollzustandsautomaten (ProtocolTransition): [Guard] Operation / [Nachbedingung] Besonderheiten von Protokollzustandsautomaten: nur Operationsaufrufe als Trigger Notationsreihenfolge Guard Trigger/Operation vertauscht keine Aktionen (Implementierung von Verhalten), sondern nur Nachbedingungen (Wirkung des Verhaltens) Guard in beiden Fällen gleich kompaktere Notation bei mehreren Transitionen mit gleichem Ausgangszustand, Guard, Verhalten und Zielzustand: nur ein Pfeil, unterschiedliche Trigger mit Kommata getrennt angeben 3.2 Arten von Triggern hier für Verhaltens-ZA, analog für Protokoll-ZA SignalTrigger: Empfang eines externen Ereignisses; Darstellung: Signal [Guard] / Verhalten Situation: Objekt / System ist in Zustand, empfängt externes Ereignis, im Guard genannte Bedingungen sind erfüllt; Objekt / System geht infolgedessen in Zustand über. gut für kommunizierende Objekte in verteilten Systemen geeignet (asynchrone Aufrufe) CallTrigger: Aufruf einer Operation des Objekts; Darstellung:

8 Zustandsautomaten (Stichworte) 8 Operation [Guard] / Verhalten Situation: Objekt / System ist in Zustand, empfängt Aufruf der genannten Operation mit den im Guard genannten Bedingungen und geht infolgedessen in Zustand über Schreibweise z.t. in der Form operation() Parameter der Operation können zusätzlich angegeben werden und im Guard und in den Aktionen benutzt werden. ChangeTrigger: Zustandsänderung; Darstellung: [Guard] / Verhalten Situation: Objekt / System ist in Zustand, eine der im Guard genannten Variablen ändert ihren Wert, Guard evaluiert anschließend zu WAHR, Objekt / System geht infolgedessen in Zustand über Kein expliziter Trigger, Trigger wird sozusagen implizit durch Wertänderungen generiert TimeTrigger: absolute oder relative Zeitangaben erlaubt after (3 sec/min/...) / Verhalten ,10:45 / Verhalten Trigger wird implizit durch Zeitablauf nach Betreten des Zustands bzw. Erreichen des absoluten Zeitpunkts generiert AnyTrigger: für nicht explizit genannte, restliche Trigger

9 Zustandsautomaten (Stichworte) 9 all / Verhalten Zitat UML Superstructure, 2006, Abschnitt : A transition trigger associated with AnyReceiveEvent specifies that the transition is to be triggered by the receipt of any message that is not explicitly referenced in another transition from the same vertex. Any AnyReceiveEvent is denoted by the string all used as the trigger. Kommentar überflüssig. Woanders heißt das else oder otherwise und ist klar verständlich 3.3 Guards Guards können beliebige Bedingungen enthalten, müssen zu jedem Zeitpunkt eindeutig auswertbar sein Mehrere Guards für den gleichen Trigger: zu einem Zustand können zum gleichen Trigger mehrere Transitionen mit i.a. unterschiedlichen Guards vorhanden sein Frage 1: dürfen 2 oder mehr Guards den gleichen Fall abdecken? Antwort: ja, Auswahl der Transition dann zufällig Frage 2: müssen die Guards alle Fälle abdecken? Antwort: nicht unbedingt s. folgende Folie Konventionen zur Interpretation nicht abgedeckter Fälle: 1. irrelevant: eingetroffenes Ereignis bewirkt keine Zustandsänderung und wird ignoriert entspricht der Notationskonvention in ZÜD!

10 Zustandsautomaten (Stichworte) schwerer Fehler: eingetroffenes Ereignis hätte eigentlich gar nicht kommen dürfen und kann nicht sinnvoll verarbeitet werden; System ist in einem inkonsistenten Zustand und wird beendet / Objekt wird aufgelöst ( Panik ) oder Übergang zu einer Standard- Fehlerbehandlung 3. bitte warten : eingetroffenes Ereignis ist im Prinzip OK, kommt aber zu unpassender Zeit und soll später verarbeitet werden hierzu explizite Aktionsangabe.../defer Nur an internen Transitionen erlaubt! aufgeschobenes Ereignis kommt in einen event pool zu diesem Objekt / System und löst ggf. später eine Transition aus, nachdem sich der Zustand und/oder in Guards benutzte Variablen geändert haben viele Details offen, z.b. Strategie, wie aus mehreren aufgeschobenen Ereignissen das nächste zu verarbeitende gewählt wird 4 Pseudozustände und Transitionspfade Beispiel: Auswahl anzeigen ausgewählt [rot] /... [grün] /... fertig [erfolgreich] / gratulieren alles rot alles grün fertig [Fehler] / Fehlermeldung Merkmale von Pseudozuständen:

11 Zustandsautomaten (Stichworte) 11 sind zwar Knoten im Zustandsnetzwerk, repräsentieren aber keinen Zustand! d.h. dort kann kein Token parken (Vorsicht: deswegen ist der Endzustand kein Pseudozustand!) haben ein- und ausgehende Transitionen mit teilweise unvollständigen Beschriftungen bilden Transitionspfade Transitionspfade: beginnen und enden in echten Zuständen (also Knoten, die keinen Pseudozustand repräsentieren) können beliebig lang sein können unterschiedliche Pseudozustände als Etappen haben die kompletten Pfade werden in einem Schritt ( atomar ) durchlaufen, inkl. der Prüfung aller Guards und Ausführung aller Aktionen an den Transitionen nur Transitionspfade, auf denen alle Guards erfüllt sind, können durchlaufen werden es ist zulässig, daß mehrere Guards bzw. Pfade wahr sind! dann wird ein erlaubter Pfad zufällig ausgewählt 4.1 Pseudozustand Kreuzung (junction) Darstellung als schwarzer Kreis (wie Startknoten, aber geringfügig kleiner) mit einer oder mehreren hereinkommenden und herausgehenden Transitionen einer der ausgehenden Transitionen darf else als Guard haben; ist erfüllt, wenn die Guards aller anderen ausgehenden Transitionen nicht erfüllt sind

12 Zustandsautomaten (Stichworte) 12 alle Guards werden ausgewertet, bevor irgendwelche Aktionen ausgeführt werden ( static conditional branch ) d.h. Aktionen werden erst nach Durchlaufen aller Verzweigungen ausgeführt tückisch! entspricht nicht der Lesereihenfolge Aktionen besser nur an die letzten Transitionen der (Teil-) Pfade erlauben kompakte Darstellung ähnlicher Transitionen in Transitionspfaden (s.o. Beispiel) 4.2 Pseudozustand Auswahlknoten (choice pseudo state) A stellt eine bedingte Verzweigung dar Guards wie bei einer Kreuzung, inkl. else- Konstrukt Aktionen an eingehenden Transitionen werden ausgeführt, bevor nachfolgende Guards ausgewertet werden (UML-Diktion: dynamic conditional branch )!! kann zu sehr komplizierten Ablauflogiken führen das ist der Hauptunterschied zu einer Kreuzung Raute kann innen einen Variablennamen enthalten, auf den sich die Test in den Guards beziehen (syntaktischer Zucker...) 4.3 Pseudozustand Startzustand (initial pseudostate) nur einmal erlaubt (pro Region, s.u.) nur eine ausgehende Transition erlaubt diese darf eine Aktion haben, aber keinen Trigger oder Guard

13 Zustandsautomaten (Stichworte) Pseudozustand Terminator (terminate pseudostate) stellt Löschung des Objekts / Systems dar kein Austrittsverhalten aus dem Zustand mehr (anders als beim Endzustand) 4.5 Pseudozustand Gabelung (fork) Notation wie Petri-Netz-Transition mit einem Eingangsplatz ausgehende Transitionen (bzw. Transitionspfadsegmente) dürfen keine Guards oder Aktionen haben und müssen in unterschiedlichen Regionen (s.u.) eines zusammengesetzten Zustands enden keine allgemeinen Petri-Netze hiermit darstellbar 4.6 Pseudozustand Vereinigung (join) Notation wie Petri-Netz-Transition mit einem Ausgangsplatz ankommende Transitionen (bzw. Transitionspfadsegmente) dürfen keine Guards oder Aktionen haben und müssen in unterschiedlichen Regionen eines zusammengesetzten Zustands starten 5 Zusammengesetzte Zustände Begriff zusammengesetzter Zustand faßt zwei völlig verschiedene Dinge zusammen:

14 Zustandsautomaten (Stichworte) baumartige Zustandshierarchien wie in Lehrmodul ZÜD dargestellt: ein nichtelementarer Zustand (innerer Konten des Zustandsbaums) hat mehrere Unterzustände und das System befindet sich immer in genau einem der Unterzustände 2. autarke Teilzustände wie in Petri-Netzen 1, die durch eigene Tokens repräsentiert werden autarke Teilzustände werden als Regionen repräsentiert zusammengesetzter Zustand hat i.a.: eine oder mehrere Regionen pro Region mehrere Unterzustände, darunter i.a. einen Startzustand Darstellung: durch Schachtelung der Zeichenflächen Zustandsname oft nicht innen, sondern als Reiter oben auf den Rechteck Trennung der Regionen durch gestrichelte Linie ggf. oben eigener Abschnitt mit entry / exit / do-angaben Beispiel: Geld erhalten Fahrschein drucken... Wechselg.ausgeben... Quittung fragen..[..] also zusammengesetzte Zustände im wörtlichen Sinn, der Gesamtzustand des Systems setzt sich aus den Teilzuständen zusammen

15 Zustandsautomaten (Stichworte) Zusammengesetzte Zustände mit nur einer Region Betreten eines zusammengesetzten Zustands: 1. direkter Übergang in einen Unterzustand (Explicit Entry): Transitionspfeil überquert Grenze der Zeichenfläche und endet an einem Unterzustand Z unschön, widerspricht dem information hiding über die Details des zusammengesetzten Zustands 2. Default Entry: Transitionspfeil endet an der Grenze der Zeichenfläche Z... Übergang zum inneren Startzustand und von dort aus spontan weiter... Frage: immer innerer Startzustand vorhanden? Antwot: Nein UML-Diktion: semantic variation point 2 3. Transition von innen endet an der Grenze der Zeichenfläche Z... Übergang zum inneren Startzustand und von dort aus spontan weiter; kein Durchlaufen des Aus- und Eintrittsverhaltens 2 Deutsch: niemand weiß, wie es weitergeht...

16 Zustandsautomaten (Stichworte) 16 Verlassen eines zusammengesetzten Zustands: 1. ein Endzustand wird erreicht: sofern außen eine triggerlose Transition vorhanden, wird diese ausgelöst 2. eine Transition, die für den gesamten zusammengesetzten Zustand gilt (d.h. der Transitionspfeil beginnt am Rand der Zeichenfläche), feuert 3. direkter Übergang aus einem Unterzustand nach außen (analog zum Explicit Entry): Transitionspfeil überquert Grenze der Zeichenfläche und endet außerhalb bei allen Varianten, den zusammengesetzten Zustand zu verlassen, wird das Austrittsverhalten ausgelöst 5.2 Historien Motivation: Beispiel einer Zustandshierarchie.Y4??? System ist in einem speziellen Unterzustand Beispiel: Unterzustand.Y4 des zusammeng. Zustands irgendein Trigger führt zum Verlassen des Zustands später gewünscht: Rückkehr zum gleichen Unterzustand, von dem aus der zusg. Zustand () zuletzt verlassen wurde Geht nicht mit bisherigen Mitteln, weil dieser Unterzustand nicht statisch festliegt man bräuchte ein Gedächtnis, das sich für jeden zusammengesetzten Zustand merkt, in welchem Unterzustand man das letzte Mal war

17 Zustandsautomaten (Stichworte) 17 Aufgabe: wie könnte man dieses Gedächtnis explizit mit Hilfe eines zusätzlich eingebauten Petri-Netzes realisieren? Lösung des Problems: mit Historienzuständen Pseudozustand flache Historie (shallow history) H Beispiel: dargestellt als Kreis mit H in der Mitte nur als Unterzustand eines zusammengesetzten Zustands erlaubt 0 oder 1 ausgehende zu Transition erlaubt keine von innen ankommende Transition erlaubt... H... Verhalten beim Betreten des Zustands über den Historien- Knoten: 1. wenn das System vorher schon einmal im Zustand war: seinerzeit aktiven Zustand auf dieser Verfeinerungsebene betreten 2. andernfalls, wenn vom Historien-Knoten eine Transition zu einem Zustand ausgeht: in den Zielzustand dieser Transition (default shallow history state) übergehen 3. andernfalls, wenn Startknoten auf dieser Verfeinerungsebene vorhanden: dort ausgehender Transition folgen 4. andernfalls: fehlerhaftes Modell oder unklare Situation

18 Zustandsautomaten (Stichworte) Pseudozustand tiefe Historie (deep history) H* dargestellt als Kreis mit H* in der Mitte alles wie bei flacher Historie, bis auf folgenden Unterschied Verhalten, wenn der über den Historien-Knoten erreichte Zielknoten selbst wieder zusammengesetzt ist: flache Historie: Zielknoten wird neu betreten (über den lokalen Startzustand) tiefe Historie: dort zuletzt aktiver Unterzustand wird betreten usw. rekursiv abwärts für jeden Verfeinerungsschritt muß der zuletzt aktive Zustand bekannt sein 5.3 Regionen Betreten eines Zustands mit Regionen 1. default entry: Transition endet am Rand des Zustands Wirkung: pro Region wird der Startzustand aktiviert 2. explicit entry: eine oder mehrere Transitionen (die von außen aus einer Gabelung stammen) überqueren den Rand des zusammengesetzten Zustands und enden in inneren Zuständen (pro Region max. 1)

19 Zustandsautomaten (Stichworte) 19 Wirkung: die direkt angesteuerten Zustände werden aktiv; in Regionen, in denen keine Transition endet, wird der Startzustand aktiviert Verlassen eines Zustands mit Regionen 1. wenn in allen Regionen der Endzustand erreicht und außen eine triggerlose Transition vorhanden ist: diese feuern Regionen, die schon den Endzustand erreicht haben, warten darauf, daß alle anderen Regionen ebenfalls den Endzustand erreichen und ignorieren währenddessen alle Trigger 2. wenn eine Transition für den zusammengesetzten Zustand feuert: alle internen Zustände werden sofort inaktiv 3. wenn einetransition für einen Unterzustand, die außerhalb des zusammengesetzten Zustands endet, feuert: alle internen Zustände werden sofort inaktiv, d.h. auch alle anderen Regionen werden abgebrochen Literatur [PN] Kelter, U.: Lehrmodul Petri-Netze ; 2003 [ZUED] Kelter, U.: 2003 Lehrmodul Zustandsübergangsdiagramme ;

Zustandsautomaten (Stichworte)

Zustandsautomaten (Stichworte) Zustandsautomaten (Stichworte) Udo Kelter 11.01.2013 Zusammenfassung dieses Lehrmoduls Zustandsautomaten sind erweiterte Formen von endlichen Automaten bzw. einfachen Zustandsübergangsdiagrammen. Die UML

Mehr

UML Grundlagen, Zustandsautomat. Zustandsautomaten bilden eine Erweiterung der endlichen Automaten

UML Grundlagen, Zustandsautomat. Zustandsautomaten bilden eine Erweiterung der endlichen Automaten Zustandsautomaten bilden eine Erweiterung der endlichen Automaten angereichert um zusätzliche Elemente Bedingungen Verzweigungen theoretische Wurzeln: David Harel, 1985 DI. Helmut Tockner 1 Zustandsautomaten

Mehr

State diagrams (Zustandsautomaten)

State diagrams (Zustandsautomaten) State diagrams (Zustandsautomaten) Allgemeines Zustandsautomaten geben Antworten auf die Frage Wie verhält sich das System in einem bestimmten Zustand bei gewissen Ereignissen?. Sie spezifizieren somit

Mehr

OOA-Dynamische Konzepte

OOA-Dynamische Konzepte Proseminar UML im SS 2005 OOA-Dynamische Konzepte Teil 2 von Benjamin Daeumlich 1 Übersicht Szenario Definition Interaktionsdiagramme Sequenzdiagramm Kommunikationsdiagramm Sequenz- vs. Kommunikationsdiagramm

Mehr

Objektorientierte Analyse (OOA) Dynamisches Modell. Objektorientierte Analyse (OOA) Sequenzdiagramm

Objektorientierte Analyse (OOA) Dynamisches Modell. Objektorientierte Analyse (OOA) Sequenzdiagramm Inhalte Sequenzdiagramm Kollaborationsdiagramm Dynamisches Modell Seite 1 Sequenzdiagramm Ein Sequenzdiagramm beschreibt die zeitliche Abfolge von Interaktionen zwischen einer Menge von Objekten innerhalb

Mehr

Vorlesung Software Engineering I

Vorlesung Software Engineering I Vorlesung Software Engineering I 10 Unified Modeling Language: Zustandsdiagramme Prof. Dr. Dirk Müller Einführung Übersicht Software-Entwicklungsprozesse Anforderungsanalyse Prozessanalyse und -modellierung

Mehr

Eine formale, graphbasierte Semantik für UML Statemachines

Eine formale, graphbasierte Semantik für UML Statemachines Eine formale, graphbasierte Semantik für UML Statemachines Diplomarbeit Viktor Nesterow 12. Mai 2010 Gutachter: Zweitgutachter: Betreuer: Prof. Dr. Gregor Engels Prof. Dr. Heike Wehrheim Dipl.-Inf. Christian

Mehr

Zustände Zustandsdiagramme

Zustände Zustandsdiagramme Zustände Zustandsdiagramme Ereignisse Zustandsübergänge Dr. Beatrice Amrhein Überblick Definition Anwendungsbereich Zustände/Zustandsübergänge Aktionen Ereignisse 2 Verwendung von Zuständen 3 Verwendung

Mehr

Statecharts in UML Grundlagen und Übersetzung in Colored Petri Nets

Statecharts in UML Grundlagen und Übersetzung in Colored Petri Nets Statecharts in UML Grundlagen und Übersetzung in Colored Petri Nets von André Kaiser 25.10.2004 André Kaiser - Statecharts in UML 1 Überblick Statecharts Konzepte und Darstellung Übersetzung UML-Statechart-Model

Mehr

Softwaretechnik. Kapitel 11 : Zustandsdiagramme. Statecharts / State Machines Historisches. State Machines in UML Verwendung in OO

Softwaretechnik. Kapitel 11 : Zustandsdiagramme. Statecharts / State Machines Historisches. State Machines in UML Verwendung in OO Statecharts / Historisches Softwaretechnik Kapitel 11 : Zustandsdiagramme Kurt Stenzel, Hella Seebach Statecharts entstanden als Verallgemeinerung von Automaten Beschreibung von Zustandsübergangsystemen

Mehr

Einführung: Zustandsdiagramme Stand:

Einführung: Zustandsdiagramme Stand: Einführung: Zustandsdiagramme Stand: 01.06.2006 Josef Hübl (Triple-S GmbH) 1. Grundlagen Zustandsdiagramme Zustände, Ereignisse, Bedingungen, Aktionen 2. Verkürzte Darstellungen Pseudozustände 3. Hierarchische

Mehr

Systemanalyse. - Folien zur Vorlesung für AI3 im Sommersemester Teil 8 -

Systemanalyse. - Folien zur Vorlesung für AI3 im Sommersemester Teil 8 - Systemanalyse - Folien zur Vorlesung für AI3 im Sommersemester 2010 - -Teil 8 - Hans-Jürgen Steffens (by courtesy of Prof. Dr. Thomas Allweyer) Fachbereich Informatik und Mikrosystemtechnik Fachhochschule

Mehr

UML - Zustandsdiagramm

UML - Zustandsdiagramm Name Klasse Datum 1 Allgemeines Die Zustandsdiagramme in UML basieren im Wesentlichen auf den Statecharts von David Harel. Der Grundgedanke ist, das Verhalten eines endlichen Zustandsautomaten grafisch

Mehr

Zustandsübergangsdiagramme

Zustandsübergangsdiagramme Zustandsübergangsdiagramme Udo Kelter 03.10.2003 Zusammenfassung dieses Lehrmoduls Zustandsübergangsdiagramme (ZÜD) modellieren die Zustände eines Systems und die Übergänge zwischen diesen Zuständen aufgrund

Mehr

Bewertender Vergleich und Erweiterung unterschiedlicher UML-Simulatoren zur Bestimmung der Modellüberdeckung

Bewertender Vergleich und Erweiterung unterschiedlicher UML-Simulatoren zur Bestimmung der Modellüberdeckung Bewertender Vergleich und Erweiterung unterschiedlicher UML-Simulatoren zur Bestimmung der Modellüberdeckung Halbzeitvortrag zur Diplomarbeit von am Seite 1 Übersicht 1. Einleitung 1. Motivation 2. Aufgabe

Mehr

CARL HANSER VERLAG. Mario Jeckle, Chris Rupp, Jürgen Hahn, Barbara Zengler, Stefan Queins. UML 2 glasklar

CARL HANSER VERLAG. Mario Jeckle, Chris Rupp, Jürgen Hahn, Barbara Zengler, Stefan Queins. UML 2 glasklar CARL HANSER VERLAG Mario Jeckle, Chris Rupp, Jürgen Hahn, Barbara Zengler, Stefan Queins UML 2 glasklar 3-446-22575-7 www.hanser.de Einleitung... 1 Liebe Leserin, lieber Leser... 1 Ihre Meinung ist uns

Mehr

Mario Jeckle, Chris Rupp, Jürgen Hahn, Barbara Zengler, Stefan Queins. UML2 glasklar. UNIFIED MODELING LANGUAGE l HANSER

Mario Jeckle, Chris Rupp, Jürgen Hahn, Barbara Zengler, Stefan Queins. UML2 glasklar. UNIFIED MODELING LANGUAGE l HANSER Mario Jeckle, Chris Rupp, Jürgen Hahn, Barbara Zengler, Stefan Queins UML2 glasklar UNIFIED MODELING LANGUAGE l V HANSER Inhalt Vorwort 1 Einleitung 2 Liebe Leserin, lieber Leser 2 Ihre Meinung ist uns

Mehr

Dipl.-Inform. Lars Ebrecht

Dipl.-Inform. Lars Ebrecht Konsistente Verknüpfung von Aktivitäts-, Sequenzund Zustandsdiagrammen Darstellungsunabhängige und formale Semantik zur Verhaltensbeschreibung von Echtzeit-Systemen Dipl.-Inform. Lars Ebrecht Mobilität

Mehr

8. Stateflow Grundlagen. Daniel Schrammel - BA Stuttgart -

8. Stateflow Grundlagen. Daniel Schrammel - BA Stuttgart - 8. Stateflow Grundlagen Was ist Stateflow? Mit Stateflow lassen sich innerhalb von Simulink Zustandsautomaten und Flussdiagramme abbilden. Ein Stateflow-Element wird wie ein gewöhnlicher Simulink-Block

Mehr

7. Konkretisierungen im Feindesign. 7.1 Zustandsdiagramme 7.2 Object Constraint Language

7. Konkretisierungen im Feindesign. 7.1 Zustandsdiagramme 7.2 Object Constraint Language 7. Konkretisierungen im Feindesign 7.1 Zustandsdiagramme 7.2 Object Constraint Language 173 Verfeinerte Modellierung Durch die verschiedenen Sichten der Systemarchitektur wird der Weg vom Anforderungsmodell

Mehr

Kapitel 3 Ereignisdiskrete Systeme (III)

Kapitel 3 Ereignisdiskrete Systeme (III) Systemmodellierung Teil 1: Ereignisdiskrete Systeme Kapitel 3 Ereignisdiskrete Systeme (III) Modellierung mit E/A-Automaten Modellbildung mit Automaten Verfeinerte Modellbildung Beispiel: Fahrstuhltür

Mehr

UML 2 glasklar Praxiswissen für die UML-Modellierung

UML 2 glasklar Praxiswissen für die UML-Modellierung Chris Rupp, Stefan Queins, Barbara Zengler UML 2 glasklar Praxiswissen für die UML-Modellierung ISBN-10: 3-446-41118-6 ISBN-13: 978-3-446-41118-0 Inhaltsverzeichnis Weitere Informationen oder Bestellungen

Mehr

Objektorientierte Analyse

Objektorientierte Analyse Objektorientierte Analyse Software Engineering in der Praxis David Föhrweiser Marc Spisländer Lehrstuhl für Software Engineering Friedrich-Alexander-Universität Erlangen-Nürnberg Föhrweiser, Spisländer

Mehr

Labor Modellgestütztes Software Engineering. Versuch 3

Labor Modellgestütztes Software Engineering. Versuch 3 Labor Modellgestütztes Software Engineering Versuch 3 Sommersemester 2012 Dipl.-Ing. (FH) Joachim Hampel Version 5.0.1., 18. Oktober 2012 Inhaltsverzeichnis Inhalt 1 EINFÜHRUNG... 3 1.1 ZUSAMMENGESETZTE

Mehr

Aktivitätsdiagramme (Stichworte)

Aktivitätsdiagramme (Stichworte) Aktivitätsdiagramme (Stichworte) Udo Kelter 12.01.2005 Zusammenfassung dieses Lehrmoduls Aktivitätsdiagramme (in UML Version 2) bieten vielfältige Sprachkonzepte, mit denen Abläufe und Algorithmen graphisch

Mehr

Aktivitätsdiagramme (Stichworte)

Aktivitätsdiagramme (Stichworte) Aktivitätsdiagramme (Stichworte) Udo Kelter 12.01.2005 Zusammenfassung dieses Lehrmoduls Aktivitätsdiagramme (in UML Version 2) bieten vielfältige Sprachkonzepte, mit denen Abläufe und Algorithmen graphisch

Mehr

Diskrete Ereignissysteme. Spezielle Netzstrukturen- Übersicht. Beispiele zu speziellen Netzstrukturen. Petri-Netze und Zustandsautomaten

Diskrete Ereignissysteme. Spezielle Netzstrukturen- Übersicht. Beispiele zu speziellen Netzstrukturen. Petri-Netze und Zustandsautomaten Diskrete Ereignissysteme 4.4 Spezialisierungen von Petri Netzen Spezielle Netzstrukturen- Übersicht Ein S-T-Netz heisst Zustands-System gdw. gilt:. W(f) = für alle Kanten f F. 2. t = t = für alle Transitionen

Mehr

Zustandsdiagramm - Begriffe

Zustandsdiagramm - Begriffe Zustandsdiagramm - Begriffe Zustand Zustände sind durch eine Kombination von Attributwerten bestimmt. Zweck beschreiben das Verhalten eines Objektes zeigen alle Zustände, die ein Objekt haben kann zeigen

Mehr

(Ausnahmebehandlung)

(Ausnahmebehandlung) 16. Exceptions (Ausnahmebehandlung) 16-1 Objektorientierte Programmierung (Winter 2010/2011) Kapitel 16: Exceptions (Ausnahmebehandlung) Motivation Throw und Catch 16. Exceptions (Ausnahmebehandlung) 16-2

Mehr

Bewertender Vergleich und Erweiterung unterschiedlicher UML-Simulatoren zur Bestimmung der Modellüberdeckung

Bewertender Vergleich und Erweiterung unterschiedlicher UML-Simulatoren zur Bestimmung der Modellüberdeckung Bewertender Vergleich und Erweiterung unterschiedlicher UML-Simulatoren zur Bestimmung der Modellüberdeckung Endvortrag zur Diplomarbeit von am 19.12.2006 Seite 1 Übersicht 1. Einleitung 1. Motivation

Mehr

Media Engineering. Objektorientierte Modellierung. Verhaltensmodellierung. R. Weller University of Bremen, Germany cgvr.cs.uni-bremen.

Media Engineering. Objektorientierte Modellierung. Verhaltensmodellierung. R. Weller University of Bremen, Germany cgvr.cs.uni-bremen. Media Engineering Objektorientierte Modellierung Verhaltensmodellierung R. Weller University of Bremen, Germany cgvr.cs.uni-bremen.de Objektorientierte Analyse und Design im Detail Identifiziere Akteure

Mehr

Inhalt. Einleitung Liebe Leserin, lieber Leser, Wer dieses Buch aus welchem Grund lesen sollte Ihre Meinung ist uns sehr wichtig.

Inhalt. Einleitung Liebe Leserin, lieber Leser, Wer dieses Buch aus welchem Grund lesen sollte Ihre Meinung ist uns sehr wichtig. Inhalt Vorwort Einleitung Liebe Leserin, lieber Leser, Wer dieses Buch aus welchem Grund lesen sollte Ihre Meinung ist uns sehr wichtig Danksagungen Die Autoren XIII XV XV XVII XVIII XVIII XIX Teil I:

Mehr

Das UML Benutzerhandbuch

Das UML Benutzerhandbuch Grady Booch James Rumbaugh Ivar Jacobson Das UML Benutzerhandbuch Aktuell zur Version 2.0 Inhalt Vorwort 15 Ziele 15 Publikum 16 Wie Sie dieses Buch verwenden sollten 16 Aufbau und besondere Merkmale 17

Mehr

Aktivitätsdiagramm (Activity Diagram)

Aktivitätsdiagramm (Activity Diagram) (Activity Diagram) Eine Präsentation von Christoph Süsens und Matthias Holdorf 1 C Diagrammtypen im Überblick 2 Definiton Problem: Es sollen Abläufe, z.b. Geschäftsprozesse, modelliert werden. Im Vordergrund

Mehr

Abbildungsverweise PlantUML Code. Version 1.0 Vanessa Petrausch

Abbildungsverweise PlantUML Code. Version 1.0 Vanessa Petrausch Abbildungsverweise PlantUML Code Version 1.0 Vanessa Petrausch Inhaltsverzeichnis INHALTSVERZEICHNIS 1 AUFBAU DES DOKUMENTS 5 2 KLASSENDIAGRAMM 7 3 ANWENDUNGSFALLDIAGRAMM 9 4 AKTIVITÄTSDIAGRAMM 11 5 ZUSTANDSDIAGRAMM

Mehr

Kapitel 4 Ereignisdiskrete Systeme (V)

Kapitel 4 Ereignisdiskrete Systeme (V) Systemmodellierung Teil 1: Ereignisdiskrete Systeme Kapitel 4 Ereignisdiskrete Systeme (V) Petrinetze ctnd. Eigenschaften von Petrinetzen (BE-Netze) Konflikt Kontakt Livelock, Deadlock Lebendigkeit Reversibilität

Mehr

Kapitel 3: Anweisungen

Kapitel 3: Anweisungen Universität München, Hans-Peter Kriegel und Thomas Seidl Informatik II -66 Kapitel : Anweisungen Bedingte Anweisungen (Verzweigungen) Wiederholte Anweisungen (Schleifen) Abweisschleife Durchlaufschleife

Mehr

Verhaltensbeschreibung und Spezifikationssprachen

Verhaltensbeschreibung und Spezifikationssprachen TECHNISCHE UNIVERSITÄT ILMENAU Integrierte Kommunikationssysteme http://www.tu-ilmenau.de/iks Verhaltensbeschreibung und Spezifikationssprachen Verhaltensmodelle Zustandsautomaten (FSM) Nicht-deterministische

Mehr

3. Aktivitäten. Beschreibung von Abläufen, Aktionen und Kontrollflüssen

3. Aktivitäten. Beschreibung von Abläufen, Aktionen und Kontrollflüssen 3. Aktivitäten Beschreibung von Abläufen, Aktionen und Kontrollflüssen 1 Verwendung Analyse Phase Aktivitätsdiagramme erlauben es, sehr komplexe Abläufe mit Ausnahmen, verschiedenen Varianten, Sprüngen

Mehr

Kapitel 1: Informationsverarbeitung durch Programme

Kapitel 1: Informationsverarbeitung durch Programme LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS Skript zur Vorlesung: Einführung in die Informatik: Systeme und Anwendungen Sommersemester 2009 Kapitel 1: Informationsverarbeitung

Mehr

2. Übung zu Software Engineering

2. Übung zu Software Engineering 2. Übung zu Software Engineering WS 2009/2010 Henning Heitkötter Projektplanung, Netzplantechnik AUFGABE 3 1 Aufgabenstellung Ausgangspunkt ist die Anforderungsermittlung, an die sich eine Durchführbarkeitsstudie

Mehr

Spezifikation von Kommunikationssystemen

Spezifikation von Kommunikationssystemen 1 / 22 Spezifikation von Kommunikationssystemen 6. Basiskonstrukte von SDL Prof. Jochen Seitz Fachgebiet Kommunikationsnetze 3. Mai 2018 2 / 22 Übersicht 1 Darstellung eines Prozesses 2 Zeit in SDL 3 Variablen

Mehr

Sommersemester Analyse II: Verhalten (Zustandsautomaten)

Sommersemester Analyse II: Verhalten (Zustandsautomaten) Sommersemester 23 Analyse II: Verhalten (Zustandsautomaten) 8 Aufgabe 2 Analyse II: Verhalten (Zustandsautomaten) Umfang: 2 Wochen Punkte: P. Nachdem in der ersten Aufgabe die Systemstruktur mit Hilfe

Mehr

Objektorientierte Programmierung. Kapitel 3: Syntaxdiagramme

Objektorientierte Programmierung. Kapitel 3: Syntaxdiagramme Stefan Brass: OOP (Java), 3. 1/31 Objektorientierte Programmierung Kapitel 3: Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2014/15 http://www.informatik.uni-halle.de/ brass/oop14/

Mehr

Unternehmensmodellierung

Unternehmensmodellierung Josef L. Staud Unternehmensmodellierung Objektorientierte Theorie und Praxis mit UML 2.0 4ü Springer Inhaltsverzeichnis EINLEITUNG 1 1.1 Unternehmensmodellierung 1 1.2 Objektorientierung als solche 6 1.3

Mehr

Vorlesung Software-Engineering I

Vorlesung Software-Engineering I Vorlesung Software-Engineering I im 3. und 4. Semester 07. SW-Architektur Abläufe Workflows Szenarien Use Cases User Story s -> Betrachtung deterministischer Abläufe DHBW-Stuttgart/Frank M. Hoyer SWE1-07:

Mehr

ANWENDUNGSFALLDIAGRAMM:

ANWENDUNGSFALLDIAGRAMM: EINFÜHRUNG Ein UML Modell kann folgende unterschiedliche Sichtweisen auf den Problemlösungsbereich (Aspekte) enthalten: Dynamische Aspekte Softwareorganisatorische Aspekte Statische Aspekte Welche Aussagen

Mehr

Hierarchical State Machines

Hierarchical State Machines Hierarchical State Machines Alexej Schatz 20. Dezember 2004 Inhaltsverzeichnis 1 Motivation 1 2 Moore- und Harel-Automaten 2 3 Zustandsautomaten in UML 2 3.1 Elementare Bestandteile des Zustandsautomaten..............

Mehr

Kapitel 3: Anweisungen. Bedingte Anweisungen. Sequentielle Auswertung (Kurzschlussauswertung) Komplexe Bedingungen

Kapitel 3: Anweisungen. Bedingte Anweisungen. Sequentielle Auswertung (Kurzschlussauswertung) Komplexe Bedingungen Universität München, Hans-Peter Kriegel und Thomas eidl Informatik II -66 Universität München, Hans-Peter Kriegel und Thomas eidl Informatik II -67 Kapitel : Anweisungen Bedingte Anweisungen Bedingte Anweisungen

Mehr

Inhalt. 1 Einführung 17. Strukturdiagramme. 2 Klassendiagramm 37

Inhalt. 1 Einführung 17. Strukturdiagramme. 2 Klassendiagramm 37 Vorwort... 13 1 Einführung 17 1.1 Weshalb muss Software modelliert werden?... 17 1.2 Die Phasen bei der Softwareentwicklung... 18 1.2.1 Analyse... 18 1.2.2 Entwurf... 19 1.2.3 Implementierung und Dokumentation...

Mehr

BABOK Knowledge Area Requirements Analysis Modeling Techniques - Process Models - - State Diagrams - Holger Dexel, 26.02.2011

BABOK Knowledge Area Requirements Analysis Modeling Techniques - Process Models - - State Diagrams - Holger Dexel, 26.02.2011 BABOK Knowledge Area Requirements Analysis Modeling Techniques - Process Models - - State Diagrams - Holger Dexel, 26.02.2011 This presentation is build upon material of the Business Analysis Body of Knowledge

Mehr

Outline Automaten FSM Synthesis FSM in VHDL FSM auf FPGA. State Machines. Marc Reichenbach und Michael Schmidt

Outline Automaten FSM Synthesis FSM in VHDL FSM auf FPGA. State Machines. Marc Reichenbach und Michael Schmidt State Machines Marc Reichenbach und Michael Schmidt Informatik 3 / Rechnerarchitektur Universität Erlangen Nürnberg 05/11 1 / 34 Gliederung Endliche Automaten Automaten Synthese FSM Beschreibung in VHDL

Mehr

UML fürs Pflichtenheft

UML fürs Pflichtenheft UML fürs Pflichtenheft Sebastian Fischmeister Department of Computer Science University of Salzburg, Austria Sebastian.Fischmeister@cs.uni-salzburg.at Overview Use-Case Diagramm State-Machine Diagramm

Mehr

Normalerweiseist es sinnvoll einen Initialzustand zu definieren (INIT), sowie einen Endzustand (CLOSED oder TERMINATED). 4.

Normalerweiseist es sinnvoll einen Initialzustand zu definieren (INIT), sowie einen Endzustand (CLOSED oder TERMINATED). 4. 4. Zustände 1 Aktivitäts- und Zustands-Diagramm werden oft verwechselt. Es ist darum wichtig zu unterscheiden, dass im Aktivitätsdiagramm die Aktionen im Zentrum des Interesses stehen. Das Zustandsdiagramm

Mehr

Kapitel 5: Syntaxdiagramme und Grammatikregeln

Kapitel 5: Syntaxdiagramme und Grammatikregeln 5. Syntaxdiagramme und Grammatikregeln 5-1 Objektorientierte Programmierung (Winter 2010/2011) Kapitel 5: Syntaxdiagramme und Grammatikregeln Syntaxdiagramme Grammatikregeln (kontextfrei) Beispiele: Lexikalische

Mehr

UML - Zustandsdiagramm

UML - Zustandsdiagramm Name Klasse Datum 1 Allgemeines Die Zustandsdiagramme in UML basieren im Wesentlichen auf den Statecharts von David Harel. Der Grundgedanke ist, das Verhalten eines endlichen Zustandsautomaten grafisch

Mehr

Endliche Automaten Jörg Roth 101

Endliche Automaten Jörg Roth 101 Endliche Automaten Jörg Roth 101 Wir wollen im Folgenden die Abschlusseigenschaften regulärer Sprachen betrachten. Fragestellung: Wenn wir reguläre Sprachen haben, welche binären und unären Operationen

Mehr

Algorithmen & Programmierung. Steuerstrukturen im Detail Selektion und Iteration

Algorithmen & Programmierung. Steuerstrukturen im Detail Selektion und Iteration Algorithmen & Programmierung Steuerstrukturen im Detail Selektion und Iteration Selektion Selektion Vollständige einfache Selektion Wir kennen schon eine Möglichkeit, Selektionen in C zu formulieren: if

Mehr

Wirtschaftsinformatik 6a: Modellierung. Hochschule für Wirtschaft und Recht SS 16 Dozent: R. Witte

Wirtschaftsinformatik 6a: Modellierung. Hochschule für Wirtschaft und Recht SS 16 Dozent: R. Witte Wirtschaftsinformatik 6a: Modellierung Hochschule für Wirtschaft und Recht SS 16 Dozent: R. Witte Computertechnik Man kann Software auf 2 Arten herstellen: Entweder macht man sie so klar und einfach,

Mehr

Christoph Kecher, Alexander Salvanos UML 2.5. Das umfassende Handbuch. Rheinwerk. Computing

Christoph Kecher, Alexander Salvanos UML 2.5. Das umfassende Handbuch. Rheinwerk. Computing Christoph Kecher, Alexander Salvanos UML 2.5 Das umfassende Handbuch Rheinwerk Computing Inhalt Vorwort 13 1 Einführung 17 1.1 Weshalb muss Software modelliert werden? 17 1.2 Die Phasen bei der Softwareentwicklung

Mehr

Software Engineering in der Praxis

Software Engineering in der Praxis Software Engineering in der Praxis Praktische Übungen Pinte, Spisländer FAU Erlangen-Nürnberg Objektorientiertes Design 1 / 17 Objektorientiertes Design Florin Pinte Marc Spisländer Lehrstuhl für Software

Mehr

Inhalt. 10. Stateflow-Grundlagen 11. Übungen Stateflow. Daniel Schrammel - BA Stuttgart -

Inhalt. 10. Stateflow-Grundlagen 11. Übungen Stateflow. Daniel Schrammel - BA Stuttgart - Inhalt 10. Stateflow-Grundlagen 11. Übungen Stateflow 10. Stateflow-Grundlagen Was ist Stateflow? Mit Stateflow lassen sich innerhalb von Simulink Zustandsautomaten und Flussdiagramme abbilden. Ein Stateflow-Element

Mehr

Best Practice. Prozessmodellierung im Bereich der mittelbaren Bundesverwaltung: pm-ad Ergebnis der AG. BEST PRACTICE UML-Aktivitätendiagramm

Best Practice. Prozessmodellierung im Bereich der mittelbaren Bundesverwaltung: pm-ad Ergebnis der AG. BEST PRACTICE UML-Aktivitätendiagramm Prozessmodellierung im Bereich der mittelbaren Bundesverwaltung: BEST PRACTICE UML-Aktivitätendiagramm Best Practice pm-ad 1.0.0 Ergebnis der AG Kurzbeschreibung In diesem Dokument werden die Best-Practice-

Mehr

EPK. Ereignisgesteuerte Prozessketten

EPK. Ereignisgesteuerte Prozessketten EPK Ereignisgesteuerte Prozessketten EPK Geschäftsprozesse einer Firma darstellen, um bestehende Prozesse im Hinblick auf ihre derzeitigen und zukünftigen Veränderungen zu veranschaulichen halbformale

Mehr

Besteht aus Aktoren (actors) und use-cases sowie deren Verbindungen.

Besteht aus Aktoren (actors) und use-cases sowie deren Verbindungen. Besteht aus Aktoren (actors) und use-cases sowie deren Verbindungen. Shop Käufer Einkauf Verkauf Verwaltung Händler Hersteller Actor: Jemand oder etwas, der/das mit dem zu entwickelnden System interagiert

Mehr

Kapitel 1: Informationsverarbeitung durch Programme

Kapitel 1: Informationsverarbeitung durch Programme LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS Skript zur Vorlesung: Einführung in die Informatik: Systeme und Anwendungen Sommersemester 2018 Kapitel 1: Informationsverarbeitung

Mehr

4. Alternative Temporallogiken

4. Alternative Temporallogiken 4. Alternative Temporallogiken Benutzung unterschiedlicher Temporallogiken entsprechend den verschiedenen Zeitbegriffen LTL: Linear Time Logic Ähnlich der CTL, aber jetzt einem linearen Zeitbegriff entspechend

Mehr

Algorithmen. Von Labyrinthen zu. Gerald Futschek

Algorithmen. Von Labyrinthen zu. Gerald Futschek Von Labyrinthen zu Algorithmen Gerald Futschek Wie kommt man aus einem Labyrinth heraus? Labyrinth (griechisch: Haus der Doppelaxt, wahrscheinlich Knossos auf Kreta) Labrys Grundriss des Palastes von Knossos

Mehr

Software Engineering in der Praxis

Software Engineering in der Praxis Software Engineering in der Praxis Praktische Übungen Pinte, Spisländer FAU Erlangen-Nürnberg Objektorientiertes Design 1 / 17 Objektorientiertes Design Florin Pinte Marc Spisländer Lehrstuhl für Software

Mehr

MODELLIERUNG UND SPEZIFIKATION

MODELLIERUNG UND SPEZIFIKATION MODELLIERUNG UND SPEZIFIKATION ZUSAMMENFASSUNG DES PRAKTIKUMS JAN SÜRMELI T o P THEORY OF PROGRAMMING HEUTE 2 Nachbesprechung der Aufgaben Zusammenfassung + Eure Fragen Ein bisschen was zur Evaluierung

Mehr

Objektorientiertes Design

Objektorientiertes Design Objektorientiertes Design Yi Zhao Marc Spisländer Lehrstuhl für Software Engineering Friedrich-Alexander-Universität Erlangen-Nürnberg Zhao, Spisländer FAU Erlangen-Nürnberg Objektorientiertes Design 1

Mehr

TEIL I Strukturdiagramme 1 Einführung Klassendiagramm Objektdiagramm Kompositionsstrukturdiagramm...

TEIL I Strukturdiagramme 1 Einführung Klassendiagramm Objektdiagramm Kompositionsstrukturdiagramm... Auf einen Blick TEIL I Strukturdiagramme 1 Einführung... 13 2 Klassendiagramm... 29 3 Objektdiagramm... 111 4 Kompositionsstrukturdiagramm... 125 5 Komponentendiagramm... 145 6 Verteilungsdiagramm... 161

Mehr

Gedächtnis. Während der Abarbeitung eines Algorithmus müssen sich Dinge gemerkt werden bzw. auf Dingen wird gerechnet. Zugriff.

Gedächtnis. Während der Abarbeitung eines Algorithmus müssen sich Dinge gemerkt werden bzw. auf Dingen wird gerechnet. Zugriff. Gedächtnis Während der Abarbeitung eines Algorithmus müssen sich Dinge gemerkt werden bzw. auf Dingen wird gerechnet Hauptspeicher 38265 Telefon CPU Gedächtnis Vorlesender Zugriff Verarbeitungseinheit

Mehr

Grundlagen der Programmentwurfstechnik Fundamentals of Software Engineering

Grundlagen der Programmentwurfstechnik Fundamentals of Software Engineering Vorlesung 6 Fundamentals of Software Engineering Inhaltsverzeichnis 1. Einführung 2. Allgemeine Modellbildung 3. Strukturierte Analyse (SE) 5. Benutzersschnittstellen 6. Softwaretest 2 1 Inhaltsverzeichnis

Mehr

Vorlesung Informatik II

Vorlesung Informatik II Vorlesung Informatik II Universität Augsburg Wintersemester 2011/2012 Prof. Dr. Bernhard Bauer Folien von: Prof. Dr. Robert Lorenz Lehrprofessur für Informatik 11. UML: Sequenzdiagramm 1 Motivation Es

Mehr

An Overview of the Signal Clock Calculus

An Overview of the Signal Clock Calculus An Overview of the Signal Clock Calculus, Jennifer Möwert Inhaltsverzeichnis Synchrone Programmiersprachen Clock Calculus Synchrone Paradigmen SLTS Clocks SIGNAL Definitionen Endochrony Bäume, Jennifer

Mehr

Software Engineering, SoSe 07, WSI, D. Huson, May 7,

Software Engineering, SoSe 07, WSI, D. Huson, May 7, Software Engineering, SoSe 07, WSI, D. Huson, May 7, 2007 17 4 Modellierung in UML Nach einer Vorlesung von Prof. Andreas Zeller, Lehrstuhl Softwaretechnik Universität des Saarlandes, Saarbrücken. 4.1

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 14: Endliche Automaten Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009 1/38 Überblick Erstes Beispiel: ein Getränkeautomat Mealy-Automaten

Mehr

2.4.3 Zustandsgraphen

2.4.3 Zustandsgraphen 2.4.3 Zustandsgraphen Folie 2-1+45 Paradigma der Zustandsmodellierung Zustandsmodellierung betrachtet ein System als Zustandsautomaten beschreibt die Zerlegung in Zustände und Zustandsübergänge orientiert

Mehr

Zustände umsetzen Enumerations (Aufzählungen) Zustandsobjekte

Zustände umsetzen Enumerations (Aufzählungen) Zustandsobjekte Zustände umsetzen Enumerations (Aufzählungen) Zustandsobjekte Dr. Beatrice Amrhein Kursinhalt Aufzählungen erzeugen Aufzählungen verwenden Zustandsobjekte erzeugen Zustandsobjekte verwenden Nach dem Handbuch

Mehr

Interaktionsdiagramme

Interaktionsdiagramme Interaktionsdiagramme Udo Kelter 16.03.2003 Zusammenfassung dieses Lehrmoduls Unter der Bezeichnung Interaktionsdiagramme faßt man zwei Diagrammtypen der UML (Sequenzdiagramme und Kollaborationsdiagramme)

Mehr

Lexikalische Programmanalyse der Scanner

Lexikalische Programmanalyse der Scanner Der Scanner führt die lexikalische Analyse des Programms durch Er sammelt (scanned) Zeichen für Zeichen und baut logisch zusammengehörige Zeichenketten (Tokens) aus diesen Zeichen Zur formalen Beschreibung

Mehr

Benutzerhandbuch Koala Editor

Benutzerhandbuch Koala Editor Benutzerhandbuch Koala Editor Inhalt Einführung, Allgemeine Hinweise... 2 Installation... 2 Allgemeine Funktionen... 3 Neu... 3 Öffnen und Speichern... 4 Modulfunktionen... 5 Klassisches Zustandsdiagramm...

Mehr

Strategien zur Testfallgenerierung aus UML-Zustandsautomaten

Strategien zur Testfallgenerierung aus UML-Zustandsautomaten Strategien zur Testfallgenerierung aus UML-Zustandsautomaten Dipl.-Ing. Carsten Paulus (FKFS), Dipl.-Ing. Michael Wolff (ZF Friedrichshafen AG), Prof. Dr.-Ing. Hans-Christian Reuss (FKFS) Gliederung Motivation

Mehr

Vorlesung Datenstrukturen

Vorlesung Datenstrukturen Vorlesung Datenstrukturen Graphdarstellungen Maike Buchin 0.6.017 Graphen Motivation: Graphen treten häufig als Abstraktion von Objekten (Knoten) und ihren Beziehungen (Kanten) auf. Beispiele: soziale

Mehr

Grundlagen der Programmentwurfstechnik Fundamentals of Software Engineering 1

Grundlagen der Programmentwurfstechnik Fundamentals of Software Engineering 1 Vorlesung 6 Fundamentals of Software Engineering 1 Sommersemester 2016 Inhaltsverzeichnis 1. Einführung 2. Allgemeine Modellbildung 3. Strukturierte Analyse (SE) 5. Benutzersschnittstellen 6. Softwaretest

Mehr

Petri-Netze / Eine Einführung

Petri-Netze / Eine Einführung Manuel Hertlein Seminar Systementwurf Lehrstuhl Theorie der Programmierung Carl Adam Petri am 12. Juli 1926 in Leipzig geboren Studium der Mathematik 1962 Promotion zum Doktor der Naturwissenschaft Titel

Mehr

MODELLIERUNG UND SPEZIFIKATION

MODELLIERUNG UND SPEZIFIKATION MODELLIERUNG UND SPEZIFIKATION EINE ZUSAMMENFASSUNG JAN SÜRMELI T o P THEORY OF PROGRAMMING INHALTSVERZEICHNIS 2 ALLGEMEINES UML: OBJEKTORIENTIERTE MODELLIERUNG CASL: ALGEBRAISCHE SPEZIFIKATION PETRINETZE:

Mehr

FACHHOCHSCHULE AUGSBURG Hochschule für Technik, Wirtschaft und Gestaltung

FACHHOCHSCHULE AUGSBURG Hochschule für Technik, Wirtschaft und Gestaltung C Sprachelemente für Übung 2 Typumwandlungen (type casts) Bei Ausdrücken, in denen Operanden mit unterschiedlichem Typ vorkommen, werden diese vom Compiler vor der Ausführung automatisch in einen gemeinsamen

Mehr

Programmablaufpläne. Vorgehen zur Erstellung eines lauffähigen C-Programms

Programmablaufpläne. Vorgehen zur Erstellung eines lauffähigen C-Programms Programmablaufpläne Vorgehen zur Erstellung eines lauffähigen C-Programms Dieser Leitfaden soll eine Einführung in das Erstellen von Programmablaufplänen (kurz: PAP) geben. PAP erleichtern das Erstellen

Mehr

Java 8. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Oktober 2014 JAV8

Java 8. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Oktober 2014 JAV8 Java 8 Elmar Fuchs Grundlagen Programmierung 1. Ausgabe, Oktober 2014 JAV8 5 Java 8 - Grundlagen Programmierung 5 Kontrollstrukturen In diesem Kapitel erfahren Sie wie Sie die Ausführung von von Bedingungen

Mehr

Synchrone Botschaften

Synchrone Botschaften Synchrone Botschaften PPJ-84 Prozesse kommunizieren und synchronisieren sich direkt miteinander, bzw. über Kanäle, die höchstens eine Botschaft aufnehmen. Operationen: send (b): receive (v): blockiert

Mehr

3.0 VU Formale Modellierung

3.0 VU Formale Modellierung 3.0 VU Formale Modellierung Gernot Salzer Arbeitsbereich Theoretische Informatik und Logik Institut für Computersprachen SS 2016 1 Inhalt 0. Überblick 1. Organisation 2. Was bedeutet Modellierung? 3. Aussagenlogik

Mehr

2.4.3 Zustandsgraphen

2.4.3 Zustandsgraphen 2.4.3 Zustandsgraphen Folie 2-1+45 Paradigma der Zustandsmodellierung Zustandsmodellierung betrachtet ein System als Zustandsautomaten beschreibt die Zerlegung in Zustände und Zustandsübergänge orientiert

Mehr