Zadání projektu (2011/12)
Důležitá poznámka: Zadání definuje podstatné vlastnosti aplikace, které musí být splněny. Předpokládá se, že detaily řešení si doplní řešitelské týmy.
Navrhněte a implementujte editor a simulátor vysokoúrovňových Petriho sítí. Aplikace bude typu klient-server.
Opravy zadání
- 2012-02-27: Zjednodušení požadované varianty Petriho sítí (zobrazeno červeně)
Základní požadavky na návrh a funkce aplikace
- uvažovaná varianta vysokoúrovňových Petriho sítí
- síť není hierarchická (obsahuje pouze místa, přechody a hrany)
- tokeny jsou modelovány datovými typy
(int, char, string) (uvažujte pouze typ int)
- je možné provádět operace nad daty (tokeny), operace jsou uvedeny v přechodu a vykonají se při provedení přechodu (uvažujte operace sčítání a odčítání)
- provedení přechodu může být podmíněno stráží (podmínka, která musí být splněna, aby se přechod mohl provést)
- Doplňující informace
- ve stráži může být více podmínek, vždy však v konjunkci (logické and)
- podmínka je ve tvaru op1 rel op2, kde op1 je proměnná, rel je operátor porovnání (<, <=, >=, >, ==, !=) a op2 je konstanta nebo proměnná
- na hraně uvažujte buď konstantu nebo jednu proměnnou
- Ukázka sítě a jednoho kroku simulace: pn-example01.pdf
- server
- autentizuje uživatele (login, heslo)
- implementuje úložiště sítí (formát XML)
- každá síť je identifikována jedinečným názvem
- je možná správa verzí (pokud se ukládá již uložená síť, uloží se jako nová verze)
- verzovat nemusíte přírůstkově, stačí uložit celou upravenou síť
- u každé sítě se ukládá autor (uživatel), název, verze a stručný popis
- implementuje simulátor sítí
- umožňuje simulovat více sítí současně
- server uchovává informace kdo spustil simulace jaké sítě a kdy – tuto informaci je možné získat při prohlížení sítě
- klient
- implementuje editor
- síť je možné lokálně uložit a znovu načíst (formát XML)
- síť je možné uložit na server
- implementuje prohlížeč uložených sítí na serveru
- nabídne se seznam všech sítí, uživatel si vybere síť a verzi (implicitně se nabídne poslední)
- síť a verzi je možné vyhledat (klíčová slova apod.)
- síť je možné prohlížet, editovat, případně spustit simulaci
- simulace
- simulace běží na serveru, klient pouze zobrazuje aktuální stav (obsah míst, aktivní přechody)
- simulace může být spuštěna naráz (v takovém případě se zobrazí pouze výsledný stav po ukončení simulace)
- simulace může být krokována (v takovém případě se zobrazí aktuální stav po každém kroku)
- je možné editovat/prohlížet/simulovat více sítí současně
- konfigurace aplikace (použité fonty apod.); konfigurace bude uložena v konfiguračním souboru ve formátu XML (načte se při startu, automaticky uloží při změně)
- je možné měnit grafickou podobu (míst, přechodů apod.); implementujte alespoň 2, aktuální nastavení je uloženo v konfiguračním souboru
Součást odevzdání
- připravte jednu uloženou síť lokální a dvě sítě uložené na serveru (každá v několika verzích); při otevření příslušného menu se nabídne implicitní úložiště, které obsahuje zmiňované uložené sítě
Minimum pro získání zápočtu
- návrh a implementace všech základních požadavků
Doporučení
- zamyslete se nad použitím vhodných návrhových vzorů
- zamyslete se nad možností ukládat podobu grafických módů v externím souboru
- použijte vhodnou knihovnu pro zpracování XML dokumentů (C++: Qt, Java: http://dom4j.org/ apod.)
- na prohlížení nápovědy můžete zavolat externí prohlížeč (nemusíte ho programovat)
Radek Kočí (koci AT fit.vutbr.cz)
Link to this Page
- . last edited on 18 June 2012 at 11:23 am by localhost