WIAI Fakultätskolloquium Donnerstag, 16.06. 2011, 16:00 Uhr 


Janis Voigtländer, Universität Bonn: Programmiersprachliche Techniken für Bidirektionale Transformation

In verschiedenen Anwendungsgebieten sind sogenannte bidirektionale Transformationen von Interesse, bestehend aus zwei Funktionen: 1.) einer Funktion "get", die eine Quelle (Dokument/Wert) auf eine Sicht abbildet (typischerweise unter Vernachlässigung von Teilen der Eingabe) und 2.) einer Funktion "put", die eine veränderte Sicht geeignet zurück in die ursprüngliche Quelle einbringt. Dabei sollen "get" und "put" bestimmte Konsistenzbedingungen (zueinander) erfüllen. Veränderung einer der beiden Funktionen führt in der Regel zur Notwendigkeit, auch die andere zu ändern (und wechselseitige Konsistenz neu zu beweisen). Es liegt daher nahe zu versuchen, stets nur eine der beiden Funktionen explizit anzugeben und die andere automatisch zu erhalten (samt Konsistenzgarantie). Mit Techniken zur Manipulation deklarativer Programme ist dies tatsächlich erreichbar. Ich stelle verschiedene Ansätze vor und gehe insbesondere auf eine erfolgreiche Kombination "syntaktischer" und "semantischer" Bidirektionalisierung ein.