JP6770935B2 - 車両制御装置用の検証装置 - Google Patents

車両制御装置用の検証装置 Download PDF

Info

Publication number
JP6770935B2
JP6770935B2 JP2017130694A JP2017130694A JP6770935B2 JP 6770935 B2 JP6770935 B2 JP 6770935B2 JP 2017130694 A JP2017130694 A JP 2017130694A JP 2017130694 A JP2017130694 A JP 2017130694A JP 6770935 B2 JP6770935 B2 JP 6770935B2
Authority
JP
Japan
Prior art keywords
timing
information
synchronization
unit
processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017130694A
Other languages
English (en)
Other versions
JP2019016021A (ja
Inventor
隆博 飯田
隆博 飯田
毅 福田
毅 福田
入江 徹
入江  徹
雄介 阿部
雄介 阿部
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Astemo Ltd
Original Assignee
Hitachi Automotive Systems Ltd
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 Hitachi Automotive Systems Ltd filed Critical Hitachi Automotive Systems Ltd
Priority to JP2017130694A priority Critical patent/JP6770935B2/ja
Priority to PCT/JP2018/023394 priority patent/WO2019009068A1/ja
Priority to EP18827708.1A priority patent/EP3637262B1/en
Publication of JP2019016021A publication Critical patent/JP2019016021A/ja
Application granted granted Critical
Publication of JP6770935B2 publication Critical patent/JP6770935B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3013Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is an embedded system, i.e. a combination of hardware and software dedicated to perform a certain function in mobile devices, printers, automotive or aircraft systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3404Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for parallel or distributed programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • G06F9/4825Interrupt from clock, e.g. time of day
    • 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/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Description

本発明は、車両制御装置用の検証装置及び車両制御装置に関する。
従来より、複数のコア(又はノード)を有する並列計算装置が提案されている。
WO2011/001519
上記の並列計算装置において、各処理単位(コア)によって実行される処理が、意図したタイミングで動作しているかを把握することは困難である。特に並列化を前提として設計されたプログラムとは異なる、旧来のシングルコアシステム用のプログラムを並列化した場合、並列化前のある処理が、並列化後のどの部分に対応するかを把握することは難しい。したがって、このような場合では、プログラムを並列化した前後で等価性を保証することが難しい。
特許文献1は、複数のノードで処理を同期させるシステムを開示する。特許文献1のシステムは、複数の処理を複数のノードにおいて同期させるために、同時実行する処理を事前に指定する。そして、当該システムは、処理の実行を一時的に保留させる機能を備え、複数のノード間で処理の開始点を同期させる。
しかし、特許文献1のシステムは、処理の開始点を同期させるだけであり、複数の処理を並列に実行するときのテストが十分に行えない。例えば、上述のようにシングルコアシステム用のプログラムを並列化した場合におけるテストを十分に行うことができない。特許文献1のシステムでは、並列化後のプログラムを複数のノードで実行させるときに、処理中の特定のタイミングで同期させて、複数の処理の影響を確認することができない。
そこで、本開示は、上記課題を解決するための技術を提供するものであり、並列化後のプログラムを複数のコアで実行させるときに、複数のコアの処理を、並列化前のプログラム内のある特定のタイミングに対応させて同期させることが可能な技術を提供する。
例えば、上記課題を解決するために、特許請求の範囲に記載の構成を採用する。本願は上記課題を解決する手段を複数含んでいるが、その一例をあげるならば、複数のコアを有する車両制御装置用の検証装置であって、前記複数のコアの同期させるタイミングを示す同期タイミング情報を取得するタイミング同期部と、前記同期タイミング情報に基づいて、前記複数のコアに対する制御指示情報を作成する制御指示部と、を備え、前記タイミング同期部は、前記複数のコアの実行結果に基づいて、同期させるべきタイミングで各コアが同期されたかを判定する、検証装置が提供される。
本発明によれば、並列化後のプログラムを複数のコアで実行させるときに、複数のコアの処理を、並列化前のプログラム内のある特定のタイミングに対応させて同期させることができる。本発明に関連する更なる特徴は、本明細書の記述、添付図面から明らかになるものである。また、上記した以外の、課題、構成及び効果は、以下の実施例の説明により明らかにされる。
実施例1における車両のシステムの概略構成図である。 実施例1における車両制御装置のH/W(Hardware)構成を示した図である。 実施例1におけるECUのH/W構成を示した図である。 実施例1におけるECUのコアにおいて実行されるソフトウェアモジュール構成を示した図である。 実施例1におけるECUとシミュレータの関連を示した図である。 実施例1におけるシミュレータのソフトウェアモジュール構成を示した図である。 実施例1におけるECUのコアの制御部及び通信監理部のソフトウェアモジュール構成を示した図である。 実施例1における制御指示情報の一例を示した図である。 実施例1における制御指示情報の一例を示した図である。 実施例1における同期テーブルの一例を示した図である。 実施例1における同期テーブルの一例を示した図である。 実施例1におけるログ情報の一例を示した図である。 実施例1におけるシミュレータ及びECUで実行される処理を示すフローチャートである。 実施例2におけるECUのコアにおいて実行されるソフトウェアモジュール構成を示した図である。 実施例3におけるECUにおいて実行されるソフトウェアモジュール構成を示した図である。 実施例4における同期テーブルの一例を示した図である。 実施例4における制御指示情報の一例を示した図である。
以下、添付図面を参照して本発明の実施例について説明する。添付図面は本発明の原理に則った具体的な実施例を示しているが、これらは本発明の理解のためのものであり、決して本発明を限定的に解釈するために用いられるものではない。
以下では、好適な例として車両における車両制御装置の実施例について説明する。しかし、以下の実施例は、車両制御装置以外への適用を妨げるものではない。
[実施例1]
図1は、実施例1における車両のシステムの概略構成図である。1は、内部に車両制御装置を有する車両(自動車等)である。2は、例えば車載ネットワーク(CAN:Controller Area Network、CANFD:CAN with Flexible Data−rate、Ethernet(登録商標)等)とコントローラ(ECU:Electronic Control Unit等)により構成される車両制御装置である。3は、車両1と外部の装置との間の無線通信(例えば携帯電話の通信、無線LAN、WAN等のプロトコルを使用した通信)を行い、外界(インフラ、他車)の情報あるいは自車に関する情報を取得及び送信する通信装置、又は、診断端子(OBD)やEthernet端子、外部記録媒体(例えばUSBメモリ、SDカード等)端子等を有し、有線接続を行い車両制御装置2と有線通信を実施する通信装置である。4は、例えば2と異なる、又は同一のプロトコルを用いたネットワークにより構成される車両制御装置である。
5は、車両制御装置2の制御に従い、車両運動を制御する機械及び電気装置(例えばエンジン、トランスミッション、ホイール、ブレーキ、操舵装置等)の駆動を行う駆動装置(アクチュエータ等)である。6は、外界から入力される情報を取得し、外界認識情報を生成する、カメラ、レーダ、LIDAR、超音波センサ等の外界センサ、及び、車両1の状態(運動状態、位置情報等)を認識する力学系センサ(加速度、車輪速度、GPS:Global Positioning System)により構成される認識装置である。
7は、図示省略のネットワークシステムに有線又は無線で接続され、ネットワークシステムから送出されるデータを受信し、メッセージ情報(例えば映像、音)等の必要な情報を表示又は出力する、液晶ディスプレイ、警告灯、及び、スピーカ等の出力装置である。8は、ユーザが車両制御装置2に対して、操作の意図や指示を入力する入力信号を生成するための、例えばステアリング、ペダル、ボタン、レバー、タッチパネル等の入力装置である。9は、車両1が外界に対して車両1の状態等を通知するための、ランプ、LED、スピーカ等の通知装置である。
車両制御装置2は、車両制御装置4、通信装置3、駆動装置5、認識装置6、出力装置7、入力装置8、及び、通知装置9等に接続されており、それぞれと情報の送受信を行う。
図2は、実施例1における車両制御装置2のH/W(Hardware)構成を示した図である。201は、車載のネットワークシステムに接続するネットワークリンクであり、例えばCANバス等のネットワークリンクである。202は、ネットワークリンク201、及び、ネットワークリンク201以外のネットワークリンク(専用線含む)に接続されているECU(Electronic Control Unit:電子制御ユニット)である。ECU202は、ネットワークを介して駆動装置5及び認識装置6の制御を行い、駆動装置5及び認識装置6と情報の送受信を行う。203は、複数のネットワークリンク201を接続し、それぞれのネットワークリンクとデータの送受信を行うゲートウェイ(以下GW)である。
図2のネットワークトポロジは、2つのバスに複数のECU202が接続されているバス型である。他の例として、ネットワークトポロジは、複数のECUが直接GWに接続されるスター型、ECUが一連のリンクにリング状に接続されているリンク型、又は、それぞれの型が混在し複数のネットワークにより構成される混在型等であってもよい。ECU202及びGW203については、図2の例以外に、GW機能を有するECU、又はECUの機能を有するGW等が採用されてもよい。
ECU202は、ネットワークを介して受信したデータに基づいて、駆動装置5への制御信号の出力、認識装置6からの情報の取得、ネットワークへの制御信号及び情報の出力、及び、内部状態の変更等の制御処理を行う。
図3は、実施例1におけるECU202のH/W構成を示した図である。ECU202は、複数のコアを有し、複数のコアを用いて並列制御を行う。
301は、キャッシュ又はレジスタ等の記憶素子を有し、制御を実行するCPU(プロセッサ)等のコアである。図3の例では、ECU202は、複数のコア301−1〜301−Nを有する。302は、特定のコアだけがアクセス可能な揮発性のデータを保存するRAM(Random Access Memory)である。図3の例では、コア301−1〜301−Nが、それぞれ、対応するLocal RAM302−1〜302−Nを備える。303は、図示省略のクロック等を使用し、時間及び時刻の管理を行うタイマである。304は、プログラム及び不揮発性のデータを保存するROM(Read Only Memory)である。305は、不特定のコアがアクセス可能な揮発性のデータを保存するGlobal RAM(Random Access Memory)である。
306は、ネットワークリンク201等のネットワークや専用線で接続された駆動装置5及び/又は認識装置6に対してデータの送受信を行うI/O(Input/Output)である。307は、ECU202の内部での通信に用いられる内部バスである。308は、電源遮断後もデータを保持可能な外部メモリであり、EEPROM、SolidStateDrive、又はHardDiscDrive等である。
図4は、実施例1におけるコア301−1〜301−Nにおいて実行されるソフトウェアモジュール構成を示した図である。401は、図示省略の通信I/F(Interface)から取得したデータの解析、及び、ソフトウェアモジュール全体の制御を行う制御部である。402は、通信I/Fの動作及び状態を管理し、内部バス307を介して通信I/Fに指示を行う通信管理部である。403は、タイマ303を管理し、時間に関する情報の取得及び制御を行う時間管理部である。404は、一時的にデータを確保するバッファである。
図4では、コア301上の動作概念が示されている。実際には、コア301は、動作時に必要な情報をROM304及びRAM305から適宜取得し、又は、ROM304及びRAM305に適宜書き込む。
図5は、実施例1におけるECU202とシミュレータ501の関連を示した図である。シミュレータ501は、車両制御装置2用の検証装置である。この例では、シミュレータ501は、車両1のネットワークに接続するコンピュータであり、シミュレータ501の機能はコンピュータ上で実行されるプログラムで実装される。なお、シミュレータ501は、車両外部のコンピュータに限定されず、車両に搭載されたECU202において実装されてもよい。
ECU202とシミュレータ501とは、通信経路601で接続されている。シミュレータ501は、通信部511を介して制御指示情報701をECU202へ送信する。ECU202は、I/O306を介して制御指示情報701を受信し、制御指示情報701をコア301へ送信する。コア301の通信I/Fが制御指示情報701を受信すると、コア301は、制御指示情報701に従って処理を実行し、ログ情報(実行結果)801を通信I/Fを介してI/O306に送信する。ECU202は、I/O306を介してログ情報801をシミュレータ501へ送信する。シミュレータ501は、通信部511を介してログ情報801を受信する。シミュレータ501は、受信したログ情報801に基づいて次の制御指示情報701を計算する。
通信経路601は、ECU202とシミュレータ501とを接続する経路である。通信経路601は、CANをはじめとする車載用ネットワークや、Ethernet、無線WiFiのような通信方式のどれか、又は、GateWayや他のECUやコンピュータを経由して前記通信方式を組み合わせた経路でもよい。なお、ECU202とシミュレータ501との直接通信に制限されず、ECU202とシミュレータ501との間に他の装置が介在してもよい。
図6は、実施例1におけるシミュレータ501のソフトウェアモジュール構成を示した図である。上述したように、シミュレータ501は、例えば、汎用のコンピュータを用いて実現されてもよい。シミュレータ501の各処理部は、コンピュータ上で実行されるプログラムの機能として実現されてもよい。コンピュータは、CPU(Central Processing Unit)等のプロセッサと、メモリ等の記憶部と、ハードディスク等の補助記憶装置を備える。シミュレータ501の処理は、各処理部に対応するプログラムコードがメモリに格納され、プロセッサが各プログラムコードを実行することによって実現されてもよい。
シミュレータ501は、通信部511と、タイミング同期部512と、制御指示部513と、記憶部514とを備える。
通信部511は、入力部521と出力部522とを備える。入力部521は、ログ情報801をECU202から受け取る。タイミング同期部512は、同期テーブル901に基づいて後述する処理を実行する。タイミング同期部512は、同期テーブル901から同期タイミング情報515を取得し、同期タイミング情報515を制御指示部513に出力する。制御指示部513は、同期タイミング情報515から制御指示情報701を計算し、制御指示情報701を出力部522に出力する。出力部522は、制御指示情報701をECU202に送信する。
記憶部514は、同期テーブル901を格納している。また、記憶部514は、ECU202から受け取ったログ情報801を蓄積する。
シミュレータ501は、ディスプレイ等の表示部502に接続されてよい。表示部502は、同期テーブル901、制御指示情報701、及び、ログ情報801を表示する。ユーザは、表示部502に表示された同期テーブル901及びログ情報801から、並列化前のある処理が、並列化後のどの部分に対応するかを確認することができる。また、ユーザは、ログ情報801を参照することにより、同期テーブル901で指定した同期タイミングで複数のコア301が同期されているかを確認することができる。
図7は、実施例1におけるECU202のコア301−1〜301−Nの制御部401及び通信管理部402のソフトウェアモジュール構成を示した図である。ここでは、コア301−1の構成について説明するが、コア301−2〜301−Nについても同様の構成を備える。
制御部401は、処理部411とタイミング監視部412とを備える。また、通信管理部402は、入力部421と出力部422とを備える。
入力部421は、シミュレータ501から制御指示情報701を受信する。入力部421は、受信した制御指示情報701を処理部411へと受け渡す。処理部411は、受け取った制御指示情報701に従って、処理部411内でECU202が備えるアプリケーション及び/又は基盤ソフトウェア等を動作させる。タイミング監視部412は、処理部411の動作を監視し、動作結果情報431を取得する。あるいは、処理部411は、動作結果情報431をタイミング監視部412に出力する。
タイミング監視部412は、動作結果情報431からログ情報801を計算し、ログ情報801を出力部522へと受け渡す。出力部522は、受け取ったログ情報801をシミュレータ501へ送信する。
以降では、本実施例で用いられる各種情報について説明する。図8Aは、実施例1における制御指示情報701の一例を示した図である。制御指示情報701は、同期ID711と、指示対象712と、指示タイミング713とを構成項目として有する。
同期ID711は、数字、アルファベット、記号等で構成される値であり、内容は特に制限されず、プログラムの実行順序の関係が識別可能な値で設定されればよい。
指示対象712は、指示対象を一意に識別できる、文字列、数字、記号等で構成される値である。図8Aの例では、指示対象712は、指示対象となるECU及びコアの情報を含む。指示対象712は、ECU、コア、プロセッサ等のソフトウェアを処理する単位で記載されてもよいし、車両、サーバ又はその他の制御装置等の情報が記載されてもよい。また、指示対象712として、タスク、プロセス名等のソフトウェア内の処理単位が指定されてもよい。なお、シミュレータ501が、指示対象に対して制御指示情報701を直接送信する場合、指示対象712の列を省略することができる。
指示タイミング713は、指示対象を同期させるタイミングの情報である。例えば、指示タイミング713には、数字やアルファベット等の順序が識別できる情報(例えば、処理ステップ番号)や、文字列や数字等の処理名が一意にわかる情報で記載される前段/後段処理名等が記載される。図8Aの例では、指示タイミング713は、指示対象となるコアに関する同期タイミングの情報を含む。指示タイミング713は、処理ステップ番号の情報を含む。指示対象のコアは、指示タイミング713に記載された処理ステップ番号まで実行して処理を停止する。また、指示タイミング713は、前段処理名の情報を含んでもよい。指示対象のコアは、指示タイミング713に記載された前段処理を実行した後に処理を停止する。指示タイミング713は、上述の処理ステップ番号及び前段処理の情報の少なくとも一方を含んでよい。なお、その他の例として、指示タイミング713は、現実時間や、指示対象が計算する計算時間といった時間情報であってもよい。
図8Bは、実施例1における制御指示情報701の一例を示した図である。制御指示情報701は、後段処理内容714をさらに含んでもよい。後段処理内容714は、次の処理及びラベルの情報を含む。後段処理内容714には、指示タイミング713で同期させた後に実行される次の処理内容の情報が記載される。図8Bの例では、後段処理内容714は、次の処理名及びラベルの情報を含む。次の処理名には、処理名を一意に識別できる、文字列、数字、記号等で構成される値が記載される。ラベルには、当該次の処理で使用される変数、配列、構造体等の情報が記載される。ラベルの情報として、数字、文字列、ビット列等の値が使用され得る。ラベルには、これらの値の処理実行後の値及び/又は処理実行前の値の情報が含まれてもよい。
なお、制御指示情報701は、上記内容以外にもプログラムを動作させる指示及び値を含んでもよい。
図9Aは、実施例1における同期テーブル901の一例を示した図である。図9Aの同期テーブル901の場合、図8Aの制御指示情報701が作成される。同期テーブル901は、同期ID911と、比較対象グループ912と、比較対象913と、比較情報914とを構成項目として含む。
同期ID911は、数字、アルファベット、記号等で構成される値であり、内容は特に制限されず、プログラムの実行順序の関係が識別可能な値で設定されればよい。複数の行で同じ同期IDを共有し、同じ同期IDを持つ行は同期すべき処理の組み合わせを表す。
比較対象グループ912は、数字、アルファベット、記号等で構成される値であり、比較対象のグループを一意に識別できる値であればよい。比較対象グループ912が同じ値に設定されている行は一セットとして扱われる。図9Aの例では、プログラムの実行結果が「対象1」と「対象2」との間で比較される。「対象1」は、並列化後のプログラムを実行するグループである。「対象2」は、並列化前のプログラムを実行するグループである。
比較対象913は、数字、アルファベット、記号等で構成される値であり、比較対象を一意に識別できる値であればよい。比較対象913は、ECU、コア、プロセッサ等のソフトウェアを処理する単位で記載されてもよいし、車両、サーバ又はその他の制御装置等の情報が記載されてもよい。また、比較対象913として、タスク、プロセス名等のソフトウェア内の処理単位が指定されてもよい。図9Aの例では、ECU1のコア1とECU1のコア2が、並列化後のプログラムを実行する「対象1」として指定されている。また、ECU2のコア1が、並列化前のプログラムを実行する「対象2」として指定されている。
比較情報914は、比較対象を同期させるタイミングの情報を含む。例えば、比較情報914には、数字やアルファベット等の順序が識別できる情報(例えば、処理ステップ番号)や、文字列や数字等の処理名が一意にわかる情報で記載される前段/後段処理名等が記載される。図9Aの例では、比較情報914は、同期させるタイミングとして、処理ステップ番号の情報を含む。なお、その他の例として、比較情報914は、現実時間や指示対象が計算する計算時間といった時間情報であってもよい。
比較情報914は、処理内容の情報を含んでもよい。処理内容は、処理名を一意に識別できる、文字列、数字、記号等で構成される値を含んでもよい。また、処理内容は、ラベルの情報を含んでもよい。ラベルには、当該処理で使用される変数、配列、構造体等の情報が含まれる。ラベルの情報として、数字、文字列、ビット列等の値が使用され得る。また、ラベルには、処理実行後の値及び/又は処理実行前の値の情報が含まれてもよい。
なお、同期テーブル901の1つの同期ID911に対して、少なくとも2種類以上の比較対象グループ912が含まれる必要がある。同期テーブル901は、本実施例に記載の構成に限らず、上記情報と同様のものを含めばよい。
図9Bは、実施例1における同期テーブル901の一例を示した図である。図9Bの同期テーブル901の場合、図8Bの制御指示情報701が作成される。同期テーブル901は、後段処理内容915をさらに含んでもよい。後段処理内容915は、図8Bの後段処理内容714と同様の内容であるため、説明を省略する。
次に、同期テーブル901の比較情報914に記載される処理の特定方法について説明する。例えば、以下の第1の方法及び第2の方法を用いて、同期テーブル901を予め作成することができる。
第1の方法として、比較対象となるプログラム(並列化前のプログラム及び並列化後のプログラム)の各ソースコードから同期すべき処理を探し出す方法がある。比較対象となる複数のソースコードにおいて、プログラミング言語に備えられたライブラリ関数(標準入出力関数等)の使用箇所から、同期すべき箇所の推測が可能となる。そこで、同期テーブル901に記載される同期すべき処理と箇所を特定する方法として、ライブラリ関数の使用箇所が用いられてもよい。例えば、比較対象となる複数のソースコードにおいて、同じライブラリ関数を使用している箇所をピックアップし、ピックアップされた箇所を同期すべきタイミングとしてもよい。
第2の方法として、比較対象となるプログラムの各ソースコードに対して同期すべき処理を埋め込む手法である。ツール又はハンドコードで同期ポイントを各ソースコード内に記載しておいてもよい。これにより、同期箇所の特定が可能となる。例えば、ソースコードの並列化前後で同期すべき箇所を特定する場合、ループ処理の開始箇所や関数の開始箇所等、同期するポイントとなり得る箇所をトレースする。そして、ツール又は設計者の手で同期用の処理を当該箇所に埋め込む(例えば、関数やパイプライン処理等を埋め込むことが可能である)。
同期テーブル901に記載される内容は、上記処理に限定されるものではなく、設計者が編集してもよい。
図10は、実施例1におけるログ情報801の一例を示した図である。ログ情報801は、同期ID811と、比較対象812と、タイミング813と、処理内容814とを構成項目として含む。
同期ID811及び比較対象812は、それぞれ、制御指示情報701の同期ID711及び指示対象712(あるいは、同期テーブル901の同期ID911及び比較対象913)と同じ内容であるため、説明を省略する。
タイミング813は、比較対象812が実際にどこまで実行したかを示す情報である。図10の例では、タイミング813は、ソースコード内の処理ステップ番号であり、比較対象812が処理ステップ番号まで実行したことを表す。なお、タイミング813は、同期テーブル901の比較情報914として指定されたものと同様の内容であればよい。タイミング813は、処理ステップ番号、前段/後段処理名、又は、現実時間や計算時間といった時間情報等であってもよい。
処理内容814は、比較対象812が実際に実行した処理内容の情報である。処理内容814は、同期テーブル901の比較情報914の処理内容として指定されたものと同様の内容であり、処理名やラベルの情報等を含んでもよい。ラベルには、実際に実行した処理内で使用された変数、配列、構造体等の情報が含まれる。ラベルの情報として、数字、文字列、ビット列等の値が使用され得る。また、ラベルには、処理実行後の値及び/又は処理実行前の値の情報が含まれてもよい。
ログ情報801は、同じ同期ID811を持つ2行以上の表で表現される。ログ情報801は、本構成に制限されるものではなく、上記記載内容と同等の内容であれば表の形式は問わない。
図11は、実施例1におけるシミュレータ501及びECU202で実行される処理を示すフローチャートである。シミュレータ501及びECU202は、S1101〜S1108をプログラムの処理が終了するまで繰り返し実行する。
(S1101)
初回動作時、タイミング同期部512は、同期テーブル901の1行目を読み込み、以下の同期タイミング情報生成処理を実行する。タイミング同期部512は、同期テーブル901において、読み込んだ1行目と同じ同期ID911の行を選択する。タイミング同期部512は、同じ同期ID911の全ての行を選択し終えた後、これら選択した全ての行を同期タイミング情報515として制御指示部513に出力する。
2回目以降の動作時、タイミング同期部512は、ログ情報801に基づいて、同期させるべき次の処理を決定する。例えば、タイミング同期部512は、ECU202から受信したログ情報801と同期テーブル901とを比較し、同期させるべきタイミングで各コアが同期されたかを判定する。同期させるべきタイミングで各コアが同期されていた場合、タイミング同期部512は、同期させるべき次の処理を決定する。すわなち、タイミング同期部512は、同期テーブル901から次の同期ID911の行を選択する。タイミング同期部512は、前回選択した同期ID911の次の同期ID911の1行目を選択する。次に、タイミング同期部512は、同期テーブル901において、読み込んだ1行目と同じ同期ID911の行を選択する。タイミング同期部512は、同じ同期ID911の全ての行を選択し終えた後、これら選択した全ての行を同期タイミング情報515として制御指示部513に出力する。このような構成によれば、並列化後のプログラムを複数のコアで実行させるときに、複数のコアの処理を、並列化前のプログラム内のある特定のタイミングで同期させ、その同期結果を逐次確認しながら、複数のコアでの処理の影響を確認することができる。
なお、2回目以降の動作時、同期させるべきタイミングで各コアが同期されていなかった場合、タイミング同期部512は、制御指示部513に対して、前回と同じ制御指示情報701を再送信するよう指示してもよい。この場合、タイミング同期部512は、表示部502にログ情報801及び同期テーブル901の情報を表示し、ユーザに通知してもよい。
変形例として、タイミング同期部512は、複数のセット(異なる同期IDのセット)を同期タイミング情報515として制御指示部513に出力してもよい。この場合、後段のS1102において、制御指示部513が、同期させる複数のタイミングを含む制御指示情報701を作成する。
また、2回目以降の動作時、タイミング同期部512は、ログ情報801に基づいて、今回受信したログ情報801の同期ID811の値に1加えた同期IDを選択するようにしてもよい。本ステップでは、同じ同期ID911の行が選択されればよく、上述した処理に限定されない。
(S1102)
制御指示部513は、受け取った同期タイミング情報515に基づいて、制御指示情報701を作成する。例えば、制御指示部513は、比較対象913の内容を制御指示情報701の指示対象712に格納し、比較情報914の内容を制御指示情報701の指示タイミング713に格納する。同期テーブル901が図9Aの例の場合、制御指示部513は、図8Aの制御指示情報701を作成する。同期テーブル901が図9Bの例の場合、制御指示部513は、図8Bの制御指示情報701を作成する。制御指示部513は、作成した制御指示情報701を出力部522へ出力する。
なお、指示対象に指示情報を直接送信する場合には、制御指示部513は、制御指示情報701の各行ごとに指示情報を作成してもよい。
また、制御指示部513は、指示対象の動作を停止させる又は再開させる等の動作指示の行を制御指示情報701に追加してもよい。制御指示部513は、同期させるべき指示対象に同期のタイミングを指示できればよく、制御指示情報701は適宜変更されてもよい。
(S1103)
出力部522は、受け取った制御指示情報701をECU202に送信する。
(S1104)
ECU202のコアの入力部421は、制御指示情報701を受信する。以下では、ECU1のコア1(301−1)が図8Aの制御指示情報701を受信した例で説明する。入力部421は、処理部411に制御指示情報701へと受け渡す。
(S1105)
処理部411は、制御指示情報701に従って、指示タイミング713に指定されたタイミングまでプログラムを実行する。処理部411は、制御指示情報701の指示対象712に自身が指定されている行(ECU1のコア1の行)を選択する。処理部411は、当該選択した行の指示タイミング713(処理ステップ番号:10002)までプログラムを実行する。例えば、処理部411は、処理を開始又は中断している処理を再開し、処理ステップ番号(10002)を経過した後、処理を停止する。
指示タイミング713に前段処理が指定されている場合、処理部411は、処理を開始又は中断している処理を再開し、指定された前段処理を終了した後に処理を停止する。
なお、指示タイミング713に複数のタイミングが指定されていた場合、処理部411は、最初に到達した指示タイミングで停止する。そして、一旦ログ情報801が作成された後、処理部411は、次の指示タイミングで停止する。
図8Bの制御指示情報701の場合、処理部411は、後段処理内容714の情報を用いて指示タイミング713まで実行したかを判定することができる。後段処理内容714は、上述したように、指示タイミング713で停止した際の次の処理内容を示す。したがって、処理部411は、処理を停止した後、次に実行する処理と後段処理内容714とを比較し、一致するかを判定する。一致しない場合、処理部411は、処理を再開し、再度指示タイミング713を参照して処理を停止させる。処理部411は、次に実行する処理と後段処理内容714とが一致するまで処理を実行し続ける。また、処理部411は、処理の開始と停止を規定回数試行した後に処理を停止する。なお、後段処理内容714にラベルの情報が指定されている場合、処理部411は、処理を停止した時点で実行中のラベル(変数等)と、後段処理内容714のラベルとを比較し、これらが一致するまで処理を実行してもよい。
(S1106)
タイミング監視部412は、処理部411の処理内容を監視し、ログ情報801を作成する。タイミング監視部412は、処理部411が動作を停止した際に、制御指示情報701及び動作結果情報531から、同期ID811、比較対象812、タイミング813及び処理内容814の情報を取得し、ログ情報801を作成する。タイミング監視部412は、作成したログ情報801を出力部422に出力する。
タイミング監視部412は、同期ID811ごとに個別にログ情報801を出力してもいし、複数の同期ID811に関するログ情報801を蓄積しておき、蓄積したログ情報801をまとめて出力してもよい。
なお、別の例として、タイミング監視部412は、一定周期ごとにログ情報801を作成してもよい。
(S1107)
出力部422は、受け取ったログ情報801をシミュレータ501に送信する。
(S1108)
シミュレータ501の入力部521は、ログ情報801を受信し、記憶部514にログ情報801を格納する。このとき、タイミング同期部512は、受信したログ情報801と同期テーブル901とを表示部502上に表示してもよい。
本実施例では、シミュレータ501が、同期させるべき次の処理を決めるタイミング同期部512と、タイミング同期部512からの情報をもとに、制御指示情報701を生成する制御指示部513を備える。また、コア301−1〜301−Nが、処理部411の動作タイミングを監視するタイミング監視部412を備える。シミュレータ501側に、タイミング監視部412で作成されたログ情報801がフィードバックされるため、シミュレータ501が、実行結果であるログ情報801をもとに同期させるべき次の処理を決定する。この構成によれば、複数のコア301−1〜301−Nをいくつかの特定のタイミングで同期させながらプログラムを徐々に実行して、複数の処理の影響を確認することができる。
本実施例によれば、複数のECUや複数のコア間で処理を同期させながら処理を監視することが可能となる。特に、リアルタイム性の強い制御においては、ある処理の実行中の特定のタイミングで動作する別の処理の影響を確認する必要があるが、本実施例では、並列化された処理を特定のタイミングで同期させることで、複数の処理の影響を確認することができる。
また、本実施例によれば、ユーザは、表示部502に表示された同期テーブル901及びログ情報801から、並列化前のある処理が、並列化後のどの部分に対応するかを確認することができる。また、ユーザは、ログ情報801を参照することにより、同期テーブル901で指定した同期タイミングで複数のコアが同期されているかを確認することができる。
[実施例2]
図12は、実施例2におけるECU202のコア301−1〜301−Nにおいて実行されるソフトウェアモジュール構成を示した図である。本実施例では、ECU202が、1つ又は2つ以上のタイミング監視部専用のコアを有する。タイミング監視部専用コアが、ログ情報801を保存する処理を担うため、各コアがローカルのRAM302にログ情報801を保存する必要がなく、各コアの処理部411は、制御処理のみを実施することが可能となる。この構成によれば、車両制御に負荷をかけずに同期ログ情報を取得することができる。
図12の例では、コア301−Nが、タイミング監視部専用のコアである。コア301−Nが、監視タイミング集約部450を備える。本実施例では、各コアのタイミング監視部412が、ログ情報801を監視タイミング集約部450へ送信する。
監視タイミング集約部450の動作を説明する。監視タイミング集約部450は、複数のコアからのログ情報801を収集し、集約する。監視タイミング集約部450は、同期IDごとにログ情報801を整理する。監視タイミング集約部450は、一定周期ごと、又は、イグニション(IGN) OFF処理中、又は、IGN ON中、又は、処理部411からの指示によって、ログ情報801を外部メモリ308へと保存する。
また、監視タイミング集約部450は、一定周期ごと、又は、IGN OFF処理中、又は、IGN ON中、又は、処理部411からの指示によって、外部メモリ308のログ情報801をシミュレータ501へ送信する。
車両制御装置2では、限られたた通信帯域や処理性能の中で大量のログデータを計算し保存することは大きな問題となる。そこで、本実施例の構成を用いることで、特定のコアがログ情報801の整理及び保存の処理を担当することで、制御処理に負荷をかけずにログ情報801の収集が可能となる。すなわち、各コア301−1〜301−Nに対する割り当ての最適化を、実行負荷増大を防止しながら実現することができる。
[実施例3]
図13は、実施例3におけるECU202において実行されるソフトウェアモジュール構成を示した図である。シミュレータ501の機能は、車両1に搭載されてもよい。この構成によれば、他のコンピュータを車両1のネットワークに接続することなく、並列化されたプログラムの検証が可能となる。図13の例では、シミュレータ501の各処理部が、複数のECU202のうちの1つ(ECU N)に実装されている。別の例として、シミュレータ501の各処理部が、ECU202内の複数のコアのうちの特定のコアに実装されてもよい。
[実施例4]
図14は、実施例4における同期テーブル901の一例を示した図である。本実施例では、同期テーブル901は、ラベル名(変数名)とその値の順序の情報を含む。同期テーブル901は、No921と、ラベル名922と、値923とを構成項目として含む。
No921は、数字、アルファベット等の値であり、各行の順序関係を把握できる値である。ラベル名922は、文字列、数字、記号等で構成される、変数名を一意に識別できる値である。値923は、同期させるタイミングでのラベル名922の具体的な値である。図14のNo=1の行は、変数名INT_Aが「1000」になった時点で各コアの処理を停止させて同期させることを示す。本構成によれば、変数の値の変化で各コアを同期させることができる。各コアに対して同期したい処理を特定することなく、コア間のログ情報801を得ることが可能となる。
図15は、実施例4における制御指示情報701の一例を示した図である。制御指示部513は、同期テーブル901の情報をもとに制御指示情報701を作成する。制御指示部513は、指示対象712に、全てのECU及びコアを記載する。また、制御指示部513は、指示タイミング713に、ラベル名922及び値923の情報を記載する。
各コアの処理部411は、制御指示情報701をもとに処理を実行する。処理部411は、ラベル名が指定された値になるまで処理を実行する。なお、指定されたラベル名に関する処理を実行しないコアにおいて、処理部411は、プログラムを実行しない。
図14の同期テーブル901を用いた場合、各コアの処理部411は、ラベル名(INT_A)が「1000」になった時点で処理を一時停止する。このタイミングが同期ID=1の指示タイミングであり、タイミング監視部412は、この時点までのログ情報801を作成する。次に、各コアの処理部411は、ラベル名(INT_A)が「2000」になった時点で処理を一時停止する。このタイミングが同期ID=2の指示タイミングであり、タイミング監視部412は、この時点までのログ情報801を作成する。ログ情報801では、タイミング813に処理ステップ番号が記載され、処理内容814にラベル名とその値が記載される。
複数の企業で作成された複数のプログラムを統合する場合では、同期しなければならない処理が特定できないことがある。この場合、実施例1のような同期テーブルの生成は困難である。本実施例の同期テーブル901では、プログラムの内の少なくとも1つの処理が判明していれば良く、値の変更履歴で各コアを同期させることができる。
本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。上記実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることもできる。また、ある実施例の構成に他の実施例の構成を加えることもできる。また、各実施例の構成の一部について、他の構成を追加・削除・置換することもできる。
上記機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、又は、ICカード、SDカード、DVD等の記録媒体に置くことができる。また、上記の機能等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。
上述の実施例において、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていてもよい。
1 …車両
2 …車両制御装置
3 …通信装置
4 …車両制御装置
5 …駆動装置
6 …認識装置
7 …出力装置
8 …入力装置
9 …通知装置
201 …ネットワークリンク
202 …ECU
202 …GW
301 …コア
302 …RAM
303 …タイマ
304 …ROM
305 …GlobalRAM
306 …I/O
307 …内部バス
308 …外部メモリ
401 …制御部
402 …通信管理部
411 …処理部
412 …タイミング監視部
421 …入力部
422 …出力部
450 …監視タイミング集約部
501 …シミュレータ
502 …表示部
511 …通信部
512 …タイミング同期部
513 …制御指示部
514 …記憶部
521 …入力部
522 …出力部
601 …通信経路
701 …制御指示情報
801 …ログ情報(実行結果)
901 …同期テーブル

Claims (7)

  1. 複数のコアを有する車両制御装置用の検証装置であって、
    前記複数のコアの同期させるタイミングを示す同期タイミング情報を取得するタイミング同期部と、
    前記同期タイミング情報に基づいて、前記複数のコアに対する制御指示情報を作成する制御指示部と、
    を備え、
    前記タイミング同期部は、前記複数のコアの実行結果に基づいて、同期させるべきタイミングで各コアが同期されたかを判定する、検証装置。
  2. 請求項1に記載の検証装置において、
    前記タイミング同期部は、同期させるべきタイミングで各コアが同期されていた場合、次の同期タイミング情報を取得し、
    前記制御指示部は、前記次の同期タイミング情報に基づいて、前記複数のコアに対する制御指示情報を作成することを特徴とする検証装置。
  3. 請求項1に記載の検証装置において、
    前記複数のコアのうちの指示対象と、前記指示対象を同期させる指示タイミングとを構成項目として含む同期テーブルを格納する記憶部をさらに備え、
    前記タイミング同期部は、前記同期テーブルを用いて前記同期タイミング情報を取得することを特徴とする検証装置。
  4. 請求項1に記載の検証装置において、
    前記タイミング同期部は、同期させるべきタイミングで各コアが同期されなかった場合、前記制御指示部に対して、前回と同じ前記制御指示情報を各コアに送信するように指示することを特徴とする検証装置。
  5. 請求項3に記載の検証装置において、
    前記同期テーブルが、前記指示タイミングの次に実行される処理内容の情報をさらに含み、
    前記制御指示部が、前記次に実行される処理内容を含む前記制御指示情報を作成することを特徴とする検証装置。
  6. 請求項3に記載の検証装置において、
    前記同期テーブルが、変数名と、前記変数名の値とを含むことを特徴とする車両制御装置用の検証装置。
  7. 請求項1に記載の検証装置において、
    前記検証装置が車両に搭載されていることを特徴とする検証装置。
JP2017130694A 2017-07-03 2017-07-03 車両制御装置用の検証装置 Active JP6770935B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2017130694A JP6770935B2 (ja) 2017-07-03 2017-07-03 車両制御装置用の検証装置
PCT/JP2018/023394 WO2019009068A1 (ja) 2017-07-03 2018-06-20 車両制御装置用の検証装置及び車両制御装置
EP18827708.1A EP3637262B1 (en) 2017-07-03 2018-06-20 Verification device for vehicle control device and vehicle control device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017130694A JP6770935B2 (ja) 2017-07-03 2017-07-03 車両制御装置用の検証装置

Publications (2)

Publication Number Publication Date
JP2019016021A JP2019016021A (ja) 2019-01-31
JP6770935B2 true JP6770935B2 (ja) 2020-10-21

Family

ID=64949929

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017130694A Active JP6770935B2 (ja) 2017-07-03 2017-07-03 車両制御装置用の検証装置

Country Status (3)

Country Link
EP (1) EP3637262B1 (ja)
JP (1) JP6770935B2 (ja)
WO (1) WO2019009068A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107170660A (zh) * 2017-05-02 2017-09-15 惠科股份有限公司 干蚀刻设备及干蚀刻设备的电极

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5251586B2 (ja) * 2009-02-19 2013-07-31 富士通セミコンダクター株式会社 検証支援プログラム、検証支援装置および検証支援方法
CN102341787B (zh) * 2009-03-12 2015-06-17 国际商业机器公司 模拟方法、***
EP2450795A1 (en) 2009-06-30 2012-05-09 Fujitsu Limited Computer device, parallel computer system, and synchronization program
JP2011028458A (ja) * 2009-07-23 2011-02-10 Panasonic Corp 実行状態監視装置および実行状態監視方法
WO2011046089A1 (ja) * 2009-10-16 2011-04-21 インターナショナル・ビジネス・マシーンズ・コーポレーション シミュレーション方法、システム及びプログラム
US9147016B2 (en) * 2010-08-20 2015-09-29 International Business Machines Corporation Multi-ECU simulation by using 2-layer peripherals with look-ahead time
JP5760847B2 (ja) * 2011-08-22 2015-08-12 日本電気株式会社 情報処理装置、情報処理システム、情報処理装置の異常兆候検出方法、及び異常兆候検出プログラム
JP2014191655A (ja) * 2013-03-27 2014-10-06 Toyota Motor Corp マルチプロセッサ、電子制御装置、プログラム
JP6138666B2 (ja) * 2013-11-12 2017-05-31 日立オートモティブシステムズ株式会社 車載用制御装置のロギングシステム
JP2015179465A (ja) * 2014-03-19 2015-10-08 日立オートモティブシステムズ株式会社 自動車用電子制御装置及びその検証方法

Also Published As

Publication number Publication date
EP3637262A4 (en) 2021-01-27
JP2019016021A (ja) 2019-01-31
EP3637262B1 (en) 2021-12-01
WO2019009068A1 (ja) 2019-01-10
EP3637262A1 (en) 2020-04-15

Similar Documents

Publication Publication Date Title
JP6602435B2 (ja) 連続イベント処理(cep)クエリの並列の実行
JP6021120B2 (ja) データをストリーム処理する方法、並びに、そのコンピュータ・システム及びコンピュータ・システム用プログラム
CN109204324A (zh) 用于操作自动驾驶车辆的集中调度***
CN109213143A (zh) 操作自动驾驶车辆的使用事件循环的集中调度***
CN107407918A (zh) 利用app扩展可编程逻辑控制器
CN109213609A (zh) 操作自动驾驶车辆的使用全局存储器的集中调度***
CN104991798B (zh) 一种虚拟传感器配置方法及装置
US11989535B2 (en) Simulation method and recording medium
US9380001B2 (en) Deploying and modifying a service-oriented architecture deployment environment model
CN105653261A (zh) 基于云计算环境下的开发集成测试方法及***
CN102937897A (zh) 异步数据绑定
US20210284150A1 (en) Activity monitor
JP6770935B2 (ja) 車両制御装置用の検証装置
US20190361418A1 (en) Control system, control device and control program
CN111552494B (zh) 一种容器组的管理方法、设备、***及介质
JP5921781B2 (ja) プログラマブルコントローラおよびプログラマブルコントローラの制御方法
JP2007052580A (ja) ソフトウェア開発環境システム
JP2007269181A (ja) 車両の電子制御システムの車両情報の設定方法
US20210141710A1 (en) Development support device
Kampmann et al. Agile latency estimation for a real-time service-oriented software architecture
EP4095689A1 (en) Monitoring a time schedule of a first thread running on a control unit
JP4905782B2 (ja) プラント制御システム、プラント制御方法およびプラント制御のためのプログラム
EP4155926A1 (en) Method and device for sequence monitoring of multiple threads
JP2010102446A (ja) ソフトウェア自動試験装置
JP2023542232A (ja) データを処理するための、方法、データ処理モジュール、およびデータ処理ネットワーク

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200129

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200324

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200521

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200901

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200928

R150 Certificate of patent or registration of utility model

Ref document number: 6770935

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350