JP5295355B2 - シミュレーション方法、システム及びプログラム - Google Patents

シミュレーション方法、システム及びプログラム Download PDF

Info

Publication number
JP5295355B2
JP5295355B2 JP2011503850A JP2011503850A JP5295355B2 JP 5295355 B2 JP5295355 B2 JP 5295355B2 JP 2011503850 A JP2011503850 A JP 2011503850A JP 2011503850 A JP2011503850 A JP 2011503850A JP 5295355 B2 JP5295355 B2 JP 5295355B2
Authority
JP
Japan
Prior art keywords
simulator
continuous
discrete
simulation
system simulator
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
JP2011503850A
Other languages
English (en)
Other versions
JPWO2010104135A1 (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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP2011503850A priority Critical patent/JP5295355B2/ja
Publication of JPWO2010104135A1 publication Critical patent/JPWO2010104135A1/ja
Application granted granted Critical
Publication of JP5295355B2 publication Critical patent/JP5295355B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B17/00Systems involving the use of models or simulators of said systems
    • G05B17/02Systems involving the use of models or simulators of said systems electric
    • 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
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Geometry (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本発明は、自動車などの物理システムのシミュレーションに関し、より詳しくは、ソフトウェア・ベースでのシミュレーション・システムに関するものである。
自動車は、その初期の時代の20世紀初頭は、動力としてのエンジンと、ブレーキ、アクセル、ハンドル、トランスミッション、サスペンジョンを含む、機構部品からなっていたが、エンジンのプラグの点火、ヘッドライト以外は、電気的な仕組みはほとんど利用していなかった。
ところが、1970年代頃から、大気汚染、石油危機などに備えて、エンジンを効率的に制御する必要性が生じ、このためエンジンの制御に、ECUが使用されるようになってきた。ECUは、一般的に、センサからの入力信号を、例えばA/D変換する入力インターフェースと、決められた論理に従ってディジタル入力信号を処理する論理演算部(マイクロコンピュータ)と、その処理結果を、アクチュエータ作動信号に変換する出力インターフェースとから構成される。
いまや、エンジンやトランスミッションなどの制御システム、Anti-lock Breaking System (ABS)、Electronic Stability Control (ESC)、パワーステアリングだけでなく、ワイパー制御やセキュリティ・モニタリング・システムなどに至るまで、最近の自動車では、機構部品だけでなく、エレクトロニクス部品やソフトウエアが重要な比率を占める。後者に関する開発費は全体の25%とも40%とも言われ、ハイブリッド型の自動車では70%を占める。
電子制御は、ECUを複数、配置して行われる。ECU間は車載ネットワーク、例えば、Controller Area Network (CAN) で相互に接続される。また、制御の対象である、エンジンやトランスミッションなどには、それぞれのECUから直接ワイヤ接続する。
ECUは、小さなコンピュータであり、センサ入力などからの割り込みに応じて動作する。一方、エンジンなどは連続的に機械的動作を行っている。すなわち、コンピュータ系のディジタル・システムと、機械系の物理システムが、自動車という単一システムにおいて、並列に協調動作を行っている。当然、これを支えるソフトウエアは複雑さがますます増大しており、ECU単体で動作を検証するだけでなく、複数を同時に検証する仕組みの実現が要望されている。
一方、ECUの出力信号によって駆動されるアクチュエータには、電磁ソレノイド及びモータ等がある。ソレノイドは例えば、エンジンのインジェクタ、トランスミッションのシフト・コントロール、ブレーキのバルブ制御、ドアロックなどに使用される。
このようなテストにために従来行われている技法として、HILS(Hardware In the Loop Simulation)がある。特に、自動車全体のECUをテストする環境は、ホールビークルHILS(Whole Vehicle Hardware In the Loop Simulation)と呼ばれる。ホールビークルHILSにおいては、実験室内で、本物のECUが、エンジン、トランスミッション機構などをエミュレーションする専用のハードウェア装置に接続され、所定のシナリオに従って、テストが行われる。ECUからの出力は、監視用のコンピュータに入力され、さらにはディスプレイに表示されて、テスト担当者がディスプレイを眺めながら、異常動作がないかどうか、チェックする。
しかし、HILSは、専用のハードウェア装置を使い、それと本物のECUの間を物理的に配線しなくてはならないので、準備が大変である。また、別のECUに取り替えてのテストも、物理的に接続し直さなくてはならないので、手間がかかる。さらに、本物のECUを用いたテストであるため、テストに実時間を要する。従って、多くのシナリオをテストすると、膨大な時間がかかる。また、HILSのエミュレーション用のハードウェア装置は、一般に、非常に高価である。
そこで近年、高価なエミュレーション用ハードウェア装置を使うことなく、ソフトウェアで構成する手法が存在する。この手法は、SILS(Software In the Loop Simulation)と呼ばれ、ECUに搭載されるマイクロコンピュータ、入出力回路、制御のシナリオなどを全て、ソフトウェア・シミュレータで構成する技法である。これによれば、ECUのハードウェアが存在しなくても、テストを実行可能である。
ところで、自動車用シミュレーション・システムは、連続系シミュレータと、離散系シミュレータを有する。連続系シミュレータの例として、エンジンの機械系部分をシミュレートするシミュレータがある。離散イベント系シミュレータの例として、エンジン回転のパルスのタイミングで動作し、燃料噴射や点火のタイミングを制御するECUのシミュレータがある。
4WDのシミュレーションをする場合においては、連続系シミュレータの例として、各タイヤへのトルク配分から車の動作を繰り返し計算するシミュレータがあり、離散イベント系シミュレータの例として、10ミリ秒ごとの定期パルス信号で動作し、車のヨーレートなどのセンサ入力から各タイヤへのトルク配分を決定するECUをシミュレートするシミュレータがある。
さらに、離散系シミュレータは、連続系シミュレータのタイムスライスとは非同期に、パルス信号入力以外に、I/Oポートを通じてデータの読み書きを行う。典型的には、センサからのデータを読み込み、更新する。
図1に、従来の典型的な、離散系/連続系シミュレーション・システムな構成のブロック図を示す。このシステムの離散系シミュレータは、ECUエミュレータ102、104及び106からなる。実際は、より多数のECUエミュレータを有するが、ここでは例示的に3個だけ示す。
ECUエミュレータ102、104及び106は、機能的には、ほぼ同一なので、代表的に、ECUエミュレータ102だけについて説明すると、ECUエミュレータ102は、CPUエミュレータ102aと、ペリフェラル・エミュレータ102bとからなる。CPUエミュレータ102aは、元のECUの論理機能をエミュレーションするモジュールである。
ペリフェラル・エミュレータ102bは、エンジン・シミュレータなどの連続系シミュレータであるプラント・シミュレータ108からの連続パルス信号を受け取り、割込みイベント信号に変換して、離散系のCPUエミュレータ102aに渡し、あるいは、CPUエミュレータ102aから受け取った割込みイベント信号を、連続パルス信号に変換する。
尚、図1で点線矩形ブロックで囲ったのが、シミュレーション・プログラムの個別のスレッドである。マルチ・コアまたはマルチ・プロセッサ環境において、好適には、個々のスレッドは、個別のコアまたはプロセッサに割り当てられる。
図2に、ECUエミュレータ102、104及び106と、プラント・シミュレータ108の間の通信のタイミング・チャートを示す。この図から見て取れるように、図1の構成では、離散系システムとしてのECUエミュレータと、連続系システムとしてのプラント・シミュレータが、個々のクロック毎に同期している。
ところが、図1の点線ブロックで見て取れるように、プラント・シミュレータ108と、ECUエミュレータ102、104及び106とは別スレッドで実行されているので、個々のクロック毎に、スレッド間通信が生じてしまう。並列実行のために各スレッドが個別のコアまたはプロセッサにアサインされている場合には、プロセッサ間通信となって、いずれにしても、このようなスレッド間通信またはプロセッサ間通信が個々のクロック毎に発生することは非常に大きいコストであって、このことは、シミュレーション・システムの動作速度の向上を妨げる。
特開2001−290860号公報は、シミュレータ間の不要な同期処理をシミュレータで求め、その同期処理を削減することにより、シミュレーション速度の向上を図ったハードウエア/ソフトウエア協調シミュレータを提供することを目的とするものであって、CPUシミュレーション手段と周辺回路シミュレーション手段を同期させるシミュレーション協調手段と、シミュレーション協調手段での同期を抑制するかどうかを決定する判断手段を備え、判断手段に基づいて前記シミュレーション協調手段での同期を抑制することを開示する。
特開平8−227367号公報は、設計エラーが予期されるシステム動作を除く全てのシステム動作を無視する高速シミュレータを使用してデバッグ速度を増加させるデバッガを得ることを目的とするものであって、各シミュレータを相互接続するための、バスサイクルに対応する信号を提供するバスのバスシミュレータとシミュレーションに不必要なバスサイクルを省略する手段を備え、シミュレーションに無関係なCPUバスサイクルを省略し、または、周期的クロック信号を明示的にシミュレートしないでクロック信号のスケジュールのみを発生するようにすることを開示する。
特開2004−30228号公報は、CPUシミュレータと、1以上の周辺マクロシミュレータと、これらの同期実行を制御する同期実行制御処理部とを備え、周辺マクロシミュレータが、CPUシミュレータでのシミュレーションに基づいて端子に入力される信号が変化したときに当該端子信号に基づくシミュレーションを実行すし、さらに周辺マクロシミュレータは、入力された端子信号の変化を検出し、変化した端子信号を端子信号リスト22に登録し、登録された端子信号についてのみシミュレーションを実行するようにすることを開示する。
特開2006−65758号公報は、回路シミュレーション手法において、回路データから作成された第1離散時間モデルに応答関数を与えて第2離散時間モデルを生成し、クロックのエッジタイミングおよびこのタイミングでのクロック同期回路に入出力される信号の実効的信号値を、第2離散モデルを用いて計算し、これによってシミュレーションを実行することを開示する。
特開2001−290860号公報 特開平8−227367号公報 特開2004−30228号公報 特開2006−65758号公報
上記従来技術は、条件的にシミュレータを同期させたり、クロックのエッジタイミングを拾うなどの技法で、シミュレータ間の通信コストを図るものであるが、シミュレーション・システムにおける、連続系システムと離散系システムとの間のスレッド間通信あるいはプロセッサ間通信のコストの問題を十分に解決するものではない。
従って、この発明の目的は、シミュレーション・システムにおいて、連続系システムと離散系システムの間の通信コストを低減することにある。
この発明の他の目的は、連続系システムと離散系システムが、粗い同期をとるだけで適切に動作するシミュレーション・システムを提供することにある。
上記課題を解決するために研究を重ね、本願発明者は、ECUエミュレータなどの離散系シミュレータのペリフェラル部分に着目した。すなわち、ECUエミュレータは、図1にも示すように、CPUエミュレータ部分と、ペリフェラル部分からなっている。ここに、通信コストのボトルネックがあるらしいと考えた。
そして本願発明者は、研究の末、ECUエミュレータのペリフェラルの少なくとも一部分を敢えて、連続系システムのスレッドと同一のスレッド内で動作させる、という着想に想到した。このような構成をとると、連続系システムとペリフェラルの一部が同一スレッド内で動作するので、そこで通信コストは低い。
それでも、ペリフェラルとECUエミュレータの間のスレッド間通信は、依然として必要であるが、そのような通信は、割込みイベント、あるいは長い期間毎の周期的なアクセスのようなまばらなタイミングで生じるだけなので、通信コスト的にあまり負荷にならない。
本発明の別の特徴によれば、連続系システムと離散系システムは、粗い同期をとるだけで適切に動作する。すなわち、本発明の第1の実施例によれば、離散系システムは、連続系システムのクロックに関係なく、独立に動作する。離散系システムは、連続系システムのクロック・モジュールにアクセス可能であり、その時刻が必要であるときのみ、クロック・モジュールにアクセスするので、通信コスト的には、ほとんど負荷にならない。
本発明の第2の実施例によれば、離散系システムは、連続系システムのクロックのうちの間引かれたあるクロック(例えば、1/1000)で、同期をとるため、連続系システムのクロック・モジュールにアクセスにアクセス可能である。第2の実施例は、離散系システムにおいて、ソフトウエアによるタイマー(時間計算)が使用される場合に採用される。ここで、タイマーの最小粒度より小さな周期で同期を取ることにより、ソフトウエア・タイマーの動作が保証される。
この発明によれば、離散系システムのペリフェラルの少なくとも一部が、連続系システムと同一のスレッドで動作するように、連続系システム側に組み込むことによって、離散系システムと連続系システムの間のスレッド間通信の頻度が大幅に低減される。これにより、スレッド間通信のコストを大幅に削減することによって、シミュレーション・システムの動作速度を著しく向上させることが可能となる。
離散系と連続系を有する、従来の典型的なシミュレーション・システムの機能ブロック図を示す図である。 図1のシミュレーション・システムの、タイミング・チャートを示す図である。 ECUの典型的な制御である、フィードバック閉ループ系の例を示す図である。 フィードバック閉ループ系の、応答関数による記述の例である。 本発明を実施するために使用されるコンピュータのハードウェアのブロック図である。 本発明の実施例に係るシミュレーション・システムの機能ブロック図を示す図である。 図6のシミュレーション・システムの、タイミング・チャートを示す図である。 本発明の実施例に係るシミュレーション・システムの、より詳細な機能ブロック図を示す図である。 連続系とハイブリッド・ペリフェラルの動作の処理のフローチャートを示す図である。 ハイブリッド・ペリフェラルの構成要素の順序リストを示す図である。 割込みコントローラの動作の処理のフローチャートを示す図である。 アドバンスド・タイマ・ユニットの動作の処理のフローチャートを示す図である。 別の実施例における、連続系とハイブリッド・ペリフェラルの動作の処理のフローチャートを示す図である。
602、604、606・・・ECUエミュレータ
602b、604b、606b・・・ハイブリッド・ペリフェラル
以下、図面を参照して、本発明の一実施例の構成及び処理を説明する。以下の記述では、特に断わらない限り、図面に亘って、同一の要素は同一の符号で参照されるものとする。なお、ここで説明する構成と処理は、一実施例として説明するものであり、本発明の技術的範囲をこの実施例に限定して解釈する意図はないことを理解されたい。
本発明を実現するための構成を説明する前に、その前提として、ECUについて説明する。ECUは、一般的に、センサからの入力信号を、例えばA/D変換する入力インターフェースと、決められた論理に従ってディジタル入力信号を処理する論理演算部(マイクロコンピュータ)と、その処理結果を、アクチュエータ作動信号に変換する出力インターフェースとから構成されるものである。
この発明は、説明の便宜上、以下では、自動車のECUに関連して説明するが、それには限定されず、航空機、ロボットなどその他のECUをもつメカトロニクス機構全般に適用可能であることを理解されたい。
ECUは、周辺や環境状態、エンジンなどの駆動機構の状態、及び人間による指示操作の内容をセンサで検出して、信号として入力する。具体的には、水温センサ、吸気温センサ、過給圧センサ、ポンプ角センサ、クランク角センサ、車速センサ、アクセル位置センサ、A/Tシフト・ポジション、スタータ・スイッチ、エアコンECUなどからの信号がある。
ECUは、これらの信号を入力して、電磁スピル弁、フュエル・カット・ソレノイド、タイミング・コントロール・バルブ、吸気絞りVSV、グロー・プラグ・リレー、タコメータ及びエアコン・リレーなどを駆動する信号を出力しする。
1つのECUが複数の異なる機構を制御するための駆動信号を出力するようにすることは不可能ではないが、例えば、エンジンとエアコンのように、応答性やその制御の厳密性が異なるものを単一のECUで制御することは合理的でなく、従って、一般的に自動車にECUは複数個設けられる。
図3は、ECUの典型的な制御である、フィードバック閉ループ系の例を示す図である。すなわち、図3において、ある目標の信号が、ECUであるコントローラ302に入力され、ECUは、目標の信号を内部処理することによって、駆動信号を出力し、制御対象モデルである、エンジンなどのプラント304を駆動し、プラント304の出力は、センサ306を介して、コントローラ102の入力にフィードバックされる。
ここで目標信号として与えられるのは、例えば、スロットル開度、アイドル・コントロール、ブレーキ力、シフト、スタータON・OFF、バッテリ電圧、インジェクション通電時間、インジェクション通電回数、デポジット、ドウェル角、進角値、吸気完了フラグ、点火完了フラグ、大気圧、車両重量、転がり抵抗係数、道路勾配、粘着係数、吸気温、などのパラメータである。
また、センサ信号としてフィードバックされるのは、スロットル開度、吸気圧力、吸入空気量、シフト、エンジン回転数、車速、排気温、O、冷却水温、空燃比、ノック、点火異常、などである。
ECUが制御する対象は、ニュートンの力学方程式で解かれる、機構系システムであったり、電気回路の応答方程式で解かれる、電気駆動回路であったり、それらの組み合わせであったりする。これらは、基本的に微分方程式であり、制御工学によれば、ラプラス変換によって応答関数に変換されて、記述することができる。
図4は、そのような応答関数による記述の例である。図4で破線402で囲った箇所が、図3のコントローラ302に対応し、破線404で囲った箇所が、図3の制御対象モデル304に対応し、センサ306が、ブロック406に対応する。なお、図4は、応答関数による表現の一例であって、特に本発明を限定する意図はないことを理解されたい。
次に、図5を参照して、本発明を実施するために使用されるコンピュータのハードウェアについて説明する。図5において、ホスト・バス502には、複数のCPU0 504a、CPU1 504b、CPU2 504c、CPU3 504dが接続されている。ホスト・バス502にはさらに、CPU0 504a、CPU1 504b、CPU2 504c、CPU3 504dの演算処理のためのメイン・メモリ506が接続されている。
一方、I/Oバス508には、キーボード510、マウス512、ディスプレイ514及びハードティスク・ドライブ516が接続されている。I/Oバス508は、I/Oブリッジ518を介して、ホスト・バス502に接続されている。キーボード510及びマウス512は、オペレータが、コマンドを打ち込んだり、メニューをクリックするなどして、操作するために使用される。ディスプレイ514は、必要に応じて、後述する本発明に係るプログラムをGUIで操作するためのメニューを表示するために使用される。
この目的のために使用される好適なコンピュータ・システムのハードウェアとして、IBM(R)System Xがある。その際、CPU0 504a、CPU1 504b、CPU2 504c、CPU3 504dは、例えば、インテル(R)Core 2 DUOであり、オペレーティング・システムは、Windows(商標)Server 2003である。オペレーティング・システムは、ハードティスク・ドライブ516に格納され、コンピュータ・システムの起動時に、ハードティスク・ドライブ516からメイン・メモリ506に読み込まれる。
ここで図示されているCPUの個数は4個であるが、これに限定されず、シングル・プロセッサのシステムであってもよく、あるいは、任意の個数のマルチコア、またはマルチプロセッサのシステムであってもよい。
なお、本発明を実施するために使用可能なコンピュータ・システムのハードウェアは、IBM(R)System Xに限定されず、本発明のシミュレーション・プログラムを走らせることができるものであれば、任意のコンピュータ・システムを使用することができる。オペレーティング・システムも、Windows(R)に限定されず、Linux(R)、Mac OS(R)など、任意のオペレーティング・システムを使用することができる。さらに、ECUエミュレータ・プログラム、プラント・シミュレータなどの論理プロセスを高速で動作させるために、POWER(商標)6ベースで、オペレーティング・システムがAIX(商標)のIBM(R)System Pなどのコンピュータ・システムを使用してもよい。
ハードディスク・ドライブ516にはさらに、ECUエミュレータ、プラント・シミュレータなどの複数の論理プロセス、及び、複数の論理プロセスを協働して動作させるためのプログラムが格納され、キーボード510及びマウス512によって起動操作可能である。
好適には、フルビークルSILSを実現するために、1台の自動車で使われるすべてのECUのエミュレータ・プログラムが、ハードティスク・ドライブ516に保存されている。
ハードティスク・ドライブ516にはさらに、後述するECUエミュレータ・プログラムのためのスケジューラ、エンジン、トランスミッション、ステアリング、ワイパなどのプラント・シミュレータ・プログラム、全体のシステムの時刻を管理するためのグローバル・タイム・マネジャ及び、登り坂道、高速道路、つづら折道などの様々な、テストのためのシナリオを格納したシナリオ・ジェネレータのプログラムも格納されている。
なお、ここでの「エミュレータ」と、「シミュレータ」の用語の使い分けであるが、もともとの、別のプロセッサで動くことを想定して書かれていたECUのコードを、CPU0〜CPU3などをターゲットとして動くようにすることを、エミュレーションと呼び、それを行うプログラムを、エミュレータと呼ぶ。一方、エンジンなどの物理的システムの動作を仮想計算するシステムを、シミュレータと呼ぶ。
次に、図6を参照して、離散系システムと連続系システムからなる、本発明のシミュレーション・システムの機能論理ブロック図を説明する。このシステムの離散系シミュレータは、ECUエミュレータ602、604及び606からなる。実際は、より多数のECUエミュレータを有するが、ここでは例示的に3個だけ示す。
図6に示すシステムのプログラム・モジュールは、ハードディスク・ドライブ516に保存され、シミュレーション・システムの起動時に、オペレーティング・システムの働きにより、ハードディスク・ドライブ516からメイン・メモリ506にロードされて動作する。
ECUエミュレータ602、604及び606は、機能的には、ほぼ同一なので、代表的に、ECUエミュレータ602だけについて説明すると、ECUエミュレータ602は、CPUエミュレータ602aと、ハイブリッド・ペリフェラル602bとからなる。
ブリッジ608、610及び612は、エンジン・シミュレータなどのプラント・シミュレータにおける、データの入出力部分の機能を実行する論理ブロックであり、それぞれ、ハイブリッド・ペリフェラル602b、604b及び606bと、連続系のプラント・シミュレータのクロックの間隔Δt毎に通信する。
図6において、点線の矩形ブロックは、シミュレーション・プログラムの個別のスレッドを示す。マルチ・コアまたはマルチ・プロセッサ環境において、好適には、個々のスレッドは、個別のコアまたはプロセッサに割り当てられる。
図6に示されるように、ハイブリッド・ペリフェラル602b、604b及び606bはそれぞれ、機能的にはECUエミュレータ602、604及び606のために、CPUエミュレータ602a、604a及び606aと、ブリッジ608、610及び612と間をインターフェースする役割を果たすが、モジュール的には、ブリッジ608、610及び612が存在するプラント・シミュレータが動作するスレッドと、ECUエミュレータ602、604及び606が動作するスレッドに跨って動作するように制御される。ハイブリッド・ペリフェラルの「ハイブリッド」という名前は、このような混在的な存在であることに由来する。すなわち、ハイブリッド・ペリフェラルのある部分はECUエミュレータ602、604及び606と同一のスレッドにあり、ハイブリッド・ペリフェラルの別の部分はプラント・シミュレータと同一のスレッドにある。
更に図示するように、ハイブリッド・ペリフェラル602b、604b及び606bはそれぞれ、データを読み書きするための共有メモリ602c、604c及び606cを有する。これらのメモリ602c、604c及び606cは、好適には、メイン・メモリ506の一部である。メモリは、ハイブリッド・ペリフェラルの構成ブロック、及びECUエミュレータによって、データを読み書き可能である。
図7は、図6の機能ブロック図で示すシミュレーション・システムのタイミング・チャートの概要を示す図である。図示されているように、プラント・シミュレータなどの連続系シミュレータと、ハイブリッド・ペリフェラルの間は、クロックの間隔Δt毎に通信が行なわれるので、密な通信となる。しかし、本発明によれば、プラント・シミュレータとハイブリッド・ペリフェラルの一部は、同一スレッド内にあるので、その間でスレッド間通信を引き起こさず、過大な通信コストをもたらさない。
一方、ハイブリッド・ペリフェラルと、離散系シミュレータであるECUエミュレータの間の通信は、離散系シミュレータに割込みが発生するタイミング、あるいはスケジュールされた疎なタイミングでのみ生じる。なお、ハイブリッド・ペリフェラルからECUエミュレータに対する通信は、イベント信号を送ることによって、行なわれる。
図8は、機能ブロック図の、より詳細な機能ブロック図を示すものである。ここでは特に、ECUエミュレータ602及びブリッジ608について示すが、ECUエミュレータ604、606及びブリッジ610、612についても同様であることを理解されたい。
図8において、CPUエミュレータ602aには、ROM802と、RAM804が接続されている。なお、ここで説明するシミュレーション・システムは、基本的にSILSであるため、すべての機能ブロックがソフトウェア・モジュールで実現されている。よって、ROM802は単に、定数の宣言の集まりであり、RAM804は、メイン・メモリ506に割り当てられたメモリ区画である。
CPUエミュレータ602aの動作は、元のエミュレータ・プログラムのバイナリを逆アセンブルしたコードを再アセンブルしたバイナリを実行するものでもよいし、エミュレータ・プログラムのバイナリ命令を、順次ステップ的に変換しながら実行するのでもよい。
図8に示すように、ハイブリッド・ペリフェラル602bは、割込みコントローラ(INT−C)806と、アドバンスト・タイマー・ユニット(ATU)808と、ピン・ファンクション・コントローラ(PFC)810と、ウォッチ・ドッグ・タイマ(WDT)812からなる。
なお、INT−C806と、ATU808と、PFC810と、WDT812からなる構成は、ハイブリッド・ペリフェラル602bの構成の一例であって、これには限定されないことを理解されたい。
ブリッジ608は、変数マッピングの機能によって、ブリッジ608への入力信号を、PFC810のピンに提供される値に変換する。それは、C言語的な擬似コードであらわすと、例えば下記のとおりである。
switch (link_type) {
case NE_PULSE:
data.pi0 = link_value;
break;
case A_F:
data.pe23 = link_value;
break;
...
}
すなわち、link_typeに与えられる値によって、dataという構造体の異なる要素に、値が提供される。ここでNE_PULSEとは、エンジンの回転を表すパルスで、実車の一例では、クランクシャフトの1回転あたり24回発生する。A_Fとは空燃費であり、シリンダに入る空気量と燃料の比である。これらは、一例としてのみ示すもので、実際は他にも多数の信号があることを理解されたい。
PFC810は、変数マッピングの機能によってブリッジ608からピンに対応する変数として与えられたデータをマルチプレクスして、INT−C806あるいは、ATU808に提供する機能を有する。
INT−C806は、PFC810に与えられる値または状態のクロック毎の変化に応答して、CPUエミュレータ602aに、イベントを送る。そのイベントには、PFC810から提供されるパラメータ値が含まれる。
ATU808は、ブリッジからの信号により、その時刻を更新される。一方、CPUエミュレータ602aは、その計算結果に基づき、開始タイミングと継続時間を、ATU808にセットする。そして、ATU808は、受け取った開始タイミングと継続時間に基づき、パルスを生成して、タイムスライスに合わせて、連続系システムに送り出す。このように計算される例として、燃料噴射の開始タイミングと継続時間がある。
WDT812は、常時カウント・アップし、CPUエミュレータ602aからの信号に応答して、カウント値をクリアされるタイマであり、一定期間以上CPUエミュレータ602aから信号が来ないことによってカウント値が閾値を超えたことで、CPUエミュレータ602aの動作が正常でないことを示す信号を出力する。
図9は、ハイブリッド・ペリフェラル602bと、CPUエミュレータ602aの動作を示す処理のフローチャートである。なお、ハイブリッド・ペリフェラル604bと、CPUエミュレータ604aの動作等も実質的に同じであると理解されたい。ここでは代表的に、ハイブリッド・ペリフェラル602bと、CPUエミュレータ602aについて説明する。
この処理は、タイムスライスΔt毎に呼び出される。この処理は、連続系シミュレータのパルスに、離散系シミュレータが同期する訳ではない、という意味で、非同期プロセスであると言える。
図9において、ステップ902及びステップ908では、順序付けられたペリフェラルの構成ブロックの順に、構成ブロックの固有の処理が行なわれる。ここでいう構成ブロックとは、図8の例では、INT−C806、ATU808、PFC810及びWDT812であり、この所定の順序は、図10に示すような順序リスト1002に従い決められる。このリストは、好適には、メイン・メモリ506の所定箇所に配置される。このリストは、PFC→ATU→WDT→INT−Cの順序であることを示す。図10はまた、連続系の入力から出力にかけて、このリストの順に処理が行なわれるべきことを示す。
特にステップ902では、ステップ904の、ハイブリッド・ペリフェラル602bの共有メモリ602cから、CPUエミュレータ602aの出力としてデータを読み出す処理と、ステップ906の、ハイブリッド・ペリフェラル602bの共有メモリ602cへ、CPUエミュレータ602aの入力としてデータを上書きで書き込む処理とが行われる。
こうして、全ての構成ブロックの処理が完了すると、ハイブリッド・ペリフェラル602bの処理(特に、連続系の部分)は、終了する。
一方、CPUエミュレータ602aの側では、CPUエミュレータ602aがステップ910で、I/Oへのアクセスまで実行し、ステップ912で、ハイブリッド・ペリフェラル602bの共有メモリ602cへのI/Oアクセスを行う。このとき、共有メモリ602cへのアクセスの間は、他の処理ブロックが共有メモリ602cの値を書き換えないように、排他制御が行われる。
図11は、ハイブリッド・ペリフェラル602bのINT−C806の処理のフローチャートを示す図である。これは、図9のペリフェラル構成ブロック固有の処理ステップ910における、INT−C806の固有の処理である。図11において、ステップ1102では、INT−Cが入力データをPFC810から取り込む。ステップ1104では、INT−Cが、入力データを割込みに変換するかどうか判断する。この判断は例えば、ある値の前回の値を保持しておいて、その値が前回から変わったかどうかで判断される。典型的には、パルスの立下りの検出である。
入力データを割込みに変換すると判断すると、INT−Cは、ステップ1106で、CPUエミュレータに割込みイベント・メッセージを送り、処理は終わる。
図12は、ハイブリッド・ペリフェラル602bのATU808フローチャートを示す図である。これは、図9のペリフェラル構成ブロック固有の処理ステップ910における、ATU808の固有の処理である。図12において、ステップ1202では、ATUが入力データをPFCから取り込む。
ステップ1204では、ATUが、タイマがヒット、すなわちタイマの値が設定した所定の値に達したかどうかを判断する。もしそうなら、ステップ1206で、ATUは、出力のステータスを変更する。そうでなければ、直ちにステップ1208に進む。
次にステップ1208では、ATUが、出力データをPFCに書き込み、処理は終わる。
より具体的に述べると、ATU808には、CPUエミュレータ602aから、開始時刻と期間を設定可能であり、すると、ステップ1204でのタイマヒットとは、その開始時刻から期間内であることを意味する。すると、ATU808の働きは例えば、開始時刻から期間内は、PFCを通じて、論理1を出力し、それ以外は、論理0を出力することになる。
図13は、ペリフェラルとECUエミュレータの間の処理動作に関する別の実施例の処理のフローチャートを示す図である。図9の処理とは異なり、この実施例では、指定されたサイクル毎に同期処理が行われる。図13のフローチャートの処理も、タイムスライスΔt毎に呼び出される。この実施例は、離散系システムにおいて、ソフトウエアによるタイマー(時間計算)が使用される場合に採用される。ここで、タイマーの最小粒度より小さな周期で同期を取ることにより、ソフトウエア・タイマーの動作が保証される。
図13において、ステップ1302及びステップ1308では、順序付けられたペリフェラルの構成ブロックの順に、構成ブロックの固有の処理が行なわれる。ここでいう構成ブロックとは、図8の例における、INT−C806、ATU808、PFC810及びWDT812であり、この所定の順序は、図10に示すような順序リスト1002に従い決められる。このリストは、好適には、メイン・メモリ506の所定箇所に配置される。このリストは、PFC→ATU→WDT→INT−Cの順序であることを示す。図10はまた、連続系の入力から出力にかけて、このリストの順に処理が行なわれるべきことを示す。
INT−C806及びATU808の固有の処理は、図11及び図12に関連して、それぞれ既に説明したとおりである。
特にステップ1302では、ステップ1304の、ハイブリッド・ペリフェラル602bの共有メモリ602cから、CPUエミュレータ602aの出力としてデータを読み出す処理と、ステップ1306の、ハイブリッド・ペリフェラル602bの共有メモリ602cへ、CPUエミュレータ602aの入力としてデータを上書きで書き込む処理とが行われる。
こうして、全ての構成ブロックの処理が完了すると、ハイブリッド・ペリフェラル602bの処理は、ステップ1310に進み、そこで、t <= T < t + Δtかどうかが判断される。そうでなければ、処理は直ちに終わる。ここで、tは、連続系シミュレータにおける現在の時刻、Δtはタイムスライスの大きさ、TはCPUエミュレータの同期時刻をあらわす。
ステップ1310で、t <= T < t + Δtと判断されると、ステップ1312で、ハイブリッド・ペリフェラル602bは、CPUエミュレータ602aからの通知を待ち、通知があると、ステップ1314でTを更新して、CPUエミュレータ602aに通知する。
一方、CPUエミュレータ602aの側では、CPUエミュレータ602aがステップ1316で、I/Oへのアクセスまで実行し、ステップ1318で、ハイブリッド・ペリフェラル602bの共有メモリ602cへのI/Oアクセスを行う。このとき、共有メモリ602cへのアクセスの間は、他の処理ブロックが共有メモリ602cの値を書き換えないように、排他制御が行われる。
ステップ1320では、指定されたサイクルを終えたかどうかが判断され、もしそうでないなら、処理は、ステップ1316に戻る。
ステップ1320で、指定されたサイクルを終えたと判断されると、ステップ1322で、CPUエミュレータ602aは、終了したことを、ハイブリッド・ペリフェラル602b側に通知する。この通知は、上記ステップ1312におけるCPUエミュレータ602aからの通知である。
ステップ1324では、CPUエミュレータ602aが、次のサイクルの指定を待つ。ここで待つのは、上記ステップ1314からの通知である。次に処理は、ステップ1316に戻る。
以上、自動車用の複数のシミュレーション・システムに関連して、本発明の特定の実施例を説明してきたが、本発明はこのような特定の実施例に限定されず、飛行機用のシミュレーション・システムなど、一般的な電子機械制御系システムのシミュレーション・システムに適用可能であることを、この分野の当業者であるなら、理解するであろう。
上記実施例では、ECUエミュレータのペリフェラル部分と、連続系システムが同一スレッド内にある、と説明してきたが、スレッドに限らず、単一プロセッサまたはコアに割り当てることができるような単位であるなら、より広く、プロセスという単位でもよい。

Claims (7)

  1. コンピュータの処理により、シミュレーションを行なうシミュレーション・システムにおいて、
    連続パルスによって動作する連続系シミュレータと、
    離散イベント・メッセージにより動作する離散系シミュレータと、
    前記連続系シミュレータからの連続パルス信号を、イベント・メッセージに変換して前記離散系シミュレータに送出するためのペリフェラル手段とを有し、
    前記連続系シミュレータと前記ペリフェラル手段の少なくとも一部は、同一スレッド内で動作するように制御され
    前記ペリフェラル手段は、離散系シミュレータからのイベント・メッセージ信号を連続クロックの信号に変換して前記連続系シミュレータに送出する機能をさらに有し、
    前記離散系シミュレータのイベントが、割込みであり、
    前記ペリフェラル手段と、離散系シミュレータは、非同期で通信し、
    前記ペリフェラル手段が、連続クロック信号の周期よりも長い指定サイクル毎の同期で通信する、
    シミュレーション・システム。
  2. 前記ペリフェラル手段が、データを読み書き可能なメモリを有し、前記ペリフェラル手段と、離散系シミュレータは、該メモリへの読み書きによりデータを交換する、請求項1のシミュレーション・システム。
  3. 前記シミュレーション・システムが自動車のシミュレーション・システムであり、前記連続系シミュレータがエンジン・シミュレータを含み、前記離散系シミュレータが、該エンジン・シミュレータを制御するためのECUエミュレータを含む、請求項1のシミュレーション・システム。
  4. コンピュータの処理により、シミュレーションを行なうシミュレーション方法において、
    連続パルスによって動作する連続系シミュレータを動作させるステップと、
    離散イベント・メッセージにより動作する離散系シミュレータを動作させるステップと、
    前記連続系シミュレータからの連続パルス信号を、イベント・メッセージに変換して前記離散系シミュレータに送出するためのペリフェラル手段を動作させるステップを有し、
    前記連続系シミュレータと前記ペリフェラル手段は、同一スレッド内で動作するように制御され
    前記ペリフェラル手段は、離散系シミュレータからのイベント・メッセージ信号を連続クロックの信号に変換して前記連続系シミュレータに送出する機能をさらに有し、
    前記離散系シミュレータのイベントが、割込みであり、
    前記ペリフェラル手段と、離散系シミュレータは、非同期で通信し、
    前記ペリフェラル手段が、連続クロック信号の周期よりも長い指定サイクル毎の同期で通信する、
    シミュレーション方法。
  5. 前記シミュレーション方法が自動車のシミュレーション方法であり、前記連続系シミュレータがエンジン・シミュレータを含み、前記離散系シミュレータが、該エンジン・シミュレータを制御するためのECUエミュレータを含む、請求項4のシミュレーション方法。
  6. コンピュータの処理により、シミュレーションを行なうシミュレーション・プログラムであって、
    前記コンピュータをして、
    連続パルスによって動作する連続系シミュレータを動作させるステップと、
    離散イベント・メッセージにより動作する離散系シミュレータを動作させるステップと、
    前記連続系シミュレータからの連続パルス信号を、イベント・メッセージに変換して前記離散系シミュレータに送出するためのペリフェラル手段を動作させるステップを実行させ
    前記連続系シミュレータと前記ペリフェラル手段は、同一スレッド内で動作するように制御され
    前記ペリフェラル手段は、離散系シミュレータからのイベント・メッセージ信号を連続クロックの信号に変換して前記連続系シミュレータに送出する機能をさらに有し、
    前記離散系シミュレータのイベントが、割込みであり、
    前記ペリフェラル手段と、離散系シミュレータは、非同期で通信し、
    前記ペリフェラル手段が、連続クロック信号の周期よりも長い指定サイクル毎の同期で通信する、
    シミュレーション・プログラム。
  7. 前記シミュレーション・プログラムが自動車のシミュレーション・プログラムであり、前記連続系シミュレータがエンジン・シミュレータを含み、前記離散系シミュレータが、該エンジン・シミュレータを制御するためのECUエミュレータを含む、請求項6のシミュレーション・プログラム。
JP2011503850A 2009-03-12 2010-03-10 シミュレーション方法、システム及びプログラム Active JP5295355B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011503850A JP5295355B2 (ja) 2009-03-12 2010-03-10 シミュレーション方法、システム及びプログラム

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2009059790 2009-03-12
JP2009059790 2009-03-12
PCT/JP2010/054056 WO2010104135A1 (ja) 2009-03-12 2010-03-10 シミュレーション方法、システム及びプログラム
JP2011503850A JP5295355B2 (ja) 2009-03-12 2010-03-10 シミュレーション方法、システム及びプログラム

Publications (2)

Publication Number Publication Date
JPWO2010104135A1 JPWO2010104135A1 (ja) 2012-09-13
JP5295355B2 true JP5295355B2 (ja) 2013-09-18

Family

ID=42728423

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011503850A Active JP5295355B2 (ja) 2009-03-12 2010-03-10 シミュレーション方法、システム及びプログラム

Country Status (5)

Country Link
US (1) US8670967B2 (ja)
EP (1) EP2407886A4 (ja)
JP (1) JP5295355B2 (ja)
CN (1) CN102341787B (ja)
WO (1) WO2010104135A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016080092A1 (ja) * 2014-11-19 2016-05-26 日立オートモティブシステムズ株式会社 故障シミュレーションシステム

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102011105141A1 (de) * 2011-06-09 2012-12-13 Dmg Electronics Gmbh Verfahren und system zur simulation eines arbeitsprozesses an einer werkzeugmaschine
JP2013084163A (ja) * 2011-10-12 2013-05-09 Hitachi Ltd 協調シミュレーション装置及び協調シミュレーション方法
US9251308B2 (en) * 2012-07-23 2016-02-02 International Business Machines Corporation Simulation method, system, and program
US9442716B2 (en) * 2013-09-24 2016-09-13 GM Global Technology Operations LLC Methods and apparatus for adjusting a variable rate of requesting software data from a vehicle
JP6831193B2 (ja) * 2016-08-26 2021-02-17 トヨタ自動車株式会社 ハイブリッド車両の制御装置
US20180189896A1 (en) * 2016-12-30 2018-07-05 Paccar Inc Systems and methods for improving electronic component quality during the manufacture of vehicles
US10652256B2 (en) * 2017-06-20 2020-05-12 International Business Machines Corporation Real-time active threat validation mechanism for vehicle computer systems
JP6770935B2 (ja) * 2017-07-03 2020-10-21 日立オートモティブシステムズ株式会社 車両制御装置用の検証装置
WO2019214802A1 (en) * 2018-05-07 2019-11-14 Siemens Industry Software Nv Method for simulating the operation of an electronic control unit

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003228496A (ja) * 2002-02-05 2003-08-15 Fujitsu Ltd 制御プログラム開発支援装置
JP2007052580A (ja) * 2005-08-17 2007-03-01 Fujitsu Ten Ltd ソフトウェア開発環境システム
JP2008065640A (ja) * 2006-09-07 2008-03-21 Toshiba Corp シミュレーション装置およびそのシミュレーション制御方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5678028A (en) 1994-10-25 1997-10-14 Mitsubishi Electric Information Technology Center America, Inc. Hardware-software debugger using simulation speed enhancing techniques including skipping unnecessary bus cycles, avoiding instruction fetch simulation, eliminating the need for explicit clock pulse generation and caching results of instruction decoding
US6425762B1 (en) * 1998-02-24 2002-07-30 Wind River Systems, Inc. System and method for cosimulation of heterogeneous systems
JP2001290860A (ja) 2000-04-10 2001-10-19 Matsushita Electric Ind Co Ltd ハードウエア/ソフトウエア協調シミュレータ
JP3638255B2 (ja) * 2001-03-26 2005-04-13 富士通テン株式会社 通信シミュレーション装置および方法
JP2004030228A (ja) 2002-06-26 2004-01-29 Nec Electronics Corp Lsiシミュレータ及びシミュレーション方法
US7895025B2 (en) * 2004-03-10 2011-02-22 Renault S.A.S. Validation method for embedded systems
JP4259398B2 (ja) * 2004-05-27 2009-04-30 日産自動車株式会社 車両走行制御システムの悪路走行シミュレーション装置、および、車両走行制御システム作動感度評価装置
JP4509699B2 (ja) 2004-08-30 2010-07-21 富士通株式会社 回路解析方法および回路解析装置
CN100347621C (zh) * 2005-01-07 2007-11-07 清华大学 一种整车控制器仿真测试系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003228496A (ja) * 2002-02-05 2003-08-15 Fujitsu Ltd 制御プログラム開発支援装置
JP2007052580A (ja) * 2005-08-17 2007-03-01 Fujitsu Ten Ltd ソフトウェア開発環境システム
JP2008065640A (ja) * 2006-09-07 2008-03-21 Toshiba Corp シミュレーション装置およびそのシミュレーション制御方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
CSND199700423002; 中山俊一: 'システムASIC市場拡大を見込み,検証ツールが続々登場する' 日経エレクトロニクス 第697号, 19970901, pp.76-85, 日経BP社 *
CSND199800630004; 瀧和男: '大規模汎用並列処理の実現に向けて' bit 第23巻、第2号, 19910201, pp.35-50, 共立出版株式会社 *
JPN6012059803; 中山俊一: 'システムASIC市場拡大を見込み,検証ツールが続々登場する' 日経エレクトロニクス 第697号, 19970901, pp.76-85, 日経BP社 *
JPN6012059806; 瀧和男: '大規模汎用並列処理の実現に向けて' bit 第23巻、第2号, 19910201, pp.35-50, 共立出版株式会社 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016080092A1 (ja) * 2014-11-19 2016-05-26 日立オートモティブシステムズ株式会社 故障シミュレーションシステム
JP2016099144A (ja) * 2014-11-19 2016-05-30 日立オートモティブシステムズ株式会社 故障シミュレーションシステム
EP3222985A4 (en) * 2014-11-19 2018-07-11 Hitachi Automotive Systems, Ltd. Fault simulation system
US10467363B2 (en) 2014-11-19 2019-11-05 Hitachi Automotive Systems, Ltd. Fault simulation system

Also Published As

Publication number Publication date
CN102341787A (zh) 2012-02-01
US8670967B2 (en) 2014-03-11
JPWO2010104135A1 (ja) 2012-09-13
EP2407886A4 (en) 2014-04-02
CN102341787B (zh) 2015-06-17
WO2010104135A1 (ja) 2010-09-16
EP2407886A1 (en) 2012-01-18
US20120029893A1 (en) 2012-02-02

Similar Documents

Publication Publication Date Title
JP5295355B2 (ja) シミュレーション方法、システム及びプログラム
JP5153465B2 (ja) シミュレーション方法、システム及びプログラム
JP5065344B2 (ja) シミュレーション方法、システム及びプログラム
JP5179249B2 (ja) 制御装置シミュレーション方法、システム及びプログラム
KR101522477B1 (ko) 시뮬레이션 방법, 시스템 및 프로그램
EP2318922B1 (en) Controlling real time clock during embedded system development
JP5379862B2 (ja) シミュレーション方法、システム及びプログラム
JP5224957B2 (ja) シミュレーション方法、システム及びプログラム
JP5186290B2 (ja) シミュレーション方法、システム及びプログラム
JP2010282291A (ja) シミュレーション・システム、方法及びプログラム
Dziurzanski et al. Benchmarking, system design and case-studies for multi-core based embedded automotive systems
JP5460010B2 (ja) シミュレーション方法、システム及びプログラム
JP2007233675A (ja) シミュレーション装置
JP5500820B2 (ja) シミュレーション方法、システム及びプログラム
Ishikawa et al. CPU model-based hardware/software co-design for real-time embedded control systems
JP5186307B2 (ja) シミュレーション方法、システム及びプログラム
Oho CPU Model-based Hardware/Software Co-design for Real-Time Embedded Control Systems
Oho et al. Model-based implementation design of automotive controllers
Ishikawa et al. CPU model-based mechatronics/hardware/software co-design technology for real-time embedded control systems

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121120

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121213

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: 20130521

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130611

R150 Certificate of patent or registration of utility model

Ref document number: 5295355

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150