Methods and apparatus, including computer program products, for developing
and executing applications include using an extended version of the
model-view-controller (MVC) paradigm. The techniques include a model for
an application, the model including multiple model elements, at least one
view for presenting data from the model, the view including multiple user
interface (UI) elements, and at least one controller for manipulating the
model and the view. The techniques also can include a structure for
storing application data according to a predetermined structure for at
least one storage area relating to the controller. The predetermined
structure can include multiple context elements and directed
relationships connecting the context elements, the directed relationships
forming at least one cycle between the context elements. The techniques
further can include and at least one binding between one of the UI
elements and one of the context elements.