Modeling Multiagent Cooperation as Distributed Constraint Satisfaction Problem Solving