~~NOCACHE~~ ====== The VM* Language Familty ====== VM* is a family of model manipulation languages aimed at giving all modelers, regardless of their level of technical expertise, access to powerful, easy to use tools for exploring and modifying their models. The VM* family consists of the following closely related, task-specific languages: * The Visual Model Transformation Language (VMTL), * The Visual Model Query Language (VMQL), * The Visual Model Constraint Language (VMCL). ===== VMTL ===== The Visual Model Transformation Language (VMTL) allows users to express model-to-model transformations using their existing, conventional model editor as an interface. To do so, users specify transformations as collections of VMTL //patterns//, where each pattern plays one of the traditional model transformation roles: //Left-Hand Side (LHS)//, //Right-Hand Side (RHS)//, //Negative Application Condition (NAC)//, or //Positive Application Condition (PAC)//. Patterns are ordinary model fragments enhanced by VMTL-speciffic annotations. VMTL consists of a simple annotation language and a convention for identifying model fragments as transformation components. To learn more about VMTL, read about its [[vmtl:semantics|operational semantics]] and [[vmtl:annotations|annotation syntax]]. To see VMTL in action, have a look at our collection of [[vmtl:example|examples]]. ===== VMQL ====== Coming soon. ===== VMCL ===== Coming soon.