. In the task-independent part, each process repeatedly communicates its view to the others, receives their views in return, and updates its own state to reflect what it has learned. When enough communication layers have occurred, each process chooses an output value by applying a task-dependent decision map to its final view. 