ASML special
Jaargang: 2024
Uitgave: 2
Datum: 7 juni 2024

Automatisering van modelgedreven ontwerpprocessen voor hightechsystemen

Het ontwerpen van een hightechsysteem draait vaak om het automatisch laten verlopen van een proces. Het ontwerpproces zelf valt ook te automatiseren. Elke discipline, van mechanica tot regeltechniek tot software, heeft daar zo haar methoden voor. De kunst is die te laten samenwerken om tot een optimaal ontwerp te komen. Marc Geilen doet er aan de TUE onderzoek naar.
Hans van Eerden

Marc Geilen is associate professor in de vakgroep Electronic Systems van de TUE-faculteit Elektrotechniek en hoofd van het Model-Based Design Lab in die groep. Hij promoveerde er begin deze eeuw op formele methoden voor de verificatie van complexe real-time-systemen. Toen was hij al bezig met de ondersteuning en automatisering van ontwerp en verificatie. ‘Nu richt ik mij naast embedded systemen ook op cyberfysische systemen. Daarin komen fysische aspecten als mechanica en elektromechanica en digitale aspecten als software en communicatie samen en die beïnvloeden elkaar. Je kunt het één niet ontwerpen zonder rekening te houden met het ander.’

Marc Geilen: ‘Wij willen ontwerpautomatisering naar de praktijk van hightechsystemen brengen.’ Beeld: Bart van Overbeeke

Uiteenlopende modellen

Ontwerpautomatisering maakt gebruik van modellen van de verschillende systeemaspecten en de bijbehorende algoritmen en gereedschappen. ‘Die gebruiken we om ontwerpen te analyseren en optimaliseren voor bepaalde eigenschappen.’ Voorbeelden zijn de software met haar formele methoden, de regeltechniek met automatische codegeneratie vanuit modellen, de mechanica met eindige-elementenmodellen, de verschillende (multi)fysische modellen en de elektronica met zijn automatisering van digitale implementaties.

Verder zijn er de talen voor systeemmodellering, zoals UML (Unified Modeling Language) en SysML, voor het ontwerpen en analyseren van de overkoepelende systeemarchitectuur. Geilen noemt ook nog wiskundige modellen zoals de automatentheorie voor het beschrijven van abstracte machines en hun eigenschappen.

Eén model van alles?

Er zijn onderzoekers die integratie van al deze modellen in één ‘model van alles’ nastreven, weet Geilen. ‘Maar ik denk dat dat niet haalbaar is, omdat het resulterende model te complex is, niet meer hanteerbaar en niet geschikt voor automatisering. Je wilt toch met modellen werken die toegespitst zijn op een bepaald aspect om dat goed te kunnen bestuderen. De andere kant van de medaille is inderdaad dat je dan meer modellen moet bijhouden en het gevaar loopt dat ze niet consistent zijn. Je verliest dan de samenhang en dat kan een drijfveer zijn om wel te integreren. In dit spanningsveld moet je zoeken naar geschikte modellen.’

Compositioneel maken

Het begint ermee de modellen voor de verschillende aspecten te ontkoppelen en elk model de ruimte te geven voor het vinden van een (deel)oplossing. ‘Vervolgens moet je die bij elkaar brengen en met elkaar confronteren. De kunst is dan om die deeloplossingen te laten samengaan zonder dat ze elkaar in de weg zitten met resultaten die niet compatibel zijn, om zo tot een totaaloplossing te komen. Compositioneel maken, zo noemen we dat’, licht Geilen toe.

‘Als je een systeem ontwerpt, kijk je bijvoorbeeld naar aspecten als performance, vermogensbehoefte, doorvoersnelheid en doorlooptijd. Je maakt dan een trade-off tussen de doelstellingen voor die verschillende aspecten door ze apart te modelleren en vervolgens de resultaten te combineren. Wij hebben daar een model voor ontwikkeld op basis van het concept van Pareto-optimaliteit.’ Dit houdt in dat een oplossing optimaal is als die niet meer te verbeteren valt voor het ene aspect zonder dat voor een ander aspect de uitkomst verslechtert.

Scripts

Automatiseren houdt concreet simpelweg in het wegnemen van triviale handelingen die ontwerpers nu nog handmatig uitvoeren. Denk aan het zoeken van een optimale oplossing binnen de ontwerpruimte of het uitvoeren van analysestappen. Dat kan door scripts te schrijven, bijvoorbeeld voor het uitvoeren van een ‘design of experiments’, voor het verkennen van een oplossingsruimte door het systematisch variëren van bepaalde ontwerpvariabelen. ‘In de ontwerpfase definieer je nu vaak ook een stappenplan voor dingen die je wilt onderzoeken. Op deze manier kun je dat automatiseren.’

AI

Kunstmatige intelligentie kan hier een rol spelen. ‘AI is een van de gereedschappen die je kunt inzetten om processen te automatiseren. Het is sterk in domeinen waar je oplossingen kunt vinden op basis van grote hoeveelheden, vaak ongestructureerde data. Neurale netwerken bijvoorbeeld worden vanwege hun niet-lineaire karakter vaak toegepast als een optimalisatietechniek. We zijn met z’n allen gewend om mechanische, regeltechnische of signaalverwerkingssystemen lineair te maken, omdat we goed bekend zijn met lineaire systeemtheorie. Neurale netwerken begeven zich buiten het lineaire bereik en kunnen daar betere oplossingen vinden.’

Cyberfysische proefopstelling en modellen voor geautomatiseerde synthese van software voor de aansturing. Beeld: Bart van Overbeeke

Systems engineering

Ontwerpautomatisering past binnen de benadering van systems engineering, gericht op het onder de knie krijgen van systeemcomplexiteit. De motivatie ligt – behalve in het vinden van oplossingen voor de krappe arbeidsmarkt – in het verkorten van de time-to-market door de productiviteit van ontwerpers en de kwaliteit van hun werk te verhogen. Naast het voorkomen van fouten gaat het dan ook om het vinden van betere oplossingen dan met de hand vaak mogelijk is. ‘De ontwerper laat zijn zicht op de oplossingsruimte toch vaak beperken door zijn ervaring met bestaande oplossingen en kennis uit het verleden. Met automatisering kun je eenvoudiger de vrijheidsgraden van een ontwerp maximaal benutten.’

Digital twin

Bovendien komen er nog processen bij als documentatie en certificering, die in sommige sectoren heel belangrijk zijn. ‘Die processen zijn goed gedefinieerd en gestructureerd en lenen zich dus goed voor automatisering. Verder kun je de lifecycle van een systeem erbij betrekken. Als je de modellen in place hebt, kun je ze ook inzetten om complicaties te diagnosticeren of informatie over het gebruik te benutten voor optimalisatie. Je hebt dan een digital twin, die je automatisch kunt genereren tijdens je modelgebaseerde ontwerpproces.’

Gewenst gedrag modelleren

Van de collega-onderzoekers op dit gebied ziet Geilen met name professor Edward Lee uit Berkeley (VS) als een geestverwant. ‘Lee bestudeert ook cyberfysische systemen en bepleit een aanpak die niet probeert met modellen de fysische werkelijkheid zo goed mogelijk na te bootsen. Je moest juist modellen maken van het gewenste gedrag en die als uitgangspunt nemen waarop je de werkelijkheid kunt aanpassen. Het is een van de kernen van de modelgebaseerde aanpak: zorgen dat je implementaties krijgt die zich houden aan het gedrag van de modellen. Dat maakt het ook makkelijker om modellen vanuit de verschillende disciplines te combineren.’

Multidisciplinaire centra

Het onderzoek van Geilen is ondergebracht bij de Faculteit Elektrotechniek. Dat is toeval, erkent hij. ‘Het had ook bij Werktuigbouwkunde, Informatica of zelfs Wiskunde gekund. Daarom is het belangrijk dat er multidisciplinaire centra zijn zoals het TUE High Tech Systems Center, HTSC. Daar komen domeinen en aspecten van het ontwerpproces bij elkaar, meer dan in het verleden, toen onderzoek naar ontwerpautomatisering vaak beperkt bleef tot een enkel domein.’

Platform voor de praktijk

Ook Geilen’s onderzoek is erop gericht die domeinen bij elkaar te brengen. ‘Onze uitdaging is het om de verschillende modellen en technieken beschikbaar en bruikbaar te maken. Daarvoor bieden we ontwerpers gereedschappen en een platform waarop ze die kunnen gebruiken zonder dat ze er een expert in hoeven te zijn die bij wijze van spreken eerst een promotieonderzoek op dit gebied heeft gedaan. Zo willen we ontwerpautomatisering naar de praktijk van hightechsystemen brengen.’

Dit artikel kwam tot stand in nauwe samenwerking met de Technische Universiteit Eindhoven.