<
From version < 36.1 >
edited by cds
on 2014/09/15 13:35
To version < 94.1 >
edited by ssm
on 2018/04/06 10:35
>
Change comment: There is no comment for this version

Summary

Details

Page properties
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.cds
1 +XWiki.ssm
Content
... ... @@ -1,93 +1,98 @@
1 -Here's a selection of possible bachelor and master topics. If you're interested in one of them, don't hesitate to contact us! We'll sit down, have tea, and talk about what we great things we could do together.
1 +Hier eine Themenübersicht, gefolgt von etwas detaillierteren Darstellungen. Ein anderer Weg, um in kompakter Form einen Einblick in aktuelle Themen der Arbeitsgruppe zu bekommen, ist die Teilnahme an dem regelmäßig zu Semesterende bzw. in der vorlesungsfreien Zeit angebotenen Oberseminar.
2 2  
3 -**On this Page**
3 +Die meisten Themen lassen sich sowohl als Bachelor-/Master-/Diplomarbeit als auch, mit eingeschränktem Umfang, als Studienarbeit definieren. Generell sind Themenvariationen möglich, und auch selbst definierte Themen aus dem Bereich Echtzeitsysteme/Eingebettete Systeme können gerne besprochen werden.
4 4  
5 +**Hinweis**: Es ist Studierenden ausdrücklich empfohlen, sich frühzeitig bei den verschiedenen Arbeitsgruppen über mögliche Themen der Abschlussarbeit zu informieren. WWW-Seiten wie diese hier sind ein guter erster Anlaufpunkt, und es ist eine gute Idee, sich vor einem Gespräch mit einem potenziellen Betreuer (Professor, Assistenten ~-~- generell die Dozenten von Lehrveranstaltungen) über mögliche Themen einen Blick auf diese Seiten zu werfen. Es ist jedoch erfahrungsgemäß schwierig, auf solchen Seiten vollständige und aktuelle Informationen bereitzustellen; sie sollten daher eher als grober Indikator der jeweils möglichen Themenfelder dienen denn als konkrete Ausschreibungen. Um zu erfahren, welche Themen konkret verfügbar sind, zu dem angestrebten Zeitrahmen, sollte man auf jeden Fall die Dozenten konsultieren.
5 5  
7 +Die möglichen Themen sind im Folgenden thematisch gruppiert. Die Zahlen vor der Themenbeschreibung stehen für Prioritäten. Je kleiner die Zahl, desto wichtiger ist uns das Thema.
6 6  
7 -{{toc/}}
9 += Outline =
8 8  
9 -= Bachelor Topics =
10 10  
11 -== Graph Layout ==
12 12  
13 -* (% style="line-height: 1.4285715;" %)**Implement Greedy Switch Heuristic for Crossing Minimization**(%%)
14 -The order of nodes in a layer determines the number of crossings and is computed during the crossing minimization step. The results can usually be further improved by switching the order of nodes around, which we currently lack proper algorithms for. 
15 -* **{{jira columns="key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution" id="KIELER JIRA" serverId="2851bd34-0bf1-3f02-ab12-7d77ccab0fae" key="KIPRA-891"}}KIPRA-891{{/jira}}Layering Algorithms**
16 -Implement an alternative algorithm for the layer assignment problem used in the layer-based approach to graph layout.
17 -* Tight Packing of Connected Components
18 -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.
19 -* **{{jira columns="key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution" id="KIELER JIRA" serverId="2851bd34-0bf1-3f02-ab12-7d77ccab0fae" jqlQuery="key in (KIPRA-1262,KIPRA-1031)" source="jql" maximumIssues="20"}}key in (KIPRA-1262,KIPRA-1031){{/jira}}Integrate KIML with JGraph**
20 -Provide automatic layout through KIML for the JGraph diagram library and develop a simple JGraph-based graph editor to test the integration with.
21 -* **{{jira showSummary="true" columns="key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution" id="KIELER JIRA" serverId="2851bd34-0bf1-3f02-ab12-7d77ccab0fae" key="KIPRA-1214"}}KIPRA-1214{{/jira}}Improved Edge Label Placement**
22 -Our layout algorithm already supports the placement of edge labels. However, there's still room for improvement...
13 +{{toc exclude="Outline"/}}
23 23  
24 -== Modeling Pragmatics ==
15 += Automatic Graph Layout =
25 25  
26 -* **Comment Attachment**
27 -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.
28 -* **Control Flow Graph Exploration / Visualization**
29 -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.
30 -* **OMG DD Format**
31 -Explore the mapping of [[KGraph>>doc:KGraph Meta Model]] / [[KRendering>>doc:The KRendering Notation Model]] to the [[Diagram Definition>>url:http://www.omg.org/spec/DD/||shape="rect"]] format of the OMG.
17 +**Advisors:** Ulf Rüegg, Christoph Daniel Schulze.
32 32  
33 -== Semantics and Synchronous Languages ==
19 +Ein sehr wichtiger Teil des KIELER Projekts is das automatische Layout von Diagrammen. Hierfür gibt es bereits Werkzeuge, die gute Algorithmen enthalten, so dass viele Diagramme bereits jetzt übersichtlich und automatisiert angeordnet werden können (siehe z.B. [[Graphviz>>url:http://www.graphviz.org/||shape="rect" class="external-link"]]). Für einige besondere Arten von Diagrammen sind diese allgemeinen Algorithmen jedoch nicht geeignet, da zusätzliche Anforderungen an das Layout erfüllt werden müssen. Außerdem ist häufig die technische Anbindung vorhandener Algorithmen umständlich. Nutzer müssen sich mit der Funktionsweise der Algorithmen beschäftigen, um sie für ihre Anwendung optimal konfigurieren zu können.
34 34  
35 -* **Validation Manager for Models**
36 -Develop an integrated, flexible and generic syntactic validation framework for models (e.g. Esterel or SyncCharts).
37 -* **SCCharts compiler validation with Esterel**
38 -Automate the validation of the SCCharts compiler using the Esterel simulation.
39 -* **Transformation from SCCharts to Esterel** [possibly also Master Topic]
40 -Develop a transformation in Xtend2 to generate Esterel code for SCCharts.
41 -* **Hardware Synthesis from SCCharts to FPGA **[possibly also Master Topic]
42 -Use the circuit-based code generation to produce code for FPGAs
43 -* **Automatic documentation generation **[possibly also Master Topic]
44 -Develop an automatic SCCharts documentation system
45 -* **Optimizations for the SCCharts compiler **[possibly also Master Topic]
46 -Profile the actual SCCharts compiler and apply optimizations
47 -* **Multi-core SCCharts compiler **[possibly also Master Topic]
48 -Implement the possibility to use more than one core to compile large SCCharts
49 -* **Adding dataflow to SCCharts** [possibly also Master Topic]
50 -Add dataflow to SCCharts
21 +Wir verfolgen drei Themenbereiche, die zusammen solche Probleme lösen und den Nutzen von automatischem Layout erhöhen sollen:
51 51  
52 -== Miscellaneous Topics ==
23 +//» Algorithmen-Entwicklung.// Wir implementieren vorhandene Ansätze zum Layout von Graphen in Java und binden sie in das KIELER Framework ein. Der Schwerpunkt liegt auf dem Entwurf von Erweiterungen, die spezielle Anforderungen unterstützen, z.B. für Datenfluss-Diagramme. Dies ist gut für alle geeignet, die sich gerne mit Graphentheorie, effizienten Algorithmen oder kombinatorischer Optimierung beschäftigen.
53 53  
54 -* **Developing an Info Screen**
55 -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.
25 +//» Meta Layout.// Hierunter verstehen wir ein abstraktes Layout, welches im Gegensatz zum konkreten Layout nicht durch (x,y) Koordinaten definiert ist, sondern den Nutzern verschiedene Schnittstellen bietet, um auf schnelle und einfache Weise die Layout-Algorithmen zu konfigurieren. Die große Herausforderung liegt dabei in der Entwicklung von Abstraktionsebenen, die den Nutzer möglichst direkt zu einem guten Layout führen und trotzdem flexibel genug sind.
56 56  
57 -----
27 +//» Dienste.// Algorithmen und Meta Layout müssen den Anwendern zugänglich gemacht werden, damit ein Nutzen daraus entsteht. Dazu müssen wir verschiedenste graphische Frameworks mit vorhandenen Layout-Bibliotheken integrieren und eine Reihe von Werkzeugen entwickeln, mit denen die Verfügbarkeit unserer Lösungen gesteigert wird. Hierzu gehört z.B. die Unterstützung von Standard-Graphenformaten sowie ein Web-Service für automatisches Layout.
58 58  
59 -= (% style="color: rgb(0,0,0);" %)Master Topics(%%) =
29 += Modeling Pragmatics =
60 60  
61 -== Graph Layout ==
31 +**Advisors:** Reinhard von Hanxleden, Ulf Rüegg, Christoph Daniel Schulze
62 62  
63 -* **Layering Algorithms**
64 -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.
65 -* **Node Placement**
66 -Develop a new node placement algorithm that finds a good balance between keeping edges straight and keeping the drawing from getting too big.
67 -* (% style="line-height: 1.4285715;" %)**Compound Graph Layout**(%%)
68 -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.
69 -* **Force Based Drawing with Port Constraints**
70 -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>>url:http://www.adaptagrams.org/||shape="rect"]] on the model library of [[Ptolemy>>url:http://ptolemy.eecs.berkeley.edu/||shape="rect"]].
71 -* **Combining Forces and Layers
72 -**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.
33 +* **1 Compound Graph Exploration** (Bachelor, Master)
34 +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.
35 +* **1 OpenStreetMap-Based Model Exploration** (Bachelor, Master)
36 +Implement a prototype to investigate whether OpenStreetMap can be used to display custom data (such as, say, rendered diagrams) to use its filtering and exploration features for exploring large diagrams.
37 +* **3 Control Flow Graph Exploration / Visualization** (Bachelor)
38 +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.
39 +* **Use signal flow graphs for parameterizing / debugging audio system configurations (Master)**
40 +The configuration of how signals are routed and how signal processors are configured in an audio system is a complex task. Make configuration and debugging easier by providing a visualization of the current configuration. Also, research what will help developers and users find configuration problems. The resulting software can be integrated into an existing Python-based configuration application, or be developed as a standalone tool that communicates with the audio system through Ethernet. (In conjunction with [[sonoware GmbH>>url:https://www.sonoware.de/en/||shape="rect"]])
73 73  
74 -== Modeling Pragmatics ==
42 += Semantics, Synchronous Languages and Model-based Design =
75 75  
76 -* **Diagram Description Language**
77 -Developing the concepts and implementation of a diagram description language based on Klighd, with SyncCharts as application example.
44 +**Advisors:** Steven Smyth, Alexander Schulz-Rosengarten, Reinhard v. Hanxleden
78 78  
79 -== Semantics and Synchronous Languages ==
46 +Heute haben sich eine ganze Reihe von Modellierungssprachen durchgesetzt, die grafische Modelle verwenden. Dazu zählen beispielsweise die [[Unified Modeling Language (UML) >>url:http://de.wikipedia.org/wiki/UML||shape="rect" class="external-link"]]oder die Werkzeugketten [[Simulink/Stateflow von Mathworks >>url:http://de.wikipedia.org/wiki/Simulink||shape="rect" class="external-link"]]und [[SCADE von Esterel-Technologies>>url:http://en.wikipedia.org/wiki/SCADE||shape="rect" class="external-link"]]. Letztere werden insbesondere auch im Entwurf eingebetteter und sicherheitskritischer Systeme (z.B. in Fahr- und Flugzeugen) eingesetzt.
80 80  
81 -* **Quartz**
82 -Integrate the synchronous Quartz language into KIELER for validation purposes and teaching.
83 -* **Implementation of a priority-based compilation approach**
84 -Implement the SyncCharts priority-based compilation approach into the SCCharts compiler chain.
85 -* **Curing Schizophrenia in SCCharts**
86 -Develop new synchronizer to handle schizophrenia properly (e.g. depth join).
87 -* **Detecting tick boundaries in SCCharts**
88 -Implement an algorithm that detects tick boundaries (in concurrent) threads and therefore improves the scheduling
89 -* **Preserving concurrency/parallelism for multi-core **
90 -Evaluate possibilities to preserve parallelism in SCCharts**.
91 -**
92 -* **Railway 2.0**
93 -Design a new and modern hardware controlling (Version 4) for the railway installation.
48 +(% class="external-link" %)
49 +Wer bereits mit diesen Werkzeugen gearbeitet hat, kennt aber auch die Schwächen dieses Prozesses: Während die grafische Visualisierung hilfreich bei der Analyse des Systems sein kann, ist die Erstellung eines grafischen Modells meist sehr Zeitaufwändig. In den bisher meist vorherrschenden [[WYSIWYG >>url:http://de.wikipedia.org/wiki/WYSIWYG||shape="rect" class="external-link"]]Editoren müssen sich die Entwickler selbst um niedrige Tätigkeiten verdient machen, die mit dem eigentlichen System nichts zu tun haben: Zeichnen, Positionieren und Navigieren in einem grafischen Modell sind häufig die zeitraubendsten Schritte bei diesem Prozess. Das KIEL Projekt hat bereits für SyncCharts Modelle eindrucksvoll bewiesen, dass automatisches Layout von grafischen Modellen eine Vielzahl von neuen Möglichkeiten im modellbasierten Prozess ermöglicht.
50 +
51 +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 >>url:http://de.wikipedia.org/wiki/Eclipse_%28IDE%29||shape="rect" class="external-link"]]Plattform und die Arbeit im Team, zu deren Unterstützung Projektmanagement-Werkzeuge wie dieses Conflunce Wiki eingesetzt werden.
52 +
53 +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.
54 +
55 +In diesem Kontext sind Themenstellungen für Bachelor-/Master-/Diplom- und Studienarbeiten beispielhaft genannt. Bei Fragen oder sprechen Sie einen Betreuer bitte direkt an:
56 +
57 +\\
58 +
59 +//SCCharts Modelling & Transformations//
60 +
61 +* **SCCharts Verification** (Master/Bachelor)
62 +Add the possibility to perfom model checking on SCCharts
63 +* **Derive M2M Transformations from Pseudocode** (Master/Bachelor)
64 +Create a Pseudocode DSL (and generator) to automatically derive M2M transformations.
65 +* **Raceyard evaluation** (Master)
66 +Evaluate the possibility for the use of SCCharts in the Raceyard context and pave the way for future experiments
67 +
68 +//SCCharts Code Generation & Optimizations//
69 +
70 +* **Optimization of the SCCharts compiler/transformations **(Bachelor/Master)
71 +Profile the actual SCCharts compiler/transformations and apply optimizations; also evaluate the possibility to use multiple cores for compilation.
72 +* **SCG Optimization based on SSA **(Bachelor/Master)
73 +The Static Single Assignment form enables powerful optimizations such as [[sparse conditional constant propagation>>url:http://dl.acm.org/citation.cfm?id=103136||shape="rect"]]. Adjust and implement this algorithm in the context of SCGs and evaluate the result.
74 +* **Efficient data dependency & scheduling analyses in SCCharts** (Master/Bachelor)
75 +Implement analyses for data dependency, scheduling (e.g. tick boundaries) for SCCharts to improve static scheduling of the compiler.
76 +\\
77 +
78 +//SCCharts Simulation//
79 +
80 +* **Visualization of Model-based Simulation via Tracing** (Bachelor/Master)
81 +Use the already implemented Model-to-Model-Tracing in KIELER to visualize simulations.
82 +* **Core SCCharts Interpreter** (Master/Bachelor)
83 +Implement an Interpreter for Core SCCharts.
84 +
85 +//Model-based C Code Compilation//
86 +
87 +* **Incremental Model-based Compilation of Legacy C Programs** (Bachelor/Master)
88 +Modify the model-based compiler in KIELER so that it is able to compile C to (S)CCharts incrementally.
89 +* **Execution of Recursive Dataflow Code** (Master/Bachelor)
90 +* **Execution of Concurrent Dataflow Code** (Master/Bachelor)
91 +Modify the model-based dataflow compiler in KIELER so that it is able to compile recursive/concurrent C programs.
92 +For Master students: Implement both.
93 +
94 +//Synchronous Languages//
95 +
96 +* (% style="letter-spacing: 0.0px;" %)**eSCL - Implementing {{code language="none"}}gotopause{{/code}}**(%%) (Bachelor/Master)
97 +Create an extended dialect of the SC Language including the {{code language="none"}}gotopause{{/code}} statement and implement a transformation to SCL.
98 +\\
Confluence.Code.ConfluencePageClass[0]
Id
... ... @@ -1,1 +1,1 @@
1 -9471823
1 +40894630
URL
... ... @@ -1,1 +1,1 @@
1 -https://rtsys.informatik.uni-kiel.de/confluence//wiki/spaces/RTSYS/pages/9471823/Topics for Student Theses
1 +https://rtsys.informatik.uni-kiel.de/confluence//wiki/spaces/RTSYS/pages/40894630/Topics for Student Theses