I sistemi auto - adattativi sono sistemi in grado di modificare il loro comportamento a tempo di esecuzione per rispondere ai cambiamenti che avvengono nell'ambiente di esecuzione del sistema, per rispondere ai requisiti dell'utente (es. nuove funzionalità introdotte) o per rispondere ad una propria esigenza di modifica (es. fallimento di una componente interna). Essi permettono alle applicazioni moderne di sopravvivere in un mondo che muta in maniera impredicibile. Tale campo di studio è però relativamente recente e quindi non esistono ancora metriche riconosciute universalmente per poterli analizzare. Lo scopo della tesi è mostrare un tentativo di formulazione di metriche adatte a studiare l'adattabilità di tali sistemi. Quando si parla di sistemi auto - adattativi sorgono delle domande relative ad essi, quantomeno per capire come a affrontarne lo studio. L'articolo "A survey on engineering approaches for self-adaptive systems" [17] analizza i sistemi auto - adattativi e si propone di rispondere ad alcune di queste domande per poter poi giungere ad una tassonomia di tali sistemi. La prima domanda che ci si pone ed anche la più logica è "Chi deve attuare il cambiamento nel sistema?" Le domande la cui risposta non è così immediata, sono: quando è necessario adattare e perché farlo; dove è necessario fare il cambiamento e che tipo di cambiamento fare e come e effettuare questo cambiamento. E' possibile [17] definire delle dimensioni con cui a affrontare la tematica. Per questa tesi è risultato importante concentrarsi sulla dimensione: Controllo dell'adattamento. Per capire come controllare l'adattamento sono necessarie delle metriche di adattabilità. Lo scopo della tesi è sviluppare queste metriche, per questo motivo si è preso come punto di partenza l'articolo "On the relationships between QoS and software adaptability at the architectural level" [19]. In esso si a affronta una prima analisi dei sistemi auto - adattativi studiando come varia l'adattabilità dell'intero sistema rispetto a due requisiti ritenuti importanti: availability e costo. In [19] vengono proposte delle metriche di adattabilità fortemente ispirate al lavoro di Subramanian e Chung (2001) [18]. Tali metriche analizzano l'aspetto puramente statico del sistema senza considerare la sua evoluzione a tempo di esecuzione. La tesi parte da questo insieme di metriche di analisi di adattabilità e lo espande considerando anche il comportamento delle applicazioni a tempo di esecuzione ponendo l'attenzione sui servizi forniti dai componenti software dell'applicazione stessa. Tali servizi vengono richiesti da altri componenti all'interno dell'applicazione e servono a fornire il servizio finale. Il motivo per cui si è concentrata l'attenzione su tali servizi è quello di fornire un'informazione aggiuntiva sui sistemi auto - adattativi ovvero capire quale componente all'interno dell'applicazione è quello che entra maggiormente in esecuzione (perché richiamato un numero maggiore di volte) e quello che ha la maggiore probabilità di rottura. Tale studio è motivato dall'esigenza di definire metriche più accurate che permettano al sistema di adattarsi meglio e in maniera più accurata. Per perseguire lo scopo dello studio è necessario analizzare uno spazio di architetture composte da componenti e per ognuna di essere calcolare le metriche di adattabilità al ne di individuare quale o quali di esse è la soluzione migliore verso cui migrare partendo dall'architettura attualmente in uso per l'applicazione. Essendo un lavoro laborioso e che richiede uno sforzo computazionale non indifferente si è pensato di sviluppare un framework apposito che analizzi lo spazio delle architetture possibili e fornisca a video i risultati delle metriche in modo da permettere al progettista di sistema di scegliere l'architettura che sia maggiormente adattabile rispetto a quella in uso rispetto ai requisiti indicati dal proprietario del sistema. La tesi è strutturata nel modo seguente: nel capitolo uno viene descritto nel dettaglio cosa è un sistema auto - adattativo e si riporta l'analisi proposta in [17] circa le dimensioni con cui analizzarlo. Inoltre si presentano metriche definite in [19], il framework implementato e le limitazioni del lavoro esistente. Nel capitolo due si presentano le motivazioni alla base di questa tesi, le metriche definite in questo lavoro riportando per miglior comprensione un esempio pratico per ogni metrica descritta. Nel capitolo tre si affronta un caso di studio reale e più complesso su cui applicare le metriche proposte per illustrare in modo esplicito l'applicabilità delle metriche proposte. Nel capitolo quattro si descrive il framework sviluppato (scaricabile al link [6]) illustrando dapprima le tecnologie utilizzate e poi la sua utilizzazione attraverso un insieme di screenshots. Nelle conclusioni si riepilogano i limiti di questo lavoro fornendo spunti per gli sviluppi futuri.

Metriche di adattabilità per applicazioni basate sui servizi

ZANOTTI, MICAELA
2015/2016

Abstract

I sistemi auto - adattativi sono sistemi in grado di modificare il loro comportamento a tempo di esecuzione per rispondere ai cambiamenti che avvengono nell'ambiente di esecuzione del sistema, per rispondere ai requisiti dell'utente (es. nuove funzionalità introdotte) o per rispondere ad una propria esigenza di modifica (es. fallimento di una componente interna). Essi permettono alle applicazioni moderne di sopravvivere in un mondo che muta in maniera impredicibile. Tale campo di studio è però relativamente recente e quindi non esistono ancora metriche riconosciute universalmente per poterli analizzare. Lo scopo della tesi è mostrare un tentativo di formulazione di metriche adatte a studiare l'adattabilità di tali sistemi. Quando si parla di sistemi auto - adattativi sorgono delle domande relative ad essi, quantomeno per capire come a affrontarne lo studio. L'articolo "A survey on engineering approaches for self-adaptive systems" [17] analizza i sistemi auto - adattativi e si propone di rispondere ad alcune di queste domande per poter poi giungere ad una tassonomia di tali sistemi. La prima domanda che ci si pone ed anche la più logica è "Chi deve attuare il cambiamento nel sistema?" Le domande la cui risposta non è così immediata, sono: quando è necessario adattare e perché farlo; dove è necessario fare il cambiamento e che tipo di cambiamento fare e come e effettuare questo cambiamento. E' possibile [17] definire delle dimensioni con cui a affrontare la tematica. Per questa tesi è risultato importante concentrarsi sulla dimensione: Controllo dell'adattamento. Per capire come controllare l'adattamento sono necessarie delle metriche di adattabilità. Lo scopo della tesi è sviluppare queste metriche, per questo motivo si è preso come punto di partenza l'articolo "On the relationships between QoS and software adaptability at the architectural level" [19]. In esso si a affronta una prima analisi dei sistemi auto - adattativi studiando come varia l'adattabilità dell'intero sistema rispetto a due requisiti ritenuti importanti: availability e costo. In [19] vengono proposte delle metriche di adattabilità fortemente ispirate al lavoro di Subramanian e Chung (2001) [18]. Tali metriche analizzano l'aspetto puramente statico del sistema senza considerare la sua evoluzione a tempo di esecuzione. La tesi parte da questo insieme di metriche di analisi di adattabilità e lo espande considerando anche il comportamento delle applicazioni a tempo di esecuzione ponendo l'attenzione sui servizi forniti dai componenti software dell'applicazione stessa. Tali servizi vengono richiesti da altri componenti all'interno dell'applicazione e servono a fornire il servizio finale. Il motivo per cui si è concentrata l'attenzione su tali servizi è quello di fornire un'informazione aggiuntiva sui sistemi auto - adattativi ovvero capire quale componente all'interno dell'applicazione è quello che entra maggiormente in esecuzione (perché richiamato un numero maggiore di volte) e quello che ha la maggiore probabilità di rottura. Tale studio è motivato dall'esigenza di definire metriche più accurate che permettano al sistema di adattarsi meglio e in maniera più accurata. Per perseguire lo scopo dello studio è necessario analizzare uno spazio di architetture composte da componenti e per ognuna di essere calcolare le metriche di adattabilità al ne di individuare quale o quali di esse è la soluzione migliore verso cui migrare partendo dall'architettura attualmente in uso per l'applicazione. Essendo un lavoro laborioso e che richiede uno sforzo computazionale non indifferente si è pensato di sviluppare un framework apposito che analizzi lo spazio delle architetture possibili e fornisca a video i risultati delle metriche in modo da permettere al progettista di sistema di scegliere l'architettura che sia maggiormente adattabile rispetto a quella in uso rispetto ai requisiti indicati dal proprietario del sistema. La tesi è strutturata nel modo seguente: nel capitolo uno viene descritto nel dettaglio cosa è un sistema auto - adattativo e si riporta l'analisi proposta in [17] circa le dimensioni con cui analizzarlo. Inoltre si presentano metriche definite in [19], il framework implementato e le limitazioni del lavoro esistente. Nel capitolo due si presentano le motivazioni alla base di questa tesi, le metriche definite in questo lavoro riportando per miglior comprensione un esempio pratico per ogni metrica descritta. Nel capitolo tre si affronta un caso di studio reale e più complesso su cui applicare le metriche proposte per illustrare in modo esplicito l'applicabilità delle metriche proposte. Nel capitolo quattro si descrive il framework sviluppato (scaricabile al link [6]) illustrando dapprima le tecnologie utilizzate e poi la sua utilizzazione attraverso un insieme di screenshots. Nelle conclusioni si riepilogano i limiti di questo lavoro fornendo spunti per gli sviluppi futuri.
PEREZ-PALACIN, DIEGO
ING - Scuola di Ingegneria Industriale e dell'Informazione
21-dic-2016
2015/2016
Tesi di laurea Magistrale
File allegati
File Dimensione Formato  
2016_12_Zanotti.pdf

accessibile in internet per tutti

Descrizione: elaborato di tesi
Dimensione 2.86 MB
Formato Adobe PDF
2.86 MB Adobe PDF Visualizza/Apri

I documenti in POLITesi sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/10589/131904