A GUI programming interface - step in

I'm currently working on creating a drag and drop programming interface similair to mindstorms nxt(labview). I'm planning to make the gui generate arduino code and then create hex files and transfer it to a board. Now, I'm very new to this and this has been inspired by the Mindstorms NXT software and Arduino to a major extent. I'm ok to some extent developing gui applications in python and vb(i propose to use python for this) but not an expert on the innards of arduino. So i have a few questions, how does arduino work on the inside? like after i create and save a file as pde what does it do when i hit the compile and download buttons. I know it uses avr-gcc but what exactly does it do and will it be easy to simulate from a gui. All thoughts and feedback welcome. Once i have tested something basic(like programming a motor) i shall put it out here for a test.

Cheers, Pracas

You might want to talk to these people: http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1238232336