A Calculus of Evolving Objects

Dezani-Ciancaglini, Mariangiola; Giannini, Paola; Nierstrasz, Oscar Marius (2008). A Calculus of Evolving Objects. Scientific annals of computer science, 18, pp. 63-98. Iaşi: Al.I. Cuza University Press

[img] Text
XVIII_3.pdf - Published Version
Restricted to registered users only
Available under License Publisher holds Copyright.

Download (344kB) | Request a copy

The demands of developing modern, highly dynamic applications have led to an increasing interest in dynamic programming languages and mechanisms. Not only must applications evolve over time, but the object models themselves may need to be adapted to the requirements of different run-time contexts. Class-based models and prototype-based models, for example, may need to co-exist to meet the demands of dynamically evolving applications. Multi-dimensional dispatch, fine-grained and dynamic software composition, and run-time evolution of behaviour are further examples of diverse mechanisms which may need to co-exist in a dynamically evolving run-time environment. How can we model the semantics of these highly dynamic features, yet still offer some reasonable safety guarantees? To this end we present an original calculus in which objects can adapt their behaviour at run-time. Both objects and environments are represented by first-class mappings between variables and values. Message sends are dynamically resolved to method calls. Variables may be dynamically bound, making it possible to model a variety of dynamic mechanisms within the same calculus. Despite the highly dynamic nature of the calculus, safety properties are assured by a type assignment system.

Item Type:

Journal Article (Original Article)


08 Faculty of Science > Institute of Computer Science (INF)

UniBE Contributor:

Nierstrasz, Oscar Marius


000 Computer science, knowledge & systems




Al.I. Cuza University Press




Factscience Import

Date Deposited:

04 Oct 2013 15:22

Last Modified:

05 Dec 2022 14:25




https://boris.unibe.ch/id/eprint/37162 (FactScience: 207110)

Actions (login required)

Edit item Edit item
Provide Feedback