ELEKTROTEHNI ˇ SKI VESTNIK 78(4): 165–170, 2011 EXISTING SEPARATE ENGLISH EDITION Orodje za ovrednotenje vgrajenih sistemov na podlagi abstraktnega modeliranja sistema Klemen Perko 1 , Tomaˇ z Nahtigal 2 , Andrej Trost 2 1 Sipronika d.o.o., Trˇ zaˇ ska cesta 2, 1000 Ljubljana, Slovenija 2 Univerza v Ljubljani, Fakulteta za elektrotehniko, Trˇ zaˇ ska 25, 1000 Ljubljana, Slovenija E-poˇ sta: andrej.trost@fe.uni-lj.si Povzetek. Analiza in ovrednotenje sistema sta pomemben korak pri naˇ crtovanju sodobnih vgrajenih sistemov. Od natanˇ cnosti pridobljenih rezultatov sta odvisna obseg in teˇ za nadaljnjih odloˇ citev v naˇ crtovalskem postopku. V ˇ clanku predstavljamo orodje ASyMod, s katerim ovrednotimo sistem ˇ ze v prvih korakih naˇ crtovanja. Orodje omogoˇ ca preprosto grafiˇ cno modeliranje vgrajenih sistemov. Model vsebuje strojne in programske gradnike vgrajenega sistema na zelo abstraktni sistemski ravni. Abstraktne modele lahko hitro pripravimo in ocenimo izkoriˇ sˇ cenost strojne opreme in ˇ casovni potek opravil. V ˇ clanku bo prikazan primer izdelave in ovrednotenja abstraktnega modela vgrajenega sistema z orodjem ASyMod. Pokazali bomo, da se rezultati analize abstraktnega modela ujemajo z rezultati meritev na realnem vgrajenem sistemu. Kljuˇ cne besede: vgrajeni sistemi, soˇ casno naˇ crtovanje strojne in programske opreme, naˇ crtovanje na sistemski ravni A design analysis tool for embedded systems based on abstract system modelling Design analysis and evaluation are an important step in the embedded system design process. The accuracy of the evalu- ation results greatly affects decisions in the design process. The paper presents ASyMod, a tool to be used in evaluation of embedded systems in the early steps of the design process. The tool enables graphical composition of the system models. The embedded system models are composed of hardware and software components described on an abstract system level. The abstract models can be quickly assembled and evaluated according to the hardware usage and task execution timing. We will present an example of embedded system modelling and evaluation in the ASyMod tool. We will show that the abstract-model analysis results match with measurements on a real embedded system. 1 UVOD Vgrajeni sistemi so elektronski sistemi, ki so vgrajeni v neko napravo in izvajajo funkcije nadzora, krmilje- nja in obdelave podatkov. Sodobni vgrajeni sistemi so heterogene naprave, sestavljene iz veˇ c procesnih enot povezanih s komunikacijskimi vodili. Tipiˇ cen vgrajeni sistem opravlja veˇ cje ˇ stevilo nalog, ki so razdeljene na opravila. Doloˇ cena opravila se izvajajo na namenski strojni opremi (npr. vmesnik za komunikacijo po nekem protokolu), veˇ cina pa se izvaja v obliki programa na mikroprocesorjih [1]. Operacijski sistem omogoˇ ca, da se na mikroprocesorju v nekem ˇ casu razvrsti veˇ cje ˇ stevilo opravil, tako da je s staliˇ sˇ ca sistema videti, kot da se vsa Prejet 19. oktober, 2011 Odobren 7. november, 2011 opravila izvajajo hkrati. Naˇ crtovanje sodobnih vgrajenih sistemov je zaradi naraˇ sˇ canja kompleksnosti vse veˇ cji izziv. Zahteve po ˇ cim viˇ sji stopnji kakovosti, nizki ceni in ˇ cim hitrejˇ si dosto- pnosti na trgu narekujejo uporabo sodobnih pristopov pri naˇ crtovanju vgrajenih sistemov. Potrebujemo orodja, ki omogoˇ cajo zgodnje ovrednotenje sistema in poslediˇ cno uˇ cinkovitejˇ se vodenje pri naˇ crtovalskih odloˇ citvah. Pri naˇ crtovanju vgrajenih sistemov je pomembno, da vna- prej ocenimo, kako se bodo opravila izvajala in kakˇ sna bo izkoriˇ sˇ cenost komponent strojne opreme [2]. Poleg tega pa imajo vgrajeni sistemi pogosto zelo natanˇ cno opredeljene ˇ casovne odzive, ki igrajo kljuˇ cno vlogo pri naˇ crtovalskih odloˇ citvah. Na primer regulacijski sis- tem ima ˇ ze v postopku naˇ crtovanja doloˇ cene periode vzorˇ cenja in krmiljenja, pri katerih vsako odstopanje pomeni slabˇ se regulacijske zmogljivosti. Sodobni postopki naˇ crtovanja na ravni sistemov (angl. System Level Design - SLD) [3], [4] uporabljajo modeliranje kot enega osnovnih konceptov. Postopek naˇ crtovanja se zaˇ cne z izdelavo abstraktnih modelov [5] brez podrobnosti, vezanih na implementacijo. Ab- strakten model ovrednotimo glede na zahteve iz specifi- kacije. ˇ Ce zahtevam iz specifikacije ne ustreza, model spreminjamo v postopku raziskovanja naˇ crtovalskega prostora [6]. Ko so zahteve izpolnjene, model dopolnimo z novimi podrobnostmi in ga ponovno vrednotimo. To dopolnjevanje izvajamo, dokler v modelu ni dovolj in- formacij za implementacijo celotnega sistema. V prispevku bomo predstavili orodje za modeliranje in ovrednotenje vgrajenih sistemov na zelo visoki ravni 166 PERKO, NAHTIGAL, TROST abstrakcije. Definirali bomo osnovne elemente modela vgrajenega sistema, predstavili potek naˇ crtovanja in re- zultate ovrednotenja. Na primeru bomo pokazali, da se rezultati kljub zelo abstraktnemu modelu dobro ujemajo z meritvami na realnem sistemu. 2 ABSTRAKTEN MODEL VGRAJENEGA SISTEMA Metodologija modeliranja na abstraktni ravni omogoˇ ca soˇ casno naˇ crtovanje in ovrednotenje strojne in program- ske opreme [7]. Metodologija temelji na razˇ sirjeni upo- rabi abstrakcije, ki doloˇ ca minimalen nabor podatkov, s katerimi je mogoˇ ce modelirati in ovrednotiti vgrajeni reaktivni sistem s porazdeljeno obdelavo podatkov. Pri reaktivnih sistemih je eden glavnih kriterijev ˇ cas izva- janja opravil, ki je odvisen od hitrosti in zasedenosti izvrˇ silnih enot (npr. procesorjev) in komunikacijskih zakasnitev. Naˇ crtovanje reaktivnih sistemov zaˇ cnemo na podlagi analize specifikacij z nekaj znanimi algoritmi, ki jih bo treba implementirati v strojni in programski opremi vgrajenega sistema. Algoritmi so sicer lahko ˇ ze im- plementirani v nekem programskem jeziku, vendar je takˇ sna implementacija samo ena od mogoˇ cih in zato ne nujno najboljˇ sa za zaˇ cetne naˇ crtovalske odloˇ citve. Model sistema razdelimo po znanem konceptu grafa Y [8] na opis funkcionalnosti (algoritmov)in arhitekture (strojne opreme) ter doloˇ cimo medsebojno dodelitev. Funkcionalnost doloˇ ca naloge sistema in je opisana s pomoˇ cjo mreˇ ze abstraktnih opravil, povezane na podlagi medsebojnih podatkovnih odvisnosti. Abstraktni model opravila je opisan z zaporedjem visokonivojskih operacij za izvedbo izbranega algoritma in zahtev za prenos doloˇ cene koliˇ cine podatkov. Abstraktni model arhitek- ture je sestavljen iz mnoˇ zice izvrˇ silnih in komunika- cijskih enot. Izvrˇ silne enote ponujajo storitve (izvedbo operacij, prenos podatkov), za katere je znana ocena ˇ casa, ki ga potrebujejo, da se izvedejo. Komunikacijske enote so namenjene modeliranju dostopnosti komuni- kacijskih kanalov (vodil). Veˇ c izvrˇ silnih enot si lahko deli posamezno komunikacijsko enoto, vendar lahko istoˇ casno do nje dostopa samo ena, preostale pa medtem ˇ cakajo. V abstraktnem opisu funkcionalnosti se nahajajo zah- tevki za posamezne storitve, ki bodo omogoˇ cile iz- vedbo zahtevane funkcionalnosti. Za izvajanje teh zah- tevkov je odgovorna tista izvrˇ silna enota, kateri je v postopku dodelitve dodeljeno posamezno opravilo. Do- deljena izvrˇ silna enota med simulacijo izvaja zahtevke skladno s svojo razpoloˇ zljivostjo in dostopnostjo z njo povezanih komunikacijskih enot. Model izvrˇ silnih enot omogoˇ ca posameznim opravi- lom ekskluzivni dostop, ki je model namenskih strojnih enot, ali pa prek razvrˇ sˇ cevalnika, ki modelira delovanje operacijskega sistema na procesorju. Opravila so lahko v razliˇ cnih stanjih: Wait - ˇ caka na proˇ zilni dogodek ali na komunika- cijsko enoto, Ready - opravilo ˇ caka na seznamu za izvajanje, Run - opravilo se trenutno izvaja. Razvrˇ sˇ cevalnik s seznama ˇ cakajoˇ cih opravil izbere tisto, ki naj se glede na svoje atribute izvaja, in se ga v seznamu oznaˇ ci kot trenutno izvajajoˇ ce se opravilo. Takrat zaˇ cne opravilo posredovati svoje zahtevke za storitve. Ko se njegovo izvajanje konˇ ca, se s seznama briˇ se. Model razvrˇ sˇ cevalnika pozna tipiˇ cne razvrˇ sˇ cevalne algoritme, ki jih zasledimo v vgrajenih sistemih [9]: FCFS (angl. First-come first-served), RM (angl. Rate Monotonic), DM (angl. Deadline Monotonic) in EDF (angl. Earliest Deadline First). Poleg tega je mogoˇ ce izbrati prekinjanje izvajanja opravil, ki imajo niˇ zjo pri- oriteto kot tista ki so na ˇ cakalnem seznamu. 3 ORODJE ZA MODELIRANJE SISTEMOV - ASYMOD ovrednotenje modela Orodje ASyMod interpretacija grafičnega modela prevajanje modela (ANSI C++) modeliranje sistema v grafičnem okolju knjižnica arhitekturnih okvirjev knjižnica funkcionalnih okvirjev knjižnica za podporo analizi knjižnice SystemC interpreter „graf-2-tekst“ izvršitev simulacije končen model specifikacija vgrajenega sistema (začetna skica) model zadovoljiv? NE DA knjižnica komponent (baza) ANSI C++ prevajalnik raziskovanje načrtovalskega prostora Slika 1: Potek modeliranja vgrajenih sistemov v orodju ASyMod Razvili smo orodje za izdelavo in ovrednotenje ab- straktnih modelov vgrajenih sistemov, ki smo ga poi- menovali ASyMod (Abstract System-level Modelling). Orodje je sestavljeno iz grafiˇ cnega modelirnega okolja s podpornimi knjiˇ znicami in prevajalnikom ter skriptami za ovrednotenje modelov. Slika 1 prikazuje gradnike orodja ASyMod in potek naˇ crtovanja vgrajenih sistemov. Naˇ crtovalec ima na vo- ljo bazo vnaprej pripravljenih komponent v grafiˇ cnem ORODJE ZA OVREDNOTENJE VGRAJENIH SISTEMOV NA PODLAGI ABSTRAKTNEGA MODELIRANJA SISTEMA 167 Slika 2: Ovrednotenje modela vgrajenega sistema v orodju ASyMod: a) grafiˇ cno modelirno okolje, b) simulacija ˇ casovnega poteka opravil, c) tabelariˇ cni izpis izkoriˇ sˇ cenosti enot in d) grafikoni stanj opravil vmesniku. Grafiˇ cni modelirni vmesnik smo naredili v prosto dostopnem modelirnem okolju GME (Generic Modeling Environment) [10]. Okolje GME smo za naˇ s namen prilagodili z doloˇ citvijo metamodela, ki vsebuje vse sintaktiˇ cne, semantiˇ cne in predstavitvene informa- cije. Grafiˇ cno modeliranje poteka v treh pogledih (angl. aspect): arhitekturnem, funkcionalnem in dodelitvenem. V arhitekturnem in funkcionalnem se definirajo arhitek- turni in funkcionalni elementi modela. Posamezni ele- menti se lahko pridobijo iz obstojeˇ ce knjiˇ znice kompo- nent, oz. se izdelajo na novo in nato shranijo v knjiˇ znico za poznejˇ so ponovno uporabo. Elementi morajo biti zgrajeni tako, da ustrezajo podpornim knjiˇ znicam. Tu uporaba grafiˇ cnega okolja razbremeni uporabnika, saj ga usmerja pri izdelavi posameznega elementa, s sprotnim preverjanjem pravil pa onemogoˇ ca izdelavo neustreznih elementov. V dodelitvenem pogledu se nato izvede do- delitev arhitekturnih k funkcionalnim elementom. Po konˇ canem koraku grafiˇ cnega modeliranja sistema sledi interpretacija grafiˇ cnega modela. Razvili smo pre- vajalnik, ki iz grafiˇ cnega modela zgradi opis v jeziku za naˇ crtovanje na ravni sistemov SystemC. Rezultat inter- pretacije je datoteka z abstraktnim opisom vgrajenega sistema in simulacijskimi nastavitvami (npr: ˇ casovni korak, trajanje simulacije itd.) V naslednjem koraku sledi prevajanje jezikovnega opisa s prevajalnikom ANSI C++ v izvrˇ sljivo datoteko. Ko izvrˇ simo datoteko, dobimo rezultate simulacije ab- straktnega sistema v obliki ˇ casovnih potekov opravil in poroˇ cila o izkoriˇ sˇ cenosti arhitekturnih sredstev in grafikona, kot prikazuje slika 2. Ovrednotenje modela vgrajenega sistema naredimo s statistiˇ cno obdelavo simulacijskih rezultatov. V tabe- lariˇ cnem izpisu so za vsako opravilo podatki o deleˇ zu ˇ casa izvajanja, ˇ cakanja na izvajanje, ˇ cakanja na podatke in ˇ casovnem deleˇ zu, ko je bilo prekinjeno. Za analizo reaktivnih sistemov so pomembne tudi ˇ casovne variacije periodiˇ cnih opravil, ki jih razberemo iz histogramov, kot bo prikazano na primeru. Naˇ crtovanje vgrajenih sistemov je iterativni posto- pek. ˇ Ce prvotni model ni zadovoljiv, ga popravimo in ponovno ovrednotimo. Ta postopek raziskovanja naˇ crtovalskega prostora ponavljamo, dokler ne pridemo do zadovoljivega modela. 4 PRIMER MODELIRANJA VGRAJENEGA SISTEMA Uporabo orodja ASyMod bomo predstavili na abstrak- tnem modelu sistema za vodenje hitrosti vrtenja eno- smernega motorja. Osnovna naloga sistema je periodiˇ cno izvajanje diskretnega regulacijskega algoritma, ki ga lahko razdelimo na tri podatkovno odvisna opravila: branje senzorja (Get), izraˇ cun odziva (PI) in nastavlja- nje aktuatorja (Set), kot prikazuje slika 3. Na sploˇ sno 168 PERKO, NAHTIGAL, TROST izvaja vgrajeni sistem ˇ se druge funkcionalnosti, ki smo jih modelirali kot dve novi periodiˇ cni opravili: T2 in T3. Dodatni opravili sta podatkovno neodvisni od regulacijskega, vendar delita z njim skupno izvrˇ silno in komunikacijsko enoto, zato priˇ cakujemo da bosta vplivali na delovanje sistema. Ker imamo poleg zaporednih podatkovno odvisnih opravil ˇ se dve neodvisni, ki delita skupno izvrˇ silno enoto, uporabimo operacijski sistem z razvrˇ sˇ cevalnikom. Razvrˇ sˇ cevalniku smo dodelili tri opravila: Op1, Op2 in Op3, ki so obkroˇ zena na sliki 3. Izbrali smo razvrˇ sˇ cevalni algoritem RM v prekinjevalnem naˇ cinu. Slika 3: Funkcionalni pogled na model v orodju ASyMod Arhitekturni del vsebuje izvrˇ silno enotoExec_ARM7 in komunikacijski enoti Mem in Comm. Prvi dve enoti sta procesorska enota in pripadajoˇ ci pomnilnik. Enota Comm pa pomeni zaporedno komunikacijsko vodilo med vgrajenim sistemom in motorjem s senzorjem vtljajev. Na sliki 4 je prikazan dodelitveni pogled modela v orodju ASyMod. Slika 4: Dodelitveni pogled na model v orodju ASyMod Slika 5 prikazuje visokonivojsko kodo, ki opisuje opravila Get in PI in izsek kode iz knjiˇ znice izvrˇ silne enote ARM7. Opis opravila Get vsebuje zahtevek za prenos dveh bajtov iz komunikacijske enote Comm. Za izdelavo modela potrebujemo oceno ˇ casa za prenos doloˇ cene koliˇ cine podatkov po vodilu in ˇ casa za izraˇ cun // Abstrakten opis opravil v ASyModu void Get::MainThread() { m_pExecUnit->GetData(this, 2, &Comm, -1); } void PI::MainThread() { m_pExecUnit->Calc(this, 563); } // Storitve iz knjiˇ znice ARM7 void Exec_ARM7::Calc(int n) { for (int i=0; i<563; i++) { Wait(this, sc_time(64, SC_NS)); } } Slika 5: Visokonivojski model v jeziku SystemC doloˇ cenega algoritma. ˇ Case doloˇ cimo z nizkonivojsko simulacijo ali eksperimentalno izmerimo in jih mode- liramo v obliki storitev v knjiˇ znici doloˇ cene izvrˇ silne enote. Za procesor ARM7 smo ocenili ˇ cas izvajanja regulacijskega algoritma na 36 μs, kar pomeni 563 strojnih inˇ strukcij. Ker se lahko opravilo PI kadarkoli prekine, je njegov model opisan z zanko, ki se ponovi 563-krat in vsakokrat ˇ caka 64 ns, kolikor je povpreˇ cen ˇ cas izvajanja inˇ strukcij. 5 REZULTATI Iz ˇ casovnih potekov izvajanja opravil lahko razberemo nekaj karakteristiˇ cnih ˇ casov pri vsakokratnem izvajanju opravila. Na sliki 6 so za k-to zaporedno izvajanje opravila oznaˇ ceni naslednji ˇ stirje ˇ casi: 1) trig2start k : je ˇ cas, ki je pretekel od takrat, ko je priˇ sel zahtevek za izvedbo opravila, pa do takrat, ko se je opravilo zaˇ celo izvajati, 2) start2end k : je ˇ cas, ki je pretekel od zaˇ cetka pa do konca izvajanja; v ta ˇ cas se ˇ stejejo tudi vse prekinitve izvajanja, 3) trig2end k : je preteˇ ceni ˇ cas, od zahtevka za iz- vedbo pa do konca izvajanja opravila, 4) T k : je ˇ cas med posameznima zaˇ cetkoma izvajanja opravila. Skozi celoten ˇ casovni potek za posamezno opravilo lahko te ˇ case zberemo skupaj, jih statistiˇ cno obdelamo in prikaˇ zemo na histogramu. Na sliki 7 so normalizirani histogrami, ki prikazujejo porazdelitev dveh karakteristiˇ cnih ˇ casov opravila Op1. Populacija vzorcev v histogramih znaˇ sa 313 meritev, razdeljeni pa so v 22 stolpcev. Porazdelitve v vseh histogramih so diskretne. Opravilo Op1 ima med vsemi opravili doloˇ ceno najniˇ zjo prioriteto. Zakasnitev izvaja- nja opravila trig2start je najbolj porazdeljena. Verje- tnost, da se bodo opravila lahko takoj zaˇ cela izvajati ORODJE ZA OVREDNOTENJE VGRAJENIH SISTEMOV NA PODLAGI ABSTRAKTNEGA MODELIRANJA SISTEMA 169 Slika 6: Karakteristiˇ cni ˇ casi pri posameznem izvrˇ sevanju opravila. komaj presega vrednost p 1 = 0;2, zato je precej velika verjetnost, da bo opravilo moralo poˇ cakati, da se konˇ ca eno ali celo obe opravili, ki imata viˇ sjo prioriteto. Slika 7: Histogrami karakteristiˇ cnih ˇ casov opravila Op1 Karakteristiˇ cne ˇ case izvajanja opravil smo tudi izme- rili na implementiranem sistemu. V programsko opremo smo dodali testno kodo, ki ob zaˇ cetku izvajanja opravila postavi izhodni prikljuˇ cek mikrokrmilnika na logiˇ cno 1, ob koncu izvajanja pa na 0. Meritve smo opravili s pomoˇ cjo digitalnega osciloskopa Lecroy WaveRunner in referenˇ cnega signalnega generatorja. Funkcije digital- nega osciloskopa omogoˇ cajo kontinuirano shranjevanje rezultatov posameznih meritev in prikaz vseh shranjenih rezultatov v obliki histograma, kot prikazuje slika 8. Izmerjena ˇ sirina impulza OSCstart2end k je enaka karakteristiˇ cnemu ˇ casu start2end. OSCT k je izmer- jeni ˇ cas med dvema pozitivnima frontama signala na izhodnem prilkjuˇ cku in je enak periodi opravila T . Za meritve karakteristiˇ cnih ˇ casov trig2start in trig2end smo potrebovali ˇ se referenˇ cni signalni generator. Temu smo nastavili, da je generiral signal z enako periodo Slika 8: Meritve karakteristiˇ cnih ˇ casov opravil z osciloskopom. kot opravilo, ki smo ga opazovali. Prva fronta signala je osciloskopu proˇ zila vzorˇ cenje signala na prikljuˇ cku mikrokrmilnika. Meritve ˇ casa OSCtrig2start k med proˇ zenjem in prvo fronto impulza na izhodnem pri- kljuˇ cku so v korelaciji s ˇ casom trig2start. Enako so meritve ˇ casa OSCtrig2end k med proˇ zenjem in zadnjo fronto impulza pa v korelaciji s ˇ casom trig2end. Pomanjkljivost meritev OSCtrig2start in OSCtrig2end je v tem, da je med signalom referenˇ cnega generatorja in taktom notranjega ˇ casovnika, ki proˇ zi izvajanje opravila neki fazni zamik. Izmerjena ˇ casa sta od dejanskih ˇ casov trig2start in trig2end poveˇ cana ravno za velikost tega zamika. Zamik lahko pred zaˇ cetkom meritev roˇ cno zmanjˇ samo tako, da za nekaj ˇ casa nekoliko spremenimo periodo referenˇ cnega signalnega generatorja, vendar pa ga tako ne moremo sistematiˇ cno odpraviti. Ker imajo vsi izmerjeni ˇ casi enako napako, velja, da nenatanˇ cnost zaradi zamika ne vpliva na obliko histograma (viˇ sino stlpcev in njihovo medsebojno razdaljo), ampak samo na horizontalni premik vseh stolpcev. ˇ Cas, ki ga pomeni vsak stolpec histograma, je podaljˇ san za ˇ cas zamika. Na sliki 9 sta prikazana histograma ˇ casov OSCtrig2end in OSCtrig2start. Hitra vizualna primerjava oblike teh dveh histogramov nam pove, da sta zelo podobna histogramom simulacij iz ASyModa (slika 7). Histograme smo kvantitativno primerjali z metodo preseka normiranih histogramov. Uporabljena mera za podobnost dveh normaliziranih histogramov, pri ˇ cemer imata obaB stolpcev, je definirana kot seˇ stevek presekov istoleˇ znih stolpcev. Mera SIM je podana z enaˇ cbo (1). SIM = B X i=1 min(p i ;p Ri ) . (1) 170 PERKO, NAHTIGAL, TROST Slika 9: Histograma meritev OSCtrig2start in OSCtrig2end za opravilo OP1 Rezultat mere se giblje 0 SIM 1, pri ˇ cemer velja, da bolj ko sta si histograma podobna, bliˇ ze je rezultat vrednosti 1. Primerjava histogramov trig2end za opravilo OP1 da rezultat SIM = 0:97, trig2start pa rezultat SIM = 0:99. 6 SKLEP Z razvojem orodja ASyMod za modeliranje vgrajenih sistemov na sistemski ravni smo postavili dobra iz- hodiˇ sˇ ca za nadaljnje raziskovalno delo na tem podroˇ cju. Orodje je osnova za modeliranje sistemov na zelo vi- sokem ravni abstrakcije. Moˇ znosti za nadaljnje delo vidimo v veˇ c smereh. Trenutno je ASyMod primeren za modeliranje siste- mov, pri katerih je ˇ cas izvajanja funkcionalnih opra- vil neodvisen od vhodnih podatkov. Smiselno bi bilo razˇ siriti moˇ znosti modeliranja tako, da bi se upoˇ stevala tudi ta odvisnost. Obenem bi bilo smiselno vkljuˇ citi ˇ se opazovanje ˇ casa, ki je posledica preklopa konteksta (angl. context switch) pri izvajanju opravil. Naslednja moˇ znost za razˇ siritev se kaˇ ze pri konceptu komunikacijskih enot. Trenutno so te enote modelirane s konceptom mutexa – enote so ali pa niso zasedene, trajanje dostopa pa je modelirano znotraj opisa funkci- onalnosti. Obstaja pa ˇ se drug pogled na komunikacijske kanale. Razliˇ cni kanali imajo razliˇ cno prepustnost. ˇ Ce ˇ zeli funkcionalnost samo prenesti neko sporoˇ cilo, naj od komunikacijske enote zahteva storitev za ta prenos. Samo od zmogljivosti komunikacijske enote naj bo odvi- sno, koliko ˇ casa bo potrebovala za prenos tega sporoˇ cila. Tako bi bolje razmejili funkcionalne zahteve sistema od zmoˇ znosti, ki jih ponujajo arhitekturni elementi. LITERATURA [1] Frank Vahid and Tony Givargis, “Embedded System Design: A Unified Hardware/Software Introduction”, John Wiley and Sons, 2002. [2] J. Kreku, M. Hoppari, T. Kestil¨ a, Y . Qu, J.-P. Soininen, P. Andersson and K. Tiensyrj¨ a, “Combining UML2 application and SystemC platform modelling for performance evaluation of real-time embedded systems”, EURASIP Journal on Embedded Systems, vol. 2008, no. 6, pp. 1 - 18, 2008. [3] V . Zivkovic and P. Lieverse, “An Overview of Methodologies and Tools in the Field of System-Level Design”, Embedded Processor Design Challenges, Springer-Verlag New York, Inc., pp. 74 - 88, 2002. [4] Alberto Sangiovanni-Vincentelli, “Quo Vadis SLD: Reasoning about Trends and Challenges of System-Level Design”, Procee- dings of the IEEE, vol. 95, no. 3, pp. 467 - 506, March 2007. [5] D.C. Schmidt, “Guest editor’s introduction: model-driven engi- neering”, IEEE Computer, vol. 39, no. 2, pp. 25 - 31, 2006. [6] A. Pimentel, “The Artemis Workbench for System-level Perfor- mance Evaluation of Embedded Systems”, Journal of Embedded Systems, vol. 3, no. 3, pp. 181 - 196, 2008. [7] J. Dediˇ c, M. Finc, A. Trost, “A methodology for supporting system-level design space exploration at higher levels of abstrac- tion”, J. Circ. Syst. Comput., vol. 17, no. 4, pp. 703 - 727, 2008. [8] Daniel D. Gajski and Robert H. Kuhn, “New VLSI tools” Computer, vol. 16, no. 12, pp. 11 - 14, 1983. [9] G. Buttazzo, “Hard Real-Time Computing Systems: Predictable Scheduling Algorithms and Applications”, Kluwer Academic Publishers, Norwell, MA, USA, 1997. [10] A. Ledeczi et all, “The Generic Modeling Environment”, Proce- edings of IEEE Int. Workshop on Intelligent Signal Processing (WISP ’01), IEEE, Budapest, Hungary, maj 2001. Klemen Perko je diplomiral in doktrorial na Fakulteti za elektroteh- niko Univerze v ljubljani v letih 2004 in 2011. Od leta 2005 je zaposlen v podjetju Sipronika, d.o.o., Ljubljana, kjer izvaja ˇ stevilne aplikativne projekte. Njegovo raziskovalno delo je usmerjeno na visokonivojsko naˇ crtovanje in modeliranje vgrajenih sistemov. Tomaˇ z Nahtigal je doktorski ˇ student na Fakulteti za elektrotehniko Univerze v Ljubljani. Diplomiral je v letu 2007. Ukvarja se s postopki naˇ crtovanja in verifikacije digitalnih sistemov, aplikacij in soˇ casnim naˇ crtovanjem strojne in programske opreme. Andrej Trost je doktoriral leta 2000 na Fakulteti za elektrotehniko Univerze v Ljubljani in bil habilitiran v naziv docent. Raziskovalno se ukvarja z razvojem vezij v tehnologiji FPGA in naˇ crtovanjem digitalnih sistemov, ki jih razvija tudi za industrijske aplikacije. Viso- konivojsko naˇ crtovanje vezij pouˇ cuje pri predmetih na dodiplomskem in podiplomskem ˇ studiju.