Modellbahnpraktikum

Vertiefende Übung / Fortgeschrittenenpraktikum (4/8 SWS), Sommersemester 2007
Lehrstuhl für Echtzeitsysteme und Eingebettete Systeme


E-Mail-Verteiler: p-realtimesystems

Vorbesprechungen:
Fr. 02.02.2007, 12:15 Uhr, CAP4 1118 (Hochhaus, 11. Stock)
Do. 29.03.2007, 12:15 Uhr, CAP4 1118 (Hochhaus, 11. Stock)

Zeit:  jeweils nach Vereinbarung,  Raum: WSP1 - R.011; UnivIS: 4SWS - 8SWS

Dozent: Hauke Fuhrmann

Projekt Webseite: https://rtsys.informatik.uni-kiel.de/cgi-bin/trac.cgi

Das Praktikum wird angerechnet als:

  • Diplomstudiengang: Fortgeschrittenenpraktikum (4 oder 8 SWS)
  • Bachelor Studiengang: Aufbaumodul 5.3 - Fortgeschrittenenpraktikum (4 SWS)
  • Master Studiengang: Masterpraktikum (4 SWS)

 

 

Inhalt

Als Feldbuslabor betreibt die Arbeitsgruppe eine große Modellbahnanlage. Ausführliche Informationen hierzu finden Sie auf der Modellbahn-Webseite: http://www.informatik.uni-kiel.de/~railway/

Bei diesem Praktikum geht es darum, im Rahmen eines größeren, zusammenhängenden Projektes unter Verwendung industrietypischer Werkzeuge und Entwurfsprozesse Erfahrungen im Entwurf eines komplexen Echtzeitsystems zu gewinnen.
Die Anwendung ist vorgegeben: es soll eine Eisenbahnsteuerung entworfen werden, welche in der Lage ist, eine Reihe von Zügen fernzusteuern. Dabei gilt es, eine Reihe von typischen Echtzeitanforderungen zu erfüllen:

  • Safety - Züge dürfen nicht kollidieren;
  • Liveness - Züge dürfen sich nicht gegenseitig blockieren;
  • Timeliness - Es soll ein bestimmter Fahrplan eingehalten werden.

Weiterhin ist vorgegeben, dass der Entwurfsprozess modellbasiert sein soll.

Das heisst hier, es soll nicht nur Steuersoftware entwickelt werden, welche dann unmittelbar in der konkreten Anwendung getestet wird, sondern es soll zunächst ein Modell der Steuersoftware (System under Development, SUD) sowie der zu steuernden Umgebung (Environment) entworfen werden. Dieser Ansatz bietet eine Reihe von Vorteilen:

  • Das SUD kann zunächst simuliert und validiert werden, am Rechner und unter reproduzierbaren Bedingungen, unter voller Kontrolle über das Environment incl. variabler Zeitskalen.
  • Das Verhalten des Steuerprogramms ist am Modell generell besser nachvollziehbar als in der Realität.
  • Das Steuerprogramm lässt sich generell automatisch aus dem Modell synthetisieren.
  • Je nach Modellierungssprache lassen sich bestimmte Eigenschaften formal nachweisen.

 

Hinweise zum Ablauf des Praktikums:

  • Die Arbeit soll in Zweier- oder Dreierteams abgewickelt werden.
  • Es soll regelmäßig über den Fortschritt der Arbeiten berichtet und diskutiert werden, am Schluss des Projektes soll eine kurze Präsentation und Vorführung auf der Modelleisenbahn gegeben werden.
  • Das Praktikum ist für dieses Semester auf 4 bzw. 8 Semesterwochenstunden ausgelegt. Bei 8 Semesterwochenstunden sind die Anforderungen entsprechend höher.

Deliverables:

  • Nach der ersten Praktikumswoche: Projektbeschreibung (ca. 1 Seite), mit Beschreibung der gewählten Schwerpunktsetzung, des zeitlichen Ablaufs, und ca. drei selbstdefinierten Meilensteinen.
  • Je Meilenstein: kurze Präsentation (20 min), gegebenenfalls Demonstration auf Modelleisenbahn; hierbei sollen erzielte Ergebnisse vorgestellt werden und evt. aufgetretene Probleme diskutiert werden.
  • Am Semesterende: Projektbericht (dieser kann aus annotierten Präsentationsfolien bestehen) sowie erstellte Modelle.

Die Eisenbahnanlage wird mit völlig neuer - zum Teil in einer Diplomarbeit hier am Lehrstuhl selbst entwickelter - Hardware ausgestattet.

Die Eisenbahnanlage ist in Blöcke unteteilt, von denen jeweils zwei von einer Leistungselektronik angesteuert werden. Eine Leistungselektronikplatine steuert dabei die folgenden Dinge

  • Fahrstrom für 2 Gleisabschnitte
  • 4 Weichen
  • 4 Signale (jeweils bis zu 3 LEDs)
  • 4 Reedkontaktpaare

Zur Ansteuerung der gesamten Bahn werden 24 Leistungselektroniken verwendet.

Die Leistungselektroniken werden über eine serielle Schnittstelle über ein einfaches Protokoll angesteuert. Konkret übernimmt ein kleiner Rechnerknoten (Motorola PowerPC 555) die Ansteuerung der Leistungselektronik. Ein Rechnerknoten steuert dabei 3 Leistungselektroniken an - ein PortExtender erweitert die serielle Schnittstelle des Rechnerknotens auf 3. Die Rechnerknoten kommunizieren über das Time-Triggered Protocol (TTP), sind also untereinander über einen TTP-Bus vernetzt und können somit die Daten ihrer Blöcke auf der Bahnanlage austauschen oder Befehle zur Steuerung entgegennehmen.

Insgesamt 8 TTP Knoten steuern somit 24 Leistungselektroniken, die die komplette Bahnanlage lenken und überwachen.

Aufgabe wird die Modellbasierte Entwicklung dieses verteilten Echtzeitsystems sein. Modellierungswerkzeuge wie Matlab/Simulink oder Esterel Technologies SCADE erlauben die komfortable Modellierung von verteilten Systemen, die über TTP miteinander kommunizieren. Low-Level Entwicklungen bleiben dem Entwickler durch die Synthesefunktionen der Werkzeuge weitestegehend erspart. Dennoch soll ein detaillierter Einblick auch in eben diese Syntheseprozesse gewonnen werden, um gegebenenfalls auf Fehler manuell reagieren zu können.

Architekutr