Ohjelmistokehityksen mahdollisuudet ja haasteet tulevaisuuden

Aalto-yliopisto
Perustieteiden korkeakoulu
Informaatioverkostojen koulutusohjelma
Ohjelmistokehityksen mahdollisuudet ja
haasteet tulevaisuuden autoissa
Kandidaatinty¨
o
7. joulukuuta 2014
Miika Ruissalo
¨
KANDIDAATINTYON
¨
TIIVISTELMA
Aalto-yliopisto
Perustieteiden korkeakoulu
Informaatioverkostojen koulutusohjelma
Tekij¨
a:
Ty¨
on nimi:
P¨
aiv¨
ays:
Sivum¨
a¨
ar¨
a:
P¨
a¨
aaine:
Koodi:
Miika Ruissalo
Ohjelmistokehityksen mahdollisuudet ja haasteet tulevaisuuden
autoissa
7. joulukuuta 2014
23
Informaatioverkostot
SCI3026
Vastuuopettaja: Vanhempi yliopistonlehtori Stina Giesecke
Tyo
¨n ohjaaja(t): Prof. Jukka K. Nurminen (Tietotekniikan laitos)
Autonkehityksen painopiste on siirtym¨ass¨a laitteistoista ohjelmistoihin. Nykyaikaisissa
autoissa on jopa 100 s¨ahk¨oist¨a ohjausyksikk¨oa¨, jotka ohjelmistoillaan hallitsevat auton
eri toimintoja. Ohjausyksik¨oist¨a ja niit¨a yhdist¨avist¨a v¨aylist¨a koostuva arkkitehtuuri
on kuitenkin monimutkaistunut viime vuosikymmenien aikana pisteeseen, jossa ohjelmistokehitys ei ole en¨a¨a tehokasta.
Autot tulevat tarvitsemaan arkkitehtuurin uudelleensuunnittelua monimutkaistuneen
rakenteen my¨ot¨a. Kandidaatinty¨oss¨a k¨asitell¨a¨an alan kirjallisuuden perusteella tarvittavaa muutosta: ohjausyksik¨ot yhdistet¨a¨an yleisemmiksi laskentakeskuksiksi ja auton
arkkitehtuuri suunnitellaan uudelleen niin, ett¨a ohjelmistoilla toteutettujen toiminnallisuuksien jatkuva lis¨aa¨minen on mahdollista.
Arkkitehtuurin uudelleensuunnittelun mahdollistamana esitell¨a¨an ¨alykk¨a¨an auton ominaisuuksia. Esimerkkin¨a toimii s¨ahk¨oautonvalmistaja Teslan Model S, joka on verkkoyhteyksill¨a¨an, suurella kosketusn¨aytt¨otietokoneella ja uudenlaisilla ominaisuuksilla kuten itseajolla, n¨aytt¨anyt tulevaisuuden mallin autolle. Olemme paradigman muutoksen edess¨a: liikumme auton sis¨aisen rakenteen kehitt¨amisest¨a kohti ulkoista ohjelmoitavuutta. Verkkoyhteydell¨a auto voi kommunikoida palveluiden kanssa tuottaakseen hy¨odyllist¨a tietoa ajajalle, ohjelmistop¨aivitysten my¨ot¨a auto kehittyy elinkaarensa aikana
ja avoin ohjelmistokehitysrajapinta mahdollistaisi autojen nopeamman kehityksen.
Tulevaisuuden autolla on siis paljon mahdollisuuksia edess¨a¨an, vaikkakin tietoturvakysymykset ja yhteiskunnalliset esteet hidastavat kehityst¨a. Olemme jo nyt n¨ahneet
Teslan Model S:n my¨ot¨a ison kehitysaskeleen ja voimme l¨ahitulevaisuudessa odottaa
lis¨a¨a vastaavia.
Avainsanat:
Kieli:
auto, ohjelmistokehitys, haasteet, mahdollisuudet, arkkitehtuuri,
s¨ahk¨oauto, tesla, verkkoyhteys
Suomi
2
Sis¨
alto
¨
K¨
aytetyt lyhenteet ja termit
4
1 Johdanto
5
2 Sulautetut j¨
arjestelm¨
at ja ohjelmistokehitys autoissa
6
3 Kokeellinen tutkimus: Tesla Model S
9
3.1
Menetelm¨at . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9
3.2
Tulokset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9
4 Autojen arkkitehtuurin ja ohjelmistojen tulevaisuus
12
4.1
Arkkitehtuurin muutos . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13
4.2
Paradigman muutos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14
4.2.1
Verkkoyhteytt¨a hy¨odynt¨av¨at sovellukset . . . . . . . . . . . . . .
14
4.2.2
Ohjelmistop¨aivitykset . . . . . . . . . . . . . . . . . . . . . . . . .
15
4.2.3
Avoimet ohjelmistokehitysmahdollisuudet
. . . . . . . . . . . . .
17
4.2.4
¨
Alykk¨
aist¨a ominaisuuksista kohti ekosysteemi¨a . . . . . . . . . . .
18
5 Loppusanat ja yhteenveto
19
L¨
ahteet
21
3
K¨
aytetyt lyhenteet ja termit
IoT
ECU
REST
API
CAN
LIN
MOST
FlexRay
Ethernet
X-by-wire
JSON
3G
GPS
WLAN
HTTP
Bluetooth
OTA
V2I
Lean middleware
ASIL
Internet of Things; esineiden internet
Electronic Control Unit; auton s¨ahk¨oinen ohjausyksikk¨o
Representational State Transfer; HTTP-protokollaan perustuva arkkitehtuurimalli ohjelmointirajapintojen toteuttamiseen
Application Programming Interface; ohjelmointirajapinta
Controller Area Network; ensimm¨ainen yleisk¨aytt¨oinen
standardisoitu tiedonsiirtoprotokolla autoille
Local Interconnected Network; halvin toteutettava tiedonsiirtoprotokolla autoille
Media Oriented Systems Transports; leve¨akaistainen mediaorientoitunut tiedonsiirtoprotokolla autoille
Turvallisuuskriittinen tiedonsiirtoprotokolla autoille
Tietokoneverkoissakin k¨ayt¨oss¨a oleva nopea tiedonsiirtotekniikka
Mekaanisen ohjausj¨arjestelm¨an korvaaminen s¨ahk¨oisell¨a,
esimerkiksi drive-by-wire tai brake-by-wire
JavaScript Object Notation; kevyt tiedonsiirtoformaatti
Third generation; kolmannen sukupolven mobiilitietoliikenneteknologia
Global Positioning System; satelliittipaikannusj¨arjestelm¨a
Wireless Local Access Network; langaton l¨ahiverkko
Hypertext Transfer Protocol; yleinen internetin tiedonsiirtoprotokolla
Lyhyen kantaman langaton tiedonsiirtotekniikka
Over-the-air; synonyymi langattomalle tiedonsiirrolle,
k¨aytet¨aa¨n etenkin langattomien p¨aivitysten yhteydess¨a
Vehicle-to-infrastructure; ajoneuvon ja infrastruktuurin
v¨alinen kommunikointi
Yleinen tapa kuvata ohjelmistoa, joka tarjoaa palveluita
kahden tason v¨alill¨a
Automotive Safety Integrity Levels; riskienluokitteluj¨arjestelm¨a autoille
4
1
Johdanto
Autokehityksen painopiste on siirtym¨ass¨a laitteistoista ohjelmistoihin. Vuonna 1981 General Motors asensi ensimm¨aisen¨a autonvalmistajana autoihinsa moottorinohjausyksik¨on,
joka kattoi 50 000 rivi¨a koodia (Bereisa, 1983, s. 2). Nykyautoissa on arviolta 100 miljoonaa rivi¨a ohjelmistokoodia (Charette, 2009).
Nykyaikaisissa polttomoottoriautoissa on jopa 100 s¨ahk¨oist¨a ohjausyksikk¨oa¨ (ECU) eri
toiminnoille (Chakraborty ym., 2012, s. 1). Ohjausyksik¨ot hallitsevat ohjelmistoillaan
l¨ahes kaikkia auton ominaisuuksia: muun muassa moottorinohjausta, viihdej¨arjestelm¨a¨a
ja tuulilasinpyyhkij¨oit¨a. Ne tuovat paljon lis¨aarvoa autolla ajamisen kokemukseen niin
taloudellisuuden, mukavuuden kuin turvallisuudenkin kannalta.
T¨ah¨anastiset ohjausyksik¨ot ja ohjelmistot ovat kuitenkin tuoneet parannuksia l¨ahinn¨a
auton sis¨alle. El¨amme aikaa, jossa esineet yhdistyv¨at internetiin – puhutaankin esineiden
internetist¨a (engl. Internet of Things, IoT ) (Atzori ym., 2010, s. 1). My¨os autot ovat
t¨am¨an kehityksen kohteena: esimerkkin¨a autonvalmistaja Tesla on asentanut Model S s¨ahk¨oautoonsa verkkoyhteyden (Lautsi, 2014), jonka my¨ot¨a autossa voidaan hy¨odynt¨aa¨
uudenlaisia palveluita.
T¨am¨an kandidaatinty¨on tavoitteena on selvitt¨a¨a autojen sulautettujen j¨arjestelmien ja
ohjelmistokehityksen nykyist¨a suhdetta toisiinsa, esitell¨a olemassaolevia ¨alykk¨ait¨a autosovelluksia ja luoda kuvaa tulevaisuuden kehityksest¨a. Ty¨oss¨a keskityt¨a¨an k¨aynniss¨a olevaan muutokseen: liikumme auton sis¨aisest¨a rakenteesta kohti ohjelmoitavuutta. T¨am¨an
rinnalla tarkastellaan autojen ohjelmistokehityksen mahdollisuuksia ja haasteita autonvalmistajien ja kuluttajien kannalta.
Ty¨o koostuu kolmesta osasta. Ensin luvussa 2 luodaan kirjallisuuden perusteella katsaus autojen arkkitehtuurin ja ohjelmistojen t¨ah¨anastiseen kehitykseen. Luvussa tutkitaan kiinte¨an¨a osana autojen sulautettuja j¨arjestelmi¨a, sill¨a etenkin t¨ah¨an asti ohjelmistokehitys ja sulautetut j¨arjestelm¨at ovat liittyneet tiiviisti toisiinsa. T¨ast¨a johtuen ohjelmistokehitys on ollut hyvin laitteistoriippuvaista (Chakraborty ym., 2012, s. 2). Luvussa
vastataan kysymyksiin siit¨a, miten t¨ah¨an tilanteeseen ollaan p¨a¨adytty ja mit¨a haasteita
on. Samalla luodaan kuvaa, mink¨alaisen muutoksen edess¨a autot ovat, jotta tulevaisuuden
ohjelmistokehitys mahdollistuisi.
Kokeellisena osuutena, luvussa 3, ty¨oss¨a tutkitaan Tesla Model S -s¨ahk¨oauton j¨arjestelmi¨a, virallista sovellustarjontaa sek¨a Tesla-yhteis¨on kehitt¨am¨a¨a REST-rajapintaa (Representational State Transfer). Model S toimii k¨ayt¨ann¨on esimerkkin¨a uudenlaisesta, teknologisesta autosta.
Lopulta luvussa 4 luodaan n¨akym¨a tulevaisuuteen edellisten lukujen pohjalta. Luvussa
keskityt¨a¨an esitt¨am¨a¨an ratkaisuja edell¨a mainittuihin arkkitehtuurin haasteisiin ja eri-
5
tyisesti tuomaan esille uusia mahdollisuuksia. T¨aten esimerkiksi tulevaisuuden tietoturvakysymykset ja laadunvarmistus esitell¨a¨an vain tiiviisti ty¨oss¨a. Koska autojen tulevaisuudentutkimusta on olemassa melko v¨ah¨an, ty¨oss¨a vertaillaan autoja muihin vastaavan
muutoksen kohteina olleisiin laitteisiin, kuten tietokoneet ja ¨alypuhelimet. Teslan Model
S -autoa k¨aytet¨aa¨n esimerkkin¨a t¨ast¨a muutoksesta.
Keskeisin¨a tutkimuskysymyksin¨a ovat siis:
• Miten olemme p¨aa¨tyneet autojen ohjelmistokehityksen nykytilaan; mit¨a haasteita
ja mahdollisuuksia on?
• Millaiset ovat Tesla Model S -s¨ahk¨oauton j¨arjestelm¨at, sovellustarjonta ja RESTrajapinta?
• Mink¨alaiset ovat autojen ohjelmistokehityksen tulevaisuudenn¨akym¨at?
2
Sulautetut j¨
arjestelm¨
at ja ohjelmistokehitys autoissa
T¨ass¨a luvussa tutustutaan autojen t¨ah¨anastiseen ohjelmistokehitykseen ja sulautettuihin
j¨arjestelmiin. Ohjelmistot ovat etenkin t¨ah¨an asti olleet hyvin riippuvaisia sulautetuista j¨arjestelmist¨a (Broy, 2006, s. 2), joten on t¨arke¨a¨a ymm¨art¨a¨a laitteistojen asettamat
mahdollisuudet ja haasteet ohjelmistokehityksess¨a.
Ensimm¨aiset s¨ahk¨oiset ohjausyksik¨ot asennettiin autoihin 1970-luvun lopulla. Vuonna
1978 General Motors asensi automalliinsa ohjausyksik¨on, joka kykeni n¨aytt¨am¨a¨an muun
muassa nopeuden, polttoaineen tilan ja -kulutuksen sek¨a matkamittarin digitaalisena. Lis¨aksi se ohjasi polttoaineen sy¨ott¨o¨a ja vakionopeudens¨a¨adint¨a. T¨am¨a merkkipaalu tapahtui suhteellisen huomaamattomasti, vaikka k¨ayt¨ann¨oss¨a se tarkoitti autojen siirtymist¨a
tietokoneiden aikakauteen. (Bereisa, 1983, s. 1-2)
1980-luvulta alkaen autonvalmistajat ovat lis¨anneet ohjausyksik¨oit¨a autoihinsa bottomup-tapaan: kun havaittiin uusi hy¨odyllinen ominaisuus, asennettiin uusi ohjausyksikk¨o.
Varhaisimmat ohjausyksik¨ot olivat hyvin paikallisia ja toisiinsa liittym¨att¨omi¨a. My¨ohemmin autoihin on asennettu monesta ohjausyksik¨ost¨a koostuvia toiminnallisuuksia, jotka
kommunikoivat kesken¨a¨an erilaisten v¨aylien kautta. T¨all¨a tavoin on kuljettu nykyaikaan.
Nyky¨a¨an autoissa on eri kommunikointiv¨ayli¨a yleens¨a noin viisi ja ohjausyksik¨oit¨a l¨ahes
100. (Broy, 2006, s. 1) T¨am¨a on suoraa seurausta siit¨a, ett¨a j¨arjestelm¨allist¨a top-downtapaa ei ole hy¨odynnetty. Valmistajilla on ollut vaillinainen ymm¨arrys siit¨a, ett¨a s¨ahk¨oiset ohjausyksik¨ot tulevat olemaan auton yksi keskeisimmist¨a j¨arjestelmist¨a (Broy ym.,
2007, s. 1). T¨am¨a l¨ahestymistapa on johtanut tarpeettoman monimutkaisiin auton sis¨ai6
siin ratkaisuihin, kuten kuvasta 1 n¨ahd¨aa¨n. Luvussa 4 tutustumme tarkemmin, miten
t¨am¨a l¨ahestymistapa on muuttumassa.
Kuva 1: Autojen sulautettujen j¨arjestelmien ja ohjelmistojen kehitys. (Chakraborty ym.,
2012, s. 2)
Kuvasta 1 havaitaan, kuinka autojen ominaisuudet ovat kehittyneet s¨ahk¨oisten ohjausyksik¨oiden sek¨a v¨aylien my¨ot¨a ja kuinka ne tulevat kehittym¨a¨an tulevaisuudessa. Kuvassa
paksumpi musta viiva kuvastaa toiminnallisten funktioiden m¨a¨ar¨a¨a, joka on kasvanut
vuosien aikana. Ohuempi sininen viiva kuvastaa toteutunutta monimutkaisuutta, joka on
tarvittavaa monimutkaisuutta korkeammalla. T¨am¨a johtuu ep¨at¨aydellisist¨a arkkitehtuuriratkaisuista.
Kuvasta 1 n¨ahd¨a¨an my¨os, ett¨a s¨ahk¨oisten ohjausyksik¨oiden, sensorien ja moottorien v¨aliset v¨ayl¨at, kuten CAN (Controller Area Network), ovat yleistyneet 1990-luvun alusta
l¨ahtien. Ne yksinkertaistivat johdotusten kautta syntynytt¨a monimutkaisuutta keskitettyjen kommunikointiv¨aylien avulla. Muita nyky¨a¨an k¨ayt¨oss¨a olevia v¨ayli¨a ovat LIN (Local
Interconnect Network), MOST (Media Oriented Systems Transport) ja FlexRay (Chakraborty ym., 2012, s. 3). Ne eroavat toisistaan v¨ayl¨an nopeuden, turvallisuuden ja kustannuksien v¨alill¨a: eri sovellukset, kuten ovien lukitseminen ja viihdej¨arjestelm¨at, toimivat
eri vaatimuksilla (Davis, 2012). Luvussa 4.1 esitet¨a¨an malli, jossa v¨aylien m¨a¨ar¨a v¨ahenisi
ja t¨am¨an my¨ot¨a rakenne yksinkertaistuisi.
Kuvasta 1 k¨ay niin ik¨aa¨n ilmi, ett¨a k¨ayt¨ann¨on toteutukset ovat l¨ahes aina tarpeettoman
monimutkaisia. 2010-luvulla olemme tilanteessa, jossa ominaisuuksien m¨a¨ar¨a on kasvanut
7
huimasti, mutta arkkitehtuuri taustalla on pysynyt samana. T¨am¨a luo kasvavia haasteita ohjausyksik¨oiden hallintaan. Kuten kuvasta 1 ilmenee, olemme pian uuden rajapyykin edess¨a: ohjausyksikk¨ojen toiminnallisuuksia yhdistet¨aa¨n, jotta saavutetaan keskitetty
arkkitehtuurimalli.
Miksi siis on p¨a¨adytty aina lis¨a¨am¨a¨an uusia ohjausyksik¨oit¨a eri toiminnoille? Yksik¨ot ja
niiden ohjelmistot ovat poikkeuksetta kolmansien osapuolien toimittajien kehitt¨ami¨a ja
valmistamia. T¨am¨a luo haasteita autonvalmistajille: yksik¨ot ovat black boxeja, eli valmistajat n¨akev¨at vain yksik¨on ulkoiset toiminnallisuudet, eiv¨atk¨a pysty perehtym¨a¨an l¨ahdekoodiin. Autonvalmistajien rooli onkin siis ollut ohjausyksik¨oiden integrointi autoon.
(Broy, 2006, s. 2) Satojen yksinkertaisten ohjausyksik¨oiden integrointi autoon ei tule kuitenkaan olemaan en¨a¨a kustannustehokasta l¨ahitulevaisuudessa (Georgakos ym., 2013, s.
2).
Broy (2006, s. 2) jatkaa, ett¨a laitteiston monimutkaisuus hidastaa ohjelmistojen kehityst¨a merkitt¨av¨asti. Ohjelmistoratkaisujen uudelleenk¨aytt¨o on ep¨atehokasta: monilla osaalueilla vaaditaan jopa 90 prosettia uudelleenohjelmointia autosukupolvien v¨alill¨a, vaikka vain 10 prosenttia varsinaisesta toteutuksesta muuttuisi. Syyn¨a ovat laitteistot, jotka
vaativat ohjelmistojen ottavan huomioon hyvin laitteistokohtaisia ominaisuuksia.
Edell¨a mainitut ep¨at¨aydelliset ratkaisut ovat olleet my¨os pitk¨alti seurausta viime vuosikymmenten h¨amm¨astytt¨av¨an nopeasta ohjelmistokehityksest¨a. Se on mahdollistanut toiminnallisuuksien toteuttamisen, joiden ajattelimme olevan mahdottomia viel¨a 20 vuotta
sitten. Olemmekin jo ottaneet askelia kohti ¨alyk¨ast¨a ajoneuvoa: pys¨ak¨ointiavustin ja liikenteenvalvontaj¨arjestelm¨at ovat hyvi¨a esimerkkej¨a t¨ast¨a. (Broy ym., 2007, s. 1-2)
Autojen j¨arjestelm¨aarkkitehtuurin pit¨a¨a my¨os mukautua edell¨a k¨asiteltyyn kehitykseen.
S¨ahk¨oautot on tuotu keskeiseksi tekij¨aksi t¨ass¨a muutoksessa: koko j¨arjestelm¨aarkkitehtuurin uudelleensuunnittelu on loogista autoilla, joiden sis¨ainen suunnittelu on muillakin
tasoilla erilaista perinteisiin polttomoottoriautoihin verrattuna. (Lukasiewycz ym., 2013,
s. 2-3) Esimerkkin¨a sis¨aisen suunnittelun muutoksesta on perinteisen mekaanisen ohjaustavan muuttaminen s¨ahk¨oiseksi. T¨at¨a muutosta kutsutaan X-by-wireksi; steer-by-wire ja
brake-by-wire ovat esimerkkej¨a t¨ast¨a. (Georgakos ym., 2013, s. 3)
S¨ahk¨oautot ovat my¨os laajalti hyv¨aksytty ymp¨arist¨okysymyksien kannalta kest¨av¨aksi valinnaksi (Lukasiewycz ym., 2013, s. 1). T¨ah¨an menness¨a ne ovat kuitenkin olleet vain
pienen kuluttajajoukon valinta – s¨ahk¨oautoihin liittyy yleist¨a ep¨avarmuutta esimerkiksi kantamaan ja lataamiseen liittyen (Carpenter ym., 2014). Autonvalmistaja Tesla on
murtanut t¨at¨a ep¨avarmuutta tuomalla markkinoille s¨ahk¨oauton Model S, joka on ymp¨arist¨oseikkojen ohella t¨aysin uudenlainen auto teknologisesti.
8
3
Kokeellinen tutkimus: Tesla Model S
T¨ass¨a luvussa k¨asitell¨a¨an autonvalmistaja Teslan Model S -s¨ahk¨oauton kautta muutosta
autojen teknologiassa. Model S on mullistanut k¨asityksemme autosta: se on yl¨aluokan
s¨ahk¨oauto, joka kantaa 85 kilowattitunnin akuston. T¨am¨an my¨ot¨a ennen koetut s¨ahk¨oautojen kantamaongelmat ovat v¨ahentyneet: yhdell¨a latauksella voi liikkua jopa yli 400 kilometri¨a. Lis¨aksi se kiihtyy 0-100 kilometriin tunnissa vain reilussa 4 sekunnissa. (Lautsi,
2014) Ohjelmistokehityksen kannalta merkityksellisemp¨an¨a seikkana Tesla on asentanut
autoonsa kattavan langattoman yhteystarjonnan ja suuren kosketusn¨ayt¨ollisen tietokoneen auton kojelaudalle, joka hy¨odynt¨a¨a saumattomasti yhteyksi¨a. (TeslaTap, 2014)
Edell¨a mainitut ominaisuudet tekev¨at autosta alustan, jolle on mahdollista ohjelmoida
aivan uudenlaisia sovelluksia. Tesla Model S:n ja sen sovellusten kautta voidaankin ymm¨art¨a¨a paremmin ¨alykk¨aiden autosovellusten merkitys. T¨at¨a todenn¨ak¨oist¨a tulevaisuuden kehityssuuntaa k¨asitell¨a¨an yleisemmin luvussa 4.
3.1
Menetelm¨
at
Tesla Model S:¨aa¨n tutustutaan internetist¨a l¨oytyvien tietojen avulla. Tiedonl¨ahtein¨a hy¨odynnet¨a¨an alan kirjallisuutta, Teslan virallisia tiedotteita ja dokumentaatioita, Teslayhteis¨on tuottamaa ep¨avirallista dokumentaatiota, Tesla-sovelluksia sek¨a muita k¨ayt¨ann¨on tuloksia.
N¨aiden tietojen perusteella k¨ayd¨a¨an l¨api auton j¨arjestelmi¨a ja arkkitehtuuria tasolla,
jonka tuotannossa olevasta autosta voidaan l¨oyt¨a¨a. T¨at¨a tietoa verrataan ja suhteutetaan
kirjallisuudesta l¨oytyviin tietoihin autojen kehityksest¨a. Model S:n ohjelmistokehityksen
edistyksellisyytt¨a tutkitaan laitteistodokumentaatioiden ja sovellusten kautta. Lopuksi
keskityt¨a¨an Teslan julkaisemaan viralliseen mobiilisovellukseen ja t¨ast¨a seuranneeseen
ep¨aviralliseen REST-ohjelmointirajapintaan.
3.2
Tulokset
Tesla Model S:n ominaisuuksia tutkiessa on n¨aht¨aviss¨a, ett¨a Tesla on lis¨annyt monia t¨aysin uudenlaisia ominaisuuksia autoonsa. Autossa on 12 ultra¨a¨anisensoria aistimaan sit¨a
ymp¨arilt¨a, sek¨a eteen- ja taaksep¨ain suunnatut kamerat ja tutkat (Tesla Motors, 2014a).
Model S:ss¨a on ¨alypuhelimen veroinen yhteys- ja paikannustarjonta: 3G, WLAN, Bluetooth ja GPS. Tesla on panostanut paljon automallin viihde- ja informaatioj¨arjestelm¨a¨an,
jota tarkastellaan seuraavaksi.
Tesla Model S tarjoaa keskikonsolin 17-tuumaisella kosketusn¨aytt¨oalustalla l¨ahes kaikki
auton hallitsemiseen liittyv¨at ominaisuudet sovelluksina. Kuvassa 2 on esitetty kyseinen
9
j¨arjestelm¨a. T¨am¨anlainen kosketusn¨aytt¨oj¨arjestelm¨a on selke¨a muutos entiseen malliin,
jossa s¨a¨atimet olivat fyysisi¨a painikkeita kojelaudalla. Perinteisten ominaisuuksien, kuten ilmastoinnin ja musiikin s¨aa¨d¨on lis¨aksi laitteella voi selata interneti¨a, tarkastella kameroilla n¨akym¨a¨a auton eteen ja taakse, tutkia auton energiank¨aytt¨o¨a sek¨a navigoida
Google Mapsilla. Navigoinnin, parkkitutkat ja muita auton ominaisuuksia saa n¨aht¨aville
niin ik¨a¨an kuljettajan kojelautaan.
Kuva 2: Teslan viihde- ja informaatioj¨arjestelm¨a. (Ecomento, 2014)
Model S:n viihde- ja informaatioj¨arjestelm¨a on hyvin pitk¨alle valmistajan itse kehitt¨am¨a: merkint¨a¨a ”Tesla” l¨oytyy kaikkialta laitteistoista (IHS, 2014). Teslan rooli autonvalmistajana onkin merkitt¨av¨asti erilainen luvussa 2 esitettyyn malliin: Tesla ei ole pelkk¨a
laitteiden ja ohjelmistojen integroija, vaan se kehitt¨a¨a omia laitteisto- ja ohjelmistoratkaisujaan.
Teslan viihde- ja informaatioj¨arjestelm¨ass¨a on enemm¨an yhtenev¨aisyyksi¨a mobiilimaailmaan kuin autoihin: osientoimittajat ovat perinteisi¨a mobiilimaailman valmistajia, esimerkiksi auton kosketusn¨ayt¨ot ovat teknologiayhti¨o Applen iPhonejen n¨ayt¨onvalmistajilta. Grafiikkapiirit ovat tietokonemaailmasta tutun Nvidian valmistamia, ja ne ovat niin
ik¨a¨an ep¨atavallisen tehokkaita ja laadukkaita autokomponenteiksi. (IHS, 2014)
Teslan arkkitehtuuripuolella ei ole kuitenkaan toteutettu esimerkiksi s¨ahk¨oist¨a ohjausta
(engl. drive-by-wire), vaan autoa ohjataan perinteisesti mekaanisella ohjausj¨arjestelm¨all¨a.
T¨am¨a on merkki siit¨a, ett¨a mekaanisuuden t¨aysi poistaminen ei ole viel¨a ollut realistista
turvallisuuden kannalta. Kuitenkin Tesla k¨aytt¨aa¨ edistynytt¨a s¨ahk¨otehostettua ohjausj¨arjestelm¨a¨a, joka ei olisi mahdollinen polttomoottoriautoissa, sill¨a kyseinen j¨arjestelm¨a
10
vaatii enemm¨an akkukapasiteettia kuin polttomoottoriautoissa on. (Khajepour ym., 2014,
s. 139)
Kuva 3: Tesla Model S -s¨ahk¨oauton virallisen ¨alypuhellinsovelluksen n¨akym¨at. (Play,
2014)
Teslan virallinen mobiilisovellus Model S:lle tarjoaa muutamia suhteellisen yksinkertaisia
ominaisuuksia, kuten kuvasta 3 n¨ahd¨a¨an. Ne ovat kuitenkin ominaisuuksia, joita emme
ole ennen n¨ahneet autoilla: Model S -autoa onkin mahdollista hallita ¨alypuhelimella. Sovelluksella n¨akee auton perustiedot: onko se latauksessa ja kuinka paljon akkua on j¨aljell¨a.
Auton lataamiseen liityvi¨a asetuksia voi s¨a¨at¨a¨a: halutaanko akun kannalta kest¨avin valinta vai maksimikantama. Akun lataamisen voi k¨aynnist¨a¨a ja lopettaa. Auton voi lukita
sovelluksen kautta ja paikantaa sen kartalta. Auton sis¨atilat voi l¨ammitt¨a¨a haluttuun
l¨amp¨otilaan, ja sovelluksen kautta voi jopa t¨oo¨t¨at¨a ja vilkuttaa valoja.
Virallisen mobiilisovelluksen julkaisemisen j¨alkeen internetin keskustelualueilla alettiin jakamaan ep¨avirallista ohjelmointirajapintaa (engl. API; Application Programming Interface), joka k¨aytt¨a¨a virallisen sovelluksen tarjoamia ominaisuuksia. Se hy¨odynt¨a¨a RESTohjelmointirajapintaa, joka on yksinkertainen tapa jakaa auton tietoja internetin v¨alityksell¨a. Ohjelmointirajapinnan kautta on toteutettu muutamia varsin mielenkiintoisia
sovelluksia. Yksi n¨aist¨a on karttapohjainen visualisaatio, josta n¨akee, miss¨a auto on liikkunut viime aikoina. Kuvassa 4 esitell¨a¨an sovelluksen toimintaa.
Auton sijaintitietoihin p¨a¨asy avaa monia mahdollisuuksia. On esimerkiksi yritetty tehd¨a
sovellus, joka etsisi l¨ahimm¨an s¨ahk¨oauton latausaseman. T¨am¨a sovellus oli kuitenkin liian raskas Teslan selaimelle. (Reaktor, 2014) Omien sovellusten kehitt¨aminen Model S:lle
onkin varsin vaivalloista, sill¨a virallista tukea ulkoiselle sovelluskehitykselle ei ole. T¨am¨a tarkoittaa, ett¨a ep¨aviralliset sovellukset pit¨aisi ajaa auton selaimen kautta. Lis¨aksi
REST-ohjelmointirajapinnan kautta toteutetut sovellukset rajoittuvat virallisen sovelluksen tarjoamiin ominaisuuksiin.
Kuten edell¨a mainituista sovelluksista havaitaan, auton 3G-verkkoyhteys yhdistettyn¨a
GPS-paikannusj¨arjestelm¨a¨an merkitsee paljon sovelluskehityksen kannalta: autosta saa11
Kuva 4: Sovelluspohjainen visualisaatio Tesla Model S:n sijainneista. (Reaktor, 2014)
daan tietoa tien p¨a¨all¨a. Verkkoyhteyden my¨ot¨a my¨os auton ohjelmistop¨aivitykset tulevat
langattomasti, kuten ¨alypuhelimissakin. Model S:n p¨aivitykset asentuvat esimerkiksi y¨on
aikana auton ollessa latauksessa.
Tesla Model S:n arkkitehtuurista on havaittavissa, ettei luvussa 2 kuvaillusta monimutkaisuudesta ole p¨a¨asty t¨aysin eroon. Esimerkkin¨a t¨ast¨a on mekaaninen ohjausj¨arjestelm¨a.
Autossa on kuitenkin t¨aysin uusia ominaisuuksia, jotka ep¨ailem¨att¨a johdattavat autot
kohti uudenlaista suuntaa. T¨at¨a k¨asitell¨a¨an yleisemm¨all¨a tasolla seuraavassa luvussa.
4
Autojen arkkitehtuurin ja ohjelmistojen tulevaisuus
Seuraavaksi k¨ayd¨a¨an l¨api todenn¨ak¨oisi¨a l¨ahitulevaisuuden muutoksia autoissa. Keskeisen¨a teemana on siirtyminen auton sis¨aisen rakenteen kehitt¨amisest¨a kohti ulkoista ohjelmoitavuutta, mik¨a on merkki paradigman muutoksesta.
Ensin k¨asitell¨a¨an luvussa 2 alustettua aihetta autojen laitteisto-ohjelmistoarkkitehtuurin
haasteista ja ehdotetaan t¨ah¨an muutoksia alan kirjallisuden perusteella. T¨am¨an j¨alkeen
k¨asitell¨aa¨n ohjelmistokehityksen mahdollisuuksia ja haasteita tulevaisuuden autoissa. Esimerkkin¨a toimii autonvalmistaja Teslan Model S -s¨ahk¨oauto. Sen n¨aytt¨am¨ass¨a mallissa
12
on paljon yht¨al¨aisyyksi¨a tietokoneissa ja puhelimissa verkkoyhteyden my¨ot¨a tapahtuneeseen murrokseen. Tietokoneita ja ¨alypuhelimia k¨aytet¨a¨ankin lukujen l¨api vertailukohtina
autojen kehitykseen. Niin ik¨aa¨n alan kirjallisuutta ja artikkeleja hy¨odynnet¨aa¨n tulevaisuuden trendej¨a k¨asitelt¨aess¨a.
4.1
Arkkitehtuurin muutos
Luvussa 2 k¨asiteltiin nykyautojen arkkitehtuurin monimutkaisuutta, josta yksi esimerkki
on liian suuri m¨a¨ar¨a s¨ahk¨oisi¨a ohjausyksik¨oit¨a. T¨am¨anlainen kehitys ei ole en¨a¨a teknisesti
tehokasta eik¨a kustannustehokasta. Chakraborty ym. (2012, s. 2) huomauttavat, ett¨a
vain arkkitehtuurin uudelleensuunnittelu voi palauttaa monimutkaisuuden tarvittavalle
tasolle.
Ensimm¨ainen kohde arkkitehtuurin uudelleensuunnittelussa on ohjausyksik¨oiden hajautuneisuus. T¨ah¨an Buckl ym. (2012, s. 3) ehdottavat keskitetty¨a arkkitehtuurimallia, jossa
tehokkaat keskitetyt yksik¨ot suorittavat kaikki laitteistosta riippumattomat toimenpiteet.
T¨am¨an my¨ot¨a ohjelmistoista tulisi v¨ahemm¨an laitteistoon sidottua. Broy ym. (2007, s.
14) lis¨a¨av¨at, ett¨a tulevaisuudessa autojen s¨ahk¨oisten ohjausyksik¨oiden m¨a¨ar¨a v¨ahenee:
muutama ohjaisi auton kriittisimpi¨a toimintoja, kuten ohjausta ja jarruja, ja loput toimenpiteet pyritt¨aisiin k¨asittelem¨a¨an pienell¨a lukum¨a¨ar¨all¨a keskitettyj¨a ohjausyksik¨oit¨a.
N¨am¨a keskitetyt ohjausyksik¨ot olisivat hyvin samanlaisia kuluttajaprosessorien kanssa,
eli ne eiv¨at olisi ohjelmoitu vain erityistapausta varten.
Toiseksi sensorit kommunikoisivat standardisoitujen v¨aylien, kuten Ethernetin, yli (Zinner ym., 2012, s. 27). My¨os Broy ym. (2007, s. 14) ehdottavat mallia, jossa keskittynyt
monik¨aytt¨oinen laitteisto kommunikoisi nykyist¨a harvempien kommunikointiv¨aylien yli.
Buckl ym. (2012, s. 3) huomauttavat, ett¨a asiantuntija-arvioiden mukaan Ethernet tulee
olemaan tulevaisuuden standardi, mutta my¨os muut v¨ayl¨at jatkavat paikallista olemassaoloa. T¨ast¨a on esimerkkin¨a CAN, jolla ohjattaisiin voimansiirtoa s¨ahk¨omoottoreilta
py¨oriin (Buckl ym., 2012, s. 7). Kaiken kaikkiaan v¨aylien m¨a¨ar¨a tulisi siis v¨ahenem¨a¨an
nykyisest¨a, mik¨a yksinkertaistaisi auton arkkitehtuuria.
Kolmas t¨arke¨a kehityskohde on ¨alykk¨a¨at sensorit. T¨am¨a tarkoittaa, ett¨a sensorien tulisi
tarjota jo itse funktiot esik¨asittelem¨a¨an raaka-aineistoa. (Buckl ym., 2012, s. 3) T¨allainen kehitys v¨ahent¨aisi sellaisten ohjausyksik¨oiden m¨a¨ar¨a¨a, jotka k¨asittelev¨at vain tietyn
sensorityypin dataa. Yksinkertaisena esimerkkin¨a t¨ast¨a ¨alyk¨as sateentunnistin tarjoaisi
jo valmiiksi tiedon, onko se tunnistanut tietyntasoista sadetta, eik¨a se siirt¨aisi vain raakatietoa ohjausyksik¨olle.
Broy ym. (2007, s. 14) toteavat, ett¨a edell¨a mainitut kolme muutosta sallisivat aivan toisenlaiset tekniikat ja metodologiat ohjelmistokehityksess¨a verrattuna nykyautoihin. Arkkitehtuurin uudelleenj¨arjestely tekisi tulevaisuuden sovellusten kehitt¨amisest¨a v¨ahemm¨an
13
laitteistoon sidottua, mahdollistaen sovellusten ja palveluiden aikakauden (Chakraborty
ym., 2012, s. 2). Tulevaisuudenn¨akymiss¨a ovatkin auton sis¨ainen, autojen v¨alinen sek¨a
auton ja infrastruktuurin v¨alinen kommunikointi (Lukasiewycz ym., 2013, s. 3). Ensimm¨ainen askel t¨ah¨an suuntaan on Tesla Model S -s¨ahk¨oautossa toteutetut ohjelmistot ja
ominaisuudet. Tutustumme t¨ah¨an kehitykseen yleisesti ja Teslan n¨aytt¨am¨an esimerkin
kautta seuraavaksi.
4.2
Paradigman muutos
Autojen edess¨aolevaa paradigman muutosta k¨asitell¨a¨an seuraavaksi nelj¨alt¨a eri kannalta.
Muutosta yhdist¨av¨an¨a teknisen¨a tekij¨an¨a on verkkoyhteys, jonka my¨ot¨a autoon voidaan
kehitt¨a¨a uudenlaisia ominaisuuksia. Tarkastellaan seuraavaksi, mit¨a vaikutuksia autojen
verkottumisella on.
4.2.1
Verkkoyhteytt¨
a hy¨
odynt¨
av¨
at sovellukset
Kahden viime vuosikymmenen aikana monilla kuluttaja-alueilla on tapahtunut laitteiden
k¨aytt¨amisen paradigman muutos, kun laitteet ovat yhdistyneet verkkoon. 1990-luvulla
kuluttajat saivat tietokoneilla laajasti verkkoyhteyden k¨asiins¨a ja tutustuivat internetiin, p¨a¨aosin langallisella yhteydell¨a. 2000-luvun puolessav¨aliss¨a ¨alypuhelimet ja nopeat
langattomat verkot mullistivat perinteisen puhelinmaailman: esimerkkin¨a vuoden 2007
Applen iPhone ja siit¨a alkanut kilpailu on vaikuttanut suuresti ¨alypuhelinten kehitykseen. N¨aill¨a laitteilla on ollut suuri rooli teknologian integroitumisessa p¨aivitt¨aiseen el¨am¨a¨amme.
Laitteiden verkottumisen my¨ot¨a tapahtuneessa muutoksessa merkitt¨av¨a¨a on, ett¨a ohjelmistojen kehityksess¨a hy¨odynnet¨a¨an laitteen itsens¨a lis¨aksi my¨os sen ulkopuolella olevaa
tietoa, esimerkiksi muita laitteita ja palveluita. Sosiaalinen media on esimerkki t¨ast¨a:
k¨aytt¨aj¨at voivat kommunikoida keskitetyn verkkopalvelun kautta toisiensa kanssa. Verkottuneisuus onkin paradigman muutoksen mahdollistaja.
My¨os autot ovat tulleet viimeaikaisten edistysten my¨ot¨a edell¨a mainitun kehityksen kohteeksi. Autojen yhdistyminen verkkoon mahdollistaa aivan uudenlaisia ¨alykk¨ait¨a sovelluksia. Esimerkkej¨a a¨lykk¨aist¨a sovelluksista antaa Charette (2009): autot voivat ker¨at¨a havaintoja yhteiseen tietokantaan vaikkapa ruuhkasta, tien liukkaudesta tai onnettomuuksista. Kukin auto saa t¨am¨anlaisen verkkopalvelun kautta ilmoituksen, mik¨ali omalla
reitill¨a on jotakin huomioitavaa.
Autonvalmistaja Tesla on ottanut ensimm¨aisen askeleen kohti edell¨a kuvailtua kehityst¨a:
syksyn 2014 Model S -automallin ohjelmistop¨aivityksess¨a uusina ominaisuuksina olivat
liikenneperustainen navigointi ja autoon integroitu kalenteri. Liikenneperustainen navi14
gointi ottaa huomioon liikenteen tilan: Tesla-autot p¨aivitt¨av¨at yhteiseen tietokantaan
tietoja liikenteen tilasta, ja mik¨ali reitill¨a on ruuhkaa, reitinvalintaa muutetaan. Integroidun kalenterin my¨ot¨a a¨lypuhelimen kalenterin voi yhdist¨aa¨ autoon. Mik¨ali kalenteritapahtumalla on m¨a¨aritelty paikka, auto etsii reitin automaattisesti t¨ah¨an sijaintiin. (Tesla
Motors, 2014b)
Navigointi ja kalenteri ovat olleet olemassa erillisin¨a sovelluksina jo pitk¨a¨an, joten merkitt¨av¨a¨a Teslan osoittamassa kehityksess¨a onkin palvelujen integroituminen osaksi autoa.
T¨am¨a johtaa aivan uudenlaisiin mahdollisuuksiin, kun autosta saatavia tietoja voidaan
hy¨odynt¨a¨a suuremmassa mittakaavassa esimerkiksi liikenteen sujuvoittamiseksi ja liikenneturvallisuuden parantamiseksi. On siis n¨aht¨aviss¨a, ett¨a autot yhdistyv¨at jo osaksi infrastruktuuria (engl. vehicle-to-infrastructure, V2I ). Kuvassa 1 ennustetaankin tulevaisuuden autoarkkitehtuurin muotoutuvan kohti niin sanottua parvi- ja pilvimallia: yksitt¨aiset
autot muodostavat parven sy¨ott¨am¨all¨a liikennetietoa yhteiseen tietokantaan, pilveen. On
my¨os ennustettu, ett¨a vuoden 2020 auto kommunikoi t¨all¨a tavoin infrastruktuurin lis¨aksi
my¨os toisten autojen, kodin, ty¨opaikan ja muiden l¨ahteiden v¨alill¨a (Rishi ym., 2008, s.
12). Tekniset edellytykset ovat hyvin laajat, joten vain yhteiskunnan realiteetit ja mielikuvitus ovat rajoina.
4.2.2
Ohjelmistop¨
aivitykset
Edell¨a keskityttiin verkkoyhteyden suoraan vaikutukseen ohjelmistokehityksess¨a: verkottuminen mahdollistaa uudenlaisia sovelluksia. Toinen osa t¨at¨a kehityst¨a on, ett¨a tuotteen
ohjelmistoista voidaan julkaista vain alustava versio. Julkaisun j¨alkeen tuotetta voidaan
kehitt¨aa¨ ohjelmistop¨aivitysten ja uusien ominaisuuksien avulla. Tuotteen ohjelmistojen
ei siis tarvitse olla lopullisia julkaisuvaiheessa. T¨am¨a ohjelmiston kehittymismalli onkin
jo arkip¨aiv¨aa¨ tietokoneissa ja a¨lypuhelimissa, ja se on niin ik¨aa¨n saavuttamassa autot.
Autonvalmistaja Tesla on viitoittanut automaailmaa kohti edell¨a kuvailtua tiet¨a. T¨am¨a
k¨ay selv¨aksi Model S -s¨ahk¨oauton ohjelmistop¨aivityslokia tarkastellessa: kahden vuoden
aikana Tesla on julkaissut 27 ohjelmistop¨aivityst¨a autolle (Tesla Motors Club, 2014).
N¨aihin p¨aivityksiin kuuluu niin virhekorjauksia, toimintojen kehityst¨a kuin uusia ominaisuukiakin. Merkitt¨avimp¨an¨a esimerkkin¨a Tesla julkaisi syksyll¨a 2014 automaattiajoominaisuuksia Model S -autoonsa – ohjelmistop¨aivityksen¨a ja maksutta (Tesla Motors,
2014a)! P¨aivitykset tulevat langattomasti verkkoyhteyden kautta (engl. over-the-air,
OTA).
Kuvasta 5 n¨ahd¨a¨an, ett¨a Apple on kehitt¨anyt tuhansia uusia ominaisuuksia ja ohjelmointirajapintoja iOS-mobiilik¨aytt¨oj¨arjestelm¨a¨ans¨a viiden vuoden aikana. Tesla onkin selke¨asti
johtamassa autoja samanlaiseen malliin: autojen ohjelmistot ja ominaisuudet kehittyv¨at
auton elinkaaren aikana.
15
Kuva 5: Applen iOS-mobiilik¨aytt¨oj¨arjestelm¨an kehitys vuosien 2008 ja 2013 v¨alill¨a. (iDeviceNews, 2013)
Mielenkiintoinen kysymys juontaa kuitenkin autojen ja a¨lypuhelinten elinkaarten erosta:
monet kuluttajat ovat tottuneet ostamaan uuden ¨alypuhelinmallin muutaman vuoden
v¨alein, kun taas autot voivat olla k¨ayt¨oss¨a vuosikymmeni¨a. Laitteistot ik¨aa¨ntyv¨at melko
nopeasti, mik¨a johtaa tilanteeseen, jossa ¨alypuhelinten kaltaisesti automalli ei voi saada
uusimpia ohjelmistoja loputtomiin. Mik¨ali autot verkottuvat ja ovat t¨aten alttiina tietoturvariskeille, on selv¨a¨a, ett¨a my¨os vuosikymmeni¨a vanhaa autolaitteistoa pit¨aisi tukea
v¨ahint¨a¨an tietoturvatasolla – tai kytke¨a auto pois verkosta. T¨at¨a teemaa k¨asitell¨a¨an toisesta n¨ak¨okulmasta seuraavassa luvussa: ketk¨a voivat kehitt¨a¨a ohjelmistoja tulevaisuuden
autoihin ja mik¨a on laadunvarmistusprosessi.
Niin ik¨a¨an autokohtaisiin ohjelmistovikoihin pit¨a¨a varautua. Yksi mahdollisuus on auton
huoltaminen ohjelmistojen kautta: mik¨ali autoon tulee ohjelmistovaikutteinen vika, voidaan tietoa l¨ahett¨a¨a analysoitavaksi verkkoyhteyden kautta ja samoin tuotettu korjausp¨aivitys voidaan l¨ahett¨aa¨ autoon verkon v¨alityksell¨a. Perinteisten mekaanikkojen ty¨onkuva muuttuukin tulevaisuudessa, kun auton vikoja voidaan korjata my¨os ohjelmistop¨aivityksill¨a. Autojen tietokoneistuminen on aiheuttanut ongelmia perinteisille mekaanikoille: s¨ahk¨oisi¨a ohjausyksik¨oit¨a on jouduttu vaihtamaan ohjelmistovikojen vuoksi, vaikka
fyysisesti laitteessa ei olisikaan vikaa. (Charette, 2009) Ohjelmistop¨aivitysten merkitys
tuleekin kasvamaan tulevaisuudessa.
16
4.2.3
Avoimet ohjelmistokehitysmahdollisuudet
Kandidaatinty¨on l¨api on k¨aynyt ilmi, ett¨a ohjelmistoilla on alati kasvava merkitys autoissa. T¨ah¨an asti kuitenkaan ulkopuoliset tahot eiv¨at ole voineet kehitt¨a¨a sovelluksia
autoille, vaan koko auton ohjelmistokehitys on ollut valmistajan harteilla. Her¨a¨a kysymys, voisivatko ulkopuoliset ohjelmistoyritykset ja -kehitt¨aj¨at tehd¨a sovelluksia tulevaisuuden autoille, autonvalmistajista riippumatta? Varsinkin ¨alypuhelinten my¨ot¨a on voitu
huomata, ett¨a vapaat ohjelmistokehitysmahdollisuudet ovat edist¨aneet laitteen ominaisuuksia nopeasti.
T¨at¨a kysymyst¨a on sivuttu ensin luvussa 2, jossa esitettiin autonvalmistajien ongelmallinen rooli: valmistajat ovat olleet tietyss¨a v¨alik¨adess¨a, kun osientoimittajat tekev¨at laitteistot ohjelmistoineen. T¨am¨a on osaltaan johtanut ongelmiin kasvavan monimutkaisuuden kanssa autojen arkkitehtuurissa. Autojen laitteiston ja ohjelmiston arkkitehtuuri onkin uudistuksen edess¨a, jotta ohjelmistokehityst¨a helpottuu. Luvussa 3 tutustuttiin Tesla Model S -automalliin, jossa autonvalmistaja on ottanut suuremman roolin laitteistoohjelmistopaketin kehitt¨amisest¨a. Teslan suuri kosketusn¨aytt¨oj¨arjestelm¨a my¨os mahdollistaa monenlaisia uusia sovelluksia. Toisaalta Model S:n ohjelmistokehitysmahdollisuudet
ovat ulkopuolisille hyvin rajalliset.
Teslan ratkaisun olla avaamatta ohjelmistokehitysmahdollisuuksia ulkopuolisille ymm¨art¨a¨a, kun mietit¨a¨an autojen turvallisuuden t¨arkeytt¨a. Auton ohjelmistot ja sovellukset ovat
turvallisuuskriittisempi¨a kuin vaikkapa ¨alypuhelimissa: mahdolliset tietoturva-aukot tai
ohjelmistojen viat voivat johtaa jopa ihmishenkien menetyksiin. T¨ass¨a suhteessa autoja
verrataankin lentokoneisiin: laadunvarmistus hidastaa kehityst¨a ja tekee prosessin kalliimmaksi (Chapuis, 2011, s. 6). Vapaan ohjelmistokehityksen sallimisessa autoille onkin
siis selkeit¨a haasteita.
Ehdotuksia ulkoisen ohjelmoitavuuden sallimiseksi on tehty. Ensimm¨ainen askel kohti ulkoista ohjelmoitavuutta olisi erottaa ulkoiset sovellukset turvallisuuskriittisist¨a j¨arjestelmist¨a, kuten ohjausj¨arjestelm¨ast¨a ja jarruista (Fasbender ym., 2012, s. 7). Lukasiewycz
ym. (2013, s. 5) ehdottavat mallia, jossa uusia sovelluksia voisi ottaa k¨aytt¨oo¨n niin sanotun lean middleware -mallin my¨ot¨a. T¨am¨a tarkoittaa sit¨a, ett¨a auton sis¨aisist¨a ohjelmistoista tarjotaan ohjelmistokehitt¨ajille yksinkertaistettu, abstrahoitu malli saada laitteistolta tietoa. T¨am¨an my¨ot¨a pyritt¨aisiin takaamaan koskemattomuus turvallisuuskriittisiin
ominaisuuksiin.
Buckl ym. (2012, s. 5) ehdottavat kolmiportaista mallia kolmansien osapuolien sovelluskehityksen sallimiseksi. Askeleet 1-2 k¨asittelev¨at ohjausyksik¨oiden yhdist¨amist¨a ja keskitt¨amist¨a. T¨am¨an j¨alkeen voidaan suunnitella auton arkkitehtuuri uudelleen niin, ett¨a auton
toiminnallisuudet olisivat loogisesti j¨arjestettyj¨a. Lopulta voidaan tarjota rajapinta auton toiminnallisuuksien ja ohjelmoitujen sovellusten v¨alille, mit¨a kolmansien osapuolien
17
ohjelmistokehitt¨aj¨at voivat hy¨odynt¨aa¨.
Edell¨a mainitusta mallista huolimatta on selv¨a¨a, ett¨a autoille tarvitaan uudenlainen ohjelmistot huomioonottava laadunvarmistusprosessi, sill¨a j¨arjestelm¨at ovat aina virhealttiita. Lis¨aksi autoteollisuus pyrkii maksimaaliseen kustannustehokkuuteen, mik¨a vaikuttaa
ratkaisujen laatuun negatiivisesti (Broy ym., 2007, s. 6).
Laadunvarmistukseen vastaa vuonna 2011 julkaistu ISO 26262 -standardi, jonka p¨aa¨tarkoituksina on m¨a¨aritell¨a autoille turvallinen elinkaarimalli ja riskinhallinta-asteikko ASIL
(Automotive Safety Integrity Levels). T¨at¨a kautta voidaan luoda vaatimuksia riitt¨av¨alle
turvallisuuden tasolle. Standardin osat 6 ja 7 koskevat tuotekehityst¨a ohjelmistotasolla ja
ajoneuvon tuotanto- ja k¨aytt¨ovaihetta. N¨aiss¨a luvuissa esitell¨a¨an muun muassa ajoneuvojen ohjelmistokehityksen V-malli, joka pyrkii esitt¨am¨a¨an selke¨at vaiheet ohjelmistojen
suunnitteluun, toteuttamiseen, testaamiseen ja integrointiin. (ISO 26262, 2011)
Arkkitehtuurin uudistumisen ja laadunvarmistuksen paranemisen my¨ot¨a olisi mahdollista,
ett¨a voimme tulevaisuuden autoissa n¨ahd¨a ulkoisten tahojen kehitt¨ami¨a aivan uudenlaisia
sovelluksia. T¨am¨a olisi osa luvussa 4.2.2 k¨asitelty¨a kehityst¨a: auton julkistuksessa tuodaan
esille vain alustava malli, jota kehitet¨a¨an auton elinkaaren aikana ohjelmistojen kautta.
Ulkoiset ohjelmistokehitt¨aj¨at kiihdytt¨aisiv¨at t¨at¨a kehityst¨a ja olisivat omalta osaltaan
luomassa auton ekosysteemi¨a.
4.2.4
¨
Alykk
aist¨
a ominaisuuksista kohti ekosysteemi¨
a
¨
Edellisiss¨a luvuissa esiteltiin ¨alykk¨ait¨a sovelluksia sek¨a auton verkottumisen seurauksia.
Kun ¨alypuhelimet ja tietokoneet yhdistyv¨at autoon langattoman verkon kautta, autosta
tulee informaatiokeskus: k¨aytt¨aj¨an tietoja ja dataa voidaan yhdist¨a¨a autoon, hy¨odynt¨am¨a¨an ja personalisoimaan k¨aytt¨okokemusta autosta. Yksinkertainen esimerkki t¨ast¨a on
Tesla Model S:n kalenteri, joka etsii automaattisesti reitit k¨aytt¨aj¨an tapahtumien sijainteihin.
Luvussa 4.2.1 alustettiin aihetta auton ja infrastruktuurin v¨alisest¨a kommunikoinnista.
Verkkoyhteyden my¨ot¨a auto ei ole en¨a¨a pelk¨ast¨a¨an informaatiokeskus, vaan my¨os kommunikaatiokeskus: se toimii autossa olevien laitteiden ja auton ulkopuolella olevien laitteiden v¨alisen¨a linkkin¨a (Broy ym., 2007, s. 7). Yksinkertainen esimerkki t¨ast¨a voisi olla
tilanne, jossa k¨aytt¨aj¨a saa ¨alypuhelimelleen jaetun kokouskutsun, jolla on aika ja paikka. Auto laskee t¨am¨an perusteella reitin ja mik¨ali matkalla on ruuhkaa, se voi ilmoittaa
t¨oihin viiv¨astyksest¨a.
Tulevaisuuden auton rooli informaatio- ja kommunikaatiokeskuksena tarkoittaa k¨ayt¨ann¨oss¨a, ett¨a autot tarjoavat hyvin yksil¨ollisen kokemuksen k¨aytt¨ajilleen. Laitteen muokattavuus ja personalisointi ovat ¨alypuhelimissakin vaikuttaneet k¨aytt¨amisen tyytyv¨ai-
18
syyteen: k¨aytt¨aj¨at voivat ladata uusia sovelluksia laitteeseensa sek¨a muokata laitteen toimintaa ja tuntumaa. Tulevaisuuden autokaan ei tulekaan olemaan en¨a¨a valmistajan arvio
keskim¨aa¨r¨aisen kuluttajan haluamasta tuotteesta, vaan kuluttaja voi itse muokata auton
tuntumaa ja ominaisuuksia sovelluksin. T¨am¨anlainen muokattavuus tulee m¨a¨ar¨a¨am¨a¨an
kuluttajien tyytyv¨aisyytt¨a ja t¨at¨a kautta ostop¨aa¨t¨oksi¨a. (Ziomek ym., 2013, s. 1) Niin
ik¨a¨an Rishi ym. (2008, s. 7) ennakoivat, ett¨a kuluttajat tulevat yh¨a kasvavassa m¨a¨arin
vaikuttamaan autoteollisuuden suuntaan.
Edell¨a mainittujen seikkojen my¨ot¨a puhutaan jo hyvin pitk¨alle autojen ekosysteemist¨a:
auto tarjoaa k¨aytt¨aj¨alle personalisoidun kokemuksen ¨alykk¨aill¨a sovelluksilla, jotka yhdist¨av¨at k¨aytt¨aj¨an muut laitteet auton ja infrastruktuurin v¨alille.
5
Loppusanat ja yhteenveto
T¨ass¨a kandidaatinty¨oss¨a k¨asiteltiin autojen ohjelmistokehityksen k¨aynniss¨a olevaa muutosta. Luvussa 2 todettiin autojen ohjelmistokehityksen heijastelleen ennen hyvin pitk¨alti
auton laitteiston ja arkkitehtuurin asettamia rajoja. Arkkitehtuurin monimutkaisuus ja
ohjelmistojen laitteistokohtaisuus on hidastanut ohjelmistokehityksen nopeutta autoilla.
Kuten luvusta 4.1 k¨avi ilmi, auton arkkitehtuurin ja laitteiston suhdetta pyrit¨a¨an yksinkertaistamaan ja selkeytt¨am¨a¨an niin, ett¨a ohjelmistokehitys helpottuisi.
Luvussa 3 tutkittiin s¨ahk¨oautonvalmistaja Teslan Model S -automallia, joka on n¨aytt¨anyt
suuntaa kohti uudenlaisia ¨alykk¨ait¨a autosovelluksia ja internetin palveluita. Model S:ss¨a
on 17-tuumainen kosketusn¨aytt¨otietokone kojelaudalla, johon on integroitu perinteisi¨a ja
aivan uudenlaisia sovelluksia: muun muassa musiikkitoiminnot, navigointipalvelut, auton
asetukset, pys¨ak¨ointiavustin ja jopa verkkoselain. Tesla hy¨odynt¨aa¨ internetyhteytt¨a autossaan esimerkiksi ajamisen sujuvoittamiseksi: muilta Tesla-autoilta ker¨at¨a¨an tietoa liikenteen ruuhkaisuudesta ja t¨at¨a hy¨odynnet¨aa¨n reitinvalinnassa. Tesla on my¨os julkaissut
ensimm¨aiset ominaisuudet auton itseajoon liittyen, mik¨a tulee kehittym¨a¨an tulevaisuudessa.
Tulevaisuudesta on n¨aht¨aviss¨a auton j¨arjestelmien yhdistyminen monipuolisiin internetiss¨a sijaitseviin palveluihin (Broy ym., 2007, s. 15). T¨am¨a on n¨aht¨aviss¨a Teslan n¨aytt¨am¨an
esimerkin avulla. Olemmekin tulleet pisteeseen, jossa vain 20 vuotta sitten mahdottomiksi tuomittuja ominaisuuksia on nyt toteutettu ohjelmistojen avulla. L¨ahestymme t¨aten
ajatusta ¨alykk¨a¨ast¨a autosta. (Broy ym., 2007, s. 1)
Tulevaisuudessa tulemme n¨akem¨a¨an yh¨a enemm¨an ¨alykk¨ait¨a sovelluksia, jotka hy¨odynt¨av¨at verkon kautta saatavaa tietoa. T¨am¨an kautta on n¨aht¨aviss¨a, ett¨a autot yhdistyv¨at
osaksi infrastruktuuria. Verkko mahdollistaa niin ik¨a¨an ohjelmistojen p¨aivittymisen ja t¨at¨a kautta aivan uudenlaisen tavan ymm¨art¨a¨a auton k¨asitteen: auto ei pysy samanlaisena
19
koko elinkaarensa aikana, vaan uudenlaiset ja p¨aivittyv¨at sovellukset tuovat lis¨a-¨aly¨a autoon. T¨ast¨a her¨a¨akin kysymys, ketk¨a voivat kehitt¨a¨a tulevaisuudessa sovelluksia autoille?
Niin sanottu lean middleware -malli, jossa laitteiston ja ohjelmistokehitysmetodien v¨aliin
tarjottaisiin yksinkertaistava rajapinta, olisi askel kohti ulkoista ohjelmoitavuutta.
Luvussa 4.2 autojen kehityst¨a vertailtiin tietokoneiden ja ¨alypuhelimien kehitykseen, jossa laitteiden verkottuminen on mullistanut ohjelmistokehityksen. Autojen tulevaisuudessa onkin n¨aht¨aviss¨a paljon samoja elementtej¨a: ohjelmistot tulevat m¨a¨aritt¨am¨a¨an niiden
mahdollistaman ekosysteemin kautta kuluttajien mielipiteit¨a ja ostop¨a¨at¨oksi¨a. Kuitenkin luonnollisesti autoissa on my¨os isoja eroja tietokoneisiin ja ¨alypuhelimiin verrattaessa. Esimerkkin¨a ovat tietoturvakysymykset, sill¨a auton ohjelmistohaavoittuvuuden kautta voisi tapahtua muun muassa vakavia liikenneonnettomuuksia. Kuljettajat eiv¨at voi
my¨osk¨a¨an keskitty¨a ajossa sovellusten k¨aytt¨amiseen kosketusn¨ayt¨oilt¨a. Autot asettavatkin erilaisia vaatimuksia ja haasteita ohjelmistokehitykselle.
Selke¨aa¨ on kuitenkin, ett¨a autonvalmistajat tulevat kilpailemaan ¨alykk¨aill¨a sovelluksilla ja
verkottumisen mahdollisuuksilla tulevaisuuden autoissa: on ennakoitu, ett¨a tulevaisuuden
innovaatioista 80 prosenttia on ohjelmistopohjaisia (Charette, 2009). Kuten luvusta 3
k¨ay ilmi, Tesla on avannut t¨am¨an kilpailun uudenlaisilla ¨alykk¨aill¨a sovelluksilla. Niin
ik¨a¨an ensimm¨aiset alkeelliset ulkoiset sovellukset on kirjoitettu Model S:lle ep¨avirallisen,
mobiilisovelluksen perusteella rakennetun rajapinnan avulla. Onko t¨am¨a ep¨avirallinen,
mutta tietoinen ovenavaus Teslalta kohti vapaampaa ulkoista ohjelmoitavuutta?
Tietokoneiden ja ¨alypuhelinten ohjelmistokehityksest¨a on huomattu, ett¨a vapaiden ohjelmistokehitysrajapintojen tarjoaminen on kiihdytt¨anyt alustan kehityst¨a huomattavasti.
T¨ah¨an verraten voidaan todeta, ett¨a tietoturvallisen vapaan ohjelmistokehitysrajapinnan
tarjoaminen olisi autovalmistajille selv¨a kilpailuvaltti, joka muidenkin autonvalmistajien
pit¨aisi toteuttaa, mik¨ali pyrkiv¨at kilpailemaan samassa autosegmentiss¨a. T¨am¨anlaisen
kilpailun ja ty¨oss¨a k¨asitellyn kehityksen my¨ot¨a voidaan todeta olevan vain ajan kysymys,
milloin vapaampi ohjelmistokehitys autoille on mahdollista ja n¨aemme aivan uudenlaisen
joukon ¨alykk¨ait¨a autosovelluksia.
Kuten ¨alypuhelimienkin ohjelmistokehityksest¨a olemme huomanneet, on vaikea ennustaa
tarkalleen, mink¨alaisia uusia a¨lykk¨ait¨a sovelluksia tulemme tulevaisuudessa n¨akem¨aa¨n –
periaatteessa vain kehitt¨ajien mielikuvitus on rajana. T¨am¨an kautta on helppo ymm¨art¨a¨a,
ett¨a jo kymmenen vuoden kuluttua Tesla Model S ja sen nykyiset ominaisuudet sellaisenaan eiv¨at en¨a¨a edusta kehityksen ter¨avint¨a k¨arke¨a. Niin ik¨a¨an on todenn¨ak¨oist¨a, ett¨a
t¨ass¨a kandidaatinty¨oss¨a esitellyt ominaisuudet eiv¨at tule olemaan viel¨a kymmenenk¨aa¨n
vuoden p¨a¨ast¨a t¨aysin ly¨oneet l¨api. Teknologisilla edistyksill¨a on my¨os aina yhteiskunnalliset haasteensa, joiden yli pit¨a¨a p¨a¨ast¨a. Tesla Model S on kuitenkin ollut t¨arke¨a askel
kohti ¨alyk¨ast¨a autoa, joten voimmekin odottaa merkitt¨avi¨a edistysaskelia t¨am¨ankaltaiseen kehitykseen jo l¨ahitulevaisuudessa.
20
L¨
ahteet
Luigi Atzori, Antonio Iera ja Giacomo Morabito. The internet of things: A survey. Computer Networks, 54(15):2787 – 2805, 2010. ISSN 1389-1286. doi: http:
//dx.doi.org/10.1016/j.comnet.2010.05.010. URL http://www.sciencedirect.com/
science/article/pii/S1389128610001568.
Jonas Bereisa. Applications of microcomputers in automotive electronics. Industrial
Electronics, IEEE Transactions on, IE-30(2):87–96, May 1983. ISSN 0278-0046. doi:
10.1109/TIE.1983.356715.
M. Broy, IH. Kruger, A Pretschner ja C. Salzmann. Engineering automotive software.
Proceedings of the IEEE, 95(2):356–373, Feb 2007. ISSN 0018-9219. doi: 10.1109/
JPROC.2006.888386.
Manfred Broy. Challenges in automotive software engineering. Proceedings of the 28th
International Conference on Software Engineering, ICSE ’06, sivut 33–42, New York,
NY, USA, 2006. ACM. ISBN 1-59593-375-1. doi: 10.1145/1134285.1134292. URL
http://doi.acm.org/10.1145/1134285.1134292.
C. Buckl, A. Camek, G. Kainz, C. Simon, L. Mercep, H. Stahle ja A. Knoll. The software
car: Building ict architectures for future electric vehicles. Electric Vehicle Conference
(IEVC), 2012 IEEE International, sivut 1–8, March 2012. doi: 10.1109/IEVC.2012.
6183198.
Tommy Carpenter, Lukasz Golab ja Sohail Javaad Syed. Is the grass greener?: Mining
electric vehicle opinions. Proceedings of the 5th International Conference on Future
Energy Systems, e-Energy ’14, sivut 241–252, New York, NY, USA, 2014. ACM. ISBN
978-1-4503-2819-7. doi: 10.1145/2602044.2602050. URL http://doi.acm.org/10.
1145/2602044.2602050.
Samarjit Chakraborty, Martin Lukasiewycz, Christian Buckl, Suhaib Fahmy, Naehyuck Chang, Sangyoung Park, Younghyun Kim, Patrick Leteinturier ja Hans Adlkofer. Embedded systems and software challenges in electric vehicles. Proceedings of
the Conference on Design, Automation and Test in Europe, DATE ’12, sivut 424–
429, San Jose, CA, USA, 2012. EDA Consortium. ISBN 978-3-9810801-8-6. URL
http://dl.acm.org/citation.cfm?id=2492708.2492815.
Denis Chapuis. Automotive and aerospace electronics, 2011. URL http://www.sae.org/
events/training/symposia/ivs/presentations/2011/denis_chapuis.pdf.
Robert N Charette. This car runs on code. IEEE Spectrum, 46(3):3, 2009.
21
Gregory Davis.
Understand can, lin, and flexray buses for automotive apps,
2012.
URL http://www.edn.com/design/test-and-measurement/4391269/
Debugging-automotive-serial-buses--CAN--LIN-and-FlexRay-exposed. Viitattu 11.10.2014.
Ecomento.
Tesla infotainment system, 2014.
URL http://cdn.ecomento.com/
wp-content/uploads/2014/03/tesla-hacker-740x425.jpg. Viitattu 3.12.2014.
Andreas Fasbender, Martin Gerdes ja Sascha Smets. Cellular networking technologies in
its solutions: Opportunities and challenges. Communication Technologies for Vehicles,
4th International Workshop, Nets4Cars/Nets4Trains 2012, sivut 1–13, 2012. ISBN
978-3-642-29666-6.
Georg Georgakos, Ulf Schlichtmann, Reinhard Schneider ja Samarjit Chakraborty. Reliability challenges for electric vehicles: From devices to architecture and systems
software. Proceedings of the 50th Annual Design Automation Conference, DAC ’13,
sivut 98:1–98:9, New York, NY, USA, 2013. ACM. ISBN 978-1-4503-2071-9. doi:
10.1145/2463209.2488855. URL http://doi.acm.org/10.1145/2463209.2488855.
iDeviceNews. ios review, 2013. URL http://idevicenews.nl/ios-os-x/ios-review/.
Viitattu 26.11.2014.
IHS. Teardown, tesla 2013 model s, 2014. URL https://technology.ihs.com/510023/
teardown-tesla-2013-model-s. Viitattu 24.11.2014.
ISO 26262. Road vehicles – functional safety, 2011. International Organization for Standardization, Geneva, Switzerland.
A. Khajepour, S. Fallah ja A. Goodarzi. Electric and Hybrid Vehicles: Technologies,
Modeling and Control - A Mechatronic Approach. Wiley Desktop Editions. Wiley, 2014.
ISBN 9781118403112. URL http://books.google.fi/books?id=zhznAgAAQBAJ.
Veikko Lautsi. Koeajo: Teslan s-malli on s¨ahk¨oautojen joukossa omaa luokkaansa. 2014.
URL http://www.hs.fi/autot/a1389335384682. Viitattu 12.10.2014.
Martin Lukasiewycz, Sebastian Steinhorst, Sidharta Andalam, Florian Sagstetter, Peter
Waszecki, Wanli Chang, Matthias Kauer, Philipp Mundhenk, Shreejith Shanker, Suhaib A. Fahmy ja Samarjit Chakraborty. System architecture and software design for
electric vehicles. Proceedings of the 50th Annual Design Automation Conference, DAC
’13, sivut 95:1–95:6, New York, NY, USA, 2013. ACM. ISBN 978-1-4503-2071-9. doi:
10.1145/2463209.2488852. URL http://doi.acm.org/10.1145/2463209.2488852.
Google Play. Tesla model s beta application, 2014. URL https://play.google.com/
store/apps/details?id=com.teslamotors.tesla&hl=en. Viitattu 2.12.2014.
22
Reaktor.
Tesla-tunkkaajan tuntemuksia, 2014.
URL http://reaktor.fi/blog/
tesla-tunkkaajan-tuntemuksia/. Viitattu 2.12.2014.
Sanjay Rishi, Benjamin Stanley ja Kalman Gyimesi. Automotive 2020: Clarity beyond the
chaos. 2008. URL http://www-07.ibm.com/shared_downloads/6/IBM_Automotive_
2020_Study_Clarity_beyond_the_Chaos.pdf.
Tesla Motors. Dual motor model s and autopilot, 2014a. URL http://www.teslamotors.
com/blog/dual-motor-model-s-and-autopilot. Viitattu 17.10.2014.
Tesla Motors. Software v6.0, 2014b.
software-v60. Viitattu 17.10.2014.
URL http://www.teslamotors.com/blog/
Tesla Motors Club.
Model s software/firmware changelog, 2014.
URL
http://www.teslamotorsclub.com/showwiki.php?title=Model+S+software+
firmware+changelog. Viitattu 5.11.2014.
TeslaTap.
Tesla Model S ominaisuudet, 2014.
undocumented/. Viitattu 23.11.2014.
URL http://teslatap.com/
Helge
Zinner,
Oliver
Kleineberg,
Christian
Boiger
ja
Andreas
Grzemba.
Automotive
requirements
and
definitions,
2012.
URL
http://www.ieee802.org/1/files/public/docs2012/
new-avb-zinner-boiger-kleineberg-automotive-requirements-0112-v01.pdf.
Viitattu 11.10.2014.
Joe Ziomek, Len Tedesco ja Tom Coughlin. My car, my way: Why not? i paid for it!
Consumer Electronics Magazine, IEEE, 2(3):25–29, 2013.
23