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).