Modellierungsmethoden der Informatik EinModellist eine ... · Einf uhrung in die Modellierung...

17
Einf¨ uhrung in die Modellierung Petrinetze Unified Modeling Language (UML) Vorlesung “Modellierung” “Modellierungsmethoden der Informatik” Wintersemester 2011/12 Prof. Barbara K¨ onig ¨ Ubungsleitung: Dr. Sander Bruggink Barbara K¨ onig Modellierung 1 Einf¨ uhrung in die Modellierung Petrinetze Unified Modeling Language (UML) Was ist Modellierung? Modell Ein Modell ist eine Repr¨ asentation eines Systems von Objekten, Beziehungen und/oder Abl¨ aufen. Ein Modell vereinfacht und abstrahiert dabei im allgemeinen das repr¨ asentierte System. System Der Begriff System wird hier sehr allgemein verwendet. Er kann entweder einen Teil der Realit¨ at oder ein noch nicht bestehendes Gebilde, das noch erstellt werden muss, bezeichnen. Barbara K¨ onig Modellierung 25 Einf¨ uhrung in die Modellierung Petrinetze Unified Modeling Language (UML) Was ist Modellierung? 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, . . . ) Barbara K¨ onig Modellierung 26 Einf¨ uhrung in die Modellierung Petrinetze Unified Modeling Language (UML) Modellierung in der Physik 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¨ andert haben. Barbara K¨ onig Modellierung 27

Transcript of Modellierungsmethoden der Informatik EinModellist eine ... · Einf uhrung in die Modellierung...

Einfuhrung in die ModellierungPetrinetze

Unified Modeling Language (UML)

Vorlesung “Modellierung”“Modellierungsmethoden der Informatik”

Wintersemester 2011/12

Prof. Barbara KonigUbungsleitung: Dr. Sander Bruggink

Barbara Konig Modellierung 1

Einfuhrung in die ModellierungPetrinetze

Unified Modeling Language (UML)

Was ist Modellierung?

Modell

Ein Modell ist eine Reprasentation eines Systems von Objekten,Beziehungen und/oder Ablaufen. Ein Modell vereinfacht undabstrahiert dabei im allgemeinen das reprasentierte System.

System

Der Begriff System wird hier sehr allgemein verwendet. Er kannentweder

einen Teil der Realitat oder

ein noch nicht bestehendes Gebilde, das noch erstellt werdenmuss,

bezeichnen.

Barbara Konig Modellierung 25

Einfuhrung in die ModellierungPetrinetze

Unified Modeling Language (UML)

Was ist Modellierung?

Modellierung

Modellierung ist der Prozess, bei dem ein Modell eines Systemserstellt wird.

Warum sollte man modellieren?

Um ein System zu entwerfen, besser zu verstehen, zuvisualisieren, zu simulieren, . . .

Um etwas konkreter zu werden betrachten wir den Begriff derModellierung in verschiedenen Disziplinen (Physik, Biologie,Klimaforschung, . . . )

Barbara Konig Modellierung 26

Einfuhrung in die ModellierungPetrinetze

Unified Modeling Language (UML)

Modellierung in der Physik

Atommodelle

Atome bestehen aus Protonen, Neutronen und Elektronen. Wiediese Teilchen zusammenwirken, wird in verschiedenenAtommodellen beschrieben, die sich im Laufe der Zeit immerwieder geandert haben.

Barbara Konig Modellierung 27

Einfuhrung in die ModellierungPetrinetze

Unified Modeling Language (UML)

Modellierung in der Biologie

Zitronensaurezyklus

Der Zitronensaurezyklus oder Citratzyklus modelliert den Abbauorganischer Stoffe im Korper.

Barbara Konig Modellierung 28

Einfuhrung in die ModellierungPetrinetze

Unified Modeling Language (UML)

Modellierung in der Klimaforschung

Modell des Transports von Gasen in der Atmosphare

Barbara Konig Modellierung 29

Einfuhrung in die ModellierungPetrinetze

Unified Modeling Language (UML)

Arten von Modellen

visuell vs. textuell

Nicht alle Modelle sind visuell bzw. graphisch. Auch mit textuellenBeschreibunge und Formeln kann man modellieren (siehebeispielsweise mathematische Modelle).Dennoch werden haufig graphische Darstellungen benutzt, auchaus didaktischen Grunden und um sich besser uber die Modelleverstandigen zu konnen.

Barbara Konig Modellierung 30

Einfuhrung in die ModellierungPetrinetze

Unified Modeling Language (UML)

Arten von Modellen

qualitativ vs. quantitativ

qualitative Modelle: Welche Objekte gibt es? Was passiert?Warum passiert es? In welcher Reihenfolge geschehen dieEreignisse? Was sind die kausalen Zusammenhange? WelchePhanomene treten auf?

quantitative Modelle: Wieviele Objekte gibt es? Wie langedauert ein Vorgang? Wie wahrscheinlich ist ein bestimmtesEreignis?

Barbara Konig Modellierung 31

Einfuhrung in die ModellierungPetrinetze

Unified Modeling Language (UML)

Arten von Modellen

black box vs. white box

black box: nur das von außen beobachtbare Verhalten wirdbeschrieben

white box: es wird auch beschrieben, wie das von außenbeobachtbare Verhalten im “Inneren” des Systems erzeugtwird

Barbara Konig Modellierung 32

Einfuhrung in die ModellierungPetrinetze

Unified Modeling Language (UML)

Arten von Modellen

statisch vs. dynamisch

ein statisches Modell beschreibt einen Zustand des Systems zueinem bestimmten Zeitpunkt

ein dynamisches Modell beschreibt hingegen auch, wie dasSystem sich entwickelt (ein oder mehrere mogliche Ablaufeoder sogar das gesamte Systemverhalten)

Barbara Konig Modellierung 33

Einfuhrung in die ModellierungPetrinetze

Unified Modeling Language (UML)

Arten von Modellen

nicht-formell vs. semi-formal vs. formal

Je nach Exaktheit der Modelle erhalt man:

formale Modelle, die vollkommen exakt in ihren Aussagen sind(vor allem mathematische Modelle)

semi-formale Modelle, die teilweise exakt sind, jedoch nichtalles vollstandig spezifieren

nicht-formale Modelle, die als grobe Richtlinie dienen konnen,jedoch eher vage Aussagen machen

Barbara Konig Modellierung 34

Einfuhrung in die ModellierungPetrinetze

Unified Modeling Language (UML)

Probleme mit nicht-formalen Modellen

Naturliche Sprache ist nicht immer eindeutig.

Beispiel:

Ich sah den Mann auf dem Berg mit dem Fernrohr.

Barbara Konig Modellierung 35

Einfuhrung in die ModellierungPetrinetze

Unified Modeling Language (UML)

Probleme mit nicht-formalen Modellen

(((Ich sah den Mann) auf dem Berg) mit dem Fernrohr)

Barbara Konig Modellierung 36

Einfuhrung in die ModellierungPetrinetze

Unified Modeling Language (UML)

Probleme mit nicht-formalen Modellen

((Ich sah (den Mann auf dem Berg)) mit dem Fernrohr)

Barbara Konig Modellierung 37

Einfuhrung in die ModellierungPetrinetze

Unified Modeling Language (UML)

Probleme mit nicht-formalen Modellen

((Ich sah den Mann) (auf dem Berg mit dem Fernrohr))

Barbara Konig Modellierung 38

Einfuhrung in die ModellierungPetrinetze

Unified Modeling Language (UML)

Probleme mit nicht-formalen Modellen

(Ich sah ((den Mann auf dem Berg) mit dem Fernrohr))

Barbara Konig Modellierung 39

Einfuhrung in die ModellierungPetrinetze

Unified Modeling Language (UML)

Probleme mit nicht-formalen Modellen

(Ich sah (den Mann (auf dem Berg mit dem Fernrohr)))

Barbara Konig Modellierung 40

Einfuhrung in die ModellierungPetrinetze

Unified Modeling Language (UML)

Probleme mit nicht-formalen Modellen

(((Ich sah den Mann) auf demBerg) mit dem Fernrohr)

((Ich sah (den Mann auf demBerg)) mit dem Fernrohr)

((Ich sah den Mann) (auf demBerg mit dem Fernrohr))

(Ich sah ((den Mann auf demBerg) mit dem Fernrohr))

(Ich sah (den Mann (auf demBerg mit dem Fernrohr)))

5 moglicheInterpretationen!

Barbara Konig Modellierung 41

Einfuhrung in die ModellierungPetrinetze

Unified Modeling Language (UML)

Probleme mit nicht-formalen Modellen

Auch graphische Darstellungen konnen uneindeutig sein:

Barbara Konig Modellierung 42

Einfuhrung in die ModellierungPetrinetze

Unified Modeling Language (UML)

Modellierung in der Informatik

In dieser Vorlesung geht es um Modellierungsmethoden in derInformatik. Diese werden zum Entwurf folgender Systemeeingesetzt:

(Objekt-orientierte) Programme

(Große) Software-Systeme

Benutzeroberflachen

Datenbanken

Virtual Reality, Computer-Spiele

. . .

Barbara Konig Modellierung 43

Einfuhrung in die ModellierungPetrinetze

Unified Modeling Language (UML)

Wozu ist Modellierung gut?

Wozu benotigt man Modelle?

je komplexer ein System ist, desto wichtiger ist es, einen Planzu erstellen, bevor man beginnt das System zu konstruieren

dies fuhrt zu:

Vermeidung von Fehlern

besserer Qualitat

niedrigeren Kosten

besserer Dokumentation und Wiederverwendbarkeit

Barbara Konig Modellierung 44

Einfuhrung in die ModellierungPetrinetze

Unified Modeling Language (UML)

Wozu ist Modellierung gut?

Analogie: Bau eines Hauses

Beim Bau einer Hundehutte kannman zumeist ohne große Planungvorgehen. Die Hutte kann voneiner einzelnen Person erstelltwerden und ein Hund hat zumeistkeine großen Anforderungen.

Barbara Konig Modellierung 45

Einfuhrung in die ModellierungPetrinetze

Unified Modeling Language (UML)

Wozu ist Modellierung gut?

Analogie: Bau eines Hauses

Beim Bau einesEinfamilienhauses ist Planungviel wichtiger. Die Familie istanspruchsvoller als ein Hund,Bauvorschriften musseneingehalten werden undvermutlich werden nicht alleArbeiten von derselben Persondurchgefuhrt.

Barbara Konig Modellierung 46

Einfuhrung in die ModellierungPetrinetze

Unified Modeling Language (UML)

Wozu ist Modellierung gut?

Analogie: Bau eines Hauses

Beim Bau eines Hochhauses istohne Erstellung eines detailliertenPlans bzw. Modells nichtmoglich. Das Risiko, Fehler zumachen ist sehr groß, und Fehlerkonnen extrem kostspieligwerden.

Barbara Konig Modellierung 47

Einfuhrung in die ModellierungPetrinetze

Unified Modeling Language (UML)

Wozu ist Modellierung gut?

Modellierung ist in der Informatik weniger verbreitet als in denIngenieurwissenschaften, aber ebenso wichtig.

Schwierigkeiten beim Entwurf komplexer Systeme

Menschen konnen sich komplexe Systeme normalerweise nichtin vollem Umfang vorstellen

Bei mehreren Menschen/Entwicklern gibt es unterschiedlicheMeinungen daruber, 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 sichfundamental von der Entwicklung großerer Software.

Barbara Konig Modellierung 48

Einfuhrung in die ModellierungPetrinetze

Unified Modeling Language (UML)

Probleme bei der Entwicklung großer Systeme

Klein-Groß-Gegensatze in der Software-Entwicklung:

klein groß

Programme bis ungefahr 300Zeilen Langere Programme

Fur den Eigengebrauch Fur den Gebrauch durchDritte

Vage Zielsetzung genugt, dasProdukt ist seine eigeneSpezifikation

Genaue Zielbestimmung, d.h.die Spezifikation vonAnforderungen, erforderlich

Barbara Konig Modellierung 49

Einfuhrung in die ModellierungPetrinetze

Unified Modeling Language (UML)

Probleme bei der Entwicklung großer Systeme

klein groß

Ein Schritt vom Problem zurLosung genugt: Losung wirddirekt programmiert

Mehrere Schritte vomProblem zur Losungerforderlich: Spezifikation,Konzept, Entwurf undProgrammieren der Teile,Zusammensetzen,Inbetriebnahme

Validierung(Uberprufung/Testen) undnotige Korrekturen finden amEndprodukt statt

Auf jeden Entwicklungsschrittmuss ein Prufschritt folgen,sonst kann Endergebnisunbrauchbar werden

Barbara Konig Modellierung 50

Einfuhrung in die ModellierungPetrinetze

Unified Modeling Language (UML)

Probleme bei der Entwicklung großer Systeme

klein groß

Eine Person entwickelt: keineKooperation undKommunikation erforderlich

Mehrere Personen entwickelngemeinsam: Koordination undKommunikation notwendig

Komplexitat des Problems inder Regel klein, Strukturierenund Behalten der Ubersichtnicht schwierig

Komplexitat des Problemsgroßer bis sehr groß, expliziteMaßnahmen zurStrukturierung undModularisierung erforderlich

Barbara Konig Modellierung 51

Einfuhrung in die ModellierungPetrinetze

Unified Modeling Language (UML)

Probleme bei der Entwicklung großer Systeme

klein groß

Software besteht aus wenigenKomponenten

Software besteht aus vielenKomponenten, die spezielleMaßnahmen zurKomponentenverwaltungerfordern

In der Regel wird keineDokumentation erstellt Dokumentation dringend

erforderlich, damit Softwarewirtschaftlich betrieben undgepflegt werden kann

Barbara Konig Modellierung 52

Einfuhrung in die ModellierungPetrinetze

Unified Modeling Language (UML)

Probleme bei der Entwicklung großer Systeme

klein groß

Keine Planung undProjektorganisationerforderlich

Planung undProjektorganisation zwingenderforderlich fur einezielgerichtete, wirtschaftlicheEntwicklung

Barbara Konig Modellierung 53

Einfuhrung in die ModellierungPetrinetze

Unified Modeling Language (UML)

Probleme bei der Entwicklung großer Systeme

Explosion der Anzahl der Kommunikationspfade bei Anstieg derEntwicklerzahl:

Quantensprung:Kommunikationwird erforderlich

Quantensprung:Zahl der Komm.pfadeubersteigt Zahlder Personen

1 2 3 4 5 6

0 1 3 6 10 15

Anzahl Personen:

Anzahl Komm.pfade:

Barbara Konig Modellierung 54

Einfuhrung in die ModellierungPetrinetze

Unified Modeling Language (UML)

Probleme bei der Entwicklung großer Systeme

Die Problematik bei der Erstellung großer Programme sieht manauch 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 fur die Wartung aufgewendet(12% Anpassung; 36% Erweiterung und Verbesserung;12% Fehlerbehebung)

Barbara Konig Modellierung 55

Einfuhrung in die ModellierungPetrinetze

Unified Modeling Language (UML)

Wozu ist Modellierung gut?

Aus diesen Fakten und Zahlen ergibt sich folgende Konsequenz:

Vor allem bei der Erstellung großer Systeme ist es unbedingterforderlich, zunachst das System zu modellieren, bevor esimplementiert bzw. konstruiert wird.

Meistens sind auch mehrere verschiedene Modelle erforderlich.

Aus Grunden der Ubersichtlichkeit und Didaktik werden wir uns inder Vorlesung jedoch hauptsachlich mit kleinen Modellen befassen.

Barbara Konig Modellierung 56

Einfuhrung in die ModellierungPetrinetze

Unified Modeling Language (UML)

Beispiel: Wolf, Ziege, Kohlkopf

Wir modellieren folgendes System, um eine moglich Losung zufinden.

Wolf-Ziege-Kohlkopf-Problem

Ein Bauer will einen Fluss uberqueren. Er hat einen Wolf, eineZiege und einen Kohlkopf bei sich. Wenn sie alleingelassen werden,so frisst der Wolf die Ziege, und die Ziege den Kohlkopf. ZurUberquerung des Flusses steht ein Boot mit zwei Platzen zurVerfugung. Nur der Bauer kann rudern und er kann das Bootentweder allein benutzen oder ein Tier oder den Kohlkopfmitnehmen.

Barbara Konig Modellierung 57

Einfuhrung in die ModellierungPetrinetze

Unified Modeling Language (UML)

Beispiel: Wolf, Ziege, Kohlkopf

Statisches Modell I: Beteiligte Akteure/Objekte

Barbara Konig Modellierung 58

Einfuhrung in die ModellierungPetrinetze

Unified Modeling Language (UML)

Beispiel: Wolf, Ziege, Kohlkopf

Statisches Modell II: Fress- und Eigentumsbeziehungen zwischenden Akteuren

besitzt

�������������

besitzt

��

besitzt

��<<<<<<<<<<<<

frisst // frisst //

Barbara Konig Modellierung 59

Einfuhrung in die ModellierungPetrinetze

Unified Modeling Language (UML)

Beispiel: Wolf, Ziege, Kohlkopf

Ausgangssituation: vor Uberquerung des Flusses

Boot

Barbara Konig Modellierung 60

Einfuhrung in die ModellierungPetrinetze

Unified Modeling Language (UML)

Beispiel: Wolf, Ziege, Kohlkopf

Zielsituation: nach Uberquerung des Flusses

Boot

Barbara Konig Modellierung 61

Einfuhrung in die ModellierungPetrinetze

Unified Modeling Language (UML)

Beispiel: Wolf, Ziege, Kohlkopf

Dynamisches Modell: Beispielablauf, erster SchrittBauer und Wolf setzen gemeinsam uber

→ Boot

Barbara Konig Modellierung 62

Einfuhrung in die ModellierungPetrinetze

Unified Modeling Language (UML)

Beispiel: Wolf, Ziege, Kohlkopf

Dynamisches Modell: Beispielablauf, zweiter SchrittZiege frisst Kohlkopf

Boot

Barbara Konig Modellierung 63

Einfuhrung in die ModellierungPetrinetze

Unified Modeling Language (UML)

Syntax und Semantik

Man unterscheidet bei der Modellierung zwischen:

Syntax: Symbole und Diagramme, die fur die Darstellung desModells genutzt werden durfenIm Beispiel: Bild der Ziege, blaue Flache, etc.

Semantik: Bedeutung, die sich hinter den Symbolen verbirgtIm Beispiel: Die blaue Flache symbolisiert den Fluss.

Die Pfeile bedeuten: “Fluss wird uberquert”

Zu einer Syntax gibt es nicht immer eine dazugehorige Semantik(im Beispiel ist die Semantik sehr vage).Wunschenswert ist jedoch im allgemeinen, dass die Bedeutung allerSymbole moglichst prazise festgelegt wird.Einigung auf eine gemeinsame Sprache/Notation, auf gemeinsamevisuelle Beschreibungen zur Vermeidung von Missverstandnissen.

Barbara Konig Modellierung 64

Einfuhrung in die ModellierungPetrinetze

Unified Modeling Language (UML)

Weitere Aspekte

Weitere wichtige Gesichtspunkte sind:

Analyse:

Ist das Modell korrekt? Ist es in sich konsistent?Stimmt das Modell mit der spateren Implementierunguberein? (Hier werden Verfahren zum Testen und zurVerifikation benotigt)

Werkzeuge, Software-Tools: werden benotigt zum Zeichnen,zum Darstellen (Wechsel zwischen verschiedenenDarstellungen), zum Archivieren, zur Code-Generierung, zurAnalyse, . . .

Barbara Konig Modellierung 65

Einfuhrung in die ModellierungPetrinetze

Unified Modeling Language (UML)

Inhalt der Vorlesung

Inhalt

Mathematische Grundlagen

Graphen fur statische und dynamische Systembeschreibungen

Petrinetze

UML (Unified Modeling Language)

Barbara Konig Modellierung 66

Einfuhrung in die ModellierungPetrinetze

Unified Modeling Language (UML)

Graphen

Graphen bestehen aus Knoten undKanten.

Sie konnen eingesetzt werden fur

Statische Modellierung:Komponenten undBeziehungen zwischen denKomponentenDynamische Modellierung:Zustande undZustandsubergange in FormeinesZustandsubergangsdiagramms

1 2

3

a

bc

Barbara Konig Modellierung 67

Einfuhrung in die ModellierungPetrinetze

Unified Modeling Language (UML)

Petrinetze

Modell fur nebenlaufige undverteilte Systeme, das diegemeinsame Nutzung vonRessourcen beschreibt.

Schwerpunkt liegt auf derModellierung des dynamischenVerhaltens.

Etabliertes Modell, das vielfaltigeingesetzt wird.

Formale Semantik.

Erfunden von Carl Adam Petri(1962).

MarkeStelle

Transition

Barbara Konig Modellierung 68

Einfuhrung in die ModellierungPetrinetze

Unified Modeling Language (UML)

UML: Unified Modeling Language

Standard-Modellierungssprache furSoftware Engineering.

Basiert auf objekt-orientiertenKonzepten.

Sehr umfangreich, enthalt vieleverschiedene Typen von Modellen.

Entwickelt von Grady Booch,James Rumbaugh, Ivar Jacobson(1997).

Barbara Konig Modellierung 69

Einfuhrung in die ModellierungPetrinetze

Unified Modeling Language (UML)

Inhalt der Vorlesung

Die vorgestellten Modellierungsmethoden sind nicht die einzigenModellierungsmethoden in der Informatik.

Hier: Fokus auf visuelle Modellierung mit Hilfe von Diagrammen

Mogliche Alternative: algebraische Modellierungsmethoden, diesich starker an der Mathematik orientieren

Barbara Konig Modellierung 70

Einfuhrung in die ModellierungPetrinetze

Unified Modeling Language (UML)

Ein weiteres Beispiel: Einschreiben an der Universitat

Szenario: Eine Reorganisation der Universitat, und insbesonderedes Studiensekretariats, das fur Einschreibungen zustandig ist,steht an.

Hierzu soll der Ablauf des Einschreibens neuer Studierendermodelliert werden . . .

Barbara Konig Modellierung 71

Einfuhrung in die ModellierungPetrinetze

Unified Modeling Language (UML)

Ein weiteres Beispiel: Einschreiben an der Universitat

Darstellung des zeitlichen Ablaufs durch Symbolisieren derbeteiligten Partner als Linien und der Kommunikation durch Pfeile(Ausschnitt).

Universitat Student/in Studiensekretariat

Studieninformation anfordern

Studieninformation

AufstellenBonautomat

Anfordern Bon

Ausgeben Bon

Unterlagen schicken

Besuch der Einfuhrungs-veranstaltung

. . . . . . . . .

zeitlicherAblauf

Barbara Konig Modellierung 72

Einfuhrung in die ModellierungPetrinetze

Unified Modeling Language (UML)

Ein weiteres Beispiel: Einschreiben an der Universitat

Solche Diagramme sind ubrigens Bestandteil von UML. Sie werdenSequenzdiagramme (engl. sequence diagrams, auch messagesequence charts) genannt.

Barbara Konig Modellierung 73

Einfuhrung in die ModellierungPetrinetze

Unified Modeling Language (UML)

Notation: Mengen und Funktionen

Menge

Menge M von Elementen, wird beschrieben als Aufzahlung

M = {0, 2, 4, 6, 8, . . . }

oder als Menge von Elementen mit einer bestimmten Eigenschaft

M = {n | n ∈ N0 und n gerade}.

Allgemeines Format:M = {x | P(x)}

(M ist Menge aller Elemente x , die die Eigenschaft P erfullen.)

Barbara Konig Modellierung 74

Einfuhrung in die ModellierungPetrinetze

Unified Modeling Language (UML)

Notation: Mengen und Funktionen

Bemerkungen:

Die Elemente einer Menge sind ungeordnet, d.h., ihreOrdnung 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} 6= {1, 2, 3, 4} = {1, 2, 3, 4, 4}

Barbara Konig Modellierung 75

Einfuhrung in die ModellierungPetrinetze

Unified Modeling Language (UML)

Notation: Mengen und Funktionen

Element einer Menge

Wir schreiben a ∈ M, falls ein Element a in der Menge Menthalten ist.

Anzahl der Elemente einer Menge

Fur eine Menge M gibt |M| die Anzahl ihrer Elemente an.

Teilmengenbeziehung

Wir schreiben A ⊆ B, falls jedes Element von A auch in Benthalten ist. Die Relation ⊆ heißt auch Inklusion.

Barbara Konig Modellierung 76

Einfuhrung in die ModellierungPetrinetze

Unified Modeling Language (UML)

Notation: Mengen und Funktionen

Vereinigung

Die Vereinigung zweier Mengen M1, M2 ist die Menge M, die dieElemente enthalt, die in M1 oder M2 vorkommen. Man schreibtdafur M1 ∪M2.

M1 ∪M2 = {a | a ∈ M1 oder a ∈ M2}

Schnitt

Der Schnitt zweier Mengen M1, M2 ist die Menge M, die dieElemente enthalt, die sowohl in M1 als auch in M2 vorkommen.Man schreibt dafur M1 ∩M2.

M1 ∩M2 = {a | a ∈ M1 und a ∈ M2}

Barbara Konig Modellierung 77

Einfuhrung in die ModellierungPetrinetze

Unified Modeling Language (UML)

Notation: Mengen und Funktionen

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 Bkommt.

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| (fur endliche Menge A, B).

Barbara Konig Modellierung 78

Einfuhrung in die ModellierungPetrinetze

Unified Modeling Language (UML)

Notation: Mengen und Funktionen

Bemerkungen:

Wir betrachten nicht nur Paare, sondern auch sogenannteTupel, bestehend aus mehreren Elementen. Ein Tupel(a1, . . . , an) bestehend aus n Elementen heißt auch n-Tupel.

In einem Tupel sind die Elemente geordnet! Beispielsweise gilt:

(1, 2, 3) 6= (1, 3, 2) ∈ N0 × N0 × N0

Ein Element kann “mehrfach” in einem Tupel auftreten. Tupelunterschiedlicher Lange sind immer verschieden.Beispielsweise:

(1, 2, 3, 4) 6= (1, 2, 3, 4, 4)

Merke: Runde Klammern (, ) und geschweifte Klammern {, }stehen fur ganz verschiedene mathematische Objekte!

Barbara Konig Modellierung 79

Einfuhrung in die ModellierungPetrinetze

Unified Modeling Language (UML)

Notation: Mengen und Funktionen

Potenzmenge

Sei M eine Menge. Die Menge P(M) ist die Menge allerTeilmengen 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| (fur eine endliche Menge M).

Barbara Konig Modellierung 80

Einfuhrung in die ModellierungPetrinetze

Unified Modeling Language (UML)

Notation: Mengen und Funktionen

Funktion

f : A → B

a 7→ f (a)

Die Funktion f bildet ein Element a ∈ A auf ein Element f (a) ∈ Bab. Dabei ist A der Definitionsbereich und B der Wertebereich.

Beispiel (Quadratfunktion):

f : Z→ N0, f (n) = n2

. . . ,−3 7→ 9,−2 7→ 4,−1 7→ 1, 0 7→ 0, 1 7→ 1, 2 7→ 4, 3 7→ 9, . . .

Dabei ist N0 die Menge der naturlichen Zahlen (mit der Null) undZ die Menge der ganzen Zahlen.

Barbara Konig Modellierung 81

Einfuhrung in die ModellierungPetrinetze

Unified Modeling Language (UML)

Graphen

Graphen sind netzartige Strukturen, bestehend aus Knoten undKanten. Sie bilden die Grundlagen vieler diagrammatischerModellierungstechniken.

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 fur vertices und E fur edges.

Barbara Konig Modellierung 82

Einfuhrung in die ModellierungPetrinetze

Unified Modeling Language (UML)

Graphen

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

W Z K

besitztbesitzt

besitzt

frisst frisst

Barbara Konig Modellierung 83

Einfuhrung in die ModellierungPetrinetze

Unified Modeling Language (UML)

Graphen

Weitere Arten von Graphen:

Ungerichtete Graphen

Bei ungerichteten Graphen spielt die Richtung der Kanten keineRolle. Formal sind Kanten zweielementige Teilmengen derKnotenmenge (statt Tupel).

A

B C D

ab

c c

Barbara Konig Modellierung 84

Einfuhrung in die ModellierungPetrinetze

Unified Modeling Language (UML)

Graphen

Graphen mit Knotenbeschriftung

Auch Knoten konnen Beschriftungen tragen, wobei zweiverschiedene Knoten auch gleich beschriftet sein durfen.

B

W Z K

besitztbesitzt

besitzt

frisst frisst

Tier GemuseTier

Mensch

Barbara Konig Modellierung 85

Einfuhrung in die ModellierungPetrinetze

Unified Modeling Language (UML)

Graphen

Hypergraphen

Bei Hypergraphen kann eine Kante (symbolisiert durch einQuadrat oder Rechteck) mit einer beliebigen Anzahl von Knotenverbunden sein. Evtl. sind dabei die Knoten im Bezug auf dieKante geordnet (wie bei gerichteten Graphen).

a

A

b

c

C DB

Barbara Konig Modellierung 86

Einfuhrung in die ModellierungPetrinetze

Unified Modeling Language (UML)

Graphen

Graphen konnen in vielfaltiger Weise zur Modellierung eingesetztwerden. Wir betrachten zwei typische Falle.

Graphen zur statischen Modellierung

Knoten sind Komponenten oder Objekte, die untereinander uberKanten verbunden sind bzw. in Beziehung stehen.

Beispiel: Beziehungen zwischen Bauer, Wolf, Ziege, Kohlkopf

Barbara Konig Modellierung 87

Einfuhrung in die ModellierungPetrinetze

Unified Modeling Language (UML)

Zustandsubergangsdiagramme

Graphen zur dynamischen Modellierung

Knoten sind Zustande und Kanten sind Zustandsubergange.

Klassischer Vertreter: Zustandsubergangsdiagramme (auchTransitionssysteme genannt)

Zustandsubergangsdiagramm

Ein Zustandsubergangsdiagramm besteht aus einem gerichtetenGraphen (Z , U), wobei Z (= Zustande) die Knotenmenge desGraphen und U (= Ubergange) die Kantenmenge der Graphen ist,und außerdem aus einem Startzustand z0 ∈ Z .

Zustandsubergangsdiagramme werden graphisch wie gerichteteGraphen dargestellt. Der Startzustand (auch Anfangszustandgenannt) wird dabei meist durch eine eingehende Pfeilspitzegekennzeichnet.

Barbara Konig Modellierung 88

Einfuhrung in die ModellierungPetrinetze

Unified Modeling Language (UML)

Zustandsubergangsdiagramme

Beispiel: Zustandsubergangsdiagramm fur die Ubergange beimWolf-Ziege-Kohlkopf-Problem.

BZK|W

Misserfolg! ZK|BW WK|BZ

BWZK|

K|BWZ W|BZK

BWZ|K

BWK|Z

Z|BWK

BZ|WK

BK|WZMisserfolg! BW|ZK Misserfolg!

Misserfolg!WZ|BK

WZK|B Misserfolg!

Misserfolg!B|WZK|BWZKErfolg!

Barbara Konig Modellierung 89

Einfuhrung in die ModellierungPetrinetze

Unified Modeling Language (UML)

Zustandsubergangsdiagramm

Bemerkungen:

Der senkrechte Strich | steht fur den Fluss. Links und rechtsdavon befinden sich die Akteure/Objekte (B = Bauer, W =Wolf, Z = Ziege, K = Kohlkopf)

Ubergange sind aus Grunden der Ubersichtlichkeit nichtbeschriftet. Sinnvolle Beschriftungen waren die ausgefuhrtenAktionen (“Bauer bringt Ziege uber den Fluss”, etc.)

Eckige (rote) Zustande symbolisieren hier Misserfolg (z.B.“Ziege frisst Kohlkopf”).Kanten, die aus solchen Zustanden herausfuhren, wurdenweggelassen.

Die doppelte (blaue) Ellipse symbolisiert hier Erfolg(erwunschter Zielzustand ist erreicht)

Barbara Konig Modellierung 90

Einfuhrung in die ModellierungPetrinetze

Unified Modeling Language (UML)

Zustandsubergangsdiagramme

Weitere Bemerkungen:

Es gibt mehrere (sogar unendlich viele) Wege zumZielzustand. Die zwei kurzesten enthalten jeweils siebenUbergange.

Zustandsubergangsdiagramme selbst relativ einfacher Systemewerden oft erstaunlich groß (sogenannte Zustandsexplosion).

Wichtig:Zustandsubergangsdiagramme stellen im allgemeinen alle Zustandeund alle Ubergange eines Systems dar.

Barbara Konig Modellierung 91