JavaScript is currently disabled.Please enable it for a better experience of Jumi. Gör kretsar direkt från UML

Ericssonprojekt genererar både C++ och syntetiserbar VHDL

"Mycket snack och liten verkstad". Så kan man sammanfatta hårdvaruutveckling med UML fram till dags dato. Men i ett pilotprojekt på Ericsson har Toni Siljamäki och hans kollegor utvecklat modellkompilatorer som automatgenererar både C++ och VHDL från samma systemmodell i UML.
Toni Siljamäki jobbar på Ericsson Corporate Applied Technologies, en stöd- och forskningsavdelning inom metoder och verktyg för systemutveckling inom Ericsson Radio Systems. Hans uppgift är att ta fram teknik som kan användas på Ericssonprodukter från mobiltelefoner till stora växelsystem med miljontals rader kod.

Med hjälp av UML-verktyget Bridgepoint har han lyckats med det hittills omöjliga.

- Vi har visat att vi kan använda UML för att automatgenerera hela system, och ett system består som bekant av både hårdvara och programvara.

- Om man kodar för hand måste man tidigt i projektet fatta beslut om vad som ska ligga i hårdvara respektive programvara. Om det sedan i ett senare skede av konstruktionsprojektet visar sig att konfigureringen inte är den optimala så ändrar man oftast ändå inte, eftersom omkonstruktioner kostar för mycket både i tid och pengar, säger Toni Siljamäki.

Genom att automatgenerera kod både för hårdvara och programvara från en systemmodell i UML kan man istället sent i projektet välja alternativa implementationer av det modellerade systemet, och på så sätt enkelt optimera systemet efter olika parametrar som exempelvis prestanda, effektutveckling och minnesåtgång. Det ger också möjligheten att släppa ut en tidig utgåva av ett system som inte är fullt optimerat. Nästa utgåva kan sedan ha en helt annan partitionering mellan hårdvara och programvara, och konstruktören kan ta fram olika utgåvor som är optimerade efter olika parametrar.

Project Technology, som ligger bakom teknologi och metodik i UML-verktyget Bridgepoint, är samarbetspartner med Ericsson. Bridgepoint stödjer idag formellt exekverbar UML som är möjlig att översätta till valfritt implementationsspråk.

I det första delprojektet syntetiserade man i och för sig inte VHDL till kisel - det ingick inte i projektets mål. Målet var här att generera både C++ och beteende-VHDL från samma exekverbara UML-modell.

I kommande delprojekt ska den hårdvarubeskrivande koden syntetiseras till skarp hårdvara. Beteende-VHDL, som var resultatet av första delprojektet, kan simuleras i hårdvarusimulatorer men inte nödvändigtvis syntetiseras. Vid automatgenerering av syntetiserbar VHDL från exekverbar UML låter man helt enkelt bli att generera sådana VHDL-konstruktioner som inte är syntetiserbara.

Sug efter verktyg

Det har länge funnits ett sug efter UML-verktyg för att grafiskt beskriva inbyggda realtidssystem vad gäller hårdvaran, och inte bara som hitintills för programvaran. Verktyg som automatiskt skapar körbar kod direkt från en modellbeskrivning. Både för hårdvara och programvara.

- Det finns ett stort intresse, men vi har inga riktiga produkter. I alla fall inga produkter för asiclösningar utifrån UML, säger Mikael Johnsson på Nohau, som säljer utvecklingsverktyg för inbyggda system.

Till Nohaus produktutbud hör UML-verktyg som Rhapsody från I-Logix. Rhapsody är en grafisk utvecklingsmiljö som binder samman analys, design, kodning, verifiering och dokumentation för en objektorienterad programteknik.

- Vi får ofta förfrågan om UML för hårdvara, när vi pratar på seminarier och mässor. Det enda verktyg jag hört talas om är Bridgepoint, som kan generera någon form av VHDL.

Bridgepoint stödjer Shlaer-Mellors teori, där man separerar tilllämpningen från implementationen. Konkurrenter är, förutom Rhapsody från I-Logix, bland annat produkter från Rational och Telelogic.

- Men de har ett annat tänk. De jobbar med analys, design och kodning, medan Shlaer-Mellor jobbar med översättningstekniken, att separera tillämpningen från implementationen, säger Christer Andersson på den svenska Bridgepoint-leverantören NRT.

- UML löser inte problemet. Jag tror att många av de här verktygen ritar symboler runt kod. Det blir ett-till-ett-mappning. I vårt fall är det inte så, det kan bli olika beroende på hur implementeringsbeskrivningen ser ut, säger han.

Verktygsföretaget IAR säger sig ha hårdvarumodellering med UML, men frågan är om hårdvarumodellering som inte genererar hårdvarukod är riktig hårdvarumodellering. Verktyget Visual State beskriver processningen i C++.

- Det är inte intressant med VHDL just nu, säger Mike Skrtic på IAR.

- Det viktiga i ett inbyggt system är kontrollogiken, som håller ihop de olika händelserna till en tillämpning.


Torun Bager

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)