This is an automatic C++ code generation implemented in Acceleo. It gets a model which is a ".uml" file (version 4) and generates codes for classes, attributes, methods, associations, and state machines. It also generates set and get methods and the necessary APIs for associations. The implementation for state machines is based upon "switch .. case ..". The code generated for regions is not complete yet.