Luca Cardelli

dblp:c/LucaCardelli · DBLP profile ↗
← Back
108ranked-venue papers
64as first author
4since 2021 · last 2025
0000-0002-8705-8488ORCID · verified

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

Theory of computation · 48 · 32 first-authorSoftware engineering, systems software and programming languages · 37 · 20 first-author · 2 since 2021Artificial intelligence and machine learning · 11 · 7 first-author · 1 since 2021Applied, interdisciplinary, general and emerging computing · 11 · 5 first-author · 1 since 2021Graphics, computer vision, multimedia, augmented reality and games · 3 · 3 first-authorHuman-computer interaction and ubiquitous computing · 3 · 2 first-authorDatabases, data management, data science and information retrieval · 2 · 1 first-authorSystems, architecture and hardware · 1
YearPublicationVenuePosition
2025 Evaluation, Reduction, and Approximation of Dynamical Systems and Networks with ERODE
Luca Cardelli, Giuseppe Squillace, Mirco Tribastone, Max Tschaikowski, Andrea Vandin
ATVA1
2023 Formal lumping of polynomial differential equations through approximate equivalences
abstract
It is well known that exact notions of model abstraction and reduction for dynamical systems may not be robust enough in practice because they are highly sensitive to the specific choice of parameters. In this paper we consider this problem for nonlinear ordinary differential equations (ODEs) with polynomial derivatives. We introduce a model reduction technique based on approximate differential equivalence, i.e., a partition of the set of ODE variables that performs an aggregation when the variables are governed by nearby derivatives. We develop algorithms to (i) compute the largest approximate differential equivalence; (ii) construct an approximately reduced model from the original one via an appropriate perturbation of the coefficients of the polynomials; and (iii) provide a formal certificate on the quality of the approximation as an error bound, computed as an over-approximation of the reachable set of the reduced model. Finally, we apply approximate differential equivalences to case studies on electric circuits, biological models, and polymerization reaction networks.
Luca Cardelli, Giuseppe Squillace, Mirco Tribastone, Max Tschaikowski, Andrea Vandin
J. Log. Algebraic Methods Program.1
2022 Adversarial Robustness Guarantees for Gaussian Processes
abstract
Gaussian processes (GPs) enable principled computation of model uncertainty, making them attractive for safety-critical applications. Such scenarios demand that GP decisions are not only accurate, but also robust to perturbations. In this paper we present a framework to analyse adversarial robustness of GPs, defined as invariance of the model's decision to bounded perturbations. Given a compact subset of the input space $T\subseteq \mathbb{R}^d$, a point $x^*$ and a GP, we provide provable guarantees of adversarial robustness of the GP by computing lower and upper bounds on its prediction range in $T$. We develop a branch-and-bound scheme to refine the bounds and show, for any $\epsilon > 0$, that our algorithm is guaranteed to converge to values $\epsilon$-close to the actual values in finitely many iterations. The algorithm is anytime and can handle both regression and classification tasks, with analytical formulation for most kernels used in practice. We evaluate our methods on a collection of synthetic and standard benchmark data sets, including SPAM, MNIST and FashionMNIST. We study the effect of approximate inference techniques on robustness and demonstrate how our method can be used for interpretability. Our empirical results suggest that the adversarial robustness of GPs increases with accurate posterior estimation.
Andrea Patanè, Arno Blaas, Luca Laurenti, Luca Cardelli, Stephen J. Roberts, Marta Z. Kwiatkowska
J. Mach. Learn. Res.4
2021 Exact maximal reduction of stochastic reaction networks by species lumping
abstract
MOTIVATION: Stochastic reaction networks are a widespread model to describe biological systems where the presence of noise is relevant, such as in cell regulatory processes. Unfortunately, in all but simplest models the resulting discrete state-space representation hinders analytical tractability and makes numerical simulations expensive. Reduction methods can lower complexity by computing model projections that preserve dynamics of interest to the user. RESULTS: We present an exact lumping method for stochastic reaction networks with mass-action kinetics. It hinges on an equivalence relation between the species, resulting in a reduced network where the dynamics of each macro-species is stochastically equivalent to the sum of the original species in each equivalence class, for any choice of the initial state of the system. Furthermore, by an appropriate encoding of kinetic parameters as additional species, the method can establish equivalences that do not depend on specific values of the parameters. The method is supported by an efficient algorithm to compute the largest species equivalence, thus the maximal lumping. The effectiveness and scalability of our lumping technique, as well as the physical interpretability of resulting reductions, is demonstrated in several models of signaling pathways and epidemic processes on complex networks. AVAILABILITY AND IMPLEMENTATION: The algorithms for species equivalence have been implemented in the software tool ERODE, freely available for download from https://www.erode.eu. SUPPLEMENTARY INFORMATION: Supplementary data are available at Bioinformatics online.
Luca Cardelli, Isabel Cristina Pérez-Verona, Mirco Tribastone, Max Tschaikowski, Andrea Vandin, Tabea Waizmann
Bioinform.1
2020 Adversarial Robustness Guarantees for Classification with Gaussian Processes
abstract
We investigate adversarial robustness of Gaussian Process classification (GPC) models. Specifically, given a compact subset of the input space $T\subseteq \mathbb{R}^d$ enclosing a test point $x^*$ and a GPC trained on a dataset $\mathcal{D}$, we aim to compute the minimum and the maximum classification probability for the GPC over all the points in $T$.In order to do so, we show how functions lower- and upper-bounding the GPC output in $T$ can be derived, and implement those in a branch and bound optimisation algorithm. For any error threshold $\epsilon > 0$ selected \emph{a priori}, we show that our algorithm is guaranteed to reach values $\epsilon$-close to the actual values in finitely many iterations.We apply our method to investigate the robustness of GPC models on a 2D synthetic dataset, the SPAM dataset and a subset of the MNIST dataset, providing comparisons of different GPC training techniques, and show how our method can be used for interpretability analysis. Our empirical analysis suggests that GPC robustness increases with more accurate posterior estimation.
Arno Blaas, Andrea Patanè, Luca Laurenti, Luca Cardelli, Marta Z. Kwiatkowska, Stephen J. Roberts
AISTATS4
2020 Uncertainty Quantification with Statistical Guarantees in End-to-End Autonomous Driving Control
abstract
Deep neural network controllers for autonomous driving have recently benefited from significant performance improvements, and have begun deployment in the real world. Prior to their widespread adoption, safety guarantees are needed on the controller behaviour that properly take account of the uncertainty within the model as well as sensor noise. Bayesian neural networks, which assume a prior over the weights, have been shown capable of producing such uncertainty measures, but properties surrounding their safety have not yet been quantified for use in autonomous driving scenarios. In this paper, we develop a framework based on a state-of-the-art simulator for evaluating end-to-end Bayesian controllers. In addition to computing pointwise uncertainty measures that can be computed in real time and with statistical guarantees, we also provide a method for estimating the probability that, given a scenario, the controller keeps the car safe within a finite horizon. We experimentally evaluate the quality of uncertainty computation by three Bayesian inference methods in different scenarios and show how the uncertainty measures can be combined and calibrated for use in collision avoidance. Our results suggest that uncertainty estimates can greatly aid decision making in autonomous driving.
Rhiannon Michelmore, Matthew Wicker, Luca Laurenti, Luca Cardelli, Yarin Gal, Marta Z. Kwiatkowska
ICRA4
2020 From electric circuits to chemical networks
abstract
Abstract Electric circuits manipulate electric charge and magnetic flux via a small set of discrete components to implement useful functionality over continuous time-varying signals represented by currents and voltages. Much of the same functionality is useful to biological organisms, where it is implemented by a completely different set of discrete components (typically proteins) and signal representations (typically via concentrations). We describe how to take a linear electric circuit and systematically convert it to a chemical reaction network of the same functionality, as a dynamical system. Both the structure and the components of the electric circuit are dissolved in the process, but the resulting chemical network is intelligible. This approach provides access to a large library of well-studied devices, from analog electronics, whose chemical network realization can be compared to natural biochemical networks, or used to engineer synthetic biochemical networks.
Luca Cardelli, Mirco Tribastone, Max Tschaikowski
Nat. Comput.1
2020 The Beacon Calculus: A formal method for the flexible and concise modelling of biological systems
abstract
Biological systems are made up of components that change their actions (and interactions) over time and coordinate with other components nearby. Together with a large state space, the complexity of this behaviour can make it difficult to create concise mathematical models that can be easily extended or modified. This paper introduces the Beacon Calculus, a process algebra designed to simplify the task of modelling interacting biological components. Its breadth is demonstrated by creating models of DNA replication dynamics, the gene expression dynamics in response to DNA methylation damage, and a multisite phosphorylation switch. The flexibility of these models is shown by adapting the DNA replication model to further include two topics of interest from the literature: cooperative origin firing and replication fork barriers. The Beacon Calculus is supported with the open-source simulator bcs (https://github.com/MBoemo/bcs.git) to allow users to develop and simulate their own models.
Michael A. Boemo, Luca Cardelli, Conrad A. Nieduszynski
PLoS Comput. Biol.2
2019 Robustness Guarantees for Bayesian Inference with Gaussian Processes
abstract
Bayesian inference and Gaussian processes are widely used in applications ranging from robotics and control to biological systems. Many of these applications are safety-critical and require a characterization of the uncertainty associated with the learning model and formal guarantees on its predictions. In this paper we define a robustness measure for Bayesian inference against input perturbations, given by the probability that, for a test point and a compact set in the input space containing the test point, the prediction of the learning model will remain δ−close for all the points in the set, for δ > 0. Such measures can be used to provide formal probabilistic guarantees for the absence of adversarial examples. By employing the theory of Gaussian processes, we derive upper bounds on the resulting robustness by utilising the Borell-TIS inequality, and propose algorithms for their computation. We evaluate our techniques on two examples, a GP regression problem and a fully-connected deep neural network, where we rely on weak convergence to GPs to study adversarial examples on the MNIST dataset.
Luca Cardelli, Marta Z. Kwiatkowska, Luca Laurenti, Andrea Patanè
AAAI1
2019 Efficiency through uncertainty: scalable formal synthesis for stochastic hybrid systems
abstract
This work targets the development of an efficient abstraction method for formal analysis and control synthesis of discrete-time stochastic hybrid systems (SHS) with linear dynamics. The focus is on temporal logic specifications over both finite- and infinite-time horizons. The framework constructs a finite abstraction as a class of uncertain Markov models known as interval Markov decision process (IMDP). Then, a strategy that maximizes the satisfaction probability of the given specification is synthesized over the IMDP and mapped to the underlying SHS. In contrast to existing formal approaches, which are by and large limited to finite-time properties and rely on conservative over-approximations, we show that the exact abstraction error can be computed as a solution of convex optimization problems and can be embedded into the IMDP abstraction. This is later used in the synthesis step over both bounded- and unbounded-time properties, mitigating the known state-space explosion problem. Our experimental validation of the new approach compared to existing abstraction-based approaches shows: (i) significant (orders of magnitude) reduction of the abstraction error; (ii) marked speed-ups; and (iii) boosted scalability, allowing in particular to verify models with more than 10 continuous variables.
Nathalie Cauchi, Luca Laurenti, Morteza Lahijanian, Alessandro Abate, Marta Z. Kwiatkowska, Luca Cardelli
HSCC6
2019 Statistical Guarantees for the Robustness of Bayesian Neural Networks
abstract
We introduce a probabilistic robustness measure for Bayesian Neural Networks (BNNs), defined as the probability that, given a test point, there exists a point within a bounded set such that the BNN prediction differs between the two. Such a measure can be used, for instance, to quantify the probability of the existence of adversarial examples. Building on statistical verification techniques for probabilistic models, we develop a framework that allows us to estimate probabilistic robustness for a BNN with statistical guarantees, i.e., with a priori error and confidence bounds. We provide experimental comparison for several approximate BNN inference techniques on image classification tasks associated to MNIST and a two-class subset of the GTSRB dataset. Our results enable quantification of uncertainty of BNN predictions in adversarial settings.
Luca Cardelli, Marta Z. Kwiatkowska, Luca Laurenti, Nicola Paoletti, Andrea Patanè, Matthew Wicker
IJCAI1
2019 Comparing chemical reaction networks: A categorical and algorithmic perspective
Luca Cardelli, Mirco Tribastone, Max Tschaikowski, Andrea Vandin
Theor. Comput. Sci.1
2019 Symbolic computation of differential equivalences
Luca Cardelli, Mirco Tribastone, Max Tschaikowski, Andrea Vandin
Theor. Comput. Sci.1
2019 Central Limit Model Checking
abstract
We consider probabilistic model checking for continuous-time Markov chains (CTMCs) induced from Stochastic Reaction Networks against a fragment of Continuous Stochastic Logic (CSL) extended with reward operators. Classical numerical algorithms for CSL model checking based on uniformisation are limited to finite CTMCs and suffer from exponential growth of the state space with respect to the number of species. However, approximate techniques such as mean-field approximations and simulations combined with statistical inference are more scalable but can be time-consuming and do not support the full expressiveness of CSL. In this article, we employ a continuous-space approximation of the CTMC in terms of a Gaussian process based on the Central Limit Approximation, also known as the Linear Noise Approximation, whose solution requires solving a number of differential equations that is quadratic in the number of species and independent of the population size. We then develop efficient and scalable approximate model checking algorithms on the resulting Gaussian process, where we restrict the target regions for probabilistic reachability to convex polytopes. This allows us to derive an abstraction in terms of a time-inhomogeneous discrete-time Markov chain (DTMC), whose dimension is independent of the number of species, on which model checking is performed. Using results from probability theory, we prove the convergence in distribution of our algorithms to the corresponding measures on the original CTMC. We implement the techniques and, on a set of examples, demonstrate that they allow us to overcome the state space explosion problem, while still correctly characterizing the stochastic behaviour of the system. Our methods can be used for formal analysis of a wide range of distributed stochastic systems, including biochemical systems, sensor networks, and population protocols.
Luca Bortolussi, Luca Cardelli, Marta Z. Kwiatkowska, Luca Laurenti
ACM Trans. Comput. Log.2
2018 Programming discrete distributions with chemical reaction networks
Luca Cardelli, Marta Z. Kwiatkowska, Luca Laurenti
Nat. Comput.1
2018 Chemical reaction network designs for asynchronous logic circuits
abstract
Chemical reaction networks (CRNs) are a versatile language for describing the dynamical behaviour of chemical kinetics, capable of modelling a variety of digital and analogue processes. While CRN designs for synchronous sequential logic circuits have been proposed and their implementation in DNA demonstrated, a physical realisation of these devices is difficult because of their reliance on a clock. Asynchronous sequential logic, on the other hand, does not require a clock, and instead relies on handshaking protocols to ensure the temporal ordering of different phases of the computation. This paper provides novel CRN designs for the construction of asynchronous logic, arithmetic and control flow elements based on a bi-molecular reaction motif with catalytic reactions and uniform reaction rates. We model and validate the designs for the deterministic and stochastic semantics using Microsoft's GEC tool and the probabilistic model checker PRISM, demonstrating their ability to emulate the function of asynchronous components under low molecular count.
Luca Cardelli, Marta Z. Kwiatkowska, Max Whitby
Nat. Comput.1
2018 Computing with biological switches and clocks
abstract
The complex dynamics of biological systems is primarily driven by molecular interactions that underpin the regulatory networks of cells. These networks typically contain positive and negative feedback loops, which are responsible for switch-like and oscillatory dynamics, respectively. Many computing systems rely on switches and clocks as computational modules. While the combination of such modules in biological systems leads to a variety of dynamical behaviours, it is also driving development of new computing algorithms. Here we present a historical perspective on computation by biological systems, with a focus on switches and clocks, and discuss parallels between biology and computing. We also outline our vision for the future of biological computing.
Neil Dalchau, Gregory Szép, Rosa D. Hernansaiz-Ballesteros, Chris P. Barnes, Luca Cardelli, Andrew Phillips, Attila Csikász-Nagy
Nat. Comput.5
2017 Syntax-Guided Optimal Synthesis for Chemical Reaction Networks
Luca Cardelli, Milan Ceska 0002, Martin Fränzle, Marta Z. Kwiatkowska, Luca Laurenti, Nicola Paoletti, Max Whitby
CAV (2)1
2017 Reachability Computation for Switching Diffusions: Finite Abstractions with Certifiable and Tuneable Precision
abstract
We consider continuous time stochastic hybrid systems with no resets and continuous dynamics described by linear stochastic differential equations -- models also known as switching diffusions. We show that for this class of models reachability (and dually, safety) properties can be studied on an abstraction defined in terms of a discrete time and finite space Markov chain (DTMC), with provable error bounds. The technical contribution of the paper is a characterization of the uniform convergence of the time discretization of such stochastic processes with respect to safety properties. This allows us to newly provide a complete and sound numerical procedure for reachability and safety computation over switching diffusions.
Luca Laurenti, Alessandro Abate, Luca Bortolussi, Luca Cardelli, Milan Ceska 0002, Marta Z. Kwiatkowska
HSCC4
2017 ERODE: A Tool for the Evaluation and Reduction of Ordinary Differential Equations
Luca Cardelli, Mirco Tribastone, Max Tschaikowski, Andrea Vandin
TACAS (2)1
2017 Efficient Switches in Biology and Computer Science
abstract
Biological systems are adapted to respond quickly to changes in their environment. Signal processing often leads to all-or-none switch-like activation of downstream pathways. Such biological switches are based on molecular interactions that form positive feedback loops. Proper signal processing and switching have to be made by the noisy interactions of fluctuating molecular components; still, switching has to happen quickly once a threshold in the input signal is reached. Several computing algorithms have been designed to perform similar all-or-none decisions with high efficiency. We discuss here how the structure and dynamical features of a computational algorithm resemble the behaviour of a large class of biological switches and what makes them work efficiently. Furthermore, we highlight what biologists can learn by looking at specific features of computational algorithms.
Luca Cardelli, Rosa D. Hernansaiz-Ballesteros, Neil Dalchau, Attila Csikász-Nagy
PLoS Comput. Biol.1
2016 Programming Discrete Distributions with Chemical Reaction Networks
abstract
We explore the range of probabilistic behaviours that can be engineered with Chemical Reaction Networks (CRNs). We give methods to "program" CRNs so that their steady state is chosen from some desired target distribution that has finite support in [Formula: see text], with [Formula: see text]. Moreover, any distribution with countable infinite support can be approximated with arbitrarily small error under the [Formula: see text] norm. We also give optimized schemes for special distributions, including the uniform distribution. Finally, we formulate a calculus to compute on distributions that is complete for finite support distributions, and can be compiled to a restricted class of CRNs that at steady state realize those distributions.
Luca Cardelli, Marta Z. Kwiatkowska, Luca Laurenti
DNA1
2016 Chemical Reaction Network Designs for Asynchronous Logic Circuits
Luca Cardelli, Marta Z. Kwiatkowska, Max Whitby
DNA1
2016 Comparing Chemical Reaction Networks: A Categorical and Algorithmic Perspective
abstract
We study chemical reaction networks (CRNs) as a kernel language for concurrency models with semantics based on ordinary differential equations. We investigate the problem of comparing two CRNs, i.e., to decide whether the trajectories of a source CRN can be matched by a target CRN under an appropriate choice of initial conditions. Using a categorical framework, we extend and relate model-comparison approaches based on structural (syntactic) and on dynamical (semantic) properties of a CRN, proving their equivalence. Then, we provide an algorithm to compare CRNs, running linearly in time with respect to the cardinality of all possible comparisons. Finally, we apply our results to biological models from the literature.
Luca Cardelli, Mirco Tribastone, Max Tschaikowski, Andrea Vandin
LICS1
2016 Symbolic computation of differential equivalences
abstract
Ordinary differential equations (ODEs) are widespread in many natural sciences including chemistry, ecology, and systems biology, and in disciplines such as control theory and electrical engineering. Building on the celebrated molecules-as-processes paradigm, they have become increasingly popular in computer science, with high-level languages and formal methods such as Petri nets, process algebra, and rule-based systems that are interpreted as ODEs. We consider the problem of comparing and minimizing ODEs automatically. Influenced by traditional approaches in the theory of programming, we propose differential equivalence relations. We study them for a basic intermediate language, for which we have decidability results, that can be targeted by a class of high-level specifications. An ODE implicitly represents an uncountable state space, hence reasoning techniques cannot be borrowed from established domains such as probabilistic programs with finite-state Markov chain semantics. We provide novel symbolic procedures to check an equivalence and compute the largest one via partition refinement algorithms that use satisfiability modulo theories. We illustrate the generality of our framework by showing that differential equivalences include (i) well-known notions for the minimization of continuous-time Markov chains (lumpability), (ii)~bisimulations for chemical reaction networks recently proposed by Cardelli et al., and (iii) behavioral relations for process algebra with ODE semantics. With a prototype implementation we are able to detect equivalences in biochemical models from the literature that cannot be reduced using competing automatic techniques.
Luca Cardelli, Mirco Tribastone, Max Tschaikowski, Andrea Vandin
POPL1
2016 Efficient Syntax-Driven Lumping of Differential Equations
Luca Cardelli, Mirco Tribastone, Max Tschaikowski, Andrea Vandin
TACAS1
2015 Forward and Backward Bisimulations for Chemical Reaction Networks
abstract
We present two quantitative behavioral equivalences over species of a chemical reaction network (CRN) with semantics based on ordinary differential equations. Forward CRN bisimulation identifies a partition where each equivalence class represents the exact sum of the concentrations of the species belonging to that class. Backward CRN bisimulation relates species that have identical solutions at all time points when starting from the same initial conditions. Both notions can be checked using only CRN syntactical information, i.e., by inspection of the set of reactions. We provide a unified algorithm that computes the coarsest refinement up to our bisimulations in polynomial time. Further, we give algorithms to compute quotient CRNs induced by a bisimulation. As an application, we find significant reductions in a number of models of biological processes from the literature. In two cases we allow the analysis of benchmark models which would be otherwise intractable due to their memory requirements.
Luca Cardelli, Mirco Tribastone, Max Tschaikowski, Andrea Vandin
CONCUR1
2015 Automated Design and Verification of Localized DNA Computation Circuits
Michael A. Boemo, Andrew J. Turberfield, Luca Cardelli
DNA3
2015 Gener: a minimal programming module for chemical controllers based on DNA strand displacement
abstract
UNLABELLED: : Gener is a development module for programming chemical controllers based on DNA strand displacement. Gener is developed with the aim of providing a simple interface that minimizes the opportunities for programming errors: Gener allows the user to test the computations of the DNA programs based on a simple two-domain strand displacement algebra, the minimal available so far. The tool allows the user to perform stepwise computations with respect to the rules of the algebra as well as exhaustive search of the computation space with different options for exploration and visualization. Gener can be used in combination with existing tools, and in particular, its programs can be exported to Microsoft Research's DSD tool as well as to LaTeX. AVAILABILITY AND IMPLEMENTATION: Gener is available for download at the Cosbi website at http://www.cosbi.eu/research/prototypes/gener as a windows executable that can be run on Mac OS X and Linux by using Mono. CONTACT: [email protected].
Ozan Kahramanogullari, Luca Cardelli
Bioinform.2
2014 Lineage grammars: describing, simulating and analyzing population dynamics
abstract
BACKGROUND: Precise description of the dynamics of biological processes would enable the mathematical analysis and computational simulation of complex biological phenomena. Languages such as Chemical Reaction Networks and Process Algebras cater for the detailed description of interactions among individuals and for the simulation and analysis of ensuing behaviors of populations. However, often knowledge of such interactions is lacking or not available. Yet complete oblivion to the environment would make the description of any biological process vacuous. Here we present a language for describing population dynamics that abstracts away detailed interaction among individuals, yet captures in broad terms the effect of the changing environment, based on environment-dependent Stochastic Tree Grammars (eSTG). It is comprised of a set of stochastic tree grammar transition rules, which are context-free and as such abstract away specific interactions among individuals. Transition rule probabilities and rates, however, can depend on global parameters such as population size, generation count, and elapsed time. RESULTS: We show that eSTGs conveniently describe population dynamics at multiple levels including cellular dynamics, tissue development and niches of organisms. Notably, we show the utilization of eSTG for cases in which the dynamics is regulated by environmental factors, which affect the fate and rate of decisions of the different species. eSTGs are lineage grammars, in the sense that execution of an eSTG program generates the corresponding lineage trees, which can be used to analyze the evolutionary and developmental history of the biological system under investigation. These lineage trees contain a representation of the entire events history of the system, including the dynamics that led to the existing as well as to the extinct individuals. CONCLUSIONS: We conclude that our suggested formalism can be used to easily specify, simulate and analyze complex biological systems, and supports modular description of local biological dynamics that can be later used as "black boxes" in a larger scope, thus enabling a gradual and hierarchical definition and simulation of complex biological systems. The simple, yet robust formalism enables to target a broad class of stochastic dynamic behaviors, especially those that can be modeled using global environmental feedback regulation rather than direct interaction between individuals.
Adam Spiro, Luca Cardelli, Ehud Shapiro
BMC Bioinform.2
2014 The Measurable Space of Stochastic Processes
abstract
We introduce a stochastic extension of CCS endowed with structural operational semantics expressed in terms of measure theory. The set of processes is organised as a measurable space by the sigma-algebra generated by structural congruence. The structural operational semantics associates to each process a set of measures over the space of processes. The measures encode the rates of the transitions from a process (state of a system) to a measurable set of processes. We prove that the stochastic bisimilarity is a congruence, which extends the structural congruence. In addition to an elegant operational semantics, our calculus provides a canonic way to define metrics on processes that measure how similar two processes are in terms of behaviour.
Luca Cardelli, Radu Mardare
Fundam. Informaticae1
2013 Stochastic Pi-calculus Revisited
Luca Cardelli, Radu Mardare
ICTAC1
2013 Two-domain DNA strand displacement
abstract
We investigate the computing power of a restricted class of DNA strand displacement structures: those that are made of double strands with nicks (interruptions) in the top strand. To preserve this structural invariant, we impose restrictions on the single strands they interact with: we consider only two-domain single strands consisting of one toehold domain and one recognition domain. We study fork and join signal processing gates based on these structures, and show that these systems are amenable to formalisation and mechanical verification.
Luca Cardelli
Math. Struct. Comput. Sci.1
2013 Preface
Luca Cardelli, William M. Shih
Nat. Comput.1
2013 Phosphorelays Provide Tunable Signal Processing Capabilities for the Cell
abstract
Achieving a complete understanding of cellular signal transduction requires deciphering the relation between structural and biochemical features of a signaling system and the shape of the signal-response relationship it embeds. Using explicit analytical expressions and numerical simulations, we present here this relation for four-layered phosphorelays, which are signaling systems that are ubiquitous in prokaryotes and also found in lower eukaryotes and plants. We derive an analytical expression that relates the shape of the signal-response relationship in a relay to the kinetic rates of forward, reverse phosphorylation and hydrolysis reactions. This reveals a set of mathematical conditions which, when satisfied, dictate the shape of the signal-response relationship. We find that a specific topology also observed in nature can satisfy these conditions in such a way to allow plasticity among hyperbolic and sigmoidal signal-response relationships. Particularly, the shape of the signal-response relationship of this relay topology can be tuned by altering kinetic rates and total protein levels at different parts of the relay. These findings provide an important step towards predicting response dynamics of phosphorelays, and the nature of subsequent physiological responses that they mediate, solely from topological features and few composite measurements; measuring the ratio of reverse and forward phosphorylation rate constants could be sufficient to determine the shape of the signal-response relationship the relay exhibits. Furthermore, they highlight the potential ways in which selective pressures on signal processing could have played a role in the evolution of the observed structural and biochemical characteristic in phosphorelays.
Varun B. Kothamachu, Elisenda Feliu, Carsten Wiuf, Luca Cardelli, Orkun S. Soyer
PLoS Comput. Biol.4
2012 Processes in space
Luca Cardelli, Philippa Gardner
Theor. Comput. Sci.1
2011 Modular Markovian Logic
Luca Cardelli, Kim G. Larsen, Radu Mardare
ICALP (2)1
2011 Strand algebras for DNA computing
Luca Cardelli
Nat. Comput.1
2011 A Peptide Filtering Relation Quantifies MHC Class I Peptide Optimization
abstract
Major Histocompatibility Complex (MHC) class I molecules enable cytotoxic T lymphocytes to destroy virus-infected or cancerous cells, thereby preventing disease progression. MHC class I molecules provide a snapshot of the contents of a cell by binding to protein fragments arising from intracellular protein turnover and presenting these fragments at the cell surface. Competing fragments (peptides) are selected for cell-surface presentation on the basis of their ability to form a stable complex with MHC class I, by a process known as peptide optimization. A better understanding of the optimization process is important for our understanding of immunodominance, the predominance of some T lymphocyte specificities over others, which can determine the efficacy of an immune response, the danger of immune evasion, and the success of vaccination strategies. In this paper we present a dynamical systems model of peptide optimization by MHC class I. We incorporate the chaperone molecule tapasin, which has been shown to enhance peptide optimization to different extents for different MHC class I alleles. Using a combination of published and novel experimental data to parameterize the model, we arrive at a relation of peptide filtering, which quantifies peptide optimization as a function of peptide supply and peptide unbinding rates. From this relation, we find that tapasin enhances peptide unbinding to improve peptide optimization without significantly delaying the transit of MHC to the cell surface, and differences in peptide optimization across MHC class I alleles can be explained by allele-specific differences in peptide binding. Importantly, our filtering relation may be used to dynamically predict the cell surface abundance of any number of competing peptides by MHC class I alleles, providing a quantitative basis to investigate viral infection or disease at the cellular level. We exemplify this by simulating optimization of the distribution of peptides derived from Human Immunodeficiency Virus Gag-Pol polyprotein.
Neil Dalchau, James Andrew Phillips, Leonard D. Goldstein, Mark Howarth, Luca Cardelli, Stephen Emmott, Tim Elliott, Joern M. Werner
PLoS Comput. Biol.5
2010 Processes in Space
Luca Cardelli, Philippa Gardner
CiE1
2010 Algebras and Languages for Molecular Programming
Luca Cardelli
UC1
2010 Turing universality of the Biochemical Ground Form
abstract
We explore the expressive power of languages that naturally model biochemical interactions relative to languages that only naturally model basic chemical reactions, identifying molecular association as the basic mechanism that distinguishes the former from the latter. We use a process algebra, the Biochemical Ground Form (BGF), that adds primitives for molecular association to CGF, which is a process algebra that has been proved to be equivalent to the traditional notations for describing basic chemical reactions. We first observe that, unlike CGF, BGF is Turing universal as it supports a finite precise encoding of Random Access Machines, which comprise a well-known Turing powerful formalism. Then we prove that the Turing universality of BGF derives from the interplay between the molecular primitives of association and dissociation. In fact, the elimination from BGF of the primitives already present in CGF does not reduce the computational strength of the process algebra, but if either association or dissociation is removed, BGF ceases to be Turing complete.
Luca Cardelli, Gianluigi Zavattaro
Math. Struct. Comput. Sci.1
2009 Strand Algebras for DNA Computing
Luca Cardelli
DNA1
2009 A process model of Rho GTP-binding proteins
abstract
Rho GTP-binding proteins play a key role as molecular switches in many cellular activities. In response to extracellular stimuli and with the help of regulators (GEF, GAP, Effector, GDI), these proteins serve as switches that interact with their environment in a complex manner. Based on the structure of a published ordinary differential equations (ODE) model, we first present a generic process model for the Rho GTP-binding proteins, and compare it with the ODE model. We then extend the basic model to include the behaviour of the GDI regulators and explore the parameter space for the extended model with respect to biological data from the literature. We discuss the challenges this extension brings and the directions of further research. In particular, we present techniques for modular representation and refinement of process models, where, for example, different Rho proteins with different rates for regulator interactions can be given as instances of the same parametric model.
Luca Cardelli, Emmanuelle Caron, Philippa Gardner, Ozan Kahramanogullari, Andrew Phillips
Theor. Comput. Sci.1
2008 Termination Problems in Chemical Kinetics
Gianluigi Zavattaro, Luca Cardelli
CONCUR2
2008 On process rate semantics
Luca Cardelli
Theor. Comput. Sci.1
2008 Bitonal membrane systems: Interactions of biological membranes
Luca Cardelli
Theor. Comput. Sci.1
2007 An Accidental Simula User
Luca Cardelli
ECOOP1
2005 A Compositional Approach to the Stochastic Dynamics of Gene Networks
Luca Cardelli
CONCUR1
2005 Transitions in programming models: 2
abstract
The future of programming languages is not what it used to be. From the 50's to the 90's, richer, more flexible, and more robust structures were imposed on raw computation. Generally, new models of data and control managed to subsume older ones. But now, as programs and applications expand beyond a single local network and a single administrative domain, the very nature of data and control changes, and many long-lasting conceptual invariants are disrupted. We discuss three of these disruptive changes, which seem to be happening all at the same time, and for related reasons: asynchronous concurrency, semistructured data, and (in much less detail) security abstractions. We outline research project that address issues in those areas, mostly as examples of much larger territories yet to explore.
Luca Cardelli
ICSE1
2005 Secrecy and group creation
Luca Cardelli, Giorgio Ghelli, Andrew D. Gordon 0001
Inf. Comput.1
2005 Deciding validity in a spatial logic for trees
abstract
We consider a propositional spatial logic for finite trees. The logic includes $\A \Par \B$ (tree composition), $\A \,{\Guarantee}\, \B$ (the implication induced by composition), and $\Zero$ (the unit of composition). We show that the satisfaction and validity problems are equivalent, and decidable. The crux of the argument is devising a finite enumeration of trees to consider when deciding whether a spatial implication is satisfied. We introduce a sequent calculus for the logic, and show it to be sound and complete with respect to an interpretation in terms of satisfaction. Finally, we describe a complete proof procedure for the sequent calculus. We envisage applications in the area of logic-based type systems for semistructured data. We describe a small programming language based on this idea.
Cristiano Calcagno, Luca Cardelli, Andrew D. Gordon 0001
J. Funct. Program.2
2004 Greedy Regular Expression Matching
Alain Frisch, Luca Cardelli
ICALP2
2004 TQL: a query language for semistructured data based on the ambient logic
abstract
The ambient logic is a modal logic that was proposed for the description of the structural and computational properties of distributed and mobile computation. The structural part of the ambient logic is, essentially, a logic of labelled trees, hence it turns out to be a good foundation for query languages for semistructured data, much in the same way as first-order logic is a fitting foundation for relational query languages. We define here a query language for semistructured data that is based on the ambient logic, and we outline an execution model for this language. The language turns out to be quite expressive. Its strong foundations and the equivalences that hold in the ambient logic are helpful in the definition of the language semantics and execution model.
Luca Cardelli, Giorgio Ghelli
Math. Struct. Comput. Sci.1
2004 A spatial logic for concurrency - II
Luís Caires, Luca Cardelli
Theor. Comput. Sci.2
2004 BioAmbients: an abstraction for biological compartments
Aviv Regev, Ekaterina M. Panina, William Silverman, Luca Cardelli, Ehud Shapiro
Theor. Comput. Sci.4
2004 Modern concurrency abstractions for C#
abstract
Polyphonic C ♯ is an extension of the C ♯ language with new asynchronous concurrency constructs, based on the join calculus. We describe the design and implementation of the language and give examples of its use in addressing a range of concurrent programming problems.
Nick Benton, Luca Cardelli, Cédric Fournet
ACM Trans. Program. Lang. Syst.2
2003 Manipulating Trees with Hidden Labels
Luca Cardelli, Philippa Gardner, Giorgio Ghelli
FoSSaCS1
2003 A spatial logic for concurrency (part I)
Luís Caires, Luca Cardelli
Inf. Comput.2
2003 Equational Properties Of Mobile Ambients
abstract
The ambient calculus is a process calculus for describing mobile computation. We develop a theory of Morris-style contextual equivalence for proving properties of mobile ambients. We prove a context lemma that allows derivation of contextual equivalences by considering contexts of a particular limited form, rather than all arbitrary contexts. We give an activity lemma that characterises the possible interactions between a process and a context. We prove several examples of contextual equivalence. The proofs depend on characterising reductions in the ambient calculus in terms of a labelled transition system.
Andrew D. Gordon 0001, Luca Cardelli
Math. Struct. Comput. Sci.2
2002 A Spatial Logic for Concurrency (Part II)
Luís Caires, Luca Cardelli
CONCUR2
2002 Modern Concurrency Abstractions for C#
Nick Benton, Luca Cardelli, Cédric Fournet
ECOOP2
2002 A Spatial Logic for Querying Graphs
Luca Cardelli, Philippa Gardner, Giorgio Ghelli
ICALP1
2002 Types for the Ambient Calculus
Luca Cardelli, Giorgio Ghelli, Andrew D. Gordon 0001
Inf. Comput.1
2001 A Query Language Based on the Ambient Logic
Luca Cardelli, Giorgio Ghelli
ESOP1
2000 Secrecy and Group Creation
Luca Cardelli, Giorgio Ghelli, Andrew D. Gordon 0001
CONCUR1
2000 Anytime, Anywhere: Modal Logics for Mobile Ambients
abstract
The Ambient Calculus is a process calculus where processes may reside within a hierarchy of locations and modify it. The purpose of the calculus is to study mobility, which is seen as the change of spatial configurations over time. In order to describe properties of mobile computations we devise a modal logic that can talk about space as well as time, and that has the Ambient Calculus as a model.
Luca Cardelli, Andrew D. Gordon 0001
POPL1
2000 Mobile ambients
Luca Cardelli, Andrew D. Gordon 0001
Theor. Comput. Sci.1
1999 Equational Properties of Mobile Ambients
Andrew D. Gordon 0001, Luca Cardelli
FoSSaCS2
1999 Wide Area Computation
Luca Cardelli
ICALP1
1999 Mobility Types for Mobile Ambients
Luca Cardelli, Andrew D. Gordon 0001, Giorgio Ghelli
ICALP1
1999 Types for Mobile Ambients
abstract
Java has demonstrated the utility of type systems for mobile code, and in particular their use and implications for security. Security properties rest on the fact that a well-typed Java program (or the corresponding verified bytecode) cannot cause certain kinds of damage.In this paper we provide a type system for mobile computation, that is, for computation that is continuously active before and after movement. We show that a well-typed mobile computation cannot cause certain kinds of run-time fault: it cannot cause the exchange of values of the wrong kind, anywhere in a mobile system.
Luca Cardelli, Andrew D. Gordon 0001
POPL1
1999 Comparing Object Encodings
Kim B. Bruce, Luca Cardelli, Benjamin C. Pierce
Inf. Comput.2
1999 Service Combinators for Web Computing
abstract
The World Wide Web is rich in content and services, but access to these resources must be obtained mostly through manual browsers. We would like to be able to write programs that reproduce human browsing behavior, including reactions to slow transmission-rates and failures on many simultaneous links. We thus introduce a concurrent model that directly incorporates the notions of failure and rate of communication, and then describe programming constructs based on this model.
Luca Cardelli, Rowan Davies
IEEE Trans. Software Eng.1
1998 Mobile Ambients
Luca Cardelli, Andrew D. Gordon 0001
FoSSaCS1
1997 Program Fragments, Linking, and Modularization
abstract
Module mechanisms have received considerable theoretical attention, but the associated concepts of separate compilation and linking have not been emphasized. Anomalous module systems have emerged in functional and object-oriented programming where software components are not separately typecheckable and compilable. In this paper we provide a context where linking can be studied, and separate compilability can be formally stated and checked. We propose a framework where each module is separately compiled to a self-contained entity called a linkset; we show that separately compiled, compatible modules can be safely linked together. 1 Introduction Program modularization arose from the necessity of splitting large programs into fragments in order to compile them. As system libraries grew in size, it became essential to compile the libraries separately from the user programs; libraries acquired interfaces that minimized compilation dependencies. A linker was used to patch compiled fragmen...
Luca Cardelli
POPL1
1996 An Interpretation of Objects and Object Types
abstract
We present an interpretation of typed object-oriented concepts in terms of well-understood, purely procedural concepts. More precisely, we give a compositional subtype-preserving translation of a basic object calculus supporting method invocation, functional method update, and subtyping, into the polymorphic λ-calculus with recursive types and subtyping. The translation techniques apply also to an imperative version of the object calculus which includes in-place method update and object cloning. Finally, the translation easily extends to "Self types" and other interesting object-oriented constructs.
Martín Abadi, Luca Cardelli, Ramesh Viswanathan
POPL2
1996 A Theory of Primitive Objects: Untyped and First-Order Systems
Martín Abadi, Luca Cardelli
Inf. Comput.2
1996 On Subtyping and Matching
abstract
A relation between recursive object types, called matching , has been proposed as a generalization of subtyping. Unlike subtyping, matching does not support subsumption, but it does support inheritance of binary methods. We argue that matching is a good idea, but that it should not be regarded as a form of F-bounded subtyping (as was originally intended). We show that a new interpretation of matching as higher-order subtyping has better properties. Matching turns out to be a third-order construction, possibly the only one to have been proposed for general use in programming.
Martín Abadi, Luca Cardelli
ACM Trans. Program. Lang. Syst.2
1995 On Subtyping and Matching
Martín Abadi, Luca Cardelli
ECOOP2
1995 A Language with Distributed Scope
abstract
Obliq is a lexically-scoped, untyped, interpreted language that supports distributed object-oriented computation. Obliq objects have state and are local to a site. Obliq computations can roam over the network, while maintaining network connections. Distributed lexical scoping is the key mechanism for managing distributed computation.
Luca Cardelli
POPL1
1995 Migratory Applications
abstract
We introduce a new genre of user interface applications that can migrate from one machine to another, taking their user interface and application contexts with them, and continue from where they left off, Such applications are not tied to one user or one machine, and can roam freely over the network, rendering service to a community of users, gathering human input and interacting with people.We envisage that this will support many new agent-based collaboration metaphors.The ability to migrate executing programs has applicability to mobile computing as well.Users can have their applicatiorta travel with them, as they move from one computing environment to another.We present an elegant programming model for creating migratory applications and describe an implementation.The biggest strength of our implementation is that the details of migration are completely hidden from the application progrannneq arbitrary user interface applications can be migrated by a single "migration" command.We address system issues such as robustness, persistence and memory usage, and also human factors relating to application design, the interaction metaphor and safety.
Krishna Bharat, Luca Cardelli
ACM Symposium on User Interface Software and Technology2
1995 Dynamic Typing in Polymorphic Languages
abstract
Abstract There are situations in programming where some dynamic typing is needed, even in the presence of advanced static type systems. We investigate the interplay of dynamic types with other advanced type constructions, discussing their integration into languages with explicit polymorphism (in the style of system F ), implicit polymorphism (in the style of ML), abstract data types, and subtyping.
Martín Abadi, Luca Cardelli, Benjamin C. Pierce, Didier Rémy
J. Funct. Program.2
1995 A Theory of Primitive Objects: Second-Order Systems
Martín Abadi, Luca Cardelli
Sci. Comput. Program.2
1994 A Theory of Primitive Objects - Scond-Order Systems
Martín Abadi, Luca Cardelli
ESOP2
1994 A Semantics of Object Types
abstract
We give a semantics for a typed object calculus, an extension of System F with object subsumption and method override. We interpret the calculus in a per model, proving the soundness of both typing and equational rules. This semantics suggests a syntactic translation from our calculus into a simpler calculus with neither subtyping nor objects.>
Martín Abadi, Luca Cardelli
LICS2
1994 Subtyping and Parametricity
abstract
We study the interaction of subtyping and parametricity. We describe a logic for a programming language with parametric polymorphism and subtyping. The logic supports the formal definition and use of relational parametricity. We give two models for it, and compare it with other formal systems for the same language. In particular we examine the "Penn interpretation" of subtyping as implicit coercion. without subtyping, parametricity yields, for example, an encoding of abstract types and of initial algebras, with the corresponding proof principles of simulation and induction. With subtyping, we obtain partially abstract types and certain initial order-sorted algebras, and may derive proof principles for them.>
Gordon D. Plotkin, Martín Abadi, Luca Cardelli
LICS3
1994 An Extension of System F with Subtyping
abstract
System F is a well-known typed λ-calculus with polymorphic types, which provides a basis for polymorphic programming languages. We study an extension of F, called F<: (pronounced ef-sub), that combines parametric polymorphism with subtyping. The main focus of the paper is the equational theory of F<:, which is related to PER models and the notion of parametricity. We study some categorical properties of the theory when restricted to closed terms, including interesting categorical isomorphisms. We also investigate proof-theoretical properties, such as the conservativity of typing judgments with respect to F. We demonstrate by a set of examples how a range of constructs may be encoded in F<:. These include record operations and subtyping hierarchies that are related to features of object-oriented languages.
Luca Cardelli, Simone Martini 0001, John C. Mitchell, Andre Scedrov
Inf. Comput.1
1993 Formal Parametric Polymorphism
abstract
A polymorphic function is parametric if its behavior does not depend on the type at which it is instantiated. Starting with Reynolds' work, the study of parametricity is typically semantic. In this paper, we develop a syntactic approach to parametricity, and a formal system that embodies this approach: system ℜ. Girard's system F deals with terms and types; ℜ is an extension of F that deals also with relations between types.
Martín Abadi, Luca Cardelli, Pierre-Louis Curien
POPL2
1993 Formal Parametric Polymorphism
Martín Abadi, Luca Cardelli, Pierre-Louis Curien
Theor. Comput. Sci.2
1993 Subtyping Recursive Types
abstract
We investigate the interactions of subtyping and recursive types, in a simply typed λ-calculus. The two fundamental questions here are whether two (recursive)types are in the subtype relation and whether a term has a type. To address the first question, we relate various definitions of type equivalence and subtyping that are induced by a model, an ordering on infinite trees, an algorithm, and a set of type rules. We show soundness and completeness among the rules, the algorithm, and the tree semantics. We also prove soundness and a restricted form of completeness for the model. To address the second question, we show that to every pair of types in the subtype relation we can associate a term whose denotation is the uniquely determined coercion map between the two types. Moreover, we derive an algorithm that, when given a term with implicit coercions, can infer its least type whenever possible.
Roberto M. Amadio, Luca Cardelli
ACM Trans. Program. Lang. Syst.2
1991 Subtyping Recursive Types
abstract
Article Free Access Share on Subtyping recursive types Authors: Roberto M. Amadio LIENS, Ecole Normale Supérieure, Paris LIENS, Ecole Normale Supérieure, ParisView Profile , Luca Cardelli DEC, Systems Research Center DEC, Systems Research CenterView Profile Authors Info & Claims POPL '91: Proceedings of the 18th ACM SIGPLAN-SIGACT symposium on Principles of programming languagesJanuary 1991 Pages 104–118https://doi.org/10.1145/99583.99600Published:03 January 1991Publication History 58citation352DownloadsMetricsTotal Citations58Total Downloads352Last 12 Months13Last 6 weeks1 Get Citation AlertsNew Citation Alert added!This alert has been successfully added and will be sent to:You will be notified whenever a record that you have chosen has been cited.To manage your alert preferences, click on the button below.Manage my AlertsNew Citation Alert!Please log in to your account Save to BinderSave to BinderCreate a New BinderNameCancelCreateExport CitationPublisher SiteeReaderPDF
Roberto M. Amadio, Luca Cardelli
POPL2
1991 Explicit Substitutions
abstract
Abstract The λσ-calculus is a refinement of the λ-calculus where substitutions are manipulated explicitly. The λσ-calculus provides a setting for studying the theory of substitutions, with pleasant mathematical properties. It is also a useful bridge between the classical λ-calculus and concrete implementations.
Martín Abadi, Luca Cardelli, Pierre-Louis Curien, Jean-Jacques Lévy
J. Funct. Program.2
1991 A Semantic Basis for Quest
abstract
Abstract Quest is a programming language based on impredicative type quantifiers and subtyping within a three-level structure of kinds, types and type operators, and values. The semantics of Quest is rather challenging. In particular, difficulties arise when we try to model simultaneously features such as contravariant function spaces, record types, subtyping, recursive types and fixpoints. In this paper we describe in detail the type inference rules for Quest, and give them meaning using a partial equivalence relation model of types. Subtyping is interpreted as in previous work by Bruce and Longo (1989), but the interpretation of some aspects – namely subsumption, power kinds, and record subtyping – is novel. The latter is based on a new encoding of record types. We concentrate on modelling quantifiers and subtyping; recursion is the subject of current work.
Luca Cardelli, Giuseppe Longo
J. Funct. Program.1
1991 Operations on Records
Luca Cardelli, John C. Mitchell
Math. Struct. Comput. Sci.1
1991 Dynamic Typing in a Statically Typed Language
abstract
Statically typed programming languages allow earlier error checking, better enforcement of diciplined programming styles, and the generation of more efficient object code than languages where all type consistency checks are performed at run time. However, even in statically typed languages, there is often the need to deal with datawhose type cannot be determined at compile time. To handle such situations safely, we propose to add a type Dynamic whose values are pairs of a value v and a type tag T where v has the type denoted by T . Instances of Dynamic are built with an explicit tagging construct and inspected with a type safe typecase construct. This paper explores the syntax, operational semantics, and denotational semantics of a simple language that includes the type Dynamic . We give examples of how dynamically typed values can be used in programming. Then we discuss an operational semantics for our language and obtain a soundness theorem. We present two formulations of the denotational semantics of this language and relate them to the operational semantics. Finally, we consider the implications of polymorphism and some implementation issues.
Martín Abadi, Luca Cardelli, Benjamin C. Pierce, Gordon D. Plotkin
ACM Trans. Program. Lang. Syst.2
1990 Explicit Substitutions
abstract
The λσ-calculus is a refinement of the λ-calculus where substitutions are manipulated explicitly. The λσ-calculus provides a setting for studying the theory of substitutions, with pleasant mathematical properties. It is also a useful bridge between the classical λ-calculus and concrete implementations.
Martín Abadi, Luca Cardelli, Pierre-Louis Curien, Jean-Jacques Lévy
POPL2
1989 Dynamic Typing in a Statically-Typed Language
abstract
Statically-typed programming languages allow earlier error checking, better enforcement of disciplined programming styles, and generation of more efficient object code than languages where all type-consistency checks are performed at runtime. However, even in statically-type languages, there is often the need to deal with data whose type cannot be known at compile time. To handle such situations safely, we propose to add a type Dynamic whose values are pairs of a value v and a type tag T where v has the type denoted by T. Instances of Dynamic are built with an explicit tagging construct and inspected with a type-safe typecase construct.
Martín Abadi, Luca Cardelli, Benjamin C. Pierce, Gordon D. Plotkin
POPL2
1989 The Modula-3 Type System
abstract
This paper presents an overview of the programming language Modula-3, and a more detailed description of its type system.
Luca Cardelli, James E. Donahue, Mick J. Jordan, Bill Kalsow, Greg Nelson
POPL1
1988 Types for Data-Oriented Languages
Luca Cardelli
EDBT1
1988 Structural Subtyping and the Notion of Power Type
abstract
types We have used the term abstract type for types of the form P = Some(A:Type) B, because this models the concept of having an unknown type A which supports a set of operations of signature B. It should be pointed out that, unlike abstract types in second-order lambda calculus [Mitchell Plotkin 85] this notion of type abstraction does not prevent impersonation. That is, given a particular implementation p = pair(A:Type = C) b:B of P, the representation type C is visible, hence one can build an object of type A without using the operations in b. This problems can be partially solved by scoping techniques; e.g., a function which must operate on arbitrary implementations of P cannot make assumptions about any particular C. A complete solution to the impersonation problem requires introducing additional concepts [MacQueen 86]. On the positive side, the fact that even abstract types are matched by structure means that redefining an abstract type does not create a "new" one. This is co...
Luca Cardelli
POPL1
1988 Building User Interfaces by Direct Manipulation
abstract
acknowledgment of the authors and individuals contributors to the work; and all applicable portions of the copyright notice. Copying, reproducing, or republishing for any other purpose shall require a license with payment of fee to the Systems Research Center. All rights reserved. Page 1
Luca Cardelli
ACM Symposium on User Interface Software and Technology1
1988 A Semantics of Multiple Inheritance
Luca Cardelli
Inf. Comput.1
1987 Basic Polymorphic Typechecking
Luca Cardelli
Sci. Comput. Program.1
1985 Squeak: a language for communicating with mice
abstract
Graphical user interfaces are difficult to implement because of the essential concurrency among multiple interaction devices, such as mice, buttons, and keyboards. Squeak is a user interface implementation language that exploits this concurrency rather than hiding it, helping the programmer to express interactions using multiple devices. We present the motivation, design and semantics of squeak. The language is based on concurrent programming constructs but can be compiled into a conventional sequential language; our implementation generates C code. We discuss how squeak programs can be integrated into a graphics system written in a conventional language to implement large but regular user interfaces, and close with a description of the formal semantics.
Luca Cardelli, Rob Pike
SIGGRAPH1
1985 Galileo: A Strongly-Typed, Interactive Conceptual Language
abstract
Galileo, a programming language for database applications, is presented. Galileo is a strongly-typed, interactive programming language designed specifically to support semantic data model features (classification, aggregation, and specialization), as well as the abstraction mechanisms of modern programming languages (types, abstract types, and modularization). The main contributions of Galileo are (a) a flexible type system to model database structure and semantic integrity constraints; (b) the inclusion of type hierarchies to support the specialization abstraction mechanisms of semantic data models; (c) a modularization mechanism to structure data and operations into interrelated units (d) the integration of abstraction mechanisms into an expression-based language that allows interactive use of the database without resorting to a new stand-alone query language. Galileo will be used in the immediate future as a tool for database design and, in the long term, as a high-level interface for DBMSs.
Antonio Albano, Luca Cardelli, Renzo Orsini
ACM Trans. Database Syst.2
1982 Real Time Agents
Luca Cardelli
ICALP1
1980 Analog Processes
Luca Cardelli
MFCS1