SOFTWARE/OS Vigtigt at kunne verificere multithreaded software grafisk i real-time De fleste embeddede systemer kører i dag på en multithreaded software med enten Linux eller et real-time operating system (RTOS). Multithreading har mange fordele i forhold til singlethreadede designs, men det gør også softwaren mere kompleks, og verificering bliver en udfordring Af dr. Johan Kraft, CTO, Percepio AB Traditionelle verificeringsme- toder som kode-review, sta- tisk analyse og funktionstest er nødvendige, men sjældent nok til fuldt ud at verificere multithreaded embedded software. Det skyldes, at de mange threads kan interagere på måder, der ikke er åbenlyse i source-koden. For eksempel kan operationer på IPC-objek- ter som semaforer og mutexer pludseligt blokere eksekve- ringen på grund af aktioner fra andre threads. Threads kan også tilkæmpe sig processor- tid og have timing-afhængige bugs som race-conditions. På den måde udgør mul- tithreadede systemer et kom- plekst væv af indbyrdes af- hængigheder mellem threads som følge af både definerede og underliggende thread- interaktioner. Disse indbyrdes afhængigheder kan desuden blive påvirket af variationer i software-eksekveringstiden, der ikke er beskrevet i koden, men som skyldes en snigende behaviour i runtime. Det er især problematisk i multiker- nesystemer, hvor buskonflikter mellem kernerne kan påvirke eksekveringstiden på uforudsi- gelige måder. Timing-effekter for thread-interaktioner er FreeRTOS’ semaforer kan forstyrre eller invertere real-time prioriteringer. ofte en ukontrollerbar faktor i systemtest af multithreadede systemer. I visse tilfælde vil selv store mængder af tests kun skrabe overfladen af de forskellige potentielle eksekveringsscena- rier. Flere latente effekter for- bliver dermed uopdagede, men dukker ubekvemt op un- der brug af et produkt. Disse scenarier kan være næsten umulige at genskabe på labo- ratorieniveau. NASAs første Mars-rover, Pathfinder, er et godt eksem- pel. Dette system blev uden tvivl testet mere indgående end de fleste andre embed- dede softwaredesigns, men flere fejl dukkede op på vej til Mars som følge af et priori- tetsinverteringsproblem, der genererede en watchdog- reset. I et paper på www. cs.unc.edu/~anderson/teach/ comp790/papers/mars_path- finder_long_version.html kan man læse mere om problemet og om, hvordan det i sidste in- stans blev løst med software- tracing. Skal vi gøre din produktion klar til Industri 4.0? Mycronics nye MYPro A40 pick-and-place-platform sikrer dig samme høje fleksibilitet som altid – men med meget højere kapacitet og nye features. Perfekt til industri 4.0-produktion. VERDENSNYnHicE:D ra M-yacnrdo-place- f Ny picpklatform Vil du høre mere? Så kontakt os i dag på 45 65 10 30 20 nr. 1 | januar 2024 - ELTR ACO APS · HØJAGER 4 · DK-5270 ODENSE N TEL. +45 45 65 10 30 · INFO@ELTR ACO.COM · WWW.ELTR ACO.COM
Download PDF fil
Se arkivet med udgivelser af Aktuel Elektronik her
TechMedias mange andre fagblade kan læses her