When a command is done?

Hi all,

I started learning OCL/RTT and I wrote my first programs. I noticed that when I invoke a command, the end condition is correctly checked (the TaskManager reports command done) but the Execution engine continues checking it. For example if I have a command C with end condition E, C is correctly executed only once, E reports true (and the TaskManager notices that) but the execution engine invokes again and again E. Moreover, if I try C.done() it reports false.

Is this the expected behavior?