ULM, a core programming model for global computing, draft (October 2003).

We propose a programming model to address the unreliable character of accessing resources in a global computing context, focusing on giving a precise semantics for a small, yet expressive core language. To design the language, we use ideas and programming constructs from the synchronous programming style, that allow us to deal with the suspensive character of some operations, and to program reactive behaviour. We also introduce constructs for programming mobile agents, that move together with their state, made of a control stack and a store. This makes the access to references also potentially suspensive. We show how to predict, by a static analysis, that some uses of references may be considered as safe, that is, they do not need testing the presence of the reference.

[pdf, .ps.gz]