Beágyazott Rendszerek Modellezése

Hasonló dokumentumok
A legáltalánosabb számítási modellek és a Ptolemy eszköz bemutatása. Völgyesi Péter volgyesi@mit.bme.hu

Rendszermodellezés. Modellellenőrzés. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

Alapszintű formalizmusok

ÁRAMKÖRÖK SZIMULÁCIÓJA

Az UPPAAL egyes modellezési lehetőségeinek összefoglalása. Majzik István BME Méréstechnika és Információs Rendszerek Tanszék

Szimuláció. Fault Tolerant Systems Research Group. Budapest University of Technology and Economics. Department of Measurement and Information Systems

Valószínűségi modellellenőrzés Markov döntési folyamatokkal

Autóipari beágyazott rendszerek. Integrált és szétcsatolt rendszerek

Folyamatok. 6. előadás

Autóipari beágyazott rendszerek. Komponens és rendszer integráció

Valós idejű kiberfizikai rendszerek 5G infrastruktúrában

Kommunikáció. Kommunikáció. Folyamatok. Adatfolyam-orientált kommunikáció. Kommunikáció típusok (1) Kommunikáció típusok (2) Média. Folyamok (Streams)

Processzusok (Processes), Szálak (Threads), Kommunikáció (IPC, Inter-Process Communication)

őszi kezdés ETF I. félév ősz II. félév tavasz III. félév ősz IV. félév tavasz ea gy k kr ea gy k kr ea gy k kr ea gy k kr Alapozó ismeretek

... S n. A párhuzamos programszerkezet két vagy több folyamatot tartalmaz, melyek egymással közös változó segítségével kommunikálnak.

Szoftverminőségbiztosítás

Autóipari beágyazott rendszerek. A kommunikáció alapjai

Villamosmérnöki mesterszak mintatanterve (GE-MVL) levelező tagozat/ MSc in Electrical Engineering, part time

MPLAB IDE - SIM - - Rövid ismertető a használathoz - Kincses Levente 3E22 89/ November 14. Szabadka

I. A DIGITÁLIS ÁRAMKÖRÖK ELMÉLETI ALAPJAI

Szimuláció RICHARD M. KARP és AVI WIGDERSON. (Készítette: Domoszlai László)

Szenzorhálózatok programfejlesztési kérdései. Orosz György

MINTA Írásbeli Záróvizsga Mechatronikai mérnök MSc. Debrecen,

Modellezés Petri hálókkal. dr. Bartha Tamás dr. Majzik István dr. Pataricza András BME Méréstechnika és Információs Rendszerek Tanszék

Élettartam teszteknél alkalmazott programstruktúra egy váltóvezérlő példáján keresztül

Processzusok (Processes), Szálak (Threads), Kommunikáció (IPC, Inter-Process Communication)

Kvantitatív módszerek

Szekvenciális hálózatok és automaták

ICT ÉS BP RENDSZEREK HATÉKONY TELJESÍTMÉNY SZIMULÁCIÓJA DR. MUKA LÁSZLÓ

Objektumorientált paradigma és programfejlesztés Bevezető

BEÁGYAZOTT RENDSZEREK TERVEZÉSE UDP csomag küldése és fogadása beágyazott rendszerrel példa

Bevezetés a párhuzamos programozási koncepciókba

Adatszerkezetek 1. előadás

Temporális logikák és modell ellenırzés

Informatika Rendszerek Alapjai

Számítógéppel segített folyamatmodellezés p. 1/20

Alapszintű formalizmusok

Osztott jáva programok automatikus tesztelése. Matkó Imre BBTE, Kolozsvár Informatika szak, IV. Év 2007 január

Bokor Péter. DECOS Nemzeti Nap október 15. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

A Jövő Internet elméleti alapjai. Vaszil György Debreceni Egyetem, Informatikai Kar

Automatikus tesztgenerálás modell ellenőrző segítségével

Modellellenőrzés a vasút automatikai rendszerek fejlesztésében. XIX. Közlekedésfejlesztési és beruházási konferencia Bükfürdő

A modell-ellenőrzés gyakorlata UPPAAL

Neurális hálózatok bemutató

Újrakonfigurálható eszközök

Dr. habil. Maróti György

Objektumorientált paradigma és a programfejlesztés

Részletes szoftver tervek ellenőrzése

ÉRZÉKELŐK ÉS BEAVATKOZÓK I. 0. TANTÁRGY ISMERTETŐ

"A tízezer mérföldes utazás is egyetlen lépéssel kezdődik."

Aktív zajcsökkentő rendszerek megvalósítása szenzorhálózattal

Laborgyakorlat 3 A modul ellenőrzése szimulációval. Dr. Oniga István

2.1.A SZOFTVERFEJLESZTÉS STRUKTÚRÁJA

Transzformációk integrált alkalmazása a modellvezérelt szoftverfejlesztésben. Ráth István

LabVIEW példák és bemutatók KÉSZÍTETTE: DR. FÜVESI VIKTOR

Logikai hálózatok. Dr. Bede Zsuzsanna St. I. em. 104.

Időzített átmeneti rendszerek

Inga. Szőke Kálmán Benjamin SZKRADT.ELTE május 18. A jegyzőkönyv célja a matematikai és fizikai inga szimulációja volt.

Diszkrét állapotú rendszerek modellezése. Petri-hálók

Alkalmazott matematikus mesterszak MINTATANTERV

Összeállította Horváth László egyetemi tanár

Digitális technika VIMIAA01 9. hét Fehér Béla BME MIT

Digitális technika VIMIAA01 9. hét

A félév során előkerülő témakörök

2) Tervezzen Stibitz kód szerint működő, aszinkron decimális előre számlálót! A megvalósításához

TÁMOP /1/A projekt Regionális turisztikai menedzsment /BSc/ /Differenciált szakmai ismeretek modul/ Információs irodák menedzsmentje

egy szisztolikus példa

Laborsegédlet 3. Labor

CAD Rendszerek I. Sajátosság alapú tervezés - Szinkron modellezés

Mechatronika alapjai órai jegyzet

Modell alapú tesztelés mobil környezetben

UML (Unified Modelling Language)

A CMMI alapú szoftverfejlesztési folyamat

Számítógép és programozás 2

Rendszer szekvencia diagram

Adatszerkezetek Adatszerkezet fogalma. Az értékhalmaz struktúrája

Operációs rendszerek. Bemutatkozás

Szimuláció. Fault Tolerant Systems Research Group. Budapest University of Technology and Economics. Department of Measurement and Information Systems

5. Hét Sorrendi hálózatok

Elérhetőségi analízis Petri hálók dinamikus tulajdonságai

Programok értelmezése

Nagy bonyolultságú rendszerek fejlesztőeszközei

alkalmazásfejlesztő környezete

Mérési struktúrák

Irányítástechnikai alapok. Zalotay Péter főiskolai docens KKMF

Quadkopter szimulációja LabVIEW környezetben Simulation of a Quadcopter with LabVIEW

1. Irányítástechnika. Készítette: Fecser Nikolett. 2. Ipari elektronika. Készítette: Horváth Lászó

Operációs rendszerek Folyamatok 1.1

Modellezési esettanulmányok. elosztott paraméterű és hibrid példa

Számításelmélet. Második előadás

Mérnök informatikus mesterszak mintatanterve (GE-MI) nappali tagozat/ MSc in, full time Érvényes: 2011/2012. tanév 1. félévétől, felmenő rendszerben

Formális módszerek GM_IN003_1 Bevezetés

Mérés, Vezérlés. mérésadat rögzítés CMC - 99 CMC kis és nagytestvér

Nagy Gábor compalg.inf.elte.hu/ nagy

Elérhetőségi probléma egyszerűsítése: Állapottér és struktúra redukció Petri-háló alosztályok

Számítógép-rendszerek fontos jellemzői (Hardver és Szoftver):

Méréselmélet MI BSc 1

Szinkronizmusból való kiesés elleni védelmi funkció

Programfejlesztési Modellek

Struktúra nélküli adatszerkezetek

Átírás:

Beágyazott Rendszerek Modellezése Számítási Modellek A Ptolemy modellezési eszköz Készítette: Völgyesi Péter és Simon Gyula

Tartalom Tervezés, modellezés, szimuláció Számítási modellek végrehajtási logika A Ptolemy eszköz bemutatása Számítási modellek bemutatása: Diszkrét események Folytonos idejű rendszerek Szinkron adatfolyam gráfok Állapot automaták Idővezérelt rendszerek Kommunikáló folyamatok Folyamat hálózatok

Tervezés, modellezés, szimuláció Cél: komplex rendszerek tervezése Különböző feladatok keveredése. Pl.: Hálózatkezelés Jelfeldolgozás Szabályozástechnika Működési módok váltakozása Felhasználói felületek tervezés modellezés szimuláció

Modellezés Modellezés = rendszer formális leírása Matematikai modellek Rendszer tulajdonságairól, viselkedéséről szóló állítások halmaza Konstruktív modellek Számítási egységek, amik utánozzák a rendszer bizonyos aspektusainak viselkedését Gerjesztés válasz végrehajtható modellek tervezés modellezés szimuláció

Tervezés Tervezés = rendszerkomponensek definiálása Modellalkotás Modellfinomítás Kívánt viselkedés Modellek: Kézben tartható, változtatható (tervezett beágyazott rendszer) Külső kényszer által definiált (környezet) tervezés modellezés szimuláció

Szimuláció Szimuláció = végrehajtható modell futtatása Fizikai rendszer + beágyazott rendszer Modell viselkedésének meghatározása Modellfinomítás eszköze Egyes modellek implementációvá válhatnak kódgenerálás tervezés modellezés szimuláció

Számítási modellek (Models of Computation) Fizikai törvényeket definiálják Végrehajtás módja (nem a struktúra!) pl. mechanika, állapotgráf, folyamatháló Absztrakt szabályrendszer, mely a modellek viselkedését szabályozza: szemantika Fontos feladatok Párhuzamosság kezelése Idő kezelése Komponensek közötti kommunikáció

Számítási modellek (Models of Computation) Modellezendő világhoz illeszkedő számítási modell választása Milyen a megfelelő számítási modell? Nincsenek felesleges kényszerek Mégis elég kötött, hogy Hasznos eredményeket tudjon adni Effektíven tudjon működni Rossz szemantika költséges, gyenge modell

Számítási modellek (Models of Computation) A fizikai rendszer, a HW és a SW együttes modellezése Több számítási modell Mindig olyat választunk, amely a részfeladathoz megfelelő Különböző számítási modell együttes használata Pl. a fizikai rendszer és a beavatkozó logika modellezése Jól definiált számítási modellek (szemantika) Közös nyelvek, mindenki érti a modellt, a végrehajtás menete egységes

Ptolemy http://ptolemy.eecs.berkeley.edu A major emphasis in Ptolemy II is on the methodology for defining and producing embedded software together with the systems within which it is embedded. A principle of the Ptolemy project is that the choices of models of computation strongly affect the quality of a system design.

Ptolemy Grafikus modellezési eszköz Számítási modellek és azok együttes használata: heterogén modellek Hangsúly a szemantikai különbségeken van Meta-modellek nincsenek Szimuláció (Java) Korlátozott mértékben kódgenerálás

Ptolemy Director: a modell szemantikai értelmezése Actor: végrehatható elemek Általános és szemantika függő elemek Portok (kapuk): kommunikációs pontok (input/output) Kapcsolatok: kommunikációs csatornák Hierarchia: összetett actor-ok Heterogén modellek: az összetett actor különböző vezérlőt (director) tartalmaz

Bemutató: sin.moml

Számítási modellek - különbségek Párhuzamos végrehajtás Milyen mértékben szakadnak el egymástól a végrehajtó egységek Determinisztikus viselkedés Pontosan megismételhető-e a szimuláció Az idő fogalma Foglalkozik-e a szimuláció idő jellegű információval Ha igen, hogy viszonyul a szimulációs idő a valós időhöz Elosztott (lokális órák) vagy globális idő Speciális végrehajtó egységek

Folytonos idejű rendszerek [Continuous Time] Elsősorban a fizikai környezet leírására használjuk A rendszer kimenetén és bemenetén folytonos idejű jelek, differenciál-egyenletek Matematikai modell: x& = f y = g( x, u, t) x ( t = x 0 ) ( x, u, t) 0

Folytonos idejű rendszerek [Continuous Time] Modellezési lehetőségek: Fizikai modell (megmaradási törvények) Egy meglévő rendszerből könnyű előállítani A matematikai modell nem látszik közvetlenül Jelfolyam gráfok Absztraktabb leírás Könnyebben kapcsolható más leírási formákhoz A matematikai leírás közvetlenül előállítható Ptolemy x& = f ( x, u, t) y = g( x, u, t) x( t0) = x 0

Folytonos idejű rendszerek [Continuous Time] Végrehajtás, szimuláció: Numerikus DE megoldó algoritmusok (Euler, Runge-Kutta, trapéz módszer) Előre menetelés az időben, differencia egyenletekkel való közelítés A lépés nagysága ( t) rögzített vagy adaptív (speciális actor-ok képesek korrigálni) A kapcsolatokon a jelek lépcsősek (nulladrendű tartó)

Folytonos idejű rendszerek [Continuous Time] Idő kezelése: Valós idejű végrehajtás, folytonos idő Közös óra Determinisztikus viselkedés Speciális végrehajtó egységek: Integrátor Esemény generátorok (pl. nullátmenet érzékelő) Jelgenerátorok (pl. nulladrendű tartó)

Bemutató: spring.moml

Diszkrét események [Discrete Events] A végrehajtó egységek időbélyeggel ellátott eseményeket (token) generálnak Az események egy közös rendezett listába kerülnek A vezérlő (director) lépteti az időt a listában szereplő első token időbélyegére Egy iterációs lépésben az összes olyan esemény feldolgozásra kerül, melynek közös az időbélyege (egy végrehajtó egység többször is meghívódhat)

Diszkrét események [Discrete Events] Idő kezelése: Globális Nem folytonos (a szimuláció az események számával arányos ideig tart, a szimulált idő nem számít ) Nem valós idejű Párhuzamosítás foka alacsony (az ütemezési logika szekvenciális) Determinisztikus viselkedés Speciális végrehajtó egységek: késleltető logika Az általános actor-ok késleltetése: 0

Diszkrét események [Discrete Events] Szimultán események végrehajtása Intuíció: a Ramp végrehajtó egység hamarabb fog lefutni, mint a Plotter Megoldás: topológiai rendezés a szimuláció elején Probléma: köröket tartalmazó gráfok ilyenkor mindig kell késleltetés

Bemutató: server.moml

Szinkron adatfolyam gráfok [Synchronous Dataflow] Jelfeldolgozó feladatoknál használjuk Az egyes végrehajtó elemek minden iterációs lépésben token(eke)t fogyasztanak állítanak elő (homogén: egy token/iteráció, nem homogén: több is lehet) Minden actor (konstans számszor) fut az iterációs lépésben (homogén: egyszer, nem homogén: többször is) A végrehajtási sorrend előre eldönthető (topológiai viszonyok alapján), deadlock felismerhető Visszacsatolás csak késleltetővel oldható meg. (A késleltetés nem időt, hanem iterációs lépést jelent)

Szinkron adatfolyam gráfok [Synchronous Dataflow] Nem homogén adatfolyam gráf: egy végrehajtó egység több tokent fogyaszt vagy állít elő a portjain Végrehajtási sorrend: A, A, B, C, C Token-megmaradási egyenletek: Fire(A) x Prod (A) = Fire(B) x Cons(B) Fire(B) x Prod (B) = Fire(C) x Cons(C) Fire(C) x Prod (C) = Fire(B) x Cons(B) A 1 2 B 2 2 1 1 C Az iterációs lépés végén minden kapcsolaton annyi token áll, mint a lépés végrehajtása előtt Példa: FFT algoritmus

Szinkron adatfolyam gráfok [Synchronous Dataflow] A szinkron adatfolyam gráf nem kezeli az idő fogalmát (helyette iterációs lépések vannak) A viselkedés determinisztikus (előre elkészített ütemezés) gyors! Párhuzamosság foka alacsony (erős függőség a többi végrehajtó egységtől) Speciális elemek: minden olyan elem, mely több tokent gyárt vagy fogad (pl. FFT)

Bemutató: spectrum.moml

Állapotautomaták [Finite State Machines] Kakukktojás: a dobozok nem kommunikálnak, hanem állapotokat írnak le Nagyon jól használható szekvenciális logikai műveletek leírására (pl. szoftverkomponensek, szabályzók) Intuitív Formális analízis és verifikáció Hagyományos állapotautomata kiterjesztése (*charts): Hierarchia Felsőbb szinteken párhuzamosítás (pl. adatfolyam gráf)

Állapotautomaták [Finite State Machines] Állapotok (state) Állapot-átmenetek Feltételek (guard-expressions) Műveletek (actions) A==B D<0 D=C State1 A>Q D=-C State2

Bemutató: ami_coder.moml (Alternate Mark Inversion Coder)

Idővezérelt rendszerek [Time Triggered Systems] Kommunikáció periodikus, idő-triggerelt (TT) modulok között Biztonságkritikus alkalmazások, RT rendszerek

Idővezérelt rendszerek [Time Triggered Systems] Jelentős különbség: a végrehajtó elemeket nem beérkező tokenek, hanem időzítő hajtja végre (adott frekvenciával) Minden végrehajtási elemnek létezik egy worst case execution time paramétere: az ütemező előre felismerheti a hibákat A végrehajtó elem által előállított tokenek csak a végrehajtás után érhetőek el más elemek bemenetein (pl. ugyanolyan frekvenciával működő összekötött komponensek közül a második egy ciklussal későbbi tokeneket lát)

Idővezérelt rendszerek [Time Triggered Systems] Idő kezelése: Erősen valós idejű Globális óra Párhuzamos végrehajtás (nincs adat jellegű függés) A viselkedés determinisztikus Tipikus felhasználás: real-time rendszerek modellezése (ipari folyamatok)

Bemutató: multirate.moml

Kommunikáló folyamatok [Communicating Sequential Processes] Külső kontroll nélkül futó folyamatok Egyirányú kommunikációs csatornák a folyamatok között FIFO nélkül Blokkoló olvasás és írás műveletek (randevú) Az adatküldés atomi módon zajlik le, mely után a két folyamat tovább fut Felhasználás: erőforrás menedzsment

Kommunikáló folyamatok [Communicating Sequential Processes] Az eredeti modell az idő fogalmát nem kezeli, de kiterjeszthető Magas szintű párhozamosság Deadlock felismerése minden folyamat blokkolva van csak futás időben ismerhető fel Nem determinisztikus viselkedés több párhuzamos csatorna egyidejű használata Az első kommunikáció blokkol

Kommunikáló folyamatok [Communicating Sequential Processes] Példa: vacsorázó filozófusok http://ptolemy.eecs.berkeley.edu/ptolemyii/ptiilatest/ptii/ptolemy/domains/csp/doc/ Pálcika életciklus: Asztalon fekszik Felveszik Esznek vele Leteszik Asztalon fekszik... Filozófus életciklus: Meditál Megéhezik Felveszi az egyik pálcikát Felveszi a másik pálcikát Eszik Leteszi a pálcikákat Meditál... Pálcika életciklus: Asztalon fekszik Felveszik Esznek vele Leteszik Asztalon fekszik Felveszik Esznek vele Leteszik Asztalon fekszik...

Folyamathálózatok [Process Networks] Aszinkron adatfolyam gráfok A végrehajtó elemek FIFO-val bufferelt csatornán keresztül kommunikálnak az írás (küldés) művelet nem blokkolódik üres buffer olvasása blokkol aszinkron üzenetküldés, Kahn process network Tipikus felhasználás: jelfeldolgozás Előre nem kitalálható végrehajtási sorrend (ütemezés) Deadlock felismerése csak futás alatt történhet

Folyamathálózatok [Process Networks] Az eredeti modell az idő fogalmát nem kezeli, de kiterjeszthető Nagyon magas szintű párhozamosság (csak az olvasás blokkolhat) Determinisztikus viselkedés Kivétel: mutációk időfogalommal nem rendelkező PN-ben

Bemutató: OrderedMerge.moml

Heterogén rendszerek: kevert (folytonos diszkrét) jelek Tipikusan minden beágyazott alkalmazásban jelentkezik: folytonos fizikai rendszer diszkrét idejű számítógép Bemutató: mixed.moml

Hibrid rendszerek A beágyazott rendszer bizonyos feltételek teljesülése esetén egy más viselkedési módba kapcsol át: átkonfigurálás FSM állapotok belsejében szerepelnek a különböző működési módok Nehéz feladat: tranziensek kezelése

Bemutató: StickyMasses.xml

Vezeték nélküli szenzorhálózatok [Wireless] Szenzorhálózatok modellezése Csatornák: Rádiós kommunikáció Modellek: Kör Veszteséges Egyéb jelenségek Akusztikus

Bemutató: SmallWorld.xml EvaderAndPursuer.xml