Intern
    Technische Informatik (1993-2023)

    Seminar: Eingebettete Systeme (SS2012)

    Übersicht

    Ein eingebettetes System (engl. embedded system) ist ein informationsverarbeitendes System, das aus Hard- und Software besteht und in einen technischen Kontext eingebunden (eingebettet) ist.  Diese komplexen Systeme haben aufgrund ihrer hohen Integrationsdichte mittlerweile - und für den Benutzer weitestgehend unsichtbar - in zahlreiche Produkte des täglichen Bedarfs Einzug gehalten, etwa in Haushaltsgeräte, Automobile oder Unterhaltungselektronik. Ihr primärer Zweck liegt dabei aber meist nicht in der Verarbeitung und Aufbereitung von Information, sondern vielmehr sind diese "Kleinrechner" zuständig für die Steuerung, Regelung oder Überwachung des Systems, in dem sie eingebettet sind, oder sie sorgen für die Filterung und (De)Codierung von Daten bzw. Signalen.

    Die effiziente und modulare Programmierung eingebetteter Systeme erfordert zunehmend den Einsatz geeigneter Betriebssysteme. Vor allem im Automobilbereich haben sich (zwangsweise) Standards etabliert, die eine ökonomische und Hersteller-übergreifende Entwicklung von Software-Modulen erst ermöglicht. Besonderes Augenmerk liegt hier in der Echtzeitfähigkeit des Betriebssystems, da bei sicherheitskritischen Komponenten eine verzögerte Verarbeitung von Sensordaten tödlich sein kann (z.B. Auslösen des Airbags). Ebenfalls teilweise standardisiert ist die Kommunikation zwischen eingebetteten Systemen, was die Koordination verschiedener Module untereinander und die Anbindung und Ansteuerung von Peripheriekomponenten enorm vereinfacht und deren Einsatz damit erleichtert. Allerdings gibt es je nach Anwendung unterschiedliche Anforderungen an das zu verwendende Kommunikationssystem, z.B. hohe Bandbreite vs. kurze Latenzzeiten. 

    Organisatorisches

    Das Seminar findet immer donnerstags um 12:00 Uhr in SE III statt. Als Vortragsthemen stehen dabei die nachfolgend aufgeführten Themen ab sofort zur Verfügung. Wer Interesse an der Bearbeitung eines der angegebenen Themen hat, kann sich dieses bereits im Vorfeld (per Email oder persönlich bei Clemens Mühlberger) oder auch erst in der Einführungsveranstaltung am 19.04.2012 reservieren lassen. Dieses Seminar ist auch für den Bachelor-Studiengang geeignet!

    Zu jedem Thema soll in Einzelarbeit ein etwa 30- bis 45-minütiger Vortrag sowie eine schriftliche Ausarbeitung im Umfang von ca. 10 Seiten im LCNS-Format erstellt werden. Der Vortrag soll dann zu einem noch festzulegenden Termin vor den Teilnehmern des Seminars präsentiert werden. Bei den Vorträgen gilt i.Ü. Anwesenheitspflicht für alle Teilnehmer. Zudem ist spätestens eine Woche vor dem jeweiligen Vortragstermin ein Probevortrag vor dem Betreuer verpflichtend. Der entsprechende Betreuer steht bei Fragen, die während der Einarbeitung und Vortragserstellung auftauchen, gerne zur Verfügung! Die Vorträge und Vorlagen zur Ausarbeitung stehen für die Seminarteilnehmer auf der WueCampus-Seite des Seminars bereit. Der dafür notwendige Zugangsschlüssel wird in der Einführungsveranstaltung bekannt gegeben.

    Um die Einarbeitung in die jeweiligen Vortragsthemen zu erleichtern, werden zusätzlich für jedes Thema Literaturvorschläge zur Verfügung gestellt. Allerdings müssen die Seminarteilnehmer auch eine eigene Literaturrecherche anstrengen! Neben der Uni-Bibliothek können dabei folgende Zitatsammlungen hilfreich sein:

    Die erfolgreiche Teilnahme (d.h. kontinuierliche Anwesenheit, Probevortrag, Vortrag und Ausarbeitung) wird durch einen Leistungsschein bzw. ECTS-Punkte belohnt. Für weitere Auskünfte steht der jeweilige Betreuer gerne zur Verfügung!

    Themen- und Terminübersicht

    Einführungsveranstaltung

    Termin: 19.04.2012
    Vortragender: Clemens Mühlberger

    In dieser Einführungsveranstaltung werden einige, für das Seminar wesentliche Begriffe (z.B. Eingebettetes System, Betriebssystem, ...) kurz erläutert, sowie die bereitgestellten Themen vorgestellt. Eine Themenreservierung ist ebenso möglich, sowie die Erörterung des organisatorischen Ablaufs.

    Symmetriereduktion bei BDD-basiertem Model Checking - vergeben

    Betreuer:  Ch. Appold
    Termin: 26.04.2012 

    Symbolisches Model Checking mit BDDs ist eine Verifikationstechnik, die schon häufig erfolgreich in der Industrie eingesetzt wurde. Eines der Hauptprobleme dieser Technik ist es, dass die BDDs beim Model Checking häufig intraktabel groß werden. Eine Technik zur Abmilderung dieses Problems für Systeme mit replizierten Komponenten die Symmetrien aufweisen ist die Symmetriereduktion. In diesem Vortrag sollen Symmetriereduktionstechniken für symbolisches Model Checking mit BDDs vorgestellt werden.

    Serielle Datenbusse für einfache Sensoren und Aktoren - vergeben

    Betreuer: C. Mühlberger
    Termin: 10.05.2012 

    Häufig bestehen eingebettete Systeme nur aus einem Mikrocontroller und wenigen Sensoren und/oder Aktoren. Für derartige Konstellationen bietet sich für die Anbindung der Peripheriekomponenten an den Mikrocontroller das  Master-Slave-Prinzip an, wobei der Mikrocontroller idealerweise die Rolle des Masters übernimmt. In diesem Vortrag sollen daher zwei relativ einfach gebaute seriellen Datenbusse vorgestellt werden: das Serial Peripheral Interface (SPI), und der Inter-Integrated Circuit (I2C), die beide nach dem o.g. Master-Slave-Prinzip arbeiten. 

    Feldbusse im Automotive-Bereich - vergeben  

    Betreuer: C. Mühlberger
    Termin: 14.06.2012

    Bei der Koordination vieler Sensoren und Aktoren spielen Feldbusse eine elementare Rolle. Besonders im Automobilbereich kommen sicherheitskritische Ereignisse vor, die spezielle Anforderungen an ein derartiges Kommunikationssystem stellen. So möchte man ein serielles, deterministisches und fehlertolerantes Feldbussystem, das dennoch bei höheren Übertragungsrate ausfallsicher und Echtzeit-fähig ist. Typische Vertreter sind Controller Area Network (CAN),  Local Interconnect Network (LIN) und FlexRay. In diesem Vortrag soll ein solches Bussystem aus dem Automobil-Bereich vorgestellt werden.

    Serielle Schnittstelle am PC - vergeben

    Betreuer: C. Mühlberger
    Termin: 31.05.2012  

    Die (früher) bei Computern sehr verbreitete Schnittstelle zur digitalen, seriellen Kommunikation mit Peripheriegeräten ist die sog. Serielle Schnittstelle. Meist realisiert ein sog. Universal Asynchronous Receiver Transmitter (UART) als elektronisches Bauteil diese Schnittstelle. Als Standard kommt bei Computern meist RS-232 zum Einsatz. In diesem Vortrag soll die Funktionsweise der Seriellen Schnittstelle vorgestellt werden.

    Industrial Ethernet - vergeben

    Betreuer: C. Mühlberger
    Termin: 14.06.2012 

    Mittlerweile haben sich in der Industrie auf  TCP/IP und IT-Standards basierte Kommunikationssysteme im offenen Industrial Ethernet Standard etabliert. Bekannte Vertreter sind das mittlerweile in der dritten Generation verfügbare SErial Realtime COmmunication System (SERCOS III), sowie das PROcess FIeld NETwork (PROFINET). In diesem Vortrag soll anhand eines der o.g. Vertreter der Industrial Ethernet Standard vorgestellt werden.

    OSEK-OS - vergeben

    Betreuer: C. Mühlberger
    Termin: 24.05.2012  

    Müssen - wie z.B. in einem modernen Automobil - verschiedenste eingebettete Systeme koordiniert zusammenarbeiten, bedarf es einheitlicher Beschreibungs- und Konfigurationsformate. Dazu wurde OSEK-OS (eine vom OSEK-Konsortium verabschiedete Spezifikation) sowie dessen "Nachfolger"  AUTomotive Open System ARchitecture (AUTOSAR) als Standard für Echtzeitbetriebssysteme etabliert. Solche Standards ermöglichen den einfachen  Austausch von Software auf verschiedenen Steuergeräten, indem sie Methoden zur Beschreibung von Softwarekomponenten bereitstellt, so dass diese Komponenten wieder verwendbar, austauschbar, skalierbar und integrierbar sind. In diesem Vortrag soll ein OSEK-konformes Betriebssystem vorgestellt werden.  

    FreeRTOS - vergeben 

    Betreuer: C. Mühlberger
    Termin: 05.07.2012   

    Dass sich Open-Source Software und deren kommerzieller Einsatz nicht ausschließen müssen, zeigt das  Echtzeitbetriebssystem FreeRTOS. Es basiert auf einem Mikrokernel und wurde bereits für zahlreiche Mikrocontroller portiert. Allerdings fehlt es FreeRTOS an wichtigen Synchronisationsmechanismen. Dieser Vortrag soll das Open-Source-Betriebssystem FreeRTOS vorstellen.

    ChorusOS - vergeben

    Betreuer: C. Mühlberger
    Termin: 21.06.2012   

    Ein weiteres Echtzeitbetriebssystem, das auf den  Kategorien Verteilte Systeme, Adaptive Systeme und Chaos fußt, ist ChorusOS. Dank dessen Design und Technologie erlaubt es den Bau offener, verteilter und skalierbarer Betriebssysteme. Die modulare Architektur basiert auf dem Nucleus Mikrokernel und erlaubt die dynamische Konfiguration von System und Anwendungen. ChorusOS bzw. der Nucleus Kernel sollen in diesem Vortrag vorgestellt werden.

    QNX - vergeben

    Betreuer: C. Mühlberger
    Termin: 28.06.2012

    Speziell auf eingebettete Systeme ausgerichtet ist QNX. Dieses  unix-artige Echtzeitbetriebssystem ist zwar proprietär, aber dennoch POSIX-fähig, d.h. es versteht die Spezifikation des Portable Operating System Interface. In diesem Vortrag soll QNX vorgestellt werden.

    VxWorks - vergeben

    Betreuer: C. Mühlberger
    Termin: 19.07.2012   

    Ein ebenfalls proprietäres Echtzeitbetriebssystem für eingebettete Systeme ist VxWorks. Dieses Betriebssystem findet hauptsächlich in Kleingeräten (Fotoapparat, Netzwerk-Infrastruktur, Maschinensteuerung, etc.) Anwendung und soll in diesem Vortrag vorgestellt werden.

    Effiziente Implementierung einer Virtualisierungslösung - vergeben

    Betreuer: C. Mühlberger
    Termin: 12.07.2012  

    Die immer leistungsfähigeren Mikrocontroller erlauben mittlerweile selbst in eingebetteten Systemen den Einsatz sog. virtueller Maschinen. Dabei stellt die Binary Translation eine der effektivsten Emulations-Methoden dar. Dazu werden Instruktionsfolgen der virtuellen Maschine in den Instruktionssatz der Zielmaschine übertragen. Eine Virtualisierungssoftware die dies anbietet ist z.B. VmWare. In diesem Vortrag soll eine effiziente Implementierung (der Hardware-Ansteuerung) einer virtuellen Maschine für eingebettete Systeme vorgestellt werden.