Cooperative Coverage Control of Multi-Agent Systems