MXPA06009769A - Metodo para la programacion de un sistema de procesamiento. - Google Patents

Metodo para la programacion de un sistema de procesamiento.

Info

Publication number
MXPA06009769A
MXPA06009769A MXPA06009769A MXPA06009769A MXPA06009769A MX PA06009769 A MXPA06009769 A MX PA06009769A MX PA06009769 A MXPA06009769 A MX PA06009769A MX PA06009769 A MXPA06009769 A MX PA06009769A MX PA06009769 A MXPA06009769 A MX PA06009769A
Authority
MX
Mexico
Prior art keywords
canvas
icons
instrument
icon
configuration
Prior art date
Application number
MXPA06009769A
Other languages
English (en)
Inventor
Andrew R Osborn
Chuck Cowham
Sarah Brown
Steve H Briers
Alan Newson
Kyle M Rhodes
Original Assignee
Beptech Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beptech Inc filed Critical Beptech Inc
Publication of MXPA06009769A publication Critical patent/MXPA06009769A/es

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0426Programming the control sequence
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3051Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04817Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/43Checking; Contextual analysis
    • G06F8/433Dependency analysis; Data or control flow analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23258GUI graphical user interface, icon, function bloc editor, labview

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Mathematical Physics (AREA)
  • Stored Programmes (AREA)
  • User Interface Of Digital Computer (AREA)
  • Programmable Controllers (AREA)
  • Processing Or Creating Images (AREA)

Abstract

Un metodo para programar un sistema de procesamiento que utiliza una computadora que tiene una configuracion canvas y un instrumento canvas. El metodo comprende los pasos de colocar iconos de objetos, cada uno asociado con objetos funcion sobre la configuracion canvas. Las trayectorias de ejecucion se enrutan automaticamente entre los iconos de objeto. Tambien se crean trayectorias de flujo de datos entre los iconos de objeto. Se coloca por lo menos un instrumento visual sobre el instrumento canvas. Un icono de instrumento visual al instrumento visual se coloca automaticamente sobre un cristal temporal. El icono de instrumento se mueve del cristal temporal para colocar el icono de instrumento sobre la configuracion canvas. Se crea entonces una trayectoria de flujo de datos entre el icono de instrumento y uno de los iconos de objeto de manera tal que el instrumento visual en el instrumento canvas se conecte de forma operativa con la configuracion de proceso en la configuracion canvas. Alternativamente, se puede colocar primero por lo menos un icono de instrumento sobre la configuracion canvas. El instrumento visual asociado al icono de instrumento se coloca entonces automaticamente sobre el cristal temporal. El instrumento visual entonces se mueve del cristal temporal sobre el instrumento canvas.

Description

MÉTODO PARA LA PROGRAMACIÓN DE UN SISTEMA DE PROCESAMIENTO CAMPO DE LA INVENCIÓN La presente invención es concerniente con un sistema de procesamiento y con un método para programar el sistema de procesamiento.
DESCRIPCIÓN DE LA TÉCNICA RELACIONADA El procesamiento de datos es utilizado en una diversidad de diferentes aplicaciones de manufactura y negocio relacionados para efectuar una variedad virtualmente ilimitada de objetivos. Un campo en el cual se usan los sistemas de procesamiento de datos es en el campo de automatización, control, recolección de datos e instrumentación. Un instrumento o accionador real, tal como una celda de carga, válvula hidráulica o servomotor, crea corrientes de datos en tiempo real o requiere corrientes de comandos en tiempo real. Una computadora, que incluye el sistema de procesamiento de datos, se interconecta con los instrumentos para recolectar y analizar los datos y producir comandos apropiados. Los sistemas de procesamiento de datos de la técnica previa implementados para llevar a cabo esta recolección de datos, también como una variedad de otras tareas, utilizan diferentes configuraciones de diseño y están comúnmente organizadas en una forma de red. Las redes pueden ser dispuestas en una variedad de configuraciones tal como una topología de línea de distribución principal o topología lineal, una topología de estrella, topología de anillo y los semejantes. En la red, hay una pluralidad comúnmente de nodos y enlaces de comunicación los cuales interconectan cada uno de los nodos. Los nodos son parte del sistema de procesamiento y son conectados a cada uno de los instrumentos para recolectar individualmente los datos emitidos por los instrumentos. Los nodos pueden también ser computadoras, terminales, estaciones de trabajo, otros accionadores, recolectores de datos adicionales, detectores o los semejantes. Los nodos tienen comúnmente un procesador, una memoria y varios otros componentes de elementos físicos y elementos de programación. Los nodos se comunican entre sí en los enlaces de comunicaciones en la red para obtener y enviar información. En una aplicación representativa, puede haber numerosos nodos que se comunican en una variedad de trayectorias diferentes. Un usuario del sistema de procesamiento frecuentemente desarrolla y requiere modelos conceptuales del sistema físico con el fin de ayudar al usuario en la programación y a utilizar el sistema de procesamiento. La programación de este tipo de sistema de procesamiento de datos que utiliza los nodos puede ser una tarea intimidante, aún para un programador profesional. Hay numerosas complejidades sutiles que un programador debe manejar antes de programar eficientemente un sistema de procesamiento de la técnica previa. El objetivo de programar un sistema de procesamiento utilizando fórmulas matemáticas, etapas matemáticas u otros de tales procedimientos complica adicionalmente el proceso de programación. Los programas de computadora usados para controlar los sistemas de procesamiento son escritos comúnmente en un lenguaje de programación textual convencional tal como por ejemplo, código de máquina, C, C++ o Pascal. El desempeño en tiempo real sensible requiere usualmente que el programador aprenda y use un sistema operativo en tiempo real de múltiples hilos. Estos lenguajes de .programación y sistemas operativos no son intuitivos y no están bien adaptados para recolectar y analizar datos requeridos por los sistemas de procesamiento de datos . Los usuarios y programadores de sistemas de procesamiento son más frecuentemente programadores no profesionales y por consiguiente requieren frecuentemente técnicas de programación de alto nivel que son más comprensibles e intuitivas. El uso incrementado de las computadoras y los sistemas de procesamiento de datos por los usuarios que no están altamente entrenados en la programación de computadoras ha conducido a la necesidad de programar un sistema de procesamiento de datos que es más fácil de usar e implementar que los sistemas actuales. La técnica previa ha contemplado mejoras en la programación de sistemas de procesamiento de datos con respecto a los lenguajes de programación enlistados anteriormente, véanse patentes estadounidenses 4,901,22; 4,914,568; y 5,301,301. Las técnicas de programación reveladas en estos documentos de la técnica previa intentan ayudar gráficamente al usuario en la programación del sistema de procesamiento de datos. Sin embargo, estas técnicas de programación tienen una diversidad de deficiencias. En particular, estos procedimientos son centrados en la computadora personal y no manejan de manera natural un sistema de nodos de múltiple procesamiento distribuidos. Hay un número no ordenado de etapas requeridas para completar una configuración de programación y hay una diversidad de aspectos que siguen siendo contra-intuitivos. También, hay un número de restricciones innecesarias colocadas en el usuario o programador del sistema de procesamiento. Finalmente, el sistema de procesamiento no es apto de cambiar dinámicamente durante el proceso de programación o durante la operación del sistema de procesamiento. Así, sería deseable desarrollar un método de programación de un sistema de procesamiento que sea relativamente fácil e intuitivo. Además, el método de programación debe ser versátil y tener restricciones limitadas para permitir que el usuario adapte plenamente el sistema de procesamiento. También, el método de programación debe ser adaptable a los sistemas distribuidos de múltiple procesamiento. Finalmente, el método de programación debe ser gráfico por naturaleza para ayudar al usuario en la conceptualización visualmente de las etapas de programación y debe ser apto de cambiar dinámicamente tanto durante el proceso de programación como durante la operación.
BREVE DESCRIPCIÓN Y VENTAJAS DE LA INVENCIÓN La presente invención incluye un método de programación de un sistema de procesamiento que utiliza un compuesto que tiene un lienzo de configuración, un lienzo de instrumentos y un tablero temporal. El sistema de procesamiento incluye por lo menos un procesador, una pluralidad de objetos de función con cada uno de los objetos de función que incluyen comandos para efectuar una función particular y por lo menos un instrumento visual. El método comprende las etapas de colocar una primera pluralidad de iconos de objeto cada uno asociado con una primera pluralidad de objetos de función sobre el lienzo de configuración en una pluralidad de diferentes sitios. Una pluralidad de trayectorias de ejecución son encauzadas automáticamente entre cada una de la primera pluralidad de iconos de objetos cuando la primera pluralidad de iconos de objetos son colocados sobre el lienzo de configuración para definir una configuración de procesamiento. Trayectorias de flujo de datos son creadas entre los iconos de objetos sobre el lienzo de configuración. Por lo menos un instrumento visual es colocado sobre el lienzo de instrumentos. Un icono de instrumento asociado con el instrumento visual es colocado automáticamente sobre el tubular temporal. El icono de instrumento es movido del tubular temporal para colocar el icono de instrumento sobre el lienzo de configuración. El método incluye la etapa de crear una trayectoria de flujo de datos entre el icono de instrumentos y por lo menos uno de los iconos de objeto dentro de la configuración de procesamiento sobre el lienzo de configuración, de tal manera que el instrumento visual sobre el lienzo de instrumento es conectado operacionalmente a la configuración de procesamiento sobre el lienzo de configuración. Alternativamente, por lo menos un icono de instrumento puede ser colocado primero sobre el lienzo de configuración. El instrumento visual asociado con el icono de instrumento es luego colocado automáticamente sobre el tablero temporal. Una trayectoria de flujo de datos es creada entre el icono de instrumento y por lo menos uno de los iconos de objetos dentro de la configuración de procesamiento sobre el lienzo de configuración. El método alternativo incluye la etapa de hacer mover el . instrumento visual desde el tablero temporal para colocar el. instrumento visual sobre el lienzo de instrumentos con el instrumento visual sobre el lienzo de instrumentos conectado operacionalmente a la configuración de procesamiento sobre el lienzo de configuración. Asi, la presente invención incluye un método mejorado de programación de un sistema de procesamiento que crea una técnica de programación gráfica que es extremadamente versátil y aún intuitiva. A medida que se explore con mayor detalle a continuación, el método de programación es dinámico por naturaleza y puede ser alterado tanto durante el proceso de programación como durante la operación.
BREVE DESCRIPCIÓN DE LAS FIGURAS Otras ventajas de la presente invención se apreciarán fácilmente a medida que se entienda mejor con referencia a la siguiente descripción detallada cuando se considere en relación con las figuras adjuntas en donde: La figura 1 es una ilustración esquemática de una aplicación contemplada del sistema de procesamiento; La figura 2 ilustra una pantalla de inicio en blanco de un monitor de computadora conectado al sistema de procesamiento de la presente invención; La figura 3 ilustra un menú de ficheros o archivos de la pantalla de inicio; La figura 4 ilustra un menú de ver de a pantalla de inicio; La figura 5 ilustra un menú de herramientas de la pantalla de inicio; La figura 6 ilustra un tablero de configuración del sistema, un tablero de explorador de proyecto, un tablero de caja de herramientas, un tablero de propiedades y un tablero sin asignar abierto en la pantalla de inicio; La figura 7 es un detalle del tablero de configuración de sistema; La figura 8 es un detalle del tablero de caja de herramientas; La figura 9 es un detalle adicional del tablero de caja de herramientas; La figura 10 ilustra el tablero de configuración del distancia, el tablero de explorador de proyecto, el tablero de caja de herramientas y el tablero de propiedades abierto en la pantalla de inicio y colocado a lo largo de los bordes de la pantalla de inicio; La figura 11 ilustra el menú de ficheros o archivos y la selección del comando de proyecto; La figura 12 ilustra una ventana de crear nuevo proyecto dentro de la pantalla de inicio; La figura 13 ilustra un lienzo de configuración en blanco con el tablero de configuración de sistema, el tablero de explorador de proyecto, el tablero de caja de herramienta y el tablero de propiedades abierto a lo largo de los bordes del mismo; La figura 14 ilustra un menú de editar del lienzo de configuración; La figura 15 ilustra un menú de insertar del lienzo de configuración; La figura 16 ilustra un menú de control del lienzo de configuración; La figura 17 ilustra una primera etapa representativa para crear una configuración de procesamiento, en donde un icono de procesador es dispuesto sobre el lienzo de configuración; La figura 18 ilustra una siguiente etapa en la configuración de procesamiento al colocar un icono de objetos en forma de un generador de onda seno sobre el lienzo de configuración; La figura 19 es un detalle del tablero de propiedades que se correlaciona con un objeto de función de suma flotante; La figura 20 es otro detalle del tablero de propiedades; La figura 21 es todavía otro detalle del tablero de propiedades; La figura 22 es otro detalle del tablero de propiedades; La figura 23 ilustra la etapa de colocar otro icono de objeto en forma de un generador de número aleatorio sobre el lienzo de configuración; La figura 24 ilustra la etapa de colocar todavía otro icono de objeto en forma de una multiplicación flotante sobre el lienzo de configuración; La figura 25 ilustra una colocación alternativa del icono de multiplicar flotante sobre el lienzo de configuración; La figura 26 ilustra el movimiento del icono generador de número aleatorio en relación con el icono de generador de onda seno; La figura 27 ilustra una configuración de procesamiento parcialmente completa sobre el lienzo de configuración con todas las trayectorias de ejecución siendo encausadas; La figura 27A es un detalle de algunos de los iconos de objeto sobre el lienzo de configuración de la figura 27 que ilustra un descriptor de texto para el icono de multiplicación flotante; La figura 27B es otro detalle de algunos de los iconos de objeto sobre el lienzo de configuración de la figura 27 que ilustra un símbolo para el icono de multiplicación flotante; La figura 28 es un detalle de iconos de objeto sobre el lienzo de configuración de la figura 24 que ilustra una sola trayectoria de flujo de datos, que es independiente de las trayectorias de ejecución encauzadas; La figura 29 ilustra una configuración de procesamiento completa sobre el lienzo de configuración con todas las trayectorias de ejecución siendo encauzadas y todas las trayectorias de flujo de datos siendo conectadas; La figura 30 ilustra la configuración de procesamiento completa de la figura 29 junto con el tablero de configuración del sistema, el tablero de explorador de proyecto, el tablero de caja de herramientas y el tablero de propiedades; La figura 31 ilustra la configuración de procesamiento completa de la figura 30 durante una operación de la misma; La figura 32 ilustra tres configuraciones de procesamiento completa sobre el mismo lienzo de configuración; La figura 33 ilustra las tres configuraciones de procesamiento completas de la figura 32 con- algunos de los iconos de objeto siendo movidos a un sitio diferente; La figura 34 ilustra las tres configuraciones de procesamiento completo de la figura 32 con uno de los iconos de objeto siendo movido a un sitio diferente; La figura 35 ilustra las tres configuraciones de procesamiento completas de la figura 32 con uno de los iconos de objeto siendo movidos a una diferente configuración de procesamiento; La figura 36 ilustra las tres configuraciones de procesamiento completas de la figura 32 con uno de los iconos de objeto siendo movidos a una configuración de procesamiento diferente; La figura 36A ilustra las tres configuraciones de procesamiento completas de la figura 32 con dos de estas configuraciones de procesamiento siendo sincronizadas; La figura 37 ilustra un lienzo de instrumento abierto sobre el lienzo de configuración; La figura 38 es otro detalle del tablero de caja de herramientas; La figura 39 ilustra el lienzo de instrumentos poblado con un número de instrumentos visuales; La figura 40 ilustra una configuración de procesamiento parcialmente creada con un detalle del tablero sin asignar; La figura 41 ilustra otra vista de la configuración de procesamiento parcialmente creada junto con el detalle del tablero sin asignar; La figura 42 ilustra otra configuración de procesamiento completa; La figura 43 ilustra el lienzo de instrumentos de la figura 39 superpuesto sobre la configuración de procesamiento completa de la figura 42; La figura 44 ilustra una configuración de procesamiento parcialmente creada con un detalle del tablero sin asignar; La figura 45 ilustra el tablero sin asignar superpuesto sobre un lienzo de instrumentos poblado con algunos instrumentos visuales; La figura 46 ilustra otra vista del tablero sin asignar superpuesto sobre el lienzo de instrumentos de la figura 45 con el instrumento visual movido desde el tablero sin asignar al lienzo de instrumentos; La figura 47 ilustra otro ejemplo de una configuración de procesamiento completa; La figura 48 ilustra la configuración de procesamiento completa de la figura 47 con un detalle del tablero de propiedades; La figura 49 ilustra la configuración de procesamiento completa de la figura 47 con el detalle del tablero de propiedades en tanto que demuestra la naturaleza dinámica de la presente invención al hacer mover un icono de sumar flotante en relación con un icono de restar flotante; La figura 50 ilustra todavía otro ejemplo de una configuración de procesamiento completa; La figura 51 es un detalle de un primer objeto de usuario de la configuración de procesamiento completa de la figura 50; La figura 52 es un detalle de un segundo objeto de usuario dentro del primer objeto de usuario de la figura 51; La figura 53 ilustra la configuración de procesamiento completa de la figura 50 con un detalle del tablero de explorador de proyecto; La figura 54 es otro ejemplo de una configuración de procesamiento completa.
DESCRIPCIÓN DETALLADA DE LA INVENCIÓN Refiriéndose a las figuras, en donde los números semejantes indican partes semejantes o correspondientes en todas las varias vistas, una ilustración esquemática de una aplicación contemplada del sistema de procesamiento es mostrada en general con el número 10 en la figura 1. En particular, el sistema de procesamiento 10 está configurado como un sistema de multiprocesamiento distribuido 10 que tiene una -pluralidad de nodos. Una aplicación contemplada del sistema de multiprocesamiento distribuido 10 es para recopilar y analizar datos, tal como durante las pruebas de un vehículo. Como el experimentado en la técnica apreciará, el sistema de procesamiento 10 de la presente invención tiene numerosas aplicaciones y la discusión subsecuente concerniente con la recolección de detalles y pruebas de vehículos y solamente por propósitos ilustrativos y de ninguna manera pretende limitar el alcance de la presente invención. Como se muestra en la figura 1, un accionador hidráulico 12 con una servo-válvula 14 son mostrados esquemáticamente. El accionar hidráulico actúa sobre un espécimen de prueba 16, tal como un vehículo. Una celda de carga 18 y transductor de desplazamiento 20 son conectados al accionador 12 para proporcionar señales, tales como fuerza y desplazamiento a una interfase 22. La interfase 22 es también conectada a la servo-válvula 14 para proporcionar las señales de control necesarias. La interfase 22 es preferiblemente parte de un nodo servo-controlador, que es marcado como nodo 1 en la figura. El nodo 1 también incluye uno o más procesadores y una interfase de comunicación 24. Preferiblemente el (los) procesador (es) del nodo 21 son procesadores de señales digitales (DSP) . El nodo 1 es a su vez conectado, vía un enlace de comunicación 26, a un centro de encauzamiento 28. Como se muestra, hay otros nodos y un nodo huésped también conectado al centro 28. Puede haber cualquier número de nodos conectados al centro 28, estos nodos tienen cualquier número y tipo apropiado de procesadores. El nodo huésped es preferiblemente una computadora que tiene un procesador de PC 30 junto con un monitor 32, teclado 34, ratón 36 y cualquier otro dispositivo periférico apropiado. El nodo huésped incluye una tarjeta de DSP que tiene una interfase 38 de línea de distribución principal, uno o más procesadores de DSP y una interfase de comunicación 40. Como con el nodo 1, la interfase de comunicación 40 del nodo huésped conecta el nodo huésped al centro 28 por medio de un enlace de comunicación 26. Como también con el nodo 1, no hay restricción en cuanto al tipo o tamaño de procesadores en el nodo huésped. La estructura específica y única del centro 28 y configuración de nodo, también como las especificidades de los nodos mismos es reveladas en las solicitudes de patente estadounidenses copendientes números de serie 09/692,852 y 09/982,601, las revelaciones de las cuales son incorporadas en la presente por referencia. Como se discute en la sección de antecedentes de la invención anterior, los sistemas de procesamiento de la técnica previa pueden ser difíciles y no intuitivos para programar. La extensión lógica del sistema de multiprocesamiento distribuidor ilustrado en la figura 1 puede también ser difícil de programar. Como tal, la presente invención se ha inventado para tratar estas necesidades. La presente invención incluye numerosos métodos mejorados, discutidos en detalle posteriormente en. la presente, para programar el sistema de multiprocesamiento distribuidor que son gráficos por naturaleza, extremadamente versátiles e intuitivos para usar. El método de programación es también dinámico por naturaleza y puede ser alterado tanto durante el proceso de programación como durante la operación. Volviendo a las figuras 2-10, muchos de los componentes básicos usados en los métodos de programación son mostrados . Una pantalla de inicio en blanco del monitor de computadora es mostrado en la figura 2. Esta pantalla o ventana es marcada como editor de configuración visual (VCE) . Muchos de los elementos mostrados en la VCE o pantalla de inicio son típicos de un sistema a base de ventanas. El VCE es el ambiente empleado por un usuario para crear, evitar, ejecutar y verificar la operación de un proyecto. Se debe notar que el término REDGRID® es marca comercial registrada con la oficina de patentes y marcas de los Estados Unidos de América y cualquier uso de este término en esta solicitud de patente de ninguna manera disminuye la intensidad y/o protección disponible para esta marca. Además, los términos Visual Configuration Editor y VCE, también como la ilustración gráfica adyacente a la marca REDGRID®, como se usa en esta solicitud de patente, de ninguna manera disminuye la intensidad y/o protección disponible para estas marcas comerciales. La figura 3 ilustra un menú de archivos de la pantalla de inicio, que incluye comandos para crear nuevos proyectos, abrir archivos de proyectos y guardar proyectos. La figura 4 ilustra un menú de Ver y la figura 5 ilustra un menú de Herramientas de la pantalla de inicio. El menú de Ver permite al usuario abrir selectivamente varios tableros, tal como se muestra en la figura 6. Refiriéndose a la figura 6, un tablero de configuración de sistema, un tablero de explorador de proyecto, un tablero de caja de herramientas, un tablero de propiedades y un tablero sin asignar son abiertos en la pantalla de inicio. Los tableros pueden ser flotantes o atracables y son re-dimensionables como se desee. Cada uno de estos tableros tienen propósitos específicos cuando el usuario está creando, modificando o ejecutando un proyecto, que son discutidos en detalle posteriormente en la presente. El menú de herramientas de la figura 5, contiene elementos de programación de alto nivel que son destinados para efectuar tareas complejas específicas. Estos elementos de programación podrían ser programas de cálculo especializados para ayudar al usuario y los semejantes. Así, estos elementos de programación son dispositivos que ahorran trabajo eficientes. El tablero de configuración del sistema o tablero de procesador es mostrado en mayor detalle en la figura 7. El tablero de configuración de sistema muestra una vista en árbol de todos los procesadores que están disponibles actualmente para el usuario. Los procesadores son organizados bajo nodos. En este ejemplo, hay dos nodos disponibles. Un nodo es el nodo local, que es otro nombre para el nodo huésped discutido anteriormente. En otras palabras, el nodo local es parte de la computadora. El .nodo local incluye un procesador de PC, denominado como 386, con cinco (5) eventos distintos identificados en el tablero del procesador. Como se discute con mayor detalle posteriormente en la presente, los eventos identificados bajo el procesador de PC pueden ser utilizados separadamente en el sistema de procesamiento para iniciar trayectorias de ejecución. El otro nodo disponible es la tarjeta de DSP REDgrid, que es un nombre específico para el nodo 1 discutido anteriormente. Como se mencionada anteriormente, REDgrid® es una marca comercial registrada y es solamente usada en esta solicitud de patente para ayudar en la ilustración de una modalidad contemplada. El nodo 1 incluye dos procesadores, denominados como ??l" y "2". Los procesadores son preferiblemente DSP y cada uno incluye tres (3) eventos que pueden ser seleccionados por el usuario. Sin embargo, en esta implementación específica del sistema de procesamiento, los DSP están designados de tal manera que cada uno de estos procesadores bajo el nodo 1 pueden ser utilizados solamente una vez en el sistema de procesamiento, pero eso no limita de ninguna manera la invención en donde es posible implementar DSP, de tal manera que cada evento pueda ser seleccionado independientemente. Los eventos discutidos anteriormente diferencian una variedad de velocidades de ejecución diferentes para los procesadores. En un sistema de procesamiento en tiempo real el usuario requerirá comúnmente que una trayectoria de ejecución sea repetida de manera periódica con una velocidad particular. En otras palabras, la trayectoria de ejecución, que es discutida en mayor detalle posteriormente en la presente, puede ser repetitiva y continua. El usuario puede seleccionar en sus parámetros en base a las necesidades del dispositivo que es controlado y luego selecciona un evento de procesador y velocidad de conformidad. Además de los eventos periódicos, puede haber eventos disponibles que pueden ejecutar la ejecución de manera no periódica. El tablero de caja de herramientas es mostrado en mayor detalle en las figuras 8 y 9. El tablero de caja de herramientas puede tener virtualmente cualquier número de ítems como se desee por cualquier aplicación particular. Ejemplos de carpetas pueden incluir objetos de dibujo, objetos sin iteración, primitivos e instrumentos visuales. Los objetos de dibujos son elementos visuales que ayudan al usuario a crear configuraciones de proyecto lógicas, comprensibles. Los objetos de dibujos son en general objetos no ejecutables. Los instrumentos visuales serán discutidos con mayor detalle posteriormente en -la presente. Como se muestra en la figura 9, la carpeta de primitivos incluye una gran clase de sub-carpetas, sub-sub-carpetas, etc. Dentro de la carpeta de primitivos hay una pluralidad de objetos de función o primitivos. Ejemplos de objetos de función son mostrados bajo la sub-sub-carpeta de instrumentos y bajo la sub-sub-carpeta de fuentes. Los objetos de función incluyen códigos o comandos ejecutables básicos que han sido programados de tal manera que cada uno de los objetos de función pueden efectuar una función particular. Los objetos de función, como se discute posteriormente en la presente, son elementos básicos o bloques de construcción que son ensamblados y conectados para efectuar tareas más completas. Los objetos de función pueden ser escritos para ejecutarse específicamente en un procesador o familia de procesadores. En el ejemplo de la figura 8, hay dos clases de objetos de función, el huésped y el SHARC. Los objetos de función huésped están diseñados para solamente ejecutarse en el procesador de PC o procesador huésped. Los objetos de función de SHARC están diseñados para ejecutarse solamente en DSP de SHARC. Los objetos de usuario, que es una recolección de objetos de función, son discutidos en mayor detalle posteriormente en la presente. La figura 10 ilustra el tablero de configuración de sistema, el tablero de explorador de proyecto, el tablero de caja de herramientas y el tablero de propiedades abierto en la pantalla de inicio y atracado a lo largo de los bordes de la pantalla de inicio. Como se muestra claramente, el tablero de propiedades y el tablero de explorador de proyecto están actualmente vacíos. También, el tablero sin asignar o tablero temporal, que está también actualmente vacío, está oculto de la vista. Volviendo a las figuras 11-16, componentes básicos adicionales usados en los métodos de programación también como un inicio de un proyecto son mostrados. Como se muestra en la figura 11, el usuario inicia al abrir el menú de archivos y seleccionar los comandos de nuevo/proyecto. La figura 12 ilustra una ventana de crear nuevo proyecto dentro de la pantalla de inicio y el usuario asigna un nombre al proyecto, tal como "proyector simple". Como se muestra en la figura 13, un lienzo de configuración en blanco aparece ahora en el tablero de configuración de sistema, el tablero de explorador de proyecto, el tablero de .caja de herramientas y el tablero de propiedades permaneciendo abierto a lo largo de los bordes del mismo. El explorador de proyecto ahora ilustra el comienzo de un árbol, el cual dará seguimiento al proyecto en el lienzo. Una vez que un proyecto es iniciado, aparece un nuevo menú de tres elecciones. Un menú de Editar del lienzo de configuración, como se muestra en la figura 14, contiene controles de edición de ventanas familiares. Como se muestra en la figura 15, un menú de Insertar del lienzo de configuración proporciona un usuario con una lista de objetos de dibujos que pueden ser insertados al lienzo de configuración. La carpeta de objetos de dibujo discutida anteriormente en el tablero de caja de herramientas contiene la misma lista de objetos de dibujo. La figura 16 ilustra un menú de control del lienzo de configuración, que contiene selecciones para controlar la ejecución de un proyecto consumado. Para ayudar al usuario, los controles de ejecución también están situados en una barra de herramientas de la pantalla. Volviendo a las figuras 17-31, un método de programación de un proyecto básico, tal como el "proyecto simple" iniciado anteriormente, para el sistema de procesamiento, también como un número de otros elementos, es ahora discutido en detalle. Como se muestra en. la figura 17, un icono de procesador asociado con uno de los procesadores está colocado sobre el lienzo. Específicamente, uno de los eventos del tablero de procesador es movido al arrastrar y dejar caer la selección sobre el lienzo para crear el icono de procesador sobre el lienzo. En este ejemplo, el número "1" DSP bajo el nodo de tarjeta de DSP de REDgrid es movido sobre el lienzo. El usuario ha seleccionado específicamente el evento IRQ2 y este evento es identificado en la marcación o etiquetado del procesador. El evento IRQ2 es un evento repetitivo que ejecuta las trayectorias de ejecución 20,480 veces por segundo. Todos los eventos en este procesador están ahora sombreados para indicar que este procesador ya no está disponible para uso en este proyecto. Se debe notar otra vez que la no disponibilidad de todos los elementos una vez que ha sido seleccionado es una propiedad de una implementación específica del sistema de procesamiento. Además, no es necesario comenzar un proyecto con un procesador y el usuario puede seguir cualquier secuencia deseada en la construcción de una configuración de procesamiento . Como se muestra en la figura 18, el usuario explora el tablero de caja de herramientas por un objeto de función deseado y luego coloca un primer icono de objeto asociado con un primer objeto de función sobre el lienzo en un primer sitio. Específicamente, el símbolo asociado del tablero de caja de herramientas es copiado sobre el lienzo, que define el primer icono de objeto. En este ejemplo, el primer icono de objeto es asociado con un objeto de función de generador de onda seno y fue arrastrado y dejado caer sobre el lienzo del símbolo de generador de onda seno bajo la carpeta de fuentes o recursos en el tablero de caja de herramientas. El tablero de explorador de proyecto indica automáticamente el generador de onda seno en el árbol y será actualizado automáticamente cada vez que el proyecto es modificado. El generador de onda seno es resaltado y el tablero de propiedades se vuelve poblado con información variada concerniente con el generador de onda seno. Refiriéndose a las figuras 19-22, el tablero de propiedades es ilustrado en mayor detalle. En este ejemplo, un objeto de función de sumar flotante es colocado sobre el lienzo y resaltado. El tablero de propiedades es mostrado flotante próximo a este objeto de función. El tablero de propiedades es usado para inspeccionar y modificar virtualmente todas las propiedades de todos los objetos de función en el proyecto. Por ejemplo, propiedades de señales de datos, conectores (puertos de datos) y la apariencia visual del objeto de función pueden ser inspeccionados y/o modificados. En el ejemplo de la figura 19, el usuario puede introducir valores para la entrada 1 y la entrada 2, que permiten que el usuario ajuste las condiciones iniciales para las señales de entrada. El tablero de propiedades también tiene lengüetas en una mini-barra de herramientas para seleccionar diferentes vistas, tales como señales, conexiones, información y visuales. La vista de señales es mostrada en la figura 19. La vista de conexiones es mostrada en la figura 20, en donde el usuario puede escoger mostrar u ocultar cualesquier conectores de datos. Esto es útil para objetos de función alternativamente complejos que tienen muchas entradas y salidas disponibles para el usuario, pero solamente unos pocos son necesarios, eliminando mediante esto el emborronamiento visual. La vista de información es mostrada en la figura 21 y la vista de visuales es mostrada en la figura 22. En la vista de visuales, cada aspecto de cómo el símbolo gráfico aparece y se comporta puede ser inspeccionado y modificado. Volviendo otra vez al proyecto básico que es creado, la figura 23 ilustra un segundo icono de objeto asociado con un segundo objeto de función que es colocado sobre el lienzo en un segundo sitio. El segundo sitio del segundo icono es diferente que el primer sitio del primer icono. En este ejemplo, el segundo icono está asociado con un objeto de función de generador de número aleatorio. Como se muestra en las figuras 24 y 25, un tercer icono de objeto asociado con un tercer objeto de función es enseguida colocado sobre el lienzo en un tercer sitio. Otra vez, el tercer sitio es diferente de los primeros y segundos sitios. En este ejemplo, el tercer icono está asociado con un objeto de función de multiplicar flotante. Un aspecto de la presente invención es concerniente con el encauzamiento y re-encauzamiento de trayectorias de ejecución a medida que los iconos y procesadores son colocados sobre el lienzo. Como se muestra en las figuras 24 y 25, una trayectoria de ejecución es encauzada automáticamente desde uno de los primeros y . segundos iconos de objeto al tercer icono de objeto en base a una orientación del tercer sitio del tercer icono de objeto en relación con el primer sitio del primer icono de objeto y el segundo sitio del segundo icono de objeto sobre el lienzo. En otras palabras, una trayectoria de ejecución es encauzada automáticamente desde uno del primer icono de objeto y el tercer icono de objeto al segundo icono de objeto en base a la orientación del tercer sitio del tercer icono de objeto en relación con el primer sitio del primer icono de objeto y la segunda ubicación del segundo icono de objeto sobre el lienzo. En el ejemplo de la figura 24, una trayectoria de ejecución es encauzada desde el segundo icono de objeto al tercero icono de objeto puesto que el segundo sitio del segundo icono de objeto está entre el primer sitio del primer icono de objeto y el tercer sitio del tercer icono de objeto como se ve de izquierda a derecho sobre el lienzo. Una trayectoria de ejecución es también encauzada automáticamente desde el primer icono de objeto en el primer sitio al segundo icono de objeto en el segundo sitio cuando el segundo icono de objeto está colocado sobre el lienzo. En otras palabras, como se muestra en la figura 23, la trayectoria de ejecución es encauzada inmediata y automáticamente desde el primer icono de objeto al segundo icono de objeto en base a la orientación relativa del segundo icono. Alternativamente, como se muestra en la figura 25, una trayectoria. de ejecución podría ser encauzada automáticamente desde el primer icono de objeto al tercer icono de objeto puesto que el tercer sitio del tercer icono de objeto está entre el primer sitio del primer icono de objeto y el segundo sitio del segundo icono de objeto tal como se ve de izquierda a derecho sobre el lienzo. En este ejemplo alternativo, la trayectoria de ejecución del primer icono de objeto es re-encauzada automáticamente y sin costura, de lo que se muestra en la figura 23, en respuesta a la orientación del tercer icono de objeto de tal manera que la trayectoria de ejecución es re-encauzada al tercer icono de objeto. Además, una trayectoria de ejecución sería encauzada automáticamente desde el tercer icono de objeto en el tercer sitio al segundo icono de objeto en el segundo sitio en respuesta a la orientación del tercer icono de objeto. De aquí, en este ejemplo alternativo, la trayectoria de ejecución sería encauzada desde el primer icono, al tercer icono y luego al segundo icono. Una trayectoria de ejecución es también encauzada automáticamente desde el icono de procesador a uno de los primeros, segundos y terceros iconos de objeto en base a la orientación de los iconos. La trayectoria de ejecución del icono de procesador a uno de los primeros, segundos y terceros iconos de objetos es encauzada automáticamente en base a una posición más a la izquierda de los primeros, segundo y tercer iconos de objeto como se ve de izquierda a derecha sobre el lienzo. En este ejemplo, como se muestra en las figuras 17 y 18, el procesador es colocado primero sobre el lienzo y el luego el primer icono es colocado sobre el lienzo. La trayectoria de ejecución, como se muestra en la figura 18, es encauzada automáticamente al primer icono debido a que este primer icono está en la posición más a la izquierda. Se debe apreciar que no . hay requerimiento de que el procesador sea colocado sobre el lienzo primero y además no hay requerimiento de que el procesador esté situado a lo largo de la posición izquierda sobre el lienzo. Las trayectorias de ejecución pueden ser identificadas por flechas de colores o flechas configuradas de manera única. Como se resume en mayor detalle posteriormente en la presente, pueden haber una diversidad de trayectorias de ejecución diferentes encauzadas de diferentes procesadores a diferentes grupos configurados de los iconos de objetos. En estos tipos de configuraciones de multiprocesamiento es deseable tener flechas coloreadas diferentemente o configuradas diferentemente para identificar diferentes configuraciones de procesamiento encauzadas de diferentes procesadores. La trayectoria de ejecución que es actualmente siendo revisada o modificada es identificada en la barra de herramientas.
Al comparar las figuras 24 y 25, se ilustra la naturaleza dinámica de la presente invención. Los iconos de objetos podrían ser colocados inicialmente sobre el lienzo en las orientaciones mostradas en la figura 24. Luego, uno de los iconos de objeto (el tercer icono de objeto en este ejemplo, puede ser movido a un sitio diferente. En el ejemplo de la figura 25, el icono de multiplicar flotante (tercer icono de objeto) es movido a una posición entre los primeros y segundos iconos. Como se discute anteriormente, las trayectorias de ejecución son re-encauzadas automáticamente y sin costuras en base a la orientación movida del tercer icono de objeto en relación con los otros iconos sobre el lienzo. La generación de las trayectorias de ejecución y proceso de re-dibujo se efectúa en tiempo real y continua en tanto que el icono es arrastrado de una orientación a otra. Al comparar las figuras 24 y 26, se muestra otro ejemplo de la naturaleza dinámica de la presente invención. Los iconos de procesador y objeto podrían ser colocados inicialmente sobre el lienzo en las orientaciones mostradas en la figura 24. Luego el generador de número aleatorio (segundo icono de objeto) podría ser movido a una posición entre el procesador del primer icono de objeto tal como se muestra en la figura 26. El segundo icono de objeto es ahora el icono más a la izquierda de tal manera que la trayectoria de ejecución del procesador es re-encauzada automáticamente y sin costuras al segundo icono de objeto (véase figura 26). En respuesta, las trayectorias de ejecución restantes son también re-encauzadas, de tal manera que las trayectorias de ejecución se encauzan ahora del procesador al segundo icono de objeto, al primero icono de objeto y al tercer icono de objeto como se muestra en la figura 27. Como también se muestra en la figura 27, un cuarto icono de objeto asociado con un cuarto objeto de función es colocado sobre el lienzo en una cuarta ubicación, la cuarta ubicación es diferente de las primeras, segundas y terceras ubicaciones. En este ejemplo, el cuarto icono está asociado con un objeto de función de alcance. Una trayectoria de ejecución es también encauzada automáticamente desde el tercer icono de objeto en la tercera ubicación al cuarto icono de objeto en la cuarta ubicación, cuando el cuarto icono de objeto es colocado sobre el lienzo. Se debe apreciar que puede haber cualquier número de iconos adicionales colocados sobre el lienzo que están asociados con los mismos o diferentes objetos de función. En este ejemplo, hay un icono adicional, que también esta asociado con un alcance, colocado sobre el lienzo. Cada uno de los objetos de función e iconos de objeto asociados incluyen por lo menos una entrada y/o por lo menos una salida. Las entradas y salidas están diseñadas como compuertas de datos para recibir y transmitir datos. La figura 27A ilustra un icono de multiplicación flotante que tiene dos entradas y una sola salida. Se debe apreciar que los objetos de función e iconos de objeto pueden tener cualquier número apropiado de entradas y/o salidas como se desee. Refiriéndose a las figuras 27A y 27B, otro elemento asociado con cada uno de los iconos de objeto es ilustrado. En particular, cada uno de los primeros, segundos y terceros iconos de objeto incluyen una pluralidad de símbolos, tales como símbolos matemáticos o de ingeniería y descriptores, tales como texto. Debido a las limitaciones de espacio sobre el lienzo, es ventajoso que el usuario tenga la pluralidad de símbolos y descriptores que pueden ser alterados dinámicamente cuando se desee. Hay veces cuando un símbolo solo es suficiente para que el usuario entienda la función u operación del objeto de función. En otros tiempos, al usuario le gustaría ver mayor detalle y descripciones de las entradas y salidas por ejemplo. La figura 27A ilustra el icono de multiplicación flotante que tiene descriptores de texto visibles para el usuario. Específicamente, compuertas de datos de entrada y salida son visibles. Las etiquetas de las entradas y salidas son configurables por el usuario. En el ejemplo mostrado, solamente el primer carácter del nombre para las entradas y salida es mostrado para ahorrar espacio. Puesto que la trayectoria de ejecución preferida procede de manera de izquierda a derecha, las entradas son ilustradas en el borde izquierdo y las salidas son mostradas en el borde derecho. La figura 27B ilustra el mismo icono de multiplicación flotante que tiene ahora un símbolo visible para el usuario. Si el usuario apunta a una entrada o salida específica, el nombre de la entrada o salida será entonces visible. En la modalidad preferida, cada uno de los iconos de objeto incluyen un símbolo gráfico y un descriptor de texto, solamente uno del símbolo y descriptor es visible a la vez. Aún más preferiblemente, al usuario le gustaría colocar un cursor sobre el objeto para cambiar dinámicamente las vistas. En este punto en nuestro proyecto ejemplar y como se muestra en la figura 27, todas las trayectorias de ejecución han sido establecidas. Sin embargo, en la modalidad preferida, las trayectorias de ejecución son independientes de las trayectorias de flujos de datos. Refiriéndose a las figuras 28 y 29, una trayectoria de flujo de datos es ahora creada entre los primeros, segundos, terceros y cuartos iconos de objeto sobre el lienzo separadamente de los encauzamientos de las trayectorias de ejecución sobre el lienzo. Específicamente, la creación de las trayectorias de flujo de datos entre los iconos de objetos se efectúa al conectar manualmente la salida de uno de los iconos de objetos a la entrada de otro icono de objeto sobre el lienzo. Aún más específicamente, el usuario hace clic en una entrada o salida y arrastra el apuntador sobre el lienzo hacia la entrada o salida opuesta. Si se obtiene una conexión de datos permisible, entonces una línea continua es dibujada que indica una trayectoria de flujo de datos conectada. En el ejemplo mostrado en la figura 28, una salida del generador de número aleatorio es conectada a una entrada de la multiplicación flotante al conectar una trayectoria de flujo de datos entre estas compuertas de datos. Las trayectorias de ejecución no son afectadas por la conexión de la trayectoria de flujo de datos. La figura 29 ilustra trayectorias de flujo de datos completas entre los varios iconos de objetos. La trayectoria de flujo de datos puede ser distribuida automáticamente a más de una entrada cuando múltiples entradas son requeridas por uno o más iconos de objetos, creando mediante esto un punto de distribución sobre la trayectoria de flujo de datos. La distribución de la trayectoria de flujo de datos no afecta de ninguna manera los valores reales de los datos. Los valores de los datos que pasan a través de las trayectorias de flujo de datos son simplemente enviados a más de un icono de objetos. En el ejemplo mostrado, tanto la multiplicación flotante como el alcance 2 requieren múltiples entradas. Por consiguiente, las salidas del generador de onda seno y el generador de número aleatorio han sido distribuidas y un punto de distribución ha sido colocado sobre esta área de la trayectoria de flujo de datos. Preferiblemente, un icono de distribución asociado con otro objeto de función es creado automáticamente en el fondo de distribución sobre la trayectoria de flujo de datos. Además, las trayectorias de- ejecución son re-encauzadas automáticamente para incluir el icono de distribución en el punto de distribución en base a las orientaciones relativas de los iconos. Alternativamente, un icono de distribución asociado con otro objeto de función puede ser colocado manualmente sobre la trayectoria de flujo de datos para distribuir la trayectoria de flujo de datos cuando se requiere más de una entrada por uno o más iconos. Refiriéndose a las figuras 30 y 31, el proyecto está ahora completo. El sistema procesamiento se puede poner en operación de tal manera que los objetos de función estén efectuando las funciones asociadas con el fin de que la trayectoria de ejecución entre los iconos de objetos y datos estén pasando a lo largo de la trayectoria de flujo de datos entre los iconos. La operación del sistema de procesamiento es definida además como operación de las trayectorias de operación entre los iconos en orden de izquierda a derecha como se ve en el lienzo. De aquí, el icono de objeto más a la izquierda se ejecuta primero, el objeto inmediatamente a su derecha se ejecuta en segundo lugar y así sucesivamente, hasta que todos los iconos de objeto en una trayectoria de ejecución particular han sido ejecutados. Como se menciona anteriormente, el sistema de procesamiento típico será repetitivo, de tal manera que una vez que el objeto de función asociado con el icono de objeto más a la derecha se ha ejecutado, entonces la operación se repetirá continuamente. En la modalidad preferida, los valores que pasan a través de la trayectoria de flujo de datos son conservados entre cada paso de la trayectoria de ejecución. De aquí, los valores creados en la última ejecución pueden estar disponibles como entradas para la siguiente ejecución. Se debe apreciar que el orden de operación puede ser alterado sin desviarse del alcance global de la presente invención. La operación del proyecto es controlada mediante comandos en la barra de herramientas, tales como detener, pausa y ejecutar. En el presente ejemplo, como se muestra en la figura 31, alcance 2 muestra las señales originales del generador de onda seno y el generador de número aleatorio. Alcance 1 muestra la multiplicación en tiempo real de estas señales. Otro aspecto de la presente invención es que uno de los iconos de objeto pueden ser movidos a una diferente ubicación y las trayectorias de ejecución serían automáticamente re-encauzadas en base a la orientación movida de los iconos de objeto entre sí sobre el lienzo, en tanto que el sistema de procesamiento está en operación, de tal manera que las trayectorias de ejecución son re-encauzadas en tiempo real. En otras palabras, el movimiento de los iconos y el re-encauzamiento de las trayectorias de ejecución discutidas en detalle anteriormente cuando se programa el sistema de procesamiento, puede también ser efectuada en tanto que el sistema de procesamiento está en operación, incrementando mediante esto extensamente la versatilidad de la invención. Volviendo a las figuras 32-36 otro proyecto completo es ilustrado. El lienzo de configuraciones más grande para este proyecto debido al tablero de configuración de sistema, tablero de explorador de proyecto, tablero de caja de herramientas, tablero de propiedades y tablero sin asignar están todos atracados en el lado derecho de la pantalla. Como se menciona anteriormente, los tableros pueden ser dispuestos de cualquier manera apropiada sobre la pantalla. La configuración particular mostrada en la figura 32 maximiza el espacio para el lienzo de configuración en tanto que permite acceso a todos los tableros. El proyecto mostrado en las figuras 32-36 es multiprocesamiento, esto es, hay más de un procesador colocado sobre el lienzo. Con el fin de crear la configuración ilustrada en la figura 32, un primer icono de procesador asociado con un primer procesador es colocado sobre el lienzo. Una primera pluralidad de iconos de objetos cada uno asociado con una primera pluralidad de objetos de función son colocados sobre el lienzo en una pluralidad de diferentes ubicaciones. Una primera pluralidad de trayectorias de ejecución son encauzadas automáticamente desde el primer icono de procesador a cada uno de la primera pluralidad de iconos de objetos, cuando la primera pluralidad de iconos de objetos son colocados sobre el lienzo para definir una primera configuración de procesamiento.
Similarmente, un segundo icono de procesador es colocado sobre el lienzo. Una segunda pluralidad de iconos de objetos cada uno asociado con una segunda pluralidad de objetos de función son colocados sobre el lienzo en una pluralidad de ubicaciones diferentes. Una segunda pluralidad de trayectorias de ejecución son encauzadas automáticamente desde el segundo icono de procesador a cada uno de la segunda pluralidad de iconos de objetos cuando la segunda pluralidad de iconos de objeto son colocados sobre el lienzo para definir una segunda configuración de procesamiento. Como se ilustra, mucho de la segunda configuración de procesamiento es una duplicación de la primera configuración de procesamiento para crear redundancia en el sistema. Finalmente, un tercer icono de procesador es colocado sobre el lienzo. Una tercera pluralidad de iconos de objeto, cada uno asociado con una tercera pluralidad de objetos de función son colocados sobre el lienzo en una pluralidad de sitios diferentes. Una tercera pluralidad de trayectorias de ejecución son encauzadas automáticamente desde el tercer icono de procesador a cada uno de la tercera pluralidad de iconos de objetos cuando la tercera pluralidad de iconos de objetos son colocados sobre el lienzo para definir una tercer configuración de procesamiento. Con el fin de diferenciar entre las primeras, segundas y terceras pluralidades de trayectorias de ejecución, estas trayectorias de ejecución son etiquetas de manera única. Preferiblemente, las primeras, segundas y terceras pluralidades de trayectorias de ejecución serán diferenciadas al utilizar colores únicos para cada trayectoria de ejecución. Una primera trayectoria de flujo de datos es creada entre la primera pluralidad de iconos de objetos sobre el lienzo separadamente de los encauzamientos de las trayectorias de ejecución del primer icono de procesador sobre el lienzo. En este ejemplo, la primera trayectoria de flujo de datos es creada entre el generador de señales 1, generador de señales 2, resta flotante 1 . potencia 1 y media 1. Similarmente, una segunda trayectoria de flujo de datos es creada entre la segunda pluralidad de iconos de objeto sobre el lienzo separadamente de los encauzamientos de las trayectorias de ejecución del segundo icono de procesador sobre el lienzo. En este ejemplo, la segunda trayectoria de flujo de datos es creada entre un par de iconos de distribución, resta flotante 2, potencia 2 y media 2. Debido a la distribución de las trayectorias de flujo de datos, el generador de señales 1 y generador de señales 2 están enviando datos tanto a las primeras como a las segundas trayectorias de flujo de datos. Finalmente, una tercera trayectoria de flujo de datos es creada entre la tercera pluralidad de iconos de objetos sobre el lienzo separadamente de los encauzamientos de las trayectorias de ejecución del tercer icono de procesador sobre el lienzo. En este ejemplo, la tercera trayectoria de flujo de datos es creada entre la media 1 de la primera trayectoria de flujo de datos, la media 2 de la segunda trayectoria de flujo de datos, resta flotante 3, valor absoluto flotante 1 y medidor 1. Como se ilustra claramente, las trayectorias de flujo de datos pueden ser creadas a flujos de datos entre cualquiera de los iconos de objetos sobre el lienzo. En particular, por lo menos una de las primeras, segundas y terceras trayectorias de flujos de datos es encauzada para fluir entre por lo menos uno de la primera pluralidad de iconos de objetos, la segunda pluralidad de iconos de objetos y la tercera pluralidad de iconos de objetos, de tal manera que los datos están pasando a través y entre las primeras, segundas y terceras configuraciones de procesamiento. Las trayectorias de flujo de datos pueden también ser distribuidas como sea necesario de acuerdo con los procedimientos resumidos anteriormente. La creación de estas configuraciones de procesamiento que están ahora completas, se efectúan mediante .las metodologías resumidas anteriormente. Como se muestra en la figura 33, los iconos de objetos se pueden mover a diferentes orientaciones sobre el lienzo. Las trayectorias de flujo de datos no son modificadas cuando los iconos son movidos. Las trayectorias de flujo de datos son simplemente re-dibujadas en base a la nueva orientación. Las trayectorias de ejecución de cada configuración de procesamiento no interactúan automáticamente con la trayectoria de ejecución de la otra configuración de procesamiento. De aquí, como se muestra en la figura 33, los iconos de objetos de la tercera configuración de procesamiento han sido movidos a la parte superior del lienzo. La trayectoria de ejecución del procesador de la tercera configuración de procesamiento sigue automáticamente el icono de objeto más a la izquierda de la tercera configuración de procesamiento y no interactúa automáticamente con las otras trayectorias de ejecución de las primeras y segundas configuraciones de procesamiento . La figura 34 es otro ejemplo de un icono de objeto de cambia orientaciones dentro del lienzo. En particular, un icono de objeto (resta flotante 2) de la segunda configuración de procesamiento es movido a una orientación diferente sobre el lienzo. Una vez más, las trayectorias de flujo de datos no cambian y son simplemente re-dibujadas en base a la nueva orientación del icono de objeto. Esta figura ilustra claramente que las trayectorias de flujo de datos pueden hacer pasar datos de izquierda a derecha, derecha a izquierda, de arriba a abajo, etc. Sin embargo, hay un efecto de trayectorias de flujo de datos que hacen pasar detalles de derecha a izquierda. Como se menciona anteriormente, las trayectorias de ejecución proceden de izquierda a derecha. Por consiguiente, cuando se efectúan conexiones de datos de iconos de objetos que están más tarde en la trayectoria de ejecución ocurre un retardo. De aquí, al mover iconos de objetos para forzar una trayectoria de flujo de datos a hacer pasar datos de derecha a izquierda puede ser un medio para iniciar un retardo en el paso de datos. En el ejemplo presente de la figura 34, un solo retardo ocurrirá en la ejecución repetitiva del sistema de procesamiento debido a que los datos para el icono de potencia 2 no han sido recibidos puesto que el icono de resta flotante 2 está orientado a una posición más tarde en la trayectoria de ejecución de la segunda configuración de procesamiento. Como se discute en mayor detalle anteriormente en la presente, las trayectorias de ejecución de la segunda configuración de procesamiento son re-encauzadas debido a que el icono de objeto que fue movido era previamente el icono más a la izquierda. La trayectoria de ejecución para el procesador de la segunda configuración de procesamiento es por consiguiente re-encauzada al nuevo icono de objetos más a la izquierda (potencia 2) . La trayectoria de ejecución al icono de objeto movido es también re-encauzada para encauzar ahora del icono de objeto (media 2) a la izquierda del icono de objeto movido (resta flotante 2) . Otra vez, las trayectorias de ejecución de las primeras y terceras configuraciones de procesamiento no son afectadas . La figura 35 ilustra todavía otro aspecto de la presente invención, en donde las trayectorias de ejecución en un ambiente de multiprocesamiento pueden ser re-encauzadas manualmente. Específicamente, uno de la primera pluralidad de iconos de objeto de la primera configuración de procesamiento es re-encauzado a la segunda configuración de procesamiento al retirar automáticamente la primera pluralidad de trayectorias de ejecución asociadas con el icono de objeto re-encauzado y encauzar automáticamente la segunda pluralidad de trayectorias de ejecución al icono de objeto re-encauzado. En el ejemplo mostrado en la figura 35, el generador de señales 1, que era previamente parte de las trayectorias de ejecución de la primera configuración de procesamiento ha sido movido a la parte de las trayectorias de ejecución de la segunda configuración de procesamiento. Esta operación se efectúa al resaltar el icono de objeto a ser movido (generador de señales 1 en este ejemplo) . Luego, se cambia la trayectoria de ejecución por medio del uso de la barra de herramientas. Las trayectorias de ejecución tanto de la vieja configuración (primera configuración de procesamiento) y nueva configuración (segunda configuración de procesamiento) son re-encauzadas automáticamente. Las trayectorias de flujo de datos no son afectadas. Este tipo de cambio podría tener una ventaja práctica para el usuario. En particular la carga de cálculo podría ahora ser esparcida más igualmente a través de dos (DSP) . La figura 36 ilustra un aspecto similar de la presente invención como se muestra en la figura 35. Sin embargo, el icono de objeto es movido desde la primera configuración de procesamiento a la tercera configuración de procesamiento. De aquí, la primera pluralidad de trayectorias de ejecución asociadas con el icono de objeto re-encauzado es retirada automáticamente y la tercera pluralidad de trayectorias de ejecución es re-encauzada automáticamente al icono de objeto re-encauzado. En el ejemplo mostrado en la figura 36, el generador de señal 1 que era previamente parte de las trayectorias de ejecución de la primera configuración de procesamiento, ha sido movido ahora para ser parte de las trayectorias de ejecución de la tercera configuración de procesamiento. Otra vez, las trayectorias de flujo de datos no son afectadas. En movimiento de los iconos de objetos dentro y fuera de varias configuraciones de procesamiento es una herramienta extremadamente versátil y no es impedida por el lenguaje de máquina de los procesadores. En particular, el primer procesador puede incluir un primer lenguaje de máquina y el segundo procesador puede incluir un segundo lenguaje de máquina que es diferente del primer lenguaje de máquina. El re-encauzamiento de los iconos de objeto de las configuraciones de procesamiento que operan bajo diferentes lenguajes de máquinas es sin costura y no es afectado por los diferentes lenguajes de máquina . Refiriéndose a la figura 36A, un objeto de sincronización puede ser insertado a la trayectoria de ejecución entre los iconos de la primera configuración de procesamiento y a la trayectoria de ejecución entre los iconos de la segunda configuración de procesamiento para sincronizar estas trayectorias de ejecución en el punto de inserción. De aquí, el procesamiento de datos a través de cada una de estas configuraciones de procesamiento será sincronizado en tiempo real en los puntos de inserción. El objeto de sincronización proporciona medios gráficos simples para alinear la ejecución de objetos de función en ambientes de multiprocesamiento. Como se aprecia, diferentes procesadores y/o diferentes eventos se pueden estar ejecutando a velocidades diferentes. El objeto de sincronización permite que el usuario fuerce específicamente puntos de sincronización en múltiples trayectorias de ejecución de múltiples procesadores. Cuando la ejecución de una trayectoria de ejecución particular alcanza el objeto de sincronización, la ejecución esperará hasta que todas las trayectorias de ejecución sincronizadas han alcanzados sus respectivos objetos de sincronización. En este punto, se permite que todas las trayectorias de ejecución procedan. Volviendo a las figuras 37-46, un elemento de instrumento visual de la presente invención será discutido en detalle. Los instrumentos visuales permiten que el usuario cree controles e indicadores que aparecerán en el monitor de la computadora y permitirán al usuario interactuar con el sistema de procesamiento durante la operación. Como se muestra en la figura 37, la computadora también incluye un lienzo de instrumentos. El lienzo de instrumentos es mostrado dispuesto sobre el lienzo de configuración. Se debe apreciar que puede haber una pluralidad de lienzos de instrumentos abiertos en cualquier tiempo. Como se muestra en la figura 38, el sistema de procesamiento incluye por lo menos un instrumento visual. Preferiblemente, los instrumentos visuales son encontrados bajo una carpeta de instrumentos visuales en el tablero de caja de herramientas . Por lo menos un instrumento visual puede ser colocado sobre el lienzo de instrumentos como se muestra en la figura 39. Específicamente, el símbolo para el instrumento visual está situado en el tablero de caja de herramientas y copias son arrastradas y dejadas caer el lienzo de instrumentos para definir el instrumento visual. Los instrumentos visuales pueden ser colocados dentro del lienzo de instrumentos y también pueden ser re-di ensíonados como se desee. En el ejemplo mostrado, el lienzo de instrumentos incluye una perilla y un medidor. La figura 40 ilustra otro lienzo de configuración con por lo menos un icono de objeto asociado con un objeto de función es colocado sobre el lienzo de configuración. Uno o más iconos de procesador asociados con un procesador son también colocados sobre el lienzo. Una o más trayectorias de ejecución son encauzadas automáticamente entre iconos de procesadores e icono (s) de objeto cuando los iconos de objeto son colocados sobre el lienzo de configuración para definir una configuración de procesamiento. Trayectorias de flujo de datos son también creadas entre los iconos de procesador e iconos de objeto sobre el lienzo de configuración. Refiriéndose a las figuras 39-41, un icono de instrumento asociado con el instrumento visual es colocado automáticamente sobre el tablero sin asignar o tablero temporal cuando el instrumento visual es colocado sobre el lienzo de instrumentos . Luego el icono de instrumentos es movido del tablero temporal para colocar el icono de instrumentos sobre el lienzo de configuración. En este ejemplo, los iconos de instrumentos asociados tanto con la perilla y el medidor serían colocados automáticamente sobre el tablero sin asignar o tablero temporal cuando la perilla y medidor fueron colocados sobre el lienzo de instrumentos. Como se muestra en la figura 40, la perilla ha sido movida al lienzo de configuración, en tanto que el medidor permanece en el tablero sin asignar o tablero temporal. Específicamente, la perilla ha sido arrastrada y dejada caer del tablero sin asignar al lienzo de configuración. La - figura 41 ilustra que tanto la perilla como el medidor han sido movidos al lienzo de configuración, de tal manera que el tablero sin asignar o tablero temporal está otra vez vacío. Como se muestra en la figura 42, trayectorias de flujo de datos son creadas entre los iconos de instrumentos y por lo menos uno de los iconos de objetos dentro de la configuración de procesamiento sobre el lienzo de configuración, de tal manera que los instrumentos visuales sobre el lienzo de instrumentos son conectados operacionalmente la configuración de procesamiento sobre el lienzo de configuración. La configuración de procesamiento está ahora completa. Como se muestra en la figura 43, la configuración de procesamiento se pone en operación de tal manera que los objetos de función están efectuando las funciones asociadas en el orden de las trayectorias de ejecución entre los iconos y los detalles están pasando a lo largo de la trayectoria de datos entre los iconos. El instrumento visual puede ser manipulado para alterar automáticamente valores de datos que pasan a lo largo de las trayectorias de flujo de datos en tiempo real. Volviendo ahora a las figuras 44-46, se muestran medios alternativos para colocar iconos de instrumentos sobre el lienzo de configuración es instrumentos visuales sobre el lienzo de instrumentos. La creación de la configuración de procesamiento es la misma como se discute anteriormente y como se ilustra en la figura 42. La diferencia radica en la colocación del icono de instrumento e instrumento visual y la naturaleza recíproca del tablero sin asignar. En esta modalidad, por lo menos un icono de instrumento es colocado primero sobre el lienzo de configuración. En particular, el símbolo asociado con el icono de instrumento es arrastrado directamente del tablero de caja de herramientas sobre el lienzo de configuración. El instrumento visual asociado con el icono de instrumento es luego colocado automáticamente sobre el tablero sin asignar o tablero temporal cuando el icono de instrumentos es colocado sobre el lienzo de configuración, véase figura 45. Una trayectoria de flujo de datos es creada entre el icono de instrumento y por lo menos uno de los iconos de objetos dentro de la configuración de procesamiento sobre el lienzo de configuración. Como se muestra en la figura 46, el instrumento visual es luego movido desde el tablero sin asignar o tablero temporal para colocar el instrumento visual sobre el lienzo de instrumento con el instrumento visual sobre el lienzo de instrumentos conectado operacionalmente a la configuración de procesamiento sobre el lienzo de configuración. El instrumento visual de esta modalidad es también enlazado al icono de instrumento, de tal manera que se proporciona un comando para cambiar entre el instrumento visual sobre el lienzo de instrumentos y el icono de instrumentos sobre el lienzo de configuración. El usuario es libre de usar ya sea un método u otro de colocar iconos de instrumentos e instrumentos visuales sobre sus respectivos lienzos. Otra configuración de procesamiento completa es mostrada en las figuras 47-49. Esta configuración de procesamiento es creada de la misma manera como se resume anteriormente. La comparación de las figuras 48 y 49 ilustra otro ejemplo de orientar un icono de objeto en relación con otro icono de objeto con las trayectorias de ejecución cambiando dinámicamente durante esta reorientación. En este ejemplo, el icono de suma flotante es movido en relación con un icono de resta flotante y un icono de multiplicación flotante. El tablero de propiedades es también ilustrado próximo a las configuraciones de procesamiento. A medida que e icono de suma flotante es movido, los resultados son actualizados automáticamente. En particular, el código siguiente es cambiado de resta flotante (figura 48) a multiplicación flotante (figura 49) . Similarmente, los siguientes datos son cambiados de resta flotante (figura 48) a multiplicación flotante (figura 49). Estos resultados son conocidos como indicadores de códigos y datos y son más descritos específicamente en las solicitudes de patente estadounidense copendientes números de serie 09/692,852 y 09/982,601, las revelaciones de las cuales son incorporadas en la presente por referencia. Elementos adicionales de la invención son mostrados en las figuras 50-53. Una configuración de procesamiento es creada en la figura 50 utilizando objetos de usuario. Los objetos .de usuario son un tipo particular de objeto de función y están designados para permitir que un usuario cree una jerarquía de navegación. En particular, los objetos de usuario son colecciones de otros iconos de objetos. Los objetos de usuario pueden ser guardados y reutilizados como se desee. El doble clic sobre el objeto 1 de usuario de la figura 50 revela una sub-configuración como se muestra en la figura 51. Se usan símbolos de entrada y salida para indicar la dirección del flujo de datos. Dentro de las sub-configuración de la figura 51 se encuentra el objeto de usuario 2. Al hacer doble clic sobre el objeto de usuario 2 revela una sub-sub-configuración como se muestra en la figura 52. Este es el nivel más bajo de jerarquía. El número de objetos de usuario es enlistado en la barra de herramientas. Como se muestra en la figura 53, el tablero de explorador de proyecto es abierto enseguida a la configuración de procesamiento. El explorador de proyecto ilustra las varias jerarquías de la configuración actual para ayudar al usuario. Como se menciona anteriormente, el tablero de explorador de proyecto es regenerado automáticamente cada vez que un icono es agregado, movido, reemplazado, borrado, etc. El explorador de proyecto es una herramienta de navegación importante o índice a la configuración de proyecto. El usuario puede hacer clic sobre iconos en toda la configuración y el explorador de proyecto refleja la ubicación del icono en la jerarquía. También, el usuario puede hacer clic sobre un símbolo u otro objeto sobre el árbol de explorador de proyecto y el lienzo cambiará automáticamente para proporcionar el icono de objeto seleccionado.
La figura 54 ilustra una implementación de servocontrolador hidráulico del sistema de procesamiento. En particular, una configuración de proyecto ha sido creada para un servo-controlador de circuito cerrado. Se debe apreciar que la creación de configuraciones de procesamiento puede ser extremadamente compleja y el uso de la presente invención ayuda extensamente en la programación y operación estas configuraciones . La invención ha sido descrita de manera ilustrativa y se comprenderá que la terminología que ha sido usada se propone ser por naturaleza de palabras de descripción en lugar de limitación. Como es ahora evidente para aquellos experimentados en la técnica, muchas modificaciones y variaciones de la presente invención son posibles a la luz de las enseñanzas anteriores. Por consiguiente, se comprenderá que dentro del alcance de las reivindicaciones adjuntas, la invención se puede llevar a la práctica de otra manera que como se describe específicamente .

Claims (26)

  1. REIVINDICACIONES 1. Un método para la programación de un sistema de procesamiento utilizando una computadora que tiene un lienzo de configuración, un lienzo de instrumentos, y un tablero temporal, el sistema de procesamiento incluye por lo menos un procesador, una pluralidad de objetos de función, con cada uno de los objetos de función que incluyen comandos para efectuar una función particular, y por lo menos un instrumento visual, el método esta caracterizado porque comprende las etapas de: colocar una pluralidad de iconos de objetos, cada uno asociado con una pluralidad de objetos de función sobre el lienzo de configuración en una pluralidad de sitios diferentes; encauzar automáticamente una pluralidad de trayectorias de ejecución, entre cada uno de la pluralidad de iconos de objetos, cuando la pluralidad de iconos de objetos son colocados sobre el lienzo de configuración para definir una configuración de procesamiento; crear trayectorias de flujo de datos entre los iconos de objetos sobre el lienzo de configuración; colocar por lo menos un instrumento visual sobre el lienzo de configuración; colocar automáticamente un icono de instrumentos asociado con el instrumento visual sobre el tablero temporal cuando el instrumento visual es colocado sobre el lienzo de instrumentos; hacer mover el icono de instrumentos del tablero temporal para colocar el icono de instrumentos sobre el lienzo de configuración; y crear una trayectoria de flujo de datos entre el icono de instrumentos y por lo menos uno de los iconos de objetos dentro de la configuración de procesamiento sobre el lienzo de configuración, de tal manera que el instrumento visual sobre el lienzo de instrumentos es conectado operacionalmente a la configuración de procesamiento sobre el lienzo de configuración.
  2. 2. El método de conformidad con la reivindicación 1, caracterizado porque comprende además la etapa de poner en operación la configuración de procesamiento de tal manera que los objetos de función están efectuando las funciones asociadas en el orden de las trayectorias de ejecución entre los iconos y los datos están pasando a lo largo de la trayectoria de flujo de datos entre los iconos.
  3. 3. El método de conformidad con la reivindicación 2, caracterizado porque comprende además la etapa de hacer mover por lo menos uno de los iconos de objetos a un sitio diferente y re-encauzar automáticamente las trayectorias de ejecución en base a la orientación movida del icono de objeto sobre el lienzo, en tanto que el sistema de procesamiento está operando de tal manera que las trayectorias de ejecución son re-encauzadas en tiempo real .
  4. 4. El método de conformidad con la reivindicación 3, caracterizado porque la etapa de poner el operación el sistema de procesamiento es definido además como poner en operación las trayectorias de ejecución entre los iconos en orden de izquierda a derecha tal como se ve en el lienzo.
  5. 5. El método de conformidad con la reivindicación 1, caracterizado porque la etapa de encauzar automáticamente la pluralidad de trayectorias de ejecución entre la pluralidad de iconos de objeto es definida además como encauzar automáticamente la pluralidad de trayectorias de ejecución entre la pluralidad de iconos de objetos en base a orientaciones relativas de los iconos de objetos.
  6. 6. El método de conformidad con la reivindicación 5, caracterizado porque la etapa de encauzar automáticamente la pluralidad de trayectorias de ejecución entre la pluralidad de iconos de objetos es definida además como encauzar automáticamente la pluralidad de trayectorias de ejecución entre la pluralidad de iconos de objetos de izquierda a derecha tal como se ve en el lienzo en base a orientaciones relativas de izquierda a derecha de los iconos de objetos.
  7. 7. El método de conformidad con la reivindicación 5, caracterizado porque incluye además la etapa de hacer mover por lo menos uno de los iconos de objeto a un sitio diferente y re-encauzar automáticamente las trayectorias de ejecución en base a la orientación movida del icono de objetos sobre el lienzo.
  8. 8. El método de conformidad con la reivindicación 1, caracterizado porque incluye además la etapa de manipular el instrumento visual para alterar automáticamente valores de datos que pasan a lo largo de las trayectorias de flujo de datos en tiempo real.
  9. 9. El método de conformidad con la reivindicación 1, caracterizado porque incluye además la etapa de enlazar el instrumento visual al icono de instrumentos e incluye además la etapa de proporcionar un comando para cambiar entre el instrumento visual sobre el lienzo de instrumentos y el icono de instrumentos sobre el lienzo de configuración.
  10. 10. El método de conformidad con la reivindicación 1, caracterizado porque la etapa de crear una trayectoria de flujo de datos entre los iconos de objetos es definida además como crear una trayectoria de flujo de datos entre los iconos de objetos sobre el lienzo separadamente de los encauzamientos de las trayectorias de ejecución sobre el lienzo, de tal manera que las trayectorias de ejecución y trayectoria de flujo de datos son independientes entre sí.
  11. 11. El método de conformidad con la reivindicación 1, caracterizado porque incluye además la etapa de colocar un icono de- procesador asociado con el procesador sobre el lienzo.
  12. 12. El método de conformidad con la reivindicación 11, caracterizado porque incluye además la etapa de encauzar automáticamente una trayectoria de ejecución del icono de procesador a uno de los iconos de objetos en base a las orientaciones de los iconos.
  13. 13. El método de conformidad con la reivindicación 12, caracterizado porque la etapa de encauzar la trayectoria de ejecución desde el icono de procesador a uno de los iconos de objetos es definida además como encauzar automáticamente la trayectoria de ejecución del icono de procesador a uno de los iconos de objetos en base a una posición más a la izquierda de los iconos de objetos tal como es visto de izquierda a derecha sobre el lienzo.
  14. 14. Un método para la programación de un sistema de procesamiento que utiliza una computadora que tiene un lienzo de configuración, un lienzo de instrumentos y un tablero temporal, el sistema de procesamiento incluye por lo menos un procesador, una pluralidad de objetos de función, con cada con uno de los objetos de función que incluye comandos para efectuar una función particular y por lo menos un instrumento visual, el método está caracterizado porque comprende las etapas de: colocar una pluralidad de iconos de objetos, cada uno asociado con una pluralidad de -objetos de función sobre el lienzo de configuración en una pluralidad de sitios diferentes; encauzar automáticamente una pluralidad de trayectorias de ejecución entre cada uno de la pluralidad de iconos de objetos, cuando la pluralidad de iconos de objetos son colocados sobre el lienzo de configuración para definir una configuración de procesamiento; crear trayectorias de flujo de datos entre los iconos de objetos sobre el lienzo de configuración; colocar por lo menos un icono de instrumentos sobre el lienzo de configuración; colocar automáticamente el instrumento visual asociado con el icono de instrumentos sobre el tablero temporal, cuando el icono de instrumentos es colocado sobre el lienzo de configuración; crear una trayectoria de flujo de datos entre el icono de instrumentos y por lo menos uno de los iconos de objetos dentro de la configuración de procesamiento sobre el lienzo de configuración; y hacer mover el instrumento visual del tablero temporal para colocar el instrumento visual sobre el lienzo de instrumentos con el instrumento visual sobre el lienzo de instrumentos conectado operacionalmente a la configuración de procesamiento sobre el lienzo de configuración.
  15. 15. El método de conformidad con la reivindicación 14, caracterizado porque incluye además la etapa de poner en operación la configuración de procesamiento de tal manera que los objetos de función están efectuando las funciones asociadas en el orden de las trayectorias de ejecución entre los iconos y los datos se hacen pasar a lo largo de la trayectoria de flujo de datos entre los iconos.
  16. 16. El método de conformidad con la reivindicación 15, caracterizado porque incluye además la etapa de hacer mover por lo menos uno de los iconos de objeto a un sitio diferente y re-encauzar automáticamente las trayectorias de ejecución en base a la orientación movida del icono de objetos sobre el lienzo, en tanto que el sistema de procesamiento está operando de tal manera que las trayectorias de ejecución son re-encauzadas en tiempo real.
  17. 17. El método de conformidad con la reivindicación 16, caracterizado porque la etapa de poner el operación el sistema de procesamiento es definido además como poner en operación las trayectorias de ejecución entre los iconos en orden de izquierda a derecha tal como se ve por el lienzo.
  18. 18. El método de conformidad con la reivindicación 14, caracterizado porque la etapa de encauzar automáticamente la pluralidad de trayectorias de ejecución entre la pluralidad de iconos de objetos es definida además como encauzar automáticamente la pluralidad de trayectorias de ejecución entre la pluralidad de iconos de objetos en base a las orientaciones relativas de los iconos de objetos.
  19. 19. El método de conformidad con la reivindicación 18, caracterizado porque la etapa de encauzar automáticamente la pluralidad de trayectorias de ejecución entre la pluralidad de iconos de objetos es definida además como encauzar automáticamente la pluralidad de trayectorias de ejecución entre la pluralidad de iconos de objetos de izquierda a derecha tal como se ve por el lienzo en base a las orientaciones relativas de izquierda a derecha de los iconos de objetos.
  20. 20. El método de conformidad con la reivindicación 18, caracterizado porque incluye además la etapa de hacer mover por lo menos uno de los iconos de objetos a un sitio diferente y re-encauzar automáticamente las trayectorias de ejecución en base a la orientación movida del icono de objeto sobre el lienzo.
  21. 21. El método de conformidad con la reivindicación 14, caracterizado . porque incluye además la etapa de manipular el instrumento visual para alterar automáticamente los valores de datos que pasan a lo largo de las trayectorias de flujo de datos en tiempo real.
  22. 22. El método de conformidad con la reivindicación 14, caracterizado porque incluye además la etapa de enlazar el instrumento visual al icono de instrumentos e incluye además la etapa de proporcionar un comando para cambiar entre el instrumento visual sobre el lienzo de instrumentos y el icono de instrumentos sobre el lienzo de configuración.
  23. 23. El método de conformidad con la reivindicación 14, caracterizado porque la etapa de crear una trayectoria de flujo de datos entre los iconos de objetos es definida además como crear una trayectoria de flujo de datos entre los iconos de objetos sobre el lienzo separadamente de los encauzamientos de las trayectorias de ejecución sobre el lienzo, de tal manera que las trayectorias de ejecución y la trayectoria de flujo de datos son independientes entre si.
  24. 24. El método de conformidad con la reivindicación 14, caracterizado porque incluye además la etapa de colocar un icono de procesador asociado con el procesador sobre el lienzo.
  25. 25. El método de conformidad con la reivindicación 24, caracterizado porque incluye además la etapa de encauzar automáticamente una trayectoria de ejecución del icono de procesador a uno de los iconos de objetos en base a las orientaciones de los iconos.
  26. 26. El método de conformidad con la reivindicación 25, caracterizado porque la etapa de encauzar la trayectoria de ejecución del icono del procesador a uno de los iconos de objetos es definida además como encauzar automáticamente la trayectoria de ejecución del icono de procesador a uno de los iconos de objetos en base a una posición más a la izquierda de los iconos de objetos tal como se ve de izquierda a derecha sobre el lienzo.
MXPA06009769A 2004-02-25 2005-02-25 Metodo para la programacion de un sistema de procesamiento. MXPA06009769A (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US54758804P 2004-02-25 2004-02-25
PCT/US2005/006204 WO2005083533A1 (en) 2004-02-25 2005-02-25 Method of programming a processing system

Publications (1)

Publication Number Publication Date
MXPA06009769A true MXPA06009769A (es) 2007-04-23

Family

ID=34910919

Family Applications (1)

Application Number Title Priority Date Filing Date
MXPA06009769A MXPA06009769A (es) 2004-02-25 2005-02-25 Metodo para la programacion de un sistema de procesamiento.

Country Status (7)

Country Link
US (1) US7992093B2 (es)
EP (1) EP1719026B1 (es)
JP (1) JP4995071B2 (es)
KR (1) KR101169702B1 (es)
CN (2) CN1934511A (es)
MX (1) MXPA06009769A (es)
WO (1) WO2005083533A1 (es)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7864178B2 (en) * 2005-11-09 2011-01-04 National Instruments Corporation Creating machine vision inspections using a state diagram representation
US20080303819A1 (en) * 2007-06-08 2008-12-11 Pierre-Olivier Latour Method and apparatus for comparing program graphs
AT10302U3 (de) * 2008-08-04 2009-10-15 Avl List Gmbh Erzeugen einer ablauffähigen konfiguration
US8780114B1 (en) * 2009-08-31 2014-07-15 The Mathworks, Inc. Interactive memory map
CN103699058B (zh) * 2012-05-24 2017-08-25 株式会社堀场制作所 测试系统及设备管理装置
US9152297B2 (en) * 2012-10-25 2015-10-06 Udacity, Inc. Interactive content creation system
US10649449B2 (en) 2013-03-04 2020-05-12 Fisher-Rosemount Systems, Inc. Distributed industrial performance monitoring and analytics
US10909137B2 (en) 2014-10-06 2021-02-02 Fisher-Rosemount Systems, Inc. Streaming data for analytics in process control systems
US10282676B2 (en) 2014-10-06 2019-05-07 Fisher-Rosemount Systems, Inc. Automatic signal processing-based learning in a process plant
US9665088B2 (en) 2014-01-31 2017-05-30 Fisher-Rosemount Systems, Inc. Managing big data in process control systems
US9804588B2 (en) 2014-03-14 2017-10-31 Fisher-Rosemount Systems, Inc. Determining associations and alignments of process elements and measurements in a process
US10649424B2 (en) 2013-03-04 2020-05-12 Fisher-Rosemount Systems, Inc. Distributed industrial performance monitoring and analytics
US9823626B2 (en) 2014-10-06 2017-11-21 Fisher-Rosemount Systems, Inc. Regional big data in process control systems
US10678225B2 (en) 2013-03-04 2020-06-09 Fisher-Rosemount Systems, Inc. Data analytic services for distributed industrial performance monitoring
US10866952B2 (en) 2013-03-04 2020-12-15 Fisher-Rosemount Systems, Inc. Source-independent queries in distributed industrial system
US9558220B2 (en) 2013-03-04 2017-01-31 Fisher-Rosemount Systems, Inc. Big data in process control systems
US9397836B2 (en) 2014-08-11 2016-07-19 Fisher-Rosemount Systems, Inc. Securing devices to process control systems
US10386827B2 (en) 2013-03-04 2019-08-20 Fisher-Rosemount Systems, Inc. Distributed industrial performance monitoring and analytics platform
US9740802B2 (en) 2013-03-15 2017-08-22 Fisher-Rosemount Systems, Inc. Data modeling studio
US10223327B2 (en) 2013-03-14 2019-03-05 Fisher-Rosemount Systems, Inc. Collecting and delivering data to a big data machine in a process control system
US10324423B2 (en) 2013-03-15 2019-06-18 Fisher-Rosemount Systems, Inc. Method and apparatus for controlling a process plant with location aware mobile control devices
US9633408B2 (en) 2013-06-14 2017-04-25 Microsoft Technology Licensing, Llc Coalescing graphics operations
US9430808B2 (en) * 2013-06-19 2016-08-30 Microsoft Technology Licensing, Llc Synchronization points for state information
US10168691B2 (en) 2014-10-06 2019-01-01 Fisher-Rosemount Systems, Inc. Data pipeline for process control system analytics
US10503483B2 (en) 2016-02-12 2019-12-10 Fisher-Rosemount Systems, Inc. Rule builder in a process control network
US10713015B2 (en) * 2016-05-15 2020-07-14 Servicenow, Inc. Visual programming system
USD808991S1 (en) * 2016-12-22 2018-01-30 Palantir Technologies, Inc. Display screen or portion thereof with graphical user interface
USD810760S1 (en) 2016-12-22 2018-02-20 Palantir Technologies, Inc. Display screen or portion thereof with transitional graphical user interface
USD810101S1 (en) 2016-12-22 2018-02-13 Palantir Technologies, Inc. Display screen or portion thereof with graphical user interface
USD1038955S1 (en) * 2020-09-18 2024-08-13 Benjamin Dose Display screen or portion thereof with graphical user interface for recipe visualization
USD1030773S1 (en) * 2020-09-18 2024-06-11 Benjamin Dose Display screen or portion thereof with graphical user interface for recipe visualization

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5737622A (en) * 1986-04-14 1998-04-07 National Instruments Corporation Method and apparatus for more efficient function synchronization in a data flow program
US4914568A (en) * 1986-10-24 1990-04-03 National Instruments, Inc. Graphical system for modelling a process and associated method
US4901221A (en) * 1986-04-14 1990-02-13 National Instruments, Inc. Graphical system for modelling a process and associated method
US5485620A (en) * 1994-02-25 1996-01-16 Automation System And Products, Inc. Integrated control system for industrial automation applications
JPH09120466A (ja) * 1995-10-25 1997-05-06 Hitachi Ltd 対話型アニメーション作成・再生方法および装置
CN1219252A (zh) * 1997-03-11 1999-06-09 三菱电机株式会社 直观编程方法及其系统
US6219628B1 (en) * 1997-08-18 2001-04-17 National Instruments Corporation System and method for configuring an instrument to perform measurement functions utilizing conversion of graphical programs into hardware implementations
US7016811B2 (en) * 2001-08-15 2006-03-21 National Instruments Corporation Network-based system for configuring a programmable hardware element in a measurement system using hardware configuration programs generated based on a user specification
US7152027B2 (en) * 1998-02-17 2006-12-19 National Instruments Corporation Reconfigurable test system
US6449624B1 (en) * 1999-10-18 2002-09-10 Fisher-Rosemount Systems, Inc. Version control and audit trail in a process control system
US7120877B2 (en) * 2001-04-10 2006-10-10 National Instruments Corporation System and method for creating a graphical program including a plurality of portions to be executed sequentially
US7062718B2 (en) * 2001-08-14 2006-06-13 National Instruments Corporation Configuration diagram which graphically displays program relationship
US7302675B2 (en) * 2001-08-14 2007-11-27 National Instruments Corporation System and method for analyzing a graphical program using debugging graphical programs
US7275235B2 (en) * 2001-08-29 2007-09-25 Molinari Alfred A Graphical application development system for test, measurement and process control applications
JP4681225B2 (ja) * 2001-10-17 2011-05-11 ベプテック インコーポレイテッド オペレーティングシステムにわたる通信の方法
US7624375B2 (en) * 2003-06-12 2009-11-24 National Instruments Corporation Automatically configuring a graphical user interface element to bind to a graphical program

Also Published As

Publication number Publication date
CN1934511A (zh) 2007-03-21
KR20060134087A (ko) 2006-12-27
CN101976051A (zh) 2011-02-16
JP4995071B2 (ja) 2012-08-08
US20050278059A1 (en) 2005-12-15
US7992093B2 (en) 2011-08-02
EP1719026B1 (en) 2012-12-26
EP1719026A1 (en) 2006-11-08
JP2007524176A (ja) 2007-08-23
KR101169702B1 (ko) 2012-08-03
WO2005083533A1 (en) 2005-09-09

Similar Documents

Publication Publication Date Title
US7992093B2 (en) Method of programming a processing system
Encarnacao et al. Computer aided design: fundamentals and system architectures
CA1285655C (en) Graphical system for modelling a process and associated method
JP5864515B2 (ja) リンクを生成する方法及びパラメータを生成する方法
North et al. Applications of graph visualization
JP4963232B2 (ja) モデリング環境における階層参照又はリンク
US20030067481A1 (en) System and method for computer-aided graph-based dependency analysis with integrated documentation
Taentzer et al. Amalgamated graph transformations and their use for specifying AGG—an algebraic graph grammar system
Kasyanov Methods and tools for structural information visualization
Bernini et al. VIPERS: A data flow visual programming environment based on the Tcl language
De Boeck et al. Comparing NiMMiT and data-driven notations for describing multimodal interaction
US10216372B1 (en) Automatic import to a graphical model
Navarre et al. An approach integrating two complementary model-based environments for the construction of multimodal interactive applications
Kacsuk et al. The GRED graphical editor for the GRADE parallel program development environment
Kleffmann et al. Navigation among model sketches on large interactive displays
EP1797515A2 (en) Analyzing linearization of models in modeling environments
Lagartinho-Oliveira et al. Integrated Development of Embedded Systems With Remote Graphical User Interfaces
Müller et al. Subversion statistics sifter
US7885800B1 (en) Synchronous models in modeling environments
Du et al. Graph-It: Design and implementation of a Graph Theory toolbox and visualization application
Ma et al. Modeling sketching primitives to support freehand drawing based on context awareness
McKim et al. Modular modeling system model builder
Guide Simulink® 7
Ionescu et al. Object oriented tools for multisensor data fusion for an SIMD computer
Nagar et al. XCOS

Legal Events

Date Code Title Description
FG Grant or registration