Università degli studi di Roma “La Sapienza” Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica Antonio Musto Correlatore Aziendale : Ing.

Slides:



Advertisements
Presentazioni simili
UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA
Advertisements

Code::Blocks Ambiente di sviluppo.
Code::Blocks Ambiente di sviluppo.
Sistemi Operativi Menù: 1) Introduzione al sistema operativo
UNIVERSITA DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà di Ingegneria – Sede di Modena Corso di Laurea in Ingegneria Informatica Progetto e sviluppo di.
Re-engineering del wrapper XML Schema per il sistema MOMIS
SINCRONIZZAZIONE E TRASFERIMENTO VIA WEB DI IMMAGINI E DATI MULTIMEDIALI CON INFORMAZIONI GEOGRAFICHE E RAPPRESENTAZIONI CARTOGRAFICHE Laureando: Mitja.
TESI DI LAUREA Ingegneria Elettronica Applicata
Le aziende di Software La realizzazione del software si articola in alcune fasi: - analisi accurata del problema - individuazione della modalità di risoluzione.
Cluster openMosix Linux Day ’04 Caserta Ing. Diego Bovenzi.
Introduzione al calcolo parallelo SISTEMI INFORMATIVI AZIENDALI Pierpaolo Guerra Anno accademico 2009/2010.
Il Software: Obiettivi Programmare direttamente la macchina hardware è molto difficile: lutente dovrebbe conoscere lorganizzazione fisica del computer.
Area di ricerca: Automazione e controllo di impianti, macchine e reti
Introduzione allinformatica. Cosè linformatica ? Scienza della rappresentazione e dellelaborazione dellinformazione ovvero Studio degli algoritmi che.
Introduzione al linguaggio C++ 5 lezioni
Installazione pacchetti sotto Linux. Linux: Installare le applicazioni Adesso che abbiamo configurato Linux vogliamo imparare a installare qualche programma.
Corso di Informatica per Giurisprudenza Lezione 5
Gestione di Progetti Software 2 (A.A. 2004/2005) - Lezione 2 1 JAVA: obiettivi di progetto del linguaggio Nota storica: Il linguaggio JAVA (inizialmente.
Struttura dei sistemi operativi (panoramica)
CAPITOLO 2 INTRODUZIONE AL LINGUAGGIO JAVA E ALL'AMBIENTE HOTJAVA.
2) Sistemi operativi Lab. Calc. AA2004/05 - cap.2.
Sistemi Operativi GESTIONE DEI PROCESSI.
Università degli studi di Modena e Reggio Emilia Facoltà di Scienze Matematiche, Fisiche e Naturali Corso di Laurea in Informatica Progetto e sviluppo.
Fondamenti di informatica Linguaggio C Main Program: Architettura di un PC Diagrammi di flusso Linguaggio C.
Per costruire unapplicazione occorre compilare il file (o i file se più duno) che contengono il testo del programma (file sorgente) Il risultato sono uno.
Progetto di una architettura per lesecuzione distribuita e coordinata di azioni Progetto per lesame di Reti di Calcolatori L-S Prof. Antonio Corradi Finistauri.
DEIS Università di Bologna
Elementi di programmazione ad oggetti a. a. 2009/2010 Corso di Laurea Magistrale in Ingegneria Elettronica Docente: Mauro Mazzieri, Dipartimento di Ingegneria.
Supervisione della potenza elettrica in una smart grid tramite arduino
INTRODUZIONE l sistema operativo è il primo software che lutente utilizza quando accende il computer; 1)Viene caricato nella memoria RAM con loperazione.
Università Politecnica delle Marche
Modulo 1 - Hardware u.d. 3 (syllabus – 1.3.5)
Relatore: Prof. Carla VACCHI Correlatore: Ing. Daniele SCARPA
U N INFRASTRUTTURA DI SUPPORTO PER SERVIZI DI FILE HOSTING Matteo Corvaro Matricola Corso di Reti di Calcolatori LS – Prof. A. Corradi A.A.
Servizi Grid ed agenti mobili : un ambiente di sviluppo e delivering
Un motion planner per guide multimediali interattive
Ingegneria del software Modulo 2 -Il software come prodotto Unità didattica 2 -I costi del software Ernesto Damiani Università degli Studi di Milano Lezione.
Universita’ degli Studi Roma Tre
A WORLD OF TESTING IN AUTOMOTIVE
DAmb Sergio Lovrinich 28 Settembre Descrizione Questo Software si propone di eseguire una Analisi del Codice Sorgente, mettendo a disposizione Strumenti.
1 Esercitazione Sistemi distribuiti: sistemi che risisedono su più calcolatori interconnessi da una rete di comunicazione Algoritmi distribuiti: programmi.
MODULO 01 Unità didattica 04
PROGETTO E REALIZZAZIONE DI UN COMPONENTE SOFTWARE PROGRAMMABILE PER LA PIANIFICAZIONE DI COMMISSIONI DI LAUREA FACOLTA’ DI INGEGNERIA Corso di Laurea.
INTERFACCE Schede elettroniche che permettono al calcolatore di comunicare con le periferiche, che possono essere progettate e costruite in modo molto.
Tecnologie Informatiche ed Elettroniche per le Produzioni Animali (corso TIE) CORSO LAUREA MAGISTRALE IN SCIENZE E TECNOLOGIE DELLE PRODUZIONI ANIMALI.
Fondamenti di Informatica 2 Ingegneria Informatica Docente: Giovanni Macchia a.a
Università degli Studi di Roma “Tor Vergata”
Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 1 -Cicli di vita Ernesto Damiani Università degli Studi di Milano Lezione.
Introduzione Laboratorio di Calcolo Corso di Laurea in Fisica Università degli Studi di Roma “La Sapienza”
Relatore: Ing. Francesco Lo Presti Correlatore: Ing. Stefano Salsano UPMT: progetto e realizzazione di una soluzione di mobilità verticale e overlay networking.
Programmazione Attività di progettazione ed implementazione di programmi I programmi permettono di realizzare funzioni complesse su un hardware in grado.
Modulo n – U.D. n – Lez. n Nome Cognome – titolo corso.
Lucia Melotti 1/14 Bologna, 7 luglio 2004 Aspetti di sicurezza nello scambio di messaggi XML tra un partner ebXML ed un Web Service di Lucia Melotti Relatore:
Corso di Laurea in Informatica
Java Distributed Event Service Bringing events to J2EE platform Università degli studi di Bologna Corso di Laurea Specialistica in Ingegneria Informatica.
Progetto di un Gestore di Nomi Corso di Reti di Calcolatori L-S prof. Antonio Corradi A.A 2003/2004 Autore: Molesini Ambra.
Reti di calcolatori LS1 Service Middleware Reti di calcolatori LS progetto di Andrea Belardi Infrastruttura dedicata alla gestione di servizi disponibili.
1 Linguaggi: guardando la semantica §esistono un insieme di concetti semantici e di strutture di implementazione in termini dei quali si descrivono in.
Mots, programmazione collaborativa di Ettore Ferranti.
Università degli Studi di Firenze Facoltà di Ingegneria Dipartimento di Sistemi e Informatica Corso di Laurea in Ingegneria Informatica Modelli e strumenti.
Architetture dei sistemi di calcolo, sistemi operativi, reti di calcolatori Dr. Luciano Bononi Facoltà di Scienze, Fisiche Naturali dell’Università di.
ISIA Duca degli Abruzzi a.s. 2010/2011 prof. Antonella Schiavon
I Sistemi Operativi. Definizione Per Sistemi Operativi (di seguito SO) si intendono quei pacchetti software, a loro volta costituiti da più sottoprogrammi.
0 Laboratorio Informatica - SAS – Anno Accademico LIUC Alcune indicazioni Dettaglio lezioni: Prima : Michele Gnecchi – Introduzione a SAS Guide.
UML Unified Modelling Language Linguaggio per la modellazione unificato.
Interazione Persona Computer prova di progetto Gruppo: IO Componenti: Carlo Solimando Sito analizzato:
Programmazione orientata agli Oggetti Introduzione a Java.
Dal problema al programma – ciclo di sviluppo del software La scrittura del programma è solo una delle fasi del processo di sviluppo di un'applicazione.
ALGORITMI, LINGUAGGI E PROGRAMMI Facoltà di Lingue e Letterature Straniere Corso di laurea in Relazioni Pubbliche.
Introduzione Misurare l’impatto che può avere l’aggiunta di traffico sulle prestazioni di un sistema di rete è molto utile. Nel testing di applicazioni.
Transcript della presentazione:

Università degli studi di Roma “La Sapienza” Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica Antonio Musto Correlatore Aziendale : Ing. Guido Pennella responsabile Ricerca Applicata & Tecnologie del reparto progettazione Software – MBDA Italia spa Azienda: MBDA Italia s.p.a. Durata Stage: 4 mesi Prova finale di Laurea di: Antonio Musto Anno Accademico: Sommario Introduzione Porting PVM Porting CPPVM Reimplementazione Legacy MW Conclusioni e Sviluppi Futuri PVMITF: Una Interfaccia PVM verso un Middleware Proprietario ADA

Università degli studi di Roma “La Sapienza” Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica Antonio Musto L’azienda MBDA La MBDA è un’azienda di sistemi elettronici industriali ad alta tecnologia:  Leader nel settore  Multinazionale, sostenuta da 3 gruppi: BAE SYSTEM, EADS e Finmeccanica  Il reparto Progettazione e Tecnologie SW è stimato al livello 2 del CMM Struttura societaria Processo di formazione SEZIONE II: SEZIONE II: Porting PVM Porting PVM SEZIONE I SEZIONE I Introduzione SEZIONE V SEZIONE V Conclusioni SEZIONE III: Porting SEZIONE III: Porting CPPVM SEZIONE IV: SEZIONE IV: Re- implementaz ione Legacy MW Re- implementaz ione Legacy MW

Università degli studi di Roma “La Sapienza” Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica Antonio Musto Scopo della Tesi  Effettuare il porting di PVM su una Single Board Computer industriale basata su PPC, con sistema operativo Real Time (LynxOs 3.0.1).  Effettuare il porting di CPPVM (estensione di PVM in linguaggio C++) sempre su tale architettura.  Validare la possibilità di sostituire una parte di un Middleware Proprietario dell’azienda relativamente alla sezione di comunicazione, con PVM, e re-implementare le funzionalità da esso fornite tramite delle librerie. SEZIONE I SEZIONE I Introduzione SEZIONE V SEZIONE V Conclusioni Pre-Condizioni necessarie SEZIONE II: SEZIONE II: Porting PVM Porting PVM SEZIONE III: Porting SEZIONE III: Porting CPPVM SEZIONE IV: SEZIONE IV: Re- implementaz ione Legacy MW Re- implementaz ione Legacy MW

Università degli studi di Roma “La Sapienza” Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica Antonio Musto Single Board Computers Una Single Board Computer è un nodo di calcolo completo di CPU, memoria e periferiche (SCSI, USB, Seriali) Le SBC su cui sono effettuati gli sviluppi ed i test sono della THALES COMPUTERS e montano una CPU PowerPc G3 a 450Mhz, con 256 Mb di Memoria e Sistema Operativo Real Time LynxOs BUS VME-64 Attacco SCSI Porte Seriali RS232 Attacco USB Sistema Target SEZIONE I SEZIONE I Introduzione SEZIONE V SEZIONE V Conclusioni SEZIONE II: SEZIONE II: Porting PVM Porting PVM SEZIONE III: Porting SEZIONE III: Porting CPPVM SEZIONE IV: SEZIONE IV: Re- implementaz ione Legacy MW Re- implementaz ione Legacy MW

Università degli studi di Roma “La Sapienza” Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica Antonio Musto Legacy Middleware Middleware Libreria Legacy MW Libreria Applicazione ADA LynxOS HARDWARE  Il Legacy Middleware è stato sviluppato in MBDA (a quel tempo SELENIA) in ADA/C nei primi anni 80.  Questo Middleware ha un meccanismo di comunicazione basato sul paradigma a passaggio messaggi (Message Passing) analogo a PVM SEZIONE I SEZIONE I Introduzione SEZIONE V SEZIONE V Conclusioni Libreria SEZIONE II: SEZIONE II: Porting PVM Porting PVM SEZIONE III: Porting SEZIONE III: Porting CPPVM SEZIONE IV: SEZIONE IV: Re- implementaz ione Legacy MW Re- implementaz ione Legacy MW

Università degli studi di Roma “La Sapienza” Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica Antonio Musto Origini: Il sistema PVM è la colonna portante di un progetto di ricerca su Reti di Computazione Eterogenee nato dalla collaborazione tra Oak Ridge National Laboratory, University of Tennessee, Emory University e Carnegie Mellon University. Cos’è PVM ? PVM è stato progettato per collegare risorse di computazione eterogenee. In particolare, PVM permette di definisce una Macchina Virtuale Parallela (da cui il nome) tramite una rete di calcolatori elettronici, tra loro collegati in TCP/IP over ETHERNET. Struttura: Il sistema PVM prevede l’utilizzo di un demone (PVMD) che sovraintende alla gestione del nodo ed una libreria (LIBPVM) con la quale si possono utilizzare le funzionalità del sistema (gestione nodi, gestione processi, comunicazione tra task) da C e FORTRAN SEZIONE I SEZIONE I Introduzione SEZIONE V SEZIONE V Conclusioni SEZIONE II: SEZIONE II: Porting PVM Porting PVM SEZIONE III: Porting SEZIONE III: Porting CPPVM SEZIONE IV: SEZIONE IV: Re- implementaz ione Legacy MW Re- implementaz ione Legacy MW

Università degli studi di Roma “La Sapienza” Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica Antonio Musto CPPvm estende PVM con la potenzialità del C++ come: classi, overload di funzioni, generazione di eccezioni, ed inoltre fornisce una facile interfaccia C++ a PVM. CPPVM può funzionare su molte architetture come PVM e permette le seguenti funzionalità:  Inviare e Ricevere oggetti C++  Gestire gli errori (try/catch)  Usare oggetti C++ distribuiti  Usare oggetti C++ insieme a messaggi mailbox  Usare C++ templetes  Usare standard template library (STL) classes  Usare semafori distribuiti SEZIONE I SEZIONE I Introduzione SEZIONE V SEZIONE V Conclusioni CPPVM SEZIONE II: SEZIONE II: Porting PVM Porting PVM SEZIONE III: Porting SEZIONE III: Porting CPPVM SEZIONE IV: SEZIONE IV: Re- implementaz ione Legacy MW Re- implementaz ione Legacy MW

Università degli studi di Roma “La Sapienza” Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica Antonio Musto 1a Fase : Porting di PVM PVM funziona su molti tipi di diverse architetture, ma non era supportato dalla nostra architettura Target, quindi è stato necessario : Compilare il demone PVMD sul sistema target LynxOs Compilare le librerie di PVM in modo che altre applicazioni possano utilizzare i servizi che mette a disposizione PVM. Testare che l’applicazione PVM funzioni in modo corretto SEZIONE II: SEZIONE II: Porting PVM Porting PVM SEZIONE I SEZIONE I Introduzione SEZIONE V SEZIONE V Conclusioni SEZIONE III: Porting SEZIONE III: Porting CPPVM SEZIONE IV: SEZIONE IV: Re- implementaz ione Legacy MW Re- implementaz ione Legacy MW

Università degli studi di Roma “La Sapienza” Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica Antonio Musto Dettaglio Passi Eseguiti 1.Sono state settare alcune variabili d’ambiente ed editati dei file di configurazione UNIX. PVM_ROOT=/usr/local/pvmitf/pvm3 PVM_ARCH=POWERLXOS 2.E’ stata definita una nuova architettura e sono stati creati dei file. In questi due file (POWERLXOS.def e POWERLXOS.m4 ) sono definite:  direttive di Pre-Compilazione  elenco delle librerie da linkare ARCHCFLAGS= -DRSHCOMMAND=\"/bin/rsh\" \ -DFDSETNOTSTRUCT -DHASERRORVARS\ -DCTIMEISTIMET -DSYSERRISCONST \ -DNOREXEC ARCHDLIB=-lnetinet -lbsd -lrpc ARCHDOBJ= ARCHLIB= -lrpc HASRANLIB=t AR=ar PVM_ARCH=POWERLXOS MAKE=make 3.E’ stato necessario agire sui file sorgenti di PVM per effettuare delle modifiche al codice per adattarlo al compilatore GCC del ‘ 98 4.Infine è stato validato il porting utilizzando gli esempi forniti da PVM. SEZIONE I SEZIONE I Introduzione SEZIONE V SEZIONE V Conclusioni SEZIONE II: SEZIONE II: Porting PVM Porting PVM SEZIONE III: Porting SEZIONE III: Porting CPPVM SEZIONE IV: SEZIONE IV: Re- implementaz ione Legacy MW Re- implementaz ione Legacy MW

Università degli studi di Roma “La Sapienza” Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica Antonio Musto 2a Fase : Porting CPPVM Avendo supposto di utilizzare CPPVM per la terza fase del progetto, sono stati necessari i seguenti passi: Verificare che PVM sia istallato correttamente visto che CPPVM utilizza le funzionalità di esso. Compilare l’eseguibile cppvms che coopera con il demone PVMD. Compilare la libreria libcppvm.a che permette di utilizzare l’estensione in C++. Modificare i file sorgenti per compilare correttamente la libreria. Validare il porting utilizzando gli esempi forniti con i sorgenti di CPPVM. SEZIONE I SEZIONE I Introduzione SEZIONE V SEZIONE V Conclusioni SEZIONE II: SEZIONE II: Porting PVM Porting PVM SEZIONE III: Porting SEZIONE III: Porting CPPVM SEZIONE IV: SEZIONE IV: Re- implementaz ione Legacy MW Re- implementaz ione Legacy MW

Università degli studi di Roma “La Sapienza” Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica Antonio Musto 3a Fase : Re-Implementazione funzionalità Legacy Middleware per la parte di comunicazione. SEZIONE I SEZIONE I Introduzione SEZIONE V SEZIONE V Conclusioni SEZIONE II: SEZIONE II: Porting PVM Porting PVM SEZIONE III: Porting SEZIONE III: Porting CPPVM SEZIONE IV: SEZIONE IV: Re- implementaz ione Legacy MW Re- implementaz ione Legacy MW

Università degli studi di Roma “La Sapienza” Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica Antonio Musto  Supportare la comunicazione tra task dello stesso nodo utilizzando le stesse primitive e strutture della vecchia libreria, tra cui la MAILBOX.  Essere retrocompatibili ; le applicazioni che utilizzavano le librerie ADA del vecchio middleware non devono essere modificate Inoltre dai requisiti del Legacy Middleware si ha :  Il singolo invio di un messaggio e la singola ricezione di un messaggio deve essere inferiore hai 5050  s (microsecondi).  L’informazione scambiata tra due Task deve assumere una struttura standard (definita nell’SRS di ITF/BS) formata da un campo HEADER e un campo DATA. In particolare la nuova Libreria PVMITF deve :

Università degli studi di Roma “La Sapienza” Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica Antonio Musto Metodologia usata : Iterativo Incrementale Il modello di processo che abbiamo scelto per questa fase è quello Iterativo Incrementale per i seguenti motivi:  Sviluppo del progetto a piccoli passi, aggiungendo man mano funzionalità.  Rapidi cicli di feedback.  Produrre versioni o prototipi funzionanti e di qualità, perché in caso contrario si avrebbero dei riscontri nei test non corretti.  Tempo a disposizione e Team di sviluppo limitato ( uno stagista). Il ciclo di vita è inoltre conforme allo standard militare MIL-STD-2167A (Defence System Software Development); sono stati redatti i documenti SRS (Software Requirements Specification) e SDD (Software Design Document), ampliati con diagrammi UML. SEZIONE I SEZIONE I Introduzione SEZIONE V SEZIONE V Conclusioni SEZIONE II: SEZIONE II: Porting PVM Porting PVM SEZIONE III: Porting SEZIONE III: Porting CPPVM SEZIONE IV: SEZIONE IV: Re- implementaz ione Legacy MW Re- implementaz ione Legacy MW

Università degli studi di Roma “La Sapienza” Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica Antonio Musto Analisi SEZIONE I SEZIONE I Introduzione SEZIONE V SEZIONE V Conclusioni  Diagrammi dei Casi d’uso relativi alla comunicazione  Diagrammi dei Casi d’uso relativi ad i messaggi  Diagrammi delle Attività delle funzionalità: Create Mailbox, Send, Receive, Crea Messaggio, Cancella Messaggio, Duplica Messaggio.  Diagrammi delle Sequenze delle operazioni più significative  Diagramma degli Stati della Mailbox In fase di analisi dell’interfaccia PVMITF si sono prodotti i seguenti diagrammi UML (con l’aiuto del tool Rational Rose 2002 v.02 Enterprise Edition) disponibile in azienda: SEZIONE II: SEZIONE II: Porting PVM Porting PVM SEZIONE III: Porting SEZIONE III: Porting CPPVM SEZIONE IV: SEZIONE IV: Re- implementaz ione Legacy MW Re- implementaz ione Legacy MW

Università degli studi di Roma “La Sapienza” Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica Antonio Musto Versioni SEZIONE I SEZIONE I Introduzione SEZIONE V SEZIONE V Conclusioni Versione REQ. Funzionalità REQ. Retro – Compatibilità REQ. Tempi di risposta Multithread 1a Versione (C++) OKNON.A. 2a Versione ( C ) OK NON.A. 3a Versione ( C ) OK NO 4a Versione ( C ) OK 1.Nel caso della versione C++ (1a Ver), il compilatore si attendeva un main in C++. Quindi tutte le applicazioni avrebbero dovuto avere tale main e ciò non permette retrocompatibiltà 2.Il sistema impiegava ad inviare un messaggio e ricevere tale messaggio in circa 60 millisecondi, un tempo inaccettabile. 3.ADA ha dei limiti sulla grandezza dello stack per ogni thread, quindi la successiva 4a versione gestisce dinamicamente tutte le allocazioni di memoria. Alle fine della realizzazione della libreria PVMITF si è proceduto alla stesura di alcuni documenti, tra cui l’SDD_PVMITF e la documentazione del codice sorgente che si è ottenuta con l’aiuto del tool Doxygen adatto a questo scopo. SEZIONE II: SEZIONE II: Porting PVM Porting PVM SEZIONE III: Porting SEZIONE III: Porting CPPVM SEZIONE IV: SEZIONE IV: Re- implementaz ione Legacy MW Re- implementaz ione Legacy MW

Università degli studi di Roma “La Sapienza” Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica Antonio Musto Al termine dello stage la società MBDA ITALIA SPA e tutta la comunità del software freeware ha a sua disposizione una versione del middleware PVM e l’estensione orientata agli oggetti in C++ CPPVM per il sistema Real Time LynxOs su PPC, utilizzabili per la progettazione di applicazioni future. E’ stata poi realizzata la libreria PVMITF che sostituisce la parte di comunicazione tra task del Legacy Middleware di MBDA. Questo progetto è stato utile a testare le potenzialità e l’efficienza di PVM nell’ambito dello sviluppo software industriale. I test effettuati tra una macchina PPC/LynxOS e una macchina Intel/Linux RedHat 9 hanno dato ottimi risultati (invio e ricezione di messaggi in 26 secondi). In futuro MBDA ha deciso di investire in PVM per arricchirlo di funzionalità mancanti, quali un migliore algoritmo di bilanciamento carico. Conclusioni SEZIONE V SEZIONE V Conclusioni SEZIONE I SEZIONE I Introduzione SEZIONE II: SEZIONE II: Porting PVM Porting PVM SEZIONE III: Porting SEZIONE III: Porting CPPVM SEZIONE IV: SEZIONE IV: Re- implementaz ione Legacy MW Re- implementaz ione Legacy MW