Umfang

Der Umfang der Arbeit lässt sich so anpassen, dass das Thema als Bachelorarbeit, Projektarbeit oder Masterarbeit bearbeitet werden kann.

Empfohlene Vorkenntnisse

  • gute Kenntnisse in Compilerbau (z.B. durch Besuch der Veranstaltung “Compilerbau”)
  • Kenntnisse der B Sprache (z.B. durch Besuch der Veranstaltung “Sicherheitskritische Systeme”)
  • gute Kenntnisse in JavaScript oder TypeScript
  • gute Kenntnisse in HTML

Problem

B2Program ist ein Codegenerator von B nach höheren Programmiersprachen. Aktuell werden die imperativen Programmiersprachen Java und C++ unterstützt.
Verglichen mit den meisten anderen Codegeneratoren werden auch B Maschinen auf abstrakteren Ebenen unterstützt. Somit erfordert die Codegenerierung keine Verfeinerung bis auf die B0 Ebene (eine low-level Teilmenge von B).

VisB ist ein Tool um formale Modelle in B und Event-B mit SVG Grafiken zu visualisieren. Die Schnittstelle zwischen der SVG Grafik und dem formalen Modell wird durch ein “VisB Glue File” definiert.

Die Aufgabe dieser Arbeit besteht darin B2Program um JavaScript oder TypeScript zu erweitern. Über HTML soll es dem Nutzer möglich sein mit dem nach JavaScript/TypeScript übersetzten B Modell zu interagieren. Bei der Interaktion soll die VisB Visualisierung mithilfe des “VisB Glue File” aktualisiert werden. Ein weiterer interessanter Aspekt besteht darin, zu untersuchen, ob es besser ist das “VisB Glue File” direkt im generierten Code einzubinden, oder ebenfalls daraus Code zu generieren.

Minimalanforderungen

  • funktionsfähige Erweiterung von B2Program um JavaScript oder TypeScript
  • Interaktion mit übersetzten B Modell muss über HTML möglich sein
  • funktionsfähige VisB Visualisierung in der HTML

Erweiterungen

  • empirische Auswertung der Performance
  • Vergleich mit der Einbindung von generierten Java Code in HTML

Kontakt

Fabian Vu
Raum 25.12.02.50 · fabian.vu@hhu.de