Ein Ganzes daraus machen
Die Entwicklung von komponentenbasierter Software ist ein aufstrebender Wissenszweig, mit dem die Softwareentwicklung in ein neues Zeitalter - die Informationsgesellschaft - eintreten kann. Die Software soll aus Komponenten erstellt werden, genau wie Hardware gegenwärtig aus Teilsätzen entsteht. Das EASYCOMP-Projekt, das durch das IST-Programm (IST - Information Society Technologies, Technologien für die Informationsgesellschaft) finanziert wird, diente der Anpassung von Software an die Bedürfnisse, indem Tools zur Erstellung von Softwarearchitekturen auf der Grundlage von Komponenten entworfen wurden. RECODER ist ein Rahmenwerk und soll eine Infrastruktur für die invasive Softwarekomposition auf der Grundlage der statischen Metaprogrammierung liefern. Da sich die invasive Komposition auf Standardsprachen konzentriert, unterstützt diese komplizierte Infrastruktur diverse Analysen von Java, C und C# sowie Umwandlungstools. Zuerst wird ein hoch detailliertes Programmmodell, ein Metamodell, durch die Syntaxanalyse der im Quelltext und den Klassendateien festgestellten Dateneinheiten gemeinsam mit den Zusammenhängen zwischen den Elementen abgeleitet. Zu diesem Zweck wird eine Namen- und Typenanalyse durchgeführt, die die Referenzen zu logischen Dateneinheiten auflöst und gleichzeitig die Informationen aus den Querverweisen erhält. In der nächsten Phase werden die Informationen des Metamodells durch statische Metaprogramme genutzt, um die Umwandlungen des Quelltextmodells zu kontrollieren. Die RECODER-Bibliotheken bieten eine leistungsfähige Plattform für alle Arten der Source to Source-Umwandlung von Java, C und C#. Diese Programmumwandlungen erzeugen möglicherweise kleine Mengen neuen Texts. Der Pretty-Printer sichert die Wiederherstellung der Quelldateien danach, indem er die neuen Textfragmente nahtlos integriert und dabei die Textformatierung beibehält. Im Verlauf der Umschreibung des Quelltexts eines Systems zur Verbesserung seiner Struktur und Lesbarkeit wird das System besser wartbar und erweiterbar, wodurch die Entwicklungsressourcen auch überall sonst eingesetzt werden können. Gleichzeitig können, wenn der Text gut strukturiert ist, neue Anforderungen effizienter und mit weniger Schwierigkeiten behandelt werden. Die RECODER-Eigenschaften des Refactoring bieten eine automatisierte und verhaltenserhaltende Möglichkeit zur Aktualisierung computerbasierter Anwendungen, um neuere Versionen von Komponenten nutzen zu können. Dies ist ein leistungsfähiges Tool und ermöglicht ungeachtet der zugehörigen Komplexität die schnellere Entwicklung von Softwareanwendungen.