1. A method for automatically translating input code to a computer executable imperative output representation, the method comprising: providing an input source program expressed in a constraint programming language that also provides for specification of event-sequenced imperative procedures, wherein said input source program includes one or more constraints and one or more event-sequenced imperative procedures specified in accordance with said constraint programming language; automatically translating said input source program to an intermediate imperative representation; wherein said intermediate imperative representation provides an imperative representation of said one or more constraints with notification and callback code for constraints; wherein said intermediate imperative representation provides an imperative representation of said one or more event-sequenced imperative procedures with notification and callback code for events; automatically translating said intermediate imperative representation to said computer executable imperative output representation; and providing said computer executable imperative output representation as an output.