Detailseite
Projekt Druckansicht

Micro Cosmos: Ein Programmiermodell und Compiler für Cloud Microservices

Antragsteller Dr.-Ing. Sebastian Ertel
Fachliche Zuordnung Softwaretechnik und Programmiersprachen
Sicherheit und Verlässlichkeit, Betriebs-, Kommunikations- und verteilte Systeme
Förderung Förderung seit 2022
Projektkennung Deutsche Forschungsgemeinschaft (DFG) - Projektnummer 469256231
 
Die Cloud ist der Schlüssel zur einer digitalen Gesellschaft - allerdings ist dieser Schlüssel derzeit noch sehr exklusiv. Vielen Firmen und Forschungseinrichtungen gelingt es nicht, ihre Programme in die Cloud zu verlagern bzw. neue cloud-basierte Programme zu entwickeln.Zu groß sind die Einstiegshürden. So bleibt die Programmierung cloud-basierter Programme lediglich Experten vorbehalten. Zwar verspricht die Cloud unbegrenzte Skalierbarkeit und Resilienz gegenüber Ausfällen, doch um diese Versprechen einzulösen, müssen Programme in sogenannte Microservices aufgebrochen werden. Ein Microservice ist ein kleines eigenständiges Programm, das von der Cloud individuell skaliert werden kann und Fehler mit deren Ausfallfolgen isoliert. Ein bestehendes Programm in Microservices zu zerlegen bzw. ein neues Programm aus vielen einzelnen Microservices zu entwickeln, ist mühsam und fehlerbehaftet.Die Entwicklung komplexer Programme für die Cloud wird so schnell zur Mammutaufgabe, weil bewährte Werkzeuge zum Testen und Analysieren von Fehlern gar nicht oder nur begrenzt angewendet werden können. Hinzu kommt, dass Microservices manuell an die neuesten Verbesserungen der Cloud angepasst werden müssen. Dies bindet Programme an eine spezielle Cloud und macht es dem Cloudanbieter schwer, seine Cloud weiterzuentwickeln.Um die Effizienz im Entwicklungsprozess wiederherzustellen, schlägt das Projekt in diesem Antrag einen grundlegend neuen Ansatz vor. Unter dem Gesichtspunkt, dass Microservices lediglich ein Ausführungs-, nicht aber ein Programmiermodell sind, wird ein neues Programmiermodell mit dazugehörigem Compiler für die Cloud vorgeschlagen. Das Besondere daran ist, dass wir unser Programmiermodell direkt in bestehende Programmiersprachen integrieren; jedoch nicht als Bibliothek, sondern in deren Semantik. Das erlaubt es dem dazugehörigen Cloud Compiler, eine sequentielle Komposition von lokal ausgeführten Funktionen in eine Komposition von verteilt ausgeführten Microservices umzuwandeln. In Zukunft wollen wir diesen Cloud Compiler formal verifizieren, d.h. beweisen, dass während dieser Transformation die Semantik des Programmes erhalten bleiben. Der in diesem Antrag entworfene Compiler legt den Grundstein, um diesen Beweis direkt in die Konstruktion von selbigem zu integrieren. Auf diesem formalen Fundament kann unser Compiler dann zukünftig ebenfalls für Anwendungen im Internet der Dinge (IoT) verwendet werden. Gängige Werkzeuge und Techniken zur Softwareentwicklung für lokale Programme können weiterhinwie gewohnt angewendet werden. Unser Cloud Compiler optimiert dazu noch die Ausführung der Programme und passt sie automatisch an die neuen Verbesserungen der Cloud der Wahl an.Darüber hinaus bietet unser Cloud Compiler ein neues Instrument, um Forscher aus den Bereichen Programmiersprachen und Verteilte Systeme mit dem Fokus auf Cloud Computing zusammenzubringen.
DFG-Verfahren Sachbeihilfen
 
 

Zusatzinformationen

Textvergrößerung und Kontrastanpassung