Blogs (9) >>
Sun 30 October - Fri 4 November 2016 Amsterdam, Netherlands
Sun 30 Oct 2016 11:00 - 11:30 at Matterhorn 3 - Run-time Reflection Chair(s): Stefan Marr

Nowadays, there are more and more applications that need to run uninterruptedly. This need requires minimizing the downtime to add new features or fix bugs. Dynamic Software Update (DSU) solutions allow updating applications while they are executing. A common concern in all DSU solutions is the migration of the application’s state. This migration should guarantee the coherence of the state between versions by either adding, removing, preserving or transforming state. In an object-oriented environment, this state is represented by instances. In this paper, we analyse the features that a DSU solution should have with the objective to understand the operations a DSU should provide. Our analysis focuses on the migration of instances. Then, we identify the Meta-Object Protocol (MOP) that a programming language should expose to support these operations. We scope our proposal to DSU solutions for class-based programming languages with eager and atomic instance migration. Finally, we validate our proposal with a prototype DSU implemented in the Pharo programming language using the identified operations.

Paper (meta16-final7.pdf)211KiB