Publikace podporované projektem MŠMT 2C0631

Transkript

Publikace podporované projektem MŠMT 2C0631
Příloha 1a
Publikace podporované
projektem MŠMT 2C0631
I. publikace české/slovenské
Publikace podporované projektem MŠMT 2C0631
I. Publikace české/slovenské
1. Jiří Kofránek, Jan Rusz: Od obrázkových schémat k modelům pro výuku. Československá
fyziologie 56(2), str. 69-78, 2007. Práce je dostupná na adrese http://www.physiome.cz/
references/CSFyziol2007.pdf.
2. Jiří Kofránek, Stanislav Matoušek, Michal Andrlík: Škola (simulační) hrou - využití
simulačních modelů acidobazické rovnováhy v e-learningové aplikaci. In: MEDSOFT 2007,
sborník příspěvků, (editor: Milena Zeithamlová), Agentura Acion M., Praha, ISBN 978-80-8674200-7, str. 83-92, 2007. Práce je dostupná na adrese http://www.physiome.cz/references/
Medsoft2007a.pdf.
3. Jiří Kofránek, Martin Tribula: Control web pro multimediální interaktivní ledvinu. In:
MEDSOFT 2007, sborník příspěvků, (editor: Milena Zeithamlová), Agentura Acion M.,
Praha, ISBN 978-80-867-4200-7, str. 93-100, 2007. Práce je dostupná na adrese http://www.
physiome.cz/references/MEDSOFT2007b.pdf.
4. Zdeněk Wünsch, Marcel Matúš, Tomáš Kripner, Jiří Kofránek: Modely regulace ve fyziologickém
praktiku. In: MEDSOFT 2007, sborník příspěvků, (editor: Milena Zeithamlová), Agentura
Acion M., Praha, ISBN 978-80-867-4200-7, str.225-230, 2007. Práce je dostupná na adrese
http://www.physiome.cz/references/MEDSOFT2007c.pdf.
5. Stanislav Štípek, Čestmír, Štuka, Jiří Kofránek, Pavol Privitzer, Tomáš Nikl: Metodika
e-learningu: Od jednoduchého ke složitému a zpět. In: Sborník příspěvků z konference
eLearning 2007. Gaudeamus, Hradec Králové, ISBN 978-80-7041-573-3, str. 156-164, 2007. Práce je dostupná na adrese http://www.physiome.cz/references/elearning2007.pdf.
6. Jiří Kofránek: Tvorba výukových simulátorů. Co je za oponou. In: Mefanet report 01. (editoři:
Ladislav Dušek, Vladimír Mihál, Stanislav Štípek, Jarmila Potomková, Daniel Schwarz, Lenka
Šnaidrová). Institut biostatistiky a analýz, Masarykova Univerzita, Brno, ISBN 978-80-2104539-2, str. 60-72, 2008. Práce je dostupná na adrese http://www.physiome.cz/references/
MEFANETreport01.pdf.
7. Jiří Kofránek, Jan Rusz, Stanislav Matoušek: Vzkříšení guytonova diagramu - od obrázku k
simulačnímu modelu. In MEDSOFT 2008, sborník příspěvků, (editor: Milena Ziethamlová)
Agentura Action M, Praha, ISBN 978-80-86742-22-9, str. 37-56, 2008. Práce je dostupná na
adrese http://www.physiome.cz/references/MEDSOFT2008a.pdf.
8. Jiří Kofránek, Pavol Privitzer, Petr Stodulka: Technologie a trendy tvorby výukových simulátorů.
In MEDSOFT 2008, sborník příspěvků, (editor: Milena Ziethamlová) Agentura Action M,
Praha, ISBN 978-80-86742-22-9, str. 37-56, 2008. Práce je dostupná na adrese http://www.
physiome.cz/references/MEDSOFT2008b.pdf.
9. Petr Stodulka, Pavol Privitzer, Jiří Kofránek: Jednoduchá simulační hra krok za krokem aneb Od
představy k hotovému. In MEDSOFT 2008, sborník příspěvků, (editor: Milena Ziethamlová)
Agentura Action M, Praha, ISBN 978-80-86742-22-9, str. 149-156, 2008. Práce je dostupná na
adrese http://www.physiome.cz/references/MEDSOFT2008c.pdf.
10. Marek Mateják, Jiří Kofránek: Modelica vs. blokovo-orientované jazyky matematického
modelovania. In OBJEKTY 2008, (Žilina SR), Žilinská Univerzita, 20.-21.11.2008, (editor
Jan Janech), Edis, Žilina, ISBN 978-80-8070-923-3, str. 79-94, 2008. Práce je dostupná na
adrese http://www.physiome.cz/references/Objekty2008.pdf.
11. Jiří Kofránek, Marek Mateják, Stanislav Matoušek, Pavol Privitzer, Martin Tribula, Ondřej
Vacek: Škola (multimediální simulační) hrou: využití multimediálních aplikací a simulačních
modelů ve výuce patologické fyziologie. In MEFANET 2008. (editoři: Daniel Schwarz,
Ladislav Dušek, Stanislav Štípek, Vladimír Mihál), Masarykova Univerzita, Brno, ISBN 97880-7392-065-4, CD ROM, 30_kofranek.pdf: str. 1-26, 2008, internetový sborník: http://www.
mefanet.cz/res/file/mefanet2008/prispevky/30_kofranek.pdf.
12. Jiří Kofránek: Komplexní model acidobazické rovnováhy, (English version: Complex model of
blood acid-base balance). In MEDSOFT 2009, sborník příspěvků, (editor: Milena Ziethamlová
Ed.) Praha: Agentura Action M, Praha, ISBN 978-80-904326-0-4 , str. 23-60, 2009. Práce je
dostupná na adrese http://www.physiome.cz/references/Medsoft09a.pdf, anglická verze je
dostupná na adrese http://www.physiome.cz/references/AcidBaseMedsoft2009.pdf, model je
dostupný na adrese http://physiome.cz/AcidBase.
13. Jiří Kofránek, Pavol Privitzer, Marek Mateják, Martin Tribula: Akauzální modelování – nový
přístup pro tvorbu simulačních her. In MEDSOFT 2009, sborník příspěvků, (editor: Milena
Ziethamlová) Praha: Agentura Action M, Praha, ISBN 978-80-904326-0-4, str. 31-75, 2009.
Práce je dostupná na adrese http://www.physiome.cz/references/Medsoft09b.pdf.
14. Marek Mateják, Jiří Kofránek, Jan Rusz: Akauzální “vzkříšení” Guytonova diagramu. In
MEDSOFT 2009, sborník příspěvků, (editor Milena Ziethamlová) Praha: Agentura Action M,
Praha, ISBN 978-80-904326-0-4, str. 105-120, 2009. Práce je dostupná na adrese http://www.
physiome.cz/references/Medsoft09c.pdf.
15. Jiří Kofránek, Marek Mateják, Pavol Privitzer: Kreativní propojení objektových technologií pro
tvorbu výukových biomedicínských modelů In Objekty 2009, (editor: Pavel Kříž), Gaudeamus,
Univerzita Hradec králové, ISBN 978-80-7435-009-2, Hradec Králové, str. 1-21, 2009. Práce je
dostupná na adrese http://www.physiome.cz/references/Objekty2009.pdf.
16. Jan Rusz, Jiří Kofránek.: Využití, vývoj a automatizace nejen průmyslových nástrojů pro
biomedicínské výukové simulátory. Automatizace, 52 (7-8), str. 443-446, 2009. Práce je
dostupná na adrese http://www.physiome.cz/references/Automatizace2009.pdf.
Československá fyziologie
Jiří Kofránek, Jan Rusz: Od obrázkových schémat k modelům pro výuku.
Československá fyziologie 56(2), str. 69-78, 2007. Práce je dostupná na
adrese http://www.physiome.cz/references/CSFyziol2007.pdf.
PØEHLEDNÉ ÈLÁNKY
Od obrázkových schémat
k modelům pro výuku
MUDr. Jiøí Kofránek, CSc., Bc. Jan Rusz
Laboratoø biokybernetiky, Ústav patologické fyziologie 1. LF UK, Praha
SOUHRN
Pøed pìtatøiceti lety uveøejnil A. C. Guyton et al. popis rozsáhlého modelu fyziologických vztahù ve formì grafického
schématu. Autoøi toto rozsáhlé grafické schéma oživili s využitím moderního vývojového nástroje urèeného pro vývoj
simulaèních modelù. Rozložení jednotlivých prvkù, jejich propojení a popis byl zachován. Na rozdíl od starého schématu je nové schéma funkèním simulaèním modelem umožòujícím ve vývojovém prostøedí Matlab/Simulink model
spouštìt a studovat chování všech promìnných. Autoøi dále popisují technologii vývoje multimediálních výukových
simulátorù.
SUMMARY
Thirty five years ago, A.C.Guyton at al. published a description of the large model of physiological relations in a form
of a graphic chart. The authors brought this large-scale chart to life using a modern simulation tool – Matlab/Simulink. The original layout, connections and descriptions were saved in the implementation, but contrary to the old
system analysis diagram, the new one is also a functional simulation model itself. Thus, the new implementation
gives the user the possibility to see and study behaviour of all model’s variables in time. Authors also describe the
technology of development of multimedia learning simulators.
POČÍTAČOVÁ PAVUČINA
FYZIOLOGICKÝCH REGULACÍ
Před pětatřiceti lety uveřejnil prof. Arthur C. Guyton spolu
s T. G. Colemanem a H. J. Granderem v časopise Annual of
Biomedical Physiology článek (Guyton et al., 1972), který se
svou podobou na první pohled naprosto vymykal navyklé
podobě fyziologických článků té doby. Jeho centrálním
místem bylo rozsáhlé schéma, na první pohled vzdáleně
připomínající nákres nějakého elektrotechnického zařízení
(obr. 1). Místo elektronek či jiných elektrotechnických součástek však zde byly zobrazeny propojené výpočetní bloky (násobičky, děličky, sumátory, integrátory, funkční bloky), které
symbolizovaly matematické operace prováděné s fyziologickými veličinami. Svazky propojovacích vodičů mezi bloky
na první pohled vyjadřovaly složité zpětnovazební propojení
fyziologických veličin. Bloky byly seskupeny do osmnácti
skupin, které představovaly jednotlivé propojené fyziologické
subsystémy. Centrálním byl subsystém reprezentující cirkulační dynamiku – s ním byly do jednoho celku zpětnovazebně
provázány ostatní bloky (od ledvin, přes tkáňové tekutiny,
elektrolyty, až po autonomní nervovou regulaci a hormonální
řízení zahrnující ADH, angiotenzin a aldosteron).
Československá fyziologie 56/2007 č. 2
Článek popisoval rozsáhlý model fyziologických regulací
cirkulačního systému a jeho širší fyziologické souvislosti
a návazností na ostatní subsystémy organizmu – ledviny,
regulaci objemové a elektrolytové rovnováhy. Místo vypisování soustavy matematických rovnic se v článku využívalo
grafické znázornění matematických vztahů (viz obr. 1). Tato
syntaxe umožnila graficky zobrazit souvislosti mezi jednotlivými fyziologickými veličinami ve formě propojených bloků
reprezentujících matematické operace. Popis modelu byl
pouze ve formě základního (ale přesto plně ilustrativního)
obrázku, komentáře a zdůvodnění formulací matematických
vztahů byly velmi stručné: např. „bloky 266 až 270 počítají
vliv buněčného PO2, autonomní stimulace a bazální rychlosti
spotřeby kyslíku tkáněmi na skutečnou rychlost spotřeby
kyslíku v tkáních“. Od čtenáře to vyžadovalo velké soustředění
(jakož i jisté fyziologické a matematické znalosti) pro pochopení smyslu formalizovaných vztahů mezi fyziologickými
veličinami. O rok později, v roce 1973, vyšla monografie
(Gyuton et al., 1973), kde byla řada použitých přístupů vysvětlena poněkud podrobněji. Později skupina A. Guytona tento
model dále rozšiřovala a zájemcům dokonce poskytovala
i výpisy počítačových programů realizace modelu v programovacím jazyce Fortran (naposledy z roku 1986).
69
Annu. Rev. Physiol. 1972.34:13-44. Downloaded from arjournals.annualreviews.org
by Dr. Jiri Kofranek on 07/15/06. For personal use only.
Obr. 1: Schéma rozsáhlého modelu A. C. Guytona a spolupracovníkù. Publikováno s laskavým svolením Annual Review of Physiology.
Guytonův model byl prvním rozsáhlým matematickým
popisem fyziologických funkcí propojených subsystémů
organizmu a odstartoval oblast fyziologického výzkumu,
která je dnes někdy popisována jako integrativní fyziologie.
Z tohoto hlediska byl určitým mezníkem, který se snažil
systémovým pohledem na fyziologické regulace zachytit
dynamiku vztahů mezi regulací oběhu, ledvin, dýchání,
objemu a iontového složení tělních tekutin pomocí matematického modelu.
A. C. GUYTON – PRŮKOPNÍK
SYSTÉMOVÉHO PŘÍSTUPU VE FYZIOLOGII
Arthur C. Guyton patřil k průkopníkům systémového přístupu ke zkoumání fyziologických regulací. Do fyziologické
vědy vnesl řadu zásadních konceptů v oblasti krátkodobé
a dlouhodobé regulace oběhu a jeho propojení s regulací
70
objemu, osmolarity a iontového složení tělních tekutin.
Vypracoval řadu originálních experimentálních postupů
– byl např. prvním, kdo změřil hodnotu tlaku v intersticiální tekutině. Byl však nejenom inovativní experimentátor,
ale především brilantní analytik a kreativní syntetizátor.
V experimentálních výsledcích uměl nacházet nové dynamické souvislosti, které umožnily pochopit podstatu řady
důležitých regulačních vztahů v organizmu jako celku.
Guytonovy výzkumy např. prokázaly, že v řízení minutového objemu srdečního není rozhodujícím prvkem pouze
srdce jako pumpa, ale i dodávka kyslíku do tkání a s tím
související regulace tkáňové perfuze, a dále i náplň krevního
řečiště a regulace poddajnosti velkých žil. Guyton prokázal,
že za dlouhodobou regulaci krevního tlaku jsou zodpovědné
ledviny (Guyton, 1990).
Při studiu dynamiky regulačních vztahů a pro pochopení
vzájemných dynamických souvislostí fyziologických regulačních vztahů jen slovní popis a „selský rozum“ nestačí. Guyton
Československá fyziologie 56/2007 č. 2
si to uvědomil již v polovině šedesátých let a při zkoumání
příčin, které ovlivňují krevní tlak, se snažil o přesnější vyjádření závislostí a vztahů pomocí propojených grafů a posléze
i pomocí počítačových modelů. První počítačové modely
vytvořil spolu se svým dlouholetým spolupracovníkem Thomasem Colemanem již v roce 1966. Jako erudovaný fyziolog
se Guyton zabýval biomedicínským inženýrstvím v době, kdy
tento obor vlastně ještě oficiálně neexistoval.
Je pozoruhodné, že Guyton se vlastně zabývat teoretickou
medicínou nechtěl. Původní zaměření jeho lékařského vzdělání byla praktická klinická medicína. Po absolutoriu lékařské fakulty na prestižní Harvardské univerzitě v roce 1943
začal svou klinickou kariéru v Massachusettské všeobecné
nemocnici, kde se vzdělával v oboru neurochirurgie. Jeho
neurochirurgická studia přerušila válka, kdy byl povolán
k námořnictvu jako vojenský lékař. Po válce se vrátil zpět
k neurochirurgii, ale velmi nakrátko. V roce 1947 dostal
poliomyelitis, která zanechala těžké následky – ochrnutí
pravé nohy a pravého ramene jej upoutalo na kolečkové
křeslo. Jeho kreativní duch ho i v těžkých chvílích neopustil
a výsledkem byl vynález pákového ovladače (joysticku)
určeného pro kolečkové křeslo na elektrický pohon. Dalším
vynálezem byla speciální pružná spona umožňující paraplegikům snadný přesun mezi kolečkovým křeslem a vanou. Za
tyto vynálezy usnadňující život hendicapovaným jedincům
byl vyznamenán prezidentem USA. Zdravotní postižení
ukončilo Guytonovu kariéru v neurochirurgii a nasměrovalo
ho k teoretické medicíně. Přestože měl nabídky zůstat na
prestižní Harvardské univerzitě, vrátil se do svého rodného
Oxfordu ve státě Mississippi, kde zpočátku učil farmakologii
na dvouleté medicínské škole a v roce 1948 byl jmenován
vedoucím katedry fyziologie a biofyziky v Medical Center
na Univerzitě Mississippi. Z tohoto (na americké poměry)
původně provinčního institutu vytvořil světově věhlasné
fyziologické pracoviště, kde sepsal svou proslulou učebnici
fyziologie, která se dnes dočkala již 11 vydání, byl autorem
a spoluautorem více než 600 publikací a napsal 40 knih.
Vychoval mnoho generací mediků a více než 150 doktorandů. V roce 1989 předal vedení katedry svému žákovi J. E.
Hallovi a jako emeritní profesor se nadále věnoval výzkumu
a výuce až do své tragické smrti v důsledku automobilové
nehody v roce 2003.
FORMALIZACE POPISU
FYZIOLOGICKÝCH VZTAHŮ
Guyton byl jedním z propagátorů využívání formalizovaného popisu fyziologické reality. Formalizace, tj. převedení
čistě verbálního popisu příslušné sítě vztahů na popis ve formalizovaném jazyce matematiky, umožňuje zkoumat chování formálně popsaného systému pomocí formálních pravidel
– např. řešením rovnic matematického modelu. Pokud tyto
rovnice převedeme do formy programu pro počítač, můžeme
tak přenechat „dřinu strojům“ – v tom je podstata využití
simulačních modelů.
Simulační model, pochopitelně, nenahradí biologický
experiment (jak tvrdí někteří fanatičtí bojovníci proti pokuČeskoslovenská fyziologie 56/2007 č. 2
sům na zvířatech). Simulační model je ale velice efektivním
nástrojem na dedukci a ověřování hypotéz – umožňuje sledovat chování složitého dynamického systému v čase v závislosti na nejrůznějších vstupech. Kritériem pro odmítnutí
nebo neodmítnutí hypotézy je ale vždy porovnání chování
modelu s empiricky a experimentálně získaným chováním
biologického originálu.
Uplatnění formalizace v biologických a lékařských vědách
ani zdaleka není běžné, oproti technickým vědám, fyzice, či
chemii má zde biologie a medicína určitý handicap. Jestliže
formalizace ve fyzice začala již někdy v sedmnáctém století,
proces formalizace lékařských a biologických věd je z důvodů složitosti a komplexnosti biologických systémů relativně
opožděn a postupně přichází až s kybernetikou a výpočetní
technikou. Určitým předělem byl počátek sedmdesátých let,
kdy rozvoj výpočetní techniky a programovacích jazyků ve
větší míře umožnil praktické vytváření a testování simulačních modelů fyziologických systémů.
Počínaje výše zmíněným modelem Guytona a jeho spolupracovníků se od sedmdesátých let v odborné literatuře
postupně objevují rozsáhlé simulační modely, snažící se
integrativně zachytit spletité vztahy mezi regulací ledvin,
dýchání, oběhu, iontového složení, acidobazické rovnováhy
a dynamiky tělních tekutin pomocí soustav nelineárních
diferenciálních rovnic a rozvíjí se i modelování interakcí
struktur nervové tkáně.
Pro popis řady těchto modelů autoři často volili grafickou syntaxi navrženou Guytonem – tak např. Amosov et
al. v roce 1977 publikovali monografii, v níž stejnou syntaxí
popsali propojený model cirkulace, respirace, ledvin, elektrolytové rovnováhy a termoregulace. Obdobně v roce 1979
tuto syntaxi využil Ikeda et al. ve svém modelu vnitřního
prostředí.
ŠKOLA (SIMULAČNÍ) HROU
Rozvoj personálních počítačů a internetu koncem minulého století vnesl zcela nové možnosti pro praktické uplatnění simulačních modelů. Simulační model nemusí být jen
nástrojem pro vědecký výzkum, může být i velmi užitečnou
výukovou pomůckou.
Výukové programy se simulačními komponentami
nejsou jen multimediální náhradou klasických učebnic.
Jsou zcela novou výukovou pomůckou, kde nachází své
moderní uplatnění staré krédo Jana Ámose Komenského
„Schola Ludus“ (škola hrou), které tento evropský pedagog
razil již v 17. století. Spojení multimediálního prostředí,
sloužícího jako zvukové a vizuální uživatelské rozhraní,
se simulačními modely studentům umožňuje názorně si
„osahat“ vykládaný problém ve virtuální realitě a přináší
tak zcela nové možnosti pro vysvětlování složitých problémů. Simulační hrou je možné bez rizika otestovat chování
simulovaného objektu – např. zkusit přistávat virtuálním
letadlem nebo, v případě lékařských simulátorů, léčit virtuálního pacienta, či otestovat chování jednotlivých fyziologických subsystémů. Simulační hry umožňují názorně
vysvětlit komplexní vztahy ve fyziologických regulačních
71
NON-MUSCLE OXYGEN DELIVERY
MUSCLE BLOOD FLOW CONTROL AND PO2
228
BFM
1
xo
PM1^2
2500
5
238
257
OVA
2688
263
OVA
DOB
264
1 xo
s
223
P3O^3
233
AM
VIM
216
PDO
PA
NOD
RFN
201
207
213
RBF
177
PRA
0
CNX
CNE
10
POB
276
AU
AH8
lower_limit_0
40
274
275
POD
AK1
ANM
0.06
1
ARM
40
POA
281
282
285
0.9763
ARM
279
280
AR3
AR1
1
s
xo
A2K
lower limit 0.5
1
ARM
1
VIM
1
35
ANU
RSM
283
0.495
0.3
1
5
33
VAS
7
9
VV8
VVE
1
xo
73
5
0.001657
VTC
CV
QVO
PC^3
CPK
QLO
PLA
5.069
QLO
291
PVS
0
PR1
POQ
0.1
293
VLE
P2O
CPA
PLA
DAU
AUK
AUB^3
AUB CALCULATION
304
RPT
QRN
308
QRN = f(PRA)
Z8
309
AUB calculation
0
19
15.18
23
6
22
15
QRO
21
PPA
PGL
VPE
20
14
DPL
uv
0.21
0.85
314
312
AUV
xo
0.9895
AUL
VTD
84
PLA
0
1
AUY
0.5
319
PPA
0.991
0.55
AUM
0.000225
151
VIE
0.375
PPD
100
HSL
337
145
350
5.001
140
KCD
xo
PTT = (VTS/12)^2
336
KED
DHM
1
0.1
xo
1
1600
96
V2D
352
HPR
347
342
125
AU
5
0.5
1
REK
u^2
117
CHY^2
NOD
1
s
93
94
PGC
PGR
0.4
1
HM
335
57600
HM
0.0000058
PG2
95
99
343
PPI = 2 - (0.15/VPF)
PGH
0.01252
VPF
344
PULMONARY DYNAMICS AND FLUIDS
5
VPF
VRC
VRC
1
1
xo s
1
349
HPL
1
1
xo s
HMD
HPR
PTS
89
90
57
CHY
HYL
-5.9
91
NAE
142.2
CNA
PIF
92
VIC
0.0125
VPF
114
115
VEC
39.93
VTW
PRM
3
12
HEART HYPERTROPHY OR DETERIORATION
0.1
VP
VTW
24.2
2
RED CELLS AND VISCOSITY
STH
1
VG
334
RC2
-2.429e-008
VB
1
s
1
s
NID
PTC
HMD
100
DFP
xo
119
xo
2130
0.1
PGP
143
2-(0.15/u)
142
0.0125
HEART RATE AND STROKE VOLUME
upper limit 1
PPI
PLF
DFP
CNA
118
NED
0.25
PIF
57600
348
39.95
RKC
141
1
0.00042
KOD
1
xo
124
CKE
126
116
333
PFI
1
0.00014
123
KE
120
98
HPL
336b
VRC
40
HMD
1
xo s
75
0.013332
u^0.625 PP3^0.1
u^0.625 PA4^0.625
1
s
2
xo
11
325
AM
122
KID
11.4
VGD
100
140
326
121
0.0028
(u/12)^2
6
0.0025
351
1
s
144
0.0003
POT
15
345
PP3
346
HM2
40
336c
RCD
332
PPO
CPF
0
321
324
2850
KE1
CKE
97
RC1
152
2
PRA
QLO
KIR
127
0.013
1
s
85
PTT
PLF
0.0003
PLF
PPI
322
323
HSR
100
PPA4
341
331
POS
139
32
327
HR
VTS
PPA
340
0.00092
PPC
SVO
15
PA
464e-7
PPD
POS
128
129
KIE
113
101
330
5.124e-006
148
PPN
11.94
1
1.5
POY
147
130
KCD
3550
GPR
VG
VG
8
lower limit 0.2375
xo
138
AVE
xo
10
86
VTS
0.333
0.4
1
s
PCP
0.07061
xo
1
s
0
VIM
338
VPF
137
AVE
0.9955
AUTONOMIC CONTROL
339
PO2
PPR
149
VIC
1
s
KI
1
s
PTS = f(VIF)
VIM
8.25
146
PPC
xo
25
131
171
0
POT
329
PO1
CPN
CPP
28
136
15
AUM
320
150
0.4667
AUH
AUH
1
GPD
112
0.9889
8
70
2.951
0.9968
PTS
1
s
VVR
VVR
0.7
328
PIF
88
xo
313
AUD
315
135
VID
0.01
CNA
VIC
VIF
12
3.159
AU
0.3
VID
134
CCD
132
20
VID
VV9
133
CKI
GP2
111
0.0005
87
CIRCULATORY DYNAMICS
1
-2.489e-005
110
GPD
83
VTC
0.15
318
VIF
VTL
VPA
AUJ^AUZ
316
AU9
IFP
1
xo s
12
0.1
0.101
0.38
103
DPI
0.002
1
s
0
AUN calculation
SVO
0.005
PRA
xo
AUJ
1
104
GP1
102
0.30625
0.0048
1
PRA
1
s
VPA
AUZ
310
311
AU
170
xo
ALDOSTERONE CONTROL
DPC
0.04
VRA
18
PLA
RPT
QPO
AU8
AUN
AUN
PIF
QPO
PPA
xo
PTT
0.25
lower limit 4
20
-4
1
s
AUN CALCULATION
317
-6.381
PR1
0
1
1
s
AMC
lower limit 6
9
1
s
VRA
169
60
200
166
KN1
CNA
109
PRA
AUH
AUB
AMR
0
165
CKE
5
142
xo
PPA
AMT
AMP = f(PA)
0.00352
7.8
PTC
105
1
AUH 51
0.026
0
106
PIF
CPI
CPI
0.1
13
50
RVM = f(PP2)
20.44
108
DPL
DRA
15
0
PLD
0.004
lower limit 5
PTC
16
0
PP2
AU2
0.0005
305
when PA1<50: AUN=6
when 20>PA1<50: AUN=0.2*(50-PA1)
when PA1>=50: AUC=0
107
VTL
5.109
12
QRO
lower limit 0
52
PL1
-0.017
168
AM1
DPL
VTL
HMD
HMD
RVM
RPV
0.0357
20
57
PLA
0.03509
0.001717
HPR
1.4
55
1
0.4
DLA
24
301
u^3
PA1
QVO
1
1
56
307
1
303
AU6
when PA1<40: AUB=1.85718
AUB
when 40>PA1<170: AUB=0.014286*(170-PA1)
when PA1>=170: AUB=0
PP1
QLN = f(PLA)
xo
302
A1B
171
167
AMP
HSR
50
20
-4
1
s
VLA
AUC
AUC calculation
AM2
AM3
PA
100
AUH
48
sqrt
QLO
1
when PA1<40: AUC=1.2
AUC
when 40>PA1<80: AUC=0.03*(80-PA1)
when PA1>=80: AUC=0
11
49
RPA
0
172
19.8
10u
1
RVM
53
VLA
25
AUC CALCULATION
PA1
54
QLN
EXC
173
AM5
164
4
1
295
8
296
297
1.24
PA1
AM
ANM
1
RVG
2.738
26
Z12
PA1
20.039
174
0.9926
QRF
47
15
0.4
EXE
AM
PVS
0.6
QLN
44
3
298
ANT
ANGIOTENSIN CONTROL
DPC
VP
PPC
10
QLO
260
LVM = f(PA2)
28
294
0.002
45
46
0
100
8
15
3.007
27.9
VTL
27
upper limit 8 PA
lower limit 4
1
158
0.1
DPC
0.03705
20
0
1
PLA
8
152
CPI
VP
1
xo s
3
DFP
VRA
0.02593
POT
POQ
8
1
s xo
157
AN1
ANM
71
VPD
VUD
5
VPA
PA2
LVM
156
155
CNE
74
70
0.001
VB
VLA
58
1.4
1
QLN
HMD
HPL
CNA
142
CP1
TVD
0.001
VVS
59
HSL
LVM
QLO
159
ANC
CNE
154
CPP
60
VAS
QAO
0.042
(1.2/u)^3
(1.2/RFN)^3
10
75
1.6283e-007
PA
29
30
292
74
u^3
0.0825
RFN
1.2
69.75
VAS3
DAS
AN2
153a
69
PTC
PVS
lower limit 0.0001
2.833
160
10u
REK
CPP
CFC
PVS
AR3
1
s
3.3
161
AN3
4.0
210
0.007
8
VVS
AN5
lower limit 0.7
ANM
xo
0.4
-6.3
3.776
QVO
VVS
1
s
VP
153b
xo
3.25
BFN
PRP
CPP
PIF
2.95
1
s
BFN
PGS
61
62
VP
VVR
6
DVS
2
RSN
1
PA
VAE
xo
0.85
POZ
289
0
162
163
ANM
1.004
80
PC
68
PPC
PVS
VBD
VB
2
VV7
QAO
0.00355
32
1
s
if (POD<0) {POJ=PODx3.3}
0.04
DPP
0.00047
16.65
5.007
72
VRC
RBF
31
lower limit 0.3
A3K
DLP
LPK
CPR
VB
17
100.4
284b
DPL
85
17
PC
0.322
4
0.33
11520
288
39
17
VVE
0.007
78
77
2.774
PA
POJ
DP0
79
0
67
PVS
3.7
RVS
1.2
BFM
100
1
286
41
CN2
RV1
1.022
34
AUM
284
POC
2.8
PPD
PVG
BFN
CN7
0.0212
BFM
PGS
PAM
AUM
287
RV1
43
3
37
RAR
AUM
PAM
30.5
RAR
0.1
1
66
1.6379
0.2
1.79
RVS
ANTIDIURECTIC HORMONE CONTROL
RVS
41A
38
36
VIM
PON
20
ANU
AMM
VIM
RAM
96.3
AUM
RAM
1
290
AR2
2.9
40
42
1
POR
1
1
AVE
POK
lower limit 0.2
1
CAPILLARY MEMBRANE DYNAMICS
273
lower limit 0.95
xo
1
s
0.0007
2
AM
1
1
1
1
1
s
AHY
180
181
REK
POV
277
278
179
AH7
AHM
1
1.213
PPC
28
1
178
AHZ
1
NON-MUSCLE LOCAL BLOOD FLOW CONTROL
AR1
184
lower limit 3
2.5
0.025
RFN
PA
100
AOM
1.001
0.14
AH
222
0.001
1.213
AUM
0.9984
0.3333
139
RBF
AOM
AMM
183
182
CN8
CNR
lower limit 0
lower limit 0.35
1
214
CNA
142
176
1
175
CNY
1
40
1
PVO
AHC
1
s
158A
6
AM
AHM
AH1
10u
CNZ
0.1112
ARF
195
0.3
249
EXC
187
6
AHM
221
upper limit 15.0
lower limit 0.4
185
0.0785
0.9882
NOD
215
AAR
40
6
AH2
0.08
512
HM
0.0125
186
AH4
GF3
1.5
243
8
AHM
1
APD
202
196
1
PMO
0.5
VPF
7.992
188
189
220
1
122
2.8
POT
0.009
210
GF4
211
POM
PM5
POT
203
GF3
1
u^3
219
217
1
5
VVE
200
TVD
0.0009088
0.5
250
244
191
0.01
0.301
60
P3O
242
190
GLP
VIM
197
8.0001
234
QO2
0.00333
RMO
57.14
PVO
OVA
TVD
lower limit 0
Z11
AHM
1000
209
PPC
18
31.67
VV7
VV1
62
1
BFN
40
P1O
232
OSA
255
HM
xo
271
272
upper limit
AAR
51.66
251
1
224
1
s
194
4
Z10
1
0.01044
61
241
2400
271
POT^3
u^3
TRR
0.8
198
VV7
lower limit .005
MO2
265
193
STH
8.25
1.031
63
VV6
VV2
AOM
248
STH
0.001103
PFL
EVR
33
POE
8
VUD
lower limit 0.0003
AAR
SRK
252
247
P2O
P2O
upper limit 8
192
POT
8
VUD
208
212
DVS
5
8.0001
1
253
1
2400
Xo
235
256
218
GFR
0.125
0.00781
0.25
-1
0.7
231
225
P40^3
P4O
THIRST AND DRINKING
206
VV7
1
s
199
PM4
1
s xo
BFM
198.5
lower limit 50
236
QOM
GFN
205
200
65
64
230
5
u^3
1
246
POV
RDO
512
267
u^2
RR
AMM
1
s xo
0.15
226
262
254
02A
PK3
39.85
266
237
239
PK1
258
POT
AU
1
lower limit .001
229
5
RMO
5
245
PMO
800
227
POV
268
PM3
240
PK2
259
0.7
261
270
KIDNEY DYNAMICS AND EXCRETION
VASCULAR
STRESS
RELAXATION
260
OSV
168
1
1
s
57.14
02M
269
TISSUE FLUIDS, PRESSURES AND GEL
VTS
ELECTROLYTES AND CELL WATER
Obr. 2: Realizace rozsáhlého modelu A. C. Guytona et al. pomocí softwarového nástroje Simulink © Matworks. Rozvržení, oznaèení
i èíslování jednotlivých blokù je stejné jako na Guytonovì schématu. Rozdíl je ovšem v tom, že toto není pouze obrázek, je to zároveò
i funkèní simulaèní model. Model je k dispozici na adrese www.physiome.cz/guyton.
systémech a kauzální řetězce v patogenezi nejrůznějších
onemocnění.
Z pedagogického hlediska je důležité, že modelovaný
objekt můžeme rozdělit na jednotlivé subsystémy a testovat
jejich chování odděleně i jako součást vyššího celku. Tak např.
při studiu složitých fyziologických regulací můžeme dočasně
odpojit vybrané regulační smyčky a umožnit studentům sledovat reakce těchto subsystémů na změny vstupních veličin
(které jsou v reálném organizmu ovšem samy regulovány).
Tím dovolíme sledovat dynamiku chování jednotlivých
subsystémů při postupných změnách pouze jediného vstupu,
zatímco jiné vstupy jsou nastaveny na zvolenou konstantní
hodnotu (tzv. princip „ceteris paribus“).
Postupně pak můžeme jednotlivé dočasně rozpojené
regulační vazby opět zapojovat a studovat jejich vliv na chování organizmu při nejrůznějších patologických poruchách
a reakcích na příslušnou terapii. Podle našich zkušeností
právě tento přístup vede k lepšímu pochopení složitých
dynamických jevů v patogenezi nejrůznějších onemocnění
a porozumění patofyziologických principů příslušných
léčebných zásahů.
Vývoj efektivních výukových programů, kombinujících
multimédia se simulačními hrami, je náročnou a komplikovanou prací vyžadující týmovou spolupráci řady profesí
– zkušených pedagogů vytvářejících základní scénář, tvůrců
simulačních modelů, lékařů, výtvarníků a programátorů. Tuto interdisciplinární kolektivní tvorbu zefektivňuje
72
využívání vhodných vývojových nástrojů, které umožňují
komponentovou tvorbu, propojení simulačních programů
a interaktivních multimédií podle daného scénáře do kompaktního celku.
TEORETICKÝ ZÁKLAD SIMULAČNÍCH HER
– SIMULAČNÍ MODELY
Při vytváření simulátorů výukových simulačních her je
nutno řešit dva typy problémů:
1. Tvorba simulačního modelu – vlastní teoretická výzkumná práce, jejímž podkladem je formalizace fyziologických vztahů vyjádřená matematickým modelem.
V našem případě byla tato problematika řešena v rámci
výzkumných grantů a výzkumného záměru.
2. Tvorba vlastního multimediálního simulátoru, resp.
tvorba výukového programu využívající simulační hry
– je praktická aplikace teoretických výsledků, která
navazuje na výsledky řešení výzkumu. Podkladem
simulátoru jsou vytvořené (a verifikované) matematické modely.
Pro každou z těchto úloh je vhodné používat adekvátní
vývojářské nástroje. Pro tvorbu simulačních modelů v naší
laboratoři využíváme Simulink a Matlab americké firmy
Mathworks, které nám umožňují postupně sestavovat simulační model z jednotlivých komponent – jakýchsi softwaroČeskoslovenská fyziologie 56/2007 č. 2
vých simulačních součástek, které se pomocí počítačové myši
mezi sebou propojují do simulačních sítí. Tyto sítě svými
vodiči a součástkami na první pohled vzdáleně připomínají
elektronické obvody. Rozdíl je ovšem v tom, že místo elektrických signálů v propojovaných vodičích proudí informace.
V jednotlivých uzlech (sumátorech, integrátorech, násobičkách, děličkách atd.) pak dochází ke zpracování přiváděných
informací a k trasformaci do výstupní informace, která je
rozesílána výstupními vodiči do dalších prvků sítě.
V Simulinku tak můžeme názorně graficky vyjádřit i velmi složité matematické vztahy. Vytvořená síť ovšem není
jen přehledný obrázek. Je to zároveň i funkční simulační
model (viz obr. 2). K jednotlivým vodičů této sítě můžeme
myší připojovat virtuální displeje či osciloskopy. Po spuštění modelu pak můžeme jejich prostřednictvím sledovat
číselnou či grafickou podobu hodnot veličin, které proudí
v jednotlivých vodičích.
OŽIVLÉ GUYTONOVO SCHÉMA
Simulinková schémata jsou velmi obdobná pětatřicet let
staré notaci využité ve výše zmiňovaném rozsáhlém modelu
Guytonovy školy. Rozhodli jsme se proto oživit starý model
prostřednictvím moderního softwarového nástroje. Vnější
vzhled jsme se snažili zachovat zcela stejný jako v původním
obrázkovém schématu – rozložení, rozmístění vodičů, názvy
veličin i čísla bloků jsou stejné (obr. 2). Rozdíl je jen v grafickém tvaru jednotlivých prvků – tak např. násobička a dělička
je v Simulinku realizována čtverečkem (obr. 3b) a nikoli
„prasátkem“ jako v Guytonově notaci (viz obr. 3a). Blok integrátoru zobrazený v Simulinku nemá na sobě grafický znak
integrálu, ale výraz „1/s“ (což souvisí s notací tzv. Laplaceovy
transformace). V simulinkovém modelu jsme využili i přepínače, kterými i za běhu modelu můžeme odpojovat nebo
zapojovat jednotlivé subsystémy a regulační smyčky.
Simulační vizualizace starého schématu ale zdaleka nebyla
úplně snadná – v originálním obrázkovém schématu modelu
jsou totiž chyby. V nakresleném obrázku to nevadí, pokusíme-li se ho ale oživit v Simulinku, pak se chyba projeví,
v lepším případě, neadekvátním chováním modelu, a v horším se model znestabilní, hodnoty proměnných modelu
začnou divoce kmitat a model zkolabuje jako celek. Chyby
byly drobné – přehozená znaménka, dělička místo násobičky,
prohozené propojení mezi bloky, chybějící desetinná tečka
u konstanty atd. – ale stačily na to, aby model nefungoval. Při
znalosti fyziologie a systémové analýzy se na chyby, při troše
námahy, dalo přijít.
Je zajímavé, že tento složitý obrázek byl mnohokrát přetiskován do různých publikací a nikdo si nedal práci tyto
chyby odstranit. Ostatně v době, kdy obrázkové schéma
vznikalo, ještě neexistovaly kreslící programy – obrázek
vznikal jako složitý výkres – a ruční překreslování složitého
výkresu ani zdaleka není snadné. Možné je i to, že autoři
opravovat chyby ani příliš nechtěli – kdo si dal práci s analýzou modelu, snadno obrazové „překlepy“ odhalil, kdo by
chtěl jen tupě opisovat, měl smůlu. Koneckonců, ve své době
autoři rozesílali i zdrojové texty programů svého modelu
NON-MUSCLE OXYGEN DELIVERY
260
OSV
168
0.7
POV
270
5
268
262
POT
512
u^3
-
257
lower limit 50
+
+
+
2688
263
5
P40^3
DOB
264
266
258
POV
39.85
RDO
267
259
261
-
1
xo
-
269
1
s
57.14
02M
256
P4O
MO2
8.0001
265
2400
u^3
271
POT^3
1
s
BFN
40
upper limit 0.6
272
P1O
0.00333
255
HM
x271
o
POT
OVA
200
QO2
2.8
POT
7.992
AOM
1
Obr. 3: Pravý horní roh obrázkového schématu modelu A. C. Guytona (a) a zobrazení modelu v softwarovém nástroji Simulink (b).
Stejnì rozmístìné bloky se stejnými èísly pøedstavují stejné matematické operace. Násobièky a dìlièky: bloky 255, 257, 259, 261,
263, 268 ,272, 270 ; sèítaèky: bloky 256, 258, 262, 264, 266, 269; integrátory: bloky 260 a 271; funkèní mìnièe (kubická funkce):
bloky 265 a 267; omezovaè horní hodnoty: mezi bloky 272 a 286, omezovaè dolní hodnoty: mezi bloky 265 a 180. V Simulinku jsou
navíc pøepínaèe, kterými lze pøepnout vstupní hodnoty pøicházejících do subsystému z ostatních èástí modelu na vstupy zadávané
uživatelem (a odpojit tak subsystém od ostatní èásti modelu).
Československá fyziologie 56/2007 č. 2
73
0.1441
PNa
100.2
29.83
6.25
1189
TubC
Normal proximal
tubule conductance
[ml/min/torr]
RBF
OUTPUTS :
GFR - Glomerular filtration rate [ml/min]
FF - Filtration fraction [relative number]
GP - Glomerulal pressure [torr]
PTP - Proximal tubule pressure [torr]
AVeCOP - Average colloid osmotic pressure [torr]
NETP - Net pressure gradient in glomerulus [torr]
RPF
665.6
0.07
Plasma protein
cnoncentration
[g/ml]
APr
16
GKf
Normal glomerular
filtration coeffitient
[ml/min/torr]
U
GFR
PNa
INPUTS :
RAP - Renal artery pressure[torr]
Affc - Afferent artery conductance [mll/min/torr]
TubC - Proximal tubule conductaqnce [ml/min/torr]
RBF - Renal blood flow [ml/min]
RPF - Renal plasma flow
APr - Plasma protein concentration (in afferent artery) [g/ml]
GKf - Glomerular filtration coeffitient [ml/min/torr]
AffC
3.644
125
GLOMERULUS
RAP
FF
U
U
INPUTS :
PNa - Plasma sodium concentration [mmol/ml]
GFR - GLomerulal filtration rate [ml/min]
LogA2 - Logarithm of plasma angiotensin concentration
[pg/ml]
PrxFNaNorm - Normal value of sodium proximal
fractional reabsorbtion [relative number]
0.1905
GFR
GP
O
60.31
MDNaFlow
PdxNaReab
LogA2
PTP
20.29
AVeCCP
32.21
PrxFNaNorm
OUTPUTS :
MDNaFlow - Sodium outflow [mmol/min]
PdxNaReab - Proximal sodium reabsorbrtion [mmol/l]
PrxFNa - Proximal fractional sodium reabsorbtion
PrxFNa
Calculation of proximal tubule sodium reabsorbtion
NetP
7.811
0.7977
0.8
Normal Na proximal
fractional reabsorbtion
Glomerulus
14.37
MYOGENIC RESPONSE
0.9996
AffC
25.09
EffC
200
RenVenC
Venous conductance
[ml/min/torr]
AP
100.2
7
VP
Vena renalis
pressure
[torr]
0.44
Hct
Hematocrit
0
Renal artery pressure
clamp drop [torr]
Clamp
RAP
RENAL PERFUSION
INPUTS :
AffC - Afferent artery conductance
[ml/min/torr]
EffC Efferent artery conductance
[ml/min/torr]
RenVenC - Renal venous conductance
[ml/min/torr]
AP - Arterial pressure [torr]
VP - Vena renalis pressure [torr]
Hct - Hematocrit [relative number]
Clamp - Renal artery pressure drop
caused by renal artery clamp [torr]
OUTPUTS :
RAP - Renal artery pressure [torr]
RBF - Renal blood flow rate[ml/min]
RPF - Renal plasma flow rate[ml/min]
INPUT :
RAP - Renal artery pressure [torr]
MACULA DENSA
MDNaFlow
AffMyo1
INPUTS :
MDNaFlow - Macula densa sodium flow
[mmol/min]
logA2 - Logarithm of plasma angiotensin
concentration [pG/ml]
MDNorm - Normal macula densa feedback signal
[ratio to normal value]
OUTPUT :
AffC - Myogenic effect [ x Normal]
RAP
Calculation of the myogenic response to changes in renal perfusion
pressure (afferent conductance responds to changes in perfusion
pressure, with pressure increases causing vasoconstriction)
1.005
MDSig
AFFERENT ARTERY
RBF
OUTPUT :
MDSig - Macula densa feedback signal
[ x Normal]
AffMyo
AffC
INPUTS :
AffMyo - Myogenic effect [ x Nomal]
MDSig - Macula densa feedback signal [ x Normal]
AffNorm - Normal conductance in afferent artery [ml/min/torr]
OUTPUT :
AffC - Vascular conductance [ml/min/torr]
RPF
MDSig
Calculation of renal artery pressure and renal blood flow rate
MDNorm
Macula densa feedback signal calculation based on
macula densa sodiumflow and angiotensin concentration
30
AffNorm
1
Normal macula
densa
feedback signal
Normal conductance
of Afferent artery
[ml/min/torr]
Calculates conductance of afferent artery
LogA2
EFFERENT ARTERY
LogA2
EffC
EffC
INPUTS :
LogA2 - logarithm of angiotensin concentration
MDSig - Macula densa feedback signal [ x Normal]
EffNorm - Normal conductance in afferent artery [ml/min/torr]
OUTPUT :
EffC - Vascular conductance [ml/min/torr]
AP
LogA2
1.277
MDSig
25
EffNorm
Calculates conductance of efferent artery
MDSig
Normal conductance
of Efferent artery
[ml/min/torr]
LogA2
Obr. 4: Fragment èásti modelu sestaveného s využitím simulaèních èipù. Na rozdíl od „holých“ simulaèních blokù propojených spoustou èar, je struktura modelu pøehlednìjší.
v programovacím jazyce Fortran – takže pokud někdo chtěl
pouze testovat chování modelu, nemusel nic programovat
(maximálně pouze rutinně převedl program z Fortranu do
jiného programovacího jazyka).
Námi vytvořená Simulinková realizace (opraveného)
Guytonova modelu je zájemcům k dispozici ke stažení na
adrese www.physiome.cz/guyton. Na této adrese je i naše
Simulinková realizace mnohem složitější verze modelu Guytona et al. z roku 1986. Zároveň je zde i velmi podrobný popis
všech použitých matematických vztahů se zdůvodněním.
K dispozici je i výpis zdrojového textu původního modelu
z roku 1986 ve Fortranu.
OD SIMULAČNÍ PAVUČINY
K SIMULAČNÍM ČIPŮM
Spletitá pavučina počítacích bloků oživlého Guytonova
modelu působí sice svou složitostí na první pohled impozantně, pro vlastní práci s modelem je však dosti nepřehledná.
Při výstavbě našich vlastních modelů se nesnažíme stavět
mraveniště bloků prošpikovaných svazky informačních
vodičů, v nichž se uživatel (a nezřídka i sám tvůrce modelu)
velmi snadno ztrácí. Snažíme se proto, pokud to jde, model
dekomponovat do přehledných částí. Využíváme toho, že
jednotlivé části simulační sítě se dají hierarchicky seskupovat
do subsystémů s uživatelsky definovanými vstupy a výstupy,
v masce subsystému se dají vstupy a výstupy stručně popsat.
Na kliknutí je možno k subsystému zpřístupnit i rozsáhlou
74
dokumentaci, kde je možno bez omezení podrobněji popsat
i teoretické pozadí vytvořeného subsystému.
Takto pojaté subsystémy na první pohled připomínají
elektronické integrované obvody, neboť na jednotlivých
„pinech“ těchto „simulačních čipů“ jsou příslušné vstupy
a výstupy, které je možno propojit do sítě s dalšími bloky
a subsystémy (obr. 4).
Důležité je, že nakreslené struktury jsou v prostředí
programu Simulink „živé“ – pomocí počítačové myši lze
na jednotlivé vstupy jednotlivých simulačních čipů přivést
konstantní nebo proměnné hodnoty vstupních veličin a na
výstupech pak snímat v numerickém či grafickém vyjádření
jednotlivé hodnoty výstupních proměnných.
Vnitřní struktura „čipu“ může být při jeho použití zcela
skryta, uživatel musí pouze vědět, jakou vstupní či výstupní
veličinu příslušný „pin“ reprezentuje. Pomocí myši může
uživatel přenést čip z příslušné knihovny do vytvářeného
modelu, kde příslušné vstupy a výstupy propojí. Chování
„čipu“ lze také snadno testovat, stačí k jeho vstupům přivést
příslušné definované průběhy hodnot vstupních veličin
a na jeho výstupy připojit příslušné virtuální osciloskopy či
displeje.
Každý čip může „uvnitř sebe“ obsahovat další propojené „simulační čipy“. Obsáhlý simulační čip tak může mít
poměrně složitou hierarchii. Simulační čipy je možno ukládat do knihoven a opětovně používat v různých modelech.
Tvorba simulačních modelů v biomedicínských vědách je
nezřídka týmová práce. Na jedné straně stojí systémový
analytik – expert na formalizaci a tvorbu simulačních
modelů (teoretický fyziolog, vytvářející formalizovaný popis
Československá fyziologie 56/2007 č. 2
fyziologického systému a testující jeho chování pomocí
simulačního modelu). Na druhé straně často stojí klasický
experimentální fyziolog či klinik, pro kterého je popis
fyziologického systému pomocí diferenciálních rovnic španělskou vesnicí, ale který dokáže snadno rozpoznat, nakolik
odpovídá chování počítačového simulačního modelu biologické realitě.
Podle našich zkušeností může problém dorozumění
mezi těmito dvěma skupinami specialistů zásadně usnadnit
důsledné využívání simulačních čipů při výstavbě simulačního modelu. Znamená to v prvé řadě věnovat důslednou
pozornost dokumentaci. Simulační čipy samy o sobě mohou
být i aktuální elektronickou dokumentací k vytvářeným
modelům. Nejenže v čelní masce simulačního čipu je stručný
popis všech vstupů a výstupů a „vnitřek“ simulačního čipu
Vývoj,
testování
a identifikace
simulačního
modelu
v prostředí
Simulink/Matlab
Přeloženi
identifikovaného
modelu
do C++
Automatizovaná tvorba
ovladače pro virtuální
měřící/řídící kartu
komunikující s aplikací
vytvořenou v prostředí
Control Web
Automatizovaná
tvorba Microsoft
. NET assembly
Vývoj
interaktivníchj
animací v prostředí
Adobe FLASH
Virtuálni
ovladač
(s modelem)
Interaktivní
flashové
animace
. NET
Interaktivní
assembly
flashové
( (s modelem)
animace
Psaní scénáře
výukové aplikace
Ideový návrh
interaktivních sekvencí
obrázků a aplikací
(tzv storyboard)
Vývoj
výukového
simulátoru
VÝUKOVÝ SIMULÁTOR
(platforma Control Web)
VÝUKOVÝ SIMULÁTOR
(platforma Microsoft .NET)
Testování ve výuce
Obr. 5: Vývojový cyklus tvorby výukových simulátorù. Na poèátku
je sestavení scénáøe výukového programu vèetnì návrhu sekvencí obrázkù (tzv. storyboard). Pak následuje tvorba simulaèních
modelù, které budeme využívat v simulátoru, resp. výukovém
programu využívajícím simulaèní hry. Pro tvorbu simulaèních
modelù využíváme vývojové prostøedí Matlab/Simulink od firmy Mathworks. Zároveò vytváøíme pohyblivé animaèní obrázky
v prostøedí Adobe Flash. Odladìný simulaèní model je pak pomocí námi vyvinutého softwarového nástroje automaticky implementován ve formì øadièe virtuální mìøící/øídicí karty do prostøedí Control Web od firmy Moravské pøístroje, v nìmž je vytvoøeno
uživatelské rozhraní. Øadiè virtuální karty, obsahující simulaèní
model, toto prostøedí „ošálí“ – výstupy modelu jsou v prostøedí
Control Web interpretovány jako mìøené signály z technologie
a vstupy modelu jsou interpretovány jako øídicí signály smìøující
do technologického zaøízení. Flashové animace jsou do vytváøené
výukové aplikace umístìny jako Active X komponenty a propojeny se vstupy/výstupy simulaèního modelu. Animace pak mohou
být øízeny simulaèním modelem a do simulaèního modelu mohou
zároveò pøicházet hodnoty vstupù generované interakcí uživatele s flashovou grafikou. Další platformou, kterou využíváme pøi
tvorbì výukových simulátorù je prostøedí Microsoft .NET. Do nìj
umisśujeme jak simulaèní model ve formì automaticky generovaného .NET assembly ze Simulinku, tak i flashovou interaktivní
animaci. Dùležité je otestování výukových simulátorù ve výuce,
které pøináší nové požadavky pro revizi, rozšíøení èi vytvoøení dalších výukových simulátorù.
Československá fyziologie 56/2007 č. 2
graficky reprezentuje síť použitých vztahů, na kliknutí myší
lze u každého softwarového simulačního čipu také otevřít
okno nápovědy s dalším podrobnějším popisem.
Simulační čipy tedy umožňují pečlivě vést aktuální
dokumentaci v elektronické podobě ke každému použitému
subsystému při zachování veškeré funkčnosti. Aby mohl jednotlivé komponenty využívat i ten, kdo danou část modelu
nevytvářel, je podrobná a zároveň přehledná dokumentace
nezbytná a čas strávený nad vypisováním spousty informací
do masek jednotlivých subsystémů reprezentujících simulační čipy se pak zaručeně vyplatí.
Výhodou za trochu té dřiny je porozumění – experimentální fyziolog nemusí rozumět vnitřnímu uspořádání
simulačního čipu, porozumí ale tomu, jaké chování má od
fyziologického subsystému, který čip reprezentuje, očekávat.
Fyziolog je nadto schopen porozumět i struktuře složené
z propojených simulačních čipů – ze struktury modelu
přímo vidí, které veličiny spolu vzájemně souvisejí (a ze
znalosti fyziologie i dovede odhadnout, co a na jaké úrovni
bylo zanedbáno).
OD ROVNIC MODELU
K TECHNOLOGICKÉMU KNOW HOW
V sedmdesátých a osmdesátých letech bylo časté, že autoři
počítačových modelů na vyžádání posílali zdrojové texty
počítačových programů, kterými byly tyto modely realizovány. Dnes se už zdrojové programy rozsáhlých simulačních
programů získávají mnohem obtížněji. Rozvoj výpočetní
techniky totiž umožnil praktické uplatnění simulačních
modelů například v lékařských počítačových trenažérech
a výukových programech využívajících simulační hry.
Biomedicínské modely mají své místo i v technologických
zařízeních – od kapesních počítačů pro sportovní potápěče
až po řídící jednotky v sofistikovaných lékařských přístrojích.
Ze simulačních modelů se tak stává i technologické „know
how“.
V naši laboratoři biokybernetiky se zabýváme tvorbou
simulačních modelů v rámci výzkumu dotovaného z veřejných zdrojů. Proto i struktura námi vytvářených modelů je
veřejná. V rámci výzkumných grantů a rozvojových projektů
jsme mimo jiné vytvořili knihovnu fyziologických modelů
v prostředí Simulink-Matlab ve formě „simulačních čipů“.
Tato knihovna byla vytvořena jako Open-Source produkt,
byla periodicky aktualizována a je k dispozici zájemcům
na našich internetových stránkách (www.physiome.cz/simchips).
TVORBA SIMULÁTORŮ PRO SIMULAČNÍ HRY
Simulační nástroje firmy Mathworks jsou určeny pro specialisty. Pro běžného uživatele, který si chce se simulačním
modelem jen „pohrát“, se příliš nehodí. I když v prostředí
těchto nástrojů je možné naprogramovat poměrně příjemné
uživatelské rozhraní k ovládání vytvořeného modelu, pro
účely uplatnění simulačního modelu ve výuce medicíny je
75
toto rozhraní až příliš komplikované a navíc vyžaduje zakoupení dalších (pekelně drahých) licencí.
Chceme-li vytvořit výukový simulátor, musíme ho zvlášť
naprogramovat v některém z programovacích jazyků, včetně
uživatelského rozhraní simulátoru. Jedním z nezastupitelných komponent výukového simulátoru je i část programu,
která realizuje simulační model. Výsledkem vývoje simulačního modelu (který provádíme s využitím veškerého pohodlí
nástroje Simulink/Matlab) je struktura matematických vztahů – jinak řečeno, soustava rovnic modelu, jejichž řešením
dostaneme takové chování modelu, které se (v zvoleném
rozsahu a v dané přesnosti) blíží chování fyziologického originálu. Známe-li rovnice, pak už zbývá „hlavoruční dřinou“
přetvořit jejich strukturu do podoby počítačového programu
ve zvoleném jazyce.
Pro vytvoření simulátorů využíváme platformu Microsoft
.NET a programovací prostředí Visual Studio .NET.
Aby nebylo nutné ve Visual Studiu .NET „ručně“ programovat již odladěný simulační model, vyvinuli jsme speciální
softwarový nástroj (Kofránek et al., 2005; Stodulka et al., 2006),
který automaticky převede vytvořený model do cílové platformy – tento nástroj automaticky ze Simulinku vygeneruje simulační model ve formě Microsoft .NET assembly (viz obr. 5).
Další platformou, v níž běží simulační hry, je prostředí
Control-Web od firmy Moravian Instruments. Control-Web
je vývojový systém původně určený pro snadný vizuální
návrh řídicích a měřících aplikací v průmyslu s využitím PC,
vybavených speciální měřící/řídicí kartou. My tento nástroj
využíváme jako prostředí pro běh simulačních modelů s tím,
že vygenerovaný řadič virtuální řídicí karty v PC se pro
systém Control-Web tváří jako propojení s průmyslovým
rozhraním – ve skutečnosti však obsahuje simulační model.
Control Web je tak „ošálen“ – pokud systém vysílá nějaké
řídicí signály do průmyslového zařízení, ve skutečnosti
posílá vstupní hodnoty do modelu. Pokud program vytvořený v prostředí Control-Web čte nějaké naměřené signály
z průmyslového zařízení, ve skutečnosti čte výstupní signály
z modelu (obr. 5).
Tímto způsobem se nám podařilo využít veškerou vizualizační sílu tohoto nástroje pro multimediální prezentaci
simulačních modelů ve výuce.
POHYBLIVÉ ANIMACE JAKO LOUTKY
NA NITÍCH SIMULAČNÍCH MODELŮ
Pro vytváření uživatelského rozhraní výukového simulátoru je velmi vhodné simulátor navenek reprezentovat jako
pohyblivý obrázek. Proto simulační model propojujeme
s multimediální animací vytvořenou pomocí Adobe Flash
(Kofránek et al., 2004). Animace pak mohou být řízeny
výstupy implementovaného simulačního modelu a graficky
reprezentovat význam číselných hodnot – např. schematický
obrázek cévy se může roztahovat nebo komprimovat, plicní
sklípek může hlouběji či mělčeji „dýchat“, ručička měřícího
přístroje se může pohybovat a průběžně zobrazovat hodnotu
nějaké výstupní proměnné modelu čtené z běžícího simulačního modelu na pozadí.
76
Na druhé straně můžeme přes vizuální prvky vytvořené ve
Flashi (nejrůznější tlačítka, knoflíky, táhla apod.) do simulačního modelu zadávat nejrůznější vstupy.
V případě složitější architektury může být logika propojení flashové animace a simulačního modelu poměrně složitá,
proto je vhodnější mezi vrstvu vizuálních elementů a vrstvu
simulačního modelu vložit řídicí vrstvu, která na jednom
místě řeší veškerou logiku komunikace uživatelského rozhraní s modelem a kde je ukládán i příslušný kontext. V literatuře se hovoří o tzv. MVC architektuře výstavby simulátorů
(Model – View – Controller).
Toto uspořádání je nezbytné zejména při složitějších
modelech a simulátorech, jejichž uživatelské zobrazení je
reprezentováno mnoha virtuálními přístroji na více propojených obrazovkách. Výhody tohoto uspořádání zvláště
vyniknou při modifikacích jak modelu, tak i uživatelského
rozhraní (obr. 6).
Při návrhu řídicí vrstvy, propojující vrstvu simulačního
modelu s uživatelským rozhraním, se nám velmi osvědčilo využít propojené stavové automaty (jejichž pomocí je
možno zapamatovat příslušný kontext modelu a kontext
uživatelského rozhraní). Vytvořili jsme proto speciální softwarový nástroj, pomocí kterého můžeme propojené stavové
automaty vizuálně navrhovat, interaktivně testovat jejich
chování a automaticky generovat zdrojový kód programu
pro prostředí Microsoft .NET (Stodulka et al., 2006). Tento
Vrstva
uživatelského
rozhraní
Řídicí
vrstva
Vrstva
modelu
Stavový
automat pro
určení kontextu
výstupy
vstupy
Simulační model
Obr. 6: Tzv. MVC architektura pøi tvorbì simulátorù. Mezi vrstvu
modelu a vrstvu uživatelského rozhraní je vhodné vložit øídicí
vrstvu, kam jsou smìrovány veškeré zprávy a události vznikající ve virtuálních pøístrojích uživatelského rozhraní a kam je
zároveò smìrována veškerá komunikace s modelem. V této
vrstvì se øeší veškerý kontext zobrazovaných dat a pøíslušné
požadavky na komunikaci s modelem. Veškerá logika zobrazování a komunikace je pak soustøedìna do jednoho místa, což
podstatnì ušetøí èas pøi modifikacích uživatelského rozhraní
nebo zmìnách modelu.
Československá fyziologie 56/2007 č. 2
nástroj umožňuje zefektivnit programování propojek simulačního modelu s vizuálními objekty uživatelského rozhraní
ve výukovém simulátoru.
SIMULAČNÍ HRY NA WEBU
Další technologický problém, který bylo při tvorbě výukových simulátorů nutno vyřešit, bylo proto nalezení způsobu,
jak včlenit simulátory jako součásti internetových e-learningových aplikací. Při jeho řešení je možno postupovat několika způsoby. Jedním z nich je spouštění modelu na serveru
a na klientský počítač posílat pouze výstupy z modelu. Znamená to ale pro každého připojeného uživatele na serveru
individuálně spouštět jednu instanci simulačního modelu.
Dalším problémem, zvláště u vzdálenějších a pomalejších
připojení, je nezanedbatelné časové zpoždění mezi výstupem
simulačního modelu na serveru a vykreslením výsledku na
počítači klienta. Proto jsme se rozhodli jít spíše cestou spouštění simulačních modelů na počítači klienta.
U jednodušších modelů je možno využít interpetovaný
ActionScript ve Flashi, v němž je naprogramován simulační
model. Složitější simulační modely už ale vyžadují kompilovaný simulátor.
Naše řešení (Stodulka et al., 2006) je zobrazeno na obr. 7.
Uživatel si nainstaluje platformu .NET (pokud ji již nemá).
Dále si na svém počítači nainstaluje speciální klientský program – „dispečer simulačních modelů“. V případě potřeby se
dispečer rozšíří i o runtime pro prostředí ControlWeb, které
zajistí možnost spouštění modelů v tomto prostředí vytvořených. Webová e-learningová aplikace umožní stáhnout
potřebné soubory simulačního modelu a dispečer simulačních modelů je spustí. Dispečer tak funguje obdobně jako
prohlížeč obrázků, jen s tím rozdílem, že místo zobrazení
obrázků spustí simulační program.
INTERNET
ASP .NET
Obr.8: Ilustrativní ukázka doprovodného simulátoru ve výukovém
programu patofyziologie cirkulace.
ZABALENÍ SIMULAČNÍCH HER
DO MULTIMEDIÁLNÍHO VÝKLADU
Jedním z projektů, který vytváříme v naší laboratoři,
je Atlas fyziologie a patofyziologie (viz www.physiome.
cz/atlas). Atlas (Andrlík et al., 2006) je průběžně vytvářená
internetová multimediální výuková pomůcka z oblasti normální a patologické fyziologie, která s využitím simulačních
modelů pomáhá vysvětlit funkci a poruchy jednotlivých
fyziologických systémů.
Simulační hry (obr. 8) jsou součástí e-learningových
multimediálních výukových lekcí, jejichž podkladem je
scénář vytvořený zkušeným pedagogem. Pedagog navrhuje
vysvětlující text a s textem propojené doprovodné obrázky a animace. Animace jsou vytvářeny v prostředí Adobe
Flash v úzké spolupráci pedagoga s výtvarníkem. Text je poté
namluven a synchronizován se spouštěním jednotlivých
animací a s odkazy na simulační hry. Jednotlivé komponenty jsou kompletovány do výukových lekcí. Pro vytváření
a kompletaci multimediálních výukových lekcí využíváme
softwarové prostředí serveru Adobe Connect (dříve Macromedia Breeze).
Adobe Connect
SERVER
Runtime pro běh
simulátorů
vytvořených
v prostředí
Control Web
Simulační
model
stažený
ze serveru
Dispečer
simulačních
modelů
Webová
e-learningová
prezentace
KLIENT
Platforma .NET
Obr. 7: Využití simulaèních modelù v internetových e-learingových kurzech. Dispeèer simulaèních modelù funguje obdobnì
jako prohlížeè obrázkù, jen s tím rozdílem, že místo zobrazení
obrázkù spustí simulaèní program.
Československá fyziologie 56/2007 č. 2
OD ENTUZIAZMU K TECHNOLOGII
A MULTIDISCIPLINÁRNÍ SPOLUPRÁCI
Navzdory tomu, že se využití počítačů ve výuce stalo tématem řady konferencí, odborných i popularizačních článků,
přesto, že hardwarové možnosti i softwarové nástroje dnes již
dospěly do úrovně umožňující vytvářet náročná interaktivní
multimedia, k výraznému rozšíření multimediálních výukových programů ve výuce medicíny zatím nedošlo.
Příčin je několik:
• Za prvé – ukazuje se, že tvorba výukových programů je
podstatně náročnější na čas, lidské i materiální zdroje,
než je obvykle plánováno.
• Za druhé – tvorba kvalitních medicínských výukových
programů vyžaduje týmovou multidisciplinární spolu77
práci zkušených pedagogů, lékařů, matematiků, fyziků,
programátorů i výtvarníků.
• Konečně, pro kreativní propojení různých profesí podílejících se na tvorbě výukové multimediální aplikace,
musí být k dispozici vhodně zvolené vývojové nástroje
(jejichž ovládnutí vyžaduje určité úsilí a čas).
• Nároky stoupají, pokud na pozadí výukového programu
má běžet simulační program umožňující interaktivní simulační hry – ve vývojovém týmu pak musí být
i odborníci, kteří jsou schopni navrhnout, formalizovat
a odladit příslušné modely (lékaři, matematici, fyzici
a informatici).
Domníváme se proto, že nejdůležitějším výsledkem, kterého se nám při vytváření internetového Atlasu fyziologie
a patofyziologie zatím podařilo dosáhnout, je vybudování
multidisciplinárního týmu lékařů, matematiků, programátorů i výtvarníků, který je schopen tyto bariéry překonat.
Projekt Atlasu fyziologie a patofyziologie je otevřený.
Veškeré výukové texty, interaktivní animace a simulační
modely včetně jejich zdrojových kódů jsou k dispozici všem
zájemcům. Jako open-source jsou i veškeré námi vytvořené
podpůrné softwarové nástroje umožňující vygenerování
jádra simulátorů z prostředí Matlab/Simulink a distribuci
simulátorů prostřednictvím internetu. Náš vývojový tým
uvítá spolupráci s dalšími pracovišti na dalším rozšiřování
Atlasu a vytvoření jeho jazykových mutací.
Poděkování:
Práce na vývoji lékařských simulátorů je podporována
grantem MŠMT č. 2 C06031 a společností BAJT servis s. r. o.
LITERATURA
1.
Andrlík M, Kofránek J, Matoušek S, Stodulka P, Wünsch Z, Kripner
6.
T, Hlaváček J. Internetový atlas multimediálních modelů pro vybrané
kapitoly normální a patologické fyziologie člověka. Ukázka předběž-
2.
7.
Maršálek P, Smutek D, Svačina Š. The design and development of inte-
Praha, 2006; 7–12.
ractive multimedia in educational software with simulation games.
Amosov NM, Palec BL, Agapov BT, Jermakova II, Ljabach EG, Packi-
Proceedings of the Seventh IASTED International Conference on
na SA, Solovjev VP. Teoretičeskoje issledovanie fiziologičeskich sistěm.
Computer Graphics and Imaging, Kauai, Hawai, USA 2004; 164–170.
3.
Guyton AC, Coleman TA and Grander HJ. Circulation: Overall Regu-
4.
Guyton AC, Jones CE and Coleman TA. Circulatory Physiology: Car-
ISBN.
8.
lation. Ann. Rev. Physiol., 41,1972, s. 13–41.
diac Output and Its Regulation. Philadelphia: WB Saunders Company,
78
Kofránek J, Maruna P, Andrlík M, Stodulka P, Kripner T, Wünsch Z,
ných výsledků. Medsoft 2006, Zeithamlová M., Agentura Action-M,
Naukova Dumka, Kijev, 1977.
5.
Ikeda N, Marumo F and Shirsataka M. A Model of Overall Regulation
of Body Fluids. Ann. Biomed. Eng. 7, 1979, s. 135–166.
Kofránek J, Andrlík M, Kripner T, Stodulka P. From Art to Industry:
Development of Biomedical Simulators. The IPSI BgD Transactions on
Advanced Research 2, 2005, s. 62–67.
9.
Stodulka P, Privitzer P, Kofránek J, Mašek J. Nové postupy při tvorbě
1973.
simulátorů – inteligentní propojení Matlabu a Simulinku s platformou
Guyton AC. The suprising kidney-fluid mechanism for pressure con-
.NET a tvorba stavových automatů řídících výlsednou aplikaci. Med-
trol – its infi nite gain! Hypertension, 16, 1990, s. 725–730.
soft 2006, Zeithamlová M., Agentura Action-M, Praha 2006, 171–176.
Československá fyziologie 56/2007 č. 2
MEDSOFT 2007
Jiří Kofránek, Stanislav Matoušek, Michal Andrlík: Škola (simulační) hrou využití simulačních modelů acidobazické rovnováhy v e-learningové aplikaci.
In: MEDSOFT 2007, sborník příspěvků, (editor: Milena Zeithamlová),
Agentura Acion M., Praha, ISBN 978-80-867-4200-7, str. 83-92, 2007. Práce
je dostupná na adrese http://www.physiome.cz/references/Medsoft2007a.
pdf.
Škola (simulační) hrou – využití simulačních modelů acidobazické rovnováhy v e-learningových aplikacích
83
ŠKOLA (SIMULAČNÍ) HROU – VYUŽITÍ SIMULAČNÍCH
MODELŮ ACIDOBAZICKÉ ROVNOVÁHY V
E-LEARNIGNOVÉ APLIKACI
Jiří Kofránek, Stanislav Matoušek, Michal Andrlík
Anotace
Simulační hry jsou výhodným pedagogickým nástrojem umožňujícím
názorně vysvětlit komplexní vztahy ve fyziologických regulačních
systémech a projevy regulačních poruch v patogeneze nejrůznějších
onemocnění. Jedním z principů, který pomáhá pochopit význam
jednotlivých regulačních smyček a jejich uplatnění při rozvoji
nejrůznějších onemocnění možnost v modelu rozpojit regulační smyčky
a sledovat jednotlivé původně propojené subsytémy odděleně (tzv.
princip ceteris paribus). Tuto možnost hojně využíváme v
multimediáloním e-learningovém programu vysvětlujícím poruchy
acidobazické rovnováhy. Teoretickým podkladem tohoto programu byly
modely acidobazické rovnováhy o kterých jsme referovali na loňském
Medsoftu. Simulační model byl odladěn a verifikován ve vývojovém
prostředí Matlab/Simulink. Pro tvorbu multimediálních komponent jsme
využili prostředí Adobe Flash, a pro tvorbu vlastní výukovou aplikace
využíváme prostředí Adobe Connect. Aplikace bude součástí
vytvářeného Internetového Atlasu fyziologických modelů.
Klíčová slova
Acidobazická rovnováha, e-learning, krevní plyny, simulační model,
výukové simulátory
1. Úvod
V interaktivních výukových programech využívajících simulační hry
dnes nachází své uplatnění staré Komenského krédo – "škola hrou".
Spojení multimediálního prostředí, sloužícího jako zvukové a vizuální
uživatelské rozhraní, se simulačními modely totiž umožňuje názorně si
"osahat" vykládaný problém ve virtuální realitě. Simulační hrou je možné
bez rizika otestovat chování simulovaného objektu – např. zkusit
přistávat virtuálním letadlem, nebo, v případě lékařských simulátorů léčit
virtuálního pacienta, nebo si otestovat chování jednotlivých částí
J. Kofránek, S. Matoušek, M. Andrlík
84
fyziologických subsystémů. Simulační hry umožňují názorně vysvětlit
komplexní vztahy ve fyziologických regulačních systémech a kauzální
řetězce
v
patogeneze
nejrůznějších
onemocnění.
Spojení
multimediálního interaktivního prostředí se simulačními hrami je
pedagogicky velmi účinným nástrojem výkladu, usnadňujícím studentům
pochopení složité dynamiky
patofyziologických stavů. Jedním z
patologických stavů, jejichž správné pochopení činí studentům medicíny
(ale i některým lékařům) obtíže je problematika poruch acidobazické
rovnováhy vnitřního prostředí. Tato problematika je důležitá pro řešení
řady závažných stavů v akutní medicíně, její správná interpretace je však
provázena řadou problémů. A právě zde může hra se simulačním
modelem významně přispět k pochopení kauzálních řetězců, které vedou
k acidobazickýcm poruchám.
2. Dánská škola acidobazické rovnováhy a "matematické
čarodejnictví" některých zastánců "moderního přístupu" k
acidobazické rovnováze
Acidobazická rovnováha je výsledkem dvou regulovaných bilancí –
bilancí mezi tvorbou a výdejem silných kyselin (ledvinami) a bilancí mezi
tvorbou a výdejem oxidu uhličitého (respirací). Tyto bilance jsou
propojeny prostřednictvím pufračních systémů – bikarbonátového
pufračního systému a nebikarbonátového pufračního systému (který je
tvořen pufračními systémy plazmatických bílkovin, hemoglobinu a
fosfátů). Označíme-li souhrnnou koncentraci nebikarbonátových bazí
jako [Buf-] – ve skutečnosti se jedná o pufrační baze plazmatických
bílkovin, hemoglobinu a fosfátů – pak souhrnná koncentrace bikarbonátů
a nebikarbonátových pufračních bazí tvoří tzv. hodnotu BufferBase [6]:
BB=[HCO3-] + [Buf-]
Velkou část hodnoty BB ovlivňuje koncentrace hemoglobinu – aby bylo
možno srovnávat hodnoty u pacientů, kteří mají různou koncentraci
hemoglobinu, v klinice se počítá z rozdílem skutečné hodnoty BB a její
normální hodnoty (v krvi závislé na koncentraci hemoglobinu) – tento
rozdíl je označován jako tzv hodnota výchylky nárazníkových bazí, neboli
Base Excess (BE):
BE=BB-NBB
Při metabolických poruchách acidobazické rovnováhy (tj. poruchách
bilance mezi tvorbou a vylučováním silných kyselin) dochází k tomu, že
Škola (simulační) hrou – využití simulačních modelů acidobazické rovnováhy v e-learningových aplikacích
85
nadbytek nebo nedostatek silných kyselin je tlumen pufračními systémy,
což vede ke změnám hodnot BB resp. BE.
Respirační systém na to reaguje změnou rychlosti vylučování CO2
což vede ke změnám hladiny CO2 v arteriální krvi a (přes pufrační
systémy) k následným kompenzačním změnám v koncentraci
vodíkových iontů. Pro klinické vyhodnocování poruch acidobazické
rovnováhy byly dánskými autory [5] experimentálně sestaveny
nomogramy, které vyjadřují závislost koncentrace vodíkových iontů [H+],
resp. pH na hodnotě pCO2 a koncentraci hemoglobinu (Hb):
[H+]=Funkce (pCO2, BE, Hb)
Tyto dnes v klinice široce využívané nomogramy byly založeny na
předpokladu normální koncentrace plazmatických bílkovin (které ovlivňují
hodnotu BB). To způsobuje problémy při interpretaci výsledků vyšetření
acidobazické rovnováhy u akutně nemocných pacientů s poruchou
koncentrace plazmatických bílkovin.
Tzv. "moderní přístup" Stewarta a jeho následovníků [2,7,8] k
vysvětlení poruch acidobazické rovnováhy vychází z matematických
vztahů, počítajících koncentraci vodíkových iontů [H] z parciálního tlaku
CO2 v plazmě (pCO2), celkové koncentrace slabých (neúplně
disociovaných) kyselin a jejich bazí ([Buftot]=[Buf-]+[HBuf]) a z rozdílu
mezi koncentrací plně disociovaných kationtů a plně disociovaných
aniontů – tzv. SID (strong ion difference):
[H+]=Funkce (pCO2, SID, Buftot)
K tomuto vztahu (jehož přesný tvar jsme uvedli např. v [x]) ovšem
řada Stewartových následovníků přistupovala jako k "orákulu" – z věcně
správných matematických vztahů se vyvozují nesprávné kauzální
příčiny. Z výše uvedené rovnice např. vyplývá, že při hypalbuminémii
(charakterizované snížením [BufTOT]) je tendence k alkalémii, při
rozředění ECT (a následným snížením SID) dochází k acidémii, při
zakoncentrování ECT naopak k alkalémii (a vysvětlují se tak tzv. diluční
acidózy při podání nadměrného množství fyziologického roztoku, nebo
naopak kontrakční alkalózy, pozorované při některých hypovolemických
stavech). Z toho pak někteří autoři vyvozují, že jednou z prvotních
kauzálních příčin acidobazických poruch jsou změny v hodnotách SID.
Tak např. Sirker a spol. [7[ tvrdí že "pohyb vodíkových iontů přes
membrány (skrze vodíkové kanálky) nemá vliv na jejich aktuální
koncentraci. Přímé odstranění H+ z jednoho kompartmentu nezmění
hodnotu žádné nezávislé proměnné a tudíž i hodnotu koncentrace [H+]…
J. Kofránek, S. Matoušek, M. Andrlík
86
rovnovážná disociace vody vyrovnává jakékoli fluktuace v koncentraci
[H+] a slouží nevyčerpatelným zdrojem nebo výlevkou pro ionty H+".
Obr 1 Hodnota SID v plazmě je v podstatě totožná s hodnotou BB, koncentraci
vodíkových iontů je možno v modelu vypočítat jak z hodnot SID podle Stewarta,
nebo z hodnot BB a koncentrace plazmatických albuminů
3. Bilanční přístup k acidobazické rovnováze
Pro pochopení kauzálních řetězců při poruchách acidobazické
rovnováhy je důležité si uvědomit, že hodnoty SID a BB jsou v podstatě
totožné (obr. 1) a koncentraci vodíkových iontů lze vypočítat jak z hodnot
SID, tak i z hodnoty BB. Proto změny SID jsou v podstatě totožné se
změnami hodnot BB (projevující se změnou hodnot BE). Protože přesun
iontů mezi kompartmenty tělních tekutin je vždy elektroneutrální (s
výjimkou membránových procesů na vzrušivých membránách svalu a
nervové tkáně), jsou přesuny vodíkových iontů či bikarbonátů vždy
doprovázeny přesuny komplementárních iontů.
Tak například při metabolické tvorbě silných kyselin přichází z
buněk do extracelulární tekutiny příslušné množství vodíkových iontů
provázené ekvimolárním množstvím aniontů silných kyselin. Obdobně,
přísuny či ztráty bikarbonátů jsou vždy provázeny ekvimolárními přesuny
doprovodných iontů (např. ztráty bikarbonátů gastrointestinálním traktem
jsou provázeny retencí chloridů v extracelulární tekutině, což vede k
hyperchloremické metabolické acidóze). Pufrační reakce nemění
elektroneutralitu – mohou ale měnit hodnotu SID a BB. Přesunuté
vodíkové ionty nebo bikarbonáty okamžitě reagují s pufračními systémy
a v numericky stejném smyslu mění jak hodnotu BB, tak i hodnotu SID.
Změny hladin iontů charakterizované změnou SID a změny veličin
charakterizujících pufrační kapacitu (změnou BB, resp. BE) jsou proto
duální projevem jednoho a téhož stavu.
Škola (simulační) hrou – využití simulačních modelů acidobazické rovnováhy v e-learningových aplikacích
87
Obr. 2 Acidobazická rovnováha je výslednicí dvou bilancí propojených přes pufrační
systém – bilancí mezi tvorbou a vylučováním oxidu uhličitého a bilancí mezi tvorbou
a vylučováním silných kyselin. Purační reakce sami o sobě nemění elektroneutralitu.
Přesun iontů mezi kompartmenty tělních tekutin je vždy elektroneutrální, proto jsou
přesuny bikarbonátů a vodíkových iontů vždy provázeny přesunem
komplementárních iontů.
Náš bilanční přístup k formalizaci acidobazické rovnováhy
sjednocuje klasické pojetí tzv. "Dánské školy" s kvantitativním pojetím
Stewarta a jeho následovníků - podrobněji jsme o tom referovali na
posledních dvou konferencích MEDSOFT [3,4].
V našem pojetí acidobazickou rovnováhu ovlivňuje dvojí
(regulovaná) bilance: bilance tvorby a výdeje silných kyselin a bilance
tvorby a výdeje oxidu uhličitého (obr 2). Tyto bilance jsou propojeny
prostřednictvím pufračních systémů. Kvantitativně tyto procesy popisuje
simulační model, který umožňuje kauzálně vysvětlit souvislosti poruch
acidobazické, objemové a iontové rovnováhy. Tento model je v pozadí
naší výukové aplikace.
4. Pohyblivé animace jako loutky na nitích výukového
simulačního modelu
Motorem simulačních her jsou simulační modely, které vytváříme
ve vývojovém prostředí Matlab/Simulink od firmy Mathworks. Prostředí
Matlab/Simulink je efektivní nástroj pro návrh, konstrukci a identifikaci
J. Kofránek, S. Matoušek, M. Andrlík
88
simulačních modelů – není to ale prostředí, ve kterém by se realizovaly
vlastní výukové simulátory.
Pro vytváření uživatelského rozhraní výukového simulátoru je velmi
vhodné vstupy a výstupy simulačního modelu vizualizovat jako pohyblivé
interaktivní obrázky. Proto simulační model propojujeme s multimediální
animací vytvořenou pomocí Adobe Flash. Animace pak mohou být
řízeny výstupy implementovaného simulačního modelu a graficky
reprezentovat význam číselných hodnot - např. hladina jednotlivé
komponenty pufru může klesat, podle pH může tekutina měnit svoji
barvu, ručička měřícího přístroje se může pohybovat a průběžně
zobrazovat hodnotu nějaké výstupní proměnné modelu čtené z běžícího
simulačního modelu na pozadí apod.
Na druhé straně můžeme přes vizuální prvky vytvořené ve Flashi
(nejrůznější tlačítka, knoflíky, táhla, ale i třeba pomocí virtuálního
kapátka) do simulačního modelu zadávat nejrůznější vstupy.
Jednou z možností, jak implementovat v Simulinku vytvořené a
odladěné simulační modely do výukových simulátorů, je jejich "ruční"
přeprogramování v jazyku Action Script. Action Script je řídícím jazykem
interaktivních multimediálních komponent vytvořených v Adobe Flash a
proto je pak snadné naprogramovat propojení modelu s příslušnými
multimediálními komponenty. Tak jsme ve výukové aplikaci např. vytvořili
např. některé komponenty pufračního systému plazmy.
Je-li ale model složitější, je jeho "ruční" přeprogramování ze
Simulinku do Action Scriptu velmi pracné. V naší laboratoři ale máme
možnost pomocí speciálně námi vytvořeného konverzního nástroje
automaticky přímo ze Simulinku vygenerovat .NET assembly [9].
Simulační hru pak vytváříme v C#. Flashové animace jsou do vytvářené
výukové aplikace umístěny jako Active X komponenty a propojeny
se vstupy/výstupy simulačního modelu. Animace pak mohou být řízeny
simulačním modelem a do simulačního modelu mohou zároveň přicházet
hodnoty vstupů generované interakcí uživatele s flashovou grafikou.
Další možností implementace simulačního modelu do výukového
simulátoru je využití vývojového prostředí Control Web, původně
určeného k navrhování průmyslových řídících a vizualizačních aplikací (v
tomto prostředí máme např. naprogramován model ledvinných regulací,
o kterém referujeme v jiném článku v tomto sborníku).
5. Závěr
Simulačních hry jsou velmi efektivním nástrojem, který umožňuje
vysvětlit řadu složitých patofyziologických jevů. Ukazuje se, že jedním z
efektivních prostředků využití simulačních modelů je dočasné rozpojení
regulačních smyček a zkoumání chování odpojeného subsystému
Škola (simulační) hrou – využití simulačních modelů acidobazické rovnováhy v e-learningových aplikacích
A
B
C
D
89
Obr 3 Simulační hra s pufračním systémem plazmy, určená k vysvětlení
patogeneze vzniku diluční acidózy. A – pufrační systém plazmy byl odpojen z
regulačních smyček a jeho chování může být sledováno samostatně. B – táhlem
iniciujeme diluci, která rozředí všechny látky, včetně koncentrace vodíkových iontů
a koncentrace CO2. C – stiskem tlačítka rozběhneme pufrační ekvilibraci, která
zvýší koncentraci vodíkových iontů – pH se normalizuje. D – stiskem tlačítka
zapojíme systém do respirační regulace, která udržuje pCO2 na stálé hladině, dané
úrovní alveolární ventilace, koncentrace se zvýší CO2 a následně se zvýší
koncentrace vodíkových iontů – hodnota pH se přesune na kyselou stranu.
samostatně. Jako příklad uvádíme vysvětlení patogenezy diluční acidózy
pomocí simulační hry s pufračním systémem plazmy (obr 3 A-D).
Simulační výukové modely jsou propojeny s výkladovou částí
vytvářenou v prostředí Adobe Connect (dříve Macromedia Breeze).
Výuková aplikace, vysvětlující patofyziologii acidobazické rovnováhy, je
součástí vytvářeného internetového atlasu fyziologie a patofyziologie [1],
který je dostupný na internetové adrese www.physiome.cz.
J. Kofránek, S. Matoušek, M. Andrlík
90
6. Literatura
[1] Andrlík M., Kofránek J., Matoušek S. Stodulka P., Wünsch Z., Kripner
T., Hlaváček J.: Internetový atlas multimediálních modelů pro vybrané
kapitoly normální a patologické fyziologie člověka. Ukázka
předběžných výsledků. Sborník příspěvků MEDSOFT 2006. ISBN 8086742-12-1, str. 7-12
[2] Fencl J., Jabor A., Kazda A., Figge, J.: Diagnosis of metabolic acidbase disturbances in critically ill patients. Am. J. Respir. Crit. Care
162:2246-2251, 2000.
[3] Kofránek J, Andrlík M., Bruthans J.: Modelování přenosu krevních
plynů a acidobazické rovnováhy krve, pp.71-80, Sborník příspěvků
MEDSOFT 2005, ISBN 80-86742-07-5, str. 71-80,
[4] Kofránek J., Andrlík M., Matoušek S.:Bilanční přístup k modelování
acidobazické rovnováhy a přenosu krevních plynů. Sborník příspěvků
MEDSOFT 2006, ISBN 80-86742-12-1, str. 75-81,
[5] Siggaard-Andersen, O.: The pH, log pCO2 blood acid-base nomogram
revised. Scand. J. clin. Lab. Invest., vol. 14, 1962, pp. 598-604.
[6] Singer R.B. and Hastings A.B. An umproved clinical method for the
estimation of disturbances of the acid-base balance of human blood.
Medicine (Baltimore) 27, 223-242. 1948.
[7] Sirker, A. A., Rhodes, A., and Grounds, R. M.. Acid-base physiology:
the 'traditional' and 'modern' approaches. Anesthesia 57, 348-356.
2001.
[8] Stewart P.A. Modern quantitative acid-base chemistry. Can. J.
Physiol. Pharmacol. 61, 1444-1461. 1983.
[9] Stodulka P., Privitzer P., Kofránek J., Mašek J.: Nové postupy v
tvorbě simulátorů – inteligentní propojení Matlabu a Simulinku s
platformnou .NET a tvorba stavových automatů řídících výslednou
aplikaci. MEDSOFT 2006. ISBN 80-86742-12-1, str. 171-176,
Zeithamlová M., Agentura Action-M, Praha 2006.
Poděkování
Práce na vývoji lékařských simulátorů je podporována grantem MŠMT
č.2C06031 a společností BAJT servis s.r.o.
Jiří Kofránek,
Laboratoř biokybernetiky,
Ústav patologické fyziologie 1.LF UK,
128 53 Praha 2
tel: 777-68-68-68
fax:26731 0503
e-mail: [email protected]
MEDSOFT 2007
Jiří Kofránek, Martin Tribula: Control web pro multimediální interaktivní ledvinu.
In: MEDSOFT 2007, sborník příspěvků, (editor: Milena Zeithamlová),
Agentura Acion M., Praha, ISBN 978-80-867-4200-7, str. 93-100, 2007. Práce
je dostupná na adrese http://www.physiome.cz/references/MEDSOFT2007b.
pdf.
Control Web pro multimediální interaktivní ledvinu
93
CONTROL WEB PRO MULTIMEDIÁLNÍ INTERAKTIVNÍ
LEDVINU
Jiří Kofránek, Martin Tribula
Anotace
Vytvořili jsme výukový model základní funkce ledvin, který byl vyvinut v
prostředí Matlab/Simulink. Vytvořili jsme speciální softwarový nástroj,
který ze simulačního modelu z prostředí Matlab/Simulink vygeneruje
řadič virtuální řídící karty s níž je schopen komunikovat systém Control
Web, původně určený pro vývoj průmyslových řídících a vizualizačních
aplikací. Control Web je tak "ošálen" – prostřednictvím řadiče virtuální
řídící karty "se domnívá", že čte data z průmyslového zařízení ale ve
skutečnosti čte výstupy simulačního modelu. Obdobně, Control Web
přes tento řadič posílá signály do průmyslového zařízení - ve skutečnosti
posílá vstupy do simulačního modelu. To nám dalo možnost jednoduše a
rychle vytvořit uživatelské rozhraní výukového modelu v prostředí
Control Web. Vlastní výuková aplikace vyžaduje pro svůj běh speciálně
upravené volně šiřitelné runtime prostředí systému Control Web, které
lze, spolu s vlastním modelem, nainstalovat z Internetu.
Klíčová slova
E-learning, krevní plyny, ledviny, simulační model, výukové simulátory
1. Úvod
Ledviny jsou orgánem, který reguluje vylučování celé škály látek a
tím i jejich hladiny ve vnitřním prostředí. Ledviny jsou velmi složitě
regulovaný dynamický systém. Ovlivňují objem cirkulující krve a tím i
hemodynamické parametry. Na druhé straně změny cirkulace mají svou
odezvu v činnosti ledvin. Pochopení funkce jednotlivých částí ledvin je
důležité např. pro posouzení poruch jejich funkce a vedlejších projevů
diuretické léčby. Simulační hry jsou jedním z účinných prostředků,
usnadňujících pochopení dynamiky složitých regulačních vztahů v
ledvinách. Tvorba e-learningového programu, využívajících simulační hry
s virtuálními (zdravými i nemocnými) ledvinami byla i naším úkolem.
2. Na začátku je matematický model
Simulační modely ledvin jsou jedním z nástrojů interpretace
experimentálních dat. V odborné literatuře byla popsána celá řada
J. Kofránek, M. Tribula
94
modelů ledvin, od jednoduchých až po velmi složité modely, explicitně
zahrnující i model miliónu nefronů, řešených na superpočítači. Pro účely
výukových aplikací jsme zvolili spíše modely se soustředěnými
parametry, jejichž účelem je jejich využití pro vysvětlení obtížněji
pochopitelných partií fyziologie a patofyziologie ledvin. Konkrétně se
jedná o modelování funkce autoregulace glomerulární filtrace a průtoku
krve ledvinami. Modelování tubuloglomerulární vazby a její adaptace na
dlouhodobé podněty. Modelování funkce macula densa a smyčky reninangiotenzin-aldosteron. Modelování funkce protiproudového systému a
Henleho kličky a vlivu hemodynamiky na funkci protiproudového
systému. Modelování vlivu antidiuretického hormonu. Modelování
regulace vylučování draslíku a sodíku. Modelování renální regulace
acidobazické rovnováhy.
Modely vytváříme v prostředí Matlab-Simulink. Jedná se v
podstatě o několik modelů /na různé úrovni složitosti/, které mohou být
využívány v různých simulačních hrách. Rovněž uvažujeme i malé
modely ledvinných subsystémů, které mohou být studovány odděleně
(po rozpojení příslušných regulačních smyček), pro lepší pochopení
funkce vybraného subsystému. Tak je např. možno studovat vliv
rezistencí přívodní a odvodní arterioly, hladiny plazmatických bílkovin,
permeability glomerulární membrány i protitlaku proximálního tubulu na
velikost glomerulární filtrace.
Model je ovšem pouze začátek. Pro výukovou simulační aplikaci ho
musíme převést z prostředí Matlab/Simulink do prostředí
vytvářeného výukového simulátoru a názorně při tom vizualizovat
jeho chování.
3. Vizualizační prostředí pro simulátory
Od simulátoru vyžadujeme velké možnosti vizualizace vstupů a
výstupů modelu (ve formě nejrůznějších přehledných displejů, grafů, či
modelem řízených pohyblivých schémat a animací). Na druhé straně
vlastní model nezřídka bývá výpočetně poměrně náročný. Od nástroje, v
němž budeme vytvářet vlastní výukový simulátor, tedy požadujeme
poměrně protichůdné požadavky: na jedné straně chceme aby
podporoval velké možnosti grafické vizualizace a na druhé straně
vyžadujeme zachování dostatečně velké kapacity procesoru pro
souběžné numerické výpočty.
Obdobné nároky mají systémy pro návrh průmyslových řídících a
měřících systémů (při vykreslování výsledků vizualizace na obrazovce
se nesmí zastavit paralelně běžící výpočet ovládající nějaký průmyslový
proces). Proto jsme se při hledání vhodného nástroje pro tvorbu
Control Web pro multimediální interaktivní ledvinu
95
vizualizací výukových simulačních her poohlédli po nástrojích původně
určených pro vizualizaci průmyslových procesů.
Nástrojů pro design průmyslových aplikací je na světovém trhu
nemálo. Jejich ceny jsou ovšem, na rozdíl od obecných softwarových
nástrojů, zpravidla velmi vysoké. Z těchto (a dalších) důvodů jsme se
poohlédli po domácím výrobci, kterým nakonec byla zlínská akciová
společnost "Moravské přístroje," která vyvíjí systém pro tvorbu
průmyslových aplikací s názvem "Control Web".
4. Virtuální součástky pro virtuální ledvinu
"Svensk kvalitet (till Tjeckiska priser)" – "Švédská kvalita (za české
ceny)", stojí v letáčku skandinávského distributora výkonného
softwarového nástroje z Valašska. Švédové jsou velmi domýšliví na
kvalitu svých výrobků, a pokud o vývojovém nástroji Control Web z dílny
zlínské společnosti Moravské přístroje veřejně prohlašují, že dosahuje
"švédské kvality", je to velké ocenění skupiny tvůrců, kteří na tomto
produktu v potu tváře usilovně pracují již od počátku devadesátých let.
Nyní je jejich úsilí korunováno tím, že jejich programové dílo (jehož
zdrojový text obsahuje více než 2 milióny řádek) nachází úspěšnou cestu
na zahraniční trhy. Poslední verze programu je tak možno vidět v nejen v
anglické, německé či švédské verzi, ale i v "rozsypaném čaji" japonských
znaků.
Control Web je především určen pro vývoj průmyslových
vizualizačních a řídících aplikací na platformě WIN32 - sběr,
ukládání a vyhodnocování dat, tvorba rozhraní člověk-stroj aj. (viz
http://www.mii.cz). Objektově-orientovaná komponentová architektura
zajišťuje vyvíjeným aplikacím široký rozsah nasazení: od prostých
časově nenáročných vizualizací až po řídicí aplikace reálného času, od
jednoprocesorových aplikací až po rozsáhlé distribuované síťové
aplikace.
V průmyslových aplikacích jádro systému Control Web komunikuje
přes ovladač měřící/řídící karty s průmyslovým zařízením. Na jádro
systému je napojena uživatelská aplikace vytvořená pomocí
vizualizačních nástrojů.
Základními stavebními kameny uživatelské aplikace v Control
Webu jsou virtuální přístroje (komunikující mezi sebou pomocí
proměnných a zpráv). Virtuální přístroje představují širokou paletu
zobrazovacích nástrojů - od ručkových měřících přístrojů, přes
nejrůznější škálu grafů až po nástroje pro archivaci zobrazovaných dat a
"hlídací" komponenty, spouštějící reakci na odchylku měřených dat od
definovaného stavu.
J. Kofránek, M. Tribula
96
Každý virtuální přístroj je komponenta, jejíž vlastnosti jsou pomocí
vizualizačních a ovládacích prvků snadno modifikovatelné. Ale nejenom
to – každá komponenta systému má k dispozici mocné programátorské
nástroje, jako jsou lokální proměnné a libovolně definovatelné procedury,
reagující na události.
Pro rychlý vývoj uživatelského rozhraní Control Web poskytuje
velmi efektivní prostředky. Tak např. z palety virtuálních přístrojů je
možno snadno tažením myši vytáhnout potřebný přístroj a umístit ho na
příslušný panel. V interaktivním dialogu je pak možné virtuálnímu přístroji
nastavit hodnoty jeho příslušných atributů, napojit ho na příslušný
"vstupní kanál" ze kterého bude odečítat nějaké hodnoty, nebo naopak
mu vybrat "výstupní kanál" do kterého bude nějaké nastavované hodnoty
posílat, nadefinovat lokální proměnné přístroje, či individuální procedury
přístroje (metody objektu) apod.
Výhodnou vlastností Control Webu je to, že jedním z virtuálních
přístrojů je kontejner pro komponenty ActiveX, který tak představuje
most mezi systémem Control Web a vlastnostmi a metodami (OLE
Automation) ActiveX komponent. To znamená, že do aplikace lze
zabudovat ActiveX komponenty a programově je ovládat - nastavovat jim
vlastnosti a volat metody z procedur jakýchkoliv přístrojů. Můžeme tedy
pomocí programu Adobe Flash MX vytvořit interaktivní výukové
animační obrázky a ty pak uložit jako ActiveX komponenty do kontejneru.
Animace pak mohou být řízeny na základě výstupů implementovaného
simulačního modelu – např. na schematickém obrázku ledvinného
glomerulu se cévy se mohou roztahovat nebo komprimovat, tloušťka
šipky znázorňující velikost glomerulární filtrace se může ztlušťovat či
ztenčovat atd.
Celá výuková aplikace v Control Webu pak může vypadat jako
sada propojených interaktivních obrázků na jejichž pozadí může běžet
dosti komplikovaný simulační model.
5. Jak ošálit Control Web
Měřené hodnoty okolního světa jsou v Control Webu virtuálním
přístrojům zprostředkovány přes vstupní kanály, řídící signály do okolí
mohou virtuální přístroje posílat pomocí výstupních kanálů.
Vstupní a výstupní kanály komunikují s ovladači příslušných
měřících/řídících karet, které jsou propojeny s vnějším technologickým
zařízením. Z něj pak do karet přicházejí měřené signály, které ovladač
přetvoří do příslušných numerických hodnot vstupních kanálů systému
ControlWeb, kde jsou vizualizovány pomocí virtuálních přístrojů
napojených na tyto kanály. Naopak, nastavované hodnoty ve výstupních
Control Web pro multimediální interaktivní ledvinu
97
kanálech jsou ovladačem a řídící kartou přetvořeny na příslušné řídící
signály, které jsou posílány do připojené technologie.
Abychom mohli využít vývojářské pohodlí systému Control Web při
tvorbě simulátorů, musíme použít určitý "úskok". Je nutno v jazyce C++
naprogramovat speciální ovladač, který je schopen komunikovat (přes
softwarové kanály) s objekty systému Control Web. Na rozdíl od
ovladačů ke skutečným měřícím a řídícím kartám však tento ovladač
nekomunikuje s hardwarem těchto karet, ale se simulačním
modelem, který je součástí ovladače. Systém Control Web je tak
"ošálen": vstupní kanály (k měřícím přístrojům) považuje za skutečné
měřené signály někde v technologickém okolí počítače, zatímco ve
skutečnosti to jsou výstupní proměnné simulačního modelu. Výstupní
kanály, odcházející od řídících prvků systému Control Web, nenastavují
přes příslušný ovladač nějaké aktivní prvky technologie, ale mění vstupy
simulačního modelu.
Obr. 1 Virtuální přístroje v průmyslové aplikaci v Control Webu komunikují
prostřednictvím vstupních a výstupních kanálů přes řadič řídící/měřící karty s
propojenou technologií
Vzájemný vztah mezi simulačním modelem ve virtuálním ovladači
a vizualizačním rozhraním systému Control Web je realizován jako klient
- server technologie: v určitých časových okamžicích Control Web
(klient) žádá virtuální ovladač se simulačním modelem (server) o načtení
hodnot ze vstupních kanálů a umožnění změny hodnot výstupních
kanálů.
Vytvořený simulátor vyžaduje, aby na počítači, kde má simulátor
běžet byl nainstalován runtime prostředí Control Web. Pro distribuci
simulátorů prostřednictvím Internetu (včetně potřebného runtimu
J. Kofránek, M. Tribula
98
prostředí Control Web) využíváme speciální program "dispečer
simulačních modelů", o kterém jsem referovali na předminulém Medsoftu
[4].
6. Dřinu strojům!
Jádrem simulátoru je ovladač virtální řídící/měřící karty, který
obsahuje vlastní simulační model. Ovladač je implementován v jazyce C
nebo C++ nebo Modula 2. Jako podklad pro tvorbu využíváme simulační
model, o jehož adekvátnosti jsme se (se vším pohodlím systému
Matlab/Simulink) již přesvědčili.
Pomocí Control Webu a speciálního ovladače s vnořeným
simulačním modelem (psaným v Module 2 a později v C++) jsme např. v
minulosti realizovali implementaci simulátoru fyziologických regulací
simulátoru fyziologických funkcí Golem [2].
Obr. 2 Virtuální přístroje v simulátoru vytvořeném v Control Webu komunikují
prostřednictvím vstupních a výstupních kanálů přes řadič (neexistující) virtuální
řídící/měřící karty se simulačním modelem, který je součástí řadiče. Zdrojový text
programu tohoto řadiče je možné automaticky vygenerovat z modelu,
implementovaném v Simulinku pomocí námi vytvořeného softwarového nástroje.
Control Web pro multimediální interaktivní ledvinu
99
Je ale nutno poznamenat, že programování obdobných speciálních
ovladačů pro systém Control Web je poměrně časové náročná a
úmorná mravenčí práce. Krom toho, při jakýchkoli změnách v modelu
(který vytváříme v pohodlí vývojového systému Matlab/Simulink) je pak
nutno přeprogramovat celý ovladač virtuální karty.
Abychom vývoj ovladačů (a vnořeným simulačním modelem)
usnadnili a nemuseli ho psát v C++ "ručně", vyvinuli jsme speciální
program, který umožní vývoj ovladače automatizovat.
Díky tomu máme nyní možnost ze simulinkového schématu přímo
generovat zdrojový text příslušného virtuálního ovladače v jazyce C.
To nám nyní dává možnost oddělit tvorbu simulačního modelu a
tvorbu simulátoru. Simulační model vytváříme ve vývojovém prostředí,
určeném pro vývoj simulačních modelů – tj. v prostředí Matlab/Simulink,
a pro vývoj vlastního simulátoru využíváme širokou škálu vizualizačních
nástrojů, které nabízí vývojové prostředí Control Web. Propojení mezi
oběma prostředími zajišťuje námi vyvinutý softwarový nástroj, který
převede model vytvořený v Simulinku do podoby ovladače virtuální karty
pro Control Web.
Nyní je snadné při nejrůznějších úpravách simulačního modelu v
prostředí Simulink jednoduše modifikovat ovladač v prostředí Control
Web a vytvořit novou verzi ovladače s novou verzí simulačního modelu.
7. Od umění k průmyslu (při tvorbě simulátorů)
Zdá se, že pomalu končí doba, kdy vytváření výukových programů
bylo otázkou entuziasmu a píle skupin nadšenců. Tvorba moderních
výukových aplikací je poměrně náročný a komplikovaný projekt,
vyžadující týmovou spolupráci řady profesí – od zkušených učitelů,
jejichž scénář je základem kvalitní výukové aplikace, přes systémové
analytiky, kteří ve spolupráci s profesionály daného oboru jsou
odpovědni za vytvoření simulačních modelů pro výukové simulační hry,
výtvarníky, kteří vytvářejí vnější vizuální podobu, až po programátory,
kteří celou aplikaci "sešijí" do výsledné podoby. Aby tato interdisciplinární
kolektivní tvorba byla efektivní, je nutno pro každou etapu tvorby
využívat specifické vývojové nástroje, s dostatečnou technickou
podporou, které umožňují komponentovou tvorbu simulačních modelů,
vytváření interaktivních multimédií a jejich závěrečné propojení podle
daného scénáře do kompaktního celku [3].
Při tvorbě simulátorů v naší laboratoři proto využíváme
Matlab/Simulink pro návrh a odladění vlastního simulačního modelu,
Control Web a Visual Studio .NET pro tvorbu simulátoru (pro
automatizaci převodu modelu z protředí Matlab/Simulink do podoby
assembly v prostředí Microsoft .NET jsme referovali na minulém
J. Kofránek, M. Tribula
100
Medsoftu [5]). Pro vytváření multimediálních interaktivních komponent
uživatelského rozhraní využíváme Adobe Flash, z výsledné interaktivní
animace pak prostřednictvím ActiveX komponent propojujeme se
simulačním modelem (a to jak v simulátorech vytvořených pomocí
Microsoft Visual Studia, tak i v simulátorech vytvořených v Control
Webu).
Obr. 3 Prvotní design simulátoru ledvin má příliš technický ráz
8. Ledvina na síti
Simulátor ledvin je součást internetového atlasu fyziologických
modelů [1], dostupném na www.physiome.cz, který dlouhodobě
vytváříme v naší laboratoři.
Simulátor je určen studentům medicíny a lékařům pro studium
fyziologie a patofyziologie ledvin. Má pomoci pochopit základní funkce
ledvin a kauzální řetězce jejich poruch. Pro usnadnění výkladu model
umožňuje rozpojit některé regulační smyčky s sledovat chování
jednotlivých částí ledvin odděleně. Tak je např. možné sledovat faktory,
Control Web pro multimediální interaktivní ledvinu
101
které ovlivňují glomerulární filtraci a průtok krve ledvinami, modelovat
rozpojenou a propojenou tubuloglomerulární vazbu a sledovat její
postupnou
adaptaci
na
dlouhodobé podněty. Postupným
rozpojováním a zapojováním
regulačních smyček je možné
podrobně
sledovat
funkci
protiproudového systému ledvin,
vliv různých koncentrací sodíku a
draslíku k tubulární moči a v krvi
na chování distálního nefronu při
různých hladinách aldosteronu,
chování ledvin při různých
poruchách
acidobazické
rovnováhy apod.
8. Závěr
Vytvořený simulátor ledviny
v Control Webu je první
implementací s využitím nově
vytvořeného
nástroje
umožňujícího
automatizovaný
převod vytvořeného modelu z
prostředí Matlab/Simulink do
Obr 4 Technický háv simulátoru
vývojového prostředí Control
(připomínající spíše průmyslový velín
než výukový simulátor) mohou setřít Web. Na rozdíl od simulátorů,
v
platformě
interaktivní animace, vytvořené pomocí vytvořených
Adobe Flash, implementované do Microsoft Studio .NET, je nutno
simulátoru pomocí ActiveX kontejneru a na počítači, kde má být simulátor
propojené se simulačním modelem
provozován, instalovat speciální
volně šiřitelný runtime pro systém
Control Web. Rychlost vytváření aplikace je však v prostředí Control
Web nesrovnatelně rychlejší – proto se tento systém hodí především pro
vytváření prvotních prototypů simulátoru. Prvotní design aplikace
vytvořené v Control Webu (s využitím integrovaných vizualizačních
nástrojů) je na první pohled příliš technický. Nicméně, tak jak do ActiveX
kontejnerů instalujeme interaktivní multimediální elementy vytvořené v
Adobe Flash, technický háv uživatelského rozhraní aplikace se ztrácí a
postupně se přeměňuje na obrázky interaktivního počítačového atlasu
fyziologie, který je bližší těm, komu je aplikace určena – studentům
medicíny a lékařům.
J. Kofránek, M. Tribula
102
9. Literatura
[1] Andrlík M., Kofránek J., Matoušek S. Stodulka P., Wünsch Z.,
Kripner T., Hlaváček J.: Internetový atlas multimediálních modelů pro
vybrané kapitoly normální a patologické fyziologie člověka. Ukázka
předběžných výsledků. Sborník příspěvků MEDSOFT 2006. ISBN 8086742-12-1, str. 7-12, Zeithamlová M., Agentura Action-M, Praha
2006.
[2] Kofránek, J., Anh Vu, L. D., Snášelová, H., Kerekeš, R. Velan, T.
(2001): “GOLEM – Multimedia simulator for medical education.” In:
Studies in Health Technology and Informatics., vol. 84. MEDINFO
2001, Proceedings of the 10th World Congress on Medical
Informatics. (V.L. Patel, R. Rogers, R. Haux (Eds.)), IOS Press,
Amsterdam, Berlin, Oxford, Washington DC, 2001, pp. 1042-1046.
[3] Kofránek J, Andrlík M, Kripner T, Stodulka P. From Art to Industry:
Development of Biomedical Simulators. The IPSI BgD Transactions
on Advanced Research 1 #2, 62-67. 2005. New York, Frankfurt,
Tokyo, Belgrad. 2005.
[4] Kofránek J., Andrlík M., Kripner T., Hlaváček J., Stodulka P.: Elearning s výukovými simulačními modely v prostředí Macromedia
Breeze. Sborník příspěvků MEDSOFT 2005. ISBN 80-86742-07-5,
str. 81-88, Zeithamlová M., Agentura Action-M, Praha 2006.
[5] Stodulka P., Privitzer P., Kofránek J., Mašek J.: Nové postupy v
tvorbě simulátorů – inteligentní propojení Matlabu a Simulinku s
platformnou .NET a tvorba stavových automatů řídících výslednou
aplikaci. MEDSOFT 2006. ISBN 80-86742-12-1, str. 171-176,
Zeithamlová M., Agentura Action-M, Praha 2006.
Poděkování
Práce na vývoji lékařských simulátorů je podporována grantem MŠMT
č.2C06031 a společností BAJT servis s.r.o.
Jiří Kofránek
Laboratoř biokybernetiky
Ústav patologické fyziologie 1.LF UK
128 53 Praha 2
tel: 777-68-68-68
fax:26731 0503
e-mail: [email protected]
MEDSOFT 2007
Zdeněk Wünsch, Marcel Matúš, Tomáš Kripner, Jiří Kofránek: Modely regulace
ve fyziologickém praktiku. In: MEDSOFT 2007, sborník příspěvků, (editor:
Milena Zeithamlová), Agentura Acion M., Praha, ISBN 978-80-867-42007, str.225-230, 2007. Práce je dostupná na adrese http://www.physiome.cz/
references/MEDSOFT2007c.pdf.
Modely regulace ve fyziologickém praktiku
225
MODELY REGULACE VE FYZIOLOGICKÉM PRAKTIKU
Zdeněk Wünsch, Marcel Matúš, Tomáš Kripner a Jiří Kofránek
Anotace
Regulace jsou všudypřítomnou složkou organizace životních procesů,
jejich dynamické vlastnosti a chování jsou rozmanité a nezřídka se mění
v závislosti na fyziologických nebo patologických faktorech. Učebnice a
monografie prezentují statická schemata struktur těchto systémů a verbální popis některých jejich funkčních vlastností, ale praktická cvičení
neposkytují téměř žádnou možnost, aby se posluchači mohli cestou experimentu s biologickým originálem podrobněji seznámit s jejich
dynamickými vlastnostmi a se souvislostmi dynamických vlastností regulačních systémů s parametry těchto systémů. Tuto mezeru se
pokoušíme částečně vyrovnat tématikou simulačních experimentů, které
umožňují interaktivní seznámení se základními projevy a způsoby stanovení charakteristik prvků regulačních systémů, s vlivem různých
parametrů obvodu na průběh regulačního pochodu, stabilitu systému
apod. Jsou též uvedeny příklady několika modelů fyziologických systémů. Prezentované sdělení spíš jen v obecné rovině navazuje na
předběžnou verzi ´06 přednesenou na MEDSOFTU v minulém roce.
1 Úvod
Po předchozích realizacích výukových programů v prostředí Control Web
a Macromedia Flash [Wünsch a spol., Medsoft ´04, ´05, ´06 ] uvádíme
další a ucelenější verzi výukového programu na platformě Microsoft
.NET. Poslední změny souvisejí s převedením předběžné koncepce programu ´06 do testovatelné beta verze s doplňky tematiky a úpravami
uživatelského prostředí a použitého softwaru. Cílem zůstává nabídnout
posluchačům možnost „virtuálních“ experimentů v dané tematické oblasti, kdy grafické uživatelské rozhraní umožňuje široké možnosti
komunikace s modelem volbou parametrů systému a vstupních podmínek, sledováním číselných hodnot a grafické reprezentace veličin.
2 Metodika
Projekt se skládá z částí, vyžadující spolupráci více oborů. Fyziolog připravuje scénáře jednotlivých úkolů, tj. promění myšlenku, jakou část
teorie má uživatel na určitém panelu pochopit a podle toho navrhne matematický model v prostředí MATLAB/Simulink a odsimuluje správnost
Z. Wünsch, M. Matúš, T. Kripner, J. Kofránek
226
modelu. Programátor konstruuje rámec, pro běh modelu mimo původní
simulační prostředí a prostředky pro ovládaní a vizualizaci. Vytvoří tak
vhodné grafické uživatelské prostředí. Vizualizační a případně i ovládací
komponenty (např. ve formě interaktivních animací Flash) výtvarně navrhuje a skriptuje grafik.Z prostředí MATLAB/Simulink exportujeme modely
ve formě kódu C++, knihoven DLL nebo .NET assembly. Je to umožněno pomocí toolboxu Real-Time Workshop a propietární šablony
[Stodulka, Privitzer, Medsoft ´06].
Takto vyexportovaný model
model
animace Flash
lze snadno provozovat v hosActiveX
Simulink → C++
titelské aplikaci (typicky Microsoft .NET aplikace). Třída
modelu nabízí metody ke koportlinky
munikaci se vstupně/výstupovládací prvky
vizualizace a
ními porty modelu, k inicializasběr dat
ci a vykonání simulačního
kroku modelu.
Pro další komunikaci modelu
.NET framework
(vstupy a výstupy) s interaktivními prvky rozhraní používame
Obr.1: koncepce propojení komponentů
technológii tzv. portlinků [Stov prostředí Microsoft .NET
dulka, Privitzer, Medsoft ´06].
Portlinky jsou spojovací třídy, které automatizují předávání dat mezi modelem a vizuálními komponentami (graf, tabulka, textový blok,
MediVector – komponenta na nastavení požadované hodnoty, aj.). Vývojovým prostředím pro implementaci výukového programu je Microsoft
Visual Studio .NET. Používají se jak jeho standardní prvky, tak prvky vyvinuté u nás v laboratoři (MediVector, DifferenceGraph, příp. Interaktivní
animace). Simulační modely sestavené a odladěné ve vizuálním prostředí Simulinku jsou odtud automaticky exportovány do .NET assembly
obsahující třídu modelu přímo referencovatelnou z ostatního kódu.
V současné době jsou podporovány modely s fixním simulačním krokem
a výpočetní procedury 1. až 5. řádu. Poslední komponentou výukového
programu jsou interaktivní animace vytvořené nástroji Macromedia Flash, které komunikují s .NET prostředím pomocí ActiveX rozhraní
(koncepci propojení komponent shrnuje obr.1, příklad flash animace viz
obr.2).
3 Téma
Téma ve srovnání s původní koncepcí ´06 se rovněž v obecné rovině
nemění. Regulace mají základní význam pro průběh životních pochodů a
jsou všudypřítomnou složkou jejich organizace. Struktura a dynamické
Modely regulace ve fyziologickém praktiku
227
vlastnosti biologických regulačních systémů jsou velmi rozmanité, popř. i
proměnlivé jak za fyziologických tak i patologických podmínek. Učebnice
a jiné odborné texty prezentují statická schemata těchto systémů a
eventuálně verbální popis jejich funkčních vlastností, ale běžná praktika
neposkytují téměř žádnou možnost, aby si posluchači mohli
v experimentu s biologickým originálem ověřit jejich dynamické vlastnosti, účinky různých poruchových vlivů a změn parametrů systému na
chování regulované veličiny apod. Projekt má přispět k překlenování
těchto omezení. Počítačové simulace (nebo imitace) v praktické výuce
biomedicínských témat se opírají o současný metodický aparát systémových věd a jim odpovídající
způsob vědeckého myšlení a
k tomu se posluchač medicíny
dostává jen sporadicky, pokud
vůbec. Přitom právě složitost
biologických systémů a jejich
funkčních vlastností byla jedním
z hlavních motivů, který startoval
současný vývoj systémových
věd v polovině minulého století.
Systémové vědy sice nejsou explicitní
součástí
lékařského
studia, ale např. v odborné biomedicinské literatuře je řada
témat, která se bez znalostí
umožňujících porozumění maa
počítačovým
Obr.2: Použití interaktivní animace mecha- tematickým
modelům neobejdou (např. aplinické analogie při výkladu dynamikých
systémů
kovaná biokybernetika, computational neuroscience aj.). Předpokládáme, že prostřednictvím uvažovaných interaktivních počítačových
modelů lze realizovat praktikum, které posluchači zprostředkuje nejen
něco virtuální empirické zkušenosti s některými základními vlastnostmi
regulačních systémů, ale současně i něco elementárního z formulace
počítačových modelů a teorie regulace. Praktikum je tak možno brát
jako dílčí příklad jedné části metodologie biokybernetiky, jejíž předmětnou oblastí jsou ovšem nejen jednoduché regulační systémy, ale
všechny složitější a složité dynamické systémy živých soustav jejichž
součástí jsou regulační obvody, včetně těch s emergentními vlastnostmi.
Z. Wünsch, M. Matúš, T. Kripner, J. Kofránek
228
4 Struktura programu
Celý program je strukturovaný do jednotlivých panelů, které jsou seřazené za sebou v posloupnosti, reprezentující narůstající náročnost.
Všechny úkoly (panely) můžeme seřadit do následující struktury:
4.1 Úvod (panel 0)
Úvodní obrazovka obeznamuje
uživatele se záměrem programu a
s ovládacími prvky programu.
4.2 Prvky regulačných systémů
(panely 1. – 4.)
Obr.3: Použití některých prvků regulačních systémů
V této skupině úkolů si uživatel vyzkouší působení různých vstupních
průběhů na volitelné typy jednoduchých dynamických prvků a zjišťuje
odpovídající charakter a rozdíly
v odezvách. V následujících panelech se seznamuje s používanými
postupy při stanovování statických
a dynamických charakteristik, se
zobrazením průběhů ve fázovém
prostoru, s jednoduchými lineárními systémy s použitím přenosu. Na
obr.3 je znázorněný panel s jednoduchými systémy, který umožňuje
demonstrovat vliv vstupního signálu na přenos systému a vliv
integrační a derivační složky, případně nelineárního omezení. Na
obrázku je simulován vliv parametrů na systém 2.řádu.
4.3 Systémy se zpětnou vazbou
– regulace (panely 5.1 a 5.2)
Obr.4: Varianty systémů se zpětnou
vazbou
Základní struktura systému se zápornou zpětnou vazbou je umístěna ve dvou panelech, které mají širokou škálu možností nastavení.
Uživatel má na začátek k dispozici lineární regulovaný systém
Modely regulace ve fyziologickém praktiku
229
s proporcionálním regulátorem. Může si k tomu přidat jeden z P, PI, PD a
PID regulátoru, vyzkoušet vliv žádané hodnoty a dopravního zpoždění.
Dále je možnost zapojit do zpětné vazby dynamický prvek. Na obr.4 je
demonstrován vliv PI regulátoru a žádané hodnoty (v našem případě měla hodnotu 1) na systém 1.řádu, který má na vstupu šum. (Na příkladu je
patrné, jak se regulace snaží udržet výstup u žádané hodnoty 1).
4.4 Modely fyziologických regulačních systémů (panely 6 10)
Obr.5: Model enzymatického systému
s násobnými vazbami
Fyziologické regulační systémy se
mohou nezřídka odlišovat strukturou a/nebo chováním od systémů
uvedených na předchozích panelech (mají však vždy alespoň jednu
zápornou zpětnou vazbu). Příkladem mohou být vícenásobné
zpětné vazby, dopředná vazba, parametrická
zpětná
vazba,
antagonistické vazby aj. Některé
z jed-nodušších variant
ilustruje
několik modelů umožňujících interakci volbou hodnot parametrů
(výstupy některých těchto modelů
jsou na obr.5 a obr.6), některé
další jsou pak popsány v poslední
výkladové části programu.
5 Závěr
Připravovaný výukový program nabízí široké spektrum simulačních
experimentů v tématické oblasti,
která je jinak obtížně, pokud vůbec,
realizovatelná v praktických cvičeních na biologickém objektu.
Zprostředkovává uživateli i něco
málo z některých obecně využitelných
koncepcí,
termínů
a
Obr.6: Rovnovážny bod systému (žádaná metodických nástrojů, které jsou
hodnota) jako průsečník statických cha- základem formulace a různých forakteristik (regulace Pco2 podle Millhorna)
rem uplatnění biokybernetických
Z. Wünsch, M. Matúš, T. Kripner, J. Kofránek
230
modelů. Využívá předchozích zkušeností novějšího a vhodnějšího softwaru pro realizaci podobných interaktivních simulačních programů,
doc. MUDr. Zdeněk Wünsch, CSc., Marcel Matúš
Laboratoř biokybernetiky a počítačové podpory výuky
Ústav patologické fyziologie 1. LF UK
e-mail: [email protected], [email protected]
6 Literatura
[1] Wünsch Z., Dostál C., Veselý A. Základy lékařské kybernetiky. Avicenum, Praha 1977
[2] Milhorn H. T. The application of control theory to physiological systems. Saunders Co., Philadelphia 1966
[3] Kubík S., Kotek Z., Šalamon M. Teorie regulace. I.Lineární regulace.
SNTL, Praha 1974
[4] Khoo M. C. K. Physiological control systems. IEEE Press, New York
2000
[5] Glass L., Malta C.P. Chaos in multi-looped negative feedback systems. J. theor. Biol. 1990, 145, 217-223
[6] Cavalcanti S., Belardinelli E. Modeling of cardiovascular variability
using differential delay equation. IEEE Transactions on biomedical
engineering, 1996, 43, 982-989
[7] Wünsch Z., Šefl O. Einige allgemeine Möglichkeiten der Kooperation
in antagonistischen Systemen. In: Biokybernetik, vol. V, 342-349,
G.Fischer, Jena 1975
[8] Troelsen A. C# a .NET 2.0 profesionálně. Zoner Press, 2005
[9] The MathWorks. Real-Time Workshop. Online:
www.mathworks.com/products/rtw/
[10] Wünsch Z. Principy fyziologických regulací. Lékařská fyziologie
(17.kapitola v: Trojan a kol.), GRADA Pub., Praha 2003
[11] Ashby W. R.: Design for a brain. J.Wiley, New York 1952
Poděkování
Práce na vývoji lékařských simulátorů je podporována grantem MŠMT
č.2C06031 a společností BAJT servis s.r.o.
Sborník příspěvků z konference eLearning 2007
Stanislav Štípek, Čestmír, Štuka, Jiří Kofránek, Pavol Privitzer, Tomáš Nikl:
Metodika e-learningu: Od jednoduchého ke složitému a zpět. In: Sborník
příspěvků z konference eLearning 2007. Gaudeamus, Hradec Králové, ISBN
978-80-7041-573-3, str. 156-164, 2007. Práce je dostupná na adrese http://
www.physiome.cz/references/elearning2007.pdf.
METODIKA E-LEARNINGU : OD JEDNODUCHÉHO KE
SLOŽITÉMU A ZPĚT
Stanislav Štípek, Čestmír Štuka, Jiří Kofránek, Pavol Privitzer, Tomáš Nikl
Abstrakt
Cílem prezentace je ukázat různé stupně komplexnosti elektronických výukových
aplikací tak jak byly postupně implementovány na 1. lékařské fakultě Univerzity
Karlovy. V současné době jsou na 1. lékařské fakultě intenzivně rozvíjeny dva směry elearningu. Směr mířící od animací k interaktivním modelům a simulačním hrám, a směr
mířící od pasivní percepce, ke komunikaci s programem, s tutorem, až ke komunikaci
v sociální skupině. V naší prezentaci ukážeme několik konkrétních realizovaných
projektů spolu s jejich zařazením do jednotlivých vývojových kategorií v uvedených
směrech. Rovněž se budeme snažit ukázat možnosti a omezení nástrojů, které
v současnosti používáme na realizaci e-learningových projektů. Budeme se zabývat i
personální a finanční náročností jednotlivých postupů. Účelem našeho snažení je
z pohledu uživatele zjednodušit aplikace tak, aby bylo naplněno Komenského heslo
„Škola hrou".
Klíčová slova
animace, interaktivní modely, Breeze, Adobe Connect, simulační hry
OBSAH
1. Rozvoj e-learningu na 1. LF UK Praha ........................................................................ 1
2. LMS - nezbytná součást e-learningu ............................................................................ 2
3. Internetový atlas fyziologie a patofyziologie člověka.................................................. 3
3.1 Tvorba simulačních modelů ................................................................................... 4
3.2 Tvorba vlastního multimediálního simulátoru - simulační hry .............................. 5
3. Od jednoduchého ke složitému a zpět .......................................................................... 6
1. Rozvoj e-learningu na 1. LF UK Praha
Rozvoj e-learningu na 1. LF UK Praha prošel prvním obdobím, kdy bylo potřeba sebrat
velké množství výukových materiálů, rozptýlených mezi jednotlivé vyučující a učinit
z nich materiály dostupné v nějakém logickém konceptu pro studenty.
K tomu účelu se ukázal nejvhodnější výukový portál, jaký provozovala LF MU v Brně
(http://portal.med.muni.cz/). Jeho obdoba byla s úspěchem spuštěna na naší fakultě a
představuje úložiště a rozcestník pro hledání fakultních výukových materiálů. Efektivní
vyhledávání dokumentů podporuje systematické užívání klíčových slov k popisu
dokumentu a zatřídění všech dokumentů do taxonomie podle lékařských oborů
(http://portal.lf1.cuni.cz/).
Paralelně s tím, byl zaváděn systém pro tvorbu a správu výukových kurzů (Learning
Management Systém - LMS) o kterém bude podrobně pojednáno v následující kapitole.
Z praktického hlediska byl vybrán velmi jednoduchý systém, který nevytváří vysoký
práh, což je podstatné zejména vzhledem k potřebě zapojit velké množství autorů
156
výukových materiálů bez zvláštních znalostí informatiky. Pro ty je LMS systém
navazující na PowerPoint vítanou zkratkou do jinak nedostupné krajiny e-learningu.
2. LMS - nezbytná součást e-learningu
První lékařská fakulta Univerzity Karlovy v Praze zavedla pro podporu e-learningu a
distančního vzdělávání LMS systém Adobe Connect (AC) dříve známý pod jménem
Breeze. Tento LMS podporuje interakce mezi uživateli a současně používání
multimédií, jakými jsou: proudový přenos zvuku a obrazu, přenos interaktivních prvků
jako kreslení na sdílenou tabuli, hlasování, diskusi, sdílení dat a další.
Ve zvoleném LMS systému tak lze vytvářet on-line prezentace, real-time
(video)konference i výukové materiály. Předpokladem širšího rozvoje e-learningu je,
aby autoři byli schopni samostatně používat kreativní nástroje pro tvorbu kurzů. Kurzy
pak mohou tvořit ucelené bloky nebo samostatné výukové objekty, které je možné spojit
do větších celků a vytvářet tak rozsáhlé studijní plány. Výhodou LMS AC je použití
aplikace Microsoft PowerPoint (s doplňkovým modulem) jako základního vývojového
prostředku. V něm lze snadno vytvářet a díky LMS i distribuovat aplikace velmi široké
skupině uživatelů v horizontu hodin. Serverová část LMS AC pak zajišťuje distribuci
výukových materiálů a vyhodnocování výsledků.
AC poskytuje profesionální úroveň komunikace ve dvou hlavních operačních modech:
•
•
Jako web-konference, virtuální seminář, sdílení pracovní plochy a aplikací
v reálném čase, přenos živého zvuku, obrazu a dat.
Jako přístup k multimediálnímu obsahu (prezentací, kurzů, testů) na vyžádání.
Velkou výhodou je, že AC na straně uživatele stojí na technologii Flash Player, který je
nainstalován na 97% k internetu připojených počítačů (zdroj: NPD Group 2006) a je na
platformě nezávislý.
Moduly LMS Adobe Connect
Training modul pro přípravu a správu
kurzů v požadované struktuře
a vyhodnocování souvisejících testů.
Events modul určený k organizaci on-line seancí
a k automatizaci rozesílání pozvánek a notifikací
jednotlivým přizvaným účastníkům.
Presenter zásuvný modul do Microsoft
PowerPoint pro multimediální přípravu
a publikování prezentací, testů.
Meeting modul pro pořádání on-line konferencí
a seminářů, sdílení plochy, souborů.
Communication Server základní modul zprostředkující on-line komunikaci, administraci,
správu a sdílení obsahu.
LMS umožňuje kromě PowerPointu vkládat také řadu jiných objektů s nejrůznějšími
formáty a jejich vzájemnou kombinací lze dosáhnout překvapivých výsledků. Jde o tyto
objekty: Flash animace a interaktivní hry (swf), audio a video nahrávky, 3D objekty
transformované pomocí nástrojů Adobe Acrobat (pdf), simulace a postupy snímané
157
pomocí Adobe Captivate, text v dokumentech PDF, textové dokumenty z aplikace MS
Word a jiné dokumenty převedené pomocí virtuální PDF tiskárny, obrazy ve formátech
JPG, GIF, PNG, HTML soubory a ZIP soubory.
Aktuální obsah LMS 1. LF UK je dostupný na adrese: http://connect.lf1.cuni.cz/
Díky LMS Adobe Connect a aplikaci PowerPoint bylo možné v poměrně krátké době
(cca 6 měsíců) studentům nabídnout přes 160 přednášek a prezentací. V současnosti se
na tvorbě obsahu výukových objektů podílí více než 30 institucí a ústavů 1. LF.
E-learning na 1. LF UK eskaluje od pasivní percepce, ke komunikaci s programem,
s tutorem, až ke komunikaci v sociální skupině. Markantního vývoje doznává i
komplexnost používaných výukových prostředků. Mezi nejvyspělejší výukové
prostředky patří interaktivní simulační aplikace - simulační hry, kterým zvláštní
pozornost věnuje následující kapitola.
3. Internetový atlas fyziologie a patofyziologie člověka
V současné době vzniká na Ústavu patologické fyziologie 1.LF UK internetový atlas
fyziologie a patofyziologie [1]. Cílem projektu je vytvoření internetové multimediální
výukové pomůcky pro studijní programy lékařských fakult (magisterské i bakalářské
studium) z oblasti normální a patologické fyziologie, který by názornou cestou
prostřednictvím internetu pomohl vysvětlit funkci jednotlivých fyziologických systémů
a příčiny a projevy jejich poruch.
Atlas má multimediální výkladovou část, která prostřednictvím pohyblivých názorných
animací a mluveného slova uvádí do fyziologické problematiky. Má také praktickou
část, která využívá simulačních her na praktické seznámení se s fyziologickou
(virtuální) realitou. Spojení multimediálního výkladu se simulačními hrami umožňuje
názorně a komplexně pojmout vykládaný problém jak teoreticky tak i prakticky ve
virtuální realitě. Simulační hrou je možné bez rizika otestovat chování simulovaného
objektu – např. si otestovat chování jednotlivých částí respiračního systému, oběhového
systému, vylučovacího systému apod.
Pro podrobnější popis toho, co všechno je „za oponou“ tvorby atlasu, odkazujeme na
články [1,2]. I když si tvorba výkladové části atlasu zasluhuje také velkou pozornost,
z důvodu omezeného místa článku se v dalším textu zabýváme zejména tvorbou
simulačních her jako tou komplexnější částí atlasu.
158
Při vytváření lékařských simulátorů je nutno řešit dva typy problémů:
1. Tvorba simulačního modelu – vlastní teoretická výzkumná práce, jejímž
podkladem je formalizace fyziologických vztahů vyjádřená matematickým
modelem. V našem případě byla tato problematika řešena v rámci výzkumných
grantů a výzkumného záměru.
2. Tvorba vlastního multimediálního simulátoru, resp. tvorba výukového programu
využívající simulační hry – je praktická aplikace teoretických výsledků, která
navazuje na výsledky řešení výzkumu. Podkladem simulátoru jsou vytvořené (a
verifikované) matematické modely.
3.1 Tvorba simulačních modelů
Teoretickým podkladem v pozadí lékařského simulátoru je model lidského organismu,
resp. nějakého jeho subsystému. Tematika projektu využívá výsledků na našich
pracovištích řešené výzkumné problematiky - vytváření formalizovaného popisu
fyziologické reality - tj. převedení popisu biologické reality a příslušné sítě vztahů
z čistě slovní deskripce na formalizovaný popis v jazyce matematiky - fyziky. Je třeba
poznamenat, že tato problematika je poměrně nová, protože z důvodů složitosti a
komplexnosti biologických systémů byl proces formalizace biomedicínských systémů
ve srovnání s jinými obory, např. s fyzikou, relativně opožděn a přichází až
s kybernetikou a výpočetní technikou. Tak jako teoretická fyzika se snaží interpretovat
výsledky experimentálního výzkumu ve fyzikálních vědách, tak i nový fyziologický
směr základního výzkumu, nazývaný někdy integrativní fyziologie, se snaží o
formalizovaný popis vzájemného propojení fyziologických regulací.
Metodickým nástrojem jsou zde počítačové modely. Aktivity v této oblasti se snaží
koncentrovat i mezinárodní projekt PHYSIOME (http://www.physiome.org). Jeho
výsledkem jsou simulační modely fyziologických funkcí. V současné době je také
koncipován celoevropský projekt EUROPHYSIOME (http://www.europhysiome.org),
do jehož přípravy se na základě dosažených výsledků chceme zapojit.
Pro návrh, ladění a implementaci
simulačních modelů jsme použili
modelovací vývojové prostředí Matlab Simulink firmy Mathworks, které
nám umožňuje postupně sestavovat
simulační model z jednotlivých
komponent (tzv. simulačních čipy).
Při řešení rozvojového programu
jsme tak vytvořili knihovnu fyziologických modelů, která je teoretickým podkladem pro vytváření
výukových simulačních her (obr. 1).
Obr. 1 Ukázka části simulačního modelu kardiovaskulárního systému v Matlab Simulink-u.
159
3.2 Tvorba vlastního multimediálního simulátoru - simulační hry
Odladěný simulační model se pak z prostředí Matlab Simulink převede do cílové
softwarové platformy, ve které se sestaví výslední aplikace simulátoru. Na uvedený
převod jsme vyvinuli speciální nástroje. V dnešní době používáme pro výsledné
aplikace zejména platformu Microsoft .NET Framework. Z odladěného simulačního
modelu se tak stane tzv. .NET assembly (jeden soubor .dll), která je úplně nezávislá na
Matlab Simulink-u [3,4].
Uživatelské rozhraní výukového simulátoru je velmi vhodné navenek reprezentovat jako interaktivní pohyblivý
obrázek. Pro tento účel používáme
Adobe Flash animace (obr. 2), které se
uvnitř aplikace propojí se simulačním
modelem. Animace pak mohou být
řízeny výstupy modelu a graficky reprezentovat význam číselných hodnot např. schematický obrázek srdce může
„tepat“, plicní sklípek může hlouběji či
mělčeji "dýchat", ručička měřícího přístroje se může pohybovat a průběžně
zobrazovat hodnotu nějaké výstupní
proměnné modelu čtené z běžícího simulačního modelu na pozadí apod. Na
druhé straně můžeme přes vizuální
prvky vytvořené ve Flash-i (tlačítka,
knoflíky, táhla apod.) do simulačního
modelu zadávat nejrůznější vstupy.
V případě složitější logiky simulátoru je
jeho řídící vrstva implementována
pomocí
hierarchického
stavového
automatu. Vyvinuli jsme vlastní nástroj
pro vizuální návrh těchto automatů,
jejich ladění a generování jejich
zdrojového kódu, který se stane součástí
výsledné aplikace. Výhodou použití
hierarchických stavových automatů je
především v možnosti graficky zobrazit
logiku aplikace a jednoznačně a
přehledně definovat přechody mezi
jejími stavy. V našem nástroji je zároveň
možné přímo definovat řídící akce
vyvolávané v závislosti na aktuálním
kontextu simulační aplikace (obr. 3).
Obr. 2 Ukázka návrhu řízené animace
srdce v prostředí Adobe Flash
Obr. 3 Hierarchický stavového automat
pro simulační hru první pomoci
160
Výsledná simulační aplikace (obr. 4)
je nakonec sestavena v rámci jediné
softwarové platformy, kterou je
v současné době hlavně .NET
Framework, který umožňuje poměrně jednoduchou instalaci-spouštění
aplikací přímo z webu prostřednictvím technologie ClickOnce. Pro
jednodušší simulátory je někdy postačující i samotný Flash, kterého
výhoda je jeho výborná přenositelnost na prakticky všechny operační
systémy; .NET Framework svým
konceptem ovšem také slibuje
velkou přenositelnost.
Obr.4 Ukázka simulátoru srdečních fází
Jak je z výše popsaného patrné, je možné vytvořit jednoduché až velmi komplexní
výukové objekty. Finanční náklady a personální náročnost je proto velice rozdílná.
Především náročnější aplikace typu simulačních her (projekt Atlas) vyžadují sestavení
mutlidisciplinárního týmu složeného z pedagogů, lékařů, matematiků, fyziků,
programátorů i výtvarníků (což je také jeden z velmi důležitých výsledků projektu
Atlas). Aby tato interdisciplinární kolektivní tvorba byla efektivní, je nutno pro každou
etapu tvorby využívat specifické vývojové nástroje, s dostatečnou technickou podporou,
které umožňují komponentovou tvorbu simulačních modelů, vytváření interaktivních
multimédií a jejich závěrečné propojení podle daného scénáře do kompaktního celku.
Naproti tomu náklady na pořízení jednoduchého výukového objektu, např. ozvučené
prezentace, jsou relativně nízké. Vyžadují především aktivní přístup pedagoga,
všeobecně dostupné nástroje výpočetní techniky a poměrně krátký čas na zpracování
takového objektu. Za nízké lze považovat také provozní náklady LMS serveru AC
vzhledem k počtu uživatelů a poměru výkonu a ceny.
Hardwarové možnosti i softwarové nástroje dnes již dospěly do úrovně umožňující
vytvářet náročná interaktivní multimediální díla, která je možno efektivně využít
k výrazné podpoře výuky medicínských oborů.
4. Od jednoduchého ke složitému a zpět
S rostoucími zkušenostmi z elektronicky podporované výuky se do popředí začala
dostávat otázka efektivity a formy výukového procesu. Ukazuje se, že pasivní formy
předávání informace (i když jsou lepší než nic) jsou málo účinnou formou jak potřebné
informace ke studentovi dostat. Účinnost tohoto přenosu roste s interaktivitou média –
od textu, přes hypertext, video, ozvučené video, animace až ke hrám, jejichž
interaktivita je v tomto pohledu maximální.
Podobně jako roste efektivita výukového procesu s interaktivitou média, roste rovněž
s mírou sociální interakce. Nebo přesněji mírou aktivního zapojení v procesu výuky.
Běžně jsou tři stupně aktivity popisovány jako tři paradigmata e-learningu [1].
161
Komplexnost
média
1. paradigma e-learning jako e-reading: kurz je založen především na prezentaci (i
multimediálních) učebních materiálů, preferujeme především nástroje pro prezentaci a
publikování vytvořených vzdělávacích objektů.
2. paradigma celebrity profesor: tento typ kurzů bývá postaven na osobnosti tutora
kurzů, který vede studenty v průběhy celého kurzu. Důraz je zde proto kladen na
komunikační prostředky a možnosti on-line komunikace (chat, videokonference).
3. paradigma konstruktivismus: cílem těchto kurzů je vytvořit z účastníků kurzů určitou
virtuální komunitu, v rámci níž jsou potom nové znalosti aktivně konstruovány a
vytvářeny při interakci studentů navzájem pod vedením tutora. Ve velkém míře se zde
uplatní nástroje pro řízení studia a komunikační nástroje.
Zobrazíme-li nyní nastíněné schéma v rovině, kde na jedné ose roste komplexnost
média a na druhé ose míra aktivního zapojení studenta, vidíme, že fakulta pokrývá
svými aktivitami dvě oblasti. Oblast, v níž se rostoucí mírou komplexity média blíží od
textu k simulačním hrám a oblast, v níž se rostoucí mírou komunikace blíží od precepce
k interakci v sociální skupině.
Škola hrou
Learning by doing
+Simulační
modely
+Animace
+Video
+Audio
Text
Míra
zapojení
Čtení
+Testy
+Tutor
+Sociální
skupina
Bylo by jistě žádoucí tyto dvě oblasti propojit. Uvážíme-li co by toto propojení
znamenalo, je patrné, že od složitých věcí se dostáváme zpět k jednoduchým.
Výsledkem propojení obou trendů a cílem našeho směřování za vyšší efektivitou
elektronicky podporované výuky by bylo ono okřídlené „Learning by doing“.
Škola hrou.
162
Literatura
[1] Co je za oponou aneb cíle a postup řešení projektu "Atlasu multimediálních internetových modelů pro vybrané kapitoly normální a patologické fyziologie člověka".
http://physiome.cz/atlas - Info / Ze zákulisí tvorby Atlasu
[2] Kofránek J, Matoušek S, Andrlík M, Stodulka P, Wünsch Z, Privitzer P, Hlaváček J,
Vacek O. Atlas of Physiology and Pathophysiology – Internet Simulation Playground.
EUROSIM 2007; 2007; Ljubljana, Slovenia
[3] Stodulka P, Privitzer P, Kofránek J, Tribula M, Vacek O: Development of Web
Accessible Medical Educational Simulators. EUROSIM 2007; 2007; Ljubljana,
Slovenia
[4] Stodulka P, Privitzer P, Kofránek J, Mašek J. Nové postupy v tvorbě simulátorů inteligentní propojení Matlab Simulink s platformou .NET a tvorba stavových automatů
řídících výslednou aplikaci. MEDSOFT 2006; 2006; Praha, Czech Republic: Agentura
Action-M; 2006. p. 177-184.
[5] Learning Management System (LMS) 1. LF UK http://connect.lf1.cuni.cz/
[6] Ing. Martin Weiter, Ph.D., Využití e-learningových technologií při výuce fyziky na
FCH VUT, Chemická fakulta VUT v Brně
(http://www.fit.vutbr.cz/research/pubs/TR/2005/sem_uifs/s050307podklady2.pdf)
Jména autorů
prof. MUDr. Stanislav Štípek, DrSc.
UK v Praze, 1.lékařská fakulta, 1. proděkan a proděkan pro studijní záležitosti
Kateřinská 32, 128 01 Praha 2
e-mail: [email protected]
RNDr. Čestmír Štuka
UK v Praze, 1.lékařská fakulta, Vedoucí oddělení výpočetní techniky
Kateřinská 32, 128 01 Praha 2
e-mail: [email protected]
Tomáš Nikl
UK v Praze, 1.lékařská fakulta, Centrum podpory elektronické výuky
Kateřinská 32, 128 01 Praha 2
e-mail: [email protected]
MUDr. Jiří Kofránek, CSc.
UK v Praze, 1.lékařská fakulta, Ústav patologické fyziologie, Laboratoř biokybernetiky
a počítačové podpory výuky
U Nemocnice 5, 128 53 Praha 2
e-mail: [email protected]
MUDr. Mgr. Pavol Privitzer
UK v Praze, 1.lékařská fakulta, Ústav patologické fyziologie, Laboratoř biokybernetiky
a počítačové podpory výuky
U Nemocnice 5, 128 53 Praha 2
e-mail: [email protected]
163
Mefanet report 01
Jiří Kofránek: Tvorba výukových simulátorů. Co je za oponou. In: Mefanet
report 01. (editoři: Ladislav Dušek, Vladimír Mihál, Stanislav Štípek,
Jarmila Potomková, Daniel Schwarz, Lenka Šnaidrová). Institut biostatistiky
a analýz, Masarykova Univerzita, Brno, ISBN 978-80-210-4539-2, str. 6072, 2008. Práce je dostupná na adrese http://www.physiome.cz/references/
MEFANETreport01.pdf.
MEFANET report 01
TVORBA VÝUKOVÝCH SIMULÁTORŮ. CO JE ZA OPONOU
DEVELOPMENT OF EDUCATIONAL SIMULATORS.
WHAT IS BEHIND THE CURTAIN?
J. Kofránek
Laboratoř biokybernetiky, Ústav patologické fyziologie 1. LF UK, Praha
Abstrakt
Autor popisuje metodologii určenou pro vytváření e-learningového obsahu s využitím simulačních her. Je popsán
celý návrhový proces, od sestavení formalizovaného popisu fyziologické reality, až vytváření interaktivního výukového softwaru. Při tom se využívají nejrůznější nástroje – od softwarových nástrojů pro numerickou simulaci jako
Matlab/Simulink nebo Modelica, přes Adobe Flash pro tvorbu interaktivních animací, Control Web a Microsoft Visual Studio .NET pro vytváření uživatelského rozhraní, až po nástroje pro publikování na webu včetně Adobe Breeze. Tvorba moderních výukových aplikací je náročný a komplikovaný projekt, vyžadující týmovou spolupráci řady
profesí – pedagogů, lékařů, tvůrců simulačních modelů, výtvarníků a programátorů. Cílem je poskytnout studentům výukový software, který jim pomůže pochopit složitou dynamiku fyziologických systémů.
Klíčová slova
e-learning, fyziologie, počítačem podporovaná výuka, simulační modely, simulační hry
Abstract
The authors present a methodology of creating e-learning content with simulation games for the students of physiology and pathophysiology courses. The design process is explained starting from a formalized description of the
physiological reality up to interactive educational software. Various software tools are used during the design, i.e.
numerical simulation software Matlab/Simulink or Modelica, Adobe Flash for interactive animations, Control Web
or Microsoft Visual Studio.NET for user interface design, and web publishing tools including the Adobe Breeze
learning management system. Various professions are involved in complicated projects of modern educational applications – teachers, physicians, simulation/modeling experts, graphic designers and programmers. The aim is to
provide students with software that helps them understand complex dynamics of physiological systems.
Keywords
computer aided learning, e-learning, medicine, physiology, simulation games, simulation models
Mí s t o ú v o du – p a v u č i n a f y z i o l o g i c k ýc h
regulací
Před šestatřiceti lety vyšel v časopise časopise Annual
of Biomedical Physiology článek [8], který se svou podobou na již první pohled naprosto vymykal navyklé
podobě fyziologických článků té doby. Byl uveden rozsáhlým schématem na vlepené příloze. Schéma plné
čar a propojených prvků na první pohled vzdáleně připomínalo nákres nějakého elektrotechnického zařízení
(obr. 1). Místo elektronek či jiných elektrotechnických
součástek však zde byly zobrazeny propojené výpočetní
bloky (násobičky, děličky, sumátory, integrátory, funkční bloky), které symbolizovaly matematické operace
prováděné s fyziologickými veličinami (obr. 2). Svazky
propojovacích vodičů mezi bloky na první pohled vyjadřovaly složité zpětnovazebné propojení fyziologických
veličin. Bloky byly seskupeny do osmnácti skupin, které
představovaly jednotlivé propojené fyziologické subsystémy. Centrálním byl subsystém reprezentující cirkulační dynamiku – s ním byly do jednoho celku zpětnovazebně provázány ostatní bloky: od ledvin, přes tkáňové
tekutiny, elektrolyty, až po autonomní nervovou regulaci a hormonální řízení zahrnující ADH, angiotenzin
a aldosteron (obr. 3).
Vlastní článek tímto tehdy naprosto novým způsobem
pomocí matematického modelu popisoval fyziologické
regulace cirkulačního systému a jeho širší fyziologické souvislosti a návazností na ostatní subsystémy organismu – ledviny, regulaci objemové a elektrolytové
64
rovnováhy aj. Místo vypisování soustavy matematických rovnic se v článku využívalo grafické znázornění
matematických vztahů. Tato syntaxe umožnila graficky
zobrazit souvislosti mezi jednotlivými fyziologickými
veličinami ve formě propojených bloků reprezentujících matematické operace. Vlastní popis modelu byl
pouze ve formě základního (ale přesto plně ilustrativního) obrázku. Komentáře a zdůvodnění formulací
matematických vztahů byly velmi stručné: např. „bloky
266 až 270 počítají vliv buněčného PO2, autonomní
stimulace a bazální rychlosti spotřeby kyslíku tkáněmi na skutečnou rychlost spotřeby kyslíku v tkáních“.
Od čtenáře to vyžadovalo nadmíru velké soustředění
(i jisté fyziologické a matematické znalosti) pro pochopení smyslu formalizovaných vztahů mezi fyziologickými veličinami.
O rok později, v roce 1973, vyšla monografie [9], kde
byla řada použitých přístupů vysvětlena poněkud podrobněji. Guytonův model byl prvním rozsáhlým matematickým popisem fyziologických funkcí propojených
subsystémů organismu a odstartoval oblast fyziologického výzkumu, která je dnes někdy popisována jako
integrativní fyziologie. Z tohoto hlediska byl určitým
mezníkem, který se snažil systémovým pohledem na
fyziologické regulace zachytit dynamiku vztahů mezi
regulací oběhu, ledvin, dýchání, objemu a iontového
složení tělních tekutin pomocí matematického modelu.
14
MEFANET report 01
Model neměl jen čistě teoretický význam – Guyton si
záhy uvědomil i velký význam využití modelů jako svébytné výukové pomůcky.
Guyton a jeho žáci model nepřetržitě dále rozvíjeli.
V roce 1982 Guytonův žák a spolupracovník Thomas
Coleman vytvořil model "Human", určený především
k výukovým účelům. Model umožnil simulovat řadu
patologických stavů (kardiální a renální selhání, hemorhagický šok aj.) i vliv některých therapeutických
zásahů (transfúzi krve, umělou plicní ventilaci, dialýzu
atd.) [5]. Moderní interaktivní webovou implementaci
tohoto modelu v jazyce Java je možné najít na adrese
http://venus.skidmore.edu/human.
Posledním výsledkem Guytonových žáků a následovníků je simulátor Quantitative Human Physiology [1].
Model je možné stáhnout z http://physiology.umc.edu/
themodelingworkshop/.
Ško l a (s i m u l a č n í ) h r o u
Rozvoj osobních počítačů a internetu vnesl zcela nové
možnosti pro praktické uplatnění simulačních modelů. Simulační model nemusí být jen nástrojem pro vědecký výzkum, může být i velmi užitečnou výukovou
pomůckou.
Výukové programy se simulačními komponentami
nejsou jen multimediální náhradou klasických
učebnic. Jsou zcela novou výukovou pomůckou,
kde nachází své moderní uplatnění staré krédo Jana
Ámose Komenského "Schola Ludus" (škola hrou), které tento evropský pedagog razil již v 17. století. Spojení
multimediálního prostředí se simulačními modely studentům umožňuje pomocí experimentů se simulačním
modelem názorně prozkoumat vykládaný problém
ve virtuální realitě a přináší tak zcela nové možnosti
pro vysvětlování složitých problémů (obr. 4). Simulační
hrou je možné bez rizika otestovat chování simulovaného objektu – např. zkusit přistávat virtuálním letadlem
nebo, v případě lékařských simulátorů, léčit virtuálního
pacienta, či otestovat chování jednotlivých fyziologických subsystémů. Simulační hry umožňují názorně vysvětlit komplexní vztahy ve fyziologických regulačních
systémech a kauzální řetězce v patogenezi nejrůznějších onemocnění.
Z pedagogického hlediska je důležité, že modelovaný
objekt můžeme rozdělit na jednotlivé subsystémy a testovat jejich chování odděleně i jako součást vyššího celku. Tak např. při studiu složitých fyziologických regulací můžeme dočasně odpojit vybrané regulační smyčky
a umožnit studentům sledovat reakce těchto subsystémů na změny vstupních veličin (které jsou v reálném
organismu ovšem samy regulovány). Tím dovolíme
sledovat dynamiku chování jednotlivých subsystémů
při postupných změnách pouze jediného vstupu, zatímco jiné vstupy jsou nastaveny na zvolenou konstantní
hodnotu (tzv. princip "ceteris paribus").
Postupně pak můžeme jednotlivé dočasně rozpojené
regulační vazby opět zapojovat a studovat jejich vliv
na chování organismu při nejrůznějších patologických
poruchách a reakcích na příslušnou terapii. Podle našich zkušeností právě tento přístup vede k lepšímu
pochopení složitých dynamických jevů v patogenezi
nejrůznějších onemocnění a porozumění patofyziologických principů příslušných léčebných zásahů.
Tak například v našem simulátoru Golem [14] můžeme
postupně odpojovat a zapojovat jednotlivé regulační
smyčky ovlivňující homeostázu vnitřního prostředí
a tím postupně testovat význam jednotlivých regulačních okruhů a ozřejmit si tím například souvislosti poruch iontové a acidobazické rovnováhy (viz obr. 5).
Vývoj efektivních výukových programů, kombinujících
multimédia se simulačními hrami, je náročnou a komplikovanou prací, vyžadující týmovou spolupráci řady
profesí – zkušených pedagogů vytvářejících základní
scénář, tvůrců simulačních modelů, lékařů, výtvarníků a programátorů. Tuto interdisciplinární kolektivní
tvorbu zefektivňuje využívání vhodných vývojových nástrojů, které umožňují komponentovou tvorbu, propojení simulačních programů a interaktivních multimédií
podle daného scénáře do kompaktního celku.
Jedním z projektů, kde chceme využít nové možnosti
multimédií a simulačních modelů pro výuku je počítačový Atlas fyziologie a patofyziologie [18], koncipovaný jako multimediální výuková pomůcka, která
názornou cestou prostřednictvím Internetu s využitím
simulačních modelů by měla pomoci vysvětlit funkci
jednotlivých fyziologických systémů, příčiny a projevy
jejich poruch – viz http://physiome.cz/atlas. Atlas je
vytvářen jako společné dílo tvůrčího týmu odborníků
různých profesí – lékařů, programátorů, systémových inženýrů a výtvarníků. Projekt atlasu je otevřený – jeho výsledky v českém jazyce chceme na internetu
volně zpřístupnit všem zájemcům, a při jeho vývoji uvítáme spolupráci se všemi, kdo se budou chtít podílet na
jeho postupném budování.
Ukažme si nyní, co vytváření takové interaktivní výukové pomůcky vyžaduje, neboli – "co je za oponou" tvorby
výukových simulátorů.
S c é n á r i s t é v ý u ko v ýc h p r o g r a m ů
Obdobně jako sebelepší učebnice zcela nenahradí učitele, tak ho nevytlačí ani seberafinovanější výukový program. A stejně tak jako klíčovým faktorem pro úspěch
vysokoškolských učebnic je schopnost jejich autorů
názorně a věcně správně vyložit složitou látku, tak pro
zdar výukového programu je nejdůležitější jeho kvalitní scénář. Napsat dobrý učební text vysvětlující složité procesy však není jednoduché a veškeré pomůcky
(multimédia, interaktivní animace, simulační modely
apod.) – tedy vše co si lze představit pod donekonečna
omílaným slovem e learning, jsou bez dobrého scénáře
vlastního výukového programu či bez zkušeného učitele, který ví jak složitý simulační model pedagogicky
využít, jen pouhou módní ozdobou.
V případě využití multimediálních animací je podkladem pro tvorbu scénáře nejen (hyper)textová část, ale,
obdobně jako při produkci kresleného filmu, i jakýsi
"storyboard" naznačující výtvarníkům jaké mají vytvářet animované obrázky.
Složitější to je ovšem při využití simulačních modelů.
Tam nestačí jen namalovat návrhy obrázků. Je zapotřebí nejprve vytvořit vlastní simulační model. Obdobně, jako je teoretickým podkladem letového simulátoru
více méně realistický matematický model letadla, je
v pozadí lékařského simulátoru matematický model lidského organismu (resp. nějakého jeho subsystému).
Fo r m a l i z a c e f y z i o l o g i c k ýc h v z t a h ů
Při studiu dynamiky regulačních vztahů a pochopení
vzájemných dynamických souvislostí fyziologických
regulačních vztahů často jen slovní popis a "selský
65
MEFANET report 01
rozum" nestačí. Pro kvantifikované vyjádření dynamických vztahů je zapotřebí tyto vztahy formalizovat,
tj. vyjádřit je pomocí rovnic matematického modelu.
Formalizace, tj. převedení čistě verbálního popisu příslušné sítě vztahů na popis ve formalizovaném jazyce
matematiky, umožňuje zkoumat chování formálně popsaného systému pomocí formálních pravidel – např.
řešením rovnic matematického modelu.
Obdobně jako fyzika popisuje přírodní zákonitosti pomocí matematických vzorců a soustav rovnic (a popis
chování fyzikálního světa je výsledkem řešení těchto
rovnic), tak i systémový fyziolog se snaží vyjádřit fyziologické regulace pomocí matematických vztahů jako
matematický model fyziologické reality. To obvykle
vede na popis prostřednictvím soustavy diferenciálních
rovnic (jejichž "ruční" řešení bývá obtížné a často až
prakticky nemožné). Pokud ale tyto rovnice převedeme
do formy programu pro počítač, můžeme pak přenechat "dřinu strojům" – a na počítači sledovat průběhy
hodnot jednotlivých proměnných, které zobrazují chování modelovaného systému jako výsledek řešení rovnic
matematického modelu. Na počítači můžeme provádět
s modelem nejrůznější experimenty. Průběhy hodnot
těchto proměnných v čase nahrazují – tj. simulují chování skutečného fyziologického organismu. V tom je
právě podstata využití tzv. simulačních modelů (tj. matematických modelů, implementovaných na počítači).
Simulační model, pochopitelně, nenahradí biologický
experiment (jak tvrdí někteří fanatičtí bojovníci proti
pokusům na zvířatech). Simulační model je ale velice
efektivním nástrojem na dedukci a ověřování hypotéz – umožňuje sledovat chování složitého dynamického systému v čase v závislosti na nejrůznějších vstupech
a porovnávat průběhy hodnot jednotlivých proměnných
modelu s hodnotami získanými pozorováním a měřením biologického originálu.
Kritériem pro odmítnutí nebo neodmítnutí hypotézy je
vždy porovnání chování modelu s empiricky a experimentálně získaným chováním biologického originálu.
Pokud dosáhneme (na zvolené úrovni přesnosti) dostatečné shody chování modelu s chováním biologického
originálu (hovoříme o tzv. verifikaci modelu), pak můžeme (s předem jasným omezením přesnosti) využít
model k predikci – např. v klinice pro propočítávání
kinetiky podaných léků nebo k propočítávání dekompresních zastávek při sportovním potápění atd.
Je to obdobné jako ve fyzice – pokud chování fyzikálního modelu dobře predikuje (na dané úrovni přesnosti)
chování fyzikálních experimentů, můžeme dané vztahy
ve fyzikálních vzorcích využít pro nějaké praktické účely – např. pro počítání statiky budov a další technické
aplikace.
Fyzika využívá formalizace dávno – již od dob Newtona – a uplatnění formalizovaného vyjádření fyzikálních
zákonů je podstatou moderních technických aplikací.
Uplatnění formalizace v biologických a lékařských vědách však ani zdaleka není běžné. Oproti technickým vědám, fyzice či chemii má zde biologie a medicína určitý
handicap. Jestliže formalizace ve fyzice začala již někdy
v sedmnáctém století, proces formalizace lékařských
a biologických věd je z důvodů složitosti a komplexnosti
biologických systémů relativně opožděn a postupně přichází až s kybernetikou a výpočetní technikou.
Ve fyziologii se s formalizovanými popisy setkáváme již
od konce šedesátých let dvacátého století (od průkop-
66
nických prací Grodinse a spol., [7] popisujících respiraci). Předělem byl počátek sedmdesátých let, kdy rozvoj
výpočetní techniky a programovacích jazyků ve větší
míře umožnil praktické vytváření a testování simulačních modelů fyziologických systémů. Určitým mezníkem byl již v úvodu zmíněný popis cirkulace Guytonem
a spol. z roku 1972 [8], který byl prvním rozsáhlejším
modelem, snažícím se zachytit širší fyziologické souvislosti oběhového systému, dýchání a ledvin. Koncem
sedmdesátých let se v odborné literatuře postupně objevují rozsáhlé simulační modely, snažící se integrativně
zachytit spletité vztahy mezi regulací ledvin, dýchání,
oběhu, iontového složení, acidobazické rovnováhy a dynamiky tělních tekutin pomocí soustav nelineárních diferenciálních rovnic [2, 4, 13].
Bouřlivý rozvoj modelování biologických systémů však
přichází zejména v posledních letech v souvislosti s novými možnostmi, které přináší technický pokrok v oblasti výpočetní techniky a Internetu. Stoupá počet prací
využívajících počítačové modely pro vyhodnocování
a interpretaci výsledků experimentálních dat zejména při studiu nervové tkáně, respirace, oběhu a ledvin. Byl odstartován velký rozvoj v oblasti formalizace
fyziologických systémů.
Tak jako teoretická fyzika se snaží interpretovat výsledky experimentálního výzkumu ve fyzikálních vědách,
tak i nový fyziologický směr základního výzkumu,
nazývaný někdy "integrativní fyziologie", se snaží
o formalizovaný popis vzájemného propojení fyziologických regulací. Metodickým nástrojem jsou
zde počítačové modely. Aktivity v této oblasti se snaží
koncentrovat projekt PHYSIOME [3, 11, 12] pod záštitou International Union of Physiological Sciences
(http://www.physiome.org). V rámci Evropské Unie
je současné době vyhlášen celoevropský projekt EUROPHYSIOME
(http://www.europhysiome.org/).
Jedním z cílů tohoto projektu je využití simulačních
modelů pro výuku.
Počítačové modely z oblasti biologie a medicíny nyní
stále častěji nacházejí přímé praktické uplatnění v sofistikovaných výukových programech a lékařských
simulátorech, jejichž význam s rozšiřováním počítačů
a Internetu dále poroste.
D v a t y p y p r o b l é m ů p ř i t v o r b ě v ý u ko v ýc h
simulátorů
Při vytváření simulátorů a výukových simulačních her
je nutno řešit dva typy problémů:
1. Tvorba simulačního modelu – vlastní teoretická
výzkumná práce, jejímž podkladem je formalizace
fyziologických vztahů vyjádřená matematickým modelem. Výsledkem by měl být verifikovaný simulační
model, který na zvolené úrovni přesnosti dostatečně
věrně odráží chování modelované reality.
2. Tvorba vlastního multimediálního simulátoru, resp.
tvorba výukového programu využívajícího simulační
hry – je praktická aplikace teoretických výsledků, která navazuje na výsledky řešení výzkumu. Podkladem
simulátoru jsou vytvořené (a verifikované) matematické modely. Zde jde o náročnou vývojovou práci,
vyžadující skloubit nápady a zkušenosti pedagogů,
vytvářejících scénář výukového programu, kreativitu
výtvarníků, vytvářejících interaktivní multimediální
komponenty a úsilí programátorů, kteří "sešijí" výsledné dílo do konečné podoby.
MEFANET report 01
Každý z těchto problémů má svou specifiku a vyžaduje
proto použít zcela odlišné vývojové nástroje.
Zatímco vytvoření vlastního simulátoru je spíše vývojářskou a programátorskou prací, formalizace fyziologických vztahů a vytváření simulačního modelu není
vývojářský, ale (poměrně náročný) výzkumný problém,
jehož efektivní řešení vyžaduje použít adekvátní nástroje pro podporu tvorby simulačních modelů.
Tvorba simulačního modelu i tvorba simulátoru spolu
úzce navzájem souvisejí (viz obr. 6) – předpokladem
pro tvorbu výukového simulátoru je dostatečně dobře
verifikovaný model, na druhé straně, využití simulátoru
ve výuce přináší nové požadavky na vytvoření nových či
modifikaci stávajících simulačních modelů.
A protože pro tvorbu simulačních modelů a pro vytváření vlastního simulátoru používáme odlišné vývojové nástroje, musíme pak zajistit dostatečně flexibilní přenos
výsledků z jednoho vývojového prostředí do druhého.
Tak např. modifikujeme-li simulační model v některém
nástroji pro tvorbu simulačních modelů, je výhodné zajistit, aby se změny v modelu bez větších potíží mohly
rychle promítnout do aktualizace těchto změn ve vlastním simulátoru. K usnadnění tohoto přenosu je vhodné
si vytvořit i vlastní softwarové pomůcky.
V naší laboratoři jsme při vytváření a verifikaci simulačních modelů sáhli po profesionálních nástrojích firmy
Mathworks (Matlab, Simulink a příslušné aplikační
knihovny) a v poslední době i po velmi nadějném simulačním jazyku Modelica, pro něž dotváříme i některé
vlastní komponenty vývojového prostředí.
Při vytváření vlastního simulátoru využíváme standardní vývojová prostředí pro tvorbu a vývoj interaktivní
grafiky (např. Adobe Flash) a nástroje pro tvorbu softwarových a webových komponent (např. Visual Studio .NET, prostředí pro vývoj v jazyce Java jako třeba
NetBeans, prostředí pro návrh a programování interaktivní grafiky v jazyce ActionScript jako je např. Adobe
Flex aj.). V minulosti jsme výukové simulátory vyvíjeli
také pomocí nástroje pro vizualizaci průmyslových
aplikací Control Web.
Pro propojení obou skupin vývojových nástrojů jsme
vyvinuli vlastní softwarové nástroje pro automatizaci
přenosu simulačních modelů, vytvořených v prostředí
Matlab/Simulink do vývojových prostředí Microsoft
Visual Studio .NET a do Control Web [17, 22]. V současné době vyvíjíme softwarové nástroje pro zefektivnění tvorby simulátorů založených na simulačních
modelech vyvíjených v prostředí simulačního jazyka
Modelica. Tyto programy jsou k dispozici všem zájemcům na vyžádání (e-mailem na adresu autora).
Te o r e t i c k ý z á k l a d s i m u l a č n í c h h e r – s i m u lační modely
V sedmdesátých a osmdesátých letech minulého století
autoři často volili pro grafický popis modelů fyziologických systémů grafickou syntaxi navrženou Guytonem
– tak např. Amosov a spol. v roce 1977 [2] publikovali monografii v níž stejnou syntaxí popsali propojený
model cirkulace, respirace, ledvin, elektrolytové rovnováhy a termoregulace. Obdobně v roce 1979 tuto syntaxi využil Ikeda a spol. [13] ve svém modelu vnitřního
prostředí.
Později, s rozvojem výpočetní techniky a softwarových
nástrojů, se pro grafické zobrazení fyziologických re-
gulačních vztahů začaly využívat nástroje simulačních
vývojových prostředí.
Jedním z nich je např. vývojové prostředí Matlab/Simulink od firmy Mathworks, které umožňuje postupně sestavovat simulační model z jednotlivých komponent – jakýchsi softwarových simulačních součástek,
které se pomocí počítačové myši mezi sebou propojují
do simulačních sítí. Obdobně jako u výše zmíněného
Guytonova modelu i tyto sítě svými vodiči a součástkami na první pohled vzdáleně připomínají elektronické
obvody. Rozdíl je ovšem v tom, že místo elektrických
signálů v propojovaných vodičích proudí informace.
V jednotlivých uzlech (sumátorech, integrátorech, násobičkách, děličkách atd.) pak dochází ke zpracování
přiváděných informací a k trasformaci do výstupní informace, která je rozesílána výstupními vodiči do dalších prvků sítě.
V Simulinku tak můžeme názorně graficky vyjádřit
i velmi složité matematické vztahy. Vytvořená síť ovšem
není jen přehledný obrázek. Je to zároveň i funkční simulační model. K jednotlivým vodičů této sítě můžeme myší připojovat virtuální displeje či osciloskopy.
Po spuštění modelu pak můžeme jejich prostřednictvím
sledovat číselnou či grafickou podobu hodnot veličin,
které proudí v jednotlivých vodičích.
Jako příklad můžeme uvést námi vytvořenou implementaci klasického Guytonova modelu cirkulace [19].
Vnější vzhled jsme se snažili zachovat zcela stejný,
jako v původním grafickém schématu – rozložení, rozmístění vodičů, názvy veličin i čísla bloků jsou stejné.
Simulinkové počítací prvky jsou velmi podobné prvkům, které pro formalizované vyjádření fyziologických
vztahů použil Guyton (obr. 7). Rozdíl je jen v grafickém
tvaru jednotlivých prvků – tak např. násobička a dělička
je v Simulinku realizována čtverečkem a nikoli "prasátkem" jako v Guytonově notaci. Blok integrátoru zobrazený v Simulinku nemá na sobě grafický znak integrálu, ale výraz "1/s" (což souvisí s notací tzv. Lapaceovy
transformace). V simulinkovém modelu jsme využili
i přepínače, kterými můžeme odpojovat nebo zapojovat jednotlivé subsystémy a regulační smyčky i za běhu
modelu.
Simulační vizualizace starého schématu ale zdaleka
nebyla úplně snadná – v originálním obrázkovém schématu modelu jsou totiž chyby. V nakresleném obrázku
to nevadí, pokusíme-li se ho ale oživit v Simulinku, pak
se chyba projeví v lepším případě neadekvátním chováním modelu, v horším se model znestabilní, hodnoty proměnných modelu začnou divoce kmitat a model
zkolabuje jako celek. Chyby byly drobné – přehozená
znaménka, dělička místo násobičky, prohozené propojení mezi bloky, chybějící desetinná tečka u konstanty
atd. – ale stačily na to, aby model nefungoval. Při znalosti fyziologie a systémové analýzy se na chyby, při troše námahy, dalo přijít (obr. 8).
Je zajímavé, že tento složitý obrázek byl mnohokrát přetiskován do různých publikací a nikdo si nedal práci tyto
chyby odstranit. Ostatně, v době, kdy obrázkové schéma
vznikalo ještě neexistovaly kreslící programy – obrázek
vznikal jako složitý výkres – a ruční překreslování složitého výkresu ani zdaleka není snadné. Možné je i to,
že autoři opravovat chyby ani příliš nechtěli – kdo si dal
práci s analýzou modelu, snadno obrazové "překlepy"
odhalil, kdo by chtěl jen tupě opisovat, měl smůlu. Konec konců, ve své době autoři rozesílali i zdrojové texty
67
MEFANET report 01
programů svého modelu v programovacím jazyce Fortran – takže pokud někdo chtěl pouze testovat chování
modelu, nemusel nic programovat (maximálně pouze
rutinně převedl program z Fortranu do jiného programovacího jazyka).
Námi vytvořená Simulinková realizace (opraveného) Guytonova modelu (obr. 9–11) je zájemcům
k dispozici ke stažení na adrese www.physiome.cz/
guyton/. Na této adrese je i naše Simulinková realizace
mnohem složitější verze modelu Guytona a spol. z pozdějších let. Zároveň je zde i velmi podrobný popis všech
použitých matematických vztahů se zdůvodněním.
K dispozici je i výpis zdrojového textu původního modelu z roku 1986 ve Fortranu.
Od simulační pav učiny k simulačním
čipům
Spletitá pavučina počítacích bloků Guytonova modelu, implementovaná v prostředí Simulinku působí sice
svou složitostí na první pohled impozantně, pro vlastní
práci s modelem je však dosti nepřehledná.
Při výstavbě našich vlastních modelů se nesnažíme stavět mraveniště bloků prošpikovaných svazky informačních vodičů, v nichž se uživatel (a nezřídka i sám tvůrce
modelu) velmi snadno ztrácí. Snažíme se proto, pokud
to jde, model dekomponovat do přehledných částí. Využíváme toho, že jednotlivé části simulační sítě se dají
hierarchicky seskupovat do subsystémů s uživatelsky
definovanými vstupy a výstupy, v masce subsystému
se dají vstupy a výstupy stručně popsat. Na kliknutí je
možno k subsystému zpřístupnit i rozsáhlou dokumentaci, kde je možno bez omezení podrobněji popsat i teoretické pozadí vytvořeného subsystému.
Takto pojaté subsystémy na první pohled připomínají
elektronické integrované obvody, neboť na jednotlivých "pinech" těchto "simulačních čipů" jsou příslušné vstupy a výstupy, které je možno propojovat do sítě
s dalšími bloky a subsystémy (obr. 12). Struktura simulačního modelu vyjádřeného jako síť propojených simulačních čipů je pak mnohem přehlednější a srozumitelnější (obr. 13, 14).
Důležité je, že nakreslené struktury jsou v prostředí
programu Simulink "živé" – pomocí počítačové myši
lze na jednotlivé vstupy jednotlivých simulačních čipů
přivést konstantní nebo proměnné hodnoty vstupních veličin a na výstupech pak snímat v numerickém
či grafickém vyjádření jednotlivé hodnoty výstupních
proměnných.
Vnitřní struktura "čipu" může být při jeho použití zcela
skryta, uživatel musí pouze vědět, jakou vstupní či výstupní veličinu příslušný "pin" reprezentuje. Po¬mocí
myši může uživatel přenést čip z příslušné knihovny
do vytvářeného modelu, kde příslušné vstupy a výstupy
propojí. Chování "čipu" lze také snadno testovat, stačí
k jeho vstupům přivést příslušné definované průběhy
hodnot vstupních veličin a na jeho výstupy připojit příslušné virtuální osciloskopy či displeje.
Každý čip může "uvnitř sebe" obsahovat další propojené "simulační čipy". Obsáhlý simulační čip tak může
mít poměrně složitou hierarchii (obr. 15–16).
Simulační čipy je možno ukládat do knihoven a opětovně používat v různých modelech (obr. 17).
Tvorba simulačních modelů v biomedicínských vědách
je nezřídka týmová práce. Na jedné straně stojí systémový analytik – expert na formalizaci a tvorbu simu-
68
lačních modelů (teoretický fyziolog, vytvářející formalizovaný popis fyziologického systému a testující jeho
chování pomocí simulačního modelu). Na druhé straně
často stojí klasický experimentální fyziolog či klinik,
pro kterého je popis fyziologického systému pomocí
diferenciálních rovnic španělskou vesnicí, ale který dokáže snadno rozpoznat, nakolik odpovídá chování počítačového simulačního modelu biologické realitě.
Podle našich zkušeností může problém dorozumění mezi těmito dvěma skupinami specialistů zásadně
usnadnit důsledné využívání simulačních čipů při výstavbě simulačního modelu. Znamená to v prvé řadě
věnovat důslednou pozornost dokumentaci. Simulační
čipy samy o sobě mohou být i aktuální elektronickou
dokumentací k vytvářeným modelům (viz obr. 17).
Nejenže v čelní masce simulačního čipu je stručný popis všech vstupů a výstupů a "vnitřek" simulačního čipu
graficky reprezentuje síť použitých vztahů, na kliknutí
myší lze u každého softwarového simulačního čipu také
otevřít okno nápovědy s dalším podrobnějším popisem.
Simulační čipy tedy umožňují pečlivě vést aktuální dokumentaci v elektronické podobě ke každému použitému subsystému při zachování veškeré funkčnosti. Aby
mohl jednotlivé komponenty využívat i ten, kdo danou
část modelu nevytvářel, je podrobná a zároveň přehledná dokumentace nezbytná a čas strávený nad vypisováním spousty informací do masek jednotlivých subsystémů reprezentujících simulační čipy se pak zaručeně
vyplatí [Kofránek a spol, 2002].
Výhodou za trochu té dřiny je porozumění – experimentální fyziolog nemusí rozumět vnitřnímu uspořádání
simulačního čipu, porozumí ale tomu, jaké chování má
od fyziologického subsystému, který čip reprezentuje,
očekávat. Fyziolog je nadto schopen porozumět i struktuře složené z propojených simulačních čipů – ze struktury modelu přímo vidí, které veličiny spolu vzájemně
souvisejí (a ze znalosti fyziologie i dovede odhadnout,
co a na jaké úrovni bylo zanedbáno).
O d r o v n i c m o d e l u k t e c h n o l o g i c ké m u
know how
V sedmdesátých a osmdesátých letech dvacátého století
bylo časté, že autoři počítačových modelů na vyžádání
posílali zdrojové texty počítačových programů, kterými
byly tyto modely realizovány.
Dnes se už zdrojové programy rozsáhlých simulačních
programů získávají mnohem obtížněji. Rozvoj výpočetní techniky totiž umožnil praktické uplatnění simulačních modelů například v lékařských počítačových
trenažérech a výukových programech využívajících
simulační hry. Biomedicínské modely mají své místo
i v technologických zařízeních – od kapesních počítačů
pro sportovní potápěče až po řídící jednotky v sofistikovaných lékařských přístrojích.
S možností komerčního využití souvisí i určitá změna
náhledu na formalizovaný popis fyziologické reality, který je podkladem výukových simulačních modelů.
Podrobný formalizovaný popis (ve formě rovnic, nebo,
ještě lépe, algoritmů zapsaných ve formě zdrojového
textu v nějakém programovacím jazyce) se proto z čistě vědeckého tématu často stává (před potenciální
konkurencí utajovaným) technologickým know how.
Jestliže ještě koncem osmdesátých let bylo běžné získat
na písemnou žádost přímo výpis příslušného fortranského programu, nyní to již většinou není možné.
MEFANET report 01
V naší laboratoři biokybernetiky se zabýváme tvorbou simulačních modelů v rámci výzkumu dotovaného z veřejných zdrojů i díky spolupráci s komerčním
sektorem. Struktura námi vytvářených modelů, dotovaných z veřejných prostředků je veřejná. V rámci výzkumných grantů a rozvojových projektů jsme
mimo jiné vytvořili knihovnu fyziologických modelů
v prostředí Simulink-Matlab, ve formě "simulačních
čipů". Tato knihovna byla vytvořena jako Open-Source produkt, byla periodicky aktualizována a je k dispozici zájemcům na našich internetových stránkách
(www.physiome.cz/simchips).
T vorba simulátorů pro simulační hr y
Vývojové nástroje pro tvorbu simulačních modelů jsou
určeny pro specialisty. Pro běžného uživatele, který
si chce se simulačním modelem jen "pohrát", se příliš
nehodí. I když v prostředí těchto nástrojů je možné naprogramovat poměrně příjemné uživatelské rozhraní
k ovládání vytvořeného modelu, pro účely uplatnění
simulačního modelu ve výuce medicíny je toto rozhraní
až příliš komplikované a navíc vyžaduje zakoupení dalších (poměrně drahých) licencí.
Student medicíny a lékař vyžaduje uživatelské rozhraní
simulátoru připomínající spíše obrázky a schémata obdobná, jako v knižních publikacích typu atlasu fyziologie či atlasu patologické fyziologie.
Proto je nutné výukový simulátor včetně jeho multimediálního uživatelského rozhraní naprogramovat zvlášť.
Možnosti uživatelského ovládání simulátoru jsou pak
pro cílovou skupinu uživatelů podstatně přirozenější.
Nezastupitelnou komponentou výukového simulátoru je i část programu, která realizuje simulační model.
Známe-li strukturu simulačního modelu, (vytvořeného
v některém z vývojových nástrojů pro tvorbu simulačních modelů – např. Matlab/Simulink) pak už zbývá
"hlavoruční dřinou" přetvořit strukturu modelu do podoby počítačového programu ve zvoleném programovacím jazyce (např. v C#).
Dále je zapotřebí pro vytvoření uživatelského rozhraní
nakreslit interaktivní multimediální komponenty. Tyto
komponenty je pak nutno propojit se simulačním modelem na pozadí simulátoru.
Pro vývoj simulátorů ve výukových programech jsme
se proto museli poohlédnout po jiném vývojovém prostředí než je Matlab a Simulink. Po určitém váhání
jsme pro tvorbu vlastních simulátorů nejprve sáhli po
nástrojích využívaných při tvorbě průmyslových
aplikací (měřících ústředen a velínů) [16]. Vedly nás
k tomu především dva důvody:
1. Se simulačním modelem chceme v simulátoru fyziologických funkcí zacházet obdobně, jako se v průmyslu z velínu řídí složité technologické zařízení:
chceme číst (a v nejrůznější grafické či číselné podobě zobrazovat) množství nejrůznějších měřených dat
(jako v průmyslové měřící ústředně) a zároveň chceme jednoduchým způsobem (stiskem tlačítek, otáčením knoflíků, popotahováním táhel apod.) simulační
model ovládat (obdobně jako se z velínu řídí nějaká
technologie).
2. Druhým důvodem, proč jsme sáhli po softwarovém
nástroji z průmyslu, je spolehlivost. Požadavky spolehlivosti, kladené na nástroje, jejichž pomocí se vyvíjejí průmyslové řídící aplikace, jsou obvykle řádově
vyšší než u obecných programovacích nástrojů.
Nástrojů pro design průmyslových aplikací je na světovém trhu nemálo. Jejich ceny jsou ovšem, na rozdíl
od obecných softwarových nástrojů, zpravidla velmi
vysoké.
Paradoxem je, že velmi dobrý nástroj lze získat velmi
levně, a to přímo od domácího výrobce. Zlínská akciová
společnost "Moravské přístroje" již léta vyvíjí systém
pro tvorbu průmyslových aplikací s názvem "Control
Web". Jde přitom o kvalitní vývojový systém: na letáčku
jejich skandinávského distributora stojí "Svensk kvalitet (till Tjeckiska priser)" – "Švédská kvalita (za české
ceny)". Švédové jsou velmi domýšliví na kvalitu svých
výrobků a pokud o vývojovém nástroji Control Web
z Valašska veřejně prohlašují, že dosahuje "švédské kvality", je to velké ocenění skupiny tvůrců, kteří na tomto
produktu usilovně pracují již od počátku devadesátých
let.
Control Web je především určen pro vývoj průmyslových vizualizačních a řídících aplikací na platformě
WIN32 – sběr, ukládání a vyhodnocování dat, tvorba rozhraní člověk-stroj aj. (viz http://www.mii.cz).
Základními stavebními kameny uživatelské aplikace
vytvářené v prostředí Control Web jsou virtuální přístroje (komunikující mezi sebou pomocí proměnných
a zpráv). Měřené hodnoty z vnějšího světa jsou v průmyslových aplikacích virtuálním přístrojům zprostředkovány přes vstupní kanály, řídící signály mohou
virtuální přístroje posílat do okolí pomocí výstupních
kanálů.
Pro vývoj uživatelského rozhraní poskytuje systém
Control Web velmi výkonné prostředky. Tak např.
z palety virtuálních přístrojů je možno snadno tažením
myši vytáhnout potřebný přístroj a umístit ho na příslušný panel a v interaktivním dialogu mu nastavit hodnoty jeho příslušných atributů, nadefinovat jeho lokální
proměnné, či individuální procedury (metody objektu)
apod.
Abychom mohli využít vývojářské pohodlí systému
Control Web, museli jsme použít následující, vcelku
jednoduchý, trik. V průmyslových aplikacích Control
Web komunikuje (přes příslušné softwarové kanály)
přes ovladač příslušné měřící/řídící karty s průmyslovým technologickým zařízením.
Je ovšem možné napsat speciální ovladač, jehož interní součástí je simulační model. Tento ovladač je
schopen komunikovat (přes softwarové kanály) s objekty systému Control Web, ale na rozdíl od ovladačů
ke skutečným měřícím a řídícím kartám nekomunikuje
s jejich hardwarem, ale komunikuje se simulačním
modelem. Pokud se ovladač napíše dobře, je systém
Control Web "ošálen": vstupní kanály (k zobrazovacím
prvkům na monitoru) považuje za skutečné měřené signály někde z technologického okolí počítače, zatímco
ve skutečnosti to jsou výstupní proměnné simulačního
modelu. A také v opačném směru je Control Web přesvědčen, že výstupní kanály, které odcházejí od řídících
prvků systému Control Web, nastavují přes příslušný
ovladač nějaké aktivní prvky průmyslového zařízení, ale
ony namísto toho mění vstupy simulačního modelu.
Abychom usnadnili vývoj ovladačů jakési "virtuální
měřící/řídící karty", které obsahují simulační model
a nemuseli tento ovladač pro každý model psát v programovacím jazyce C "ručně", vyvinuli jsme speciální
program, který nám umožní vývoj tohoto ovladače
automatizovat. Máme tedy nyní možnost bezpro-
69
MEFANET report 01
středně ze simulinkového schématu generovat
zdrojový text příslušného virtuálního ovladače v C.
Tím je možné jednoduše a rychle modifikovat ovladač
pro prostředí Control Web při nejrůznějších úpravách
a nových verzích simulačního modelu.
V prostředí Control Web jsme např. vytvořili simulátor
Golem (Kofránek a spol 2001).
Další platformou pro vývoj simulátorů, kterou nyní
v naší laboratoři využíváme převážně, je platforma
Microsoft .NET a programovací prostředí Microsoft
Visual Studio .NET, které, zejména ve své poslední
verzi, poskytuje velké možnosti pro programátorskou
práci.
V tomto prostředí již nejsme omezeni "předpřipravenými" prvky uživatelského rozhraní jako v prostředí
Control Webu a přitom můžeme využívat veškerou sílu
moderního nástroje pro tvorbu softwarových aplikací,
na druhé straně si však musíme řadu prvků vytvářené
aplikace naprogramovat sami.
Abychom si vytváření simulátorů ulehčili (a aby nebylo
nutné ve Visual Studiu .NET "ručně" programovat již
odladěný simulační model) vyvinuli jsme i zde speciální
softwarový nástroj [17, 22], který automaticky ze Simulinku vygeneruje simulační model ve formě komponenty pro prostředí .NET (viz obr. 20).
Po h y b l i vé a n i m a c e j a ko l o u t k y n a n i t í c h
simulačních modelů
Pro vytváření uživatelského rozhraní výukového simulátoru je velmi vhodné simulátor navenek reprezentovat
jako pohyblivý obrázek. Proto simulační model propojujeme s multimediální animací vytvořenou pomocí
Adobe Flash [17].
Pro profesionální výsledný vzhled aplikace je nezbytné,
aby vlastní animace vytvářel výtvarník – výsledky jsou
neporovnatelně lepší, než když animace vytváří graficky nadaný programátor. Znamenalo to ovšem věnovat
určité úsilí výuce výtvarníků, kteří musí zvládnout práci
s nástroji pro tvorbu interaktivní grafiky. Takto vzdělaných výtvarníků je ale na trhu práce kritický nedostatek. Proto jsme již před lety začali úzce spolupracovat
s výtvarnou školou Václava Hollara a na této škole jsme
otevřeli "laboratoř interaktivní grafiky" jako naše detašované pracoviště. Iniciovali jsme také založení Vyšší
odborné školy, která vyučuje v tříletém studiu předmět
"interaktivní grafika". Pracovníci naší laboratoře se
v této Vyšší odborné škole mimo jiné podílejí i na výuce.
Animované obrázky mohou být řízeny výstupy implementovaného simulačního modelu a graficky reprezentovat význam číselných hodnot – např. schematický
obrázek cévy se může roztahovat nebo komprimovat,
plicní sklípek může hlouběji či mělčeji "dýchat", ručička měřícího přístroje se může pohybovat a průběžně
zobrazovat hodnotu nějaké výstupní proměnné modelu
čtené z běžícího simulačního modelu na pozadí.
Na druhé straně můžeme přes vizuální prvky vytvořené
pomocí Adobe Flash (nejrůznější tlačítka, knoflíky, táhla apod.) do simulačního modelu zadávat nejrůznější
vstupy.
Příklady simulátorů, vytvořených v prostředí Control
Web a v prostředí Visual Studio .NET s propojením
na flashové animace jsou uvedeny na obr. 21 a 22.
V případě složitější architektury může být logika
propojení flashové animace a simulačního modelu
poměrně složitá, proto je vhodnější mezi vrstvu vizu-
70
álních elementů a vrstvu simulačního modelu vložit
řídící vrstvu, která na jednom místě řeší veškerou logiku komunikace uživatelského rozhraní s modelem
a kde je ukládán i příslušný kontext. V literatuře se
hovoří o tzv. MVC architektuře výstavby simulátorů
(Model – View – Controller).
Toto uspořádání je nezbytné zejména při složitějších
modelech a simulátorech, jejichž uživatelské zobrazení
je reprezentováno mnoha virtuálními přístroji na více
propojených obrazovkách. Výhody tohoto uspořádání
zvláště vyniknou při modifikacích jak modelu, tak i uživatelského rozhraní (obr. 23).
Při návrhu řídící vrstvy, propojující vrstvu simulačního
modelu s uživatelským rozhraním, se nám velmi osvědčilo využít propojené stavové automaty (jejichž pomocí je možno zapamatovat příslušný kontext modelu
a kontext uživatelského rozhraní). Vytvořili jsme proto
speciální softwarový nástroj, pomocí kterého můžeme
propojené stavové automaty vizuálně navrhovat, interaktivně testovat jejich chování a automaticky generovat
zdrojový kód programu pro prostředí Microsoft .NET
[22]. Tento nástroj umožňuje zefektivnit programování
propojek simulačního modelu s vizuálními objekty uživatelského rozhraní ve výukovém simulátoru.
Simulační hr y na WEBu
Další technologický problém, který bylo při tvorbě výukových simulátorů nutno vyřešit, bylo proto nalezení
způsobu, jak včlenit simulátory jako součásti internetových e-learningových aplikací. Při jeho řešení je možno
postupovat několika způsoby. Jedním z nich je spouštění modelu na serveru a na klientský počítač posílat
pouze výstupy z modelu. Znamená to ale pro každého
připojeného uživatele na serveru individuálně spouštět
jednu instanci (jeden exemplář) simulačního modelu. Kromě toho, zvláště u vzdálenějších a pomalejších
připojení, je nezanedbatelné časové zpoždění mezi výstupem simulačního modelu na serveru a vykreslením
výsledku na počítači klienta. Proto jsme se rozhodli jít
spíše cestou spouštění simulačních modelů na počítači
klienta.
U jednodušších modelů je možno využít interpetovaný
ActionScript ve Flashi v němž je naprogramován simulační model. Složitější simulační modely už ale vyžadují
kompilovaný simulátor.
Naše řešení [22] je zobrazeno na obr. 24. Uživatel si
nainstaluje platformu .NET (pokud ji již nemá). Dále
si na svém počítači nainstaluje speciální klientský
program – "dispečer simulačních modelů". V případě
potřeby se dispečer rozšíří i o runtime pro prostředí
ControlWeb, které zajistí možnost spouštění modelů
v tomto prostředí vytvořených. Webová e-learningová
aplikace umožní stáhnout potřebné soubory simulačního modelu a dispečer simulačních modelů je spustí.
Dispečer tak funguje obdobně jako prohlížeč obrázků,
jen s tím rozdílem, že místo zobrazení obrázků spustí
simulační program.
Zabalení simulačních her do multimediálního v ýkladu
Jedním z projektů, který vytváříme v naší laboratoři
je již výše zmíněný Atlas fyziologie a patofyziologie
(viz www.physiome.cz/atlas). Atlas [18] je průběžně
vytvářená internetová multimediální výuková pomůcka z oblasti normální a patologické fyziologie, která s
MEFANET report 01
využitím simulačních modelů pomáhá vysvětlit funkci
a poruchy jednotlivých fyziologických systémů.
Simulační hry (obr. 25) jsou součástí e-learningových
multimediálních výukových lekcí, jejichž podkladem
je scénář vytvořený zkušeným pedagogem. Pedagog
navrhuje vysvětlující text a s textem propojené doprovodné obrázky a animace. Animace jsou vytvářeny
v prostředí Adobe Flash v úzké spolupráci pedagoga
s výtvarníkem.
Text je poté namluven a synchronizován se spouštěním
jednotlivých animací a s odkazy na simulační hry. Jednotlivé komponenty jsou kompletovány do výukových
lekcí.
Pro vytváření a kompletaci multimediálních výukových
lekcí využíváme softwarové prostředí serveru Adobe
Connect (dříve Macromedia Breeze).
Projekt Atlasu fyziologie a patofyziologie je otevřený.
Veškeré výukové texty, interaktivní animace a simulační
modely včetně jejich zdrojových kódů jsou k dispozici
všem zájemcům. Jako open-source jsou i veškeré námi
vytvořené podpůrné softwarové nástroje, umožňující vygenerování jádra simulátorů z prostředí Matlab/
Simulink a distribuci simulátorů prostřednictvím Internetu. Náš vývojový tým uvítá spolupráci s dalšími
pracovišti na dalším rozšiřování atlasu a vytvoření jeho
jazykových mutací.
Od entuziazmu k technologii a multidisciplinární spolupráci
Navzdory tomu, že se využití počítačů ve výuce stalo
tématem řady konferencí, odborných i popularizačních
článků, přesto, že hardwarové možnosti i softwarové
nástroje dnes již dospěly do úrovně umožňující vytvářet
náročná interaktivní multimedia, k výraznému rozšíření multimediálních výukových programů ve výuce medicíny zatím nedošlo.
Příčin je několik.
• Za prvé, ukazuje se, že tvorba výukových programů
je podstatně náročnější na čas, lidské i materiální
zdroje, než je obvykle plánováno
• Za druhé – tvorba kvalitních medicínských výukových programů vyžaduje týmovou multidisciplinární
spolupráci zkušených pedagogů, lékařů, matematiků, fyziků, programátorů i výtvarníků.
• Konečně, pro kreativní propojení různých profesí,
podílejících se na tvorbě výukové multimediální aplikace, musí být k dispozici vhodně zvolené vývojové
nástroje (jejichž ovládnutí ale vyžaduje určité úsilí
a čas).
• Nároky stoupají, pokud na pozadí výukového programu má běžet simulační program, umožňující
interaktivní simulační hry – ve vývojovém týmu pak
musí být i odborníci, kteří jsou schopni navrhnout,
formalizovat a odladit příslušné modely (lékaři, matematici, fyzici a informatici).
Domníváme se, že nejdůležitějším výsledkem, kterého
se nám v naší laboratoři zatím podařilo dosáhnout je
vybudování multidisciplinárního týmu lékařů, matematiků, programátorů i výtvarníků, který je schopen výše
zmíněné bariéry překonat.
Mezioborový tým potřebuje nástroje pro usnadnění komunikace a kooperace práce na společně vytvářených
projektech. Pro podporu a koordinaci týmové spolupráce dnes existuje řada softwarových prostředků.
V naší laboratoři se nám osvědčilo využití open-source
nástroje WikiDoc, který umožňuje jednoduše využí-
vat webové rozhraní pro vzájemnou komunikaci členů
týmu. Pro letmý pohled do "kuchyně" našeho mezioborového týmu i pro seznámení s funkcí "wiki" – rozhraní
se čtenář může podívat na "wiki-web" naší laboratoře:
http://physiome.ct/wiki.
No v á v ý z v a i p ř í l e ž i t o s t p r o v y s o ké š ko l y
Současná epocha je charakterizována zásadními změnami v technologiích, které ve svém důsledku mění ekonomiku, společnost i způsob života. Původní soupeření
o tuny produktů přešlo do souboje o dokonalejší a rychlejší informace.
Vytváří se nový tržní segment, kde se obchoduje s nehmotným produktem, myšlenkami, nápady a knowhow. Pokrok v technologiích vytváří tlak na flexibilitu
pracovní síly a zvyšuje požadavek na průběžné rekvalifikace. Celoživotní vzdělávání se stává nutností ve stále
větším počtu oborů.
Vytváření a realizaci rekvalifikačních kurzů a výuky
v procesu celoživotního vzdělávání usnadňuje a podporuje využití informačních technologií. E-learning proto
umožňuje rozšířit kapacitu vysokých škol a zároveň jim
může přinést další příjmy z tvorby distančních rekvalifikačních a specializačních postgraduálních programů.
Z tohoto hlediska je e-learning pro vysoké školy nová
výzva, která bude vyžadovat velké úsilí, ale zároveň je
i velkou příležitostí pro jejich další rozvoj.
Zdá se, že pomalu končí doba, kdy vytváření výukových
programů bylo otázkou entuziasmu a píle skupin nadšenců. Tvorba moderních biomedicínských výukových
aplikací je náročný a komplikovaný projekt, vyžadující
týmovou spolupráci řady profesí – zkušených pedagogů vytvářejících základní scénář, tvůrců simulačních
modelů, lékařů, výtvarníků a programátorů. Aby tato
interdisciplinární kolektivní tvorba byla efektivní, je
nutno pro každou etapu tvorby využívat specifické vývojové nástroje, s dostatečnou technickou podporou,
které umožňují komponentovou tvorbu simulačních
modelů, vytváření interaktivních multimédií a jejich závěrečné propojení podle daného scénáře do kompaktního celku. K ovládnutí těchto nástrojů je zapotřebí věnovat značné úsilí, které se ale nakonec vyplatí.
Vytvořit kvalitní výukové e-learningové aplikace, pokrývající nezanedbatelnou část lékařského oboru není
v silách jednoho pracoviště a MEFANET je zde velkou
příležitostí.
Proto uvítáme spolupráci v rámci sítě MEFANET se
všemi jednotlivci i pracovišti, kteří budou mít zájem.
Rádi se podělíme o naše zkušenosti včetně námi vytvořených podpůrných softwarových prostředků.
Literatura
[1] Abram, S. R., Hodnett, B. L., Summers, R. L., Coleman,
T. G., Hester R.L. (2007). Quantitative Circulatory Physiology: An Integrative Mathematical Model of Human
Physiology for medical education. Advannced Physiology
Education, 31 (2), 202–210.
[2] Amosov, N. M., Palec B. L., Agapov, B. T., Jermakova, I.
I., Ljabach E. G., Packina, S. A., Solovjev, V. P. (1977):
Teoretičeskoje issledovanie fiziologičeskich sistěm.
Naukova Dumka, Kijev, 1977.
[3] Bassingthwaighte J. B. (2000). Strategies for the
Physiome Project. Annals of Biomedical Engeneering 28,
1043–1058.
[4] Cameron, W.H. (1977): A model framework for computer
simulation of overall renal function. J. Theor. Biol. vol.
66., s. 552–572
71
MEFANET report 01
[5] Coleman, T. G. and J.E. Randall (1983): HUMAN.
A comprehensive physiological model. The Physiologist,
vol. 26, (1): 15–21.
[6] P. Fritzson (2003). Principles of Object-Oriented Modeling and Simulation with Modelica 2.1, Wiley-IEEE Press.
[7] Grodins, F., S., J. Buell and A. Bart (1967).: Mathematical
analysis and digital simulation of the respiratory control
system. J. Appl. Physiol., vol. 22, (2): s. 250–276.
[8] Guyton AC, Coleman TA, and Grander HJ. (1972):
Circulation: Overall Regulation. Ann. Rev. Physiol., 41,
s. 13–41.
[9] Guyton AC, Jones CE and Coleman TA. (1973): Circulatory Physiology: Cardiac Output and Its Regulation.
Philadelphia: WB Saunders Company,1973.
[10] Guyton AC (1990): The suprising kidney-fluid mechanism for pressure control – its infinite gain!. Hypertension, 16, s.725–730.
[11] Hunter P. J., Robins, P., & Noble D. (2002) The IUPS
Physiome Project. Pflugers Archive-European Journal
of Physiology, 445, s.1–9
[12] Hunter, P. J. & Borg, T. K. (2003). Integration from proteins to organs: The Physiome Project. Nature Reviews
Molecular and Cell Biology. 4, 237–243.
[13] Ikeda N, Marumo F and Shirsataka M. A (1979): Model
of Overall Regulation of Body Fluids. Ann. Biomed.
Eng. 7, s. 135–166
[14] Kofránek, J. Anh Vu, L. D., Snášelová, H., Kerekeš, R.,
& Velan, T (2001): GOLEM – Multimedia simulator
for medical education. In Patel, L., Rogers, R., Haux R.
(Eds.). MEDINFO 2001, Proceedings of the 10th World
Congress on Medical Informatics. London: IOS Press,
1042–1046.
[15] Kofránek, Jiří, Andrlík, Michal, Kripner, Tomáš, and
Mašek, Jan (2002). From Simulation chips to biomedical
simulator. In Amborski, K. and Meuth, H. Proc. of
16th European Simulation Multiconference, Darmstadt,
2002. SCS Publishing House, 2002, s. 431–436.
[16] Kofránek, Jiří, Kripner, Tomáš, Andrlík, Michal, and Mašek, Jan. (2003) Creative connection between multimedia,
simulation and software development tools in the design
and development of biomedical educational simulators.
Simulation Interoperability Workshop, 2003. Orlando,
2003, Position papers, Volume II, paper 03F-SIW-102,
s. 677–687.
[17] Kofránek J, Andrlík M, Kripner T, Stodulka P. (2005):
From Art to Industry: Development of Biomedical Simulators. The IPSI BgD Transactions on Advanced Research
2 (Special Issue on the Research with Elements of Multidisciplinary, Interdisciplinary, and Transdisciplinary:
The Best Paper Selection for 2005), s.62–67.
[18] Kofránek, J., Matoušek, S., Andrlík, M., Stodulka, P.,
Wünsch, Z., Privitzer, P., Hlaváček, J., Ondřej Vacek, O.
(2007): Atlas of physiology – internet simulation playground. In. Proceedings of the 6th EUROSIM Congress
on Modeling and Simulation, Vol. 2. Full Papers (CD).
(B. Zupanic, R. Karba, S. Blažič Eds.), University of
Ljubljana, ISBN 978-3-901608-32-2, MO-2-P7-5, 1–9.
2007. Článek je dostupný na adrese http://patf-biokyb.lf1.
cuni.cz/wiki/media/clanky/development_of_web_accessible_medical_simulators.pdf?id=wiki%3Auser%3Aseznam_publikaci&cache=cache
[19] Jiří Kofránek, Jan Rusz, Stanislav Matoušek (2007):
Guytons Diagram Brought to Life – from Graphic Chart
to Simulation Model for Teaching Physiology. In Technical Computing Prague 2007. 15th Annual Conference
Proceedings. Full paper CD-ROM proceedings. (P. Byron
Ed.), Humusoft s.r.o. & Institute of Chemical Technology,
Prague, ISBN 978-80-7%8%-658-6, 1–13, 2007. Článek,
včetně zdrojových textů programů je dostupný na adrese
http://www.humusoft.cz/akce/matlab07/sbor07.htm#k
[20] Miller, J. A., Nair, R. S., Zhang, Z., Zhao, H. (1997).
JSIM: A JAVA-Based Simulation and Animation Environment, In Proceedings of the 30th Annual Simulation
Symposium, Atlanta, Georgia, 31–42.
72
[21] Raymond, G. M., Butterworth E, Bassingthwaighte J. B.
(2003). JSIM: Free Software Package for Teaching Physiological Modeling and Research. Experimental Biology
280,102–107
[22] Stodulka, P., Privitzer, P., Kofránek, J., Tribula, M., Vacek,
O. (2007): Development of WEB accessible medical educational simulators. In. Proceedings of the 6th EUROSIM
Congress on Modeling and Simulation, Vol. 2. Full Papers
(CD). (B. Zupanic, R. Karba, S. Blažič Eds.), University
of Ljubljana, ISBN 978-3-901608-32-2, MO-3-P4-2, 1–6.
2007. Článek je dostupnýá na adrese http://patf-biokyb.
lf1.cuni.cz/wiki/_media/clanky/development_of_web_
accessible_medical_simulators.pdf?id=wiki%3Auser%3Aseznam_publikaci&cache=cache
P o d ě ko v á n í
Práce na vývoji lékařských simulátorů je podporována grantem
MŠMT č.2C06031 a společností BAJT servis s.r.o.
Obrázek 1: Grafické schéma rozsáhlého modelu cirkulace A. C.
Guytona a spol. z roku 1972, publikovaného v Annual Review
of Physiology. Přetištěno s laskavým svolením Annual Review of
Physiology.
Obrázek 2: Detail Guytonova modelu z roku 1972. Model byl
pro běžného čtenáře fyziologických časopisů na první pohled
poněkud nepřehledný. Nebyl však jen směsicí čar a symbolů.
Reprezentoval matematické vztahy, vyjádřené pomocí propojených symbolů pro funkční závislosti (Funtional block), dělení
(Divider), násobení (Multiplier), integrování (Interator), scítání
a odčítání (Summator). Tak například propojením tří bloků se
dala graficky vyjádřit závislost pulmonárního kapilárního tlaku
(PCP) na středním tlaku v levé síni (PLA) a na středním tlaku
v pravé síni (PPA) vyjádřená vztahem PCP= 0,55 PLA + 0,45
PPA.
MEFANET report 01
Obrázek 3: Guytonův model vyjadřoval zpětnovazebné propojení
osmnácti subsystémů, ovlivňujících funkci cirkulačního systému,
jako graficky zobracenou soustavu matematických vztahů.
Obrázek 4: Spojení internetu, multimediálního prostředí, sloužícího jako zvukové a vizuální uživatelské rozhraní, se simulačními modely umožňuje studentům po připojení do kouzelné
internetové pavučiny si názorně "osahat" vykládaný problém
ve virtuální realitě. Staré Komenského krédo – "škola hrou" tak
dnes nachází své moderní uplatnění.
Obrázek 5: Příklad využití rozpojení fyziologických subsystémů
z vnějších regulačních smyček v simulátoru GOLEM. Stisknutím tlačítka odpojíme řízení hladiny hormonu aldosteron z regulace. Pootočením knoflíku pak hladinu aldosteronu násilně
zvýšíme (A). Po čase vidíme na schématu vylučování draslíku
v ledvinách, že draslík se ve zvýšené míře vylučuje močí. Jeho zásoby v plazmě jsou však malé a ledvinné ztráty pak vedou k tomu,
že draslík se přesouvá do mimobuněčné tekutiny (a plazmy)
z buněk (B). Výstup draslíku z buněk je však provázen vstupem
vodíkových iontů do buněk (C), důsledkem je rozvoj extracelulární metabolické acidózy (D).
Obrázek 6: Dva typy problémů při tvorbě lékařských simulátorů
a e-learningových programů využívajících simulační hry.
Obrázek 7: Grafické vyjádření násobiček (Multiplier), děliček
(Divider), sumátorů (Summator), integrátorů (Integrator)
a funkčních bloků (Functional block) v grafické notaci, navržené A.C.Guytonem (fotografie vlevo dole) a v nástroji pro tvorbu
simulačních modelů Simulink od firmy Matworks.
Obrázek 8: Oprava chyb v grafickém schématu modelu
A.C.Guytona z roku 1972.
73
MEFANET report 01
Obrázek 9: Implementace Guytonova modelu z roku 1972
v moderním nástroji pro tvorbu simulačních modelů Matlab/
Simulink.
Obrázek 10: Pravá horní část grafického znázornění Guytonova
modelu z roku 1972: Subsystém dodávky kyslíku do „nesvalových tkání“.
Obrázek 11: Část modelu A.C. Guytona z roku 1972 v nástroji
pro tvorbu simulačních modelů, která odpovídá grafickému
znázornění z předchozího obrázku. Implementace subsystému
dodávky kyslíku do „nesvalových“ tkání v prostředí Matlab/
Simulink.
74
Obrázek 12: Subsystém dodávky kyslíku do „nesvalových tkání“
vyjádřený jako simulační čip. Zapojení odpovídá stejnému schématu jako na předchozím obrázku, vnitřní struktura počítacích
prvků je však skryta uvnitř simulačního čipu. Model je pak „čitelnější“ a srozumitelnější i pro experimentální fyziology.
Obrázek 13: Implementace Guytonova modelu z roku 1972
v prostředí Matlab/Simulink, vyjádřená jako propojené simulační čipy. Každý ze simulačních čipů odpovídá jednomu
z 18 propojených subsystému.
Obrázek 14: Implementace Guytonova modelu z roku 1986
v prostředí Matlab/Simulink ve formě simulačních čipů. Matematické vztahy jsou ukryty v simulačních čipech, propojení
simulačních čipů znázorňuje uvažované vazby mezi jednotlivými
subsystémy. Zdrojový text programu, včetně podrobného popisu
významu všech rovnic je k dispozici na adrese http://physiome.
cz/guyton.
MEFANET report 01
propojené prvky reprezentují jednotlivé matematické vztahy.
Ke každému čipu je dynamicky připojena příslušná dokumentační stránka, která obsahuje věcný popis funkce čipu včetně
popisu matematických vztahů, které jsou jejím podkladem.
Simulační čipy mohou být ve vývojovém prostředí Simulink soustřeďovány do hierarchicky uspořádaných knihoven (viz obrázek
vpravo). Z nich pak lze jednotlivé čipy "vytahovat" pomocí myši
(jako z palety nástrojů), umísťovat je do vytvářené aplikace,
propojovat je a vytvářet složitější modely. Implementace námi
vytvořené knihovny simulačních čipů (obsahujících, mimo jiné
i simulační čip „Golem“, je volně stažitelná z adresy http://physiome.cz/simchips.
Obrázek 15: Ukázka hierarchického uspořádání simulačního
čipu, reprezentujícího simulační model, který je podkladem pro
simulátor GOLEM. V prostředí Simulinku je možno snadno
otestovat jeho chování – k jednotlivým "vstupním pinům" lze
přivést vstupní hodnoty (nebo průběhy hodnot) a od "výstupních
pinů" na virtuálních displejích či osciloskopech odečítat výstupy, resp. časové průběhy výstupů. Vpravo je zobrazen „vnitřek"
simulačního čipu nejvyšší hierarchické úrovně. Struktura připomíná elektrickou síť s propojenými integrovanými obvody, které
v daném případě reprezentují simulační čipy nižší hierarchické
úrovně. V následujícím obrázku je znázorněn obsah čipu "Blood
Acid Base Balance".
Obrázek 16: Simulační čipy mají hierarchické uspořádání.
Na obrázku je znázorněn "vnitřek" jednoho ze simulačních čipů
z předchozího obrázku. Vzhledem k tomu, že každý jednotlivý
simulační čip obsahuje dostatečně podrobnou dokumentaci
o svých vstupech a výstupech, může být struktura vztahů uvnitř
simulačního čipu (reprezentující fyziologické vztahy v reálném
organismu) srozumitelná fyziologům. Na dalším obrázku je zobrazen obsah čipu "BEINV".
Obrázek 18: Komunikace systému Control Web s ovladačem
řídící/měřící karty při tvorbě průmyslových aplikací. Měřící
ústředny či velín průmyslové aplikace, vytvořené v prostředí Control Web komunikuje přes vstupní a výstupní kanály s řadičem
měřící/řídící karty, která komunikuje s propojeným technologickým zařízením.
Obrázek 19: Začlenění simulačního modelu do ovladače "virtuální karty" při tvorbě simulátoru v prostředí Control Web.
Simulátor vytvořený v prostředí Control Web komunikuje přes
vstupní a výstupní kanály s řadičem virtuální (v hardwarové podobě neexistující) měřící/řídící karty. V tomto řadiči je „ukryt“
simulační model. Vstupní proměnní jsou simulačnímu modelu
„posílány“ přes výstupní kanály aplikace v Control Webu. Výstupy modelu jsou čteny, obdobně jako měřené výstupy technologického zařízení, prostřednictvím vstupních kanálů. Aby nebylo
nutno ručně programovat řadič s „ukrytým“ simulačním modelem, vyvinuli jsme speciální nástroj, který automaticky generuje
zdrojový text řadiče v jazyce C přímo z modelu, implementovaného v Simulinku.
Obrázek 17: Simulační čipy na nejnižší hierarchické rovni jsou
tvořeny propojenými základními komponenty vývojového systému Matlab/Simulink (sumátory, násobičkami, integrátory
aj.) a případně i simulačními čipy dalších nižších úrovní. Tyto
75
MEFANET report 01
Obrázek 20: Kreativní propojení nástrojů a aplikací pro tvorbu
simulátorů a výukových programů využívajících simulační hry.
Základem e-learningového programu kvalitní scénář, vytvořený
zkušeným pedagogem. Tvorba animovaných obrázků je odpovědnost výtvarníků, kteří vytvářejí interaktivní animacev prostředí
Adobe Flash. Jádrem simulátorů je simulační model, vytvářený
v prostředí speciálních vývojových nástrojů, určených pro tvorbu
simulačních modelů. V naší laboratoři zde využíváme prostředí
Matlab/Simulink od firmy Matworks (a v poslední době i nástroje pro práci se simulačním jazykem Modelica). Vývoj simulátoru je náročná programátorská práce, pro jejíž usnadnění jsme
vyvinuli speciální programy, usnadňující automatický převod
vytvořeného simulačního modelu z prostředí Matlab/Simulink
do prostředí Control Web a Microsoft .NET.
Obrázek 23: Tzv. MVC architektura při tvorbě simulátorů. Mezi
vrstvu modelu a vrstvu uživatelského rozhraní je vhodné vložit
řídící vrstvu, kam jsou směrovány veškeré zprávy a události vznikající ve virtuálních přístrojích uživatelského rozhraní, a kam je
zároveň směrována veškerá komunikace s modelem. V této vrstvě
se řeší veškerý kontext zobrazovaných dat a příslušné požadavky
na komunikaci s modelem. Veškerá logika zobrazování a komunikace je pak soustředěna do jednoho místa, což podstatně ušetří čas při modifikacích uživatelského rozhraní nebo změnách
modelu.
Obrázek 24: Využití simulačních modelů v internetových e-learingových kurzech. Dispečer simulačních modelů funguje obdobně jako prohlížeč obrázků, jen s tím rozdílem, že místo zobrazení
obrázků spustí simulační program.
Obrázek 21: Příklad simulátoru vytvořeného v prostředí ControlWeb. Výstupy modelu jsou zobrazovány na ručkových měřících přístrojích a zároveň ovlivňují i tvar animovaného obrázku
ledvinného glomerulu (velikost, tloušťku šipek a číselnou hodnotu aj.), vytvořeného pomocí programu Adobe Flash.
Obrázek 25: Ilustrativní ukázka doprovodného simulátoru ve výukovém programu patofyziologie cirkulace.
Obrázek 22: Příklad simulátoru vytvořeného v prostředí Microsoft Visual Studio .NET. Výstupy modelu přenosu krevních
plynů jsou zobrazovány v číselné podobě i pomocí sloupcových
diagramů. Zároveň model ovlivňuje i tvar animovaného obrázku
schematicky znázorňujícího distribuci ventilace a perfúze v plicích, který byl vytvořen pomocí programu Adobe Flash.
76
MEDSOFT 2008
Jiří Kofránek, Jan Rusz, Stanislav Matoušek: Vzkříšení guytonova diagramu - od obrázku k simulačnímu modelu. In MEDSOFT 2008, sborník příspěvků,
(editor: Milena Ziethamlová) Agentura Action M, Praha, ISBN 978-80-8674222-9, str. 37-56, 2008. Práce je dostupná na adrese http://www.physiome.cz/
references/MEDSOFT2008a.pdf.
Vzkříšení Guytonova diagramu – od obrázku k simulačnímu modelu 57
VZKŘÍŠENÍ GUYTONOVA DIAGRAMU - OD OBRÁZKU K
SIMULAČNÍMU MODELU
Jiří Kofránek, Jan Rusz, Stanislav Matoušek
Anotace
Autoři popisují implementaci klasického mnohokrát přetiskovaného
Guytonova diagramu řízení krevního oběhu v prostředí Simulink.
Upozorňují, že v obrázkovém diagramu jsou chyby, které bylo nutné při
implementaci opravit. Autoři zachovali stejný vzhled simulinkového
modelu jako v původním grafickém schématu – rozložení, rozmístění
vodičů, názvy veličin i čísla bloků jsou stejné. Autoři závěrem konstatují,
že sebesložitější simulační modely jsou pouze teoretickým podkladem
pro výukové simulátory určené pro výuku lékařů.
Klíčová slova
Guytonův diagram, simulační modely, Simulink, výukové simulátory
1. Úvod
Před šestatřiceti lety vyšel v časopise Annual Review of Physiology
článek [1], který se svou podobou již na první pohled naprosto vymykal
navyklé podobě fyziologických článků té doby. Byl uveden rozsáhlým
schématem na vlepené příloze (obr. 1).
Schéma plné čar a propojených prvků na první pohled vzdáleně
připomínalo nákres nějakého elektrotechnického zařízení. Místo
elektronek či jiných elektrotechnických součástek však zde byly
zobrazeny propojené výpočetní bloky (násobičky, děličky, sumátory,
integrátory, funkční bloky), které symbolizovaly matematické operace
prováděné s fyziologickými veličinami. Svazky propojovacích vodičů
mezi bloky na první pohled vyjadřovaly složité zpětnovazebné propojení
fyziologických veličin. Bloky byly seskupeny do osmnácti skupin, které
představovaly jednotlivé propojené fyziologické subsystémy.
2. Pavučina fyziologických regulací
Vlastní článek tímto, tehdy naprosto novým, způsobem pomocí
matematického modelu popisoval fyziologické regulace cirkulačního
systému a jeho širší fyziologické souvislosti a návaznosti na ostatní
subsystémy organismu – ledviny, regulaci objemové a elektrolytové
rovnováhy aj. Místo vypisování soustavy matematických rovnic se v
článku využívalo grafické znázornění matematických vztahů. Tato
58 J. Kofránek, J. Rusz. S. Matoušek
Obr. 1. Guytonův diagram regulace krevního oběhu
syntaxe umožnila graficky zobrazit souvislosti mezi jednotlivými
fyziologickými veličinami ve formě propojených bloků reprezentujících
matematické operace.
Vlastní popis modelu byl pouze ve formě základního (ale přesto
plně ilustrativního) obrázku. Komentáře a zdůvodnění formulací
matematických vztahů byly velmi stručné. Např. „bloky 266 až 270
počítají vliv buněčného PO2, autonomní stimulace a bazální rychlosti
spotřeby kyslíku tkáněmi na skutečnou rychlost spotřeby kyslíku v
tkáních“. Od čtenáře to vyžadovalo nadmíru velké soustředění (i jisté
fyziologické a matematické znalosti) pro pochopení smyslu
formalizovaných vztahů mezi fyziologickými veličinami.
O rok později, v roce 1973, vyšla monografie [2], kde byla řada
použitých přístupů vysvětlena poněkud podrobněji. Guytonův model byl
určitým mezníkem – byl prvním rozsáhlým matematickým popisem
fyziologických funkcí propojených subsystémů organismu a odstartoval
oblast fyziologického výzkumu, která je dnes někdy popisována jako
integrativní fyziologie.
3. Šém pro Guytonův diagram
Guytonův model i jeho další modifikace byly původně
implementovány ve Fortranu a později v jazyce C++. Dnes jsou pro
Vzkříšení Guytonova diagramu – od obrázku k simulačnímu modelu 59
vývoj, ladění a verifikaci simulačních modelů k dispozici specializovaná
softwarová simulační prostředí. Jedním z nich je např. vývojové prostředí
Matlab/Simulink od firmy Mathworks, které umožňuje postupně
sestavovat simulační model z jednotlivých komponent – jakýchsi
softwarových simulačních součástek, které se pomocí počítačové myši
mezi sebou propojují do simulačních sítí. Simulinkové počítací prvky jsou
velmi podobné prvkům, které pro formalizované vyjádření fyziologických
vztahů použil Guyton. Rozdíl je jen v jejich grafickém tvaru.
Tato podobnost nás inspirovala k tomu, abychom prostřednictvím
Simulinku vzkřísili starý klasický Guytonův diagram a převedli ho do
podoby funkčního simulačního modelu. V simulinkové implementaci
modelu jsme využili i přepínače, kterými můžeme odpojovat nebo
zapojovat jednotlivé subsystémy a regulační smyčky i za běhu modelu.
Vnější vzhled simulinkového modelu jsme se snažili zachovat zcela
stejný jako v původním grafickém schématu – rozložení, rozmístění
vodičů, názvy veličin i čísla bloků jsou stejné.
4. Chyby v Guytonově diagramu
Simulační vizualizace starého schématu nebyla úplně snadná –
v originálním obrázkovém schématu modelu jsou totiž chyby!
V nakresleném obrázku to nevadí, pokusíme-li se ho ale oživit
v Simulinku, pak model ihned zkolabuje jako celek. Chyb nebylo mnoho
– přehozená znaménka, dělička místo násobičky, prohozené propojení
mezi bloky, chybějící desetinná tečka u konstanty atd. Stačily však na to,
aby model nefungoval. Některé chyby bylo možné vidět na první pohled
(i bez znalosti fyziologie) – ze schématu je patrné, že při běhu modelu by
hodnota veličin v některých integrátorech (díky špatně zakreslené zpětné
vazbě) rychle vystoupala k nekonečnu a model by zkolaboval. Při
znalosti fyziologie a systémové analýzy se ovšem na všechny chyby, při
troše námahy, dalo přijít (obr. 2). Podrobný popis chyb a jejich oprav je v
[5].
Je zajímavé, že Guytonův diagram byl jako složitý obrázek
mnohokrát přetiskován do nejrůznějších publikací (v poslední době viz
např. [3,8]). Nikdo ale na chyby neupozornil a nedal si práci tyto chyby
odstranit. To bylo pochopitelné v době, kdy obrázkové schéma vznikalo.
Ještě neexistovaly kreslící programy – obrázek vznikal jako složitý
výkres – a ruční překreslování složitého výkresu nebylo snadné. Možné
je i to, že sami autoři modelu opravovat chyby ani příliš nechtěli – kdo si
dal práci s analýzou modelu, obrazové "překlepy" odhalil, kdo by chtěl
jen tupě opisovat, měl smůlu. Konec konců, ve své době autoři rozesílali
i zdrojové texty programů svého modelu v programovacím jazyce Fortran
– takže pokud někdo chtěl pouze testovat chování modelu, nemusel nic
60 J. Kofránek, J. Rusz. S. Matoušek
Obr. 2. Nejzávažnější chyby v Guytonově diagramu a jejich oprava
programovat (maximálně pouze rutinně převedl program z Fortranu do
jiného programovacího jazyka).
Námi vytvořená Simulinková realizace (opraveného) Guytonova
modelu (obr. 3) je zájemcům k dispozici ke stažení na adrese
www.physiome.cz/guyton. Na této adrese je i naše Simulinková realizace
mnohem složitější verze modelu Guytona a spol. z pozdějších let.
Zároveň je zde i velmi podrobný popis všech použitých matematických
vztahů se zdůvodněním.
5. Od simulační pavučiny k simulátorům
Spletitá pavučina počítacích bloků Guytonova modelu,
implementovaná v prostředí Simulinku, působí sice svou složitostí na
první pohled impozantně, pro využití ve výuce fyziologie na lékařských
fakultách je ale nevhodná. Model implementovaný ve vývojovém
prostředí pro simulace je možnou výukovou aplikací pro studenty
bioinženýrství, nikoli však pro mediky a lékaře. Ti preferují simulátory
vyjádřené spíše jako interaktivní animované obrázky fyziologického
atlasu provázené grafy, schématy a vysvětlujícími texty.
Vzkříšení Guytonova diagramu – od obrázku k simulačnímu modelu 61
NON-MUSCLE OXYGEN DELIVERY
MUSCLE BLOOD FLOW CONTROL AND PO2
260
02M
OSV
168
269
xo
227
237
239
5
PK1
258
PK3
RDO
238
u^3
198.7
263
BFM
5
PM4
225
DOB
x
1 o
s
200
P4O
235
Xo
P2O
upper limit 8
265
7.983
224
271
POT^3
1
s
POT
8.0001
60
P3O
242
PVO
BFN
223
u^3
P3O^3
233
250
244
OVA
1
POM
200
QO2
0.00333
RMO
57.14
234
40
P1O
1
1
272
upper limit 8
232
OSA
255
HM
xo
271
lower limit .005
251
248
241
2400
u^3
POE
1
DVS
5
252
AOM
1
8
MO2
8.0001
0.08
PM5
8
VPF
POT
249
PMO
0.5
2.859
PDO
243
122
2.8
8
1
253
247
P2O
2400
256
264
1
0.25
-1
1
s x
o
0.7
231
OVA
P40^3
266
236
QOM
257
40
2688
lower limit 50
1
246
5
OVA
512
267
AMM
1
s x
o
0.15
u^2
PM1^2
2500
230
40
POV
254
02A
226
262
POT
AU
1
lower limit .001
229
RMO
245
PMO
800
5
268
PM3
240
PK2
259
0.7
POV
270
228
BFM
1
261
AOM
1
1
s
57.14
512
EXC
HM
40
1
0.0125
PVO
40
8
0.9999
1
NON-MUSCLE OXYGEN DELIVERY
VASCULAR
STRESS
RELAXATION
MUSCLE BLOOD FLOW CONTROL AND PO2
260
OSV
168
1
1
s
57.14
02M
PK3
RDO
230
lower limit 50
u^3
198.7
263
BFM
5
225
DOB
1
s
235
u^3
271
POT^3
HM
xo
271
1
s
POT
VVE
0.5
250
244
u^3
P3O^3
233
AAR
PDO
EXC
213
207
CNY
NOD
CNA
142
0.3333
CN8
139
0.001
0.025
2.5
1.2
177
PRA
0
CNX
178
179
AHM
1
1.2
AOM
1
s
CNE
10
0.0007
2
181
REK
28
1
0.9864
AHY
180
AHZ
AH7
100
AUM
0.9999
184
lower limit 3
CNR
RBF
RBF
RFN
AMM
0.14
AH
222
214
1.2
RFN
1
1
s
158A
183
182
176
1
lower limit 0
lower limit 0.35
PVO
AHC
185
0.0785
AH1
187
10u
CNZ
175
0.1024
201
1
40
1
40
6
AH2
NOD
6
AM
AHM
1.2
ARF
195
0.3
249
512
HM
0.0125
186
AH4
6
AHM
upper limit 15.0
lower limit 0.4
RFN
1.5
0.08
8
189
AHM
0.9996
0.1
215
221
POM
243
122
VPF
188
1
220
216
1
GP3
1
PMO
0.5
2.859
8
AM
211
APD
202
1
PM5
2.8
8
POT
210
1
196
200
QO2
0.00333
60
PVO
223
GF4
GF3
1
s xo
VIM
OVA
272
upper limit 8
GF3
197
1
P3O
242
0.009
0.301
1
BFN
203
algebraic
loop
breaking
VIM
0.01028
VV1
62
8.0001
234
255
0.0009964
219
5
31.67
VV7
VV2
lower limit .005
251
248
0
TVD
0.01
217
1
63
VV7
1
7.983
241
57.14
lower limit 0
191
190
AHM
1000
209
PPC
51.66
TVD
4
Z11
Z10
GLP
VV6
POE
P2O
upper limit 8
AAR
198
18
61
40
P1O
0
1
8
Xo
RMO
232
OSA
8.25
1
1
212
1
224
194
STH
1
STH
0.001022
TRR
0.8
33
AOM
2400
xo
DVS
2400
0.001
PFL
AAR
SRK
252
VUD
lower limit 0.0003
VV7
P2O
0.7
231
200
5
265
193
192
POT
8
VUD
0.00781
EVR
0.25
256
264
MO2
8.0001
1
253
247
218
GFR
208
199
-1
1
s xo
OVA
P40^3
206
0.125
1
s
PM4
257
40
P4O
266
236
QOM
238
THIRST AND DRINKING
GFN
205
200
65
64
5
OVA
2688
1
KIDNEY DYNAMICS AND EXCRETION
RR
1
246
512
267
u^2
PM1^2
2500
40
POV
AMM
1
s xo
0.15
226
262
254
02A
237
239
PK1
258
POT
AU
1
lower limit .001
229
5
RMO
245
PMO
800
227
5
268
PM3
240
PK2
259
0.7
POV
270
228
BFM
1
xo
261
AOM
269
AOM
0.9864
AMM
PPC
AM
1
1
AU
AH8
1
lower_limit_0
1
NON-MUSCLE LOCAL BLOOD FLOW CONTROL
40
POV
POB
276
277
278
POD
274
275
273
ARM
1
s
xo
AK1
1
POK
lower limit 0.2
1
40
1
s
xo
VIM
A2K
1
lower limit 0.5
30.5
1
AR2
AUM
PAM
RAR
0.1
1.2
1
POC
283
286
100
284b
0.495
A3K
0.3
1
if (POD<0) {POJ=PODx3.3}
1
PA
VAE
VAS
VVR
6
1
s
BFN
PGS
VV8
VVS
0.3
QVO
VVS
lower limit 0.0001
VVE
0.0825
QVO
0.4
PPC
73
69.76
3.7
0.001879
VTC
75
152
CPK
0
1
0
P2O
293
295
8
296
297
PLA
CPA
54
VLA
PP1
QLN = f(PLA)
u^3
AUK
304
0
50
RVM = f(PP2)
RPT
Z8
309
AUB calculation
0
PLA
23
6
RPT
QPO
QRO
20
21
22
PGL
AU8
xo
1
AUJ
xo
314
AUL
312
AUV
0.9993
VID
CKI
GP2
PIF
84
313
PTS
VIF
12
GPD
VVR
2.95
319
0.9998
PPA
150
0.4667
0.55
0.9994
xo
12
151
0.9997
138
VIE
0.375
PPD
32
327
0.0003
152
HMD
AU
0.5
PFI
2-(0.15/u)
0.0125
142
xo
1
96
V2D
352
0.1
xo
1
VPF
PPI = 2 - (0.15/VPF)
93
94
PGC
PGR
0.01252
333
CNA
118
NED
0.25
119
xo
2130
0.1
1
s
NAE
CNA
142.1
142
NID
334
344
1
349
HMD
VRC
2
1
xo
1
s
1
HPL
1
xo
1
s
HPR
1
STH
PGH
0.1
1
VG
1
RKC
VRC
117
99
PGP
PTC
5
RC2
CHY^2
116
upper limit 1
HMD
100
VPF
REK
u^2
PG2
95
PIF
57600
348
40
-1.154e-008
1
s
0.00042
NOD
1
s
0.4
VB
DFP
0
124
CKE
125
126
KOD
HPR
347
57600
343
40
0.0000058
DFP
PLF
1
5
123
98
1
342
HM
335
PPI
141
1
HEART RATE AND STROKE VOLUME
KE
120
HM
143
1
s
xo
75
0.013332
DHM
336b
2
2
VRC
1
KID
11.4
VGD
100
u^0.625 PP3^0.1
HPL
xo
11
0.00014
KED
0.0028
(u/12)^2
0.0025
351
1
s
140
5
HMK
90
RCD
144
0.0003
PTT = (VTS/12)^2
6
PP3
346
u^0.625 PA4^0.625
336
PPO
CPF
0
40
140
AM
122
121
97
332
2
PRA
321
324
325
2850
KE1
127
CKE
5
xo
350
345
PTT
PLF
PLF 145
PPI
322
323
HR
POT
15
1
340
PPA4
341
KIR
KIE
KCD
0.013
KCD
HM2
RC1
331
POS
139
SVO
100
1
0.5333
POS
PPC
QLO
337
3550
1
464e-7
PPD
0
VIC
1
s
128
129
GPR
1
s
85
330
-9.648e-008
148
PPN
PCP
130
113
101
VTS
PPA
HSR
POY
147
AVE
11.98
PA
HSL
xo
AVE
AUTONOMIC CONTROL
8
15
100
1.5
lower limit 0.2375
xo
VG
VG
0.000225
1
10
86
VTS
338
0.333
0.4
xo
25
PTS = f(VIF)
VIM
339
1
VPF
1
s
135
VID
1
s
88
0
0.999
VIM
POT
329
PO2
PPR
149
137
AUM
0
134
1
s
112
8.25
146
15
PPC
320
PO1
CPN
CPP
28
136
AUH
1
1
0.01
131
171
xo
0
8
70
2.949
AUH
0.5
0
VVR
0.7
AUY
CCD
CNA
KI
-6.3
1
s
PLA
AUD
315
1
318
133
132
111
VIC
VID
VV9
0.3
1
8.154e-006
110
0.0005
87
20
3.159
AU
0.15
326
1
s
VTL
83
VTD
0.85
0.07026
xo
12
GPD
0
CIRCULATORY DYNAMICS
1
0
0.21
AU9
328
VIF
DPL
0.1
IFP
AUJ^AUZ
316
1
SVO
14
103
DPI
VPA
0.0048
VTC
1
s
uv
AUN calculation
AUM
0.005
PRA
0.09477
0.38
0.30625
15
GP1
0.002
311
AU
1
104
102
PRA
1
s
VPA
VPE
PPA
AUZ
1
310
AUN
AUN
15
18
19
15.18
170
xo
ALDOSTERONE CONTROL
DPC
0.04
VRA
QRN = f(PRA)
QPO
PPA
xo
0.25
lower limit 4
20
-4
PTT
20
PIF
PR1
0
109
CPI
-6.334
AUH
1
1
s
1
s
AMC
lower limit 6
9
1
s
VRA
169
60
KN1
CNA
0.04
PRA
QRN
PPA
AUB
PTC
xo
51
AUH
0.026
308
AMR
200
166
165
CKE
5
142
105
AMT
AMP = f(PA)
0.00352
7.8
CPI
0.1
13
1
0
106
PIF
20.18
108
DPL
5
DRA
15
0
PLD
0.004
lower limit 5
0.002
PTC
0
PP2
AUN CALCULATION
when PA1<50: AUN=6
when 20>PA1<50: AUN=0.2*(50-PA1)
when PA1>=50: AUC=0
317
107
VTL
5.045
12
QRO
16
52
PL1
AU2
0.0005
305
when PA1<40: AUB=1.85718
AUB
when 40>PA1<170: AUB=0.014286*(170-PA1)
when PA1>=170: AUB=0
0.0357
20
57
PLA
DAU
AUB^3
171
-0.017
168
AM1
DPL
VTL
HMD
HMD
RVM
lower limit 0
0.4
DLA
24
0.03791
0.001879
HPR
1.4
55
RPV
AUB CALCULATION
PA1
QVO
1
1
56
1
xo
307
1
303
AU6
301
AM2
AM3
AMP
HSR
50
20
-4
1
s
VLA
302
A1B
19.8
167
PA
100
AUH
48
sqrt
QLO
1
AUC
172
AM5
10u
11
49
RPA
0
AUC
AUC calculation
173
174
AM
1
ANM
164
1
RVM
53
QLN
25
AUC CALCULATION
PA1
AM
4
26
EXC
when PA1<40: AUC=1.2
when 40>PA1<80: AUC=0.03*(80-PA1)
when PA1>=80: AUC=0
15
1
0.4
Z12
PA1
20.039
0.9984
1
RVG
2.738
VLE
0.1
1.24
PA1
VP
QRF
47
28
8
POQ
3
EXE
3.002
VTL
0.002
PR1
PVS
0.6
QLN
44
27
298
ANGIOTENSIN CONTROL
DPC
10
QLO
260
LVM = f(PA2)
0
100
294
0.03824
20
PVS
45
46
0.01453
PLA
8
upper limit 8 PA
lower limit 4
15
ANT
DPC
0.04
VP
1
s
3
PA2
LVM
PLA
POT
POQ
8
xo
3
VRA
0
HMD
HPL
QLO
5.07
QLO
291
292
0.1
CPI
71
VPD
VUD
DFP
158
AN1
ANM
1.6283e-007
70
0.001
5
VPA
157
156
155
CNE
74
TVD
0.001
VVS
VB
VLA
58
QLN
1
10
CP1
60
VAS
PA
1.4
1
LVM
1
s xo
ANC
154
CNA
142
PC^3
PVS
59
HSL
29
5
QAO
159
(1.2/u)^3
(1.2/RFN)^3
10
CPP
74
u^3
VAS3
DAS
30
RFN
1.2
CNE
0.002
CV
0.042
153a
16.79
PTC
AN2
10u
153b
28
5
160
161
AN3
4.0
REK
VTC
PVS
3.3
lower limit 0.7
210
CPP
9
xo
3.25
2.8
100
3.774
8
AN5
1.004
xo
PPC
69
0.007
-6.3
2.95
DVS
7
xo
0.85
AR3
1
s
xo
1
s
POZ
289
1
32
lower limit 0.3
5
VBD
2
RSN
33
0.33
11520
288
CFC
PIF
PVS
162
163
1
ANM
ANM
1
s
VP
72
VP
0
QAO
2.859
0.00355
31
PRP
2
VV7
0.3216
BFN
0.04
61
CPP
62
4
PA
POJ
VVE
RBF
80
70
68
VRC
BFM
100
16.79
VB
RVS
DPP
0.00047
PC
5.002
2.781
34
DPL
DLP
LPK
CPR
VB
5
17
284
287
PC
17
1.011
AUM
DP0
78
77
85
17
PC
0.007
0
67
PVS
3.7
79
PPD
PVG
BFN
2.8
39
41
CN2
17
PAM
AUM
66
1.6379
0
0.2
0.0212
RV1
2.9
BFM
PGS
RAR
1
PON
20
RV1
43
1
3
37
ANTIDIURECTIC HORMONE CONTROL
RVS
1
s xo
CN7
1.79
RVS
RSM
AUM
RAM
VIM
CAPILLARY MEMBRANE DYNAMICS
2.9
41A
38
AMM
VIM
RAM
96.3
35
ANU
1.6
ARM
AR3
AR1
36
ANU
1
279
280
42
1
1
290
POA
281
282
285
algebraic
loop
breaking
40
1
AVE
lower limit 0.95
ARM
POR
0.06
1
AR1
ANM
1
0.9387
57
HYL
PTS
89
90
91
VIC
PIF
92
VPF
114
0.0125
115
VEC
CHY
39.97
VTW
PRM
-5.9
3
VP
VTW
24.2
12
VTS
0.0125
PULMONARY DYNAMICS AND FLUIDS
RED CELLS AND VISCOSITY
HEART HYPERTROPHY OR DETERIORATION
TISSUE FLUIDS, PRESSURES AND GEL
ELECTROLYTES AND CELL WATER
Obr. 3. Implementace Guytonova diagramu regulace krevního oběhu v Simulinku
Simulační model je proto pouze teoretickým východiskem
k výukovému simulátoru. Od simulačního modelu k interaktivnímu
výukovému simulátoru je poměrně náročná cesta, kterou mohou
usnadnit vhodně zvolené vývojové nástroje a odpovídající technologický
postup [4].
Technologiím tvorby simulátorů, trendům budoucího vývoje, našim
zkušenostem i záměrům v této oblasti jsou věnovány naše dva další
články v tomto sborníku [6, 7].
62 J. Kofránek, J. Rusz. S. Matoušek
6. Literatura
[1]
Guyton AC, Coleman TA, and Grander HJ. (1972): Circulation:
Overall Regulation. Ann. Rev. Physiol., 41, s. 13-41.
[2] Guyton AC, Jones CE and Coleman TA. (1973): Circulatory
Physiology: Cardiac Output and Its Regulation. Philadelphia: WB
Saunders Company,1973.
[3] Hall J.E. (2004): The pioneering use of system analysis to study
cardiac output regulation. Am.J.Physiol.Regul.Integr.Comp.Physiol.
287:R1009-R10011,2004,287: s. 1009-1001.
[4] Kofránek J, Andrlík M, Kripner T, Stodulka P. (2005): From Art to
Industry: Development of Biomedical Simulators. The IPSI BgD
Transactions on Advanced Research 2 (Special Issue on the
Research with Elements of Multidisciplinary, Interdisciplinary, and
Transdisciplinary: The Best Paper Selection for 2005), s.62-67.
[5] Kofránek, J, Rusz, J., Matoušek S., (2007): Guytons Diagram
Brought to Life - from Graphic Chart to Simulation Model for
Teaching Physiology. In Technical Computing Prague 2007. Full
paper CD-ROM proceedings. (P. Byron Ed.), Humusoft s.r.o. &
Institute of Chemical Technology, Prague, ISBN 978-80-78-658-6, 113, 2007. Článek, včetně zdrojových textů programů je dostupný na
adrese http://www.humusoft.cz/akce/matlab07/sbor07.htm#k
[6] Kofránek, J., Privitzer P., Stodulka, P. (2008): Technologie a trendy
tvorby výukových simulátorů. Ibid.
[7] Stodulka, P., Privitzer, P., Kofránek, J. (2008): Jednoduchá
simulační hra krok za krokem aneb od představy k hotovému. Ibid.
[8] Van Vliet, B.N., Montani J.P. (2005):,Circulation and fluid volume
control. In: Integrative Physiology in the Proteomica and Post
Genomics Age. Humana Press, 2005, ISBN 918-1-58829-315-2, s.
43-66
Poděkování
Práce na vývoji lékařských simulátorů je podporována projektem
Národního programu výzkumu č. 2C06031, rozvojovým projektem MŠMT
C34/2008 a společností BAJT servis s.r.o.
Jiří Kofránek
Laboratoř biokybernetiky a počítačové
podpory výuky, ÚPF 1. LF UK, Praha
U nemocnice 5, 128 53 Praha 2
tel: 777686868
e-mail: [email protected]
http://www.physiome.cz
MEDSOFT 2008
Jiří Kofránek, Pavol Privitzer, Petr Stodulka: Technologie a trendy tvorby
výukových simulátorů. In MEDSOFT 2008, sborník příspěvků, (editor:
Milena Ziethamlová) Agentura Action M, Praha, ISBN 978-80-86742-229, str. 37-56, 2008. Práce je dostupná na adrese http://www.physiome.cz/
references/MEDSOFT2008b.pdf.
Technologie a trendy tvorby výukových simulátorů 37
TECHNOLOGIE A TRENDY TVORBY VÝUKOVÝCH
SIMULÁTORŮ
Jiří Kofránek, Pavol Privitzer, Petr Stodulka
Anotace
Autoři popisují stávající a budoucí technologii vytváření výukových
simulátorů. Zdůrazňují oddělené řešení dvou problémů – tvorbu
simulačních modelů a tvorbu vlastních simulátorů, pro něž musí být
zvoleny různé nástroje. Budoucnost nástrojů pro tvorbu simulačních
modelů vidí v programovacím jazyku Modelica, pro vytváření simulátorů
se orientují na platformu .NET. Plánují vytvořit implementaci vývojového
prostředí Modelicy v platformě .NET. Prozatím vytvořili pro projekt
OpenModelica rozšíření pro konverzi modelu z jazyka Modelica do
jazyka C#.
Klíčová slova
Výukové simulátory, simulační hry, fyziologické modelování, Modelica,
.NET
1. Úvod – škola (simulační) hrou
Výukové programy se simulačními komponentami nejsou jen
multimediální náhradou klasických učebnic. Jsou zcela novou
výukovou pomůckou, kde nachází své moderní uplatnění staré krédo
Jana Ámose Komenského "Schola Ludus" (škola hrou), které tento
evropský pedagog razil již v 17. století. Spojení multimediálního prostředí
se simulačními modely studentům umožňuje pomocí experimentů se
simulačním modelem názorně prozkoumat vykládaný problém ve
virtuální realitě a přináší tak zcela nové možnosti pro vysvětlování
složitých problémů. Simulační hry umožňují názorně vysvětlit komplexní
vztahy ve fyziologických regulačních systémech a kauzální řetězce v
patogenezi nejrůznějších onemocnění.
Vývoj efektivních výukových programů kombinujících multimédia se
simulačními hrami je ale náročnou a komplikovanou prací, vyžadující
týmovou spolupráci řady profesí – zkušených pedagogů vytvářejících
základní scénář, tvůrců simulačních modelů, lékařů, výtvarníků a
programátorů. Tuto interdisciplinární kolektivní tvorbu zefektivňuje
využívání vhodných vývojových nástrojů, které umožňují komponentovou
tvorbu, propojení simulačních programů a interaktivních multimédií podle
daného scénáře do kompaktního celku.
38 J. Kofránek, P. Privitzer, P. Stodulka
Jedním z projektů, kde chceme využít nové možnosti multimédií a
simulačních modelů pro výuku, je počítačový Atlas fyziologie a
patofyziologie 1.
Atlas [7] je koncipovaný jako multimediální výuková pomůcka, která
by názornou cestou prostřednictvím Internetu a s využitím simulačních
modelů měla pomoci vysvětlit funkci jednotlivých fyziologických systémů,
příčiny a projevy jejich poruch. Viz http://physiome.cz/atlas. Atlas je
vytvářen jako společné dílo tvůrčího týmu odborníků různých profesí lékařů, programátorů, systémových inženýrů a výtvarníků 2. Projekt
atlasu je otevřený – jeho výsledky v českém jazyce na internetu volně
zpřístupňujeme všem zájemcům a při jeho vývoji uvítáme spolupráci se
všemi, kdo se budou chtít podílet na jeho postupném budování.
Ukažme si nyní, co vytváření obdobné interaktivní výukové
pomůcky vyžaduje, co je v zákulisí tvorby výukových simulátorů a jaké
jsou současné i budoucí možnosti technologií, které tvorbu těchto
moderních výukových pomůcek usnadňují.
2. Scénáristé výukových her
Obdobně jako sebelepší učebnice zcela nenahradí učitele, tak ho
nevytlačí ani seberafinovanější výukový program. A stejně tak jako
klíčovým faktorem pro úspěch vysokoškolských učebnic je schopnost
jejich autorů názorně a věcně správně vyložit složitou látku, tak pro zdar
výukového programu je nejdůležitější jeho kvalitní scénář. Napsat dobrý
učební text vysvětlující složité procesy není jednoduché a veškeré
pomůcky (multimédia, interaktivní animace, simulační modely apod.) –
tedy vše co si lze představit pod donekonečna omílaným slovem
e-learning – jsou bez dobrého scénáře vlastního výukového programu či
bez zkušeného učitele, který ví, jak složitý simulační model pedagogicky
využít, jen pouhou módní ozdobou.
Zkušenosti s využitím simulátorů ve výuce ukazují, že
sebesložitější simulátor je bez doprovodu jasného scénáře jeho
výukového využití jen těžko ovladatelným počítačovým "Frakensteinem".
Příkladem z poslední doby může být simulátor "Quantitative Circulatory
Physiology" [1] a jeho nástupce, v současné době snad nejsložitější
model fyziologických regulací, "Quantitative Physiological Human" 3, který
umožňuje vhodným nastavováním cca 750 parametrů simulovat
nejrůznější patologické stavy. Autoři simulátoru ho na své univerzitě s
úspěchem využívají ve výuce. Pro ty, kdo složitý simulátor dobře neznají,
je však sledování stovek proměnných nadmíru obtížné.
1
http://www.physiome.cz/atlas
více o technologii výstavby atlasu: http://www.physiome.cz/atlas/info/01/index.htm
3
dá se stáhnout z adresy: http://physiology.umc.edu/themodelingworkshop/
2
Technologie a trendy tvorby výukových simulátorů 39
Z vlastní zkušenosti víme, že pro autory je mnohem kreativnější
zamýšlet se nad vylepšením struktury a funkce vlastního simulátoru, než
psaní učebních textů a návodů. Bez jasně popsaného scénáře
pedagogického využití rafinovaně složitého simulátoru však úsilí, které
tvůrci po léta věnují jeho výstavbě, nepřináší kýžený pedagogický efekt.
Pro efektivní využití simulátorů by proto scénáře jejich využití ve výuce
neměly být opomíjeny.
U složitých simulátorů je z pedagogického hlediska výhodné, když
modelovaný objekt můžeme rozdělit na jednotlivé subsystémy a testovat
jejich chování odděleně i jako součást vyššího celku. Tím studentům
umožníme sledovat dynamiku chování jednotlivých subsystémů při
postupných změnách pouze jediného vstupu, zatímco jiné vstupy jsou
nastaveny na zvolenou konstantní hodnotu (tzv. princip "ceteris
paribus"). Postupně pak můžeme jednotlivé dočasně rozpojené
regulační vazby opět zapojovat a studovat jejich vliv na chování
organismu při nejrůznějších patologických poruchách a reakcích na
příslušnou terapii. Tak například v našem simulátoru Golem [6] můžeme
postupně odpojovat a zapojovat jednotlivé regulační smyčky ovlivňující
homeostázu vnitřního prostředí a tím postupně testovat význam
jednotlivých regulačních okruhů a ozřejmit si tím například souvislosti
poruch iontové a acidobazické rovnováhy. Podle našich zkušeností
právě tento přístup vede k lepšímu pochopení složitých dynamických
jevů v patogenezi nejrůznějších onemocnění a porozumění
patofyziologických principů příslušných léčebných zásahů.
Ideální je, když jsou simulátory přímo začleněni do multimediálního
výukového programu ve formě simulační hry. Příkladem jsou simulační
hry ve výše zmiňovaném Atlasu fyziologie a patofyziologie, o nichž jsme
referovali na minulých dvou seminářích MEDSOFT.
Pro začlenění multimediálních animací do simulačních her a
výkladu je podkladem pro tvorbu scénáře nejen (hyper)textová část, ale i
jakýsi "storyboard", který, obdobně jako při produkci kresleného filmu,
naznačuje výtvarníkům, jaké mají vytvářet animované obrázky. Důležité
je i vytvoření grafického manuálu, který sjednotí grafickou podobu celé
aplikace.
2. Dva typy problémů – dva druhy nástrojů
Při vytváření simulátorů a výukových simulačních her je nutno řešit
dva typy problémů:
1. Tvorba simulačního modelu – vlastní teoretická výzkumná práce,
jejímž výsledkem je formalizace fyziologických vztahů vyjádřená
matematickým modelem.
40 J. Kofránek, P. Privitzer, P. Stodulka
2. Tvorba vlastního multimediálního simulátoru a výukového
programu využívajícího simulační hry – vývojová práce, která
navazuje na vytvořené (a verifikované) matematické modely.
Obr. 1 Dva typy problému při tvorbě výukových simulátorů
Tvorba simulačního modelu i tvorba simulátoru spolu navzájem
úzce souvisejí (viz obr. 1). Předpokladem pro tvorbu výukového
simulátoru je dostatečně dobře verifikovaný model a na druhou stranu
využití simulátoru ve výuce přináší nové požadavky na vytvoření nových
či modifikaci stávajících simulačních modelů. Každý z těchto problémů
má svou specifiku a je proto výhodné pro každou etapu použít zcela
odlišné vývojové nástroje.
Vytvoření vlastního simulátoru je spíše vývojářskou prací, která
vyžaduje skloubit nápady a zkušenosti pedagogů, vytvářejících scénář
výukového programu, kreativitu výtvarníků, vytvářejících interaktivní
multimediální komponenty a úsilí programátorů, kteří "sešijí" výsledné
dílo do konečné podoby.
Formalizace fyziologických vztahů a vytváření simulačního modelu
není vývojářský, ale (poměrně náročný) výzkumný problém, jehož
efektivní řešení vyžaduje použít adekvátní nástroje. Těchto nástrojů je
celá řada – od profesionálních firemních nástrojů např. Matlab/Simulink
Technologie a trendy tvorby výukových simulátorů 41
od firmy Mathworks, které používáme v naší laboratoři až po nástroje
typu open-source, jako např. JSIM [8, 9], vyvíjený na Washington
University a používaný pro knihovnu fyziologických modelů v rámci
celosvětového projektu Physiome 4, koordinujícího aktivity v oblasti
formalizace popisu fyziologických regulací [2,4].
Někdy se nástroje pro tvorbu simulačních modelů zároveň
využívají i jako nástroje pro tvorbu výukových simulátorů. To ovšem v
konečném důsledku vede k určitému omezení, danému výrazovými
prostředky, které má příslušný vývojový nástroj k dispozici. Častější je
opačná situace – programování simulačního modelu přímo v prostředí
běžného programovacího jazyka na základě struktury modelu známé z
literatury. To je obvykle možné u jednodušších modelů. U složitějších
simulátorů je tento postup obtížnější, protože struktura rozsáhlých
simulačních modelů se ne vždy kompletně zveřejňuje (rovnice modelu
ne často stávají technologickým know-how), a vytvářet a ladit rozsáhlejší
simulační model pouze v prostředí standardního programovacího jazyka
(Java, C, C#...) je zdlouhavé.
Jestliže pro tvorbu simulačních modelů a pro vytváření vlastního
simulátoru používáme odlišné vývojové nástroje, pak musíme zajistit
dostatečně flexibilní přenos výsledků z jednoho vývojového
prostředí do druhého. Tak např. modifikujeme-li simulační model v
některém nástroji pro tvorbu simulačních modelů, je výhodné zajistit, aby
se změny v modelu bez větších potíží mohly rychle promítnout do
aktualizace těchto změn ve vlastním simulátoru. U jednodušších modelů
je možné změny ručně přeprogramovat. U složitějších modelů je však
pracnost a pravděpodobnost zavlečení chyby příliš vysoká.
K usnadnění přenosu z jednoho vývojového prostředí do druhého
je proto vhodné vytvořit si softwarové pomůcky.
V naší laboratoři (obr. 2) jsme při vytváření a verifikaci
simulačních modelů sáhli po profesionálních nástrojích firmy
Mathworks (Matlab, Simulink a příslušné aplikační knihovny) a v
poslední době i po velmi nadějném simulačním jazyku Modelica, pro něž
dotváříme i některé vlastní komponenty vývojového prostředí.
Při vytváření vlastního simulátoru využíváme standardní vývojová
prostředí pro tvorbu a vývoj interaktivní grafiky (např. Adobe Flash),
nástroje pro tvorbu softwarových a webových komponent Visual Studio
.NET a prostředí pro návrh a programování interaktivní grafiky v jazyce
ActionScript, jako je např. Adobe Flex. V minulosti jsme výukové
simulátory vyvíjeli také pomocí nástroje pro vytváření průmyslových
aplikací Control Web.
Pro propojení obou skupin vývojových nástrojů jsme vyvinuli
vlastní softwarové nástroje pro automatizaci přenosu simulačních
4
viz http://physiome.org/jsim/
42 J. Kofránek, P. Privitzer, P. Stodulka
Automatické
generování
modelu jako
virtuálního
řadiče
Model
jako
virtuální
řadič
Vývoj simulátoru
(programátorská
práce)
Tvorba
simulačního
modelu v
prostředí
Matlab/Simulink
Automatické
generování
modelu jako
.NET
assembly
Řídící
vrstva
Model
jako .NET
assembly
Tvorba animací
(v Adobe Flash)
Interaktivní
animace
Interaktivní
animace
Vývojové prostředí
Control Web
Řídící
vrstva
Vývojové
prostředí
Microsoft
VisualStudio.NET
Distribuce
simulátorů
Tvorba scénářů
výukových programů
využívajících simulační
hry a simulátory
Obr. 2 Kreativní propojení nástrojů a aplikací pro tvorbu simulátorů a
výukových programů využívajících simulační hry.
modelů, vytvořených v prostředí Matlab/Simulink do vývojových
prostředí Microsoft Visual Studio .NET a do Control Web [10].
3. Nové trendy a nové výzvy
Zdá se, že pomalu končí doba, kdy vytváření výukových programů
bylo otázkou entuziasmu a píle skupin nadšenců. Tvorba moderních
biomedicínských výukových aplikací je náročný a komplikovaný projekt,
vyžadující týmovou spolupráci řady profesí – zkušených pedagogů
vytvářejících základní scénář, tvůrců simulačních modelů, lékařů,
výtvarníků a programátorů. Aby tato interdisciplinární kolektivní tvorba
byla efektivní, je nutno pro každou etapu tvorby využívat specifické
vývojové nástroje s dostatečnou technickou podporou, které umožňují
komponentovou tvorbu simulačních modelů, vytváření interaktivních
multimédií a jejich závěrečné propojení podle daného scénáře do
kompaktního celku a začlenění do výukových multimediálních programů,
dostupných prostřednictvím internetu.
Technologie a trendy tvorby výukových simulátorů 43
Zároveň se objevují technologie, které propojení simulačních
nástrojů, programového prostředí, multimédií a internetu podstatně
usnadňují. Byl také učiněn velký pokrok ve vývojových softwarových
prostředích, které dnes dávají malému týmu programátorů takové
možnosti, které dříve měly pouze větší softwarové firmy.
To nás vedlo k určitému přehodnocení našeho dosavadního
technologického postupu při tvorbě výukových simulátorů (popsaného na
obr. 2).
4. Modelica versus Simulink – dřinu lidem versus dřinu
strojům
Dlouho jsme pro vývoj simulačních modelů používali výlučně
nástroje Matlab/Simulink od firmy Mathworks. Tyto nástroje dnes patří
mezi osvědčené průmyslové standardy.
V poslední době se nicméně pro modelování systémů stále více
začíná používat nový objektově orientovaný programovací jazyk
Modelica. Byl původně vyvinut ve Švédsku a nyní je dostupný jak ve
verzi open-source (vyvíjené pod záštitou mezinárodní organizace
Modelica Association, http://www.modelica.org/), tak i ve dvou
komerčních implementacích – od firmy Dynasim AB (prodává se pod
názvem Dymola) a od firmy MathCore (prodává se pod názvem
MathModelica).
Zásadní inovaci, kterou na rozdíl od námi dosud používaného
Simulinku Modelica přináší je deklarativní (a tedy akauzální) zápis
modelů, kdy jednotlivé části modelu popisujeme přímo jako rovnice
a nikoli jako algoritmus řešení těchto rovnic.
Rozdíl mezi modelováním v Simulinku a v Modelice si ilustrujme na
malém příkladu.
Uvažujme jednoduchý model mechaniky plic, který schematicky
zobrazuje obr. 3. Plíce si ve velkém zjednodušení představíme jako tři
vaky propojené dvěma trubicemi. Plíce jsou připojeny k ventilátoru umělé
plicní ventilace, který periodicky vhání tlakem PAO vzduch do plic. P0 je
tlak okolní atmosféry. Proud vzduchu Q proudí skrze horní cesty
dýchací, jejichž odpor je RC. Z horních cest dýchacích se vzduch prodírá
dolními dýchacími cestami do alveolů. Odpor dolních dýchacích cest je
RP, tlak v centrálních partiích dýchacích cest (na rozhraní horních a
dolníh dýchacích cest) je PAW, tlak v alveolech je PA.
Vzduch roztahuje plicní alveoly, jejichž poddajnost je CL (jako
celková poddajnost plic). Mezi plícemi a hrudním košem je interpleurální
dutina. Tlak v ní je PPL. Při umělé plicní ventilaci, kdy se pod tlakem
44 J. Kofránek, P. Privitzer, P. Stodulka
vhání vzduch do plic, se ještě musí roztáhnout hrudník – poddajnost
hrudníku je CW. Malá část vzduchu, která se nedostane až do alveolů,
pouze roztahuje dýchací cesty – jejich poddajnost je CS (prodýchávání
tzv. mrtvého prostoru).
PAO
RP
RC
Q
QA
PAW
CL
PA
CW
PPL
P0
Q-QA
P0
CS
Q
QA
PAW
PAO
RC
Q-QA
RP
CS
PA
CL
PPL
CW
P0
Obr. 3 Jednoduchý model plicní mechaniky (hydraulická a elektrická
analogie)
platit:
Nyní si můžeme sestavit rovnice. Podle Ohmova zákona musí
PAW − PA = RP QA
PAO − PAW = RC Q
(1)
Vztah mezi poddajností, tlakovým gradientem a objemem (vyjádřeným
jako integrál průtoku) vyjadřují rovnice:
1
QA dt
CL ∫
1
PPL − P 0 =
QA dt
CW ∫
1
(Q − QA) dt
PAW − P 0 =
CS ∫
PA − PPL =
(2)
Technologie a trendy tvorby výukových simulátorů 45
Podle zobecněného Kirchhoffova zákona musí být součet všech tlaků
(napětí) podél uzavřené smyčky rovný nule, tj. ve smyčce podél uzlu
PAW a podél uzlu PA0 musí platit:
( PAW − PA) + ( PA − PPL) + ( PPL − P0) + ( P0 − PAW ) = 0
( PAO − PAW ) + ( PAW − P0) + ( PO − PAO ) = 0
Po dosazení z rovnic Ohmova zákona a poddajností dostaneme:

1 
1
 1
(Q − QA) dt = 0
+
 QA dt −
 RP QA + 

CL
CW
CS



Q RC + 1 (Q − QA) dt + ( P0 − PAO) = 0

CS
∫
∫
(3)
∫
4.1 Modelování v Simulinku
Mux
respm2.mat
Mux
To File
1/s
Integrator
Volume vs time
Q vs time
Pao vs time
Pao
Q
1
Ventilator
QA
1/Rc
Sum
Sum1
1/s
Integrator1
Qs
-KPaw
Memory
du/dt
CS
dPaw/dt
PA
0.5
Rp
1/CL
PAW
Sum3
1/0.2
Sum2
1/0.2
1/Cw
Obr. 4 Implementace modelu v Simulinku podle rovnic (3).
46 J. Kofránek, P. Privitzer, P. Stodulka
Stavíme-li model v Simulinku, musíme přesně určit postup výpočtu
ze vstupních proměnných na výstupní. Chceme-li počítat reakci toku
vzduchu do/z plic (Q) na vstup – tj. na změny tlaku na začátku dýchacích
cest (PAO) způsobované aparátem umělé plicní ventilace – bude
simulinkový model vypadat jako na obr. 4.
Simulinkový model můžeme vyjádřit i jednodušeji. Nejprve z
rovnice (3) dostaneme diferenciální rovnici (vstupní proměnná PAO,
výstupní Q):
d 2 PAO
dPAO
d 2Q  1
RC  dQ
1
1  1
1 
Q (4)


RC
+
+
+
=
+ 
+
2
2
RP CT dt
RP CS  CL CW 
dt
dt
 CS RP CT  dt
Při zadání číselných parametrů odporů (v jednotkách cm H2O/L/sec) a
poddajností (v jednotkách L/cmH2O) [5]:
RC = 1; RP = 0,5; CL = 0,2; CW = 0,2; CS = 0,005
se rovnice (4) zjednoduší:
d 2 PAO
dPAO d 2 Q
dQ
420
620
+
=
+
+ 4000 Q
dt
dt
dt 2
dt 2
(5)
V Laplaceově transformaci rovnice (5) dostaneme:
Q( s)
s 2 + 420 s
=
PAO( s ) s 2 + 620 s + 4000
(6)
To umožní simulinkový model zjednodušit (obr. 5):
PAO vs time
s2 +420s
Ventilator
PAO
s2 +620s+4000
Respiratory Mechanics
Mux
respm1.mat
Mux
To File
1/s
Integrator
Q
Volume vs time
Q vs time
Obr. 5 Implementace modelu v Simulinku s využitím Laplaceovy
transformace podle rovnice (6).
Technologie a trendy tvorby výukových simulátorů 47
Při změnách hodnot parametrů ale se musí transformační funkce (6)
přepočítat a simulinkový model se změní.
Nyní model mírně zesložitíme tak, že budeme uvažovat inerci
vzduchu v horních dýchacích cestách (obr. 6).
RP
RC LC
Q
PAW
PAO
QA
CW
CL
PA
PPL
P0
Q-QA
P0
CS
Q
PAW
QA
RP=0,5
RC=1
LC=0,01
CS=0,005
Q-QA
PA
CL=0,2
PPL
CW=0,2
P0
Obr. 6 Jednoduchý model plicní mechaniky s uvažovánim inerce
(hydraulická a elektrická analogie)
Nyní navíc uvažujeme inerční element LC=0,01 cm H2O s2 L-1:
LC =
∆P
dQ
dt
dQ
dt je
kde ∆P je tlakový gradient a
zrychlení průtoku, neboli:
dQ
∆P = LC
dt
Potom místo soustav rovnic (3) dostaneme:

1 
1
dQA  1
(Q − QA) = 0
+
+
−
RP
QA



dt
CS
 CL CW 

2
 RC dQ + LC d Q + 1 (Q − QA) + dP0 − dPAO = 0

dt
dt 2 CS
dt
dt
(7)
(8)
48 J. Kofránek, P. Privitzer, P. Stodulka
Místo rovnice (5) dostaneme:
d 2 PAO
dPAO
d 3Q
d 2Q
dQ
+ 420
= 0,01 3 + 5,2 2 + 620
+ 4000 Q
2
dt
dt
dt
dt
dt
(9)
a v Laplaceově transformaci dostaneme:
Q( s )
s 2 + 420s
=
PAO( s ) 0,01s 3 + 5,2s 2 + 620s + 4000
(10)
Simulinkový model se změní (obr. 7):
PAO vs time
Ventilator
PAO
s2 +420s
3
0.01s +5.2s2 +620s+4000
Respiratory Mechanics
Mux
respm1.mat
Mux
To File
1/s
Integrator
Q
Volume vs time
Flow vs time
Obr. 7 Implementace modelu v Simulinku s využitím Laplaceovy
transformace podle rovnice (10).
Díky tomu, že v Simulinku musíme vždy uvažovat směr výpočtu, je
vlastní Simulinkové schéma dosti vzdáleno skutečné fyzikální realitě
popisovaného systému. I malá změna v modelu, jako je přidání inerčního
elementu, nutí k pečlivém propočtu a změně struktury modelu. K zásadní
změně modelu dojde i tehdy, pokud bychom místo umělé plicní ventilace
uvažovali spontánní dýchání. Vstupem modelu pak nebude tlak PAO
vytvářený respirátorem umělé plicní ventilace, ale například poddajnost
hrudní stěny CW (cyklickou změnou poddajnosti se dá modelovat funkce
dechových svalů).
Simulink pracuje s propojenými bloky. V propojkách mezi
jednotlivými bloky tečou signály, které přenášejí hodnoty jednotlivých
proměnných od výstupu z jednoho bloku ke vstupům do dalších bloků. V
blocích dochází ke zpracování vstupních informací na výstupní.
Propojení bloků v Simulinku proto odráží spíše postup výpočtu a
nikoli strukturu modelované reality.
Technologie a trendy tvorby výukových simulátorů 49
4.1 Modelování v Modelice
V Modelice je to jinak. Místo bloků Modelica pracuje s propojenými
komponenty, které představují instance jednotlivých tříd.
Na rozdíl od implementace tříd v jiných objektově orientovaných
jazycích (jako jw C#, Java apod.), mají třídy v Modelice navíc zvláštní
sekci, v níž se definují rovnice.
Rovnice neznamenají přiřazení (tj. uložení výsledku výpočtu
přiřazovaného příkazu do dané proměnné), ale definici vztahů mezi
proměnnými (tak, jak je v matematice a fyzice zvykem).
Komponenty (instance tříd) se mohou v Modelice propojovat
prostřednictvím přesně definovaných rozhraní – konektorů. Konektory
jsou instance konektorových tříd, v nichž se definují proměnné,
používané pro propojení.
Propojovat se mohou konektory, patřící ke stejným konektorovým
třídám (v nichž se tak mohou propojovat proměnné patřící k
ekvivalentním typům). Jinak řečeno – v propojení typ zástrček musí
přesně odpovídat typům zásuvek.
Důležité je to, že propojením komponent vlastně dochází k
propojení soustav rovnic v jednotlivých komponentách mezi sebou.
Je-li v konektoru propojených komponent definována stejná proměnná (a
nereprezentuje-li tok – viz dále) propojením definujeme, že hodnota této
proměnné bude ve všech komponentách stejná. Je-li tato proměnná
součástí rovnic v propojených komponentách, propojením zároveň
definujeme propojení rovnic, v nichž se tato proměnná vyskytuje.
V bodě, kde je propojeno více komponent, musí být hodnoty
proměnných propojených přes společný bod stejné (analogicky jako
napětí na společné svorce v elektrických obvodech musí odpovídat
prvnímu Kirchoffovu zákonu).
Ale nejenom to.
V konektoru můžeme definovat, že některé propojované proměnné
budou reprezentovat tok (flow) – pak to bude znamenat, že hodnoty
všech takto označených proměnných budou ve všech komponentách
propojených ve stejném bodě nastaveny na takovou hodnotu, aby jejich
algebraický součet se rovnal nule (analogicky jako součet proudů na
společné svorce v elektrických obvodech musí odpovídat druhému
Kirchoffovu zákonu).
Je-li takto označená proměnná součástí rovnic v propojených
komponentách, přidáváme tak do propojené soustavy rovnic další
rovnici, definující požadavek nulovosti algebraického součtu hodnot této
proměnné)
50 J. Kofránek, P. Privitzer, P. Stodulka
e
∫
e=Rf
C
q=Ce
R
p
p=Lf
q
∫
L
f
Obr. 8 Vztahy mezi zobecněnými systémovými vlastnostmi
•
•
•
•
•
e znamená zobecněné úsilí (effort) – v mechanice mu odpovídá síla, v
elektrických schématech napětí, v hydraulice tlak atd.
f je zobecněný tok (flow) – v mechanice mu odpovídá rychlost, v
elektrických schématech proud, hydraulice průtok a v termodynamice
teplotní tok apod.
q je zobecněná akumulace,či výchylka, reprezentuje integrál zobecnělého
toku. V mechanice jí např. odpovídá natažení pružiny, v hydraulice objem
tekutiny, v elektrických schématech náboj, v termodynamice
naakumulované teplo atd.
p je zobecněná hybnost (inertance) - integrál zobecnělého úsilí,
reprezentující kinetickou energii, v hydraulice představuje změnu rychlosti
proudu úměrnou rozdílu tlaků (průtočnou hybnost), v elektrických obvodech
potenciál nutný ke změně elektrického proudu (indukce) apod.
R, C a L představují konstanty úměrnosti mezi jednotlivými zobecněnými
systémovými vlastnostmi. jednotlivými
zobecnělými systémovými
vlastnostmi. jednotlivými zobecnělými systémovými vlastnostmi. Odpovídá
jim např. odpor, kapacitance či hmotnost.
Propojením modelicových komponent tedy nedefinujeme
postup výpočtu, ale modelovanou realitu. Způsob řešení rovnic pak
"necháváme strojům".
Zobrazení modelu v Modelice tak více připomíná fyzikální realitu
modelovaného světa než propojená bloková schémata v Simulinku.
Souvisí to se zobecněnými systémovými vlastnostmi reálného
světa (obr. 8) v nichž hrají důležitou roli zobecnělé úsilí (v reálném světě
Technologie a trendy tvorby výukových simulátorů 51
mu odpovídá síla, tlak, napětí apod.) a zobecněný tok (jemuž v reálném
světě mu odpovídá proud, průtok aj.).
Zobrazujeme-li v Modelice realitu propojenými komponenty, pak
pro tokové proměnné musí hodnota v bodě propojení odpovídat
druhému Kirchhoffovu zákonu (proud se nemůže v propojení akumulovat
ani ztrácet) a pro ostatní proměnné musí ve společném propojovacím
bodě platit rovnost (podle prvního Kirchhoffova zákona).
Modelica obsahuje knihovny nejrůznějších tříd pro modelování
elektrických, mechanických a hydraulických objektů reálného světa.
Jednoduchý model mechaniky dýchání podle obrázku 3 můžeme v
Modelice vyjádřit velmi přímočaře. Zobrazení vztahů odporu, tlakového
gradientu a průtoku podle rovnice (1) a vztahů poddajnost, tlaku a
průtoku podle rovnice (2) pak v Modelice vypadá takto:
Obr. 9 Jednoduchý model plicní mechaniky podle obr. 3 v Modelice
Zesložitění modelu přidáním inerčního elementu (dle rovnice 7 a obr. 6 je
jednoduché:
Obr. 10 Změněný model plicní mechaniky po přidání inerčního prvku
52 J. Kofránek, P. Privitzer, P. Stodulka
V daném případě jsme pro rychlé sestavení modelu využily vizuální
komponenty elektrických obvodů, nic ale nebrání vytvořit jiný tvar ikon,
reprezentujících jednotlivé odporové, kapacitní a inerční elementy v
plicích. Zdaleka nejde jen o obrazové ikony. Modelica je objektový jazyk
a nic nebrání sestavit speciální třídy, a jejich pomocí např. modelovat
toky kyslíku a oxidu uhličitého (s uvažováním vazby kyslíku na
hemoglobin, přeměny CO2 na bikarbonát, vlivu acidobazické rovnováhy
na přenos krevních plynů apod.).
Vytvoření knihovny fyziologických vztahů je jedním z našich
budoucích cílů. Plánujeme převést (a dále v Modelice rozšířit) naši
simulinkovou knihovnu fyziologických vztahů Physiology Blockset
(www.physiome.cz/simchips).
Vzhledem k tomu, že ve fyziologických modelech se vyskytuje celá
řada vztahů (které v Simulinku vedou na řešení implicitních rovnic) je
akauzální popis modelovaných vztahů, používaný v Modelice, velkou
výhodou. Akauzální popis mnohem lépe vystihuje podstatu modelované
reality a simulační modely jsou mnohem čitelnější, a tedy i méně
náchylné k chybám. Pro modelování fyziologických systémů je proto
Modelica velice vhodným prostředím.
5 WPF animace - loutky na nitích modelů v .NET
Pro vytváření uživatelského rozhraní výukového simulátoru je velmi
vhodné simulátor navenek reprezentovat jako pohyblivý obrázek.
Animované obrázky mohou být řízeny výstupy implementovaného
simulačního modelu a graficky reprezentovat význam číselných hodnot.
Např. schematický obrázek cévy se může roztahovat nebo komprimovat,
plicní sklípek může hlouběji či mělčeji "dýchat", ručička měřícího přístroje
se může pohybovat a průběžně zobrazovat hodnotu výstupní proměnné
modelu čtené ze simulačního modelu běžícího na pozadí.
Na druhou stranu můžeme přes vizuální prvky (nejrůznější tlačítka,
knoflíky, táhla apod.) do simulačního modelu zadávat vstupy.
Proto simulační model implementovaný v simulátoru propojujeme s
multimediální animací prozatím vytvářenou pomocí Adobe Flash.
Jednou z klíčových platforem pro tvorbu simulátorů je prostředí .NET. Do
tohoto prostředí vkládáme Flashové animace jako ActiveX komponentu.
V nové platformě .NET Framework 3.0 je k dispozici nové grafické
prostředí WPF (Windows Presentation Foundation). Při tvorbě
uživatelského rozhraní programů nahrazuje Windows Forms a navíc
umožňuje vytváření animací plně integrovaných s vlastním programem.
Tím padá technologická bariéra mezi .NET a interaktivními animacemi,
kterou jsme překlenovali v případě ActiveX komponent s Flashovými
animacemi.
Technologie a trendy tvorby výukových simulátorů 53
WPF umožňuje těsnější integraci a přesnější řízení animací a
vizualizací než ActiveX. Jednou z klíčových vlastností je možnost
spouštět aplikace přímo v okně webového prohlížeče.
Proto další technologickou inovací je postupný přechod od
Flashových animací k animacím vytvářeným v prostředí WPF.
To samozřejmě neznamená, že se Flashových animací zcela
vzdáváme (ještě dlouho bude řada výtvarníků umět kreslit animace v
prostředí Flash a nikoli v prostředí WPF). Pouze si myslíme, že
budoucnost (alespoň v prostředí .NET) bude mít WPF, na něž se
chceme orientovat. Toto prostředí umí dokonale rozčlenit rozhraní
určené pro výtvarníka a rozhraní určené pro programátora – tvůrce
aplikace.
Logika propojení animace a simulačního modelu v simulátoru bývá
poměrně složitá. Proto je vhodné mezi vrstvu vizuálních elementů a
vrstvu simulačního modelu vložit řídící vrstvu, která na jednom místě řeší
veškerou logiku komunikace uživatelského rozhraní s modelem. V této
vrstvě se řeší veškerý kontext zobrazovaných dat a příslušné požadavky
na komunikaci s modelem.
U složitějších simulátorů tato vrstva mimo jiné řeší nastavování
parametrů simulačního modelu v závislosti na zvoleném scénáři (např.
při modelování patogenezy různých patologických stavů nebo
terapeutických
zásahů,
při
rozpojování
a
opětovném
spojování regulačních smyček
Vrstva
během vysvětlování jednotlivých
uživatelského
fyziologických regulací apod.).
rozhraní
Důležité je, že veškerá logika
zobrazování a komunikace je
pak soustředěna do jednoho
místa, což podstatně ušetří čas
při modifikacích uživatelského
rozhraní nebo změnách modelu.
Řídící
Stavový
vstupy
výstupy
vrstva
V literatuře se hovoří o tzv.
automat pro
určení kontextu
MVC architektuře výstavby
simulátorů (Model – View –
Controller). Toto uspořádání je
Vrstva
modelu
nezbytné zejména při složitějších
Simulační model
modelech a simulátorech, jejichž
uživatelské
zobrazení
je
reprezentováno
mnoha
Obr. 11 MVC architektura při tvorbě virtuálními přístroji na více
propojených
obrazovkách.
simulátorů.
Výhody
tohoto
uspořádání
54 J. Kofránek, P. Privitzer, P. Stodulka
zvláště vyniknou při modifikacích jak modelu, tak i uživatelského
rozhraní.
Při návrhu řídící vrstvy, která propojuje vrstvu simulačního modelu
s uživatelským rozhraním, se nám velmi osvědčilo využít propojené
stavové automaty (jejichž pomocí je možno zapamatovat si příslušný
kontext modelu a kontext uživatelského rozhraní).
Vytvořili jsme proto speciální softwarový nástroj, pomocí kterého
můžeme propojené stavové automaty vizuálně navrhovat, interaktivně
testovat jejich chování a automaticky generovat zdrojový kód programu
pro prostředí Microsoft .NET. Tento nástroj umožňuje zefektivnit
programování propojení simulačního modelu s vizuálními objekty
uživatelského rozhraní ve výukovém simulátoru.
5 Náš cíl: Modelica .NET
Základní platformou, na níž se orientujeme při vytváření simulátorů,
je platforma .NET a WPF. Prozatímní nevýhodou je to, že nejnovější
verze tohoto frameworku je zatím k dispozici pouze pro Windows XP a
vyšší. Takto to ale nebude natrvalo. Nastupující platforma MS Silverlight,
založená na technologii WPF, přinese plug-in pro internetové prohlížeče
a do značné míry zpřístupní tuto technologii i pro jiné operační systémy
jako OS Mac či Linux.
Pro publikaci simulačních her využijeme schopnost .NET aplikací
běžet přímo v okně webového prohlížeče. Výuková aplikace se
transparentně nahraje do paměti počítače a spustí se v bezpečném
prostředí, tzv. security sandboxu.
Pro bezešvou technologii vytváření výukových simulátorů
potřebujeme propojit Modelicu a prostředí .NET. Proto jsme se pustili
do ambiciózního úkolu: implementovat Modelicu a vytvořit příslušné
vývojové prostředí pro tvorbu modelů a simulátorů na platformě .NET.
Toto prostředí by mělo umožňovat spolupráci více lidí na tvorbě modelu.
Vývojové prostředí by mělo běžet v prohlížeči uživatele, který bude
komunikovat se serverem na němž poběží kompilátor jazyka Modelica
(OCM - Open Modelica Compiler).
Pro projekt OpenModelica jsme zatím vytvořili rozšíření pro
konverzi modelicového modelu do jazyka C#, který je dostupný na
adrese http://patf-biokyb.lf1.cuni.cz/wiki/modelica.net.
Tento nástroj umožňuje převádět model vytvořený v Modelice do
podoby třídy napsané v jazyce C#. Tato třída obsahuje soustavu
diferenciálních rovnic (reprezentujících model) převedenou do
explicitního tvaru vhodného pro řešení pomoci ODE solveru.
Technologie a trendy tvorby výukových simulátorů 55
Pro demonstraci jednotlivých kroků naší nové technologie jsme
vytvořili jednoduchou výukovou aplikaci, jejíž vytváření popisujeme v
samostatném příspěvku ve sborníku této konference [11].
6 Závěr
Zdá se, že pomalu končí doba, kdy vytváření výukových programů
bylo otázkou entuziasmu a píle skupin nadšenců. Tvorba moderních
biomedicínských výukových aplikací je náročný a komplikovaný projekt,
vyžadující týmovou spolupráci řady profesí – zkušených pedagogů
vytvářejících základní scénář, tvůrců simulačních modelů, lékařů,
výtvarníků a programátorů. Aby tato interdisciplinární kolektivní tvorba
byla efektivní, je nutno pro každou etapu tvorby využívat specifické
vývojové nástroje, s dostatečnou technickou podporou, které umožňují
efektivní tvorbu simulačních modelů, programování výukových
simulátorů, kreslení interaktivních multimédií a jejich závěrečné
propojení všech komponent podle daného scénáře do kompaktního
celku. K ovládnutí těchto nástrojů i vytvoření jejich technologického
propojení je zapotřebí věnovat značné úsilí, které se ale nakonec vyplatí.
Nové technologie přinášejí pro tvorbu výukových simulátorů nové
možnosti i nové výzvy. Jednou z nich je objektový jazyk Modelica, který
podle našeho názoru podstatným způsobem usnadní modelování tak
složitých a komplexních systémů jakými jsou fyziologické systémy.
Druhou výzvou jsou nové možnosti platformy .NET a WPF.
Budoucnost (a naše další práce) ukáže, zda a jak se tyto nové
možnosti uplatní.
7 Literatura
[1]
[2]
[3]
[4]
[5]
Abram, S. R., Hodnett, B. L., Summers, R. L., Coleman, T. G.,
Hester R.L. (2007). Quantitative Circulatory Physiology: An
Integrative Mathematical Model of Human Physiology for medical
education. Advannced Physiology Education, 31 (2), 202 - 210.
Bassingthwaighte J. B. (2000). Strategies for the Physiome Project.
Annals of Biomedical Engeneering 28, 1043-1058.
Fritzon, P. (2004): Principles of object oriented modeling and
simulation with modelica 2.1. IEE Press, A. John Willey & Sons Inc.
Publication, New York, 2004, ISBN 0-471-47163-1
Hunter P. J., Robins, P., & Noble D. (2002) The IUPS Physiome
Project. Pflugers Archive-European Journal of Physiology, 445, s.1–
9
Kho M.C.K. (2000) Physiological control systems,.IEE Press, New
York 2000, ISBN 0-7808-3408-6
56 J. Kofránek, P. Privitzer, P. Stodulka
[6]
Kofránek, J. Anh Vu, L. D., Snášelová, H., Kerekeš, R., & Velan, T
(2001): GOLEM – Multimedia simulator for medical education. In
Patel, L., Rogers, R., Haux R. (Eds.). MEDINFO 2001, London: IOS
Press, 1042-1046.
[7] Kofránek, J., Matoušek, S., Andrlík, M., Stodulka, P., Wünsch, Z.,
Privitzer, P., Hlaváček, J., Ondřej Vacek, O. (2007): Atlas of
physiology - internet simulation playground. In. Proceedings of the
6th EUROSIM Congress on Modeling and Simulation, Vol. 2. Full
Papers (CD). University of Ljubljana, ISBN 978-3-901608-32-2, MO2-P7-5, 1-9. 2007.
[8] Miller, J. A., Nair, R. S., Zhang, Z., Zhao, H. (1997). JSIM: A JAVABased Simulation and Animation Environment, In Proceedings of the
30th Annual Simulation Symposium, Atlanta, Georgia, 31-42.
[9] Raymond, G. M., Butterworth E, Bassingthwaighte J. B. (2003).
JSIM: Free Software Package for Teaching Physiological Modeling
and Research. Experimental Biology 280,102-107
[10] Stodulka, P., Privitzer, P., Kofránek, J., Tribula, M., Vacek, O.
(2007): Development of web accessible medical educational
simulators. In. Proceedings of the 6th EUROSIM, Vol. 2. Full Papers
(CD), MO-3-P4-2, str. 1-6, ISBN 978-3-901608-32-2, University of
Ljubljana, 2007.
[11] Stodulka, P., Privitzer, P., Kofránek, J. (2008): Jednoduchá
simulační hra krok za krokem aneb od představy k hotovému. Ibid.
Poděkování
Práce na vývoji lékařských simulátorů je podporována projektem
Národního programu výzkumu č. 2C06031, rozvojovým projektem MŠMT
C34/2008 a společností BAJT servis s.r.o.
Jiří Kofránek
Laboratoř biokybernetiky a počítačové
podpory výuky, Ústav patologické
fyziologie 1. LF UK, Praha
U nemocnice 5
128 53 Praha 2
tel: 777686868
fax:224912834
e-mail: [email protected]
http://www.physiome.cz

Podobné dokumenty

Příloha 2 - Laboratoři biokybernetiky a počítačové podpory výuky

Příloha 2 - Laboratoři biokybernetiky a počítačové podpory výuky model dále rozšiřovala a zájemcům dokonce poskytovala i výpisy počítačových programů realizace modelu v programovacím jazyce Fortran (naposledy z roku 1986).

Více

MUDr. Jiří Kofránek, CSc.

MUDr. Jiří Kofránek, CSc. pomůcky v lékařské výuce, autoři volně zpřístupnili na webu (http://physiology.umc.edu/themodelingworkshop/). Jeho dalším rozšířením je výukový simulátor Quantitative Human Physiology (QHP), (Colem...

Více

1.úvodní slovo ředitele podniku

1.úvodní slovo ředitele podniku Považuji za velmi potìšující, že mohu zhodnotit uplynulý rok jako z mnoha hledisek významný a z jistého pohledu pøelomový. Velmi mne tìší, že mám možnost se po svém nástupu do funkce øeditele podíl...

Více

Medsoft 2012 - Creative connections

Medsoft 2012 - Creative connections Ivan Pfeifer, Sylva Bártlová, Jana Hercová..........................................................................................243 Pomůcky pro výuku lékařské informatiky u nás a ve světě

Více

Odkaz na čánek - se svolením redakce

Odkaz na čánek - se svolením redakce (viz tento èlánek). Další je napø. stáhnutí souboru s programem z Internetu a pomoci prográmku (zavadìèe, bootloaderu, který musí být v MC již naprogramován) si ho nahrát do MC pøipojeného na port ...

Více

VYUŽITÍ SIMULAČNÍCH MODELŮ ACIDOBAZICKÉ ROVNOVÁHY V

VYUŽITÍ SIMULAČNÍCH MODELŮ ACIDOBAZICKÉ ROVNOVÁHY V simulačních modelů – není to ale prostředí, ve kterém by se realizovaly vlastní výukové simulátory. Pro vytváření uživatelského rozhraní výukového simulátoru je velmi vhodné vstupy a výstupy simula...

Více

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

Příloha 1 Publikace podporované projektem MŠMT 2C06031 za rok pouze ve formě základního (ale přesto plně ilustrativního) obrázku. Komentáře a zdůvodnění formulací matematických vztahů byly velmi stručné: např. „bloky 266 až 270 počítají vliv buněčného PO2, au...

Více

Witness a metodika Six Sigma

Witness a metodika Six Sigma Spoleènost Lanner Group Ltd. nabízí svým zákazníkù ucelenou øadu programových nástrojù pro prediktivní analýzu a zlepšování podnikových procesù – Witness Suite. Witness Suite obsahuje aplikace pro ...

Více

Medsoft 2009 - Creative connections

Medsoft 2009 - Creative connections o vybrané neurologické testy) jsme na souborech zdravých dětí (N=221 a N=47) vyšetřili a prověřili behaviorální preference horních a dolních končetin pro různé činnosti – % a nástin základních souv...

Více