Fachartikel. Dipl.-Ing. (FH) Martin Hein. Einführung in



Ähnliche Dokumente
Diplomarbeit. Konzeption und Implementierung einer automatisierten Testumgebung. Thomas Wehrspann. 10. Dezember 2008

Fachdidaktik der Informatik Jörg Depner, Kathrin Gaißer

Lizenzierung von System Center 2012

Produktinformation DaVinci Developer

Primzahlen und RSA-Verschlüsselung

Fassade. Objektbasiertes Strukturmuster. C. Restorff & M. Rohlfing

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress.

Fragen und Antworten

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen

LabView7Express Gerätesteuerung über LAN in einer Client-Serverkonfiguration. 1. Steuerung eines VI über LAN

Robot Karol für Delphi

In 15 einfachen Schritten zum mobilen PC mit Paragon Drive Copy 10 und Microsoft Windows Virtual PC

ICS-Addin. Benutzerhandbuch. Version: 1.0

Dokumentation. Black- und Whitelists. Absenderadressen auf eine Blacklist oder eine Whitelist setzen. Zugriff per Webbrowser

ecaros-update 8.2 Update 8.2 procar informatik AG 1 Stand: DP 02/2014 Eschenweg Weiterstadt

Autorisierung. Sicherheit und Zugriffskontrolle & Erstellen einer Berechtigungskomponente

Daten-Synchronisation zwischen Mozilla Thunderbird (Lightning) / Mozilla Sunbird und dem ZDV Webmailer

SDD System Design Document

1. Einführung. 2. Weitere Konten anlegen

EasyWk DAS Schwimmwettkampfprogramm

SANDBOXIE konfigurieren

1 Mathematische Grundlagen

Virtual Private Network

How-to: Webserver NAT. Securepoint Security System Version 2007nx

Guide DynDNS und Portforwarding

Hilfedatei der Oden$-Börse Stand Juni 2014

Inkrementelles Backup

Handbuch PCI Treiber-Installation

In 12 Schritten zum mobilen PC mit Paragon Drive Copy 11 und Microsoft Windows Virtual PC

Workflow, Business Process Management, 4.Teil

Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER

Speicher in der Cloud

ISA Server 2004 Erstellen eines neuen Netzwerkes - Von Marc Grote

Zeichen bei Zahlen entschlüsseln

5.2 Neue Projekte erstellen

Anbindung LMS an Siemens S7. Information

Task: Nmap Skripte ausführen

Eine Anwendung mit InstantRails 1.7

Übersicht. Was ist FTP? Übertragungsmodi. Sicherheit. Öffentliche FTP-Server. FTP-Software

2 Die Terminaldienste Prüfungsanforderungen von Microsoft: Lernziele:

3D Visualisierung von UML Umgebungsmodellen

Anlegen eines SendAs/RecieveAs Benutzer unter Exchange 2003, 2007 und 2010

Tutorial Windows XP SP2 verteilen

Man liest sich: POP3/IMAP

Dokumentation für die software für zahnärzte der procedia GmbH Onlinedokumentation

Jederzeit Ordnung halten

Powermanager Server- Client- Installation

ANYWHERE Zugriff von externen Arbeitsplätzen

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

Codex Newsletter. Allgemeines. Programm-Neuerungen: Codex Newsletter. auf unserer Homepage. GAEB-Projekte mit mehreren Stamm-Leistungen:

Content Management System mit INTREXX 2002.

Technical Note ewon über DSL & VPN mit einander verbinden

2.1 Erstellung einer Gutschrift über den vollen Rechnungsbetrag

Upgrade auf die Standalone Editionen von Acronis Backup & Recovery 10. Technische Informationen (White Paper)

Warum beschäftigt sich ein Linux-Systemhaus mit der Installation von OTRS mit einem Microsoft SQL Server?

Verwendung des Terminalservers der MUG

Design Pattern - Strukturmuster. CAS SWE - OOAD Marco Hunziker Klaus Imfeld Frédéric Bächler Marcel Lüthi

Übung: Verwendung von Java-Threads

Anforderungen an die HIS

Einführung in. Logische Schaltungen

Windows 8 Lizenzierung in Szenarien

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

Persönliches Adressbuch

.htaccess HOWTO. zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage

L10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016

Firewalls für Lexware Info Service konfigurieren

impact ordering Info Produktkonfigurator

Skript Pilotphase für Arbeitsgelegenheiten

Tipps und Tricks zur Installation von Java-basierten Programmen auf Handys

SharePoint-Migration.docx

IT- Wir machen das! Leistungskatalog. M3B Service GmbH Alter Sportplatz Lake Schmallenberg

infach Geld FBV Ihr Weg zum finanzellen Erfolg Florian Mock

OP-LOG

Anleitung zur Nutzung des SharePort Utility

Qt-Projekte mit Visual Studio 2005

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

Eigenen WSUS Server mit dem UNI WSUS Server Synchronisieren

Schritt-Schritt-Anleitung zum mobilen PC mit Paragon Drive Copy 10 und VMware Player

Multicheck Schülerumfrage 2013

AUTOSAR. Robert Neue. PG AutoLab Seminarwochenende Oktober AutoLab

Sommaire. OLF KUNDENDIENST von 9h00 bis 17h30 von Montag bis Freitag

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein.

Organisation des Qualitätsmanagements

schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv

Support-Ticket-System. - Anleitung zur Benutzung -

Grundfunktionen und Bedienung

INFORMATION MONITOR HSM SOFTWARE GMBH CLIENT-INSTALLATION

Was ist PDF? Portable Document Format, von Adobe Systems entwickelt Multiplattformfähigkeit,

Das große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten

IAC-BOX Netzwerkintegration. IAC-BOX Netzwerkintegration IACBOX.COM. Version Deutsch

2. Einrichtung der ODBC-Schnittstelle aus orgamax (für 32-bit-Anwendungen)

Typisierung des Replikationsplan Wirries, Denis Datenbankspezialist

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken.

Software Engineering. Sommersemester 2012, Dr. Andreas Metzger

Herzlich Willkommen bei der nfon GmbH

Transkript:

Fachartikel Dipl.-Ing. (FH) Martin Hein Einführung in Autor: Martin Hein, Dipl.-Ing. (FH) Informations- und Medientechnik Firma: TZM, Robert-Bosch-Straße 6, D-73037 Göppingen Datum: 12. Dezember 2012

Inhaltsverzeichnis 1 Einführung 2 1.1 Überblick........................................ 2 1.2 Entstehungsgeschichte und Ziele von AUTOSAR................... 2 2 Grundlagen 4 2.1 Das Schichtenmodell.................................. 4 2.2 Planung und Virtual Function Bus........................... 5 2.3 Softwarecomponent, Runnables und Ports...................... 5 2.4 Runtime Environment................................. 7 2.5 Basicsoftware..................................... 8 3 Fazit 11 1

1 Einführung 1.1 Überblick Der AUTomotive Open System ARchitecture (AUTOSAR) Standard wird neben FlexRay sicherlich eine immer größere Bedeutung für die Elektrik/Elektronik-Architektur (E/E-Architektur) zukünftiger Automobile gewinnen. Daher sollten sich Fachkräfte in der Automobilindustrie, die sich mit der Entwicklung von Fahrerassistenzsystemen (FAS) und verwandten Themengebieten beschäftigen, zumindest mit den grundlegenden Konzepten dieses Standards vertraut machen. Der vorliegende Artikel möchte hierfür als Einstiegspunkt dienen. Zunächst wird in einem kurzen Überblick die Entstehungsgeschichte und Zielsetzung von AUTOSAR beleuchtet. Im Anschluss daran werden einige grundlegende Begriffe des Standards, zum Beispiel das Run Time Environment (RTE), vorgestellt. Viele wichtige Aspekte müssen leider unberücksichtigt bleiben, da sonst der Rahmen des Artikels gesprengt würde. Vor allem die AUTOSAR Methodology wird nur ganz am Rand angesprochen, wäre jedoch für sich alleine bereits einen Artikel wert. Inhaltlich stützt sich der Artikel auf Schulungsunterlagen von Vektor Informatik und Informationen die frei auf der AUTOSAR-Hompage verfügbar sind. 1.2 Entstehungsgeschichte und Ziele von AUTOSAR Die Anforderungen durch Kunden und Gesetzgebung an die Automobilindustrie (OEM) und deren direkten Zulieferer (Tier 1) sind im Laufe der Zeit immer weiter gewachsen. Vor allem der Wunsch nach mehr Komfort, Sicherheit und Umweltschutz ist enorm gestiegen. Um den gleichermaßen erhöhten Anforderungen an die E/E-Architektur besser begegnen zu können, haben sich im Jahr 2002 eine Reihe von OEMs und Tier 1 zu einer Entwicklungspartnerschaft zusammengeschlossen. In den darauf folgenden Jahren sind weitere Firmen der Gemeinschaft in verschiedenen Zugehörigkeitsgruppen beigetreten. Abbildung 1.1 zeigt eine kleine Auswahl der heute zur AUTOSAR-Gemeinschaft gehörenden Firmen. Eine vollständige Liste ist auf der Internetpräsenz von AUTOSAR (www.autosar.org) zu finden. Durch die gestiegenen Anforderungen sehen sich die Automobilhersteller zum Teil noch heute mit einer ganzen Reihe von Problemen konfrontiert. Im Folgenden sind einige davon aufgeführt: Die traditionell eingesetzte ISO/OSEK Softwarearchitektur bietet den Anwendungen keine volle Hardwareunabhängigkeit. Anwendungen besitzen keine hinreichende Modularität. Die Wiederverwendbarkeit von Codeteilen ist stark eingeschränkt. Die Wartung und Erweiterung von Anwendungen gestaltet sich schwierig. Ziel von AUTOSAR ist es, eine modulare Softwarearchitektur mit standardisierten Schnittstellen zu etablieren, bei der die Anwendung von der Hardware unabhängig ist. Darüber hinaus sollen Tech- 2

nologien, die als Stand der Technik anzusehen sind, für alle Anwender einheitlich, in Form eines Standard-Stacks, zur Verfügung gestellt werden. Denn es ist nicht sinnvoll, dass jeder Hersteller für Standardkomponenten jeweils eigene Implementierungen vorhält. Ein Beispiel ist der Softwaretreiber für CAN-Controller. Mit einer eigenen Implementierung ließe sich mittlerweile kein Vorteil (im Sinne von Innovation oder Kostenreduktion) mehr erreichen. Mit kundenerlebbaren Funktionen dagegen schon. Daher werden diese im Gegensatz zum einfachen Treiber vom OEM oder dessen Tier 1 eigenständig implementiert. Ein Slogan der AUTOSAR-Gemeinschaft lautet aus diesem Grund: Cooperate on standards - compete on implementation. Abbildung 1.1: Firmen der Entwicklungsgemeinschaft AUTOSAR 1 Durch die Umsetzung der im vorangegangenen Abschnitt vorgestellten Ziele wird erreicht, dass sämtliche Softwaremodule austauschbar und einfach wiederverwendbar sind. Mithilfe dieser beiden Eigenschaften kann das Gesamtsoftwaresystem mit relativ geringem Aufwand für verschiedene Fahrzeugtypen und Plattformvarianten skaliert werden. Zudem lassen Softwaremodule verschiedener Zulieferer kombinieren. Zum Erreichen dieser Anforderungen wird ein großer Teil eines nach dem AUTOSAR-Standard erstellten Softwaresystems nicht klassisch programmiert, sondern mithilfe von Softwaretools konfiguriert. Für den einheitlichen Austausch zwischen OEM und TIER 1 spezifiziert AUTOSAR für die Konfiguration eine Reihe von Austauschformate auf XML-Basis. Aus dieser einheitlichen Konfigurationsbeschreibung wird ein Software-Grundgerüst (Skeleton) generiert. Ein weiterer Benefit dieses Vorgehens ist die höhere Qualität des generierten Sourcecodes, denn bei den Generatoren handelt es sich in der Regel um vielfach getestete Werkzeuge. 1 Quelle(abgerufen am: 12. Dezember 2012): http://www.cvel.clemson.edu/auto/aue835_projects_2010/ allen_project.html 3

2 Grundlagen 2.1 Das Schichtenmodell Der AUTOSAR-Standard legt eine in Schichten organisierte Softwarearchitektur fest. In Abbildung 2.1 ist eine stark vereinfachte Form des Schichtenmodells dargestellt. Der Vollständigkeit halber ist die unterlagerte Hardware als eigene Schicht eingezeichnet, diese findet jedoch im Rahmen dieses Artikels keine Beachtung. Abbildung 2.1: Schichtenmodell des AUTOSAR-Standards Wie bereits im Abschnitt Entstehungsgeschichte und Ziele von AUTOSAR erwähnt, besitzt jede Schicht standardisierte Schnittstellen zu der jeweils darüber bzw. darunter gelegenen Schicht. Ähnlich dem ISO/OSI-Schichtenmodell ist auch hier nicht erlaubt bzw. möglich, dass eine Schicht auf die Schnittstellen einer ihr nicht direkt benachbarten Schicht zugreift. AUTOSAR kennt drei Arten von Schnittstellen zwischen den einzelnen Schichten und deren Komponenten. Dabei ist durch den Standard festgelegt, welche Schnittstellen eine bestimmte Komponente anbieten muss. AUTOSAR Interface: Der Aufbau dieser Schnittstellen ist im AUTOSAR-Standard durch die Vorgabe von Mustern für den Aufbau der Funktionsprototypen festgelegt. Ein Beispiel hierfür ist das folgende Muster eines Funktionsprototypen für Sender/Receiver-Ports: Rte_Write_<Port>_<Data>(...) Standardized Interface: Standardized Interfaces sind einfache C-APIs. Der Aufbau der Funktionsprototypen ist durch den AUTOSAR-Standard fest vorgegeben. Ein Beispiel hierfür ist die Funktion Schedule(). Standardized AUTOSAR Interface: Der Aufbau von Standardized AUTOSAR Interfaces ist mit denen von AUTOSAR Interfaces identisch. Der Unterschied liegt in der Verwendung dieser Schnittstellen. Sie werden ausschließlich von den Servicekomponenten der Basissoftware angeboten. Daher spricht man bei ihnen auch von Service-Ports. 4

2.2 Planung und Virtual Function Bus Bei der Erstellung eines AUTOSAR-konformen Softwaresystems für ein Steuergerätecluster werden in einem ersten Planungsschritt unter anderem alle benötigten Softwarekomponenten (SW-C) und die zwischen ihnen notwendigen Kommunikationskanäle festgelegt. Dabei ergibt sich eine Struktur wie sie beispielhaft in Abbildung 2.2 dargestellt ist. Abbildung 2.2: Der Virtual Function Bus mit Softwarekomponenten Zu diesem Zeitpunkt ist die Verteilung der SW-Cs auf die einzelnen Steuergeräte (ECU) noch nicht festgelegt. Der unter den SW-Cs eingezeichnete Virtual Function Bus (VFB) symbolisiert folglich sowohl die Kommunikation zwischen SW-Cs, die auf derselben als auch auf unterschiedlichen ECUs laufen. Im Anschluss an diesen Planungsschritt werden die SW-Cs auf die einzelnen ECUs verteilt. Die folgenden Abschnitte widmen sich der Erläuterung von Fachtermini, die im vorangegangenen Text und in den Abbildungen erwähnt, aber nicht näher betrachtet worden sind. 2.3 Softwarecomponent, Runnables und Ports Bei einer SW-C handelt es sich um ein atomares 2 Softwaremodul. Es sind die Puzzleteile aus denen sich die eigentliche Applikation zusammensetzt. AUTOSAR kennt unterschiedliche Arten von SWCs: Application SW-C: Eine Application SW-C implementiert einen bestimmten Algorithmus. Somit handelt es sich um einen Baustein, der durch Verknüpfung mit anderen Application SW-Cs zur Lösung komplexer Ausgabenverwendet wird. Diese Art von SW-C ist völlig hardwareunabhängig und kann fast beliebig auf ECUs verteilt werden. Sensor/Actuator SW-C: Bei den Sensor/Actuator SW-Cs handelt es sich um Softwarebausteine, die einen Sensor oder Aktuator auf der SWC-Ebene abbilden. Sie haben ein Verständnis über den Ihnen zugeordneten Sensor bzw. Aktuator. Zwar sind sie nicht an die ECU gebunden an dem der zugehörige Sensor angeschlossen ist, werden aber aus Performancegründen meistens auf ihr platziert. 2 Atomar bedeutet in diesem Zusammenhang, dass eine SWC nicht auf unterschiedliche Steuergeräte aufgeteilt werden kann 5

Compositions SW-C: Composition SW-Cs dienen lediglich der Strukturierung auf Toolebene. Mit ihnen können logisch zusammengehörende Application- und Sensor/Actuator-SWCs zusammengefasst werden. Eine Composition ist nicht atomar. In ihr enthaltene SW-Cs können also beliebig auf unterschiedliche Steuergeräte verteilt werden. SW-Cs bestehen aus einer oder mehreren Runnables. Dabei handelt es sich um C-Funktionen, die die eigentliche Implementierung der Algorithmen enthalten. Folglich sind sie die ausführbaren Einheiten einer SW-C. Die Runnables werden durch die im nächsten Abschnitt beschriebene RTE aufgerufen. Dies geschieht entweder periodisch oder event-getriggert. Zudem werden die Runnables einer Task des in der Basissoftware (BSW) angesiedelten Betriebsystems zugeordnet. Ports dienen den Softwarekomponenten als Kommunikationsschnittstelle. Es sind die Endpunkte der im vorherigen Abschnitt angesprochenen Kommunikationskanäle. AUTOSAR unterscheidet zwischen Ports für das Sender/Receiver und das Client/Server Kommunikationmuster: Sender/Receiver-Port: Sender/Receiver-Ports repräsentieren Datenelemente. Falls die Übertragung der Daten über einen physikalischen Bus erfolgt, müssen die einzelnen Datenelemente einem Netzwerksignal zugeordnet werden. Mit den Sender/Receiver-Ports wird eine asynchrone, unidirektionale Eins-zu-N- oder N-zu-Eins-Kommunikation realisiert. Die RTE verbirgt den oder die Empfänger vor dem Sender, sodass sich dieser nicht um das Management der Empfänger kümmern muss. Durch diese Art der Kommunikation wird eine einfache Übertragung von unabhängig in der Sender-SWC generierten Daten an den oder die Empfänger realisiert. Bei den Datenelementen kann es sich sowohl um einfache (int, double etc.) als auch um komplexe Datentypen (struct, array etc.) handeln. Client/Server-Port: Bei der Client-Server-Kommunikation handelt es sich um eine Eins-zu-Eins- oder N-zu-Eins- Kommunikation. Der Client ruft eine Operation (runnable) in der Server-SW-C auf. Dieser Aufruf kann aus Sicht des Client blockierend (synchron) oder nicht blockiernd (asynchron) erfolgen. Beim blockierenden Aufruf wartet die Client-SW-C auf die Antwort der Server-SW- C. Beim nicht blockierenden Aufruf läuft die Client-SW-C weiter, während sie auf die Antwort wartet. Ein Client-Server-Port kann mehrere von einander unabhängig aufrufbare Operationen anbieten. Wie bei den Sender/Receiver-Ports ist neben der ECU-internen auch die Kommunikation zwischen SW-Cs auf unterschiedlichen ECUs möglich. Unabhängig vom verwendeten Kommunikationsmuster unterscheidet man zudem zwischen dem Provide-Port (PPort), über den eine SW-C eine Operation oder ein Datenelement anbietet, und dem Require-Port (RPort), mit dessen Hilfe eine SW-C eine Operation aufrufen oder auf ein Datenelement zugreifen kann. 6

Sämtliche Aspekte einer SW-C werden formal in der SW-C Description zusammengefasst. Mithilfe dieser Beschreibung wird später unter Verwendung weiterer Beschreibungsdateien ein AUTOSARkonformes Software-Grundgerüst generiert. Dafür enthält die SW-C Description die folgenden Informationen: Attribute von Operationen und Datenelementen (zum Beispiel blockierend/nicht-blockierend oder die Datenlänge) die von der SW-C zur Verfügung gestellt oder benötigt werden. Die Anforderungen der SW-C an die unterlagerte Infrastruktur (RTE und BSW). Die von der SW-C benötigten Ressourcen. Zum Bespiel CPU-Zeit und Speicherbedarf. Informationen zur Implementierung der SW-C Der grundsätzliche Aufbau einer SW-C-Description Datei wird durch das Software Component Template vorgegeben. 2.4 Runtime Environment Das Runtime Environment (RTE) ist unter anderem die Implementierung des VFBs. Dazu müssen (wie im vorletzten Abschnitt beschrieben) zunächst die SW-Cs auf die einzelnen ECUs verteilt werden, denn das logische Konstrukt des VFBs zerfällt bei der Implementierung in einzelne, steuergerätespezifische RTEs (siehe Abbildung 2.3). Abbildung 2.3: Implementierung des VFB durch das RunTime Environment In diesem Zusammenhang übernimmt das RTE die Rolle einer Middleware. Bei einer Middleware handelt es sich um eine fortgeschrittene Art der Interprozesskommunikation. Sie ermöglicht unter- 7

schiedlichen Softwaremodulen einen Datenaustausch, ohne etwas über den Kommunikationspartner wissen zu müssen. Dazu greifen die einzelnen Softwaremodule auf standardisierte Schnittstellen der Middleware zu. Man kann sich eine Middleware daher als virtuelles Bussystem vorstellen. Folglich interessiert es auch nicht, ob sich der Kommunikationspartner im gleichen oder auf einem anderen ECU befindet. Darüber hinaus ist die RTE für das Ausführen der einzelnen Runnables verantwortlich. Die SWCs sind durch die RTE vollständig von der BSW und damit vom Betriebsystem getrennt. Die Runnables werden bei ihrer Konfiguration einer Task des Betriebsystems zugeordnet. Die RTE erhält dadurch Codeabschnitte, die durch die Tasks des OS ausgeführt werden und ihrerseits die einzelnen Runnables aufrufen. Dieser Sachverhalt ist in Abbildung 2.4 dargestellt. Zudem können Runnables beim Auftreten von Kommunikationsevents zur Ausführung gebracht werden. Abbildung 2.4: Aufruf von Runnables aus der Basis Software Die RTE eines jeden ECU ist zwar aus Entwicklersicht skalierbar, wird jedoch schlussendlich durch Werkzeuge statisch generiert. Das bedeutet auch, dass die RTE bei einer Änderung an der Kommunikation zwischen SWCs neu generiert werden muss. 2.5 Basicsoftware In klassisch erstellter ECU-Software wird viel Aufwand bei der Implementierung und Optimierung von Software betrieben, die als Basis für kundenerlebbare Funktionen fungieren. Durch die Verwendung einer einheitlichen Basissoftware wird nicht nur der Entwicklungsaufwand reduziert, sondern auch die Softwarequalität erhöht. Der Fokus der Entwicklung kann zu großen Teilen auf kundenerlebbare Funktionen gelenkt werden. Daher sind weite Bereiche der BSW durch den AUTOSAR Standard spezifiziert und werden mittels entsprechender Tools konfiguriert und anschließend generiert. Die BSW ist in vier Schichten unterteilt, die ihrerseits eine Reihe von Komponenten zur Erfüllung der jeweiligen Aufgaben enthalten. Abbildung 2.5 zeigt, wie die Schichten (blau hervorgehoben) ineinander greifen. 8

Microcontroller Abstraction Layer: Das Microcontroller Abstraction Layer (MCAL) sorgt mit seiner standardisierten Schnittstelle zur nächst höheren Softwareschicht für die Unabhängigkeit vom unterlagerten Microcontroller. Ziel ist es, unabhängig von der Verfügbarkeit eines bestimmten Microcontrollers zu werden, denn ein Austausch des Microcontrollers bedeutet in klassischen Systemen einen erheblichen Aufwand bei der Anpassung des gesamten Softwarestacks. Durch die Unabhängigkeit vom unterlagerten Microcontroller kann dieser bei gestiegenen Anforderungen zudem einfacher ausgetauscht werden. Das MCAL als microcontrollerspezifische Schicht wird im Normalfall vom Hersteller der Microcontroller geliefert. Sie kapselt alle controllerspezifischen Eigenheiten. Dazu zählt unter anderem die von Controller zu Controller unterschiedliche Handhabung von Schnittstellen aller Art. Als Beispiel sind hier vor allem die digitalen und analogen Ein- und Ausgänge und die Speicheranbindung zu nennen. Abbildung 2.5: Die Schichten der Basis Software ECU Abstraction Layer: Das ECU Abstraction Layer kapselt die als Peripherie an den Microcontroller des ECU angebundene Hardware. Damit werden die darüber gelegenen Schichten unabhängig von der Lage der Peripherie (auf dem oder außerhalb des Microcontroller-ICs). Es kann sich dabei beispielsweise um Schaltungen (ASICs etc.) handeln, die Sensorsignale für den Microcontroller oder vom Microcontroller generierte Signale für Aktuatoren aufbereiten. Auch ICs für die Anbindung an verschiedene Bussysteme gehören in diese Kategorie. Durch diese Schicht wird in Verbindung mit der MCAL die gesamte Hardware des Steuergeräts abstrahiert. Service Layer: Das Service Layer ist die oberste Schicht der BSW und in weiten Teilen hardwareunabhängig. Sie umfasst Servicekomponenten für die einheitliche Kommunikation über Bussysteme, das Speichermanagement und System Services. Complex Device Driver: Die Complex Device Driver bieten die Möglichkeit, spezielle Software in den AUTOSAR- Stack zu integrieren. Einzige Anforderung ist, dass standardkonforme Schnittstellen angeboten werden. 9

Bei dieser Art von Software kann es sich beispielsweise um die Anbindung komplexer Sensoren oder Aktuatoren handeln, die einen direkten Zugriff auf die Microcontroller-Hardware erfordern. Ein anderer Grund für die Implementierung von Software als Complex Device Driver kann die Verwendung eines ASICs sein, für den der AUTOSAR-Stack keine Funktionalität bietet. Darüber hinaus sind Complex Device Driver als Migrationpfad gedacht, damit OEMs und Zulieferer nicht gezwungen sind, vorhandene Implementierungen sofort komplett nach AU- TOSAR zu portieren. 10

3 Fazit Wie bereits in der Einführung des Artikels erwähnt, gewinnt AUTOSAR immer mehr Bedeutung bei der Entwicklung von Software für ECUs. Dieser Prozess ist gerechtfertigt, denn nicht zuletzt durch das modulare Konzept, die klare Definition von Schnittstellen und einer einheitlichen, durchgängigen Beschreibung mittels XML-basierter Dateien handelt es sich um einen zukunftsträchtigen Standard. Damit ermöglicht der Standard eine in weiten Teilen toolgestützte Entwicklun. Dies ist der Qualität der erzeugten Software zuträglich. Auch wenn dieser Artikel sicherlich viele der zu den Grundlagen von AUTOSAR gehörenden Aspekte unbehandelt lässt, hoffe ich, einen Einblick in die Welt von AUTOSAR gegeben zu haben. Kritik, Richtigstellungen und sonstige Anmerkungen nehme ich gern per E-Mail entgegen (martin.hein@tzm.de). 11