EDBT 2026 Demo / reviewers in the wild / expert
Hernán C. Melgratti
dblp:24/2104
· DBLP profile ↗
42ranked-venue papers
13as first author
16since 2021 · last 2026
0000-0003-0760-0618ORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Theory of computation · 25 · 9 first-author · 10 since 2021Software engineering, systems software and programming languages · 12 · 3 first-author · 6 since 2021Applied, interdisciplinary, general and emerging computing · 3 · 2 first-author · 2 since 2021Computer networks · 1 · 1 first-author · 1 since 2021Databases, data management, data science and information retrieval · 1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2026 | Compositional Design, Implementation, and Verification of SwarmsabstractSwarm protocols are a recently introduced formalism for specifying, implementing, and verifying peer-to-peer systems called swarms. A swarm consists of distributed agents called machines that communicate by asynchronous event propagation. Following a local-first model, each machine can progress without requiring continuous connectivity to other machines. Existing models of swarms are not compositional, making the modular development of large and complex swarm applications as well as the reuse of code difficult. We address these issues by presenting novel theory and techniques for the compositional specification, verification, and implementation of swarms. These results enable the correct compositional reuse of pre-existing swarm protocols and machine implementations. We implement these contributions in a companion software artifact which enables the automatic integration of independently designed and verified swarm components. Florian Furbach, Lucas Clorius, Roland Kuhn 0002, Hernán C. Melgratti, Alceste Scalas, Emilio Tuosto |
ECOOP | 4 |
| 2026 | On Reversibility in Petri Nets
Hernán C. Melgratti, Claudio Antares Mezzina, G. Michele Pinna |
FoSSaCS | 1 |
| 2026 | A Lean Mechanization of Reversible Occurrence Nets
Daniel Dávalos, Hernán C. Melgratti |
RC | 2 |
| 2025 | Behavioural, Functional, and Non-functional Contracts for Dynamic Selection of Services
Carlos López Pombo, Hernán C. Melgratti, Agustín E. Martinez Suñé, Diego Senarruzza Anabia, Emilio Tuosto |
COORDINATION | 2 |
| 2025 | Relating Reversible Petri Nets and Reversible Event Structures, categoricallyabstractCausal nets (CNs) are Petri nets where causal dependencies are modelled via inhibitor arcs. They play the role of occurrence nets when representing the behaviour of a concurrent and distributed system, even when reversibility is considered. In this paper we extend CNs to account also for asymmetric conflicts and study (i) how this kind of nets, and their reversible versions, can be turned into a category; and (ii) their relation with the categories of reversible asymmetric event structures. Hernán C. Melgratti, Claudio Antares Mezzina, G. Michele Pinna |
Log. Methods Comput. Sci. | 1 |
| 2024 | Fair Join Pattern Matching for ActorsabstractJoin patterns provide a promising approach to the development of concurrent and distributed message-passing applications. Several variations and implementations have been presented in the literature - but various aspects remain under-explored: in particular, how to specify a suitable notion of message matching, how to implement it correctly and efficiently, and how to systematically evaluate the implementation performance. In this work we focus on actor-based programming, and study the application of join patterns with conditional guards (i.e., the most expressive and challenging version of join patterns in literature). We formalise a novel specification of fair and deterministic join pattern matching, ensuring that older messages are always consumed if they can be matched. We present a stateful, tree-based join pattern matching algorithm and prove that it correctly implements our fair and deterministic matching specification. We present a novel Scala 3 actor library (called JoinActors) that implements our join pattern formalisation, leveraging macros to provide an intuitive API. Finally, we evaluate the performance of our implementation, by introducing a systematic benchmarking approach that takes into account the nuances of join pattern matching (in particular, its sensitivity to input traffic and complexity of patterns and guards). Philipp Haller, Ayman Hussein, Hernán C. Melgratti, Alceste Scalas, Emilio Tuosto |
ECOOP | 3 |
| 2024 | A Truly Concurrent Semantics for Reversible CCSabstractReversible CCS (RCCS) is a well-established, formal model for reversible communicating systems, which has been built on top of the classical Calculus of Communicating Systems (CCS). In its original formulation, each CCS process is equipped with a memory that records its performed actions, which is then used to reverse computations. More recently, abstract models for RCCS have been proposed in the literature, basically, by directly associating RCCS processes with (reversible versions of) event structures. In this paper we propose a different abstract model: starting from one of the well-known encoding of CCS into Petri nets we apply a recently proposed approach to incorporate causally-consistent reversibility to Petri nets, obtaining as result the (reversible) net counterpart of every RCCS term. Hernán C. Melgratti, Claudio Antares Mezzina, G. Michele Pinna |
Log. Methods Comput. Sci. | 1 |
| 2024 | A Reversible Perspective on Petri Nets and Event StructuresabstractEvent structures have emerged as a foundational model for concurrent computation, explaining computational processes by outlining the events and the relationships that dictate their execution. They play a pivotal role in the study of key aspects of concurrent computation models, such as causality and independence, and have found applications across a broad range of languages and models, spanning realms like persistence, probabilities, and quantum computing. Recently, event structures have been extended to address reversibility, where computational processes can undo previous computations. In this context, reversible event structures provide abstract representations of processes capable of both forward and backward steps in a computation. Since their introduction, event structures have played a crucial role in bridging operational models, traditionally exemplified by Petri nets and process calculi, with denotational ones, i.e., algebraic domains. In this context, we revisit the standard connection between Petri nets and event structures under the lenses of reversibility. Specifically, we introduce a subset of contextual Petri nets, dubbed reversible causal nets , that precisely correspond to reversible prime event structures. The distinctive feature of reversible causal nets lies in deriving causality from inhibitor arcs, departing from the conventional dependence on the overlap between the postset and preset of transitions. In this way, we are able to operationally explain the full model of reversible prime event structures. Hernán C. Melgratti, Claudio Antares Mezzina, G. Michele Pinna |
ACM Trans. Comput. Log. | 1 |
| 2023 | Behavioural Types for Local-First Software
Roland Kuhn 0002, Hernán C. Melgratti, Emilio Tuosto |
ECOOP | 2 |
| 2023 | Relating Reversible Petri Nets and Reversible Event Structures, Categorically
Hernán C. Melgratti, Claudio Antares Mezzina, G. Michele Pinna |
FORTE | 1 |
| 2023 | Multiparty testing preordersabstractVariants of the must testing approach have been successfully applied in service oriented computing for analysing the compliance between (contracts exposed by) clients and servers or, more generally, between two peers. It has however been argued that multiparty scenarios call for more permissive notions of compliance because partners usually do not have full coordination capabilities. We propose two new testing preorders, which are obtained by restricting the set of potential observers. For the first preorder, called uncoordinated, we allow only sets of parallel observers that use different parts of the interface of a given service and have no possibility of intercommunication. For the second preorder, that we call individualistic, we instead rely on parallel observers that perceive as silent all the actions that are not in the interface of interest. We have that the uncoordinated preorder is coarser than the classical must testing preorder and finer than the individualistic one. We also provide a characterisation in terms of decorated traces for both preorders: the uncoordinated preorder is defined in terms of must-sets and Mazurkiewicz traces while the individualistic one is described in terms of classes of filtered traces that only contain designated visible actions and must-sets. Rocco De Nicola, Hernán C. Melgratti |
Log. Methods Comput. Sci. | 2 |
| 2022 | Towards refinable choreographiesabstractWe investigate refinement in the context of choreographies. We introduce refinable global choreographies allowing for the underspecification of protocols, whose interactions can be refined into actual protocols. Arbitrary refinements may spoil well-formedness, which are sufficient conditions that guarantee a protocol to be implementable. We introduce a typing discipline that enforces well-formedness of typed choreographies. Then we unveil the relation among refinable choreographies and their admissible refinements in terms of an axiom scheme. Ugo de'Liguoro, Hernán C. Melgratti, Emilio Tuosto |
J. Log. Algebraic Methods Program. | 2 |
| 2022 | Categorical specification and implementation of Replicated Data Types
Fabio Gadducci, Hernán C. Melgratti, Christian Roldán, Matteo Sammartino |
Theor. Comput. Sci. | 2 |
| 2022 | A Petri net view of covalent bonds
Hernán C. Melgratti, Claudio Antares Mezzina, G. Michele Pinna |
Theor. Comput. Sci. | 1 |
| 2021 | A distributed operational view of Reversible Prime Event StructuresabstractReversible prime event structures extend the well-known model of prime event structures to represent reversible computational processes. Essentially, they give abstract descriptions of processes capable of undoing computation steps. Since their introduction, event structures have played a pivotal role in connecting operational models (traditionally, Petri nets and process calculi) with denotational ones (algebraic domains). For this reason, there has been a lot of interest in linking different classes of operational models with different kinds of event structures. Hence, it is natural to ask which is the operational counterpart of reversible prime event structures. Such question has been previously addressed for a subclass of reversible prime event structures in which the interplay between causality and reversibility is restricted to the so-called cause-respecting reversible structures. In this paper, we present an operational characterisation of the full-fledged model and show that reversible prime event structures correspond to a subclass of contextual Petri nets, called reversible causal nets. The distinctive feature of reversible causal nets is that causality is recovered from inhibitor arcs instead of the usual overlap between post and presets of transitions. In this way, we are able to operationally explain also out-of-causal order reversibility. Hernán C. Melgratti, Claudio Antares Mezzina, G. Michele Pinna |
LICS | 1 |
| 2021 | Towards a Truly Concurrent Semantics for Reversible CCS
Hernán C. Melgratti, Claudio Antares Mezzina, G. Michele Pinna |
RC | 1 |
| 2020 | Probabilistic Analysis of Binary SessionsabstractWe study a probabilistic variant of binary session types that relate to a class of Finite-State Markov Chains. The probability annotations in session types enable the reasoning on the probability that a session terminates successfully, for some user-definable notion of successful termination. We develop a type system for a simple session calculus featuring probabilistic choices and show that the success probability of well-typed processes agrees with that of the sessions they use. To this aim, the type system needs to track the propagation of probabilistic choices across different sessions. Omar Inverso, Hernán C. Melgratti, Luca Padovani, Catia Trubiani, Emilio Tuosto |
CONCUR | 2 |
| 2020 | A Choreography-Driven Approach to APIs: The OpenDXL Case Study
Leonardo Frittelli, Facundo Maldonado, Hernán C. Melgratti, Emilio Tuosto |
COORDINATION | 3 |
| 2020 | Implementation Correctness for Replicated Data Types, Categorically
Fabio Gadducci, Hernán C. Melgratti, Christian Roldán, Matteo Sammartino |
ICTAC | 2 |
| 2020 | Reversible Occurrence Nets and Causal Reversible Prime Event Structures
Hernán C. Melgratti, Claudio Antares Mezzina, Iain Phillips 0001, G. Michele Pinna, Irek Ulidowski |
RC | 1 |
| 2020 | On Resolving Non-determinism in Choreographies
Laura Bocchi, Hernán C. Melgratti, Emilio Tuosto |
Log. Methods Comput. Sci. | 2 |
| 2020 | Reversing Place Transition Nets
Hernán C. Melgratti, Claudio Antares Mezzina, Irek Ulidowski |
Log. Methods Comput. Sci. | 1 |
| 2020 | Bayesian network semantics for Petri nets
Roberto Bruni 0001, Hernán C. Melgratti, Ugo Montanari |
Theor. Comput. Sci. | 2 |
| 2019 | Reversing P/T Nets
Hernán C. Melgratti, Claudio Antares Mezzina, Irek Ulidowski |
COORDINATION | 1 |
| 2019 | A Categorical Account of Replicated Data TypesabstractReplicated Data Types (RDTs) have been introduced as a suitable abstraction for dealing with weakly consistent data stores, which may (temporarily) expose multiple, inconsistent views of their state. In the literature, RDTs are commonly specified in terms of two relations: visibility, which accounts for the different views that a store may have, and arbitration, which states the logical order imposed on the operations executed over the store. Different flavours, e.g., operational, axiomatic and functional, have recently been proposed for the specification of RDTs. In this work, we propose an algebraic characterisation of RDT specifications. We define categories of visibility relations and arbitrations, show the existence of relevant limits and colimits, and characterize RDT specifications as functors between such categories that preserve these additional structures. Fabio Gadducci, Hernán C. Melgratti, Christian Roldán, Matteo Sammartino |
FSTTCS | 2 |
| 2019 | Concurrency and Probability: Removing Confusion, CompositionallyabstractAssigning a satisfactory truly concurrent semantics to Petri nets with confusion and distributed decisions is a long standing problem, especially if one wants to resolve decisions by drawing from some probability distribution. Here we propose a general solution based on a recursive, static decomposition of (occurrence) nets in loci of decision, called structural branching cells (s-cells). Each s-cell exposes a set of alternatives, called transactions. Our solution transforms a given Petri net into another net whose transitions are the transactions of the s-cells and whose places are those of the original net, with some auxiliary structure for bookkeeping. The resulting net is confusion-free, and thus conflicting alternatives can be equipped with probabilistic choices, while nonintersecting alternatives are purely concurrent and their probability distributions are independent. The validity of the construction is witnessed by a tight correspondence with the recursively stopped configurations of Abbes and Benveniste. Some advantages of our approach are that: i) s-cells are defined statically and locally in a compositional way; ii) our resulting nets faithfully account for concurrency. Roberto Bruni 0001, Hernán C. Melgratti, Ugo Montanari |
Log. Methods Comput. Sci. | 2 |
| 2018 | Concurrency and Probability: Removing Confusion, CompositionallyabstractAssigning a satisfactory truly concurrent semantics to Petri nets with confusion and distributed decisions is a long standing problem, especially if one wants to resolve decisions by drawing from some probability distribution. Here we propose a general solution based on a recursive, static decomposition of (occurrence) nets in loci of decision, called structural branching cells (s-cells). Each s-cell exposes a set of alternatives, called transactions. Our solution transforms a given Petri net into another net whose transitions are the transactions of the s-cells and whose places are those of the original net, with some auxiliary structure for bookkeeping. The resulting net is confusion-free, and thus conflicting alternatives can be equipped with probabilistic choices, while nonintersecting alternatives are purely concurrent and their probability distributions are independent. The validity of the construction is witnessed by a tight correspondence with the recursively stopped configurations of Abbes and Benveniste. Some advantages of our approach are that: i) s-cells are defined statically and locally in a compositional way; ii) our resulting nets faithfully account for concurrency. Roberto Bruni 0001, Hernán C. Melgratti, Ugo Montanari |
LICS | 2 |
| 2018 | Event Structures for Petri nets with PersistenceabstractEvent structures are a well-accepted model of concurrency. In a seminal paper by Nielsen, Plotkin and Winskel, they are used to establish a bridge between the theory of domains and the approach to concurrency proposed by Petri. A basic role is played by an unfolding construction that maps (safe) Petri nets into a subclass of event structures, called prime event structures, where each event has a uniquely determined set of causes. Prime event structures, in turn, can be identified with their domain of configurations. At a categorical level, this is nicely formalised by Winskel as a chain of coreflections. Contrary to prime event structures, general event structures allow for the presence of disjunctive causes, i.e., events can be enabled by distinct minimal sets of events. In this paper, we extend the connection between Petri nets and event structures in order to include disjunctive causes. In particular, we show that, at the level of nets, disjunctive causes are well accounted for by persistent places. These are places where tokens, once generated, can be used several times without being consumed and where multiple tokens are interpreted collectively, i.e., their histories are inessential. Generalising the work on ordinary nets, Petri nets with persistence are related to a new subclass of general event structures, called locally connected, by means of a chain of coreflections relying on an unfolding construction. Paolo Baldan, Roberto Bruni 0001, Andrea Corradini 0001, Fabio Gadducci, Hernán C. Melgratti, Ugo Montanari |
Log. Methods Comput. Sci. | 5 |
| 2018 | On the semantics and implementation of replicated data types
Fabio Gadducci, Hernán C. Melgratti, Christian Roldán |
Sci. Comput. Program. | 2 |
| 2017 | A Denotational View of Replicated Data Types
Fabio Gadducci, Hernán C. Melgratti, Christian Roldán |
COORDINATION | 2 |
| 2017 | Chaperone contracts for higher-order sessionsabstractContracts have proved to be an effective mechanism that helps developers in identifying those modules of a program that violate the contracts of the functions and objects they use. In recent years, sessions have established as a key mechanism for realizing inter-module communications in concurrent programs. Just like values flow into or out of a function or object, messages are sent on, and received from, a session endpoint. Unlike conventional functions and objects, however, the kind, direction, and properties of messages exchanged in a session may vary over time, as the session progresses. This feature of sessions calls for contracts that evolve along with the session they describe. In this work, we extend to sessions the notion of chaperone contract (roughly, a contract that applies to a mutable object) and investigate the ramifications of contract monitoring in a higher-order language that features sessions. We give a characterization of correct module, one that honors the contracts of the sessions it uses, and prove a blame theorem. Guided by the calculus, we describe a lightweight implementation of monitored sessions as an OCaml module with which programmers can benefit from static session type checking and dynamic contract monitoring using an off-the-shelf version of OCaml. Hernán C. Melgratti, Luca Padovani |
Proc. ACM Program. Lang. | 1 |
| 2016 | A Formal Analysis of the Global Sequence Protocol
Hernán C. Melgratti, Christian Roldán |
COORDINATION | 1 |
| 2015 | cJoin: Join with communicating transactionsabstractThis paper proposes a formal approach to the design and programming of long running transactions (LRTs). We exploit techniques from process calculi to define cJoin, which is an extension of the Join calculus with few well-disciplined primitives for LRT. Transactions in cJoin are intended to describe the transactional interaction of several partners, under the assumption that any partner executing a transaction may communicate only with other transactional partners. In such case, the transactions run by any party are bound to achieve the same outcome (i.e., all succeed or all fail). Hence, a distinguishing feature of cJoin, called dynamic joinability, is that ongoing transactions can be merged to complete their tasks and when this happens either all succeed or all abort. Additionally, cJoin is based on compensations i.e., partial executions of transactions are recovered by executing user-defined programs instead of providing automatic rollback. The expressiveness and generality of cJoin is demonstrated by many examples addressing common programming patterns. The mathematical foundation is accompanied by a prototype language implementation, which is an extension of the JoCaml compiler. Roberto Bruni 0001, Hernán C. Melgratti, Ugo Montanari |
Math. Struct. Comput. Sci. | 2 |
| 2015 | On the behaviour of general purpose applications on cloud storages
Laura Bocchi, Hernán C. Melgratti |
Serv. Oriented Comput. Appl. | 2 |
| 2014 | Resolving Non-determinism in Choreographies
Laura Bocchi, Hernán C. Melgratti, Emilio Tuosto |
ESOP | 2 |
| 2011 | A Connector Algebra for P/T Nets Interactions
Roberto Bruni 0001, Hernán C. Melgratti, Ugo Montanari |
CONCUR | 2 |
| 2009 | Abstract Processes in Orchestration Languages
Maria Grazia Buscemi, Hernán C. Melgratti |
ESOP | 2 |
| 2008 | Multiparty Sessions in SOC
Roberto Bruni 0001, Ivan Lanese, Hernán C. Melgratti, Emilio Tuosto |
COORDINATION | 3 |
| 2006 | Event Structure Semantics for Nominal Calculi
Roberto Bruni 0001, Hernán C. Melgratti, Ugo Montanari |
CONCUR | 2 |
| 2006 | Dynamic Graph Transformation Systems
Roberto Bruni 0001, Hernán C. Melgratti |
ICGT | 2 |
| 2005 | Comparing Two Approaches to Compensable Flow Composition
Roberto Bruni 0001, Michael J. Butler, Carla Ferreira 0001, Tony Hoare, Hernán C. Melgratti, Ugo Montanari |
CONCUR | 5 |
| 2005 | Theoretical foundations for compensations in flow composition languagesabstractA key aspect when aggregating business processes and web services is to assure transactional properties of process ex-ecutions. Since transactions in this context may require long periods of time to complete, traditional mechanisms for guaranteeing atomicity are not always appropriate. Gen-erally the concept of long running transactions relies on a weaker notion of atomicity based on compensations. For this reason, programming languages for service composition cannot leave out two key aspects: compensations, i.e. ad hoc activities that can undo the effects of a process that fails to complete, and transactional boundaries to delimit the scope of a transactional flow. This paper presents a hierarchy of transactional calculi with increasing expressiveness. We start from a very small language in which activities can only be composed sequentially. Then, we progressively introduce parallel composition, nesting, programmable compensations and exception handling. A running example illustrates the main features of each calculus in the hierarchy. Roberto Bruni 0001, Hernán C. Melgratti, Ugo Montanari |
POPL | 2 |