Re-establishing a safe program state after an error occurred is a known problem. Manually written error-recovery code is both more difficult to test and less often executed than the main code paths, hence errors are prevalent in these parts of a program. This paper proposes a failure model for concurrent objects with cooperative scheduling that automatically re-establishes object invariants after program failures, thereby eliminating the need to manually write this problematic code. The proposed model relies on a number of features of actor-based object-oriented languages, such as asynchronous method calls, co-operative scheduling with explicit synchronization points, and communication via future variables. We show that this approach can be used to implement Erlang-style process linking, and implement a supervision tree as a proof-of-concept.
CITATION STYLE
Göri, G., Johnsen, E. B., Schlatte, R., & Stolz, V. (2014). Erlang-style error recovery for concurrent objects with cooperative scheduling. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 8803, pp. 5–21). Springer Verlag. https://doi.org/10.1007/978-3-662-45231-8_2
Mendeley helps you to discover research relevant for your work.