Lunedi' dalle 12:30 alle 14:30 (a Vercelli) e su appuntamento inviando e-mail
Tipi Comportamentali. Studiamo la teoria dei tipi comportamentale come base per nuovi fondamenti, e metodi di sviluppo software per sistemi distribuiti ad alta intensità di comunicazione. I tipi comportamentali sono usati per specificare i protocolli, e le coreografie in sistemi complessi, fornendo astrazioni per la strutturazione del comportamento di comunicazioni complesse.
Sistemi di tipo Sub-Strutturali. Studiamo sistemi di tipi per linguaggi di programmazione che modellano l'utilizzo delle risorse. Recentemente abbiamo iniziato a utilizzare i "coeffetti" per modellare una varietà di risorse e la loro uso durante l'esecuzione di un programma. Per il momento, la nostra indagine si è rivolta al paradigma orientato agli oggetti, ma stiamo progettando di estendere le nostre tecniche ad altri paradigmi.
Linguaggi Dinamici. In questa area si indagano i fondamenti dei
linguaggi dinamici e il loro uso come linguaggi oggetto per la compilazione di
linguaggi funzionali. L'obiettivo è quello di fornire le basi teoriche e
strumenti pratici per gestire linguaggi che supportano il controllo di tipo
statico e dinamico.
Adattamento di Linguaggi. Progettiamo e diamo una definizione
formale per i micro-linguaggi di programmazione e la loro mappatura su
applicazioni. Analizziamo i linguaggi di uso comune in termini di
micro-linguaggi, e sviluppiamo algoritmi per l'identificazione automatica delle
specificità delle applicazioni e la loro associazione ai micro-linguaggi.
Behavioral Types. We study behavioral type theory as the basis for new foundations, and software development methods for communication-intensive distributed systems. We use behavioral types to specify protocols, and choreography in large-scale systems, providing structuring abstractions for complex communication behavior.
Sub-Structural Type Systems. We study type systems for programming languages modelling resource usage. Recently we started using the general framework of "coeffects" to model a variety of resources and their accounting during the execution of a program. Our investigation is mainly for the object oriented paradigm, but we are planning to extend our techniques to other paradigms.
Dynamic Languages. In this area we investigate the
foundations of dynamic languages and their use as target languages for
compilation of functional languages. The aim is to provide theoretical
foundations and practical tools to deal with languages that support static and
dynamic type checking.
Language Adaptation. We design and give a formal
definition for micro-languages and their mapping to application features. We
analyze mainstream languages in terms of micro-languages, and develop
algorithms for the automatic identification of application concerns and
their association with the micro-languages.