Domain Specific Languages (DSL) are great to have a language customized to your needs. Sometimes it makes sense to use a textual DSL and sometimes to build a graphical DSL.
For textual DSLs my favorite language workbench is Xtext and I use Graphiti for graphical DSLs.