Popis řešení projektu první etapa řešení: červenec

Transkript

Popis řešení projektu první etapa řešení: červenec
projekt MŠMT č. 2C06031
e-Golem: lékařský výukový simulátor fyziologických funkcí člověka jako
podklad pro e-learningovou výuku medicíny akutních stavů
Popis řešení projektu
první etapa řešení: červenec-prosinec 2006
BAJT servis spol. s r.o.
Praha leden 2007
I. Cíle projektu a jejich zdůvodnění
Cílem projektu je vytvoření lékařského výukového simulátoru fyziologických funkcí člověky,
sloužícího jako podkald pro e-learningovou výuku medicíny akutních stavů Simulátor by
názornou cestou prostřednictvím Internetu s využitím simulačních modelů pomohl vysvětlit
funkci jednotlivých fyziologických systémů a příčiny a projevy jejich poruch zejména pro
pochopení patogenezy akutních stavů, kdy na přemýšlení není mnoho času a chyba lékaře má
fatální důsledky. 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 či léčit virtuálního pacienta nebo, jako v případě navrhovaného projektu, otestovat si
chování jednotlivých částí respiračního systému, oběhového systému, vylučovacího systému
apod.
Obdobně, jako je teoretickým podkladem letového simulátoru více méně realistický model
letadla, je v pozadí lékařského simulátoru model lidského organismu (resp. nějakého jeho
subsystému). Tematika navrhovaného projektu proto 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. 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) s nímž tématicky úzce souvisel i výzkumný
záměr MSM 11110008, řešený v letech 1999-2004 na našich pracovištích. Jeho výsledkem
jsou simulační modely fyziologických funkcí. Multimediální simulátor fyziologických funkcí,
vytvářený v tomto projektu navazuje na vědecké výsledky dosažené řešením výzkumného
záměru a srozumitelnou formou (pomocí multimediálních pohyblivých interaktivních
animací) je zpřístupňuje studentům a učitelům všech lékařských fakult.
V současné době je
koncipován celoevropský projekt EUROPHYSIOME
(http://www.europhysiome.org/), do jehož přípravy se bychom se ve spolupráci s
akademickým pracovištěm (Univerzitou Karlovou nebo ČVUT) rádi zapojili.
II. Postup řešení, koncepční a metodické přístupy řešení projektu
II.1 Tvorba simulačních modelů jako teoretický základ řešení projektu
Při vytváření lékařských simulátorů a simulačních komponent pro vytvářené programy
počítačem podporované výuky 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 ale vhodné používat adekvání vývojářské nástroje. Na základě
analýzy, kterou jsme provedli jsme se rozhodli pro tvorbu simulačních modelů využívat
Simulink a Matlab americké firmy Mathworks, které nám umožňují postupně sestavovat
simulační model z jednotlivých komponent – tzv. softwarových simulačních čipů (obr.1 a
obr. 2).
Při řešení rozvojového programu jsme vytvořili knihovnu fyziologických modelů v prostředí
Simulink-Matlab, ve formě "simulačních čipů", která byla teoretickým podkladem pro
vytváření výukových simulačních modelů (obr. 3).
Obr. 1 Ukázka simulačního čipu (v daném případě na obrázku vpravo 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ů. Obrázek vlevo zobrazuje vnitřek tohoto čipu. Jeho 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 2 je znázorněn obsah čipu "Blood Acid Base Balkance"
Simulační nástroje firmy Mathworks jsou však určeny pro specialisty a příliš se nehodí pro
běžného uživatele, který si chce se simulačním modelem jen "pohrát". 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é. Krom toho – za pohodlí prostředí, určeného především pro
vytváření (a nikoli provozování) simulačních modelů se platí tím, že u rozsáhlých modelů (a
námi vytvořený model mezi ně patří) jsou nároky na výpočetní výkon počítače poměrně
vysoké. Na méně výkonných počítačích pak simulace probíhá neúměrně pomalu.
Proto je nutné na základě odladěné a verifikované struktury simulačního modelu zvlášť
naprogramovat vlastní simulátor včetně jeho uživatelského rozhraní. Implementovaný
simulační model v něm běhá rychleji a možnosti uživatelského ovládání jsou pro netechniky
(tj. studenty medicíny a lékaře) podstatně přirozenější než v prostředí Matlabu a Simulinku.
Obr 2. Simulační čipy mají hierarchické uspořádání. Na obrázku je znázorněn "vnitřek" jednoho ze
simulačních čipů z obr. 1. 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".
Aby nebylo nutné "ručně" programovat již odladěný simulační model v prostředí, kde
vytváříme simulátor, vyvinuli jsme speciální softwarový nástroj, který automaticky převede
vytvořený model do cílové platformy – např. do prostředí Microsoft .NET, kam se ze
Simulinku vygeneruje simulační model ve formě .NET assembly (viz obr. 4.).
Pro vlastní tvorbu simulátorů a výukových programů, využívajících simulačních her jsme se
poohlédli po nástrojích využívaných při tvorbě průmyslových aplikací (měřících ústředen a
velínů apod.). 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ů.
Vývoj,
testování
a identifikace
simulačního
modelu
v prostředí
Simulink/Matlab
Přeložení
identifikovaného
modelu
do C++
Automatizovaná tvorba Automatizovaná
ovladače pro virtuální tvorba Microsoft
.NET Assembly
měřící/řídící kartu
komunikující s aplikací
vytvořenou v prostředí
Control Web
Vývoj
interaktivních
animací v
prostředí FLASH
Interactivní
flashové
Virtuální
animace
ovladač
(s modelem)
.NET
assembly Interactivní
(s modelem) flashové
animace
Psaní scénáře
výukové aplikace
Ideový návrh
interaktivních sekvenc
obrázků v aplikaci
(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 3. 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). Ukazuje se výhodné vytvořit nejprve
dynamický scénář (jako prototyp vytvářeného programu) např. pomocí programu Adobe Captivate. 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ň ve spolupráci s výtvarníky vytváříme pohyblivé animační
obrázky v prostředí Adobe Flash. Odladěný simulační model je pak 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 jsme se na základě analýzy rozhodli využívat 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 (případně do něj můžeme umístit i
celou aplikaci vytvořenou v nové verzi prostředí Control Web). 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ů.
Proto byl také vytvořen softwarový nástroj umožňující automaticky vygenerovat program pro
prostředí Control-Web (ve formě řadiče virtuální řídící karty). 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. 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 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.
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.
II.2 Pohyblivé animace jako loutky na nitích simulačního modelu
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. 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í.
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.
Toto uspořádání je nezbytné 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í. V literatuře se hovoří o tzv. UCM architektuře výstavby simulátorůl (User interface
– Control layer – Model layer). Velmi se osvědčuje využít v tomto jádře stavový automat
(která nám nejlépe zapamatuje příslušný kontext). Prostředí Matlab/Simulink nabízí realizaci
stavových automatů prostřednictvím speciálního toolboxu Stateflow bezprostředně
propojitelným se simulačním modelem v Simulinku (obr. 5).
Stavový automat je však možno realizovat i na straně uživatelského rozhraní – přímo ve
Flashi. Tento automat pak bezprostředně komunikuje s vizuálními objekty ve Flashi.
Vrstva
uživatelského
rozhraní
Řídící
vrstva
Vrstva
modelu
Stavový
automat pro
určení kontextu
výstupy
vstupy
Simulační model
Obr.4 Tzv. UCM 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.
II.3 Simulační hry na WEBu
Moderní výukové programy nejsou jen multimediální náhradou klasických učebnic, jsou zcela
novou výukovou pomůckou. Obsahují totiž simulační komponenty, které umožňují pomocí
simulačních her si názorně "osahat" vykládaný problém ve virtuální realitě a přinášejí tak
zcela nové možnosti pro vysvětlování složitých problémů. Simulační hrou je možné bez rizika
zkoumat chování simulovaného objektu – přistávat virtuálním letadlem, léčit virtuálního
pacienta apod. Ale nejenom to. 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 např. 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ů.
Další problém, který bylo 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 interpretovaný ActionScript ve Flashi. Zatím však
Flash-Player je příliš pomalý na složitější výpočty. V dubnu 2007 je ohlášena nová verze
Adobe Flash 9, která, podle slibů výrobce bude výpočetně rychlejší. Nicméně prozatím
složitější simulační modely vyžadují využít Java Aplety.
Přejdeme-li na prostředí Javy, ztratíme tím však možnost jednoduchého provázání vývoje
simulačního modelu v Simulinku a jeho využití v simulátoru (Simulink totiž prozatím
exportuje modely do jazyka C++ a ne do Javy). Proto jsme se rozhodli vytvářet simulační
modely v prostředí .NET a ne v Javě.
Námi zvolené řešení je zobrazeno na obr. 6. 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ů". Jeho součástí je i runtime pro prostředí ControlWeb, které zajistí také
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 bude fungovat 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
SERVER
Runtime pro
běh simulátorů
vytvořených v
prostředí
Control Web
Simulační
model
stažený
ze serveru
Webová
e-learningová
prezentace
KLIENT
Dispečer
simulačních modelů
Platforma .NET
Obr. 5. 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.
II.4. Volba softwarových nástrojů pro řešení projektu
Pro tvorbu vlastních simulátorů budeme využívat Control Web (od firmy Moravské přístroje),
původně určený pro tvorbu průmyslových aplikací (tvorbu velínů apod.). Systém Control
Web umožňuje poměrně jednoduše naprogramovat uživatelské prostředí simulátoru či
výukového programu, využívajícího simulační hru. Pro tvorbu interaktivních grafických
komponent využíváme prostředí Adobe (Macromedia) Flash (ve verzi 8), interaktivni
grafické objekty implementujeme do prostředí Control Web jako tzv. Active X komponenty.
Kromě prostředí Control Web pro tvorbu simulátorů budeme využívat prostředí Microsoft
.NET, které budeme využívat i jako kontejner pro umístění simulátorů, které budou rovněž
propojeny s interaktivními grafickými komponenty vytvořenými pomocí Adobe
(Macromedia) Flash. Pro naprogramování simulačních modelů budeme využívat vývojové
prostředí Microsoft Visual Studio .NET. Pro propojení webových aplikací se simulačními
modely budeme využívat prostředí ASP .NET, které mimo jiné umožní snadnou komunikaci
multimediálních animací realizovaných na webových prohlížečích klientů se serverem, na
kterém budou spouštěny simulace. "Pohyblivé obrázky" (vytvářené prostřednictvím Adobe
Flash) tak budou řízeny simulačním modelem běžícím na webovém serveru.
Pro finální přípravu vysvětlujících textů k modelům budeme využívat programové prostředí
Adobe Captivate (verze 2). Pro přípravu a úpravu videosekvencí budeme využívat prostředí
Adobe Premiere 2.0, Adobe Aftereffects 2.0, Adobe Encore a Adobe Audition 2.0
Pro vlastní provozování (i vytváření) multimediálních výukových aplikací budeme
spolupracovat s 1. lékařskou fakultou Univerzity Karlovy. Námi vytvářené výukové aplikace
v českém jazyce nabídneme k volnému využiti pro výuku studentů (v současné době jednáme
o uzavření smlouvy o spolupráci).
III. Výsledky řešení projektu
III.1 Studie proveditelnosti a její závěry
V první fázi řešení projektu byla vytvořena studie proveditelnosti, jejímž hlavním cílem bylo
stanovit požadavky na softwarová prostředí v nichž bude vyvíjen výukový simulátor.
Výsledkem této studie bylo konstatování, že je nutno současně pracovat s s třemi typy
rozdílných softwarových nástrojů:
1. Softwarové nástroje pro tvorbu a odlaďování matematických modelů, které
budou podkladem simulátoru. Jednoznačně zde bylo rozhodnuto využít prostředí
MATLAB/Simulink. V tomto prostředí je výhodné a vysoce efektivní sinulační
modely vyvíjet, problematické je ale v tomto prostředí simulátory provozovat.
2. Softwarový nástroj pro vývoj vlastního simulátoru - zde je možno využít obecné
vývojové softwarové nástroje. Studie doporučila využít Microsoft Visual Studio
.NET především z důvodů efektivity i nezanedbatelné znalosti a zkušenosti
řešitelského týmu v práci s tímto prostředím. Simulátor bude vyvíjen v jazyce C#.
Dalším vhodným kandidátem pro výukové aplikace je vývojové prostředí Control
Web, české firmy Moravské přístroje, zejména proto, že má vynikající možnosti pro
rychlé vytváření uživatelského rozhraní simulátoru.
3. Nástroje pro tvorbu interaktivní multimediální grafiky - uživatelského rozhraní
pro simulátory. Na základě výsledků studie doporučila využívat nástroj Adobe Flash
(dříve Macromedia Flash). V tomto nástroji je možné vytvářet interaktivní animace,
které ale lze zároveň programovat pomocí speciálního programového jazyka
ActionScript. Animacemi je pak možné vkládat do programů vytvořených v prostředí i
do programů vytvořených v prostředí Control Web. Důležité je, že animace mohou
(díky výše zmíněné možnosti programování v jazyce ActionScript) softwarově
komunikovat se simulačním modelem naprogramovaným v jazyce C# v Microsoft
Visual Studiu .NET. Obdobně je možné animace vkládat i do prostředí Control Web.
III.2. Programový nástroj "Matlab to .NET Wizzard"
Protože na základě úvodní studie bylo rozhodnuto navrhovat matematické modely v prostředí
Matlab/Simulink a vlastní simulátor budovat v prostředí Visual studia Microsoft .NET, bylo
vhodné vytvořit softwarový nástroj, který by umožnil zautomatizovat převod model z
prostředí Matlab/Simulink do prostředí Visual studia Microsoft .NET.
To umožní vyvíjet a průběžně aktualizovat matematický model v nejvhodnějším prostředí
určeném pro vývoj matematických modelů, a zároveň vyvíjet vlastní simulátor ve Visual
Studiu .NET aniž bude nutné matematický model "ručně" přeprogramovávat. Umožní to
snadnou multidisciplinární spolupráci členů řešitelského týmu - systémových analytiků,
vytvářejících matematické modely a programátorů, implementujících simulátor.
Výsledkem řešení první fáze projektu bylo odladění a naprogramování první verze
speciálního programu "Matlab to .NET Wizzard", který tuto funkčnost umožňuje.
Program "Matlab to .NET Wizzard" je v elektronické příloze této zprávy.
III.3. Programový nástroj "Wizard Matlab to Control Web"
Protože na základě úvodní studie bylo rozhodnuto navrhovat matematické modely v prostředí
Matlab/Simulink a vlastní simulátor vytvářet také pomocí prostředí Control Web, bylo
vhodné vytvořit softwarový nástroj, který by umožnil zautomatizovat převod model z
prostředí Matlab/Simulink do prostředí Control Web.
To umožní na vyvíjet a průběžně aktualizovat matematický model v tom nejvhodnějším
prostředí určeném pro vývoj matematických modelů, a zároveň vyvíjet vlastní výukovou
simulační aplikaci v prostředí ControlWeb aniž bude nutné matematický model "ručně"
přeprogramovávat. Umožní to snadnou multidisciplinární spolupráci členů řešitelského týmu systémových analytiků, vytvářejících matematické modely a programátorů, implementujících
simulátor.
Proto byl vytvořen program "Wizard Matlab to Control Web" umožňující automaticky
převést simulační model, vytvořený v prostředí Matlab/Simulink do prostředí Control
Web.
Control Web je nástroj původně určený pro vývoj průmyslových měřících a řídících aplikací.
Má velmi dokonalé nástroje pro vytvoření uživatelského prostředí. Vytvořený program
umožní převést simulační model z Matlabu do formy "řadiče virtuální řídící/měřící karty" se
kterou je schopen komunikovat program, vytvořený v Control Webu. Aplikace v Control
Webu je "ošálena" - program pracuje tak, jakoby k počítači bylo pomocí speciální
řídící/měřící karty připojeno nějaké průmyslové zařízení, aplikace v Control Webu
komunikuje s tímto zařízením pomocí ovladače této karty. Ve skutečnosti místo ovladače je
naprogramován simulační model - aplikace čte v bohaté nabídce vizuálních komponent
zobrazuje z průmyslového zařízení nějaká data, avšak ve skutečnosti čte data ze simulačního
mkodelu. Obdobně, pomocí myši na obrazovce počítače ovládanými přepínači, potenciometry
a jinými vizuálními prvky aplikace posílá do připojeného průmyslového zařízení nějaká data,
avšak ve skutečnosti posílá vstupní hodnoty do simulačního modelu. Vytvořený softwarový
nástroj tak umožní rychle převést matematický model do prostředí, velmi vhodného pro
rychlé vytváření bohatě vizualizovaných multimediálních simulačních aplikací.
Program Wizzard MATLAB to ControlWeb je v elektronické příloze této zprávy.
Obr.6a Princip využití programu ConrtolWeb pro řízení průmyslově-technologických aplikací. Aplikace
v COntorlWebu komunikuje s průmyslovou terchnologií prostřednictvím řadiče řídící/měřící karty.
Obr.6b Při vývoji simulátoru bude řadič karty nahrazen matematickým modelem.
Obr.6c ControlWeb komunikuje prostřednictvím svých vstupně-výstupních "kanálů" nikoli s
průmyslovou technologií, ale se softwarovým řadičem, virtuální (ve skutečnosti neexistující)
meřící/řídící karty, v němž je implementován simulační model. Místo vizualizace měření se tak
vizualizují výstupy modelu. Místo posílání řídících signálů do průmyslové periferie se posílají vstupní
data do simulačního model, který je implementován v softwarovém řadiči. Důležitým výsledkem
první etapy řešení projektu je to, že softwarový řadič virtuální měřící/ řídící karty (obsahující se
simulační model) se generuje automaticky ze simulačního modelu v Matlabu/Simulinku.
III.4. Rozsáhlý matematický model fyziologických funkcí člověka
Protože srdcem simulátoru je matematický model, bylo naše úsilí zaměřeno především na
analýzu fyziologických regulačních systémů a vytvoření rozsáhlého matematického modelu
fyziologických funkcí člověka, zahrnující fyziologický subsystém oběhu, dýchání,
krvetvorby, přenosu krevních plynů, elektrolytovou a objemovou homeostázu, funkci ledvin a
neurohumorální regulaci včetně vlivu aldosteronu, angiotenzinu a antidiuretického hormonu.
Model je implementován v prostředí MATLAB/Simulink. Model je velmi rozsáhlý, obsahuje
více než dvě stě proměnných a soustavu 52 diferenciálních rovnic. Je rozdělen do čtyřiceti
spolupracujících bloků.
Model bude podkladem pro vytvoření simulátorů pro výuku medicíny akutních stavů.
Podrobný popis základní struktury matematického modelu fyziologických funkcí
člověka" je výsledkovou součástí této zprávy.
Implementace tohoto modelu v, prostředí MATLAB/Simulink (verze 2006b) je součástí
elektronické přílohy k této zprávě
Úlohou příštího roku řešení je další rozpracování matematického modelu fyziologických
funkcí a jeho využití pro konkrétní výukové aplikace s využitím všech metodologických
nástrojů vytvořených v této etapě řešení.
IV. Závěr - od entuziazmu k technologii
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 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.
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 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í 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 řešení projektu bude vybudování
multidisciplinárního týmu lékařů, matematiků, programátorů i výtvarníků, který je
schopen tyto bariéry překonat.
MUDr. Jiři Kofránek, CSc.
odpovědný řešitel projektu

Podobné dokumenty

Ceník Artemide ARCHITECTURAL

Ceník Artemide ARCHITECTURAL 3-FÁZOVÁ LIŠTA L=1000MM ALUMINIUM 3-FÁZOVÁ LIŠTA L=1000MM BÍLÁ 3-FÁZOVÁ LIŠTA L=1000MM ČERNÁ 3-FÁZOVÁ LIŠTA L=2000MM ALUMINIUM 3-FÁZOVÁ LIŠTA L=2000MM BÍLÁ 3-FÁZOVÁ LIŠTA L=2000MM ČERNÁ 3-FÁZOVÁ LI...

Více

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

saMOTNÝ sIMULÁTOR NEsTačÍ Zuzana dukátová Výukové modely (a  zřejmě nejen komplexní modely se stovkami proměnných) pro efektivní využití ve výuce proto sami o sobě nestačí. Musí být provázeny výkladem jejich využití – nejlépe pomocí intera...

Více

Nobelovky se letos točí kolem optiky

Nobelovky se letos točí kolem optiky ústavu AV ČR, kde se výzkumu prostorové paměti věnují už desítky let. Pokusy probíhají na potkanech, ale podobné buňky byly nedávno popsány i u lidí – díky pacientům s epilepsií, kteří měli do mozk...

Více

toyota-corolla-katalog

toyota-corolla-katalog Corolla je navržena a vyrobena tak, aby se v případě nehody na minimum snížily náklady na opravu. Do nárazníků byly zabudovány deformační prvky pohlcující nárazovou energii, dražší komponenty jsou ...

Více

Pravidla technické podpory EDN

Pravidla technické podpory EDN - žádost o poskytnutí technické podpory je možné podat: o telefonicky (v pracovní dny od 8:00 do 17:00 hodin) na čísle technické podpory: +420 224 190 515 o emailem na [email protected] o faxe...

Více

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

VYUŽITÍ SIMULAČNÍCH MODELŮ ACIDOBAZICKÉ ROVNOVÁHY V 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ř. ...

Více