La instrumentación de un programa interactivo puede ser dividida en dos componentes básicas: la funcionalidad y la interfase con el usuario. La funcionalidad define qué es lo que el programa puede hacer, y la interfase define cómo los usuarios le dicen al programa qué es lo que debe hacer y cómo el programa le dice a los usuarios qué es lo que hizo.
Esta separación es deseable porque facilita la construcción de buenas interfases y su modificabilidad. Además es factible porque, por ejemplo, la porción de un programa que calcula un valor no tiene por qué estar relacionada con cómo el valor es mostrado al usuario o cómo el usuario pide que ese valor sea calculado.
Una User Interface Management System (UIMS) es una herramienta que permite construir y administrar interfases con el usuario, en forma independiente de la funcionalidad de la aplicación.
Este trabajo tiene como objetivo la creación de una UIMS que otorgue la mayor separación posible entre las dos componentes de un programa nombradas previamente, de modo de facilitar la construcción de interfases con el usuario y dividir las tareas de diseño de una aplicación entre un programador de la funcionalidad y un programador de la interfase con el usuario.
La primera parte contiene una introducción general al mundo de las User Interface Management System y una profundización de los conceptos incluidos en éste prólogo.
La segunda parte presenta un estudio de dos de los casos estudiados sobre el tema: uno de ellos realizado por Pedro Szekely y el otro referido al modelo de interfases de Smalltalk-V.
Finalmente se presenta un nuevo modelo de UIMS, con sus aspectos conceptuales y de implementación, incluyendo un manual para el programador de interfases con el usuario.