PROGETTO DI UNITÀ DI RICERCA - MODELLO B Anno prot. 2008YY33BS_004

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "PROGETTO DI UNITÀ DI RICERCA - MODELLO B Anno 2008 - prot. 2008YY33BS_004"

Transcript

1 MINISTERO DELL'ISTRUZIONE DELL'UNIVERSITÀ E DELLA RICERCA DIREZIONE GENERALE DELLA RICERCA PROGRAMMI DI RICERCA SCIENTIFICA DI RILEVANTE INTERESSE NAZIONALE RICHIESTA DI COFINANZIAMENTO (DM n del 4 dicembre 2008) PROGETTO DI UNITÀ DI RICERCA - MODELLO B Anno prot. 2008YY33BS_ Area Scientifico-disciplinare 01: Scienze matematiche e informatiche 100% 2 - Coordinatore Scientifico ZUCCA ELENA Professore Associato confermato Università degli Studi di GENOVA Facoltà di SCIENZE MATEMATICHE FISICHE e NATURALI Dipartimento di INFORMATICA E SCIENZE DELL'INFORMAZIONE 3 - Responsabile dell'unità di Ricerca CAZZOLA WALTER Ricercatore confermato 25/07/1969 CZZWTR69L25D969S Università degli Studi di MILANO Dipartimento di INFORMATICA E COMUNICAZIONE (Prefisso e telefono) (Numero fax) 4 - Curriculum scientifico Walter Cazzola è Ricercatore presso l'università degli Studi di Milano dal 30 Dicembre del In precedenza è stato assegnista presso l'università di Genova ( ) ed ha conseguito il titolo di dottore di ricerca presso l'università di Milano (Febbraio 2001). Walter Cazzola è autore di più di 50 articoli pubblicati su riviste e conferenze internazionali; è stato membro di comitati di programma di workshop e conferenze internazionali, recentemente per RAM-SE (Reflection, AOP and Meta-Data for Software Evolution) 2004, 2005, 2006, 2007 e 2008; ha curato il libro "Reflection and Software Engineering" pubblicato da Springer nel 1999 ed è stato curatore del numero speciale della rivista "Transaction on aspect-oriented software development" dedicata all'evoluzione del software. Ha partecipato a diversi progetti di ricerca nazionali ed internazionali; in particolare è stato responsabile scientifico per il progetto RAMSES (Reflective and Adaptive Middleware for Software Evolution of Nonstopping Systems) e RAMSES-II (proseguimento del progetto RAMSES) finanziati dal Deutsche Forschungsgemeinschaft (Fondazione Tedesca per la Ricerca). Interessi di ricerca: programmazione e sviluppo object- e aspect-oriented, riflessione computazionale, implementazione di linguaggi ed evoluzione del software. Walter Cazzola is an Assistant Professor at the University of Milano since the 30th of December Previously, he was a research fellow at the University of Genova ( ); he has taken his PhD in Informatics from the University of Milano (February 2001). Walter Cazzola has written more than 50 papers in international journals and conferences; he has served as program committee and organizing member for several international conferences and workshops (recently for RAM-SE -- Reflection, AOP and Meta-Data for Software Evolution , 2005, 2006, 2007 and 2008); he has coedited the book "Reflection and Software Engineering" published by Springer in 1999 and he is the co-editor of the special issue on software evolution of the journal "Transaction on aspect-oriented software development". He has participated in several international and national research projects; in particular he was the scientific coordinator of the RAMSES (Reflective and Adaptive Middleware for Software Evolution of Nonstopping Systems) and RAMSES-II (RAMSES follow-up) projects funded by the Deutsche Forschungsgemeinschaft (German Research Foundation). Current research interests: object- and aspect-oriented programming and software development, computational reflection, compilers and software evolution. MIUR - BANDO MODELLO B - 1 -

2 5 - Pubblicazioni scientifiche più significative del Responsabile dell'unità di Ricerca 1. CAPRA L, CAZZOLA W. (2008). Evolutionary Design through Reflective Petri Nets: an Application to Workflow. In: Proceedings of the IASTED International Conference on Software Engineering (SE'08). Innsbruck, Austria, February CAZZOLA W., Alessandro Marchetto (2008). AOP-->HiddenMetrics: Separation, Extensibility and Adaptability in SW Measurement. JOURNAL OF OBJECT TECHNOLOGY, vol. 7; p , ISSN: E. Figueiredo, C. Sant'Anna, A. Garcia, T. T. Bartolomei, CAZZOLA W., A. Marchetto (2008). On the Maintainability of Aspect-Oriented Software: A Concern-Oriented Measurement Framework. CSMR 2008 : 12TH EUROPEAN CONFERENCE ON SOFTWARE MAINTENANCE AND REENGINEERING : DEVELOPING EVOLVABLE SYSTEMS : APRIL 1 4, 2008, ATHENS, GREECE /. p IEEE, ISBN/ISSN: , doi: /CSMR CAPRA L, CAZZOLA W. (2007). A Reflective PN-based Approach to Dynamic Workflow Change. In: Proceedings of the 9th International Symposium in Symbolic and Numeric Algorithms for Scientific Computing (SYNASC'07). Timisoara, Romania, September 2007IEEE, p CAPRA L, CAZZOLA W. (2007). Self-Evolving Petri Nets. JOURNAL OF UNIVERSAL COMPUTER SCIENCE, vol. 13; p , ISSN: CAZZOLA W., PINI S (2007). AOP vs Software Evolution: a Score in Favor of the Blueprint. In: Proceedings of the 4th ECOOP Workshop on Reflection, AOP and Meta-Data for Software Evolution (RAM-SE'07). Berlin, Germany, July 2007, p CAZZOLA W., PINI S (2007). On the Footprints of Join Points: The Blueprint Approach. JOURNAL OF OBJECT TECHNOLOGY, vol. 6; p , ISSN: CAZZOLA W., PINI S, GHONEIM A, SAAKE G (2007). Co-Evolving Application Code and Design Models by Exploiting Meta-Data. In: Proceedings of the 12th Annual ACM Symposium on Applied Computing (SAC'07). Seoul, South Korea, March 2007ACM, p CAPRA L, CAZZOLA W. (2006). A Petri-Net Based Reflective Framework. DISCRETE MATHEMATICS AND THEORETICAL COMPUTER SCIENCE, vol. 159; p , ISSN: CAZZOLA W., GHONEIM A, SAAKE G (2006). Viewpoint for Maintaining UML Models against Application Changes. In: Proceedings of International Conference on Software and Data Technologies (ICSOFT 2006). Setúbal, Portugal, September 2006Springer, p CAZZOLA W., PINI S (2006). Join Point Patterns: a High-Level Join Point Selection Mechanism. In: MoDELS'06 Satellite Events Proceedings. Genova, Italy, October 2006Springer, vol. 4364, p CAPRA L, CAZZOLA W. (2005). A Petri-Net Based Reflective Framework. In: IPM International Workshop on Foundations of Software Engineering (FSEN'05), October CAZZOLA W., CISTERNINO A., COLOMBO D. (2005). Freely Annotating C#. JOURNAL OF OBJECT TECHNOLOGY, vol. 4(10); p , ISSN: CAZZOLA W., CISTERNINO A., COLOMBO D. (2005). [a]c#: C# with a Customizable Code Annotation Mechanism. In: Annual ACM Symposium on Applied Computing (SAC'05), March 2005, p CAZZOLA W., PINI S, ANCONA M (2005). The Role of Design Information in Software Evolution. In: Proceedings of the 2nd ECOOP Workshop on Reflection, AOP and Meta-Data for Software Evolution (RAM-SE'05). Glasgow, Scotland, July 2005, p CAZZOLA W., PINI S., ANCONA M. (2005). AOP for Software Evolution: A Design Oriented Approach. In: Annual ACM Symposium on Applied Computing (SAC'05), March 2005, p CISTERNINO A, CAZZOLA W., COLOMBO D (2005). Metadata-Driven Library Design. In: Proceedings of Library-Centric Software Design Workshop (LCSD'05). San Diego, CA, USA, October ANCONA M., CAZZOLA W. (2004). Implementing the Essence of Reflection: a Reflective Run-Time Environment. In: ACM Symposium on Applied Computing (SAC'04), p CAZZOLA W. (2004). SmartMethod: an Efficient Replacement for Method. In: ACM Symposium on Applied Computing (SAC'04), p CAZZOLA W. (2004). SmartReflection: Efficient Introspection in Java. JOURNAL OF OBJECT TECHNOLOGY, vol. 3(11); p , ISSN: CAZZOLA W., GHONEIM A., SAAKE G. (2004). Software Evolution through Dynamic Adaptation of Its OO Design. In: EHRICH H.-D.; MEYER J.-J.; RYAN; M. D.. Objects, Agents and Features: Structuring Mechanisms for Contemporary Software. p Springer 22. CAZZOLA W., GHONEIM A., SAAKE G. (2004). System Evolution through Design Information Evolution: a Case Study. In: 13th International Conference on Intelligent and Adaptive Systems and Software Engineering, July, p CAZZOLA W. (2003). Remote Method Invocation as a First-Class Citizen. DISTRIBUTED COMPUTING, vol. 16; p , ISSN: Elenco dei partecipanti all'unità di Ricerca Componenti Componenti della sede dell'unità di Ricerca nº Cognome Nome Università/Ente Qualifica Disponibilità temporale indicativa prevista 1 anno 2 anno 1. CAPRA Lorenzo Università degli Studi di MILANO Ricercatore confermato CAZZOLA Walter Università degli Studi di MILANO Ricercatore confermato 6 6 TOTALE MIUR - BANDO MODELLO B - 2 -

3 Componenti di altre Università / Enti vigilati Nessuno Ministero dell'istruzione dell'università e della Ricerca Titolari di assegni di ricerca Nessuno Titolari di borse Nessuno 6.1 bis Vice-responsabile Altro personale nº Cognome Nome Università/Ente Dipartimento Qualifica Disponibilità temporale indicativa prevista 1 anno 2 anno 1. PUKALL MARIO Università di Magdeburg Dottorando 3 3 TOTALE Personale a contratto da destinare a questo specifico Progetto Nessuno Dottorati a carico del PRIN da destinare a questo specifico Progetto nº Costo previsto Note sulla tematica sviluppo composizionale di linguaggi (sottotask 1.4) TOTALE Titolo specifico del Progetto svolto dall'unità di Ricerca Composizione ed Evoluzione di Sistemi ad Oggetti Avanzati Composition and Evolution for Advanced Object Systems 8 - Abstract del Progetto svolto dall'unità di Ricerca La maggior parte del lavoro che svolgerà l'unità di Milano riguarderà la progettazione e lo sviluppo di un framework che permetterà la progettazione di un nuovo linguaggio di programmazione come la composizione di costrutti provenienti dalla definizione di altri linguaggi di programmazione; inoltre permetterà di generare un compilatore ad hoc per la traduzione dei programmi scritti col nuovo linguaggio. Tale framework aiuterà anche le altre unità nel conseguimento dei propri obiettivi fornendole di uno strumento che semplifica lo sviluppo ed il testing delle idee che proporranno. Inoltre i ricercatori dell'unità contribuiranno sugli aspetti di evoluzione e distribuzione presenti nel progetto. La partecipazione dell'unità di Milano è di basilare importanza per il conseguimento degli obiettivi del progetto in quanto contribuirà con una pluriennale esperienza nella progettazione e lo sviluppo di linguaggi di programmazione orientata agli oggetti ed agli aspetti e riflessivi e sull'uso di tali linguaggi nell'ambito dell'evoluzione del software. Le caratteristiche più pragmatiche dei ricercatori dell'unità di Milano si complementano perfettamente con le abilità più teoriche dei colleghi delle unità di Firenze, Genova e Torino per ottenere gli obiettivi prefissati tramite una stretta collaborazione tra le unità. Tale collaborazione si è più volte dimostrata fruttuosa e è stata ulteriormente affinata grazie a diversi progetti sviluppati assieme. I contributi dell'unità sono riassunti di seguito. MIUR - BANDO MODELLO B - 3 -

4 SottoTask 1.3 Evoluzione e refactoring. 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 attesi sono: i) l'implementazione di un linguaggio grafico per la programmazione ad aspetti (Blueprint [CP07b]) che dovrebbe risolvere il problema della fragilità dei pointcut a fronte dell'evoluzione del software; ii) definizione ed implementazione di un'estensione di AspectJ che sfrutta un più fine modello di meta-dati per disaccoppiare la definizione dei pointcut dall'implementazione dell'applicazione per aumentare la robustezza dei pointcut in caso di evoluzione; iii) sviluppo di un framework per supportare l'evoluzione dinamica e cambi allo schema di una classe durante l'esecuzione dell'applicazione senza modificare la Java virtual machine e iv) sviluppo di un approccio semi-automatico all'aggiornamento della documentazione nel caso l'applicazione debba evolvere. SottoTask 1.4 Sviluppo composizionale di linguaggi. Il lavoro dell'unità in questo sottotask si focalizza principalmente sullo sviluppo di una metodologia per definire un linguaggio di programmazione come la composizione dei suoi componenti base; componenti che possono essere riusati dalla definizione di altri linguaggi. La metodologia che si intende investigare segue le 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) la definizione di un meccanismo per definire le componenti base del linguaggio che potranno essere selettivamente composte a formare un nuovo linguaggio; ii) lo sviluppo di un framework per generare compilatore ed interprete per i programmi scritti nel linguaggio risultato della composizione; e infine iii) l'applicazione del framework alla ridefinizione/implementazione di alcuni linguaggi di programmazione esistenti, come Java [GJSB05], Featherweight Java [IPW01] e Linda [CG89]. Il lavoro in questo sottotask è condotto in collaborazione con l'unità di Torino. SottoTask 2.4 Mobilità ed evoluzione dinamica Il lavoro svolto dall'unità in questo sottotask si focalizza principalmente sulle reti di Petri riflessive [CC06, CC07b], che l'unità ha sviluppato, e nella loro applicazione alla modellazione dell'evoluzione del struttura di una rete mobile. I risultati attesi sono: i) la definizione e lo sviluppo di un apposito calcolo per l'analisi strutturale e dello spazio degli stati delle reti di Petri riflessive; ii) l'implementazione di un simulatore per le reti di Petri riflessive derivata da strumenti esistenti; ed infine iii) l'uso delle reti di Petri riflessive e delle pianificate estensioni per modellare l'evoluzione reti mobili altamente mutevoli come le reti di sensori, allo scopo di eseguire analisi di qualità e performance per algoritmi appropriate come quelli di gossiping [GPR08]. 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 programming features coming from other programming language definitions and to generate an ad hoc compiler for the just defined programming language. This framework will help to accomplish also the work of the other units providing a tool to easily develop and test the proposed ideas. Secondary the researchers of the unit will be work on the evolution and distribution topic. 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 developing object-oriented, aspect-oriented and reflective programming languages and on their applications to software evolution. Such a more pragmatic competences are perfectly completed by the more theoretic skills from the units of Firenze, Genova and Torino to achieve the prefixed objectives with a tight collaborations among the units. The collaboration with the units has proved successful and tuned by the collaborations in previous common projects. The contributions of the unit is summarized below. SubTask 1.3 Evolution and refactoring. 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 implementation of a graphical aspect-oriented language (named Blueprint [CP07b]) that should solve the pointcut fragility against software evolution; ii) definition and implementation of an AspectJ extension exploiting a finer model for meta-data used to decouple pointcut from application implementation in order to improve pointcut robustness against software evolution; iii) development of a framework to support dynamic evolution and schema changes during application execution in Java without changing its virtual machine and finally iv) development of a semi-automatic approach to documentation maintenance against software evolution. SubTask 1.4 Compositional language development. 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; 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 programming feature will be encapsulated in a slice together with the necessary details to realize its implementation/evaluation. The expected results are: i) the 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 framework to generate the compiler and interpreter for programs written in the programming language resulting from the composition; and finally iii) the application of the novel framework to the redefinition/implementation of some well-known programming languages, such as Java [GJSB05], Featherweight Java [IPW01] and Linda [CG89]. The work in this subtask is carried out in collaboration with the unit of Torino. Task 2.4 Mobility and dynamic evolution 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 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 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 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 quality analysis on appropriate algorithms, such as gossiping [GPR08]. 9 - Settori di ricerca ERC (European Research Council) PE Mathematics, physical sciences, information and communication, engineering, universe and earth sciences PE5 Information and communication: informatics and information systems,computer science, scientific computing, communication technology, intelligent systems PE5_16 Systems and software PE5_6 Informatics and information systems MIUR - BANDO MODELLO B - 4 -

5 10 - Parole chiave EVOLUZIONE DEL SOFTWARE COMPOSIZIONE DINAMICA SOFTWARE EVOLUTION DYNAMIC COMPOSITION 11 - Stato dell'arte Il lavoro dell'unità di Milano riguarderà i Task 1 (Composizione) e 2 (Interazione e Distribuzione). Nel seguito vedremo lo stato dell'arte delle aree di ricerca collegate ai sottotask che ci vedono coinvolti, in particolare i lavori correnti che rappresenteranno il punto di partenza per la ricerca. Task 1 - Composizione SottoTask 1.3 Evoluzione e refactoring L'evoluzione del software è un argomento piuttosto attuale [MBZR03,Fel03,BR00,MWD+05]. Molte applicazioni devo essere aggiornate ed estese con nuove caratteristiche durante il loro ciclo di vita. L'evoluzione del software, come pure il suo mantenimento, è caratterizzata da un alto costo ed una lenta realizzazione. Tipicamente l'evoluzione ha luogo fermando l'esecuzione dell'applicazione, adattandolo e quindi facendola ripartire; questo processo, però, è non perseguibile quando il sistema è critico e non può essere fermato come nel caso del sistema per il controllo del traffico aereo. In generale, il modo giusto per affrontare l'evoluzione di un'applicazione durante l'esecuzione (evoluzione dinamica) consiste nel i) posporre la pianificazione dell'evoluzione dalla progettazione all'esecuzione, ii) separare l'evoluzione dal codice dell'applicazione iii) (semi-)automatizzare l'evoluzione stessa. Sia la riflessione computazionale [Mae87] che la programmazione orientata agli aspetti [KHH+ 01] forniscono alcuni meccanismi per superare questi problemi. Alcuni middleware riflessivi e orientati agli aspetti [CSST99,Ran05,CSG06] sono stati investigati con l'intento di affrontare il problema dell'evoluzione dinamica ma con successo limitato. Tali middleware si sono dovuti scontrare con il limitato supporto che hanno i sistemi di sviluppo nei confronti dei cambiamenti all'applicazione durante l'esecuzione, ad es., Java [GJSB05], similarmente agli altri linguaggi di programmazione principali, supporta solo cambiamenti al codice ma non allo schema della classe [PKS08], cioè, è possibile aggiungere istruzioni ad un metodo ma è impossibile aggiungere un metodo ad una classe impedendo di fatto diversi tipi di evoluzione. Anche l'evoluzione statica del codice ha diversi problemi: la documentazione tipicamente non evolve in accordo all'evoluzione del codice che documenta [CPG07], spesso è necessario cambiare codice che, apparentemente, non dovrebbe essere interessato dai cambiamenti rompendo la modularizzazione [KS04]. Sia le tecniche orientate agli oggetti che agli aspetti hanno diversi limiti nei confronti dell'evoluzione del software e dovrebbero essere migliorati. Lavoro corrente. Il gruppo di ricerca sta lavorando sull'evoluzione del software da diverso tempo ed ha iniziato ad affrontare tutti problemi riportati. In particolare si è progettato un approccio orientato agli aspetti alternativo (Blueprint) per affrontare il problema dell'evoluzione liberando la modularizzazione dalla sintassi dei moduli [CPA04, CPA05, CPA06, CP06, CP07a, CP07b]; analogamente, abbiamo esteso il modello dei meta-dati di Java e C# [CCC05b, CCC05a] (rispettivamente e [a]c#) per supportare annotazioni a grana fine che possono essere usati per co-evolvere codice e documentazione [CPGS07]. SottoTask Sviluppo composizionale di linguaggi Linguaggi con dominio specifico (DSLs) sono usati per risolvere diversi problemi, come redigere documenti, esprimere e verificare vincoli e coordinare la computazione. In alcuni casi, si tratta solo di alcuni costrutti immersi un linguaggi di programmazione più generali o fornite come librerie. Ancor più spesso, si tratta di linguaggi di programmazione di Turing completi devoti a scopi precisi. In entrambi i casi rimangono delle problematiche aperte: implementare e apprendere come usare un nuovo DSL richiede molto tempo; estendere un linguaggio esistente si rivela più semplice ma la flessibilità è spesso compromessa. Inoltre, in generale, è abbastanza difficile adattare un DSL esistente alle necessità di un problema da risolvere o far coesistere costrutti che arrivano da DSL diversi in un unico linguaggio. Provare nuove idee nell'area dei linguaggi di programmazione consiste nella definizione/implementazione di un DSL a partire da un linguaggio di programmazione esistente via tecniche di prototipizzazione rapida (OpenJava [CTKI00] e Javassist [Chi00]). Da un lato questo approccio permette di focalizzarsi sull'implementazione dell'idea dall'altro lato permette di estendere un linguaggio con nuovi costrutti ma non permette di riusare costrutti provenienti da altri linguaggi. I problemi derivano dal classico approccio monolitico [ASU86] sono orientati alle grammatiche normalmente adottato per sviluppare un linguaggio. Le grammatiche descrivono la sintassi del linguaggio e come un programma scritto in quel linguaggio dovrebbe essere tradotto. Nonostante il processo di compilazione sia diviso in fasi, la definizione del linguaggio non lo è, questo, a nostro avviso, è l'ostacolo principale per rendere un linguaggio facilmente estendibile. Alcuni tentativi per rendere la definizione di un linguaggio e la sua implementazione modulari sono stati fatti: Ziggurat [FS06], Linglet Transformation System [Cle07], Polyglot [NCM03] e JastAdd [EH07]; ma la modularità offerta è limitata e spesso si riferisce esclusivamente alla definizione del linguaggio e non alla sua implementazione. Lavoro corrente. In [CS09], è stato presentato un approccio alternativo (Hive) alla specifica e implementazione modulare di DSL. Hive sfrutta l'idea di decomposizione introdotta da HyperJ [OT01] per scomporre in moduli la definizione e implementazione del linguaggio che verranno liberamente ricomposti. Task 2 - Interazione e distribuzione SottoTask Mobilità ed evoluzione dinamica La mobilità è uno dei concetti chiave che pervadono l'attività quotidiana. Palmari e sensori sono esempi di dispositivi mobili che possono essere configurati in reti altamente dinamiche. Alcuni di questi dispositivi abbastanza vicini da essere reciprocamente visibili formano la cosiddetta nuvola. Le nuvole sono caratterizzate da una costante variabilità nel tempo della composizione: a causa della loro mobilità i dispositivi entrano ed escono di continuo dalla nuvola; pertanto le nuvole sono in costante evoluzione. Inoltre questi dispositivi hanno parecchie limitazioni e sono necessari algoritmi specifici per cooperare con tali limitazioni. La ricerca nell'area è piuttosto vivace [GPR08,BGPS06,WW07,SX05] ma malamente affronta il problema della mutabilità della nuvola; principalmente a causa dello scarso supporto che i vari formalismi (Reti di Petri [Rei85], pi-calcolo [Mil99]) per modellare la mobilità hanno nei confronti dell'evoluzione della disposizione degli MIUR - BANDO MODELLO B - 5 -

6 elementi mobili. Senza tale supporto è difficile modellare come un algoritmo si comporti quando la struttura della nuvola cambia e conseguentemente un'analisi qualitativa non può essere effettuata se non sperimentalmente dopo che l'algoritmo è stato implementato. Diversi tentativi per supportare l'evoluzione della struttura sono stati fatti: reti di Petri riflessive [CC07b], reconfigurable nets [BO98], nets-within-nets [CDMR05] e reti come token [Val98]. In generale tutti questi approcci tranne le reti di Petri riflessive affrontano l'evoluzione codificando tutte le possibilità nel modello; questo porta ad avere i) un modello che non rappresenta la realtà corrente ma che è inquinato da ciò che potrebbe accadere e ii) che difficilmente riesce a coprire tutte le possibili evoluzioni. Le reti di Petri riflessive sfruttano la riflessione [Mae87] per separare il modello da come potrebbe evolvere ed è lo strumento perfetto per modellare situazioni in cui l'evoluzione è regolata da leggi di distribuzione o è generata proceduralmente come nel caso delle nuvole. Lavoro corrente. Da diversi anni si sta lavorando sulle reti di Petri riflessive [CC06,CC07b] e sulla loro applicazione alla riflessione [CC07a,CC08]. The work of this group of researchers (unit of Milano) will be within Task 1 (Composition) and Task 2 (Interaction and Distribution). In the following we review the state of the art of the research areas related to subtasks in which this unit is expected to be the main investigator, in particular the current work which will be the starting point for the research. Task 1 - Composition SubTask 1.3 Evolution and refactoring Nowadays, software evolution is a very hot topic [MBZR03, Fel03, BR00, MWD+05]. Many applications need to be updated or extended with new characteristics during their lifecycle. Software evolution, as well as software maintenance, is characterized by its huge cost and slow speed of implementation. Typically the evolution takes place by stopping the system, adapting it and finally restarting it; this process is unfeasible when the system is critical and basically cannot be stopped as in air traffic control systems, banking systems, and so on. In general, the right direction to face the system evolution during its execution (dynamic evolution) consists of i) postponing the evolution planning from design-time to run-time, ii) separating the evolution crosscutting concern from the application code and iii) (semi-)automating the system evolution. Both reflection [Mae87] and aspect-oriented programming [KHH+ 01] provide some mechanisms to overcome these problems. Few reflective and aspect-oriented middleware [CSST99, Ran05, CSG06] have been investigated with the intent of tackling the problem of run-time evolution with limited success. They have to face with the limited support of the development frameworks to dynamic changes to the software, e.g., Java [GJSB05], as well as many others mainstream programming languages, supports only changes to the code but not to the schema of a class [PKS08], i.e., it is possible to add a statement to a method but it is impossible to add a new method to a class impeding several kind of evolution. Also static code evolution presents several problems: documentation typically do not evolve accordingly with the application code evolution [CPGS07], often is necessary to change code that do not apparently affect by the change and break the module decomposition [KS04]. Currently both object- and aspect-oriented techniques have several limits with respect to the evolution issue and need to be improved. Current work. We are working on the evolution issue since a long time and started to face all the reported problems. In particular we have designed an alternative aspect-oriented approach named Blueprint to face the evolution problem by freeing the modularization from the module syntax [CPA04, CPA05, CPA06, CP06, CP07a, CP07b]; similarly we have extended Java and C# [CCC05b, CCC05a] meta-data facility (respectively and [a]c#) to support fine grained annotations that can be used to co-evolve code and documentation [CPGS07]. SubTask Compositional language development Domain Specific Languages (DSLs) are used to solve several problems, such as typesetting documents and code, to express and verify constraints and to coordinate distributed computation. In some cases, these are simply a bunch of programming features, useless standalone, embedded in a general purpose programming language or provided as external libraries. More often, they are Turing complete programming languages devoted to a specific aim. In both cases there are some issues that hamper their realization/usage: in the latter case, to implement and test a new DSL requires time and often it also has a steep learning curve; in the former case the learning curve is smoother but performances and flexibility are often compromised. Moreover, in general, it is quite hard to tailor an existing DSL to the needs of a given problem or to let coexist features coming from two or more DSLs into a single programming language. To test new ideas in programming languages research area is often demanded to the definition/implementation of a DSL from an existing programming language via rapid prototyping techniques, e.g., by using OpenJava [CTKI00], Javassist [Chi00] and so on. On the one hand this approach permits to focus on the new idea implementation on the other hand it strictly relies on the extension of a language with new features but does not permit to reuse features and their implementation from other languages. In our view, the observed problems derive from the monolithic approach adopted to define and implement a programming language. Classic approaches [ASU86] to programming language definition and to compiler designing are grammar-centric; grammars describe the language syntax and how a program written in that language should be translated (syntax directed translation). Even if the compiling process is modularized in phases the language definition cannot, this, in our view, is the major obstacle to render a programming language easily extensible. Some attempts to have a more modular programming language definition and implementation has been done: Ziggurat [FS06], Linglet Transformation System [Cle07], Polyglot [NCM03] and JastAdd [EH07]; but the provided modularity is limited and often refers only to the language definition and not to its implementation. Current work. In [CS09], we have started to design an alternative approach (named Hive) to DSL specification and implementation highly modular. Hive exploits the slicing idea from HyperJ [OT01] to decompose the language definition and implementation in modules that can be freely composed. Task 2 - Interaction and Distribution SubTask Mobility and dynamic evolution Nowadays, mobility is one of the key concepts that pervades everyday activity. Smartphones, palmtops and sensors are examples of mobile devices that can be configured in highly dynamic networks. A number of these devices close enough to be reachable each other originates the so called cloud. Clouds are characterized by an highly variability in composition over time: devices due to their mobility enter and exit from the reachability area of the other devices and therefore from the cloud, i.e., the cloud layout is in a continuous evolution. Moreover mobile devices have several limitations such as battery and CPU performances so algorithms coping with such limitations are necessary to route messages, to spread information around and to detect which devices can or cannot be reached. Research in the area is quite vivacious [GPR08, BGPS06, WW07, SX05] but they badly cope with the high evolvability of the cloud. This is mainly due to the limited support to layout evolution that the formalisms to model distribution provide, e.g., Petri nets [Rei85], pi-calculus [Mil99]. Without such a support it is hard to model how an algorithm behaves when the cloud layout changes and consequently a quality analysis cannot be performed if not experimentally after the algorithm implementation that means to spend time in realizing something that could be useless. Several attempts to support layout evolvability have been done: reflective Petri nets [CC07b], reconfigurable nets [BO98], nets-within-nets [CDMR05] and nets as tokens [Val98]. In general all of these approaches but the reflective Petri nets face the evolution issue by coding all the possible evolution in the model; this has a couple of drawbacks: i) the model does not represent the current reality but it is polluted by what could be happen and ii) it is quite impossible to foresee all the possible evolutions. Reflective Petri nets exploit reflection [Mae87] to separate the model from how it can evolve and it seems perfect to model situations where the MIUR - BANDO MODELLO B - 6 -

7 evolutions can follow distribution laws or can be procedurally generated as in the case of the clouds variability. Current work. Since several years we are working on the reflective Petri nets formalism [CC06, CC07b] and on its applications to evolution [CC07a, CC08] Riferimenti bibliografici [ASU86] Alfred V. Aho, Ravi Sethi, and Jeffrey D. Ullman. Compilers: Principles, Techniques, and Tools. Addison Wesley, [BGPS06] Stephen Boyd, Arpita Ghosh, Balaji Prabhakar, and Devavrat Shah. Randomized Gossip Algorithms. IEEE Transactions on Information Theory, 52(6): , June [BO98] Eric Badouel and Javier Oliver. Reconfigurable Nets, a Class of High Level Petri Nets Supporting Dynamic Changes within Workflow Systems. IRISA Research Report PI-1163, IRISA, January [BR00] Keith H. Bennett and Václav T. Rajlich. Software Maintenance and Evolution: a Roadmap. In The Future of Software Engineering, pp ACM Press, [CC06] Lorenzo Capra and Walter Cazzola. A Petri-Net Based Reflective Framework. Electronic Notes on Theoretical Computer Science, 159:41-59, [CC07a] Lorenzo Capra and Walter Cazzola. A Reflective PN-based Approach to Dynamic Workflow Change. In Proceedings of SYNASC'07, pp , Timisoara, Romania, September IEEE. [CC07b] Lorenzo Capra and Walter Cazzola. Self-Evolving Petri Nets. Journal of Universal Computer Science, 13(13): , December [CC08] Lorenzo Capra and Walter Cazzola. Evolutionary Design through Reflective Petri Nets: an Application to Workflow. In Proceedings of the IASTED International Conference on Software Engineering (SE'08), Innsbruck, Austria, February [CCC05a] Walter Cazzola, Antonio Cisternino, and Diego Colombo. Freely Annotating C#. Journal of Object Technology, 4(10):31-48, December [CCC05b] Walter Cazzola, Antonio Cisternino, and Diego Colombo. [a]c#: C# with a Customizable Code Annotation Mechanism. In Proceedings of SAC'05, pp , Santa Fe, New Mexico, USA, March ACM Press. [CDMR05] Lawrence Cabac, Michael Duvignau, Daniel Moldt, and Heiko Roelke. Modeling Dynamic Architectures Using Nets-Within-Nets. In Proceedings of ICATPN'05, LNCS 3536, pp , Miami, FL, USA, June Springer. [CG89] Nicholas Carriero and David Gelernter. Linda in Context. Communications of the ACM, 32(4): , April [CGS06] Walter Cazzola, Ahmed Ghoneim, and Gunter Saake. Viewpoint for Maintaining UML Models against Application Changes. In Proceedings of ICSOFT 2006, pp , Setúbal, Portugal, September Springer. [Chi00] Shigeru Chiba. Load-Time Structural Reflection in Java. In Proceedings of ECOOP 2000, LNCS 1850, pp , Cannes, France, June Springer. [Cle07] Thomas Cleenewerck. Modularizing Language Constructs: A Reflective Approach. Phd thesis, Vrije Universiteit Brussel, Brussel, Belgium, July [CP06] Walter Cazzola and Sonia Pini. Join Point Patterns: a High-Level Join Point Selection Mechanism. In MoDELS'06 Satellite Events Proceedings, LNCS 4364, pp , Genova, Italy, October Springer. [CP07a] Walter Cazzola and Sonia Pini. AOP vs Software Evolution: a Score in Favor of the Blueprint. In Proceedings of RAM-SE'07, pp , Berlin, Germany, July [CP07b] Walter Cazzola and Sonia Pini. On the Footprints of Join Points: The Blueprint Approach. Journal of Object Technology, 6(7): , August [CPA04] Walter Cazzola, Sonia Pini, and Massimo Ancona. Evolving Pointcut Definition to Get Software Evolution. In Proceedings of RAM-SE'04, pp , Oslo, Norway, June [CPA05] Walter Cazzola, Sonia Pini, and Massimo Ancona. AOP for Software Evolution: A Design Oriented Approach. In Proceedings of SAC'05, pp , Santa Fe, New Mexico, USA, March ACM Press. [CPA06] Walter Cazzola, Sonia Pini, and Massimo Ancona. Design-Based Pointcuts Robustness Against Software Evolution. In Proceedings of RAM-SE'06, pp , Nantes, France, July [CPGS07] Walter Cazzola, Sonia Pini, Ahmed Ghoneim, and Gunter Saake. Co-Evolving Application Code and Design Models by Exploiting Meta-Data. In Proceedings of SAC'07, pp , Seoul, South Korea, March ACM Press. [CS09] Walter Cazzola and Ivan Speziale. Sectional Domain Specific Languages. In Proceedings of DSAL'09, Charlottesville, Virginia, USA, March ACM. [CSST99] Walter Cazzola, Andrea Savigni, Andrea Sosio, and Francesco Tisato. Rule-Based Strategic Reflection: Observing and Modifying Behaviour at the Architectural Level. In Proceedings of ASE'99, pp , Cocoa Beach, Florida, USA, October [CTKI00] Shigeru Chiba, Michiaki Tatsubori, Marc-Olivier Killijian, and Kozo Itano. OpenJava: A Class-based Macro System for Java. In Reflection and Software Engineering, LNCS 1826, pp Springer, June [EH07] Torbjorn Ekman and Gorel Hedin. The JastAdd Extensible Java Compiler. In Proceedings of OOPSLA'07, pp. 1-18, Montreal, Quebec, Cananda, ACM. [Fel03] Massimo Felici. Taxonomy of Evolution and Dependability. In Proceedings of USE 2003, Warsaw, Poland, April [FS06] David Fisher and Olin Shivers. Sttic Semantics for Syntax Objects. In Proceedings of the International Conference on Functional Programming, pp , Portland, OR, USA, ACM Press. [GJSB05] James Gosling, Bill Joy, Guy Steele, and Gilad Bracha. The Java Language Specification. Addison-Wesley, third edition, [GPR08] Francesco Giudici, Elena Pagani, and Gian Paolo Rossi. Impact of Mobility on Epidemic Broadcast in DTNs. In Proceedings of MWCN'08/PWC'08, pp , Tolouse, France, September [IPW01] Atsushi Igarashi, Benjamin C. Pierce, and Philip Wadler. Featherweight Java: A Minimal Core Calculus for Java and GJ. ACM Transactions on Programming Languages and Systems, 23(3): , May [KHH+ 01] Gregor Kiczales, Erik Hilsdale, Jim Hugunin, Mik Kersten, Jeff Palm, and Bill Griswold. An Overview of AspectJ. In Proceedings of ECOOP'01, LNCS 2072, pp , Budapest, Hungary, June Springer. [KS04] Christian Koppen and Maximilian Stoerzer. PCDiff: Attacking the Fragile Pointcut Problem. In Proceedings of EIWAS'04, Berlin, Germany, September [Mae87] Pattie Maes. Concepts and Experiments in Computational Reflection. In Proceedings of OOPSLA'87, pp , Orlando, Florida, USA, October ACM. [MBZR03] Tom Mens, Jim Buckley, Matthias Zenger, and Awais Rashid. Towards a Taxonomy of Software Evolution. In Proceedings of the 2nd International Workshop on Unanticipated Software Evolution (USE 2003), Warsaw, Poland, April [Mil99] Robin Milner. Communicating and Mobile Systems: The pi-calculus. Cambridge University Press, [MWD+ 05] Tom Mens, Michel Wermelinger, Stephane Ducasse, Serge Demeyer, Robert Hirschfeld, and Mehdi Jazayeri. Challenges in Software Evolution. In Proceedings of IWPSE'05, pp , Lisbon, Portugal, September IEEE Press. [NCM03] Nathaniel Nystrom, Michael R. Clarkson, and Andrew C. Myers. Polyglot: An Extensible Compiler Framework for Java. In Proceedings of CC'03, LNCS 2622, pp , Warsaw, Poland, April Springer. [OT01] Harold Ossher and Peri Tarr. Hyper/J: Multi-Dimensional Separation of Concerns for Java. In Proceedings of ICSE'01, pp , Toronto, Ontario, Canada, IEEE. [PKS08] Mario Pukall, Christian Kaestner, and Gunter Saake. Towards Unanticipated Runtime Adaptation of Java Applications. In Proceedings of APSEC'08, pp , Bejing, China, December IEEE. [Ran05] Stephen Rank. Architectural Reflection for Software Evolution. In Proceedings of RAM-SE'05, pp , Glasgow, Scotland, July [Rei85] Wolfgang Reisig. Petri Nets: An Introduction, volume 4 of EATCS Monographs on Theoretical Computer Science. Springer, [SX05] Sartaj Sahni and Xiaochun Xu. Algorithms for Wireless Sensor Networks. International Journal on Distributed Sensor Network, 1(1):35-56, [Val98] Rudiger Valk. Petri Nets as Token Objects: An Introduction to Elementary Object Nets. In Jorg Desel and Manuel Silva, editors, Proceedings of ICATPN'98, LNCS 1420, pp. 1-25, Lisbon, Portugal, June Springer. [WW07] Dorothea Wagner and Roger Wattenhofer, editors. Algorithms for Sensor and Ad Hoc Networks, LNCS Springer, MIUR - BANDO MODELLO B - 7 -

8 13 - Descrizione del programma e dei compiti dell'unità di Ricerca Ministero dell'istruzione dell'università e della Ricerca In generale, il lavoro dell'unità di ricerca ha lo scopo di progettare e sviluppare un framework basato sull'idea presentata in [CS09] per decomporre un la definizione di un linguaggio di programmazione in componenti riusabili; supportare l'evoluzione dinamica del software tramite tecniche riflessive e di manipolazione del bytecode e di affrontare diversi problemi legati all'evoluzione del software (inconsistenza della documentazione dopo l'evoluzione ed evitare di dover modificare codice non direttamente collegato al codice interessato dai cambiamenti). L'unità di ricerca sarà coinvolta nei task del progetto come viene dettagliato di seguito. Task 1. Composizione SubTask 1.3 Evoluzione e refactoring Il lavoro di questa unità in questo sottotask si focalizza principalmente sul supporto dell'evoluzione del software e del refactoring sia a livello linguistico che metodologico. Primo Anno. L'evoluzione del software influenza la manutenzione del software coinvolgendo parti di codice che apparentemente non dovrebbero esserne interessate provocando una specie di effetto domino. Questo risulta particolarmente evidente nel caso di programmi sviluppati con tecniche orientate agli aspetti dove evolvere l'applicazione può rompere la modularità e incapsulamento imposti dalla decomposizione in aspetti e forzando l'evoluzione anche del codice che descrive come gli aspetti vengono composti; questo, per esempio, impatta sul meccanismo di selezione dei join point, cioè sulla definizione dei pointcut che spesso devono essere aggiornati per mantenere le loro funzionalità (problema della fragilità dei pointcut) [KS04]. Per risolvere il problema della fragilità dei pointcut abbiamo progettato un linguaggio di programmazione orientato agli aspetti grafico, chiamato Blueprint [CP07b], che disaccoppia il meccanismo di selezione dei join point dalla sintassi dell'applicazione. Durante il primo anno continueremo lo sviluppo di Blueprint. Inoltre, si intende investigare un secondo approccio basato sul modello dei meta-dati e [a]c# [CCC05a] che permetterebbe di segnare direttamente nel codice dell'applicazione dove gli aspetti dovrebbero venire inseriti confinando, in questo modo, ciò che verrà interessato dall'evoluzione in un unico e ben definito punto e non all'intera applicazione. Sull'altro fronte, si intende supportare l'evoluzione dinamica del software in termini di cambiamenti allo schema di una classe estendendo l'approccio presentato in [PKS08] per preservare l'ereditarietà e l'incapsulamento tramite la sostituzione dinamica della classe. Questo lavoro è svolto in collaborazione con Mario Pukall dell'università di Magdeburg. Secondo Anno. Nel secondo anno si continuerà a sviluppare sia Blueprint e le loro applicazioni verranno esplorate. Relativamente al lavoro sull'evoluzione dinamica si prevede una fase di validazione formale della solidità e completezza dell'approccio sviluppato e si investigherà il ruolo che potrà avere nel weaving dinamico di aspetti. Inoltre si intende migliorare il lavoro [CPGS07] sulla co-evoluzione del codice dell'applicazione e della documentazione semplificando la metodologia e l'insieme di meta-dati usato con l'intento di automatizzarne l'uso; sarà anche considerata l'integrazione con il processo di sviluppo agile. Risultati Attesi. - l'implementazione del linguaggio di programmazione Blueprint e la sua validazione nel caso dell'evoluzione del software; - la definizione di un approccio alternativo basato per limitare le modifiche dovute all'evoluzione del software nel caso di applicazioni sviluppate tramite tecniche orientate agli aspetti; - l'implementazione e la valutazione di un framework che permetta la modifica dello schema di una classe durante l'esecuzione dell'applicazione; - lo sviluppo di un approccio semi-automatico per mantenere la consistenza della documentazione a fronte dell'evoluzione dell'applicazione ed integrazione della metodologia nel processo di sviluppo agile. SottoTask 1.4 Sviluppo composizionale di linguaggi Il lavoro dell'unità in questo sottotask si focalizza principalmente sullo sviluppo di una metodologia per definire un linguaggio di programmazione come la composizione delle sue componenti base (cioè, i costrutti che compongono il linguaggio di programmazione); componenti che possono essere riusati dalla definizione di altri linguaggi. La metodologia che si intende investigare segue le idee presentate in [CS09]. Ogni costrutto sarà incapsulato in uno slice assieme ai dettagli necessari per l'implementazione/valutazione, cioè, i dettagli per realizzare ogni fase della compilazione/interpretazione (ad es., controllo dei tipi, valutazione, generazione del codice,...) sono incapsulati in moduli dello slice che saranno composti assieme ai moduli corrispondenti degli altri costrutti per generare il compilatore/interprete dell'intero linguaggio. La metodologia sarà supportata da un linguaggio di programmazione per definire gli slice e un framework per comporre gli slice a formare il nuovo linguaggio di programmazione ed automaticamente generare il corrispondente compilatore/interprete per compilare ed eseguire i programmi scritti nel linguaggio di programmazione appena sviluppato. La composizione degli slice rappresenta la sfida più difficile dell'intera idea perché gli slice possono rappresentare un insieme piuttosto variegato di costrutti che spesso possono interagire con il comportamento di altri costrutti, ad es. consideriamo uno slice che rappresentante il ciclo for ed un altro slice che introduce una keyword per parallelizzare il pezzo di codice a cui è associata: la composizione di questi due slice doterà il linguaggio di un ciclo for tradizionale e di uno il cui corpo è eseguito parallelamente; quindi la valutazione di un costrutto dipende strettamente dalla valutazione degli altri costrutti che potrebbero modificarne il comportamento. Il lavoro sulla composizione verrà svolto in collaborazione con l'unità di Torino. Anche l'uso dell'approccio è uno dei nostri obiettivi, in particolare si è intenzionati ad investigare l'implementazione di Featherweight Java [IPW01] attraverso il nostro framework; il successo in questo studio doterebbe tutte le unità di un adeguato strumento per provare le estensioni linguistiche che si propongono nel progetto in modo semplice ed immediato. Altri linguaggi di programmazione che intendiamo re-implementare con il nostro framework sono: Java [GJSB05] e Linda [CG89]. Primo Anno. Durante il primo anno di procederà a sviluppare e realizzare l'idea principale dietro la proposta (il linguaggio per descrivere gli slice e il meccanismo di composizione); in parallelo si procederà con lo sviluppo degli studio di caso. Secondo Anno. Durante il secondo anno si continuerà con lo sviluppo della metodologia assieme all'implementazione del framework e all'analisi dello studio di caso; inoltre si modellerà formalmente il meccanismo di decomposizione/composizione. Risultati. - un meccanismo per definire le componenti base del meccanismo (gli slice) che possono essere selettivamente composti per formare un nuovo linguaggio di programmazione; - un framework per generare il compilatore e l'interprete per i programmi scritti nel linguaggio di programmazione risultante dalla composizione; - un insieme di slice necessari per definire linguaggi di programmazione noti, come Java [GJSB05], Featherweight Java [IPW01] e Linda [CG89]. Task 2. Interazione e distribuzione Task 2.4 Mobilità ed evoluzione dinamica Il lavoro dell'unità in questo sottotask si focalizza principalmente sul formalismo delle reti di Petri riflessive [CC06,CC07b] sviluppato per modellare l'evoluzione di un sistema dinamico ad eventi discreti (ad es. reti mobili) e le sue applicazioni. MIUR - BANDO MODELLO B - 8 -

9 Il formalismo delle reti di Petri riflessive è stato progettato per facilitare la modellazione di applicazioni distribuite che possono evolvere senza inquinare il modello con "ciò che potrebbe essere" ma descrivendo esclusivamente "ciò che è correntemente". Questo è realizzato sfruttando la riflessione computazionale [Mae87] e stratificando il modello in due livelli: i) una rete di Petri classica rappresentante la situazione corrente e ii) come il modello può evolvere attraverso delle strategie che evolveranno la situazione corrente quando attivate. La struttura stratificata del modello lo mantiene estremamente semplice ma compromette la possibilità di applicare le classiche tecniche di analisi (principalmente analisi strutturare e ispezione dello spazio degli stati) a istanti tra evoluzioni consecutive, cioè, senza considerare il modello prima della sua ultima evoluzione o le potenziali nuove evoluzioni. Analogamente, gli strumenti esistenti che supportano l'editing e la simulazione delle applicazioni modellate tramite reti di Petri classiche non supportano le reti di Petri riflessive perché sviluppati ignorando la presenza di un secondo strato che inneschi l'evoluzione del modello; non permettendo pertanto nessun cambiamento dinamico della struttura della rete di Petri durante la simulazione. Nel progetto si intende superare queste restrizioni fornendo una semantica stati-transizioni che renderà possibile simulare ed analizzare questo tipo di reti, sviluppando uno strumento di supporto ad hoc estendendo il pacchetto GreatSPN e investigando l'uso di tecniche di analisi strutturale applicate alle reti di Petri riflessive. Un'altra interessante direzione di ricerca è la possibilità di caratterizzare il comportamento delle reti di Petri riflessive (e stocastiche) in termini di processi Markoviani. In particolare intendiamo investigare i possibili collegamenti tra il comportamento stocastico delle reti di Petri riflessive e i modelli Markoviani dinamici, ad es. grafi di evoluzione Markoviana. Questo argomento potrebbe essere esplorato in collaborazione con l'unità di Firenze. Oltre al lavoro relativo a dotare questo nuovo formalismo di solide fondamenti matematici, nel progetto si intende utilizzare le reti di Petri riflessive per modellare reti mobili altamente mutabili, come la maggioranza delle reti di sensori. In particolare si intende modellare l'algoritmo di gossiping descritto in [GPR08] con l'intento di valutare e migliorare le sue performance; inoltre tale lavoro costituirà il perfetto studio di caso per le tecniche di analisi che svilupperemo nel progetto. Primo Anno. Durante il primo anno si intende lavorare sulle capacità di analisi delle reti di Petri riflessive ed in parallelo sulla loro applicazione al dominio applicativo delle reti di sensori. Inoltre si analizzerà come estendere il tool GreatSPN per ottenere un simulatore che supporti anche le reti di Petri riflessive. Secondo Anno. Durante il secondo anno si intende continuare il lavoro iniziato nel primo anno ed implementare il simulatore. Risultati. - estensione delle reti di Petri riflessive in particolare in relazione alle tecniche di analisi; - implementazione del simulatore; - applicazione delle reti di Petri riflessive alla modellazione di reti mobili altamente mutabili, in particolare in relazione agli algoritmi di gossiping nelle reti di sensori. The overall aim of the research unit will be to design and develop a framework based on the idea presented in [CS09] to decompose a programming language definition and implementation in reusable components. To support dynamic software evolution through reflective and bytecode instrumentation techniques and to face several problems tied to the software evolution (inconsistent documentation and sanitizing the domino effect). The research unit will be involved in the project tasks, as detailed below. Task 1. Composition SubTask 1.3 Evolution and refactoring The work of this unit in this subtask mainly focuses on supporting evolution and refactoring at linguistic level and as a methodology. First Year. Software evolution affects the maintenance of the application by imposing the evolution of part of the application that apparently should not be affected by the new requirements provoking a sort of domino effect. This is particularly evident in the case of aspect-oriented application where evolving the application can break the modularity and encapsulation imposed by the aspects forcing to evolve the code to describe the composition as well; this affects the join point selection, i.e., pointcut definitions that need to be updated to maintain their functionality (pointcut fragility problem) [KS04]. To solve the pointcut fragility problem we have designed a graphical aspect-oriented language, named Blueprint [CP07b], which decouples the join point selection mechanism from the application syntax. In the first year we will continue the development of the Blueprint language. Moreover, we intend to investigate a second approach based on the meta-data facility and [a]c# [CCC05a] that should permit to mark directly in the application where to compose the aspects confining, in this way, what is affected by the evolution in a single and well-defined point and not to the whole application. On the other hand, we are going to support dynamic software evolution in terms of class schema changes by extending the approach presented in [PKS08] to preserve inheritance and encapsulation through dynamic class replacement. This work is made in collaboration with Mario Pukall of the University of Magdeburg. Second Year. In this second year both Blueprint will be still under development and also their applications will be investigated. The work about dynamic evolution will foresee a phase of formal validation of the soundness and completeness of the developed approach and the investigation of its use to implement dynamic weaving of aspects. We are going to improve our work [CPGS07] on co-evolution of application code and documentation by improving the proposed methodology and the set of meta-data to simplify the use and to automatize it; the integration with the agile development process will be investigated as well. Results. - implementation of the Blueprint programming language and its validation against software evolution; - definition of an alternative approach based to limit the changes against software evolution in aspect-oriented software; - implementation of a framework to permit schema changes during the execution of the application and its evaluation; - a semi-automatic approach to documentation maintenance against software evolution and its integration in the agile development process. SubTask 1.4 Compositional language development 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 (i.e., the constructs composing the programming language); 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 programming feature will be encapsulated in a slice together with the necessary details to realize its implementation/evaluation, i.e., the details to realize each compilation/interpretation phase (e.g., type checking, evaluation, code generation, and so on) are encapsulated in modules of the slice that will be composed together the corresponding modules of the other features to generate the compiler/interpreter of the whole language. The methodology will be supported by a programming language to define the slices and a framework that will permit to compose the slices to form the new programming languages and to automatically generate the corresponding compiler/interpreter to compile and execute the programs written in the just composed programming language. The slice composition represents the most challenging issue of the whole idea since slices represent a big variety of concepts and often these can affect how another slice behaves, e.g., consider the case where a slice introduces the for loop and another one a keyword to parallel a piece of code: the composition of these two slices will provide a normal for loop and a parallel for with the body executed in parallel; so the evaluation of a programming feature depends on the evaluation of the other features that could affect it. The composition investigation will be carried out in collaboration with the unit of Torino. MIUR - BANDO MODELLO B - 9 -

10 Applications of the approach are in our focus as well, in particular we intend to investigate the implementation of Featherweight Java [IPW01] through our framework; this should provide all the project units with the right testbed for testing the extensions we are proposing in this project. Other programming languages that could be considered are Java [GJSB05] and Linda [CG89]. First Year. In the first year we intend to develop and realize the core idea behind the proposal (the slice language and the composition mechanism); in parallel we will develop the case study programming languages. Second Year. In the second year the development will be continued together with the framework implementation and the case study analysis; moreover we are going to formally model the decomposition/composition mechanism. Results. - a mechanism to define basic programming features (the slices) that can be selectively composed to form a novel programming language; - a framework to generate the compiler and interpreter for programs written in the programming language resulting from the composition; - a bunch of slices necessary to define well-known programming languages, such as Java [GJSB05], Featherweight Java [IPW01] and Linda [CG89]. Task 2. Interaction and Distribution Task 2.4 Mobility and dynamic evolution The work of the unit in this subtask mainly focuses on the reflective Petri net formalism [CC06,CC07b] we developed to model the evolution of a dynamic discrete-event system (e.g. a mobile network), and its application. The reflective Petri net formalism has been designed to easily model distributed applications that can evolve without polluting the model with "what could be" instead of simply model "what it currently is". This is realized exploiting the reflection concept [Mae87] and layering the model in two levels: i) a classic Petri net representing the current situation and ii) how the model can evolve through strategies that will change the current representation when triggered. The multi-layer structure of the model keeps it extremely simple but limits the possible usage of classical Petri nets analysis techniques (mainly structural analysis and state-space inspection) to intervals between consecutive evolutions, i.e., without considering the model before its last evolution, or the potential new evolutions. Analogously, the existing tools that support the editing and the simulation of Petri net models cannot work with reflective Petri nets since they were designed without considering the presence of a second layer coordinating the evolution, thus not permitting any dynamical change to the Petri net layout during simulation runs. In the project, we are going to overcome these restrictions by first providing a state-transitions semantics by which it will be possible to simulate and analyze these kind of nets, then developing an ad-hoc support tool by extending the GreatSPN package, finally investigating structural analysis techniques for reflective Petri nets. Another interesting open question is the possibility of characterizing the behavior of (stochastic) reflective Petri nets in terms of Markov processes. In particular we aim at investigating possible links existing between the stochastic behavior of reflective Petri nets and dynamic Markovian models, e.g., Markovian evolving graphs. This issue could be explored in collaboration with the unit of Firenze. Beyond the work about providing sound mathematical foundations for this novel formalism, in the project we are going to use reflective Petri nets to model highly mutable mobile networks, like a wide class of sensor networks. In particular we are going to model the gossiping algorithm described in [GPR08] with the intent of evaluating and optimizing its performances; moreover such a work will be the perfect testbed for the analysis techniques we will develop in the project. First Year. In the first year we are going to work on the analysis capability of the reflective Petri nets and in parallel on their application to the sensor networks application domain. Moreover we will analyze how to extend the GreatSPN tool to get a simulation tool supporting the reflective Petri nets as well. Second Year. In the second year we are continuing the work made in the first year and implementing the simulation tool. Results. - Reflective Petri nets extensions in particular related to the analysis part; - the implementation of the simulation tool; - application to the highly mutable mobile networks, in particular in relation to gossiping algorithms in sensor networks Descrizione delle attrezzature già disponibili ed utilizzabili per la ricerca proposta Nessuna Nessuna 15 - Descrizione delle Grandi attrezzature da acquisire (GA) Nessuna Nessuna MIUR - BANDO MODELLO B

11 16 - Mesi persona complessivi dedicati al Progetto Ministero dell'istruzione dell'università e della Ricerca Numero Disponibilità temporale indicativa prevista Totale mesi persona 1 anno 2 anno Componenti della sede dell'unità di Ricerca Componenti di altre Università/Enti vigilati 0 Titolari di assegni di ricerca 0 Titolari di borse Dottorato 0 Post-dottorato 0 Scuola di Specializzazione 0 Personale a contratto Assegnisti 0 Borsisti 0 Altre tipologie 0 Dottorati a carico del PRIN da destinare a questo specifico progetto Altro personale TOTALE Costo complessivo del Progetto dell'unità articolato per voci Voce di spesa Materiale inventariabile Spesa in Euro Descrizione dettagliata (in italiano) acquisto di due laptop ed un computer fisso da destinare ai componenti dell'unità Descrizione dettagliata (in inglese) 2 laptops and 1 desktop to be used by the personal involved in the project Grandi Attrezzature 0 Materiale di consumo e funzionamento quota forfettaria del 10% 10% forfaitaire amount (comprensivo di eventuale quota forfettaria) Spese per calcolo ed elaborazione dati Personale a contratto 0 Dottorati a carico del PRIN da destinare a questo specifico progetto dottorato relativo a "tecniche di modularizzazione della definizione e realizzazione di un linguaggio di programmazione" about "modularization techniques applied to programming languages definition and implementation" Servizi esterni Missioni spese per la presentazione dei risultati fund to attend conferences and presents the project results Pubblicazioni (*) 100 eventuali spese di pubblicazione publication expenses Partecipazione / Organizzazione convegni (*) Altro (voce da utilizzare solo in caso di spese non riconducibili alle voci sopraindicate) Subtotale Costo convenzionale Totale Tutti gli importi devono essere espressi in Euro arrotondati alle centinaia spese per la presentazione dei risultati fund to register to conferences and presents the project results 100 spese varie ed eventuali fund to support other expenses (*) sono comunque rendicontabili le spese da effettuare per pubblicazioni e presentazione dei risultati finali della ricerca nei dodici mesi successivi alla conclusione del progetto, purché le relative spese siano impegnate entro la data di scadenza del progetto e purché le pubblicazioni e la presentazione dei risultati avvengano entro nove mesi dalla conclusione del progetto Prospetto finanziario dell'unità di Ricerca Voce di spesa a.1) finanziamenti diretti, disponibili da parte di Università/Enti vigilati di appartenenza dei ricercatori Importo in Euro MIUR - BANDO MODELLO B

12 dell'unità operativa a.2) finanziamenti diretti acquisibili con certezza da parte di Università/Enti vigilati di appartenenza dei ricercatori dell'unità operativa a.3) finanziamenti connessi al costo convenzionale b.1) finanziamenti diretti disponibili messi a disposizione da parte di soggetti esterni b.2) finanziamenti diretti acquisibili con certezza, messi a disposizione da parte di soggetti esterni c) cofinanziamento richiesto al MIUR (max 70% del costo complessivo) Totale Certifico la dichiarata disponibilità e l'utilizzabilità dei finanziamenti a.1) a.2) a.3) b.1) b.2) SI Firma I dati contenuti nella domanda di finanziamento sono trattati esclusivamente per lo svolgimento delle funzioni istituzionali del MIUR. Incaricato del trattamento è il CINECA- Dipartimento Servizi per il MIUR. La consultazione è altresì riservata al MIUR - D.G. della Ricerca -- Ufficio IV -- Settore PRIN, alla Commissione di Garanzia e ai referee scientifici. Il MIUR potrà anche procedere alla diffusione dei principali dati economici e scientifici relativi ai progetti finanziati. Responsabile del procedimento è il coordinatore del settore PRIN dell'ufficio IV della D.G. della Ricerca del MIUR. Firma Data 15/02/2009 ore 21:26 MIUR - BANDO MODELLO B

13 ALLEGATO Ministero dell'istruzione dell'università e della Ricerca Curricula scientifici dei componenti il gruppo di ricerca 1. CAPRA Lorenzo Curriculum: Studi 1993 Laurea in Scienze dell'informazione, Università degli Studi di Milano, Italy. 2001, PhD in Computer Science, Università di Torino, Italy. Impieghi professionali Analista/programmatore Consulente/ricercatore a tempo dterminato presso ENEL-CRA (Centro Ricerche di Automatica) e CESI spa. dal 2001 Ricercatore presso il Dipartimento di Informatica e Comunicazione (DICo), Università degli Studi di Milano, Italy Aree di ricerca Analisi di prestazioni ed affidabilità di sistemi distribuiti. Approcci formali all'ingegneria del software. Sistemi dinamici. Modellazione di processi. Analisi/simulazione di reti di Petri di alto livello. Partecipazione a progetti di ricerca , Esprit EFTOS (Embedded Fault-TOlerant Supercomputing). 1998, European Community HCM (Human Capital and Mobility), progetto MATCH (Modelling and Analysis of Time Constrained Hierarchical Systems), CHRX-CT , Esprit TIRAN (Tailorable fault tolerance framework for embedded applications). 2001, ISIDE project (Sistemi di elaborazione reattivi ed affidabili per applicazioni industriali) -Programmi di ricerca di rilevante interesse nazionale EOS project (Extensible Object Systems) -MIUR Programmi di ricerca di rilevante interesse nazionale. Attività professionale membro di SCS (The Society for Modeling and Simulation International) membro di EUROSIS. Pubblicazioni: CAPRA L., CAZZOLA W (2008). Evolutionary design through reflective petri nets: An application to workflow. In: IASTED Software Engineering (SE 2008)acta press, ISBN/ISSN: ; BELLETTINI C, CAPRA L., MONGA M (2007). Using a stochastic well formed net model for assessing a decentralized approach to configuration management. PERFORMANCE EVALUATION, vol. 64; p , ISSN: CAPRA L. (2007). Algebraic techniques & symmetries: an efficient simulation approach for well-formed petri nets. European Simulation and Modelling. In: European Simulation and Modelling Conference (ESM'2007)EUROSIS-ETI, p , ISBN/ISSN: CAPRA L. (2007). Integrating symmetries and symbolic enabling test for efficient simulation of SWNs. In: EUROPEAN Conference on Modelling and Simulation (ECMS 2007)ECMS-SCS, ISBN/ISSN: CAPRA L., CAZZOLA W (2007). A reflective pn-based approach to dynamic workflow change. In: SYNASC '07: Proceedings of the 9th International Symposium on Symbolic and Numeric Algorithms for Scientific ComputingIEEE CS Press, ISBN/ISSN: CAPRA L., CAZZOLA W (2007). Self-evolving petri nets. JOURNAL OF UNIVERSAL COMPUTER SCIENCE, vol. 13; p , ISSN: CAPRA L. (2006). Algebraic framework for efficient simulation of stochastic coloured petri nets. In: SummerSim'06SCS, ISBN/ISSN: ISBN CAPRA L. (2006). Applying a symbolic approach for swn enabling test to workflow models. In: SYNASC '06: Proceedings of the 8th International Symposium on Symbolic and Numeric Algorithms for Scientific ComputingIEEE CS Press, p , ISBN/ISSN: X CAPRA L. (2006). Applying structural techniques for efficient analysis of complex swn models. In: Workshop on Discrete Event Systems (WODES'06IEEE CS Press, p , ISBN/ISSN: CAPRA L., DE PIERRO M, FRANCESCHINIS G (2005). A high level language for structural relations in well-formed nets. In: ICATPN 2005, 26th International Conference on Applications and Theory of Petri Nets, LNCSSPRINGER, vol. 3536, p CAPRA Lorenzo Curriculum: Education 1993 Laurea degree in computer Science from Università degli Studi di Milano, Italy. 2001, PhD in Computer Science from the University of Torino, Italy. Professional employment Computing professional (analyst and programmer): Consultant/temporary researcher at ENEL-CRA (Research center of the Italian electric power provider) and CESI spa. since 2001 Assistant Professor at the Department of Informatics and Communication (DICo), Univ. of Milan, Italy MIUR - BANDO MODELLO B

14 Research interests Performance and dependability evaluation of distributed systems. Formal approaches to software engineering. Dynamic systems. Workflow modeling. Analysis/simulation of High-level Petri nets. National and European Projects , Esprit EFTOS (Embedded Fault-TOlerant Supercomputing). 1998, European Community HCM (Human Capital and Mobility), progetto MATCH (Modelling and Analysis of Time Constrained Hierarchical Systems) , Esprit TIRAN (Tailorable fault tolerance framework for embedded applications). 2001, ISIDE project (Sistemi di elaborazione reattivi ed affidabili per applicazioni industriali) - Programmi di ricerca di rilevante interesse nazionale EOS project (Extensible Object Systems) -MIUR Programmi di ricerca di rilevante interesse nazionale. Professional activity member of SCS (The Society for Modeling and Simulation International) member of EUROSIS. Pubblicazioni: CAPRA L., CAZZOLA W (2008). Evolutionary design through reflective petri nets: An application to workflow. In: IASTED Software Engineering (SE 2008)acta press, ISBN/ISSN: ; BELLETTINI C, CAPRA L., MONGA M (2007). Using a stochastic well formed net model for assessing a decentralized approach to configuration management. PERFORMANCE EVALUATION, vol. 64; p , ISSN: CAPRA L. (2007). Algebraic techniques & symmetries: an efficient simulation approach for well-formed petri nets. European Simulation and Modelling. In: European Simulation and Modelling Conference (ESM'2007)EUROSIS-ETI, p , ISBN/ISSN: CAPRA L. (2007). Integrating symmetries and symbolic enabling test for efficient simulation of SWNs. In: EUROPEAN Conference on Modelling and Simulation (ECMS 2007)ECMS-SCS, ISBN/ISSN: CAPRA L., CAZZOLA W (2007). A reflective pn-based approach to dynamic workflow change. In: SYNASC '07: Proceedings of the 9th International Symposium on Symbolic and Numeric Algorithms for Scientific ComputingIEEE CS Press, ISBN/ISSN: CAPRA L., CAZZOLA W (2007). Self-evolving petri nets. JOURNAL OF UNIVERSAL COMPUTER SCIENCE, vol. 13; p , ISSN: CAPRA L. (2006). Algebraic framework for efficient simulation of stochastic coloured petri nets. In: SummerSim'06SCS, ISBN/ISSN: ISBN CAPRA L. (2006). Applying a symbolic approach for swn enabling test to workflow models. In: SYNASC '06: Proceedings of the 8th International Symposium on Symbolic and Numeric Algorithms for Scientific ComputingIEEE CS Press, p , ISBN/ISSN: X CAPRA L. (2006). Applying structural techniques for efficient analysis of complex swn models. In: Workshop on Discrete Event Systems (WODES'06IEEE CS Press, p , ISBN/ISSN: CAPRA L., DE PIERRO M, FRANCESCHINIS G (2005). A high level language for structural relations in well-formed nets. In: ICATPN 2005, 26th International Conference on Applications and Theory of Petri Nets, LNCSSPRINGER, vol. 3536, p MIUR - BANDO MODELLO B

Punto della Situazione. Dipartimento di Informatica e Comunicazione Università degli Studi di Milano e-mail: cazzola@dico.unimi.it

Punto della Situazione. Dipartimento di Informatica e Comunicazione Università degli Studi di Milano e-mail: cazzola@dico.unimi.it Punto della Situazione Dipartimento di Informatica e Comunicazione Università degli Studi di e-mail: cazzola@dico.unimi.it Slide 1 of 8 EOS-DUE: Informazioni Generali. L (responsabile), Lorenzo Capra e

Dettagli

Introduzione all ambiente di sviluppo

Introduzione all ambiente di sviluppo Laboratorio II Raffaella Brighi, a.a. 2005/06 Corso di Laboratorio II. A.A. 2006-07 CdL Operatore Informatico Giuridico. Introduzione all ambiente di sviluppo Raffaella Brighi, a.a. 2005/06 Corso di Laboratorio

Dettagli

4th International Conference in Software Engineering for Defence Applications SEDA 2015

4th International Conference in Software Engineering for Defence Applications SEDA 2015 me Ho CALL FOR PAPERS: 4th International Conference in Software Engineering for Defence Applications SEDA 2015 Software Engineering aims at modeling, managing and implementing software development products

Dettagli

ISAC. Company Profile

ISAC. Company Profile ISAC Company Profile ISAC, all that technology can do. L azienda ISAC nasce nel 1994, quando professionisti con una grande esperienza nel settore si uniscono, e creano un team di lavoro con l obiettivo

Dettagli

PRESENTAZIONE AZIENDALE ATTIVITA E SERVIZI TECNOLOGIE PERSONALE OBIETTIVI ESPERIENZE

PRESENTAZIONE AZIENDALE ATTIVITA E SERVIZI TECNOLOGIE PERSONALE OBIETTIVI ESPERIENZE PRESENTAZIONE AZIENDALE ABOUT US ATTIVITA E SERVIZI ACTIVITY AND SERVICES TECNOLOGIE TECHNOLOGIES PERSONALE TEAM OBIETTIVI OBJECTIVI ESPERIENZE PRESENTAZIONE AZIENDALE B&G s.r.l. è una società di progettazione

Dettagli

Metodologie di progettazione

Metodologie di progettazione Metodologie di progettazione 1 Metodologie di progettazione Una procedura per progettare un sistema Il flusso di progettazione può essere parzialmente o totalmente automatizzato. Un insieme di tool possono

Dettagli

Estendere Lean e Operational Excellence a tutta la Supply Chain

Estendere Lean e Operational Excellence a tutta la Supply Chain Estendere Lean e Operational Excellence a tutta la Supply Chain Prof. Alberto Portioli Staudacher www.lean-excellence.it Dipartimento Ing. Gestionale Politecnico di Milano alberto.portioli@polimi.it Lean

Dettagli

Manutenzione del software

Manutenzione del software del software Generalità Leggi dell evoluzione del software Classi di manutenzione Legacy systems Modelli di processo per la manutenzione 1 Generalità La manutenzione del software è il processo di modifica

Dettagli

Ingegneria del Software. Business Object Technology

Ingegneria del Software. Business Object Technology Ingegneria del Software Business Object Technology Premesse I sistemi informativi di qualsiasi organizzazione devono essere capaci di: gestire quantità di dati sempre crescenti fornire supporto a nuovi

Dettagli

Software Analysis and Testing (II) Lezione 1

Software Analysis and Testing (II) Lezione 1 Software Analysis and Testing (II) Lezione 1 Filippo Ricca ITC-Irst Istituto per la ricerca Scientifica e Tecnologica ricca@itc.it 11/10/2004 Software Analysis and Testing (II) 1 Legacy systems They were

Dettagli

Impresa e innovazione nel settore energetico europeo: il contributo della conoscenza alla creazione di valore Silvia Bruzzi

Impresa e innovazione nel settore energetico europeo: il contributo della conoscenza alla creazione di valore Silvia Bruzzi ÉTUDES - STUDIES Impresa e innovazione nel settore energetico europeo: il contributo della conoscenza alla creazione di valore Silvia Bruzzi Polo Interregionale di Eccellenza Jean Monnet - Pavia Jean Monnet

Dettagli

NORME E GUIDE TECNICHE PROGRAMMA DI LAVORO PER INCHIESTE PRELIMINARI TECHNICAL STANDARDS AND GUIDES PROGRAMME OF WORKS FOR PRELIMINAR ENQUIRY

NORME E GUIDE TECNICHE PROGRAMMA DI LAVORO PER INCHIESTE PRELIMINARI TECHNICAL STANDARDS AND GUIDES PROGRAMME OF WORKS FOR PRELIMINAR ENQUIRY NORME E GUIDE TECNICHE PROGRAMMA DI LAVORO PER INCHIESTE PRELIMINARI TECHNICAL STANDARDS AND GUIDES PROGRAMME OF WORKS FOR PRELIMINAR ENQUIRY Il presente documento viene diffuso attraverso il sito del

Dettagli

PIANO DI STUDI. Primo anno di corso

PIANO DI STUDI. Primo anno di corso PIANO DI STUDI Laurea in Economia, commercio internazionale e mercati finanziari (DM 270/04) L-33 Bachelor degree in Italian and in English (2 curricula in English) 1) CURRICULUM: Economia internazionale

Dettagli

Pubblicazioni COBIT 5

Pubblicazioni COBIT 5 Pubblicazioni COBIT 5 Marco Salvato CISA, CISM, CGEIT, CRISC, COBIT 5 Foundation, COBIT 5 Trainer 1 SPONSOR DELL EVENTO SPONSOR DI ISACA VENICE CHAPTER CON IL PATROCINIO DI 2 La famiglia COBIT 5 3 Aprile

Dettagli

Eco-REFITec: Seminary and Training course

Eco-REFITec: Seminary and Training course Eco-REFITec: Seminary and Training course About Eco-REFITec: Eco-REFITEC is a research project funded by the European Commission under the 7 th framework Program; that intends to support repair shipyards

Dettagli

up date basic medium plus UPDATE

up date basic medium plus UPDATE up date basic medium plus UPDATE Se si potesse racchiudere il senso del XXI secolo in una parola, questa sarebbe AGGIORNAMENTO, continuo, costante, veloce. Con UpDate abbiamo connesso questa parola all

Dettagli

Corsi di Laurea Magistrale/ Master Degree Programs

Corsi di Laurea Magistrale/ Master Degree Programs Corsi di Laurea Magistrale/ Master Degree Programs Studenti iscritti al I anno (immatricolati nell a.a. 2014-2015 / Students enrolled A. Y. 2014-2015) Piano di studi 17-27 Novembre 2014 (tramite web self-service)

Dettagli

ISO 9001:2015. Ing. Massimo Tuccoli. Genova, 27 Febbraio 2015

ISO 9001:2015. Ing. Massimo Tuccoli. Genova, 27 Febbraio 2015 ISO 9001:2015. Cosa cambia? Innovazioni e modifiche Ing. Massimo Tuccoli Genova, 27 Febbraio 2015 1 Il percorso di aggiornamento Le principali novità 2 1987 1994 2000 2008 2015 Dalla prima edizione all

Dettagli

Ingegneria del Software

Ingegneria del Software Università di Bergamo Facoltà di Ingegneria INGEGNERIA DEL SOFTWARE Paolo Salvaneschi A1_1 V2.2 Ingegneria del Software Il contesto industriale del software Il contenuto del documento è liberamente utilizzabile

Dettagli

We take care of your buildings

We take care of your buildings We take care of your buildings Che cos è il Building Management Il Building Management è una disciplina di derivazione anglosassone, che individua un edificio come un entità che necessita di un insieme

Dettagli

Learning session: costruiamo insieme un modello per una campagna di marketing

Learning session: costruiamo insieme un modello per una campagna di marketing Learning session: costruiamo insieme un modello per una campagna di marketing Roberto Butinar Cristiano Dal Farra Danilo Selva 1 Agenda Panoramica sulla metodologia CRISP-DM (CRoss-Industry Standard Process

Dettagli

F ondazione Diritti Genetici. Biotecnologie tra scienza e società

F ondazione Diritti Genetici. Biotecnologie tra scienza e società F ondazione Diritti Genetici Biotecnologie tra scienza e società Fondazione Diritti Genetici La Fondazione Diritti Genetici è un organismo di ricerca e comunicazione sulle biotecnologie. Nata nel 2007

Dettagli

Curriculum Vitae di Andrea Ribichini

Curriculum Vitae di Andrea Ribichini Dati Anagrafici Nome: Andrea Cognome: Ribichini Data e luogo di nascita: 14/01/1973, Roma Cittadinanza: italiana Titoli di Studio Conseguiti 29/02/2008 Titolo di Dottore di Ricerca in Ingegneria Informatica

Dettagli

ATTESTATO DELL ATTIVITÀ DI VOLONTARIATO CERTIFICATE OF VOLUNTARY ACTIVITIES

ATTESTATO DELL ATTIVITÀ DI VOLONTARIATO CERTIFICATE OF VOLUNTARY ACTIVITIES ASSOCIAZIONE CONSORTI DIPENDENTI MINISTERO AFFARI ESTERI ATTESTATO DELL ATTIVITÀ DI VOLONTARIATO CERTIFICATE OF VOLUNTARY ACTIVITIES ASSOCIAZIONE CONSORT I DIPENDENTI MINISTE RO AFFARI ESTER I ATTESTATO

Dettagli

Controllo delle Vibrazioni mediante l uso di PAC (Programmable Automation Controller)

Controllo delle Vibrazioni mediante l uso di PAC (Programmable Automation Controller) Unione Europea Università degli studi di Salerno Dipartimento di Ingegneria Industriale Dottorato di Ricerca in Ingegneria Meccanica X Ciclo N.S. (2008-2011) Controllo delle Vibrazioni mediante l uso di

Dettagli

English-Medium Instruction: un indagine

English-Medium Instruction: un indagine English-Medium Instruction: un indagine Marta Guarda Dipartimento di Studi Linguistici e Letterari (DiSLL) Un indagine su EMI presso Unipd Indagine spedita a tutti i docenti dell università nella fase

Dettagli

Ingegneria del Software Testing. Corso di Ingegneria del Software Anno Accademico 2012/2013

Ingegneria del Software Testing. Corso di Ingegneria del Software Anno Accademico 2012/2013 Ingegneria del Software Testing Corso di Ingegneria del Software Anno Accademico 2012/2013 1 Definizione IEEE Software testing is the process of analyzing a software item to detect the differences between

Dettagli

brand implementation

brand implementation brand implementation brand implementation Underline expertise in reliable project management reflects the skills of its personnel. We know how to accomplish projects at an international level and these

Dettagli

User Guide Guglielmo SmartClient

User Guide Guglielmo SmartClient User Guide Guglielmo SmartClient User Guide - Guglielmo SmartClient Version: 1.0 Guglielmo All rights reserved. All trademarks and logos referenced herein belong to their respective companies. -2- 1. Introduction

Dettagli

GstarCAD 2010 Features

GstarCAD 2010 Features GstarCAD 2010 Features Unrivaled Compatibility with AutoCAD-Without data loss&re-learning cost Support AutoCAD R2.5~2010 GstarCAD 2010 uses the latest ODA library and can open AutoCAD R2.5~2010 DWG file.

Dettagli

Progetto per un paesaggio sostenibile. Design of a Sustainable Landscape Plan

Progetto per un paesaggio sostenibile. Design of a Sustainable Landscape Plan Progetto per un paesaggio sostenibile dal parco Roncajette ad Agripolis Design of a Sustainable Landscape Plan from the Roncajette park to Agripolis Comune di Padova Zona Industriale Padova Harvard Design

Dettagli

Dry clutch for automated manual transmissions. University of Salerno Department of Industrial Engineering. Mechanical Engineering

Dry clutch for automated manual transmissions. University of Salerno Department of Industrial Engineering. Mechanical Engineering European Union University of Salerno University of Salerno Department of Industrial Engineering Ph.D. Thesis in Mechanical Engineering Cycle XII (2011-2013) Dry clutch for automated manual transmissions

Dettagli

Solutions in motion.

Solutions in motion. Solutions in motion. Solutions in motion. SIPRO SIPRO presente sul mercato da quasi trent anni si colloca quale leader italiano nella progettazione e produzione di soluzioni per il motion control. Porsi

Dettagli

Participatory Budgeting in Regione Lazio

Participatory Budgeting in Regione Lazio Participatory Budgeting in Regione Lazio Participation The Government of Regione Lazio believes that the Participatory Budgeting it is not just an exercise to share information with local communities and

Dettagli

Paolo Perlasca. Università degli Studi di Milano December 2002 present

Paolo Perlasca. Università degli Studi di Milano December 2002 present Paolo Perlasca Dipartimento di Informatica, Address: via Comelico 39/41, 20135 Milano Phone: 02-503-16322 Email: paolo.perlasca@unimi.it Paolo Perlasca is assistant professor at the Computer Science Department

Dettagli

13-03-2013. Introduzione al Semantic Web Linguaggi per la rappresentazione di ontologie. L idea del Semantic Web.

13-03-2013. Introduzione al Semantic Web Linguaggi per la rappresentazione di ontologie. L idea del Semantic Web. Corso di Ontologie e Semantic Web Linguaggi per la rappresentazione di ontologie Prof. Alfio Ferrara, Prof. Stefano Montanelli Definizioni di Semantic Web Rilievi critici Un esempio Tecnologie e linguaggi

Dettagli

Paolo Perlasca. Istruzione e formazione. Esperienza professionale. Attività di ricerca. Attività didattica

Paolo Perlasca. Istruzione e formazione. Esperienza professionale. Attività di ricerca. Attività didattica Paolo Perlasca Dipartimento di Informatica, Indirizzo: via Comelico 39/41, 20135 Milano Telefono: 02-503-16322 Email: paolo.perlasca@unimi.it Paolo Perlasca è ricercatore universitario confermato presso

Dettagli

Agenda. IT Governance e SOA. Strumenti di supporto alla governance. Vittoria Caranna vcaranna@imolinfo.it Marco Cimatti mcimatti@imolinfo.

Agenda. IT Governance e SOA. Strumenti di supporto alla governance. Vittoria Caranna vcaranna@imolinfo.it Marco Cimatti mcimatti@imolinfo. SOA Governance Vittoria Caranna vcaranna@imolinfo.it Marco Cimatti mcimatti@imolinfo.it Agenda IT Governance e SOA Strumenti di supporto alla governance 2 Importanza della Governance Service Oriented Architecture

Dettagli

Customer satisfaction and the development of commercial services

Customer satisfaction and the development of commercial services Customer satisfaction and the development of commercial services Survey 2014 Federica Crudeli San Donato Milanese, 27 May 2014 snamretegas.it Shippers day Snam Rete Gas meets the market 2 Agenda Customer

Dettagli

Implementazione e gestione del transitorio nell introduzione di un sistema ERP: il caso Power-One - Oracle

Implementazione e gestione del transitorio nell introduzione di un sistema ERP: il caso Power-One - Oracle FACOLTÀ DI INGEGNERIA RELAZIONE PER IL CONSEGUIMENTO DELLA LAUREA SPECIALISTICA IN INGEGNERIA GESTIONALE Implementazione e gestione del transitorio nell introduzione di un sistema ERP: il caso Power-One

Dettagli

Informatica: Evoluzione dei Linguaggi di Specifica e Programmazione. Informatica: Evoluzione dei Linguaggi di Specifica e Programmazione

Informatica: Evoluzione dei Linguaggi di Specifica e Programmazione. Informatica: Evoluzione dei Linguaggi di Specifica e Programmazione Informatica: Evoluzione dei Linguaggi di Specifica e Programmazione Ugo Montanari Dipartimento di Informatica, Università di Pisa 0 Roadmap Perchè i linguaggi? Che cosa sono i linguaggi? Esempio: i numeri

Dettagli

Approcci agili per affrontare la sfida della complessità

Approcci agili per affrontare la sfida della complessità Approcci agili per affrontare la sfida della complessità Firenze, 6 marzo 2013 Consiglio Regionale della Toscana Evento organizzato dal Branch Toscana-Umbria del PMI NIC Walter Ginevri, PMP, PgMP, PMI-ACP

Dettagli

Ingegneria del Software

Ingegneria del Software Ingegneria del Software Processi di Sviluppo Agile Origini dello Sviluppo Agile Proposta di un gruppo di sviluppatori che rilevava una serie di criticità degli approcci convenzionali: Troppa rigidità dei

Dettagli

Labss CNR Edulabss: Didattica e

Labss CNR Edulabss: Didattica e EduLabss Responsabile contenuti/formazione Federico CECCONI EduLabss c/o LABSS ISTC Cnr Via Palestro 32 00185 Roma Tel +39.06.49936410 email: info@edulabss.com Labss CNR Edulabss: Didattica e divulgazione

Dettagli

Sponsorship opportunities

Sponsorship opportunities The success of the previous two European Workshops on Focused Ultrasound Therapy, has led us to organize a third conference which will take place in London, October 15-16, 2015. The congress will take

Dettagli

SCHEDA PROGRAMMA INSEGNAMENTI A.A. 2012/2013

SCHEDA PROGRAMMA INSEGNAMENTI A.A. 2012/2013 SCHEDA PROGRAMMA INSEGNAMENTI A.A. 2012/2013 CORSO DI LAUREA IN Beni Culturali Insegnamento: Applicazioni informatiche all archeologia Docente Giuliano De Felice S.S.D. dell insegnamento L-ANT/10 Anno

Dettagli

Essere, Divenire, Comprendere, Progredire. Being, Becoming, Understanding, Progressing

Essere, Divenire, Comprendere, Progredire. Being, Becoming, Understanding, Progressing Essere, Divenire, Comprendere, Progredire Being, Becoming, Understanding, Progressing Liceo Classico Liceo linguistico Liceo delle scienze umane Human Sciences Foreign Languages Life Science Our contacts:

Dettagli

Java. Traditional portability (ideal)

Java. Traditional portability (ideal) 1 Java JAVA: una introduzione 2 Traditional portability (ideal) C-code (Linux) (Pentium) Executable (Linux) Executable (Win32) Linux Windows 32 (Mac) Executable (Mac) Mac 1 1 3 Portability of Java programs

Dettagli

A Solar Energy Storage Pilot Power Plant

A Solar Energy Storage Pilot Power Plant UNIONE DELLA A Solar Energy Storage Pilot Power Plant DELLA Project Main Goal Implement an open pilot plant devoted to make Concentrated Solar Energy both a programmable energy source and a distribution

Dettagli

PROGETTO DI RICERCA - MODELLO A Anno 2009

PROGETTO DI RICERCA - MODELLO A Anno 2009 MINISTERO DELL'ISTRUZIONE DELL'UNIVERSITÀ E DELLA RICERCA DIREZIONE GENERALE DELLA RICERCA PROGRAMMI DI RICERCA SCIENTIFICA DI RILEVANTE INTERESSE NAZIONALE RICHIESTA DI COFINANZIAMENTO PROGETTO DI RICERCA

Dettagli

Prova finale di Ingegneria del software

Prova finale di Ingegneria del software Prova finale di Ingegneria del software Scaglione: Prof. San Pietro Andrea Romanoni: Francesco Visin: andrea.romanoni@polimi.it francesco.visin@polimi.it Italiano 2 Scaglioni di voto Scaglioni di voto

Dettagli

Workflow nella pubblica amministrazione: BPR e simulazione dei workflow inter-organizzativi

Workflow nella pubblica amministrazione: BPR e simulazione dei workflow inter-organizzativi Workflow nella pubblica amministrazione: BPR e simulazione dei workflow inter-organizzativi E.Casalicchio, S.Tucci Corso di Governo Digitale, a.a. 10/11 1 Obiettivi re-ingegnerizzazione dei processi (BPR)

Dettagli

Data Alignment and (Geo)Referencing (sometimes Registration process)

Data Alignment and (Geo)Referencing (sometimes Registration process) Data Alignment and (Geo)Referencing (sometimes Registration process) All data aquired from a scan position are refered to an intrinsic reference system (even if more than one scan has been performed) Data

Dettagli

ABSTRACT. In informatica, con il termine cloud computing, in italiano nube informatica,

ABSTRACT. In informatica, con il termine cloud computing, in italiano nube informatica, ABSTRACT In informatica, con il termine cloud computing, in italiano nube informatica, si sule indicare una complessa gamma di tecnologie che permettono, tipicamente sotto forma di un servizio offerto

Dettagli

LA SIMULAZIONE NUMERICA COME STRUMENTO DI ANALISI DEL MOTO ONDOSO SULLE BARRIERE SOFFOLTE

LA SIMULAZIONE NUMERICA COME STRUMENTO DI ANALISI DEL MOTO ONDOSO SULLE BARRIERE SOFFOLTE DOTTORATO DI RICERCA IN INGEGNERIA CIVILE PER L AMBIENTE ED IL TERRITORIO X Ciclo - Nuova Serie (2008-2011) DIPARTIMENTO DI INGEGNERIA CIVILE, UNIVERSITÀ DEGLI STUDI DI SALERNO LA SIMULAZIONE NUMERICA

Dettagli

1. L Ingegneria del Software

1. L Ingegneria del Software 1. L Ingegneria del Software Obiettivi della lezione: Definire cosa si intende per Ingegneria del Software Discutere i concetti di prodotto software e di processo software Spiegare il concetto di visibilità

Dettagli

Famiglie di tabelle fatti

Famiglie di tabelle fatti aprile 2012 1 Finora ci siamo concentrati soprattutto sulla costruzione di semplici schemi dimensionali costituiti da una singola tabella fatti circondata da un insieme di tabelle dimensione In realtà,

Dettagli

Stato risorse di calcolo CDF in Italia

Stato risorse di calcolo CDF in Italia Stato risorse di calcolo CDF in Italia - August 31, 2011 S. Amerio (INFN Padova) Stato risorse a Fermilab Portale CDFGRID per accedere alle risorse di calcolo locali a Fermilab. Job in corso 5k CDFGRID

Dettagli

Testi del Syllabus. Docente ARFINI FILIPPO Matricola: 004535. Insegnamento: 1004423 - ECONOMIA DEI NETWORK AGROALIMENTARI. Anno regolamento: 2012 CFU:

Testi del Syllabus. Docente ARFINI FILIPPO Matricola: 004535. Insegnamento: 1004423 - ECONOMIA DEI NETWORK AGROALIMENTARI. Anno regolamento: 2012 CFU: Testi del Syllabus Docente ARFINI FILIPPO Matricola: 004535 Anno offerta: 2014/2015 Insegnamento: 1004423 - ECONOMIA DEI NETWORK AGROALIMENTARI Corso di studio: 3004 - ECONOMIA E MANAGEMENT Anno regolamento:

Dettagli

ELTeach. Ottmizza lia preparazione pedagogica dei docenti all insegnamento dell inglese in inglese

ELTeach. Ottmizza lia preparazione pedagogica dei docenti all insegnamento dell inglese in inglese ELTeach Ottmizza lia preparazione pedagogica dei docenti all insegnamento dell inglese in inglese Porta a risultati quantificabili e genera dati non ricavabili dalle sessioni di formazione faccia a faccia

Dettagli

Gruppo di lavoro 1 Metadati e RNDT. Incontro del 22 luglio 2014

Gruppo di lavoro 1 Metadati e RNDT. Incontro del 22 luglio 2014 Gruppo di lavoro 1 Metadati e RNDT Incontro del 1 Piano di lavoro 1. Condivisione nuova versione guide operative RNDT 2. Revisione regole tecniche RNDT (allegati 1 e 2 del Decreto 10 novembre 2011) a)

Dettagli

Modeling and Tracking Social Walkers

Modeling and Tracking Social Walkers Diss. ETH No. 20340 Modeling and Tracking Social Walkers A dissertation submitted to the ETH ZURICH for the degree of Doctor of Science ETH presented by Stefano Pellegrini M.Eng. Sapienza University of

Dettagli

Luca Milan http://fewbit.com info@fewbit.com

Luca Milan http://fewbit.com info@fewbit.com Luca Milan http://fewbit.com info@fewbit.com At its worst business logic can be very complex. Rules and logic describe many different cases and slants of behavior, and it s this complexity that objects

Dettagli

COMUNICATO STAMPA. Conversano, 10 luglio 2014. Prosegue Windows of the World, la rubrica di Master ideata per

COMUNICATO STAMPA. Conversano, 10 luglio 2014. Prosegue Windows of the World, la rubrica di Master ideata per COMUNICATO STAMPA Conversano, 10 luglio 2014 Dott. Pietro D Onghia Ufficio Stampa Master m. 328 4259547 t 080 4959823 f 080 4959030 www.masteritaly.com ufficiostampa@masteritaly.com Master s.r.l. Master

Dettagli

GESTIONE IMMOBILIARE REAL ESTATE

GESTIONE IMMOBILIARE REAL ESTATE CONOSCENZA Il Gruppo SCAI ha maturato una lunga esperienza nell ambito della gestione immobiliare. Il know-how acquisito nei differenti segmenti di mercato, ci ha permesso di diventare un riferimento importante

Dettagli

Service Oriented Architectures

Service Oriented Architectures Service Oriented Architectures Introduction to SOA Fulvio Corno Dipartimento di Automatica e Informatica Politecnico di Torino 1 Definition Service Oriented Architecture A paradigm for organizing and utilizing

Dettagli

Testi del Syllabus. Docente ZANGRANDI ANTONELLO Matricola: 004565. Insegnamento: 1004508 - ECONOMIA DELLE AZIENDE NON PROFIT

Testi del Syllabus. Docente ZANGRANDI ANTONELLO Matricola: 004565. Insegnamento: 1004508 - ECONOMIA DELLE AZIENDE NON PROFIT Testi del Syllabus Docente ZANGRANDI ANTONELLO Matricola: 004565 Anno offerta: 2013/2014 Insegnamento: 1004508 - ECONOMIA DELLE AZIENDE NON PROFIT Corso di studio: 5003 - AMMINISTRAZIONE E DIREZIONE AZIENDALE

Dettagli

Progettazione del Software. www.vincenzocalabro.it

Progettazione del Software. www.vincenzocalabro.it Progettazione del Software 1 Progettazione del Software Software Design = derivare soluzioni che soddisfino il documento dei requisiti Fasi del processo di progettazione Strategie di progettazione: approccio

Dettagli

Comunicazione educativa Specifiche economiche

Comunicazione educativa Specifiche economiche Comunicazione educativa Specifiche economiche Specifiche economiche deliberate per il dottorato Ateneo Dip. Esterne Giovani Riserva Tassa Sovran. 5 1 0 0 1 2 2 Assegnazione per il curriculum 2 1 0 0 1

Dettagli

CORSO DI LAUREA MAGISTRALE IN MEDICINA E CHIRURGIA INSEGNAMENTO: LINGUA INGLESE / INGLESE SCIENTIFICO (A.A. 2012-2013) 7 CFU

CORSO DI LAUREA MAGISTRALE IN MEDICINA E CHIRURGIA INSEGNAMENTO: LINGUA INGLESE / INGLESE SCIENTIFICO (A.A. 2012-2013) 7 CFU UNIVERSITÀ DEGLI STUDI DI CATANIA DIPARTIMENTO DI CHIRURGIA CORSO DI LAUREA MAGISTRALE IN MEDICINA E CHIRURGIA INSEGNAMENTO: LINGUA INGLESE / INGLESE SCIENTIFICO (A.A. 2012-2013) 7 CFU OBIETTIVI DEL CORSO

Dettagli

Testi del Syllabus. Docente CONTE GIANNI Matricola: 004116. Insegnamento: 05973 - SISTEMI INFORMATIVI. Anno regolamento: 2013 CFU:

Testi del Syllabus. Docente CONTE GIANNI Matricola: 004116. Insegnamento: 05973 - SISTEMI INFORMATIVI. Anno regolamento: 2013 CFU: Testi del Syllabus Docente CONTE GIANNI Matricola: 004116 Anno offerta: 2013/2014 Insegnamento: 05973 - SISTEMI INFORMATIVI Corso di studio: 5015 - INGEGNERIA INFORMATICA Anno regolamento: 2013 CFU: 9

Dettagli

La fase di progetto. UniRoma2 - Ingegneria del Software 1 1

La fase di progetto. UniRoma2 - Ingegneria del Software 1 1 La fase di progetto Fase in cui si decidono le modalità di passaggio da "che cosa" deve essere realizzato nel sistema software a "come" la realizzazione deve aver luogo La fase di progetto prende in input

Dettagli

THINKING DIGITAL SYNCHRONIZING WITH THE FUTURE PENSIERO DIGITALE: SINCRONIZZARSI COL FUTURO

THINKING DIGITAL SYNCHRONIZING WITH THE FUTURE PENSIERO DIGITALE: SINCRONIZZARSI COL FUTURO THINKING DIGITAL SYNCHRONIZING WITH THE FUTURE PENSIERO DIGITALE: SINCRONIZZARSI COL FUTURO A STEP FORWARD IN THE EVOLUTION Projecta Engineering developed in Sassuolo, in constant contact with the most

Dettagli

PROGETTO parte di Programma Strategico

PROGETTO parte di Programma Strategico ALLEGATO B1 PROGETTO parte di Programma Strategico FORM 1 FORM 1 General information about the project INSTITUTION PRESENTING THE STRATEGIC PROGRAM (DESTINATARIO ISTITUZIONALE PROPONENTE): TITLE OF THE

Dettagli

UNIVERSITÀ DEGLI STUDI DI TORINO. Instructions to apply for exams ONLINE Version 01 updated on 17/11/2014

UNIVERSITÀ DEGLI STUDI DI TORINO. Instructions to apply for exams ONLINE Version 01 updated on 17/11/2014 Instructions to apply for exams ONLINE Version 01 updated on 17/11/2014 Didactic offer Incoming students 2014/2015 can take exams of courses scheduled in the a.y. 2014/2015 and offered by the Department

Dettagli

The Zachman Framework for Enterprise Architecture

The Zachman Framework for Enterprise Architecture The Zachman Framework for Enterprise Architecture Introduzione Una delle sfide più importanti che un impresa moderna deve affrontare è quella del cambiamento. Considerando la necessità di cambiamento dal

Dettagli

Il Consortium Agreement

Il Consortium Agreement Il Consortium Agreement AGENDA Il CA in generale La govenance Legal and Financial IPR Cos è il CA? Il CA è un accordo siglato fra i partecipanti ad un azione indiretta (ad es. un progetto) finanziata nell

Dettagli

Sezione 1 / Section 1. Elementi d identità: il marchio Elements of identity: the logo

Sezione 1 / Section 1. Elementi d identità: il marchio Elements of identity: the logo Sezione 1 / Section 1 2 Elementi d identità: il marchio Elements of identity: the logo Elements of identity: the logo Indice 2.01 Elementi d identità 2.02 Versioni declinabili 2.03 Versioni A e A1, a colori

Dettagli

UN IMMAGINE MIGLIORE PER CRESCERE MEGLIO BRAND DESIGN PACKAGING CORPORATE IDENTITY ADV STILL LIFE

UN IMMAGINE MIGLIORE PER CRESCERE MEGLIO BRAND DESIGN PACKAGING CORPORATE IDENTITY ADV STILL LIFE UN IMMAGINE MIGLIORE PER CRESCERE MEGLIO BRAND DESIGN PACKAGING CORPORATE IDENTITY ADV STILL LIFE Caminiti Graphic è un team di professionisti specializzati in progetti di Brand Design, Packaging, ADV,

Dettagli

Valentina Poggioni Curriculum Vitae

Valentina Poggioni Curriculum Vitae Valentina Poggioni Curriculum Vitae Dati Anagrafici Nome e Cognome: Valentina Poggioni Luogo e Data di Nascita: Umbertide (PG), 12/07/1976 Residenza: Umbertide (PG), Via Kennedy 7, Cap.06019 Codice Fiscale:

Dettagli

Introduzione a Matlab

Introduzione a Matlab Introduzione a Matlab Ruggero Donida Labati Dipartimento di Tecnologie dell Informazione via Bramante 65, 26013 Crema (CR), Italy ruggero.donida@unimi.it Perché? MATLAB is a high-level technical computing

Dettagli

Introduzione ai Web Services Alberto Polzonetti

Introduzione ai Web Services Alberto Polzonetti PROGRAMMAZIONE di RETE A.A. 2003-2004 Corso di laurea in INFORMATICA Introduzione ai Web Services alberto.polzonetti@unicam.it Introduzione al problema della comunicazione fra applicazioni 2 1 Il Problema

Dettagli

INTRODUZIONE ALLA PROGETTAZIONE EUROPEA: INDICAZIONI PRATICHE E ASPETTI ORGANIZZATIVI

INTRODUZIONE ALLA PROGETTAZIONE EUROPEA: INDICAZIONI PRATICHE E ASPETTI ORGANIZZATIVI INTRODUZIONE ALLA PROGETTAZIONE EUROPEA: INDICAZIONI PRATICHE E ASPETTI ORGANIZZATIVI Chiara Zanolla L importanza di una buona progettazione Aumento fondi FP7 Allargamento Europa Tecniche di progettazione

Dettagli

SOA e Web Service SISTEMI INFORMATIVI MODULO II. Corso di Sistemi Informativi Modulo II A. A. 2013-2014

SOA e Web Service SISTEMI INFORMATIVI MODULO II. Corso di Sistemi Informativi Modulo II A. A. 2013-2014 Corso di Laurea Magistrale in Ingegneria Gestionale Corso di Sistemi Informativi Modulo II A. A. 2013-2014 SISTEMI INFORMATIVI MODULO II SOA e Web Service Figure tratte dal testo di riferimento, Copyright

Dettagli

Il Progetto ECCE Un esperienza locale ed europea tra Università e Impresa

Il Progetto ECCE Un esperienza locale ed europea tra Università e Impresa Il Progetto ECCE Un esperienza locale ed europea tra Università e Impresa Giornata Erasmus 2011 Monitoraggio del rapporto Università e Impresa Roma, 17 febbraio 2011 This project has been funded with support

Dettagli

Comunicazione ex artt. 23/24 del Provvedimento Banca d Italia/Consob del 22 febbraio 2008 modificato il 24 dicembre 2010

Comunicazione ex artt. 23/24 del Provvedimento Banca d Italia/Consob del 22 febbraio 2008 modificato il 24 dicembre 2010 Allegato B1 Comunicazione ex artt. 23/24 del Provvedimento Banca d Italia/Consob del 22 febbraio 2008 modificato il 24 dicembre 2010 1. Intermediario che effettua la comunicazione ABI 03239 CAB 1601 INTESA

Dettagli

The Best Practices Book Version: 2.5

The Best Practices Book Version: 2.5 The Best Practices Book Version: 2.5 The Best Practices Book (2.5) This work is licensed under the Attribution-Share Alike 3.0 Unported license (http://creativecommons.org/ licenses/by-sa/3.0/). You are

Dettagli

Easter 2008 Gallery Benucci Rome. October 2008 Taormina Chiesa del Carmine, group picture and Gallery Benucci. December 2008 Benucci Gallery, Rome.

Easter 2008 Gallery Benucci Rome. October 2008 Taormina Chiesa del Carmine, group picture and Gallery Benucci. December 2008 Benucci Gallery, Rome. Nino Ucchino nasce in Sicilia nel 1952. Dall età di otto anni lavora come allievo nello studio del pittore Silvio Timpanaro. Da 14 a 21 anni studia all Istituto Statale d arte di Messina e poi per alcuni

Dettagli

A dissertation submitted to ETH ZURICH. for the degree of Doctor of Sciences. presented by DAVIDE MERCURIO

A dissertation submitted to ETH ZURICH. for the degree of Doctor of Sciences. presented by DAVIDE MERCURIO DISS. ETH NO. 19321 DISCRETE DYNAMIC EVENT TREE MODELING AND ANALYSIS OF NUCLEAR POWER PLANT CREWS FOR SAFETY ASSESSMENT A dissertation submitted to ETH ZURICH for the degree of Doctor of Sciences presented

Dettagli

Per il progetto MESA 2015 andremo ad utilizzare Unity3D per la creazione di alcuni exergame da utilizzar ein ambito riabilitativo.

Per il progetto MESA 2015 andremo ad utilizzare Unity3D per la creazione di alcuni exergame da utilizzar ein ambito riabilitativo. STATE MACHINE Per il progetto MESA 2015 andremo ad utilizzare Unity3D per la creazione di alcuni exergame da utilizzar ein ambito riabilitativo. Per poter gestire in modo efficiente lo sviluppo di vari

Dettagli

Comunicato Stampa. Press Release

Comunicato Stampa. Press Release Comunicato Stampa Come previsto dal Capitolo XII, Paragrafo 12.4 del Prospetto Informativo Parmalat S.p.A. depositato presso la Consob in data 27 maggio 2005 a seguito di comunicazione dell avvenuto rilascio

Dettagli

MS SQL SERVER 2005 - UPGRADING TO MICROSOFT SQL SERVER 2005

MS SQL SERVER 2005 - UPGRADING TO MICROSOFT SQL SERVER 2005 MS SQL SERVER 2005 - UPGRADING TO MICROSOFT SQL SERVER 2005 UN BUON MOTIVO PER [cod. E316] Lo scopo di questo corso non MOC è fornire ai database professionals che lavorano in realtà di tipo enterprise

Dettagli

TAVOLO DEGLI ENTI LOCALI PER IL CLIMA

TAVOLO DEGLI ENTI LOCALI PER IL CLIMA TAVOLO DEGLI ENTI LOCALI PER IL CLIMA 22 novembre VERSO LA STRATEGIA NAZIONALE DI ADATTAMENTO Responsabilità di Governo e competenze dei territori Sala Palazzo Bologna Senato della Repubblica Via di S.

Dettagli

Can virtual reality help losing weight?

Can virtual reality help losing weight? Can virtual reality help losing weight? Can an avatar in a virtual environment contribute to weight loss in the real world? Virtual reality is a powerful computer simulation of real situations in which

Dettagli

THETIS Water Management System for Settignano acqueduct (Firenze, Italy) Water Management System for Settignano aqueduct (Firenze, Italy)

THETIS Water Management System for Settignano acqueduct (Firenze, Italy) Water Management System for Settignano aqueduct (Firenze, Italy) THETIS for Settignano aqueduct (Firenze, Italy) YEAR: 2003 CUSTOMERS: S.E.I.C. Srl developed the Water Monitoring System for the distribution network of Settignano Municipality Aqueduct. THE PROJECT Il

Dettagli

INDUSTRIAL AUTOMATION

INDUSTRIAL AUTOMATION INDUSTRIAL AUTOMATION INDUSTRIAL AUTOMATION PRELIMINARY VERIFICATION DESIGN CONSTRUCTION INSTALLATIONS START SYSTEM INDUSTRIAL AUTOMATION Gli impianti industriali di produzione sono completati da apparecchiature

Dettagli

LAUREA MAGISTRALE IN COMUNICAZIONE MULTIMEDIALE

LAUREA MAGISTRALE IN COMUNICAZIONE MULTIMEDIALE LAUREA MAGISTRALE IN COMUNICAZIONE MULTIMEDIALE CLASSE LM-19 INFORMAZIONE E SISTEMI EDITORIALI > A PORDENONE Curriculum Teorie e tecniche per la comunicazione multimediale Pervasive computing and media

Dettagli

Apprendimento Automatico

Apprendimento Automatico Metodologie per Sistemi Intelligenti Apprendimento Automatico Prof. Pier Luca Lanzi Laurea in Ingegneria Informatica Politecnico di Milano Polo regionale di Como Intelligenza Artificiale "making a machine

Dettagli

Politecnico di Torino. PRAISE & CABLE projects interaction

Politecnico di Torino. PRAISE & CABLE projects interaction PRAISE & CABLE projects interaction The projects PRAISE: Peer Review Network Applying Intelligence to Social Work Education Socrates-MINERVA project October 2003 - September 2005 (24 months) CABLE: Case-Based

Dettagli

Introduzione Kerberos. Orazio Battaglia

Introduzione Kerberos. Orazio Battaglia Orazio Battaglia Il protocollo Kerberos è stato sviluppato dal MIT (Massachusetts Institute of Tecnology) Iniziato a sviluppare negli anni 80 è stato rilasciato come Open Source nel 1987 ed è diventato

Dettagli