I do not foresee simulating the opcodes, or registers or something like that. If one finds such information interessting, I suggest using the AVR Studio.
I have a simple app in mind. Just not simple enough for me to write on my own, at least no right now.
I imagine that you would paste a sketch into a simple text pane, and then press some kind of ‘simulate’ button, and then you get a picture of an arduino and now you see symbols for pins that are input, and a different cymbol for output. Maybe ‘–>’ and ‘<–’.
And a color code for HIGH, LOW. such as black / red.
And, if user presses a pin with the cursor, he gets to choose input/output and high/low.
And that’s it for the framework.
I would add possibilities for additional hardware to get contributed. By enabling a simple set of functions to enable ‘scripting’. So one could make switches LEDs and maybe LCDs.
onStateChange( byte pin ) : void
setGraphic( char* file ) : bool
setPinMode( byte pin ) : void
setPinState( byte pin ) : void
And a simple drag and drop graphical editor for making the circuits.
But, it might be true that it is a waste of time.