Page tree

Versions Compared

Key

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

...

  • Tight Packing of Connected Components (Bachelor)
    Different connected components of a graph are often laid out separately and combined again afterwards. This combination step often produces too much whitespace. Research relevant 2D packing literature and implement a better solution.
    Jira
    serverKIELER JIRA
    columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
    serverId2851bd34-0bf1-3f02-ab12-7d77ccab0fae
    keyKIPRA-1262

    Jira
    serverKIELER JIRA
    columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
    serverId2851bd34-0bf1-3f02-ab12-7d77ccab0fae
    keyKIPRA-1031
  • Integrate KIML with JGraph (Bachelor)
    Provide automatic layout through KIML for the JGraph diagram library and develop a simple JGraph-based graph editor to test the integration with.
    Jira
    showSummarytrue
    serverKIELER JIRA
    columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
    serverId2851bd34-0bf1-3f02-ab12-7d77ccab0fae
    keyKIPRA-1214
  • Improved Edge Label Placement (Bachelor)
    Our layout algorithm already supports the placement of edge labels. However, there's still room for improvement...
  • Layering Algorithms (Bachelor, Master)
    Implement an alternative algorithm for the layer assignment problem used in the layer-based approach to graph layout. The focus of the algorithm could the consideration of the number of edge crossings, a given aspect ratio, or overall compactness.Orthogonal "Edge Bundling" (Bachelor,
  • Combining Forces and Layers (Master)
    Implement and evaluate strategies for orthogonal edge bundling within our layer-based layout algorithmDesign and implement a layout algorithm that combines the force-based and the layer-based approaches. The first three phases of the layer-based approach shall be replaced by a node distribution computed with a force-based approach.
  • Node Placement With a Focus on Compactness (Master)
    Node placement algorithms often try to draw as many edges as straight lines as possible. However, that usually results in less compact diagrams. The focus of this topic would be to devise or adapt a node placement algorithm that tries to strike a balance between straightness and compactness.
  • Force Based Drawing with Port Constraints (Master)
    Develop methods for integrating port constraints in force-based drawing approaches. The resulting node placement shall be evaluated using an edge router such as libavoid on the model library of Ptolemy.

  • Compound Graph Layout (Master)
    Design and implement new concepts for computing layer-based layouts of compound graphs. The main focus shall be on maintainability: ensuring that the implementation can be kept working over the years. The main area to be considered here is the crossing minimization phase.Force Based Drawing with Port Constraints (
  • Orthogonal "Edge Bundling" (Bachelor, Master)
    Develop methods for integrating port constraints in force-based drawing approaches. The resulting node placement shall be evaluated using an edge router such as libavoid on the model library of Ptolemy.Combining Forces and Layers (Master)
    Design and implement a layout algorithm that combines the force-based and the layer-based approaches. The first three phases of the layer-based approach shall be replaced by a node distribution computed with a force-based approach.Implement and evaluate strategies for orthogonal edge bundling within our layer-based layout algorithm.

  • Integrate KIML with JGraph (Bachelor)
    Provide automatic layout through KIML for the JGraph diagram library and develop a simple JGraph-based graph editor to test the integration with.
    Jira
    showSummarytrue
    serverKIELER JIRA
    columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
    serverId2851bd34-0bf1-3f02-ab12-7d77ccab0fae
    keyKIPRA-1214


Modeling Pragmatics

Advisors: Reinhard von Hanxleden, Ulf Rüegg, Christoph Daniel Schulze.

...

  • Optimierung der Transformation:
    Bei Nachweis gewisser Eigenschaften eines Esterel-Programmes lassen sich vereinfachte Transformationsregeln anstelle der allgemeinen Lösung anwenden. Dies ermöglicht dann eine effizientere Transformation. Aufgabe ist es nun, solche Vereinfachungen zu erstellen und zu definieren, welche Eigenschaften Esterel-Programme haben müssen, damit diese Vereinfachungen zulässig sind. Die Überprüfung dieser Eigenschaften sollte dann in den Transformationsalgorithmus integriert werden.
  • Optimierung von Esterel-Programmen nach der Transformation:
    Die Transformation produziert in der jetzigen Form viel redundanten Code. Dies umfasst beispielsweise neu eingeführte Signale, die emittiert aber nie ausgewertet werden, Signal-Ausdrücke die ein konstantes Ergebnis haben oder Code der nicht erreichbar ist. Ziel dieser Aufgabe ist es nun, solche Redundanzen in einem Esterel-Programm zu erkennen und zu entfernen. Dies muss dabei nicht zwangläufig auf von der Transformation produzierte Programme beschränkt sein.
  • Erweiterung des Esterel-Compilers zur Sichtbarmachung des Programmzustandes:
    Bei der Ausführung eines compilierten Esterel-Programmes wird der Zustand der Ausführung in Variablen (bzw. Registern) gehalten. Diese Variablen sind aber aus dem Esterel-Programm heraus nicht verfügbar. Der Ausführungszustand des Programmes wird aber bei der Auflösung zyklischer Abhängigkeiten benötigt. Anstatt nun wie bisher zusätzliche Zustandssignale einzuführen, könnten auch die internen Zustandsvariablen sichtbar gemacht werden. Hierzu ist eine Erweiterung des Esterel-Compilers nötig.
  • Erweiterung der Transformation um non-Kernel Statements, valued Signals:
    Die Transformation zyklischer Abhängigkeiten in Esterel-Programmen ist in der bisherigen Lösung auf die Kernel-Befehle von Esterel beschränkt. Befehle die im Kernel nicht enthalten sind, müssen erst in Kernel-Befehle expandiert werden. Eine Erweiterung auf den erweiterten Befehlssatz würde die Effizienz der Transformation verbessern. Weiterhin ist die Transformation bisher nur auf pure-Signals beschränkt. Es fehlt noch eine Berücksichtigung von valued-Signals.
  • Anwendung auf Lustre:
    Die Datenfluss-Sprache Lustre basiert ebenfalls wie Esterel auf einem synchronen Ausführungsmodell. Daher sind auch Lustre-Programme anfällig für zyklische Abhängigkeiten. Idee ist nun, die Prinzipien der Transformation konstruktiver zyklischer Esterel-Programme auf zyklische Lustre-Programme anzuwenden

  • 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 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).

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

...

Betreuung: Christian Motika

...

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.

...