Tipologie di Informazioni

Le entità gestite dalla piattaforma Yucca sono le seguenti:
  • Area di lavoro: risorse messe a disposizione da Yucca, unite alle fonti informative di ogni progetto.
  • Tenant: gruppo di utenti che accede ad un’area di lavoro con le stesse tipologie di permessi e che lavora sulle stesse entità.
  • Smart Object: oggetti che inviano dati alla piattaforma in modalità continuativa;
  • Tipologia Device: tipicamente sensori;
  • Tipologia Application: tipicamente applicazioni;
  • Tipologia Feed Tweet: account Twitter.
  • Stream: canale che definisce il formato dei messaggi provenienti dagli Smart Object, oppure frutto di logica di business sui dati provenienti da uno o più Smart Object.
  • Dataset: contenitore dei dati memorizzati in piattaforma;
  • Tipologia streamDataset: contiene dati provenienti da stream;
  • Tipologia bulkDataset: contiene dati caricati sulla piattaforma;
  • Component: corrisponde ad una tipologia specifica di dato (per esempio longitudine in uno stream che invia posizioni).

Le relazioni tra le diverse entità di una stessa Area di lavoro sono descritte nel diagramma sottostante:

../../../_images/linee_guida1.png

Vista l’importanza del concetto di dataset, si precisa che la piattaforma Yucca contiene le seguenti tipologie di dataset:

  • dataset contenenti eventi provenuti dai sensori;
  • dataset contenenti eventi provenuti da Twitter;
  • dataset contenenti messaggi provenuti da applicazioni;
  • dataset frutto di elaborazioni realtime/offline interne alla piattaforma;
  • dataset contenenti dati di contesto e tipicamente provenienti da caricamenti avvenuti dalla user interface (lo User Portal), o da integrazioni con applicazioni.
../../../_images/linee_guida2.png

Nel seguito vengono elencate le singole proprietà delle entità sopra descritte.

Smart Object

Di seguito sono descritti gli attributi descrivibili sulla piattaforma relativi agli Smart Object. Non tutti gli attributi sono presenti in tutte le tipologie.

Tabella 1- Modello dei dati che rappresenta un generico sensore

Tipologia Attributo Descrizione Tipo
Tutte Type Un valore tra Device/application/Feed Tweet Stringa
Device Category Tipologia di device (gateway, smart, etc..) Stringa
Feed Tweet max number of stream Numero di ricerche associate all’account twitter Intero
Tutte Code Un identificatore dello smart object Stringa
Tutte Name Nome del sensore (es. “Centralina Meteo Ciardoney”) Stringa
Tutte Description Descrizione del sensore Stringa
Device Model Nome del modello (es. “Campbell GRWS100”, “CSP TrafficConter”) Stringa
Device Location Posizione del sensore Oggetto: Location (Tabella 6)
Device Description Descrizione libera Stringa
Device Category Categoria di appartenenza del sensore. “Gateway” “Webcam” “Smart”
Device Supply Serve a capire se il sensore è dotato di alimentazione autonoma (e. batteria ricaricata con pannelli solari) o se è collegato alla rete elettrica “Auto” “Network”
Device Management La URI che punta all’interfaccia di amministrazione del sensore Stringa (URI)
Device Status Stato del sensore “Active” “Unactive”
Device Version Versione del software o del firmware Stringa

Tabella 2- Oggetto Location

Attributo Descrizione Tipo
disposition Permette di capire se si tratta di un dispositivo mobile o meno. “Fixed” “Mobile”
exposure Permette di capire se si tratta di un sensore installato in esterno oppure no. “Indoor” “Outdoor”
positions Elenco delle posizioni Vettore di oggetti Position (Tabella 7)

Tabella 3- Oggetto Position

Attributo Descrizione Tipo
lat Latitudine in gradi Numero reale
lon Longitudine in gradi Numero reale
ele Altezza in metri Numero reale
time Data e ora della posizione Stringa ([ISO8601])
building Struttura che ospita il sensore Stringa
floor Piano in cui è collocato il sensore Numero intero
room Stanza che ospita il sensore Stringa

Stream

Un device, un’applicazione o una ricerca twitter che inviano dati alfanumerici e numerici a Yucca (messaggi) generano un flusso di dati. A questo flusso vengono associati alcuni meta-dati che sono rappresentati in Tabella 1. Tale flusso trasporta eventi di business omogenei e rilevanti per l’applicazione. Poiché un’applicazione può pubblicare diversi tipi di messaggi (ossia diversi flussi) è opportuno che a ciascun flusso dati (Stream) sia associato un identificatore locale all’applicazione.

Tabella 4 - Oggetto Stream

Attributo Descrizione Tipo
Smart Object Identificatore dello smartobject che genera lo stream Stringa
stream Identificatore del flusso (univoco solo per lo stesso smart object) Stringa
name Descrizione libera Stringa
tags Tag utili per la ricerca Vettore di stringhe
visibility Visibilità del flusso “public” “private”
domain Ambito tematico Stringa
subdomain Sottoambito tematico Stringa
license Tag Creative Commons che identifica la licenza sottoposta al flusso (es. “CC0 1.0”, “CC BY 4.0”) Stringa
Fps (valido solo per smart object di tipo device) Associando al concetto di frame una singola osservazione, questo parametro (condiviso anche con i flussi multimediali) permette di dare evidenza della frequenza di acquisizione della misura Numero
disclaimer Dichiarazione di limitazione di responsabilità Stringa
copyright Nota di copyright Stringa
components Un vettore che contiene la descrizione di tutte le componenti del flusso Vettore di oggetti Component

Component

Nella descrizione di un flusso (Stream) è opportuno riportare un elenco di componenti (Component) che collettivamente forniscono la rappresentazione di un evento. L’approccio usato permette di associare meta dati anche alle singole componenti (Tabella 2).

Tabella 5 - Oggetto Component

Attributo Descrizione Tipo
id Identificatore della componente (univoco solo all’interno della misura) Stringa
unit Unità di misura Stringa
allowance Tolleranza espressa come valore assoluto dell’errore sulla misura Numero
event Tipo di fenomeno misurato (e. “Wind Speed”) Stringa
type Permette di risalire al dominio del dato (ad esempio numeri reali, interi positivi, enumerazione e altri) Uno tra i tipi disponibili (vedi: TIPOLOGIE DI DATO)
required identifica se la componente deve essere inviata per ogni dato o se è facoltativa Boolean
groupable identifica se il campo può essere oggetto di raggruppamento nelle API di lettura oData Boolean