„Představte si svět, kde technologie pomáhají řešit nejpalčivější problémy dnešního světa.“
Jack London „Podstata hry není ve vítězství, ale ve hře samotné.“
IMAGINE CUP 2010 | 4
NEJPALČIVĚJŠÍ PROBLÉMY DNEŠNÍHO SVĚTA Letošní ročník mezinárodní studentské soutěže Imagine Cup společnost Microsoft pořádá již po osmé. Cílem je podnítit studenty aby si vyzkoušeli své nápady uvést v život s pomocí informačních technologií. Každý ročník je věnován určitému globálnímu tématu. Letos se studenti zamýšlejí nad tím, jak technologie mohou pomáhat vyřešit ty nejobtížnější problémy, které před námi dnes stojí. Soutěž má několik kategorií. Kategorie softwarový návrh probíhá v každé zemi samostatně a vítěz z každé země postupuje do celosvětového fi nále ve Varšavě. V ostatních kategoriích studenti soutěží od začátku on-line se soutěžícími z celého světa a do fi nále postupuje 6 celosvětově nejlepších týmů. Letos jsme pro studenty připravili ještě speciální podkategorii zaměřenou na platform Windows Mobile.
Soutěž Imagine cup probíhá v následujících kategoriích: Softwarový návrh vyžaduje od studentů technické znalosti a kreativitu při návrhu softwarového řešení aktuálního problému. Studenti musejí přijít s nápadem, na jeho základě vytvořit projekt a realizovat celý vývojový proces. Soutěžní návrhy hodnotí odborná porota podle stupně inovace, dopadu na cílovou skupinu a celkové efektivity. Této kategorie se soutěžící účastní osobně a z regionálního kola postupují přímo do celosvětového fi nále ve Varšavě.
Mobilní vývoj tato podkategorie softwarového návrhu je zaměřena na vývoj pro mobilní telephony a motivuje tak studenty k použití této moderní a perspektivní vývojové platformy.
Embedded systémy je kategorie, ve které soutěžící mají vyvinout funkční prototyp integrovaného zařízení s operačním systémem Windows CE, které bude možné využít k naplnění tématu letošního ročníku soutěže Imagine Cup.
IMAGINE CUP 2010 | 5
Herní návrh lze označit za jeden z nejnáročnějších testů kreativity a technických dovedností. Úkolem je totiž vytvořit hru, která bude nejen zábavná, ale zároveň bude souviset s tématem letošního ročníku. S využitím zcela nového vývojového prostředí XNA Game Studio mají soutěžící studenti šanci zviditelnit své hry v mezinárodním měřítku.
IT Challenge je kategorie, která ověřuje znalosti studentů v oblasti síťových, serverových a databázových technologií a schopnosti reálné analýzy a strategického rozhodování v IT prostředí.
Digitální media vyzývá k vytvoření digitálního díla – krátkého filmu, kterým soutěžící osloví diváky.
Ing. Filip Řehořík Academic Developer Evangelist Microsoft Česká Republika
IMAGINE CUP 2010 | 6
České národní finále Imagine Cup 2010 Soutěžní práce GTD aplikace pro Windows Mobile Libor Weigl SOFTWAROVÝ NÁVRH – MOBILNÍ VÝVOJ
8
3D Image Viewer for Windows Mobile with Facebook Jiří Miklósy SOFTWAROVÝ NÁVRH – MOBILNÍ VÝVOJ
13
Geographical information assistant Bc. Zbyněk Poulíček, Bc. Boris Procházka, Bc. Petra Bačíková SOFTWAROVÝ NÁVRH – MOBILNÍ VÝVOJ
18
NanoHeal Lenka Vlková, Hana Vrzáková, Adéla Wiederlechnerová HERNÍ NÁVRH
IMAGINE CUP 2010 | 7
28
Odborná komise soutěže Mentoři: Ing. Peter Solar Ing. Adam Herout, Ph.D.
Porotci: Mgr. Michal Hrabí, Jihomoravské inovační centrum Ondřej Reif, Projekt Eurocampus Česká republika Ing. Rudolf Stáhlich, šéfredaktor časopisu FotoVideo a www.ifotovideo.cz Jan Kužník, iDnes.cz, Technet.cz Aleš Přistál, editor Chip On-line a konzultant webových služeb, Burda Praha, spol. s.r.o. Ing. Jan Martinovič, Ph.D., VŠB-TU Ostrava, FEI, Department of Computer Science
IMAGINE CUP 2010 | 8
KATEGORIE: SOFTWAROVÝ NÁVRH – MOBILNÍ VÝVOJ | Libor Weigl |
GTD aplikace pro Windows mobile Tým
Libor Weigl
Škola
Fakulta Informačních Technologií, VUT Brno
Mentor
Ing. Peter Solar
Řešitelé
Libor Weigl
1 Úvod GTD jsem si nastudoval podle knížky Mít vše hotovo. Tuto knížku napsal otec této metodologie David Allen. Jednotlivé kapitoly popisují krok za krokem, jak nejlépe zvládnout a používat tuto metodologii v našem životě. Výhodou této metodologie, zabývající se organizací času a dosáhnutí lepších výsledku v životě, je její možnost přizpůsobení každému člověku. Člověk se nepřizpůsobuje metodologii, ale ona jemu. Tímto faktem se stává bezkonkurenční, člověk ji rád příjme a bere za samozřejmou, tak jako osobní hygienu.
2 Metodologie GTD GTD popisuje rozsáhlou množinu řízení času. V rámci zadání vývoje aplikace je třeba se více zaměřit na řízení každodenních činností. Jednotlivé činnosti můžeme klasifikovat, jako kroky do určitého cíle. Kroky se společným cílem můžeme sloučit do jednoho celku. Tímto celkem bude seznam, který bychom rádi splnili. Jednotlivé seznamy se mohou skládat z více podseznamů. Na tomto příkladu je vidět, jak je GTD velice flexibilní. Jednotlivé kroky a seznamy je potřeba uchovávat. Mohli bychom je uchovat v našem vědomí. To není dobrý nápad! Cokoliv co musíme uchovávat v hlavě. Nám způsobuje jisté napětí a nemůžeme se soustředit na to, co právě je potřeba udělat. Další možnost je napsat si tyto informace na papír. Tento nápad už je lepší vše, co si potřebujeme uchovat, si zapíšeme a naše mysl se může věnovat těm požadavkům, kterým se právě musíme věnovat. Papír je časem prověřené médium k uchovávání informací. Bohužel dnes ne zcela nevyhovující. Naše cíle se mění a s tím i jednotlivé kroky. Proto by bylo výhodné mít při ruce nástroj, v kterém bychom mohli zapisovat a v budoucnu měnit obsah těchto informací. Mělo by to byt něco, co máme stále při ruce. Tyto požadavky přesně splňuje mobilní telefon. Pokud tento telefon doplníme o efektivní nástroj, jenž bude primárně uzpůsoben požadavkům GTD.
3 Hlavní cíl návrhu programu Hlavní cíl návrhu programu je přizpůsobení programu lidem. Znamená to, že člověk raději si vybere tento program pro GTD, než by použil klasický papírový notes a do něj uložil krok seznamu, či rozpracovával seznam. Člověk musí zažít stejný pocit, jako při zápisu do papírového notesu a ještě navíc zažít výhody elektronického zápisu s jednodušší správou dat. Skupina potenciálních uživatelů je dosti široká, jak pro personální použití. Mohla by se také stát podnikovým softwarem pro firmy, které používají k řízení svých projektů metodologii GTD. Mezi nejznámější jsou NASA, Sony, Lockheed Martin, Microsoft, US NAVY a Oracle.
IMAGINE CUP 2010 | 9
KATEGORIE: SOFTWAROVÝ NÁVRH – MOBILNÍ VÝVOJ | Libor Weigl | Aplikace GTD se v budoucnu dočká rozšíření v podobě synchronizace s GTD modulem pro Microsoft Office Outlook. Uživatel by měl vždy aktuální data po ruce. Tím byl ještě úspěšnější při dosahování cílů.
4 Použité technologie Vývojové prostředí
Vyvíjím pod vývojovým prostředním visual studio 2008 od společnosti Microsoft. Do toho prostředí jsem doinstaloval vývojový modu pro Windows mobile konkrétně Windows Mobile 6 Professional and Standard Software Development Kits.
Výběr programovacího jazyka
Rozhodoval jsem se mezi modifikaci C++/CLI a C# s využitím frameworku.NET. C++/CLI je sice efektivnější, protože po kompilaci vznikne strojový kód a aplikace je svižnější. U C# probíhá překlad do strojového kódu, až na daném zařízení překlad just in time. Na rozdíl C++ však framework.NET poskytuje mnoho velmi užitečných knihoven pro urychlení vývoje. Programátor nemusí řešit problémy s alokací pamětí, o vše se postará framework.NET. Při vývoji jsem zjistil, že platforma Windows mobile 6.1 obsahuje Frameworku.NET verze 3.0. Bohužel. NET 3.5 implicitně neobsahuje. Windows mobile 6.5, již by měl obsahovat. K perzistenci dat používám xml soubor. Hlavní výhodu tohoto řešení vidím v nezávislosti na platformě.
5 GUI aplikace GTD Po spuštění aplikace se nám zobrazí hlavní okno s hlavní nabídkou. Pomocí tlačítka projekty se nám vyvolá okno pro editaci a přidávání projektů. Tlačítko přehled kroků slouží k získání komplexního přehledu o všech aktivních projektech a jejich krocích. Tlačítko Další krok je užitečné, když se potřebujme rozhodnout podle kontextu. Možný krok nám maximálně urychlí volbu dalšího kroku. Kontextové menu obsahuje dva prvky možnosti a ukončit. V možnostech máme na výběr z možností vyvolání okna pro seznam možná někdy nebo archív. Všechny okna vyvolané pomocí těchto tlačítek si podrobněji uvedeme dalších odstavců.
IMAGINE CUP 2010 | 10
KATEGORIE: SOFTWAROVÝ NÁVRH – MOBILNÍ VÝVOJ | Libor Weigl | Okno projekty má v hlavním kontextovém menu dvě funkce zpět, což je návrat do hlavního okna, nebo možnost nabídku. Nabídka nám zobrazí možnosti přesunu projektu do jiné kategorie. Přidání nového projektu. Editaci stávajícího projektu a jeho smazání. Jestliže si vybereme některý projekt, se nám zobrazí nové okno s kategoriemi.
Kategorie nám usnadní manipulaci s kroky. Splněné kroky se nám automaticky přesouvají do kategorie Splněno. Kroky můžeme libovolně přesouvat mezi kategoriemi.
IMAGINE CUP 2010 | 11
KATEGORIE: SOFTWAROVÝ NÁVRH – MOBILNÍ VÝVOJ | Libor Weigl |
Kategorie nám usnadní manipulaci s kroky. Splněné kroky se nám automaticky přesouvají do kategorie Splněno. Kroky můžeme libovolně přesouvat mezi kategoriemi.
Pomocí toho to okna si vybíráme kontext, kde se přímo nacházíme. Jestliže vybere určitý kontext. Tak okno vyvolané touto volbou nám nabídne kroky, které bychom mohli vykonat. Další možnosti okna jsou uvedeny v zobrazeném menu.
IMAGINE CUP 2010 | 12
KATEGORIE: SOFTWAROVÝ NÁVRH – MOBILNÍ VÝVOJ | Libor Weigl |
Formulář pro přidání kroku obsahuj dvě stránky. Na první je možno pomocí kombo boxu vybrat kontext. Pokud v nabídce není, můžeme si vložit libovolný.
Doufám, že jsem vám vytvořil jistou představu o aplikaci GTD. Nejlépe však doporučuji si vyzkoušet tuto aplikaci na svém zařízení. Obsahuje daleko více ovládacích prvků, než zde bylo zmíněno. Pro co nejefektivnější podporu GTD. Například dosti propracovaná aplikace Things od společnosti Apple, nedovede přidat k projektu poznámku. Tato vlastnost patří mezi základy GTD.
6 Závěr K pochopení aplikace je třeba si řádně nastudovat knížku „Mít vše hotovo“. Za vznikem této aplikace stála potřeba uživatelů po aplikaci, která by dokonale vystihovala metodologii GTD. Pro Windows mobile doposud, neexistovala aplikace pro tuto metodologii. Moje snaha byla, co nejvíce ušetřit čas při řízení činností s pomocí tohoto softwaru. Pomocí dvou stisknutí se uživatel dostane k plnění kroků. Agenda ohledně organizace našeho času zabere méně času a tím stihneme více závazků. S pojení GTD metodologie a této podporné aplikace, již nebudeme znát pojem „Nemám čas“. Díky tomu odpadne ten nepříjemný tlačivý pocit, že nic nestíháme.
IMAGINE CUP 2010 | 13
KATEGORIE: SOFTWAROVÝ NÁVRH – MOBILNÍ VÝVOJ | Jiří Miklósy |
3D Image Viewer for Windows Mobile with Facebook Tým
Jiří Miklósy
Škola
Fakulta Informačních Technologií, VUT Brno
Mentor Řešitelé
Jiří Miklósy
1 Úvod Dokumentace popisuje návrh a imlementaci programu, který zobrazuje obrazky v 3D prostředí. Dále umožňuje označování a popisování fotografií. To vše bylo napsáno za použití.NETCF c# Directx a Facebook developer toolkit.
2 Analýza problému a princim řešení Úkol
Cílem tohoto projektu je udělat aplikaci za využití Directx k pěknému prohlížení obrázků, jejich označování a tágování pro upload na facebook. Tato aplikace by měla v počátcích usnadnit lidem orientaci v kontaktech a v rozpoznávání jednotlivých lidí/míst podle tágů. Tyto otágované obrázky pak budou moct sdílet a uchovávat v adresáři. V dalším vývoji by se aplikace měla naučit lidi automaticky rozpoznávat podle již otágovaných obrázků. To by mohlo pomoct například k hledání osob podezřelých z trestných činů nebo v hledání teroristů.
Analýza a návrh
Aplikaci založím na informacích uložených v XML. Jedno XML bude obsahovat informace o nastavení, druhé XML obsahuje informace o obrázcích a objektech na nich označených. To vše následně uploaduji na Facebook.
Obrázek ukazuje navrhované vstupy a výstupy
IMAGINE CUP 2010 | 14
KATEGORIE: SOFTWAROVÝ NÁVRH – MOBILNÍ VÝVOJ | Jiří Miklósy |
Princip řešení DirectX
DirectX a tedy grafického výkonu mobilních zařízení v dnešní době moc nevyužívá. Důvod je prostý. Tato zařízení až do nedávné doby nebyla schopna rychlého 3D vykreslování. S nástupem nových čipů kolem roku 2005 se otevřela cesta novým zobrazovacím možnostem. V tomto případě možnost zobrazovat pomocí DirectX. V mobilních zařízeních se nejčastěji používá Managed DirectX 9.0 s kombinací s c#.
Windows mobile
Windows mobile (skratka WM) je typ operačního systému pro mobilní zařízení. Tato zařízení jsou rozmanitá a vyrábějí jej různí výrobci. Podíl WM v mobilním celosvětovém měřítku je cca 30%. Pro tato zařízení zatím není vyvíjen kvalitní 3D prohlížeč obrázků.
3 Princip vykreslování: Vykreslovat chceme obrázky v určité složce. Z těchto obrázků musíme udělat menší a stejně nebo podobně kvalitní textura. Pro zobrazování objektů, v tomto případě obrázků, jsem se rozhodl použít jeden Mesh. Mesh je objekt na který namapujem náš požadovaný obrázek jako texturu. Proč jeden Mesh? Windows Mobile zařízení mají velice malou paměť, nejčastěji se pohybuje okolo 60MB volné paměti. Proto by udržování meshů pro každý obrázek vedlo k zpomalování nebo dokonce pádu aplikace pro nedostatek paměti. Tento jeden mesh je různě natáčen, posouván, zmenšován či zvětšován což vede k simulaci zdi na kterou jsou obrázky namapovány.
Zeď obrázků, s označeným obrázkem(bílý rámeček)
IMAGINE CUP 2010 | 15
KATEGORIE: SOFTWAROVÝ NÁVRH – MOBILNÍ VÝVOJ | Jiří Miklósy | K vykreslování obrázků bylo zapotřebí vytvořit pro každý obrázek vlákno. A to tím způsobem že každé vlákno které načte obrázek a vykreslí ho, vytvoří vlákno další pro další obrázek. Takto se pokračuje dokud paměť zařízení není plná nebo pokud se nanaplní uživatelem stanovený limit počtu zobrazených obrázků. Pokud má uživatel limit pro vykreslení nebo je paměť plná tak se obrázky dále nenačítají. Uživateli se zbývající (dřive nezobrazené) obrázky vykreslují po dosažení pravého nebo levého okraje zdi. Při tom se tedy načítají ve vláknech další obrázky na jednu stranu zdi a z druhé se uvolňují. Viz obr 3. Zde jsme došli na pravý konec zdi, načítá se další řada onrázků. Zde již jsou 2 obrázky načtené a jeden(červeně naznačený) se právě načítá
4 Označování, tágování obrázků K otágování obrázku musíme nejprve jeden vybrat. Po vybrání zmáčkneme tlačítko pro označování(žluté tlačítko v levém panelu). Obrázek se Vám zazúmuje. Nyní klikem, tahem označíme, popíšeme a uložíme. Viz obr 4 až 7.
IMAGINE CUP 2010 | 16
KATEGORIE: SOFTWAROVÝ NÁVRH – MOBILNÍ VÝVOJ | Jiří Miklósy |
Obrázky znázorňují postup při tágování obrázků
IMAGINE CUP 2010 | 17
KATEGORIE: SOFTWAROVÝ NÁVRH – MOBILNÍ VÝVOJ | Jiří Miklósy |
Kompletně otágovaná fotka, infofrace o tázích je uloženo v XML
5 Upload na Facebook Uplod na Facebook zatím není v aktuální verzi sprovozněn. Hodlám využít Facebook development toolkit. Bohužel tento toolkit není určen pro.NETCF což stěžuje vývoj.
Jak bude upload fungovat
Uživatel přes speciální formulář vyplní svoje facebook údaje nutné pro login. Dále si vybere které fotky chce uloadnout a zda chce s fotkou uloadnout i tagování.
6 Budoucí vývoj Tento vývoj by se měl zaměřit na automatické tágování obrázků podle klasifikace již označených obrázků které jsou buď uloženy v mobilu nebo v databázi. Toto by mohlo pomoct k určování pozice teroristů a zločinců. Kdy uživatel vyfotí podezřelou osobu a pokud se jedná o hledanou osobu mobil určí vaši polohu přes GPS nebo podle IP adresy a dá vědět policii. Motivace uživatelů hledat zločince by byla na základě odměny za dopadení.
7 Závěr Konstrukcí Image Vieweru mne provází mnoho problémů, od hardwarové (ne)podpory DirectX u starších telefonů, přes osekaný.NET a DirectX(při srovnání s desktopovými verzemi). Na druhou stranu jsem již tuto aplikaci poskytl některým svým známým a mám většinou pozitivní ohlasy. Tyto ohlasy, účast v Imagine Cupu a vytvoření kvalitní bakalářské práce mne žene stále vpřed ve vytvoření toho programu.
IMAGINE CUP 2010 | 18
KATEGORIE: SOFTWAROVÝ NÁVRH – MOBILNÍ VÝVOJ | GINA |
Geographical information assistant Tým
GINA
Škola
Fakulta Informačních Technologií, VUT Brno
Mentor
Ing. Adam Herout
Řešitelé
Bc. Zbyněk Poulíček, Bc. Boris Procházka, Bc. Petra Bačíková
IMAGINE CUP 2010 | 19
KATEGORIE: SOFTWAROVÝ NÁVRH – MOBILNÍ VÝVOJ | GINA |
1 Úvod Haiti, bohem zapomenutý stát, který nepoznal štěstí, se během pár hodin změnil v peklo. Zemětřesení o síle 7 stupňů Richterovy stupnice bylo podle odborníků 35 krát silnější než atomová bomba svržená na Hirošimu. K tomu, aby vyhasly tisíce životů, stačilo pouhých čtyřicet sekund. Města se mění v uprchlické tábory, kde je nedostatek vody, jídla a léků. Pomoc se do centra zkázy dostává jen pozvolna. Někteří upínají zrak na oblohu v naději, že přijde pomoc. Jiní se ve snaze přežít uchylují k rabování. Lidé leží pod sutinami, volají o pomoc. Reportéři procházejí troskami, monitorují vzniklou situaci. Nemohou pomoci – nemají jak. Představte si svět, kde technologie pomáhá řešit ty nejpalčivější problémy. Představte si svět, ve kterém jsou tisíce životů zachráněny. Zachráněny díky systému GINA.
2 Projekt GINA Projekt GINA (Geographical INformation Assistent) představuje inovativní softwarový systém pro mobilní zařízení, umožňující navigaci v náročném terénu, koordinaci týmů a efektivní výměnu geografických informací. Svými vlastnostmi je předurčen pro záchranářské týmy, expedice a jiné skupiny operující v extrémních podmínkách. Efektivní využití systému je možné od 3. týdne po katastrofě, kdy dojde k obnově mobilní sítě.
IMAGINE CUP 2010 | 20
KATEGORIE: SOFTWAROVÝ NÁVRH – MOBILNÍ VÝVOJ | GINA |
GINA – moderní technologie Základ systému tvoří kapesní zařízení PDA. Jsou levná, široce rozšířená, mají dotykový displej, jsou běžně vybavená GPS přijímači a existují i jejich odolné varianty, které jsou určeny do náročného terénu.
GINA – zvýšení bezpečnosti osob Systém GINA umožňuje pomocí GPS modulu lokalizovat polohu zařízení. Podporuje tak orientaci v neznámém prostředí a zároveň umožňuje udržovat vizuální kontakt na mapě s ostatními členy týmu. Tyto informace jsou neocenitelné pro případy nouze, kdy dojde ke ztrátě spojení se skupinou v neznámé či nebezpečné oblasti.
Lokalizace polohy
Systém zaznamenává polohu všech připojených zařízení a umožňuje zobrazit historii jejich pohybu, čímž je možné mapovat pohyb všech členů týmu. Tyto informace mohou v budoucnu využívat jiné týmy, např. pro stanovení nejvhodnější trasy.
Tísňové volání
Stiskem jediného tlačítka můžete přivolat pomoc. Po aktivaci funkce dochází k rozeslání volání o pomoc všem připojeným účastníkům. Zařízení se následně přepne do pasivního režimu, kdy simuluje vypnutí přístroje a přitom nadále odesílá informace o své poloze.
GINA – týmová komunikace Jedním ze základních požadavků týmové koordinace při pátrání např. po nezvěstných, je nepře-tržitá výměna informací. Každý člen týmu může okamžitě kontaktovat své týmové kolegy, a to prostřednictvím kresby na displeji, krátké textové zprávy nebo fotografie z vestavěného fotoaparátu. Vložené informace jsou ihned zobrazeny všem členům skupiny.
IMAGINE CUP 2010 | 21
KATEGORIE: SOFTWAROVÝ NÁVRH – MOBILNÍ VÝVOJ | GINA |
GINA – elegantní způsob výměny geografických informací Kombinace mapových podkladů, geografické polohy a snadný způsob zadávání informací pomocí dotykového displeje – to vše v zařízení, které se vejde do kapsy. Díky možnosti kreslit do právě zobrazované mapy lze systém použít pro zaznamenávání geograficky významných bodů či míst, jako je právě prohledávaná oblast nebo překážky na komunikaci. Sdílení informací je usnadněno tříděním informací do kategorií.
GINA – nezávislost mapových podkladů Systém nabízí možnost zobrazení mapového podkladu od několika Internetových poskytovatelů. Záchranný tým si tak může zvolit typ mapy, který je pro daný úkol nejvhodnější. GINA umožňuje kdykoliv rozšířit nabídku mapových podkladů, a to i během mise (např. při přesunu týmu do nové oblasti).
GINA – integrace záchranných složek Cílem je umožnit propojení všech záchranných skupin, které se na daném místě vyskytují. Projekt počítá se zapojením hasičů, záchranářů, policistů či záchranářských psů. Psům, kteří prohledávají rozsáhlá nebo těžko dostupná místa, je možné na tělo připevnit miniaturní GPS moduly a pro-hledanou oblast následně zavést do systému. Tyto technologie jsou dnes běžně dostupné. • • • •
Policie – poskytování fotek z místa činu a tlumočení svědeckých výpovědí Psovodi – sledování pohybu psů a následná analýza prohledané oblasti Horská služba – koordinace týmu na velké vzdálenosti a za špatné viditelnosti, usnadnění orientace v terénu Dobrovolní záchranáři – využití velké skupiny dobrovolníků pro zmapování katastrofou postižené oblasti (nízké pořizovací náklady)
Veškeré informace z globální databáze jsou přístupné krizovým štábům po celém světě. Ty pak mohou nad daty provádět analýzu a s jejich pomocí také plánovat nadcháze-jící akce. Díky výměně informací v reálném čase je možné centrálně koordinovat záchranářské práce, a tím zvýšit efektivitu záchrany životů.
IMAGINE CUP 2010 | 22
KATEGORIE: SOFTWAROVÝ NÁVRH – MOBILNÍ VÝVOJ | GINA |
3 Architektura a technologie Systém GINA je založen na architektuře typu klient-server, kde klientskými zařízeními jsou PDA připojená pomocí Internetu k serveru. Klient i server běží na platformě .NET Framework.
4 Klientská část Vykreslování ve vrstvách – informace jsou vrstveny na sebe. Nejspodnější vrstvu tvoří mapové podklady a na ni se pak vykreslují další informace. To umožňuje současně zobrazit veškerá data potřebná pro danou činnost. Záznam uživatelských informací – uživatel má možnost do mapy kreslit (používají se vektorové křivky), vkládat fotografie, texty a také např. piktogramy/ikony označující problém v daném místě. Tato data
IMAGINE CUP 2010 | 23
KATEGORIE: SOFTWAROVÝ NÁVRH – MOBILNÍ VÝVOJ | GINA | mohou být perzistentní, kdy jsou ukládána do centrální databáze pod specifickou kategorii, nebo jsou platná jen v danou chvíli, kdy se na připojených zařízeních zobrazí jen dočasně. Uživatelské rozhraní – je vytvořeno tak, aby aplikaci mohl pohodlně ovládat i netechnicky založený člověk. Z tohoto důvodu aplikace běží ve více vláknech, a tím poskytuje maximálně rychlou odezvu. Všechny hlavní funkce jsou ovladatelné pomocí dvou tlačítek. Integrace hardware – GINA využívá zařízení na maximum. Spolupracuje s vestavěným GPS přijímačem a s fotoaparátem, zamezuje uspání zařízení a využívá vibrace pro upozornění uživatele. Systém je propojen s vestavěným telefonem a umožňuje tak přímo kontaktovat ostatní členy týmu pouhým klepnutím na jejich značku v mapě. Synchronizace – aplikace počítá s využitím v oblastech s velmi nízkou nebo žádnou konektivitou. Veškerá nasbíraná data jsou proto ukládána v databázi mobilního zařízení a automaticky synchronizována, jakmile je připojení dostupné. Večerní synchronizace a zpracování dat je běžnou praxí práce záchranných složek v ČR i zahraničí.
5 Serverová část Tenká webová služba – běží na platformě ASP.NET a zprostředkovává ukládání a vybírání informací z centrální databáze. Je univerzální a snadno rozšiřitelná (umožňuje spolupráci s různými platformami). Je navržena tak, aby její rozhraní bylo možné rozšiřovat o další způsoby komunikace pomocí různých protokolů (např. ODATA). Předpokládá se její nasazení na Windows Azure. Komunikační rozhraní – v současné době služba komunikuje dvěma způsoby – pomocí protokolu SOAP a GINA HTTP. Ten byl navržen speciálně pro zprostředkování komunikace s mobilním zařízením s ohledem na nízkou konektivitu (např. GPRS). Jedná se protokol pracující nad HTTP, který umožňuje zpracování stahovaného obsahu po částech a kompresi celé komunikace na obou stranách. Tím minimalizuje cenu za přenesená data. Spatial data – geografické informace jsou ukládány v centrální databázi s využitím geografických datových typů. To umožňuje data snadno analyzovat a pracovat s nimi.
IMAGINE CUP 2010 | 24
KATEGORIE: SOFTWAROVÝ NÁVRH – MOBILNÍ VÝVOJ | GINA | Mapové podklady – služba zprostředkovává stahování mapových dlaždic pro klientská zařízení. K tomu využívá Internetové poskytovatele map. Mapové dlaždice nejsou nijak modifikovány, jsou pouze ukládány v omezeném množství do mezipaměti za účelem zvýšení výkonu, což je v souladu s licenčními podmínkami poskytovatelů.
6 Použité technologie • • • • • •
SQL Compact Server 3.5 MS SQL Server 2008 MS Windows Server 2008 R2 Windows Mobile Windows Azure.NET Framework 3.5 (WinForms, ASP.NET).NET Compact Framework 3.5 OpenNETCF
7 GINA v praxi Projekt GINA si klade vysoké ambice a má za cíl stát se mezi-národně uznávaným rámcem pro řízení a koordinaci záchranářských misí po celém světě. Za tímto účelem byl vypracován marketingový plán, stanovena bezpečnostní politika a bylo osloveno několik humanitárních organizací a záchranných složek.
Marketingový plán
Misí tohoto projektu je sjednotit komunikační kanály všech záchranářských složek v oblastech, které jsou postiženy nejen živelnými katastrofami velkého rozsahu. GINA je software, který je finančně dostupný a využívá dnes běžné technologie, které přináší záchranářským týmům možnost snadné výměny informací. Díky tomu mohou prováděné práce probíhat rychleji a s nižšími náklady. Marketingový plán počítá s neustálým vývojem systému a stanovil si důležité milníky, jejichž splnění zvýší celkovou konkurenceschopnost projektu. GINA 1.0 – smart client, ImagineCup – aktuální vývojový stupeň projektu zajišťující implementaci klíčových vlastností do přenosného zařízení v podobě PDA. GINA 1.5 – desktop service – následující vývojový stupeň, který počítá se zapojením tlustého klienta postaveného na technologii WPF pro snadnou manipulaci a správu nasbíraných dat. GINA 2.0 – vytvoření mezinárodního fóra a centrální databáze znalostí z oblastí postižených katastrofami. GINA 3.0 – vytvoření vlastního konzultačního týmu a převzetí kompletní technické podpory.
IMAGINE CUP 2010 | 25
KATEGORIE: SOFTWAROVÝ NÁVRH – MOBILNÍ VÝVOJ | GINA | Bezpečnostní politika Informace, které bude systém poskytovat, musí být neustále k dispozici. Zároveň se jedná o citlivá data, jejichž uchovávání a přenos musí splňovat určitý stupeň utajení. Za tímto účelem byla provedena analýza aktiv, hrozeb a zranitelných míst. Výsledkem je základní bezpečnostní pyramida, která je znázorněna na obrázku.
Reálné využití Na projektu spolupracujeme s organizací Hand For Help, která má mnoho zkušeností ze zahraných humanitárních misí. Tato organizace připravila misi, v rámci které vybuduje polní nemocnici na Haiti. Systém GINA bude při této příležitosti pomáhat s vyhledávání nejvhodnějí lokace pro nemocnici a zároveň bude sloužit k podrobnému monitorování průzkumných jednotek, neboť oblast stále zmítají časté nepokoje a hrozí zde vysoké riziko únosu. O projekt mají zájem i policisté, hasiči a horská služba, kteří nám předávají své zkušenosti, a pomáhají tak při návrhu aplikace.
8 Klíčové prvky
IMAGINE CUP 2010 | 26
KATEGORIE: SOFTWAROVÝ NÁVRH – MOBILNÍ VÝVOJ | GINA |
9 Závěr Lidé leží pod sutinami, volají o pomoc. Reportéři procházejí troskami, monitorují vzniklou situaci. Pomocí nástroje GINA, který mají nainstalovaný na svém osobním PDA, pomáhají lokalizovat raněné. Díky jejich pomoci vyrážejí záchranářské týmy přímo na místo určení. Dle pořízených fotografií vědí, jakou techniku pro záchranu potřebují. GINA je nástroj, který každému umožňuje zapojit se do záchranářských akcí a přispět tak k záchraně lidských životů. Od počátku vývoje spolupracujeme s odborníky zabývající se problematiku záchrany lidských životů. V naší práci nám radí specialisté z horské služby, záchranáři z humanitárních misí a členové vedení krizového štábu. Úzce spolupracujeme s organizací Hand For Help, která náš systém testuje v terénu na Haiti. Využití aplikace v reálných situacích je pro nás motivací nepolevovat v úsilí a pokračovat ve vývoji systému GINA, studentském software, který pomáhá.
IMAGINE CUP 2010 | 27
KATEGORIE: HERNÍ VÝVOJ | Puellae |
NanoHeal Tým
Puellae
Škola
VUT, Fakulta informačních technologií, Univerzita T. Bati
Mentor Řešitelé
Lenka Vlková, Hana Vrzáková, Adéla Wiederlechnerová
1 Úvod Projekt se zaměřuje na jeden z osmi celosvětových cílů OSN pro rok 2015, což je boj s malárií, HIV/AIDS a dalšími nemocemi. Snahou projektu je zvýšit povědomí o těchto závažných onemocněních formou naučné hry, v rámci které může hráč vyléčit pacienta pomocí nanotechnologie. Hra je ztvárněna stylizovanou 3D grafikou doplněná o komiksové prvky.
2 Myšlenka projektu Hráč ovládá nanobota, který proplouvá lidskými žílami a tepnami. Nanobot nese lék na konkrétní nemoc a jeho úkolem je donést jej včas do centra mikrobů a virů, čímž pacienta může vyléčit. Pro svůj pohyb tělem potřebuje nanobot energii, která mu umožňuje vyhýbat se lidským tkáním a buňkám tak, aby nepoškodil pacientovo tělo. Tuto energii získává sbíráním cukrů dostupných v lidském těle. Musí však být velmi opatrný, aby v těle nepoškodil či neodebíral žádné další potřebné látky a tím dále neohrožoval pacientovo zdraví.
Příběh jménem NanoHeal
Píše se rok 2015 a nejmenovaný doktor nejmenované instituce právě odlétá směrem k divoké Africe. Jeho cílem je malý nemocný chlapec, který se nijak neliší od dalších miliónů chlapců — onemocněl malárií. Lékařská péče je v této oblasti zoufale nedostupná a listina čekatelů nekonečně dlouhá. Chlapec však souhlasil s experimentální léčbou a nechává si podat nový lék. Teď už zbývá jenom čekat a doufat, že robotek NanoHeal svůj souboj proti onemocnění vyhraje.
IMAGINE CUP 2010 | 28
KATEGORIE: HERNÍ VÝVOJ | Puellae |
3 Struktura projektu Hra NanoHeal vás přenese do krevního řečiště různých pacientů všude na světě. Hra vychází z klasických arkádových titulů a je okořeněná prvky závodních her. Myslete rychle, jednejte rychleji, čas běží!
3.1 Hra Cílem hry je vyléčit pacienta tak, že budete bojovat s nemocí, kterou trpí. Nejdříve ze všeho musíte nasbírat stopy, které vás zavedou k epicentru nákazy, podobně jako se tomu děje v imunitním systému každého člověka. To ovšem není tak jednoduché. Ani nanobot není Perpetuum Mobile - ke svému pohybu potřebuje energii. Cukry představují elementární energii volně dostupnou v lidském těle, ale i v tomto směru musíte být opatrní. Při jejím sběru je třeba dávat pozor na ostatní látky plovoucí v krevním řečišti oslabený pacient jich nemá nazbyt a mohl by zemřít vyčerpáním dřív, než jej vyléčíte. Když se vám povede nasbírat dost indicií a dostat se až k jádru nemoci, objeví se před vámi ten opravdový protivník a boj může začít. Váš nanobot nese protilátku, která soupeře zaručeně zničí, musíte jej ale zasáhnout a zároveň dávat pozor, abyste měli dostatek energii k letu. Není to jednoduché, zvláště když neustále dáváte pozor, abyste omylem nepoškodili pacientovo tělo tím, že zničíte nějakou ze zdravých buněk.
3.2 Databáze Porazit onemocnění se zdá snadné, jak je tomu ale doopravdy? Co je to nanotechnologie a jak fungují nanoboti? Kolik lidí ročně onemocní malárií a co to vlastně je? Všechny tyto otázky a zvláště pak odpovědi najdete v herní databázi, která vám odemkne malou část svých znalostí vždy po zápasu s nepřítelem.
IMAGINE CUP 2010 | 29
KATEGORIE: HERNÍ VÝVOJ | Puellae |
4 Použité technologie .NET Framework 3.5 XNA Game Studio 3.1 Adobe PhotoShop Blender
5 Závěr Projekt NanoHeal je unikátní hra, která vás vtáhne do mikrosvěta krvinek a nanobotů. Skrze příběhy a dech beroucí grafiku poznáte původce největších příkoří, které sužují zemi, a dostanete jedinečnou příležitost jim v tom zabránit. Představme si spolu svět, kdy nanotechnologie řeší věci neřešitelné. Představme si svět NanoHeal!
IMAGINE CUP 2010 | 30