JP2000293403A - プログラム評価用装置 - Google Patents

プログラム評価用装置

Info

Publication number
JP2000293403A
JP2000293403A JP11103900A JP10390099A JP2000293403A JP 2000293403 A JP2000293403 A JP 2000293403A JP 11103900 A JP11103900 A JP 11103900A JP 10390099 A JP10390099 A JP 10390099A JP 2000293403 A JP2000293403 A JP 2000293403A
Authority
JP
Japan
Prior art keywords
program
hardware
application program
evaluation
output
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.)
Pending
Application number
JP11103900A
Other languages
English (en)
Inventor
Kiyonari Nakayama
聖也 中山
Hiroshi Shibata
浩 柴田
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.)
Denso Corp
Original Assignee
Denso 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 Denso Corp filed Critical Denso Corp
Priority to JP11103900A priority Critical patent/JP2000293403A/ja
Publication of JP2000293403A publication Critical patent/JP2000293403A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 【課題】 電子制御装置のハードウェアの開発を待たず
に、アプリケーションプログラムの実機評価を行う。 【解決手段】 アプリケーションプログラム12aは、
ターゲットECUハードウェア92上で実行させるため
にターゲットハードウェア制御プログラム91に対応し
て作成される。このアプリケーションプログラム12a
を仮想ECUハードウェア72上で実行させるために、
アプリケーションプログラム12aと評価用ハードウェ
ア制御プログラム71との「橋渡し」をする対応プログ
ラムをリンクする。この対応プログラムは、APIライ
ブラリ91aの処理と同様の処理をアプリケーションプ
ログラムに対して行う仮想APIライブラリ14a、及
びデバイスドライバ91cに代わるデバイスドライバ7
1cを起動するI/Oライブラリ15aを備える。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、制御対象に対する
所定の制御機能を電子制御装置に実現させるために、当
該電子制御装置に搭載されるアプリケーションプログラ
ムを評価する技術に関する。
【0002】
【従来の技術及び発明が解決しようとする課題】従来、
例えば自動車のエンジン等を制御するための電子制御装
置が知られている。このような車載用の電子制御装置
は、CPU、I/O等を中心として構成されるいわゆる
マイコン、メモリ装置、及び車両に搭載される外部機器
との間で信号の入出力を行うための周辺回路を備えるハ
ード構成となっているのが一般的である。外部機器と
は、例えばセンサやアクチュエータ等である。
【0003】そして、電子制御装置のマイコンが備える
CPUがメモリ装置に記憶された制御プログラムを実行
することによって、例えばセンサからの信号が周辺回路
を介して入力され、当該入力された信号に基づく所定の
演算処理が実行され、当該演算処理に基づく信号が再び
周辺回路を介して例えばアクチュエータに出力されて、
制御対象が制御される。
【0004】上述した制御プログラムを開発するにあた
って、通常、制御プログラムの実機評価が行われる。こ
れは、実機又は実機と同様の疑似信号を発生する信号発
生器(例えばエンジンベンチ)からの信号を入力し、制
御プログラムに基づく処理が適切であるか否かを評価す
るものである。例えば電子制御装置に信号発生器を接続
して疑似信号を入力し、それに対する電子制御装置の出
力信号をアクチュエータと等価な実負荷に結合したり、
オシロスコープなどの信号モニタリング装置を使ってそ
の出力信号の波形を見ることで制御プログラムの評価を
行うという具合である。
【0005】ところが、このような制御プログラムの実
機評価を行うためには、その制御プログラムが搭載され
る電子制御装置の開発を待つ必要があった。なぜなら、
制御プログラムは、ハードウェアに依存しており、別の
仕様の電子制御装置を用いて評価することができないか
らである。このように制御プログラムの実機評価は、電
子制御装置の開発完了を待って行う必要があったため、
開発スケジュールに支障を来す可能性があった。
【0006】この問題を解決する手法として、特開平6
−161987号公報に開示された技術が挙げられる。
この技術では、実機からの各信号が電子制御装置の周辺
回路を介してCPUの所定の端子にそれぞれ入力され、
また、CPUの所定の端子からの信号が周辺回路を介し
て実機への各信号としてそれぞれ出力される点に着目
し、実機からの各信号をスイッチ機構を用いてCPUの
所定の端子へ入力し、また、CPUの所定の端子からの
信号をスイッチ機構を用いて実機への各信号として出力
するようにしている。つまり、スイッチ機構を用いて電
子制御装置の備える周辺回路を擬似的に構成し、周辺回
路の完成を待つことなく、制御プログラムの実機評価を
可能とするものであった。
【0007】この技術によれば、入出力信号の増減など
に伴う周辺回路の拡張変更には十分対応できる。つま
り、周辺回路のみが改良されたような電子制御装置であ
れば、その電子制御装置の完成を待つことなく、制御プ
ログラムの実機評価が可能となる。
【0008】しかしながら、この技術では、CPUに関
しては開発中の電子制御装置の備えるものと同一である
ことを前提としている。そのため、新たにマイコン(C
PU)を開発する場合など、電子制御装置のマイコン自
体に変更が生じると、マイコンの端子配列等が変わり、
マイコンのハードウェアとソフトウェアとを結ぶインタ
ーフェースが変更されることになるため対応できない。
したがって、その場合には、結局、マイコンというハー
ドウェアの開発完了を待たなければ、制御プログラムの
実機評価ができない。
【0009】ところで、近年、上述したような制御プロ
グラムは、ハードウェアに依存しない上位階層のプログ
ラムであるアプリケーションプログラムと、ハードウェ
アに依存する下位階層のプログラムとから構成されるの
が一般的である。下位階層のプログラムとは、例えばス
ケジュール管理等を行う管理プログラム(OS)や、デ
バイスドライバ等の処理プログラムをいう。
【0010】このように下位階層のプログラムは、ハー
ドウェア制御のためのプログラムであって、実際にエン
ジン等の制御対象に対する処理が記述されるのは、上位
階層のアプリケーションプログラムである。したがっ
て、開発にあたって必要となる制御プログラムの実機評
価は、このような制御プログラムの構造を前提とすれ
ば、アプリケーションプログラムの実機評価を意味す
る。
【0011】そこで本発明は、電子制御装置のハードウ
ェアを用いることなく、アプリケーションプログラムの
実機評価を行うことを目的とする。
【0012】
【課題を解決するための手段及び発明の効果】請求項1
に記載のプログラム評価用装置は、上述した電子制御装
置(以下「ターゲットの電子制御装置」という。)に代
わってアプリケーションプログラムを実行し、当該アプ
リケーションプログラムを評価するためのものである。
【0013】最初にアプリケーションプログラムについ
て説明しておく。アプリケーションプログラムは、最終
的にはターゲットの電子制御装置に搭載されるものであ
る。アプリケーションプログラムがターゲットの電子制
御装置に搭載されると、その電子制御装置は、このアプ
リケーションプログラムを実行することによって外部機
器との間で信号の入出力を行い制御対象を制御すること
ができる。例えば車載用の電子制御装置であれば、セン
サからの信号を入力し、それに応じた演算結果に基づく
信号をアクチュエータに出力してエンジン等を制御する
という具合である。
【0014】このようにアプリケーションプログラムは
最終的にはターゲットの電子制御装置のハードウェアで
ある「ターゲットハードウェア」上で実行されるもので
あるから、アプリケーションプログラムは、ターゲット
ハードウェアを制御するための「ターゲットハードウェ
ア制御プログラム」に対応して作成される。なお、ター
ゲットハードウェア制御プログラムは、スケジュール管
理等を行う管理プログラム(OS)やデバイスドライバ
等の処理プログラムをいう。
【0015】本発明では、このアプリケーションプログ
ラムを本プログラム評価用装置のハードウェアである
「評価用ハードウェア」上で実行させて実機評価するこ
とを目的とし、本プログラム評価用装置が評価用ハード
ウェアを制御するための管理プログラム及び処理プログ
ラムである「評価用ハードウェア制御プログラム」を備
えていることを前提として、以下に示すような構成を採
用した。
【0016】その構成は、対応プログラム記憶手段とリ
ンク実行手段とを備えるものである。ここで、対応プロ
グラム記憶手段は対応プログラムを記憶しており、リン
ク実行手段は、アプリケーションプログラム、対応プロ
グラム、評価用ハードウェア制御プログラムをリンク
し、アプリケーションプログラムを実行する。
【0017】ここでいう対応プログラムとは、アプリケ
ーションプログラムと評価用ハードウェア制御プログラ
ムとを「橋渡し」するものである。以下、この対応プロ
グラムについて説明する。アプリケーションプログラム
を評価用ハードウェア上で実行させるためには、アプリ
ケーションプログラムと評価用ハードウェア制御プログ
ラムとがリンクできればよい。ところが、上述したよう
にアプリケーションプログラムはターゲットハードウェ
ア制御プログラムに対応して作成されるものであるた
め、アプリケーションプログラムと評価用ハードウェア
制御プログラムとを直接的にリンクさせることはできな
い。そのため、アプリケーションプログラムと評価用ハ
ードウェア制御プログラムとの間に対応プログラムを介
在させるのである。
【0018】つまり、対応プログラムは、アプリケーシ
ョンプログラムから起動されるプログラムであり、アプ
リケーションプログラムから起動されると評価用ハード
ウェア制御プログラムを起動するプログラムである。こ
れによって、アプリケーションプログラムが評価用ハー
ドウェア上にて実行可能となる。
【0019】そして、対応プログラムは、ターゲットハ
ードウェアにて実現される信号入出力及び演算処理と同
等の処理を評価用ハードウェアに実現させるものであ
る。例えばアプリケーションプログラムにおいて信号入
出力要求があった場合に、ターゲットハードウェアを介
してデータが入出力されるのと同様に、評価用ハードウ
ェアを介してデータを入出力させるという具合である。
もちろん、評価用ハードウェアを用いるため入出力デバ
イスやデータ形式については相違する可能性があるが、
ターゲットハードウェアを用いた場合と実質的に同等の
信号を評価用ハードウェアを介し入出力させるのであ
る。
【0020】したがって、リンク実行手段によってアプ
リケーションプログラム、対応プログラム及び評価用ハ
ードウェア制御プログラムがリンクされ、その後リンク
実行手段によってアプリケーションプログラムが実行さ
れると、上述したようなターゲットハードウェアにて実
現される処理と同等の処理が評価用ハードウェアにて実
現される。
【0021】これによって、評価用ハードウェアからの
出力を例えばアクチュエータと等価な実負荷に結合すれ
ば、アプリケーションプログラムの評価が可能となる。
そして、ターゲットの電子制御装置に合わせ対応プログ
ラムさえ作成すれば、本プログラム評価装置を用いて、
あらゆるアプリケーションプログラムの実機評価を行う
ことができる。結果として、電子制御装置のハードウェ
アの開発を待つことなく、アプリケーションプログラム
の実機評価を行うことができる。
【0022】なお、評価の方法としては、上述したよう
に評価用ハードウェアからの出力を、例えばアクチュエ
ータと等価な実負荷に結合する方法が一例として考えら
れるが、例えば請求項2に示すように、さらに、本プロ
グラム評価用装置が表示手段を備える構成とし、この表
示手段が、リンク実行手段によるアプリケーションプロ
グラムの実行によって出力される信号を表示するように
してもよい。表示手段としては、オシロスコープなどの
信号モニタリング装置を用いることが考えられる。ま
た、コンピュータシステムの備えるディスプレイ装置で
あってもよい。このような表示手段を用いれば、利用者
は、例えば表示される信号波形に基づいて、アプリケー
ションプログラムを評価することができる。
【0023】また、表示手段が、評価用ハードウェアか
ら出力される信号だけでなく、実機又は実機からの信号
と同様の疑似信号を発生する信号発生器から入力される
信号を出力信号と共に表示するように構成すれば、入力
信号と出力信号とを対比させることができるため、アプ
リケーションプログラムの評価を容易にすることができ
る。
【0024】ところで、上述した対応プログラムには具
体的に、例えば請求項3に示すような入出力ライブラリ
が含まれることが考えられる。すなわち、アプリケーシ
ョンプログラムの入出力要求によって起動され、当該入
出力要求に応じて評価用ハードウェア制御プログラム中
の入出力処理プログラムを起動する入出力ライブラリで
ある。
【0025】例えばアプリケーションプログラムがエン
ジン冷却水の「水温」を取得する際には「水温取得」関
数をコールして入力要求を行うことが考えられる。この
とき、アプリケーションプログラムがターゲットの電子
制御装置に搭載されていれば、例えば、ターゲットハー
ドウェア制御プログラム中の「水温取得」関数が起動さ
れ、ターゲットハードウェアのA/D変換器を介して水
温が入力される。
【0026】これに対して、本発明のプログラム評価用
装置では、入出力ライブラリが、このようなアプリケー
ションプログラムの「水温取得」関数のコールで起動さ
れ、例えば、上述したA/D変換器の代わりに評価用ハ
ードウェアの通信ポートから水温データの入力するため
に、評価用ハードウェア制御プログラム中の入出力処理
プログラムである通信ドライバを起動する。
【0027】上述した対応プログラムがこのような入出
力ライブラリを含む構成とすれば、この入出力ライブラ
リにより、アプリケーションプログラムに基づく信号入
出力を評価用ハードウェアを用いて実現することができ
る。なお、このような入出力ライブラリは、ターゲット
の電子制御装置に合わせ用意する必要がある。また、タ
ーゲットの電子制御装置の開発段階でターゲットハード
ウェアの仕様変更があれば、その仕様変更に合わせて変
更する必要がある。
【0028】そこで、請求項4に示すように、入出力ラ
イブラリによる評価用ハードウェア制御プログラムの起
動処理は、アプリケーションプログラムの入出力要求と
評価用ハードウェア制御プログラムの入出力処理プログ
ラムとを対応付けるマッピングテーブルに基づいて行わ
れるよう構成するとよい。
【0029】上述した例で言えば、マッピングテーブル
は、アプリケーションプログラムの入力要求「水温取
得」と、通信ドライバとを対応付ける。そして、入出力
ライブラリによる評価用ハードウェア制御プログラムの
起動処理が、このマッピングテーブルを参照して行われ
る。例えばアプリケーションプログラムの入力要求「水
温取得」に対し、対応する通信ドライバが起動され、評
価用ハードウェアの通信ポートを介して「水温」が入力
されるという具合である。
【0030】このようなマッピングテーブルを参照して
入出力ライブラリが起動処理を行うようにすれば、ター
ゲットの電子制御装置に合わせ入出力ライブラリ全体を
改めて作成し直したり、ターゲットの電子制御装置のハ
ードウェアの仕様変更に合わせ入出力ライブラリ全体を
手直ししたりすることなく、このマッピングテーブルを
作成/変更して対応することができる。したがって、利
用者にとっての利便を向上させることができる。
【0031】ところで、上述したターゲットハードウェ
ア制御プログラムは、API(アプリケーションプログ
ラムインターフェース)と呼ばれるインターフェースプ
ログラムを備えているのが一般的である。このAPI
は、アプリケーションプログラムからコールされる関数
群であるAPIライブラリとして用意される。そして、
通常、APIは、アプリケーションプログラムとのデー
タのやり取りにおいて所定のデータ変換を行い、それに
よってターゲットハードウェアで扱われるハードウェア
依存したデータをアプリケーションプログラムから隠蔽
する。なお、ハードウェア依存したデータとは、マイコ
ンのポート番号を有するデータや、マイコンに合わせた
ビット配列のデータをいう。
【0032】ターゲットハードウェア制御プログラムが
このようなAPIを備える場合、アプリケーションプロ
グラムは、このAPIの関数を用いて記述され、API
の仕様に合わせAPIとの間でデータのやり取りを行
う。したがって、このようなアプリケーションプログラ
ムを評価用ハードウェア制御プログラムにリンクする場
合には、ターゲットハードウェア制御プログラムのAP
Iに代わるインターフェースプログラムが必要になって
くる。
【0033】そこで、対応プログラムは、請求項5に示
すように、ターゲットハードウェア制御プログラムのA
PIがアプリケーションプログラムに対して行う処理と
同様の処理をアプリケーションプログラムに対して行う
APIを含むようにすることが考えられる。なお、ター
ゲットハードウェア制御プログラムのAPIを単に「A
PI」と記述し、本プログラム評価用装置の対応プログ
ラムに含まれるAPIを「仮想API」と記述して区別
する。
【0034】仮想APIは、APIの関数と同一名称の
関数を備え、アプリケーションプログラムとのデータの
受け渡しに関してAPIと同一の機能を有する。つま
り、仮想APIは、アプリケーションプログラムに対し
てAPIと全く同じ振る舞いをするのである。これによ
って、APIに対応して記述されたアプリケーションプ
ログラムの実機評価が可能となる。
【0035】
【発明の実施の形態】以下、本発明を具体化した一実施
形態を図面を参照して説明する。図1は、実施形態のプ
ログラム評価用装置1を中心に構成されたプログラム評
価用システムの概略構成を示す説明図である。
【0036】本実施形態のプログラム評価用システム
は、プログラム評価用装置1と、エンジンベンチ30と
を備えている。プログラム評価用装置1は、開発ホスト
10と、仮想ECU20とを備えている。開発ホスト1
0と仮想ECU20とは、汎用通信路42によって接続
されている。また、エンジンベンチ30は、信号線41
によって、プログラム評価用装置1の仮想ECU20と
接続されている。上述した開発ホスト10及び仮想EC
U20は、いわゆるコンピュータシステムとして構成さ
れている。
【0037】最初に開発ホスト10の構成を説明する。
図2に示すように、開発ホスト10は、プログラム管理
部11、アプリケーションプログラム格納部(以下「A
P格納部」という。)12、プログラムコンパイル部1
3、仮想APIライブラリ格納部14、入出力ライブラ
リ(以下「I/Oライブラリ」という。)格納部15、
プログラムリンク部16、実行モニタ部17、及び入出
力部18を備えている。
【0038】プログラム管理部11は、利用者の指示に
基づき、作成されたアプリケーションプログラムの管理
/編集を行う。この管理/編集の対象となるアプリケー
ションプログラムは、AP格納部12に格納されてお
り、プログラム識別番号にて管理されている。本実施形
態のプログラム評価用システムは、車載用のエンジン制
御用電子制御装置(エンジンECU)に搭載されるアプ
リケーションプログラムの評価を行うためのシステムで
ある。したがって、アプリケーションプログラムは、例
えばエンジンを制御対象として、エンジンに最適な燃料
噴射量を演算するためのものであることが考えられる。
このアプリケーションプログラムは、C言語、C++言
語などの高級言語で記述されている。
【0039】プログラムコンパイル部13は、ソースコ
ードで記述されたアプリケーションプログラムをコンパ
イルして、オブジェクトコードのアプリケーションプロ
グラムとする。仮想APIライブラリ格納部14には、
ターゲットハードウェア制御プログラムが有するAPI
ライブラリの関数名と同一の関数名の関数群からなる仮
想APIライブラリが格納されている。ターゲットハー
ドウェア制御プログラムとは、アプリケーションプログ
ラムが最終的に搭載される電子制御装置(以下「ターゲ
ットECU」という。)のハードウェアに依存したプロ
グラムであり、ターゲットECUのハードウェアを制御
するためのプログラムである。
【0040】また、I/Oライブラリ格納部15には、
アプリケーションプログラムに基づいて仮想ECU20
のハードウェアを制御するためのI/Oライブラリが格
納されている。I/Oライブラリは、後述するように、
仮想APIライブラリの関数名と、仮想ECU20のハ
ードウェアを制御するためのデバイスドライバを対応付
けるマッピングテーブルを有している。
【0041】なお、上述した仮想APIライブラリ格納
部14及びI/Oライブラリ格納部15に格納された仮
想APIライブラリ及びI/Oライブラリは、各ターゲ
ットECUに合わせて用意される。プログラムリンク部
16は、プログラムコンパイル部13にてコンパイルさ
れオブジェクトコードとなったアプリケーションプログ
ラムと、上述した仮想APIライブラリ及びI/Oライ
ブラリとをリンクする。そして、仮想ECU20へ汎用
通信路42を介し、そのリンクしたプログラムをダウン
ロードする。
【0042】実行モニタ部17は、ディスプレイ装置を
用いて構成されており、エンジンベンチ30の動作状態
(エンジンベンチ30からの出力信号の波形)、及びア
プリケーションプログラムの実行により出力される信号
の波形を表示する。入出力部18は、キーボードなどの
入力手段及び実行モニタ部17に入力される信号をさら
に外部機器へ出力するための出力手段を備えている。
【0043】次に、仮想ECU20の構成を説明する。
図2に示すように、仮想ECU20は、リアルタイムオ
ペレーティングシステム(以下「RTOS」という。)
格納部21、デバイスドライバ格納部22、RTOSリ
ンク部23、実行モジュール格納部24、及びプログラ
ム実行部25を備えている。
【0044】RTOS格納部21には、アプリケーショ
ンプログラムのスケジュールを管理するRTOSが格納
されている。デバイスドライバ格納部22には、仮想E
CU20のハードウェアの各デバイスを駆動制御するた
めのデバイスドライバが格納されている。
【0045】RTOSリンク部23は、開発ホスト10
からダウンロードされたプログラムに、RTOS格納部
21に格納されたRTOS及びデバイスドライバ格納部
22に格納されたデバイスドライバをリンクする。RT
OSリンク部23によってRTOS及びデバイスドライ
バがリンクされると、アプリケーションプログラムは、
仮想ECU20上で実行可能な実行モジュールとなる。
この実行モジュールは、プログラム実行部25を介して
実行モジュール格納部24に一旦格納される。そして、
開発ホスト10からの実行開始指示があると、プログラ
ム実行部25が、実行モジュール格納部24に格納され
た実行モジュールを読み出し実行する。
【0046】次に、エンジンベンチ30について説明す
る。エンジンベンチ30は、信号入出力部31を備えて
いる。信号入出力部31からは、開発ホスト10からの
実行開始指示があると、実機からの信号と同様の疑似信
号が出力される。なお、エンジンベンチは、当業者にと
ってよく知られたものであるため詳しい説明は省略す
る。
【0047】次に、本実施形態のプログラム評価用シス
テムの動作を図2及び図3に基づいて説明する。図3
は、開発ホスト10、仮想ECU20及びエンジンベン
チ30における処理及び各装置間でのデータのやり取り
を示す概略チャートである。図3中の上下方向の縦線は
各装置を示している。各装置の処理は、各装置を示す縦
線上に長方形の枠で囲って示した。また、縦線の間の矢
印が各装置間でのデータのやり取りを示している。
【0048】まずステップS100において、開発ホス
ト10においてターゲットECUが選択される。この処
理は、評価対象のアプリケーションプログラムのターゲ
ットECUを利用者が選択するものである。例えば利用
者は、開発ホスト10の入出力部18を介してターゲッ
トECUを選択するという具合である。この選択操作
は、GUIメニューからマウス等のポインティングデバ
イスを使用して行うことが考えられる。その結果、開発
ホスト10のプログラム管理部11は、評価対象のアプ
リケーションプログラムをAP格納部12から読み出す
と共に、ターゲットECUに対応する仮想APIライブ
ラリ及びI/Oライブラリを、仮想APIライブラリ格
納部14及びI/Oライブラリ格納部15に格納された
ライブラリの中から選択指示する。
【0049】続くS110では、アプリケーションプロ
グラムのコンパイルを行う。この処理は、開発ホスト1
0のプログラムコンパイル部13が、プログラム管理部
11が読み出したアプリケーションプログラムをコンパ
イルしてオブジェクトコードに変換するものである。
【0050】そして、次のS120では、ライブラリを
リンクする。この処理は、開発ホスト10のプログラム
リンク部16が、仮想APIライブラリ格納部14及び
I/Oライブラリ格納部15からプログラム管理部11
によって選択指示されたライブラリをそれぞれ読み出
し、読み出したライブラリとS110にてプログラムコ
ンパイル部13によりコンパイルされたアプリケーショ
ンプログラムとをリンクするものである。
【0051】このS120にてライブラリがアプリケー
ションプログラムにリンクされると、そのリンクされた
プログラムは、プログラムリンク部16によって、図3
に示すように仮想ECU20へダウンロードされる。次
にS130では、RTOS及びデバイスドライバをリン
クする。ここでは、仮想ECU20のRTOSリンク部
23が、RTOS格納部21及びデバイスドライバ格納
部22からRTOS及びデバイスドライバをそれぞれ読
み出し、開発ホスト10からダウンロードされたプログ
ラムにリンクする。
【0052】S130にてリンクされたプログラムは、
仮想ECU20の実行モジュール格納部24に格納され
る。その後、開発ホスト10は、図3に示すように、仮
想ECU20に対して実行開始指示を行い、続けて、エ
ンジンベンチ30に対して実行開始指示を行う。
【0053】すると、図3中のS140に示すように、
仮想ECU20において、アプリケーションプログラム
が実行される。ここでは、仮想ECU20のプログラム
実行部25が、実行モジュール格納部24から実行モジ
ュールを読み出し実行する。また、エンジンベンチ30
も動作を開始し、信号入出力部31からは実機からの信
号と同様の疑似信号が出力され、信号線41を介して仮
想ECU20のプログラム実行部25に送信される。
【0054】仮想ECU20のプログラム実行部25
は、アプリケーションプログラムを実行することによっ
て、エンジンベンチ30の信号入出力部31からの信号
に基づく演算処理を行う。演算処理に基づき出力される
信号は、汎用通信路42を介して実行モニタ部17へ送
信されると共に、信号線41を介してエンジンベンチ3
0の信号入出力部31へ送信される。エンジンベンチ3
0では、信号入出力部31へ送信された仮想ECU20
からの出力信号に基づき、対応する疑似信号を信号入出
力部31からさらに出力する。
【0055】また、エンジンベンチ30の動作状態、す
なわち信号入出力部31から出力される信号は、仮想E
CU20のプログラム実行部25を介し、開発ホスト1
0の実行モニタ部17へ出力される。開発ホストの実行
モニタ部17は、図3中のS150において、アプリケ
ーションプログラムの実行によってプログラム実行部2
5から出力される信号の波形、及びエンジンベンチ30
の信号入出力部31から出力される信号の波形をディス
プレイ装置に表示する。
【0056】ここで上述したS100〜S130までの
処理によって生成される実行モジュールについて図4に
基づいて説明する。なお、上述したようにS100〜S
130までの処理にて生成される実行モジュールは、仮
想ECU20のプログラム実行部25にて実行されるの
であるが(S140)、本実施形態のプログラム評価用
装置1は、ターゲットECUに対応するアプリケーショ
ンプログラムを如何にして仮想ECU20にて実行させ
るかを工夫した点を特徴とするものである。
【0057】そこで、ここでは、ターゲットECUに搭
載される実行モジュールと、本プログラム評価用装置1
の仮想ECU20に搭載される実行モジュールとを対比
して、ターゲットECUに対応するアプリケーションプ
ログラムが、仮想ECU20にて実行できることを説明
する。
【0058】図4(a)は、ターゲットECUのハード
ウェアである「ターゲットハードウェア」としてのター
ゲットECUハードウェア92と、このターゲットEC
Uハードウェア92上で実行される実行モジュールとを
示す説明図である。この実行モジュールは、アプリケー
ションプログラム12aと、「ターゲットハードウェア
制御プログラム」としてのターゲットハードウェア制御
プログラム91とがリンクされたものである。
【0059】一方、図4(b)は、仮想ECU20のハ
ードウェアである「評価用ハードウェア」としての仮想
ECUハードウェア72と、この仮想ECUハードウェ
ア72上で実行される実行モジュールとを示す説明図で
ある。この実行モジュールが、図3を用いて上述したS
100〜S130の処理にて生成されるものである。こ
の実行モジュールは、ターゲットECUに対応して作成
されたアプリケーションプログラム12aと、図3中の
S120において開発ホストのプログラムリンク部16
によりリンクされる仮想APIライブラリ14a及びI
/Oライブラリ15aと、図3中のS130において仮
想ECU20のRTOSリンク部23によりリンクされ
る「評価用ハードウェア制御プログラム」としての評価
用ハードウェア制御プログラム71とから構成される。
なお、図4中に波線で囲んだ仮想APIライブラリ14
a及びI/Oライブラリ15aが「対応プログラム」に
相当する。
【0060】評価用ハードウェア制御プログラム71
は、仮想ECUハードウェア72に依存したプログラム
であり、仮想ECUハードウェア72を制御するための
プログラムである。評価用ハードウェア制御プログラム
71は、RTOS71b及びデバイスドライバ71cと
を備えている。
【0061】ところで、図4(a)に示したように、ア
プリケーションプログラム12aは、ターゲットハード
ウェア制御プログラム91に対応して作成され、ターゲ
ットハードウェア制御プログラム91にリンクされるも
のである。具体的には、図4(a)に示したターゲット
ハードウェア制御プログラム91のAPIライブラリ9
1aの関数を用いて記述される。したがって、アプリケ
ーションプログラム12aを、評価用ハードウェア制御
プログラム71に直接リンクすることはできない。な
お、APIライブラリ91は、アプリケーションプログ
ラム12aからコールされる関数群である。
【0062】そこで、本実施形態のプログラム評価用装
置1では、アプリケーションプログラム12aと評価用
ハードウェア制御プログラム71との「橋渡し」とし
て、仮想APIライブラリ14a及びI/Oライブラリ
15aをリンクする。この仮想APIライブラリ14a
及びI/Oライブラリ15aについて説明する。
【0063】図4(b)に示す仮想APIライブラリ1
4aは、図4(a)中のAPIライブラリ91aに代わ
るものであり、APIライブラリ91aの関数名と同一
の関数名を持つ関数群のプログラムである。例えば、A
PIライブラリ91aが「水温取得」という名称の関数
を備えている場合、仮想APIライブラリ14aも同一
名称の「水温取得」という関数を備えているという具合
である。
【0064】アプリケーションプログラム12aに基づ
く処理では、水温を取得する際、この「水温取得」関数
をコールする。すると、図4(a)中のAPIライブラ
リ91aの「水温取得」関数における処理では、所定の
デバイスドライバ91cを起動する。その結果、このデ
バイスドライバ91cによってターゲットECUハード
ウェア92の周辺回路が駆動制御されて水温データが取
得される。
【0065】一方、図4(b)中の仮想APIライブラ
リ14aの「水温取得」関数における処理では、I/O
ライブラリ15aがコールされる。I/Oライブラリ1
5aは、仮想APIライブラリ14aの関数名、すなわ
ちアプリケーションプログラム12aに記述される関数
名と、評価用ハードウェア制御プログラム71の有する
デバイスドライバ71cとを対応付けるマッピングテー
ブルを備えている。そして、I/Oライブラリ15aに
基づく処理では、このマッピングテーブルに従い、上述
したデバイスドライバ91cに代わるデバイスドライバ
71cを起動する。その結果、デバイスドライバ71c
によって仮想ECUハードウェア72の周辺回路が駆動
制御されて水温データが取得される。
【0066】ここでマッピングテーブルについて図5を
用いて説明する。図5は、4気筒エンジンECUに対応
するI/Oライブラリ15aの備えるマッピングテーブ
ルを示す説明図である。図5に示すように、マッピング
テーブルには、仮想APIライブラリ14aの関数名
(図中の「仮想API」の欄)、アプリケーションプロ
グラム12aがターゲットECUに搭載されて実行され
た場合に信号入出力を行うターゲットECUのデバイス
(図中の「ターゲットデバイス」の欄)、仮想ECU2
0におけるデバイスドライバ71c(図中の「仮想EC
Uデバイスドライバ」の欄)、及びリフレッシュレート
が対応して記述されている。
【0067】APIライブラリ91aの「水温取得」関
数の処理では、テーブルの2列目のターゲットデバイス
の欄に示したようにターゲットECUハードウェア92
のA/D変換器を介して水温データを取得するのである
が、仮想APIライブラリ14aの「水温取得」関数に
対しては、このA/D変換器に代えて、テーブルの3列
目の仮想ECUデバイスドライバの欄に示すように、多
重通信ドライバが対応付けられている。したがって、仮
想APIライブラリ14aの「水温取得」関数からI/
Oライブラリ15aがコールされると、このマッピング
テーブルに基づいて、多重通信ドライバが起動され、多
重通信ドライバによって多重通信ポートが駆動制御され
て水温が取得されるという具合である。
【0068】同様に、図5に示すように、仮想APIラ
イブラリ14aの「吸気温取得」関数には、A/D変換
器に代えて多重通信ドライバが対応付けられており、
「A/Cスイッチ値取得」関数には、汎用ポートに代え
てDPM(Dual Port Memory)ドライバが対応付けられ
ており、「点火時間出力」及び「噴射時間出力」関数に
は、OCR(Output Compare Resister )付ポートに代
えてDPM出力ドライバが対応付けられており、「車速
取得」関数には、パルス入力に代えてDMA(Direct M
emory Access)が対応付けられており、「噴射時間出力
1」及び「噴射時間出力2」関数には、パルス入力に代
えてDPM出力ドライバが対応付けられている。
【0069】また、リフレッシュレートは、ターゲット
ECUハードウェア92と仮想ECUハードウェア72
とで各信号を取得するデバイスが変わるため、各信号の
更新タイミングが分かるように設けられている。例えば
多重通信ポートに送信される水温データは4ms毎に更
新されることを示している。マッピングテーブルにリフ
レッシュレートを特に記述せず、仮想ECUハードウェ
ア72がターゲットECUハードウェア92のデバイス
と同様のタイミングで信号入力を行うように構成しても
よいが、その場合には、仮想ECUハードウェア72の
構成が複雑になることが考えられる。したがって、この
ようにマッピングテーブルにリフレッシュレートを記述
しておき、各信号の更新タイミングをソフトウェアで管
理すれば、仮想ECUハードウェア72の構成が簡単に
なるという点で有利である。
【0070】なお、マッピングテーブルは、仮想API
ライブラリ14aの関数名と、評価用ハードウェア制御
プログラム71のデバイスドライバ71cを対応付ける
ものであればよく、ターゲットデバイスの記述は必須で
はない。ただし、ターゲットデバイスを記述しておくこ
とによって、利用者にとってターゲットECUのデバイ
スと仮想ECU20のデバイスとの対応関係の把握が容
易になり、このマッピングテーブルの編集を行う際、利
用者の編集作業が容易になる。
【0071】ここで再び仮想APIライブラリ14aの
機能説明に戻る。図4(b)に示す仮想APIライブラ
リ14aは、アプリケーションプログラム12aに対
し、図4(a)に示すAPIライブラリ91aと同様に
振る舞う。例えば、図4(a)中のAPIライブラリ9
1aの「水温取得」関数における処理では、取得した水
温データが例えばターゲットECUハードウェア92に
依存する形式のデータであった場合、アプリケーション
プログラム12aで使用される形式のデータに変換す
る。
【0072】同様に、図4(b)中の仮想APIライブ
ラリ14aの「水温取得」関数における処理において
も、取得した水温データが仮想ECUハードウェア72
に依存する形式のデータであった場合、水温データは、
アプリケーションプログラム12aで使用される形式の
データに変換されアプリケーションプログラム12aへ
引き渡される。
【0073】また例えば、アプリケーションプログラム
12aは、APIライブラリ91aを介してRTOS9
1bとの間でデータのやり取りを行うのであるが、図4
(b)に示した仮想APIライブラリ14aは、RTO
S71bとアプリケーションプログラム12aとの間の
データのやり取りを実現し、アプリケーションプログラ
ム12aに対し、アプリケーションプログラム12aが
APIライブラリ91aを介してRTOS91bとデー
タをやり取りする場合と何等変わらないように振る舞
う。以上詳述したような、アプリケーションプログラム
12aに対するAPIライブラリ91aの処理と同様の
処理をアプリケーションプログラムに対して行う仮想A
PIライブラリ14a、及び、デバイスドライバ91c
に代わるデバイスドライバ71cを起動するI/Oライ
ブラリ15aをリンクすれば、仮想ECU20のプログ
ラム実行部25によって仮想ECU20上でアプリケー
ションプログラム12aを実行することができ、ターゲ
ットECUハードウェア92と同等の信号入出力及び演
算処理を仮想ECUハードウェア72に実現させること
ができる。
【0074】そして、図2及び図3を用いて上述したよ
うに、仮想ECU20のプログラム実行部25によるア
プリケーションプログラム実行により出力される信号及
びエンジンベンチ30の信号出力部31から出力される
信号が、開発ホスト10の実行モニタ部17でモニタさ
れる。
【0075】これによって、本実施形態のプログラム評
価システムによれば、ターゲットECUの開発完了、す
なわち、図4(a)に示したターゲットECUハードウ
ェア92の開発完了を待たずに、アプリケーションプロ
グラムの実機評価を行うことができる。
【0076】また、図4(b)に示した仮想APIライ
ブラリ14a及びI/Oライブラリ15aは、図2に示
した開発ホスト10の仮想APIライブラリ格納部14
及びI/Oライブラリ格納部15にターゲットECUの
種類に対応させて用意されている。そして、利用者が入
出力部18を介してターゲットECUを指示することに
より(図3中のS100)、そのターゲットECUに対
応する仮想APIライブラリ14a及びI/Oライブラ
リ15aがリンクされる(S120)。したがって、本
実施形態のプログラム評価用装置1では、あらゆるター
ゲットECUに搭載されるアプリケーションプログラム
の実機評価が可能である。
【0077】さらにまた、I/Oライブラリ15aは、
図5に示したようなマッピングテーブルに従い、評価用
ハードウェア制御プログラム71のデバイスドライバ7
1cを起動する。したがって、複数台のターゲットEC
Uにそれぞれ対応するI/Oライブラリ15aを用意す
る場合に、このマッピングテーブルを変更することで対
応できる。
【0078】例えば図5に示したマッピングテーブル
は、4気筒のエンジンを制御するエンジンECUに対応
するものであったが、6気筒のエンジンを制御するエン
ジンECUに対しては、対応する仮想APIライブラリ
の関数に「噴射時間出力3」及び「噴射時間出力4」の
関数があるため、図6に示すように、斜線を施した対応
関係を図5のマッピングテーブルに追加すればよい。ま
た、4気筒のエンジンを制御するエンジンECUであっ
て、酸素センサからの信号を入力するものであれば、対
応する仮想APIライブラリの関数には「酸素センサ入
力」及び「サブ酸素センサ入力」の関数が存在するた
め、図7に示すように、斜線を施した対応関係を図5に
示したマッピングテーブルに追加すればよい。
【0079】このように、本実施形態では、I/Oライ
ブラリがマッピングテーブルを用いてデバイスドライバ
を特定するようにしたため、入出力される信号数が増減
した場合であっても、入出力ライブラリ全体を手直しす
ることなくマッピングテーブルを変更して対応すること
ができる。
【0080】なお、図2に示した開発ホスト10の仮想
APIライブラリ格納部14及びI/Oライブラリ格納
部15が「対応プログラム記憶手段」に相当し、開発ホ
スト10のプログラムリンク部16、仮想ECU20の
RTOSリンク部23及びプログラム実行手段25が
「リンク実行手段」に相当する。そして、図3中のS1
20、S130、S140の処理が、リンク実行手段と
しての処理に相当する。
【0081】以上、本発明はこのような実施形態に何等
限定されるものではなく、本発明の主旨を逸脱しない範
囲において種々なる形態で実施し得る。上記実施形態で
は、ターゲットECUが1個のCPUを備えることを前
提としてプログラム評価用システムの説明をしたが、複
数個のCPUを備えるターゲットECUの場合であって
も、I/Oライブラリを変更することによって対応可能
である。
【0082】例えば変速制御中にエンジン出力を低減す
るという制御を行う場合、2個のCPUを備えるECU
において、一方のCPUで実行されるプログラムにて変
速制御中であるか否かを判断し、他方のCPUで実行さ
れるプログラムにて、その判断結果に基づくエンジン出
力の低減を行う場合がある。このとき、例えばエンジン
出力の低減処理を行うプログラムの評価を行う場合に
は、変速制御中であるか否かを判断するCPUからの信
号をI/Oライブラリを用い仮想ECU20の周辺回路
から疑似信号として取得するようにすればよい。
【0083】このようにすれば、たとえ複数個のCPU
を備えるターゲットECUに搭載されるアプリケーショ
ンプログラムであっても、その評価が可能となる。ま
た、上記実施形態では、開発ホスト10が実行モニタ部
17を備えており、実行モニタ部17の備えるディスプ
レイ装置に応答信号及び入力信号の波形を表示すること
でアプリケーションプログラムを評価していたが、開発
ホスト10が実行モニタ部17を備えない構成とし、応
答信号を開発ホスト10の外部の実負荷に結合して、ア
プリケーションプログラムを評価することも考えられ
る。
【図面の簡単な説明】
【図1】実施形態のプログラム評価用システムの概略構
成を示す説明図である。
【図2】実施形態のプログラム評価用システムの各装置
の構成を示すブロック図である。
【図3】実施形態のプログラム評価用システムの動作を
示す概略チャートである。
【図4】アプリケーションプログラムがリンクされた実
行モジュールを示す説明図である。
【図5】I/Oライブラリの有するマッピングテーブル
の一例を示す説明図である。
【図6】ターゲットECUの変更によるマッピングテー
ブルの変更を示す説明図である。
【図7】ターゲットECUの変更によるマッピングテー
ブルの変更を示す説明図である。
【符号の説明】
1…プログラム評価用装置 10…開発ホスト 11…プログラ
ム管理部 12…AP格納部 12a…アプリ
ケーションプログラム 13…プログラムコンパイル部 14…仮想AP
Iライブラリ格納部 14a…仮想APIライブラリ 15…I/Oラ
イブラリ格納部 15a…I/Oライブラリ 16…プログラ
ムリンク部 17…実行モニタ部 18…入出力部 20…仮想ECU 21…RTOS
格納部 22…デバイスドライバ格納部 23…RTOS
リンク部 24…実行モジュール格納部 25…プログラ
ム実行部 30…エンジンベンチ 31…信号入出
力部 41…信号線 42…汎用通信
路 71…評価用ハードウェア制御プログラム 71b…RTOS 71c…デバイ
スドライバ 72…仮想ECUハードウェア 91…ターゲットハードウェア制御プログラム 91a…APIライブラリ 91b…RTO
S 91c…デバイスドライバ 92…ターゲッ
トECUハードウェア

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】アプリケーションプログラムを実行するこ
    とによって信号入出力及び演算処理を行い制御対象を制
    御する電子制御装置に代わって、前記アプリケーション
    プログラムを実行し、当該アプリケーションプログラム
    を評価するためのプログラム評価用装置であって、 前記アプリケーションプログラムは、前記電子制御装置
    のハードウェアであるターゲットハードウェアを制御す
    るためのターゲットハードウェア制御プログラムに対応
    して作成されており、 前記プログラム評価用装置は、当該プログラム評価用装
    置のハードウェアである評価用ハードウェアを制御する
    ための評価用ハードウェア制御プログラムを備えている
    ことを前提として、 前記ターゲットハードウェアにて実現される信号入出力
    及び演算処理と同等の処理を前記評価用ハードウェアに
    実現させるためのプログラムであって、前記アプリケー
    ションプログラムから起動され、前記評価用ハードウェ
    ア制御プログラムを起動する対応プログラムを記憶した
    対応プログラム記憶手段と、 前記アプリケーションプログラム、前記対応プログラム
    記憶手段に記憶された対応プログラム、及び前記評価用
    ハードウェア制御プログラムをリンクし、前記アプリケ
    ーションプログラムを実行するリンク実行手段とを備え
    ていることを特徴とするプログラム評価用装置。
  2. 【請求項2】請求項1に記載のプログラム評価用装置に
    おいて、 さらに、前記リンク実行手段による前記アプリケーショ
    ンプログラムの実行による前記出力信号を少なくとも表
    示する表示手段を備えていることを特徴とするプログラ
    ム評価用装置。
  3. 【請求項3】請求項1又は2に記載のプログラム評価用
    装置において、 前記対応プログラムには、前記アプリケーションプログ
    ラムの入出力要求によって起動され、当該入出力要求に
    応じて前記評価用ハードウェア制御プログラム中の入出
    力処理プログラムを起動する入出力ライブラリが含まれ
    ることを特徴とするプログラム評価用装置。
  4. 【請求項4】請求項3に記載のプログラム評価用装置に
    おいて、 前記入出力ライブラリによる前記評価用ハードウェア制
    御プログラムの起動処理は、前記アプリケーションプロ
    グラムの入出力要求と前記評価用ハードウェア制御プロ
    グラムの入出力処理プログラムとを対応付けるマッピン
    グテーブルに基づいて行われるよう構成されていること
    を特徴とするプログラム評価用装置。
  5. 【請求項5】請求項1〜4のいずれかに記載のプログラ
    ム評価用装置において、 前記対応プログラムには、前記電子制御装置のハードウ
    ェア制御プログラムのAPIが前記アプリケーションプ
    ログラムに対して行う処理と同様の処理を前記アプリケ
    ーションプログラムに対して行うAPIが含まれること
    を特徴とするプログラム評価用装置。
JP11103900A 1999-04-12 1999-04-12 プログラム評価用装置 Pending JP2000293403A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11103900A JP2000293403A (ja) 1999-04-12 1999-04-12 プログラム評価用装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11103900A JP2000293403A (ja) 1999-04-12 1999-04-12 プログラム評価用装置

Publications (1)

Publication Number Publication Date
JP2000293403A true JP2000293403A (ja) 2000-10-20

Family

ID=14366309

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11103900A Pending JP2000293403A (ja) 1999-04-12 1999-04-12 プログラム評価用装置

Country Status (1)

Country Link
JP (1) JP2000293403A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008171236A (ja) * 2007-01-12 2008-07-24 Yokogawa Electric Corp プログラム作成装置
KR101509707B1 (ko) 2013-08-26 2015-04-07 현대자동차 주식회사 차량 제어 시스템 및 가상 ecu 개발 방법
JP2015210814A (ja) * 2014-04-29 2015-11-24 株式会社日立製作所 被制御システムの制御ソフトウェアをテストする方法およびシステム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008171236A (ja) * 2007-01-12 2008-07-24 Yokogawa Electric Corp プログラム作成装置
KR101509707B1 (ko) 2013-08-26 2015-04-07 현대자동차 주식회사 차량 제어 시스템 및 가상 ecu 개발 방법
JP2015210814A (ja) * 2014-04-29 2015-11-24 株式会社日立製作所 被制御システムの制御ソフトウェアをテストする方法およびシステム

Similar Documents

Publication Publication Date Title
GB2232514A (en) Programmable controller
US7681183B2 (en) Method, system, and program product for checking control model and/or control program
JP3024422B2 (ja) プログラマブルコントローラおよびプログラマブルコントローラの運転方法
JP4906286B2 (ja) ソフトウェア開発環境システム
KR20050020693A (ko) 프로그램 처리 장치
US20050223296A1 (en) Microcomputer capable of monitoring internal memory
JP2000293403A (ja) プログラム評価用装置
CN111052010B (zh) 控制系统、开发辅助装置和存储介质
US20070150861A1 (en) Method and system for software design that combines signal flow and object reference connections
US6125456A (en) Microcomputer with self-diagnostic unit
JP2003167756A (ja) マイコンのロジック開発装置
JP2008262318A (ja) ソフトウェア評価装置及びその信号モニタ方法
JP3085730B2 (ja) 複合cpuシステムの並列シミュレーション方式
JP2983232B2 (ja) 自律分散型エンジン制御装置
JP2701554B2 (ja) プリント基板自動配線装置
JP3000607B2 (ja) バス制御装置
JP3394834B2 (ja) マルチプロセッサシステムを構成する装置のデバッグ方式
JPH1083273A (ja) マルチウインドウ制御装置
JP2000250612A (ja) プログラマブルコントローラ
JPH1153219A (ja) ソフトウェア検証装置
JPH09282199A (ja) シミュレーションシステム
JPS6020771B2 (ja) マイクロ診断方式
JPH06223046A (ja) バストレース実行方法
JPH0357059A (ja) データ通信端末装置の機能拡張方式
JPH11202930A (ja) プラント監視制御装置及びプラント監視制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050818

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080423

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080507

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080707

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080826