REDSEEDS entwickelt automatisierte Suche nach wiederverwendbarer Software
Ein EU-finanziertes Forscherteam hat eine automatisierte Durchsuchung eines zentralen Softwarerepositoriums entwickelt, um Software- "Artefakte" aus derzeit gebräuchlichen Systemen zu extrahieren und sie in neue Systeme einzufügen. Das EU-finanzierte REDSEEDS-Projekt ("Requirements-driven software development system") erhielt im Themenbereich "Technologien für die Informationsgesellschaft" des Sechsten Rahmenprogramms (RP6) Mittel in Höhe von knapp 3 Mio. EUR. Die von REDSEEDS erstellten Werkzeuge und das zentrale Repositorium werden die Arbeit der Softwareentwickler wesentlich erleichtern - und erfreulicherweise werden langweilige und geisttötende Aufgaben reduziert. Bisher mussten Entwickler die Softwareprogramme ungeachtet der Tatsache, ob vielleicht eine ähnliche Software bereits existiert, die für eine andere Anwendung oder Situation geschaffen wurde, immer von Grund auf neu schreiben. Dank der innovativen Arbeit von REDSEEDS können die Entwickler nun die Software produzieren, die genau den Anforderungen entspricht. Das REDSEEDS-Team erdachte eine anforderungsgerechte Spezifikationssprache, die den Entwicklern die Verwendung einer Benutzeroberfläche zum Zusammensetzen ihrer Anfragen ermöglicht. Sind die Anforderungen erst einmal in das System eingegeben, läuft der Anfrageprozess automatisch ab. Unterdessen durchsucht die Repository-Technologie das Repositorium und liefert den Nutzern die gesuchten Antworten. "Die große Besonderheit unserer Plattform ist, dass sie es ermöglicht, Anforderungen eines vorgeschlagenen neuen Systems auf einfache Weise zu skizzieren, und dass diese dann automatisch mit den Anforderungen und Fähigkeiten bestehender Systeme verglichen werden", erklärte REDSEEDS-Koordinator Michal Smialek von der University of Technology Warschau und Infovide SA in Polen. "Die Ergebnisse werden dem Nutzer mit hervorgehobenen Unterschieden und Gemeinsamkeiten zwischen den alten und neuen Systemen angezeigt." Ein Entwickler kann also die für ihn brauchbaren relevanten Artefakte auswählen, die er aus bestehenden Systemen entnehmen und in das neue System übernehmen kann. "Unter Artefakt verstehen wir hier Software-Artefakte, die von einem Softwareentwickler auf einem Computer ausgearbeitet worden sind", erklärte Professor Smialek. "Das kann jede beliebige Art von Modell oder Dokument oder Programm sein, das Ergebnis eines Softwareprojekts ist." "Innerhalb eines Projekts kann man mehrere Artefakte produzieren, die Designentwürfe sind, und dann ein Artefakt bilden, das der die Funktionsweise des Systems verkörpernde Code ist. Das endgültige Programm ist gleichfalls ein Artefakt, das von den anderen Artefakten bedient wird - wie es Design und Code entspricht." Die automatische Anpassung der Designentwürfe und die folgende Auswertung, welche Teile des Codes wiederverwendet werden können, gestattet es den Entwicklern, die Anforderungen eines neuen Systems mit denen früherer Systeme in Übereinstimmung zu bringen. Ergebnis ist ein schnelleres und effizienteres Werkzeug für Entwickler. "Wenn man ein Problem ähnlich einem bereits früher gelösten vorliegen hat, so gibt man das Design und den Code ein und muss natürlich geringfügige Anpassungen an die neue Aufgabe vornehmen, aber die Hauptarbeit wurde bereits in dem vorherigen Projekt erledigt", so Professor Smialek. Beispielsweise müsse jemand beim Einloggen auf einer Website möglicherweise eine Schaltfläche anklicken, die ein auszufüllendes Formular erscheinen lasse. "Man drückt dann Enter und das System prüft die Gültigkeit der Daten und registriert sie im Speicher", erläutert Smialek das Beispiel. "Diese Art der Funktionalität kann zwischen verschiedenen Arten von Programm-Domänen verwendet werden - so kann völlig verschiedenen Dingen wie etwa der Registrierung eines Computers in einem Warenlager die gleiche Logik wie der Anmeldung eines Nutzers in einem Onlinesystem zugrunde liegen - und es kann viel vom Design und Code des Systems kopiert werden." Der Validierung des Repositoriums wird die Kommerzialisierung folgen. "Ziel eines solchen kommerziellen Produkts ist, durch die beträchtliche Reduzierung des Arbeitsaufwandes, der zur Entwicklung einer neuen Softwareanwendung erforderlich ist, und dadurch, dass mit den gleichen Mitarbeitern mehr und größere Systeme entwickelt werden können, großen Anklang zu finden." Die REDSEEDS-Partner kommen aus Deutschland, Lettland, Litauen, Österreich, Polen, der Türkei und dem Vereinigten Königreich.