TU Dresden
Institut für Theoretische Informatik


Komplexpraktikum "Formale Modelle in der Anwendung" im WS 2002/2003


Eine weitere Vorbesprechung
findet am 16.10.02 um 9:20 (2. DS) in Raum 358 statt. Wer Interesse an diesem Praktikum hat, aber nicht zur Vorbesprechung kommen kann, meldet sich bitte bis 15.10.02 per email.

Studiengang
Diplomstudiengang Informatik (Diplom- und Bakkalaureatsabschluß), ab 5. Semester

Art der Lehrveranstaltung
Wahlpflichtveranstaltung (-/-/4)

Erwünschte Vorkenntnisse
Pflichtvorlesung Grundlagen der Theoretischen Informatik

Themengebiete des Komplexpraktikums
Formale Sprachtheorie, Automatentheorie und logikbasierte Wissensrepräsentation in ihrer praktischen Anwendung.

Zielstellung des Komplexpraktikums
Den Teilnehmern soll die Bedeutung, die die theoretische Informatik für praktische Fragestellungen hat, verdeutlicht werden.
Darüberhinaus sollen die Studierenden im Komplexpraktikum lernen, sich eigenständig in ein Thema einzuarbeiten, strukturiert eine größere Implementierung durchzuführen und diese in verständlicher Form zu dokumentieren. Für Teilnehmer, die zu zweit ein Thema bearbeiten, ist darüberhinaus die Steigerung der Teamarbeitsfähigkeit erklärtes Ziel diese Praktikums.

Aufgaben der Teilnehmer
Die Teilnehmer sollen sich, unterstützt durch entsprechende Betreuer, selbständig ein Thema aus den obigen Themengebieten der theoretischen Informatik erarbeiten und eine Implementierung durchführen und dokumentieren. Dazu gehört das Verständnis der entsprechenden Fragestellungen und der Modelle, die zu ihrer Beantwortung entwickelt wurden. Jede Implementierung ist so zu realisieren, daß sie auch für andere Personen nachvollziehbar sind. Schließlich stellt jeder Teilnehmer in einem Vortrag sein Thema und die Ergebnisse seines Praktikums den anderen Teilnehmer verständlich dar.
Weiteren Bedingungen, Spielregeln und zu erbringende Leistungen sind themenabhängig und daher von den Betreuern der jeweiligen Themen zu erfahren (zum Beispiel kann eine Literaturrecherche zu weiteren aktuellen Veröffentlichungen nötig sein).

Aufgabenstellungen
Jede der folgenden Aufgabenstellung entspricht einem Komplex, der unabhängig von anderen Komplexen betrachtet und bearbeitet werden kann. Für einige Komplexe ist eine Bearbeitung durch mehrere Studenten möglich.

(1) Simulationsalgorithmus auf Graphen zur Entscheidung Subsumtion bzgl. zyklischer TBoxen.
Entwickelt werden soll ein Algorithmus, der Subsumtion von beschreibungslogischen Konzepten entscheidet und dabei rekursiv definierte Konzepte (d.h. zyklische TBoxen) behandeln kann. Zur Entscheidung solcher Probleme genügt ein Algorithmus, der zwischen den Syntaxbäumen der betrachteten Konzepte Simulationen (d.h. spezielle Relationen) mit bestimmten Eigenschaften berechnet. Wird deskriptive Semantik zugrunde gelegt, können zur Lösung der Aufgabe Techniken aus einem Verfahren zum Erfüllbarkeitstest für Horn-Formeln nutzbringend eingesetzt werden.
Literatur: Monika R. Henzinger, Thomas A. Henzinger and Peter W. Kopke. Computing Simulations on Finite and Infinite Graphs. 36th Annual Symposium on Foundations of Computer Science, IEEE Computer Society Press, Milwaukee, Wisconsin, 1995, 453--462.
William F. Dowling and Jean Gallier. Linear-time Algorithms for Testing the Satisfiability of Propositional Horn Formulae. Journal of Logic Programmming, 1(3):267--284, 1984.
Betreuer: Sebastian Brandt , Lehrstuhl für Automatentheorie.

(2) Erweiterung der Implementierung zur Berechnung des ``least common subsumers'' und der Approximation um Anzahlrestriktionen.
Die bestehenden LISP-Implementierungen dieser Inferenzalgorithmen sollen um Anzahlrestriktionen erweitert werden. Für die Behandlung von Anzahlrestriktionen ist es dabei sowohl notwendig, die Anzahl von Rollennachfolgern zu berechnen, als auch die Konzeptbeschreibungen für die jeweiligen Nachfolger - die sogenannten Mergings - zu bestimmen. Verfahren hierzu sollen in LISP implementiert werden.
Literatur: S. Brandt, R. Küsters, and A.-Y. Turhan. Approximating ALCN-Concept Descriptions. In Proceedings of the 2002 International Workshop on Description Logics, 2002.
R. Küsters and R. Molitor. Computing Least Common Subsumers in ALEN. In Proceedings of the 17th International Joint Conference on Artificial Intelligence (IJCAI 2001).
Guy L., Jr. Steele. Common Lisp: The Language.
Betreuerin: Anni-Yasmin Turhan, Lehrstuhl für Automatentheorie.

(3) Konzeptgenerator für Beschreibungslogiken:
Es soll ein Generator beschreibungslogischer Konzepte entwickelt werden. Dieser erhält eine Beschreibungslogik sowie bestimmte Parameter (Schachtelungstiefe, Länge, etc.) und generiert zufällig eine Menge von Konzepten, die diesen Parametern entspricht.
Die Implementierung ist mit einer graphischen Benutzeroberfläche auszustatten.
Literatur: Ian P. Gent and Toby Walsh. Beyond NP: The QSAT Phase Transition. Proceedings of AAAI-99, 1999.
I. Horrocks, P. F. Patel-Schneider, and R. Sebastiani. An analysis of empirical testing for modal decision procedures. Logic Journal of the IGPL, 8(3):293-323, 2000.
Betreuer: Jan Hladik, Lehrstuhl für Automatentheorie.

(4) Aufbau einer Ontologie und Annotation der Internet-Seiten des Lehrstuhls für Automatentheorie unter Verwendung dieser Ontologie.
Im Sinne des ``semantic web'' sollen Internet-Seiten des Lehrstuhls für Automatentheorie mit einer maschinenverständlichen Beschreibung ihres Inhalts annotiert werden -- unter Verwendung einer Ontologie, die den Sinn der verwendeten Konzepte festlegt. Zur Erstellung der Ontologie soll der Ontologie-Editor OilEd verwendet werden.
Literatur: S. Bechhofer, I. Horrocks, C. Goble, and R. Stevens. OilEd: a reason-able ontology editor for the semantic web. In Proc. of the Joint German Austrian Conference on AI, number 2174 in Lecture Notes In Artificial Intelligence, pages 396-408. Springer-Verlag, 2001.
Betreuerin: Ulrike Sattler, Lehrstuhl für Automatentheorie.

(5) Aufbau einer Ontologie und Erstellung eines Erfahrungsberichts.
Für ein nichttriviales, aber übersichtliches Gebiet soll eine Ontologie erstellt werden. Während des Erstellens ist detailliert über den ``Lernprozeß'', der dabei stattfindet und die gemachten Erfahrung Buch zu führen. Diese Beobachtungen sollen dann in einem Erfahrungsbericht zusammengefaßt werden, der für andere Ontologiebauer hilfreich sein kann.
Zur Erstellung der Ontologie soll der Ontologie-Editor OilEd verwendet werden.
Besonderheiten: Für dieses Thema sind die Fähigkeit zur Selbstbeobachtung und Disziplin unverzichtbar.
Literatur: S. Bechhofer, I. Horrocks, C. Goble, and R. Stevens. OilEd: a reason-able ontology editor for the semantic web. In Proc. of the Joint German Austrian Conference on AI, number 2174 in Lecture Notes In Artificial Intelligence, pages 396-408. Springer-Verlag, 2001.
Betreuerin: Ulrike Sattler , Lehrstuhl für Automatentheorie.

(6) Erkennung syntaktischer Restriktionen in funktionalen Programmen.
Die Effizienz funktionaler Programme kann oft stark verbessert werden, indem man Programmtransformationen anwendet, die auf der Theorie der Baumübersetzer beruhen. Dazu müssen die Programme bestimmte syntaktische Bedingungen erfüllen. Im Rahmen dieses Praktikums soll ein Haskell-Programm zur Erkennung solcher Bedingungen entwickelt werden.
Besonderheiten: Für dieses Thema sind Kenntnisse der funktionalen Sprache Haskell und der Theorie der Baumübersetzer sehr hilfreich.
Literatur: A. Kühnemann, R. Glück, and K. Kakehi. Relating accumulative and non-accumulative functional programs. In A. Middeldorp (Editor), 12th International Conference on Rewriting Techniques and Applications - RTA'01, Utrecht, The Netherlands, Proceedings, volume 2051 of LNCS, pages 154-168, Springer-Verlag, May 2001.
Betreuer: Armin Kühnemann , Professur Grundlagen der Programmierung.

(7) Spezifizierung eines sprachbasierten Editors für eine einfache Programmiersprache.=20
Sprachbasierte Editoren sind speziell auf eine bestimmte formale (Programmier-)Sprache zugeschnitten um den Arbeitsprozess ihres Nutzers zu erleichtern. Dies geschieht durch Analyse, Transformation und Fehleranzeige während ein Objekt editiert wird. Wir arbeiten an einem Generator, welcher eine formale Beschreibung einer Programmiersprache als Eingabe bekommt und daraus einen sprachbasierten Editor für diese Sprache erzeugt. Es ist im Rahmen dieses Praktikums eine solche Eingabe zu spezifizieren, und zwar soll sie eine einfache imperative Programmiersprache beschreiben.
Besonderheiten: Für dieses Thema sind Kenntnisse der funktionalen Sprache Haskell und der Theorie der Attributgrammatiken hilfreich, aber nicht zwingend erforderlich.
Literatur: T. W. Reps and T. Teitelbaum. The synthesizer generator - a system for constructing language-based editor. Springer-Verlag, 1989.
Enrico Bormann. Entwurf und Implementierung eines Systems zur Erzeugung syntaxgesteuerter Editoren. Masters Thesis, Dresden University of Technology, 2000.
Betreuer: Enrico Bormann , Professur Grundlagen der Programmierung.

Organisation
Es findet eine erste Besprechung am Beginn des Semesters statt (siehe oben).
Während des Semesters erfolgen die Abstimmungen über Konsultationen mit dem Betreuer des jeweiligen Themas.
Die Praktikumsergebnisse werden in Vorträgen in einer abschließenden Veranstaltung vorgestellt. Zeit und Ort werden noch festgelegt.


Lehrbeauftragte
Prof. Franz Baader, Prof. Horst Reichel, Prof. Vogler ,
Institut für Theoretische Informatik