Publikace podporované projektem MŠMT 2C0631
Transkript
Příloha 1a Publikace podporované projektem MŠMT 2C0631 I. publikace české/slovenské Publikace podporované projektem MŠMT 2C0631 I. Publikace české/slovenské 1. Jiří Kofránek, Jan Rusz: Od obrázkových schémat k modelům pro výuku. Československá fyziologie 56(2), str. 69-78, 2007. Práce je dostupná na adrese http://www.physiome.cz/ references/CSFyziol2007.pdf. 2. Jiří Kofránek, Stanislav Matoušek, Michal Andrlík: Škola (simulační) hrou - využití simulačních modelů acidobazické rovnováhy v e-learningové aplikaci. In: MEDSOFT 2007, sborník příspěvků, (editor: Milena Zeithamlová), Agentura Acion M., Praha, ISBN 978-80-8674200-7, str. 83-92, 2007. Práce je dostupná na adrese http://www.physiome.cz/references/ Medsoft2007a.pdf. 3. Jiří Kofránek, Martin Tribula: Control web pro multimediální interaktivní ledvinu. In: MEDSOFT 2007, sborník příspěvků, (editor: Milena Zeithamlová), Agentura Acion M., Praha, ISBN 978-80-867-4200-7, str. 93-100, 2007. Práce je dostupná na adrese http://www. physiome.cz/references/MEDSOFT2007b.pdf. 4. Zdeněk Wünsch, Marcel Matúš, Tomáš Kripner, Jiří Kofránek: Modely regulace ve fyziologickém praktiku. In: MEDSOFT 2007, sborník příspěvků, (editor: Milena Zeithamlová), Agentura Acion M., Praha, ISBN 978-80-867-4200-7, str.225-230, 2007. Práce je dostupná na adrese http://www.physiome.cz/references/MEDSOFT2007c.pdf. 5. Stanislav Štípek, Čestmír, Štuka, Jiří Kofránek, Pavol Privitzer, Tomáš Nikl: Metodika e-learningu: Od jednoduchého ke složitému a zpět. In: Sborník příspěvků z konference eLearning 2007. Gaudeamus, Hradec Králové, ISBN 978-80-7041-573-3, str. 156-164, 2007. Práce je dostupná na adrese http://www.physiome.cz/references/elearning2007.pdf. 6. 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, Brno, ISBN 978-80-2104539-2, str. 60-72, 2008. Práce je dostupná na adrese http://www.physiome.cz/references/ MEFANETreport01.pdf. 7. Jiří Kofránek, Jan Rusz, Stanislav Matoušek: Vzkříšení guytonova diagramu - od obrázku k simulačnímu modelu. In MEDSOFT 2008, sborník příspěvků, (editor: Milena Ziethamlová) Agentura Action M, Praha, ISBN 978-80-86742-22-9, str. 37-56, 2008. Práce je dostupná na adrese http://www.physiome.cz/references/MEDSOFT2008a.pdf. 8. Jiří Kofránek, Pavol Privitzer, Petr Stodulka: Technologie a trendy tvorby výukových simulátorů. In MEDSOFT 2008, sborník příspěvků, (editor: Milena Ziethamlová) Agentura Action M, Praha, ISBN 978-80-86742-22-9, str. 37-56, 2008. Práce je dostupná na adrese http://www. physiome.cz/references/MEDSOFT2008b.pdf. 9. Petr Stodulka, Pavol Privitzer, Jiří Kofránek: Jednoduchá simulační hra krok za krokem aneb Od představy k hotovému. In MEDSOFT 2008, sborník příspěvků, (editor: Milena Ziethamlová) Agentura Action M, Praha, ISBN 978-80-86742-22-9, str. 149-156, 2008. Práce je dostupná na adrese http://www.physiome.cz/references/MEDSOFT2008c.pdf. 10. 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), Edis, Žilina, ISBN 978-80-8070-923-3, str. 79-94, 2008. Práce je dostupná na adrese http://www.physiome.cz/references/Objekty2008.pdf. 11. Jiří Kofránek, Marek Mateják, Stanislav Matoušek, Pavol Privitzer, Martin Tribula, Ondřej Vacek: Škola (multimediální simulační) hrou: využití multimediálních aplikací a simulačních modelů ve výuce patologické fyziologie. In MEFANET 2008. (editoři: Daniel Schwarz, Ladislav Dušek, Stanislav Štípek, Vladimír Mihál), Masarykova Univerzita, Brno, ISBN 97880-7392-065-4, CD ROM, 30_kofranek.pdf: str. 1-26, 2008, internetový sborník: http://www. mefanet.cz/res/file/mefanet2008/prispevky/30_kofranek.pdf. 12. Jiří Kofránek: Komplexní model acidobazické rovnováhy, (English version: Complex model of blood acid-base balance). In MEDSOFT 2009, sborník příspěvků, (editor: Milena Ziethamlová Ed.) Praha: Agentura Action M, Praha, ISBN 978-80-904326-0-4 , str. 23-60, 2009. Práce je dostupná na adrese http://www.physiome.cz/references/Medsoft09a.pdf, anglická verze je dostupná na adrese http://www.physiome.cz/references/AcidBaseMedsoft2009.pdf, model je dostupný na adrese http://physiome.cz/AcidBase. 13. Jiří Kofránek, Pavol Privitzer, Marek Mateják, Martin Tribula: Akauzální modelování – nový přístup pro tvorbu simulačních her. In MEDSOFT 2009, sborník příspěvků, (editor: Milena Ziethamlová) Praha: Agentura Action M, Praha, ISBN 978-80-904326-0-4, str. 31-75, 2009. Práce je dostupná na adrese http://www.physiome.cz/references/Medsoft09b.pdf. 14. Marek Mateják, Jiří Kofránek, Jan Rusz: Akauzální “vzkříšení” Guytonova diagramu. In MEDSOFT 2009, sborník příspěvků, (editor Milena Ziethamlová) Praha: Agentura Action M, Praha, ISBN 978-80-904326-0-4, str. 105-120, 2009. Práce je dostupná na adrese http://www. physiome.cz/references/Medsoft09c.pdf. 15. Jiří Kofránek, Marek Mateják, Pavol Privitzer: Kreativní propojení objektových technologií pro tvorbu výukových biomedicínských modelů In Objekty 2009, (editor: Pavel Kříž), Gaudeamus, Univerzita Hradec králové, ISBN 978-80-7435-009-2, Hradec Králové, str. 1-21, 2009. Práce je dostupná na adrese http://www.physiome.cz/references/Objekty2009.pdf. 16. Jan Rusz, Jiří Kofránek.: Využití, vývoj a automatizace nejen průmyslových nástrojů pro biomedicínské výukové simulátory. Automatizace, 52 (7-8), str. 443-446, 2009. Práce je dostupná na adrese http://www.physiome.cz/references/Automatizace2009.pdf. Československá fyziologie Jiří Kofránek, Jan Rusz: Od obrázkových schémat k modelům pro výuku. Československá fyziologie 56(2), str. 69-78, 2007. Práce je dostupná na adrese http://www.physiome.cz/references/CSFyziol2007.pdf. PØEHLEDNÉ ÈLÁNKY Od obrázkových schémat k modelům pro výuku MUDr. Jiøí Kofránek, CSc., Bc. Jan Rusz Laboratoø biokybernetiky, Ústav patologické fyziologie 1. LF UK, Praha SOUHRN Pøed pìtatøiceti lety uveøejnil A. C. Guyton et al. popis rozsáhlého modelu fyziologických vztahù ve formì grafického schématu. Autoøi toto rozsáhlé grafické schéma oživili s využitím moderního vývojového nástroje urèeného pro vývoj simulaèních modelù. Rozložení jednotlivých prvkù, jejich propojení a popis byl zachován. Na rozdíl od starého schématu je nové schéma funkèním simulaèním modelem umožòujícím ve vývojovém prostøedí Matlab/Simulink model spouštìt a studovat chování všech promìnných. Autoøi dále popisují technologii vývoje multimediálních výukových simulátorù. SUMMARY Thirty five years ago, A.C.Guyton at al. published a description of the large model of physiological relations in a form of a graphic chart. The authors brought this large-scale chart to life using a modern simulation tool – Matlab/Simulink. The original layout, connections and descriptions were saved in the implementation, but contrary to the old system analysis diagram, the new one is also a functional simulation model itself. Thus, the new implementation gives the user the possibility to see and study behaviour of all model’s variables in time. Authors also describe the technology of development of multimedia learning simulators. POČÍTAČOVÁ PAVUČINA FYZIOLOGICKÝCH REGULACÍ Před pětatřiceti lety uveřejnil prof. Arthur C. Guyton spolu s T. G. Colemanem a H. J. Granderem v časopise Annual of Biomedical Physiology článek (Guyton et al., 1972), který se svou podobou na první pohled naprosto vymykal navyklé podobě fyziologických článků té doby. Jeho centrálním místem bylo rozsáhlé schéma, na první pohled vzdáleně připomínající 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. 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). Československá fyziologie 56/2007 č. 2 Článek popisoval rozsáhlý model fyziologických regulací cirkulačního systému a jeho širší fyziologické souvislosti a návazností na ostatní subsystémy organizmu – ledviny, regulaci objemové a elektrolytové rovnováhy. Místo vypisování soustavy matematických rovnic se v článku využívalo grafické znázornění matematických vztahů (viz obr. 1). Tato syntaxe umožnila graficky zobrazit souvislosti mezi jednotlivými fyziologickými veličinami ve formě propojených bloků reprezentujících matematické operace. 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 velké soustředění (jakož 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 (Gyuton et al., 1973), kde byla řada použitých přístupů vysvětlena poněkud podrobněji. Později skupina A. Guytona tento model dále rozšiřovala a zájemcům dokonce poskytovala i výpisy počítačových programů realizace modelu v programovacím jazyce Fortran (naposledy z roku 1986). 69 Annu. Rev. Physiol. 1972.34:13-44. Downloaded from arjournals.annualreviews.org by Dr. Jiri Kofranek on 07/15/06. For personal use only. Obr. 1: Schéma rozsáhlého modelu A. C. Guytona a spolupracovníkù. Publikováno s laskavým svolením Annual Review of Physiology. Guytonův model byl prvním rozsáhlým matematickým popisem fyziologických funkcí propojených subsystémů organizmu 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. A. C. GUYTON – PRŮKOPNÍK SYSTÉMOVÉHO PŘÍSTUPU VE FYZIOLOGII Arthur C. Guyton patřil k průkopníkům systémového přístupu ke zkoumání fyziologických regulací. Do fyziologické vědy vnesl řadu zásadních konceptů v oblasti krátkodobé a dlouhodobé regulace oběhu a jeho propojení s regulací 70 objemu, osmolarity a iontového složení tělních tekutin. Vypracoval řadu originálních experimentálních postupů – byl např. prvním, kdo změřil hodnotu tlaku v intersticiální tekutině. Byl však nejenom inovativní experimentátor, ale především brilantní analytik a kreativní syntetizátor. V experimentálních výsledcích uměl nacházet nové dynamické souvislosti, které umožnily pochopit podstatu řady důležitých regulačních vztahů v organizmu jako celku. Guytonovy výzkumy např. prokázaly, že v řízení minutového objemu srdečního není rozhodujícím prvkem pouze srdce jako pumpa, ale i dodávka kyslíku do tkání a s tím související regulace tkáňové perfuze, a dále i náplň krevního řečiště a regulace poddajnosti velkých žil. Guyton prokázal, že za dlouhodobou regulaci krevního tlaku jsou zodpovědné ledviny (Guyton, 1990). Při studiu dynamiky regulačních vztahů a pro pochopení vzájemných dynamických souvislostí fyziologických regulačních vztahů jen slovní popis a „selský rozum“ nestačí. Guyton Československá fyziologie 56/2007 č. 2 si to uvědomil již v polovině šedesátých let a při zkoumání příčin, které ovlivňují krevní tlak, se snažil o přesnější vyjádření závislostí a vztahů pomocí propojených grafů a posléze i pomocí počítačových modelů. První počítačové modely vytvořil spolu se svým dlouholetým spolupracovníkem Thomasem Colemanem již v roce 1966. Jako erudovaný fyziolog se Guyton zabýval biomedicínským inženýrstvím v době, kdy tento obor vlastně ještě oficiálně neexistoval. Je pozoruhodné, že Guyton se vlastně zabývat teoretickou medicínou nechtěl. Původní zaměření jeho lékařského vzdělání byla praktická klinická medicína. Po absolutoriu lékařské fakulty na prestižní Harvardské univerzitě v roce 1943 začal svou klinickou kariéru v Massachusettské všeobecné nemocnici, kde se vzdělával v oboru neurochirurgie. Jeho neurochirurgická studia přerušila válka, kdy byl povolán k námořnictvu jako vojenský lékař. Po válce se vrátil zpět k neurochirurgii, ale velmi nakrátko. V roce 1947 dostal poliomyelitis, která zanechala těžké následky – ochrnutí pravé nohy a pravého ramene jej upoutalo na kolečkové křeslo. Jeho kreativní duch ho i v těžkých chvílích neopustil a výsledkem byl vynález pákového ovladače (joysticku) určeného pro kolečkové křeslo na elektrický pohon. Dalším vynálezem byla speciální pružná spona umožňující paraplegikům snadný přesun mezi kolečkovým křeslem a vanou. Za tyto vynálezy usnadňující život hendicapovaným jedincům byl vyznamenán prezidentem USA. Zdravotní postižení ukončilo Guytonovu kariéru v neurochirurgii a nasměrovalo ho k teoretické medicíně. Přestože měl nabídky zůstat na prestižní Harvardské univerzitě, vrátil se do svého rodného Oxfordu ve státě Mississippi, kde zpočátku učil farmakologii na dvouleté medicínské škole a v roce 1948 byl jmenován vedoucím katedry fyziologie a biofyziky v Medical Center na Univerzitě Mississippi. Z tohoto (na americké poměry) původně provinčního institutu vytvořil světově věhlasné fyziologické pracoviště, kde sepsal svou proslulou učebnici fyziologie, která se dnes dočkala již 11 vydání, byl autorem a spoluautorem více než 600 publikací a napsal 40 knih. Vychoval mnoho generací mediků a více než 150 doktorandů. V roce 1989 předal vedení katedry svému žákovi J. E. Hallovi a jako emeritní profesor se nadále věnoval výzkumu a výuce až do své tragické smrti v důsledku automobilové nehody v roce 2003. FORMALIZACE POPISU FYZIOLOGICKÝCH VZTAHŮ Guyton byl jedním z propagátorů využívání formalizovaného popisu fyziologické reality. 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. Pokud tyto rovnice převedeme do formy programu pro počítač, můžeme tak přenechat „dřinu strojům“ – v tom je podstata využití simulačních modelů. Simulační model, pochopitelně, nenahradí biologický experiment (jak tvrdí někteří fanatičtí bojovníci proti pokuČeskoslovenská fyziologie 56/2007 č. 2 sů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. Kritériem pro odmítnutí nebo neodmítnutí hypotézy je ale vždy porovnání chování modelu s empiricky a experimentálně získaným chováním biologického originálu. Uplatnění formalizace v biologických a lékařských vědách 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. Určitým 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ů. Počínaje výše zmíněným modelem Guytona a jeho spolupracovníků se od sedmdesátých let 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 a rozvíjí se i modelování interakcí struktur nervové tkáně. Pro popis řady těchto modelů autoři často volili grafickou syntaxi navrženou Guytonem – tak např. Amosov et al. v roce 1977 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 et al. ve svém modelu vnitřního prostředí. ŠKOLA (SIMULAČNÍ) HROU Rozvoj personálních počítačů a internetu koncem minulého století 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í, sloužícího jako zvukové a vizuální uživatelské rozhraní, se simulačními modely studentům umožňuje názorně si „osahat“ 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í 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 71 NON-MUSCLE OXYGEN DELIVERY MUSCLE BLOOD FLOW CONTROL AND PO2 228 BFM 1 xo PM1^2 2500 5 238 257 OVA 2688 263 OVA DOB 264 1 xo s 223 P3O^3 233 AM VIM 216 PDO PA NOD RFN 201 207 213 RBF 177 PRA 0 CNX CNE 10 POB 276 AU AH8 lower_limit_0 40 274 275 POD AK1 ANM 0.06 1 ARM 40 POA 281 282 285 0.9763 ARM 279 280 AR3 AR1 1 s xo A2K lower limit 0.5 1 ARM 1 VIM 1 35 ANU RSM 283 0.495 0.3 1 5 33 VAS 7 9 VV8 VVE 1 xo 73 5 0.001657 VTC CV QVO PC^3 CPK QLO PLA 5.069 QLO 291 PVS 0 PR1 POQ 0.1 293 VLE P2O CPA PLA DAU AUK AUB^3 AUB CALCULATION 304 RPT QRN 308 QRN = f(PRA) Z8 309 AUB calculation 0 19 15.18 23 6 22 15 QRO 21 PPA PGL VPE 20 14 DPL uv 0.21 0.85 314 312 AUV xo 0.9895 AUL VTD 84 PLA 0 1 AUY 0.5 319 PPA 0.991 0.55 AUM 0.000225 151 VIE 0.375 PPD 100 HSL 337 145 350 5.001 140 KCD xo PTT = (VTS/12)^2 336 KED DHM 1 0.1 xo 1 1600 96 V2D 352 HPR 347 342 125 AU 5 0.5 1 REK u^2 117 CHY^2 NOD 1 s 93 94 PGC PGR 0.4 1 HM 335 57600 HM 0.0000058 PG2 95 99 343 PPI = 2 - (0.15/VPF) PGH 0.01252 VPF 344 PULMONARY DYNAMICS AND FLUIDS 5 VPF VRC VRC 1 1 xo s 1 349 HPL 1 1 xo s HMD HPR PTS 89 90 57 CHY HYL -5.9 91 NAE 142.2 CNA PIF 92 VIC 0.0125 VPF 114 115 VEC 39.93 VTW PRM 3 12 HEART HYPERTROPHY OR DETERIORATION 0.1 VP VTW 24.2 2 RED CELLS AND VISCOSITY STH 1 VG 334 RC2 -2.429e-008 VB 1 s 1 s NID PTC HMD 100 DFP xo 119 xo 2130 0.1 PGP 143 2-(0.15/u) 142 0.0125 HEART RATE AND STROKE VOLUME upper limit 1 PPI PLF DFP CNA 118 NED 0.25 PIF 57600 348 39.95 RKC 141 1 0.00042 KOD 1 xo 124 CKE 126 116 333 PFI 1 0.00014 123 KE 120 98 HPL 336b VRC 40 HMD 1 xo s 75 0.013332 u^0.625 PP3^0.1 u^0.625 PA4^0.625 1 s 2 xo 11 325 AM 122 KID 11.4 VGD 100 140 326 121 0.0028 (u/12)^2 6 0.0025 351 1 s 144 0.0003 POT 15 345 PP3 346 HM2 40 336c RCD 332 PPO CPF 0 321 324 2850 KE1 CKE 97 RC1 152 2 PRA QLO KIR 127 0.013 1 s 85 PTT PLF 0.0003 PLF PPI 322 323 HSR 100 PPA4 341 331 POS 139 32 327 HR VTS PPA 340 0.00092 PPC SVO 15 PA 464e-7 PPD POS 128 129 KIE 113 101 330 5.124e-006 148 PPN 11.94 1 1.5 POY 147 130 KCD 3550 GPR VG VG 8 lower limit 0.2375 xo 138 AVE xo 10 86 VTS 0.333 0.4 1 s PCP 0.07061 xo 1 s 0 VIM 338 VPF 137 AVE 0.9955 AUTONOMIC CONTROL 339 PO2 PPR 149 VIC 1 s KI 1 s PTS = f(VIF) VIM 8.25 146 PPC xo 25 131 171 0 POT 329 PO1 CPN CPP 28 136 15 AUM 320 150 0.4667 AUH AUH 1 GPD 112 0.9889 8 70 2.951 0.9968 PTS 1 s VVR VVR 0.7 328 PIF 88 xo 313 AUD 315 135 VID 0.01 CNA VIC VIF 12 3.159 AU 0.3 VID 134 CCD 132 20 VID VV9 133 CKI GP2 111 0.0005 87 CIRCULATORY DYNAMICS 1 -2.489e-005 110 GPD 83 VTC 0.15 318 VIF VTL VPA AUJ^AUZ 316 AU9 IFP 1 xo s 12 0.1 0.101 0.38 103 DPI 0.002 1 s 0 AUN calculation SVO 0.005 PRA xo AUJ 1 104 GP1 102 0.30625 0.0048 1 PRA 1 s VPA AUZ 310 311 AU 170 xo ALDOSTERONE CONTROL DPC 0.04 VRA 18 PLA RPT QPO AU8 AUN AUN PIF QPO PPA xo PTT 0.25 lower limit 4 20 -4 1 s AUN CALCULATION 317 -6.381 PR1 0 1 1 s AMC lower limit 6 9 1 s VRA 169 60 200 166 KN1 CNA 109 PRA AUH AUB AMR 0 165 CKE 5 142 xo PPA AMT AMP = f(PA) 0.00352 7.8 PTC 105 1 AUH 51 0.026 0 106 PIF CPI CPI 0.1 13 50 RVM = f(PP2) 20.44 108 DPL DRA 15 0 PLD 0.004 lower limit 5 PTC 16 0 PP2 AU2 0.0005 305 when PA1<50: AUN=6 when 20>PA1<50: AUN=0.2*(50-PA1) when PA1>=50: AUC=0 107 VTL 5.109 12 QRO lower limit 0 52 PL1 -0.017 168 AM1 DPL VTL HMD HMD RVM RPV 0.0357 20 57 PLA 0.03509 0.001717 HPR 1.4 55 1 0.4 DLA 24 301 u^3 PA1 QVO 1 1 56 307 1 303 AU6 when PA1<40: AUB=1.85718 AUB when 40>PA1<170: AUB=0.014286*(170-PA1) when PA1>=170: AUB=0 PP1 QLN = f(PLA) xo 302 A1B 171 167 AMP HSR 50 20 -4 1 s VLA AUC AUC calculation AM2 AM3 PA 100 AUH 48 sqrt QLO 1 when PA1<40: AUC=1.2 AUC when 40>PA1<80: AUC=0.03*(80-PA1) when PA1>=80: AUC=0 11 49 RPA 0 172 19.8 10u 1 RVM 53 VLA 25 AUC CALCULATION PA1 54 QLN EXC 173 AM5 164 4 1 295 8 296 297 1.24 PA1 AM ANM 1 RVG 2.738 26 Z12 PA1 20.039 174 0.9926 QRF 47 15 0.4 EXE AM PVS 0.6 QLN 44 3 298 ANT ANGIOTENSIN CONTROL DPC VP PPC 10 QLO 260 LVM = f(PA2) 28 294 0.002 45 46 0 100 8 15 3.007 27.9 VTL 27 upper limit 8 PA lower limit 4 1 158 0.1 DPC 0.03705 20 0 1 PLA 8 152 CPI VP 1 xo s 3 DFP VRA 0.02593 POT POQ 8 1 s xo 157 AN1 ANM 71 VPD VUD 5 VPA PA2 LVM 156 155 CNE 74 70 0.001 VB VLA 58 1.4 1 QLN HMD HPL CNA 142 CP1 TVD 0.001 VVS 59 HSL LVM QLO 159 ANC CNE 154 CPP 60 VAS QAO 0.042 (1.2/u)^3 (1.2/RFN)^3 10 75 1.6283e-007 PA 29 30 292 74 u^3 0.0825 RFN 1.2 69.75 VAS3 DAS AN2 153a 69 PTC PVS lower limit 0.0001 2.833 160 10u REK CPP CFC PVS AR3 1 s 3.3 161 AN3 4.0 210 0.007 8 VVS AN5 lower limit 0.7 ANM xo 0.4 -6.3 3.776 QVO VVS 1 s VP 153b xo 3.25 BFN PRP CPP PIF 2.95 1 s BFN PGS 61 62 VP VVR 6 DVS 2 RSN 1 PA VAE xo 0.85 POZ 289 0 162 163 ANM 1.004 80 PC 68 PPC PVS VBD VB 2 VV7 QAO 0.00355 32 1 s if (POD<0) {POJ=PODx3.3} 0.04 DPP 0.00047 16.65 5.007 72 VRC RBF 31 lower limit 0.3 A3K DLP LPK CPR VB 17 100.4 284b DPL 85 17 PC 0.322 4 0.33 11520 288 39 17 VVE 0.007 78 77 2.774 PA POJ DP0 79 0 67 PVS 3.7 RVS 1.2 BFM 100 1 286 41 CN2 RV1 1.022 34 AUM 284 POC 2.8 PPD PVG BFN CN7 0.0212 BFM PGS PAM AUM 287 RV1 43 3 37 RAR AUM PAM 30.5 RAR 0.1 1 66 1.6379 0.2 1.79 RVS ANTIDIURECTIC HORMONE CONTROL RVS 41A 38 36 VIM PON 20 ANU AMM VIM RAM 96.3 AUM RAM 1 290 AR2 2.9 40 42 1 POR 1 1 AVE POK lower limit 0.2 1 CAPILLARY MEMBRANE DYNAMICS 273 lower limit 0.95 xo 1 s 0.0007 2 AM 1 1 1 1 1 s AHY 180 181 REK POV 277 278 179 AH7 AHM 1 1.213 PPC 28 1 178 AHZ 1 NON-MUSCLE LOCAL BLOOD FLOW CONTROL AR1 184 lower limit 3 2.5 0.025 RFN PA 100 AOM 1.001 0.14 AH 222 0.001 1.213 AUM 0.9984 0.3333 139 RBF AOM AMM 183 182 CN8 CNR lower limit 0 lower limit 0.35 1 214 CNA 142 176 1 175 CNY 1 40 1 PVO AHC 1 s 158A 6 AM AHM AH1 10u CNZ 0.1112 ARF 195 0.3 249 EXC 187 6 AHM 221 upper limit 15.0 lower limit 0.4 185 0.0785 0.9882 NOD 215 AAR 40 6 AH2 0.08 512 HM 0.0125 186 AH4 GF3 1.5 243 8 AHM 1 APD 202 196 1 PMO 0.5 VPF 7.992 188 189 220 1 122 2.8 POT 0.009 210 GF4 211 POM PM5 POT 203 GF3 1 u^3 219 217 1 5 VVE 200 TVD 0.0009088 0.5 250 244 191 0.01 0.301 60 P3O 242 190 GLP VIM 197 8.0001 234 QO2 0.00333 RMO 57.14 PVO OVA TVD lower limit 0 Z11 AHM 1000 209 PPC 18 31.67 VV7 VV1 62 1 BFN 40 P1O 232 OSA 255 HM xo 271 272 upper limit AAR 51.66 251 1 224 1 s 194 4 Z10 1 0.01044 61 241 2400 271 POT^3 u^3 TRR 0.8 198 VV7 lower limit .005 MO2 265 193 STH 8.25 1.031 63 VV6 VV2 AOM 248 STH 0.001103 PFL EVR 33 POE 8 VUD lower limit 0.0003 AAR SRK 252 247 P2O P2O upper limit 8 192 POT 8 VUD 208 212 DVS 5 8.0001 1 253 1 2400 Xo 235 256 218 GFR 0.125 0.00781 0.25 -1 0.7 231 225 P40^3 P4O THIRST AND DRINKING 206 VV7 1 s 199 PM4 1 s xo BFM 198.5 lower limit 50 236 QOM GFN 205 200 65 64 230 5 u^3 1 246 POV RDO 512 267 u^2 RR AMM 1 s xo 0.15 226 262 254 02A PK3 39.85 266 237 239 PK1 258 POT AU 1 lower limit .001 229 5 RMO 5 245 PMO 800 227 POV 268 PM3 240 PK2 259 0.7 261 270 KIDNEY DYNAMICS AND EXCRETION VASCULAR STRESS RELAXATION 260 OSV 168 1 1 s 57.14 02M 269 TISSUE FLUIDS, PRESSURES AND GEL VTS ELECTROLYTES AND CELL WATER Obr. 2: Realizace rozsáhlého modelu A. C. Guytona et al. pomocí softwarového nástroje Simulink © Matworks. Rozvržení, oznaèení i èíslování jednotlivých blokù je stejné jako na Guytonovì schématu. Rozdíl je ovšem v tom, že toto není pouze obrázek, je to zároveò i funkèní simulaèní model. Model je k dispozici na adrese www.physiome.cz/guyton. 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 organizmu 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í organizmu 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ů. 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 72 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. TEORETICKÝ ZÁKLAD SIMULAČNÍCH HER – SIMULAČNÍ MODELY Při vytváření simulátorů 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 našem případě byla tato problematika řešena v rámci výzkumných grantů a výzkumného záměru. 2. Tvorba vlastního multimediálního simulátoru, resp. tvorba výukového programu využívající 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. Pro každou z těchto úloh je vhodné používat adekvátní vývojářské nástroje. Pro tvorbu simulačních modelů v naší laboratoři využíváme Simulink a Matlab americké firmy Mathworks, které nám umožňují postupně sestavovat simulační model z jednotlivých komponent – jakýchsi softwaroČeskoslovenská fyziologie 56/2007 č. 2 vých simulačních součástek, které se pomocí počítačové myši mezi sebou propojují do simulačních sítí. 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 (viz obr. 2). 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. OŽIVLÉ GUYTONOVO SCHÉMA Simulinková schémata jsou velmi obdobná pětatřicet let staré notaci využité ve výše zmiňovaném rozsáhlém modelu Guytonovy školy. Rozhodli jsme se proto oživit starý model prostřednictvím moderního softwarového nástroje. Vnější vzhled jsme se snažili zachovat zcela stejný jako v původním obrázkovém schématu – rozložení, rozmístění vodičů, názvy veličin i čísla bloků jsou stejné (obr. 2). 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 (obr. 3b) a nikoli „prasátkem“ jako v Guytonově notaci (viz obr. 3a). Blok integrátoru zobrazený v Simulinku nemá na sobě grafický znak integrálu, ale výraz „1/s“ (což souvisí s notací tzv. Laplaceovy transformace). V simulinkovém modelu jsme využili i přepínače, kterými i za běhu modelu můžeme odpojovat nebo zapojovat jednotlivé subsystémy a regulační smyčky. 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, a 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. 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. Koneckonců, ve své době autoři rozesílali i zdrojové texty programů svého modelu NON-MUSCLE OXYGEN DELIVERY 260 OSV 168 0.7 POV 270 5 268 262 POT 512 u^3 - 257 lower limit 50 + + + 2688 263 5 P40^3 DOB 264 266 258 POV 39.85 RDO 267 259 261 - 1 xo - 269 1 s 57.14 02M 256 P4O MO2 8.0001 265 2400 u^3 271 POT^3 1 s BFN 40 upper limit 0.6 272 P1O 0.00333 255 HM x271 o POT OVA 200 QO2 2.8 POT 7.992 AOM 1 Obr. 3: Pravý horní roh obrázkového schématu modelu A. C. Guytona (a) a zobrazení modelu v softwarovém nástroji Simulink (b). Stejnì rozmístìné bloky se stejnými èísly pøedstavují stejné matematické operace. Násobièky a dìlièky: bloky 255, 257, 259, 261, 263, 268 ,272, 270 ; sèítaèky: bloky 256, 258, 262, 264, 266, 269; integrátory: bloky 260 a 271; funkèní mìnièe (kubická funkce): bloky 265 a 267; omezovaè horní hodnoty: mezi bloky 272 a 286, omezovaè dolní hodnoty: mezi bloky 265 a 180. V Simulinku jsou navíc pøepínaèe, kterými lze pøepnout vstupní hodnoty pøicházejících do subsystému z ostatních èástí modelu na vstupy zadávané uživatelem (a odpojit tak subsystém od ostatní èásti modelu). Československá fyziologie 56/2007 č. 2 73 0.1441 PNa 100.2 29.83 6.25 1189 TubC Normal proximal tubule conductance [ml/min/torr] RBF OUTPUTS : GFR - Glomerular filtration rate [ml/min] FF - Filtration fraction [relative number] GP - Glomerulal pressure [torr] PTP - Proximal tubule pressure [torr] AVeCOP - Average colloid osmotic pressure [torr] NETP - Net pressure gradient in glomerulus [torr] RPF 665.6 0.07 Plasma protein cnoncentration [g/ml] APr 16 GKf Normal glomerular filtration coeffitient [ml/min/torr] U GFR PNa INPUTS : RAP - Renal artery pressure[torr] Affc - Afferent artery conductance [mll/min/torr] TubC - Proximal tubule conductaqnce [ml/min/torr] RBF - Renal blood flow [ml/min] RPF - Renal plasma flow APr - Plasma protein concentration (in afferent artery) [g/ml] GKf - Glomerular filtration coeffitient [ml/min/torr] AffC 3.644 125 GLOMERULUS RAP FF U U INPUTS : PNa - Plasma sodium concentration [mmol/ml] GFR - GLomerulal filtration rate [ml/min] LogA2 - Logarithm of plasma angiotensin concentration [pg/ml] PrxFNaNorm - Normal value of sodium proximal fractional reabsorbtion [relative number] 0.1905 GFR GP O 60.31 MDNaFlow PdxNaReab LogA2 PTP 20.29 AVeCCP 32.21 PrxFNaNorm OUTPUTS : MDNaFlow - Sodium outflow [mmol/min] PdxNaReab - Proximal sodium reabsorbrtion [mmol/l] PrxFNa - Proximal fractional sodium reabsorbtion PrxFNa Calculation of proximal tubule sodium reabsorbtion NetP 7.811 0.7977 0.8 Normal Na proximal fractional reabsorbtion Glomerulus 14.37 MYOGENIC RESPONSE 0.9996 AffC 25.09 EffC 200 RenVenC Venous conductance [ml/min/torr] AP 100.2 7 VP Vena renalis pressure [torr] 0.44 Hct Hematocrit 0 Renal artery pressure clamp drop [torr] Clamp RAP RENAL PERFUSION INPUTS : AffC - Afferent artery conductance [ml/min/torr] EffC Efferent artery conductance [ml/min/torr] RenVenC - Renal venous conductance [ml/min/torr] AP - Arterial pressure [torr] VP - Vena renalis pressure [torr] Hct - Hematocrit [relative number] Clamp - Renal artery pressure drop caused by renal artery clamp [torr] OUTPUTS : RAP - Renal artery pressure [torr] RBF - Renal blood flow rate[ml/min] RPF - Renal plasma flow rate[ml/min] INPUT : RAP - Renal artery pressure [torr] MACULA DENSA MDNaFlow AffMyo1 INPUTS : MDNaFlow - Macula densa sodium flow [mmol/min] logA2 - Logarithm of plasma angiotensin concentration [pG/ml] MDNorm - Normal macula densa feedback signal [ratio to normal value] OUTPUT : AffC - Myogenic effect [ x Normal] RAP Calculation of the myogenic response to changes in renal perfusion pressure (afferent conductance responds to changes in perfusion pressure, with pressure increases causing vasoconstriction) 1.005 MDSig AFFERENT ARTERY RBF OUTPUT : MDSig - Macula densa feedback signal [ x Normal] AffMyo AffC INPUTS : AffMyo - Myogenic effect [ x Nomal] MDSig - Macula densa feedback signal [ x Normal] AffNorm - Normal conductance in afferent artery [ml/min/torr] OUTPUT : AffC - Vascular conductance [ml/min/torr] RPF MDSig Calculation of renal artery pressure and renal blood flow rate MDNorm Macula densa feedback signal calculation based on macula densa sodiumflow and angiotensin concentration 30 AffNorm 1 Normal macula densa feedback signal Normal conductance of Afferent artery [ml/min/torr] Calculates conductance of afferent artery LogA2 EFFERENT ARTERY LogA2 EffC EffC INPUTS : LogA2 - logarithm of angiotensin concentration MDSig - Macula densa feedback signal [ x Normal] EffNorm - Normal conductance in afferent artery [ml/min/torr] OUTPUT : EffC - Vascular conductance [ml/min/torr] AP LogA2 1.277 MDSig 25 EffNorm Calculates conductance of efferent artery MDSig Normal conductance of Efferent artery [ml/min/torr] LogA2 Obr. 4: Fragment èásti modelu sestaveného s využitím simulaèních èipù. Na rozdíl od „holých“ simulaèních blokù propojených spoustou èar, je struktura modelu pøehlednìjší. 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 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 et al. z roku 1986. 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Í PAVUČINY K SIMULAČNÍM ČIPŮM Spletitá pavučina počítacích bloků oživlého Guytonova modelu 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 74 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 propojit do sítě s dalšími bloky a subsystémy (obr. 4). 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. Pomocí 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. Simulační čipy je možno ukládat do knihoven a opětovně používat v různých modelech. 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 simulačních modelů (teoretický fyziolog, vytvářející formalizovaný popis Československá fyziologie 56/2007 č. 2 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. 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 Vývoj, testování a identifikace simulačního modelu v prostředí Simulink/Matlab Přeloženi identifikovaného modelu do C++ Automatizovaná tvorba ovladače pro virtuální měřící/řídící kartu komunikující s aplikací vytvořenou v prostředí Control Web Automatizovaná tvorba Microsoft . NET assembly Vývoj interaktivníchj animací v prostředí Adobe FLASH Virtuálni ovladač (s modelem) Interaktivní flashové animace . NET Interaktivní assembly flashové ( (s modelem) animace Psaní scénáře výukové aplikace Ideový návrh interaktivních sekvencí obrázků a aplikací (tzv storyboard) Vývoj výukového simulátoru VÝUKOVÝ SIMULÁTOR (platforma Control Web) VÝUKOVÝ SIMULÁTOR (platforma Microsoft .NET) Testování ve výuce Obr. 5: Vývojový cyklus tvorby výukových simulátorù. Na poèátku je sestavení scénáøe výukového programu vèetnì návrhu sekvencí obrázkù (tzv. storyboard). Pak následuje tvorba simulaèních modelù, které budeme využívat v simulátoru, resp. výukovém programu využívajícím simulaèní hry. Pro tvorbu simulaèních modelù využíváme vývojové prostøedí Matlab/Simulink od firmy Mathworks. Zároveò vytváøíme pohyblivé animaèní obrázky v prostøedí Adobe Flash. Odladìný simulaèní model je pak pomocí námi vyvinutého softwarového nástroje automaticky implementován ve formì øadièe virtuální mìøící/øídicí karty do prostøedí Control Web od firmy Moravské pøístroje, v nìmž je vytvoøeno uživatelské rozhraní. Øadiè virtuální karty, obsahující simulaèní model, toto prostøedí „ošálí“ – výstupy modelu jsou v prostøedí Control Web interpretovány jako mìøené signály z technologie a vstupy modelu jsou interpretovány jako øídicí signály smìøující do technologického zaøízení. Flashové animace jsou do vytváøené výukové aplikace umístìny jako Active X komponenty a propojeny se vstupy/výstupy simulaèního modelu. Animace pak mohou být øízeny simulaèním modelem a do simulaèního modelu mohou zároveò pøicházet hodnoty vstupù generované interakcí uživatele s flashovou grafikou. Další platformou, kterou využíváme pøi tvorbì výukových simulátorù je prostøedí Microsoft .NET. Do nìj umisśujeme jak simulaèní model ve formì automaticky generovaného .NET assembly ze Simulinku, tak i flashovou interaktivní animaci. Dùležité je otestování výukových simulátorù ve výuce, které pøináší nové požadavky pro revizi, rozšíøení èi vytvoøení dalších výukových simulátorù. Československá fyziologie 56/2007 č. 2 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í. 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). OD ROVNIC MODELU K TECHNOLOGICKÉMU KNOW HOW V sedmdesátých a osmdesátých letech 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. Ze simulačních modelů se tak stává i technologické „know how“. V naši laboratoři biokybernetiky se zabýváme tvorbou simulačních modelů v rámci výzkumu dotovaného z veřejných zdrojů. Proto i struktura námi vytvářených modelů 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). TVORBA SIMULÁTORŮ PRO SIMULAČNÍ HRY Simulační nástroje firmy Mathworks 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 75 toto rozhraní až příliš komplikované a navíc vyžaduje zakoupení dalších (pekelně drahých) licencí. Chceme-li vytvořit výukový simulátor, musíme ho zvlášť naprogramovat v některém z programovacích jazyků, včetně uživatelského rozhraní simulátoru. Jedním z nezastupitelných komponent výukového simulátoru je i část programu, která realizuje simulační model. Výsledkem vývoje simulačního modelu (který provádíme s využitím veškerého pohodlí nástroje Simulink/Matlab) je struktura matematických vztahů – jinak řečeno, soustava rovnic modelu, jejichž řešením dostaneme takové chování modelu, které se (v zvoleném rozsahu a v dané přesnosti) blíží chování fyziologického originálu. Známe-li rovnice, pak už zbývá „hlavoruční dřinou“ přetvořit jejich strukturu do podoby počítačového programu ve zvoleném jazyce. Pro vytvoření simulátorů využíváme platformu Microsoft .NET a programovací prostředí Visual Studio .NET. Aby nebylo nutné ve Visual Studiu .NET „ručně“ programovat již odladěný simulační model, vyvinuli jsme speciální softwarový nástroj (Kofránek et al., 2005; Stodulka et al., 2006), který automaticky převede vytvořený model do cílové platformy – tento nástroj automaticky ze Simulinku vygeneruje simulační model ve formě Microsoft .NET assembly (viz obr. 5). Další platformou, v níž běží simulační hry, je prostředí Control-Web od firmy Moravian Instruments. Control-Web je vývojový systém původně určený pro snadný vizuální návrh řídicích a měřících aplikací v průmyslu s využitím PC, vybavených speciální měřící/řídicí kartou. My tento nástroj využíváme jako prostředí pro běh simulačních modelů s tím, že vygenerovaný řadič virtuální řídicí karty v PC se pro systém Control-Web tváří jako propojení s průmyslovým rozhraním – ve skutečnosti však obsahuje simulační model. Control Web je tak „ošálen“ – pokud systém vysílá nějaké řídicí signály do průmyslového zařízení, ve skutečnosti posílá vstupní hodnoty do modelu. Pokud program vytvořený v prostředí Control-Web čte nějaké naměřené signály z průmyslového zařízení, ve skutečnosti čte výstupní signály z modelu (obr. 5). Tímto způsobem se nám podařilo využít veškerou vizualizační sílu tohoto nástroje pro multimediální prezentaci simulačních modelů ve výuce. POHYBLIVÉ ANIMACE JAKO LOUTKY NA NITÍCH 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 (Kofránek et al., 2004). Animace pak 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í. 76 Na druhé straně můžeme přes vizuální prvky vytvořené ve Flashi (nejrůznější tlačítka, knoflíky, táhla apod.) do simulačního modelu zadávat nejrůznější vstupy. 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álních elementů a vrstvu simulačního modelu vložit řídicí 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. 6). Při návrhu řídicí 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 (Stodulka et al., 2006). Tento Vrstva uživatelského rozhraní Řídicí vrstva Vrstva modelu Stavový automat pro určení kontextu výstupy vstupy Simulační model Obr. 6: Tzv. MVC architektura pøi tvorbì simulátorù. Mezi vrstvu modelu a vrstvu uživatelského rozhraní je vhodné vložit øídicí 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. Československá fyziologie 56/2007 č. 2 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Í HRY 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 simulačního modelu. Dalším problémem, 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í (Stodulka et al., 2006) je zobrazeno na obr. 7. 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. INTERNET ASP .NET Obr.8: Ilustrativní ukázka doprovodného simulátoru ve výukovém programu patofyziologie cirkulace. ZABALENÍ SIMULAČNÍCH HER DO MULTIMEDIÁLNÍHO VÝKLADU Jedním z projektů, který vytváříme v naší laboratoři, je Atlas fyziologie a patofyziologie (viz www.physiome. cz/atlas). Atlas (Andrlík et al., 2006) je průběžně vytvářená internetová multimediální výuková pomůcka z oblasti normální a patologické fyziologie, která s využitím simulačních modelů pomáhá vysvětlit funkci a poruchy jednotlivých fyziologických systémů. Simulační hry (obr. 8) 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). Adobe Connect SERVER Runtime pro běh simulátorů vytvořených v prostředí Control Web Simulační model stažený ze serveru Dispečer simulačních modelů Webová e-learningová prezentace KLIENT Platforma .NET Obr. 7: 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. Československá fyziologie 56/2007 č. 2 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í spolu77 prá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í 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 proto, že nejdůležitějším výsledkem, kterého se nám při vytváření internetového Atlasu fyziologie a patofyziologie 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 tyto bariéry překonat. 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í. Poděkování: Práce na vývoji lékařských simulátorů je podporována grantem MŠMT č. 2 C06031 a společností BAJT servis s. r. o. LITERATURA 1. Andrlík M, Kofránek J, Matoušek S, Stodulka P, Wünsch Z, Kripner 6. T, Hlaváček J. Internetový atlas multimediálních modelů pro vybrané kapitoly normální a patologické fyziologie člověka. Ukázka předběž- 2. 7. Maršálek P, Smutek D, Svačina Š. The design and development of inte- Praha, 2006; 7–12. ractive multimedia in educational software with simulation games. Amosov NM, Palec BL, Agapov BT, Jermakova II, Ljabach EG, Packi- Proceedings of the Seventh IASTED International Conference on na SA, Solovjev VP. Teoretičeskoje issledovanie fiziologičeskich sistěm. Computer Graphics and Imaging, Kauai, Hawai, USA 2004; 164–170. 3. Guyton AC, Coleman TA and Grander HJ. Circulation: Overall Regu- 4. Guyton AC, Jones CE and Coleman TA. Circulatory Physiology: Car- ISBN. 8. lation. Ann. Rev. Physiol., 41,1972, s. 13–41. diac Output and Its Regulation. Philadelphia: WB Saunders Company, 78 Kofránek J, Maruna P, Andrlík M, Stodulka P, Kripner T, Wünsch Z, ných výsledků. Medsoft 2006, Zeithamlová M., Agentura Action-M, Naukova Dumka, Kijev, 1977. 5. Ikeda N, Marumo F and Shirsataka M. A Model of Overall Regulation of Body Fluids. Ann. Biomed. Eng. 7, 1979, s. 135–166. 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 2, 2005, s. 62–67. 9. Stodulka P, Privitzer P, Kofránek J, Mašek J. Nové postupy při tvorbě 1973. simulátorů – inteligentní propojení Matlabu a Simulinku s platformou Guyton AC. The suprising kidney-fluid mechanism for pressure con- .NET a tvorba stavových automatů řídících výlsednou aplikaci. Med- trol – its infi nite gain! Hypertension, 16, 1990, s. 725–730. soft 2006, Zeithamlová M., Agentura Action-M, Praha 2006, 171–176. Československá fyziologie 56/2007 č. 2 MEDSOFT 2007 Jiří Kofránek, Stanislav Matoušek, Michal Andrlík: Škola (simulační) hrou využití simulačních modelů acidobazické rovnováhy v e-learningové aplikaci. In: MEDSOFT 2007, sborník příspěvků, (editor: Milena Zeithamlová), Agentura Acion M., Praha, ISBN 978-80-867-4200-7, str. 83-92, 2007. Práce je dostupná na adrese http://www.physiome.cz/references/Medsoft2007a. pdf. Škola (simulační) hrou – využití simulačních modelů acidobazické rovnováhy v e-learningových aplikacích 83 ŠKOLA (SIMULAČNÍ) HROU – VYUŽITÍ SIMULAČNÍCH MODELŮ ACIDOBAZICKÉ ROVNOVÁHY V E-LEARNIGNOVÉ APLIKACI Jiří Kofránek, Stanislav Matoušek, Michal Andrlík Anotace Simulační hry jsou výhodným pedagogickým nástrojem umožňujícím názorně vysvětlit komplexní vztahy ve fyziologických regulačních systémech a projevy regulačních poruch v patogeneze nejrůznějších onemocnění. Jedním z principů, který pomáhá pochopit význam jednotlivých regulačních smyček a jejich uplatnění při rozvoji nejrůznějších onemocnění možnost v modelu rozpojit regulační smyčky a sledovat jednotlivé původně propojené subsytémy odděleně (tzv. princip ceteris paribus). Tuto možnost hojně využíváme v multimediáloním e-learningovém programu vysvětlujícím poruchy acidobazické rovnováhy. Teoretickým podkladem tohoto programu byly modely acidobazické rovnováhy o kterých jsme referovali na loňském Medsoftu. Simulační model byl odladěn a verifikován ve vývojovém prostředí Matlab/Simulink. Pro tvorbu multimediálních komponent jsme využili prostředí Adobe Flash, a pro tvorbu vlastní výukovou aplikace využíváme prostředí Adobe Connect. Aplikace bude součástí vytvářeného Internetového Atlasu fyziologických modelů. Klíčová slova Acidobazická rovnováha, e-learning, krevní plyny, simulační model, výukové simulátory 1. Úvod V interaktivních výukových programech využívajících simulační hry dnes nachází své uplatnění staré Komenského krédo – "škola hrou". Spojení multimediálního prostředí, sloužícího jako zvukové a vizuální uživatelské rozhraní, se simulačními modely totiž umožňuje názorně si "osahat" vykládaný problém ve virtuální realitě. 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, nebo si otestovat chování jednotlivých částí J. Kofránek, S. Matoušek, M. Andrlík 84 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 patogeneze nejrůznějších onemocnění. Spojení multimediálního interaktivního prostředí se simulačními hrami je pedagogicky velmi účinným nástrojem výkladu, usnadňujícím studentům pochopení složité dynamiky patofyziologických stavů. Jedním z patologických stavů, jejichž správné pochopení činí studentům medicíny (ale i některým lékařům) obtíže je problematika poruch acidobazické rovnováhy vnitřního prostředí. Tato problematika je důležitá pro řešení řady závažných stavů v akutní medicíně, její správná interpretace je však provázena řadou problémů. A právě zde může hra se simulačním modelem významně přispět k pochopení kauzálních řetězců, které vedou k acidobazickýcm poruchám. 2. Dánská škola acidobazické rovnováhy a "matematické čarodejnictví" některých zastánců "moderního přístupu" k acidobazické rovnováze Acidobazická rovnováha je výsledkem dvou regulovaných bilancí – bilancí mezi tvorbou a výdejem silných kyselin (ledvinami) a bilancí mezi tvorbou a výdejem oxidu uhličitého (respirací). Tyto bilance jsou propojeny prostřednictvím pufračních systémů – bikarbonátového pufračního systému a nebikarbonátového pufračního systému (který je tvořen pufračními systémy plazmatických bílkovin, hemoglobinu a fosfátů). Označíme-li souhrnnou koncentraci nebikarbonátových bazí jako [Buf-] – ve skutečnosti se jedná o pufrační baze plazmatických bílkovin, hemoglobinu a fosfátů – pak souhrnná koncentrace bikarbonátů a nebikarbonátových pufračních bazí tvoří tzv. hodnotu BufferBase [6]: BB=[HCO3-] + [Buf-] Velkou část hodnoty BB ovlivňuje koncentrace hemoglobinu – aby bylo možno srovnávat hodnoty u pacientů, kteří mají různou koncentraci hemoglobinu, v klinice se počítá z rozdílem skutečné hodnoty BB a její normální hodnoty (v krvi závislé na koncentraci hemoglobinu) – tento rozdíl je označován jako tzv hodnota výchylky nárazníkových bazí, neboli Base Excess (BE): BE=BB-NBB Při metabolických poruchách acidobazické rovnováhy (tj. poruchách bilance mezi tvorbou a vylučováním silných kyselin) dochází k tomu, že Škola (simulační) hrou – využití simulačních modelů acidobazické rovnováhy v e-learningových aplikacích 85 nadbytek nebo nedostatek silných kyselin je tlumen pufračními systémy, což vede ke změnám hodnot BB resp. BE. Respirační systém na to reaguje změnou rychlosti vylučování CO2 což vede ke změnám hladiny CO2 v arteriální krvi a (přes pufrační systémy) k následným kompenzačním změnám v koncentraci vodíkových iontů. Pro klinické vyhodnocování poruch acidobazické rovnováhy byly dánskými autory [5] experimentálně sestaveny nomogramy, které vyjadřují závislost koncentrace vodíkových iontů [H+], resp. pH na hodnotě pCO2 a koncentraci hemoglobinu (Hb): [H+]=Funkce (pCO2, BE, Hb) Tyto dnes v klinice široce využívané nomogramy byly založeny na předpokladu normální koncentrace plazmatických bílkovin (které ovlivňují hodnotu BB). To způsobuje problémy při interpretaci výsledků vyšetření acidobazické rovnováhy u akutně nemocných pacientů s poruchou koncentrace plazmatických bílkovin. Tzv. "moderní přístup" Stewarta a jeho následovníků [2,7,8] k vysvětlení poruch acidobazické rovnováhy vychází z matematických vztahů, počítajících koncentraci vodíkových iontů [H] z parciálního tlaku CO2 v plazmě (pCO2), celkové koncentrace slabých (neúplně disociovaných) kyselin a jejich bazí ([Buftot]=[Buf-]+[HBuf]) a z rozdílu mezi koncentrací plně disociovaných kationtů a plně disociovaných aniontů – tzv. SID (strong ion difference): [H+]=Funkce (pCO2, SID, Buftot) K tomuto vztahu (jehož přesný tvar jsme uvedli např. v [x]) ovšem řada Stewartových následovníků přistupovala jako k "orákulu" – z věcně správných matematických vztahů se vyvozují nesprávné kauzální příčiny. Z výše uvedené rovnice např. vyplývá, že při hypalbuminémii (charakterizované snížením [BufTOT]) je tendence k alkalémii, při rozředění ECT (a následným snížením SID) dochází k acidémii, při zakoncentrování ECT naopak k alkalémii (a vysvětlují se tak tzv. diluční acidózy při podání nadměrného množství fyziologického roztoku, nebo naopak kontrakční alkalózy, pozorované při některých hypovolemických stavech). Z toho pak někteří autoři vyvozují, že jednou z prvotních kauzálních příčin acidobazických poruch jsou změny v hodnotách SID. Tak např. Sirker a spol. [7[ tvrdí že "pohyb vodíkových iontů přes membrány (skrze vodíkové kanálky) nemá vliv na jejich aktuální koncentraci. Přímé odstranění H+ z jednoho kompartmentu nezmění hodnotu žádné nezávislé proměnné a tudíž i hodnotu koncentrace [H+]… J. Kofránek, S. Matoušek, M. Andrlík 86 rovnovážná disociace vody vyrovnává jakékoli fluktuace v koncentraci [H+] a slouží nevyčerpatelným zdrojem nebo výlevkou pro ionty H+". Obr 1 Hodnota SID v plazmě je v podstatě totožná s hodnotou BB, koncentraci vodíkových iontů je možno v modelu vypočítat jak z hodnot SID podle Stewarta, nebo z hodnot BB a koncentrace plazmatických albuminů 3. Bilanční přístup k acidobazické rovnováze Pro pochopení kauzálních řetězců při poruchách acidobazické rovnováhy je důležité si uvědomit, že hodnoty SID a BB jsou v podstatě totožné (obr. 1) a koncentraci vodíkových iontů lze vypočítat jak z hodnot SID, tak i z hodnoty BB. Proto změny SID jsou v podstatě totožné se změnami hodnot BB (projevující se změnou hodnot BE). Protože přesun iontů mezi kompartmenty tělních tekutin je vždy elektroneutrální (s výjimkou membránových procesů na vzrušivých membránách svalu a nervové tkáně), jsou přesuny vodíkových iontů či bikarbonátů vždy doprovázeny přesuny komplementárních iontů. Tak například při metabolické tvorbě silných kyselin přichází z buněk do extracelulární tekutiny příslušné množství vodíkových iontů provázené ekvimolárním množstvím aniontů silných kyselin. Obdobně, přísuny či ztráty bikarbonátů jsou vždy provázeny ekvimolárními přesuny doprovodných iontů (např. ztráty bikarbonátů gastrointestinálním traktem jsou provázeny retencí chloridů v extracelulární tekutině, což vede k hyperchloremické metabolické acidóze). Pufrační reakce nemění elektroneutralitu – mohou ale měnit hodnotu SID a BB. Přesunuté vodíkové ionty nebo bikarbonáty okamžitě reagují s pufračními systémy a v numericky stejném smyslu mění jak hodnotu BB, tak i hodnotu SID. Změny hladin iontů charakterizované změnou SID a změny veličin charakterizujících pufrační kapacitu (změnou BB, resp. BE) jsou proto duální projevem jednoho a téhož stavu. Škola (simulační) hrou – využití simulačních modelů acidobazické rovnováhy v e-learningových aplikacích 87 Obr. 2 Acidobazická rovnováha je výslednicí dvou bilancí propojených přes pufrační systém – bilancí mezi tvorbou a vylučováním oxidu uhličitého a bilancí mezi tvorbou a vylučováním silných kyselin. Purační reakce sami o sobě nemění elektroneutralitu. Přesun iontů mezi kompartmenty tělních tekutin je vždy elektroneutrální, proto jsou přesuny bikarbonátů a vodíkových iontů vždy provázeny přesunem komplementárních iontů. Náš bilanční přístup k formalizaci acidobazické rovnováhy sjednocuje klasické pojetí tzv. "Dánské školy" s kvantitativním pojetím Stewarta a jeho následovníků - podrobněji jsme o tom referovali na posledních dvou konferencích MEDSOFT [3,4]. V našem pojetí acidobazickou rovnováhu ovlivňuje dvojí (regulovaná) bilance: bilance tvorby a výdeje silných kyselin a bilance tvorby a výdeje oxidu uhličitého (obr 2). Tyto bilance jsou propojeny prostřednictvím pufračních systémů. Kvantitativně tyto procesy popisuje simulační model, který umožňuje kauzálně vysvětlit souvislosti poruch acidobazické, objemové a iontové rovnováhy. Tento model je v pozadí naší výukové aplikace. 4. Pohyblivé animace jako loutky na nitích výukového simulačního modelu Motorem simulačních her jsou simulační modely, které vytváříme ve vývojovém prostředí Matlab/Simulink od firmy Mathworks. Prostředí Matlab/Simulink je efektivní nástroj pro návrh, konstrukci a identifikaci J. Kofránek, S. Matoušek, M. Andrlík 88 simulačních modelů – není to ale prostředí, ve kterém by se realizovaly vlastní výukové simulátory. Pro vytváření uživatelského rozhraní výukového simulátoru je velmi vhodné vstupy a výstupy simulačního modelu vizualizovat jako pohyblivé interaktivní obrázky. Proto simulační model propojujeme s multimediální animací vytvořenou pomocí Adobe Flash. Animace pak mohou být řízeny výstupy implementovaného simulačního modelu a graficky reprezentovat význam číselných hodnot - např. hladina jednotlivé komponenty pufru může klesat, podle pH může tekutina měnit svoji barvu, 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í apod. Na druhé straně můžeme přes vizuální prvky vytvořené ve Flashi (nejrůznější tlačítka, knoflíky, táhla, ale i třeba pomocí virtuálního kapátka) do simulačního modelu zadávat nejrůznější vstupy. Jednou z možností, jak implementovat v Simulinku vytvořené a odladěné simulační modely do výukových simulátorů, je jejich "ruční" přeprogramování v jazyku Action Script. Action Script je řídícím jazykem interaktivních multimediálních komponent vytvořených v Adobe Flash a proto je pak snadné naprogramovat propojení modelu s příslušnými multimediálními komponenty. Tak jsme ve výukové aplikaci např. vytvořili např. některé komponenty pufračního systému plazmy. Je-li ale model složitější, je jeho "ruční" přeprogramování ze Simulinku do Action Scriptu velmi pracné. V naší laboratoři ale máme možnost pomocí speciálně námi vytvořeného konverzního nástroje automaticky přímo ze Simulinku vygenerovat .NET assembly [9]. Simulační hru pak vytváříme v C#. Flashové animace jsou do vytvářené výukové aplikace umístěny jako Active X komponenty a propojeny se vstupy/výstupy simulačního modelu. Animace pak mohou být řízeny simulačním modelem a do simulačního modelu mohou zároveň přicházet hodnoty vstupů generované interakcí uživatele s flashovou grafikou. Další možností implementace simulačního modelu do výukového simulátoru je využití vývojového prostředí Control Web, původně určeného k navrhování průmyslových řídících a vizualizačních aplikací (v tomto prostředí máme např. naprogramován model ledvinných regulací, o kterém referujeme v jiném článku v tomto sborníku). 5. Závěr Simulačních hry jsou velmi efektivním nástrojem, který umožňuje vysvětlit řadu složitých patofyziologických jevů. Ukazuje se, že jedním z efektivních prostředků využití simulačních modelů je dočasné rozpojení regulačních smyček a zkoumání chování odpojeného subsystému Škola (simulační) hrou – využití simulačních modelů acidobazické rovnováhy v e-learningových aplikacích A B C D 89 Obr 3 Simulační hra s pufračním systémem plazmy, určená k vysvětlení patogeneze vzniku diluční acidózy. A – pufrační systém plazmy byl odpojen z regulačních smyček a jeho chování může být sledováno samostatně. B – táhlem iniciujeme diluci, která rozředí všechny látky, včetně koncentrace vodíkových iontů a koncentrace CO2. C – stiskem tlačítka rozběhneme pufrační ekvilibraci, která zvýší koncentraci vodíkových iontů – pH se normalizuje. D – stiskem tlačítka zapojíme systém do respirační regulace, která udržuje pCO2 na stálé hladině, dané úrovní alveolární ventilace, koncentrace se zvýší CO2 a následně se zvýší koncentrace vodíkových iontů – hodnota pH se přesune na kyselou stranu. samostatně. Jako příklad uvádíme vysvětlení patogenezy diluční acidózy pomocí simulační hry s pufračním systémem plazmy (obr 3 A-D). Simulační výukové modely jsou propojeny s výkladovou částí vytvářenou v prostředí Adobe Connect (dříve Macromedia Breeze). Výuková aplikace, vysvětlující patofyziologii acidobazické rovnováhy, je součástí vytvářeného internetového atlasu fyziologie a patofyziologie [1], který je dostupný na internetové adrese www.physiome.cz. J. Kofránek, S. Matoušek, M. Andrlík 90 6. Literatura [1] Andrlík M., Kofránek J., Matoušek S. Stodulka P., Wünsch Z., Kripner T., Hlaváček J.: Internetový atlas multimediálních modelů pro vybrané kapitoly normální a patologické fyziologie člověka. Ukázka předběžných výsledků. Sborník příspěvků MEDSOFT 2006. ISBN 8086742-12-1, str. 7-12 [2] Fencl J., Jabor A., Kazda A., Figge, J.: Diagnosis of metabolic acidbase disturbances in critically ill patients. Am. J. Respir. Crit. Care 162:2246-2251, 2000. [3] Kofránek J, Andrlík M., Bruthans J.: Modelování přenosu krevních plynů a acidobazické rovnováhy krve, pp.71-80, Sborník příspěvků MEDSOFT 2005, ISBN 80-86742-07-5, str. 71-80, [4] Kofránek J., Andrlík M., Matoušek S.:Bilanční přístup k modelování acidobazické rovnováhy a přenosu krevních plynů. Sborník příspěvků MEDSOFT 2006, ISBN 80-86742-12-1, str. 75-81, [5] Siggaard-Andersen, O.: The pH, log pCO2 blood acid-base nomogram revised. Scand. J. clin. Lab. Invest., vol. 14, 1962, pp. 598-604. [6] Singer R.B. and Hastings A.B. An umproved clinical method for the estimation of disturbances of the acid-base balance of human blood. Medicine (Baltimore) 27, 223-242. 1948. [7] Sirker, A. A., Rhodes, A., and Grounds, R. M.. Acid-base physiology: the 'traditional' and 'modern' approaches. Anesthesia 57, 348-356. 2001. [8] Stewart P.A. Modern quantitative acid-base chemistry. Can. J. Physiol. Pharmacol. 61, 1444-1461. 1983. [9] Stodulka P., Privitzer P., Kofránek J., Mašek J.: Nové postupy v tvorbě simulátorů – inteligentní propojení Matlabu a Simulinku s platformnou .NET a tvorba stavových automatů řídících výslednou aplikaci. MEDSOFT 2006. ISBN 80-86742-12-1, str. 171-176, Zeithamlová M., Agentura Action-M, Praha 2006. Poděková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. Jiří Kofránek, Laboratoř biokybernetiky, Ústav patologické fyziologie 1.LF UK, 128 53 Praha 2 tel: 777-68-68-68 fax:26731 0503 e-mail: [email protected] MEDSOFT 2007 Jiří Kofránek, Martin Tribula: Control web pro multimediální interaktivní ledvinu. In: MEDSOFT 2007, sborník příspěvků, (editor: Milena Zeithamlová), Agentura Acion M., Praha, ISBN 978-80-867-4200-7, str. 93-100, 2007. Práce je dostupná na adrese http://www.physiome.cz/references/MEDSOFT2007b. pdf. Control Web pro multimediální interaktivní ledvinu 93 CONTROL WEB PRO MULTIMEDIÁLNÍ INTERAKTIVNÍ LEDVINU Jiří Kofránek, Martin Tribula Anotace Vytvořili jsme výukový model základní funkce ledvin, který byl vyvinut v prostředí Matlab/Simulink. Vytvořili jsme speciální softwarový nástroj, který ze simulačního modelu z prostředí Matlab/Simulink vygeneruje řadič virtuální řídící karty s níž je schopen komunikovat systém Control Web, původně určený pro vývoj průmyslových řídících a vizualizačních aplikací. Control Web je tak "ošálen" – prostřednictvím řadiče virtuální řídící karty "se domnívá", že čte data z průmyslového zařízení ale ve skutečnosti čte výstupy simulačního modelu. Obdobně, Control Web přes tento řadič posílá signály do průmyslového zařízení - ve skutečnosti posílá vstupy do simulačního modelu. To nám dalo možnost jednoduše a rychle vytvořit uživatelské rozhraní výukového modelu v prostředí Control Web. Vlastní výuková aplikace vyžaduje pro svůj běh speciálně upravené volně šiřitelné runtime prostředí systému Control Web, které lze, spolu s vlastním modelem, nainstalovat z Internetu. Klíčová slova E-learning, krevní plyny, ledviny, simulační model, výukové simulátory 1. Úvod Ledviny jsou orgánem, který reguluje vylučování celé škály látek a tím i jejich hladiny ve vnitřním prostředí. Ledviny jsou velmi složitě regulovaný dynamický systém. Ovlivňují objem cirkulující krve a tím i hemodynamické parametry. Na druhé straně změny cirkulace mají svou odezvu v činnosti ledvin. Pochopení funkce jednotlivých částí ledvin je důležité např. pro posouzení poruch jejich funkce a vedlejších projevů diuretické léčby. Simulační hry jsou jedním z účinných prostředků, usnadňujících pochopení dynamiky složitých regulačních vztahů v ledvinách. Tvorba e-learningového programu, využívajících simulační hry s virtuálními (zdravými i nemocnými) ledvinami byla i naším úkolem. 2. Na začátku je matematický model Simulační modely ledvin jsou jedním z nástrojů interpretace experimentálních dat. V odborné literatuře byla popsána celá řada J. Kofránek, M. Tribula 94 modelů ledvin, od jednoduchých až po velmi složité modely, explicitně zahrnující i model miliónu nefronů, řešených na superpočítači. Pro účely výukových aplikací jsme zvolili spíše modely se soustředěnými parametry, jejichž účelem je jejich využití pro vysvětlení obtížněji pochopitelných partií fyziologie a patofyziologie ledvin. Konkrétně se jedná o modelování funkce autoregulace glomerulární filtrace a průtoku krve ledvinami. Modelování tubuloglomerulární vazby a její adaptace na dlouhodobé podněty. Modelování funkce macula densa a smyčky reninangiotenzin-aldosteron. Modelování funkce protiproudového systému a Henleho kličky a vlivu hemodynamiky na funkci protiproudového systému. Modelování vlivu antidiuretického hormonu. Modelování regulace vylučování draslíku a sodíku. Modelování renální regulace acidobazické rovnováhy. Modely vytváříme v prostředí Matlab-Simulink. Jedná se v podstatě o několik modelů /na různé úrovni složitosti/, které mohou být využívány v různých simulačních hrách. Rovněž uvažujeme i malé modely ledvinných subsystémů, které mohou být studovány odděleně (po rozpojení příslušných regulačních smyček), pro lepší pochopení funkce vybraného subsystému. Tak je např. možno studovat vliv rezistencí přívodní a odvodní arterioly, hladiny plazmatických bílkovin, permeability glomerulární membrány i protitlaku proximálního tubulu na velikost glomerulární filtrace. Model je ovšem pouze začátek. Pro výukovou simulační aplikaci ho musíme převést z prostředí Matlab/Simulink do prostředí vytvářeného výukového simulátoru a názorně při tom vizualizovat jeho chování. 3. Vizualizační prostředí pro simulátory Od simulátoru vyžadujeme velké možnosti vizualizace vstupů a výstupů modelu (ve formě nejrůznějších přehledných displejů, grafů, či modelem řízených pohyblivých schémat a animací). Na druhé straně vlastní model nezřídka bývá výpočetně poměrně náročný. Od nástroje, v němž budeme vytvářet vlastní výukový simulátor, tedy požadujeme poměrně protichůdné požadavky: na jedné straně chceme aby podporoval velké možnosti grafické vizualizace a na druhé straně vyžadujeme zachování dostatečně velké kapacity procesoru pro souběžné numerické výpočty. Obdobné nároky mají systémy pro návrh průmyslových řídících a měřících systémů (při vykreslování výsledků vizualizace na obrazovce se nesmí zastavit paralelně běžící výpočet ovládající nějaký průmyslový proces). Proto jsme se při hledání vhodného nástroje pro tvorbu Control Web pro multimediální interaktivní ledvinu 95 vizualizací výukových simulačních her poohlédli po nástrojích původně určených pro vizualizaci průmyslových procesů. 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é. Z těchto (a dalších) důvodů jsme se poohlédli po domácím výrobci, kterým nakonec byla zlínská akciová společnost "Moravské přístroje," která vyvíjí systém pro tvorbu průmyslových aplikací s názvem "Control Web". 4. Virtuální součástky pro virtuální ledvinu "Svensk kvalitet (till Tjeckiska priser)" – "Švédská kvalita (za české ceny)", stojí v letáčku skandinávského distributora výkonného softwarového nástroje z Valašska. Švédové jsou velmi domýšliví na kvalitu svých výrobků, a pokud o vývojovém nástroji Control Web z dílny zlínské společnosti Moravské přístroje veřejně prohlašují, že dosahuje "švédské kvality", je to velké ocenění skupiny tvůrců, kteří na tomto produktu v potu tváře usilovně pracují již od počátku devadesátých let. Nyní je jejich úsilí korunováno tím, že jejich programové dílo (jehož zdrojový text obsahuje více než 2 milióny řádek) nachází úspěšnou cestu na zahraniční trhy. Poslední verze programu je tak možno vidět v nejen v anglické, německé či švédské verzi, ale i v "rozsypaném čaji" japonských znaků. 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). Objektově-orientovaná komponentová architektura zajišťuje vyvíjeným aplikacím široký rozsah nasazení: od prostých časově nenáročných vizualizací až po řídicí aplikace reálného času, od jednoprocesorových aplikací až po rozsáhlé distribuované síťové aplikace. V průmyslových aplikacích jádro systému Control Web komunikuje přes ovladač měřící/řídící karty s průmyslovým zařízením. Na jádro systému je napojena uživatelská aplikace vytvořená pomocí vizualizačních nástrojů. Základními stavebními kameny uživatelské aplikace v Control Webu jsou virtuální přístroje (komunikující mezi sebou pomocí proměnných a zpráv). Virtuální přístroje představují širokou paletu zobrazovacích nástrojů - od ručkových měřících přístrojů, přes nejrůznější škálu grafů až po nástroje pro archivaci zobrazovaných dat a "hlídací" komponenty, spouštějící reakci na odchylku měřených dat od definovaného stavu. J. Kofránek, M. Tribula 96 Každý virtuální přístroj je komponenta, jejíž vlastnosti jsou pomocí vizualizačních a ovládacích prvků snadno modifikovatelné. Ale nejenom to – každá komponenta systému má k dispozici mocné programátorské nástroje, jako jsou lokální proměnné a libovolně definovatelné procedury, reagující na události. Pro rychlý vývoj uživatelského rozhraní Control Web poskytuje velmi efektivní 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. V interaktivním dialogu je pak možné virtuálnímu přístroji nastavit hodnoty jeho příslušných atributů, napojit ho na příslušný "vstupní kanál" ze kterého bude odečítat nějaké hodnoty, nebo naopak mu vybrat "výstupní kanál" do kterého bude nějaké nastavované hodnoty posílat, nadefinovat lokální proměnné přístroje, či individuální procedury přístroje (metody objektu) apod. Výhodnou vlastností Control Webu je to, že jedním z virtuálních přístrojů je kontejner pro komponenty ActiveX, který tak představuje most mezi systémem Control Web a vlastnostmi a metodami (OLE Automation) ActiveX komponent. To znamená, že do aplikace lze zabudovat ActiveX komponenty a programově je ovládat - nastavovat jim vlastnosti a volat metody z procedur jakýchkoliv přístrojů. Můžeme tedy pomocí programu Adobe Flash MX vytvořit interaktivní výukové animační obrázky a ty pak uložit jako ActiveX komponenty do kontejneru. Animace pak mohou být řízeny na základě výstupů implementovaného simulačního modelu – např. na schematickém obrázku ledvinného glomerulu se cévy se mohou roztahovat nebo komprimovat, tloušťka šipky znázorňující velikost glomerulární filtrace se může ztlušťovat či ztenčovat atd. Celá výuková aplikace v Control Webu pak může vypadat jako sada propojených interaktivních obrázků na jejichž pozadí může běžet dosti komplikovaný simulační model. 5. Jak ošálit Control Web Měřené hodnoty okolního světa jsou v Control Webu virtuálním přístrojům zprostředkovány přes vstupní kanály, řídící signály do okolí mohou virtuální přístroje posílat pomocí výstupních kanálů. Vstupní a výstupní kanály komunikují s ovladači příslušných měřících/řídících karet, které jsou propojeny s vnějším technologickým zařízením. Z něj pak do karet přicházejí měřené signály, které ovladač přetvoří do příslušných numerických hodnot vstupních kanálů systému ControlWeb, kde jsou vizualizovány pomocí virtuálních přístrojů napojených na tyto kanály. Naopak, nastavované hodnoty ve výstupních Control Web pro multimediální interaktivní ledvinu 97 kanálech jsou ovladačem a řídící kartou přetvořeny na příslušné řídící signály, které jsou posílány do připojené technologie. Abychom mohli využít vývojářské pohodlí systému Control Web při tvorbě simulátorů, musíme použít určitý "úskok". Je nutno v jazyce C++ naprogramovat speciální ovladač, který je schopen komunikovat (přes softwarové kanály) s objekty systému Control Web. Na rozdíl od ovladačů ke skutečným měřícím a řídícím kartám však tento ovladač nekomunikuje s hardwarem těchto karet, ale se simulačním modelem, který je součástí ovladače. Systém Control Web je tak "ošálen": vstupní kanály (k měřícím přístrojům) považuje za skutečné měřené signály někde v technologickém okolí počítače, zatímco ve skutečnosti to jsou výstupní proměnné simulačního modelu. Výstupní kanály, odcházející od řídících prvků systému Control Web, nenastavují přes příslušný ovladač nějaké aktivní prvky technologie, ale mění vstupy simulačního modelu. Obr. 1 Virtuální přístroje v průmyslové aplikaci v Control Webu komunikují prostřednictvím vstupních a výstupních kanálů přes řadič řídící/měřící karty s propojenou technologií Vzájemný vztah mezi simulačním modelem ve virtuálním ovladači a vizualizačním rozhraním systému Control Web je realizován jako klient - server technologie: v určitých časových okamžicích Control Web (klient) žádá virtuální ovladač se simulačním modelem (server) o načtení hodnot ze vstupních kanálů a umožnění změny hodnot výstupních kanálů. Vytvořený simulátor vyžaduje, aby na počítači, kde má simulátor běžet byl nainstalován runtime prostředí Control Web. Pro distribuci simulátorů prostřednictvím Internetu (včetně potřebného runtimu J. Kofránek, M. Tribula 98 prostředí Control Web) využíváme speciální program "dispečer simulačních modelů", o kterém jsem referovali na předminulém Medsoftu [4]. 6. Dřinu strojům! Jádrem simulátoru je ovladač virtální řídící/měřící karty, který obsahuje vlastní simulační model. Ovladač je implementován v jazyce C nebo C++ nebo Modula 2. Jako podklad pro tvorbu využíváme simulační model, o jehož adekvátnosti jsme se (se vším pohodlím systému Matlab/Simulink) již přesvědčili. Pomocí Control Webu a speciálního ovladače s vnořeným simulačním modelem (psaným v Module 2 a později v C++) jsme např. v minulosti realizovali implementaci simulátoru fyziologických regulací simulátoru fyziologických funkcí Golem [2]. Obr. 2 Virtuální přístroje v simulátoru vytvořeném v Control Webu komunikují prostřednictvím vstupních a výstupních kanálů přes řadič (neexistující) virtuální řídící/měřící karty se simulačním modelem, který je součástí řadiče. Zdrojový text programu tohoto řadiče je možné automaticky vygenerovat z modelu, implementovaném v Simulinku pomocí námi vytvořeného softwarového nástroje. Control Web pro multimediální interaktivní ledvinu 99 Je ale nutno poznamenat, že programování obdobných speciálních ovladačů pro systém Control Web je poměrně časové náročná a úmorná mravenčí práce. Krom toho, při jakýchkoli změnách v modelu (který vytváříme v pohodlí vývojového systému Matlab/Simulink) je pak nutno přeprogramovat celý ovladač virtuální karty. Abychom vývoj ovladačů (a vnořeným simulačním modelem) usnadnili a nemuseli ho psát v C++ "ručně", vyvinuli jsme speciální program, který umožní vývoj ovladače automatizovat. Díky tomu máme nyní možnost ze simulinkového schématu přímo generovat zdrojový text příslušného virtuálního ovladače v jazyce C. To nám nyní dává možnost oddělit tvorbu simulačního modelu a tvorbu simulátoru. Simulační model vytváříme ve vývojovém prostředí, určeném pro vývoj simulačních modelů – tj. v prostředí Matlab/Simulink, a pro vývoj vlastního simulátoru využíváme širokou škálu vizualizačních nástrojů, které nabízí vývojové prostředí Control Web. Propojení mezi oběma prostředími zajišťuje námi vyvinutý softwarový nástroj, který převede model vytvořený v Simulinku do podoby ovladače virtuální karty pro Control Web. Nyní je snadné při nejrůznějších úpravách simulačního modelu v prostředí Simulink jednoduše modifikovat ovladač v prostředí Control Web a vytvořit novou verzi ovladače s novou verzí simulačního modelu. 7. Od umění k průmyslu (při tvorbě simulátorů) 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 výukových aplikací je poměrně náročný a komplikovaný projekt, vyžadující týmovou spolupráci řady profesí – od zkušených učitelů, jejichž scénář je základem kvalitní výukové aplikace, přes systémové analytiky, kteří ve spolupráci s profesionály daného oboru jsou odpovědni za vytvoření simulačních modelů pro výukové simulační hry, výtvarníky, kteří vytvářejí vnější vizuální podobu, až po programátory, kteří celou aplikaci "sešijí" do výsledné podoby. 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 [3]. Při tvorbě simulátorů v naší laboratoři proto využíváme Matlab/Simulink pro návrh a odladění vlastního simulačního modelu, Control Web a Visual Studio .NET pro tvorbu simulátoru (pro automatizaci převodu modelu z protředí Matlab/Simulink do podoby assembly v prostředí Microsoft .NET jsme referovali na minulém J. Kofránek, M. Tribula 100 Medsoftu [5]). Pro vytváření multimediálních interaktivních komponent uživatelského rozhraní využíváme Adobe Flash, z výsledné interaktivní animace pak prostřednictvím ActiveX komponent propojujeme se simulačním modelem (a to jak v simulátorech vytvořených pomocí Microsoft Visual Studia, tak i v simulátorech vytvořených v Control Webu). Obr. 3 Prvotní design simulátoru ledvin má příliš technický ráz 8. Ledvina na síti Simulátor ledvin je součást internetového atlasu fyziologických modelů [1], dostupném na www.physiome.cz, který dlouhodobě vytváříme v naší laboratoři. Simulátor je určen studentům medicíny a lékařům pro studium fyziologie a patofyziologie ledvin. Má pomoci pochopit základní funkce ledvin a kauzální řetězce jejich poruch. Pro usnadnění výkladu model umožňuje rozpojit některé regulační smyčky s sledovat chování jednotlivých částí ledvin odděleně. Tak je např. možné sledovat faktory, Control Web pro multimediální interaktivní ledvinu 101 které ovlivňují glomerulární filtraci a průtok krve ledvinami, modelovat rozpojenou a propojenou tubuloglomerulární vazbu a sledovat její postupnou adaptaci na dlouhodobé podněty. Postupným rozpojováním a zapojováním regulačních smyček je možné podrobně sledovat funkci protiproudového systému ledvin, vliv různých koncentrací sodíku a draslíku k tubulární moči a v krvi na chování distálního nefronu při různých hladinách aldosteronu, chování ledvin při různých poruchách acidobazické rovnováhy apod. 8. Závěr Vytvořený simulátor ledviny v Control Webu je první implementací s využitím nově vytvořeného nástroje umožňujícího automatizovaný převod vytvořeného modelu z prostředí Matlab/Simulink do Obr 4 Technický háv simulátoru vývojového prostředí Control (připomínající spíše průmyslový velín než výukový simulátor) mohou setřít Web. Na rozdíl od simulátorů, v platformě interaktivní animace, vytvořené pomocí vytvořených Adobe Flash, implementované do Microsoft Studio .NET, je nutno simulátoru pomocí ActiveX kontejneru a na počítači, kde má být simulátor propojené se simulačním modelem provozován, instalovat speciální volně šiřitelný runtime pro systém Control Web. Rychlost vytváření aplikace je však v prostředí Control Web nesrovnatelně rychlejší – proto se tento systém hodí především pro vytváření prvotních prototypů simulátoru. Prvotní design aplikace vytvořené v Control Webu (s využitím integrovaných vizualizačních nástrojů) je na první pohled příliš technický. Nicméně, tak jak do ActiveX kontejnerů instalujeme interaktivní multimediální elementy vytvořené v Adobe Flash, technický háv uživatelského rozhraní aplikace se ztrácí a postupně se přeměňuje na obrázky interaktivního počítačového atlasu fyziologie, který je bližší těm, komu je aplikace určena – studentům medicíny a lékařům. J. Kofránek, M. Tribula 102 9. Literatura [1] Andrlík M., Kofránek J., Matoušek S. Stodulka P., Wünsch Z., Kripner T., Hlaváček J.: Internetový atlas multimediálních modelů pro vybrané kapitoly normální a patologické fyziologie člověka. Ukázka předběžných výsledků. Sborník příspěvků MEDSOFT 2006. ISBN 8086742-12-1, str. 7-12, Zeithamlová M., Agentura Action-M, Praha 2006. [2] Kofránek, J., Anh Vu, L. D., Snášelová, H., Kerekeš, R. Velan, T. (2001): “GOLEM – Multimedia simulator for medical education.” In: Studies in Health Technology and Informatics., vol. 84. MEDINFO 2001, Proceedings of the 10th World Congress on Medical Informatics. (V.L. Patel, R. Rogers, R. Haux (Eds.)), IOS Press, Amsterdam, Berlin, Oxford, Washington DC, 2001, pp. 1042-1046. [3] 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, 62-67. 2005. New York, Frankfurt, Tokyo, Belgrad. 2005. [4] Kofránek J., Andrlík M., Kripner T., Hlaváček J., Stodulka P.: Elearning s výukovými simulačními modely v prostředí Macromedia Breeze. Sborník příspěvků MEDSOFT 2005. ISBN 80-86742-07-5, str. 81-88, Zeithamlová M., Agentura Action-M, Praha 2006. [5] Stodulka P., Privitzer P., Kofránek J., Mašek J.: Nové postupy v tvorbě simulátorů – inteligentní propojení Matlabu a Simulinku s platformnou .NET a tvorba stavových automatů řídících výslednou aplikaci. MEDSOFT 2006. ISBN 80-86742-12-1, str. 171-176, Zeithamlová M., Agentura Action-M, Praha 2006. Poděková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. Jiří Kofránek Laboratoř biokybernetiky Ústav patologické fyziologie 1.LF UK 128 53 Praha 2 tel: 777-68-68-68 fax:26731 0503 e-mail: [email protected] MEDSOFT 2007 Zdeněk Wünsch, Marcel Matúš, Tomáš Kripner, Jiří Kofránek: Modely regulace ve fyziologickém praktiku. In: MEDSOFT 2007, sborník příspěvků, (editor: Milena Zeithamlová), Agentura Acion M., Praha, ISBN 978-80-867-42007, str.225-230, 2007. Práce je dostupná na adrese http://www.physiome.cz/ references/MEDSOFT2007c.pdf. Modely regulace ve fyziologickém praktiku 225 MODELY REGULACE VE FYZIOLOGICKÉM PRAKTIKU Zdeněk Wünsch, Marcel Matúš, Tomáš Kripner a Jiří Kofránek Anotace Regulace jsou všudypřítomnou složkou organizace životních procesů, jejich dynamické vlastnosti a chování jsou rozmanité a nezřídka se mění v závislosti na fyziologických nebo patologických faktorech. Učebnice a monografie prezentují statická schemata struktur těchto systémů a verbální popis některých jejich funkčních vlastností, ale praktická cvičení neposkytují téměř žádnou možnost, aby se posluchači mohli cestou experimentu s biologickým originálem podrobněji seznámit s jejich dynamickými vlastnostmi a se souvislostmi dynamických vlastností regulačních systémů s parametry těchto systémů. Tuto mezeru se pokoušíme částečně vyrovnat tématikou simulačních experimentů, které umožňují interaktivní seznámení se základními projevy a způsoby stanovení charakteristik prvků regulačních systémů, s vlivem různých parametrů obvodu na průběh regulačního pochodu, stabilitu systému apod. Jsou též uvedeny příklady několika modelů fyziologických systémů. Prezentované sdělení spíš jen v obecné rovině navazuje na předběžnou verzi ´06 přednesenou na MEDSOFTU v minulém roce. 1 Úvod Po předchozích realizacích výukových programů v prostředí Control Web a Macromedia Flash [Wünsch a spol., Medsoft ´04, ´05, ´06 ] uvádíme další a ucelenější verzi výukového programu na platformě Microsoft .NET. Poslední změny souvisejí s převedením předběžné koncepce programu ´06 do testovatelné beta verze s doplňky tematiky a úpravami uživatelského prostředí a použitého softwaru. Cílem zůstává nabídnout posluchačům možnost „virtuálních“ experimentů v dané tematické oblasti, kdy grafické uživatelské rozhraní umožňuje široké možnosti komunikace s modelem volbou parametrů systému a vstupních podmínek, sledováním číselných hodnot a grafické reprezentace veličin. 2 Metodika Projekt se skládá z částí, vyžadující spolupráci více oborů. Fyziolog připravuje scénáře jednotlivých úkolů, tj. promění myšlenku, jakou část teorie má uživatel na určitém panelu pochopit a podle toho navrhne matematický model v prostředí MATLAB/Simulink a odsimuluje správnost Z. Wünsch, M. Matúš, T. Kripner, J. Kofránek 226 modelu. Programátor konstruuje rámec, pro běh modelu mimo původní simulační prostředí a prostředky pro ovládaní a vizualizaci. Vytvoří tak vhodné grafické uživatelské prostředí. Vizualizační a případně i ovládací komponenty (např. ve formě interaktivních animací Flash) výtvarně navrhuje a skriptuje grafik.Z prostředí MATLAB/Simulink exportujeme modely ve formě kódu C++, knihoven DLL nebo .NET assembly. Je to umožněno pomocí toolboxu Real-Time Workshop a propietární šablony [Stodulka, Privitzer, Medsoft ´06]. Takto vyexportovaný model model animace Flash lze snadno provozovat v hosActiveX Simulink → C++ titelské aplikaci (typicky Microsoft .NET aplikace). Třída modelu nabízí metody ke koportlinky munikaci se vstupně/výstupovládací prvky vizualizace a ními porty modelu, k inicializasběr dat ci a vykonání simulačního kroku modelu. Pro další komunikaci modelu .NET framework (vstupy a výstupy) s interaktivními prvky rozhraní používame Obr.1: koncepce propojení komponentů technológii tzv. portlinků [Stov prostředí Microsoft .NET dulka, Privitzer, Medsoft ´06]. Portlinky jsou spojovací třídy, které automatizují předávání dat mezi modelem a vizuálními komponentami (graf, tabulka, textový blok, MediVector – komponenta na nastavení požadované hodnoty, aj.). Vývojovým prostředím pro implementaci výukového programu je Microsoft Visual Studio .NET. Používají se jak jeho standardní prvky, tak prvky vyvinuté u nás v laboratoři (MediVector, DifferenceGraph, příp. Interaktivní animace). Simulační modely sestavené a odladěné ve vizuálním prostředí Simulinku jsou odtud automaticky exportovány do .NET assembly obsahující třídu modelu přímo referencovatelnou z ostatního kódu. V současné době jsou podporovány modely s fixním simulačním krokem a výpočetní procedury 1. až 5. řádu. Poslední komponentou výukového programu jsou interaktivní animace vytvořené nástroji Macromedia Flash, které komunikují s .NET prostředím pomocí ActiveX rozhraní (koncepci propojení komponent shrnuje obr.1, příklad flash animace viz obr.2). 3 Téma Téma ve srovnání s původní koncepcí ´06 se rovněž v obecné rovině nemění. Regulace mají základní význam pro průběh životních pochodů a jsou všudypřítomnou složkou jejich organizace. Struktura a dynamické Modely regulace ve fyziologickém praktiku 227 vlastnosti biologických regulačních systémů jsou velmi rozmanité, popř. i proměnlivé jak za fyziologických tak i patologických podmínek. Učebnice a jiné odborné texty prezentují statická schemata těchto systémů a eventuálně verbální popis jejich funkčních vlastností, ale běžná praktika neposkytují téměř žádnou možnost, aby si posluchači mohli v experimentu s biologickým originálem ověřit jejich dynamické vlastnosti, účinky různých poruchových vlivů a změn parametrů systému na chování regulované veličiny apod. Projekt má přispět k překlenování těchto omezení. Počítačové simulace (nebo imitace) v praktické výuce biomedicínských témat se opírají o současný metodický aparát systémových věd a jim odpovídající způsob vědeckého myšlení a k tomu se posluchač medicíny dostává jen sporadicky, pokud vůbec. Přitom právě složitost biologických systémů a jejich funkčních vlastností byla jedním z hlavních motivů, který startoval současný vývoj systémových věd v polovině minulého století. Systémové vědy sice nejsou explicitní součástí lékařského studia, ale např. v odborné biomedicinské literatuře je řada témat, která se bez znalostí umožňujících porozumění maa počítačovým Obr.2: Použití interaktivní animace mecha- tematickým modelům neobejdou (např. aplinické analogie při výkladu dynamikých systémů kovaná biokybernetika, computational neuroscience aj.). Předpokládáme, že prostřednictvím uvažovaných interaktivních počítačových modelů lze realizovat praktikum, které posluchači zprostředkuje nejen něco virtuální empirické zkušenosti s některými základními vlastnostmi regulačních systémů, ale současně i něco elementárního z formulace počítačových modelů a teorie regulace. Praktikum je tak možno brát jako dílčí příklad jedné části metodologie biokybernetiky, jejíž předmětnou oblastí jsou ovšem nejen jednoduché regulační systémy, ale všechny složitější a složité dynamické systémy živých soustav jejichž součástí jsou regulační obvody, včetně těch s emergentními vlastnostmi. Z. Wünsch, M. Matúš, T. Kripner, J. Kofránek 228 4 Struktura programu Celý program je strukturovaný do jednotlivých panelů, které jsou seřazené za sebou v posloupnosti, reprezentující narůstající náročnost. Všechny úkoly (panely) můžeme seřadit do následující struktury: 4.1 Úvod (panel 0) Úvodní obrazovka obeznamuje uživatele se záměrem programu a s ovládacími prvky programu. 4.2 Prvky regulačných systémů (panely 1. – 4.) Obr.3: Použití některých prvků regulačních systémů V této skupině úkolů si uživatel vyzkouší působení různých vstupních průběhů na volitelné typy jednoduchých dynamických prvků a zjišťuje odpovídající charakter a rozdíly v odezvách. V následujících panelech se seznamuje s používanými postupy při stanovování statických a dynamických charakteristik, se zobrazením průběhů ve fázovém prostoru, s jednoduchými lineárními systémy s použitím přenosu. Na obr.3 je znázorněný panel s jednoduchými systémy, který umožňuje demonstrovat vliv vstupního signálu na přenos systému a vliv integrační a derivační složky, případně nelineárního omezení. Na obrázku je simulován vliv parametrů na systém 2.řádu. 4.3 Systémy se zpětnou vazbou – regulace (panely 5.1 a 5.2) Obr.4: Varianty systémů se zpětnou vazbou Základní struktura systému se zápornou zpětnou vazbou je umístěna ve dvou panelech, které mají širokou škálu možností nastavení. Uživatel má na začátek k dispozici lineární regulovaný systém Modely regulace ve fyziologickém praktiku 229 s proporcionálním regulátorem. Může si k tomu přidat jeden z P, PI, PD a PID regulátoru, vyzkoušet vliv žádané hodnoty a dopravního zpoždění. Dále je možnost zapojit do zpětné vazby dynamický prvek. Na obr.4 je demonstrován vliv PI regulátoru a žádané hodnoty (v našem případě měla hodnotu 1) na systém 1.řádu, který má na vstupu šum. (Na příkladu je patrné, jak se regulace snaží udržet výstup u žádané hodnoty 1). 4.4 Modely fyziologických regulačních systémů (panely 6 10) Obr.5: Model enzymatického systému s násobnými vazbami Fyziologické regulační systémy se mohou nezřídka odlišovat strukturou a/nebo chováním od systémů uvedených na předchozích panelech (mají však vždy alespoň jednu zápornou zpětnou vazbu). Příkladem mohou být vícenásobné zpětné vazby, dopředná vazba, parametrická zpětná vazba, antagonistické vazby aj. Některé z jed-nodušších variant ilustruje několik modelů umožňujících interakci volbou hodnot parametrů (výstupy některých těchto modelů jsou na obr.5 a obr.6), některé další jsou pak popsány v poslední výkladové části programu. 5 Závěr Připravovaný výukový program nabízí široké spektrum simulačních experimentů v tématické oblasti, která je jinak obtížně, pokud vůbec, realizovatelná v praktických cvičeních na biologickém objektu. Zprostředkovává uživateli i něco málo z některých obecně využitelných koncepcí, termínů a Obr.6: Rovnovážny bod systému (žádaná metodických nástrojů, které jsou hodnota) jako průsečník statických cha- základem formulace a různých forakteristik (regulace Pco2 podle Millhorna) rem uplatnění biokybernetických Z. Wünsch, M. Matúš, T. Kripner, J. Kofránek 230 modelů. Využívá předchozích zkušeností novějšího a vhodnějšího softwaru pro realizaci podobných interaktivních simulačních programů, doc. MUDr. Zdeněk Wünsch, CSc., Marcel Matúš Laboratoř biokybernetiky a počítačové podpory výuky Ústav patologické fyziologie 1. LF UK e-mail: [email protected], [email protected] 6 Literatura [1] Wünsch Z., Dostál C., Veselý A. Základy lékařské kybernetiky. Avicenum, Praha 1977 [2] Milhorn H. T. The application of control theory to physiological systems. Saunders Co., Philadelphia 1966 [3] Kubík S., Kotek Z., Šalamon M. Teorie regulace. I.Lineární regulace. SNTL, Praha 1974 [4] Khoo M. C. K. Physiological control systems. IEEE Press, New York 2000 [5] Glass L., Malta C.P. Chaos in multi-looped negative feedback systems. J. theor. Biol. 1990, 145, 217-223 [6] Cavalcanti S., Belardinelli E. Modeling of cardiovascular variability using differential delay equation. IEEE Transactions on biomedical engineering, 1996, 43, 982-989 [7] Wünsch Z., Šefl O. Einige allgemeine Möglichkeiten der Kooperation in antagonistischen Systemen. In: Biokybernetik, vol. V, 342-349, G.Fischer, Jena 1975 [8] Troelsen A. C# a .NET 2.0 profesionálně. Zoner Press, 2005 [9] The MathWorks. Real-Time Workshop. Online: www.mathworks.com/products/rtw/ [10] Wünsch Z. Principy fyziologických regulací. Lékařská fyziologie (17.kapitola v: Trojan a kol.), GRADA Pub., Praha 2003 [11] Ashby W. R.: Design for a brain. J.Wiley, New York 1952 Poděková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. Sborník příspěvků z konference eLearning 2007 Stanislav Štípek, Čestmír, Štuka, Jiří Kofránek, Pavol Privitzer, Tomáš Nikl: Metodika e-learningu: Od jednoduchého ke složitému a zpět. In: Sborník příspěvků z konference eLearning 2007. Gaudeamus, Hradec Králové, ISBN 978-80-7041-573-3, str. 156-164, 2007. Práce je dostupná na adrese http:// www.physiome.cz/references/elearning2007.pdf. METODIKA E-LEARNINGU : OD JEDNODUCHÉHO KE SLOŽITÉMU A ZPĚT Stanislav Štípek, Čestmír Štuka, Jiří Kofránek, Pavol Privitzer, Tomáš Nikl Abstrakt Cílem prezentace je ukázat různé stupně komplexnosti elektronických výukových aplikací tak jak byly postupně implementovány na 1. lékařské fakultě Univerzity Karlovy. V současné době jsou na 1. lékařské fakultě intenzivně rozvíjeny dva směry elearningu. Směr mířící od animací k interaktivním modelům a simulačním hrám, a směr mířící od pasivní percepce, ke komunikaci s programem, s tutorem, až ke komunikaci v sociální skupině. V naší prezentaci ukážeme několik konkrétních realizovaných projektů spolu s jejich zařazením do jednotlivých vývojových kategorií v uvedených směrech. Rovněž se budeme snažit ukázat možnosti a omezení nástrojů, které v současnosti používáme na realizaci e-learningových projektů. Budeme se zabývat i personální a finanční náročností jednotlivých postupů. Účelem našeho snažení je z pohledu uživatele zjednodušit aplikace tak, aby bylo naplněno Komenského heslo „Škola hrou". Klíčová slova animace, interaktivní modely, Breeze, Adobe Connect, simulační hry OBSAH 1. Rozvoj e-learningu na 1. LF UK Praha ........................................................................ 1 2. LMS - nezbytná součást e-learningu ............................................................................ 2 3. Internetový atlas fyziologie a patofyziologie člověka.................................................. 3 3.1 Tvorba simulačních modelů ................................................................................... 4 3.2 Tvorba vlastního multimediálního simulátoru - simulační hry .............................. 5 3. Od jednoduchého ke složitému a zpět .......................................................................... 6 1. Rozvoj e-learningu na 1. LF UK Praha Rozvoj e-learningu na 1. LF UK Praha prošel prvním obdobím, kdy bylo potřeba sebrat velké množství výukových materiálů, rozptýlených mezi jednotlivé vyučující a učinit z nich materiály dostupné v nějakém logickém konceptu pro studenty. K tomu účelu se ukázal nejvhodnější výukový portál, jaký provozovala LF MU v Brně (http://portal.med.muni.cz/). Jeho obdoba byla s úspěchem spuštěna na naší fakultě a představuje úložiště a rozcestník pro hledání fakultních výukových materiálů. Efektivní vyhledávání dokumentů podporuje systematické užívání klíčových slov k popisu dokumentu a zatřídění všech dokumentů do taxonomie podle lékařských oborů (http://portal.lf1.cuni.cz/). Paralelně s tím, byl zaváděn systém pro tvorbu a správu výukových kurzů (Learning Management Systém - LMS) o kterém bude podrobně pojednáno v následující kapitole. Z praktického hlediska byl vybrán velmi jednoduchý systém, který nevytváří vysoký práh, což je podstatné zejména vzhledem k potřebě zapojit velké množství autorů 156 výukových materiálů bez zvláštních znalostí informatiky. Pro ty je LMS systém navazující na PowerPoint vítanou zkratkou do jinak nedostupné krajiny e-learningu. 2. LMS - nezbytná součást e-learningu První lékařská fakulta Univerzity Karlovy v Praze zavedla pro podporu e-learningu a distančního vzdělávání LMS systém Adobe Connect (AC) dříve známý pod jménem Breeze. Tento LMS podporuje interakce mezi uživateli a současně používání multimédií, jakými jsou: proudový přenos zvuku a obrazu, přenos interaktivních prvků jako kreslení na sdílenou tabuli, hlasování, diskusi, sdílení dat a další. Ve zvoleném LMS systému tak lze vytvářet on-line prezentace, real-time (video)konference i výukové materiály. Předpokladem širšího rozvoje e-learningu je, aby autoři byli schopni samostatně používat kreativní nástroje pro tvorbu kurzů. Kurzy pak mohou tvořit ucelené bloky nebo samostatné výukové objekty, které je možné spojit do větších celků a vytvářet tak rozsáhlé studijní plány. Výhodou LMS AC je použití aplikace Microsoft PowerPoint (s doplňkovým modulem) jako základního vývojového prostředku. V něm lze snadno vytvářet a díky LMS i distribuovat aplikace velmi široké skupině uživatelů v horizontu hodin. Serverová část LMS AC pak zajišťuje distribuci výukových materiálů a vyhodnocování výsledků. AC poskytuje profesionální úroveň komunikace ve dvou hlavních operačních modech: • • Jako web-konference, virtuální seminář, sdílení pracovní plochy a aplikací v reálném čase, přenos živého zvuku, obrazu a dat. Jako přístup k multimediálnímu obsahu (prezentací, kurzů, testů) na vyžádání. Velkou výhodou je, že AC na straně uživatele stojí na technologii Flash Player, který je nainstalován na 97% k internetu připojených počítačů (zdroj: NPD Group 2006) a je na platformě nezávislý. Moduly LMS Adobe Connect Training modul pro přípravu a správu kurzů v požadované struktuře a vyhodnocování souvisejících testů. Events modul určený k organizaci on-line seancí a k automatizaci rozesílání pozvánek a notifikací jednotlivým přizvaným účastníkům. Presenter zásuvný modul do Microsoft PowerPoint pro multimediální přípravu a publikování prezentací, testů. Meeting modul pro pořádání on-line konferencí a seminářů, sdílení plochy, souborů. Communication Server základní modul zprostředkující on-line komunikaci, administraci, správu a sdílení obsahu. LMS umožňuje kromě PowerPointu vkládat také řadu jiných objektů s nejrůznějšími formáty a jejich vzájemnou kombinací lze dosáhnout překvapivých výsledků. Jde o tyto objekty: Flash animace a interaktivní hry (swf), audio a video nahrávky, 3D objekty transformované pomocí nástrojů Adobe Acrobat (pdf), simulace a postupy snímané 157 pomocí Adobe Captivate, text v dokumentech PDF, textové dokumenty z aplikace MS Word a jiné dokumenty převedené pomocí virtuální PDF tiskárny, obrazy ve formátech JPG, GIF, PNG, HTML soubory a ZIP soubory. Aktuální obsah LMS 1. LF UK je dostupný na adrese: http://connect.lf1.cuni.cz/ Díky LMS Adobe Connect a aplikaci PowerPoint bylo možné v poměrně krátké době (cca 6 měsíců) studentům nabídnout přes 160 přednášek a prezentací. V současnosti se na tvorbě obsahu výukových objektů podílí více než 30 institucí a ústavů 1. LF. E-learning na 1. LF UK eskaluje od pasivní percepce, ke komunikaci s programem, s tutorem, až ke komunikaci v sociální skupině. Markantního vývoje doznává i komplexnost používaných výukových prostředků. Mezi nejvyspělejší výukové prostředky patří interaktivní simulační aplikace - simulační hry, kterým zvláštní pozornost věnuje následující kapitola. 3. Internetový atlas fyziologie a patofyziologie člověka V současné době vzniká na Ústavu patologické fyziologie 1.LF UK internetový atlas fyziologie a patofyziologie [1]. Cílem projektu je vytvoření internetové multimediální výukové pomůcky pro studijní programy lékařských fakult (magisterské i bakalářské studium) z oblasti normální a patologické fyziologie, který by názornou cestou prostřednictvím internetu pomohl vysvětlit funkci jednotlivých fyziologických systémů a příčiny a projevy jejich poruch. Atlas má multimediální výkladovou část, která prostřednictvím pohyblivých názorných animací a mluveného slova uvádí do fyziologické problematiky. Má také praktickou část, která využívá simulačních her na praktické seznámení se s fyziologickou (virtuální) realitou. Spojení multimediálního výkladu se simulačními hrami umožňuje názorně a komplexně pojmout vykládaný problém jak teoreticky tak i prakticky ve virtuální realitě. Simulační hrou je možné bez rizika otestovat chování simulovaného objektu – např. si otestovat chování jednotlivých částí respiračního systému, oběhového systému, vylučovacího systému apod. Pro podrobnější popis toho, co všechno je „za oponou“ tvorby atlasu, odkazujeme na články [1,2]. I když si tvorba výkladové části atlasu zasluhuje také velkou pozornost, z důvodu omezeného místa článku se v dalším textu zabýváme zejména tvorbou simulačních her jako tou komplexnější částí atlasu. 158 Při vytváření lékařských simulátorů 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 našem případě byla tato problematika řešena v rámci výzkumných grantů a výzkumného záměru. 2. Tvorba vlastního multimediálního simulátoru, resp. tvorba výukového programu využívající 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. 3.1 Tvorba simulačních modelů Teoretickým podkladem v pozadí lékařského simulátoru je model lidského organismu, resp. nějakého jeho subsystému. Tematika projektu využívá výsledků na našich pracovištích řešené výzkumné problematiky - vytváření formalizovaného popisu fyziologické reality - tj. převedení popisu biologické reality a příslušné sítě vztahů z čistě slovní deskripce na formalizovaný popis v jazyce matematiky - fyziky. Je třeba poznamenat, že tato problematika je poměrně nová, protože z důvodů složitosti a komplexnosti biologických systémů byl proces formalizace biomedicínských systémů ve srovnání s jinými obory, např. s fyzikou, relativně opožděn a přichází až s kybernetikou a výpočetní technikou. 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 i mezinárodní projekt PHYSIOME (http://www.physiome.org). Jeho výsledkem jsou simulační modely fyziologických funkcí. V současné době je také koncipován celoevropský projekt EUROPHYSIOME (http://www.europhysiome.org), do jehož přípravy se na základě dosažených výsledků chceme zapojit. Pro návrh, ladění a implementaci simulačních modelů jsme použili modelovací vývojové prostředí Matlab Simulink firmy Mathworks, které nám umožňuje postupně sestavovat simulační model z jednotlivých komponent (tzv. simulačních čipy). Při řešení rozvojového programu jsme tak vytvořili knihovnu fyziologických modelů, která je teoretickým podkladem pro vytváření výukových simulačních her (obr. 1). Obr. 1 Ukázka části simulačního modelu kardiovaskulárního systému v Matlab Simulink-u. 159 3.2 Tvorba vlastního multimediálního simulátoru - simulační hry Odladěný simulační model se pak z prostředí Matlab Simulink převede do cílové softwarové platformy, ve které se sestaví výslední aplikace simulátoru. Na uvedený převod jsme vyvinuli speciální nástroje. V dnešní době používáme pro výsledné aplikace zejména platformu Microsoft .NET Framework. Z odladěného simulačního modelu se tak stane tzv. .NET assembly (jeden soubor .dll), která je úplně nezávislá na Matlab Simulink-u [3,4]. Uživatelské rozhraní výukového simulátoru je velmi vhodné navenek reprezentovat jako interaktivní pohyblivý obrázek. Pro tento účel používáme Adobe Flash animace (obr. 2), které se uvnitř aplikace propojí se simulačním modelem. Animace pak mohou být řízeny výstupy modelu a graficky reprezentovat význam číselných hodnot např. schematický obrázek srdce může „tepat“, 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í apod. Na druhé straně můžeme přes vizuální prvky vytvořené ve Flash-i (tlačítka, knoflíky, táhla apod.) do simulačního modelu zadávat nejrůznější vstupy. V případě složitější logiky simulátoru je jeho řídící vrstva implementována pomocí hierarchického stavového automatu. Vyvinuli jsme vlastní nástroj pro vizuální návrh těchto automatů, jejich ladění a generování jejich zdrojového kódu, který se stane součástí výsledné aplikace. Výhodou použití hierarchických stavových automatů je především v možnosti graficky zobrazit logiku aplikace a jednoznačně a přehledně definovat přechody mezi jejími stavy. V našem nástroji je zároveň možné přímo definovat řídící akce vyvolávané v závislosti na aktuálním kontextu simulační aplikace (obr. 3). Obr. 2 Ukázka návrhu řízené animace srdce v prostředí Adobe Flash Obr. 3 Hierarchický stavového automat pro simulační hru první pomoci 160 Výsledná simulační aplikace (obr. 4) je nakonec sestavena v rámci jediné softwarové platformy, kterou je v současné době hlavně .NET Framework, který umožňuje poměrně jednoduchou instalaci-spouštění aplikací přímo z webu prostřednictvím technologie ClickOnce. Pro jednodušší simulátory je někdy postačující i samotný Flash, kterého výhoda je jeho výborná přenositelnost na prakticky všechny operační systémy; .NET Framework svým konceptem ovšem také slibuje velkou přenositelnost. Obr.4 Ukázka simulátoru srdečních fází Jak je z výše popsaného patrné, je možné vytvořit jednoduché až velmi komplexní výukové objekty. Finanční náklady a personální náročnost je proto velice rozdílná. Především náročnější aplikace typu simulačních her (projekt Atlas) vyžadují sestavení mutlidisciplinárního týmu složeného z pedagogů, lékařů, matematiků, fyziků, programátorů i výtvarníků (což je také jeden z velmi důležitých výsledků projektu Atlas). 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. Naproti tomu náklady na pořízení jednoduchého výukového objektu, např. ozvučené prezentace, jsou relativně nízké. Vyžadují především aktivní přístup pedagoga, všeobecně dostupné nástroje výpočetní techniky a poměrně krátký čas na zpracování takového objektu. Za nízké lze považovat také provozní náklady LMS serveru AC vzhledem k počtu uživatelů a poměru výkonu a ceny. Hardwarové možnosti i softwarové nástroje dnes již dospěly do úrovně umožňující vytvářet náročná interaktivní multimediální díla, která je možno efektivně využít k výrazné podpoře výuky medicínských oborů. 4. Od jednoduchého ke složitému a zpět S rostoucími zkušenostmi z elektronicky podporované výuky se do popředí začala dostávat otázka efektivity a formy výukového procesu. Ukazuje se, že pasivní formy předávání informace (i když jsou lepší než nic) jsou málo účinnou formou jak potřebné informace ke studentovi dostat. Účinnost tohoto přenosu roste s interaktivitou média – od textu, přes hypertext, video, ozvučené video, animace až ke hrám, jejichž interaktivita je v tomto pohledu maximální. Podobně jako roste efektivita výukového procesu s interaktivitou média, roste rovněž s mírou sociální interakce. Nebo přesněji mírou aktivního zapojení v procesu výuky. Běžně jsou tři stupně aktivity popisovány jako tři paradigmata e-learningu [1]. 161 Komplexnost média 1. paradigma e-learning jako e-reading: kurz je založen především na prezentaci (i multimediálních) učebních materiálů, preferujeme především nástroje pro prezentaci a publikování vytvořených vzdělávacích objektů. 2. paradigma celebrity profesor: tento typ kurzů bývá postaven na osobnosti tutora kurzů, který vede studenty v průběhy celého kurzu. Důraz je zde proto kladen na komunikační prostředky a možnosti on-line komunikace (chat, videokonference). 3. paradigma konstruktivismus: cílem těchto kurzů je vytvořit z účastníků kurzů určitou virtuální komunitu, v rámci níž jsou potom nové znalosti aktivně konstruovány a vytvářeny při interakci studentů navzájem pod vedením tutora. Ve velkém míře se zde uplatní nástroje pro řízení studia a komunikační nástroje. Zobrazíme-li nyní nastíněné schéma v rovině, kde na jedné ose roste komplexnost média a na druhé ose míra aktivního zapojení studenta, vidíme, že fakulta pokrývá svými aktivitami dvě oblasti. Oblast, v níž se rostoucí mírou komplexity média blíží od textu k simulačním hrám a oblast, v níž se rostoucí mírou komunikace blíží od precepce k interakci v sociální skupině. Škola hrou Learning by doing +Simulační modely +Animace +Video +Audio Text Míra zapojení Čtení +Testy +Tutor +Sociální skupina Bylo by jistě žádoucí tyto dvě oblasti propojit. Uvážíme-li co by toto propojení znamenalo, je patrné, že od složitých věcí se dostáváme zpět k jednoduchým. Výsledkem propojení obou trendů a cílem našeho směřování za vyšší efektivitou elektronicky podporované výuky by bylo ono okřídlené „Learning by doing“. Škola hrou. 162 Literatura [1] Co je za oponou aneb cíle a postup řešení projektu "Atlasu multimediálních internetových modelů pro vybrané kapitoly normální a patologické fyziologie člověka". http://physiome.cz/atlas - Info / Ze zákulisí tvorby Atlasu [2] Kofránek J, Matoušek S, Andrlík M, Stodulka P, Wünsch Z, Privitzer P, Hlaváček J, Vacek O. Atlas of Physiology and Pathophysiology – Internet Simulation Playground. EUROSIM 2007; 2007; Ljubljana, Slovenia [3] Stodulka P, Privitzer P, Kofránek J, Tribula M, Vacek O: Development of Web Accessible Medical Educational Simulators. EUROSIM 2007; 2007; Ljubljana, Slovenia [4] Stodulka P, Privitzer P, Kofránek J, Mašek J. Nové postupy v tvorbě simulátorů inteligentní propojení Matlab Simulink s platformou .NET a tvorba stavových automatů řídících výslednou aplikaci. MEDSOFT 2006; 2006; Praha, Czech Republic: Agentura Action-M; 2006. p. 177-184. [5] Learning Management System (LMS) 1. LF UK http://connect.lf1.cuni.cz/ [6] Ing. Martin Weiter, Ph.D., Využití e-learningových technologií při výuce fyziky na FCH VUT, Chemická fakulta VUT v Brně (http://www.fit.vutbr.cz/research/pubs/TR/2005/sem_uifs/s050307podklady2.pdf) Jména autorů prof. MUDr. Stanislav Štípek, DrSc. UK v Praze, 1.lékařská fakulta, 1. proděkan a proděkan pro studijní záležitosti Kateřinská 32, 128 01 Praha 2 e-mail: [email protected] RNDr. Čestmír Štuka UK v Praze, 1.lékařská fakulta, Vedoucí oddělení výpočetní techniky Kateřinská 32, 128 01 Praha 2 e-mail: [email protected] Tomáš Nikl UK v Praze, 1.lékařská fakulta, Centrum podpory elektronické výuky Kateřinská 32, 128 01 Praha 2 e-mail: [email protected] MUDr. Jiří Kofránek, CSc. UK v Praze, 1.lékařská fakulta, Ústav patologické fyziologie, Laboratoř biokybernetiky a počítačové podpory výuky U Nemocnice 5, 128 53 Praha 2 e-mail: [email protected] MUDr. Mgr. Pavol Privitzer UK v Praze, 1.lékařská fakulta, Ústav patologické fyziologie, Laboratoř biokybernetiky a počítačové podpory výuky U Nemocnice 5, 128 53 Praha 2 e-mail: [email protected] 163 Mefanet report 01 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, Brno, ISBN 978-80-210-4539-2, str. 6072, 2008. Práce je dostupná na adrese http://www.physiome.cz/references/ MEFANETreport01.pdf. 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, sborník příspěvků, (editor: Milena Ziethamlová) Agentura Action M, Praha, ISBN 978-80-8674222-9, str. 37-56, 2008. Práce je dostupná na adrese http://www.physiome.cz/ references/MEDSOFT2008a.pdf. 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 PM4 225 DOB x 1 o s 200 P4O 235 Xo P2O upper limit 8 265 7.983 224 271 POT^3 1 s POT 8.0001 60 P3O 242 PVO BFN 223 u^3 P3O^3 233 250 244 OVA 1 POM 200 QO2 0.00333 RMO 57.14 234 40 P1O 1 1 272 upper limit 8 232 OSA 255 HM xo 271 lower limit .005 251 248 241 2400 u^3 POE 1 DVS 5 252 AOM 1 8 MO2 8.0001 0.08 PM5 8 VPF POT 249 PMO 0.5 2.859 PDO 243 122 2.8 8 1 253 247 P2O 2400 256 264 1 0.25 -1 1 s x o 0.7 231 OVA P40^3 266 236 QOM 257 40 2688 lower limit 50 1 246 5 OVA 512 267 AMM 1 s x o 0.15 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 lower limit 50 u^3 198.7 263 BFM 5 225 DOB 1 s 235 u^3 271 POT^3 HM xo 271 1 s POT VVE 0.5 250 244 u^3 P3O^3 233 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 8 189 AHM 0.9996 0.1 215 221 POM 243 122 VPF 188 1 220 216 1 GP3 1 PMO 0.5 2.859 8 AM 211 APD 202 1 PM5 2.8 8 POT 210 1 196 200 QO2 0.00333 60 PVO 223 GF4 GF3 1 s xo VIM OVA 272 upper limit 8 GF3 197 1 P3O 242 0.009 0.301 1 BFN 203 algebraic loop breaking VIM 0.01028 VV1 62 8.0001 234 255 0.0009964 219 5 31.67 VV7 VV2 lower limit .005 251 248 0 TVD 0.01 217 1 63 VV7 1 7.983 241 57.14 lower limit 0 191 190 AHM 1000 209 PPC 51.66 TVD 4 Z11 Z10 GLP VV6 POE P2O upper limit 8 AAR 198 18 61 40 P1O 0 1 8 Xo RMO 232 OSA 8.25 1 1 212 1 224 194 STH 1 STH 0.001022 TRR 0.8 33 AOM 2400 xo DVS 2400 0.001 PFL AAR SRK 252 VUD lower limit 0.0003 VV7 P2O 0.7 231 200 5 265 193 192 POT 8 VUD 0.00781 EVR 0.25 256 264 MO2 8.0001 1 253 247 218 GFR 208 199 -1 1 s xo OVA P40^3 206 0.125 1 s PM4 257 40 P4O 266 236 QOM 238 THIRST AND DRINKING GFN 205 200 65 64 5 OVA 2688 1 KIDNEY DYNAMICS AND EXCRETION RR 1 246 512 267 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 69.76 3.7 0.001879 VTC 75 152 CPK 0 1 0 P2O 293 295 8 296 297 PLA CPA 54 VLA 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 96 V2D 352 0.1 xo 1 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 HPR 347 57600 343 40 0.0000058 DFP PLF 1 5 123 98 1 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 RPV AUB CALCULATION PA1 QVO 1 1 56 1 xo 307 1 303 AU6 301 AM2 AM3 AMP HSR 50 20 -4 1 s VLA 302 A1B 19.8 167 PA 100 AUH 48 sqrt QLO 1 AUC 172 AM5 10u 11 49 RPA 0 AUC AUC calculation 173 174 AM 1 ANM 164 1 RVM 53 QLN 25 AUC CALCULATION PA1 AM 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 20.039 0.9984 1 RVG 2.738 VLE 0.1 1.24 PA1 VP QRF 47 28 8 POQ 3 EXE 3.002 VTL 0.002 PR1 PVS 0.6 QLN 44 27 298 ANGIOTENSIN CONTROL DPC 10 QLO 260 LVM = f(PA2) 0 100 294 0.03824 20 PVS 45 46 0.01453 PLA 8 upper limit 8 PA lower limit 4 15 ANT DPC 0.04 VP 1 s 3 PA2 LVM PLA POT POQ 8 xo 3 VRA 0 HMD HPL QLO 5.07 QLO 291 292 0.1 CPI 71 VPD VUD DFP 158 AN1 ANM 1.6283e-007 70 0.001 5 VPA 157 156 155 CNE 74 TVD 0.001 VVS VB VLA 58 QLN 1 10 CP1 60 VAS PA 1.4 1 LVM 1 s xo ANC 154 CNA 142 PC^3 PVS 59 HSL 29 5 QAO 159 (1.2/u)^3 (1.2/RFN)^3 10 CPP 74 u^3 VAS3 DAS 30 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, sborník příspěvků, (editor: Milena Ziethamlová) Agentura Action M, Praha, ISBN 978-80-86742-229, str. 37-56, 2008. Práce je dostupná na adrese http://www.physiome.cz/ references/MEDSOFT2008b.pdf. 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) platit: Nyní si můžeme sestavit rovnice. Podle Ohmova zákona musí 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
Podobné dokumenty
Příloha 2 - Laboratoři biokybernetiky a počítačové podpory výuky
model dále rozšiřovala a zájemcům dokonce poskytovala i výpisy počítačových programů realizace modelu v programovacím jazyce Fortran (naposledy z roku 1986).
VíceMUDr. Jiří Kofránek, CSc.
pomůcky v lékařské výuce, autoři volně zpřístupnili na webu (http://physiology.umc.edu/themodelingworkshop/). Jeho dalším rozšířením je výukový simulátor Quantitative Human Physiology (QHP), (Colem...
Více1.úvodní slovo ředitele podniku
Povauji za velmi potìující, e mohu zhodnotit uplynulý rok jako z mnoha hledisek významný a z jistého pohledu pøelomový. Velmi mne tìí, e mám monost se po svém nástupu do funkce øeditele podíl...
VíceMedsoft 2012 - Creative connections
Ivan Pfeifer, Sylva Bártlová, Jana Hercová..........................................................................................243 Pomůcky pro výuku lékařské informatiky u nás a ve světě
VíceOdkaz na čánek - se svolením redakce
(viz tento èlánek). Dalí je napø. stáhnutí souboru s programem z Internetu a pomoci prográmku (zavadìèe, bootloaderu, který musí být v MC ji naprogramován) si ho nahrát do MC pøipojeného na port ...
VíceVYUŽITÍ SIMULAČNÍCH MODELŮ ACIDOBAZICKÉ ROVNOVÁHY V
simulačních modelů – není to ale prostředí, ve kterém by se realizovaly vlastní výukové simulátory. Pro vytváření uživatelského rozhraní výukového simulátoru je velmi vhodné vstupy a výstupy simula...
VícePříloha 1 Publikace podporované projektem MŠMT 2C06031 za rok
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, au...
VíceWitness a metodika Six Sigma
Spoleènost Lanner Group Ltd. nabízí svým zákazníkù ucelenou øadu programových nástrojù pro prediktivní analýzu a zlepování podnikových procesù Witness Suite. Witness Suite obsahuje aplikace pro ...
VíceMedsoft 2009 - Creative connections
o vybrané neurologické testy) jsme na souborech zdravých dětí (N=221 a N=47) vyšetřili a prověřili behaviorální preference horních a dolních končetin pro různé činnosti – % a nástin základních souv...
Více