1. A method performed by a computer system, the method comprising: receiving from a modeling tool information defining a model representation for an application, the model representation comprising graphical user interface (GUI) components and dependencies between GUI components to define a GUI for the application; selecting and using a first set of mapping rules to automatically generate a declarative and executable abstract representation for the GUI based upon the model representation, including the GUI components and the dependencies between GUI components, wherein the abstract representation is independent of a runtime environment platform for executing the application and said selecting is performed based at least in part on a model type associated with the model representation; using a second set of mapping rules to automatically generate a first GUI for a first runtime environment platform using the abstract representation; and using a third set of mapping rules to automatically generate a second GUI from the abstract representation.