Příloha 1 Publikace podporované projektem MŠMT 2C06031 za rok

Transkript

Příloha 1 Publikace podporované projektem MŠMT 2C06031 za rok
Příloha 1
Publikace podporované projektem
MŠMT 2C06031 za rok 2008
Seznam publikací podporovaných
projektem MŠMT 2C06031 za rok 2008
České/Slovenské
1. Jiří Kofránek: Tvorba výukových simulátorů. Co je za oponou. In: Mefanet report 01.
(Editoři: Ladislav Dušek, Vladimír Mihál, Stanislav Štípek, Jarmila Potomková,
Daniel Schwarz, Lenka Šnaidrová). Institut biostatistiky a analýz, Masarykova
Univerzita. str. 60-72, leden 2008, ISBN 978-80-210-4539-2,
[Online] :http://portal.med.muni.cz/download.php?fid=506
2. Jiří Kofránek, Jan Rusz, Stanislav Matoušek: Vzkříšení guytonova diagramu - od
obrázku k simulačnímu modelu. In MEDSOFT 2008. (Editor: Milena Ziethamlová)
Praha: Agentura Action M, Praha 2008, s. 37-56. ISBN 978-80-86742-22-9
[Online] http://patfbiokyb.lf1.cuni.cz/wiki/_media/vzkriseni_guytonova_diagramu.pdf?
id=nase_publikace&cache=cache
3. Jiří Kofránek, Pavol Privitzer, Petr Stodulka: Technologie a trendy tvorby výukových
simulátorů. In MEDSOFT 2008. (Editor: Milena Ziethamlová) Praha: Agentura
Action M, Praha 2008, str. 37-56. ISBN 978-80-86742-22-9.
[Online] http://patf-biokyb.lf1.cuni.cz/wiki/_media/
technologie_a_trendy_tvorby_vyukovych_simulatoru_-prehledova_prednaskakofranek.pdf?id=nase_publikace&cache=cache
4. Petr Stodulka, Pavol Privitzer, Jiří Kofránek: Jednoduchá simulační hra krok za
krokem aneb Od představy k hotovému. In MEDSOFT 2008. (Editor: Milena
Ziethamlová) Praha: Agentura Action M, Praha 2008, s. 149-156. ISBN 978-8086742-22-9
[Online] http://patf-biokyb.lf1.cuni.cz/wiki/_media/
jednoducha_simulacni_hra_krok_za_krokem.pdf?id=nase_publikace&cache=cache
5. Marek Mateják, Jiří Kofránek: Modelica vs. blokovo-orientované jazyky
matematického modelovania. In OBJEKTY 2008 (Žilina SR): Žilinská Univerzita,
20.-21.11.2008, (editor Jan Janech), vydavatel: Edis, Žilina, str. 79-94. ISBN 978-808070-923-3. [Online] http://patfbiokyb.lf1.cuni.cz/wiki/_media/modelica_vs.pdf?id=nase_publikace &cache=cache
Anglické
6. Jiří Kofránek, Jan Rusz, Marek Mateják: From Guyton's graphic diagram to
multimedia simulators for teaching physiology. (Resurection of Guyton's Chart for
educational purpose) Proceedings of the Jackson Cardiovascular-Renal Meeting 2008.
(Stephanie Lucas Ed), CD ROM [Online] http://patf-biokyb.lf1.cuni.cz/wiki/_media/
resurection_of_guyton_s_chart_for_eduacational_purpose.pdf?id=nase_publikace
&cache=cache
7. Jan Rusz, Jiří Kofránek: Tools development for physiological educational simulators.
In Digital Technologies 2008 (Editor: Daša Ticha) [CD-ROM]. Žilina: University of
Žilina, Fakulty of electrical engineering, 2008, vol. 1, ISBN 978-80-8070-953-2, 4
strany (CD ROM)
[Online] http://patf-biokyb.lf1.cuni.cz/wiki/_media/rusz_kofranek_dt2008.pdf?
id=nase_publikace&cache=cache
8. Jiří Kofránek, Marek Mateják, Pavol Privitzer: Causal or acausal modeling: labour for
humans or labour for machines. In Technical Conmputing Prague 2008, 16th Annual
Conference Proceedings. (Editoři: Cleve Moler, Aleš Procházka, Robert Bartko,
Martin Folin, Jan Houška, Petr Byron). Humusoft s.r.o., Prague, 2008, ISBN 978-807080-692-0. CD ROM, str. 1-16, [Online]
http://www2.humusoft.cz/kofranek/058_Kofranek.pdf
9. Jiří Kofránek, Marek Mateják, Stanislav Matoušek, Pavol Privitzer, Martin Tribula,
Ondrřej Vacek: School as a (multimedia simulation) play: use of multimedia
applications in teaching of pathological physiology. In MEFANET 2008. (Editoři:
Daniel Schwarz, Ladislav Dušek, Stanislav Štípek, Vladimír Mihál), Masarykova
Univerzita, Brno, 2008, ISBN 978-80-7392-065-4, CD ROM, str. 1-26, [Online]
http://www.mefanet.cz/res/file/articles/prispevek-mefanet-anglicky-kofranek.pdf
Internetové výukové multimediální programy a simulace vytvořené ve spolupráci s 1.
LF UK Praha
10. Jiří Kofránek, Pavol Privitzer, Martin Tribula: Modelování a simulace. Multimediální
výukový program. [Online] http://www.physiome.cz/atlas/info/00/index.htm
11. Jiří Kofránek, Pavol Privitzer, Martin Tribula: Modelling and simulation.
Multimediální výukový program. [Online]
http://www.physiome.cz/atlas/info/00EN/index.htm
12. Jiří Kofránek, Pavol Privitzer, Martin Tribula: Co je za oponou – ze zákulisí tvorby
Atlasu. Multimediální výukový program. [Online]
http://www.physiome.cz/atlas/info/01/index.htm
13. Jiří Kofránek, Pavol Privitzer, Martin Tribula: What is behind the courtain.
Multimediální výukový program. [Online]
http://www.physiome.cz/atlas/info/01EN/index.htm
14. Jiří Kofránek, Pavol Privitzer, Martin Tribula: Mitochondriální energetické
nanogenerátory. Multimediální výukový program. [Online]
http://physiome.cz/atlas/krevniplyny/01/
15. Jiří Kofránek, Pavol Privitzer, Martin Tribula: Transfer of blood gases: mitochondrial
energetic nanogenerators. Multimediální výukový program.
[Online] http://www.physiome.cz/atlas/krevniplyny/01EN/index.htm
16. Martin Vokurka, Stanislav Matoušek, Pavol Privitzer, Martin Tribula: Metabolismus
železa Multimediální výukový program
[Online] http://www.physiome.cz/atlas/vnitrniProstredi/04/
17. Jiří Kofránek, Ondřej Vacek, Michal Andrlík, Pavol Privitzer: Komplexní model
přenosu krevních plynů. (Bloody Mary, verze 2.0.). Multimedediální výukový
simulator. [Online] http://physiome.cz/atlas/sim/BloodyMary_cs/.
18. Jiří Kofránek, Ondřej Vacek, Michal Andrlík, Pavol Privitzer: The complex bloodgases transport model. (Bloody Mary, version 2.0.). Multimedia educational simulator.
[Online] http://physiome.cz/atlas/sim/BloodyMary/
MEFANET report 2008
Jiří Kofránek: Tvorba výukových simulátorů. Co je za oponou. In: Mefanet
report 01. (Editoři: Ladislav Dušek, Vladimír Mihál, Stanislav Štípek, Jarmila
Potomková, Daniel Schwarz, Lenka Šnaidrová). Institut biostatistiky a analýz,
Masarykova Univerzita. str. 60-72, leden 2008, ISBN 978-80-210-4539-2,
[Online] : http://portal.med.muni.cz/download.php?fid=506
MEFANET report 01
TVORBA VÝUKOVÝCH SIMULÁTORŮ. CO JE ZA OPONOU
DEVELOPMENT OF EDUCATIONAL SIMULATORS.
WHAT IS BEHIND THE CURTAIN?
J. Kofránek
Laboratoř biokybernetiky, Ústav patologické fyziologie 1. LF UK, Praha
Abstrakt
Autor popisuje metodologii určenou pro vytváření e-learningového obsahu s využitím simulačních her. Je popsán
celý návrhový proces, od sestavení formalizovaného popisu fyziologické reality, až vytváření interaktivního výukového softwaru. Při tom se využívají nejrůznější nástroje – od softwarových nástrojů pro numerickou simulaci jako
Matlab/Simulink nebo Modelica, přes Adobe Flash pro tvorbu interaktivních animací, Control Web a Microsoft Visual Studio .NET pro vytváření uživatelského rozhraní, až po nástroje pro publikování na webu včetně Adobe Breeze. Tvorba moderních výukových aplikací je náročný a komplikovaný projekt, vyžadující týmovou spolupráci řady
profesí – pedagogů, lékařů, tvůrců simulačních modelů, výtvarníků a programátorů. Cílem je poskytnout studentům výukový software, který jim pomůže pochopit složitou dynamiku fyziologických systémů.
Klíčová slova
e-learning, fyziologie, počítačem podporovaná výuka, simulační modely, simulační hry
Abstract
The authors present a methodology of creating e-learning content with simulation games for the students of physiology and pathophysiology courses. The design process is explained starting from a formalized description of the
physiological reality up to interactive educational software. Various software tools are used during the design, i.e.
numerical simulation software Matlab/Simulink or Modelica, Adobe Flash for interactive animations, Control Web
or Microsoft Visual Studio.NET for user interface design, and web publishing tools including the Adobe Breeze
learning management system. Various professions are involved in complicated projects of modern educational applications – teachers, physicians, simulation/modeling experts, graphic designers and programmers. The aim is to
provide students with software that helps them understand complex dynamics of physiological systems.
Keywords
computer aided learning, e-learning, medicine, physiology, simulation games, simulation models
Mí s t o ú v o du – p a v u č i n a f y z i o l o g i c k ýc h
regulací
Před šestatřiceti lety vyšel v časopise časopise Annual
of Biomedical Physiology článek [8], který se svou podobou na již první pohled naprosto vymykal navyklé
podobě fyziologických článků té doby. Byl uveden rozsáhlým schématem na vlepené příloze. Schéma plné
čar a propojených prvků na první pohled vzdáleně připomínalo nákres nějakého elektrotechnického zařízení
(obr. 1). Místo elektronek či jiných elektrotechnických
součástek však zde byly zobrazeny propojené výpočetní
bloky (násobičky, děličky, sumátory, integrátory, funkční bloky), které symbolizovaly matematické operace
prováděné s fyziologickými veličinami (obr. 2). Svazky
propojovacích vodičů mezi bloky na první pohled vyjadřovaly složité zpětnovazebné propojení fyziologických
veličin. Bloky byly seskupeny do osmnácti skupin, které
představovaly jednotlivé propojené fyziologické subsystémy. Centrálním byl subsystém reprezentující cirkulační dynamiku – s ním byly do jednoho celku zpětnovazebně provázány ostatní bloky: od ledvin, přes tkáňové
tekutiny, elektrolyty, až po autonomní nervovou regulaci a hormonální řízení zahrnující ADH, angiotenzin
a aldosteron (obr. 3).
Vlastní článek tímto tehdy naprosto novým způsobem
pomocí matematického modelu popisoval fyziologické
regulace cirkulačního systému a jeho širší fyziologické souvislosti a návazností na ostatní subsystémy organismu – ledviny, regulaci objemové a elektrolytové
64
rovnováhy aj. Místo vypisování soustavy matematických rovnic se v článku využívalo grafické znázornění
matematických vztahů. Tato syntaxe umožnila graficky
zobrazit souvislosti mezi jednotlivými fyziologickými
veličinami ve formě propojených bloků reprezentujících matematické operace. Vlastní popis modelu byl
pouze ve formě základního (ale přesto plně ilustrativního) obrázku. Komentáře a zdůvodnění formulací
matematických vztahů byly velmi stručné: např. „bloky
266 až 270 počítají vliv buněčného PO2, autonomní
stimulace a bazální rychlosti spotřeby kyslíku tkáněmi na skutečnou rychlost spotřeby kyslíku v tkáních“.
Od čtenáře to vyžadovalo nadmíru velké soustředění
(i jisté fyziologické a matematické znalosti) pro pochopení smyslu formalizovaných vztahů mezi fyziologickými veličinami.
O rok později, v roce 1973, vyšla monografie [9], kde
byla řada použitých přístupů vysvětlena poněkud podrobněji. Guytonův model byl prvním rozsáhlým matematickým popisem fyziologických funkcí propojených
subsystémů organismu a odstartoval oblast fyziologického výzkumu, která je dnes někdy popisována jako
integrativní fyziologie. Z tohoto hlediska byl určitým
mezníkem, který se snažil systémovým pohledem na
fyziologické regulace zachytit dynamiku vztahů mezi
regulací oběhu, ledvin, dýchání, objemu a iontového
složení tělních tekutin pomocí matematického modelu.
14
MEFANET report 01
Model neměl jen čistě teoretický význam – Guyton si
záhy uvědomil i velký význam využití modelů jako svébytné výukové pomůcky.
Guyton a jeho žáci model nepřetržitě dále rozvíjeli.
V roce 1982 Guytonův žák a spolupracovník Thomas
Coleman vytvořil model "Human", určený především
k výukovým účelům. Model umožnil simulovat řadu
patologických stavů (kardiální a renální selhání, hemorhagický šok aj.) i vliv některých therapeutických
zásahů (transfúzi krve, umělou plicní ventilaci, dialýzu
atd.) [5]. Moderní interaktivní webovou implementaci
tohoto modelu v jazyce Java je možné najít na adrese
http://venus.skidmore.edu/human.
Posledním výsledkem Guytonových žáků a následovníků je simulátor Quantitative Human Physiology [1].
Model je možné stáhnout z http://physiology.umc.edu/
themodelingworkshop/.
Ško l a (s i m u l a č n í ) h r o u
Rozvoj osobních počítačů a internetu vnesl zcela nové
možnosti pro praktické uplatnění simulačních modelů. Simulační model nemusí být jen nástrojem pro vědecký výzkum, může být i velmi užitečnou výukovou
pomůckou.
Výukové programy se simulačními komponentami
nejsou jen multimediální náhradou klasických
učebnic. Jsou zcela novou výukovou pomůckou,
kde nachází své moderní uplatnění staré krédo Jana
Ámose Komenského "Schola Ludus" (škola hrou), které tento evropský pedagog razil již v 17. století. Spojení
multimediálního prostředí se simulačními modely studentům umožňuje pomocí experimentů se simulačním
modelem názorně prozkoumat vykládaný problém
ve virtuální realitě a přináší tak zcela nové možnosti
pro vysvětlování složitých problémů (obr. 4). Simulační
hrou je možné bez rizika otestovat chování simulovaného objektu – např. zkusit přistávat virtuálním letadlem
nebo, v případě lékařských simulátorů, léčit virtuálního
pacienta, či otestovat chování jednotlivých fyziologických subsystémů. Simulační hry umožňují názorně vysvětlit komplexní vztahy ve fyziologických regulačních
systémech a kauzální řetězce v patogenezi nejrůznějších onemocnění.
Z pedagogického hlediska je důležité, že modelovaný
objekt můžeme rozdělit na jednotlivé subsystémy a testovat jejich chování odděleně i jako součást vyššího celku. Tak např. při studiu složitých fyziologických regulací můžeme dočasně odpojit vybrané regulační smyčky
a umožnit studentům sledovat reakce těchto subsystémů na změny vstupních veličin (které jsou v reálném
organismu ovšem samy regulovány). Tím dovolíme
sledovat dynamiku chování jednotlivých subsystémů
při postupných změnách pouze jediného vstupu, zatímco jiné vstupy jsou nastaveny na zvolenou konstantní
hodnotu (tzv. princip "ceteris paribus").
Postupně pak můžeme jednotlivé dočasně rozpojené
regulační vazby opět zapojovat a studovat jejich vliv
na chování organismu při nejrůznějších patologických
poruchách a reakcích na příslušnou terapii. Podle našich zkušeností právě tento přístup vede k lepšímu
pochopení složitých dynamických jevů v patogenezi
nejrůznějších onemocnění a porozumění patofyziologických principů příslušných léčebných zásahů.
Tak například v našem simulátoru Golem [14] můžeme
postupně odpojovat a zapojovat jednotlivé regulační
smyčky ovlivňující homeostázu vnitřního prostředí
a tím postupně testovat význam jednotlivých regulačních okruhů a ozřejmit si tím například souvislosti poruch iontové a acidobazické rovnováhy (viz obr. 5).
Vývoj efektivních výukových programů, kombinujících
multimédia se simulačními hrami, je náročnou a komplikovanou prací, vyžadující týmovou spolupráci řady
profesí – zkušených pedagogů vytvářejících základní
scénář, tvůrců simulačních modelů, lékařů, výtvarníků a programátorů. Tuto interdisciplinární kolektivní
tvorbu zefektivňuje využívání vhodných vývojových nástrojů, které umožňují komponentovou tvorbu, propojení simulačních programů a interaktivních multimédií
podle daného scénáře do kompaktního celku.
Jedním z projektů, kde chceme využít nové možnosti
multimédií a simulačních modelů pro výuku je počítačový Atlas fyziologie a patofyziologie [18], koncipovaný jako multimediální výuková pomůcka, která
názornou cestou prostřednictvím Internetu s využitím
simulačních modelů by měla pomoci vysvětlit funkci
jednotlivých fyziologických systémů, příčiny a projevy
jejich poruch – viz http://physiome.cz/atlas. Atlas je
vytvářen jako společné dílo tvůrčího týmu odborníků
různých profesí – lékařů, programátorů, systémových inženýrů a výtvarníků. Projekt atlasu je otevřený – jeho výsledky v českém jazyce chceme na internetu
volně zpřístupnit všem zájemcům, a při jeho vývoji uvítáme spolupráci se všemi, kdo se budou chtít podílet na
jeho postupném budování.
Ukažme si nyní, co vytváření takové interaktivní výukové pomůcky vyžaduje, neboli – "co je za oponou" tvorby
výukových simulátorů.
S c é n á r i s t é v ý u ko v ýc h p r o g r a m ů
Obdobně jako sebelepší učebnice zcela nenahradí učitele, tak ho nevytlačí ani seberafinovanější výukový program. A stejně tak jako klíčovým faktorem pro úspěch
vysokoškolských učebnic je schopnost jejich autorů
názorně a věcně správně vyložit složitou látku, tak pro
zdar výukového programu je nejdůležitější jeho kvalitní scénář. Napsat dobrý učební text vysvětlující složité procesy však není jednoduché a veškeré pomůcky
(multimédia, interaktivní animace, simulační modely
apod.) – tedy vše co si lze představit pod donekonečna
omílaným slovem e learning, jsou bez dobrého scénáře
vlastního výukového programu či bez zkušeného učitele, který ví jak složitý simulační model pedagogicky
využít, jen pouhou módní ozdobou.
V případě využití multimediálních animací je podkladem pro tvorbu scénáře nejen (hyper)textová část, ale,
obdobně jako při produkci kresleného filmu, i jakýsi
"storyboard" naznačující výtvarníkům jaké mají vytvářet animované obrázky.
Složitější to je ovšem při využití simulačních modelů.
Tam nestačí jen namalovat návrhy obrázků. Je zapotřebí nejprve vytvořit vlastní simulační model. Obdobně, jako je teoretickým podkladem letového simulátoru
více méně realistický matematický model letadla, je
v pozadí lékařského simulátoru matematický model lidského organismu (resp. nějakého jeho subsystému).
Fo r m a l i z a c e f y z i o l o g i c k ýc h v z t a h ů
Při studiu dynamiky regulačních vztahů a pochopení
vzájemných dynamických souvislostí fyziologických
regulačních vztahů často jen slovní popis a "selský
65
MEFANET report 01
rozum" nestačí. Pro kvantifikované vyjádření dynamických vztahů je zapotřebí tyto vztahy formalizovat,
tj. vyjádřit je pomocí rovnic matematického modelu.
Formalizace, tj. převedení čistě verbálního popisu příslušné sítě vztahů na popis ve formalizovaném jazyce
matematiky, umožňuje zkoumat chování formálně popsaného systému pomocí formálních pravidel – např.
řešením rovnic matematického modelu.
Obdobně jako fyzika popisuje přírodní zákonitosti pomocí matematických vzorců a soustav rovnic (a popis
chování fyzikálního světa je výsledkem řešení těchto
rovnic), tak i systémový fyziolog se snaží vyjádřit fyziologické regulace pomocí matematických vztahů jako
matematický model fyziologické reality. To obvykle
vede na popis prostřednictvím soustavy diferenciálních
rovnic (jejichž "ruční" řešení bývá obtížné a často až
prakticky nemožné). Pokud ale tyto rovnice převedeme
do formy programu pro počítač, můžeme pak přenechat "dřinu strojům" – a na počítači sledovat průběhy
hodnot jednotlivých proměnných, které zobrazují chování modelovaného systému jako výsledek řešení rovnic
matematického modelu. Na počítači můžeme provádět
s modelem nejrůznější experimenty. Průběhy hodnot
těchto proměnných v čase nahrazují – tj. simulují chování skutečného fyziologického organismu. V tom je
právě podstata využití tzv. simulačních modelů (tj. matematických modelů, implementovaných na počítači).
Simulační model, pochopitelně, nenahradí biologický
experiment (jak tvrdí někteří fanatičtí bojovníci proti
pokusům na zvířatech). Simulační model je ale velice
efektivním nástrojem na dedukci a ověřování hypotéz – umožňuje sledovat chování složitého dynamického systému v čase v závislosti na nejrůznějších vstupech
a porovnávat průběhy hodnot jednotlivých proměnných
modelu s hodnotami získanými pozorováním a měřením biologického originálu.
Kritériem pro odmítnutí nebo neodmítnutí hypotézy je
vždy porovnání chování modelu s empiricky a experimentálně získaným chováním biologického originálu.
Pokud dosáhneme (na zvolené úrovni přesnosti) dostatečné shody chování modelu s chováním biologického
originálu (hovoříme o tzv. verifikaci modelu), pak můžeme (s předem jasným omezením přesnosti) využít
model k predikci – např. v klinice pro propočítávání
kinetiky podaných léků nebo k propočítávání dekompresních zastávek při sportovním potápění atd.
Je to obdobné jako ve fyzice – pokud chování fyzikálního modelu dobře predikuje (na dané úrovni přesnosti)
chování fyzikálních experimentů, můžeme dané vztahy
ve fyzikálních vzorcích využít pro nějaké praktické účely – např. pro počítání statiky budov a další technické
aplikace.
Fyzika využívá formalizace dávno – již od dob Newtona – a uplatnění formalizovaného vyjádření fyzikálních
zákonů je podstatou moderních technických aplikací.
Uplatnění formalizace v biologických a lékařských vědách však ani zdaleka není běžné. Oproti technickým vědám, fyzice či chemii má zde biologie a medicína určitý
handicap. Jestliže formalizace ve fyzice začala již někdy
v sedmnáctém století, proces formalizace lékařských
a biologických věd je z důvodů složitosti a komplexnosti
biologických systémů relativně opožděn a postupně přichází až s kybernetikou a výpočetní technikou.
Ve fyziologii se s formalizovanými popisy setkáváme již
od konce šedesátých let dvacátého století (od průkop-
66
nických prací Grodinse a spol., [7] popisujících respiraci). Předělem byl počátek sedmdesátých let, kdy rozvoj
výpočetní techniky a programovacích jazyků ve větší
míře umožnil praktické vytváření a testování simulačních modelů fyziologických systémů. Určitým mezníkem byl již v úvodu zmíněný popis cirkulace Guytonem
a spol. z roku 1972 [8], který byl prvním rozsáhlejším
modelem, snažícím se zachytit širší fyziologické souvislosti oběhového systému, dýchání a ledvin. Koncem
sedmdesátých let se v odborné literatuře postupně objevují rozsáhlé simulační modely, snažící se integrativně
zachytit spletité vztahy mezi regulací ledvin, dýchání,
oběhu, iontového složení, acidobazické rovnováhy a dynamiky tělních tekutin pomocí soustav nelineárních diferenciálních rovnic [2, 4, 13].
Bouřlivý rozvoj modelování biologických systémů však
přichází zejména v posledních letech v souvislosti s novými možnostmi, které přináší technický pokrok v oblasti výpočetní techniky a Internetu. Stoupá počet prací
využívajících počítačové modely pro vyhodnocování
a interpretaci výsledků experimentálních dat zejména při studiu nervové tkáně, respirace, oběhu a ledvin. Byl odstartován velký rozvoj v oblasti formalizace
fyziologických systémů.
Tak jako teoretická fyzika se snaží interpretovat výsledky experimentálního výzkumu ve fyzikálních vědách,
tak i nový fyziologický směr základního výzkumu,
nazývaný někdy "integrativní fyziologie", se snaží
o formalizovaný popis vzájemného propojení fyziologických regulací. Metodickým nástrojem jsou
zde počítačové modely. Aktivity v této oblasti se snaží
koncentrovat projekt PHYSIOME [3, 11, 12] pod záštitou International Union of Physiological Sciences
(http://www.physiome.org). V rámci Evropské Unie
je současné době vyhlášen celoevropský projekt EUROPHYSIOME
(http://www.europhysiome.org/).
Jedním z cílů tohoto projektu je využití simulačních
modelů pro výuku.
Počítačové modely z oblasti biologie a medicíny nyní
stále častěji nacházejí přímé praktické uplatnění v sofistikovaných výukových programech a lékařských
simulátorech, jejichž význam s rozšiřováním počítačů
a Internetu dále poroste.
D v a t y p y p r o b l é m ů p ř i t v o r b ě v ý u ko v ýc h
simulátorů
Při vytváření simulátorů a výukových simulačních her
je nutno řešit dva typy problémů:
1. Tvorba simulačního modelu – vlastní teoretická
výzkumná práce, jejímž podkladem je formalizace
fyziologických vztahů vyjádřená matematickým modelem. Výsledkem by měl být verifikovaný simulační
model, který na zvolené úrovni přesnosti dostatečně
věrně odráží chování modelované reality.
2. Tvorba vlastního multimediálního simulátoru, resp.
tvorba výukového programu využívajícího simulační
hry – je praktická aplikace teoretických výsledků, která navazuje na výsledky řešení výzkumu. Podkladem
simulátoru jsou vytvořené (a verifikované) matematické modely. Zde jde o náročnou vývojovou práci,
vyžadující skloubit nápady a zkušenosti pedagogů,
vytvářejících scénář výukového programu, kreativitu
výtvarníků, vytvářejících interaktivní multimediální
komponenty a úsilí programátorů, kteří "sešijí" výsledné dílo do konečné podoby.
MEFANET report 01
Každý z těchto problémů má svou specifiku a vyžaduje
proto použít zcela odlišné vývojové nástroje.
Zatímco vytvoření vlastního simulátoru je spíše vývojářskou a programátorskou prací, formalizace fyziologických vztahů a vytváření simulačního modelu není
vývojářský, ale (poměrně náročný) výzkumný problém,
jehož efektivní řešení vyžaduje použít adekvátní nástroje pro podporu tvorby simulačních modelů.
Tvorba simulačního modelu i tvorba simulátoru spolu
úzce navzájem souvisejí (viz obr. 6) – předpokladem
pro tvorbu výukového simulátoru je dostatečně dobře
verifikovaný model, na druhé straně, využití simulátoru
ve výuce přináší nové požadavky na vytvoření nových či
modifikaci stávajících simulačních modelů.
A protože pro tvorbu simulačních modelů a pro vytváření vlastního simulátoru používáme odlišné vývojové nástroje, musíme pak zajistit dostatečně flexibilní přenos
výsledků z jednoho vývojového prostředí do druhého.
Tak např. modifikujeme-li simulační model v některém
nástroji pro tvorbu simulačních modelů, je výhodné zajistit, aby se změny v modelu bez větších potíží mohly
rychle promítnout do aktualizace těchto změn ve vlastním simulátoru. K usnadnění tohoto přenosu je vhodné
si vytvořit i vlastní softwarové pomůcky.
V naší laboratoři jsme při vytváření a verifikaci simulačních modelů sáhli po profesionálních nástrojích firmy
Mathworks (Matlab, Simulink a příslušné aplikační
knihovny) a v poslední době i po velmi nadějném simulačním jazyku Modelica, pro něž dotváříme i některé
vlastní komponenty vývojového prostředí.
Při vytváření vlastního simulátoru využíváme standardní vývojová prostředí pro tvorbu a vývoj interaktivní
grafiky (např. Adobe Flash) a nástroje pro tvorbu softwarových a webových komponent (např. Visual Studio .NET, prostředí pro vývoj v jazyce Java jako třeba
NetBeans, prostředí pro návrh a programování interaktivní grafiky v jazyce ActionScript jako je např. Adobe
Flex aj.). V minulosti jsme výukové simulátory vyvíjeli
také pomocí nástroje pro vizualizaci průmyslových
aplikací Control Web.
Pro propojení obou skupin vývojových nástrojů jsme
vyvinuli vlastní softwarové nástroje pro automatizaci
přenosu simulačních modelů, vytvořených v prostředí
Matlab/Simulink do vývojových prostředí Microsoft
Visual Studio .NET a do Control Web [17, 22]. V současné době vyvíjíme softwarové nástroje pro zefektivnění tvorby simulátorů založených na simulačních
modelech vyvíjených v prostředí simulačního jazyka
Modelica. Tyto programy jsou k dispozici všem zájemcům na vyžádání (e-mailem na adresu autora).
Te o r e t i c k ý z á k l a d s i m u l a č n í c h h e r – s i m u lační modely
V sedmdesátých a osmdesátých letech minulého století
autoři často volili pro grafický popis modelů fyziologických systémů grafickou syntaxi navrženou Guytonem
– tak např. Amosov a spol. v roce 1977 [2] publikovali monografii v níž stejnou syntaxí popsali propojený
model cirkulace, respirace, ledvin, elektrolytové rovnováhy a termoregulace. Obdobně v roce 1979 tuto syntaxi využil Ikeda a spol. [13] ve svém modelu vnitřního
prostředí.
Později, s rozvojem výpočetní techniky a softwarových
nástrojů, se pro grafické zobrazení fyziologických re-
gulačních vztahů začaly využívat nástroje simulačních
vývojových prostředí.
Jedním z nich je např. vývojové prostředí Matlab/Simulink od firmy Mathworks, které umožňuje postupně sestavovat simulační model z jednotlivých komponent – jakýchsi softwarových simulačních součástek,
které se pomocí počítačové myši mezi sebou propojují
do simulačních sítí. Obdobně jako u výše zmíněného
Guytonova modelu i tyto sítě svými vodiči a součástkami na první pohled vzdáleně připomínají elektronické
obvody. Rozdíl je ovšem v tom, že místo elektrických
signálů v propojovaných vodičích proudí informace.
V jednotlivých uzlech (sumátorech, integrátorech, násobičkách, děličkách atd.) pak dochází ke zpracování
přiváděných informací a k trasformaci do výstupní informace, která je rozesílána výstupními vodiči do dalších prvků sítě.
V Simulinku tak můžeme názorně graficky vyjádřit
i velmi složité matematické vztahy. Vytvořená síť ovšem
není jen přehledný obrázek. Je to zároveň i funkční simulační model. K jednotlivým vodičů této sítě můžeme myší připojovat virtuální displeje či osciloskopy.
Po spuštění modelu pak můžeme jejich prostřednictvím
sledovat číselnou či grafickou podobu hodnot veličin,
které proudí v jednotlivých vodičích.
Jako příklad můžeme uvést námi vytvořenou implementaci klasického Guytonova modelu cirkulace [19].
Vnější vzhled jsme se snažili zachovat zcela stejný,
jako v původním grafickém schématu – rozložení, rozmístění vodičů, názvy veličin i čísla bloků jsou stejné.
Simulinkové počítací prvky jsou velmi podobné prvkům, které pro formalizované vyjádření fyziologických
vztahů použil Guyton (obr. 7). Rozdíl je jen v grafickém
tvaru jednotlivých prvků – tak např. násobička a dělička
je v Simulinku realizována čtverečkem a nikoli "prasátkem" jako v Guytonově notaci. Blok integrátoru zobrazený v Simulinku nemá na sobě grafický znak integrálu, ale výraz "1/s" (což souvisí s notací tzv. Lapaceovy
transformace). V simulinkovém modelu jsme využili
i přepínače, kterými můžeme odpojovat nebo zapojovat jednotlivé subsystémy a regulační smyčky i za běhu
modelu.
Simulační vizualizace starého schématu ale zdaleka
nebyla úplně snadná – v originálním obrázkovém schématu modelu jsou totiž chyby. V nakresleném obrázku
to nevadí, pokusíme-li se ho ale oživit v Simulinku, pak
se chyba projeví v lepším případě neadekvátním chováním modelu, v horším se model znestabilní, hodnoty proměnných modelu začnou divoce kmitat a model
zkolabuje jako celek. Chyby byly drobné – přehozená
znaménka, dělička místo násobičky, prohozené propojení mezi bloky, chybějící desetinná tečka u konstanty
atd. – ale stačily na to, aby model nefungoval. Při znalosti fyziologie a systémové analýzy se na chyby, při troše námahy, dalo přijít (obr. 8).
Je zajímavé, že tento složitý obrázek byl mnohokrát přetiskován do různých publikací a nikdo si nedal práci tyto
chyby odstranit. Ostatně, v době, kdy obrázkové schéma
vznikalo ještě neexistovaly kreslící programy – obrázek
vznikal jako složitý výkres – a ruční překreslování složitého výkresu ani zdaleka není snadné. Možné je i to,
že autoři opravovat chyby ani příliš nechtěli – kdo si dal
práci s analýzou modelu, snadno obrazové "překlepy"
odhalil, kdo by chtěl jen tupě opisovat, měl smůlu. Konec konců, ve své době autoři rozesílali i zdrojové texty
67
MEFANET report 01
programů svého modelu v programovacím jazyce Fortran – takže pokud někdo chtěl pouze testovat chování
modelu, nemusel nic programovat (maximálně pouze
rutinně převedl program z Fortranu do jiného programovacího jazyka).
Námi vytvořená Simulinková realizace (opraveného) Guytonova modelu (obr. 9–11) je zájemcům
k dispozici ke stažení na adrese www.physiome.cz/
guyton/. Na této adrese je i naše Simulinková realizace
mnohem složitější verze modelu Guytona a spol. z pozdějších let. Zároveň je zde i velmi podrobný popis všech
použitých matematických vztahů se zdůvodněním.
K dispozici je i výpis zdrojového textu původního modelu z roku 1986 ve Fortranu.
Od simulační pav učiny k simulačním
čipům
Spletitá pavučina počítacích bloků Guytonova modelu, implementovaná v prostředí Simulinku působí sice
svou složitostí na první pohled impozantně, pro vlastní
práci s modelem je však dosti nepřehledná.
Při výstavbě našich vlastních modelů se nesnažíme stavět mraveniště bloků prošpikovaných svazky informačních vodičů, v nichž se uživatel (a nezřídka i sám tvůrce
modelu) velmi snadno ztrácí. Snažíme se proto, pokud
to jde, model dekomponovat do přehledných částí. Využíváme toho, že jednotlivé části simulační sítě se dají
hierarchicky seskupovat do subsystémů s uživatelsky
definovanými vstupy a výstupy, v masce subsystému
se dají vstupy a výstupy stručně popsat. Na kliknutí je
možno k subsystému zpřístupnit i rozsáhlou dokumentaci, kde je možno bez omezení podrobněji popsat i teoretické pozadí vytvořeného subsystému.
Takto pojaté subsystémy na první pohled připomínají
elektronické integrované obvody, neboť na jednotlivých "pinech" těchto "simulačních čipů" jsou příslušné vstupy a výstupy, které je možno propojovat do sítě
s dalšími bloky a subsystémy (obr. 12). Struktura simulačního modelu vyjádřeného jako síť propojených simulačních čipů je pak mnohem přehlednější a srozumitelnější (obr. 13, 14).
Důležité je, že nakreslené struktury jsou v prostředí
programu Simulink "živé" – pomocí počítačové myši
lze na jednotlivé vstupy jednotlivých simulačních čipů
přivést konstantní nebo proměnné hodnoty vstupních veličin a na výstupech pak snímat v numerickém
či grafickém vyjádření jednotlivé hodnoty výstupních
proměnných.
Vnitřní struktura "čipu" může být při jeho použití zcela
skryta, uživatel musí pouze vědět, jakou vstupní či výstupní veličinu příslušný "pin" reprezentuje. Po¬mocí
myši může uživatel přenést čip z příslušné knihovny
do vytvářeného modelu, kde příslušné vstupy a výstupy
propojí. Chování "čipu" lze také snadno testovat, stačí
k jeho vstupům přivést příslušné definované průběhy
hodnot vstupních veličin a na jeho výstupy připojit příslušné virtuální osciloskopy či displeje.
Každý čip může "uvnitř sebe" obsahovat další propojené "simulační čipy". Obsáhlý simulační čip tak může
mít poměrně složitou hierarchii (obr. 15–16).
Simulační čipy je možno ukládat do knihoven a opětovně používat v různých modelech (obr. 17).
Tvorba simulačních modelů v biomedicínských vědách
je nezřídka týmová práce. Na jedné straně stojí systémový analytik – expert na formalizaci a tvorbu simu-
68
lačních modelů (teoretický fyziolog, vytvářející formalizovaný popis fyziologického systému a testující jeho
chování pomocí simulačního modelu). Na druhé straně
často stojí klasický experimentální fyziolog či klinik,
pro kterého je popis fyziologického systému pomocí
diferenciálních rovnic španělskou vesnicí, ale který dokáže snadno rozpoznat, nakolik odpovídá chování počítačového simulačního modelu biologické realitě.
Podle našich zkušeností může problém dorozumění mezi těmito dvěma skupinami specialistů zásadně
usnadnit důsledné využívání simulačních čipů při výstavbě simulačního modelu. Znamená to v prvé řadě
věnovat důslednou pozornost dokumentaci. Simulační
čipy samy o sobě mohou být i aktuální elektronickou
dokumentací k vytvářeným modelům (viz obr. 17).
Nejenže v čelní masce simulačního čipu je stručný popis všech vstupů a výstupů a "vnitřek" simulačního čipu
graficky reprezentuje síť použitých vztahů, na kliknutí
myší lze u každého softwarového simulačního čipu také
otevřít okno nápovědy s dalším podrobnějším popisem.
Simulační čipy tedy umožňují pečlivě vést aktuální dokumentaci v elektronické podobě ke každému použitému subsystému při zachování veškeré funkčnosti. Aby
mohl jednotlivé komponenty využívat i ten, kdo danou
část modelu nevytvářel, je podrobná a zároveň přehledná dokumentace nezbytná a čas strávený nad vypisováním spousty informací do masek jednotlivých subsystémů reprezentujících simulační čipy se pak zaručeně
vyplatí [Kofránek a spol, 2002].
Výhodou za trochu té dřiny je porozumění – experimentální fyziolog nemusí rozumět vnitřnímu uspořádání
simulačního čipu, porozumí ale tomu, jaké chování má
od fyziologického subsystému, který čip reprezentuje,
očekávat. Fyziolog je nadto schopen porozumět i struktuře složené z propojených simulačních čipů – ze struktury modelu přímo vidí, které veličiny spolu vzájemně
souvisejí (a ze znalosti fyziologie i dovede odhadnout,
co a na jaké úrovni bylo zanedbáno).
O d r o v n i c m o d e l u k t e c h n o l o g i c ké m u
know how
V sedmdesátých a osmdesátých letech dvacátého století
bylo časté, že autoři počítačových modelů na vyžádání
posílali zdrojové texty počítačových programů, kterými
byly tyto modely realizovány.
Dnes se už zdrojové programy rozsáhlých simulačních
programů získávají mnohem obtížněji. Rozvoj výpočetní techniky totiž umožnil praktické uplatnění simulačních modelů například v lékařských počítačových
trenažérech a výukových programech využívajících
simulační hry. Biomedicínské modely mají své místo
i v technologických zařízeních – od kapesních počítačů
pro sportovní potápěče až po řídící jednotky v sofistikovaných lékařských přístrojích.
S možností komerčního využití souvisí i určitá změna
náhledu na formalizovaný popis fyziologické reality, který je podkladem výukových simulačních modelů.
Podrobný formalizovaný popis (ve formě rovnic, nebo,
ještě lépe, algoritmů zapsaných ve formě zdrojového
textu v nějakém programovacím jazyce) se proto z čistě vědeckého tématu často stává (před potenciální
konkurencí utajovaným) technologickým know how.
Jestliže ještě koncem osmdesátých let bylo běžné získat
na písemnou žádost přímo výpis příslušného fortranského programu, nyní to již většinou není možné.
MEFANET report 01
V naší laboratoři biokybernetiky se zabýváme tvorbou simulačních modelů v rámci výzkumu dotovaného z veřejných zdrojů i díky spolupráci s komerčním
sektorem. Struktura námi vytvářených modelů, dotovaných z veřejných prostředků je veřejná. V rámci výzkumných grantů a rozvojových projektů jsme
mimo jiné vytvořili knihovnu fyziologických modelů
v prostředí Simulink-Matlab, ve formě "simulačních
čipů". Tato knihovna byla vytvořena jako Open-Source produkt, byla periodicky aktualizována a je k dispozici zájemcům na našich internetových stránkách
(www.physiome.cz/simchips).
T vorba simulátorů pro simulační hr y
Vývojové nástroje pro tvorbu simulačních modelů jsou
určeny pro specialisty. Pro běžného uživatele, který
si chce se simulačním modelem jen "pohrát", se příliš
nehodí. I když v prostředí těchto nástrojů je možné naprogramovat poměrně příjemné uživatelské rozhraní
k ovládání vytvořeného modelu, pro účely uplatnění
simulačního modelu ve výuce medicíny je toto rozhraní
až příliš komplikované a navíc vyžaduje zakoupení dalších (poměrně drahých) licencí.
Student medicíny a lékař vyžaduje uživatelské rozhraní
simulátoru připomínající spíše obrázky a schémata obdobná, jako v knižních publikacích typu atlasu fyziologie či atlasu patologické fyziologie.
Proto je nutné výukový simulátor včetně jeho multimediálního uživatelského rozhraní naprogramovat zvlášť.
Možnosti uživatelského ovládání simulátoru jsou pak
pro cílovou skupinu uživatelů podstatně přirozenější.
Nezastupitelnou komponentou výukového simulátoru je i část programu, která realizuje simulační model.
Známe-li strukturu simulačního modelu, (vytvořeného
v některém z vývojových nástrojů pro tvorbu simulačních modelů – např. Matlab/Simulink) pak už zbývá
"hlavoruční dřinou" přetvořit strukturu modelu do podoby počítačového programu ve zvoleném programovacím jazyce (např. v C#).
Dále je zapotřebí pro vytvoření uživatelského rozhraní
nakreslit interaktivní multimediální komponenty. Tyto
komponenty je pak nutno propojit se simulačním modelem na pozadí simulátoru.
Pro vývoj simulátorů ve výukových programech jsme
se proto museli poohlédnout po jiném vývojovém prostředí než je Matlab a Simulink. Po určitém váhání
jsme pro tvorbu vlastních simulátorů nejprve sáhli po
nástrojích využívaných při tvorbě průmyslových
aplikací (měřících ústředen a velínů) [16]. Vedly nás
k tomu především dva důvody:
1. Se simulačním modelem chceme v simulátoru fyziologických funkcí zacházet obdobně, jako se v průmyslu z velínu řídí složité technologické zařízení:
chceme číst (a v nejrůznější grafické či číselné podobě zobrazovat) množství nejrůznějších měřených dat
(jako v průmyslové měřící ústředně) a zároveň chceme jednoduchým způsobem (stiskem tlačítek, otáčením knoflíků, popotahováním táhel apod.) simulační
model ovládat (obdobně jako se z velínu řídí nějaká
technologie).
2. Druhým důvodem, proč jsme sáhli po softwarovém
nástroji z průmyslu, je spolehlivost. Požadavky spolehlivosti, kladené na nástroje, jejichž pomocí se vyvíjejí průmyslové řídící aplikace, jsou obvykle řádově
vyšší než u obecných programovacích nástrojů.
Nástrojů pro design průmyslových aplikací je na světovém trhu nemálo. Jejich ceny jsou ovšem, na rozdíl
od obecných softwarových nástrojů, zpravidla velmi
vysoké.
Paradoxem je, že velmi dobrý nástroj lze získat velmi
levně, a to přímo od domácího výrobce. Zlínská akciová
společnost "Moravské přístroje" již léta vyvíjí systém
pro tvorbu průmyslových aplikací s názvem "Control
Web". Jde přitom o kvalitní vývojový systém: na letáčku
jejich skandinávského distributora stojí "Svensk kvalitet (till Tjeckiska priser)" – "Švédská kvalita (za české
ceny)". Švédové jsou velmi domýšliví na kvalitu svých
výrobků a pokud o vývojovém nástroji Control Web
z Valašska veřejně prohlašují, že dosahuje "švédské kvality", je to velké ocenění skupiny tvůrců, kteří na tomto
produktu usilovně pracují již od počátku devadesátých
let.
Control Web je především určen pro vývoj průmyslových vizualizačních a řídících aplikací na platformě
WIN32 – sběr, ukládání a vyhodnocování dat, tvorba rozhraní člověk-stroj aj. (viz http://www.mii.cz).
Základními stavebními kameny uživatelské aplikace
vytvářené v prostředí Control Web jsou virtuální přístroje (komunikující mezi sebou pomocí proměnných
a zpráv). Měřené hodnoty z vnějšího světa jsou v průmyslových aplikacích virtuálním přístrojům zprostředkovány přes vstupní kanály, řídící signály mohou
virtuální přístroje posílat do okolí pomocí výstupních
kanálů.
Pro vývoj uživatelského rozhraní poskytuje systém
Control Web velmi výkonné prostředky. Tak např.
z palety virtuálních přístrojů je možno snadno tažením
myši vytáhnout potřebný přístroj a umístit ho na příslušný panel a v interaktivním dialogu mu nastavit hodnoty jeho příslušných atributů, nadefinovat jeho lokální
proměnné, či individuální procedury (metody objektu)
apod.
Abychom mohli využít vývojářské pohodlí systému
Control Web, museli jsme použít následující, vcelku
jednoduchý, trik. V průmyslových aplikacích Control
Web komunikuje (přes příslušné softwarové kanály)
přes ovladač příslušné měřící/řídící karty s průmyslovým technologickým zařízením.
Je ovšem možné napsat speciální ovladač, jehož interní součástí je simulační model. Tento ovladač je
schopen komunikovat (přes softwarové kanály) s objekty systému Control Web, ale na rozdíl od ovladačů
ke skutečným měřícím a řídícím kartám nekomunikuje
s jejich hardwarem, ale komunikuje se simulačním
modelem. Pokud se ovladač napíše dobře, je systém
Control Web "ošálen": vstupní kanály (k zobrazovacím
prvkům na monitoru) považuje za skutečné měřené signály někde z technologického okolí počítače, zatímco
ve skutečnosti to jsou výstupní proměnné simulačního
modelu. A také v opačném směru je Control Web přesvědčen, že výstupní kanály, které odcházejí od řídících
prvků systému Control Web, nastavují přes příslušný
ovladač nějaké aktivní prvky průmyslového zařízení, ale
ony namísto toho mění vstupy simulačního modelu.
Abychom usnadnili vývoj ovladačů jakési "virtuální
měřící/řídící karty", které obsahují simulační model
a nemuseli tento ovladač pro každý model psát v programovacím jazyce C "ručně", vyvinuli jsme speciální
program, který nám umožní vývoj tohoto ovladače
automatizovat. Máme tedy nyní možnost bezpro-
69
MEFANET report 01
středně ze simulinkového schématu generovat
zdrojový text příslušného virtuálního ovladače v C.
Tím je možné jednoduše a rychle modifikovat ovladač
pro prostředí Control Web při nejrůznějších úpravách
a nových verzích simulačního modelu.
V prostředí Control Web jsme např. vytvořili simulátor
Golem (Kofránek a spol 2001).
Další platformou pro vývoj simulátorů, kterou nyní
v naší laboratoři využíváme převážně, je platforma
Microsoft .NET a programovací prostředí Microsoft
Visual Studio .NET, které, zejména ve své poslední
verzi, poskytuje velké možnosti pro programátorskou
práci.
V tomto prostředí již nejsme omezeni "předpřipravenými" prvky uživatelského rozhraní jako v prostředí
Control Webu a přitom můžeme využívat veškerou sílu
moderního nástroje pro tvorbu softwarových aplikací,
na druhé straně si však musíme řadu prvků vytvářené
aplikace naprogramovat sami.
Abychom si vytváření simulátorů ulehčili (a aby nebylo
nutné ve Visual Studiu .NET "ručně" programovat již
odladěný simulační model) vyvinuli jsme i zde speciální
softwarový nástroj [17, 22], který automaticky ze Simulinku vygeneruje simulační model ve formě komponenty pro prostředí .NET (viz obr. 20).
Po h y b l i vé a n i m a c e j a ko l o u t k y n a n i t í c h
simulačních modelů
Pro vytváření uživatelského rozhraní výukového simulátoru je velmi vhodné simulátor navenek reprezentovat
jako pohyblivý obrázek. Proto simulační model propojujeme s multimediální animací vytvořenou pomocí
Adobe Flash [17].
Pro profesionální výsledný vzhled aplikace je nezbytné,
aby vlastní animace vytvářel výtvarník – výsledky jsou
neporovnatelně lepší, než když animace vytváří graficky nadaný programátor. Znamenalo to ovšem věnovat
určité úsilí výuce výtvarníků, kteří musí zvládnout práci
s nástroji pro tvorbu interaktivní grafiky. Takto vzdělaných výtvarníků je ale na trhu práce kritický nedostatek. Proto jsme již před lety začali úzce spolupracovat
s výtvarnou školou Václava Hollara a na této škole jsme
otevřeli "laboratoř interaktivní grafiky" jako naše detašované pracoviště. Iniciovali jsme také založení Vyšší
odborné školy, která vyučuje v tříletém studiu předmět
"interaktivní grafika". Pracovníci naší laboratoře se
v této Vyšší odborné škole mimo jiné podílejí i na výuce.
Animované obrázky mohou být řízeny výstupy implementovaného simulačního modelu a graficky reprezentovat význam číselných hodnot – např. schematický
obrázek cévy se může roztahovat nebo komprimovat,
plicní sklípek může hlouběji či mělčeji "dýchat", ručička měřícího přístroje se může pohybovat a průběžně
zobrazovat hodnotu nějaké výstupní proměnné modelu
čtené z běžícího simulačního modelu na pozadí.
Na druhé straně můžeme přes vizuální prvky vytvořené
pomocí Adobe Flash (nejrůznější tlačítka, knoflíky, táhla apod.) do simulačního modelu zadávat nejrůznější
vstupy.
Příklady simulátorů, vytvořených v prostředí Control
Web a v prostředí Visual Studio .NET s propojením
na flashové animace jsou uvedeny na obr. 21 a 22.
V případě složitější architektury může být logika
propojení flashové animace a simulačního modelu
poměrně složitá, proto je vhodnější mezi vrstvu vizu-
70
álních elementů a vrstvu simulačního modelu vložit
řídící vrstvu, která na jednom místě řeší veškerou logiku komunikace uživatelského rozhraní s modelem
a kde je ukládán i příslušný kontext. V literatuře se
hovoří o tzv. MVC architektuře výstavby simulátorů
(Model – View – Controller).
Toto uspořádání je nezbytné zejména při složitějších
modelech a simulátorech, jejichž uživatelské zobrazení
je reprezentováno mnoha virtuálními přístroji na více
propojených obrazovkách. Výhody tohoto uspořádání
zvláště vyniknou při modifikacích jak modelu, tak i uživatelského rozhraní (obr. 23).
Při návrhu řídící vrstvy, propojující vrstvu simulačního
modelu s uživatelským rozhraním, se nám velmi osvědčilo využít propojené stavové automaty (jejichž pomocí je možno zapamatovat příslušný kontext modelu
a kontext uživatelského rozhraní). Vytvořili jsme proto
speciální softwarový nástroj, pomocí kterého můžeme
propojené stavové automaty vizuálně navrhovat, interaktivně testovat jejich chování a automaticky generovat
zdrojový kód programu pro prostředí Microsoft .NET
[22]. Tento nástroj umožňuje zefektivnit programování
propojek simulačního modelu s vizuálními objekty uživatelského rozhraní ve výukovém simulátoru.
Simulační hr y na WEBu
Další technologický problém, který bylo při tvorbě výukových simulátorů nutno vyřešit, bylo proto nalezení
způsobu, jak včlenit simulátory jako součásti internetových e-learningových aplikací. Při jeho řešení je možno
postupovat několika způsoby. Jedním z nich je spouštění modelu na serveru a na klientský počítač posílat
pouze výstupy z modelu. Znamená to ale pro každého
připojeného uživatele na serveru individuálně spouštět
jednu instanci (jeden exemplář) simulačního modelu. Kromě toho, zvláště u vzdálenějších a pomalejších
připojení, je nezanedbatelné časové zpoždění mezi výstupem simulačního modelu na serveru a vykreslením
výsledku na počítači klienta. Proto jsme se rozhodli jít
spíše cestou spouštění simulačních modelů na počítači
klienta.
U jednodušších modelů je možno využít interpetovaný
ActionScript ve Flashi v němž je naprogramován simulační model. Složitější simulační modely už ale vyžadují
kompilovaný simulátor.
Naše řešení [22] je zobrazeno na obr. 24. Uživatel si
nainstaluje platformu .NET (pokud ji již nemá). Dále
si na svém počítači nainstaluje speciální klientský
program – "dispečer simulačních modelů". V případě
potřeby se dispečer rozšíří i o runtime pro prostředí
ControlWeb, které zajistí možnost spouštění modelů
v tomto prostředí vytvořených. Webová e-learningová
aplikace umožní stáhnout potřebné soubory simulačního modelu a dispečer simulačních modelů je spustí.
Dispečer tak funguje obdobně jako prohlížeč obrázků,
jen s tím rozdílem, že místo zobrazení obrázků spustí
simulační program.
Zabalení simulačních her do multimediálního v ýkladu
Jedním z projektů, který vytváříme v naší laboratoři
je již výše zmíněný Atlas fyziologie a patofyziologie
(viz www.physiome.cz/atlas). Atlas [18] je průběžně
vytvářená internetová multimediální výuková pomůcka z oblasti normální a patologické fyziologie, která s
MEFANET report 01
využitím simulačních modelů pomáhá vysvětlit funkci
a poruchy jednotlivých fyziologických systémů.
Simulační hry (obr. 25) jsou součástí e-learningových
multimediálních výukových lekcí, jejichž podkladem
je scénář vytvořený zkušeným pedagogem. Pedagog
navrhuje vysvětlující text a s textem propojené doprovodné obrázky a animace. Animace jsou vytvářeny
v prostředí Adobe Flash v úzké spolupráci pedagoga
s výtvarníkem.
Text je poté namluven a synchronizován se spouštěním
jednotlivých animací a s odkazy na simulační hry. Jednotlivé komponenty jsou kompletovány do výukových
lekcí.
Pro vytváření a kompletaci multimediálních výukových
lekcí využíváme softwarové prostředí serveru Adobe
Connect (dříve Macromedia Breeze).
Projekt Atlasu fyziologie a patofyziologie je otevřený.
Veškeré výukové texty, interaktivní animace a simulační
modely včetně jejich zdrojových kódů jsou k dispozici
všem zájemcům. Jako open-source jsou i veškeré námi
vytvořené podpůrné softwarové nástroje, umožňující vygenerování jádra simulátorů z prostředí Matlab/
Simulink a distribuci simulátorů prostřednictvím Internetu. Náš vývojový tým uvítá spolupráci s dalšími
pracovišti na dalším rozšiřování atlasu a vytvoření jeho
jazykových mutací.
Od entuziazmu k technologii a multidisciplinární spolupráci
Navzdory tomu, že se využití počítačů ve výuce stalo
tématem řady konferencí, odborných i popularizačních
článků, přesto, že hardwarové možnosti i softwarové
nástroje dnes již dospěly do úrovně umožňující vytvářet
náročná interaktivní multimedia, k výraznému rozšíření multimediálních výukových programů ve výuce medicíny zatím nedošlo.
Příčin je několik.
• Za prvé, ukazuje se, že tvorba výukových programů
je podstatně náročnější na čas, lidské i materiální
zdroje, než je obvykle plánováno
• Za druhé – tvorba kvalitních medicínských výukových programů vyžaduje týmovou multidisciplinární
spolupráci zkušených pedagogů, lékařů, matematiků, fyziků, programátorů i výtvarníků.
• Konečně, pro kreativní propojení různých profesí,
podílejících se na tvorbě výukové multimediální aplikace, musí být k dispozici vhodně zvolené vývojové
nástroje (jejichž ovládnutí ale vyžaduje určité úsilí
a čas).
• Nároky stoupají, pokud na pozadí výukového programu má běžet simulační program, umožňující
interaktivní simulační hry – ve vývojovém týmu pak
musí být i odborníci, kteří jsou schopni navrhnout,
formalizovat a odladit příslušné modely (lékaři, matematici, fyzici a informatici).
Domníváme se, že nejdůležitějším výsledkem, kterého
se nám v naší laboratoři zatím podařilo dosáhnout je
vybudování multidisciplinárního týmu lékařů, matematiků, programátorů i výtvarníků, který je schopen výše
zmíněné bariéry překonat.
Mezioborový tým potřebuje nástroje pro usnadnění komunikace a kooperace práce na společně vytvářených
projektech. Pro podporu a koordinaci týmové spolupráce dnes existuje řada softwarových prostředků.
V naší laboratoři se nám osvědčilo využití open-source
nástroje WikiDoc, který umožňuje jednoduše využí-
vat webové rozhraní pro vzájemnou komunikaci členů
týmu. Pro letmý pohled do "kuchyně" našeho mezioborového týmu i pro seznámení s funkcí "wiki" – rozhraní
se čtenář může podívat na "wiki-web" naší laboratoře:
http://physiome.ct/wiki.
No v á v ý z v a i p ř í l e ž i t o s t p r o v y s o ké š ko l y
Současná epocha je charakterizována zásadními změnami v technologiích, které ve svém důsledku mění ekonomiku, společnost i způsob života. Původní soupeření
o tuny produktů přešlo do souboje o dokonalejší a rychlejší informace.
Vytváří se nový tržní segment, kde se obchoduje s nehmotným produktem, myšlenkami, nápady a knowhow. Pokrok v technologiích vytváří tlak na flexibilitu
pracovní síly a zvyšuje požadavek na průběžné rekvalifikace. Celoživotní vzdělávání se stává nutností ve stále
větším počtu oborů.
Vytváření a realizaci rekvalifikačních kurzů a výuky
v procesu celoživotního vzdělávání usnadňuje a podporuje využití informačních technologií. E-learning proto
umožňuje rozšířit kapacitu vysokých škol a zároveň jim
může přinést další příjmy z tvorby distančních rekvalifikačních a specializačních postgraduálních programů.
Z tohoto hlediska je e-learning pro vysoké školy nová
výzva, která bude vyžadovat velké úsilí, ale zároveň je
i velkou příležitostí pro jejich další rozvoj.
Zdá se, že pomalu končí doba, kdy vytváření výukových
programů bylo otázkou entuziasmu a píle skupin nadšenců. Tvorba moderních biomedicínských výukových
aplikací je náročný a komplikovaný projekt, vyžadující
týmovou spolupráci řady profesí – zkušených pedagogů vytvářejících základní scénář, tvůrců simulačních
modelů, lékařů, výtvarníků a programátorů. Aby tato
interdisciplinární kolektivní tvorba byla efektivní, je
nutno pro každou etapu tvorby využívat specifické vývojové nástroje, s dostatečnou technickou podporou,
které umožňují komponentovou tvorbu simulačních
modelů, vytváření interaktivních multimédií a jejich závěrečné propojení podle daného scénáře do kompaktního celku. K ovládnutí těchto nástrojů je zapotřebí věnovat značné úsilí, které se ale nakonec vyplatí.
Vytvořit kvalitní výukové e-learningové aplikace, pokrývající nezanedbatelnou část lékařského oboru není
v silách jednoho pracoviště a MEFANET je zde velkou
příležitostí.
Proto uvítáme spolupráci v rámci sítě MEFANET se
všemi jednotlivci i pracovišti, kteří budou mít zájem.
Rádi se podělíme o naše zkušenosti včetně námi vytvořených podpůrných softwarových prostředků.
Literatura
[1] Abram, S. R., Hodnett, B. L., Summers, R. L., Coleman,
T. G., Hester R.L. (2007). Quantitative Circulatory Physiology: An Integrative Mathematical Model of Human
Physiology for medical education. Advannced Physiology
Education, 31 (2), 202–210.
[2] Amosov, N. M., Palec B. L., Agapov, B. T., Jermakova, I.
I., Ljabach E. G., Packina, S. A., Solovjev, V. P. (1977):
Teoretičeskoje issledovanie fiziologičeskich sistěm.
Naukova Dumka, Kijev, 1977.
[3] Bassingthwaighte J. B. (2000). Strategies for the
Physiome Project. Annals of Biomedical Engeneering 28,
1043–1058.
[4] Cameron, W.H. (1977): A model framework for computer
simulation of overall renal function. J. Theor. Biol. vol.
66., s. 552–572
71
MEFANET report 01
[5] Coleman, T. G. and J.E. Randall (1983): HUMAN.
A comprehensive physiological model. The Physiologist,
vol. 26, (1): 15–21.
[6] P. Fritzson (2003). Principles of Object-Oriented Modeling and Simulation with Modelica 2.1, Wiley-IEEE Press.
[7] Grodins, F., S., J. Buell and A. Bart (1967).: Mathematical
analysis and digital simulation of the respiratory control
system. J. Appl. Physiol., vol. 22, (2): s. 250–276.
[8] Guyton AC, Coleman TA, and Grander HJ. (1972):
Circulation: Overall Regulation. Ann. Rev. Physiol., 41,
s. 13–41.
[9] Guyton AC, Jones CE and Coleman TA. (1973): Circulatory Physiology: Cardiac Output and Its Regulation.
Philadelphia: WB Saunders Company,1973.
[10] Guyton AC (1990): The suprising kidney-fluid mechanism for pressure control – its infinite gain!. Hypertension, 16, s.725–730.
[11] Hunter P. J., Robins, P., & Noble D. (2002) The IUPS
Physiome Project. Pflugers Archive-European Journal
of Physiology, 445, s.1–9
[12] Hunter, P. J. & Borg, T. K. (2003). Integration from proteins to organs: The Physiome Project. Nature Reviews
Molecular and Cell Biology. 4, 237–243.
[13] Ikeda N, Marumo F and Shirsataka M. A (1979): Model
of Overall Regulation of Body Fluids. Ann. Biomed.
Eng. 7, s. 135–166
[14] Kofránek, J. Anh Vu, L. D., Snášelová, H., Kerekeš, R.,
& Velan, T (2001): GOLEM – Multimedia simulator
for medical education. In Patel, L., Rogers, R., Haux R.
(Eds.). MEDINFO 2001, Proceedings of the 10th World
Congress on Medical Informatics. London: IOS Press,
1042–1046.
[15] Kofránek, Jiří, Andrlík, Michal, Kripner, Tomáš, and
Mašek, Jan (2002). From Simulation chips to biomedical
simulator. In Amborski, K. and Meuth, H. Proc. of
16th European Simulation Multiconference, Darmstadt,
2002. SCS Publishing House, 2002, s. 431–436.
[16] Kofránek, Jiří, Kripner, Tomáš, Andrlík, Michal, and Mašek, Jan. (2003) Creative connection between multimedia,
simulation and software development tools in the design
and development of biomedical educational simulators.
Simulation Interoperability Workshop, 2003. Orlando,
2003, Position papers, Volume II, paper 03F-SIW-102,
s. 677–687.
[17] Kofránek J, Andrlík M, Kripner T, Stodulka P. (2005):
From Art to Industry: Development of Biomedical Simulators. The IPSI BgD Transactions on Advanced Research
2 (Special Issue on the Research with Elements of Multidisciplinary, Interdisciplinary, and Transdisciplinary:
The Best Paper Selection for 2005), s.62–67.
[18] Kofránek, J., Matoušek, S., Andrlík, M., Stodulka, P.,
Wünsch, Z., Privitzer, P., Hlaváček, J., Ondřej Vacek, O.
(2007): Atlas of physiology – internet simulation playground. In. Proceedings of the 6th EUROSIM Congress
on Modeling and Simulation, Vol. 2. Full Papers (CD).
(B. Zupanic, R. Karba, S. Blažič Eds.), University of
Ljubljana, ISBN 978-3-901608-32-2, MO-2-P7-5, 1–9.
2007. Článek je dostupný na adrese http://patf-biokyb.lf1.
cuni.cz/wiki/media/clanky/development_of_web_accessible_medical_simulators.pdf?id=wiki%3Auser%3Aseznam_publikaci&cache=cache
[19] Jiří Kofránek, Jan Rusz, Stanislav Matoušek (2007):
Guytons Diagram Brought to Life – from Graphic Chart
to Simulation Model for Teaching Physiology. In Technical Computing Prague 2007. 15th Annual Conference
Proceedings. Full paper CD-ROM proceedings. (P. Byron
Ed.), Humusoft s.r.o. & Institute of Chemical Technology,
Prague, ISBN 978-80-7%8%-658-6, 1–13, 2007. Článek,
včetně zdrojových textů programů je dostupný na adrese
http://www.humusoft.cz/akce/matlab07/sbor07.htm#k
[20] Miller, J. A., Nair, R. S., Zhang, Z., Zhao, H. (1997).
JSIM: A JAVA-Based Simulation and Animation Environment, In Proceedings of the 30th Annual Simulation
Symposium, Atlanta, Georgia, 31–42.
72
[21] Raymond, G. M., Butterworth E, Bassingthwaighte J. B.
(2003). JSIM: Free Software Package for Teaching Physiological Modeling and Research. Experimental Biology
280,102–107
[22] Stodulka, P., Privitzer, P., Kofránek, J., Tribula, M., Vacek,
O. (2007): Development of WEB accessible medical educational simulators. In. Proceedings of the 6th EUROSIM
Congress on Modeling and Simulation, Vol. 2. Full Papers
(CD). (B. Zupanic, R. Karba, S. Blažič Eds.), University
of Ljubljana, ISBN 978-3-901608-32-2, MO-3-P4-2, 1–6.
2007. Článek je dostupnýá na adrese http://patf-biokyb.
lf1.cuni.cz/wiki/_media/clanky/development_of_web_
accessible_medical_simulators.pdf?id=wiki%3Auser%3Aseznam_publikaci&cache=cache
P o d ě ko v á n í
Práce na vývoji lékařských simulátorů je podporována grantem
MŠMT č.2C06031 a společností BAJT servis s.r.o.
Obrázek 1: Grafické schéma rozsáhlého modelu cirkulace A. C.
Guytona a spol. z roku 1972, publikovaného v Annual Review
of Physiology. Přetištěno s laskavým svolením Annual Review of
Physiology.
Obrázek 2: Detail Guytonova modelu z roku 1972. Model byl
pro běžného čtenáře fyziologických časopisů na první pohled
poněkud nepřehledný. Nebyl však jen směsicí čar a symbolů.
Reprezentoval matematické vztahy, vyjádřené pomocí propojených symbolů pro funkční závislosti (Funtional block), dělení
(Divider), násobení (Multiplier), integrování (Interator), scítání
a odčítání (Summator). Tak například propojením tří bloků se
dala graficky vyjádřit závislost pulmonárního kapilárního tlaku
(PCP) na středním tlaku v levé síni (PLA) a na středním tlaku
v pravé síni (PPA) vyjádřená vztahem PCP= 0,55 PLA + 0,45
PPA.
MEFANET report 01
Obrázek 3: Guytonův model vyjadřoval zpětnovazebné propojení
osmnácti subsystémů, ovlivňujících funkci cirkulačního systému,
jako graficky zobracenou soustavu matematických vztahů.
Obrázek 4: Spojení internetu, multimediálního prostředí, sloužícího jako zvukové a vizuální uživatelské rozhraní, se simulačními modely umožňuje studentům po připojení do kouzelné
internetové pavučiny si názorně "osahat" vykládaný problém
ve virtuální realitě. Staré Komenského krédo – "škola hrou" tak
dnes nachází své moderní uplatnění.
Obrázek 5: Příklad využití rozpojení fyziologických subsystémů
z vnějších regulačních smyček v simulátoru GOLEM. Stisknutím tlačítka odpojíme řízení hladiny hormonu aldosteron z regulace. Pootočením knoflíku pak hladinu aldosteronu násilně
zvýšíme (A). Po čase vidíme na schématu vylučování draslíku
v ledvinách, že draslík se ve zvýšené míře vylučuje močí. Jeho zásoby v plazmě jsou však malé a ledvinné ztráty pak vedou k tomu,
že draslík se přesouvá do mimobuněčné tekutiny (a plazmy)
z buněk (B). Výstup draslíku z buněk je však provázen vstupem
vodíkových iontů do buněk (C), důsledkem je rozvoj extracelulární metabolické acidózy (D).
Obrázek 6: Dva typy problémů při tvorbě lékařských simulátorů
a e-learningových programů využívajících simulační hry.
Obrázek 7: Grafické vyjádření násobiček (Multiplier), děliček
(Divider), sumátorů (Summator), integrátorů (Integrator)
a funkčních bloků (Functional block) v grafické notaci, navržené A.C.Guytonem (fotografie vlevo dole) a v nástroji pro tvorbu
simulačních modelů Simulink od firmy Matworks.
Obrázek 8: Oprava chyb v grafickém schématu modelu
A.C.Guytona z roku 1972.
73
MEFANET report 01
Obrázek 9: Implementace Guytonova modelu z roku 1972
v moderním nástroji pro tvorbu simulačních modelů Matlab/
Simulink.
Obrázek 10: Pravá horní část grafického znázornění Guytonova
modelu z roku 1972: Subsystém dodávky kyslíku do „nesvalových tkání“.
Obrázek 11: Část modelu A.C. Guytona z roku 1972 v nástroji
pro tvorbu simulačních modelů, která odpovídá grafickému
znázornění z předchozího obrázku. Implementace subsystému
dodávky kyslíku do „nesvalových“ tkání v prostředí Matlab/
Simulink.
74
Obrázek 12: Subsystém dodávky kyslíku do „nesvalových tkání“
vyjádřený jako simulační čip. Zapojení odpovídá stejnému schématu jako na předchozím obrázku, vnitřní struktura počítacích
prvků je však skryta uvnitř simulačního čipu. Model je pak „čitelnější“ a srozumitelnější i pro experimentální fyziology.
Obrázek 13: Implementace Guytonova modelu z roku 1972
v prostředí Matlab/Simulink, vyjádřená jako propojené simulační čipy. Každý ze simulačních čipů odpovídá jednomu
z 18 propojených subsystému.
Obrázek 14: Implementace Guytonova modelu z roku 1986
v prostředí Matlab/Simulink ve formě simulačních čipů. Matematické vztahy jsou ukryty v simulačních čipech, propojení
simulačních čipů znázorňuje uvažované vazby mezi jednotlivými
subsystémy. Zdrojový text programu, včetně podrobného popisu
významu všech rovnic je k dispozici na adrese http://physiome.
cz/guyton.
MEFANET report 01
propojené prvky reprezentují jednotlivé matematické vztahy.
Ke každému čipu je dynamicky připojena příslušná dokumentační stránka, která obsahuje věcný popis funkce čipu včetně
popisu matematických vztahů, které jsou jejím podkladem.
Simulační čipy mohou být ve vývojovém prostředí Simulink soustřeďovány do hierarchicky uspořádaných knihoven (viz obrázek
vpravo). Z nich pak lze jednotlivé čipy "vytahovat" pomocí myši
(jako z palety nástrojů), umísťovat je do vytvářené aplikace,
propojovat je a vytvářet složitější modely. Implementace námi
vytvořené knihovny simulačních čipů (obsahujících, mimo jiné
i simulační čip „Golem“, je volně stažitelná z adresy http://physiome.cz/simchips.
Obrázek 15: Ukázka hierarchického uspořádání simulačního
čipu, reprezentujícího simulační model, který je podkladem pro
simulátor GOLEM. V prostředí Simulinku je možno snadno
otestovat jeho chování – k jednotlivým "vstupním pinům" lze
přivést vstupní hodnoty (nebo průběhy hodnot) a od "výstupních
pinů" na virtuálních displejích či osciloskopech odečítat výstupy, resp. časové průběhy výstupů. Vpravo je zobrazen „vnitřek"
simulačního čipu nejvyšší hierarchické úrovně. Struktura připomíná elektrickou síť s propojenými integrovanými obvody, které
v daném případě reprezentují simulační čipy nižší hierarchické
úrovně. V následujícím obrázku je znázorněn obsah čipu "Blood
Acid Base Balance".
Obrázek 16: Simulační čipy mají hierarchické uspořádání.
Na obrázku je znázorněn "vnitřek" jednoho ze simulačních čipů
z předchozího obrázku. Vzhledem k tomu, že každý jednotlivý
simulační čip obsahuje dostatečně podrobnou dokumentaci
o svých vstupech a výstupech, může být struktura vztahů uvnitř
simulačního čipu (reprezentující fyziologické vztahy v reálném
organismu) srozumitelná fyziologům. Na dalším obrázku je zobrazen obsah čipu "BEINV".
Obrázek 18: Komunikace systému Control Web s ovladačem
řídící/měřící karty při tvorbě průmyslových aplikací. Měřící
ústředny či velín průmyslové aplikace, vytvořené v prostředí Control Web komunikuje přes vstupní a výstupní kanály s řadičem
měřící/řídící karty, která komunikuje s propojeným technologickým zařízením.
Obrázek 19: Začlenění simulačního modelu do ovladače "virtuální karty" při tvorbě simulátoru v prostředí Control Web.
Simulátor vytvořený v prostředí Control Web komunikuje přes
vstupní a výstupní kanály s řadičem virtuální (v hardwarové podobě neexistující) měřící/řídící karty. V tomto řadiči je „ukryt“
simulační model. Vstupní proměnní jsou simulačnímu modelu
„posílány“ přes výstupní kanály aplikace v Control Webu. Výstupy modelu jsou čteny, obdobně jako měřené výstupy technologického zařízení, prostřednictvím vstupních kanálů. Aby nebylo
nutno ručně programovat řadič s „ukrytým“ simulačním modelem, vyvinuli jsme speciální nástroj, který automaticky generuje
zdrojový text řadiče v jazyce C přímo z modelu, implementovaného v Simulinku.
Obrázek 17: Simulační čipy na nejnižší hierarchické rovni jsou
tvořeny propojenými základními komponenty vývojového systému Matlab/Simulink (sumátory, násobičkami, integrátory
aj.) a případně i simulačními čipy dalších nižších úrovní. Tyto
75
MEFANET report 01
Obrázek 20: Kreativní propojení nástrojů a aplikací pro tvorbu
simulátorů a výukových programů využívajících simulační hry.
Základem e-learningového programu kvalitní scénář, vytvořený
zkušeným pedagogem. Tvorba animovaných obrázků je odpovědnost výtvarníků, kteří vytvářejí interaktivní animacev prostředí
Adobe Flash. Jádrem simulátorů je simulační model, vytvářený
v prostředí speciálních vývojových nástrojů, určených pro tvorbu
simulačních modelů. V naší laboratoři zde využíváme prostředí
Matlab/Simulink od firmy Matworks (a v poslední době i nástroje pro práci se simulačním jazykem Modelica). Vývoj simulátoru je náročná programátorská práce, pro jejíž usnadnění jsme
vyvinuli speciální programy, usnadňující automatický převod
vytvořeného simulačního modelu z prostředí Matlab/Simulink
do prostředí Control Web a Microsoft .NET.
Obrázek 23: Tzv. MVC architektura při tvorbě simulátorů. Mezi
vrstvu modelu a vrstvu uživatelského rozhraní je vhodné vložit
řídící vrstvu, kam jsou směrovány veškeré zprávy a události vznikající ve virtuálních přístrojích uživatelského rozhraní, a kam je
zároveň směrována veškerá komunikace s modelem. V této vrstvě
se řeší veškerý kontext zobrazovaných dat a příslušné požadavky
na komunikaci s modelem. Veškerá logika zobrazování a komunikace je pak soustředěna do jednoho místa, což podstatně ušetří čas při modifikacích uživatelského rozhraní nebo změnách
modelu.
Obrázek 24: Využití simulačních modelů v internetových e-learingových kurzech. Dispečer simulačních modelů funguje obdobně jako prohlížeč obrázků, jen s tím rozdílem, že místo zobrazení
obrázků spustí simulační program.
Obrázek 21: Příklad simulátoru vytvořeného v prostředí ControlWeb. Výstupy modelu jsou zobrazovány na ručkových měřících přístrojích a zároveň ovlivňují i tvar animovaného obrázku
ledvinného glomerulu (velikost, tloušťku šipek a číselnou hodnotu aj.), vytvořeného pomocí programu Adobe Flash.
Obrázek 25: Ilustrativní ukázka doprovodného simulátoru ve výukovém programu patofyziologie cirkulace.
Obrázek 22: Příklad simulátoru vytvořeného v prostředí Microsoft Visual Studio .NET. Výstupy modelu přenosu krevních
plynů jsou zobrazovány v číselné podobě i pomocí sloupcových
diagramů. Zároveň model ovlivňuje i tvar animovaného obrázku
schematicky znázorňujícího distribuci ventilace a perfúze v plicích, který byl vytvořen pomocí programu Adobe Flash.
76
MEDSOFT 2008
Jiří Kofránek, Jan Rusz, Stanislav Matoušek: Vzkříšení guytonova diagramu - od
obrázku k simulačnímu modelu. In MEDSOFT 2008. (Editor: Milena
Ziethamlová) Praha: Agentura Action M, Praha 2008, s. 37-56. ISBN 978-8086742-22-9
Vzkříšení Guytonova diagramu – od obrázku k simulačnímu modelu 57
VZKŘÍŠENÍ GUYTONOVA DIAGRAMU - OD OBRÁZKU K
SIMULAČNÍMU MODELU
Jiří Kofránek, Jan Rusz, Stanislav Matoušek
Anotace
Autoři popisují implementaci klasického mnohokrát přetiskovaného
Guytonova diagramu řízení krevního oběhu v prostředí Simulink.
Upozorňují, že v obrázkovém diagramu jsou chyby, které bylo nutné při
implementaci opravit. Autoři zachovali stejný vzhled simulinkového
modelu jako v původním grafickém schématu – rozložení, rozmístění
vodičů, názvy veličin i čísla bloků jsou stejné. Autoři závěrem konstatují,
že sebesložitější simulační modely jsou pouze teoretickým podkladem
pro výukové simulátory určené pro výuku lékařů.
Klíčová slova
Guytonův diagram, simulační modely, Simulink, výukové simulátory
1. Úvod
Před šestatřiceti lety vyšel v časopise Annual Review of Physiology
článek [1], který se svou podobou již na první pohled naprosto vymykal
navyklé podobě fyziologických článků té doby. Byl uveden rozsáhlým
schématem na vlepené příloze (obr. 1).
Schéma plné čar a propojených prvků na první pohled vzdáleně
připomínalo nákres nějakého elektrotechnického zařízení. Místo
elektronek či jiných elektrotechnických součástek však zde byly
zobrazeny propojené výpočetní bloky (násobičky, děličky, sumátory,
integrátory, funkční bloky), které symbolizovaly matematické operace
prováděné s fyziologickými veličinami. Svazky propojovacích vodičů
mezi bloky na první pohled vyjadřovaly složité zpětnovazebné propojení
fyziologických veličin. Bloky byly seskupeny do osmnácti skupin, které
představovaly jednotlivé propojené fyziologické subsystémy.
2. Pavučina fyziologických regulací
Vlastní článek tímto, tehdy naprosto novým, způsobem pomocí
matematického modelu popisoval fyziologické regulace cirkulačního
systému a jeho širší fyziologické souvislosti a návaznosti na ostatní
subsystémy organismu – ledviny, regulaci objemové a elektrolytové
rovnováhy aj. Místo vypisování soustavy matematických rovnic se v
článku využívalo grafické znázornění matematických vztahů. Tato
58 J. Kofránek, J. Rusz. S. Matoušek
Obr. 1. Guytonův diagram regulace krevního oběhu
syntaxe umožnila graficky zobrazit souvislosti mezi jednotlivými
fyziologickými veličinami ve formě propojených bloků reprezentujících
matematické operace.
Vlastní popis modelu byl pouze ve formě základního (ale přesto
plně ilustrativního) obrázku. Komentáře a zdůvodnění formulací
matematických vztahů byly velmi stručné. Např. „bloky 266 až 270
počítají vliv buněčného PO2, autonomní stimulace a bazální rychlosti
spotřeby kyslíku tkáněmi na skutečnou rychlost spotřeby kyslíku v
tkáních“. Od čtenáře to vyžadovalo nadmíru velké soustředění (i jisté
fyziologické a matematické znalosti) pro pochopení smyslu
formalizovaných vztahů mezi fyziologickými veličinami.
O rok později, v roce 1973, vyšla monografie [2], kde byla řada
použitých přístupů vysvětlena poněkud podrobněji. Guytonův model byl
určitým mezníkem – byl prvním rozsáhlým matematickým popisem
fyziologických funkcí propojených subsystémů organismu a odstartoval
oblast fyziologického výzkumu, která je dnes někdy popisována jako
integrativní fyziologie.
3. Šém pro Guytonův diagram
Guytonův model i jeho další modifikace byly původně
implementovány ve Fortranu a později v jazyce C++. Dnes jsou pro
Vzkříšení Guytonova diagramu – od obrázku k simulačnímu modelu 59
vývoj, ladění a verifikaci simulačních modelů k dispozici specializovaná
softwarová simulační prostředí. Jedním z nich je např. vývojové prostředí
Matlab/Simulink od firmy Mathworks, které umožňuje postupně
sestavovat simulační model z jednotlivých komponent – jakýchsi
softwarových simulačních součástek, které se pomocí počítačové myši
mezi sebou propojují do simulačních sítí. Simulinkové počítací prvky jsou
velmi podobné prvkům, které pro formalizované vyjádření fyziologických
vztahů použil Guyton. Rozdíl je jen v jejich grafickém tvaru.
Tato podobnost nás inspirovala k tomu, abychom prostřednictvím
Simulinku vzkřísili starý klasický Guytonův diagram a převedli ho do
podoby funkčního simulačního modelu. V simulinkové implementaci
modelu jsme využili i přepínače, kterými můžeme odpojovat nebo
zapojovat jednotlivé subsystémy a regulační smyčky i za běhu modelu.
Vnější vzhled simulinkového modelu jsme se snažili zachovat zcela
stejný jako v původním grafickém schématu – rozložení, rozmístění
vodičů, názvy veličin i čísla bloků jsou stejné.
4. Chyby v Guytonově diagramu
Simulační vizualizace starého schématu nebyla úplně snadná –
v originálním obrázkovém schématu modelu jsou totiž chyby!
V nakresleném obrázku to nevadí, pokusíme-li se ho ale oživit
v Simulinku, pak model ihned zkolabuje jako celek. Chyb nebylo mnoho
– přehozená znaménka, dělička místo násobičky, prohozené propojení
mezi bloky, chybějící desetinná tečka u konstanty atd. Stačily však na to,
aby model nefungoval. Některé chyby bylo možné vidět na první pohled
(i bez znalosti fyziologie) – ze schématu je patrné, že při běhu modelu by
hodnota veličin v některých integrátorech (díky špatně zakreslené zpětné
vazbě) rychle vystoupala k nekonečnu a model by zkolaboval. Při
znalosti fyziologie a systémové analýzy se ovšem na všechny chyby, při
troše námahy, dalo přijít (obr. 2). Podrobný popis chyb a jejich oprav je v
[5].
Je zajímavé, že Guytonův diagram byl jako složitý obrázek
mnohokrát přetiskován do nejrůznějších publikací (v poslední době viz
např. [3,8]). Nikdo ale na chyby neupozornil a nedal si práci tyto chyby
odstranit. To bylo pochopitelné v době, kdy obrázkové schéma vznikalo.
Ještě neexistovaly kreslící programy – obrázek vznikal jako složitý
výkres – a ruční překreslování složitého výkresu nebylo snadné. Možné
je i to, že sami autoři modelu opravovat chyby ani příliš nechtěli – kdo si
dal práci s analýzou modelu, obrazové "překlepy" odhalil, kdo by chtěl
jen tupě opisovat, měl smůlu. Konec konců, ve své době autoři rozesílali
i zdrojové texty programů svého modelu v programovacím jazyce Fortran
– takže pokud někdo chtěl pouze testovat chování modelu, nemusel nic
60 J. Kofránek, J. Rusz. S. Matoušek
Obr. 2. Nejzávažnější chyby v Guytonově diagramu a jejich oprava
programovat (maximálně pouze rutinně převedl program z Fortranu do
jiného programovacího jazyka).
Námi vytvořená Simulinková realizace (opraveného) Guytonova
modelu (obr. 3) je zájemcům k dispozici ke stažení na adrese
www.physiome.cz/guyton. Na této adrese je i naše Simulinková realizace
mnohem složitější verze modelu Guytona a spol. z pozdějších let.
Zároveň je zde i velmi podrobný popis všech použitých matematických
vztahů se zdůvodněním.
5. Od simulační pavučiny k simulátorům
Spletitá pavučina počítacích bloků Guytonova modelu,
implementovaná v prostředí Simulinku, působí sice svou složitostí na
první pohled impozantně, pro využití ve výuce fyziologie na lékařských
fakultách je ale nevhodná. Model implementovaný ve vývojovém
prostředí pro simulace je možnou výukovou aplikací pro studenty
bioinženýrství, nikoli však pro mediky a lékaře. Ti preferují simulátory
vyjádřené spíše jako interaktivní animované obrázky fyziologického
atlasu provázené grafy, schématy a vysvětlujícími texty.
Vzkříšení Guytonova diagramu – od obrázku k simulačnímu modelu 61
NON-MUSCLE OXYGEN DELIVERY
MUSCLE BLOOD FLOW CONTROL AND PO2
260
02M
OSV
168
269
xo
227
237
239
5
PK1
258
PK3
RDO
238
u^3
198.7
263
BFM
5
225
DOB
x
1 o
s
200
P4O
235
Xo
P2O
upper limit 8
224
271
POT^3
1
s
7.983
POT
60
P3O
242
PVO
BFN
223
1
u^3
P3O^3
233
250
244
OVA
POM
200
QO2
0.00333
8.0001
234
40
P1O
1
RMO
57.14
lower limit .005
251
248
1
272
upper limit 8
232
OSA
255
HM
xo
271
POE
1
241
2400
u^3
252
AOM
DVS
5
265
0.08
PM5
8
VPF
POT
249
PMO
0.5
2.859
PDO
243
122
2.8
8
1
253
247
1
8
MO2
8.0001
1
0.25
-1
P2O
2400
256
264
1
PM4
1
s x
o
0.7
231
OVA
P40^3
266
236
QOM
257
40
2688
lower limit 50
0.15
246
5
OVA
512
267
AMM
1
s x
o
u^2
PM1^2
2500
230
40
POV
254
02A
226
262
POT
AU
1
lower limit .001
229
RMO
245
PMO
800
5
268
PM3
240
PK2
259
0.7
POV
270
228
BFM
1
261
AOM
1
1
s
57.14
512
EXC
HM
40
1
0.0125
PVO
40
8
0.9999
1
NON-MUSCLE OXYGEN DELIVERY
VASCULAR
STRESS
RELAXATION
MUSCLE BLOOD FLOW CONTROL AND PO2
260
OSV
168
1
1
s
57.14
02M
PK3
RDO
230
198.7
BFM
lower limit 50
u^3
263
5
OVA
P40^3
225
DOB
1
s
2400
xo
235
271
POT^3
HM
xo
271
1
s
POT
GF3
197
1
223
0.5
250
244
AAR
PDO
EXC
213
207
CNY
NOD
CNA
142
0.3333
CN8
139
0.001
0.025
2.5
1.2
177
PRA
0
CNX
178
179
AHM
1
1.2
AOM
1
s
CNE
10
0.0007
2
181
REK
28
1
0.9864
AHY
180
AHZ
AH7
100
AUM
0.9999
184
lower limit 3
CNR
RBF
RBF
RFN
AMM
0.14
AH
222
214
1.2
RFN
1
1
s
158A
183
182
176
1
lower limit 0
lower limit 0.35
PVO
AHC
185
0.0785
AH1
187
10u
CNZ
175
0.1024
201
1
40
1
40
6
AH2
NOD
6
AM
AHM
1.2
ARF
195
0.3
249
512
HM
0.0125
186
AH4
6
AHM
upper limit 15.0
lower limit 0.4
RFN
1.5
0.08
243
122
8
189
AHM
0.9996
0.1
215
221
POM
PM5
188
1
220
216
1
GP3
1
PMO
0.5
VPF
AM
211
APD
202
196
200
2.859
8
210
1
1
u^3
P3O^3
233
2.8
8
POT
GF4
GF3
1
s xo
VIM
OVA
QO2
0.00333
VVE
P3O
242
PVO
BFN
203
algebraic
loop
breaking
VIM
0.01028
1
272
upper limit 8
VV7
VV1
62
0.301
60
234
255
0.009
5
31.67
VV7
61
40
P1O
63
VV2
lower limit .005
251
248
0
TVD
0.0009964
219
217
1
8.0001
57.14
TVD
lower limit 0
0.01
209
PPC
51.66
1000
191
190
AHM
GLP
VV6
1
7.983
241
AAR
198
18
POE
P2O
upper limit 8
RMO
232
OSA
1
4
Z11
Z10
1
212
1
224
u^3
AAR
0
1
8
Xo
DVS
2400
194
STH
8.25
1
TRR
0.8
33
AOM
P2O
0.7
231
200
5
265
193
192
POT
STH
0.001022
0.00781
SRK
252
VUD
0.001
PFL
EVR
VV7
247
MO2
8.0001
1
253
8
VUD
lower limit 0.0003
199
-1
218
GFR
208
0.25
256
264
P4O
266
206
0.125
1
s
PM4
1
s xo
512
267
236
QOM
238
THIRST AND DRINKING
GFN
205
200
65
64
5
257
40
KIDNEY DYNAMICS AND EXCRETION
RR
1
246
OVA
2688
1
u^2
PM1^2
2500
40
POV
AMM
1
s xo
0.15
226
262
254
02A
237
239
PK1
258
POT
AU
1
lower limit .001
229
5
RMO
245
PMO
800
227
5
268
PM3
240
PK2
259
0.7
POV
270
228
BFM
1
xo
261
AOM
269
AOM
0.9864
AMM
PPC
AM
1
1
AU
AH8
1
lower_limit_0
1
NON-MUSCLE LOCAL BLOOD FLOW CONTROL
40
POV
POB
276
277
278
POD
274
275
273
ARM
1
s
xo
AK1
1
POK
lower limit 0.2
1
40
1
s
xo
VIM
A2K
1
lower limit 0.5
30.5
1
AR2
AUM
PAM
RAR
0.1
1.2
1
POC
283
286
100
284b
0.495
A3K
0.3
1
if (POD<0) {POJ=PODx3.3}
1
PA
VAE
VAS
VVR
6
1
s
BFN
PGS
VV8
VVS
0.3
QVO
VVS
lower limit 0.0001
VVE
0.0825
QVO
0.4
PPC
73
0.001879
VTC
75
152
CPK
0.001
VVS
PA2
LVM
0
1
0
P2O
293
295
8
296
297
PLA
-4
PP1
QLN = f(PLA)
u^3
AUK
304
0
50
RVM = f(PP2)
RPT
Z8
309
AUB calculation
0
PLA
23
6
RPT
QPO
QRO
20
21
22
PGL
AU8
xo
1
AUJ
xo
314
AUL
312
AUV
0.9993
VID
CKI
GP2
PIF
84
313
PTS
VIF
12
GPD
VVR
2.95
319
0.9998
PPA
150
0.4667
0.55
0.9994
xo
12
151
0.9997
138
VIE
0.375
PPD
32
327
0.0003
152
HMD
AU
0.5
PFI
2-(0.15/u)
0.0125
142
xo
1
347
0.1
xo
1
96
V2D
352
HPR
VPF
PPI = 2 - (0.15/VPF)
93
94
PGC
PGR
0.01252
333
CNA
118
NED
0.25
119
xo
2130
0.1
1
s
NAE
CNA
142.1
142
NID
334
344
1
349
HMD
VRC
2
1
xo
1
s
1
HPL
1
xo
1
s
HPR
1
STH
PGH
0.1
1
VG
1
RKC
VRC
117
99
PGP
PTC
5
RC2
CHY^2
116
upper limit 1
HMD
100
VPF
REK
u^2
PG2
95
PIF
57600
348
40
-1.154e-008
1
s
0.00042
NOD
1
s
0.4
VB
DFP
0
124
CKE
125
126
KOD
1
57600
343
40
0.0000058
DFP
PLF
1
5
123
98
342
HM
335
PPI
141
1
HEART RATE AND STROKE VOLUME
KE
120
HM
143
1
s
xo
75
0.013332
DHM
336b
2
2
VRC
1
KID
11.4
VGD
100
u^0.625 PP3^0.1
HPL
xo
11
0.00014
KED
0.0028
(u/12)^2
0.0025
351
1
s
140
5
HMK
90
RCD
144
0.0003
PTT = (VTS/12)^2
6
PP3
346
u^0.625 PA4^0.625
336
PPO
CPF
0
40
140
AM
122
121
97
332
2
PRA
321
324
325
2850
KE1
127
CKE
5
xo
350
345
PTT
PLF
PLF 145
PPI
322
323
HR
POT
15
1
340
PPA4
341
KIR
KIE
KCD
0.013
KCD
HM2
RC1
331
POS
139
SVO
100
1
0.5333
POS
PPC
QLO
337
3550
1
464e-7
PPD
0
VIC
1
s
128
129
GPR
1
s
85
330
-9.648e-008
148
PPN
PCP
130
113
101
VTS
PPA
HSR
POY
147
AVE
11.98
PA
HSL
xo
AVE
AUTONOMIC CONTROL
8
15
100
1.5
lower limit 0.2375
xo
VG
VG
0.000225
1
10
86
VTS
338
0.333
0.4
xo
25
PTS = f(VIF)
VIM
339
1
VPF
1
s
135
VID
1
s
88
0
0.999
VIM
POT
329
PO2
PPR
149
137
AUM
0
134
1
s
112
8.25
146
15
PPC
320
PO1
CPN
CPP
28
136
AUH
1
1
0.01
131
171
xo
0
8
70
2.949
AUH
0.5
0
VVR
0.7
AUY
CCD
CNA
KI
-6.3
1
s
PLA
AUD
315
1
318
133
132
111
VIC
VID
VV9
0.3
1
8.154e-006
110
0.0005
87
20
3.159
AU
0.15
326
1
s
VTL
83
VTD
0.85
0.07026
xo
12
GPD
0
CIRCULATORY DYNAMICS
1
0
0.21
AU9
328
VIF
DPL
0.1
IFP
AUJ^AUZ
316
1
SVO
14
103
DPI
VPA
0.0048
VTC
1
s
uv
AUN calculation
AUM
0.005
PRA
0.09477
0.38
0.30625
15
GP1
0.002
311
AU
1
104
102
PRA
1
s
VPA
VPE
PPA
AUZ
1
310
AUN
AUN
15
18
19
15.18
170
xo
ALDOSTERONE CONTROL
DPC
0.04
VRA
QRN = f(PRA)
QPO
PPA
xo
0.25
lower limit 4
20
-4
PTT
20
PIF
PR1
0
109
CPI
-6.334
AUH
1
1
s
1
s
AMC
lower limit 6
9
1
s
VRA
169
60
KN1
CNA
0.04
PRA
QRN
PPA
AUB
PTC
xo
51
AUH
0.026
308
AMR
200
166
165
CKE
5
142
105
AMT
AMP = f(PA)
0.00352
7.8
CPI
0.1
13
1
0
106
PIF
20.18
108
DPL
5
DRA
15
0
PLD
0.004
lower limit 5
0.002
PTC
0
PP2
AUN CALCULATION
when PA1<50: AUN=6
when 20>PA1<50: AUN=0.2*(50-PA1)
when PA1>=50: AUC=0
317
107
VTL
5.045
12
QRO
16
52
PL1
AU2
0.0005
305
when PA1<40: AUB=1.85718
AUB
when 40>PA1<170: AUB=0.014286*(170-PA1)
when PA1>=170: AUB=0
0.0357
20
57
PLA
DAU
AUB^3
171
-0.017
168
AM1
DPL
VTL
HMD
HMD
RVM
lower limit 0
0.4
DLA
24
0.03791
0.001879
HPR
1.4
55
1
RPV
AUB CALCULATION
PA1
QVO
1
1
56
307
1
303
AU6
301
AM2
AM3
AMP
HSR
50
20
xo
302
A1B
19.8
167
PA
100
AUH
48
RPA
1
s
VLA
11
49
sqrt
QLO
1
AUC
172
AM5
10u
1
RVM
53
VLA
AUC
AUC calculation
PA1
54
0
AUC CALCULATION
CPA
QLN
25
173
174
AM
1
ANM
164
4
26
EXC
when PA1<40: AUC=1.2
when 40>PA1<80: AUC=0.03*(80-PA1)
when PA1>=80: AUC=0
15
1
0.4
Z12
PA1
AM
1
RVG
2.738
VLE
0.1
1.24
PA1
20.039
0.9984
QRF
47
28
8
POQ
3
EXE
VP
PR1
PVS
0.6
QLN
44
27
298
3.002
VTL
0.002
10
QLO
260
LVM = f(PA2)
0
100
294
ANGIOTENSIN CONTROL
DPC
PVS
45
46
0.01453
PLA
0.03824
20
3
0
8
upper limit 8 PA
lower limit 4
15
ANT
VP
1
s
VRA
PLA
POT
POQ
xo
3
DFP
DPC
0.04
71
VPD
VUD
5
VPA
HMD
HPL
QLO
5.07
QLO
291
8
70
0.001
VB
VLA
58
QLN
0.1
CPI
TVD
292
ANM
1.6283e-007
60
VAS
PA
1.4
1
LVM
QAO
158
AN1
74
PVS
59
HSL
29
5
30
157
156
155
CNE
CP1
PC^3
VAS3
DAS
1
10
154
CNA
142
1
s xo
(1.2/RFN)^3
10
CPP
74
ANC
(1.2/u)^3
69.76
u^3
3.7
159
RFN
1.2
CNE
0.002
CV
0.042
153a
16.79
PTC
AN2
10u
153b
28
5
160
161
AN3
4.0
REK
VTC
PVS
3.3
lower limit 0.7
210
CPP
9
xo
3.25
2.8
100
3.774
8
AN5
1.004
xo
PPC
69
0.007
-6.3
2.95
DVS
7
xo
0.85
AR3
1
s
xo
1
s
POZ
289
1
32
lower limit 0.3
5
VBD
2
RSN
33
0.33
11520
288
CFC
PIF
PVS
162
163
1
ANM
ANM
1
s
VP
72
VP
0
QAO
2.859
0.00355
31
PRP
2
VV7
0.3216
BFN
0.04
61
CPP
62
4
PA
POJ
VVE
RBF
80
70
68
VRC
BFM
100
16.79
VB
RVS
DPP
0.00047
PC
5.002
2.781
34
DPL
DLP
LPK
CPR
VB
5
17
284
287
PC
17
1.011
AUM
DP0
78
77
85
17
PC
0.007
0
67
PVS
3.7
79
PPD
PVG
BFN
2.8
39
41
CN2
17
PAM
AUM
66
1.6379
0
0.2
0.0212
RV1
2.9
BFM
PGS
RAR
1
PON
20
RV1
43
1
3
37
ANTIDIURECTIC HORMONE CONTROL
RVS
1
s xo
CN7
1.79
RVS
RSM
AUM
RAM
VIM
CAPILLARY MEMBRANE DYNAMICS
2.9
41A
38
AMM
VIM
RAM
96.3
35
ANU
1.6
ARM
AR3
AR1
36
ANU
1
279
280
42
1
1
290
POA
281
282
285
algebraic
loop
breaking
40
1
AVE
lower limit 0.95
ARM
POR
0.06
1
AR1
ANM
1
0.9387
57
HYL
PTS
89
90
91
VIC
PIF
92
VPF
114
0.0125
115
VEC
CHY
39.97
VTW
PRM
-5.9
3
VP
VTW
24.2
12
VTS
0.0125
PULMONARY DYNAMICS AND FLUIDS
RED CELLS AND VISCOSITY
HEART HYPERTROPHY OR DETERIORATION
TISSUE FLUIDS, PRESSURES AND GEL
ELECTROLYTES AND CELL WATER
Obr. 3. Implementace Guytonova diagramu regulace krevního oběhu v Simulinku
Simulační model je proto pouze teoretickým východiskem
k výukovému simulátoru. Od simulačního modelu k interaktivnímu
výukovému simulátoru je poměrně náročná cesta, kterou mohou
usnadnit vhodně zvolené vývojové nástroje a odpovídající technologický
postup [4].
Technologiím tvorby simulátorů, trendům budoucího vývoje, našim
zkušenostem i záměrům v této oblasti jsou věnovány naše dva další
články v tomto sborníku [6, 7].
62 J. Kofránek, J. Rusz. S. Matoušek
6. Literatura
[1]
Guyton AC, Coleman TA, and Grander HJ. (1972): Circulation:
Overall Regulation. Ann. Rev. Physiol., 41, s. 13-41.
[2] Guyton AC, Jones CE and Coleman TA. (1973): Circulatory
Physiology: Cardiac Output and Its Regulation. Philadelphia: WB
Saunders Company,1973.
[3] Hall J.E. (2004): The pioneering use of system analysis to study
cardiac output regulation. Am.J.Physiol.Regul.Integr.Comp.Physiol.
287:R1009-R10011,2004,287: s. 1009-1001.
[4] Kofránek J, Andrlík M, Kripner T, Stodulka P. (2005): From Art to
Industry: Development of Biomedical Simulators. The IPSI BgD
Transactions on Advanced Research 2 (Special Issue on the
Research with Elements of Multidisciplinary, Interdisciplinary, and
Transdisciplinary: The Best Paper Selection for 2005), s.62-67.
[5] Kofránek, J, Rusz, J., Matoušek S., (2007): Guytons Diagram
Brought to Life - from Graphic Chart to Simulation Model for
Teaching Physiology. In Technical Computing Prague 2007. Full
paper CD-ROM proceedings. (P. Byron Ed.), Humusoft s.r.o. &
Institute of Chemical Technology, Prague, ISBN 978-80-78-658-6, 113, 2007. Článek, včetně zdrojových textů programů je dostupný na
adrese http://www.humusoft.cz/akce/matlab07/sbor07.htm#k
[6] Kofránek, J., Privitzer P., Stodulka, P. (2008): Technologie a trendy
tvorby výukových simulátorů. Ibid.
[7] Stodulka, P., Privitzer, P., Kofránek, J. (2008): Jednoduchá
simulační hra krok za krokem aneb od představy k hotovému. Ibid.
[8] Van Vliet, B.N., Montani J.P. (2005):,Circulation and fluid volume
control. In: Integrative Physiology in the Proteomica and Post
Genomics Age. Humana Press, 2005, ISBN 918-1-58829-315-2, s.
43-66
Poděkování
Práce na vývoji lékařských simulátorů je podporována projektem
Národního programu výzkumu č. 2C06031, rozvojovým projektem MŠMT
C34/2008 a společností BAJT servis s.r.o.
Jiří Kofránek
Laboratoř biokybernetiky a počítačové
podpory výuky, ÚPF 1. LF UK, Praha
U nemocnice 5, 128 53 Praha 2
tel: 777686868
e-mail: [email protected]
http://www.physiome.cz
MEDSOFT 2008
Jiří Kofránek, Pavol Privitzer, Petr Stodulka: Technologie a trendy tvorby
výukových simulátorů. In MEDSOFT 2008. (Editor: Milena Ziethamlová) Praha:
Agentura Action M, Praha 2008, str. 37-56. ISBN 978-80-86742-22-9.
Technologie a trendy tvorby výukových simulátorů 37
TECHNOLOGIE A TRENDY TVORBY VÝUKOVÝCH
SIMULÁTORŮ
Jiří Kofránek, Pavol Privitzer, Petr Stodulka
Anotace
Autoři popisují stávající a budoucí technologii vytváření výukových
simulátorů. Zdůrazňují oddělené řešení dvou problémů – tvorbu
simulačních modelů a tvorbu vlastních simulátorů, pro něž musí být
zvoleny různé nástroje. Budoucnost nástrojů pro tvorbu simulačních
modelů vidí v programovacím jazyku Modelica, pro vytváření simulátorů
se orientují na platformu .NET. Plánují vytvořit implementaci vývojového
prostředí Modelicy v platformě .NET. Prozatím vytvořili pro projekt
OpenModelica rozšíření pro konverzi modelu z jazyka Modelica do
jazyka C#.
Klíčová slova
Výukové simulátory, simulační hry, fyziologické modelování, Modelica,
.NET
1. Úvod – škola (simulační) hrou
Výukové programy se simulačními komponentami nejsou jen
multimediální náhradou klasických učebnic. Jsou zcela novou
výukovou pomůckou, kde nachází své moderní uplatnění staré krédo
Jana Ámose Komenského "Schola Ludus" (škola hrou), které tento
evropský pedagog razil již v 17. století. Spojení multimediálního prostředí
se simulačními modely studentům umožňuje pomocí experimentů se
simulačním modelem názorně prozkoumat vykládaný problém ve
virtuální realitě a přináší tak zcela nové možnosti pro vysvětlování
složitých problémů. Simulační hry umožňují názorně vysvětlit komplexní
vztahy ve fyziologických regulačních systémech a kauzální řetězce v
patogenezi nejrůznějších onemocnění.
Vývoj efektivních výukových programů kombinujících multimédia se
simulačními hrami je ale náročnou a komplikovanou prací, vyžadující
týmovou spolupráci řady profesí – zkušených pedagogů vytvářejících
základní scénář, tvůrců simulačních modelů, lékařů, výtvarníků a
programátorů. Tuto interdisciplinární kolektivní tvorbu zefektivňuje
využívání vhodných vývojových nástrojů, které umožňují komponentovou
tvorbu, propojení simulačních programů a interaktivních multimédií podle
daného scénáře do kompaktního celku.
38 J. Kofránek, P. Privitzer, P. Stodulka
Jedním z projektů, kde chceme využít nové možnosti multimédií a
simulačních modelů pro výuku, je počítačový Atlas fyziologie a
patofyziologie 1.
Atlas [7] je koncipovaný jako multimediální výuková pomůcka, která
by názornou cestou prostřednictvím Internetu a s využitím simulačních
modelů měla pomoci vysvětlit funkci jednotlivých fyziologických systémů,
příčiny a projevy jejich poruch. Viz http://physiome.cz/atlas. Atlas je
vytvářen jako společné dílo tvůrčího týmu odborníků různých profesí lékařů, programátorů, systémových inženýrů a výtvarníků 2. Projekt
atlasu je otevřený – jeho výsledky v českém jazyce na internetu volně
zpřístupňujeme všem zájemcům a při jeho vývoji uvítáme spolupráci se
všemi, kdo se budou chtít podílet na jeho postupném budování.
Ukažme si nyní, co vytváření obdobné interaktivní výukové
pomůcky vyžaduje, co je v zákulisí tvorby výukových simulátorů a jaké
jsou současné i budoucí možnosti technologií, které tvorbu těchto
moderních výukových pomůcek usnadňují.
2. Scénáristé výukových her
Obdobně jako sebelepší učebnice zcela nenahradí učitele, tak ho
nevytlačí ani seberafinovanější výukový program. A stejně tak jako
klíčovým faktorem pro úspěch vysokoškolských učebnic je schopnost
jejich autorů názorně a věcně správně vyložit složitou látku, tak pro zdar
výukového programu je nejdůležitější jeho kvalitní scénář. Napsat dobrý
učební text vysvětlující složité procesy není jednoduché a veškeré
pomůcky (multimédia, interaktivní animace, simulační modely apod.) –
tedy vše co si lze představit pod donekonečna omílaným slovem
e-learning – jsou bez dobrého scénáře vlastního výukového programu či
bez zkušeného učitele, který ví, jak složitý simulační model pedagogicky
využít, jen pouhou módní ozdobou.
Zkušenosti s využitím simulátorů ve výuce ukazují, že
sebesložitější simulátor je bez doprovodu jasného scénáře jeho
výukového využití jen těžko ovladatelným počítačovým "Frakensteinem".
Příkladem z poslední doby může být simulátor "Quantitative Circulatory
Physiology" [1] a jeho nástupce, v současné době snad nejsložitější
model fyziologických regulací, "Quantitative Physiological Human" 3, který
umožňuje vhodným nastavováním cca 750 parametrů simulovat
nejrůznější patologické stavy. Autoři simulátoru ho na své univerzitě s
úspěchem využívají ve výuce. Pro ty, kdo složitý simulátor dobře neznají,
je však sledování stovek proměnných nadmíru obtížné.
1
http://www.physiome.cz/atlas
více o technologii výstavby atlasu: http://www.physiome.cz/atlas/info/01/index.htm
3
dá se stáhnout z adresy: http://physiology.umc.edu/themodelingworkshop/
2
Technologie a trendy tvorby výukových simulátorů 39
Z vlastní zkušenosti víme, že pro autory je mnohem kreativnější
zamýšlet se nad vylepšením struktury a funkce vlastního simulátoru, než
psaní učebních textů a návodů. Bez jasně popsaného scénáře
pedagogického využití rafinovaně složitého simulátoru však úsilí, které
tvůrci po léta věnují jeho výstavbě, nepřináší kýžený pedagogický efekt.
Pro efektivní využití simulátorů by proto scénáře jejich využití ve výuce
neměly být opomíjeny.
U složitých simulátorů je z pedagogického hlediska výhodné, když
modelovaný objekt můžeme rozdělit na jednotlivé subsystémy a testovat
jejich chování odděleně i jako součást vyššího celku. Tím studentům
umožníme sledovat dynamiku chování jednotlivých subsystémů při
postupných změnách pouze jediného vstupu, zatímco jiné vstupy jsou
nastaveny na zvolenou konstantní hodnotu (tzv. princip "ceteris
paribus"). Postupně pak můžeme jednotlivé dočasně rozpojené
regulační vazby opět zapojovat a studovat jejich vliv na chování
organismu při nejrůznějších patologických poruchách a reakcích na
příslušnou terapii. Tak například v našem simulátoru Golem [6] můžeme
postupně odpojovat a zapojovat jednotlivé regulační smyčky ovlivňující
homeostázu vnitřního prostředí a tím postupně testovat význam
jednotlivých regulačních okruhů a ozřejmit si tím například souvislosti
poruch iontové a acidobazické rovnováhy. Podle našich zkušeností
právě tento přístup vede k lepšímu pochopení složitých dynamických
jevů v patogenezi nejrůznějších onemocnění a porozumění
patofyziologických principů příslušných léčebných zásahů.
Ideální je, když jsou simulátory přímo začleněni do multimediálního
výukového programu ve formě simulační hry. Příkladem jsou simulační
hry ve výše zmiňovaném Atlasu fyziologie a patofyziologie, o nichž jsme
referovali na minulých dvou seminářích MEDSOFT.
Pro začlenění multimediálních animací do simulačních her a
výkladu je podkladem pro tvorbu scénáře nejen (hyper)textová část, ale i
jakýsi "storyboard", který, obdobně jako při produkci kresleného filmu,
naznačuje výtvarníkům, jaké mají vytvářet animované obrázky. Důležité
je i vytvoření grafického manuálu, který sjednotí grafickou podobu celé
aplikace.
2. Dva typy problémů – dva druhy nástrojů
Při vytváření simulátorů a výukových simulačních her je nutno řešit
dva typy problémů:
1. Tvorba simulačního modelu – vlastní teoretická výzkumná práce,
jejímž výsledkem je formalizace fyziologických vztahů vyjádřená
matematickým modelem.
40 J. Kofránek, P. Privitzer, P. Stodulka
2. Tvorba vlastního multimediálního simulátoru a výukového
programu využívajícího simulační hry – vývojová práce, která
navazuje na vytvořené (a verifikované) matematické modely.
Obr. 1 Dva typy problému při tvorbě výukových simulátorů
Tvorba simulačního modelu i tvorba simulátoru spolu navzájem
úzce souvisejí (viz obr. 1). Předpokladem pro tvorbu výukového
simulátoru je dostatečně dobře verifikovaný model a na druhou stranu
využití simulátoru ve výuce přináší nové požadavky na vytvoření nových
či modifikaci stávajících simulačních modelů. Každý z těchto problémů
má svou specifiku a je proto výhodné pro každou etapu použít zcela
odlišné vývojové nástroje.
Vytvoření vlastního simulátoru je spíše vývojářskou prací, která
vyžaduje skloubit nápady a zkušenosti pedagogů, vytvářejících scénář
výukového programu, kreativitu výtvarníků, vytvářejících interaktivní
multimediální komponenty a úsilí programátorů, kteří "sešijí" výsledné
dílo do konečné podoby.
Formalizace fyziologických vztahů a vytváření simulačního modelu
není vývojářský, ale (poměrně náročný) výzkumný problém, jehož
efektivní řešení vyžaduje použít adekvátní nástroje. Těchto nástrojů je
celá řada – od profesionálních firemních nástrojů např. Matlab/Simulink
Technologie a trendy tvorby výukových simulátorů 41
od firmy Mathworks, které používáme v naší laboratoři až po nástroje
typu open-source, jako např. JSIM [8, 9], vyvíjený na Washington
University a používaný pro knihovnu fyziologických modelů v rámci
celosvětového projektu Physiome 4, koordinujícího aktivity v oblasti
formalizace popisu fyziologických regulací [2,4].
Někdy se nástroje pro tvorbu simulačních modelů zároveň
využívají i jako nástroje pro tvorbu výukových simulátorů. To ovšem v
konečném důsledku vede k určitému omezení, danému výrazovými
prostředky, které má příslušný vývojový nástroj k dispozici. Častější je
opačná situace – programování simulačního modelu přímo v prostředí
běžného programovacího jazyka na základě struktury modelu známé z
literatury. To je obvykle možné u jednodušších modelů. U složitějších
simulátorů je tento postup obtížnější, protože struktura rozsáhlých
simulačních modelů se ne vždy kompletně zveřejňuje (rovnice modelu
ne často stávají technologickým know-how), a vytvářet a ladit rozsáhlejší
simulační model pouze v prostředí standardního programovacího jazyka
(Java, C, C#...) je zdlouhavé.
Jestliže pro tvorbu simulačních modelů a pro vytváření vlastního
simulátoru používáme odlišné vývojové nástroje, pak musíme zajistit
dostatečně flexibilní přenos výsledků z jednoho vývojového
prostředí do druhého. Tak např. modifikujeme-li simulační model v
některém nástroji pro tvorbu simulačních modelů, je výhodné zajistit, aby
se změny v modelu bez větších potíží mohly rychle promítnout do
aktualizace těchto změn ve vlastním simulátoru. U jednodušších modelů
je možné změny ručně přeprogramovat. U složitějších modelů je však
pracnost a pravděpodobnost zavlečení chyby příliš vysoká.
K usnadnění přenosu z jednoho vývojového prostředí do druhého
je proto vhodné vytvořit si softwarové pomůcky.
V naší laboratoři (obr. 2) jsme při vytváření a verifikaci
simulačních modelů sáhli po profesionálních nástrojích firmy
Mathworks (Matlab, Simulink a příslušné aplikační knihovny) a v
poslední době i po velmi nadějném simulačním jazyku Modelica, pro něž
dotváříme i některé vlastní komponenty vývojového prostředí.
Při vytváření vlastního simulátoru využíváme standardní vývojová
prostředí pro tvorbu a vývoj interaktivní grafiky (např. Adobe Flash),
nástroje pro tvorbu softwarových a webových komponent Visual Studio
.NET a prostředí pro návrh a programování interaktivní grafiky v jazyce
ActionScript, jako je např. Adobe Flex. V minulosti jsme výukové
simulátory vyvíjeli také pomocí nástroje pro vytváření průmyslových
aplikací Control Web.
Pro propojení obou skupin vývojových nástrojů jsme vyvinuli
vlastní softwarové nástroje pro automatizaci přenosu simulačních
4
viz http://physiome.org/jsim/
42 J. Kofránek, P. Privitzer, P. Stodulka
Automatické
generování
modelu jako
virtuálního
řadiče
Model
jako
virtuální
řadič
Vývoj simulátoru
(programátorská
práce)
Tvorba
simulačního
modelu v
prostředí
Matlab/Simulink
Automatické
generování
modelu jako
.NET
assembly
Řídící
vrstva
Model
jako .NET
assembly
Tvorba animací
(v Adobe Flash)
Interaktivní
animace
Interaktivní
animace
Vývojové prostředí
Control Web
Řídící
vrstva
Vývojové
prostředí
Microsoft
VisualStudio.NET
Distribuce
simulátorů
Tvorba scénářů
výukových programů
využívajících simulační
hry a simulátory
Obr. 2 Kreativní propojení nástrojů a aplikací pro tvorbu simulátorů a
výukových programů využívajících simulační hry.
modelů, vytvořených v prostředí Matlab/Simulink do vývojových
prostředí Microsoft Visual Studio .NET a do Control Web [10].
3. Nové trendy a nové výzvy
Zdá se, že pomalu končí doba, kdy vytváření výukových programů
bylo otázkou entuziasmu a píle skupin nadšenců. Tvorba moderních
biomedicínských výukových aplikací je náročný a komplikovaný projekt,
vyžadující týmovou spolupráci řady profesí – zkušených pedagogů
vytvářejících základní scénář, tvůrců simulačních modelů, lékařů,
výtvarníků a programátorů. Aby tato interdisciplinární kolektivní tvorba
byla efektivní, je nutno pro každou etapu tvorby využívat specifické
vývojové nástroje s dostatečnou technickou podporou, které umožňují
komponentovou tvorbu simulačních modelů, vytváření interaktivních
multimédií a jejich závěrečné propojení podle daného scénáře do
kompaktního celku a začlenění do výukových multimediálních programů,
dostupných prostřednictvím internetu.
Technologie a trendy tvorby výukových simulátorů 43
Zároveň se objevují technologie, které propojení simulačních
nástrojů, programového prostředí, multimédií a internetu podstatně
usnadňují. Byl také učiněn velký pokrok ve vývojových softwarových
prostředích, které dnes dávají malému týmu programátorů takové
možnosti, které dříve měly pouze větší softwarové firmy.
To nás vedlo k určitému přehodnocení našeho dosavadního
technologického postupu při tvorbě výukových simulátorů (popsaného na
obr. 2).
4. Modelica versus Simulink – dřinu lidem versus dřinu
strojům
Dlouho jsme pro vývoj simulačních modelů používali výlučně
nástroje Matlab/Simulink od firmy Mathworks. Tyto nástroje dnes patří
mezi osvědčené průmyslové standardy.
V poslední době se nicméně pro modelování systémů stále více
začíná používat nový objektově orientovaný programovací jazyk
Modelica. Byl původně vyvinut ve Švédsku a nyní je dostupný jak ve
verzi open-source (vyvíjené pod záštitou mezinárodní organizace
Modelica Association, http://www.modelica.org/), tak i ve dvou
komerčních implementacích – od firmy Dynasim AB (prodává se pod
názvem Dymola) a od firmy MathCore (prodává se pod názvem
MathModelica).
Zásadní inovaci, kterou na rozdíl od námi dosud používaného
Simulinku Modelica přináší je deklarativní (a tedy akauzální) zápis
modelů, kdy jednotlivé části modelu popisujeme přímo jako rovnice
a nikoli jako algoritmus řešení těchto rovnic.
Rozdíl mezi modelováním v Simulinku a v Modelice si ilustrujme na
malém příkladu.
Uvažujme jednoduchý model mechaniky plic, který schematicky
zobrazuje obr. 3. Plíce si ve velkém zjednodušení představíme jako tři
vaky propojené dvěma trubicemi. Plíce jsou připojeny k ventilátoru umělé
plicní ventilace, který periodicky vhání tlakem PAO vzduch do plic. P0 je
tlak okolní atmosféry. Proud vzduchu Q proudí skrze horní cesty
dýchací, jejichž odpor je RC. Z horních cest dýchacích se vzduch prodírá
dolními dýchacími cestami do alveolů. Odpor dolních dýchacích cest je
RP, tlak v centrálních partiích dýchacích cest (na rozhraní horních a
dolníh dýchacích cest) je PAW, tlak v alveolech je PA.
Vzduch roztahuje plicní alveoly, jejichž poddajnost je CL (jako
celková poddajnost plic). Mezi plícemi a hrudním košem je interpleurální
dutina. Tlak v ní je PPL. Při umělé plicní ventilaci, kdy se pod tlakem
44 J. Kofránek, P. Privitzer, P. Stodulka
vhání vzduch do plic, se ještě musí roztáhnout hrudník – poddajnost
hrudníku je CW. Malá část vzduchu, která se nedostane až do alveolů,
pouze roztahuje dýchací cesty – jejich poddajnost je CS (prodýchávání
tzv. mrtvého prostoru).
PAO
RP
RC
Q
QA
PAW
CL
PA
CW
PPL
P0
Q-QA
P0
CS
Q
QA
PAW
PAO
RC
Q-QA
RP
CS
PA
CL
PPL
CW
P0
Obr. 3 Jednoduchý model plicní mechaniky (hydraulická a elektrická
analogie)
Nyní si můžeme sestavit rovnice. Podle Ohmova zákona musí
platit:
PAW − PA = RP QA
PAO − PAW = RC Q
(1)
Vztah mezi poddajností, tlakovým gradientem a objemem (vyjádřeným
jako integrál průtoku) vyjadřují rovnice:
1
QA dt
CL ∫
1
PPL − P 0 =
QA dt
CW ∫
1
(Q − QA) dt
PAW − P 0 =
CS ∫
PA − PPL =
(2)
Technologie a trendy tvorby výukových simulátorů 45
Podle zobecněného Kirchhoffova zákona musí být součet všech tlaků
(napětí) podél uzavřené smyčky rovný nule, tj. ve smyčce podél uzlu
PAW a podél uzlu PA0 musí platit:
( PAW − PA) + ( PA − PPL) + ( PPL − P0) + ( P0 − PAW ) = 0
( PAO − PAW ) + ( PAW − P0) + ( PO − PAO ) = 0
Po dosazení z rovnic Ohmova zákona a poddajností dostaneme:

1 
1
 1
(Q − QA) dt = 0
+
 QA dt −
 RP QA + 

CL
CW
CS



Q RC + 1 (Q − QA) dt + ( P0 − PAO) = 0

CS
∫
∫
(3)
∫
4.1 Modelování v Simulinku
Mux
respm2.mat
Mux
To File
1/s
Integrator
Volume vs time
Q vs time
Pao vs time
Pao
Q
1
Ventilator
QA
1/Rc
Sum
Sum1
1/s
Integrator1
Qs
-KPaw
Memory
du/dt
CS
dPaw/dt
PA
0.5
Rp
1/CL
PAW
Sum3
1/0.2
Sum2
1/0.2
1/Cw
Obr. 4 Implementace modelu v Simulinku podle rovnic (3).
46 J. Kofránek, P. Privitzer, P. Stodulka
Stavíme-li model v Simulinku, musíme přesně určit postup výpočtu
ze vstupních proměnných na výstupní. Chceme-li počítat reakci toku
vzduchu do/z plic (Q) na vstup – tj. na změny tlaku na začátku dýchacích
cest (PAO) způsobované aparátem umělé plicní ventilace – bude
simulinkový model vypadat jako na obr. 4.
Simulinkový model můžeme vyjádřit i jednodušeji. Nejprve z
rovnice (3) dostaneme diferenciální rovnici (vstupní proměnná PAO,
výstupní Q):
d 2 PAO
dPAO
d 2Q  1
RC  dQ
1
1  1
1 
Q (4)


RC
+
+
+
=
+ 
+
2
2
RP CT dt
RP CS  CL CW 
dt
dt
 CS RP CT  dt
Při zadání číselných parametrů odporů (v jednotkách cm H2O/L/sec) a
poddajností (v jednotkách L/cmH2O) [5]:
RC = 1; RP = 0,5; CL = 0,2; CW = 0,2; CS = 0,005
se rovnice (4) zjednoduší:
d 2 PAO
dPAO d 2 Q
dQ
420
620
+
=
+
+ 4000 Q
dt
dt
dt 2
dt 2
(5)
V Laplaceově transformaci rovnice (5) dostaneme:
Q( s)
s 2 + 420 s
=
PAO( s ) s 2 + 620 s + 4000
(6)
To umožní simulinkový model zjednodušit (obr. 5):
PAO vs time
s2 +420s
Ventilator
PAO
s2 +620s+4000
Respiratory Mechanics
Mux
respm1.mat
Mux
To File
1/s
Integrator
Q
Volume vs time
Q vs time
Obr. 5 Implementace modelu v Simulinku s využitím Laplaceovy
transformace podle rovnice (6).
Technologie a trendy tvorby výukových simulátorů 47
Při změnách hodnot parametrů ale se musí transformační funkce (6)
přepočítat a simulinkový model se změní.
Nyní model mírně zesložitíme tak, že budeme uvažovat inerci
vzduchu v horních dýchacích cestách (obr. 6).
RP
RC LC
Q
PAW
PAO
QA
CW
CL
PA
PPL
P0
Q-QA
P0
CS
Q
PAW
QA
RP=0,5
RC=1
LC=0,01
CS=0,005
Q-QA
PA
CL=0,2
PPL
CW=0,2
P0
Obr. 6 Jednoduchý model plicní mechaniky s uvažovánim inerce
(hydraulická a elektrická analogie)
Nyní navíc uvažujeme inerční element LC=0,01 cm H2O s2 L-1:
LC =
∆P
dQ
dt
dQ
dt je
kde ∆P je tlakový gradient a
zrychlení průtoku, neboli:
dQ
∆P = LC
dt
Potom místo soustav rovnic (3) dostaneme:

1 
1
dQA  1
(Q − QA) = 0
+
+
−
RP
QA



dt
CS
 CL CW 

2
 RC dQ + LC d Q + 1 (Q − QA) + dP0 − dPAO = 0

dt
dt 2 CS
dt
dt
(7)
(8)
48 J. Kofránek, P. Privitzer, P. Stodulka
Místo rovnice (5) dostaneme:
d 2 PAO
dPAO
d 3Q
d 2Q
dQ
+ 420
= 0,01 3 + 5,2 2 + 620
+ 4000 Q
2
dt
dt
dt
dt
dt
(9)
a v Laplaceově transformaci dostaneme:
Q( s )
s 2 + 420s
=
PAO( s ) 0,01s 3 + 5,2s 2 + 620s + 4000
(10)
Simulinkový model se změní (obr. 7):
PAO vs time
Ventilator
PAO
s2 +420s
3
0.01s +5.2s2 +620s+4000
Respiratory Mechanics
Mux
respm1.mat
Mux
To File
1/s
Integrator
Q
Volume vs time
Flow vs time
Obr. 7 Implementace modelu v Simulinku s využitím Laplaceovy
transformace podle rovnice (10).
Díky tomu, že v Simulinku musíme vždy uvažovat směr výpočtu, je
vlastní Simulinkové schéma dosti vzdáleno skutečné fyzikální realitě
popisovaného systému. I malá změna v modelu, jako je přidání inerčního
elementu, nutí k pečlivém propočtu a změně struktury modelu. K zásadní
změně modelu dojde i tehdy, pokud bychom místo umělé plicní ventilace
uvažovali spontánní dýchání. Vstupem modelu pak nebude tlak PAO
vytvářený respirátorem umělé plicní ventilace, ale například poddajnost
hrudní stěny CW (cyklickou změnou poddajnosti se dá modelovat funkce
dechových svalů).
Simulink pracuje s propojenými bloky. V propojkách mezi
jednotlivými bloky tečou signály, které přenášejí hodnoty jednotlivých
proměnných od výstupu z jednoho bloku ke vstupům do dalších bloků. V
blocích dochází ke zpracování vstupních informací na výstupní.
Propojení bloků v Simulinku proto odráží spíše postup výpočtu a
nikoli strukturu modelované reality.
Technologie a trendy tvorby výukových simulátorů 49
4.1 Modelování v Modelice
V Modelice je to jinak. Místo bloků Modelica pracuje s propojenými
komponenty, které představují instance jednotlivých tříd.
Na rozdíl od implementace tříd v jiných objektově orientovaných
jazycích (jako jw C#, Java apod.), mají třídy v Modelice navíc zvláštní
sekci, v níž se definují rovnice.
Rovnice neznamenají přiřazení (tj. uložení výsledku výpočtu
přiřazovaného příkazu do dané proměnné), ale definici vztahů mezi
proměnnými (tak, jak je v matematice a fyzice zvykem).
Komponenty (instance tříd) se mohou v Modelice propojovat
prostřednictvím přesně definovaných rozhraní – konektorů. Konektory
jsou instance konektorových tříd, v nichž se definují proměnné,
používané pro propojení.
Propojovat se mohou konektory, patřící ke stejným konektorovým
třídám (v nichž se tak mohou propojovat proměnné patřící k
ekvivalentním typům). Jinak řečeno – v propojení typ zástrček musí
přesně odpovídat typům zásuvek.
Důležité je to, že propojením komponent vlastně dochází k
propojení soustav rovnic v jednotlivých komponentách mezi sebou.
Je-li v konektoru propojených komponent definována stejná proměnná (a
nereprezentuje-li tok – viz dále) propojením definujeme, že hodnota této
proměnné bude ve všech komponentách stejná. Je-li tato proměnná
součástí rovnic v propojených komponentách, propojením zároveň
definujeme propojení rovnic, v nichž se tato proměnná vyskytuje.
V bodě, kde je propojeno více komponent, musí být hodnoty
proměnných propojených přes společný bod stejné (analogicky jako
napětí na společné svorce v elektrických obvodech musí odpovídat
prvnímu Kirchoffovu zákonu).
Ale nejenom to.
V konektoru můžeme definovat, že některé propojované proměnné
budou reprezentovat tok (flow) – pak to bude znamenat, že hodnoty
všech takto označených proměnných budou ve všech komponentách
propojených ve stejném bodě nastaveny na takovou hodnotu, aby jejich
algebraický součet se rovnal nule (analogicky jako součet proudů na
společné svorce v elektrických obvodech musí odpovídat druhému
Kirchoffovu zákonu).
Je-li takto označená proměnná součástí rovnic v propojených
komponentách, přidáváme tak do propojené soustavy rovnic další
rovnici, definující požadavek nulovosti algebraického součtu hodnot této
proměnné)
50 J. Kofránek, P. Privitzer, P. Stodulka
e
∫
e=Rf
C
q=Ce
R
p
p=Lf
q
∫
L
f
Obr. 8 Vztahy mezi zobecněnými systémovými vlastnostmi
•
•
•
•
•
e znamená zobecněné úsilí (effort) – v mechanice mu odpovídá síla, v
elektrických schématech napětí, v hydraulice tlak atd.
f je zobecněný tok (flow) – v mechanice mu odpovídá rychlost, v
elektrických schématech proud, hydraulice průtok a v termodynamice
teplotní tok apod.
q je zobecněná akumulace,či výchylka, reprezentuje integrál zobecnělého
toku. V mechanice jí např. odpovídá natažení pružiny, v hydraulice objem
tekutiny, v elektrických schématech náboj, v termodynamice
naakumulované teplo atd.
p je zobecněná hybnost (inertance) - integrál zobecnělého úsilí,
reprezentující kinetickou energii, v hydraulice představuje změnu rychlosti
proudu úměrnou rozdílu tlaků (průtočnou hybnost), v elektrických obvodech
potenciál nutný ke změně elektrického proudu (indukce) apod.
R, C a L představují konstanty úměrnosti mezi jednotlivými zobecněnými
systémovými vlastnostmi. jednotlivými
zobecnělými systémovými
vlastnostmi. jednotlivými zobecnělými systémovými vlastnostmi. Odpovídá
jim např. odpor, kapacitance či hmotnost.
Propojením modelicových komponent tedy nedefinujeme
postup výpočtu, ale modelovanou realitu. Způsob řešení rovnic pak
"necháváme strojům".
Zobrazení modelu v Modelice tak více připomíná fyzikální realitu
modelovaného světa než propojená bloková schémata v Simulinku.
Souvisí to se zobecněnými systémovými vlastnostmi reálného
světa (obr. 8) v nichž hrají důležitou roli zobecnělé úsilí (v reálném světě
Technologie a trendy tvorby výukových simulátorů 51
mu odpovídá síla, tlak, napětí apod.) a zobecněný tok (jemuž v reálném
světě mu odpovídá proud, průtok aj.).
Zobrazujeme-li v Modelice realitu propojenými komponenty, pak
pro tokové proměnné musí hodnota v bodě propojení odpovídat
druhému Kirchhoffovu zákonu (proud se nemůže v propojení akumulovat
ani ztrácet) a pro ostatní proměnné musí ve společném propojovacím
bodě platit rovnost (podle prvního Kirchhoffova zákona).
Modelica obsahuje knihovny nejrůznějších tříd pro modelování
elektrických, mechanických a hydraulických objektů reálného světa.
Jednoduchý model mechaniky dýchání podle obrázku 3 můžeme v
Modelice vyjádřit velmi přímočaře. Zobrazení vztahů odporu, tlakového
gradientu a průtoku podle rovnice (1) a vztahů poddajnost, tlaku a
průtoku podle rovnice (2) pak v Modelice vypadá takto:
Obr. 9 Jednoduchý model plicní mechaniky podle obr. 3 v Modelice
Zesložitění modelu přidáním inerčního elementu (dle rovnice 7 a obr. 6 je
jednoduché:
Obr. 10 Změněný model plicní mechaniky po přidání inerčního prvku
52 J. Kofránek, P. Privitzer, P. Stodulka
V daném případě jsme pro rychlé sestavení modelu využily vizuální
komponenty elektrických obvodů, nic ale nebrání vytvořit jiný tvar ikon,
reprezentujících jednotlivé odporové, kapacitní a inerční elementy v
plicích. Zdaleka nejde jen o obrazové ikony. Modelica je objektový jazyk
a nic nebrání sestavit speciální třídy, a jejich pomocí např. modelovat
toky kyslíku a oxidu uhličitého (s uvažováním vazby kyslíku na
hemoglobin, přeměny CO2 na bikarbonát, vlivu acidobazické rovnováhy
na přenos krevních plynů apod.).
Vytvoření knihovny fyziologických vztahů je jedním z našich
budoucích cílů. Plánujeme převést (a dále v Modelice rozšířit) naši
simulinkovou knihovnu fyziologických vztahů Physiology Blockset
(www.physiome.cz/simchips).
Vzhledem k tomu, že ve fyziologických modelech se vyskytuje celá
řada vztahů (které v Simulinku vedou na řešení implicitních rovnic) je
akauzální popis modelovaných vztahů, používaný v Modelice, velkou
výhodou. Akauzální popis mnohem lépe vystihuje podstatu modelované
reality a simulační modely jsou mnohem čitelnější, a tedy i méně
náchylné k chybám. Pro modelování fyziologických systémů je proto
Modelica velice vhodným prostředím.
5 WPF animace - loutky na nitích modelů v .NET
Pro vytváření uživatelského rozhraní výukového simulátoru je velmi
vhodné simulátor navenek reprezentovat jako pohyblivý obrázek.
Animované obrázky mohou být řízeny výstupy implementovaného
simulačního modelu a graficky reprezentovat význam číselných hodnot.
Např. schematický obrázek cévy se může roztahovat nebo komprimovat,
plicní sklípek může hlouběji či mělčeji "dýchat", ručička měřícího přístroje
se může pohybovat a průběžně zobrazovat hodnotu výstupní proměnné
modelu čtené ze simulačního modelu běžícího na pozadí.
Na druhou stranu můžeme přes vizuální prvky (nejrůznější tlačítka,
knoflíky, táhla apod.) do simulačního modelu zadávat vstupy.
Proto simulační model implementovaný v simulátoru propojujeme s
multimediální animací prozatím vytvářenou pomocí Adobe Flash.
Jednou z klíčových platforem pro tvorbu simulátorů je prostředí .NET. Do
tohoto prostředí vkládáme Flashové animace jako ActiveX komponentu.
V nové platformě .NET Framework 3.0 je k dispozici nové grafické
prostředí WPF (Windows Presentation Foundation). Při tvorbě
uživatelského rozhraní programů nahrazuje Windows Forms a navíc
umožňuje vytváření animací plně integrovaných s vlastním programem.
Tím padá technologická bariéra mezi .NET a interaktivními animacemi,
kterou jsme překlenovali v případě ActiveX komponent s Flashovými
animacemi.
Technologie a trendy tvorby výukových simulátorů 53
WPF umožňuje těsnější integraci a přesnější řízení animací a
vizualizací než ActiveX. Jednou z klíčových vlastností je možnost
spouštět aplikace přímo v okně webového prohlížeče.
Proto další technologickou inovací je postupný přechod od
Flashových animací k animacím vytvářeným v prostředí WPF.
To samozřejmě neznamená, že se Flashových animací zcela
vzdáváme (ještě dlouho bude řada výtvarníků umět kreslit animace v
prostředí Flash a nikoli v prostředí WPF). Pouze si myslíme, že
budoucnost (alespoň v prostředí .NET) bude mít WPF, na něž se
chceme orientovat. Toto prostředí umí dokonale rozčlenit rozhraní
určené pro výtvarníka a rozhraní určené pro programátora – tvůrce
aplikace.
Logika propojení animace a simulačního modelu v simulátoru bývá
poměrně složitá. Proto je vhodné mezi vrstvu vizuálních elementů a
vrstvu simulačního modelu vložit řídící vrstvu, která na jednom místě řeší
veškerou logiku komunikace uživatelského rozhraní s modelem. V této
vrstvě se řeší veškerý kontext zobrazovaných dat a příslušné požadavky
na komunikaci s modelem.
U složitějších simulátorů tato vrstva mimo jiné řeší nastavování
parametrů simulačního modelu v závislosti na zvoleném scénáři (např.
při modelování patogenezy různých patologických stavů nebo
terapeutických
zásahů,
při
rozpojování
a
opětovném
spojování regulačních smyček
Vrstva
během vysvětlování jednotlivých
uživatelského
fyziologických regulací apod.).
rozhraní
Důležité je, že veškerá logika
zobrazování a komunikace je
pak soustředěna do jednoho
místa, což podstatně ušetří čas
při modifikacích uživatelského
rozhraní nebo změnách modelu.
Řídící
Stavový
vstupy
výstupy
vrstva
V literatuře se hovoří o tzv.
automat pro
určení kontextu
MVC architektuře výstavby
simulátorů (Model – View –
Controller). Toto uspořádání je
Vrstva
modelu
nezbytné zejména při složitějších
Simulační model
modelech a simulátorech, jejichž
uživatelské
zobrazení
je
reprezentováno
mnoha
Obr. 11 MVC architektura při tvorbě virtuálními přístroji na více
propojených
obrazovkách.
simulátorů.
Výhody
tohoto
uspořádání
54 J. Kofránek, P. Privitzer, P. Stodulka
zvláště vyniknou při modifikacích jak modelu, tak i uživatelského
rozhraní.
Při návrhu řídící vrstvy, která propojuje vrstvu simulačního modelu
s uživatelským rozhraním, se nám velmi osvědčilo využít propojené
stavové automaty (jejichž pomocí je možno zapamatovat si příslušný
kontext modelu a kontext uživatelského rozhraní).
Vytvořili jsme proto speciální softwarový nástroj, pomocí kterého
můžeme propojené stavové automaty vizuálně navrhovat, interaktivně
testovat jejich chování a automaticky generovat zdrojový kód programu
pro prostředí Microsoft .NET. Tento nástroj umožňuje zefektivnit
programování propojení simulačního modelu s vizuálními objekty
uživatelského rozhraní ve výukovém simulátoru.
5 Náš cíl: Modelica .NET
Základní platformou, na níž se orientujeme při vytváření simulátorů,
je platforma .NET a WPF. Prozatímní nevýhodou je to, že nejnovější
verze tohoto frameworku je zatím k dispozici pouze pro Windows XP a
vyšší. Takto to ale nebude natrvalo. Nastupující platforma MS Silverlight,
založená na technologii WPF, přinese plug-in pro internetové prohlížeče
a do značné míry zpřístupní tuto technologii i pro jiné operační systémy
jako OS Mac či Linux.
Pro publikaci simulačních her využijeme schopnost .NET aplikací
běžet přímo v okně webového prohlížeče. Výuková aplikace se
transparentně nahraje do paměti počítače a spustí se v bezpečném
prostředí, tzv. security sandboxu.
Pro bezešvou technologii vytváření výukových simulátorů
potřebujeme propojit Modelicu a prostředí .NET. Proto jsme se pustili
do ambiciózního úkolu: implementovat Modelicu a vytvořit příslušné
vývojové prostředí pro tvorbu modelů a simulátorů na platformě .NET.
Toto prostředí by mělo umožňovat spolupráci více lidí na tvorbě modelu.
Vývojové prostředí by mělo běžet v prohlížeči uživatele, který bude
komunikovat se serverem na němž poběží kompilátor jazyka Modelica
(OCM - Open Modelica Compiler).
Pro projekt OpenModelica jsme zatím vytvořili rozšíření pro
konverzi modelicového modelu do jazyka C#, který je dostupný na
adrese http://patf-biokyb.lf1.cuni.cz/wiki/modelica.net.
Tento nástroj umožňuje převádět model vytvořený v Modelice do
podoby třídy napsané v jazyce C#. Tato třída obsahuje soustavu
diferenciálních rovnic (reprezentujících model) převedenou do
explicitního tvaru vhodného pro řešení pomoci ODE solveru.
Technologie a trendy tvorby výukových simulátorů 55
Pro demonstraci jednotlivých kroků naší nové technologie jsme
vytvořili jednoduchou výukovou aplikaci, jejíž vytváření popisujeme v
samostatném příspěvku ve sborníku této konference [11].
6 Závěr
Zdá se, že pomalu končí doba, kdy vytváření výukových programů
bylo otázkou entuziasmu a píle skupin nadšenců. Tvorba moderních
biomedicínských výukových aplikací je náročný a komplikovaný projekt,
vyžadující týmovou spolupráci řady profesí – zkušených pedagogů
vytvářejících základní scénář, tvůrců simulačních modelů, lékařů,
výtvarníků a programátorů. Aby tato interdisciplinární kolektivní tvorba
byla efektivní, je nutno pro každou etapu tvorby využívat specifické
vývojové nástroje, s dostatečnou technickou podporou, které umožňují
efektivní tvorbu simulačních modelů, programování výukových
simulátorů, kreslení interaktivních multimédií a jejich závěrečné
propojení všech komponent podle daného scénáře do kompaktního
celku. K ovládnutí těchto nástrojů i vytvoření jejich technologického
propojení je zapotřebí věnovat značné úsilí, které se ale nakonec vyplatí.
Nové technologie přinášejí pro tvorbu výukových simulátorů nové
možnosti i nové výzvy. Jednou z nich je objektový jazyk Modelica, který
podle našeho názoru podstatným způsobem usnadní modelování tak
složitých a komplexních systémů jakými jsou fyziologické systémy.
Druhou výzvou jsou nové možnosti platformy .NET a WPF.
Budoucnost (a naše další práce) ukáže, zda a jak se tyto nové
možnosti uplatní.
7 Literatura
[1]
[2]
[3]
[4]
[5]
Abram, S. R., Hodnett, B. L., Summers, R. L., Coleman, T. G.,
Hester R.L. (2007). Quantitative Circulatory Physiology: An
Integrative Mathematical Model of Human Physiology for medical
education. Advannced Physiology Education, 31 (2), 202 - 210.
Bassingthwaighte J. B. (2000). Strategies for the Physiome Project.
Annals of Biomedical Engeneering 28, 1043-1058.
Fritzon, P. (2004): Principles of object oriented modeling and
simulation with modelica 2.1. IEE Press, A. John Willey & Sons Inc.
Publication, New York, 2004, ISBN 0-471-47163-1
Hunter P. J., Robins, P., & Noble D. (2002) The IUPS Physiome
Project. Pflugers Archive-European Journal of Physiology, 445, s.1–
9
Kho M.C.K. (2000) Physiological control systems,.IEE Press, New
York 2000, ISBN 0-7808-3408-6
56 J. Kofránek, P. Privitzer, P. Stodulka
[6]
Kofránek, J. Anh Vu, L. D., Snášelová, H., Kerekeš, R., & Velan, T
(2001): GOLEM – Multimedia simulator for medical education. In
Patel, L., Rogers, R., Haux R. (Eds.). MEDINFO 2001, London: IOS
Press, 1042-1046.
[7] Kofránek, J., Matoušek, S., Andrlík, M., Stodulka, P., Wünsch, Z.,
Privitzer, P., Hlaváček, J., Ondřej Vacek, O. (2007): Atlas of
physiology - internet simulation playground. In. Proceedings of the
6th EUROSIM Congress on Modeling and Simulation, Vol. 2. Full
Papers (CD). University of Ljubljana, ISBN 978-3-901608-32-2, MO2-P7-5, 1-9. 2007.
[8] Miller, J. A., Nair, R. S., Zhang, Z., Zhao, H. (1997). JSIM: A JAVABased Simulation and Animation Environment, In Proceedings of the
30th Annual Simulation Symposium, Atlanta, Georgia, 31-42.
[9] Raymond, G. M., Butterworth E, Bassingthwaighte J. B. (2003).
JSIM: Free Software Package for Teaching Physiological Modeling
and Research. Experimental Biology 280,102-107
[10] Stodulka, P., Privitzer, P., Kofránek, J., Tribula, M., Vacek, O.
(2007): Development of web accessible medical educational
simulators. In. Proceedings of the 6th EUROSIM, Vol. 2. Full Papers
(CD), MO-3-P4-2, str. 1-6, ISBN 978-3-901608-32-2, University of
Ljubljana, 2007.
[11] Stodulka, P., Privitzer, P., Kofránek, J. (2008): Jednoduchá
simulační hra krok za krokem aneb od představy k hotovému. Ibid.
Poděkování
Práce na vývoji lékařských simulátorů je podporována projektem
Národního programu výzkumu č. 2C06031, rozvojovým projektem MŠMT
C34/2008 a společností BAJT servis s.r.o.
Jiří Kofránek
Laboratoř biokybernetiky a počítačové
podpory výuky, Ústav patologické
fyziologie 1. LF UK, Praha
U nemocnice 5
128 53 Praha 2
tel: 777686868
fax:224912834
e-mail: [email protected]
http://www.physiome.cz
MEDSOFT 2008
Petr Stodulka, Pavol Privitzer, Jiří Kofránek: Jednoduchá simulační hra krok za
krokem aneb Od představy k hotovému. In MEDSOFT 2008. (Editor: Milena
Ziethamlová) Praha: Agentura Action M, Praha 2008, s. 149-156. ISBN 978-8086742-22-9
Jednoduchá simulační hra krok za korkem aneb od představy k hotovému 149
JEDNODUCHÁ SIMULAČNÍ HRA KROK ZA KROKEM
ANEB
OD PŘEDSTAVY K HOTOVÉMU
Petr Stodulka, Pavol Privitzer, Jiří Kofránek
Anotace
Článek popisuje tvorbu interaktivních simulačních her. Ukazujeme
postup práce od prvotní myšlenky (scénáře) přes tvorbu fyziologického
modelu, návrh uživatelského rozhraní, řídící logiky, propojení do podoby
funkční aplikace až k publikaci aplikace na internetu.
Sestavíme jednoduchý simulátor resuscitace pacienta pomocí
masáže hrudníku a umělého dýchání (první pomoc). Simulátor je
založený na jednoduchém fyziologickém modelu krevního oběhu.
Uživateli se zobrazuje průběh hry pomocí animací a grafů příslušných
fyziologických proměnných.
Sledujeme nejnovější trendy na poli modelování a vývoje aplikací.
V oblasti modelování se přikláníme k modernímu modelovacímu jazyku
Modelica, při tvorbě aplikace využíváme možností platformy .NET
Framework 3.5 (C# 3.0, WPF, XBAP). Pro návrh používáme vzor ModelView-ViewModel. K řízení logiky simulace potom využíváme možností
stavových automatů.
Tato práce navazuje na dlouhodobý výzkum a vývoj v oblasti
fyziologického modelování a tvorby výukových simulátorů v naší
laboratoři.
Klíčová slova
Výukové simulátory, simulační hry, fyziologické modelování, Modelica,
.NET
1. Úvod
Nejprve připomeňme, co míníme simulačními hrami a jaké jsou
problémy při jejich tvorbě. O tomto tématu se může čtenář více dočíst
např. v [1]. Simulační hra, nebo výukový multimediální simulátor, je
aplikace postavená na fyziologickém modelu, která má prezentovat
procesy odehrávající se v modelu a umožnit jejich ovlivnění. To vše
pokud možno pomocí sofistikovaného, po grafické stránce bohatého,
uživatelského rozhraní. Modely, multimedia a programování aplikací jsou
150 P. Stodulka, P. Privitzer, J. Kofránek
tři víceméně nesourodé okruhy. Pro každý existují speciální nástroje, ale
zajistit jejich vzájemnou integraci je náročné.
Náš tradiční přístup bylo vytvořit animace v Adobe Flash, model
v Matlab Simulink a jádro simulátoru na platformě .NET v jazyce C#.
Flashové animace lze v .NET použít (s omezenými možnostmi) jako
ActiveX komponentu. Model jsme konvertovali do použitelné podoby
pomocí vlastního převodního nástroje podrobně popsaného v [2].
V tomto článku představujeme technologickou inovaci spočívající
v nahrazení Flashových animací technologií WPF a proprietárního
Simulinku platformou OpenModelica.
WPF (Windows Presentation Foundation) je novinkou ve verzi
platformy .NET Framework 3.0, která jednak při tvorbě uživatelského
rozhraní programů nahrazuje Windows Forms a jednak umožňuje
vytváření animací plně integrovaných s vlastním programem.
Odstraněním technologické bariéry mezi .NET a Flash nám WPF
umožňuje těsnou integraci a přesnější řízení animací a vizualizací.
Důležitým rysem je také možnost spouštět aplikace přímo v okně
webového prohlížeče.
Jazyk Modelica je moderním modelovacím jazykem, který
podporuje objektově-orientovanou hierarchii a modularitu a oproti dříve
používanému Simulinku umožňuje deklarativní (tzv. akauzální) zápis
modelů. Jeho otevřená implementace OpenModelica nám umožňuje
detailně prozkoumat použité algoritmy a také se zapojit do vývoje tohoto
nástroje.
Tento článek má ukázat uvedené technologie a naše postupy
v praxi. Provedeme čtenáře postupem tvorby simulátoru od scénáře přes
návrh uživatelského rozhraní, fyziologického modelu a řídícího
stavového automatu až po kompletaci samotné aplikace a její zveřejnění
na internetu. Zdrojové soubory simulátoru včetně modelu v Modelice je
možné získat na stránce http://patf-biokyb.lf1.cuni.cz/wiki/firstaidgame.
2. Architektura
Vycházíme z varianty návrhového vzoru Model-View-Controller,
která se ve světě WPF aplikací používá častěji a nazývá se Model-ViewViewModel. Podrobný popis této architektury lze najít na webu [3-5].
Model je obdobou datové vrstvy. V našem případě
představuje fyziologický model konvertovaný z jazyka Modelica. Třída
modelu (Borat) nabízí vstupy a výstupy modelu a metody pro jeho řízení
(Reset(), Step(), …).
ViewModel představuje vrstvu, která řídí chod aplikace i
modelu a zprostředkovává data vizualizační vrstvě ve vhodné podobě.
Na návrh a řízení chodu aplikace používáme stavové automaty.
Jednoduchá simulační hra krok za korkem aneb od představy k hotovému 151
View je prezentační vrstva, která komunikuje s uživatelem.
V optimálním případě jeimplementovaná jako čistý XAML kód a je přímo
napojena na ViewModel pomocí událostí, commandů a databindingu.
Důsledné
rozvrstvení
umožňuje
souběžnou
práci
programátora a grafika, který vytváří vizuální stránku aplikace včetně
animací.
3.1. Scénář
MainWindow
PamAndBorat
data binding
calls
3. Postup práce
events
View
ViewModel
PBViewModel
Obr. 2 Obrazovka simulační hry
input / output
calls
Cílem hry bude prezentovat
statechart
nový doporučený poměr třiceti
stlačení hrudníku ku dvěma vdechům
z úst do úst při resuscitaci pacienta.
Tento poměr bude prezentován
jednoduchou hrou, kdy klikáním myší
Borat
Model
na hrudník nebo na hlavu pacienta
dává záchranář masáž hrudníku nebo
umělé dýchání. Správný postup pro Obr. 1 Využití architektury Model-ViewController v simulační hře
oživení pacienta:
1. kontrola dechu poslechem
2. třicetkrát masáž hrudníku
3. zaklonění hlavy
4. dvakrát stisk nosu a vdech z úst do úst
5. opakování bodů 2. až 4. dokud je potřeba
152 P. Stodulka, P. Privitzer, J. Kofránek
Simulátor kontroluje správný poměr akcí a fyziologický model
počítá arteriální tlak pacienta. Podle frekvence stisku hrudníku (obdoba
frekvence srdečního tepu) a podle počítaného tlaku je pacient po určité
době prohlášen za úspěšně resuscitovaného nebo za mrtvého.
V případě, že tlak pacienta je po určitou dobu mimo vyhrazený
interval (tepová frekvence je příliš vysoká nebo příliš nízká), je
zobrazeno varování a uživateli je připsán trestný bod. Naopak za
dokončený resuscitační cyklus je mu trestný bod upsán. Po odepsání
všech trestných bodů je hra úspěšně dokončena. Dosažením 10
trestných bodů pacient umírá.
Kromě animace záchranáře a pacienta je uživateli zobrazen graf
arteriálního krevního tlaku pacienta a číselné údaje o průběhu hry –
celkový čas resuscitace, tepová frekvence pacienta apod.
3.2. Model
Pro účely tohoto příkladu stačí jednoduchý model, který nahrazuje
krevní řečiště elastickou trubicí a krevní tlak počítá pomocí elasticity,
rezistence a objemu tohoto kontejneru. Vstupem modelu je příznak tlaku
na hruď pacienta c (0 nebo 1), výstupem je tlak p (v mmHg) tekutiny
v popsané elastické trubici. p zastupuje v tomto případě arteriální krevní
tlak. Druhou proměnnou vystupující z modelu je q, tok tekutiny v ml/s.
Tok tekutiny však v simulátoru nepoužíváme.
Pro projekt OpenModelica jsme vytvořili rozšíření pro konverzi
modelicového modelu do jazyka C#, který je dostupný na adrese:
http://patf-biokyb.lf1.cuni.cz/wiki/modelica.net. Popsaný model pomocí
tohoto nástroje převedeme do podoby třídy napsané v jazyce C# (třída
Borat). Tato třída obsahuje soustavu diferenciálních rovnic
reprezentujících model převedených do explicitního tvaru vhodného pro
řešení pomoci ODE solveru. Borat dědí z obecné třídy ModelicaModel,
která poskytuje základní funkcionalitu modelu jako je řízení běhu, vstupů,
výstupů apod.
3.3. Animace
WPF je prezentační technologie, která kromě standardních
ovládacích prvků uživatelského rozhraní, jako jsou tlačítka apod., umí
nativně definovat a zobrazovat animace. Ty jsou zapsány v podobě
XAML zdrojových souborů, které lze upravovat ručně nebo pomocí
speciálních designerských nástrojů (např. MS Expression Blend).
Animované sekvence jsou vyjádřeny pomocí časové osy (třída
Storyboard). Ovládáním časové osy potom řídíme zobrazované
animace.
Jednoduchá simulační hra krok za korkem aneb od představy k hotovému 153
Obr. 3 Simulační model v Simulinku
Obr. 4 Simulační model v Modelice
Animace v jazyce XAML je možné získat také konverzí Flashových
animací pomocí nástroje The Converted [6]. Tímto postupem jsme
získali soubor s animací PamAndBorat.xaml. Identifikovali jsme úseky
časové osy vyjadřující jednotlivé fáze animace a vložili je podpůrného
kódu (viz konstruktor PamAndBorat v souboru PamAndBorat.xaml.cs).
Dosáhli jsme tak oddělení implementace animace od vyvolávání
jednotlivých sekvencí.
154 P. Stodulka, P. Privitzer, J. Kofránek
3.4. Řízení aplikace
Logikou simulátoru myslíme hlídání počtu cyklů, správné pořadí
prováděných resuscitačních akcí a následné řízení zobrazovaných
animací, nebo reakce na vstupy od uživatele. Tato pravidla lze lehce
vyjádřit v grafické podobě pomocí stavových automatů detailně
popisovaných v článku [7]. Použitím nástroje Statecharts můžeme
navrhovat řídící automaty a generovat kód, který se integruje do
ViewModel vrstvy aplikace a zajišťuje její řízení. Domovská stránka
projektu Statecharts je http://patf-biokyb.lf1.cuni.cz/wiki/statecharts.
Definice řídícího automatu našeho simulátoru je v souboru
FirstAidWPFChart.xml. Výstupem po jeho kompilaci je zdrojový soubor
FirstAidWPFChart.xml.cs a knihovna FirstAidWPFChart.xml.dll. Tyto dva
soubory musí být spolu s knihovnou Statecharts/Runtime.dll připojeny
k projektu vytvářené aplikace.
Obr. 5 Hierarchický stavový automat využívaný pro řízení aplikace
Jednoduchá simulační hra krok za korkem aneb od představy k hotovému 155
3.5. Zveřejnění hotové aplikace
Pro publikaci aplikace využijeme schopnost .NET aplikací běžet
přímo v okně webového prohlížeče. Aplikace se transparentně nahraje
do paměti počítače a spustí se v bezpečném prostředí, tzv. security
sandboxu. Spuštění aplikace je z pohledu uživatele rovno návštěvě
běžné webové stránky. Před samotným spuštěním aplikace je
provedena kontrola přítomnosti frameworku .NET 3.5, případně je
uživateli nabídnuta jeho instalace.
Technologie běhu aplikace v okně prohlížeče se nazývá XBAP –
XAML Browser Application. Pro vytvoření XBAP aplikace je potřeba ve
Visual Studiu při výběru typu projektu zvolit šablonu WPF Browser
Application.
4. Závěr
Ve stručnosti jsme ukázali architekturu simulátorů vyvíjených v naší
laboratoři. Na konkrétním jednoduchém příkladu simulační hry pro nácvik
základů moderní laické první pomoci jsme prošli jednotlivé kroky
potřebné k realizaci výsledné aplikace. Výraznou inovací je použití
moderních softwarových nástrojů jak v oblasti modelování, tj. jazyka
Modelica, tak i na aplikační úrovni, kde se technologie WPF ukazuje jako
robustní platforma pro silně graficky orientované aplikace.
Nemalou výhodu použitého postupu vidíme v bezešvém skloubení
různých technologií pro návrh simulačních matematických modelů,
aplikační logiky, grafické stránky a vlastní implementace výukového
simulátoru. Na jednom projektu takto mohou současně spolupracovat
modeláři, grafici i programátoři, a to každý ve své vlastní doméně bez
ohrožení udržitelnosti integrity zdrojových souborů. To je, jak nám praxe
ukazuje, zásadní báze pro realizaci mnohem komplexnějších simulátorů,
než je uvedený demonstrační příklad simulační hry první pomoci.
Z uživatelského hlediska zatím zůstává omezením dostupnost
.NET Frameworku použité verze jenom na platformě Windows XP a
vyšší. Mnohé si v tomto směru slibujeme od nové nastupující platformy
MS Silverlight, zvláště od očekávané verze 2.0. Je to ve své podstatě
plug-in pro internetové prohlížeče, který je založen na technologii WPF,
avšak bude dostupný i pro jiné operační systémy jako OS Mac či Linux.
Kompletní zdrojové kódy simulační hry první pomoci je možno
stáhnout ze stránek http://patf-biokyb.lf1.cuni.cz/wiki/firstaidgame.
156 P. Stodulka, P. Privitzer, J. Kofránek
5. Literatura
[1] Stodulka, P., Privitzer, P., Kofránek, J., Tribula, M., Vacek, O.
(2007): Development of web accessible medical educational
simulators. In. Proceedings of the 6th EUROSIM, Vol. 2. Full Papers
(CD), MO-3-P4-2, str. 1-6, ISBN 978-3-901608-32-2, University of
Ljubljana, 2007.
[2] Stodulka, P., Privitzer, P., Kofránek, J., Mašek, J. (2006): Nové
postupy v tvorbě simulátorů – inteligentní propojení Matlab Simulinku
s platformou .NET a tvorba stavových automatů řídících výslednou
aplikaci.In MEDSOFT 2006, str. 171-176, Agentura Action-M, ISBN
80-86742-12-1, Praha, 2006
[3] http://blogs.msdn.com/johngossman/archive/2005/10/08/478683.aspx
[4] http://www.orbifold.net/default/?p=550
[5] http://blog.quantumbitdesigns.com/2008/01/20/wpf-applicationdesign-and-architecture/
[6] The Converted – Swf to Xaml Converter – http://theconverted.ca/
[7] Kofránek, Stodulka (2004): Hierarchické komunikující stavové
automaty. Objekty 2004, str. 116-133, VŠB Ostrava, ISBN 80-2480672-X, Ostrava 2004.
Poděkování
Práce na vývoji lékařských simulátorů je podporována projektem
Národního programu výzkumu č. 2C06031, rozvojovým projektem MŠMT
C34/2008 a společností BAJT servis s.r.o..
Petr Stodulka
Laboratoř biokybernetiky a počítačové
potobry výuky, Ústav patologické
fyziologie 1. LF UK, Praha
U nemocnice 5
128 53 Praha 2
tel: 224965912
fax:224912834
e-mail: [email protected]
http://www.physiome.cz
OBJEKTY 2008
Marek Mateják, Jiří Kofránek: Modelica vs. blokovo-orientované jazyky
matematického modelovania. In OBJEKTY 2008 (Žilina SR): Žilinská Univerzita,
20.-21.11.2008, (editor Jan Janech), vydavatel: Edis, Žilina, str. 79-94. ISBN 97880-8070-923-3.
Modelica vs. blokovo-orientované jazyky matematického
modelovania
Marek Mateják1, Pavol Privitzer1, Jiří Kofránek1
1
Oddelenie biokybernetiky a počítačovej podpory výuky, ÚPF, 1. LF UK, Praha,
U nemocnice 5, 128 53 Praha
[email protected]
Abstrakt. Simulácie f yzikálnych de jov vy stupujú do popredia ni elen
v počítačových hrách a virtuálnej realite. Sú neodmysliteľnou súčasťou
mnohých pr iemyselných a vedeckých pracovíšť. Podobne je tomu aj v našej
Laboratórii bi okybernetiky a počítačovej podpory výuky na Ústave
patofyziologie 1. LF U K v Prahe. J edným z našich cieľov je porozumieť,
vytvárať a zlučovať rôzne matematické modely fyziologických regulačných
systémov v ľudskom tele. Nielen pri samotnom modelovaní, a le hl avne pr i
prezentovaní a popise m odelu j e dôl ežité, aby j eho š truktúra a význam čo
najlepšie zach ytávala fyzikálnu p odstatu j ednotlivých d ejov. U kazuje s a, že
práve objektovo orientovaný prístup zápisu modelu pomocou jazyku Modelica
je vhodnou cestou. Jazyk Modelica dokáže zachytiť fyzikálne deje už vo vopred
známych anotáciách doteraz často používaných iba ako dokumentačné schémy.
Na rozdiel od signálovo orientovaných modelovacích prístupov zápis dovoľuje
objektovo a bez nutnosti definovania postupu výpočtu popisovať jednotlivé
komponenty modelu, ktoré odpovedajú jednotlivým objektom z reálneho sveta.
Zrovnanie rôznych prístupov máme preukázateľné na rôznych modeloch napr.
model Hodgkin-Huxleyho akčného membránového potenciálu alebo pri modeli
syntézy a vylučovania Atidiuretického hormónu vyňatej z komplexného
veľkého modelu T.Colemana.
Kľúčové slová:
Modelovanie, O bjekty, Simulačné jazyky, M odelica,
Fyziologické modelovanie, Fyzikálne modelovanie, Matematické modelovanie,
Objektovo orientované modelovanie
1
Úvod
Pred tridsiatimišiestimi rokmi vyšiel v časopise Annual Review of Physiology článok
[4], k torý s a svojou podobou už na p rvý pohľad vymykal obvyklej podobe
fyziologických článkov tej doby. B ol uvedený rozsiahlym s chématom na vlepenej
prílohe (obr. 1).
Schéma p lná čiar a p repojených p rvkov na p rvý pohľad vzdialene pripomínala
nákres n ejakého el ektrotechnického za riadenia. Namiesto elektróniek či iných
elektrotechnických s účiastok tu však b oli zobrazené prepojené výpočtové bloky
(násobičky, deličky, sumátory, integrátory, funkčné bloky), ktoré symbolizovali
matematické o perácie p revádzané s fyziologickými veličinami (obr. 2). Zväzky
prepojovacích vodičov medzi b lokmi na p rvý pohľad vyjadrovali zložité
spätnoväzobné prepojenia fyziologických veličín. B loky b oli zoskupené do
osemnástich skupín, kt oré pr edstavovali jednotlivé p repojené f yziologické
subsystémy.
80 Marek Mateják, Pavol Privitzer, Jiří Kofránek
2
Pavučina fyziologických regulácií
Vlastný článok, týmto, vtedy celkom n ovým spôsobom pom ocou matematického
modelu popi soval f yziologické r egulácie cirkulačného s ystému a j eho ši ršie
fyziologické súvislosti a náväznosti na ostatné subsystémy organizmu – napr. obličky,
reguláciu objemovej a elektrolytovej rovnováhy atď. Namiesto vypisovania sústavy
matematických r ovníc sa v článku v yužívalo g rafické znázornenie m atematických
vzťahov. Táto s yntax umožnila graficky zobraziť súvislosti medzi j ednotlivými
fyziologickými veličinami vo forme prepojených blokov reprezentujúcich
matematické operácie.
Vlastný popis modelu bol iba vo forme základného (ale i tak úplne ilustratívneho)
obrázku. K omentáre a zd ôvodnenia f ormulácií m atematických vz ťahov boli veľmi
stručné. Napr. „bloky 266 až 270 počítajú vplyv bunk ového PO2, a utonómne
stimulácie a b azálne r ýchlosti s potreby k yslíka tkanivami na s kutočnú rýchlosť
spotreby kyslíka v t kanivách“. Od čitateľa to vyžadovalo nadmieru veľké sústredenie
(i isté fyziologické a matematické z nalosti) pre pochopenie zmyslu formalizovaných
vzťahov medzi fyziologickými veličinami.
O r ok neskôr, v r oku 1973, vy šla monografia [5], k de b ola rada pou žitých
prístupov vysvetlená podrobnejšie. G uytonov model bo l určitým medzníkom – bol
prvým r ozsiahlym matematickým popi som f yziologických f unkcií pr epojených
subsystémov o rganizmu a o dštartoval o blasť fyziologického výskumu, ktorá j e dnes
niekedy popisovaná ako integratívna fyziológia.
Obr. 1. Rozsiahla schéma fyziologických regulácií obehovej sústavy A. C. Guytona a
spolupracovníkov z roku 1972
Modelica vs. blokovo-orientované jazyky matematického modelovania 81
Obr. 2. Detail zo spletitej schémy fyziologických regulácií obehovej sústavy. Vzájomné
vzťahy sú zobrazované ako prepojené symboly označujúce násobičky, deličky, sumátory,
integrátory a funkčné bloky. Celá schéma tak vyjadruje grafické vyjadrenie sústavy rovníc.
3
Od simulačnej pavučiny k simulačným čipom
Guytonov model a jeho ďalšie modifikácie boli pôvodne implementované vo Fortrane
a neskôr v jazyku C++. Dnes sú pre vývoj, ladenie a verifikáciu simulačných modelov
k dispozícii špecializované softwarové simulačné prostredia. Jedným z nich je napr.
vývojové prostredie Matlab/Simulink od firmy Mathworks, ktoré umožňuje postupne
zostavovať simulačný model z j ednotlivých k omponentov – akýchsi s oftwarových
simulačných súčiastok, ktoré sa pomocou počítačovej myši medzi sebou prepojujú do
simulačných sietí. Simulinkové počítacie prvky sú veľmi podobné prvkom, ktoré pre
formalizované vyjadrenie fyziologických vzťahov použil Guyton. Rozdiel je len v ich
grafickom t vare. Táto podobnosť nás inšpirovala k t omu, aby sme p rostredníctvom
Simulinku vz kriesili starý klasický Guytonův diagram v jeho pôv odnej podobe a
previedli ho do podoby funkčného simulačného modelu v prostredí Matlab/Simulink.
Simulačná vizualizácia starej schémy nebola úplne ľahká – v originálnej o brázkovej
schéme modelu sú totiž chyby! V nakreslenom obrázku to nevadí, ak sa ho pokúsime
ale oživiť v Simulinku, potom model ihneď skolabuje ako celok. Pri znalosti
fyziológie a systémovej a nalýzy sa však na v šetky chyby, p ri tr oche n ámahy dalo
prísť. Podrobný popis chýb a ich opráv je v [11]. Je zaujímavé, že Guytonov diagram
bol ako zložitý obrázok mnohokrát pretlačovaný do najrôznejších p ublikácií. N ikto
ale na chyby neupozornil a nedal si prácu tieto chyby odstrániť. To bolo pochopiteľne
v dobe , k edy o brázková s chéma v znikala. E šte n eexistovali k resliace p rogramy –
obrázok vznikal ako zložitý výkres – a ručné prekresľovanie zložitého výkresu nebolo
jednoduché. Možné je i to, že sami autori modelu opravovať chyby ani príliš nechceli
82 Marek Mateják, Pavol Privitzer, Jiří Kofránek
– kto si dal prácu s analýzou modelu, obrazové "preklepy" odhalil, kto by c hcel len
tupo opisovať, m al smolu. Ko niec k oncov, vo svojej d obe autori rozosielali a j
zdrojové texty programov svojho modelu v programovacom jazyku Fortran – takže
pokiaľ niekto chcel iba testovať správanie sa modelu, nemusel nič programovať
(maximálne iba r utinne pr eviedol pr ogram z Fortranu do iného p rogramovacieho
jazyka).
Nami v ytvorená S imulinková r ealizácia (opraveného) G uytonova modelu j e
záujemcom k di spozícii k s tiahnutiu na ad rese www.physiome.cz/guyton. Na t ejto
adrese j e a j n aša S imulinková r ealizácia zložitejšej verzie modelu G uytona a s pol.
z neskorších rokov.
Prevedením pôvodného Guytonova modelu do Simulinku získame živý simulačný
model. Pre f yziológa skúmajúceho š truktúru modelu a j eho správanie j e model v
podobe pr epojenej s iete s imulinkových pr vkov zle zrozumiteľný. Vhodnejšie je
jednotlivé s ubsystémy ukryť do komplexných e lementov, kt oré p otom pr edstavujú
akési simulačné čipy [10]. Tak napr. ak agregujeme jednotlivé časti simulačnej siete
Guytonovho modelu do jednotlivých blokov, reprezentujúcich jednotlivé fyziologické
subsystémy s gr aficky v yjadrenými vs tupmi a výstupmi. S ú t o "piny" k ni m sa
privádza, al ebo od ni ch sa rozvádza i nformácia k ďalším blokom. Pre užívateľa tak
bude funkcia graficky vyjadrenej simulačnej siete omnoho prehľadnejšia.
Simulink je jedným z veľmi efektívnych simulačných nástrojov, ktorými
(podobne ako na v yššie uvedenej grafickej schéme) umožňuje vytvárať simulačné
modely pomocou prepojovania jednotlivých simulačných blokov, reprezentujúcich
jednotlivé matematické operácie. O jeho využití pri tvorbe rozsiahlych fyziologických
modelov a komponentovej výstavbe vý ukových s imulátorov s me r eferovali na
predchádzajúcich ročníkoch konferencie Objekty [8,9].
4
Blokovo orientované simulačné nástroje
Simulink patrí do rodiny tzv. "blokovo orientovaných" simulačných j azykov. T ieto
jazyky umožňujú zostavovať počítačové modely z jednotlivých h ierarchicky
usporiadaných bl okov, s
definovanými vstupmi a
výstupmi. T ieto bl oky,
reprezentujúce jednotlivé subsystémy modelu potom predstavujú akési "simulačné
čipy". Simulačný čip skrýva pred užívateľom štruktúru počítajúcu siete podobne, ako
elektronický čip pred užívateľom skrýva prepojenie jednotlivých tranzistorov a
ďalších elektronických prvkov. Užívateľa zaujíma iba správanie čipu, a nie j eho
vnútorná š truktúra. S právanie simulačného čipu môže užívateľ testovať pomocou
sledovania výstupov na p ripojených vi rtuálnych d isplejoch al ebo v irtuálnych
osciloskopoch. T o j e veľmi výhodné pre testovanie správania modelu a vyjadrenia
vzájomných z ávislostí medzi j ednotlivými p remennými. C elý model môžeme
zobraziť ako prepojené simulačné čipy a z tejto štruktúry je potom jasné, ktoré vplyvy
a akým spôsobom sa v modeli uvažujú.
Zároveň je z hierarchicky usporiadaného blokovo orientovaného popisu jasné,
akým spôsobom sa v modeli počítajú hodnoty jednotlivých premenných – tj. a ký je
spôsob výpočtu.
Modelica vs. blokovo-orientované jazyky matematického modelovania 83
Hierarchické blokovo orientované simulačné nástroje n ašli s voje u platnenie
hlavne p ri p opise z ložitých s ystémov, s ktorými sa stretávame vo f yziológii.
Formalizovanému popi su f yziologických systémov j e ve novaný medzinárodný
projekt P HYSIOME, kt orý j e ná stupcom p rojektu G ENOME. V ýsledkom p rojektu
GENOME bol popis ľudského genómu, cieľom p rojektu P HYSIOME j e
formalizovaný popis fyziologických funkcií. Metodickým nástrojom sú tu počítačové
modely [ 2,7]. V r ámci tohto pr ojektu bol o vy tvorených niekoľko blokovo
orientovaných ná strojov, kt oré s lúžia ako referenčné databázy pr e f ormalizovaný
popis š truktúry z ložitých fyziologických modelov. P atrí k nim J SIM [ 13],
tiež aj
jazyk C
ellML
(http://www.physiome.org/model/doku.php) a
(http://www.cellml.org/).
Žiaci a nasledovníci pr of. G uytona p ôvodný rozsiahly simulátor cirkulačného
systému ( Quantitative C irculatory P hysiology [ 1]) r ozšírili o i ntegrované z apojenie
všetkých dôl ežitých fyziologických systémov. P osledným výsledkom j e simulátor
Quantitative Human Physiology, ktorý predstavuje v súčasnej dobe najkomplexnejší a
najrozsiahlejší m odel f yziologických f unkcií. Model je možno stiahnuť z
http://physiology.umc.edu/themodelingworkshop/. P re v yjadrenie zl ožitej š truktúry
modelu vytvorili špeciálny blokovo orientovaný simulačný systém QHP.
5
Kauzálny a akauzálny prístup – drinu ľuďom verzus drinu
strojom.
Blokovo orientované
nástroje pr acujú s hierarchicky pr epojenými bl okmi.
V prepojeniach medzi jednotlivými blokmi tečú signály, ktoré prenášajú hodnoty
jednotlivých premenných od výstupu z jedného bloku k vstupom do ďalších blokov.
V bl okoch d ochádza k s pracovaniu vs tupných i nformácií na v ýstupné. Prepojenie
blokov preto odráža skôr postup výpočtov a nie štruktúru modelovanej reality.
U zložitých systémov sa ale vďaka tomuto prístupu pod štruktúrou výpočtov
stráca fyzikálna realita modelovaného systému. Preto sa v poslednej dobe pre
modelovanie najmä zložitých systémov začínajú využívať nástroje, v ktorých sa
jednotlivé časti modelu popisujú priamo ako rovnice a nie ako algoritmus riešenia
týchto rovníc. Hovorí s a t zv. de klaratívnym ( akauzálnym) z ápisom modelov, na
rozdiel o d k auzálneho záp isu v b lokovo o rientovaných jazykoch matematického
modelovania, kde musíme vyjadriť (kauzálny) popis spôsobu výpočtu jednotlivých
premenných modelov.
K týmto nástrojom predovšetkým patrí objektovo orientovaný programovací jazyk
Modelica [3]. B ol pôv odne vyvinutý vo Švédsku a t eraz je dos tupný ako vo verzii
open-source (vyvíjanej pod záštitou medzinárodnej organizácie Modelica
Association, http://www.modelica.org/), tak i v dvoch komerčných implementáciách
– od f irmy D ynasim AB ( predáva s a pod n ázvom Dymola) a o d f irmy Mat hCore
(predáva sa pod názvom MathModelica).
Namiesto bl okov M odelica pr acuje s
prepojenými ko mponentmi, k toré
predstavujú inštancie jednotlivých tried.
84 Marek Mateják, Pavol Privitzer, Jiří Kofránek
Na rozdiel od implementácie tried v iných objektovo orientovaných jazykoch (ako
jw C #, J ava ap od.), m ajú triedy v Modelice n avyše z vláštnu sekciu, v k torej s a
definujú rovnice.
Rovnice neznamenajú p riradenie ( tj. u loženie výsledku vý počtu priraďovaného
príkazu do danej premennej), ale definíciu vzťahov medzi premennými (tak, ako je v
matematike a fyzike zvykom).
Komponenty ( inštancie tried) sa môžu v Modelice prepojovať prostredníctvom
presne definovaných r ozhraní – konektorov. K onektory s ú i nštancie ko nektorových
tried, v ktorých sa definujú premenné, používané pre prepojenie.
Prepojovať sa môžu konektory, patriace k rovnakým konektorovým triedam (v
ktorých sa tak môžu prepojovať premenné patriace k ekvivalentným t ypom). I nak
povedané – prepojený typ zástrčiek musí presne zodpovedať typom zásuviek.
Dôležité j e t o, že p repojením k omponent v lastne dochádza k prepojeniu sústav
rovníc v jednotlivých komponentoch medzi sebou. Pokiaľ v konektore prepojených
komponent de finovaná r ovnaká pr emenná ( a nereprezentuje j u t ok – viď ďalej)
prepojením definujeme, že hodnota tejto premennej bude vo všetkých komponentoch
rovnaká. Ak je táto premenná súčasťou rovníc v prepojených komponentoch,
prepojením zároveň definujeme prepojenie r ovníc, v ktorých s a t áto pr emenná
vyskytuje.
V bode, kde je prepojených viacej komponentov, musia byť hodnoty premenných
prepojených cez spoločný bod rovnaké (analogicky ako napätie na spoločnej svorke v
elektrických obvodoch musí zodpovedať prvému Kirchoffovemu zákonu).
Ale nielen to.
V ko nektore môžeme definovať, že niektoré prepojované premenné budú
reprezentovať tok (flow) – potom to bude znamenať, ž e ho dnoty vš etkých t akto
označených premenných budú vo všetkých komponentoch prepojených v rovnakom
bode nastavené na takú hodnotu, aby ich algebraický súčet sa rovnal nule (analogicky
ako súčet prúdov na spoločnej svorke v elektrických obvodoch mu sí zodpovedať
druhému Kirchoffovemu zákonu).
Ak je takto označená premenná súčasťou rovníc v prepojených komponentoch,
pridávame t ak do pr epojenej sústavy rovníc ďalšiu rovnicu, definujúcu požiadavky
nulovosti algebraického súčtu hodnôt tejto premennej).
Prepojením modelicových komponentov teda nedefinujeme postup výpočtu, ale
modelovanú realitu. Spôsob riešenia rovníc tak "nechávame strojom".
6
Zovšeobecnené systémové vlastnosti reálneho sveta
Zobrazenie modelu v Modelice tak viacej pripomína fyzikálnu realitu modelovaného
sveta, než prepojená bloková schéma v blokovo orientovaných jazykoch ako je napr.
Simulink a lebo Q HP. S úvisí to s o zovšeobecnenými systémovými vlastnosťami
reálneho sveta (obr. 3) , v k torých hrajú dôl ežitú úl ohu zovšeobecnené úsilia ( v
reálnom s vete mu zodpovedá s ila, t lak, napätie a p od.) a zo všeobecnený t ok ( v
reálnom svete mu zodpovedá prúd, prietok ai.).
Ak zobrazujeme v Modelice realitu prepojenými komponentmi, potom pre tokové
premenné musí h odnota v b ode pr epojenia zodpovedať druhému K irchhoffovému
Modelica vs. blokovo-orientované jazyky matematického modelovania 85
zákonu (prúd sa nemôže v prepojení akumulovať ani strácať) a pre ostatné premenné
musí v spoločnom prepojovacom bode platiť rovnosť (podľa prvého Kirchhoffoveho
zákona).
Modelica o bsahuje k nižnice najrôznejších t ried p re modelovanie elektrických,
mechanických a hydraulických objektov reálneho sveta.
e
∫
e=Rf
C
q=Ce
R
p
p=Lf
q
∫
L
f
Obr. 3 Vzťahy medzi zovšeobecnenými systémovými vlastnosťami
• e znamená zo všeobecnené ú silie ( effort) – v m echanike mu zo dpovedá s ila, v
•
•
•
•
elektrických schémach napätie, v hydraulike tlak atď.
f je zo všeobecnený t ok ( flow) – v mechanike mu zodpovedá rýchlosť, v
elektrických s chémach pr úd, hy draulike pr ietok a v t ermodynamike t eplotný t ok a
pod.
q je zovšeobecnená akumulácia, či výchylka, reprezentuje integrál zovšeobecneného
toku. V mechanike jej na pr. odpovedá natiahnutie pr užiny, v hy draulike obj em
tekutiny, v e lektrických s chémach ná boj, v t ermodynamike na akumulované t eplo
atď.
p je zovšeobecnená hybnosť (inertancia) - integrál zo všeobecneného ú silia,
reprezentujúci k inetickú en ergiu, v h ydraulike pr edstavuje z menu r ýchlosti pr údu
úmernú rozdielu tlakov (prietočnú hybnosť), v elektrických obvodoch potenciál nutný
k zmene elektrického prúdu (indukcie) apod.
R, C a L predstavujú k onštanty ú mernosti m edzi j ednotlivými z ovšeobecnenými
systémovými vlastnosťami. Zodpovedá im napr. odpor, kapacitancia či hmotnosť.
Rozdiel medzi modelovaním v bl okovo orientovaných simulačných nástrojoch a v
Modelice s i i lustrujme na d voch p ríkladoch modelovania f yziologickej r eality: na
implementácii k lasického modelu bunkovej m embrány ne urónu podľa HuxleyHuxley [ 6] a na ukážke i mplementácie j edného z o s ubsystémov r ozsiahleho modelu
fyziologických regulácií (QHP), ktorý sa týka sekrécie antidiuretického hormónu.
86 Marek Mateják, Pavol Privitzer, Jiří Kofránek
7
Model vzrušivej bunečnej membrány podľa Hodgkina a
Huxleyho
V roku 1963 z ískali pá ni A lan Lloyd H odgkin a Andrew Huxley N obelovu c enu vo
Fyziológii a Medicíne za matematický model akčného membránového potenciálu.
Práve ich článok [6] sa stal základom mnohých modelov správania sa membránových
potenciálov r ôznych t ypov b uniek. Model primárne vysvetľuje šírenie nervového
vzruchu depolarizáciou bunečnej membrány pomocou spojenia dvoch fyzikálnych
domén – elektrickej a chemickej. Vďaka štúdii vodivosti membránových kanálikov
v závislosti na čase a aktuálnom m embránovom napätí p opisuje vz nik e lektrického
prúdu, ktorý vzniká tokom sodíkových a draslíkových iónov skrz membránu. Tento
elektrický prúd má potom vplyv na aktuálne membránové napätie.
V kľudnom stave je bunka vzhľadom na jej okolie záporne nabitá napr. aj vďaka
veľkým záporne nabitým bielkovinám. Tie zostávajú v bunke, pretože nie sú schopné
prejsť cez bunečnú membránu. Naopak presun katiónov je dobre kontrolovaný vďaka
membránovým kanálikom. Ak sa na malý moment otvoria, tak zväčšenie toku
katiónov spôsobí, že prúd v oblasti kanálikov membránu depolarizuje. Dokonca sa na
malý moment prejaví aj kladné napätie v tejto oblasti membrány. Kanáliky sa však na
to začnú vplyvom zmeny napätia uzatvárať a zabezpečia to, že sa koncentrácie iónov
v bunke takmer nezmenia. Táto krátka depolarizácia závisí najmä na katiónoch sodíka
a draslíka. Sodík do bunky tlačí ako koncentračný tak aj elektrický gradient. Pri
draslíku pôsobia gradienty oproti sebe, prevažuje však gradient elektrický. Po odznení
depolarizácie nastáva dôležitá fáza obnovy membránového potenciálu. Práve tento jav
má na svedomí to, že sa akčný potenciál šíri len dopredu. Až po krátkom časovom
okamihu sa totiž sodíkové kanáliky dostanú do pôvodného stavu.
To ako je možné porovnať chemický a koncentračný gradient hovorí N ernstova
rovnica. Rozdiely v koncentrácii sa pomocou nej prevádzajú na membránové napätie,
ktoré j e p otrebné n a i ch udržanie n a o boch s tranách membrány. T ieto r ozdiely
koncentrácií v tomto modeli v ytvárajú ak ési zd roje n apätia p re k onkrétne ióny.
Pokiaľ je rozdiel Nernstovho mínus aktuálneho napätia pre katión väčší ako nula, tak
je katión tlačený do bunky. O dobíjanie koncentrácií draslíku v bunke a sodíku mimo
bunky s a s tará z dlhodobého hľadiska Na-K-APTáza. Jej funkčnosť a zmena
koncentrácií sodíka a draslíka je však v tomto modeli zanedbaná.
Akumulovanie náboju na membráne je typickým príkladom kondenzátoru, kde je
nevodivá bunečná membrána ako médium, ktoré oddeľuje dve nabité plochy.
Modelica vs. blokovo-orientované jazyky matematického modelovania 87
Obr. 4. Schéma modelu Hodgkin-Huxley v implementácii pomocou jazyka Modelica
v prostredí Dymola
Matematický zápis modelu odpovedá elektrickej schéme (obr. 4). Zdrojové kódy je
možné stiahnuť z http://patf-biokyb.lf1.cuni.cz/wiki/objekty_2008. Špeciálnymi
komponentmi sú však membránové kanáliky pre sodík (resp. draslík). Tie sa správajú
ako zd roj n apätia s meniacim sa vnú torným odpor om. J eho k onštantné n apätie j e
určené chemickým gradientom sodíku (resp. draslíku), zatiaľ čo ich vnútorný odpor
odpovedá stavu otvorenosti kanálikov. Cez draslíkové kanáliky môžu prechádzať iba
katióny draslíku a cez sodíkové iba katióny sodíku. Ostatné elektricky nabité atómy,
ktoré môžu prechádzať cez membránu sú implementované pomocou konštantného
zdroja aj konštantného odporu, ktorý sa v závislosti na čase ani napätí nemení.
Ručne je tak nutné v jazyku Modelica definovať iba triedy membránových
kanálikov. V šetko o statné s a p repojí vi zuálne. Základné elektrické komponenty j e
možné použiť zo štandardnej knižnice. R ovnako ako abstraktnú triedu pre kanáliky
definujúcu súčiastku elektrického obvodu s dvomi p inmi. D oplnením e mpiricky
potvrdených vzťahov z článku Hodgkina a Hyxleyho [6] tak z ískavame no vý t yp
elektrického ko mponentu, ktorá popisuje správanie sa membránových ka nálikov a ko
konštantných z drojov s meniacim s a v nútorným odporom. Spustením s imulácie
celého obvodu budeného pulzmi elektrického prúdu získavame požadovaný priebeh
akčného potenciálu a vodivostí kanálikov počas vzruchu (obr. 5). A nielen to . Je
možné nahliadnuť na priebehy všetkých premenných modelu v závislosti n ielen n a
čase ale aj inej zvolenej premennej.
88 Marek Mateják, Pavol Privitzer, Jiří Kofránek
•
•
•
•
Obr. 5. Výstup simulácie modelu Hodgkin-Huxley. Časové jednotky sú v ms.
capacitor.v je aktuálne napätie bunečnej membrány v mV
k_channels.G je elektrická vodivosť pre draslíkové kanáliky
na_channels.G je elektrická vodivosť pre sodíkové kanáliky
na_channels.R je elektrický odpor pre sodíkové kanáliky =1/(1000*G)
Obr. 6. Model Hodgkin-Huxley [6] je možné implementovať aj pomocou blokovo
orientovaného prostredia Matlab/Simulink, ktoré však zostáva zviazané z postupom výpočtu.
Modelica vs. blokovo-orientované jazyky matematického modelovania 89
8
Modelovanie vylučovania antidiuretického hormónu
Pri vytváraní matematického modelu je vhodné postupovať od veľmi zjednodušeného
systému postupne k systému zložitejšiemu, ktorý dostatočne podrobne vystihuje
požadované záv islosti. P riebežné s ledovanie simulácií zj ednodušených medzikrokov
pomôže skôr odhaliť chyby. Ak v danom kroku neprídu požadované výsledky, tak je
ľahké analyzovať iba zmeny z predchádzajúcej v erzie. T áto k apitola ukáže ak o j e
možné zostrojiť model syntetizovania a vylučovania antidiuretického hormónu
(ADH) postupným pridávaním znalostí podľa modelu QHP T.Collemana [12].
Zdrojové k ódy našej i mplementácie v j azyku M odelica j e možné stiahnuť z
http://patf-biokyb.lf1.cuni.cz/wiki/objekty_2008.
Ak chceme vytvoriť model syntézy nejakej látky, tak by sme v prvom r ade mali
vedieť ako je daná syntéza riadená. V prípade ADH j e r ýchlosť syntézy v centrách
neurónov v hypotalame závislá na množstve už nasyntetizovaného hormónu, ktorý sa
nestačil z daného miesta vzdialiť.
Obr. 7. Riadená syntéza ADH so zjednodušeným odtokom. Krivka vzniku ADH a množstvo
ADH v komponentu mass, ktorá predstavuje bezprostredné okolie syntézy je brané z modelu
QHP [12]. Koeficient odtoku je dosadený tak, aby v danom okolí zostávalo počas priebehu
syntézy dané konštantné množstvo hormónu. Simulácia ukazuje, že tok hormónu z miesta jeho
vzniku do výlevky je očakávaných 3.2ng/min.
Vytvorené komponenty v jazyku M odelica sú navzájom p repojené p omocou d voch
typov konektorov. Jeden je fyzikálny konektor, ktorý určuje správanie sa komponent
gradientom koncentrácie a tokom r ozpustenej l átky. T en dr uhý j e n ormalizovaný
konektor určujúci správanie komponenty iba podľa množstva látky a jej t oku.
V poradí a kom s ú z názornené s ú t riedy komponentov (obr. 7) d efinované a ko:
závislosť toku od množstva látky v naviazanom komponente; k umulovanie l átky
podľa prítoku a odtoku; odpor určujúci prietok podľa množstva látky a koncentrácie
v druhom komponente pomocou konštantných koeficientov; výlevka.
Vylučovanie hormónu však neprebieha v mieste jeho vzniku. To má za následok,
že množstvo ho rmónu p ripraveného na o kamžité vylučovanie v axóne ne urónu v
zadnej hypofýze je iné ako množstvom v mieste jeho vzniku v hornej časti bunky. Do
modelu je tak nutné zaviesť ďalšie miesto, cez ktoré hormón preteká.
90 Marek Mateják, Pavol Privitzer, Jiří Kofránek
Obr. 8. Doplnenie miesta vylučovania hormónu axónom neurónu tak, aby aj tu množstvo
hormónu zostávalo na úrovni určenej v modeli QHP [12]. Koeficient toku do výlevky je teda
naďalej určený tokom, ktorý zostane na hodnote 3.2ng/min.
V poslednom kroku vytvorenia modelu je nutné vložiť komponent vyjadrujúci
rozpustenie ADH v extracelulárnej tekutine. Táto koncentrácia je výstupom
modelovanej komponenty vylučovania ADH a zároveň vstupom do iných
komponentov, ktoré s týmto v ýznamným ho rmónom s úvisia. Našej konštanty
prietoku do výlevky sa zbavíme pomocou zaradenia odbúravania hormónu v rôznych
orgánoch. A samozrejme je treba doplniť riadenie vylučovania hormónu z bunky
pomocou závislých vplyvov. Tými sú v našom prípade najme receptory na osmotický
tlak v tele. Vhodné je taktiež sprístupniť pomocou riadenej pumpy možnosť zásahu
z vonku a umožniť tak príjem iného, než vlastného hormónu ADH.
Obr. 9. Výstupy simulácie modelu s pravidelným stimulovaním sekrécie s frekvenciou 100
minút. Na prvý pohľad je vidieť, že samotné vylúčenie hormónu z okamžitých zásob je veľmi
rýchla záležitosť. Nasleduje jeho zvýšené odbúravanie v pečeni, obličkách a iných tkanivách.
No a samotné doplnenie zásob na vylučovanie prebieha v tomto porovnaní pomaly
a kontinuálne.
• fastMass.from.q je rýchlosť doplňovania zásob k okamžitému vylučovaniu
• ECF.from.q je rýchlosť vylučovania hormónu zo sekrečných buniek
• Clearance.from.q je rýchlosť odbúravania hormónu v tele
Modelica vs. blokovo-orientované jazyky matematického modelovania 91
Obr. 10. Model komponentu ADH z rozsiahleho modelu Quantitative Human Physiology od
týmu T. Collemana a spol. z Mississsippi Medical Center [12] implementovaný v jazyku
Modelica v prostredí Dymola.
Pôvodný m odel [11] je i mplementovaný vo v lastnom xml-jazyku, kt orý kauzálne
určuje postup výpočtu podobne ako v iných blokovo orientovaných simulačných
prostrediach. Takúto implementáciu je omnoho horšie ladiť, modifikovať alebo
nedajbože znovu používať jej komponenty na rozdielnych miestach ko mplexného
modelu. Grafický zápis prepojenia závislostí jej parametrov je ekvivalentný prepisu
blokov do pr ostredia Matlab-Simulink (obr. 11). Táto implementácia je však veľmi
zviazaná s o s pôsobom v ýpočtu narozdiel od modeliky, kde vovnútri ko mponenty
možno všeobecne popísať ich rovnice a nielen algoritmus výpočtu.
92 Marek Mateják, Pavol Privitzer, Jiří Kofránek
Hlavnou výhodou i mplementácie v jazyku Modelica je to, že väčšina komponent
je znova použiteľná na vytvorenie ďalších modelov. Komponenty majú vždy
definovaný j ednoduchý fyzikálny význam, ktorý im umožňuje priamo definovať
určitý fyzikálny dej aj bez ohľadu na tom, ktoré premenné do neho vstupujú a ktoré
z neho vystupujú. Samozrejme, že je vhodné ponechať určitú kauzalitu vstupným
premenným, ktoré s a v danom deji nemenia, alebo výstupným premenným, ktoré by
sa v ďalších blokoch už modifikovať nemali.
Obr. 11. Implementácia komponenty ADH v prostredí Matlab/Simulink generovaná
z pôvodných zdrojových kódov v QHP (pre zrovnanie)
9
Záver
Nové technológie prinášajú pre tvorbu simulačných modelov nové možnosti aj nové
výzvy. J ednou z n ich j e obj ektový j azyk Modelica, ktorý podľa nášho názoru
podstatným spôsobom uľahčí modelovanie tak zložitých a komplexných systémov
akými sú fyziologické systémy.
Vzhľadom k tomu, že vo fyziologických modeloch sa vyskytuje celý rad vzťahov
(ktoré v b lokovo o rientovaných j azykoch, napr. v S imulinku, vedú na r iešenie
implicitných r ovníc) j e akauzálny popis modelovaných vzťahov, pou žívaný
v Modelice, veľkou výhodou. Akauzálny popis oveľa lepšie vystihuje podstatu
Modelica vs. blokovo-orientované jazyky matematického modelovania 93
modelovanej reality a simulačné modely sú oveľa čitateľnejšie, a teda i menej
náchylné k ch ybám. P re modelovanie fyziologických systémov j e p reto M odelica
veľmi vhodným prostredím.
Referencie
[1] Abram, S.R., Hodnett, B.L., Summers, R.L., Coleman, T.G., Hester R.L.:
Quantitative Circulatory Physiology: An Integrative Mathematical Model
of Human Physiology for medical education. Advannced Physiology
Education, 31 (2), 2007, 202 - 210.
[2] Bassingthwaighte J. B. Strategies for the Physiome Project. Annals of
Biomedical Engeneering 28, 2000, 1043-1058.
[3] Fritzson P. (2003). Principles of Object-Oriented Modeling and
Simulation with Modelica 2.1, Wiley-IEEE Press.
[4] Guyton A.C, Coleman T.A., and Grander H.J. (1972): Circulation: Overall
Regulation. Ann. Rev. Physiol., 41, s. 13-41.
[5] Guyton AC, Jones CE and Coleman TA. (1973): Circulatory Physiology:
Cardiac Output and Its Regulation. Philadelphia: WB Saunders Company,
1973.
[6] Hodgkin, A.L., Huxley A.F.: The components of memebrane conductance
in the giant axon of Loligo. Journal of Physiology, 116, 1952, s. 473-496.
[7] Hunter P.J., Robins, P., Noble D. (2002) The IUPS Physiome Project.
Pflugers Archive-European Journal of Physiology, 445, s.1–9
[8] Kofránek J., Velan T.: Komponenty pro Golema. Využívání Simulinku a
Control Webu při tvorbě simulátoru fyziologických funkcí. Objekty 1999,
Česká zemědělská univerzita. Praha, 189-204. (elektronická verze
sborníku konference: http://objekty.pef.czu.cz/Objekty99/index.html).
[9] Kofránek J, Andrlík, M.: Od „umění“ k „průmyslu“ – komponenty pro
kreativní propojení vývojových nástrojů při tvorbě výukových programů.
Objekty 2002, Česká zemědělská univerzita. Praha, s. 129-142
(elektronická verze sborníku: http://objekty.pef.czu.cz/2002/sbornik/).
[10]
Kofránek J., Andrlík M., Kripner T, and Mašek J.: From Simulation
chips to biomedical simulator. Amborski, K. and Meuth, H. 2002.
Darmstadt, SCS Publishing House. Modelling and Simulation 2002 Proc.
of 16th European Simulation Multiconference, s. 431-436 (full textová
verze: http://patf-biokyb.lf1.cuni.cz/wiki/technical_computing_2007 )
94 Marek Mateják, Pavol Privitzer, Jiří Kofránek
[11]
Kofránek, J, Rusz, J., Matoušek S., (2007): Guytons Diagram Brought
to Life - from Graphic Chart to Simulation Model for Teaching
Physiology. In Technical Computing Prague 2007. Full paper CD-ROM
proceedings. (P. Byron Ed.), Humusoft s.r.o., Institute of Chemical
Technology, Prague, 2007, ISBN 978-80-78-658-6, s. 1-13,
(http://www.humusoft.cz/akce/matlab07/)
[12]
Quantitative Human Physiology (2008 Edition) Free software for
download. (Hester R.L., Coleman T., Summers R., The University of
Mississippi Medical Center, Dept. of Physiology and Department of
Emergency Medicine) http://physiology.umc.edu/themodelingworkshop
[13]
Raymond, G. M., Butterworth E, Bassingthwaighte J. B.: JSIM: Free
Software Package for Teaching Physiological Modeling and Research.
Experimental Biology 280, 2003, s.102-107
Poďakovanie: Práca je podporovaná Grantem MŠMT 2C06031 –"e-Golem" a
spoločnosťou Creative Connections s.r.o.
Jackson Cardiovascular-Renal Meeting 2008
Jiří Kofránek, Jan Rusz, Marek Mateják: From Guyton's graphic diagram to
multimedia simulators for teaching physiology. (Resurection of Guyton's Chart
for educational purpose) Proceedings of the Jackson Cardiovascular-Renal
Meeting 2008. (Stephanie Lucas Ed), CD ROM
Jackson Cardiovascular-Renal Meeting 2008
FROM GUYTON'S GRAPHIC DIAGRAM TO MULTIMEDIA SIMULATORS FOR
TEACHING PHYSIOLOGY (RESURRECTION OF GUYTON’S CHART FOR
EDUCATIONAL PURPOSE)
Jiří Kofránek, Jan Rusz, Marek Matejak
st
Laboratory of Biocybernetics, Department of Pathophysiology, 1 Faculty of Medicine, Charles University,
Summary:
Prague, Czech Republic
The authors describe an implementation of a classic many ‐times‐copied Guyton's circulatory‐systemcontrol chart in the Simulink environment. They point out that there were mistakes in the original
pictographic chart that were necessary to be corrected before the implementation. The appearance of the
model has been preserved in the Simulink similar to the Guyton's graphic chart ‐the scheme layout, the
wiring placement, the quantity names and the block numbers are the same. The model behaviour
demonstrates the pathogenesis of different pathological states truly enough to be used for teaching of
physiological regulatory systems in the biomedical‐engineering‐students education, as well as as a
theoretical basis for a multimedia simulator, created in the .NET environment and web ‐accessible for
medicine students at Charles university in Prague.
1. Introduction:
Thirty‐six years ago, an especial article appeared in Annual Review of Physiology, Guyton et al. 1972
[4] that surpassed all the traditional papers on physiology of that time. It was introduced by a large
diagram in a tip‐in plate (a detail at Fig. 1). The chart full of lines and interconnected elements
reminded of an electrical device at first sight. Instead of the vacuum tubes or other electrical
components, coupled computational blocks (multipliers, divisors, summators, integrators, and
functions) were displayed here symbolising mathematical operations performed on the physiological
quantities. The leader bundles between the blocks expressed complicated feedback bindings. The blocks
were clustered into eighteen groups, each one representing a particular interconnected physiological
subsystem.
Fig. 1: A detail of the large circulatory‐dynamics chart
1
Jackson Cardiovascular-Renal Meeting 2008
2. A web of physiological regulations
In this completely new way, the Guyton's paper described physiological circulatory ‐system regulations and
wider context of other organism subsystems ‐kidneys, blood volume and ion balance etc. by a
mathematical model. Instead of listing sets of equations, graphical illustration of mathematical relations
was employed. This syntax enabled the author to depict the dependencies between particular
physiological quantities in the form of interconnected blocks representing mathematical operations.
The definition of the model consisted only of this basic (yet fully illustrative) figure. Comments and
justifying of the mathematical formulation were very brief, e. g., "blocks 266 ‐270 compute the influence
of the cellular pO2, the autonomous stimulation and the basal oxygene consumption on the real
tissue‐oxygene‐consumption rate". This required a high level of concentration (and even certain
physiological and mathematical knowledge) from the reader to understand the meaning of the
formalised relations between the physiological quantities.
One year later, in 1973, a monograph appeared [5] that explained many of the used approaches more in
detail. The Guyton's model was a milestone ‐it was the first large‐scale mathematical description of
physiological functions of coupled organism subsystems and launched a brand‐new research area, known
as integrative physiology today. The integrative physiology aspires to formalised description of the
interconnected physiological regulations, with computer models as the methodical tool. The main
activities in this branch are concentrated under the PHYSIOME project (Bassingthwaighte 2000, Hunter et
al. 2002) under the auspices of the International Union of Physiological Sciences (www.physiome.org), or
the project EUROPHYSIOME for the European Union respectively (www.europhysiome.org).
The Guyton's school kept on evolving the model. In 1983, Thomas Coleman, one of his scholars and
colleagues, built a model called "Human" intended mainly for the educational purposes [3]. "Human"
allowed simulation of a number of pathological states (cardiac and renal failure, hemorrhagic shock etc.) as
well as the influence of some therapeutic interventions (blood transfusion, artificial pulmonary ventilation,
dialysis and others). A modern interactive Java implementation of this model can be found at
http://venus.skidmore.edu/human.
The latest outcome of Guyton's followers is the Quantitative Human Physiology simulator [8] representing
the most complex and most extended model of physiological functions so far. The model has been created
as an open‐source Windows‐based project and all its aspects, including over 3000 variables and the
mathematical equations describing the physiological processes, have an XML text ‐readable description.
The simulator demonstrates human physiology applying whole ‐body properties, organs and multi‐organ
systems, users can view time‐dependent solutions and interactively alter parameters to investigate new
hypotheses. Model can be downloaded from http://physiology.umc.edu/themodelingworkshop/.
3. Implementation and errors in Guyton's chart
The Guyton's model and his further modifications were originally implemented in Fortran and later in C++.
Today, there are specialised software simulation tools available for its development, tuning and
verification. One of them is the Matlab/ Simulink environment by the MathWorks company, supporting
successive model assembly ‐the particular components can be joined into the simulation networks by
2
Jackson Cardiovascular-Renal Meeting 2008
computer‐mouse dragging of connecting lines. Simulink computational elements are very alike to those
used by Guyton for the formalised expression of physiological relations. The only difference is in their
graphic form.
This similarity (and also the last year's 35th anniversary of the idea publishing) has inspired us to
resurrect the old classic Guyton's chart and convert it in a functional simulation model [10]. In the
Simulink implementation, we have employed switches to turn on and off the particular subsystems and
regulatory loops even while running the simulation. We have tried to keep the outer model appearance
identical to the original graphic chart ‐the scheme layout, the wiring placement, the quantity names and
the block numbers are the same.
Fig. 2: The most significant errors in chart and their correction
The simulatory visualisation of the old diagram was not as easy as expected ‐in the original model, several
mistakes were found. Although it does not matter in a figure, if we try to animate it in Simulink then the
model collapses as a whole instantly. There were not many of those errors ‐inverse signs, a divisor in place
of a multiplier, a mutually interchanged block connection, a missing decimal point in a constant etc.
However, they were sufficient for the model not to work. Some of them were evident even with no
physiology knowledge ‐it was obvious from the chart that during the run, the values in some integrators
would (due to the wrongly applied feedback) steeply increase to the infinite and the model would break
down. With some physiological and system‐analysis background and with some effort, all the mistakes
could be found eventually (Fig. 3). A detailed description of the errors and the corrections provides
Kofránek [10].
3
Jackson Cardiovascular-Renal Meeting 2008
It is interesting, that Guyton’s chart was many times overprinted as a complicated picture in several
publications [7] and nobody made an effort to fix these errors. After all, at the time the pictographic chart
was created, there had been no convenient drawing tool yet – the picture had originated as a complex
schematic figure – and to copy it manually was not so easy. It is not impossible that the authors didn’t
even want to correct the errors – who took the pain over analysing the model, easily uncovered the
diagrams mistakes – who wanted to just blindly copy, failed.
The Fortran implementation was very typical for this time – because of the scant power of processors,
advanced numerical methods were engaged to accelerate the program run that were using a various
integration step in different part of the model. A direct conversion of the Fortran source to a Simulink
model results in a very confusing code [12].
Our implementation was based on original Guyton’s chart with graphical mistakes fixed. The point was in
creating a visual educational tool for the course Physiological regulatory systems. The model enables
connecting and disconnecting single loops, analysing individually regulation circuits and their importance
in development of particular pathological states.
The source code in Simulink of both the corrected original, and much more sophisticated late Guyton’s
model is available to download at http://www.physiome.cz/guyton, together with a detailed description
and explanation of all the mathematical relations included. As a new simulation framework for design and
implementation of simulation models we have chosen modern simulation language Modelica and we are
developing original framework ”ModelicaNet” based on Modelica.NET (see
http://patf‐biokyb.lf1.cuni.cz/wiki/modelica.net). Implementation of Guyton’s model in Modelica
simulation language is available to download at http://www.physiome.cz/guyton.
4. Experiments
The aimed resurrection was intended to produce a graphical application displaying all the regulatory
connections which would allow to verify the influence of the individual parameters on the progress of
pathological conditions. Since the first implementation in 1972, the basic pictographic model has been
many times upgraded, however, having brought it to life now give us a unique opportunity to apprehend
the circulatory‐dynamics physiology. This can be observed in the following experiments corresponding to
those published in Guyton’s first paper in 1972.
4.1. Hypertension in a salt‐loaded, renal‐deficient patient
This was the first and very fundamental experiment revealing the importance of kidneys in
blood‐pressure control and their influence of essential‐hypertension development.
Renal deficiency causing limited salt‐load‐elimination ability leads to an increase of the total
extracellular‐fluid volume and consequently of the blood volume after a higher salt and water intake. The
hypervolemia incites a cardiac‐output increase and the initial hypertension. Via the baroreflex, the
sympathetic activity is reduced which in combination with the vascular stretching effect of the elevated
4
Jackson Cardiovascular-Renal Meeting 2008
arterial pressure dilates the peripheral blood vessels so that the total peripheral resistance falls below
normal.
Fig. 4.1.: Simulation of hypertension in a salt‐loaded, renal‐deficient patient
This shows that all the initial arterial‐pressure increase is caused only by the raised cardiac output and not
by a change in total peripheral resistance. But as the regulatory mechanisms try to suppress the tissue
hyperperfusion, even the peripheral resistance starts to grow significantly after two days which becomes
the factor that eventually maintains the arterial hypertension, whereas the cardiac output is decreasing
towards the norm since the day 3 of the process.
The experimental simulation was run for an 8‐days time equivalent (Fig. 4.1.). In the day 1, renal mass was
decreased to 30 % of the norm by modifying the REK parameter (percent of normal renal function) of the
model. In the day 2, the salt intake was five‐times heightened compared to the norm by setting the
NID‐parameter (rate of sodium intake) value to 0.5.
5
Jackson Cardiovascular-Renal Meeting 2008
The results are displayed in the plots in Fig. 3: the initial renal mass reduction affected the monitored
variables only slightly, except of a moderate decrease in cardiac output due to simultaneous elevation of
total peripheral resistance and depressed urine production.
Applying the salt load caused more dramatic effects. The extracellular ‐fluid and blood volume arose
wherefore the cardiac output increased considerably and then stabilised, while the total peripheral
resistance fell, yet not enough to prevent the arterial‐pressure augmentation.
By 120 hours of simulation, the cardiac output had stabilised but the peripheral resistance was still rising.
As the arterial pressure continued increasing, this demonstrates that it is the peripheral resistance, not the
cardiac output, that is responsible for the long‐term arterial hypertension.
4.2. Nephrosis due to protein loss by plasma
Fig. 4.2.: Simulation of nephrosis due to protein loss by plasma
6
Jackson Cardiovascular-Renal Meeting 2008
Fig. 4.3.: Simulation of circulatory changes during severe muscle exercise
The second experiment illustrates the progress of a nephrotic edema caused by a plasma ‐protein loss. The
principal effect of nephrosis consists of urine protein excretion that may not be associated with any
significant changes in other renal functions. A deficit of the total plasma protein reduces the oncotic
pressure, resulting in a fluid redistribution from the blood to the interstitial compartment and an increase
of the (mostly free‐) interstitial‐fluid volume. Another effect is a mild cardiac‐output and arterial‐pressure
decrease.
A 12‐days simulation was run (Fig. 4.2.). In the day 1, the plasma‐protein loss was seven‐times multiplied
7
Jackson Cardiovascular-Renal Meeting 2008
by setting the DPO parameter (rate of plasma‐protein loss) to 0.05 g/min. After 7 days, the value was
reduced to 0.02 g/min which is still three‐times above the norm.
The initial hypoproteinemia only slightly decreased both arterial pressure and cardiac output but induced a
notable restriction of the urinary output. Thus the fluid was being retained in the organism causing the
interstitial swelling, although the volume of the free interstitial fluid remained relatively unchanged until
the interstitial‐fluid pressure stayed negative. After it reached positive values, an apparent edema
occurred with a sharp drop in the arterial pressure. As soon as the renal protein loss returned to the level
of possible liver compensation capacity by plasma protein production in the day 8 of the experiment, the
edema receded which was accompanied by high diuresis and cardiac‐output adjustment.
4.3. Circulatory changes during severe muscle exercise
Next experiment describes simulation changes of extremely severe exercise.
A 5-minutes simulation was run (Fig. 4.3.). In the half minute, the exercise activity was sixty times their
normal resting level changed by setting the EXC parameter (exercise activity-ratio to activity at rest) to 60.
After 3 minutes exercise was over, the value was set back to 1.
At the onset of exercise, cardiac output and muscle blood flow increased considerably and within
seconds. Urinary output fell to its obligatory level while arterial pressure rose moderately. Muscle cell
and venous P02 fell rapidly. Muscle metabolic activity showed an instantaneous increase, but then
decreased considerably because of the development of a metabolic deficit in the muscles.
When exercise was stopped, muscle metabolic activity fell to below normal, but cardiac output, muscle
blood flow, and arterial pressure remained elevated for a while as the person was repaying his oxygen
debt.
4.4. Atrioventricular fistula
A 8-days simulation was run (Fig. 4.4.). In the day 1, a fistula, which would double cardiac output was
increased 5% normal by setting the FIS parameter (fistula) to 0.05. After 5 days fistula was closed, the
value was set back to 0.
Opening the fistula caused an immediate dramatic change in cardiac output, total peripheral resistance,
and heart rate. Urinary output decreased to obligatory levels. As the body adapted, extracellular fluid
volume and blood volume increased to compensate for the fistula with the result that after a few days
arterial pressure, heart rate, and urinary output were near normal levels, while cardiac output doubled
and peripheral resistance halved.
When the fistula was closed, dramatic effects again occurred with rapid decrease in cardiac output, rapid
increase in peripheral resistance, moderate increase in arterial pressure, and moderate decrease in heart
rate. Marked diuresis reduced extracellular fluid volume and blood volume to normal or slightly below.
After several days, the patient was nearly normal.
8
Jackson Cardiovascular-Renal Meeting 2008
Fig. 4.4.: Simulation of atrioventicular fistula
5. Conclusion
The implementation of Guyton's model as an interactive control scheme is a helpful educational
instrument for our biomedical‐engineering students. However, the intricate web of physiological
9
Jackson Cardiovascular-Renal Meeting 2008
regulatory systems of the chart is hardly intelligible to medics and medicine students who would prefer
interactive picture animations of a physiological atlas, extended by plots, diagrams and explaining texts.
Therefore this model is only a theoretical basis for an educational web ‐accessible simulator which still
represents a long and hard future development that can be partially simplified by using suitable tools
[11]. We have started a new educational tool “Atlas of physiology and pathophysiology”
(www.physiome.cz/atlas) that combined interactive animation with simulation models in the
background of multimedia interactive user interface.
The most valuable advantage of this work lies in the resurrection of the original Guyton's chart, now
available for anyone interested. The previously described (and similar) experiments are of fundamental
importance for understanding of the pathogenesis of different disorders that is essential both for
biomedical engineers, and for medical doctors.
References
[1]
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]
[10]
[11]
Abram SR, Hodnett BL, Summers RL, Coleman TG, Hester RL (2007). Quantitative Circulatory
Physiology: An Integrative Mathematical Model of Human Physiology for medical education.
Advannced Physiology Education, 31 (2), 202 ‐210.
Bassingthwaighte JB (2000). Strategies for the Physiome Project. Annals of Biomedical
Engeneering, 28, 1043‐1058.
Coleman TG and Randall JE (1983). HUMAN. A comprehensive physiological model. The
Physiologist, 26 (1), 15‐21.
Guyton AC, Coleman TA, and Grander HJ (1972). Circulation: Overall Regulation. Ann. Rev.
Physiol., 41, 13‐41.
Guyton AC, Jones CE, and Coleman TA (1973). Circulatory Physiology: Cardiac Output and Its
Regulation. Philadelphia: WB Saunders Company.
Hunter PJ, Robins P, Noble D (2002). The IUPS Physiome Project. Pflugers Archive ‐European
Journal of Physiology, 445, 1‐9.
Hall JE (2004). The pioneering use of system analysis to study cardiac output regulation. Am.
J. Physiol. Regul. Integr. Comp. Physiol., 287, R1009 ‐R10011.
Hester RL, Coleman T, Summers T (2008). A multilevel open source integrative model of
human physiology, FASEB J., 22, 756.8.
Kofránek J, Andrlík M, Kripner T, Stodulka P (2005). From Art to Industry: Development of
Biomedical Simulators. The IPSI BgD Transactions on Advanced Research 2 (Special Issue on the
Research with Elements of Multidisciplinary, Interdisciplinary, and Transdisciplinary: The Best
Paper Selection for 2005), 62‐67.
Kofránek J, Rusz J, Matoušek S (2007). Guytons Diagram Brought to Life ‐from Graphic Chart to
Simulation Model for Teaching Physiology. In: Technical Computing Prague 2007. Full paper
CD‐ROM proceedings. (P. Byron Ed.), Humusoft s.r.o. & Institute of Chemical Technology, Prague,
ISBN 978‐80‐78‐658‐6, 1‐13. The paper, incl. the source code, is available online at
http://phobos.vscht.cz/konference_matlab/MATLAB07/#k
Stodulka P, Privitzer P, Kofránek J, Tribula M, Vacek O (2007). Development of WEB accessible
medical educational simulators. In: Proceedings of the 6th EUROSIM Congress on Modeling and
Simulation, Vol. 2. Full Papers (CD). (B. Zupanic, R. Karba, S. Blažič Eds.), University of Ljubljana,
ISBN 978‐3‐901608‐32‐2, MO‐3‐P4‐2, 1‐6. The paper is available online at
http://patf‐biokyb.lf1.cuni.cz/wiki/_media/clanky/
10
Jackson Cardiovascular-Renal Meeting 2008
[12]
[13]
Thomas SR, Baconnier P, Fontecave J, Francoise JP, Guillard F, Hannaert P, Hernándes A, La Rolle
V, Maziere P, Tahi F, White W (2008). SAPHIR: a physiome core model of body fluid homeostasis
and blood pressure regulation. Phil. Trans. R. Soc., 366, 3175‐3197.
Van Vliet BN, Montani JP (2005). Circulation and fluid volume control. In: Integrative Physiology in
the Proteomica and Post Genomics Age. Humana Press, ISBN 918‐1‐58829‐3152, 43‐66.
Acknowledgement
This research was supported by aid grant MŠMT 2C06031 and Creative Connections Ltd.
Address of author for correspondence
Jiří Kofránek, M.D., Ph.D. Laboratory Laboratory of Biocybernetics, Dept.of Pathophysiology U nemocnice 5,
128 53 Prague, Czech Republic [email protected]
11
Digital Technologies 2008
Jan Rusz, Jiří Kofránek: Tools development for physiological educational
simulators. In Digital Technologies 2008 (Editor: Daša Ticha) [CD-ROM]. Žilina:
University of Žilina, Fakulty of electrical engineering, 2008, vol. 1, ISBN 978-808070-953-2, 4 strany (CD ROM)
Tools development for physiological educational simulators
Jan Rusz1, Jiří Kofránek2
Faculty of Electrical Engineering, Czech Technical University in Prague
Department of Pathophysiology, 1st Faculty of Medicine, Charles University in Prague
[email protected], [email protected]
1
2
Abstract — One of our main goals is to
incorporate the usage of computers into the process
of education. The aim of the work lies in the
development of applications that would demonstrate
non-trivial physiological systems behavior, their
dynamics and regulation. In the process of the
development of simulators, our main focus is creating
the model and creating high quality animations to
visualize the simulation results. In this paper, we
describe our approach to usage of simulators, the
development of these applications, their layered
architecture and technologies we use. We use Matlab/
Simulink for creating physiological models, .NET
framework or Control Web as the main platforms and
Adobe Flash for controllable animations. Simulation
models are used for biomedical-engineering-students
education, as well as a theoretical basis for a
multimedia simulator for medicine students at
Charles University in Prague and biomedical
engineering students at Czech Technical University
in Prague.
1
professions – experienced pedagogue creating basic
scenario, creators of simulation models, medics,
artists and programmers. This interdisciplinary
collective production is being effected by using useful
tools, which enable a component creation, connection
of simulating programs and interactive multimedia
according to given scenario to compact complex.
There are two types of problems which we have to
consider during the creation of simulation model.
First is the theoretical research itself, which basis in
formalization of physiological relations expressed by a
mathematical model. In our case, problem was solved
within the branch of research grants and research
purposes. Second problem is creating an own
multimedia simulator, or more precisely creating an
educational program which uses simulation games –
is the practical application of the theoretical results
which is related to the results of the research. The
principle of creating the simulator is in the creation or
verification of mathematical models.
INTRODUCTION
The development of personal computers and internet
in the end of last century brought new opportunities
for a practical use of simulating models. Simulating
model doesn’t have to be just a tool for scientific
research but also a very useful educational tool.
Educational programs with simulating components
aren’t just a multimedia replacement of traditional
textbooks. They are new educational tools, where old
J. A. Komensky’s credo "Schola Ludus" (School of
game) finds its modern usage [1]. Connection of
multimedia environment (sound and visual interface)
with simulating models enables students to become
familiar with problem in virtual reality and brings
entirely new possibility for explanation of difficult
problems. In simulating game, behavior of simulated
object can be tested without any risks. You can try e.g.
land with virtual airplane, cure virtual patient or test
behavior of particular physiological subsystems.
Simulating games can clearly explain complex
relations in physiological regulating systems and
causal chains in pathogenesis of all sorts of diseases.
2 PRINCIPLE OF DEVELOPING
SIMULATORS
Development of effective educational program, which
combines multimedia with simulation games [2-4]
isn’t easy and expects a working team of many
Figure 1: Two types of problems during
educational models development
We are using more software technologies to build
simulators, because we haven’t found a single
environment that would satisfy all our needs
regarding effective visual expressiveness of
physiological models, richness and maturity of the
resulting simulators user interface and the ability to
produce standalone and web-accessible applications.
Generally we use either Microsoft .NET or Control
Web as the base platforms we build upon. The models
are created in Matlab Simulink and the animations
created in Adobe Flash are used as a user interface
[5]. We have spent significant amount of time on
development of our own unique tools that allow the
Simulink model to be used in a .NET or Control Web
application [6]. Flash animations are inserted into the
form of ActiveX objects.
final output of the Wizards is a Matlab independent
dynamic library.
Figure 3: Example of “non-muscle oxygen
delivery” subsystem created in Simulink as a graphic
chart (left) and same subsystem as a simulation chips
(right).
3
Figure 2: Development cycle of simulator
application
2
MATLAB/SIMULINK
We use Simulink from Mathworks company as a
modeling tool providing graphical design and
simulation of mathematical models. Simulink allows
us to gradually create models using single components
connected to each other by a simulating net, which
can remind us of electronic circuits. We can
graphically express very complicated mathematical
relations in Simulink. The created net is not only a
well-arranged illustration; it is at the same time a
functional simulating model. To each element we can
we can add a virtual display or oscilloscope. After
starting the simulation we can see the numerical or
graphical form of the values flowing thru the
connectors. Elements of a model can be grouped and
hierarchically ordered, giving rise to subsystems with
user defined inputs and outputs. We have adopted the
concept of simulation chips that represent the building
blocks of our simulation models. Another Matlab
toolbox, Real-Time Workshop (RTW), exports the
model as a C/C++ code. This code consists of a
routine that executes the model logic, a structure that
holds the model data and an ODE solver. We have
developed two new RTW targets (we call them
Wizards) that transform this code to be compatible
with the .NET or Control Web. For the .NET the code
is wrapped in a C++ .NET class that exposes the
model’s inputs and outputs as its interface. For
Control Web the code is transformed into a C++ class
that implements the interface making it possible to be
used as a virtual driver in a CW application. Thus, the
THE .NET PLATFORM
The .NET represents a modern and strong platform
that allows rapid and comfortable application
development with support for visual design of the
GUI, creation of custom visual controls and the web
deployment. The .NET platform is nowadays most
supported for Windows, but open source projects such
as Mono or Portable.NET promise the future of
portable Simulator based on this platform.
Verification relationships formalization
Figure. 4: Example of educational simulator
created in .NET platform
4
CONTROL WEB
Control Web of the Moravian instruments company
is a platform mainly intended for development of
industrial visualization and control applications on
the WIN32 platform. It is optimized for realtime
controlling and visualization. Its visual framework is
component based and gives a great efficiency and
rapid application development. We used the Control
Web platform mainly for its advantages such as rapid
prototyping and easy visual interconnection of model
and visual controls.
Figure 5: Example of a renal function simulator
(up) in Control Web and virtual device generation
(down) for Control Web
5
FLASH
Although it is possible to create the presentation layer
of the application using standard or custom made
.NET (or CW) visual components, for more
sophisticated visualizations we use movie clips
created in Adobe Flash. Fundamental feature of these
animations is the possibility to control them
programmatically (using Action Script) and thus
affect the presentation. It is also possible to get the
user input from a Flash clip and that way create
animated user controls.
As the execution speed of the Flash and Action Script
is increasing over the time, it is a good platform for
implementation of simulators based on less komplex
models. Pure Flash based simulators are very portable
and in-browser what is the most desirable deployment
scenario for our simulation games. Some of our Flash
based simulators can be seen in our Atlas of
Physiology and Pathophysiology [6]. In our complex
simulators based on the .NET or Control Web the
Flash animations are embedded as ActiveX objects.
Their behavior is than controlled by the underlying
model layer.
Figure 6: Demonstrating of right heart failure (up)
and plasma buffer system (down) in Flash
6
LAYERS
In case of more complicated architecture the logic of
connection between the flash animation and the
simulation model can be relatively complex; therefore
it is preferable to input an operation layer between
layer with visual elements and the layer with
simulation model. This operation layer takes care of
the communication logic between user interface and
the model. Between model layer and GUI layer is
useful paste a control layer, where are directed all
messages and events in the virtual GUI machines and
where are simultaneously solved all communications
with the model. The layer solves all context of
imaging data and appropriate requirements on
communication with the model by using finite state
machines [7]. Logic is concentrated to one place,
which essentially saves time through modification of
GUI or model changes.
[4]
[5]
[6]
Figure 7: Architecture layers along simulators
developing
7
CONCLUSION
We have shown our motivations for using simulators
as simulation games in medical education. Our main
improvement is usage of rich graphical user interface
as a gaming element in simulators based on complex
models. We use Matlab/Simulink for physiological
modeling, Adobe Flash for controllable animations
and the .NET or Control Web as the base
environment. We have developed a unique way of
exporting the Simulink model into the .NET
framework and into the Control Web platform.
Acknowledgments
This work was supported by research MSM
0021620806 and by aid grant MŠMT 2C06031 and
BAJT servis s.r.o company and by the research
program “Transdisciplinary Research in Biomedical
Engineering” No. MSM6840770012 and by the grant
„Analysis and modelling biological and speech
signals”, GAČR č. 102/08/H008.
References
[1]
[2]
[3]
Comenius Johann Amos (1592-1670): The
Great Didactic. ed. by M. W. Keatinge (PDF
files at Roehampton), available on:
http://onlinebooks.library.upenn.edu/webbin/
book/lookupid?key=olbp34684
Clark Aldrich's web page:
http://clarkaldrich.blogspot.com/2007/03/im
mersive-learning-simulation_14.html
Kofránek J, Andrlík M, Kripner T, Stodulka
P.:From Art to Industry: Development of
Biomedical Simulators. The IPSI BgD
Transactions on Advanced Research 1
#2[Special Issue on the Research with
Elements
of
Multidisciplinary,
[7]
Interdisciplinary, and Transdisciplinary: The
Best Paper Selection for 2005], 63-68. 2005.
New York, Frankfurt, Tokyo, Belgrad. 2005.
Journal (Full)
Kofránek J, Andrlík M, Kripner T.:
Multimedia educational simulators in
pathophysiology – how to design and why to
use them. In: Gamal Attiya and Yskandar
Hamam editors. Proceedings of the 5th
EUROSIM Congress on Modeling and
Simulation. Full Papers CD Volume.; Marne
la Vallee, Paris, France: Eurosim Francosim - Argesim; 2004. p. Simulation in
Education 22-27.
Atlas of physiology and pathophysiology
available on: http://physiome.cz/atlas
Stodulka, P., Privitzer, P., Kofránek, J.,
Tribula, M., Vacek, O. Development of WEB
accessible medical educational simulators.
In. Proceedings of the 6th EUROSIM
Congress on Modeling and Simulation, Vol.
2. Full Papers (CD). (B. Zupanic, R. Karba,
S. Blažič Eds.), University of Ljubljana,
ISBN 978-3-901608-32-2, MO-3-P4-2, 1–6.
2007. Available on:
http://patfbiokyb.lf1.cuni.cz/wiki/_media/clanky/
Harel, D.: Statecharts (1987): A visual
formalism for complex systems. Science of
Computer Programming, vol. 8, 1987, 231274.
Technical Computing Prague 2008
Jiří Kofránek, Marek Mateják, Pavol Privitzer: Causal or acausal modeling:
labour for humans or labour for machines. In Technical Conmputing Prague
2008, 16th Annual Conference Proceedings. (Editoři: Cleve Moler, Aleš
Procházka, Robert Bartko, Martin Folin, Jan Houška, Petr Byron). Humusoft
s.r.o., Prague, 2008, ISBN 978-80-7080-692-0. CD ROM, str. 1-16, [Online]
http://www2.humusoft.cz/kofranek/058_Kofranek.pdf
CAUSAL OR ACAUSAL MODELLING: LABOUR FOR
HUMANS OR LABOUR FOR MACHINES
J. Kofránek, M. Mateják, P. Privitzer, M. Tribula
Laboratory of Biocybernetics, Institute of Pathological Physiology, First Faculty of Medicine, Charles
University in Prague
Abstract
Models designed using classical Simulink networks provide a clear graphic
visualization of individual mathematical relationships. Signals flow in connections
between individual blocks, transmitting values of individual variables from the
output of one block to inputs of other blocks. Processing of input information to
output information takes place in the blocks. Interconnection of the blocks in
Simulink thus reflects rather the calculation procedure than the very structure of the
modelled reality. This is the so called causal modelling. However, it is important in
designing and especially presenting and describing the model that the very structure
of the model, rather than the very algorithm of the simulation calculation, captures
well especially the physical essence of the modelled reality. Therefore, declarative
(acausal) notation of models is starting to be used in a growing extent in modern
simulation environments; this means that individual components of the model
describe the equations directly and not the algorithm of their solution. By
interconnecting individual components, the systems of equations become connected
with each other. Interconnection of the components does not define the calculation
procedure but the modelled reality. The way of solving the equations is then “left up
to the machines”. Application of acausal approach has been made possible by new
Simulink libraries Simscape, and linked domain libraries SimElectronics,
SimHydraulics, SimMechanics etc. Modelica is a modern simulation language built
directly on acausal notation of models. Implementation of this language of the
company Dynasim is interesting for Mathworks products users as it allows for direct
connection with Simulink and Matlab (Modelica is implemented under the name
Dymola in this case).
1
Introduction
An article was published in the journal Annual Review of Physiology [3] 36 years ago, whose form
surpassed at the very first sight the accustomed form of the then physiological articles. It was
introduced by a large diagram pasted in as an attachment (Fig. 1). At the first sight, the diagram full of
lines and mutually connected elements remotely resembled a drawing of some electrotechnical device.
However, instead of tubes or other electrotechnical parts, computational blocks were shown in the
diagram (multiplication, division, summation, integration, functional blocks), symbolizing
mathematical operations performed with physiological quantities. Bunches of connecting conductors
between the blocks seemed at the first sight to express complex feedback interconnection of
physiological quantities. The blocks were grouped in 18 groups, representing individual
interconnected physiological subsystems.
The very article gave a quantitative description of physiological regulation of the circulation
system in a manner absolutely new in the then medical professional literature, as well as its connexion
with and linkage to other subsystems of the organism – the kidneys, regulation of volumetric and
electrolyte equilibrium etc. Instead of writing a set of mathematical equations, the article made use of
graphic depiction of mathematical relationships. This syntax made it possible to provide a graphic
depiction of connexions among individual physiological quantities in the form of interconnected
blocks representing mathematical operations. These elements are very similar to Simulink blocks;
there is a difference only in their graphic shape.
Technical Computing Prague 2008. Conference Proceedings. Prague, 2008,
Figure 1: Extensive diagram of the physiological circulatory regulations according to A. C. Guyton et
al from 1972
This resemblance inspired us to bring the old classical Guyton’s diagram back to life using
Simulink, and to transform it into the shape of a functional simulation model. We developed an effort
to preserve the outside appearance of the Simulink model quite the same as that of the original graphic
diagram – the layout, placement of conductors, quantity names as well as block numbers. We reported
on this implementation last year [10].
2
Web of Physiological Relationships in Simulink
Simulation visualization of the old diagram was not quite easy – there are namely mistakes in the
original image diagram of the model! This is no problem in a drawn picture; however, upon
attempting at bringing it to life in Simulink, the model collapses as a whole immediately. Not many
mistakes were found – switched signs, a division block instead of a multiplication one, switched
connection between blocks, missing decimal point in a constant etc. However, they were enough to
make sure the model did not function (Fig. 2). Some mistakes could be seen at the first sight (even
without any physiological knowledge) – it is apparent from the diagram that during the run of the
model, value of some quantities in some integrators (due to wrongly indicated feedback) would rise
quickly to the infinite and the model would collapse. However, with knowledge of physiology and
system analysis, all the mistakes could be found upon exerting some effort. For a detailed description
of the mistakes and their corrections see [10].
It is interesting that the Guyton’s diagram as a complex image has been reprinted many times in
various publications (recently, see for example [5, 12]). However, no one called attention to the
mistakes and took the trouble to remove them. This was understandable in the times the image-based
diagram was being created. No drawing programs existed – the image was created as a complex
manual drawing – and manual redrawing of the complex diagram was not easy. However, it is also
possible that the model authors themselves did not really want to correct the mistakes perhaps – those
who took the trouble analyzing the model revealed the image “spelling mistakes”; those who wanted
2
Technical Computing Prague 2008. Conference Proceedings. Prague, 2008,
nothing but copy the diagram mindlessly had bad luck. After all, in those times, the authors also
mailed out source program codes of their model in the Fortran programming language – thus if
somebody wanted only to test the model behaviour, there was no need to program anything (perhaps
only to perform a routine conversion from Fortran to another programming language at the
maximum).
Our Simulink implementation of the (corrected) Guyton’s model (Fig. 3) is available to those
interested at www.physiome.cz/guyton. On this website, our Simulink implementation of a much more
complex model version of Guyton et al from subsequent years can be found, as well. At the same time,
very detailed description of all the mathematical relationships applied is presented together with the
reasons.
Figure 2: Correction of the most significant errors in the model of A. C. Guyton et al.
3
Block-Oriented Simulation Networks
The Guyton’s block diagram augured occurrence of block-oriented simulation languages. However, in
the year 1972, Guyton himself and his collaborators implemented the model in Fortran – Simulink
version 1 was not marketed until 18 years later (in 1990). Block-oriented simulation languages,
Simulink being one of their typical representatives, make it possible to set up computer models using
individual hierarchically arranged blocks with defined inputs and outputs. It is apparent from such a
hierarchically arranged block-oriented description how the values of individual variables are
calculated in the model – i.e. the computational algorithm. The blocks can be grouped into individual
subsystems, which communicate with the surrounding environment through defined input and output
“pins”, thus representing something like “simulation chips”. A simulation chip hides the simulation
network structure from the user, similarly as an electronic chip hides the interconnection of individual
transistors and other electronic elements. The user can thus be concerned only with the chip behaviour,
without having to take care of its inner structure and the computational algorithm. Behaviour of a
simulation chip can be thus tested by observing the outputs on connected virtual displays or virtual
3
Technical Computing Prague 2008. Conference Proceedings. Prague, 2008,
oscilloscopes. This is very advantageous especially in testing the model behaviour and to express
mutual dependencies among variables. The entire complex model can be then displayed as
interconnected simulation chips, while it is clear from the structure of their mutual connections what
effects are taken into account in the model and how.
NON-MUSCLE OXYGEN DELIVERY
MUSCLE BLOOD FLOW CONTROL AND PO2
260
OSV
168
269
237
239
5
PK1
PK3
RDO
40
2688
lower limit 50
5
238
198.7
u^3
263
5
PM4
DOB
231
P2O
2400
x
1 o
s
200
235
265
P2O
upper limit 8
224
271
POT^3
1
s
HM
xo
271
7.983
60
234
BFN
P3O
242
223
1
u^3
P3O^3
233
250
244
OVA
POM
200
QO2
0.00333
8.0001
PVO
40
POT
1
RMO
57.14
lower limit .005
251
248
1
272
upper limit 8
P1O
232
OSA
255
POE
1
241
2400
u^3
1
8
Xo
MO2
8.0001
AOM
DVS
5
252
247
0.7
256
264
0.08
PM5
PMO
0.5
2.859
249
8
VPF
POT
PDO
243
122
2.8
8
1
1
253
0.25
-1
1
s x
o
OVA
225
P4O
266
236
QOM
BFM
P40^3
1
246
230
OVA
257
512
267
0.15
u^2
PM1^2
2500
40
POV
AMM
1
s xo
02A
226
262
254
lower limit .001
258
POT
AU
1
229
RMO
245
PMO
800
227
5
268
PM3
240
PK2
259
0.7
POV
270
228
BFM
1
xo
261
AOM
1
1
s
57.14
02M
512
EXC
HM
40
1
0.0125
PVO
40
8
0.9999
1
NON-MUSCLE OXYGEN DELIVERY
VASCULAR
STRESS
RELAXATION
MUSCLE BLOOD FLOW CONTROL AND PO2
260
OSV
168
237
239
5
PK1
258
PK3
OVA
2688
lower limit 50
238
198.7
236
QOM
BFM
OVA
P40^3
225
DOB
1
s
235
265
HM
xo
271
223
POT
PDO
512
EXC
HM
upper limit 15.0
lower limit 0.4
RFN
NOD
0.1024
201
213
207
214
CNA
142
184
lower limit 3
139
0.025
2.5
177
PRA
0
CNX
178
179
CNE
10
AHY
180
AHZ
1
s
AH7
AHM
1
0.0007
2
181
REK
28
0.14
AH
222
0.001
1.2
RFN
1.2
1
0.3333
CNR
RBF
RBF
100
AOM
0.9864
AMM
182
CN8
1.2
RFN
1
1
s
183
176
1
175
CNY
lower limit 0
AUM
0.9999
AH1
158A
6
AM
AHM
1
lower limit 0.35
PVO
AHC
185
0.0785
187
10u
CNZ
1.2
ARF
195
0.3
40
40
6
AH2
NOD
221
1
0.0125
186
AH4
6
AHM
GP3
1
249
8
189
AHM
0.9996
0.1
215
APD
202
196
AAR
243
122
VPF
188
1
220
216
1
1.5
PMO
0.5
2.859
AM
211
0.5
0.08
PM5
2.8
8
217
210
1
POM
0.00333
8
GF4
GF3
1
s xo
VIM
1
u^3
P3O^3
233
200
POT
203
GF3
197
VVE
OVA
QO2
TVD
0.0009964
0.009
0.301
250
244
191
0.01
algebraic
loop
breaking
VIM
0.01028
60
0
190
5
VV7
1
P3O
242
lower limit 0
Z11
AHM
1000
1
31.67
VV7
VV1
62
1
234
40
P1O
57.14
PVO
TVD
4
Z10
219
8.0001
1
BFN
272
upper limit 8
232
OSA
255
1
s
194
STH
8.25
1
GLP
63
61
224
271
POT^3
193
1
STH
0.001022
1
209
PPC
51.66
18
VV6
VV2
lower limit .005
251
248
AAR
198
33
POE
1
7.983
241
2400
u^3
252
P2O
upper limit 8
RMO
VUD
0.001
TRR
0.8
212
0
1
8
Xo
DVS
192
POT
8
VUD
lower limit 0.0003
AAR
SRK
AOM
P2O
2400
xo
5
218
GFR
208
0.25
247
0.7
231
200
MO2
8.0001
THIRST AND DRINKING
206
0.125
0.00781
PFL
199
-1
256
264
P4O
GFN
205
1
s
VV7
PM4
1
s xo
263
5
u^3
266
KIDNEY DYNAMICS AND EXCRETION
200
65
1
253
64
5
257
40
1
EVR
512
267
0.15
RR
1
246
230
POV
AMM
1
s xo
226
40
RDO
254
02A
u^2
PM1^2
2500
262
POT
AU
1
lower limit .001
229
RMO
245
PMO
800
227
5
268
PM3
240
PK2
259
0.7
POV
270
228
BFM
1
xo
261
AOM
1
1
s
57.14
02M
269
AOM
0.9864
AMM
PPC
AM
1
1
AU
AH8
1
lower_limit_0
1
NON-MUSCLE LOCAL BLOOD FLOW CONTROL
40
POV
277
278
POB
276
274
275
POD
273
ARM
xo
AK1
1
POK
lower limit 0.2
0.06
1
40
AR1
1
s
xo
lower limit 0.5
1
20
AUM
PAM
RAR
1.011
AUM
283
286
284b
0.495
11520
lower limit 0.3
0.3
1
1
1
PA
VAE
PIF
8
VVS
VVS
2.8
lower limit 0.0001
VVE
0.0825
QVO
5
0
1
0
P2O
1
PLA
0
RPA
20
-4
1
s
VLA
0.4
57
301
304
PLA
0
107
xo
Z8
309
0
19
15.18
PLA
23
6
RPT
QPO
21
102
0.005
PRA
14
xo
VID
CKI
GP2
314
312
AUV
0.9993
AUL
VV9
PIF
AU
313
0.3
VIF
12
84
GPD
PTS
318
0.5
319
0.9998
8
70
PPA
150
0.4667
0.55
0.9994
137
AUM
0.4
1
s
0.000225
151
AVE
0.9997
138
VIE
0.375
PPD
32
327
0.0003
152
325
AU
5
0.5
HPL
DFP
142
xo
PPI = 2 - (0.15/VPF)
333
57600
0.1
348
343
40
93
94
PGC
PGR
0.01252
RC2
CHY^2
CNA
118
NED
0.25
119
xo
2130
0.1
1
s
NAE
CNA
142.1
142
PGP
NID
PGH
2
344
1
349
HMD
1
xo
1
s
1
HPL
1
xo
1
s
HPR
1
STH
0.1
1
VG
1
334
VRC
VRC
117
99
HMD
40
RKC
100
VPF
REK
u^2
PG2
95
PIF
upper limit 1
PTC
-1.154e-008
0.00042
NOD
1
s
57600
5
VPF
1
s
124
CKE
126
116
HM
VB
0.0125
5
123
125
96
V2D
xo
1
0.4
335
0.0000058
143
2-(0.15/u)
DFP
0
1
352
HPR
347
342
HM
PPI
PLF
1
DHM
1
336b
2
2
141
1
HEART RATE AND STROKE VOLUME
KE
120
KOD
98
xo
VRC
PFI
1
1
s
xo
75
0.013332
VGD
100
1
s
40
HMD
HMK
90
RCD
140
11
0.00014
122
KED
KID
11.4
PTT
0.0025
351
u^0.625 PP3^0.1
u^0.625 PA4^0.625
332
144
0.0003
121
0.0028
(u/12)^2
97
PPO
CPF
0
KCD
xo
PTT = (VTS/12)^2
331
PLF 145
PPI
2
PRA
321
324
140
6
PP3
346
341
336
PLF
POS
322
323
HR
5
1
s
350
345
2850
KE1
CKE
AM
1
HM2
RC1
KIR
127
0.013
85
POT
15
1
340
PPA4
0.5333
POS
PPC
139
SVO
PPA
HSR
100
1
464e-7
PPD
0
VIC
1
s
128
129
KIE
113
101
VTS
330
-9.648e-008
148
PPN
PCP
QLO
337
POY
147
AVE
11.98
PA
HSL
lower limit 0.2375
xo
1
AUTONOMIC CONTROL
130
KCD
VG
VG
8
15
100
1.5
3550
GPR
86
VTS
338
0.333
VPF
xo
1
s
10
PTS = f(VIF)
VIM
PO2
PPR
149
PPC
320
12
339
1
8.25
146
15
135
xo
25
1
s
xo
0
0.999
VIM
POT
329
PO1
CPN
CPP
28
136
AUH
88
0
0
VVR
2.949
AUH
1
1
171
112
1
s
VVR
2.95
0.7
AUY
0
134
131
KI
-6.3
xo
PLA
AUD
315
1
0.01
VIC
20
3.159
CCD
CNA
VID
87
VID
0
133
132
111
0.0005
VTD
0.21
0.85
1
8.154e-006
110
CIRCULATORY DYNAMICS
1
0.15
326
VIF
1
s
VTL
83
AUJ^AUZ
316
0.07026
xo
12
GPD
0
VPA
0.0048
VTC
1
s
1
IFP
0.002
AUJ
v
u
AU9
328
DPI
0.1
0.09477
0.38
0.30625
15
103
DPL
PRA
1
s
VPA
xo
311
AUN calculation
15
QRO
VPE
PPA
AUZ
1
310
1
AU
170
xo
ALDOSTERONE CONTROL
GP1
VRA
18
20
22
PGL
AU8
AUN
PTT
20
DPC
0.04
QRN = f(PRA)
1
s
AMC
lower limit 6
104
lower limit 4
20
-4
169
60
166
KN1
CNA
109
CPI
-6.334
PIF
0.25
QPO
PPA
AMT
AMR
200
165
CKE
5
9
1
s
VRA
PR1
0
1
0.00352
7.8
0.04
PRA
PPA
1
s
PTC
0
AMP = f(PA)
106
PIF
142
105
xo
QRN
51
AUH
0.026
308
0
PLD
0.004
20.18
CPI
0.1
13
1
RVM = f(PP2)
RPT
VTL
108
DPL
5
DRA
15
50
AUH
AUN
1
171
-0.017
168
AM1
DPL
lower limit 5
0.002
PTC
0
PP2
AU2
0.0005
305
AUB calculation
SVO
0.001879
5.045
12
QRO
16
52
PL1
DAU
AUK
AUB^3
AUB
0.03791
VTL
HMD
HMD
RVM
0.0357
20
DLA
24
AUN CALCULATION
317
QVO
1
HPR
1.4
55
lower limit 0
307
1
303
AU6
AUB CALCULATION
AUM
AM2
AM3
AMP
HSR
1
56
1
RPV
302
when PA1<50: AUN=6
when 20>PA1<50: AUN=0.2*(50-PA1)
when PA1>=50: AUC=0
19.8
167
PA
100
AUH
50
PP1
QLN = f(PLA)
xo
11
49
48
sqrt
QLO
1
AUC
when PA1<40: AUB=1.85718
AUB
when 40>PA1<170: AUB=0.014286*(170-PA1)
when PA1>=170: AUB=0
172
AM5
10u
1
RVM
53
QLN
VLA
25
EXC
Z12
CPA
54
AUC
AUC calculation
u^3
173
174
AM
1
ANM
164
2.738
VLE
0.4
AUC CALCULATION
PA1
AM
1
RVG
47
26
A1B
20.039
0.9984
QRF
44
0.1
295
8
296
1.24
PA1
PR1
PVS
0.6
QLN
15
4
293
297
when PA1<40: AUC=1.2
when 40>PA1<80: AUC=0.03*(80-PA1)
when PA1>=80: AUC=0
10
QLO
260
LVM = f(PA2)
28
8
3
EXE
ANGIOTENSIN CONTROL
DPC
VP
0.002
45
46
0.01453
27
298
0.03824
20
3
3.002
PVS
PLA
5.07
PLA
ANT
DPC
0.04
VP
1
s
VTL
0
100
POQ
15
CPI
71
VRA
PA2
LVM
8
upper limit 8
PA
lower limit 4
294
0.1
0
HMD
HPL
POT
POQ
158
AN1
ANM
152
xo
3
DFP
155
CNE
157
74
VPD
VUD
5
VPA
CNA
156
CP1
PC^3
VLA
58
QLN
1
10
154
142
1
s xo
(1.2/RFN)^3
10
75
70
0.001
VB
1.4
1
LVM
159
ANC
(1.2/u)^3
CPP
CPK
QLO
291
8
74
TVD
0.001
VVS
59
HSL
0.042
153a
RFN
1.2
69.76
CNE
PPC
160
AN2
10u
153b
60
VAS
PA1
0.001879
VTC
CV
3.3
161
AN3
4.0
REK
0.4
u^3
3.7
PA
29
5
QLO
AN5
lower limit 0.7
210
1.6283e-007
DAS
292
28
73
0.002
PVS
QAO
xo
VTC
PVS
0.3
162
163
1
1.004
ANM
1
s
CPP
VAS3
30
PA1
0.007
PTC
xo
3.25
QVO
PRP
16.79
9
VV8
PPC
69
-6.3
3.774
7
1
s
61
CPP
VP
CFC
2.95
DVS
BFN
PGS
100
AR3
1
s
xo
VAS
VBD
xo
0.85
POZ
289
32
1
s
if (POD<0) {POJ=PODx3.3}
VVR
6
2
RSN
68
72
VP
ANM
80
70
62
PVS
5
2.859
0.00355
33
0.33
A3K
VV7
0
QAO
BFN
100
31
288
VB
4
PA
POJ
16.79
2
0.3216
RBF
0.04
DPP
PC
VRC
VVE
100
284
POC
287
5
RVS
1.2
1
DLP
0.00047
5.002
BFM
DPL
78
LPK
CPR
17
PC
0.007
0
77
85
PC
VB
17
34
DP0
79
PPD
PVG
67
PVS
3.7
2.781
PAM
AUM
66
BFN
39
17
2.9
BFM
PGS
ANTIDIURECTIC HORMONE CONTROL
RVS
1.6379
0
2.8
41
CN2
CAPILLARY MEMBRANE DYNAMICS
2.9
1
s xo
0.2
0.0212
RV1
17
37
30.5
0.1
1
AR2
RV1
43
1
3
RAR
1
PON
41A
CN7
1.79
RVS
RSM
AUM
RAM
VIM
VIM
A2K
40
42
38
AMM
VIM
RAM
96.3
35
ANU
1.6
ARM
AR3
36
ANU
1
279
280
1
1
1
290
POA
281
AVE
lower limit 0.95
ARM
POR
1
282
285
ANM
1
0.9387
1
s
AR1
algebraic
loop
breaking
57
HYL
PTS
89
90
91
VIC
PIF
92
VPF
114
0.0125
115
VEC
CHY
39.97
VTW
PRM
-5.9
3
VP
VTW
24.2
12
VTS
0.0125
PULMONARY DYNAMICS AND FLUIDS
RED CELLS AND VISCOSITY
HEART HYPERTROPHY OR DETERIORATION
TISSUE FLUIDS, PRESSURES AND GEL
ELECTROLYTES AND CELL WATER
Figure 3: Implementation of the model of A. C. Guyton et al in Simulink
This means a high advantage for multidisciplinary cooperation – especially in borderline areas
such as, for example, biomedical systems modelling [9]. An experimental physiologist is not forced to
examine in detail what mathematical relationships are hidden “inside” the simulation chip; however,
based on interconnection of individual simulation chips with each other he or she can understand the
model structure and can verify its behaviour in an appropriate simulation visualization environment.
Hierarchical block-oriented simulation tools have therefore found their significant application in
description of complex regulation systems, which can be seen in physiology. The international project
PHYSIOME is devoted to formalized description of physiological systems; it is the successor of
4
Technical Computing Prague 2008. Conference Proceedings. Prague, 2008,
GENOME project. GENOME project output was represented by detailed description of the human
genome; PHYSIOME is aimed at formalized description of physiological functions. Computer models
are used as the methodological tool [2, 7].
Several block-oriented simulation tools were designed as part of PHYSIOME project, serving as
a reference database for formalized description of the structure of complex physiological models. They
include JSIM [11] (http://www.physiome.org/model/doku.php) and also the CEllML language
(http://www.cellml.org/). Disciples and followers of Prof. Guyton expanded the original extensive
simulator of the circulatory system (Quantitative Circulatory Physiology [1]) by an integrated
connection of all important physiological systems. The simulator Quantitative Human Physiology is
the most recent result, which describes the currently most complex and most extensive model of
physiological
functions.
The
model
can
be
downloaded
from
http://physiology.umc.edu/themodelingworkshop/. In order to express the complex structure of the
model, its authors created a special, block-oriented simulation system, QHP.
4
Causal and Acausal Approach
Block-oriented tools use hierarchical connected blocks. Signals are transmitted through links between
individual blocks; the signals serve to transfer values of individual variables from the output of one
block to inputs of other blocks. Input information is processed in the blocks to output information.
Interconnection of blocks therefore reflects rather the calculation procedure than the very structure of
the modelled reality.
In complex systems, physical reality of the modelled system slowly disappears under the
computation structure thanks to this approach.
That is why in recent times, such tools are starting to be used in modelling complex systems, in
which individual parts of the model are directly described as equations and not as an algorithm of the
solution of such equations. This is the so called declarative (acausal) notation of models, unlike
causal notation in block-oriented languages where the (causal) description of the way of calculating
individual model variables must be (for example, also visually using graphic connection of individual
computational elements) expressed.
Acausal approach is made possible by the new Simulink libraries Simscape and linked domain
libraries SimElectronics, SimHydraulics, SimMechanics etc.
A modern simulation language built directly on acausal notation of models is the programming
language Modelica [4]. Originally, it was developed in Sweden and now is available both as an opensource version (developed under the auspices of the international organization Modelica Association,
http://www.modelica.org/), and in two commercial implementations. One of them is the commercial
implementation of the company Dynasim AB – purchased recently by the supranational concern
Dassault Systemes (marketed under the name Dymola, currently version 7.1) and the other one is
offered by MathCore (marketed as MathModelica). Dynasim Modelica provides good linkage to
Matlab and Simulink while MathModelica can connect with the Mathematica environment supplied by
the company Wolfram.
Modelica utilizes mutually connected components, which represent instances of individual
classes. Unlike implementation of classes in other object-oriented languages (such as jw C#, Java etc.),
classes in Modelica have a special section in addition, in which equations are defined. The equations
do not express assignment (i.e. saving of the calculation result of an assigned statement into a given
variable) but a definition of relationships among variables (as is the custom in mathematics and
physics).
In Modelica, components (instances of classes) can be connected through exactly defined
interfaces – connectors. Connectors are instances of connector classes in which variables used for
connection are defined. Connectors falling in the same connector classes can be connected (while in
these classes, variables of equivalent types can be connected). In other words – in the connection, the
type of plugs must correspond exactly to the socket types.
5
Technical Computing Prague 2008. Conference Proceedings. Prague, 2008,
The important thing is that by connecting the components, connection of sets of equations in
individual components with each other occurs actually. in cases an identical variable is defined in the
connector of connected components (and if it does not represent the flow – see further), by
establishing the connection it is defined that the value of this variable should be the same in all
components. When the variable is a part of equations in the connected components, by means of
connection we also define interconnection of the equations in which the given variable is found. At the
point where multiple components are connected, values of the variables connected through the
common point must be the same (similarly to voltage on the common terminal in electric circuits,
which must correspond to Kirchhoff’s first law). And not only that. In the connector, it is possible to
define that some connected variables shall represent the flow – in such a case, this means that values
of all variables marked in this way shall be set in all components interconnected at the same point to
such a value so that their algebraic sum is equal to zero (similarly to the sum of currents on the
common terminal in electric circuits, which must correspond to Kirchhoff’s second law).
If a variable marked in this way is a part of equations in interconnected components, another
equation is thus added to the connected set of equations, which defines the requirement of the zero
value of the algebraic sum of this variable’s values).
By means of connecting Modelica components, we thus do not define the computation
procedure but the modelled reality. The way of solving the equations is then “left up to the
machines”.
5
Generalized System Properties
e

e=Rf
C
q=Ce
R
p
p=Lf
q

L
f
Figure 4: Relationships among generalized system properties:
 e means generalized effort – matched by force in mechanics, voltage in electric
diagrams, pressure in hydraulics etc.
 f is generalized flow – matched by velocity in mechanics, current in electric
diagrams, flow in hydraulics, temperature flow in thermodynamics etc.
 q is generalized accumulation or deflection, represented by the generalized flow
integral. It is matched, for example, by spring stretching in mechanics, liquid
volume in hydraulics, charge in electric diagram, accumulated heat in
thermodynamics etc.
 p represents generalized inertance – generalized effort integral, representing
kinetic energy; matched by the flow velocity change proportional to pressure
difference (inertance of flow) in hydraulics, potential needed to change electric
current (induction) in electric circuits etc.
 R, C and L represent constants of proportionality among individual generalized
system properties. Matched, for example, by resistance, capacitance or mass.
6
Technical Computing Prague 2008. Conference Proceedings. Prague, 2008,
Depiction of the model in the acausal simulation environment thus resembles the physical reality of
the modelled world more than classical interconnected block schemata in Simulink or QHP. This is
related to generalized system properties of the real world (Fig. 4) in which generalized efforts (to
which the force, pressure, voltage etc. correspond in real world) and generalized flow (to which the
current, flow etc. correspond in real world) play an important role.
Provided that the reality is depicted in Modelica by means of connected components, then as for
flow variables, the value at the connection point must correspond to Kirchhoff’s second law (the
current cannot accumulate or be lost at the connection point), and equality must hold true for other
variables at the common connecting point (according to Kirchhoff’s first law).
In Modelica, there is a standard library of varied classes to model electric, mechanical,
hydraulic objects of the real world. Mathworks, too, has responded to development trends of acausal
modelling by creating Simscape toolboxes and linked application libraries to model electric circuits,
mechanical and hydraulic systems.
We shall illustrate the difference between modelling in block-oriented simulation tools and in
Modelica on two examples of modelling physiological reality: On the model of simple mechanics of
pulmonary ventilation and on implementation of a classical model of cellular membrane of the
neurone pursuant to Hodgkin-Huxley [6].
6
Pulmonary Ventilation Mechanics Model
Let us consider a simple model of pulmonary mechanics, shown schematically in Fig. 5. Upon
applying significant simplification, the lungs can be viewed as three bags connected using two tubes.
The lungs are connected to the ventilator of artificial pulmonary ventilation, which blows air into the
lungs periodically under the pressure PAO. P0 is the pressure of ambient atmosphere. The air flow Q
flows through upper respiratory tract whose resistance is RC. From the upper respiratory tract, air
struggles through the lower respiratory tract into alveoli. The resistance of the lower respiratory tract is
RP, the pressure in central parts of the respiratory tract (at the borderline of the upper and lower
respiratory tract) is PAW, pressure in alveoli is PA.
PAO
RP
RC
Q
QA
PAW
CL
PA
CW
PPL
P0
Q-QA
P0
CS
Q
QA
PAW
PAO
RC
Q-QA
RP
CS
PA
CL
PPL
CW
P0
Figure 5: Simple model of pulmonary mechanics (hydraulic and electric similarity)
7
Technical Computing Prague 2008. Conference Proceedings. Prague, 2008,
The air expands pulmonary alveoli whose elasticity is CL (as total pulmonary elasticity). The
interpleural cavity is found between the lungs and the chest. The pressure in the chest is PPL. In
artificial pulmonary ventilation in which case the air is blown into the lungs under pressure, the chest
must expand in addition – chest elasticity is CW. A small part of air, which does not reach all the way
to the alveoli only expands the respiratory tract – its elasticity is CS (the so called dead space
breathing).
Now the equations can be set up. According to Ohm’s law the following must hold true:
PAW  PA  RP QA
PAO  PAW  RC Q
(1)
The relationship between elasticity, pressure gradient and volume (expressed as the flow integral) is
expressed by the equations:
1
QA dt
CL 
1
PPL  P 0 
QA dt
CW 
1
Q  QA  dt
PAW  P 0 
CS 
PA  PPL 
(2)
According to the generalized Kirchhoff’s law, the sum of all pressures (voltages) along a closed loop
must be equal to zero, i.e. the following must hold true in the loop along the PAW node and along the
PA0 node:
( PAW  PA)  ( PA  PPL)  ( PPL  P0)  ( P0  PAW )  0
( PAO  PAW )  ( PAW  P0)  ( PO  PAO )  0
And upon substitution using Ohm’s law and elasticity equations:

1 
1
 1

(Q  QA) dt  0
 QA dt 
 RP QA  

CS
 CL CW 

Q RC  1 (Q  QA) dt  ( P0  PAO)  0

CS



(3)
6.1 Implementation of the Pulmonary Ventilation Mechanics Model in Simulink
When setting up the model in Simulink, the computation procedure from input variables to the output
ones must be exactly defined. If we want to calculate the reaction of air flow to/from the lungs (Q) to
the input – i.e. pressure changes at the initial point of the respiratory tract (PAO) caused by the
artificial pulmonary ventilation apparatus – the Simulink model shall be similar to that in Fig. 6.
The Simulink model can also be expressed in a simpler form. At first, from Equation (3) we
shall derive the differential equation (input variable PAO, output variable Q):
d 2 PAO
d 2Q
1 dPAO
RC


RP CT dt
dt 2
dt 2
 1
RC  dQ
1  1
1




 

RP CS  CL CW
 CS RP CT  dt
8

Q

(4)
Technical Computing Prague 2008. Conference Proceedings. Prague, 2008,
Mux
respm2.mat
Mux
To File
1/s
Integrator
Volume vs time
Q vs time
Pao vs time
Pao
Q
1
Ventilator
QA
1/Rc
Sum
1/s
Integrator1
Sum1
Qs
-KPaw
Memory
du/dt
CS
dPaw/dt
PA
0.5
Rp
1/0.2
1/CL
PAW
Sum3
Sum2
1/0.2
1/Cw
Figure 6: Implementation of the model in Simulink according to Equations (3)
Upon entering the following numerical parameters of resistances (in the units: cm H2O/L/sec) and
elasticities (in the units: L/cmH2O) [8]:
RC  1; RP  0.5; CL  0.2; CW  0.2; CS  0.005
Equation (4) becomes simplified:
d 2 PAO
dPAO d 2 Q
dQ
420

 2  620
 4000 Q
2
dt
dt
dt
dt
(5)
Upon Laplace transform of Equation (5) we obtain:
Q( s)
s 2  420s

PAO( s ) s 2  620s  4000
(6)
This gives us the possibility to simplify the Simulink model (Fig. 7):
PAO vs time
s2 +420s
Ventilator
PAO
s2 +620s+4000
Mux
respm1.mat
Mux
To File
1/s
Integrator
Respiratory Mechanics
Q
Volume vs time
Q vs time
Figure 7: Implementation of the model in Simulink using Laplace transform according to
Equation (6)
9
Technical Computing Prague 2008. Conference Proceedings. Prague, 2008,
However, when the parameter values change, the transformation function (6) must be
recalculated and the Simulink model changes. Now let us make the model slightly more complicated
by taking into account inertia of air in the upper respiratory tract (Fig. 8).
Now we shall moreover include the inertial element LC=0.01 cm H2O s2 L-1:
LC 
P
dQ
dt
dQ
where P is the pressure gradient and dt is flow acceleration, or:
P  LC
dQ
dt
(7)
PAO
CL
RP
RC LC
Q
PAW
QA
PA
CW
PPL
P0
Q-QA
P0
CS
Q
QA
PAW
RP=0,5
RC=1
LC=0,01
Q-QA
CS=0,005
PA
CL=0,2
PPL
CW=0,2
P0
Figure 8: Simple model of pulmonary mechanics taking inertia into account (hydraulic and electric
similarity)
Then instead of the Set of Equations (3) we shall obtain:

1 
1
dQA  1
 RP dt   CL  CW  QA  CS Q  QA  0



2
 RC dQ  LC d Q  1 Q  QA  dP 0  dPAO  0

dt
dt 2 CS
dt
dt
(8)
And instead of Equation (5):
d 2 PAO
dPAO
d 3Q
d 2Q
dQ

420

0
,
01

5
,
2
 620
 4000 Q
2
3
2
dt
dt
dt
dt
dt
(9)
And finally, upon Laplace transform:
Q( s )
s 2  420s

PAO( s ) 0,01s 3  5,2s 2  620s  4000
(10)
The Simulink model shall change (Fig. 9):
10
Technical Computing Prague 2008. Conference Proceedings. Prague, 2008,
PAO vs time
Ventilator
PAO
s 2 +420s
0.01s 3 +5.2s 2 +620s+4000
Respiratory Mechanics
Mux
respm1.mat
Mux
To File
1/s
Integrator
Q
Volume vs time
Flow vs time
Figure 9: Implementation of the model in Simulink using Laplace transform according to
Equation (10)
Thanks to the fact that the computational direction must be always taken into account in
Simulink, the very Simulink diagram is quite distant from the actual physical reality of the system
described. Even a small change in the model, such as addition of the inertial element, causes the need
of careful calculation and change of the model structure. An essential change of the model occurs also
in the case that spontaneous breathing is considered instead of artificial pulmonary ventilation. The
model input shall not be represented by the pressure PAO created by the artificial pulmonary
ventilation respirator but, for example, the thoracic wall elasticity CW (function of the breathing
muscles can be modelled by cyclic change of elasticity).
Connection of blocks in Simulink reflects rather the calculation procedure and not the
modelled reality structure.
6.2 Implementation of the Pulmonary Ventilation Mechanics Model in Modelica
In Modelica (or even in the Simulink library Simscape), the situation is different (source codes of the
example can be downloaded from http://patf-biokyb.lf1.cuni.cz/wiki/objekty_2008). Instead of blocks,
Modelica operates with connected components, which represent instances of individual classes, in
Modelica moreover equipped with a special section in which equations are defined. By connecting
Modelica components, not the calculation procedure but the modelled reality is defined. The way of
solving the equations is thus “left up to the machines”.
The model representation in Modelica thus resembles rather the physical reality of the modelled
world than connected block diagrams in Simulink. The simple ventilation mechanics model according
to Fig. 3 can be expressed in a very straightforward way in Modelica. We shall make use of the fact
that Modelica includes libraries of various classes to model electric, mechanical and hydraulic objects
of the real world. Representation of the relationships of resistance, pressure gradient and flow
according to Equation (1) and relationships of elasticity, pressure and flow according to Equation (2)
thus takes the following form in Modelica:
Making the model more complex by adding the inertial element - pursuant to Equation (7) and
Fig. 7 is easy (see Figure 11).
In the given case, we have used visual components of electric circuits for quick setting up of the
model; however, nothing prevents us from creating a different shape of icons representing individual
resistance, capacity and inertial elements in the lungs. These are far more than picture icons. Modelica
is an object language and there is no obstruction in creating a special class using which it is possible,
for example, to model oxygen and carbon dioxide flows (considering the oxygen bond to hemoglobin,
CO2 conversion to bicarbonate, acidobasic equilibrium effect on blood gases transport etc.).
Formation of the physiological relationships library is one of our future aims. We are planning
to transfer (and extend further in Modelica) our Simulink library of physiological relationships,
Physiology Blockset (www.physiome.cz/simchips).
In respect of the fact that there are numerous relationships in physiological models (leading to
solution of implicit equations in Simulink), acausal description of modelled relationships applied in
Modelica provides a great advantage. Acausal description describes much better the essence of
11
Technical Computing Prague 2008. Conference Proceedings. Prague, 2008,
modelled reality and the simulation models are much more legible, and thus much less prone to
mistakes, as well. Modelica is therefore a very suitable environment to model physiological systems.
Figure 10: Simple model of pulmonary mechanics according to Fig. 5 in Modelica
Figure 11: Modified model of pulmonary mechanics upon adding the inertia element in
Modelica
7
Excitable Membrane of the Neuron according to Hodgkin and Huxley
In 1963, Alan Lloyd Hodgkin and Andrew Huxley were awarded the Nobel Prize for physiology and
the mathematical model of the action membrane potential. Precisely their article [6] has become the
foundation of many models describing the membrane potentials behaviour in varied cell types.
12
Technical Computing Prague 2008. Conference Proceedings. Prague, 2008,
Primarily, the model provides explanation of the nervous impulse spreading by depolarization of the
cellular membrane using the connection of two physical domains – the electric and chemical one.
Thanks to the conductivity study of membrane channels, in dependence on time and current membrane
voltage, the model describes the course of electric current that is formed by the flow of sodium and
potassium ions through the membrane.
This electric current subsequently affects the current electric voltage. At rest, the inside of the
cellular membrane has a negative charge. Proteins with the negative charge cannot pass through the
cellular membrane and remain on the inside of the membrane. Potassium and sodium ions are (thanks
to the sodium-potassium pump) distributed non-uniformly between the cell and its surroundings –
inside the cell, there is a high potassium concentration and low sodium concentration in respect of the
surroundings of the cell. Transfer of the ions can take place only through ionic channels. The
concentration and electric gradient has an impact on the ions movement – at rest, the cellular
membrane has a negative charge and sodium concentration outside the cell is much higher than inside.
Sodium is pushed into the cell both by the electric and concentration gradient. As for potassium, both
gradients act against each other; however, the concentration gradient prevails (and potassium thus
shows the tendency to leave the cell).
Nernst equation describes how the chemical and concentration gradients can be compared.
Differences in concentrations are transformed using this equation to the membrane voltage needed to
maintain their different concentrations on both sides of the membrane. These concentration differences
in the model form a kind of power supplies for specific ions. When the difference of the Nernst minus
current voltage for the cation is greater than zero, the cation is pushed into the cell. The sodiumpotassium pump (Na-K-ATPasis) takes care, from the long-term point of view, of maintaining the
concentration differences of potassium and sodium in the cell and outside the cell; this pump keeps
pumping sodium from the cell and potassium into the cell constantly. However, its functionality and
change of sodium and potassium concentrations is disregarded in this model and the concentrations are
considered constant, and the concentration differences (thanks to the Nernst equation) form a power
supply of +40 mV for sodium and -87 mV for potassium.
Charge accumulation on the membrane is a typical example of a capacitor, where the nonconductive cellular membrane acts as a medium, which separates two charged surfaces.
However, sodium and potassium flows through appropriate channels depend on the channels
permeability (much lower for sodium than for potassium at rest). The channels permeability depends
on the membrane voltage. If the membrane voltage rises from the rest (negative) voltage to a certain
boundary value, sodium channels start to open for a very short moment and the current of sodium ions
breaks into the cell and “discharges the negatively charged membrane capacitor” – and even charges it
to the opposite (positive) value – we speak of depolarization and occurrence of the action potential. At
the same time, sodium channels start to close again due to the change of the voltage (and thus make
sure that the concentration of ions in the cell virtually does not change). At the same time,
permeability for potassium channels changes, potassium starts to leave the cell more rapidly (and the
current of positive potassium ions flowing out of the cell recharges the “membrane capacitor” again to
the rest negative value).
7.1 Implementation of the Model according to Hodgkin and Huxley in Modelica
The model implementation in Modelica corresponds to an electric diagram (Fig. 12). Source codes can
be downloaded from http://patf-biokyb.lf1.cuni.cz/wiki/objekty_2008. Special components are
represented by membrane channels for sodium (or potassium, respectively). These behave as a power
supply with changing inner resistance. Its constant voltage is given by the chemical gradient of sodium
(or potassium, respectively) according to the Nernst equation, while their inner resistance corresponds
to the open state (permeability) of the channels. Only potassium cations can pass through potassium
channels and only sodium ones through sodium channels. Other electrically charged atoms that can
pass through the membrane are implemented using a constant power supply and constant resistance,
not changing in dependence on time and voltage.
13
Technical Computing Prague 2008. Conference Proceedings. Prague, 2008,
Figure 12: Diagram of the Hodgkin-Huxley’s model in Modelica (in the Dymola environment)
Figure 13: Model simulation outputs. Time units are given in ms.

capacitor.v is current voltage of the cellular membrane in mV

k_channels.G is electric conductivity for potassium channels

na_channels.G is electric conductivity for sodium channels

na_channels.R is electric resistance for sodium channels = 1/(1000*G)
When implementing the model in Modelica, basic electric components from the standard library
can be used: We shall thus use models of a constant voltage supply, a capacitor. Afterwards, it is only
necessary to define the membrane channel classes and connect all elements visually.
Membrane channels can be modelled as special components. Using the empirically confirmed
relationships (equations) from the Hodgkin’s and Huxley’s article [6], we shall create a new type of an
electric component describing the behaviour of membrane channels as constant voltage sources
14
Technical Computing Prague 2008. Conference Proceedings. Prague, 2008,
(pursuant to the Nernst equation) with changing inner resistance dependent on the membrane voltage.
And finally, it only remains to connect all the elements visually.
Upon running the simulation of the entire circuit actuated by electric current pulses, the required
course of the action potential and conductivity of the channels during an impulse is obtained (Fig. 13).
7.2 Implementation of the Model according to Hodgkin and Huxley in Simulink
In implementation of the model in Simulink, the model structure corresponds more to the calculation
process than the physical structure of the modelled system. Comparison of the model implementation
in Simulink (Fig. 14) and Modelica (Figs. 12 and 13) is very eloquent.
Figure 14: The Hodgkin-Huxley’s model [6] can also be implemented using the block-oriented
Matlab/Simulink environment; however, this environment remains tied to the calculation procedure.
8
Conclusion
New technologies provide new opportunities and challenges in simulation models creation. One of
such technologies is represented by acausal simulation environments, such as the library Simscape in
Simulink and especially the new object simulation language Modelica, which shall make modelling of
complicated and complex systems such as physiological systems considerably easier.
In respect of the fact that numerous relationships are found in physiological models (leading to
solution of implicit equations in block-oriented languages), the acausal description of modelled
relationships used in Modelica (but also in Simscape) provides a great advantage. Acausal description
captures the essence of the modelled reality much better, and the simulation models are much more
legible and thus also less prone to mistakes. Acausal simulation tools therefore represent a very
suitable environment in physiological systems modelling.
References
[1] Abram, S.R., Hodnett, B.L., Summers, R.L., Coleman, T.G., Hester R.L.: Quantitative Circulatory
Physiology: An Integrative Mathematical Model of Human Physiology for medical education.
Advanced Physiology Education, 31 (2), 2007, 202 - 210.
[2] Bassingthwaighte J. B. Strategies for the Physiome Project. Annals of Biomedical Engineering 28,
2000, 1043-1058.
[3] Guyton AC, Coleman TA, and Grander HJ. (1972): Circulation: Overall Regulation. Ann. Rev.
Physiol., 41, p. 13-41.
15
Technical Computing Prague 2008. Conference Proceedings. Prague, 2008,
[4] Fritzson P. (2003). Principles of Object-Oriented Modeling and Simulation with Modelica 2.1,
Wiley-IEEE Press.
[5] Hall J.E. (2004): The pioneering use of system analysis to study cardiac output regulation.
Am.J.Physiol.Regul.Integr.Comp.Physiol. 287:R1009-R10011,2004,287: p. 1009-1001.
[6] Hodgkin, A.L., Huxley A.F.: The components of membrane conductance in the giant axon of
Loligo. Journal of Physiology, 116, 1952, p. 473-496.
[7] Hunter P.J., Robins, P., Noble D. (2002) The IUPS Physiome Project. Pflugers Archive-European
Journal of Physiology, 445, p.1–9
[8] Kho M.C.K. (2000) Physiological control systems. IEE Press, New York 2000, ISBN 0-78083408-6
[9] Kofránek J., Andrlík M., Kripner T, and Mašek J.: From Simulation chips to biomedical simulator.
Amborski, K. and Meuth, H. 2002. Darmstadt, SCS Publishing House. Modelling and Simulation
2002 Proc. of 16th European Simulation Multiconference, p. 431-436 (full text version:
http://patf-biokyb.lf1.cuni.cz/wiki/technical_computing_2007 ).
[10]
Kofránek, J, Rusz, J., Matoušek S., (2007): Guytons Diagram Brought to Life - from Graphic
Chart to Simulation Model for Teaching Physiology. In Technical Computing Prague 2007. Full
paper CD-ROM proceedings. (P. Byron Ed.), Humusoft s.r.o. & Institute of Chemical Technology,
Prague, ISBN 978-80-78-658-6, 1-13, 2007. The article including source program codes is
available at http://www.humusoft.cz/akce/matlab07/sbor07.htm#k
[11]
Raymond, G. M., Butterworth E, Bassingthwaighte J. B.: JSIM: Free Software Package for
Teaching Physiological Modeling and Research. Experimental Biology 280, 2003, p. 102-107
[12]
Van Vliet, B.N., Montani J.P. (2005):,Circulation and fluid volume control. In: Integrative
Physiology in the Proteomica and Post Genomics Age. Humana Press, 2005, ISBN 918-1-58829315-2, p. 43-66
Acknowledgments
This work has been supported by research MSM 0021620806 and by the aid grant MŠMT 2C06031,
and by Creative Connections s.r.o.
Jiří Kofránek, M.D., Ph.D.
Laboratory of Biocybernetics,
Institute of Pathological Physiology, First Faculty of Medicine,
Charles University in Prague
U Nemocnice 5
128 53 Praha 2
e-mail: [email protected]
Tel.: 777 68 68 68
16
MEFANET 2008
Jiří Kofránek, Marek Mateják, Stanislav Matoušek, Pavol Privitzer, Martin
Tribula, Ondrřej Vacek: School as a (multimedia simulation) play: use of
multimedia applications in teaching of pathological physiology. In MEFANET
2008. (Editoři: Daniel Schwarz, Ladislav Dušek, Stanislav Štípek, Vladimír Mihál),
Masarykova Univerzita, Brno, 2008, ISBN 978-80-7392-065-4, CD ROM, str. 126, [Online] http://www.mefanet.cz/res/file/articles/prispevek-mefanetanglicky-kofranek.pdf
SCHOOL AS A (MULTIMEDIA SIMULATION)
PLAY: USE OF MULTIMEDIA APPLICATIONS
IN TEACHING OF PATHOLOGICAL
PHYSIOLOGY
J. Kofránek, M. Mateják, S. Matoušek, P. Privitzer, M. Tribula, O. Vacek
Laboratory of Biocybernetics, Institute of Pathological Physiology, First Faculty
of Medicine, Charles University in Prague
Abstract
Nowadays, the old Comenius`s motto – “schola ludus“ (“school as a play”) has found its
modern use in interactive educational programs using simulation games. Connection of
the Internet and a multimedia environment serving as an audio and visual user interface
with simulative models makes it possible to have a graphic feel in the virtual reality of
the problem currently studied, upon connecting to the magical Internet network. By
means of a simulation game it is possible to test, without any risk, the simulated object’s
behaviour – e.g. trying to land with a virtual airplane or to heal a virtual patient. Through
the simulation game we can test the behaviour of individual physiological subsystems,
both under normal conditions and in the presence of a disorder. The Atlas of Physiology
and Pathophysiology (http://www.physiome.cz), designed as a multimedia-teaching tool,
which helps to explain the function of individual physiological systems, causes and
symptoms of their disorders in a visual way through the Internet is one of the projects in
which we want to utilize new opportunities of multimedia and simulation models.
Development of the Atlas requires cooperation of many professionals: Starting from
experienced teachers whose design provides the foundation of quality educational
applications, system analysts responsible for creating simulation models for educational
simulation games in cooperation with professionals in their field, artists creating the
visuals, and finally up to programmers who “knit” together the whole application to
achieve its final form. For the inter-disciplinary collective creation to be successful,
specific development tools with sufficient technical support must be used in each phase
of creation; such tools allow for component-based creation of simulation models,
creation of interactive multimedia and their final interconnection into a compact unit
based on the given design. Creative interconnection of the various professions is the key
to success. The Atlas of Physiology and Pathophysiology is a freely available
application. Any form of cooperation in its gradual development is welcome.
Keywords: Internet, Multimedia, Simulation Games
Schola Ludus in a Modern Garment
Multimedia programs with simulation components for educational purposes are
not only a replacement of classical textbooks. They serve as an entirely new
instruction aid making it possible to explore the studied problem in virtual
MEFANET 2008
reality through instruction simulation games, thus bringing quite new
possibilities to explain complex problems – and this is precisely the point where
the old credo of John Amos Comenius “Schola Ludus” (School as a Play),
promoted by this European pedagogue as early as in the 17th century, finds its
modern application.
Many instruction-oriented simulators of individual physiological
subsystems for free pedagogical use can be found on the Internet. Thus for
example, the simulator ECGsim makes it possible to study the generation and
spreading of electric potential in heart ventricles and to study the mechanism of
origination of the ventricular complex QRS in various pathologies (from impulse
conduction disorders to ischemias and infarctions) [14]. The heart simulator
from Columbia University allows for observing the pressure-circulation curves
in heart ventricles in various cardiac pathologies (valvular defects, left-sided or
right-sided failure) [2]; anaesthesiological device simulators from the University
of Florida provide the possibility to administer anaesthesia to a virtual patient
[17] and to observe appropriate physiological responses (however, more
complex simulators require paid access) etc.
Complex Methods of Integrative Physiology and Teaching
Complex simulators are of large importance for teaching of pathophysiology and
study of pathogenesis of varied pathological conditions; such simulators include
models of not only individual physiological subsystems but also their mutual
connection into a more complex unit.
Prof. Guyton was a pioneer of making these models. In 19972, he
published an article [6] in the journal Annual Review of Physiology, whose form
quite surpassed the usual forms of physiological articles of those times at the
very first sight. An extensive diagram pasted in as an attachment was used as
introduction, showing interconnection of essential subsystems that have an effect
on circulation, by means of special symbols expressing mathematical operations.
Guyton’s model was the first extensive mathematical description of
physiological functions of interconnected subsystems of an organism, and it
initiated development of physiological research, sometimes described today as
integrative physiology. From this point of view, it was a certain milestone,
which attempted at capturing the dynamics of relationships among the controls
of circulation, kidneys, breathing, the volume and ionic composition of body
fluids using a mathematical model, while applying a system view of
physiological regulation. The Guyton’s diagram (Fig. 1) was reprinted many
times in various publications (even in recent years). However, in spite of that,
none of the authors reprinting the Guyton’s monumental diagram pointed out the
fact that there were mistakes in the diagram. Provided that the classical Guyton’s
model is implemented using current simulation tools and accurately according to
2
MEFANET 2008
the graphic scheme, the model shall not work. However, such special tools were
not available at the time this diagram was designed. The diagram was made only
as a figure, the very program to implement the model was written by the authors
in Fortran; however, the original source code is not available
today.
Figure 1: Extensive diagram of physiological circulatory regulations according
to A. C. Guyton et al from 1972.
As our aim was to apply the original classical Guyton’s model in
education of bioengineers, we had to correct the original diagram (Fig. 2). The
correction required thorough revision of the entire model and system analysis of
physiological regulations of the circulation system as well as numerous
simulation experiments and their comparison with published results. A system of
formalized physiological relationships expressed in the graphic form is the
result; the system corresponds to the original model of Guyton et al [11] in its
appearance but also behaviour. The model has been implemented as an
interactive physiological diagram, making it possible, through simulation
experiments, to understand better and deeper the physiological meaning of
regulating bonds and their application in development of numerous
pathophysiological conditions. We apply this diagram as an instruction teaching
aid in education of physiological regulation systems for bioengineering
specializations (Fig. 3).
3
MEFANET 2008
Figure 2: Corrections of the most significant errors in the graphic diagram of
physiological circuit regulations according to A. C. Guyton et al.
However, the diagram is not very suitable for teaching of medical students
– as they require simulators whose user interface looks more like interactive
images of a physiological atlas than a control circuit diagram. Simulink
implementation of the (corrected) Guyton’s model created by us is available for
download at www.physiome.cz/guyton. Our Simulink implementation of a much
more complex version of the Guyton et al model from later years is available at
the same address, as well. At the same time, very detailed description of all
mathematical relationships, together with reasoning, is provided on the website.
Guyton and his disciples continued constant further development of the
model. In 1982, Thomas Coleman, Guyton’s disciple and collaborator, created
the model “Human” intended especially for educational purposes. The model
allowed for simulating numerous pathological conditions (cardiac and renal
failure, haemorrhagic shock etc.), as well as the effect of some therapeutic
interventions (infusion therapy, effect of some drugs, blood transfusion, artificial
pulmonary ventilation, dialysis etc.) [4]. Recently, Meyers et al made the
original Coleman’s model available on the web using Java implementation [13].
4
MEFANET 2008
Figure 3: Application of the physiological regulation model according to A. C.
Guyton et al in education of bioengineers. However, the model is not quite
suitable for medical education; an educational simulator should be designed for
teaching of medical students, the user interface of which shall evoke images
from medical textbooks and monographs rather than an interactive regulation
diagram
The simulator Quantitative Human Physiology is the most recent result
of Guyton’s disciples and followers, representing probably the most complex
and extensive model of physiological functions at present times. The simulator is
an extension of the original large circulatory system simulator (Quantitative
Circulatory Physiology [1]) achieved by integrated connection of all important
physiological systems. The model can be downloaded from the Internet [3].
We, too, created an instruction simulator “Golem” in the past, based on a
complex model of integrated physiological regulations [8]. Our simulator
“Golem” was focused on teaching of complex disorders of the internal
environment [9].
5
MEFANET 2008
Internet Atlas of Physiology and Pathophysiology: Explanation
Using Simulation Games
However, experience in application of complex models (of the Golem or QHP
type mentioned above) in teaching shows that large and complex models are
connected with a disadvantage from the didactic point of view, namely their
complex control. The large number of input variables as well as the broad scale
of options of observing the input variables require rather thorough understanding
of the very structure of the simulation model on part of the user, as well as
knowledge of what processes should be observed in simulations of certain
pathological conditions. In the opposite case, a complex sophisticated model
seems to the user only as a “complicated and not very understandable technical
play” (similarly as if the user should face a complex airbus simulator without a
prior theoretical instruction).
Instruction models (and apparently not only complex ones with hundreds
of variables) in themselves therefore are not enough for efficient use in teaching.
They must be accompanied by explanation of their application – using
interactive educational applications at best. The possibility of using all
advantages of virtual reality to explain complex pathophysiological processes
arises only upon establishing connection between explanation and simulation
play. In order to link the possibilities offered by interactive multimedia and
simulation models in medical teaching, we have designed the concept of an
Internet computer project, the Atlas of Physiology and Pathophysiology [10],
conceived as a multimedia instruction aid that should help to explain, in a visual
way using the Internet and simulation models, the function of individual
physiological subsystems, the causes and manifestations of their disorders – see
http://physiome.cz/atlas. The Atlas thus combines explanation (using an audio
and animation) with interactive simulation play with physiological subsystems
models, all available for free from the Internet.
Simulation Models as “Live” Interactive Illustrations
The user interface of models used as the foundation for simulation plays rather
evokes animated images from the printed Atlas of Physiology [15] or Atlas of
Pathophysiology [16] than abstract regulation diagrams used in teaching of
bioengineers (similar to those in Fig. 3). Unlike printed illustrations, however,
images forming the user interface of multimedia simulators are “live” and
interactive – changes of the simulation model variables are manifested by
changes of the images. Using interactive illustrations thus conceived, it is
possible to implement simulation plays which shall help to explain dynamic
connexions in physiological systems, better than a static image or even a simple
animation, and help especially to understand casual connexions in development
of pathogeneses of varied diseases.
6
MEFANET 2008
Figure 4a: Interactive educational model of the buffering plasma system. Fluid
level values represent concentrations. Initial condition.
Figure 4b: Dilution can be invoked using the control slide; levels of all
substances including CO2 concentration and hydrogen ions concentration shall
become reduced.
7
MEFANET 2008
Figure 4c: Chemical equilibrium establishment in the buffering system can be
engaged by pressing the button “Buffering Equilibration”; at the same time,
plasma pH value returns to 7.4.
Figure 4d: Respiration increases (originally decreased upon dilution) the CO2
concentration value to the original level 1.2 mmol/L. Upon establishing new
chemical equilibrium, hydrogen ions concentration increases and plasma pH
value decreases.
8
MEFANET 2008
The model of acid-base equilibrium in plasma can be mentioned as an
example of a “pictorial” user interface in an instruction simulation play, where
buffering systems in the user interface are shown as interconnected containers
displaying compartments of individual substances. The model can be
downloaded from: http://www.physiome.cz/atlas/acidobaze/02/ABR_v_plazme1_2.swf.
The “level” in these containers represents concentration. Chemical
reactions are shown as “flows of liquid” among the containers with individual
buffering system components. Substances from/into metabolism, respiratory
system or kidneys can “flow in or out” of the containers. Using simulation plays
with this models, the development of various acidobasic equilibrium disorders
can be visually explained. Fig. 4a-d shows application of this simulator in a
simulation play to explain pathogenesis of dilution acidosis. Dilution of
individual buffer components is shown as expansion of appropriate containers –
as the amount of components in the containers remains the same, the level
(representing concentration) drops. The level of hydrogen ions drops as well
(Fig. 4b). By pressing the button “buffering equilibration”, chemical reactions
are started in the buffering systems, visualized as “flowing in/out” of individual
components. Upon dissociation of carbonic acid and weak buffering acids
(denoted as HBUF in the model – represented especially by albumin and
phosphates in reality), the hydrogen ions level settles on the original value again
(Fig. 4c). Nevertheless, the value of carbonic acid, just like the value of CO2,
remains reduced due to dissociation. However, respiration in the organism
maintains the CO2 level in arterial blood on a constant level (given especially by
the alveolar ventilation value). By pressing the button “respiratory regulation”,
the CO2 level increases back to its original value before dilution. By pressing
the button “buffering equilibration”, a chemical reaction takes place, establishing
a new chemical equilibrium with increased concentration of hydrogen ions (Fig.
4d).
The “Ceteris Paribus” Principle in Instruction Simulation Plays
From the didactic point of view, it is always necessary to proceed from simple to
more complex things in explanations. According to this principle, it is therefore
suitable to use rather simple aggregated models (with few variables) during
explanation, explain essential principles using these models, and then start
making the model (and described physiological reality) more complex gradually.
Instruction simulation plays forming part of the Atlas need not be always based
on a highly complex model demanding from the calculation point of view with
hundreds of variables – even a simple interactive model can be a good helper in
explaining pathogenic chains of development of various pathological
conditions.
9
MEFANET 2008
From the didactic point of view, it is very efficient to disconnect
regulation loops in the model at first and enable the students to study the
responses of the selected physiological subsystem on changes of input
variables in the simulation play (however, themselves regulated in a real
organism). The dynamics of behaviour in gradual changes according to a single
input are observed at first, while other inputs are set on a chosen constant value
(the so called „ceteris paribus“ principle).
This shall enable the students to understand better the meaning of
individual regulation circuits and to study the effect (of disconnected and
manually controlled at first) regulation bonds on behaviour of the organism in
various pathological disorders and responses to relevant therapy. Based on our
experience, it is precisely this approach that leads to better understanding of the
meaning of individual regulation loops and understanding of their task in
pathogenesis of various diseases, as well as understanding of pathophysiological
principles of relevant therapeutic interventions.
Thus for example, it is not suitable to start with a simulation play with a
model when explaining physiology and pathophysiology of circulation as its
complexity is approximately on the same or higher level compared to the
Guyton’s circulation model mentioned in the introduction (see Fig. 1). It is more
advisable to choose a simple aggregated model at the beginning, making it
possible to demonstrate fundamental principles of the blood circulation structure
and behaviour, as well as possibilities of its affection by means of regulation.
The simplest circulation system model with disconnected regulation bonds as
part of our Atlas is available at: http://www.physiome.cz/atlas/cirkulace/05/
SimpleUncontrolledSimulation.swf.
Its control (see Fig. 5) is very easy and serves especially to clarify
fundamental relationships among individual variables of the circulatory system
(i.e. pressures and flows in the pulmonary and body circulation) and essential
variables affecting the pressures and flows (however, themselves regulated in
neurohumoral ways). They are as follows:
•
Peripheral resistances (system and pulmonary);
•
Pumping function of the right and left ventricle – implemented
using the simplest way in the model, namely as inclination of the
Starling curve (expressing dependence of the minute heart volume
on filling pressures in the right and left atrium);
•
Elasticity of arteries and veins (expressing pressure dependence
on the vascular fill);
•
Total volume of circulating blood.
10
MEFANET 2008
The organism regulates the variables mentioned above (resistance is
controlled by means of nervous and humoral regulation; myocardial frequency
and inotropy modifies the shape of the Starling curve; venous tonus of large
veins changes their elasticity; and the circulating blood volume is affected
especially by renal activity, renin-angiotensin regulation etc.). However, these
variables represent input (i.e. non-regulated) quantities in an aggregated model –
the aim of the simulation play with the model is to obtain a clear notion of the
meaning of these quantities for regulation of pressures, flows and distribution of
the blood volume among individual parts of the bloodstream. Simulation play
with this model makes it possible to explain the meaning of regulation of
essential quantities of the circulatory system in pathogenesis of various
circulatory system disorders to the students.
Figure 5 shows a simulation play of development of right-sided
circulatory failure.
Figure 5: Use of a simple (non-controlled) circulatory system model to explain
pathogenesis of right-sided circulation failure. See the text for more detailed
explanation.
The procedure is to reduce the Starling curve inclination in the right heart
using the slide at first – this models reduction of contractility of the right heart
11
MEFANET 2008
upon acute right-sided circulatory failure (Fig. 5b). Minute heart volume drops
to the value 3.29 L/min; mean system arterial pressure decreases to 59.56 Torr.
Sympaticus responds to the blood pressure decrease by distinct vasoconstriction
especially in the splanchnic region, in order to preserve perfusion of coronary
blood vessels.
The next step is therefore to increase peripheral system resistance by
moving the slide right (Fig. 5c) – mean arterial pressure increases to 89.21 Torr;
however, minute heart volume drops further from 3.29 L/min to 3.07 L/min!
However, sympaticus does not affect only vasoconstriction of arterioles and
subsequent increase of peripheral resistance.
It also increases the tonus of large veins, which is manifested by increased
pressure in them with the same blood fill – the venous tonus increase can be
modelled by reduced elasticity of system veins (Fig. 5c). Reduced elasticity
increases the pressure in large system veins and thus also the filling pressure in
the right atrium, leading to increased minute heart volume (however, at the same
time, the increase of venous pressure leads to higher filtration in capillaries and
to oedemas). Mean arterial pressure increases to the normal value and it is not
necessary to maintain the resistance value in the system bloodstream too high in
order to preserve the pressure value – therefore the resistance should be reduced
using the slide from 28.37 Torr/L/min to 19.24 Torr/L/min.
The simulation play can be continued further by demonstrating the
meaning of the total blood volume increase, which occurs due to activation of
the renin-angiotensin-aldosterone loop (not shown in the figure). Upon
increasing the circulating blood volume using the slide, it can be shown in the
model that peripheral resistance as well as venoconstriction can be reduced
further (i.e. elasticity of large veins can be increased) in order to maintain
normal minute heart volume and normal mean arterial pressure.
The simulation experiment can be furthermore used to demonstrate the
effect of therapy, as well: Administration of cardiotonics can be illustrated by
increasing the Starling curve inclination, and administration of diuretics can be
simulated by reducing the increased circulating blood volume – pressure in large
veins decreases as a consequence with subsequent reduction of oedemas.
It was our intention to illustrate using the example above how simulation
plays with a model shall contribute to better understanding of the meaning of
individual regulation circuit application in pathogenesis of various pathological
conditions and in subsequent therapeutic interventions.
The Atlas as a Web-Based Application
The Atlas of Physiology and Pathophysiology is currently designed as a webbased application that can be run in an Internet browser (a Flash player installed
12
MEFANET 2008
in the browser is a prerequisite). Some simulation models require Microsoft
.NET framework installed on the computer (if this part is not installed, its
installation is offered before installing the first simulator, which requires .NET).
Explanatory chapters of the Atlas are designed as audio lectures
accompanied by interactive multimedia images (see Fig. 6). Every animation is
synchronized accurately with the explanatory text.
Figure 6: Audio interactive lecture in the explanatory part of the Atlas of
Physiology and Pathophysiology. Every explanation is accompanied by
animated images synchronized with the explanatory part. Explanation can be
stopped in any moment, to have a more detailed look at the accompanying
animation. Explanation including the synchronized animations can also be
moved backward using the slide in the bottom part of the player.
However, the Internet-based Atlas of Physiology and Pathophysiology is
much more than just an animated explanation with an audio track. The
foundation of didactic efficiency is represented by explanation accompanied by
a simulation games. Simulation models forming part of the Atlas are
implemented as Flash applications and need not be installed separately (such as,
for example, simulators in Figs. 4, 5 and 7) or (in more complex models) their
separate installation is required directly from the Internet browser.
13
MEFANET 2008
More complex models require somewhat more complicated control – a
suitable scenario is therefore important, according to which the model can be
used in the simulation play as an instruction aid to explain more complicated
physiological relationships.
Some simulators combine the model as well as the explanatory part –
simulator of mechanical properties of muscles (Fig. 7) can be mentioned as an
example.
Figure 7: Simulator of the skeletal muscle mechanical properties is a Flash
application designed as an explanatory chapter, which includes practical
exercises with the model (accessible at
http://www.physiome.cz/atlas/sval/svalEN/SvalEN.html )
Other simulators can be run separately and scenarios used in their control
are designed as part of relevant explanatory chapters. The complex model of
blood gases transport can be given as an example; this model shall be used as an
instruction aid in explanation of physiology and pathophysiology of oxygen and
carbon dioxide transport. Examples of using this simulator in explanation of
consequences of ventilation-perfusion relationships disorders are shown in Figs.
8a-8e. The simulator can be downloaded from our Atlas using the link:
http://physiome.cz/atlas/sim/BloodyMary/.
14
MEFANET 2008
Figure 8a: Simulation play with the blood gases transport model to explain
the consequences of ventilation – perfusion non-uniformity failures. Initial
condition.
Figure 8b: Setting of different ventilation distribution shall cause decrease of
PO2 and increase of pCO2 in mixed arterial blood.
15
MEFANET 2008
Figure 8c: Slight increase of the breath frequency means achievement of
pCO2 normalization in mixed arterial blood; however, PO2 still remains
low. Different shape of O2 and CO2 dissociation curves is the cause – see
the following figure.
Figure 8d: Comparison of total concentrations and partial pressures O2 and
CO2 in hyperventilated, hypoventilated alveoli and in mixed arterial blood.
16
MEFANET 2008
Figure 8e: Perfusion limitation by poorly ventilated alveoli limits admixing
of hypooxygenated blood from hypoventilated alveoli, thus causing increased
partial pressure of oxygen in mixed arterial blood. However, another
consequence is also represented by increased resistance of the pulmonary
bloodstream and development of precapillary pulmonary hypertension.
Beyond the Atlas of Physiology and Pathophysiology Curtain –
Creation Technology of Instruction Simulators
The creation process of the Atlas takes the form of a joint work made by creative
specialist's team encompassing various professions (Fig. 9):
•
Experienced teachers whose scenario is the foundation of a quality
educational application;
•
System analysts, responsible in cooperation with professionals of the
given field, for designing simulation models for educational simulation
plays;
•
Artists designing the outside visual form;
•
Computer science engineers (programmers) whose role is to “knit” the
entire application into the resulting form.
For the interprofessional collective creation process described above to be
efficient, each stage of the process should utilize specific development tools,
with sufficient technical support, making it possible to apply component-based
17
MEFANET 2008
creation of simulation models, interactive multimedia preparation, and their final
interconnection pursuant to a given scenario into a compact unit.
Creative interconnection of various professions and development tools is
therefore a prerequisite of success.
A multimedia presentation available from the Internet, found at
http://www.physiome.cz/atlas/info/01EN/index.htm discusses the technologies
used in the building process; methodology of creating educational simulators is
described in [12].
Figure 9: Atlas of Physiology and Pathophysiology is a joint work of a
multidisciplinary team of pedagogues, system analyst, artists and computer
scientists. In its process of creation, we strive to connect specialists of
various professions as well as the development tools.
Foundation of an e-learning Educational Application – Scenario
of Good Quality
The foundation of every explanatory chapter of the Atlas is represented by a
quality scenario, designed by an experienced pedagogue. High attention must be
paid to preparing the scenario. According to our experience, underestimating of
thorough scenario preparation is paid for dearly by the necessity of unnecessary
18
MEFANET 2008
iteration steps in development of the educational application and in subsequent
extension of the development time.
The scenario must include a detailed proposal of assignment for the artist
concerning the graphic appearance of every individual page, including
animations, and the interactive behaviour proposal. The final graphic appearance
is then up to the artist cooperating with the author of the given chapter. At the
same time, the scenario must include key points of synchronizing the audio track
with beginnings of individual animations.
When the explanation is accompanied by a simulation play (in the form of
“training” using the simulation model), the scenario according to which the
students should manipulate with the model must be thought over carefully so
that the model behaviour clarifies those relationships, which are rather difficult
to explain without a simulation play with the model (see the example of
simulation plays application in Figs. 4, 5, 8).
Interactive Animations Built using the Threads of Simulation
Models
The making of interactive animated images (interconnected with explanations
and simulation models) is frequently and wrongly underestimated – the truth is
that precisely the graphic appearance of an educational application is frequently
the aspect which “sells“ the e-learning product to potential users from the
marketing point of view.
However, at the same time it should be noted that a professional artistic
appearance of educational applications is demanding as for financial as well as
human resources. Every image is an author’s work of art. The number of artists
on the labour market who have mastered making of interactive computer
animations is not really excessive. Moreover, thanks to development of Internet
media, digital television, computer gaming industry and other information
technology branches, the demand for these professionals on the labour market is
rather increasing.
We tried to resolve the lack of interactive graphics professionals years ago
already by establishing narrow working cooperation with Václav Hollar School
of Fine Arts where we have built our external workplace – Interactive Graphics
Laboratory. Our activities focused on training the teachers at first (and later
students, as well) of the school in the field of using modern computer graphics
tools, and thanks to our joint efforts we have created a new, three-year
specialization “Interactive Graphics” at this school (at present, there are
graduates from two year-classes already). We provide especially teaching of
“Interactivity Mastering” specialization at the Václav Hollar College of Fine
Arts, as well as guidance of the students’ practical experience. The students (and
19
MEFANET 2008
also graduates today) of this college are those who provide the prevailing part of
artistic appearance of our educational applications.
Until today, we have used especially Adobe products in designing
interactive graphics – especially Adobe Flash and Adobe Flex. Lately we have
started to turn to the Microsoft development environment, which offers very
suitable tools allowing for good cooperation between programmers and artists –
Microsoft Expression Blend (on part of the artists) and Visual Studio 2008 (with
the WPF framework on part of the programmers) [7].
“Brain” of the Educational Simulator – Mathematical Model
The core of the simulator consists in a mathematical model representing a
formalized (mathematical) description of the physiological reality. Special
development tools exist for development of mathematical models. In our
laboratory, we have been using the environment Mathworks Matlab/Simulink on
a long-term basis. We have developed a special library of formalized
physiological relationships Physiology Blockset in Simulink, available for free
on our website (http://www.physiome.cz/simchips).
Today, Mathworks development tools (Matlab and Simulink) rank among
well-established industrial standards. As a rule, Simulink operates using
connected blocks. Signals are transmitted through links between individual
blocks; the signals serve to transfer values of individual variables from the
output of one block to inputs of other blocks. Input information is processed in
the blocks to output information. Interconnection of blocks in Simulink
therefore reflects rather the calculation procedure than the very structure of the
modelled reality. This is the so called causal modelling.
Recently, development of new, the so called “acausal” tools occurred,
intended for making of simulation models. An essential innovation introduced
by such tools consists in declarative (thus acausal) writing of models when
individual parts of the model are described directly as equations and not as an
algorithm to solve the equations.
These tools operate using interconnected components in which equations
are defined. The equations do not express assignment (i.e. saving of the
calculation result of an assigned statement into a given variable) but a definition
of relationships among variables (as is the custom in mathematics and physics).
These components (representing instances of classes with equations) can be
connected through exactly defined interfaces – connectors. The important aspect
is the fact that by connecting the components, sets of equations in individual
components become connected with each other.
A typical representative of acausal modelling tools is the new objectoriented programming language Modelica [5]. Originally, it was developed in
20
MEFANET 2008
Sweden and now is available both as an open-source version (developed under
the auspices of the international organization Modelica Association,
http://www.modelica.org/ ), and in two commercial implementations (Dymola of
the company Dynasim AB and MathModelica of the company MathCore).
Mathworks, the producer of well-established Matlab/Simulink tools,
responded to the new trends by designing a special Simulink library Simscape
and related domain libraries SimElectronics, SimHydraulics, SimMechanics etc.
In accordance with modern trends, lately we have expanded the
development tools used in making mathematical models (i.e. Matlab/Simulink)
by tools using the acausal modelling language – Modelica. We are in the
process of making our own development tool for this perspective modelling
language, which shall make it possible to generate the resulting model in the
environment Microsoft .NET, thus facilitating conversion of created and
debugged models in the environment in which the very educational simulator
shall be designed.
Development of the Very Educational Simulator
Development of the educational simulator is demanding programming work,
linked to the results of the mathematical model development and to the created
elements of interactive graphics. In accordance with the designed scenario,
graphic elements of the user interface must be “knitted” together with the
mathematical model programmed in the background.
In the past, we have used the development environment Control Web to
create simulators; this environment was originally designed to make industrial
applications (control, management, control centres design) using a PC. Control
Web provides numerous tools to create a complex user interface, allows for
connecting Flash animations to the interface and to control it according to values
of variables on the background. A Control Web application in its classical
industrial deployment form communicates through a software controller of the
hardware control and measurement card with the industrial technological device.
Using the Control Web environment to create simulators, we have programmed
a special software controller in whose core a simulation model is programmed.
Control Web was thus “cheated”: It did not communicate with some industrial
technology through the relevant software input/output channels but with a
simulation model in the controller (see Fig. 10).
In order to facilitate development of “virtual measurement/control card”
controllers containing a simulation model and not to have to write such a
controller for each model “manually” in the C programming language, we have
developed a special program that enables us to generate the source text of the
relevant virtual controller in C directly from a Simulink diagram. This has
21
MEFANET 2008
Figure 10: Simulator development in the Control Web environment,
originally designed for visualization of control and measurement industrial
applications. The simulation model is programmed as a software controller
of a (non-existent) virtual card, and the application under development in
Control Web communicates with the model as if it was a technological
device.
allowed for simple and quick modification of the controller for Control Web
upon making various adaptations and new versions of the simulation model.
For example, in Control Web we have created the simulator Golem [8]
and as for the Atlas of Physiology and Pathophysiology, the kidneys simulator.
Currently, we are using classical programming tools to design the
simulators. As far as simple Flash simulators are concerned, these are
programmed directly in ActionScript, thus the programming language for Flash
applications. As for the Atlas of Physiology and Pathophysiology, the simulator
of mechanical properties of skeletal muscles is programmed in this language (see
Fig. 7).
However, the ActionScript language development environment is not
sufficient for more complex simulators. Therefore we use the Microsoft Visual
Studio .NET programming environment in our laboratory, which, especially its
latest version, provides extensive possibilities for programming work. In this
environment, we are no more limited by “preset” elements of the user interface
as is the case of Control Web, and moreover we can use all the power of a
22
MEFANET 2008
Figure 11: Making simulators in the .NET environment. The model is
programmed as a component of the .NET environment (the so called .NET
assembly) – preferably by means of automatic generation from models
development tools (from the Matlab/Simulink or Modelica programming
language environment). Graphic components are created in Adobe Flash or
Microsoft Expression Blend. Creating animations in Expression Blend offers
the advantage of creating both the animations as well as the simulator in the
common .NET platform
modern software application development tool; however, on the other hand, we
must program ourselves many elements of the user interface for the application
under development.
In order to make writing of the simulators easier (and not to have to
program an already debugged simulation model “manually” in Visual Studio
.NET), here, too, we have developed a special software tool [12] to
automatically generate the simulation model from Simulink in the form of a
component for the .NET environment (see Fig. 11).
To facilitate conversion of mathematical models from the Modelica
language environment into .NET, we are extending OpenModelica compiler (as
part of the international project Open Modelica) to C# simulation code
generation (see Fig. 11).
23
MEFANET 2008
Besides interconnection with the model creation tools, easy connection to
graphic components of the user interface under development is important, as
well. Flash components can be incorporated into the simulator in the process of
creation through an Active X component.
The new .NET environment version also introduces entirely new
possibilities of creating graphic components. Thanks to the new WPF (Windows
Presentation Foundation) technology, complex graphic components can be
created directly in the .NET platform, which include animations, vector
graphics, 3D elements etc. (similarly as in Adobe Flash or even with potentially
greater possibilities). It is important that the graphic user interface under
development is directly integrated with the .NET platform, which removes the
need of bridging the heterogeneous worlds of .NET and Adobe Flash in the
simulators development.
Besides the above, the development tool to create graphic components
(Microsoft Expression Blend) provides considerable support of cooperation of
artists and programmers [13] thanks to the interface, which separates (and
connects) the work of an artists and programmer. An artist can create complex
animations in this tool very comfortably (using a graphic user interface), and the
animations can be controlled easily. The programmer specifies such control by
connecting to relevant program modules (the animations can be thus controlled
by the simulation model on the background similarly as puppets on strings).
Currently, we have trained artists in using this perspective tool.
Moreover, the new tool Silverlight shall make it possible to develop
simulators, which can run directly in the Internet browser (even on computers
with different operating systems – it is only necessary to install the relevant
plugin in the browser).
New development tools of Microsoft provide a very perspective
environment for development of simulators, and for the future, they represent
our main development platform.
Conclusion
Educational applications using simulation play, available through the web,
represent a new educational aid, very efficient from the didactic point of view in
explaining complex pathophysiological processes.
However, their process of creation is not very easy – it requires
multidisciplinary team cooperation and use of suitable development tools.
Their making is a combination of research and development work.
Research work consists in formalizing physiological reality by designing
24
MEFANET 2008
mathematical models, while development work is the very creation of
multimedia simulators, which make use of the mathematical models designed.
As our contribution to making modern e-learning tools which combine
multimedia explanation with simulation plays, we have established the Internetbased Atlas of Physiology and Pathophysiology project.
The Atlas project is open-based – We shall make its results available in
the Czech language for all those interested, and in the course of its development,
we shall welcome cooperation with all who would like to take part in its gradual
building process.
References
[1] Abram S. R., Hodnett, B. L., Summers R. L., Coleman T. G., Hester R.L.,
(2007), "Quantitative Circulatory Physiology: An Integrative Mathematical
Model of Human Physiology for medical education.", Advanced Physiology
Education, 31 (2), 202 – 210.
[2] Burkhoff D. [2008, August] The Heart Simulator. [Online].
http://www.columbia.edu/itc/hs/medical/heartsim/
[3] Coleman T. (2008, September). Quantitative Human Physiology [Online].
Available: http://physiology.umc.edu/themodelingworkshop/ .
[4] Coleman T. G. Randall J.E., (1983). "HUMAN. A comprehensive
physiological model.", The Physiologist, vol. 26, (1): 15-21.
[5] Fritzson P. (2003). Principles of Object-Oriented Modeling and Simulation
with Modelica 2.1, ISBN 0-471-47163-1,Wiley-IEEE Press.
[6] Guyton AC, Coleman TA, and Grander HJ. (1972). "Circulation: Overall
Regulation." Ann. Rev. Physiol., 41, p. 13-41.
[7] Januszewski K., Rodrigues J. (2008 November) The new iteration. How
XAML transform the collaboration between designers and developers in
window presentation foundation. [Online] Available:
http://windowsclient.net/wpf/white-papers/thenewiteration.aspx
[8] Kofránek J. Anh Vu L. D., Snášelová H., Kerekeš R., Velan T., (2001).
"GOLEM – Multimedia simulator for medical education." In Patel, L.,
Rogers, R., Haux R. (Eds.). MEDINFO 2001, Proceedings of the 10th World
Congress on Medical Informatics. London: IOS Press, 1042-1046.
[9] Kofránek J., Andrlík M, Kripner T and Matoušek S., (2005). "Biomedical
Educations with Golem." In: Interdisciplinary Aspects of Human-Machine
Co-existence and Co-operation, edited by Mařík V, Jacovkis P, Štěpánková
O and Kléma J. Prague: Czech Technical University in Prague, 142-151.
25
MEFANET 2008
[10]
Kofránek J., Matoušek S., Andrlík M., Stodulka P., Wünsch, Z.,
Privitzer P., Hlaváček J., Vacek O., (2007). "Atlas of physiology - internet
simulation playground." In. Proceedings of the 6th EUROSIM Congress on
Modeling and Simulation, Vol. 2. Full Papers (CD). (B. Zupanic, R. Karba,
S. Blažič Eds.), University of Ljubljana, ISBN 978-3-901608-32-2, MO-2P7-5, 1-9. The article is available at http://patfbiokyb.lf1.cuni.cz/wiki/_media/clanky/development_of_web_accessible_me
dical_simulators.pdf?id=wiki%3Auser%3Aseznam_publikaci&cache=cache
[11]
Kofránek J, Rusz J., Matoušek S., (2007). "Guytons Diagram Brought to
Life - from Graphic Chart to Simulation Model for Teaching Physiology." In
Technical Computing Prague 2007. 15th Annual Conference Proceedings.
Full paper CD-ROM proceedings. (P. Byron Ed.), Humusoft s.r.o. &
Institute of Chemical Technology, Prague, ISBN 978-80-7080-658-6, 1-13,
2007. The article including source program codes is available at
http://dsp.vscht.cz/konference_matlab/MATLAB07/prispevky/kofranek_rus
z/kofranek_rusz.pdf
[12]
Kofránek J. (2008), "Design of Educational simulators, What is behind
the curtain". (in Czech). In: Mefanet report 01 Institut biostatistiky a analýz,
Masarykova Univerzita. str. 60-72
[13]
Meyers R., Doherty C, Geoffrion L. (2008, September). Web-Human
Physiology Teaching Simulation (Physiology in Health, Disease and During
Treatment) [Online]. Available: http://placid.skidmore.edu/human/index.php
[14]
Oostendorp T. (2008,September). ECGSim, version1.3 [Online].
Available: http://www.ecgsim.org/.
[15]
Silbernagl S., Despopoulos A. (2003). Color Atlas of Physiology. 5th
edition. Georg Thieme VerlagThieme., New York, ISBN 9781604061147
[16]
Silbernagl, S., Lang, F. (2000) Color Atlas of Pathophysiology. Georg
Thieme, New York, ISBN 9781604061444
[17]
University of Florida. (2008,September). Virtual Anaesthesia Machine,
Simulation Portfolio. [Online] Available:
http://vam.anest.ufl.edu/simulations/simulationportfolio.php
Acknowledgements:
Development of the Atlas and educational simulation models takes place under
the support of the MŠMT (Ministry of Education, Youth and Sports) grant
2C06031 – “e-Golem”, research MSM0021620806 and the company Creative
Connections s.r.o.
26

Podobné dokumenty

medsoft 2008 - Laboratoři biokybernetiky a počítačové podpory výuky

medsoft 2008 - Laboratoři biokybernetiky a počítačové podpory výuky aplikaci.In MEDSOFT 2006, str. 171-176, Agentura Action-M, ISBN 80-86742-12-1, Praha, 2006 [3] http://blogs.msdn.com/johngossman/archive/2005/10/08/478683.aspx [4] http://www.orbifold.net/default/?...

Více

Komplexní modely integrovaných fyziologických systémů

Komplexní modely integrovaných fyziologických systémů particular in modelling acid‐base homeostasis. Our implementation model Hummod  (http://physiome.cz/hummod) will provide a theoretical basis for training simulators. In its  implementation we will ...

Více

od obrázku k simulačnímu modelu. - Laboratoři biokybernetiky a

od obrázku k simulačnímu modelu. - Laboratoři biokybernetiky a Vlastní popis modelu byl pouze ve formě základního (ale přesto plně ilustrativního) obrázku. Komentáře a zdůvodnění formulací matematických vztahů byly velmi stručné. Např. „bloky 266 až 270 počíta...

Více

2012 - Ústav patologické fyziologie

2012 - Ústav patologické fyziologie a psychofyzikálních experimentů na sluchové dráze. Dále jsou studovány zákaznické akustické sestavy a softwarové a hardwarové emulace a implementace algoritmů užitých při kódování zvuku v multimédi...

Více

ročník 4 – číslo 3/2010

ročník 4 – číslo 3/2010 k neúplné blokádě RAAS [16,17]. Při podání ARB, který blokuje vazbu ANG-II na receptory AT1, dochází ke značnému zvýšení koncentrací ANG-II, čímž se mohou částečně zachovat signální funkce receptor...

Více

saMOTNÝ sIMULÁTOR NEsTačÍ Zuzana dukátová

saMOTNÝ sIMULÁTOR NEsTačÍ Zuzana dukátová stavů i jako podklad pro klinické trenažéry využívající robotizovanou figurínu pacienta mají velký význam komplexní simulátory, zahrnující modely nejen jednotlivých fyziologických subsystémů, ale i...

Více

Časoprostorová diferenciace struktury úmrtnosti dle příčin

Časoprostorová diferenciace struktury úmrtnosti dle příčin republiky rovněž silně ovlivněn procesy urbanizace, demografického a epidemiologického přechodu již po několika desetiletí. Z příslušných důvodů má tematika věnující se prostorové distribuci indiká...

Více

Akauzální modelování - nový přístup pro tvorbu simulačních her

Akauzální modelování - nový přístup pro tvorbu simulačních her jazykem, který je přímo postaven na akauzálním zápisu modelů je Modelica. Pro modelování rozsáhlých a komplexních systémů je velmi vhodným prostředím. Klíčová slova Akauzální modelování, Kauzální m...

Více

Co je dobré vědět o maligním lymfomu

Co je dobré vědět o maligním lymfomu Když mi bylo 22 let, prožívala jsem jedno z nejlepších období života. Studovala jsem, cestovala, užívala si mládí a v létě 2004 jsem jela na letní brigádu do USA. Tam jsem začala být hodně unavená,...

Více