A computer program product comprising computer-readable instructions that, when executed in a computer system including one or more computers, cause the computer system to generate or update a user interface of a software application, the computer program product including programmably interconnected objects, said objects comprising one or more model objects, one or more view objects, and one or more controller objects, wherein each model object is interconnected for data exchange with one or more view objects and/or with one or more controller objects;
- and
- each model object includes one or more sub-data objects and/or one or more sub-model objects including hierarchically structured data and representing a state of the user interface;
- each view object is associated with at least one model object or at least one sub-model object and configured to generate the user interface or update the user interface in accordance with a change of the state;
- and
- each controller object is associated with at least one model object or at least one sub-model object and configured to execute control of said associated model object or sub-model object.