SlideShare una empresa de Scribd logo
1 de 44
Descargar para leer sin conexión
Progetto Architetture
"Sistema di Rilevazione Transiti"

       Lorusso Giuseppe Samuele
          Di 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 infrazione
 L'ufficio centrale contatta, se c'è, una pattuglia per fermare il
 veicolo in infrazione ed invia le contravvenzioni
 L'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 cittadine
Ogni 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 NE
L'ufficio centrale comunica i dati del veicolo in infrazione alla
pattuglia più vicina al VRT
Le pattuglie non sono stabili (possono variare la loro posizione)
Una pattuglia può riconoscere e quindi fermare un veicolo
avendo come dati targa e colore
Le contravvenzioni inviate vengono memorizzate per un tempo
di 5 anni
Use Case - CHI
                        Rilevamento 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 - CHI
       Comunicazione dati Nodo Elaboratore - Ufficio Centrale




Il nodo elaborativo comunica i dati del transito all'Ufficio Centrale.
Use Case - CHI
                 Gestione Posizione Pattuglia




Il software GPS della pattuglia aggiorna la propria posizione
all'ufficio centrale.
Use Case - CHI
                    Gestione 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 - CHI
                      Gestione 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 - CHI
                         Gestione 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è, Quando
              Comunicazione 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è, Quando
                          Rilevazione 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è, Quando
                            Posto di blocco




Se la pattuglia ferma il veicolo, notifica alla centrale l'avvenuto fermo
e fornisce i dati del conducente.
Activity Diagram - Come, Perchè, Quando
            Gestione 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é, Quando
                      Elaborazione Statistiche




 Ottenuti i dati del traffico stradale orario di ogni VRT e i livelli
 di inquinamento, vengono eseguite analisi statistiche.
PARTE HW/SW
Architettura Logica
Partizionamento Multidimensionale
Architettura Logica
Partizionamento Multidimensionale
Dimensioni per il partizionamento
   Abstraction
   Locations

<<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
Footprint
Soluzione 2
Architettura Concreta
                      Interazione 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 Concreta
                    Interazione 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
Deployment Diagram
Rappresentazione - SRT
Scelte Tecnologiche - VRT
VRT è 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.
Scelte Tecnologiche - VRT

Le fotocellule e la fotocamera possono distare da 14 mt minimo a
20 mt massimo tra loro.
Scelte Tecnologiche
Nodo Elaborativo: S.O. Linux
                  Processore con un minimo di 2 Gh
                  2 GB RAM
                  Hardisk 50 GB
                  Modem
                  può essere privo di monitor

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 BDA
     Reverse 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'ora
6 - 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 Locali
                                  Global As View
                                 CREATE VIEW Pattuglia   CREATE VIEW Centralina AS
CREATE VIEW Contravvenzione AS
                                 AS                      SELECT *
SELECT *
                                 SELECT *                FROM BDA.Centralina
FROM SRT.Contravvenzione
                                 FROM SRT.Pattuglia
                                                         CREATE VIEW Riparazione AS
CREATE VIEW Infrazione AS        CREATE VIEW Nodo AS     SELECT *
SELECT *                         SELECT *                FROM BDA.Riparazione
FROM SRT.Infrazione              FROM SRT.Nodo

                                                         CREATE VIEW Tecnico AS
CREATE VIEW Guidatore AS         CREATE VIEW Sede AS     SELECT *
SELECT *                         SELECT *                FROM BDA.Tecnico
FROM SRT.Guidatore               FROM BDA.Sede
Mapping tra Schema Globale e Schemi Locali
                                  Global 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))
Unfolding
SELECT 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))

Más contenido relacionado

Destacado

Mapping your Community's Needs
Mapping your Community's NeedsMapping your Community's Needs
Mapping your Community's NeedsMegan Wild
 
Underage Drinking Parties in San Antonio 2016
Underage Drinking Parties in San Antonio 2016Underage Drinking Parties in San Antonio 2016
Underage Drinking Parties in San Antonio 2016SACADA
 
How to Make Awesome SlideShares: Tips & Tricks
How to Make Awesome SlideShares: Tips & TricksHow to Make Awesome SlideShares: Tips & Tricks
How to Make Awesome SlideShares: Tips & TricksSlideShare
 
Getting Started With SlideShare
Getting Started With SlideShareGetting Started With SlideShare
Getting Started With SlideShareSlideShare
 

Destacado (6)

Mapping your Community's Needs
Mapping your Community's NeedsMapping your Community's Needs
Mapping your Community's Needs
 
Underage Drinking Parties in San Antonio 2016
Underage Drinking Parties in San Antonio 2016Underage Drinking Parties in San Antonio 2016
Underage Drinking Parties in San Antonio 2016
 
Underage Drinking Parties in San Antonio 2016
Underage Drinking Parties in San Antonio 2016Underage Drinking Parties in San Antonio 2016
Underage Drinking Parties in San Antonio 2016
 
Non Medical Use of Prescription Drugs October 2016
Non Medical Use of Prescription Drugs October 2016Non Medical Use of Prescription Drugs October 2016
Non Medical Use of Prescription Drugs October 2016
 
How to Make Awesome SlideShares: Tips & Tricks
How to Make Awesome SlideShares: Tips & TricksHow to Make Awesome SlideShares: Tips & Tricks
How to Make Awesome SlideShares: Tips & Tricks
 
Getting Started With SlideShare
Getting Started With SlideShareGetting Started With SlideShare
Getting Started With SlideShare
 

Similar a Sistema Rilevamento Transiti (SRT) - Software Analysis and Design

Presentazione Teamind Solution 2012
Presentazione Teamind Solution 2012Presentazione Teamind Solution 2012
Presentazione Teamind Solution 2012Alessandro Peron
 
Realizzazione di un controllore basato su piattaforma robotica Thymio 2.
Realizzazione di un controllore basato su piattaforma robotica Thymio 2.Realizzazione di un controllore basato su piattaforma robotica Thymio 2.
Realizzazione di un controllore basato su piattaforma robotica Thymio 2.anwarNazik
 
progetto di architetture
progetto di architettureprogetto di architetture
progetto di architettureAndrea Sbarra
 
Sogei Premio PA Sostenibile 2018
Sogei Premio PA Sostenibile 2018Sogei Premio PA Sostenibile 2018
Sogei Premio PA Sostenibile 2018leorob
 
Realizzazione di un controllore basato su piattaforma robotica Thymio 2.
Realizzazione di un controllore basato su piattaforma robotica Thymio 2.Realizzazione di un controllore basato su piattaforma robotica Thymio 2.
Realizzazione di un controllore basato su piattaforma robotica Thymio 2.anwarNazik
 
Sviluppo e implementazione su microcontrollore di un’applicazione web server ...
Sviluppo e implementazione su microcontrollore di un’applicazione web server ...Sviluppo e implementazione su microcontrollore di un’applicazione web server ...
Sviluppo e implementazione su microcontrollore di un’applicazione web server ...pma77
 
MOBILE MONITORING - monitoraggio e valutazione delle infrastrutture di rete m...
MOBILE MONITORING - monitoraggio e valutazione delle infrastrutture di rete m...MOBILE MONITORING - monitoraggio e valutazione delle infrastrutture di rete m...
MOBILE MONITORING - monitoraggio e valutazione delle infrastrutture di rete m...Ro Technology
 
Design and Implementation of a Software Simulator for MANET Networks Analysis
Design and Implementation of a Software Simulator for MANET Networks AnalysisDesign and Implementation of a Software Simulator for MANET Networks Analysis
Design and Implementation of a Software Simulator for MANET Networks AnalysisGiancarlo Romeo
 
Sviluppo del software di controllo di una piattaforma per antenne satellitari
Sviluppo del software di controllo di una piattaforma per antenne satellitariSviluppo del software di controllo di una piattaforma per antenne satellitari
Sviluppo del software di controllo di una piattaforma per antenne satellitariCarlo Maisola
 
Middleware Sistemi Di Navigazione Upd09 Osm
Middleware Sistemi Di Navigazione Upd09 OsmMiddleware Sistemi Di Navigazione Upd09 Osm
Middleware Sistemi Di Navigazione Upd09 OsmRoberto Navoni
 
Middleware Sistemi Di Navigazione Upd09 Osm
Middleware Sistemi Di Navigazione Upd09 OsmMiddleware Sistemi Di Navigazione Upd09 Osm
Middleware Sistemi Di Navigazione Upd09 OsmRoberto Navoni
 
Presentazione: Sviluppo di un hub di comunicazione in una applicazione per po...
Presentazione: Sviluppo di un hub di comunicazione in una applicazione per po...Presentazione: Sviluppo di un hub di comunicazione in una applicazione per po...
Presentazione: Sviluppo di un hub di comunicazione in una applicazione per po...gwalter85
 
06 Stima Costi E Componenti
06 Stima Costi E Componenti06 Stima Costi E Componenti
06 Stima Costi E Componentiklide
 
06 Stima Costi E Componenti
06   Stima Costi E Componenti06   Stima Costi E Componenti
06 Stima Costi E Componentikamal82
 
Guida pratica alla scelta delle apparecchiature video
Guida pratica alla scelta delle apparecchiature videoGuida pratica alla scelta delle apparecchiature video
Guida pratica alla scelta delle apparecchiature videoDavide De Bella
 
TomWare- TrackPro #sce2014 1
TomWare- TrackPro #sce2014 1TomWare- TrackPro #sce2014 1
TomWare- TrackPro #sce2014 1MelissaLama
 
Sistemi con telecamera per macchine mobili
Sistemi con telecamera per macchine mobiliSistemi con telecamera per macchine mobili
Sistemi con telecamera per macchine mobiliifm electronic gmbh
 
Sviluppo di tool di gestione ed analisi di un simulatore Neuro-Fuzzy
Sviluppo di tool di gestione ed analisi di un simulatore Neuro-FuzzySviluppo di tool di gestione ed analisi di un simulatore Neuro-Fuzzy
Sviluppo di tool di gestione ed analisi di un simulatore Neuro-FuzzyStefano Ficcadenti
 
122 Ispezione di linee aeree - Automazione Oggi N. 393 – Ottobre 2016 - Cris...
122 Ispezione di linee aeree - Automazione Oggi N. 393 – Ottobre 2016  - Cris...122 Ispezione di linee aeree - Automazione Oggi N. 393 – Ottobre 2016  - Cris...
122 Ispezione di linee aeree - Automazione Oggi N. 393 – Ottobre 2016 - Cris...Cristian Randieri PhD
 

Similar a Sistema Rilevamento Transiti (SRT) - Software Analysis and Design (20)

Presentazione Teamind Solution 2012
Presentazione Teamind Solution 2012Presentazione Teamind Solution 2012
Presentazione Teamind Solution 2012
 
Realizzazione di un controllore basato su piattaforma robotica Thymio 2.
Realizzazione di un controllore basato su piattaforma robotica Thymio 2.Realizzazione di un controllore basato su piattaforma robotica Thymio 2.
Realizzazione di un controllore basato su piattaforma robotica Thymio 2.
 
progetto di architetture
progetto di architettureprogetto di architetture
progetto di architetture
 
Sogei Premio PA Sostenibile 2018
Sogei Premio PA Sostenibile 2018Sogei Premio PA Sostenibile 2018
Sogei Premio PA Sostenibile 2018
 
Realizzazione di un controllore basato su piattaforma robotica Thymio 2.
Realizzazione di un controllore basato su piattaforma robotica Thymio 2.Realizzazione di un controllore basato su piattaforma robotica Thymio 2.
Realizzazione di un controllore basato su piattaforma robotica Thymio 2.
 
Sviluppo e implementazione su microcontrollore di un’applicazione web server ...
Sviluppo e implementazione su microcontrollore di un’applicazione web server ...Sviluppo e implementazione su microcontrollore di un’applicazione web server ...
Sviluppo e implementazione su microcontrollore di un’applicazione web server ...
 
Sch Racing
Sch RacingSch Racing
Sch Racing
 
MOBILE MONITORING - monitoraggio e valutazione delle infrastrutture di rete m...
MOBILE MONITORING - monitoraggio e valutazione delle infrastrutture di rete m...MOBILE MONITORING - monitoraggio e valutazione delle infrastrutture di rete m...
MOBILE MONITORING - monitoraggio e valutazione delle infrastrutture di rete m...
 
Design and Implementation of a Software Simulator for MANET Networks Analysis
Design and Implementation of a Software Simulator for MANET Networks AnalysisDesign and Implementation of a Software Simulator for MANET Networks Analysis
Design and Implementation of a Software Simulator for MANET Networks Analysis
 
Sviluppo del software di controllo di una piattaforma per antenne satellitari
Sviluppo del software di controllo di una piattaforma per antenne satellitariSviluppo del software di controllo di una piattaforma per antenne satellitari
Sviluppo del software di controllo di una piattaforma per antenne satellitari
 
Middleware Sistemi Di Navigazione Upd09 Osm
Middleware Sistemi Di Navigazione Upd09 OsmMiddleware Sistemi Di Navigazione Upd09 Osm
Middleware Sistemi Di Navigazione Upd09 Osm
 
Middleware Sistemi Di Navigazione Upd09 Osm
Middleware Sistemi Di Navigazione Upd09 OsmMiddleware Sistemi Di Navigazione Upd09 Osm
Middleware Sistemi Di Navigazione Upd09 Osm
 
Presentazione: Sviluppo di un hub di comunicazione in una applicazione per po...
Presentazione: Sviluppo di un hub di comunicazione in una applicazione per po...Presentazione: Sviluppo di un hub di comunicazione in una applicazione per po...
Presentazione: Sviluppo di un hub di comunicazione in una applicazione per po...
 
06 Stima Costi E Componenti
06 Stima Costi E Componenti06 Stima Costi E Componenti
06 Stima Costi E Componenti
 
06 Stima Costi E Componenti
06   Stima Costi E Componenti06   Stima Costi E Componenti
06 Stima Costi E Componenti
 
Guida pratica alla scelta delle apparecchiature video
Guida pratica alla scelta delle apparecchiature videoGuida pratica alla scelta delle apparecchiature video
Guida pratica alla scelta delle apparecchiature video
 
TomWare- TrackPro #sce2014 1
TomWare- TrackPro #sce2014 1TomWare- TrackPro #sce2014 1
TomWare- TrackPro #sce2014 1
 
Sistemi con telecamera per macchine mobili
Sistemi con telecamera per macchine mobiliSistemi con telecamera per macchine mobili
Sistemi con telecamera per macchine mobili
 
Sviluppo di tool di gestione ed analisi di un simulatore Neuro-Fuzzy
Sviluppo di tool di gestione ed analisi di un simulatore Neuro-FuzzySviluppo di tool di gestione ed analisi di un simulatore Neuro-Fuzzy
Sviluppo di tool di gestione ed analisi di un simulatore Neuro-Fuzzy
 
122 Ispezione di linee aeree - Automazione Oggi N. 393 – Ottobre 2016 - Cris...
122 Ispezione di linee aeree - Automazione Oggi N. 393 – Ottobre 2016  - Cris...122 Ispezione di linee aeree - Automazione Oggi N. 393 – Ottobre 2016  - Cris...
122 Ispezione di linee aeree - Automazione Oggi N. 393 – Ottobre 2016 - Cris...
 

Más de Leonardo Di Donato

Prometheus as exposition format for eBPF programs running on Kubernetes
Prometheus as exposition format for eBPF programs running on KubernetesPrometheus as exposition format for eBPF programs running on Kubernetes
Prometheus as exposition format for eBPF programs running on KubernetesLeonardo Di Donato
 
Open metrics: Prometheus Unbound?
Open metrics: Prometheus Unbound?Open metrics: Prometheus Unbound?
Open metrics: Prometheus Unbound?Leonardo Di Donato
 
Continuous Time Bayesian Network Classifiers, M.Sc Thesis
Continuous Time Bayesian Network Classifiers, M.Sc ThesisContinuous Time Bayesian Network Classifiers, M.Sc Thesis
Continuous Time Bayesian Network Classifiers, M.Sc ThesisLeonardo Di Donato
 
Topic Modeling for Information Retrieval and Word Sense Disambiguation tasks
Topic Modeling for Information Retrieval and Word Sense Disambiguation tasksTopic Modeling for Information Retrieval and Word Sense Disambiguation tasks
Topic Modeling for Information Retrieval and Word Sense Disambiguation tasksLeonardo Di Donato
 
Guida all'estrazione di dati dai Social Network
Guida all'estrazione di dati dai Social NetworkGuida all'estrazione di dati dai Social Network
Guida all'estrazione di dati dai Social NetworkLeonardo Di Donato
 
A Location Based Mobile Social Network
A Location Based Mobile Social NetworkA Location Based Mobile Social Network
A Location Based Mobile Social NetworkLeonardo Di Donato
 
CRADLE: Clustering by RAndom minimization Dispersion based LEarning - Un algo...
CRADLE: Clustering by RAndom minimization Dispersion based LEarning - Un algo...CRADLE: Clustering by RAndom minimization Dispersion based LEarning - Un algo...
CRADLE: Clustering by RAndom minimization Dispersion based LEarning - Un algo...Leonardo Di Donato
 

Más de Leonardo Di Donato (9)

Prometheus as exposition format for eBPF programs running on Kubernetes
Prometheus as exposition format for eBPF programs running on KubernetesPrometheus as exposition format for eBPF programs running on Kubernetes
Prometheus as exposition format for eBPF programs running on Kubernetes
 
Open metrics: Prometheus Unbound?
Open metrics: Prometheus Unbound?Open metrics: Prometheus Unbound?
Open metrics: Prometheus Unbound?
 
From logs to metrics
From logs to metricsFrom logs to metrics
From logs to metrics
 
Continuous Time Bayesian Network Classifiers, M.Sc Thesis
Continuous Time Bayesian Network Classifiers, M.Sc ThesisContinuous Time Bayesian Network Classifiers, M.Sc Thesis
Continuous Time Bayesian Network Classifiers, M.Sc Thesis
 
Topic Modeling for Information Retrieval and Word Sense Disambiguation tasks
Topic Modeling for Information Retrieval and Word Sense Disambiguation tasksTopic Modeling for Information Retrieval and Word Sense Disambiguation tasks
Topic Modeling for Information Retrieval and Word Sense Disambiguation tasks
 
Guida all'estrazione di dati dai Social Network
Guida all'estrazione di dati dai Social NetworkGuida all'estrazione di dati dai Social Network
Guida all'estrazione di dati dai Social Network
 
Virtual Worlds
Virtual WorldsVirtual Worlds
Virtual Worlds
 
A Location Based Mobile Social Network
A Location Based Mobile Social NetworkA Location Based Mobile Social Network
A Location Based Mobile Social Network
 
CRADLE: Clustering by RAndom minimization Dispersion based LEarning - Un algo...
CRADLE: Clustering by RAndom minimization Dispersion based LEarning - Un algo...CRADLE: Clustering by RAndom minimization Dispersion based LEarning - Un algo...
CRADLE: Clustering by RAndom minimization Dispersion based LEarning - Un algo...
 

Sistema Rilevamento Transiti (SRT) - Software Analysis and Design

  • 1. Progetto Architetture "Sistema di Rilevazione Transiti" Lorusso Giuseppe Samuele Di Donato Leonardo Tortelli Donato
  • 3. 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 infrazione L'ufficio centrale contatta, se c'è, una pattuglia per fermare il veicolo in infrazione ed invia le contravvenzioni L'ufficio centrale esegue inoltre delle analisi statistiche su dati di inquinamento rilevati dalla Base Dati Ambienti (BDA)
  • 4. Assunzioni Tutti i VRT sono situati su strade cittadine Ogni 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 NE L'ufficio centrale comunica i dati del veicolo in infrazione alla pattuglia più vicina al VRT Le pattuglie non sono stabili (possono variare la loro posizione) Una pattuglia può riconoscere e quindi fermare un veicolo avendo come dati targa e colore Le contravvenzioni inviate vengono memorizzate per un tempo di 5 anni
  • 5. Use Case - CHI Rilevamento 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.
  • 6. Use Case - CHI Comunicazione dati Nodo Elaboratore - Ufficio Centrale Il nodo elaborativo comunica i dati del transito all'Ufficio Centrale.
  • 7. Use Case - CHI Gestione Posizione Pattuglia Il software GPS della pattuglia aggiorna la propria posizione all'ufficio centrale.
  • 8. Use Case - CHI Gestione 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.
  • 9. Use Case - CHI Gestione Contravvenzioni La gestione delle contravvenzioni viene eseguita dall'ufficio centrale dopo aver ricevuto i dati anagrafici dalla pattuglia o dal Pubblico Registro Automobilistico.
  • 10. Use Case - CHI Gestione 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.
  • 12. Activity Diagram - Come, Perchè, Quando Comunicazione 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)
  • 13. Activity Diagram - Come, Perchè, Quando Gestione Posizione Pattuglia Aggiornamento della posizione della pattuglia e memorizzazione in sede cetrale.
  • 14. Activity Diagram - Come, Perchè, Quando Rilevazione Pattuglia Ogni qual volta l'ufficio centrale riceve un'infrazione, rileva la pattuglia più vicina al varco dove è avvenuta, e la contatta.
  • 15. Activity Diagram - Come, Perchè, Quando Posto di blocco Se la pattuglia ferma il veicolo, notifica alla centrale l'avvenuto fermo e fornisce i dati del conducente.
  • 16. Activity Diagram - Come, Perchè, Quando Gestione 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.
  • 17. Activity Diagram - Come, Perché, Quando Elaborazione Statistiche Ottenuti i dati del traffico stradale orario di ogni VRT e i livelli di inquinamento, vengono eseguite analisi statistiche.
  • 21. Dimensioni per il partizionamento Abstraction Locations <<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".
  • 24. Architettura Concreta Interazione 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.
  • 25. Architettura Concreta Interazione 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
  • 28. Scelte Tecnologiche - VRT VRT è 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.
  • 29. Scelte Tecnologiche - VRT Le fotocellule e la fotocamera possono distare da 14 mt minimo a 20 mt massimo tra loro.
  • 30. Scelte Tecnologiche Nodo Elaborativo: S.O. Linux Processore con un minimo di 2 Gh 2 GB RAM Hardisk 50 GB Modem può essere privo di monitor 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
  • 31. 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.
  • 33. 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.
  • 36. Schema Concettuale BDA Reverse Engineering
  • 37. 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.
  • 38. 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'ora 6 - Questa eterogeneità viene risolta utilizzando come chiave primaria, nella nuova entità, data e ora, le quali identificano univocamente una statistica
  • 39. 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
  • 41. Mapping tra Schema Globale e Schemi Locali Global As View CREATE VIEW Pattuglia CREATE VIEW Centralina AS CREATE VIEW Contravvenzione AS AS SELECT * SELECT * SELECT * FROM BDA.Centralina FROM SRT.Contravvenzione FROM SRT.Pattuglia CREATE VIEW Riparazione AS CREATE VIEW Infrazione AS CREATE VIEW Nodo AS SELECT * SELECT * SELECT * FROM BDA.Riparazione FROM SRT.Infrazione FROM SRT.Nodo CREATE VIEW Tecnico AS CREATE VIEW Guidatore AS CREATE VIEW Sede AS SELECT * SELECT * SELECT * FROM BDA.Tecnico FROM SRT.Guidatore FROM BDA.Sede
  • 42. Mapping tra Schema Globale e Schemi Locali Global 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;
  • 43. 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))
  • 44. Unfolding SELECT 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))