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í 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 a large model of physiological relations in a form of graphic chart. Authors vivified this large-scale chart using the modern tool intended for development of simulation models. They save the lay-out, connection and description of particular parts of original. But in the contrary of the old system analysis diagram, the new one is a function simulation model enabling to run all the variables and study their characteristics, using the development system Matlab/Simulink. Authors 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 organismu – 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). 25
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ů 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 model.
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í 26
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 experimentů uměl nacházet nové dynamické souvislosti, které umožnily pochopit podstatu řady důležitých regulačních vztahů v organismu 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é perfúze, 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 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ě ofi ciálně neexistoval. Je pozoruhodné, že Guyton se původně 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 Massachusetské všeobecné nemocnici, kde se vzdělával v oboru neurochirurgie. Jeho neurochirurgické vzdělávání 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ého křesla 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ých jedinců, 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 světově 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 grafi ckou syntaxi navrženou Guytonem – tak např. Amosov a spol. v roce 1977 publikovali monografi i 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. 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 komponenty 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 27
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 a spol. pomocí softwarového nástroje Simulink © Matworks. Rozvržení, oznaèení i èíslování jednotlivých blokù je stejné jako na Guytonovì schematu. 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 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ů. 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 28
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 verifi kované) 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. Konec konců, ve své době autoři rozesílali i zdrojové texty programů svého modelu
NON-MUSCLE OXYGEN DELIVERY 260
1
+
xo
0.7
POV
270
5
268
262
POT
-
RDO 512
u^3
257
2688
lower limit 50
263
5
P40^3 DOB 264
266
258
POV 39.85
+ 267
259
261
+ -
-
OSV
168
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 POT
255
HM
x271 o
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
29
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 a spol. 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 defi novaný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 30
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í/øídící 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 øídící 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 31
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 řídících a měřících aplikací v průmyslu s využitím PC, vybavených speciální měřící/řídící 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í řídící 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é řídící 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í. 32
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 ří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. 6). 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 (Stodulka et al. 2006). Tento
Vrstva uživatelského rozhraní
Řídící 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 øí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. Č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 soft warové 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 soft warové 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í spolu33
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 Š. (2004): The design and development
Praha, 2006; 7–12.
of interactive multimedia in educational software with simulation
Amosov N. M., Palec B. L., Agapov B. T., Jermakova I. I., Ljabach E. G.,
games. Proceedings of the Seventh IASTED International Conference
Packina S. A., Solovjev V. P.: Teoretičeskoje issledovanie fi ziologičes-
on Computer Graphics and Imaging, Kauai, Hawai, USA 2004; 164–
3.
Guyton AC., Coleman TA. and Grander HJ.: Circulation: Overall Regu-
4.
Guyton AC., Jones CE. and Coleman TA.: Circulatory Physiology: Car-
170. ISBN. 8.
lation. Ann. Rev. Physiol., 41,1972, s. 13–41. diac Output and Its Regulation. Philadelphia: WB Saunders Company,
34
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,
kich sistě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-fl uid 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