Aufgabenblatt 7  
Ausgabetermin: 1.12.00
Abgabetermin: Montag d. 11.12.00 bis 24 Uhr per Email an die Übungsgruppenleiter 
Motivation: Begleitende Übungen zum Vorlesungsthema "Regelbasierte Systeme"
Aufgabe 1: In dieser Aufgabe sollen Sie erkunden, wie man mit Java Objekte vergleicht, um die Anwendbarkeit einer Regel zu bestimmen. Die in einem sog. Schablonenvergleich zu vergleichenden Objekte sind (i) ein Datenobjekt und (ii) ein Schablonenobjekt. Ein Schablonenobjekt soll Bedingungen ausdrücken, die ein Datenobjekt erfüllen muß, damit eine Regel anwendbar ist (vergl. die Regelsprache OPS). Ein Datenobjekt besteht aus Attribut-Wert-Paaren. Attribute sind vom Typ String, Werte gehören einem primitiven Datentyp an. Ein Schablonenobjekt hat im Prinzip denselben Aufbau wie ein Datenobjekt, muß aber nicht alle Attribut-Wert-Paare umfassen und kann anstelle von Werten Variable enthalten. Realisieren Sie eine Java-Klasse Schablonenvergleich, mit der die Anwendbarkeit einer Schablone auf ein Datenobjekt getestet wird. Prüfen Sie, inwieweit die Methode equals verwendet werden kann. Als Ergebnis sollen eine boolesche Erfolgsmeldung und ggf. die Variablenbelegungen ausgegeben werden. Verwenden Sie Testbeispiele etwa wie diese:
Datenobjekt
Typ Paar
ID Paar1
FrauVorname Anna
FrauNachname Meier
FrauAlter 29
MannVorname Otto
MannNachname Meier
MannAlter 31
Wohnort Hamburg
Schablone:
Typ Paar
ID ?ID
FrauNachname ?Nachname
MannNachname ?Nachname
Wohnort Hamburg
Schablonenvergleich soll ergeben:
TRUE
?ID = Paar1
?Nachname = Meier
Geschätzter Zeitbedarf: 2,5 h
5 Punkte
Aufgabe 2: Nehmen Sie nun an, daß der Bedingungsteil einer Regel aus mehreren mit AND verknüpften Schablonen bestehen kann. 
a) Beschreiben Sie informell ein Verfahren, mit dem geprüft wird, welche Kombination von Datenobjekten einen Bedingungsteil erfüllt. Beachten Sie, daß gleiche Variable in verschiedenen Schablonen denselben Wert haben müssen.
Geschätzter Zeitbedarf: 0,5h
2 Punkte
b) Realisieren Sie das unter a) entworfene Verfahren mit einem Java-Programm.
Geschätzter Zeitbedarf: 1,5h
3 Punkte
Abzugebende
Dokumente
Aufgabe 1: Kommentierter Quellcode und Testumgebung.
Aufgabe 2a: Beschreibung des Verfahrens (zB in Pseudocode).
Aufgabe 2b: Kommentierter Quellcode und Testumgebung.

Schicken Sie bitte Ihre Dokumente - ein Exemplar je Übungsteam - als ein im Zip-Code komprimiertes Nur-Text-Datei-Attachment -per Email an Ihren Übungsgruppenbetreuer.