<
From version < 49.1 >
edited by ssm
on 2015/04/13 14:44
To version < 51.1 >
edited by uru
on 2015/04/29 13:40
>
Change comment: There is no comment for this version

Summary

Details

Page properties
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.ssm
1 +XWiki.uru
Content
... ... @@ -1,35 +1,50 @@
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 += Outline =
6 6  
9 +
10 +
7 7  {{toc/}}
8 8  
9 -= Graph Layout =
13 += Automatic Graph Layout =
10 10  
11 11  **Advisors:** Ulf Rüegg, Christoph Daniel Schulze.
12 12  
17 +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.
18 +
19 +Wir verfolgen drei Themenbereiche, die zusammen solche Probleme lösen und den Nutzen von automatischem Layout erhöhen sollen:
20 +
21 +//» 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.
22 +
23 +//» 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.
24 +
25 +//» 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.
26 +
13 13  * **Tight Packing of Connected Components** (Bachelor)
14 14  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.
15 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-1262"}}KIPRA-1262{{/jira}}\\
16 -* **{{jira columns="key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution" id="KIELER JIRA" serverId="2851bd34-0bf1-3f02-ab12-7d77ccab0fae" key="KIPRA-1031"}}KIPRA-1031{{/jira}}Integrate KIML with JGraph** (Bachelor)
17 -Provide automatic layout through KIML for the JGraph diagram library and develop a simple JGraph-based graph editor to test the integration with.\\
18 -* **{{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** (Bachelor)
19 -Our layout algorithm already supports the placement of edge labels. However, there's still room for improvement...
20 -* **Layering Algorithms** (Bachelor, Master)
30 +* **{{jira columns="key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution" id="KIELER JIRA" serverId="2851bd34-0bf1-3f02-ab12-7d77ccab0fae" key="KIPRA-1031"}}KIPRA-1031{{/jira}}Layering Algorithms** (Bachelor, Master)
21 21  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.
22 -* **Orthogonal "Edge Bundling"** (Bachelor, Master)
23 -Implement and evaluate strategies for orthogonal edge bundling within our layer-based layout algorithm.
32 +* **Combining Forces and Layers** (Master)**
33 +**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.\\
24 24  * **Node Placement With a Focus on Compactness** (Master)
25 25  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.
26 -* **Compound Graph Layout** (Master)
27 -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.
28 28  * **Force Based Drawing with Port Constraints** (Master)
29 29  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"]].
30 -* **Combining Forces and Layers** (Master)**
31 -**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.
32 32  \\
39 +* **Compound Graph Layout** (Master)
40 +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.
41 +* **Orthogonal "Edge Bundling"** (Bachelor, Master)
42 +Implement and evaluate strategies for orthogonal edge bundling within our layer-based layout algorithm.
43 +\\
44 +* **Integrate KIML with JGraph** (Bachelor)
45 +Provide automatic layout through KIML for the JGraph diagram library and develop a simple JGraph-based graph editor to test the integration with.
46 +{{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}}
47 +\\
33 33  
34 34  = Modeling Pragmatics =
35 35  
... ... @@ -42,8 +42,25 @@
42 42  
43 43  = Semantics and Synchronous Languages =
44 44  
45 -**Advisors:** Christian Motika, Steven Smyth
60 +**Advisors:** Christian Motika, Steven Smyth, Reinhard v. Hanxleden
46 46  
62 +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.
63 +
64 +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.
65 +
66 +In diesem Kontext sind Themenstellungen für Bachelor-/Master-/Diplom- und Studienarbeiten beispielhaft genannt:
67 +
68 +* **Optimierung der Transformation:**
69 +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.
70 +* **Optimierung von Esterel-Programmen nach der Transformation:**
71 +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.
72 +* **Erweiterung des Esterel-Compilers zur Sichtbarmachung des Programmzustandes:**
73 +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.
74 +* **Erweiterung der Transformation um non-Kernel Statements, valued Signals:**
75 +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.
76 +* **Anwendung auf Lustre:**
77 +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
78 +\\
47 47  * **Automatic documentation generation for model-based languages **(Bachelor)
48 48  Develop an automatic SCCharts documentation & comment system
49 49  * **On the usability of the KIELER SCCharts compiler** (Bachelor)
... ... @@ -81,16 +81,33 @@
81 81  Implement the SyncCharts priority-based compilation approach into the SCCharts compiler chain.
82 82  * **Curing Schizophrenia in SCCharts **(Master)
83 83  Develop new synchronizer to handle schizophrenia properly (e.g. depth join).
84 -\\
85 85  
86 86  = PRETSY / PRETSY2 =
87 87  
88 88  **Advisors:** Insa Fuhrmann, Steven Smyth
89 89  
121 +Im Rahmen des PRETSY-Projektes (siehe [[www.pretsy.org>>url:http://www.pretsy.org/||title="Projekthomepage" shape="rect" class="external-link-new-window external-link"]], dort findet sich auch im Rahmen des Projektes bereits veröffentlichte Literatur) und seines geplanten Nachfolgerprojektes sind Abschlussarbeiten zu vergeben, die sich inhaltlich mit der Verbindung Sequentiell Konstruktiver (SC für Sequentially Constructive) Sprachen mit Precision Timed (PRET) Prozessoren als Ausführungsplattform befinden.
122 +
123 +Sequentielle Konstruktivität als "Model of Computation (MoC)" ist im Zuge des PRETSY Projektes entwickelt worden und ist eng mit dem MoC der Sychronen Sprachen verwandt, erweitert dieses aber konservativ, das heißt, es lässt alle Programme zur Ausführung zu, die auch als gültiges synchrones Programm (insbesondere im Sinne der Programmiersprache Esterel) gelten würden. Anders als Esterel erlaubt es aber mehrere schreibende und lesende Zugriffe auf geteilte Variablen, solange diese eindeutig sequentiell geordnet sind. Dies macht das SC MoC zugänglicher für Programmierer gängiger sequentieller Programmiersprachen: Zum Beispiel ist das Programmiermuster present "present x else emit x" ("if (!x) {...; x = true}") gültig im SC MoC, nicht aber in Esterel.
124 +
125 +Im PRETSY Projekt wurden die Programmiersprachen SCCharts und SCL entwickelt, grundsätzlich können wir diese auf jeder beliebigen Plattform ausführen, die Ausführung auf PRET Architekturen bietet aber einige zusätzliche Vorteile und Aspekte, insbesondere verfügen diese Architekturen über eine besonders einfach zu analysierende WCET, über zusätzliche Befehle, um die Ausführungszeit zu kontrollieren und Exceptions bei Zeitüberschreitungen zu definieren sowie über mehrere Hardwarethreads. Aktuelle Themenvorschläge finden sich im [[KIELER Wiki>>url:http://rtsys.informatik.uni-kiel.de/confluence/display/KIELER/Topics+for+Student+Theses||shape="rect" class="internal-link None"]]
126 +
90 90  * **Real-time extensions for SCCharts** (Bachelor/Master)
91 91  Make the timing instructions //delay_until// und //exception_on_expire// of the [[FlexPRET>>url:http://rtsys.informatik.uni-kiel.de/confluence/Multithreaded/Multicore execution of SCCharts Evaluate possibilities to preserve parallelism in SCCharts, implement mapping for (fine grained) multithreading and multicore based on the FlexPRET||shape="rect"]] processor available in SCCharts.
92 -\\
93 93  
130 += Model-based Design =
131 +
132 +**Betreuung**: Christian Motika
133 +
134 +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.
135 +
136 +(% class="external-link" %)
137 +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.
138 +
139 +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.
140 +
141 +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.
142 +
94 94  = (% style="color: rgb(0,0,0);" %)Miscellaneous Topics(%%) =
95 95  
96 96  **Advisors:** to be determined.
Confluence.Code.ConfluencePageClass[0]
Id
... ... @@ -1,1 +1,1 @@
1 -10752004
1 +10752007
URL
... ... @@ -1,1 +1,1 @@
1 -https://rtsys.informatik.uni-kiel.de/confluence//wiki/spaces/RTSYS/pages/10752004/Topics for Student Theses
1 +https://rtsys.informatik.uni-kiel.de/confluence//wiki/spaces/RTSYS/pages/10752007/Topics for Student Theses