Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Control Flow Graph Exploration / Visualization (Bachelor)
    Use pragmatics concepts (automatic layout, focus & context) for exploring/visualizing control flow graphs and specific paths, eg. as computed by OTAWA WCET analysis tool, eg. using KLighD.
  • Compound Graph Exploration (Bachelor, Master)
    A new graph exploration approach should be examined which is uses different zoom levels for different compound nodes. This tries to map the "Google Maps approach" of only showing the information of interest at any given zoom level to the field of graph exploration.

Semantics

...

, Synchronous Languages and Model-based Design

Advisors: Christian Motika, Steven Smyth, Reinhard v. Hanxleden

Die Programmiersprache Esterel besitzt ein synchrones Ausführungsmodell. Dies bedeutet, dass der Status gesendeter Signale konzeptionell sofort in anderen nebenläufigen Programmteilen wirksam wird. Um nun nicht im Kontrollfluss Inkonstistenzen zu erzeugen ist die Reihenfolge der Signal-Sendung und -Auswertung wichtig: Es müssen immer erst potentielle Signal-Sendungen ausgeführt werden, bevor der Signal-Status ausgewertet werden kann. Die Compilation von Esterel Programmen muss also Signal-Abhängigkeiten berücksichtigen. Lässt sich aus strukturellen Gründen in einem Programm eine solche Ausführungs-Reihenfolge nicht herstellen, so muss das Programm als ungültig abgelehnt werden. Führen zyklische Abhängigkeiten dazu, dass die Reihenfolgen von Signal-Aussendungen und -Auswertungen nicht statisch bei der Compilation, sondern erst dynamisch zur Laufzeit aufgelöst werden können, so führt dies i.A. ebenfalls zu einer Ablehnung des Programmes, da dies ein aufwendiges ineffizientes Laufzeitsystem erfordern würde.

Am Lehrstuhl ist nun ein Verfahren entwickelt worden, um solche zyklischen Abhängigkeiten in Esterel-Programmen aufzulösen. Hierzu wird die Struktur des Programmes in Teilen transformiert, die Funktion des Programmes bleibt jedoch erhalten.

In diesem Kontext sind Themenstellungen für Bachelor-/Master-/Diplom- und Studienarbeiten beispielhaft genannt:

...

Heute haben sich eine ganze Reihe von Modellierungssprachen durchgesetzt, die grafische Modelle verwenden. Dazu zählen beispielsweise die Unified Modeling Language (UML) oder die Werkzeugketten Simulink/Stateflow von Mathworks und SCADE von Esterel-Technologies. Letztere werden insbesondere auch im Entwurf eingebetteter und sicherheitskritischer Systeme (z.B. in Fahr- und Flugzeugen) eingesetzt.

Im KIELER Projekt wird dieser Ansatz verallgemeinert und auch für andere Sprachen umgesetzt. Das Projekt wird mit innovativen state-of-the-art Techniken des Software-Entwurfs entwickelt und bietet daher den Entwicklern Einblick in einen hoffentlich interessanten Entwicklungsprozess. Dies beinhaltet vor allem die Plug-in Entwicklung für die Eclipse Plattform und die Arbeit im Team, zu deren Unterstützung Projektmanagement-Werkzeuge wie dieses Conflunce Wiki eingesetzt werden.

Im Rahmen dieses Projektes gibt es Raum für zahlreiche Arbeiten mit übersichtlichem Umfang, die einen schönen (aber in sich abgeschlossenen) Beitrag zur Verbesserung der Handhabbarkeit vom modellbasierten Entwurf leisten können. 

In diesem Kontext sind Themenstellungen für Bachelor-/Master-/Diplom- und Studienarbeiten beispielhaft genannt. Bei Fragen oder sprechen Sie einen Betreuer bitte direkt an:

  • Automatic documentation generation for model-based languages (Bachelor)
    Develop an automatic SCCharts documentation & comment system
  • On the usability of the KIELER SCCharts compiler (Bachelor)
    Evaluate the actual implementation of the KIELER SCCharts compiler and provide suggestions for improvements, i.e. the usability as standalone (commandline) compiler
  • Validation Manager for Models (Bachelor/Master)
    Develop an integrated, flexible and generic syntactic validation framework for models (e.g. Esterel or SyncCharts).
  • SCCharts compiler validation with Esterel (Bachelor/Master)
    Automate the validation of the SCCharts compiler using the Esterel simulation.


  • Transformation from SCCharts to Esterel (Bachelor/Master)
    Develop a transformation in Xtend2 to generate Esterel code for SCCharts.
  • Hardware Synthesis from SCCharts to FPGA (Bachelor/Master)
    Use the circuit-based code generation approach to produce code for FPGAs
  • Optimization of the SCCharts compiler (Bachelor/Master)
    Profile the actual SCCharts compiler and apply optimizations; also evaluate the possibility to use multiple cores for compilation
  • Optimization of the SCCharts transformations (Bachelor/Master)
    Profile the actual SCCharts transformations and apply optimizations
  • On the pragmatics of modelling modeling large models in SCCharts (Bachelor/Master)
    Evaluate the possibilities to create and maintain large models in model-based languages (i.e. SCCharts) and provide suggestions for improvements
  • Extend the SC MoC to handle priority-based variable accesses (Bachelor/Master)
    Add priorities to variable accesses to extend the SC MoC and therefore the number of valid sequentially constructive synchronous programs.


  • Detecting tick boundaries in SCCharts (Master/Bachelor)
    Implement an algorithm that detects tick boundaries (in concurrent) threads and therefore improves the scheduling
  • Efficient data dependency analyses in SCCharts (Master/Bachelor)
    Implement data dependency analyses for SCCharts to improve static scheduling of the compiler
  • KIELER evaluation environment for synchronous languages (Master/Bachelor)
    Develop a reliable evaluation environment to compare common synchronous languages (i.e. Esterel/SyncCharts & SCCharts)
  • Raceyard evaluation (Master/Bachelor)
    Evaluate the possibility for the use of SCCharts in the Raceyard context and pave the way for future experiments


  • Quartz (Master)
    Integrate the synchronous Quartz language into KIELER for validation purposes and teaching.
  • Implementation of a priority-based compilation approach (Master) 
    Implement the SyncCharts priority-based compilation approach into the SCCharts compiler chain.
  • Curing Schizophrenia in SCCharts (Master)
    Develop new synchronizer to handle schizophrenia properly (e.g. depth join).
  • Hybrid Models for Legacy Code Extraction
    Extract legacy code (e.g. legacy C code) to (SCCharts) Hybrid Models.

PRETSY / PRETSY2

Advisors: Insa Fuhrmann, Steven Smyth

...

  • Real-time extensions for SCCharts (Bachelor/Master)
    Make the timing instructions delay_until und exception_on_expire of the FlexPRET processor available in SCCharts.

Model-based Design

Advisors: Christian Motika

Heute haben sich eine ganze Reihe von Modellierungssprachen durchgesetzt, die grafische Modelle verwenden. Dazu zählen beispielsweise die Unified Modeling Language (UML) oder die Werkzeugketten Simulink/Stateflow von Mathworks und SCADE von Esterel-Technologies. Letztere werden insbesondere auch im Entwurf eingebetteter und sicherheitskritischer Systeme (z.B. in Fahr- und Flugzeugen) eingesetzt.

Im KIELER Projekt wird dieser Ansatz verallgemeinert und auch für andere Sprachen umgesetzt. Das Projekt wird mit innovativen state-of-the-art Techniken des Software-Entwurfs entwickelt und bietet daher den Entwicklern Einblick in einen hoffentlich interessanten Entwicklungsprozess. Dies beinhaltet vor allem die Plug-in Entwicklung für die Eclipse Plattform und die Arbeit im Team, zu deren Unterstützung Projektmanagement-Werkzeuge wie dieses Conflunce Wiki eingesetzt werden.

Im Rahmen dieses Projektes gibt es Raum für zahlreiche Arbeiten mit übersichtlichem Umfang, die einen schönen (aber in sich abgeschlossenen) Beitrag zur Verbesserung der Handhabbarkeit vom modellbasierten Entwurf leisten können. Für konkrete Themen schauen Sie in das KIELER Wiki oder sprechen Sie einen der Betreuer bitte direkt an.

Miscellaneous Topics

Advisors: to be determined.

...