Využití, vývoj a automatizace nejen průmyslových nástrojů pro

Transkript

Využití, vývoj a automatizace nejen průmyslových nástrojů pro
BIOMEDICÍNSKÉ APLIKACE
A U T O M A T I Z A C E
•
R O Č N Í K
5 2
•
Č Í S L O
7 – 8
•
Č E R V E N E C – S R P E N
2 0 0 9
umožňuje tzv. akauzální modelování [5 až 6].
Zásadní inovaci, kterou tento modelovací
jazyk přináší, je možnost popisovat jednotlivé části modelu přímo jako soustavu rovnic,
a nikoli jako algoritmus řešení těchto rovnic.
Způsob řešení rovnic je pak úlohou kompilátoru a příslušného simulačního prostředí,
v němž je Modelica implementována.
Při vytváření uživatelského rozhraní vlastního simulátoru využíváme standardní vývojová prostředí pro
tvorbu a vývoj interaktivní grafiky od
firmy Adobe (především Adobe Flash).
V poslední době také
vytváříme interaktivní grafiku přímo
využitelnou v prostředí .NET ve vývojovém
nástroji
Expression Blend.
Vlastní
simulátor
vytváříme v nástrojích pro tvorbu softwarových a webových
komponent
(např. Visual Studio
.NET, prostředí pro
vývoj v jazyce Java –
Obr. 1 Dva typy problémů při tvorbě výukových simulátorů
např. NetBeans, promultimédií podle daného scénáře do komplet- středí pro návrh a programování interaktivní
ního celku. Při vytváření simulátorů grafiky v jazyce ActionScript, jako je např.
a výukových simulačních her řešíme dva typy Adobe Flex, a nově i Expression Blend pro
problémů (obr. 1):
práci v prostředí .NET). Druhou možností
■ tvorbu simulačního modelu, což je vlast- návrhu simulátoru je využití nástroje pro průní teoretická výzkumná práce, jejímž myslové aplikace Control Web. Pro propojení
podkladem je formalizace fyziologických obou skupin vývojových nástrojů byly vyvivztahů vyjádřená matematickým mode- nuty vlastní nástroje pro automatizaci přenosu
lem; výsledkem by měl být verifikovaný simulačních modelů, vytvořených v prostředí
simulační model, který na zvolené úrovni Matlab/Simulink do vývojových prostředí
přesnosti dostatečně věrně odráží chování Microsoft Studio .NET a do Control Webu [2
modelované reality;
a 7] a v současné době se nově vyvíjí
■ tvorbu vlastního multimediálního simulá- i propojení modelů vytvořených v prostředí
toru, resp. tvorbu výukového programu Modelica do vývojového prostředí Microsoft
využívajícího simulační hry – jedná se Studio .NET.
o praktickou aplikaci teoretických
výsledků, která navazuje na výsledky Nástroje a metody pro vývoj
řešení výzkumu; podkladem simulátoru a automatizaci simulátorů
jsou vytvořené (a verifikované) matemaVývojové nástroje pro tvorbu simulačních
tické modely. Zde jde o náročnou vývojo- modelů jsou určeny pro odborníky. Pro účely
vou práci, vyžadující skloubit nápady uplatnění ve výuce medicíny jsou příliš koma zkušenosti pedagogů, vytvářejících scé- plikované. Student medicíny a lékař vyžaduje
nář výukového programu, kreativitu uživatelské rozhraní simulátoru připomínající
výtvarníků, vytvářejících interaktivní spíše obrázky a schémata obdobná jako
multimediální komponenty a úsilí progra- v knižních publikacích typu atlasu fyziologie
mátorů, kteří dají výsledný produkt do či atlasu patologické fyziologie. Z tohoto
konečné podoby. Každý z těchto problé- pohledu je nutné výukový simulátor včetně
mů má svou specifiku, a vyžaduje proto jeho multimediálního uživatelského rozhraní
použít zcela odlišné vývojové nástroje.
naprogramovat zvlášť. Možnosti uživatelPro vytváření a verifikaci simulačních ského ovládání simulátoru jsou pak pro cílomodelů bylo využíváno profesionálních vou skupinu uživatelů podstatně přirozenější.
nástrojů firmy Mathworks (Matlab, Simulink Známe-li a máme vytvořenou strukturu simua příslušných aplikačních knihoven). lačního modelu (vytvořeného ve vývojových
V poslední době věnujeme velkou pozornost nástrojích Matlab/Simulink nebo Modelica),
využití nového jazyku Modelica, který pak už zbývá přetvořit strukturu modelu do
Využití, vývoj a automatizace nejen
průmyslových nástrojů pro
biomedicínské výukové simulátory
Cílem této práce je vývoj aplikací demonstrující složité chování fyziologických systémů, jejich dynamiku a regulaci. Dalším
cílem této práce je pak začlenění využití
počítačů do procesu výuky. Proces vývoje
simulátoru se skládá z vytvoření modelu
a následně vytvoření kvalitní animace, která může zobrazit simulační výsledky. V této
studii je popsán přínos fyziologických simulátorů a technologie pro jejich vývoj. Pro
vytvoření modelů bylo využito softwarových
nástrojů Matlab/Simulink nebo Modelica,
Control Web a Microsoft Visual Studio
.NET pro vytváření uživatelského rozhraní
a Adobe Flash nebo Expression Blend pro
tvorbu animací. Simulační modely jsou
využity pro výuku studentů biomedicínských oborů, stejně tak dobře jako teoretická báze pro studenty medicíny.
Úvod
Vývoj osobních počítačů a internetu na
konci minulého století přinesly nové možnosti pro praktické využití simulačních
modelů. Ty nemusí být pouze nástrojem pro
vědecké studie, ale mohou být stejně dobře
využity jako výukové pomůcky. 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) [1]. Spojení multimediálního prostředí se simulačními modely studentům umožňuje pomocí experimentů
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í.
Princip a tvorba modelů
Vývoj efektivního výukového programu,
který kombinuje multimédia se simulačními
hrami [2 až 4] není jednoduchý a vyžaduje
týmovou spolupráci mnoha profesí. Součásti
týmu jsou zkušení pedagogové vytvářející
základní scénář, tvůrci simulačních modelů,
lékaři, výtvarníci a programátoři. 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
443
BIOMEDICÍNSKÉ APLIKACE
444
A U T O M A T I Z A C E
•
R O Č N Í K
5 2
•
Č Í S L O
7 – 8
•
Č E R V E N E C – S R P E N
2 0 0 9
Obr. 2 Virtuální přístroje v průmyslové aplikaci v prostředí Control Web komunikují prostřednictvím vstupních a výstupních kanálů přes řadič řídicí/měřicí karty
s propojenou technologií
podoby počítačového programu ve zvoleném
programovacím jazyce. Pro vytvoření uživatelského rozhraní je třeba také nakreslit interaktivní multimediální komponenty, a ty propojit se simulačním modelem na pozadí
simulátoru. Vývoj usnadní volba vhodných
vývojových nástrojů.
Jednou z možností je využití nástrojů
využívaných při tvorbě průmyslových aplikací (měřicích ústředen a velínů) [8]. Důvodem
k jeho použití je, že se simulátorem fyziologických funkcí požadujeme stejné zacházení,
jako se v průmyslu z velínu řídí složité technické zařízení. Požadujeme nejrůznější grafické či číselné podoby zobrazení množství nejrůznějších měřených dat a zároveň
požadujeme jednoduchým způsobem simulační model ovládat. Dalším důvodem využití
průmyslového nástroje je jeho spolehlivost.
Její požadavky, kladené na nástroje, jejichž
pomocí se vyvíjí průmyslové řídicí aplikace,
jsou obvykle řádově vyšší než u obecných
programovacích nástrojů. Pro vývoj simulátorů jsme využili nástroje pro tvorbu průmyslových aplikací s názvem Control Web od zlínské akciové společnosti Moravské přístroje.
Jedná se o vysoce kvalitní vývojový systém
určený především pro vývoj průmyslových
vizualizačních a řídicích aplikací na platformě
WIN32 – sběr, ukládání a vyhodnocování dat,
tvorba rozhraní člověk-stroj. 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. Řídicí signály mohou virtuální přístroje posílat do okolí pomocí
výstupních kanálů (obr. 2). Pro vývoj uživatelského rozhraní poskytuje tedy systém
Control Web velmi výkonné prostředky.
K využití systému Control Web pro tvorbu
simulátorů bylo nutné vytvoření speciálního
ovladače, 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ěřicím a řídicím kartám nekomunikuje s jejich hardwarem, ale komunikuje se
simulačním modelem
(obr. 3). Systém Obr. 3 Virtuální přístroje v simulátoru vytvořeném v prostředí Control Web komuControl Web pak nikují prostřednictvím vstupních a výstupních kanálů přes řadič (neexistující) virpovažuje
vstupní tuální řídicí/měřicí karty se simulačním modelem, který je součástí řadiče.
kanály (k zobrazova- Zdrojový text programu tohoto řadiče je možné automaticky vygenerovat z modelu
cím prvkům na moni- implementovaného v programu Simulink s využitím vytvořeného softwarového
toru) za skutečné nástroje
měřené
signály
z technologického okolí počítače, zatímco ve mací vytvořenou pomocí Adobe Flash [2].
skutečnosti to jsou vstupní proměnné simulač- Některé jednodušší modely mohou být přímo
ního modelu. A také v opačném směru je naprogramovány v jazyku ActionScript
systém Control Web přesvědčen, že výstupní (s využitím nástroje Adobe Flex) a může být
kanály, které odcházejí od řídicích prvků celý simulátor realizován jako flashová webosystému Control Web, nastavují přes příslušný vá aplikace (obr. 6). Celková struktura návrhu
ovladač nějaké aktivní prvky průmyslového modelů je zobrazena na obr. 7.
V případě složitější architektury může být
zařízení. Ony však namísto toho mění vstupy
logika
propojení animace a simulačního
simulačního modelu. Pro usnadnění vývoje
modelu
poměrně složitá, proto je vhodnější
ovladačů „virtuální měřicí/řídicí karty“, které
obsahují simulační model, byl vyvinut speci- mezi vrstvu vizuálních elementů a vrstvu
ální program, který umožňuje automatizovat simulačního modelu vložit řídicí vrstvu, která
vývoj tohoto ovladače. Pak již není třeba ten- na jednom místě řeší veškerou logiku komuto ovladač psát pro každý model zvlášť nikace uživatelského rozhraní s modelem
v programovacím jazyce C ručně. Výsledkem a kam je ukládán i příslušný kontext. Jedná se
je tedy možnost bezprostředně generovat ze o tzv. architekturu výstavby simulátorů
simulinkového schématu zdrojový text pří- (MVC – Model – View – Controller). Toto
slušného virtuálního ovladače v jazyce C. Tím uspořádání je nezbytné zejména při složitějje možné jednoduše a rychle modifikovat ších modelech a simulátorech, jejichž uživaovladač pro prostředí Control Web při nejrůz- telské zobrazení je reprezentováno mnoha
nějších úpravách a nových verzích simulační- virtuálními přístroji na více propojených
ho modelu. V prostředí Control Web byl např. obrazovkách. Výhody tohoto uspořádání
vytvořen simulátor Golem nebo také výukový zvláště vyniknou při modifikacích jak modelu, tak i uživatelského rozhraní (obr. 8). Při
simulátor ledviny – obr. 4 [9].
Další platformou pro vývoj simulátorů je návrhu řídicí vrstvy, propojující vrstvu simuMicrosoft .NET a programovací prostředí lačního modelu s uživatelským rozhraním, se
Microsoft Virtual Studio .NET. V tomto pro- velmi osvědčilo využít propojené stavové
středí již není omezení předpřipravenými prv- automaty (s jejichž pomocí je možné zapaky uživatelského prostředí jako v prostředí matování příslušného kontextu modelu
Control Web a přitom můžeme využívat a kontextu uživatelského rozhraní). Byl proto
veškerou sílu moderního nástroje pro tvorbu vytvořen speciální softwarový nástroj, pomosoftwarových aplikací. Pro zjednodušení cí něhož je možné propojené stavové automavytváření simulátorů byl vyvinut speciální ty vizuálně navrhovat, interaktivně testovat
automatizovaný softwarový nástroj [2 a 7], jejich chování a automaticky generovat zdrokterý automaticky z programu Simulink vyge- jový kód programu pro prostředí Microsoft
neruje simulační model ve formě komponenty .NET [7]. Tento nástroj umožňuje zefektivnit
prostředí .NET (ukázka modelu vytvořeného programování propojek simulačního modelu
v prostředí .NET – obr. 5). Pro vytváření uži- s vizuálními objekty uživatelského rozhraní
vatelského rozhraní výukového simulátoru je ve výukovém simulátoru.
Mezi důležitý technologický problém patří
pak velmi vhodné simulátor navenek repretaké
nalezení způsobu, jak včlenit simulátory
zentovat jako pohyblivý obrázek. Proto simujako
součásti internetových e-learningových
lační model propojujeme s multimediální ani-
BIOMEDICÍNSKÉ APLIKACE
A U T O M A T I Z A C E
•
R O Č N Í K
5 2
•
Č Í S L O
7 – 8
•
Č E R V E N E C – S R P E N
Obr. 4 Ukázka simulátoru ledviny (vytvořeného v prostředí Control Web)
2 0 0 9
Obr. 7 Řešení kreativního 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 je kvalitní scénář vytvořený zkušeným pedagogem. Tvorba animovaných
obrázků je zodpovědností výtvarníků, kteří vytvářejí interaktivní animace
v 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ů. Zde bylo dlouho využíváno prostředí Matlab/Simulink. Vývoj simulátoru je
náročná programátorská práce, pro jejíž usnadnění byly vyvinuty 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 do prostředí Microsoft .NET
Obr. 5 Ukázka simulátoru přenosu krevních plynů (vytvořeného v prostředí .NET)
Obr. 8 MVC vytvářeného simulátoru
Obr. 6 Ukázka simulátoru krevního oběhu (vytvořeného v prostředí Adobe Flash
a jazyce ActionScript s využitím vývojového prostředí Adobe Flex)
aplikací. Při jeho řešení je možné 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. U vzdálenějších a pomalejších připojení je
pak nezanedbatelné
časové zpoždění me-
445
Obr. 9 Využití simulačních modelů v internetových e-learingových kurzech
BIOMEDICÍNSKÉ APLIKACE
446
A U T O M A T I Z A C E
•
R O Č N Í K
5 2
•
Č Í S L O
obr. 9. Uživatel si
nainstaluje platformu
.NET, a 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 run-time verzi 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í
Obr. 10 Nové řešení kreativního propojení nástrojů a aplikací pro tvorbu simulátorů
stáhnout
potřebné
a výukových programů využívajících simulační hry. Základem e-learningového prosoubory simulačního
gramu nadále zůstává kvalitní scénář, vytvořený zkušeným pedagogem. Tvorba animodelu a „dispečer
movaných obrázků je zodpovědností výtvarníků, kteří vytvářejí interaktivní animace
simulačních modelů“
v prostředí Expression Blend. Pro vytváření a testování animací, které jsou posléze
je spustí. „Dispečer“
řízeny simulačním modelem, využívá výtvarník vyvinutý softwarový nástroj
tak funguje obdobně
Animtester. Pro tvorbu simulačního modelu je využit simulační jazyk Modelica
jako prohlížeč obrázumožňující akauzální modelování. Dále se vyvíjí překladač jazyku Modelica do podoků, jen s tím rozdíby .NET komponenty. Pro návrh vnitřní logiky aplikace jsou využity hierarchické stalem, že místo zobravové automaty, pro jejichž návrh, testování a generování kódu pro prostředí .NET je
zení obrázků spustí
vyvinuto vizuální prostředí Statecharts editor. Výsledný simulátor je webová aplikasimulační program.
ce pro platformu Silverlight, která umožňuje distribuovat simulátor jako webovou
Simulátory se tak
aplikaci běžící přímo v internetovém prohlížeči
mohou stát plnohodzi výstupem simulačního modelu na serveru notnou součástí e-learningových výukových
a vykreslením výsledku na počítači klienta. projektů dosažitelných z webu, mezi něž patří
U jednodušších modelů je možné využít inter- např. Atlas fyziologie a patofyziologie [10].
petovaný ActionScript v jazyce Flash, v němž
V současné době je vývoj soustředěn na
je naprogramován simulační model. Složitější využití možností nové verze nástroje
simulační modely už ale vyžadují kompilova- Silverlight, který umožňuje skloubit interakný simulátor. Řešení [7] je zobrazeno na tivní grafiku i výpočetní sílu prostředí .NET.
L I T E R AT U R A
[1] COMENIUS, J. A., The Great Didactic.
Ed. by M. W. Keatinge. Montana :
Kessinger Pub Co, 1992.
[2] KOFRÁNEK, J., ANDRLÍK, M.,
KRIPNER, T., STODULKA, P., From Art to
Industry: Development of Biomedical
Simu-lators. 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). New York,
Frankfurt, Tokyo, Belgrad. IPSI Bgd
Internet Research Society, 2005,
pp. 62–67.
[3] KOFRÁNEK, J., ANDRLÍK, M.,
KRIPNER, T., Multimedia educational
simulators in pathophysiology – how to
design and why to use them. In: Gamal
Attiya and Yskandar Hamam editors.
th
Proceedings of the 5 EUROSIM
Congress on Modeling and Simulation.
Full Papers CD Volume.; Marne la
Vallee, Paris, France: Eurosim –
Francosim – Argesim; 2004, Simulation
in Education, pp. 22–27.
[4] KOFRÁNEK, J., Tvorba výukových simulátorů. Co je za oponou. In Mefanet
report 01. Brno : Masarykova
Univerzita, Institut biostatistiky a analýz,
2008, s. 60–72.
[5] KOFRÁNEK, J., MATEJÁK, M., PRIVITZER,
P., Causal or acausal modeling: labour
for humans or labour for machines. In
th
Technical Conmputing Prague 2008, 16
Annual Conference Proceedings. Prague
: Humusoft, s. r. o., 2008, pp. 1–16. CDROM
7 – 8
•
Č E R V E N E C – S R P E N
2 0 0 9
Vzniká tak možnost vytvářet složité simulátory běžící přímo v internetovém prohlížeči.
Nové možnosti kreativního propojení vývojových nástrojů pro tvorbu simulátorů jsou uvedeny na obr. 10.
Zhodnocení
Práce ukázala motivaci pro využití simulátorů jako simulačních her nejen ve výuce biomedicíny. Hlavním přínosem je návrh nástrojů, které spojují bohaté grafické prostředí se
složitými (komplexními) fyziologickými
modely. Pro návrhy modelů bylo využito prostředí Matlab/Simulink a Modelica, animace
byly vytvořeny v aplikacích Adobe Flash
a Microsoft Expression Blend. Prostředí
Control Web a .NET byly použity jako základ
pro tvorbu simulátorů. Byly vyvinuty unikátní
nástroje a způsoby pro exportování modelu do
těchto prostředí a jejich propojení
s animacemi, které jsou pak řízeny modelem.
Práce na vývoji lékařských simulátorů je
podporována projektem Národního programu výzkumu (MŠMT č. 2C06031), výzkumným záměrem Transdisciplinární výzkum
v oblasti biomedicínského inženýrství
(MSM6840770012), rozvojovým projektem
(MŠMT C20/2009) a grantem Analýza
a modelování biologických a řečových signálů (GAČR 102/08/H008).
Jan Rusz
katedra teorie obvodů, ČVUT Praha
Jiří Kofránek
oddělení biokybernetiky
a počítačové podpory výuky
Ústav patologické fyziologie
1. lékařská fakulta
Karlova univerzita v Praze
S. Blažič Eds.), University of Ljubljana,
2007, pp. 1–6.
[8] KOFRÁNEK, J., KRIPNER, T.,
ANDRLÍK, M., MAŠEK, J., 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, pp. 677–687.
[6] MATEJÁK, M., KOFRÁNEK, J., RUSZ, J.,
Akauzální „vzkříšení“ Guytonova diagramu. In Medsoft 2009. Praha :
Agentura Action M, 2008, s. 105–120.
[9] KOFRÁNEK, J., ANH VU, L. D.,
Snášelová, H., Kerekeš, R., Velan, T.,
Golem – Multimedia simulator for medical education. In Medinfo 2001,
th
Proceedings of the 10 World Congress
on Medical Informatics. London: IOS
Press, pp. 1042–1046.
[7] STODULKA, P., PRIVITZER, P.,
KOFRÁNEK, J., TRIBULA, M., VACEK, O.,
Development of WEB accessible medical
edu-cational simulators. In Proceedings
th
of the 6 EUROSIM Congress on
Modeling and Simulation, Vol. 2. Full
Papers (CD). (B. Zupanic, R. Karba,
[10] KOFRÁNEK, J., MATOUŠEK, S.,
ANDRLÍK, M., STODULKA, P., WÜNSCH,
Z., PRIVITZER, P., HLAVÁČEK, J., VACEK,
O., Atlas of physiology – internet simulation playg-round. In Proceedings of the
th
6 EUROSIM Congress on Modeling
and Simulation, Vol. 2. Full Papers (CD).

Podobné dokumenty