A domain specific language (DSL) focuses on a particular problem domain, facilitating the specification of its instances. Since they are frequently defined using imprecise languages, such as UML, they present ambiguities and their verification and validation (V&V) becomes complex. This paper proposes an approach to the precise definition of DSLs using Alloy - a formal language with tool-support that enables its V&V. The approach is illustrated with a DSL for Software Architecture.