<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Praktikum Automotive Software Engineering: Best Practices</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Michael Uelschen</string-name>
          <email>m.uelschen@hs-osnabrueck.de</email>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Hochschule Osnabrück</string-name>
        </contrib>
      </contrib-group>
      <pub-date>
        <year>2015</year>
      </pub-date>
      <fpage>65</fpage>
      <lpage>72</lpage>
      <abstract>
        <p>Die Entwicklung von Software für Steuergeräte (ECU, electronic control unit) im Fahrzeug unterliegt speziellen Randbedingungen und Vorgehensweisen, die üblicherweise nicht Bestandteil in der einführenden Lehre des Software-Engineering sind. Dieser Beitrag untersucht die Frage, inwieweit die spezifischen Ausprägungen des Automotive Software Engineering (ASE) in der Ausbildung Studierender innerhalb eines Moduls vermittelt werden können. Der vorgestellte Ansatz verzichtet bewusst auf den vollständigen Durchlauf aller Phasen im Entwicklungszyklus und setzt stattdessen einen Schwerpunkt auf spezifische Vorgehensweisen und Methoden bei der Software-Entwicklung im automobilen Bereich.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Zusammenfassung</title>
    </sec>
    <sec id="sec-2">
      <title>Einleitung</title>
      <p>In den folgenden Abschnitten wird zuerst in die
Thematik der Steuergeräte-Entwicklung eingeführt
und die Bedeutung der Ausbildung im Bereich ASE
hervorgehoben. Es werden die Unterschiede zum
generellen Software Engineering herausgestellt.
Aus der arbeitsteiligen Vorgehensweise in der
Automobilindustrie leiten sich Lernziele in Form von
Kompetenzen für ein, im weiteren Verlauf des
Beitrags vorgestelltes, Praktikum an der Hochschule
Osnabrück ab. Die Erfahrungen und
Beobachtungen während des Praktikums für
MechatronikStudierende fließen in Empfehlungen zur
Gestaltung einer entsprechenden Lehreinheit ein.</p>
      <p>
        Hierbei handelt es sich im Allgemeinen um
eingebettete Systeme, die Echtzeitanforderungen
unterliegen. Durch die software-gesteuerte Verknüpfung
von Sensorik und Aktuatorik lassen sich vielfältige
Steuerungs- und Regelungsaufgaben realisieren.
Hierbei gewinnen insbesondere
Fahrerassistenzsysteme wie Parkassistent, Spurwarner oder adaptive
Lichtregelungen zunehmend an Bedeutung
        <xref ref-type="bibr" rid="ref17">(Winner et al., 2012)</xref>
        .
      </p>
      <p>
        Neben dem Entwurf neuer und der Verbesserung
vorhandener Fahrfunktionen ist die Integration von
Infotainment und Multimedia-Anwendungen eine
wachsende Aufgabe des ASE. An der Schnittstelle
zwischen der klassischen Automobilelektronik auf
der einen und der Konsumgüterindustrie auf der
anderen Seite entstehen zahlreiche neue
Herausforderungen, die als Innovation Cycle Dilemma
bezeichnet werden
        <xref ref-type="bibr" rid="ref7">(Lucke et al., 2007)</xref>
        .
      </p>
      <p>
        Aufgrund der vielfältigen Fahrerinformations- und
–assistenzsysteme gewinnt die Entwicklung einer
geeigneten Fahrer-Fahrzeug-Schnittstelle an
Bedeutung, um Informationen situationsabhängig unter
Minimierung möglicher Ablenkungen
bereitzustellen. Die Entwicklung multimodaler
MenschMaschine-Schnittstellen für den Einsatz im
Fahrzeug ist Gegenstand aktueller Forschung und
Entwicklung
        <xref ref-type="bibr" rid="ref10">(Pfleging et al., 2014)</xref>
        .
      </p>
      <sec id="sec-2-1">
        <title>Treiber und Herausforderungen</title>
        <p>
          Broy zeichnet in
          <xref ref-type="bibr" rid="ref2">(Broy, 2006)</xref>
          die evolutionären
Schritte bei der Software-Entwicklung im Fahrzeug
in den letzten 30 Jahren nach. Insbesondere durch
die Einführung von fahrzeugspezifischen
Netzwerken führen die bis zu 100 verteilten
Steuergeräte innerhalb eines Automobils mehrere tausend
Funktionen aus. Moderne Fahrzeuge enthalten
Software bis zu 100 Millionen Codezeilen
(
          <xref ref-type="bibr" rid="ref8">Mössinger, 2010</xref>
          ).
        </p>
        <p>
          Abbildung 1 zeigt die zunehmende Komplexität im
Fahrzeug
          <xref ref-type="bibr" rid="ref4">(Fortiss, 2011)</xref>
          . Zusätzlich ist die
tatsächliche Komplexität skizziert, die nicht aufgrund von
Funktionalitäten, sondern durch Architektur- und
Entwurfsentscheidungen entsteht. Ein Ende dieser
Entwicklung ist zurzeit nicht absehbar. Hierbei
sind die Herausforderungen im Bereich der
Elektromobilität und der unterschiedlichen Stufen des
autonomen Fahrens wesentliche technologische
Treiber. Nach Schäuffele und Zurawka ist das
„Automobil zum technisch komplexesten Konsumgut
geworden“.
        </p>
        <p>
          In
          <xref ref-type="bibr" rid="ref11">(Pretschner et al., 2007)</xref>
          sind die vielfältigen
Herausforderungen des ASE zusammengefasst, die
teilweise auch in anderen Domänen außerhalb der
Automobilindustrie existieren.
        </p>
      </sec>
      <sec id="sec-2-2">
        <title>Bedeutung</title>
        <p>
          Aufgrund der zunehmenden Wertschöpfung im
Fahrzeug durch Software
          <xref ref-type="bibr" rid="ref16">(Weinmann, 2003)</xref>
          ,
nimmt eine systematische Vorgehensweise bei der
Entwicklung von Steuergeräten einen
zunehmenden Stellenwert ein.
        </p>
        <p>Die Automobilindustrie ist einer der wichtigsten
Industriezweige in Deutschland. Die größten
Automobilhersteller und –zulieferer haben hier ihren
Standort (insbesondere aber nicht nur in
BadenWürttemberg und in Bayern) und sind interessante
Arbeitgeber für Ingenieure und Informatiker.
Zusätzlich gibt es eine sehr große Anzahl von, i.allg.
unbekannten, klein- und mittelständischen
Unternehmen (hidden champions), die wichtige
Komponenten entwickeln oder fertigen.</p>
        <p>Eine Berücksichtigung in der Ausbildung
Studierender reflektiert somit die industrielle Relevanz
und entspricht somit dem Anspruch einer
praxisnahen Berufsvorbereitung.</p>
        <p>Neben der Entwicklung von Personen- und
Lastkraftfahrzeugen entsteht inzwischen ein weiterer,
eigenständiger Bereich innerhalb der ASE. Durch
die fortschreitende Industrialisierung in der
Landwirtschaft findet zunehmend die Entwicklung von
Steuergeräten in der Landmaschinentechnik statt.
Diese übernehmen nicht nur reine Fahrfunktionen,
sondern automatisieren agrar-spezifische Prozesse.
Einige der weltgrößten Unternehmen der
Landtechnik sind in der Region Osnabrück und
Nordwestdeutschland ansässig, u.a. Krone, Amazone,
Grimme und Claas.</p>
        <p>Abb. 2: Hierarchie der Automobilzulieferer</p>
      </sec>
      <sec id="sec-2-3">
        <title>Arbeitsteilige Entwicklung</title>
        <p>Die Entwicklung von Fahrzeugen, nicht nur der
Steuergeräte, wird sehr stark durch
Automobilzulieferer getrieben. Abbildung 2 zeigt hierbei eine
dreistufige Hierarchie, bei der an der Spitze der
Automobilhersteller (OEM, Original Equipment
Manufacturer) als Auftraggeber steht. Die
einzelnen Zulieferer ordnen sich in die Schichten Tier 1
bis Tier 3 ein, wobei Unternehmen, die der oberen
beiden Schichten angehören, üblicherweise eine
eigene Fertigung unterhalten.
Entwicklungsdienstleister finden sich in der dritten Schicht wieder. Der
OEM beauftragt einen Zulieferer, für eine
bestimmte Funktionalität ein Steuergerät entsprechend den
Vorgaben eines Lastenheftes zu entwickeln. Der
zeitliche Entwicklungsrahmen wird durch den
Termin des Neuanlaufs eines Fahrzeugs bestimmt.
Aufgrund hoher Umsatzausfälle, die schnell die
Millioneneurogrenze erreichen, ist eine
Verschiebung von Neuanläufen ausgeschlossen,
beispielsweise aufgrund fehlerhafter Software. Zur
Absicherung der Terminplanung und der
Risikominimierung setzt der OEM häufig auf einen zweiten
Anbieter (second source).</p>
        <p>Aufgrund dieses Vorgehens erfolgt die
Entwicklung von Steuergeräten hochgradig parallel sowie
räumlich getrennt bei unterschiedlichen
Zulieferern. Da das neue Fahrzeug erst zu einem sehr
späten Zeitpunkt im Entwicklungsprozess zur
Verfügung steht, ist ein nicht unerheblicher Aufwand
notwendig, um das umgebene System in frühen
Phasen zu simulieren.</p>
      </sec>
      <sec id="sec-2-4">
        <title>Vernetzung</title>
        <p>
          Bei dieser sehr arbeitsteiligen Vorgehensweise in
der Automobilindustrie ist es wichtig, dass die
Schnittstellen der kommunizierenden Steuergeräte
Das AUTOSAR-Rahmenwerk definiert den
grundsätzlichen Aufbau von automobilen
Software-Anwendungen im Fahrzeug
          <xref ref-type="bibr" rid="ref13">(Schäuffele und Zurawka, 2012)</xref>
          .
        </p>
        <p>Das Vorgehensmodell folgt in der
Automobilindustrie dem V-Modell. Dieses wird um mehrere
Iterationen oder Musterstände A bis D ergänzt,
wobei das D-Muster den Serienstand und somit
den Abschluss im Entwicklungsprozess darstellt.
Agile Methoden werden bisher erst sehr wenig
eingesetzt.</p>
        <p>Die Software-Entwicklung im automobilen Bereich
ist zunehmend modellbasiert und wird durch eine
Reihe von proprietären Werkzeugen unterstützt.</p>
      </sec>
      <sec id="sec-2-5">
        <title>Grundlagen</title>
        <p>Für die ASE-Lehre bilden neben
Programmierkenntnissen in der Sprache C/C++ die folgenden
Themenbereiche die Grundlage:


</p>
        <p>Regelungs- und Steuerungstechnik:
Beschreibung kontinuierlicher Systeme
Eingebettete Echtzeitsysteme
o
o
o
o
o
o
o
o</p>
        <sec id="sec-2-5-1">
          <title>Ereignisbasierte und reaktive Systeme</title>
        </sec>
        <sec id="sec-2-5-2">
          <title>Zustandsmaschinen beschreiben</title>
          <p>das dynamische Verhalten</p>
        </sec>
        <sec id="sec-2-5-3">
          <title>Verwendung von Mikrocontrollern mit Peripherie</title>
        </sec>
        <sec id="sec-2-5-4">
          <title>Weiche und harte Echtzeitanforderungen</title>
        </sec>
        <sec id="sec-2-5-5">
          <title>Betriebssysteme: Berücksichtigung zeitlicher Anforderungen durch prioritätenbasiertes Scheduling</title>
        </sec>
        <sec id="sec-2-5-6">
          <title>Topologie/Gateway-Funktionalität</title>
        </sec>
        <sec id="sec-2-5-7">
          <title>Echtzeitfähigkeit</title>
        </sec>
        <sec id="sec-2-5-8">
          <title>Nachrichtenbasierte Kommunika</title>
          <p>
            tion
zu einem sehr frühen Zeitpunkt im
Entwicklungsprozess definiert sind. Die Kommunikation, der an
die verschiedenen Netzwerke (LIN, CAN, FlexRay,
Ethernet) angeschlossenen Komponenten, ist
nachrichtenbasiert. Ein Nachrichtenkatalog beschreibt
die nach außen sichtbare Funktionalität eines
Netzknotens
            <xref ref-type="bibr" rid="ref18">(Zimmermann und Schmidgall, 2014)</xref>
            .
Die Nachrichten verändern den inneren Zustand
eines Steuergeräts, so dass die Modellierung des
Verhaltens neben der reinen Funktionsentwicklung
einen wesentlichen Schwerpunkt bildet. Die
Entwicklung gliedert sich hierbei in mehreren Stufen:
zuerst wird das zu entwickelnde Steuergerät sowie
die beteiligten Netzknoten simuliert. Danach wird
das betreffende Steuergerät durch eine reale
Komponente ersetzt (Restbussimulation). Im letzten
Schritt wird das Steuergerät mit anderen realen
Komponenten im Fahrzeug verbaut und
anschließend erprobt.
          </p>
        </sec>
      </sec>
      <sec id="sec-2-6">
        <title>Generelles Software Engineering</title>
        <p>Im folgenden Abschnitt wird auf weitere
Unterschiede eingegangen, die einen direkten Einfluss
auf die Software-Entwicklung haben.</p>
        <p>
          Grundsätzlich werden im ASE dieselben Aspekte
und Phasen wie im generellen Software
Engineering betrachtet (siehe beispielsweise in
          <xref ref-type="bibr" rid="ref14">(Sommerville, 2012)</xref>
          ). Viele Methoden lassen sich auf die
ECUEntwicklung übertragen.
        </p>
        <p>Neben der Anwendungsdomäne, also den
vielfältigen Fahrfunktionen, ergeben sich Unterschiede u.a.
aufgrund weiterer Randbedingungen:</p>
        <p>Hoher Kosten- und Wettbewerbsdruck
beeinflusst Entwurfsentscheidungen
(beispielsweise geringe Prozessorleistung und
Speicherkapazität).</p>
        <p>
          Unterschiedliche Klimazonen führen zu
rauen Umgebungssituationen, auf die
Hardware und Software reagieren müssen.
Lange Produktzyklenzeiten stellen hohe
Anforderungen an das
Konfigurationsmanagement sowie an die Kompatibilität
(siehe hierzu
          <xref ref-type="bibr" rid="ref12">(Ritter, 2004)</xref>
          ).
        </p>
        <p>Es existiert eine Reihe von Branchenstandards, u.a.
im Bereich der Entwicklungs- sowie
Qualitätsverbesserungsprozesse, der Werkzeuge sowie der
Architekturentwürfe:</p>
        <p>
          Die Software im Fahrzeug unterliegt
zunehmend strengen
Sicherheitsanforderungen, die konform zu ISO 26262 entwickelt
werden muss
          <xref ref-type="bibr" rid="ref5">(Gebhardt et al., 2013)</xref>
          .
        </p>
        <p>
          Die Anstrengungen zur
Qualitätsverbesserung orientieren sich an CMMI
          <xref ref-type="bibr" rid="ref3">(Chrissis et
al., 2011)</xref>
          oder Automotive SPICE
          <xref ref-type="bibr" rid="ref6">(Höhn et
al., 2009)</xref>
          .





        </p>
        <sec id="sec-2-6-1">
          <title>Verteilte Systeme</title>
        </sec>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Möglichkeiten in der Lehre</title>
      <p>Einige Hochschulen in Deutschland bieten einen
spezialisierten Master-Studiengang im Bereich
Automotive Software Engineering an, u.a. die
Universität Chemnitz und die Technische Universität
München. Die Hochschule Landshut bietet einen
Bachelor-Studiengang Automobilinformatik an. In
vielen anderen fahrzeugspezifischen
Studiengängen an Hochschulen in Deutschland ist die
Belegung eines Moduls ASE verpflichtend oder kann
aus dem Wahlpflichtkatalog ausgewählt werden.
Auch fächerübergreifende Studiengänge bieten
eine verstärkte Kompetenzbildung im Bereich
Automotive Software an (beispielsweise
Wirtschaftsingenieurwesen Automotive an der Bergischen
Universität Wuppertal).</p>
      <p>Dieser Beitrag skizziert ein Praktikum, welches
einige Aspekte des ASE vermittelt. Die inhaltlichen
Anforderungen benötigen ein entsprechendes
Vorwissen, so dass in erster Linie
BachelorStudierende im letzten Studienjahr als Teilnehmer
in Frage kommen.</p>
    </sec>
    <sec id="sec-4">
      <title>Beschreibung des Moduls</title>
      <p>Im folgenden Abschnitt wird das Praktikum mit
der begleitenden Vorlesung vorgestellt und die zu
vermittelnden Kompetenzen abgeleitet.</p>
      <sec id="sec-4-1">
        <title>Teilnehmer</title>
        <p>Das Praktikum ist Bestandteil des Moduls Embedded
Systems und Software Engineering für Studierende im
sechssemestrigen Studiengangs Mechatronik an der
Hochschule Osnabrück. Das Modul im fünften
Fachsemester besteht aus einer Vorlesung (2 SWS)
und einem begleitenden Praktikum (2 SWS) und
entspricht 5 Leistungspunkten nach ECTS.
Der Mechatronik-Studiengang an der Hochschule
Osnabrück ist nicht anwendungsspezifisch und in
der Ausbildung breit angelegt. Aufgrund der
eingangs beschriebenen Bedeutung der
Automobilindustrie in der Region Osnabrück werden
Vorgehensweisen, Werkzeuge und Methoden praxisnah
vermittelt.</p>
      </sec>
      <sec id="sec-4-2">
        <title>Lernziele</title>
        <p>
          Aufgrund des Zeitrahmens verzichtet das
Praktikum auf den vollständigen Durchlauf aller Phasen
im Software-Entwicklungsprozess. Stattdessen
werden einzelne Schwerpunkte gesetzt, die sich
aus dem spezifischen automobilen Vorgehen
ergeben. Die nachfolgende Definition von Lernzielen
anhand von Kompetenzfeldern orientiert sich an
der Darstellung von
          <xref ref-type="bibr" rid="ref1">(Böttcher und Thurner, 2011)</xref>
          .
Sachkompetenz
Die Studierenden lernen das Vorgehensmodell in
der Automobilindustrie kennen. Hierbei werden
aufgrund der arbeitsteiligen Fahrzeugentwicklung
die abgeleiteten Konsequenzen verdeutlicht. Neben
einer integrierten Entwicklungsumgebung für das
eingebettete System (µVision, Fa. Keil) wird ein
Werkzeug zur Modellierung verteilter Systeme von
Steuergeräten vermittelt. Dieses Werkzeug
(CANoe, Fa. Vector) kann in unterschiedlichen
Phasen (u.a. im Entwurf, Simulation, Test) des
Entwicklungsprozesses eingesetzt werden.
Methodenkompetenz
Das Praktikum soll insbesondere das Denken in
Schnittstellen als Methode zur Abstraktion und zur
Modularisierung fördern. Die Betrachtung der
einzelnen Steuergeräte als Black Box macht die
Funktionalität an einer Schnittstelle sichtbar und
vermeidet den Blick auf interne Details oder Abläufe in
frühen Phasen der Entwicklung. Dieser Ansatz
reduziert die Komplexität und lässt dadurch große
Software-Systeme handhabbar werden.
        </p>
        <p>Als zweiten Ansatz zur Reduzierung der
Komplexität soll das Denken in Zustandsmaschinen, das
Beschreiben von Verhalten, vertieft werden. Während
Schnittstellen im Allgemeinen nur eine statische
Sicht auf eine Komponente oder System
beschreiben, ist für ein vollständiges Verständnis die
dynamische Sicht entscheidend. Zustandsdiagramme
ggfs. in Kombination mit Sequenzdiagrammen sind
durch die Studierenden hierbei einzusetzen.
Sozialkompetenz
Die arbeitsteilige Entwicklung wird im Praktikum
nachgestellt. Hierzu entwickeln mehrere Teams
unterschiedliche Steuergeräte, die gemeinsam in
ein Fahrzeug integriert werden. Da die Abnahme
des Praktikums hierbei nur als Ganzes erfolgt, sind
die Studierenden aufgefordert, über die eigenen
Teamgrenzen hinweg offene Punkte anzusprechen
und Lösungen gemeinsam zu erarbeiteten. Hierbei
bilden die Schnittstellen üblicherweise die
Reibungspunkte in der Zusammenarbeit. Zudem
müssen die Teams sich zeitlich koordinieren, um
gemeinsame Tests und Erprobungen durchzuführen.</p>
      </sec>
      <sec id="sec-4-3">
        <title>Vorlesung</title>
        <p>Nicht alle der vorgenannten Grundlagen können in
diesem Bachelor-Modul vorausgesetzt werden und
sind daher Bestandteil des ersten Teils der
begleitenden Vorlesung. Die Schwerpunkte sind neben
dem grundsätzlichen Aufbau von Echtzeitsystemen
hierbei: Hardware-nahe Software-Entwicklung und
Betriebssysteme (Scheduling-Verfahren sowie
Zugriff auf gemeinsame Ressourcen).</p>
        <p>Um die Studierenden auf die Bedeutung der
Automobilindustrie in Deutschland hinzuführen,
beginnt der zweite Teil mit einem Exkurs zum Thema
Technologien Made in Germany. Hierbei werden
exemplarisch die Errungenschaften und
Erfindungen von Werner von Siemens (Dynamoelektrisches
Prinzip, 1867), Robert Bosch (Zündkerze, 1902) und
Konrad Zuse (programmgesteuerter Rechner, 1941)
vorgestellt. Hieran schließt sich eine Frage zur
Aktivierung der Studierenden an: Was sind aus Ihrer
Sicht die wichtigsten Erfindungen aus Deutschland der
letzten 30 Jahre?
Nur wenige der Studierenden haben hierzu eine
eigene Vorstellung. Offensichtlich sind die meisten
Technologien wie Suchmaschinen, soziale
Netzwerke oder moderne Mobiltelefone von
amerikanischen Unternehmen erfunden und entwickelt
worden. Nur wenigen Studierenden fällt spontan das
in Deutschland entwickelte MP3-Format (Karlheinz
Brandenburg, 1987) ein. Dass das Controller Area
Network oder abgekürzt CAN (Siegfried Dais und
Uwe Kiencke, 1985) eine deutsche Technologie ist,
die inzwischen in jedem Fahrzeug weltweit
eingesetzt wird, ist den Studierenden unbekannt.
In den nachfolgenden Lehreinheiten werden die
CAN-Bus Grundlagen vermittelt und somit die
Voraussetzungen für das Praktikum geschaffen.</p>
        <p>Abb. 3: Erweitertes Modellfahrzeug mit CAN</p>
      </sec>
      <sec id="sec-4-4">
        <title>Praktikum und Aufgabenstellung</title>
        <p>Eine vollständige Funktionsentwicklung eines
Steuergerätes ist aufgrund der zur Verfügung
stehenden Zeit und der erforderlichen
Voraussetzungen nicht Schwerpunkt des Moduls. Stattdessen
wird ein einfaches Beleuchtungssystem (Blinker,
Fahrlicht, etc.) als anschauliches Beispiel eingesetzt.
Dieses bietet den Vorteil, dass die Anforderungen
einfach darzustellen sind, da viele der
Studierenden einen Führerschein und ggfs. ein eigenes
Fahrzeug besitzen.</p>
        <p>Abbildung 3 zeigt das im Praktikum eingesetzte
Modellfahrzeug (Lego Super Car 8070). Dieses um
eine Lichtsteuerung sowie eine Motoransteuerung
für die Fahrertür erweitert worden. Der
dargestellte Mikrocontroller empfängt über den CAN-Bus
Nachrichten zur Ansteuerung sowie versendet
periodisch Sensordaten (Helligkeit).</p>
        <p>Insgesamt sind 6 Steuergeräte in einer
vereinfachten Ausbaustufe in einem Fahrzeug zu integrieren:





</p>
        <sec id="sec-4-4-1">
          <title>Bedieninstrument</title>
        </sec>
        <sec id="sec-4-4-2">
          <title>Getriebe</title>
        </sec>
        <sec id="sec-4-4-3">
          <title>ABS (Bremse)</title>
        </sec>
        <sec id="sec-4-4-4">
          <title>Zentralverriegelung</title>
        </sec>
        <sec id="sec-4-4-5">
          <title>Zündschloss</title>
        </sec>
        <sec id="sec-4-4-6">
          <title>Licht Die zuletzt aufgeführten ECU werden als Simulation bzw. als eingebettetes System für das Modellfahrzeug vorgegeben. In Abbildung 4 ist der voll</title>
          <p>Abb. 4: Arbeitsteilige Entwicklung im Praktikum
ständige Praktikumsaufbau skizziert. An einem
gemeinsamen CAN-Bus ist das Lego Super Car
8070, die CANoe-Simulation für das Zündschloss
und 4 weitere Steuergeräte angeschlossen, die das
Bedieninstrument, die Zentralverriegelung und das
Getriebe sowie die Bremse realisieren.</p>
          <p>Abb. 5: Anwendungsfälle für Bedieninstrument
Die Phase der Anforderungsanalyse im
Entwicklungsprozess wird durch Vorgabe von
Anwendungsfällen (siehe Abbildung 5) und textuellen
Beschreibungen verkürzt. Nichtsdestotrotz ergeben
sich Spielräume in der Ausgestaltung der
Lichtfunktionen (beispielsweise Abschaltung des
Abblendlichtes während Fernlicht).</p>
          <p>Aus den vorgegebenen Anforderungen haben die
einzelnen Teams das entsprechende Steuergerät zu
entwickeln. Die Realisierung erfolgt in vier Phasen
entsprechend dem in der Automobilindustrie
angewendeten Vorgehen:
1. Vollständige Simulation: die
grundsätzliche Funktionsweise des zu entwickelnden
Steuergeräts wird überprüft und die
Interaktion mit dem Lego Super Car 8070
getestet (siehe Abbildung 6).
2. Reales Steuergerät mit simulierter
Umgebung: die Simulation des zu entwickelnden
Steuergeräts wird durch eine
Implementierung auf einem eingebetteten System
ersetzt.
3. Reale Steuergeräte (ohne Simulation): die
simulierte Umgebung wird durch das
Fahrzeug (Steuergerät für Beleuchtung und
Tür) sowie durch weitere Steuergeräte
ersetzt. Die Zündung wird weiterhin über
CANoe simuliert.
4. Diagnose: Die Funktionalität des
Steuergerätes wird um Möglichkeiten zur Diagnose
erweitert. Hierbei wird in Abhängigkeit
des Steuergerätes auf Anfragen des
Diagnosetesters geantwortet.</p>
          <p>Abb. 6: Modellierung und Simulation mit CANoe
Durch die detaillierte Vorgabe der Anforderungen
können die Studierenden eine manuelle
Verifikation in den unterschiedlichen Phasen ihrer
SoftwareEntwicklung durchführen. Zusätzlich werden
simulierte Komponenten bereitgestellt, so dass Tests
teilautomatisiert werden können.</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Erfahrungen und Empfehlungen</title>
      <p>Die folgenden Abschnitte fassen die
Beobachtungen und Erfahrungen zusammen. Hieraus lassen
sich Empfehlungen für ähnliche Praktika ableiten.</p>
      <sec id="sec-5-1">
        <title>Konzentration auf wenige Aspekte</title>
        <p>Ein häufiger Ansatz in der Lehre als auch in der
Literatur ist die Vorstellung von verschiedenen
Entwicklungsprozessen, vom Wasserfallmodell,
iterative Ansätzen, V-Modell oder agilen Ansätzen.
Hierbei werden die einzelnen Phasen vertieft.
Oftmals werden zusätzlich bestimmte Methoden,
beispielsweise zur Modellierung in UML von
Software, miteingeführt.</p>
        <p>Aus den Lernzielen abgeleitet beschränkt sich die
durchgeführten Praktikumsversuche auf der
Vorstellung sowie der Vertiefung nachfolgender
Aspekte:



</p>
        <p>Die Beschreibung von Verhalten durch
Zustandsmaschinen; hierbei entstehen auch
verteilte Zustandsmaschinen, da der
Systemzustand nicht zentral sondern verteilt
in den einzelnen Netzknoten vorliegt.</p>
        <p>Durch das Zusammenspiel von jeweils drei
Teams ergibt sich eine arbeitsteilige
Entwicklung der Steuergeräte.</p>
        <p>Entwurf von Schnittstellen und die
Umsetzung von Nachrichten für den CAN-Bus.</p>
        <p>Entwurfsprozess: vollständige Simulation
der Netzknoten, Kombination aus einer
Zielhardware und der Restbussimulation
und gemeinsame Integration aller
Steuergeräte.</p>
        <p>Die Fokusbestimmung macht einen
Auswahlprozess notwendig, der auch die Voraussetzungen der
Studierenden berücksichtigt. So kann
beispielsweise bei Informatikern der Schwerpunkt eher auf der
Modellierung von Softwarekomponenten, bei
Ingenieuren ggfs. eher im Bereich der
Steuerungsund Reglungstechnik liegen.</p>
        <sec id="sec-5-1-1">
          <title>Abb. 7: Zustandsmaschine für Blinker</title>
          <p>Abbildung 7 gibt beispielhaft die
Zustandsmaschine für den Blinker mit einer automatischen
Abschaltung wieder. Die Studierenden erlernen aus
einer textuellen Anforderungsbeschreibung das
Verhalten zu modellieren. Ausgehend von
einfachen Zustandsmaschinen werden weiterführende
Methoden (Hierarchie und Historie) vermittelt, so
dass komplexe Verhaltensmuster angemessen
dargestellt werden können.</p>
        </sec>
      </sec>
      <sec id="sec-5-2">
        <title>Dosierter Einsatz von Werkzeugen</title>
        <p>Besonders in der modellbasierten Entwicklung im
automotiven Umfeld existiert eine Reihe von sehr
spezialisierten Werkzeugen. Ohne den
Werkzeugeinsatz ist beispielsweise eine Software Entwicklung
für AUTOSAR-kompatible Komponenten nicht
denkbar.</p>
        <p>Die folgenden Nachteile ergeben sich hieraus:



</p>
        <p>Die Werkzeuge bieten im Allgemeinen
keinen Lernmodus o.ä. an und orientieren sich
an den konkreten Aufgaben in der
beruflichen Praxis. Ein pädagogischer Einstieg ist
nicht möglich.</p>
        <p>Die graphische Bedienschnittstelle ist stark
technisch ausgerichtet und orientiert sich
an den Belangen der Industrie
(Expertenwissen).</p>
        <p>A fool with a tool is still a fool: Aufgrund der
Abstraktion, die Werkzeuge bei der
Entwicklung einführen, verlieren Studierende
Transparenz in ihrem Vorgehen.
Konsequenzen bleiben unklar. Bei Fehlern
funktioniert etwas nicht und eine Ursachensuche
findet dann nicht statt.</p>
        <p>Ein Zwiespalt in der Ausbildung: zum
einen sollen Studierende Methoden und
Kompetenzen erlernen und nicht zum
Werkzeugbediener ausgebildet werden. Zum
anderen soll praxisnah und
berufsbefähigend ausgebildet werden. Hierzu gehören
so dann auch Kenntnisse solcher
industriellen Werkzeuge.</p>
        <p>Schon der zeitliche Aufwand steht einem
verstärkten Einsatz von Werkzeugen im Wege. Viele
Werkzeughersteller bieten 3-5 tägige Schulungen zu
Ihren Produkten an. Diese entspricht ungefähr dem
Umfang einer vollständigen 2 SWS Veranstaltung.
In dem vorliegen Modul werden neben einer
integrierten Entwicklungsumgebung (im Wesentlichen
nur zum Editieren und zum Übersetzen) ein
weiteres Werkzeug CANoe eingesetzt, welches es
ermöglicht, einen typischen Entwicklungszyklus im
Automotive Software Engineering zu durchlaufen.</p>
      </sec>
      <sec id="sec-5-3">
        <title>Verwendung von physischen Modellen</title>
        <p>
          Ein immer wieder nicht zu unterschätzender Faktor
ist die Benutzung von physischen Modellen in der
Ausbildung von Studierenden. Dieser positive
Effekt auf die Motivation der Studierenden wird auch
anderweitig beobachtet
          <xref ref-type="bibr" rid="ref15">(Uelschen und Eikerling,
2011)</xref>
          . In dem Praktikum werden keine realen
Steuergeräte oder Fahrzeugkomponenten entworfen,
sondern dieses wird durch ein Lego-Technik
Modell (siehe Abbildung 8) in sehr einfacher Weise
ersetzt.
        </p>
        <p>Obwohl die Entwicklung und der Test auch
vollständig auf dem Desktop-Rechner in einer
Simulation erfolgen können, hat der Einsatz von
haptischen Modellen Vorteile:
 Die Studierenden werden aus ihrer
Lebenswelt abgeholt. Sie haben die Modelle in
Ihrer Jugendzeit in einer anderen Umgebung
kennengelernt.
 Reale Modelle sind weniger abstrakt als
simulierte Anzeigen auf dem Bildschirm
und verdeutlichen den Studierenden einen
Einsatz in der Praxis.</p>
        <p>
          Das in
          <xref ref-type="bibr" rid="ref9">(Nazareth und Wurm, 2013)</xref>
          verwendete
Modellfahrzeug im Maßstab 1:18 wird als Plattform
zur modellbasierten Entwicklung eingesetzt.
Im Wintersemester 2014/15 ist ein weiteres
Fahrzeugmodell im Praktikum eingesetzt worden (siehe
Abbildung 9), welches teilweise eine alternative
Funktionsweise zur Beleuchtung realisiert
(beispielsweise automatische Rückstellung der Blinker
bei Geradeausfahrt). Zudem ist die Ansteuerung
der LEDs platzsparend auf der Basis Arduino mit
CAN-Shield realisiert.
        </p>
        <p>Abb. 8: Physisches Lichtmodell auf Basis Lego
Abb. 9: Alternativ eingesetztes Lichtmodell
Der vorliegende Beitrag zeigt, wie spezifische
Aspekte des Automotive Software Engineering in
einem Bachelor-Modul integriert werden können.
Der Schwerpunkt liegt hierbei auf der
arbeitsteiligen Entwicklung, den Entwurf von Schnittstellen
und der dynamischen Modellierung mit
Zustandsmaschinen. Bei der Entwicklung von
Steuergeräten zu Ausbildungszwecken kann im
Allgemeinen nicht auf reale Komponenten der
Automobilindustrie zurückgegriffen werden, da die
Schnittstellen nicht öffentlich und notwendige
Informationen beim OEM nicht erhältlich sind.
Stattdessen muss auf einfache Modelle zurückgegriffen
werden.</p>
        <p>Das Praktikum ist in der vorgestellten Weise
inzwischen dreimal erfolgreich durchgeführt worden.
Zukünftig soll die Verifikationsphase vertieft
werden, da sich herausgestellt hat, dass ein
systematischer Test bei den Studierenden insbesondere in
den ersten Phasen verkürzt wird.</p>
        <p>Das Praktikum bietet zudem zahlreiche
Möglichkeiten zur Erweiterungen. Zur Vertiefung von
Zustandsmaschinen kann beispielsweise das
Netzmanagement in die Aufgabenstellung integriert
werden. Die Anforderungsanalyse ist durch die
Vorgabe von konkreten Anwendungsfällen im aktuellen
Praktikum stark verkürzt. Alternativ besteht die
Möglichkeit, die Anforderungen aus der
Straßenverkehrsordnung durch die Studierenden ableiten
zu lassen.</p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>Literatur</title>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          <string-name>
            <surname>Böttcher</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Thurner</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          (
          <year>2011</year>
          )
          <article-title>: Kompetenzorientierte Lehre im Software Engineering</article-title>
          . In: Ludewig,
          <string-name>
            <given-names>J.</given-names>
            ,
            <surname>Böttcher</surname>
          </string-name>
          ,
          <string-name>
            <surname>A.</surname>
          </string-name>
          (Hrsg.),
          <article-title>Software Engineering im Unterricht der Hochschulen (SEUH), München</article-title>
          , CEUR Workshop Proceedings Vol.
          <volume>695</volume>
          , http://ceur-ws.
          <source>org/</source>
          Vol-
          <volume>695</volume>
          /, S.
          <fpage>33</fpage>
          -
          <lpage>39</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          <string-name>
            <surname>Broy</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          (
          <year>2006</year>
          )
          <article-title>: Challenges in Automotive Software Engineering</article-title>
          .
          <source>In: Proceedings of the 28th International Conference on Software Engineering (ICSE '06)</source>
          , ACM, S.
          <fpage>33</fpage>
          -
          <lpage>42</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          <string-name>
            <surname>Chrissis</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Konrad</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Shrum</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          (
          <year>2011</year>
          )
          <article-title>: CMMI for Development: Guidelines for Process Integration and Product Improvement, 3rd edition</article-title>
          , Addison-Wesley.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          <string-name>
            <surname>Fortiss</surname>
          </string-name>
          (
          <year>2011</year>
          )
          <article-title>: Mehr Software (im Wagen)</article-title>
          .
          <article-title>Abschlussbericht des vom Bundesministerium für Wirtschaft und Technologie geförderten Verbundvorhabens eCar-IKT-Systemarchitektur für Elektromobilität</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          <string-name>
            <surname>Gebhardt</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rieger</surname>
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mottok</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gießelbach</surname>
            <given-names>C.</given-names>
          </string-name>
          (
          <year>2013</year>
          )
          <article-title>: Funktionale Sicherheit nach ISO 26262: Ein Praxisleitfaden zur Umsetzung, dpunkt</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          <string-name>
            <surname>Höhn</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sechser</surname>
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dussa-Zieger</surname>
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Messnarz</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hindel</surname>
            <given-names>B.</given-names>
          </string-name>
          (
          <year>2009</year>
          )
          <article-title>: Software Engineering nach Automotive SPICE, dpunkt</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          <string-name>
            <surname>Lucke</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schaper</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Siepen</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Uelschen</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wollborn</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          (
          <year>2007</year>
          ):
          <article-title>The Innovation Cycle Dilemma</article-title>
          . In: Koschke,
          <string-name>
            <given-names>R.</given-names>
            ,
            <surname>Herzog</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            ,
            <surname>Rödiger</surname>
          </string-name>
          , K.-H.,
          <string-name>
            <surname>Ronthaler</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          (Hrsg.),
          <source>INFORMATIK</source>
          <year>2007</year>
          ,
          <article-title>Band 2</article-title>
          ,
          <string-name>
            <surname>S.</surname>
          </string-name>
          526-
          <fpage>530</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          <string-name>
            <surname>Mössinger</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          (
          <year>2010</year>
          )
          <article-title>: Software in Automotive Systems</article-title>
          . In: Software, IEEE, S.
          <fpage>92</fpage>
          -
          <lpage>94</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          <string-name>
            <surname>Nazareth</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wurm</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          (
          <year>2013</year>
          )
          <article-title>: Modellbasierte Entwicklung einer Lichtsteuerung für ein Rapid Prototyping System</article-title>
          . In: Halang,
          <string-name>
            <surname>W.</surname>
          </string-name>
          (Hrsg.),
          <source>Kommunikation unter Echtzeitbedingungen</source>
          , Springer, S.
          <fpage>49</fpage>
          -
          <lpage>58</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          <string-name>
            <surname>Pfleging</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schneegass</surname>
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kern</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schmidt</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          (
          <year>2014</year>
          )
          <article-title>: Vom Transportmittel zum rollenden Computer - Interaktion im Auto</article-title>
          . In: Informatik Spektrum, GI, S.
          <fpage>418</fpage>
          -
          <lpage>422</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          <string-name>
            <surname>Pretschner</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Broy</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Krüger</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Stauner</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          (
          <year>2007</year>
          )
          <article-title>: Software Engineering for Automotive Systems: A Roadmap</article-title>
          .
          <source>In: Future of Software Engineering</source>
          <year>2007</year>
          , IEEE, S.
          <fpage>55</fpage>
          -
          <lpage>71</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          <string-name>
            <surname>Ritter</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          (
          <year>2004</year>
          ):
          <article-title>Software auf der Straße: Herausforderungen des Software-Engineering in der Automobilindustrie</article-title>
          . In: Objektspektrum, 4,
          <string-name>
            <surname>S.</surname>
          </string-name>
          59-
          <fpage>62</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          <string-name>
            <surname>Schäuffele</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zurawka</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          (
          <year>2012</year>
          )
          <article-title>: Automotive Software Engineering: Grundlagen, Prozesse, Methoden und Werkzeuge effizient einsetzen, 5</article-title>
          . Auflage, Springer.
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          <string-name>
            <surname>Sommerville</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          , (
          <year>2012</year>
          )
          <article-title>: Software Engineering, 9</article-title>
          . Auflage, Pearson.
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          <string-name>
            <surname>Uelschen</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Eikerling</surname>
          </string-name>
          , H.-J. (
          <year>2011</year>
          )
          <article-title>: An Introductory Course on Software Engineering on SelfOrganization in Swarm Robotics</article-title>
          .
          <source>In: Proceedings of the 24th Conference on Software Engineering Education and Training (CSEE&amp;T)</source>
          , IEEE, S.
          <fpage>333</fpage>
          -
          <lpage>342</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          <string-name>
            <surname>Weinmann</surname>
            ,
            <given-names>U.</given-names>
          </string-name>
          (
          <year>2003</year>
          ):
          <article-title>Software im Automobil - Anforderungen und Chancen</article-title>
          . In: Siedersleben,
          <string-name>
            <given-names>J.</given-names>
            ,
            <surname>Weber-Wulff</surname>
          </string-name>
          ,
          <string-name>
            <surname>D.</surname>
          </string-name>
          (Hrsg.),
          <source>Software Engineering im Unterricht der Hochschulen (SEUH)</source>
          , dpunkt Verlag, Heidelberg, S. 1-
          <fpage>7</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          <string-name>
            <surname>Winner</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hakuli</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wolf</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          (
          <year>2012</year>
          )
          <article-title>(Hrgs.): Handbuch Fahrerassistenzsysteme , 2</article-title>
          . Auflage Springer.
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          <string-name>
            <given-names>Zimmermann W.</given-names>
            ,
            <surname>Schmidgall</surname>
          </string-name>
          <string-name>
            <surname>R.</surname>
          </string-name>
          (
          <year>2014</year>
          )
          <article-title>: Bussysteme in der Fahrzeugtechnik, 5</article-title>
          . Auflage, Springer.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>