Continue optimalisatie begint bij low code

Software-updates zijn de normaalste zaak van de wereld. Tenminste, op pc’s en smartphones. Voor machines ligt dat radicaal anders. Als die eenmaal zijn afgeleverd, is het nu nog zo ingewikkeld en tijdrovend om de programmatuur bij te werken dat klanten er liever helemaal van afzien. Pas als het oude systeem echt achterhaald is, kiezen ze noodgedwongen voor een geheel nieuwe machine. Met low-code softwaredesign als middelpunt loopt er sinds vorig jaar een Europees gesubsidieerd onderzoeksproject dat dit probleem te lijf gaat.

Alexander Pil
30 juni

‘Ik heb me altijd vreselijk geërgerd hoe moeilijk het is om foutloze software te ontwikkelen.’ Benno Beuting, directeur en oprichter van Cordis Suite, windt er geen doekjes om. ‘In beginsel is het immers niet de software waar het om gaat. Je hebt die code alleen nodig om het gedrag te realiseren dat je op systeemniveau allang helemaal hebt uitgedacht.’

Die irritatie is tot op de dag van vandaag Beutings intrinsieke motivatie om andere wegen te bewandelen en betere oplossingen te bedenken. Hij gelooft heilig in de kracht van low-code applicatieontwikkeling. En daarin staat Beuting bepaald niet alleen. Gartner voorspelde vorig jaar dat die grafische, modelgebaseerde programmeermethodiek tegen 2024 verantwoordelijk zal zijn voor meer dan 65 procent van de totale applicatieontwikkeling.

Om uit te leggen wat low code inhoudt, trekt Beuting de parallel met WordPress. ‘Een jaar of tien geleden leverden hogescholen in grote getale html-programmeurs af. Om een website te bouwen, had je in die tijd een softwarespecialist nodig. Die afdelingen zijn inmiddels volledig opgedoekt. Waarom? WordPress heeft voor een volledige disruptie gezorgd. Websites bouwen is geen hogere wiskunde meer, en je hoeft er al helemaal niet voor te coderen. Het is nu onderdeel van een grafische studie of een marketingopleiding.’

‘Door WordPress is er een ontkoppeling ontstaan tussen de beschrijving van de website en de daadwerkelijke code’, gaat Beuting verder. ‘Als er een nieuwe release wordt uitgebracht, heeft iedereen gelijk de beschikking over allerlei nieuwe functionaliteiten die ze razendsnel in hun site kunnen integreren. Ze kunnen bijvoorbeeld het webbezoek beter tracken en analyseren of met artificial intelligence een dynamische site bouwen die zich aanpast aan de bezoeker. Door die splitsing kun je super eenvoudig de nieuwste technologieën uitrollen op je bestaande platform.’

Machine Learning Conference

Dynamisch gedrag

De voordelen van low-code softwareontwikkeling zijn ook in de industriële automatisering zeer welkom. Tot diezelfde conclusie kwam Siemens twee jaar geleden. Daarom legde de grootmacht liefst 730 miljoen dollar op tafel voor de overname van een van de koplopers in low code: Mendix. Dat van oorsprong Rotterdamse bedrijf is inmiddels uitgegroeid tot het speerpunt in Siemens’ digitaliseringsstrategie. Het tekent hoeveel waarde de industrie hecht aan snelle softwareontwikkeling. Hoe efficiënt zou het immers niet zijn als een domeinspecialist zelf hardwareonafhankelijke code kan genereren op basis van het grafische model dat hij heeft opgezet?

Met de low-codeaanpak komt die visie binnen handbereik. ‘Traditionele programmeurs willen er vaak niet aan, ontkennen het zelfs’, heeft Beuting ervaren. ‘Dat komt natuurlijk voort uit de terechte angst dat het hun vakgebied bedreigt. Zo snel als bij webdesign zal het niet gaan, maar voor mij is duidelijk dat low code de toekomst is. Sterker nog: het gebeurt al in de praktijk.’

Additive Industries heeft de software van zijn 3d-metaalprinter volledig via de low-codeaanpak ontwikkeld. Foto: Additive Industries

Het gebruik van low-codeplatforms beperkt zich zeker niet tot apps voor in de manufacturing execution system-laag (het domein van Mendix) en eenvoudige machines. Met een tool als Cordis Suite kunnen embedded en plc-applicaties worden ontwikkeld voor de aanstuursoftware in complexe machines. Zo heeft Additive Industries de software voor zijn industriële 3d-metaalprinters volledig met low code gebouwd. ‘Dat is een ingewikkeld systeem, met honderdduizenden toestanden’, aldus Beuting. ‘Er wordt vaak gedacht dat low-coding alleen goed werkt bij eenvoudige machines, maar juist bij complexere systemen is er meer noodzaak. Voor mij als systeemengineer bestaat een groot systeem altijd uit meerdere kleine systemen. Als je het goed aanpakt, kun je die applicaties stuk voor stuk met low code bouwen en daarna samenvoegen.’

Low-coding ondersteunt het systeemdenken omdat je op een hoger abstractieniveau je machine beschrijft. Dat begint met een decompositie van het systeem in onderdelen en met goed gedefinieerde interfaces tussen die blokken. ‘In een low-codeplatform voor industriële aansturingssoftware zoals Cordis Suite beschrijf je van alle deelsystemen afzonderlijk het dynamische gedrag’, legt Beuting uit. ‘Dat leidt tot een beschrijving van het geheel en daar genereren we dan de code voor. Geautomatiseerd, leesbaar en foutloos. Nou ja, de foutmarge is heel veel kleiner, want het model zelf moet uiteindelijk ook kloppen. Dat blijft tot op zekere hoogte mensenwerk, maar omdat je de systeembeschrijving op een hoog abstractieniveau kunt valideren, kunnen alle disciplines input leveren en ben je niet aangewezen op puur de kennis en kunde van de programmeur.’

Tesla

Ondanks de aantrekkelijke vooruitzichten van low-code softwareontwikkeling vormt het hooguit een deel van de oplossing. Via het High Tech Software Cluster is Beuting mede-initiatiefnemer van het breedgedragen Machinaide-consortium dat eind vorig jaar subsidie toegewezen heeft gekregen vanuit het Europese Itea3-programma. Om uit te leggen wat de plannen zijn, maakt Beuting de analogie met de autowereld: ‘We zijn in deze regio heel goed in het maken van hightech systemen. Dat zijn de BMW’s en Mercedessen onder de machines. Maar ja, als ik zo’n auto voor de deur heb staan, en de buurman koopt vijf jaar later het nieuwste model, dan wil ik ook een nieuwe. Die paar jaar maakt een wereld van verschil in technologische ontwikkeling. De enige manier is de oude auto weg en een nieuwe kopen. Zo gaat dat ook in de machine-industrie.’ Het kan echter ook anders.

‘Er is een merk dat dit probleem niet heeft: Tesla. Als je zo’n auto koopt, is de hardware al voorbereid op functionaliteiten die softwarematig nog niet haalbaar zijn. Autonoom rijden bijvoorbeeld. Het is gewoon wachten tot de software goed genoeg is en je kunt je Tesla updaten.’

‘Machinebouwers zouden het Tesla-model van flexibel ontwerpen op systeemniveau moeten adopteren’, vindt Benno Beuting van Cordis Suite. Foto; Tesla

In de machinebouw zouden we het Tesla-model op systeemniveau moeten adopteren, vindt Beuting. ‘We moeten ervan af dat zodra het systeem is getest en opgeleverd, niemand er meer aan mag komen. We moeten juist zo flexibel ontwerpen dat eindgebruikers de machines in het veld up-to-date kunnen houden. Daar hebben ze zeker geld voor over, dus creëer je heel interessante businessmodellen.’

Voor bijvoorbeeld Additive Industries, een van de deelnemers in het Machinaide-consortium, is zo’n Tesla-benadering van levensbelang. Maar hoe doe je dat? In Palo Alto zit een leger softwareontwikkelaars, waaraan een gemiddelde machinebouwer never nooit niet kan tippen. ‘We moeten er niet meer mensen op zetten; we moeten het geautomatiseerd en slimmer doen, met intelligente tools en platforms.’

Lely

Dat is makkelijker gezegd dan gedaan. Om het plan te verwezenlijken, is een breed palet aan bedrijven en kennisinstellingen nodig. In het Itea3-project is dat gelukt (zie kader). Industriële inbreng is er van Additive Industries en Lely Industries. Daardoor blijven de resultaten niet hangen in academische schoonheid.

Een van de bouwblokken is low-coding. ‘Daarmee kun je een software-update nagenoeg foutloos maken, en gelijk valideren tegen je simulatie, bijvoorbeeld met een digital twin’, legt Beuting uit. ‘Op die manier vang je een deel van de complexiteit af.’

De tweede stap is formele modelverificatie. Die kennis komt van de TU Eindhoven. Zoals een werktuigbouwkundige fem-tools gebruikt om zijn systeem door te rekenen, is vergelijkbaar gereedschap nodig om de softwaremodellen te analyseren. Dat lukt alleen als de software in modellen zijn beschreven. Nog een reden om low code te gebruiken. Cordis is samen met Jan Friso Groote en zijn team op de TUE al drie jaar bezig om dit te realiseren.

Zodra een machinebouwer deze stappen heeft doorlopen, ligt er een goed werkende, foutloze software-upgrade, klaar om te worden geïmplementeerd op de systemen in het veld. ‘Maar als je de cybersecurity niet goed hebt geregeld, krijg je nooit toegang tot die apparaten’, benadrukt Beuting. Om die reden heeft het Udense Compumatica zich bij het consortium aangesloten. ‘Vele overheden maken gebruik van hun hardwaresecurityoplossingen. Met dit project brengen ze die kennis nu naar de machinewereld.’

Daarbij gaat het overigens niet alleen om veilige communicatie maar ook om datasplitsing. Beuting: ‘Er moet een duidelijk onderscheid zijn tussen machinedata en wat de gebruiker ermee doet. Additive Industries loopt daartegenaan. Als een automotiveklant een onderdeel print, wil hij natuurlijk niet dat zijn design openbaar wordt. Compumatica gaat zorgen voor een gecertificeerde scheiding in de data.’

Walhalla

Aan de andere kant van de ontwikkelcyclus draait het om het verzamelen van informatie die als input dient voor de volgende iteratieslag. Dat gebeurt al op grote schaal, want alle machines hangen vol met sensoren die allerlei gegevens registreren en opslaan. ‘Maar data is nog geen informatie’, stelt Beuting. ‘Sterker nog: hoe meer data je hebt, hoe moeilijker het is om ze nuttig te gebruiken. Het nieuwe wondermiddel is artificial intelligence. Ik zeg het cynisch – want het wordt wel erg opgeklopt tegenwoordig – maar ik geloof echt in die technologie.’ Kennis over dit onderwerp wordt gebracht door TNO, Bright Cape en SAS.

Bij een continu verbeterproces draait het om low-code softwareontwikkeling, maar veel andere technieken spelen een cruciale rol.

Het succes van kunstmatige intelligentie staat of valt met de kwaliteit van de data. ‘Als ik wil weten hoe het met mijn hart gaat, dan kan ik allerlei sensoren op mijn lichaam plakken die mijn hartslag, bloeddruk en saturatie registeren, in een database stoppen en analyseren. Wat ik niet weet, is wat ik deed op het moment dat die sensor een afwijkende waarde afgeeft. Was ik aan het sporten? Schrok ik ergens van? Ben ik verliefd geworden? Zonder die context is het best lastig om een goede diagnose te stellen. Bij een machine zit het precies zo. Wat was de machine aan het doen toen de sensor een gedragsverandering constateerde?’

Door de low-codebenadering is het relatief eenvoudig om de status en acties van de machine te loggen. ‘In je model hoef je niets te veranderen want het zit in het platform ingebakken om alle commando’s en communicatie op te slaan en te voorzien van een tijdstempel. Dat koppel je aan de tijdstempel van de sensordata en je weet precies wat de machine aan het doen was. Dat is echt het walhalla voor artificial intelligence op machinedata.’

Parelketting

Het project van Beuting en co. is ambitieus en er zijn nog veel hindernissen te nemen. Hij is zelf de eerste om dat toe te geven. ‘Als het makkelijk was, zou het al zijn gebeurd. Maar het is zeker niet onmogelijk’, stelt Beuting. ‘Met de ondersteunende Itea-subsidie hebben we twee tot drie jaar om te ontwikkelen, te bouwen en voorzichtig uit te rollen.’

De crux is samenwerking. Het plan is zo veelomvattend dat bedrijven het nooit alleen van de grond krijgen. ‘Gelukkig is de regio daar sterk in’, aldus Beuting. ‘Het plaatje past perfect bij de fabrieken van de toekomst waar je het hebt over een systeem van systemen. Met thema’s als artificial intelligence, big data, cybersecurity, 5g, low-code ontwikkeling, digital twinning, noem maar op. Allemaal prachtige parels, ook hier in de regio. Nu is het zaak om er een ketting van te maken.’

Overigens is het geen toekomstdroom. ‘Met low-codeplatforms zoals Mendix en Cordis Suite kun je op verschillende softwareniveaus nu al de basis leggen’, besluit Beuting. ‘Omdat dit proces start en finisht met low code ben je dan voorbereid op de nabije toekomst.’