Non-transitory computer-readable medium, cooperative simulation method, and cooperative simulation device

The cooperative simulation method using shared memory and FMI-standard compliant communication paths addresses the complexity of in-vehicle ECU development, reducing man-hours and execution time by simplifying data transmission and bridge development.

JP2025094553APending Publication Date: 2025-06-25RENESAS ELECTRONICS CORP
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2023210173
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-12-13
Publication Date
2025-06-25

AI Technical Summary

Technical Problem

The increase in development man-hours and lengthening of development periods in in-vehicle ECU development due to the need for numerous connection lines and complex data transmission in collaborative simulation environments using the FMI standard.

Method used

A cooperative simulation method utilizing a first and second simulator connected via a first shared memory for direct data transmission and a second communication path conforming to the FMI standard for address information, reducing the need for extensive data connection lines and simplifying the development of connection bridges.

Benefits of technology

Reduces development man-hours and execution time for constructing collaborative simulation environments by minimizing the number of data connection lines and simplifying the development of connection bridges, while maintaining efficient data transmission.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025094553000001_ABST
    Figure 2025094553000001_ABST
Patent Text Reader

Abstract

To provide a non-transitory computer-readable medium, a cooperative simulation method, and a cooperative simulation device that suppress an increase in development man-hours for a cooperative simulation environment.SOLUTION: A non-transitory computer-readable medium stores a program for causing a cooperative simulation device including a first simulator 11, a second simulator 12, a first communication path, and a second communication path to execute a cooperative simulation method. The first simulator 11 stores first data in a first shared memory 13 via the first communication path. In addition, the first simulator 11 divides information related to a first address of the first shared memory 13 where the first data is stored into a size defined by an FMI standard, and transmits the divided information to the second simulator 12 via the second communication path. The second simulator reads, via the first communication path, the first data stored in the shared memory by using the first address.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to, for example, a non-transitory computer-readable medium storing a program, a cooperative simulation method, and a cooperative simulation apparatus.

Background Art

[0002] Year by year, the number of in-vehicle ECUs (Electronic Control Units) installed has been increasing, and the increase in development man-hours and the lengthening of the development period have become problems. In the development of in-vehicle ECUs, a method of early clarifying problems of design deficiencies and performance shortfalls and reducing rework by performing verification by computer simulation has attracted attention.

[0003] In the development of in-vehicle ECUs using computer simulation, cooperative simulation is performed in which a plurality of different simulation tools are connected and a plurality of simulation processes are executed simultaneously. Patent Document 1 discloses, as an example of a cooperative simulation apparatus that performs such cooperative simulation, a virtual development environment apparatus in which a CAE (Computer Aided Engineering) tool and a virtual ECU simulation tool are connected. The CAE tool performs simulation using a MILS (Model In the Loop Simulation) model. The virtual ECU simulation tool performs simulation using a virtual device model of the ECU to be developed.

Prior Art Documents

Patent Documents

[0004]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0005] When performing collaborative simulation, a mechanism (connection bridge) for exchanging simulation models between different tools is required. For the connection bridge, for example, the FMI (Functional Mock-up Interface) standard that enables connection of simulation models without depending on tools can be adopted. In a connection bridge conforming to the FMI standard, the frame of the communication protocol (communication data) is divided into sizes defined by the FMI standard, and the divided frames are connected by socket communication. When the frame of one communication protocol is large, the number of frame divisions increases accordingly. When the number of frame divisions increases, it becomes necessary to prepare many connection lines for transmitting data, increasing the man-hours for developing the connection bridge.

[0006] Other problems and novel features will become apparent from the description of this specification and the accompanying drawings.

Means for Solving the Problems

[0007] A non-transitory computer-readable medium according to an embodiment stores a program for causing a collaborative simulation device including a first simulator, a second simulator, a first communication path, and a second communication path to execute a collaborative simulation method. The first simulator stores first data in a first shared memory via the first communication path. Further, the first simulator divides information related to the first address of the first shared memory in which the first data is stored into a size defined by the FMI standard and transmits it to the second simulator via the second communication path. The second simulator reads out the first data stored in the first shared memory via the first communication path using the first address.

Advantages of the Invention

[0008] According to the above embodiment, between the first simulator and the second simulator, data used in the cooperative simulation is transmitted and received using a first communication path via a first shared memory, and information regarding the address of the first shared memory is transmitted and received using a second communication path via a connection bridge conforming to the FMI standard. Thereby, the amount of data transmitted using the communication path via the connection bridge conforming to the FMI standard can be reduced. That is, since the number of data connection lines in the connection bridge conforming to the FMI standard can be reduced, an increase in the development man-hours for constructing the cooperative simulation environment can be suppressed.

Brief Description of Drawings

[0009]

Figure 1

Figure 2

Figure 3

Figure 4

Figure 5

Figure 6

Modes for Carrying Out the Invention

[0010] The present disclosure is described with reference to several exemplary embodiments. These embodiments are described for illustrative purposes only and are intended to assist those skilled in the art in understanding and implementing the present disclosure without suggesting any limitation on the scope of the present disclosure. The disclosure described herein may be implemented in various ways other than those described below.

[0011] In the following description and claims, unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this disclosure belongs.

[0012] Hereinafter, embodiments of the present disclosure will be described with reference to the drawings. Note that each drawing is merely an example for explaining one or more embodiments. Each drawing may be associated not only with one specific embodiment but also with one or more other embodiments. As will be understood by those skilled in the art, various features or steps described with reference to any one drawing can be combined with features or steps shown in one or more other drawings to create, for example, embodiments not explicitly illustrated or described. Not all of the features or steps shown in any one drawing for explaining exemplary embodiments are necessarily essential, and some features or steps may be omitted. The order of the steps described in any drawing may be changed as appropriate.

[0013] (First Embodiment) Referring to FIG. 1, an example of the configuration of the cooperative simulation apparatus 1 according to the first embodiment will be described. FIG. 1 is a block diagram showing an example of the configuration of the cooperative simulation apparatus 1 according to the first embodiment. The cooperative simulation apparatus 1 includes a first simulator 11, a second simulator 12, and a first shared memory 13.

[0014] The first simulator 11 and the second simulator 12 are realized by a single computer. Each of the first simulator 11 and the second simulator 12 may be realized as different processes (instances of each program) operating on a single computer.

[0015] For example, the first simulator 11 may instruct a specific simulation to the second simulator 12 and perform a simulation using the result of the simulation. In this case, the first simulator 11 may perform a simulation based on an instruction by an operator of the cooperative simulation device 1, and input data generated by the simulation to the second simulator 12. Then, the second simulator 12 may simulate the processing of a specific in-vehicle device based on the data generated by the first simulator 11, and input data that is the simulation result to the first simulator 11. Note that the first simulator 11 may be referred to as a master simulator, and the second simulator 12 may be referred to as a slave simulator or the like.

[0016] The first simulator 11 and the second simulator 12 may be simulators that use different methods, which are intended to be used at different development stages. Thereby, for example, simulators using different methods can be operated in cooperation.

[0017] In this case, the first simulator 11 may be, for example, an execution environment of MILS, and the second simulator 12 may be, for example, an execution environment of SPILS (Simulator based Processor in the Loop Simulation), SILS (Software in the Loop Simulation), or HILS (Hardware in the Loop Simulation).

[0018] Note that MILS may be a method of performing simulation by connecting, for example, a model of an ECU and a model of a plant (e.g., a control target such as an engine or a motor). SPILS may be a simulation method of verifying the actual code (software) of a microcontroller using, for example, a model (virtual microcontroller) of a target processor (microcontroller). SILS may be a method of performing simulation by connecting a controller model described in a programming language such as C language and a model of a plant. HILS may be a method of performing simulation by connecting an actual ECU and a model of a plant.

[0019] Also, the first simulator 11 may be, for example, an execution environment of SILS, and the second simulator 12 may be, for example, an execution environment of PILS (Processor in the Loop Simulation). Note that PILS may be a simulation using, for example, a processor (microcontroller) to be implemented.

[0020] The first shared memory 13 is an area in the computer memory that can be accessed by multiple processes. For the data stored in the first shared memory 13, for example, the transfer between processes may be performed using an API (Application Programming Interface) provided by an OS (Operating System) or the like.

[0021] The collaborative simulation device 1 according to the first embodiment enables the execution of collaborative simulation by transmitting and receiving data between the first simulator 11 and the second simulator 12 using two communication paths (the first communication path and the second communication path). The first communication path is a communication path that connects the first simulator 11 and the second simulator 12 via the first shared memory 13. The data communication between the first simulator 11 and the second simulator 12 using the first communication path is performed by one simulator writing data to be transmitted to the other simulator into the first shared memory 13, and the other simulator reading the data written into the first shared memory.

[0022] On the other hand, the second communication path is a communication path that connects the first simulator 11 and the second simulator 12 by socket communication. The data communication between the first simulator 11 and the second simulator 12 using the second communication path is performed by one simulator streaming data into the socket and the other simulator receiving the data via the socket. Also, the data transmitted using the second communication path is transmitted after being converted into data defined by the FMI standard. Thus, the second communication path is a communication path via a connection bridge conforming to the FMI standard.

[0023] The first memory access control unit 111 and the second memory access control unit 121 write or read data used in the collaborative simulation to or from the first shared memory 13. The aforementioned first communication path is a communication path that connects between the first simulator 11 and the second simulator 12 via the first shared memory 13. That is, the communication path connecting the first memory access control unit 111 and the second memory access control unit 121 via the first shared memory 13 corresponds to the first communication path.

[0024] The first simulation execution unit 112 and the second simulation execution unit 122 are realized by different simulation tools and execute different simulations. In the cooperative simulation device 1, since a cooperative simulation in which the first simulator 11 and the second simulator 12 operate in cooperation is executed, the first simulator 11 and the second simulator 12 transmit and receive data used for the cooperative simulation.

[0025] Specifically, the first simulation execution unit 112 of the first simulator 11 receives data from the second simulator 12 via the first shared memory 13 and executes a simulation using the data. Further, the first simulation execution unit 112 generates data by executing the simulation, and stores the generated data in the first shared memory 13 via the first memory access control unit 111 so that it can be used in the simulation executed by the second simulator 12.

[0026] The second simulation execution unit 122 of the second simulator 12 receives data from the first simulator 11 via the first shared memory 13 and executes a simulation using the data. Further, the second simulation execution unit 122 generates data by executing the simulation, and stores the generated data in the first shared memory 13 via the second memory access control unit 121 so that it can be used in the simulation executed by the first simulator 11.

[0027] The first address notification unit 113 and the second address notification unit 123 transmit and receive a notification including information regarding the address (memory address) of the first shared memory 13 in which data used for cooperative simulation is stored. As described above, the transfer of data used for cooperative simulation between the first simulator 11 and the second simulator 12 is realized by storing the data in the first shared memory 13 on the first communication path. At this time, if the receiving simulator does not know the position of the first shared memory 13 in which the transferred data is stored, it cannot appropriately read the data from the first shared memory 13. Therefore, the transmitting simulator transmits information regarding the address of the first shared memory 13 in which the transferred data is stored to the receiving simulator.

[0028] The second communication path that connects between the first simulator 11 and the second simulator 12 through socket communication corresponds to the communication path between the first address notification unit 113 and the second address notification unit 123. When transmitting and receiving information regarding the address of the first shared memory 13 using the second communication path, the transmitting address notification unit divides the information regarding the address into the size defined by the FMI standard, and transmits the divided information regarding the address to the receiving address notification unit through socket communication. The receiving address notification unit receives the information regarding the address divided into the size defined by the FMI standard through socket communication, combines the divided information regarding the address, and restores the information regarding the address of the first shared memory 13. The simulator including the receiving address notification unit can acquire the data stored in the first shared memory 13 using the restored information regarding the address.

[0029] Note that the transmission-side address notification unit acquires information regarding the address of the first shared memory 13 to be transmitted from the simulation execution unit of the transmission-side simulator, but it may be acquired from the memory access control unit of the transmission-side simulator. Also, the reception-side address notification unit outputs information regarding the address of the restored first shared memory 13 to the simulation execution unit of the reception-side simulator, but it may be output to the memory access control unit of the reception-side simulator.

[0030] FIG. 2 is a block diagram showing an example of the hardware configuration of the cooperative simulation apparatus 1 according to the first embodiment. In the example of FIG. 2, the cooperative simulation apparatus 1 is configured by a computer including a processor 101, a memory 102, and a communication interface 103. The memory 102 stores at least a part of the program 104. The communication interface 103 includes an interface necessary for communication with other network elements.

[0031] When the program 104 is executed by the cooperation of the processor 101 and the memory 102, at least part of the processing of the first embodiment is performed by the cooperative simulation device 1. For example, the first simulator 11 and the second simulator 12 shown in FIG. 1 may be realized by the processor 101 reading and executing one or more programs stored in the memory 102. The memory 102 may be of any type. The memory 102 may be, as a non-limiting example, a non-transitory computer-readable storage medium. Also, the memory 102 may be implemented using any suitable data storage technology such as a semiconductor-based memory device, a magnetic memory device, an optical memory device, a fixed memory, and a removable memory. Although only one memory 102 is shown in the cooperative simulation device 1, there may be several physically different memory modules in the cooperative simulation device 1. The processor 101 may be of any type. The processor 101 may include one or more of a microprocessor, a digital signal processor (DSP), and a processor based on a multi-core processor architecture as a non-limiting example.

[0032] When the program is loaded into a computer, it includes a set of instructions (or software code) for causing the computer to perform one or more functions described in the first embodiment. The program may be stored in a non-transitory computer-readable medium or a tangible storage medium. By way of example and not limitation, the computer-readable medium or tangible storage medium includes RAM (Random-Access Memory), ROM (Read-Only Memory), flash memory, SSD (Solid-State Drive), or other memory technologies, CD (Compact Disc)-ROM, DVD (Digital Versatile Disc), Blu-ray (registered trademark) disc, or other optical disc storage, magnetic cassette, magnetic tape, magnetic disk storage, or other magnetic storage devices. The program may be transmitted on a transient computer-readable medium or a communication medium. By way of example and not limitation, the transient computer-readable medium or communication medium includes electrical, optical, acoustic, or other forms of propagated signals.

[0033] Next, referring to FIG. 3, the processing of the cooperative simulation apparatus 1 according to the first embodiment will be described. FIG. 3 is a sequence diagram showing an example of the processing of the cooperative simulation apparatus 1 according to the first embodiment. Note that FIG. 3 shows the processing in which, in the cooperative simulation in which the first simulator 11 and the second simulator 12 operate in cooperation, the second simulator 12 performs a simulation using the data provided from the first simulator 11.

[0034] First, in step S101, the first memory access control unit 111 of the first simulator 11 stores first data, which is data in a format according to a specific communication standard, into the first shared memory 13. Here, the first data may be, for example, data generated by the simulation by the first simulation execution unit 112 of the first simulator 11.

[0035] The format according to a specific communication standard may be, for example, the format of a frame determined in the communication between the first simulator 11 and the second simulator 12. In this format, for example, what data is included in each byte in the frame may be defined. Also, the specific communication standard may include, for example, CAN (Controller Area Network), Ethernet (registered trademark), CAN FD (CAN with Flexible Data Rate), FlexRay (registered trademark). Thereby, for example, data such as a CAN frame or an Ethernet frame is stored in the first shared memory 13.

[0036] Subsequently, the first address notification unit 113 of the first simulator 11 acquires information regarding the first address of the first shared memory 13 in which the first data is stored from the first simulation execution unit 112. The first address notification unit 113 divides the information regarding the first address of the first shared memory 13 into a size defined by the FMI standard. The first address notification unit 113 transmits a first notification including the divided information regarding the first address of the first shared memory 13 to the second address notification unit 123 of the second simulator 12 (step S102). Here, for example, the information regarding the first address may be the start address of the first data in the first shared memory 13.

[0037] Also, as described above, the communication path between the first address notification unit 113 and the second address notification unit 123 is a second communication path via a connection bridge conforming to the FMI standard. The first address notification unit 113 uses the second communication path via a connection bridge conforming to the FMI standard to transmit the first notification to the second address notification unit 123 by socket communication, which is an inter-process communication method.

[0038] The first notification includes, in addition to the information regarding the first address, first communication standard information indicating a specific communication standard to which the first data conforms. However, if the communication standard of the first data has been previously agreed upon between the first simulator 11 and the second simulator 12, it is not necessary to include the first communication standard information in the first notification. When the first communication standard information is included in the first notification, the first address notification unit 113 divides the first communication standard information into the size defined by the FMI standard, similar to the information regarding the first address, and includes the divided first communication standard information in the first notification.

[0039] Subsequently, the second address notification unit 123 of the second simulator 12 receives the first notification via socket communication. The second address notification unit 123 combines the information regarding the first address and the first communication standard information divided into the size defined by the FMI standard included in the first notification, and restores the information regarding the first address and the first communication standard information. The second address notification unit 123 outputs the restored information regarding the first address and the first communication standard information to the second simulation execution unit 122.

[0040] Subsequently, the second simulation execution unit 122 of the second simulator 12 receives the information regarding the first address and the first communication standard information from the second address notification unit 123. The second simulation execution unit 122 determines the communication standard of the first data based on the first communication standard information. Thereby, the second simulation execution unit 122 grasps the format corresponding to the communication standard of the first data, that is, the data format of the communication frame related to the first data. The second simulation execution unit 122 outputs the information regarding the first address and the format corresponding to the communication standard of the first data to the second memory access control unit 121.

[0041] Subsequently, the second memory access control unit 121 of the second simulator 12 receives information regarding the first address and information in a format corresponding to the communication standard of the first data from the second simulation execution unit 122. Based on the information regarding the first address and the information in the format corresponding to the communication standard of the first data, the second memory access control unit 121 reads the first data from the first shared memory 13 (step S103). For example, when the information regarding the first address includes the start address of the first data and the information in the format corresponding to the communication standard of the first data includes information regarding the size of the first data, the second memory access control unit 121 can read data of the size of the first data from the start address of the first data from the first shared memory 13. In this way, the second simulator 12 acquires the first data from the first simulator 11 using the first communication path including the first shared memory 13. Further, the second memory access control unit 121 outputs the read first data to the second simulation execution unit 122.

[0042] Subsequently, the second simulation execution unit 122 of the second simulator 12 performs a simulation based on the first data (step S104). The second simulation execution unit 122 generates second data compliant with a specific communication standard as a simulation result. Here, the communication standard of the second data may be the same as the communication standard to which the first data conforms. The second simulation execution unit 122 outputs the generated second data to the second memory access control unit 121.

[0043] Subsequently, the second memory access control unit 121 of the second simulator 12 stores the second data in a format corresponding to a specific communication standard in the first shared memory 13 (step S105). Thereby, for example, frame data of a response to a CAN frame, an Ethernet frame, or the like transmitted from the first simulator 11 is stored in the first shared memory 13.

[0044] Subsequently, the second address notification unit 123 of the second simulator 12 acquires information regarding the second address of the first shared memory 13 in which the second data is stored from the second simulation execution unit 122. The second address notification unit 123 divides the information regarding the second address of the first shared memory 13 into the size defined by the FMI standard, and transmits a second notification including the divided information regarding the second address of the first shared memory 13 to the first address notification unit 113 of the first simulator 11 (step S106). The transmission of the second notification from the second address notification unit 123 to the first address notification unit 113 is executed by socket communication using a second communication path via a connection bridge conforming to the FMI standard.

[0045] In addition to the information regarding the second address, the second notification includes second communication standard information indicating a specific communication standard to which the second data conforms. Similar to the information regarding the second address, the second address notification unit 123 divides the second communication standard information into the size defined by the FMI standard and includes the divided second communication standard information in the second notification.

[0046] Subsequently, the first address notification unit 113 of the first simulator 11 receives the second notification by socket communication. The first address notification unit 113 combines the information regarding the second address and the second communication standard information divided into the size defined by the FMI standard included in the second notification to restore the information regarding the second address and the second communication standard information. The first address notification unit 113 outputs the restored information regarding the second address and the second communication standard information to the first simulation execution unit 112.

[0047] Subsequently, the first simulation execution unit 112 of the first simulator 11 receives information regarding the second address and second communication standard information from the first address notification unit 113. The first simulation execution unit 112 determines the communication standard of the second data based on the second communication standard information. Thereby, the first simulation execution unit 112 grasps the format corresponding to the communication standard of the second data, that is, the data format of the communication frame related to the second data. The first simulation execution unit 112 outputs information regarding the second address and the format corresponding to the communication standard of the second data to the first memory access control unit 111.

[0048] Subsequently, the first memory access control unit 111 of the first simulator 11 receives information regarding the second address and the format corresponding to the communication standard of the second data from the first simulation execution unit 112. The first memory access control unit 111 reads the second data from the first shared memory 13 based on the information regarding the second address and the format corresponding to the communication standard of the second data (step S107). For example, when the information regarding the second address includes the start address of the second data and the information regarding the format corresponding to the communication standard of the second data includes information regarding the size of the second data, the first memory access control unit 111 can read data of the size of the second data from the start address of the second data from the first shared memory 13. In this way, the first simulator 11 acquires the second data from the second simulator 12 using the second communication path including the first shared memory 13.

[0049] The first memory access control unit 111 outputs the read second data to the first simulation execution unit 112. The second data can be used for simulation by the first simulation execution unit 112.

[0050] According to the first embodiment, the data transmission and reception between the first simulator 11 and the second simulator 12 is executed using both the first communication path and the second communication path. First, the data transmission and reception used in the cooperative simulation is performed using the first communication path via the first shared memory 13. In the data transmission and reception via the first shared memory 13, since the data conversion process for conforming to the FMI standard restrictions is unnecessary, there is no need to develop a connection bridge that complies with the FMI rules.

[0051] On the other hand, in the first embodiment, it is necessary to share information regarding the address of the first shared memory 13 in which the transmitted and received data is stored between the first simulator 11 and the second simulator 12. The information regarding the address of the first shared memory 13 is transmitted and received using the second communication path. In the data transmission and reception using the second communication path, since frames restricted by the FMI standard are used, in the second communication path, it is necessary to develop a connection bridge that complies with the FMI standard. However, since the amount of information regarding the address of the first shared memory 13 is smaller than the amount of data transmitted and received via the first shared memory 13, the number of divisions of the address information to be divided into sizes according to the FMI standard regulations is reduced. That is, since the number of data connection lines in the connection bridge that complies with the FMI standard can be reduced, the development man-hours for constructing the connection bridge that complies with the FMI standard in the second communication path can be reduced.

[0052] In particular, when transmitting and receiving data (frames) between the first simulator 11 and the second simulator 12 via a connection bridge that complies with the FMI standard, if one frame is large, the number of frame divisions increases. As the number of divisions increases, the number of data connection lines for transmitting and receiving data proportionally increases, and the development man-hours for the connection bridge that complies with the FMI standard also increase. However, according to the first embodiment, since the data transmitted and received via the connection bridge that complies with the FMI standard is the information of the address of the first shared memory 13, it is possible to prevent the development man-hours of the connection bridge that complies with the FMI standard from increasing depending on the size of one frame.

[0053] Also, when dividing the frames of the communication protocol and transmitting / receiving them between the first simulator 11 and the second simulator 12, since the socket communication is repeated for the number of divisions, the larger the number of frame divisions, the more times the socket communication is performed. Since the socket communication is carried out in the kernel space, it takes time for task switching. That is, the larger the number of frame divisions, the more times the socket communication is performed, and as a result, the execution time of the cooperative simulation becomes longer. However, according to the first embodiment, since the data transmitted / received via the connection bridge conforming to the FMI standard is the information of the address of the first shared memory 13, the number of divisions can be small, and the execution time of the cooperative simulation can be shortened.

[0054] (Modification Example of the First Embodiment) Next, a modification example of the first embodiment will be described. In the first embodiment described above, the simulator on the transmission side transmits the communication standard information for specifying the communication standard of the data stored in the first shared memory 13 to the simulator on the reception side, and the simulator on the reception side determines the communication standard of the data stored in the first shared memory 13 based on the communication standard information. On the other hand, in the modification example of the first embodiment, the reception-side simulator determines the communication standard of the data stored in the first shared memory 13 by passing the information regarding the address of the first shared memory 13 in which the data is stored through a dedicated communication path distinguished for each communication standard.

[0055] FIG. 4 is a block diagram showing an example of the configuration of the cooperative simulation apparatus 1a according to the modification example of the first embodiment. In FIG. 4 according to the modification example of the first embodiment, the components having the same functions as those in FIG. 1 according to the first embodiment are denoted by the same reference numerals, and the description thereof is omitted.

[0056] As shown in FIG. 4, the cooperative simulation device 1a includes a first simulator 11a, a second simulator 12a, and a first shared memory 13. The first simulator 11a includes a third address notification unit 114 in addition to the configuration of the first simulator 11 shown in FIG. 1. Also, the first simulation execution unit 112 is changed to a first simulation execution unit 112a. The first simulation execution unit 112a is connected to the third address notification unit 114.

[0057] The second simulator 12a includes a fourth address notification unit 124 in addition to the configuration of the second simulator 12 shown in FIG. 1. Also, the second simulation execution unit 122 is changed to a second simulation execution unit 122a. The second simulation execution unit 122a is connected to the fourth address notification unit 124. The third address notification unit 114 and the fourth address notification unit 124 are connected to each other via a third communication path through a connection bridge conforming to the FMI standard.

[0058] The third address notification unit 114 and the fourth address notification unit 124 transmit and receive notifications including information regarding the addresses of the first shared memory 13 in which data used for cooperative simulation is stored. The functions of the third address notification unit 114 and the fourth address notification unit 124 are the same as those of the first address notification unit 113 and the second address notification unit 123 in terms of transmitting and receiving information regarding the addresses of the first shared memory 13. However, in the cooperative simulation device 1a according to the modification example of the first embodiment, the address notification units used for transmitting and receiving information regarding the addresses of the first shared memory 13 are different for each communication standard of the data stored in the first shared memory 13.

[0059] When the first address notification unit 113 and the second address notification unit 123 transmit and receive information regarding the address of the first shared memory 13 storing data in a format conforming to the first communication standard via the second communication path, the third address notification unit 114 and the fourth address notification unit 124 transmit and receive information regarding the address of the first shared memory 13 storing data in a format conforming to a second communication standard different from the first communication standard via the third communication path. Thus, in the cooperative simulation apparatus 1a according to the modification of the first embodiment, a dedicated communication path corresponding to the communication standard of the data stored in the first shared memory 13 is provided to transmit and receive information regarding the address of the first shared memory 13. Thereby, the receiving-side simulator can determine the communication standard related to the data stored in the first shared memory 13 based on the communication path through which the information regarding the address of the first shared memory 13 is received.

[0060] Next, the processing of the cooperative simulation apparatus 1a according to the modification of the first embodiment will be described. The first memory access control unit 111 stores first data, which is data in a format conforming to the first communication standard, in the first shared memory 13. For example, the first communication standard is CAN. Further, the first memory access control unit 111 stores third data, which is data in a format conforming to the second communication standard, in the first shared memory 13. For example, the second communication standard is Ethernet.

[0061] Subsequently, the first address notification unit 113 acquires information regarding the first address of the first shared memory 13 in which the first data is stored from the first simulation execution unit 112a. The first address notification unit 113 divides the information regarding the first address of the first shared memory 13 into a size defined by the FMI standard, and transmits a first notification including the divided information regarding the first address of the first shared memory 13 to the second address notification unit 123 via the second communication path. At this time, the first notification does not include first communication standard information indicating the first communication standard to which the first data conforms.

[0062] The third address notification unit 114 acquires information regarding the third address of the first shared memory 13 in which the third data is stored from the first simulation execution unit 112a. The third address notification unit 114 divides the information regarding the third address of the first shared memory 13 into the size defined by the FMI standard, and transmits a third notification including the divided information regarding the third address of the first shared memory 13 to the fourth address notification unit 124 via the third communication path. At this time, the third notification does not include third communication standard information indicating the second communication standard to which the third data conforms.

[0063] Subsequently, the second address notification unit 123 receives the first notification by socket communication. The second address notification unit 123 combines the information regarding the first address divided into the size defined by the FMI standard included in the first notification, and restores the information regarding the first address. The second address notification unit 123 outputs the restored information regarding the first address to the second simulation execution unit 122a.

[0064] The fourth address notification unit 124 receives the third notification by socket communication. The fourth address notification unit 124 combines the information regarding the third address divided into the size defined by the FMI standard included in the third notification, and restores the information regarding the third address. The fourth address notification unit 124 outputs the restored information regarding the third address to the second simulation execution unit 122a.

[0065] Subsequently, the second simulation execution unit 122a receives the information regarding the first address from the second address notification unit 123. Based on receiving the first notification including the information regarding the first address from the second address notification unit 123 via the first communication path, the second simulation execution unit 122a determines that the first data is data in a format corresponding to the first communication standard. The second simulation execution unit 122a outputs the information regarding the first address and the information regarding the format of the first data corresponding to the first communication standard to the second memory access control unit 121.

[0066] Further, the second simulation execution unit 122a receives information regarding the third address from the fourth address notification unit 124. Based on receiving a third notification including information regarding the third address from the fourth address notification unit 124 via the third communication path, the second simulation execution unit 122a determines that the third data is data in a format conforming to the second communication standard. The second simulation execution unit 122a outputs information regarding the third address and information regarding the format of the third data conforming to the second communication standard to the second memory access control unit 121.

[0067] Subsequently, the second memory access control unit 121 receives information regarding the first address and information regarding the format of the first data conforming to the first communication standard from the second simulation execution unit 122a. Based on the information regarding the first address and the information regarding the format of the first data conforming to the first communication standard, the second memory access control unit 121 reads the first data from the first shared memory 13.

[0068] Also, the second memory access control unit 121 receives information regarding the third address and information regarding the format of the third data conforming to the second communication standard from the second simulation execution unit 122a. Based on the information regarding the third address and the information regarding the format of the third data conforming to the second communication standard, the second memory access control unit 121 reads the third data from the first shared memory 13.

[0069] In this way, the second simulator 12a acquires the first data and the third data from the first simulator 11a using the first communication path including the first shared memory 13. The second memory access control unit 121 outputs the read first data and third data to the second simulation execution unit 122a. The second simulation execution unit 122a performs a simulation based on the first data and the third data.

[0070] According to a modification of the first embodiment, information regarding the address of the first shared memory 13 is transmitted and received by socket communication using different communication paths according to the communication standard of the data transmitted and received via the first shared memory 13. In other words, in the modification of the first embodiment, a socket communication port according to a specific communication standard is used for transmitting and receiving information regarding the address of the first shared memory 13. The receiving simulator can determine the communication standard related to the data stored in the first shared memory 13 based on the communication path through which the information regarding the address of the first shared memory 13 is received. Therefore, the transmitting simulator does not need to transmit communication standard information for determining the communication standard of the data stored in the first shared memory 13 to the receiving simulator.

[0071] (Second Embodiment) Next, the second embodiment will be described. In the first embodiment, a cooperative simulation device that executes cooperative simulation by linking two simulators realized by a single computer has been described. In contrast, in the second embodiment, a cooperative simulation device that executes cooperative simulation by linking simulators realized by different computers will be described.

[0072] With reference to FIG. 5, an example of the configuration of the cooperative simulation device 2 according to the second embodiment will be described. FIG. 5 is a block diagram showing an example of the configuration of the cooperative simulation device 2 according to the second embodiment. In FIG. 5 according to the second embodiment, components having the same functions as those in FIG. 1 according to the first embodiment are denoted by the same reference numerals, and their descriptions are omitted.

[0073] As shown in FIG. 5, the cooperative simulation apparatus 2 according to the second embodiment includes a first simulator 11b, a second simulator 12, a third simulator 21, a first shared memory 13, a second shared memory 14, a third shared memory 22, a first transmission unit 15, and a second transmission unit 23. The cooperative simulation apparatus 2 is constituted by a plurality of computers. In the example of FIG. 5, the cooperative simulation apparatus 2 is constituted by a first computer 10 and a second computer 20. The hardware configuration of each of the first computer 10 and the second computer 20 may be the same as the hardware configuration shown in FIG. 2.

[0074] The first computer 10 includes a first simulator 11b, a second simulator 12, a first shared memory 13, a second shared memory 14, and a first transmission unit 15. The first simulator 11b, the second simulator 12, and the first transmission unit 15 are realized by the first computer 10. For example, the first simulator 11b, the second simulator 12, and the first transmission unit 15 may be realized by the cooperation of one or more programs installed in the first computer 10 and the hardware of the processor and memory of the first computer 10. The first simulator 11b is connected to the second simulator 12, the first shared memory 13, the second shared memory 14, and the first transmission unit 15. The first shared memory 13 is connected to the second simulator 12. The second shared memory 14 is connected to the first transmission unit 15.

[0075] The second computer 20 includes a third simulator 21, a third shared memory 22, and a second transmission unit 23. The third simulator 21 and the second transmission unit 23 are realized by the second computer 20. For example, the third simulator 21 and the second transmission unit 23 may be realized by the cooperation of one or more programs installed in the second computer 20 and the hardware of the processor and memory of the second computer 20. The third simulator 21 is connected to the third shared memory 22 and the second transmission unit 23. The second transmission unit 23 is connected to the third shared memory 22 and the first transmission unit 15.

[0076] The second shared memory 14 is an area in the memory of the first computer 10 that can be accessed by a plurality of processes. Data stored in the second shared memory 14 may be passed between processes, for example, using an API provided by an OS or the like.

[0077] The third shared memory 22 is an area in the memory of the second computer 20 that can be accessed by a plurality of processes. Data stored in the third shared memory 22 may be passed between processes, for example, using an API provided by an OS or the like.

[0078] As shown in FIG. 5, in addition to the configuration of the first simulator 11 shown in FIG. 1, the first simulator 11b includes a fifth address notification unit 115. Also, the first memory access control unit 111 is changed to the first memory access control unit 111b, and the first simulation execution unit 112 is changed to the first simulation execution unit 112b. The first memory access control unit 111b is connected to the second shared memory 14. The fifth address notification unit 115 is connected to the first simulation execution unit 112b and the first transmission unit 15.

[0079] The third simulator 21 includes a third memory access control unit 211, a third simulation execution unit 212, and a sixth address notification unit 213. The third memory access control unit 211 is connected to the third shared memory 22 and the third simulation execution unit 212. The sixth address notification unit 213 is connected to the third simulation execution unit 212 and the second transmission unit 23.

[0080] The first memory access control unit 111b and the first transmission unit 15 write or read data used in the cooperative simulation to or from the second shared memory 14. The first simulator 11b and the first transmission unit 15 can transfer data via the second shared memory 14. The communication path connecting the first memory access control unit 111b and the first transmission unit 15 of the first simulator 11b via the second shared memory 14 corresponds to the fourth communication path.

[0081] The third memory access control unit 211 and the second transmission unit 23 write or read data used in the cooperative simulation to / from the third shared memory 22. The third simulator 21 and the second transmission unit 23 can transfer data via the third shared memory 22. The communication path connecting the third memory access control unit 211 of the third simulator 21 and the second transmission unit 23 via the third shared memory 22 corresponds to the fifth communication path.

[0082] The first simulation execution unit 112b and the third simulation execution unit 212 are realized by different simulation tools and execute different simulations. In the cooperative simulation device 2, since the cooperative simulation in which the first simulator 11b and the third simulator 21 operate in cooperation is executed, the first simulator 11b and the third simulator 21 transmit and receive data used in the simulation.

[0083] Specifically, the first simulation execution unit 112b of the first simulator 11b receives data from the third simulator 21 via the third shared memory 22, the second transmission unit 23, the first transmission unit 15, and the second shared memory 14, and executes a simulation using the data. In addition, the first simulation execution unit 112b generates data by executing the simulation, and stores the generated data in the second shared memory 14 via the first memory access control unit 111b so that it can be used in the simulation executed by the third simulator 21.

[0084] The third simulation execution unit 212 of the third simulator 21 receives data from the first simulator 11b via the second shared memory 14, the first transmission unit 15, the second transmission unit 23, and the third shared memory 22, and executes a simulation using the data. Also, the third simulation execution unit 212 generates data by executing a simulation, and stores the generated data in the third shared memory 22 via the third memory access control unit 211 so that it can be used in the simulation executed by the first simulator 11b.

[0085] The fifth address notification unit 115 and the first transmission unit 15 transmit and receive a notification including information regarding the address (memory address) of the second shared memory 14 in which data used for the cooperative simulation is stored. The communication path connecting between the fifth address notification unit 115 and the first transmission unit 15 of the first simulator 11b corresponds to the sixth communication path via a connection bridge conforming to the FMI standard.

[0086] When transmitting and receiving information regarding the address of the second shared memory 14 using the sixth communication path, the transmitting-side fifth address notification unit 115 or first transmission unit 15 divides the information regarding the address into the size defined by the FMI standard, and transmits the divided information regarding the address to the receiving-side fifth address notification unit 115 or first transmission unit 15 via socket communication. The receiving-side fifth address notification unit 115 or first transmission unit 15 receives the information regarding the address divided into the size defined by the FMI standard via socket communication, combines the information regarding the divided address, and restores the information regarding the address of the second shared memory 14. The first simulator 11b including the receiving-side fifth address notification unit 115 or the first transmission unit 15 can acquire the data stored in the second shared memory 14 using the restored information regarding the address.

[0087] The sixth address notification unit 213 and the second transmission unit 23 transmit and receive a notification including information regarding the address (memory address) of the third shared memory 22 in which data used for cooperative simulation is stored. The communication path connecting between the sixth address notification unit 213 of the third simulator 21 and the second transmission unit 23 via socket communication corresponds to the seventh communication path via a connection bridge conforming to the FMI standard.

[0088] When transmitting and receiving information regarding the address of the third shared memory 22 using the seventh communication path, the sixth address notification unit 213 or the second transmission unit 23 on the transmission side divides the information regarding the address into the size defined by the FMI standard, and transmits the information regarding the divided address to the sixth address notification unit 213 or the second transmission unit 23 on the reception side via socket communication. The sixth address notification unit 213 or the second transmission unit 23 on the reception side receives the information regarding the address divided into the size defined by the FMI standard via socket communication, combines the information regarding the divided address, and restores the information regarding the address of the third shared memory 22. The third simulator 21 including the sixth address notification unit 213 on the reception side or the second transmission unit 23 can acquire the data stored in the third shared memory 22 using the restored information regarding the address.

[0089] Also, the first transmission unit 15 and the second transmission unit 23 transmit and receive data used for cooperative simulation via socket communication. The communication path connecting between the first transmission unit 15 and the second transmission unit 23 via socket communication corresponds to the eighth communication path via a connection bridge conforming to the FMI standard.

[0090] The first transmission unit 15 divides the data read from the second shared memory 14 into the size defined by the FMI standard, and transmits the divided data to the second transmission unit 23 via socket communication. The second transmission unit 23 receives the data divided into the size defined by the FMI standard via socket communication, and restores the data by combining the divided data. The second transmission unit 23 stores the restored data in the third shared memory 22.

[0091] The second transmission unit 23 divides the data read from the third shared memory 22 into sizes defined by the FMI standard, and transmits the divided data to the first transmission unit 15 via socket communication. The first transmission unit 15 receives the data divided into the sizes defined by the FMI standard via socket communication, and restores the data by combining the divided data. The first transmission unit 15 stores the restored data in the second shared memory 14.

[0092] Next, with reference to FIG. 6, the processing of the cooperative simulation apparatus 2 according to the second embodiment will be described. FIG. 6 is a sequence diagram showing an example of the processing of the cooperative simulation apparatus 2 according to the second embodiment. Note that FIG. 6 shows the processing in which the third simulator 21 performs a simulation using the data provided from the first simulator 11b in the cooperative simulation in which the first simulator 11b realized by the first computer 10 and the third simulator 21 realized by the second computer 20 operate in cooperation.

[0093] First, in step S201, the first memory access control unit 111b of the first simulator 11b stores fourth data, which is data in a format according to a specific communication standard, in the second shared memory 14. Here, the fourth data may be, for example, data obtained by a simulation by the first simulation execution unit 112b of the first simulator 11b.

[0094] Subsequently, the fifth address notification unit 115 of the first simulator 11b acquires information regarding the fourth address of the second shared memory 14 in which the fourth data is stored from the first simulation execution unit 112b. The fifth address notification unit 115 divides the information regarding the fourth address of the second shared memory 14 into a size defined by the FMI standard, and transmits a fourth notification including the divided information regarding the fourth address of the second shared memory 14 to the first transmission unit 15 (step S202). As described above, the communication path between the fifth address notification unit 115 and the first transmission unit 15 is a sixth communication path via a connection bridge conforming to the FMI standard. That is, the fifth address notification unit 115 transmits the fourth notification to the first transmission unit 15 by socket communication, which is an inter-process communication method, using the sixth communication path via a connection bridge conforming to the FMI standard.

[0095] In addition to the information regarding the fourth address, the fourth notification includes fourth communication standard information indicating a specific communication standard to which the fourth data conforms. The fifth address notification unit 115 divides the fourth communication standard information into a size defined by the FMI standard in the same manner as the information regarding the fourth address, and includes the divided fourth communication standard information in the fourth notification.

[0096] Subsequently, the first transmission unit 15 receives the fourth notification by socket communication. The first transmission unit 15 combines the information regarding the fourth address and the fourth communication standard information divided into a size defined by the FMI standard included in the fourth notification to restore the information regarding the fourth address and the fourth communication standard information. The first transmission unit 15 determines the communication standard of the fourth data based on the restored fourth communication standard information, and grasps information in a format corresponding to the communication standard of the fourth data. The first transmission unit 15 reads the fourth data from the second shared memory 14 based on the information regarding the fourth address and the information in the format corresponding to the communication standard of the fourth data (step S203). In this way, the first transmission unit 15 acquires the fourth data from the first simulator 11b using the fourth communication path including the second shared memory 14.

[0097] Subsequently, the first transmission unit 15 divides the fourth data and the fourth communication standard information into sizes defined by the FMI standard, and transmits the divided fourth data and fourth communication standard information to the second transmission unit 23 via socket communication through an eighth communication path via a connection bridge conforming to the FMI standard (step S204).

[0098] Subsequently, the second transmission unit 23 receives the divided fourth data and fourth communication standard information via socket communication. The second transmission unit 23 combines the fourth data and the fourth communication standard information divided into sizes defined by the FMI standard to restore the fourth data and the fourth communication standard information. The second transmission unit 23 stores the restored fourth data in the third shared memory 22 (step S205).

[0099] Also, the second transmission unit 23 divides the information regarding the fifth address of the third shared memory 22 in which the fourth data is stored into a size defined by the FMI standard, and transmits a fifth notification including the information regarding the fifth address of the divided third shared memory 22 to the sixth address notification unit 213 of the third simulator 21 (step S206). As described above, the communication path between the second transmission unit 23 and the sixth address notification unit 213 is a seventh communication path via a connection bridge conforming to the FMI standard. That is, the second transmission unit 23 uses the seventh communication path via a connection bridge conforming to the FMI standard to transmit the fifth notification to the sixth address notification unit 213 by socket communication, which is an inter-process communication method.

[0100] The fifth notification includes the fourth communication standard information in addition to the information regarding the fifth address. The second transmission unit 23 divides the fourth communication standard information into a size defined by the FMI standard in the same manner as the information regarding the fifth address, and includes the divided fourth communication standard information in the fifth notification.

[0101] Subsequently, the sixth address notification unit 213 of the third simulator 21 receives the fifth notification via socket communication. The sixth address notification unit 213 combines the information regarding the fifth address divided into the size defined by the FMI standard included in the fifth notification and the fourth communication standard information, and restores the information regarding the fifth address and the fourth communication standard information. The sixth address notification unit 213 outputs the restored information regarding the fifth address and the fourth communication standard information to the third simulation execution unit 212.

[0102] Subsequently, the third simulation execution unit 212 of the third simulator 21 receives the information regarding the fifth address and the fourth communication standard information from the sixth address notification unit 213. The third simulation execution unit 212 determines the communication standard of the fourth data based on the fourth communication standard information. Thereby, the third simulation execution unit 212 grasps the information in the format corresponding to the communication standard of the fourth data. The third simulation execution unit 212 outputs the information regarding the fifth address and the information in the format corresponding to the communication standard of the fourth data to the third memory access control unit 211.

[0103] Subsequently, the third memory access control unit 211 of the third simulator 21 receives the information regarding the fifth address and the information in the format corresponding to the communication standard of the fourth data from the third simulation execution unit 212. The third memory access control unit 211 reads the fourth data from the third shared memory 22 based on the information regarding the fourth address and the information in the format corresponding to the communication standard of the fourth data (step S207). In this way, the third simulator 21 acquires the fourth data from the second transmission unit 23 using the fifth communication path including the third shared memory 22. Also, the third memory access control unit 211 outputs the read fourth data to the third simulation execution unit 212.

[0104] Subsequently, the third simulation execution unit 212 of the third simulator 21 performs a simulation based on the fourth data (step S208). The third simulation execution unit 212 generates fifth data compliant with a specific communication standard as a simulation result. Here, the communication standard of the fifth data may be the same as the communication standard to which the fourth data conforms.

[0105] When the first simulator 11b performs a simulation using the fifth data, the third simulator 21 transmits the fifth data to the first simulator 11b via the third shared memory 22, the second transmission unit 23, the first transmission unit 15, and the second shared memory 14. The path for transmitting data from the third simulator 21 to the first simulator 11b is the reverse of the path for transmitting data from the first simulator 11b to the third simulator 21. However, since the same method can be used for the data transmission method, the description thereof is omitted.

[0106] According to the second embodiment, the transmission and reception of data between the first simulator 11b realized by the first computer 10 and the third simulator 21 realized by the second computer 20 are performed via the first transmission unit 15 and the second transmission unit 23. Thereby, even when a plurality of simulators span a plurality of computers, a cooperative simulation in which a plurality of simulators are coordinated can be executed in the same manner as in the first embodiment.

[0107] Also, in the first computer 10, the first simulator 11b and the first transmission unit 15 perform data transmission and reception using both the fourth communication path and the sixth communication path. In the second computer 20, the third simulator 21 and the second transmission unit 23 perform data transmission and reception using both the fifth communication path and the seventh communication path. In the fourth communication path including the second shared memory 14 and the fifth communication path including the third shared memory 22, there is no need to develop a connection bridge in accordance with the FMI rules.

[0108] On the other hand, in the sixth and seventh communication paths, the development of a connection bridge compliant with the FMI rules is required. However, since the information regarding the addresses of the second shared memory 14 and the third shared memory 22 is smaller than the data transmitted and received via the second shared memory 14 and the third shared memory 22, the man-hours for developing the connection bridge compliant with the FMI rules in the sixth and seventh communication paths can be reduced. Also, since the amount of data transmitted and received via the connection bridge compliant with the FMI standard can be suppressed, the execution time of the cooperative simulation can be shortened. Thus, the cooperative simulation apparatus 2 according to the second embodiment can obtain the same effects as the cooperative simulation apparatus according to the first embodiment.

[0109] In the second embodiment, the first computer 10 has been described as being configured to include the first shared memory 13 and the second shared memory 14, but the first computer 10 may be configured to include only the first shared memory 13. In that case, the first transmission unit 15 is connected to the first shared memory 13. That is, the fourth communication path is a path that connects from the first memory access control unit 111b to the first transmission unit 15 via the first shared memory 13.

[0110] Also, in the second embodiment, an example in which the communication standard of the fourth data is determined based on the fourth communication standard information has been shown, but, as in the modification of the first embodiment, it may be changed so that the communication standard of the fourth data is determined by using different communication paths according to the communication standard of the data to be transmitted and received. In this case, in the transmission and reception of each data in the sixth to eighth communication paths, since a socket communication port according to a specific communication standard is used, it is not necessary to transmit and receive the fourth communication standard information.

[0111] In the first embodiment and the modification of the first embodiment, a cooperative simulation apparatus 1 and 1a including two simulators are shown, and in the second embodiment, a cooperative simulation apparatus 2 including three simulators is shown. However, the number of simulators is not limited to the exemplified number. For example, in the cooperative simulation apparatus 2 according to the second embodiment, three or more simulators may be included on the first computer 10 side, and two or more simulators may be included on the second computer 20 side. Since the present disclosure can be applied to the transmission and reception of data between simulators, the more the number of simulators, the more remarkable the effects of the present disclosure will be.

[0112] As described above, the present disclosure has been described with reference to the embodiments. However, the present disclosure is not limited to the foregoing embodiments. Various changes that can be understood by those skilled in the art can be made to the configuration and details of the present disclosure within the scope of the present disclosure. And each embodiment can be combined with other embodiments as appropriate.

Explanation of Reference Numerals

[0113] 1, 1a, 2 Cooperative simulation apparatus 10 First computer 101 Processor 102 Memory 103 Communication interface 104 Program 11, 11a, 11b First simulator 111, 111b First memory access control unit 112, 112a, 122b First simulation execution unit 113 First address notification unit 114 Third address notification unit 115 Fifth address notification unit 12, 12a Second simulator 121 Second memory access control unit 122, 122a Second simulation execution unit 123 Second address notification unit 124 Fourth address notification unit 13 First Shared Memory 14 Second Shared Memory 15 First Transmission Unit 20 Second Computer 21 Third Simulator 211 Third Memory Access Control Unit 212 Third Simulation Execution Unit 213 Sixth Address Notification Unit 22 Third Shared Memory 23 Second Transmission Unit

Claims

1. A non-transitory computer-readable medium storing a program for causing a cooperative simulation apparatus including a first simulator, a second simulator different from the first simulator, a first communication path for transmitting and receiving data between the first simulator and the second simulator via a shared memory, and a second communication path for transmitting and receiving data between the first simulator and the second simulator by socket communication to execute a cooperative simulation method, wherein the cooperative simulation method includes: The first simulator: Stores first data in a format corresponding to a specific communication standard in the shared memory via the first communication path; Divides information regarding a first address of the shared memory in which the first data is stored into a size defined by the FMI (Functional Mock-up Interface) standard; Transmits a first notification including information regarding the divided first address of the shared memory to the second simulator via the second communication path; The second simulator: Receives the first notification via the second communication path; Combines information regarding the divided first address included in the first notification to restore information regarding the first address; Reads the first data stored in the shared memory using the restored information regarding the first address via the first communication path. A non-transitory computer-readable medium.

2. The non-transitory computer-readable medium according to claim 1, wherein the cooperative simulation method includes: The second simulator: Performs a simulation based on the read first data to generate second data in a format corresponding to the specific communication standard; Stores the generated second data in the shared memory via the first communication path; Divides information regarding a second address of the shared memory in which the second data is stored into a size defined by the FMI standard; Transmits a second notification including information regarding the divided second address of the shared memory to the first simulator via the second communication path; The first simulator: Receives the second notification via the second communication path; Combines information regarding the divided second address included in the second notification to restore information regarding the second address; Further including reading out the second data stored in the shared memory via the first communication path using information regarding the restored second address. A non-transitory computer-readable medium.

3. The non-transitory computer-readable medium according to claim 1, wherein the cooperative simulation method The first simulator Divides communication standard information indicating the specific communication standard into a size defined by the FMI standard, Includes the divided communication standard information in the first notification, The second simulator Combines the divided communication standard information included in the first notification to restore the communication standard information, Further including determining the communication standard of the first data based on the restored communication standard information. A non-transitory computer-readable medium.

4. The non-transitory computer-readable medium according to claim 1, The specific communication standard is a first communication standard, The cooperative simulation apparatus further includes a third communication path for transmitting and receiving data by socket communication, and the cooperative simulation method The first simulator Stores third data in a format corresponding to a second communication standard different from the first communication standard in the shared memory via the first communication path, Divides information regarding a third address of the shared memory in which the third data is stored into a size defined by the FMI standard, Transmits a third notification including the divided information regarding the third address of the shared memory to the second simulator via the third communication path, The second simulator Receives the third notification via the third communication path, Combines the divided information regarding the third address included in the third notification to restore the information regarding the third address, Further including reading out the third data stored in the shared memory via the first communication path using the restored information regarding the third address. A non-transitory computer-readable medium.

5. The non-transitory computer-readable medium according to claim 4, wherein the cooperative simulation method The second simulator Based on receiving the first notification via the second communication path, determines that the first data is data in a format corresponding to the first communication standard. Further including determining that the third data is data in a format conforming to the second communication standard based on receiving the third notification via the third communication path. A non-transitory computer-readable medium.

6. The non-transitory computer-readable medium according to claim 1, wherein the specific communication standard is any one of CAN (Controller Area Network), Ethernet, CAN FD (CAN with Flexible Data rate), and FlexRay. A non-transitory computer-readable medium.

7. The non-transitory computer-readable medium according to claim 1, wherein the first simulator is an execution environment of MILS (Model in the Loop Simulation), and the second simulator is an execution environment of SPILS (Simulator based Processor in the Loop Simulation) or SILS (Software in the Loop Simulation). A non-transitory computer-readable medium.

8. The non-transitory computer-readable medium according to claim 1, wherein the first simulator is an execution environment of SILS (Software in the Loop Simulation), and the second simulator is an execution environment of PILS (Processor in the Loop Simulation). A non-transitory computer-readable medium.

9. The non-transitory computer-readable medium according to claim 1, wherein the first simulator and the second simulator are realized by a single computer. A non-transitory computer-readable medium.

10. The non-transitory computer-readable medium according to claim 1, wherein the shared memory is a first shared memory. The collaborative simulation device further includes a third simulator, a first transmission unit, a second transmission unit, a fourth communication path for transmitting and receiving data between the first simulator and the first transmission unit via a second shared memory, a fifth communication path for transmitting and receiving data between the third simulator and the second transmission unit via a third shared memory, a sixth communication path for transmitting and receiving data between the first simulator and the first transmission unit by socket communication, a seventh communication path for transmitting and receiving data between the third simulator and the second transmission unit by socket communication, and an eighth communication path for transmitting and receiving data between the first transmission unit and the second transmission unit by socket communication. The collaborative simulation method is as follows: The first simulator: Stores fourth data in a format corresponding to a specific communication standard in the second shared memory via the fourth communication path; Divides information regarding a fourth address of the second shared memory in which the fourth data is stored into a size defined by the FMI standard; Transmits a fourth notification including the divided information regarding the fourth address of the second shared memory to the first transmission unit via the sixth communication path; The first transmission unit: Receives the fourth notification via the sixth communication path; Combines the divided information regarding the fourth address included in the fourth notification to restore the information regarding the fourth address; Reads the fourth data stored in the second shared memory using the restored information regarding the fourth address via the fourth communication path; Divides the read fourth data into a size defined by the FMI standard; Transmits the divided fourth data to the second transmission unit via the eighth communication path; The second transmission unit: Receives the divided fourth data via the eighth communication path; Combines the divided fourth data to restore the fourth data; Stores the restored fourth data in the third shared memory via the fifth communication path; Divides information regarding a fifth address of the third shared memory in which the fourth data is stored into a size defined by the FMI standard; Transmits a fifth notification including the divided information regarding the fifth address of the third shared memory to the third simulator via the seventh communication path; The third simulator: Receives the fifth notification via the seventh communication path; Combine the information regarding the split fifth address included in the fifth notification to restore the information regarding the fifth address, Read out the fourth data stored in the third shared memory via the fifth communication path using the information regarding the restored fifth address, including A non-transitory computer-readable medium.

11. The non-transitory computer-readable medium according to claim 10, wherein the cooperative simulation device is composed of a first computer and a second computer, wherein the first simulator and the second simulator are realized by the first computer, wherein the third simulator is realized by the second computer, A non-transitory computer-readable medium.

12. A cooperative simulation method executed in a cooperative simulation device including a first simulator, a second simulator different from the first simulator, a first communication path for transmitting and receiving data between the first simulator and the second simulator via a shared memory, and a second communication path for transmitting and receiving data between the first simulator and the second simulator by socket communication, wherein the first simulator stores first data in a format according to a specific communication standard in the shared memory via the first communication path, divides the information regarding the first address of the shared memory in which the first data is stored into a size defined by the FMI standard, transmits a first notification including the information regarding the split first address of the shared memory to the second simulator via the second communication path, wherein the second simulator receives the first notification via the second communication path, combines the information regarding the split first address included in the first notification to restore the information regarding the first address, reads out the first data stored in the shared memory via the first communication path using the information regarding the restored first address, including A cooperative simulation method.

13. The cooperative simulation method according to claim 12, wherein the second simulator performs a simulation based on the read first data to generate second data in a format according to the specific communication standard, stores the generated second data in the shared memory via the first communication path, Information regarding the second address of the shared memory in which the second data is stored is divided into a size defined by the FMI standard, and a second notification including the information regarding the second address of the divided shared memory is transmitted to the first simulator via the second communication path, wherein the first simulator receives the second notification via the second communication path, combines the information regarding the divided second address included in the second notification to restore the information regarding the second address, and further includes reading the second data stored in the shared memory via the first communication path using the information regarding the restored second address. A cooperative simulation method.

14. The cooperative simulation method according to claim 12, wherein the first simulator divides communication standard information indicating the specific communication standard into a size defined by the FMI standard, includes the divided communication standard information in the first notification, wherein the second simulator combines the divided communication standard information included in the first notification to restore the communication standard information, and further includes determining the communication standard of the first data based on the restored communication standard information. A cooperative simulation method.

15. The cooperative simulation method according to claim 12, wherein the specific communication standard is a first communication standard, and the cooperative simulation apparatus further includes a third communication path for transmitting and receiving data by socket communication, and the cooperative simulation method includes wherein the first simulator stores third data in a format corresponding to a second communication standard different from the first communication standard in the shared memory via the first communication path, divides information regarding the third address of the shared memory in which the third data is stored into a size defined by the FMI standard, transmits a third notification including the information regarding the divided third address of the shared memory to the second simulator via the third communication path, wherein the second simulator receives the third notification via the third communication path, combines the information regarding the divided third address included in the third notification to restore the information regarding the third address, and further includes reading the third data stored in the shared memory via the first communication path using the information regarding the restored third address. Coordinated simulation method.

16. The coordinated simulation method according to claim 15, wherein the second simulator, based on receiving the first notification via the second communication path, determines that the first data is data in a format according to the first communication standard, and further includes determining that the third data is data in a format according to the second communication standard based on receiving the third notification via the third communication path. Coordinated simulation method.

17. A first simulator, a second simulator different from the first simulator, a shared memory, a first communication path for transmitting and receiving data between the first simulator and the second simulator via the shared memory, and a second communication path for transmitting and receiving data between the first simulator and the second simulator by socket communication, wherein the first simulator, stores first data in a format according to a specific communication standard in the shared memory via the first communication path, divides information about a first address of the shared memory in which the first data is stored into a size defined by the FMI standard, and transmits a first notification including the divided information about the first address of the shared memory to the second simulator via the second communication path, wherein the second simulator, receives the first notification via the second communication path, combines the divided information about the first address included in the first notification to restore the information about the first address, and reads the first data stored in the shared memory using the restored information about the first address via the first communication path. Coordinated simulation device.

18. The coordinated simulation device according to claim 17, wherein the second simulator, performs a simulation based on the read first data to generate second data in a format according to the specific communication standard, stores the generated second data in the shared memory via the first communication path, divides information about a second address of the shared memory in which the second data is stored into a size defined by the FMI standard, and transmits a second notification including the divided information about the second address of the shared memory to the first simulator via the second communication path. The first simulator receives the second notification via the second communication path, combines the information on the divided second address included in the second notification to restore the information on the second address, reads the second data stored in the shared memory via the first communication path using the restored information on the second address, Cooperative simulation device.

19. A cooperative simulation device according to claim 17, wherein the first simulator divides the communication standard information indicating the specific communication standard into a size defined by the FMI standard, includes the divided communication standard information in the first notification, the second simulator combines the divided communication standard information included in the first notification to restore the communication standard information, and determines the communication standard of the first data based on the restored communication standard information. Cooperative simulation device.

20. A cooperative simulation device according to claim 17, wherein the specific communication standard is a first communication standard, the cooperative simulation device further includes a third communication path for transmitting and receiving data by socket communication, the first simulator stores third data in a format corresponding to a second communication standard different from the first communication standard in the shared memory via the first communication path, divides the information on the third address of the shared memory in which the third data is stored into a size defined by the FMI standard, transmits a third notification including the divided information on the third address of the shared memory to the second simulator via the third communication path, the second simulator receives the third notification via the third communication path, combines the divided information on the third address included in the third notification to restore the information on the third address, reads the third data stored in the shared memory via the first communication path using the restored information on the third address, determines that the first data is data in a format corresponding to the first communication standard based on receiving the first notification via the second communication path, and determines that the third data is data in a format corresponding to the second communication standard based on receiving the third notification via the third communication path. Cooperative simulation device.

Citation Information

Patent Citations

  • Virtual developmental environment apparatus, method, and recording medium

    JP2023012395A