Upload
leonardo-di-donato
View
484
Download
0
Embed Size (px)
Citation preview
Progetto Architetture"Sistema di Rilevazione Transiti"
Lorusso Giuseppe SamueleDi Donato Leonardo
Tortelli Donato
PARTE GENERALE
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)
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
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.
Use Case - CHIComunicazione dati Nodo Elaboratore - Ufficio Centrale
Il nodo elaborativo comunica i dati del transito all'Ufficio Centrale.
Use Case - CHIGestione Posizione Pattuglia
Il software GPS della pattuglia aggiorna la propria posizione all'ufficio centrale.
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.
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.
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.
Class Diagram - Cosa
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)
Activity Diagram - Come, Perchè, Quando Gestione Posizione Pattuglia
Aggiornamento della posizione della pattuglia e memorizzazione in sede cetrale.
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.
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.
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.
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.
PARTE HW/SW
Architettura LogicaPartizionamento Multidimensionale
Architettura LogicaPartizionamento Multidimensionale
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".
Footprint
FootprintSoluzione 2
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.
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.
Deployment Diagram
Rappresentazione - SRT
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.
Le fotocellule e la fotocamera possono distare da 14 mt minimo a 20 mt massimo tra loro.
Scelte Tecnologiche - VRT
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
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.
PARTE ARCHITETTURE DATI
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.
Schema Concettuale SRT
Schemi Logici SRT e BDA
Schema Concettuale BDAReverse Engineering
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.
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
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
Schema Concettuale Globale
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
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;
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))
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))