Personal tools
You are here: Home Events Abstract Archives 1999 Objects dynamically changing class

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.)

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.

Document Actions