sistema rilevamento transiti (srt) - software analysis and design
TRANSCRIPT
![Page 1: Sistema Rilevamento Transiti (SRT) - Software Analysis and Design](https://reader033.vdocuments.us/reader033/viewer/2022060121/559479bf1a28ab33558b4636/html5/thumbnails/1.jpg)
Progetto Architetture"Sistema di Rilevazione Transiti"
Lorusso Giuseppe SamueleDi Donato Leonardo
Tortelli Donato
![Page 2: Sistema Rilevamento Transiti (SRT) - Software Analysis and Design](https://reader033.vdocuments.us/reader033/viewer/2022060121/559479bf1a28ab33558b4636/html5/thumbnails/2.jpg)
PARTE GENERALE
![Page 3: Sistema Rilevamento Transiti (SRT) - Software Analysis and Design](https://reader033.vdocuments.us/reader033/viewer/2022060121/559479bf1a28ab33558b4636/html5/thumbnails/3.jpg)
Contesto - Sistema di rilevazione transiti (SRT)
SRT è composto da decine di varchi di rilevazione transiti (VRT) i quali rilevano i veicoli che superano il limite di velocitàOgni VRT è composto da 2 fotocellule distanti 1 mt tra loro e da una fotocamera che fotografa frontalmente il veicolo in infrazione Ogni VRT segnala all'ufficio centrale i veicoli che hanno commesso infrazioneL'ufficio centrale contatta, se c'è, una pattuglia per fermare il veicolo in infrazione ed invia le contravvenzioniL'ufficio centrale esegue inoltre delle analisi statistiche su dati di inquinamento rilevati dalla Base Dati Ambienti (BDA)
![Page 4: Sistema Rilevamento Transiti (SRT) - Software Analysis and Design](https://reader033.vdocuments.us/reader033/viewer/2022060121/559479bf1a28ab33558b4636/html5/thumbnails/4.jpg)
Assunzioni
Tutti i VRT sono situati su strade cittadineOgni VRT è collegato ad un nodo di elaborazione (NE)L'elaborazione delle immagini per l'estrazione di targa e colore del veicolo in infrazione avviene nel NEL'ufficio centrale comunica i dati del veicolo in infrazione alla pattuglia più vicina al VRTLe pattuglie non sono stabili (possono variare la loro posizione)Una pattuglia può riconoscere e quindi fermare un veicolo avendo come dati targa e coloreLe contravvenzioni inviate vengono memorizzate per un tempo di 5 anni
![Page 5: Sistema Rilevamento Transiti (SRT) - Software Analysis and Design](https://reader033.vdocuments.us/reader033/viewer/2022060121/559479bf1a28ab33558b4636/html5/thumbnails/5.jpg)
Use Case - CHIRilevamento Transiti
Nel momento in cui un veicolo transita da un varco, i sensori del VRT rilevano il transito del veicolo. Il nodo elaboratore calcola la velocità del transito, attiva la fotocamera e quindi elabora l'infrazione.
![Page 6: Sistema Rilevamento Transiti (SRT) - Software Analysis and Design](https://reader033.vdocuments.us/reader033/viewer/2022060121/559479bf1a28ab33558b4636/html5/thumbnails/6.jpg)
Use Case - CHIComunicazione dati Nodo Elaboratore - Ufficio Centrale
Il nodo elaborativo comunica i dati del transito all'Ufficio Centrale.
![Page 7: Sistema Rilevamento Transiti (SRT) - Software Analysis and Design](https://reader033.vdocuments.us/reader033/viewer/2022060121/559479bf1a28ab33558b4636/html5/thumbnails/7.jpg)
Use Case - CHIGestione Posizione Pattuglia
Il software GPS della pattuglia aggiorna la propria posizione all'ufficio centrale.
![Page 8: Sistema Rilevamento Transiti (SRT) - Software Analysis and Design](https://reader033.vdocuments.us/reader033/viewer/2022060121/559479bf1a28ab33558b4636/html5/thumbnails/8.jpg)
Use Case - CHIGestione Pattuglia - Infrazione
L'ufficio centrale assegna l'infrazione alla pattuglia più vicina al varco. Se la pattuglia ferma il veicolo invia in centrale i dati del conducente.
![Page 9: Sistema Rilevamento Transiti (SRT) - Software Analysis and Design](https://reader033.vdocuments.us/reader033/viewer/2022060121/559479bf1a28ab33558b4636/html5/thumbnails/9.jpg)
Use Case - CHIGestione Contravvenzioni
La gestione delle contravvenzioni viene eseguita dall'ufficio centrale dopo aver ricevuto i dati anagrafici dalla pattuglia o dal Pubblico Registro Automobilistico.
![Page 10: Sistema Rilevamento Transiti (SRT) - Software Analysis and Design](https://reader033.vdocuments.us/reader033/viewer/2022060121/559479bf1a28ab33558b4636/html5/thumbnails/10.jpg)
Use Case - CHIGestione Statistiche
L'ufficio centrale riceve ad intervalli regolari di tempo il numero di transiti relativi ad ogni varco, correlando tale dato con i tassi di inquinamento ottenuti da Base Dati Ambientale, al fine di eseguire analisi statistiche.
![Page 11: Sistema Rilevamento Transiti (SRT) - Software Analysis and Design](https://reader033.vdocuments.us/reader033/viewer/2022060121/559479bf1a28ab33558b4636/html5/thumbnails/11.jpg)
Class Diagram - Cosa
![Page 12: Sistema Rilevamento Transiti (SRT) - Software Analysis and Design](https://reader033.vdocuments.us/reader033/viewer/2022060121/559479bf1a28ab33558b4636/html5/thumbnails/12.jpg)
Activity Diagram - Come, Perchè, QuandoComunicazione Transiti a Ufficio Centrale
Rilevamento del transito da parte del VRT, calcolo della velocità del transito, elaborazione dell'immagine e invio dei dati (contatore transiti, informazioni veicolo, foto)
![Page 13: Sistema Rilevamento Transiti (SRT) - Software Analysis and Design](https://reader033.vdocuments.us/reader033/viewer/2022060121/559479bf1a28ab33558b4636/html5/thumbnails/13.jpg)
Activity Diagram - Come, Perchè, Quando Gestione Posizione Pattuglia
Aggiornamento della posizione della pattuglia e memorizzazione in sede cetrale.
![Page 14: Sistema Rilevamento Transiti (SRT) - Software Analysis and Design](https://reader033.vdocuments.us/reader033/viewer/2022060121/559479bf1a28ab33558b4636/html5/thumbnails/14.jpg)
Activity Diagram - Come, Perchè, QuandoRilevazione Pattuglia
Ogni qual volta l'ufficio centrale riceve un'infrazione, rileva la pattuglia più vicina al varco dove è avvenuta, e la contatta.
![Page 15: Sistema Rilevamento Transiti (SRT) - Software Analysis and Design](https://reader033.vdocuments.us/reader033/viewer/2022060121/559479bf1a28ab33558b4636/html5/thumbnails/15.jpg)
Activity Diagram - Come, Perchè, QuandoPosto di blocco
Se la pattuglia ferma il veicolo, notifica alla centrale l'avvenuto fermo e fornisce i dati del conducente.
![Page 16: Sistema Rilevamento Transiti (SRT) - Software Analysis and Design](https://reader033.vdocuments.us/reader033/viewer/2022060121/559479bf1a28ab33558b4636/html5/thumbnails/16.jpg)
Activity Diagram - Come, Perchè, QuandoGestione Contravvenzioni
Date le infrazioni ottenute nel corso della settimana, l'ufficio centrale genera le relative contravvenzioni. Se il conducente non è stato identificato, la contravvenzione verrà inviata al proprietario.
![Page 17: Sistema Rilevamento Transiti (SRT) - Software Analysis and Design](https://reader033.vdocuments.us/reader033/viewer/2022060121/559479bf1a28ab33558b4636/html5/thumbnails/17.jpg)
Activity Diagram - Come, Perché, QuandoElaborazione Statistiche
Ottenuti i dati del traffico stradale orario di ogni VRT e i livelli di inquinamento, vengono eseguite analisi statistiche.
![Page 18: Sistema Rilevamento Transiti (SRT) - Software Analysis and Design](https://reader033.vdocuments.us/reader033/viewer/2022060121/559479bf1a28ab33558b4636/html5/thumbnails/18.jpg)
PARTE HW/SW
![Page 19: Sistema Rilevamento Transiti (SRT) - Software Analysis and Design](https://reader033.vdocuments.us/reader033/viewer/2022060121/559479bf1a28ab33558b4636/html5/thumbnails/19.jpg)
Architettura LogicaPartizionamento Multidimensionale
![Page 20: Sistema Rilevamento Transiti (SRT) - Software Analysis and Design](https://reader033.vdocuments.us/reader033/viewer/2022060121/559479bf1a28ab33558b4636/html5/thumbnails/20.jpg)
Architettura LogicaPartizionamento Multidimensionale
![Page 21: Sistema Rilevamento Transiti (SRT) - Software Analysis and Design](https://reader033.vdocuments.us/reader033/viewer/2022060121/559479bf1a28ab33558b4636/html5/thumbnails/21.jpg)
Dimensioni per il partizionamentoAbstractionLocations
<<multiplicity>>: il numero di istanze di ogni componente logico è pari alla cardinalità della rispettiva componente concreta. E' possibile raffinare il partizionamento operando la suddivisione logica in base ad una ulteriore dimensione: frequency.In tal caso il componente logico "Nodo Elaboratore" verrebbe suddiviso i 3 componenti logici: "Elaboratore Transiti", "Elaboratore Infrazioni", "Elaboratore Foto". Tuttavia si è scelto di non perseguire questa ulteriore suddivisione al fine di assicurare un alto grado di replicabilità in luogo di compattezza: ciò rende più semplice il deployment e la manutanzione della componente concreta di "Nodo Elaboratore".
![Page 22: Sistema Rilevamento Transiti (SRT) - Software Analysis and Design](https://reader033.vdocuments.us/reader033/viewer/2022060121/559479bf1a28ab33558b4636/html5/thumbnails/22.jpg)
Footprint
![Page 23: Sistema Rilevamento Transiti (SRT) - Software Analysis and Design](https://reader033.vdocuments.us/reader033/viewer/2022060121/559479bf1a28ab33558b4636/html5/thumbnails/23.jpg)
FootprintSoluzione 2
![Page 24: Sistema Rilevamento Transiti (SRT) - Software Analysis and Design](https://reader033.vdocuments.us/reader033/viewer/2022060121/559479bf1a28ab33558b4636/html5/thumbnails/24.jpg)
Architettura ConcretaInterazione fra componenti
1. VRT → Nodo Elaboratore (rilevamento segnali) stile di interazione asincrono; nessun trasferimento di informazione: - il VRT invia segnali (elettrici) - il Nodo Elaboratore, al fine di minimizzare il ritardo, ha un timer con funzione di trigger impostato a 5 ms. 2. Nodo Elaboratore → VRT (attivazione fotocamera) trasferimento pull dell'informazione basato su meccanismo sincrono di comunicazione. 3. GPS Pattuglia → Ufficio Centrale (aggiornamento posizione) trasferimento push di informazione basato su meccanismo asincrono di comunicazione.
![Page 25: Sistema Rilevamento Transiti (SRT) - Software Analysis and Design](https://reader033.vdocuments.us/reader033/viewer/2022060121/559479bf1a28ab33558b4636/html5/thumbnails/25.jpg)
Architettura ConcretaInterazione fra componenti
4. Ufficio Centrale → Pattuglia (rilevamento pattuglia) trasferimento push di informazione basato su meccanismo asincrono di comunicazione.
5. Pattuglia → Ufficio Centrale (comunicazione guidatore) trasferimento push di informazione basato su meccanismo asincrono di comunicazione 6. Nodo Elaboratore → Ufficio Centrale trasferimento push di informazione basato su meccanismo sincrono; l'Ufficio Centrale deve notificare (con un evento) al Nodo Elaboratore l'avvenuta ricezione e memorizzazione delle informazioni, in modo che le informazioni site nel N.E. possano essere rimosse.
![Page 26: Sistema Rilevamento Transiti (SRT) - Software Analysis and Design](https://reader033.vdocuments.us/reader033/viewer/2022060121/559479bf1a28ab33558b4636/html5/thumbnails/26.jpg)
Deployment Diagram
![Page 27: Sistema Rilevamento Transiti (SRT) - Software Analysis and Design](https://reader033.vdocuments.us/reader033/viewer/2022060121/559479bf1a28ab33558b4636/html5/thumbnails/27.jpg)
Rappresentazione - SRT
![Page 28: Sistema Rilevamento Transiti (SRT) - Software Analysis and Design](https://reader033.vdocuments.us/reader033/viewer/2022060121/559479bf1a28ab33558b4636/html5/thumbnails/28.jpg)
Scelte Tecnologiche - VRTVRT è composto da 2 fotocellule laser a riflessione o a sbarramento, parallele a distanza 1mt. 1 fotocamera per veicoli in movimento di tipo giorno-notte, wide dynamic range (WDR)Possibili scelte: Nikon D3S (prezzo=4.500 €, 12,1 Mpx, tempo di posa 1/8000 sec, 10 foto/s) utilizzata negli USA;Nikon D3100 (prezzo=500 €, 14 Mpx, tempo di posa 1/4000 sec, 5 foto/s) scelta più plausibile.
![Page 29: Sistema Rilevamento Transiti (SRT) - Software Analysis and Design](https://reader033.vdocuments.us/reader033/viewer/2022060121/559479bf1a28ab33558b4636/html5/thumbnails/29.jpg)
Le fotocellule e la fotocamera possono distare da 14 mt minimo a 20 mt massimo tra loro.
Scelte Tecnologiche - VRT
![Page 30: Sistema Rilevamento Transiti (SRT) - Software Analysis and Design](https://reader033.vdocuments.us/reader033/viewer/2022060121/559479bf1a28ab33558b4636/html5/thumbnails/30.jpg)
Nodo Elaborativo: S.O. Linux Processore con un minimo di 2 Gh 2 GB RAM Hardisk 50 GB Modem può essere privo di monitor
Scelte Tecnologiche
Ufficio Centrale: E' un server centrale S.O. Linux Processore Multicore con 2.2 Gh 4 GB RAM Memoria di massa 5 TB Modem Router
![Page 31: Sistema Rilevamento Transiti (SRT) - Software Analysis and Design](https://reader033.vdocuments.us/reader033/viewer/2022060121/559479bf1a28ab33558b4636/html5/thumbnails/31.jpg)
Scelte Tecnologiche - Pattuglia
Ogni Pattuglia ha un dispositivo PDA con connettività telefonica UMTS (3G), con funzione di navigatore satellitare (GPS) che consente di risparmiare cifre consistenti che si spenderebbero per un sistema equivalente integrato nell'auto. - S.O. Symbian: è un sistema operativo aperto per PDA.- Memoria 128 MB (non necessitiamo di grande memoria poichè non memorizziamo alcun dato)
Non abbiamo valutato nessuna preferenza per un modello poichè queste caratteristiche si trovano su svariati modelli a basso costo.
![Page 32: Sistema Rilevamento Transiti (SRT) - Software Analysis and Design](https://reader033.vdocuments.us/reader033/viewer/2022060121/559479bf1a28ab33558b4636/html5/thumbnails/32.jpg)
PARTE ARCHITETTURE DATI
![Page 33: Sistema Rilevamento Transiti (SRT) - Software Analysis and Design](https://reader033.vdocuments.us/reader033/viewer/2022060121/559479bf1a28ab33558b4636/html5/thumbnails/33.jpg)
Integrazione tra SRT e PRA
L’architettura di integrazione che può essere utilizzata tra SRT e PRA, è di tipo EAI ossia di Enterprise Application Integration, infatti una soluzione sarebbe quella di prevedere l’utilizzo di un framework dedicato al prelievo dei dati necessari dalla banca dati PRA.I problemi di eterogeneità in questo caso sono risolti all’interno del framework, con opportuni moduli che trasformano:
i dati necessari al PRA in base alle specifiche dei dati del PRA.es.: la data viene trasformata nel formato utilizzato dal PRA, eterogeneità di tipo attributo.i dati restituiti dal PRA in dati con strutture idonee per il DB del sistema SRT.es.: il nome del proprietario che il PRA ci restituisce con un char “Mario Rossi” viene tradotto dal nostro framework in un char “Mario” nel campo Nome e in un char “Rossi” nel campo Cognome, eterogeneità semantica di tipo attributo.
![Page 34: Sistema Rilevamento Transiti (SRT) - Software Analysis and Design](https://reader033.vdocuments.us/reader033/viewer/2022060121/559479bf1a28ab33558b4636/html5/thumbnails/34.jpg)
Schema Concettuale SRT
![Page 35: Sistema Rilevamento Transiti (SRT) - Software Analysis and Design](https://reader033.vdocuments.us/reader033/viewer/2022060121/559479bf1a28ab33558b4636/html5/thumbnails/35.jpg)
Schemi Logici SRT e BDA
![Page 36: Sistema Rilevamento Transiti (SRT) - Software Analysis and Design](https://reader033.vdocuments.us/reader033/viewer/2022060121/559479bf1a28ab33558b4636/html5/thumbnails/36.jpg)
Schema Concettuale BDAReverse Engineering
![Page 37: Sistema Rilevamento Transiti (SRT) - Software Analysis and Design](https://reader033.vdocuments.us/reader033/viewer/2022060121/559479bf1a28ab33558b4636/html5/thumbnails/37.jpg)
Tipi di Eterogeneità
1 - Viene risolta inglobando i concetti Transiti ed Inquinamento in un unica entità, che chiameremo statistiche.2/3 - Vengono risolte utilizzando sia per data che per ora il nome presente nello schema di SRT in quanto più semplice.
![Page 38: Sistema Rilevamento Transiti (SRT) - Software Analysis and Design](https://reader033.vdocuments.us/reader033/viewer/2022060121/559479bf1a28ab33558b4636/html5/thumbnails/38.jpg)
Tipi di Eterogeneità
4/5- Queste eterogeneità sugli attributi data e ora vengono risolte utilizzando le strutture dati utilizzate in SRT, ossia "date" per la data e "time" per l'ora6 - Questa eterogeneità viene risolta utilizzando come chiave primaria, nella nuova entità, data e ora, le quali identificano univocamente una statistica
![Page 39: Sistema Rilevamento Transiti (SRT) - Software Analysis and Design](https://reader033.vdocuments.us/reader033/viewer/2022060121/559479bf1a28ab33558b4636/html5/thumbnails/39.jpg)
Tipi di Eterogeneità
7/12 - Queste eterogeneità si verificano nel caso in cui la rappresentazione di latitudine e longitudine in BDA sia diversa da quella in SRT. In questo caso si procede con una conversione dei dati, nel caso in cui siano rappresentati in DMS (degree minutes seconds), vengono convertiti con un opportuna funzione in DD (degree decimal), che è la rappresentazione che viene utilizzata in SRT
![Page 40: Sistema Rilevamento Transiti (SRT) - Software Analysis and Design](https://reader033.vdocuments.us/reader033/viewer/2022060121/559479bf1a28ab33558b4636/html5/thumbnails/40.jpg)
Schema Concettuale Globale
![Page 41: Sistema Rilevamento Transiti (SRT) - Software Analysis and Design](https://reader033.vdocuments.us/reader033/viewer/2022060121/559479bf1a28ab33558b4636/html5/thumbnails/41.jpg)
Mapping tra Schema Globale e Schemi LocaliGlobal As View
CREATE VIEW Contravvenzione AS
SELECT *
FROM SRT.Contravvenzione
CREATE VIEW Infrazione AS
SELECT *
FROM SRT.Infrazione
CREATE VIEW Guidatore AS
SELECT *
FROM SRT.Guidatore
CREATE VIEW Pattuglia
AS
SELECT *FROM SRT.Pattuglia
CREATE VIEW Nodo AS
SELECT *
FROM SRT.Nodo
CREATE VIEW Sede AS
SELECT *
FROM BDA.Sede
CREATE VIEW Centralina AS
SELECT *FROM BDA.Centralina
CREATE VIEW Riparazione AS
SELECT *
FROM BDA.Riparazione
CREATE VIEW Tecnico AS
SELECT *FROM BDA.Tecnico
![Page 42: Sistema Rilevamento Transiti (SRT) - Software Analysis and Design](https://reader033.vdocuments.us/reader033/viewer/2022060121/559479bf1a28ab33558b4636/html5/thumbnails/42.jpg)
Mapping tra Schema Globale e Schemi LocaliGlobal As View
CREATE VIEW Statistica(Data, Ora, Nodo, Centralina, NumTransiti, TassoInquinamento, Rapporto) AS SELECT SRT.Transiti.data, SRT.Transiti.ora, SRT.Transiti.id_nodo, BDA.Inquinamento.idCentralina, SRT.Transiti.num_transiti, BDA.Inquinamento.tasso, (BDA.Inquinamento.tasso/STR.Transiti.num_transiti) FROM SRT.Transiti, STR.Nodo, BDA.Inquinamento, BDA.Centralina WHERE (SRT.Transiti.data=BDA.Inquinamento.dataRilevazione) AND (SRT.Transiti.ora=BDA.Inquinamento.oraRilevazione) AND (SRT.Transiti.id_nodo, BDA.Inquinamento.idCentralina) IN ( SELECT (SRT.Nodo.id_nodo, BDA.Centralina.idCentralina) FROM SRT.Nodo, BDA.Centralina WHERE (6374892.5 * ACOS(SIN(RADIANS(SRT.Nodo.latitudine)) * SIN(RADIANS(BDA.Centralina.lat_deg + ((BDA.Centralina.lat_sec/60) + BDA.Centralina.lat_min)/60)) + COS(RADIANS(SRT.Nodo.latitudine)) * COS(RADIANS(BDA.Centralina.lat_deg + (BDA.Centralina.lat_sec/60) + BDA.Centralina.lat_min)/60)) * COS(RADIANS(BDA.Centralina.lng_deg+((BDA.Centralina.lng_sec/60) + BDA.Centralina.lng_min)/60 ) - RADIANS( SRT.Nodo.longitudine)))) < 200) ) ORDER BY Data, Ora;
![Page 43: Sistema Rilevamento Transiti (SRT) - Software Analysis and Design](https://reader033.vdocuments.us/reader033/viewer/2022060121/559479bf1a28ab33558b4636/html5/thumbnails/43.jpg)
Interrogazione al Mediatore
Trovare l’id del varco che provoca il maggior tasso di inquinamento nelle ore centrali della giornata (12.00 - 18.00) SELECT Nodo FROM (SELECT Nodo, AVG(Tasso) AS Tasso FROM Statistiche WHERE ora>12.00 AND ora <18.00 GROUP BY Nodo HAVING MAX(Tasso))
![Page 44: Sistema Rilevamento Transiti (SRT) - Software Analysis and Design](https://reader033.vdocuments.us/reader033/viewer/2022060121/559479bf1a28ab33558b4636/html5/thumbnails/44.jpg)
UnfoldingSELECT Nodo FROM (SELECT Nodo, AVG(Tasso) AS Tasso FROM (SELECT SRT.Transiti.data, SRT.Transiti.ora, SRT.Transiti.id_nodo, BDA.Inquinamento.idCentralina, SRT.Transiti.num_transiti, BDA.Inquinamento.tasso, SRT.Transiti.id_nodo/BDA.Inquinamento.tasso FROM SRT.Transiti, STR.Nodo, BDA.Inquinamento, BDA.Centralina WHERE (SRT.Transiti.data=BDA.Inquinamento.dataRilevazione) AND (SRT.Transiti.ora=BDA.Inquinamento.oraRilevazione) AND (SRT.Transiti.id_nodo, BDA.Inquinamento.idCentralina) IN ( SELECT (SRT.Nodo.id_nodo, BDA.Centralina.idCentralina) FROM SRT.Nodo, BDA.Centralina WHERE (6374892.5 * ACOS(SIN(RADIANS(SRT.Nodo.latitudine)) * SIN(RADIANS(BDA.Centralina.lat_deg + ((BDA.Centralina.lat_sec/60) + BDA.Centralina.lat_min)/60)) + COS(RADIANS(SRT.Nodo.latitudine)) * COS(RADIANS(BDA.Centralina.lat_deg + (BDA.Centralina.lat_sec/60) + BDA.Centralina.lat_min)/60)) * COS(RADIANS(BDA.Centralina.lng_deg+((BDA.Centralina.lng_sec/60) + BDA.Centralina.lng_min)/60 ) - RADIANS( SRT.Nodo.longitudine)))) < 200) )) WHERE ora>12.00 AND ora <18.00 GROUP BY Nodo HAVING MAX(Tasso))