WO2021049130A1 - シミュレーション方法および記録媒体 - Google Patents

シミュレーション方法および記録媒体 Download PDF

Info

Publication number
WO2021049130A1
WO2021049130A1 PCT/JP2020/024897 JP2020024897W WO2021049130A1 WO 2021049130 A1 WO2021049130 A1 WO 2021049130A1 JP 2020024897 W JP2020024897 W JP 2020024897W WO 2021049130 A1 WO2021049130 A1 WO 2021049130A1
Authority
WO
WIPO (PCT)
Prior art keywords
simulation
processor
code
execution result
model
Prior art date
Application number
PCT/JP2020/024897
Other languages
English (en)
French (fr)
Inventor
昌史 下澤
齋藤 信
Original Assignee
株式会社日立ソリューションズ
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社日立ソリューションズ filed Critical 株式会社日立ソリューションズ
Priority to CN202080016366.1A priority Critical patent/CN113474779A/zh
Priority to EP20863158.0A priority patent/EP4030298A4/en
Priority to US17/439,228 priority patent/US11989535B2/en
Publication of WO2021049130A1 publication Critical patent/WO2021049130A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/15Vehicle, aircraft or watercraft design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/35Creation or generation of source code model driven
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • G06F8/24Object-oriented
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/45Exploiting coarse grain parallelism in compilation, i.e. parallelism between groups of instructions
    • G06F8/457Communication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2117/00Details relating to the type or aim of the circuit design
    • G06F2117/08HW-SW co-design, e.g. HW-SW partitioning

Definitions

  • the present invention relates to a simulation method and a recording medium.
  • Model-based development is a system development method that incorporates simulation technology.
  • a simulation environment is prepared in each process, and simulation is performed in each process to improve quality and development speed at the design stage.
  • each process of the simulation environment is divided into three processes: specification examination-design, implementation, and inspection.
  • specification examination-design, requirements analysis and requirement definition basic design and functional design are performed using the MILS (Model In the Loop Simulation) environment.
  • MILS is a simulation environment in which the specifications described in the model are operated as they are.
  • SILS Software In the Loop Simulation
  • HILS Hard In the Loop Simulation
  • Patent Document 1 discloses a performance evaluation simulation system that performs simulation using a source program in which descriptions having different abstractions are mixed and input data having different abstractions.
  • This performance evaluation simulation system interprets and executes a compiler means that generates object code by separating a source program with a mixture of descriptions with different abstractions into descriptions for each of multiple model operation means, and an input event and object code. It is composed of a simulation model that has a plurality of model operating means to operate in cooperation with each other.
  • the code In order to execute a part of the code processing as a model in the conventional SILS environment (on a single process), the code is divided before and after that, each is embedded as a part of the model, and the target is in between. A method such as sandwiching a model is conceivable.
  • the processing of the code can be simply divided, it is difficult to divide the code in the case of a large-scale and complicated code.
  • the simulation in which the code and the model are mixed is given up, the model is auto-coded (C code, etc.), and then the operation is confirmed in the SILS environment, which lowers the software development efficiency.
  • An object of the present invention is to improve software development efficiency.
  • the simulation method according to one aspect of the invention disclosed in the present application is a simulation method in which a processor executes a simulation of a plurality of codes constituting a program capable of controlling a controlled object, and the processor executes the simulation of the plurality of codes.
  • the first setting process for setting the first process for executing the simulation of the operation of the code group excluding the specific code and the second process for executing the simulation of the operation of the model modeled with the specific code are set.
  • the third simulation process of executing the third simulation of the code beyond the specific code in the first process is executed.
  • FIG. 1 is a block diagram showing a hardware configuration example of the simulation device.
  • FIG. 2 is an explanatory diagram showing an example of a SILS environmental process.
  • FIG. 3 is an explanatory diagram showing an example of an interlocking simulation environment.
  • FIG. 4 is a flowchart showing an interlocking simulation execution example 1 in the interlocking simulation environment shown in FIG.
  • FIG. 5 is a flowchart showing an interlocking simulation execution example 2 in the interlocking simulation environment shown in FIG.
  • FIG. 1 is a block diagram showing a hardware configuration example of the simulation device.
  • the simulation device includes a processor 101, a memory 102, an input device 103, an output device 104, and a communication interface (communication IF) 105.
  • the processor 101, the memory 102, the input device 103, the output device 104, and the communication IF 105 are connected by the bus 106.
  • the processor 101 controls the simulation device.
  • the memory 102 serves as a work area for the processor 101. Further, the memory 102 is a non-temporary or temporary recording medium for storing various programs and data.
  • Examples of the memory 102 include a ROM (Read Only Memory), a RAM (Random Access Memory), an HDD (Hard Disk Drive), and a flash memory.
  • the input device 103 inputs data.
  • the input device 103 includes, for example, a keyboard, a mouse, a touch panel, a numeric keypad, and a scanner.
  • the output device 104 outputs data.
  • the output device 104 includes, for example, a display and a printer.
  • the communication IF 105 connects to the network and transmits / receives data.
  • FIG. 2 is an explanatory diagram showing an example of a SILS environmental process.
  • the SILS environment process 200 is a process in which the simulation is executed in the SILS environment.
  • the SILS environment process 200 is stored in the memory 102 and is started by the processor 101 to be built in the memory 102.
  • the SILS environment process 200 includes a simulation BSW (Basic Software) 201, a vehicle model 202, and a GUI (Graphical User Interface) 203.
  • BSW Basic Software
  • GUI Graphic User Interface
  • the simulation BSW201 is a virtual hardware configuration for simulating the ECU (Electronic Control Unit) application 220 to be simulated. Also called basic software.
  • the simulation BSW201 has a processor model 211, a memory model 212, an IF model 213, and a bus model 214.
  • the processor model 211 executes the ECU application 220 to control the vehicle model 202.
  • the memory model 212 serves as a work area for the processor model 211. Further, the memory model 212 stores the ECU application 220.
  • the IF model 213 is connected to the vehicle model 202 and transmits / receives data between the processor model 211 and the vehicle model 202.
  • the bus model 214 communicatively connects the processor model 211, the memory model 212, and the IF model 213.
  • Vehicle model 202 is data that models the mechanisms inside the vehicle that can be electrically controlled, such as accelerators, brakes, engines, ignition switches, air conditioning, lights, and wipers.
  • a vehicle is a moving body capable of traveling on the ground, such as a passenger car, a vehicle such as a bus or a truck, a motorcycle, an electric bicycle, an electric wheelchair, or a machine tool.
  • the vehicle model 202 is an example of a controlled object, and may be a model other than the vehicle, such as home appliances such as a refrigerator, a rice cooker, and a microwave oven.
  • the GUI 203 displays the output result from the vehicle model 202 on the output device 104.
  • the ECU application 220 stored in the memory model 212 will be described.
  • the ECU application 220 is an example of an application to be simulated. For example, it is an application that recognizes an object based on moving image data from a camera.
  • the application to be simulated is determined according to the model to be controlled.
  • the ECU application 220 has a first component code C1 to an nth component code Cn (n is an integer of 2 or more). Any component code among the first component code C1 to the nth component code Cn is referred to as an i-th component code (i is an integer satisfying 1 ⁇ i ⁇ n). It is assumed that the first component code C1 to the nth component code Cn are executed in ascending order of i.
  • FIG. 3 is an explanatory diagram showing an example of an interlocking simulation environment.
  • the interlocking simulation environment 300 is a simulation environment in which the SILS environment process 200 and the MILS environment process 301 are interlocked.
  • the MILS environment process 301 is a process in which the simulation is executed in the MILS environment.
  • the MILS environment process 301 is stored in the memory 102, and is built in the memory 102 by being started by the processor 101.
  • a second component model M2 that models the second component code C2 of the ECU application 220 is constructed in the memory model 212 and used as a simulation target instead of the second component code C2. Therefore, in the SILS environment process 200, the second component code C2 is excluded from the simulation target in the ECU application 220.
  • the second component code C2 is excluded from the simulation target and the second component model M2 is targeted for simulation, but the second component code Ci may be excluded from the simulation target and the second component model Mi may be targeted for simulation. ..
  • the number of component codes to be excluded from the simulation is not limited to one, and may be two or more. In this case, two or more component models corresponding to each of the two or more component codes that are not the simulation target are the simulation targets.
  • the SILS environment process 200 has the SILS side interprocess communication synchronization module 320 built in the memory model 212
  • the MILS environment process 301 has the MILS side interprocess communication synchronization module 310 in the memory model 212. Is built on.
  • the SILS side interprocess communication synchronization module 320 is communicably connected to the first component code C1, the third component code C3, and the MILS side interprocess communication synchronization module 310.
  • the MILS side interprocess communication synchronization module 310 is communicably connected to the second component model M2 and the SILS side interprocess communication synchronization module 320.
  • the execution result of the first component code C1 by the processor model 211 is transmitted to the second component model M2 via the SILS side interprocess communication synchronization module 320 and the MILS side interprocess communication synchronization module 310, and is transmitted to the second component model M2. It becomes input data.
  • the execution result of the second component model M2 by the processor model 211 is transmitted to the third component code C3 via the MILS side interprocess communication synchronization module 310 and the SILS side interprocess communication synchronization module 320, and the third component code C3 It becomes input data.
  • the MILS environment process 301 may be constructed in another simulation device.
  • the MILS environment process 301 is executed on the simulation BSW201 constructed by another simulation apparatus.
  • FIG. 4 is a flowchart showing an interlocking simulation execution example 1 in the interlocking simulation environment 300 shown in FIG.
  • FIG. 4 is an example of interlocking simulation execution when TCP / IP and UDP are applied to the interprocess communication by the SILS side interprocess communication synchronization module 320 and the MILS side interprocess communication synchronization module 310.
  • the SILS environment process 200 creates a SILS side socket in the SILS side interprocess communication synchronization module 320 (step S411), prepares a connection with the MILS side socket, and waits (step S412).
  • the MILS environment process 301 creates a MILS side socket in the MILS side interprocess communication synchronization module 310 (step S421), and requests a connection with the SILS side socket (step S422). Specifically, for example, the connection request is transmitted to the SILS environment process 200.
  • the SILS environment process 200 waits for a connection with the MILS side socket in step S412, but the connection between the SILS side socket and the MILS side socket is established by receiving the connection request from the MILS environment process 301. As a result, the SILS environment process 200 and the MILS environment process 301 are set to be executable.
  • the SILS environment process 200 executes the loop processing of steps S413 to S416, and the MILS environment process 301 executes the loop processing of steps S423 to S425. Both loop processes are executed a predetermined number of times (for example, the time from when the power is turned on to the vehicle and the movement starts to when the vehicle travels a predetermined distance and stops).
  • the SILS environment process 200 executes the process of the first component code C1 according to the processor model 211 (step S413). Then, the SILS environment process 200 transmits the data of the execution result of step S413 to the second component model M2 via the MILS side interprocess communication synchronization module 310 by the SILS side interprocess communication synchronization module 320 (step S414). ..
  • the MILS environment process 301 receives the data of the execution result of step S413 by the MILS side interprocess communication synchronization module 310 (step S423).
  • the MILS environment process 301 inputs the data received in step S423 into the second component model M2, and executes the processing of the second component model M2 by the processor model 211 (step S424).
  • the MILS environment process 301 transmits the data of the execution result of step S424 by the MILS side interprocess communication synchronization module 310 to the third component code C3 via the SILS side interprocess communication synchronization module 320 (step S425). ..
  • the SILS environment process 200 receives the data of the execution result of step S425 by the SILS side interprocess communication synchronization module 320 (step S415).
  • the SILS environment process 200 inputs the data received in step S415 into the third component code C3, and executes the process of the third component code C3 by the processor model 211.
  • the SILS environment process 200 sequentially executes the processes of the fourth component code C4 to the nth component code Cn according to the processor model 211. (Step S416).
  • the SILS environment process 200 disconnects from the MILS side socket (step S417) and ends a series of processing.
  • the MILS environment process 301 disconnects from the SILS side socket (step S426) and ends a series of processing.
  • FIG. 4 has described an example in which TCP / IP and UDP are applied to interprocess communication, pipe processing and message queue may be applied.
  • FIG. 5 is a flowchart showing an interlocking simulation execution example 2 in the interlocking simulation environment 300 shown in FIG.
  • FIG. 5 is an example of interlocking simulation execution when the shared memory model is applied to interprocess communication.
  • the shared memory model is a predetermined storage area in the memory model 212 and is accessible to the SILS environment process 200 and the MILS environment process 301. Exclusive control of the shared memory model is managed by the semaphore.
  • the SILS side interprocess communication synchronization module 320 and the MILS side interprocess communication synchronization module 310 shown in FIG. 3 are not constructed.
  • the SILS environment process 200 creates a semaphore object for synchronization with the MILS environment process 301 (step S511).
  • the MILS environment process 301 creates a semaphore object for synchronization with the SILS environment process 200 (step S421).
  • the SILS environment process 200 executes the loop processing of steps S512 to S517
  • the MILS environment process 301 executes the loop processing of steps S522 to S526. Both loop processes are executed a predetermined number of times (for example, the time from when the power is turned on to the vehicle and the movement starts to when the vehicle travels a predetermined distance and stops).
  • the SILS environment process 200 executes the process of the first component code C1 according to the processor model 211 (step S512). Then, the SILS environment process 200 writes the execution result data of step S512 into the shared memory model (step S513). Then, the SILS environment process 200 releases the MILS synchronization semaphore created in step S511 (step S514).
  • the MILS environment process 301 waits for the release of the MILS synchronization semaphore of the SILS environment process 200 (step S522).
  • the MILS synchronization semaphore is released, the shared memory model can be accessed, so that the MILS environment process 301 reads the data written in the shared memory model in step S513 from the shared memory model (step S523).
  • the MILS environment process 301 inputs the data read in step S523 into the second component model M2, and executes the process of the second component model M2 by the processor model 211 (step S524). Then, the MILS environment process 301 writes the data of the execution result of step S524 to the shared memory model (step S525). Then, the SILS environment process 200 releases the MILS synchronization semaphore created in step S521 (step S526).
  • the SILS environment process 200 waits for the release of the SILS synchronization semaphore of the MILS environment process 301 (step S515).
  • the shared memory model can be accessed, so that the SILS environment process 200 reads the data written in the shared memory model in step S525 from the shared memory model (step S516).
  • the SILS environment process 200 inputs the data read in step S516 into the third component code C3, and executes the process of the third component code C3 by the processor model 211. After that, the SILS environment process 200 sequentially executes the processes of the fourth component code C4 to the nth component code Cn according to the processor model 211. (Step S517).
  • the SILS environment process 200 ends a series of processing.
  • the MILS environment process 301 ends a series of processing.
  • simulation time can be unified by separating the processes performed in the code and model simulation and synchronizing each process by interprocess communication for bidirectional data exchange across each process.
  • the present invention is not limited to the above-described embodiment, but includes various modifications and equivalent configurations within the scope of the attached claims.
  • the above-described examples have been described in detail in order to explain the present invention in an easy-to-understand manner, and the present invention is not necessarily limited to those having all the described configurations.
  • a part of the configuration of one embodiment may be replaced with the configuration of another embodiment.
  • the configuration of another embodiment may be added to the configuration of one embodiment.
  • other configurations may be added, deleted, or replaced with respect to a part of the configurations of each embodiment.
  • each of the above-described configurations, functions, processing units, processing means, etc. may be realized by hardware by designing a part or all of them by, for example, an integrated circuit, and the processor realizes each function. It may be realized by software by interpreting and executing the program to be executed.
  • Information such as programs, tables, and files that realize each function is recorded in a memory, hard disk, storage device such as SSD (Solid State Drive), or IC (Integrated Circuit) card, SD card, DVD (Digital Any Disc). It can be stored in a medium.
  • SSD Solid State Drive
  • IC Integrated Circuit
  • control lines and information lines indicate those that are considered necessary for explanation, and do not necessarily indicate all the control lines and information lines that are necessary for implementation. In practice, it can be considered that almost all configurations are interconnected.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Geometry (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

プロセッサが、複数のコードのうち特定のコードを除いたコード群の動作のシミュレーションを実行する第1プロセスを設定する第1設定処理と、特定のコードをモデル化したモデルの動作のシミュレーションを実行する第2プロセスを設定する第2設定処理と、特定のコードまでのコードの第1シミュレーションを第1プロセスで実行する第1シミュレーション処理と、第1プロセスと第2プロセスとのプロセス間通信により、第1シミュレーションの実行結果を用いて、特定のモデルの第2シミュレーションを第2プロセスで実行する第2シミュレーション処理と、プロセス間通信により、第2シミュレーションの実行結果を用いて、特定のコードから先のコードの第3シミュレーションを第1プロセスで実行する第3シミュレーション処理と、を実行する。

Description

シミュレーション方法および記録媒体 参照による取り込み
 本出願は、令和1年(2019年)9月12日に出願された日本出願である特願2019-165886の優先権を主張し、その内容を参照することにより、本出願に取り込む。
 本発明は、シミュレーション方法および記録媒体に関する。
 モデルベース開発は、シミュレーション技術を取り入れたシステム開発手法である。モデルベース開発では、各工程でシミュレーション環境が準備されており、それぞれの工程でシミュレーションを実施して設計段階で品質や開発速度を高めている。モデルベース開発をソフトウェア開発に適用した場合、シミュレーション環境の各工程は、仕様検討~設計、実装、検査の3つの工程に分けられる。仕様検討~設計では、MILS(Model In the Loop Simulation)環境を使用して、要求分析および要求定義と、基本設計および機能設計が行われる。MILSとは、モデルで記述した仕様書をモデルのまま動作させるシミュレーション環境である。
 仕様検討~設計がおわると、仕様検討~設計で作成されたモデルに基づいて、実装が行われる。実装では、SILS(Software In the Loop Simulation)環境を使用して、詳細設計と単体テストが行われる。SILSとは、モデルからオートで生成したC言語などのソースコードからオブジェクトコードを生成し動作させるシミュレーション環境である。
 実装がおわると、実機を用いない仮想環境上で検査が行われる。検査では、HILS(Hardware In the Loop Simulation)環境を使用して、結合テストやシステムテストが行われる。HILSとは、開発対象となるソフトウェアが実装されたハードウェアと専用ハードウェアに実装されたプラントモデル(車載であれば車両モデル)を接続し動作させるシミュレーション環境であり、電気的な検証が可能である。
 また、特許文献1は、抽象度の異なる記述の混在したソースプログラムと抽象度の異なる入力データを用いてシミュレーションを行う性能評価用シミュレーションシステムを開示する。この性能評価用シミュレーションシステムは、抽象度の異なる記述の混在したソースプログラムを複数のモデル動作手段毎の記述に分離してオブジェクトコードを生成するコンパイラ手段と、入力イベントとオブジェクトコードを解釈して実行するモデル動作手段を複数持ち、それらが互いに協調しながら動作するシミュレーションモデルから構成される。
特開2004‐21907号公報
 車両メーカやサプライヤはそれぞれモデルベース開発に移行を進めているが、既存ソフトはコードだけで構成されている場合がほとんどであり、一度にすべてをモデル化することが難しい。また、現在のシミュレーション環境は単一プロセス上で動かすのが前提となっており、コードとモデルが混在する場合は容易にシミュレーションできないという問題がある。
 仮に従来のSILS環境内(単一プロセス上)でコード処理の一部をモデルとして実行するためには、その前後でコードを分割し、各々をモデルの一部として埋め込んだ上、その間に対象となるモデルを挟むといった手法等が考えられる。しかしながら、単純にコードの処理を分割することが可能であればよいが、大規模かつ複雑なコードの場合は、コードの分割は難しい。そのような複雑なコードの場合は、コードとモデルが混在するシミュレーションを諦め、モデルをオートコード(Cコード等)してからSILS環境で動作確認することとなり、ソフトウェア開発効率が低下する。
 本発明は、ソフトウェア開発効率の向上を図ることを目的とする。
 本願において開示される発明の一側面となるシミュレーション方法は、制御対象を制御可能なプログラムを構成する複数のコードのシミュレーションをプロセッサが実行するシミュレーション方法であって、前記プロセッサが、前記複数のコードのうち特定のコードを除いたコード群の動作のシミュレーションを実行する第1プロセスを設定する第1設定処理と、前記特定のコードをモデル化したモデルの動作のシミュレーションを実行する第2プロセスを設定する第2設定処理と、前記コード群のうち前記特定のコードまでのコードの第1シミュレーションを前記第1プロセスで実行する第1シミュレーション処理と、前記第1プロセスと前記第2プロセスとのプロセス間通信により、前記第1シミュレーションの実行結果を用いて、前記特定のモデルの第2シミュレーションを前記第2プロセスで実行する第2シミュレーション処理と、前記第1プロセスと前記第2プロセスとのプロセス間通信により、前記第2シミュレーションの実行結果を用いて、前記特定のコードから先のコードの第3シミュレーションを前記第1プロセスで実行する第3シミュレーション処理と、を実行することを特徴とする。
 本発明の代表的な実施の形態によれば、ソフトウェア開発効率の向上を図ることができる。前述した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。
図1は、シミュレーション装置のハードウェア構成例を示すブロック図である。 図2は、SILS環境プロセスの一例を示す説明図である。 図3は、連動シミュレーション環境例を示す説明図である。 図4は、図3に示した連動シミュレーション環境における連動シミュレーション実行例1を示すフローチャートである。 図5は、図3に示した連動シミュレーション環境における連動シミュレーション実行例2を示すフローチャートである。
 <シミュレーション装置のハードウェア構成>
 図1は、シミュレーション装置のハードウェア構成例を示すブロック図である。シミュレーション装置は、プロセッサ101と、メモリ102と、入力デバイス103と、出力デバイス104と、通信インターフェース(通信IF)105と、を有する。プロセッサ101、メモリ102、入力デバイス103、出力デバイス104、および通信IF105は、バス106により接続される。プロセッサ101は、シミュレーション装置を制御する。メモリ102は、プロセッサ101の作業エリアとなる。また、メモリ102は、各種プログラムやデータを記憶する非一時的なまたは一時的な記録媒体である。メモリ102としては、たとえば、ROM(Read Only Memory)、RAM(Random Access Memory)、HDD(Hard Disk Drive)、フラッシュメモリがある。入力デバイス103は、データを入力する。入力デバイス103としては、たとえば、キーボード、マウス、タッチパネル、テンキー、スキャナがある。出力デバイス104は、データを出力する。出力デバイス104としては、たとえば、ディスプレイ、プリンタがある。通信IF105は、ネットワークと接続し、データを送受信する。
 <SILS環境プロセス例>
 図2は、SILS環境プロセスの一例を示す説明図である。SILS環境プロセス200は、SILS環境でシミュレーションが実行されるプロセスである。SILS環境プロセス200は、メモリ102に記憶され、プロセッサ101により起動されることで、メモリ102に構築される。
 SILS環境プロセス200は、シミュレーション用BSW(Basic Software)201と、車両モデル202と、GUI(Graphical User Interface)203と、を有する。
 シミュレーション用BSW201は、シミュレーション対象であるECU(Electronic Control Unit)アプリケーション220をシミュレーションするための仮想的なハードウェア構成である。基盤ソフトウェアとも呼ばれる。
 シミュレーション用BSW201は、プロセッサモデル211と、メモリモデル212と、IFモデル213と、バスモデル214と、を有する。プロセッサモデル211は、ECUアプリケーション220を実行して、車両モデル202を制御する。メモリモデル212は、プロセッサモデル211の作業エリアとなる。また、メモリモデル212は、ECUアプリケーション220を記憶する。IFモデル213は、車両モデル202と接続し、プロセッサモデル211と車両モデル202との間でデータを送受信する。バスモデル214は、プロセッサモデル211、メモリモデル212、およびIFモデル213を通信可能に接続する。
 車両モデル202は、アクセルやブレーキ、エンジン、イグニッションスイッチ、空調、ライト、ワイパーといった電気的に動作制御可能な車両内の機構をモデル化したデータである。車両とは、乗用車、バス、トラックなどの自動車、バイク、電動自転車、電動車いす、工作機械など、地面を走行可能な移動体である。なお、車両モデル202は、制御対象の一例であり、冷蔵庫や炊飯器、電子レンジなどの家電製品のような、車両以外の他のモデルでもよい。
 GUI203は、車両モデル202からの出力結果を出力デバイス104に表示する。つぎに、メモリモデル212に記憶されるECUアプリケーション220について説明する。
 ECUアプリケーション220は、シミュレーション対象となるアプリケーションの一例である。たとえば、カメラからの動画データに基づいて物体認識するアプリケーションである。シミュレーション対象となるアプリケーションは、制御対象となるモデルに応じて決定される。
 ECUアプリケーション220は、第1コンポーネントコードC1~第nコンポーネントコードCnを有する(nは、2以上の整数)。第1コンポーネントコードC1~第nコンポーネントコードCnのうち任意のコンポーネントコードを第iコンポーネントコードと称す(iは1≦i≦nを満たす整数)。第1コンポーネントコードC1~第nコンポーネントコードCnは、iの昇順に実行されるものとする。
 <連動シミュレーション環境例>
 図3は、連動シミュレーション環境例を示す説明図である。連動シミュレーション環境300は、SILS環境プロセス200とMILS環境プロセス301とが連動するシミュレーション環境である。MILS環境プロセス301は、MILS環境でシミュレーションが実行されるプロセスである。MILS環境プロセス301は、メモリ102に記憶され、プロセッサ101により起動されることで、メモリ102に構築される。
 図3では、ECUアプリケーション220のうち第2コンポーネントコードC2をモデル化した第2コンポーネントモデルM2がメモリモデル212に構築され、第2コンポーネントコードC2の代わりにシミュレーション対象として用いられる。したがって、SILS環境プロセス200においてECUアプリケーション220には、第2コンポーネントコードC2がシミュレーション対象から外される。
 ここでは、例として第2コンポーネントコードC2をシミュレーション対象外とし、第2コンポーネントモデルM2をシミュレーション対象としたが、第2コンポーネントコードCiをシミュレーション対象外とし、第2コンポーネントモデルMiをシミュレーション対象としてもよい。また、シミュレーション対象外となるコンポーネントコードは、1つに限らず、2以上でもよい。この場合、シミュレーション対象外となる2以上コンポーネントコードの各々に対応する2以上のコンポーネントモデルがシミュレーション対象になる。
また、連動シミュレーション環境300では、SILS環境プロセス200には、SILS側プロセス間通信同期モジュール320がメモリモデル212に構築され、MILS環境プロセス301には、MILS側プロセス間通信同期モジュール310がメモリモデル212に構築される。
 SILS側プロセス間通信同期モジュール320は、第1コンポーネントコードC1、第3コンポーネントコードC3、およびMILS側プロセス間通信同期モジュール310と通信可能に接続される。MILS側プロセス間通信同期モジュール310は、第2コンポーネントモデルM2およびSILS側プロセス間通信同期モジュール320と通信可能に接続される。
 プロセッサモデル211による第1コンポーネントコードC1の実行結果は、SILS側プロセス間通信同期モジュール320およびMILS側プロセス間通信同期モジュール310を介して、第2コンポーネントモデルM2に送信され、第2コンポーネントモデルM2の入力データとなる。
 プロセッサモデル211による第2コンポーネントモデルM2の実行結果は、MILS側プロセス間通信同期モジュール310およびSILS側プロセス間通信同期モジュール320を介して、第3コンポーネントコードC3に送信され、第3コンポーネントコードC3の入力データとなる。
 なお、SILS側プロセス間通信同期モジュール320およびMILS側プロセス間通信同期モジュール310にTCP/IP、UDPが適用される場合、MILS環境プロセス301は、他のシミュレーション装置に構築されてもよい。この場合、MILS環境プロセス301は、他のシミュレーション装置で構築されたシミュレーション用BSW201上で実行される。
 <連動シミュレーション実行例>
 図4は、図3に示した連動シミュレーション環境300における連動シミュレーション実行例1を示すフローチャートである。図4は、SILS側プロセス間通信同期モジュール320およびMILS側プロセス間通信同期モジュール310によるプロセス間通信にTCP/IP、UDPが適用された場合の連動シミュレーション実行例である。
 SILS環境プロセス200は、SILS側プロセス間通信同期モジュール320にSILS側ソケットを作成し(ステップS411)、MILS側ソケットとの接続を準備して待機する(ステップS412)。一方、MILS環境プロセス301は、MILS側プロセス間通信同期モジュール310にMILS側ソケットを作成し(ステップS421)、SILS側ソケットとの接続を要求する(ステップS422)。具体的には、たとえば、SILS環境プロセス200に当該接続要求を送信する。
 SILS環境プロセス200は、ステップS412でMILS側ソケットとの接続を待機しているが、MILS環境プロセス301から接続要求を受信することにより、SILS側ソケットとMILS側ソケットとの接続が確立する。これにより、SILS環境プロセス200およびMILS環境プロセス301が実行可能に設定される。
 接続確立後、SILS環境プロセス200は、ステップS413~S416のループ処理を実行し、MILS環境プロセス301は、ステップS423~S425のループ処理を実行する。両ループ処理は、所定回数分(たとえば、車両に電源投入されて移動開始してから所定距離走行して停止するまでの時間)実行される。
 具体的には、たとえば、SILS環境プロセス200は、プロセッサモデル211により第1コンポーネントコードC1の処理を実行する(ステップS413)。そして、SILS環境プロセス200は、SILS側プロセス間通信同期モジュール320により、ステップS413の実行結果のデータを、MILS側プロセス間通信同期モジュール310を介して第2コンポーネントモデルM2に送信する(ステップS414)。
 MILS環境プロセス301は、MILS側プロセス間通信同期モジュール310により、ステップS413の実行結果のデータを受信する(ステップS423)。MILS環境プロセス301は、ステップS423で受信したデータを第2コンポーネントモデルM2に入力して、プロセッサモデル211により第2コンポーネントモデルM2の処理を実行する(ステップS424)。そして、MILS環境プロセス301は、MILS側プロセス間通信同期モジュール310により、ステップS424の実行結果のデータを、SILS側プロセス間通信同期モジュール320を介して第3コンポーネントコードC3に送信する(ステップS425)。
 SILS環境プロセス200は、SILS側プロセス間通信同期モジュール320により、ステップS425の実行結果のデータを受信する(ステップS415)。SILS環境プロセス200は、ステップS415で受信したデータを第3コンポーネントコードC3に入力して、プロセッサモデル211により第3コンポーネントコードC3の処理を実行する。このあと、SILS環境プロセス200は、プロセッサモデル211により第4コンポーネントコードC4~第nコンポーネントコードCnの処理を順次実行する。(ステップS416)。
 ループ処理が終了すると、SILS環境プロセス200は、MILS側ソケットとの接続を切断し(ステップS417)、一連の処理を終了する。同様に、ループ処理が終了すると、MILS環境プロセス301は、SILS側ソケットとの接続を切断し(ステップS426)、一連の処理を終了する。
 なお、図4では、プロセス間通信にTCP/IP、UDPを適用した例について説明したが、パイプ処理やメッセージキューを適用してもよい。
 図5は、図3に示した連動シミュレーション環境300における連動シミュレーション実行例2を示すフローチャートである。図5は、プロセス間通信に共有メモリモデルが適用された場合の連動シミュレーション実行例である。共有メモリモデルは、メモリモデル212内の所定の記憶領域であり、SILS環境プロセス200およびMILS環境プロセス301がアクセス可能である。共有メモリモデルの排他制御は、セマフォにより管理される。図5の場合は、図3に示したSILS側プロセス間通信同期モジュール320およびMILS側プロセス間通信同期モジュール310は構築されない。
 SILS環境プロセス200は、MILS環境プロセス301との同期用セマフォのオブジェクトを作成する(ステップS511)。一方、MILS環境プロセス301は、SILS環境プロセス200との同期用セマフォのオブジェクトを作成する(ステップS421)。
 SILS環境プロセス200は、ステップS512~S517のループ処理を実行し、MILS環境プロセス301は、ステップS522~S526のループ処理を実行する。両ループ処理は、所定回数分(たとえば、車両に電源投入されて移動開始してから所定距離走行して停止するまでの時間)実行される。
 具体的には、たとえば、SILS環境プロセス200は、プロセッサモデル211により第1コンポーネントコードC1の処理を実行する(ステップS512)。そして、SILS環境プロセス200は、ステップS512の実行結果のデータを、共有メモリモデルに書き込む(ステップS513)。そして、SILS環境プロセス200は、ステップS511で作成したMILS同期用セマフォを解放する(ステップS514)。
 MILS環境プロセス301は、SILS環境プロセス200のMILS同期用セマフォの解放を待つ(ステップS522)。MILS同期用セマフォが解放されると、共有メモリモデルにアクセス可能となるため、MILS環境プロセス301は、ステップS513で共有メモリモデルに書き込まれたデータを、共有メモリモデルから読み込む(ステップS523)。
 MILS環境プロセス301は、ステップS523で読み込んだデータを第2コンポーネントモデルM2に入力して、プロセッサモデル211により第2コンポーネントモデルM2の処理を実行する(ステップS524)。そして、MILS環境プロセス301は、ステップS524の実行結果のデータを、共有メモリモデルに書き込む(ステップS525)。そして、SILS環境プロセス200は、ステップS521で作成したMILS同期用セマフォを解放する(ステップS526)。
 SILS環境プロセス200は、MILS環境プロセス301のSILS同期用セマフォの解放を待つ(ステップS515)。SILS同期用セマフォが解放されると、共有メモリモデルにアクセス可能となるため、SILS環境プロセス200は、ステップS525で共有メモリモデルに書き込まれたデータを、共有メモリモデルから読み込む(ステップS516)。
 SILS環境プロセス200は、ステップS516で読み込んだデータを第3コンポーネントコードC3に入力して、プロセッサモデル211により第3コンポーネントコードC3の処理を実行する。このあと、SILS環境プロセス200は、プロセッサモデル211により第4コンポーネントコードC4~第nコンポーネントコードCnの処理を順次実行する。(ステップS517)。
 ループ処理が終了すると、SILS環境プロセス200は一連の処理を終了する。同様に、ループ処理が終了すると、MILS環境プロセス301は一連の処理を終了する。
 このように、本実施例によれば、コードとモデルが混在するソフトウェアのシミュレーションの容易化を図ることができ、コードとモデルが混在する環境を容易に構築することができる。これにより、コードとモデルが混在するソフトウェアの開発の効率化を図ることができる。
 また、コードとモデルが混在する環境が構築されることにより、コードのモデル化適用範囲を柔軟に拡大して、シミュレーションでの動作検証が可能となるため、等価検証を行いつつコード全体をモデル変換するといった手法を実現することができる。
 また、コードとモデルのシミュレーションで行うプロセスを別々にし、各々のプロセスを跨ぐ双方向データのやり取りはプロセス間通信で各々のプロセスを同期させることにより、シミュレーション時間の統一を図ることができる。
 なお、本発明は前述した実施例に限定されるものではなく、添付した特許請求の範囲の趣旨内における様々な変形例及び同等の構成が含まれる。例えば、前述した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに本発明は限定されない。また、ある実施例の構成の一部を他の実施例の構成に置き換えてもよい。また、ある実施例の構成に他の実施例の構成を加えてもよい。また、各実施例の構成の一部について、他の構成の追加、削除、または置換をしてもよい。
 また、前述した各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等により、ハードウェアで実現してもよく、プロセッサがそれぞれの機能を実現するプログラムを解釈し実行することにより、ソフトウェアで実現してもよい。
 各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、SSD(Solid State Drive)等の記憶装置、又は、IC(Integrated Circuit)カード、SDカード、DVD(Digital Versatile Disc)の記録媒体に格納することができる。
 また、制御線や情報線は説明上必要と考えられるものを示しており、実装上必要な全ての制御線や情報線を示しているとは限らない。実際には、ほとんど全ての構成が相互に接続されていると考えてよい。

Claims (10)

  1.  制御対象を制御可能なプログラムを構成する複数のコードのシミュレーションをプロセッサが実行するシミュレーション方法であって、
     前記プロセッサが、
     前記複数のコードのうち特定のコードを除いたコード群の動作のシミュレーションを実行する第1プロセスを設定する第1設定処理と、
     前記特定のコードをモデル化したモデルの動作のシミュレーションを実行する第2プロセスを設定する第2設定処理と、
     前記コード群のうち前記特定のコードまでのコードの第1シミュレーションを前記第1プロセスで実行する第1シミュレーション処理と、
     前記第1プロセスと前記第2プロセスとのプロセス間通信により、前記第1シミュレーションの実行結果を用いて、前記特定のモデルの第2シミュレーションを前記第2プロセスで実行する第2シミュレーション処理と、
     前記第1プロセスと前記第2プロセスとのプロセス間通信により、前記第2シミュレーションの実行結果を用いて、前記特定のコードから先のコードの第3シミュレーションを前記第1プロセスで実行する第3シミュレーション処理と、
     を実行することを特徴とするシミュレーション方法。
  2.  請求項1に記載のシミュレーション方法であって、
     前記第1設定処理では、前記プロセッサは、前記第2プロセスと通信可能な第1通信モジュールを前記第1プロセスに設定し、
     前記第2設定処理では、前記プロセッサは、前記第1プロセスと通信可能な第2通信モジュールを前記第2プロセスに設定し、
     前記第1シミュレーション処理では、前記プロセッサは、前記第1通信モジュールを用いて、前記第1シミュレーションの実行結果を、前記第2通信モジュールを介して前記特定のモデルに送信し、
     前記第2シミュレーション処理では、前記プロセッサは、前記第2通信モジュールを用いて、前記第1シミュレーションの実行結果を受信して、前記特定のモデルのシミュレーションを前記第2プロセスで実行し、前記第2通信モジュールを用いて、前記第2シミュレーションの実行結果を、前記第2通信モジュールを介して前記特定のコードから先のコードに送信し、
     前記第3シミュレーション処理では、前記プロセッサは、前記第1通信モジュールを用いて、前記第2シミュレーションの実行結果を受信して、前記特定のコードから先のコードのシミュレーションを前記第1プロセスで実行する、
     ことを特徴とするシミュレーション方法。
  3.  請求項2に記載のシミュレーション方法であって、
     第1コンピュータのプロセッサが、前記第1設定処理、前記第1シミュレーション処理、および前記第3シミュレーション処理を実行し、
     前記第1コンピュータとは異なる第2コンピュータのプロセッサが、前記第2設定処理および前記第2シミュレーション処理を実行する、
     ことを特徴とするシミュレーション方法。
  4.  請求項1に記載のシミュレーション方法であって、
     前記第1設定処理では、前記プロセッサは、前記第2プロセスの排他制御を管理する第1セマフォを前記第1プロセスに設定し、前記第2プロセスがアクセス可能な共有の記憶領域に前記第1プロセスがアクセス可能に設定し、
     前記第2設定処理では、前記プロセッサは、前記第1プロセスの排他制御を管理する第2セマフォを前記第2プロセスに設定し、前記共有の記憶領域に前記第2プロセスがアクセス可能に設定し、
     前記第1シミュレーション処理では、前記プロセッサは、前記第1シミュレーションの実行結果を前記共有の記憶領域に記憶して、前記第1セマフォを前記第2プロセスに解放し、
     前記第2シミュレーション処理では、前記プロセッサは、前記第1セマフォが解放されている場合、前記共有の記憶領域に記憶されている前記第1シミュレーションの実行結果を取得して、前記特定のモデルのシミュレーションを前記第2プロセスで実行し、前記第2シミュレーションの実行結果を前記共有の記憶領域に記憶して、前記第2セマフォを前記第1プロセスに解放し、
     前記第3シミュレーション処理では、前記プロセッサは、前記第2セマフォが解放されている場合、前記共有の記憶領域に記憶されている前記第2シミュレーションの実行結果を取得して、前記特定のコードから先のコードのシミュレーションを前記第1プロセスで実行する、
     ことを特徴とするシミュレーション方法。
  5.  請求項1に記載のシミュレーション方法であって、
     前記制御対象は、車両モデルである、
     ことを特徴とするシミュレーション方法。
  6.  制御対象を制御可能なプログラムを構成する複数のコードのシミュレーションをプロセッサに実行させるシミュレーションプログラムを記録した、コンピュータに読み取り可能な記録媒体であって、
     前記プロセッサに、
     前記複数のコードのうち特定のコードを除いたコード群の動作のシミュレーションを実行する第1プロセスを設定する第1設定処理と、
     前記特定のコードをモデル化したモデルの動作のシミュレーションを実行する第2プロセスを設定する第2設定処理と、
     前記コード群のうち前記特定のコードまでのコードの第1シミュレーションを前記第1プロセスで実行する第1シミュレーション処理と、
     前記第1プロセスと前記第2プロセスとのプロセス間通信により、前記第1シミュレーションの実行結果を用いて、前記特定のモデルの第2シミュレーションを前記第2プロセスで実行する第2シミュレーション処理と、
     前記第1プロセスと前記第2プロセスとのプロセス間通信により、前記第2シミュレーションの実行結果を用いて、前記特定のコードから先のコードの第3シミュレーションを前記第1プロセスで実行する第3シミュレーション処理と、
     を実行させることを特徴とするシミュレーションプログラムを記録した、コンピュータに読み取り可能な記録媒体。
  7.  請求項6に記載のシミュレーションプログラムを記録した、コンピュータに読み取り可能な記録媒体であって、
     前記第1設定処理では、前記プロセッサに、前記第2プロセスと通信可能な第1通信モジュールを前記第1プロセスに設定させ、
     前記第2設定処理では、前記プロセッサに、前記第1プロセスと通信可能な第2通信モジュールを前記第2プロセスに設定させ、
     前記第1シミュレーション処理では、前記プロセッサに、前記第1通信モジュールを用いて、前記第1シミュレーションの実行結果を、前記第2通信モジュールを介して前記特定のモデルに送信させ、
     前記第2シミュレーション処理では、前記プロセッサに、前記第2通信モジュールを用いて、前記第1シミュレーションの実行結果を受信させ、前記特定のモデルのシミュレーションを前記第2プロセスで実行させ、前記第2通信モジュールを用いて、前記第2シミュレーションの実行結果を、前記第2通信モジュールを介して前記特定のコードから先のコードに送信させ、
     前記第3シミュレーション処理では、前記プロセッサに、前記第1通信モジュールを用いて、前記第2シミュレーションの実行結果を受信させ、前記特定のコードから先のコードのシミュレーションを前記第1プロセスで実行させる、
     ことを特徴とするシミュレーションプログラムを記録した、コンピュータに読み取り可能な記録媒体。
  8.  請求項7に記載のシミュレーションプログラムを記録した、コンピュータに読み取り可能な記録媒体であって、
     第1コンピュータのプロセッサに、前記第1設定処理、前記第1シミュレーション処理、および前記第3シミュレーション処理を実行させ、
     前記第1コンピュータとは異なる第2コンピュータのプロセッサに、前記第2設定処理および前記第2シミュレーション処理を実行させる、
     ことを特徴とするシミュレーションプログラムを記録した、コンピュータに読み取り可能な記録媒体。
  9.  請求項6に記載のシミュレーションプログラムを記録した、コンピュータに読み取り可能な記録媒体であって、
     前記第1設定処理では、前記プロセッサに、前記第2プロセスの排他制御を管理する第1セマフォを前記第1プロセスに設定させ、前記第2プロセスがアクセス可能な共有の記憶領域に前記第1プロセスがアクセス可能に設定させ、
     前記第2設定処理では、前記プロセッサに、前記第1プロセスの排他制御を管理する第2セマフォを前記第2プロセスに設定させ、前記共有の記憶領域に前記第2プロセスがアクセス可能に設定させ、
     前記第1シミュレーション処理では、前記プロセッサに、前記第1シミュレーションの実行結果を前記共有の記憶領域に記憶して、前記第1セマフォを前記第2プロセスに解放させ、
     前記第2シミュレーション処理では、前記プロセッサに、前記第1セマフォが解放されている場合、前記共有の記憶領域に記憶されている前記第1シミュレーションの実行結果を取得して、前記特定のモデルのシミュレーションを前記第2プロセスで実行させ、前記第2シミュレーションの実行結果を前記共有の記憶領域に記憶して、前記第2セマフォを前記第1プロセスに解放させ、
     前記第3シミュレーション処理では、前記プロセッサに、前記第2セマフォが解放されている場合、前記共有の記憶領域に記憶されている前記第2シミュレーションの実行結果を取得して、前記特定のコードから先のコードのシミュレーションを前記第1プロセスで実行させる、
     ことを特徴とするシミュレーションプログラムを記録した、コンピュータに読み取り可能な記録媒体。
  10.  請求項6に記載のシミュレーションプログラムを記録した、コンピュータに読み取り可能な記録媒体であって、
     前記制御対象は、車両モデルである、
     ことを特徴とするシミュレーションプログラムを記録した、コンピュータに読み取り可能な記録媒体。
PCT/JP2020/024897 2019-09-12 2020-06-24 シミュレーション方法および記録媒体 WO2021049130A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202080016366.1A CN113474779A (zh) 2019-09-12 2020-06-24 仿真方法和记录介质
EP20863158.0A EP4030298A4 (en) 2019-09-12 2020-06-24 SIMULATION DEVICE AND RECORDING MEDIUM
US17/439,228 US11989535B2 (en) 2019-09-12 2020-06-24 Simulation method and recording medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019-165886 2019-09-12
JP2019165886A JP7225064B2 (ja) 2019-09-12 2019-09-12 シミュレーション方法およびシミュレーションプログラム

Publications (1)

Publication Number Publication Date
WO2021049130A1 true WO2021049130A1 (ja) 2021-03-18

Family

ID=74861670

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/024897 WO2021049130A1 (ja) 2019-09-12 2020-06-24 シミュレーション方法および記録媒体

Country Status (5)

Country Link
US (1) US11989535B2 (ja)
EP (1) EP4030298A4 (ja)
JP (1) JP7225064B2 (ja)
CN (1) CN113474779A (ja)
WO (1) WO2021049130A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023194938A1 (en) * 2022-04-06 2023-10-12 New York University In Abu Dhabi Corporation System, method and computer-accessible medium for a zero-copy data-coherent shared-memory inter-process communication system

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220035611A (ko) * 2020-09-14 2022-03-22 현대자동차주식회사 모의 시험 장치 및 그 제어 방법
CN117408060B (zh) * 2023-10-13 2024-05-14 上海同星智能科技有限公司 整车模型仿真性能优化方法、存储介质和电子设备
CN117408061B (zh) * 2023-10-13 2024-05-03 上海同星智能科技有限公司 整车模型仿真性能优化系统及计算机装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004021907A (ja) 2002-06-20 2004-01-22 Matsushita Electric Ind Co Ltd 性能評価用シミュレーションシステム
JP2019165886A (ja) 2018-03-22 2019-10-03 王子ホールディングス株式会社 吸収性物品

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1173814A2 (en) * 1999-04-16 2002-01-23 Entelos, Inc. Method and apparatus for conducting linked simulation operations utilizing a computer-based system model
JP2004510219A (ja) * 2000-06-19 2004-04-02 ピー.シー.クロース・アンド・アソシエイツ・インコーポレーテッド 分散型シミュレーション
US7191111B2 (en) * 2003-09-11 2007-03-13 International Business Machines Corporation Method, apparatus, and computer program product for implementing dynamic cosimulation
JP2006024006A (ja) 2004-07-08 2006-01-26 Denso Corp テストケース生成装置、テストケース生成プログラム、モデルベース開発プログラム、ソースコード生成妥当性診断装置、ソースコード生成妥当性診断プログラム、およびモデルベース開発方法。
US7849362B2 (en) * 2005-12-09 2010-12-07 International Business Machines Corporation Method and system of coherent design verification of inter-cluster interactions
WO2008013968A2 (en) * 2006-07-28 2008-01-31 Vast Systems Technology Corporation Virtual processor generation model for co-simulation
JP2008305019A (ja) * 2007-06-05 2008-12-18 Mitsubishi Electric Corp シミュレーション装置及びシミュレーション方法及びプログラム
US9152393B1 (en) * 2011-12-06 2015-10-06 The Mathworks, Inc. Dynamic entities for a model of a graphical modeling environment
US10331818B2 (en) * 2014-07-11 2019-06-25 Hitachi, Ltd. Simulation system and simulation method
JP6378128B2 (ja) 2015-04-28 2018-08-22 ルネサスエレクトロニクス株式会社 性能検証装置、システム、方法、およびコンピュータに当該方法を実行させるためのプログラム
JP2018036945A (ja) * 2016-09-01 2018-03-08 オムロン株式会社 シミュレータ連携装置、シミュレータ連携装置の制御方法、情報処理プログラム、および記録媒体
US10200399B2 (en) * 2017-05-17 2019-02-05 Threatmodeler Software Inc. Threat model chaining and attack simulation systems and methods
US10310822B1 (en) 2017-11-30 2019-06-04 Dspace Digital Signal Processing And Control Engineering Gmbh Method and system for simulating a control program
CN110069414B (zh) 2019-04-25 2023-05-30 浙江吉利控股集团有限公司 回归测试方法及系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004021907A (ja) 2002-06-20 2004-01-22 Matsushita Electric Ind Co Ltd 性能評価用シミュレーションシステム
JP2019165886A (ja) 2018-03-22 2019-10-03 王子ホールディングス株式会社 吸収性物品

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
ITO, YASUHIRO ET AL.: "Virtual HILS: Efficient software validation by entire system virtualization", IEICE TECHNICAL REPORT, vol. 110, no. 473, 11 March 2011 (2011-03-11), JP, pages 243 - 247, XP009530301, ISSN: 0913-5685 *
See also references of EP4030298A4
WATANABE, CHIEMI: "Understanding through Practice", COMPUTER SCIENCE LIBRARY 10: INTRODUCTION TO SYSTEM PROGRAMMING UNIX SYSTEM CALLS, 25 April 2011 (2011-04-25), Tokyo, Japan, pages 154 - 190, XP009530329, ISBN: 978-4-7819-1276-9 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023194938A1 (en) * 2022-04-06 2023-10-12 New York University In Abu Dhabi Corporation System, method and computer-accessible medium for a zero-copy data-coherent shared-memory inter-process communication system

Also Published As

Publication number Publication date
EP4030298A1 (en) 2022-07-20
US11989535B2 (en) 2024-05-21
JP7225064B2 (ja) 2023-02-20
JP2021043749A (ja) 2021-03-18
US20220164166A1 (en) 2022-05-26
EP4030298A4 (en) 2023-10-04
CN113474779A (zh) 2021-10-01

Similar Documents

Publication Publication Date Title
WO2021049130A1 (ja) シミュレーション方法および記録媒体
JP5059017B2 (ja) シミュレーション装置
JP2015060600A (ja) 仮想制御装置をリアルタイムテストするためのテスト装置
US20130103379A1 (en) Apparatus and method for verifying interoperability between application software and autosar service
KR101136408B1 (ko) 신뢰성 있는 cps 개발을 위한 cps 시뮬레이터, 이를 이용한 cps 시뮬레이션 시스템 및 방법
CN103744684B (zh) 一种异构软硬件协同开发的方法及系统
US20120101791A1 (en) Controlling simulation systems
JP2008040983A (ja) 分散型シミュレーションシステム、及び、シミュレータとシミュレーションモデルの識別方法
US20190147131A1 (en) Ecu simulation device
James et al. On modelling and verifying railway interlockings: Tracking train lengths
US20140107996A1 (en) Enabling reuse of unit-specific simulation irritation in multiple environments
US8819646B2 (en) Control architecture and process for porting application software for equipment on board an aircraft to a consumer standard computer hardware unit
JP2008250788A (ja) 連携シミュレーションシステム
JP2002366602A (ja) ソフトウエア及びハードウエアのシミュレーション方法及びシステム並びにプログラム
US8688428B2 (en) Performance evaluation device, performance evaluation method and simulation program
US20210141710A1 (en) Development support device
Rafique et al. Generating hardware specific code at different abstraction levels using Averest
Santos et al. On the timing analysis at automotive real-time embedded systems
JP7017871B2 (ja) 車両制御模擬装置
CN102509486A (zh) 机车司机显示单元功能试验台
JP7410004B2 (ja) シミュレーション方法およびシミュレーションプログラム
JP2011081560A (ja) システムレベルシミュレーション方法および装置
US20170287349A1 (en) Method and system for updating a simulation plan for training personnel on system maintenance
KR20240009766A (ko) 차량용 소프트웨어 플랫폼의 시뮬레이션을 위한 네트워크 가상화 장치 및 방법
JP2018025840A (ja) 分散シミュレーションシステム、分散シミュレーション手法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20863158

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2020863158

Country of ref document: EP

Effective date: 20220412