DIPARTIMENTO   DI   INFORMATICA
Università di Torino

Research Report Year 1999

Semantics and Logics of Computation

  People   Research Activities   Publications   Software Products   Research Grants

Types For Higher-Order, Concurrent, And Object Oriented Processes

People

Mariangiola Dezani-Ciancaglini

Full professor Principal investigator

dezani(at)di.unito.it

Ines Margaria

Associate professor

ines(at)di.unito.it

Viviana Bono

Reserch collaborator

bono(at)di.unito.it

Ivano Salvo

Reserch Assistant (From November 2nd)

salvo(at)di.unito.it

Andrea Valente

Ph.D. Student

valente(at)di.unito.it

Research activity in 1999

The interest of our group focuses mainly on the study type systems for functional, concurrent and object-oriented languages. The theoretical basis is Curry type assignment system for pure lambda-calculus and its extensions.

Inside the Project "Fondamenti dei linguaggi funzionali" the research activity in the year 1999 has been mainly focused on:

  • the design of powerful type systems for object-oriented programming languages with functional features;

  • the characterisation by means of types of looping functional programs.

The growing interest for object calculi to model and integrate the most important object-oriented features, such as the modularity and the object state data protection (encapsulation), giving the basis for the design of new languages, is also (and in great extents) due to the research on type systems, which offer mechanisms to develop and verify such calculi. On the other hand, problems arising in devising type systems for objects have stimulated the study of concepts nowadays considered foundational in type theory, such as subtyping and type recursion. An important aspect, both for following the evolution of technology and for allowing a quick experimentation of new systems is the possibility of having fast prototyping mechanisms. In such direction, we investigated the notion of ''incomplete'' objects . By incomplete objects we mean objects that present only some of the features requested to the final product, but that are still able to perform a certain set of operations if they are placed in the right contexts. We explored [3] a calculus of "incomplete" objects, i.e., partially working objects with an incomplete implementation of their interface. This calculus can be seen as a proposal in the direction of rapid prototyping, and it fits well in the context of studying partially specified computations. We studied [7] a semantics by encoding an object-based calculus [2] in a pure functional setting, by using a higher-order lambda calculus with records and recursive types, with the aim of putting extensible objects (which can be used to model classes) in a unifying frame (the frame presented by Bruce-Cardelli-Pierce). Such a calculus is a variation of the Fisher-Honsell-Mitchell Lambda Calculus of Objects which enligths features of extensible objects and interactions among object types and some forms of subtyping. We presented [8] an imperative calculus, which is an extension of basic ML with records, where classes are the only primitive construct. The aim of this work is to explore the concept of "class" in a more theoretical sense, by using a simple core system while keeping in mind some good software engineering ideas. A first extension of the previously mentioned work is adding to such core system the "mixin" constructor [6]. A mixin is nothing else than a class parametrized on its superclass. This kind of parametrized inheritance looks like a promising alternative to multiple inheritance, and the presented calculus is still simple enough to be considered a core system.

As regards to the characterisation by means of types of looping functional programs, recent work on infinitary versions of the lambda calculus has shown that the infinite lambda calculus can be a useful tool to study the unsolvable terms of the classical lambda calculus. Working in the framework of the intersection type disciplines, we devised [1] a type assignment system such that two terms are equal in the infinite lambda calculus if and only if they can be assigned the same types in any basis. This result can be considered as a step towards the goal of giving a denotational semantics for the lambda calculus suitable to study the unsolvable terms.

An objective of our research inside the Project "Teoria della Concorrenza, Linguaggi di Ordine Superiore e Strutture di Tipi" has been the logical semantics of Milner's pi-calculus, a paradigmatic language for describing computations involving mobile processes. While operational semantic is a common tool for specifying the semantics in an elegant and formally satisfactory way, it is nevertheless desirable to devise domains matching the behavioral preorders induced by "must" testing or finer preorders based on various notions of bisimulation in which to interpret denotationally problematic constructs, like the private names (with static scope) of the pi-calculus. For this purpose, there is evidence that suitably structured types can prove useful by allowing to make a denotational model out of properties of process terms. An advantage of this approach is that types automatically provide a logic in which to prove program properties. We defined [4] a filter model for pi-calculus, and proved its full abstraction with respect to a "may" operational semantics. The model is introduced in the form of a type assignment system. Types are related by a preorder which mimics the operational behaviour of terms. A subject expansion theorem holds. Terms are interpreted as filters of types: this interpretation is compositional. The proof of full abstraction relies on a notion of realizability of types, and on the construction of terms, which test when an arbitrary term has a fixed type.

Another interesting contribution [5] we gave to the Project "Teoria della Concorrenza, Linguaggi di Ordine Superiore e Strutture di Tipi" is the study of the concurrent lambda-calculus. In view of the integration between functional and concurrent programming languages, we have considered the addition of parallel and non-deterministic features to the lazy lambda calculus. In particular, we gave a constructive answer to the problem of when a functional procedure can replace another one leaving unchanged the observable behaviour of a process which uses it. Their main result is that two pure lambda terms are observationally equivalent in the lazy concurrent lambda calculus if and only if they have the same Lévy-Longo trees.

1999 Publications

Journals

A. Berarducci and M. Dezani-Ciancaglini. Infinite lambda-calculus and types. Theoretical Computer Science, 212:29-75, 1999. [1]

V. Bono and M. Bugliesi. Matching for the Lambda Calculus of Objects. Theoretical Computer Science 212(1-2) 101-140, February 1999. [2]

V. Bono, M. Bugliesi, L. Liquori and M. Dezani- Ciancaglini. A Subtyping for Extensible, Incomplete Objects. Fundamenta Informaticae, 38(4) 325-364, June 1999. [3]

F. Damiani, M. Dezani-Ciancaglini, and P. Giannini. A filter model for mobile processes. Mathematical Structures in Computer Science, 9(1):63-102, 1999. [4]

M. Dezani-Ciancaglini, J. Tiuryn, and P. Urzyczyn. Discrimination by Parallel Observers: the Algorithm. Information and Computation, 150(2):153-186, 1999. [5]

Lecture Notes in Computer Science

V. Bono, A.J. Patel, V. Shmatikov. A Core Calculus of Classes and Mixins. In Proceedings European Conference on Object Oriented Programming (ECOOP'99), LNCS 1628, 43-66. Springer-Verlag, 1999. [6]

V. Bono and M. Bugliesi. Interpretations of Extensible Objects and Types. In Proceedings 12th International Symposium on Fundamentals of Computing Theory (FCT'99), LNCS 1684, 112-123. Springer-Verlag, 1999. [7]

Proceedings of conferences.

V. Bono, A.J. Patel, V. Shmatikov, J.C. Mitchell. A Core Calculus of Classes and Objects. In Mathematical Foundations of Programming Semantics, volume 20 of Electronic Notes in Theoretical Computer Science, 1-22, Elsevier, 1999. [8]

Research grants

Title of project

Project leader

Funding Organization

Kind of grant

Teoria della Concorrenza, Linguaggi di Ordine Superiore e Strutture di Tipi

M. Dezani (Local Coordinator)


Ugo Montanari - Univ.Pisa (National Coordinator)

MURST and University of Torino

Project of National Interest (ex 40%)

Fondamenti dei linguaggi funzionali

M. Dezani

Università di Torino

ex 60%

Activity and role in the scientific community

M. Dezani
  • Member of the Editorial Board of the international Journal:
    • Information and Computation.

  • Permanent member of the Advisory Board of the International Conference:
    • Logic In Computer Science (LICS).

  • Member of the Program Committee of the International Conferences:
    • Logic in Computer Science '99 (LICS'99),

    • Foundamentals of Computing Theory '99 (FCT'99),

    • Foundations of Software Science and Computation Structures '00 (FOSSACS'00).

  • Honorary member of the IFIP Working Group 2.2

  • Member of the Academia Europea

  • President of the Italian Chapter of European Association of Theoretical Computer Science (EATCS)

  • Referee for the international Journals:
    • Mathematical Structures in Computer Science,

    • Theoretical Computer Science [2 papers].

  • Referee for the international Conferences:
    • Logic in Computer Science'99 [3 papers],

    • Foundamentals of Computing Theory'99 [2 papers],

    • Typed Lambda Calculus and Applications'99 [2 papers],

    • Foundations of Software Science and Computation Structures'00 [2 papers].

  • Editor (with G.Longo and J.P.Seldin) of the special issue of the international Journal Mathematical Structures in Computer Science (vol 9, n.4, 1999), devoted to R. Hindley.

V. Bono
  • Referee for the international Conference:
    • Foundations of Software Science and Computation Structures'00.

Oral presentations in Congresses and Conferences

M. Dezani
  • Invited speaker at the international Conference:
    • Typed Lambda Calculus and Applications '99 (TLCA'99), L'Aquila, 6-9 April 99.

  • Lecturer at the international School:
    • School in Logic and Computation, Edinburgh 10-13 April 1999.

  • Invited speaker at the international Workshop:
    • British Logic Colloquium '99, Gregynog, 23-25 September 1999.

V. Bono
  • "A Core Calculus of Classes and Objects".
    • Mathematical Foundations of Programming Semantics, New Orleans (Luisiana, U.S.A.) April 28 May 1, 1999.

Department home [Information] [People] [Research] [Ph.D.] [Education] [Library] [Search]
[Bandi/Careers] [HelpDesk] [Administration] [Services] [Hostings] [News and events]

Administrator: wwwadm[at]di.unito.it Last update: May 17, 2018