Engineering Agent Societies with Coordination Artifacts and Supporting Infrastructures