Yakindu SCT Plugin für die Generierung von endlichen Automaten in Swift

Projektarbeit aus dem Jahr 2017 im Fachbereich Informatik - Software, Note: 1.0, Fachhochschule Dortmund, Sprache: Deutsch, Abstract: In der Softwarebranche gibt es viele verschiedene Entwicklungssprachen für die unterschiedlichsten Anwendungszwecke und Plattformen. Einige dieser Plattformen ermöglichen dabei die Entwicklung von Programmen in den unterschiedlichsten Sprachen, während andere die Entwicklung auf einige wenige beschränken. Im Vergleich dazu beschreiben Konzepte, wie z.B. endliche Automaten, sprachunabhängig ein Konzept, welches dann in die jeweilige Sprache übertragen werden kann. Solche Entwicklungskonzepte können daher einmal in einer generellen Form beschrieben und dann in den unterschiedlichen Sprachen generiert werden. Dies hat den Vorteil, dass komplexe Abläufe wie endliche Automaten nur einmal definiert werden müssen, um dann in mehreren Sprachen angewandt zu werden. Yakindu SCT ist ein Programm, welches die grafische Modellierung eines endlichen Automaten sprachunabhängig ermöglicht. Dazu werden z.B. eigene Datentypen definiert, welche dann innerhalb des endlichen Automaten verwendet werden können. Im zweiten Schritt kann der endlichen Automate dann in der gewünschten Programmiersprache generiert und damit in dieser verwendet werden. Dies realisiert die oben erwähnte semantische Trennung zwischen einem sprachunabhängigen Konzept und dessen Implementierung in einer Sprache. Sollte die gewünschte Sprache noch nicht vorhanden sein, besteht die Möglichkeit diese als Yakindu SCT Plugin hinzuzufügen. Dies ist z.B. notwendig für die Verwendung von Yakindu SCT in der Mobilen Entwicklung. Während die Entwicklungssprache Java, welche für Android verwendet wird, bereits implementiert ist, gibt es für die noch relativ junge Sprache Swift, die unter iOS verwendet wird, keine entsprechende Implementierung. Diese Projektarbeit soll sich daher mit der Entwicklung eines Yakindu SCT Generators für die Sprache Swift befassen, um die Verwendung von Yakindu SCT in der mobilen iOS Entwicklung zu ermöglichen.