Blocks - http://www.blocks-language.org

Blocks is a block-oriented graphical programming language. Programming is simply a matter of dragging and droping blocks.

Blocks can be used as :
    * an education language, either for non-programmer or to teach algorithmics
    * an extension language for Java applications
    * an autonomous script language.

Blocks is written in Java, can be extended and integrated easily in other Java applications. The code is in readable xml, so that you can generate it if you need to.