Understanding Pharo's global state to move programs through time and space

Abstract : Code mobility is a mechanism that allows the migration of running programs between different environments. Such migration includes amongst others the migration of application data and resources. Application's data is is usually composed by elements of different nature: from printers and files, to framework and domain objects. This application data will be transported along with the code of its program in space (when serialized and deployed in another environment) or time (when a new session is started in a different point of time). The main problem when moving around code resides, in our understanding, to global state. While unreferenced leaf objects are garbage collected, those referenced (transitively) by some global object will remain alive. In order to support code mobility in time and space, we need to understand how global application data is used. With this purpose, we study and classify Pharo's global state. This classification uncovers some common patterns and provides a first insight on how global state should be managed, specially in code mobility scenarios. As a minor contribution, we also discuss solutions to each of the found categories.
Complete list of metadatas

https://hal.archives-ouvertes.fr/hal-01070964
Contributor : Lse Lse <>
Submitted on : Thursday, October 2, 2014 - 5:56:45 PM
Last modification on : Thursday, February 21, 2019 - 11:02:54 AM
Long-term archiving on : Saturday, January 3, 2015 - 11:21:04 AM

File

Poli14b-IWST-GlobalStateClassi...
Files produced by the author(s)

Identifiers

  • HAL Id : hal-01070964, version 1

Citation

Guillermo Polito, Noury Bouraqadi, Stéphane Ducasse, Luc Fabresse. Understanding Pharo's global state to move programs through time and space. International Workshop on Smalltalk Technologies, Aug 2014, Edinburgh, United Kingdom. ⟨hal-01070964⟩

Share

Metrics

Record views

792

Files downloads

263