Luca Padovani

dblp:22/6590 · DBLP profile ↗
← Back
59ranked-venue papers
18as first author
17since 2021 · last 2026
0000-0001-9097-1297ORCID · corroborated

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

Software engineering, systems software and programming languages · 34 · 9 first-author · 10 since 2021Theory of computation · 27 · 7 first-author · 7 since 2021Artificial intelligence and machine learning · 2 · 1 first-author · 1 since 2021Systems, architecture and hardware · 2 · 2 since 2021Computer networks · 1 · 1 first-author
YearPublicationVenuePosition
2026 Fair Termination of Asynchronous Binary Sessions
abstract
We study a theory of asynchronous session types ensuring that well-typed processes terminate under a suitable fairness assumption. Fair termination entails starvation freedom and orphan message freedom namely that all messages, including those that are produced early taking advantage of asynchrony, are eventually consumed. The theory is based on a novel fair asynchronous subtyping relation for session types that is coarser than the existing ones. The type system is also the first of its kind that is firmly rooted in linear logic: fair asynchronous subtyping is incorporated as a natural generalization of the cut and axiom rules of linear logic and asynchronous communication is modeled through a suitable set of commuting conversions and of deep cut reductions in linear logic proofs.
Luca Padovani, Gianluigi Zavattaro
ACM Trans. Program. Lang. Syst.1
2025 A Sound and Complete Characterization of Fair Asynchronous Session Subtyping
abstract
International audience
Mario Bravetti, Luca Padovani, Gianluigi Zavattaro
CONCUR2
2025 Fair Termination of Asynchronous Binary Sessions
Luca Padovani, Gianluigi Zavattaro
ECOOP1
2025 A Novel Underwater Robot with Carangiform Locomotion Achieved via Single Degree of Actuation and Magnetically Transmitted Traveling Wave
abstract
The phenomenon of the “traveling wave,” commonly observed in various organisms, involves a wave that propagates along the body, serving as a locomotion mechanism. Particularly, in aquatic environments, organisms such as fish and cetaceans utilize traveling waves to propel themselves through water, minimizing fluid drag and maximizing movement efficiency. Inspired by nature, robotics has extensively explored replicating such locomotion strategies. This work presents a fish robot with an innovative magnetic transmission system. The mechanism transforms the unidirectional rotation of a single motor into an oscillatory, phase-shifted movement across the modules of the kinematic chain, generating a traveling wave along the body. The robot's design and functionality are detailed, highlighting advancements in bio-inspired robotics for underwater applications, such as efficient and non-invasive monitoring and exploration of marine ecosystems. The fish robot achieved a swimming speed of approximately 2 body lengths per second (BL/s) with a tail-beat frequency of 3.24 Hz and a minimum Cost of Transport (CoT) of$5.33 ~\mathrm{J} /(\text{kg} \cdot \mathrm{m})$. Biomimetic robotics can play a key role in sustainable aquafarming, biodiversity conservation, and animal-robot interaction research, offering the potential to minimize ecosystem disruption and advance marine science.
Gianluca Manduca, Luca Padovani, Gaspare Santaera, Giorgio Graziani, Paolo Dario, Donato Romano, Cesare Stefanini
ICRA2
2024 The Concurrent Calculi Formalisation Benchmark
Marco Carbone, David Castro-Perez, Francisco Ferreira 0001, Lorenzo Gheri, Frederik Krogsdal Jacobsen, Alberto Momigliano, Luca Padovani, Alceste Scalas, Dawit Legesse Tirore, Martin Vassor, Nobuko Yoshida, Daniel Zackon
COORDINATION7
2024 Introducing SWIRL: An Intermediate Representation Language for Scientific Workflows
abstract
Abstract In the ever-evolving landscape of scientific computing, properly supporting the modularity and complexity of modern scientific applications requires new approaches to workflow execution, like seamless interoperability between different workflow systems, distributed-by-design workflow models, and automatic optimisation of data movements. In order to address this need, this article introduces SWIRL, an intermediate representation language for scientific workflows. In contrast with other product-agnostic workflow languages, SWIRL is not designed for human interaction but to serve as a low-level compilation target for distributed workflow execution plans. The main advantages of SWIRL semantics are low-level primitives based on the send/receive programming model and a formal framework ensuring the consistency of the semantics and the specification of translating workflow models represented by Directed Acyclic Graphs (DAGs) into SWIRL workflow descriptions. Additionally, SWIRL offers rewriting rules designed to optimise execution traces, accompanied by corresponding equivalence. An open-source SWIRL compiler toolchain has been developed using the ANTLR Python3 bindings.
Iacopo Colonnelli, Doriana Medic, Alberto Mulone, Viviana Bono, Luca Padovani, Marco Aldinucci
FM (1)5
2024 sMALL CaPS: An Infinitary Linear Logic for a Calculus of Pure Sessions
abstract
We present an infinitary version of Multiplicative Additive Linear Logic (sMALL) that serves as logical foundation for a Calculus of Pure Sessions (CaPS). sMALL is infinitary not only because proof derivations may be infinite, but also because propositions themselves may be infinite. In this sense, sMALL differs from other related extensions of Linear Logic based on least and greatest fixed points. Also, all sMALL derivations are valid proofs by construction. sMALL enables the description and implementation in CaPS of recursive communication protocols – like authentication, coordination, consensus – in which termination is not decided autonomously by a single process, but results from some negotiation involving two or more interacting processes. We prove that sMALL is sound and that it enjoys cut elimination. We also prove a relative completeness result showing that a certain class of well-behaving CaPS processes are well typed in sMALL. Finally, we show that sMALL can be easily extended to address a broader class of fairly terminating processes, those that terminate under a suitable fairness assumption.
Francesco Dagnino, Luca Padovani
PPDP2
2024 On the Almost-Sure Termination of Binary Sessions
abstract
We investigate the termination problem in a calculus of sessions with probabilistic choices. In this setting, a whole range of termination properties can be defined, from the weaker almost-sure termination to strong almost-sure termination, passing through positive almost-sure termination. We present two similar session type systems closely related to classical linear logic with exponentials that guarantee the two extremal properties in such range. In both type systems, the definitional overhead that deals with the ensured termination property is kept to a minimum.
Ugo Dal Lago, Luca Padovani
PPDP2
2024 Fair termination of multiparty sessions
abstract
There exists a broad family of multiparty sessions in which the progress of one session participant is not unconditional, but depends on the choices performed by other participants. These sessions fall outside the scope of currently available session type systems that guarantee progress. In this work we propose the first type system ensuring that well-typed multiparty sessions, including those exhibiting the aforementioned dependencies, fairly terminate. Fair termination is termination under a fairness assumption that disregards those interactions deemed unfair and therefore unrealistic. Fair termination, combined with the usual safety properties ensured within sessions, not only is desirable per se , but it entails livelock freedom and enables a compositional form of static analysis such that the well-typed composition of fairly terminating sessions results in a fairly terminating program.
Luca Ciccone, Francesco Dagnino, Luca Padovani
J. Log. Algebraic Methods Program.3
2024 A logical account of subtyping for session types
abstract
We study iso-recursive and equi-recursive subtyping for session types in a logical setting, where session types are propositions of multiplicative/additive linear logic extended with least and greatest fixed points. Both subtyping relations admit a simple characterization that can be roughly spelled out as the following lapalissade: every session type is larger than the smallest session type and smaller than the largest session type. We observe that, because of the logical setting in which they arise, these subtyping relations preserve termination in addition to the usual safety properties of sessions.
Ross Horne, Luca Padovani
J. Log. Algebraic Methods Program.2
2022 An Infinitary Proof Theory of Linear Logic Ensuring Fair Termination in the Linear π-Calculus
abstract
Fair termination is the property of programs that may diverge "in principle" but that terminate "in practice", i.e. under suitable fairness assumptions concerning the resolution of non-deterministic choices. We study a conservative extension of $μ$MALL$^\infty$, the infinitary proof system of the multiplicative additive fragment of linear logic with least and greatest fixed points, such that cut elimination corresponds to fair termination. Proof terms are processes of $π$LIN, a variant of the linear $π$-calculus with (co)recursive types into which binary and (some) multiparty sessions can be encoded. As a result we obtain a behavioral type system for $π$LIN (and indirectly for session calculi through their encoding into $π$LIN) that ensures fair termination: although well-typed processes may engage in arbitrarily long interactions, they are fairly guaranteed to eventually perform all pending actions.
Luca Ciccone, Luca Padovani
CONCUR2
2022 Fair Termination of Multiparty Sessions
abstract
There exists a broad family of multiparty sessions in which the progress of one session participant is not unconditional, but depends on the choices performed by other participants. These sessions fall outside the scope of currently available session type systems that guarantee progress. In this work we propose the first type system ensuring that well-typed multiparty sessions, including those exhibiting the aforementioned dependencies, fairly terminate. Fair termination is termination under a fairness assumption that disregards those interactions deemed unfair and therefore unrealistic. Fair termination, combined with the usual safety properties ensured within sessions, not only is desirable per se, but it entails progress and enables a compositional form of static analysis such that the well-typed composition of fairly terminating sessions results in a fairly terminating program.
Luca Ciccone, Francesco Dagnino, Luca Padovani
ECOOP3
2022 Distributed workflows with Jupyter
abstract
The designers of a new coordination interface enacting complex workflows have to tackle a dichotomy: choosing a language-independent or language-dependent approach. Language-independent approaches decouple workflow models from the host code’s business logic and advocate portability. Language-dependent approaches foster flexibility and performance by adopting the same host language for business and coordination code. Jupyter Notebooks, with their capability to describe both imperative and declarative code in a unique format, allow taking the best of the two approaches, maintaining a clear separation between application and coordination layers but still providing a unified interface to both aspects. We advocate the Jupyter Notebooks’ potential to express complex distributed workflows, identifying the general requirements for a Jupyter-based Workflow Management System (WMS) and introducing a proof-of-concept portable implementation working on hybrid Cloud-HPC infrastructures. As a byproduct, we extended the vanilla IPython kernel with workflow-based parallel and distributed execution capabilities. The proposed Jupyter-workflow (Jw) system is evaluated on common scenarios for High Performance Computing (HPC) and Cloud, showing its potential in lowering the barriers between prototypical Notebooks and production-ready implementations.
Iacopo Colonnelli, Marco Aldinucci, Barbara Cantalupo, Luca Padovani, Sergio Rabellino, Concetto Spampinato, Roberto Morelli, Rosario Di Carlo, Nicolò Magini, Carlo Cavazzoni
Future Gener. Comput. Syst.4
2022 Preface to the special issue on the 12th Workshop on Programming Language Approaches to Concurrency and Communication-Centric Software (PLACES) 2020
Stephanie Balzer, Luca Padovani
J. Log. Algebraic Methods Program.2
2022 Inference Systems with Corules for Combined Safety and Liveness Properties of Binary Session Types
abstract
Many properties of communication protocols combine safety and liveness aspects. Characterizing such combined properties by means of a single inference system is difficult because of the fundamentally different techniques (coinduction and induction, respectively) usually involved in defining and proving them. In this paper we show that Generalized Inference Systems allow us to obtain sound and complete characterizations of (at least some of) these combined inductive/coinductive properties of binary session types. In particular, we illustrate the role of corules in characterizing fair termination (the property of protocols that can always eventually terminate), fair compliance (the property of interactions that can always be extended to reach client satisfaction) and fair subtyping, a liveness-preserving refinement relation for session types. The characterizations we obtain are simpler compared to the previously available ones and corules provide insight on the liveness properties being ensured or preserved. Moreover, we can conveniently appeal to the bounded coinduction principle to prove the completeness of the provided characterizations.
Luca Ciccone, Luca Padovani
Log. Methods Comput. Sci.2
2022 Fair termination of binary sessions
abstract
A binary session is a private communication channel that connects two processes, each adhering to a protocol description called session type . In this work, we study the first type system that ensures the fair termination of binary sessions. A session fairly terminates if all of the infinite executions admitted by its protocol are deemed unrealistic because they violate certain fairness assumptions . Fair termination entails the eventual completion of all pending input/output actions, including those that depend on the completion of an unbounded number of other actions in possibly different sessions. This form of lock freedom allows us to address a large family of natural communication patterns that fall outside the scope of existing type systems. Our type system is also the first to adopt fair subtyping , a liveness-preserving refinement of the standard subtyping relation for session types that so far has only been studied theoretically. Fair subtyping is surprisingly subtle not only to characterize concisely but also to use appropriately, to the point that the type system must carefully account for all usages of fair subtyping to avoid compromising its liveness-preserving properties.
Luca Ciccone, Luca Padovani
Proc. ACM Program. Lang.2
2021 Inference Systems with Corules for Fair Subtyping and Liveness Properties of Binary Session Types
abstract
Many properties of communication protocols stem from the combination of safety and liveness properties. Characterizing such combined properties by means of a single inference system is difficult because of the fundamentally different techniques (coinduction and induction, respectively) usually involved in defining and proving them. In this paper we show that Generalized Inference Systems allow for simple and insightful characterizations of (at least some of) these combined inductive/coinductive properties for dependent session types. In particular, we illustrate the role of corules in characterizing weak termination (the property of protocols that can always eventually terminate), fair compliance (the property of interactions that can always be extended to reach client satisfaction) and also fair subtyping, a liveness-preserving refinement relation for session types.
Luca Ciccone, Luca Padovani
ICALP2
2020 Probabilistic Analysis of Binary Sessions
abstract
We 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
CONCUR3
2020 A Dependently Typed Linear π-Calculus in Agda
abstract
Session types have consolidated as a formalism for the specification and static enforcement of communication protocols. Many different theories of dependent session types have been proposed, some enabling refined specifications on the content of messages, others allowing the structure of the protocols to depend on data exchanged in the protocol itself. In this work we continue a line of research studying the foundations of binary session types. In particular, we propose a variant of the linear π-calculus whose type structure encompasses virtually all dependent session types using just two type constructors: linear channel types and linear dependent pairs. We use Agda not only to formalize the metatheory of the calculus and obtain machine-checked proofs of type soundness, but also as host language in which we implement data-dependent protocols.
Luca Ciccone, Luca Padovani
PPDP2
2019 Foundations of Session Types: 10 Years Later
abstract
International audience
Giuseppe Castagna, Mariangiola Dezani-Ciancaglini, Elena Giachino, Luca Padovani
PPDP4
2019 Context-Free Session Type Inference
abstract
Some interesting communication protocols can be precisely described only by context-free session types, an extension of conventional session types supporting a general form of sequential composition. The complex metatheory of context-free session types, however, hinders the definition of corresponding checking and inference algorithms. In this work, we study a new syntax-directed type system for context-free session types that is easy to embed into a host programming language. We also detail 2 OCaml embeddings that allow us to piggyback on OCaml’s type system to check and infer context-free session types.
Luca Padovani
ACM Trans. Program. Lang. Syst.1
2018 Mailbox Types for Unordered Interactions
abstract
We propose a type system for reasoning on protocol conformance and deadlock freedom in networks of processes that communicate through unordered mailboxes. We model these networks in the mailbox calculus, a mild extension of the asynchronous pi-calculus with first-class mailboxes and selective input. The calculus subsumes the actor model and allows us to analyze networks with dynamic topologies and varying number of processes possibly mixing different concurrency abstractions. Well-typed processes are deadlock free and never fail because of unexpected messages. For a non-trivial class of them, junk freedom is also guaranteed. We illustrate the expressiveness of the calculus and of the type system by encoding instances of non-uniform, concurrent objects, binary sessions extended with joins and forks, and some known actor benchmarks.
Ugo de'Liguoro, Luca Padovani
ECOOP2
2018 A core calculus for dynamic delta-oriented programming
Ferruccio Damiani, Luca Padovani, Ina Schaefer, Christoph Seidl 0001
Acta Informatica2
2017 Context-Free Session Type Inference
Luca Padovani
ESOP1
2017 A simple library implementation of binary sessions
abstract
Abstract Inspired by the continuation-passing encoding of binary sessions, we describe a simple approach to embed a hybrid form of session type checking into any programming language that supports parametric polymorphism. The approach combines static protocol analysis with dynamic linearity checks. To demonstrate the effectiveness of the technique, we implement a well-integrated OCaml module for session communications. For free, OCaml provides us with equirecursive session types, parametric behavioural polymorphism, complete session type inference, and session subtyping.
Luca Padovani
J. Funct. Program.1
2017 On Sessions and Infinite Data
abstract
We define a novel calculus that combines a call-by-name functional core with session-based communication primitives. We develop a typing discipline that guarantees both normalisation of expressions and progress of processes and that uncovers an unexpected interplay between evaluation and communication.
Paula Severi, Luca Padovani, Emilio Tuosto, Mariangiola Dezani-Ciancaglini
Log. Methods Comput. Sci.2
2017 Chaperone contracts for higher-order sessions
abstract
Contracts 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.2
2017 The Chemical Approach to Typestate-Oriented Programming
abstract
We introduce a novel approach to typestate-oriented programming based on the chemical metaphor: state and operations on objects are molecules of messages, and state transformations are chemical reactions. This approach allows us to investigate typestate in an inherently concurrent setting, whereby objects can be accessed and modified concurrently by several processes, each potentially changing only part of their state. We introduce a simple behavioral type theory to express in a uniform way both the private and the public interfaces of objects; describe and enforce structured object protocols consisting of possibilities, prohibitions, and obligations; and control object sharing.
Silvia Crafa, Luca Padovani
ACM Trans. Program. Lang. Syst.2
2016 On Sessions and Infinite Data
abstract
We define a novel calculus that combines a call-by-name functional core with session-based communication primitives. We develop a typing discipline that guarantees both normalisation of expressions and progress of processes and that uncovers an unexpected interplay between evaluation and communication. Comment: 39 pages 6 files including .bbl
Paula Severi, Luca Padovani, Emilio Tuosto, Mariangiola Dezani-Ciancaglini
COORDINATION2
2016 Global progress for dynamically interleaved multiparty sessions
abstract
A multiparty session forms a unit of structured communication among many participants which follow communication sequences specified as a global type. When a process is engaged in two or more sessions simultaneously, different sessions can be interleaved and can interfere at runtime. Previous work on multiparty session types has ignored session interleaving, providing a limited progress property ensured only within a single session, by assuming non-interference among different sessions and by forbidding delegation. This paper develops, besides a more traditional, compositionalcommunicationtype system, a novel staticinteractiontype system for global progress in dynamically interleaved and interfered multiparty sessions. The interaction type system infers causalities of channels making sure that processes do not get stuck at intermediate stages of sessions also in presence of delegation.
Mario Coppo, Mariangiola Dezani-Ciancaglini, Nobuko Yoshida, Luca Padovani
Math. Struct. Comput. Sci.4
2016 Fair subtyping for multi-party session types
abstract
The subtyping relation defined for dyadic session type theories may compromise the liveness of multi-party sessions. In this paper, we define afairsubtyping relation for multi-party session types that preserves liveness, we relate it with the subtyping relation for dyadic session types and provide coinductive, axiomatic and algorithmic characterizations for it.
Luca Padovani
Math. Struct. Comput. Sci.1
2015 Type Reconstruction Algorithms for Deadlock-Free and Lock-Free Linear π-Calculi
Luca Padovani, Tzu-Chun Chen, Andrea Tosatto
COORDINATION1
2015 Types for Deadlock-Free Higher-Order Programs
Luca Padovani, Luca Novara
FORTE1
2015 The chemical approach to typestate-oriented programming
abstract
We study a novel approach to typestate-oriented programming based on the chemical metaphor: state and operations on objects are molecules of messages and state transformations are chemical reactions. This approach allows us to investigate typestate in an inherently concurrent setting, whereby objects can be accessed and modified concurrently by several processes, each potentially changing only part of their state. We introduce a simple behavioral type theory to express in a uniform way both the private and the public interfaces of objects, to describe and enforce structured object protocols consisting of possibilities, prohibitions, and obligations, and to control object sharing.
Silvia Crafa, Luca Padovani
OOPSLA2
2015 An algebraic theory for web service contracts
abstract
Abstract We study the foundations of Web service technologies for connecting abstract and concrete service definitions and for discovering services according to their observable behavior. We pursue this study addressing a subset of BPEL activities that include concurrency constructs. We present a formal semantics—called compliance preorder —of this subset of BPEL and we define a behavioral type discipline that guarantees the correctness of client-server interactions. The types of our discipline, called contracts , are De Nicola and Hennessy tau-less, finite-state CCS processes. We show that contracts are BPEL normal forms according to the compliance preorder and that the compliance preorder does coincide with a well-known equivalence in concurrency theory, the must-testing preorder . The compliace preorder is not fully adequate for discovering Web services though, since it does not support width and depth extensions of Web services. To address this issue, we propose a sound generalization of the compliance preorder, called subcontract relation , that admits a notion of principal service contract—the dual contract —compliant with a given client contract and that exhibits good precongruence properties when choreographies of Web services are considered.
Cosimo Laneve, Luca Padovani
Formal Aspects Comput.2
2014 Typing Liveness in Multiparty Communicating Systems
Luca Padovani, Vasco Thudichum Vasconcelos, Hugo Torres Vieira
COORDINATION1
2014 Type Reconstruction for the Linear π-Calculus with Composite and Equi-Recursive Types
Luca Padovani
FoSSaCS1
2014 Polymorphic functions with set-theoretic types: part 1: syntax, semantics, and evaluation
abstract
This article is the first part of a two articles series about a calculus with higher-order polymorphic functions, recursive types with arrow and product type constructors and set-theoretic type connectives (union, intersection, and negation).
Giuseppe Castagna, Kim Nguyen 0001, Zhiwu Xu 0001, Hyeonseung Im, Sergueï Lenglet, Luca Padovani
POPL6
2014 Exception handling for copyless messaging
Svetlana Jaksic, Luca Padovani
Sci. Comput. Program.2
2013 Inference of Global Progress Properties for Dynamically Interleaved Multiparty Sessions
Mario Coppo, Mariangiola Dezani-Ciancaglini, Luca Padovani, Nobuko Yoshida
COORDINATION3
2013 Fair Subtyping for Open Session Types
Luca Padovani
ICALP (2)1
2013 An Algebraic Theory for Web Service Contracts
Cosimo Laneve, Luca Padovani
IFM2
2012 A formal foundation for dynamic delta-oriented software product lines
abstract
Delta-oriented programming (DOP) is a flexible approach for implementing software product lines (SPLs). DOP SPLs are implemented by a code base (a set of delta modules encapsulating changes to object-oriented programs) and a product line declaration (providing the connection of the delta modules with the product features). In this paper, we extend DOP by the capability to switch the implemented product configuration at runtime and present a formal foundation for dynamic DOP. A dynamic DOP SPL is a DOP SPL with a dynamic reconfiguration graph that specifies how to switch between different feature configurations. Dynamic DOP supports (unanticipated) software evolution such that at runtime, the product line declaration, the code base and the dynamic reconfiguration graph can be changed in any (unanticipated) way that preserves the currently running product. The type system of our dynamic DOP core calculus ensures that the dynamic reconfigurations lead to type safe products and do not cause runtime type errors.
Ferruccio Damiani, Luca Padovani, Ina Schaefer
GPCE2
2012 Exception handling for copyless messaging
abstract
Copyless messaging is a communication mechanism in which only pointers to messages are exchanged between sender and receiver processes. Because of its intrinsically low overhead, copyless messaging can be profitably adopted for the development of complex software systems where processes have access to a shared address space. However, the very same mechanism fosters the proliferation of programming errors due to the explicit use of pointers and to the sharing of data. In this paper we study a type discipline for copyless messaging that, together with some minimal support from the runtime system, is able to guarantee the absence of communication errors, memory faults, and memory leaks in presence of exceptions. To formalize the semantics of processes we draw inspiration from software transactional memories: in our case a transaction is a process that is meant to accomplish some exchange of messages and that should either be executed completely, or should have no observable effect if aborted by an exception.
Svetlana Jaksic, Luca Padovani
PPDP2
2012 On projecting processes into session types
abstract
We define session types as projections of the behaviour of processes with respect to the operations processes perform on channels. This calls for a parallel composition operator over session types denoting the simultaneous access to a channel by two or more processes. The proposed approach allows us to define a semantically grounded theory of session types that does not require the linear usage of channels. However, type preservation and progress can only be guaranteed for processes that never receive channels they already own. A number of examples show that the resulting framework validates existing session-type theories and unifies them to some extent.
Luca Padovani
Math. Struct. Comput. Sci.1
2011 Fair Subtyping for Multi-party Session Types
Luca Padovani
COORDINATION1
2011 Typing Copyless Message Passing
Viviana Bono, Chiara Messa, Luca Padovani
ESOP3
2010 Contract-based discovery of Web services modulo simple orchestrators
Luca Padovani
Theor. Comput. Sci.1
2009 Contracts for Mobile Processes
Giuseppe Castagna, Luca Padovani
CONCUR2
2009 Foundations of session types
abstract
We present a streamlined theory of session types based on a simple yet general and expressive formalism whose main eatures are semantically characterized and where each design choice is semantically justified. We formally define the semantics of session types and use it to devise the subsessioning relation. We give a coinductive characterization of subsessioning and describe algorithms to decide all the key relations defined in the article. We demonstrate the generality and expressive power of our framework by providing a session-based type system for a pi-calculus variant that does not rely on any specialized construct for session-based communication. The type system is shown to guarantee absence of communication errors and global progress.
Giuseppe Castagna, Mariangiola Dezani-Ciancaglini, Elena Giachino, Luca Padovani
PPDP4
2009 PiDuce - A project for experimenting Web services technologies
Samuele Carpineti, Cosimo Laneve, Luca Padovani
Sci. Comput. Program.3
2009 A theory of contracts for Web services
abstract
Contracts are behavioral descriptions of Web services. We devise a theory of contracts that formalizes the compatibility of a client with a service, and the safe replacement of a service with another service. The use of contracts statically ensures the successful completion of every possible interaction between compatible clients and services. The technical device that underlies the theory is the filter , which is an explicit coercion preventing some possible behaviors of services and, in doing so, make services compatible with different usage scenarios. We show that filters can be seen as proofs of a sound and complete subcontracting deduction system which simultaneously refines and extends Hennessy's classical axiomatization of the must testing preorder. The relation is decidable, and the decision algorithm is obtained via a cut-elimination process that proves the coherence of subcontracting as a logical system. Despite the richness of the technical development, the resulting approach is based on simple ideas and basic intuitions. Remarkably, its application is mostly independent of the language used to program the services or the clients. We outline the practical aspects of our theory by studying two different concrete syntaxes for contracts and applying each of them to Web services languages. We also explore implementation issues of filters and discuss the perspectives of future research this work opens.
Giuseppe Castagna, Nils Gesbert, Luca Padovani
ACM Trans. Program. Lang. Syst.3
2008 Contract-Directed Synthesis of Simple Orchestrators
Luca Padovani
CONCUR1
2008 A theory of contracts for web services
abstract
Contracts are behavioural descriptions of Web services. We devise a theory of contracts that formalises the compatibility of a client to a service, and the safe replacement of a service with another service. The use of contracts statically ensures the successful completion of every possible interaction between compatible clients and services.
Giuseppe Castagna, Nils Gesbert, Luca Padovani
POPL3
2007 The Must Preorder Revisited
Cosimo Laneve, Luca Padovani
CONCUR2
2006 Smooth Orchestrators
Cosimo Laneve, Luca Padovani
FoSSaCS2
2005 Compilation of Generic Regular Path Expressions Using C++ Class Templates
Luca Padovani
CC1
2004 A Generative Approach to the Implementation of Language Bindings for the Document Object Model
Luca Padovani, Claudio Sacerdoti Coen, Stefano Zacchiroli
GPCE1
2004 Qsmodels: ASP Planning in Interactive Gaming Environment
Luca Padovani, Alessandro Provetti
JELIA1