|
|
tuProlog è un interprete Prolog scritto in Java e interoperabile con tale linguaggio, dotato di un plug-in per la piattaforma Eclipse. A causa di refactoring della piattaforma, questo plug-in presenta problemi di funzionamento nelle versioni più recenti di Eclipse. Scopo di questa tesi è quindi analizzare i cambiamenti della piattaforma Eclipse nel più ampio contesto dell'evoluzione di simili piattaforme, utilizzando il plug-in tuProlog come caso di studio per valutare l'impatto di suddette evoluzioni sul software da esse supportato e come si possa farvi fronte. In particolare, ci si concentra non solo sull'analisi dello specifico problema del plug-in, ma sulle revisioni architetturali opportune per risolverlo e ridurre la probabilità che se ne presentino altri in futuro.
Dopo un’analisi preliminare della piattaforma Eclipse e degli strumenti che essa mette a disposizione, si presentano le caratteristiche fondamentali di tuProlog e del corrispondente plug-in, per poi focalizzarsi sullo specifico problema e sulle dipendenze dirette e indotte dalla piattaforma software che ne impediscono sia il funzionamento sia il deployment.
Assume particolare importanza in questo quadro un processo di collaudo e sperimentazione efficiente, in grado di garantire riproducibilità delle condizioni di test in uno scenario complesso dove la piattaforma Eclipse costituisce sia la piattaforma di sviluppo che di runtime del plugin. A questo fine si adotta un approccio basato su macchine vitruali, in grado di fornire risultati affidabili e ripetibili, indipendentemente dai meccanismi di caching e pooling di Eclipse.
parole chiave
tuProlog, Prolog, plugin, Eclipse, Java, dipendenze, refactoring, deployment, macchine virtuali, VM