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

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

Ministero della Salute Direzione Generale della Ricerca Scientifica e Tecnologica Bando Giovani Ricercatori - 2007 FULL PROJECT FORM

Ministero della Salute Direzione Generale della Ricerca Scientifica e Tecnologica Bando Giovani Ricercatori - 2007 FULL PROJECT FORM ALLEGATO 2 FULL PROJECT FORM FORM 1 FORM 1 General information about the project PROJECT SCIENTIFIC COORDINATOR TITLE OF THE PROJECT (max 90 characters) TOTAL BUDGET OF THE PROJECT FUNDING REQUIRED TO

Dettagli

PROGRAMMAZIONE ORIENTATA AGLI ASPETTI: SCENARI DI ADOZIONE INDUSTRIALE

PROGRAMMAZIONE ORIENTATA AGLI ASPETTI: SCENARI DI ADOZIONE INDUSTRIALE PROGRAMMAZIONE ORIENTATA AGLI ASPETTI: SCENARI DI ADOZIONE INDUSTRIALE Il grande successo della programmazione orientata agli oggetti non ha limitato la ricerca di nuovi paradigmi e tecnologie che possano

Dettagli

Sistemi di gestione dei dati e dei processi aziendali. Information Technology General Controls

Sistemi di gestione dei dati e dei processi aziendali. Information Technology General Controls Information Technology General Controls Indice degli argomenti Introduzione agli ITGC ITGC e altre componenti del COSO Framework Sviluppo e manutenzione degli applicativi Gestione operativa delle infrastrutture

Dettagli

Informazioni generali: Ha conseguito il Diploma di maturità scientifica presso il Liceo Scientifico Statale "G.

Informazioni generali: Ha conseguito il Diploma di maturità scientifica presso il Liceo Scientifico Statale G. CURRICULUM VITAE ET STUDIORUM FRANCO FRATTOLILLO Informazioni generali: Ha conseguito il Diploma di maturità scientifica presso il Liceo Scientifico Statale "G. Rummo" di Benevento, con votazione 60/60.

Dettagli

MODULO DI ISCRIZIONE - ENROLMENT FORM

MODULO DI ISCRIZIONE - ENROLMENT FORM Under the Patronage of Comune di Portofino Regione Liguria 1ST INTERNATIONAL OPERA SINGING COMPETITION OF PORTOFINO from 27th to 31st July 2015 MODULO DI ISCRIZIONE - ENROLMENT FORM Direzione artistica

Dettagli

Il test valuta la capacità di pensare?

Il test valuta la capacità di pensare? Il test valuta la capacità di pensare? Per favore compili il seguente questionario senza farsi aiutare da altri. Cognome e Nome Data di Nascita / / Quanti anni scolastici ha frequentato? Maschio Femmina

Dettagli

Curriculum Vitae di ENRICO NARDELLI

Curriculum Vitae di ENRICO NARDELLI Curriculum Vitae di ENRICO NARDELLI (Versione Abbreviata) Ultimo Aggiornamento: 24 Febbraio 2011 1 Posizioni Enrico Nardelli si è laureato nel 1983 in Ingegneria Elettronica (110/110 con lode) presso l

Dettagli

Informazioni su questo libro

Informazioni su questo libro Informazioni su questo libro Si tratta della copia digitale di un libro che per generazioni è stato conservata negli scaffali di una biblioteca prima di essere digitalizzato da Google nell ambito del progetto

Dettagli

LA TECHNOLOGY TRANSFER PRESENTA SUZANNE ROBERTSON MASTERING THE REQUIREMENTS PROCESS COME COSTRUIRE IL SISTEMA CHE IL VOSTRO UTENTE DESIDERA

LA TECHNOLOGY TRANSFER PRESENTA SUZANNE ROBERTSON MASTERING THE REQUIREMENTS PROCESS COME COSTRUIRE IL SISTEMA CHE IL VOSTRO UTENTE DESIDERA LA TECHNOLOGY TRANSFER PRESENTA SUZANNE ROBERTSON MASTERING THE REQUIREMENTS PROCESS COME COSTRUIRE IL SISTEMA CHE IL VOSTRO UTENTE DESIDERA ROMA 20-22 OTTOBRE 2014 RESIDENZA DI RIPETTA - VIA DI RIPETTA,

Dettagli

Business Process Management

Business Process Management Business Process Management Come si organizza un progetto di BPM 1 INDICE Organizzazione di un progetto di Business Process Management Tipo di intervento Struttura del progetto BPM Process Performance

Dettagli

MS OFFICE COMMUNICATIONS SERVER 2007 IMPLEMENTING AND MAINTAINING AUDIO/VISUAL CONFERENCING AND WEB CONFERENCING

MS OFFICE COMMUNICATIONS SERVER 2007 IMPLEMENTING AND MAINTAINING AUDIO/VISUAL CONFERENCING AND WEB CONFERENCING MS OFFICE COMMUNICATIONS SERVER 2007 IMPLEMENTING AND MAINTAINING AUDIO/VISUAL CONFERENCING AND WEB CONFERENCING UN BUON MOTIVO PER [cod. E603] L obiettivo del corso è fornire le competenze e conoscenze

Dettagli

UNIVERSITÀ DEGLI STUDI DI BERGAMO. PROPOSTE di TIROCINI/TESI di LAUREA - Prof. Patrizia Scandurra

UNIVERSITÀ DEGLI STUDI DI BERGAMO. PROPOSTE di TIROCINI/TESI di LAUREA - Prof. Patrizia Scandurra PROPOSTE di TIROCINI/TESI di LAUREA - Prof. Patrizia Scandurra A seguire alcune proposte di tirocini/tesi in tre ambiti dell ingegneria del software (non del tutto scorrelati): (1) Model-driven driven

Dettagli

Istruzione N. Versione. Ultima. modifica. Funzione. Data 18/12/2009. Firma. Approvato da: ASSEMBLAGGIO COLLAUDO TRAINING IMBALLO. service 07.

Istruzione N. Versione. Ultima. modifica. Funzione. Data 18/12/2009. Firma. Approvato da: ASSEMBLAGGIO COLLAUDO TRAINING IMBALLO. service 07. Istruzione N 62 Data creazione 18/ 12/2009 Versione N 00 Ultima modifica TIPO ISTRUZIONE ASSEMBLAGGIO COLLAUDO TRAINING MODIFICA TEST FUNZIONALE RIPARAZIONE/SOSTITUZIONE IMBALLO TITOLO DELL ISTRUZIONE

Dettagli

Presentazioni multimediali relative al senso del tatto DIMENSIONI LIVELLO INIZIALE LIVELLO INTERMEDIO LIVELLO AVANZATO

Presentazioni multimediali relative al senso del tatto DIMENSIONI LIVELLO INIZIALE LIVELLO INTERMEDIO LIVELLO AVANZATO PERCORSO DI INSEGNAMENTO/APPRENDIMENTO TIPO DI UdP: SEMPLICE (monodisciplinare) ARTICOLATO (pluridisciplinare) Progetto didattico N. 1 Titolo : Let s investigate the world with our touch! Durata: Annuale

Dettagli

PerformAzioni International Workshop Festival 22nd February 3rd May 2013 LIV Performing Arts Centre Bologna, Italy APPLICATION FORM AND BANK DETAILS

PerformAzioni International Workshop Festival 22nd February 3rd May 2013 LIV Performing Arts Centre Bologna, Italy APPLICATION FORM AND BANK DETAILS PerformAzioni International Workshop Festival 22nd February 3rd May 2013 LIV Performing Arts Centre Bologna, Italy APPLICATION FORM AND BANK DETAILS La domanda di partecipazione deve essere compilata e

Dettagli

Gi-Gi Art. 859 - User's Guide Istruzioni d'uso

Gi-Gi Art. 859 - User's Guide Istruzioni d'uso doc.4.12-06/03 Gi-Gi Art. 859 - User's Guide Istruzioni d'uso A belaying plate that can be used in many different conditions Una piastrina d'assicurazione che può essere utilizzata in condizioni diverse.

Dettagli

1. Che cos è. 2. A che cosa serve

1. Che cos è. 2. A che cosa serve 1. Che cos è Il Supplemento al diploma è una certificazione integrativa del titolo ufficiale conseguito al termine di un corso di studi in una università o in un istituto di istruzione superiore corrisponde

Dettagli

Intalio. Leader nei Sistemi Open Source per il Business Process Management. Andrea Calcagno Amministratore Delegato

Intalio. Leader nei Sistemi Open Source per il Business Process Management. Andrea Calcagno Amministratore Delegato Intalio Convegno Open Source per la Pubblica Amministrazione Leader nei Sistemi Open Source per il Business Process Management Navacchio 4 Dicembre 2008 Andrea Calcagno Amministratore Delegato 20081129-1

Dettagli

e-spare Parts User Manual Peg Perego Service Site Peg Perego [Dicembre 2011]

e-spare Parts User Manual Peg Perego Service Site Peg Perego [Dicembre 2011] Peg Perego Service Site Peg Perego [Dicembre 2011] 2 Esegui il login: ecco la nuova Home page per il portale servizi. Log in: welcome to the new Peg Perego Service site. Scegli il servizio selezionando

Dettagli

IT Service Management, le best practice per la gestione dei servizi

IT Service Management, le best practice per la gestione dei servizi Il Framework ITIL e gli Standard di PMI : : possibili sinergie Milano, Venerdì, 11 Luglio 2008 IT Service Management, le best practice per la gestione dei servizi Maxime Sottini Slide 1 Agenda Introduzione

Dettagli

Process automation Grazie a oltre trent anni di presenza nel settore e all esperienza maturata in ambito nazionale e internazionale, Elsag Datamat ha acquisito un profondo know-how dei processi industriali,

Dettagli

Virtualizzazione con Microsoft Tecnologie e Licensing

Virtualizzazione con Microsoft Tecnologie e Licensing Microsoft Virtualizzazione con Microsoft Tecnologie e Licensing Profile Redirezione dei documenti Offline files Server Presentation Management Desktop Windows Vista Enterprise Centralized Desktop Application

Dettagli

Zeroshell come client OpenVPN

Zeroshell come client OpenVPN Zeroshell come client OpenVPN (di un server OpenVpn Linux) Le funzionalità di stabilire connessioni VPN di Zeroshell vede come scenario solito Zeroshell sia come client sia come server e per scelta architetturale,

Dettagli

RUP (Rational Unified Process)

RUP (Rational Unified Process) RUP (Rational Unified Process) Caratteristiche, Punti di forza, Limiti versione del tutorial: 3.3 (febbraio 2007) Pag. 1 Unified Process Booch, Rumbaugh, Jacobson UML (Unified Modeling Language) notazione

Dettagli

Il Form C cartaceo ed elettronico

Il Form C cartaceo ed elettronico Il Form C cartaceo ed elettronico Giusy Lo Grasso Roma, 9 luglio 2012 Reporting DURANTE IL PROGETTO VENGONO RICHIESTI PERIODIC REPORT entro 60 giorni dalla fine del periodo indicato all Art 4 del GA DELIVERABLES

Dettagli

Editoriale VALUTAZIONE PER L E.C.M.: ANALISI DEI QUESTIONARI DI GRADIMENTO

Editoriale VALUTAZIONE PER L E.C.M.: ANALISI DEI QUESTIONARI DI GRADIMENTO Lo Spallanzani (2007) 21: 5-10 C. Beggi e Al. Editoriale VALUTAZIONE PER L E.C.M.: ANALISI DEI QUESTIONARI DI GRADIMENTO IL GRADIMENTO DEI DISCENTI, INDICATORE DI SODDISFAZIONE DELLE ATTIVITÀ FORMATIVE

Dettagli

Process mining & Optimization Un approccio matematico al problema

Process mining & Optimization Un approccio matematico al problema Res User Meeting 2014 con la partecipazione di Scriviamo insieme il futuro Paolo Ferrandi Responsabile Tecnico Research for Enterprise Systems Federico Bonelli Engineer Process mining & Optimization Un

Dettagli

CMMI-Dev V1.3. Capability Maturity Model Integration for Software Development, Version 1.3. Roma, 2012 Ercole Colonese

CMMI-Dev V1.3. Capability Maturity Model Integration for Software Development, Version 1.3. Roma, 2012 Ercole Colonese CMMI-Dev V1.3 Capability Maturity Model Integration for Software Development, Version 1.3 Roma, 2012 Agenda Che cos è il CMMI Costellazione di modelli Approccio staged e continuous Aree di processo Goals

Dettagli

Narrare i gruppi. Rivista semestrale pubblicata on-line dal 2006 Indirizzo web: www.narrareigruppi.it - Direttore responsabile: Giuseppe Licari

Narrare i gruppi. Rivista semestrale pubblicata on-line dal 2006 Indirizzo web: www.narrareigruppi.it - Direttore responsabile: Giuseppe Licari Narrare i gruppi Etnografia dell interazione quotidiana Prospettive cliniche e sociali ISSN: 2281-8960 Narrare i gruppi. Etnografia dell'interazione quotidiana. Prospettive cliniche e sociali è una Rivista

Dettagli

group HIGH CURRENT MULTIPLEX NODE

group HIGH CURRENT MULTIPLEX NODE HIGH CURRENT MULTIPLEX NODE edizione/edition 04-2010 HIGH CURRENT MULTIPLEX NODE DESCRIZIONE GENERALE GENERAL DESCRIPTION L'unità di controllo COBO è una centralina elettronica Multiplex Slave ; la sua

Dettagli

APPLICATION FORM 1. YOUR MOTIVATION/ LA TUA MOTIVAZIONE

APPLICATION FORM 1. YOUR MOTIVATION/ LA TUA MOTIVAZIONE APPLICATION FORM Thank you for your interest in our project. We would like to understand better your motivation in taking part in this specific project. So please, read carefully the form, answer the questions

Dettagli

Guida ai Parametri di negoziazione dei mercati regolamentati organizzati e gestiti da Borsa Italiana

Guida ai Parametri di negoziazione dei mercati regolamentati organizzati e gestiti da Borsa Italiana Guida ai Parametri di negoziazione dei mercati regolamentati organizzati e gestiti da Borsa Italiana Versione 04 1/28 INTRODUZIONE La Guida ai Parametri contiene la disciplina relativa ai limiti di variazione

Dettagli

Progettare Qualità di Vita nell ambito delle Disabilità Intellettive ed Evolutive:

Progettare Qualità di Vita nell ambito delle Disabilità Intellettive ed Evolutive: Progettare Qualità di Vita nell ambito delle Disabilità Intellettive ed Evolutive: Dai diritti alla costruzione di un sistema di sostegni orientato al miglioramento della Qualità di Vita A cura di: Luigi

Dettagli

HTA: PRINCIPI, LOGICHE OPERATIVE ED ESPERIENZE. Cosa è l HTA?

HTA: PRINCIPI, LOGICHE OPERATIVE ED ESPERIENZE. Cosa è l HTA? HTA: PRINCIPI, LOGICHE OPERATIVE ED ESPERIENZE Cosa è l HTA? Marco Marchetti Unità di Valutazione delle Tecnologie Policlinico Universitario "Agostino Gemelli Università Cattolica del Sacro Cuore L Health

Dettagli

LE NOVITÀ DELL EDIZIONE 2011 DELLO STANDARD ISO/IEC 20000-1 E LE CORRELAZIONI CON IL FRAMEWORK ITIL

LE NOVITÀ DELL EDIZIONE 2011 DELLO STANDARD ISO/IEC 20000-1 E LE CORRELAZIONI CON IL FRAMEWORK ITIL Care Colleghe, Cari Colleghi, prosegue la nuova serie di Newsletter legata agli Schemi di Certificazione di AICQ SICEV. Questa volta la pillola formativa si riferisce alle novità dell edizione 2011 dello

Dettagli

È un progetto di Project by Comune di Numana Ideazione

È un progetto di Project by Comune di Numana Ideazione LA CALETTA È proprio nell ambito del progetto NetCet che si è deciso di realizzare qui, in uno dei tratti di costa più belli della Riviera del Conero, un area di riabilitazione o pre-rilascio denominata

Dettagli

Mario Sbriccoli, Ercole Sori. Alberto Grohmann, Giacomina Nenci, UNIVERSITÀ DEGLI STUDI DELLA REPUBBLICA DI SAN MARINO CENTRO SAMMARINESE

Mario Sbriccoli, Ercole Sori. Alberto Grohmann, Giacomina Nenci, UNIVERSITÀ DEGLI STUDI DELLA REPUBBLICA DI SAN MARINO CENTRO SAMMARINESE copertina univ. 21 11-04-2005 16:30 Pagina 1 A State and its history in the volumes 1-20 (1993-1999) of the San Marino Center for Historical Studies The San Marino Centre for Historical Studies came into

Dettagli

La materia di cui sono fa0 i sogni digitali. Gian Luigi Ferrari Dipar7mento di Informa7ca Universita di Pisa

La materia di cui sono fa0 i sogni digitali. Gian Luigi Ferrari Dipar7mento di Informa7ca Universita di Pisa La materia di cui sono fa0 i sogni digitali Gian Luigi Ferrari Dipar7mento di Informa7ca Universita di Pisa Presentazioni! Gian Luigi Ferrari o Informa7co! Di cosa mi occupo (ricerca) o Linguaggi di Programmazione!

Dettagli

Gestione delle Architetture e dei Servizi IT con ADOit. Un Prodotto della Suite BOC Management Office

Gestione delle Architetture e dei Servizi IT con ADOit. Un Prodotto della Suite BOC Management Office Gestione delle Architetture e dei Servizi IT con ADOit Un Prodotto della Suite BOC Management Office Controllo Globale e Permanente delle Architetture IT Aziendali e dei Processi IT: IT-Governance Definire

Dettagli

L Health Technology Assessment: tutti ne parlano, non. conoscono. Marco Marchetti

L Health Technology Assessment: tutti ne parlano, non. conoscono. Marco Marchetti L Health Technology Assessment: tutti ne parlano, non tutti lo conoscono Marco Marchetti L Health Technology Assessment La valutazione delle tecnologie sanitarie, è la complessiva e sistematica valutazione

Dettagli

Knowlab Un Sistema Computerizzato per la Valutazione Adattiva della Conoscenza e dell'apprendimento

Knowlab Un Sistema Computerizzato per la Valutazione Adattiva della Conoscenza e dell'apprendimento Knowlab Un Sistema Computerizzato per la Valutazione Adattiva della Conoscenza e dell'apprendimento Debora de Chiusole PhD Candidate deboratn@libero.it Università degli Studi di Padova Dipartimento FISPPA

Dettagli

Aggiornamenti CIO Rivista ufficiale del Club Italiano Osteosintesi

Aggiornamenti CIO Rivista ufficiale del Club Italiano Osteosintesi Aggiornamenti CIO Rivista ufficiale del Club Italiano Osteosintesi Istruzioni per gli Autori Informazioni generali Aggiornamenti CIO è la rivista ufficiale del Club Italiano Osteosintesi e pubblica articoli

Dettagli

Proposition for a case-study identification process. 6/7 May 2008 Helsinki

Proposition for a case-study identification process. 6/7 May 2008 Helsinki Conférence des Régions Périphériques Maritimes d Europe Conference of Peripheral Maritime Regions of Europe ANALYSIS PARTICIPATION TO THE FP THROUGH A TERRITORIAL AND REGIONAL PERSPECTIVE MEETING WITH

Dettagli

Mario Rotta. eportfolio e altre strategie di personalizzazione per l'apprendimento continuo

Mario Rotta. eportfolio e altre strategie di personalizzazione per l'apprendimento continuo eportfolio e altre strategie di personalizzazione per l'apprendimento continuo Quali strategie possono essere applicate con successo nel Life Long Learning, tenendo conto degli scenari attuali? Emerge

Dettagli

Business Process Modeling and Notation e WebML

Business Process Modeling and Notation e WebML Business Process Modeling and Notation e WebML 24 Introduzione I Web Service e BPMN sono standard de facto per l interoperabilità in rete a servizio delle imprese moderne I Web Service sono utilizzati

Dettagli

Per far sviluppare appieno la

Per far sviluppare appieno la 2008;25 (4): 30-32 30 Maria Benetton, Gian Domenico Giusti, Comitato Direttivo Aniarti Scrivere per una rivista. Suggerimenti per presentare un articolo scientifico Riassunto Obiettivo: il principale obiettivo

Dettagli

INTERNET e RETI di CALCOLATORI A.A. 2014/2015 Capitolo 4 DHCP Dynamic Host Configuration Protocol Fausto Marcantoni fausto.marcantoni@unicam.

INTERNET e RETI di CALCOLATORI A.A. 2014/2015 Capitolo 4 DHCP Dynamic Host Configuration Protocol Fausto Marcantoni fausto.marcantoni@unicam. Laurea in INFORMATICA INTERNET e RETI di CALCOLATORI A.A. 2014/2015 Capitolo 4 Dynamic Host Configuration Protocol fausto.marcantoni@unicam.it Prima di iniziare... Gli indirizzi IP privati possono essere

Dettagli

Presentazione per. «La governance dei progetti agili: esperienze a confronto»

Presentazione per. «La governance dei progetti agili: esperienze a confronto» Presentazione per «La governance dei progetti agili: esperienze a confronto» Pascal Jansen pascal.jansen@inspearit.com Evento «Agile Project Management» Firenze, 6 Marzo 2013 Agenda Due parole su inspearit

Dettagli

Indicizzazione terza parte e modello booleano

Indicizzazione terza parte e modello booleano Reperimento dell informazione (IR) - aa 2014-2015 Indicizzazione terza parte e modello booleano Gruppo di ricerca su Sistemi di Gestione delle Informazioni (IMS) Dipartimento di Ingegneria dell Informazione

Dettagli

Corso di Programmazione ad Oggetti

Corso di Programmazione ad Oggetti Corso di Programmazione ad Oggetti Introduzione alla programmazione ad oggetti a.a. 2008/2009 Claudio De Stefano 1 La programmazione modulare Un programma può essere visto come un insieme di moduli che

Dettagli

CATENE E COMPONENTI DI GRADO 8-10-INOX, BRACHE DI POLIESTERE E ANCORAGGI, BRACHE DI FUNE

CATENE E COMPONENTI DI GRADO 8-10-INOX, BRACHE DI POLIESTERE E ANCORAGGI, BRACHE DI FUNE CATENE E COMPONENTI DI GRADO 8-10-INOX, BRACHE DI POLIESTERE E ANCORAGGI, BRACHE DI FUNE L esperienza e la passione per l ingegneria sono determinanti per la definizione della nostra politica di prodotto,

Dettagli

Lezione 20: Strutture di controllo di robot. avanzati

Lezione 20: Strutture di controllo di robot. avanzati Robotica Mobile Lezione 20: Strutture di controllo di robot Come costruire un architettura BARCS L architettura BARCS Behavioural Architecture Robot Control System Strategie Strategie Obiettivi Obiettivi

Dettagli

COMINCIAMO A SENTIRCI UNA FAMIGLIA

COMINCIAMO A SENTIRCI UNA FAMIGLIA COMINCIAMO A SENTIRCI UNA FAMIGLIA IL PRIMO GIORNO CON LA FAMIGLIA OSPITANTE FIRST DAY WITH THE HOST FAMILY Questa serie di domande, a cui gli studenti risponderanno insieme alle loro famiglie, vuole aiutare

Dettagli

Mod. VS/AM VALVOLE DI SFIORO E SICUREZZA RELIEF VALVES AND SAFETY DEVICES

Mod. VS/AM VALVOLE DI SFIORO E SICUREZZA RELIEF VALVES AND SAFETY DEVICES Mod VS/AM VALVOLE DI SFIORO E SICUREZZA RELIEF VALVES AND SAFETY DEVICES VALVOLE DI SFIORO E SICUREZZA RELIEF VALVES AND SAFETY DEVICES Mod VS/AM 65 1 2 VS/AM 65 STANDARD VS/AM 65 CON RACCORDI VS/AM 65

Dettagli

più del mercato applicazioni dei processi modificato. Reply www.reply.eu

più del mercato applicazioni dei processi modificato. Reply www.reply.eu SOA IN AMBITO TELCO Al fine di ottimizzare i costi e di migliorare la gestione dell'it, le aziende guardano, sempre più con maggiore interesse, alle problematiche di gestionee ed ottimizzazione dei processi

Dettagli

Rational Unified Process Introduzione

Rational Unified Process Introduzione Rational Unified Process Introduzione G.Raiss - A.Apolloni - 4 maggio 2001 1 Cosa è E un processo di sviluppo definito da Booch, Rumbaugh, Jacobson (autori dell Unified Modeling Language). Il RUP è un

Dettagli

Trasport@ndo: l Osservatorio TPL on line.

Trasport@ndo: l Osservatorio TPL on line. Provincia di Cosenza Dipartimento di Economia e Statistica Università della Calabria Trasport@ndo: l Osservatorio TPL on line. Il trasporto pubblico locale della Provincia di Cosenza in rete - 1 - Premessa

Dettagli

PMI. Management Maturity Model, OPM3 Second Edition 2008

PMI. Management Maturity Model, OPM3 Second Edition 2008 Nuovi standard PMI, certificazioni professionali e non solo Milano, 20 marzo 2009 PMI Organizational Project Management Maturity Model, OPM3 Second Edition 2008 Andrea Caccamese, PMP Prince2 Practitioner

Dettagli

LICEO DELLE SCIENZE UMANE LICEO ECONOMICO SOCIALE. PROGRAMMA ESAMI INTEGRATIVI/IDONEITA' DI INGLESE (1, 2, 3 e 4 anno) CLASSE PRIMA

LICEO DELLE SCIENZE UMANE LICEO ECONOMICO SOCIALE. PROGRAMMA ESAMI INTEGRATIVI/IDONEITA' DI INGLESE (1, 2, 3 e 4 anno) CLASSE PRIMA (1, 2, 3 e 4 anno) CLASSE PRIMA Simple del verbo to be in tutte le sue forme Il Present Simple del verbo to have (got) in tutte le sue forme I pronomi soggetto e complemento Gli aggettivi e pronomi possessivi

Dettagli

PRESENT SIMPLE. Indicativo Presente = Presente Abituale. Tom s everyday life

PRESENT SIMPLE. Indicativo Presente = Presente Abituale. Tom s everyday life PRESENT SIMPLE Indicativo Presente = Presente Abituale Prerequisiti: - Pronomi personali soggetto e complemento - Aggettivi possessivi - Esprimere l ora - Presente indicativo dei verbi essere ed avere

Dettagli

Teoria della misurazione e misurabilità di grandezze non fisiche

Teoria della misurazione e misurabilità di grandezze non fisiche Teoria della misurazione e misurabilità di grandezze non fisiche Versione 12.6.05 Teoria della misurazione e misurabilità di grandezze non fisiche 1 Il contesto del discorso (dalla lezione introduttiva)

Dettagli

I Valori del Manifesto Agile sono direttamente applicabili a Scrum:!

I Valori del Manifesto Agile sono direttamente applicabili a Scrum:! Scrum descrizione I Principi di Scrum I Valori dal Manifesto Agile Scrum è il framework Agile più noto. E la sorgente di molte delle idee che si trovano oggi nei Principi e nei Valori del Manifesto Agile,

Dettagli

PANNELLO FRONTALE: QUERCIA STYLE CANNELLA PROFILO: PINO NERO PIANO DI SERVIZIO E ZOCCOLO: AGGLOMERATO MEROPE

PANNELLO FRONTALE: QUERCIA STYLE CANNELLA PROFILO: PINO NERO PIANO DI SERVIZIO E ZOCCOLO: AGGLOMERATO MEROPE Una proposta dall estetica esclusiva, in cui tutti gli elementi compositivi sono ispirati dalla geometria più pura e dalla massima essenzialità del disegno per un progetto caratterizzato da semplicità

Dettagli

Lezione 12: La visione robotica

Lezione 12: La visione robotica Robotica Robot Industriali e di Servizio Lezione 12: La visione robotica L'acquisizione dell'immagine L acquisizione dell immagine Sensori a tubo elettronico (Image-Orthicon, Plumbicon, Vidicon, ecc.)

Dettagli

Progettare, sviluppare e gestire seguendo la Think it easy philosophy

Progettare, sviluppare e gestire seguendo la Think it easy philosophy Progettare, sviluppare e gestire seguendo la Think it easy philosophy CST Consulting è una azienda di Consulenza IT, System Integration & Technology e Servizi alle Imprese di respiro internazionale. E

Dettagli

WWW.TINYLOC.COM CUSTOMER SERVICE GPS/ RADIOTRACKING DOG COLLAR. T. (+34) 937 907 971 F. (+34) 937 571 329 sales@tinyloc.com

WWW.TINYLOC.COM CUSTOMER SERVICE GPS/ RADIOTRACKING DOG COLLAR. T. (+34) 937 907 971 F. (+34) 937 571 329 sales@tinyloc.com WWW.TINYLOC.COM CUSTOMER SERVICE T. (+34) 937 907 971 F. (+34) 937 571 329 sales@tinyloc.com GPS/ RADIOTRACKING DOG COLLAR MANUALE DI ISTRUZIONI ACCENSIONE / SPEGNERE DEL TAG HOUND Finder GPS Il TAG HOUND

Dettagli

Il ciclo di vita del software

Il ciclo di vita del software Il ciclo di vita del software Il ciclo di vita del software Definisce un modello per il software, dalla sua concezione iniziale fino al suo sviluppo completo, al suo rilascio, alla sua successiva evoluzione,

Dettagli

Catalogo Trattamento dell Aria - Collezione 2009

Catalogo Trattamento dell Aria - Collezione 2009 Catalogo Trattamento dell Aria - Collezione 2009 SECCOTECH & S 8 SeccoTech & Secco Tecnologia al servizio della deumidificazione Technology at dehumidification's service Potenti ed armoniosi Seccotech

Dettagli

Rilascio dei Permessi Volo

Rilascio dei Permessi Volo R E P U B L I C O F S A N M A R I N O C I V I L A V I A T I O N A U T H O R I T Y SAN MARINO CIVIL AVIATION REGULATION Rilascio dei Permessi Volo SM-CAR PART 5 Approvazione: Ing. Marco Conti official of

Dettagli

IT GOVERNANCE & MANAGEMENT

IT GOVERNANCE & MANAGEMENT IT GOVERNANCE & MANAGEMENT BOLOGNA BUSINESS school Dal 1088, studenti da tutto il mondo vengono a studiare a Bologna dove scienza, cultura e tecnologia si uniscono a valori, stile di vita, imprenditorialità.

Dettagli

5 cabins (1 main deck+ 4 lower deck) Legno: essenza di rovere naturale Rigatino Wood: striped oak

5 cabins (1 main deck+ 4 lower deck) Legno: essenza di rovere naturale Rigatino Wood: striped oak Tipo: Type: 5 cabine (1 main deck+ 4 lower deck) 5 cabins (1 main deck+ 4 lower deck) Legno: essenza di rovere naturale Rigatino Wood: striped oak Tessuti: Dedar Fanfara, Paola Lenti Fabrics: Dedar Fanfara,

Dettagli

PRESTIGIOUS VILLAS. 1201 beverly hills - los angeles

PRESTIGIOUS VILLAS. 1201 beverly hills - los angeles OLIVIERI Azienda dinamica giovane, orientata al design metropolitano, da più di 80 anni produce mobili per la zona giorno e notte con cura artigianale. Da sempre i progetti Olivieri nascono dalla volontà

Dettagli

Lo Standard EUCIP e le competenze per la Business Intelligence

Lo Standard EUCIP e le competenze per la Business Intelligence Lo Stard UCIP e le competenze per la Business Intelligence Competenze per l innovazione digitale Roberto Ferreri r.ferreri@aicanet.it Genova, 20 maggio 2008 0 AICA per lo sviluppo delle competenze digitali

Dettagli

The Verification Process in the ASTRI Project: the Verification Control Document (VCD)

The Verification Process in the ASTRI Project: the Verification Control Document (VCD) The Verification Process in the ASTRI Project: the Verification Control Document (VCD) L. Stringhetti INAF-IASF Milano on behalf of the ASTRI Collaboration 1 1 Summary The ASTRI/CTA project The ASTRI Verification

Dettagli

Managed Services e Unified Communication & Collaboration: verso il paradigma del Cloud Computing

Managed Services e Unified Communication & Collaboration: verso il paradigma del Cloud Computing Managed Services e Unified Communication & Collaboration: verso il paradigma del Cloud Computing Claudio Chiarenza (General Manager and Chief Strategy Officer) Italtel, Italtel logo and imss (Italtel Multi-Service

Dettagli

Qual è l errore più comune tra i Trader sul Forex e come possiamo evitarlo? David Rodriguez, Quantitative Strategist drodriguez@dailyfx.

Qual è l errore più comune tra i Trader sul Forex e come possiamo evitarlo? David Rodriguez, Quantitative Strategist drodriguez@dailyfx. Qual è l errore più comune tra i Trader sul Forex e come possiamo evitarlo? David Rodriguez, Quantitative Strategist drodriguez@dailyfx.com Avvertenza di Rischio: Il Margin Trading su forex e/o CFD comporta

Dettagli

Present Perfect SCUOLA SECONDARIA I GRADO LORENZO GHIBERTI ISTITUTO COMPRENSIVO DI PELAGO CLASSI III C/D

Present Perfect SCUOLA SECONDARIA I GRADO LORENZO GHIBERTI ISTITUTO COMPRENSIVO DI PELAGO CLASSI III C/D SCUOLA SECONDARIA I GRADO LORENZO GHIBERTI ISTITUTO COMPRENSIVO DI PELAGO CLASSI III C/D Present Perfect Affirmative Forma intera I have played we have played you have played you have played he has played

Dettagli

Legame fra manutenzione e sicurezza. La PAS 55

Legame fra manutenzione e sicurezza. La PAS 55 Gestione della Manutenzione e compliance con gli standard di sicurezza: evoluzione verso l Asset Management secondo le linee guida della PAS 55, introduzione della normativa ISO 55000 Legame fra manutenzione

Dettagli

SOA GOVERNANCE: WHAT DOES IT MEAN? Giorgio Marras

SOA GOVERNANCE: WHAT DOES IT MEAN? Giorgio Marras SOA GOVERNANCE: WHAT DOES IT MEAN? Giorgio Marras 2 Introduzione Le architetture basate sui servizi (SOA) stanno rapidamente diventando lo standard de facto per lo sviluppo delle applicazioni aziendali.

Dettagli

I carichi critici: attività e criticità identificate dal National Focal Point

I carichi critici: attività e criticità identificate dal National Focal Point I carichi critici: attività e criticità identificate dal National Focal Point P. Bonanni*, F.Fornasier*, A. De Marco * ISPRA, ENEA Carico critico Stima quantitativa dell esposizione ad uno o più inquinanti

Dettagli

Il vostro sogno diventa realtà... Your dream comes true... Close to Volterra,portions for sale of "typical tuscan"

Il vostro sogno diventa realtà... Your dream comes true... Close to Volterra,portions for sale of typical tuscan Il vostro sogno diventa realtà... Vicinanze di Volterra vendita di porzione di fabbricato "tipico Toscano" realizzate da recupero di casolare in bellissima posizione panoramica. Your dream comes true...

Dettagli

LICEO STATALE Carlo Montanari

LICEO STATALE Carlo Montanari Classe 1 Simple del verbo to be in tutte le sue forme Il Present Simple del verbo to have (got) in tutte le sue forme Gli aggettivi e pronomi possessivi Gli articoli a/an, the Il caso possessivo dei sostantivi

Dettagli

Official Announcement Codice Italia Academy

Official Announcement Codice Italia Academy a c a d e m y Official Announcement Codice Italia Academy INITIATIVES FOR THE BIENNALE ARTE 2015 PROMOTED BY THE MIBACT DIREZIONE GENERALE ARTE E ARCHITETTURA CONTEMPORANEE E PERIFERIE URBANE cured by

Dettagli

UNO SGUARDO DA QUALE MENTE? LA PROSPETTIVA NEUROETICA Incontri su Neuroscienze e Società, VI Edizione

UNO SGUARDO DA QUALE MENTE? LA PROSPETTIVA NEUROETICA Incontri su Neuroscienze e Società, VI Edizione Convegno Scientifico Internazionale di Neuroetica e I Congresso della Società Italiana di Neuroetica - SINe UNO SGUARDO DA QUALE MENTE? LA PROSPETTIVA NEUROETICA Incontri su Neuroscienze e Società, VI

Dettagli

I veri benefici dell Open Source nell ambito del monitoraggio IT. Georg Kostner, Department Manager Würth Phoenix

I veri benefici dell Open Source nell ambito del monitoraggio IT. Georg Kostner, Department Manager Würth Phoenix I veri benefici dell Open Source nell ambito del monitoraggio IT Georg Kostner, Department Manager Würth Phoenix IT Service secondo ITIL Il valore aggiunto dell Open Source Servizi IT Hanno lo scopo di

Dettagli

ITIL v3 e' parte di un processo teso a migliorare le best practices ITIL. In effetti, ITIL predica il "continuous improvement" ed e'

ITIL v3 e' parte di un processo teso a migliorare le best practices ITIL. In effetti, ITIL predica il continuous improvement ed e' ITIL v3 ITIL v3 e' parte di un processo teso a migliorare le best practices ITIL. In effetti, ITIL predica il "continuous improvement" ed e' giusto che lo applichi anche a se' stessa... Naturalmente una

Dettagli

Energy risk management

Energy risk management Il sistema di supporto alle tue decisioni Energy risk management Un approccio orientato agli attori M.B.I. Srl, Via Francesco Squartini 7-56121 Pisa, Italia - tel. 050 3870888 - fax. 050 3870808 www.powerschedo.it

Dettagli

General Taxonomy of Planology [Tassonomia generale della Planologia] (TAXOCODE) Reduced form [Forma ridotta] Classification Code for all sectors of

General Taxonomy of Planology [Tassonomia generale della Planologia] (TAXOCODE) Reduced form [Forma ridotta] Classification Code for all sectors of General Taxonomy of Planology [Tassonomia generale della Planologia] (TAXOCODE) Reduced form [Forma ridotta] Classification Code for all sectors of study and research according the Information System for

Dettagli

Principali prove meccaniche su materiali polimerici

Principali prove meccaniche su materiali polimerici modulo: Proprietà viscoelastiche e proprietà meccaniche dei polimeri Principali prove meccaniche su materiali polimerici R. Pantani Scheda tecnica di un materiale polimerico Standard per prove meccaniche

Dettagli

Il bambino sordo e il suo diritto a crescere bilingue

Il bambino sordo e il suo diritto a crescere bilingue Italian Il bambino sordo e il suo diritto a crescere bilingue The Italian translation of The right of the deaf child to grow up bilingual by François Grosjean University of Neuchâtel, Switzerland Translated

Dettagli

La disseminazione dei progetti europei

La disseminazione dei progetti europei La disseminazione dei progetti europei Indice 1. La disseminazione nel 7PQ: un obbligo! 2. Comunicare nei progetti europei 3. Target audience e Key Message 4. Sviluppare un dissemination plan 5. Message

Dettagli

DTT : DECODER, SWITCH- OFF PROCESS, CNID. Roberto de Martino Contents and Multimedia Department RAK/AGCOM

DTT : DECODER, SWITCH- OFF PROCESS, CNID. Roberto de Martino Contents and Multimedia Department RAK/AGCOM DTT : DECODER, SWITCH- OFF PROCESS, CNID Roberto de Martino Contents and Multimedia Department RAK/AGCOM List of contents 1. Introduction 2. Decoder 3. Switch-off process 4. CNID Introduction 1. Introduction

Dettagli

Web conferencing software. Massimiliano Greco - Ivan Cerato - Mario Salvetti

Web conferencing software. Massimiliano Greco - Ivan Cerato - Mario Salvetti 1 Web conferencing software Massimiliano Greco - Ivan Cerato - Mario Salvetti Arpa Piemonte 2 Che cosa è Big Blue Button? Free, open source, web conferencing software Semplice ed immediato ( Just push

Dettagli

Convegno Prospettive e Impatto dell Automatica nello Sviluppo del Paese e nelle Relazioni Internazionali Accademia delle Scienze dell Istituto di

Convegno Prospettive e Impatto dell Automatica nello Sviluppo del Paese e nelle Relazioni Internazionali Accademia delle Scienze dell Istituto di Cent anni di scienza del controllo Sergio Bittanti Politecnico di Milano Convegno Prospettive e Impatto dell Automatica nello Sviluppo del Paese e nelle Relazioni Internazionali Accademia delle Scienze

Dettagli

Criteri di valutazione e certificazione della sicurezza delle informazioni. Cesare Gallotti Milano, 14 maggio 2004 1

Criteri di valutazione e certificazione della sicurezza delle informazioni. Cesare Gallotti Milano, 14 maggio 2004 1 Criteri di valutazione e certificazione della sicurezza delle informazioni Cesare Gallotti Milano, 14 maggio 2004 1 AGENDA Introduzione Valutazione dei prodotti Valutazione dell organizzazione per la sicurezza

Dettagli

Smobilizzo pro-soluto di Lettere di Credito Import

Smobilizzo pro-soluto di Lettere di Credito Import definizione L operazione presuppone l emissione di una lettera di credito IMPORT in favore dell esportatore estero, con termine di pagamento differito (es. 180 gg dalla data di spedizione con documenti

Dettagli

1. Uno studente universitario, dopo aver superato tre esami, ha la media di 28. Nell esame successivo

1. Uno studente universitario, dopo aver superato tre esami, ha la media di 28. Nell esame successivo Prova di verifica classi quarte 1. Uno studente universitario, dopo aver superato tre esami, ha la media di 28. Nell esame successivo lo studente prende 20. Qual è la media dopo il quarto esame? A 26 24

Dettagli

Politecnico di Milano Scuola Master Fratelli Pesenti CONSTRUCTION INNOVATION SUSTAINABILITY ENGINEERING

Politecnico di Milano Scuola Master Fratelli Pesenti CONSTRUCTION INNOVATION SUSTAINABILITY ENGINEERING Innovazione nei contenuti e nelle modalità della formazione: il BIM per l integrazione dei diversi aspetti progettuali e oltre gli aspetti manageriali, gestionali, progettuali e costruttivi con strumento

Dettagli