Black Box TestingBlack Box Testing Black Box Testingox Testing
Modellierungsmethoden der Informatik EinModellist eine ... · Einf uhrung in die Modellierung...
-
Upload
truongngoc -
Category
Documents
-
view
215 -
download
0
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