Overvågning minimerer fejl i software

Det er muligt at designe avanceret overvågning af embedded software, så man undgår fejl i softwaren. Også på små platforme trukket af en ARM9-processor.

Det er konklusionen af et udviklingsprojekt, som firmaet Skov i Glyngøre har gennemført. Firmaet med 250 medarbejdere udvikler og sælger ventilation til stalde, som bliver solgt i hele verden.

Dermed er der opnået større sikkerhed for, at den lille elektroniske kontrolenhed ikke går ned. Sikkerheden for dyrene skal være i top.

»Vi har fået verificeret, at det kan lade sig gøre at monitorere og diagnosticere, og at det kan lade sig gøre uden at overbelaste en relativ lille embedded enhed med en ARM9-processor med nogle få megabyte RAM, som kører Linux. Før projektet var vi usikre på, om platformen overhovedet kunne trække det,« siger ingeniør Martin Riisgaard-Jensen, som har stået i spidsen for projektet.

Skovs projekt er en del af det EU-finansierede Recomp-projekt. Recomp er igen en del af det store Artemis-program, som skal øge pålideligheden i sikkerhedskritisk elektronik. Skov har fået assistence fra CISS, Center for Indlejrede Software Systemer, Aalborg Universitet.

Hukommelse og processortid

»Vi har fokuseret på enhedens brug af hukommelse og processortid, fordi det er det, som i sidste ende kan få en enhed til at gå ned. Der kan f.eks. være en processor, der bruger hukommelse og glemmer at slippe hukommelsen igen. Så har vi udvalgt et værktøj, Collectd, til at overvåge enheden. Det har vi lavet nogle modifikationer til,« fortæller Martin Riisgaard-Jensen.

»Det betyder, at vi kan opdage memory leaks og performance-forringelse på grund af processoroverforbrug. Der er også et element af selvreparation i det. Det gælder om at holde enheden i luften, og gennem den overvågning kan vi kigge på processen, mens anlægget stadig kører,« siger han.

Overvågningsværktøjet Collectd blev valgt ud fra scanning af tre-fire lignende værktøjer. Collectd indsamler kontinuerligt data om systemets præstationer.

Martin Riisgaard-Jensen siger, at projektet kun har kunnet lade sig gøre, fordi der har været hjælp fra CISS via Recomp-projektet.

»Vi havde en forsker tilknyttet fra CISS i en længere periode. Han arbejdede med at beskrive og analysere og udføre eksperimenter, som vi ønskede. Vores egne Linux-folk har også arbejdet på projektet, men deres fokus er først og fremmest på nye features til vores kunder. At vi kunne gennemføre det, tilskriver jeg, at vi kunne gøre det i Recomp-regi.«

Diagnosticere on-the-fly

Skov forventer, at overvågningen nu vil betyde færre fejl på produkterne:

»Vi har set nogle produkter lave resets oftere, end vi kan lide. Det indikerer, at der er problemer til stede nogle specifikke steder i verden. Når overvågningen kører fuldt ud, så tror vi, at vi kan gå ind og diagnosticere den slags problemer. Vi kan holde produkterne kørende, så de kører upåklageligt på trods af de små fejl, som der altid vil være.«

Martin Riisgaard-Jensen regner med, at Skov i løbet af noget tid vil implementere overvågning af mikroprocessorer og RAM i alt firmaets udstyr.

»Det er ikke, fordi vi oplever problemer som sådan med vores systemer. Der er ingen steder, hvor vores ventilationssystemer har været skyld i, at dyr er døde. Men der er altid varianter. Vi kan se, at der er enheder, som ikke opfører sig optimalt. Det vil vi gerne kurere, før det bliver et problem. Kunderne synes, at vi har et fejlfrit produkt, og den illusion vil vi gerne opretholde.«