Modelování a Analýza Systémů Stefan Ratschan Katedra číslicového návrhu Fakulta informačních technologíı České vysoké učení technické v Praze 19. září 2010 Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti 1 / 19
Stefan Ratschan budova A, místnost 1035 http://www.cs.cas.cz/~ratschan (Consultation Hours!) stefan.ratschan@cs.cas.cz Jindy: Ústav Informatiky Akademie Věd Pod Vodárenskou věží 2 Metro stanice Ládví První cvičení? 2 / 19
Pravidla hry Prosím přerušit! (aspoň v České republice) jsem blbé otázky ještě nezažil, ale hodně blbého mlčení! Přednáška vs. cvičení: Na přednášce se učíme novou látku, na cvičení ji cvičíme. Z toho plyne: Na cvičení nebudu vysvětlovat látku z přednášky ještě jednou. Kdo nechodí na přednášky, nebude rozumět tomu, co děláme na cvičení! 3 / 19
Hodnocení Pro výsledek zkoušky z a výsledek cvičení c, závěrečná známka= Z(0.6z + 0.4c), pokud z 0.5 a c 0.5, F, jinak, přičemž Z(x) = A, pokud 0.9 x, B, pokud 0.8 x < 0.9, C, pokud 0.7 x < 0.8, D, pokud 0.6 x < 0.7, E, pokud 0.5 x < 0.6, F, jinak. Průzkum pozadí 4 / 19
Zdroje Stránka předmětu: http://www.cs.cas.cz/~ratschan/mi-mas/ (viz. odkaz z Eduxu) Nebudu sledovat určitou učebnici. Na slajdách každé přednášky budu uvádět zdroje (v angličtině) Pokud navštěvujete přednášky, nebudete je potřebovat. Pokud nenávštěvujete přednášky, budete potřebovat další zdroje Slajdy budou obsahovat informace jen částečně, příklady, obrázky atd. budu kreslit na tabuli Pozor s wikipedíı! Velká část obsahu přednášky tam není. Pokud je, často obsahuje chyby, špatné vysvětlení atd. Wikipedie nemůže nahradit pochopení látky. 5 / 19
Systém, co to je? Kdo chce vznesenou definici s odkazy na řecké, latinské a čínské filosofy: at se podívá na jeho obĺıbenou encyklopedii. Pro nás: vlaky, letadla, roboty, atd. Tj.: složitá technická zařízení, jejichž důležitou součást tvoří software/digitální elektronika Jiné druhy systémů (dále nebudou tématem této přednášky, viz. MI-TES): Biologické systémy Sociální systémy... 6 / 19
Typické vlastnosti takových systémů Vysoce složité: Skupiny konstruktérů Obrovské: > 1000 v případě letadel Heterogenní: strojaři, softwaroví inženýři, řídicí technici, návrháři obvodů Bezpečnost často podstatná ( safety critical systems ) Reaktivní: nepřetržitá interakce s okoĺım Souběžné (concurrent): paralelní provoz různých funkcí Občas: změny struktury během provozu (např. počet vozů) Interakce fyzikálních a elektronických komponent ( cyber-physical system ) 7 / 19
Fyzikální vs. elektronické komponenty Čím dál tím víc úkolů přebírá elektronika (např, brake-by-wire, x-by-wire, x-by-wireless) Náklady na návrh elektroniky převyšují náklady na návrh fyzikálního systému 8 / 19
Regulační smyčka electronics sensor plant actuator A/D převodník 9 / 19
Jak projektovat takové systémy? Příklad: vlak Velice složitý: nejdřív rozložit na menší části Které? Pohon Skříň Signalizace Elektrika Klimatizace Světla Dveře Informační, komunikační a zábavní systémy Naklápěcí systém (viz. Pendolino) 10 / 19
Další postup 1. Zaměstnáme konstruktéry 2. Vytvoříme týmy (pro pohon, informační systém, atd.) 3. Necháme je projektovat 4. Dáme jednotlivé návrhy dohromady 5. Vyrobíme a prodáme vlaky Opravdu? Pokud konstruktéři se nebudou rvát (každý má jinou terminologii), pokud vůbec vyrábí použivatelný návrh (subsystémy pořád složité), pokud výsledné návrhy se vůbec dají složit (každý subsystém předpokládá něco jiného o jiných subsystémech), pokud výsledný návrh vůbec funguje, bude havarovat na trati. 11 / 19
Jak se tomu vyhýbat? Potřebujeme Jasné rozhraní mezi subsystémy Najít problémy rozložení a chyby návrhu co nejdříve Automatizovat celý postup co nejvíce 12 / 19
Model Abstraktnı reprezentace syste mu Abstraktnı : C a stec ny popis, ktery I skry va podrobnosti a I popisuje jen tyto aspekty syste mu, ktere jsou v okamz iku du lez ite. Napr.: Hleda me menzu, pomu z e na m toto? 13 / 19
Typografie modelů Dynamické, statické modely 14 / 19
Hierarchie systémových modelů Neformální popis: Vlak má dodržovat standard signalizace českých tratí Formální specifikace Vyšší operační modely (např. konečný automat) VHDL, C program Návrh digitálního obvodu, strojový kód... Hierarchie abstrakcí: vyšší vrstvy skrývají složitost, nižší vrstvy poskytují více podrobností Cyklus (zjednodušená idealizace): Vytvoříme model systému Rozložíme do subsystémů Pokud nutné, nižší, podrobnější modely 15 / 19
Výsledek Výhody: Od začátku jasné rozhraní na základě vyšších modelů Různé skupiny můžou pracovat se částečným modelem Podpora nástroji: automatizace překladu mezi modely (kompilátor, kódový generátor) simulace (demo?) testování formální verifikace Problémy a chyby se objeví brzy Pořád: Velice složitý problém (viz. Pendolino) Současný výzkum: model based design: intenzivní používání čím dál tím vyšších modelů 16 / 19
Cíl předmětu Studenti budou ovládat formalizmy, techniky a nástroje pro modelování a analýzu systémů tak, aby mohli fungovat v takovém procesu a aby mohli přispívat ke kvalitě výsledných systému. 17 / 19
Seznam přednášek 1. Úvod a přehled 2. Základy praktické logiky 3. Komunikující konečné automaty 4. Temporální logika 5. Simulace 6. Omezené ověřování modelů (bounded model checking) 7. Neomezené ověřování modelů (unbounded model checking) 8. Datové struktury pro ověřování modelů 9. Petriho sítě 10. Probabilistické modely 11. Časové automaty 12. Spojité, hybridní systémy: Modelování a simulace 13. Hybridní systémy: verifikace 18 / 19
Příští přednáška Základ všech druhů modelů: Logika Logika se v ČR učí jako teoretický předmět Což je krásně, ale studenti ji bohužel moc neumí používat Příští přednáška: základy praktické logiky 19 / 19