- Comment Attachment
When computing a new layout for a diagram that contains comments (comparable to comments in source code), the comments often get placed far away of the nodes they refer to. This is because often the reference is not explicitly encoded in the original model. We have used a distance-based metric in the past to discover references automatically, but there are lots of ideas for improvement. This bachelor thesis would implement them, perhaps come up with additional ideas, and finally evaluate them in a thorough experiment.
- Control Flow Graph Exploration / Visualization
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.
- OMG DD Format
Explore the mapping of KGraph / KRendering to the Diagram Definition format of the OMG.
- Validation Manager for Models
Develop an integrated, flexible and generic syntactic validation framework for models (e.g. Esterel or SyncCharts).
- Esterel / SyncCharts ValidationSCCharts compiler validation with Esterel
Automate the validation for a (generic) SyncCharts simulator employing the Esterel simulator and the Esterel to SyncCharts transformationof the SCCharts compiler using the Esterel simulation.
- Transformation from SyncCharts SCCharts to Esterel [possibly also Master Topic]
Develop a transformation in Xtend2 to generate Esterel code for SyncCharts.SCCharts.
- Hardware Synthesis from SCCharts to FPGA
- Automatic documentation generation out of annotations [possibly also Master Topic]
- Optimizations for the SCCharts compiler
- Developing an Info Screen
Info screens are screens that present data in ways that can be easily understood. This includes static data (project description graphics, members of a team, ...) as well as dynamically aggregated data (bug statistics, automatic build overviews, ...). This topic is about developing such an info screen for our group and making it easily configurable.
- Layering Algorithms
Develop an alternative algorithm for the layer assignment problem used in the layer-based approach to graph layout. The algorithm shall be extended to consider the number of edge crossings and an optimal aspect ratio.
- Node Placement
Develop a new node placement algorithm that finds a good balance between keeping edges straight and keeping the drawing from getting too big.
- Compound Graph Layout
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.
- Force Based Drawing with Port Constraints
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
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.
- Diagram Description Language
Developing the concepts and implementation of a diagram description language based on Klighd, with SyncCharts as application example.
Semantics and Synchronous Languages
- Development of a Statecharts editor, based on .NET, WPF, MS Silverlight. Synthesis onto FPGAs with a data-flow-based intermediate format.[Quartz]
Integrate the synchronous Quartz language into KIELER for validation purposes and teaching.
- Implementation of a priority-based compilation approach
- Curing Schizophrenia with Depth Join
- Adding dataflow to SCCharts
- Detecting tick boundaries in SCCharts
- Preserving concurrency for multi-core
- Railway 2.0