Entwicklung der Funktionssoftware

Am Anfang wird die Funktionssoftware des Fahrzeugs als Gesamtsystem beschrieben. Das Gesamtsystem wird in Teilfunktionalitäten untergliedert, die als SWCs beschrieben werden. Diese SWCs übertragen Informationen (Datenelemente) unter Verwendung definierter Schnittstellen (Ports) an andere SWCs.

Konzeptionell wird dabei die gesamte Kommunikation zwischen den SWCs durch den VFB abgewickelt. Da zu diesem frühen Zeitpunkt noch nicht festgelegt ist, welche Softwarekomponente welchem Steuergerät zugeordnet ist, handelt es sich lediglich um eine logische Ansicht. Der VFB repräsentiert dabei die Kommunikation innerhalb eines Steuergerätes als auch zwischen den Steuergeräten. Die Anwendung hat keine Kenntnis über die darunter liegenden Technologien. Somit ist eine hardwareunabhängige Entwicklung und Nutzung der Anwendersoftware möglich.

Nachdem alle SWCs und Schnittstellen festgelegt und definiert wurden, werden sie auf die entsprechenden Steuergeräte verteilt.

Eine steuergerätespezifische Laufzeitumgebung realisiert dann den Virtual Functional Bus. Die RTE organisiert die Kommunikation zwischen den einzelnen Softwarekomponenten und übernimmt – mit Hilfe des Betriebssystems – die Ausführung der Softwarekomponenten.

Runnable Entity ist die Ausführungseinheit einer Softwarekomponente, die letztlich als C Funktion implementiert wird. Wann ein Runnable Entity aufgerufen wird, wird durch den Entwickler konfiguriert und später durch die RTE realisiert. Dies könnte zum Beispiel zyklisch oder auch spontan beim Empfang eines Datenelementes sein.

Als Kommunikationsschnittstelle sieht AUTOSAR Ports vor. Hierbei werden zwei Verfahren unterschieden:

  • Bei der Sender-Receiver (SR) Kommunikation werden Datenelemente von einer Softwarekomponente zu einer anderen übertragen. Diese Art der Kommunikation wird am häufigsten zwischen Applikationssoftwarekomponenten verwendet.
    Syntaxbeispiel: Rte_Write_<Port_Name>_<Datenenelement_Name>(…)
  • Bei der Client-Server (CS) Kommunikation ruft der Client asynchron oder synchron eine Operation eines Servers auf. Dies ist vergleichbar mit einem Funktionsaufruf und kommt am häufigsten zwischen Applikation und Diensten (Services) der Basissoftware (Diagnose, Speicherverwaltung, …) vor.
    Syntaxbeispiel: Rte_Call_<Port_Name>_<Operations_Name>(…)

Die SWC mit ihren Schnittstellen und Runnables wird in einer spezifisch erstellten SWC Description dokumentiert. AUTOSAR bietet allerdings keine Möglichkeit, das funktionale Verhalten zu beschreiben.




Zuletzt geändert: Dienstag, 10. April 2018, 15:51