Hi Mobao,
first, I'll walk you through what happened in your case. You called initialize and set the tape content to "ABC". You then checked the state data and saw that the tape content is correct. Calling run started the simulation. Now, I don't know how much do you know about Turing machines, but I must assume that it isn't much. Very generally and briefly, the transition function is used to move the head (basically a pointer) on the tape, while changing states and generating some output. The computation is finished if an accepting state is reached or no transition rule can be applied on the current state. At this point the module generates a notification, which I suggest you subscribe to using CLI "subscribe".
Having said that, I can now explain what happened. Your head was initially at "A", quite naturally. So the Turing machine tried to use the transition function to move to another state. If you look through it, the example one you used, you will see that all the symbols it can work with are 0s and 1s. Hence, no rule could be applied and the simulation immediately finished, state and head position were left at 0.
To answer your questions, 1. Yes, like I explained, everything happened the way it should have. 2. In the turing-machine.c actually is all the specific functionality of this module, all the source code. Everything else is handled internally in libnetconf in the transAPI. To understand how to implement transAPI modules, look
here (the first thing you should have done). Please, try to read it carefully and it would be best if you also tried to implement a simple module yourself to fully understand how it works. You can also check the other two transAPI modules, cfgsystem and cfginterfaces (in "netopeer/transAPI/"), which are fully functional, but quite complex. Only afterwards, if you still find yourself unable to understand something, feel free to ask again, but everything I have just written you could have discovered on your own.
Regards,
Michal