Integration von Prolog-Modulen in eine Microservice-Architektur

Bachelorarbeit, Diplomarbeit, Masterarbeit, Studentische Abschlussarbeit

Themen-Schwerpunkt: Multiplattform-Softwareentwicklung, Software-Entwicklung
Studiengänge: Informatik, Wirtschaftsinformatik

Umfeld

MicroService-Architekturen sind ein Ansatz, um große Systeme als Sammlung vieler kleiner Dienste zu entwickeln. Jeder Dienst in der Architektur läuft unabhängig von den anderen Diensten und hat ebenfalls seine eigenen Daten. Die Kommunikation mit anderen Diensten ist leichtgewichtig und findet beispielsweise über HTTP oder HTTPS statt. Typischerweise wird die Entwicklung und der Betrieb eines MicroService-Dienstes von einem Team verantwortet, welches alle benötigten Fähigkeiten (Experten für Anwendungslogik, Datenbank, Deployment) bündelt. Es ist dabei durchaus möglich, einen Dienst mit PHP, einen anderen mit Java und einen Dritten mit C# zu entwickeln.

MicroService-Architekturen sind auch für Werkzeuge zur Modellierung und Analyse von Geschäftsprozessen geeignet (Alpers, Becker, Oberweis, Schuster 2015). Eine Chance der Architektur besteht auch darin Programme anzubinden, die bereits lange existieren.

Im Rahmen der Abschlussarbeit sollen Programme zur Analyse von Geschäftsprozessmodellen in eine MicroService-Architektur integriert werden. Die Programme wurden mit ProLog erstellt. Die ProLog-Programme sollen dabei nicht portiert, sondern in ihrer ursprünglichen Gestalt ausgeführt werden. Es ist jedoch notwendig, Eingangsdaten (wie z. B. Petri-Netze) in das gewünschte Format zu transferieren und Ausgangsdaten (wie z. B. Analyseergebnisse) für die Verarbeitung in anderen Diensten entsprechend zu transformieren. Das Prinzip, alte Programme (in Sprachen wie ProLog) in einer modernen Architektur weiterverwenden zu können, ist über das konkrete Anwendungsbeispiel hinaus interessant. Anhand des Anwendungsbeispiels sollen daher auch der Integrationsaufwand einerseits und der Betriebsaufwand andererseits betrachtet werden.

EINSTIEGSLITERATUR

Alpers S, Becker C, Oberweis A, Schuster T (2015) Microservice Based Tool Support for Business Process Modelling. In: Enterprise Distributed Object Computing Workshop (EDOCW), 2015 IEEE 19th International. pp 71–78

Clocksin WF, Mellish CS (2003) Programming in Prolog / W. F. Clocksin ; C. S. Mellish.

Aufgaben

Integration existierender ProLog-Programme in eine MicroService-Architektur

  • Transformation der Eingangsdaten (z. B. Petri-Netze als PNML)
  • Transformation der Ausgangsdaten (z.B. Analyseergebnisse) für die Weiterverarbeitung
  • Bewertung des Integrations- und Betriebsaufwandes

Wir bieten

  • ein interdisziplinäres Arbeitsumfeld mit Partnern aus Wissenschaft, Wirtschaft und Anwendern
  • eine angenehme Arbeitsatmosphäre
  • konstruktive Zusammenarbeit

Wir erwarten

  • Bereitschaft sich in fremde Technologien einzuarbeiten
  • selbstständiges Denken und Arbeiten
  • sehr gute Deutsch- oder Englischkenntnisse
  • Motivation und Engagement

Ihre Bewerbung

Bitte legen Sie Ihrem Anschreiben folgende Unterlagen bei:

  • aktueller Notenauszug
  • tabellarischer Lebenslauf

Weitere Informationen

Start: ab sofort

betreuendes Institut am KIT: AIFB |Prof. Dr. Andreas Oberweis