Vorlesung Modellierung Modellierungsmethoden der Informatik. Wintersemester 2011/12. Lernplattform Moodle. Wer sind wir?

Größe: px
Ab Seite anzeigen:

Download "Vorlesung Modellierung Modellierungsmethoden der Informatik. Wintersemester 2011/12. Lernplattform Moodle. Wer sind wir?"

Transkript

1 Vorlesung Modellierung Modellierungsmethoden der Informatik Wintersemester 2011/12 Prof. Barbara König Übungsleitung: Dr. Sander Bruggink Das heutige Programm Organisatorisches Vorstellung Ablauf der Vorlesung und der Übungen Prüfung Literatur & Folien Einführung und Motivation: Was ist Modellierung? Inhalt der weiteren Vorlesung Wer sind wir? Barbara König Modellierung 1 Lernplattform Moodle Barbara König Modellierung 2 Dozentin: Prof. Barbara König Raum LF barbara koenig@uni-due.de Sprechstunde: nach Vereinbarung Übungsleitung: Dr. Sander Bruggink Raum LF sander.bruggink@uni-due.de Web-Seite: Wir verwenden Moodle, um: die Aufgabenblätter zur Verfügung zu stellen und Hausaufgaben elektronisch abzugeben. Moodle-Plattform an der Universität Duisburg-Essen: (siehe auch Link auf der Webseite) Bitte legen Sie dort einen Zugang an (falls noch nicht vorhanden) und tragen Sie sich in den Kurs Modellierungsmethoden der Informatik (Abteilung Informatik und Angewandte Kognitionswissenschaft) ein. Zugangsschlüssel:... Barbara König Modellierung 3 Barbara König Modellierung 4

2 Vorlesungstermine Termine der Übungsgruppen/Tutorien Vorlesungs-Termin: Mittwoch, 8:30-10:00 Uhr, im Raum LB 107 Übungsgruppen: Donnerstag, 10-11, LF 125 (28 Plätze) (Gruppe A) Donnerstag, 11-12, LF 125 (28 Plätze) (Gruppe B) Donnerstag, 10-11, LC 141 (24 Plätze) (Gruppe C) Donnerstag, 11-12, LC 141 (24 Plätze) (Gruppe D) Donnerstag, 14-16, LF 125 (28 Plätze) (Gruppe E) Montag, 16-18, LC 137 (88 Plätze) (Gruppe F) Dienstag, 10-12, LC 141 (24 Plätze) (Gruppe G) Dienstag, 12-14, LC 137 (88 Plätze) (Gruppe H) In der Montagsgruppe und in den Dienstagsgruppen werden dieselben Aufgaben besprochen wie in den Donnerstagsgruppen der Vorwoche. Termine der Übungsgruppen/Tutorien Barbara König Modellierung 5 Hinweise zu den Übungen Barbara König Modellierung 6 Am Dienstag, 1. November, fallen aufgrund des Feiertags die Übungsgruppen aus. Als Ersatz gibt es, ausnahmsweise, am 31. Oktober zwei Übungsgruppen am Montag: Montag, 16-17, LC 137 Montag, 17-18, LC 137 Sie können jedoch auch gerne einmalig eine der Donnerstagsgruppen besuchen. Bitte versuchen Sie, sich möglichst gleichmäßig auf die Übungen zu verteilen. Besuchen Sie die Übungen und machen Sie die Hausaufgaben! Diesen Stoff kann man nur durch regelmäßiges Üben erlernen. Auswendiglernen hilft nicht besonders viel. Die Übungen beginnen in der dritten Semesterwoche am Donnerstag, den 27. Oktober. Die Montags- und Dienstagsgruppen fangen erst in der vierten Semesterwoche an! Barbara König Modellierung 7 Barbara König Modellierung 8

3 Hinweise zu den Übungen Hinweise zu den Übungen Das Übungsblatt wird jeweils am Dienstag ins Netz gestellt. Das erste Übungsblatt wird am 18. Oktober bereitgestellt. Die schriftlichen Aufgaben müssen bis spätestens Mittwoch, 16 Uhr, der darauffolgenden Woche abgegeben werden. In dieser Woche wird dann auch das Übungsblatt besprochen. Abgabe durch Elektronische Abgabe über die Lernplattform Moodle oder Briefkasten: Einwurf in den neben Raum LF259. Bitte geben Sie auf Ihrer Lösung deutlich Ihren Namen, Ihre Matrikelnummer, Ihre Gruppennnumer und das Fach an. Elektronische Abgaben sind nur als PDF zulässig! Bitte benennen Sie Dateien nach folgendem Schema (um eine eindeutige Namenswahl zu gewährleisten): <nachname>-<blattnr>.pdf Sie dürfen in Einer- oder Zweier-Gruppen abgeben. Plagiate oder das Kopieren alter Musterlösungen sind selbstverständlich nicht erlaubt! In diesem Fall vergeben wir keine Punkte. Klausur Barbara König Modellierung 9 Klausur Barbara König Modellierung 10 Die Vorlesung wird durch eine Klausur am Ende des Semesters geprüft: Voraussichtlicher Termin: 14. Februar 2012 Die genaue Uhrzeit und der Raum werden noch bekanntgegeben. Die Anmeldung erfolgt über das Prüfungsamt Es gibt folgende Bonusregelung: Mit 50% der Hausaufgabenpunkten gibt es einen Bonus für die Klausur. Auswirkung: Verbesserung um eine Notenstufe; z.b. von 2,3 auf 2,0 (konkret: zwei Zusatzpunkte in der Klausur) Barbara König Modellierung 11 Barbara König Modellierung 12

4 Literatur Literatur Bernd Baumgarten: Petri-Netze. Grundlagen und Anwendungen, Spektrum, Wolfgang Reisig: Petri-Netze Eine Einführung, Springer, Das Buch ist vergriffen, ist aber in der Bibliothek verfügbar. Ebenfalls vergriffen und in der Bibliothek verfügbar. Es gibt jedoch eine neue Version: Wolfgang Reisig: : Modellierungstechnik, Analysemethoden, Fallstudien, Vieweg+Teubner, buch/ Literatur Barbara König Modellierung 13 Literatur Barbara König Modellierung 14 L. Priese, H. Wimmel: Petri-Netze, Springer, Tadao Murata: Petri Nets: Properties, Analysis and Applications. Proc. of the IEEE, 77(4), Online verfügbar als PDF: Online verfügbar unter (Zugriff über Uni-Rechner) Barbara König Modellierung 15 Barbara König Modellierung 16

5 Literatur Literatur G. Booch, J. Rumbaugh, I. Jacobson: The Unified Modeling Language User Guide, Addison Wesley, M. Jeckle, C. Rupp, J. Hahn, B. Zengler, S. Queins: UML 2 glasklar, Hanser Fachbuch, Literatur Barbara König Modellierung 17 Literatur Barbara König Modellierung 18 R. Miles, K. Hamilton: Learning UML 2.0, O Reilly, Christoph Kecher: UML Das umfassende Handbuch. Galileo Press, Online verfügbar unter (Zugriff über Uni-Rechner) Buch ist in der Bibliothek verfügbar. Barbara König Modellierung 19 Barbara König Modellierung 20

6 Literatur Literatur Perdita Stevens, Rob Pooley: UML - Softwareentwicklung mit Objekten und Komponenten. Pearson, David Harel: Statecharts: a visual formalism for complex systems. Science of Computer Programming 8, pp North-Holland Online verfügbar als PDF: SCANNED.PAPERS/Statecharts.pdf Buch (vor allem das englische Original) ist in der Bibliothek verfügbar. Literatur Barbara König Modellierung 21 Folien Barbara König Modellierung 22 Hinweise: Die Bücher sind als Ergänzung gedacht, sie präsentieren den Stoff oft aus einem anderen Blickwinkel. Sehen Sie sich die Bücher erst an, bevor Sie sie kaufen. Nicht jede/r kommt mit jedem Buch zurecht. Die Bibliothek (LK) ist ein guter Platz um nach Büchern zu stöbern (Informatik-Abteilung im 1. Stock, Lehrbuchsammlung im Keller) Wagen Sie sich auch an englische Literatur, englische Fachsprache ist zumeist gut verständlich Folien werden im Web als PDF bereitgestellt regelmäßig aktualisiert Die Folien werden sich gegenüber dem letzten Jahr relativ wenig verändern. Von daher macht es Sinn, sich die Folien des Vorjahres schon einmal anzusehen (siehe jordan.inf.uni-due.de/teaching/ws0910/mod/ bzw. den Link auf der Vorlesungs-Webseite). Barbara König Modellierung 23 Barbara König Modellierung 24

7 Was ist Modellierung? Was ist Modellierung? Modell Ein Modell ist eine Repräsentation eines Systems von Objekten, Beziehungen und/oder Abläufen. Ein Modell vereinfacht und abstrahiert dabei im allgemeinen das repräsentierte System. System Der Begriff System wird hier sehr allgemein verwendet. Er kann entweder einen Teil der Realität oder ein noch nicht bestehendes Gebilde, das noch erstellt werden muss, bezeichnen. Modellierung Modellierung ist der Prozess, bei dem ein Modell eines Systems erstellt wird. Warum sollte man modellieren? Um ein System zu entwerfen, besser zu verstehen, zu visualisieren, zu simulieren,... Um etwas konkreter zu werden betrachten wir den Begriff der Modellierung in verschiedenen Disziplinen (Physik, Biologie, Klimaforschung,... ) Modellierung in der Physik Barbara König Modellierung 25 Modellierung in der Biologie Barbara König Modellierung 26 Atommodelle Atome bestehen aus Protonen, Neutronen und Elektronen. Wie diese Teilchen zusammenwirken, wird in verschiedenen Atommodellen beschrieben, die sich im Laufe der Zeit immer wieder geändert haben. Zitronensäurezyklus Der Zitronensäurezyklus oder Citratzyklus modelliert den Abbau organischer Stoffe im Körper. Barbara König Modellierung 27 Barbara König Modellierung 28

8 Modellierung in der Klimaforschung Arten von Modellen Modell des Transports von Gasen in der Atmosphäre visuell vs. textuell Nicht alle Modelle sind visuell bzw. graphisch. Auch mit textuellen Beschreibunge und Formeln kann man modellieren (siehe beispielsweise mathematische Modelle). Dennoch werden häufig graphische Darstellungen benutzt, auch aus didaktischen Gründen und um sich besser über die Modelle verständigen zu können. Arten von Modellen Barbara König Modellierung 29 Arten von Modellen Barbara König Modellierung 30 qualitativ vs. quantitativ qualitative Modelle: Welche Objekte gibt es? Was passiert? Warum passiert es? In welcher Reihenfolge geschehen die Ereignisse? Was sind die kausalen Zusammenhänge? Welche Phänomene treten auf? quantitative Modelle: Wieviele Objekte gibt es? Wie lange dauert ein Vorgang? Wie wahrscheinlich ist ein bestimmtes Ereignis? black box vs. white box black box: nur das von außen beobachtbare Verhalten wird beschrieben white box: es wird auch beschrieben, wie das von außen beobachtbare Verhalten im Inneren des Systems erzeugt wird Barbara König Modellierung 31 Barbara König Modellierung 32

9 Arten von Modellen Arten von Modellen statisch vs. dynamisch ein statisches Modell beschreibt einen Zustand des Systems zu einem bestimmten Zeitpunkt ein dynamisches Modell beschreibt hingegen auch, wie das System sich entwickelt (ein oder mehrere mögliche Abläufe oder sogar das gesamte Systemverhalten) nicht-formell vs. semi-formal vs. formal Je nach Exaktheit der Modelle erhält man: formale Modelle, die vollkommen exakt in ihren Aussagen sind (vor allem mathematische Modelle) semi-formale Modelle, die teilweise exakt sind, jedoch nicht alles vollständig spezifieren nicht-formale Modelle, die als grobe Richtlinie dienen können, jedoch eher vage Aussagen machen Probleme mit nicht-formalen Modellen Barbara König Modellierung 33 Probleme mit nicht-formalen Modellen Barbara König Modellierung 34 Natürliche Sprache ist nicht immer eindeutig. Beispiel: Ich sah den Mann auf dem Berg mit dem Fernrohr. (((Ich sah den Mann) auf dem Berg) mit dem Fernrohr) Barbara König Modellierung 35 Barbara König Modellierung 36

10 Probleme mit nicht-formalen Modellen Probleme mit nicht-formalen Modellen ((Ich sah (den Mann auf dem Berg)) mit dem Fernrohr) ((Ich sah den Mann) (auf dem Berg mit dem Fernrohr)) Probleme mit nicht-formalen Modellen Barbara König Modellierung 37 Probleme mit nicht-formalen Modellen Barbara König Modellierung 38 (Ich sah ((den Mann auf dem Berg) mit dem Fernrohr)) (Ich sah (den Mann (auf dem Berg mit dem Fernrohr))) Barbara König Modellierung 39 Barbara König Modellierung 40

11 Probleme mit nicht-formalen Modellen Probleme mit nicht-formalen Modellen (((Ich sah den Mann) auf dem Berg) mit dem Fernrohr) Auch graphische Darstellungen können uneindeutig sein: ((Ich sah (den Mann auf dem Berg)) mit dem Fernrohr) ((Ich sah den Mann) (auf dem Berg mit dem Fernrohr)) 5 mögliche Interpretationen! (Ich sah ((den Mann auf dem Berg) mit dem Fernrohr)) (Ich sah (den Mann (auf dem Berg mit dem Fernrohr))) Modellierung in der Informatik Barbara König Modellierung 41 Wozu ist Modellierung gut? Barbara König Modellierung 42 In dieser Vorlesung geht es um Modellierungsmethoden in der Informatik. Diese werden zum Entwurf folgender Systeme eingesetzt: (Objekt-orientierte) Programme (Große) Software-Systeme Benutzeroberflächen Datenbanken Virtual Reality, Computer-Spiele... Wozu benötigt man Modelle? je komplexer ein System ist, desto wichtiger ist es, einen Plan zu erstellen, bevor man beginnt das System zu konstruieren dies führt zu: Vermeidung von Fehlern besserer Qualität niedrigeren Kosten besserer Dokumentation und Wiederverwendbarkeit Barbara König Modellierung 43 Barbara König Modellierung 44

12 Wozu ist Modellierung gut? Wozu ist Modellierung gut? Analogie: Bau eines Hauses Analogie: Bau eines Hauses Beim Bau einer Hundehütte kann man zumeist ohne große Planung vorgehen. Die Hütte kann von einer einzelnen Person erstellt werden und ein Hund hat zumeist keine großen Anforderungen. Beim Bau eines Einfamilienhauses ist Planung viel wichtiger. Die Familie ist anspruchsvoller als ein Hund, Bauvorschriften müssen eingehalten werden und vermutlich werden nicht alle Arbeiten von derselben Person durchgeführt. Wozu ist Modellierung gut? Analogie: Bau eines Hauses Beim Bau eines Hochhauses ist ohne Erstellung eines detaillierten Plans bzw. Modells nicht möglich. Das Risiko, Fehler zu machen ist sehr groß, und Fehler können extrem kostspielig werden. Barbara König Modellierung 45 Barbara König Modellierung 47 Wozu ist Modellierung gut? Barbara König Modellierung 46 Modellierung ist in der Informatik weniger verbreitet als in den Ingenieurwissenschaften, aber ebenso wichtig. Schwierigkeiten beim Entwurf komplexer Systeme Menschen können sich komplexe Systeme normalerweise nicht in vollem Umfang vorstellen Bei mehreren Menschen/Entwicklern gibt es unterschiedliche Meinungen darüber, wie das System aussehen muss Modelle dienen zu Kommunikation! Es ist schwer ein System zu dokumentieren und zu warten, das nicht explizit modelliert ist. Feststellung (nach Glinz) Die Entwicklung von Klein-Software unterscheidet sich fundamental von der Entwicklung größerer Software. Barbara König Modellierung 48

13 Probleme bei der Entwicklung großer Systeme Probleme bei der Entwicklung großer Systeme Klein-Groß-Gegensätze in der Software-Entwicklung: klein Programme bis ungefähr 300 Zeilen Für den Eigengebrauch Vage Zielsetzung genügt, das Produkt ist seine eigene Spezifikation groß Längere Programme Für den Gebrauch durch Dritte Genaue Zielbestimmung, d.h. die Spezifikation von Anforderungen, erforderlich klein Ein Schritt vom Problem zur Lösung genügt: Lösung wird direkt programmiert Validierung (Überprüfung/Testen) und nötige Korrekturen finden am Endprodukt statt groß Mehrere Schritte vom Problem zur Lösung erforderlich: Spezifikation, Konzept, Entwurf und Programmieren der Teile, Zusammensetzen, Inbetriebnahme Auf jeden Entwicklungsschritt muss ein Prüfschritt folgen, sonst kann Endergebnis unbrauchbar werden Barbara König Modellierung 49 Probleme bei der Entwicklung großer Systeme Barbara König Modellierung 50 Probleme bei der Entwicklung großer Systeme klein Eine Person entwickelt: keine Kooperation und Kommunikation erforderlich Komplexität des Problems in der Regel klein, Strukturieren und Behalten der Übersicht nicht schwierig groß Mehrere Personen entwickeln gemeinsam: Koordination und Kommunikation notwendig Komplexität des Problems größer bis sehr groß, explizite Maßnahmen zur Strukturierung und Modularisierung erforderlich klein Software besteht aus wenigen Komponenten In der Regel wird keine Dokumentation erstellt groß Software besteht aus vielen Komponenten, die spezielle Maßnahmen zur Komponentenverwaltung erfordern Dokumentation dringend erforderlich, damit Software wirtschaftlich betrieben und gepflegt werden kann Barbara König Modellierung 51 Barbara König Modellierung 52

14 Probleme bei der Entwicklung großer Systeme Probleme bei der Entwicklung großer Systeme Explosion der Anzahl der Kommunikationspfade bei Anstieg der Entwicklerzahl: klein groß Anzahl Personen: Keine Planung und Projektorganisation erforderlich Planung und Projektorganisation zwingend erforderlich für eine zielgerichtete, wirtschaftliche Entwicklung Anzahl Komm.pfade: Quantensprung: Kommunikation wird erforderlich Quantensprung: Zahl der Komm.pfade übersteigt Zahl der Personen Barbara König Modellierung 53 Probleme bei der Entwicklung großer Systeme Wozu ist Modellierung gut? Barbara König Modellierung 54 Die Problematik bei der Erstellung großer Programme sieht man auch an folgenden Zahlen (nach Boehm 1981): 40% der Zeit wird mit der Entwicklung verbracht (davon: 15% Spezifikation; 8% Codierung; 16% Test) 60% der Zeit wird für die Wartung aufgewendet (12% Anpassung; 36% Erweiterung und Verbesserung; 12% Fehlerbehebung) Aus diesen Fakten und Zahlen ergibt sich folgende Konsequenz: Vor allem bei der Erstellung großer Systeme ist es unbedingt erforderlich, zunächst das System zu modellieren, bevor es implementiert bzw. konstruiert wird. Meistens sind auch mehrere verschiedene Modelle erforderlich. Aus Gründen der Übersichtlichkeit und Didaktik werden wir uns in der Vorlesung jedoch hauptsächlich mit kleinen Modellen befassen. Barbara König Modellierung 55 Barbara König Modellierung 56

15 Beispiel: Wolf, Ziege, Kohlkopf Beispiel: Wolf, Ziege, Kohlkopf Statisches Modell I: Beteiligte Akteure/Objekte Wir modellieren folgendes System, um eine möglich Lösung zu finden. Wolf-Ziege-Kohlkopf-Problem Ein Bauer will einen Fluss überqueren. Er hat einen Wolf, eine Ziege und einen Kohlkopf bei sich. Wenn sie alleingelassen werden, so frisst der Wolf die Ziege, und die Ziege den Kohlkopf. Zur Überquerung des Flusses steht ein Boot mit zwei Plätzen zur Verfügung. Nur der Bauer kann rudern und er kann das Boot entweder allein benutzen oder ein Tier oder den Kohlkopf mitnehmen. Beispiel: Wolf, Ziege, Kohlkopf Barbara König Modellierung 57 Statisches Modell II: Fress- und Eigentumsbeziehungen zwischen den Akteuren Beispiel: Wolf, Ziege, Kohlkopf Barbara König Modellierung 58 Ausgangssituation: vor Überquerung des Flusses besitzt besitzt besitzt Boot frisst frisst Barbara König Modellierung 59 Barbara König Modellierung 60

16 Beispiel: Wolf, Ziege, Kohlkopf Beispiel: Wolf, Ziege, Kohlkopf Zielsituation: nach Überquerung des Flusses Dynamisches Modell: Beispielablauf, erster Schritt Bauer und Wolf setzen gemeinsam über Boot Boot Beispiel: Wolf, Ziege, Kohlkopf Barbara König Modellierung 61 Dynamisches Modell: Beispielablauf, zweiter Schritt Ziege frisst Kohlkopf Boot Syntax und Semantik Barbara König Modellierung 62 Man unterscheidet bei der Modellierung zwischen: Syntax: Symbole und Diagramme, die für die Darstellung des Modells genutzt werden dürfen Im Beispiel: Bild der Ziege, blaue Fläche, etc. Semantik: Bedeutung, die sich hinter den Symbolen verbirgt Im Beispiel: Die blaue Fläche symbolisiert den Fluss. Die Pfeile bedeuten: Fluss wird überquert Zu einer Syntax gibt es nicht immer eine dazugehörige Semantik (im Beispiel ist die Semantik sehr vage). Wünschenswert ist jedoch im allgemeinen, dass die Bedeutung aller Symbole möglichst präzise festgelegt wird. Einigung auf eine gemeinsame Sprache/Notation, auf gemeinsame visuelle Beschreibungen zur Vermeidung von Missverständnissen. Barbara König Modellierung 63 Barbara König Modellierung 64

17 Weitere Aspekte Inhalt der Vorlesung Weitere wichtige Gesichtspunkte sind: Analyse: Ist das Modell korrekt? Ist es in sich konsistent? Stimmt das Modell mit der späteren Implementierung überein? (Hier werden Verfahren zum Testen und zur Verifikation benötigt) Werkzeuge, Software-Tools: werden benötigt zum Zeichnen, zum Darstellen (Wechsel zwischen verschiedenen Darstellungen), zum Archivieren, zur Code-Generierung, zur Analyse,... Inhalt Mathematische Grundlagen Graphen für statische und dynamische Systembeschreibungen UML (Unified Modeling Language) Graphen Barbara König Modellierung 65 Barbara König Modellierung 66 Graphen bestehen aus Knoten und Kanten. Sie können eingesetzt werden für Statische Modellierung: Komponenten und Beziehungen zwischen den Komponenten Dynamische Modellierung: Zustände und Zustandsübergänge in Form eines Zustandsübergangsdiagramms 1 a 2 c b 3 Modell für nebenläufige und verteilte Systeme, das die gemeinsame Nutzung von Ressourcen beschreibt. Schwerpunkt liegt auf der Modellierung des dynamischen Verhaltens. Etabliertes Modell, das vielfältig eingesetzt wird. Formale Semantik. Erfunden von Carl Adam Petri (1962). Stelle Marke Transition Barbara König Modellierung 67 Barbara König Modellierung 68

18 UML: Unified Modeling Language Inhalt der Vorlesung Standard-Modellierungssprache für Software Engineering. Basiert auf objekt-orientierten Konzepten. Sehr umfangreich, enthält viele verschiedene Typen von Modellen. Entwickelt von Grady Booch, James Rumbaugh, Ivar Jacobson (1997). Die vorgestellten Modellierungsmethoden sind nicht die einzigen Modellierungsmethoden in der Informatik. Hier: Fokus auf visuelle Modellierung mit Hilfe von Diagrammen Mögliche Alternative: algebraische Modellierungsmethoden, die sich stärker an der Mathematik orientieren Barbara König Modellierung 69 Ein weiteres Beispiel: Einschreiben an der Universität Barbara König Modellierung 70 Ein weiteres Beispiel: Einschreiben an der Universität Darstellung des zeitlichen Ablaufs durch Symbolisieren der beteiligten Partner als Linien und der Kommunikation durch Pfeile (Ausschnitt). Szenario: Eine Reorganisation der Universität, und insbesondere des Studiensekretariats, das für Einschreibungen zuständig ist, steht an. Hierzu soll der Ablauf des Einschreibens neuer Studierender modelliert werden... zeitlicher Ablauf Universität Student/in Studiensekretariat Studieninformation anfordern Studieninformation Aufstellen Bonautomat Anfordern Bon Ausgeben Bon Unterlagen schicken Besuch der Einführungsveranstaltung Barbara König Modellierung 71 Barbara König Modellierung 72

19 Ein weiteres Beispiel: Einschreiben an der Universität Notation: Mengen und Funktionen Solche Diagramme sind übrigens Bestandteil von UML. Sie werden Sequenzdiagramme (engl. sequence diagrams, auch message sequence charts) genannt. Menge Menge M von Elementen, wird beschrieben als Aufzählung M = {0, 2, 4, 6, 8,... } oder als Menge von Elementen mit einer bestimmten Eigenschaft M = {n n N 0 und n gerade}. Allgemeines Format: M = {x P(x)} (M ist Menge aller Elemente x, die die Eigenschaft P erfüllen.) Notation: Mengen und Funktionen Barbara König Modellierung 73 Notation: Mengen und Funktionen Barbara König Modellierung 74 Bemerkungen: Die Elemente einer Menge sind ungeordnet, d.h., ihre Ordnung spielt keine Rolle. Beispielsweise gilt: {1, 2, 3} = {1, 3, 2} = {2, 1, 3} = {2, 3, 1} = {3, 1, 2} = {3, 2, 1} Ein Element kann nicht mehrfach in einer Menge auftreten. Es ist entweder in der Menge, oder es ist nicht in der Menge. Beispielsweise gilt: {1, 2, 3} {1, 2, 3, 4} = {1, 2, 3, 4, 4} Element einer Menge Wir schreiben a M, falls ein Element a in der Menge M enthalten ist. Anzahl der Elemente einer Menge Für eine Menge M gibt M die Anzahl ihrer Elemente an. Teilmengenbeziehung Wir schreiben A B, falls jedes Element von A auch in B enthalten ist. Die Relation heißt auch Inklusion. Barbara König Modellierung 75 Barbara König Modellierung 76

20 Notation: Mengen und Funktionen Notation: Mengen und Funktionen Vereinigung Die Vereinigung zweier Mengen M 1, M 2 ist die Menge M, die die Elemente enthält, die in M 1 oder M 2 vorkommen. Man schreibt dafür M 1 M 2. M 1 M 2 = {a a M 1 oder a M 2 } Schnitt Der Schnitt zweier Mengen M 1, M 2 ist die Menge M, die die Elemente enthält, die sowohl in M 1 als auch in M 2 vorkommen. Man schreibt dafür M 1 M 2. Kreuzprodukt Seien A, B zwei Menge. Die Menge A B is die Menge aller Paare (a, b), wobei das erste Element des Paars aus A, das zweite aus B kommt. A B = {(a, b) a A, b B} Beispiel: {1, 2} {3, 4, 5} = {(1, 3), (1, 4), (1, 5), (2, 3), (2, 4), (2, 5)} Es gilt: A B = A B (für endliche Menge A, B). M 1 M 2 = {a a M 1 und a M 2 } Notation: Mengen und Funktionen Barbara König Modellierung 77 Notation: Mengen und Funktionen Barbara König Modellierung 78 Bemerkungen: Wir betrachten nicht nur Paare, sondern auch sogenannte Tupel, bestehend aus mehreren Elementen. Ein Tupel (a 1,..., a n ) bestehend aus n Elementen heißt auch n-tupel. In einem Tupel sind die Elemente geordnet! Beispielsweise gilt: (1, 2, 3) (1, 3, 2) N 0 N 0 N 0 Ein Element kann mehrfach in einem Tupel auftreten. Tupel unterschiedlicher Länge sind immer verschieden. Beispielsweise: (1, 2, 3, 4) (1, 2, 3, 4, 4) Potenzmenge Sei M eine Menge. Die Menge P(M) ist die Menge aller Teilmengen von M. P(M) = {A A M} Beispiel: P({1, 2, 3}) = {, {1}, {2}, {3}, {1, 2}, {1, 3}, {2, 3}, {1, 2, 3}}. Es gilt: P(M) = 2 M (für eine endliche Menge M). Merke: Runde Klammern (, ) und geschweifte Klammern {, } stehen für ganz verschiedene mathematische Objekte! Barbara König Modellierung 79 Barbara König Modellierung 80

21 Notation: Mengen und Funktionen Graphen Funktion f : A B a f (a) Graphen sind netzartige Strukturen, bestehend aus Knoten und Kanten. Sie bilden die Grundlagen vieler diagrammatischer Modellierungstechniken. Die Funktion f bildet ein Element a A auf ein Element f (a) B ab. Dabei ist A der Definitionsbereich und B der Wertebereich. Beispiel (Quadratfunktion): f : Z N 0, f (n) = n 2..., 3 9, 2 4, 1 1, 0 0, 1 1, 2 4, 3 9,... Dabei ist N 0 die Menge der natürlichen Zahlen (mit der Null) und Z die Menge der ganzen Zahlen. Gerichteter Graph Sei L eine Menge von Beschriftungen (oder Labels). Ein gerichteter (beschrifteter) Graph G = (V, E) besteht aus einer Knotenmenge V und einer Kantenmenge E V L V. Bemerkung: V steht für vertices und E für edges. Graphen Barbara König Modellierung 81 Graphen Barbara König Modellierung 82 Beispiel (Bauer, Wolf, Ziege, Kohlkopf): V = {B, W, Z, K} L = {besitzt, frisst} E = {(B, besitzt, W ), (B, besitzt, Z), (B, besitzt, K), (W, frisst, Z), (Z, frisst, K)} Graphische Darstellung: B besitzt besitzt besitzt Weitere Arten von Graphen: Ungerichtete Graphen Bei ungerichteten Graphen spielt die Richtung der Kanten keine Rolle. Formal sind Kanten zweielementige Teilmengen der Knotenmenge (statt Tupel). a b A c c B C D frisst frisst W Z K Barbara König Modellierung 83 Barbara König Modellierung 84

22 Graphen Graphen Graphen mit Knotenbeschriftung Auch Knoten können Beschriftungen tragen, wobei zwei verschiedene Knoten auch gleich beschriftet sein dürfen. besitzt besitzt Mensch B besitzt Hypergraphen Bei Hypergraphen kann eine Kante (symbolisiert durch ein Quadrat oder Rechteck) mit einer beliebigen Anzahl von Knoten verbunden sein. Evtl. sind dabei die Knoten im Bezug auf die Kante geordnet (wie bei gerichteten Graphen). A frisst frisst W Z K a c Tier Tier Gemüse B C b D Graphen Barbara König Modellierung 85 Zustandsübergangsdiagramme Barbara König Modellierung 86 Graphen können in vielfältiger Weise zur Modellierung eingesetzt werden. Wir betrachten zwei typische Fälle. Graphen zur statischen Modellierung Knoten sind Komponenten oder Objekte, die untereinander über Kanten verbunden sind bzw. in Beziehung stehen. Beispiel: Beziehungen zwischen Bauer, Wolf, Ziege, Kohlkopf Barbara König Modellierung 87 Graphen zur dynamischen Modellierung Knoten sind Zustände und Kanten sind Zustandsübergänge. Klassischer Vertreter: Zustandsübergangsdiagramme (auch Transitionssysteme genannt) Zustandsübergangsdiagramm Ein Zustandsübergangsdiagramm besteht aus einem gerichteten Graphen (Z, U), wobei Z (= Zustände) die Knotenmenge des Graphen und U (= Übergänge) die Kantenmenge der Graphen ist, und außerdem aus einem Startzustand z 0 Z. Zustandsübergangsdiagramme werden graphisch wie gerichtete Graphen dargestellt. Der Startzustand (auch Anfangszustand genannt) wird dabei meist durch eine eingehende Pfeilspitze gekennzeichnet. Barbara König Modellierung 88

23 Zustandsübergangsdiagramme Zustandsübergangsdiagramm Beispiel: Zustandsübergangsdiagramm für die Übergänge beim Wolf-Ziege-Kohlkopf-Problem. BWZK Misserfolg! ZK BW WK BZ K BWZ BWK Z W BZK Misserfolg! BK WZ BZK W BWZ K BW ZK Misserfolg! Erfolg! Z BWK BZ WK BWZK WZ BK WZK B B WZK Misserfolg! Misserfolg! Misserfolg! Bemerkungen: Der senkrechte Strich steht für den Fluss. Links und rechts davon befinden sich die Akteure/Objekte (B = Bauer, W = Wolf, Z = Ziege, K = Kohlkopf) Übergänge sind aus Gründen der Übersichtlichkeit nicht beschriftet. Sinnvolle Beschriftungen wären die ausgeführten Aktionen ( Bauer bringt Ziege über den Fluss, etc.) Eckige (rote) Zustände symbolisieren hier Misserfolg (z.b. Ziege frisst Kohlkopf ). Kanten, die aus solchen Zuständen herausführen, wurden weggelassen. Die doppelte (blaue) Ellipse symbolisiert hier Erfolg (erwünschter Zielzustand ist erreicht) Zustandsübergangsdiagramme Barbara König Modellierung 89 Motivation: Barbara König Modellierung 90 Eigenschaften von n, Überdeckbarkeitsgraphen Weitere Bemerkungen: Es gibt mehrere (sogar unendlich viele) Wege zum Zielzustand. Die zwei kürzesten enthalten jeweils sieben Übergänge. Zustandsübergangsdiagramme selbst relativ einfacher Systeme werden oft erstaunlich groß (sogenannte Zustandsexplosion). Wichtig: Zustandsübergangsdiagramme stellen im allgemeinen alle Zustände und alle Übergänge eines Systems dar. sind ein Formalismus zur Modellierung von nebenläufigen Systemen mit folgenden Eigenschaften: Vorstellung von Systemübergängen, bei denen gemeinsame Ressourcen konsumiert und neu erzeugt werden können. Einfache Modellierung von räumlicher Verteilung der Ressourcen, Nebenläufigkeit, Parallelität und (Zugriffs-)Konflikten. Intuitive graphische Darstellung. werden in der Praxis vielfach benutzt. In UML sind sie abgewandelt als sogenannte Aktivitätsdiagramme (engl. activity diagrams) eingegangen. Eingeführt wurden Sie in der Doktorarbeit von Carl Adam Petri: Kommunikation mit Automaten, Bonn, Barbara König Modellierung 91 Barbara König Modellierung 92

24 Motivation: Eigenschaften von n, Überdeckbarkeitsgraphen Motivation: Eigenschaften von n, Überdeckbarkeitsgraphen Parallelität versus Nebenläufigkeit: Parallelität Zwei Ereignisse finden parallel statt, wenn sie gleichzeitig ausgeführt werden. Nebenläufigkeit Zwei Ereignisse sind nebenläufig, wenn sie parallel ausgeführt werden können (jedoch nicht müssen), das heißt, wenn zwischen ihnen keine kausale Abhängigkeit besteht. Anwendungen für : Modellierung von Büroabläufen (work flow, business processes) Modellierung und Analyse von Web Services Beschreibung von graphischen Benutzeroberflächen Prozessmodellierung bei Betriebssystemen Ablaufbeschreibungen in ingenieurwissenschaftlichen Anwendungen... Das bedeutet: Nebenläufigkeit ist der allgemeinere Begriff. Motivation: Barbara König Modellierung 93 Eigenschaften von n, Überdeckbarkeitsgraphen Motivation: Barbara König Modellierung 94 Eigenschaften von n, Überdeckbarkeitsgraphen Beispiel für ein Petrinetz: Darstellung einer Transition: Vorbedingung (Stellen, aus denen Marken konsumiert werden) Nachbedingung (Stellen, in denen Marken erzeugt werden) Notation: Stellen (dargestellt als Kreise): Mögliche Plätze für Ressourcen Marken (dargestellt als kleine ausgefüllte Kreise): Ressourcen Transitionen (dargestellt durch Rechtecke): Systemübergänge Das Entfernen der Marken der Vorbedingung und Erzeugen der Marken der Nachbedingung nennt man Schalten bzw. Feuern der Transition. Barbara König Modellierung 95 Barbara König Modellierung 96

25 Motivation: Eigenschaften von n, Überdeckbarkeitsgraphen Motivation: Eigenschaften von n, Überdeckbarkeitsgraphen Motivation: Barbara König Modellierung 97 Eigenschaften von n, Überdeckbarkeitsgraphen Motivation: Barbara König Modellierung 97 Eigenschaften von n, Überdeckbarkeitsgraphen Barbara König Modellierung 97 Barbara König Modellierung 97

26 Motivation: Eigenschaften von n, Überdeckbarkeitsgraphen Motivation: Eigenschaften von n, Überdeckbarkeitsgraphen Motivation: Barbara König Modellierung 97 Eigenschaften von n, Überdeckbarkeitsgraphen Motivation: Barbara König Modellierung 97 Eigenschaften von n, Überdeckbarkeitsgraphen Barbara König Modellierung 97 Barbara König Modellierung 97

27 Motivation: Eigenschaften von n, Überdeckbarkeitsgraphen Motivation: Eigenschaften von n, Überdeckbarkeitsgraphen Motivation: Barbara König Modellierung 97 Eigenschaften von n, Überdeckbarkeitsgraphen Motivation: Barbara König Modellierung 97 Eigenschaften von n, Überdeckbarkeitsgraphen Barbara König Modellierung 97 Barbara König Modellierung 97

28 Motivation: Eigenschaften von n, Überdeckbarkeitsgraphen Beispiel: Dining Philosophers Eigenschaften von n, Überdeckbarkeitsgraphen Wir betrachten das Beispiel der Dining Philosophers (speisende Philosophen): Es sitzen drei Philosophen um einen runden Tisch, zwischen je zwei Philosophen liegt eine Gabel. Philosophen werden von Zeit zu Zeit hungrig und benötigen zum Essen beide benachbarte Gabeln. Jeder Philosoph nimmt zu einem beliebigen Zeitpunkt beide Gabeln nacheinander auf (die rechte zuerst), isst und legt anschließend beide Gabeln wieder zurück. P 1 F 1 P 2 F 3 F 2 P 3 Beispiel: Dining Philosophers Barbara König Modellierung 97 Eigenschaften von n, Überdeckbarkeitsgraphen : Definitionen Barbara König Modellierung 98 Eigenschaften von n, Überdeckbarkeitsgraphen E 1 Modellierung als Petrinetz: W 2 Petrinetz (Definition) Ein Petrinetz ist ein Tupel N = (S, T, (), (), m 0 ), wobei In dem Netz ist ein Deadlock (Verklemmung) erreichbar, d.h., eine Markierung, bei der keine Transition mehr geschaltet werden kann. W 1 F 3 E 3 H 1 F 1 H 3 F 2 H 2 E 2 S eine Menge von Stellen und T eine Menge von Transitionen ist. Außerdem gibt es für jede Transition t zwei Funktionen t : S N 0, t : S N 0, die angeben, wieviele Marken t aus einer Stelle entnimmt und in eine Stelle legt. m 0 : S N 0 ist die Anfangsmarkierung (oder initiale Markierung). Der Wert t(s) bzw. t (s) wird auch als Gewicht bezeichnet. W 3 Barbara König Modellierung 99 Barbara König Modellierung 100

29 : Definitionen Eigenschaften von n, Überdeckbarkeitsgraphen : Darstellung Eigenschaften von n, Überdeckbarkeitsgraphen Eine andere Definition stellt die Verbindungen zwischen Stellen und Transitionen und die dazugehörigen Gewichte als Graph dar: Markierung Eine Markierung ist eine Abbildung m : S N 0, die festlegt, wieviele Marken in jeder Stelle liegen. Falls eine Reihenfolge s 1,..., s n der Stellen fixiert wurde, kann eine Markierung m auch durch ein Tupel (m(s 1 ),..., m(s n )) dargestellt werden. F (S T ) (N 0 \{0}) (S T ) (Flussrelation), wobei nur Kanten der Form (s, n, t) (von Stelle zu Transition) und (t, n, s) (von Transition zu Stelle) mit s S, t T erlaubt sind. Zusammenhang zur eingeführten Notation: (s, n, t) F t(s) = n 0 (t, n, s) F t (s) = n 0 Manchmal werden auch unbeschriftete Kante eingeführt, denen dann mit Hilfe einer Funktion W ein Gewicht zugeordnet wird. : Darstellung Barbara König Modellierung 101 Eigenschaften von n, Überdeckbarkeitsgraphen : Darstellung Barbara König Modellierung 102 Eigenschaften von n, Überdeckbarkeitsgraphen Graphische Darstellung: Wir betrachten den Zusammenhang zwischen der mathematischen Notation und der graphischen Darstellung genauer: Stellen werden als Kreise, Transitionen als Quadrate oder Rechtecke, Marken als kleine schwarze ausgefüllte Kreise dargestellt Kanten zwischen Stellen und Transitionen werden als Pfeile dargestellt. Das Gewicht als Kantenbeschriftung kann weggelassen werden, falls es den Wert eins hat. Die Kante wird ganz weggelassen, falls das Gewicht den Wert 0 hat. t 2 s 1 s 2 t 1 2 s 3 t 3 Stellenordnung: s 1, s 2, s 3 S = {s 1, s 2, s 3 } T = {t 1, t 2, t 3 } t 1 (s 1 ) = 1 t 1 (s 2 ) = 1 t 1 (s 3 ) = 0 t 1 (s 1 ) = 0 t 1 (s 2 ) = 0 t 1 (s 3 ) = 2 oder: t 1 = (1, 1, 0) t 1 = (0, 0, 2)... m 0 (s 1 ) = 1 m 0 (s 2 ) = 2 m 0 (s 3 ) = 0 oder: m 0 = (1, 2, 0) Barbara König Modellierung 103 Barbara König Modellierung 104

30 : Darstellung Eigenschaften von n, Überdeckbarkeitsgraphen : Dynamik Eigenschaften von n, Überdeckbarkeitsgraphen t 2 Wir betrachten den Zusammenhang zwischen der mathematischen Notation und der graphischen Darstellung genauer: s 1 s 2 t 1 2 s 3 t 3 Alternative Darstellung (mit Flussrelation): S = {s 1, s 2, s 3 } T = {t 1, t 2, t 3 } F = {(s 1, 1, t 1 ), (s 2, 1, t 1 ), (t 1, 2, s 3 ), m 0 = (1, 2, 0) (s 3, 1, t 2 ), (t 2, 1, s 1 ), (s 3, 1, t 3 ), (t 3, 1, s 2 )} Relationen und Operationen auf Markierungen: Seien m, m : S N 0 zwei Markierungen, d.h. Abbildungen von Stellen auf natürliche Zahlen. Ordnung Es gilt m m, falls für alle s S gilt: m(s) m (s). In diesem Fall sagt man, dass m durch m überdeckt wird. Stellenordnung: s 1, s 2, s 3 : Dynamik Barbara König Modellierung 104 Eigenschaften von n, Überdeckbarkeitsgraphen : Dynamik Barbara König Modellierung 105 Eigenschaften von n, Überdeckbarkeitsgraphen Addition Wir definieren m = m m, wobei m : S N 0 mit m (s) = m(s) + m (s) für alle s S. Subtraktion Wir definieren m = m m, wobei m : S N 0 mit m (s) = m(s) m (s) für alle s S. Dabei gilt n k = 0, falls n, k N 0, n < k (modifizierte Subtraktion). Weitere Definitionen: Aktivierung Eine Transition t ist unter einer Markierung m aktiviert, falls t m gilt. (D.h., falls genug Marken vorhanden sind, um die Transition zu schalten.) Schalten Sei m eine Markierung und t eine Transition, die für m aktiviert ist. Dann kann t schalten, was zu der Nachfolgemarkierung m = m t t führt. Symbolisch m[t m. Barbara König Modellierung 106 Barbara König Modellierung 107

31 : Dynamik Eigenschaften von n, Überdeckbarkeitsgraphen : Dynamik Eigenschaften von n, Überdeckbarkeitsgraphen Weitere Definitionen: Erreichbarkeit Eine Markierung m heißt erreichbar in einem Netz, falls es eine Folge von Transitionen t 1,..., t n gibt mit m 0 [t 1 m 1... m n 1 [t n m, wobei m 0 die Anfangsmarkierung ist. t 2 s 1 s 2 t 1 2 t 3 Die Markierung m 2 = (1, 1, 1) ist in zwei Schritten erreichbar: t 1 = (1, 1, 0) (1, 2, 0) = m 0 m 1 = m 0 t 1 t 1 = (1, 2, 0) (1, 1, 0) (0, 0, 2) = (0, 1, 2) t 2 = (0, 0, 1) (0, 1, 2) = m 1 In diesem Fall schreibt man auch m 0 [t 1... t n m oder m 0 [ t m mit t = t 1... t n. Die Sequenz t heißt auch Schaltfolge. Auch die leere Schaltfolge t = ε is möglich. In diesem Fall ändert sich die Markierung nicht (m[ε m, für jede Markierung m). s 3 Es gilt also: m 0 [t 1 m 1 [t 2 m 2 m 2 = m 1 t 2 t 2 = (0, 1, 2) (0, 0, 1) (1, 0, 0) = (1, 1, 1) : Dynamik Barbara König Modellierung 108 Eigenschaften von n, Überdeckbarkeitsgraphen : Dynamik Barbara König Modellierung 109 Eigenschaften von n, Überdeckbarkeitsgraphen Zustandsübergangsdiagramm eines s Sei N = (S, T, (), (), m 0 ) ein Petrinetz. Dann besteht das zu N gehörende Zustandsübergangsdiagramm aus folgenden Komponenten: Menge der Beschriftungen L: Menge aller Transitionen Zustandsmenge Z: Menge aller erreichbaren Markierungen Übergangsmenge U: (m, t, m ) U m[t m. Beispiel: Bestimme den Erreichbarkeitsgraph für das folgende Beispielnetz t 2 s 1 s 2 t 1 2 t 3 Startzustand z 0 : die Anfangsmarkierung m 0 Das Zustandsübergangsdiagramm eines s heißt auch Erreichbarkeitsgraph. s 3 Barbara König Modellierung 110 Barbara König Modellierung 111

32 : Dynamik Eigenschaften von n, Überdeckbarkeitsgraphen : Dynamik Eigenschaften von n, Überdeckbarkeitsgraphen Erreichbarkeitsgraph für das Beispielnetz: t 3 (1, 2, 0) t 1 (0, 1, 2) t 3 (0, 2, 1) t 3 (0, 3, 0) t 3 t 2 t 2 (1, 1, 1) t 2 (2, 1, 0) t 1 (0, 0, 3) t 3 : Dynamik t 1 t 3 (1, 0, 2) t 2 t2 (2, 0, 1) t2 (3, 0, 0) Barbara König Modellierung 112 Eigenschaften von n, Überdeckbarkeitsgraphen Beispiel: Umwandlung eines Zustandsübergangsdiagramms in ein Petrinetz d a c e b Bemerkung: Die Konstruktion funktioniert immer dann, wenn jede Beschriftung im Zustandsübergangsdiagramm höchstens einmal vorkommt. d Barbara König Modellierung 114 a e c b Frage: Wie kann ein beliebiges Zustandsübergangsdiagramm in ein Petrinetz umgewandelt werden, das als Erreichbarkeitsgraph wieder das ursprüngliche Zustandsübergangsdiagramm besitzt? Idee: Zustände werden zu Stellen Übergänge werden zu Transitionen die Stelle, die den Anfangszustand darstellt, ist als einzige zu Beginn markiert Aber: das entstandene Petrinetz enthält keinerlei Nebenläufigkeit bei der Umwandlung Petrinetz Zustandsübergangsdiagramm Petrinetz wird das zweite Petrinetz im allgemeinen viel größer als das erste : Beschränktheit Sichere, beschränkte und unbeschränkte Netze Sei N ein Petrinetz. Das Netz N heißt Barbara König Modellierung 113 Eigenschaften von n, Überdeckbarkeitsgraphen beschränkt, wenn es eine Konstante c N 0 gibt, so dass für jede erreichbare Markierung m und jede Stelle s gilt, dass m(s) c. sicher (oder auch 1-sicher), wenn Für jede Transition t und für jede Stelle s gilt t(s) 1 und t (s) 1, d.h., alle Gewichte sind höchstens 1 und für jede erreichbare Markierung m und jede Stelle s gilt, dass m(s) 1. unbeschränkt, falls es für jede Konstante c N 0 eine erreichbare Markierung m und eine Stelle s gibt mit m(s) > c. Aufgabe: Finde ein Beispiel für ein unbeschränktes Netz. Barbara König Modellierung 115

33 Petrinetz-Beispiel: Keksautomat Eigenschaften von n, Überdeckbarkeitsgraphen Petrinetz-Beispiel: Keksautomat Eigenschaften von n, Überdeckbarkeitsgraphen Wir modellieren einen Keksautomaten mit folgenden Bestandteilen: Keksspeicher extern: Einwurfschlitz, Entnahmefach Münze einwerfen Schachtel entnehmen intern: Keksspeicher, Kasse, Signalweiterleitung (der Einwurf einer Münze soll ein Signal erzeugen, das die Ausgabe eines Kekses triggert) Einwurfschlitz Signal Entnahmefach Nach: Modellierungstechnik, Analysemethoden, Fallstudien von W. Reisig Einwurf möglich kein Signal Kasse Petrinetz-Beispiel: Keksautomat Barbara König Modellierung 116 Eigenschaften von n, Überdeckbarkeitsgraphen Barbara König Modellierung 117 Eigenschaften von n, Überdeckbarkeitsgraphen : Lebendigkeit und Verklemmungen Ist der Keksautomat so in Ordnung? Problem: Sobald der Keksspeicher leer ist, kann immer noch eine Münze eingeworfen werden, die dann nicht zurückgegeben wird. Es gibt verschiedene Lösungen für dieses Problem: Rückgabe der Münze, Keks-Zähler,... Wir betrachten nun Begriffe wie Lebendigkeit und Deadlock (= Verklemmung). (Starke) Lebendigkeit Ein Petrinetz N heißt (stark) lebendig, wenn es für jede Transition t und für jede erreichbare Markierung m eine Markierung m gibt, die von m erreichbar ist und unter der t aktiviert ist. Für den Erreichbarkeitsgraph bedeutet dies: von jedem Knoten des Graphen aus ist ein Übergang erreichbar, der mit der Transition t beschriftet ist. Barbara König Modellierung 118 Barbara König Modellierung 119

34 Eigenschaften von n, Überdeckbarkeitsgraphen : Lebendigkeit und Verklemmungen Eigenschaften von n, Überdeckbarkeitsgraphen : Lebendigkeit und Verklemmungen Schwache Lebendigkeit Ein Petrinetz N heißt schwach lebendig, wenn es für jede Transition t eine erreichbare Markierung m gibt, unter der t aktiviert ist. Für den Erreichbarkeitsgraph bedeutet dies: für jede Transition gibt es mindestens einen Übergang, der mit der Transition t beschriftet ist. Verklemmung Ein Petrinetz N enthält ein Deadlock oder eine Verklemmung, wenn es eine erreichbare Markierung m gibt, unter der keine Transition aktiviert ist. Für den Erreichbarkeitsgraph bedeutet dies: es gibt einen Knoten, von dem aus es keinen Übergang gibt. Ein Netz, das keine Verklemmung enthält, heißt verklemmungsfrei. Barbara König Modellierung 120 Eigenschaften von n, Überdeckbarkeitsgraphen : Lebendigkeit und Verklemmungen Barbara König Modellierung 121 Eigenschaften von n, Überdeckbarkeitsgraphen : Lebendigkeit und Verklemmungen Beispiele für Lebendigkeit und Verklemmungen: Eigenschaften der (starken) Lebendigkeit Für Netze, deren Transitionsmenge nicht leer ist, gilt: jedes (stark) lebendige Netz ist sowohl verklemmungsfrei, als auch schwach lebendig. Ein Beispiel für ein (stark) lebendiges Netz... Barbara König Modellierung 122 Barbara König Modellierung 123

35 Eigenschaften von n, Überdeckbarkeitsgraphen : Lebendigkeit und Verklemmungen Eigenschaften von n, Überdeckbarkeitsgraphen : Lebendigkeit und Verklemmungen Ein Beispiel für ein schwach lebendiges und verklemmungsfreies Netz, das jedoch nicht (stark) lebendig ist... Ein Beispiel für ein verklemmungsfreies Netz, das jedoch nicht schwach lebendig ist... Barbara König Modellierung 124 Eigenschaften von n, Überdeckbarkeitsgraphen : Lebendigkeit und Verklemmungen Barbara König Modellierung 125 Eigenschaften von n, Überdeckbarkeitsgraphen : Lebendigkeit und Verklemmungen Ein Beispiel für ein schwach lebendiges Netz, das jedoch eine Verklemmung enthält... Ein Beispiel für ein Netz, das eine Verklemmung enthält und das auch nicht schwach lebendig ist... Barbara König Modellierung 126 Barbara König Modellierung 127

36 Eigenschaften von n, Überdeckbarkeitsgraphen : Lebendigkeit und Verklemmungen : Überdeckbarkeitsgraph Eigenschaften von n, Überdeckbarkeitsgraphen Überblick über die verschiedenen Netzklassen (unter der Voraussetzung, dass jedes Netz mindestens eine Transition enthält): alle stark lebendige Netze verklemmungsfreie Netze Beobachtung: Ein Petrinetz ist unbeschränkt genau dann, wenn sein Erreichbarkeitsgraph unendlich groß ist. Gibt es in diesem Fall trotzdem noch eine graphische Darstellung, die in gewisser Weise alle erreichbaren Markierungen repräsentiert? Überdeckbarkeitsgraph schwach lebendige Netze : Überdeckbarkeitsgraph Barbara König Modellierung 128 Eigenschaften von n, Überdeckbarkeitsgraphen : Überdeckbarkeitsgraph Barbara König Modellierung 129 Eigenschaften von n, Überdeckbarkeitsgraphen Zugrundeliegende Ideen: Das Verhalten von n ist monoton, d.h., jede Schaltfolge ist auch dann noch möglich, wenn man zusätzliche Marken hinzufügt. Wenn im Erreichbarkeitsgraph zwei Markierungen m, m existieren, so dass gilt: m ist echt kleiner als m (in Zeichen m < m, d.h., m m und m m ) und es gibt einen Pfad von m zu m, dann kann man die Transitionsfolge von m zu m noch einmal schalten und erhält wiederum eine größere Markierung m. Konstruktion des Überdeckbarkeitsgraphen Führe zunächst wie gewohnt die Konstruktion des Erreichbarkeitsgraphen aus. Sobald eine neue Markierung m hinzugefügt wird, wobei es eine Vorgängermarkierung m mit m < m gibt... m 0 m m... ersetze m durch eine (ω-)markierung ˆm mit folgenden Eigenschaften: ˆm(s) = m (s), falls m(s) = m (s), und ˆm(s) = ω, falls m(s) < m (s), wobei s S. Mache dann mit der Konstruktion weiter, solange bis keine Markierungen mehr hinzugefügt werden können. Barbara König Modellierung 130 Barbara König Modellierung 131

37 : Überdeckbarkeitsgraph Eigenschaften von n, Überdeckbarkeitsgraphen : Überdeckbarkeitsgraph Eigenschaften von n, Überdeckbarkeitsgraphen Bemerkungen: Beispiel: Die neu erzeugten besonderen ω-markierungen ordnen einer Stelle unendlich viele Marken (repräsentiert durch ω). Dies nimmt das wiederholte Schalten der Transitionsfolge von m zu m vorweg, die in den ω-stellen beliebig viele Marken produzieren kann. Für ω-markierungen gilt beim Schalten von Transitionen: ω + k = ω und ω k = ω. Außerdem gilt ω als größer als jede natürliche Zahl. s 1 t 1 t 2 s 2 t 3 (1, 0, 0) t 1 (0, 1, 0) t 2 (1, 0, ω) t 3 t 3 (0, 0, 0) (0, 0, ω) Der englische Name für Überdeckbarkeitsgraphen ist coverability graphs. Reihenfolge der Stellen: s 1, s 2, s 3 s 3 t 1 t 2 (0, 1, ω) : Überdeckbarkeitsgraph Barbara König Modellierung 132 Eigenschaften von n, Überdeckbarkeitsgraphen : Überdeckbarkeitsgraph Barbara König Modellierung 133 Eigenschaften von n, Überdeckbarkeitsgraphen Eigenschaften des Überdeckbarkeitsgraphen (II) Eigenschaften des Überdeckbarkeitsgraphen (I) Die Konstruktion des Überdeckbarkeitsgraphen terminiert immer nach endlich vielen Schritten. ω-markierungen treten genau dann auf, wenn das Netz unbeschränkt ist. (D.h., der Überdeckbarkeitsgraph kann auch dazu verwendet werden, um zu überprüfen, ob ein Netz unbeschränkt ist.) Sei N ein Netz und G der dazugehörige Überdeckbarkeitsgraph. Dann gilt: Für jede erreichbare Markierung m von N gibt es einen Knoten m in G, mit m m. Für jeden Knoten m in G und jedes i N 0 gibt es eine erreichbare Markierung m in N, so dass für alle Stellen s gilt: m(s) = m (s), falls m (s) ω m(s) i, falls m (s) = ω. Frage: Ist für eine ω-markierung m in G vielleicht sogar jede Markierung m von N mit m m erreichbar? Barbara König Modellierung 134 Barbara König Modellierung 135

38 : Überdeckbarkeitsgraph Eigenschaften von n, Überdeckbarkeitsgraphen Eigenschaften von n, Überdeckbarkeitsgraphen : Kausalität, Nebenläufigkeit, Konflikt Nein! Gegenbeispiel: Reihenfolge der Stellen: s 1, s 2 s 1 t 1 2 s 2 (1, 0) t 1 (1, ω) Die Markierung (1, 1) ist kleiner als (1, ω), ist aber in dem Netz nicht erreichbar. t 1 Wichtige Begriffe bei n sind Nebenläufigkeit, Konflikt und Kausalität. Wir beschäftigen uns damit etwas genauer. Kausalität In einem Petrinetz N ist die Transition t 1 notwendige Bedingung für das Schalten von t 2 genau dann, wenn für alle Schaltfolgen t gilt: falls m 0 [ tt 2 m für eine Markierung m, dann enthält t die Transition t 1. Barbara König Modellierung 136 Eigenschaften von n, Überdeckbarkeitsgraphen : Kausalität, Nebenläufigkeit, Konflikt Barbara König Modellierung 137 Eigenschaften von n, Überdeckbarkeitsgraphen : Kausalität, Nebenläufigkeit, Konflikt Beispiel für Kausalität: t 1 t 2 t 1 ist eine notwendige Bedingung für t 4, t 3 t 4 aber t 2 ist keine notwendige Bedingung für t 4. Denn nicht jede Schaltfolge, die zu t 4 führt, enthält t 2 (z.b. t = t 1 t 3 ). Das gleiche gilt für t 3. Eigenschaften der Kausalität Wenn t 1 eine notwendige Bedingung für t 2 ist, und t 2 eine notwendige Bedingung für t 3 ist, dann ist t 1 eine notwendige Bedingung für t 3. (Transitivität) Barbara König Modellierung 138 Barbara König Modellierung 139

39 Eigenschaften von n, Überdeckbarkeitsgraphen : Kausalität, Nebenläufigkeit, Konflikt Eigenschaften von n, Überdeckbarkeitsgraphen : Kausalität, Nebenläufigkeit, Konflikt Nebenläufigkeit Eine Menge T = {t 1,..., t n } T von Transitionen heißt nebenläufig (aktiviert) unter der Markierung m, wenn Beispiele für Nebenläufigkeit: t 1 t n m. D.h., die Markierung m enthält genug Marken, um alle Transitionen gleichzeitig zu feuern. Eigenschaften der Nebenläufigkeit Wenn die Transitions-Menge T unter der Markierung m nebenläufig ist, so ist auch jede Teilmenge von T unter m nebenläufig. t 1 t 2 t 3 t 4 Die Menge {t 2, t 3 } ist nebenläufig unter der Anfangsmarkierung. Barbara König Modellierung 140 Eigenschaften von n, Überdeckbarkeitsgraphen : Kausalität, Nebenläufigkeit, Konflikt Barbara König Modellierung 141 Eigenschaften von n, Überdeckbarkeitsgraphen : Kausalität, Nebenläufigkeit, Konflikt Die Menge T = {t 1, t 2, t 3 } ist nebenläufig unter der t 1 t 2 t 3 Anfangsmarkierung. t 1 t 2 t 3 Die Mengen {t 1, t 2 } {t 2, t 3 } und {t 1, t 3 } sind alle nebenläufig unter der Anfangsmarkierung. Dies gilt jedoch nicht für {t 1, t 2, t 3 }. Barbara König Modellierung 142 Barbara König Modellierung 143

40 Eigenschaften von n, Überdeckbarkeitsgraphen : Kausalität, Nebenläufigkeit, Konflikt Eigenschaften von n, Überdeckbarkeitsgraphen : Kausalität, Nebenläufigkeit, Konflikt t 1 t 2 t 3 Die Mengen {t 1, t 3 } und {t 2, t 3 } sind alle nebenläufig unter der Anfangsmarkierung. Dies gilt jedoch nicht für die Mengen {t 1, t 2 } und {t 1, t 2, t 3 }. Dieses Beispiel zeigt auch, dass Nebenläufigkeit nicht transitiv ist: t 1 ist nebenläufig zu t 3, t 3 ist nebenläufig zu t 2, jedoch sind t 1 und t 2 nicht nebenläufig. Nebenläufigkeit (Konsequenzen) Wenn eine Menge T von Transitionen nebenläufig unter einer Markierung m ist, so ist jede beliebige Anordnung dieser Transitionen eine Schaltfolge ausgehend von m. Das heißt, für jede Sequenz t, in der jede Transitionen aus T genau einmal vorkommt, gibt es eine Markierung m mit m[ t m. Die Markierung m ist durch T eindeutig bestimmt. Barbara König Modellierung 144 Eigenschaften von n, Überdeckbarkeitsgraphen : Kausalität, Nebenläufigkeit, Konflikt Barbara König Modellierung 145 Eigenschaften von n, Überdeckbarkeitsgraphen : Kausalität, Nebenläufigkeit, Konflikt Nebenläufige Transitionen führen daher in Erreichbarkeitsgraphen zu Strukturen, die die Form eines Quadrats (Diamond) oder (höherdimensionalen) Würfels haben. Beispiel für einen Würfel: Beispiel für ein Quadrat: (1, 1, 1) t 1 (0, 1, 1) s 1 s 2 (1, 1) t 1 t 2 t 2 (1, 0) t 1 (0, 1) t 2 t 1 (0, 0) s 1 s 2 s 3 t 1 t 2 t 3 t 3 t 2 (1, 1, 0) t 2 t 1 (1, 0, 1) t 3 (1, 0, 0) t 2 t 3 t 1 (0, 0, 1) t 3 (0, 1, 0) t 2 t 1 (0, 0, 0) Barbara König Modellierung 146 Barbara König Modellierung 147

41 Eigenschaften von n, Überdeckbarkeitsgraphen : Kausalität, Nebenläufigkeit, Konflikt Eigenschaften von n, Überdeckbarkeitsgraphen : Kausalität, Nebenläufigkeit, Konflikt Schlinge Frage: Wenn jede Anordnung von Transitionen in T eine Schaltfolge darstellt, ist dann T automatisch nebenläufig (unter einer Markierung m)? Ein Schlinge (oder Schleife) in einem Netz N besteht aus einer Transition t und einer Stelle s mit t(s) > 0 und t (s) > 0. n Nein! Gegenbeispiel: Graphisch: t s m t 1 t 2 Für schlingenfreie Netze gilt: Sei N ein schlingenfreies Netz, sei m eine Markierung und T eine Menge von Transitionen, so dass jede Anordnung der Transitionen in T von m aus schaltbar ist. Dann ist T nebenläufig. Barbara König Modellierung 148 Eigenschaften von n, Überdeckbarkeitsgraphen : Kausalität, Nebenläufigkeit, Konflikt Barbara König Modellierung 149 Eigenschaften von n, Überdeckbarkeitsgraphen : Kausalität, Nebenläufigkeit, Konflikt Konflikt Zwei Transitionen t, t T stehen unter der Markierung m in Konflikt genau dann wenn: t und t sind beide unter m aktiviert und die Menge {t, t } ist unter m nicht nebenläufig. Beispiel für einen Konflikt: t 1 t 2 t 3 Anschaulich: nur eine der beiden Transitionen kann schalten. Das liegt immer daran, dass sie eine gemeinsame Stelle in den Vorbedingungen haben. D.h., es gibt eine Stelle s mit t(s) 1 und t (s) 1. Unter der Anfangsmarkierung steht t 1 in Konflikt mit t 2. Außerdem steht t 2 in Konflikt mit t 3. Jedoch steht t 1 nicht in Konflikt mit t 3 (keine Transitivität der Konfliktrelation). Barbara König Modellierung 150 Barbara König Modellierung 151

42 Eigenschaften von n, Überdeckbarkeitsgraphen : Kausalität, Nebenläufigkeit, Konflikt : Invarianten Eigenschaften von n, Überdeckbarkeitsgraphen Kurze Einführung in Matrizen und Vektorrechnung: Bemerkung: auf bestimmten Arten von azyklischen Netzen (sogenannte Occurrence-Netze) kann man Begriffe wie Kausalität, Nebenläufigkeit und Konflikt noch klarer herausarbeiten. Zwei Transitionen sind in solchen Netzen immer entweder kausal abhängig, nebenläufig oder in Konflikt, unabhängig von der Markierung. Matrix Seien m, n N 0. Eine m n-matrix C (über den ganzen Zahlen Z) besteht aus m n Einträgen C i,j Z für i {1,..., m}, j {1,..., n} Sie wird folgendermaßen dargestellt: C 1,1... C 1,n C = C m,1... C m,n : Invarianten Barbara König Modellierung 152 Eigenschaften von n, Überdeckbarkeitsgraphen : Invarianten Barbara König Modellierung 153 Eigenschaften von n, Überdeckbarkeitsgraphen Bemerkungen: Eine m n-matrix besteht also aus m Zeilen der Länge n, oder anders ausgedrückt aus n Spalten der Länge m. Dabei heißt m Zeilendimension und n Spaltendimension der Matrix. Eine Matrix, für die m = n gilt, heißt quadratisch. Die Matrizen, die wir im folgenden betrachten werden, sind nicht notwendigerweise quadratisch. Spaltenvektor Ein Spaltenvektor (oder Vektor) u der Dimension n ist eine n 1-Matrix, d.h., er hat folgendes Aussehen. u = Wir betrachten im folgenden immer Spaltenvektoren mit Einträgen aus Z. u 1.. u n Barbara König Modellierung 154 Barbara König Modellierung 155

43 : Invarianten Eigenschaften von n, Überdeckbarkeitsgraphen : Invarianten Eigenschaften von n, Überdeckbarkeitsgraphen Bemerkungen: Gegeben sei eine Markierung m = (m(s 1 ),..., m(s n )). Dann entspricht dieser Markierung der Spaltenvektor m(s 1 ) m =. m(s n ) Spaltenvektoren kann man wie Markierungen addieren. Dabei werden die Komponenten paarweise addiert: u 1 v 1 u 1 + v 1 + =.. u n.. v n. u n + v n Matrizen können miteinander mulipliziert werden. Wir betrachten zunächst die Multiplikation einer Matrix mit einem Spaltenvektor. Multiplikation einer Matrix mit einem Spaltenvektor Sei C eine m n-matrix und u ein Spaltenvektor der Dimension n. Dann ist C u folgender Spaltenvektor: C 1,1... C 1,n C u = C m,1... C m,n u 1.. u n = C 1,1 u C 1,n u n... C m,1 u C m,n u n Das heißt, in der i-ten Zeile des Spaltenvektors steht der Eintrag n j=1 C i,j u j. : Invarianten Barbara König Modellierung 156 Eigenschaften von n, Überdeckbarkeitsgraphen : Invarianten Barbara König Modellierung 157 Eigenschaften von n, Überdeckbarkeitsgraphen Zeilenvektor Ein Zeilenvektor u der Dimension n ist eine 1 n-matrix, d.h., er hat folgendes Aussehen. u = ( u 1... u n ) Wir betrachten im folgenden immer Zeilenvektoren mit Einträgen aus Z. Zeilenvektoren und Tupel: Im folgenden werden wir Zeilenvektoren im wesentlichen mit n-tupeln gleichsetzen. Eine Markierung m = (m(s 1 ),..., m(s n )), d.h., ein Tupel aus N n 0 schreiben wir auch als folgenden Zeilenvektor: m = ( m(s 1 )... m(s n ) ) Barbara König Modellierung 158 Barbara König Modellierung 159

44 : Invarianten Eigenschaften von n, Überdeckbarkeitsgraphen : Invarianten Eigenschaften von n, Überdeckbarkeitsgraphen Multiplikation einer Matrix mit einem Zeilenvektor Sei C eine m n-matrix und u ein Zeilenvektor der Dimension m. Dann ist u C folgender Zeilenvektor der Dimension n: u C = ( C 1,1... C 1,n ) u 1... u m C m,1... C m,n = ( ) u 1 C 1,1 + + u m C m,1... u 1 C 1,n + + u m C m,n Merkregel: Die Multiplikation einer m n-matrix mit einer n 1-Matrix (Spaltenvektor der Dimension n) ergibt eine m 1-Matrix (Spaltenvektor der Dimension m). Die Multiplikation einer einer 1 m-matrix (Zeilenvektor der Dimension m) mit einer m n-matrix ergibt eine 1 n-matrix (Zeilenvektor der Dimension n). Das heißt, in der j-ten Spalte des Zeilenvektors steht der Eintrag n i=1 u i C i,j. : Invarianten Barbara König Modellierung 160 Eigenschaften von n, Überdeckbarkeitsgraphen : Invarianten Barbara König Modellierung 161 Eigenschaften von n, Überdeckbarkeitsgraphen Wir betrachten nun die Inzidenzmatrix (oder einfach Matrix) eines s. Sei S = {s 1,..., s m } die Stellenmenge, T = {t 1,..., t n } die Transitionsmenge des s N. Die Inzidenzmatrix C von N ist eine m n-matrix mit Einträgen der Form: C i,j = t j (s i ) t j (s i ) Z Dabei handelt es sich um die herkömmliche Subtraktion (nicht die modifizierte) und das Ergebnis liegt in den ganzen Zahlen. Der Eintrag C i,j gibt an, wie sich die Anzahl der Marken in Stelle s i ändert, wenn die Transition t j geschaltet wird. Beispiel für eine Matrix: t 2 s 1 s 2 t 1 2 s 3 t 3 Berechnung der Matrix-Einträge: t 1 t 2 t 3 s 1 C 1,1 = 0 1 C 1,2 = 1 0 C 1,3 = 0 0 s 2 C 2,1 = 0 1 C 2,2 = 0 0 C 2,3 = 1 0 s 3 C 3,1 = 2 0 C 3,2 = 0 1 C 3,3 = 0 1 Resultierende Matrix: C = Barbara König Modellierung 162 Barbara König Modellierung 163

45 : Invarianten Eigenschaften von n, Überdeckbarkeitsgraphen : Invarianten Eigenschaften von n, Überdeckbarkeitsgraphen s 1 t 1 s 2 s 3 s 2 Die beiden Netze sind verschieden, haben aber dieselbe Inzidenzmatrix: 1 C = 0 1 Dieses Phänomen kann nicht auftreten, wenn wir nur schlingenfreie Netze betrachten. : Invarianten Sei t 1 Barbara König Modellierung 164 u = s 1 s 3 Eigenschaften von n, Überdeckbarkeitsgraphen der sogenannte Schaltvektor, der angibt, wie oft jede Transition geschalten werden soll. Schaltvektor für das Beispielnetz: t 1 und t 2 werden zweimal geschalten, t 3 einmal (dieser Schaltvektor ist von der Anfangsmarkierung aus realisierbar, z.b. durch die Schaltfolge t 1 t 2 t 3 t 1 t 2 ). 2 u = 2 C u = 1 u 1.. u n 2 ( 1) ( 1) ( 1) + 1 ( 1) 0 = 1 1 Angenommen, es gibt eine Schaltfolge, bei der die Transition t j u j -mal geschaltet wird (u j N 0 ). Wie kann man die dadurch verursachte Änderung der Markierung mit Hilfe der Inzidenzmatrix bestimmen? Man multipliziert die Spalte j, die für die Transition t j steht, mit u j. Damit erhält man den Effekt des u j -maligen Schaltens von t j für jede einzelne Stelle. Man addiert alle Werte der Zeile i, die für die Stelle s i steht, auf. Damit erhält man den Effekt des Schaltens aller Transitionen für eine einzelne Stelle. Multiplikation der Matrix mit einem Vektor! : Invarianten Barbara König Modellierung 165 Eigenschaften von n, Überdeckbarkeitsgraphen D.h., die Schaltfolge hat den Effekt, die Anzahl der Marken in Stelle s 1 gleichzulassen, in s 2 um eins zu verringern und in s 3 um eins zu erhöhen. Wenn wir diese Änderung zu dem Spaltenvektor addieren, der der Anfangsmarkierung entspricht, ergibt sich: 1 m 0 + C u = = 1 1 Barbara König Modellierung 166 Barbara König Modellierung 167

46 : Invarianten Eigenschaften von n, Überdeckbarkeitsgraphen : Invarianten Eigenschaften von n, Überdeckbarkeitsgraphen Markierungsgleichung Für jede erreichbare Markierung m gibt es einen Schaltvektor u mit m = m 0 + C u Das heißt, jede erreichbare Markierung kann in obiger Form dargestellt werden. Aber: nicht jede Markierung, die so dargestellt werden kann, ist auch erreichbar. t 1 s 1 s 3 s 2 1 C = (1) = Diese Markierung ist jedoch nicht erreichbar, da t 1 nicht aktiviert ist. : Invarianten Barbara König Modellierung 168 Eigenschaften von n, Überdeckbarkeitsgraphen : Invarianten Barbara König Modellierung 169 Eigenschaften von n, Überdeckbarkeitsgraphen t 1 s 1 s 3 t 2 s C = ( ) = Diese Markierung ist jedoch nicht erreichbar, da die Schaltfolgen t 1 t 2 und t 2 t 1 beide nicht möglich sind. Die Markierungsgleichung kann also nicht dazu genutzt werden, um zu zeigen, dass eine bestimmte Markierung erreichbar ist. Aber: man kann damit manchmal zeigen, dass eine Markierung nicht erreichbar ist. Beispiel: Ist in folgendem Netz die Markierung m = (2, 2, 0) erreichbar? t 2 s 1 s 2 t 1 2 s 3 t 3 Wir überprüfen, ob die Gleichung u 1 2 = u u 3 eine Lösung in den natürlichen Zahlen hat. Barbara König Modellierung 170 Barbara König Modellierung 171

47 : Invarianten Eigenschaften von n, Überdeckbarkeitsgraphen : Invarianten Eigenschaften von n, Überdeckbarkeitsgraphen Lösen eines Gleichungssystems Hier sieht man leicht durch Addition aller Gleichungen, dass das Gleichungssystem keine Lösung hat. 2 = 1 u 1 +u 2 2 = 2 u 1 +u 3 0 = 2u 1 u 2 u 3 4 = 3 Widerspruch! Das heißt, die Markierung m = (2, 2, 0) ist nicht erreichbar. Achtung: Als Lösungen des Gleichungssystem interessieren uns hier Lösungen in den in den natürlichen Zahlen. Daher ist das zum Lösen von Gleichungssystemen üblicherweise verwendete Gaußsche Eliminationsverfahren nur begrenzt einsetzbar. In manchen Fällen muss es noch durch andere Techniken (z.b. Lösungsverfahren für diophantische Gleichungen) erweitert werden. In unserem Fall werden wir die Beispiele jedoch immer so wählen, dass die entstehenden Gleichungssysteme einfach zu lösen sind. : Invarianten Barbara König Modellierung 172 Eigenschaften von n, Überdeckbarkeitsgraphen : Invarianten Barbara König Modellierung 173 Eigenschaften von n, Überdeckbarkeitsgraphen Aufgabe: Stelle die Markierungsgleichung für folgendes (unbeschränkte) Netz auf. s 1 t 1 Wir kommen nun zu einer weiteren Verwendung von Inzidenzmatrizen: sogenannte T- und S-Invarianten. T-Invariante Gegeben sei ein Netz N und seine m n-inzidenzmatrix C. Ein Spaltenvektor u der Dimension n heißt T-Invariante, falls s 2 2 s 3 t 2 C u = 0 Dabei ist 0 ein Spaltenvektor, der nur Einträge der Form 0 hat. Kann man mit Hilfe der Markierungsgleichung überprüfen, dass die Markierung (1, 20, 0) nicht erreichbar ist? Kann das gleiche Ergebnis auch mit dem Überdeckbarkeitsgraph erzielt werden? Barbara König Modellierung 174 Bedeutung: eine T-Invariante beschreibt mögliche Schaltfolgen, die eine Markierung unverändert lassen. Im Erreichbarkeitsgraph ergibt sich dann ein Kreis. Barbara König Modellierung 175

48 : Invarianten Eigenschaften von n, Überdeckbarkeitsgraphen : Invarianten Eigenschaften von n, Überdeckbarkeitsgraphen Aufgabe: Bestimme die T-Invarianten des folgenden Netzes: Bemerkung zu T-Invarianten: s 1 s 2 Wie bei der Markierungsgleichung müssen solche Schaltfolgen nicht notwendigerweise realisierbar sein. Wenn es einen Kreis im Erreichbarkeitsgraphen gibt, so entspricht dieser aber auf jeden Fall einer T-Invariante. t 2 t 1 2 t 3 Wie bei der Markierungsgleichung interessieren uns hier nur T -Invarianten mit Einträgen aus N 0. s 3 Welche Bedeutung haben die T-Invarianten für den Erreichbarkeitsgraph? Erreichbarkeitsgraph : Invarianten Barbara König Modellierung 176 Eigenschaften von n, Überdeckbarkeitsgraphen : Invarianten Barbara König Modellierung 177 Eigenschaften von n, Überdeckbarkeitsgraphen Bedeutung: sei m eine erreichbare Markierung. Dann gilt nach der Markierungsgleichung, dass es einen Schaltvektor u gibt mit: S-Invariante Gegeben sei ein Netz N und seine m n-inzidenzmatrix C. Ein Zeilenvektor v der Dimension m heißt S-Invariante, falls v C = ( ) m = m 0 + C u Wenn man die Gleichung auf beiden Seiten von links mit v multipliziert, so erhält man: v m = v m 0 + v C u = v m = v m 0 Also gilt v m = v m 0 für jede S-Invariante v und für jede erreichbare Markierung m. Eine Markierung, die diese Gleichung nicht erfüllt, kann daher nicht erreichbar sein! Barbara König Modellierung 178 Barbara König Modellierung 179

49 : Invarianten Eigenschaften von n, Überdeckbarkeitsgraphen Aufgabe: Bestimme die S-Invarianten des folgenden Netzes: s 1 s 2 : Invarianten Eigenschaften von n, Überdeckbarkeitsgraphen Löse die Gleichung ( ) v 1 v 2 v = ( ) Es ergibt sich folgendes Gleichungssystem: t 2 t 1 2 t 3 v 1 v 2 +2v 3 = 0 v 1 v 3 = 0 v 2 v 3 = 0 Kann man mit Hilfe der S-Invarianten überprüfen, ob die Markierung (2, 2, 0) erreichbar ist? : Invarianten s 3 Barbara König Modellierung 180 Eigenschaften von n, Überdeckbarkeitsgraphen Durch Vereinfachung erhalten wir v 1 = v 2 = v 3, d.h., die Lösungen sind genau die Zeilenvektoren, bei denen alle Einträge gleich sind. Sie sind also alle von der Form v = ( v 1 v 1 v 1 ) = v1 (1 1 1 ) All diese Vektoren ergeben äquivalente S-Invarianten, wir betrachten daher nur die S-Invariante v = ( ). : Invarianten Barbara König Modellierung 181 Eigenschaften von n, Überdeckbarkeitsgraphen Für eine allgemeine Markierung m = (m 1, m 2, m 3 ) des Beispielnetzes gilt also: v m = m 1 + m 2 + m 3 = 3 = v m 0 Die Gleichung besagt, dass die Summe der Marken in den drei Stellen konstant bzw. invariant ist und immer drei beträgt. Im allgemeinen haben Invarianten die Form Für die spezielle Markierung m = (2, 2, 0) ergibt sich: = 4 3 D.h., diese Markierung ist in dem Netz auf jeden Fall nicht erreichbar (ausgehend von der Anfangsmarkierung). v 1 m v m m m = k, wobei v 1,..., v m, k Z Konstanten sind. Barbara König Modellierung 182 Barbara König Modellierung 183

50 : Invarianten Eigenschaften von n, Überdeckbarkeitsgraphen : Invarianten Eigenschaften von n, Überdeckbarkeitsgraphen Bemerkungen: Bei der Lösung des Gleichungssystems zur Berechnung von S-Invarianten sind prinzipiell auch Lösungen außerhalb der natürlichen Zahlen (negative Zahlen, Brüche, etc.) interessant. Da es sich jedoch um ein homogenes Gleichungssystem handelt (auf der rechten Seite steht der Nullvektor), kann man durch Multiplikation mit dem Hauptnenner (kleinstes gemeinsames Vielfaches der Nenner) zumindest immer eine Darstellung aller Lösungen als Vielfaches von ganzzahligen Vektoren erhalten. Es gibt im allgemeinen unendlich viele S-Invarianten: insbesondere sind alle Vielfache einer S-Invariante wieder S-Invariante. Diese Vielfachen liefern jedoch keine zusätzlichen Informationen über das Netz. Aufgabe: Bestimme die S-Invarianten des folgenden Netzes: Kann man mit Hilfe der S-Invarianten überprüfen, ob die Markierung (0, 5) erreichbar ist? s 1 t 1 s : Invarianten Barbara König Modellierung 184 Löse die Gleichung ( ( ) ) 2 v 1 v 2 = ( 0 0 ). 3 Es ergibt sich folgendes Gleichungssystem: 2v 1 +3v 2 = 0 Eigenschaften von n, Überdeckbarkeitsgraphen Durch Vereinfachung erhalten wir v 1 = 3 2 v 2. D.h., die Lösungen sind von der Form v = v 2 ( ) Wenn man nur Lösungen in den ganzen Zahlen betrachten will, so multipliziert man mit dem Hauptnenner 2 und erhält: v = l (3 2 ), für l Z. : Invarianten Barbara König Modellierung 185 Eigenschaften von n, Überdeckbarkeitsgraphen Für eine erreichbare Markierung m = (m 1, m 2 ) des Beispielnetzes gilt also: v m = 3 m m 2 = 12 = v m 0 Für die spezielle Markierung m = (0, 5) erhalten wir: v m = = und damit ist diese Markierung nicht erreichbar. Im folgenden betrachten wir nur die S-Invariante, die man erhält, wenn man l = 1 setzt. Barbara König Modellierung 186 Barbara König Modellierung 187

51 : Invarianten Eigenschaften von n, Überdeckbarkeitsgraphen : Invarianten Eigenschaften von n, Überdeckbarkeitsgraphen Aufgabe: Bestimme die S-Invarianten des folgenden Netzes: s 1 s 2 Aufgabe: Mit Hilfe des folgenden Beispiels soll gezeigt werden, dass Invarianten auch für unbeschränkte Netze sehr nützlich sein können. Bestimmen Sie dazu die S-Invarianten des folgenden Netzes: t 1 t 2 t 3 s 1 s 4 s 3 t 4 t 1 2 s 5 Kann man mit Hilfe der S-Invarianten überprüfen, ob die Markierung (0, 0, 1, 1, 1) erreichbar ist? s 2 s 3 : Invarianten Barbara König Modellierung 188 Eigenschaften von n, Überdeckbarkeitsgraphen : Invarianten Barbara König Modellierung 189 Eigenschaften von n, Überdeckbarkeitsgraphen Aufgabe: Wir hatten mit Hilfe der Markierungsgleichung gezeigt, dass die Markierung (1, 20, 0) in folgendem Netz nicht erreichbar ist. s 1 Bemerkungen: Für beschränkte Netze sind folgende Techniken zum Testen der Nicht-Erreichbarkeit geeignet. Sie werden der Reihe nach aufwändiger und exakter: 1 S-Invarianten t 1 2 Markierungsgleichung s 2 2 s 3 t 2 3 Erreichbarkeitsgraph (exakt, kann auch zur Überprüfung der Erreichbarkeit verwendet werden). Kann man das gleiche Ergebnis auch mit Hilfe von S-Invarianten erzielen? Barbara König Modellierung 190 Barbara König Modellierung 191

52 : Invarianten Eigenschaften von n, Überdeckbarkeitsgraphen : Invarianten Eigenschaften von n, Überdeckbarkeitsgraphen Bemerkungen: Auch für unbeschränkte Netze ist die Markierungsgleichung aufwändiger und exakter als S-Invarianten. Der Überdeckbarkeitsgraph ist jedoch, im Gegensatz zum Erreichbarkeitsgraph, keine exakte Technik und erlaubt nur begrenzt Aussagen über die Erreichbarkeit von Markierungen. Für unbeschränkte haben wir also bisher nur approximative, unvollständige Methoden für das Erreichbarkeitsproblem. Es gilt jedoch: Entscheidbarkeit des Erreichbarkeitsproblems Es gibt ein Verfahren, das für ein gegebenes (unbeschränktes) Netz N und eine Markierung m entscheidet, ob m in N erreichbar ist. (Mayr, 1984) : Invarianten Barbara König Modellierung 192 Eigenschaften von n, Überdeckbarkeitsgraphen Barbara König Modellierung 193 Eigenschaften von n, Überdeckbarkeitsgraphen : Fallstudien (Wechselseitiger Ausschluss) Dieses Verfahren ist jedoch extrem aufwändig und in der Praxis derzeit nicht einsetzbar. Die obige Aussage bedeutet jedoch auch, dass nicht zu den mächtigsten Berechnungsmodellen gehören. Es gibt nämlich Berechnungsmodelle, für die das Erreichbarkeitsproblem nicht entscheidbar ist. Anders ausgedrückt: sind nicht Turing-mächtig ( Vorlesung Berechenbarkeit und Komplexität ). Das liegt vor allem daran, dass keine Nulltests folgender Form erlauben: Die Transition t kann nur feuern, wenn in der Stelle s keine Marken liegen. Wir betrachten nun noch einige größere Fallstudien... Zunächst behandeln wir das Konzept des wechselseitigen Ausschlusses (engl. mutual exclusion oder mutex). Wir betrachten zwei Akteure, die jeweils einen kritischen Bereich haben. Beide Akteure dürfen nicht gleichzeitig in ihren kritischen Bereich kommen, da sie sich dort gegenseitig behindern und unerwünschtes Verhalten auslösen würden (z.b. indem beide Akteure in dieselbe Datei schreiben). Es darf sich also immer höchstens ein Akteur im kritischen Bereich befinden. Barbara König Modellierung 194 Barbara König Modellierung 195

53 Eigenschaften von n, Überdeckbarkeitsgraphen : Fallstudien (Wechselseitiger Ausschluss) Eigenschaften von n, Überdeckbarkeitsgraphen : Fallstudien (Wechselseitiger Ausschluss) Ursprüngliches System: Erweitertes System mit Mechanismen zum wechselseitigen Ausschluss: k 1 k 2 k 1 k 2 kritischer Bereich NK 1 K 1 K 2 NK 2 NK 1 K 1 K 2 NK 2 S nk 1 nk 2 nk 1 nk 2 Bedeutung der Stellen: K 1 (krit. Bereich Akteur 1), NK 1 (nicht-krit. Bereich Akteur 1), K 2 (krit. Bereich Akteur 2), NK 2 (nicht-krit. Bereich Akteur 2) Bedeutung der Stellen: K 1 (krit. Bereich Akteur 1), NK 1 (nicht-krit. Bereich Akteur 1), K 2 (krit. Bereich Akteur 2), NK 2 (nicht-krit. Bereich Akteur 2), S (Hilfsstelle, sog. Semaphor) Barbara König Modellierung 196 Eigenschaften von n, Überdeckbarkeitsgraphen : Fallstudien (Wechselseitiger Ausschluss) Barbara König Modellierung 196 Eigenschaften von n, Überdeckbarkeitsgraphen : Fallstudien (Wechselseitiger Ausschluss) Wir möchten zeigen, dass in den Stellen K 1, K 2 niemals gleichzeitig Marken liegen. Reihenfolge der Stellen: K 1, NK 1, K 2, NK 2, S Reihenfolge der Transitionen: k 1, nk 1, k 2, nk 2 Inzidenzmatrix: C = Wir bestimmen die S-Invarianten, nach der Gleichung v C = ( ) Entstehendes Gleichungssystem: v 1 v 2 v 5 = 0 v 1 +v 2 +v 5 = 0 v 3 v 4 v 5 = 0 v 3 +v 4 +v 5 = 0 Barbara König Modellierung 197 Barbara König Modellierung 198

54 Eigenschaften von n, Überdeckbarkeitsgraphen : Fallstudien (Wechselseitiger Ausschluss) Eigenschaften von n, Überdeckbarkeitsgraphen : Fallstudien (Wechselseitiger Ausschluss) Vereinfacht ergibt sich: v 1 = v 2 + v 5 v 3 = v 4 + v 5 Das heißt, die Lösungen haben genau die Form: ( v2 +v 5 v 2 v 4 +v 5 v 4 v 5 ) = v 2 ( ) + v 4 ( ) + v 5 ( ) für v 2, v 4, v 5 Z. Die drei Vektoren bilden eine Basis des Lösungsraums. Für uns ist vor allem der letzte Vektor interessant. Für jede erreichbare Markierung m = (m 1, m 2, m 3, m 4, m 5 ) muss gelten: m 1 + m 3 + m 5 = v m = v m 0 = 1 Angenommen, in der Stelle K 1 liegt mehr als eine Marke (m 1 1) und in der Stelle K 2 liegt mehr als eine Marke (m 3 1). Dann gilt: was ein Widerspruch ist. 2 m 1 + m 3 + m 5 = 1, Also liegt in den Stellen K 1, K 2 zusammen immer höchstens eine Marke. Barbara König Modellierung 199 Eigenschaften von n, Überdeckbarkeitsgraphen : Fallstudien (Speisende Philosophen) Barbara König Modellierung 200 Eigenschaften von n, Überdeckbarkeitsgraphen : Fallstudien (Speisende Philosophen) Petrinetz: links- und rechtshändige Philosophen Wir kommen nochmal auf die speisenden Philosophen zurück: Diesmal sitzen nur zwei Philosophen an einem Tisch (damit das Beispiel nicht zu groß wird). Einer davon ist ein Linkshänder (und nimmt die linke Gabel zuerst), der andere ein Rechtshänder (und nimmt die rechte Gabel zuerst). W 1 E 1 e 1 w 1 h 1 H 1 F 1 F 2 H 2 w 2 h 2 Reihenfolge der Stellen: F 1, F 2, H 1, H 2, W 1, W 2, E 1, E 2 Reihenfolge der Transitionen: w 1, e 1, h 1, w 2, e 2, h 2 e 2 W 2 E 2 Barbara König Modellierung 201 Barbara König Modellierung 202

55 Eigenschaften von n, Überdeckbarkeitsgraphen : Fallstudien (Speisende Philosophen) Zu zeigen: in diesem Netz gibt es keine Verklemmung, bei der beide Philosophen im Wartezustand sind. D.h., folgende Markierung soll nicht erreichbar sein: m = (0, 0, 0, 0, 1, 1, 0, 0) Dazu betrachten wir die Inzidenzmatrix des Netzes: C = Eigenschaften von n, Überdeckbarkeitsgraphen : Fallstudien (Speisende Philosophen) Eine S-Invariante ist Und es gilt: v = ( ) v m 0 = 1 v m = 2 Daraus folgt v m 0 v m. Damit ist m nicht erreichbar und es kann daher kein Deadlock dieser Form geben. : Weitere Arten von Netzen Barbara König Modellierung 203 Eigenschaften von n, Überdeckbarkeitsgraphen Wir betrachten zuletzt noch zwei weitere Arten von Netzen: Netze mit Kapazitäten Attributierte Netze auch bekannt unter den Namen: Netze mit individuellen Marken, Prädikat-Transitions-Netze, engl. coloured Petri nets Barbara König Modellierung 205 : Weitere Arten von Netzen Netze mit Kapazitäten Barbara König Modellierung 204 Eigenschaften von n, Überdeckbarkeitsgraphen Ein Petrinetz mit Kapazitäten besteht aus einem (herkömmlichen) Petrinetz N (mit Stellenmenge S) und einer Kapazitätsfunktion k : S N 0. Für die Anfangsmarkierung m 0 muss gelten: m 0 k. Intuition: die Stelle s darf höchstens k(s) Marken enthalten. Kapazitäten werden neben die Stellen geschrieben. Schalten von Transitionen bei Kapazitäten Eine Transition t kann unter einer Markierung m schalten, wenn gilt: 1 t m 2 und m t t k. D.h., eine Transition darf nur dann schalten, wenn dadurch die Kapazitäten nicht überschritten werden. Barbara König Modellierung 206

56 : Weitere Arten von Netzen Eigenschaften von n, Überdeckbarkeitsgraphen : Weitere Arten von Netzen Eigenschaften von n, Überdeckbarkeitsgraphen Beispielnetz mit Kapazitäten Erreichbarkeitsgraph s 1 t 1 t t 2 t 1 (1, 1) (2, 0) t 2 t 3 t 2 s 2 (1, 0) (0, 1) t 1 t 3 (0, 0) Insbesondere: unter der Anfangsmarkierung (1, 1) ist die Transition t 1 nicht schaltbar. : Weitere Arten von Netzen Barbara König Modellierung 207 Eigenschaften von n, Überdeckbarkeitsgraphen Umwandlung eines Netzes mit Kapazitäten in ein Netz ohne Kapazitäten 1 Füge zu jeder Stelle s eine sogenannte Komplementstelle s hinzu. In der Anfangsmarkierung enthält s genau k(s) m 0 (s) Marken. Idee: die Summe der Marken in der Stelle und der Komplementstelle ergibt immer die Kapazität. 2 Falls eine Transition in der Summe Marken aus einer Stelle herausnimmt (n = t (s) t(s) < 0) füge eine Kante von t nach s mit Gewicht n ein. 3 Falls eine Transition in der Summe Marken in eine Stelle hineinlegt (n = t (s) t(s) > 0) füge eine Kante von s nach t mit Gewicht n ein. : Weitere Arten von Netzen Barbara König Modellierung 208 Eigenschaften von n, Überdeckbarkeitsgraphen Umgewandeltes Beispielnetz Mit dieser Konstruktion ist für jedes Paar s, s von Stellen sichergestellt, dass s 1 t 1 s 2 t 2 t 3 m(s) + m(s) = k(s) für jede erreichbare Markierung s; eine Transition t nur schaltbar ist, wenn die Kapazität der Stellen in der Nachbedingung noch nicht ausgeschöpft ist. Das wird dadurch überprüfen, dass die benötigte Kapazität über die Komplementstellen abgefragt wird. s 1 s 2 Reihenfolge der Stellen: s 1, s 1, s 2, s 2 Erreichbarkeitsgraph (1, 1, 1, 0) t 3 (1, 1, 0, 1) t 1 t 2 (2, 0, 0, 1) t 2 t 1 (0, 2, 1, 0) t 3 (0, 2, 0, 1) Barbara König Modellierung 209 Barbara König Modellierung 210

57 : Weitere Arten von Netzen Eigenschaften von n, Überdeckbarkeitsgraphen Bei attributierten Netzen (oder coloured nets) haben die Marken Farben. Die Transitionen geben an, Marken welcher Farbe entnommen und erzeugt werden sollen. Beispielsweise entnimmt folgende Transition eine blaue und eine rote Marke und erzeugt zwei grüne Marken. 2 : Weitere Arten von Netzen Eigenschaften von n, Überdeckbarkeitsgraphen Farben können dabei auch Elemente eines bestimmten Datentyps sein (z.b. Zahlen). Die Transitionen werden dabei symbolisch annotiert und an den Transitionen können auch Bedingungen stehen. Beispielsweise hat folgendes Netz natürliche Zahlen als Farben. Die Transition entnimmt der ersten Stelle eine natürliche Zahl x und der zweiten Stelle eine Zahl y. In die Stelle der Nachbedingung wird dann die Zahl x + y gelegt. Die Transition darf nur schalten, wenn x > x y x > 3 x + y UML: Einführung Barbara König Modellierung 211 UML und Objekt-Orientierung Barbara König Modellierung 212 Was bedeutet Objekt-Orientierung? UML = Unified Modeling Language Standard-Modellierungssprache für Software Engineering. Basiert auf objekt-orientierten Konzepten. Sehr umfangreich, enthält viele verschiedene Typen von Modellen. Entwickelt von Grady Booch, James Rumbaugh, Ivar Jacobson (1997). Grundidee Die reale Welt besteht aus Objekten, die untereinander in Beziehungen stehen. Diese Sichtweise wird auch auf Modellierung und Softwareentwicklung übertragen. Etwas genauer... Daten (= Attribute) werden zusammen mit der Funktionalität (= Methoden) in Objekten organisiert bzw. gekapselt. Jedes Objekt ist in der Lage Nachrichten (= Methodenaufrufe) zu empfangen, Daten zu verarbeiten und Nachrichten zu senden. Diese Objekte können einmal erstellt in verschiedenen Kontexten wiederverwendet werden. Barbara König Modellierung 213 Barbara König Modellierung 214

58 UML und Objekt-Orientierung UML und Objekt-Orientierung Geschichte der Objekt-Orientierung Entwicklung von objekt-orientierten Programmiersprachen: 60er Jahre: Simula (zur Beschreibung und Simulation von komplexen Mensch-Maschine-Interaktionen) 80er Jahre: C++ 90er Jahre: Java Verbreitung von objekt-orientierten Entwurfsmethoden: 70er Jahre: Entity-Relationship-Modell 90er Jahre: Vorläufer von UML: OOSE (Object-Oriented Software Engineering), OMT (Object Modeling Technique) Seit 1997: UML Seit 2005: UML 2.0 Vorteile der objekt-orientierten Programmierung und Modellierung Leichte Wiederverwendbarkeit dadurch, dass Daten und Funktionalität zusammen verwaltet werden und es Konzepte zur Modifikation von Code (Stichwort: Vererbung) gibt. Nähe zur realen Welt: viele Dinge der realen Welt können als Objekte modelliert werden. Verträglichkeit mit Nebenläufigkeit und Parallelität: Kontrollfluss kann nebenläufig in den Objekten ablaufen und die Objekte können durch Nachrichtenaustausch bzw. Methodenaufrufe untereinander kommunizieren. UML und Objekt-Orientierung Barbara König Modellierung 215 UML und Objekt-Orientierung Barbara König Modellierung 216 Ein Beispiel für die Modellierung von Objekten der realen Welt: Fahrkartenautomat Daten: Fahrtziele, Zoneneinteilung, Fahrtkosten Funktionalität: Tasten drücken, Preise anzeigen, Münzen einwerfen, Fahrkarte auswerfen Konzepte Klassen: definiert einen Typ von Objekten mit bestimmten Daten und bestimmter Funktionalität. Beispiel: die Klasse der VRR-Fahrkartenautomaten Objekte: Instanzen der Klasse. Beispiel: der Fahrkartenautomat am Duisburger Hauptbahnhof, Osteingang Barbara König Modellierung 217 Barbara König Modellierung 218

Vorlesung Modellierung Modellierungsmethoden der Informatik. Wintersemester 2011/12. Lernplattform Moodle. Wer sind wir?

Vorlesung Modellierung Modellierungsmethoden der Informatik. Wintersemester 2011/12. Lernplattform Moodle. Wer sind wir? Vorlesung Modellierung Modellierungsmethoden der Informatik Wintersemester 2011/12 Prof. Barbara König Übungsleitung: Dr. Sander Bruggink Das heutige Programm Organisatorisches Vorstellung Ablauf der Vorlesung

Mehr

Vorlesung Modellierung Modellierungsmethoden der Informatik. Wintersemester 2011/12

Vorlesung Modellierung Modellierungsmethoden der Informatik. Wintersemester 2011/12 Vorlesung Modellierung Modellierungsmethoden der Informatik Wintersemester 2011/12 Prof. Barbara König Übungsleitung: Dr. Sander Bruggink Barbara König Modellierung 1 Was ist Modellierung? Modell Ein Modell

Mehr

Was ist Modellierung? Vorlesung Modellierung Wintersemester 2014/15. Einführung (Folien von Prof. B. König) Was ist Modellierung?

Was ist Modellierung? Vorlesung Modellierung Wintersemester 2014/15. Einführung (Folien von Prof. B. König) Was ist Modellierung? Was ist Modellierung? Vorlesung Modellierung Wintersemester 2014/15 Einführung (Folien von Prof. B. König) Prof. Norbert Fuhr Modell Ein Modell ist eine Repräsentation eines Systems von Objekten, Beziehungen

Mehr

Vorlesung Modellierung Wintersemester 2014/15. (Folien von Prof. B. König)

Vorlesung Modellierung Wintersemester 2014/15. (Folien von Prof. B. König) Vorlesung Modellierung Wintersemester 2014/15 (Folien von Prof. B. König) Prof. Norbert Fuhr 1 / 68 Was ist Modellierung? Modell Ein Modell ist eine Repräsentation eines Systems von Objekten, Beziehungen

Mehr

Vorlesung Modellierung. Wintersemester 2013/14. (Folien von Prof. B. König)

Vorlesung Modellierung. Wintersemester 2013/14. (Folien von Prof. B. König) Vorlesung Modellierung Wintersemester 2013/14 (Folien von Prof. B. König) Prof. Norbert Fuhr Übungsleitung: Thomas Beckers Das heutige Programm Organisatorisches Vorstellung Ablauf der Vorlesung und der

Mehr

Vorlesung Berechenbarkeit und Komplexität Wintersemester 2016/17. Wer sind wir? Willkommen zu

Vorlesung Berechenbarkeit und Komplexität Wintersemester 2016/17. Wer sind wir? Willkommen zu Vorlesung Berechenbarkeit und Komplexität Wintersemester 2016/17 Prof. Barbara König Übungsleitung: Sebastian Küpper Willkommen zu Berechenbarkeit und Komplexität (Bachelor Angewandte Informatik, Duisburg

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

Was ist Modellierung? Vorlesung Modellierung Modellierungsmethoden der Informatik. Wintersemester 2011/12. Was ist Modellierung?

Was ist Modellierung? Vorlesung Modellierung Modellierungsmethoden der Informatik. Wintersemester 2011/12. Was ist Modellierung? Was ist Modellierung? Vorlesung Modellierung Modellierungsmethoden der Informatik Wintersemester 2011/12 Prof. Barbara König Übungsleitung: Dr. Sander Bruggink Modell Ein Modell ist eine Repräsentation

Mehr

Vorlesung Automaten und Formale Sprachen alias Theoretische Informatik Sommersemester 2015

Vorlesung Automaten und Formale Sprachen alias Theoretische Informatik Sommersemester 2015 Vorlesung Automaten und Formale Sprachen alias Theoretische Informatik Sommersemester 2015 Prof. Barbara König Übungsleitung: Jan Stückrath Barbara König Automaten und Formale Sprachen 1 Das heutige Programm:

Mehr

Vorlesung Modellierung nebenläufiger Systeme Sommersemester 2014 Universität Duisburg-Essen

Vorlesung Modellierung nebenläufiger Systeme Sommersemester 2014 Universität Duisburg-Essen Vorlesung Modellierung nebenläufiger Systeme Sommersemester 2014 Universität Duisburg-Essen Barbara König Übungsleitung: Sebastian Küpper Barbara König Vorlesung Modellierung nebenläufiger Systeme 1 Das

Mehr

Warum Modellierung? OE-Vorlesung 2016 Einführung in Petrinetze. Was ist ein Modell? Und warum Petrinetze? Petrinetze sind ein Modellierungswerkzeug.

Warum Modellierung? OE-Vorlesung 2016 Einführung in Petrinetze. Was ist ein Modell? Und warum Petrinetze? Petrinetze sind ein Modellierungswerkzeug. Warum Modellierung? OE-Vorlesung 016 Einführung in Petrinetze Dr. Lawrence Cabac cabac@informatik.uni-hamburg.de Folien: Dr. Frank Heitmann Fachbereich Informatik Universität Hamburg Petrinetze sind ein

Mehr

Petri-Netze. Renate Klempien-Hinrichs und Caro von Totth. Wer sind wir?

Petri-Netze.  Renate Klempien-Hinrichs und Caro von Totth. Wer sind wir? Petri-Netze http://www.informatik.uni-bremen.de/theorie/teach/petri Renate Klempien-Hinrichs und Caro von Totth Wer sind wir? Wie ist der Kurs organisiert? Worum geht es? Wer sind wir? 1.1 Renate Klempien-Hinrichs

Mehr

Motivation. Motivation

Motivation. Motivation Vorlesung Modellierung nebenläufiger Systeme Sommersemester 2012 Universität Duisburg-Essen Was sind nebenläufige Systeme? Ganz allgemein: Systeme, bei denen mehrere Komponenten/Prozesse nebenläufig arbeiten

Mehr

SYNTHESE ELEMENTARER PETRINETZE

SYNTHESE ELEMENTARER PETRINETZE SYNTHESE ELEMENTARER PETRINETZE OBERSEMINARVORTRAG VON MARTIN CANDROWICZ 27. MAI 2016 GLIEDERUNG 1. PETRINETZE 2. TRANSITIONSSYSTEME 3. MOTIVATION 4. ALGORITHMUS ZUR SYNTHESE ELEMENTARER PETRINETZE 1.

Mehr

Vorlesung Formale Aspekte der Software-Sicherheit und Kryptographie Sommersemester 2015 Universität Duisburg-Essen

Vorlesung Formale Aspekte der Software-Sicherheit und Kryptographie Sommersemester 2015 Universität Duisburg-Essen Vorlesung Formale Aspekte der Software-Sicherheit und Kryptographie Sommersemester 2015 Universität Duisburg-Essen Prof. Barbara König Übungsleitung: Sebastian Küpper Barbara König Form. Asp. der Software-Sicherheit

Mehr

Modellierungsmethoden der Informatik

Modellierungsmethoden der Informatik smethoden der Informatik Petrinetze (Teil III) 05.12.2007 Überblick Überblick Organisatorisches Wiederholung S/T-System: Grundbegriffe - Grundsituationen Nebenläufigkeit Invarianten B/E-Systeme Prädikat-Transitions-Netze

Mehr

Modellierungstechniken im Softwaredesign. Praxisprojekt [ai] Control WS 2011/2012 Lara Baschour und Anne Heiting

Modellierungstechniken im Softwaredesign. Praxisprojekt [ai] Control WS 2011/2012 Lara Baschour und Anne Heiting Modellierungstechniken im Softwaredesign Praxisprojekt [ai] Control WS 2011/2012 Lara Baschour und Anne Heiting Was ist Modellierung? Modell = Ein Modell ist eine Repräsentation eines Systems von Objekten,

Mehr

Unified Modeling Language (UML )

Unified Modeling Language (UML ) Unified Modeling Language (UML ) Seminar: Programmiersprachenkonzepte Inhalt Einleitung UML 2.0 Diagrammtypen 2 Einleitung Objektorientierte Modellierungssprache Definiert vollständige Semantik Dient der

Mehr

UML (Unified Modelling Language) von Christian Bartl

UML (Unified Modelling Language) von Christian Bartl UML (Unified Modelling Language) von Inhaltsverzeichnis Inhaltsverzeichnis... 2 1 UML Unified Modelling Language... 3 2 Diagrammtypen... 3 2.1 Aktivitätsdiagramm... 3 2.1.1 Notation... 4 2.1.2 Beispieldiagramm...

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

6.2 Petri-Netze. kommunizierenden Prozessen in der Realität oder in Rechnern Verhalten von Hardware-Komponenten Geschäftsabläufe Spielpläne

6.2 Petri-Netze. kommunizierenden Prozessen in der Realität oder in Rechnern Verhalten von Hardware-Komponenten Geschäftsabläufe Spielpläne 6.2 Petri-Netze WS 06/07 mod 621 Petri-Netz (auch Stellen-/Transitions-Netz): Formaler Kalkül zur Modellierung von Abläufen mit nebenläufigen Prozessen und kausalen Beziehungen Basiert auf bipartiten gerichteten

Mehr

Diskrete Strukturen Kapitel 2: Grundlagen (Mengen)

Diskrete Strukturen Kapitel 2: Grundlagen (Mengen) WS 2016/17 Diskrete Strukturen Kapitel 2: Grundlagen (Mengen) Hans-Joachim Bungartz Lehrstuhl für wissenschaftliches Rechnen Fakultät für Informatik Technische Universität München http://www5.in.tum.de/wiki/index.php/diskrete_strukturen_-_winter_16

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

Modellierung von Geschäftsprozessen Teil 6 - Petri-Netze

Modellierung von Geschäftsprozessen Teil 6 - Petri-Netze FHTW Berlin FB4, Wirtschaftsmathematik Modellierung von Geschäftsprozessen Teil 6 - Petri-Netze Dr. Irina Stobbe, 2005-2008 Thema - Überblick Petri-Netze Petri-Netze Einführung Funktionsweise Definition

Mehr

Kapitel 4: Analyse von Petrinetzen

Kapitel 4: Analyse von Petrinetzen Kapitel 4: Analyse von Petrinetzen 1. Beispiele 2. Analyseansatz 3. Markierungsgraph 4. Beschränktheit 5. State Space Explosion: Beispiel 6. Komplementbildung 7. Zusammenhängend 8. Tot, lebendig, verklemmungsfrei

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 11: Graphen Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009 1/42 Graphische Darstellung von Zusammenhängen schon an vielen Stellen

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 11: Graphen Thomas Worsch Karlsruher Institut für Technologie, Fakultät für Informatik Wintersemester 2010/2011 1/59 Graphische Darstellung von Zusammenhängen schon

Mehr

Modellbasierter Test mit der UML. Vortragender: Lars Westmeier Seminar: Spezifikationsbasierter Softwaretest

Modellbasierter Test mit der UML. Vortragender: Lars Westmeier Seminar: Spezifikationsbasierter Softwaretest Modellbasierter Test mit der UML Vortragender: Lars Westmeier Seminar: Spezifikationsbasierter Softwaretest Inhalt Einleitung und Motivation UML Testgenerierung Fazit Inhalt Einleitung und Motivation UML

Mehr

Abschnitt 3: Mathematische Grundlagen

Abschnitt 3: Mathematische Grundlagen Abschnitt 3: Mathematische Grundlagen 3. Mathematische Grundlagen 3.1 3.2 Induktion und Rekursion 3.3 Boolsche Algebra Peer Kröger (LMU München) Einführung in die Programmierung WS 14/15 48 / 155 Überblick

Mehr

Kapitel 2. Mathematische Grundlagen. Skript zur Vorlesung Einführung in die Programmierung

Kapitel 2. Mathematische Grundlagen. Skript zur Vorlesung Einführung in die Programmierung LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS DATABASE Kapitel 2 Mathematische Grundlagen Skript zur Vorlesung Einführung in die Programmierung im Wintersemester 2012/13 Ludwig-Maximilians-Universität

Mehr

c) {abcde, abcfg, bcade, bcafg} d) {ade, afg, bcde, bcfg} c) {abcabc} d) {abcbc, abc, a} c) {aa, ab, ba, bb} d) {{aa}, {ab}, {ba}, {bb}}

c) {abcde, abcfg, bcade, bcafg} d) {ade, afg, bcde, bcfg} c) {abcabc} d) {abcbc, abc, a} c) {aa, ab, ba, bb} d) {{aa}, {ab}, {ba}, {bb}} 2 Endliche Automaten Fragen 1. Was ergibt sich bei {a, bc} {de, fg}? a) {abc, defg} b) {abcde, abcfg} c) {abcde, abcfg, bcade, bcafg} d) {ade, afg, bcde, bcfg} 2. Was ergibt sich bei {abc, a} {bc, λ}?

Mehr

HM I Tutorium 1. Lucas Kunz. 27. Oktober 2016

HM I Tutorium 1. Lucas Kunz. 27. Oktober 2016 HM I Tutorium 1 Lucas Kunz 27. Oktober 2016 Inhaltsverzeichnis 1 Theorie 2 1.1 Logische Verknüpfungen............................ 2 1.2 Quantoren.................................... 3 1.3 Mengen und ihre

Mehr

Analyse von Petri-Netzen

Analyse von Petri-Netzen Universität Stuttgart Institut für Technische Informatik Hauptseminar: Architektur und Entwurfsmethoden eingebetteter Systeme Analyse von Petri-Netzen Manuela Antonovic 8. Semester Betreuer: Dominik Lücke

Mehr

Notationen zur Prozessmodellierung

Notationen zur Prozessmodellierung Notationen zur Prozessmodellierung August 2014 Inhalt (erweiterte) ereignisgesteuerte Prozesskette (eepk) 3 Wertschöpfungskettendiagramm (WKD) 5 Business Process Model and Notation (BPMN) 7 Unified Modeling

Mehr

NACHRICHTENTECHNISCHER SYSTEME

NACHRICHTENTECHNISCHER SYSTEME Einführung UML COMPUTERSIMULATION NACHRICHTENTECHNISCHER SYSTEME 11. Unified Modeling Language UML 220 Standardsprache d zur Visualisierung, i Spezifikation, Konstruktion und Dokumentation komplexer (Software-)

Mehr

Interleaving-Semantik: Parallelausführung wird auf Hintereinanderausführung in beliebiger Reihenfolge zurückgeführt.

Interleaving-Semantik: Parallelausführung wird auf Hintereinanderausführung in beliebiger Reihenfolge zurückgeführt. Einführung Interleaving-Semantik: Parallelausführung wird auf Hintereinanderausführung in beliebiger Reihenfolge zurückgeführt. P 1 = (a.stop) (b.stop) und P 2 = (a.b.stop) + (b.a.stop) werden nicht unterschieden.

Mehr

Unified Modeling Language

Unified Modeling Language Unified Modeling Language Thomas Röfer Motivation Entwicklung Spracheinheiten Diagramme (Struktur-/Verhaltensdiagramme) Rückblick Textsuche Naive Suche abrakadabra Boyer-Moore abrakadabra a Knuth-Morris-Pratt

Mehr

Einführung in die Informatik 2

Einführung in die Informatik 2 Einführung in die Informatik 2 Mathematische Grundbegriffe Sven Kosub AG Algorithmik/Theorie komplexer Systeme Universität Konstanz E 202 Sven.Kosub@uni-konstanz.de Sprechstunde: Freitag, 12:30-14:00 Uhr,

Mehr

WS 2009/10. Diskrete Strukturen

WS 2009/10. Diskrete Strukturen WS 2009/10 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws0910

Mehr

Verifizierende Testverfahren

Verifizierende Testverfahren Spezifikation Um einen Algorithmus zu schreiben, muss das zu lösende Problem genau beschrieben sein. Eine Spezifikation ist Verifizierende Testverfahren vollständig, wenn alle Anforderungen/alle relevanten

Mehr

WS 2009/10. Diskrete Strukturen

WS 2009/10. Diskrete Strukturen WS 2009/10 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws0910

Mehr

Theoretische Informatik

Theoretische Informatik Theoretische Informatik Sommersemester 2016 Steffen Lange 0/1, Folie 1 2016 Prof. Steffen Lange - HDa/FbI - Theoretische Informatik Literatur S. Lange, M. Margraf, Theoretische Informatik, Lehrmaterial

Mehr

Die mathematische Seite

Die mathematische Seite Kellerautomaten In der ersten Vorlesung haben wir den endlichen Automaten kennengelernt. Mit diesem werden wir uns in der zweiten Vorlesung noch etwas eingängiger beschäftigen und bspw. Ansätze zur Konstruktion

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

Diskrete Strukturen Kapitel 1: Einleitung

Diskrete Strukturen Kapitel 1: Einleitung WS 2015/16 Diskrete Strukturen Kapitel 1: Einleitung Hans-Joachim Bungartz Lehrstuhl für wissenschaftliches Rechnen Fakultät für Informatik Technische Universität München http://www5.in.tum.de/wiki/index.php/diskrete_strukturen_-_winter_15

Mehr

Mathematik I für Studierende der Informatik und Wirtschaftsinformatik (Diskrete Mathematik) im Wintersemester 2017/2018

Mathematik I für Studierende der Informatik und Wirtschaftsinformatik (Diskrete Mathematik) im Wintersemester 2017/2018 Mathematik I für Studierende der Informatik und Wirtschaftsinformatik (Diskrete Mathematik) im Wintersemester 2017/2018 23. November 2017 1/40 Satz 4.27 (Multinomialsatz) Seien r, n N 0. Dann gilt für

Mehr

Unified Modeling Language (UML)

Unified Modeling Language (UML) Kirsten Berkenkötter Was ist ein Modell? Warum Modellieren? Warum UML? Viele, viele Diagramme UML am Beispiel Was ist ein Modell? Ein Modell: ist eine abstrakte Repräsentation eines Systems, bzw. ist eine

Mehr

Die Unified Modeling Language UML

Die Unified Modeling Language UML Informatik II: Modellierung Prof. Dr. Martin Glinz Kapitel 4 Die Unified Modeling Language UML Universität Zürich Institut für Informatik Inhalt 4.1 Hintergrund 4.2 Grundkonzepte der UML 4.3 Die Rolle

Mehr

Kapitel 2 - Die Definitionsphase

Kapitel 2 - Die Definitionsphase Kapitel 2 - Die Definitionsphase SWT I Sommersemester 2010 Walter F. Tichy, Andreas Höfer, Korbinian Molitorisz IPD Tichy, Fakultät für Informatik KIT die Kooperation von Forschungszentrum Karlsruhe GmbH

Mehr

Diskrete Strukturen Kapitel 2: Grundlagen (Relationen)

Diskrete Strukturen Kapitel 2: Grundlagen (Relationen) WS 2016/17 Diskrete Strukturen Kapitel 2: Grundlagen (Relationen) Hans-Joachim Bungartz Lehrstuhl für wissenschaftliches Rechnen Fakultät für Informatik Technische Universität München http://www5.in.tum.de/wiki/index.php/diskrete_strukturen_-_winter_16

Mehr

Unified Modeling Language 2

Unified Modeling Language 2 Unified Modeling Language 2 Marvin Frommhold 17.11.2008 Gliederung Einleitung Geschichte Strukturierung der Spezifikation Diagrammtypen Strukturdiagramme Verhaltensdiagramme CASE-Werkzeuge Quellen Was

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Kapitel 15: Graphen Thomas Worsch KIT, Institut für Theoretische Informatik Wintersemester 2015/2016 GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik

Mehr

Requirements Engineering I

Requirements Engineering I Martin Glinz Requirements Engineering I Kapitel 9 UML Unified Modeling Language Universität Zürich Institut für Informatik 2006, 2009 Martin Glinz. Alle Rechte vorbehalten. Speicherung und Wiedergabe für

Mehr

Dieser Foliensatz darf frei verwendet werden unter der Bedingung, dass diese Titelfolie nicht entfernt wird.

Dieser Foliensatz darf frei verwendet werden unter der Bedingung, dass diese Titelfolie nicht entfernt wird. Thomas Studer Relationale Datenbanken: Von den theoretischen Grundlagen zu Anwendungen mit PostgreSQL Springer, 2016 ISBN 978-3-662-46570-7 Dieser Foliensatz darf frei verwendet werden unter der Bedingung,

Mehr

Grundbegriffe der Informatik Tutorium 33

Grundbegriffe der Informatik Tutorium 33 Tutorium 33 02.02.2017 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Gliederung 1 2 3 Ein ist ein Tupel A = (Z, z 0, X, f, Y, h)

Mehr

Informatik 12 Kapitel 2 - Kommunikation und Synchronisation von Prozessen

Informatik 12 Kapitel 2 - Kommunikation und Synchronisation von Prozessen Fachschaft Informatik Informatik 12 Kapitel 2 - Kommunikation und Synchronisation von Prozessen Michael Steinhuber König-Karlmann-Gymnasium Altötting 9. Februar 2017 Folie 1/40 Inhaltsverzeichnis I 1 Kommunikation

Mehr

Mathematische Grundlagen

Mathematische Grundlagen Mathematische Grundlagen für Wirtschaftsinformatiker Prof. Dr. Peter Becker Fachbereich Informatik Hochschule Bonn-Rhein-Sieg Wintersemester 2016/17 Peter Becker (H-BRS) Mathematische Grundlagen Wintersemester

Mehr

Requirements Engineering I

Requirements Engineering I Martin Glinz Requirements Engineering I Kapitel 9 UML Unified Modeling Language Universität Zürich Institut für Informatik 2006, 2008 Martin Glinz. Alle Rechte vorbehalten. Speicherung und Wiedergabe sind

Mehr

Am Dienstag, den 16. Dezember, ist Eulenfest. 1/45

Am Dienstag, den 16. Dezember, ist Eulenfest. 1/45 Am Dienstag, den 16. Dezember, ist Eulenfest. 1/45 Grundbegriffe der Informatik Einheit 12: Erste Algorithmen in Graphen Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009

Mehr

Petri-Netze / Eine Einführung (Teil 2)

Petri-Netze / Eine Einführung (Teil 2) Manuel Hertlein Seminar Systementwurf Lehrstuhl Theorie der Programmierung Wiederholung (1) Petri-Netz = bipartiter, gerichteter Graph Aufbau: Plätze (passive Komponenten) Transitionen (aktive Komponenten)

Mehr

1. Einführung in Temporallogik CTL

1. Einführung in Temporallogik CTL 1. Einführung in Temporallogik CTL Temporallogik dient dazu, Aussagen über Abläufe über die Zeit auszudrücken und zu beweisen. Zeit wird in den hier zunächst behandelten Logiken als diskret angenommen

Mehr

Software Engineering Ergänzung zur Vorlesung

Software Engineering Ergänzung zur Vorlesung Ergänzung zur Vorlesung Prof. Dr. Markus Müller-Olm WS 2008 2009 2.6.1 Endliche und reguläre Sprachen Endliche und reguläre Sprache: fundamental in vielen Bereichen der Informatik: theorie Formale Sprachen

Mehr

Theoretische Informatik 1 WS 2007/2008. Prof. Dr. Rainer Lütticke

Theoretische Informatik 1 WS 2007/2008. Prof. Dr. Rainer Lütticke Theoretische Informatik 1 WS 2007/2008 Prof. Dr. Rainer Lütticke Inhalt der Vorlesung Grundlagen - Mengen, Relationen, Abbildungen/Funktionen - Datenstrukturen - Aussagenlogik Automatentheorie Formale

Mehr

(Prof. Dr. J. Schlichter, WS 2011 / 2012) Übungsleitung: Dr. Wolfgang Wörndl

(Prof. Dr. J. Schlichter, WS 2011 / 2012) Übungsleitung: Dr. Wolfgang Wörndl Übung zur Vorlesung Grundlagen Betriebssysteme und Systemsoftware (Prof. Dr. J. Schlichter, WS 2011 / 2012) Übungsleitung: Dr. Wolfgang Wörndl (gbs-ws11@mailschlichter.informatik.tu-muenchen.de) http://www11.in.tum.de/veranstaltungen/grundlagenbetriebssystemeundsystemsoftwarews1112

Mehr

Software-Engineering SS03. Zustandsautomat

Software-Engineering SS03. Zustandsautomat Zustandsautomat Definition: Ein endlicher Automat oder Zustandsautomat besteht aus einer endlichen Zahl von internen Konfigurationen - Zustände genannt. Der Zustand eines Systems beinhaltet implizit die

Mehr

Aufgaben Petrinetze Aufgabe 1

Aufgaben Petrinetze Aufgabe 1 Task C läuft an, wenn A und B abgelaufen sind. Aufgabe 1 A B Task A REL S1 Task B REL S2 REQ S1 REQ S2 S1 S2 Task C C Aufgabe: Task C läuft an, wenn A oder B abgelaufen sind. Zeichne das Petrinetz und

Mehr

Klausur zur Vorlesung Grundbegriffe der Informatik 5. März 2014

Klausur zur Vorlesung Grundbegriffe der Informatik 5. März 2014 Klausur zur Vorlesung Grundbegriffe der Informatik 5. März 2014 Klausurnummer Nachname: Vorname: Matr.-Nr.: Aufgabe 1 2 3 4 5 6 7 max. Punkte 6 8 4 7 5 6 8 tats. Punkte Gesamtpunktzahl: Note: Punkte Aufgabe

Mehr

Vorlesung 2. Tilman Bauer. 6. September 2007

Vorlesung 2. Tilman Bauer. 6. September 2007 Vorlesung 2 Universität Münster 6. September 2007 Organisatorisches Meine Koordinaten: Sprechstunden: Di 13:30-14:30 Do 9:00-10:00 tbauer@uni-muenster.de Zimmer 504, Einsteinstr. 62 (Hochhaus) für alle

Mehr

Grundbegriffe der Informatik Kapitel 3: Mengen, Alphabete, Abbildungen

Grundbegriffe der Informatik Kapitel 3: Mengen, Alphabete, Abbildungen Grundbegriffe der Informatik Kapitel 3: Mengen, Alphabete, Abbildungen Thomas Worsch KIT, Institut für Theoretische Informatik Wintersemester 2015/2016 GBI Grundbegriffe der Informatik KIT, Institut für

Mehr

Einführung in Petri-Netze. Modellierung von Abläufen und Prozessen (1) Abhängigkeitsgraphen: Motivation. Petri-Netze

Einführung in Petri-Netze. Modellierung von Abläufen und Prozessen (1) Abhängigkeitsgraphen: Motivation. Petri-Netze Einführung in Petri-Netze Modellierung von Abläufen und Prozessen () Motivation Abhängigkeitsgraphen: A B 6 C 5 D Petri-Netze Markierungen Invarianten Credits: L. Priese, H. Wimmel: Petri-Netze, Theoretische

Mehr

Bipartite Graphen. Beispiele

Bipartite Graphen. Beispiele Bipartite Graphen Ein Graph G = (V, E) heiÿt bipartit (oder paar), wenn die Knotenmenge in zwei disjunkte Teilmengen zerfällt (V = S T mit S T = ), sodass jede Kante einen Knoten aus S mit einem Knoten

Mehr

Universität Karlsruhe (TH)

Universität Karlsruhe (TH) Universität Karlsruhe (TH) Forschungsuniversität gegründet 1825 Kapitel 2 Die Definitionsphase Prof. Walter F. Tichy Wo sind wir gerade? Planung Lastenheft (funktionales Modell) Definition (Analyse) Pflichtenheft

Mehr

Tamagotchi-Spezifikation in UML

Tamagotchi-Spezifikation in UML Tamagotchi-Spezifikation in UML Christian Becker Steffen Glomb Michael Graf Gliederung Grundlagen Notation Werkzeug Modellierung Details der Spezifikation Erfahrungen Beurteilung von Notation und Werkzeug

Mehr

Mengen und Abbildungen

Mengen und Abbildungen 1 Mengen und bbildungen sind Hilfsmittel ( Sprache ) zur Formulierung von Sachverhalten; naive Vorstellung gemäß Georg Cantor (1845-1918) (Begründer der Mengenlehre). Definition 1.1 Eine Menge M ist eine

Mehr

UML 2.0 als Architekturbeschreibungssprache? Seminar: Architekturbeschreibungssprachen Manuel Wickert

UML 2.0 als Architekturbeschreibungssprache? Seminar: Architekturbeschreibungssprachen Manuel Wickert UML 2.0 als Architekturbeschreibungssprache? Seminar: Architekturbeschreibungssprachen Manuel Wickert Motivation UML 2.0 nicht als ADL im Sinne von Taylor/Medvidovic entworfen. Warum UML als ADL? weit

Mehr

Systemtheorie 1. Formale Systeme 1 # WS 2006/2007 Johannes Kepler Universität Linz, Österreich

Systemtheorie 1. Formale Systeme 1 # WS 2006/2007 Johannes Kepler Universität Linz, Österreich Einführung 1 Systemtheorie 1 Formale Systeme 1 #342234 http://fmv.jku.at/fs1 WS 2006/2007 Johannes Kepler Universität Linz, Österreich Univ. Prof. Dr. Armin Biere Institut für Formale Modelle und Verifikation

Mehr

Unified. Copyright Adriano Gesué UML 2.0 UML 1.4 UML 1.3 UML 1.2 UML 1.1 UML 1.0 UML 0.9. Method 0.8

Unified. Copyright Adriano Gesué UML 2.0 UML 1.4 UML 1.3 UML 1.2 UML 1.1 UML 1.0 UML 0.9. Method 0.8 Literatur Martin Fowler and Kendall Scott: UML Distilled: Applying the Standard Object Modeling Language. Addison-Wesley 1997. James Rumbaugh, Ivar Jacobson, and Grady Booch: The Unified Language Reference

Mehr

Mengenlehre. Ist M eine Menge und x ein Element von M, so schreiben wir x M. Ist x kein Element von M, so schreiben wir x M.

Mengenlehre. Ist M eine Menge und x ein Element von M, so schreiben wir x M. Ist x kein Element von M, so schreiben wir x M. Mengenlehre Eine Menge ist eine Zusammenfassung bestimmter und unterschiedlicher Objekte. Für jedes Objekt lässt sich eindeutig sagen, ob es zu der Menge gehört. Die Objekte heißen Elemente der Menge.

Mehr

Analysis 1, Woche 2. Reelle Zahlen. 2.1 Anordnung. Definition 2.1 Man nennt eine Anordnung für K, wenn: 1. Für jeden a K gilt a a (Reflexivität).

Analysis 1, Woche 2. Reelle Zahlen. 2.1 Anordnung. Definition 2.1 Man nennt eine Anordnung für K, wenn: 1. Für jeden a K gilt a a (Reflexivität). Analysis 1, Woche 2 Reelle Zahlen 2.1 Anordnung Definition 2.1 Man nennt eine Anordnung für K, wenn: 1. Für jeden a K gilt a a (Reflexivität). 2. Für jeden a, b K mit a b und b a gilt a = b (Antisymmetrie).

Mehr

Computergestützte Modellierung und Verifikation

Computergestützte Modellierung und Verifikation Computergestützte Modellierung und Verifikation Vorlesung mit Übungen SS 2007 Prof. F. von Henke mit Dr. H. Pfeifer Inst. für Künstliche Intelligenz Organisatorisches Vorlesung: Mi 14 16 Raum 3211 Do 14

Mehr

Stochastik für die Informatik

Stochastik für die Informatik Stochastik für die Informatik Wintersemester 2016/17 Anton Wakolbinger 1 StofI-Webseite: http://ismi.math.unifrankfurt.de/wakolbinger/teaching/stofi1617/ Oder: http://www.uni-frankfurt.de/53215133 Oder:

Mehr

Einführung Low-Level-Netze High-Level-Netze Referenzen. Petrinetze. Benjamin Daeumlich 30.10.2006

Einführung Low-Level-Netze High-Level-Netze Referenzen. Petrinetze. Benjamin Daeumlich 30.10.2006 30.10.2006 Gliederung 1 2 3 4 . Geschichte Was sind? Petrinetz-Typen Geschichte Geschichte Was sind? Petrinetz-Typen 1962 eingeführt von Carl Adam Petri zuerst nur aber: oft zu einfach für Spezifikationszwecke

Mehr

Lineare Algebra I. - 1.Vorlesung - Prof. Dr. Daniel Roggenkamp & Falko Gauß. Monday 12 September 16

Lineare Algebra I. - 1.Vorlesung - Prof. Dr. Daniel Roggenkamp & Falko Gauß. Monday 12 September 16 Lineare Algebra I - 1.Vorlesung - Prof. Dr. Daniel Roggenkamp & Falko Gauß 1. Mengen und Abbildungen: Mengen gehören zu den Grundlegendsten Objekten in der Mathematik Kurze Einführung in die (naive) Mengelehre

Mehr

Endliche Automaten. Endliche Automaten J. Blömer 1/23

Endliche Automaten. Endliche Automaten J. Blömer 1/23 Endliche Automaten Endliche Automaten sind ein Kalkül zur Spezifikation von realen oder abstrakten Maschinen regieren auf äußere Ereignisse (=Eingaben) ändern ihren inneren Zustand produzieren gegebenenfalls

Mehr

Unified Modelling Language

Unified Modelling Language Unified Modelling Language SEP 72 Software-Entwicklung Software-Entwicklung ist Prozess von Anforderung über Modellierungen zu fertigen Programmen Anforderungen oft informell gegeben fertige Programme

Mehr

Stochastik für die Informatik

Stochastik für die Informatik Stochastik für die Informatik Wintersemester 2012/13 Anton Wakolbinger 1 StofI-Webseite: http://ismi.math.unifrankfurt.de/wakolbinger/teaching/stofi1213/ 2 StofI-Webseite: http://ismi.math.unifrankfurt.de/wakolbinger/teaching/stofi1213/

Mehr

Für unseren Gebrauch ist eine Menge bestimmt durch die in ihr enthaltenen Elemente. Ist M eine Menge, so ist ein beliebiges Objekt m wieder so ein

Für unseren Gebrauch ist eine Menge bestimmt durch die in ihr enthaltenen Elemente. Ist M eine Menge, so ist ein beliebiges Objekt m wieder so ein Mengen 1.2 9 1.2 Mengen 7 Der Begriff der Menge wurde am Ende des 19. Jahrhunderts von Georg Cantor wie folgt eingeführt. Definition (Cantor 1895) Eine Menge ist eine Zusammenfassung M von bestimmten,

Mehr

Software-Engineering

Software-Engineering SWE43 Slide 1 Software-Engineering Sebastian Iwanowski FH Wedel Kapitel 4: Systemanalyse Teil 3: Der Systemanalysestandard UML SWE43 Slide 2 UML: Was ist das? UML = Unified Modelling Language ist ein Standard,

Mehr

Kapitel 4: Analyse von Petrinetzen

Kapitel 4: Analyse von Petrinetzen Kapitel 4: Analyse von Petrinetzen 1. Beispiele 2. Analyseansatz 3. Markierungsgraph 4. Beschränktheit 5. State Space Explosion: Beispiel 6. Komplementbildung 7. Zusammenhängend 8. Tot, lebendig, verklemmungsfrei

Mehr

Vorkurs Mathematik und Informatik Mengen, natürliche Zahlen, Induktion

Vorkurs Mathematik und Informatik Mengen, natürliche Zahlen, Induktion Vorkurs Mathematik und Informatik Mengen, natürliche Zahlen, Induktion Saskia Klaus 07.10.016 1 Motivation In den ersten beiden Vorträgen des Vorkurses haben wir gesehen, wie man aus schon bekannten Wahrheiten

Mehr

André Krischke Helge Röpcke. Graphen und Netzwerktheorie Grundlagen Methoden Anwendungen

André Krischke Helge Röpcke. Graphen und Netzwerktheorie Grundlagen Methoden Anwendungen André Krischke Helge Röpcke Graphen und Netzwerktheorie Grundlagen Methoden Anwendungen 8 Grundbegriffe der Graphentheorie für die Kante, die die beiden Knoten und verbindet. Der linke Graph in Bild. kann

Mehr

Empfehlenswerte Referenzen

Empfehlenswerte Referenzen Wenn Google etwas nicht finden kann, fragen sie Jack Bauer. ("Fakten über Jack Bauer") Inhalt Empfehlenswerte Referenzen...1 0 Wozu reguläre Ausdrücke?...1 1 Die Elemente regulärer Ausdrücke...2 2 Ein

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Tafelübung 05 Unified Modeling Language, Codierregeln Clemens Lang T2/T4 25. Mai 2010 (bergfrei) 27. Mai 2010 (Vertretung) Tafelübung zu AuD 1/18 Was ist UML? Was ist UML?

Mehr

Rückblick: Entity-Relationship-Modell

Rückblick: Entity-Relationship-Modell Rückblick: Entity-Relationship-Modell Entity-Relationship-Modell für konzeptuellen Entwurf Entitytypen (entity types) (z.b. Studenten) Beziehungstypen (relationships) (z.b. hören) Attribute beschreiben

Mehr

Grundlagen der Mathematik

Grundlagen der Mathematik Universität Hamburg Winter 2016/17 Fachbereich Mathematik Janko Latschev Lösungsskizzen 3 Grundlagen der Mathematik Präsenzaufgaben (P4) Wir betrachten die Menge M := P({1, 2, 3, 4}). Dann gilt 1 / M,

Mehr

INSPIRE - Modellierung

INSPIRE - Modellierung INSPIRE - Modellierung Inhalt Motivation Modellierung UML Diagramme INSPIRE-Schulung LKROS 2 Motivation Was ist ein Modell, und warum wollen wir modellieren? Warum brauchen wir eine Modellierungssprache

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

Analysis III. Vorlesung 61

Analysis III. Vorlesung 61 Prof. Dr. H. Brenner Osnabrück WS 2014/2015 Analysis III Vorlesung 61 In diesem Kurs beschäftigen wir uns mit dem Flächeninhalt von ebenen Gebilden und den Volumina von räumlichen Gebilden. Für ein Rechteck

Mehr

Architektur verteilter Anwendungen

Architektur verteilter Anwendungen Architektur verteilter Anwendungen Schwerpunkt: verteilte Algorithmen Algorithmus: endliche Folge von Zuständen Verteilt: unabhängige Prozessoren rechnen tauschen Informationen über Nachrichten aus Komplexität:

Mehr

Stochastik für die Informatik

Stochastik für die Informatik Stochastik für die Informatik Wintersemester 2017/18 Anton Wakolbinger 1 StofI-Webseite: http://ismi.math.unifrankfurt.de/wakolbinger/teaching/stofi1718/ Oder: http://www.uni-frankfurt.de/53215133 Oder:

Mehr