02.03.2015 Views

Modello B - Università degli Studi di Genova

Modello B - Università degli Studi di Genova

Modello B - Università degli Studi di Genova

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Ministero dell'Istruzione dell'<strong>Università</strong> e della Ricerca<br />

SottoTask 1.3 Evoluzione e refactoring.<br />

Il lavoro dell'unità in questo sottotask si focalizza principalmente sul supporto dell'evoluzione e del refactoring sia a livello linguistico sia metodologico. I risultati<br />

attesi sono: i) l'implementazione <strong>di</strong> un linguaggio grafico per la programmazione ad aspetti (Blueprint [CP07b]) che dovrebbe risolvere il problema della fragilità<br />

dei pointcut a fronte dell'evoluzione del software; ii) definizione ed implementazione <strong>di</strong> un'estensione <strong>di</strong> AspectJ (@AspectJ) che sfrutta un più fine modello <strong>di</strong><br />

meta-dati per <strong>di</strong>saccoppiare la definizione dei pointcut dall'implementazione dell'applicazione per aumentare la robustezza dei pointcut in caso <strong>di</strong> evoluzione; iii)<br />

sviluppo <strong>di</strong> un framework per supportare l'evoluzione <strong>di</strong>namica e cambi allo schema <strong>di</strong> una classe durante l'esecuzione dell'applicazione senza mo<strong>di</strong>ficare la Java<br />

virtual machine e iv) sviluppo <strong>di</strong> un approccio semi-automatico all'aggiornamento della documentazione nel caso l'applicazione debba evolvere.<br />

SottoTask 1.4 Sviluppo composizionale <strong>di</strong> linguaggi.<br />

Il lavoro dell'unità in questo sottotask si focalizza principalmente sullo sviluppo <strong>di</strong> una metodologia per definire un linguaggio <strong>di</strong> programmazione come la<br />

composizione dei suoi componenti base; componenti che possono essere riusati dalla definizione <strong>di</strong> altri linguaggi. La metodologia che si intende investigare segue le<br />

idee date in [CS09]. Ogni costrutto sarà incapsulato in uno slice assieme ai dettagli necessari per realizzarne l'implementazione/valutazione. I risultati attesi sono: i)<br />

la definizione <strong>di</strong> un meccanismo per definire le componenti base del linguaggio che potranno essere selettivamente composte a formare un nuovo linguaggio; ii) lo<br />

sviluppo <strong>di</strong> un framework per generare compilatore ed interprete per i programmi scritti nel linguaggio risultato della composizione; e infine iii) l'applicazione del<br />

framework alla ridefinizione/implementazione <strong>di</strong> alcuni linguaggi <strong>di</strong> programmazione esistenti, come Java [GJSB05], Featherweight Java [IPW01] e Linda [CG89].<br />

Il lavoro in questo sottotask è condotto in collaborazione con l'unità <strong>di</strong> Torino.<br />

SottoTask 2.4 Mobilità ed evoluzione <strong>di</strong>namica<br />

Il lavoro svolto dall'unità in questo sottotask si focalizza principalmente sulle reti <strong>di</strong> Petri riflessive [CC06, CC07b], che l'unità ha sviluppato, e nella loro<br />

applicazione alla modellazione dell'evoluzione del struttura <strong>di</strong> una rete mobile. I risultati attesi sono: i) la definizione e lo sviluppo <strong>di</strong> un apposito calcolo per l'analisi<br />

strutturale e dello spazio <strong>degli</strong> stati delle reti <strong>di</strong> Petri riflessive; ii) l'implementazione <strong>di</strong> un simulatore per le reti <strong>di</strong> Petri riflessive derivata da strumenti esistenti; ed<br />

infine iii) l'uso delle reti <strong>di</strong> Petri riflessive e delle pianificate estensioni per modellare l'evoluzione reti mobili altamente mutevoli come le reti <strong>di</strong> sensori, allo scopo <strong>di</strong><br />

eseguire analisi <strong>di</strong> qualità e performance per algoritmi appropriate come quelli <strong>di</strong> gossiping [GPR08].<br />

Testo inglese<br />

Most of the efforts of the unit of Milan are about designing and developing a framework that will permit to design a programming language as the composition of<br />

programming features coming from other programming language definitions and to generate an ad hoc compiler for the just defined programming language. This<br />

framework will help to accomplish also the work of the other units provi<strong>di</strong>ng a tool to easily develop and test the proposed ideas. Secondary the researchers of the<br />

unit will be work on the evolution and <strong>di</strong>stribution topic.<br />

The participation of the unit of Milano is of basic importance in achieving project's objectives since they will contribute their plurennial experience on design and<br />

developing object-oriented, aspect-oriented and reflective programming languages and on their applications to software evolution. Such a more pragmatic<br />

competences are perfectly completed by the more theoretic skills from the units of Firenze, <strong>Genova</strong> and Torino to achieve the prefixed objectives with a tight<br />

collaborations among the units. The collaboration with the units has proved successful and tuned by the collaborations in previous common projects.<br />

The contributions of the unit is summarized below.<br />

SubTask 1.3 Evolution and refactoring.<br />

The work of this unit in this subtask mainly focuses on supporting evolution and refactoring at linguistic level and as a methodology. The expected results are: i) the<br />

implementation of a graphical aspect-oriented language (named Blueprint [CP07b]) that should solve the pointcut fragility against software evolution; ii) definition<br />

and implementation of an AspectJ extension (named @AspectJ) exploiting a finer model for meta-data used to decouple pointcut from application implementation in<br />

order to improve pointcut robustness against software evolution; iii) development of a framework to support dynamic evolution and schema changes during<br />

application execution in Java without changing its virtual machine and finally iv) development of a semi-automatic approach to documentation maintenance against<br />

software evolution.<br />

SubTask 1.4 Compositional language development.<br />

The work of the unit in this subtask mainly focuses on developing a methodology to define a programming language as the composition of its basic components;<br />

components that can be reused from other language definitions. The methodology we intend to investigate basically follows the ideas we have given in [CS09]. Each<br />

programming feature will be encapsulated in a slice together with the necessary details to realize its implementation/evaluation. The expected results are: i) the<br />

definition of a mechanism to define basic programming features that can be selectively composed to form a novel programming language; ii) the development of a<br />

framework to generate the compiler and interpreter for programs written in the programming language resulting from the composition; and finally iii) the application<br />

of the novel framework to the redefinition/implementation of some well-known programming languages, such as Java [GJSB05], Featherweight Java [IPW01] and<br />

Linda [CG89].<br />

The work in this subtask is carried out in collaboration with the unit of Torino.<br />

Task 2.4 Mobility and dynamic evolution<br />

The work of the unit in this subtask mainly focus on the reflective Petri net formalism [CC06,CC07b] we developed and in its application to model the evolution of the<br />

layout of a mobile network. The expected results are: i) the definition and development of an appropriate structural analysis and state space calculi for the reflective<br />

Petri nets formalism; ii) the implementation of a simulation engine for reflective Petri nets derived by existing tools; and finally iii) the use of the reflective Petri net<br />

formalism and of the planned extensions to model the evolution of highly mutable mobile networks, such as sensor networks, in order to carry out performance and<br />

quality analysis on appropriate algorithms, such as gossiping [GPR08].<br />

9 - Settori <strong>di</strong> ricerca ERC (European Research Council)<br />

PE Mathematics, physical sciences, information and communication, engineering, universe and earth sciences<br />

PE5 Information and communication: informatics and information systems,computer science, scientific computing, communication technology, intelligent<br />

systems<br />

PE5_16 Systems and software<br />

PE5_6 Informatics and information systems<br />

MIUR - BANDO 2008 - MODELLO B - 4 -

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!