ES2384955T3 - Aparato de control electrónico operable sobre programa orientado al objeto - Google Patents
Aparato de control electrónico operable sobre programa orientado al objeto Download PDFInfo
- Publication number
- ES2384955T3 ES2384955T3 ES00100431T ES00100431T ES2384955T3 ES 2384955 T3 ES2384955 T3 ES 2384955T3 ES 00100431 T ES00100431 T ES 00100431T ES 00100431 T ES00100431 T ES 00100431T ES 2384955 T3 ES2384955 T3 ES 2384955T3
- Authority
- ES
- Spain
- Prior art keywords
- message
- timer
- type
- unit
- storage unit
- 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.)
- Expired - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/465—Distributed object oriented systems
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
- Stored Programmes (AREA)
- Debugging And Monitoring (AREA)
Abstract
Un aparato (1) de control electrónico provisto con una pluralidad de medios (3) para el tratamiento de unidad adaptados para realizar procesos para realizar funciones de unidad (OB1-OBn) de acuerdo con métodos de objetos formados dividiendo un programa de control en funciones de unidad correspondientes a objetos respectivos en los que cualquiera de la pluralidad de medios de tratamiento de unidad generan un mensaje servido como una solicitud de proceso que indica un medio de tratamiento de unidad como el destino durante la operación del proceso, y los medios de tratamiento de unidad que corresponden al destino del mensaje realizan por ello el proceso, el mensaje generado por los medios de tratamiento de unidad es clasificado en un mensaje del primer tipo que no contiene valor de cómputo (P1, P2, P3) y un mensaje de segundo tipo que contiene un valor de cómputo (P1, P2, P3) para indicar el tiempo de retardo hasta el instante en el que los medios de tratamiento de la unidad correspondientes al destino del mensaje comienza la operación del proceso, en que el aparato de control electrónico comprende: unos primeros medios de control de almacenamiento (3, S100-S130) que almacenan el mensaje de primer tipo generado por los medios de tratamiento de la unidad en unos primeros medios (12) de almacenamiento de mensaje; unos medios de control de activación (3, S210-S250) que leen el mensaje de primer tipo almacenado en primer lugar entre mensajes de primer tipo almacenados en los primeros medios (12) de almacenamiento de mensajes en el instante en que uno de la pluralidad de medios de tratamiento de unidad que ha generado el mensaje del primer tipo ha terminado la operación del proceso, controla los medios de tratamiento de unidad correspondientes al destino del mensaje de primer tipo leído para comenzar el proceso, y borra el mensaje de primer tipo leído desde los medios de almacenamiento de mensajes; unos segundos medios de control de almacenamiento (3, S300-S330) que almacenan el mensaje de segundo tipo generado a partir de los medios de tratamiento de unidad en los segundos medios (13) de almacenamiento de mensajes; y unos medios de control de retardo (3, S400-S430) que reducen el valor de cómputo del mensaje del segundo tipo almacenado en los segundos medios (13) de almacenamiento de mensajes a la vez que ocurre un evento predeterminado y vuelven a almacenar el mensaje del segundo tipo en los primeros medios (12) de almacenamiento de mensajes como el mensaje de primer tipo cuando el valor de cómputo alcanza un valor predeterminado, en que el aparato (1) de control electrónico está adaptado para controlar uno o más objetivos de un vehículo y cada función de unidad (OB1 a OBn) está adaptada para controlar uno de los uno o más objetivos de control, en el que uno o más objetivos de control comprenden al menos uno de entre un motor, una transmisión automática y una suspensión del vehículo; y los medios de control de retardo (3 , S400-S430) vuelven a almacenar el mensaje de segundo tipo en una cola de mensajes de primer tipo almacenados en los primeros medios (12) de almacenamiento de mensajes.
Description
Aparato de control electrónico operable sobre programa orientado al objeto.
El presente invento se refiere a un aparato de control electrónico para controlar un objetivo de control de acuerdo con un programa orientado al objeto.
En un aparato de control electrónico para controlar por ejemplo un motor de un vehículo, se ha propuesto un programa para usar en el control del motor ejecutado por un microordenador (específicamente, una CPU de un microordenador) para cada tipo de control. Por ejemplo, con relación al control de inyección de combustible, se ha inventado un programa para cada tipo de control, tal como un control de inyección ordinario sincronizado a la velocidad de rotación del motor, un control de inyección asíncrono con la velocidad de rotación del motor, o un control de corte o interrupción de combustible durante una rotación elevada. Este método tiene numerosas partes comunes en cada programa.
Se ha propuesto por ello en la solicitud de Patente Norteamericana nº 09/104.967 (EP 0 892 342 A2) inventar un programa de control (realizar la programación) por una aproximación orientada al objeto, de manera similar a un caso de un ordenador personal o similar, así también en un aparato de control electrónico de este tipo. Aquí, un objeto es un módulo de software que une datos y un programa (método) que es un procedimiento para tratar estos datos, y con programación orientada al objeto, todas las funciones de un programa de control son subdivididas en cada función de unidad para cada componente o similar, y un objeto es proporcionado para cada una de estas funciones de unidad. Por consiguiente, con programación orientada al objeto, un modo de pensar conocido como comunicación de mensaje entre objetos para realizar intercambios de mensajes entre objetos es utilizado para enlazar objetos respectivos.
Sin embargo, en un aparato de control electrónico de este tipo, incluso cuando se inventa un programa de control del mismo con orientación al objeto, existen medidas no efectivas para provocar el intercambio de mensajes entre los objetos respectivos (es decir, comunicación de mensaje entre objetos) que se han de realizar. Es decir, el aparato propuesto aún requiere una gran cantidad de área de almacenamiento de RAM, debido a que los valores de un contador de programa y de distintos registros deben ser almacenados en un área de apilamiento de RAM. En particular, cuanto mayor resulta el número de anidamientos (es decir, combinaciones de llamadas compuestas de múltiples niveles jerárquicos), notablemente mayor resulta el área de almacenamiento consumido de RAM. Así, el uso efectivo de recursos de memoria está restringido.
Es un objeto del presente invento proporcionar un aparato de control electrónico capaz de realizar el proceso de objetos formados dividiendo un programa de control en funciones de unidad respectivas en tiempo real sin requerir una gran cantidad de recursos de memoria y capaz de realizar fácilmente el proceso de tiempo de espera.
De acuerdo con el presente invento, se ha proporcionado una pluralidad de medios para el tratamiento de unidad para realizar respectivamente el tratamiento, de acuerdo con un objeto de un programa subdividido en cada función de unidad para controlar un objetivo de control, para realizar las respectivas funciones de unidad. Aquí, los medios de tratamiento de la unidad son medios funcionales realizados por la operación de una CPU de un microprocesador. Por consiguiente, cualquiera de la pluralidad de medios de tratamiento de unidad realiza selectivamente una tarea de tratamiento, y junto con ello, por los medios de tratamiento de unidad respectiva que emiten un mensaje como una solicitud de tratamiento a otros medios de tratamiento de unidad que es una designación de salida de un mensaje del mismo, realizar el tratamiento.
En un aspecto, el mensaje generado por cada medio de tratamiento de unidad es clasificado en el mensaje de primer tipo que no contiene el valor de cómputo para indicar el tiempo de retardo hasta el momento en que los medios de tratamiento de la unidad de destino del mensaje comienzan la operación del proceso y el mensaje de segundo tipo que contiene los valores de cómputo.
El aparato de control electrónico está provisto con unos primeros medios de control de almacenamiento para almacenar un mensaje de primer tipo generado desde unos medios de tratamiento de unidad en unos primeros medios de almacenamiento de mensaje y un medio de control de activación. Los medios de control de activación leen el mensaje de primer tipo que ha sido almacenado en primer lugar entre los mensajes de primer tipo almacenados en los primeros medios de almacenamiento de mensaje en el momento en el que cualquiera de una pluralidad de medios de tratamiento de unidad ha completado la operación de tratamiento, activa los medios de tratamiento de la unidad de destino del mensaje de primer tipo leído para comenzar el proceso, y borra el mensaje de primer tipo leído de los primeros medios de almacenamiento de mensajes.
Como resultado, cuando cualquiera de los medios de tratamiento de unidad comienza la operación de tratamiento y envía el mensaje de primer tipo a otros medios de tratamiento de unidad durante la operación de tratamiento, el mensaje de primer tipo es almacenado en los primeros medios de almacenamiento de mensaje por los primeros medios de control de almacenamiento. Cuando la operación de tratamiento de los medios de tratamiento de unidad que han generado el mensaje de primer tipo es completada, a partir de ese momento, es comenzado el tratamiento de los medios de tratamiento de la unidad de destino del mensaje de primer tipo almacenado. Cuando un objeto en operación de tratamiento genera un mensaje de primer tipo a cualquiera de los objetos, el mensaje de primer tipo es almacenado temporalmente en los primeros medios de almacenamiento de mensaje, y cuando el tratamiento del objeto que ha generado el mensaje de primer tipo es completado, se realiza inmediatamente el tratamiento del objeto de destino del mensaje de primer tipo almacenado.
Además, cuando los medios de tratamiento de unidad generan sucesivamente mensajes de primer tipo a una pluralidad de medios de tratamiento de unidad durante la operación de tratamiento, los mensajes de primer tipo son almacenados sucesivamente en los primeros medios de almacenamiento de mensajes por los primeros medios de control de almacenamiento. Cuando la operación de tratamiento de los medios de tratamiento de unidad que habían generado los mensajes de primer tipo es completada, el tratamiento de los medios de tratamiento de la unidad de destino de la pluralidad almacenada de mensajes de primer tipo es realizado en el orden de almacenamiento de los mensajes de primer tipo (orden de salida).
En otro aspecto del aparato de control electrónico, cuando unos medios de tratamiento de unidad envían un mensaje de temporizador (mensaje de segundo tipo que contiene el valor de cómputo para indicar el tiempo de retardo hasta el comienzo de la operación de tratamiento) a los propios medios de tratamiento de la unidad o a otros medios de tratamiento de la unidad durante la operación del proceso, el mensaje de temporizador es almacenado en los medios de almacenamiento de mensaje de temporizador por los medios de control de almacenamiento de mensaje de temporizador. El valor de cómputo del mensaje de temporizador almacenado en los medios de almacenamiento del mensaje de temporizador es reducido en un valor predeterminado cada vez que ocurre un evento predeterminado. Cuanto el valor de cómputo alcanza un valor establecido predeterminado, se inicia el proceso de los medios de tratamiento de la unidad correspondiente al destino del mensaje de temporizador.
Como resultado, el proceso de los medios de tratamiento de unidad correspondiente al destino del mensaje de temporizador es realizado después del transcurso de un tiempo que corresponde al valor de cómputo contenido en el mensaje de temporizador, el proceso de espera de tiempo, es decir, el proceso de un objeto específico (proceso de unos medios de tratamiento de unidad) es iniciado después del transcurso de un tiempo predeterminado a partir de un cierto momento, puede ser realizado fácilmente.
Los anteriores y otros objetos, características y ventajas del presente invento resultarán más evidentes a partir de la descripción detallada siguiente hecha con referencia a los dibujos adjuntos. En los dibujos adjuntos:
La Figura 1 es un diagrama de bloques que muestra un aparato de control electrónico (ECU) de acuerdo con una realización del presente invento;
La Figura 2 es un diagrama esquemático que muestra una relación entre objetivos de control almacenados en una ROM y una unidad de control de entrega de mensaje;
La Figura 3 es un diagrama esquemático que muestra una base de datos de información de conexión;
La Figura 4 es un diagrama de transición de estado que muestra la transición de estado de la unidad de entrega de mensaje;
La Figura 5 es un diagrama de flujo que muestra un proceso de inicialización de la unidad de entrega de mensaje;
La Figura 6 es un diagrama de flujo que muestra el proceso de puesta en serie de la unidad de entrega de mensaje;
La Figura 7 es un diagrama de flujo que muestra un proceso de puesta en cola de espera de un mensaje de la unidad de entrega de mensaje;
Las Figuras 8A a 8D son diagramas esquemáticos que muestran los procesos de puesta en cola de espera de mensaje;
La Figura 9 es un diagrama de flujo que muestra los procesos de entrega de mensaje de la unidad de entrega de mensaje;
Las Figuras 10A a 10C son diagramas esquemáticos que muestran el proceso de entrega del mensaje;
La Figura 11 es un diagrama de flujo que muestra un proceso de puesta en cola de mensaje de temporizador de la unidad de entrega de mensaje;
Las Figuras 12A a 12D son diagramas esquemáticos que muestran procesos de puesta en cola de mensaje de temporizador;
La Figura 13 es un diagrama de flujo que muestra un proceso de reloj de temporizador de la unidad de entrega de mensaje;
Las Figuras 14A a 14C son diagramas esquemáticos que muestran los procesos de reloj de temporizador;
La Figura 15 es un diagrama de flujo que muestra un proceso de borrado de mensaje de temporizador de la unidad de entrega de mensaje;
Las Figuras 16A a 16C son diagramas esquemáticos que muestran el proceso de borrado de mensaje de temporizador;
La Figura 17 es un diagrama de temporizador que muestra una regla de comunicación de datos entre el ECU y el probador;
La Figura 18 es un diagrama de secuencia de mensaje que muestra el esquema del proceso de objetos para controlar la comunicación de datos con el probador;
La Figura 19 es un diagrama de secuencia de mensaje que muestra una parte del proceso de transmisión de mensaje de respuesta encerrado en recuadros hexagonales en la Figura 18;
La Figura 20 es un diagrama esquemático que muestra métodos u objetos para controlar la comunicación de datos con el probador;
La Figura 21 es un diagrama de flujo que muestra el método de proceso de aviso de la recepción del mensaje solicitado de un objeto de servicio;
La Figura 22 es un diagrama de flujo que muestra un método de proceso de adquisición de mensaje de respuesta del objeto de servicio;
La Figura 23 es un diagrama de flujo que muestra un método de proceso de almacenamiento de la velocidad de rotación del objeto de servicio;
La Figura 24 es un diagrama de flujo que muestra un método de proceso de espera de recepción de un objeto que gestiona la comunicación;
La Figura 25 es un diagrama de flujo que muestra un método de proceso de lectura del probador del objeto gestor de la comunicación;
La Figura 26 es un diagrama de flujo que muestra un método de proceso de inicio de respuesta del objeto gestor de la comunicación;
La Figura 27 es un diagrama de flujo que muestra un método de proceso de transmisión del objeto gestor de la comunicación; y
La Figura 28 es un diagrama de flujo que muestra un método de proceso de adquisición de velocidad de rotación de un objeto sensor de rotación.
Un aparato de control electrónico de acuerdo con una realización del presente invento está descrito en detalle a continuación con referencia a los dibujos.
En primer lugar, la Figura 1 es un diagrama de bloques para ilustrar la estructura de hardware de un aparato de control electrónico (en lo sucesivo denominado ECU) 1 de la realización diseñada para controlar un motor del tipo de combustión interna montado en un automóvil.
Como se ha mostrado en la Figura 1, el ECU 1 está provisto con un circuito de entrada 2 para recibir señales generadas desde distintos sensores, por ejemplo, un sensor de rotación para generar señales de impulso generadas a cada rotación angular predeterminada (por ejemplo CA de 30 grados) de un cigüeñal de un motor y un sensor de temperatura de refrigerante para generar señales analógicas correspondientes a la temperatura del agua de refrigeración del motor, un circuito 7 de comunicación de diagnóstico de fallo conectado al ECU 1 a través de una línea de comunicación 9 para comunicar los datos con las unidades externas (en lo sucesivo llamado probador) 8, una CPU (unidad de tratamiento central) 3 que calcula la magnitud de control óptima para el motor basándose en señales suministradas desde el circuito de entrada y que genera señales de control basándose en el resultado del cálculo, y comunica los datos para una diagnosis de fallo con el probador 8 a través del circuito de comunicación 7 cuando el probador 8 está conectado al ECU 1, un circuito de salida 4 para recibir señales de control desde la CPU 3 para activar accionadores tales como una válvula de regulación o de mariposa del motor y un inyector (válvula de inyección de combustible), una ROM 5 no volátil para almacenar programas que han de ser realizados por la CPU 3 y los datos a los que se ha de hacer referencia cuando es realizado el programa, y una RAM volátil 6 para almacenar temporalmente resultados de cálculo de la CPU 3.
En el ECU 1, la CPU 3, la ROM 5, y la RAM 6 son componentes principales de un microordenador, y el microordenador está provisto de un puerto I/O para soportar la CPU 3 para comunicar señales entre el circuito de entrada 2 y el circuito de salida 4, y una interfaz de comunicación en serie que comprende un registro de recepción y un registro de transmisión para soportar la CPU 3 para comunicar los datos con el probador 8 a través del circuito de comunicación 7, aunque estos componentes no están mostrados en el dibujo. Una parte del área de memoria de la RAM 6 es establecida como una RAM de copia de seguridad que es capaz de retener el contenido almacenado cuando el suministro de energía para el ECU 1 es interrumpido.
En el ECU 1 de la presente realización, el programa de control (en detalle, programa de control de comunicación con el probador 8 y programa de control de motor) y los datos que están almacenados en la ROM 5 y realizados por la CPU 3 son programados de acuerdo con la programación orientada al objeto. El ECU 1 de la presente realización está provisto con una unidad 10 de control de entrega de mensaje mostrada en la Figura 2 como medios para realizar la comunicación entre objetos.
La Figura 2 es para ilustrar el diagrama conceptual que muestra la relación entre los objetivos de control almacenados en la ROM 5 y la unidad 10 de control de entrega de mensaje. La unidad 10 de control de entrega de mensaje no es un hardware sino que es una parte funcional que es realizada por medio de funcionamiento de la CPU 3 de acuerdo con el objetivo de control de entrega de mensaje almacenado en la ROM 5.
La unidad 10 de control de entrega de mensaje es descrita accediendo al programa para comunicar los datos con el probador 8.
En primer lugar, como se ha mostrado en la Figura 2, la ROM 5 contiene un objeto de servicio 0B1 servido para la preparación de los datos que han de ser transmitidos al probador 8 como un objeto para controlar la comunicación de datos con el probador 8, un objeto OB2 gestor de la comunicación para comunicar señales con el probador 8, y un objeto OB3 sensor de rotación para calcular la velocidad de rotación del motor basándose en la señal suministrada desde el sensor de rotación. El objeto OB3 sensor de rotación también es servido como el objeto para controlar el motor.
La ROM 5 también contiene objetos OB4 a OBn además de los objetos OB1 a OB3, objetos para realizar la función de la unidad 10 de control de entrega de mensaje (objetivo de control de entrega de mensaje) y objetos de temporizador que son activados cada momento predeterminado están incluidos entre estos objetos.
En el ECU 1 de la presente realización, la secuencia de proceso de los objetos OB1 a OBn está determinada de acuerdo con la comunicación de mensaje entre objetos virtual en la que los objetos OB1 a OBn transmiten mensajes para preguntar el proceso al propio objeto o a otros objetos para activar el objeto que recibe un mensaje.
En el ECU 1 de la presente realización, el mensaje es clasificado dentro del mensaje de objeto y el mensaje de temporizador. El primero es el mensaje de primer tipo que no contiene el valor de cómputo para indicar el tiempo de retardo hasta el objeto correspondiente al destino del mensaje inicia la operación del proceso (en lo sucesivo denominado contador de tiempo) y el último es el mensaje del segundo tipo que contiene el contador de tiempo.
Un mensaje de objeto contiene un número de identificación de objeto para indicar el objeto de destino del mensaje (denominado en lo sucesivo OID) y un número de identificación de método (en lo sucesivo llamado MID) para indicar el método que se ha de ejecutar entre los métodos que son componentes del objeto de destino como el contenido, y un mensaje de temporizador contiene el contador de tiempo antes mencionado además del OID y del MIS como contenido. Un mensaje de objeto y un mensaje de temporizador pueden contener un argumento adicionalmente al
contenido. Como un término que incluye el mensaje de objeto y el mensaje de temporizador, un término “mensaje”
es usado en lo que sigue.
A continuación, la unidad 10 de control de entrega de mensaje para realizar la comunicación de mensaje entre objetos sirve a dos funciones. La primera función es que un mensaje de objeto generado desde un objeto es sometido a una puesta en cola de espera, el mensaje de objeto que es puesto en cola de espera en primer lugar entre mensajes de objeto puestos en cola de espera antes mencionados es leído cada vez que se mantiene la condición de entrega predeterminada, y el mensaje de objeto leído es entregado al objeto de destino del mensaje. La función posterior es que un mensaje de temporizador generado por un objeto es sometido a una puesta en cola de espera, el contador de temporizador del mensaje de temporizador puesto en cola es reducido por un valor predeterminado cada vez (reducido por 1 en la realización actual). Cuando el valor del contador de temporizador alcanza un valor establecido predeterminado (0 en la realización actual) el mensaje de temporizador es entregado al objeto de destino del mensaje como un mensaje de objeto.
“Poner en cola de espera” significa la operación para realizar la inserción de almacenamiento de un dato en una cola de espera, y “cola” significa una línea de espera en la que los datos son insertados en un extremo de una estructura de datos y un dato es borrado en el otro extremo. “Entrega” significa el inicio del proceso de un objeto de destino de
un mensaje (en detalle, ejecución de un método de un objeto especificado por un mensaje).
Como se ha mostrado en la Figura 2, la unidad 10 de control de entrega del mensaje está provista con una unidad 12 de almacenamiento de mensaje de objeto (equivalente a los primeros medios de almacenamiento de mensaje) para poner en cola mensajes de objeto desde cada objeto, una unidad 13 de almacenamiento de mensaje de temporizador (equivalente a los segundos medios de almacenamiento de mensaje) para poner en cola mensajes de temporizador desde cada objeto, y una unidad 14 de almacenamiento de bloque de memoria libre para proporcionar bloques de memoria a la unidad 12 de almacenamiento de mensaje de objeto y a la unidad 13 de almacenamiento de mensaje de temporizador para almacenar (poner en cola) el mensaje.
Aquí, la unidad 12 de almacenamiento de mensaje de objeto, la unidad 13 de almacenamiento de mensaje de temporizador, y la unidad 14 de almacenamiento de bloque de memoria libre están incluidas en el área de memoria de la RAM 6, y la capacidad varía dinámicamente. El bloque de memoria corresponde a la capacidad de unidad de las unidades de almacenamiento 12, 13 y 14, y es equivalente a una unidad de capacidad que es capaz de almacenar 1 mensaje.
En detalle, en primer lugar el número predeterminado (por ejemplo, 10) de bloques de memoria ha sido asegurado previamente en la RAM, y en el inicio, todos los bloques de memoria funcionan como la unidad 14 de almacenamiento de bloque de memoria libre. Cuando un mensaje de objeto es generado a partir de un objeto, 1 bloque de memoria que es un componente de la unidad 14 de almacenamiento de bloque de memoria libre es reducido y 1 bloque de memoria que es un componente de la unidad 12 de almacenamiento de mensaje de objeto aumenta en su lugar, y el mensaje de objeto es almacenado (puesto en cola) en el bloque de memoria incremental.
Similarmente, cuando un mensaje de temporizador es generado desde un objeto, 1 bloque de memoria que es un componente de la unidad 14 de almacenamiento de bloque de memoria libre es reducido y 1 bloque de memoria que es un componente de la unidad 13 de almacenamiento de mensaje de temporizador es en cambio aumentado, y el mensaje de temporizador es almacenado en el bloque de memoria incremental.
Por otro lado, cuando un mensaje de objeto es leído desde la unidad 12 de almacenamiento de mensaje de objeto y entregado a un objeto, el bloque de memoria en el que el mensaje de objeto es almacenado es devuelto desde la unidad 12 de almacenamiento de mensaje de objeto a la unidad 14 de almacenamiento de bloque de memoria libre.
Además, como se ha descrito a continuación, un mensaje de temporizador que tiene el contador de temporizador de 0 entre mensajes de temporizador puestos en cola en la unidad 13 de almacenamiento de mensaje de temporizador es vuelto a poner en cola desde la unidad 13 de almacenamiento de mensaje de temporizador a la unidad 12 de almacenamiento de mensaje de objeto como un mensaje de objeto, y el mensaje vuelto a poner en cola es leído desde la unidad 12 de almacenamiento de mensaje de objeto y entregado al objeto correspondiente del mismo modo que en el caso de un mensaje de objeto original generado desde un objeto. Cuando tal mensaje de temporizador es puesto en cola nuevamente, el bloque de memoria en el que se ha almacenado el mensaje de temporizador es transferido a la unidad 12 de almacenamiento de mensaje de objeto.
Por consiguiente, para describir el mecanismo conceptualmente, todos los bloques de memoria asegurados en la RAM 6 están contenidos primero en la unidad 14 de almacenamiento de bloque de memoria libre. Cuando un mensaje de objeto o un mensaje de temporizador es generado desde un objeto, 1 bloque de memoria es entregado (relegado) a la unidad 12 de almacenamiento de mensaje de objeto o a la unidad 13 de almacenamiento de mensaje de temporizador y el mensaje es almacenado en el bloque de memoria entregado. Cuando un mensaje de objeto puesto en cola en la unidad 12 de almacenamiento de mensaje de objeto es entregado al objeto de destino, el bloque de memoria en el que se ha almacenado el mensaje de objeto es devuelto desde la unidad 12 de almacenamiento de mensaje de objeto a la unidad 14 de almacenamiento de bloque de memoria libre para su reutilización.
Un bloque de memoria en el que un mensaje de objeto es almacenado es denominado como un bloque de mensaje de objeto, un bloque de memoria en el que un bloque de mensaje de temporizador es almacenado es denominado como un bloque de mensaje de temporizador, y un bloque de memoria en el que se ha almacenado un mensaje no efectivo es denominado como un bloque de memoria libre en lo que sigue. Como un término que incluye el bloque
de mensaje de objeto, el bloque de mensaje de temporizador, y el bloque de memoria libre, un término “Bloque de memoria” es usado en lo que sigue.
Por otro lado, además, la unidad 10 de entrega de mensaje está provista con una base de datos 16 de información de conexión para especificar el destino de un mensaje de objeto leído desde la unidad 12 de almacenamiento de mensaje de objeto, es decir, para especificar la dirección en la ROM 5 en la que el método de objeto cuyo OID y MID contenidos en el mensaje leído indica está almacenado.
La base de datos 16 de información de conexión comprende una tabla de datos almacenados que correlaciona combinaciones de OID y MID con direcciones de encabezamiento (es decir, dirección de comienzo de ejecución) en la ROM 5 en la que métodos respectivos indicados por medio de combinaciones están almacenados como se ha mostrado en la Figura 3. Por ejemplo, en la tabla de datos mostrada en la Figura 3, el método del objeto que tiene OID de n y MID de m es almacenado en la ROM 5 como la dirección que tiene el encabezamiento de “Anm”. La base de datos 16 de información de conexión que comprende la tabla de datos como se ha descrito antes es almacenada previamente en la ROM 5 junto con objetos.
A continuación, se han descrito la transición de estado y la función de la unidad 10 de entrega de mensaje con referencia a la Figura 4. Aquí, la Figura 4 es un diagrama de transición de estado de la unidad 10 de control de entrega de mensaje. El proceso realizado por la unidad 10 de control de entrega de mensaje descrito a continuación es realmente realizado por operación de la CPU 13 de acuerdo con el método de un objetivo de control de entrega de mensaje almacenado en la ROM 5.
La unidad 10 de control de entrega de mensaje está desactivada como se ha mostrado por (a) en la Figura 4 mientras un conmutador o interruptor de ignición de un vehículo ha sido desactivado y el microordenador del ECU 1 no está en funcionamiento. Cuando, por ejemplo, un conmutador de ignición es cambiado de desactivado a activado
o el microordenador es restablecido, y la inicialización es solicitada, el proceso de inicialización es realizado como se ha mostrado por (b) en la Figura 4, y a continuación la unidad 10 de control de entrega de mensaje es llevada a un estado de espera de mensaje como se ha mostrado por (c) en la Figura 4.
En el proceso de inicialización mostrado por (b) en la Figura 4, como se ha mostrado en la Figura 5, en primer lugar la unidad 12 de almacenamiento de mensaje de objeto y la unidad 13 de almacenamiento de mensaje de temporizador son inicializadas en S50 y S55. En detalle, bloques de memoria libre contenidos por la unidad 12 de almacenamiento de mensaje de objeto y la unidad 13 de almacenamiento de mensaje de temporizador son entregados a la unidad 14 de almacenamiento de bloque de memoria libre. A continuación, la unidad 14 de almacenamiento de bloque de memoria libre es inicializada en S60. En detalle, cuando un mensaje es generado desde un objeto, los bloques de memoria libre contenidos por la unidad 14 de almacenamiento de bloque de memoria libre resultan listos para ser entregados a la unidad 12 de almacenamiento de mensaje de objeto y a la unidad 13 de almacenamiento de mensaje de temporizador.
Después de la terminación de tales procesos de inicialización, la unidad 10 de control de entrega de mensaje es llevada al estado de espera de mensaje.
El estado de espera de mensaje es un estado en el que un objeto generado desde un objeto está listo para ser puesto en cola en la unidad 12 de almacenamiento de mensaje de objeto o en la unidad 13 de almacenamiento de mensaje de temporizador. Cuando se solicita una terminación, por ejemplo, un conmutador de ignición es desactivado en este estado, la unidad 10 de control de entrega de mensaje realiza un proceso de registro en serie como se ha mostrado por (d) en la Figura 4, y a continuación vuelve al estado desactivado como se ha descrito antes.
En el proceso de registro en serie mostrado por (d) en la Figura 4, como se ha mostrado en la Figura 6, los datos almacenados en la unidad 12 de almacenamiento de mensaje de objeto y la unidad 13 de almacenamiento de mensaje de temporizador son evacuados a la RAM de copia de seguridad en S70 y S75 respectivamente, y a continuación los datos almacenados en la unidad 14 de almacenamiento de bloque de memoria libre son evacuados a la RAM de copia de seguridad en S80. Después de la terminación del proceso de registro en serie como se ha descrito antes, la unidad 10 de control de entrega de mensaje es llevada al estado de desactivada.
Por otro lado, cuando un mensaje de objeto es generado desde un objeto en estado de espera de mensaje, la unidad 10 de control de entrega de mensaje realiza el proceso de puesta en cola como se ha mostrado por (e) en la Figura 4 de modo que pone en cola el mensaje procedente del objeto en la unidad 12 de almacenamiento de mensaje de objeto, y vuelve al estado de espera de mensaje.
En el presente invento, un mensaje de objeto es generado en respuesta a la generación de una solicitud de transmisión de mensaje por el objeto. En la descripción siguiente, el mensaje de objeto que tiene un OID de n (= 1,
2, ...) y un MID de m (= 1, 2, ...) como el contenido del mensaje es denominado como “Mensaje de objeto (n, m)”
particularmente, y la solicitud de transmisión de mensaje para generación del mensaje de objeto (n, m) es
denominada como “solicitud de transmisión de mensaje (n, m)”.
En el proceso de puesta en cola del mensaje realizado cuando un objeto genera un mensaje de objeto (solicitud de transmisión de mensaje), como se ha mostrado en la Figura 7, en primer lugar si un bloque de memoria libre puede ser adquirido desde la unidad 14 de almacenamiento de bloque de memoria libre (es decir, si hay algún bloque de memoria libre en la unidad 14 de almacenamiento de bloque de memoria libre) es comprobado en S100. Si un bloque de memoria libre puede ser adquirido, entonces el bloque de memoria libre situado en el encabezamiento entre bloques de memoria, es decir, el bloque de memoria libre que es puesto en cola en primer lugar entre bloques de memoria libre puestos en cola en la unidad 14 de almacenamiento de bloque de memoria libre, es adquirido.
El mensaje de objeto generado ahora desde el objeto es almacenado en el bloque de memoria libre adquirido como se ha descrito antes en S120. En detalle, el contenido del mensaje de objeto es decir, OID y MID u OID, MID, y el argumento adicional es almacenado en el bloque de memoria libre.
En el S130 subsiguiente, el bloque de memoria en el que se ha almacenado el mensaje de objeto en S120 es puesto en cola en la unidad 12 de almacenamiento de mensaje de objeto. En otras palabras, el bloque de memoria en el que se ha almacenado el mensaje de objeto es registrado en la cola del bloque de mensaje de objeto en la unidad 12 de almacenamiento de mensaje de objeto como un bloque de mensaje de objeto. Después del proceso en S130, el proceso de poner en cola el mensaje es terminado.
Si no puede adquirirse un bloque de memoria libre en S100 (es decir, no hay bloque de memoria libre en la unidad 14 de almacenamiento de bloque de memoria libre), entonces un mensaje de error es enviado al método del objeto que ha generado la solicitud de transmisión de mensaje, y un proceso de seguridad contra fallos es por ello realizado.
Cuando se realiza el proceso de poner en cola un mensaje, el bloque E1 de memoria libre de encabezamiento es seleccionado de entre los bloques de memoria libre E1 a Em en la unidad 14 de almacenamiento de bloque de memoria libre como se ha mostrado en la Figura 8A con un rayado y el bloque de memoria libre E1 es adquirido como se ha mostrado en la Figura 8B (S100: SI, S110).
El contenido del mensaje de objeto generado ahora desde el objeto es almacenado en el bloque de memoria libre adquirido E1 (S120) como se ha mostrado en la Figura 8C, y finalmente el bloque de memoria E1 en el que es almacenado el contenido del mensaje de objeto es registrado después de los bloques de mensaje de objeto M1 a Mn en la unidad 12 de almacenamiento de mensaje de objeto como el bloque de mensaje de objeto Mn+1 (S130) como se ha mostrado en la Figura 8D, y la puesta en cola del mensaje de objeto en la unidad 12 de almacenamiento de mensaje de objeto es llevada a un final.
En este estado, el bloque de mensaje de objeto M en la unidad 12 de almacenamiento de mensaje de objeto aumenta en 1, y en cambio el bloque de memoria libre E en la unidad 14 de almacenamiento de bloque de memoria libre disminuye en 1 como se ha mostrado en la Figura 8D. Como se ha mostrado en la Figura 8D entre paréntesis, el segundo bloque de memoria libre de encabezamiento E2 en la unidad 14 de almacenamiento de bloque de memoria libre resulta el bloque de memoria libre de encabezamiento E1, y el bloque de memoria libre Em situado en la posición e-mésima resulta inicialmente el bloque (m-1)-ésimo de memoria libre Em-1.
Por otro lado, a continuación la unidad 10 de control de entrega de mensaje es llevada al estado de entrega de mensaje como se ha mostrado por (g) en la Figura 4 cuando el objeto genera una solicitud de entrega de mensaje como se ha mostrado por (f) en la Figura 4 en el estado de espera de recepción de mensaje.
En el estado de entrega de mensaje, como se ha mostrado por (h) en la Figura 4, si hay un mensaje de objeto puesto en cola en la unidad 12 de almacenamiento de mensaje de objeto, entonces el proceso de entrega de mensaje descrito a continuación es realizado. El mensaje de objeto puesto en cola es entregado (es decir, ejecución del método de objeto especificado por medio del mensaje de objeto). Por otro lado, si no hay mensaje de objeto puesto en cola en la unidad 12 de almacenamiento de mensaje de objeto como se ha mostrado por (i) en la Figura 4, entonces la secuencia vuelve al estado de recepción de mensaje.
En el estado de entrega de mensaje, cuando el objeto en ejecución genera una solicitud de transmisión de mensaje (mensaje de objeto), el proceso de poner en cola el mensaje mostrado en la Figura 7 es realizado como se ha mostrado por (j) en la Figura 4 del mismo modo que es realizado en el estado de espera de recepción de mensaje.
Como se ha mostrado en la Figura 9, el proceso de entrega de mensaje es realizado cuando un objeto genera una solicitud de entrega de mensaje o cuando la ejecución del método de un objeto es completada, en primer lugar en S210, se comprueba si hay algún mensaje de objeto puesto en cola en la unidad 12 de almacenamiento de mensaje de objeto (es decir, un bloque de mensaje de objeto puede ser adquirido desde la unidad 12 de almacenamiento de mensaje de objeto). Si hay un mensaje de objeto puesto en cola, entonces el bloque de mensaje de objeto puesto en cola en primer lugar fuera de los bloques de mensaje de objeto puestos en cola en la unidad 12 de almacenamiento de mensaje de objeto, es adquirido, y el contenido del mensaje (OID y MID) almacenado en el bloque de mensaje de objeto es leído.
A continuación, en S230, el bloque de mensaje de objeto adquirido en el S220 es registrado en la cola de bloques de memoria libre en la unidad 14 de almacenamiento de bloque de memoria libre como un bloque de memoria libre.
En el S240 subsiguiente, la dirección de encabezamiento (dirección de comienzo de ejecución) de la ROM 5 en la que el método del objeto que corresponde a OID y MID es decir, el contenido del mensaje leído en S220 es averiguado por medio de la recuperación de la base de datos 16 de información de conexión, y la dirección de comienzo de ejecución averiguado en el S240 es llamada en el S250 subsiguiente.
A continuación, el objetivo de ejecución del programa realizado por la CPU 3 es transferido al encabezamiento del método del objeto correspondiente al contenido del mensaje leído en S220, y el mensaje de objeto es así entregado. Después de la terminación de la ejecución del proceso del método, el proceso de entrega de mensaje es realizado de nuevo desde el S210.
Si se ha encontrado que no hay mensaje de objeto puesto en cola en la unidad 12 de almacenamiento de mensaje de objeto en el S210 (es decir, un bloque de mensaje de objeto no puede ser adquirido desde la unidad 12 de almacenamiento de mensaje de objeto), entonces la secuencia vuelve al estado de espera de recepción de mensaje como lo que es.
Por consiguiente, cuando el proceso de entrega de mensaje es realizado, el bloque M1 de mensaje de objeto de encabezamiento es seleccionado de entre los bloques de mensaje de objeto M1 a Mn en la unidad 12 de almacenamiento de mensaje de objeto como se ha mostrado en la Figura 10A. Como se ha mostrado en la Figura 10B, el bloque M1 de mensaje de objeto es adquirido, y el contenido de mensaje almacenado en el bloque M1 de mensaje de objeto es leído (S210: SI, S220).
Además, como se ha mostrado en la Figura 10C, el bloque M1 de mensaje de objeto es registrado (S230) en la cola de los bloques de memoria libre E1 a Em en la unidad 14 de almacenamiento de bloque de memoria libre como el bloque de memoria libre Em+1 después de que se haya leído el contenido del mensaje, y la ejecución del método del objeto correspondiente al contenido de mensaje leído desde el bloque de mensaje de objeto M1 es iniciada.
Además, en este estado, como se ha mostrado en la Figura 10, el bloque de memoria libre E en la unidad 14 de almacenamiento de bloque de memoria libre aumenta en 1, y en cambio el bloque M de mensaje de objeto en la unidad 12 de almacenamiento de mensaje de objeto disminuye en 1. Como se ha mostrado en la Figura 10C entre paréntesis, el bloque M2 de mensaje de objeto situado en la segunda posición delantera en la unidad 12 de almacenamiento de mensaje de objeto resulta el bloque M1 de mensaje de objeto de encabezamiento, y el bloque Mn de mensaje de objeto situado inicialmente en la posición enésima resulta el bloque (n-1)-ésimo de mensaje de objeto Mn-1.
Por otro lado, además la unidad 10 de entrega de mensaje realiza el proceso de poner en cola el mensaje de temporizador como se ha mostrado por (k) en la Figura 4 cuando un objeto genera un mensaje de temporizador en el estado de espera de recepción de mensaje para poner en cola el mensaje de temporizador generado desde el objeto en la unidad 13 de almacenamiento de mensaje de temporizador, y a continuación vuelve al estado de espera de recepción de mensaje. La unidad 10 de control de entrega de mensaje realiza el proceso de poner en cola el mensaje de temporizador como se ha mostrado por (1) en la Figura 4 cuando un objeto en ejecución genera un mensaje de temporizador en el estado de entrega de mensaje como en el caso del estado de espera de recepción de mensaje, y pone en cola el mensaje de temporizador generado desde el objeto en la unidad 13 de almacenamiento de mensaje de temporizador.
En la realización actual, un objeto genera una solicitud de transmisión de mensaje de temporizador para provocar la generación de un mensaje de temporizador. En la descripción presentada a continuación, el mensaje de temporizador que tiene el contenido de mensaje de OID de n (= 1, 2, ...) y MID de m (= 1, 2, ...) y que tiene el contador de temporizador de P (= P1, P2, ..., en el que P1, P2, ... son enteros) es denominado como “mensaje de temporizador (n, m, P)” particularmente, y la solicitud de transmisión del mensaje de temporizador para generación del mensaje de temporizador (n, m, P) es denominada como “solicitud de transmisión de mensaje de temporizador (n, m, P)”.
En el proceso de poner en cola el mensaje de temporizador realizado cuando un objeto genera un mensaje de temporizador (solicitud de transmisión de mensaje de temporizador), como se ha mostrado en la Figura 11, se comprueba si puede adquirirse un bloque de memoria libre desde la unidad 14 de almacenamiento de bloque de memoria libre (es decir, si hay un bloque de memoria libre en la unidad 14 de almacenamiento de bloque de memoria libre) en S300. Si puede adquirirse un bloque de memoria libre, entonces el bloque de memoria libre de encabezamiento entre bloques de memoria libre es adquirido en el S300 subsiguiente.
A continuación en S320, el mensaje de temporizador generado desde el objeto es almacenado ahora en el bloque de memoria libre adquirido. En detalle, el contenido del mensaje de temporizador es decir, OID, MID, y el contador de temporizador, o argumento adicional son almacenados en el bloque de memoria libre.
En el S339 subsiguiente, el bloque de memoria en el que el mensaje de temporizador es almacenado en el S320 es puesto en cola en la unidad 13 del mensaje de temporizador. En otras palabras, el bloque de memoria en el que el mensaje de temporizador es almacenado es registrado en la cola del bloque de mensaje de temporizador como un bloque de mensaje de temporizador en la unidad 13 de almacenamiento de mensaje de temporizador. Después del tratamiento en S330, el proceso de poner en cola el mensaje de temporizador es terminado.
Si se ha encontrado que un bloque de memoria libre no puede ser adquirido, entonces un error de mensaje es enviado al método del objeto que genera la solicitud de transmisión de mensaje de temporizador, y por ello es realizado un proceso de seguridad predeterminado.
Por consiguiente, cuando el proceso de poner en cola el mensaje de temporizador es realizado, el bloque E1 de memoria libre delantero es seleccionado de entre los bloques de memoria libre E1 a Em en la unidad 14 de almacenamiento de bloque de memoria libre como se ha mostrado en la Figura 12A con rayado, y el bloque de memoria libre E1 es adquirido como se ha mostrado en la Figura 12B (S300: SI, S310).
Como se ha mostrado en la Figura 12C, el contenido del mensaje de temporizador generado esta vez desde el objeto es almacenado en el bloque E1 de memoria libre adquirido (S320), y finalmente como se ha mostrado en la Figura 12D, el bloque de memoria E1 en el que el contenido del mensaje de temporizador es almacenado es registrado en la cola de bloques de mensaje de temporizador T1 a Tn en la unidad 13 de almacenamiento de mensaje de temporizador como el bloque de mensaje de temporizador Tn+1 (S330), y el proceso de poner en cola el mensaje de temporizador en la unidad 13 de almacenamiento de mensaje de temporizador es terminado.
En este estado, como se ha mostrado en la Figura 12D, el bloque T de mensaje de temporizador aumenta en 1 en la unidad 13 de almacenamiento de mensaje de temporizador, y en cambio el bloque E de memoria libre en la unidad 14 de almacenamiento de bloque de memoria libre disminuye en 1. Como se ha mostrado en la Figura 12D entre paréntesis, el bloque de memoria libre E2 situado inicialmente en la segunda posición en la unidad 14 de almacenamiento de bloque de memoria libre es desplazado al bloque E1 de memoria libre de encabezamiento, y el bloque de memoria libre Em inicialmente situado en la posición e-mésima es desplazado al bloque (m-1)-ésimo de memoria libre Em-1.
Por otro lado, la unidad 10 de control de entrega de mensaje realiza el proceso de reloj de temporizador como se ha mostrado por (m) en la Figura 4 cuando la unidad 10 de control de entrega de mensaje recibe una solicitud de reloj de temporizador en el estado de espera de recepción de mensaje, y a continuación vuelve al estado de espera de recepción de mensaje. Además la unidad 10 de control de entrega de mensaje realiza el proceso de reloj de temporizador como se ha mostrado por (n) en la Figura 4 cuando la unidad 10 de control de entrega de mensaje recibe una solicitud de reloj de temporizador también en el estado de entrega de mensaje.
En la realización actual, la solicitud de reloj de temporizador es generada como un aviso para indicar la generación de un evento de un paso de un tiempo t predeterminado desde un objeto de temporizador que es activado cada tiempo t predeterminado (por ejemplo, 1ms) como un proceso de interrupción. La solicitud de reloj de temporizador generada como el evento puede ser, por ejemplo, el borde ascendente o el borde descendente de una señal de reloj suministrada desde el exterior a la CPU 3.
En el proceso de reloj de temporizador realizado de modo correspondiente a la solicitud de reloj de temporizador cada tiempo t predeterminado, se comprueba en S400 si hay algún mensaje de temporizador que ha de ser tratado en la unidad 13 de almacenamiento de mensaje de temporizador como se ha mostrado en la Figura 13.
En S400, en el caso de que no haya bloque de mensaje de temporizador que constituya la unidad 13 de almacenamiento de mensaje de temporizador (es decir, en el caso de que no haya mensaje de temporizador puesto en cola en la unidad 13 de almacenamiento de mensaje de temporizador) o en el caso de que, aunque haya algunos bloques de mensaje de temporizador que constituyen la unidad 13 de almacenamiento de mensaje de temporizador, todos los bloques de mensaje de temporizador han sido sometidos ya a los procesos S410 y S420 descritos aquí a continuación, la unidad 13 de almacenamiento de mensaje de temporizador es determinada como que no tiene ningún mensaje de temporizador que ha de ser tratado.
Si se ha encontrado que no hay mensaje de temporizador para ser procesado en la unidad 13 de almacenamiento de mensaje de temporizador en el S400, a continuación el proceso de reloj de temporizador es terminado, por otro lado si se ha encontrado que hay un mensaje de temporizador que ha de ser procesado en la unidad 13 de almacenamiento de mensaje de temporizador en el S400, a continuación la secuencia procede a S410, uno de los bloques de mensaje de temporizador que constituye la unidad 13 de almacenamiento de mensaje de temporizador es establecido como el objetivo de tratamiento en este proceso, y el contador de temporizador del mensaje de temporizador está almacenado en el bloque de mensaje de temporizador de objetivo del proceso es restado por 1. En S410, el bloque de mensaje de temporizador en la unidad 13 de almacenamiento de mensaje de temporizador es establecido como el objetivo de tratamiento desde el encabezamiento sucesivamente cada vez que el proceso S410 es realizado en un proceso de reloj de tiempo.
A continuación en S420, se comprueba si el contador de temporizador alcanza un 0 después de la sustracción de 1 en el S410, y si se ha encontrado que el contador de temporizador ha alcanzado 0, a continuación la secuencia prosigue a S430, el mensaje de temporizador almacenado en el bloque de mensaje de temporizador objetivo de tratamiento (es decir, el mensaje de temporizador con el contador de temporizador que ha alcanzado 0 por medio de sustracción de 1 en S410) es vuelto a poner en cola en la unidad 12 de almacenamiento de mensaje de objeto como un mensaje de objeto.
En detalle, el bloque de mensaje de temporizador objetivo de tratamiento es transferido desde la unidad 13 de almacenamiento de mensaje de temporizador a la unidad 12 de almacenamiento de mensaje de objeto, en ese instante, el bloque de mensaje de temporizador objetivo de tratamiento es registrado en la cola del bloque de mensaje de objeto en la unidad 12 de almacenamiento de mensaje de objeto. En este caso, debido a que el contador de temporizador no es citado en el proceso de entrega de mensaje mostrado en la Figura 9, el bloque de mensaje de temporizador puede ser transferido a la unidad 12 de almacenamiento de mensaje de objeto como un bloque de mensaje de objeto que es lo que es. Un contador de temporizador innecesario de 0 puede ser borrado del bloque de mensaje de temporizador que ha de ser transferido a la unidad 12 de almacenamiento de mensaje de objeto.
Después de que el proceso S420 haya sido realizado, o si se ha encontrado que el contador de temporizador después de sustracción de 1 no alcanza 0 en el S420, la secuencia vuelve a S400.
Por consiguiente, cuando el proceso de reloj de temporizador es realizado, los bloques de mensaje de temporizador puestos en cola en la unidad 13 de almacenamiento de mensaje de temporizador son ajustados sucesivamente desde el bloque de mensaje de temporizador puesto en cola en primer lugar y el contador de temporizador del mensaje de temporizador almacenado en cada bloque de mensaje de temporizador es sustraído en 1 (S410), como resultado los contadores de temporizador respectivos de mensajes de temporizador puestos en cola en la unidad 13 de almacenamiento de mensaje de temporizador son sustraídos uno por uno cada tiempo t predeterminado cuando el proceso de reloj de temporizador es realizado.
Durante el proceso descrito más arriba, por ejemplo, como se ha mostrado en la Figura 14A con un rayado, cuando el contador de temporizador del mensaje de temporizador almacenado en el bloque Te de mensaje de temporizador situado en la posición e-ésima del encabezamiento entre los bloques de mensaje de temporizador T1 a Tn es llevado a 0 por sustracción de 1, el bloque Te de mensaje de temporizador es retirado de la unidad 13 de almacenamiento de mensaje de temporizador y registrado en la cola de los bloques de mensaje de objeto M1 a Mn en la unidad 12 de almacenamiento de mensaje de objeto como el bloque de mensaje de objeto Mn+1 como se ha mostrado en la Figura 14B y en la Figura 14C (S420: SI, S430). En este estado, como se ha mostrado en la Figura 14C, el bloque M de mensaje de objeto aumenta en 1 en la unidad 12 de almacenamiento de mensaje de objeto, y en cambio el bloque T de mensaje de temporizador disminuye en 1 en la unidad 13 de almacenamiento de mensaje de temporizador.
Como resultado, los contadores de temporizador respectivos de los mensajes de temporizador puestos en cola en la unidad 13 de almacenamiento de mensaje de temporizador son sustraídos de 1 cada instante t predeterminado, y el mensaje de temporizador con el contador de temporizador que ha alcanzado 0 es vuelto a poner en cola (almacenado) desde la unidad 13 de almacenamiento de mensaje de temporizador a la unidad 12 de almacenamiento de mensaje de objeto.
El mensaje de temporizador vuelto a poner en cola como un mensaje de objeto es entregado por medio del proceso de entrega de mensaje mostrado en la Figura 9 casi como un mensaje de objeto original generado a partir de un objeto, y el método del objeto especificado por OID y MID del mensaje es ejecutado.
Cuando un mensaje de temporizador (x, y, Pz) es generado desde un objeto y el mensaje de temporizador (x, y, Pz) es puesto en cola en la unidad 13 de almacenamiento de mensaje de temporizador por medio del proceso de poner en cola el mensaje de temporizador mostrado en la Figura 11, después de haber transcurrido el tiempo (= t x Pz) equivalente al contador de temporizador Pz del mensaje de temporizador (x, y, Pz), el método y el objeto x especificado por OID y MID del mensaje de temporizador (x, y, Pz) es ejecutado.
Por otro lado, cuando un objeto genera una solicitud de borrado del mensaje de temporizador como una solicitud de borrado en el estado de espera de recepción de mensaje, la unidad 10 de control de entrega de mensaje realiza el proceso de borrado del mensaje de temporizador como se ha mostrado por (o) en la Figura 4 para borrar el mensaje de temporizador correspondiente a la solicitud de borrado del mensaje de temporizador de la unidad 13 de almacenamiento de mensaje de temporizador, y a continuación vuelve al estado de espera de recepción de mensaje. Además, también cuando el objeto en ejecución genera una solicitud de borrado de mensaje de temporizador en el estado de entrega del mensaje, la unidad 10 de control de entrega de mensaje realiza el proceso de borrado de mensaje de temporizador como se ha mostrado por (p) en la Figura 4 como en el estado de espera de recepción de mensaje para borrar el mensaje de temporizador correspondiente a la solicitud de borrado del mensaje de temporizador de la unidad 13 de almacenamiento de mensaje de temporizador.
Una solicitud de borrado de mensaje de temporizador generada por un objeto contiene OID y MID para especificar un mensaje de temporizador que ha de ser borrado. En la descripción descrita a continuación, una solicitud de borrado del mensaje de temporizador para borrar el mensaje de temporizador (n, m, P) que tiene OID de n (=1, 2, ...) y MID de m (=1, 2, ...) como el contenido del mensaje es denominada como “solicitud de borrado del mensaje de temporizador (n, m)”.
En el proceso de borrado del mensaje de temporizador cuando un objeto genera una solicitud de borrado del mensaje de temporizador, como se ha mostrado en la Figura 15, en primer lugar en S500, el borrado del mensaje de temporizador de objetivo que es coincidente con OID y MID de la solicitud de borrado del mensaje de temporizador generada desde el objeto es encontrado en la unidad 13 de almacenamiento del mensaje de temporizador.
A continuación en S510, se comprueba si hay un borrado del mensaje de temporizador de objetivo en la unidad 13 de almacenamiento del mensaje de temporizador, y si se ha encontrado que no hay borrado de mensaje de temporizador de objetivo, a continuación el proceso de borrado del mensaje de temporizador es terminado, por otro lado si se ha encontrado que hay un borrado de mensaje de temporizador de objetivo, a continuación la secuencia continúa a S520, el contenido almacenado del bloque del mensaje de temporizador que contiene el borrado del mensaje de temporizador de objetivo entre los bloques del mensaje de temporizador en la unidad 13 de almacenamiento de mensaje de temporizador es borrado.
En el S530 subsiguiente, el bloque del mensaje de temporizador desde el que se ha borrado el contenido almacenado en S520 es registrado en la cola de los bloques de memoria libre en la unidad 14 de almacenamiento de bloque de memoria libre, y a continuación el proceso de borrado del mensaje de temporizador es terminado.
Como resultado, por ejemplo, como se ha mostrado en la Figura 16A con un rayado, en el caso de que el mensaje de temporizador (x, y, Pz) está almacenado en el bloque Tg del mensaje de temporizador situado en la posición gésima del encabezamiento entre bloques de mensaje de temporizador T1 a Tn en la unidad 13 de almacenamiento de mensaje de temporizador, cuando cualquiera de los objetos genera una solicitud de borrado del mensaje de temporizador (x, y), el contenido almacenado del bloque Tg del mensaje de temporizador situado en la posición gésima del encabezamiento es borrado por medio de los procesos S500 a 520.
Como se ha mostrado en la Figura 16B y en la Figura 16C, el bloque Tg del mensaje de temporizador del que se ha borrado el contenido almacenado es retirado de la unidad 13 de almacenamiento del mensaje de temporizador y registrado en la cola de los bloques de memoria libre E1 a Em en la unidad 14 de almacenamiento del bloque de memoria libre como el bloque de memoria libre Em+1 por medio del proceso S530. En este estado, como se ha mostrado en la Figura 16C, el bloque de memoria libre E en la unidad 14 de almacenamiento del bloque de memoria libre aumenta en 1, y en cambio el bloque T del mensaje de temporizador en la unidad 13 de almacenamiento del mensaje de temporizador disminuye en 1.
Como resultado, cuando la solicitud de borrado del mensaje de temporizador (x, y) es generada desde cualquiera de los objetos, el mensaje de temporizador (x, y, Pz) que corresponde a la solicitud de borrado del mensaje de temporizador (x, y) es borrado de la unidad 13 de almacenamiento del mensaje de temporizador como se ha descrito antes, por ello incluso aunque el tiempo (= t x Pz) equivalente al contador Pz del temporizador del mensaje de temporizador (x, y, Pz) transcurra después de que se haya generado el mensaje de temporizador (x, y, Pz) desde cualquiera de los objetos, el método y del objeto x especificado por OID y MID del mensaje de temporizador (x, y, Pz) no es ejecutado.
Para describir más claramente la unidad 10 de control de entrega del mensaje, el detalle de comunicación de mensaje de objetos OB1 a OB3 entre estos objetos mostrados en la Figura 2 y el detalle de control de la comunicación de datos entre el ECU 1 y el probador 8 han sido descritos con referencia a las Figuras 17 a 28.
En primer lugar, una regla mostrada en la Figura 17 es enmarcada para comunicación entre el ECU 1 y el probador
8.
En detalle, primero el probador 8 transmite un mensaje de solicitud a ECU 1 como una solicitud de datos. El ECU 1 transmite los datos de respuesta que contienen la información correspondiente al mensaje de solicitud recibido (velocidad de rotación de un motor, temperatura de agua refrigerante del motor, o similar) como el mensaje de respuesta una cantidad predeterminada en un tiempo (1 byte por 1 byte en la presente realización) para el probador 8 después de que haya transcurrido el tiempo t2 desde la recepción del mensaje de solicitud del probador 8, en ese momento el ECU 1 transmite sucesivamente bytes de mensaje de respuesta del mismo tipo con un intervalo de tiempo t1 o mayor. La Figura 17 muestra un caso en el que la cantidad total de datos del mensaje de respuesta es de 2 bytes.
El probador 8 transmite el siguiente mensaje de solicitud al ECU 1 después de que haya transcurrido el tiempo t3 o mayor desde la recepción de todos los bytes de datos de respuesta desde el ECU 1. Además, el probador 8 transmite un mensaje de solicitud de nuevo si un mensaje de respuesta no es devuelto desde el ECU 1 dentro del tiempo t3 desde la transmisión del mensaje de solicitud al ECU 1.
Se ha definido que el tiempo t2 es mayor que el tiempo t1, y el tiempo t3 es mucho mayor que el tiempo t1 y el tiempo t2. P1, P2, y P3 descritos entre paréntesis en la Figura 17 son enteros (P1=t1/t, P2=t2/t, P3=t3/t) obtenidos dividiendo los tiempos t1, t2, y t3 por el período de generación t (es decir, el período del proceso de reloj de temporizador mostrado en la Figura 13 realizado por la unidad 10 de control de entrega del mensaje) de la solicitud de reloj de temporizador.
A continuación, se ha descrito el esquema del proceso realizado por objetos OB1 a OB3 mostrado en la Figura 2 con referencia a las gráficas de secuencia de mensaje mostradas en la Figura 18 y en la Figura 19. Aquí, se ha descrito un caso ejemplar en el que el ECU 1 devuelve unos datos de velocidad de rotación del motor al probador 8 como un mensaje de respuesta correspondiente a un mensaje de solicitud transmitido desde el probador 8. La Figura 19 es una gráfica de secuencia de mensaje correspondiente al proceso de transmisión de mensaje de respuesta en los recuadros hexagonales en la Figura 18. En la Figura 18 y en la Figura 19, (2, 1) y (1, 1) representan el contenido (es decir, el valor OID y el valor MID) de un mensaje de objeto (n, m) generado a partir de los objetos OB1 a OB3, y (2, 1, P3) y (2, 3, P2) representa el contenido (es decir, valor OID, valor MID, y valor del contador del temporizador) de un mensaje de temporizador (n, m, P) generado a partir de los objetos OB1 a OB3.
En primer lugar, cuando un mensaje de solicitud de espera de recepción es enviado al objeto gestor de comunicación OB2 como se ha mostrado por [1] en la Figura 18, el objeto gestor de comunicación OB2 opera (es decir, la CPU3 ejecuta el método del objeto gestor de comunicación OB2) para establecer el circuito de comunicación 7 y la interfaz de comunicación en serie en el microordenador de modo que esté listo para recibir los datos desde el probador 8.
Un mensaje de solicitud de espera de recepción es generado como un resultado del proceso en el que un mensaje de temporizador (2, 1, P3), que será descrito más adelante, es entregado como un mensaje de objeto (2, 1) por medio de la operación del proceso de entrega de mensaje (Figura 9) y del proceso de reloj de temporizador (Figura 13) de la unidad 10 de control de entrega del mensaje.
Después de ese tiempo, cuando un mensaje de solicitud es transmitido desde el probador 8 y el mensaje de solicitud es almacenado en el registro de recepción en el microordenador, un mensaje de solicitud de proceso de recepción es enviado desde un objeto predeterminado distinto de los objetos OB1 a OB3 al objeto gestor de la comunicación OB2 como se ha mostrado por [2] en la Figura 18.
A continuación, el objeto gestor de la comunicación OB2 convierte los datos recibidos en el registro de recepción (es decir, el mensaje de solicitud suministrado desde el probador 8) en los datos que se pueden tratar en el microordenador, y activa el temporizador P2 para contar el tiempo t2 y el temporizador P3 para contar el tiempo t3.
El temporizador P2 es activado generando un mensaje de temporizador (en el ejemplo actual, mensaje de temporizador (2, 3, P2)) con un valor de contador de temporizador de un número entero P2 (=t2/t) obtenido dividiendo el tiempo t2 por el período de generación t de la solicitud de reloj de temporizador, y de manera similar el temporizador P3 es activado generando un mensaje de temporizador (en el ejemplo actual, mensaje de temporizador (2, 1, P3)) con un valor de contador de temporizador de un número entero P3 (=t3/t) obtenido dividiendo el tiempo t3 por el período de generación t de la solicitud de reloj de temporizador.
Además, el objeto gestor de la comunicación OB2 envía un mensaje de aviso de recepción de un mensaje de solicitud al objeto de servicio OB1 como se ha mostrado por [3] en la Figura 18. En ese instante, el objeto de servicio OB1 opera para enviar una solicitud de adquisición de velocidad de rotación al objeto sensor de rotación OB3 como se ha mostrado por [4] en la Figura 18.
Simultáneamente con la generación del mensaje de adquisición de velocidad de rotación, el objeto sensor de rotación OB3 opera primero para averiguar la velocidad de rotación del motor basándose en una señal suministrada desde el sensor de rotación, y a continuación envía un mensaje de solicitud de almacenamiento de velocidad de rotación al objeto de servicio OB1 como se ha mostrado por [5] en la Figura 18.
A continuación, el objeto de servicio OB1 almacena los datos de velocidad de rotación del motor averiguados por el objeto OB3 de sensor de rotación (en este ejemplo, 2 bytes) en un área específica de la RAM 6. En este estado, cuando el tiempo t2 transcurre desde la activación del temporizador P2, un mensaje de solicitud de inicio de respuesta es enviado al objeto OB2 gestor de la comunicación como se ha mostrado por [6] en la Figura 18, y el objeto OB2 gestor de la comunicación y el objeto de servicio OB1 realiza el proceso de transmisión del mensaje de respuesta para transmitir el mensaje de respuesta por 1 byte al probador 8. En ese instante, el mensaje de solicitud de inicio de respuesta es generado como un resultado del proceso en el que el mensaje de temporizador (2, 3, P2), que será descrito después, es entregado como el mensaje de objeto (2, 3) por medio de la operación del proceso de entrega del mensaje (Figura 9) y el proceso de reloj de temporizador (Figura 13) de la unidad 10 de control de entrega del mensaje.
En el proceso de transmisión del mensaje de respuesta, en primer lugar el objeto OB2 gestor de la comunicación opera simultáneamente con el mensaje de solicitud de inicio de respuesta para enviar un mensaje de solicitud de adquisición del mensaje de respuesta al objeto de servicio OB1 como se ha mostrado por [9] en la Figura 19. A continuación, el objeto de servicio OB1 opera para leer los datos de velocidad de rotación del motor por 1 byte desde el área específica de la RAM 6, y envía un mensaje de solicitud de transmisión de datos al objeto OB2 gestor de la comunicación OB2 como se ha mostrado por [10] en la Figura 19. De manera simultánea con la generación del mensaje de solicitud de transmisión de datos, el objeto gestor de la comunicación OB2 opera para almacenar los datos de velocidad de rotación del motor de 1 byte leídos desde la RAM 6 por el objeto de servicio OB1 que ha sido invertido a los datos que se pueden recibir para el probador 8, y a continuación transmite datos de 1 byte en el registro de transmisión al probador 8.
El objeto de servicio OB1 lee los datos de velocidad de rotación del motor sucesivamente desde el primer byte en el encabezamiento del área específica de la RAM 6 cada vez que el objeto de servicio OB1 opera de manera simultánea con la generación del mensaje de solicitud de adquisición de mensaje de respuesta. Como resultado, 1 byte del mensaje de respuesta (datos de velocidad de rotación del motor) es transmitido desde el ECU 1 al probador 8 cada vez que el proceso de transmisión de mensaje de respuesta es realizado.
Aquí, el primer byte del mensaje de respuesta es transmitido al probador 8 cuando el primer proceso de transmisión del mensaje de respuesta es realizado, en ese momento el objeto OB2 gestor de la comunicación transmite el primer 1 byte del mensaje de respuesta al probador 8 y a continuación activa P1 para contar el tiempo t1 como se ha mostrado en la Figura 18. El temporizador P1 es activado generando un mensaje de temporizador (en este ejemplo, el mensaje de temporizador (2, 3, P1) con el valor del contador del temporizador que es un número entero P1 (=t1/t) obtenido dividiendo el tiempo t1 por el período t de generación de la solicitud del reloj de temporizador.
Después del tiempo t1 de activación del P1, un mensaje de solicitud de inicio de respuesta es enviado de nuevo al objeto OB2 gestor de la comunicación como se ha mostrado por [7] en la Figura 18, y el objeto OB2 gestor de la comunicación y el objeto de servicio OB1 realizan el segundo proceso de transmisión del mensaje de respuesta. Un mensaje de solicitud de inicio de respuesta usado en ese instante es generado como un resultado del proceso en el que un mensaje de temporizador (2, 3, P1), que será descrito después, es entregado como un mensaje de objeto (2, 3) por medio de la operación del proceso de entrega de mensaje (Figura 9) y el proceso de reloj del temporizador (Figura 13) de la unidad 10 de control de entrega de mensaje.
Por consiguiente, el objeto OB2 gestor de la comunicación transmite el segundo byte del mensaje de respuesta al probador 8. El objeto OB2 gestor de la comunicación activa otra vez el temporizador P3 para contar el tiempo t3 después de la transmisión del segundo byte del mensaje de respuesta.
A continuación, después del transcurso del tiempo t3 desde la reactivación del temporizador P3, como se ha mostrado por [8] en la Figura 18, un mensaje de solicitud de espera de recepción es enviado al objeto OB2 gestor de la comunicación como en el caso de [1] en la Figura 18. De manera simultánea con la generación del mensaje de solicitud de espera de recepción, el objeto OB2 gestor de la comunicación opera para ajustar el circuito de comunicación 7 y la interfaz de comunicación en serie en el microordenador de modo que estén listos para la recepción.
Por otro lado, en el caso de que el mensaje de respuesta no sea transmitido dentro del tiempo t3 desde la primera activación del temporizador P3 por alguna razón, un mensaje de solicitud de espera de recepción es enviado al objeto OB2 gestor de la comunicación. El objeto OB2 gestor de la comunicación opera en respuesta al mensaje de solicitud de espera de recepción para ajustar el circuito de comunicación 7 y la interfaz de comunicación en serie de modo que estén listos para la recepción.
El temporizador P2 es activado cuando el mensaje de solicitud es recibido desde el probador 8 y después del transcurso del tiempo t2 desde ese momento el primer byte del mensaje de respuesta es transmitido (es decir, comienza la transmisión del mensaje de respuesta), porque el ECU 1 debe transmitir el mensaje de respuesta después del transcurso del tiempo t2 o mayor desde la recepción del mensaje de solicitud del probador 8 como se ha descrito con referencia a la Figura 17.
Además, el temporizador P1 es activado inmediatamente después de que el primer byte del mensaje de respuesta sea transmitido al probador 8 y después del transcurso del tiempo t1 desde ese momento el segundo byte del mensaje de respuesta es transmitido, porque el ECU 1 debe transmitir cada byte del mensaje de respuesta del mismo tipo con el intervalo de tiempo t1 o mayor como se ha descrito con referencia a la Figura 17.
Además, el temporizador P2 es activado junto con el temporizador P3 cuando un mensaje de solicitud es recibido desde el probador 8, porque en el caso de que un mensaje de respuesta no sea devuelto desde el ECU 1 dentro del tiempo t3 de la transmisión de un mensaje de solicitud al ECU 1, el probador 8 debe transmitir un mensaje de solicitud de nuevo de tal forma que el mensaje de solicitud transmitido es recibido de nuevo de forma consistente.
Por ejemplo, en la Figura 18, en el caso de que el proceso de transmisión del mensaje de respuesta mostrado en el recuadro hexagonal no sea realizado por alguna razón, después del transcurso del tiempo t3 desde la primera activación del temporizador P3, el objeto OB2 gestor de la comunicación ajusta el circuito de comunicación 7 y la interfaz de comunicación en serie de tal modo que estén listos para la recepción, y el mensaje de solicitud transmitido desde el probador 8 es por ello recibido.
El temporizador P3 es reactivado inmediatamente después de que el byte final (segundo byte) del mensaje de respuesta sea transmitido al probador 8 y después del transcurso del tiempo t3 desde ese momento el circuito de comunicación 7 y la interfaz de comunicación en serie están listos para la recepción, porque el probador 8 transmite el siguiente mensaje de solicitud después del transcurso del tiempo t3 o mayor desde la recepción de todos los bytes de los datos de respuesta desde el ECU 1 y el mensaje de solicitud debe ser recibido.
A continuación, el detalle de la comunicación de los objetos OB1 a OB3 entre objetos realizado por medio de la operación de la unidad 10 de control de entrega del mensaje y el detalle del proceso mostrado en las gráficas de la secuencia del mensaje en la Figura 18 y en la Figura 19 están descritos a continuación.
En primer lugar, como se ha mostrado en la Figura 20, un objeto de servicio OB1 tiene un método del proceso de aviso del mensaje de solicitud (Figura 21) que es ejecutado de manera simultánea con un mensaje de objeto (1, 1) servido como el mensaje de aviso de la recepción del mensaje de solicitud mostrado por [3] en la Figura 18, es decir, un mensaje de objeto con OID de 1 y MID de 1, un método de proceso de adquisición de mensaje de respuesta (Figura 22) que es ejecutado de manera simultánea con un mensaje de objeto (1, 2) servido como el mensaje de solicitud de adquisición de mensaje de respuesta mostrado por [9] en la Figura 19, y un método de proceso de almacenamiento de velocidad de rotación (Figura 23) que es ejecutado de manera simultánea con un mensaje de objeto (1, 3) servido como el mensaje de solicitud de almacenamiento de velocidad de rotación mostrado por [5] en la Figura 18.
Por otro lado, un objeto OB2 gestor de la comunicación tiene un método de proceso de espera de recepción (Figura 24) que es ejecutado de manera simultánea con un mensaje de objeto (2, 1) servido como el mensaje de solicitud de espera de recepción mostrado por [1] y [8] en la Figura 18, un método de proceso de lectura del probador (Figura 25) que es ejecutado de manera simultánea con un mensaje de objeto (2, 2) servido como el mensaje de solicitud de proceso de recepción mostrado por [2] en la Figura 18, un método de proceso de inicio de respuesta (Figura 26) que es ejecutado de manera simultánea con un mensaje de objeto (2, 3) servido como el mensaje de solicitud de inicio de respuesta mostrado por [6] y [7] en la Figura 18, y un método de proceso de transmisión (Figura 27) que es ejecutado de manera simultánea con un mensaje de objeto (2, 4) servido como el mensaje de solicitud de transmisión de datos mostrado por [10] en la Figura 19.
Además, el objeto OB3 sensor de rotación tiene un método de proceso de adquisición de velocidad de rotación (Figura 28) que es ejecutado de manera simultánea con un mensaje de objeto (3, 1) servido como el mensaje de solicitud de adquisición de velocidad de rotación mostrado por [4] en la Figura 18. Las direcciones de inicio de ejecución respectivas de los objetos OB1 a OB3 son registradas previamente en la base de datos 16 de información de conexión correspondientes a OID y MID que indican métodos respectivos.
A continuación, se ha descrito el detalle del proceso realizado por la CPU 3.
En primer lugar, cuando el probador 8 transmite un mensaje de solicitud servido como una solicitud de datos y el mensaje de solicitud es recibido mientras el circuito de comunicación 7 y la interfaz de comunicación en serie en el microordenador están listos para la recepción por medio de S700 del método del proceso de espera de recepción (Figura 24) descrito a continuación (en detalle, cuando el mensaje de solicitud es almacenado en el registro de recepción de la interfaz de comunicación en serie como datos de recepción), el método del objeto predeterminado diferente de los objetos OB1 a OB3 (en lo sucesivo denominado como un método de activación de operación de comunicación) es ejecutado para generar una solicitud de transmisión de mensaje (2, 2).
Se ha asumido en la descripción llevada a cabo más abajo que la unidad 10 de control de entrega del mensaje está en el estado de entrega del mensaje en el momento en el que el mensaje de solicitud desde el probador 8 es recibido y no hay bloque de memoria en la unidad 12 de almacenamiento de mensaje de objeto y la unidad 13 de almacenamiento de mensaje de temporizador. Además, hay suficientes bloques de memoria libre en la unidad 14 de bloque de memoria libre, y la determinación de SI es encontrada siempre en el proceso S100 de poner en cola el mensaje mostrado en la Figura 7 y el proceso S300 de poner en cola el mensaje de temporizador mostrado en la Figura 11.
Aquí, cuando la solicitud de transmisión de mensaje (2, 2) es generada, el proceso de poner en cola el mensaje mostrado en la Figura 7 es ejecutado, y el mensaje de objeto (2, 2) es puesto en cola en la unidad 12 de almacenamiento de mensaje de objeto.
En detalle, el bloque de memoria libre de encabezamiento es adquirido a partir de la unidad 14 de almacenamiento de bloque de memoria libre en S110 mostrado en la Figura 7, el mensaje de objeto (2, 2) es almacenado en el bloque de memoria libre adquirido en S120, y a continuación el bloque de memoria en el que se ha almacenado el mensaje de objeto (2, 2) es registrado en la unidad 12 de almacenamiento de mensaje de objeto como un bloque de mensaje de objeto en S130.
Cuando la puesta en cola del mensaje de objeto (2, 2) es completada como se ha descrito antes, la ejecución del proceso vuelve al método de activación de la operación de comunicación. Cuando el proceso del método es completado, el proceso de entrega del mensaje mostrado en la Figura 9 es realizado y el mensaje de objeto (2, 2) puesto en cola en la unidad 12 de almacenamiento de mensaje de objeto es entregado.
En detalle, en primer lugar se comprueba en S219 en la Figura 9 si el mensaje de objeto es puesto en cola en la unidad 12 de almacenamiento de mensaje de objeto, sin embargo, en este caso, debido a que sólo el mensaje de objeto (2, 2) es puesto en cola, el contenido del mensaje de objeto (2, 2) es leído desde el bloque de mensaje de objeto situado en el encabezamiento de la unidad 12 de almacenamiento de mensaje de objeto en S220. El bloque del mensaje de objeto en el que se ha almacenado el mensaje de objeto es devuelto a la unidad 14 de almacenamiento de bloque de memoria como un bloque de memoria libre.
Una dirección de inicio de ejecución del método del proceso de lectura del objeto OB2 gestor de la comunicación correspondiente al contenido del mensaje del objeto de lectura (2, 2) es averiguada a partir de la base de datos 16 de información de conexión en S240 mostrado en la Figura 9, y la dirección de inicio de ejecución averiguada es llamada en S250.
El mensaje de objeto (2, 2) es así entregado, y la ejecución del método de tratamiento de lectura del probador mostrado en la Figura 25 es iniciada.
Como se ha mostrado en la Figura 25, cuando la ejecución del método del proceso de lectura del probador es iniciada, los datos de recepción en el registro de recepción son sometidos a comprobación de error de datos en S710, y en el S715 subsiguiente, si los datos de recepción son normales son comprobados basándose en el resultado de comprobación de error de datos.
Si se ha encontrado que los datos de recepción no son normales, entonces la ejecución del método es finalizada, por otro lado si se ha encontrado que los datos de recepción son normales, entonces los datos de recepción son convertidos a datos que pueden ser tratados en el microordenador en S720 y los datos convertidos son transferidos a la RAM 6.
Además, en el S725 subsiguiente, una solicitud de mensaje de temporizador (2, 3, P2) es generada para activar el temporizador P2 mostrado en la Figura 18.
A continuación, es realizado el proceso de poner en cola el mensaje de temporizador mostrado en la Figura 11 y el mensaje de temporizador (2, 3, P2) es puesto en cola en la unidad 13 de almacenamiento de mensaje de temporizador. En detalle, el bloque de memoria libre de encabezamiento es adquirido a partir de la unidad 14 de almacenamiento de bloque de memoria libre en S310 mostrado en la Figura 11, el mensaje de temporizador (2, 3, P2) es almacenado en el bloque de memoria libre adquirido en S320, y a continuación el bloque de memoria en el que se ha almacenado el mensaje de temporizador (2, 3, P2) es registrado en la unidad 13 de almacenamiento de mensaje de temporizador como un bloque del mensaje de temporizador S330.
Cuando se ha completado la puesta en cola del mensaje de temporizador (2, 3, P2) como se ha descrito antes, la ejecución del proceso vuelve al método del proceso de lectura del probador mostrado en la Figura 25, y una solicitud de transmisión del mensaje de temporizador (2, 1, P3) es generada en la Figura 25 para activar el temporizador P3 mostrado en la Figura 18 en S730.
A continuación, el proceso de poner en cola el mensaje de temporizador mostrado en la Figura 11 es realizado de nuevo, el mensaje de temporizador (2, 1, P3) es puesto en cola en la unidad 13 de almacenamiento de mensaje de temporizador.
En detalle, el bloque de memoria libre de encabezamiento es adquirido a partir de la unidad 14 de almacenamiento del bloque de memoria libre en S310 mostrado en la Figura 11, el mensaje de temporizador (2, 1, P3) es almacenado en el bloque de memoria libre adquirido en S320, y a continuación el bloque de memoria en el que se ha almacenado el mensaje de temporizador (2, 1, P3) es registrado en la cola del bloque del mensaje de temporizador en la unidad 13 de almacenamiento de mensaje de temporizador (en este caso, la segunda posición desde el encabezamiento) como un bloque de mensaje de temporizador en S330.
En ese momento, dos bloques del mensaje de temporizador, es decir, el bloque del mensaje de temporizador en el que el mensaje de temporizador (2, 3, P2) es almacenado y el bloque del mensaje de temporizador en el que mensaje de temporizador (2, 1, P3) es almacenado, son registrados en este orden. En otras palabras, dos mensajes de temporizador son almacenados en la unidad 13 de almacenamiento de mensaje de temporizador en el orden
mensaje de temporizador (2, 3, P2) mensaje de temporizador (2, 1, P3). Cuando la puesta en cola del mensaje de temporizador (2, 1, P3) es completada como se ha descrito antes, la ejecución del proceso vuelve de nuevo al método del proceso de lectura del probador mostrado en la Figura 25, y una solicitud de transmisión de mensaje (1, 1) es generada en S735 mostrado en la Figura 25.
A continuación, es realizado el proceso de poner en cola el mensaje mostrado en la Figura 7, y un mensaje de objeto (1, 1) es puesto en cola en la unidad 12 de almacenamiento de mensaje de objeto casi de la misma manera que se ha descrito con anterioridad.
Cuando se ha completado la puesta en cola del mensaje de objeto (1, 1), la ejecución del proceso vuelve al método del proceso de lectura del probador mostrado en la Figura 25, y cuando la ejecución de este método es completada, y el proceso de entrega de mensaje mostrado en la Figura 9 es realizado y el mensaje de objeto (1, 1) puesto en cola en la unidad 12 de almacenamiento de mensaje de objeto es entregado.
La ejecución del método del proceso de aviso de la recepción del mensaje de solicitud mostrada en la Figura 21 es así iniciada. Una solicitud de transmisión de un mensaje (3, 1) es generada en S600. A continuación, el proceso de poner en cola el mensaje mostrado en la Figura 7 es realizado y el mensaje de objeto (3, 1) es puesto en cola en la unidad 12 de almacenamiento de mensaje de objeto.
Cuando se ha completado la puesta en cola del mensaje (3, 1), la ejecución del proceso vuelve al método del proceso que indica la recepción de un mensaje de solicitud mostrado en la Figura 21, y cuando la ejecución de este método es completada, el proceso de entrega de mensaje mostrado en la Figura 9 es realizado y el mensaje de objeto (3, 1) puesto en cola en la unidad 12 de almacenamiento de mensaje de objeto es entregado.
La ejecución del método del proceso de adquisición de velocidad de rotación es así iniciada. La velocidad de rotación del motor es averiguada basándose en la señal del sensor de rotación en S800, y una solicitud de transmisión de mensaje (1, 3) es generada en el S810 subsiguiente. A continuación, el proceso de poner en cola mostrado en la Figura 7 es realizado, y el mensaje de objeto (1, 3) es puesto en cola en la unidad 12 de almacenamiento de mensaje de objeto.
Después de la puesta en cola del mensaje de objeto (1, 3), la ejecución del proceso vuelve al método del proceso de adquisición de velocidad de rotación mostrado en la Figura 28, y cuando el proceso de este método es completado, es realizado el proceso de entrega de mensaje mostrado en la Figura 9, y el mensaje de objeto (1, 3) puesto en cola en la unidad 12 de almacenamiento de mensaje de objeto es entregado.
La ejecución del método del proceso de almacenamiento de velocidad de rotación mostrado en la Figura 23 es así iniciada. Los datos de velocidad de rotación del motor averiguados en S800 del método del proceso de adquisición de velocidad de rotación son almacenados en el área específica de la RAM 6 en S630, y a continuación es finalizada la ejecución del método del proceso de adquisición de velocidad de rotación.
A continuación, es realizado el proceso de entrega de mensaje mostrado en la Figura 9, y se comprueba si un mensaje de objeto es puesto en cola en la unidad 12 de almacenamiento de mensaje de objeto en S210, sin embargo, en este caso, debido a que no hay mensaje de objeto puesto en cola, la unidad de control de entrega del mensaje 10 es llevada al estado de espera de recepción de mensaje.
Se ha asumido que, por ejemplo, el método que es el método de un objeto diferente de los objetos OB1 a OB3 y que es ejecutado en cada instante predeterminado (en lo sucesivo denominado como método de tiempo fijo) es ejecutado y una solicitud de transmisión de mensaje (x1, y1) es generada de manera simultánea con la ejecución del método de tiempo fijo.
A continuación, es realizado el proceso de poner en cola el mensaje mostrado en la Figura 7 y el mensaje de objeto (x1, y1) es puesto en cola en la unidad 12 de almacenamiento de mensaje de objeto, y cuando se ha completado la puesta en cola del mensaje de objeto (x1, y1), la secuencia vuelve al método de tiempo fijo.
A continuación, el método de tiempo fijo es ejecutado y es generada una solicitud de entrega de mensaje, la unidad 10 de control de entrega de mensaje es llevada al estado de entrega de mensaje y el proceso de entrega de mensaje mostrado en la Figura 9 es realizado, y el mensaje de objeto (x1, y1) puesto en cola en la unidad 12 de almacenamiento de mensaje de objeto es entregado.
Como resultado, el método del objeto con OID de x1 y MID de y1 es ejecutado y la solicitud de transmisión de mensaje (x2, y2) es por ello generada, a continuación el método del objeto con OID de x2 y MID de y2 es ejecutado, y además la ejecución del método da como resultado la generación de una transmisión de mensaje (x3, y3) y a continuación el método del objeto con OID de x3 y MID de y3 es ejecutado. Como se ha descrito antes, los métodos respectivos de otros objetos son ejecutados sucesivamente.
Después del transcurso del tiempo t2 desde el momento en el que el mensaje de temporizador (2, 3, P2) generado en S725 para el método del proceso de lectura del probador mostrado en la Figura 25 ha sido puesto en cola en la unidad 13 de almacenamiento de mensaje de temporizador, el contador de tiempo del mensaje de temporizador (2, 3, P2) alcanza 0 como resultado del proceso de reloj de temporizador en S410 mostrado en la Figura 13.
El mensaje de temporizador (2, 3, P2) es vuelto a poner en cola desde la unidad 13 de almacenamiento de mensaje de temporizador a la unidad 12 de almacenamiento de mensaje de objeto en el proceso de reloj de temporizador S430 como un mensaje de objeto (2, 3). En este momento, sólo el mensaje de temporizador (2, 1, P3) es almacenado en la unidad 13 de almacenamiento de mensaje de temporizador.
En el momento en que la ejecución de un método en ejecución es completada, el mensaje (2, 3) vuelto a poner en cola es entregado en el proceso de entrega de mensaje mostrado en la Figura 9 casi de la misma manera que la aplicada para entregar un mensaje de objeto original generado a partir de un objeto.
Como resultado, después del transcurso del tiempo t3 desde el momento en el que el mensaje de temporizador (2, 3, P2) ha sido puesto en cola en la unidad 13 de almacenamiento de mensaje de temporizador, es iniciada la ejecución del método del proceso de inicio de respuesta mostrado en la Figura 26 correspondiente al mensaje de objeto (2, 3).
Como se ha mostrado en la Figura 26, cuando la ejecución del método del proceso de inicio de respuesta es iniciada, una solicitud de transmisión de mensaje (1, 2) es generada en S750.
A continuación, es realizado el proceso de poner en cola el mensaje mostrado en la Figura 7 y el mensaje de objeto (1, 2) es puesto en cola en la unidad 12 de almacenamiento de mensaje de objeto.
Después de poner en cola el mensaje de objeto (1, 2), la secuencia vuelve al método del proceso de inicio de respuesta mostrado en la Figura 26, y cuando la ejecución de este método es completada, el proceso de entrega de mensaje mostrado en la Figura 9 es realizado y el mensaje de objeto (1, 2) puesto en cola en la unidad 12 de almacenamiento de mensaje de objeto es entregado.
Como resultado, se inicia la ejecución del método del proceso de adquisición del mensaje de respuesta mostrado en la Figura 22, y en primer lugar los datos de velocidad de rotación del motor de 1 byte que han de ser transmitidos desde el área específica de la RAM 6 al probador 8 son leídos en S610. En S610, los datos de velocidad de rotación del motor son leídos desde el área específica de la RAM 6 cada vez que el proceso de S610 es realizado en primer lugar desde el encabezamiento de 1 byte sucesivamente.
En el S620 subsiguiente, se genera una solicitud de transmisión de mensaje (2, 4).
A continuación, es realizado el proceso de poner en cola el mensaje mostrado en la Figura 7, y el mensaje de objeto (2, 4) es puesto en cola en la unidad 12 de almacenamiento de mensaje de objeto.
Cuando la puesta en cola del mensaje de objeto (2, 4) es completada, la secuencia vuelve al método del proceso de adquisición de mensaje de respuesta mostrado en la Figura 22, y cuando la ejecución de este método es completada, el proceso de entrega de mensaje mostrado en la Figura 9 es realizado y el mensaje de objeto (2, 4) puesto en cola en la unidad 12 de almacenamiento de mensaje de objeto es entregado.
Como resultado, se inicia la ejecución del método del proceso de transmisión mostrado en la Figura 27.
Como se ha mostrado en la Figura 27, cuando se ha iniciado la ejecución del método del proceso de transmisión, los datos de velocidad de rotación del motor de 1 byte leídos desde la RAM 6 en S610 del método del proceso de adquisición del mensaje de respuesta son invertidos a los datos que están listos para la recepción para el lado del probador 8 en S760, y a continuación transferidos al registro de transmisión de la interfaz de comunicación en serie. En el S765 subsiguiente, los datos de 1 byte en el registro de transmisión son transmitidos al probador 8.
A continuación en S770, el contador CN para contar el número de bytes de los datos (mensaje de respuesta) transmitidos al probador 8 es aumentado en 1, y en el S775 subsiguiente, se comprueba si el valor del contador CN es 2. El valor inicial del contador CN es 0.
Debido a que el valor del contador CN es 1 todavía en el momento en el que el primer 1 byte del mensaje de respuesta es transmitido al probador 8, se obtiene un NO como resultado de comprobación en el S775, y la secuencia continúa a S795. En S795, una solicitud de transmisión de mensaje de temporizador (2, 3, P1) es generada para activar el temporizador P1 mostrado en la Figura 18.
A continuación, es realizado el proceso de poner en cola el mensaje de temporizador mostrado en la Figura 11, y el mensaje de temporizador (2, 3, P1) es puesto en cola en la unidad 13 de almacenamiento de mensaje de temporizador casi de la misma manera que la descrita con anterioridad. Dos mensajes de temporizador, es decir, el mensaje de temporizador (2, 3, P1) y el mensaje de temporizador (2, 1, P3), son almacenados en la unidad 13 de almacenamiento de mensaje de temporizador en este momento.
Después de la terminación de la puesta en cola del mensaje de temporizador (2, 3, P1), la secuencia vuelve de nuevo al método del proceso de transmisión mostrado en la Figura 27. Sin embargo, si el primer 1 byte del mensaje de respuesta es recibido (en detalle, si se obtiene un NO como resultado de comprobación en S775 mostrado en la Figura 27 y no en el caso de que el byte final del mensaje de respuesta es transmitido), entonces la ejecución del método del proceso de transmisión es terminada.
A continuación es realizado el proceso de entrega de mensaje mostrado en la Figura 9, se comprueba si un mensaje de objeto es puesto en cola en la unidad 12 de almacenamiento de mensaje de objeto. Sin embargo, en este caso, debido a que no hay mensaje de objeto puesto en cola, la unidad 10 de control de entrega de mensaje es llevada al estado de espera de recepción de mensaje.
Después de eso, la unidad 10 de control de entrega de mensaje vuelve al estado de entrega de mensaje cuando es procesado en el tiempo desde la terminación de la ejecución del método del proceso de adquisición de velocidad de rotación (Figura 23) al primer inicio de ejecución del método del proceso de inicio de respuesta (Figura 26), y métodos respectivos de otros objetos son ejecutados sucesivamente.
Después de un transcurso de tiempo t1 desde el momento en el que el mensaje de temporizador (2, 3, P1) en S795 del método del proceso de transmisión mostrado en la Figura 27 es puesto en cola en la unidad 13 de almacenamiento de mensaje de temporizador, el contador de tiempo del mensaje de temporizador (2, 3, P1) alcanza 0 como un resultado del proceso de reloj de temporizador de S410 mostrado en la Figura 13.
El mensaje de temporizador (2, 3, P1) es vuelto a poner en cola desde la unidad 13 de almacenamiento de mensaje de temporizador a la unidad 12 de almacenamiento de mensaje de objeto como un mensaje de objeto (2, 3) como un resultado del proceso de reloj de temporizador de S430. Sólo el mensaje de temporizador (2, 1, P3) está almacenado en la unidad 13 de almacenamiento de mensaje de temporizador en este momento.
Además, el mensaje (2, 3) vuelto a poner en cola es entregado en el proceso de entrega de mensaje mostrado en la Figura 9 en el momento en el que la ejecución de un método en ejecución es completada casi de la misma manera que en el caso de un mensaje de objeto original generado a partir de un objeto.
La ejecución del método del proceso de inicio de respuesta mostrada en la Figura 26 correspondiente al mensaje de objeto (2, 3) es iniciada cuando transcurre el tiempo t1 desde la puesta en cola del mensaje de temporizador (2, 3, P1) en la unidad 13 de almacenamiento de mensaje de temporizador casi de la misma manera que en el caso en que transcurre el tiempo t2 desde la puesta en cola del mensaje de temporizador (2, 3, P2) en la unidad 13 de almacenamiento de mensaje de temporizador. Después de que el método del proceso de inicio de respuesta, es ejecutado el método del proceso de adquisición del mensaje de respuesta mostrado en la Figura 22, y a continuación es realizado el método del proceso de transmisión mostrado en la Figura 27.
Como resultado de la segunda ejecución del método del proceso de adquisición del mensaje de respuesta y del método del proceso de transmisión, el segundo byte es decir, el byte final del mensaje de respuesta es transmitido al probador 8. En la transmisión del segundo byte, el valor del contador CN es determinado para que sea 2, es decir, se obtiene SI como resultado de comprobación en S775 para el método del proceso de transmisión mostrado en la Figura 27, y el valor del contador CN es inicializado a 0 en el siguiente S780.
En primer lugar en S785, una solicitud de borrado del mensaje de temporizador (2, 1) es generada para la reactivación del temporizador P3 mostrado en la Figura 18.
En ese instante, el proceso de borrado del mensaje de temporizador mostrado en la Figura 15 es realizado y el mensaje de temporizador (2, 1, P3) es borrado de la unidad 13 de almacenamiento de mensaje de temporizador.
En detalle, primero en S500 mostrado en la Figura 15, el mensaje de temporizador (2, 1, P3) con OID y MID que son idénticos que los de la solicitud de borrado del mensaje de temporizador (2, 1) es seleccionado en la unidad 13 de almacenamiento de mensaje de temporizador como un mensaje de temporizador de objetivo borrado, el contenido del almacenamiento del bloque del mensaje de temporizador en el que el mensaje de temporizador (2, 1, P3) es almacenado es borrado en S520, y el bloque del mensaje de temporizador del que se ha borrado el contenido almacenado es devuelto desde la unidad 13 de almacenamiento de mensaje de temporizador a la unidad 14 de almacenamiento del bloque de memoria libre como un bloque de memoria libre.
Después de la terminación del borrado del mensaje de temporizador (2, 1, P3) como se ha descrito antes, a continuación la secuencia vuelve al método del proceso de transmisión mostrado en la Figura 27, y una solicitud de transmisión de mensaje de temporizador (2, 1, P3) es generada en S790 mostrado en la Figura 27. A continuación, es realizado el proceso de poner en cola el mensaje de temporizador mostrado en la Figura 11, un mensaje de temporizador (2, 1, P3) es puesto en cola nuevamente en la unidad 13 de almacenamiento de mensaje de temporizador, y la reactivación del temporizador P3 mostrada en la Figura 18 es completada.
Después de la puesta en cola del mensaje de temporizador (2, 1, P3), la secuencia vuelve otra vez al método del proceso de transmisión mostrado en la Figura 27, y cuando la ejecución del método es completada, es realizado el proceso de entrega de mensaje mostrado en la Figura 9. Sin embargo, debido a que no hay mensaje de objeto puesto en cola en la unidad 12 de almacenamiento de mensaje de objeto en este caso, se obtiene NO como resultado de comprobación en S210 mostrado en la Figura 9, y la unidad 10 de control de entrega de mensaje es llevada al estado de espera de recepción de mensaje.
Después de eso, la unidad 10 de control de entrega de mensaje vuelve al estado de entrega de mensaje como en el tiempo desde la finalización de la ejecución del método del proceso de adquisición de velocidad de rotación (Figura 23) al primer inicio de ejecución del método del proceso de inicio de respuesta (Figura 26), y métodos respectivos de otros objetos son ejecutados sucesivamente.
Después de haber transcurrido el tiempo t3 desde el momento en que el mensaje de temporizador (2, 1, P3) generado en S790 del proceso de transmisión mostrado en la Figura 27 es puesto en cola en la unidad 13 de almacenamiento de mensaje de temporizador (es decir, desde la reactivación del temporizador P3), el contador del temporizador del mensaje de temporizador (2, 1, P3) alcanza 0 como un resultado del proceso de reloj del temporizador S410 mostrado en la Figura 13, y el mensaje de temporizador (2, 1, P3) es vuelto a poner en cola desde la unidad 13 de almacenamiento de mensaje de temporizador a la unidad 12 de almacenamiento de mensaje de objeto como un mensaje de objeto (2, 1) como resultado del proceso de reloj temporizador en S430. Además, el mensaje (2, 1) vuelto a poner en cola es entregado como un resultado del proceso de entrega de mensaje mostrado en la Figura 9 en el momento en que la ejecución de un método en ejecución es completada.
Después de haber transcurrido el tiempo t3 desde la transmisión del byte final (segundo byte) del mensaje de respuesta al probador 8, es iniciada la ejecución del método del proceso de espera de recepción mostrado en la Figura 24 que corresponde al mensaje de objeto (2, 1).
Cuando la ejecución del método del proceso de espera de recepción es iniciada como se ha mostrado en la Figura 24, el circuito de comunicación 7 y la interfaz de comunicación en serie en el microordenador son ajustados de forma que estén listos para la recepción en S700, y a continuación la ejecución del método del proceso de espera de recepción es completada.
A continuación, es realizado el proceso de entrega de mensaje mostrado en la Figura 9, sin embargo, debido a que no hay mensaje de objeto puesto en cola en la unidad 12 de almacenamiento de mensaje de objeto en este caso, se obtiene un NO como resultado de comprobación en S210 mostrado en la Figura 9, y la unidad 10 de control de entrega de mensaje es llevada al estado de espera de recepción de mensaje.
Después de esto, la unidad 10 de control de entrega de mensaje vuelve al estado de entrega de mensaje como en el tiempo desde la terminación de la ejecución del método del proceso de adquisición de velocidad de rotación (Figura 23) al primer inicio de ejecución del método del proceso de inicio de respuesta (Figura 26), y los métodos respectivos de otros objetos son ejecutados sucesivamente. Cuando el siguiente mensaje de solicitud es recibido desde el probador 8, el método de activación de la operación de comunicación es ejecutado y una solicitud de transmisión de mensaje (2, 2) es generada, y los procesos respectivos para transmisión del mensaje de respuesta al probador 8 son realizados de nuevo sucesivamente.
Por otro lado, si un mensaje de respuesta no es transmitido por alguna razón dentro del tiempo t3 desde dicho momento aunque un mensaje de solicitud es recibido normalmente desde el probador 8, el S785 del método del proceso de transmisión mostrado en la Figura 27 no es ejecutado, y una solicitud de borrado del mensaje de temporizador (2, 1) no es generada.
Como resultado, en el caso de que un mensaje de respuesta no es transmitido por alguna razón, después de haber transcurrido el tiempo t3 desde el momento en el que el mensaje de temporizador (2, 1, P3) generado en S730 del método del proceso de lectura del probador mostrado en la Figura 25 ha sido puesto en cola en la unidad 13 de almacenamiento de mensaje de temporizador (es decir, desde la primera activación del temporizador P3), el contador de tiempo del mensaje de temporizador (2, 1, P3) alcanza 0 como resultado de S410 del proceso de reloj temporizador, y el mensaje de temporizador (2, 1, P3) es vuelto a poner en cola desde la unidad 13 de almacenamiento del mensaje de temporizador hasta la unidad 12 de almacenamiento de mensaje de objeto como un mensaje de objeto (2, 1) como un resultado S430 del proceso de reloj del temporizador. El mensaje (2, 1) vuelto a poner en cola es entregado por medio del proceso de entrega de mensaje mostrado en la Figura 9.
Como resultado, también en el caso de que el tiempo t3 transcurra sin transmisión de un mensaje de respuesta desde la recepción de un mensaje de solicitud procedente del probador 8, la ejecución del método del proceso de espera de recepción mostrada en la Figura 24 es iniciada, el circuito de comunicación 7 y la interfaz de comunicación en serie son ajustados de modo que estén listos para la recepción en S700, y son preparados para la recepción de un mensaje de solicitud que será transmitido desde el probador 8.
Los métodos de objetos respectivos OB1 a OB3 mostrados en la Figura 21 a Figura 28 son ejecutados sucesivamente como se ha descrito antes, el proceso para controlar la comunicación de datos con el probador 8 es así realizado en el orden mostrado en las gráficas de secuencia de mensaje en la Figura 18 y en la Figura 19.
En la presente realización, el proceso de poner en cola mostrado en la Figura 7 corresponde a los primeros medios de control de almacenamiento, y el proceso de entrega de mensaje mostrado en la Figura 9 corresponde a los medios de control de activación. El proceso de poner en cola el mensaje de temporizador mostrado en la Figura 11 corresponde a los segundos medios de control de almacenamiento, y el proceso de reloj del temporizador corresponde a los medios de control de retardo. Además, el proceso de poner en cola el mensaje de temporizador mostrado en la Figura 11 corresponde a los medios de control de almacenamiento del mensaje de temporizador, y el proceso de reloj temporizador mostrado en la Figura 13 y el proceso de entrega de mensaje mostrado en la Figura 9 son equivalentes a los medios de control de activación de retardo, El proceso de borrado del mensaje de temporizador mostrado en la Figura 15 corresponde a los medios de borrado, y la ROM 5 y la base de datos de información de conexión almacenada en la ROM 5 son equivalentes a los medios de almacenamiento de posición de almacenamiento.
Como se ha descrito antes, en el ECU 1 de la presente realización, cuando un mensaje de objeto (solicitud de transmisión de mensaje) que no contiene contador de tiempo es generado, el proceso de poner en cola el mensaje mostrado en la Figura 7 es realizado, y el mensaje de objeto es almacenado (puesto en cola) en la unidad 12 de almacenamiento de mensaje de objeto.
El proceso de entrega de mensaje mostrado en la Figura 9 es realizado en el momento en que la ejecución del método es completada, el mensaje de objeto que es almacenado en primer lugar de los mensajes de objeto almacenados en la unidad 12 de almacenamiento de mensaje de objeto, el método de objeto correspondiente al destino del mensaje de objeto leído es ejecutado, y a continuación el mensaje de objeto leído es borrado de la unidad 12 de almacenamiento de mensaje de objeto.
Por ello, de acuerdo con el ECU 1 de la realización actual, métodos de objetos respectivos son ejecutados en tiempo real. La presente realización no es desventajosa en capacidad de funcionamiento en tiempo real a diferencia del caso en el que la técnica de comprobación de indicador o banderola es aplicada para comunicación de mensaje entre objetos, y puede ejecutarse el método de cada objeto puede ser ejecutado en evento accionado.
Debido a que la presente realización no es el caso en el que el método de un objeto en ejecución es interrumpido para ejecutar el método de otro objeto a diferencia del caso en el que la técnica de llamada de función es aplicada para comunicación de mensaje entre objetos, el método de cada objeto puede ejecutarse sin consumir una gran cantidad de recursos de memoria en la presente realización. En detalle, en el caso de que la técnica de llamada de función es aplicada para comunicación de mensaje entre objetos, el valor del contador de programa del microordenador y distintos registros (no mostrados en el dibujo) deben ser almacenados, por otro lado en el caso del ECU 1 de la presente realización, sólo el mensaje es almacenado, y la cantidad significativamente menor de información que ha de ser almacenada es suficiente para la operación.
En el ECU 1 de la presente realización, un mensaje de objeto leído desde la unidad 12 de almacenamiento de mensaje de objeto y entregado es borrado de la unidad 12 de almacenamiento de mensaje de objeto. En detalle, el bloque de memoria en la unidad 12 de almacenamiento de mensaje de objeto en cuyo bloque de memoria se ha almacenado el mensaje de objeto leído es devuelto a la unidad 14 de almacenamiento del bloque de memoria libre. Como resultado, un mensaje de objeto innecesario no permanece en la unidad 12 de almacenamiento de mensaje de objeto, y el área de memoria de la RAM 6 es decir, el recurso de memoria es usado efectivamente.
Además, en el ECU 1 de la presente realización, un mensaje de temporizador (solicitud de transmisión del mensaje de temporizador) que contiene un contador de tiempo es generado como resultado de la ejecución del método de un objeto, el proceso de poner en cola el mensaje de temporizador mostrado en la Figura 11 es realizado y el mensaje de temporizador es almacenado (puesto en cola) en la unidad 13 de almacenamiento de mensaje de temporizador.
El proceso de reloj temporizador mostrado en la Figura 13 es realizado cada vez que una solicitud de reloj temporizador es generada con el intervalo de tiempo del tiempo t predeterminado para reducir en 1 el contador de tiempo del mensaje de temporizador almacenado en la unidad 13 de almacenamiento de mensaje de temporizador, y el mensaje de temporizador con el contador de tiempo que alcanza 0 es vuelto a almacenar en la unidad 12 de almacenamiento de mensaje de objeto como un mensaje de objeto. El mensaje de temporizador vuelto a almacenar en la unidad 12 de almacenamiento de mensaje de objeto como un mensaje de objeto es leído por medio del proceso de entrega de mensaje mostrado en la Figura 9 casi de la misma manera que en el caso de un mensaje de objeto original generado a partir de un objeto. Como resultado el método del objeto especificado por el OID y MID del mensaje es ejecutado.
Por ello, después de un transcurso de tiempo equivalente para el contador de tiempo del mensaje de temporizador desde el momento en que el mensaje de temporizador es generado como resultado de la ejecución del método del objeto, el método del objeto que es especificado por OID y MID del mensaje de temporizador es ejecutado.
Como resultado, de acuerdo con el ECU 1 de la realización actual, el método de cada objeto es ejecutado en tiempo real sin consumir una gran cantidad de recursos de memoria, y adicionalmente el proceso de espera de tiempo, es decir, la ejecución del método de un objeto especificado es iniciado después del transcurso de un tiempo predeterminado desde un cierto momento, es realizado fácilmente.
Por ejemplo, en la realización mostrada en la Figura 17 a la Figura 28, la ejecución del método del proceso de inicio de respuesta mostrada en la Figura 26 puede ser iniciada después del transcurso del tiempo t2 desde el momento en el que se ha generado el mensaje de temporizador (2, 3, P2) en S725 del método del proceso de lectura del probador mostrado en la Figura 25 (desde la activación del temporizador P2 mostrado en la Figura 18), o la ejecución del método del proceso de inicio de respuesta mostrado en la Figura 26 puede ser iniciada después de haber transcurrido el tiempo t1 desde el momento en el que se ha generado el mensaje de temporizador (2, 3, P1) en S795 del método del proceso de transmisión mostrado en la Figura 27 (desde la activación del temporizador P1 mostrada en la Figura 18). Además, la ejecución del método del proceso de espera de recepción mostrada en la Figura 24 puede iniciarse después del transcurso del tiempo t3 desde el momento en el que se ha generado el mensaje de temporizador (2, 1, P3) en S790 del método del proceso de transmisión mostrado en la Figura 27 (desde la reactivación del temporizador P3 mostrada en la Figura 18).
Además de acuerdo con el ECU 1 del presente invento, los métodos de otros objetos pueden ser ejecutados sucesivamente durante el tiempo mientras el contador de tiempo del mensaje de temporizador almacenado en la unidad 13 de almacenamiento del mensaje de temporizador alcanza 0, el consumo de tiempo innecesario durante el proceso es ahorrado.
En el ECU 1 de la presente realización, la unidad 13 de almacenamiento del mensaje de temporizador es capaz de almacenar una pluralidad de mensaje de temporizador, y el proceso del reloj temporizador mostrado en la Figura 13, los contadores de tiempo de todos los mensajes de temporizador son reducidos uno por uno, y un mensaje de temporizador con el contador de tiempo que alcanza 0 es vuelto a almacenar desde la unidad 13 de almacenamiento de mensaje a la unidad 12 de almacenamiento del mensaje de objeto como un mensaje de objeto.
Por ello, de acuerdo con el ECU1 de la presente realización, en el estado en el que una pluralidad de mensaje de temporizador son almacenados en la unidad 13 de almacenamiento de mensaje de temporizador, los tiempos respectivos para retrasar el inicio de la ejecución de una pluralidad de métodos son contados en paralelo, y el proceso de espera de tiempo de una pluralidad de series puede ser realizado fácilmente.
Por ejemplo, en el ejemplo detallado mostrado en la Figura 17 a la Figura 28, el tiempo t2 desde el momento en que ha sido generado el mensaje de temporizador (2, 3, P2) en S725 del método del proceso de lectura del probador mostrado en la Figura 25 (desde la activación del temporizador P2 mostrado en la Figura 18) al inicio de la ejecución del método del proceso de inicio de respuesta mostrado en la Figura 26 y el tiempo t3 desde el momento en que ha sido generado el mensaje de temporizador (2, 1, P3) en S730 del método del proceso de lectura del probador mostrado en la Figura 25 (desde la primera activación del temporizador P3 mostrado en la Figura 18) al inicio de la ejecución del método del proceso de espera de recepción mostrado en la Figura 24 puede ser contado en paralelo. Además, el tiempo t1 desde el momento en que ha sido generado el mensaje de temporizador (2, 3, P1) en S795 del método del proceso de transmisión mostrado en la Figura 27 (activación del temporizador P1 mostrado en la Figura 18) al inicio de la ejecución del método del proceso de inicio de respuesta mostrado en la Figura 26 y el tiempo t3 desde el momento en que ha sido generado el mensaje de temporizador (2, 1, P3) en S730 del método del proceso de lectura del probador mostrado en la Figura 25 al inicio de la ejecución del método del proceso de espera de recepción mostrado en la Figura 24 puede ser contado en paralelo.
Además, en el ECU 1 de la presente realización, un mensaje de temporizador vuelto a almacenar en la unidad 12 de almacenamiento del mensaje de objeto como un mensaje de objeto es borrado de la unidad 13 de almacenamiento del mensaje de temporizador. En detalle, un bloque de memoria de la unidad 13 de almacenamiento del mensaje de temporizador en cuyo bloque de memoria ha sido almacenado el mensaje de temporizador es transferido a la unidad 12 de almacenamiento del mensaje de objeto. Por consiguiente, un mensaje de temporizador que resulta innecesario para la unidad 13 de almacenamiento del mensaje de temporizador (es decir, un mensaje de temporizador con el contador de tiempo que alcanza 0) no permanece en la unidad 13 de almacenamiento del mensaje de temporizador, y el área de memoria de la RAM 6 es decir, el recurso de memoria es usado de forma efectiva.
Además, en el ECU 1 de la presente realización, cuando una solicitud de borrado del mensaje de temporizador es generada como resultado de la ejecución del método de un objeto, el proceso de borrado del mensaje de temporizador mostrado en la Figura 15 es realizado para borrar el mensaje de temporizador con OID y MID, que son idénticos a los de la solicitud de borrado del mensaje, desde la unidad 13 de almacenamiento del mensaje de temporizador.
Por ello, de acuerdo con el ECU 1 de la presente realización, el proceso de time out, es decir, el método de un objeto específico es ejecutado a no ser que el proceso de un objetivo de vigilancia no sea realizado dentro del transcurso de un tiempo predeterminado desde un cierto momento, es realizado fácilmente sin prever un medio especiales tal como un mecanismo de interrupción del temporizador.
Por ejemplo, en el ejemplo detallado mostrado en la Figura 17 a la Figura 28, debido a que una solicitud de borrado del mensaje de temporizador (2, 1) es generada en S785 del método del proceso de transmisión a menos que el método del proceso de transmisión mostrado en la Figura 27 sea ejecutado por partida doble dentro del tiempo t3 desde el momento en el que es generado el mensaje de temporizador (2, 1, P3) en S730 del método del proceso de lectura del probador mostrado en la Figura 25 (desde la primera activación del temporizador P2 mostrado en la Figura 18), y cuando el tiempo t3 transcurre desde la primera activación del temporizador P3 mostrada en la Figura 18, el método del proceso de espera de recepción mostrado en la Figura 24 es ejecutado como el método del objeto específico.
Por otra parte, además en el ECU 1 de la presente realización, un mensaje que es generado como resultado de la ejecución del método de un objeto contiene OID (número de identificación de objeto) y MID (número de identificación del método) es decir, el código de identificación para indicar el método del objeto de destino. Además, el ECU1 de la realización actual está provisto con una base de datos 16 de información de conexión que almacena la combinación de OID y MID y la dirección de inicio de ejecución servida como información de posición de almacenamiento es decir, la dirección del encabezamiento de la ROM 5 en que los métodos respectivos de objetos indicados por combinaciones respectivas son almacenados de forma correspondiente. En el proceso de entrega de mensaje mostrado en la Figura 9, una dirección de inicio de ejecución del método de un objeto correspondiente al OID y MID de un mensaje de objeto leído desde la unidad 12 de almacenamiento de mensaje de objeto es especificada basándose en el contenido de la memoria de la base de datos 16 de información de contacto, y el método del objeto de destino del mensaje de objeto leído es ejecutado.
Por lo tanto, en el caso de que la posición de almacenamiento en la ROM 5 del método que constituye un objeto sea cambiada debido a la adición del objeto de manera simultánea con el cambio de diseño del programa, el cambio de posición de almacenamiento es acomodado solo cambiando el contenido de la base de datos 16 de información de conexión. En otras palabras, la independencia del objeto es mejorada, y el cambio de diseño del programa es fácil.
Una realización del presente invento está descrita con anterioridad, sin embargo, no significa que el presente invento esté limitado a la realización, pueden aplicarse distintas modificaciones.
Por ejemplo, en la realización, la solicitud del reloj de temporizador que es un acontecimiento para activar el proceso del reloj temporizador mostrado en la Figura 13 es generada cada tiempo predeterminado t, sin embargo, la solicitud de reloj temporizador puede estar estructurada de forma que sea generada de modo correspondiente al evento que es asíncrono con el tiempo, por ejemplo, en el tiempo en el que una señal de impulso es generada desde el sensor de rotación. Por ejemplo, en el caso de que una solicitud del reloj de temporizador es generada en el tiempo en el que es generada la señal de impulso desde el sensor de rotación, el contador de tiempo de cada mensaje de temporizador almacenado en la unidad 13 de almacenamiento del mensaje de temporizador es sustraído en 1 cada vez que es generada una señal de impulso desde el sensor de rotación.
En la realización, todos los objetos son almacenados en una ROM 5, sin embargo, en el caso en que los métodos de objetos son almacenados en una pluralidad de ROM, la información que indica una dirección de inicio de ejecución especificada de una ROM especificada puede ser almacenada como la información de posición de almacenamiento en la base de datos 16 de información de contacto.
5 Por otro lado, el ECU 1 de la realización es aplicado para controlar un motor de un vehículo, sin embargo, el presente invento puede aplicarse a aparatos de control electrónico para controlar otros objetivos de control tales como transmisiones automáticas y suspensiones de vehículos casi de la misma manera que la usada para el motor.
Un aparato (1) de control electrónico ha sido diseñado para realizar un programa de control en una forma de programación orientada al objeto. Un mensaje de primer tipo que no contiene un valor de cómputo generado como 10 resultado de la ejecución de un método de un objeto es almacenado en una unidad de almacenamiento de mensaje. En el momento en que la ejecución del método es completada, el mensaje de primer tipo almacenado es leído y un método del objeto correspondiente al destino del mensaje es ejecutado. Un mensaje de temporizador (n, m, P) que contiene un valor de cómputo generado como resultado de la ejecución del método del objeto es almacenado en otra unidad de almacenamiento. El valor de cómputo (contador de tiempo) de un mensaje de temporizador en la otra
15 unidad de almacenamiento es reducido uno por uno (S410) como resultado del proceso realizado cada tiempo predeterminado. El mensaje de temporizador con el valor de cómputo que alcanza 0 en la unidad de almacenamiento de mensaje es almacenado de nuevo como un mensaje de primer tipo (S430).
Claims (6)
- REIVINDICACIONES1.-Un aparato (1) de control electrónico provisto con una pluralidad de medios (3) para el tratamiento de unidad adaptados para realizar procesos para realizar funciones de unidad (OB1-OBn) de acuerdo con métodos de objetos formados dividiendo un programa de control en funciones de unidad correspondientes a objetos respectivos en los que cualquiera de la pluralidad de medios de tratamiento de unidad generan un mensaje servido como una solicitud de proceso que indica un medio de tratamiento de unidad como el destino durante la operación del proceso, y los medios de tratamiento de unidad que corresponden al destino del mensaje realizan por ello el proceso, el mensaje generado por los medios de tratamiento de unidad es clasificado en un mensaje del primer tipo que no contiene valor de cómputo (P1, P2, P3) y un mensaje de segundo tipo que contiene un valor de cómputo (P1, P2, P3) para indicar el tiempo de retardo hasta el instante en el que los medios de tratamiento de la unidad correspondientes al destino del mensaje comienza la operación del proceso,en que el aparato de control electrónico comprende:unos primeros medios de control de almacenamiento (3, S100-S130) que almacenan el mensaje de primer tipo generado por los medios de tratamiento de la unidad en unos primeros medios (12) de almacenamiento de mensaje;unos medios de control de activación (3, S210-S250) que leen el mensaje de primer tipo almacenado en primer lugar entre mensajes de primer tipo almacenados en los primeros medios (12) de almacenamiento de mensajes en el instante en que uno de la pluralidad de medios de tratamiento de unidad que ha generado el mensaje del primer tipo ha terminado la operación del proceso, controla los medios de tratamiento de unidad correspondientes al destino del mensaje de primer tipo leído para comenzar el proceso, y borra el mensaje de primer tipo leído desde los medios de almacenamiento de mensajes;unos segundos medios de control de almacenamiento (3, S300-S330) que almacenan el mensaje de segundo tipo generado a partir de los medios de tratamiento de unidad en los segundos medios (13) de almacenamiento de mensajes; yunos medios de control de retardo (3, S400-S430) que reducen el valor de cómputo del mensaje del segundo tipo almacenado en los segundos medios (13) de almacenamiento de mensajes a la vez que ocurre un evento predeterminado y vuelven a almacenar el mensaje del segundo tipo en los primeros medios (12) de almacenamiento de mensajes como el mensaje de primer tipo cuando el valor de cómputo alcanza un valor predeterminado,en que el aparato (1) de control electrónico está adaptado para controlar uno o más objetivos de un vehículo y cada función de unidad (OB1 a OBn) está adaptada para controlar uno de los uno o más objetivos de control, en el que uno o más objetivos de control comprenden al menos uno de entre un motor, una transmisión automática y una suspensión del vehículo; ylos medios de control de retardo (3 , S400-S430) vuelven a almacenar el mensaje de segundo tipo en una cola de mensajes de primer tipo almacenados en los primeros medios (12) de almacenamiento de mensajes.
- 2.- Un aparato de control electrónico según la reivindicación 1, en el que:los segundos medios (13) de almacenamiento de mensajes están estructurados de modo que sean capaces de almacenar una pluralidad de los mensajes de segundo tipo; ylos medios de control de retardo están estructurados de modo que reduzcan el valor de cómputo de todos los mensajes de segundo tipo almacenados en los segundos medios (13) de almacenamiento de mensajes en un valor predeterminado cada vez que ocurre el evento y vuelvan a almacenar el mensaje de segundo tipo con el valor de computo que ha alcanzado el valor predeterminado en los primeros medios (12) de almacenamiento de mensajes como el mensaje de primer tipo.
- 3.- Un aparato de control electrónico según la reivindicación 1 ó 2, en el que:los medios de control de retardo están está estructurados de modo que borran el mensaje del segundo tipo que ha vuelto a almacenar como el mensaje de primer tipo de los segundos medios (13) de almacenamiento de mensajes.
- 4.- Un aparato de control electrónico según cualquiera de las reivindicaciones 1 a 3, que comprende además:unos medios de borrado (3, S500-S530) que, cuando una solicitud de borrado del mensaje de segundo tipo para indicar un medio de tratamiento de unidad es generada a partir de los medios de tratamiento de unidad, borra el mensaje de segundo tipo correspondiente a la solicitud de borrado de los segundos medios (13) de almacenamiento de mensajes.
- 5.- Un aparato de control electrónico según cualquiera de las reivindicaciones 1 a 4, en el que:el método de objeto es almacenado en medios (5) de almacenamiento de programa predeterminado;un código de identificación para indicar el método del objeto correspondiente a los medios de tratamiento de unidad que es el destino del mensaje en los mensajes de primer y segundo tipo, y5 los medios de control de activación están provistos con medios (5, 16) de almacenamiento de posición de almacenamiento que almacenan un código de identificación y la información de posición de almacenamiento que representa la posición de almacenamiento del método indicado por el código de identificación en los medios de almacenamiento de programa como y está estructurado de modo que especifique la posición de almacenamiento en los medios de almacenamiento de programa del método indicado por el código de10 identificación contenido en el mensaje de primer tipo leído desde los primeros medios de almacenamiento de mensajes (12) y para controlar por ello los medios de tratamiento de unidad correspondientes al destino del mensaje de primer tipo leído para iniciar el proceso.
- 6.- Un aparato de control electrónico según la reivindicación 5, en el que:la información de posición de almacenamiento es la dirección que indica el área de memoria de los medios de 15 almacenamiento de programa.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP01200299A JP3663950B2 (ja) | 1999-01-20 | 1999-01-20 | 自動車用電子制御装置 |
| JP1200299 | 1999-01-20 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| ES2384955T3 true ES2384955T3 (es) | 2012-07-16 |
Family
ID=11793391
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES00100431T Expired - Lifetime ES2384955T3 (es) | 1999-01-20 | 2000-01-10 | Aparato de control electrónico operable sobre programa orientado al objeto |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US6665566B1 (es) |
| EP (1) | EP1022657B1 (es) |
| JP (1) | JP3663950B2 (es) |
| ES (1) | ES2384955T3 (es) |
Families Citing this family (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6502001B1 (en) * | 1997-07-18 | 2002-12-31 | Denso Corporation | Electronic control unit having reduced inter-object message memory requirements for object-oriented control program |
| DE10015114A1 (de) * | 2000-03-28 | 2001-10-04 | Bosch Gmbh Robert | Verfahren und Vorrichtung zur Modellierung eines mechatronischen Systems in einem Kraftfahrzeug |
| EP1550573B8 (en) * | 2002-06-24 | 2015-02-25 | Denso Corporation | Vehicle control information conveyance structure, vehicle control device using the conveyance structure, and vehicle control simulator using the conveyance structure |
| JP3859564B2 (ja) * | 2002-08-05 | 2006-12-20 | 日本電気株式会社 | イベント通知タスク制御処理方式及び方法並びにプログラム |
| JP2004078665A (ja) * | 2002-08-20 | 2004-03-11 | Nec Corp | タスク制御装置、及びタスク制御方法 |
| JP4009602B2 (ja) * | 2004-03-02 | 2007-11-21 | 日本電気通信システム株式会社 | リアルタイムosを用いたタスク処理方法、装置、及びプログラム |
| US20060253205A1 (en) * | 2005-05-09 | 2006-11-09 | Michael Gardiner | Method and apparatus for tabular process control |
| JP5033343B2 (ja) * | 2006-03-28 | 2012-09-26 | 株式会社野村総合研究所 | ジョブ管理装置およびジョブ管理方法 |
| US8856804B2 (en) * | 2008-02-08 | 2014-10-07 | Microsoft Corporation | Performance indicator for measuring responsiveness of user interface applications to user input |
| TWI377580B (en) * | 2008-04-03 | 2012-11-21 | Wistron Corp | Method and related device for data storage in an electronic device |
Family Cites Families (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5551035A (en) * | 1989-06-30 | 1996-08-27 | Lucent Technologies Inc. | Method and apparatus for inter-object communication in an object-oriented program controlled system |
| US5329619A (en) * | 1992-10-30 | 1994-07-12 | Software Ag | Cooperative processing interface and communication broker for heterogeneous computing environments |
| US5453933A (en) * | 1993-09-08 | 1995-09-26 | Hurco Companies, Inc. | CNC control system |
| GB9323241D0 (en) * | 1993-11-11 | 1994-01-05 | Int Computers Ltd | Message handler |
| GB2338325B (en) * | 1994-10-03 | 2000-02-09 | Univ Westminster | Data processing method and apparatus for parallel discrete event simulation |
| US5812390A (en) * | 1995-07-28 | 1998-09-22 | Dell Usa, L.P. | Apparatus and method for message variable reordering |
| US6587889B1 (en) * | 1995-10-17 | 2003-07-01 | International Business Machines Corporation | Junction manager program object interconnection and method |
| US5826095A (en) * | 1996-08-27 | 1998-10-20 | Hewlett-Packard Company | Method and apparatus for maintaining the order of data items processed by parallel processors |
| US5844794A (en) * | 1996-10-18 | 1998-12-01 | Allen Bradley Company, Llc | Electronic data communications system having data consumer defining data transmission structure |
| JP3663842B2 (ja) | 1997-07-18 | 2005-06-22 | 株式会社デンソー | 自動車用電子制御装置 |
-
1999
- 1999-01-20 JP JP01200299A patent/JP3663950B2/ja not_active Expired - Fee Related
- 1999-12-30 US US09/475,676 patent/US6665566B1/en not_active Expired - Fee Related
-
2000
- 2000-01-10 EP EP00100431A patent/EP1022657B1/en not_active Expired - Lifetime
- 2000-01-10 ES ES00100431T patent/ES2384955T3/es not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| EP1022657A3 (en) | 2005-12-07 |
| JP3663950B2 (ja) | 2005-06-22 |
| EP1022657B1 (en) | 2012-04-11 |
| EP1022657A2 (en) | 2000-07-26 |
| JP2000207174A (ja) | 2000-07-28 |
| US6665566B1 (en) | 2003-12-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| ES2384955T3 (es) | Aparato de control electrónico operable sobre programa orientado al objeto | |
| US7769923B2 (en) | Interrupt management for multiple event queues | |
| EP1856623B1 (en) | Including descriptor queue empty events in completion events | |
| Baron et al. | Mach kernel interface manual | |
| EP2362298A1 (en) | Transmit completion event batching | |
| JPH0683750A (ja) | 主システムとの間でデータを出入り転送するための装置と方法 | |
| EP0354998B1 (en) | Timer channel for use in a multiple channel timer system | |
| JPH06309252A (ja) | 相互接続インタフェース | |
| US6668314B1 (en) | Virtual memory translation control by TLB purge monitoring | |
| JP2978539B2 (ja) | データ転送制御装置 | |
| US4177515A (en) | Interrupt adapter for data processing systems | |
| US5089953A (en) | Control and arbitration unit | |
| US5572697A (en) | Apparatus for recovering lost buffer contents in a data processing system | |
| JPH08241186A (ja) | バッファメモリ管理ユニット及びバッファメモリ管理方法 | |
| JPH07262034A (ja) | データ引き継ぎシステム | |
| JP3312362B2 (ja) | マルチプロセッサシステム | |
| JP7476638B2 (ja) | マルチプロセッサシステム | |
| JP3824122B2 (ja) | Dma装置 | |
| EP2383658A2 (en) | Queue depth management for communication between host and peripheral device | |
| JP2736237B2 (ja) | 遠隔メモリアクセス制御装置 | |
| JPH0644295B2 (ja) | タイマ装置及びタイマ方法 | |
| JP3663842B2 (ja) | 自動車用電子制御装置 | |
| JP3265582B2 (ja) | マイクロコンピュータ | |
| US6502001B1 (en) | Electronic control unit having reduced inter-object message memory requirements for object-oriented control program | |
| CN116909799B (zh) | 数据访问方法和片上系统 |