A system and method for configuring and executing a flexible computer
program on a data processing system. The present invention introduces a
modifiable construct known as a component interface that can be linked to
other component interfaces to specify a computer program. The mechanism
for linking and unlinking component interfaces is easy to use and can
accommodate component interfaces that are only partially specified. This
enables specification of a component interface to be deferred, leading to
the following useful consequences: i) component interfaces can be used to
represent queries with parameters that are not specified until a context
is established, and ii) component interfaces can be organized with varying
levels of generality. Component interfaces also permit a "division of
expertise" whereby those with expert knowledge may configure application
components for use by others. Viewing, modifying, and combining of
component interfaces may be performed using a visual component manager. An
execution manager operating on the processor reads the component
interfaces, creates executable software components (called dynamic objects
under the preferred embodiment), and causes them to interact while
dynamically maintaining the relationships specified in the component
interfaces. The present invention makes it possible for customized
computer programs to be configured without the generation of new source
code, thereby reducing the incidence of programming errors. By providing a
documentation capability and allowing user-experts to interact directly
with component interfaces, the present invention eliminates much of the
communication problems that have plagued software development under the
prior art.
Un sistema y un método para configurar y ejecutar un programa de computadora flexible sobre un sistema de proceso de datos. La actual invención introduce una construcción modificable conocida como interfaz componente que se pueda ligar a otros interfaces componentes para especificar un programa de computadora. El mecanismo para ligar y desatar interfaces componentes es fácil de utilizar y puede acomodar los interfaces componentes que se especifican solamente parcialmente. Esto permite a la especificación de un interfaz componente ser diferida, conduciendo a las consecuencias útiles siguientes: i) los interfaces componentes se pueden utilizar para representar preguntas con los parámetros que no se especifican hasta que se establece un contexto, e ii) los interfaces componentes se pueden organizar con los niveles que varían de la generalidad. Los interfaces componentes también permiten una "división de la maestría" por el que ésos con el conocimiento experto puedan configurar los componentes del uso para el uso por otros. Viendo, modificándose, y el combinar de interfaces componentes se puede realizar usando a un encargado componente visual. Un encargado de la ejecución que funciona en el procesador lee los interfaces componentes, crea los componentes de software ejecutables (llamados los objetos dinámicos bajo encarnación preferida), y los hace obrar recíprocamente mientras que dinámicamente mantiene las relaciones especificadas en los interfaces componentes. La actual invención permite para que los programas de computadora modificados para requisitos particulares sean configurados sin la generación del nuevo código de fuente, de tal modo reduciendo la incidencia de errores de programación. Proporcionando una capacidad de la documentación y permitiendo que los usuario-expertos obren recíprocamente directamente con los interfaces componentes, la actual invención elimina mucho de los problemas de comunicación que han plagado el desarrollo del software bajo arte anterior.