Eisenstein et al. proposed a set of model-based techniques that may aid designers to build UIs across several platforms, while respecting the unique constraints posed by each platform. The approach will isolate the features that are common to the various contexts of use and specify how the user interface should adjust when the context changes.

Knowledge bases are created that describe various components of the user interface, including the presentation, the platform, the task structure, and the context. The knowledge base can then be used to automatically produce user interfaces matching the requirements of each context of use. The user interface is defined as a implementation-neutral description by the MIMIC modeling language. MIMIC is a formal declarative modeling language that comprises of 3 components – platform model, presentation model, and task model.

The platform model describes the computer systems running the user interface and the platform’s constraint information. The platform model can then be used to generate a set of user interfaces for each platform. It can also be dynamic and changes accordingly to context changes. The presentation model describes the visual appearance of the user interface. It describes the hierarchy of windows and their widgets, stylistic choices and the selection and placement of these widgets. The task model represents the structure of the tasks that the user may be performing. It is hierarchically decomposed into subtasks and information regarding goals, preconditions and post conditions may be supplied.

The connections, especially those between the platform and presentation models, are critical to the determination of the interface’s interactive behavior. These connections also describe how the various platform constraints will influence the visual appearance of the user interface. Several techniques were described for the creation of connections between the various models and the interpretations of these. However, the automated generation of task-optimized presentation structures using MIMIC has not been developed yet.