Autosar

AUTOSAR (AUTomotive Open System ARchitecture) är en öppen och standardiserad programvara utvecklad gemensamt av biltillverkare, underleverantörer och verktygsutvecklare av styrenheter d.v.s. elektroniksystem för bilar.

Bakgrund 
I slutet av 1900-talet ökade antalet datoriserade funktioner i fordonen. Principen var att för varje större funktion användes en elektronisk styrenhet (fordon) ECU (Electronic Control Unit) där man i en "elektronikbox" byggde in en mikrodator som förutom styrprogram hade anslutningar till olika sensorer som mätte de tillstånd som behövdes för styrningen och olika aktuerare vilka fysiskt utförde styrningen genom att öppna ventiler, skapa rörelser mm. Sådana styrenheter fanns för t.ex. motorstyrning, automatväxel, antisladdsystem, krockkuddesystem och klimatsystem. Styrenheternas programvara och hårdvara var starkt ihopkopplade vilket gjorde att programvaran inte enkelt kunde flyttas till en annan hårdvara. Vissa styrenheter utbytte information med varandra, vanligen med ett datornätverk (fordon), t.ex. motorstyrning och automatväxel.

Under 2000-talet ökade antalet styrenheter kraftigt samtidigt som beroendet mellan dem blev alltmer komplext. Allt fler insåg det ohållbara inför framtiden. 2002 samlades en mindre grupp och skissade de tankar som 2003 skulle resultera i ett formellt Autosar-samarbete.

Arkitektur 
Autosar är en programvara som är tänkt att finnas i en eller flera styrenheter i ett fordon. Autosar delar upp styrenhetens programvaror i:
 En hårdvaruoberoende applikationsdel som hanterar de logiska funktionerna och där konkurrens mellan fordonsleverantörer råder.
 En hårdvaruberoende del (infrastruktur) där den fysiska hanteringen av sensorer och aktuerare sker och konkurrens mellan ECU-leverantörer råder.
 En driftmiljö där de två delarna ovan kan kommunicera med varandra.

Applikationsdel - Software Components 
Här kan finnas tre typer av programkomponenter:
 "Application Software Components" där styrningen av ett system finns t.ex. hur ett larmsystem eller antisladdsystem ska agera.
 "Sensor Software Components". Dessa initierar en sensoravläsning och tar hand om resultatet t.ex. hämtar en temperatur eller en acceleration från ett gyro.
 "Aktuator Software Components". Dessa initierar  varje aktuerare t.ex. fyller en bromscylinder eller vrider en ventilationslucka.
Programkomponenterna kan utnyttja en mängd definierade gränssnitt mot den hårdvaruberoende delen mot sensorer, aktuerare, operativsystem och även specialutvecklade hårdvarusystem. Autosar kräver att varje programkomponent finns i endast en styrenhet i fordonet. Programkomponenterna innehåller även beskrivningar av de dataelement som kommuniceras, kraven på infrastrukturen och resurskraven på ECU:n.
Programkomponenterna är helt oberoende av vilken mikrodator som används och vilken ECU de körs i.

Hårdvarudel - Standard Software 
Denna programvara är anpassad till den typ av styrenhet den använder. Här sker omvandlingen mellan applikationens data när det gäller sensorer och aktuerare t.ex. hastighet i km/t och sensorns spänningspulser för varje tand i framhjulets kuggkrans. Vidare standardiserade anrop till det operativsystem som ECU:n använder.

Här finns även Autosars basprogramvara (basic software) som erbjuder servicen till applikationsprogrammen. Basprogramvaran hanterar bl.a.:
 Diagnostik, minnesbehov mm.
 Kommunikation i fordonets datornätverk såsom Local Interconnect Network (LIN), Controller Area Network (CAN) och Media Oriented Systems Transport (MOST).
 Övriga specialfunktioner som "device drivers" och "micro controller abstractions".

Driftmiljö - Runtime Environment - RTE 
Detta är en slags buss (Virtual Function Bus) som länkar samman applikations- och hårdvaru-delarna genom standardiserade gränssnitt.

Utvecklingsmiljö 
Autosar kräver flera steg i utvecklingen. På marknaden finns även verktygslådor för hela kedjan från definition, programmering, simulering, testning till certifiering.

Konsekvenser 
Autosar innebär att man kan sprida ut programmen på flera olika styrenheter i fordonet och utnyttja befintlig kapacitet. Eller samla flera program i en större styrenhet. Samtidigt kan underleverantörer specialisera sig på hårdvarudelen med sensorer och aktuerare medan programleverantörer kan få en miljö där deras lösningar passar i alla fordon med Autosar. Man kan konkurrera med funktioner som ger kundvärde medan man samarbetar med infrastrukturen. 

Många tänker sig en framtid där man marknadsför "appar" som kan utnyttja befintliga sensorer och aktuerare för att skapa nya funktioner. Jfr. appar för smarta mobiler. Exempelvis en app som kan ta emot ett SMS med flightnummer, sedan kontakta flygplatsen för att få förväntad landning samt slutligen starta motorvärmaren lagom för att man har en varm bil när man kommer till sin parkering. Andra exempel är "trimningsappar" där man själv kan anpassa motorstyrningen till de effekter man vill nå inom ramen för garantier och föreskrifter.

De flesta större fordonstillverkarna var 2013 anslutna i någon form till Autosars organisation . Fördelarna har jämförts med vad Windows betydde för persondatorerna . Bedömare förutspår en gradvis övergång under många år. Den verkliga takten döljs delvis av att produktutvecklingen är sekretessbelagd hos leverantörerna. Men 2009 var 81% av alla producerade bilar tillverkade av medlemmar i Autosar-samarbetet .

Kritiker menar  att Autosar ger mindre effektiva lösningar eftersom en "overhead-kapacitet" i minne och processorkraft krävs, att tidskritiska situationer kan uppstå och att det kanske skapar alltför mycket standard som tynger mer än det underlättar. Man tror även att säkerhetskritiska system t.ex. antisladd- och krockkuddesystem lämnas utanför till att börja med.

Andra nackdelar med Autosar är att det inte är lämpat för att flera utvecklare samtidigt jobbar med systemet utan förlitar sig på att ändringar görs i sekvens snarare än parallellt. Detta förlänger utvecklingstiden, ökar kostnaden och komplexiteten för system som valt att jobba med Autosar. Möjligheten att använda styrkorna i en versionshanterare för att sammanställa ändringar som gjorts i olika delar är också begränsad vilket gör att Autosar lämpar sig bättre för små enkla projekt snarare än större och mer komplexa industriprojekt.

Se även 
 IT-arkitektur
 Application Programming Interface
 Sensor
 Aktuerare
 Styrenhet (fordon)
 Operativsystem
 Datornätverk (fordon)
 CAN. Avancerat och snabbt nätverk. Här ges exempel på mer avancerade styrenheter i ett fordon som kan klara att köra Autosar.
 LIN. Enkelt och långsamt nätverk. Här ges exempel på enklare styrenheter som ej klarar att köra Autosar.
 MOST. Nätverk för "infotainmentapplikationer".

Källor 

Fordonsteknik
Datornätverk