SLOVENSKÁ TECHNICKÁ UNIVERZITA FAKULTA INFORMATIKY A INFORMAČNÝCH TECHNOLÓGIÍ ILKOVIČOVA 3, BRATISLAVA 4

Size: px
Start display at page:

Download "SLOVENSKÁ TECHNICKÁ UNIVERZITA FAKULTA INFORMATIKY A INFORMAČNÝCH TECHNOLÓGIÍ ILKOVIČOVA 3, BRATISLAVA 4"

Transcription

1 SLOVENSKÁ TECHNICKÁ UNIVERZITA FAKULTA INFORMATIKY A INFORMAČNÝCH TECHNOLÓGIÍ ILKOVIČOVA 3, BRATISLAVA 4 TÍM 13 SIMULÁCIA DEMONŠTRÁCIE V MESTE DEVELOPERSKÁ PRÍRUČKA Vedúci projektu: Ing. Ivan Kapustík Bc. Britvík Andrej (SI) Predmet: Tímový projekt Bc. Dupaľ Martin (IS) Ak. Rok: 2012/2013 Bc. Gomola Matej (IS) Kontakt: timovyprojekt13@gmail.com Bc. Králik Gergely (SI) Bc. Michalec Peter (IS) Bc. Ogurčák Filip (IS) Bc. Palát Peter (SI)

2 OBSAH ÚVOD... 1 ÚČEL A ROZSAH DOKUMENTU... 1 PREHĽAD DOKUMENTU... 1 OPIS KOMPONENTOV... 2 OPIS MODULOV V PROJEKTE... 3 MODULE MAP... 3 BEHAVIOUR MODULE... 5 IBEHAVIOURMODEL... 5 DEFAULTDECISSIONPROCESSER... 5 ACTION MODULE... 6 ABSTRACTACTION... 6 ACTIONMAP... 7 ACTIONEXPLORER... 7 PROGRAMOVANIE AKCIÍ... 8 ATTRIBUTE MODULE... 9 ABSTRACTATTRIBUTE... 9 IATTRIBUTEMODEL... 9 DEFAULTATTRIBUTESMODEL PRIDÁVANIE ATRIBÚTOV MESSAGE MODULE GEOMETRY MODULE PATHPLIESKANICA GRAPHPLIESKANICA WAYPOINTPLIESKANICA OBSTACLEPLIESKANICA DRAWING MODULE ZVYŠNÉ MODULY IACCESSMAP IRANDOMGENERATOR... 23

3 ÚVOD Tento dokument vznikol v rámci predmetu Tímový projekt na Fakulte Informatiky a Informačných Technológií na Slovenskej Technickej Univerzite v Bratislave. Vypracoval ho STEAM (tím 13) v akademickom roku 2012 / Náš tím sa zaoberal simuláciou demonštrácie v meste. ÚČEL A ROZSAH DOKUMENTU Účelom tohto dokumentu je opísať základné koncepty jednotlivých komponentov, v ktorých sa nachádzajú jednotlivé modul. Tento dokument tak isto obsahuje slovný opis základných rozhraní, ktorý je obohatený o obrázky. Zvyšný opis jednotlivých funkcií nie je uvádzaný, lebo buď je názov metódy dosť sebavysvetľujúci, alebo sa nachádza v javadocu konkrétnych tried alebo rozhraní v projekte. PREHĽAD DOKUMENTU Dokument pozostáva z nasledujúcich častí: Opis komponentov opisuje základné komponenty v projekte Opis modulov v projekte opis modulov v projekte Behaviour module opis modulu, ktorý implementuje správanie Action module opis modulu na vykonávanie akcií agentov Attribute module opis modulu na reprezentáciu atribútov agentov Message module opis modulu na komunikáciu medzi agentami Geometry module opis modulu na prácu s geometrickými funkciami Drawing module opis modulu na kreslenie Zvyšné moduly menej dôležité moduly 1

4 OPIS KOMPONENTOV V zdrojových kódoch sa nachádzajú štyri komponenty. Core Middle Surface Utils Závislosti týchto projektov sú zobrazené na obrázku Obrázok 1. Obrázok 1 - závislosti projektov V projekte Core sa nachádzajú definície základných rozhraní, ktoré sa v projekte využívajú. Dôvodom vytvorenia tohto a týchto rozhraní bolo definovať istý štandard, pomocou ktorého by bolo možné zjednodušiť vývoj celej simulácie. V projekte Middle sú implementácie týchto rozhraní. Tento projekt má tvoriť stred medzi projektami Core a Surface. Surface je druhý výrazný projekt v simulácií. Sú v ňom triedy, ktoré sú priamo závislé od knižníc ako je napríklad RVO a Mason. Týmto štýlom nás pri implementácií rozhraní v projekte Middle nemusí trápiť aké knižnice sa využívajú v projekte Surface, lebo existujú rozhranie v projekte Core, ktoré ich obaľujú. Podrobnejší popis toho, ako je toto dosiahnuté sa nachádza v neskorších kapitolách. 2

5 OPIS MODULOV V PROJEKTE Vzhľadom na komplexnosť modelu ľudského správania sme vytvorili niekoľko modulov, ktoré sú navzájom vymeniteľné. Jedná sa o nasledujúce moduly: Access modul Action modul Attribute modul Behaviour modul Message modul Geometry modul Drawing modul Závislosti medzi jednotlivými modulmi sú zobrazené na obrázku Obrázok 2. Obrázok 2 - závislosti medzi modulmi Bližší opis jednotlivých modulov sa nachádza v nasledujúcich kapitolách. MODULE MAP V projekte Core je najdôležitejším prvkom trieda ModuleMap, ktorá je singleton zdieľaný pre celú simuláciu. Práve v tejto triede sa nachádzajú referencie na najdôležitejšie rozhrania v projekte. Medzi tieto rozhrania patria najmä: 3

6 IAccessMap - Access module IBehaviourModel - Behaviour module IMessageModule - Message module IAttributeModel - Attribute module Nenachádza sa tu referencia na nasledujúce moduly: Action module Drawing module Geometry module Rozhrania tried v týchto moduloch sú totiž singleton-y. Bolo by vhodnejšie ich vložiť tiež do Module mapy, ale v rámci nášho tímového projektu na to nezvýšil čas. Existuje niekoľko default-ných implementácií týchto rozhraní, ktoré sa inicializujú na začiatku. Jedná sa najmä o: IBehaviourModel - DefaultDecissionProcesser IMessageModule - DefaultMessageModule IAttributeModel - DefaultAttributesModel IRandomGenerator - DefaultRandomGenerator Tieto je možné potom zmeniť pomocou set metód triedy ModuleMap. Napríklad pri spustení simulácie, počas inicializácie sa spúšťa tento kód: ModuleMap.setRandomGenerator(new MasonRandomGenerator()); Vďaka tomu je možné vo všetkých projektoch využívať triedu MasonRandomGenerator, ktorá využíva knižnicu Mason na generovanie náhodných čísel. Existuje aj trieda DefaultRandomGenerator, ktorá generuje náhodné čísla pomocou systémovej knižnice javy. Obrázok Obrázok 3 znázorňuje postupnosť vykonávania krokov v simulácií. Obrázok 3 - postupnosť vykonávania 4

7 BEHAVIOUR MODULE Behaviour module je zodpovedný za správanie agentov. Najdôležitejším prvkov tohto modulu je rozhranie IBehaviourModel. Existuje niekoľko rôznych modelov správania človeka, preto sme sa rozhodli nechať tento prvkov konfigurovateľný IBEHAVIOURMODEL Úlohou tohto rozhrania je vykonávať akcie. Momentálne rozhranie IBehaviourModel predpisuje len jednu metódu: void makechoiceofaction(iattributemodel atributes, long agentid) Metóda vracia void, kvôli tomu, aby nebolo možné ovplyvňovať rozhodnutia mimo tento modul. Viac o akciách napísané v nasledujúcej kapitole. DEFAULTDECISSIONPROCESSER Trieda DefaultDecissionProcesser implementuje rozhranie IBehaviourModel. Jej referencia na ňu sa ukladá do ModuleMap, ktorú je potom možno zmeniť. Vykonávanie predpísanej metódy makechoiceofaction je veľmi jednoduché. V metóde sa vyčlenia vykonateľné akcie na záver sa vyberie jedna akcia, ktorá sa vykoná. Takéto rozhodovanie nezodpovedá modelu ľudského správania PECS, v ktorej sa vždy vyberá akcia podľa najsilnejšieho atribútu. 5

8 ACTION MODULE Pod akciou sa chápe neelementárna činnosť, čo môže agent vykonávať. Napríklad strieľanie, alebo vytláčanie davu. Action Module pozostáva z rozhrania pre jednotlivé akcie a dátovej štruktúry, ktorá obsahuje všetky zoznam všetkých používaných akcií. Základný koncept Action Module je zobrazený na obrázku Obrázok 4. Obrázok 4 - Koncept Action Module-u ABSTRACTACTION Myšlienkou actionmodule v projekte je vytvoriť rozhranie, ktoré by urýchľovalo písanie jednotlivých akcií. Za týmto účelom sme vytvorili triedu AbstractAction. Táto trieda predpisuje nasledujúce metódy: void executed(long agentidfrom) void activated(message message) boolean isok(long agentid) double getchance(long agentid) int getneededsteps(long agentid) Metóda executed by sa mala vykonávať v tele funkcie makechoiceofaction, ktorú predpisuje rozhranie IBehaviourModel. Metóda activated by sa mala vykonať len v prípade, že sa pošle v správe inému agentovi. Viac informácií v časti MessageModule Metóda isok, určuje, či je možné vykonať akciu. Metóda getchance, určuje číselnú mieru pravdepodobnosti vykonania akcie. 6

9 Metóda getneededsteps, určuje koľko krokov sa má konkrétna akcia vykonávať. Preddefinovaná hodnota je nula, ale je možné ju zmeniť override-nutím tejto metódy. Jednotlivé akcie sú implementované v module Middle. Všetky akcie sú uložené v triede ActionMap, ktorá je opísaná v nasledjúcej kapitole. ACTIONMAP Táto trieda predstavuje singleton, v ktorom je uložená mapa všetkých akcií pre konkrétnu simuláciu. Na začiatku sa načítajú všetky akcie. Toto načítanie umožňuje knižnica reflections, ktorá pomocou reflection-nov dokáže získať referencie na objekt Class všetkých tried, ktoré dedia od triedy AbstractAction. Následne je možné z tejto triedy odstraňovať nežiadúce akcie. Napríklad v prípade editora, v prípade, že niektoré akcie nie sú zvolené, tak sa jednoducho z tejto štruktúry odstránia počas inicializácie simulácie. ACTIONEXPLORER Kvôli udržaniu prehliadnosti jednotlivých volaní framework-u v akciách sme vytvorili nástroj, ktorý umožňuje rýchly prístup k týmto informáciam. Nástroj sa nazýva ActionExplorer. Na vstupe vyžaduje adresár, v ktorom sú uložené všetky triedy akcií. Tento vstup sa zadáva ako parameter metódy processfolder(file dir). Ideálne by bolo dorobiť GUI, ale nebol na to čas. Výstupom tohto nástroja je text, ktorý sa vypíše na konzolu, ktorého štruktúra je zobrazená nižšie na obrázku Obrázok 5. Nástroj vypisuje na prvej úrovni všetky triedy na prvej úrovni. Na druhej úrovni vypisuje všetky metódy triedy. Na ďalších úrovniach vypisuje zistené údaje. Napríklad na zobrazenom príklade zobrazuje, že v triede Punch v metóde executed sa posielajú správy, ktoré obsahujú akciu s názvom NAME. Táto správa tak isto obsahuje detaily neighbourid a stop. O niekoľko riadkov nižšie je vidieť, že táto trieda v metóde activated získava tieto detaily, ktoré sú typu Long a Boolean. Tento nástroj slúži na uľahčenie hľadania chýb pri písaní akcií. Tento nástroj nie je plne otestovaný. Otestovali sme ho len na niekoľkých akciách. Tak isto jeho kód nie je najlepší a v prípade ďalšieho rovoja by bolo potrebné ho zlepšiť. Nástroj funguje na základe parsovania XML zdrojového kódu. Toto XML získavame pomocou open source nástroja srcml, ktoré vytvára z java zdrojových kódov štruktúrované XML súbory. Následne náš nástroj pomocou XPath výrazov získava jednotlivé potrebné informácie. 7

10 In class Punch In method executed SendMessageArguments: NAME SendMessageDetails: NAME = "neighbourid" - neightbors.get(0) NAME = "stop" - false In method activated SendMessageArguments: PunchReaction movefast SendMessageDetails: PunchReaction = "Damage" - damage GetDetails: "neighbourid" = Long "stop" = Boolean ChangeAttribute: Health = 0 GetAttribute: Strength Stamina Health In method getloginfo In method isok In method getactionname In method getchance Obrázok 5 - výstup z ActionExplorer-a PROGRAMOVANIE AKCIÍ Na naprogramovanie novej akcie stačí splniť nasledujúce kroky: Vytvoriť novú triedy Dediť túto triedu od abstraktnej triedy AbstractAction Implementovať predpísané metódy Kvôli efektívnejšej práci s akciou odporúčame do každej akcie doplniť nasledujúci riadok kódu: public static final String NAME = getunieuqname(#akcia#.class); Kde #AKCIA# predstavuje názov triedy akcie. Vďaka tomu je možné následne jednoducho získavať akciu z ActionMap. Ako bolo napísane v predošlej kapitole ActionMap, tak nie je potrebné dopisovať ďalší kód. Takto vytvorená akcia je pripravená na použitie. Pri implementácií akcie, môže programátor využívať ďalšie moduly, ktoré sú bližšie opísané v nasledujúcich kapitolách. 8

11 ATTRIBUTE MODULE V našom projekte sa pod pojmom atribút myslí akýkoľvek atribút agenta. V našej implementácií sa nachádzaju len emócie a fyzické vlastnosti, ale je to myslené na všetky možné atribúty ako môže byť aj motív násilia a podobne. Základný koncept Action Module je zobrazený na obrázku Obrázok 6Obrázok 4. ABSTRACTATTRIBUTE Na uľahčenie vytvárania nových atribútov sme opäť vytvorili abstraktnú triedu AbstractAttribute, ktorá predpisuje niekoľko základných metód, ktoré slúžia na spracovávanie atribútov. Tieto métody sú bližšie opísane v javadocu. Dôležité je, že táto trieda obsahuje definíciu atribútov: value maxvalue minvalue resistance Následne predpísané metódy tejto abstraktnej triedy slúžia na prácu s týmito atribútmi. IATTRIBUTEMODEL Vzhľadom na to, že môže existovať veľa rôznych atribútov, nie každý agent musí obsahovať všetky atribúty. Kvôli tomuto existuje rozhranie IAttributeModel, ktoré predpisuje niekoľko metód na prácu s atribútmi. Každý agent má vlastnú inštanciu implementácie tohto rozhrania, lebo každý agent nadobúda počas simulácie rôzne hodnoty jednotlivých atribútov. Svojím spôsobom je možné povedať, ze IAttribudeModel ponúka rozhranie, ktoré slúži na prácu s kolekciou atribútov. Nie je predpísaný žiadny spôsob ako sa má vytvárať kolekcia atribútov. Momentálne sa v DefaultAttributesModel využíva reflections na získavanie všetkých tried, ktoré implementujú abstraktnú triedu AbstractAttribute. 9

12 Obrázok 6 - koncept Attribute modulu 10

13 DEFAULTATTRIBUTESMODEL Trieda DefaultAttributesModel predstavuje implementáciu rozhrania IAttribudeModel. Myšlienkou tejto triedy je vytvoriť triedu, ktorá by poskytovala rozhranie pre prácu s atribútmi. Narozdiel od ActionMap existuje pre každého agenta jedinečná implementácia rozhrania IAttribudeModel. Defaultne sa nastavuje DefaultAttributesModel, ale je možné ho zmeniť. Princíp tejto triedy je nasledovný: Pred inicializáciou, pomocou reflection získať všetky triedy, ktoré dedia od AbstractAttribute Pri inicializácií tejto triedy, vytvoriť inštancie tried, ktoré dedia AbstractAttribute Zaradiť inicializované triedy do HashMap-y PRIDÁVANIE ATRIBÚTOV Na naprogramovanie novej akcie stačí splniť nasledujúce kroky: Vytvoriť novú triedu, ktorá dedí od abstraktnej triedy AbstractAction Implementovať predpísané metódy Kvôli efektívnejšej práci s akciou odporúčame do každej akcie doplniť nasledujúci riadok kódu: public static final String NAME = getunieuqname(#atribút#.class); Kde # ATRIBÚT # predstavuje názov triedy atribútu. Vďaka tomu je možné následne jednoducho získavať akciu z IAttribudeModel. Roloženie akcií a atribútov medzi projekty je zobrazené na obrázku Obrázok 7. Obrázok 7 - rozloženie akcí a atribútov 11

14 MESSAGE MODULE Naša architektúra používa distribuované riadenie agentov, to znamená, že každý agent sa správa, ako samostatná jednotka. Simulácia vyžaduje, aby agenti medzi sebou komunikovali a z tohto dôvodu vznikol modul sprav. Modul sprav tvorí komunikačný kanál, cez ktorý komunikujú agenti podobne, ako pri servisne orientovaných architektúrach komunikujú dva systémy asynchrónnymi správami. Požiadavky na prácu tohto modulu preto boli podobné, ako pre spomínané systémy. Príjemca správy nemusí byť prítomný, pri jej odosielaní a odosielateľ nemusí byt prítomný pri jej doručení. Jadro modulu správ Jadro modulu správ bolo navrhnuté počas prvých prototypov a doteraz sa jeho stavba z pohľadu návrhu nezmenila. Modul je reprezentovaný pod rozhraním, pretože v prípade zmeny celého modulu za iný netreba jeho časté používanie opravovať na iných miestach. Mailbox Táto trieda predstavuje úložisko správ poslaných konkrétnemu agentovi, ktorý je v simulácií evidovaný pod svojím ID. Správy sa ukladajú do schránky počas celého času a pri výbere sa odstraňujú zo zoznamu. PostMailbox Táto trieda predstavuje centrálne úložisko poštových schránok agentov. Poštová schránka ak neexistuje tak sa inicializuje na ID agenta, ktorému je správa určená. DefaultMessageModule Táto trieda predstavuje defaultnú implementáciu základného rozhrania. Táto trieda slúži na sprostredkúvanie činnosti modulu medzi jej pod vrstvami. class Message modul... «interface» messagemodule::imessagemodule + getmessages(long, long) : Collection<Message> + sendmessage(long, long, String) : Message + sendmessage(long, long, String, int) : Message DefaultMessageModule {leaf} + getmessages(long, long) : Collection<Message> - sendmessage(message, long) : void + sendmessage(long, long, String) : Message + sendmessage(long, long, String, int) : Message messagemodule::message - action: String - agentidfrom: long - agentidto: long - details: UniversalMap = new UniversalMap() - step: int = 0 + adddetail(string, Object) : Message + getaction() : String + getagentidfrom() : long + getagentidto() : long + getdetails() : UniversalMap + getstep() : int + newmessage(string, long, long, int) : Message + newmessage(string, long, long) : Message PostMailbox + postoffice: HashMap<Long, Mailbox> = new HashMap<Lon... + getmessages(long, long) : Collection<Message> + sentmessage(message, long) : void Mailbox + messages: Collection<Message> = new ArrayList<... + addmessage(message) : void + clean() : void + getallmessages(long) : Collection<Message> 12

15 Message Táto trieda predstavuje samotnú správu, ktorá je posielaná medzi agentmi. Táto trieda má vystavené fluent API, za pomoci ktorého sa jednoduchšie pracuje zo samotnou správou počas jej vytvárania. Fluent API Použitie tohto API je jednoduché pre používateľa a začína samotným rozhraním, ktoré pri posielaní správy vracia používateľovi už samotnú správu, pri takomto vytvorení správy je nutné zadať odosielateľa, príjemcu a kľúčové slovo. Do správy, môže užívateľ potom nezávisle pridávať ďalšie parametre tela správy, ktoré sa nijak neupravujú v samotnom modeli správ. Telo správy je tvorené mapou objektov, ktoré sú uložené pod kľúčmi zadanými užívateľom. Použitie v akciách Použitie odoslania správ v akciách je veľmi jednoduché, iba sa použije API modulu správ na odoslanie správ. Použitie prijatia správy je pre akciu iba raz a kľúčové slovo správy predstavuje slovný identifikátor samotnej akcie, pri prijatí správy sa dá pracovať zo samotným telom správy. Telo správy obsahuje to čo mu bolo zadané pri vytváraní a preto akcia predstavuje základné dve časti a to je odosielanie správy a prijatie správy, pretože agenti musia vedieť prijať správu od iného agenta, majú všetci agenti prístupné spracovanie správy, odosielanie nemusia mať. Správy ako pamäť agenta Samotná správa sa najčastejšie používa ako pamäť agenta ohľadom nejakej udalosti súvisiacej s riadením správania agenta, pretože spracovanie správy vykonáva agent vo svojej akcii spracovania správ je možné v tele udržovať veľké množstvo informácií a pri správnom použití to nezvyšuje pamäťové nároky. Spôsob použitia v tomto špecifickom prípade je vytvorenie objektu, ktorý je nositeľom údajov a vložením tohto objektu do správy pod zvoleným kľúčom. Objekt vložený do správy je možné vždy vybrať a predoslať znova bez vytvorenia novej inštancie. Použitie v cykle rozhodovania agenta Počas cyklu agenta sa správy vždy na začiatku tohto cyklu vyberú z MailBoxu a nechajú spracovať akciami, pri vyberaní správ za v požiadavke na výber nachádza ID agenta a krok v ktorom agent správu vyberá, pretože niektoré správy sú určené na vybratie v špecifickom kroku alebo v kroku za daným bodom. Problémy a návrhy na zlepšenie Problém s výberom správy v konkrétnom kroku. Každý agent vykonáva kroky, ale aj napriek tomu sa stáva, že agenti sa nachádzajú v rôznych krokoch a to aj z veľkým rozdielom, to spôsoby, že agent posielajúci správu nepozná číslo kroku agenta na doručenie. Zlepšenie by bolo previesť číslo kroku na číslo, ktoré predstavuje číslo krokov počas ktorých sa správa ešte vybrať nemôže. 13

16 Problém posielania správy. Pri použití terajšieho fluent API je správa zaradená do schránky už po jej vytvorení a preto, ak by sa v budúcnosti plánovalo použiť viac vláknové simulačné prostredie by takéto použitie mohlo spôsobiť, že agent primajúci správu ju zažína čítať skôr než agent odosielajúci správu doplní jej telo. Odstrániť tento problém by bolo možné za predpokladu, že by sa správa odosielala až po zavolaní funkcie odosielania po pridaní všetkých parametrov. 14

17 GEOMETRY MODULE PATHPLIESKANICA /HumanModelCore/src/sk/fiit/steam/geometry/PathPlieskanica.java Úlohou PathPlieskanice, je nájsť najkratšiu cestu medzi dvoma zadanými bodmi. Na to poskytuje 2 metódy: List<Coordinate> getshortestpath(point start, Point destination) List<Coordinate> getshortestpathclosestto(point start, Point destination) Rozdiel v týchto metódach je jediný, a to cesta, ktorú vrátia. Tento rozdiel môžeme vidieť na obrázkoch nižšie (Obrázok 8 a Obrázok 9). V metóde getshortestpath sa zadaný bod start a destination skutočne pridá do grafu a následne sa nájde cesta. Pri druhej metóde getshortestpathclosestto sa nájdu najbližšie body k zadaným bodom a z nich sa hľadá cesta. Z týchto menších rozdielov vyplíva, že pri častom hľadaní cesty veľkým počtom agentov, je výhodnejšie využiť metódu getshortestpathclosestto, pretože sa do grafu nepridá veľké množstvo nových bodov ako pri druhej metóde. Avšak táto metóda je pomalšia, pretože musí hľadať najbližšie body. Obrázok 8 - cesta nájdená pomocou metódy getshortestpath 15

18 PathPlieskanica sa využíva nasledovne: Obrázok 9 cesta nájdená pomocou metódy getshortestpathclosestto List<Coordinate> waypoints = PathPlieskanica.INSTANCE.getShortestPath(p1, p2); agent.setwaypoints(waypoints); pričom p1 a p2 sú ľubovolné body vytvorené napríklad pomocou factory triedy: Factory.createPoint(50.4, 20.8) Podmienkou fungovania PathPlieskanice je prítomnosť grafu v GraphPlieskanici. GRAPHPLIESKANICA /HumanModelCore/src/sk/fiit/steam/geometry/GraphPlieskanica.java Úlohou GraphPlieskanice je vytvorenie grafu, ktorý využíva PathPlieskanica. V súčasnosti sa graf vytvára na začiatku simulácie v metóde main triedy MainSteam, ale je možné ho vytvoriť kedykoľvek počas simulácie, avšak jeho vytváranie trvá niekoľko sekúnd (v závislosti od parametrov stroja). O priebehu vytvárania grafu informuje progressbar. Použitie: GraphPlieskanica.INSTANCE.createGraph(WaypointPlieskanica.getInstance().generateWaypo ints(1, 15, 15)); Hlavnou metódou GraphPlieskanice je teda vytvorenie grafu z daných bodov: SimpleWeightedGraph<Point, DefaultWeightedEdge> creategraph(collection<point> waypoints) Vytvorený graf je ohodnotený, takže hodnota hrany predstavuje reálnu vzdialenosť medzi dvoma bodmi, ktoré spája. Graf je uložený v premennej graph, ktorú využíva PathPlieskanica na nájdenie cesty. 16

19 GraphPlieskanica obsahuje jednu konštantu (MAX_EDGE_DISTANCE = 22.0), ktorá určuje hustotu grafu resp. najväčšiu povolenú dĺžku hrany. To znamená, že vyššie hodnoty spôsobia rapídny nárast počtu hrán v grafe a teda pomalejšie hľadanie najkratšej cesty. Nižšie hodnoty zrýchlia hľadanie cesty, pretože graf bude obsahovať menej hrán, avšak pri príliž nízkej hodnote môže dôjsť k neprepojeniu žiadaných bodov a teda nemožnosti nájdenia cesty medzi nimi. Z toho vyplíva, že túto hodnotu treba zvoliť opatrne v závislosti od bodov, z ktorých sa graf vytvára. Okrem toho poskytuje aj ďalšie metódy: addifdontexist(simpleweightedgraph<point, DefaultWeightedEdge> graph, Point start, Point destination) addpointtograph(point p, SimpleWeightedGraph<Point, DefaultWeightedEdge> graph) Point getclosestifdoesntexist(point point, Graph<Point, DefaultWeightedEdge> graph) Tieto metódy využíva PathPlieskanica pri nastavovaní bodov, z ktorých sa hľadá cesta. Z ich názvov je jasné čo robia: addifdontexist addpointtograph getclosestifdoesntexist do grafu pridá jeden aj druhý bod ak sa v grafe ešte nenachádzajú a spojí ich hranami so všetkými bodmi v MAX_EDGE_DISTANCE vzdialenosti do grafu pridá bod a spojí ho hranami so všetkými bodmi v MAX_EDGE_DISTANCE vzdialenosti nájde najbližší bod k danému bodu (ak je daný bod už prítomný v grafe alebo žiadny najbližší bod neexistuje, vráti daný bod) WAYPOINTPLIESKANICA /HumanModelSurface/src/sk/fiit/steam/geometry/WaypointPlieskanica.java Úlohou WaypointPlieskanice je vytvorenie bodov (waypointov), po ktorých sa môžu agenty pohybovať. Tieto body sú následne vložené do GraphPlieskanice, z ktorých sa vytvorí graf. Použitie: List<Point> waypoints = WaypointPlieskanica.getInstance().generateWaypoints(1, 15, 15) Ako už bolo spomínané v dokumentácii k inžinierskemu dielu, waypointy sú generované dvoma spôsobmi: 1. Vytvorenie statickej mriežky, ktorej priesečníky určujú waypointy 2. Waypointy sú poukladané popri prekážkach Hlavnou metódou tejto plieskanice je vytvorenie waypointov: List<Point> generatewaypoints(double distancefromobstacle, double pointdensity, double griddensity) Táto metóda zahŕňa v sebe oba spomínané spôsoby. Parametre metódy prispôsobujú výsledné rozloženie bodov: 17

20 distancefromobstacle pointdensity griddensity Vzdialenosť medzi prekážkami a bodmi, ktoré sú vytvárané pomocou druhého spôsobu 0 = body ležia na prekážke 1 a viac = body sú vzdialené od prekážky Vzdialenosť medzi samotnými bodmi, ktoré sú generované okolo prekážok (tiež druhý spôsob) táto vzdialenosť sa vzťahuje len na body na rovnej čiare, t.j. nech je hodnota akákoľvek, vždy bude bod prítomný na rohu prekážky (tam kde sa stretávajú 2 steny prekážky) 0 alebo veľké číslo = len body pri rohoch prekážky 1 a viac = vzdialenosť medzi bodmi (viď obrázky nižšie) Vzdialenosť medzi bodmi na mriežke (prvý spôsob) Obrázok 10 Vplyv parametra pointdensity na vygenerované body (0 vľavo, 5 vpravo) Okrem hlavnej metódy na vytvorenie waypointov sa tu ešte nachádzajú: List<Point> reducepoints(list<point> list, double distance) { Point getrandompoint() Metóda ReducePoints sa pokúsi zredukovať počet waypointov v danej vzdialenosti, tj. ak sú dva body od seba vzdialené o distance tak jeden z nich sa vymaže. Táto metóda má však svoje chyby, pretože môže zrušiť dôležité body na rohu prekážky a tak úplne znemožniť nájdenie cesty okolo nej. Používať opatrne. Metóda getrandompoint vráti náhodný bod na mape, ktorý sa nachádza na ceste (t.j. nie v/na prekážke) WaypointPlieskanica obsahuje 3 premenné: private Simulation sim; private STRtree treepoints; private static final double SIMPLIFY_DISTANCE_TOLERANCE = 1.0; sim používa sa pri hľadaní náhodného bodu, a to na ohraničenie hľadanej oblasti (šírka a výška) treepoints špeciálna dátová štruktúra, v ktorej sú uložené vygenerované waypointy. Používa ju ObstaclePlieskanica na hľadanie najbližších bodov. Využitie STRtree má značný vplyv na performance, pretože umožňuje veľmi rýchle vyhľadávanie. SIMPLIFY_ Táto hodnota sa používa na zjednodušenie prekážok (pomocou metódy simplify 18

21 DISTANCE_ TOLERANCE z triedy TopologyPreservingSimplifier knižnice JTS) vyhladí nerovnosti na stenách prekážok v danej tolerancii OBSTACLEPLIESKANICA /HumanModelSurface/src/sk/fiit/steam/geometry/ObstaclePlieskanica.java ObstaclePlieskanica sa stará o všetko ohľadom prekážok. T.j. aj pri pohybe policajnej línie vypočítava krajné pozície línie, podľa najbližších prekážok a pod. Obsahuje tieto metódy: initialize(isimulation sim); List<Polygon> getobstacleswithoutholes(); List<Point> getclosestpoints(point p1, Collection<Point> list, double distance); Point getclosestpoint(point point, Collection<Point> list, double distance); LineString getlinetouchingobstacles(point point) initialize Metóda, ktorú je potrebné volať na začiatku simulácie naplní premenné prekážkami vytiahnutými zo súborov getobstacleswithoutholes Vráti zoznam prekážok typu Polygon z JTS knižnice, pričom prekážky sú tvorené len ich obrysom (exterior ring), t.j. neobsahujú diery. getclosestpoints Nájde všetky body, ktoré majú menšiu ako danú vzdialenosť voči danému bodu v danej kolekcii bodov getclosestpoint To isté ako predošlá metóda, avšak vráti len jeden najbližší bod getlinetouchingobstacles Vytvorí úsečku, ktorej krajné body sa dotýkajú najbližších prekážok a prechádzajú cez daný bod. Použité pri hľadaní úsečky na ktorej bude stáť policajná línia. Okrem týchto metód obsahuje aj metódy, ktoré nesúvisia s prekážkami. V budúcnosti by bolo vhodné ich vytiahnuť do Util triedy. Long getclosestneighbor(iagent agent, Enum grouptype, double maxdistance) isneighbourfromgroup(iagent agent, Enum grouptype, double distance) List<Long> getneighboursids(iagent agent, Enum grouptype, double distance) List<Long> getneighboursids(iagent agent, double distance) List<Point> getpointsonline(linestring line, double density) getclosestneighbor Vráti ID najbližšieho agenta, ktorý má daný typ a nachádza sa v danej vzdialenosti od daného agenta (vráti null ak nikoho nenájde) isneighbourfromgroup Zistí, či existuje nejaký agent daného typu v danom okruhu od daného agenta getneighboursids(3) Vráti ID-čka všetkých agentov, ktorý sú daného typu v danej vzdialenosti od daného agenta getneighboursids(2) Vráti ID-čka všetkých agentov v danej vzdialenosti od daného agenta getpointsonline Rozseká danú úsečku na body, ktoré sú od seba vzdialené o density POZOR! Metódy na zisťovanie susedov sú pomalé, t.j. ak sa volajú raz za niekoľko stepov (prípadne aj každý step) neovplyvní to simuláciu. Avšak keby každý agent v simulácii volal tieto metódy každý step (napríklad 500x každý step), simulácia bude sekať. Metódy boli vytvorené, kvôli nedeterministickému správaniu metód na hľadanie najbližších susedov v knižnici RVO2. 19

22 ObstaclePlieskanica obsahuje 4 premenné: private List<Polygon> obstacleswithoutholes; private Simulation sim; private final STRtree treeobstaclesnice = new STRtree(); private final STRtree treeobstacles = new STRtree(); Simulácia demonštrácie v meste sim Používa sa pri načítavaní prekážok obstacleswithoutholes Zoznam všetkých prekážok (len obvody, bez dier) treeobstaclesnice Špeciálna dátová štruktúra, v ktorej sú uložené vyhladené prekážky kvôli rýchlejšiemu vyhľadávaniu treeobstacles To isté ako predošlá premenná avšak bez vyhladených prekážok 20

23 DRAWING MODULE V tejto kapitole je bližšie opísaný modul, ktorého hlavnou úlohou je kresliť. V projekte Core existuje jednoduché rozhranie (abstraktná trieda), ktoré je následne implementované v projekte Surface. Existuje len jedna inštancia tohto rozhrania na čo treba pri ďalšom vývoji brať ohľad. DRAW API /HumanModelSurface/src/sk/fiit/steam/drawing/Draw.java API sa používa na dodatočné kreslenie do simulácie. V skutočnosti nekreslí priamo do okna simulácie, ale len vkladá kresby do štruktúry, ktorú vykresľuje MASON (tak ako vykresľuje agentov, prekážky, pozadie atď.). Štruktúra GeomVectorField drawings, ktorá uchováva kresby je uložená v triede Simulation, tak ako ostatné štruktúry, ktoré sa vykresľujú (obstacles, pois, agents, vehicles..). Aby bolo možné pristupovať k tejto štruktúre je potrebné nastaviť simuláciu do premennej v triede Draw. Toto sa vykonáva v konštruktore triedy Simulation (Draw.getInstance().setSimulation (this);). O samotné vykresľovanie sa starajú špeciálne triedy tzv. portrayaly (viď MASON dokumentáciu), pričom o kresby kreslené cez toto API sa stará trieda DrawingFieldPortrayal, do ktorej sa vloží už spomínaná štruktúra. Toto sa deje v triede SimulationWithUI (drawingportrayal.setfield( sim.drawings);) Použitie: Draw.getInstance().draw(DRAWING); AbstractDraw.getInstance().draw(DRAWING); - v Surface module - v Middle resp. Core module Pričom DRAWING môže byť: geometria knižnice JTS (bod, priamka, polygón,...) graf knižnice jgraph textový reťazec (String) obrázok (ImageIcon) Návratová hodnota metódy draw() je UUID. Je to jedinečné ID priradené nakreslenej kresbe. Kresbu je možné vymazať dvoma spôsobmi: erase(uuid id) - vymaže kresbu podľa daného ID erasealldrawings() - vymaže všetky doposiaľ nakreslené kresby cez toto API Samozrejme je možné zmeniť farbu, vyplnenie a veľkosť kresby. Na to slúžia metódy: setsettings(settings settings). setsettings(color color, boolean filled, double scale) Jednu z týchto metód je potrebné volať hneď pred metódou draw(). Zavolanie metódy spôsobí zmenu nastavení všetkých nasledujúcich kresieb. Parametre metódy sú: farba vyplnenie 21

24 veľkosť Taktiež je možné zmeniť farbu už nakreslených kresieb, a to pomocou metódy: repaint(uuid drawingid, Color color) Okrem spomínaných metód sa tu nachádzajú ešte 2 špeciálne metódy, ktoré sa využívajú na nakreslenie mŕtvych agentov (napríklad v metóde kill() triedy Agent): drawpolicecorpse(double x, double y) drawdemonstrantcorpse(double x, double y) Tieto metódy nakreslia náhodne vybranú textúru mŕtvoly na dané pozície x y. 22

25 ZVYŠNÉ MODULY IACCESSMAP Úlohou rozhrania IAccessMap je získavať informácie o agentoch a ich polohe. Metódy, ktoré toto rozhranie predpisuje sú nasledovné: IAgent getagent(long agentid) HashMap<Long, IAgent> getagenthashmap() List<Long> getagentneighborsid(long agentid, double distance) Viac o týchto metódách je napísane v javadocu. Toto rozhranie je možné zlepšiť o doplnenie metód, v ktorých by argumenty neboli ID agentov, ale referencie tejto triedy. Napríklad metóda: List<IAgent> getagentneighborsid(iagent agent, double distance) IRANDOMGENERATOR Vzhľadom na to, že existujú rôzne spôsoby ako generovať náhodné čísla, vytvorili sme rozhranie, ktorého referencia sa nachádza v triede ModuleMap. Vďaka tomu je možné v surface definovať generátor náhodných čísel, ktorý ponúka Mason a využiť ho pri písaní akcií. 23

VYLEPŠOVANIE KONCEPTU TRIEDY

VYLEPŠOVANIE KONCEPTU TRIEDY VYLEPŠOVANIE KONCEPTU TRIEDY Typy tried class - definuje premenné a metódy (funkcie). Ak nie je špecifikovaná inak, viditeľnosť členov je private. struct - definuje premenné a metódy (funkcie). Ak nie

More information

Spájanie tabuliek. Jaroslav Porubän, Miroslav Biňas, Milan Nosáľ (c)

Spájanie tabuliek. Jaroslav Porubän, Miroslav Biňas, Milan Nosáľ (c) Spájanie tabuliek Jaroslav Porubän, Miroslav Biňas, Milan Nosáľ (c) 2011-2016 Úvod pri normalizácii rozdeľujeme databázu na viacero tabuliek prepojených cudzími kľúčmi SQL umožňuje tabuľky opäť spojiť

More information

kucharka exportu pro 9FFFIMU

kucharka exportu pro 9FFFIMU požiadavky na export kodek : Xvid 1.2.1 stable (MPEG-4 ASP) // výnimočne MPEG-2 bitrate : max. 10 Mbps pixely : štvorcové (Square pixels) rozlíšenie : 1920x1080, 768x432 pre 16:9 // výnimočne 1440x1080,

More information

Aplikačný dizajn manuál

Aplikačný dizajn manuál Aplikačný dizajn manuál Úvod Aplikačný dizajn manuál je súbor pravidiel vizuálnej komunikácie. Dodržiavaním jednotných štandardov, aplikácií loga, písma a farieb pri prezentácii sa vytvára jednotný dizajn,

More information

Databázové systémy. SQL Window functions

Databázové systémy. SQL Window functions Databázové systémy SQL Window functions Scores Tabuľka s bodmi pre jednotlivých študentov id, name, score Chceme ku každému doplniť rozdiel voči priemeru 2 Demo data SELECT * FROM scores ORDER BY score

More information

Registrácia účtu Hik-Connect

Registrácia účtu Hik-Connect Registrácia účtu Hik-Connect Tento návod popisuje postup registrácie účtu služby Hik-Connect prostredníctvom mobilnej aplikácie a webového rozhrania na stránke www.hik-connect.comg contents in this document

More information

Copyright 2016 by Martin Krug. All rights reserved.

Copyright 2016 by Martin Krug. All rights reserved. MS Managed Service Copyright 2016 by Martin Krug. All rights reserved. Reproduction, or translation of materials without the author's written permission is prohibited. No content may be reproduced without

More information

1 Komplexný príklad využitia OOP

1 Komplexný príklad využitia OOP 1 Komplexný príklad využitia OOP Najčastejším využitím webových aplikácií je komunikácia s databázovým systémom. Komplexný príklad je preto orientovaný práve do tejto oblasti. Od verzie PHP 5 je jeho domovskou

More information

Riešenia a technológie pre jednotnú správu používateľov

Riešenia a technológie pre jednotnú správu používateľov Riešenia a technológie pre jednotnú správu používateľov Radovan Semančík Agenda Úvod: Identity Crisis Technológie správy používateľov Postup nasadenia Záver Súčasný stav IT Security Nekonzistentné bezpečnostné

More information

Spôsoby zistenia ID KEP

Spôsoby zistenia ID KEP Spôsoby zistenia ID KEP ID KEP (kvalifikovaný elektronický podpis) je možné zistiť pomocou napr. ovládacieho panela, prostredíctvom prehliadača Internet Expolrer, Google Chrome alebo Mozilla Firefox. Popstup

More information

Obsah. SOA REST REST princípy REST výhody prest. Otázky

Obsah. SOA REST REST princípy REST výhody prest. Otázky REST Peter Rybár Obsah SOA REST REST princípy REST výhody prest Otázky SOA implementácie WEB (1990) CORBA (1991) XML-RPC (1998) WS-* (1998) SOAP RPC/literal SOAP Document/literal (2001) REST (2000) SOA

More information

Databázy (1) Prednáška 11. Alexander Šimko

Databázy (1) Prednáška 11. Alexander Šimko Databázy (1) Prednáška 11 Alexander Šimko simko@fmph.uniba.sk Contents I Aktualizovanie štruktúry databázy Section 1 Aktualizovanie štruktúry databázy Aktualizácia štruktúry databázy Štruktúra databázy

More information

REPORT DESIGNER 1 VYTVORENIE A ÚPRAVA FORMULÁRA. úprava formulárov v Money S4 / Money S Vytvorenie formulára

REPORT DESIGNER 1 VYTVORENIE A ÚPRAVA FORMULÁRA. úprava formulárov v Money S4 / Money S Vytvorenie formulára REPORT DESIGNER úprava formulárov v Money S4 / Money S5 Informačný systém Money S4/S5 umožňuje upraviť tlačové zostavy tak, aby plne vyhovovali potrebám používateľa. Na úpravu tlačových zostáv slúži doplnkový

More information

Recipient Configuration. Štefan Pataky MCP, MCTS, MCITP

Recipient Configuration. Štefan Pataky MCP, MCTS, MCITP Recipient Configuration Štefan Pataky MCP, MCTS, MCITP Agenda Mailbox Mail Contact Distribution Groups Disconnected Mailbox Mailbox (vytvorenie nového účtu) Exchange Management Console New User Exchange

More information

Testovanie bieleho šumu

Testovanie bieleho šumu Beáta Stehlíková FMFI UK Bratislava Opakovanie z prednášky Vygenerujeme dáta Vygenerujeme dáta: N

More information

Ochrana koncových staníc pomocou Cisco Security Agent 6.0. Ľubomír Varga.

Ochrana koncových staníc pomocou Cisco Security Agent 6.0. Ľubomír Varga. Ochrana koncových staníc pomocou Cisco Security Agent 6.0 Ľubomír Varga lubomir.varga@lynx.sk Agenda CSA 6.0 refresh Vybrané vlastnosti CSA 6.0 Application Trust levels Notify User Rule Actions User Justifications

More information

systemove programovanie win32 programovanie

systemove programovanie win32 programovanie systemove programovanie win32 programovanie zakladny princip uzivatel interaguje so systemom klavesnicou, mysou tym generuje udalosti, ktore sa radia do,,message queue" (front sprav) aplikacia vytahuje

More information

Anycast. Ľubor Jurena CEO Michal Kolárik System Administrator

Anycast. Ľubor Jurena CEO Michal Kolárik System Administrator Anycast Ľubor Jurena CEO jurena@skhosting.eu Michal Kolárik System Administrator kolarik@skhosting.eu O nás Registrátor Webhosting Serverové riešenia Správa infraštruktúry Všetko sa dá :-) Index Čo je

More information

TP-LINK 150Mbps Wireless AP/Client Router Model TL-WR743ND Rýchly inštalačný sprievodca

TP-LINK 150Mbps Wireless AP/Client Router Model TL-WR743ND Rýchly inštalačný sprievodca TP-LINK 150Mbps Wireless AP/Client Router Model TL-WR743ND Rýchly inštalačný sprievodca Obsah balenia TL-WR743ND Rýchly inštalačný sprievodca PoE injektor Napájací adaptér CD Ethernet kábel Systémové požiadavky

More information

Mesačná kontrolná správa

Mesačná kontrolná správa Mesačná kontrolná správa Štrukturálna štúdia dec.16 nov.16 okt.16 sep.16 aug.16 júl.16 jún.16 máj.16 apr.16 mar.16 feb.16 jan.16 Internetová populácia SR 12+ 3 728 988 3 718 495 3 718 802 3 711 581 3 700

More information

Manuál k programu FileZilla

Manuál k programu FileZilla Manuál k programu FileZilla EXO TECHNOLOGIES spol. s.r.o. Garbiarska 3 Stará Ľubovňa 064 01 IČO: 36 485 161 IČ DPH: SK2020004503 support@exohosting.sk www.exohosting.sk 1 Úvod EXO HOSTING tím pre Vás pripravil

More information

Textový formát na zasielanie údajov podľa 27 ods. 2 písm. f) zákona

Textový formát na zasielanie údajov podľa 27 ods. 2 písm. f) zákona Popis textového formátu a xsd schémy na zasielanie údajov podľa 27 ods. 2 písm. f) zákona (formu na zaslanie údajov si zvolí odosielateľ údajov) Textový formát na zasielanie údajov podľa 27 ods. 2 písm.

More information

Základná(umelecká(škola(Jána(Albrechta Topoľčianska(15

Základná(umelecká(škola(Jána(Albrechta Topoľčianska(15 Základná(umelecká(škola(Jána(Albrechta Topoľčianska(15 851(01(Bra@slava Titl.: Ján(Hrčka Bohrova(11 851(01(Bra@slava V(Bra@slave(21.11.2013 Vec:(Odpoveď(na(informácie(ohľadom(mandátnej(zmluvy(na(základe(Zákona(č.(211/2000(Zb.

More information

LL LED svietidlá na osvetlenie športovísk. MMXIII-X LEADER LIGHT s.r.o. Všetky práva vyhradené. Uvedené dáta podliehajú zmenám.

LL LED svietidlá na osvetlenie športovísk. MMXIII-X LEADER LIGHT s.r.o. Všetky práva vyhradené. Uvedené dáta podliehajú zmenám. LL LED svietidlá na osvetlenie športovísk MMXIII-X LEADER LIGHT s.r.o. Všetky práva vyhradené. Uvedené dáta podliehajú zmenám. LL SPORT LL SPORT je sofistikované vysoko výkonné LED svietidlo špeciálne

More information

Jazyk SQL. Jaroslav Porubän, Miroslav Biňas, Milan Nosáľ (c)

Jazyk SQL. Jaroslav Porubän, Miroslav Biňas, Milan Nosáľ (c) Jazyk SQL Jaroslav Porubän, Miroslav Biňas, Milan Nosáľ (c) 2011-2016 Jazyk SQL - Structured Query Language SQL je počítačový jazyk určený na komunikáciu s relačným SRBD neprocedurálny (deklaratívny) jazyk

More information

Constraint satisfaction problems (problémy s obmedzujúcimi podmienkami)

Constraint satisfaction problems (problémy s obmedzujúcimi podmienkami) I2AI: Lecture 04 Constraint satisfaction problems (problémy s obmedzujúcimi podmienkami) Lubica Benuskova Reading: AIMA 3 rd ed. chap. 6 ending with 6.3.2 1 Constraint satisfaction problems (CSP) We w

More information

ÚRAD VEREJNÉHO ZDRAVOTNÍCTVA SLOVENSKEJ REPUBLIKY Trnavská cesta 52 P.O.BOX Bratislava

ÚRAD VEREJNÉHO ZDRAVOTNÍCTVA SLOVENSKEJ REPUBLIKY Trnavská cesta 52 P.O.BOX Bratislava ÚRAD VEREJNÉHO ZDRAVOTNÍCTVA SLOVENSKEJ REPUBLIKY Trnavská cesta 52 P.O.BOX 45 826 45 Bratislava TASR, SITA Vaša značka/zo dňa Naša značka Vybavuje Bratislava -/- OHVBPKV/5249-6/19287/2018/Ki Ing. Kišacová,

More information

Štruktúra údajov pre kontajner XML údajov 1. Dátové prvky pre kontajner XML údajov

Štruktúra údajov pre kontajner XML údajov 1. Dátové prvky pre kontajner XML údajov Štruktúra údajov pre kontajner XML údajov 1. Dátové prvky pre kontajner XML údajov D.4 Kontajner XML údajov (XMLDataContainer) Príloha č. 11 k výnosu č. 55/2014 Z. z. [pridaná novelou č. 275/2014 Z. z.,

More information

Poradové a agregačné window funkcie. ROLLUP a CUBE

Poradové a agregačné window funkcie. ROLLUP a CUBE Poradové a agregačné window funkcie. ROLLUP a CUBE 1) Poradové a agregačné window funkcie 2) Extrémy pomocou DENSE_RANK(), TOP() - Príklady 3) Spriemernené poradia 4) Kumulatívne súčty 5) Group By a Datepart,

More information

Mesačná kontrolná správa

Mesačná kontrolná správa Mesačná kontrolná správa Štrukturálna štúdia mar.18 feb.18 jan.18 dec.17 nov.17 okt.17 sep.17 aug.17 júl.17 jún.17 máj.17 apr.17 mar.17 Internetová populácia SR 12+ 3 904 509 3 802 048 3 870 654 3 830

More information

Databázy (1) Prednáška 08. Alexander Šimko

Databázy (1) Prednáška 08. Alexander Šimko Databázy (1) Prednáška 08 Alexander Šimko simko@fmph.uniba.sk Contents I Subqueries (poddopyty) konštrukcia WITH Section 1 Subqueries (poddopyty) Subquery (poddopyt) Použitie SELECTu na mieste, kde sme

More information

Informatika 2. Generiká

Informatika 2. Generiká Informatika 2 Generiká Pojmy zavedené v 10. prednáške (1) štandardný vstup a výstup textové súbory binárne súbory objektové prúdy Informatika 2 1 Pojmy zavedené v 10. prednáške (2) objektové prúdy nečitateľné

More information

Triedy v C++ 1. Úvod do tried

Triedy v C++ 1. Úvod do tried 1. Úvod do tried Používanie nového dátového typu ktorý budeme oht class trieda nás dovedie k využívaniu objektových vlastností jazyka C++. Tento nový typ programov OOP objektovo orientované programovanie

More information

Prednáška 4: Modelovanie štruktúry v UML

Prednáška 4: Modelovanie štruktúry v UML Prednáška 4: Modelovanie štruktúry v UML Metódy a prostriedky špecifikácie 2013/14 Valentino Vranić Ústav informatiky a softvérového inžinierstva Fakulta informatiky a informačných technológií Slovenská

More information

Crestron Mercury. Univerzálny Videokonferenčný a Kolaboračný systém

Crestron Mercury. Univerzálny Videokonferenčný a Kolaboračný systém Crestron Mercury Univerzálny Videokonferenčný a Kolaboračný systém Tradičná malá zasadacia miestnosť CRESTRON Mercury Videokonferenčná miestnosť Možnosť rezervácie miestnosti: Prostredníctvom MS Outlook

More information

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV POČÍTAČOVÉ GRAFIKY A MULITMÉDIÍ FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF COMPUTER GRAPHICS AND

More information

Microsoft Azure platforma pre Cloud Computing. Juraj Šitina, Microsoft Slovakia

Microsoft Azure platforma pre Cloud Computing. Juraj Šitina, Microsoft Slovakia Microsoft Azure platforma pre Cloud Computing Juraj Šitina, Microsoft Slovakia m Agenda Cloud Computing Pohľad Microsoftu Predstavujeme platformu Microsoft Azure Benefity Cloud Computingu Microsoft je

More information

BGP - duálne prepojenie AS. (primary + backup spoj), s IBGP, cez virtuální L2 linky

BGP - duálne prepojenie AS. (primary + backup spoj), s IBGP, cez virtuální L2 linky BGP - duálne prepojenie AS (primary + backup spoj), s IBGP, cez virtuální L2 linky Peter Jašica Abstrakt: Cieľom tohto projektu je zhotoviť a otestovať funkčnosť BGP s dvojitým prepojením Autonómnych systémov.

More information

Tvorba plánov v softvérovom projekte, rozdelenie úloh, plnenie a aktualizácia plánov

Tvorba plánov v softvérovom projekte, rozdelenie úloh, plnenie a aktualizácia plánov Tvorba plánov v softvérovom projekte, rozdelenie úloh, plnenie a aktualizácia plánov MARIÁN SALAJ Slovenská technická univerzita Fakulta informatiky a informačných technológií Ilkovičova 3, 842 16 Bratislava

More information

Slovenská technická univerzita v Bratislave Fakulta informatiky a informačných technológií FIIT-XXXX-XXXXX

Slovenská technická univerzita v Bratislave Fakulta informatiky a informačných technológií FIIT-XXXX-XXXXX Toto je titulný list práce. Je súčasťou každej priebežnej či záverečnej správy (BP, DP) Slovenská technická univerzita v Bratislave Fakulta informatiky a informačných technológií FIIT-XXXX-XXXXX evidenčné

More information

Univerzita Karlova v Praze Matematicko-fyzikální fakulta BAKALÁŘSKÁ PRÁCE. Andrej Kruták

Univerzita Karlova v Praze Matematicko-fyzikální fakulta BAKALÁŘSKÁ PRÁCE. Andrej Kruták Univerzita Karlova v Praze Matematicko-fyzikální fakulta BAKALÁŘSKÁ PRÁCE Andrej Kruták AnoRaSi - fyzikálně-realistický simulátor v 3D Katedra softwarového inženýrství Vedoucí bakalářské práce: RNDr. Tomáš

More information

Ekonomický pilier TUR

Ekonomický pilier TUR Názov indikátora: HDP na obyvateľa Zaradenie indikátora v DPSIR štruktúre: Základné informácie: SR Definícia Hrubý domáci produkt vyjadrovaný ako celková peňažná hodnota statkov a služieb vytvorených za

More information

Ochrana proti DDoS za použitia open-source software. Katarína Ďurechová

Ochrana proti DDoS za použitia open-source software. Katarína Ďurechová Ochrana proti DDoS za použitia open-source software Katarína Ďurechová katarina.durechova@nic.cz 30.11.2013 Distributed Denial of Service odopretie služby dosiahnutím limitu pripojenia sieťovej karty CPU

More information

MERANIE SOFTVÉRU. Jakub Šimko MSI

MERANIE SOFTVÉRU. Jakub Šimko MSI Slovenská Technická Univerzita v Bratislave Fakulta Informatiky a Informačných Technológií Jakub Šimko jsimko@fiit.stuba.sk MERANIE SOFTVÉRU 9.10.2012 MSI Meranie a metriky Kto by mal dávať pozor? Predsa

More information

PODPORNÉ PROSTRIEDKY PRE VERZIOVANIE: VHODNÝ VÝBER PRE NÁŠ TÍM?

PODPORNÉ PROSTRIEDKY PRE VERZIOVANIE: VHODNÝ VÝBER PRE NÁŠ TÍM? PODPORNÉ PROSTRIEDKY PRE VERZIOVANIE: VHODNÝ VÝBER PRE NÁŠ TÍM? Budúcnosť je jasná, budúcnosť sú distribuované verziovacie systémy... alebo centralizované??? Balázs Nagy Slovenská technická univerzita

More information

Rýchlosť Mbit/s (download/upload) 15 Mbit / 1 Mbit. 50 Mbit / 8 Mbit. 80 Mbit / 10 Mbit. 10 Mbit / 1 Mbit. 12 Mbit / 2 Mbit.

Rýchlosť Mbit/s (download/upload) 15 Mbit / 1 Mbit. 50 Mbit / 8 Mbit. 80 Mbit / 10 Mbit. 10 Mbit / 1 Mbit. 12 Mbit / 2 Mbit. Fiber 5 Mbit ** 5 Mbit / Mbit 5,90 Fiber 50 Mbit * 50 Mbit / 8 Mbit 9,90 Fiber 80 Mbit * 80 Mbit / Mbit 5,90 Mini Mbit* Mbit / Mbit 9,90 Klasik 2 Mbit* 2 Mbit / 2 Mbit Standard 8 Mbit* 8 Mbit / 3Mbit Expert

More information

package balik; public class TopLevel1 {... }

package balik; public class TopLevel1 {... } Seminář Java Speciální třídy, výčtový typ Radek Kočí Fakulta informačních technologií VUT Březen 2010 Radek Kočí Seminář Java Speciální třídy, výčtový typ 1/ 20 Téma přednášky Vnořené třídy Anonymní třídy

More information

Desatinné čísla #1a. Decimal numbers #1b. How much larger is 21,8 than 1,8? Desatinné čísla #2a. Decimal numbers #2b. 14 divided by 0,5 equals...

Desatinné čísla #1a. Decimal numbers #1b. How much larger is 21,8 than 1,8? Desatinné čísla #2a. Decimal numbers #2b. 14 divided by 0,5 equals... Desatinné čísla #1a Mravec išiel 5,5 cm presne na sever, potom 3,4 cm na východ, 1,8 cm na juh, 14,3 cm na západ, 1,3 cm na sever a 10,9 cm na východ. Najmenej koľko cm musí teraz prejsť, aby sa dostal

More information

UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY VÝUKOVÁ WEBOVÁ APLIKÁCIA NA PROGRAMOVANIE GPU.

UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY VÝUKOVÁ WEBOVÁ APLIKÁCIA NA PROGRAMOVANIE GPU. UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY VÝUKOVÁ WEBOVÁ APLIKÁCIA NA PROGRAMOVANIE GPU Diplomová práca 2017 Bc. Denis Spišák UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA

More information

Doporučovací systém pro eshop

Doporučovací systém pro eshop ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE FAKULTA ELEKTROTECHNICKÁ KATEDRA POČÍTAČŮ Diplomová práce Doporučovací systém pro eshop Bc. Martina Čiefová Vedoucí práce: Ing. Jan Drchal, Ph.D. Leden 2018 Poďakovanie

More information

Návrh kritérií pre habilitáciu docentov a vymenúvanie profesorov na Ekonomickej fakulte TU v Košiciach

Návrh kritérií pre habilitáciu docentov a vymenúvanie profesorov na Ekonomickej fakulte TU v Košiciach EKONOMICKÁ FAKULTA TU V KOŠICIACH MATERIÁL NA ROKOVANIE: Vedeckej rady, dňa: 16.11.20 Návrh kritérií pre habilitáciu docentov a vymenúvanie profesorov na Ekonomickej fakulte TU v Košiciach Predkladá: prof.

More information

Jeden z variantov príkazu priradenia nám umožňuje zadať za sebou aj viacej vstupných hodnôt, ako napríklad

Jeden z variantov príkazu priradenia nám umožňuje zadať za sebou aj viacej vstupných hodnôt, ako napríklad Príkaz priradenia Príkaz priradenia slúži na priradenie hodnoty premennej. Má tvar premenná = výraz, kde premenná je identifikátor, znak = sa číta priraď a vyhodnotením výrazu sa získa hodnota určitého

More information

Problém Big Data a ako ho riešiť pomocou NoSQL. Ján Zázrivec Softec

Problém Big Data a ako ho riešiť pomocou NoSQL. Ján Zázrivec Softec Problém Big Data a ako ho riešiť pomocou NoSQL Ján Zázrivec Softec Dáta dnešného sveta Oblasti kde sa spracováva veľké množstvo dát: Internet Web vyhľadávače, Sociálne siete Veda Large Hadron Collider,

More information

Platforma průmyslové spolupráce

Platforma průmyslové spolupráce Platforma průmyslové spolupráce CZ.1.07/2.4.00/17.0041 Název CEP portál pro simulaci Popis a využití komplexní zpracování událostí (CEP) aplikace pro spouštění CEP pravidel a sledování výstupů na předpřipraveném

More information

ÚRAD VEREJNÉHO ZDRAVOTNÍCTVA SLOVENSKEJ REPUBLIKY Trnavská cesta 52 P.O.BOX Bratislava

ÚRAD VEREJNÉHO ZDRAVOTNÍCTVA SLOVENSKEJ REPUBLIKY Trnavská cesta 52 P.O.BOX Bratislava ÚRAD VEREJNÉHO ZDRAVOTNÍCTVA SLOVENSKEJ REPUBLIKY Trnavská cesta 52 P.O.BOX 45 826 45 Bratislava Úrad verejného zdravotníctva Slovenskej republiky upozorňuje na výskyt nebezpečných výrobkov farby na tetovanie

More information

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV POČÍTAČOVÉ GRAFIKY A MULTIMÉDIÍ FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF COMPUTER GRAPHICS AND

More information

Webový komunitný systém otázok a odpovedí

Webový komunitný systém otázok a odpovedí Slovenská technická univerzita v Bratislave Fakulta informatiky a informačných technológií Webový komunitný systém otázok a odpovedí Dokumentácia k inžinierskemu dielu Vedúci tímu: Ing. Ivan Srba Členovia

More information

Analýza a vizualizácia veľkých dát

Analýza a vizualizácia veľkých dát MASARYKOVA UNIVERZITA FAKULTA INFORMATIKY Analýza a vizualizácia veľkých dát DIPLOMOVÁ PRÁCA Bc. Jakub Caban Brno, 2015 Prehlásenie Prehlasujem, že táto diplomová práca je mojím pôvodným autorským dielom,

More information

MS Exchange 2010 Prechod Ing. Peter Záhradník

MS Exchange 2010 Prechod Ing. Peter Záhradník MS Exchange 2010 Prechod Ing. Peter Záhradník Gratex Support Center support@gratex.com Exchange 2010 o com to bude? Tato prezentacia bude pre ludi co uvazuju nad prechodom na novy Exchange zopar otazok

More information

Vnímanie neviditeľného [Holographic Eyes]

Vnímanie neviditeľného [Holographic Eyes] Fakulta informatiky a informačných technológií Slovenská technická univerzita Vnímanie neviditeľného [Holographic Eyes] Metodika pre manažment verzií kódu (angl.) Číslo tímu: 8 Názov tímu: caneless Vedúci

More information

e-scheme Návod na použitie

e-scheme Návod na použitie e-scheme Návod na použitie Pár krokov ako používať program Otvorte webovú stránku http://www.labquality.fi/eqa-eqas/ Kliknite na Login to LabScala Username: zadajte váš laboratórny kód Password: zadajte

More information

informačné, riadiace, telemetrické a komunikačné systémy BaWiT Online portál SCT revízia r2.4

informačné, riadiace, telemetrické a komunikačné systémy BaWiT Online portál SCT revízia r2.4 informačné, riadiace, telemetrické a komunikačné systémy BaWiT Online portál SCT1006.0001 revízia r2.4 www.sct.sk www.sct-telemetry.eu www.bawit.eu sales@sct.sk BaWiT Online - 06 Základné informácie portálu

More information

Modelovanie štruktúry

Modelovanie štruktúry Modelovanie štruktúry Poznámky k prednáškam z predmetu Modelovanie softvéru Valentino Vranić http://fiit.sk/~vranic/, vranic@stuba.sk Ústav informatiky, informačných systémov a softvérového inžinierstva

More information

obsahuje 5 príkladov, spolu 29>25 bodov skupina:

obsahuje 5 príkladov, spolu 29>25 bodov skupina: Midterm 2013, verzia A Meno a priezvisko: obsahuje 5 príkladov, spolu 29>25 bodov skupina: 1A) [8 bodov] Zistite, čo počíta nasledujúca rekurzívna funkcia foo pre n>=0. Hint: foo(2013) = 6. static long

More information

Programovanie v jazyku Python. Michal Kvasnica

Programovanie v jazyku Python. Michal Kvasnica Programovanie v jazyku Python Michal Kvasnica Organizačné detaily Prednášky aj cvičenia v 638 Povinná účasť na cvičeniach Hodnotenie: priebežné odovzdávanie zadaní (40% známky) záverečný projekt na skúške

More information

Hodnotenie kvality produktu

Hodnotenie kvality produktu Hodnotenie kvality produktu (2012/2013) Obsah 1. Úvod... 3 2. ISO 9126: Meranie kvality softvérového produktu... 3 2.1 ISO 9126-1: Model kvality... 4 2.2 ISO TR 9126-2: Externé metriky... 6 2.3 ISO TR

More information

MATLAB EXCEL BUILDER A NÁVRH PID REGULÁTOROV PRE PROSTREDIE MS EXCEL

MATLAB EXCEL BUILDER A NÁVRH PID REGULÁTOROV PRE PROSTREDIE MS EXCEL MATLAB EXCEL BUILDER A NÁVRH PID REGULÁTOROV PRE PROSTREDIE MS EXCEL Martin Foltin, Ivan Sekaj Fakulta elektrotechniky a informatiky, Slovenská Technická Univerzita, Ilkovičova 3, 812 19 Bratislava, Slovenská

More information

SYSTÉM NA EVIDENCIU A KATEGORIZÁCIU

SYSTÉM NA EVIDENCIU A KATEGORIZÁCIU FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY UNIVERZITA KOMENSKÉHO BRATISLAVA Bakalárska práca SYSTÉM NA EVIDENCIU A KATEGORIZÁCIU ŠTANDARDIZAČNÝCH MATERIÁLOV Eva Porvazníková vedúci bakalárskej práce: Doc.

More information

Mgr. Martin Vesel M 114

Mgr. Martin Vesel M 114 Mgr. Martin Vesel martin.vesel@gmail.com M 114 Where 2 go W3C, CSS špecifikácia http://www.w3.org/standards/techs/css#w3c_all http://www.w3.org/tr/2011/rec-css2-20110607/ http://www.w3.org/tr/2012/rec-css3-mediaqueries-20120619/

More information

VYHLÁSENIE O PARAMETROCH

VYHLÁSENIE O PARAMETROCH SK VYHLÁSENIE O PARAMETROCH Č. Hilti HIT-HY 200-R 0756-CPD-0462 1. Jedinečný identifikačný kód typu výrobku: Vytláčací lepiaci systém Hilti HIT-HY 200-R 2. Typ, číslo výrobnej dávky alebo sériové číslo,

More information

UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY. Progresívne meše v Unity Roman Vrecník

UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY. Progresívne meše v Unity Roman Vrecník UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY Progresívne meše v Unity 2016 Roman Vrecník UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY Progresívne

More information

SIMULÁTOR 3D TISKÁRNY SIMPLE 3D PRINTER SIMULATOR

SIMULÁTOR 3D TISKÁRNY SIMPLE 3D PRINTER SIMULATOR VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV INTELIGENTNÍCH SYSTÉMŮ FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF INTELLIGENT SYSTEMS SIMULÁTOR 3D

More information

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV POČÍTAČOVÉ GRAFIKY A MULTIMÉDIÍ FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF COMPUTER GRAPHICS AND

More information

Kamera. Sieťová klenbová kamera. Rýchla používateľská príručka---po slovensky. Táto rýchla príručka sa vzťahuje na: DS-2CD2112-(I),

Kamera. Sieťová klenbová kamera. Rýchla používateľská príručka---po slovensky. Táto rýchla príručka sa vzťahuje na: DS-2CD2112-(I), Kamera Sieťová klenbová kamera Rýchla používateľská príručka---po slovensky Táto rýchla príručka sa vzťahuje na: DS-2CD2112-(I), UD.6L0201B1254A01EU 1 Regulačné informácie Vyhlásenie o súlade s normami

More information

ZÁSUVNÝ MODUL PRO CODE::BLOCKS REALIZU-

ZÁSUVNÝ MODUL PRO CODE::BLOCKS REALIZU- VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV INTELIGENTNÍCH SYSTÉMŮ FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF INTELLIGENT SYSTEMS ZÁSUVNÝ MODUL

More information

Komunikačné protokoly 2005 KP 2005 #3 - IP v02.doc

Komunikačné protokoly 2005 KP 2005 #3 - IP v02.doc Smerovanie a prepájanie v sieťach Dátové siete zabezpečujú prenos dát od zdoja k cieľu. Aby mohol takýto prenos fungovať, musia byť zavedené mená a adresy. Každému koncovému bodu je priradená jednoznačná

More information

POROVNANIE GUI VYBRANÝCH SOFTVÉROVÝCH NÁSTROJOV

POROVNANIE GUI VYBRANÝCH SOFTVÉROVÝCH NÁSTROJOV UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY POROVNANIE GUI VYBRANÝCH SOFTVÉROVÝCH NÁSTROJOV Bakalárska práca Stanislav Párnický 2013 UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA

More information

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ. Fakulta elektrotechniky a komunikačních technologií DIPLOMOVÁ PRÁCE

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ. Fakulta elektrotechniky a komunikačních technologií DIPLOMOVÁ PRÁCE VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ Fakulta elektrotechniky a komunikačních technologií DIPLOMOVÁ PRÁCE Brno, 2016 Bc. Michal Paulech VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA ELEKTROTECHNIKY

More information

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV INFORMAČNÍCH SYSTÉMŮ FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF INFORMATION SYSTEMS IMPLEMENTACE

More information

Univerzita Komenského v Bratislave Fakulta matematiky, fyziky a informatiky. Interaktívna výuková webová aplikácia na riešenie úloh o pravdepodobnosti

Univerzita Komenského v Bratislave Fakulta matematiky, fyziky a informatiky. Interaktívna výuková webová aplikácia na riešenie úloh o pravdepodobnosti Univerzita Komenského v Bratislave Fakulta matematiky, fyziky a informatiky Interaktívna výuková webová aplikácia na riešenie úloh o pravdepodobnosti Bakalárska práca 2016 Zuzana Majeríková Univerzita

More information

Aplikácia k určovaniu rastlín pre platformu ios

Aplikácia k určovaniu rastlín pre platformu ios Mendelova univerzita v Brně Provozně ekonomická fakulta Aplikácia k určovaniu rastlín pre platformu ios Bakalárska práca Vedúci práce: Ing. Dita Dlabolová Jakub Kozák Brno 2014 Na tomto mieste by som

More information

JEDNODUCHÝ IS PRO MOBILNÍ TELEFONY PRO EVIDENCI HOVORŮ SIMPLE MOBILE PHONE IS FOR CALL EVIDENCE

JEDNODUCHÝ IS PRO MOBILNÍ TELEFONY PRO EVIDENCI HOVORŮ SIMPLE MOBILE PHONE IS FOR CALL EVIDENCE VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV INFORMAČNÍCH SYSTÉMŮ FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF INFORMATION SYSTEMS JEDNODUCHÝ IS

More information

Využití technologie Angular2 při vývoji webových aplikací. Bc. Juraj Štefan

Využití technologie Angular2 při vývoji webových aplikací. Bc. Juraj Štefan Využití technologie Angular2 při vývoji webových aplikací Bc. Juraj Štefan Diplomová práce 2017 ABSTRAKT Táto diplomová práca sa zaoberá návrhom a vývojom webovej aplikácie použitím prístupu MEAN stack.

More information

BODY PRÍPADOV POUŽITIA ALEBO AKO MERAŤ SOFTVÉR

BODY PRÍPADOV POUŽITIA ALEBO AKO MERAŤ SOFTVÉR BODY PRÍPADOV POUŽITIA ALEBO AKO MERAŤ SOFTVÉR Pre efektívne riadenie celého projektu je potrebné merať jeho veľkosť Ondrej Jurčák Slovenská technická univerzita Fakulta informatiky a informačných technológií

More information

Vizualizácia distribuovaných algoritmov. Bc. JURAJ PORUBSKÝ

Vizualizácia distribuovaných algoritmov. Bc. JURAJ PORUBSKÝ Vizualizácia distribuovaných algoritmov Bc. JURAJ PORUBSKÝ 2009 Vizualizácia distribuovaných algoritmov DIPLOMOVÁ PRÁCA Bc. Juraj Porubský UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY

More information

Útoky typu Cross-Site Scripting

Útoky typu Cross-Site Scripting Masarykova univerzita Fakulta informatiky Útoky typu Cross-Site Scripting Bakalárska práca Oliver Chorvát Brno, jar 2010 Prehlásenie Prehlasujem, že táto bakalárska práca je mojím pôvodným autorským dielom,

More information

OBSLUŽNÝ SYSTÉM PRE FITKIT V PROSTREDÍ PYTHON FITKIT CONTROL SYSTEM BASED ON PYTHON

OBSLUŽNÝ SYSTÉM PRE FITKIT V PROSTREDÍ PYTHON FITKIT CONTROL SYSTEM BASED ON PYTHON VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV POČÍTAČOVÝCH SYSTÉMŮ FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF COMPUTER SYSTEMS OBSLUŽNÝ SYSTÉM

More information

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY APLIKACE PRO TVŮRČÍ PSANÍ AN APPLICATION FOR CREATIVE WRITING

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY APLIKACE PRO TVŮRČÍ PSANÍ AN APPLICATION FOR CREATIVE WRITING VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV POČÍTAČOVÝCH SYSTÉMŮ FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF COMPUTER SYSTEMS APLIKACE PRO TVŮRČÍ

More information

VLSM a CIDR. CCNA2 Kapitola Cisco Systems, Inc. All rights reserved. Cisco Public 1

VLSM a CIDR. CCNA2 Kapitola Cisco Systems, Inc. All rights reserved. Cisco Public 1 VLSM a CIDR CCNA2 Kapitola 6 1 Trošku histórie Pred rokom 1981 IP adresy používali na špecifikáciu siete len prvých 8 bitov Rok1981, RFC 791 Zaviedol adresný priestor s tromi triedami adries Polovica 90

More information

Využitie pri konštrukcii simula ných modelov

Využitie pri konštrukcii simula ných modelov Využitie doplnku @Risk pri konštrukcii simula ných modelov Marian Reiff, Tomáš Domonkos Simula ný model vo všeobecnosti zobrazuje modelovaný systém pomocou matematických formulácií a logických vz ahov.

More information

BAKALÁŘSKÁ PRÁCE. Mobilní komunikační software

BAKALÁŘSKÁ PRÁCE. Mobilní komunikační software Univerzita Karlova v Praze Matematicko-fyzikální fakulta BAKALÁŘSKÁ PRÁCE Martin Kontsek Mobilní komunikační software Ústav formální a aplikované lingvistiky Vedoucí bakalářskej práce: Mgr. Pavel Machek

More information

Cvičenie 1-2 Concept: Locating Controls, Functions, and VIs

Cvičenie 1-2 Concept: Locating Controls, Functions, and VIs Cvičenie 1-2 Concept: Locating Controls, Functions, and VIs 1. Open a blank LabVIEW project. Click the Create Project button in the LabVIEW Getting Started window and then click Blank Project. Click Finish.

More information

Algoritmy deterministickej a stochastickej optimalizácie a ich počítačová realizácia

Algoritmy deterministickej a stochastickej optimalizácie a ich počítačová realizácia Algoritmy deterministickej a stochastickej optimalizácie a ich počítačová realizácia ESF 2007 D. Ševčovič Katedra aplikovanej matematiky a štatistiky, Univerzita Komenského, 842 48 Bratislava http://www.iam.fmph.uniba.sk/institute/sevcovic

More information

Absolvování individuální odborné praxe Individual Professional Practice in the Company

Absolvování individuální odborné praxe Individual Professional Practice in the Company VŠB Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Katedra informatiky Absolvování individuální odborné praxe Individual Professional Practice in the Company 2014 Peter Slivoš Prehlasujem,

More information

Refaktorovanie jazyka JavaScript a DHTML

Refaktorovanie jazyka JavaScript a DHTML Univerzita Komenského Fakulta Matematiky, Fyziky a Informatiky Ústav Informatiky Marián Marcinčák Refaktorovanie jazyka JavaScript a DHTML Diplomová práca Školiteľ : RNDr. Marián Vittek, PhD. Bratislava

More information

IMPLEMENTACE MODULÁRNÍ ARITMETIKY DO OBVODŮ FPGA A ASIC

IMPLEMENTACE MODULÁRNÍ ARITMETIKY DO OBVODŮ FPGA A ASIC VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA ELEKTROTECHNIKY A KOMUNIKAČNÍCH TECHNOLOGIÍ ÚSTAV MIKROELEKTRONIKY FACULTY OF ELECTRICAL ENGINEERING AND COMMUNICATION DEPARTMENT OF

More information

Coordinates ordering in parallel coordinates views

Coordinates ordering in parallel coordinates views Univerzita Komenského v Bratislave Fakulta matematiky, fyziky a informatiky Coordinates ordering in parallel coordinates views Bratislava, 2011 Lukáš Chripko Univerzita Komenského v Bratislave Fakulta

More information

TRANSCRIPTION OF NUMERICAL OBJETCS TO TEXT FOR SLOVAK LANGUAGE

TRANSCRIPTION OF NUMERICAL OBJETCS TO TEXT FOR SLOVAK LANGUAGE Journal of Information, Control and Management Systems, Vol. 5, (2007), No. 1 25 TRANSCRIPTION OF NUMERICAL OBJETCS TO TEXT FOR SLOVAK LANGUAGE Ján GENČI Technical university of Košice, Faculty of Electrical

More information

Továrne na všetko ÚINF/PAZ1c (Róbert Novotný) a asociácie

Továrne na všetko ÚINF/PAZ1c (Róbert Novotný) a asociácie Továrne na všetko 24. 11. 2011 ÚINF/PAZ1c (Róbert Novotný) a asociácie TOVÁRNE NA VŠETKO Továreň na jednu vec zatiaľ sme mali továrne na jeden typ objektov public enum VyhľadávačFactory { INSTANCE; public

More information

MOŽNOSTI VYUŽITIA ĽUDSKÉHO POSTUPU PRE NÁVRH

MOŽNOSTI VYUŽITIA ĽUDSKÉHO POSTUPU PRE NÁVRH MOŽNOSTI VYUŽITIA ĽUDSKÉHO POSTUPU PRE NÁVRH ALGORITMOV NA RIEŠENIE ŤAŽKÝCH PROBLÉMOV DIPLOMOVÁ PRÁCA Matej Lučenič UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY KATEDRA INFORMATIKY

More information