Semantic coordination in systems of autonomous agents: the approach and an implementation