An Xtext based DSL for describing graphical user interfaces