Esta es la versión de autor del artículo publicado en: This is an author produced version of a paper published in:Journal of Visual Languages & Computing 19.4 (2008)
AbstractWe present the new notion of enforced generative pattern, a structure that declares positive or negative conditions that must be satisfied by a model. Patterns are applied to transformation rules resulting in new rules that modify models according to the pattern specification. In the case of a negative pattern, an application condition is added to the rule. In the case of a positive one, the rule is modified to consider additional context in its left-hand side and to increase its effects. We have defined these patterns in an abstract setting, which enables their instantiation for different structures, like graphs, triple graphs and graph transformation rules.We apply the previous concepts to the specification of the syntax and semantics of visual languages. In particular, we show instantiations for: (i) graphs, with applications at the syntactical level; (ii) triple-graphs, for the coordination of syntax and static semantics; and (iii) rules, for the incremental construction of execution rules. We present some examples that illustrate the usefulness of the combination of these three instantiations. In particular, we show the specification of environments for visual languages with token-holder semantics, discrete-event semantics and communication semantics.