Aufgabe 4 Betrachten Sie das unten dargestellte Klassendiagramm, das für eine Bibliothek zur Verwaltung ihrer Buchbestände modelliert wurde. Modellieren.

Slides:



Advertisements
Ähnliche Präsentationen
8. Termin Teil B: Wiederholung Begriffe Baum
Advertisements

Algorithmen und Datenstrukturen (EI)
Organisatorisches „[SE]“ als Teil des -Betreffs
Kapitel 11 Deadlocks RW-Systemarchitekur Kap. 11.
Modellbasierte Software-Entwicklung eingebetteter Systeme
Eingebettete Systeme Qualität und Produktivität
7. Automaten Ein Automat ist ein Sechstupel A= (I, O, Q, , q0, F).
Institut für Informatik Abt. Intelligente Systeme
R. Der - Vorlesung Algorithmen und Datenstrukturen (Magister)
Finale Semantik und beobachtbares Verhalten
Kapitel 7 State-Machines/Zustandsautomaten
Terminierung und Deadlocks Enkhbat Daginaa Betreuerin Prof. Heike Wehrheim Totale Korrektheit.
Sequenzdiagramm.
Objektorientierter Entwurf (OOD) Teil 3: Qualitätsmodell
Petrinetz Stufenweises Vorgehen beim Modellieren
Systeme 1 Kapitel 7 Deadlocks WS 2009/10.
FH-Hof Deadlocks Richard Göbel. FH-Hof Deadlock - Definition Menge von Prozessen ist an einem Deadlock beteiligt: wenn jeder Prozess in dieser Menge auf.
Vorlesung Informatik 3 Einführung in die Theoretische Informatik (06 – Reduktion endlicher Automaten) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27 – Kürzeste Wege) Prof. Th. Ottmann.
Vorlesung Informatik 3 Einführung in die Theoretische Informatik (04 – Automaten mit ε-Transitionen) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (21 - AVL-Bäume: Entfernen, Bruder-Bäume) Prof. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (20 - AVL-Bäume: Entfernen, Bruder-Bäume) Prof. Th. Ottmann.
Vorlesung Informatik 3 Einführung in die Theoretische Informatik (17 –Turingmaschinen) Prof. Dr. Th. Ottmann.
Lösungen
Objektorientierte Konzepte
Vortrag im Rahmen des Seminars
7.4 State-based Test Design Nils Foken. Steuerungsfehler fehlende / falsche Transition fehlendes / falsches Ereignis fehlende / falsche Aktion zusätzlicher.
Christian Schindelhauer
Christian Schindelhauer
Teil I: Uninformierte Suche
Grundkurs Theoretische Informatik
11. Vorlesung: Dynamische Konzepte am Fallbeispiel
10. Vorlesung: Dynamische Konzepte
Animationen zu Kap. 4.3: AVL-Bäume
Effiziente Algorithmen
Software Engineering 1 6. Übung
Effiziente Algorithmen
Geometrische Netze Erstellung.
Christian Schindelhauer Wintersemester 2006/07 8. Vorlesung
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Effiziente Algorithmen
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Analyse von Ablaufdiagrammen
UML-Kurzüberblick Peter Brusten.
(D.h. „Hallo MausFans!“ auf Japanisch).
Eine Präsentation von Lena Sauter & Corinna Nawatzky
Formale Sprachen Reguläre Sprachen Rudolf FREUND, Marian KOGLER.
Zustandsübergangsdiagramme (1)
Petrinetze 1. Einführung Informatik : wesentlich Modellierung von
Vorlesung Automatisierungsprojekte Seite 6/1
Christian Schindelhauer Wintersemester 2006/07 3. Vorlesung
Christian Schindelhauer Wintersemester 2006/07 2. Vorlesung
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
Softwareengineering Endliche Automaten
Unified Modeling Language UML
0 3. Übung zu Software Engineering Christoph Lembeck Zustandsautomat A = (Q, , , q 0, F) Hier: Q = Menge der Fenster und Dialoge  = Benutzereingaben.
Wann ist eine Funktion (über den natürlichen Zahlen) berechenbar?
Gliederung der Vorlesung
Algorithmen und Datenstrukturen Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Stefan Werner (Übungen) sowie viele Tutoren.
1 Prozesse im Studiengangsmanagement Kontext: Neues Abschlussziel erstellen Neues Studienfach erstellen.
Petri-Netze mathematisch fundierte Theorie zur formalen Beschreibung von (Informations-) Transformationsprozessen Entwicklung einer allgemeinen Theorie,
1 Prozesse im Studiengangsmanagement Kontext: Neues Abschlussziel erstellen Neues Studienfach erstellen.
Einführung in die Informationsverarbeitung Teil Thaller Stunde V: Wege und warum man sie geht Graphen. Köln 14. Januar 2016.
Class HelloWorldApp { public static void main(String[] args) {... } Grundkurs Inf - wie einsteigen ?
Aufgaben Petrinetze Aufgabe 1
3. Die Datenstruktur Graph 3.2 Repräsentation von Graphen
 Präsentation transkript:

3. Übung zu Software Engineering WS 2007/2008

Aufgabe 4 Betrachten Sie das unten dargestellte Klassendiagramm, das für eine Bibliothek zur Verwaltung ihrer Buchbestände modelliert wurde. Modellieren Sie die verschiedenen Zustände, die ein Buch im Laufe seiner Nutzung in der Bibliothek einnehmen kann, als Harel-Automaten (Statechart). Gehen Sie davon aus, dass ein Buch von höchstens einer Person vorbestellt werden kann, weitere Vorbestellungen sind dann nicht mehr möglich. Modellieren Sie einen geeigneten Start- und Endzustand und berücksichtigen Sie dabei, welche Methoden der Klasse wann verwendet werden können.

Aufgabe 4 Zustandsautomat A = (Q, ∑, δ, q0, F) Q: endliche Zustandsmenge Σ: endliches Eingabealphabet δ: Q х ∑  Q Übergangsfunktion q0 ∈ Q Startzustand F ⊂ Q Endzustandsmenge Harel-Automat (state chart) Zustände als Knoten dargestellt durch Kreise bzw. Rechtecke Zustandsübergang δ(q, a) = q‘ dargestellt durch gerichtete, mit a beschriftete Kante von q nach q‘ kurzer Pfeil auf Startzustand q0 Endzustände dargestellt durch zwei geschachtelte Kreise

Aufgabe 4 Zustandsmenge Q Eingabealphabet Σ Übergangsfunktion δ ausleihbar, ausgeliehen, vorbestellt, abholbereit, unbrauchbar Eingabealphabet Σ erfassen(), ausleihen(), vorbestellen(), zurückgeben(), entfernen() Übergangsfunktion δ siehe Folie 4 Startzustand q0 ausleihbar Endzustandsmenge F unbrauchbar

Aufgabe 4 neues Buch liegt vor / erfassen () Buch defekt / entfernen Abholfrist abgelaufen ausleihbar Buch wird zurückgegeben / zurückgeben () Ausleihwunsch / ausleihen () u n b r a c h ausgeliehen abholbereit Buch verloren / entfernen () Buch wird abgeholt / ausleihen () Ausleihwunsch / vorbestellen () vorbestellt Buch verloren bzw. defekt / entfernen() Buch wird zurückgegeben / zurückgeben ()

Aufgabe 4 Anmerkungen zum Harel-Automaten Zustände mit Adjektiven benennen Ereignisse bei den Zustandsübergängen modellieren Anfangszustand und Endzustände modellieren

Aufgabe 5 Modellieren Sie die Prozesse in der Fertigungsabteilung eines Automobilzulieferers als Bedingungs/Ereignis-Netz, die sich wie folgt beschreiben lassen: Nachdem eine Kiste mit den benötigten Werkstücken W1 und W2 angeliefert wurde, werden diese ausgepackt und auf die Produktionsstraße gelegt. Das Werkstück W2 durchläuft dabei einen Lackierungsprozess und kann anschließend mit dem bearbeiteten Werkstück W1 wieder in die Kiste verpackt werden. Für die Bearbeitung des Werkstücks W1 sind die beiden Mitarbeiter A und B verantwortlich. Während Mitarbeiter A in das Werkstück W1 drei Gewindelöcher fräst und anschließend in einem zweiten Arbeitsschritt die passenden Schrauben in die Löcher schraubt, versieht Mitarbeiter B das Werkstück W1 lediglich mit einer Seriennummer. Die Reihenfolge, in der die Mitarbeiter A und B mit der Bearbeitung der Werkstücke beginnen, kann dabei variieren. Es kann allerdings jeder Mitarbeiter immer nur ein Werkstück gleichzeitig bearbeiten. Beide Mitarbeiter können auch nicht gleichzeitig an demselben Werkstück arbeiten.

Aufgabe 5 Bedingungs/Ereignis-Netz BE = (S, T, F) S: Stellenmenge (Zustand, Bedingung) Stelle s ∈ S wird dargestellt durch einen Kreis T: Transitionen (Ereignis) Transition t ∈ T wird dargestellt durch ein Rechteck F ⊆ (S х T) ∪ (T х S) Kantenmenge Schaltregel Transition t kann Schalten, wenn alle Stellen im Vorbereich eine Marke enthalten und alle Stellen im Nachbereich leer sind. wenn t schaltet, wird von jeder Stelle im Vorbereich eine Marke entfernt und auf jeder Stelle im Nachbereich eine Marke hinzugefügt. Bedingungs/Ereignis-Netze sind spezielle Petri-Netze mit Stellenkapazität = Kantengewichtung = 1

Aufgabe 5 Transitionen (Ereignisse) Stellen (Zustände) Kiste entpacken lackieren fräsen verschrauben nummerieren Kiste verpacken Stellen (Zustände) Kiste entpackt lackiert gefräst verschraubt nummeriert Kiste verpackt fertig, d.h. gefräst, verschraubt und nummeriert

Aufgabe 5 Die Reihenfolge, in der die Mitarbeiter A und B mit der Bearbeitung der Werkstücke beginnen, kann dabei variieren. Es kann allerdings jeder Mitarbeiter immer nur ein Werkstück gleichzeitig bearbeiten. Beide Mitarbeiter können auch nicht gleichzeitig an demselben Werkstück arbeiten. Nichtdeterminismus durch Variation der Bearbeitungsreihenfolge keine Parallelität während der Bearbeitung von W1

Aufgabe 5 Nebenläufigkeit Nichtdeterminismus (logisches ODER) Transition „Kiste entpacken“ erzeugt zwei Marken Nichtdeterminismus (logisches ODER) Marke der Stelle „W1 entpackt“ kann nur ein Mal verwendet werden Synchronisation (logisches UND) Transition „W1 und W2 verpacken“

Aufgabe 5 inklusive Mitarbeiter A und B

Aufgabe 5 Anmerkungen zu Petri-Netzen Beschriftung der Stellen und Transitionen nicht vergessen Stellen = Zustände Transitionen = Ereignis auf syntaktische Korrektheit achten Stellen und Transitionen müssen sich abwechseln auf Deadlocks achten „ungünstige“ Schaltreihenfolgen betrachten i.d.R. verbleiben im Netz keine Marken

Aufgabe 6 Erstellen Sie für das unten dargestellte Bedingungs/ Ereignis-Netz einen Erreichbarkeitsgraphen.

Aufgabe 6 Erreichbarkeitsgraph stellt dar, welche Zustände durch das Schalten von Transitionen erreichbar sind Zustände als Knoten mit Markenbelegung als Beschriftung Kanten als Zustandsübergang mit Transition als Beschriftung ist u.U. nicht endlich (im Gegensatz zum Überdeckungsgraph) Stellen/Transitions-Netz

Aufgabe 6

Aufgabe 6 Eigenschaften des Erreichbarkeitsgraphen endlich (bei Bedingungs/Ereignis-Netzen immer gegeben) lebendig deadlockfrei weist mehrere Zyklen auf Startzustand 000110 kann nicht wieder erreicht werden von den maximal 26 = 64 möglichen Zuständen können nur 15 tatsächlich erreicht werden

Aufgabe 7 Erstellen Sie für das unten dargestellte Stellen/ Transitions-Netz einen Überdeckungsgraphen. Gehen Sie davon aus, dass sämtliche Stellenkapazitäten unbeschränkt und alle Kanten mit 1 gewichtet sind. Ist das Netz lebendig? Ist das Netz deadlockfrei?

Aufgabe 7 Überdeckungsgraph Zustände als Knoten mit Markenbelegung als Beschriftung Zustandsübergänge als Kanten mit Transition als Beschriftung ist immer endlich (im Gegensatz zum Erreichbarkeitsgraph) Zustandsüberdeckung Sei N ein Stellen/Transitions-Netz mit einer Markenbelegung m, das durch Schalten einer Transition t eine Folgemarkenbelegung m‘ erreicht die Markenbelegung einer Stelle s im Zustand m‘ muss durch ∞ ersetzt werden, wenn es einen Zustand m‘‘ gibt, dessen Markenbelegung kleiner als die von m‘ ist, d.h. m‘‘ < m‘ (daher der Begriff „Überdeckungsgraph“) und ein Weg von m‘‘ nach m‘ existiert der Zustand m‘ wird nach der Ersetzung als m~ bezeichnet

Aufgabe 7 Stellen/Transitions-Netz Überdeckungsgraph

Aufgabe 7 Zustand (0101) Zustand (0011) Zustand (1200) / (1∞00) m = (1100), m‘ = (0101) ∄ m‘‘ mit m‘‘ < m‘ Zustand (0011) m = (0101), m‘ = (0011) Zustand (1200) / (1∞00) m = (1100), m‘ = (1200) ∃ m‘‘ mit m‘‘ < m‘ m‘‘ = (1100) ∃ Weg von m‘‘ nach m‘ (1100)  (1200) m‘‘  m~ = (1∞00) Zustand (0∞01) m = (1∞00), m‘ = (0∞01) ∄ m‘‘ mit m‘‘ < m‘ Zustand (0∞11) / (0∞∞1) m = (0∞01), m‘ = (0∞11) ∃ m‘‘ mit m‘‘ < m‘ m‘‘ = (0∞01) ∃ Weg von m‘‘ nach m‘ (0∞01)  (0∞11) m‘‘  m~ = (0∞∞1)

Aufgabe 7 Lebendigkeit Deadlockfreiheit ein Netz ist lebendig, wenn alle Transitionen lebendig sind eine Transition ist lebendig, wenn sie nicht tot ist eine Transition ist tot, wenn sie bei keiner, ggf. indirekten, Folgemarkierung schalten kann das Netz ist nicht lebendig, da t1 und t3 im Zustand 0101 tot sind Deadlockfreiheit ein Netz ist deadlockfrei, wenn es unter keiner, ggf. indirekten, Folgemarkierung tot ist ein Netz ist tot, wenn es einen Zustand gibt, in dem alle Transitionen tot sind das Netz ist nicht deadlockfrei, da t1, t2 und t3 im Zustand 0011 tot sind lebendig / deadlockfrei immer auf Zustand beziehen!

Literatur W. Reisig: Petrinetze. Eine Einführung. Springer-Verlag 1982. H. Balzert: Lehrbuch der Software-Technik. Software Entwicklung. Spektrum Akademischer Verlag, 2000. Harel-Automaten: 342ff Petri-Netze: 345ff