Enhancing Cooperation in Distributed Information Systems using Conviviality and Multi-Context Systems