[an error occurred while processing this directive] An error occured whilst processing this directive

Theory Seminar


Objects dynamically changing class

Mariangiola Dezani-Ciancaglini

Department of Computer Science
University of Torino

4pm Tuesday 3 August 1999
Room 2511, JCMB, King's Buildings

(Joint work with Sophia Drossopoulou, Ferruccio Damiani and Paola Giannini.)

Abstract

We suggest language features that allow objects to "mutate", i.e. change their class membership at run-time. These features could extend an imperative, typed, class-based, object-oriented language like Java.

We give an operational semantics for a "mutation" operation that changes the class membership of an object, while keeping the object's identity. We distinguish "immutable types" and "mutable types". Immutable types correspond to Java classes or primitive types; mutable types consist of the family of possible classes to which an object may mutate.

The imperative features provided the main challenges. In particular, we had to prevent objects from mutating while executing a method. For this we propose two solutions, which we present through the two languages Fickle and Fickle_e. We develop a type system for Fickle and an effect system for Fickle_e and prove the soundness of both with respect to the operational semantics.

John Longley
Tuesday 27 July 1999
An error occured whilst processing this directive