Method and device for providing proxy
The method and device address the complexity of mapping database information to control logic in ECUs by generating proxies for seamless communication, reducing development time and costs, and enhancing ECU integration in vehicles.
Patent Information
- Application Number
- PCT/KR2024/000838
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-01-17
- Publication Date
- 2025-07-24
AI Technical Summary
The increasing complexity of electronic control units (ECUs) in vehicles and the need for standardized communication in automotive systems, combined with OEMs' proprietary database structures, pose challenges in efficiently mapping database information to control logic within the ECU, leading to management difficulties and suboptimal vehicle system performance.
A computer-implemented method and device that generates a proxy between a database and control logic, automatically processing data to facilitate seamless communication and configuration, including template generation, unit conversion, error monitoring, and end-to-end communication management.
Reduces development time and costs while ensuring quality and project milestones by automating proxy generation, enhancing the integration of OEM requirements into AUTOSAR development tools, and improving ECU interaction within vehicles.
Smart Images

Figure KR2024000838_24072025_PF_FP_ABST
Abstract
Description
Method and device for providing a proxy
[0001] The present invention relates to a method and device for providing a proxy between a database and control logic, particularly in the context of an open automotive standard software architecture (AUTOSAR; AUTomotive Open System Architecture) system.
[0002] In response to the increasing complexity of electronic control units (ECUs) in vehicles and the need for standardized communication, the automotive industry is turning to solutions such as AUTOSAR.
[0003] AUTOSAR provides a set of standardized tools and methodologies that help automotive engineers design, configure, and integrate software components. These tools help manage the complexity of automotive software systems.
[0004] Within this framework, three essential software layers are distinguished: the application layer, the runtime environment (RTE), and the basic software (BSW) layer. The RTE serves as an interface between the hardware-independent application layer and the basic software (BSW) layer, ensuring seamless communication and control between various ECUs.
[0005] A layered approach simplifies the development process and promotes modularity and reusability of software components.
[0006] AUTOSAR supports various communication protocols, such as CAN (Controller Area Network) and Ethernet. These protocols enable communication between ECUs, allowing them to exchange information and operate consistently together.
[0007] However, implementing AUTOSAR presents challenges. Original Equipment Manufacturers (OEMs) must provide detailed configuration data for AUTOSAR ECUs, including an ever-increasing number of messages, signals, and properties. This influx of data, combined with the inherent complexity of modern vehicle systems, presents significant management challenges. Complicating matters further, OEMs typically have proprietary database structures and concepts that continually evolve in response to architectural changes.
[0008] Consequently, there is a need for an efficient and streamlined method of mapping various database information to control logic within the ECU.
[0009] Addressing these challenges is crucial not only for the effective functioning of individual ECUs, but also to ensure smooth interaction and optimal performance of the entire vehicle system.
[0010] The present invention provides a computer-implemented method and device for providing a proxy between a database and control logic, as described in the independent claims. Advantageous embodiments are described in the dependent claims.
[0011] According to a first aspect of the present invention, a computer-implemented method for providing a proxy between a database and control logic is provided. A computing device receives database information from a database. The database information includes information regarding the required configuration of an ECU of a vehicle. The computing device receives control logic information from the control logic of the ECU, and the control logic information includes information regarding the configuration of the control logic. The computing device automatically generates a proxy for processing data received from one of the database and the control logic and providing the data to the other of the database and the control logic. The proxy is generated based on the database information and the control logic information.
[0012] According to a second aspect of the present invention, a device is provided for providing a proxy between a database and control logic. The device includes an interface for receiving database information from a database. The database information includes information regarding the required configuration of an ECU of a vehicle. The interface further receives control logic information from the control logic of the ECU. The control logic information includes information regarding the configuration of the control logic. The device further includes a computing device for processing data received from one of the database and the control logic and automatically generating a proxy for providing the data to the other of the database and the control logic. The proxy is generated based on the database information and the control logic information.
[0013] The present invention helps in importing database information (e.g., including OEM provided requirements) into an AUTOSAR development tool chain to prepare a database baseline.
[0014] According to an embodiment of a method for providing a proxy between a database and control logic, the proxy is provided solely to process data received from the database and provide the data to the control logic of the ECU. In other embodiments, the proxy may be provided solely to process data received from the control logic of the ECU and provide the data to the database. In yet another embodiment, the proxy operates bidirectionally.
[0015] According to an embodiment of a method for providing a proxy between a database and control logic, the step of automatically generating a proxy includes the step of generating a first template of the proxy that provides the specifications of the proxy based on database information. In addition, the control logic information is updated based on the first template. A second template of the proxy is generated based on the database information and the updated control logic information. The first template may be generated, particularly if a previous template for the proxy does not exist. If a previous template for the proxy already exists, the generation of the first template may be skipped. In this case, the control logic information is updated, and the previously existing template for the proxy is updated.
[0016] According to an embodiment of a method for providing a proxy between a database and control logic, the first template includes at least a selection of database information. For example, the first template may include all information from a database related to a particular project.
[0017] The first template may further include information about the transmitter side through which the ECU communicates with other ECUs in the vehicle, and information about the receiver side through which the ECU communicates with other ECUs in the vehicle.
[0018] According to an embodiment of a method for providing a proxy between a database and control logic, the first template is generated based on additional project-specific configuration information. The project-specific configuration information may include additional information for setting up a proxy not included in the database.
[0019] According to an embodiment of a method for providing a proxy between a database and control logic, the step of updating control logic information includes the step of updating information of control logic information regarding communication between an ECU and other ECUs of a vehicle. The information of the control logic information regarding communication between the ECU and other ECUs of the vehicle includes at least one of requirements, communication length, resolution, offset, range, information regarding end-to-end communication, a value table, units, etc.
[0020] According to an embodiment of a method for providing a proxy between a database and control logic, the proxy includes information regarding at least one of the conversion and resolution of units of data transmitted between the database and the control logic. For example, different units may be used during communication, and the proxy automatically converts the units into a desired format.
[0021] According to an embodiment of a method for providing a proxy between a database and control logic, the proxy includes a value table mapping for data transmitted between the database and control logic. The proxy then automates the value mapping.
[0022] According to an embodiment of a method for providing a proxy between a database and control logic, the proxy includes a scope for error monitoring. The scope may include a minimum bound and / or a maximum bound. Accordingly, potential overflows can be detected and avoided.
[0023] According to an embodiment of a method for providing a proxy between a database and control logic, the proxy includes configuration data for monitoring for error detection in end-to-end communication between an ECU and other ECUs in the vehicle. Thus, errors can be avoided.
[0024] According to an embodiment of a method for providing a proxy between a database and control logic, the proxy comprises at least one of configuration data and a data structure for end-to-end communication between an ECU and other ECUs of a vehicle. The communication may be at least partially proxy-based.
[0025] According to an embodiment of a method for providing a proxy between a database and control logic, program files of the proxy are executed to generate control logic program files. The ECU uses the generated control logic program files to communicate with other ECUs in the vehicle via a communication interface. For example, the program files of the proxy may be source code.
[0026] According to an embodiment of a method for providing a proxy between a database and control logic, the control logic is part of the AUTOSAR application layer.
[0027] According to an embodiment of a method for providing a proxy between a database and control logic, the proxy is part of the AUTOSAR runtime environment.
[0028] According to an embodiment of the method, the control logic may be related to the application software layer (ASW) in the context of AUTOSAR.
[0029] The present invention automatically generates proxies, reducing development time and facilitating the management of diverse requirements. Automating proxy generation ensures development quality and project milestones, while reducing development costs.
[0030] Automatic generation of proxies can be particularly helpful in the process between providing requirements and implementing them.
[0031] For a more complete understanding of the present invention and its advantages, reference is now made to the following description taken in conjunction with the accompanying drawings. The present invention is further described below using exemplary embodiments illustrated in the schematic drawings of the drawings.
[0032] FIG. 1 schematically illustrates a device for providing a proxy between a database and control logic according to an embodiment of the present invention;
[0033] FIG. 2 schematically illustrates a flowchart of a method for providing a proxy between a database and control logic according to an embodiment of the present invention.
[0034] Figure 1 schematically illustrates a device (1) for providing a proxy between a database (8) and an ECU (5) of a vehicle, in particular the control logic (7) of an AUTOSAR ECU (5). The device (1) can be located in the vehicle.
[0035] The device (1) comprises an interface (3) that can be arranged as input and output units and can include any type of port, connection or interface that can communicate information to other systems, such as WiFi, Bluetooth, Ethernet, etc. In particular, the interface (3) can communicate with other devices via a bus system, for example a CAN bus.
[0036] The interface (3) receives database information from the database (8). The database information includes information regarding the required configuration of the ECU (5) of the vehicle. The database information may include information provided by an OEM (Original Equipment Manufacturer) to configure the ECU (5).
[0037] The database information may contain at least one ARXML file (*.arxml), i.e. an XML file in a specific AUTOSAR format. The database information may be in other formats, for example, a *.dbc file.
[0038] The database information may include information related to messages, signals or other properties associated with communication between the ECU (5) and other ECUs (10).
[0039] In some embodiments, retrieving database information may be performed by an AUTOSAR tool chain.
[0040] The interface (3) additionally receives control logic information from the control logic (7) of the ECU (5). The control logic information includes information about the configuration of the control logic (7). The control logic (7) may be part of the AUTOSAR application layer. The control logic (7) may be related to the application software layer (ASW) in the context of AUTOSAR.
[0041] The device (1) further includes a memory (4) for storing all relevant data, for example, control logic information from the control logic (7) of the ECU (5) and database information obtained from the database (8). The memory (4) may be a volatile or non-volatile memory, such as a hard disk, a memory card, or the like.
[0042] The device (1) further includes a computing device (2). The computing device (2) may include hardware components and / or software such as a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), a microcontroller, an integrated circuit, an ASIC (Application-Specific Integrated Circuit), an FPGA (Field Programmable Gate Array), etc.
[0043] The computing device (2) processes data received from either the database (8) or the control logic (7) of the ECU (5) and automatically generates a proxy to provide the data to the other of the database (8) and the control logic (7). The proxy may be part of the AUTOSAR runtime environment.
[0044] In some embodiments, a proxy is provided to process data received from a database (8) and provide the data to the control logic (7) of the ECU (5). In other embodiments, a proxy is provided to process data received from the control logic (7) of the ECU (5) and provide the data to the database (8). The proxy may also operate bidirectionally.
[0045] The proxy is generated based on database information and control logic information received and stored in memory (4). The proxy may be a computer program or may include a computer program for providing a mapping between the database (8) and the control logic (7).
[0046] In the first phase, a proxy may not yet be configured. In this phase, a first proxy template is created, which provides the proxy's specifications. This first template serves as the basis for the proxy interface specification.
[0047] The first template is generated based on database information. Control logic information is not used to configure the first template for the proxy. Additionally, project-specific configuration information may be considered when generating the first template.
[0048] A project-specific configuration may be provided by the OEM of the ECU (5) and may relate to the configuration of specific components of the ECU (5) or devices of the vehicle controlled by the ECU (5), for example, the brakes of the vehicle. A project-specific configuration may be provided as an *.ini file and may contain a project definition (e.g., project name), references (e.g., number of specific parameters) and configuration.
[0049] Project-specific configuration may contain information needed to set up proxies that is not normally included in the database information.
[0050] The first template may include at least a selection of database information, for example, in an overview sheet of the first template.
[0051] Additionally, a transmitter-related sheet of the first template may be provided having information about the transmitter side through which the ECU (5) communicates with other ECUs (10) of the vehicle.
[0052] The first template may further include a receiver-related sheet having information about the receiver side through which the ECU (5) communicates with other ECUs (10) of the vehicle.
[0053] In the next step, control logic information is updated based on the first template. In particular, information regarding control logic information regarding communication between the ECU (5) and other ECUs (10) of the vehicle may be updated. In this specification, the ECU (5) can communicate with other ECUs (10) via a bus (9), for example, a CAN bus.
[0054] Information about control logic information regarding communication between the ECU (5) and other ECUs (10) of the vehicle may include requirements, communication length, resolution of values communicated and required to operate the ECU (5) (e.g., control components of the vehicle), offsets of these values, ranges of these values, information regarding end-to-end communication, value tables, and / or units of these values.
[0055] For example, a proxy can convert units (e.g. acceleration(s) m / s) 2 can provide information on how to convert the coefficients of g). The range can include minimum and maximum boundaries in case the length of the signal may overflow the data length of the CAN signal.
[0056] A second template for the proxy is then generated based on both the database information and the updated control logic information. The second execution generates a second template that includes all updates from the control logic and implementation outputs.
[0057] The first template and the second template may be stored in the same file(s) or at least partially stored in the same file(s) that is updated after the second template is created.
[0058] A proxy program corresponding to a proxy may have several folders, for example, a "config" folder for project specifications and configurations, an "input" folder containing additional input data for project references, an "output" folder containing generated results to be saved, and a "template" folder containing templates for generating output.
[0059] A proxy program may further contain several scripts, for example, a main script, a script for ARXML processing, a script for DBC processing, and scripts for library purposes.
[0060] After generating the proxy, an overview containing information and warnings for additional debugging purposes may be displayed. Comparison windows may be displayed to illustrate changes.
[0061] A proxy may have several functions, as described below. For example, the proxy may contain information regarding the conversion and / or resolution of units of data transmitted between the database and the control logic (7).
[0062] The proxy may include a value table mapping for data transferred between the database (8) and the control logic (7).
[0063] The proxy can further include scopes for error monitoring. These scopes can include minimum and / or maximum bounds. Overflows can be detected and avoided in this way.
[0064] The proxy may further include configuration data for monitoring to detect errors in end-to-end communication between the ECU (5) and other ECUs (10) in the vehicle. The configuration data may include configurations for timeouts, live counts, cyclic redundancy checks, etc.
[0065] The information may also be related to the authentication process, for example by providing information to the control logic (7) of the ECU (5) on how to perform the authentication process.
[0066] The proxy may further include configuration data and / or data structures for end-to-end communication between the ECU (5) and other ECUs (10) in the vehicle.
[0067] The program files of the proxy may be in the form of source code that can be executed (e.g., by the computing device (2)) to generate control logic program files, e.g., *.bin files stored in the memory (6) of the ECU (5), i.e., flashed on the ECU (5). The ECU (5) communicates with other ECUs (10) of the vehicle via a communication interface using the generated control logic program files stored in the memory (6).
[0068] For example, an ECU (5) can communicate with another ECU (10) via a bus (9). After successful authentication, data is passed to a proxy, which can then control data from the other ECU (10), for example, by converting units.
[0069] As illustrated in FIG. 1, the device (1) may be an external device located in a vehicle. In other embodiments, the device (1) or at least some components of the device (1) may be part of an ECU (5). In other embodiments, the device (1) or at least some components of the device (1) may be part of a system including a database (8).
[0070] The various components described above (in particular, the database (8), control logic (7) and proxy) can be implemented in hardware, software or both hardware and software.
[0071] Fig. 2 schematically illustrates a flowchart of a method for providing a proxy between a database (8) and the control logic (7) of an ECU (5). The method can be performed by the device (1) described above. Consequently, the device (1) described above can be configured to perform each step of the following method.
[0072] In step (S1), the computing device receives database information from a database (8). The database information includes information regarding the required configuration of the ECU (5) of the vehicle.
[0073] In step (S2), the computing device receives control logic information from the control logic (7) of the ECU (5), and the control logic information includes information on the configuration of the control logic (7).
[0074] In step (S3), it is determined whether a template for the proxy has already been set. If a template already exists, the next step (S4) is skipped.
[0075] Otherwise, in step (S4), the computing device processes the data received from either the database (8) or the control logic (7) and automatically generates a proxy for providing the data to the other of the database (8) and the control logic (7). Based on the database information and project-specific configuration information provided by the OEM of the ECU (5), a first template of the proxy is set that provides the specifications of the proxy.
[0076] The first template includes information about the selection of database information, information about the transmitter side through which the ECU (5) communicates with other ECUs (10) of the vehicle, and information about the receiver side through which the ECU (5) communicates with other ECUs (10) of the vehicle.
[0077] In step (S5), the control logic information is updated based on the first template, in particular information regarding communication between the ECU (5) and other ECUs (10) of the vehicle.
[0078] In step (S6), a second template of the proxy is generated based on both the database information and the updated control logic information.
[0079] In step (S7), the program files of the proxy are executed to generate control logic program files. The ECU (5) uses the generated control logic program files to communicate with other ECUs (10) of the vehicle via a communication interface (e.g., bus (9)). Then, the method can be restarted.
[0080] The generated proxy may have at least one of the various functions detailed above. In particular, the proxy may include information regarding the conversion and / or resolution of units for data transmitted between the database (8) and the control logic (7). The proxy may further include a value table mapping for the data transmitted between the database (8) and the control logic (7).
[0081] The proxy may include scopes for error monitoring. The proxy may include configuration data for monitoring to detect errors in end-to-end communication between the ECU (5) and other ECUs (10) in the vehicle. The proxy may include configuration data and / or data structures for end-to-end communication between the ECU (5) and other ECUs (10) in the vehicle.
[0082] While this specification outlines certain details, they should not be construed as limitations on the scope of the present disclosure. Instead, these details serve as descriptions of features unique to specific embodiments of the present disclosure. Features described herein in the context of separate embodiments may also be combined within a single embodiment. Conversely, features described within a single embodiment may be implemented in various subcombinations across separate or multiple embodiments.
[0083] Likewise, the order of operations provided in the examples should not be construed as a strict requirement to perform these operations in the exact order shown or in a sequential manner, nor does it imply that all operations described must be performed to achieve a beneficial result. In certain scenarios, the use of multitasking and parallel processing methods may be advantageous.
[0084] Furthermore, the separation of system components as exemplified in the above-described embodiments does not necessarily imply a necessary separation in all cases. The described program components and systems may generally be integrated into a single software product or distributed across multiple software products.
[0085] Various modifications may be made without departing from the scope of the present disclosure as defined by the claims.
Claims
1. A computer-implemented method for providing a proxy between a database and the control logic of an electronic control unit (ECU) of a vehicle, A step of receiving database information including information regarding required configuration of the ECU from a database; A step of receiving control logic information including information on the configuration of the control logic from the control logic of the ECU; and Comprising a step of automatically generating a proxy for processing data received from one of the above database and the above control logic and providing the data to the other of the above database and the above control logic; A method in which the above proxy is generated based on the above database information and the above control logic information.
2. In paragraph 1, The steps to automatically generate the above proxy are: A step of generating a first template of a proxy providing specifications of the proxy based on the above database information; A step of updating the control logic information based on the first template; and A method comprising the step of generating a second template of the proxy based on the database information and the updated control logic information.
3. In paragraph 2, A method wherein the first template comprises: selection of the database information; information about a transmitter side through which the ECU communicates with other ECUs of the vehicle; and information about a receiver side through which the ECU communicates with other ECUs of the vehicle.
4. In paragraph 2, The above first template is generated based on additional project-specific configuration information.
5. In paragraph 2, A method wherein the step of updating the control logic information includes the step of updating information regarding communication between the ECU and other ECUs of the vehicle, the information including at least one of requirements of the control logic information, communication length, resolution, offset, range, information regarding end-to-end communication, value table and units.
6. In paragraph 1, A method wherein the proxy includes information regarding at least one of conversion and resolution of units of data transmitted between the database and the control logic.
7. In paragraph 1, A method wherein said proxy includes a value table mapping for data transmitted between said database and said control logic.
8. In paragraph 1, The above proxy includes a scope for error monitoring.
9. In paragraph 1, A method wherein the above proxy includes configuration data for performing monitoring for error detection in end-to-end communication between the ECU and other ECUs of the vehicle.
10. In paragraph 1, A method wherein said proxy comprises at least one of configuration data and data structures for end-to-end communication between said ECU and other ECUs of said vehicle.
11. In paragraph 1, Further comprising a step of generating control logic program files by executing the program files of the above proxy, A method in which the above ECU communicates with other ECUs of the vehicle through a communication interface using the above generated control logic program files.
12. In paragraph 1, The above control logic is part of the AUTOSAR application layer.
13. In paragraph 1, How the above proxy is part of the AUTOSAR runtime environment.
14. In a device that provides a proxy between a database and the control logic of an electronic control unit (ECU) of a vehicle, An interface configured to receive database information including information on the required configuration of the ECU from the database, and to receive control logic information including information on the configuration of the control logic from the control logic of the ECU; and A computing device configured to process data received from one of the database and the control logic and automatically generate a proxy for providing the data to the other of the database and the control logic, The above proxy is a device generated based on the above database information and the above control logic information.
Citation Information
Patent Citations
ECU information processing method and device, server and storage medium
CN115185727A
Communication control device, communication control system, mounted device, communication control method, and program
JP2020048016A
Cap of paper tube
KR102747397B1
Gateway device, in-vehicle network system, and firmware update method
US20230153099A1
KR20220152268A