6 resultados para compiler backend

em AMS Tesi di Laurea - Alm@DL - Università di Bologna


Relevância:

20.00% 20.00%

Publicador:

Resumo:

Questo elaborato di tesi illustra la realizzazione del back-end di LogicPlayer, un'app Android per la didattica della Deduzione Naturale

Relevância:

20.00% 20.00%

Publicador:

Resumo:

.NET Compiler Platform è un compilatore per i linguaggi C# e Visual Basic realizzato da Microsoft. L’innovazione apportata da tale strumento è l’introduzione di API che permettono di accedere al compilatore; in particolare, è possibile accedere alle strutture dati utilizzate al suo interno, quali simboli o AST, e controllare e/o modificare il processo di compilazione. Una parte di questo progetto, chiamato anche progetto Roslyn, è focalizzata sull’introduzione dello scripting per il linguaggio C#. In questa trattazione si è interessati a sperimentare le possibilità offerte da tale strumento nel campo dell’esecuzione dinamica di frammenti di codice. Gli obiettivi imposti si collocano nell’ambito della re-ingegnerizzazione e dello sviluppo di software. Tali obiettivi sono la re-implementazione dei filtri di selezione contenuti nel framework Phoenix, utilizzando le API di Roslyn per migliorarne le prestazioni, e la progettazione di un componente che realizzi una console per lo scripting C# dotata della possibilità di riferire dinamicamente librerie. Le API di compilazione si rivelano essere non propriamente adatte all’esecuzione immediata di frammenti di codice, nonostante ciò, è possibile, appoggiandosi alla reflection, utilizzarle per giungere a questo risultato. Lo scripting, invece, si rivela uno strumento dalle grandi potenzialità nel suddetto ambito.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

Lo scopo dell'elaborato di tesi è l'analisi, progettazione e sviluppo di un prototipo di una infrastruttura cloud in grado di gestire un grande flusso di eventi generati da dispositivi mobili. Questi utilizzano informazioni come la posizione assunta e il valore dei sensori locali di cui possono essere equipaggiati al fine di realizzare il proprio funzionamento. Le informazioni così ottenute vengono trasmesse in modo da ottenere una rete di device in grado di acquisire autonomamente informazioni sull'ambiente ed auto-organizzarsi. La costruzione di tale struttura si colloca in un più ampio ambito di ricerca che punta a integrare metodi per la comunicazione ravvicinata con il cloud al fine di permettere la comunicazione tra dispositivi vicini in qualsiasi situazione che si potrebbe presentare in una situazione reale. A definire le specifiche della infrastruttura e quindi a impersonare il ruolo di committente è stato il relatore, Prof. Mirko Viroli, mentre lo sviluppo è stato portato avanti da me e dal correlatore, Ing. Pietro Brunetti. Visti gli studi precedenti riguardanti il cloud computing nell'area dei sistemi complessi distribuiti, Brunetti ha dato il maggiore contributo nella fase di analisi del problema e di progettazione mentre la parte riguardante la effettiva gestione degli eventi, le computazioni in cloud e lo storage dei dati è stata maggiormente affrontata da me. In particolare mi sono occupato dello studio e della implementazione del backend computazionale, basato sulla tecnologia Apache Storm, della componente di storage dei dati, basata su Neo4j, e della costruzione di un pannello di visualizzazione basato su AJAX e Linkurious. A questo va aggiunto lo studio su Apache Kafka, utilizzato come tecnologia per realizzare la comunicazione asincrona ad alte performance tra le componenti. Si è reso necessario costruire un simulatore al fine di condurre i test per verificare il funzionamento della infrastruttura prototipale e per saggiarne l'effettiva scalabilità, considerato il potenziale numero di dispositivi da sostenere che può andare dalle decine alle migliaia. La sfida più importante riguarda la gestione della vicinanza tra dispositivi e la possibilità di scalare la computazione su più macchine. Per questo motivo è stato necessario far uso di tecnologie per l'esecuzione delle operazioni di memorizzazione, calcolo e trasmissione dei dati in grado di essere eseguite su un cluster e garantire una accettabile fault-tolerancy. Da questo punto di vista i lavori che hanno portato alla costruzione della infrastruttura sono risultati essere un'ottima occasione per prendere familiarità con tecnologie prima sconosciute. Quasi tutte le tecnologie utilizzate fanno parte dell'ecosistema Apache e, come esposto all'interno della tesi, stanno ricevendo una grande attenzione da importanti realtà proprio in questo periodo, specialmente Apache Storm e Kafka. Il software prodotto per la costruzione della infrastruttura è completamente sviluppato in Java a cui si aggiunge la componente web di visualizzazione sviluppata in Javascript.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

Lo scopo della tesi è quello di descrivere e mettere a confronto tre diversi linguaggi, e quindi approcci, alla programmazione server-side e di back-end, ovvero il linguaggio PHP, il linguaggio Python ed il linguaggio Javascript, utilizzato però per una programmazione “Server Side”, e quindi associato al framework NodeJS. Questo confronto si pone l’obiettivo di sottolineare le differenti caratteristiche di ogni linguaggio, gli scopi a cui esso maggiormente si addice e di fornire una sorta di guida per far in modo che si possa comprendere al meglio quale dei tre linguaggi maggiormente usati per la programmazione backend si conformi meglio all’obiettivo prepostosi.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

Questo lavoro di tesi si concentra sulle estensioni apportate a BEX (Bibliographic Explorer), una web app finalizzata alla navigazione di pubblicazioni scientifiche attraverso le loro citazioni. Il settore in cui si colloca è il Semantic Publishing, un nuovo ambito di ricerca derivato dall'applicazione delle tecnologie del Semantic Web allo Scholarly Publishing, che ha come scopo la pubblicazione di articoli accademici a cui vengono associati metadati semantici. BEX nasce all'interno del Semantic Lancet Project del Dipartimento di Informatica dell'Università di Bologna, il cui obiettivo è costruire un Linked Open Dataset di pubblicazioni accademiche, il Semantic Lancet Triplestore (SLT), e fornire strumenti per la navigazione ad alto livello e l'uso approfondito dei dati in esso contenuti. Gli scholarly Linked Open Data elaborati da BEX sono insiemi di triple RDF conformi alle ontologie SPAR. Originariamente BEX ha come backend il dataset SLT che contiene metadati relativi alle pubblicazioni del Journal Of Web Semantics di Elsevier. BEX offre viste avanzate tramite un'interfaccia interattiva e una buona user-experience. L'utente di BEX è principalmente il ricercatore universitario, che per compiere le sue attività quotidiane fa largo uso delle Digital Library (DL) e dei servizi che esse offrono. Dato il fermento dei ricercatori nel campo del Semantic Publishing e la veloce diffusione della pubblicazione di scholarly Linked Open Data è ragionevole pensare di ampliare e mantenere un progetto che possa provvedere al sense making di dati altrimenti interrogabili solo in modo diretto con queries SPARQL. Le principali integrazioni a BEX sono state fatte in termini di scalabilità e flessibilità: si è implementata la paginazione dei risultati di ricerca, l'indipendenza da SLT per poter gestire datasets diversi per struttura e volume, e la creazione di viste author centric tramite aggregazione di dati e comparazione tra autori.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

The aim of this thesis is to merge two of the emerging paradigms about web programming: RESTful Web Development and Service-Oriented Programming. REST is the main architectural paradigm about web applications, they are characterised by procedural structure which avoid the use of handshaking mechanisms. Even though REST has a standard structure to access the resources of the web applications, the backend side is usually not very modular if not complicated. Service-Oriented Programming, instead, has as one of the fundamental principles, the modularisation of the components. Service-Oriented Applications are characterised by separate modules that allow to simplify the devel- opment of the web applications. There are very few example of integration between these two technologies: it seems therefore reasonable to merge them. In this thesis the methodologies studied to reach this results are explored through an application that helps to handle documents and notes among several users, called MergeFly. The MergeFly practical case, once that all the specifics had been set, will be utilised in order to develop and handle HTTP requests through SOAP. In this document will be first defined the 1) characteristics of the application, 2) SOAP technology, partially introduced the 3) Jolie Language, 4) REST and finally a 5) Jolie-REST implementation will be offered through the MergeFly case. It is indeed implemented a token mechanism for authentication: it has been first discarded sessions and cookies algorithm of authentication in so far not into the pure RESTness theory, even if often used). In the final part the functionality and effectiveness of the results will be evaluated, judging the Jolie-REST duo.