Ausdrucken ist out - intelligente Dokumente sind in
Der größte Teil der Webnutzer ist durchaus mit Büchern, Zeitungen oder Steuererklärungen vertraut. "Aktive Dokumente" versprechen, diese statischen Dokumente mit Softwaretechnologie nach dem neuesten Stand der Technik zu verbessern und so die Grenzen und Einschränkungen der traditionellen Medien zu überwinden. Webentitäten wie etwa Daten in speziellen Auszeichnungssprachen (Extensible Markup Language, XML) und Teile von Software werden in "aktiven Dokumenten" kombiniert, die konventionelle Dokumente, Browser und sogar komplette Anwendungen ersetzen können. Ähnlich wie Standardsoftwareprodukte müssen sie aus kleineren Softwarekomponenten zusammengesetzt werden. Programmierer müssen ihre Programme nicht nur immer und immer wieder weiterentwickeln, sondern wollen auch bereits vorhandene Teile in neue Anwendungen einbinden. Auch hier gilt: Sie müssen produktiver und vor allem schneller als die Konkurrenz sein. Eine sinnvolle Wiederverwertung von Technologie bedeutet, dass Komponenten in Web-Shops gekauft und dann mit leistungsstarken Kompositionsoperatoren zusammengesetzt werden können. Ziel des Easycomp-Projekts war die Entwicklung des Fundaments einer solchen Kompositionstechnologie. Komponententechnologien der zweiten Generation wie Java und .NET bieten eine breite Palette von Universalkomponenten, die wiederverwertet werden können. Die Entwickler konnten somit auf ein ihnen zur Verfügung stehendes festes Fundament aus erprobten Bausteinen aufbauen. Dennoch sind Anpassungen des Quellcodes erforderlich, wenn unabhängig voneinander entwickelte Komponenten, die nicht exakt zueinander passen, zusammengebracht werden. Deshalb entwickelten die Easycomp-Projektpartner das Kompositionssystem (Compost). Das Compost-System überbrückt Interaktions-Fehlanpassungen zwischen Softwarekomponenten, indem sie diese mittels automatisierter Programmtransformationen invasiv modifizieren. Es enthält eine Programmbibliothek für allgemeine Transformationen in Form von Java-Meta-Programmen, die auch der Generator von Glue-Codes sein können. Komplexe Quellcode-Analysen unterstützen die Entwicklung aktiver Dokumente, wenn sich die Anforderungen der Endnutzer verändern. Konfiguration und Anpassung basieren jedoch noch auf einfachen Kompositionsoperationen, was den Weg für folgende Generationen hochgradig nutzeradaptiver Softwaresysteme ebnet.