state diagram generator