A programming language is network-transparent if the same program code executes with the same results,whether it is run in a centralized or distributed setting,provided there is no partial failure. The Erlang programming language is network-transparent and handle failures by message passing. We propose in this paper a generalization of the Erlang failure handling model which can be used for more expressive network-transparent languages. The new design introduces two concepts: entity fault states and fault streams. The failure of an entity is modeled in the system as a language entity, and is visible to the programmer via its corresponding fault stream. We also describe an implementation in Mozart 1.4.0. Evaluation shows that this model incurs a slight overhead in performance, but yields much more modular program code
Debongnie, G., Collet, R., Doeraene, S., & Van Roy, P. (2012). Modular fault handling in a network-transparent programming language. 5th International Workshop on Exception Handling (WEH 12), , June 9, 2012., Zurich, Switzerland. https://hdl.handle.net/2078.5/199297