JP5365584B2 - 制御装置 - Google Patents

制御装置 Download PDF

Info

Publication number
JP5365584B2
JP5365584B2 JP2010137451A JP2010137451A JP5365584B2 JP 5365584 B2 JP5365584 B2 JP 5365584B2 JP 2010137451 A JP2010137451 A JP 2010137451A JP 2010137451 A JP2010137451 A JP 2010137451A JP 5365584 B2 JP5365584 B2 JP 5365584B2
Authority
JP
Japan
Prior art keywords
program
function
platform
application
middleware
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.)
Expired - Fee Related
Application number
JP2010137451A
Other languages
English (en)
Other versions
JP2010231809A (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.)
Sumitomo Wiring Systems Ltd
AutoNetworks Technologies Ltd
Sumitomo Electric Industries Ltd
Original Assignee
Sumitomo Wiring Systems Ltd
AutoNetworks Technologies Ltd
Sumitomo Electric Industries 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 Sumitomo Wiring Systems Ltd, AutoNetworks Technologies Ltd, Sumitomo Electric Industries Ltd filed Critical Sumitomo Wiring Systems Ltd
Priority to JP2010137451A priority Critical patent/JP5365584B2/ja
Publication of JP2010231809A publication Critical patent/JP2010231809A/ja
Application granted granted Critical
Publication of JP5365584B2 publication Critical patent/JP5365584B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Description

本発明は、アプリケーションプログラムとプラットフォームプログラムとが実行される制御装置に関する。特に、アプリケーションプログラム及びプラットフォームプログラムの種々の組み合わせに柔軟に対応でき、アプリケーションプログラム及びプラットフォームプログラムの再利用性を向上させて開発過程の短縮化、開発負荷の削減を図ることができる制御装置に関する。
近年では、種々の制御を行なう制御装置に通信機能を備えさせて複数接続し、各制御装置に夫々機能を割り振って相互にデータを交換し、連携して多様な処理を行なわせるシステムが各分野で利用されている。例えば、車両に配される車載LAN(Local Area Network)の分野では、ECU(電子制御装置;Electronic Control Unit)は通信機能を有し、各ECUに夫々特定の処理を行なわせて相互にデータを交換することにより、システムとして多様な機能を実現させている(例えば、特許文献1参照)。
複数の制御装置が相互に連携して多様な処理を行なわせる場合、各制御装置の機能を特化させるよりも、各制御装置が同様の機能を実現することが可能な構成とし、設定に応じて相互に代替して処理を行なうことができるようにすることもできる。具体的には、各制御装置に特定の機能を実現させるための各アプリケーションプログラムから共通機能を分離し、共通機能をプラットフォームとなるプログラムで実現するように構成する。共通機能としては例えば、アプリケーションプログラムの実行に用いられるデータの記憶、更新、及び他の装置との通信処理等がある。
これにより、通信仕様の定義が変化した場合にはプラットフォームのプログラムを改変し、全制御装置に改変後のプラットフォームのプログラムを実行させればよい。この場合、アプリケーションプログラムは通信仕様の改変に対応させる必要がなく、それまでと同様の処理によって他の制御装置との通信を実現できる。したがって、ハードウェアの違いに応じた種々のバージョンのアプリケーションプログラムを用意するなど、煩雑な管理が必要ない。アプリケーションプログラムは、純粋に特定の機能を実現するための構成とすればよく、プログラムの再利用性が高くなる。
特開2007−329578号公報
しかしながら、プラットフォームプログラムの構成もハードウェア資源の違い、又はメーカの違いによって多様である。プラットフォームプログラムに含まれるべき機能の定義は様々である。例えば、通信機能の内、通信線における障害検知機能をもプラットフォームプログラムにて実現されるように構成されている場合がある一方で、障害検知機能はアプリケーションプログラムで実現されるように設計されている場合もある。
特定のハードウェア資源を用いた制御を行なうためには当該ハードウェア資源に特化したプラットフォームプログラムを利用しなければならない場合もある。アプリケーションプログラムを設計するに際し、通信機能などはプラットフォームプログラムにて実現されるのでハードウェア資源の違いに対応させる必要がなかったにも拘わらず、プラットフォームプログラムが違う場合には結局アプリケーションプログラムにて各プラットフォームプログラムに対応させることが必要となる。この場合、アプリケーションプログラム及びプラットフォームプログラム双方での開発における煩雑性を改善させることができず、開発過程の短縮化、開発負荷の削減を図ることが困難である。
本発明は斯かる事情に鑑みてなされたものであり、アプリケーションプログラム及びプラットフォームプログラムの種々の組み合わせに柔軟に対応させ、装置の特有機能を実現させるアプリケーションプログラム及びプラットフォームプログラムの再利用性を向上させて開発過程の短縮化、開発負荷の削減を図ることができる制御装置を提供することを目的とする。
第1発明に係る制御装置は、一又は複数のアプリケーションの機能を各実現する一又は複数のアプリケーションプログラム、及び、前記一又は複数のアプリケーションの機能からの処理要求に対応して一又は複数のハードウェア資源の動作の制御に対応する一又は複数の機能を実現するプラットフォームプログラムを含むコンピュータプログラムを実行する制御部を備え、前記プラットフォームプログラムは、異なる複数のプログラムの内のいずれかに入れ替え可能にしてある制御装置において、前記一又は複数のアプリケーションプログラム夫々に対応し、各アプリケーションとデータの授受を行なうための前記複数のアプリケーション用インタフェース群、及び、前記異なる複数のプログラム夫々に対応させてあり、各プログラムに基づく各機能とデータの授受を行なうための複数のプラットフォーム用インタフェース群を記憶しておく記憶手段を備え、前記制御部は、前記一又は複数のアプリケーションの機能と、前記プラットフォームプログラムに基づく各機能との間のデータの授受を、夫々の機能に対応して行なう機能モジュールプログラム群を含むミドルウェアプログラムを実行するミドルウェア手段を備え、前記ミドルウェアプログラムが前記ミドルウェア手段により実行されることによって、前記制御部は、前記記憶手段における前記複数のアプリケーション用インタフェース群から、実行されるアプリケーションに対応するインタフェースを選択し、読み出して前記アプリケーションとのデータの授受を行なう手段、及び、前記記憶手段における複数のプラットフォーム用インタフェース群の内の前記プラットフォームプログラムに対応するプラットフォーム用インタフェースに基づき、プラットフォームプログラムに基づく機能とのデータの授受を行なう手段として機能するように構成されており、前記制御部は更に、前記一又は複数のアプリケーション、プラットフォームプログラムに基づく機能及びミドルウェアプログラムに基づく機能のいずれからも独立した機能を実現させるシステムマネージャプログラムを実行するシステムマネージャ手段を備え、前記システムマネージャプログラムが前記システムマネージャ手段により実行されることによって、前記制御部は、動作すべき前記一又は複数のアプリケーション、前記プラットフォームプログラムに基づく各機能、及び前記ミドルウェアプログラムに基づく各機能を指示する手段、及び、前記一又は複数のアプリケーションの実行状態、前記プラットフォームプログラムに基づく各機能の実行状態、及び前記ミドルウェアプログラムに基づく各機能の実行状態を検出する手段として機能するように構成されており、前記システムマネージャプログラムにより実現される機能は、前記一又は複数のアプリケーション、プラットフォームプログラムに基づく機能及びミドルウェアプログラムに基づく機能と直接的にデータを授受するように構成されていることを特徴とする。
第2発明に係る制御装置は、前記ミドルウェアプログラムが前記ミドルウェア手段により実行されることによって、前記制御部は、実行中のアプリケーションプログラムに対応する機能モジュールプログラムを選択して実行するように構成されていることを特徴とする。
第3発明に係る制御装置は、前記ミドルウェアプログラムが前記ミドルウェア手段により実行されることによって、前記制御部は更に、前記プラットフォームプログラムに基づく機能により授受される前記ハードウェア資源からのデータの内、前記一又は複数のアプリケーションへ渡すべきデータを選択する手段、及び、前記一又は複数のアプリケーションから授受されるデータの出力先を、前記プラットフォームプログラムに基づく各機能から選択する手段として機能するように構成されていることを特徴とする。
第4発明に係る制御装置は、前記ミドルウェアプログラムが前記ミドルウェア手段により実行されることによって、前記制御部は更に、実行させるべきアプリケーションを指示する情報、実行中の一又はアプリケーションの機能を識別する情報、又はアプリケーションの実行状態を示す状態情報を、前記アプリケーション又は前記プラットフォームプログラムに基づく各機能との間で授受する手段として機能するように構成されていることを特徴とする。
本発明にあっては、アプリケーションプログラム及びプラットフォームプログラム間のデータの授受を、各プログラムに対応させて行なうミドルウェアプログラムが実行される。更に、ミドルウェアプログラムにより複数の機能が夫々実行可能である。これにより、実行されるアプリケーションプログラム及びプラットフォームプログラムの組み合わせに応じてデータの授受のみならず、ミドルウェアプログラムにて実現される機能も種々選択可能となる。
本発明にあっては、一のミドルウェアプログラムにて、種々のアプリケーションプログラム及びプラットフォームプログラムの組み合わせに対応して機能が選択される。例えば、一のアプリケーションプログラムでは、プラットフォームプログラムに所定の機能が在ることを前提として構成されているにも拘らず、組み合わせられるプラットフォームプログラムに所定の機能がない場合も、ミドルウェアプログラムにて当該機能が実現されるので、アプリケーションプログラムの動作に問題がない。したがって、アプリケーションプログラムをプラットフォームプログラムの違いに対応させて個別に改変する必要がなく、多様なプラットフォームプログラムに再利用が可能である。
本発明にあっては、アプリケーションプログラムとのデータの授受と、プラットフォームプログラムとのデータの授受との何れについても、夫々異なるプログラムに応じたデータの授受を実現するインタフェース(結合手段)が用意されている。したがって、アプリケーションプログラム及びプラットフォームプログラムの種々の組み合わせに応じて、インタフェースを選択変更することができる。アプリケーションプログラム側で想定されていないプラットフォームプログラムとの組み合わせも含め、種々の組み合わせに柔軟に対応させることができ、多様なプラットフォームプログラムに再利用が可能である。
本発明にあっては、プラットフォームプログラムからデータがアプリケーションプログラムへ出力された場合に、ミドルウェアプログラムの処理により、必要なデータが選択されてアプリケーションプログラムへ渡される。また、アプリケーションプログラムからプラットフォームプログラムへのデータについては、プラットフォームプログラム内の出力先がミドルウェアプログラムの処理によって選択されて渡される。これにより、アプリケーションプログラム及びプラットフォームプログラム間のデータの授受が合致していない場合であっても、適宜選択され調整される。アプリケーションプログラム側は何れのプラットフォームプログラムを用いるかに拠らず、アプリケーションプログラムに合致したデータを得ることができ、多様なプラットフォームプログラムに再利用可能である。
本発明にあっては更に、ミドルウェアプログラムの処理によって、実行されるべきアプリケーションプログラムを指示すること、実行中のアプリケーションプログラム又は実行状態をプラットフォームプログラム側に通知することが可能となる。プラットフォームプログラムによっては、アプリケーションプログラム側で実現されるべき機能がある場合もある。また、アプリケーションプログラムの状態によってはプラットフォームプログラム側で実現されるべき機能がある場合がある。ミドルウェアプログラムの処理によって相互に情報を得ることができ、アプリケーションプログラム及びプラットフォームプログラムの種々の組み合わせに対応が可能である。
本発明にあっては、更にアプリケーションプログラム及びプラットフォームプログラムの実行、並びに種々の組み合わせを実現するミドルウェアプログラムの実行を制御装置全体の種々の条件に応じて変更することが可能となる。また、各プログラムの状態を夫々の実行手段に亘って検出可能であるので、アプリケーションプログラムに応じてミドルウェアプログラムにおける機能を選択するなどの処理が可能となる。これにより、アプリケーションプログラム及びプラットフォームプログラムの種々の組み合わせが適宜実現可能となる。
本発明による場合、ミドルウェアプログラムがアプリケーションプログラム及びプラットフォームプログラムの種々の組み合わせに応じて、アプリケーションプログラム及びプラットフォームプログラム間におけるデータの授受を実現するので、アプリケーションプログラムをプラットフォームプログラムの違いに対応させずともよい。更にアプリケーションプログラム及びプラットフォームプログラムの組み合わせに応じてミドルウェアプログラムにて実現される機能も選択可能となるので、相互に過不足となる機能がミドルウェアプログラムにて調整可能である。これにより、プラットフォームプログラムが違う場合であってもアプリケーションプログラムを個別に対応させる必要がなくなり、アプリケーションプログラム及びプラットフォームプログラム双方の開発過程の短縮化を図ることができる。
本実施の形態におけるECUの構成を示すブロック図である。 本実施の形態におけるECUのCPUが実現する機能を概念的に説明する説明図である。 ミドルウェアプログラムに基づき、アプリケーション層及びプラットフォーム層に対応させてインタフェース及び機能が実行される処理の一例を示すフローチャートである。 システムマネージャの機能に応じてアプリケーション層、プラットフォーム層及びミドルウェア層にて実行される処理の一例を示すフローチャートである。 アプリケーションプログラム及びプラットフォームプログラムの一の組み合わせに対応した制御プログラムの構造の一例を概念的に示す説明図である。 アプリケーションプログラム及びプラットフォームプログラムの一の組み合わせに対応した制御プログラムの構造の他の一例を概念的に示す説明図である。 アプリケーションプログラム及びプラットフォームプログラムの一の組み合わせに対応した制御プログラムの構造の他の一例を概念的に示す説明図である。
以下、本発明をその実施の形態を示す図面に基づいて具体的に説明する。
なお、以下に示す実施の形態では、本発明に係る制御装置を車両に搭載される種々の制御を行なうECU(Electronic Control Unit)に適用する場合を例に説明する。
図1は、本実施の形態におけるECUの構成を示すブロック図である。なおECU1は、通信線2を介して他のECUと接続され、相互に通信が可能に構成されている。また、ECU1には、センサ3及びアクチュエータ4が接続されている。ECU1は、センサ3から得られる情報に基づく自身の処理、又は他のECUの処理によって得られる情報に基づいてアクチュエータ4を動作させるなど、特有の機能を有している。なお、ECU1には、センサ3及びアクチュエータ4がいずれも接続されているが、何れか一方のみ接続されているか又は何れも接続されていなくともよい。
ECU1は、各構成部の動作を制御するCPU(Central Processing Unit)11、不
揮発性メモリを用いたROM12、高速にアクセス可能なメモリを用いたRAM13を含むマイクロコンピュータ10(以下、マイコン10という)と、不揮発性メモリを用いた記憶部14、ネットワークコントローラを利用した通信部15と、センサ3及びアクチュエータ4とのインタフェースである入出力部16とを備える。
記憶部14は、フラッシュメモリ、EEPROM(Electrically Erasable and Programmable ROM)等のメモリを利用し、比較的に大容量の記憶容量にて構成される。記憶部14には、マイコン10が後述するアプリケーションプログラム17,17,…を実行することによって行われる処理により得られる情報、例えばECU1の状態情報、ECU1が搭載される車両の状態情報等のシステム情報が記憶される。また、記憶部14には、マイコン10がセンサ3から取得したデータ、及び他のECUから受信したデータ等が記憶される。
通信部15は、マイコン10による通信線2を介した他のECUとの通信を実現する。通信部15は具体的に、CAN(Control Area Network)、LIN(Local Interconnect Network)、又はFlexRay(登録商標)などのプロトコルに準じた通信を実現する。通信部15は、マイコン10の一部として構成されてもよい。
入出力部16は、上述のようにセンサ3及びアクチュエータ4とのインタフェースであり、入出力部16はセンサ3が接続されている場合、センサ3から出力される測定値等を表わす信号を取り出してマイコン10へ出力する。また入出力部16は、アクチュエータ4が接続されている場合、マイコン10から出力されるアクチュエータ4の制御信号をアクチュエータ4へ出力する。入出力部16は、D/A変換、A/D変換機能を有していてもよい。
マイコン10のCPU(Central Processing Unit)11は、ROM12に記憶されて
いる制御プログラム1PをRAM13に読み出して実行することにより各構成部を制御し、特有の機能を実現する。
ROM12には、マスクROM、フラッシュメモリ、PROM(Programmable ROM)、EPROM(Erasable and Programmable ROM)、EEPROM(Electrically EPROM)
等のメモリを利用する。ROM12には、上述のように制御プログラム1Pが記憶されているほか、制御に用いる制御データが記憶されていてもよい。
RAM13は、DRAM(Dynamic Random Access Memory)、SRAM(Static Random Access Memory)等のメモリを利用している。RAM13にはCPU11の処理によっ
て発生する各種情報が一時的に記憶される。
ROM12に記憶されている制御プログラム1Pは、マイコン10にECU1特有の処理を実行させるためのアプリケーションプログラム17,17,…、ハードウェア資源の制御、通信機能など、他のECUとの共通機能を実現するための各種を含むプラットフォームプログラム18、アプリケーションプログラム17,17,…とプラットフォームプログラム18との間のやり取りを仲介するミドルウェアプログラム19、及び、各プログラムに基づく処理をECU1全体として制御するシステムマネージャプログラム20を含んで構成される。
アプリケーションプログラム17,17,…には、車両のエンジンを制御するための処理を実現させるプログラム、ドアロックのオン・オフ、ヘッドライトのオン・オフ等を切り替えるための処理を実現させるプログラム等、ECU1に特有の機能を実現させるための種々のプログラムが含まれる。
プラットフォームプログラム18には、記憶部14へのデータの書き込み、記憶部14からのデータの読み出し、通信部15を介したデータの送信などの、アプリケーションプログラム17,17,…に基づくマイコン10からのハードウェア資源への処理要求に対応して各ハードウェア資源への処理を実現するプログラムが含まれる。具体的には、アプリケーションプログラム17,17,…を実行するCPU11からの処理要求に応じた論理的データアクセスを実現するデバイスドライバと、各ハードウェア資源の実装に基づく物理的データアクセスを実現するBIOS(Basic Input/Output System)とを含む。
ミドルウェアプログラム19には、アプリケーションプログラム17,17,…からの処理要求をプラットフォームプログラム18に対応させるように変換し、プラットフォームプログラム18へ渡すなどのインタープリタ機能を実現するためのプログラムが含まれている。具体的には、ミドルウェアプログラム19は、アプリケーションプログラム17,17,…に基づくCPU11からの出力要求、例えば記憶部14へのデータ書き込み要求、通信部15を介した送信要求を受け付け、プラットフォームプログラム18に対応させて受け渡す出力系処理機能を含む。そしてミドルウェアプログラム19は、プラットフォームプログラム18から入力されるデータを受け付け、アプリケーションプログラム17が解釈可能に変換等を行なってアプリケーションプログラム17,17,…へ渡す入力系処理機能とを含む。また、ミドルウェアプログラム19は、後述するシステムマネージャプログラム20に基づくCPU11から渡される管理情報をアプリケーションプログラム17,17,…へ渡す機能を実現するための管理系処理機能を実現する。
ミドルウェアプログラム19に含まれる出力系処理機能、入力系処理機能、管理系処理機能は夫々、独立した機能モジュールとして夫々選択可能に構成されている。つまり、CPU11にてミドルウェアプログラム19に基づいて処理を行なうに際し、不要な機能を実現する機能モジュールを削除してミドルウェアプログラム19を実行した場合であっても、CPU11の処理が問題なく行えるように構成されている。また、各機能モジュールはアプリケーションプログラム17又はプラットフォームプログラム18に取り込み可能に構成されており、アプリケーションプログラム17で不足している機能を補完するなどが可能である。具体的には、ミドルウェアプログラム19は、オブジェクト構造のソフトウェアプログラムにて構成されており、各機能モジュールをオブジェクト単位に分けて設計されており、オブジェクトを選択して実行ファイルを作成することにより、種々の機能が選択可能である。
システムマネージャプログラム20は、CPU11によって実行されるアプリケーションプログラム17,17,…に基づく処理、プラットフォームプログラム18に基づく処理、ミドルウェアプログラム19に基づく処理、及び、システムマネージャプログラム20に基づく処理の全体を、ECU1として機能すべき状況に対応させて制御させるためのプログラムである。例えば、ECU1が出荷前のテスト段階における動作をすべきなのか、運用中における動作をすべきなのか、又はメンテナンス中における動作をすべきなのかなどの状況の違いに応じて、各プログラムに基づく処理を切り替える機能を実現する。又は、ECU1が日本国仕様の車両、又は北米仕様の車両に対応すべきなのかに応じて各プログラムに基づく処理を切り替える機能を実現する。また例えば、実行されているアプリケーションプログラム17,17,…に応じてハードウェア資源の物理的制御方法を変化させるなどの機能を実現する。
図2は、本実施の形態におけるECU1のCPU11が実現する機能を概念的に説明する説明図である。CPU11は、ROM12に記憶されている制御プログラム1PをRAM13に読み出して実行する。制御プログラム1Pは上述のようにアプリケーションプログラム17,17,…、プラットフォームプログラム18、ミドルウェアプログラム19、及びシステムマネージャプログラム20を含む。CPU11は、制御プログラム1Pに含まれる各プログラムに基づき、アプリケーション層107、ミドルウェア層109、プラットフォーム層108の3つの階層に分けられたソフトウェア構造にて動作する。
最上層のアプリケーション層107では、CPU11はアプリケーションプログラム17,17,…に基づき、各種アプリ(アプリA,アプリB,アプリC,…)として機能する。
中間層に当たるミドルウェア層109では、CPU11はミドルウェアプログラム19に基づき、アプリケーション層107の各アプリからの処理要求を受け付け、又はプラットフォーム層108からのデータをアプリケーション層107へ受け渡すための各機能モジュール群112,112,…が実行される。アプリケーション層107で実行されるアプリケーションプログラム17,17,…又はプラットフォーム層108で実行されるプラットフォームプログラム18に応じて実行される機能モジュール112,112,…の選択が可能である。また、各機能モジュール112,112,…では、プラットフォーム層108で実行されるプラットフォームプログラム18のプラットフォームインタフェース108aに応じて、データの入出力方法等を切替可能である。そしてミドルウェア層109では、ミドルウェアプログラム19に基づき、種々のアプリケーションプログラム17,17に対応するインタフェース群111,111,…が実現される。アプリケーション層107にて実行されるアプリケーションプログラム17,17,…に応じて呼び出し方法、データの受け渡し方法等を切り替え可能である。
最下層のプラットフォーム層108では、CPU11によりプラットフォームプログラム18に基づきハードウェア群14,15,16,…を実際に制御する処理が行なわれる。例えば、記憶部14との間のデータの読み書き、通信部15とのデータの受け渡しなどの各機能が実現される。なお、本実施の形態ではプラットフォーム層108における機能は、記憶部14からどのデータを読み出すかなどの論理的なアクセスを実行する論理層と、実際に通信部15のI/Oメモリに送信するデータを書き込むなど物理的アクセスを実行する物理層とに更に内部で階層化されているとする。
更に、CPU11がシステムマネージャプログラム20を読み出して実行することにより、システムマネージャ110の機能がプラットフォーム層108とインタフェースを共有して実現される。システムマネージャ110は、アプリケーション層107にて機能する各種アプリの実行状態、実行されるアプリに応じたミドルウェア層109における機能モジュールの実行状態、プラットフォーム層108におけるハードウェア資源の有無等を3つの層にわたって検出し、情報を保持するシステム監視機能、ECU1が搭載される車両の車種、仕向地、グレード、ECU1の機能の切り替えに応じて各層で実現されるべきアプリ、機能モジュール群112,112,…、動作すべきハードウェア資源14,15,16,…等を指示する機能管理を実現する。なお、システムマネージャ110は図2に示すようなプラットフォーム層108とインタフェースを共有する構成のみならず、各層の機能と直接的に情報を授受できる構成としてもよい。
アプリケーション層107で機能するアプリの例としては、信号制御、条件判定、負荷(アクチュエータ4等)を制御する負荷制御などがある。アプリケーション層107で実行される各アプリケーションプログラム17,17,…は、システムマネージャ110がミドルウェア層109の管理系の機能モジュール112を介して渡す管理情報に基づいて決定される。例えば、アプリケーション層107にて実行される特定のアプリケーションプログラム17に基づき、CPU11がミドルウェア層109から管理情報を読み出し、管理情報に基づき実行されるべき他のアプリケーションプログラム17,17,…を選択して実行させる。管理情報には、例えば、ECU1の状態又は状況を示す情報が含まれ、ECU1の状態又は状況に応じて実行すべきアプリケーションプログラム17,17,…を識別する情報が含まれている。例えば、ECU1が出荷前のテスト段階にあることを示す情報、その場合に実行されるべきアプリケーションプログラム17,17,…を識別する情報が含まれており、アプリケーション層107で当該管理情報に基づいて適切なアプリケーションプログラム17が選択されて実行されるなど、状況に応じた処理が可能である。
ミドルウェア層109で機能する機能モジュール112の例としては、プラットフォーム層108から得られる情報を、アプリケーション層107で機能するアプリへ受け渡す入力系の中継機能がある。入力系の中継機能では、CPU11はプラットフォーム層108から得られる情報の内、アプリケーション層107で機能するアプリが要求する情報を渡す。他に、アプリケーション層107で機能するアプリから出力されるデータをプラットフォーム層108へ引き渡す出力系の中継機能がある。出力系の中継機能では、CPU11はアプリケーション層107で機能するアプリから出力された情報をその用途に合わせて、プラットフォーム層108における出力先を選択し、プラットフォームインタフェース108aから適切なインタフェースを呼び出して渡す。
例えば、アプリから出力された情報が外部装置へ送信するデータである場合、プラットフォーム層108に対応した出力系の機能モジュール112の機能により、適した通信プロトコルに対応した通信ハードウェアからデータが送信されるように、プラットフォームインタフェース108aから適切なインタフェースが呼び出されることによって出力先が選択される。また、アプリから出力された情報がアクチュエータ4への制御信号である場合、出力系の機能モジュール112の機能により、アクチュエータ4に対応するハードウェアへアクセスするためのインタフェースが適切に選択される。
図3は、ミドルウェアプログラム19に基づき、アプリケーション層107及びプラットフォーム層108に対応させてインタフェース及び機能が実行される処理の一例を示すフローチャートである。なお、本処理は例えば、アプリケーションプログラム17,17,…、ミドルウェアプログラム19、プラットフォームプログラム18をリンクさせる際に、コンパイラなどによって実行される。
ミドルウェアプログラム19には上述のように、種々のアプリケーションプログラム17,17,…の仕様要求に対応した呼び出し方法、データの受け渡しを実現するインタフェース群111,111,…が用意されている。したがって、実行されるアプリケーションプログラム17、17,…に応じたインタフェース111が選択される(ステップS1)。
また、ミドルウェアプログラム19では、プラットフォーム層108にて実行されるプラットフォームプログラム18の仕様に対応したデータの入出力方法等をインタフェースの選択により切替可能である。そこで、プラットフォームプログラム18の仕様に対応したインタフェースが選択される(ステップS2)。
そして、実行されるアプリケーションプログラム17,17,…、プラットフォームプログラム18に応じた機能モジュール112,112,…が選択される(ステップS3)。また、アプリケーション層107で実行されるべき機能、又はプラットフォーム層108にて実行されるべき機能がある。そこで、選択された機能モジュール112,112,…はアプリケーション層107又はプラットフォーム層108にて実行されるように配置され(ステップS4)、処理が終了する。
次に、CPU11のシステムマネージャ110としての機能により実現される処理について説明する。図4は、システムマネージャ110の機能に応じてアプリケーション層107、プラットフォーム層108及びミドルウェア層109にて実行される処理の一例を示すフローチャートである。以下に示す処理は例えば、ECU1がリセットされた場合に行なわれる。
ECU1がリセットされ、CPU11がリセットされるとプラットフォーム層108が起動し(ステップS101)、プラットフォーム層108と共に起動するシステムマネージャ110により、管理情報が作成されてプラットフォームインタフェース108aを介して管理情報がミドルウェア層109に受け渡される(ステップS102)。
ミドルウェア層109では、プラットフォームインタフェース108aによる通知によって管理情報が受け付けられ(ステップS103)、管理系の機能に基づき、管理情報が管理系インタフェースからアプリケーション層107に受け渡される(ステップS104)。
アプリケーション層107では、管理情報が受け付けられ(ステップS105)、管理情報に含まれる情報に基づき実行されるべきアプリケーションプログラム17,17,…が選択されて実行される(ステップS106)。そしてアプリケーション層107にて、実行されるアプリケーションプログラム17,17,…の実行状態が検知され(ステップS107)、検知された状態を示す状態情報が作成され(ステップS108)、作成された状態情報はミドルウェア層109に出力される(ステップS109)。
ミドルウェア層109では、アプリケーション層107から出力された状態情報が、アプリケーションプログラム17に対応する管理系インタフェースにより受け付けられる(ステップS110)。ミドルウェア層109では、状態情報がシステムマネージャ110へ出力されるようにプラットフォームインタフェース108aの内からインタフェースが選択されて受け渡される(ステップS111)。
システムマネージャ110により状態情報が受け付けられ(ステップS112)、処理が終了する。
ステップS112にてシステムマネージャ110にて状態情報が受け付けられると、システムマネージャ110では、状態情報に基づきECU1全体として最適な状態が判定され、アプリケーション層107、ミドルウェア層109、及びプラットフォーム層108の各層にて最適な処理が行なわれるように管理情報が再度作成されるなどする。以後、ステップS107からステップS112までの処理が繰り返し行なわれて、システムマネージャ110にてアプリケーション層107における実行状態が監視される。これにより例えば、アプリケーション層107における処理の状態が変化したときには、装置全体でその状態変化に対応して最適な処理が行なわれるようにすることが可能である。
次に、本実施の形態においてミドルウェア層109にて、アプリケーション層107及びプラットフォーム層108に応じて各機能が選択される処理について具体例を挙げて説明する。
図5は、アプリケーションプログラム17及びプラットフォームプログラム18の一の組み合わせに対応した制御プログラム1Pの構造の一例を概念的に示す説明図である。図5の説明図では、プラットフォームプログラム18が仕様Xに基づくものであり、プラットフォームインタフェース108aも仕様Xに準じた構成である。また、図5の説明図では、アプリケーションプログラム17,17,…のアプリケーション層107は仕様Yに準じて設計、作成されたものである。そして、仕様Xのプラットフォームインタフェース108aと仕様Yのアプリケーションプログラム17,17,…からの呼び出し方法等は対応しておらず、直接的には組み合わせられない。
しかしながら、本実施の形態における制御プログラム1Pのソフトウェア構造では、ミドルウェアプログラム19が共にリンクされることにより、リンクの際に、アプリケーションプログラム17,17,…の仕様Yに対応するアプリケーション層107側のインタフェース111、仕様Xに対応するプラットフォーム層108側のインタフェースが選択され、組み合わせが可能となる。そして、ミドルウェア層109にて仕様Xのプラットフォーム層108、仕様Yのアプリケーション層107に対応する入力系、出力系、及び管理系の機能モジュール112,112,…が適切に選択される。これにより、仕様Xと仕様Yとでは直接的に組み合わせることができない場合であっても、組み合わせが可能となる。したがって、プラットフォーム層108の仕様毎にアプリケーションプログラム17,17,…を作成し直す等の処理が必要なくなる。
図6は、アプリケーションプログラム17及びプラットフォームプログラム18の一の組み合わせに対応した制御プログラム1Pの構造の他の一例を概念的に示す説明図である。図6の説明図では、プラットフォームプログラム18が仕様Zに基づくものであり、プラットフォームインタフェース108aも仕様Zに準じた構成である。一方、アプリケーションプログラム17,17,…のアプリケーション層107は仕様Wに準じて設計、作成されたものである。この場合も仕様Zのプラットフォームインタフェース108aと仕様Wのアプリケーションプログラム17,17,…とは直接的に組み合わせられない。
図6に示す例では、アプリケーションプログラム17,17,…の仕様Wに対応するアプリケーション層107側のインタフェース111、仕様Zに対応するプラットフォーム層108側のインタフェースが選択され、組み合わせが可能となる。そして、仕様Wのアプリケーションプログラム17,17,…には、プラットフォーム層108から入力されるデータ(信号)を展開するアプリ、出力するデータ(信号)を作成するアプリが実装されており、ミドルウェア層109にて対応が不要である。この場合、図3のフローチャートにて示したように、ミドルウェアプログラム19から適宜機能モジュール112,112,…が選択されるので、インタフェース間のインタープリタのみの機能、管理系の機能が選択される。このように、組み合わせられるアプリケーションプログラム17,17,…及びプラットフォームプログラム18に応じて、機能も選択が可能であるため、種々の組み合わせが可能となり、プラットフォーム層108の仕様毎にアプリケーションプログラム17,17,…を作成し直す等の処理が必要なくなる。
図7は、アプリケーションプログラム17及びプラットフォームプログラム18の一の組み合わせに対応した制御プログラム1Pの構造の他の一例を概念的に示す説明図である。図7の説明図では、プラットフォームプログラム18が仕様Vに基づくものであり、プラットフォームインタフェース108aも仕様Vに準じた構成である。一方、アプリケーションプログラム17,17,…のアプリケーション層107は仕様Sに準じて設計、作成されたものである。この場合も仕様Vのプラットフォームインタフェース108aと仕様Sのアプリケーションプログラム17,17,…とは直接的に組み合わせられない。
図7に示す例では、アプリケーションプログラム17,17,…の仕様Sに対応するアプリケーション層107側のインタフェース111、仕様Vに対応するプラットフォーム層108側のインタフェースが選択され、組み合わせが可能となる。仕様Vのプラットフォームインタフェース108aと仕様Sのアプリケーションプログラム17,17,…との組み合わせでは、入力系の機能として入力データ(信号)を展開する機能、他のECUから受信したデータを解析する機能が不足しているので図3のフローチャートに示した処理によって機能モジュール112,112,…が選択されるとする。また、出力系の機能として、出力データ(信号)を更新する機能、他のECUへ送信するデータを作成する機能が不足しているので選択される。更に、通信部15における通信状態を監視する機能、断線を検知する機能も不足しているためにミドルウェアプログラム19からそれらに相当する機能モジュール112,112,…が選択されるとする。
更に図7に示す例では、図3のフローチャートに示した処理によって、入力データ展開機能は、例えばアプリケーション層107で実行される他のアプリとの関係から、アプリケーションプログラム17として実行されるべきと判断され、ミドルウェアプログラム19からそれらに相当する機能モジュール112,112,…が選択されてアプリケーション層107に配置される。図7に示す例では他に、出力データ更新機能、断線検知機能についてもアプリケーション層107に配置され、受信データ解析機能、送信データ作成機能及び通信状態監視機能が不足しているとして機能モジュール112,112,…が選択された上でプラットフォーム層108に配置されている。
このように、組み合わせられるアプリケーションプログラム17,17,…及びプラットフォームプログラム18に応じて、機能の選択も可能であり、更に夫々の構成に応じて配置も可能である。したがって種々の組み合わせにて、所望の機能実現が可能となり、プラットフォーム層108の仕様毎にアプリケーションプログラム17,17,…を作成し直す等の処理が必要なくなる。
このように、どのような仕様に基づき作成されたプラットフォームプログラム108に基づくプラットフォーム層108に対しても、種々のアプリケーションプログラム17,17,…に基づくアプリケーション層107の機能を組み合わせることができる。何れのプラットフォームプログラム108からも、プラットフォームインタフェース108aより上層は自身の仕様に対応するアプリケーション層として区別なく扱われ、何れのアプリケーションプログラム17,17,…からもミドルウェア層109以下の層は、自身の仕様に対応するプラットフォーム層108として区別なく扱われる。これにより、アプリケーションプログラム17,17,…を改変することなく種々のプラットフォームプログラム18と組み合わせて使用可能である。したがって、アプリケーションプログラム17,7,…及びプラットフォームプログラム18の再利用性が高まる。
ミドルウェアプログラム19にて、種々のアプリケーション層107、及びプラットフォーム層108の構成に対応可能なソフトウェア構造とすることにより、種々のアプリケーション層107及びプラットフォーム層108の組み合わせにてECU1の制御が可能となる。そして、従来のようなプラットフォーム層108側のインタフェースの違いのみ、又はアプリケーション層107側の呼び出し方法等の違いのみいずれか一方を吸収するためのみならず、両者のインタフェースに対応して夫々独立にインタフェースを選択可能な構成とすることにより、多様な組み合わせに対応させることが可能である。したがって、これまで仕様Xのプラットフォーム層108を利用する場合に、仕様X用のアプリケーションプログラム17,17,…を独立に作成する必要があるなどしたが、仕様X及び仕様Zのプラットフォーム層108に対し、同一の仕様のアプリケーションプログラム17,17,…を利用することができ、アプリケーションプログラム17,17,…及びプラットフォームプログラム18双方の再利用性が向上する。
複数のECUを用いて連携して多様な処理を行なわせる場合、いずれかのECUでは特定のハードウェア資源を用いることが必須となる場合がある。特定のハードウェア資源を用いるには、当該ハードウェア資源に特化したプラットフォームプログラム18を用いる必要がある。そのようなプラットフォームプログラム18に各別にアプリケーションプログラム17,17,…を改変する構成では、開発期間を短縮できない。これに対し、本実施の形態におけるソフトウェア構成であれば、ミドルウェアプログラム19の内容を、アプリケーション層107、プラットフォーム層108夫々の仕様に独立に対応させれば、一のミドルウェアプログラム19で、各ECUの種々の組み合わせに応じた処理を可能とすることができる汎用化を実現し、開発期間の短縮化のみならず、大規模開発においてもプログラム管理の煩雑性を解消することができるなど、優れた効果を奏する。
例えば、現状では各ベンダーが夫々独自にECU及びECUの構成部品を作成し、プラットフォームプログラム18も多様である。しかしながら、新規又は既存のプラットフォーム層108の標準化が進み、更にその後プラットフォームインタフェース108aが改変、追加される可能性がある。標準化が進んだ場合はアプリケーションプログラム17,17,…を対応させることが必須となる上、インタフェースが改変追加される都度に改変が必要となる。しかしながら、本実施の形態における制御プログラム1Pのソフトウェア構造によれば、アプリケーションプログラム17,17,…の改変は必要なく、ミドルウェアプログラム19を標準化プラットフォームに適応させてリンクをし直すのみでよく、更に他のプラットフォームにも依然として利用可能となる。
また、ミドルウェアプログラム19は複数の夫々分離可能な機能モジュールにて構成されているので、図7に示したように、機能モジュールを必要に応じてアプリケーション層107側で実行する、又はプラットフォーム層108側で実行するように機能を配置することが可能となる。これにより、種々のアプリケーション層107及びプラットフォーム層108の組み合わせによっては夫々不足する機能を補完するなどが可能である。即ち、種々の組み合わせに対応させることができ、アプリケーションプログラム17,17,…及びプラットフォームプログラム18の再利用性が向上する。
上述に示した実施の形態では、本発明は車両に搭載されるECUに適用される例を示した。しかしながら本発明はこれに限らず、ハードウェア資源の制御をアプリケーションプログラムに基づき制御するコンピュータ装置に適用することができる。
なお、上述のように開示された本実施の形態はすべての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
1 ECU
10 マイコン
11 CPU
12 ROM
17,17 アプリケーションプログラム
18 プラットフォームプログラム
19 ミドルウェアプログラム
20 システムマネージャプログラム
107 アプリケーション層
108 プラットフォーム層
109 ミドルウェア層
110 システムマネージャ

Claims (4)

  1. 一又は複数のアプリケーションの機能を各実現する一又は複数のアプリケーションプログラム、及び、前記一又は複数のアプリケーションの機能からの処理要求に対応して一又は複数のハードウェア資源の動作の制御に対応する一又は複数の機能を実現するプラットフォームプログラムを含むコンピュータプログラムを実行する制御部を備え、前記プラットフォームプログラムは、異なる複数のプログラムの内のいずれかに入れ替え可能にしてある制御装置において、
    前記一又は複数のアプリケーションプログラム夫々に対応し、各アプリケーションとデータの授受を行なうための前記複数のアプリケーション用インタフェース群、及び、前記異なる複数のプログラム夫々に対応させてあり、各プログラムに基づく各機能とデータの授受を行なうための複数のプラットフォーム用インタフェース群を記憶しておく記憶手段を備え、
    前記制御部は、
    前記一又は複数のアプリケーションの機能と、前記プラットフォームプログラムに基づく各機能との間のデータの授受を、夫々の機能に対応して行なう機能モジュールプログラム群を含むミドルウェアプログラムを実行するミドルウェア手段を備え、
    前記ミドルウェアプログラムが前記ミドルウェア手段により実行されることによって、前記制御部は、
    前記記憶手段における前記複数のアプリケーション用インタフェース群から、実行されるアプリケーションに対応するインタフェースを選択し、読み出して前記アプリケーションとのデータの授受を行なう手段、及び、
    前記記憶手段における複数のプラットフォーム用インタフェース群の内の前記プラットフォームプログラムに対応するプラットフォーム用インタフェースに基づき、プラットフォームプログラムに基づく機能とのデータの授受を行なう手段
    として機能するように構成されており
    前記制御部は更に、
    前記一又は複数のアプリケーション、プラットフォームプログラムに基づく機能及びミドルウェアプログラムに基づく機能のいずれからも独立した機能を実現させるシステムマネージャプログラムを実行するシステムマネージャ手段を備え、
    前記システムマネージャプログラムが前記システムマネージャ手段により実行されることによって、前記制御部は、
    動作すべき前記一又は複数のアプリケーション、前記プラットフォームプログラムに基づく各機能、及び前記ミドルウェアプログラムに基づく各機能を指示する手段、及び、
    前記一又は複数のアプリケーションの実行状態、前記プラットフォームプログラムに基づく各機能の実行状態、及び前記ミドルウェアプログラムに基づく各機能の実行状態を検出する手段
    して機能するように構成されており、
    前記システムマネージャプログラムにより実現される機能は、前記一又は複数のアプリケーション、プラットフォームプログラムに基づく機能及びミドルウェアプログラムに基づく機能と直接的にデータを授受するように構成されていることを特徴とする制御装置。
  2. 前記ミドルウェアプログラムが前記ミドルウェア手段により実行されることによって、前記制御部は、
    実行中のアプリケーションプログラムに対応する機能モジュールプログラムを選択して実行する
    ように構成されていることを特徴とする請求項1に記載の制御装置。
  3. 前記ミドルウェアプログラムが前記ミドルウェア手段により実行されることによって、前記制御部は更に、
    前記プラットフォームプログラムに基づく機能により授受される前記ハードウェア資源からのデータの内、前記一又は複数のアプリケーションへ渡すべきデータを選択する手段、及び、
    前記一又は複数のアプリケーションから授受されるデータの出力先を、前記プラットフォームプログラムに基づく各機能から選択する手段
    として機能するように構成されていることを特徴とする請求項1又は2に記載の制御装置。
  4. 前記ミドルウェアプログラムが前記ミドルウェア手段により実行されることによって、前記制御部は更に、
    実行させるべきアプリケーションを指示する情報、実行中の一又はアプリケーションの機能を識別する情報、又はアプリケーションの実行状態を示す状態情報を、前記アプリケーション又は前記プラットフォームプログラムに基づく各機能との間で授受する手段
    として機能するように構成されていることを特徴とする請求項1乃至3のいずれかに記載の制御装置。
JP2010137451A 2010-06-16 2010-06-16 制御装置 Expired - Fee Related JP5365584B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010137451A JP5365584B2 (ja) 2010-06-16 2010-06-16 制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010137451A JP5365584B2 (ja) 2010-06-16 2010-06-16 制御装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2008196519A Division JP4922262B2 (ja) 2008-07-30 2008-07-30 制御装置

Publications (2)

Publication Number Publication Date
JP2010231809A JP2010231809A (ja) 2010-10-14
JP5365584B2 true JP5365584B2 (ja) 2013-12-11

Family

ID=43047483

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010137451A Expired - Fee Related JP5365584B2 (ja) 2010-06-16 2010-06-16 制御装置

Country Status (1)

Country Link
JP (1) JP5365584B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102011012187A1 (de) * 2011-02-23 2012-08-23 Continental Automotive Gmbh Verfahren zum Konfigurieren einer Steuervorrichtung für ein Kraftfahrzeug, Computerprogramm und Steuervorrichtung
CN107005583B (zh) 2014-08-20 2020-09-08 汉阳大学校产学协力团 用于执行无线电应用的方法和终端设备
WO2016028086A1 (ko) * 2014-08-20 2016-02-25 한양대학교 산학협력단 라디오 어플리케이션을 실행하는 방법 및 단말 장치
CN112433758A (zh) * 2020-11-30 2021-03-02 芯讯通无线科技(上海)有限公司 平台功能的调用方法及系统、设备及存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1040080A (ja) * 1996-07-26 1998-02-13 Nec Corp オープンビジネス共通基盤装置
US7650607B2 (en) * 2001-06-22 2010-01-19 Invensys Systems, Inc. Supervisory process control and manufacturing information system application having a layered architecture
JP4515701B2 (ja) * 2002-12-13 2010-08-04 株式会社デンソー 車両用制御プログラム、及び、車両用制御装置
JP2005339029A (ja) * 2004-05-25 2005-12-08 Canon Inc プログラム連携システム
JP2006142994A (ja) * 2004-11-19 2006-06-08 Denso Corp 車両用ネットワークシステムおよび電子制御装置

Also Published As

Publication number Publication date
JP2010231809A (ja) 2010-10-14

Similar Documents

Publication Publication Date Title
JP4922262B2 (ja) 制御装置
JP4624448B2 (ja) 制御装置、制御システム及びコンピュータプログラム
JP5972303B2 (ja) 制御装置テストシステムのコンフィギュレーション設定の実行方法
CN108536121B (zh) 逻辑通道的建立方法、装置和交通工具通信接口vci
CN106209449A (zh) 一种绑定网卡的方法及装置
US20060069452A1 (en) Configuration of modules in automation systems
JP5365584B2 (ja) 制御装置
CN110291504B (zh) 用于机动车的控制器和相应的机动车
US20190056970A1 (en) Method for computer-aided coupling a processing module into a modular technical system and modular technical system
WO2007074905A1 (ja) ネットワーク機器システム
CN114637598A (zh) 车辆控制器及其操作系统的调度方法
US11500690B2 (en) Dynamic load balancing in network centric process control systems
WO2015045507A1 (ja) 車両用制御装置
US10445155B2 (en) Method for the communication between software components in a motor vehicle
JP5542760B2 (ja) 車載制御装置
JP2010033436A (ja) 制御装置、制御方法及びコンピュータプログラム
JP2010033437A (ja) 制御装置、制御方法及びコンピュータプログラム
US20230101026A1 (en) Method and Arrangement for Commissioning an Updated Application for an Industrial Automation Arrangement
KR20170059685A (ko) 오토사 기반의 차량 진단 통신 장치 및 그 방법
JP4934113B2 (ja) 制御装置及びコンピュータプログラム
JP2010231808A (ja) プログラム変更方法及びコンピュータプログラム
US11796975B2 (en) Network centric process control
Warschofsky Autosar software architecture
CN106445599A (zh) 应用程序的升级方法、升级装置和终端
JP2006236371A (ja) 制御システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110622

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130129

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130328

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130416

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130716

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20130726

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130826

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees