Compilation hat zum Ziel, sogenannte WAS-Bexchreibungen in WIE-Beschreibungen umzuwandeln. Klassisch ist hier das WIE
mit direkt auf Maschinen ausführbaren Beschreibungen assoziiert, und das WAS eine möglichst nutzerfreundliche,
typischerweise algorithmische Beschreibung. Der hier zu überbrückende WAS/WIE-Graben ist in den letzten Jahrzehnten
immens gewachsen. Immer höhere Programmiersprachen machten die üblichen WAS-Beschreibungen immer komfortabler. Der
Anspruch wächst aber noch weiter: WAS-Beschreibungen in Form von Geschäftsprozessmodellen sollen auch übersetzbar
werden. Das wirft die Frage auf, wie die Ebene der System/Prozessentwicklung so von den Details etwaiger
Plattformen abgekoppelt werden kann, dass einerseits eine problem- und zielorientierte Entwicklung/Modellierung,
andererseits aber auch immer noch eine automatische Übersetzung in ausführbaren Code möglich sind.
Nach einem Rückblick auf die Techniken des klassischen Compilerbaus werden darüber hinaus gehende Techniken
vorgestellt, die es erlauben, ausführbaren Code für immer abstrakter spezifizierte Merkmale und Funktionalitäten zu
erzeugen. Dabei werden wir unterscheiden, inwieweit der erzeugte Code spezielle Rahmenbedingungen in Form
spezifischer Laufzeitsysteme oder sogenannter `execution engines´ erfordert, wie sie insbesondere zur
Ausführung langlebiger Businessprozessen eingesetzt werden.
Die in der Vorlesung vorgestellten Techniken werden sowohl theoretisch beleuchtet als auch anhand konkreter
Anwendungsszenarien im Rahmen der Übungen erprobt. Dazu gehört der Einsatz unterschiedlicher Softwaretools im
Rahmen eines kleineren Praxisprojekts inklusive eines Abschlussbericht.