Ministero dell'Universita' e della Ricerca scientifica e tecnologica
Dipartimento Affari Economici
Programmi di Ricerca scientifica - richiesta di cofinanziamento
(DM del 23 aprile 1997)
PROGETTO DI UNA UNITA' DI RICERCA - MODELLO B
Anno 1997 - prot. 9701106038_002


1. Programma di Ricerca di tipo: interuniversitario


Area Scientifico Disciplinare: Scienze matematiche
Per programmi inter-area:
Area: Scienze matematiche (90%)
Area: Ingegneria industriale dell'informazione (10%)

2. Coordinatore Scientifico del Programma di Ricerca
DE NICOLA
(Cognome)
ROCCO
(Nome)

(Cognome acquisito - facoltativo)
FIRENZE
(Università)
SCIENZE MATEMATICHE FISICHE e NATURALI
(Facoltà)
Dipartimento di Sistemi e Informatica
(Dipartimento/Istituto)

3. Titolo del Programma di Ricerca Sistemi Distribuiti e Calcolo in Rete: Algoritmi, Architetture e Linguaggi.


4. Responsabile Scientifico dell'Unità di Ricerca
CHIOLA
(Cognome)
GIOVANNI
(Nome)

(Cognome acquisito - facoltativo)
Professore Ordinario
(Qualifica)
16/03/58
(Data di nascita)
CHLGNN58C16L219F
(Codice di identificazione personale)
GENOVA
(Università)
SCIENZE MATEMATICHE FISICHE e NATURALI
(Facoltà)
DISI
(Dipartimento/Istituto)
146581
(Codice conto Tesoreria Unica del Dip/Ist.)
010/3536606
(Prefisso e telefono)
010/3536699
(Numero fax)
chiola@disi.unige.it
(Indirizzo di posta elettronica)


5. Settori disciplinari interessati dal Programma di Ricerca
K05B


6. Titolo specifico del programma svolto dall'Unità di Ricerca
Sicurezza e Computazione in Rete (SCoRe)


7. Descrizione del Programma dell'Unità di Ricerca
Cosi' come a livello nazionale, anche a livello locale genovese questo progetto nasce dall'idea di riunire competenze di origini diverse e complementari per arrivare a definire, progettare e realizzare in forma prototipale alcuni "dimostratori" delle potenzialita' dei sistemi distribuiti e delle nuove ed emergenti tecnologie di rete. In particolare i membri della unita' operativa portano competenze sulla semantica dei linguaggi distribuiti e concorrenti, sulla specifica formale di sistemi distribuiti e concorrenti, sulle tecniche criptologiche per la sicurezza e la riservatezza, e sulla realizzazione e misura di prestazioni di sistemi distribuiti e di reti ad alte prestazioni.
Il programma di ricerca si articola su due temi principali: la sicurezza dei sistemi di scambi di informazioni riservate e/o di valore su canali inaffidabili quali la rete Internet, e la progettazione e realizzazione efficiente di sistemi ed ambienti atti al calcolo ad alte prestazioni e basso costo sfruttando infrastrutture di rete.
La sicurezza costituisce una parte fondamentale nello studio e progettazione di sistemi distribuiti. Tale importanza assume un peso maggiore con la possibilita' di effettuare transazioni commerciali in maniera completamente elettronica. L'interesse e' rivolto in particolar modo allo sviluppo di un insieme di metodologie, servizi e protocolli per ottenere un ambiente sicuro per il commercio elettronico.
La realizzazione di sistemi distribuiti efficienti ed a basso costo per esigenze di calcolo parallelo richiede interventi a piu' livelli, complementari l'uno con l'altro. Partendo dal livello di astrazione piu' basso troviamo gli aspetti architetturali e sistemistici, poi lo sviluppo di linguaggi e modelli computazionali semplici e potenti, ed infine le metodologie di sviluppo di applicazioni distribuite.
L'evoluzione tecnologica e di mercato nel campo delle reti locali e delle workstation ha fatto si' che sistemi di calcolo parallelo costituiti da workstation collegate per mezzo di moderne reti locali ad alta velocita' possano oggi costituire una valida alternativa ai costosissimi calcolatori massicciamente paralleli nei molti casi in cui si richiede un grado di parallelismo medio/alto (fino alle centinaia di processori). La disponibilita' di Personal Computer (PC) con prestazioni paragonabili a quelle di workstation di fascia bassa e costo assai competitivo, nonche' la diffusione di tecnologie standard di rete locale ad alta velocita' e costo contenuto come Fast Ethernet rende oggi possibile implementare sistemi di calcolo parallelo assai economici costituiti da reti locali di PC. L'inadeguatezza dei protocolli di comunicazione standard forniti dai sistemi operativi odierni, progettati svariati anni prima delle moderne reti locali e quindi non adatti a sfruttare le potenzialita' di queste ultime, costituisce il vero collo di bottiglia di una moderna rete di PC, il cui utilizzo ai fini del calcolo parallelo attualmente risulta infatti poco interessante sia in termini di prestazioni assolute che in termini di rapporto costo/prestazioni. L'introduzione di meccanismi di comunicazione efficienti e capaci di sfruttare al meglio le moderne potenzialita' dell'hardware disponibile permettera' a moltissime istituzioni ed imprese che attualmente gia' impiegano reti veloci di PC di sfruttarne efficientemente la potenza di calcolo aggregata ottenendo sistemi paralleli estremamente interessanti in termini di rapporto costo/prestazioni e segnando un fondamentale punto di svolta nella diffusione delle tecniche di calcolo parallelo.
Cluster di PC sono omogenei dal punto di vista architetturale ma non necessariamente dal punto di vista delle prestazioni e delle risorse disponibili, anche a causa della rapidita' con la quale nuovi componenti vengono introdotti sul mercato e "vecchi" componenti diventano obsoleti. Data la non omogeneita' che si riscontra normalmente in reti con alto numero di nodi e' indispensabile, per ottenere la massima efficienza, un gestore delle risorse che consenta di scalare ed allocare le richieste applicative in modo automatico in dipendenza del carico computazionale. Tale gestore puo' considerare tra le risorse sia le singole workstation, che funzioni software come quelle di librerie specializzate ai problemi.
Sul versante dei linguaggi e modelli di programmazione ad alto livello per sistemi distribuiti un problema particolarmente rilevante ed interessante e' lo studio ed il confronto dei principali paradigmi per la programmazione concorrente: il Pi-calculus, il Join-calculus e Linda. Ognuno di questi paradigmi presenta delle caratteristiche che lo rendono particolarmente interssante ai fini del progetto: Il pi-calculus supporta in modo naturale una nozione di mobilita' di links. Il Join calculus e' il piu' vicino ad uno stile di programmazione "dichiarativo", con i vantaggi che cio' comporta dal punto di vista della specifica e della verifica. Linda offre delle primitive di sincronizzazione e cooperazione che sembrano un buon compromesso fra espressivita' e realizzabilita' su architetture distribuite.
Sugli aspetti metodologici di sviluppo di applicazioni distribuite e' particolarmente rilevante ed interessante lo studio di metodi di progettazione supportati da tecniche formali per lo sviluppo di sistemi software distribuiti "di alta qualita". Per fare cio' occorre come primo punto sviluppare appropriate strutture matematiche per modellare tali sistemi che permettano di rappresentarne gli aspetti piu` rilevanti. Successivamente verranno definiti formalismi logici per esprimere proprieta' su tali sistemi, che utilizzeranno le strutture precedentemente sviluppate come modelli. Infine, verra` studiato come utilizzare tali formalismi per specificare e sviluppare correttamente particolari tipologie di sistemi distribuiti, scelti tra quelle considerati da altri gruppi nel progetto.


8. Obiettivo del programma dell'Unità di Ricerca
Nell'ambito degli obiettivi del programma nazionale SiDeCaR, l'unita' di Genova DISI puntera' sui seguenti aspetti:

- Sicurezza in rete applicata a commercio elettronico.
L'obiettivo primario e' la realizzazione di un sistema di pagamento che sia facilmente realizzabile a partire da componenti hardware e software off-the-shelf e che offra delle adeguate funzionalita' di sicurezza. Nel primo anno la ricerca si focalizzera' su un sistema di pagamento per Internet. Il secondo anno sara' dedicato alla realizzazione di un sistema di pagamento completo cioe' utilizzabile oltre che su Internet anche in ambiti tradizionali con l'obiettivo di trovare un'alternativa elettronica al denaro reale. Il passo finale consistera' nell'integrazione di tale protocollo in un sistema digitale di telefonia mobile allo scopo di ottenere un sistema di pagamento globale via etere (reti satellitari).

- Uso di reti locali di PC come piattaforma efficiente ed a basso costo per applicazioni parallele.
L'obiettivo e' la continuazione ed estensione del prototipo GAMMA il cui sviluppo e' gia' iniziato circa 18 mesi or sono presso il DISI. Dal punto di vista scientifico le sfide sono:
1) ottenere una migliore comprensione delle cause principali di inefficienza dei protocolli di comunicazione e della architettura del nucleo dei sistemi operativi standard;
2) Individuare e studiare meccanismi di comunicazione atti a supportare efficientemente le comunicazioni inter-processo in ambiente di rete locale di PC omogenei per architettura ma possibilmente eterogenei per risorse e prestazioni.
Obiettivi tecnologici e metodologici sono:
3) Progettare e sperimentare protocolli di comunicazione efficienti adatti a supportare efficacemente i meccanismi di comunicazione di cui al punto 2);
4) Realizzare prototipi funzionanti di sistemi paralleli basati su reti di PC che implementano i protocolli e i meccanismi di cui ai punti precedenti;
5) Valutare l'efficienza e il rapporto costo/prestazioni raggiunti dai prototipi realizzati, sulla base di misure di prestazioni di alcuni tipici algoritmi paralleli. Confrontare il rapporto costo/prestazioni dei prototipi con il rapporto costo/prestazioni tipico delle principali piattaforme massicciamente parallele, al fine di valutare l'effettiva convenienza dell'approccio seguito.
6) Realizzare interfacce di programmazione standard basati sui meccanismi e protocolli di cui ai punti 2) e 3), al fine di valutare in quale misura l'uso di interfacce di programmazione standard possa penalizzare il rapporto costo/prestazioni di un sistema basato su rete di PC. Cio' permetterebbe inoltre di approfondire e validare la comprensione delle problematiche di cui al punto 1).
7) Studiare e realizzare un gestore delle risorse che consenta di scalare ed allocare le richieste applicative in modo automatico in dipendenza del carico computazionale e della ripartizione delle risorse sui nodi della rete. Tale gestore puo' considerare tra le risorse sia le singole workstation, che funzioni software come quelle di librerie specializzate ai problemi. L'articolazione sui due anni sara' la seguente:
Primo anno: analisi di strumenti presenti e proposti in letteratura, loro sperimentazione, individuazione di algoritmi ed applicazioni di test espressi anche tramite diversi paradigmi di programmazione parallela;
Secondo anno: prove finalizzate alla scelta dell'ambiente e dello strumento piu' efficiente e sufficientemente flessibile per essere adattato ed ottimizzato. Analisi di casi di studio tramite applicazioni parallele.

- Definizione di linguaggi e modelli computazionali adatti allo sviluppo di applicazioni distribuite.
Il primo anno sara' dedicato allo studio delle caratteristiche di linguaggi gia' proposti in letteratura quali:
studio dell'implementabilita' della scelta globale del pi-calculus tramite tecniche probabilistiche
studio del Join Calculus come sottoinsieme della logica lineare
studio di un linguaggio distribuito di programmazione a contraint basato sul concetto di ``blackboard'' a' la Linda.
Il secondo anno sara' dedicato al design di un linguaggio di progranmmazione distributo basato sulle considerazioni emerse dallo studio del primo anno, e implementazione di tale linguaggio.

- Metologie formali per la specifica e sviluppo di applicazioni distribuite.
Il primo anno sara' dedicato a definire una proposta di modelli formali per sistemi altamente distribuiti. Nel secondo anno verrano proposti formalismi logici per esprimere proprieta' rilevanti di sistemi altamente distribuiti. L'applicazione di tali formalismi alla specifica di sistemi distribuiti di interesse potra' portare alla eventuale definizioni di loro varianti adatte a particolari tipi o classi di sistemi.


9. Base di partenza scientifica
Le basi scientifiche e tecnologiche per il progetto SCoRe possono essere differenziate in molteplici filoni: scopo del progetto e' appunto, tra l'altro, quello di cercare di riportare in un unico alveo coerente di ricerca tecniche e problematiche fondamentalmente simili e convergenti ma sviluppate tradizionalmente da gruppi di ricerca diversi in ambienti diversi.
Dal punto di vista della sicurezza legata al commercio elettronico l'attenzione e' stata fin qui concentrata prevalentemente sul problema dei sistemi di pagamento [1,2,3,4,5,6,8]. La maggior parte delle proposte di sistemi di pagamento cerca di integrare sistemi tradizionali quali carte di credito nelle nuove tecnologie [5], altre puntano sulla possibilita' di fare transazioni elettroniche a basso costo [6] o sulla tutela della privacy del pagante [1,2,3]. L'idea comune e' che lo strumento ideale e' costituito da un uso opportuno di protocolli crittografici [7].
Nel campo dello studio e realizzazione di sistemi paralleli basati su reti di workstation sono stati attivati vari progetti di ricerca [12,13,14,15] principalmente negli USA. I risultati ottenuti appaiono talora assai promettenti, e in molti casi sono stati ottenuti prototipi funzionanti interessanti sia sotto il profilo scientifico/tecnologico che dal punto di vista delle prestazioni e dell'efficienza.
Il settore delle reti di PC non e' stato ancora sufficientemente esplorato dato che fino a pochi anni fa le prestazioni di un PC erano ritenute insoddisfacenti. Oggi, con la commercializzazione di PC aventi prestazioni paragonabili a quelle di workstation di fascia bassa e costo assai competitivo e con la continua discesa di prezzo dell'hardare di rete locale ad alta velocita', i sistemi paralleli basati su reti di PC diventano senz'altro un soggetto di studio molto promettente [9,10,16], nel quale parte della conoscenza guadagnata nel settore delle reti di workstation puo' essere proficuamente reimpiegata. Il progetto GAMMA [11] avviato circa un anno e mezzo fa presso questo Dipartimento, gia' nelle sue fasi preliminari ha mostrato risultati ritenuti interessanti in ambito internazionale, evidenziando come una moderna rete locale di PC possa raggiungere livelli di prestazioni di comunicazione tipici di molte piattaforme massicciamente parallele ad un prezzo assai inferiore, grazie ad una opportuna scelta dei meccanismi di comunicazione (Active Messages [17]) e ad una implementazione altamente ottimizzata di tali meccanismi. E' stato gia' realizzato un prototipo preliminare di GAMMA utilizzando 22 PC Pentium 133 collegati mediante un Fast Ethernet repeater hub a 12 e 16 vie. Le prestazioni di comunicazione esibite dal prototipo sono le migliori mai registrate su reti di PC di questo tipo. E' stata avviata una fase di benchmarking del sistema al fine di misurarne il rapporto costo/prestazioni su alcuni tipici algoritmi paralleli. I risultati preliminari ottenuti sono assai incoraggianti, anche se il basso costo dei componenti impiegati ne limita in qualche misura la portata.
Lo sviluppo di sistemi per la gestione di risorse distribuite e' collegabile con l' evoluzione del settore del Metacomputing che tende a fornire una visione integrata di risorse distribuite ed eterogenee per il calcolo ad alte prestazioni. Tra i sistemi gia' disponibili, va ricordato NetSolve [18], sviluppato dal gruppo di Dongarra: si tratta di un server di rete per la soluzione di problemi di scienze computazionali. Le principali caratteristiche di NetSolve sono la disponibilita' di diversi tipi di interfaccia utente sia interattive (grafica e shell-oriented) che di programmazione (per Fortran e C), la capacita' di gestire richieste di risorse computazionali su un sistema distribuito tenendo conto del bilanciamento del carico e della tolleranza ai guasti. Un altro esempio e' il kernel AVS (Advanced Virtual System) per la generazione e la visualizzazione di immagini generate da calcoli scientifici [19]. Lo sviluppo di tali strumenti puo' contare su diverse librerie a scambio di messaggi quali MPI, BSP [21] e PVM [20] oppure basati su memoria virtuale condivisa, quale Linda [22].
Nel settore dei linguaggi di programmazione ad alto livello, una delle finalita' dell'unita' di ricerca e' quella dello studio di paradigmi dichiarativi adatti per la programmazione distribuita. Uno dei paradigmi dichiarativi concorrenti che ha avuto maggior successo e' il "Concurrent Constraint Programming" (CCP) [34]. Fra i motivi del successo elenchiamo la semantica elegante e semplice, basata su "operatori di chiusura" [26], il semplice sistema di prova di correttezza [27], e dei frammenti particolarmente adatti all'analisi statica basata su tecniche di "Abstract Interpretation" [28]. Il CCP proposto originariamente, comunque, e' tipicamente pensato per
un'implementazione su memoria condivisa. Inoltre e' abbastanza poco espressivo in quanto non e' dotato di meccanismi adatti a supportare la cooperazione fra processi e la gestione delle risorse. Allo scopo di superare queste limitazioni sono state proposte delle estensioni di CCP [23,24,32] basate su una nozione di "Constraint System" ispirata alla Logica Lineare [30], e costituente il supporto per la definizione di meccanismi di sincronizzazione alla Linda [22, 25]. Un'altra linea di ricerca e' lo studio di meccanismi per la mobilita' di links. In quest'ambito la proposta di maggior successo e' il pi-calculus [31]. Questo paradigma e' molto espressivo, pero' come e' stato dimostrato recentemente in [33], non puo' essere implementato completamente su un'architettura distribuita. Stanno quindi diffondendosi sempre piu' proposte basate su frammenti del pi-calculus, in particolare il cosiddetto "asynchronous pi-calculus", o linguaggi ad esso equivalenti, quali il join-calculus [29]. I primi prototipi di implementazione distribuita per questi ultimi sono gia' stati sperimentati con successo in Francia e negli Stati Uniti.
Negli ultimi anni sono stati ottenuti molti risultati nel campo delle specifiche formali dei sistemi concorrenti, sia riguardanti le basi teoriche, come lo studio di appropriati modelli formali e di formalismi di specifica, sia il loro uso per lo sviluppo di vari tipi di sistemi (vedasi per esempio [40,41]). Sebbene tali tecniche possano essere usate anche per sistemi altamente distribuiti, tale uso si dimostra limitato o inadeguato, poiche' permette di considerare solo aspetti relativi al comportamento dinamico complessivo di tali sistemi, ma non, per esempio, quelli legati alla loro configurazione ed al ruolo svolto dalle varie componenti. Solo recentemente sono apparse alcune proposte preliminari di modelli e formalismi per sistemi distribuiti, come il "tile model" di [39], e la logica di [38]. I partecipanti al progetto intendono utilizzare le loro precedenti esperienze e risultati sviluppati nel campo dei metodi formali per sistemi concorrenti (si veda ad esempio i recenti [35,36,37]) come punto di partenza per la progettazione di corrispondenti metodi per sistemi distribuiti.

BIBLIOGRAFIA
[1] J.-P. Boly et al., "The ESPRIT Project CAFE-High Security Digital Payment Systems", In Computer Security - ESORICS'94 (LNCS 875), pp. 217-230 Springer Verlag 1994.
[2] S.Brands, "Untraceable off-line cash in wallet with observers", In CRYPTO'93 (LNCS 773), pp. 302-318, Springer Verlag 1993.
[3] D.Chaum, A.Fiat, and M.Naor, "Untraceable electronic cash", In CRYPTO'88 (LNCS 403), pp. 319-327, Springer Verlag 1990
[4] M.Franklin and M.Yung, "Secure and efficient off-line digital money", In ICALP'93 (LNCS 700), pp. 265-276, Springer Verlag 1993
[5] MasterCard and Visa, "Secure Electronic Transaction (SET)"
[6] R.L. Rivest and A. Shamir, "Payword and Micromint: two simple micropayment schemes"
[7] C.P. Schnorr, "Efficient signature generation for smart cards", Journal of Cryptology, 4(3), pp. 161-174, 1991.
[8] Mondex (http://www.mondex.com/)
[9] T. Sterling, "The Scientific Workstation of the Future May Be a Pile of PCs", Comm. of the ACM 39(9), 1996.
[10] T. Sterling et al., "BEOWULF: A Parallel Workstation for Scientific Computation", Proc. 24th Int. Conf. on Parallel Processing, 1995.
[11] G. Chiola, G. Ciaccio, "Implementing a Low Cost, Low Latency Parallel Platform", Parallel Computing 22, 1997.
[12] R. P. Martin, "HPAM: An Active Message layer for a Network of HP Workstations", Proc. of Hot Interconnect II, 1994
[13] S. Pakin, M. Lauria, A. Chien, "High Performance Messaging on Workstations: Illinois Fast Messages (FM) for Myrinet Computation", Proc. of Supercomputing '95, 1995.
[14] T. von Eicken, V. Avula, A. Basu, V. Buch, "Low-latency Communication Over ATM Networks Using Active Messages", IEEE Micro 15 (1), 1995.
[15] T. von Eicken, A. Basu, V. Buch, W. Vogels, "U-Net: A User-Level Network Interface for Parallel and Distributed Computing", Proc. of the 15th ACM Symposium on Operating Systems Principles (SOSP'95), 1995.
[16] M. Welsh, A. Basu, T. von Eicken, "Low-latency Communication over Fast Ethernet", Proc. of Euro-Par'96, 1996.
[17] T. von Eicken, D.E. Culler, S.C. Goldstein, K.E. Schauser, "Active Messages: A Mechanism for Integrated Communication and Computation", Proc. of the 19th Annual International Symposium on Computer Architecture (ISCA'92), 1992.
[18] H. Casanova, J. Dongarra, "NetSolve: a network server for solving computational science problems", Techn. Rep. cs-95-313, Univ. tennesse, 1995.
[19] K. A. Gallivan, R. J. Plemmons, and A. H. Sameh, "Parallel Algorithms for Dense Linear Algebra Computations", SIAM Review, 32 (1990) pp. 54-135.
[20] V.Sunderam, A.Geist, J.Dongarra, R.Manchek, "The PVM concurrent computing system: evolution, experience, and trends", Parallel Computuying, 20(4), 1993.
[21] L.G. Valiant, "A bridging model for parallel computation", Comm. of the ACM, 33(8), pp.103--111, August 1990.
[22] A. Carriero, D.Gelernter, "How to write parallel programs: A guide to the perplexed", ACM Comput. Surveys, pp.323-357, 1989.
[23] E. Best, F. de Boer, and C.Palamidessi, "Concurrent Constraint Programming with Information Removal", In Proc. Coordination 97, LNCS, Springer-Verlag, 1997, To appear.
[24] E. Best and C. Palamidessi, "Linear constraint systems as high-level nets", Proc. CONCUR'96. Volume 1119 of LNCS, Springer-Verlag, pp. 498--513, 1996.
[25] N. Carriero and D. Gelernter, "Linda in context", Comm. of the ACM 32, pp. 445--458, 1989.
[26] F.S. de Boer, A. Di Pierro, and C. Palamidessi, "Infinite computations in nondeterministic constraint programming", Theoretical Computer Science 151, pp. 37--78, 1995.
[27] F.S. de Boer, M. Gabbrielli, E. Marchiori, and C. Palamidessi, "Proving Concurrent Constraint Programs Correct", ACM-TOPLAS. To appear.
[28] M. Falaschi, M. Gabbrielli, K. Marriott, and C. Palamidessi, "Confluence in Concurrent Constraint Programming", Theoretical Computer Science. To appear
[29] C. Fournet and G. Gonthier, "The reflexive chemical abstract machine and the join-calculus", In Proc. Twentythird Annual ACM Symp. on Principles of Programming Languages, pp. 256--265, ACM, 1996.
[30] Jean-Yves Girard, "Linear logic", Theoretical Computer Science, 50:1--102, 1987.
[31] R. Milner, J. Parrow, and D. Walker, "A calculus of mobile processes, Part I/II", Information and Computation, 100(1):1--77, 1992.
[32] C. Palamidessi, "Constraint Programming for Concurrent and Distributed Computing", Proc. of the JFPLC-UNIF '97, Hermes Editions, pages 11--20, 1997. Invited talk.
[33] C. Palamidessi, "Comparing the expressive power of the Synchronous and the Asynchronous pi-calculus", In Proc. Twentyfourth Annual ACM Symp. on Principles of Programming Languages, pp. 256--265, ACM, 1997.
[34] V.A. Saraswat, M. Rinard, and P. Panangaden, "Semantics foundations of concurrent constraint programming", In Proc. of the eighteenth ACM Symposium on Principles of Programming Languages, pp. 333--353, ACM, 1991.
[35] E. Astesiano, G. Reggio, "A Dynamic Specification of the RPC-Memory Problem", In Formal System Specification: The RPC-Memory Specification Case Study, M. Broy, S. Merz and K. Spies Ed., Lecture Notes in Computer Science no. 1169, Springer Verlag, Berlin, pp. 67--108, 1996.
[36] E. Coscia, G. Reggio, "Deontic Concepts in the Algebraic Specification of Dynamic Systems: The Permission Case", In Recent Trends in Data Type Specification, M. Haveraaen, O. Owe and O.-J. Dahl Ed., Lecture Notes in Computer Science no. 1130, Springer Verlag, Berlin, pp. 161--182, 1996.
[37] G. Costa - G. Reggio, "Specification of Abstract Dynamic Data Types: A Temporal Logic Approach", T.C.S. vol. 173, n. 2, pp. 513--554, 1997.
[38] H.-D. Ehrich and A. Sernadas, "Local Specification of Distributed Families of Sequential Objects". In Recent Trends in Data Type Specification, E. Astesiano, G. Reggio and A. Tarlecki Ed., Lecture Notes in Computer Science no. 906, Springer Verlag, Berlin, pp. 219--235, 1995.
[39] F. Gadducci and U. Montanari, "The Tile Model", in "Proof, Language and Interaction: Essays in Honour of Robin Milner", G. Plotkin, C. Stirling and M. Tofte Ed., MIT Press, 1996.
[40] "Formal Methods for Industrial Applications", J.-R. Abrial, E. Borger and H. Langmaack Ed., Lecture Notes in Computer Science no. 1165, Springer Verlag, Berlin, 1996.
[41] "Formal System Specification: The RPC-Memory Specification Case Study", M. Broy, S. Merz and K. Spies Ed., Lecture Notes in Computer Science, no. 1169, Springer Verlag, Berlin, 1996.


10. Durata del Programma di Ricerca 24 (mesi)


11. Pubblicazioni scientifiche più significative del Responsabile dell'Unità di Ricerca
  1. G. Chiola, G. Ciaccio "Implementing a Low Cost, Low Latency Parallel Platform", Parallel Computing, Vol.22, pp.1703-1717, Elsevier, 1997
  2. G. Chiola et al. "A Symbolic Reachability Graph for Coloured Petri Nets", Theoretical Computer Science, No.176, pp.39-65, Elsevier 1997
  3. G. Chiola et al. "GreatSPN 1.7: GRaphical Editor and Analyzer for Timed and Stochastic Petri Nets", Performance Evaluation vol.24, no.1,2, pp.47-68, November 1995
  4. G. Chiola, A. Ferscha "Distributed Simulation of Petri Nets" IEEE Journal of Parallel and Distributed Technology vol.1, no.3, pp.33--50, August 1993
  5. G. Chiola et al. "Generalized Stochastic Petri Nets: A Definition at the Net Level and its Implications" IEEE Transactions on Software Engineering vol.19, no.2, pp.89--107, February 1993


12. Risultati ottenibili con fondi propri
I risultati ottenibili senza il cofinanziamento sono da un lato quelli piu' teorici che non richiedono l'investimento per acquisto o adeguamento di apparecchiature. D'altra parte anche la pubblicazione e la diffusione dei risultati ottenuti mediante partecipazione a convegni internazionali di alto livello scientifico richiede una certa quota minima di finanziamenti per spese generali. Indicativamente si potrebbe valutare in circa la meta' del potenziale scientifico del progetto il numero di pubblicazioni presentabili a convegni o pubblicabili su riviste interzionalmente riconosciute in mancanza del cofinanziamento ministeriale.
Per le parti realizzative la mancanza del cofinanziamento avrebbe le seguenti conseguenze:
- Obiettivo commercio elettronico: sarebbe possibile realizzare il prototipo di sistema di pagamento su Internet basato su componenti software public domain ma non la realizzazione attraverso dispositivi quali smart card e PDA (Personal Digital Assistant) o la sperimentazione su sistemi di telefonia mobile.
- Obiettivo piattaforma parallela basata su rete di PC: sarebbe possibile portare a termine alcune misure di prestazioni piu' particolareggiate basate sulla versione shared bus di FastEthernet, nonche' implementare altri algoritmi paralleli di tipo numerico a scopo di ulteriore benchmarking del sistema; sarebbe inoltre possibile l'implementazione di funzionalita' di controllo di flusso nel protocollo di comunicazione di GAMMA, al fine di studiarne l'impatto sulle prestazioni del sistema. Nel secondo anno sarebbe possibile implementare alcune semplici interfacce di programmazione standard, quali sottoinsiemi significativi di alcune diffuse librerie standard di programmazione parallela (MPI, PVM), valutandone le prestazioni. Non sarebbe invece possibile la sperimentazione della tecnologia switched Fast Ethernet, la quale potenzialmente permetterebbe di far scalare la banda di comunicazione proporzionalmente al numero di nodi di calcolo, permettendo quindi l'applicazione efficiente della tecnologia a basso costo ad un insieme molto piu' vasto di problemi che comportano comunicazioni intensive.
Sarebbe possibile effettuare l'analisi degli strumenti proposti in letteratura (in particolare Netsolve) ed una sperimentazione che non richieda lo sviluppo di nuove applicazioni parallele. Non sarebbe invece possibile la progettazione e realizzazione di uno strumento per la gestione delle risorse che ne consenta un utilizzo ottimale.


13. Risorse umane impegnabili nel Programma dell'Unità di Ricerca
(un docente-ricercatore può far parte di una sola Unità di Ricerca)

13.1 Personale universitario dell'Università sede dell'Unità di Ricerca


No. Cognome Nome Dipart./Istituto Qualifica Mesi uomo
1. Chiola Giovanni DISI Professore Ordinario 8
2. Palamidessi Catuscia DISI Professore Ordinario 8
3. Reggio Gianna DISI Professore Associato 8
4. Dodero Gabriella DISI Ricercatore 8
5. Gianuzzi Vittoria DISI Ricercatore 8

13.2 Personale universitario di altre Università:

No. Cognome Nome Università Dipart./Istituto Qualifica Mesi uomo

13.3 Titolari di borse ex L. 398/89 art. 4 (post-dottorato e specializzazioni)

No. Cognome Nome Dipart./Istituto Mesi uomo

13.4 Titolari di borse per dottorato di ricerca

No. Cognome Nome Università sede amm. Dipart./Istituto Ciclo Mesi uomo
1. Ateniese Giuseppe Genova DISI 11 16
2. Carvajal Ruben Genova DISI 12 16
3. Ciaccio Giuseppe Genova DISI 10 16

13.5 Personale extrauniversitario - aggregabile al programma senza oneri aggiuntivi

No. Cognome Nome Ente Qualifica Mesi uomo

13.6 Personale a contratto

No. Cognome Nome Qualifica Costo previsto Mesi uomo


14. Risorse finanziarie a sostegno del Programma già disponibili all'atto della domanda
(tutte le cifre sono espresse in milioni)

QUADRO RD

Provenienza anno di assegnazione importo disponibile nome Resp. Naz.
Universita'  97  15,000
Dipartimento    
MURST (ex 40%)  antecedente 1995  
MURST (ex 40%)  1995    
MURST (ex 40%)  1996    
CNR  97  5,000
Unione Europea    
Altro    
TOTALE    20,000

14.1 Altro (origine e importi dettagliati):


15. Risorse finanziarie acquisibili in data successiva a quella della domanda e utilizzabili a sostegno del Programma
(tutte le cifre sono espresse in milioni)

QUADRO RA

Provenienza anno della domanda o stipula del contratto stato di approvazione disponibilità per il programma
Università  98  contratto stipulato  25,109
Dipartimento      
CNR  96  contratto stipulato  15,000
Unione Europea  97  invitato alla seconda fase  10,000
Altro      
TOTALE      50,109

15.1 Disponibilità per il programma(articolare negli anni di durata del programma)

La quota stanziata dall'Universita' sara' disponibile per il progetto a partire dal 98 in sostituzione del finanziamento locale per la ricerca ex-60%. I finanziamenti CNR derivano da progetti Coordinati di cui e' giunta comunicazione ufficiale del finanziamento, quindi saranno presumibilmente disponibili per il progetto fin dal primo anno. Il finanziamento di Lit.10'000'000 dalla Unione Europea rappresenta una piccola quota di una richiesta di finanziamento nell'ambito di una proposta ESPRIT-HPCN con valutazione in due fasi: la proposta intitolata VELOCE-PC (una realizzazione industriale basata sul prototipo GAMMA attualmente in fase di sviluppo presso il DISI) e' stata invitata a sottoporre la proposta completa per la seconda fase di valutazione, con commenti dei revisori sostanzialmente positivi.

15.2 Altro (origine e importi dettagliati)


16. Apparecchiature o grandi attrezzature

16.1 Disponibili ed utilizzabili per la ricerca proposta
(tutte le cifre sono espresse in milioni)

descrizione anno di acquisizione valore all'acquisto finanziamenti ottenuti dal MURST % di utilizzo per la ricerca proposta
 rete 12 PC Pentium 133MHz  96  92  0  15
 rete altri 10 PC Pentium 133MHz  97  37  0  15
         

L'uso delle attrezzature disponibili richiede, per la ricerca proposta, interventi di adeguamento? si

Quota necessaria per l'adeguamento: 35,000 (milioni)


16.2 Descrizione sintetica dell'adeguamento richiesto
Switch FastEthernet 100Mb/s invece di repeater hub per incremento della banda aggregata e passaggio alla modalita' di operazione full-duplex.


16.3 Richiesta di grandi attrezzature (GA)
(tutte le cifre sono espresse in milioni)
  1. Descrizione:


    Valore presunto (milioni):    

  2. Descrizione:


    Valore presunto (milioni):    

  3. Descrizione:


    Valore presunto (milioni):    


17. Certifico la disponibilità e l'utilizzabilità dei fondi si



Firma ________________________________ (per la copia da depositare presso l'Ateneo)


18. Costo complessivo del Programma dell'Unità di Ricerca (in milioni di lire)

Costo complessivo

di cui:
 175,000

Voce importo
Materiale inventariabile - (Voce A)  30,000
Spese generali - (Voce B)  110,000
Grandi attrezzature - (Voce GA)  35,000


Risorse disponibili all'atto della domanda (RD)  20,000
Risorse acquisibili (RA)  50,109
Cofinanziamento richiesto al MURST  104,891
Costo minimo per garantire
la possibilità di verifica dei risultati
 120,000

Occorre precisare che la quota di cofinanziamento massimo del Programma di Ricerca deve essere pari a:
(Totale RD + Totale RA) x 1.5 per progetti Interuniversitari e
(Totale RD + Totale RA) x 0.66 per progetti Intrauniversitari

(per la copia da depositare presso l'Ateneo e per l'assenso alla divulgazione via Internet delle informazioni riguardanti i programmi finanziati; legge del 31.12.96 n° 675 sulla "Tutela dei dati personali")



Firma ____________________________________ Data 22/7/97
Ora  8:49:38