Section: New Results

Resource Control

Participants : Ugo Dal Lago, Marco Gaboardi, Daniel Hirschkoff, Simone Martini, Paolo Parisen Toldin, Giulio Pellitta, Davide Sangiorgi.

In Focus, we study both foundations and methodologies for controlling the amount of resources programs and processes make use of. The employed techniques mainly come from the world of type theory and proof theory, and as such have been used extensively in the context of sequential computation. Interesting results have been obtained recently indicating that those techniques can be quite useful in the concurrent context too, thus being potentially interesting for CBUS.

We have continued our work on techniques for ensuring termination of programs. On the one hand we have refined [25] previous techniques, enhancing them by taking into account input/output capabilities of channels and subtyping. On the other hand we have studied [28] how to transport techniques initially devised for processes onto sequential higher-order languages with imperative features (e.g., λ-calculi with references). The method employed makes it possible to combine term rewriting measure-based techniques for termination of imperative languages with traditional approaches to termination in purely functional languages, such as logical relations.

In [31] , a type system of linear and dependent types, called dlPCF, has been proved to be a sound, but also relatively complete, way to prove intensional (but also extensional) properties of PCF programs. In other words, not only all properties of programs proved by typing are operationally valid, but all true properties of programs can be proved so by way of dlPCF. This holds not only for terms of base type, but also for (first-order) functions: this makes the type system more expressive than intersection type disciplines.

A characterization of probabilistic polynomial time classes by way of linear typing systems for a variant of Godel's T called RSLR, has been proposed [51] . Classes like BPP and PP are characterized by RSLR once appropriate constraints on the probability of error are imposed.

A unifying methodology for the study of resource consumption of processes has been presented in [13] : it is a refinement of realizability, in which not only termination but also concrete resource bounds can be obtained by showing a function to be realized by a program.

On the same topic is the paper [26] , that polishes previous work.