EDBT 2026 Demo / reviewers in the wild / expert
Fabrizio Montesi
dblp:65/3603
· DBLP profile ↗
52ranked-venue papers
5as first author
26since 2021 · last 2026
0000-0003-4666-901XORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 29 · 3 first-author · 16 since 2021Theory of computation · 15 · 1 first-author · 6 since 2021Computer networks · 5 · 1 first-author · 1 since 2021Artificial intelligence and machine learning · 2 · 2 since 2021Systems, architecture and hardware · 1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2026 | Benchmarking API Data Transfer Refactorings to Service-Oriented ArchitecturesabstractRefactoring service-oriented software is crucial for competitiveness, security, and reliability. While the migration of monoliths to (micro-)services is well-studied, the evolution of a service-oriented architecture - particularly, the integration of API patterns - falls short, leaving practitioners with little knowledge on the impact of architectural refactorings. In this article, we employ an existing framework for applying refactorings either internally in the refactored service(s), adjacently (in the same application but another service component), or externally in a remote service. We study the impact on performance as observed on the client side of these implementation variants. Our work offers evidence-based guidance for building competitive service-oriented architectures upon evolution. Sandra Greiner 0001, Narongrit Unwerawattana, Niels Erik Jepsen, Fabrizio Montesi |
ICSA | 4 |
| 2026 | Choreography-defined networks: Concepts and a case study on AI-based attack detectionabstractModern network infrastructures increasingly rely on Software-Defined Networking (SDN) and Network Function Virtualisation (NFV) to achieve flexibility, scalability, and efficiency. While these paradigms facilitate the deployment of Cloud-native Network Functions (CNF), they lack tools for high-level programming and guarantees on correct multi-component compositions. We introduce Choreography-Defined Networking (CDN), a methodology that applies choreographic programming to the specification and implementation of SDN compositions. In CDN, developers write a single global choreography that describes interactions among CNFs and a compiler generates endpoint code that coordinate them as specified in the choreography. CDN delivers correctness-by-construction guarantees – including deadlock freedom and communication-type safety – while eliminating the need for a centralised orchestrator, replaced by direct, parallel communication among CNFs. To evaluate our methodology, we use CDN to design and implement a case study on a distributed, AI-enhanced SDN composition for volumetric attack detection and mitigation, in which four CNFs collaboratively analyse traffic using volumetric anomaly inspection, machine-learning classification, and signature matching. We compare this CDN implementation against two SDN baselines: a classical controller-driven chain and a hybrid solution that repurposes network traffic as a management channel. Experiments across four representative attack scenarios show that the CDN approach reduces mean decision latency by approximately 15% over both baselines, while generating up to 80% less management traffic. These results confirm that CDN allows to raise the abstraction level at which one writes distributed SDN compositions without compromising – actually improving – runtime performance in real-world network deployments. Saverio Giallorenzo, Jacopo Mauro, Andrea Melis 0001, Fabrizio Montesi, Marco Peressotti, Marco Prandini |
Inf. Softw. Technol. | 4 |
| 2025 | Formulas as Processes, Deadlock-Freedom as ChoreographiesabstractAbstract We introduce a novel approach to studying properties of processes in the $$\pi $$ π -calculus based on a processes-as-formulas interpretation, by establishing a correspondence between specific sequent calculus derivations and computation trees in the reduction semantics of the recursion-free $$\pi $$ π -calculus. Our method provides a simple logical characterisation of deadlock-freedom for the recursion- and race-free fragment of the $$\pi $$ π -calculus, supporting key features such as cyclic dependencies and an independence of the name restriction and parallel operators. Based on this technique, we establish a strong completeness result for a nontrivial choreographic language: all deadlock-free and race-free finite $$\pi $$ π -calculus processes composed in parallel at the top level can be faithfully represented by a choreography. With these results, we show how the computation-as-derivation paradigm extends the reach of logical methods for the study of concurrency, by bridging gaps between logic, the expressiveness of the $$\pi $$ π -calculus, and the expressiveness of choreographic languages. Matteo Acclavio, Giulia Manara, Fabrizio Montesi |
ESOP (1) | 3 |
| 2025 | CRGC: Fault-Recovering Actor Garbage Collection in PekkoabstractActors are lightweight reactive processes that communicate by asynchronous message-passing. Actors address common problems like concurrency control and fault tolerance, but resource management remains challenging: in all four of the most popular actor frameworks (Pekko, Akka, Erlang, and Elixir) programmers must explicitly kill actors to free up resources. To simplify resource management, researchers have devised actor garbage collectors (actor GCs) that monitor the application and detect when actors are safe to kill. However, existing actor GCs are impractical for distributed systems where the network is unreliable and nodes can fail. The simplest actor GCs do not collect cyclic garbage, whereas more sophisticated actor GCs are not fault-recovering : dropped messages and crashed nodes can cause actors to become garbage that never gets collected. We present Conflict-free Replicated Garbage Collection (CRGC): the first fault-recovering cyclic actor GC. In CRGC, actors and nodes record information locally and broadcast updates to the garbage collectors running on each node. CRGC does not require locks, explicit memory barriers, or any assumptions about message delivery order, except for reliable FIFO channels from actors to their local garbage collector. Moreover, CRGC is simple: we concisely present its operational semantics, which has been formalized in TLA + , and prove both soundness (non-garbage actors are never killed) and completeness (all garbage actors are eventually killed, under reasonable assumptions). We also present a preliminary implementation in Apache Pekko and measure its performance using two actor benchmark suites. Our results show the performance overhead of CRGC is competitive with simpler approaches like weighted reference counting, while also being much more powerful. Dan Plyukhin, Gul A. Agha, Fabrizio Montesi |
Proc. ACM Program. Lang. | 3 |
| 2025 | Relax! The Semilenient Core of Choreographic Programming (Functional Pearl)abstractThe past few years have seen a surge of interest in choreographic programming, a programming paradigm for concurrent and distributed systems. The paradigm allows programmers to implement a distributed interaction protocol with a single high-level program, called a choreography, and then mechanically project it into correct implementations of its participating processes. A choreography can be expressed as a λ -term parameterized by constructors for creating data “at” a process and for communicating data between processes. Through this lens, recent work has shown how one can add choreographies to mainstream languages like Java, or even embed choreographies as a DSL in languages like Haskell and Rust. These new choreographic languages allow programmers to write in applicative style (like in functional programming) and write higher-order choreographies for better modularity. But the semantics of functional choreographic languages is not well-understood. Whereas typical λ -calculi can have their operational semantics defined with just a few rules, existing models for choreographic λ -calculi have dozens of complex rules and no clear or agreed-upon evaluation strategy . We show that functional choreographic programming is simple. Beginning with the Chor λ model from previous work, we strip away inessential features to produce a “core” model called λ χ . We discover that underneath Chor λ ’s apparently ad-hoc semantics lies a close connection to non-strict λ -calculi; we call the resulting evaluation strategy semilenient . Then, inspired by previous non-strict calculi, we develop a notion of choreographic evaluation contexts and a special commute rule to simplify and explain the unusual semantics of functional choreographic languages. The extra structure leads us to a presentation of λ χ with just ten rules, and a discovery of three missing rules in previous presentations of Chor λ . We also show how the extra structure comes with nice properties, which we use to simplify the correspondence proof between choreographies and their projections. Our model serves as both a principled foundation for functional choreographic languages and a good entry point for newcomers. Dan Plyukhin, Xueying Qin, Fabrizio Montesi |
Proc. ACM Program. Lang. | 3 |
| 2025 | JoT: A Jolie framework for testing microservices
Saverio Giallorenzo, Fabrizio Montesi, Marco Peressotti, Florian Rademacher, Narongrit Unwerawattana |
Sci. Comput. Program. | 2 |
| 2024 | Ozone: Fully Out-of-Order ChoreographiesabstractChoreographic programming is a paradigm for writing distributed applications. It allows programmers to write a single program, called a choreography, that can be compiled to generate correct implementations of each process in the application. Although choreographies provide good static guarantees, they can exhibit high latency when messages or processes are delayed. This is because processes in a choreography typically execute in a fixed, deterministic order, and cannot adapt to the order that messages arrive at runtime. In non-choreographic code, programmers can address this problem by allowing processes to execute out of order - for instance by using futures or reactive programming. However, in choreographic code, out-of-order process execution can lead to serious and subtle bugs, called communication integrity violations (CIVs). In this paper, we develop a model of choreographic programming for out-of-order processes that guarantees absence of CIVs and deadlocks. As an application of our approach, we also introduce an API for safe non-blocking communication via futures in the choreographic programming language Choral. The API allows processes to execute out of order, participate in multiple choreographies concurrently, and to handle unordered data messages. We provide an illustrative evaluation of our API, showing that out-of-order execution can reduce latency and increase throughput by overlapping communication with computation. Dan Plyukhin, Marco Peressotti, Fabrizio Montesi |
ECOOP | 3 |
| 2024 | Choreography-Defined Networks: A Case Study on DoS Mitigation
Saverio Giallorenzo, Jacopo Mauro, Andrea Melis 0001, Fabrizio Montesi, Marco Peressotti, Marco Prandini |
ICSOC (2) | 4 |
| 2024 | A Toolchain for Checking Domain- and Model-Driven Properties of Jolie Microservices
Saverio Giallorenzo, Fabrizio Montesi, Marco Peressotti, Florian Rademacher, Sabine Sachweh, Philip Wizenty |
ICSOC (2) | 2 |
| 2024 | Alice or Bob?: Process polymorphism in choreographiesabstractAbstract We present PolyChor $\lambda$ , a language for higher-order functional choreographic programming —an emerging paradigm for concurrent programming. In choreographic programming, programmers write the desired cooperative behaviour of a system of processes and then compile it into an implementation for each process, a translation called endpoint projection . Unlike its predecessor, Chor $\lambda$ , PolyChor $\lambda$ has both type and process polymorphism inspired by System F $_\omega$ . That is, PolyChor $\lambda$ is the first (higher-order) functional choreographic language which gives programmers the ability to write generic choreographies and determine the participants at runtime. This novel combination of features also allows PolyChor $\lambda$ processes to communicate distributed values , leading to a new and intuitive way to write delegation. While some of the functional features of PolyChor $\lambda$ give it a weaker correspondence between the semantics of choreographies and their endpoint-projected concurrent systems than some other choreographic languages, we still get the hallmark end result of choreographic programming: projected programmes are deadlock-free by design. Eva Graversen, Andrew K. Hirsch, Fabrizio Montesi |
J. Funct. Program. | 3 |
| 2024 | Choral: Object-oriented Choreographic ProgrammingabstractChoreographies 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. Saverio Giallorenzo, Fabrizio Montesi, Marco Peressotti |
ACM Trans. Program. Lang. Syst. | 2 |
| 2023 | Reasoning About Choreographic Programs
Luís Cruz-Filipe, Eva Graversen, Fabrizio Montesi, Marco Peressotti |
COORDINATION | 3 |
| 2023 | JoT: A Jolie Framework for Testing Microservices
Saverio Giallorenzo, Fabrizio Montesi, Marco Peressotti, Florian Rademacher, Narongrit Unwerawattana |
COORDINATION | 2 |
| 2023 | Modular Compilation for Higher-Order Functional ChoreographiesabstractChoreographic programming is a paradigm for concurrent and distributed software, whereby descriptions of the intended communications (choreographies) are automatically compiled into distributed code with strong safety and liveness properties (e.g., deadlock-freedom). Recent efforts tried to combine the theories of choreographic programming and higher-order functional programming, in order to integrate the benefits of the former with the modularity of the latter. However, they do not offer a satisfactory theory of compilation compared to the literature, because of important syntactic and semantic shortcomings: compilation is not modular (editing a part might require recompiling everything) and the generated code can perform unexpected global synchronisations. In this paper, we find that these shortcomings are not mere coincidences. Rather, they stem from genuine new challenges posed by the integration of choreographies and functions: knowing which participants are involved in a choreography becomes nontrivial, and divergence in applications requires rethinking how to prove the semantic correctness of compilation. We present a novel theory of compilation for functional choreographies that overcomes these challenges, based on types and a careful design of the semantics of choreographies and distributed code. The result: a modular notion of compilation, which produces code that is deadlock-free and correct (it operationally corresponds to its source choreography). Luís Cruz-Filipe, Eva Graversen, Lovro Lugovic, Fabrizio Montesi, Marco Peressotti |
ECOOP | 4 |
| 2023 | Certified Compilation of Choreographies with hacc
Luís Cruz-Filipe, Lovro Lugovic, Fabrizio Montesi |
FORTE | 3 |
| 2023 | Now It Compiles! Certified Automatic Repair of Uncompilable ProtocolsabstractChoreographic programming is a paradigm where developers write the global specification (called choreography) of a communicating system, and then a correct-by-construction distributed implementation is compiled automatically. Unfortunately, it is possible to write choreographies that cannot be compiled, because of issues related to an agreement property known as knowledge of choice. This forces programmers to reason manually about implementation details that may be orthogonal to the protocol that they are writing. Amendment is an automatic procedure for repairing uncompilable choreographies. We present a formalisation of amendment from the literature, built upon an existing formalisation of choreographic programming. However, in the process of formalising the expected properties of this procedure, we discovered a subtle counterexample that invalidates the original published and peer-reviewed pen-and-paper theory. We discuss how using a theorem prover led us to both finding the issue, and stating and proving a correct formulation of the properties of amendment. Luís Cruz-Filipe, Fabrizio Montesi |
ITP | 2 |
| 2023 | Keep me out of the loop: a more flexible choreographic projectionabstractChoreographic programming is a paradigm where programmers write global descrip- tions of distributed protocols, called choreographies, and correct implementations are au- tomatically generated by a mechanism called projection. Not all choreographies are pro- jectable, because decisions made by one process must be communicated to other processes whose behaviour depends on them – a property known as knowledge of choice. The standard formulation of knowledge of choice disallows protocols such as third-party authentication with retries, where two processes iteratively interact, and other processes wait to be notified at the end of this loop. In this work we show how knowledge of choice can be weakened, extending the class of projectable choreographies with these and other interesting behaviours. The whole development is formalised in Coq. Working with a proof assistant was crucial to our development, because of the help it provided with detecting counterintuitive edge cases that would otherwise have gone unnoticed. Luís Cruz-Filipe, Fabrizio Montesi, Robert R. Rasmussen |
LPAR | 2 |
| 2023 | A Formal Theory of Choreographic ProgrammingabstractAbstract Choreographic programming is a paradigm for writing coordination plans for distributed systems from a global point of view, from which correct-by-construction decentralised implementations can be generated automatically. Theory of choreographies typically includes a number of complex results that are proved by structural induction. The high number of cases and the subtle details in some of these proofs has led to important errors being found in published works. In this work, we formalise the theory of a choreographic programming language in Coq. Our development includes the basic properties of this language, a proof of its Turing completeness, a compilation procedure to a process language, and an operational characterisation of the correctness of this procedure. Our formalisation experience illustrates the benefits of using a theorem prover: we get both an additional degree of confidence from the mechanised proof, and a significant simplification of the underlying theory. Our results offer a foundation for the future formal development of choreographic languages. Luís Cruz-Filipe, Fabrizio Montesi, Marco Peressotti |
J. Autom. Reason. | 2 |
| 2023 | LEMMA2Jolie: A tool to generate microservice APIs from domain models
Saverio Giallorenzo, Fabrizio Montesi, Marco Peressotti, Florian Rademacher |
Sci. Comput. Program. | 2 |
| 2022 | Model-Driven Generation of Microservice Interfaces: From LEMMA Domain Models to Jolie APIs
Saverio Giallorenzo, Fabrizio Montesi, Marco Peressotti, Florian Rademacher |
COORDINATION | 2 |
| 2022 | Functional Choreographic Programming
Luís Cruz-Filipe, Eva Graversen, Lovro Lugovic, Fabrizio Montesi, Marco Peressotti |
ICTAC | 4 |
| 2022 | From Infinity to Choreographies - Extraction for Unbounded Systems
Bjørn Angel Kjær, Luís Cruz-Filipe, Fabrizio Montesi |
LOPSTR | 3 |
| 2021 | Jolie and LEMMA: Model-Driven Engineering and Programming Languages Meet on Microservices
Saverio Giallorenzo, Fabrizio Montesi, Marco Peressotti, Florian Rademacher, Sabine Sachweh |
COORDINATION | 2 |
| 2021 | Multiparty Languages: The Choreographic and Multitier Cases (Pearl)abstractChoreographic languages aim to express multiparty communication protocols, by providing primitives that make interaction manifest. Multitier languages enable programming computation that spans across several tiers of a distributed system, by supporting primitives that allow computation to change the location of execution. Rooted into different theoretical underpinnings - respectively process calculi and lambda calculus - the two paradigms have been investigated independently by different research communities with little or no contact. As a result, the link between the two paradigms has remained hidden for long. In this paper, we show that choreographic languages and multitier languages are surprisingly similar. We substantiate our claim by isolating the core abstractions that differentiate the two approaches and by providing algorithms that translate one into the other in a straightforward way. We believe that this work paves the way for joint research and cross-fertilisation among the two communities. Saverio Giallorenzo, Fabrizio Montesi, Marco Peressotti, David Richter 0001, Guido Salvaneschi, Pascal Weisenburger |
ECOOP | 2 |
| 2021 | Certifying Choreography Compilation
Luís Cruz-Filipe, Fabrizio Montesi, Marco Peressotti |
ICTAC | 2 |
| 2021 | Formalising a Turing-Complete Choreographic Language in CoqabstractThe theory of choreographic languages typically includes a number of complex results that are proved by structural induction. The high number of cases and the subtle details in some of them lead to long reviewing processes, and occasionally to errors being found in published proofs. In this work, we take a published proof of Turing completeness of a choreographic language and formalise it in Coq. Our development includes formalising the choreographic language, its basic properties, Kleene’s theory of partial recursive functions, the encoding of these functions as choreographies, and a proof that this encoding is correct. With this effort, we show that theorem proving can be a very useful tool in the field of choreographic languages: besides the added degree of confidence that we get from a mechanised proof, the formalisation process led us to a significant simplification of the underlying theory. Our results offer a foundation for the future formal development of choreographic languages. Luís Cruz-Filipe, Fabrizio Montesi, Marco Peressotti |
ITP | 2 |
| 2020 | A core model for choreographic programming
Luís Cruz-Filipe, Fabrizio Montesi |
Theor. Comput. Sci. | 2 |
| 2019 | No More, No Less - A Formal Model for Serverless Computing
Maurizio Gabbrielli, Saverio Giallorenzo, Ivan Lanese, Fabrizio Montesi, Marco Peressotti, Stefano Pio Zingaro |
COORDINATION | 4 |
| 2019 | Better late than never: a fully-abstract semantics for classical processesabstractWe present Hypersequent Classical Processes (HCP), a revised interpretation of the “Proofs as Processes” correspondence between linear logic and the π-calculus initially proposed by Abramsky [1994], and later developed by Bellin and Scott [1994], Caires and Pfenning [2010], and Wadler [2014], among others. HCP mends the discrepancies between linear logic and the syntax and observable semantics of parallel composition in the π-calculus, by conservatively extending linear logic to hyperenvironments (collections of environments, inspired by the hypersequents by Avron [1991]). Separation of environments in hyperenvironments is internalised by ⊗ and corresponds to parallel process behaviour. Thanks to this property, for the first time we are able to extract a labelled transition system (lts) semantics from proof rewritings. Leveraging the information on parallelism at the level of types, we obtain a logical reconstruction of the delayed actions that Merro and Sangiorgi [2004] formulated to model non-blocking I/O in the π-calculus. We define a denotational semantics for processes based on Brzozowski derivatives, and uncover that non-interference in HCP corresponds to Fubini’s theorem of double antiderivation. Having an lts allows us to validate HCP using the standard toolbox of behavioural theory. We instantiate bisimilarity and barbed congruence for HCP, and obtain a full abstraction result: bisimilarity, denotational equivalence, and barbed congruence coincide. Wen Kokke, Fabrizio Montesi, Marco Peressotti |
Proc. ACM Program. Lang. | 2 |
| 2018 | Applied Choreographies
Saverio Giallorenzo, Fabrizio Montesi, Maurizio Gabbrielli |
FORTE | 2 |
| 2018 | Multiparty Classical Choreographies
Marco Carbone, Luís Cruz-Filipe, Fabrizio Montesi, Agata Murawska |
LOPSTR | 3 |
| 2018 | Choreographies, logically
Marco Carbone, Fabrizio Montesi, Carsten Schürmann 0001 |
Distributed Comput. | 2 |
| 2017 | Packaging Microservices - (Work in Progress)
Fabrizio Montesi, Dan Sebastian Thrane |
DAIS | 1 |
| 2017 | Procedural Choreographic Programming
Luís Cruz-Filipe, Fabrizio Montesi |
FORTE | 2 |
| 2017 | Classical Higher-Order Processes - (Short Paper)
Fabrizio Montesi |
FORTE | 1 |
| 2017 | The Paths to Choreography Extraction
Luís Cruz-Filipe, Kim S. Larsen, Fabrizio Montesi |
FoSSaCS | 3 |
| 2017 | Multiparty session types as coherence proofs
Marco Carbone, Fabrizio Montesi, Carsten Schürmann 0001, Nobuko Yoshida |
Acta Informatica | 2 |
| 2016 | Data-Driven Workflows for Microservices: Genericity in JolieabstractMicroservices is an architectural style inspired by service-oriented computing that has recently started gainingpopularity. Jolie is a programming language based on the microservices paradigm: the main building block of Jolie systems are services, in contrast to, e.g., functions or objects. The primitives offered by the Jolie language elicit many of the recurring patterns found in microservices, like load balancers and structured processes. However, Jolie still lacks some useful constructs for dealing with message types and data manipulation that are present in service-oriented computing. In this paper, we focus on the possibility of expressing choices at the level of data types, a feature well represented in standards for Web Services, e.g., WSDL. We extend Jolie to support such type choices, and enable Jolie processes to act on data generically (without knowing which type it has in the choice). We show the impact of our implementation on some of the typical scenarios found in microservice systems. This shows how computation can move from a process-driven to a data-driven approach, and leads to the preliminary identification of recurring communication patterns that can be shaped as design patterns. Larisa Safina, Manuel Mazzara, Fabrizio Montesi, Victor Rivera |
AINA | 3 |
| 2016 | Coherence Generalises Duality: A Logical Explanation of Multiparty Session TypesabstractWadler introduced Classical Processes (CP), a calculus based on a propositions-as-types correspondence between propositions of classical linear logic and session types. Carbone et al. introduced Multiparty Classical Processes, a calculus that generalises CP to multiparty session types, by replacing the duality of classical linear logic (relating two types) with a more general notion of coherence (relating an arbitrary number of types). This paper introduces variants of CP and MCP, plus a new intermediate calculus of Globally-governed Classical Processes (GCP). We show a tight relation between these three calculi, giving semantics-preserving translations from GCP to CP and from MCP to GCP. The translation from GCP to CP interprets a coherence proof as an arbiter process that mediates communications in a session, while MCP adds annotations that permit processes to communicate directly without centralised control. Marco Carbone, Sam Lindley, Fabrizio Montesi, Carsten Schürmann 0001, Philip Wadler |
CONCUR | 3 |
| 2016 | Choreographies in Practice
Luís Cruz-Filipe, Fabrizio Montesi |
FORTE | 2 |
| 2016 | Process-aware web programming with Jolie
Fabrizio Montesi |
Sci. Comput. Program. | 1 |
| 2015 | Multiparty Session Types as Coherence ProofsabstractWe propose a Curry-Howard correspondence between a language for programming multiparty sessions and a generalisation of Classical Linear Logic (CLL). In this framework, propositions correspond to the local behaviour of a participant in a multiparty session type, proofs to processes, and proof normalisation to executing communications. Our key contribution is generalising duality, from CLL, to a new notion of n-ary compatibility, called coherence. Building on coherence as a principle of compositionality, we generalise the cut rule of CLL to a new rule for composing many processes communicating in a multiparty session. We prove the soundness of our model by showing the admissibility of our new rule, which entails deadlock-freedom via our correspondence. Marco Carbone, Fabrizio Montesi, Carsten Schürmann 0001, Nobuko Yoshida |
CONCUR | 2 |
| 2015 | Special issue on Service-Oriented Architecture and Programming (SOAP 2013)
Ivan Lanese, Manuel Mazzara, Fabrizio Montesi |
Sci. Comput. Program. | 3 |
| 2014 | Choreographies, Logically
Marco Carbone, Fabrizio Montesi, Carsten Schürmann 0001 |
CONCUR | 2 |
| 2014 | Progress as Compositional Lock-Freedom
Marco Carbone, Ornela Dardha, Fabrizio Montesi |
COORDINATION | 3 |
| 2013 | Compositional Choreographies
Fabrizio Montesi, Nobuko Yoshida |
CONCUR | 1 |
| 2013 | Deadlock-freedom-by-design: multiparty asynchronous global programmingabstractOver the last decade, global descriptions have been successfully employed for the verification and implementation of communicating systems, respectively as protocol specifications and choreographies. In this work, we bring these two practices together by proposing a purely-global programming model. We show a novel interpretation of asynchrony and parallelism in a global setting and develop a typing discipline that verifies choreographies against protocol specifications, based on multiparty sessions. Exploiting the nature of global descriptions, our type system defines a new class of deadlock-free concurrent systems (deadlock-freedom-by-design), provides type inference, and supports session mobility. We give a notion of Endpoint Projection (EPP) which generates correct entity code (as pi-calculus terms) from a choreography. Finally, we evaluate our approach by providing a prototype implementation for a concrete programming language and by applying it to some examples from multicore and service-oriented programming. Marco Carbone, Fabrizio Montesi |
POPL | 2 |
| 2011 | An Efficient Management of Correlation Sets with Broadcast
Jacopo Mauro, Maurizio Gabbrielli, Claudio Guidi, Fabrizio Montesi |
COORDINATION | 4 |
| 2011 | Programming Services with Correlation Sets
Fabrizio Montesi, Marco Carbone |
ICSOC | 1 |
| 2010 | Error Handling: From Theory to Practice
Ivan Lanese, Fabrizio Montesi |
ISoLA (2) | 2 |
| 2009 | Dynamic Error Handling in Service Oriented ApplicationsabstractService Oriented Computing (SOC) allows for the composition of services which communicate using unidirectional one-way or bidirectional request-response communication patterns. Most service orchestration languages proposed so far provide also primitives for error handling based on fault, termination, and compensation handlers. Our work is motivated by the difficulties encountered in programming some error handling strategies using current error handling primitives. We propose as a solution an orchestration programming style in which handlers are dynamically installed. We assess our proposal by formalizing our approach as an extension of the process calculus SOCK and by proving that our formalization satisfies some expected high-level properties. Claudio Guidi, Ivan Lanese, Fabrizio Montesi, Gianluigi Zavattaro |
Fundam. Informaticae | 3 |
| 2008 | Bridging the Gap between Interaction- and Process-Oriented ChoreographiesabstractIn service oriented computing, choreography languages are used to specify multi-party service compositions. Two main approaches have been followed: the interaction-oriented approach of WS-CDL and the process-oriented approach of BPEL4Chor. We investigate the relationship between them.In particular, we consider several interpretations for interaction-oriented choreographies spanning from synchronous to asynchronous communication. Under each of these interpretations we characterize the class of interaction-oriented choreographies which have a process-oriented counterpart, and we formalize the notion of equivalence between the initial interaction-oriented choreography and the corresponding process-oriented one. Ivan Lanese, Claudio Guidi, Fabrizio Montesi, Gianluigi Zavattaro |
SEFM | 3 |