"OD UMĚNÍ K PRŮMYSLU" – PROPOJENÍ TECHNOLOGIÍ PŘI TVORBĚ LÉKAŘSKÝCH VÝUKOVÝCH PROGRAMŮ Jiří Kofránek, Michal Andrlík, Tomáš Kripner, Jan Mašek, Petr Stodůlka Anotace Vývoj efektivních výukových programů, kombinující multimédia se simulačními hrami je náročnou a komplikovanou prací, vyžadující týmovou spolupráci řady profesí – zkušených pedagogů vytvářejících základní scénář, tvůrců simulačních modelů, lékařů, výtvarníků a programátorů. Tuto interdisciplinární kolektivní tvorbu zefektivňuje využívání vhodných vývojových nástrojů, které umožňují komponentovou tvorbu a propojení simulačních programů, a interaktivních multimédií podle daného scénáře do kompaktního celku. Autoři pro tvorbu simulačních modelů využívají nástroje firmy Mathworks Inc. (Matlab a Simulink), simulační modely dekomponují do tzv. simulačních čipů výhodných pro multidisciplinární spolupráci při tvorbě simulačních modelů. Pro tvorbu interaktivních animací využívají nástroje firmy Macromedia (Flash a Director). Pro tvorbu uživatelského rozhraní výukových programů a simulátorů autoři využívají vývojový nástroj Control Web (z firmy Moravian Instruments) a jako integrující vývojové prostředí Visual Studio. NET. Autoři argumentují proč dávají přednost využívání průmyslových vývojových nástrojů před univerzitními tzv. "open source" nástroji. Klíčová slova MULTIMEDIÁLNÍ VÝUKOVÉ PROGRAMY, INTERDISCIPLINÁRNÍ SPOLUPRÁCE, SOFTWAROVÉ VÝVOJOVÉ NÁSTROJE, SIMULACE. 1. Úvod Obdobně, jako počítače dnes již takřka vytlačily psací stroje z kanceláří, lze očekávat, že se počítače v budoucnu stanou běžnou výukovou pomůckou. Zřejmě to ale nepůjde nijak závratně rychle. Jestliže textový procesor, tabulkový kalkulátor, kreslící a prezentační program pokrývají značnou část potřeby automatizace administrativních prací, pak pro použití počítačů ve výuce je klíčovým limitujícím faktorem dostatek vhodných výukových programů. Jejich tvorba není jednoduchá. Zdaleka nestačí jen převést skripta (případně doplněné multimediálními komponenty) do počítačem prezentovatelné podoby. Kombinace hypertextu, obrázků, zvuku, videa a interaktivních animací na jedné straně dává velké pedagogické možnosti pro názorné vysvětlení složitých problémů, na druhé straně však klade na autory výukových programů velké nároky. Tyto požadavky jsou náročné obzvláště tehdy, pokud chceme ve výukovém programu využít simulační modely. Výukové programy se
simulačními modely nejsou jen multimediální náhradou klasických učebnic, jsou zcela novou výukovou pomůckou, Pokusy se simulačním modelem (tzv. simulační hry) totiž umožňují 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 – můžeme třeba přistávat virtuálním letadlem a v případě neúspěchu zkoušet přistávat znova, nebo diagnostikovat a léčit virtuálního pacienta s možností kdykoli svá rozhodnutí, bez následků pro skutečného pacienta, zrevidovat. 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 využití námi vyvíjeného lékařského simulátoru Golem ve výuce se nám osvědčilo zabudovat do simulátoru základních fyziologických funkcí organismu možnost dočasného odpojení vybraných regulačních smyček a tím umožnit studium jednotlivých fyziologických subsystémů "oddělených" od svého okolí. Studentům tak dáváme možnost 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") – viz obr. 1. 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ů. Moderní multimediální výukové programy, využívající interaktivní simulační hry pro vysvětlení složitých pojmů, tak umožňují prakticky naplnit staré Komenského heslo "schola ludus" (škola hrou). 2. Scénáristé výukových programů Obdobně jako sebelepší učebnice zcela nenahradí učitele, tak ho nevytlačí ani seberafinovanější výukový program. A stejně tak jako klíčovým faktorem pro úspěch vysokoškolských učebnic je schopnost jejich autorů názorně a věcně správně vyložit složitou látku, tak pro zdar výukového programu je nejdůležitější jeho kvalitní scénář. Napsat dobrý učební text vysvětlující složité procesy však není jednoduché a veškeré pomůcky (multimédia, interaktivní animace, simulační modely apod.) – tedy vše co si lze představit pod donekonečna omílaným slovem e-learning, jsou bez dobrého scénáře vlastního výukového programu či bez zkušeného učitele, který ví jak složitý simulační model pedagogicky využít, jen pouhou módní ozdobou.
A B
C
D Obr. 1 Příklad rozpojení fyziologických subsystémů z vnějších regulačních smyček v simulátoru GOLEM. Stisknutím tlačítka odpojíme řízení hladiny hormonu aldosteron z regulace. Pootočením knoflíku pak hladinu aldosteronu násilně zvýšíme (A). Po čase vidíme na schématu vylučování draslíku v ledvinách, že draslík se ve zvýšené míře vylučuje močí, jeho zásoby v plazmě jsou však malé a ledvinné ztráty pak vedou k tomu, že draslík se přesouvá do mimobuněčné tekutiny (a plazmy) z buněk (B). Výstup draslíku z buněk je však provázen vstupem vodíkových iontů do buněk (C), důsledkem je rozvoj extracelulární metabolické acidózy (D).
Obr. 2 Ukázka simulačního čipu (v daném případě 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ů. Na dalším obrázku se podíváme do vnitřku tohoto čipu
V případě využití multimediálních animací je podkladem pro tvorbu scénáře nejen (hyper)textová část, ale, obdobně jako při produkci kresleného filmu, i jakýsi "storyboard" naznačující výtvarníkům jaké mají vytvářet animované obrázky. Složitější to je ovšem při využití simulačních modelů. Tam nestačí jen namalovat návrhy obrázků. Je zapotřebí nejprve vytvořit vlastní simulační model. Obdobně, jako je teoretickým podkladem letového simulátoru více méně realistický model letadla, je v pozadí lékařského simulátoru model lidského organismu (resp. nějakého jeho subsystému). Vytváření simulačních modelů úzce souvisí s problematikou formalizace – tj. převedení představ o reálném světě z čistě verbálního popisu do popisu vyjádřeného formalizovaným jazykem (např. pomocí matematických výrazů). Tento proces, který ve fyzice začal již 16. a 17. století a v chemii v 19. století, je v biologických a lékařských vědách opožděn a začal se rozvíjet až v druhé polovině dvacátého stolení zejména v souvislosti s bouřlivým rozvojem výpočetní techniky.
Obr. 3 "Vnitřek" simulačního čipu z obr. 2. Struktura připomíná elektrickou síť s propojenými integrovanými obvody, které v daném případě reprezentují simulační čipy nižší hierarchické úrovně. V následujícím obrázku je znázorněn obsah čipu "Blood Acid Base Balkance"
Obr. 4 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. 3. 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".
Mezinárodní úsilí v této oblasti našlo své vyjádření v novém mezinárodním projektu PHYSIOME (viz www.physiome.org), který je nástupcem úspěšně řešeného projektu GENOME. Zatímco cílem projektu GENOME bylo vytvořit mapu lidského genomu, úkolem projektu PHYSIOME je vytvoření kvantitativního, formalizovaného popisu biologického organismu – tj. formalizovaným způsobem popsat jak organismus funguje. 3. Objektové nástroje pro simulátory Při tvorbě výukových simulátorů je vytváření simulačních modelů lidského organismu spíše vědeckým než ryze vývojovým úkolem. Tomu musí odpovídat i příslušné nástroje pro vytváření simulačních modelů. Proto pro vývoj simulačních modelů obvykle nestačí využívat klasické softwarové nástroje typu Microsoft Visual Studia či Borland Delphi.
Obr. 5 Simulační čipy na nejnižší hierarchické rovni jsou tvořeny propojenými základními komponenty vývojového systému Simulink (sumátory, násobičkami, integrátory aj.) a případně i simulačními čipy dalších nižších úrovní. Tyto propojené prvky reprezentují jednotlivé matematické vztahy. Ke každému čipu je dynamicky připojena příslušná dokumentační stránka, která obsahuje věcný popis funkce čipu včetně popisu matematických vztahů, které jsou jejím podkladem.
Dnes se pro tvorbu simulací využívají specializované nástroje. Jedním z nich jsou nástroje firmy Mathworks – Matlab a Simulink (s příslušnými knihovnami), které využívá i náš vývojový tým. Tyto nástroje umožňují snadno vytvářet, odlaďovat, identifikovat a optimalizovat simulační modely. V Simulinku je možné jednoduchým způsobem (pomocí myši) vytvářet simulační model jako propojenou síť jednotlivých počítacích bloků (integrátorů, sumátorů, násobiček apod.). Jednotlivé části sítě se dají hierarchicky seskupovat do subsystémů s uživatelsky definovanými vstupy a výstupy. Simulační model (který je možné ve vývojovém prostředí i spustit) je vyjádřen v grafickém, samodokumentujícím tvaru. Krom toho existují v Simulinku nástroje pro velmi sofistikovanou průběžnou dokumentaci modelu. Simulink umožňuje hierarchickou komponentovou výstavbu simulačních modelů. Jednotlivé subsystémy modelů (s uživatelem definovanými vstupy a výstupy) je možno ukládat do knihoven a opětovně používat. Tyto subsystémy 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 a 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 Obr. 6 Simulační čipy mohou být ve vývojovém vstupních veličin a na jeho výprostředí Simulink soustřeďovány do hierarchicky stupy připojit příslušné virtuální uspořádaných knihoven. Z nich pak lze jednotlivé čipy "vytahovat" pomocí myši (jako z palety nástrojů), osciloskopy či displeje. umísťovat je do vytvářené aplikace, propojovat je a vytvářet složitější modely.
Každý čip může "uvnitř sebe" obsahovat další propojené "simulační čipy". Obsáhlý simulační čip tak může mít složitou hierarchii (viz příklad na obr. 2-5). Použitý "čip" může být objektem bez vazby (resp. s přerušenou vazbou) na knihovnu, nebo může být tvořen instancí čipu z knihovny – pak "čip" v knihovně představuje třídu a použitý čip je její instance – se všemi z toho plynoucími výhodami týkající se znovupoužitelnosti a využití dědičnosti (při modifikaci knihovního čipu). 4. Vzájemná domluva přes simulační čipy Tvorba simulačních modelů v biomedicínských vědách je vždy 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 fyziologického systému a testující jeho chování pomocí simulačního modelu). Na druhé straně 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í, problém dorozumění mezi těmito dvěma skupinami specialistů může 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 graficky reprezentuje síť použitých vztahů, na kliknutí myší lze u každého softwarového simulačního čipu také otevřít nápovědní okno s dalším podrobnějším popisem (viz obr. 5). 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. Výhodné je, že Simulink navíc umožňuje podrobnou dokumentaci přímo generovat. Vždyť schémata, která jsou podkladem obrázků 2 5 nejsou produktem nějakého obyčejného kreslícího programu – ale jsou přímým výstupem nástroje pro simulaci. Ale nejenom to: nakreslené struktury jsou v prostředí programu Simulink "živé" - pomocí počítačové myši lze na jednotlivé vstupy softwarových simulačních "čipů" (tj. subsystémů simulačního modelu) 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. 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). Tak například fyziolog je schopen porozumět vnitřní struktuře simulátoru GOLEM [1-5], jehož jádro tvoří 18 propojených simulačních čipů (viz www.physiome.cz a obr. 3). Pokud by někdo chtěl jít i hlouběji do struktury modelu, nic mu v tom nebrání – na úrovni počítacích bloků se dostane i k příslušným rovnicím modelu, který je podstatou simulátoru GOLEM (36 diferenciálních rovnic, téměř 200 proměnných). Ukazuje se, že idea simulačních čipů je vysoce přínosná jako nástroj vzájemného dorozumění i v mezinárodním projektu PHYSIOME. Pro unifikaci komunikace se v současné době rozpracovává metodika popisu simulačních čipů (včetně matematických výrazů) v jazyce XML (viz www.physiome.org). 5. Trnitá cesta od simulačních čipů k simulátorům Simulační nástroje firmy Mathworks jsou určeny pro specialisty, ale 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 nevýhodná nutnost spuštění licencovaného prostředí Simulinku/Matlabu. Navíc, 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 vytvářené modely mezi ně zpravidla 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. Pro vývoj simulátorů ve výukových programech bylo proto vhodné se poohlédnout po jiném vývojovém prostředí než je Matlab a Simulink. Po určitém váhání jsme pro tvorbu uživatelského rozhraní simulátorů, raději než po obecných softwarových nástrojích (typu Delphi, Visual C++ aj.), sáhli po nástrojích využívaných při tvorbě průmyslových aplikací (měřících ústředen a velínů). Vedly nás k tomu především dva důvody: 1. Se simulačním modelem chceme v simulátoru fyziologických funkcí zacházet obdobně, jako se v průmyslu z velínu řídí složité technologické zařízení: chceme číst (a v nejrůznější grafické či číselné
podobě zobrazovat) množství nejrůznějších měřených dat (jako v průmyslové měřící ústředně) a zároveň chceme jednoduchým způsobem (stiskem tlačítek, otáčením knoflíků, popotahováním táhel apod.) simulační model ovládat (obdobně jako se z velínu řídí nějaká technologie). 2. Druhým důvodem, proč jsme sáhli po softwarovém nástroji z průmyslu, je spolehlivost. Požadavky spolehlivosti, kladené na nástroje, jejichž pomocí se vyvíjejí průmyslové řídící aplikace jsou obvykle řádově vyšší, než u obecných programovacích nástrojů. Nástrojů pro design průmyslových aplikací je na světovém trhu nemálo. Jejich ceny jsou ovšem, na rozdíl od obecných softwarových nástrojů, zpravidla velmi vysoké. Paradoxem je, že velmi dobrý nástroj lze získat velmi levně, a to přímo od domácího výrobce. Zlínská akciová společnost "Moravské přístroje" již léta vyvíjí systém pro tvorbu průmyslových aplikací s názvem "Control Web". Jde přitom o kvalitní vývojový systém: na letáčku jejich skandinávského distributora stojí "Svensk kvalitet (till Obr. 7 Paleta virtuálních přístrojů v systému Control Web. Přístroje je možno pomocí Tjeckiska priser)" – "Švédská kvalita myši z palety přístrojů rozmísťovat do (za české ceny)". Švédové jsou vytvářené aplikace a napojovat na vstupní či velmi domýšliví na kvalitu svých výstupní kanály. Tímto způsobem lze výrobků a pokud o vývojovém nájednoduše naprogramovat řídící panel stroji Control Web z Valašska vetechnologického zařízení či interaktivní řejně prohlašují, že dosahuje "švédgrafické uživatelské rozhraní simulátoru. ské kvality", je to velké ocenění skupiny tvůrců, kteří na tomto produktu usilovně pracují již od počátku devadesátých let. Nyní je jejich úsilí korunováno tím, že jejich programové dílo (jehož zdrojový text obsahuje více než 2 milióny řádek) nachází úspěšnou cestu na zahraniční trhy. Poslední verzi programu je tak možno vidět v nejen v anglické či německé verzi, ale i v "rozsypaném čaji" japonských znaků. Control Web je především určen pro vývoj průmyslových vizualizačních a řídících aplikací na platformě WIN32 - sběr, ukládání a vyhodnocování dat, tvorba rozhraní člověk-stroj aj. (viz http://www.mii.cz). 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ředko-
vány přes vstupní kanály, řídící signály mohou virtuální přístroje posílat do okolí pomocí výstupních kanálů. Pro vývoj uživatelského rozhraní poskytuje systém Control Web velmi výkonné prostředky. Tak např. z palety virtuálních přístrojů je možno snadno tažením myši vytáhnout potřebný přístroj a umístit ho na příslušný panel a v interaktivním dialogu mu nastavit hodnoty jeho příslušných atributů, nadefinovat jeho lokální proměnné, či individuální procedury (metody objektu) apod. 6 Kontejner pro simulační modely Abychom mohli využít vývojářské pohodlí systému Control Řídící / Měřené Vrstva softwarového ovladače Web, museli jsme použít následusignály komunikující s V/V zařízením jící, vcelku jednoduchý, trik. V Jádro softwarového ovladače Měřící/řídící karta měřící/řídíci karty průmyslových aplikacích Control měřící karta Vrstva softwarového ovladače Web komunikuje (přes příslušné Průmyslové komunikující se systémem technologické Control Web zařízení softwarové kanály) přes ovladač Výstupní / Vstupní kanály Uživatelské Uživatelské příslušné měřící/řídící karty rozhraní Jádro Control Webu rozhraní průmyslové průmyslové s průmyslovým technologickým aplikace aplikace Uživatelské rozhraní zařízením. (napsané vControl Webu) Je ovšem možné napsat speciální ovladač, jehož interní Obr. 8 Komunikace systému Control Web součástí je simulační model. Tens ovladačem řídící/měřící karty při tvorbě to ovladač je schopen komunikoprůmyslových aplikací. vat (přes softwarové kanály) s objekty systému Control Web, ale na rozdíl od ovladačů ke skutečným měřícím a řídícím kartám nekomunikuje s jejich hardwarem ale komunikuje se simulačním modelem. Pokud se ovladač napíše dobře, je systém Control Web "ošálen": vstupní kanály (k zobrazovacím prvkům na monitoru) považuje za skutečné Jádro softwarového ovladače Simulační model virtuální měřící/ řídíci karty měřené signály někde Vstupy Výstupy Vrstva softwarového ovladače z technologického okolí počítače, komunikující se systémem zatímco ve skutečnosti to jsou výControl Web stupní proměnné simulačního moUživatelské delu. A také v opačném směru je rozhraní Jádro Control Webu simulátoru Control Web přesvědčen, že výstupní kanály, které odcházejí od Uživatelské rozhraní (napsané v Control řídících prvků systému Control Webu ) Web, nastavují přes příslušný ovladač nějaké aktivní prvky průmysloObr. 9 Začlenění simulačního modelu do ovladače "virtuální karty" při tvorbě vého zařízení, ale ony namísto toho mění vstupy simulačního modelu. simulátoru v prostředí Control Web. Abychom usnadnili vývoj
ovladačů jakési "virtuální měřící/řídící karty", které obsahují simulační model a nemuseli tento ovladač pro každý model psát v C++ "ručně", vyvinuli jsme speciální program (tzv. průvodce), který nám umožní vývoj tohoto ovladače automatizovat. Máme tedy nyní možnost bezprostředně ze simulinkového schématu generovat zdrojový text příslušného virtuálního ovladače v C++. Tím je možné jednoduše a rychle modifikovat ovladač pro prostředí Control Web při nejrůznějších úpravách simulačního modelu v prostředí Simulink. To nám umožňuje vyvíjet (aktualizovat, modifikovat) simulační modely v prostředí Matlab a Simulink a ze simulačního modelu jednoduše vygenerovat (a okamžitě nechat přeložit) aktuální verzi ovladače pro Control Web se zapouzdřeným simulačním modelem. Další nespornou výhodou pro tvorbu simulátorů v prostředí systému Control Web je to, že (jak ostatně naznačuje i jeho název) systém umožňuje tvorbu skutečně distribuovaných řešení v intranetových/internetových sítích. To dává možnosti vytvářet distribuovanou výukovou aplikaci, kdy vlastní numericky náročné výpočty simulátoru probíhají na serveru (Control Web serveru) a vizualizace probíhá na klientech. 7. Kontejnery pro modelem řízené interaktivní animace Control Web pro vizualizaci simulátorů nabízí celou řadu vlastních virtuálních přístrojů. Pokud však chceme vytvářet vlastní virtuální přístroje – interaktivní animované obrázky, které jsou řízeny podle proměnných modelu, musíme sáhnout po dalším nástroji. Tímto nástrojem je Macromedia Flash MX – vývojové prostředí, umožňující vytvářet animované interaktivní komponenty, jejichž chování se dá programovat. Vytvořené komponenty se dají přehrávat (pomocí vestavěného interpretu, volně stažitelného z Internetu) přímo ve webových stránkách, nebo se dají využít jako ActiveX komponenty v jiných programech. Velký úspěch vývojového prostředí Macromedia Flash (a Macromedia Director) je mimo jiné založen na tom, že se jejich tvůrcům poměrně úspěšně podařilo definovat rozhraní pro výtvarníky (vytvářející základní animační prvky) a programátory, kteří těmto komponentám mohou pomocí speciálního objektového jazyka (Macromedia Action Script) vdechnout interaktivnost. Náš vývojový tým vytvořil pro vývoj interaktivní grafiky speciální laboratoř na Grafické škole Václava Hollara a věnoval velké úsilí tomu, aby profesionální výtvarníky naučil pracovat se systémem Macromedia Flash a Macromedia Director. Naším cílem je využít možností interaktivní grafiky vytvářené pomocí vývojových nástrojů Macromedia pro vizualizaci chování simulačních modelů. Propojení interaktivní animace vytvořené pomocí Macromedia Flash (či Macromedia Director) v podobě ActiveX komponenty s jejím vnějším okolím je přes komponentové rozhraní velmi snadné.
Tyto komponenty snadno dostaVytvoření siumlačního neme do prostředí modelu v Control Webu. JedSIMULINKu ním z virtuálních přístrojů v prostředí Control Web je totiž kontejner pro komponenty ActiveX, Překlad modelu který tak představuje do jazyka C ++ most mezi systémem Control Web a vlastJazyk C++ nostmi a metodami Kompilace z C++ (OLE Automation) do strojového kódu ActiveX komponent. DLL ovladače pro To znamená, že do Control Web aplikace lze zabudoSIMULÁTOR vat ActiveX komponenty a programově je ovládat - nastavovat jim vlastnosti a VSTUPY volat metody z proVÝSTUPY cedur jakýchkoliv modelu přístrojů. Funkční Uživatelské rozhraní Můžeme tedy jádro s vytvořené v Control např. pomocí systému modelem Webu Macromedia Flash MX vytvořit interaktivní výukové animace Uživatel a ty pak uložit jako komunikuje se simulátorem ActiveX komponenty do kontejneru. Animace pak mohou být řízeny na záklaObr. 10 Postupná tvorba simulátoru dě výstupů implementovaného simulačního modelu – 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" atd. Prostředí Control Webu je tak kontejnerem pro simulační modely, multimediální prvky i interaktivní (se simulačním modelem komunikující) animace. TVORBA SIMULÁTORU
OVLADAČ
TVORBA OVLADAČE
TVORBA MODELU
SIMULINK
Dalším slibným prostředím, které může být obdobným kontejnerem pro interaktivní animace vytvořené pomocí nástrojů Macromedia Flash či Macromedia Director je prostředí Microsoft .NET. Prostředí Microstoft.NET může být i vhodným kontejnerem pro simulační model. Simulační model pak může komunikovat s interaktivními grafickými komponentami (vytvořenými pomocí nástrojů firmy Macromedia), jejichž chování může být řízeno na základě výstupů ze simulačního modelu. Obdobně, jako jsme vytvořili speciální nástroj, který z modelu v prostředí Simulinku automaticky vytváří "virtuální ovladač" pro Control Web, naprogramovali jsem i nástroj pro automatický převod simulačního modelu vytvořeného v prostředí Simulink/Matlab do prostředí Microsoft .NET. Nezanedbatelnou výhodou tohoto nového systémového prostředí od Microsoftu jsou i nové možnosti, které pro tvorbu webových e-learninogvých aplikací přináší technologie ASP .NET. Proto se v budoucnu při tvorbě výukových aplikací budeme orientovat na platformu Microsoft .NET (a příslušný vývojový nástroj Microsoft Visual Studio .NET). 8. Kreativní propojení různých profesí a nástrojů Vývoj efektivních výukových programů, kombinující multimédia se simulačními hrami není úkolem pro jednotlivce. Je výhodné, když se na něm účastní řada odborníků různých profesí: • zkušený pedagog, který napíše scénář (včetně základního návrhu obrázků a interaktivních animací) a v závěru otestuje výsledný produkt ve výuce; • systémový analytik - expert, který (ve spolupráci s fyziologem) navrhne, formalizuje a odladí příslušné simulační modely – prostředkem vzájemného porozumění jsou simulační čipy, prostředím je Matlab/Simulink; • výtvarník, který navrhne a realizuje grafické komponenty pro interaktivní animace – prostředím je Macromedia Flash (případně Macromedia Director); • programátor, který využije Control Web a prostředi Microsoft .NET jako kontejner, do kterého umístí simulační model (v Control Webu ve formě ovladače virtuální řídící-měřící karty, do prostředí Microsoft .NET jako speciální assembly) a propojí ho s interaktivními animacemi a dalšími multimediálními prvky a naprogramuje vlastní výukovou aplikaci. • v neposlední řadě i ten komu je výsledný produkt určen – tedy student; jeho připomínky při otestování programu ve výuce spolu z poznatky pedagoga jsou pro vývojový tým cenným zdrojem poučení.
Pro kreativní propojení různých profesí je důležité použít vhodné vývojové prostředí, které šetří čas a peníze – např. na tvorbu simulačních modelů je efektivní využít prostředí Matlab/Simulink, pro tvorbu multimediálních animací prostředí Macromedia Flash/Macromedia Director a pro vlastní integraci simulátorů, interaktivních animací, textů a dalších multimediálních komponent bylo vhodné sáhnout po prostředí Control Web (dalším perspektivním vývojovým prostředím je prostředí Visual studio Microsoft .NET). Podle našich zkušeností je výhodné používat pouze takové nástroje, které mají spolehlivou technickou podporu – ukazuje se, že při tvorbě složitých projektů, zejména když používáme pro různé fáze projektu různé nástroje, které je třeba dobře provázat, je spolehlivé technicko-servisní zázemí klíčové. Právě z tohoto hlediska dáváme přednost komerčním vývojovým nástrojům před tzv. "open source" nástroji akademické sféry. Je zřejmé, že důsledný objektový návrh podporuje týmovou práci a šetří čas - proto se snažíme používat komponenty a objekty ve všech fázích vývoje – od návrhu simulačního modelu důsledně strukturovaného do simulačních čipů, přes komponentovou výstavbu prvků pro interaktivní animace v prostředí Macromedia Flash, až po vlastní integraci simulačního modelu s grafickým uživatelským rozhraním, hypertextem a interaktivními animacemi v simulátoru či ve výukovém programu. Věru hořké zkušenosti ukazují, že pro usnadnění kreativního propojení stále platí stará zásada: dokumentace, dokumentace, dokumentace každého vývojového kroku – tvorba dokumentace bývá leckdy podceňována. Při týmové multidisciplinární práci u složitého projektu je však nezbytná. Kombinace veřejných a privátních finančních zdrojů pro vývoj – je u nás nezřídka podceňována. Je výhodné i v akademickém prostředí nebýt odkázán při vývoji pouze na zdroje veřejných rozpočtů. Řada vyvíjených produktů se dá po určité modifikaci využít v privátní sféře a akademická komunita tak může získávat další zdroj financování (např. účast na vývoj multimediálních produktů pro farmaceutické firmy může přinést zdroje pro vývoj výukových programů pro pregraduální lékařskou výuku). 9. Od "umění" k "průmyslu" 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í – zkušených pedagogů vytvářejících základní scénář, tvůrců simulačních modelů, lékařů, výtvarníků a programátorů. Aby tato interdisciplinární kolektivní tvorba byla efektivní, je nutno pro každou etapu tvorby využívat specifické vývojové nástroje, s do-
stateč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. 10. Literatura [1] Kofránek, J., T. Velan and R. Kerekeš, (1997): Golem: A Computer Simulator of Physiological Functions as an Efficient Teaching Tool, in: Legacy for 21st Century. Proceedings of the First Word Congress on Systems Simulation., (editors: Teo, Z.M., W.C.Wong., T.I.Oren, R. Rimane ), IEEE Singapore Section, Singapore., Singapore 1997, pp. 407-411. [2] Kofránek, J., T. Velan, P. Janicadis and R. Kerekeš, (2000): Golem – medical multimedia training simulator of body fluids and acid-base disorders, in: The Proceedings of 2000 Summer Computer Simulation Conference. (editors: William Waite, Abe Nisanci.) Society for Computer Simulation International. Vancouver 2000, pp. 737-741. [3] Kofránek, J., T. Velan, P. Janicadis, R. Kerekeš, (2001): Diagnostic and treatment of virtual patients with Golem – multimedia simulator of physiological functions. In: Simulation in the Health and Medical Sciences 2001. (editors: J. G. Anderson, M. Katzer), Phoenix, Arizona 2001. ISBN: 1-56555-222-9, Society of Computer Simulation International, Phoenix 2001, str. 157- 164. [4] Kofránek, J., L. D. Anh Vu, H. Snášelová, R. Kerekeš, T. Velan, (2001): GOLEM – Multimedia simulator for medical education. In: Studies in Health Technology and Informatics., vol. 84. MEDINFO 2001, Proceedings of the 10th World Congress on Medical Informatics. (editors: V.L. Patel, R. Rogers, R. Haux), IOS Press, Amsterdam, Berlin, Oxford, Washington DC, 2001, pp. 1042-1046. [5] Kofránek, J., M.Andrlík, T. Kripner, J. Mašek, T. Velan, (2002): Simulation Chips for GOLEM – Multimedia Simulator of Physiological Functions. In: Simulation in the Health and Medical Sciences 2002. (editors: James G. Anderson, M. Katzper). Society for Computer Simulation International, Simulation Councils, San Diego, 2002, str. 159-163.
Poděkování Práce na vývoji lékařských simulátorů a tvorba výukových programů se simulačními hrami je podporována výzkumným záměrem MSM111100008 (physiome.cz) a společnostmi BAJT servis, s.r.o. a Creative Connections, z.s.p.o.
Jiří Kofránek Biokybernetické oddělení Ústavu patologické fyziologie 1. LF UK U nemocnice 5 128 53 Praha 2 tel: 22496 2793 fax:22496 0503 e-mail:
[email protected]