Cada vegada més, el programari s’està convertint en el factor determinant en el desenvolupament de l’automòbil. Marius Mihailovici, director general de Porsche Engineering Romania, analitza el futur de el desenvolupament de programari i explica per què la feina d’un programador podria canviar completament en els propers 20 anys.
Fins i tot avui en dia, els cotxes són en gran mesura ordinadors rodants. Posseeixen una xarxa de dotzenes d’unitats de control electrònic (ECU), entre 70 i 100 en un vehicle modern. Aquestes ECU controlen la injecció de combustible, regulen el funcionament dels frens i supervisen el sistema d’aire condicionat. El següent pas seran les HCP (High Performance Computing Platforms), que permetran integrar en una ECU una potència de càlcul molt més gran.
La major potència de càlcul i la integració són necessàries perquè el nombre de línies de codi i la complexitat de les funcions de el vehicle augmenten any rere any. Una xifra pot aclarir-ho: 100 milions. És el nombre de línies de codi d’un cotxe modern. En comparació, un Boeing 787 Dreamliner només té 14 milions de línies de codi.
També hi ha moltes línies de codi darrere de el sistema d’entreteniment i navegació. A això cal afegir la possibilitat de connectar smartphones i altres dispositius a el cotxe, que també és possible només amb un programari complex. I la cosa no acaba aquí. El programari està assumint cada vegada més tasques importants al cotxe. Les funcions més importants avui i en el futur són l’intercanvi de dades amb altres usuaris de la carretera i amb la infraestructura, l’actualització dels vehicles des del núvol i, amb el temps, fins i tot la conducció autònoma.
Aconseguir l’equilibri en el desenvolupament de programari per a automòbils s’ha tornat una cosa molt complicada. Cal complir les normes de seguretat i els requisits dels clients en forma d’extenses especificacions. Els processos de desenvolupament convencionals en la indústria solen estar subjectes a un calendari predeterminat que defineix certs avenços. Els clients esperen resultats regulars en dates concretes.
A això s’afegeixen els processos d’aprovació oficial coneguts com homologació. Per exemple, s’estipula que els vehicles no poden sortir a l’mercat fins que hagin estat fabricats i validats en una determinada quantitat. A la fin, en la indústria sempre es tracta de passar d’un estat «acabat» a el següent. Tots aquests reptes fan que es requereixi un treball ràpid i flexible. Els objectius solen fixar-se amb poca antelació i canvien ràpidament. Es podria dir que el programari es desenvolupa en un procés orientat als resultats.
“L’ús de mètodes àgils i d’integració contínua garanteix una major eficiència i també ofereix als nostres clients un valor afegit»
Marius Mihailovici
A Cluj, els nostres programadors treballen amb eines que han demostrat la seva eficàcia en el desenvolupament de programari durant 20 anys. Utilitzem mètodes àgils sempre que és possible. Es basen en petits passos de desenvolupament els resultats es comproven en sèries diàries de retroalimentació. Els equips individuals tenen una gran llibertat i treballen directament entre si per recolzar-se en les seves respectives capacitats. Fixen amb flexibilitat els seus propis objectius cada dia. Els caps d’equip solen tenir aquí només una funció moderadora per no perdre de vista el panorama general.
Un altre paradigma actual de desenvolupament de la programació és la «integració contínua». Es tracta d’un procés molt automatitzat, en el qual els elements es comproven a el final d’una jornada de treball per veure si estan preparats per funcionar i integrar-se al sistema general. D’aquesta manera, podem identificar i eliminar ràpidament els errors i problemes. L’ús de mètodes àgils i d’integració contínua garanteix una major eficiència i també ofereix als nostres clients un valor afegit: facilita la presentació de resultats provisionals i els dóna l’oportunitat de rebre una ràpida resposta.
Per als propers cinc anys, espero veure un ús creixent dels mètodes descrits anteriorment. El nostre treball estarà més orientat als resultats que a el temps. És probable que les jerarquies dels equips perdin importància i preveig un major grau d’equips plànols i autoorganitzats amb responsabilitats clares. A més, serà molt més freqüent treballar de forma flexible des de diferents llocs, basant-se en la idea aprofitar l’experiència de les persones siguin on siguin. També assistirem a una creixent automatització en els propers anys. Cada vegada és més freqüent que el mateix programari sigui provat pel programari i no per les persones. Les proves manuals desapareixeran del tot.
Els límits entre el cotxe i l’entorn es difuminen
Els avenços fora de la indústria de l’automòbil també ens obligaran a replantejar-nos les coses, ja que els cotxes estan cada v
ez més integrats en la vida digital dels seus conductors. Per exemple, el telèfon intel·ligent es connecta automàticament a el vehicle a l’entrar-hi. L’ús dels continguts, la navegació i la comunicació es fusionen a la perfecció.
“Cada vegada és més freqüent que el mateix programari sigui provat pel programari i no per les persones. Les proves manuals desapareixeran per complet »
Marius Mihailovici
Aquest tipus d’utilització canviarà el treball dels nostres desenvolupadors, per la senzilla raó que els límits entre el «programari d’automoció» pur i altres aplicacions s’estan difuminant. Per cert, això també requereix una determinada mentalitat per part dels nostres desenvolupadors: emprem a persones que viuen l’estil de vida digital. No només saben el que demanen els nostres clients, també el que els usuaris de vehicles esperen dels seus cotxes.
Les ECU de el futur influeixen en el desenvolupament de la programació
Les noves arquitectures de les ECU també estan canviant la forma de desenvolupar el programari de l’automòbil. Suposo que en el cotxe de el futur hi haurà uns pocs ordinadors centrals molt potents de l’tipus HCP que, juntament amb unitats subordinades més senzilles, controlaran tot el vehicle. Aquestes unitats centrals també s’executaran totes les aplicacions que vagin més enllà de les funcions bàsiques, com l’entreteniment, el tràfic de dades o les aplicacions de comunicació amb els passatgers. Aquests ordinadors centrals, amb un veritable sistema operatiu, converteixen realment el cotxe en un PC sobre quatre rodes.
“La feina dels programadors no només estarà determinat pels requierimientos dels fabricants, també pels consumidors»
Marius Mihailovici
Per als desenvolupadors, això significa que els mètodes del seu treball no varien tant. El que canvia són els sistemes amb els que tracten: són més jeràrquics, tenen menys components i estan controlats per un programari global. I, com qualsevol, rep actualitzacions periòdiques. Així que no es desenvoluparà i instal·larà una vegada, sinó que es perfeccionarà constantment, fins i tot quan el cotxe ja està en mans de client.
Un futur sense programadors?
La pregunta no és en absolut absurda: ¿hi haurà encara desenvolupadors en el futur? Alguns experts assumeixen que, en les pròximes dues dècades, la intel·ligència artificial (IA) es farà càrrec de el desenvolupament de programari per complet, fins i tot en la indústria de l’automòbil. No obstant això, les veus són a l’respecte. Personalment, m’imagino que seguirem establint el marc i que la IA s’encarregarà de implementar-lo. Seguirem necessitant arquitectes de programari, enginyers de requisits i enginyers de programari per definir el que la IA o les xarxes neuronals faran: generar funcions basades en els requisits definits, provar-les automàticament i corregir-les contínuament fins que la qualitat del programari arribi al nivell esperat.
Per tant, els desenvolupadors de el futur hauran de ser capaços de pensar en termes de sistemes complets i saber com utilitzen els seus vehicles els clients finals. Cada vegada més, el seu treball no només estarà determinat pels requierimientos dels fabricants, també pels consumidors. No obstant això, hi ha una cosa que no puc imaginar: un programari completament sense «errors». Sempre hi haurà errors, només que no hem de ia corregir-nosaltres mateixos: el futur nou sistema ho farà, supervisat per experts humans.
Marius Mihailovici
Marius Mihailovici és director general de Porsche Engineering Romania des 2016. Anteriorment, va dirigir la investigació i el desenvolupament en Alcatel-Lucent S.A./Nokia Oyj, on també va treballar com a Director de Programari per a projectes de 2G i 3G. A World Telecom va exercir tasques com a enginyer de comunicacions.