(57)【要約】【課題】  携帯電話等の組み込み機器内部の不揮発メモリに格納されているソフトウェアに不具合が発生した場合に、修正版を通信路経由あるいは外部記憶装置経由で転送し、不具合を修正するソフトウェア更新に係り、書換え量を削減し、不揮発メモリ利用の最適化を図ることを課題とする。【解決手段】  メモリ配置決定部２５は、ソフトウェアモジュールごとの不具合発生の可能性を示すソフトウェア信頼性評価関数値に従って、ソフトウェアモジュールのメモリ上での配置を決定し、メモリイメージ生成部２６は、その配置に従って、各ソフトウェアモジュールを組み込み機器のメモリに展開したときのソフトウェアメモリイメージを生成する。これを組み込み機器に転送し、適用させる。【選択図】        図２
2006059217.tif 000002
【特許請求の範囲】
【請求項１】
複数ソフトウェアモジュールを組み込み機器のメモリに展開したイメージであるソフトウェアメモリイメージを生成するソフトウェアメモリイメージ生成装置であって、以下の要素を有することを特徴とするソフトウェアメモリイメージ生成装置
（１）ソフトウェアモジュールごとの不具合発生の可能性を示すソフトウェア信頼性評価関数値に従って、ソフトウェアモジュールのメモリ上での配置を決定するメモリ配置決定部
（２）決定された配置に従って、各ソフトウェアモジュールを組み込み機器のメモリに展開したイメージであるソフトウェアメモリイメージを生成するメモリイメージ生成部。
【請求項２】
メモリ配置決定部は、ソフトウェアモジュールのソフトウェア信頼性評価関数値の小さいものから順に、メモリ上のアドレスの小さい方から順次当該ソフトウェアモジュールを展開する領域を決定することを特徴とする請求項１記載のソフトウェアメモリイメージ生成装置。
【請求項３】
メモリ配置決定部は、上記展開する領域が、組み込み機器のメモリ上における削除ブロック間の境界を越えるか否かを判定し、当該境界を越える場合には、他の削除ブロック内に上記展開する領域を再配置することを特徴とする請求項１記載のソフトウェアメモリイメージ生成装置。
【請求項４】
メモリ配置決定部は、各ソフトウェアモジュールの生成日付あるいは更新日付が新しい方を、ソフトウェア信頼性評価関数値が小さいものとして、ソフトウェアモジュールのメモリ上での配置を決定することを特徴とする請求項１記載のソフトウェアメモリイメージ生成装置。
【請求項５】
メモリ配置決定部は、各ソフトウェアモジュールについて不具合発生履歴から得られる不具合発生数の収束状況がより収束している方を、ソフトウェア信頼性評価関数値が小さいものとして、ソフトウェアモジュールのメモリ上での配置を決定することを特徴とする請求項１記載のソフトウェアメモリイメージ生成装置。
【請求項６】
メモリ配置決定部は、各ソフトウェアモジュールについて、過去に生成した他の組み込み機器における同種のソフトウェアモジュールの不具合発生がより少ない方を、ソフトウェア信頼性評価関数値が小さいものとして、ソフトウェアモジュールのメモリ上での配置を決定することを特徴とする請求項１記載のソフトウェアメモリイメージ生成装置。
【請求項７】
メモリ配置決定部は、各ソフトウェアモジュールの作成者が過去に作成したソフトウェアモジュールにおける不具合発生がより少ない方を、ソフトウェア信頼性評価関数値が小さいものとして、ソフトウェアモジュールのメモリ上での配置を決定することを特徴とする請求項１記載のソフトウェアメモリイメージ生成装置。
【請求項８】
複数ソフトウェアモジュールを組み込み機器のメモリに展開したイメージであるソフトウェアメモリイメージを生成するソフトウェアメモリイメージ生成装置と、ソフトウェアメモリイメージ生成装置と通信可能な前記組み込み機器とからなる組み込み機器ソフトウェア更新システムであって、
上記ソフトウェアメモリイメージ生成装置は、
（１）ソフトウェアモジュールごとの不具合発生の可能性を示すソフトウェア信頼性評価関数値に従って、ソフトウェアモジュールのメモリ上での配置を決定するメモリ配置決定部と、
（２）決定された配置に従って、各ソフトウェアモジュールを組み込み機器のメモリに展開したイメージであるソフトウェアメモリイメージを生成するメモリイメージ生成部と、
（３）生成したソフトウェアメモリイメージを組み込み機器に転送するソフトウェアメモリイメージ転送部とを備え、
上記組み込み機器は、
（４）ソフトウェアメモリイメージ生成装置からソフトウェアメモリイメージを受信するソフトウェアメモリイメージ受付部と、
（５）受信したソフトウェアメモリイメージを組み込み機器のメモリに書き込むソフトウェアメモリイメージ書込部とを有することを特徴とする組み込み機器ソフトウェア更新システム。
【請求項９】
複数ソフトウェアモジュールを組み込み機器のメモリに展開したイメージであるソフトウェアメモリイメージを生成するソフトウェアメモリイメージ生成装置となるコンピュータに、以下の手順を実行させるためのプログラム
（１）ソフトウェアモジュールごとの不具合発生の可能性を示すソフトウェア信頼性評価関数値に従って、ソフトウェアモジュールのメモリ上での配置を決定するメモリ配置決定手順
（２）決定された配置に従って、各ソフトウェアモジュールを組み込み機器のメモリに展開したイメージであるソフトウェアメモリイメージを生成するメモリイメージ生成手順。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、携帯電話等の組み込み機器において、内部の不揮発メモリに格納されているソフトウェアに不具合が発生した場合に、修正版のソフトウェアを通信路経由あるいは外部記憶装置経由で組み込み機器に転送し、不揮発メモリに修正版のソフトウェアを書き込むことにより、不具合を修正する技術（ソフトウェア更新と呼ぶ。）に関する。
【背景技術】
【０００２】
不揮発メモリには、フラッシュメモリやバックアップ電池つきＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等が用いられるが、書き込み速度に対して書き込みデータ量が大量の場合に、書き込み時間が長時間にわたることがあり、この場合には「ユーザの待ち時間が長くなる」「電池切れが起きやすい」等の問題につながる。
【０００３】
書き込み時間を短縮する方法として以下がある。
（１）（メモリ全域を書き直すのではなく）修正前後で変化した部分のみの書き込み（上書き）をおこなう（図１５）。
（２）挿入や削除がおこなわれた場合には、変更が生じない部分についても領域ズレが生ずるために上書きが必要となり、書き込み量が大きくなる（図１６）。これを避けるため、メモリ上に余裕領域（図１７（ｃ））を設けておく。これにより、影響が波及する部分を小さく（図１７（ａ））することができる。また、図１７（ｂ）の部分には、更新の影響による書き込み量を小さくすることができる（図１７）。
（３）（書き込み時間短縮の方法ではないが、）フラッシュＲＯＭの特性として、修正をおこなうためには、削除ブロック（ｅｒａｓｅ  ｂｌｏｃｋ）という単位で消去をおこない、書き込む必要がある。図１８のような場合、修正は削除ブロック内の一部だが、削除ブロック２のブロック全体の書き込みが必要となる。
【０００４】
次に、図１９と図２０を用いて挿入位置による書換え量の違いについて説明をする。ここで、修正後のメモリイメージにおけるＡ領域は挿入データ、Ｂ領域は修正前のメモリイメージにおけるコピーデータ、Ｃ領域は空き領域を表す。図１９のように領域の先頭寄りでの挿入／削除は、図２０のように領域の末尾寄りでの挿入／削除と比較して、書換え量は大きくなる。
【特許文献１】特開平１１−０９６７７９号公報
【特許文献２】特開２０００−０９９３４２号公報
【特許文献３】特開２００２−３４２１００号公報
【特許文献４】特開２００３−２７１４３９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ソフトウェア更新は、短時間で完了することが望まれている。そこで、本発明は、ソフトウェア更新に伴う不揮発メモリ（フラッシュメモリ等）での書換え量を削減することにより、書換え時間の短縮を実現することを目的とする。
【課題を解決するための手段】
【０００６】
本発明に係るソフトウェアメモリイメージ生成装置は、
複数ソフトウェアモジュールを組み込み機器のメモリに展開したイメージであるソフトウェアメモリイメージを生成するソフトウェアメモリイメージ生成装置であって、以下の要素を有することを特徴とする
（１）ソフトウェアモジュールごとの不具合発生の可能性を示すソフトウェア信頼性評価関数値に従って、ソフトウェアモジュールのメモリ上での配置を決定するメモリ配置決定部
（２）決定された配置に従って、各ソフトウェアモジュールを組み込み機器のメモリに展開したイメージであるソフトウェアメモリイメージを生成するメモリイメージ生成部。
【発明の効果】
【０００７】
ソフトウェアモジュールのソフトウェア信頼性評価関数を考慮してメモリ配置を決定することにより、ソフトウェア更新に伴う不揮発メモリの書換え量を削減することができ、組み込み機器での書換え時間の短縮を実現できる。
【発明を実施するための最良の形態】
【０００８】
実施の形態１．
【０００９】
以下、この発明の実施の形態について図を参照して説明する。図１は、実施の形態１に係る組み込み機器ソフトウェア更新システムの構成図である。
【００１０】
図１において、組み込み機器ソフトウェア更新システム１は、通信路３を介して接続可能なソフトウェアメモリイメージ生成装置２と組み込み機器４から構成されている。
【００１１】
ソフトウェアメモリイメージ生成装置２には、バスに、ＣＰＵ（演算装置）５、メモリ６、通信インターフェース７、データ記憶領域８が接続されている。データ記憶領域８には、ソフトウェアメモリイメージ生成プログラムが格納されており、メモリ６にロードされた状態で、順次ＣＰＵ５に読み込まれ処理を行う。通信インターフェース７は、通信路３を介した組み込み機器４との通信に用いられる。
【００１２】
組み込み機器４は、バス１１に接続されたＣＰＵ１０、不揮発メモリ１２、通信インターフェースを有する。通信インターフェース１３は、通信路３を介したソフトウェアメモリイメージ生成装置２との通信に用いられる。
【００１３】
次に動作について説明する。図２は、ソフトウェアメモリイメージ生成装置において、ソフトウェアメモリイメージ生成プログラムを用いてソフトウェアメモリイメージを生成する際のモジュール構成を示す図である。図３は、ソフトウェアメモリイメージ生成プログラムを用いてソフトウェアメモリイメージを生成する際の処理フローを示す図である。
【００１４】
ソフトウェア信頼性評価情報入力部２１より、各ソフトウェアモジュールのソフトウェア信頼性評価関数情報を入力し、ソフトウェア信頼性評価情報記憶部２２に記憶する。ソフトウェア信頼性評価関数情報には、ソフトウェア信頼性評価関数値とソフトウェアモジュールサイズとソフトウェアモジュール名が含まれている。ソフトウェア信頼性評価関数値は、ソフトウェアモジュールについての不具合発生の可能性を示す値であり、小さい方が不具合が発生する可能性が小さいことを意味する。評価関数とは、出荷後ある一定期間内にソフトウェアの不具合が検出される数値を表している。
【００１５】
また、ソフトウェアモジュール入力部２３から各ソフトウェアモジュールの集合を入力し、ソフトウェアモジュール記憶部２４に記憶する。これらのソフトウェアモジュールは、バイナリフォーマットからなる。
【００１６】
メモリ配置決定部２５は、記憶しているソフトウェア信頼性評価関数情報とソフトウェアモジュールを読み出して処理を行う（Ｓ３０１）。この処理により、ソフトウェア信頼性評価関数情報を用いて、各モジュールをメモリ上に配置するアドレスを決定し、その決定したアドレスを含むアドレス配置決定情報が生成される。
【００１７】
ソフトウェアメモリイメージ生成部２６は、ソフトウェアモジュールのアドレス配置決定情報を用いて、ソフトウェアメモリイメージを生成する。生成されたソフトウェアメモリイメージは、データ記憶領域（メモリイメージ記憶部の例）２７に生成される。
【００１８】
ソフトウェアメモリイメージ転送部２８は、データ記憶領域（メモリイメージ記憶部の例）２７からソフトウェアメモリイメージを読み出し、組み込み機器４に通信路３を介して送信する（Ｓ３０３）。
【００１９】
図４は、組み込み機器側のソフトウェアメモリイメージの更新に係るモジュール構成を示す図である。図５は、組み込み機器側のソフトウェアメモリイメージの更新に係る処理フローを示す図である。
【００２０】
ソフトウェアメモリイメージ受付部４１は、ソフトウェアメモリイメージ生成装置からソフトウェアメモリイメージを入力し（Ｓ５０１）、ソフトウェアメモリイメージ書込部４２は、入力したソフトウェアメモリイメージを不揮発メモリ（ソフトウェアメモリイメージ記憶領域の例）４３に格納し（Ｓ５０２）、ソフトウェアメモリイメージを適用して動作させる。
【００２１】
更に、詳細な構成及び動作について説明する。図６は、メモリ配置決定部の詳細を示す図である。
【００２２】
まず、図７を用いて、ソフトウェア信頼性評価関数値の導出部の動作について説明する。図７は、メモリ配置決定部によりソフトウェア信頼性評価関数値をソートする例を示す図である。
【００２３】
各モジュールのソフトウェア信頼性評価関数値とモジュールサイズとモジュール名を含むソフトウェア信頼性評価関数情報と、当該ソフトウェアモジュールを入力する。ここでは、例として、モジュール数を６個（Ａ，Ｂ，Ｃ，Ｄ，Ｅ，Ｆ）とする。ソフトウェア信頼性評価関数値の導出部は、ソフトウェア信頼性評価関数値をキーとして昇順にソフトウェア信頼性評価関数情報をソートする。図７（ａ）は、ソート前のソフトウェア信頼性評価関数情報を示す。図７（ｂ）は、ソートされたソフトウェア信頼性評価関数情報を示す。
【００２４】
図８を用いて、アドレス配置決定部の動作について説明する。ソフトウェア信頼性評価関数値の導出部により出力されたソフトウェア信頼性評価関数情報からメモリ上のアドレス配置を決定し、アドレス配置決定情報を生成する。具体的には、上から順に、ソフトウェア信頼性評価関数情報のサイズを同情報のアドレス配置に加算して、次のソフトウェア信頼性評価関数情報のアドレス配置を得る。
【００２５】
図９を用いて、メモリイメージ生成部の動作について説明する。アドレス配置決定部により出力されたアドレス配置決定情報から、ソフトウェアメモリイメージを生成する。具体的には、上から順に、ソフトウェア信頼性評価関数情報のアドレス配置の位置に、ソフトウェアモジュールを展開する。
【００２６】
以上のように本実施の形態によれば、ソフトウェアメモリイメージ生成装置におけるデータ記憶領域に格納されるソフトウェアメモリイメージを、通信路を用いて組み込み端末に送信し、組み込み端末に適用する。ソフトウェアモジュールのソフトウェア信頼性評価関数を考慮してメモリ配置を決定することにより、ソフトウェア更新に伴う不揮発メモリ（フラッシュメモリ等）の書換え量を削減することができ、組み込み機器での書換え時間の短縮を実現できる。
【００２７】
また、組み込み機器では、ＰＣと比べるとメモリ容量が限れている。そこで、ソフトウェア評価関数情報を用いることによる不揮発メモリ上の最適な空き領域を導出することができる。
【００２８】
実施の形態２．
図１０は、実施の形態２に係るメモリ配置決定部の詳細を示す図である。ソフトウェア信頼性評価関数情報による削除ブロック分割部の動作について説明する。ソフトウェア信頼性評価関数情報による削除ブロック分割部は、以下の処理により、ソフトウェアモジュールを削除ブロック単位に分けて配置する。
【００２９】
各モジュールについて、ソフトウェア信頼性評価関数値とモジュールサイズとモジュール名を含むソフトウェア信頼性評価関数情報と、当該ソフトウェアモジュールを入力とする。図１１に示すように、メモリ配置決定部における削除ブロック分割部では、ソフトウェア信頼性評価関数値を昇順にソートを行う。その後、不具合発生が生じる可能性が高い順に削除ブロック単位に分割を行い、ソフトウェアモジュールの削除ブロック分割不具合評価関数情報が生成される。その際、モジュールを展開する領域が、削除ブロック間の境界を越えるか否かを判定し、境界を越える場合には、他の削除ブロック内に展開する領域を再配置する。図１１は、削除ブロック分割不具合評価関数情報の例を示す図である。
【００３０】
ここで、その他の削除ブロック単位に分割する動作について説明する。前提として、ソフトウェア信頼性評価関数値には、各モジュールの不具合発生確率が与えられているとする。そして、削除ブロックに分割できる全てのパターンの計算を行い、そのパターンの中で削除ブロックの個数の期待値が最小となるパターンを採用する。
【００３１】
削除ブロック単位に分割した後に、アドレス配置を決定する。メモリ配置決定部におけるアドレス配置決定部では、ソフトウェア信頼性評価関数情報による削除分割部から出力された削除ブロック分割不具合評価関数情報からメモリ上のアドレス配置を決定し、図１２のようなアドレス配置決定情報を生成する。図１２は、実施の形態２に係るアドレス配置決定情報を示す図である。
【００３２】
続いて、メモリ配置決定部により出力されたアドレス配置決定情報から、ソフトウェアメモリイメージを生成する。図１３は、実施の形態２に係るソフトウェアメモリイメージの例を示す図である。
【００３３】
以上のように本実施の形態によれば、ソフトウェアメモリイメージ生成装置におけるデータ記憶領域に格納されるソフトウェアメモリイメージを、通信路を用いて組み込み端末に送信し、組み込み端末に適用する。削除ブロック分割不具合評価関数情報を考慮してメモリ配置を決定することにより、ソフトウェア更新に伴う不揮発メモリ（フラッシュメモリ等）の書換え量を削減することができ、組み込み機器での書換え時間の短縮を実現できる。
【００３４】
また、組み込み機器では、メモリ容量が限られるが、ソフトウェア評価関数情報を用いることにより、不揮発メモリ上の最適な空き領域を導出することができる。
【００３５】
実施の形態３．
以下は、評価関数のその他の計算方法について説明する。ここでは、評価関数の計算方法としてソフトウェアモジュールの作成日時（あるいは更新日時）を利用することを特徴とする。ソフトウェアメモリイメージ生成システムでは、ソフトウェアモジュールの作成日時（あるいは更新日時）とモジュールサイズとモジュール名を有するソフトウェア信頼性評価関数情報とソフトウェアモジュールを使用する。例えば、ソフトウェア信頼性評価関数情報の作成日時を用いて作成日時が新しいほどモジュールでのソフトウェア信頼性する評価関数が高いと判断して、ソフトウェア信頼性評価関数情報を作成する。
【００３６】
実施の形態４．
以下は、評価関数のその他の計算方法として、ソフトウェア信頼性数の収束状況を用いてソフトウェアモジュールのソフトウェア信頼性評価関数を判断することを特徴とする。ここで述べるソフトウェア信頼性数の収束状況とは、ある一定期間毎でソフトウェア信頼性件数のことである。本プログラムでは、ソフトウェアモジュール開発の不具合発生履歴における不具合発生数の収束状況とモジュールサイズとソフトウェアモジュール名を有するソフトウェア信頼性評価関数情報とソフトウェアモジュールを使用する。ここでは、ソフトウェアモジュールの不具合発生履歴における不具合発生数の収束状況が悪いモジュールほど不具合発生する評価関数が高いと判断してソフトウェア信頼性評価関数情報を作成する。
【００３７】
実施の形態５．
以下は、評価関数のその他の計算方法として、以前に開発した組み込み機器における各ソフトウェアモジュールのソフトウェア信頼性状況を用いて、ソフトウェア信頼性評価関数を判断することを特徴とする。本プログラムでは、以前開発した際に発生した不具合発生数とモジュールサイズとモジュール名を有するソフトウェア信頼性評価関数情報とソフトウェアモジュールを使用する。以前に開発した際に発生した不具合発生数が多いほどモジュールでの不具合が発生する評価関数が高いと判断してソフトウェア信頼性評価関数情報を作成する。
【００３８】
実施の形態６．
以下は、評価関数のその他の計算方法として、ソフトウェアモジュールの著者（プログラマ）個人の過去の不具合発生数の履歴を用いてソフトウェアモジュールのソフトウェア信頼性評価関数を判断することを特徴とする。本プログラムでは、ソフトウェアモジュールの著者個人の過去の不具合発生数の履歴とモジュールサイズとモジュール名を有するソフトウェア信頼性評価関数情報とソフトウェアモジュールを使用する。ソフトウェアモジュールの著者個人の過去の不具合発生数の履歴を用いてソフトウェアモジュールのソフトウェア信頼性評価関数を判断して、ソフトウェア信頼性評価関数情報を作成する。
【００３９】
実施の形態７．
以下は、評価関数の計算方法として、様々な計算方法を組み合わせてソフトウェア信頼性評価関数を導出することを特徴とする。本プログラムでは、ソフトウェア信頼性評価関数情報とソフトウェアモジュールを使用する。ここでは、様々な条件（例えば、作成日付、収束状況など）を用いてソフトウェアモジュールのソフトウェア信頼性評価関数を判断して、ソフトウェア信頼性評価関数情報を作成する。
【００４０】
図１４は、重み付けによりソフトウェア信頼性評価関数情報を算出する構成を示す図である。予め設定されている重み付けに従って、各パラメータを評価することにより、総合的な評価結果としてのソフトウェア信頼性評価関数情報を得ることができる。
【図面の簡単な説明】
【００４１】
【図１】組み込み機器ソフトウェア更新システムの構成を示す図である。
【図２】ソフトウェアメモリイメージを生成する際のモジュール構成を示す図である。
【図３】ソフトウェアメモリイメージを生成する際の処理フローを示す図である。
【図４】組み込み機器側のソフトウェアメモリイメージの更新に係るモジュール構成を示す図である。
【図５】組み込み機器側のソフトウェアメモリイメージの更新に係る処理フローを示す図である。
【図６】メモリ配置決定部の詳細を示す図である。
【図７】ソフトウェア信頼性評価関数値をソートする例を示す図である。
【図８】アドレス配置情報の例を示す図である。
【図９】ソフトウェアメモリイメージ生成後のメモリイメージの例を示す図である。
【図１０】実施の形態２に係るメモリ配置決定部の詳細を示す図である。
【図１１】削除ブロック分割不具合評価関数情報の例を示す図である。
【図１２】実施の形態２に係るアドレス配置決定情報を示す図である。
【図１３】実施の形態２に係るソフトウェアメモリイメージの例を示す図である。
【図１４】重み付けによりソフトウェア信頼性評価関数情報を算出する構成を示す図である。
【図１５】修正に係るメモリイメージの変化を示す図である。
【図１６】更新による影響を示す図である。
【図１７】更新の影響が局所的となる例を示す図である。
【図１８】削除ブロック単位の修正の概要を示す図である。
【図１９】先頭寄りに挿入が生じた場合の概要を示す図である。
【図２０】末尾寄りに挿入が生じた場合の概要を示す図である。
【符号の説明】
【００４２】
１  組み込み機器ソフトウェア更新システム、２  ソフトウェアメモリイメージ生成装置、３  通信路、４  組み込み機器、５  ＣＰＵ、６  メモリ、７  通信インターフェース、８  データ記憶領域、９  ソフトウェアメモリイメージ生成プログラム、１０  ＣＰＵ、１１  バス、１２  不揮発メモリ、１３  通信インタフェース、２１  ソフトウェア信頼性評価情報入力部、２２  ソフトウェア信頼性評価情報記憶部、２３  ソフトウェアモジュール入力部、２４  ソフトウェアモジュール記憶部、２５  メモリ配置決定部、２６  ソフトウェアメモリイメージ生成部、２７  データ記憶領域（メモリイメージ記憶部の例）、２８  ソフトウェアメモリイメージ転送部、４１  ソフトウェアメモリイメージ受付部、４２  ソフトウェアメモリイメージ書込部、４３  不揮発メモリ（ソフトウェアメモリイメージ記憶領域の例）。
【図１】
2006059217.tif 000003
【図２】
2006059217.tif 000004
【図３】
2006059217.tif 000005
【図４】
2006059217.tif 000006
【図５】
2006059217.tif 000007
【図６】
2006059217.tif 000008
【図７】
2006059217.tif 000009
【図８】
2006059217.tif 000010
【図９】
2006059217.tif 000011
【図１０】
2006059217.tif 000012
【図１１】
2006059217.tif 000013
【図１２】
2006059217.tif 000014
【図１３】
2006059217.tif 000015
【図１４】
2006059217.tif 000016
【図１５】
2006059217.tif 000017
【図１６】
2006059217.tif 000018
【図１７】
2006059217.tif 000019
【図１８】
2006059217.tif 000020
【図１９】
2006059217.tif 000021
【図２０】
2006059217.tif 000022