13. ¨Ubungsblatt - Universität Konstanz

Werbung
Universität Konstanz
WS 2007/08
Lehrstuhl DBIS
Informationsmanagement
Prof. Dr. Marc H. Scholl / Svetlana Mansmann / Halldór Janetzko / Sören Schubert
13. Übungsblatt
(Ausgeteilt am: 28.01.2007, Abgabe: 04.02.2007,
P
20 Punkte)
Aufgabe 1: FINITE STATE MACHINES
(8 Punkte)
Erstelle einen endlichen Automaten (FSM) “Modulo-3”. Der Automat nimmt eine binäre Zahl entgegen,
die bitweise einglesen wird (das bedeutendste Bit zuerst), und soll blinken, falls die bisher gelesene
Zahl durch 3 teilbar ist.
Beispiel: Die Zahl 13 (binär 1101) wird in 4 Schritten der binären Zahlen 1 (nicht teilbar durch 3), 11
(teilbar durch 3), 110 (teilbar durch 3) und 1101 (nicht teilbar durch 3) ausgewertet.
Hinweis: Der endliche Automat soll 3 Zustände haben, die den möglichen Werten von Zahl mod 3
entsprechen, also 0, 1 und 2. Wenn die bisher eingegebene Zahl N ist und Bit b angehängt wird, ergibt
sich der neue Wert N 0 = 2N + b (bitte, überprüfe diese Anmerkung anhand der obigen binären Zahlen
1, 11, 110 und 1101). Aus dieser Tatsache lässt sich Folgendes ableiten:
1. Bei N mod 3 = 0 gilt N = 3p + 0, wobei p irgendeine Ganzzahl ist. Nachdem Bit b (d.h., Zahl 1
oder 0) angehängt wird, gilt N 0 = 6p + b und damit N = b mod 3.
2. Bei N mod 3 = 1 gilt N = 3p + 1. Nachdem Bit b angehängt wird, gilt N 0 = 6p + 2 + b und damit
N 0 = (b + 2) mod 3.
3. Bei N mod 3 = 2 gilt N = 3p + 2. Nachdem Bit b angehängt wird, gilt N 0 = 6p + 4 + b und damit
N 0 = (b + 1) mod 3.
Erstelle
a) ein “State-Transition”-Diagramm (wie auf der Vorlesungsfolie 59) dieses Automaten. Die Zustände,
in denen der Automat blinkt, sollen mit einem F markiert werden.
b) eine “State-Transition”-Tabelle (siehe Vorlesungsfolie 66) dieses Automaten mit folgendem Grundgerüst der Tabelle (die erste Zeile ist bereits ausgefüllt).
curr state (N mod 3)
event (b)
next state (N mod 3)
action (blinkt?)
0
1
1
nein
...
...
...
...
Bitte wenden!
−−−−−−−−−−→
-
Aufgabe 2: ÜBERFÜHRUNG EINES PETRI-NETZES
(8 Punkte)
-
Der “Zustand” (State) eines Petrinetzes wird nicht alleine durch seine Struktur (Plätze, Transitionen
und Kanten) und eine (bislang verarbeitete) Eingabe beschrieben, sondern auch durch die jeweils
aktuelle Markierung (Anzahl Tokens in den einzelnen Stellen).
a) Betrachte folgendes Petrinetzmodell eines Snack-Automaten
nimm 15¢-Snack
10¢ einwerfen
15¢
5¢
5¢ einwerfen
5¢ einwerfen
0¢
5¢ einwerfen
5¢ einwerfen
10¢ einwerfen
10¢
nimm 20¢-Snack
20¢
10¢ einwerfen
und beantworte die folgenden Fragen:
i) Wie viele Arten Snacks gibt es?
ii) Was für Munzen werden akzeptiert?
iii) Kann dieser Automat den Restbetrag zurückgeben?
b) Überführe dieses Model in einen äquivalenten endlichen Automaten.
c) Beschreibe verallgemeinert, wie ein über ein Petrinetz beschriebener Automat in einen endlichen Automaten überführt werden kann. Es genügt dabei, die wesentlichen Schritte zu definieren. Beschränke Dich auf einfache Petrinetze (ohne verschiedenfarbige Tokens).
Aufgabe 3: PETRI-NETZ SIMULATION
(4 Punkte)
Auf der Webseite http://wwwis.win.tue.nl/~wvdaalst/pn_applet/pn_applet.html findest du
ein interaktives Tool zur Modellierung von Petrinetzen. Lies die Einleitung “How to use the applet” auf
dieser Seite und probiere das Tool aus.
a) Benutze dieses Tool, um das Petrinetzmodell des Snack-Automaten aus Aufgabe 2 zu erstellen
(lass die Knoten ohne Beschriftungen und setze die Kapazität jedes Platz-Knoten auf 1). Da das
Modell selbst nicht gespeichert werden kann, mache ein Screenshot davon für die Abgabe.
b) Versetze das Modell in den Simulationsmodus und lass es laufen. Wie viele verschiedene Ausführungsmöglichkeiten gibt es, um
i) einen 20¢-Snack und
ii) einen 15¢-Snack
zu bekommen?
Ï
Herunterladen