arhitectura orientat ă pe sub-sisteme pentru platforma ... · vedere generala a aplica ției –...

60
Prototype Cyberinfrastructure-based System for Decision-Making Support in Water Resources Management CyberWater Proiect PN II – Parteneriate în domeniul Mediu, nr. 47/2012 Coordonator: Universitatea POLITEHNICA din Bucureşti Parteneri: Universitatea Tehnica de Construcţii București Facultatea Automatică şi Calculatoare Universitatea Tehnică din Cluj-Napoca Director de proiect dr.ing. Marian Muste Arhitectura orientată pe sub-sisteme pentru platforma CyberWater – Raport de Cercetare – Prezentul raport de cercetare a fost realizat în cadrul primei faze a proiectului de cercetare Prototype Cyberinfrastructure-based System for Decision-Making Support in Water Resources Management – CyberWater / Sistem pilot bazat pe infrastructura cibernetica pentru asistarea luarii deciziilor in managementul resurselor de apa” proiect 47/2012, PNII Parteneriate în domenii prioritare, proiect coordonat de Universitatea “Politehnica” din Bucureşti. Raportul prezintă stadiul cercetărilor actuale în domeniul e-serviciilor bazate pe agenţi în suportul deciziilor şi are ca scop stabilirea unui nivel de cunoaştere şi a unui limbaj de specialitate comune pentru toţi partenerii din proiect. În acest scop, materialul preia părţi extinse din sursele bibliografice citate. Raportul de cercetare a fost realizat de colectivul din cadrul Universitătii POLITEHNICA din Bucureşti, coordonat de prof.dr.ing. Mariana Mocanu.

Upload: others

Post on 15-Sep-2019

6 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Arhitectura orientat ă pe sub-sisteme pentru platforma ... · Vedere generala a aplica ției – diagrama de pachete ..... 31 Figura 17. Diagrama flux de date in modulul de simulare

Prototype Cyberinfrastructure-based System for Decision-Making Support in Water Resources Management CyberWater

Proiect PN II – Parteneriate în domeniul Mediu, nr. 47/2012

Coordonator: Universitatea POLITEHNICA din Bucureşti Parteneri: Universitatea Tehnica de Construcţii București Facultatea Automatică şi Calculatoare Universitatea Tehnică din Cluj-Napoca

Director de proiect dr.ing. Marian Muste

Arhitectura orientat ă pe sub-sisteme pentru platforma CyberWater

– Raport de Cercetare –

Prezentul raport de cercetare a fost realizat în cadrul primei faze a proiectului de cercetare „Prototype Cyberinfrastructure-based System for Decision-Making Support in Water Resources Management – CyberWater / Sistem pilot bazat pe infrastructura cibernetica pentru asistarea luarii deciziilor in managementul resurselor de apa” proiect 47/2012, PNII Parteneriate în domenii prioritare, proiect coordonat de Universitatea “Politehnica” din Bucureşti. Raportul prezintă stadiul cercetărilor actuale în domeniul e-serviciilor bazate pe agenţi în suportul deciziilor şi are ca scop stabilirea unui nivel de cunoaştere şi a unui limbaj de specialitate comune pentru toţi partenerii din proiect. În acest scop, materialul preia părţi extinse din sursele bibliografice citate. Raportul de cercetare a fost realizat de colectivul din cadrul Universitătii POLITEHNICA din Bucureşti, coordonat de prof.dr.ing. Mariana Mocanu.

Page 2: Arhitectura orientat ă pe sub-sisteme pentru platforma ... · Vedere generala a aplica ției – diagrama de pachete ..... 31 Figura 17. Diagrama flux de date in modulul de simulare

2

Cuprins

Lista figurilor ........................................................................................................................... 3 Lista tabelelor ............................................................................................................................ 4 1. Arhitectutra Platformei Cyberwater .................................................................................. 5 2. Nivelul Monitorizare ......................................................................................................... 6 2.1 Monitorizarea calităţii apei .................................................................................................. 6 2.1.1 Parametri de calitate a apei ............................................................................................... 7 2.1.2 Senzori pentru măsurarea valorilor de calitate a apei ....................................................... 9 2.1.3 Reţele de senzori fără fir (WSN: Wireless Sensor Networks) ....................................... 10 2.2 Situația actuală în managementul calității apei ................................................................. 12 2.2.1 Proiectul DEPLOY ......................................................................................................... 13 2.2.2 Reţeaua de senzori de la Little Bear River ..................................................................... 14 2.2.3 Proiectul SWIMA (Sensor Web Infrastructure Management) ....................................... 14 3. Analiză și fundamentare teoretică ................................................................................... 16 3.1 Specificaţiile sistemului .................................................................................................... 16 3.2 Modelul conceptual al sistemului ...................................................................................... 18 3.3 Model conceptual pentru senzori si măsurători ................................................................. 19 3.4 Modele hidrografice .......................................................................................................... 19 3.4.1 Schema Hydro-base ........................................................................................................ 21 3.4.2 Schema Hydro-Network ................................................................................................. 23 3.5 Modele de propagare și transport al poluanţilor ................................................................ 24 3.5.1. Introducere, clasificare si utilizări ................................................................................. 24 3.5.2. Procese de transport de masă ......................................................................................... 25 3.5.3. Ecuatia de advecţie-dispersie (ADE) ............................................................................ 26 3.6 Integrarea modelelor folosite ............................................................................................. 28 4. Nivel 3 Prelucrarea datelor .............................................................................................. 30 4.2 Modulul de generare și stocare a datelor privind calitatea apei ........................................ 31 4.2.1 Proiectare de detaliu ....................................................................................................... 31 4.2.2 Implementare .................................................................................................................. 34 5. Nivelul 4 Aplicatie .......................................................................................................... 40 5. 1 Proiectare de detaliu ......................................................................................................... 40 5.1.1 Arhitectura pe trei niveluri a aplicaţiei ........................................................................... 40 5.1.1.2 Realizarea cazurilor de utilizare .................................................................................. 42 5.2. Implementare .................................................................................................................... 45 5.2.1 Componentele faţete JSF ................................................................................................ 46 5.2.2. Pachetele aplicaţiei web ................................................................................................ 47 6. Arhitectura orientată pe sub-sisteme pentru platforma CyberWater. .............................. 51 7. Tehnologia ArcGIS folosită în sistemul CyberWater ..................................................... 54 8. Bibliografie ...................................................................................................................... 58

Page 3: Arhitectura orientat ă pe sub-sisteme pentru platforma ... · Vedere generala a aplica ției – diagrama de pachete ..... 31 Figura 17. Diagrama flux de date in modulul de simulare

3

Lista figurilor Figura 1 Arhitectura platformei CyberWater orientată pe servicii ...................................................... 5 Figura 2 Ahitectura generala a SWIMA ............................................................................................ 15 Figura 3 Schema bloc CyberWater[32] ............................................................................................. 17 Figura 4. Diagrama cazurilor de utilizare -1 ..................................................................................... 18 Figura 5. Diagrama cazurilor de utilizare-2 ...................................................................................... 18 Figura 6. Modelul conceptual al sistemului ...................................................................................... 19 Figura 7. Schema conceptuala pentru senzori si masuratori ............................................................. 20 Figura 8. Structura pachetelor in Inspire – Hidrografie [24] ............................................................. 21 Figura 9. Relatiile intre pachete pentru schema Hydro-Network [24] .............................................. 22 Figura 10. Clasa abstractă HydroObject [24] .................................................................................... 22 Figura 11. Tipul de date HydroIdentifier .......................................................................................... 22 Figura 12. Tipul de date GeographicalName .................................................................................... 23 Figura 13. Diagrama de clase Hydro-Network ................................................................................. 24 Figura 14. Determinarea punctelor de apartenenta la râu ................................................................. 28 Figura 15. Arhitectura prototipului unui sistem de monitorizare a parametrilor de calitate a apei [32] .................................................................................................................................................... 31 Figura 16. Vedere generala a aplicației – diagrama de pachete ........................................................ 31 Figura 17. Diagrama flux de date in modulul de simulare si stocare valori ale parametrilor de calitate a apei ..................................................................................................................................... 32 Figura 18. Diagrama de clase implicate in generarea valorilor simulate pentru parametrii de calitate a apei .................................................................................................................................................. 33 Figura 19. Diagrama de clase implicate in despachetarea si stocarea datelor de calitate a apei ....... 33 Figura 20. Diagrama de secventa prezentand realizarea cazului de utilizare de generare a seriilor de timp pentru parametrii de calitate a apei ........................................................................................... 34 Figura 21.Diagramă de secvenţă prezentând realizarea cazului de utilizare de preluare şi stocare a seriilor de timp pentru parametrii de calitate a apei. ......................................................................... 37 Figura 22. Diagrama de pachete a sistemului de generare și preluare date ....................................... 37 Figura 23. Structura pe niveluri logice a aplicatiei web .................................................................... 40 Figura 24. Aplicatii distribuite multi-nivel. Preluare din [33] .......................................................... 41 Figura 25. Diagrama de secvenţă vizualizare valori recente parametri de calitate a apei ................. 43 Figura 26. Diagrama de secvenţă pentru vizualizarea istoricului pentru parametrii de calitate a apei disponibili intr-un loc selectat de pe cursul râului ............................................................................ 44 Figura 27. Diagrama de secvență pentru simularea propagării poluării in cazul depașirii concentrației maxime admise pentru un constituent chimic ............................................................. 45 Figura 28 Arhitectura orientapa pe subsiseme a platformei CyberWater ......................................... 51 9. Figura 29 Capabilitățile funcționale ale platformei ArcGIS (http://www.aeroterra.com/eng/p-esri.htm) ............................................................................................................................................. 54 Figura 30. Componentele și capabilitățile ArgGIS. Vedere integratoare pentru proiectul CyberWater. ...................................................................................................................................... 55 Figura 31. Somes – Web map. ArcGIS Online. ................................................................................ 56 Figura 32. Somes- Web-Application. ArcGIS Online ...................................................................... 57 Figura 33 Harta Somes – ArcMAP ................................................................................................... 57

Page 4: Arhitectura orientat ă pe sub-sisteme pentru platforma ... · Vedere generala a aplica ției – diagrama de pachete ..... 31 Figura 17. Diagrama flux de date in modulul de simulare

4

Lista tabelelor Tabel 11 Ecuațiile regresive utilizate la calcularea parametrilor modelului pentru râul Someșul Mic. [27] .................................................................................................................................................... 27 Tabel 2. Formatul binar utilizat pentru date de calitatea apei privind conductanta electrica ............ 39

Page 5: Arhitectura orientat ă pe sub-sisteme pentru platforma ... · Vedere generala a aplica ției – diagrama de pachete ..... 31 Figura 17. Diagrama flux de date in modulul de simulare

1. Arhitectu ra Platformei CyberwaterIn Figura 1 este prezentată arhitectura platformei CyberWater orientatnivelul de date, nivelul de colectare de dateprelucrare de date, având și douprocesare si interfa ța de acces. anume rețea de senzori, furnizori de datede colectare de date si stocare datele sunt colectate agregare, modelarea popagării, metode de predicde aplicații oferă servicii de interogare spavalidare de date sau preferințe specifice oferind analiză de date, alerte în timp real, vizualizare, acces mobil prezenta in detaliu fiecare nivel al arhitecturii.

Figura 1 Arhitectura platformei CyberWater orientat

ra Platformei Cyberwateră arhitectura platformei CyberWater orientată pe servicii, pe trei nivele:

nivelul de colectare de date, stocare, acces și administrareși două interfețe, interfata de monitorizare, analiz

La nivelul de date avem mai multe tipuri de surse de date ea de senzori, furnizori de date (ex. ANAR, ApaNova), evenimente externe.La

datele sunt colectate și stocare eficient oferindumetode de predicție si configurare a platformei. Ultimul nivel cel

i de interogare spațială și temporală, vizualizare particularizatțe specifice oferind funcționalități cum ar fi: suportul deciziei,

de date, alerte în timp real, vizualizare, acces mobil și suport online. Iprezenta in detaliu fiecare nivel al arhitecturii.

Arhitectura platformei CyberWater orientat ă pe servicii

5

ra Platformei Cyberwater ă pe servicii, pe trei nivele:

i administrare și nivelul de analiză si reguli de

La nivelul de date avem mai multe tipuri de surse de date și va), evenimente externe.Lanivelul

i stocare eficient oferindu-se servicii de ie si configurare a platformei. Ultimul nivel cel

, vizualizare particularizată a datelor, : suportul deciziei, In continuare vom

Page 6: Arhitectura orientat ă pe sub-sisteme pentru platforma ... · Vedere generala a aplica ției – diagrama de pachete ..... 31 Figura 17. Diagrama flux de date in modulul de simulare

6

2. Nivelul Monitorizare

2.1 Monitorizarea calităţii apei

Conform specificaţiilor Directivei Cadru 2000/60/EC [1], fiecare stat membru trebuie să realizeze monitorizarea de supravegere a resurselor de apă, pentru evaluarea riscurilor existente sau emergente, sub aspect operaţional, pentru acele corpuri de apă care prezintă riscul de a nu întruni cerinţele de calitate şi de investigaţie, când se doreşte aflarea cauzelor care au dus la neîndeplinirea acestor cerinţe. Pentru că implementarea acestora să fie eficientă, e nevoie de dezvoltarea de programele de monitorizare a calităţii mediului în general şi a apelor în special, care să fie viabile pe termen lung şi să ofere informaţiile necesare pentru contracararea sau reducerea efectelor poluării şi a schimbării climatice asupra sistemelor ecologice. În mod tradiţional, monitorizarea calităţii apei sub aspect chimic şi fizic se face prin recoltarea probelor şi analizarea lor în laborator, dar această abordare pune probleme de rezoluţie temporală şi spaţială. În contextul implementării de către România a cerinţelor Directivei Cadru în Domeniul Apei, a Comisiei Europene, 2000/60/EC, care cere obţinerea calităţii tuturor apelor de nivel cel puţin „bun” până în 2015 [1], este necesar că monitorizarea să fie făcută constant, la intervale de timp care să permită o evaluare realistă a situaţiei din teren şi pe întreg arealul hidrografic aparţinând unui stat membru. În acest context european, dar şi cu necesitatea tot mai pregnantă de avertizare în cazul unor dezastre naturale (inundaţii, secete) sau induse de activitatea umană (poluări accidentale sau sistematice) de natură hidrologică, orientarea actuală este către monitorizarea calităţii apei în mod automatizat, continuu şi în timp real, folosind reţele de senzori specializaţi plasaţi în-situ. În prezent, în România montorizarea apelor se face printr-o abordare combinată, atât prin prelevarea de probe şi analizarea lor în laboratoare, cu ponderea cea mai mare, cât şi prin folosirea staţiilor automate, dotate cu senzori specifici şi sisteme de comunicaţie. Această din urmă este în proces de dezvoltare accelerată, existând un număr mic de sisteme informatice realizate, printre care cele din cadrul proiectelor Simin, WATMAN, DESWAT [4]. Plecând de la instalarea staţiilor automate dotate cu senzori de măsurare, DESWAT îşi propune contracararea efectelor inundaţiilor prin colectarea datelor de nivel al apei prin comunicaţii radio şi GSM, prelucrarea lor semi-automată, precum şi identificarea riscului de inundaţii şi avertizarea în caz de pericol [ApeRD].Avantajele abordării de monitorizare a calităţii apei in-situ şi în timp real sunt frecvenţa mult mai mare de obţinere a măsurătorilor parametrilor urmăriţi şi acoperirea unui areal mai mare în monitorizare, la un cost relativ scăzut. Există în schimb şi adversităţi, care ţin de robusteţea sistemului în medii ostile, ancrasarea senzorilor şi obţinerea cu acurateţe a valorilor parametrilor urmăriţi [2], dar şi de limitările tehnologice în dezvoltarea senzorilor, ce permit un număr relativ mic de parametri de calitate a apei să fie urmăriţi în acest mod, faţă de abordarea clasică de prelevare de probe şi analizarea lor în laborator. Monitorizarea periodică şi continuă a calităţii apei prin măsurarea parametrilor ce o caracterizează permit ajustarea politicilor de mediu pe termen mediu şi lung, tratarea apei în cazul necorespunderii pentru folosirea într-un anumit scop, luarea urgenţă de măsuri în cazul unui eveniment care ar afecta ecosistemul din rău, în cazul monitorizării continue. Datele disponibile că serii în timp permit o mai bună înţelegere a proceselor fizico-chimice şi biologice ce se desfăşoară într-un anumit curs hidrologic, precum şi o temporalizare în privinţa ciclurilor circadiene şi sezoniere. Măsurarea continuă a anumitor parametri poate fi folosită şi că surogat pentru determinarea concentraţiei altor parametri, care din anumite motive nu pot fi măsuraţi, pentru a întregi tabloul calităţii apei în locul respectiv. Vom detalia acest aspect într-o secţiune ulterioară.

Page 7: Arhitectura orientat ă pe sub-sisteme pentru platforma ... · Vedere generala a aplica ției – diagrama de pachete ..... 31 Figura 17. Diagrama flux de date in modulul de simulare

7

2.1.1 Parametri de calitate a apei

Setul „standard”, cel mai des întâlnit, al parametrilor de calitate a apei monitorizaţi e format din temperatura, pH-ul, conductivitatea specifică, oxigenul dizolvat, turbiditatea şi nivelul apei, importantă lor fiind documentată în estimarea tabloului general de calitate a apei[5], iar în cazul senzorilor amplasaţi în-situ, acest subset este în general cel disponibil, neexistând metode tehnologice decât pentru un număr limitat de parametri ce pot fi măsuraţi astfel. PH-ul unei soluţii apoase se referă la concentraţia de ioni de hidrogen şi se măsoară în unităţi standard pH, pe o scară logaritmică de la 0 la 14. La valori ale pH-ului peste 7, există mai puţini ioni de hidrogen şi se vorbeşte de o soluţie alcalină, la valori sub 7, există o mai mare concentraţie de ioni de hidrogen în comparaţie cu cei hidroxil OH̄, iar soluţia este acidă. Valoarea 7 a pH-ului este cea neutră şi indică o apă pură. Scară fiind logaritmică, o modificare cu o unitate standard arată o creştere sau scădere de 10 ori a concentraţiei de ioni de hidrogen. În general, pH-ul din râuri este destul stabil, având valori măsurate în intervalul 4-8 , media pe cursul unui rău fiind puternic influenţată de factorii geologici ai albiei: roci şi minerale prezente; în zonele unde carbonatul de calciu este foarte răspândit, apele tind să fie alcaline, cu un pH între 7 şi 9, pe când în cele în care rocile dure, de exemplu granitul, reprezintă majoritatea, pH-ul este, de obicei, uşor sub 7, aşadar, sunt slab acide - neutre. Schimbările de pH al apei sunt influenţate de concentraţia de dioxid de carbon din atmosfera (combinându-se cu apă din râuri, determina o anumită acidifiere) sau de evenimente ce apar pe cursul râurilor, incluzând poluări şi fenomene naturale -ploi, topirea zăpezilor-, dar de intensitate mărită. Acest indicator de calitate a apei are o mare importantă, mai ales pentru că afectează şi concentraţia altor elemente în apă: la pH redus creşte mobilizarea şi biodisponibilitatea metalelor în apă, ceea ce afectează plantele şi animalele acvatice. Foarte puţine vietăţi pot supravieţui la un pH sub 4, iar multe au de suferit la o valoare sub 5,7. De asemenea, o valoare a pH-ului peste 9 dăunează ecosistemelor acvatice. În general, dacă pH-ul apei din râuri scade sub 6,5 sau creşte peste 8,5, ecosistemele sunt puse în pericol, deoarece cu cât valoarea se îndepărtează de neutralitate (pH 7), cu atât se pune problema supravieţuirii speciilor ce populează râurile. Turbiditatea indică gradul de tulburare a apei, fiind în strânsă corelaţie cu solidele suspendate, un alt parametru de calitate a apei des folosit în monitorizarea apelor. Cu cât există mai multe particule suspendate în apă, cu atât mai puţină lumina poate străbate prin ea, acesta fiind şi principiul de măsurare al tuturor instrumentelor pentru măsurarea turbidităţii apei. Unitatea de măsură folosită pentru turbiditate e NTU (Nephelometric Turbidity Units), echivalentă cu FTU (Formazin Turbidity Unit) sau FNU (Formazin Nephelometric Units, în standarde ISO).Gradul de turbiditate a apei este determinat de mai mulţi factori, printre care eroziunea solului, proliferarea algelor şi ridicarea sedimentelor de pe albia răului sunt cel mai frecvent responsabili de creşterea turbidităţii. Efectele negative ale creşterii turbidităţii pe perioade mai lungi pe cursul unui rău se referă în special la afectarea fotosintezei care are loc în apă, prin blocarea unei părţi din lumina care, în mod normal, ajungea la plante; afectarea biologică a peştilor şi mai ales a icrelor, afectarea anumitor activităţi umane – apă respectivă ar putea deveni improprie unui anumit scop, de exemplu pentru îmbăiere. Valorile uzuale în apă râurilor sunt între 1 - 1000 NTU şi pot creşte pe perioade scurte în cazul ploilor abundente sau pe termen mai lung, din cauza pătrunderii materiillor organice sau sedimentelor în suspensie în cantatitati mari. Conductivitatea specifică : conductivitatea e o mărime ce exprimă măsura trecerii curentului electric printr-o soluţie, fiind reciproca rezistenţei electrice. Unitatea de măsură S.I. este Siemens/metru, în practică hidrologică se foloseşte uzual subdiviziunea microSiemens/centimetru sau chiar mhO (invers al Ohm, pentru rezistenţă). Conductivitatea creşte aproape liniar cu creşterea numărului de ioni dintr-o soluţie, deci e o mărime de interes

Page 8: Arhitectura orientat ă pe sub-sisteme pentru platforma ... · Vedere generala a aplica ției – diagrama de pachete ..... 31 Figura 17. Diagrama flux de date in modulul de simulare

8

pentru a se estima alţi parametri (chimici) ai calităţii apei. Scăderea valorilor în timpul monitorizării în apă râurilor poate indică o contaminare cu compuşi benzenici, o creştere poate indică poluare cu compuşi industriali. Că domeniu uzual, valorile se încadrează între 0µS/cm (apă distilată) şi cca. 5000 µS/cm (apă de mare), trecând prin valori comune că 100-110 µS/cm pentru apă de la robinet sau 10-700 µS/cm pentru apă râurilor, mai mari spre zonele de coasta. Măsurarea valorilor conductivităţii depinde de temperatura apei, astfel că majoritatea senzorilor disponibili compensează, raportând o valoare corespunzătoare a conductivităţii la 25° C, adică conductivitatea specifică. Parametri de calitate a ape iSetul „standard”, cel mai des întâlnit, al parametrilor de calitate a apei monitorizaţi e format din temperatura, pH-ul, conductivitatea specifică, oxigenul dizolvat, turbiditatea şi nivelul apei, importantalor fiind documentată în estimarea tabloului general de calitate a apei[5], iar în cazul senzorilor amplasati în-situ, acest subset este în general cel disponibil, neexistând metode tehnologice decat pentru un număr limitat de parametri ce pot fi măsuraţi astfel. PH-ul unei soluţii apoase se referă la concentraţia de ioni de hidrogen şi se măsoară în unitati standard pH, pe o scară logaritmică de la 0 la 14. La valori ale pH-ului peste 7, există mai puţini ioni de hidrogen şi se vorbeşte de o soluţie alcalină, la valori sub 7, există o mai mare concentraţie de ioni de hidrogen în comparaţie cu cei hidroxil OH̄, iar soluţia este acidă. Valoarea 7 a pH-ului este cea neutră și indică o apă pură. Scară fiind logaritmică, o modificare cu o unitate standard arată o creştere sauscadere de 10 ori a concentraţiei de ioni de hidrogen.În general, pH-ul din râuri este destul stabil, având valori măsurate în intervalul 4-8 , media pecursul unui rău fiind puternic influenţată de factorii geologici ai albiei: roci şi minerale prezente; inzonele unde carbonatul de calciu este foarte răspândit, apele tind să fie alcaline, cu un pH între 7 şi 9,pe când în cele în care rocile dure, de exemplu granitul, reprezintă majoritatea, pH-ul este, de obicei,uşor sub 7, aşadar, sunt slab acide - neutre. Schimbările de pH al apei sunt influenţate de concentratiade dioxid de carbon din atmosfera (combinându-se cu apă din râuri, determina o anumită acidifiere) saude evenimente ce apar pe cursul râurilor, incluzând poluări şi fenomene naturale ploi, topirea zapezilor, dar de intensitate mărită. Acest indicator de calitate a apei are o mare importantă, mai alespentru că afectează şi concentraţia altor elemente în apă: la pH redus creşte mobilizarea sibiodisponibilitatea metalelor în apă, ceea ce afectează plantele şi animalele acvatice. Foarte putine vietati pot supravieţui la un pH sub 4, iar multe au de suferit la o valoare sub 5,7. De asemenea, o valoare a pH-ului peste 9 dăunează ecosistemelor acvatice. În general, dacă pH-ul apei din râuri scadesub 6,5 sau creşte peste 8,5, ecosistemele sunt puse în pericol, deoarece cu cât valoarea se indeparteazade neutralitate (pH 7), cu atât se pune problema supravieţuirii speciilor ce populează râurile. Turbiditatea indică gradul de tulburare a apei, fiind în strânsă corelaţie cu solidele suspendate,un alt parametru de calitate a apei des folosit în monitorizarea apelor. Cu cât există mai multe particule suspendate în apă, cu atât mai puţină lumina poate străbate prin ea, acesta fiind şi principiul de masurare al tuturor instrumentelor pentru măsurarea turbidităţii apei. Unitatea de măsură folosită pentruturbiditate e NTU (Nephelometric Turbidity Units), echivalentă cu FTU (Formazin Turbidity Unit) sauFNU (Formazin Nephelometric Units, în standarde ISO).Gradul de turbiditate a apei este determinat de mai mulţi factori, printre care eroziunea solului,proliferarea algelor şi ridicarea sedimentelor de pe albia răului sunt cel mai frecvent responsabili decresterea turbidităţii. Efectele negative ale creşterii turbidităţii pe perioade mai lungi pe cursul unui rause referă în special la afectarea fotosintezei care are loc în apă, prin blocarea unei părţi din lumina care,în mod normal, ajungea la plante; afectarea biologică a peştilor şi mai ales a icrelor, afectarea anumitoractivitati umane – apă respectivă ar putea deveni improprie unui anumit scop, de exemplu pentruimbaiere.Valorile uzuale în apă râurilor sunt între 1 - 1000 NTU şi pot creşte pe perioade scurte în cazul ploilor abundente sau pe termen mai lung, din cauza pătrunderii materiillor organice sau sedimentelor în suspensie în cantatitati mari.

Page 9: Arhitectura orientat ă pe sub-sisteme pentru platforma ... · Vedere generala a aplica ției – diagrama de pachete ..... 31 Figura 17. Diagrama flux de date in modulul de simulare

9

2.1.2 Senzori pentru măsurarea valorilor de calitate a apei

Senzorii sunt dispozitive folosite pentru a urmări diverşi parametri ai unui sistem, emitând un semnal corespunzător , proporţional cu mărimea parametrului respectiv. După principiul de funcţionare, pot fi electrochimici, optici, biosenzori sau alte tipuri(acustici, piezoelectrici, bazaţi pe radiaţia ionizantă). Senzorii electrochimici au că mărime de intrare o mărime chimică, iar ca ieşire o mărime de natură electrică, aceasta poate fi un potenţial (senzori potenţiometrici), un curent (senzori amperometrici) sau conductanţa, respectiv impedanta sau rezistenţa electrică (senzori conductometrici). Senzorii optici au la bază un fenomen optic, folosind celule fotoelectrice, semiconductori fotosensibili etc. În monitorizarea calităţii apei, senzorii optici se folosesc pentru determinarea turbidităţii, a culorii, a particulelor solide dizolvate, compuşilor azotului.

Principii de functionare

• Electrochimic – se foloseşte mai ales în măsurarea nivelului de oxigen dizolvat din apă, folosindu-se reducerea prin oxidare la ioni hidroxid OH‾ pe catod.• Electrozi sensibili (selectivi) la ioni – se bazează pe principiul de măsurare potenţiometrică, electrozii având o membrană care lasă să treacă indicatorul de măsurat, de obicei amoniu sau nitrat [6] • Electrozi sensibili la gaz – metoda se foloseşte pentru măsurarea amoniului, prin transformarea ionilor în gaz; nu se foloseşte in-situ, deci aceşti senzori necesită prelevarea unor probe prin pompare.  • Dispersia şi absorbţia luminii – senzorii optici care folosesc aceste tehnici sunt destinaţi măsurării turbidităţii apei şi a solidelor suspendate. Dispersia luminii apare când solidele suspendate în lichid reflectă lumina (se măsoară intensitatea luminii la 90°, înapoi către sursă sau la suprafaţă); absorbţia luminii foloseşte unde infraroşii pentru a se măsura cantitatea absorbită de particulele suspendate, inversul acestei metode fiind transmisia luminii.Metodele optice au avantajele de a nu necesită reactanti şi de a fi ieftine în comparaţie cu celelalte, dar se pretează la măsurarea unui număr redus de indicatori.

• Colorimetria – se bazează pe reacţii chimice între indicatorul de măsurat şi reactanti care se adaugă la o proba pompată şi filtrată,rezultând apoi un compus colorat. Concentraţia acestuia se măsoară folosind o celulă optică, prin absorbţia luminii, şi e pusă în corelaţie cu concentraţia indicatorului de măsurat[6]

• Ultrasunete – Există senzori ultrasonici pentru măsurarea solidelor suspendate(SS), prin compararea modificării vitezei undei ultrasonice la trecerea printr-o proba cu SS, faţă de trecerea printr-una de referinţă, fără SS.

• Luminiscentă – este o metodă mai nouă de a măsură oxigenul dizolvat, se bazează pe efectul de stingere a luminiscentei.Pelangafolosireain-situ asenzorilorpentru monitorizareacalitățiiapelor,pentru apelede suprafata se foloseste si metoda de monitorizare la distanta, cu ajutorul imaginilor captate de sateliti si al aparatelor aeropurtate, prin interpretarea cantitatii de radiatie emise de corpurile de apa observate. Se pot astfel obtine date despre parametri ai apei ca turbiditatea,salinitatea, temperatura, continutul de solide, in speta de clorofila sau fitoplancton [2].

Page 10: Arhitectura orientat ă pe sub-sisteme pentru platforma ... · Vedere generala a aplica ției – diagrama de pachete ..... 31 Figura 17. Diagrama flux de date in modulul de simulare

10

2.1.3 Reţele de senzori fără fir (WSN: Wireless Sensor Networks)

În ultima decadă a apărut conceptul de reţele de senzori wireless, principalul avantaj fiind uşurinţă şi costul scăzut, dat de lipsa necesităţii cablării, ale iniţierii unei astfel de reţele. O reţea de senzori fără fir este o colecţie de noduri organizate într-o reţea cooperantă, fiecare nod având putere de procesare, memorie, capabilităţi de comunicare, o sursă de energie (baterie şi/sau dispozitiv de captare a energiei externe, de ex. celulă fotovoltaică) şi unul sau mai mulţi senzori, uneori şi actuatori. Reţelele WSN pot acoperi arii fizice de la câteva zeci de metri pătraţi până la sute de kilometri pătraţi, având noduri de la câteva până la ordinul sutelor-miilor, cu perspective de zeci de mii. Scopul dezvoltării lor este de a achiziţiona date despre mediul înconjurător, de exemplu măsurători de temperatura, umiditate, presiune, iluminare etc. şi de a le transmite prin intermediul semnalelor radio la porţi de acces (gateways), de unde se pot centraliza, procesa, analiză şi/sau publică pe Internet. Deoarece scenariul tipic de utilizare a WSN implică o distribuţie spaţială a nodurilor, de multe ori în zone cu acces problematic – lacuri, munţi,locaţii industriale etc., se definesc prin cerinţe de operare şi configurare autonome, cu consum minim de energie şi durata de operare maximă, precum şi o rezistenţă crescută la condiţii de mediu dificile. Limitările de dimensiuni şi cost duc la limitări de construcţie - energia consumată, putere de calcul, memorie şi lăţime de bandă limitate; acestea împreună cu caracteristici definitorii că locaţia, operarea în timp real, predispoziţia la defectare a nodurilor şi, în consecinţă, reorganizarea topologică frecvenţa, precum şi chestiuni de congestie, coliziuni sau suprapunere a datelor achiziţionate de către noduri vecine duc la necesitatea găsirii unor soluţii noi, cele deja existente în domeniul sistemelor distribuite nefiind întotdeauna aplicabile [7]. Corelat cu aplicabilitatea practic nelimitată a WSN, în domenii dintre cele mai diverse: militar, agricultură, monitorizarea mediului, securitatea perimetrelor, aplicaţii casnice, îngrijire medicală şi nu în ultimul rând, procesarea industrială, aceste aspecte induc o efervescenţă în cercetarea actuală în domeniul WSN, în telecomunicaţii şi IT. 2.1.4 Folosirea surogatelor în monitorizarea calității apei Din cauză că senzorii pentru determinarea unor parametri de calitate a apei, care pot fi montaţi pe cursul răului pentru măsurări automate au un număr relativ restrâns de parametri pe care îi pot măsura (cel mai frecvent: temperatura, pH, turbiditatea, conductanţa specifică, oxigenul dizolvat), există o preocupare în hidrologie pentru determinarea unei relaţii estimative între aceşti parametri fizico-chimici, ce pot fi determinaţi direct, şi restul parametrilor de calitate care prezintă interes, ca de exemplu: compuşi şi azotului, ai fosforului, solidele în suspensie, cloruri, sulfati etc. Utilizarea acestor relaţii parametrice cu surogate pot scădea costul monitorizării calităţii apelor, prin reducerea numărului şi tipului de senzori necesari. Deasemenea, se pot estima fluctuaţiile în constituentii transportaţi de un curs de apă în timp real, pe baza măsurătorilor efectuate în multiple locaţii, la momente frecvente , ceea ce oferă o mult mai bună caracterizare a calităţii apei decât prin metodă tradiţională, a analizării probelor în laborator, recoltate la intervale mari de timp. Se observă că relaţiile matematice variază că şi complexitate, unele fiind doar liniare şi folosesc doar un parametru surogat, altele logaritmice, sau cu mai mulţi parametri daţi de mărimile surogate folosite, pentru unele relaţii se exprimă chiar sezonalitatea variaţiei prin folosirea sinusoidelor [8]. Unii parametri de calitate a apei nu pot fi măsuraţi în mod automat, neexistând senzori pentru această, de exemplu compuşi ai fosorului şi sedimentul, de aceea găsirea unei relaţii ce foloseşte parametrii măsurabili cu frecvenţa mare în timp ca surogate pentru determinarea acestora e necesară [8]. USGS (United States Geological Survey) a întreprins în ultimii ani studii pentru determinarea acestor relaţii folosind surogate, utilizând analiză regresivă pentru date culese pe

Page 11: Arhitectura orientat ă pe sub-sisteme pentru platforma ... · Vedere generala a aplica ției – diagrama de pachete ..... 31 Figura 17. Diagrama flux de date in modulul de simulare

11

intervale mari de timp [9],[10],[11]. În raportul [9] s-au determinat ecuaţiile regresive pentru estimarea solidelor, sodiului, clorului şi a bacteriilor fecale coliforme în funcţie de surogatele: pH, conductanta specifică, temperatura apei, turbiditate şi oxigenul dizolvat şi apoi aceste ecuaţii s-au utilizat la dezvoltarea unor serii continue de date care să corespundă în timp măsurătorilor efective făcute pentru parametrii surogati. Notând cu Q (picioare cubice, în unităţi imperiale; factor de conversie la metri cubi: 0.02832) debitul răului analizat, SC conductanta specifică ( microSiemens per centimetru la 25 °C), NTU turbiditatea (în unităţi nefelometrice de turbiditate), T temperatura apei (°C), Na sodiul (miligrame per litru), Cl clorurile (miligrame per litru), F fluorul (miligrame per litru), NO3 nitrat, SSC concentraţia de sedimente suspendate (miligrame per litru), ŢN azotul total (mg/L) s-au obţinut ecuaţiile regresive: Cl = 0.319SC +0.113Q-172 (2.1) Na = 0.203SC + 0.0938Q - 117 (2.2) log10F =-0.000255Q + 0.162log10SC - 0.892 (2.3) Log10NO3 = –0.000442SC+2.60log10 SC-0.000998WT2-7.37 (2.4) Log10SSC = 0.926log10NTU + 0.438 (2.5) Aceste ecuații de regresie sunt specifice unui anumit loc, așadar determinarea lor trebuie făcută pentru fiecarerâu monitorizatîn parte[10]. Pelîngăparametriisurogați,estefolosit în relațiile matematice și debitul râului în locul respectiv. În [8] se prezintă ecuaţii regresive folosind surogate pentru determinarea parametrilor de interes, în general similare că dependenţe cu cele menţionate anterior: Cl = 1.74 log SC – 3.14 (2.6) SSC = 3.29NTU-6.54 (2.7) TN = 0.00317NTU + 0.0234T - 0.0000655SC + 0.469 (2.8) Chiar la erori relativ mari în estimarea concentraţiilor parametrilor de calitate a apei, beneficiile folosirii ecuaţiilor regresive cu surogate sunt mari faţă de determinarea periodică în laborator: pentru managerii din staţiile de tratare a apei e utilă estimarea rapidă, care oferă o ajustare la timp a startegiilor de tratare, în cazul schimbărilor de mediu care ar putea afecta ecosistemul, estimarea acelor parametri care sunt cunoscuţi că nocivi în afară unor limite poate preveni instalarea unor consecinţe nedorite prin intervenţia la timp, iar estimarea numărului coloniilor de bacterii poate ajută autorităţile în recomandările privind îmbăierea în sezonul cald [10].

Page 12: Arhitectura orientat ă pe sub-sisteme pentru platforma ... · Vedere generala a aplica ției – diagrama de pachete ..... 31 Figura 17. Diagrama flux de date in modulul de simulare

12

2.2 Situația actuală în managementul calității apei

Deşi existau şi până în ultima decadă senzori ce puteau fi folosiţi în monitorizarea mediului, doar în ultimii ani s-au dezvoltat sisteme şi infrastructuri tehnice care să depăşească limitările folosirii acestora că un mijloc important de monitorizare. Aceste limitări se refereau în special la deplasările frecvente care trebuiau făcute la locul instalării, pentru întreţinere sau colectarea regulată a datelor (în cazul în care acestea erau salvate în memoria dataloggerului), la efortul mare necesar pentru integrarea acestor surse disparate de date, sau la costul folosirii unor sisteme telemetrice dedicate [14].Avansul tehnologic înregistrat în ultimii ani atât în domeniul tehnologiei de măsurare prin folosirea sensorilor în-situ, a sistemelor sofisticate de achiziţie de date, cât şi în domeniul calculatoarelor, a nanotehnlogiei şi comunicaţiilor face posibilă crearea unei infrastructuri care să ofere o imagine de ansamblu şi în timp real asupra proceselor interne dintr-un sistem ecologic, promiţând deschiderea de perspective noi în ştiinţele ecologice [15]. De la monitorizarea migraţiei animalelor sălbatice, la studiul impactului pe care îl au furtunile asupra ecosistemelor din lacurile aflate în zone izolate, la studiul producerii şi răspândirii incendiilor sau monitorizarea erupţiei vulcanilor, sistemele cu senzori plasaţi pe teren înlocuiesc şi îmbunătăţesc observaţiile făcute de oameni, oferind o acoperire superioară în timp şi spaţiu a proceselor de interes. Se obţine astfel şi o corelare mai bună a teoriilor existente şi modelelor folosite în ştiinţele ecologice şi biologice cu datele disponibile pentru verificarea lor, precum şi posibilitatea de a se face comparaţie între acestea folosind acceaşi scală temporală sau spaţială [15]. Un aspect important în realizarea unui sistem de monitorizare a apei bazat pe senzori, de mari dimensiuni şi cu durata de viaţă îndelungată (peste un an) îl reprezintă posibilitatea de a se integra un sistem informatic pentru avertizare în caz de contaminare, precum şi de prognoza a impactului asupra ecosistemului şi a uzului uman a apei respective. Progresele făcute în domeniul modelării şi prognozei, în special în SUA şi Europa, au permis realizarea de sisteme de avertizare complexe şi acurate în predicţii, care permit luarea rapidă de acţiuni reparatorii sau de evitare a unui impact major de către autorităţile competenţe [16], în caz de inundaţii, secete, poluări masive sau dezechilibrări naturale cu consecinţe nefaste asupra ecosistemelor. Ultima decadă a adus o preocupare de major interes şi în ceea ce priveşte partajarea datelor obţinute prin folosirea unui sistem de observaţii bazat pe senzori, creându-se frameworkuri de standarde geospatiale internaţionale folosite de profesioniştii din domeniile cele mai diverse ce implică georeferentierea datelor: suită de standarde Open Geospatial Consortium (OGC) pentru folosirea şi obţinerea datelor de la senzori pe web „Sensor Web Enablement” (SWE), de exemplu, permit interoperabilitatea diverselor tehnologii de geo-procesare, adăugând plus-valoare unui anumit set de date prin reutilizarea sa. Se creează astfel o legătură utilă şi standardizată între infrastructură complexă a reţelelor de senzori şi utilizatorul final al datelor, prin servicii web ce pot fi uşor integrate în aplicaţii web care să folosească aceste date [14]. În continuare vom prezenţa pe scurt trei exemple de proiecte realizate recent, care şi-au propus monitorizarea calităţii apei din râuri prin folosirea unei reţele de senzori, transmiterea datelor şi folosirea lor în aplicaţii web, fiecare cu accent pe un anumit aspect: primul, dezvoltat în Irlanda, în cadrul unui program mai amplu de dezvoltare a monitorizării şi managementului calităţii apelor în cadrul european al WFD, a fost centrat pe demonstraţia capabilităţilor tehnologice ale echipamentelor folosite în achiziţia datelor, dar şi pe studiul problemelor practice ce apar în utilizarea îndelungată a unei astfel de infrastructuri. Al doilea, dezvoltat în UŞA, de către Universitatea din Utah, şi-a propus stabilirea statistică a unor relaţii matematice de folosire a mărimilor surogate pentru determinarea valorilor estimate a altor indicatori chimici de calitate a apei, a căror măsurare nu se poate face direct (nu există tehnologia pentru realizarea senzorilor

Page 13: Arhitectura orientat ă pe sub-sisteme pentru platforma ... · Vedere generala a aplica ției – diagrama de pachete ..... 31 Figura 17. Diagrama flux de date in modulul de simulare

13

respectivi etc.). Al treilea, dezvoltat în Marea Britanie, şi-a propus evaluarea utilităţii şi viabilităţii frameworkului de standarde OGC SWE în domeniul monitorizării calităţii apelor.

2.2.1 Proiectul DEPLOY

Deploy [13] este un proiect de demonstraţie tehnologică, iniţiat în 2009, propunându-şi să arate cum tehnologia de ultima ora poate reduce costurile şi oferi informaţii continue şi în timp real în monitorizarea unui bazin hidrografic, în contextul nevoii crescute de informaţii privind calitatea apei, solicitat de alinierea statelor membre EU la cerinţele Directivei Cadru a Apei. Scopul sau era să pună bazele pentru realizarea unei reţele de mari dimensiuni de sensori fără fir, capabile să monitorizeze variabilitatea în timp şi spaţiu a parametrilor importanţi în evaluarea calităţii apei. Râul ales pentru monitorizare a fost Lee, ce curge prin Cork, Irlanda, iar staţiile de monitorizare au fost instalate în 5 locuri şi dotate cu senzori multipli, pentru parametri diferiţi. Aceşti senzori au fost integraţi într-o reţea de comunicaţii distribuită pentru procesarea şi transmiterea datelor pe web, pentru accesibilitate sporită şi rapidă. Platforma hardware are o natură eterogenă, folosind tehnologii de la mai mulţi producători parteneri: sistemele Tyndall cu interfeţe pentru senzori reconfigurabile bazate pe PSoC (Programmable System on a Chip), sistemul prototipizat pentru WSN Tyndall şi sistemul de achiziţie de date IDS Monitoring DataPOD IDS. PSoC este responsabil de controlarea recoltării probelor pentru măsurarea parametrilor de calitate a apei şi transmiterea datelor către dataloggerul DataPOD IDS, prin benzi radio ISM de 433 MHz. De la DataPOD datele se transmit la un hub Tyndall, care le formatează într-un mesaj şi le adaugă date de identificare temporală , apoi se transmit prin GPRS la serverele de date. Sensorii folosiţi încorporează tehnologia TEDS (transducer electronic dată sheet), care permite instalarea sau înlocuirea facilă şi rapidă a senzorilor, prin abilitatea acestora de a se autospecifica şi identifica către unitatea de control din sistemul de comunicaţie. Implementarea TEDS folosită în acest caz e bazată pe standardul IEEE 1451 şi permite sistemului să configurareze dinamic interfaţă unui senzor, obţinându-se astfel interoperabilitate între senzori, agregarea acestora, toleranţă la defecte, modularitate şi compatibilitate, precum şi calibrarea acestora dinamică. În ce priveşte maximizarea duratei de viaţă a sistemului prin consumul cât mai redus de energie, la nivelul PSoC, Deploy a folosit strategii de minimizare a acestuia pentru fiecare interfaţă de senzor. În aceeaşi notă, la nivelul reţelei de senzori fără fir s-au utilizat protocoale proprietare de comunicare în reţea pe benzi radio ISM 433 MHz, care să asigure consumul scăzut de energie dorit. Serverele de date şi aplicaţia web folosite de proiectul Deploy aparţin sistemului DataLINK de la IDS Monitoring. Datele utilizate sosesc printr-un protocol FTP pe un server Deploy, de la nodurile de acces GPRS dinspre reţeaua de senzori, de acolo fiind preluate spre procesare de către aplicaţia care monitorizează sosirea noilor date, le parsează, validează şi salvează în baza de date DataLINK SQL de pe serverul Deploy. Mesajele primite se verifică pentru completitudine şi origine şi valorile se compară cu un domeniu în care ar trebui să se încadreze, dacă nu e cazul, se marchează că posibile erori în măsurare. Odată salvate în baza de date, noile date sosite sunt verificate după criteriile definite de utilizatorii sistemului, de către managerul de alerte DataLINK, care în caz de îndeplinire a condiţiilor de alertare, ia şi măsurile necesare: trimiterea de emailuri sau SMS-uri. Datele din baza de date pot fi vizualizate grafic, exportate, adnotate sau comparate cu altele similare disponibile pe web, de către utilizatori autorizaţi. De la colectare până la a fi gata de utilizare, datele au în mod tipic o întârziere de cca. 30 de secunde.

Page 14: Arhitectura orientat ă pe sub-sisteme pentru platforma ... · Vedere generala a aplica ției – diagrama de pachete ..... 31 Figura 17. Diagrama flux de date in modulul de simulare

14

Deploy are o importantă majoră în descoperirea potenţialului reţelelor de senzori wireless în monitorizarea mediului înconjurător, oferind profesioniştilor din domeniu un cadru cuprinzător pentru analiză şi interpretarea statistică a datelor, achiziţionate cu o mult mai bună rezoluţie spaţială şi temporală, deschizând astfel noi posibilităţi de abordare a problemelor de mediu. Principalele realizări ale proiectului sunt aşadar: • demonstrarea beneficiului colectării şi utilizării datelor la intervale mult mai mici de timp

decât în cazul prelevării de probe. • măsurarea în mai multe puncte, în acelaşi interval de timp, oferă posibilitatea de a compară

valorile, ducând la o mai bună înţelegere a proceselor hidrologice din bazinul analizat. • datele disponibile în timp real permit o reacţie rapidă în cazul unor evenimente nedorite,

ajutând substanţial managerii responsabili la contracararea imediată a efectelor negative şi la conturarea unor politici potrivite pe termen mediu şi lung.

Totodată, proiectul a adus contribuţii şi în ce priveşte studiul utilizării senzorilor în condiţii ce le afectează în timp funcţionarea (acoperirea cu impurităţi biologice şi particule sedimentare), utilizarea optimă a energiei electrice disponibile pentru funcţionarea sistemului, performanţă senzorilor şi folosirea măsurătorilor făcute ca surogate pentru estimarea valorilor altor parametri, pentru care nu există sau nu se dispune de senzori specifici.

2.2.2 Reţeaua de senzori de la Little Bear River

Proiectul dezvoltat pentru monitorizarea râului Little Bear [8] foloseşte o reţea de senzori fără fir pentru a demonstra practic şi specific utilizarea surogatelor în estimarea concentraţiilor de constituenţi chimici în apă. Fiecare nod al reţelei e constituit din senzori de nivel al apei şi de turbiditate, conectaţi la un datalogger, salvarea datelor făcându-se la fiecare 30 de minute în memoria acestuia, comunicarea între senzori şi dataloggere făcându-se prin protocolul SDI-12. Apoi datele sunt trimise în timp (cvasi-) real, printr-o reţea de comunicaţii, folosindu-se unde radio de 900 MHz, până la una din staţiile aflate la câţiva km, şi de acolo la serverul de la Utah Water Research Laboratory, prin Ethernet TCP/IP. Acest transfer de date şi comunicarea cu dataloggerele se face prin Loggernet de la Campbell Scientific, un software ce oferă robusteţe, consum mic de energie, reducerea costurilor de întreţinere a reţelei WSN şi flexibilitate în adăugarea de noi staţii. Serverul LoggerNet se conectează la fiecare ora la staţiile de măsurare, descărcând datele cele mai recente în format text tabular. Din acestea, pe server, datele se transferă automat într-o baza de date proiectată conform modelului CUAHSI HIS Observations Data Model (ODM), printr-un software (Streaming Data Loader, parte a CUAHSI HIS) ce rulează regulat, verificând şi complianţa fişierelor de date la modelul ODM. Asigurarea calităţii se face de către un tehnician, care verifică măsurătorile încărcate în baza de date cu ajutorul unei aplicaţii grafice (ODM Tools, parte a CUAHSI HIS) şi respectând procedurile QA/QC din domeniu, această procesare făcându-se lunar pentru datele noi. Toate datele rezultate se publică pe web, folosindu-se sistemul de publicare CUAHSI HIS [8].

2.2.3 Proiectul SWIMA (Sensor Web Infrastructure Management)

SWIMA [14] e un proiect derulat în Marea Britanie de un grup de institute de cercetare şi entităţi guvernamentale şi comerciale, cu durata de 2 ani şi scopul propus de a investiga cum o abordare bazată pe standarde OGC referitoare la senzori (SWE) poate îmbunătăţi colectarea de date în medii naturale că râurile şi lacurile. Un sistem informatic bazat pe standardele OGC Sensor Web Enablement(SWE) a fost dezvoltat pentru managementul şi controlul senzorilor aflaţi în mediul acvatic, în lacul Upper Tamar şi răul Tamar din North Devon, UK.

Page 15: Arhitectura orientat ă pe sub-sisteme pentru platforma ... · Vedere generala a aplica ției – diagrama de pachete ..... 31 Figura 17. Diagrama flux de date in modulul de simulare

15

Principalele obiective pe care proiectul SWIMA şi le-a propus sunt:investigarea dacă standardele OGC sunt o soluţie viabilă şi eficientă din punct de vedere al costurilor în sistemele de monitorizare a mediului investigarea eventualelor probleme de interoperabilitate între diferitele implementări ale specificaţiilor OGC investigarea problemelor de natură practică ce pot apărea în utilizarea unui sistem real bazat pe SWE Arhitectura generală a SWIMA e prezentată în Figura 2, înfăţişând nivelurile de organizare, de la cel mai de jos, al nodurilor SWE, în care se integrează senzorii propriu-zişi, trecând prin cel middleware şi până la nivelul de prezentare: interfaţă utilizator, oferită clienţilor web, sau maşină-maşină, pentru aplicaţii externe.

Figura 2 Ahitectura generala a SWIMA

Senzorii sunt încapsulaţi într-un nod SWE, ceea ce înseamnă că sunt conectaţi la un computer sau procesor, care poate să fie integrat la nivelul senzorului sau aflat la distanţă. Nodurile sunt conectate la o reţea Internet TCP/IP şi pe ele rulează software ce oferă interfaţarea serviciilor SWE şi transformă protocoalele SWE în sau din mesaje către/ de la senzorii corespunzători. Implementarea folosită pentru nodurile SWE în SWIMA a fost OSCAR, cea oferită de 1Spaţial. Pentru a se putea răspunde la cererea standard în serviciile web OGC „GetCapabilities”, o descriere SensorML a fost necesară pentru fiecare senzor în parte. După crearea nodului SWE şi a descrierii senzorului, serviciile SWE pot fi descoperite şi interogate de utilizatori.Aplicaţia web pentru accesarea datelor provenite de la senzori permite selectarea senzorului sau a parametrului de interes de pe hartă, reprezentarea grafică a valorilor măsurate, descărcarea în fişier text a datelor dipsonibile, înscrierea pentru notificare (prin serviciul OGC Sensor Alert Service), primirea alertelor sau crearea unei cereri pentru îndeplinirea unei sarcini sau observaţii (cerere priOGC Sensor Planning Service).

Page 16: Arhitectura orientat ă pe sub-sisteme pentru platforma ... · Vedere generala a aplica ției – diagrama de pachete ..... 31 Figura 17. Diagrama flux de date in modulul de simulare

16

3. Analiză și fundamentare teoretică Pentru a îndeplini cerinţele privind monitorizarea calităţii apei într-un rău, precum şi a urmăririi evoluţiei unei poluării, avem nevoie de modele care să exprime viziunea asupra proceselor implicate, a entităţilor care compun domeniul modelat şi a relaţiilor dintre ele, precum şi o modalitate de a pune în comun, de a integra aceste aspecte într-un sistem coerent şi complex. În cele ce urmează ne vom concentra pe modelarea conceptuală a domeniilor de interes, urmând desfăşurarea logică şi temporală în fluxul de date şi control: de la achiziţia simulată a datelor prinvind calitatea apei, la preluarea şi stocarea lor, la modelarea contextului hidrografic/topologic şi folosirea datelor disponibile pentru rularea unui model de prognoza a impactului unei poluări, făcând transformările necesare pentru integrarea abordărilor specifice fiecărui model în parte.

3.1 Specificaţiile sistemului

Sistemul se dezvoltă în contextul platformei Cyberwater, care se axează pe detectarea fenomenelor de poluare în râuri, folosind tehnologii de comunicaţie şi computationale avansate pentru managementul resurselor de apă şi teren în mod integrativ şi sustenabil [32]. Ne vom plasa pe primele două niveluri de jos ale schemei bloc ale platformei Cyberwater, indicate în Figura 3, adăugând utilizarea datelor în timp real obţinute, în cazul detectării unei poluări punctiforme, la prognozarea evoluţiei poluării în timp şi în spaţiu, pe cursul râului. Specificaţiile de detaliu pentru sistemul care se doreste a fi realizat pornesc de la sursa datelor, care in realitate corespunde unui sistem de achiziție a datelor, bazat pe senzorii de măsurare a calității apeidescri si in capitolul 2, si in maniera similara aplicatiilor realizate,descrise in acelasi capitol. Specificarea si proiectarease fac in contextul proiectuluiCyberWater, urmarind arhitectura generala descrisa in [32]. In prezenta lucrare ne centram eforturile pe incarcarea si utilizarea datelor, vom simula achizitia datelor prin realizarea unor versiuni empirice ale seriilor de timp hidrologice, corespunzatoare parametrilor surogati pH, conductantaspecifica si turbiditate, din motive financiare. Reteaua hidrografica ce va fi considerata este a râului Someșul Mic, de la Gilau pana la varsarea in Someșul Mare, in apropierea municipiului Dej. Specificaţiile de detaliu pentru sistemul care se doreşte a fi realizat pornesc de la sursa datelor, care în realitate corespunde unui sistem de achiziţie a datelor, bazat pe senzorii de măsurare a calităţii apei , şi în manieră similară aplicaţiilor realizate. Specificarea şi proiectarea se fac în contextul proiectului CyberWater, urmărind arhitectura generală descrisă în [32]. Vom simula achiziţia datelor prin realizarea unor versiuni empirice ale seriilor de timp hidrologice, corespunzătoare parametrilor surogati pH, conductanta specifică şi turbiditate. Reţeaua hidrografică ce va fi considerată este a răului Someşul Mic.Din multitudinea de cerinţe care se pot aşadar formula în cadrul unui astfel de sistem, ne vom centra pe următoarele cerinţe funcţionale: crearea de serii de timp pentru măsurători ai parametrilor de calitate pH, conductanta specifică şi turbiditate, în regim hidrologic normal şi tip eveniment (poluare) crearea de serii de timp corespunzătoare pentru estimări ale altor parametri (cloruri, solide suspendate) care se vor determina din mari mile surogate anterioare împachetarea în formate de date similare celor folosite în realitate (XML, CSV, binar) pentru simularea transmiterii seriilor de timp către sistemul de stocare translatarea din formatele diferite de date într-unul unic şi înmagazinarea datelor primite într-o baza de date, în mod continuu folosirea datelor din baza de date pentru afişarea pe locuri, intervale de timp şi detalii statistice, în cadrul unei hărţi şi a unei aplicaţii web folosirea datelor curente pentru estimarea conentratiilor poluantului în diferite puncte ale răului, la diferite momente de timp, în cadrul unei aplicaţii web.

Page 17: Arhitectura orientat ă pe sub-sisteme pentru platforma ... · Vedere generala a aplica ției – diagrama de pachete ..... 31 Figura 17. Diagrama flux de date in modulul de simulare

17

Figura 3 Schema bloc CyberWater[32]

Considerând cerinţele de simulare a achiziţiei şi stocării datelor de la senzorii pentru măsurarea calităţii apei, se distinge cazul de utilizare în care actorul este un utilizator care doreşte generarea unor serii de timp pentru măsurători ai unuia sau tuturor parametrilor de calitate consideraţi: pH, conductanta specifică şi turbiditate, în regim hidrologic normal sau tip eveniment (poluare); celălat actor este procesul automat şi continuu care preia datele sosite pentru a le încarcă în baza de date. Ambele cazuri de utilizare sunt prezentate în Figura.4): Din punct de vedere ale unui utilizator al sistemului, care poate fi un membru al publicului larg, un profesionist în domeniu sau un manager, se disting următoarele cazuri de utilizare (Figura 5). Primul caz de utilizare permite actorului să vizualizeze poziţia senzorilor pe o harta a răului monitorizat, împreună cu cele mai recente măsurători făcute de către aceştia, precum şi cu valorile estimate ale parametrilor de calitate a apei care se pot deduce din acestea, pe baza relaţiilor matematice descrise anterior. Este vizibilă şi o eventuală depăşire a valorilor admise, pentru ambele categorii de valori (măsurători, estimări). Al doilea caz de utilizare permite utilizatorului să acceseze istoricul valorilor şi al depăşirilor pentru fiecare parametru de interes, putându-se vizualiza tabelele de date şi grafice construite pe baza lor. Se poate utiliza şi o filtrare a valorilor în funcţie de data achiziţiei lor (măsurătoare sau estimare), pentru un anumit interval de timp.

Page 18: Arhitectura orientat ă pe sub-sisteme pentru platforma ... · Vedere generala a aplica ției – diagrama de pachete ..... 31 Figura 17. Diagrama flux de date in modulul de simulare

18

Figura 4. Diagrama cazurilor de utilizare -1

Al treilea caz de utilizare îl foloseşte pe primul, în sensul că, dacă este prezenţa o depăşire a concentraţiei permise pentru un anumit constituent chimic, se poate rula o simulare a propagării în timp care să prezinte grafic, pe harta râului, o animaţie înfăţişând impactul şi timpii prognozaţi ai răspândirii poluantului în lungimea râului.

Figura 5. Diagrama cazurilor de utilizare-2

3.2 Modelul conceptual al sistemului

Plecând de la cerinţele detaliate, putem diviza sistemul în două module care au că punct de integrare chiar baza de date: una care oferă intrări în această, şi una care „consumă” datele din ea, utilizându-le fie în modulul de prognoza a propagării poluanţilor, fie le oferă direct la nivelul prezentare utilizatorului interesat (Figura 7). Sub-aplicaţia de generare şi preluare a datelor pentru încărcarea în baza de date este necesar să fie de tip demon, un serviciu care să ruleze continuu şi să reacţioneze la sosirea de noi date, pentru a le procesa prin încărcarea în baza de date. Datele generate astfel încât să mimeze seriile de timp pentru parametrii de calitate de interes (pH, conductivitate, turbiditate) sunt împachetate în diverse formate utilizate în general în transmiterea datelor printr-o reţea (de obicei, Internet). Similar cu aplicaţiile de monitorizare a parametrilor de calitate a apei descrise în capitolul 2,

Page 19: Arhitectura orientat ă pe sub-sisteme pentru platforma ... · Vedere generala a aplica ției – diagrama de pachete ..... 31 Figura 17. Diagrama flux de date in modulul de simulare

19

datele sunt considerate a fi primite de la datalogger pe serverul de date, unde vor fi procesate în vederea stocării. Sub-aplicaţia care oferă accesul la datele de calitatea apei din baza de date este o aplicaţie web, aşadar o putem dezvoltă conform şablonului pe trei-niveluri (eng. Three-tier) întâlnit adesea în acest tip de aplicaţii.

3.3 Model conceptual pentru senzori si măsurători

Pentru a putea stoca şi manipula datele despre senzorii pentru calitatea apei, precum şi despre măsurătorile pe care le efectueză, împreună cu relaţiile pentru parametrii care se pot estima ca expresii matemematice depinzând de mărimile surogate măsurate, trebuie să analizăm entităţile implicate şi relaţiile dintre ele. Simplificăm reprezentarea infrastructurii de achitizie a datelor, având în vedere simularea acestei părţi în cadrul aplicaţiei dezvoltate, prin considerarea unei valori măsurate a unui parametru dat că fiind făcută de un senzor concret, care oferă direct rezultatul măsurătorii sale (se exclude intermedierea preluării printr-un datalogger, având în vedere că aplicaţia nu foloseşte aceste date). Acest senzor este o instanţa a unui tip de senzor, produs de un comerciant (marca, model, caracteristici de performanţă şi operare etc.), care este plasată într-un anumit loc, identificat prin coordonatele sale geografice. Parametrii de calitate a apei sunt în primul rând identificaţi ca nume şi mărime, dar se poate exprima un domeniu în care sunt așteptate să se încadreze valorile măsurătorilor (ex. prin natură sa, pH-ul nu poate să fie decât între [0,14] unităţi standard). Pentru exprimarea încadrării în limitele admise pentru un curs de apă, există praguri minime sau maxime admise, în funcţie de natura parametrului de interes – cel mai comun, doar un prag superior definit. Sunt permise astfel specificarea limitelor pentru corpuri diferite de apă, în cazul extinderii aplicaţiei la scară mai mare – legislaţia statelor membre poate prevedea valori admise diferite pentru acelaşi parametru Modelul conceptual de date pentru senzori, mărimi măsurate şi măsurători, precum şi relaţiile estimate cu mărimi surogate este prezentat înFigura6.Plecând de la acesta, adăugând consideraţii despre atributele necesare în aplicaţie, vom putea contura un model logic şi apoi unul fizic, în funcţie de suportul concret pentru stocarea datelor care va fi ales.

Figura 6. Modelul conceptual al sistemului

3.4 Modele hidrografice

Standardizarea în modelarea datelor are avantajul al facilitării schimbului de date, precum şi a integrării acestora din surse multiple, dar şi avantaje în mentenanţa unui sistem în timp (raportarea la un standard face că întreţinerea să poată fi alocată oricui cunoaşte acel standard),

Page 20: Arhitectura orientat ă pe sub-sisteme pentru platforma ... · Vedere generala a aplica ției – diagrama de pachete ..... 31 Figura 17. Diagrama flux de date in modulul de simulare

20

precum şi, în unele cazuri, în reducerea timpului de dezvoltare, prin oferirea unui cadru deja verificat de modelare a datelor. În perspectiva unei eventuale dezvoltări ulterioare, în care să se permită partajarea datelor obţinute în monitorizarea calităţii apei şi ţinând cont de componentă geospatiala a acestora, se pune problema utilizării unui model de date standardizat, care să permită această interoperabilitate a seturilor de date. Cele mai cunsocute astfel de modele în hidrografie, pentru apele de suprafaţă, sunt : • modelul Naţional Hydrography Dataset (NHD), iniţiat de către U.S. Geological Survey şi folosit în general în cadrul sistemelor informatice geografice (GIS) în organizaţii din S.U.A., conţinând date despre lacuri, râuri, baraje, canale etc. şi folosit atât pentru reperezentarea generală a hărţilor, cât şi pentru analiza sistemelor incluzând ape de suprafaţă (http://nhd.usgs.gov/). • modelul INSPIRE “Hydrography”, care cuprinde de asemenea reprezentări ale elementelor fizice hidrografice de suprafaţă, naturale şi artificiale, putând fi folosite în scopuri de cartografiere (schema Hydro - Physical Waters), analiză spaţială şi modelare (schemă Hydro - Network), precum şi pentru management şi raportare în cadrul Directivei Cadru a Apei (WFD) (schema Hydro - Reporting). Deoarece ţara noastră este membră a Uniunii Europene şi deci se aplică legile şi regulamentele comunitare, modelul de date de prima elecţie este cel specificat de documentele directivei INSPIRE,prezentată pe scurt în capitolul anterior. Domeniul „Hidrografie” specifică, plecând de la trei cazuri de utilizare mari, mentionte anterior, trei scheme ce derivă dintr-o schemă a aplicaţiei abstractă, Hydro- base (Figura 8).În cazul aplicaţiei de faţă, relevantă este schemă aplicaţiei Hydro-Network, care va fi folosită în modelarea calităţii apei, că modalitate de reprezentare topografică a cursului răului Someşul Mic.Schema aplicaţiei Hydro-Network are dependenţe de alte tipuri de obiecte spaţiale definite în cadrul schemei conceptuale INSPIRE, definite în schema aplicaţiei Hydro-Base şi în Network, care la rândul lui se bazează pe modelul Generic Network, inclus în modelul conceptual generic INSPIRE,conform relaţiilor la nivel de pachete indicate în Figura 9. Schemă aplicaţiei Base Types, precum şi tema pentru nume geografice Geografical Names sunt folosite şi în cadrul altor teme INSPIRE.Hydro-Network se bazează aşadar pe modelul Generic Network, particularizând de la structura generală de reţea, care se pretează la utilizarea şi în cadrul altor teme INSPIRE (diferite reţele de transport), la aceea de reţea hidrografică, în care se folosesc obiecte spaţiale de tip HydroObject.

Figura 7. Schema conceptuala pentru senzori si masuratori

Page 21: Arhitectura orientat ă pe sub-sisteme pentru platforma ... · Vedere generala a aplica ției – diagrama de pachete ..... 31 Figura 17. Diagrama flux de date in modulul de simulare

21

Figura 8. Structura pachetelor in Inspire – Hidrografie [24]

Pentru partajarea seturilor de date care se încadrează intema INSPIRE „Hidrografie”, este obligatoriu să se folosească tipurile de obiecte spaţiale şi tipurile de date prevăzute în schema aplicaţiei corespunzătoare, fiecare obiect spaţial trebuind să repecte constrângerile date de tipul sau obiectual sau, în cazul proprietăţilor sale, de tipul de date folosit în valorile lor [24]. În continuare prezentăm schemele aplicaţiei care se potrivesc domeniului abordat (hidrologie: ape curgătoare de suprafaţă).

3.4.1 Schema Hydro-base

Această schemă a aplicaţiei oferă fundaţia pe care se pot construi cele trei vederi diferite pentru hidrografie: cartografiere, reţea, raportare, cărora le corespund schemele aplicaţiei cu numele corespunzătoare. Utilizarea schemei Hydro-base, cu singurulelement definit fiind HydroObject (care e clasa abstractă), oferă posibilitatea de a se reconcilia cele trei vederi ale aceluiaşi obiect spaţial, prin folosirea unui identificator comun sau a unui nume comun. Acestea sunt aşadar atributele moştenite care se transmit de la tipul de obiect spaţial de baza HydroObject. Clasa abstractă HydroObject oferă proprietăţile necesare pentru definirea unei baze comune în vederile diferite asupra aceluiaşi obiect hidrografic, făcând posibilă identificarea unor obiecte spaţiale diferite că fiind reprezentări ale aceluiaşi obiect din lumea reală. Trei mecanisme sunt oferite pentru aceasta:

• folosirea aceluiaşi atribut 'geographicalName' permite identificarea pentru un obiect hidrografic din lumea reală pe baza numelui sau, în mod implicit.

• folosirea aceluiaşi atribut ‘hydroId’ permite identificarea unui obiect hidrografic pe baza unui cod de identificare, în mod implicit.

• folosirea relaţiei de asociere ‘relatedHydroObject’ explicitează identificarea între două obiecte spaţiale că fiind reprezentări ale aceluiaşi obiect hidrografic real, atunci când nu este posibilă utilizarea uneia dintre cele 2 metode anterioare.

Figura 10 prezintă diagramă UML pentru clasa abstractă HydroObject, conţinută în schemăHydro-base, cu proprietăţile sale pe care le explicitam în continuare.HydroIdentifier – identificator utilizat pentru identificarea obiectelor hidrografice în lumea reală. Acesta poate fi un cod de identificare naţional pentru hidrologie (figura 9) GeographicalName – nume utilizat pentru identificarea obiectelor hidrografice în lumea reală. Toate obiectele spaţiale în INSPIRE trebuie să aibă un identificator unic, în tot spaţiul aplicaţiilor compliante INSPIRE, indiferent că au sau nu atribute geometrice. Tipul de date HydroIdentifier, prezentat în Figura 11, include atribute pentru asigurarea unicităţii identificatorului unui obiect spaţial în INSPIRE, prin mecansimul de prefixare a identificatorului local, folosit de autoritatea responsabilă de crearea/oferirea setului de date, cu un cod pentru statul membru EU şi un spaţiu

Page 22: Arhitectura orientat ă pe sub-sisteme pentru platforma ... · Vedere generala a aplica ției – diagrama de pachete ..... 31 Figura 17. Diagrama flux de date in modulul de simulare

de nume (namespace). Atributul 'classificationScheme' este o descriere a schemei de identificare folosită, de exemplu: naţională, europeanTipul de date care permite specificarea numelor geografice este GeographicalName, inclus în schema aplicaţiei 'Geographical Names' localizare şi nativizare a numelui, specificarea pronunpermite datelor de acest tip, etnice corectitudine. Există cerinţă că, în cazul folosirii numelui geografderivat de la o sursă autoritativă pan

• Figura 9. Relatiile intre pachete pentru schema Hydro

Figura

Figura

de nume (namespace). Atributul 'classificationScheme' este o descriere a schemei de identificare uropeană etc.

Tipul de date care permite specificarea numelor geografice este GeographicalName, inclus în iei 'Geographical Names' şi prezentat în Figura 13. Include atribute pentru

i nativizare a numelui, specificarea pronunţiei şi folosirea gramaticalpermite datelor de acest tip, etnice şi eterogene în Uniunea Europeană să

ţă ă, în cazul folosirii numelui geografic ca identificator unic, să pan-europeană.

Relatiile intre pachete pentru schema Hydro-Network [24]

Figura 10. Clasa abstractă HydroObject [24]

Figura 11. Tipul de date HydroIdentifier

22

de nume (namespace). Atributul 'classificationScheme' este o descriere a schemei de identificare

Tipul de date care permite specificarea numelor geografice este GeographicalName, inclus în . Include atribute pentru

i folosirea gramaticală, pentru a ă să fie incluse cu

identificator unic, să fie

Page 23: Arhitectura orientat ă pe sub-sisteme pentru platforma ... · Vedere generala a aplica ției – diagrama de pachete ..... 31 Figura 17. Diagrama flux de date in modulul de simulare

23

Figura 12. Tipul de date GeographicalName

3.4.2 Schema Hydro-Network

Schema aplicaţiei 'Network' prezintă o vedere a elementelor hidrografice că elemente ale unei relete, cu noduri şi legături între acestea, care reprezintă obiecte reale. Această schemă se bazează pe modelul generic reţea GNM (Generic Network Model), prezentat în modelul conceptual generic INSPIRE. 'Hydro-Network' specializează această schemă, oferind patru tipuri de obiecte spaţiale specifice hidrografiei (Figura 13): HydroNode - element de baza al topologiei reţea, corespunde geometric unui punct WatercourseLink - al doilea element de baza al topologiei reţea, corespunde geometric unei linii curbe WatercourseLinkSequence - pentru identificarea unei secvenţe agregate de legături conectate WatercourseSeparatedCrossing - în cazul modelării unor legături care se întâlnesc doar în plan, dar în realitate nu se intersectează (de ex., o apeducta deasupra unui canal) Pe lângă aceste obiecte spaţiale specializate, se referă în schemă şi clase concrete din modelul conceptual generic (v. figura 13): • Network- o colecție de elemente de rețea. • CrossReference - pentru referențierea elementelor din aceeași rețea. • NetworkConnection - pentru exprimarea unei relații logice între elemente din rețele diferite. Reprezentarea geometrică fundamentală pentru o reţea hidrografică este aşadar constituită din elemente liniare conectate (legături WatercourseLink), având la capete elemente punctiforme (noduri HydroNode), pentru a reprezenta izvorul, vărsarea, joncţiuni, conexiunea cu altă reţea hidrografică etc. (lista de coduri HydroNodeCategoryValue). Clasa WatercourseLink extinde clasa Link din schemă Network, iar HydroNode extinde clasa Node, din aceeaşi schemă, acestea transmiţându-le atributele geometrice pentru reprezentarea georeferentiata : geometria cu linie mediană GM_Curve pentru WatercourseLink, respectiv GM_Point pentru HydroNode. Totodată, atât WatercourseLink , cât şi HydroNode sunt tipuri obiectuale HydroObject, clasa de baza din pachetul Hydro-base, prezentată în secţiunea anterioară. Schemă Network permite şi specificarea direcţiei pentru legături, utilă în special în modelarea reţelelor de transport, dar în cazul de faţă, modelarea fiind făcută pentru analiză transportului poluanţilor în procesul de curgere în canalul răului, există o singură direcţie pentru orice legătură, de la punctul din amonte la cel din aval. Lungimea fiecărei legături se va specifică în unităţi metrice, conform Sistemului Internaţional, având utilitate în prezentul caz pentru integrarea modelului hidrografic cu cel de propagare a poluării, pe care îl vom prezenţa în seciunea următoare.

Page 24: Arhitectura orientat ă pe sub-sisteme pentru platforma ... · Vedere generala a aplica ției – diagrama de pachete ..... 31 Figura 17. Diagrama flux de date in modulul de simulare

24

Figura 13. Diagrama de clase Hydro-Network

3.5 Modele de propagare și transport al poluanţilor

3.5.1. Introducere, clasificare si utilizări

Din cauza impactului economic, social şi politic pe care îl are poluarea în râuri, importantă modelelor matematice de propagare şi transport a poluanţilor a crescut în ultimele decade, o dată cu creşterea interesului pentru protejarea mediului înconjurător. În cadrul Directivei Cadru a apei, ale cărei prevederi se aplică şi României, că statu membru al Uniunii Europeene, evaluarea statusului calităţii apelor are o pondere majoră în planificarea şi managementul resurselor de apă. Această nu se poate face fără utilizarea modelelor de calitate a apei, care cuplate cu modelele hidrologice sunt un instrument eficient în stabilirea politicilor de mediu în domeniul apelor, pe termen scurt sau lung. În ultimii 30 de ani, diverse modele de calitate a apei au fost utilizate, în cadrul sistemelor informatice, pentru scări şi domenii diverse: modele la nivel de bazin hidrologic, pentru apele freatice, pentru lacuri, pentru râuri, zone de coasta etc. ; modele pentru probleme de medii diferite: acidificare, eutroficare, dispersia emisiilor etc. [29]. În prezent, direcţia de dezvoltare este integrarea tuturor abordărilor, pentru realizarea de sisteme complexe, care să susţină factorii de decizie în managementul atât al politicilor pe termen lung în domeniul apelor, cât şi al eventualelor situaţii de criză (inundaţii, poluări masive). Deloc lipsit de importantă este şi apectul pedagogic al folosirii unor modele ce să permită simularea de diferite scenarii ipotetice, pentru a creşte acceptanta măsurilor de mediu propuse pentru contracararea unei anumite probleme. Este necesară folosirea unor modele de calitate a apei care să ofere capacitatea de a se identifica cu o cât mai mare acurateţe ponderea surselor care contribuie la o problema de mediu, precum şi rezultatele care sunt aşteptate sau obţinute prin luarea unei anumite măsuri. Este aşadar nevoie de modele de calitate a apei care să poată prevedea programatic cât mai precis şi folosind datele care se pot pune de obicei la dispoziţia acestora, ţinând cont de cunoaşterea limitată a situaţiei (măsurătorile făcute sunt inerent o vedere limitată a situaţiei reale). Un model

Page 25: Arhitectura orientat ă pe sub-sisteme pentru platforma ... · Vedere generala a aplica ției – diagrama de pachete ..... 31 Figura 17. Diagrama flux de date in modulul de simulare

25

se defineşte că o metodă numerică de a estima calitatea apei şi transportul substanţelor, având la baza o serie de presupuneri şi generalizări teoretice [29]. Componentă temporală care este inclusă sau nu în cadrul acestor modele le diferenţiază în modele dinamice (se folosesc componente temporale cu valori specifice pentru diferitele procese) sau statice (se folosesc componente temporale medii pentru perioada de interes). O clasificare a modelelor dinamice de calitate a apei poate fi făcută plecând de la faptul că există o compromis ce trebuie făcut între complexitatea şi acurateţea modelului, ajungându-se astfel la două clase de modele :

• mecanistice (bazate pe legile fizicii, chimiei şi biologiei) : cele mai multe folosesc reţele cu celule considerate omogene. Sunt descrieri matematice ale principiilor teoretice.

• conceptuale : doar procesele cele mai proeminente sunt descrise, restul fiind tratate într-o singură expresie; de obicei, subbazinele sunt considerate neomogene, dar pot fi descrise prin condiţii medii. Oferă avantajul că pot fi folosite pentru cazurile în care bazinul hidrologic analizat are dimensiuni foarte mari sau nu există suficiente date disponibile pentru rularea unui model mecanstic; de asemenea, un avantaj este că au nevoie de resurse computationale mai puţin decât acestea.

Compendiul [30] adaugă acestor clasificari cateva suplimentare: • pentru simulare : descriu funcționarea unui sistem • pentru otpimizare: folosite la găsirea unei soluții optime, de obicei în cadrul

unorconstrangeri(legate de cost, de exemplu, sau de calitatea mediului). După criteriul prezenţei sau absenţei unei dependenţe de spaţiu, [30] clasifică modelele şi în:

• cu parametri grupaţi: modelele sunt zero-dimensionale în spaţiu, presupunându-se condiţii uniforme în tot sistemul modelat, iar variaţia apărând doar în timp cu parametri distribuiţi: sistemele modelate sunt presupuse a avea condiţii variabile în una sau mai multe dimensiuni spaţiale.

Această categorie poate fi împărţită în continuare după • rezoluţia spaţială: sunt modele în una, două sau trei dimensiuni; cele mai simple, • uni-dimensionale (1-D) simulează comportamentul unui corp de apă fie în lungime (în

cazul râurilor), fie în adâncime (în cazul lacurilor); • cele în două dimensiuni (2-D) modelează comportamentul în corpuri de apă pe lungime şi

fie adâncime, fie lăţime; • cele 3-D ţin cont de toate cele 3 dimensiuni. • natura parametrilor folosiţi: • modeledeterministice,carenu folosescvalori reale,ci estimatepentru toatevariabilelesi

parametrii considerati, asadar si rezultatele sunt tot valori asteptate • modelestohastice,careinclude variabilitateainfunctiilede densitatede probabilitatea

parametrilor folositi, obtinandu-se o predictie ca functie de densitate de probabilitate. Atât scopul unui studiu, cât şi resursele (de timp, umane şi computationale) şi datele disponibile sunt cele care determina alegerea unui anumit model.

3.5.2. Procese de transport de masă

Procesele care transportă poluanţii şi alţi compuşi chimici prin aer, apă sau mediul subteran sunt determinante în înţelegerea evoluţiei poluării în mediul înconjurător. Aceste procese se pot împărţi în două categorii, care se pot considera separat în modelarea unui sistem: procese de advecţie şi procese de difuzie. În cadrul domeniului hidrologic, advectia se referă la transportul în aval al substanţelor din apa râurilor, îndepărtând astfel poluanţii de locul în care au fost emişi. Difuzia include mişcările întâmplătoare care transporta poluanţii, ducând la reducerea

Page 26: Arhitectura orientat ă pe sub-sisteme pentru platforma ... · Vedere generala a aplica ției – diagrama de pachete ..... 31 Figura 17. Diagrama flux de date in modulul de simulare

diferenţelor de concentraţii între volumul constinand substanfluid ce îl înconjoară. Difuzia rezultmolecular (difuzia moleculară) şi cele de tip vârtej, care apar în curgerea turbulent(difuzie turbulentă). Dispersia este un proces cu un efect important în propagarea poluandiferenţa de concentraţii şi de curgerea fluidului în care are loc. Semnificadesfăşurare şi cauzalitatea acestui proces diferamestecarea la nivel molecular a două

3.5.3. Ecuatia de advecţie

Modelele de propagare a poluării în râuri se bazeaztransport de masă. Pentru urmărirea calitunui parametru indicator al calităţadvecţie- dispersie, cu formă generală

Funcţia C(x,y,z,t) este cea care da concentradispersie, funcţia S=S(x,y,z,t) este contribureacţie, pentru modelarea transportului poluanalte substanţe prezente în mediul de transport, ducândalţi compuşi chimici. Scopul acestei ecuaîntregul corp de apă, la orice moment de timp dupaceastă ecuaţie fundamentală de adveccare se transporta poluantul, pentru a se atinge scopul propus trebuie svolumului râului, deci această ecuaţgeneral şi considerând cele 3 dimeniuni în spasimplificări care să ofere , că practiclongitudinală, în cazul râurilor, considerânverticală că fiind constanţi. O altă abordare de soluţionare a ADE este cea numericexpresie discretizata că prim pas, atât în direcîn acest fel la soluţia unor ecuaţii sau sisteme de ecuavariabile şi de paşi computaţionali [28]. Principalele clase în metodele numerice de abordare sunt: • metoda diferentelor finite • metoda elementelor finite, extinsFelul în care apa este transportată în râuri, cu componenta puternic longitudinalîn lungul canalului să deţină cea mai importantfoloseşte în modelarea şi prognoza propagecuaţiei de advecţie-dispersie (ADE), considerânducomparativ cu adevctia şi difuzia în direc

Pentru a se putea realiza un modul de simulare a propagnevoie de alegerea unui model hidrografic care sprecum şi de parametrii care îl caracterizeazcurgere a apei,debitul în lungimea ră

ţii între volumul constinand substanţă de interes şi restul volumului de . Difuzia rezultă din mişcări întâmplătoare de două feluri: cele la nivel

ă şi cele de tip vârtej, care apar în curgerea turbulent

Dispersia este un proces cu un efect important în propagarea poluanţilor şi este cauzatşi de curgerea fluidului în care are loc. Semnifica

i cauzalitatea acestui proces diferă de cele ale difuziei, care în general este privitamestecarea la nivel molecular a două substanţe diferite.

Ecuatia de advecţie-dispersie (ADE)

ării în râuri se bazează pe rezolvarea ecuaţiei diferenărirea calităţii apei în râuri, în speţă pentru previzionarea valorilor

l calităţii sau a concentraţiei unui poluant se foloseă generală în 3 dimensiuni, bazată pe abordarea fickiana [28]

ia C(x,y,z,t) este cea care da concentraţia poluantului, E reprezintă coeficientul ia S=S(x,y,z,t) este contribuţia externă, numită şi sursă, iar K este coeficientul de

ie, pentru modelarea transportului poluanţilor neconservativi, care aşadar reace prezente în mediul de transport, ducând la transformarea poluantului de interes în

i chimici. Scopul acestei ecuaţii este de a se putea estima concentratiile pouantului în , la orice moment de timp după producerea contaminării. Având în vedere c

ă de advecţie-dispersie se referă la un volum infinitezimal de fluid în care se transporta poluantul, pentru a se atinge scopul propus trebuie să se ajung

ă ecuaţie cu derivate parţiale trebuie integrată. În cazul cel mai i considerând cele 3 dimeniuni în spaţiu, această nu este deloc facil. Se recurge astfel la

ă practică ades întâlnită de a se consideră doar component, în cazul râurilor, considerându- se astfel toţi termenii pe direcţiile transversal

ţionare a ADE este cea numerică, transformându- prim pas, atât în direcţiile spaţiale cât şi în timp. Soluţia ADE se reduce

ţii sau sisteme de ecuaţii liniare, utilizându-se un numţionali [28]. Principalele clase în metodele numerice de abordare sunt

elementelor finite, extinsă la metoda volumelor finite Felul în care apa este transportată în râuri, cu componenta puternic longitudinală

ţ ă cea mai importantă componentă, astfel că adeseori în practici prognoza propagării poluanţilor în râuri varianta uni

dispersie (ADE), considerându-se amestecarea în direcţiile y i difuzia în direcţia x [31]:

(3.2) putea realiza un modul de simulare a propagării unui poluant pe cursul unui râ

nevoie de alegerea unui model hidrografic care să permită specificarea topologiei ri de parametrii care îl caracterizează: lăţimea, adâncimea sau pantă canalului, vitez

curgere a apei,debitul în lungimea răului. Totodată, pentru prognoza evoluţiei polu

26

şi restul volumului de ă feluri: cele la nivel

i cele de tip vârtej, care apar în curgerea turbulentă a fluidelor

ţilor şi este cauzată de i de curgerea fluidului în care are loc. Semnificaţia, viteză de

de cele ale difuziei, care în general este privită că

pe rezolvarea ecuaţiei diferenţiale de pentru previzionarea valorilor

iei unui poluant se foloseşte ecuaţia de pe abordarea fickiana [28]:

(3.1) ă coeficientul de ă, iar K este coeficientul de

şadar reacţionează cu la transformarea poluantului de interes în

ii este de a se putea estima concentratiile pouantului în ării. Având în vedere că

la un volum infinitezimal de fluid în ă se ajungă la totalitatea

ă. În cazul cel mai nu este deloc facil. Se recurge astfel la

ă doar componentă i termenii pe direcţiile transversală şi

-se ecuaţia într-o oluţia ADE se reduce se un număr mare de

ionali [28]. Principalele clase în metodele numerice de abordare sunt

în râuri, cu componenta puternic longitudinală, face că viteză ă adeseori în practică se

ilor în râuri varianta uni-dimensională a se amestecarea în direcţiile y şi z rapidă

i unui poluant pe cursul unui râu, este specificarea topologiei răului ales,

ă canalului, viteză de ţiei poluării în timp şi

Page 27: Arhitectura orientat ă pe sub-sisteme pentru platforma ... · Vedere generala a aplica ției – diagrama de pachete ..... 31 Figura 17. Diagrama flux de date in modulul de simulare

27

în spaţiu, este necesară utilizarea unui software de modelare a calităţii apei, care să ofere o cât mai precisă predicţie pentru natură cazului analizat (tip de poluant analizat, scopul pentru care se doreşte efectuarea simulării propagării etc.). Există sisteme software complexe dezvoltate de-a lungul ultimilor ani, capabile să ofere predicţii în timp real, atât în ce priveşte procesele de natură fizică, cât şi pe cele de natură chimică sau biologică : MIKE11, PC QUASAR, QUAL2K, SWAT, SWIM, QUESTOR, fiind deosebit de utile în modelarea calitatiii apei, la nivel internaţional. Acestea însă nu oferă posibilitatea de a se modifică ecuaţiile din cadrul modelului folosit, pentru a se particulariza într-un anume caz de utilizare, iar costul lor este ridicat [27]. Deoarece aici considerăm cazul râului Someşul Mic, vom utiliza un model de calitate a apei prezentat în [27] pentru acesta, care permite o abordare flexibilă a studiului propagării poluanţilor în timp şi spaţiu, atât a celor conservativi şi a celor neconservativi, care suferă transformări chimice în mediul ambiant, ducând la modificări cantitative prin diverse mecanisme de transformare. Vom consideră cazul poluării accidentale, instantanee şi punctiforme. Este de dorit ca, cunoscând o concentraţie de poluant într-un anume punct pe lugimea răului, să se poată prevedea unde şi în ce măsură va ajunge poluantul peste un interval de timp dat, sau să se calculeze profilul poluantului în timp într-un loc dat. Un asemenea model ar putea fi de ajutor în managementul unei poluări accidentale, pentru luarea deciziilor în contracararea efectelor poluării. Vom folosi un model dinamic, deci dependent de timp, şi cu parametri distribuiţi, în care parametrii hidraulici ai răului Someşul Mic s-au determinat prin ecuaţii regresive din măsurători făcute pe teren [27] şi folosind o soluţie analitică a ecuaţiei de advecţie-dispersie 1-D. Pentru această presupunem că amestecarea în secţiunea transversală a răului se face instantaneu, iar soluţia ecuaţiei de advecţie-dispersie în formă uni-dimensională se poate scrie [27]:

(3.3) Relaţia matematică (3.3) descrie variaţia în timp (notat t, în secunde) a concentraţiei c (în miligrame perlitru) în lungimea răului (distanţă de la locul injectiei poluantului la punctul considerat, notată x, în metri). Concentraţia iniţială la locul poluării este notată cu cs0 (mg/l) iar concentraţia la sursă poluării după injecţia poluantului, este notată cu cs (mg/l); c0 (mg/l) e valoarea iniţială a concentraţiei în punctul considerat, la lungimea x (m) de sursă poluării. Viteză advectivă Vx (m/s)şi coeficientul de dispersie Dx (m2/s)sunt parametri distribuiţi ai modelului, ce depind de debitul Q (m3/s), determinaţi din date existente pe baza ecuaţiilor regresive prezentate în Tabelul 1 [27].

Tabel 11 Ecuațiile regresive utilizate la calcularea parametrilor modelului pentru râul Someșul Mic. [27]

Page 28: Arhitectura orientat ă pe sub-sisteme pentru platforma ... · Vedere generala a aplica ției – diagrama de pachete ..... 31 Figura 17. Diagrama flux de date in modulul de simulare

28

3.6 Integrarea modelelor folosite

Pentru a putea folosi datele legate de măsurători, senzori şi locaţiile acestora în simularea propagării, că punct de pornire – valoarea măsurată de un anume senzor, aflat în locul specificat printr- o pereche de coordonate geografice, poate fi o concentraţie a unui poluant. Dacă se depăşeşte valoarea maximă admisă, se poate determina impactul şi evoluţia poluării, în timp şi spaţiu, rulandu-se modelul propus. Integrarea celor trei modele folosite – hidrografic, de propagare a poluării şi cel conceptual de date privind măsurătorile de la senzori – presupune transformări între modurile de referire spaţială la locuri aflate pe cursul răului: unul prin coordonate geografice decimale, că pereche de formă (latitudine, longitudine) şi cel utilizat în modelul de calitate a apei, de referenţiere liniară, că punct aflat pe axa mediană a răului, la distanţă precizată de izvor, în metri. Principalele transformări şi operaţii asociate sunt: • identificarea unui punct specificat prin coordonate geografice că aparţinând sau nu râului, cu o toleranţă specificată care să acopere atât variaţia de lăţime a canalului faţă de linia mediană, modelată în reprezentarea hidrografică, cât şi eventualele mici erori la stabilirea coordonatelor locului în care s-a instalat un anumit senzor; în caz de apartenenţa, identificarea se face prin aproximare la un punct aparţinând geometriei răului, care se foloseşte în continuare în procesare – v. Figura 14, punctele marcate cu x-uri albastre vor fi considerate aparţinând geometriei râului, cele roşii nu. • calculareadistanteiinmetride laizvorul râuluilaun punct specificatprin coordonate geografice, care îi aparține, pentrua ne putea referi la modelul de propagarea poluanților, în care referențierea se face liniar. • determinarea coordonatelor geografice ale unui punct de pe linia mediană a râului, care se afla în avallao distantăspecificatăîn metri de un altpunct apartinândrâului(deplasareaîn lungimea cursuluide apa pe o anumita distantă, în sensul curgerii apei) • calculareadistanțeidirecteînmetridintre două punctespecificateprin coordonatelelor geografice, facând abstracție de elevație, dar tinând cont de geometria “sferică” a Terrei.

Figura 14. Determinarea punctelor de apartenenta la râu

Pentru calcularea distanţei directe, făcând abstracţie de elevaţie, între două puncte ale căror coordonate geografice se cunosc, putem aplică formula Haversine [25], care calculează această distanţă între două puncte situate pe o sfera. Acceptăm că tolerabilă eroarea indusă de considerarea Terrei că fiind sferică, precum şi de neglijarea elevaţiei, considerând aplicarea la zona geografică în care curge Someşul Mic (diferenţe mici de altitudine pe cursul sau, precum şi lungimea cursului de apă foarte mică raportată la rază Pãmantului), precum şi utilizarea valorii calculate, în aplicaţie. Considerând cele două puncte specificate prin perechile (lat1, long1) şi (lat2, long2), R rază Terrei, iar unghiurile exprimate în radiani, distanţă d dintre cele 2 puncte în condiţiile de mai sus se exprimă:

Page 29: Arhitectura orientat ă pe sub-sisteme pentru platforma ... · Vedere generala a aplica ției – diagrama de pachete ..... 31 Figura 17. Diagrama flux de date in modulul de simulare

29

D = R * [2 * atan2(√a, √(1−a))] (3.4),

unde a = sin²(∆lat/2) + cos(lat1) * cos(lat2) * sin²(∆long/2), ∆lat = lat2− lat1 ∆long = long2− long1 iar R considerat este raza medie a Terrei , 6 371 000 m. 3.7 Serii de timp hidrologice Valorile parametrilor de calitate a apei sunt serii de timp multivariate, adică secvenţe de valori ale unor variabile urmărite simultan, care se schimbă în timp. Variabilitatea aceasta în timp se poate exprimă pe patru niveluri:

• tendințe pe timp îndelungat sau alte schimbări deterministice, care depășesc ca orizontde timp ciclurile anuale.

• schimbări sezoniere sau periodice, în cadrul unui ciclu anual alte schimbari (cvasi-) . • periodice, deterministice. • schimbari întamplătoare, nedeterminsitice.

Există un număr de modele stocastice care să poată fi folosite pentru modelarea seriilor de timp multivariate hidrologice, cu accent pe prognoza debitului râurilor [26], fie în ipoteza relaţionării liniare între variabile, fie în ipoteze mai complexe. Ţinând cont de simularea măsurătorilor senzorilor de calitate a apei, în prezenţa lucrare, avem nevoie de aspectul cantitativ şi calitativ (respectareadomeniului de valori specific, variaţia realistică în timp) al valorilor parametrilor consideraţi (pH, conductanţa specifică şi turbiditatea), dar nu ne vom preocupă de o respectare fidelă a regimului raului Someş, aşadar tehnicile de analiză şi prognoza care se pot utiliza când există date diponibile în generarea sintetică a unor serii de timp. Pentru a putea crea fluxul în preluarea şi procesarea datelor, este necesar aşadar să simulăm seriile de timp pentru parametrii de calitate pH, turbiditate şi conductanta specifică, considerând însă un regim general, nespecific râului Someş, cu încadrarea în domeniile de valori pentru fiecare parametru şi cu posibilitatea de a simula regimul normal hidrologic sau un eveniment de tip poluare (depăşirea limitelor admise), pe un durata de timp dată şi la anumite intervale, considerate intervalele între măsurătorile care ar fi făcute de senzorii reali. Putem considera, spre exemplificare, datele disponibile online pe site- uri de informare publică ale USGS.(ex: http://waterwatch.usgs.gov). Putem dezvoltă pentru fiecare parametru în parte un algoritm pentru construirea seriilor de timp, plecând de la valoarea medie a acelui parametru şi variind pentru fiecare pas de timp cerut până la acoperirea duratei de monitorizare simulate. Astfel, notăm M valoarea medie pentru parametrul considerat, [xi] şirul valorilor simulate în fiecare moment de timp i, cuprins în durata de simulare şi var variaţia pentru pasul de timp considerat, putem scrie o relaţie recursivă generală, de la care să pornim în simularea regimului hidrologic normal, particularizând apoi pentru fiecare parametru în parte:

xi+1 = xi ± var (3.5) În cazul pH-ului, a cărui variaţie pe termen scurt (ordinul zilelor) nu depăşeşte, empiric, 0,1 –0,2 unităţi, dar poate varia sezonier chiar cu 1,5 – 2 unităţi, trebuie să ţinem cont de perioada de timp pe care se va face simularea, alegând o variaţie delta medie pentru un interval de timp deltaT în funcţie de care se va calcula, cu componentă nedeterministica inclusă şi mărginită că valoare f, următoarea valoare simulată în şirul valorilor pe care îl construim:

xi+1 = xi ± var * delta ± f(3.6)

Page 30: Arhitectura orientat ă pe sub-sisteme pentru platforma ... · Vedere generala a aplica ției – diagrama de pachete ..... 31 Figura 17. Diagrama flux de date in modulul de simulare

30

Componenta de variaţie var se va alege în acest caz în funcţie de durata totală trecută din momentul începerii simulării valorilor până în momentul i, cu valori corespunzătoare consideraţiilor empirice din paragraful anterior. Conductanța specifică pare să aibă în general o componentă nedeterministica mai puternică, fluctuaţiile în valori fiind mai mari şi pe perioade mai scurte decât în cazul pH-ului, astfel că modificăm condiţia că variaţia să fie limitată într-o perioada de timp, alegând fractia var cu care variem de la un moment de timp la următorul să fie mai mică pentru intervale mai mici între măsurătorile simulate (câteva zile) şi mai mare pentru intervale mai mari. Relaţia recursivă (3.6) devine atunci, pentru conductanta specifică:

xi+1 = xi± var * xi (3.7) Cazul turbidităţii diferă în aspectul apariţiei vârfurilor de valori în regim normal, care se atribuie turbidităţii crescute induse de ploile şi torenţii care se scurg în apa râului. Alegem empiric un număr întâmplător şi limitat de astfel de vârfuri maxime de turbiditate şi le distribuim întâmplător în seria de timp pe care o avem de construit, cu valori cuprinse până la un ordin de mărime mai mari decât cele obişnuite. Va trebui să se ţină cont şi de regimul normal de simulare, în care turbiditatea revine la valori medii în câteva ore, spre deosebire de regimul de eveniment, când se depăşesc valorile admise pe un timp mai îndelungat. Pentru toţi cei trei parametri de calitate vom pune la dispoziţie şi posibilitatea de a se simula regimul de depăşire a limitelor admise, în cazul pH-ului, atât superior, cât şi inferior, iar pentru conductanţa specifică şi turbiditate, doar superior, urmărind cazurile reale. În toate cele trei cazuri de depăşiri, această se va face construind o serie de timp care să crească/scadă până la un punct de maxim/minim local, situat în afară intervalului admis de valori, pe o durata de timp de ordinul câtorva zile.

4. Nivel 3 Prelucrarea datelor Pentru a încadra sistemul prezentat în arhitectura generală a unui sistem de monitorizare a paramaterilor de calitate a apei, ne vom referi la arhitectură prototipului sistemului reprezentată în Figura 15 şi descrisă în lucrarea, ca parte a plactformei Cyberwater [32]. Aplicaţia de faţă se plasează la nivelul preluării datelor de la senzorii de calitate a apei, încărcarea lor în baza de date şi folosirea lor într-o aplicaţie web care permite accesul comunităţii la acestea şi utilizarea lor în scenarii de simulare. Partea dreapta a figurii 15 nu se regăseşte aşadar că atare, ci este simulată prin generarea unor serii de timp pentru parametrii consideraţi (pH, conductivitate, turbiditate), împachetarea acestora în formate prestabilite, similare celor folosite în transmiterea datelor reale (XML, binar şi respectiv text tabulat), despachetarea şi unificarea lor prin încărcarea în baza de date, care le oferă prin Internet utilizatorilor interesaţi, prin intermediul unei aplicaţii online.

Page 31: Arhitectura orientat ă pe sub-sisteme pentru platforma ... · Vedere generala a aplica ției – diagrama de pachete ..... 31 Figura 17. Diagrama flux de date in modulul de simulare

31

Figura 15. Arhitectura prototipului unui sistem de monitorizare a parametrilor de calitate a apei [32] Prezentăm în Figura. 16 arhitectura generală a aplicaţiei,incluzând principalele componente şi pachete ce o constituie. Vom detalia în secţiunile următoare fiecare componentă şi pachet, prezentând clasele relevante şi responsabilităţile lor.

Figura 16. Vedere generala a aplicației – diagrama de pachete

4.2 Modulul de generare și stocare a datelor privind

calitatea apei

4.2.1 Proiectare de detaliu

Simulând fluxul continuu de date privind calitatea apei primit pe un server de date de la infrastructura de achiziţie şi comunicaţii într-un sistem real, structurăm modulul de generare ca producător-consumator, producătorii fiind aşadar emulatori ai unor senzori reali, ale căror date sunt trimise prin reţeaua de comunicaţii şi recepţionate pe serverul care le „consumă”, adică rulează software pentru despachetarea din formatul standard oferit de dataloggerul de origine şi

Page 32: Arhitectura orientat ă pe sub-sisteme pentru platforma ... · Vedere generala a aplica ției – diagrama de pachete ..... 31 Figura 17. Diagrama flux de date in modulul de simulare

32

le stochează în baza de date, conform modelului de date pe care îl vom detalia în secţiunea următoareDiagrama acestui flux de date din Figura.17 prezintă acest proces.

Figura 17. Diagrama flux de date in modulul de simulare si stocare valori ale parametrilor de calitate a apei Mai caracteristic modelării orientată obiect care a fost urmată, explicitam aspectul structural al claselor implicate în generarea seriilor de timp pentru parametrii de calitate, în cadrul modelului de design, în Figura 18. Primirea datelor se face prin generarea locală a fişierelor în formatele menţionate (XML,binar şi text tabulat) şi plasarea lor într-un director care va fi monitorizat continuu pentru crearea de noi fişiere, prin utilizarea unui serviciu capabil să detecteze evenimente de creare, modificare sau ştergere la nivelul structurii de fişiere. La detectarea creării unui nou fişier, pe baza numelui care trebuie să includă formatul respectiv, se parsează datele primite şi se inserează în baza de date. Diagramă de clase implicate în stocarea datelor primite este prezentată în Figura 19. Diagramele de secventa, in cadrul modelului de design, care prezinta realizarea cazurilor de utilizare pentru generarea valorilor parametrilor de calitate a apei, respectiv preluarea si stocarea acestora in baza de date sunt prezentate in Figurile 20 si 21.

Page 33: Arhitectura orientat ă pe sub-sisteme pentru platforma ... · Vedere generala a aplica ției – diagrama de pachete ..... 31 Figura 17. Diagrama flux de date in modulul de simulare

33

Figura 18. Diagrama de clase implicate in generarea valorilor simulate pentru parametrii de calitate a apei

Figura 19. Diagrama de clase implicate in despachetarea si stocarea datelor de calitate a apei

Page 34: Arhitectura orientat ă pe sub-sisteme pentru platforma ... · Vedere generala a aplica ției – diagrama de pachete ..... 31 Figura 17. Diagrama flux de date in modulul de simulare

34

Figura 20. Diagrama de secventa prezentand realizarea cazului de utilizare de generare a seriilor de timp

pentru parametrii de calitate a apei

4.2.2 Implementare

Pentru dezvoltarea aplicaţiei de generare a valorilor parametrilor de calitate a apei, preluarea şi stocarea lor în baza de date am folosit Java Development Kit (JDK) 7. Organizarea pachetelor care conţin clasele Java pentru generarea valorilor parametrilor de calitate a apei şi preluarea şi încărcarea lor în baza de date este prezentată Figura 22. Pachetele 'Data Creation' şi 'Data Store' au domeniul de nume 'georgi.data', adică numele lor complet este 'georgi.data.creation' respectiv 'georgi.data.store'. Pachetul 'Data Creation' conţine clasele şi interfetele prezentate în Figura 18, iar 'Data Store' conţine în clasele prezentate în Figura 19, cu excepţia interfeţei WatchService, utilizate de clasa IncomingReadingsWatcher, care aparține platformei Java SE 7. Prezentam în continuare, pe scurt, clasele și interfețele din aceste două pachete, cu metodele lorrelevante și responsabilitățile lor:

• ConfigurationParser : parcurge fişierul de configurare XML care specifică ce fel de valori doreşte utilizatorul să obţină: tipul parametrului de calitate a apei, încadrarea acestora în limite sau nu, durata pe care să se întindă simularea citirii valorilor de către un senzor ipotetic şi intervalul la care să se „măsoare” (simulat) aceste valori. Semnătură metodei principale a acestei clase este: java.util.ArrayList getParameters(java.lang.Strîng fileName) Clasa are şi o metodă main(java.lang.Strîng[] args), căreia i se poate pasa un argument reprezentatnd calea către fişierul de configurare XML menţionat, care urmează schema detaliată mai jos. Dacă nu se specifică acest argument, se caută fişierul de configurare implicit. Conform specificaţiilor din fişierul de configurare, se vor crea

Page 35: Arhitectura orientat ă pe sub-sisteme pentru platforma ... · Vedere generala a aplica ției – diagrama de pachete ..... 31 Figura 17. Diagrama flux de date in modulul de simulare

35

obiectele de tip Simulator necesare pentru îndeplinirea acestor cerinţe şi consecutiv obiectele de formatare în formatele de fişiere corespunzătoare.

• Simulator:interfaţa care oferă comportamentul cerut simulatoarelor PHSimulator,ConductivitySimulator şi TurbiditySimulator. Completări ulterioare ale tipurilor de parametri simulati se vor face prin crearea de clase care să implementeze această interfaţă. Comportamentul contractat prin implementarea acestei interfeţe este dat de metodele sale: java.util.List simulateEvent(int interval, int duration)java.util.List simulateNormal(int interval, int duration) java.util.List simulateOutlier(int interval, int duration) Acestea specifică ce caracteristică să aibă seriile de timp generate relativ la incadraraea valorilor inlimitele admise. Parametrii celor 3 metode indică durata de timp totală şi intervalul între măsurătorile simulate ale unui senzor pentru care să se genereze valorile cerute.

• PHSimulator : implementează interfața Simulator, • ConductivitySimulator : implementează interfața Simulator. • TurbiditySimulator : implementează interfața Simulator. • Reading: împachetează valorile generate de un Simulator cu o componentă de timp,

reprezentând momentul efectuării măsurătorii. Are atributele : float value, Calendar time care se seteaza prin metoda constructor Reading(float v,Calendar t).

• CSVReadingsFormatter: implementează interfaţa java.lang.Runnable, pentru execuţie concurentă a generării valorilor parametrilor de calitate a apei. Constructorul are semnătură: public CSVReadingsFormatter(java.util.List citiri,long intervalSecunde,java.lang.Strîng fileName) Lista “citiri” se formatează că mesaje succesive (fişiere) care se “trimit” (se creează pe disc) la intervalul de timp în secunde intervalSecunde, iar fişierele vor fi create cu numele “ fileName”.

• BinaryReadingsFormatter : implementează interfaţa java.lang.Runnable, pentru execuţie concurenţă a generării valorilor parametrilor de calitate a apei. Constructorul are semnătura: public BinaryReadingsFormatter(java.util.List citiri, long intervalSecunde, java.lang.Strîng fileName) Semnificaţia parametrilor este aceeaşi ca în cazul constructorului CSVReadingsFormatter.

• XMLReadingsFormatter : implementează interfaţa java.lang.Runnable, pentru execuţie concurentă a generării valorilor parametrilor de calitate a apei. Constructorul are semnătura: public XMLReadingsFormatter(java.util.List citiri, java.lang.Strîng fileName) În cazul acesta nu se trimit mesaje succesive, la intervale de timp corespunzând măsurătorilor simulate, ci se conglomerează întreaga serie de timp „citiri” într-un fişier în format XML, care respectă schema descrisă mai jos, în cadrul formatelor fişierelor de date.

• IncomingReadingsWatcher: monitorizeaza un director in care se primesc mesajele de date,sub forma fisierelor in diferitele formate mentionate. Are o singura metoda, care trebuie sa seexecute continuu, pentru a asigura procesarea neintrerupta a datelor care sosesc de la sistemulde achizitie a datelor privind parametrii de calitate a apei:void processEvents()La detectarea unui eveniment de creare a unui fisier in directorul monitorizat, in functiede tipul specificat prin numele sau, se va obtine o instanta de clasa procesatoare potrivita acelui tip de fisier. Folosim sablonul de design Factory pentru a decupla clasele implicate si a oferi usurinta in adaugari ulterioare de tipuri de fisiere folosite, si deci clase de procesare (parsare si stocare) corespunzatoare. Dupa procesarea cu succes a unui fisier de date, acesta se sterge. In caz ca nu s-a procesat cu succes, ramane pe disc si se genereaza un mesaj de eroare in logurile aplicatiei.

• ReadingsParserFactory: clasa Factory ce prin metoda: public static getInstance(java.lang.Strîng fileName) oferă instanţierea clasei de procesare corespunzătoare, în funcţie de numele fişierului ce trebuie parsat, „fileName:”.

Page 36: Arhitectura orientat ă pe sub-sisteme pentru platforma ... · Vedere generala a aplica ției – diagrama de pachete ..... 31 Figura 17. Diagrama flux de date in modulul de simulare

36

• ReadingsParser: este interfața ce trebuie implementată de clasele care procesează fișierele de date în diferitele formate. Comportamentul acesta se exprimă prin metoda : boolean parse(java.nio.file.Path fișier_sursă) Valoarea booleană returnată se referă la succesul operațiunilor de parsare a fișierului specificat ca parametru și stocarea datelor în baza de date.

• CSVReadingsParser: implementează interfața ReadingsParser, oferind în metoda boolean parse(java.nio.file.Path fișier_sursă) funcționalitatea de parsare și transformare din formatul CSV descris mai jos în modelul de date corespunzător senzorilor și măsurătorilor.

• BinaryReadingsParser: implementează interfața ReadingsParser, oferind în metoda boolean parse(java.nio.file.Path fișier_sursă) funcționalitatea de parsare și transformare din formatul binar descris mai jos în modelul de date corespunzător senzorilor și măsurătorilor.

• XMLReadingsParser: implementează interfața ReadingsParser, oferind în metoda boolean parse(java.nio.file.Path fișier_sursă) funcționalitatea de parsare și transformare din formatul XML de date descris mai jos în modelul de date corespunzător senzorilor și măsurătorilor.

• ReadingsDAO: oferă funcționalitatea de inserare în baza de date a valorilor măsurătorilor simulate. Metodele sale sunt:

o void connect() o void disconnect()boolean insertReading(int senzorId, java.util.Calendar c, float valoare) Utilizatorul modului de generare a valorilor parametrilor de calitate a apei trebuie să specifice comportamentul dorit prin editarea unui fişier de configurare, referindu-se la tipul de senzor care se doreşte a fi simulat, regimul valorilor dorite referitor la încadrarea în limitele permise, intervalul de timp între care se simulează măsurătorile dorite şi durata de timp pe care să se întindă simularea.

Page 37: Arhitectura orientat ă pe sub-sisteme pentru platforma ... · Vedere generala a aplica ției – diagrama de pachete ..... 31 Figura 17. Diagrama flux de date in modulul de simulare

37

Figura 21.Diagramă de secvenţă prezentând realizarea cazului de utilizare de preluare şi stocare a seriilor de

timp pentru parametrii de calitate a apei.

Figura 22. Diagrama de pachete a sistemului de generare și preluare date

Fişierul de configurare pentru simulatorul seriilor de timp este în format XML, având schema următoare: <?xml version="1.0" encoding="ISO-8859-1" ?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="sensor_simulation"> <xs:complexType>

Page 38: Arhitectura orientat ă pe sub-sisteme pentru platforma ... · Vedere generala a aplica ției – diagrama de pachete ..... 31 Figura 17. Diagrama flux de date in modulul de simulare

38

<xs:sequence> <xs:element name="sensor"> <xs:complexType> <xs:sequence> <xs:element name="type"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="pH"/> <xs:enumeration value="conductance"/> <xs:enumeration value="turbidity"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="behavior"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="normal"/> <xs:enumeration value="withOutliers"/> <xs:enumeration value="event"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="interval" type="xs:positiveInteger"/> <xs:element name="duration" type="xs:positiveInteger"/> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:schema> Elementul 'type' poate lua valorile parametrilor considerați: „pH”, „conductance”, „turbidity”. Funcționarea în regim normal sau de tip eveniment (poluare) se specifică prin valorile „normal”, respectiv „event” pentru elementul 'behavior'. Elementele 'interval' și 'duration' se folosesc pentru specificarea în secunde a intervalului între măsuratorile simulate și durată pe care să se întindă simularea. Putem astfel specifică un număr oricât de mare de senzori ai căror măsurători să le simulăm, concomitent. Odată obținute valorile măsurătorilor simulate, imitând modul în care datele sunt transmise printr-o rețea de comunicații în aplicațiile de monitorzare a calități apei, putem considera câteva formate întâlnite de obicei în formatarea datelor de către dataloggere. Nu există un standard pentru această, fiecare producător de echipamente alegând formatul în care se pot livra datele, unele echipamente permițând configurarea pentru a alege între formatele disponibile. Formatele fșierelor de date considerate în aplicația de față sunt: o binar proprietar : conține trei câmpuri, pentru dimensiuni reduse (v. tabelul 2). Primul este identificatorul senzorului de origine, al doilea ora efectuării măsurării, exprimată ca ordinalul secundei din zi (deci valoarea cuprinsă între 0 – 86400) și valoarea masurată. Data se va completa în cadrul aplicației care despachetează și stochează datele în baza de date,tinând cont de o eventualătrecerepesteora 0:00 cauzatăde întârzieriîn transportul datelor. Presupunemcă acest tip de împachetare este folosit de senzorul de conductivitate, pentru

Page 39: Arhitectura orientat ă pe sub-sisteme pentru platforma ... · Vedere generala a aplica ției – diagrama de pachete ..... 31 Figura 17. Diagrama flux de date in modulul de simulare

39

exemplificare în aplicație. Tabel 2. Formatul binar utilizat pentru date de calitatea apei privind conductanta electrica Identificator snzor Ordinalul secundei din zi Valoare

XML, deși destul de prolix, este din ce în ce mai folosit în transportul datelor de la senzorii de calitatea apei. Formatul XML utilizat în prezenta aplicație pentru datele generate respectă schema urmatoare : <?xml version="1.0" encoding="UTF-8" ?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="data_msg"> <xs:complexType> <xs:sequence> <xs:element name="sensor"> <xs:complexType> <xs:attribute name="sensorId" type="xs:string" use="required"/> <xs:sequence> <xs:element name="reading"> <xs:complexType> <xs:elementname="time"type="xs:dateTime> <xs:element name="value" type="xs:decimal"/> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:schema> Acest format va fi folosit pentru agregarea citirilor simulate pe toată durata simulării unui senzor de ph, plecând de la practica reală de a se acumula mai multe măsurători la nivel de datalogger, înainte de a fi transmise. CSV, text cu câmpuri separate de virgule, conținând în ordine identificatorul senzorului de origine, data în format an,luna,zi a AAAAMMDD și oră măsurătorii, iar ultimul câmp, valoarea măsurată : Id_Senzor,YYYYMMDD,HH:MM:SS,Valoare_măsurată.

Page 40: Arhitectura orientat ă pe sub-sisteme pentru platforma ... · Vedere generala a aplica ției – diagrama de pachete ..... 31 Figura 17. Diagrama flux de date in modulul de simulare

40

5. Nivelul Aplicatie Această aplicație utilizează baza de date în care se stochează datele generate și încărcate. Datele privind calitatea apei din râuri sunt atât de interes general, ținând cont de multiplele utilizări pe care le poate avea apa râurilor - inclusiv pentru publicul larg: pescuit, îmbăiat, irigat - cât și de interes specializat pentru membrii comunității științifice sau implicați în managementul respectivului bazin hidrografic. Este utilă așadar folosirea unei aplicații online care să ofere accesul rapid și facil la aceste date oricui este interesat. Pe lângă urmărirea și consultarea în timp real a datelor de monitorizare a calității apei, se pune la dispoziția utilizatorilor un instrument de simulare a propagării unui poluant, în caz de depășire a valorilor admise, care să înfățișeze grafic evoluția în timp și în lungimea cursului de apa a concentrațiilor respectivului constituent.

5. 1 Proiectare de detaliu

5.1.1 Arhitectura pe trei niveluri a aplicaţiei

Pentru a obţine o structură modulară şi flexibil ă, care să permită reutilizarea unor componente prin izolarea între prezentare, procesare şi date, aplicaţia web este bazată pe şablonul arhitectural MVC (Model View Controller). La nivel conceptual, se distinge astfel o structură pe niveluri (Figura 21):

Figura 23. Structura pe niveluri logice a aplicatiei web Aplicaţia web este dezvoltată pe platforma Java EE 6, beneficiind astfel de portabilitatea, securitatea şi productivitatea în dezvoltare dovedite în timp pe care această le oferă. Urmând modelul arhitectural distribuit Java EE [33] , prezenta aplicaţie web se structurează pe trei niveluri logice (şablonul arhitectural „three-tier”, care oferă flexibilitate şi reutilizabilitate aplicaţiilor), unul al prezentării, unul al procesării (controlului) şi unul al datelor. Conceptual, în modelul de aplicaţii Java EE se pot distinge chiar 4 niveluri (Figura 23), dar ţinându-se cont şi de localizarea fizică a componentelor care rulează în cadrul aplicaţiilor, de cele mai multe ori se consideră doar 3. Componentele se află localizate fizic astfel: - componentele aflate la nivelul client rulează pe maşină client (în web browser, care afişează paginile în marcaj HTML generate la nivelul Web şi interpretează scripturile Javascript) componentele aflate la nivelul Web rulează pe serverul Java EE (în cazul nostru, componente Java Server Faces). - componentele pentru logică de business rulează pe serverul Java EE (Enterprise Java Beans, oferind atât accesul la datele din nivelul de date cât şi procesarea necesară asupra lor) programele din nivelul sistemului de informaţii corporativ (EIS: Enterprise Information System)

Page 41: Arhitectura orientat ă pe sub-sisteme pentru platforma ... · Vedere generala a aplica ției – diagrama de pachete ..... 31 Figura 17. Diagrama flux de date in modulul de simulare

41

rulează pe serverul respectiv EIS, în cazul nostru acesta identificându-se cu serverul bazei de date.

Figura 24. Aplicatii distribuite multi-nivel. Prelu are din [33]

1. Nivelul prezentare Clienţii aplicaţiei web de faţă sunt compuşi din două părţi. Prima parte o constituie paginile web dinamice care utilizează diferite limbaje de marcare (HTML, XML etc.), care sunt generate de componentele web care rulează pe serverul Java EE. A două parte este web browserul care afişează aceste pagini, obţinute de la serverul web. Se obţine astfel avantajul de a avea un acces facil şi rapid la aplicaţia de monitorizare a parametrilor de calitate a apei, fără necesitatea de a se instala vreun alt software (exceptând browserul), o poliţa de securitate sau un plugin.

2. Nivelul procesării Acesta se situează în cadrul serverului Java EE, beneficiind de serviciile oferite de acesta, făcând aplicaţia mult mai uşor de dezvoltat şi întreţinut. La acest nivel se plasează componente Web, care folosesc tehnologii Java Servlet, JavaServer Pages (JSP) sau JavaServer Faces (JSF), precum şi componente Enterprise Java Beans (EJB), pentru procesarea logicii de business. În cadrul aplicaţiei sunt folosite şi aşa-numitele “JavaBeans”, care sunt folosite pentru controlul procesării datelor între client şi componentele aflate pe serverul Java EE, precum şi între acestea din urmă şi o baza de date. Sunt clase simple, constituite conform arhitecturii JavaBeans, respectând convenţiile specificate de această. Componentele JavaBeans nu sunt considerate, conform specificaţiei, componente Java EE [33]. Componentele care se adresează cerinţelor de procesare dintr-un anumit domeniu, pentru care se creează aplicaţia Java EE, sunt componentele Enterprise Java Beans (EJB), care pot rula fie în nivelul web, fie în nivelul de logică de business de pe server. Pot avea roluri multiple: • primesc date de la partea client și le procesează, dacă e necesar • trimit datele primite la nivelul de stocare (EIS: Enterprise Information System)

Page 42: Arhitectura orientat ă pe sub-sisteme pentru platforma ... · Vedere generala a aplica ției – diagrama de pachete ..... 31 Figura 17. Diagrama flux de date in modulul de simulare

42

• obțin datele din nivelul de stocare • procesează, daca e cazul, și trimit datele înapoi catre client

3. Nivelul de date Urmând logica de separare a prezentării, procesării şi datelor, aici se încapsulează accesul la sursă de date, în cazul de faţă, un sistem de gestiune a bazelor de date relaţional. Prin decuplarea faţă de componentele de business se obţine uşurinţă în mentenanţă aplicaţiei şi flexibilitate.

5.1.1.2 Realizarea cazurilor de utilizare

Această secţiune prezintă modul în care se realizează cazurile de utilizare (sau scenariile) în aplicaţia web, prin intermediul diagramelor de secvenţă ce arată cum diferitele elemente ale modelului de design interacţionează că să ofere comportamentul dorit.Vizualizarea valorilor curente ale parametrilor de calitate a apei. Utilizatorului i se oferă în pagină de primire a aplicaţiei web o harta pe care sunt indicate locaţiile în care sunt amplasaţi senzorii, prin efectuarea unui click pe unul dintre aceste puncte, se oferă detalii privind coordonatele geografice, precum şi cele mai recente valori înregistrate pentru fiecare parametru măsurat sau estimat în acel loc. Pe harta se pre-populează locaţiile în care sunt amplasaţi senzorii prin interogarea bazei de date, folosind un manager de entităţi disponibil în Managed Bean-ul corespunzător hărţii Google folosite şi o interogare predefinită JPA (Named Query). La efectuarea unui click într-unul din locurile marcate pe harta că având senzori amplasaţi, se lansează un eveniment de selectare a markerului de pe harta Google, iar locul respectiv se transmite către un EJB care interoghează baza de date privind măsurătorile şi estimările disponibile, pentru a se afişa cele mai recente. Rezultatul se întoarce în Managed Bean-ul corespunzător hărţii, incluzând informaţii despre limitele admise şi încadrarea curentei valori între acestea. Figura 25 prezintă diagramă de secvenţă corespunzătoare acestor interacţiuni. Vizualizarea istoricului pentru parametrii de calitate a apei Acest caz de utilizare include cazul anterior, accesul la istoricul fiecărui parametru de calitate a apei într-un loc de pe cursul râului făcându-se prin fereastră de afişare a detaliilor, care conţine valorile cele mai recente. Plasat aşadar în secvenţă temporală posterior acestuia, se transmite locul de interes în vederea de istoric, că parametru al cererii HTTP GET. Noua vedere JSF care se generează afişează parametri de calitate a apei disponibili în locul ales, prin intermediul unui EJB dedicat, şi permite selectarea unui subset din parametrii de calitate măsuraţi sau estimaţi în locul deja ales, ale căror informaţii istorice se vor afişa sub formă de grafic şi tabel de date, putându-se filtra după un interval de timp dorit. Comunicarea între Managed Bean-ul care oferă controlul spre vederea JSF şi EJB-urile care controlează accesul la date se face prin intermediul unor obiecte POJO (Plain Old Java Object, componente Java simple), care împachetează şi filtrează datele variate de care este nevoie pe parcursul procesării, până la afişarea în formă dorită (grafice, tabele). Figura 26 prezintă în cadrul modelului de design realizarea cazului de utilizare de vizualizare a istoricului pentru parametrii de calitate a apei disponibili într-un loc selectat.

Page 43: Arhitectura orientat ă pe sub-sisteme pentru platforma ... · Vedere generala a aplica ției – diagrama de pachete ..... 31 Figura 17. Diagrama flux de date in modulul de simulare

43

Figura 25. Diagrama de secvenţă vizualizare valori recente parametri de calitate a apei Simularea propagarii unui poluant În cazul în care valorile curente (cele mai recente măsurate, respectiv estimate) care se pot vizualiza în cadrul cazului de utilizare respectiv depăşesc limita admisă, se poate rula un model de propagare a poluantului respectiv, dacă este implicat un constituent care să se poate exprimă sub formă de concentraţie. Forma de simulare a propagării poluării în lungimea râului şi cu variaţia în timp apare în cadrul aceleiaşi ferestre de afişaj în care se pot vizualiza valorile curente ale parametrilor de calitate a apei. Prin specificarea unui pas în metri şi a unui timp de pornire (că interval scurs, în secunde, după înregistrarea valorii în afară limitelor) de la care să se facă simularea, se pot vizualiza grafic, pe harta răului, a zonelor poluate, la momentele prognozate conform modelului matematic utilizat. Se afişează în timpul simulării grafice şi o legendă dinamică a culorilor utilizate pentru marcarea zonelor poluate, pe intervale de valori ale concentraţiei, raportate la maximul admis. Acest caz de utilizare îl include aşadar pe cel al vizualizării valorilor celor mai recente ale parametrilor de calitate a apei, diagramă de secvenţă din figura 26 fiind plasată temporal după acesta. Diagrama de secvenţă din Figura 27 arată interacţiunea obiectelor care fac parte din modelul de design pentru realizarea acestui caz de utilizare.

Page 44: Arhitectura orientat ă pe sub-sisteme pentru platforma ... · Vedere generala a aplica ției – diagrama de pachete ..... 31 Figura 17. Diagrama flux de date in modulul de simulare

44

Figura 26. Diagrama de secvenţă pentru vizualizarea istoricului pentru parametrii de calitate a apei disponibili intr-un loc selectat de pe cursul râului

Managed Bean-ul care corespunde componenţei hărţii răului este cel care transmite obiectului POJO de control a simulării propagării parametrii în care să se facă simularea concentraţiilor poluantului pentru un moment dat, în mod repetat, până la epuizarea numărului de iteratii pentru care se face simularea, la un interval de timp prestabilit. Acest POJO accesează serviciile de acces la date oferite de EJB-urile dedicate accesului la datele privind structura reţelei hidrografice a Someşului Mic, precum şi modelul matematic de propagare a poluării, care oferă valoarea prognozată în punctul aflat la o distanţă dată de sursa râului, la un moment de timp dat după măsurarea concentraţiei iniţiale, în funcţie de concentraţia iniţială şi distanţă punctului unde s-a înregistrat această faţă de izvorul râului. Este folosit şi un obiect de selectare a culorii în funcţie de raportul concentraţiei faţă de limita admisă, ce poate furniza o descriere coloristică a intervalului în care se plasează concentraţia, pentru a se descrie grafic, pe harta, variaţia acesteia în spaţiu şi în timp în lungimea râului. Actualizarea vederii JSF prin componenta hărţii Google se face fără reîncărcarea întregii pagini, pentru o bună experienţă a utilizatorului. Pentru aceasta se foloseşte un mecanism de polling AJAX pentru obţinerea datelor privind concentraţiile în lungul râului, de la serverul aplicaţiei JAVA EE. Doar poliliniile efective se retrasează pe hartă, la cererea clientului, care rulează scripturi JavaScript pentru regăsirea obiectelor transmise în format JSON de la server, în urmă

Page 45: Arhitectura orientat ă pe sub-sisteme pentru platforma ... · Vedere generala a aplica ției – diagrama de pachete ..... 31 Figura 17. Diagrama flux de date in modulul de simulare

45

recalculării concentraţiilor în punctele cerute, la intervalul de timp prestabilit. Vom detalia acest aspect în cadrul subsectiunii referitoare la implementare.

Figura 27. Diagrama de secvență pentru simularea propagării polu ării in cazul depașirii concentrației maxime admise pentru un constituent chimic

5.2. Implementare

Conform arhitecturii generale a unei aplicaţii web Java EE, am structurat aplicaţia online de monitorizare a calităţii apei pe cele 3 niveluri principale: client, aplicaţie şi date. La nivelul de client sunt incluse paginile web generate de JSF2, care rulează în cadrul nivelului web de pe serverul de aplicaţii. În nivelul web sunt incluse fişierele XHTML create că faţete JSF (eng. facelets) , în cadrul frameworkului JSF 2, permiţând referirea metodelor şi proprietăţilor din componente Managed Bean prin folosirea expresiilor EL (Expression Language). Pe baza acestor componente, frameworkul JSF 2 generează pagini web că răspuns la cererile clienţilor aplicaţiei, făcute prin intermediul browserelor şi a protocolului HTTP. Adiţional, pentru integrarea componenţei hărţii Google Maps API v3 în cadrul JSF şi componente suplimentare de interfaţă utilizator, am folosit biblioteca JavaScript PrimeFaces 3.5. Contexts and Dependency Injection (CDI) în cadrul platformei Java EE permite reunirea nivelurilor web şi cel al procesării, prin oferirea de servicii ce permit regăsirea resurselor, de exemplu EJB, în cadrul altor componente, integrându-le într-o manieră uşoară, flexibilă şi sigură. Tot în cadrul serverului de aplicaţii, în cazul de faţă Glassfish 3.1, rulează la nivelul de business componentele EJB 3.1 ce

Page 46: Arhitectura orientat ă pe sub-sisteme pentru platforma ... · Vedere generala a aplica ției – diagrama de pachete ..... 31 Figura 17. Diagrama flux de date in modulul de simulare

46

oferă procesarea necesară şi accesul la nivelul de date, prin folosirea Java Persistence API (JPA), pentru maparea obiectual-relaţională (ORM). În următoarele secţiuni sunt prezentate principalele componente dezvoltate care alcătuiesc apliacatia online WebWater, de monitorizare a calităţii apei şi simulare a propagării poluării în răul Someşul Mic.

5.2.1 Componentele faţete JSF

Sunt cele care specifică modul de compunere a structurii arborescente de componente care alcătuiesc interfaţa utilizator, în limbaj HTML. Pornind de la faţetele JSF, frameworkul JSF 2 poate genera dinamic vederile care îi oferă utilizatorului interfaţă cu aplicaţia web, în funcţie de nteractiunile acestuia cu elementele aplicaţiei la nivel de client. Index.xhtml e faţetă JSF 2 care e baza pentru pagină de pornire a aplicaţiei. Agregă componentă primefaces , care oferă integrarea rapidă a Google Maps API v3 în aplicaţiile ce utilizează JSF 2, în manieră similară celorlalte componente, la nivel sintactic. Exprimarea atributelor pentru crearea hărţii particulare dorite se specifică, aşadar, urmând aceleaşi stil de marcaje XHTML, dar în domeniul de nume Primefaces (xmlns:p="http://primefaces.org/ui"). Folosirea Google Maps API oferă baza pentru reprezentarea grafică a topologiei hidrografice, fiind folosită atât pentru marcarea locaţiilor senzorilor simulati, cât şi afişarea datelor măsurate de aceştia, precum şi că baza pentru simularea grafică a propagării unui poluant în lungime râului Someşul Mic. Pe lângă componentă hărţii se includ componentele de marcare (markere Google Maps), ferestre informative şi polilinii (în Google Maps JavaScript API v3 denumite polyline), linii care conţin drumuri consituite din secvenţe ordonate de coordonate geografice, cărora li se pot specifică atribute de reprezentare grafică: culoarea, grosimea şi gradul de transparenţă ale liniei. Această faţetă mai conţine, pe lângă componenta hărţii, împreună cu logică de accesare a atributelor şi metodelor componentei Managed Bean corespunzătoare ei, şi un formular care permite simularea generică a propagării unui poluant, fără a se preciza exact tipul sau, ci doar concentraţia iniţială, concentraţia maximă admisă, punctul geografic (latitudine, longitudine) de pe cursul râului de unde se presupune a origina poluantul, pasul de calculare a punctelor intermediare pe lungimea râului şi timpul scurs după producerea poluării, ca timp de pornire a simulării. Pentru simularea&nbsp;grafică a evoluţiei propagării poluantului în lungimea râului şi în timp, că utilizatorul să aibă o prezentare continuă a modificărilor grafice pe harta râului, am folosit tehnologia AJAX pentru reîncărcarea la fiecare pas simulat de timp a listei de segmente de râu, reprezentate că polilinii cu culori corespunzătoare codului de culori pentru concentraţia prognozată pe acel segment. În combinaţie cu transmiterea acestor obiecte în format JSON, regăsindu-le apoi la nivelul client şi utilizându-le în scriptul JavaScript ce actualizează harta Google folosită pentru reprezentarea râului, pagină nu este reîncărcată şi deci nu apar sincope în vizualizare. Paşii de simulare a evoluţiei poluării se obţin prin folosirea tehnicii de “polling”, se comunica periodic de la client, către server, cererea de executare a unei metode (ajaxPoll a clasei MapBean) care controlează calcularea concentraţiei prognozate în punctele dorite pe lungimea cursului de apă. Istoric, .xhtml este faţeta JSF 2 care permite vizualizarea istoricului datelor despre parametrii de calitate a apei măsuraţi sau estimaţi într-un anume punct. Include componente de interacţiune cu utilizatorul, permiţându-i acestuia să selecteze parametrii de calitate ale căror valori istorice le doreşte, dintre cei disponibili în punctul respectiv. Pagină istoric.xhtml este accesibilă prin intermediul unui link prezent în fereastră informativă care este afişată la selectarea unui marker de pe componentă hărţii din index.xhtml. Dacă se accesează pagină direct, fără selectarea

Page 47: Arhitectura orientat ă pe sub-sisteme pentru platforma ... · Vedere generala a aplica ției – diagrama de pachete ..... 31 Figura 17. Diagrama flux de date in modulul de simulare

47

prealabilă a locului (care se transmite că parametru al cererii HTTP GET, în scenariul urmării linkului din fereastră informativă), faţetă are prevăzută afişarea unui meniu de alegere a locului în care se doreşte consultarea istoricului valorilor parametrilor de calitate a apei urmăriţi. După selectarea prin intermediul unor componente checkbox a parametrilor doriţi, în pagină se vor afişa secţiuni de tip tab pentru fiecare parametru ales, în care, folosind componente tip calendar, se poate alege intervalul de timp între care să se încadreze valorile ce vor fi afişate, sub formă de grafic şi tabel de date. Vederileastfelconstruiteinclud componentedin bibliotecaPrimeFaces(taguride forma <p:...>), din nucleulfatetelorJSF2(tagurilecomponentelorde tip <f:...>) saucomponente standard HTML (<h:..>).

5.2.2. Pachetele aplicaţiei web

In continuare prezentăm cele mai semnificative clase utilizate în construirea aplicației web:

5.2.2.1.Pachetul control

Conţine clasele de tip Managed Bean care corespund faţetelor JSF 2 utilizate, oferind atribute şi metode pentru realizarea funcţionalităţii dorite. Sunt în general construite că nişte componente JavaBeans, axate pe modelul simplu cu metode get-set, cu evitarea înserării de logică de business în metodele lor, din cauza ciclului complex de viaţă al componentelor JSF. Corespunzând celor două faţete JSF 2 prezentate în secţiunea anterioară, există două componente Managed Bean care le corespund: MapBean şi IstoricBean; o componentă EJB, de control al simulării propagării poluanţilor (SimulationController), iar restul claselor incluse în acest pachet sunt auxiliare, POJO, de împachetare a datelor. MapBean : este adnotată cu @ManagedBean, @ViewScoped, indicându-se că ciclul de viaţă al acestui component este administrat de frameworkul JSF 2 (creare, initializarea parametrilor, distrugere etc.). Domeniul (Scope) se referă la “valabilitatea” unei instanţe a acestei clase, în acest caz acelaşi obiect MapBean se foloseşte atâta timp cât utilizatorul rămâne pe pagină corespunzătoare, index.xhtml. Clasa foloseşte prin intermediul CDI componentele EJB 3.1 din pachetul “service” pentru obţinerea accesului la nivelul de date. Metodele sale corespund funcţionalităţii cazurilor de utilizare 1 şi 3. Pentru afişarea valorilor recente ale parametrilor de caliatate a apei sunt metode pentru: initializarea listei locurilor în care se află amplasaţi senzori, interogând baza de date setarea locului în care sunt amplasaţi senzori pe care utilizatorul a făcut click (prin listenerul de evenimente onOverlaySelect: public void onOverlaySelect(OverlaySelectEvent event)) obţinerea markerului curent, din care se poate obţine obiectul reprezentând locul obţinerea listei cu cele mai recente valori măsurate sau estimate în locul deja selectat (public List getValoriMarimi(), întoarce atributul valoriMarimi, care se intializeaza în onOverlaySelect, listenerul corespunzător efectuării click pe un marker de pe harta). Pentru simularea evoluţiei poluării, clasa MapBean are o serie de metode set-get pentru&nbsp;atributele legate de parametrii de simulare: concentraţia iniţială, concentraţia maximă admisă, punctul geografic (latitudine, longitudine) de pe cursul râului de unde se presupune a origina poluantul, pasul de calculare a punctelor intermediare pe lungimea râului şi timpul scurs după producerea poluării, ca timp de pornire a simulării:

• getScLatSursapublic • java.math.BigDecimal

Page 48: Arhitectura orientat ă pe sub-sisteme pentru platforma ... · Vedere generala a aplica ției – diagrama de pachete ..... 31 Figura 17. Diagrama flux de date in modulul de simulare

48

• getScLatSursa() • setScLatSursapublic • void setScLatSursa(java.math.BigDecimal scLatSursa) • getScLongSursapublic java.math.BigDecimal getScLongSursa() • setScLongSursapublic void setScLongSursa(java.math.BigDecimal scLongSursa) • getScConcInitpublic • double getScConcInit()setScConcInitpublic, etc.

Metoda public void sim() este corespunzătoare formularului prezent în josul paginii index.xhtml, preia atributele menţionate anterior că parametrii de simulare, rulandu-se apoi simularea grafică, prin apelarea funcţiei JavaScript mypoll.start(), disponibilă ca punct de intrare pentru tehnică de polling oferită de biblioteca PrimeFaces. Această presupune rularea periodică a metodei clasei MapBean ajaxPoll(), care apelează metoda simulateAlongRiver a unui obiect de tip SimulationController pentru recalcularea la momentul de timp respectiv a concentraţiilor prognozate pe segmentele de râu. IstoricBean este componenta Managed Bean corespunzătoare faţetei istoric.xhtml. Ea oferă liantul între această şi acceasul la datele din nivelul de date, prin folosirea EJB-urilor din pachetul “service” care sunt injectate prin CDI şi făcute astfel disponibile. Metodele sale corespund atât atributelor care se setează pe măsură ce utilizatorul interacţionează cu vederea istoric.xhtml, cât şi listenerelor necesare pentru initializarea premergătoare afişării anumitor componente din această vedere. Astfel, există metode pentru setarea atributelor ca locul de amplasare a senzorilor de interes, lista parametrilor de calitate a apei ales de utilizator pentru afişarea istoricului : • public void setLoc(Locuri loc)dacă accesarea paginii s-a făcut direct (de exemplu, este

salvată ca favorite in browser),fără ca sa se transmita parametrul vederii reprezentând locul ales din index.xhtml, se poate alege dintr-un meniu locul dorit

• voidsetSenzSelectati(java.util.List<java.lang.Integer> senzSelectati) din lista senzorilor disponibili în locul curent, se poate alege un subset al cărui istoric va fi afișat

• void setEstimSelectate(java.util.List<java.lang.String> estimSelectate) din lista parametrilor de calitate estimați pe baza surogatelor, disponibili în locul curent,se poate alege un subset al cărui istoric va fi afișat

Metodele care sunt folosite pentru pre-popularea componentelor sunt: • public List<Locuri>getLocuriCuSenzori () , folosește un EJB pentru a accesa datele

referitoare la locurile în care există senzori amplasați • public List<Senzor>getSenzoriDisp() , folosește un EJB ce accesează datele privitoare la

senzori pentru popularea listei de senzori disponibili (amplasați) într-un anumit loc • public void initStatsM() initializează datele de sumar privind un parametru de calitate a

apeicareafostselectatpentru vizualizareaistoricului,de ex.perioadaîn careexistă măsurătorisau estimari disponibile

Aceste metode listener sunt apelate de frameworkul JSF2 în mod automat, în ciclul de viaţă al vederii istoric.xhtml, majoritatea fiind legate de evenimente pre-afişare (preRenderComponent sau preRenderView în cazul preluării parametrului vederii Idloc).SimulationController : este o EJB care controlează simularea propagării unui poluant la un moment fix în timp. Foloseşte serviciile altor EJB-uri (@EJB private HydroNodesService hynServ; @EJB private RiverPointLocator locator), legate de topologia cursului de apă şi de translatarea între modul de referenţiere liniară a punctelor de pe râu, folosit în cadrul modelului matematic de propagare a

Page 49: Arhitectura orientat ă pe sub-sisteme pentru platforma ... · Vedere generala a aplica ției – diagrama de pachete ..... 31 Figura 17. Diagrama flux de date in modulul de simulare

49

poluării, şi georeferentierea prin specificarea latitudinii şi a longitudinii. Atributele acestei clase sunt aşadar clasate că parametrii de simulare a propagării: • int pas - reprezintă pasul în metri, din ce în ce distanța se simulează în avalul râului, • int deltaTimp reprezintătimpul ca numar de secunde trecute de la detectarea poluării • BigDecimal latSursa, longSursa sunt coordonatele geografice ale sursei poluării, aflate pe

râu • double concInit, concLimit concentrațiiledetectate,respectivmaximaadmisăpentru acest

parametru de calitate a apei, atributele mentionate anterior,EJB-urilenecesare pentrudiferitelecalculesideterminarilegatede topologiahidrografica:

o @EJB private HydroNodesService hynServ o @EJB private RiverPointLocator locator

si atributele care exprimămaparea concentrațiilor prognozate în punctele calculate pe lungimea râului la momentul deltaTimp, precum si o legendă explicativă a codurilor de culoare, care va fi transmisă la nivelul prezentare.

5.2.2.2.Pachetul service

Contine claseleEJB folositede cătrenivelul web, maiexactde catrecomponenteledin pachetul “control” pentrua accesa și procesa datele din nivelul de date, împreună cu clase de împachetare a datelor(CoordOnLink,LatiLongi)sauprocesare(Projection).EJB-urilesuntexclusivde sesiune, locale și fără stare (@Stateless) și sunt logic separate pe entitatile accesate, putându-sereferi chiar la vederi ce includ mai multe entități, indicate prin numele lor: o SenzorService: oferă metode de regăsire a obiectului Senzor în funcţie de identificatorul

specificat, precum şi de obţinere a listei de senzori dintr-un loc specificat o LocuriService : oferă o metodă de selectare doara obiectelorLocuri ce au relații cu obiecte o Senzor (există senzori amplasați în locurile respective) o MasuratoriService : oferă metode de selectare a măsurătorilor şi informaţiilor legate de

acestea, ca: în ce interval de timp există măsurători pentru un senzor dat, care e numărul total de măsurători pentru un senzor dat, de câte ori s-au depăşit limitele pentru parametrul de calitate a apei măsurat de un senzor, lista măsurătorilor făcute de un senzor într-un interval de timp.

o DateMasuratori:accesează date corespunzătoare mai multor entităţi (Senzor, TipSenzor, LimitePermise), furnizând numele şi unitatea de măsură, precum şi limitele permise ale unui parametru de calitate a apei măsurat de un senzor.

o RiverPointLocator : permite localizarea unui punct dat ca pereche de coordonate geografice: latitudine, longitudinepe rețeaua râului, aproximându-l ca punct aflat pe un anumit segment (se obtine prin metoda public WatercourseLinks getOnLink()) din rețeaua hidrografică și la distanța în metri (returnată de metoda public float getPartialLength()) de capatul său din amonte. Clasa depinde de clasa POJO Projection, care calculează proiectia unui punct pe un segment de râu din rețeaua hidrografică. Punctul care trebuie localizat se acceptăca aparținând rețelei hidrograficedacă seincadreazaintr-o toleranțăde aproximativ10 metri(0.0009 grade decimale, pentru Romania un grad decimal corespunzandla cca. 112000 m) de la linia mediană a cursului râului. In cazul în care punctul investigat aparține rețelei hidrografice, metoda:

o public LatiLongi locateOnRiver(BigDecimal latPoint, BigDecimal longPoint) - va determina segmentul pe carese află proiecția acestuia pe cea mai apropiată legătură din rețeaua râului și va calcula distanța față de nodul din amonte al acelei legături.

Page 50: Arhitectura orientat ă pe sub-sisteme pentru platforma ... · Vedere generala a aplica ției – diagrama de pachete ..... 31 Figura 17. Diagrama flux de date in modulul de simulare

50

o HydroNodesService : oferă metode necesare pentru procesarea și regăsirea datelor referitoare la nodurile componente în rețeaua râului, HydroNodes. Metodele sale:

o public HydroNodes getByLatLong(BigDecimal latitude, BigDecimal longitude) permite identificarea unui nod pe baza atributelor sale geografice, care trebuie sa fie exacte

o public HydroNodes getANeighbourDown(HydroNodes nod) si public HydroNodes getANeighbourDown(BigDecimallatitude,BigDecimallongitude) suntmetode supraîncarcatede obținere anodului vecin dinaval,pentru variantediferitede specificare a noduluide interessimilar,existămetodepentru determinareanodului vecin din amonte:public HydroNodes getANeighbourUp(BigDecimallatitude,BigDecimallongitude) șipublic HydroNodes getANeighbourUp(HydroNodes nod)

o public Float getLengthFromSource(BigDecimal latitude, BigDecimal longitude) permite calculareadistanțeiîn metrifațăde izvorul râului pentru un punct specificatprin coordonatele sale geografice. Se analizează cazurile de apartenență sau neapartenență la rețeaua râului, identificarea cu un nod de capat definit în rețea (capat al unei legaturi) sau un punct de pe geometria rețelei oarecare.

o public CoordOnLink computeOffsetFromPoint(BigDecimallatStart,BigDecimal longStart, float dist) este metodacare întoarce coordonatele punctului aflat pe râu, la distanța dist în metri precizată, precum și linkul din râu (WatercourseLinks) pe care se afla.

5.2.2.3.Pachetul model

Conţine toate entităţile de persistentă corespunzătoare tabelelor din baza de date relaţională. Acestea sunt clase modelate ORM, conform specificaţiei JPA 2, obiectele instanţe ale lor fiind corelate cu tuplele din tabelele bazei de date. Relaţiile între entităţi se exprimă prin metadate obiectual- relaţionale, ce sunt, în cazul de faţă, adnotări făcute în clasele entităţi. Sunt incluse şi interogări predefinite (NamedQuery – uri), exprimate în limbaj JPQL, asemănător interogărilor SQL, dar care se aplică obiectelor instanţe ale entitailor, nu direct tabelelor SQL cu care se corelează. Aceste interogări se pot execută prin intermediul unui EntityManager, o resursă oferită de contextul de persistenţa ce coordonează accesul la entităţi şi disponibilă prin CDI.

5.2.2.4.Pachetul util

Conține clasele care realizează implementarea modelului matematic de propagarea poluanților în râu (SomesParameters, ConcentrationPredictor, ColorChooser) și utilitare (EarthDistanceCalculator): SomesParameters: implementeazăinterfațaRiverParameters,oferind parametriipentru râul Someșul Mic, folosiți în modelul matematic al propagarii poluanților : adâncime, pantă, viteza, coeficientul de dispersie într-un punct specificat ca distanța față de izvor, în metri ConcentrationPredictor : principala sa metoda este: o public double computeConcentration1D(double C0, double Cs0, double Cs, int

deltaTime, int x, int x0), care calculează concentrația [mg/L] în locul aflat la x [metri] de sursa poluării (care e in punctul x0), la deltaTime secunde de la momentul producerii poluării. C0 e concentrația initială (inainte de crestere/poluare) a poluantuluiin punctul x [mg/L], Cs0econcentrațiainitialălasursa [mg/L], iar Cs e concentrația în timpul deversării la sursa [mg/L].

ColorChooser:permite alegerea unei culori (exprimatăsubformacodului hexadecimal) corespunzatoare unui interval de valori în care se incadrează atributulsau value, în funcție de o valoare limită maximă. Atributul explanation specifică intervalul respectiv. Metoda principala este:public void computeColorIntervals(),celelalte fiind metode set-get pentru atribute.

Page 51: Arhitectura orientat ă pe sub-sisteme pentru platforma ... · Vedere generala a aplica ției – diagrama de pachete ..... 31 Figura 17. Diagrama flux de date in modulul de simulare

51

EarthDistanceCalculator:oferă metodade calculareadistanțeiîntre două punctede pe suprafața Pământului,specificateprin coordonatelelor geografice,tinând cont de geometria cvasi-sferica a Terrei, dar neconsiderând elevația: o public static double distFrom(double lat1, double lng1, double lat2, double lng2) Distanța se calculează în metri, folosind formula Haversine.

6. Arhitectura orientat ă pe sub-sisteme pentru platforma CyberWater. În figura 28 este prezentata arhitectura pe subsisteme a platformei CyberWater. În continuare vom descrie fiecare subsitem in parte. Modulul de Monitorizare – măsoară parametrii apei în timp real, folosind o rețea de senzori și îi transforma conform standardului SOS. Modulul de Informatie – face disponibileinformația măsurată, detaliile geografice si deciziile asupra unui grup de părțiinteresateprecum agentii nationale si regionale pentru managementul apei, agenti economici, corpuri administrative, cetateni; interoperabilitatea cu alte platforme va fi asigurata prin respectarea directivei INSPIRE.

Figura 28 Arhitectura orientapa pe subsiseme a platformei CyberWater Modulul de Decizie– ia decizii bazate pe un sistem expert activat in cazul unor valori anormale ale parametrilor masurati; motivul este bazat pe o serie de obiective stabilite de catre expertii in domeniu si un set de solutii alternative, care sunt evaluate pentru a indeplini aceste obiective; Modulul de Configurare – estimeaza parametriineasemanatori, cu unelte specializate precum MIKE si le pune la dispozitia sistemului; aceasta facilitate va fi oferita cu ajutorul autoritatea in administratia apelor si al specialistilor in stiinta hidorgrafica. Modulul de Propagare – excuta un model de propagare configurat în prealabil ori de câte ori există o poluare accidentală care este o cauza potenţială a atentionarii timpurie; excutia este bazată pe datele măsurate în amonte cu privire la agenţii poluanţi şi determină când substanţa

Propagation Subsystem

Information Subsystem Monitoring Subsystem

Measured and Surogate data

Working Data Hydrographic Basin Data

GIS Propagation

Data

Sensor Network

Data PreProcessing

Sensor Monitoring

Data Supplier

Visualization

Statistics

Decision Subsystem

Pollution Information

External Events

Warning and Risk Management Working Data Processing

Working and Propagation Data Analysis

Platform Configuration Subsystem

Configuration Data

Compute Propagation Data Model Parameter Estimator (MIKE)

Hydrographic Basin Profile

Data

Monitoring Calibration System

Page 52: Arhitectura orientat ă pe sub-sisteme pentru platforma ... · Vedere generala a aplica ției – diagrama de pachete ..... 31 Figura 17. Diagrama flux de date in modulul de simulare

52

poluantă va atinge diferite puncte din aval şi în ce concentraţie; această informaţie reprezintă o intrare importantă pentru modulul de suport al deciziei. Sistemul conține mai multe tipuri de date, care sunt gestionate de către diferiți parteneri de proiect, în mai multe baze de date. Cele mai importante date sunt:

• Date măsurate și surogat - provin de la rețeaua de senzori și conțin valori ale mărimilor fizice multiple obținute fie direct, de la apa, sau prin aplicarea unor formule matematice care prelucrează date surogat, cum ar fi conductivitate;

• Date de propagare GIS - provin de la executarea unui model de propagare, care a fost calibrat pentru secțiunea de râu specifica, care caracterizează gradul de poluare în locații ulterioare, de-a lungul râului;

• Date Bazinul Hidrografic - date geografice disponibile din ArcGIS Cloud și util pentru o vizualizare corectă a rezultatelor estimare și a recomandărilor de decizie, într-un mod familiar și accesibil experților domeniu și a populației simplu mod egal;

• Informa ții despre Poluare - cuprind informații importante cu privire la întreagul istoric al poluarii accidentale înregistrate de sistem și / sau importate din alte surse;

• Evenimente externe - reprezintă fapte care pot influenta poluarea sau propagarea acesteia și trebuie să fie luate în considerare de către subsistemul de suport al deciziei, acestea pot fi deja fenomene prezise, cum ar fi avertizări meteorologice, de exemplu, o furtuna mare, poate afecta precizia măsurătorilor efectuate cu rețeaua de senzori, înghețarea apei poate anula orice informație care vine de pe teren, sau ploile cod portocaliu se poate schimba modelul de propagare; Datele de configurare - se referă la calibrarea senzorilor, și, de asemenea, la estimarea parametrilor modelului de propagare (sau de calibrare sa, cum spun experții indomeniu), datele de configurare sunt așteptate să fie recalculate după evenimentele majoreîntâmplate.Arhitectura detaliată, cu subsistemele corespondentela zonele de interes din logica de business, este prezentată în figura 27.Sistemul de monitorizare conține două module: o Monitorizare senzori - pentru achiziționarea și stocarea de date brute provenite de la rețeaua

de senzori sau din alte surse, cum ar fi măsurători manuale efectuate de platforme construite deasupra râului în scopuri de observare.

o Preprocesare date- pentru obținerea unor cantități fizice derivate din datele măsurate și pentru verificareaunorpraguri elementare, care ar putea indica un risc de poluare.Subsistemul susține nu numai stocarea datelor măsurate și surogat, dar, de asemenea, o depozitarea separată a datelor de lucru.

Subsistemul de monitorizare măsoară date cu o frecvență constantă (de mai multe ori pe zi), dar aceasta nu transmite toate datele catre de celelalte subsisteme, din motive energetice. Prin urmare, există separat o stocare cu date care nu corespund uneieșantionari egale, dar au un ritm variabil în ceea ce privește necesitățile de luare a deciziilor și de alertare a populației în caz de accidente. Astfel, în acest sistem de stocare se pastreaza valori mai puține pentru situații de zi cu zi și mai multe valori pentru intervale de alertare. Subsistemul de informare este compus din trei module: o Vizualizare - prezintă diverse imagini ale segmentului de râu, compuse rin suprapunerea

hartii reconstruite din datele bazinului hidrografic cu valorile obținute din datele de lucru (furnizate de către subsistemul de monitorizare) și de propagarea de date GIS (furnizate de către subsistemul de propagare);

o Statistica - calculat pe baza datelor disponibile pentru seria de accidente de poluare, pentru parametrii normali;

o Working data processing - colectarea tuturor calcul necesare pentru obținerea de date derivate care vor fi vizualizate.

Subsistemul Decizion(Decizie) este format din două module:

Page 53: Arhitectura orientat ă pe sub-sisteme pentru platforma ... · Vedere generala a aplica ției – diagrama de pachete ..... 31 Figura 17. Diagrama flux de date in modulul de simulare

53

o Working and Propagation Data Analysis (Propagarea si Analiza datelor de lucru) - pregătirea deciziilor in concordanta cu obiectivele de protejare a populației și agentiiindustriali de efectele poluării ;

o Warning System (Sistemul de avertizare) - care oferă servicii de sensibilizare cu privire la potențialul pericol, gradul său, predicția evolutiei sale in viitorul apropiat și măsurile care trebuie luate pentru protecție. Subsistemul se bazează pe informații despre polare și sistemul de stocare de evenimente externe. Avertismentele sunt bazate pe mesaje asincrone, transmise pe o varietate de platforme, inclusiv sisteme de web si dispozitive mobile.

Subsistemul de configurare Platforma cuprinde două module: o Model Parameter Estimator (Modelul Parametru Estimator) - determină parametrii modelului

de propagare, pe baza datelor referitoare la profilul hidrografic, obținute prin măsurători sistematice de-a lungul râului, estimarea rămâne în general valabilapentru intervale lungi de timp (luni) și trebuie să fie re-executate, în cazul de alimente fluviale și alte evenimente majore, pachetul de simulare folosit în cadrul proiectului se numește MIKE BASIN;

o Monitoring Calibration System (Sistem de Calibrare de Monitorizare) - cu rol de reglare a intervalului de eșantionare a senzorilor în ceea ce privește cu contextul, și anume de a diminua intervalul în caz de acidente de poluare și să-l crească înapoi, atunci când evenimentul de poluare a fost raportat a fi terminat.

Propagation Subsystem (Subsistemul Propagare) conține un modul: Propagarea date calulată - responsabil cu executarea modelului de propagare, pe baza parametrilor obținuți din subsistemul de configurare și cu furnizarea de informații a deciziei și subsistemelor de vizualizare.

Page 54: Arhitectura orientat ă pe sub-sisteme pentru platforma ... · Vedere generala a aplica ției – diagrama de pachete ..... 31 Figura 17. Diagrama flux de date in modulul de simulare

54

7. Tehnologia ArcGIS folosită în sistemul CyberWater ArcGIS este o tehnologie proprietară care oferă numeroase instrumente pentru rezolvarea unor probleme spaţiale complexe oferind tehnici de modelare utilizate în analiză spaţială şi a instrumentelor şi proceselor ce pot fi folosite pentru a realiza diferite operaţii de analiză GIS. Aplicaţii create pe baza platformei ArcGIS sunt puse la dispoziţie prin intermediul portalului dezvoltatorului ESRI România sunt: ArcGIS for INSPIRE (Infrastructură de Date Spaţiale în concordanţă cu cerinţele INSPIRE); ArcLogistics (Rutare şi Trasee pentru Flote); Community Analyst (Capabilităţi GIS Capabilities într-un mediu uşor de utilizat); Business Analyst (Selectare de Locaţii şi Analiză de Piaţă); Esri Geoportal Server (O platforma pentru colaborarea Geospatiala); MapIt (Informaţiile de business afiste pe o harta); Mapping and Charting (Soluţii pentru o producţie optimizată de date şi produse cartografice); Situaţional Awareness (Date, Analiză şi Vizualizare). Capabilitățile funcționale ale platformei ArcGIS sunt prezentate în Figura 29.

Figura 29 Capabilitățile funcționale ale platformei ArcGIS (http://www.aeroterra.com/eng/p-esri.htm) Dintre acestea, pentru scopul proiectului vom descrie și identifica modelul de dezvoltare adoptat. Proiectul CyberWater va folosi urmartoarele componenteArcGIS: ArcGIS Desktop include o suită de aplicaţii integrate, ce include ArcMap , ArcCatalog, şi ArcToolbox. Cu ajutorul acestor aplicaţii vom realiza analize geografice editare şi prelucrare de hărţi, cartografiere, editarea şi prelucrarea datelor, gestionarea datelor, vizualizare şi geoprocesare. ArcMap este aplicaţia centrală în ArcGIS Desktop. Această este o aplicaţie GIS utilizată pentru toate operaţiile realizare a hărţilor, inclusiv cartografie, analiză, şi editare.

Page 55: Arhitectura orientat ă pe sub-sisteme pentru platforma ... · Vedere generala a aplica ției – diagrama de pachete ..... 31 Figura 17. Diagrama flux de date in modulul de simulare

55

Aplicaţia ArcCatalog ajută la organizarea şi gestionarea tuturor informaţiilor GIS (hărţi, seturi de date, modele, metadate, servicii, şi aşa mai departe). Acesta include instrumente pentru: o Cautare și găsire de informații geografice. o Înregistrare, vizualizare, și gestionare metadate. o Definirea și proiectarea schemebaze de date spațiale. o AdministrareArcGIS Server. o Căutare sidescoperire date GIS în rețelele locale și Web. Utilizatorii GIS folosesc ArcCatalog pentru a organiza, găsi şi utilizaa datelor GIS, precum şi pentru a documenta datele folosind metadate. Un administrator de baza de date GIS utilizează ArcCatalog pentru a defini şi de a construi un geodatabase. Un administrator de server GIS foloseşte ArcCatalog pentru administrarea serverului GIS.

Figura 30. Componentele și capabilitățile ArgGIS. Vedere integratoare pentru proiectul CyberWater. ArcGIS Server este un sistem GIS complet, bazat pe Web, care oferă o gama de aplicaţii şi servicii de cartografiere, analiză, colectare a datelor, editare, şi de gestionare a informaţiilor spaţiale out-of-the-box. Un serviciu de geoprocesare conţine sarcini de geoprocesare accesate de către clienţi. Sarcinile sunt create cu ajutorul unor toolbox-uri de geoprocesare sau de hărţilor ce conţin straturi. Atunci când se execută o operaţie într-un serviciu de geoprocesare, se execută pe computerul server, folosind resursele calculatorului server. Serviciile de geoprocesare şi sarcinile lor sunt accesate pe Internet, intranet şi pot fi utilizate în ArcGIS Desktop, ArcGIS Explorer, şi aplicaţii Web, cum ar fi un site web construit folosind ArcGIS Server Manager instalat cu ArcGIS Server. În ArcGIS Desktop, servicii de geoprocesare pot fi adăugate cu autorul ArcToolbox ca un set de instrumente, task-urile devenind instrumente în toolbox. ArcGIS Online este o platformă de colaborare, cloud-based, care permite membrilor unei organizaţii să creeze și partajeze hărţi, aplicaţii şi date, inclusiv hărţi de baza publicate de ESRI.

CyberWater Applica ons

ArcGIS Desktop

Deploy Services

Publish Service Service Registra on

Deploy

Services

ArcMap ArcCatalog ArcToolbox

Cartography and Visualiza on

Applica on Configura on and

Image Processing

Geoprocessing

Data Collec on and Analysis

(Oracle DB)

Web Services

Spa al Data Administra on

(Oracle DB)

Cloud Pla orm Access

Maps Create and Share

Administra on and

Web Sevices Hos ng

Components Capabili es

ArcGIS Online

ArcGIS Server

Applica on

Deployment

Applica on

Deployment

Page 56: Arhitectura orientat ă pe sub-sisteme pentru platforma ... · Vedere generala a aplica ției – diagrama de pachete ..... 31 Figura 17. Diagrama flux de date in modulul de simulare

56

Prin intermediul ArcGIS Online, se obţine acces la platforma Cloud ESRI, unde se poate administra, crea, stoca, accesa și găzdui servicii web, şi datorită faptului că ArcGIS Online este o parte integrantă a sistemului de ArcGIS, se poate folosi pentru a extinde capacităţile ArcGIS Desktop, ArcGIS Server. Figura 30 prezintă fluxul prin care aplicațiile și serviciile sunt dezvoltate pe tehnologia ArcGIS. Fluxul începe prin crearea hărților pe care dorim să le oferim catre utilizatorii proiectului CyberWater, cu ajutorul ArcGIS Desktop și a subcomponentelor sale (ArcMap, ArcCatalog, ArcToolbox). InArcMap se realizeazăoperațiile de editare cartografiere, a hartilor, iar ArcToolbox se gestioneaza si executa intrumentele de geoprocesare. În ArcCatalog se realizează conexiunea cu baza de date Oracle pe care sunt stocate datele spațiale și de asemennea conexiunea cu serverul ArcGIS pe care sunt publicate hărțile și puse la dispoziția utilizatorului sub formă de hărți-web, sau implementate sub formă de servicii web. Mai departe ArcGIS Sever pune la dispoziția utilizatorului servicii web sau aplicații de sine stătătorare și deasemenea poate implementa aceste servicii și aplicații pe ArcGIS Online

Figura 31. Somes – Web map. ArcGIS Online. În figura 31 este prezentată o hartă web pe care sunt reprezentate limita administrativă a Județului Cluj, cursul râului Someșul Mic și senzorii plasați pe cursul râului. In partea stângă a imaginii sunt afișate cele trei staturi (JudetulCluj, SomesulMic si Senzori) care sunt reprezentate în hartă având posiblitatea de a afișa sau nu unul dintre straturi prin bifarea respectiv debifarea chekboxului prezent în figură. În figura 32 este reprezentată o aplicație web care afisează senzorii pentru monitorizarea calității apei plasți pe cursul Râului Someș din Județul Cluj. Făcând click pe unul dintre simbolurile care reprezintă senzorii se afisează o fereastră HMLL care prezintă date despre senzori cum ar fi : denumirea senzorului, data când a fost plasat, observații legate de acesa, date despre localizare, tipul de senzor și valoarea masurată. În figura 33 este prezentată fereastra de editate a hărții în ArcMap. În partea din stânga se pot vedea straturile prezente în hartă( harta de bază, limita administrativă a județului Cluj, cursul râului Someșul Mic și senzorii) precum și simbolurile de reprezentare ale acestora

Page 57: Arhitectura orientat ă pe sub-sisteme pentru platforma ... · Vedere generala a aplica ției – diagrama de pachete ..... 31 Figura 17. Diagrama flux de date in modulul de simulare

Figura 32. Somes

Figura

. Somes- Web-Application. ArcGIS Online

Figura 33 Harta Somes – ArcMAP

57

Page 58: Arhitectura orientat ă pe sub-sisteme pentru platforma ... · Vedere generala a aplica ției – diagrama de pachete ..... 31 Figura 17. Diagrama flux de date in modulul de simulare

58

8. Bibliografie

[1] Directiva Cadru a Apei, EC, http://ec.europa.eu/environment/water/water-framework/ [2] Cleary, John and Hayes, Jer and Diamond, Dermot (2009) „In-situ and remote monitoring

of environmental water quality”, in: Society of Industrial and Applied Mathematics (SIAM) Annual Meeting 2009, 6-10 July 2009, Denver, Colorado, USA.

[3] Administratia nationala „Apele Romane”, Raport anual, sinteza calității apelor, 2009 , sectiunea 4.3.1.

[4] Administratia nationala „Apele Romane”, „Proiecte Realizate”, www.rowater.ro/Continut%20Site/Proiecte%20Realizate.aspx

[5] Chapman, D. „Water quality assessments”, Chapman and Hall, London, UK, 1992 [6] Beaupré, M. „Characterization of on-line sensors for water quality monitoring and

process control” - Thesis. Département de génie civil et de génie des eaux. Université Laval, Québec, Canada, 2010

[7] Stankovic, J. „Wireless Sensor Networks”, Department of Computer Science, University of Virginia, 2006 – disponibil online la https://www.cs.virginia.edu/~stankovic/psfiles/wsn.pdf

[8] J.S. Horsburgh, J.A. Spackman, D.K. Stevens, D.G. Tarboton, N.O. Mesner, “A sensor network for high frequency estimation of water quality constituent fluxes using surrogates”, Environmental Modelling and Software, vol. 25 (9), pp. 1031-1044, 2010.

[9] V.G. Christensen, “Characterization of Surface-water Quality Based on Realtime Monitoring and Regression Analysis, Quivira National Wildlife Refuge, South-central Kansas, December 1998 through June 2001”, USGS Water Resources Investigations Report 01-4248, pp. 28, 2001. Disponibil online la: http://ks.water.usgs.gov/pubs/reports/wrir.01-4248.pdf.

[10] V.G. Christensen, X. Jian, X., A.C. Ziegler, “Regression Analysis and Real-time Water-quality Monitoring to Estimate Constituent Concentrations, Loads, and Yields in the Little Arkansas River, South-central Kansas, 1995–99”, USGS Water Resources Investigations Report 00-4126, pp. 36, 2000. Disponibil online la: http://ks.water.usgs.gov/pubs/reports/wrir.00-4126.html.

[11] V.G. Christensen, P.P. Rasmussen, A.C. Ziegler, “Real-time water quality monitoring and regression analysis to estimate nutrient and bacteria concentrations in Kansas streams”, Water Science and Technology, vol. 45 (9), pp. 205–211, 2002.

[12] K.R. Ryberg, “Continuous Water-quality Monitoring and Regression Analysis to Estimate Constituent Concentrations and Loads in the Red River of the North, Fargo, North Dakota”, USGS Scientific Investigations Report 2006-5241, pp. 35, 2006. Disponibil online la: http://pubs.usgs.gov/sir/2006/5241/pdf/sir2006-5241.pdf.

[13] O’Flynn, B. et.al. „Experiences and recommendations in deploying a real-time, water quality monitoring system”, in Meas. Sci. Technol. 21 124004 doi:10.1088/0957-0233/21/12/124004, 2010, disponibil online la http://iopscience.iop.org/0957-0233/21/12/124004/pdf/0957-0233_21_12_124004.pdf

[14] Morley, J. et.al. „Use of Sensor Web Enablement (SWE) Standards in Environmental Monitoring”, AGI Annual Conference - AGI GeoCommunity '10, disponibil online la http://www.agi.org.uk/storage/geocommunity/papers/JeremyMorley.pdf, 2010

[15] Porter, J. H., et al. "New eyes on the world: advanced sensors for ecology." BioScience59.5 (2009): 385-397, diponibil online la http://www.jstor.org/stable/10.1525/bio.2009.59.5.6

Page 59: Arhitectura orientat ă pe sub-sisteme pentru platforma ... · Vedere generala a aplica ției – diagrama de pachete ..... 31 Figura 17. Diagrama flux de date in modulul de simulare

59

[16] Quansah, J. E., Bernard Engel, and Gilbert L. Rochon. "Early warning systems: a review." Journal of Terrestrial Observation 2.2 (2010): 5, disponibil online (mai 2013) la http://docs.lib.purdue.edu/cgi/viewcontent.cgi?article=1072&context=jto

[17] Directiva 2007/2/EC a Parlamentului European si a Consiliului European, din 14 Mai 2007, disponibila online la http://eur-lex.europa.eu/LexUriServ/LexUriServ.do?uri=OJ:L:2007:108:0001:0014:ro:pdf

[18] Kuhn W., “Introduction to Spatial Data Infrastructures”. Prezentare tinuta in 2005.Disponibil la URL: http://www.docstoc.com/docs/2697206/Introduction-to-Spatial-- Data- Infrastructures

[19] “INSPIRE Metadata Implementing Rules: Technical Guidelines based on EN ISO19115 and EN ISO 19119”, disponibl online la URL:http://inspire.jrc.ec.europa.eu/documents/Metadata/INSPIRE_MD_IR_and_ISO_v1_2_20100616.pdf

[20] „INSPIRE Network Services Architecture”, disponibil online la http://inspire.jrc.ec.europa.eu/reports/ImplementingRules/network/D3_5_INSPIRE_NS_Architecture_v3-0.pdf

[21] Regulamentul (CE) nr. 976/2009 al Comisiei din 19 octombrie 2009 de aplicare a irectivei 2007/2/CE a Parlamentului European și a Consiliului în ceea ce privește serviciile de rețea ; disponibil online la http://eur- lex.europa.eu/LexUriServ/LexUriServ.do?uri=CELEX:32009R0976:en:NOT

[22] Regulamentul (CE) nr.268/2010 al Comisiei din 29 martie 2010 de aplicare a Directivei 2007/2/CE a Parlamentului European și a Consiliului în ceea ce privește partajarea datelor si serviciilor in INSPIRE, disponibil la http://eur-lex.europa.eu/LexUriServ/LexUriServ.do?uri=CELEX:32010R0268:EN:NOT

[23] “Servicii spatiale INSPIRE si servicii ce permit invocarea serviciilor spatiale” http://inspire.jrc.ec.europa.eu/documents/Spatial_Data_Services/Draft_IR_SDS_and_In voke%202.pdf

[24] „INSPIRE Data Specification on Hydrography – Guidelines”, http://inspire.jrc.ec.europa.eu/documents/Data_Specifications/INSPIRE_DataSpecificat ion_HY_v3.0.1.pdf

[25] Sinnott R. W., “Virtues of the Haversine”, Sky and Telescope 68 (2), 159 (1984) [26] Raman, H.; Sunilkumar, N. "Multivariate modelling of water resources time series using

artificial neural networks." Hydrological Sciences Journal 40.2 (1995): 145-163. [27] Ani,E. et.al. -”Dynamic Simulation of Somes River Pollution Using MATLAB and

COMSOL Models”, in Revista de chimie, Bucuresti, nr. 11/ 2010, p.1108-1112 [28] Benedini, M. - „Water Quality Models for Rivers and Streams. State of the Art andFuture

Perspectives”, European Water 34: 27-40, 2011 [29] Arheimer, B., Olsson, J. - “Integration and Coupling of Hydrological Models with Water

Quality Models: Applications in Europe”, Swedish Meteorological and Hydrological Institute (SMHI), pag. 10, 2001, disponibil online (mai 2013) la https://www.wmo.int/pages/prog/hwrp/documents/RAVI/Water20Quality_FINAL2.pdf

[30] Rieken, S. - “Water Quality Models. A Compendium” 1995, disponibil online (mai 2013) la http://www.env.gov.bc.ca/wat/wq/reference/wqmodels.pdf

[31] King, A. "Transport, Mixing and Transformation in the Environment" note de curs, Cornell University, 2009; disponibile online la apr. 2012 la URL: http://ceeserver.cee.cornell.edu/cee6550/Site/Lecture20Notes_files/ch5_advection_v4.pdf

[32] Hangan, A., Vacariu, L., Cret, O., Hedesiu, H. - “A Prototype for the Remote Monitoring of Water Parameters”, Computer Science Department, Technical University of Cluj-Napoca

Page 60: Arhitectura orientat ă pe sub-sisteme pentru platforma ... · Vedere generala a aplica ției – diagrama de pachete ..... 31 Figura 17. Diagrama flux de date in modulul de simulare

60

[33] Jendrock, E. et al. - “The Java EE 6 Tutorial .Basic Concepts , 4th ed. ”, 2011, Pearson Education, Inc. , ISBN-13: 978-013-708185-1 , pag. 5-13

[34] Ambler, S. “Mapping objects to relational databases”, 2000, disponibl online la http://www.ibm.com/developerworks/library/ws-mapping-to-rdb/#h5