DIPARTIMENTO   DI   INFORMATICA
Università di Torino

THE GROUP'S LOGO
Research on "Formal Methods in Computing"

Fickle-99: a sheme for objects dynamically changing class

(Fickle-99 is the predecessor of our current approach, Fickle . Fickle addresses the same requirements for object re-classification, but Fickle approach is much simpler. All current research concentrares on Fickle.)

Sophia DROSSOPOULOU , Mariangiola DEZANI-CIANCAGLINI, Ferruccio DAMIANI , and Paola GIANNINI

Work partially supported by MURST Cofin '99 TOSCA Project, CNR-GNSAGA, and the EPSRC (Grant Ref: GR/L 76709).

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 corresponto 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-99 and Fickle-99_e. We develop a type system for Fickle-99 and an effect system for Fickle-99_e and prove the soundness of both with respect to the operational semantics.

NOTE: in the paper below Fickle-99 and Fickle-99_e are called Fickle and Fickle_e.

BIBTEX.

@techreport{DrossopoulouDezaniDamianiGiannini:IR-99,
   author    = {S. Drossopoulou and M. Dezani-Ciancaglini and
                F. Damiani and P. Giannini},
   title     = {Objects dynamically changing class},
   institution = {Imperial College},
   year      = {1999}.
}


["Formal Methods in Computing" group] [Department's HOME]

Last update: Nov 08, 2006