Software voor 'non-computers'

Jerry Fiddler speelt eerste viool bij 'embedded'-specialist Wind River

Wind River Systems, gevestigd in Silicon Valley en geleid door 'musicus' Jerry Fiddler, maakt commerciële software voor computers die geen computer zijn. Die software is bijvoorbeeld te vinden in internetrouters, auto's, printers, industriële besturingen, dvd-spelers en in het 'Crew Return Vehicle' van Nasa. Van het kernproduct voor dergelijke ingebedde systemen, het VxWorks bedrijfssysteem, zijn wereldwijd meer dan 150 miljoen stuks geïnstalleerd. Het resultaat: slimme apparaten die verbonden zijn met de buitenwereld en met elkaar.

Een software-entrepreneur in Silicon Valley behoort een bijzondere achtergrond te hebben en Jerry Fiddler van Wind River Systems voldoet aan dit beeld. De man die in 1981 met collega David Wilner van het Lawrence Berkely Laboratory het bedrijf oprichtte, wilde aanvankelijk componist worden. Na zijn studie muziek en fotografie had hij echter een doctorstitel nodig om te kunnen worden aangesteld als componist aan de universiteit van Illinois. Vanwege zijn belangstelling voor computermuziek koos hij voor informatica. De rest is geschiedenis: uiteindelijk werd Fiddler 'de vader van ingebedde technologie' die thans, als voorzitter van de raad van bestuur, nog steeds in hoge mate het gezicht van Wind River bepaalt.

In de Ruimtevaart...
VxWorks is het bedrijfssysteem dat gebruikt zal worden in het X-38 'Crew Return Vehicle' (CRV) van het Internationale Ruimte Station. De X-38 is de 'ruimte-reddingsboot' waarmee zeven astronauten in geval van nood het station kunnen verlaten om naar de aarde terug te keren.
De landing van de CRV is volledig geautomatiseerd, al kan de bemanning ingrijpen om reservesystemen in te schakelen, de oriëntatie in de baan te bepalen, een landingsplaats te kiezen en de parafoil tijdens de landing te besturen.
De X-38 heeft een 68040-cpu die op 33MHz draait en het Wind River OS is verantwoordelijk voor navigatie, vluchtcontrole, levensinstandhouding, communicatie en de voortstuwing als de baan wordt verlaten. De CRV die nu wordt getest, gebruikt VxWorks 5.2 en de eerste X-38 die daadwerkelijk in de ruimte zal komen, en die nu bij Nasa in Houston wordt geassembleerd, zal VxWorks 5.4 bevatten.
De Nasa heeft er bij dit project voor gekozen om zoveel mogelijk cots-technologie ('commercial off the shelf') te gebruiken en de Wind River-software, waaronder ook de Tornado-ontwikkelomgeving, past in die filosofie. Het gebruik van bestaande technologie in plaats van zelf ontwikkelen, uiteraard waar mogelijk, is veel goedkoper. De oorspronkelijke ontwikkelkosten waren geraamd op twee miljard dollar en het lijkt er nu op dat het hele project, inclusief vier operationele CRV's, voor een kwart daarvan wordt afgerond.
Natuurlijk heeft hij thuis een eigen muziekstudio en een band, XAZ, waarvoor hij liedjes componeert en waarin hij ook zelf alle mogelijke soorten gitaar speelt. Zijn bedrijf Wind River is echter van een raadgevend kantoor uitgegroeid tot een aan de Nasdaq genoteerde onderneming (sinds 1993) met wereldwijd 2000 werknemers en een omzet van 438 miljoen dollar in het jaar 2001. Het richt zich op vijf onderscheidbare deelmarkten: lucht- en ruimtevaart en defensie, toepassingen voor auto's, consumentenapparatuur, industriële toepassingen en netwerkinfrastructuur.
Met klanten als Nasa, Boeing, Toyota, Bosch, Dolby Laboratories, Bang & Olufsen, General Electric, Rockwell, Cisco en Nokia, om er een tiental te noemen, is Wind River een grote speler op de markt voor 'cots (commercial off the shelf) embedded software'. "Een grote speler, geen marktleider", benadrukte Jerry Fiddler recentelijk tijdens een persconferentie. "Daarvoor is de embedded-markt te divers. Het is net of je zou zeggen dat Sony marktleider is in de consumentenelektronica."

Ingebedde systemen

Ingebedde systemen zijn zo verschillend dat een sluitende definitie moeilijk te geven is. Fiddler omschrijft ze eenvoudigweg als 'computers die geen computer zijn'.
Twintig jaar geleden ging het in dat geval zowel om elektronica met een eenvoudige cpu die door de fabrikant alleen ondersteund werd met een 'assembler', als om zeer grote systemen met geheel bedrijfseigen software. Programmatuur werd meestal ontwikkeld door de hardwareontwerpers zelf en werd over het algemeen als maatwerk beschouwd. De processoren werden echter steeds krachtiger en de systemen steeds ingewikkelder, en daarmee ontstond behoefte aan standaard software om die systemen te beheren. Het schrijven van zo'n 10.000 regels code is tenslotte ook voor een grote ontwerpafdeling geen sinecure.
Het basisproduct van alle leveranciers van software voor ingebedde toepassingen is dan ook vrijwel altijd een rtos (real time operating system). Het predikaat 'real time' is hierbij nogal vaag en een onderwerp van heftige discussie tussen de leveranciers, maar staat in elk geval voor 'pre-emptive multi-tasking'. Met een rtos kunnen meerdere processen door elkaar lopen op een cpu en processen kunnen worden onderbroken door signalen of externe gebeurtenissen (events).
De markt voor ingebedde systemen is niet alleen heel divers, maar ook heel groot. Wind River bracht in 1987 de eerste versie uit van haar VxWorks bedrijfssysteem en daarvan zijn er inmiddels zo'n 150 miljoen geïnstalleerd. In 1995 volgde de Tornado ide (integrated development environment), waarmee programmeurs ook een standaard ontwikkelomgeving kregen op Windows- en Unix-platforms.
Behalve Wind River zijn er nog een paar grote leveranciers van bedrijfssystemen en ontwikkelomgevingen. Microsoft heeft met Windows CE en een aantal verwante producten weliswaar nooit de gewenste hegemonie weten te bereiken, niettemin is het een belangrijke speler die met name de 'Windows-verenigbaarheid' als marktargument hanteert. QNX Software Systems heeft met Neutrino, dat verenigbaar is met de Posix 1003.1-standaard, een op Unix gebaseerd OS. Een voordeel is dat, evenals bij Windows, de ontwikkelomgeving op de 'host' dezelfde is als de bedrijfsomgeving op de 'target'. QNX Neutrino is sinds een jaar vrij beschikbaar voor niet-commercieel gebruik en volgens de fabrikant is het als zodanig onder miljoenen ontwikkelaars verspreid.
Ook van Linux zijn verschillende embedded-versies beschikbaar. Lynuxworks en Montavista Software leveren bijvoorbeeld ondersteuning en specifieke programmatuur voor de Linux-omgeving. Enea OSE Systems is een vrij nieuwe speler uit Scandinavië, afkomstig uit de mobiele telecommunicatie maar nu ook leverancier van een High Availability OS met allerlei ondersteuning. Behalve de genoemde bedrijven bestaan er nog tientallen andere, soms met een sterke positie in specifieke toepassingen, zoals industriële besturing of mobiele telefoons.

Bijna honderd producten

Het basisproduct van Wind River is het VxWorks bedrijfssysteem, dat voor vrijwel alle cpu-families beschikbaar is, met name de Power-pc, de Intel-architecturen, mips en arm. VxWorks is een schaalbaar rtos met 'pre-emptive scheduling', 'intertask-communicatie' en synchronisatie, geheugenbeheer, multiprocessorfaciliteiten, een shell voor een gebruikersinterface, prestatiemeting en een I/O-bestandssysteem. Bovendien heeft het uitgebreide netwerkfaciliteiten die overigens, net als het bestandssysteem en andere modulen, ook weggelaten kunnen worden. Zeker als het besturingssysteem in grote aantallen wordt gebruikt, zoals in een consumentenproduct, is het belangrijk om alleen de echt noodzakelijke functionaliteit te kunnen installeren. Bij de introductie van VxWorks AE (Advanced Edition) in september 2000, werd zelfs gesteld dat Wind River eigenlijk geen bedrijfssystemen levert, maar componenten daarvoor.
Dat moge zo zijn, het bedrijf heeft nog twee andere verschillende bedrijfssystemen, Pso-systems en Osek-works. Van Pso-systems, een rtos dat door overname bij Wind River is beland, zijn er veertig miljoen in omloop, maar volgens Fiddler is het langzamerhand wel aan het eind van de levenscyclus. Osek-works is een klein bedrijfssysteem (ongeveer 2KB), dat bij uitstek voor de auto-industrie is bestemd. Osek/vdx is een open standaard die speciaal is ontworpen voor systemen met beperkte capaciteit, kritische veiligheidseisen en voor compatibiliteit tussen producten van verschillende leveranciers.
Blijkbaar is de Unix-markt toch ook voor Wind River niet te omzeilen, want het bedrijf levert bovendien een bsd/os-internetserver voor Intel-platforms met besturingssysteem, tools en services voor isp's en bedrijfsintranetten. Jerry Fiddler vertelt met zichtbare voldoening dat een aantal bsd-ontwikkelaars van het eerste uur thans bij Wind River werkt.
Behalve de bedrijfssystemen levert Wind River nog bijna honderd andere producten voor ontwikkelaars van ingebedde systemen. Onder de naam 'Blue Thunder' is er zelfs een eigen Bluetooth-implementatie. Ook in Java is het bedrijf actief, met name in de integratie daarvan met systeemspecifieke software, zoals graphics. Java speelt bijvoorbeeld een belangrijke rol in de auto-telematica, maar voor toepassingen in auto's worden speciale eisen gesteld aan gebruikersinterfaces. "Je kunt een applicatie in een auto niet met een muis aansturen," legt Fiddler uit.

... en de Huiskamer
In vijf maanden tijd heeft de services-afdeling van Wind River een elektronische fotolijst ontwikkeld, waarvan de inhoud door een telefoonlijn vernieuwd kan worden. Het ontwerp omvatte de selectie van alle hardware- en softwaretechnologie, de integratie van elektronisch en industrieel design en het opzetten van het product voor internetdistributie en -configuratie.
De elektronische fotolijst is zodanig ontworpen dat alle configuratie en beheer van het 'fotoalbum' plaatsvindt via een webgebaseerd dienstenaccount. De internetverbinding is volledig transparant voor de gebruiker en de fysieke afmetingen zijn ook vrijwel dezelfde als die van een 'gewone' fotolijst. In de woorden van Jerry Fiddler: "Mijn moeder heeft een internetverbinding, maar ze weet dat niet."
Het toestel is opgebouwd uit een 'low cost' lcd-scherm en een Cirrus Logic arm-geïntegreerde processor, die zowel het scherm aandrijft als een softwaremodemfunctie vervult.
De internetverbindingssoftware en de grafische ondersteuning (met een beperkte mate van beeldbewerking) zijn gebaseerd op het Pso-system real-time bedrijfssysteem van Wind River.
De Diab C-compiler van Wind River verdient een aparte vermelding. Hoewel het rtos een sleutelrol speelt bij de afhandeling van processen, wordt in het algemeen toch bijna 90 procent van de processortijd besteed aan het verwerken van applicatiecode. Optimalisatie van die code is dus zeer belangrijk, en dat voor verschillende typen processoren met zeer verschillende architecturen. De Diab C-compiler gebruikt hiervoor een aantal technieken. Voor de kenners: interprocedurele analyse, live-analyse van statische en globale variabelen, profielgedreven optimalisatie, 'inlining' en complexe vertakkingsoptimalisatie. De compiler gebruikt een database van architectuurgegevens, zodat niet alleen de omzetting naar machinecode, maar ook de optimalisatie daarvan is toegesneden op elk specifiek processortype.

Uitbesteding

Wind River levert niet alleen cots-producten, maar ook ondersteuning en diensten. Het heeft voor deelmarkten als automobieltoepassingen eigen expertisecentra en probeert met het Windlink-partnerprogramma duurzame zakelijke relaties op te bouwen. Verder wordt 15 procent van de jaarlijkse inkomsten besteed aan onderzoek en ontwikkeling.
Wind River ziet zichzelf eigenlijk als een 'outsourcing'-bedrijf voor de ontwikkeling van ingebedde toepassingen. Fiddler heeft interessante cijfers bij de hand om het belang hiervan aannemelijk te maken. Zo zijn er het laatste jaar zestig nieuwe microprocessorarchitecturen bijgekomen en verdubbelt de hoeveelheid embedded software in de wereld elke twee jaar. De helft van alle ontwikkelkosten gaat op aan integratie en testen. Van alle projecten wordt 18 procent voortijdig gestaakt en 58 procent te laat voltooid, terwijl 20 procent van alle systemen niet aan de specificaties voldoet. Voeg daaraan toe, nog steeds volgens Fiddler, dat het voor ingebedde systemen veel belangrijker is om binnen de tijd te blijven dan binnen het budget, en het belang van uitbesteden is evident.
Nog wezenlijker is het toenemende belang van communicatie in de wereld van ingebedde systemen. Apparaten zijn met elkaar en met de buitenwereld verbonden en kunnen zelfs op afstand worden beheerd. Voor communicatie zijn gedeelde protocollen nodig en daarmee dus ook gemeenschappelijke standaarden. Volledig binnenshuis ontwikkelen op maat wordt dan hetzelfde als het wiel opnieuw uitvinden - voor toepassing in lucht- en ruimtevaart en defensie ondersteunt Wind River bijvoorbeeld meer dan zeventig verbindingsprotocollen. In de woorden van Jerry Fiddler: "De meeste mensen denken bij ingebedde software aan het opvangen van interrupts en het tijdig afhandelen van processen, maar dat kunnen we nu wel. In de toekomst gaat het vooral om het verbinden van allerlei toepassingen en het op afstand beheren daarvan. Dan krijg je te maken met andere aspecten... Beveiliging tegen onbevoegde toegang, om iets te noemen. Wat onze klanten eigenlijk van ons verlangen is betrouwbaarheid. Betrouwbaarheid van onze producten en een zakelijke partner waar ze op kunnen rekenen."

 
Hans van Thiel, freelance medewerker

x

Om te kunnen beoordelen moet u ingelogd zijn:

Dit artikel delen:

Stuur dit artikel door

Uw naam ontbreekt
Uw e-mailadres ontbreekt
De naam van de ontvanger ontbreekt
Het e-mailadres van de ontvanger ontbreekt

×
×
article 2003-02-28T00:00:00.000Z Hans van Thiel
Wilt u dagelijks op de hoogte worden gehouden van het laatste ict-nieuws, achtergronden en opinie?
Abonneer uzelf op onze gratis nieuwsbrief.