Data processing device, data processing method and data processing program

The data processing device ensures emergency data is prioritized by dynamically updating output settings, preventing overwriting in vehicle systems with shared output destinations.

DE112015007104B4Active Publication Date: 2026-06-18MITSUBISHI ELECTRIC CORP

Patent Information

Authority / Receiving Office
DE · DE
Patent Type
Patents
Current Assignee / Owner
MITSUBISHI ELECTRIC CORP
Filing Date
2015-12-10
Publication Date
2026-06-18

AI Technical Summary

Technical Problem

Existing vehicle systems face issues where applications sharing a single output destination can overwrite emergency data due to inconsistent processing times, leading to ineffective output of emergency data.

Method used

A data processing device with an output setting update section that changes the output settings of applications to 'effective' or 'ineffective' based on priority, ensuring emergency data is prioritized and not overwritten.

Benefits of technology

Prevents emergency data from being overwritten by non-emergency data by dynamically updating output settings, maintaining the integrity of emergency data transmission.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

When data output is requested from multiple applications by an application whose default output setting is set to "ineffective," an output setting update part (120) updates an output setting of the requesting application from "ineffective" to "effective" and updates an output setting of another application that outputs data to the same output destination as the requesting application and whose default output setting is set to "effective" from "effective" to "ineffective." An output control part (160) outputs data from an application whose output setting is "effective."
Need to check novelty before this filing date? Find Prior Art

Description

Technical field

[0001] The present invention relates to a technique for controlling the data output of an application program (hereinafter referred to as "application").

[0002] The following describes, as an example, a technique for controlling the data output of an application of a vehicle system installed in a vehicle. State of the art

[0003] A vehicle system is equipped with various types of electronic devices. The number of vehicle control devices (hereinafter referred to as "electronic control units" (ECUs)) installed to control these electronic devices has increased in recent years, along with the multifunctionality and complexity of the vehicle system.

[0004] On the other hand, as the performance of an embedded central processing unit (CPU) for performing arithmetic operations has improved, a trend has accelerated toward having multiple functions (applications) implemented by a single ECU. When multiple applications are implemented by one ECU, they share computing resources. Consequently, the processing time of one application and its access time to an external network or device can be affected by the processing of another application. As a result, the application may operate at a different time than it would if it were operating alone. In response to this problem, a technique for controlling the access times of an external connection has been disclosed.

[0005] For example, patent document 1 discloses a method in which data to be sent to a network is temporarily stored in a database and a transmission process is controlled based on preset information about a transmission time. Patent document 2 discloses a system, a method, and a program for priority-based control of resource conflicts between multiple applications on a computer. Patent document 3 describes a controller with multiple release and parallel arbitration, as well as a corresponding method. List of patent literature Patent document 1: JP 2010 - 231 407 A Patent document 2: JP 2004 - 362 425 A Patent document 3: US 2004 / 0 068 625 A1 Summary of the invention: Technical problem

[0006] Patent document 1 does not account for the possibility of multiple applications accessing a single output destination. For example, it assumes that a first application, operating during normal hours, and a second application, operating only in emergencies, both output data to the same destination. In the emergency, the second application outputs data to the destination. However, if the first application is still operating in the same manner as during normal hours, it can output data to the same destination after the second application has already output its data.

[0007] The problem is that if data from the first application is output to the same output destination after data from the second application has been output, the data from the second application will be overwritten and deleted by the data from the first application.

[0008] A key objective of the present invention is to solve this problem. The main aim of the present invention is to prevent another application from outputting to the same output destination after data has been output by an application that only outputs data in a specific case, such as an emergency – that is, an application whose default output setting is rendered "ineffective". Solution to the problem

[0009] A data processing device according to the present invention comprises: an output setting update section to update, when data output is requested by an application whose default output setting is set to "ineffective" among multiple applications, an output setting of the requesting application from "ineffective" to "effective" and to update an output setting of another application that outputs data to the same output destination as the output destination of the requesting application and whose default output setting is set to "effective", from "effective" to "ineffective"; and an output control section for outputting data from an application whose output setting is "effective". Advantageous effects of the invention

[0010] In the present invention, when data output is requested by an application whose default output setting is set to "ineffective", an output setting of the requesting application is updated from "ineffective" to "effective", and an output setting of another application that outputs data to the same output destination as the output destination of the requesting application and whose default output setting is set to "effective" is updated from "effective" to "ineffective".

[0011] Therefore, according to the present invention, after data has been received from the application whose default output setting has been set to "ineffective", no data from the other application will be output to the same output destination. Brief description of the drawings Fig. Figure 1 illustrates a hardware configuration example of an ECU according to embodiment 1. Fig. Figure 2 illustrates an example of a functional configuration of the ECU according to embodiment 1. Fig. Figure 3 illustrates an example of a parameter table according to embodiment 1. Fig. Figure 4 illustrates an example of an output table according to embodiment 1. Fig. Figure 5 is a flowchart illustrating an operational example for an output setting update section according to embodiment 1. Fig. Figure 6 is a flowchart illustrating an operational example for an output control section according to embodiment 1. Fig. Figure 7 is a flowchart illustrating an operational example for the output control section according to embodiment 1. Fig. Figure 8 illustrates an example of a parameter table according to embodiment 2. Fig. Figure 9 illustrates an example of an output table according to embodiment 2. Fig. Figure 10 illustrates an example of a parameter table according to embodiment 3. Fig. Figure 11 illustrates an example of a functional configuration of an ECU according to embodiment 4. Fig. Figure 12 illustrates an example of a parameter table according to embodiment 4. Fig. Figure 13 illustrates an example of a recovery table according to embodiment 4. Fig. Figure 14 is a flowchart illustrating an operational example for an output setting update section according to embodiment 4. Fig. Figure 15 illustrates an example of a parameter table according to embodiment 1. Description of Implementation Examples Implementation Example 1*** Configuration Description ***

[0012] Fig. Figure 1 illustrates a hardware configuration example for an ECU 100 according to the present embodiment. Fig. Figure 2 illustrates an example of a functional configuration for the ECU 100 according to the present embodiment.

[0013] The ECU 100 is a computer.

[0014] The ECU 100 contains a processor 400, a storage device 500, an input / output (I / O) device 170 and a communication device 180 as hardware.

[0015] The processor 400, the storage device 500, the I / O device 170 and the communication device 180 are connected to each other by a bus.

[0016] The I / O device 170 is connected to devices 200 and 201 outside the ECU 100. The communication device 180 is connected to a network 300 outside the ECU 100.

[0017] Devices 200 and 201 are, for example, actuators.

[0018] The Network 300, for example, is a Controller Area Network (CAN), an Ethernet (registered trademark), or the like.

[0019] The ECU 100 is an example of a data processing device.

[0020] As in Fig. As illustrated in Figure 2, the ECU contains 100 applications 111, 112 and 113, an output setting update part 120, a scheduling part 150, an output control part 160, a parameter table memory part 130 and an output table memory part 140 as a functional configuration.

[0021] Although in Fig. Just because three applications are illustrated in Figure 2, the number of applications does not need to be three.

[0022] Applications 111, 112 and 113, the output setting update section 120, the scheduling section 150 and the output control section 160 are implemented by programs.

[0023] These programs are stored in memory device 500. Processor 400 executes these programs to implement operations of applications 111, 112, and 113, output setting update part 120, scheduling part 150, and output control part 160, which are described later.

[0024] The parameter table memory section 130 and the output table memory section 140 are implemented by the storage device 500.

[0025] The 400 processor is an integrated circuit (IC) for performing processing, for example a CPU (central processing unit).

[0026] The storage device 500 can be random access memory (RAM), read-only memory (ROM), flash memory, hard disk drive (HDD), or the like.

[0027] The I / O device 170, for example, is an interface device for the devices 200 and 201.

[0028] The communication device 180 includes a receiver that receives data and a transmitter that sends data. The communication device 180 is a communication interface device, such as a CAN control device, an Ethernet (registered trademark) control device, or the like. *** Description of the working method ***

[0029] Next, the working methods of each in Fig. 2 illustrated elements described.

[0030] Each of the applications 111, 112, and 113 starts data processing with a unique cycle. Afterwards, applications 111, 112, and 113 each request the output settings update part 120 to output data displaying the results of the data processing.

[0031] The output settings update section 120 accepts the data output request from each of the applications 111, 112 and 113.

[0032] When data output is requested from an application whose default output setting is set to "ineffective" among the multiple applications, the output setting update part 120 updates the requesting application's output setting from "ineffective" to "effective". Additionally, output setting update part 120 updates an output setting of another application that outputs data to the same output destination as the requesting application and whose default output setting is set to "effective" from "effective" to "ineffective".

[0033] The data whose output is requested by an application will be referred to below as "output data".

[0034] The default output setting is described in a parameter table. The output setting is described in an output table.

[0035] The parameter table is stored in parameter table memory section 130. The output table is stored in output table memory section 140.

[0036] Details of the parameter table and the output table will be described later.

[0037] The output control section 160 outputs output data from an application whose output setting in the output table is set to "effective" to a corresponding output destination.

[0038] If the output destination is device 200 or 201, the output control unit 160 sends the output data to the I / O device 170 to cause the I / O device 170 to output the data to device 200 or 201. Conversely, if the output destination is network 300, the output control unit 160 sends the output data to the communication device 180 to cause the communication device 180 to output the data to network 300.

[0039] The parameter table memory section 130 stores the parameter table.

[0040] The parameter table defines an output time, an output destination, and a default output setting for each application.

[0041] The parameter table memory section 130 is implemented, for example, using flash memory.

[0042] The output table memory section 140 stores the output table.

[0043] The output table indicates the presence or absence of the output request, output setting, and output data.

[0044] The output table memory section 140, for example, is implemented by RAM.

[0045] The timing section 150 manages an activation cycle of the output control section 160.

[0046] The timing unit 150 can also manage the activation of applications 111, 112 and 113.

[0047] The timing part 150 is implemented, for example, by an operating system (OS).

[0048] Fig. Figure 3 illustrates an example of the parameter table.

[0049] The parameter table consists of an output ID, an application ID, a cycle, an output time, an access type, an output destination, a default output setting, and a priority.

[0050] The output ID can be any type of identifier and can be a symbol or a number.

[0051] The identifiers for applications 111, 112, and 113 are written in the application ID. A symbol or a number may also be included in the application ID.

[0052] An application execution cycle is written into the cycle. If the same application ID is written to multiple records, the same cycles are written for the same application IDs.

[0053] The point in time at which the output data is output from the application to outside the ECU 100 is written into the output time.

[0054] The output data type is written to the access type. The first and second lines in Fig. 3. Describe that a digital signal is being output. Alternatively, a name, symbol, or communication identifier of a network can also be written in the access type column.

[0055] An output destination for the output data is written to the output destination. For example, a name, symbol, or communication identifier to identify a device or network is written to the output destination.

[0056] A default value for the output setting is written to the default output setting. For an application that outputs its data to the destination in every cycle, the default output setting is set to "effective". For an application that outputs its data to the destination only in a specific case, such as an emergency, the default output setting is set to "ineffective".

[0057] Priority is a ranking order between two or more applications sharing a common output destination. If an application whose default output setting is "ineffective" is among the two or more applications sharing the same output destination, the priority of the application with the "ineffective" default output setting is higher than the priority of the application with the "effective" default output setting.

[0058] If the default output settings of two or more applications sharing a common output destination are set to "override," the priorities between these two or more applications must be distinguished. For example, suppose three applications (applications 111, 112, and 113) share a common output destination, and the default output settings of two applications (applications 112 and 113) are set to "override," as shown in the parameter table in Fig. Figure 15 illustrates this. In this case, the priorities between applications 112 and 113 must be distinguished. The priority of application 111, whose default output setting is "effective," is the lowest among the three applications.

[0059] Each value in the parameter tables in Fig. 3 and Fig. 15 is a static value and is not updated by the output setting update part 120.

[0060] The first line (output ID 1) in the parameter table in Fig. Line 3 indicates that application 111 operates with a 100 ms cycle. The first line also indicates that output data from application 111 is sent to device 200 at 60 ms within the 100 ms cycle. According to the first line, because the default output setting is "active," output data from application 111 is sent to device 200 in every cycle.

[0061] The second line (output ID 2) in the parameter table indicates that application 112 operates with a 20 ms cycle. This second line also indicates that output data from application 112 is sent to device 200 at a time 10 ms within the 20 ms cycle. According to the second line, because the default output setting is "ineffective," output data from application 112 is only sent to device 200 in a specific case, such as an emergency. For example, application 112 monitors a target and outputs data indicating an anomaly at the target if such an anomaly occurs.

[0062] The third line (output ID 3) in the parameter table indicates that application 113 operates with a cycle of 100 ms. This third line also indicates that the output data from application 113 is sent to the CAN bus, specifically network 300, at 70 ms within the 100 ms cycle. According to this third line, because the default output setting is "active," the output data from application 113 is sent to network 300 in every cycle.

[0063] Fig. Figure 4 illustrates an example of the output table.

[0064] The output table consists of an output ID, an output request, an output setting, and output data.

[0065] The identifier, which is the same as that of the output ID in the parameter table, is described in the output ID.

[0066] The presence or absence of the output request from the application is described in the output request.

[0067] The current output setting is described in the output setting.

[0068] The output data from an application is stored in the output data.

[0069] Output request and output setting values ​​are updated by the output setting update part 120.

[0070] This means that until an application submits an output request, the value of the output request is "absent". Then, when the output request is accepted by an application, the output setting update part 120 updates the value of the output request to "present".

[0071] The initial value of the output setting for a login whose default output setting is "effective" is "effective". The initial value of the output setting for an application whose default output setting is "ineffective" is "ineffective".

[0072] Since the application's default output setting 111 in the first row (output ID 1) of the parameter table is "effective," the initial value of the output setting in the first row (output ID 1) of the output table is "effective." Similarly, since the application's default output setting 112 in the second row (output ID 2) of the parameter table is "ineffective," the initial value of the output setting in the second row (output ID 2) of the output table is "ineffective."

[0073] When an output request is accepted by application 112, whose default output setting is "ineffective," the output setting update part 120 updates the value of the output setting in the second row (output ID 2) in the output table from "ineffective" to "effective." Additionally, the output setting update part 120 updates the value of the output setting in the first row (output ID 1) in the output table from "effective" to "ineffective," where the first row (output ID 1) corresponds to application 111, whose output destination is the same as that of application 112 and whose default output setting is "effective."

[0074] The output control section 160 refers to the values ​​of the output request and the output setting in the output table to determine whether the output of the output data is permitted.

[0075] Data specified by the access type in the parameter table is stored in the output data. For example, since the access type in the first row (output ID 1) of the parameter table is a digital signal output, 1 bit of data is written to the output data in the first row (output ID 1) of the output table.

[0076] In the present embodiment, application 111 operates with a cycle of 100 ms, application 112 operates with a cycle of 20 ms, and application 113 operates with a cycle of 100 ms.

[0077] Application 111 generates output data for device 200 and requests output setting update part 120 to output the output data in each cycle.

[0078] Under a specific condition, for example, in an emergency, application 112 generates output data for device 200, which is the output destination of application 111, and requests the output setting update part 120 to output the data. For example, in an emergency, application 112 generates a command to stop device 200 as the output data.

[0079] Fig. Figure 5 is a flowchart illustrating an operational example for the output settings update section 120.

[0080] The operation example of the output settings update section 120, which is in Fig. Figure 5 illustrates an example of an output settings update process.

[0081] The output settings update part 120 is called by the application that generated the output data.

[0082] When application 111 requests output setting update part 120 to output the output data, application 111 adds output ID 1 to the output data and sends the output data with output ID 1 appended to it to output setting update part 120 as the output request.

[0083] Upon receiving the output request, the output setting update part 120 in step S100 refers to the one in Fig. 4 illustrated output table.

[0084] Then, in step S101, the output setting update part 120 checks whether the output setting is "effective" in the output table.

[0085] In the example in Fig. 4, since the output setting of output ID 1 is “effective”, the determination in step S101 is “YES”, and the process continues to step S105.

[0086] In step S105, the output settings update part 120 updates the output table.

[0087] More precisely, the output setting update part 120 updates the output request in the output table from "absent" to "present" and writes the output data to the output table.

[0088] When application 112 requests output setting update part 120 to output the output data, application 112 adds output ID 2 to the output data and sends the output data with the output ID 2 added to it as the output request to output setting update part 120.

[0089] In step S100, the output settings update part 120 refers to the output table.

[0090] In the example in Fig. 4, since the output setting of output ID 2 is “ineffective”, the determination in step S101 is “NO”, and the process continues to step S102.

[0091] In step S102, output setting update part 120 refers to the parameter table to retrieve an output ID for which the same output destination is described as the output destination of the output ID whose output setting is defined as "ineffective" in step S102. That is, output setting update part 120 retrieves an output ID from an application that outputs data to the same output destination as the output destination of the requesting application.

[0092] In the example in Fig. Since the output destination of output ID 2 is device 200, output setting update part 120 retrieves the parameter table for an output ID whose output destination is device 200. As a result of this retrieval, output setting update part 120 acquires output ID 1, whose output destination is device 200.

[0093] Next, in step S103, the output setting update part 120 determines whether the priority of the output ID acquired in step S102 is higher than the priority of the output ID whose output setting is "ineffective", and determines whether the output setting of the output ID acquired in step S102 is "effective" in the output table.

[0094] The output setting of output ID 1 retrieved in step S102 is "effective" in the output table, but the priority is lower than that of output ID 2.

[0095] If the determination in step S103 is “YES”, the output setting update part 120 informs the requesting application in step S106 that output of the output data is not permitted and terminates the process for the output request.

[0096] If, on the other hand, the determination in step S103 is "NO", the output setting update part 120 in step S104 updates the output setting of the output ID retrieved in step S102 from "effective" to "ineffective" if the output setting is "effective". Furthermore, in step S105, the output setting update part 120 updates the output request of the output ID whose output setting is "ineffective" from "absent" to "present", updates the output setting from "ineffective" to "effective", and writes the output data to the output table.

[0097] As described above, since the priority of output ID 1 is lower than the priority of output ID 2, the determination in step S103 is "NO". Therefore, in step S105, output setting update part 120 updates the output request of output ID 2 from "absent" to "present", updates the output setting from "ineffective" to "effective", and writes the output data to the output table. Furthermore, in step S104, output setting update part 120 updates the output setting of output ID 1 in the output table from "ineffective" to "effective".

[0098] As shown in parameter table 3, if two applications share the output destination, and the default output setting of one of these applications is "effective" and the default output setting of the other application is "ineffective," the determination in step S103 is always "NO" because the priority of the other application, whose default output setting is "ineffective," is higher. Thus, if the output setting update part 120 is requested by one application (application 112) from among several applications (applications 111 and 112) whose default output setting is set to "ineffective," the output setting update part 120 updates the output setting in the output table of the requesting application (application 112) from "ineffective" to "effective."In addition, the output setting update part 120 updates the output setting of the other application (application 111) that outputs data to the same output destination as the requesting application and whose default output setting is set to "effective", from "effective" to "ineffective".

[0099] As shown in the parameter table in Fig. 15 determines, if three or more applications share the output destination and the default output settings of two or more of these applications are set to "ineffective", the output settings update part 120 determines, based on the priorities between the applications whose default output settings are "ineffective" and the output settings in the output table, whether the output table should be updated.When the output setting update part 120 is requested to output data by an application (for example, application 112) whose default output setting is set to "ineffective" among several applications (applications 111, 112, and 113), the output setting update part 120 updates the output setting of the requesting application (application 112) from "ineffective" to "effective" unless the output setting in the output table for an application (application 113) that outputs data to the same output destination as the output destination of the requesting application (application 112) is set to "effective," whose default output setting is set to "ineffective," and whose priority is higher than the priority of the requesting application.In addition, the output setting update part 120 updates the output setting in the output table of the other application (application 111), which outputs data to the same output destination as the output destination of the requesting application and whose default output setting is set to "effective", from "effective" to "ineffective".

[0100] In the example of the parameter table in Fig. 3. If the output request of application 112 is issued before the output request of application 111 within the cycle of application 111, the output data of application 111 will not be issued.

[0101] This means that, due to the output request from application 112, the output setting of output ID 1 in step S105 was updated to "ineffective", and therefore the determination in step S101 is "NO". Then, in step S102, the parameter table ( Fig. 3) Reference is made to output ID 2, whose output destination is device 200, which is also the output destination of output ID 1. Since the priority of output ID 2 is higher than that of output ID 1 and the output setting of output ID 2 is "effective" (already updated in step S105), the determination in step S103 is "YES".

[0102] As a result, the output setting update part 120 in step S106 informs application 111 that the output of the output data is not permitted.

[0103] In the example of the parameter table in Fig. 15. If the output request of application 113 is issued before the output request of application 112 within the cycle of application 112, the output data of application 112 will not be issued.

[0104] This means that, with regard to the output request of application 112, since the output setting is "ineffective", the determination in step S101 is "NO". Then, in step S102, the parameter table ( Fig. 15) Reference is made to, and output ID 3 is extracted, whose output destination is device 200, which is also the output destination of output ID 2. Since the priority of output ID 3 is higher than that of output ID 2 and the output setting of output ID 3 is "effective" (already updated in step S105), the determination in step S103 is "YES".

[0105] As a result, the output setting update part 120 in step S106 informs application 112 that the output of the output data is not permitted.

[0106] Fig. Figure 6 illustrates a flowchart of the output control section 160 at the time of output.

[0107] The in Fig. 6 illustrated operational example of the output control part 160 corresponds to an example of an output control process.

[0108] The output control section 160 is activated by the timing section 150 at the output time described in the parameter table. For example, with respect to output ID 1 in the parameter table, the output control section 160 is activated at a time of 60 ms (at a time 60 ms after activation 111), which is written to the output time.

[0109] When activated, the output control section 160 in step S200 refers to the output table.

[0110] If the output request is "present" and the output setting is "effective" with reference to the corresponding output ID (step S201 is "YES") in the output table, the output control section 160 executes the output process in step S202. That is, the output control section 160 outputs the output data to the output destination.

[0111] On the other hand, if the conditions in S201 are not met, output control part 160 terminates the process without carrying out the output process.

[0112] Fig. Figure 7 illustrates a flowchart of the output control section 160 at the beginning of a cycle.

[0113] The in Fig. 7 illustrated operational example of the output control section 160 also corresponds to an example of the output control process.

[0114] In addition to the output time defined in the parameter table, output control section 160 is also activated at a specific time for each application to start data processing. This means that output control section 160 is activated by scheduling section 150 at a specific point in the cycle defined in the parameter table and initializes the output table.

[0115] According to the parameter table in Fig. Application 111 is activated with a cycle of 100 ms, application 112 is activated with a cycle of 20 ms, and application 113 is activated with a cycle of 100 ms. Therefore, output control unit 160 is activated at the beginning of each cycle.

[0116] For example, when the output control part 160 is activated at the beginning of the cycle of application 111, it updates the output request of output ID 1 in the output table in step S300 to "absent".

[0117] Furthermore, in step S301, the output control section 160 returns the output setting of output ID 1 in the output table to "effective", which is the value of the default output setting in the parameter table.

[0118] If the application 111 uses multiple output IDs, the output control part 160 performs the same process for each of the output IDs.

[0119] The in the Fig. 5, Fig. 6 to Fig. The 7 illustrated operations correspond to examples of a data processing procedure and a data processing program. *** Description of the effects of the embodiment ***

[0120] According to the present embodiment, even if output requests from multiple applications are sent to the same output destination at different times, it is possible to determine, based on priorities, whether the output processes are permissible. Therefore, even if the processing sequence and output time sequence between the applications are incompatible, an unintended output operation can be prevented.

[0121] In the present embodiment, when data output is requested by an application whose default output setting is set to "ineffective", an output setting of the requesting application is updated from "ineffective" to "effective", and an output setting of another application that outputs data to the same output destination as the output destination of the requesting application and whose default output setting is set to "effective" is updated from "effective" to "ineffective".

[0122] Thus, according to the present embodiment, after data has been output by the application whose default output setting is set to "ineffective", data from the other application will not be output to the same output destination.

[0123] Accordingly, if the default output setting of a first application, which outputs data at normal times, is set to "effective," and the default output setting of a second application, which outputs data in an emergency, is set to "ineffective," it is possible to avoid a situation in which, in an emergency, the output data from the second application is output first, and then the output data from the first application is output. That is, according to the present embodiment, it is possible to avoid a situation in which the output data from the second application is overwritten and deleted by the output data from the first application. Example 2

[0124] In this embodiment, the main differences compared to embodiment 1 are described.

[0125] The items not described in the following description are the same as those in embodiment 1. *** Configuration Description ***

[0126] A hardware configuration example and a functional configuration example of the ECU 100 according to the present embodiment are the same as those in embodiment 1.

[0127] Fig. Figure 8 illustrates an example of a parameter table for the ECU 100 according to embodiment 2.

[0128] The description of output IDs 1 and 2 is the same as that in the parameter table in Fig. 3.

[0129] For output ID 3, it is described that an application 113 operates with a cycle of 100 ms and outputs data to device 201 at a time point of 70 ms within that 100 ms cycle. Additionally, the default output setting "effective" is enabled for output ID 3.

[0130] For output ID 4, it is described that application 113 operates with a cycle of 100 ms and outputs data to device 201 at a point in time of 40 ms within that 100 ms cycle. Additionally, the default output setting for output ID 4 is "ineffective".

[0131] Since the default output setting of output ID 4 is "ineffective" and the default output setting of output ID 3 is "effective", the priority of output ID 4 is higher than the priority of output ID 3.

[0132] In the present embodiment, the application 113 outputs externally to the device 201, which is an output destination, at two different times. For example, it is assumed that data is output at time 70 ms in the 100 ms cycle according to output ID 3 in the parameter table at a normal time, and data is output at time 40 ms in the 100 ms cycle to stop the device 201 in an emergency.

[0133] The output time specified in output ID 3 will henceforth be referred to as the "first output time", and the output time specified in output ID 4 will be referred to as the "second output time".

[0134] Fig. Figure 9 illustrates an example of an output table according to embodiment 2.

[0135] The meaning of each element in the output table in Fig. 9 is the same as the one in the output table in Fig. 4.

[0136] The output table in Fig. 9 manages the output IDs 1 to 4 according to the parameter table in Fig. 8. The output setting of output ID 3 can be updated from "effective" to "ineffective", and the output setting of output ID 4 can be updated from "ineffective" to "effective". *** Description of the working method ***

[0137] In the present embodiment, as described above, the first and second data output times for application 113 are set as the times for outputting data. The output destination for the first data output time and the output destination for the second data output time are the same. The default output setting for the first data output time is set to "effective," and the default output setting for the second data output time is set to "ineffective."

[0138] Application 113 adds one of the output ID 3 and output ID 4 to the output data and sends an output request to the output setting update part 120.

[0139] When application 113 requests the output of the data at the second data output time, that is, when application 113 adds output ID 4 to the output data, the output setting update part 120 in the output table updates the output setting of output ID 4 from "ineffective" to "effective" and updates the output setting of output ID 3 from "effective" to "ineffective".

[0140] When application 113 requests the output of the data at the first data output time, that is, when application 113 adds output ID 3 to the output data, the output setting update part 120 does not update any value of the output setting in the output table.

[0141] The output control unit 160 outputs the output data of the output ID whose output setting is "effective" to the device 201, which is an output destination.

[0142] In the present embodiment, the output setting update section 120 also operates according to the description in Fig. 5 illustrated process, and the output control section 160 operates according to the instructions in the Fig. 6 and Fig. 7 illustrated processes. *** Description of the effects of the embodiment ***

[0143] According to the present embodiment, if the application intends to output data for a normal time and data for an emergency to the same output destination, one of the outputs is selected based on priority. Example 3

[0144] The present embodiment mainly describes differences compared to embodiment 1.

[0145] The items not described in the following description are the same as those in embodiment 1. *** Configuration Description ***

[0146] A hardware configuration example and a functional configuration example of the ECU 100 according to the present embodiment are the same as those in embodiment 1.

[0147] Fig. Figure 10 illustrates an example of a parameter table for the ECU 100 according to embodiment 3.

[0148] The descriptions of output IDs 1 and 2 are the same as those in the parameter table in Fig. 3.

[0149] For output ID 3, it is described that an application 113 operates with a cycle of 100 ms and outputs data to device 201 at a time point of 70 ms within that 100 ms cycle. Additionally, the default output setting "effective" is enabled for output ID 3.

[0150] For output ID 4, it is described that application 113 operates with a cycle of 100 ms and outputs data to device 201 at a point in time of 40 ms within that 100 ms cycle. Additionally, the default output setting for output ID 4 is "in effect".

[0151] The differences compared to embodiment 2 are that the default output setting is "effective" for each of the output IDs 3 and 4, and the priorities are the same. *** Description of the working method ***

[0152] In embodiment 3, the application 113 outputs data several times at different times to the device 201, which is the output destination.

[0153] Application 113 adds one of the output IDs 3 and 4 to the output data and sends an output request to the output settings update part 120.

[0154] Output settings update part 120 updates the output table according to the settings in Fig. 5 illustrates the process. Since the output settings for both output IDs 3 and 4 are "effective", the determination in step S101 is "YES" at all times, and the output setting update part 120 updates the output request in the output table from "absent" to "present" in step S105 and writes the output data to the output table.

[0155] The output control unit 160 operates according to the specifications in the Fig. 6 and Fig. 7 illustrated processes. *** Description of the effects of the embodiment ***

[0156] According to the present embodiment, if the application outputs data to the same output destination multiple times at different times, all data can be output. Example 4

[0157] In this embodiment, the main differences compared to embodiment 1 are described.

[0158] The items not described in the following description are the same as those in embodiment 1. *** Configuration Description ***

[0159] Fig. Figure 11 illustrates an example of a functional configuration of the ECU 100 according to embodiment 4.

[0160] One difference compared to the configuration in Fig. 2 is a retrieval table memory section 190.

[0161] The retrieval table memory section 190 stores a retrieval table.

[0162] The retrieval table associates an application whose default output setting is set to "ineffective" and an application whose default output setting is set to "effective", which share a common output destination.

[0163] In the present embodiment, the output setting update part 120 refers to the retrieval table and identifies another application that outputs data to the same output destination as the output destination of the requesting application and whose default output setting is set to "effective".

[0164] Fig. Figure 13 illustrates an example of the retrieval table.

[0165] The retrieval table in Fig. 13 corresponds to the parameter table in Fig. 12. First, the parameter table is entered into Fig. 12 described.

[0166] According to the parameter table in Fig. Output IDs 1 and 2 are set for output to device 200. Output IDs 3 and 4 are also set for output to device 201.

[0167] In the present embodiment, in comparison to the parameter tables in the Fig. 3 and Fig. 10. Added an element of the retrieval table ID.

[0168] Next, the retrieval table will be in Fig. 13 described.

[0169] The retrieval table is composed of the retrieval table ID and the parameter table output IDs.

[0170] The value of the retrieval table ID in the parameter table is written to the retrieval table ID.

[0171] The output ID in the parameter table that has a common output destination is written to each of the parameter table output IDs.

[0172] According to the parameter table in Fig. In the 12th case, the output destinations for output IDs 1 and 2 are the same. Therefore, output IDs 1 and 2 are each placed in the parameter table "Output IDs 1 and 2" of the retrieval table ID 1 in the retrieval table of Fig. 13 written. According to the parameter table in Fig. 12. The output destinations of output IDs 3 and 4 are the same. Thus, output IDs 3 and 4 are each assigned to parameter table output IDs 1 and 2 of retrieval table ID 2 in the retrieval table of Fig. 13 written. *** Description of the working method ***

[0173] Fig. Figure 14 illustrates an operational example for the output setting update section 120 according to the present embodiment.

[0174] Steps S110 and S111 are the same as steps S100 and S101 in Fig. 5, and therefore their description is omitted.

[0175] If the determination in step S111 is "NO", the output setting update part 120 refers to the parameter table in step S112. More precisely, the output setting update part 120 refers to the retrieval table ID of the output ID that is subject to the output.

[0176] If no retrieve table ID exists (step S113 is “NO”), there is no other output ID whose output destination is the same as that of the output ID requesting the output, and thus the output table is updated in step S118.

[0177] In step S118, the output setting update part 120 updates the output request in the output table from "absent" to "present", updates the output setting from "ineffective" to "effective" and writes the output data to the output table.

[0178] On the other hand, if a lookup table ID exists (step S113 is "YES"), the output setting update part 120 in step S114 refers to the lookup table. More precisely, the output setting update part 120 refers to the parameter table output IDs in the entry of the lookup table ID that was acquired in step S113 in the lookup table.

[0179] Furthermore, the output setting update part 120 acquires another output ID, whose output destination is the same as that of the output ID requesting the output, from the parameter table output IDs.

[0180] For example, if output ID 2 is added to the output data, the output setting update part 120 acquires the retrieval table ID 1 from the parameter table and acquires the output ID 1 written into the entry of retrieval table ID 1 from the retrieval table.

[0181] Next, in step S115, the output setting update part 120 refers to the priority of the acquired other output ID in the parameter table and also refers to the output setting of the acquired other output ID in the output table.

[0182] Then, in step S116, the output settings update part 120 works in a similar way to step S103 in Fig. 5.

[0183] That is, the output setting update part 120 determines whether the priority of the other output ID is higher than the priority of the output ID requesting the output, and whether the output setting of the other output ID is "effective".

[0184] If the determination in step S116 is “YES”, the output setting update part 120 informs the application requesting the output in step S119 that the output data is not allowed and terminates the output request process.

[0185] If, on the other hand, the determination in step S116 is "NO", the output setting update part 120 updates the output setting of the other output ID retrieved in step S113 from "effective" to "ineffective" in step S117. In step S118, the output setting update part 120 updates the output request from "absent" to "present" and updates the output setting from "ineffective" to "effective" with reference to the output ID requesting the output, and writes the output data to the output table. *** Description of the effects of the embodiment ***

[0186] According to the present embodiment, an application whose output destination is the same as that of the application requesting the output can be retrieved quickly. In embodiments 1 to 3, retrieving an application whose output destination is the same as that of the application requesting the output requires referring entirely to the parameter table. In contrast, in the present embodiment, using the retrieval table makes it possible to complete the retrieval quickly and save computing resources.

[0187] Among the embodiments of the invention described above, two or more of these embodiments can be combined and practiced together.

[0188] Alternatively, one of these implementation examples can be partially implemented.

[0189] Alternatively, two or more of these embodiments can be partially combined and practiced together.

[0190] The invention is not limited to these embodiments and can be modified as necessary. *** Hardware Configuration Description ***

[0191] Finally, a supplementary explanation of the ECU's hardware configuration is described.

[0192] Although a 400 processor in Fig. As illustrated in Figure 1, the ECU 100 can contain multiple 400 processors.

[0193] Additionally, information, data, signal values ​​and variable values, indicating the results of the processing of applications 111, 112 and 113, the output setting update part 120, the timing part 150 and the output control part 160, are stored in the memory device 500 or a register or cache memory in the processor 400.

[0194] Programs for implementing functions of applications 111, 112 and 113, output setting update section 120, timing section 150 and output control section 160 are stored on a portable storage medium, such as a magnetic disk, a flexible disk, an optical disc, a compact disc, a Blu-ray (registered trademark) disc or a DVD.

[0195] The ECU 100 can be implemented using an electronic circuit such as a logic IC, a gate array (GA), an application-specific integrated circuit (ASIC), or a field-programmable gate array (FPGA).

[0196] The processor and the electronic circuitry are collectively referred to as a processing circuit arrangement. Reference symbol list 100 ECU 111 Application 112 Application 113 Application 120 Output settings update section 130 parameter table memory section 140 Output table memory section 150 Timekeeping section 160 Output control unit 170 I / O device 180 Communication device 190 Retrieval table memory section 200 Device 201 Device 300 network 400 processor 500 storage device

Claims

Data processing device (100) comprising: an output setting update section (120) for updating, when data output is requested from an application whose default output setting is set to "ineffective" from multiple applications, an output setting of the requesting application from "ineffective" to "effective" and updating an output setting of another application that outputs data to the same output destination as the output destination of the requesting application and whose default output setting is set to "effective", from "effective" to "ineffective"; and an output control section (160) for outputting data from an application whose output setting is "effective". Data processing device according to claim 1, wherein a priority is set for each of the multiple applications, and if an output setting of an application that outputs data to the same output destination as the output destination of the requesting application, whose default output setting is set to "ineffective", is not "effective" and for which a priority higher than the priority of the requesting application is set, the output setting update part updates the output setting of the requesting application from "ineffective" to "effective". Data processing device according to claim 1, wherein each of the multiple applications begins data processing with a uniform cycle and the output control part restores the output setting of each application to the default output setting at a time when each application begins data processing. Data processing device according to claim 1, wherein, when data output is requested by an application at the second data output time, for which a first data output time and a second data output time are set as times for data output, wherein an output destination at the first output time and an output destination at the second data output time are the same, a default output setting for the first data output time is set to "effective" and a default output setting for the second data output time is set to "ineffective", the output setting update part updates an output setting for the second data output time from "ineffective" to "effective" and updates an output setting for the first data output time from "effective" to "ineffective", and the output control part outputs the data of the application whose output is requested at a given time,whose output setting is "effective", outputs to the output destination. Data processing device according to claim 1, further comprising: a retrieval table storage part (190) for storing a retrieval table in which an application whose default output setting is set to "ineffective" and an application whose default output setting is set to "effective" are associated, wherein the output destinations of the applications are the same, wherein the output setting update part refers to the retrieval table and identifies another application that outputs data to the same output destination as the output destination of the requesting application and whose default output setting is set to "effective". Data processing device according to claim 1, wherein, when data output is requested by an application that monitors a monitoring target and provides data indicating an anomaly of the monitoring target when an anomaly of the monitoring target is present, and whose default output setting is set to "ineffective", the output setting update part updates an output setting of the requesting application that requested the data output from "ineffective" to "effective" and updates an output setting of another application that outputs data to the same output destination as the output destination of the requesting application and whose default output setting is set to "effective" from "effective" to "ineffective". A data processing procedure comprising: updating, by a computer, when data output is requested from multiple applications by an application whose default output setting is set to "ineffective", an output setting of the requesting application is changed from "ineffective" to "effective", and updating, by the computer, an output setting of another application that outputs data to the same output destination as the output destination of the requesting application and whose default output setting is set to "effective", from "effective" to "ineffective"; and outputting, by the computer, of data from an application whose output setting is "effective". A data processing program that causes a computer to execute: an output setting update process of updating, when data output is requested from multiple applications by an application whose default output setting is set to "ineffective," an output setting of the requesting application from "ineffective" to "effective," and of updating an output setting of another application that outputs data to the same output destination as the output destination of the requesting application and whose default output setting is set to "effective," from "effective" to "ineffective"; and an output control process of outputting data from an application whose output setting is "effective."