Contenuto
Ti trovi in: HOME »Programmi, progetti e risultati »I progetti »PRIN - Programmi di ricerca di Rilevante Interesse Nazionale»Programma di ricercaINIZIO_TESTO_DA_INDICIZZARE
PROGRAMMA DI RICERCA 2004
italiano - english
Unità di Ricerca
- Università degli Studi di GENOVA
INFORMATICA E SCIENZE DELL'INFORMAZIONE
GENOVA(GE) - Università degli Studi di BOLOGNA
ELETTRONICA, INFORMATICA E SISTEMISTICA
BOLOGNA(BO) - Università degli Studi di FIRENZE
SISTEMI E INFORMATICA
FIRENZE(FI) - Università degli Studi del PIEMONTE ORIENTALE "Amedeo Avogadro"-Vercelli
INFORMATICA
VERCELLI(VC)
Programmi di ricerca simili:
- 1 - Sistemi a oggetti estendibili per ambienti dinamici e impredicibili (EOS DUE)
- 2 - Sistemi e calcoli di ispirazione biologica e loro applicazioni -- BISCA
- 3 - COMMUTA: Componenti hardware/software mutanti per sistemi distribuiti dinamicamente riconfigurabili
- 4 - Analisi di sistemi di Riduzione mediante sistemi di Transizione (ART)
- 5 - Future applicazioni del paradigma peer-to-peer
- 6 - Metodologie avanzate per il controllo di sistemi ibridi
- 7 - Systems Biology: modellazione, linguaggi e analisi (Sybilla)
- 8 - Sviluppo di metodi innovativi per la misura di grandezze meccaniche nella ottimizzazione della riabilitazione del movimento
- 9 - Sintesi automatica di modelli astratti a partire da dati temporali o spaziali
- 10 - Potenziamento e Applicazioni della Programmazione Logica Disgiuntiva
Classificazione scientifico-disciplinare
- Area scientifico disciplinare: Scienze matematiche e informatiche
- Area scientifico disciplinare: Ingegneria industriale e dell'informazione
Classificazione brevettuale
- PHYSICS
- COMPUTING; CALCULATING; COUNTING (score computers for games A63; combinations of writing applicances with computing devices B43K29/08)
- ELECTRICAL DIGITAL DATA PROCESSING (computers in which a part of the computation is effected hydraulically or pneumatically G06D; optically G06E; self-contained input or output peripheral equipment G06K; impedance networks using digital techniques H03H) [C9603]
- EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- EDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS (devices for psychotechnics or for testing reaction times A61B5/16; games, sports, amusements A63; projectors, projector screens G03B)
- COMPUTING; CALCULATING; COUNTING (score computers for games A63; combinations of writing applicances with computing devices B43K29/08)
Classificazione geografica
- Regione: Liguria
Bibliografia
[AADDGZ01] D. Ancona, C. Anderson, F. Damiani, S. Drossopoulou, P. Giannini, E. Zucca. An effective translation of Fickle into Java. ICTCS'01, LNCS 2202.[AADDGZ02] D. Ancona, C. Anderson, F. Damiani, S. Drossopoulou, P. Giannini, E. Zucca. A type preserving translation of Fickle into Java. TOSCA'01, ENTCS 62.
[ABDCD03] C. Anderson, F. Barbanera, M. Dezani, S. Drossopoulou. Can addresses be types? (a case study: objects with delegation). WOOD'03, ENTCS 82.
[AC04] M. Ancona, W. Cazzola. Implementing the Essence of Reflection: a Reflective Run-Time Environment. SAC'04.
[AD02] C. Anderson, S. Drossopoulou. Delta - an imperative object calculus. USE'02.
[AFZ03] D. Ancona, S. Fagorzi, E. Zucca. A calculus for dynamic linking. ICTCS'03, LNCS 2841.
[ALZ00] D. Ancona, G.E. Lagorio, E. Zucca. Jam - a smooth extension of Java with mixins. ECOOP'00, LNCS 1850.
[ALZ02] D. Ancona, G. Lagorio, E. Zucca. A Formal Framework for Java Separate Compilation, ECOOP'02, LNCS 2374.
[ALZ02a] D. Ancona, G. Lagorio, E. Zucca. True Separate Compilation of Java Classes. PPDP'02.
[ALZ03] D. Ancona, G. Lagorio, E. Zucca. Jam - Designing a Java Extension with Mixins. TOPLAS 25 (5), 2003.
[AZ04] D. Ancona, E. Zucca. Principal Typings for Java-Like Languages.POPL'04.
[BB98] V. Bono, M. Bugliesi. Matching for the Lambda Calculus of Objects. TCS 212 (1-2), 1999.
[BBL04] L. Bettini, V. Bono, S. Likavec. A Core Calculus of Mixin-Based Incomplete Objects. FOOL 11, 2004.
[BBV02] L. Bettini, V. Bono, B. Venneri. Coordinating Mobile Object-Oriented Code. Coordination 2002, LNCS 2315.
[BBV03] L. Bettini, V. Bono, B. Venneri. Subtyping Mobile Classes and Mixins. FOOL 10, 2003.
[BBV04] L. Bettini, V. Bono, B. Venneri. O'Klaim: a coordination language with mobile mixins. COORDINATION 2004.
[BC90] G. Bracha, W. Cook. Mixin-based Inheritance. OOPSLA '90.
[BC97] J. Boyland, G. Castagna. Parasitic Methods: Implementation of Multi-Methods for Java. OOPSLA'97.
[BCDC83] H.P. Barendregt, M. Coppo, M. Dezani. A filter lambda model and the completeness of type assignment. J.Symb. Logic 48.
[BCV03] L. Bettini, S. Capecchi, B. Venneri. Extending Java to dynamic object behaviors. WOOD'03. ENTCS 82.
[BDG02] V. Bono, F. Damiani, P. Giannini. A calculus for "environment-aware'' computation. F-WAN'02, ENTCS 66,.
[BF96] P. Di Blasio K. Fisher. A Calculus for Concurrent Objects. CONCUR '96, LNCS 1119.
[BF98] V. Bono, K. Fisher. An Imperative, First-Order Calculus with Object Extension. ECOOP'98, LNCS 1445.
[BLV03] L. Bettini, M. Loreti, B. Venneri. On Multiple Inheritance in Java. TOOLS' 2002, Kluwer.
[CB00] M. Bugliesi ,G. Castagna. Mobile Objects. FOOL'00.
[CCGS02] W. Cazzola, J.O. Coplien, A. Ghoneim, G. Saake. Framework Patterns for the Evolution of Nonstoppable Software Systems. (VikingPLoP'02), Microsoft Business Solutions, 2002.
[CGS04] W. Cazzola, A. Ghoneim, G. Saake. Software Evolution through Dynamic Adaptation of Its OO Design. Objects, Agents and Features: Structuring Mechanisms for Contemporary Software, LNCS.
[CLM03] Jen-Yao Chung, Kwei-Jay Lin, Richard G. Mathieu. Guest editors introduction: Web services computing - advancing software interoperability. IEEE Computer, Special Issue: Web Services, 36(10), 2003.
[Cardelli97] L. Cardelli. Program Fragments, Linking, and Modularization. POPL'97.
[Cazzola03] W. Cazzola. Remote Method Invocation as a First-Class Citizen. Distributed Computing, 16 (4), 2003.
[Chambers93] C. Chambers. Predicate Classes. ECOOP'93.
[DDCG04] S. Drossopoulou, F. Damiani, M. Dezani, P. Giannini. Re-classification and multithreading: Fickle_mt. SAC'04.
[DDDCG01] S. Drossopoulou, Ferruccio Damiani, Mariangiola Dezani- Ciancaglini, Paola Giannini. Fickle: Dynamic object reclassification. ECOOP'01, LNCS 2072.
[DDDCG02] S. Drossopoulou, F. Damiani, M. Dezani, P. Giannini. More dynamic object reclassification:Fickle_II. TOPLAS 24 (2), 2002.
[DDG03] S. Drossopoulou, F. Damiani, P. Giannini. Refined effects for unanticipated object re-classification: Fickle3. ICTCS'03, LNCS 2841.
[DEW99] S. Drossopoulou, S. Eisenbach, D. Wragg. A Fragment Calculus - Towards a Model of Separate Compilation, Linking and Binary Compatibility. LICS'99.
[DFPV00] R. De Nicola, G. Ferrari, R. Pugliese, B. Venneri. Types for Access Control. TCS, 240(1), 2000.
[DG03] F. Damiani, P. Giannini. Alias types for "environment-aware'' computations. WOOD'03, ENTCS 82.
[DLE03] S. Drossopoulou, G. Lagorio, S. Eisenbach. Flexible Models for Dynamic Linking. ESOP'03.
[DM82] L.M.M. Damas, R. Milner. Principal type schemas for functional programs. POPL'82.
[Damiani03] F. Damiani. Rank 2 intersection types for local definitions and conditional expressions. TOPLAS, 25(4), 2003.
[Damiani03a] F. Damiani. Rank 2 intersection types for modules. PPDP'03.
[Drossopoulou01] S. Drossopoulou. Towards an Abstract Model of Java Dynamic Linking and Verification. TIC'00, LNCS 2071.
[FLMR00] C. Fournet, C. Laneve, L. Maranget, D. Remy. Inheritance in the Join Calculus. FSTTCS'00, LNCS 1974.
[FZA04] D. Ancona, S. Fagorzi, E. Zucca. Modeling Multiple Class Loaders by a Calculus for Dynamic Linking. SAC'04.
[Flannanghan99] D. Flannanghan. JavaScript: The definitive guide. O'Reilly, 1999.
[GH98] A. Gordon, P. Hankin. A Concurrent Object Calculus: Reduction and Typing. HLCL'98, ENTCS 16, 1998.
[GHJV95] E. Gamma, R. Helm, R. Johnson, J. Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, 1995.
[Girard72] J.Y. Girard. Interpretation fonctionelle et elimination des coupures dans l'aritmetique d'ordre superieur. Ph.D. thesis..
[HW00] A. Hejlsberg , S. Wiltamuth. C# language reference. Technical report, Microsoft, 2000.
[IV02] A. Igarashi, M. Viroli. On variance-based subtyping for parametric types. ECOOP'02, LNCS 2347.
[Iga00] A. Igarashi. On inner classes. ECOOP'00, LNCS 1850.
[Jim96] T. Jim. What are principal typings and what are good for? POPL'96.
[KLMMVLI97] G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C. Videira Lopes, J-M. Loingtier, J. Irwin. Aspect-Oriented Programming. ECOOP'97, LNCS 1241.
[Lagorio03] G. Lagorio. Towards a Smart Compilation Manager for Java. ICTCS'03, LNCS 2841.
[Maes87] P. Maes. Concepts and Experiments in Computational Reflection. OOPSLA'87.
[Mic02] Microsoft. Generic for C# and .NET CLR. Technical report, Microsoft, 2002.
[NorregaardJorgensen04] Bo Norregaard Jorgensen. Language Support for Incremental Integration of Independently Developed Components in Java. SAC'04.
[OWBS98] M. Odersky, P. Wadler, G. Bracha, D. Stoutamire. Making the future safe for the past: Adding Genericity to the Java programming language. OOPSLA'98.
[OZ99] A. Omicini, F. Zambonelli. Coordination for Internet application development. Journ. Autonomous Agents and Multi-Agent Systems, 2(3), 1999.
[PG03] M.P. Papazoglou, D. Georgakopoulos.Comm. ACM, Special Issue: Service-oriented computing, 46(10), 2003.
[PS93] B.C. Pierce, D. Sangiorgi. Typing and Subtyping for Mobile Processes. LICS'93.
[PT95] B.C. Pierce, D.N. Turner. Concurrent Objects in a Process Calculus. TPPP 94. LNCS 907.
[Reynolds74] J.C. Reynolds. Towards a Theory of Type Structure. Colloque sur la Programmation. LNCS 19.
[SA93] Z. Shao, A.W. Appel. Smartest Recompilation. POPL'93.
[SWM00] F. Smith, D. Walker, G. Morrisett. Alias types. ESOP'00, LNCS 1792.
[Serrano99] M. Serrano. Wide classes. ECOOP'99. LNCS 1628.
[Sun00] Sun Mycrosystems. Enterprise Java Beans download & specifications, 2000. http://www.java.sun.com.
[Syme99] D. Syme. Proving Java Type Soundness. Formal Syntax and Semantics of Java. LNCS 1523.
[Vir03] M. Viroli. A type-passing approach for the implementation of parametric methods in Java. The Computer Journal, 46(3), 2003.
[Wells02] J. Wells. The essence of principal typings. ICALP'02, LNCS 2380.
[Woo00] M. Woolridge. Reasoning about Rational Agents. The MIT Press, 2000.
[YH99] N. Yoshida, M.Hennessy. Subtyping and Locality in Distributed Higher Order Mobile Processes. CONCUR'99. LNCS 1664.
Parole Chiave
SISTEMI AD OGGETTI; SISTEMI DI TIPO; ESTENSIONI DI LINGUAGGI; CALCOLI DI MODULI E OGGETTI; MIXIN; ANALISI COMPOSIZIONALE; INTEROPERABILITÀ; EVOLUZIONE IMPREDICIBILE DEL SOFTWARE; RICONFIGURAZIONE DINAMICASistemi ad oggetti estendibili (EOS)
Università degli Studi di GenovaAbstract
Quando è stato introdotto più di venti anni fa, il paradigma object-oriented ha causato un profondo cambiamento nello sviluppo dei sistemi software, attraverso le nozioni chiave di oggetto come unità computazionale e di ereditarietà come meccanismo per lo sviluppo incrementale del software.Ancora oggi la sua influenza è in crescita: i linguaggi ed ambienti di programmazione più diffusi e le tecnologie emergenti sono basate su questo paradigma, all'interno del quale sono state introdotte altre idee innovative, ad esempio compilazione separata altamente flessibile, loading dinamico, linguaggi intermedi comuni per l'interoperabilità, solo per citarne alcune. Di conseguenza, l'area continua ad essere oggetto di ricerca molto attiva.
L'obiettivo di questo progetto è quello di operare un sostanziale progresso relativamente al design ed ai fondamenti dei sistemi ad oggetti "estendibili", dove con questo termine intendiamo i sistemi ad oggetti che vanno oltre gli ingredienti tradizionali del paradigma, e mirano ad incorporare caratteristiche di sempre maggiore efficacia e flessibilità. Si noti che tale "estendibilità" può essere ottenuta a due livelli complementari, cioè:
- A livello linguistico, attraverso nuovi costrutti linguistici e/o sistemi di tipo più raffinati.
- A livello meta, attraverso operazioni più potenti per la manipolazione di frammenti di codice (considerati come "scatole nere").
Nel progetto >>>
Coordinatore Scientifico del Programma di Ricerca
Elena ZUCCA Università degli Studi di GENOVAObiettivo del Programma di Ricerca
Quando è stato introdotto più di venti anni fa, il paradigma object-oriented ha causato un profondo cambiamento nello sviluppo dei sistemi software, attraverso le nozioni chiave di oggetto come unità computazionale e di ereditarietà con late binding come meccanismo per lo sviluppo incrementale del software.Ancora oggi la sua influenza è in crescita: i linguaggi ed ambienti di programmazione più diffusi e le tecnologie emergenti sono basate su questo paradigma, all'interno del quale sono state nel frattempo introdotte altre idee estremamente innovative, ad esempio compilazione separata altamente flessibile, loading dinamico, linguaggi intermedi comuni per l'interoperabilità, solo per citarne alcune. Di conseguenza, l'area continua ad essere oggetto di ricerca molto attiva, volta ad affrontare il bisogno continuo di adattamento dei linguaggi e sistemi esistenti in risposta alla richiesta di nuove caratteristiche.
L'obiettivo di questo progetto è quello di operare un sostanziale progresso relativamente al design ed ai fondamenti dei sistemi ad oggetti "estendibili", dove con questo termine intendiamo i sistemi ad oggetti che vanno oltre gli ingredienti tradizionali del paradigma ad oggetti, e mirano ad incorporare caratteristiche di sempre maggiore efficacia e flessibilità. Si noti che tale "estendibilità" può essere ottenuta a due livelli complementari, cioè:
- A livello linguistico, attraverso nuovi costrutti linguistici e/o sistemi >>>
Risultati parziali attesi
Mese 3Sito web del progetto.
Mese 12
Workshop di progetto aperto, per valutare i risultati intermedi e raffinare gli obiettivi per la seconda fase. Prevediamo i seguenti contributi per i vari task (se non specificato altrimenti, i risultati consistono in articoli scientifici da sottomettere per la pubblicazione in riviste o atti di convegni internazionali):
Task 1
- Rank 2 intersection type inference per definizioni ricorsive ed interprete prototipale per un semplice linguaggio ML-like [U4,U2]
- (Prototipi) Ricompilazione "smarter" per un sottoinsieme di Java, ricompilazione "smart" per il compilatore Java SDK [U3]
- Framework formale per inter-checking sound e completo e relazione con la nozione di principalità [U3]
- Sistema di tipo per linguaggi Java-like che permette type inference (cioè ha typing principali in senso più forte) [U3,U4]
Task 2
- Framework formale per estensioni di linguaggi [U1,U3]
- Proprietà di compatibilità per generici [U1]
- Framework di coordinazione per sistemi multi-agente [U1]
- Modello formale per linguaggi di orchestrazione [U1]
- Framework formale per il meccanismo di compilazione e loading di .NET [U3]
Task 3
- Semantica operazionale e sistema di tipo basato su tipi alias per un linguaggio object-based con delegation ed "environment awareness" [U4,U2]
- Estensione di >>>
Durata
24 mesiBase di partenza scientifica nazionale o internazionale
Viene di seguito riportato un sommario dello stato dell'arte sulla progettazione e sui fondamenti dei sistemi di oggetti estensibili, suddiviso in quattro aree, corrispondenti ai task del progetto. In particolare, le basi di partenza verranno descritte nei paragrafi contrassegnati da Attività in corsoAnalisi composizionale
Il sistema di tipi di Hindley/Milner [DM82] è il nucleo su cui si basano i sistemi di tipi dei linguaggi funzionali di ordine superiore (come ML, OCaml, and Haskell); tuttavia, esso soffre di varie limitazioni che impediscono a programmi corretti di passare la verifica dei tipi. In particolare, non è possibile assegnare tipi diversi a occorrenze diverse di un parametro formale nel corpo di una funzione. In letteratura, sono stati proposti diversi approcci per superare tali limitazioni, basati su opportune estensioni del sistema di Hindley-Milner con tipi universali [Girard72,Reynolds74], con tipi intersezione [BCDC83], con tipi ricorsivi e con loro combinazioni. I sistemi con tipi intersezione sono di particolare interesse, poichè in genere ammettono typing principali [Jim96,Wells02]. Il sistema con tipi intersezione di rango 2 ammette typing principali e riconosce come corretti tutti i programmi corretti rispetto al sistema di Hindley/Milner. Inoltre, il problema dell'inferenza di tipo è decidibile e la complessità del corrispondente algoritmo è dello stesso ordine di quello usato per il sistema di tipi di >>>



