Universität Rostock, Ingenieurwissenschaftliche Fakultät, Institut für Informatik, Wissenschaftsbereich Praktische Informatik
Lehrstuhl für Programmiersprachen und Übersetzertechnik
 
 

   
 
Hauptseite
Mitarbeiter
Lehre
Studien- und
Diplomarbeiten
Forschung
Veröffentlichungen
Aktuelles
 
   

Forschungsschwerpunkte des Lehrstuhls

Lehre und Forschung auf dem Gebiet der Programmiersprachen/Übersetzertechnik reichen an der Universität Rostock bis in das Jahr 1964 zurück. Es war dabei immer ein Anliegen der jeweiligen Arbeitsgruppen, Erkenntnisse aus der forschung möglichst schnell in die Lehre einzubringen. Dabei steht die Vermittlung von Paradigmen der Programmierung, der formalen Spezifikation von Software, der formalen Beschreibung von Programmiersprachen und der Übersetzerbau im Vordergrund.



Die aktuelle Forschung konzentriert sich auf die beiden Bereiche
  • Entwicklung von Sprachprozessoren
  • Symbolische Simulation von hybriden Systemen
Das erste Gebiet hat seine Wurzeln in den 60er Jahren mit der Erforschung von Implementierungsmethoden für moderne Programmiersprachen in Verbindung mit der Entwicklung eines Compilers fü eine Untersprache von ALGOL68 begonnen. In den 70er und 80er Jahren ist aufgrund dieser Untersuchungen die Verwendung von Compiler-Compilern, bei denen attributierte Grammatiken als Eingaben verwendet werden, ins Zentrum des Interesses gerückt. Die wichtigsten Ergebnisse waren eine spezielle Art attributierter Grammatiken (GSF - Grammatiken syntaktischer Funktionen) zusammen mit einer Auswertungsmethode, die Entwicklung ausgewählter Komponenten für einen Compiler-Compiler, und ihre Anwendung für die Erzeugung eines Compilers von ASPLE (derzeit eine sehr populäre Testsprache) nach FORTRAN63 zur Demonstration der Anwendbarkeit des Prinzips, und der Compiler-Compiler RÜGEN-KS für die Erzeugung von Interpretern für Kommando-Sprachen. In RÜGEN-KS wurde eine rech interessante Idee realisiert: Die attributierte Grammatik (eine GSF) als Eingabe wurde automatisch abgeleitet von der Signatur der Kommando-Sprache, und wurde dann vom Sprachdesigner modifiziert.
Später merkten wir, daß GSF und Prolog eng miteinander zusammenhängen. Es ist kein Problem eine GSF, die gewissen Bedingungen entspricht, in ein Prolog-Programm zu transformieren, was gut zum Zweck des Prototyping verwendet werden kann. Natürlich wurde ein neues System dazu entwickelt: LDL (Language Development Laboratory). LDL ist ein System, das den Entwurf sowohl von Programmiersprachen, als auch von Prototypen für ihre Interpreter/Compiler unterstützt. Das Projekt KOKS (Komposition von nachweisbar korrekten Sprachimplementationen von wiederverwendbaren Spezifikationsfragmenten), gefördert von der Deutschen Forschungsgemeinschaft (DFG) steht in enger Beziehung zu LDL. Es bietet ein typkontrolliertes Kalkül für Spezifikationsfragmente. LDL konnte sehr erfolgreich eingesetzt werden, zum Beispiel zur Programmierung mit Design Patterns in Eiffel, zur Erzeugung von Nutzerschnittstellen, zur symbolischen Simulation von hybriden Systemen und zur Integritätsüberwachung für die objektorientierte Datenbankprogrammiersprache PLEX.
LDL und die Ergebnisse von KOKS zusammen mit einigen modernen Konzepten stellen nunmehr die Grundlage für unser neues Projekt Laptob (Language Processor Tool Box) dar. Dies kann mit der Formel logische Programmierung + Grammatiken + Typen + Programmschemata höherer Ordnung + Infrastruktur charakterisiert werden und es verfolgt als Ziel die Entwicklung von Sprachprozessoren.
Der zweite der oben genannten Punkte begann Anfang der 90er Jahre als ein "Seiteneffekt" bei den Forschungsaktivitäten im Bereich Programmiersprachen. Die Kernfrage war: Ist es möglich, ein Echtzeit-/reaktives System mit Hilfe von attributierten Grammatiken zu beschreiben? Zur Beantwortung dieser Frage wurde eine Methode zur symbolischen Simulation hybrider Systeme basierend auf CLP (Constraint Logic Programming) entwickelt. Damit ist man in der Lage, hybride Systeme und Anfragen in den Sprachen CLP oder PrologIII zu beschreiben. Für die Vereinfachung von seiten des Nutzers wurde eine erste Version einer domainspezifischen Sprache entwickelt: MODEL-HS (MOdular DEclarative Language for Hybrid Systems), welche auch modulare Konstrukte umfasst. Eine modifizierte und erweiterte Version dieser Sprache soll unter Verwendung von Laptob implementiert werden. Weiterhin wurde eine visuelle Programmiersprache VYSMO (Visual hYbrid System MOdeling) in Analogie zu MODEL-HS entworfen zu denen eine passende Programmierumgebung entstehen soll.

Wissenschaftliche Zusammenarbeit

  • CWI Amsterdam, VU Amsterdam, Niederlande: Language Processing Toolbox
    Eine enge Zussammenarbeit gibt es mit Dr.-Ing. R. Lämmel vom CWI Amsterdam und Vrije Universiteit Amsterdam. Es werden studentische Arbeiten gemeinsam betreut, Arbeitsaufenthalte von Studenten in Amsterdam gefördert und es entstehen gemeinsame Publikationen.
  • Universität Maribor, Slowenien: Aspektorientierte und generische Sprachbeschreibungen
    Im Rahmen der Deutsch-Slowenischen Zusammenarbeit gibt es eine Kooperation mit der Arbeitsgruppe an der Universität Maribor. Als erstes Ergebnis entstanden drei Publikationen auf deutscher Seite sowie eine Masterarbeit auf slowenischer Seite, die erheblich von der Zusammenarbeit profitierten. Beide Seiten fungieren außerdem als gemeinsame Herausgeber einer Sondernummer der Zeitschrift "Journal of Computing and Information Technology".

Projekte

 
letzte Änderung: 22. Mai 2002, Carsten Eichholz