
Autoteollisuuden ohjelmistokehitys on murroksessa. Perinteinen C- ja C++-pohjainen kehitys saa rinnalleen uuden tulokkaan, kun Rust-ohjelmointikieli tekee tuloaan ajoneuvojen ohjainyksiköihin. Muutos ei kuitenkaan tarkoita vanhan korvaamista, vaan uuden rakentumista olemassa olevan päälle.
Saksalainen HighTec EDV-Systeme esitteli Nürnbergin Embedded World -messuilla kehitysalustan, jossa Rust ja C/C++ toimivat rinnakkain samassa työkaluketjussa. Yhtiön mukaan autojen siirtyminen kohti ohjelmistomääriteltyä arkkitehtuuria pakottaa kehittäjät ottamaan käyttöön uusia ohjelmointimalleja ilman, että vuosikymmenten aikana kertynyt koodipohja voidaan hylätä.
Rustin keskeinen etu on muistiturvallisuus. Kieli estää kokonaisen luokan virheitä, kuten puskuriylivuodot ja osoitinviittausvirheet, joilla on ollut keskeinen rooli sekä ohjelmistobugeissa että tietoturva-aukoissa. Autoissa, joissa ohjelmisto ohjaa yhä kriittisempiä toimintoja, tämä on merkittävä parannus.
Tästä huolimatta C ja C++ säilyvät keskeisessä roolissa. Autoteollisuudessa on käytössä valtava määrä legacy-koodia, valmiita AUTOSAR-ohjelmistopinoja sekä sertifioituja komponentteja, joiden uudelleenkirjoittaminen ei ole realistista. Lisäksi matalan tason laiteajurit ja reaaliaikaiset toiminnot toteutetaan edelleen pitkälti C:llä.
Käytännössä kehitys etenee hybridimalliin. Uudet ohjelmistokomponentit voidaan kirjoittaa Rustilla, kun taas olemassa oleva logiikka säilyy C/C++-koodina. Nämä yhdistetään samaan binääriin rajapintojen kautta, jolloin kehittäjät voivat hyödyntää molempien kielten vahvuuksia.
HighTecin alusta perustuu LLVM-kääntäjäteknologiaan ja tukee useita autoissa käytettäviä prosessoriarkkitehtuureja, kuten Infineonin AURIX-, Renesasin RH850-, Arm- ja RISC-V -ytimiä. Yhtenäinen työkaluketju mahdollistaa saman ohjelmiston kehittämisen eri ohjainyksiköille ilman erillisiä käännösympäristöjä.
Samalla alusta tuo tekoälyn lähemmäs ajoneuvon ohjaimia. ONNX-muotoiset neuroverkkamallit voidaan kääntää suoraan optimoiduksi C-koodiksi ja ajaa mikrokontrollereilla. Tämä mahdollistaa AI-toimintojen integroinnin ilman erillisiä kiihdyttimiä tai pilviyhteyksiä.
Keskeistä on, että kaikki tämä tapahtuu autoalan tiukkojen vaatimusten puitteissa. Työkaluketju on suunniteltu täyttämään ISO 26262 -standardin korkeimmat ASIL D -turvallisuusvaatimukset sekä kyberturvastandardi ISO 21434:n.
Rustin tulo autoihin ei siis ole nopea vallankumous, vaan hallittu evoluutio. Uusi kieli tuo mukanaan parempaa turvallisuutta ja modernimpia kehitysmalleja, mutta rakentuu vahvasti C/C++-perinnön varaan. Auton ohjelmisto ei vaihdu yhdessä yössä, mutta sen kehitystapa on jo muuttumassa.





















