Fabrizio Montesi
Professor
Research Interests
Contact this professor
About
Fabrizio Montesi is an Associate Professor at the University of Southern Denmark. His research focuses on choreographic programming, including aspects such as fault recovery, correlation models, and full-duplex asynchrony. He has published several articles on related topics, contributing significantly to the field of programming languages and their applications.
Recent Grants
Grant: Close
Choreographies for Connected IT Systems
Open Date: 2020-01-01
Close Date: 2025-01-01
Grant: Close
Evolving software systems: anaysis and innovative approaches for smart management
Open Date: 2015-01-07
Close Date: 2018-06-30
Grant: Close
Evolving software systems: anaysis and innovative approaches for smart management
Open Date: 2015-01-07
Close Date: 2018-06-30
Grant: Close
Choreographies for Reliable and efficient Communication software (CRC)
Open Date: 2014-08-01
Close Date: 2017-07-01
Articles (10)
Year:
2025
Choral: Object-oriented Choreographic Programming
Choreographies are coordination plans for concurrent and distributed systems, which define the roles of the involved participants and how they are supposed to work together. In the paradigm of choreographic programming, choreographies are programs that can be compiled into executable implementations. In this article, we present Choral, the first choreographic programming language based on mainstream abstractions. The key idea in Choral is a new notion of data type, which allows for expressing that data is distributed over different roles. We use this idea to reconstruct the paradigm of choreographic programming through object-oriented abstractions. Choreographies are classes, and instances of choreographies are objects with states and behaviours implemented collaboratively by roles. Choral comes with a compiler that, given a choreography, generates an implementation for each of its roles. These implementations are libraries in pure Java, whose types are under the control of the Choral programmer. Developers can then modularly compose these libraries in their programs, to participate correctly in choreographies. Choral is the first incarnation of choreographic programming offering such modularity, which finally connects more than a decade of research on the paradigm to practical software development. The integration of choreographic and object-oriented programming yields other powerful advantages, where the features of one paradigm benefit the other in ways that go beyond the sum of the parts. On the one hand, the high-level abstractions and static checks from the world of choreographies can be used to write concurrent and distributed object-oriented software more concisely and correctly. On the other hand, we obtain a much more expressive choreographic language from object-oriented abstractions than in previous work. This expressivity allows for writing more reusable and flexible choreographies. For example, object passing makes Choral the first higher-order choreographic programming language, whereby choreographies can be parameterised over other choreographies without any need for central coordination. We also extend method overloading to a new dimension: specialisation based on data location. Together with subtyping and generics, this allows Choral to elegantly support user-defined communication mechanisms and middleware.
Year:
2024
Year:
2024
Year:
2023
Collaborators (1)
Marco Peressotti
University of Southern Denmark

How do I reach out?
Sign in for free to see their profile details and contact information.