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