Real-Time and Embedded Systems

Seminar Echtzeitsysteme und Eingebettete Systeme und Synchrone Sprachen

 AG Echtzeitsysteme und Eingebettete Systeme

Sommersemester 2016

Sinn dieses Seminars ist es, sich mit einem Themengebiet aus dem Bereich der Echtzeitsysteme und Eingebetteten Systeme oder der Synchronen Sprachen intensiv und selbständig wissenschaftlich auseinanderzusetzen. Das Thema ist in einem mündlichen Vortrag und einer schriftlichen Ausarbeitung zusammenzufassen. Ein weiterer Sinn dieses Seminars ist es, das Arbeiten in strukturierten zeitlichen Abläufen zu üben, wie es z.B. für Workshops/Tagungen üblich ist. Beide Aspekte sind erfahrungsgemäß eine gute Vorbereitung auf die Anfertigung einer Abschlussarbeit.

Dieses Seminar wird als Master-Modul angeboten. Im Vergleich zu einem Bachelorseminar erwartet das Masterseminar eine größere Einbeziehung von verwandten Arbeiten, und dementsprechend eine umfangreichere Ausarbeitung und Präsentation (siehe unten).

Voraussetzungen:

Für die Bearbeitung von Themen aus dem Bereich Eingebettete Systeme und Echtzeitsysteme ist der erfolgte Besuch der Vorlesung Eingebettete Echtzeitsysteme nicht zwingend, es sollten jedoch die für das konkrete Thema relevanten Inhalte der Vorlesung nachgearbeitet werden. Die DozentInnen helfen hier natürlich gerne weiter.

Für die Übernahme eines der Themen aus dem Bereich Synchrone Sprachen ist der erfolgte Besuch der Vorlesung Synchrone Sprachen empfehlenswert.

DozentInnen:

Reinhard v. Hanxleden (rvh@informatik.uni-kiel.de)
Steven Smyth (ssm@informatik.uni-kiel.de)
Insa Fuhrmann (ima@informatik.uni-kiel.de)

 

Themen

Die Frist für die Themenwahl ist abgelaufen.

 

Achtung: Es ist möglich, dass die angegebenen Links teilweise nur aus dem Uninetz zugänglich sind.

Themen Echtzeitsysteme/ eingebettete Systeme:

1. Daniel Grevismühl: Yooseong Kim, David Broman, Jian Cai, and Aviral Shrivastaval, "WCET-Aware Dynamic Code Management on Scratchpads for Software-Managed Multicores", In /Proceedings of the 20th IEEE Real-Time and Embedded Technology and Application Symposium (RTAS 2014)/, Berlin, Germany, 2014, PDF hier

2. Maria-Anna Kandsorra: Patricia Derler, Edward A. Lee, Alberto Sangiovanni-Vincentelli, "Modeling Cyber-Physical Systems", Proceedings of the IEEE (special issue on CPS)/, 100(1):13-28, January 2012, PDF hier

3. Lars Peiler: Björn Döbel, Hermann Härtig, "Can We Put Concurrency Back Into Redundant Multithreading?", EMSOFT 2014, PDF hier

4. Michael Cyruk: Ahmed Alhammad, Rodolfo Pellizzoni, "Schedulability Analysis of Global Memory-predictable Scheduling", EMSOFT 2014, PDF hier

5. Daniel Jahn: García-Valls, Marisol, Tommaso Cucinotta, and Chenyang Lu. "Challenges in real-time virtualization and predictable cloud computing." Journal of Systems Architecture 60.9 (2014): 726-740, PDF hier

6. Edward A. Lee, "Constructive Models of Discrete and Continuous Physical Phenomena", IEEE Acces, Vol. 2, pages 797-821, August 7, 2014, PDF hier   

7. Christian Risch: David Broman, Christopher Brooks, Lev Greenberg, Edward A. Lee, Michael Masin, Stavros Tripakis, Michael Wetter,  "Determinate Composition of FMUs for Co-Simulation", 13th International Conference on Embedded Software (EMSOFT), Montreal, Canada, September 29 - October 4, 2013, PDF hier

8. Kleinsorge, Jan C., Heiko Falk, and Peter Marwedel. "Simple analysis of partial worst-case execution paths on general control flow graphs." Proceedings of the Eleventh ACM International Conference on Embedded Software. IEEE Press, 2013, PDF hier

9. Ketata, Aymen, et al. "Performance prediction upon toolchain migration in model-based software." Model Driven Engineering Languages and Systems (MODELS), 2015 ACM/IEEE 18th International Conference on. IEEE, 2015, PDF hier

10. Astrid Mariana Flohr: Iftikhar, Sidra, et al. "An automated model based testing approach for platform games." Model Driven Engineering Languages and Systems (MODELS), 2015 ACM/IEEE 18th International Conference on. IEEE, 2015.PDF hier

11. Thiele, Lothar, and Pratyush Kumar. "Can real-time systems be chaotic?." Embedded Software (EMSOFT), 2015 International Conference on. IEEE, 2015, PDF hier


Themen Synchrone Sprachen:

1. Yip, E.; Kuo, M.; Roop. P. S., Broman, D., "Relaxing the Synchronous Approach for Mixed-Criticality Systems", Proceedings of the 20th IEEE Real-Time and Embedded Technology and Application Symposium (RTAS), Berlin, Germany, April 15-17, 2014. PDF hier (author prepared accepted version).

2. Nadeem, M.; Biglari-Abhari, M.; Salcic, Z., "GALS-JOP: A Java Embedded Processor for GALS Reactive Programs", IEEE Ninth International Conference on Dependable, Autonomic and Secure Computing (DASC), 2011, PDF hier.

3. Sun, W.-T.; Salcic, Z.; Malik, A., "LibGALS: a library for GALS systems design and modeling", Proceedings of the 15th Asia South Pacific Design Automation Conference (ASP-DAC)2010:107-112. PDF hier.

4. Bourke, T.; Pouzet, M., "Zélus: a synchronous language with ODEs", Proceedings of the 16th international conference on Hybrid systems: computation and control, pp. 113-118, 2013. PDF hier. Anm.: Dieses Paper ist etwas weniger umfangreich, dafür ist voraussichtlich deutlich mehr Arbeitsaufwand für das Hintergrundverständnis erforderlich, insbesondere für Studierende ohne Vorkenntnisse auf dem Gebiet Synchrone Sprachen.

5. Magara, A.; Salvaneschi, G., "Ways to react: comparing reactive languages and complex event processing", 1st Workshop on Reactivity, Events and Modularity (REM'13). 2013. PDF hier.

6. Gueye, S. M.; De Palma, N.; Rutten, E.; Tchana, A., "Coordinating multiple administration loops using discrete control" (language: Heptagon/BZR), ACM SIGOPS Operating Systems Review, vol. 47, issue 3, December 2013, pp. 18-25. PDF hier.

7. Gesell, M.; Schneider, K., "Modular verification of synchronous programs", Application of Concurrency to System Design (ACSD), 2013 13th International Conference on, pp. 70, 79, 8-10 Juli 2013, PDF hier.

8. Shaver, C.; Lee, E.A., "The coroutine model of computation", Proceedings of the 15th international conference on Model Driven Engineering Languages and Systems 2012 (MODELS'12), pp. 319-334. PDF hier. Die Bearbeitung dieses Themas sollte sich auch mit ev. aktuellen Weiterentwicklungen beschäftigen, siehe z.B. den Vortrag von Chris Shaver beim Synchronworkshop 2013: Slides und die Homepage des Autors.

9. Attar, P.; Boussinot, F.; Mandel, L.; Susini, J.-F., "Proposal for a Dynamic Synchronous Language", INRIA, Research Proposal, 2011. PDF hier.

10. Gamatié, A.; Gonnord, L., "Static analysis of synchronous programs in signal for efficient design of multi-clocked embedded systems", Conference on Languages, Compilers and Tools for Embedded Systems (ACM SIGPLAN/SIGBED), LCTES 2011:71-80. PDF hier.

11. Talpin, J.-P; Brandt, J.; Gemünde, M.; Schneider, M.; Shukla, S., "Constructive Polychronous Systems", Logical Foundations of Computer Science. vol. 7734, 2013. PDF hier.

12. Brandt, J.; Schneider, K.; "Passive code in synchronous programs", ACM Transactions on Embedded Computing Systems (TECS), Special Section, vol. 13 issue 2s, Jan2014, article No. 67. PDF hier.

 

Termine:

Do, 14.4. 10:15 - 11:45 Uhr Vorbesprechung/Kick-Off, Latex/Git Kurzeinführung, CAP 4, R. 1115

Fr, 15.4., 12:00 Uhr mittags Ende der Frist für die Themenauswahl (Beginn der Frist, siehe oben unter Themen)

Mi, 27.4. 12:00 Uhr mittags Abgabe Ausarbeitungsgerüst (Abstract, Einleitung, Gliederung, Stichworte zum Inhalt der Kapitel, Bibliographie)

Do, 28.4. Individualtermine

Di, 17.5. 12:00 Uhr mittags Abgabe der Erstversion der vollständigen Ausarbeitung

Do, 19.5. Individualtermine

Do, 26.5. 12:00 Uhr mittags Abgabe der Review-Version der Ausarbeitung

Do, 26.5. anschließend Zuordnung Ausarbeitungen/Reviewer (per Email)

Do, 2.6. 12:00 Uhr mittags Abgabe der Reviews

Termin ist noch zu bestimmen Vortrag zur Gestaltung einer guten Präsentation (starring:cds)

Di, 21.6. 12:00 Uhr mittags Abgabe der Vortragsfolien und Handoutfolien (siehe Hinweise unten)

Do, 23.6. Individualtermine

Mo, 4.7. 10:00 Uhr morgens Abgabe der Endversionen der Vortragsfolien, Handouts und Ausarbeitungen, Anschließend Druck der Proceedings (incl. Ausarbeitungen und Handoutfolien)

Di, 5.7. Ganztägiges Blockseminar mit Vorträgen

 

Agenda des Blockseminars

Das Blockseminar findet am Dienstag, den 5. Juli 2016 im Ostseejugenddorf Falckenstein, Falkenhorst 6, 24159 Kiel-Friedrichsort statt, und zwar im Raum "Fördeblick". Bitte wetterfeste Kleidung und passendes Schuhwerk für einen Spaziergang in der Mittagspause mitbringen!

Programm:

8:50 Uhr Treffen am Unihochhaus für Mitfahrer (bitte bei ima vorab melden, derzeit nur Plätze eingeplant für lpe, mic und cri)

9:30 Uhr Begrüßung

9:45 Uhr Maria-Anna Kandsorra: Modellierung Cyber-Physischer Systeme

10:30 Uhr Christian Risch: Erweiterung des FMI zur deterministischen Koordinierung von FMUs in Co-Simulation

11:15 Uhr Kaffeepause

11:30 Uhr Michael Cyruk: Comparing Implementations of the Predictable Execution Model for Scheduling Embedded Systems

12:15 Uhr Mittagessen

14:00 Uhr Lars Peiler: Concurrency and Determinacy in Redundant Multithreading

14:45 Uhr Daniel Grevismühl: WCET-optimierte Verwaltung von Scratchpad Memory auf Multicore Echtzeitsystemen

15:30 Uhr Kaffeepause

15:45 Uhr Astrid Mariana Flohr: Eine automatisierte, modellbasierte Testmethode für Plattformspiele

16:30 Uhr Daniel Jahn: Herausforderungen für die Virtualisierung von Echtzeitsystemen in der Cloud

17:15 Uhr Schlusswort

Bitte zur Sicherheit etwas mehr Zeit einplanen, Überziehungen sind immer möglich.

Die Notenvergabe findet zu einem gesonderten Zeitpunkt statt, der noch bekannt gegeben wird.

Die Teilnahme am gesamten Seminartag ist Pflicht für alle, die einen Schein in diesem Seminar erwerben wollen!         

                                                           

Ausarbeitung, Vortrag, Review

Das Seminar beinhaltet die Erstellung einer Ausarbeitung, eines Vortrags, und zweier Reviews.

Die Ausarbeitung soll eine Übersicht über das behandelte Themengebiet darstellen. Sie sollte so verfasst sein, dass sie von einen fortgeschrittenen Bachelor-Informatikstudenten gut verstanden werden kann. Die Ausarbeitung soll 6 Seiten umfassen, nicht mehr und nicht weniger, und den ACM LaTeX-Style verwenden. Empfehlenswert ist ein Blick in die Hinweise für die Anfertigung einer Abschlussarbeit.

Der Vortrag soll 40 Minuten lang sein. Das Vortragsprogramm wird etwas zusätzliche Zeit für Fragen (5 min) einplanen. Zu dem Vortrag sollen Folien erstellt werden, zum Beispiel mit LaTeX Beamer (siehe unten). Die Vortragsfolien sollten Seitennummern enthalten. Sollte das Thema auch eine konkrete Implementierung behandeln, ist eine entsprechende kurze Tool-Demo im Rahmen des Vortrages sinnvoll. Die Arbeitsgruppe bietet jedem/r Vortragenden an, eine Videoaufnahme des Vortrags zu erstellen und dem/r Vortragenden anschließend zur Verfügung zu stellen.

Ein Review einer Ausarbeitung besteht aus folgenden zwei Komponenten:

  1. Generellen Anmerkungen (was gefällt Ihnen/gefällt Ihnen nicht, zu Inhalt, Gliederung und Lesbarkeit) sowie generelle Verbesserungsvorschläge etc. Mindestens eine halbe Seite, abgegeben als PDF-Datei.
  2. Detaillierteren Korrekturen als elektronisch annotierte PDF-Version der Review-Version der Ausarbeitung. Es empfiehlt sich, hier nur mit dem Adobe Reader zu arbeiten, da Annotationen verschiedener PDF-Viewer oft inkompatibel sind.

Ein eingescannter, handschriftlich annotierter Ausdruck der Ausarbeitung (generelle Anmerkungen sind auch hier erforderlich!) ist notfalls auch ok, wenn gut lesbar, sollte aber vermieden werden. Die Zuordnung Paper/Reviewer geschieht kurzfristig nach dem Abgabetermin für die Review-Versionen der Ausarbeitungen, basierend auf den dann abgegebenen Ausarbeitungen.

Jede(r) Seminarteilnehmer(in) erhält die Proceedings des laufenden Seminars.

Namenskonventionen

Auch wenn das Einchecken von generierten Binärdateien generell eher vermieden werden sollte, sind für dieses Seminar auch die folgenden pdfs einzuchecken, um unnötige Compilierungsschwierigkeiten bei Dozenten und Reviewern zu vermeiden. Grafiken sollten in einem Unterordner (z.B. "images") abgelegt werden. Grafiken sollten weiterhin möglichst skalierbare  Verktorgrafiken sein, die als PDF eingebunden werden können. Nicht einzuchecken sind temporäre Dateien (.aux etc.).

Die Namen für die Dateien, die im Git abzulegen sind, sollen wie folgt (gleichartig) aufgebaut sein. Bitte halten Sie sich von Anfang an an diese Namenskonventionen. Das vermeidet unnötige Sucherei, bewahrt uns vor späteren Schwierigkeiten mit automatischen Skripten und macht umständliches Umbenennen überflüssig.

  • Ausarbeitung: <login>/sem16ss-<login>.[tex/pdf]
  • Vortragsfolien: <login>/sem16ss-<login>-talk.[tex/pdf]
  • Handoutfolien - ohne Animationen, für Ausdrucke und die Proceedings: <login>/sem16ss-<login>-handout.[tex/pdf]
  • Review (generelle Anmerkungen): <login review-Empfänger>/sem16ss-<login review-Empfänger>-reviewnotes-<login Reviewer>.[pdf]
  • Review (annotiertes PDF): <login review-Empfänger>/sem16ss-<login review-Empfänger>-review-<login Reviewer>.[pdf] (Beispiel also: Steven (ssm) reviewt die Ausarbeitung von Insa (ima) und checkt das Review-PDF mit dem Namen sem16ss-ima-review-ssm.pdf im Ordner ima des Seminarrepositorys ein.

Anmerkung: Die Handoutfolien unterscheiden sich von den Vortragsfolien dadurch, dass die Handoutfolien keine Animationen für die Präsentation am Beamer enthalten. Beim Arbeiten mit der latex-beamer Klasse können Handoutfolien durch das Hinzufügen eines optionalen Argumentes bei der Deklaration der Dokumentenklasse generiert werden ("\documentclass[trans]{beamer}").

Benotung

Das Seminar ist benotet. Die Endnote basiert auf den einzelnen Meilensteinen (Versionen der Ausarbeitung, Reviews, Folien, Vortrag). Es werden jeweils die Qualität sowie die Rechtzeitigkeit (siehe Terminplanung) bewertet. Das Nicht-Einhalten von Terminen kann zum Nicht-Bestehen des Seminars führen.

Technisches

  • Reichlich Dokumentation zum Git Source Code Management System findet man unter http://www.git-scm.com/.
  • Für den Zugriff auf das Repository müssen wir Sie in unserem  Bitbucket  dafür freischalten. Das sollten wir anhand der Teilnehmerliste prima tun können. Falls Sie keinen Zugriff auf das Repository bekommen, schreiben Sie uns eine E-Mail.
  • Git-Repository auschecken: git clone  ssh://git@git.rtsys.informatik.uni-kiel.de:7999/sem/16ss-rt-emb-synch.git
    • Um die Erstellung der Proceedings zu erleichtern, richten Sie sich bitte nach den oben beschriebenen Namenskonventionen.
  • ACM Style in deutscher oder englischer Version. Im Git Repository befinden sich im Unterverzeichnis init/ eine Reihe von Dateien, welche Sie als Vorlage nehmen können (siehe README.txt).
  • Wir benutzen pdflatex (erstellt PDF Dateien) und nicht direkt latex (erstellt DVI Dateien)
    • sind im Prinzip gleich zu benutzen
    • Hauptunterschied ist die Einbindung von Grafiken. In pdflatex siehe z.B. http://latex.mschroeder.net/#grafiken (Es sollte immer eine komplette figure Umgebung mit caption, label und Referenz im Text benutzt werden!)
    • Von der Kommandozeile aus kann ein pdf mit "rubber -d sem15ss-<login>" erstellt werden (rubber ruft automatisch pdflatex und bibtex auf).
  • Bibliographie: Siehe ACM Beispiel (hier werden die Bibliographielemente in eine eigene *.bib Datei ausgelagert). Manuell wird dann einmal pdflatex dokument.tex aufgerufen. Dies erzeugt eine dokument.aux Datei. Darauf wird bibtex dokument.aux aufgerufen und dann nochmal zweimal pdflatex dokument.tex. Erst dann sind die Bibliographieelemente richtig im pdf-file.

Weiterführende Hinweise / Links

Generell ist es empfehlenswert, aus dem Uni-Netz heraus nach verwandten Publikationen zu suchen, da man hier Zugriff auf einige Online-Blbliotheken bekommt. Zur Suche empfehlen sich folgende Suchmaschinen und Seiten: