Semantics of (Resilient) X10 [chapter]

Silvia Crafa, David Cunningham, Vijay Saraswat, Avraham Shinnar, Olivier Tardieu
2014 Lecture Notes in Computer Science  
Cons ist en t * Comple te * We ll Docum en ted * Easy to Re use * * E v a lu ate d * EC OOP * A rt ifact * A EC We present a formal small-step structural operational semantics for a large fragment of X10, unifying past work. The fragment covers multiple places, mutable objects on the heap, sequencing, try/catch, async, finish, and at constructs. This model accurately captures the behavior of a large class of concurrent, multi-place X10 programs. Further, we introduce a formal model of
more » ... in X10. During execution of an X10 program, a place may fail for many reasons. Resilient X10 permits the program to continue executing, losing the data at the failed place, and most of the control state, and repairing the global control state in such a way that key semantic principles hold, the Happens Before Invariance Principle, and the Exception Masking Principle. These principles permit an X10 programmer to write clean code that continues to work in the presence of place failure. The given semantics have additionally been mechanized in Coq.
doi:10.1007/978-3-662-44202-9_27 fatcat:xgnhfeklmnauhldjkzmfzvf6hu