Laurea cum laude (M.Sc.) in Computer Science at University of Pisa in 1996. PhD in Computer Science, with full marks and honours, at the Ecole des Mines de Paris, France, 2000. From May 2000 to April 2002 he was Research Fellow at the "School of Cognitive and Computing Science" of the University of Sussex, UK. From May 2002 to October 2002, Research Fellow at the "Laboratoire des Méthodes de Programmation" within the Ecole Polytechnique Fédérale de Lausanne, Switzerland. Since October 2016, he is Coordinatore of the PhD Program in Computer Science of the University of Verona, Italy. Since October 2018, he is Full Professor in Computer Science at the same university. His research interests include formal methods applied to concurrent and distributed languages. In particular, he has worked on process calculi for mobile systems, concurrent and distributed object-oriented languages, formalisation of distributed algorithms. More recently, he has been working on semantics foundations and security analysis of cyber-physical systems and smart devices in the context of the Internet of Things paradigm. On these topics, he has taught several classes, tutorials, and industrial courses, including the courses of "Network security" and "Semantics of programming languages" that he regularly teaches as part of the Master's degree in Computer Science and Engineering at the University of Verona. He has served as PC-chair and PC-member in international conferences and workshops.