Distributed Abductive Reasoning: Theory, Implementation and Application