Model-driven design of collaborative Web applications