This paper addresses the problem of verifying the application of a Pattern Language in a design that is built based upon the patterns of the language in a model-driven approach. We propose a process named Pattern Language Verifier (PLV) which consists of four phases, working on a design model, to (1) verify the structure of every single pattern, (2) verify the relationships between the detected patterns, (3) verify the semantic aspects of the patterns, and (4) report the problems and help the designer fix them. Building a PLV for a given Pattern Language, requires the structural, syntactic, and semantic rules of the language to be precisely defined using the presented formalism.
For the case study, a group of enterprise architectural patterns is selected as the Pattern Language. The structural, syntactic, and semantic rules of the language are defined using the proposed formalism. A PLV is designed and implemented as an integration into an open source modeling tool. The tool is then utilized in designing a sample web application. The usefulness of the tool is represented by walkthrough scenarios that show finding the mistakes in the model and helping the designer repair the detected problems.