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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

API e socket per lo sviluppo di applicazioni Web Based

API e socket per lo sviluppo di applicazioni Web Based API e socket per lo sviluppo di applicazioni Web Based Cosa sono le API? Consideriamo il problema di un programmatore che voglia sviluppare un applicativo che faccia uso dei servizi messi a disposizione

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

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

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

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

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

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

ANNARITA: Il database Object Relational dell Anagrafe Nazionale delle Ricerche

ANNARITA: Il database Object Relational dell Anagrafe Nazionale delle Ricerche ANNARITA: Il database Object Relational dell Anagrafe Nazionale delle Ricerche Alex Manzo CILEA, Roma Abstract Nell ottica di un potenziamento e arricchimento dei dati dell Anagrafe Nazionale delle Ricerche

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

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

Ingegneria del Software

Ingegneria del Software Università di Bergamo Facoltà di Ingegneria INGEGNERIA DEL SOFTWARE Paolo Salvaneschi A1_3 V2.4 Ingegneria del Software Il corpus di conoscenze Il contenuto del documento è liberamente utilizzabile dagli

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

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

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

Corsi di Laurea in Scienze e Tecnologie Informatiche

Corsi di Laurea in Scienze e Tecnologie Informatiche Corsi di Laurea in Scienze e Tecnologie Informatiche Carla Piazza Facoltà di Scienze Matematiche Fisiche e Naturali Università degli Studi di Udine www.dimi.uniud.it/piazza/salone_studente_2012.pdf Corsi

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

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

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

Professore Ordinario di Analisi Numerica presso il Dipartimento di Matematica e Informatica dell'università di Parma -Laureato in Matematica nel 1972

Professore Ordinario di Analisi Numerica presso il Dipartimento di Matematica e Informatica dell'università di Parma -Laureato in Matematica nel 1972 Professore Ordinario di Analisi Numerica presso il Dipartimento di Matematica e Informatica dell'università di Parma -Laureato in Matematica nel 1972 (Università di Parma) -1972-74 Borsista C.N.R. Istituto

Dettagli

Terzo modulo 2 dicembre 2010 Il progetto èconcluso Valutazione

Terzo modulo 2 dicembre 2010 Il progetto èconcluso Valutazione CORSO DI FORMAZIONE REGIONALE cosa stai cercando? riflessioni sulla ricerca sanitaria dall idea all application: come descrivere un progetto di ricerca e chiedere un finanziamento Regione Liguria Terzo

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

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

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

Posta elettronica per gli studenti Email for the students

Posta elettronica per gli studenti Email for the students http://www.uninettunouniverstiy.net Posta elettronica per gli studenti Email for the students Ver. 1.0 Ultimo aggiornamento (last update): 10/09/2008 13.47 Informazioni sul Documento / Information on the

Dettagli

LEZIONE 11 - Design Antipatterns

LEZIONE 11 - Design Antipatterns Laboratorio di Ingegneria del Software a.a. 2013-2014 LEZIONE 11 - Design Antipatterns Catia Trubiani Gran Sasso Science Institute(GSSI), L Aquila catia.trubiani@gssi.infn.it Indice - Contesto: cos è un

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

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

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

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

Sistema modulare per visualizzazione prezzi carburanti.

Sistema modulare per visualizzazione prezzi carburanti. Sistema modulare per visualizzazione prezzi carburanti. La gamma NAUTILUS, nata dall esperienza maturata dalla nostra azienda in oltre 36 anni di attività nella progettazione e produzione di sistemi di

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

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

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

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

LA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO TESTAMENTO VERSIONE RIVEDUTA BY GIOVANNI LUZZI

LA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO TESTAMENTO VERSIONE RIVEDUTA BY GIOVANNI LUZZI Read Online and Download Ebook LA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO TESTAMENTO VERSIONE RIVEDUTA BY GIOVANNI LUZZI DOWNLOAD EBOOK : LA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO Click link bellow and

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

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

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

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

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

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

Guida all installazione del prodotto 4600 in configurazione plip

Guida all installazione del prodotto 4600 in configurazione plip Guida all installazione del prodotto 4600 in configurazione plip Premessa Questo prodotto è stato pensato e progettato, per poter essere installato, sia sulle vetture provviste di piattaforma CAN che su

Dettagli

LA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO TESTAMENTO VERSIONE RIVEDUTA BY GIOVANNI LUZZI

LA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO TESTAMENTO VERSIONE RIVEDUTA BY GIOVANNI LUZZI Read Online and Download Ebook LA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO TESTAMENTO VERSIONE RIVEDUTA BY GIOVANNI LUZZI DOWNLOAD EBOOK : LA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO Click link bellow and

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

LA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO TESTAMENTO VERSIONE RIVEDUTA BY GIOVANNI LUZZI

LA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO TESTAMENTO VERSIONE RIVEDUTA BY GIOVANNI LUZZI Read Online and Download Ebook LA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO TESTAMENTO VERSIONE RIVEDUTA BY GIOVANNI LUZZI DOWNLOAD EBOOK : LA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO Click link bellow and

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

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

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

PAOLO ZANETTI KREMM: un sistema di e-learning per un percorso di apprendimento completo

PAOLO ZANETTI KREMM: un sistema di e-learning per un percorso di apprendimento completo PAOLO ZANETTI KREMM: un sistema di e-learning per un percorso di apprendimento completo K R E M M Knowledge Repository of Mathematical Models KREMM: un sistema di e- learning per un percorso di apprendimento

Dettagli

Ingegneria del Software. Processi di Sviluppo

Ingegneria del Software. Processi di Sviluppo Ingegneria del Software Processi di Sviluppo Ingegneria del Software: Tecnologia Stratificata tools metodi processi Focus sulla qualità Ingegneria del Software: Tecnologia Stratificata (2) Qualità Elemento

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

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

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

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

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

Analytical and simulation performance models for software system analysis and prediction

Analytical and simulation performance models for software system analysis and prediction Performance Evaluation of Complex Systems: Techniques, Methodologies and Tools Analytical and simulation performance models for software system analysis and prediction S. Balsamo, M. Marzolla, M. Simeoni

Dettagli

Distributed Object Computing

Distributed Object Computing Evoluzione Architetturale Distributed omputing entralizzata Monolitica anni 60-70 Reti locali di P anni 80 Reti lient Server anni 80-90 Internet The network is the computer Paolo Falcarin Sistemi Informativi

Dettagli

La Sua banca dovrá registrare il mandato di addebito nei propri sistemi prima di poter iniziare o attivare qualsiasi transazione

La Sua banca dovrá registrare il mandato di addebito nei propri sistemi prima di poter iniziare o attivare qualsiasi transazione To: Agenti che partecipano al BSP Italia Date: 28 Ottobre 2015 Explore Our Products Subject: Addebito diretto SEPA B2B Informazione importante sulla procedura Gentili Agenti, Con riferimento alla procedura

Dettagli

HIGH PRECISION BALLS. 80 Years

HIGH PRECISION BALLS. 80 Years HIGH PRECISION BALLS 80 Years 80 ANNI DI ATTIVITÀ 80 YEARS EXPERIENCE ARTICOLI SPECIALI SPECIAL ITEMS The choice to look ahead. TECNOLOGIE SOFISTICATE SOPHISTICATED TECHNOLOGIES HIGH PRECISION ALTISSIMA

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

4 6 7 7 8 8 9 10 11 14 15 17 21 25 Riassunto Realizzazione di un Sistema Informativo Territoriale per la sorveglianza sanitaria della fauna nel Parco Nazionale della Majella tramite software Open Source

Dettagli

Anno 2008 - Protocollo:... (attribuito dal sistema)

Anno 2008 - Protocollo:... (attribuito dal sistema) QUESTO E' SOLO UN FACSIMILE E NON SI PUO' UTILIZZARE PER LA COMPILAZIONE MINISTERO DELL'UNIVERSITÀ E DELLA RICERCA Direzione Generale per il Coordinamento e lo Sviluppo della ricerca PROGETTO DI RICERCA

Dettagli

Testi del Syllabus. Docente INNOCENTI ALESSANDRO Matricola: 004615. Insegnamento: 101507 - ECONOMIA APPLICATA. Anno regolamento: 2011 CFU:

Testi del Syllabus. Docente INNOCENTI ALESSANDRO Matricola: 004615. Insegnamento: 101507 - ECONOMIA APPLICATA. Anno regolamento: 2011 CFU: Testi del Syllabus Docente INNOCENTI ALESSANDRO Matricola: 004615 Anno offerta: 2013/2014 Insegnamento: 101507 - ECONOMIA APPLICATA Corso di studio: PE002 - SCIENZE POLITICHE Anno regolamento: 2011 CFU:

Dettagli