Ubung Softwaretechnik I - Praktische Informatik

Universität Siegen
Fachgruppe Praktische Informatik
Übung Softwaretechnik I
Blatt 11 — Ausgabe am 22.01.2016, Abgabe der Lösungen bis 28.01.2016
Aufgabe 11.1:
Methodenauswahl
[ einfach / Klausur-Bearbeitungszeit ca. 2 Min.; tatsächlich:
; vorbereitende Lektüre:
]
Bei welchen Arten von Problemen sind Petri-Netze
besser zur Zustands- bzw.
Steuerungsmodellierung geeignet als Zustandsübergangsdiagramme?
Warum?
Aufgabe 11.2:
Auswahl von Modelltypen
[ einfach / Klausur-Bearbeitungszeit ca. 2 Min.; tatsächlich:
; vorbereitende Lektüre:
]
Sie sollen ein System modellieren, in dem längere
Warteschlangen auftreten können. Welchen Modelltyp wählen Sie am besten?
Aufgabe 11.3:
Anwendungsbeispiel PetriNetze: Prozessorvergabe
[ einfach / Klausur-Bearbeitungszeit ca. 8 Min.; tatsächlich:
; vorbereitende Lektüre:
]
Erstellen Sie ein Petri-Netz zur Modellierung der
Prozessorzuteilung in einem Computersystem mit
zwei Prozessoren. Jeder Prozessor kann zu einem
Zeitpunkt immer nur einen Auftrag ausführen. Beide Prozessoren können unabhängig voneinander Aufträge ausführen.
Geben Sie je eine Lösung mit einem BE-Netz und
einem ST-Netz an.
Tip: Erweitern Sie die Lösung, die im Skript für den
wechselseitigen Ausschluß angegeben worden ist.
Aufgabe 11.4:
Netze: Essensausgabe
Anwendungsbeispiel Petri-
[ mittel / Klausur-Bearbeitungszeit ca. 12 Min.; tatsächlich:
; vorbereitende Lektüre:
]
Um Gästen die Abläufe bei der Essensausgabe in
der Mensa zu verdeutlichen, soll ein Petri-Netz angefertigt werden, das die Abläufe in der Mensa simuliert. Gehen Sie dabei von folgenden Randbedingungen aus:
1. Vor der Essensausgabe können sich Warteschlangen bilden. Die Länge dieser Schlangen ist nicht
begrenzt.
2. Zuerst muß jeder Kunde ein Tablett abholen. Die
Mensa verfügt über 100 Tabletts.
3. Die Menüs werden an zwei Ausgaben A und
B verteilt. An Ausgabe A wird das Standardmenü ausgegeben, an Ausgabe B das ReformkostMenü. Aufgrund beengter Räumlichkeiten ist
zwischen der Tablett-Ausgabe und Ausgabe A
bzw. B nur Platz für 20 bzw. 10 wartende Kunden.
4. Immer wenn ein Essen fertig wird, kann ein Kunde es nehmen und zur Kasse weitergehen.
5. Zwischen den Essensausgaben und der Kasse ist
wegen der Raumverhältnisse nur Platz für 20 Personen. D.h. wenn 20 Personen vor der Kasse warten, werden die Essensausgaben durch den Rückstau blockiert.
6. Nach dem Essen wird das Tablett zurückgegeben und steht dann wieder für neue Kunden zur
Verfügung.
Lösungshinweise:
– Suchen Sie nach Teilen des Systems, in denen unabhängig und asynchron zu Rest des Systems relevante Ereignisse stattfinden können, und planen
Sie hierfür separate Teile des PN ein.
– Sofern die Anzahl der parallelen Aktivitäten dynamisch wachsen oder schrumpfen kann, planen
Sie passende Teile des PN ein, in denen Marken
erzeugt oder vernichtet werden.
Aufgabe 11.5:
kumente
Modellierung graphartiger Do-
[ mittel / Klausur-Bearbeitungszeit ca. 10 Min.; tatsächlich:
; vorbereitende Lektüre:
]
Petrinetze lassen sich als graphartiger Dokumenttyp
auffassen. Wir unterscheiden Bedingungs-EreignisNetze und Stellen-Transitions-Netze. Entwerfen Sie
ein Analyse-Datenmodell für Bedingungs-EreignisNetze.
Aufgabe 11.6:
Interpretation von Petrinetzen
[ mittel / Klausur-Bearbeitungszeit ca. 10 Min.; tatsächlich:
; vorbereitende Lektüre:
]
Um konkrete Bedingungs-Ereignis-Netze in Form
von Laufzeitobjekten mittels verschiedener Werkzeuge verarbeiten zu können, benötigt man einen Interpreter, der auf Basis der Semantik des entsprechenden Datenmodells arbeitet. Implementieren Sie auf
Basis Ihres Modells aus Aufgabe 11.5 in PseudoCode
die folgenden Methoden:
// Testet ob die übergebene Transition
// schaltbereit ist.
public boolean isSchaltbereit(Transition t){
// TODO
}
// Schaltet/Feuert die übergebene Transition.
public void schalte(Transition t){
// TODO
}
Bitte beachten Sie dabei, dass der Übergabeparameter t nur als Referenz gedacht ist und aufgrund
Ihres Datenmodells abweichen kann.
Vertiefungsaufgabe 11.7:
phartiger Dokumente
Modellierung gra-
[ mittel / Klausur-Bearbeitungszeit ca. 8 Min.; tatsächlich:
; vorbereitende Lektüre:
]
Entwerfen Sie auf Basis von Aufgabe 11.5 ein
Analyse-Datenmodell für Stellen-Transitions-Netze.
Kennzeichnen Sie besonders die veränderten Elemente.
Vertiefungsaufgabe 11.8:
Petrinetzen
Interpretation von
[ mittel / Klausur-Bearbeitungszeit ca. 10 Min.; tatsächlich:
; vorbereitende Lektüre:
]
Passen Sie die Implementierung der Methoden
isSchaltbereit() und schalte() aus Aufgabe
11.6 an die Definition der Schaltbereitschaft und den
Effekt des Schaltens für Stellen-Transitions-Netze
an.