There has been a gradual but steady convergence of dynamic programming languages with modeling languages. Modern dynamic languages such as Groovy and Ruby provide for the creation of domain-specific languages that can provide a level of abstraction comparable to that of modeling languages such as UML. This convergence makes dynamic languages suitable as modeling languages but with benefits that traditional modeling languages do not provide. One area that can benefit from this convergence is model driven engineering. By using a dynamic language as an augmentation to MDE's traditional UML notation, it is possible to create models that are executable, exhibit flexible type checking, and which provide a smaller cognitive gap between business users, modelers and developers.