484 resultados para Ballerina,Cloud Native,API,Linguaggio di Programmazione
Resumo:
L’uscita dalla pandemia, il conflitto russo-ucraino e la corsa ai bonus edilizia hanno provocato un generale aumento del prezzo dei materiali edili e delle opere provvisionali. I ponteggi hanno visto particolari rincari, per via del fatto che superbonus e bonus facciate ne richiedono un ampio utilizzo. Nel presente elaborato si è cercata una soluzione a tale criticità nelle direzioni che sta prendendo a livello internazionale il settore delle costruzioni, sulla strada della digitalizzazione e dell’applicazione di soluzioni informatiche in grado di ottimizzare i processi. Si è perciò creato un modello parametrico di ponteggio a telai prefabbricati che si adatti nel miglior modo possibile a ogni tipo di fabbricato. Nello specifico, è stato elaborato un algoritmo che, dati il sedime e l’altezza dell’edificio, generi in maniera automatica il modello tridimensionale del ponteggio, consentendo la visualizzazione immediata del suo sviluppo nello spazio del cantiere e l’estrapolazione di elaborati grafici quali pianta e prospetti. Nella presente dissertazione viene illustrato come è stato sviluppato tale algoritmo, utilizzando il software Revit e in particolare lo strumento di programmazione visiva Dynamo. Infine, poiché l’obiettivo è quello di individuare un algoritmo applicabile a qualsiasi edificio dato, il modello viene testato su un caso di studio particolare: la ristrutturazione di un fabbricato all’interno del complesso Cooperativa Sociale CIM.
Resumo:
Indagine sulla varietà sintattica presente all'interno dei formalismi di specifica della semantica operazionale strutturale (SOS) di linguaggi di programmazione e calcolo di processi. Rassegna di tool di implementazione con attenzione al grado di copertura linguistica.
Resumo:
L’obiettivo che l’elaborato si prefigge consiste nel dar forma ad un progetto palladiano rimasto sulla carta attraverso l’utilizzo delle tecnologie informatiche. Nello specifico si è ricostruita Villa Mocenigo in forma tridimensionale attraverso uno schizzo del progetto fatto su carta dallo stesso Palladio nel 1550. Lo schizzo della pianta, conservato al RIBA di Londra, anticiperebbe il successivo progetto finale pubblicato ne “I Quattro Libri dell’Architettura” ma rimasto comunque incompiuta. Il linguaggio di base utilizzato per la definizione dell’ipotesi progettuale del modello 3D è stato attinto dalle regole generali di proporzionamento “alla maniera degli antichi” che lo stesso Architetto illustra nel suo trattato. Al fine di rendere l’ipotesi ricostruttiva il più possibile in linea con il metodo di proporzionamento palladiano, come esercitazione, si è partiti dallo studio preparatorio di un altro progetto: Villa Sarego, edificata solo in parte. A partire quindi dalla ricostruzione 3D basata sui disegni dei rilievi eseguiti dal CISAAP è stata avanzata l’ipotesi di ricostruzione totale della villa, completa della parte incompiuta. Lo studio sintetizzato in questo elaborato ha anche riguardato: la composizione architettonica e lo studio delle regole proporzionali evolutesi nel tempo; il processo di digitalizzazione e archiviazione delle opere palladiane e i progetti attualmente in corso; escursus storico sulle ville romane; le opera di Palladio, costruite e progettate.
Resumo:
Questa tesi prende spunto da altri studi realizzati nel campo delle esattamente nel campo delle “Swam Intelligence”, una branca delle intelligenze artificiali prende spunto dal comportamento di animali sociali, sopratutto insetti come termini, formiche ed api, per trarne interessanti metafore per la creazione di algoritmi e tecniche di programmazione. Questo tipo di algoritmi, come per gli esempi tratti dalla biologia, risultano dotati di interessanti proprietà adatte alla risoluzione di certi problemi nell'ambito dell'ingegneria. Lo scopo della tesi è quello di mostrare tramite un esempio pratico le proprietà dei sistemi sviluppati tramite i principi delle Swarm Intelligence, evidenziando la flessibilità di questi sistemi. Nello specifico, la mia tesi analizzerà il problema della suddivisione del lavoro in una colonia di formiche, fornendo un esempio pratico quale il compito di cattura di prede in un determinato ambiente. Ho sviluppato un'applicazione software in Java che simula tale comportamento, i dati utilizzati durante le diverse simulazioni possono essere modificati tramite file di testo, in modo da ottenere risultati validi per diversi contesti.
Resumo:
implementazione e dimostrazione di semantiche per il nuovo linguaggio di modellazione concorrente ¨Multi-CCS¨
Resumo:
La tesi si propone di studiare il rapporto tra i due linguaggi di programmazione più diffusi per dispositivi portatili, e si concentra in particolare sul porting dal diffusissimo linguaggio Java all'emergente Objective-C. Strumenti come J2ObjC e Codename One saranno studiati e comparati.
Resumo:
Il termine cloud ha origine dal mondo delle telecomunicazioni quando i provider iniziarono ad utilizzare servizi basati su reti virtuali private (VPN) per la comunicazione dei dati. Il cloud computing ha a che fare con la computazione, il software, l’accesso ai dati e servizi di memorizzazione in modo tale che l’utente finale non abbia idea della posizione fisica dei dati e la configurazione del sistema in cui risiedono. Il cloud computing è un recente trend nel mondo IT che muove la computazione e i dati lontano dai desktop e dai pc portatili portandoli in larghi data centers. La definizione di cloud computing data dal NIST dice che il cloud computing è un modello che permette accesso di rete on-demand a un pool condiviso di risorse computazionali che può essere rapidamente utilizzato e rilasciato con sforzo di gestione ed interazione con il provider del servizio minimi. Con la proliferazione a larga scala di Internet nel mondo le applicazioni ora possono essere distribuite come servizi tramite Internet; come risultato, i costi complessivi di questi servizi vengono abbattuti. L’obbiettivo principale del cloud computing è utilizzare meglio risorse distribuite, combinarle assieme per raggiungere un throughput più elevato e risolvere problemi di computazione su larga scala. Le aziende che si appoggiano ai servizi cloud risparmiano su costi di infrastruttura e mantenimento di risorse computazionali poichè trasferiscono questo aspetto al provider; in questo modo le aziende si possono occupare esclusivamente del business di loro interesse. Mano a mano che il cloud computing diventa più popolare, vengono esposte preoccupazioni riguardo i problemi di sicurezza introdotti con l’utilizzo di questo nuovo modello. Le caratteristiche di questo nuovo modello di deployment differiscono ampiamente da quelle delle architetture tradizionali, e i meccanismi di sicurezza tradizionali risultano inefficienti o inutili. Il cloud computing offre molti benefici ma è anche più vulnerabile a minacce. Ci sono molte sfide e rischi nel cloud computing che aumentano la minaccia della compromissione dei dati. Queste preoccupazioni rendono le aziende restie dall’adoperare soluzioni di cloud computing, rallentandone la diffusione. Negli anni recenti molti sforzi sono andati nella ricerca sulla sicurezza degli ambienti cloud, sulla classificazione delle minacce e sull’analisi di rischio; purtroppo i problemi del cloud sono di vario livello e non esiste una soluzione univoca. Dopo aver presentato una breve introduzione sul cloud computing in generale, l’obiettivo di questo elaborato è quello di fornire una panoramica sulle vulnerabilità principali del modello cloud in base alle sue caratteristiche, per poi effettuare una analisi di rischio dal punto di vista del cliente riguardo l’utilizzo del cloud. In questo modo valutando i rischi e le opportunità un cliente deve decidere se adottare una soluzione di tipo cloud. Alla fine verrà presentato un framework che mira a risolvere un particolare problema, quello del traffico malevolo sulla rete cloud. L’elaborato è strutturato nel modo seguente: nel primo capitolo verrà data una panoramica del cloud computing, evidenziandone caratteristiche, architettura, modelli di servizio, modelli di deployment ed eventuali problemi riguardo il cloud. Nel secondo capitolo verrà data una introduzione alla sicurezza in ambito informatico per poi passare nello specifico alla sicurezza nel modello di cloud computing. Verranno considerate le vulnerabilità derivanti dalle tecnologie e dalle caratteristiche che enucleano il cloud, per poi passare ad una analisi dei rischi. I rischi sono di diversa natura, da quelli prettamente tecnologici a quelli derivanti da questioni legali o amministrative, fino a quelli non specifici al cloud ma che lo riguardano comunque. Per ogni rischio verranno elencati i beni afflitti in caso di attacco e verrà espresso un livello di rischio che va dal basso fino al molto alto. Ogni rischio dovrà essere messo in conto con le opportunità che l’aspetto da cui quel rischio nasce offre. Nell’ultimo capitolo verrà illustrato un framework per la protezione della rete interna del cloud, installando un Intrusion Detection System con pattern recognition e anomaly detection.
Resumo:
Nel ramo della Information Tecnology, recentemente, nascono sistemi informativi adibiti alla gestione di risorse hardware e software distribuite e visualizzate in rete. Uno degli strumenti più utilizzati e commercializzati per l'utilizzo di tale tipo di tecnologie è rappresentato dal cloud computing. Secondo una ricerca del "Il Sole 24 Ore'' in Italia il 25% delle aziende italiane intende adottare il cloud nei prossimi 12 mesi. E' un mercato da 287 milioni di euro nel 2011, +41% sul 2010, e passerà a 394 milioni nel 2012 per poi risalire a 671 nel 2014. Questa tesi si basa su un lavoro di ricerca precedentemente alla stessa in cui ho esaminato esperienze aziendali o riflessioni di queste ultime sull'applicazione e l'utilizzo della tecnologia cloud come modello di business. Il lavoro si è svolto leggendo ed analizzando due quotidiani italiani (Il Corriere della Sera e il Il Sole 24 Ore), un quotidiano inglese (Financial Times) e un settimanale londinese (The Economist) nell'arco di due anni a questa parte. Attraverso l'analisi degli articoli ottenuti è stata redatta una sintesi degli stessi pervenendo ad una riflessione che ha rappresentato lo spunto di tale tesi. Spesso si discuteva di problemi legati al cloud ma solo in pochi articoli vi era presente una vera e propria case history con analisi di eventuali difficoltà o benefici riscontrati. Da questo l'inizio di tale attività che pone l'obbiettivo di capire, in parte, il perché di così tanta riluttanza verso uno strumento che sembra rappresentare la scelta tecnologicamente più appropriata e strategicamente ottimale. Il cuore della ricerca è rappresentato dalle interviste svolte ad alcune aziende in merito all'utilizzo della "nuvola'' nel loro sistema informatico. Questa tesi si suddividerà: -Descrizione storica della nascita e dello sviluppo del cloud computing -Analisi delle tecnologie attualmente esistenti e dei modelli di distribuzione -Opportunità e minacce legate all'utilizzo di tale tecnologia in un ambiente aziendale -Studio ed analisi di alcuni casi aziendali e del ruolo che svolge l'uso del cloud nel proprio modello di business -Valutazione dell'attuale situazione del cloud computing e delle prospettive future legate all'utilizzo della tecnologia in analisi
Resumo:
La presente tesi è dedicata al riuso nel software. Eccettuata un'introduzione organica al tema, l'analisi è a livello dei meccanismi offerti dai linguaggi di programmazione e delle tecniche di sviluppo, con speciale attenzione rivolta al tema della concorrenza. Il primo capitolo fornisce un quadro generale nel quale il riuso del software è descritto, assieme alle ragioni che ne determinano l'importanza e ai punti cruciali relativi alla sua attuazione. Si individuano diversi livelli di riuso sulla base dell'astrazione e degli artefatti in gioco, e si sottolinea come i linguaggi contribuiscano alla riusabilità e alla realizzazione del riuso. In seguito, viene esplorato, con esempi di codice, il supporto al riuso da parte del paradigma ad oggetti, in termini di incapsulamento, ereditarietà, polimorfismo, composizione. La trattazione prosegue analizzando differenti feature – tipizzazione, interfacce, mixin, generics – offerte da vari linguaggi di programmazione, mostrando come esse intervengano sulla riusabilità dei componenti software. A chiudere il capitolo, qualche parola contestualizzata sull'inversione di controllo, la programmazione orientata agli aspetti, e il meccanismo della delega. Il secondo capitolo abbraccia il tema della concorrenza. Dopo aver introdotto l'argomento, vengono approfonditi alcuni significativi modelli di concorrenza: programmazione multi-threaded, task nel linguaggio Ada, SCOOP, modello ad Attori. Essi vengono descritti negli elementi fondamentali e ne vengono evidenziati gli aspetti cruciali in termini di contributo al riuso, con esempi di codice. Relativamente al modello ad Attori, viene presentata la sua implementazione in Scala/Akka come caso studio. Infine, viene esaminato il problema dell'inheritance anomaly, sulla base di esempi e delle tre classi principali di anomalia, e si analizza la suscettibilità del supporto di concorrenza di Scala/Akka a riscontrare tali problemi. Inoltre, in questo capitolo si nota come alcuni aspetti relativi al binomio riuso/concorrenza, tra cui il significato profondo dello stesso, non siano ancora stati adeguatamente affrontati dalla comunità informatica. Il terzo e ultimo capitolo esordisce con una panoramica dell'agent-oriented programming, prendendo il linguaggio simpAL come riferimento. In seguito, si prova ad estendere al caso degli agenti la nozione di riuso approfondita nei capitoli precedenti.
Resumo:
Il concetto di situatedness applicato ad un sistema multi-agente distribuito può essere riformulato come problema di coordinazione fra i componenti del sistema e le risorse ambientali. Per poter garantire e governare la coordinazione delle parti, viene esteso il modello di coordinazione TuCSoN arricchendo il linguaggio di coordinazione e l'architettura per la comunicazione verso l'ambiente introducendo il concetto di artefatto d'ambiente. In questo elaborato viene definita l'estensione Situated ReSpecT, la nuova componente Transducer e la sua interazione con le Probe, tramite un analisi teorica che si conclude con una verifica pratica su piattaforma Arduino.
Resumo:
Il lavoro è costituito da una prima parte nella quale sono analizzate in dettaglio le caratteristiche fisiche e tecnologiche degli impianti a vapore, a gas e combinati. Segue quindi una seconda parte nella quale è introdotto l'ambiente di programmazione Matlab, sono spiegate alcune funzionalità del programma e infine vengono analizzate alcune toolboxes rilevanti per la parte conclusiva del lavoro, che riguarda l'analisi numerica dei cicli sopra menzionati volta all'ottenimento di interfacce user-friendly che consentono l'approccio analitico completo a questo tipo di sistemi anche da parte di utenti inesperti di programmazione.
Resumo:
L'elaborato ha come scopo l'analisi delle tecniche di Text Mining e la loro applicazione all'interno di processi per l'auto-organizzazione della conoscenza. La prima parte della tesi si concentra sul concetto del Text Mining. Viene fornita la sua definizione, i possibili campi di utilizzo, il processo di sviluppo che lo riguarda e vengono esposte le diverse tecniche di Text Mining. Si analizzano poi alcuni tools per il Text Mining e infine vengono presentati alcuni esempi pratici di utilizzo. Il macro-argomento che viene esposto successivamente riguarda TuCSoN, una infrastruttura per la coordinazione di processi: autonomi, distribuiti e intelligenti, come ad esempio gli agenti. Si descrivono innanzi tutto le entità sulle quali il modello si basa, vengono introdotte le metodologie di interazione fra di essi e successivamente, gli strumenti di programmazione che l'infrastruttura mette a disposizione. La tesi, in un secondo momento, presenta MoK, un modello di coordinazione basato sulla biochimica studiato per l'auto-organizzazione della conoscenza. Anche per MoK, come per TuCSoN, vengono introdotte le entità alla base del modello. Avvalendosi MoK dell'infrastruttura TuCSoN, viene mostrato come le entità del primo vengano mappate su quelle del secondo. A conclusione dell'argomento viene mostrata un'applicazione per l'auto-organizzazione di news che si avvale del modello. Il capitolo successivo si occupa di analizzare i possibili utilizzi delle tecniche di Text Mining all'interno di infrastrutture per l'auto-organizzazione, come MoK. Nell'elaborato vengono poi presentati gli esperimenti effettuati sfruttando tecniche di Text Mining. Tutti gli esperimenti svolti hanno come scopo la clusterizzazione di articoli scientifici in base al loro contenuto, vengono quindi analizzati i risultati ottenuti. L'elaborato di tesi si conclude mettendo in evidenza alcune considerazioni finali su quanto svolto.
Resumo:
Attualmente il panorama informatico è dominato dai dispositivi mobile: smartphone e tablet pc dominano incontrastati la scena del mercato elettronico. Questo comporta un radicale ripensamento e cambiamento del software, le web app e le mobile application richiedono infatti una sempre maggiore reattività dell’interfaccia utente, la persistente connessione a Internet e l’interazione con una moltitudine di dispositivi esterni. Il progettista di software deve oggi far fronte a tutta una serie di problematiche, l’aumentata complessità dei sistemi e i sempre più ristretti tempi di sviluppo e consegna richiedono compromessi tra la semplicità delle tecniche di progettazione e l’efficienza del prodotto ottenuto. Le architetture ad eventi in primis, unitamente al paradigma di programmazione asincrona, si pongono come soluzione ottimale a queste esigenze. L’obbiettivo principale di questa tesi è quello di offrire una panoramica generale sullo stato dell’arte delle architetture ad eventi focalizzandosi sul ruolo che esse assumono nel contesto delle applicazioni moderne, intendendo principalmente con questo termine le web application e le mobile application. Partendo dal concetto di programmazione sincrona e parallela si giunge a descrivere un terzo modello, il modello asincrono, di fondamentale importanza per i sistemi event-driven. Utilizzando come principale linguaggio di riferimento JavaScript si affrontano le problematiche legate alla stesura del codice per la gestione degli eventi, l’asincronicità intrinseca degli eventi e l’utilizzo di funzioni di callback portano a produrre codice di difficile lettura e manutenzione. Si analizzano quindi in dettaglio i pattern fondamentali e le tecniche attualmente utilizzate per l’ottimizzazione della gestione del codice e delle problematiche esposte fornendo numerosi esempi esplicativi.