Programación y ejecución orientadas por gráficos de productor.
Aparato para la ejecución de un código orientado a objetos, comprendiendo dicho aparato un tiempo de ejecución (355,
360, 1004) que interpreta las declaraciones de dependencia de los productores (320, 1016) en el código orientado a objetos para procedimientos en el código orientado a objetos, identificando dichas declaraciones de dependencia de los productores en un tiempo de ejecución un conjunto de cero o más productores, donde un productor (110) es una construcción instanciada de un tiempo de ejecución, en el que cada productor se instancia a partir de una combinación respectiva de una instancia particular (108) de una clase y un procedimiento particular (104) de esa clase e identifica dicha instancia particular (108) y dicho procedimiento particular (104), en el que la ejecución de un productor resulta en el procedimiento identificado por ese productor que se está ejecutando en la instancia identificada por ese productor, incluyendo el tiempo de ejecución:
un módulo de generación automatizada de gráficos del productor (340, 365, 1040) para recibir una designación de un productor de interés (325, 1025), para añadir el productor de interés como parte de un gráfico del productor, y para generar automáticamente un resto del gráfico del productor a través de la vinculación, e instanciación si es necesario, de otros productores sobre la base de las declaraciones de dependencia de los productores de los procedimientos identificados por los productores que ya están en el gráfico del productor; y un módulo de ejecución del gráfico del productor (345, 370, 1070) para ejecutar los productores en el gráfico del productor en el orden indicado por el gráfico del productor.
Tipo: Patente Europea. Resumen de patente/invención. Número de Solicitud: E07254672.
Solicitante: MUREX S.A.S.
Nacionalidad solicitante: Francia.
Dirección: 8 RUE BELLINI 75116 PARIS FRANCIA.
Inventor/es: CHAMIEH,FADY, EDDE,ELIAS.
Fecha de Publicación: .
Clasificación Internacional de Patentes:
- G06F9/44 FISICA. › G06 CALCULO; CONTEO. › G06F PROCESAMIENTO ELECTRICO DE DATOS DIGITALES (sistemas de computadores basados en modelos de cálculo específicos G06N). › G06F 9/00 Disposiciones para el control por programa, p. ej. unidades de control (control por programa para dispositivos periféricos G06F 13/10). › Disposiciones para ejecutar programas específicos.
PDF original: ES-2381373_T3.pdf
Fragmento de la descripción:
Programación y ejecución orientadas por gráficos de productor
Antecedentes
Campo Realizaciones de la invención se refieren al campo de los ordenadores, y más específicamente, al campo de la programación y la ejecución de código con un tiempo de ejecución.
Antecedentes Programación orientada a objetos La programación orientada a objetos es un paradigma de programación de ordenadores. La idea detrás de la programación orientada a objetos es que un programa de ordenador pueda ser visto como que comprende una colección de unidades individuales (llamados objetos o instancias) que actúan entre sí, en oposición a un punto de vista tradicional en el cual un programa puede ser visto como una colección de funciones, o simplemente como una lista de instrucciones al ordenador. Un objeto es un mecanismo de lenguaje para el enlace de datos con los procedimientos que operan sobre esos datos. Cada objeto es capaz de ser llamado a través de procedimientos, datos de procesamiento, y proporcionar resultados con otros objetos. Cada objeto puede ser visto como una máquina independiente o un actor con un papel o responsabilidad distinta.
Un lenguaje reflexivo orientado a objetos es un lenguaje de programación que tiene un conjunto particular de características (por ejemplo, clases, objetos/instancias, herencia, reflexión, etc.) , mientras que un lenguaje reflexivo basado en objetos a veces se utiliza para etiquetar un lenguaje de programación que tiene algún subconjunto de esas características (por ejemplo, objetos) . Para los propósitos de este documento, las frases "código fuente orientado a objetos" y "código orientado a objetos" se utilizan para referirse al código escrito en un lenguaje que tiene estas características (por ejemplo, código escrito en un lenguaje reflexivo orientado a objetos, código escrito en un lenguaje reflexivo basado en objetos) . Si bien los lenguajes del procedimiento, lenguajes no reflexivos orientados a objetos, y lenguajes no reflexivos basados en objetos son lenguajes de programación que normalmente no soportan estas características, se pueden utilizar técnicas de transformación para proporcionar estas características (por ejemplo, a través de la emulación) para codificar escritas correctamente en los dos lenguajes, y por lo tanto, estas técnicas transforman estos lenguajes en un lenguaje reflexivo basado en objetos o en un lenguaje reflexivo orientado a objetos. (Estas técnicas no necesitan emular todas las características de los lenguajes orientados a o basados en objetos, sino que sólo pueden emular las características que sean de interés para el resto de este documento) . Para los propósitos de este documento, las frases "código fuente orientado a objetos" y "código orientado a objetos" también se utilizan para referirse a este procedimiento transformado, de código de lenguaje no reflexivo orientado a objetos, y no reflexivo basado en objetos. A modo de ejemplo, y no de limitación, este documento describe principalmente un código fuente orientado a objetos escrito en un lenguaje reflexivo orientado a objetos. Además, los términos objeto y ejemplo se utilizan indistintamente en este documento.
Utilizado principalmente en programación orientada a objetos, el término procedimiento se refiere a un trozo de código que está exclusivamente asociado, ya sea con una clase (llamados procedimientos de clase, procedimientos 45 estáticos o procedimientos de fábrica) o con un objeto (llamado procedimientos de instancia) . Al igual que un procedimiento en lenguajes de programación de procedimiento, un procedimiento usualmente consiste en una secuencia de instrucciones para realizar una acción, un conjunto de parámetros de entrada para parametrizar las acciones, y, posiblemente, un valor de salida de algún tipo que se devuelve.
50 Cuando los programadores escriben un programa utilizando un lenguaje orientado a objetos, el código resultante puede ser visto conceptualmente como que incluye cuatro tipos básicos de código. El primer tipo incluye comandos que operan en instancia (s) de entrada para proporcionar instancia (s) de salida (referidos aquí como código de "transformación") ; típicamente escrito como procedimientos (referidos aquí como procedimientos de "transformación") . El segundo tipo incluye comandos de instanciación de instancias que hacen que el tiempo de 55 ejecución cree instancias de clases (indicados aquí como código de "instanciación de instancias") . El tercer tipo incluye comandos de manipulación de la propiedad (indicados aquí como código de "preparación de datos") para invocar procedimientos de acceso de propiedad, mutaciones, etc.) de las instancias anteriores. El cuarto tipo incluye secuencias de comandos que causan que la secuenciación de invocación del procedimiento usando las instancias correspondientes (cuando las instancias apropiadas incluyen las instancias para utilizar como argumentos, las 60 instancias son utilizadas por los procedimientos de instancia y las instancias de clases meta utilizadas por los procedimientos de clase) para especificar qué procedimientos de transformación de qué instancias que invocan, en qué orden, y con qué parámetros de qué instancias responden a los cambios introducidos por el código de preparación de datos (indicados aquí como código "de secuenciación de invocación manual") . El código de secuenciación de invocación manual se escribe a veces como procedimientos separados de los procedimientos de 65 transformación, y por lo tanto, la invocación manual del código de secuenciación incluye secuencias de comandos de invocación de procedimientos de transformación. Un programa típicamente itera entre el código de preparación de datos y código de secuenciación de invocación manual (que también puede sumergirse en el código de instanciación de instancias) , que a su vez invoca el código de transformación (que también puede sumergirse en el código de instanciación de instancias y los tipos de código de preparación de datos) . Cabe señalar que esta es una representación conceptual de un programa, y por lo tanto, no debe ser tomada como una absoluta respecto a cómo ver un programa.
Tiempo de ejecución ]El tiempo de ejecución término se utiliza aquí para referirse a un programa o una librería de código básico que se ejecuta otro código escrito en el mismo y/o un lenguaje diferente. Por lo tanto, un tiempo de ejecución es una colección de funciones de utilidad que apoyan un programa mientras se está ejecutando, incluyendo el trabajo con el sistema operativo para proporcionar servicios tales como funciones matemáticas, de entrada y de salida. Esto hace que sea innecesario para los programadores que reescribir continuamente las capacidades básicas especificadas en un lenguaje de programación o proporcionada por un sistema operativo. Puesto que la demarcación entre un tiempo de ejecución y un sistema operativo puede ser borrosa, el tiempo de ejecución término se utiliza aquí para referirse a código separado del sistema operativo y/o código que forma parte del sistema operativo.
Los tiempos de ejecución iniciales, como el de FORTRAN, ofrecen características tales como operaciones matemáticas. Otros lenguajes añaden características más sofisticadas, por ejemplo, recogida de restos de memoria, a menudo en asociación con soporte para objetos. Lenguajes más recientes tienden a tener tiempos de ejecución considerablemente más grandes con más funcionalidades. Muchos lenguajes orientados a objetos también incluyen un sistema conocido como "despachador" y "cargador de clases". La Máquina Virtual de Java (JVM) es un ejemplo de este tiempo de ejecución: también interpreta o compila los programas de Java portátiles binarios (byte-código) en el tiempo de ejecución. El marco de tiempo de ejecución de lenguaje común (CLR) es otro ejemplo de un tiempo de ejecución.
Marco de programación y ejecución Un marco en el que las aplicaciones se proporcionan a los usuarios finales incluye tres divisiones básicas. La primera división incluye la creación del sistema operativo y el tiempo de ejecución. Esta primera división se lleva a cabo por los programadores con conocimientos de programación muy avanzados. Cuando se trabaja en esta división, los programadores son llamados, respectivamente, programadores del sistema operativo y programadores del tiempo de ejecución. Cuando se crea un tiempo de ejecución para un lenguaje orientado a objetos, los programadores de tiempo de ejecución incluyen el soporte para la ejecución de los distintos tipos de comandos que se utilizan en el código de transformación, el código de instanciación de instancias, el código... [Seguir leyendo]
Reivindicaciones:
1. Aparato para la ejecución de un código orientado a objetos, comprendiendo dicho aparato un tiempo de ejecución (355, 360, 1004) que interpreta las declaraciones de dependencia de los productores (320, 1016) en el código orientado a objetos para procedimientos en el código orientado a objetos, identificando dichas declaraciones de dependencia de los productores en un tiempo de ejecución un conjunto de cero o más productores, donde un productor (110) es una construcción instanciada de un tiempo de ejecución, en el que cada productor se instancia a partir de una combinación respectiva de una instancia particular (108) de una clase y un procedimiento particular (104) de esa clase e identifica dicha instancia particular (108) y dicho procedimiento particular (104) , en el que la ejecución de un productor resulta en el procedimiento identificado por ese productor que se está ejecutando en la instancia identificada por ese productor, incluyendo el tiempo de ejecución:
un módulo de generación automatizada de gráficos del productor (340, 365, 1040) para recibir una designación de un productor de interés (325, 1025) , para añadir el productor de interés como parte de un gráfico del productor, y para generar automáticamente un resto del gráfico del productor a través de la vinculación, e instanciación si es necesario, de otros productores sobre la base de las declaraciones de dependencia de los productores de los procedimientos identificados por los productores que ya están en el gráfico del productor; y un módulo de ejecución del gráfico del productor (345, 370, 1070) para ejecutar los productores en el gráfico del productor en el orden indicado por el gráfico del productor.
2. Aparato según la reivindicación 1, en el que dicho módulo de generación automatizada del gráfico del productor inicialmente puede no ser capaz de completar la generación del gráfico del productor hasta que algunos productores del gráfico del productor se ejecutan, y en el que dicho módulo de ejecución del gráfico del productor puede invocar el módulo de generación automatizada del gráfico del productor con las salidas de los productores necesarias durante la ejecución del gráfico del productor para completar el resto no resuelto del gráfico del productor.
3. Aparato según la reivindicación 1, en el que el conjunto de productores que serán identificados en el tiempo de ejecución mediante por lo menos una de dichas declaraciones de dependencia de los productores (106) incluye al menos un productor que se ejecuta antes de la ejecución del productor (112) que identifica el procedimiento de esa declaración de dependencia de los productores.
4. Aparato según la reivindicación 1, en el que dicho gráfico del productor representa una secuencia adecuada de
ejecución identificada por las declaraciones de dependencia de los productores de los procedimientos identificados 35 por los productores en el gráfico del productor.
5. Aparato según la reivindicación 1, en el que el conjunto de productores que serán identificados en el tiempo de ejecución mediante por lo menos una de dichas declaraciones de dependencia de los productores (106) para un determinado procedimiento incluye al menos un productor (112) con una salida que es una entrada directa para el procedimiento dado.
6. Aparato según la reivindicación 1, en el que el gráfico del productor representa la entrada directa a las dependencias de salida de los productores entre sí desde el productor de interés a aquellos de los productores que son nodos de extremo del gráfico del productor.
7. Aparato según la reivindicación 1, en el que el tiempo de ejecución también comprende:
un módulo de salida del productor de anulación (390, 1045) para recibir las modificaciones actuales a la salida de una o más de los productores de una versión actual del gráfico del productor; una estructura del gráfico del productor (380, 1060) , acoplada al módulo de generación automática del gráfico del productor, para almacenar la versión actual del gráfico del productor y la salida actual de cada uno de los productores en el gráfico del productor actual; y dicho módulo de ejecución del gráfico del productor, acoplado al módulo de salida del productor de anulación y la estructura del gráfico del productor, para realizar las modificaciones actuales, para realizar el seguimiento 55 de los productores en la versión actual del gráfico del productor necesita ejecutarse porque están afectados indirectamente por cualquiera de las modificaciones actuales, y para ejecutar sólo los productores de la versión actual del gráfico del productor que actualmente deben ser ejecutados para mantener la consistencia de la versión actual del gráfico del productor.
8. Aparato según la reivindicación 7, en el que la estructura del gráfico del productor también comprende:
una estructura de marcado de ejecución incremental (382, 1080) para ayudar al módulo de ejecución del gráfico del productor con el seguimiento de los productores de la versión actual del gráfico del productor que deben volverse a ejecutar, debido a cualquier modificación actual.
9. Aparato según la reivindicación 7, que también comprende: un registro de anulación (396, 1047) , acoplado al módulo de salida del productor de anulación y al módulo de ejecución del gráfico del productor, para recoger múltiples de las modificaciones actuales a la salida de uno o más de los productores en la versión actual del gráfico del productor para el procesamiento por lotes.
10. Aparato según la reivindicación 7, en el que el módulo de salida del productor de anulación es también para recibir indicaciones de que una o más salidas anuladas deben dejar de estar anuladas (1030) .
11. Aparato según la reivindicación 1, en el que el tiempo de ejecución también comprende:
un registro de comandos (665) , acoplado al módulo de generación automática del gráfico del productor, para recoger múltiples comandos juntos para el procesamiento por lotes.
12. Aparato según la reivindicación 1, en el que las declaraciones de dependencia de los productores (106) son
parte de las definiciones de clase (102) para las clases en el código orientado a objetos (100) . 15
13. Aparato según la reivindicación 1, en el que cualquier procedimiento puede tener una de dichas declaraciones de dependencia de los productores.
14. Aparato según la reivindicación 1, en el que el tiempo de ejecución reemplaza la necesidad de un código de secuenciación de invocación manual, y en el que el procedimiento identificado por cada uno de los productores es un procedimiento de transformación y el tiempo de ejecución descubre la secuenciación de estos procedimientos de transformación a partir de las declaraciones de dependencia de los productores.
15. Aparato según la reivindicación 1, en el que los nodos de extremo del gráfico del productor son productores 25 independientes (Productor 3) .
16. Aparato según la reivindicación 1, en el que el tiempo de ejecución también comprende:
una estructura de seguimiento de instancias (1065) , acoplada al módulo de generación automática del gráfico del productor y el módulo de ejecución del gráfico del productor, para almacenar las referencias a las instancias identificadas por los productores; y una estructura de seguimiento del procedimiento (1058) , acoplada al módulo de generación automática del gráfico del productor y al módulo de ejecución del gráfico del productor, para almacenar las referencias a los procedimientos identificados por los productores e información respecto a sus declaraciones de dependencia de los productores.
17. Aparato según la reivindicación 16, en el que el tiempo de ejecución también comprende:
un nuevo módulo de instancias (1098) , acoplado a dicha estructura de seguimiento de instancias, para recibir la designación de y para instanciar, si es necesario, el productor seleccionado actualmente de interés; una estructura de seguimiento de clases (1092) para seguir las referencias a las clases; y un nuevo módulo de clases (1095) , acoplado a la estructura de seguimiento de las clases, para cargar y para la introspección de las definiciones de clase de las clases.
45 18. Aparato según la reivindicación 1, en el que el tiempo de ejecución también comprende: un módulo de visualización del gráfico del productor (1062) para mostrar gráficamente una representación del gráfico del productor actual.
19. Aparato según la reivindicación 1, en el que el tiempo de ejecución también comprende:
un módulo de interfaz de usuario gráfica de disposición de salida del productor interactivo configurable (1085) para mostrar gráficamente las salidas desde y permitir la interacción con el gráfico del productor.
20. Aparato según cualquiera de las reivindicaciones 1, 4, 5, 7 a 11 y 12 a 19, en el que el módulo de ejecución del 55 gráfico del productor incluye:
una módulo de dependencias dinámicas (1075) para resolver cualquier dependencia dinámica de los productores, en el que cada una de las declaraciones de dependencia de los productores puede incluir una dependencia dinámica del productor, en el que las dependencias dinámicas de los productores hacen que el tiempo de ejecución seleccione dinámicamente el conjunto de cero o más productores que la declaración de dependencia del productor identifica durante el tiempo de ejecución, y en el que la selección dinámica puede causar la selección de diferentes productores para el conjunto durante diferentes ejecuciones del gráfico del productor.
65 21. Aparato según la reivindicación 20, en el que las dependencias dinámicas de los productores incluyen dependencias contingentes de los productores, en el que las dependencias contingentes de los productores son dependencias de los productores de determinación de la dependencia (DDP6) que son en sí mismos dependientes de la salida de uno o más de los otros productores (S9) .
22. Aparato según la reivindicación 20, en el que las dependencias dinámicas de los productores incluyen suscripciones, en el que las suscripciones identifican criterios (1410) mediante los cuales los productores se comparan para determinar si son productores de activación, en el que las suscripciones identifican dependencias en los productores de activación.
23. Aparato según la reivindicación 22, en el que algunas de dichas suscripciones son suscripciones absorbentes, en el que las suscripciones absorbentes hacen que el tiempo de ejecución incluya dinámicamente alguno de los productores de activación (1460) en el conjunto de cero o más productores que la declaración de dependencia del productor identifica durante el tiempo de ejecución.
24. Aparato según la reivindicación 22, en el que algunas de dichas suscripciones son suscripciones adherentes, en el que las suscripciones adherentes también identifican las características (1425, 1430, 1435) para los productores padre, y en el que las suscripciones adherentes hacen que el tiempo de ejecución, para cada uno de los productores de activación (1475 ) localizados, instancien un productor padre (1480) que cumple con las características identificadas y lo incluye en el gráfico del productor que tiene una dependencia del productor en ese productor de activación.
25. Aparato según la reivindicación 1, en el que alguno de los cero o más productores son productores de determinación de dependencia (765) cuya ejecución devuelve las identificaciones de las dependencias de uno o más de los productores en uno o más de los otros productores.
26. Aparato según la reivindicación 25, en el que la ejecución de algunos de los productores de determinación de la dependencia (772) devuelven las dependencias declaradas ascendentes.
27. Aparato según cualquiera de las reivindicaciones 1 y 20 a 26, en el que al menos algunas de las dependencias representadas por el gráfico del productor se designan como dependencias de argumento y dependencias de campo (705) , en el que las dependencias de argumento hacen que el tiempo de ejecución asigne las salidas de los productores descendientes (725) como parámetros de entrada a los productores padre (720) , y en el que las dependencias de campo indican usos de los campos de instancias.
28. Aparato según cualquiera de las reivindicaciones 1 y 20 a 27, en el que al menos algunas de las dependencias representadas por el gráfico del productor se designan como dependencias sólo de secuenciación (705) , en el que las dependencias sólo de secuenciación requieren salidas que necesitan proporcionarse, en su caso, a partir de los productores descendientes (746) a los productores padre (720) se producen a través del código en el procedimiento identificado por el productor descendiente para escribir la salida en un mecanismo dado y el código en el procedimiento identificado por el productor padre para leer esa salida a partir del mecanismo dado.
29. Aparato según cualquiera de las reivindicaciones 1 y 20 a 28, en el que las claves del procedimiento (1190) se utilizan para distinguir los procedimientos, las claves de instancia (1120) se utilizan para distinguir las instancias, y las claves de los productores se utilizan para distinguir los productores, en el que la clave de los productores para cada uno de los productores se basa en al menos la clave de instancia y la clave del procedimiento de la instancia y el procedimiento identificado por ese productor.
30. Aparato según la reivindicación 29, en el que las instancias son instancias de una pluralidad de dichas clases, en el que las claves de clase (1090, 1110) se utilizan para distinguir dicha pluralidad de clases, y en el que la clave del productor para cada uno de los productores se basa también en la clave de clase de la clase de la instancia identificada por ese productor.
31. Aparato según la reivindicación 29, en el que la clave de instancia de al menos algunos productores contiene una referencia a la instancia identificada por el productor.
32. Aparato según la reivindicación 1, en el que al menos algunas de dichas declaraciones de dependencia de los productores incluyen dependencias declaradas ascendentes (705) .
33. Aparato según la reivindicación 1, en el que al menos algunas de dichas declaraciones de dependencia de los productores incluyen dependencias declaradas descendentes (705) .
34. Aparato según la reivindicación 1, en el que al menos algunas de dichas declaraciones de dependencia de los productores incluyen dependencias declaradas ascendentes y descendentes (705) .
35. Aparato según la reivindicación 1, en el que dicho módulo de generación automatizada del gráfico del productor es sensible a los nuevos comandos de los productores (1025) , y en el que dicho módulo de ejecución del gráfico del productor es sensible a ejecutar comandos (1035) .
36. Procedimiento para la ejecución de código orientado a objetos, comprendiendo dicho procedimiento:
instanciar un productor con una salida que es actualmente de interés (645) , en el que el código orientado a objetos incluye procedimientos (104) y declaraciones de dependencia de los productores (106) , en el que la declaración de dependencia del productor de un determinado procedimiento identifica un conjunto de cero o más productores, en el que un productor (110) es una construcción de tiempo de ejecución instanciada, en el que cada productor se instancia a partir de una combinación respectiva de una instancia particular (108) de una clase y un procedimiento particular (104) de esa clase e identifica dicha instancia particular (108) y dicho procedimiento particular, en el que la ejecución de un productor resulta en el procedimiento identificado por ese productor que se está ejecutando en la instancia que se identifica por ese productor; sensible a dicha instancia, añadir el productor de interés como parte de un gráfico del productor actual (645) ; tratar de generar automáticamente un resto del gráfico actual del productor a través de la vinculación y la instanciación como sea necesario, de otros productores sobre la base de las declaraciones de dependencia de los productores de los procedimientos identificados por los productores que ya están en el gráfico actual del productor; y ejecutar los productores en el gráfico actual del productor para determinar la salida actual para dicho productor de interés (660) .
37. Procedimiento según la reivindicación 36, en el que dicho intento de generación automática también comprende:
tratar de descubrir y construir de forma automática, a partir de declaraciones de dependencia de los productores en dicho código orientado a objetos, el gráfica actual del productor que representa las relaciones de la entrada a la salida directa de los productores necesarios para generar un valor actual del conjunto de una o más entradas al productor de interés, en el que una salida actual de cada uno de los productores en el gráfico del productor actual es una entrada directa a otro o más de los productores en el gráfico del productor actual y/o el productor de interés.
38. Procedimiento según la reivindicación 36, en el que dicha ejecución de los productores en el gráfico del del productor actual también comprende:
generar automáticamente partes adicionales del gráfico del productor actual a través de la ejecución de algunos de los productores del gráfico del productor actual que devuelven las identificaciones de las dependencias de otros productores en cada uno para ser añadido al gráfica del productor actual.
39. Procedimiento según la reivindicación 36, en el que dicha ejecución incluye:
resolver una o más dependencias dinámicas de los productores (665) , en el que cada una de las declaraciones de dependencia de los productores puede incluir una dependencia dinámica del productor, en el que las dependencias dinámicas de los productores hacen que el tiempo de ejecución seleccione dinámicamente el conjunto de cero o más productores que la declaración de dependencia del productor identifica durante el tiempo de ejecución.
40. Procedimiento según la reivindicación 39, en el que las dependencias dinámicas de los productores incluyen dependencias contingentes de los productores, en el que las dependencias contingentes de los productores son dependencias de los productores de determinación de la dependencia (DDP6) que por sí mismos son dependientes de la salida de uno o más de los otros productores (S9) .
41. Procedimiento según la reivindicación 39 ó 40, en el que las dependencias de los productores dinámicos incluyen suscripciones, en el que las suscripciones identifican criterios (1410) mediante los cuales los productores se comparan para determinar si son productores de activación, en el que las suscripciones identifican las dependencias de los productores de activación.
42. Procedimiento según la reivindicación 41, en el que algunas de dichas suscripciones son suscripciones absorbentes, en el que las suscripciones absorbentes provocan la inclusión dinámica de cualquiera de los productores de activación (1460) en el conjunto de cero o más productores que identifica la declaración de dependencia del productor.
43. Procedimiento según la reivindicación 41 ó 42, en el que algunas de dichas suscripciones son suscripciones adherentes, en el que las suscripciones adherentes también identifican las características (1425, 1430, 1435) para los productores padre, y en el que las suscripciones adherentes provocan, para cada uno de los productores de activación (1475) localizados, la instanciación de un productor padre (1480) que cumple con las características identificadas y la inclusión del mismo en el gráfico actual del productor que tiene una dependencia del productor sobre ese productor de activación.
44. Procedimiento según cualquiera de las reivindicaciones 36 a 43, en el que dicho intento de generación automática también comprende:
instanciar cualquier instancia de los productores que aún no han sido instanciadas (645, 1560) , e instanciar los productores que aún no han sido instanciados (645, 1625) .
45. Procedimiento según cualquiera de las reivindicaciones 36 a 44, en el que dicho intento de generación automática también comprende:
cargar cualquiera de las clases de las instancias identificadas por los productores que aún no han sido cargados (1540) , y realizar la introspección de las definiciones de clase de las clases en las que aún no han sido realizada la introspección (1550) , incluyendo las declaraciones de dependencia de los productores contenidas en la misma.
46. Procedimiento según la reivindicación 45, en el que dicho intento de generación automática incluye:
descubrir y construir en el gráfico del productor actual uno de los productores para los que la clase de la instancia identificada por el productor ya se ha cargado y se ha realizado la introspección antes de dicho intento (1530) , la instancia identificada por el productor ya se ha de instanciado antes de dicho intento (1520) , y el productor ya fue instanciado antes de dicho intento (1605) .
47. Procedimiento según cualquiera de las reivindicaciones 36 a 46, que también comprende:
mostrar gráficamente una representación del gráfico del productor actual.
48. Procedimiento según cualquiera de las reivindicaciones 36 a 47, que también comprende:
mostrar gráficamente las salidas desde y permitir la interacción con el gráfico del productor actual.
49. Procedimiento según cualquiera de las reivindicaciones 36 a 48, que también comprende:
almacenar una salida actual de los productores del gráfico actual del productor; anular la salida actual de uno o más de los productores del gráfico del productor actual (625) , y volver a ejecutar, de acuerdo con el gráfico actual del productor y la anulación y la salida almacenada actual de aquellos de los productores que no están directamente o indirectamente afectados por dicha anulación, sólo aquellos de dichos productores que se ven afectados, directa o indirectamente, por dicha anulación para determinar su salida actual (660) .
50. Procedimiento según la reivindicación 49, en el que aquellos de dichos productores que se ven afectados no son todos los productores en el gráfico actual del productor.
51. Procedimiento según la reivindicación 49 que también comprende:
invertir la anulación (1690) ; y volver a ejecutar, de acuerdo al gráfico actual del productor, y anulación inversa y la salida almacenada actual de aquellos de los productores que no están directamente o indirectamente afectados por dicha anulación inversa (660) , sólo aquellos de los productores que se ven afectados, directa o indirectamente, por dicha anulación inversa para determinar su salida actual.
52. Procedimiento según cualquiera de las reivindicaciones 36 a 51, en el que al menos algunas de las dependencias declaradas por las declaraciones de dependencia de los productores son designadas como dependencias de argumento y dependencias de campo (705) , en el que las dependencias de argumento causan la asignación de las salidas de los productores descendientes (725) como parámetros de entrada a los productores padre (720) , y en el que las dependencias de campo indican los usos de los campos de las instancias.
53. Procedimiento según cualquiera de las reivindicaciones 36 a 52, en el que al menos algunas de las dependencias declaradas por las declaraciones de dependencia de los productores son designadas como dependencias sólo de secuenciación (705) , en el que las dependencias sólo de secuenciación requieren salidas que necesitan ser proporcionadas, en su caso, desde productores descendientes (746) a los productores padre (720) que se producen a través de código en el procedimiento identificado por el productor descendiente para escribir la salida a un mecanismo dado y el código en el procedimiento identificado por el productor padre para leer esa salida desde el mecanismo dado.
54. Procedimiento según cualquiera de las reivindicaciones 36 a 53, en el que las claves del procedimiento (1190) se utilizan para distinguir los procedimientos, las claves de instancia (1120) se utilizan para distinguir las instancias, y las claves de los productores se utilizan para distinguir los productores, en el que la clave del productor para un productor dado se basa en por lo menos la clave de la instancia y la clave del procedimiento de la instancia y el procedimiento identificado por ese productor.
55. Procedimiento según la reivindicación 54, en el que las instancias son instancias de una pluralidad de clases, en el que las claves de clase (1090, 1110) se utilizan para distinguir dicha pluralidad de clases, y en el que la clave del productor para cada productor se basa también en la clave de clase de la clase de la instancia identificada por ese productor.
56. Procedimiento según la reivindicación 54, en el que la clave de instancia de al menos algunos de los productores mantiene una referencia a la instancia identificada por el productor.
57. Procedimiento según la reivindicación 36, en el que al menos algunas de dichas declaraciones de dependencia de los productores incluyen dependencias declaradas ascendentes (705) .
58. Procedimiento según cualquiera de las reivindicaciones 36 a 56, en el que al menos algunas de dichas declaraciones de dependencia de los productores incluyen dependencias declaradas descendentes (705) .
59. Procedimiento según cualquiera de las reivindicaciones 36 a 56, en el que al menos algunas de dichas declaraciones de dependencia de los productores incluyen dependencias declaradas ascendentes y descendentes (705) .
60. Procedimiento según cualquiera de las reivindicaciones 36 a 59, en el que dicha instancia se realiza sensible a un nuevo comando del productor (1025) y dicha ejecución se realiza sensible a un comando de ejecución global (1035) .
61. Medio legible por ordenador que comprende el código de programa de ordenador dispuesto para llevar a cabo las etapas según cualquiera de las reivindicaciones 36 a 60 cuando se ejecuta en un aparato de ordenador adecuado.
Patentes similares o relacionadas:
Dispositivo electrónico y procedimiento de realización de comunicación híbrida con dispositivo electrónico externo, del 3 de Junio de 2020, de SAMSUNG ELECTRONICS CO., LTD.: Un dispositivo electrónico que comprende: un primer circuito de comunicación que realiza comunicación inalámbrica utilizando un primer protocolo de comunicación; […]
Detección automática de emociones a través de hábitos alimentarios, del 27 de Mayo de 2020, de UNIVERSIDAD COMPLUTENSE DE MADRID: Detección automática de emociones a través de hábitos alimentarios. Los estados emocionales están relacionados con patrones de alimentación que nos afectan […]
Manipulación multitáctil de objetos de aplicación, del 22 de Abril de 2020, de Microsoft Technology Licensing, LLC: Método de transformación de la entrada multitáctil en uno o más eventos de manipulación, teniendo el método realizado en un dispositivo informático […]
Método y dispositivo de usuario de procesado de visualización de componentes, del 18 de Marzo de 2020, de HUAWEI DEVICE CO., LTD: Método para procesar un componente en un contenedor de un equipo de usuario (UE), en donde el componente se puede mover a cualquier posición […]
Aparato y procedimiento para ejecutar aplicaciones en un terminal móvil, del 1 de Enero de 2020, de SAMSUNG ELECTRONICS CO., LTD.: Un aparato configurado para ejecutar al menos una de una pluralidad de aplicaciones en un terminal móvil, que comprende: una pantalla configurada para visualizar una pantalla […]
Un método y sistema para modelado de tareas de aplicaciones de teléfono móvil, del 1 de Enero de 2020, de DEUTSCHE TELEKOM AG: Un sistema para determinar el uso y ayudar en la operación de aplicaciones secuenciales interactivas que se ejecutan en uno o más dispositivos móviles, que comprende: […]
Simulación de inercia de objetos multitáctiles, del 1 de Enero de 2020, de Microsoft Technology Licensing, LLC: Un procedimiento implementado por ordenador para proporcionar un movimiento realista de objetos manipulados mediante entrada multitáctil, comprendiendo el procedimiento […]
Perfilado de dispositivos físicos compuestos para sistemas de monitorización/control, del 4 de Diciembre de 2019, de Schneider Electric USA, Inc: Un método para crear un perfil lógico para dispositivos físicos de un sistema de potencia para que interactúe […]