A model-driven methodology to the content layout problem in web applications