Hierarchical State machine Library in C and automatic Code generation Support from XMI UML description