Zur Webseite der Informatik

Projekt SKilL

Ziel des Projekts SKilL ist es, eine Plattform für Werkzeugketten zu schaffen, die die Kommunikation zwischen den einzelnen Werkzeugen möglichst wartungsfrei und effizient gestaltet.

Kern des Projekts ist ein formal spezifiziertes, auf Änderungstoleranz und Ausleseeffizienz optimiertes Binärformat. Dieses kann von Werkzeugen effizient in eine Graphdarstellung ihrer individuellen Sicht auf das Zwischenformat abgebildet werden. Besonderer Wert wird auf leichte Bedienbarkeit der Serialisierungsschnittstelle gelegt.  So werden Datentypen in einer Java-ähnlichen Sprache formal spezifiziert und dokumentiert. Daraus kann für eine frei wählbare Programmiersprache eine Implementierung generiert werden, die es Programmierern erlaubt, über ein sprachspezifisches API den zu einer Datei korrespondierenden Graphen zu bearbeiten und in eine Datei zu speichern. Von der frei verfügbaren Implementierung (siehe:https://github.com/skill-lang/skill) werden derzeit die Sprachen Ada, C und Scala unterstützt.

Gegenüber existierenden Lösungen bietet SKilL insbesondere weitreichende Änderungstoleranz, die es erlaubt, übliche evolutionsbedingte Formatänderungen zu kompensieren. Hierbei ist es zumeist nicht einmal notwendig, ein existierendes Tool nach einer Spezifikationsänderung neu zu übersetzen. Trotzdem ist das Format so gestaltet, dass Dateien mit inkompatiblem Inhalt nicht gelesen werden, wodurch Typsicherheit auf Formatebene gewährleistet wird. Des Weiteren ermöglicht es SKilL, neue Daten an bestehende Dateien anzuhängen, wodurch insbesondere bei kleinen Werkzeugen ein erheblicher Teil des Serialisierungsaufwands eingespart werden kann. Außerdem können Daten partiell, verzögert und parallel geladen werden, wodurch sich die Reaktionszeit von Werkzeugen deutlich verbessert.

Schwerpunkt der aktuellen Forschung an SKilL ist die Integration in die Bauhaus-Werkzeugkette. Hierdurch sollen theoretische Erkenntnisse in einem praxisnahen Szenario überprüft werden.

Bei Interesse an studentischen Arbeiten oder Forschungskooperationen wenden Sie sich an Timm Felden.