Corso di laurea in Ingegneria informatica - supsi.ch · Bachelor in Ingegneria informatica. Sandro...

12
“Le sfide che siamo chiamati ad affrontare come Board International sono grandi, operiamo in un mercato internazionale in cui ci troviamo a competere con dei colossi per cui siamo sempre in cerca di giovani talenti: negli studenti SUPSI troviamo sempre le competenze che cerchiamo. Nel corso degli anni abbiamo inserito in azienda, sempre con grande soddisfazione, sia studenti pro- venienti dal Bachelor che studenti provenienti dal Master. La preparazione di cui godono permette loro di contribuire sin da subito nei progetti in cui vengono inseriti.” Salvatore Capuano Technology Manager, BOARD International SA Corso di laurea in Ingegneria informatica

Transcript of Corso di laurea in Ingegneria informatica - supsi.ch · Bachelor in Ingegneria informatica. Sandro...

“Le sfide che siamo chiamati ad affrontare come Board International sono grandi, operiamo in un mercato internazionale in cui ci troviamo a competere con dei colossi per cui siamo sempre in cerca di giovani talenti: negli studenti SUPSI troviamo sempre le competenze che cerchiamo. Nel corso degli anni abbiamo inserito in azienda, sempre con grande soddisfazione, sia studenti pro-venienti dal Bachelor che studenti provenienti dal Master. La preparazione di cui godono permette loro di contribuire sin da subito nei progetti in cui vengono inseriti.”

Salvatore CapuanoTechnology Manager, BOARD International SA

Corso di laurea in

Ingegneria informatica

71

Visita il sitowww.supsi.ch/dti/bachelor/

ingegneria-informatica

La lista dei lavori di Bachelor presen-tati in questo catalogo rappresenta uno spaccato interessante delle at-tività dei progetti di ricerca applicata in corso presso il Dipartimento tecno- logie innovative e delle necessità delle aziende del territorio. In effetti istituti del dipartimento e aziende sono la provenienza dei temi e leggendo le descrizioni dei singoli lavori si intuisce quanto sia forte il legame tra SUPSI e aziende locali. Del resto, il lavoro di Bachelor, pur rappresentando solo uno tra i vari punti di contatto tra la nostra scuola e il mondo aziendale, è tra i più importanti perché permette ai nostri studenti di lavorare in un contesto produttivo, applicando da subito le conoscenze apprese durante lo studio. Da sempre la SUPSI può vantare nella sua offerta formativa un ciclo di studi in informatica. Fondato presso la vecchia Scuola tecnica superiore (STS) nel 1986 e integrato nell’attuale scuola universitaria dalla sua fondazione, avvenuta nel 1997, quello in informatica rappresenta nel contesto territoriale un ciclo di studi di tradizione, dove gli aspetti teorici vengono da subito combinati a lavori ed esercitazioni pratiche in laboratorio, dispensando allo stu- dente quella giusta dose di concre-tezza che caratterizza tutti i Ba-chelor presso le scuole universitarie professionali svizzere. Il ciclo di studi è sostenuto da una serie di istituti attivi in progetti di ricerca applicata e trasferimento di tecnologia, sia a livello locale che internazionale. I docenti del corso di laurea proven-gono dagli stessi istituti o da aziende attive nel territorio.

Il curriculum combina conoscenze scientifiche e culturali con una solida preparazione tecnica nelle tecnolo-gie innovative. Il settore delle nuove tecnologie è particolarmente adatto all’autoimprenditorialità; per questo motivo, durante lo studio, al futuro ingegnere vengono dati stimoli e nozioni di base per creare un’azienda propria, se lo desidera e se ritiene di avere un’idea imprenditoriale valida.Oltre ai temi direttamente legati alle tecnologie, in costante evoluzione, i corsi danno importanza ad altre capacità del futuro ingegnere, come quella di analizzare e risolvere pro-blemi complessi e quella di saper interagire in modo professionale con i colleghi e con il mondo esterno. L’ingegnere informatico è del resto per sua natura confrontato con aspetti multidisciplinari e deve saper lavorare con colleghi di progetto di provenienze professionali diverse. Le competenze acquisite nell’ambi-to dei lavori di gruppo, della comuni-cazione e della gestione di progetti gli consentiranno, con l’esperienza, di gestire team di sviluppo e progetti. Del resto, è noto che una buona parte dei quadri delle piccole e medie imprese svizzere proviene per tra- dizione dalle scuole universitarie pro- fessionali e i laureati in informatica alla SUPSI non fanno eccezione.

Responsabile del corso di laureaSandro Pedrazzini

Corso di laurea in

Ingegneria informatica

Laur

eati

2018

Vin

cito

re d

el p

rem

io

Tale

nThe

sis

74

Adr

iati

k D

ush

ica

Em

erge

ncy

depa

rtm

ent -

W

ait t

ime

pred

icti

on

—76

N

iko

Bon

omi

C

entr

aliz

ed A

cces

s Map

77

Bria

n D

alle

Pez

ze

Ph

ysic

ally

-bas

ed R

ende

ring

fo

r Ope

nGL

78

Fran

cesc

o D

i Bri

no

D

istr

ibut

ed L

edge

r Tec

hnol

ogy

(DLT

) in

piat

tafo

rme

IoT

79

Aro

n M

igue

l Erb

etta

M

achi

ne le

arni

ng a

pplic

ato

al

3D

pri

ntin

g

—80

Fe

deri

co G

atti

non

i

Dee

p Le

arni

ng a

pplic

ato

alla

co

ltur

a de

i pom

odor

i

—81

A

xel K

uh

n

Tool

per

la g

ener

azio

ne

auto

mat

ica

di so

luzi

oni

LI

MS

(Lab

orat

ory

Info

rmat

ion

Man

agem

ent S

yste

m)

82

Sim

one

Mel

lace

Svilu

ppo

di u

n si

stem

a

sper

imen

tale

per

la so

nific

a-zi

one

di st

ream

vid

eo so

ftw

are

per a

pplic

azio

ni m

usea

li

83

Nh

at L

uan

Ngu

yen

Po

rtin

g de

ll’ap

p Se

cure

Safe

su

des

ktop

84

Elia

Ogg

ian

Im

mut

able

Infr

astr

actu

re

appl

ied

to a

real

use

cas

e

—85

Ch

rist

ian

Paol

iell

o

Nav

igat

ore

virt

uale

3D

86

Dan

iel P

ust

aj

Star

tup

Gar

age:

id

ea M

anag

er T

ool S

GIM

T - W

ebA

pp

—87

Fl

avio

Rig

hi

“M

ySup

si”,

App

mob

ile

cros

s-pl

atfo

rm p

er st

uden

ti

e co

llabo

rato

ri S

UPS

I

—88

N

oah

Spag

noli

C

onfig

urat

ore

sist

ema

au

dio

3D

—89

Ch

rist

ian

Tadd

ei

Proc

edur

al U

nive

rse

90

Chri

stia

n Tr

isol

ini

A

pplic

azio

ne w

eb G

iorn

ale

di

bor

do p

er h

otel

Architettura esternaTabellone tempi d’attesa visibile dalla saladel pronto soccorso

Tempi d’attesa previsti in pronto soccorso visibili dal sito web

Attività nelle quali un paziente di pronto soccorso è coinvolto

Bachelor of Sciencein Ingegneria informatica

RelatoriAndrea Emilio Rizzoli

Vincitore del premio TalenThesis 2018

Adriatik DushicaEmergency Department Wait Time Prediction

74

AbstractOggigiorno sempre più enti (pubblici e privati) come ospedali, uffici postali o call center offrono ai propri pazienti/clienti una previ-sione del tempo d’attesa.L’Ente Ospedaliero Cantonale (EOC), più precisamente il pronto soc-corso (PS) dell’Ospedale Civico di Lugano (OCL), richiede la realiz-zazione di un modello predittivo in grado di fornire ai propri pazienti il tempo d’attesa. Complessiva-mente sono stati analizzati tre modelli in grado di prevedere il tempo d’attesa. Il modello che ha offerto le migliori prestazione è una regressione con rete neurale, un’archittetura ispirata ai sistemi nervosi biologici.

ObiettivoIl problema oggetto del lavoro di diploma è relativo alla stima del tempo d’attesa in pronto soccorso. In modo particolare si vogliono studiare, implementare e valutare algoritmi in grado di produrre una stima del tempo d’attesa in pronto soccorso. Gli obiettivi didattici sono focaliz-zati sull’apprendere il processo di modellazione e di sviluppo di un modello predittivo, dunque: analisi dello stato dell’arte, estrazione dei dati dai diversi sistemi informa-tici, data cleaning, creazione di un dataset, validazione e scelta del modello, implementazione del modello.

MotivazioniL’impiego dell’intelligenza artificia-le per risolvere problemi quotidiani è di per sé fantastico, ma se ad ot-tenere il beneficio non è un utente ma un paziente, allora la cosa si fa ancora più interessante. Sono convinto che siamo solamente all’inizio di una nuova era in cui le intelligenze artificiali vengono applicate al mondo della sanità, permettendo una migliore qualità delle cure. Questo progetto di tesi mi ha permesso di approfondire tecnologie legate all’intelligenza artificiale e, al contempo, di capire quali potrebbero essere i bene-fici dell’impiego di quest’ultima nell’ambito sanitario.

ConclusioniLa rete neurale sviluppata è stata utilizzata in due diverse appli-cazioni: la prima viene mostrata attraverso un monitor in pronto soccorso e permette di visualizzare in tempo reale l’attesa prevista per ogni paziente; la seconda è un’applicazione web che permette ai singoli pazienti di visualizzare in maniera pratica e funzionale il tempo d’attesa stimato. Il risultato è un prototipo che nei prossimi mesi subirà una vali-dazione da parte del personale del pronto soccorso.

Adriatik DushicaFin da piccolo sono sempre stato affascinato da qualsiasi dispositivo elettronico, incantato dalla stra-ordinaria capacità di questi piccoli ma allo stesso tempo intelligenti strumenti. Fu soltanto nel periodo adolescenziale che mi avvicinai allo sviluppo e capii che sarebbe stata quella la mia strada. Decisi quindi di intraprendere un apprendistato come Informatico Sviluppatore e successivamente completare la formazione con un Bachelor in Ingegneria informatica.

Sandro PedrazziniScopo del lavoro era sviluppare un algoritmo che stimasse il tempo di attesa in un pronto soccorso.Il problema è molto studiato poiché ha grande rilevanza sulla qualità dell’esperienza degli utenti, che spesso si trovano a dovere aspettare molte ore, senza sapere quando potranno essere visitati. La disponibilità di questa informazione online rende inoltre possibile, per casi non gravi, la scelta del momento migliore per recarsi in ospedale. Lo studente è riuscito nel compito di selezionare alcuni algoritmi e applicarli ai dati forniti dall’Ente Ospedaliero Cantonale, con cui è stato svolto il lavoro. Il risultato è un algoritmo basato su di una rete neurale. Dopo la fase di calibrazione e validazione l’algoritmo è stato impiegato su dati prodotti in tempo reale dall’Ospedale Civico di Lugano ed è attualmente in fase di test.Lo studente è riuscito ad eseguire tutte le fasi del progetto, mostrando grandi capacità di lavoro autonomo e di originalità nello sviluppo di ipotesi e idee.

75

76 77

Niko BonomiRelatoreGiuseppe Landolfi

Ingegneria informatica

PartnerEOC

Brian Dalle PezzeRelatoreAchille Peternier

Ingegneria informatica

Abstract

Il problema principale dell’Area ICT presso l’Ente Ospe-daliero Cantonale è la gestione degli accessi informatici. Infatti, per i software che non sono integrati in MS Acti-ve Directory, vi sono una serie di responsabili che danno i diritti manualmente agli utenti nei programmi in loro gestione. Lo scopo di questo progetto è quello di elimi-nare il problema partendo dall’origine. Il prodotto ha lo scopo di realizzare una mappatura di tutti i ruoli presenti in azienda e le varie tipologie di accessi su quei software la cui gestione viene eseguita manualmente. In questo modo, quando un nuovo collaboratore inizierà a lavo-rare si potranno conoscere immediatamente i software necessari i quali verranno assegnati automaticamente. Questo sgraverà moltissimo il service desk che potrà de-dicarsi a tempo pieno alle altre attività che gli competono.

Obiettivi

– Creazione di una struttura dati che possa contene-re la mappa, permettendone una gestione rapida ed efficace.

– Creazione di un automatismo “reverse engineering” che popoli la mappa in funzione della situazione at-tualmente presente in azienda.

– Validazione dell’automatismo con il personale ad-detto alla creazione di utenti.

– Creazione di un’applicazione web che permetta la gestione da parte degli amministratori di sistema e renda disponibile a tutti la visione della situazione standard.

– Creazione di un servizio web che permetta in futuro l’integrazione con l’attuale software di creazione utenti.

– Stesura di una documentazione completa.

Conclusione Lo stato di avanzamento di questo progetto è conforme agli obiettivi prefissati inizialmente, i quali sono stati tutti raggiunti. La mappatura ottenuta permette una vi-sione d’insieme della situazione attualmente presente in azienda, con il risultato di allertare i responsabili di even-tuali situazioni anomale e/o accessi assegnati in modo errato. Allo stato attuale la mappatura è in supporto ai collaboratori del service desk per fornire una linea guida di come devono essere assegnati i diritti nei vari software. In futuro saranno implementate tutte le funzionalità che permettono l’automazione totale per raggiungere lo scopo finale del CAM, quello di rimuovere il fattore umano dalla generazione di nuove utenze informatiche.

Abstract

Il Physically-based rendering (o PBR) è un modello di illuminazione che cerca di simulare in modo simile alla fisica il funzionamento della luce nel mondo reale, allo scopo di aumentare il fotorealismo delle scene o rendere più naturali e piacevoli all’occhio i materiali renderizzati. I modelli PBR sono caratterizzati dall’utilizzo di Bidi- rectional Reflective Distribution Function (BRDF), che si-mulano la riflessione della luce, la conservazione dell’e-nergia (distinzione mutualmente esclusiva tra luce riflessa e rifratta) e l’applicazione della Microfacet Theory, la quale simula il comportamento generalizzato di ogni superficie a seconda della sua rugosità.

Obiettivi

– Implementare il PBR 3D in real-time nel motore gra-fico fornito dal docente accertandosi che tutte le pi-peline (rendering diretto e deferred) siano funzionanti.

– Estendere il plugin di export/import del motore gra-fico per i modelli 3D in modo che supporti tutte le in-formazioni relative al PBR.

– Fornire una dimostrazione che mostri chiaramente i vantaggi del PBR rispetto al modello di rendering precedente.

Conclusione

Dopo aver ricercato, analizzato e documentato i PBR più comuni è stato implementato un primo shader in un motore grafico personale. Il modello è stato adattato con successo al motore grafico fornito dal docente (Overvision) e sono state apportate le modifiche neces-sarie per l’integrazione completa. Sono stati inoltre aggiornati i plugin di import/export per far fronte ai nuovi parametri richiesti. Qui sopra è visibile una demo dei risultati ottenibili at-traverso questo modello.

Centralized Access Map Physically-based Rendering for OpenGL

78 79

Francesco Di BrinoRelatoreAmos Brocco

Ingegneria informatica

PartnerParadox Engineering

Ingegneria informatica

Aron Miguel ErbettaRelatoreMichele Banfi

Abstract

Il progetto commissionato da Paradox Engineering aveva lo scopo di individuare quali Distributed Ledger Techno-logy (DLT) fossero le più adeguate da utilizzare in ambito IoT, nello specifico in un contesto applicato alle Smart City. L’utilizzo di una tecnologia di questo tipo permette di risolvere problemi di sicurezza, prevenendo ad esem-pio attacchi come Denial of service o Man in the Middle. È inoltre possibile creare uno storico dei comandi svolti all’interno della rete e l’utenza da cui vengono eseguiti.Da uno studio approfondito delle possibili DLT attual-mente disponibili, ne sono emerse due particolarmente interessanti ovvero Hyperledger e Ethereum. I maggiori problemi per l’integrazione di queste applica-zioni in campo IoT sono legati all’utilizzo di dispositivi a basso consumo di energia e, di conseguenza, con scarsa potenza di calcolo. È stato quindi sviluppato uno scena-rio riguardante una Smart City.

Obiettivi

– Familiarizzare con il contesto operativo – Ricerca dello stato dell’arte e compilazione del rela-

tivo rapporto – Contribuire alla definizione delle tecnologie di DLT,

dei requisiti della piattaforma IoT, dei protocolli di co-

municazione e dell’applicazione target – Contribuire alla progettazione e implementazione di

un dimostratore utilizzando reti reali o simulate – Stesura rapporto finale

Conclusione L’obiettivo di questo progetto era di studiare la possibi-lità di integrare una DLT in ambito IoT. Per far ciò è stato necessario analizzare vantaggi e svantaggi che l’inte-grazione di un’infrastruttura di questo tipo introduce e identificare implementazioni di DLT che potessero essere applicate ad una Smart City, potendo quindi lavorare con dispositivi a basse performance. È risultato che l’utilizzo di una DLT può portare una maggiore sicurezza alla rete prevenendo attacchi di vario tipo e diminuire il rischio di perdita di dati essendo distribuiti su piú macchine. Per quanto riguarda gli svantaggi, risultano essere moderati in quanto i tempi di latenza per le transazioni non sono eccessivi e un eventuale rischio di attacco perpetrato possedendo il 51% della potenza di calcolo della rete può essere evitato adottando una DLT di tipo Permissioned. I framework presi in esame sono Hyperledger e Ethe-reum, i quali permettono l’utilizzo di Smart Contracts e si adattano bene alle esigenze del progetto.

Abstract

Il progetto richiedeva lo sviluppo di un applicativo per il riconoscimento di immagini di una melt pool per verifica-re l’andamento della creazione di componenti in metallo. Le immagini vengono ricavate grazie all’utilizzo di una camera a colori montata all’interno di un macchinario utilizzato per la produzione delle componenti tramite la tecnica dell’additive manufacturing. La creazione av-viene depositando strati di polveri di leghe d’acciaio in seguito fuse da un fascio laser. Per la classificazione delle immagini della melt pool è stato deciso dal relatore di utilizzare il deep learning. La categorizzazione delle immagini permette di capire come la creazione del componente stia avvenendo. Questo rende possibile comprendere se sono necessari aggiustamenti dei parametri delle parti coinvolte nella produzione, come ad esempio modificare la potenza del fascio laser, la velocità di spostamento della testa, ecc.

Obiettivi

Gli obietivi principali di questo progetto sono: – Apprendere le basi del machine learning legato alle

reti neurali

– Determinare la tipologia di rete neurale indicata per la classificazione di immagini

– Effettuare analisi delle tecnologie disponibili per indi-viduare la libreria più adatta

– Implementare il software in modo che classifichi tra le 200 e le 800 immagini al secondo

Conclusione Il progetto svolto ha permesso di comprendere che lo sviluppo di una rete neurale ad-hoc per il proprio campo di applicazione necessita di ricerche approfondite e molti tentativi per ottimizzare i parametri alla tipologia di immagini interessata, compiti che richiedono molto più tempo di quello effettivamente disponibile. Questo ostacolo è stato superato grazie alla possibilità di fare transfer learning su reti pre-esistenti le quali, es-sendo allenate su un numero elevato di immagini, sono molto prestanti a livello generale, ovvero utilizzabili con dataset molto diversi fra loro. In questo modo, gli obiettivi iniziali sono stati in buona parte raggiunti: è stata studiata la teoria delle deep neu-ral networks, sono state identificate la rete e la libreria più adatta allo scopo ed è stato sviluppato un prototipo di classificatore in grado di categorizzare le immagini della melt pool con una accuratezza di oltre il 90%.

Distributed Ledger Technology (DLT) in piattaforme IoT

Machine learning applicato al 3D printing

80 81

Federico GattinoniRelatoreMichele Banfi

Ingegneria informatica

PartnerDimas SA

Ingegneria informatica

Axel KuhnRelatoreVanni Galli

PartnerLabtitude Sagl

Abstract

I pomodori sono prodotti ad alto valore aggiunto e sono gli ortaggi più consumati in Svizzera. Le infestazioni delle colture possono comportare perdite di produzione fino al 25% e richiedono l’impiego di pesticidi che riducono la qualità e la quantità del prodotto. L’ispezione delle colture viene effettuata su campioni, essendo troppo impegnativa per essere eseguita su tutte le piante (il nostro cliente dispone di 13 km di filari di po-modori per un totale di 27’000 m²).L’utilizzo di un sistema di visione innovativo supporta il coltivatore per l’individuazione delle malattie delle col-ture. L’ispezione è automatica e viene eseguita su tutte le colture utilizzando telecamere multi e iper-spettrali, montate su un meccanismo adattato alla navigazione autonoma nei filari.

Obiettivi

Il progetto consiste nello sviluppo di un applicativo in grado di riconoscere lo stato di salute delle piante di po-modoro presenti all’interno di una serra, acquisendone le immagini.

Utilizzando l’applicativo, l’agronomo ha la possibilità di sapere quali sono le piante malate e agire di conseguen-za cercando di ridurre le malattie o addirittura cercando di prevenirle.

Conclusione

Per la classificazione delle immagini è stata utilizzata la tecnologia del “Deep Learning” basata sulle reti neurali convoluzionali. Sono state utilizzate delle reti di due di-verse piattaforme (Matlab e Halcon), le quali sono già pre-trained (pre-allenate). Le accuratezze ottenute nella fase di training della rete dai classificatori utilizzati sono molto buone, conside-rando anche le immagini utilizzate. Anche ad occhio nudo per alcune immagini è difficile individuare e distin-guere le malattie incontrate. L’accuratezza è di circa il 98%: si tratta di un valore riscon-trabile con i risultati ottenuti durante la fase di inference (fase in cui viene applicato il classificatore alle immagini in nostro possesso).Il numero di immagini con cui abbiamo lavorato nel progetto è molto inferiore rispetto alle immagini che verranno successivamente utilizzate per ottenere un prodotto industriale.

Abstract

Labtitude Sagl sviluppa soluzioni web customizzate per la gestione dei processi e delle informazioni per aziende attive nell’ambito della ricerca scientifica.Per ottimizzare i tempi di sviluppo, necessita quindi di uno strumento in grado di:

– Disegnare schemi Entity-Relationship – Generare una soluzione web completa in base allo

schema ER – Eseguire il deployment su un server specifico o su

Microsoft Azure

Obiettivi

Il progetto si concentra sui primi due requisiti: svilup-pare un’applicazione web che permetta ad uno svi-luppatore di disegnare un modello dati per una nuova soluzione, nonché la generazione automatica di tale soluzione come applicazione web completa, indipen-dente e basata su un template definito a priori.

Conclusione Il progetto è stato completato in tre fasi ed ha richie-sto lo sviluppo di componenti personalizzate basate su framework moderni per lo sviluppo web. È possibile disegnare in maniera semplice nuovi modelli dati di varia complessità ed in seguito lasciare all’applicazione il compito di generare la soluzione finale basata su un template personalizzabile anch’esso dallo sviluppatore.

Deep Learning applicato alla coltura dei pomodori LIMS Designer

82 83

Simone MellaceRelatoreLuca Maria Gambardella

Ingegneria informatica Ingegneria informatica

Nhat Luan NguyenRelatoreRaffaello Giulietti

PartnerDSwiss AG

Abstract

Video2Sound è un progetto sviluppato inizialmente da IDSIA, utile a trasformare delle immagini acquisite attraverso una telecamera in suono. Questo proget-to mira a sviluppare un sistema solido e utilizzabile per delle dimostrazioni museali. L’applicazione si occupa di riconoscere dei soggetti presenti in determinati foto-grammi attraverso tecniche di Machine Learning e di generare delle tracce audio, utilizzando un sintetizzato-re granulare.L’algoritmo prevede di identificare la similitudine fra il frame ripreso dalla telecamera e quelli provenienti da alcuni file video ricevuti in input. Attraverso questa associazione sarà possibile, in un se-condo momento, generare delle tracce audio inedite uti-lizzando l’audio dei video ricevuti in input. Il tutto è stato sviluppato in Python 3, appoggiandosi a frameworks come TensorFlow, Keras e Imagenet: un grande data-set di immagini classificate. Mentre per la generazione dell’audio è stata utilizza la libreria Pyo, la quale permette di plasmare dei suoni utilizzando sintetizzatori audio di diverso genere.

Obiettivi

L’obiettivo di questo progetto è quello di comprendere il funzionamento dello sviluppo iniziale e di prenderlo in carico. In questo modo si acquisiranno tecniche di Ma-chine Learning e si potranno apprendere tecniche per la sintesi audio. L’applicativo deve funzionare in modo corretto, producendo un rumore che ricordi ciò che si sta inquadrando. Il sistema deve essere dimostrabile.

Conclusione

Il sistema implementato permette di riconoscere dei soggetti inquadrati tramite una telecamera e di produrre un suono riconducibile ad essi. I meccanismi di ricono-scimento delle immagini e di sintesi audio sono stati esplorati e ottimizzati al fine di ottenere un’esperienza migliore. Il sistema è stato consolidato, documentando nel dettaglio le tecniche utilizzate ed è stato testato il software prodotto. La parte algoritmica potrà essere approfondita, ma la versione attuale, completa e funzio-nale, dispone di una buona analisi audio ripercorribile da chiunque attraverso i documenti offerti.Il programma risulta inoltre snello e rapido poiché alcune parti sono state parallelizzate per diminuire il tempo di risposta del software.

Abstract

I vantaggi principali legati allo sviluppo di applicazioni cross-platform sono:

– Non richiede agli sviluppatori la conoscenza di diversi linguaggi di programmazione

– Condivisione delle funzioni comuniXamarin è una delle tecnologie più diffuse per lo svilup-po di applicazioni cross-platform per monile (iOS e An-droid) e consente di riutilizzare le proprie conoscenze di sviluppo con le tecnologie Microsoft, come Visual Studio e il linguaggio C#.Il client di SecureSafe è disponibile in due versioni diffe-renti, una per desktop sviluppata in C++/QT e una mo-bile sviluppata in Xamarin/Xamarin.Forms. Entrambe le applicazioni offrono molte funzionalità simili, sviluppate due volte.L’obiettivo di questo progetto è quello di valutare se è possibile eseguire le app Xamarin anche in versione desktop, su Windows e Mac OS per sostituire la versione attualmente scritta in C++/Qt.

Obiettivi

Valutare la fattibilità della creazione di un progetto di Xamarin.Form che sia in grado di generare delle diverse versioni di client, sia per mobile sia per desktop, condivi-dendo una parte del codice in comune (principalmente codice di business logic).Le versioni desktop su cui la applicazione viene eseguita sono:

– macOS, – Windows 10, – Windows 7 in su.

Dato che Xamarin.Forms è un framework disegnato per sviluppare le applicazioni mobile, i suoi platform backend per Desktop come MacOS e Windows (UWP) sono ancora in uno stato iniziale di sviluppo, per cui il ri-sultato fatto in Forms ha delle limitazione.

Conclusione Durante questo progetto è stata dimostrata la fattibilità dell’applicazione desktop grazie all’utilizzo di Xamarin.Forms. I risultati ottenuti hanno soddisfatto le attese, ricevendo delle risposte positive da parte del com-mittente. Sono emerse delle limitazioni dovute al fra-mework, ma in futuro, grazie agli aggiornamenti dello stesso, i problemi dovrebbero essere risolti.

Sviluppo di un sistema sperimentale per la sonificazione di stream video software per applicazioni museali

Porting dell’app SecureSafe su desktop

84 85

Elia OggianRelatoreAngelo Consoli

Ingegneria informatica

PartnerEOC

Ingegneria informatica

Christian PaolielloRelatoreGiacomo Poretti

PartnerDevice SA

Abstract

Il progetto prevede l’adozione del concetto di infrastrut-tura immutabile. Si vuole quindi apportare modifiche ai server sostituendoli con degli altri che sono stati mo-dificati in base alle necessità. Il prototipo sviluppato si interfaccia con la piattaforma di virtualizzazione dei server (VMware) per la creazione ed eliminazione degli stessi, con il load balancer (Barracuda) per modificare la sua configurazione e, infine, con il container orchestrato (Rancher) per la distribuzione dei microservizi da ese-guire in container sui server virtuali. Sono stati definiti i flussi di sostituzione e di integrazione necessari per garantire un’ottimale rotazione dei server all’introduzione di una nuova modifica. Vengono utiliz-zati strumenti e concetti innovativi, grazie ai quali è stato possibile ottenere dinamismo nell’attuare la sostituzione dei server. Si prevede un utilizzo dell’infrastruttura da par-te di oltre 2000 utenti, 24 ore al giorno, ogni giorno.

Obiettivi

Realizzare un’infrastruttura immutabile.Automatizzare la sostituzione dei server integrando i componenti dell’infrastruttura. Minimizzare il tempo di downtime delle applicazioni durante la rotazione dei server. Le modifiche sui server vanno in produzione uni-

camente se non hanno provocato problemi negli altri ambienti. Le modifiche all’infrastruttura, e quindi ai ser-ver, rimangono tracciate nel codice che viene versionato sul repository centrale.

Conclusione

Il prototipo di infrastruttura immutabile realizzato in questo progetto permette di:

– Creare (e distruggere) un’infrastruttura descritta con del codice.

– Modificare i server sostituendoli con altri server mo-dificati in base alle necessità, in modo automatizzato.

– Gestire lo spostamento delle applicazioni in esecu-zione dai vecchi server verso quelli nuovi.

– Configurare in modo automatico il load balancer in funzione dei server virtuali attivi.

– Versionare la definizione dell’infrastruttura. – Testare le versioni dei server virtuali negli altri am-

bienti prima di metterli in produzione. – Ottenere omogeneità tra i server dello stesso am-

biente.I risultati ottenuti sono un netto miglioramento per l’EOC che può raffinare il prototipo implementato ed utilizzarlo in seguito per l’erogazione degli oltre 120 mi-croservizi di GECO, l’applicazione per la cartella infor-matizzata del paziente, utilizzata negli ospedali.

Abstract

Il progetto richiede lo sviluppo di un navigatore a sup-porto di veicoli in condizioni estreme di poca visibilità (notte), strada coperta da neve o altri fattori. L’applicazione sfrutta una nuvola di punti già memo-rizzata all’interno del client per ricostruire lo scenario virtuale che riflette quello reale. L’informazione per sin-cronizzare la posizione del veicolo virtuale con quella reale è data da un dispositivo GPS predisposto nel veicolo.

Obiettivi

L’obiettivo è lo sviluppo di un programma di visualizza-zione e navigazione all’interno di un point cloud guidato dalla posizione GPS del veicolo, garantendo l’allinea-mento fra scena rappresentata sulla schermo e realtà effettiva che il conducente vedrebbe in condizioni reali.

Conclusione Il progetto dimostra la fattibilità dell’impresa. Durante le prove si riusciva chiaramente a capire che la visuale mostrata nel point cloud era quella del guidatore, no-nostante ci sia un ritardo di circa 0.8 secondi introdotto sia dal GPS che non ha una cadenza perfetta sia dal fatto che bisogna conoscere la coordinata successiva per ini-ziare il movimento. Metodi per diminuire questo ritardo sono stati riportati nella documentazione.È stato inoltre sviluppato un algoritmo che colora gli ostacoli intorno al veicolo il cui utilizzo in real-time ri-sulta però difficile a causa del tempo necessario che è di circa un secondo per esecuzione.

Immutable Infrastructure applied to a real use case Navigatore virtuale 3D

86 87

Daniel PustajRelatoreLorenzo Sommaruga

Ingegneria informatica Ingegneria informatica

Flavio RighiRelatoreAndrea Baldassarri

Abstract

Startup Garage è un’iniziativa SUPSI-DTI che supporta lo sviluppo di business ideas di studenti. L’applicazione web si occupa di aiutare gli utenti dello Startup Garage a col-lezionare idee e informazioni sugli Standby Mentors con le relative competenze e intende associare, seguendo un filo logico, le idee ai mentors.Gli Standby Mentors sono docenti che si occupano di seguire ed aiutare gli ideatori. Il cuore della WebApp, la parte algoritmica, è stata aggiornata grazie agli algorit-mi di calcolo di relazione/similarità tra parole della libre-ria WS4J. Utilizzando gli algoritmi WuPalmer, Lin e Lesk e il database lessicale WordNet, l’applicazione calcola la correlazione tra idee e Standby Mentors.

Obiettivi

L’obiettivo di questo progetto è quello di continuare lo sviluppo di un’applicazione web per la gestione delle idee dello Startup Garage.Gli obiettivi principali si possono dividere in due rami:

– Migliorare il lato grafico della piattaforma – Migliorare il lato algoritmico di matching

La parte grafica della piattaforma deve essere più attra-ente per il visitatore quindi anche più accessibile e fruibile. La parte algoritmica invece deve riuscire a consigliare il

mentor più idoneo ad un’idea, utilizzando le informazioni che ognuna di queste contiene (titolo, descrizione, biso-gno che soddisfa, differenziazione da altri prodotti/idee simili e il racconto della sua nascita).

Conclusione

Il sistema aggiornato ha aumentato il livello di gestione dell’applicazione da cui siamo partiti.La parte grafica è stata rivisitata in modo approfondito rendendo le pagine più piacevoli da visualizzare e più in-tuitive dal punto di vista dell’usabilità, il tutto grazie allo snellimento delle stesse. Dal lato algoritmico, grazie ai risultati preliminari della valutazione, il sistema imple-menta ora una soluzione più avanzata della prima ver-sione. Utilizzando una stima da 0 a 10 per ogni idea su quanto un mentor sia associabile ad una di esse e con-frontando poi queste valutazioni con i risultati dell’algo-ritmo, il sistema presenta un’accuratezza del 80%.La valutazione dell’algoritmo non è completata per mancanza di risorse indispensabili: le poche idee pre-senti (dieci in totale, di cui due originali di startuppers) non sono un numero sufficiente per testare il sistema. In futuro, avendo più dati disponibili, sarebbe opportuno verificare il sistema con il metodo Miller-Charles.

Abstract

Il progetto punta a realizzare un’applicazione per di-spositivi mobili, iOS e Android, che permetta a studenti e collaboratori SUPSI di poter approfittare dei vantaggi offerti dalle carte MySUPSI e MySUPSI Gold senza do-verle esibire fisicamente. Attualmente la tessera viene utilizzata per identificarsi come studente o collaboratore universitario all’interno di aziende sul territorio e non, le quali offrono sconti e promozioni in accordo con SUPSI. Queste offerte sono visibili sul sito della scuola. I possessori della tessera hanno anche l’opportunità di iscriversi al programma USI-SUPSI sport che, previo pa-gamento da parte dell’utente, viene convalidato appor-tando un timbro sul lato posteriore della tessera. L’applicazione mira ad unire queste funzionalità conso-lidate della tessera fisica in un sistema digitale, semplifi-cando e promuovendo l’utilizzo delle offerte.

Obiettivi

– Sviluppare un meccanismo di autenticazione, basa-to su “Net-ID”, per identificare l’utente e il suo ruolo all’interno della scuola (studente o collaboratore).

– Sviluppare un’applicazione mobile, utilizzando un fra-mework cross-platform.

– Sviluppare un backend di gestione delle sessioni atti-ve e delle offerte.

– Unire le tre le parti in una versione completa e fun-zionante del sistema.

– Seguire le direttive del partner di progetto riguardo il design di interazione dell’applicazione mobile e la parte grafica.

Conclusione Il progetto è stato completato e dispone di tutte le ca-ratteristiche richieste. L’applicazione mobile è provvista di controlli anti-cheating per evitare che venga ma-nipolata: sarà compito dell’esercente al quale l’utente mostra l’app verificare che si tratti dell’applicazione au-tentica. Una volta avviata l’applicazione e fatto il login, viene richiesto all’utente di scattarsi una foto, la quale sarà successivamente validata da un collaboratore desi-gnato della direzione centrale SUPSI. Con la foto validata l’utilizzatore sarà in grado di mo-strare l’applicazione al posto della tessera MySupsi per identificarsi come studente o collaboratore SUPSI. Le potenzialità dell’applicazione sono molte. Sviluppi fu-turi potrebbero portare ad una gestione più avanzata del profilo studente, includendo anche informazioni sui corsi seguiti o statistiche sull’utilizzo reale delle oppor-tunità sfruttando dei QR code da scansionare ad ogni offerta utilizzata.

Startup Garage: idea Manager Tool SGIMT - WebApp

“MySupsi”, App mobile cross-platformper studenti e collaboratori SUPSI

88 89

Noah SpagnoliRelatoreLoris Grossi

Ingegneria informatica Ingegneria informatica

Christian TaddeiRelatoreMarino Alge

Abstract

Il progetto consiste nello sviluppo di un’applicazione in realtà virtuale per la configurazione in modo intuitivo di un sistema audio 3D per permettere un’immersione to-tale dell’utilizzatore finale. Le funzionalità principali del configuratore, sviluppato in Unity, sono: la selezione dell’uscita sonora e il relativo numero di canali, il posizionamento degli altoparlanti e delle fonti sonore che possono essere fatte ruotare attor-no all’utente, il tracking degli ascoltatori all’interno dello spazio virtuale. L’applicazione permette inoltre l’utiliz-zo di sistemi audio non convenzionali, diversi dai classici home theatre 5.1 o 7.1 o dal formato binaurale (utilizzato principalmente per le cuffie stereo) grazie ad un engine audio sviluppato ad-hoc che permette anche una facile sostituzione degli algoritmi di processing audio utilizzati.

Obiettivi

– Permettere la configurazione di un sistema audio 3D in ambiente virtuale (definizione spazio virtuale, po-sizionamento altoparlanti, posizionamento fonti so-nore).

– Tracking degli ascoltatori (posizione della testa con relativi angoli di rotazione).

– Permettere l’integrazione di funzionalità di proces-sing audio pre-esistenti.

– Misurare le prestazioni e la precisione del tracking ef-fettuato.

– Collaudare l’applicazione sviluppata con visori HTC Vive e Oculus Rift.

– Confrontarsi con l’utilizzo di soluzioni software per lo sviluppo di applicazioni di realtà virtuale.

– Confrontarsi con la problematica del tracking di per-sone in ambiente virtuale.

Conclusione

L’applicazione realizzata permette la configurazione, in ambiente virtuale, di un sistema audio 3D. L’utilizzatore ha la possibilità di selezionare l’uscita au-dio desiderata e il numero di canali che compongono il sistema audio. Successivamente, viene offerta la possi-bilità di indicare il punto centrale della stanza e di posi-zionare i vari altoparlanti. Per aiutare l’utente nel posizionamento dell’altoparlan-te, quest’ultimo emette un segnale sonoro. Dopo aver posizionato gli altoparlanti è possibile posizionare delle fonti sonore in movimento attorno all’ascoltatore, pa-rametrizzando la velocità di movimento e la distanza rispetto all’ascoltatore. Grazie all’architettura sviluppata, nuovi approcci di spazializzazione possono essere facilmente integrati, permettendo, ad esempio, l’utilizzo di funzionalità di pro-cessing audio pre-esistenti.

Abstract

Generare secondo una distribuzione astronomicamen-te accurata le stelle ed i pianeti contenuti in una galassia dal numero di stelle arbitrario. Rappresentare graficamente la galassia generata in modo da poterne visualizzare i contenuti con uno stile realistico.

Obiettivi

Il programma genera una galassia partendo da due pa-rametri principali: la dimensione della galassia, in unità arbitrarie, ed il numero di stelle con le quali popolarla. Secondariamente è possibile scegliere qual’è l’altezza del disco galattico e quante braccia lo compongano. Con questi dati la routine riempie una sfera di raggio vicino alla dimensione desiderata con pianeti e stelle. Una volta invocato, il generatore di galassie divide su-bito il processo in tre compiti distinti: popolare il nucleo, il disco e la corona, per poi unire tutte le stelle generate in una sola lista. In ognuna di queste sezioni di galassia vengono generate stelle in proporzione al numero tota-le di stelle desiderate.

Da questo punto in avanti, ogni generatore specifico verrà chiamato dal precedente nell’ordine GalaxyGene-rator->StarGenerator->SolarSystemGenerator->Planet Generator, ricevendo quando necessario alcuni para-metri conosciuti dal generatore invocante, per esempio SolarSystemGenerator passa a PlanetGenerator il rag-gio orbitale al quale si trova il pianeta come parametro per poter generare un pianeta consistente. La visualizzazione della galassia è stata separata in livelli, ognuno dei quali possiede la sua scala ed i suoi specifici fattori di ingrandimento per poter rendere visibili og-getti che altrimenti sarebbero minuscoli considerando distanze e proporzioni realistiche.

Conclusione Il progetto sviluppato riesce a generare procedural-mente galassie da 10’000 stelle nell’arco di 1 secondo. Per la parte grafica invece è possibile simulare in tempo reale una galassia contenente all’incirca 2000 stelle, così come i sistemi più popolosi (verosimilmente attorno ai 30 pianeti) su di una macchina dotata di processore i5 2.5Ghz.

Configuratore sistema audio 3D Procedural Universe

90

Christian TrisoliniRelatorePatrick Ceppi

Ingegneria informatica

PartnerHoxell

Abstract

Il progetto prevede la realizzazione di un’applicazione web per Hoxell, la quale offre agli hotel un software che integra e semplifica tutte le relazioni interne ed esterne e tutta la gestione dell’ospitalità in un unico programma interfacciato ad un property managem-ment system (PMS). L’obbiettivo consiste nel rifattoriz- zare il loro software legacy passando ad una architet- tura microservizi utilizzando un framework robusto e flessibile. Il problema principale della soluzione at-tuale è il codice: backend e frontend sono mischiati e quindi molto accoppiati. Questo ha reso molto difficile il mantenimento e l’aggiunta di altre funzionalità senza generare bug. Siccome il codice è troppo complesso per essere riscritto da zero si è deciso di suddividere l’applicazione in servizi indipendenti utilizzando un fra-mework più moderno e consolidato (Spring).

Obiettivi

Lo scopo del progetto è quello di capire quali architet-ture, tecnologie e framework utilizzare per rifattorizzare completamente il software attuale.L’applicazione è stata sviluppata per molti anni e presenta del codice molto complesso, mal strutturato e difficile da gestire. La strategia che si vuole utilizzare è suddividere il softwa-

re in servizi, in modo da collegarli man mano e rendere il tutto seamless, fino ad arrivare al core del software e ad ottenere un sistema a microservizi.Il modulo che verrà rifattorizzato sarà il modulo diary che permette allo staff degli hotel di scrivere news su clienti in arrivo o che sono già arrivati.Oltre a rifattorizzare il codice backend si vuole ricreare anche il frontend rendendolo più ‘‘customizzabile’’.

Conclusione

L’obbiettivo principale di questo progetto consiste nel-lo studio delle tecnologie open source disponibili sul mercato per effettuare il refactoring dell’applicazione al minor costo possibile. Lo sviluppo della multi tenancy è stato molto interessante e costruttivo; mi ha dato un’i-dea molto ampia di come funzionano le applicazioni che gestiscono molti clienti e di come sia difficile gestirne le richieste specifiche. L’implementazione di questo pro-getto in maniera autonoma ha generato notevoli be-nefici, in quanto penso abbia contribuito ad una grande crescita personale. Mi ha permesso inoltre di consolida-re la conoscenza di alcuni framework. I risultati ottenuti hanno soddisfatto le attese, ricevendo quindi un riscon-tro positivo. Il lavoro sarà portato avanti e se saran-no reperiti i fondi necessari diventerà parte integrante dell’applicazione Hoxell.

Applicazione web Giornale di bordo per hotel