Charles University in Prague, 1st Faculty of Medicine, Institute of Pathophysiology, Laboratory of Biocybernetics Implementace rozsáhlého modelu fysiologických funkcí organismu v prostředí jazyka Modelica Bc. Tomáš Kroček Obhajoba diplomové práce
Zadání práce Implementace modelu fysiologických funkcí organismu dle Guytona a spol. Odladění a verifikace modelu Ověření chování modelu simulačními experimenty Návrh uživatelského rozhraní
MOTIVACE Komenského krédo Staré čínské přísloví
„...co spatřím, to si pamatuji,...” „Co slyším, to zapomenu,…“ „...co dělám, tomu rozumím“. Staré čínské přísloví:
Cíle práce Demonstrovat přednosti jazyka Modelica Vytvořit „živý“ Guytonuv model
Modelica Objektově orientovaný jazyk Obsahuje popis zobecnělých vlastností reálného světa Umožňuje kauzální i akauzální modelování Aktuální verze: Modelica 3.2
Modelica – zobecnělé vlastnosti Úsilí (napětí, tlak) Tok (proud, průtok) Hybnost (indukce, průtočná hybnost) Akumulace (náboj, objem tekutiny)
Rezistor R*i = v i = C*der(v) L*der(i) = v v v v v = p.v-n.v Kapacitor Induktor p.v n.v v = p.v-n.v p.v n.v v = L*der(i) p.i n.i i = p.i = n.i p.v p.i p.v p.i p.v p.i n.v n.i n.v n.i n.v n.i v = p.v-n.v p.v n.v Ikony Rovnice na pozadí
Guytonuv model 1972 – model cirkulačního systému a jeho návazností v jazyce Fortran (Guyton, Coleman a Grander ), vznik nové disciplíny – integrativní fysiologie 2007 – implementace originálního diagramu v Simulinku (Kofránek a spol.) 2011 – implementace originálního diagramu v Modelice (Kroček)
A. C. Guyton 1972 Annual Review of Physiology Formalizace fyziologických vztahů Integrativní fysiologie
…??!! Násobičky Funkční bloky Integrátory PCP PPAPLA PCP=0.55 PLA+0.45 PPA Sumátory Formalizace fyziologických vztahů Formalizace fyziologických vztahů Děličky
Simulink, ModelicaGuyton Guyton Simulink Modelica Guyton Simulink Modelica Simulink Guyton Modelica Guyton Simulink Modelica
KAUZÁLNÍ VS. AKAUZÁLNÍ PŘÍSTUP Guytonuv model
Kauzální modelování Modely složeny z bloků Bloky realizují konkrétní funkci Výsledný model reprezentuje algoritmus výpočtu
Akauzální modelování Deklarativní zápis proměnných Bloky tvořeny rovnicemi Výsledný model vystihuje modelovanou realitu
Implementace v Simulinku (Kofránek a spol. 2007) Implementace v Simulinku (Kofránek a spol. 2007) Oprava chyb v diagramu (Kofránek, Rusz, 2007) Oprava chyb v diagramu (Kofránek, Rusz, 2007) Diagram byl jen obrázek, vlastní model byl v roce 1972 implementován ve Fortranu
ESCTAIC 2006 Implementace v Modelice (Kroček 2011) Implementace v Modelice (Kroček 2011) Subsystémy zapouzdřeny do bloků Subsystémy jsou reprezentovány ikonami a konektory pro vstup a výstup proměnných Jednodušší lokalizace chyb a odladění oproti flat modelu
Kauzální přístup Akauzální přístup
Komponenty obsahují rovnice Komponenty reprezentovány ikonami Propojení komponent přes konektory Soustava rovnic Způsob řešení nalezne počítač Akauzální modelování
Kardiovaskulární dynamika
Cirkulační dynamika Čerpadlo pravá komora Čerpadlo levá komora Akauzální propojení (flow/nonflow proměnné) Akauzální propojení (flow/nonflow proměnné) Signálové (kauzální) propojení Signálové (kauzální) propojení
Elastický kompartment plicních arterií Elastický kompartment pravé síně a velkých žil Elastický kompartment systémových žil Elastický kompartment levé síně a plicních žil Elastický kompartment systémových artérií
Odpor kolabovaných velkých žil Odpor velkých žil Odpor plicních arteriol Odpor ve svalech Odpor v ledvinách Odpor v dalších tkáních
Odpor v nesvalových a non-renálních tkáních Průtok Tlak Matematický operátor Výpočetní bloky Akauzální propojení Signálové (kauzální) propojení
Výpočetní signálový blok
Algoritmus akauzálního modelu je totožný jako v kauzálním modelu
Odpor v nesvalových a non-renálních tkáních Odpor venul Tlak v kapilárách Sémantický význam bloku: vliv tlaku v kapilárách na odpor venul Umístění instance bloku v diagramu ukazuje jeho sémantický význam Umístění instance bloku v diagramu ukazuje jeho sémantický význam
Internetový model Flat model v internetovém prohlížeči Možnost simulace Spustitelný ve všech internetových prohlížečích na platformě Windows V budoucnu i na Unixových systémech, díky technologii Moonlight Editor Modeliky v prohlížeči Běh modelu v prohlížeči Editace modelicového modelu v prohlížeci a běh modelu v prohlížeči (Privitzer a spol. 2011) Editace modelicového modelu v prohlížeci a běh modelu v prohlížeči (Privitzer a spol. 2011) Model v C++
Technologie tvorby webových simulátorů (Kofránek, Privitzer a spol.) Technologie tvorby webových simulátorů (Kofránek, Privitzer a spol.) Tvorba scénářů Tvorba interaktivní grafiky Tvorba modelů v jazyce Modelica Vývoj simulátoru Běh simulátoru v prohlížeči Testování ve výuce
Internetový model
Charles University in Prague, 1st Faculty of Medicine, Institute of Pathophysiology, Laboratory of Biocybernetics Děkuji Vám za Vaši pozornost! Rád zodpovím Vaše dotazy