ES2342550T3 - Metodo y dispositivo para el monitoreo de una ejecucion de un proceso. - Google Patents

Metodo y dispositivo para el monitoreo de una ejecucion de un proceso. Download PDF

Info

Publication number
ES2342550T3
ES2342550T3 ES05823489T ES05823489T ES2342550T3 ES 2342550 T3 ES2342550 T3 ES 2342550T3 ES 05823489 T ES05823489 T ES 05823489T ES 05823489 T ES05823489 T ES 05823489T ES 2342550 T3 ES2342550 T3 ES 2342550T3
Authority
ES
Spain
Prior art keywords
time
period
timer
execution
processes
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
ES05823489T
Other languages
English (en)
Inventor
Rudiger Karner
Alexander Jansen
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
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 Robert Bosch GmbH filed Critical Robert Bosch GmbH
Application granted granted Critical
Publication of ES2342550T3 publication Critical patent/ES2342550T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/0428Safety, monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • 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/24Pc safety
    • G05B2219/24125Watchdog, check at timed intervals

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • Testing And Monitoring For Control Systems (AREA)
  • Debugging And Monitoring (AREA)
  • Arrangements For Transmission Of Measured Signals (AREA)

Abstract

Método de monitoreo de un sistema procesador (S), el cual ejecuta una pluralidad de procesos (P1, P2 ...), caracterizado porque, un proceso (P1, P2 ...) es iniciado después de que ha finalizado un proceso precedente (P1, P2 ...), y porque al menos uno de dos temporizadores (ZA, ZB, ZN) es reiniciado mediante permutación cíclica cuando es iniciado uno de los procesos (P1, P2 ...); y una primera señal de error es emitida si un período de tiempo (A1, A3, ..., B0, B2, ...), detectado mediante el temporizador (ZA, ZB, ZN), sobrepasa un período máximo de tiempo predeterminado (TMax), y porque al finalizar un proceso (P1, P2 ...) se lee un período de tiempo (A1, A3, ..., B0, B2, ...) detectado del temporizador (ZA, ZB, ZN) y el temporizador es reiniciado a través del siguiente proceso a ejecutar (P1, P2 ...); y porque una segunda señal de error es emitida si el período de tiempo detectado (A1, A3, A5, ..., B0, B2, B4, ...) se ubica por debajo de un período mínimo de tiempo predeterminado (Tmin).

Description

Método y dispositivo para el monitoreo de una ejecución de un proceso.
Estado de la técnica
La presente invención hace referencia a un método de monitoreo de una ejecución de un proceso y a un dispositivo para llevar a cabo el método conforme a la invención.
Si bien la presente invención es descrita mediante un monitoreo del control de un proceso a través de un sistema de tiempo real, la presente invención no se restringe a esto, sino que hace referencia a métodos generales de monitoreo de procesos.
Diversos métodos de control y sus respectivos dispositivos prevén la detección regular de señales mediante sensores, la valoración de las señales detectadas y, en respuesta a la valoración, la generación de la señal de control correspondiente. Como ejemplo puede mencionarse un sistema de control para la activación de airbags, el cual ejecuta regularmente un proceso con las siguientes subetapas consecutivas: detección de las señales por sensores, procesamiento de las señales y generación de una señal de control para el airbag.
Un mal funcionamiento del sistema de tiempo real o de los procesos ejecutados puede conducir a una activación del airbag. Esto se evita al ser monitoreada la ejecución de los procesos a través del sistema de tiempo real y al ser bloqueada la emisión de una señal de control en el airbag al detectarse un mal funcionamiento.
Un método para la explicación de una problemática que sirve de base a la presente invención se representa en la figura 8. Los procesos P_{60}, P_{61}, P_{62} son iniciados a través de un sistema de tiempo real S' en forma correspondiente con el período temporal respectivo a los momentos t_{61}, t_{62} con el tiempo de intervalo dT. Dos procesos P_{60}, P_{61} son combinados respectivamente en pares y, al iniciarse el primer proceso P_{60} de ambos procesos, se inicia un contador Z', y al finalizar el segundo proceso P_{61} el contador Z' se detiene. La indicación del contador C_{60} es, de este modo, una medida para la duración total de la ejecución de ambos procesos P_{60}, P_{61}. Si el contador C_{60} sobrepasa un valor predeterminado a través de un período máximo de tiempo T_{Max}, es emitida una indicación de falla F'_{1} respectiva a un valor superior al aceptable. Si se presenta un comportamiento erróneo durante un primer proceso P_{62} de un par, transcurre entonces, a partir del momento de inicio t_{62} de este proceso P_{62}, el período máximo de tiempo T_{Max}, hasta que es emitida la señal de error F'_{1}. Esto es indeseablemente prolongado, en particular debido a que el período máximo de tiempo T_{Max} debe ser más prolongado que dos intervalos de tiempo dT del período de ejecución. A su vez, no en todos los casos pueden detectarse tiempos de ejecución demasiado breves, los cuales indican asimismo un comportamiento erróneo del sistema de tiempo real o del proceso. En la figura 9, tanto el proceso P_{66} como el proceso P_{69} son atípicamente breves. Si el proceso demasiado breve es el segundo proceso de un par P_{68}, P_{69}, entonces el contador Z' detecta una indicación del contador C_{68}, la cual es más breve que predeterminada a través del período mínimo de tiempo T_{min} y, a consecuencia de esto, es emitida una indicación de falla F'_{2} respectiva a un valor inferior al aceptable. Sin embargo, si el proceso demasiado breve es el primer proceso de un par P_{66}, P_{67}, no es detectada, debido al inicio del segundo proceso del período temporal respectivo al momento t_{6}, ninguna indicación del contador C_{66}, la cual es más breve que el período mínimo de tiempo T_{min} correspondiente.
Por la solicitud EP 0 663 324 A1 se conoce la posibilidad de cargar varios programas en el microprocesador de un sistema de airbag, con lo cual una primera rutina es iniciada controlada en forma interrumpida, para procesar, mediante una señal del sensor, si los medios de protección para las personas son o no controlados. Se inicia otra rutina 7b para los trabajos de segundo plano y es monitoreada por un contador de monitoreo 7c. La rutina 7a debe servir a un temporizador perro guardián (conocido también como Watchdog), es decir, en el tiempo correcto, de lo contrario se produce una resistencia del microprocesador.
\vskip1.000000\baselineskip
Ventajas de la invención
La presente invención crea un método con las características de la reivindicación 1. El método conforme a la invención detecta cada valor inferior y superior al aceptable, con lo cual se mide rápidamente un tiempo de reacción a partir del inicio de un proceso que presenta fallas hasta la emisión de una señal de error.
El método de monitoreo de una ejecución de un proceso de varios procesos ejecutados en forma secuencial, conforme a la invención, inicia, en forma de permutación cíclica, uno de varios temporizadores cuando es iniciado uno de los procesos, y emite una primera señal de error, cuando un período de tiempo detectado a través del temporizador sobrepasa un período de tiempo máximo predeterminado.
Una ventaja de la presente invención reside en que un comportamiento erróneo de un proceso, es decir, una duración de ejecución atípicamente prolongada, lleva al primer temporizador hacia valores superiores a los aceptables, el cual fue iniciado antes del proceso a través de un proceso precedente. Por lo tanto, el tiempo de reacción medido desde el inicio de un proceso hasta el reconocimiento del comportamiento erróneo del proceso es más breve que el período máximo de tiempo.
Frente a la posibilidad de iniciar un temporizador a través de un proceso y detenerlo a través del mismo proceso, se requiere que el período máximo promedio de tiempo sea escogido como un período más prolongado que en el método conforme a la invención.
La causa reside en valores atípicos característicos de la duración de ejecución, los cuales se presentan aisladamente y lo cual no tiene que conducir a una emisión de la indicación de falla. Por este motivo, el período máximo de tiempo no debe ser mayor que la duración de ejecución de los valores atípicos característicos, en caso de que el temporizador sea iniciado y detenido a través del mismo proceso, así como reiniciado por el proceso inmediatamente consecutivo. En el método conforme a la invención se supone que los procesos N-1 son ejecutados en serie y a lo sumo un proceso por separado es un valor atípico, con lo cual N designa el número de temporizadores. El largo excesivo de los valores atípicos se distribuye así en procesos N, y el período máximo promedio de tiempo referido a un proceso por separado es más breve que en el método mencionado no conforme a la invención.
Conforme a la invención, al finalizar un proceso es leído un período de tiempo detectado por el temporizador, el cual es reiniciado a través del siguiente proceso a ejecutar, y es emitida una segunda señal de error, cuando el período de tiempo se ubica por debajo de un período mínimo de tiempo predeterminado. Este método posibilita de manera ventajosa que se reconozca un comportamiento erróneo de la ejecución del proceso con una duración de ejecución del proceso atípicamente breve.
En las reivindicaciones dependientes se encuentran perfeccionamientos ventajosos y mejoras del método expuesto en la reivindicación 1.
Conforme a un perfeccionamiento del método, le es transmitida un dato de control a un proceso para el procesamiento y, al finalizar el proceso, una tercera señal de error es emitida por un valor objetivo deseado en respuesta a una desviación del dato de control procesado. En otro perfeccionamiento, un proceso es compuesto por subprocesos y al menos un subproceso ejecuta una operación en el dato de control y esta operación confirma de modo comprensible la ejecución de este subproceso a través del dato de control procesado. De este modo puede reconocerse si son ejecutados todos los subprocesos relevantes, en los cuales se compara el dato de control procesado con el valor objetivo deseado. Otra conformación prevé que al menos dos subprocesos ejecuten operaciones no conmutativas unos con otros en el dato de control, de lo cual resulta que la ejecución de estos subprocesos en el orden correcto puede confirmarse a través del dato de control procesado. Las operaciones no conmutativas entre los procesos se caracterizan porque una operación en un orden diferente en el dato de control para la mayoría de los datos de control, conduce a diferentes datos de control procesados.
Conforme a un perfeccionamiento preferente, el inicio de dos procesos directamente consecutivos tiene lugar con un intervalo mínimo de tiempo. Esto posibilita la ejecución regular de procesos.
Conforme a un perfeccionamiento, el período máximo de tiempo es mayor que el primer producto del intervalo mínimo de tiempo y al número de los temporizadores, y es menor a la suma del primer producto y el intervalo mínimo de tiempo. Conforme a otro perfeccionamiento, el período mínimo de tiempo es mayor o igual a un segundo producto del intervalo mínimo de tiempo y del número de temporizadores disminuido a uno.
Conforme a una forma de ejecución de la presente invención, el dispositivo para llevar a cabo el método presenta un dispositivo de control, el cual se encuentra conectado con un dispositivo procesador, el cual lleva a cabo el proceso para recibir una señal de inicio del dispositivo de control cuando se ha iniciado un proceso, y es establecido un período de tiempo transmitido para compararlo con el período máximo de tiempo, y en el caso de un exceso emitir una señal de error mediante una interfaz; y presenta al menos dos temporizadores, los cuales se encuentran conectados a un multiplexor del dispositivo de monitoreo para poder reiniciarse cíclicamente a través de una señal reset, y se encuentra conectado a una entrada del dispositivo de monitoreo para transmitir al dispositivo de monitoreo un período de tiempo detectado.
Conforme a un perfeccionamiento, los temporizadores presentan contadores regresivos a modo de relojes, los cuales, al reiniciarse, indican un valor correspondiente al período máximo de tiempo predeterminado. Conforme a otro perfeccionamiento, el temporizador es dispuesto de modo tal, que puede leerse el período de tiempo detectado a través del dispositivo de monitoreo y el temporizador puede ser detenido mediante una señal de control.
Conforme a otro perfeccionamiento, el dispositivo de monitoreo presenta un dispositivo comparador, el cual compara el valor objetivo deseado y, en caso de una desviación, emite una tercera señal de error.
Ejemplos de ejecución de la presente invención, así como perfeccionamientos ventajosos, se encuentran representados en las figuras de los dibujos y se detallan en la siguiente descripción.
Dibujos
Las figuras muestran:
Figura 1: una representación esquemática de una forma de ejecución como un diagrama de operaciones lógicas;
Figura 2: una representación esquemática de la forma de ejecución como un diagrama de flujo;
Figura 3: una representación esquemática de la forma de ejecución para la explicación de la generación de un valor superior al máximo aceptable;
Figura 4: una representación esquemática de la forma de ejecución al ser generado un valor inferior al mínimo aceptable.
Figura 5: un diagrama de flujo de una forma de ejecución con un proceso de varias etapas;
Figura 6: un diagrama de bloques esquemático de una forma de ejecución del dispositivo conforme a la invención;
Figura 7: un diagrama de operaciones lógicas para la explicación de una problemática de una forma de ejecución de la presente invención;
Figuras 8 y 9: diagramas de operaciones lógicas para la explicación de la problemática que sirve de base al método conforme a la invención:
Descripción de los ejemplos de ejecución
En las figuras, los signos de referencia iguales se refieren a componentes iguales o a componentes que realizan la misma función, siempre que no se indique lo contrario.
En la figura 1 se representa en orden secuencial la ejecución de varios procesos separados P_{1}, P_{2} a través de un sistema procesador S. El sistema procesador S intenta iniciar cada uno de los procesos en lo posible en momentos t_{1}, t_{2} ... predeterminados, siempre que aún no se encuentre activo un proceso precedente P_{3}, P_{4} en momentos t_{4}, t_{5} ... predeterminados. En este caso, el sistema procesador S inicia el proceso directamente en los momentos t_{3}, t_{4}, en los cuales finalizan los procesos P_{3}, P_{4}. El sistema procesador descrito y la ejecución de los procesos son típicos para un sistema de tiempo real y un dispositivo perteneciente al mismo, el cual frecuentemente es empleado en un sistema de control. En la mayoría de los casos, el intervalo de tiempo dT_{1}, dT_{2} es equidistante entre dos momentos consecutivos t_{1}, t_{2} .... En otra forma de ejecución, los intervalos de tiempo dT_{1}, dT_{2} pueden ser diferentes, tal como se representa en la figura 1, y formar pares o secuencias más largas, las cuales se repiten periódicamente. Para las descripciones que se encuentran a continuación se parte de la base de que los intervalos de tiempo dT_{1}, dT_{2} son equidistantes, siempre que no se indique algo diferente.
Durante la ejecución de procesos puede llegarse a diversas funciones erróneas a través del sistema procesador S. Por este motivo es deseable mantener indicadores para un comportamiento erróneo del sistema procesador S. Un método muy sencillo, y sin embargo muy efectivo, es el monitorear la duración de ejecución de los procesos P_{1}, P_{2}. En la figura 1 se representa, respecto a ello, una forma de ejecución de la presente invención, la cual emplea dos temporizadores Z_{A}, Z_{B} para el monitoreo. Ambos temporizadores Z_{A}, Z_{B} son reiniciados en forma alterna, cuando es iniciado casi al mismo tiempo un nuevo proceso P_{1}, P_{2} a través del sistema procesador S. De este modo, cada temporizador Z_{A}, Z_{B} sólo es reiniciado a través de cada segundo proceso. Por reinicio se comprende aquí, que el temporizador retorna a su posición inicial y comienza a medir nuevamente. El primer temporizador Z_{A} es iniciado en forma conjunta con el proceso P_{1} en el momento t_{1} predeterminado. Un reinicio del primer temporizador Z_{A} tiene lugar cuando el tercer proceso P_{3} es iniciado en el momento t_{3} predeterminado. El segundo temporizador Z_{B} no es influenciado por el inicio del primer proceso P_{1} y del tercer proceso P_{3}, sino que es reiniciado conjuntamente con el segundo proceso P_{2} iniciado entre el proceso mencionado.
El período de tiempo entre el reinicio de uno de los temporizadores Z_{A}, Z_{B} es leído por un reinicio del temporizador Z_{A} correspondiente. En la forma de ejecución representada en la figura 1 se detiene un temporizador Z_{A}, cuando el segundo proceso P_{2} finaliza en el momento t_{2}. El período de tiempo A_{1}, detectado de este modo por el temporizador Z_{A}, corresponde al período de tiempo entre el inicio del primer proceso P_{1} y la finalización del segundo proceso P_{2}. En el ejemplo representado, el segundo proceso P_{2} finaliza antes del tercer momento t_{3}, en el cual se inicia el tercer proceso P_{3}, de modo que la lectura del primer temporizador Z_{A} en el momento t_{2} no coincide con el reinicio del primer temporizador Z_{A} en el momento t_{3} predeterminado.
Una segunda forma de ejecución prevé sólo detener el temporizador Z_{A} al finalizar un proceso y efectuar la lectura de este temporizador antes de que éste se reinicie. En el caso del cuarto proceso P_{4}, el momento de la lectura, así como del detenimiento del primer temporizador Z_{A}, coincide forzosamente con el reinicio del primer temporizador Z_{A}, puesto que el quinto proceso P_{5} se inicia inmediatamente al finalizar el cuarto proceso P_{4}. El comportamiento del segundo temporizador Z_{B} corresponde al del primer temporizador Z_{A}, con la excepción de que la lectura y el reinicio del segundo temporizador Z_{B} son desplazados por el tiempo de ejecución de un proceso.
Este esquema puede generalizarse en temporizadores N Z_{A}, Z_{B},.. Z_{N}, con lo cual estos temporizadores se inician entonces en un orden de permutación cíclica, o sea que después de los temporizadores N-ten P_{N} se reinicia nuevamente el primer temporizador P_{1}. De este modo, el primer temporizador Z_{A} es reiniciado con los procesos P_{1}, P_{N+1}, P_{2N+1} ...; y el temporizador k-te Z_{N} es reiniciado con los procesos P_{k}, P_{N+k}, P_{2N+k}. La lectura, así como detenimiento, de un temporizador k-ten Z_{k} tiene lugar en forma correspondiente a la forma de ejecución de la figura 1 con la finalización del proceso P_{k-1}, P_{N+k-1}, P_{2N+k-1}, el cual se inicia en forma precedente al proceso P_{k}, P_{N+k}, P_{2N+k}, con el cual se reinicia el temporizador Z_{k}.
En la figura 1 se representan procesos P_{3}, cuya duración de ejecución es más prolongada que el intervalo de tiempo dT_{1}, el cual se pone a disposición para el proceso. Un exceso del intervalo de tiempo dT_{1}, dT_{2} se presenta en forma aislada, cuando un proceso P_{3} presenta una cantidad de cálculos o etapas separadas mayor a la usual. Esto puede suceder, por ejemplo, en un sistema de control de airbag, el cual por lo general consulta a todos los sensores y, en base a pocos cálculos puede detectar que no se presenta una situación, la cual requeriría la activación del airbag. Los sensores, no obstante, indican en forma aislada valores de aceleración elevados, los cuales indican un accidente y, de modo correspondiente, el sistema procesador S debe llevar a cabo una gran cantidad de cálculos para verificar estas señales y/o activar el airbag. Puesto que estas situaciones, y con ellas las duraciones de ejecución prolongadas de los procesos, son muy poco frecuentes, los intervalos de tiempo dT_{1}, dT_{2} son escogidos de modo tal, que pueden ser llevados a cabo, dentro de estos intervalos de tiempo dT_{1}, dT_{2}, procesos P_{1}, P_{2} ... con una duración de ejecución normal y, al mismo tiempo, pueden compensarse valores atípicos aislados mediante un período más prolongado o varios procesos, de manera que los procesos subsiguientes se ejecuten nuevamente conforme a un horario, tal como se representa en el ejemplo del tercer proceso P_{3} con una duración excesiva y el subsiguiente sexto proceso P_{6}, el cual es ejecutado conforme a un horario en el momento t_{6}.
De la descripción precedente resulta que no todo exceso de un intervalo de tiempo dT_{1}, dT_{2} a través de la ejecución de un proceso se basa en un comportamiento erróneo del sistema procesador S, así como del proceso P_{3} ejecutado, sino que también puede corresponder a valores atípicos de la duración de ejecución que no se presentan frecuentemente. Por este motivo, se incluye un tiempo remanente \DeltaT, el cual corresponde a la duración esperada del valor específico. Puesto que se supone que un valor atípico característico es muy poco frecuente, y por ello sólo se presenta una vez en 2 procesos N consecutivos P_{1}, P_{2} ..., es definido un período máximo de tiempo T_{Max}, el cual, por el tiempo remanente \DeltaT, es más prolongado que dos veces, así como N-veces del tiempo de intervalo dT. Por lo general, el período máximo de tiempo T_{Max} es más prolongado que la suma mediante todos los intervalos de tiempo dT_{1}, dT_{2} entre dos inicios conformes a un horario de un temporizador.
En referencia a la figura 2 se explica, a modo de ejemplo, como se reconoce un comportamiento erróneo en la ejecución de procesos, con un período máximo de tiempo T_{Max} y a través de los períodos de tiempo detectados por los temporizadores Z_{A}, Z_{B}. El octavo y el noveno proceso P_{8}, P_{9} son ejecutados sin un comportamiento erróneo a través del dispositivo procesador S. En forma análoga a las explicaciones de la figura 1, el segundo temporizador Z_{B} se inicia al iniciarse el noveno proceso P_{9} y el período de tiempo B_{9} es detectado por el segundo temporizador Z_{B}. Conforme a un horario respectivo al momento t_{10}, se inicia el décimo proceso P_{10}, con lo cual, durante la ejecución se presenta un comportamiento erróneo, por ejemplo un bucle infinito dentro del décimo proceso P_{10}, o un defecto en el hardware del sistema procesador S, lo cual conduce a un tiempo de ejecución atípicamente prolongado del décimo procesador P_{10}. Con el décimo proceso P_{10} se ha iniciado también el primer temporizador Z_{A}. Tanto el primer como el segundo temporizador Z_{A}, Z_{B} monitorean los períodos de tiempo A_{10}, así como B_{9} detectados por ellos. El monitoreo de los temporizadores Z_{A}, Z_{B} puede ser también retransmitido por una unidad externa. Si uno de los períodos de tiempo A_{10}, B_{9} sobrepasa el período máximo de tiempo T_{Max} predeterminado, es generada una señal de error. Preferentemente, la generación de la señal tiene lugar aproximadamente en el momento F, del inicio del exceso de tiempo del período máximo de tiempo T_{Max}. Siempre que los períodos máximos de tiempo T_{Max} no sean escogidos muy diferentes para ambos temporizadores Z_{A}, Z_{B}, por lo general son iguales, el período de tiempo B_{9} detectado del segundo temporizador Z_{B} sobrepasa en primer lugar el período máximo de tiempo T_{Max}, puesto que este segundo temporizador Z_{B} ya fue iniciado antes del décimo proceso P_{10}. De esto se deduce, que el tiempo de reacción R_{1}, medido al comenzar el inicio del décimo proceso P_{10}, en el cual se presenta un comportamiento erróneo, hasta el reconocimiento del comportamiento erróneo en el momento F_{1} por el tiempo del intervalo dT simple, así como de N-veces es más breve que el período máximo de tiempo T_{Max}. El tiempo de reacción resultante R_{1} es, de este modo, la suma de un intervalo de tiempo dT y del tiempo remanente \DeltaT. De esta manera puede reaccionar velozmente ante un comportamiento erróneo del sistema procesador S, así como del proceso ejecutado. Una forma de ejecución de la presente invención prevé, en este caso, en un sistema de control de airbag, bloquear una etapa de salida, de modo que una señal del dispositivo de control del airbag, posiblemente generada con errores, no pueda activar un airbag.
A través de una comparación con la figura 7, es evidente que el método conforme a la invención reacciona tan rápido a un comportamiento erróneo de un proceso como cuando un sistema de monitoreo es utilizado con un único temporizador Z'', el cual es reiniciado con cada proceso P_{50}, P_{51}. Durante el proceso P_{52} se llega a un comportamiento erróneo en el sistema procesador S'', lo cual se determina a través de un exceso respecto a un período máximo de tiempo T_{Max} en el momento F''_{1}, con lo cual, el período máximo de tiempo T_{Max} corresponde a la suma del intervalo de tiempo dT y al tiempo remanente \DeltaT. El tiempo de reacción R_{1} de la forma de ejecución anteriormente descrita y de este sistema son, de esta manera, iguales.
Otro signo característico para una función errónea en un sistema procesador S, es cuando los procesos finalizan mucho más rápido que lo usual. En referencia a la figura 3 se describe cómo dicha función errónea es determinada con la ayuda de un período mínimo de tiempo T_{min}. El decimotercero y el decimocuarto proceso P_{13}, P_{14} son ejecutados y finalizados conformes a un horario. El segundo temporizador Z_{B} se inicia conjuntamente con el decimocuarto proceso P_{14}. El decimoquinto proceso P_{15} se inicia conjuntamente con el primer temporizador Z_{A}. Durante el decimoquinto proceso P_{15} resulta una función errónea, la cual, por ejemplo, finaliza la ejecución del decimoquinto proceso P_{15} antes de tiempo. Al finalizar este decimoquinto proceso P_{15}, el segundo temporizador Z_{B} es detenido de manera predeterminada y leído a través del período de tiempo B_{14} detectado por el mismo. Este período de tiempo B_{14} es comparado con el período mínimo de tiempo T_{min}. Si el período se ubica por debajo del período mínimo de tiempo T_{min}, es emitida una segunda señal de error. La emisión de la segunda señal de error tiene lugar, preferentemente, en el momento F_{2}, aproximadamente cerca de la lectura del segundo temporizador Z_{B}. El período mínimo de tiempo T_{min} es, por una diferencia de tiempo \deltaT, menor al doble del intervalo de tiempo dT. Todas las consideraciones antes explicadas referidas al tiempo remanente \DeltaT para el período máximo de tiempo T_{Max}, pueden emplearse también con respecto al período mínimo de tiempo T_{min}, con la diferencia de que el período mínimo de tiempo T_{min}, por una diferencia de tiempo \deltaT, es menor al doble, así como al intervalo de tiempo N-veces dT.
Junto al monitoreo de la ejecución de procesos mediante su tiempo de ejecución, se alcanza una posibilidad de diagnóstico adicional a través de la forma de ejecución referida en la figura 4. Si en un sistema procesador S es iniciado un proceso P_{1} 200, el controlador del procesador S transmite una señal de inicio 100 a un dispositivo de monitoreo 2. A continuación, el dispositivo de monitoreo 2 da inicio a un primer temporizador Z_{A}, 250, tal como se describe en los ejemplos de ejecución precedentes. Adicionalmente, se escoge un dato de control X_{1} 251 y se transmite con una señal 101 al sistema procesador S. En el primer proceso P_{1} es efectuada al menos una operación f en el dato de control X_{1} 251 y es mantenida de este modo un dato de control procesado Y_{1}. Durante la finalización 202 del primer proceso P_{1} es transmitida una señal de detención 102 por el sistema procesador S al dispositivo de monitoreo 2. A continuación, en el dispositivo de monitoreo 2, es mantenido el segundo temporizador Z_{B} 252, y se verifica si el período de tiempo B, detectado por el segundo temporizador Z_{B}, se ubica por debajo del período mínimo de tiempo T_{min}, 254, y en caso de que sea de este modo, se emite una indicación de falla 259, tal como se describió en el ejemplo de ejecución precedente. Además, el dato de control procesado Y_{1}, el cual fue transmitido con la señal de detención 102, es comparado con un valor objetivo deseado Y_{Soll1}. En el caso de una desviación, es emitida igualmente una indicación de falla. A su vez, se verifica si un período de tiempo detectado no sobrepasa ya el período máximo de tiempo T_{Max} 258, lo cual asimismo conduce a la emisión de una indicación de falla, tal como se explicó
anteriormente.
Al iniciarse otro proceso se repiten las etapas antes descritas, tal como se deduce de la figura 4, con lo cual, de modo correspondiente, se inicia, así como se detiene, el otro temporizador. A través de la utilización de diferentes datos de control X_{1}, X_{2} ..., puede asegurarse que las operaciones sobre los datos de control X_{1}, X_{2} ... son ejecutados y el proceso no lee sólo de una celda de memoria del sistema procesador S un dato de control Y_{1}, Y_{2} procesado antes por separado. Los datos de control X_{1}, X_{2} ... pueden ser utilizados nuevamente en forma cíclica. Con respecto a cada dato de control X_{1}, X_{2} ... deben colocarse antes, en el dispositivo de monitoreo 2, los valores objetivo Y_{Soll1}, Y_{Soll2} correspondientes.
Con respecto a la figura 5, son descritas dos utilizaciones de un dato de control. Un proceso por separado puede, por lo general, subdividirse en varios subprocesos. Por ejemplo, en el caso de un controlador de airbag, éstos serían sensores de lectura I_{1}, evaluación de los valores del sensor I_{2} y generación de una señal de control para el sistema de airbag I_{3}. En este caso, para la correcta ejecución del proceso P_{1} es indispensable que todos los subprocesos I_{1}, I_{2}, I_{3} sean ejecutados. Con este fin, cada subproceso I_{1}, I_{2}, I_{3} ejecuta seguidamente una operación F sobre el dato de control X_{1}. Tres operaciones F_{1}, F_{2}, F_{3} muy simples consistirían en negar el primer, el segundo, así como el tercer bit del dato de control X_{1}. A través de la comparación con el valor objetivo deseado puede así determinarse en forma inmediata si fueron ejecutadas las tres operaciones o si sólo una y, en ese caso, incluso cual no fue ejecutada. Es también de importancia para la correcta ejecución del proceso P_{1}, el orden de las ejecuciones de los subprocesos I_{1}, I_{2}, I_{3}. Esto puede alcanzarse ya que las operaciones F_{1}, F_{2}, F_{3} no son conmutativas unas con otras o al menos no lo son parcialmente. Por este motivo, se deduce que en el caso de un orden incorrecto de las ejecuciones, resulta un dato de control Y procesado que se diferencia del valor objetivo deseado. Si, por ejemplo, el dato de control X_{1} es cinco y la operación F_{1} la multiplicación por dos, y la operación F_{2} la adición de tres, se obtiene como resultado trece en el orden correcto, lo que en este caso corresponde al valor objetivo deseado, y en el caso de un orden incorrecto dieciséis, lo cual no corresponde al valor objetivo deseado.
En referencia a la figura 6, se describe un dispositivo de monitoreo 2, el cual presenta una interfaz y un módulo de procesamiento 1, el cual se encuentra conectado a un sistema procesador S mediante una dirección de control de datos 20 y a un sistema de airbag 4 con una etapa de salida 3 para la transmisión de una señal de supresión 201. La señal de supresión 201 es generada a través de un dispositivo de procesamiento 1 cuando se determina un comportamiento erróneo de la ejecución de procesos a través del sistema procesador S con uno de los métodos antes descritos. El dispositivo de procesamiento 1 puede reiniciar en forma directa o mediante un dispositivo de multiplexores 10 una pluralidad de temporizadores Z_{A}, Z_{B}, Z_{N} y, dado el caso, también detenerlos. En una forma de ejecución preferente, los temporizadores Z_{A}, Z_{B}, Z_{N} son contadores regresivos, los cuales, a modo de un reloj, cuentan hacia atrás con un temporizador. Si la indicación de un contador de uno de los contadores alcanza el valor 0, entonces éste produce una interrupción en una celda del dispositivo 11. Al reiniciarse los contadores Z_{A}, Z_{B}, Z_{N}, éstos se ubican en un valor correspondiente al período de tiempo máximo. Por este motivo, la producción de la interrupción antes mencionada es interpretada como una falla en el sistema procesador S durante la ejecución del proceso. En otra variante, el dispositivo de lectura de contadores puede leer la indicación del contador de los contadores, así como temporizadores Z_{A}, Z_{B}, Z_{N} y transmitir este valor al dispositivo de procesamiento 1 de acuerdo a la petición. El dispositivo de lectura 11 puede, del mismo modo, estar conectado a un multiplexor, el cual se encuentra instalado de tal modo, que sólo puede leer el temporizador que marche durante más tiempo. Esto puede realizarse mediante un multiplexor cíclico
sencillo.
El dispositivo de control S emite una señal de control a una etapa de salida 3, cuando el sistema de airbag 4 debe ser activado. Al ser reconocida una falla de la ejecución del proceso a través del dispositivo de procesamiento 1, la etapa de entrada 3 es bloqueada, impidiendo así la activación del sistema de airbag 4.
Otra ventaja de las formas de ejecución descritas es explicada a continuación. Los valores atípicos requieren, tal como se ha descrito, la introducción de un tiempo remanente \DeltaT. El tiempo remanente \DeltaT se distribuye efectivamente, en un sistema con temporizadores N Z_{1}, Z_{2} ..., en procesos N P_{1}, P_{2} .... De este modo, la duración promedio de ejecución es determinada con exactitud para cada proceso por separado como en el caso de un único temporizador Z'' y, sin embargo, valores atípicos aislados no conducen a la emisión de una señal de error.

Claims (7)

1. Método de monitoreo de un sistema procesador (S), el cual ejecuta una pluralidad de procesos (P_{1}, P_{2} ...), caracterizado porque, un proceso (P_{1}, P_{2} ...) es iniciado después de que ha finalizado un proceso precedente (P_{1},
P_{2} ...), y porque al menos uno de dos temporizadores (Z_{A}, Z_{B}, Z_{N}) es reiniciado mediante permutación cíclica cuando es iniciado uno de los procesos (P_{1}, P_{2} ...); y una primera señal de error es emitida si un período de tiempo (A1, A3, ..., B0, B2, ...), detectado mediante el temporizador (Z_{A}, Z_{B}, Z_{N}), sobrepasa un período máximo de tiempo predeterminado (T_{Max}), y porque al finalizar un proceso (P_{1}, P_{2} ...) se lee un período de tiempo (A1, A3, ..., B0, B2, ...) detectado del temporizador (Z_{A}, Z_{B}, Z_{N}) y el temporizador es reiniciado a través del siguiente proceso a ejecutar (P_{1}, P_{2} ...); y porque una segunda señal de error es emitida si el período de tiempo detectado (A1, A3, A5, ..., B0, B2, B4, ...) se ubica por debajo de un período mínimo de tiempo predeterminado (T_{min}).
2. Método conforme a la reivindicación 1, caracterizado porque un proceso iniciado (P_{1}, P_{2} ...) transmite un dato de control (X_{1}, X_{2}) para el procesamiento; y, al finalizar el proceso (P_{1}, P_{2} ...) una tercera señal de error es emitida por un valor objetivo deseado (Y_{soll1}, Y_{soll2}) en respuesta a una desviación del dato de control procesado (Y_{1}, Y_{2}).
3. Método conforme a la reivindicación 2, caracterizado porque un proceso (P_{1}, P_{2} ...) se encuentra compuesto por subprocesos (I_{1}, I_{2}, I_{3}) y al menos un subproceso (I_{1}, I_{2}, I_{3}) ejecuta una operación sobre el dato de control (X_{1}, X_{2}); esta operación confirma, de modo comprensible, la ejecución de este subproceso (I_{1}, I_{2}, I_{3}) a través del dato de control procesado (Y_{1}, Y_{2}).
4. Método conforme a por lo menos una de las reivindicaciones 2 ó 3, con lo cual al menos dos subprocesos (I_{1}, I_{2}, I_{3}) ejecutan operaciones (F_{1}, F_{2}, F_{3}) no conmutativas unas con otras sobre el dato de control (X_{1}, X_{2}), de modo que la ejecución de este subproceso en el orden correcto puede confirmarse a través del dato procesado.
5. Método conforme a por lo menos una de las reivindicaciones precedentes, caracterizado porque el inicio de uno de los procesos (P_{1}, P_{2} ...) no puede tener lugar antes de un intervalo de tiempo predeterminado (dT, dT_{1}, dT_{2}) con respecto al inicio de un proceso (P1, P2, ...) iniciado inmediatamente antes.
6. Método conforme a la reivindicación 5, caracterizado porque el período máximo de tiempo (T_{Max}) es mayor a un primer producto del intervalo de tiempo (dT) y al número (N) de los temporizadores, y es menor a la suma del primer producto y el intervalo de tiempo predeterminado (dT):
N dT < T_{Max} < (N+1) dT.
7. Método conforme a por lo menos una de las reivindicaciones 5 ó 6, caracterizado porque el período mínimo de tiempo (T_{min}) es mayor o igual a un segundo producto del intervalo de tiempo predeterminado (dT) y del número (N) de los temporizadores (Z_{A}, Z_{B}, Z_{N}) disminuido a uno:
Tmin < = (N-1) dT.
ES05823489T 2005-02-28 2005-12-30 Metodo y dispositivo para el monitoreo de una ejecucion de un proceso. Active ES2342550T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102005008975A DE102005008975A1 (de) 2005-02-28 2005-02-28 Verfahren und Vorrichtung zur Überwachung einer Prozessausführung
DE102005008975 2005-02-28

Publications (1)

Publication Number Publication Date
ES2342550T3 true ES2342550T3 (es) 2010-07-08

Family

ID=36130158

Family Applications (1)

Application Number Title Priority Date Filing Date
ES05823489T Active ES2342550T3 (es) 2005-02-28 2005-12-30 Metodo y dispositivo para el monitoreo de una ejecucion de un proceso.

Country Status (6)

Country Link
US (1) US7895478B2 (es)
EP (1) EP1866714B1 (es)
JP (1) JP4638916B2 (es)
DE (2) DE102005008975A1 (es)
ES (1) ES2342550T3 (es)
WO (1) WO2006092182A1 (es)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5024095B2 (ja) * 2008-02-08 2012-09-12 沖電気工業株式会社 無線送信装置、プログラム及び方法
CN102413286B (zh) * 2011-12-07 2013-08-14 大道计算机技术(上海)有限公司 基于时间片轮转的不稳定信号自适应处理方法
CN103116306B (zh) * 2013-02-05 2015-06-17 浙江大学 一种自动的步进式有序时段划分方法
US10365683B2 (en) * 2013-05-10 2019-07-30 Texas Instruments Incorporated Frequency execution monitoring in a real-time embedded system
CN103777627B (zh) * 2014-01-24 2016-03-30 浙江大学 一种基于少量批次的批次过程在线监测方法
US10394897B2 (en) 2015-09-11 2019-08-27 International Business Machines Corporation Visualization of serial processes
US9928625B2 (en) 2015-11-19 2018-03-27 International Business Machines Corporation Visualizing temporal aspects of serial processes
JP2017117217A (ja) * 2015-12-24 2017-06-29 アイシン精機株式会社 制御装置
DE102021124387A1 (de) 2021-09-21 2023-03-23 Infineon Technologies Ag Watchdog-Schaltkreis und Verfahren zum Betreiben eines Watchdog-Schaltkreises
DE102022203252A1 (de) 2022-04-01 2023-10-05 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren und Vorrichtung zum Absichern des autonomen Fahrens eines Kraftfahrzeugs

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3723975A (en) * 1971-06-28 1973-03-27 Ibm Overdue event detector
JPS6032217B2 (ja) * 1979-04-02 1985-07-26 日産自動車株式会社 制御用コンピュ−タのフェィルセ−フ装置
EP0190370B1 (en) * 1984-12-31 1990-04-04 International Business Machines Corporation Device for improving the detection of non-operational states in a non-attended interrupt-driven processor
JPS633120A (ja) * 1986-06-20 1988-01-08 Matsushita Electric Ind Co Ltd 燃焼検出装置
EP0369489A3 (en) * 1988-11-18 1991-11-27 Omron Corporation Sensor controller system
JPH02304636A (ja) * 1989-05-19 1990-12-18 Mitsubishi Electric Corp ウォッチドッグタイマ回路
DE3921250A1 (de) * 1989-06-29 1991-01-03 Bosch Gmbh Robert Insassen-sicherheitssystem und verfahren zum betreiben desselben
JPH05238348A (ja) * 1991-03-13 1993-09-17 Zexel Corp 車両安全装置の制御システム
JPH0566812A (ja) * 1991-09-05 1993-03-19 Yaskawa Electric Corp プログラマブルコントローラの二重化ウオツチドツグタイマ
JP3135772B2 (ja) * 1993-12-27 2001-02-19 アスコ株式会社 車両用安全装置
JP2710200B2 (ja) * 1993-12-28 1998-02-10 日本電気株式会社 多重タイマ
JPH07291091A (ja) * 1994-04-28 1995-11-07 Nippondenso Co Ltd 制御用コンピュータの誤動作防止回路
JP3702906B2 (ja) * 1995-05-30 2005-10-05 ジヤトコ株式会社 マイコン搭載車両の負荷駆動制御装置
DE19647407C2 (de) * 1996-11-15 1998-09-03 Siemens Ag Steuergerät, insbesondere für den Einsatz in einem Kraftfahrzeug
US5908470A (en) * 1997-01-03 1999-06-01 Ncr Corporation Method for contention-free access and management of timers in multiprocessing environments
JPH10222402A (ja) * 1997-02-12 1998-08-21 Nissan Motor Co Ltd 車両用制御装置
DE19712375A1 (de) * 1997-03-25 1998-10-01 Bosch Gmbh Robert Watchdog-Schaltung
US5938708A (en) * 1997-07-03 1999-08-17 Trw Inc. Vehicle computer system having a non-interrupt cooperative multi-tasking kernel and a method of controlling a plurality of vehicle processes
US6427161B1 (en) * 1998-06-12 2002-07-30 International Business Machines Corporation Thread scheduling techniques for multithreaded servers
AU5588000A (en) * 1999-05-19 2000-12-05 Id Systems, Inc. Fully automated vehicle rental system
US6543003B1 (en) * 1999-11-08 2003-04-01 International Business Machines Corporation Method and apparatus for multi-stage hang recovery in an out-of-order microprocessor
DE10049441B4 (de) * 2000-10-06 2008-07-10 Conti Temic Microelectronic Gmbh Verfahren zum Betrieb eines von einem Prozessor gesteuerten Systems
US7207043B2 (en) * 2002-12-31 2007-04-17 International Business Machines Corporation Programmatic response-time based workload distribution techniques
US7310751B2 (en) * 2004-02-20 2007-12-18 Hewlett-Packard Development Company, L.P. Timeout event trigger generation

Also Published As

Publication number Publication date
WO2006092182A1 (de) 2006-09-08
EP1866714B1 (de) 2010-03-31
JP2008532125A (ja) 2008-08-14
JP4638916B2 (ja) 2011-02-23
US20090300435A1 (en) 2009-12-03
EP1866714A1 (de) 2007-12-19
DE502005009340D1 (de) 2010-05-12
DE102005008975A1 (de) 2006-08-31
US7895478B2 (en) 2011-02-22

Similar Documents

Publication Publication Date Title
ES2342550T3 (es) Metodo y dispositivo para el monitoreo de una ejecucion de un proceso.
JP2019088000A (ja) 動的照明用途のためのバスプロトコル
ES2664573T3 (es) Aparato de control para un dispositivo de protección de pasajeros de vehículos o peatones y un sistema de control
US10759470B2 (en) Sensor device and electric power steering apparatus using same
JP4578542B2 (ja) 車載電子制御装置
US7343509B2 (en) Car-mounted electronic control device
ES2385173T3 (es) Procedimiento para la transmisión de datos digital bidireccional
WO2012176549A1 (ja) 電源制御システム、電源制御装置及び電源制御方法
JP2011189931A (ja) 加速度センサを備えた制御装置
US20180309590A1 (en) Method for protecting configuration data from a data bus transceiver, data bus transceiver and data bus system
US6848064B2 (en) Method and device for synchronizing a computing device and a monitoring circuit
JP4959818B2 (ja) 電子制御装置
JP5094777B2 (ja) 車載用電子制御装置
JP3097580B2 (ja) 電子制御装置
JP4812699B2 (ja) 電源制御装置
US20060123307A1 (en) Control device
US10514970B2 (en) Method of ensuring operation of calculator
ES2359070T3 (es) Método y dispositivo para el ajuste de un dispositivo de monitorización de una unidad de control para un sistema de seguridad de un vehículo a motor.
JP2017007539A (ja) 制御装置
JP4678482B2 (ja) 制御装置およびそれを備えた電動パワーステアリング装置
JP2002318711A (ja) Cpuを備えた制御装置
JP5628142B2 (ja) 電子制御装置
JP6702175B2 (ja) 負荷駆動装置
JP2014146222A (ja) 車両用マイクロコンピュータ装置
ES2362285T3 (es) Dispositivo para el control de un algoritmo de control para medios de protección de personas.