«When you don't know where you're going, every road will take you there.»
Yiddish Proverb (Northern Exposure)

on this page

research interests

My current research interests regard the use of formal methods for the description and analysis of concurrent and distributed systems. In particular, I'm interested in process algebras with and without mobility (CCS, CSP, ᴨ-calculus, Join-Calculus) and other models of concurrency (Petri nets). Most of my research is about behavioral types, namely contracts and session types, and static forms of analysis for enforcing various safety properties (absence of communication errors, orphan messages, etc.) and liveness properties (progress, lock freedom, etc.). I'm particularly fond of semantically grounded refinement and subtyping relations, such as must and fair testing. I have contributed to the implementation of some concurrent and distributed languages, in particular JCB (an implementation of the distributed Join-Calculus) and PiDuce (an extension of the π-calculus with XML datatypes and Web service integration).

In the past I have worked on the application of XML technologies to the representation, distribution, and presentation of formalized mathematics on the Web. In particular, on rendering scientific/technical documents with embedded MathML fragments. This led to the development of GtkMathView, a multi-purpose rendering engine for MathML which has been used in the HELM and Matita projects, as well as by the John Wiley & sons publisher for the online publishing some scientific textbooks.

When I used to have some spare time (which is no longer the case), I also studied the design and implementation of functional programming languages. This interest has culminated in the (never finished, but working) Carbon programming language.


current projects

past projects



made with LESS CSS validate XHTML 1.1 CSS 3 URLs modified Fri, 29 Aug 2014Flag Counter