A Distributed Constraint Satisfaction Problem for Virtual Device Composition in Mobile Ad Hoc Networks