Foutloze televisie van de toekomst

Steeds meer apparaten, zoals televisies, bevatten software die is vastgebakken in chips. Die software valt niet makkelijk wijzigen als er een foutje in blijkt te zitten. Daarom moet het ontwerp van de software al rekening houden met mogelijke fouten, luidt de filosofie van AOSAD.

De software in een televisie regelt van alles. Natuurlijk de hele communicatie met de afstandsbediening, maar ook het omzetten van het kabelsignaal naar een beeld, het menu voor de zenderindeling, teletekst en zelfs het led-lampje dat aangeeft of de televisie op stand-by staat. Met de komst van digitale televisie wordt de software steeds ingewikkelder. Dus neemt ook de kans op fouten erin toe. Dat willen televisiefabrikanten niet, want dan krijgen ze meer klachten en verliezen ze misschien klanten. Bovendien zijn fouten in chips alleen te herstellen door de hele chip te vervangen – een dure grap.

Ziedaar de missie van AOSAD (Aspect Oriented Software Architectural Design). ‘Wij vragen ons af hoe je foutbestendige software voor televisies maakt’, zeggen onderzoeksleider dr.ir. Bedir Tekinerdogan en aio Christian Hofmann. ‘Foutbestendig betekent in de eerste plaats dat je fouten probeert te voorkomen, en in de tweede plaats dat je probeert ze te verbergen als ze toch toeslaan. Overigens kijken we nu vooral naar de televisie, maar we hopen dat onze methoden zo algemeen zullen zijn dat ze ook voor andere toepassingen zijn te gebruiken.’

Om zo realistisch mogelijk te werk kunnen gaan, werken Tekinerdogan en Hofmann in eerste instantie met bestaande televisiesystemen. Daarvoor analyseren zij de structuur van de software op een theoretisch niveau. Tegelijkertijd worden de ervaringen uit de praktijk meegenomen. Onderhoudsafdelingen van fabrikanten hebben immers ook kennis van wat er allemaal fout kan gaan. Het valt trouwens niet mee de precieze fout vast te stellen, want die is doorgaans moeilijk te achterhalen. Men weet vaak wel wát er niet meer werkt aan een televisie, maar niet hoe dat komt.

‘We proberen de componenten van het systeem zo goed mogelijk uiteen te rafelen, zodat we kunnen bepalen waar mogelijk fouten ontstaan’, vertelt Tekinerdogan. ‘Als je dat weet, kun je ook bepalen wat je moet doen om de gevolgen van die fout te beperken of om de fout te herstellen. Met analyse, detectie en herstel van fouten dient zo vroeg mogelijk in het ontwerptraject rekening gehouden te worden, namelijk op het niveau van de architectuur. Dat is de term voor de globale structuur van software systemen. Een goede architectuur is essentieel om grootschalige, complexe en evoluerende software in de hand te houden.’

Voetbal

In het geval van televisie zitten de meeste fouten in de synchronisatie. De meeste apparaten hebben een of twee processen tegelijk, maar de digitale televisie van de toekomst is misschien wel met tien dingen tegelijk bezig. Hij laat bijvoorbeeld een voetbalwedstrijd zien, met in een hoekje een teletekstpagina, in een ander hoekje een venster met voetbalstatistieken en ook nog het menu om het geluid wat harder te zetten. Dat vraagt om een goede synchronisatie van de verschillende signalen.

Als de kijker teletekst afsluit, moet op die plek weer beeld van de wedstrijd komen. Dan moet het proces ‘toon wedstrijd’ wel weten dat het proces ‘toon teletekst’ inmiddels is beëindigd. Anders blijft er een zwart gat over. Dit is een typisch voorbeeld van een fout die te herstellen valt, namelijk door alsnog de wedstrijd te tonen. Daar moet de software dan wel op geschreven zijn. Bijvoorbeeld: niet alleen wachten op een beginsignaal om weer de wedstrijd af te beelden, maar ook geregeld checken of je dat beginsignaal soms gemist hebt en dan alsnog aan de slag gaan.

De verleiding bij het ontwerpen is ervanuit te gaan dat alle signalen keurig op tijd aankomen. Dat blijkt in de praktijk niet het geval. Sommige signalen komen te laat, andere raken beschadigd. Daarom bestuderen de onderzoekers van AOSAD modellen waarin alle mogelijkheden voorkomen. Vervolgens gaan ze systematisch na welke mislukte signalen tot daadwerkelijke fouten kunnen leiden. Niet alle missers zijn immers even erg. Liefst moet deze analyse natuurlijk helemaal automatisch verlopen.

‘Als je weet onder welke omstandigheden welke fouten kunnen ontstaan, kun je daar je software op aanpassen’, zegt Tekinerdogan. ‘Je kunt fouten beter afvangen. Maar door het programma op een heel andere manier op te zetten, kunnen je de kans op fouten misschien ook wel verkleinen.’

×