Laura Bocchi

dblp:34/1918 · DBLP profile ↗
← Back
31ranked-venue papers
24as first author
9since 2021 · last 2026
0000-0002-7177-9395ORCID · corroborated

Domains — the database's venue-derived domains; a paper can count in several

Theory of computation · 14 · 10 first-author · 4 since 2021Software engineering, systems software and programming languages · 13 · 11 first-author · 3 since 2021Computer networks · 2 · 1 first-author · 1 since 2021Applied, interdisciplinary, general and emerging computing · 1 · 1 first-author
YearPublicationVenuePosition
2026 Mixed Choice in Asynchronous Multiparty Session Types
abstract
We present a multiparty session type (MST) framework with asynchronous mixed choice (MC). We propose a core construct for MC that allows transient inconsistencies in protocol state between distributed participants, but ensures all participants can always eventually reach a mutually consistent state. We prove the correctness of our system by establishing a progress property and an operational correspondence between global types and distributed local type projections. Based on our theory, we implement a practical toolchain for specifying and validating asynchronous MST protocols featuring MC, and programming compliant gen_statem processes in Erlang/OTP. We test our framework by using our toolchain to specify and reimplement part of the amqp_client of the RabbitMQ broker for Erlang.
Laura Bocchi, Raymond Hu, Adriana Laura Voinea, Simon J. Thompson
Proc. ACM Program. Lang.1
2025 Abstract Subtyping for Asynchronous Multiparty Sessions
abstract
Session subtyping answers the question of whether a program in a communicating system can be safely substituted for another, when their communication behaviour is described by session types. Asynchronous session subtyping is undecidable, even for two participants, hence the interest in sound, but incomplete, subtyping algorithms. Asynchronous multiparty subtyping can be formulated by decomposing session types into single input and output types which preclude, respectively, external and internal choice. This paper shows how abstract interpretation can sit atop this approach and how it leads to an algorithm that can prove subtyping for intricate communication patterns.
Laura Bocchi, Andy King, Maurizio Murgia 0001, Simon J. Thompson
CONCUR1
2025 Timeout Asynchronous Session Types: Safe Asynchronous Mixed-Choice For Timed Interactions
abstract
Mixed-choice has long been barred from models of asynchronous communication since it compromises the decidability of key properties of communicating finite-state machines. Session types inherit this restriction, which precludes them from fully modelling timeouts -- a core property of web and cloud services. To address this deficiency, we present (binary) Timeout Asynchronous Session Types (TOAST) as an extension to (binary) asynchronous timed session types, that permits mixed-choice. TOAST deploys timing constraints to regulate the use of mixed-choice so as to preserve communication safety. We provide a new behavioural semantics for TOAST which guarantees progress in the presence of mixed-choice. Building upon TOAST, we provide a calculus featuring process timers which is capable of modelling timeouts using a receive-after pattern, much like Erlang, and capture the correspondence with TOAST specifications via a type system for which we prove subject reduction.
Jonah Pears, Laura Bocchi, Maurizio Murgia 0001, Andy King
Log. Methods Comput. Sci.2
2024 Asynchronous Subtyping by Trace Relaxation
abstract
Abstract Session subtyping answers the question of whether a program in a communicating system can be safely substituted for another, when their communication behaviours are described by session types. Asynchronous session subtyping is undecidable, hence the interest in devising sound, although incomplete, subtyping algorithms. State-of-the-art algorithms are formulated in terms of a data-structure called input trees. We show how input trees can be replaced by sets of traces, which opens up opportunities for applying techniques abstract interpretation techniques to the problem of asynchronous session subtyping. Sets of traces can be relaxed (enlarged) whilst still allowing subtyping to be observed, and one can choose relaxations that can be finitely represented, even when the input trees are arbitrarily large. We instantiate this strategy using regular expressions and show that it allows subtyping to be mechanically proven for communication patterns that were previously out of reach.
Laura Bocchi, Andy King, Maurizio Murgia 0001
TACAS (1)1
2024 revTPL: The Reversible Temporal Process Language
abstract
Reversible debuggers help programmers to find the causes of misbehaviours in concurrent programs more quickly, by executing a program backwards from the point where a misbehaviour was observed, and looking for the bug(s) that caused it. Reversible debuggers can be founded on the well-studied theory of causal-consistent reversibility, which only allows one to undo an action provided that its consequences, if any, are undone beforehand. Causal-consistent reversibility yields more efficient debugging by reducing the number of states to be explored when looking backwards. Till now, causal-consistent reversibility has never considered time, which is a key aspect in real-world applications. Here, we study the interplay between reversibility and time in concurrent systems via a process algebra. The Temporal Process Language (TPL) by Hennessy and Regan is a well-understood extension of CCS with discrete-time and a timeout operator. We define revTPL, a reversible extension of TPL, and we show that it satisfies the properties expected from a causal-consistent reversible calculus. We show that, alternatively, revTPL can be interpreted as an extension of reversible CCS with time.
Laura Bocchi, Ivan Lanese, Claudio Antares Mezzina, Shoji Yuen
Log. Methods Comput. Sci.1
2023 Safe Asynchronous Mixed-Choice for Timed Interactions
Jonah Pears, Laura Bocchi, Andy King
COORDINATION2
2023 A model of actors and grey failures
abstract
Existing models for the analysis of concurrent processes tend to focus on fail-stop failures, where processes are either working or permanently stopped, and their state (working/stopped) is known. In fact, systems are often affected by grey failures: failures that are latent, possibly transient, and may affect the system in subtle ways that later lead to major issues (such as crashes, limited availability, overload). We introduce a model of actor-based systems with grey failures, based on two interlinked layers: an actor model, given as an asynchronous process calculus with discrete time, and a failure model that represents failure patterns to inject in the system. Our failure model captures not only fail-stop node and link failures, but also grey failures (e.g., partial, transient). We give a behavioural equivalence relation based on weak barbed bisimulation to compare systems on the basis of their ability to recover from failures, and on this basis we define some desirable properties of reliable systems. By doing so, we reduce the problem of checking reliability properties of systems to the problem of checking bisimulation.
Laura Bocchi, Julien Lange, Simon J. Thompson, Adriana Laura Voinea
Log. Methods Comput. Sci.1
2022 A Model of Actors and Grey Failures
Laura Bocchi, Julien Lange, Simon J. Thompson, Adriana Laura Voinea
COORDINATION1
2022 The Reversible Temporal Process Language
Laura Bocchi, Ivan Lanese, Claudio Antares Mezzina, Shoji Yuen
FORTE1
2020 On Resolving Non-determinism in Choreographies
Laura Bocchi, Hernán C. Melgratti, Emilio Tuosto
Log. Methods Comput. Sci.1
2019 Asynchronous Timed Session Types - From Duality to Time-Sensitive Processes
abstract
We present a behavioural typing system for a higher-order timed calculus using session types to model timed protocols. Behavioural typing ensures that processes in the calculus perform actions in the time-windows prescribed by their protocols. We introduce duality and subtyping for timed asynchronous session types. Our notion of duality allows typing a larger class of processes with respect to previous proposals. Subtyping is critical for the precision of our typing system, especially in the presence of session delegation. The composition of dual (timed asynchronous) types enjoys progress when using an urgent receive semantics, in which receive actions are executed as soon as the expected message is available. Our calculus increases the modelling power of extant calculi on timed sessions, adding a blocking receive primitive with timeout and a primitive that consumes an arbitrary amount of time in a given range.
Laura Bocchi, Maurizio Murgia 0001, Vasco Thudichum Vasconcelos, Nobuko Yoshida
ESOP1
2019 Preface for the special issue on Interaction and Concurrency Experience 2017
Massimo Bartoletti, Laura Bocchi, Ludovic Henrio, Sophia Knight
J. Log. Algebraic Methods Program.2
2018 Progress-Preserving Refinements of CTA
abstract
We introduce the model of communicating timed automata (CTA) that extends the classical models of finite-state processes communicating through FIFO perfect channels and timed automata, in the sense that the finite-state processes are replaced by timed automata, and messages inside the perfect channels are equipped with clocks representing their ages. In addition to the standard operations (resetting clocks, checking guards of clocks) each automaton can either (1) append a message to the tail of a channel with an initial age or (2) receive the message at the head of a channel if its age satisfies a set of given constraints. In this paper, we show that the reachability problem is undecidable even in the case of two timed automata connected by one unidirectional timed channel if one allows global clocks (that the two automata can check and manipulate). We prove that this undecidability still holds even for CTA consisting of three timed automata and two unidirectional timed channels (and without any global clock). However, the reachability problem becomes decidable (in $\mathsf{EXPTIME}$) in the case of two automata linked with one unidirectional timed channel and with no global clock. Finally, we consider the bounded-context case, where in each context, only one timed automaton is allowed to receive messages from one channel while being able to send messages to all the other timed channels. In this case we show that the reachability problem is decidable.
Massimo Bartoletti, Laura Bocchi, Maurizio Murgia 0001
CONCUR2
2017 Timed runtime monitoring for multiparty conversations
abstract
Abstract We propose a dynamic verification framework for protocols in real-time distributed systems. The framework is based on Scribble, a tool-chain for design and verification of choreographies based on multiparty session types, which we have developed with our industrial partners. Drawing from recent work on multiparty session types for real-time interactions, we extend Scribble with clocks, resets, and clock predicates in order to constrain the times in which interactions occur. We present a timed API for Python to program distributed implementations of Scribble specifications. A dynamic verification framework ensures the safe execution of applications written with our timed API: we have implemented dedicated runtime monitors that check that each interaction occurs at a correct timing with respect to the corresponding Scribble specification. To demonstrate the practicality of the proposed framework, we express and verify four categories of widely used temporal patterns from use cases in literature. We analyse the performance of our implementation via benchmarking and show negligible overhead.
Rumyana Neykova, Laura Bocchi, Nobuko Yoshida
Formal Aspects Comput.2
2017 Monitoring networks through multiparty session types
abstract
In large-scale distributed infrastructures, applications are realised through communications among distributed components. The need for methods for assuring safe interactions in such environments is recognised, however the existing frameworks, relying on centralised verification or restricted specification methods, have limited applicability. This paper proposes a new theory of monitored π -calculus with dynamic usage of multiparty session types (MPST), offering a rigorous foundation for safety assurance of distributed components which asynchronously communicate through multiparty sessions. Our theory establishes a framework for semantically precise decentralised run-time enforcement and provides reasoning principles over monitored distributed applications, which complement existing static analysis techniques. We introduce asynchrony through the means of explicit routers and global queues, and propose novel equivalences between networks, that capture the notion of interface equivalence, i.e. equating networks offering the same services to a user. We illustrate our static–dynamic analysis system with an ATM protocol as a running example and justify our theory with results: satisfaction equivalence, local/global safety and transparency, and session fidelity.
Laura Bocchi, Tzu-Chun Chen, Romain Demangeon, Kohei Honda 0001, Nobuko Yoshida
Theor. Comput. Sci.1
2015 Meeting Deadlines Together
abstract
This paper studies safety, progress, and non-zeno properties of Communicating Timed Automata (CTAs), which are timed automata (TA) extended with unbounded communication channels, and presents a procedure to build timed global specifications from systems of CTAs. We define safety and progress properties for CTAs by extending properties studied in communicating finite-state machines to the timed setting. We then study non-zenoness for CTAs; our aim is to prevent scenarios in which the participants have to execute an infinite number of actions in a finite amount of time. We propose sound and decidable conditions for these properties, and demonstrate the practicality of our approach with an implementation and experimental evaluations of our theory.
Laura Bocchi, Julien Lange, Nobuko Yoshida
CONCUR1
2015 Attribute-based transactions in service oriented computing
abstract
We present a theory for the design and verification of distributed transactions in dynamically reconfigurable systems. Despite several formal approaches have been proposed to study distributed transactional behaviours, the inter-relations between failure propagation and dynamic system reconfiguration still need investigation. We propose a formal model for transactions in service oriented architectures (SOAs) inspired by the attribute mechanisms of the Java Transaction API. Technically, we model services in ATc (after ‘Attribute-basedTransactionalcalculus’), a CCS-like process calculus where service declarations are decorated with atransactional attribute. Such attribute disciplines, upon service invocation, how the invoked service is executed with respect to the transactional scopes of the invoker. A type system ensures that well-typed ATc systems do not exhibit run-time errors due to misuse of the transactional mechanisms. Finally, we define a testing framework for distributed transactions in SOAs based on ATc and prove that under reasonable conditions some attributes are observationally indistinguishable.
Laura Bocchi, Emilio Tuosto
Math. Struct. Comput. Sci.1
2015 On the behaviour of general purpose applications on cloud storages
Laura Bocchi, Hernán C. Melgratti
Serv. Oriented Comput. Appl.1
2014 Timed Multiparty Session Types
Laura Bocchi, Weizhen Yang, Nobuko Yoshida
CONCUR1
2014 Resolving Non-determinism in Choreographies
Laura Bocchi, Hernán C. Melgratti, Emilio Tuosto
ESOP1
2011 An abstract model of service discovery and binding
abstract
Abstract We propose a formal operational semantics for service discovery and binding. This semantics is based on a graph-based representation of the configuration of global computers typed by business activities. Business activities execute distributed workflows that can trigger, at run time, the discovery, ranking and selection of services to which they bind, thus reconfiguring the workflows that they execute. Discovery, ranking and selection are based on compliance with required business and interaction protocols and optimisation of quality-of-service constraints. Binding and reconfiguration are captured as algebraic operations on configuration graphs. We also discuss the methodological implications that this model framework has on software engineering using a typical travel-booking scenario. To the best of our knowledge, our approach is the first to provide a clear separation between service computation and discovery/instantiation/binding, and to offer a formal framework that is independent of the SOA middleware components that act as service registries or brokers, and the protocols through which bindings and invocations are performed.
José Luiz Fiadeiro, Antónia Lopes, Laura Bocchi
Formal Aspects Comput.3
2010 A Theory of Design-by-Contract for Distributed Multiparty Interactions
Laura Bocchi, Kohei Honda 0001, Emilio Tuosto, Nobuko Yoshida
CONCUR1
2010 BPMN Modelling of Services with Dynamically Reconfigurable Transactions
Laura Bocchi, Roberto Guanciale, Daniele Strollo, Emilio Tuosto
ICSOC1
2010 From StPowla processes to SRML models
abstract
Abstract Service Oriented Computing is a paradigm for developing software systems as the composition of a number of services. Services are loosely coupled entities, that can be dynamically published, discovered and invoked over a network. The engineering of such systems presents novel challenges, mostly due to the dynamicity and distributed nature of service-based applications. In this paper, we focus on the modelling of service orchestrations. We discuss the relationship between two languages developed under theSensoriaproject: SRML as a high level modelling language for Service Oriented Architectures, andStPowlaas a process-oriented orchestration approach that separates core business processes from system variability at the end-user’s level, where the focus is towards achieving business goals. A fundamental challenge of software engineering is to correctly align business goals with IT strategy, and as such we present an encoding ofStPowlato SRML. This provides a formal framework forStPowlaand also a separated view of policies representing system variability that is not present in SRML.
Laura Bocchi, Stephen Gorton, Stephan Reiff-Marganiec
Formal Aspects Comput.1
2008 Service-Oriented Modelling of Automotive Systems
abstract
We discuss the suitability of service-oriented computing for the automotive domain. We present a formal high-level language in which complex automotive activities can be modelled in terms of components and services that can either be provided by the on-board system or procured from external providers (e.g. via the web) through a negotiation process that involves quality of service attributes and constraints. The ability to re-configure activities, in real-time, through service discovery and dynamic binding takes us one step further from current component-based development techniques: it enhances flexibility and adaptability to changes that occur in the environment in which the system operates (driver, automobile, and external circumstances) and, ultimately, leads to improved levels of satisfaction, safety and reliability.
Laura Bocchi, José Luiz Fiadeiro, Antónia Lopes
COMPSAC1
2008 Engineering Service Oriented Applications: From StPowla Processes to SRML Models
Laura Bocchi, Stephen Gorton, Stephan Reiff-Marganiec
FASE1
2008 A Use-Case Driven Approach to Formal Service-Oriented Modelling
Laura Bocchi, José Luiz Fiadeiro, Antónia Lopes
ISoLA1
2007 Specifying and Composing Interaction Protocols for Service-Oriented System Modelling
João Abreu, Laura Bocchi, José Luiz Fiadeiro, Antónia Lopes
FORTE2
2006 Atomic Commit and Negotiation in Service Oriented Computing
Laura Bocchi, Roberto Lucchi
COORDINATION1
2005 Transactional Aspects in Semantic Based Discovery of Services
Laura Bocchi, Paolo Ciancarini, Davide Rossi 0002
COORDINATION1
2004 Compositional Nested Long Running Transactions
Laura Bocchi
FASE1