The Generic Modeling Environment (GME) is a configurable toolkit for creating domain-specific modeling and program synthesis environments. http://www.isis.vanderbilt.edu/Projects/gme/