Correlatore Aziendale : - PowerPoint PPT Presentation

About This Presentation
Title:

Correlatore Aziendale :

Description:

PVMITF: Una Interfaccia PVM verso un Middleware Proprietario ADA Correlatore Aziendale : Ing. Guido Pennella responsabile Ricerca Applicata & Tecnologie del ... – PowerPoint PPT presentation

Number of Views:43
Avg rating:3.0/5.0
Slides: 17
Provided by: Mario134
Category:

less

Transcript and Presenter's Notes

Title: Correlatore Aziendale :


1

PVMITF Una Interfaccia PVM verso un
Middleware Proprietario ADA
  • 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 2002 - 2003
  • Sommario

Introduzione Porting PVM Porting
CPPVM Reimplementazione Legacy MW Conclusioni e
Sviluppi Futuri
2
Lazienda MBDA
SEZIONE I Introduzione
  • La MBDA è unazienda 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

SEZIONE II Porting PVM
SEZIONE III Porting CPPVM
SEZIONE IV Re-implementazione Legacy MW
Struttura societaria
SEZIONE V Conclusioni
Processo di formazione
3
Scopo della Tesi
SEZIONE I Introduzione
  •    Validare la possibilità di sostituire una
    parte di un Middleware Proprietario
    dellazienda relativamente alla sezione
    di comunicazione, con PVM, e re-implementare le
    funzionalità da esso fornite tramite delle
    librerie.

SEZIONE II Porting PVM
SEZIONE III Porting CPPVM
Pre-Condizioni necessarie
SEZIONE IV Re-implementazione Legacy MW
  • Effettuare il porting di PVM 3.4.4 su una
    Single Board Computer industriale basata su PPC,
    con sistema operativo Real Time (LynxOs 3.0.1).

SEZIONE V Conclusioni
  • Effettuare il porting di CPPVM (estensione di
    PVM in linguaggio C) sempre su tale
    architettura.

4
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 3.0.1

SEZIONE I Introduzione
BUS VME-64
SEZIONE II Porting PVM
SEZIONE III Porting CPPVM
SEZIONE IV Re-implementazione Legacy MW
SEZIONE V Conclusioni
Sistema Target
5
Legacy Middleware
SEZIONE I Introduzione
Applicazione ADA
SEZIONE II Porting PVM
Libreria
  • 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 III Porting CPPVM
Libreria
Middleware
Legacy MW
SEZIONE IV Re-implementazione Legacy MW
Libreria
SEZIONE V Conclusioni
LynxOS 3.0.1
HARDWARE
6
  • 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 lutilizzo 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 Introduzione
SEZIONE II Porting PVM
SEZIONE III Porting CPPVM
SEZIONE IV Re-implementazione Legacy MW
SEZIONE V Conclusioni
7
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à
CPPVM
SEZIONE I Introduzione
SEZIONE II Porting PVM
  • 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 III Porting CPPVM
SEZIONE IV Re-implementazione Legacy MW
SEZIONE V Conclusioni
8
1a Fase Porting di PVM 3.4.4
SEZIONE I Introduzione
PVM funziona su molti tipi di diverse
architetture, ma non era supportato dalla nostra
architettura Target, quindi è stato necessario
SEZIONE II Porting PVM
  •  Compilare il demone PVMD sul sistema target
    LynxOs 3.0.1.
  •  Compilare le librerie di PVM in modo che altre
    applicazioni possano utilizzare i servizi che
    mette a disposizione PVM.
  • Testare che lapplicazione PVM funzioni in modo
    corretto

SEZIONE III Porting CPPVM
SEZIONE IV Re-implementazione Legacy MW
SEZIONE V Conclusioni
9
  • Dettaglio Passi Eseguiti
  • Sono state settare alcune variabili dambiente ed
    editati dei file di configurazione UNIX.
  • PVM_ROOT/usr/local/pvmitf/pvm3
  • PVM_ARCHPOWERLXOS
  • 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
  • E stato necessario agire sui file sorgenti di
    PVM per effettuare delle modifiche al codice per
    adattarlo al compilatore GCC del 98

SEZIONE I Introduzione
SEZIONE II Porting PVM
SEZIONE III Porting CPPVM
SEZIONE IV Re-implementazione Legacy MW
SEZIONE V Conclusioni
10
2a Fase Porting CPPVM
SEZIONE I Introduzione
Avendo supposto di utilizzare CPPVM per la terza
fase del progetto, sono stati necessari i
seguenti passi
SEZIONE II Porting PVM
  • Verificare che PVM sia istallato correttamente
    visto che CPPVM
  • utilizza le funzionalità di esso.
  • Compilare leseguibile cppvms che coopera con il
    demone PVMD.
  • Compilare la libreria libcppvm.a che permette di
    utilizzare
  • lestensione in C.
  • Modificare i file sorgenti per compilare
    correttamente
  • la libreria.
  • Validare il porting utilizzando gli esempi
    forniti con
  • i sorgenti di CPPVM.

SEZIONE III Porting CPPVM
SEZIONE IV Re-implementazione Legacy MW
SEZIONE V Conclusioni
11
3a Fase Re-Implementazione funzionalità Legacy
Middleware per la parte di comunicazione.
SEZIONE I Introduzione
SEZIONE II Porting PVM
SEZIONE III Porting CPPVM
SEZIONE IV Re-implementazione Legacy MW
SEZIONE V Conclusioni
12
In particolare la nuova Libreria PVMITF deve
  • 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).
  • Linformazione scambiata tra due Task deve
    assumere una struttura standard (definita
    nellSRS di ITF/BS) formata da un campo HEADER e
    un campo DATA.

13
Metodologia usata Iterativo Incrementale
SEZIONE I Introduzione
SEZIONE II Porting PVM
SEZIONE III Porting CPPVM
SEZIONE IV Re-implementazione Legacy MW
  • 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 V Conclusioni
14
Analisi
SEZIONE I Introduzione
In fase di analisi dellinterfaccia PVMITF si
sono prodotti i seguenti diagrammi UML (con
laiuto del tool Rational Rose 2002 v.02
Enterprise Edition) disponibile in azienda
SEZIONE II Porting PVM
  • Diagrammi dei Casi duso relativi alla
    comunicazione
  • Diagrammi dei Casi duso 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

SEZIONE III Porting CPPVM
SEZIONE IV Re-implementazione Legacy MW
SEZIONE V Conclusioni
15
Versioni
SEZIONE I Introduzione
Versione REQ. Funzionalità REQ. Retro Compatibilità REQ. Tempi di risposta Multithread
1a Versione (C) OK NO N.A. N.A.
2a Versione ( C ) OK OK NO N.A.
3a Versione ( C ) OK OK OK NO
4a Versione ( C ) OK OK OK OK
SEZIONE II Porting PVM
SEZIONE III Porting CPPVM
SEZIONE IV Re-implementazione Legacy MW
  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.

SEZIONE V Conclusioni
Alle fine della realizzazione della libreria
PVMITF si è proceduto alla stesura di alcuni
documenti, tra cui lSDD_PVMITF e la
documentazione del codice sorgente che si è
ottenuta con laiuto del tool Doxygen adatto a
questo scopo.
16
Conclusioni
SEZIONE I Introduzione
  • 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
    3.4.4 e lestensione orientata agli oggetti in
    C CPPVM per il sistema Real Time LynxOs 3.0.1
    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 lefficienza di PVM nellambito
    dello sviluppo software industriale.
  • I test effettuati tra una macchina PPC/LynxOS
    3.0.1 e una macchina Intel/Linux RedHat 9 hanno
    dato ottimi risultati (invio e ricezione di 40000
    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.

SEZIONE II Porting PVM
SEZIONE III Porting CPPVM
SEZIONE IV Re-implementazione Legacy MW
SEZIONE V Conclusioni
Write a Comment
User Comments (0)
About PowerShow.com