Specifikace softwarových požadavků pro Projekt 4ML
Verze: 1.0 Vytvořil: team 4ml http://four-ml.kenai.com/ CTU FEE, Prague, Czech republic
Datum: 10.10.2010
Obsah 1. Úvod.................................................................................................................................................3 1.1 Účel projektu...............................................................................................................3 1.2 Jak číst.........................................................................................................................3 1.3 Rozsah projektu...........................................................................................................3 1.4 Reference & odkazy....................................................................................................3 2. Souhrnný popis.................................................................................................................................4 2.1 Perspektiva produktu..................................................................................................4 2.2 Vlastnosti produktu......................................................................................................4 2.3 Třídy a charakteristiky uživatelů.................................................................................4 2.4 Provozní prostředí.......................................................................................................4 2.5 Omezení pro návrh a implementaci............................................................................4 2.6 Uživatelská dokumentace............................................................................................4 2.7 Předpoklady a závislosti..............................................................................................4 3.Systémové funkce..............................................................................................................................5 3.1 Nastavení vlastností budovy.................................................................................................5 3.2 Nastavení vlastností místností...............................................................................................5 3.3 Zjištění předpovědi počasí....................................................................................................6 3.4 Zjištění teploty v místnostech pomocí vstupu ze senzorů.....................................................6 3.5 Odhad rozložení teploty v místnosti.....................................................................................6 3.6 Plánování topení / chlazení...................................................................................................7 4. Aplikační rozhraní...........................................................................................................................8 4.1 Uživatelské rozhraní (GUI).........................................................................................8 4.2 Hardwarová rozhraní...................................................................................................8 4.3 Softwarová rozhraní..............................................................................................................8 4.5 Komunikační rozhraní...........................................................................................................8 5. Další, nefunkční požadavky.............................................................................................................9 5.1 Požadavky na výkon....................................................................................................9 5.2 Bezpečnostní požadavky.............................................................................................9 5.3 Atributy kvality software ............................................................................................9 5.4 Lokalizace....................................................................................................................9 5.5 Další požadavky...........................................................................................................9
1. Úvod 1.1 Účel projektu Aplikace bude sloužit k modelování fyzikálních vlastností budov. Bude provádět nezbytné výpočty pro správné zjištění rozložení teploty v jednolivých místnostech, na základě kterých bude určen teplotní gradient v budově. Tyto výsledky bude možné využít pro automatické ochlazení či zvýšení teploty v místnosti.
1.2 Jak číst Následujte jednotlivé kapitoly po sobě a snažte se nepřeskakovat žádný z textu, aby Vám neunikla některá pasáž, která by mohla být stěžejní v dalších částech dokumentu. Ať už jste softwarový vývojář či normální čtenář, buďte pozorní při pročítání odstavců a především se snažte rozebírané problematice porozumnět.
1.3 Rozsah projektu Aplikace bude připravena pro zavedení jako modul do aplikace Simulace budov (téma A), která bude schopná konfigurovat plochy pokojů, jejich průchodů a vzájemné spojení. Do každého pokoje by mělo být možné přidávat nejrůznější senzory (detektor pohybu, stmívače, termostaty, měřiče úrovně hluku atd.) a aktuátory (světla, přímotopy, klimatice atd.). Náš modul bude sbírat data ze senzorů a následně je analyzovat a provádět s nimi výpočty na základě předpovědi počasí. Tyto informace budou následně použity pro nejvýhodnější zareagování systému, tak aby bylo docíleno ideální teploty či vlhkosti v místnosti. Bude tedy například zaslána informace přímotopu (aktuátor), aby vytápěl místnost 5 minut s teplotou 26°C nebo aby se zapla klimatice na střední výkon. Vše, jak je zde popsáno, ale závisí na aplikaci Simulace budov. Naš modul bude tedy v prvé řadě pouze konzolovou aplikací, která bude ze získaných (simulovaných) hodnot (vstupů a předpovědi počasí pro dané místo) vypočítavat teplotu v místnosti a teplotní gradient, který se vypíše v konzoli. Pokud bude apliace Simulace budov hotová, bude modul připraven na jejich vzájemné propojení. 1.4 Reference & odkazy Veškeré podpurné materiály najdete na webové adrese: http://four-ml.kenai.com/ Popřípadě další informace získáte na této adrese po přechodu na wiki odkaz, kde jsou veškeré podpurné dokumenty a návody týkající se projektu 4ML projektu.
2. Souhrnný popis 2.1 Perspektiva produktu Modul obdrží z hlavního programu data reprezentující model budovy a pomocí nich a předpovědi počasí a různých dalších faktorů určí teploty na všech místech dané budovy, data odešle zpět hlavnímu programu a ten pomocí výstupu tohoto modulu vykreslí předpokládané teploty a jejich pravděpodobný vývoj v modelu budovy. 2.2 Vlastnosti produktu Program musí pomocí tzv. Model Predictive Control, neboli modelu prediktivního řízení a pomocí simulovaného vývoje počasí předpokládat vývoj teplot ve všech místnostech budovy a umět na něj příslušným způsobem zareagovat. 2.3 Třídy a charakteristiky uživatelů Program bude vhodný pro skupinu uživatelů s určitým stavebním vzděláním, aplikace může být použita pro finální úpravy půdorysu a velikosti místností a jejich rozložení po ploše budovy. Program může využít i tzv. naivní uživatel, který se ale v problematice aspoň trochu orientuje, a využije ho třeba pro naplánování některých úprav, třeba při rekonstrukci svého domu. 2.4 Provozní prostředí Program bude multiplatformní a bude fungovat na všech operačních systémech s nainstalovaným Java Runtime Environment (JRE) verze 1.6. Vzhledem k tomu, že tento produkt slouží pouze jako modul do jiného programu, záleží hlavně na prostředí, ve kterém bude fungovat hlavní program. 2.5 Omezení pro návrh a implementaci Tento programový modul nebude hardwarově náročný, proto zde z toho omezení neplyne. Aplikace se dá brát jako malá a s malou paměťovou náročností. Modul nepotřebuje připojení k žádné databázi. Hlavní program bude psán v programovacím jazyce C# a proto nelze tento programový modul, psaný v jazyce Java, napsat čistě jako plugin, ale je třeba použít vzdálenou komunikaci s hlavním programem. 2.6 Uživatelská dokumentace Bude přiložen tutoriál a dokumentace ve formátu pdf. 2.7 Předpoklady a závislosti Předpokládá se vývoj hlavního programu, tj. Simulátoru inteligentních budov, v jazyce C#, proto je třeba při případné změně implementace hlavního programu upravit také tento programový modul, kvůli zajištění rozhraní pro přenos dat a komunikaci mezi oběma komponentami
3.Systémové funkce uc Prim ary Use Cases Si mul átor
System Zj istit teplotu v m ístnostech
Zj istit předpov ěd počasí
Senzory «i nclude»
Čas
«i nclude» Vypočítat teplotní gr adient «i ncl ude»
Nastav it v lastní teplotu
Odhadnout rozložení teploty v místnostech
Uživ atel
«extend»
Upr av it teplotu
Vytv ořit plán topení/chlazení Nastav it v lastnosti místností
«incl ude» Nastav it v lastnosti budov y Výstup simulátor u
UC1: use-case
3.1 Nastavení vlastností budovy 3.1.1
Popis a priorita Systém vytvoří abstraktní fyzikální model budovy a místností. Pomocí tohoto modelu pak bude předvídat vývoj teploty v místnostech. Priorita: 3
3.1.2
Sekvence podnětů/odpovědí Při zahájení práce systém vytvoří model, pomocí kterého pak bude vypočítávat průběh teploty. Nepředpokládá se, že systém bude dynamicky měnit vlastnosti budovy.
3.1.3
Funkční požadavky Systém bude umět přijímat vstup ze simulátoru.
3.2 Nastavení vlastností místností 3.2.1
Popis a priorita Systém získá informace ze simulátoru o jednotlivých místnostech. Bude se jednat o rozměry, pozice a existence dalsich objektu v mistnosti, které mohou mít vliv na výslednou teplotu, izolační vlastnosti, případné využití prostoru lidmy (např. sklad × posluchárna) Priorita:2
3.2.2
Sekvence podnětů/odpovědí Při zahájení práce systém vytvoří model, pomocí kterého se bude vypočítávat průběh teploty.
3.2.3
Funkční požadavky Systém bude umožňoovat zpracovat vstup ze simulátoru.
3.3 Zjištění předpovědi počasí 3.3.1
Popis a priorita Systém bude umět získávat infrmace z internetového meteorologického serveru. Bude získávat informace o oblačnosti, teplotě, větru, sněhu/dešti a vlhkosti. (možná i tlaku aj.) Tyto informace bude později využívat k výpočtu teploty v místnostech. Priorita: 5
3.3.2
Sekvence podnětů/odpovědí Systém bude sám po určitém časovém intervalu zjišťovat předpověd počasí.
3.3.3
Funkční požadavky Systém bude umožňovat získat aktuální data o počasí z meteorologického serveru.
3.4 Zjištění teploty v místnostech pomocí vstupu ze senzorů 3.4.1
Popis a priorita Systém bude umět získávat informace z teploměrů (senzorů) umístěných v budově. Tyto informace bude později využívat k výpočtu teploty. Priorita: 1
3.4.2
Sekvence podnětů/odpovědí Systém bude sám po určitém časovém intervalu zjišťovat teplotu v místnostech.
3.4.3
Funkční požadavky Systém bude muset umět přijmout data ze senzorů (v našem případě ze simulátoru).
3.5 Odhad rozložení teploty v místnosti 3.5.1
Popis a priorita Z fyzikálního modelu systém bude schopen odhadnout rozložení teploty v místnostech a průběh změny teploty. Priorita: 1
3.5.2
Sekvence podnětů/odpovědí Po každém přijmutí nových dat z teplotních senzorů se model upraví. Využije se k tvoření plánu topení / chlazení.
3.5.3
Funkční požadavky Systém bude pomocí MPC predikovat změny teplot v místnostech a na základě toho je regulovat.
3.6 Plánování topení / chlazení 3.6.1
Popis a priorita Systém využije znalost vývoje teploty a modelu místností k tomu, aby vytvořil efektivní plán pro topení a chlazení. Výstup (např. Nastavení teploty pro termostatické topení a klimatizaci) Priorita: 2
3.6.2
Sekvence podnětů/odpovědí Po každém obnovení odhadu rozložení teploty se pošlou výsledky zpět simulátoru.
3.6.3
Funkční požadavky Systém bude umožňovat odeslání výsledků předchozích výpočtů zpět simulátoru.
4. Aplikační rozhraní 4.1 Uživatelské rozhraní (GUI) Vzhledem k tomu, že aplikace bude distribuována jako plugin k již existující aplikaci, který se bude zabývat jen zadanými výpočty a výsledky budou odesílány hned zpět, nebude aplikace standardně podporovat uživatelské rozhraní. Pro účely testování a debugování budou moci být všechny výsledky prováděných výpočtů (stavy teplot v místnostech a jakými změnami jich bylo dosáhnuto) vypisovány na standardní uživatelský výstup. Ve finálním provozu veškeré zobrazení výsledků bude zajišťovat mateřská aplikace. 4.2 Hardwarová rozhraní Aplikace nebude přímo komunikovat s žádnou hardwarovou komponentou, veškerá nízkoúrovňová volání bude zajišťovat Java Virtual Machine (JVM).
4.3 Softwarová rozhraní K vývoji budou použity standardní knihovny jazyka Java 1.6, aplikace bude fungovat na všech operačních systémech s nainstalovaným běhovým prostředím pro Javu (JRE 1.6). Dále bude nutné také počítat s možností použití nějaké externí knihovny zajišťující vytvoření a použití komunikačního rozhraní s mateřskou aplikací.
4.5 Komunikační rozhraní Aplikace bude implementovat dvě komunikační rozhraní: 4.5.1
Rozhraní pro komunikaci se senzorem venkovního klima Zde bude potřeba dostávat informace o parametrech venkovního klima, které budou ovlivňovat výpočet teploty v místnostech. Naše aplikace bude v této interakci vystupovat jako klient odesílající požadavky na aktuální hodnoty parametrů. Přesný typ ani formát komunikačního protokolu zatím není znám.
4.5.2
Rozhraní pro komunikaci s mateřskou aplikací Tady budou po aplikaci požadovány výsledky výpočtů teploty v místnostech a nastavení zařízení, které ji ovlivňují. Přesný typ a formát komunikačního protokolu také ještě není znám, z dosavadní studie zatím vyplývají tyto možnoti: a) použití webové služby b) implementace rozhraní CORBA a využití RMI c) přesměrování standardního výstupu do mateřské aplikace
5. Další, nefunkční požadavky 5.1 Požadavky na výkon Pro běh aplikace bude potřeba PC. Aplikace bude počítat matematické modely, kde platí, čím rychlejší hardware, tím rychleji budou data zpracována a vyhodnocena. Speciální hardwarové požadavky však nebudou zapotřebí. 5.2 Bezpečnostní požadavky Projekt 4ML nebude zpracovávat informace o osobních údajích či soukromých datech. Proto, neexistují žádné požadavky na ochranu dat v projektu 4ML. 5.3 Atributy kvality software 5.3.1
Bezpečnost Po uživateli by nemělo být požadována jeho identifikace při použití software.
5.3.2
Portabilita Aplikace bude použitelná na všech platformách, které podporují Java platformu tj. na Windows, MAC a UNIX based operačních systémech bez zásahu do programového kódu.
5.3.3
Implementace Projekt 4ML bude implementován v programovacím jazyce Java 1.6
5.4 Lokalizace Aplikační rozhraní a nápověda budou v českém jazyce. Všechna textová data budou zobrazena ve znakové sadě UTF-8 5.5 Další požadavky Projekt 4ML je vyvíjen pod GNU General Public Licence verze 3. nebo novější. Projekt může být použit za podmínek, které lze najít na této adrese: http://www.gnu.org/licenses/gpl.html