Real-Time and Embedded Systems

Seminar Echtzeitsysteme und eingebettete Systeme

Sinn dieses Seminars ist es, sich mit einem Themengebiet aus dem Bereich der Echtzeitsysteme und eingebetteten Systeme 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 praktizieren, 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 in zwei Varianten angeboten, als Bachelor-Modul (Inf-Sem-Echtz, Univis-Eintrag, Modulbeschreibung) und als Master/Diplom-Modul (MSS1101, Univis-Eintrag, Modulbeschreibung). Im Vergleich zum Bachelorseminar erwartet das Masterseminar eine größere Einbeziehung von verwandten Arbeiten, und dementsprechend eine umfangreichere Ausarbeitung und Präsentation (siehe unten).

Voraussetzungen:

Für Diplomstudierende ist das Vordiplom Voraussetzung für die Teilnahme am Seminar.

Das Seminar baut auf Inhalten aus der Vorlesung "Entwurf eingebetteter Echtzeitsysteme" und dem zugehörigen Skript (siehe http://leeseshia.org) auf. Seminarteilnehmern, welche diese Vorlesung nicht gehört haben, wird empfohlen, das Skript zumindest hinsichtlich der für ihr jeweiliges Hauptpaper relavanter Inhalte durchzuarbeiten.

Dozenten:

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

Themen

Bereits reservierte Papers sind durch Voranstellung des Vortragenden gekennzeichnet. Links auf externe PDFs sind u.U. nur vom Uninetz aus zugänglich.

1. Florian Echternkamp: David Broman, Michael Zimmer, Yooseong Kim, Hokeun Kim, Jian Cai, Aviral Shrivastava, Steven A. Edwards, Edward A. Lee. "Precision Timed Infrastructure: Design Challenges". To appear in the Proceedings of the Electronic System Level Synthesis Conference (ESLsyn 2013), 2013. PDF hier

2. Luca Lovisa: Björn Lisper, Andreas Ermedahl, Dietmar Schreiner, Jens Knoop, Peter Gliwa. "Practical experiences of applying source-level WCET flow analysis to industrial code". International Journal on Software Tools for Technology Transfer, February 2013, Volume 15, Issue 1, pp 53-63. PDF hier

3. Enno Schwanke: Jinwoo Kim, Hyunok Oh, Junchul Choi, Hyojin Ha, Soonhoi Ha. "A novel analytical method for worst case response time estimation of distributed embedded systems". Proceedings of the 50th annual design automation conference, Article No.129 - DAC'13.  PDF hier

4. Alexander Schulz-Rosengarten: Aayush Prakash, Hiren D. Patel. "An instruction scratchpad memory allocation for the precision timed architecture". Design, Automation Test in Europe Conference Exhibition (DATE), 2012, pages 659-664. PDF hier

5. Annika Pooch: Haohan Li, Sanjoy Baruah. "Global mixed-criticality scheduling on multiprocessors". 24th Euromicro Conference on Real-Time Systems (ECRTS), 2012, pages 166-175. Outstanding Paper Award.  PDF hier

6. Nis Wechselberg: Sidharta Andalam, Alain Girault, Roopak Sinha, Partha Roop, Jan Reineke. "Precise timing analysis for direct-mapped caches". Proceedings of the 50th Annual Design Automation Conference, Article No. 148 - DAC'13. PDF hier

7. Neel Peters: Yasmina Abdeddaïm, Damien Masson. "Real-Time Scheduling of energy harvesting embedded systems with timed automata", 18th International Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA), 2012 IEEE, pages 31-40. PDF hier

8. Stanislaw Nasin: Thomas Henzinger, Benjamin Horowitz, Christoph Kirsch. "Giotto: A Time-Triggered Language for Embedded Programming", Proceedings of the IEEE, vol. 91, no. 1, Jan. 2003, pp. 84-99 PDF hier

9. Stefan Pohl: Adam Lackorzynski, Alexander Warg, Marcus Völp, Hermann Härtig, "Flattening Hierarchical Scheduling", Proceedings of the tenth ACM international conference on Embedded software (Emsoft'12), pages 93-102,  PDF hier

10. Hannes Strubel: Luís Nogueira, Luís Miguel Pinho, "Server-based Scheduling of Parallel Real-Time Tasks", Proceedings of the tenth ACM international conference on Embedded software (Emsoft'12), pages 73-82, PDF hier

11. Andre Rohden: Patricia López Cueva, Aurélie Bertaux, Alexandre Termier, Jean François Méhaut, Miguel Santana, "Debugging Embedded Multimedia Application Traces through Periodic Pattern Mining", Proceedings of the tenth ACM international conference on Embedded software (Emsoft'12), pages 13-22, PDF hier

12. Christian Risch: John C. Eidson, Edward A. Lee, Slobodan Matic, Sanjit A. Seshia, Jia Zou, "Distributed Real-Time Software for Cyber-Physical Systems", Proceedings of the IEEE (special issue on CPS), 100(1): 45-59, January 2012 PDF hier

13. Lennart Langenhop: Mirko Conrad, G. Sandmann und P. Munier, "Software Tool Qualification According to ISO 26262.", SAE 2011 World Congress, Detroit, MI, USA, April 2011, SAE Techn. Paper. 2011, PDF hier - Bei diesem Thema sollte neben dem genannten Paper auch die Frage behandelt werden, warum Software Tool Qualification für den Bereich Echtzeitsysteme und Eingebettete Systeme relevant sein kann.

14. Huping Ding, Yun Liang, Tulika Mitra, "WCET-centric partial instruction cache locking", DAC 2012, PDF hier

Termine:

Mo. 28.10.

12:00 Uhr, CAP 4, 1304a

Vorbesprechung
Mi. 30.10.
Frist für Themenauswahl (per Mail an Dozenten)
Mo. 4.11.

12:00 Uhr, CAP4, 1304a

LaTeX / Git Kurzeinführung
Mo. 18.11. 12:00 Uhr Abgabe Ausarbeitungsgerüst (Abstract, Einleitung, Gliederung, Stichworte, Bibliographie)
Di. 19.11.
Individualtermine, für Terminabsprache bitte Dozenten ansprechen
Mo. 9.12. 12:00 Uhr Abgabe Erstversion der vollständigen Ausarbeitung
Di. 10.12.
Individualtermine, für Terminabsprache bitte Dozenten ansprechen
Mo. 16.12. 12:00 Uhr

Abgabe der Review-Version der Ausarbeitung 

Mo. 16.12.
Zuordnung Ausarbeitungen/Reviewer (per E-mail)
Fr. 20.12. 12:00 Uhr Abgabe der Reviews

Mo. 27.1.

12:00 Uhr Abgabe der Vortragsfolien und Handoutfolien (siehe unten)
Di. 28.1.
Individualtermine, für Terminabsprache bitte Dozenten ansprechen
Mo. 3.2. 12:00 Uhr Abgabe der Endversionen der Vortragsfolien, der Handoutfolien und der Ausarbeitung, anschließend Druck der Proceedings (incl. Ausarbeitungen und Vortragsfolien).
Fr. 7.2. ganztägig Blockseminar mit Vorträgen

 

Proceedings: 

Ausarbeitungen mit Vortragsfolien

Blockseminar

Das Blockseminar findet im Ostseejugenddorf Falckenstein statt (Falkenhorst 6, 24159 Kiel-Friedrichsort, Tel.: 0431/7757038), im Raum "Fördeblick". Agenda:

Agenda
Zeit Person/en Thema
08:00  Alle Mitfahrer Treffen im Foyer Hochhaus
08:30 Alle Treffen im Jugenddorf Falckenstein
08:55 Dozenten Begrüßung
09:00 Hannes Strubel Entwurf eines Schedulers für Echtzeittasks
09:30 Annika Pooch Scheduling von Mixed-Criticality Tasks auf Mehrkern-Prozessoren
10:00 Neel Peters Real-Time Scheduling von energiegewinnenden Systemen mit Realzeitautomaten
10:30 Andre Rohden Debuggen von eingebetteten Mutimedia-Systemen mittels Periodic Pattern Mining
11:00 Alle Kaffeepause
11:15 Enno Schwanke

Die Scheduling Time Bound Analysis zur Abschätzung der Worst Case Response Time in verteilten eingebetteten Systemen

11:45 Luca Lovisa

Praktische Erfahrungen bei der Anwendung Sourcecode-basierter WCET-Analyse auf industriellen Code

12:15 Nis Wechselberg Vergleich von Algorithmen zur Timing-Analyse von Caches
13:00 Alle Mittagspause + Strandspaziergang (Schuhe/Kleidung entsprechend bedenken)
14:15

Stefan Pohl

Abflachung von hierarchischem Scheduling

14:45 Florian Echternkamp Precision Timed Infrastructure: Herausforderungen eines Entwurfs
15:15 Alexander Schulz-Rosengarten Automatisierte Scratchpad-Speicher Allokation auf einer PRET-Architektur
15:45 Alle Kaffee + Kuchen
16:15 Christian Risch Modellierung verteilter Echtzeitsysteme mittels PTIDES für Cyberphysische Systeme
16:45 Stanislaw Nasin Giotto: A Time-Triggered Language for Embedded Programming
17:30 Lennart Langenhop Softwaretool-Qualification gemäß der ISO 26262
18:15 Dozenten Schlussworte

 

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 (Master/Diplom) bzw. 4 (Bachelor) Seiten umfassen, nicht mehr und nicht weniger, und den ACM LaTeX-Style verwenden. Für mögliche Vorlagen zu den Ausarbeitungen siehe die Proceedings der früheren Seminare. Auch empfehlenswert ist ein Blick in die Hinweise für die Anfertigung einer Abschlussarbeit.

Der Vortrag soll 40 Minuten (Master/Diplom) bzw. 25 Minuten (Bachelor) lang sein. Das Vortragsprogramm wird etwas zusätzliche Zeit für Fragen (5 min) einplanen. Zu dem Vortrag sollen aussagekräftige Folien erstellt werden, 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 einer elektronisch annotierten PDF-Version der Review-Version der Ausarbeitung. Die Annotationen bestehen aus:

  1. Generellen Anmerkungen (mind. 1/2 Seite) - was gefällt Ihnen/gefällt Ihnen nicht, zu Inhalt, Gliederung und Lesbarkeit sowie generelle Verbesserungsvorschläge etc., z.B. als Textbox am Anfang des PDFs eingefügt, und
  2. Detaillierteren Korrekturen.

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.

Beispiele zur Ausarbeitung und zu Vortragsfolien finden sich in den Proceedings früherer Seminare. 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>/sem13ws-<login>.[tex/pdf]
  • Vortragsfolien: <login>/sem13ws-<login>-talk.[tex/pdf]
  • Handoutfolien - ohne Animationen, für Ausdrucke und die Proceedings: <login>/sem13ws-<login>-handout.[tex/pdf]
  • Review: <login review-Empfänger>/sem13ws-<login review-Empfänger>-review-<login Reviewer>.[pdf] (Beispiel also: cds reviewt ima und checkt das review-PDF mit dem Namen sem13ws-ima-review-cds.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. Es werden jeweils Teilnoten für die einzelnen Meilensteine (Versionen der Ausarbeitung, Reviews, Folien, Vortrag) vergeben, aus denen sich die Endnote zusammensetzt. 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 ist eine Registrierung in Stash erforderlich. Danach muss einer der Seminarverantwortlichen benachrichtigt werden, damit die Zugriffsrechte eingerichtet werden können.
  • Git-Repository auschecken: git clone ssh://git@git.rtsys.informatik.uni-kiel.de:7999/sem/13ws-rt-emb.git
    • Um die Erstellung der Proceedings zu erleichtern, richten Sie sich bitte nach den oben beschriebenen Namenskonventionen.
  • Texlipse Latex Eclipse Plugin: http://texlipse.sourceforge.net/
    • URL kann direkt als Eclipse update site benutzt werden
    • Bei der Erstellung eines neuen Texlipse Projektes im New-Wizard auf pdf als Ausgabeformat umstellen und pdflatex benutzen (siehe unten)
  • 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!)
    • Texlipse unterstützt ein sehr ausführliches "figure" template (irgendwo figure tippen und Strg-Leertaste drücken)
    • Von der Kommandozeile aus kann ein pdf mit "rubber -d sem13ws-<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.

    • Texlipse ruft pdflatex und bibtex in den richtigen Reihenfolgen automatisch auf.
    • Texlipse unterstützt sehr schöne Templates und Autovervollständigung für Bibliographie: Im *.bib file "@" tippen und Strg+Leertaste drücken, dann bekommt man eine Auswahl aller möglichen Bibliographielemente angezeigt. Entsprechend im .tex-File "\cite{}" Tippen, dort öffnet die Autovervollständigung eine Liste aller vorhandenen bib-Einträge

     

Weiterführende Hinweise / Links