Eind februari was er in Neurenberg opvallend weinig écht nieuws te zien op Embedded World, Europa’s grootste event voor embedded systemen. Als je er goed naar kijkt, zijn het eigenlijk dezelfde componenten, processoren en softwareontwikkelgereedschappen, met wat nieuwe features. Op de conferentie is het nu meer C++ dan C en nog steeds praktisch gericht, maar verder ook niets wereldschokkends.
Nieuw is vooral hoe alles is opgehangen aan de trends van deze tijd. Een paar jaar geleden was dat met de groei van de software in automotive safety. Ineens ging het bij alle stands en presentaties over Iso 26262. Toen kwam iot en dit jaar is security een groot issue voor embedded. Dit uiteraard naast autonomous driving, en de embedded vision die dat weer mogelijk moet maken. Je ziet zelfs auto’s als standlokkers.
Het meest verbazend is dat er vooral sausjes over de bestaande producten heen worden gelegd en dat daar dan alle aandacht en geld naartoe gaat. In het geval van safety en security is dat naar mijn mening en ervaring nogal inefficiënt. Er zijn steeds meer bedrijven op de beurs die support bieden bij het safe en secure maken van jouw embedded oplossing. Iedereen claimt de oplossing te hebben, maar bij doorvragen blijkt het veelal slechts een specifiek kunstje (softwaretool of service) dat maar een klein onderdeel van het geheel doet. De rest moet je zelf doen, of door weer anderen laten doen.
De hoeveelheid statische analysetools en procesmatige aanpakken om software safe en secure te krijgen volgens de diverse regels is zo groot dat je als embedded-ontwikkelaar door de bomen het bos niet meer ziet. Voor een ontwikkelaar is denk ik de tijd rijp voor minder checkers, consultants en services en daarvoor in de plaats betere softwaregereedschappen en hardware die je al by design safe en secure embedded systemen helpen bouwen. Iot is typisch een van de gebieden waar je als integrator alles van sensor, device, netwerk tot database geïntegreerd safe en secure moet zien te krijgen, een onmogelijke taak als je weet dat elk onderdeel by design dat al niet is.
En dan verschilt het safe en secure maken ook nog wezenlijk per marktsegment, wat nog meer bedrijven en aparte business genereert per segment. Als je een embedded systeem voor een auto ontwikkelt, moet je voor safety volgens de Iso 26262-norm werken, wat vooral inhoudt dat je moet aantonen dat je ‘genoeg’ hebt getest om je certificaat te krijgen. Lees: genoeg om aansprakelijkheid af te wenden als het fout gaat. In de luchtvaart gaat het heel anders; het moet bewezen goed zijn. Met alleen testen kom je niet weg.
Waarom worden niet álle embedded systemen by design bewezen correct ontworpen en gebouwd? In mijn opinie is dat voor de hele keten goedkoper dan achteraf met legers consultants, checkingtools en instituten proberen te bewijzen dat wat je gebouwd hebt helemaal goed is. Dat wordt het natuurlijk nooit. Niemand wil drastisch investeren in nieuwe technieken en bijbehorende enabling softwaretools. Dit terwijl iedereen wel, door angst gevoed, een godsvermogen uitgeeft aan tools, testen en services om een certificaat van een instituut te krijgen, en dat nog apart voor elk marktsegment.
Er zijn trouwens enkele partijen op Embedded World die wel inspelen op dit issue. Bijvoorbeeld het Duitse Absint, dat met het door Inria ontwikkelde Compcert bewezen correcte compilers ontwikkelt voor de luchtvaartindustrie. Software testen en certificeren blijkt daarmee een stuk goedkoper te worden voor embedded-ontwikkelaars.
Ook Nederlandse bedrijven blazen een toontje mee op dit gebied. Op de Logic-stand stond Verum met een software-by-design-aanpak om bewijsbare toepassingen te ontwikkelen. Ook zijn er Intrinsic ID, dat chips al by design een securitybasis kan geven, en de security en/of safety controlerende consultants-met-gereedschappen van Riscure en Brightsight, beide uit Delft.
Er zijn legio technieken voor het ontwikkelen van systemen die safe en secure zijn by design. Rondlopen op Embedded World bevestigt echter dat de ontwikkelaars en leveranciers in embedded meer een evolutionair pad volgen en stap voor stap bestaande aanpakken dicht proberen te timmeren met procedures en checkers. Voorlopig zal niemand garanderen dat een gewone auto echt safe en secure is, laat staan een zelfrijdende met machine learning en ai-gestuurde embedded vision.