Design patterns have been enthusiastically embraced in the software engineering community as well as in the web community since they capture knowledge about how and when to apply a specific solution to a recurring problem in software systems. However, web design involves both cognitive and aesthetic aspects, for that there are several design patterns that describe the same problem but from different points of view and with different vocabulary, so it is more difficult to understand and to reuse that knowledge. To achieve a common vocabulary and improve reusability we propose to formalize web design patterns by means of ontologies. At the same time the ontology would allow us to express web design patterns in a formal way, that can be understood by a computer. So a design pattern knowledge base can be integrated in a software tool for web application modeling in order to suggest web design patterns that better suit some design requirements. Moreover, changes and alterations needed for...