  Network programmability allows modification of fine-grain data plane
functionality. The performance benefits of data plane programmability have
motivated many researchers to offload computation that previously operated only
on servers to the network, creating the notion of in-network computing (INC).
Because failures can occur in the data plane, fault tolerance mechanisms are
essential for INC. However, INC operators and developers must manually set
fault tolerance requirements using domain knowledge to change the source code.
These manually set requirements may take time and lead to errors in case of
misconfiguration. In this work, we present Araucaria, a system that aims to
simplify the definition and implementation of fault tolerance requirements for
INC. The system allows requirements specification using an intent language,
which enables the expression of consistency and availability requirements in a
constrained natural language. A refinement process translates the intent and
incorporates the essential building blocks and configurations into the INC
code. We present a prototype of Araucaria and analyze the end-to-end system
behavior. Experiments demonstrate that the refinement scales to multiple
intents and that the system provides fault tolerance with negligible overhead
in failure scenarios.
