Softwarewartung kann durch deklarative Transformationswerkzeuge
unterstutzt werden, die aus Sprachbeschreibungen und zusatzlicher
Information generiert werden. Daher stehen Sprachprozessoren im
Mittelpunkt der Betrachtungen. Die Evolution einer Softwaresprache
spielt dabei eine zentrale Rolle. Sie erfordert neben der Wartung der
Sprachbeschreibung sowohl die Anpassung der in dieserSprache
geschriebenen Software als auch die Anpassung der Software, die
Programme transformieren, welche in der sich andernden Sprache
vorliegen. Diese Co-Evolution wird an speziellen Teilproblemen
untersucht, um aus der Anderung der Sprachbeschreibung notwendige
Anpassungen der anderen Artefakte automatisch abzuleiten. Anhand der
Evolution von Datenformaten wird gezeigt, wie die Formatevolution die
notwendigen Anpassungen der Dokumente induziert. Fur attributierte
Grammatiken wird eine Transformation erarbeitet und bewiesen, welche die
semantische Regeln wahrend der Entfernung der Linksrekursion
semantik-erhaltend anpasst. Am Problem der Layout-Erhaltung bei
Quelle-zu-Quelle-Transformationen wird gezeigt, wie deklarative
Transformationsregeln auf abstrakten Syntaxbaumen automatisch bei
Anderung der zugrundeliegenden Grammatik angepasst werden konnen.
Weiterhin werden Basisoperatoren fur die Erweiterung von Programmen
identifiziert, die ein diszipliniertes Metaprogrammieren auf
deklarativen Programmen (also Sprachbeschreibungen und
Sprachprozessoren) verbessern. Die Definition und Implementation eines
Modells fur Aspektorientierung in Prolog unterstutzt die Modularisierung
von Sprachbeschreibungen basierend auf logischen Grammatiken und
folglich auch die Modularisierung von daraus abgeleiteten
Sprachprozessoren. Die Definition eines objekt-orientierten Modells zur
Kombination von Transformationen ist die Basis fur die Implementation
eines Arbeitsplatzes zur visuellen interaktiven explorativen
Programmierung mit heterogenen Transformationen, bei dem
Sprachbeschreibungen und Sprachprozessoren als Objekte erster Ordnung
behandelt werden.