998 resultados para Ballerina,Cloud Native,API,Linguaggio di Programmazione
Resumo:
Le azioni che un robot dovrà intraprendere per riuscire a portare a termine un determinato task non sono sempre note a priori. In situazioni dove l’ambiente in cui il robot si muove e con cui interagisce risulta impredicibile, variabile o persino ignoto, diventa pressocché impossibile progettare un algoritmo universale, che tenga conto di tutte le possibili variabili, avvalendosi dei metodi classici di programmazione e design. La Robotica Evolutiva (ER) è una branca della Computazione Evolutiva (EC) che si occupa di risolvere questo problema avvalendosi di specifici Algoritmi Evolutivi (EA) applicati alla robotica. Gli utilizzi della Robotica Evolutiva sono molteplici e spaziano dalla ricerca di soluzioni per problemi/task complessi allo studio e alla riproduzione di fenomeni fisiologici e biologici per riuscire a comprendere (o ipotizzare) l’evoluzione di alcuni tratti genetici presenti nel genere animale/umano. Lo scopo di questo elaborato è di predisporre una base, una visione generale per chiunque voglia intraprendere studi approfonditi nella Robotica Evolutiva, esaminando lo stato attuale delle sperimentazioni, gli obiettivi raggiunti e le sfide che ogni ricercatore di ER deve affrontare ogni giorno per riuscire portare questo campo di studi nel mondo reale, fuori dall’ambiente simulato e ideale.
Resumo:
Il lavoro di questa tesi riguarda principalmente l'upgrade, la simulazione e il test di schede VME chiamate ReadOut Driver (ROD), che sono parte della catena di elaborazione ed acquisizione dati di IBL (Insertable B-Layer). IBL è il nuovo componente del Pixel Detector dell'esperimento ATLAS al Cern che è stato inserito nel detector durante lo shut down di LHC; fino al 2012 infatti il Pixel Detector era costituito da tre layer, chiamati (partendo dal più interno): Barrel Layer 0, Layer 1 e Layer 2. Tuttavia, l'aumento di luminosità di LHC, l'invecchiamento dei pixel e la richiesta di avere misure sempre più precise, portarono alla necessità di migliorare il rivelatore. Così, a partire dall'inizio del 2013, IBL (che fino a quel momento era stato un progetto sviluppato e finanziato separatamente dal Pixel Detector) è diventato parte del Pixel Detector di ATLAS ed è stato installato tra la beam-pipe e il layer B0. Questa tesi fornirà innanzitutto una panoramica generale dell'esperimento ATLAS al CERN, includendo aspetti sia fisici sia tecnici, poi tratterà in dettaglio le varie parti del rivelatore, con particolare attenzione su Insertable B-Layer. Su quest'ultimo punto la tesi si focalizzerà sui motivi che ne hanno portato alla costruzione, sugli aspetti di design, sulle tecnologie utilizzate (volte a rendere nel miglior modo possibile compatibili IBL e il resto del Pixel Detector) e sulle scelte di sviluppo e fabbricazione. La tesi tratterà poi la catena di read-out dei dati, descrivendo le tecniche di interfacciamento con i chip di front-end, ed in particolare si concentrerà sul lavoro svolto per l'upgrade e lo sviluppo delle schede ReadOut Drivers (ROD) introducendo le migliorie da me apportate, volte a eliminare eventuali difetti, migliorare le prestazioni ed a predisporre il sistema ad una analisi prestazionale del rivelatore. Allo stato attuale le schede sono state prodotte e montate e sono già parte del sistema di acquisizione dati del Pixel Detector di ATLAS, ma il firmware è in continuo aggiornamento. Il mio lavoro si è principalmente focalizzato sul debugging e il miglioramento delle schede ROD; in particolare ho aggiunto due features: - programmazione parallela delle FPGA} delle ROD via VME. IBL richiede l'utilizzo di 15 schede ROD e programmandole tutte insieme (invece che una alla volta) porta ad un sensibile guadagno nei tempi di programmazione. Questo è utile soprattutto in fase di test; - reset del Phase-Locked Loop (PLL)} tramite VME. Il PLL è un chip presente nelle ROD che distribuisce il clock a tutte le componenti della scheda. Avere la possibilità di resettare questo chip da remoto permette di risolvere problemi di sincronizzazione. Le ReadOut Driver saranno inoltre utilizzate da più layer del Pixel Detector. Infatti oltre ad IBL anche i dati provenienti dai layer 1 e 2 dei sensori a pixel dell’esperimento ATLAS verranno acquisiti sfruttando la catena hardware progettata, realizzata e testata a Bologna.
Resumo:
La Ricerca Operativa è considerata una disciplina universitaria il cui insegnamento è previsto nei corsi di laurea di Ingegneria, Matematica e Informatica. Da qualche anno si è verificata una tendenza ad anticipare l'insegnamento della Ricerca Operativa ad un grado scolastico inferiore. In Gran Bretagna e negli Stati Uniti sono presenti organizzazioni molto attive nell'ambito della sua divulgazione e sono nati progetti importanti a livello didattico: corsi di formazione per i docenti, condivisione in rete di materiali e report delle esperienze effettuate. A partire dal 2012 anche nelle indagini internazionali OCSE-PISA si sono aggiunte due aree i cui obiettivi e contenuti si avvicinano alla Ricerca Operativa: financial literacy e problem solving. In Italia, dopo la riforma governativa Gelmini del 2008, sono presenti elementi di Ricerca Operativa solo nei programmi di matematica del quinto anno degli istituti tecnici commerciali e industriali. Tuttavia la Ricerca Operativa può svolgere un ruolo fondamentale nella formazione scientifica, innanzitutto per il suo ruolo di "ponte" tra la matematica e l'informatica, poi per l'importanza dello sviluppo della modellizzazione e per l'interdisciplinarietà della materia e lo stretto contatto con il mondo del lavoro. Inoltre, le esperienze documentate di didattica della Ricerca Operativa hanno potuto verificare l'importante ruolo motivazionale che possiede nei confronti degli studenti meno amanti della matematica. In questo lavoro di tesi si è interrogata la fattibilità di un percorso di Ricerca Operativa per una classe seconda liceo scientifico (anno in cui vengono svolte le indagini internazionali). Viene poi presentata la costruzione di una lezione di Programmazione Lineare che prevede una prima fase di modellizzazione del problema e una seconda fase di soluzione tramite il solutore di excel in laboratorio.
Resumo:
Scopo di questa tesi è argomentare l’utilità dello shadowing nella formazione degli interpreti, basandosi sulla Teoria motoria della percezione del linguaggio di Alvin Liberman e muovendosi all’interno del quadro teorico della più ampia embodied cognition, che include teorie sullo sviluppo del linguaggio e sull’acquisizione di seconde lingue. Nella formazione degli interpreti, lo shadowing è un esercizio che consiste nell’immediata ripetizione di quanto udito in cuffia, parola per parola e nella medesima lingua del testo di partenza ed è generalmente utilizzato come esercizio propedeutico alla simultanea, in quanto permette sia di “imparare” ad ascoltare e a parlare contemporaneamente, sia di migliorare la pronuncia e la fluidità in lingua straniera. Tuttavia, all’interno degli Interpreting Studies, ci sono studiosi che lo ritengono un esercizio inutile e, per certi versi, pericoloso poiché porrebbe l’accento su un processo eccessivamente “meccanico” dell’interpretazione. Per argomentare la sua utilità nella didattica dell’interpretazione, in questa tesi, dopo aver presentato le principali teorie sullo sviluppo del linguaggio e sull’acquisizione di seconde lingue, si passeranno in rassegna i risultati di ricerche condotte non solo all’interno degli Interpreting Studies, ma anche nella più ampia prospettiva della didattica delle lingue straniere/seconde, e soprattutto in neurolinguistica e psicologia cognitiva, dove lo shadowing è utilizzato per analizzare i processi cognitivi che sono alla base della ricezione e produzione del linguaggio (articolazione motoria, memoria di lavoro, attenzione selettiva, ecc.). L’ultimo capitolo di questo lavoro sarà dedicato alla descrizione di un approccio estremamente recente sulla percezione e sulla produzione del linguaggio, che coniuga la Teoria motoria della percezione del linguaggio di Liberman (1967) con la recente scoperta dei neuroni specchio, e che getta una luce nuova sull’utilità dello shadowing nella formazione degli interpreti.
Resumo:
In questa tesi viene analizzato un problema di ottimizzazione proposto da alcuni esercizi commerciali che hanno la necessita` di selezionare e disporre i propri ar- ticoli in negozio. Il problema nasce dall’esigenza di massimizzare il profitto com- plessivo atteso dei prodotti in esposizione, trovando per ognuno una locazione sugli scaffali. I prodotti sono suddivisi in dipartimenti, dai quali solo un ele- mento deve essere selezionato ed esposto. In oltre si prevede la possibilita` di esprimere vincoli sulla locazione e compatibilita` dei prodotti. Il problema risul- tante `e una generalizzazione dei gia` noti Multiple-Choice Knapsack Problem e Multiple Knapsack Problem. Dopo una ricerca esaustiva in letteratura si `e ev- into che questo problema non `e ancora stato studiato. Si `e quindi provveduto a formalizzare il problema mediante un modello di programmazione lineare intera. Si propone un algoritmo esatto per la risoluzione del problema basato su column generation e branch and price. Sono stati formulati quattro modelli differenti per la risoluzione del pricing problem su cui si basa il column generation, per individuare quale sia il piu` efficiente. Tre dei quattro modelli proposti hanno performance comparabili, mentre l’ultimo si `e rivelato piu` inefficiente. Dai risul- tati ottenuti si evince che il metodo risolutivo proposto `e adatto a istanze di dimensione medio-bassa.
Resumo:
I circuti di tipo charge-pump trovano vasto impiego nell'elettronica moderna in quanto offrono un metodo semplice e totalmente integrato per elevare le basse tensioni di alimentazione tipiche dei circuiti digitali e trasformarle nelle alimentazioni adatte al pilotaggio di circuti di programmazione delle memorie, al pilotaggio dei mos di potenza, alla generazione della tensione di riferimento dei VCO nei PLL e in numerose altre applicazioni. Questa tesi studia il circuito charge-pump di Dickson nel suo comportamento sia a regime stazionario sia a regime dinamico. Al fine di aumentare l'efficienza è infatti importante attivare il circuito solo all'occorrenza, prestando attenzione al transitorio di accensione. Ogni aspetto teorico viene verificato per mezzo di simulazioni su LTSpice. Si è quindi potuto constatare che un dimensionamento corretto del numero di stadi ottimizza le prestazioni sia statiche che dinamiche sotto il vincolo di una massima occupazione d'area. L'impiego dei circuiti charge-pump si prevede possa essere sempre più diffuso in futuro, visto il trend verso un maggiore livello di integrazione dei sistemi elettronici e la tendenza ad utilizzare tensioni di alimentazione sempre più basse.
Resumo:
The present work aims to allow developers to implement small features on a certain Android application in a fast and easy manner, as well as provide their users to install them ondemand, i.e., they can install the ones they are interested in. These small packages of features are called plugins, and the chosen development language to develop these in was JavaScript. In order to achieve that, an Android framework was developed that enables the host application to install, manage and run these plugins at runtime. This framework was designed to have a very clean and almost readable API, which allowed for better code organization and maintainability. The implementation used the Google’s engine “V8” to interpret the JavaScript code and through a set of JNI calls made that code call certain Android methods previously registered in the runtime. In order to test the framework, it was integrated with the client’s communication application RCS+ using two plugins developed alongside the framework. Although these plugins had only the more common requirements, they were proven to work successfully as intended. Concluding, the framework although successful made it clear that this kind of development through a non-native API has its set of difficulties especially regarding the implementation of complex features.
Resumo:
L'oggetto del mio studio sono i contenuti televisivi (pubblicità, programmi, promozioni televisive) che accompagnano i film archiviati nelle videocassette contenute nell'archivio della videoteca del Dipartimento delle Arti. Una prima fase del lavoro, di natura pratica, mi ha fisicamente portato in videoteca per studiare un campione di più di 2500 videocassette in poco più di un mese e raccogliere dati relativi a quali contenuti di natura televisiva vi si presentassero insieme al film archiviato. Ho visionato e censito, con la supervisione del dott. Gianmario Merizzi, circa 1800 cassette VHS, corrispondenti alla filmografia italiana e francese, raccolte e registrate in un periodo compreso tra gli anni '80 e i primi 2000. Dopo aver raccolto tutte le informazioni utili, ho eseguito un'analisi palinsestuale e pubblicitaria su un campione ridotto di 7 videocassette scelte secondo criteri ben precisi. L'analisi palinsestuale, con il supporto del correlatore, il prof. Luca Barra, ha rivelato i cambiamenti delle strategie di programmazione messe in atto dalle reti in risposta ai cambiamenti normativi, tecnologici e competitivi che hanno segnato la TV italiana negli anni '80 e '90; L'analisi pubblicitaria ha preso in esame i 25 messaggi pubblicitari contenuti nei 7 volumi approfonditi, descrivendone le dinamiche sia del messaggio pubblicitario stesso, sia di come questo si contestualizza all'interno della programmazione televisiva. Infine, ho dedicato un capitolo al valore archivistico dei contenuti della videoteca, raccogliendo le testimonianze del dott. Gianmario Merizzi e della dott.ssa Michela Giorgi, i quali mi hanno aiutato a ricostruire i momenti salienti della costituzione dell'archivio e a riflettere sul futuro incerto che questi servizi oggi affrontano, in un presente sempre più virtuale e ipermediato.
Resumo:
Il lavoro di tesi proposto è volto allo studio delle architetture Serverless, strutture che permettono agli sviluppatori di comporre facilmente applicazioni distribuite su molti servizi all’interno di un cloud, senza la necessità di gestire il server. Più nello specifico sono state studiate le FaaS (Function-as-a-Service), un modello di elaborazione cloud basato su eventi in cui il codice viene distribuito in container gestiti dalla piattaforma, e successivamente eseguito on-demand. A seguito di una prima parte di ricerca dello stato dell'arte, l'attenzione si è spostata sulla ricerca di vulnerabilità nel contesto del servizio OpenFaaS, un framework open-source che permette agli sviluppatori di distribuire facilmente funzioni e microservizi. Il deployment è stato fatto faasd, quest’ultimo è una semplificazione di OpenFaaS, usa le stesse componenti e lo stesso ecosistema di OpenFaaS ma usa Containerd al posto di Kubernetes. Dopo una prima fase di installazione e log-in il lavoro si è concentrato nelle varie metodologie di penetration test, nonché di ricerca delle vulnerabilità di sicurezza associate a tale paradigma. In informatica, il penetration test è il processo operativo di analisi o valutazione della sicurezza di un sistema o di una rete, simulando l'attacco di un potenziale utente malintenzionato. Nell'ultima fase sono stati condotti vari tentativi di attacco al sistema OpenFaaS tramite l'ausilio di alcuni tool. Inizialmente è stata fatta un'analisi della rete e del traffico tramite tool quali NMAP e Wireshark, per comprenderne meglio la struttura e come faasd creasse le funzioni a partire dai container. Infine, tramite OpenFaaS sono state create delle funzioni per testare la sicurezza e l'affidabilità di quest'ultima. In particolare, le funzioni indagano all'interno dei container al fine di comprendere la possibilità di eseguire code injection e rilevare possibili dati sensibili nel filesystem dell'immagine Docker così come nelle variabili d'ambiente.
Resumo:
In questo lavoro di tesi si analizzerà un metodo per risolvere il problema del PageRank alternativo rispetto al tradizionale metodo delle potenze. Verso la fine degli anni '90, con l’avvento del World Wide Web, fu necessario sviluppare degli algoritmi di classificazione in grado di ordinare i siti web in base alla loro rilevanza. Davanti a questa sfida i due matematici A.N.Langville e C.D.Meyer svilupparono il metodo SIAD, "special iterative aggregation/disaggregation method". Lo scopo di questa tesi è in primo luogo di ricostruire il metodo SIAD e analizzarne le proprietà. Seguendo le analisi in un articolo di I.C.Ipsen e S.Kirkland, si ricostruirà nel dettaglio il metodo SIAD, così da esplicitare la convergenza asintotica del metodo in relazione al complemento stocastico scelto. In secondo luogo si analizzerà il metodo SIAD applicato ad una matrice di Google che rispetta ipotesi determinate, le matrici di Google sono solitamente utilizzate per rappresentare il problema del PageRank. Successivamente, si dimostrerà un importante teorema che prova come per ogni matrice di Google si possa individuare un complemento stocastico per cui il metodo SIAD converge più velocemente del metodo delle potenze. Infine, nell’ultimo capitolo si implementerà con il inguaggio di programmazione Matlab il metodo SIAD per una matrice generica e per una matrice di Google. In particolare, si sfrutterà la struttura della matrice di Google per ridurre sensibilmente il costo computazionale del metodo quando applicato applicato ad una tale matrice.
Resumo:
Il progetto di tesi è stato sviluppato durante il periodo di tirocinio svolto all’interno del “Laboratorio di Radio Scienza ed Esplorazione Planetaria” da un'esperienza da cui prende il nome lo stesso elaborato: ”Numerical integration errors in deep space orbit determination”. Lo scopo del sopraccitato laboratorio è stato quello di studiare in modo approfondito il problema kepleriano dei due corpi, per poi passare ad un’analisi del problema dei tre corpi e successivamente a n corpi (con particolare attenzione alle orbite dei satelliti medicei di Giove). Lo studio è stato affiancato ad un costante utilizzo della piattaforma di programmazione Matlab per l’elaborazione e la stesura di codici per il calcolo di traiettorie orbitali ed errori numerici. Infatti, il fulcro del lavoro è stato proprio il confronto di vari integratori e degli errori numerici derivanti dall’integrazione. Nella tesi, dapprima, viene introdotto il sistema Gioviano, vengono presentati i satelliti medicei, delineate le caratteristiche fisiche fondamentali e i principali motivi che portano ad avere particolare interesse nel conoscere lo sviluppo orbitale di tale sistema. In seguito, l'elaborato, dopo una dettagliata descrizione teorica del problema dei due corpi, presenta un codice per la rappresentazione di orbite kepleriane e il calcolo dei relativi errori commessi dal metodo numerico rispetto a quello analitico. Nell'ultimo capitolo, invece, il problema è esteso a più corpi dotati di massa e a tal proposito viene proposto un codice per la rappresentazione delle orbite descritte nel tempo da n corpi, date le condizioni iniziali, e il calcolo dei rispettivi errori nel sistema di riferimento (r,t,n). In merito a ciò, vengono infine testati diversi integratori per cercare quello con le migliori performance e sono poi analizzati alcuni parametri in input al problema per verificare sotto quali condizioni l’integratore lavora meglio.
Resumo:
La tesi si propone, dopo una panoramica generale sullo stato dell'arte in termini di software e concorrenza, l'obiettivo di studiare il modello ad attori ed analizzarne alcune significative implementazioni. Scelta quindi una specifica implementazione come caso di studio, in particolare il linguaggio AXUM in ambiente .NET, si entrerà nel dettaglio di tale linguaggio, analizzandone tutti gli aspetti e valutandone le potenzialità. Infine, sarà affrontata una breve ma significativa analisi critica sul linguaggio scelto.
Resumo:
La tesi si colloca nell'ambito del Cloud Computing, un modello in grado di abilitare l’accesso in rete in maniera condivisa, pratica e on-demand, di diverse risorse computazionali, come potenza di calcolo o memoria di massa. Questo lavoro ha come scopo la realizzazione di una Cloud privata, per la fornitura di servizi, basata su un’architettura P2P. L’elaborato vuole studiare il caso di un sistema P2P di livello infrastruttura (IaaS) e propone la realizzazione di un prototipo capace di sostenere un insime basilare di API. Verranno utilizzati protocolli di gossip per la costruzione dei servizi fondamentali.
Resumo:
L’obbiettivo di questa tesi consiste in un analisi dello sviluppo di applicazioni mobile, rivolgendo particolare attenzione riguardo a quelle soluzioni che consentono di astrarre dall’ambiente su cui effettivamente queste verranno eseguite, per poi prendere in esame la piattaforma e il linguaggio Mobl. Sarà quindi necessario effettuare una panoramica sullo stato attuale del mercato, introducendo i diversi sistemi presenti e le metodologie proposte per la costruzione del software. Da questo studio sarà possibile ricavare i pregi e i difetti di una programmazione nativa. Volendo, in seguito, ricercare un processo di produzione software che favorisca un’indipendenza dai sistemi precedentemente descritti, verranno illustrati alcuni tra i più importanti Mobile Frameworks e tra questi si prenderà in esame Mobl, che si contraddistingue grazie a caratteristiche peculiari.