JavaScript is currently disabled.Please enable it for a better experience of Jumi. UML-verktyg nu även för inbyggda system

Allt fler företag kommer med UML-verktyg för att grafiskt beskriva inbyggda realtidssystem. Verktygen kan automatiskt skapa körbar kod direkt från en modellbeskrivning. Resultatet blir att mer tid kan läggas på att förbättra definition av målsystemet istället för kodning.


UML, eller Unified Modelling Language, är ett modelleringsspråk som används för att utveckla objektorienterade system. Sedan UML-standarden spikades för ett par år sedan har den börjat etablera sig som industristandard.

UML beskriver system med hjälp av standardiserad grafisk notation, till exempel tillståndsmaskiner och sekvensdiagram. Eftersom abstraktionsnivån ligger långt över högnivåspråk, som Java, kan användaren lägga fokus på själva modellen istället för koden. Tanken är att verktyget sedan automatiskt skall generera kod direkt från modellbeskrivningen.

UML har sitt ursprung inom stora administrativa system, men på senare tid har flera UML-verktyg lanserats som kan hantera realtid. Resultatet har blivit att UML börjar bli rejält efterfrågat av de som utvecklar inbyggda system. Många lockas av kortare utvecklingstider och automatisk kodgenerering.



Två verktyg dominerar


Det finns två nya verktyg som dominerar UML-marknaden när det gäller just realtid. Det ena är Rational Rose Realtime, som byg-ger på utvecklingsverktyg från ObjecTime, och det andra är Rhapsody från I-Logix.

Båda verktygen kan kompilera, exekvera, avlusa och testa realtidssystem direkt från en UML-beskrivning. Dessutom stöder verktygen prototypframtagning och dokumentation. En stor fördel med Rhapsody är att man även kan avlusa koden på en hög nivå, så kallad design-level debugging. Modellen synkroniseras kontinuerligt med den genererade koden.

Både Rose Realtime och Rhapsody stöder flera realtidsoperativsystem, som Wind River Systems Vxworks, ISIs pSOS och Eneas OSE, samt Windows NT och Unix.

- I dagsläget är de flesta realtidsoperativsystem som används hemmagjorda - därför har vi också anpassat Rhapsody till vissa hemmagjorda realtidsoperativsystem, säger Jim McElroy, produktansvarig på I-Logix.

Rose Realtime har nyligen kommit med stöd för det kostnadsfria operativsystemet, Linux.

- Eftersom verktyget är oberoende av operativsystem kan man byta operativsystem när som helst och därmed använda olika kompilatorer och avlusningsverktyg, säger Jim McElroy.

Dessutom kan man använda valfri versionhanterare, formellt verifieringsverktyg samt textredigerare.

C++ är kanske det mest naturliga valet av ett objektorienterat programmeringsspråk, men av tradition dominerar C fortfarande inom inbyggnad. Rhapsody kan numera även genera C-kod och en ny version, kallad micro-C, anpassad till bilindustrin har precis släppts. Dessutom lanserades Rhapsody för Java på årets upplaga av Embedded Systems Conference som gick av stapeln i september.

- Rhapsody för Java är det första UML-verktyg som automatisk kan generera färdig, körbar Javakod direkt från en modellbeskrivning. Java kommer att bli stort inom Internetuppkopplade inbyggda system, säger Jim McElroy.

Men drömmen om automatiskt genererad kod kan ibland verka för bra för att vara sann. Ett visst motstånd mot sådan kod finns därför i branschen, då man tror att koden bli onödigt stor och inte lika optimerad som handskriven kod. I Rhapsody kan därför användaren välja om han vill ha kodgenerering eller själv skriva in kodsnuttar i modellen. I det sistnämnda fallet är det endast kodstrukturen som genereras automatiskt.

- För det mesta är den genererade koden väl optimerad, det är endast i system med begränsat minne som man väljer att handskriva koden, säger Jörgen Karlsson på konsultbolaget Frontec i Linköping, som har arbetat mycket med UML-verktyg för inbyggnad.

- De flesta inbyggda system som utnyttjar UML-verktyg har dessutom 32-bitars processorer som klarar komplicerad kod.

Svenska företag hänger med


En nykomling på realtids-UML-fronten är svenska Telelogic. Verktygsleverantören Telelogic, med huvudkontor i Malmö, är mest känd för sina SDL-verktyg, Tau, där SDL (Specification och Description Language) är ett modelleringsspråk framtagit för att beskriva realtidssystem för telekom.

Företaget har precis släppt en ny version av Tau, (3,6) där man för första gången har slagit samman delar av UML med SDL i ett komplett verktyg för telekomsystem.

- UML har seglat upp som en standard med bred acceptans. UML är bra på att beskriva system på ett tidigt stadium utifrån kravspecifikationen, medan SDL är bättre på realtid, säger Ingemar Ljungdahl, vice vd på Telelogic.

UML måste kompletteras med SDL för att nå högre precision, menar han. Telelogic jobbar också med att ta fram en version av Tau för Java.

Ett annat svenskt företag som också har hoppat på UML-tåget är IAR Systems. Efter köpet av danska Visualstate för en månad sedan, hoppas företaget integrera Visualstates UML-verktyg med sina kompilatorer och drivrutinsgeneratorn, Makeapp.

På så sätt kan man beskriva ett inbyggt system i UML, generera ansi-C kod och drivrutiner, för att sedan kompilera koden och ladda den direkt på målsystemet. Visualstates verktyg kan modellera realtidssystem med eller utan realtidsoperativsystem, och sägs vara lika väl anpassat till 8-bitars som 32- bitars system.

Susan Kelly



Rational, Telelogic och IAR Systems har egna kontor i Sverige. I-logix representeras av Nohau i Malmö.

Prenumerera på Elektroniktidningens nyhetsbrev eller på vårt magasin.


MER LÄSNING:
 
KOMMENTARER
Kommentarer via Disqus

Rainer Raitasuo

Rainer
Raitasuo

+46(0)734-171099 rainer@etn.se
(sälj och marknads­föring)
Per Henricsson

Per
Henricsson
+46(0)734-171303 per@etn.se
(redaktion)

Jan Tångring

Jan
Tångring
+46(0)734-171309 jan@etn.se
(redaktion)