(57)【要約】【課題】実際のイベント発生時刻からタスク側でイベント処理を行うまでに、リアルタイムＯＳ上のタク制御で発生する遅延時間の情報を、タスクにイベント内容と伴に通知することで、タスクにおいて、イベント処理異常を認識させて、タスク処理を適正化するタスク制御装置を提供する。【解決手段】タスクに処理するイベントを通知してスケジューリングするリアルタイムＯＳを実行するタスク制御装置において、発生したイベント毎の処理状況情報を入手するイベント処理状況入手手段と、前記イベントの処理管理を行うイベント管理手段と、前記イベントと処理状況情報を登録保存するイベント通知待ち登録テーブルを記憶する記憶手段とを有する。【選択図】　　　図２
2004078665.tif 000002
【特許請求の範囲】
【請求項１】
タスクに処理するイベントを通知してスケジューリングするリアルタイムＯＳを実行するタスク制御装置において、
発生したイベント毎の処理状況情報を入手するイベント処理状況入手手段と、
前記イベントの処理管理を行うイベント管理手段と、
前記イベントと処理状況情報を登録保存するイベント通知待ち登録テーブルを記憶する記憶手段とを有することを特徴とするタスク制御装置。
【請求項２】
前記タスクに処理するイベント通知を行う際には、イベント内容に加えて、同時にイベントの処理状況情報を通知することを特徴とする請求項１に記載のタスク制御装置。
【請求項３】
前記イベント処理状況入手手段は、イベント発生した時刻からタスクへ通知までの遅延時間を計測する遅延時間計測手段であることを特徴とする請求項１もしくは２に記載のタスク制御装置。
【請求項４】
前記イベント通知待ち登録テーブルに登録される処理状況情報には、発生したイベントの処理終了時間を制限するデッドライン情報を含むことを特徴とする請求項１乃至３に記載のタスク制御装置。
【請求項５】
前記イベント管理手段は、
イベントの発生を認知して実行待機イベントをイベント通知待ち登録テーブルに登録するイベント完了手段と、
イベント通知待ち登録テーブルに登録された実行待機イベントに対して遅延時間の更新を行うイベント通知待ち手段と、
イベントの内容とタスクの処理状況からイベントを処理するタスクを決定する実行タスク決定手段と、
タスク処理が決定した実行待機イベントに対する記憶手段から遅延時間を呼び出すイベント通知準備手段と、
前記実行されるイベント内容とその遅延時間を処理タスクへの通知を行うイベント通知手段とを有することを特徴とする請求項１乃至４に記載のタスク制御装置。
【請求項６】
タスクに処理するイベントを通知してスケジューリングするリアルタイムＯＳを実行するタスク制御方法において、
発生したイベントを認知して実行待機イベントを記憶手段に登録するイベント待機登録工程と、
イベント処理状況入手手段から前記実行待機イベントに対する処理状況情報を入手して、記憶手段に対応付けて登録管理するイベント処理状況登録・管理工程と、
前記実行待機イベントがタスクに通知される際に、イベント通知工程を含むことを特徴とするタスク制御方法。
【請求項７】
前記イベント処理状況登録・管理工程は、
前記実行待機イベントに対応付けて遅延時間計測手段を動作させ、
所定の時間間隔でその遅延時間を読み出し、
前記遅延時間を前記記憶手段に処理状況情報として登録することを特徴とする請求項６に記載のタスク制御方法。
【請求項８】
前記イベント通知工程は、前記実行待機イベントがタスクに通知される際に、前記記憶手段に記憶された対応付けたれた処理状況情報を読み出し、
イベント内容に加えて前記処理状況情報付加し、
前記記憶手段に保管された前記実行待機イベントと前記処理状況情報を削除することを特徴とする請求項６もしくは７に記載のタスク制御方法。
【請求項９】
前記イベント通知待ち登録テーブルに登録される処理状況情報として、発生したイベントの処理終了時間を制限するデッドライン情報を登録することを特徴とする請求項６乃至８に記載のタスク制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、タスク制御装置およびタスク制御方法に関し、特に、タスクに処理するイベントを通知してスケジューリングするリアルタイムＯＳを実行するタスク制御装置、及びタスク制御方法に関する。
【０００２】
【従来の技術】
近年、制御、通信、周辺装置などの組み込みマイクロコンピュータの応用製品において、ＣＰＵの処理能力の向上と伴に、システムの大規模化、複合化が進んでおり、複数のタスクを同時に実行させるというリアルタイムオペレーティングシステム（以下、リアルタイムＯＳとする）が採用されている。リアルタイムＯＳに求められる機能や性能は、制御対象となる機器の特性によって大きく異なるが、リアルタイムＯＳの多くは、タスク管理装置及びタスクスケジューリング方法により、タスクのスケジュール管理が行われている。
【０００３】
従来の技術では、リアルタイムＯＳの機能においては、タスクスケジューリング方法のアルゴリズム改善が図られ処理効率の向上してきた。例えば、他のモジュールのタスクの影響を軽減することを目的として、特開２０００―１７２５１４号公報（文献１）には、リアルタイムＯＳで使用される優先度スケジューリングにおいて、ある限定された範囲の優先度のタスクのレディ状態とウェイト状態とを指定された時間で入れ替えるタスク管理装置及びタスクスケジューリング方法を提供する技術が開示されている。
【０００４】
また、複数のタスクを同時に実行しようとした場合、全てのタスクを限られた時間内に処理する必要がある。時間内に処理できなかったときにはデッドライン違反となり、装置の制御異常となる。特開２００１−２３６２３６号公報（文献２）には、タスクの切替を効率的に行い、切替頻度も低減して、デッドライン違反の発生を抑制することのできるリアルタイムＯＳのタスク制御装置およびタスクスケジューリング方法を提供する技術が開示されている。
【０００５】
【発明が解決しようとする課題】
しかしながら、上記開示されている技術においては、処理効率は向上しても、過負荷状態となった場合や負荷状態が継続し輻輳状態となった場合において、装置では相変わらず、処理遅延によるデッドライン異常が発生している。すなわち、デッドライン異常を抑制することはできるが防止することはできない。
【０００６】
例えば、監視制御装置においては、このようなデッドライン異常の発生は、処理遅延により監視情報が遅延し実際の状態とは異なった制御を行ってしまう場合がある。また、中継装置においては、中継遅延が発生していることを認識できず遅延したままの処理を継続してしまうことが挙げられる。
【０００７】
このような装置における異常が発生する第１の問題点は、デッドライン異常をタスク側で認識せずに、そのまま処理実行してしまう点にある。その理由は、リアルタイムＯＳ上で認識するイベントの発生から実際にタスク側で処理されるまでに、優先度レベルが同一のタスクが同時にイベント発生した場合や、高優先度レベルのタスク内でイベント発生が多発した場合などに、タスク側へのイベント待ち時間が発生し、リアルタイム（即時）性を要する場合においてもタスク側で検知できず、遅延したまま処理を実行してしまう点である。
【０００８】
さらに、第２の問題点は、デッドライン異常まで至らなくても処理遅延があるにもかかわらず、タスク側でその遅延時間を認識できない点にある。その理由は、リアルタイムＯＳの状態監視機能においての状態変化の事象では、不定期に発生する割り込みイベントとなり、イベント発生からタスク側へのイベント通知に割り込み的な遅延が発生し、正確な発生事象時間からの遅延時間が把握できない点である。
【０００９】
本発明は上記問題点を鑑み、リアルタイムＯＳにおける実行処理において、実際のイベント発生時刻からタスク側へイベント通知を行うまでに発生する遅延時間の情報を、イベント毎に管理して、実行タスクにイベント内容と伴に通知することで、実行タスクにおいて、各イベント毎のデッドライン異常もしくは遅延時間を認識させて、イベント処理を適正化するタスク制御装置を提供することを課題とする。
【００１０】
【課題を解決するための手段】
本発明の請求項１に記載のタスク制御装置は、タスクに処理するイベントを通知してスケジューリングするリアルタイムＯＳを実行するタスク制御装置であって、発生したイベント毎の処理状況情報を入手するイベント処理状況入手手段と、前記イベントの処理管理を行うイベント管理手段と、前記イベントと処理状況情報を登録保存するイベント通知待ち登録テーブルを記憶する記憶手段とを有することを特徴とする。
【００１１】
本発明の請求項２に記載のタスク制御装置は、請求項１に記載のタスク制御装置であって、前記タスクに処理するイベント通知を行う際には、イベント内容に加えて、同時にイベントの処理状況情報を通知することを特徴とする。
【００１２】
本発明の請求項３に記載のタスク制御装置は、請求項１もしくは２に記載のタスク制御装置であって、イベント発生した時刻からタスクへ通知までの遅延時間を計測する遅延時間計測手段であることを特徴とする。
【００１３】
本発明の請求項４に記載のタスク制御装置は、請求項１乃至３に記載のタスク制御装置であって、前記イベント通知待ち登録テーブルに登録される処理状況情報には、発生したイベントの処理終了時間を制限するデッドライン情報を含むことを特徴とする。
【００１４】
本発明の請求項５に記載のタスク制御装置は、請求項１乃至４に記載のタスク制御装置であって、前記イベント管理手段は、イベントの発生を認知して実行待機イベントをイベント通知待ち登録テーブルに登録するイベント完了手段と、イベント通知待ち登録テーブルに登録された実行待機イベントに対して遅延時間の更新を行うイベント通知待ち手段と、イベントの内容とタスクの処理状況からイベントを処理するタスクを決定する実行タスク決定手段と、タスク処理が決定した実行待機イベントに対する記憶手段から遅延時間を呼び出すイベント通知準備手段と、前記実行されるイベント内容とその遅延時間を処理タスクへの通知を行うイベント通知手段とを有することを特徴とする。
また、本発明の請求項６に記載のタスク制御方法は、タスクに処理するイベントを通知してスケジューリングするリアルタイムＯＳを実行するタスク制御方法であって、発生したイベントを認知して実行待機イベントを記憶手段に登録するイベント待機登録工程と、
イベント処理状況入手手段から前記実行待機イベントに対する処理状況情報を入手して、記憶手段に対応付けて登録管理するイベント処理状況登録・管理工程と、
前記実行待機イベントがタスクに通知される際に、イベント通知工程を含むことを特徴とする。
【００１５】
また、本発明の請求項７に記載のタスク制御方法は、請求項６に記載のタスク制御方法であって、前記イベント処理状況登録・管理工程は、前記実行待機イベントに対応付けて遅延時間計測手段を動作させ、所定の時間間隔でその遅延時間を読み出し、前記遅延時間を前記記憶手段に処理状況情報として登録することを特徴とする
また、本発明の請求項８に記載のタスク制御方法は、請求項６もしくは７に記載のタスク制御方法であって、前記イベント通知工程は、前記実行待機イベントがタスクに通知される際に、前記記憶手段に記憶された対応付けたれた処理状況情報を読み出し、
イベント内容に加えて前記処理状況情報付加し、前記記憶手段に保管された前記実行待機イベントと前記処理状況情報を削除することを特徴とする。
【００１６】
また、本発明の請求項９に記載のタスク制御方法は、請求項６乃至８に記載のタスク制御方法であって　前記イベント通知待ち登録テーブルに登録される処理状況情報として、発生したイベントの処理終了時間を制限するデッドライン情報を登録することを特徴とする。
【００１７】
【作用】
実際のイベント発生時刻からタスク側でイベント処理を行うまでに、リアルタイムＯＳ上のタスク制御で発生する遅延時間の情報を、タスクにイベント内容と伴に通知する。そして、タスクにおいて、その遅延時間を基にデッドライン異常などのイベント処理異常を認識させて、タスク処理を適正化する。
【００１８】
【発明の実施の形態】
次に、本発明の第１の実施の形態について図面を参照して詳細に説明する。図１は、本発明のタスク制御方法のタスク・イベント処理実行までを示すタイムチャートである。
【００１９】
本発明のタスク制御方法は、例えば監視制御装置などに搭載されるソフトウェアによる処理方法であり、タスク１０とリアルタイムＯＳ２０で構成される。リアルタイムＯＳ２０では、実際にタスク１０にて処理を行うタスク・イベント（▲１▼，▲２▼，▲３▼）の優先順位を決定して（優先順位を、仮に▲１▼＞▲２▼＞▲３▼としている）、タスクへ通知処理１１を行うなどのイベントの処理管理を行っている。
【００２０】
また、ベントが発生した時刻（ｔ１，ｔ２，ｔ３）からイベントがタスクイ・ベントとしてタスクに通知されるまでの遅延時間（Ｔ１，Ｔ２，Ｔ３）を測定して、イベント内容と伴に通知する。そして、タスクでは、通知された遅延情報（Ｔ１，Ｔ２，Ｔ３）とイベント内容から処理方法を選択して、イベント処理を行うこととなる。
【００２１】
図２は、本発明のリアルタイムＯＳにおけるタスク制御装置１００の第１の実施形態を説明するための機能ブロック図である。本実施形態では、処理状況情報として遅延時間を用いて説明する。図２を参照すると、本発明のタスク制御装置１００は、発生したイベント毎の遅延時間を測定するイベント遅延測定手段５１（イベント処理状況登録手段の一構成例である）と、そのイベントの処理管理を行うイベント管理手段３０、そのイベントの処理状況情報を保存するイベント通知待ち登録テーブルが記憶されている記憶手段４０とから主に構成されている。
【００２２】
また、イベント管理手段３０は、さらに、イベントの発生を認知して実行待機イベントをイベント通知待ち登録テーブル４１に登録するイベント完了手段３１と、イベント通知待ち登録テーブル４１に登録された実行待機イベントに対して遅延時間の更新等のスケジュール待ち処理を行うイベント通知待ち手段３２と、イベントの内容とタスクの処理状況から所定のイベントを処理するタスクを決定する実行タスク決定手段３３と、タスク処理が決定した実行待機イベントに対して遅延時間を呼び出してイベント通知準備手段３４と、イベント内容と遅延時間を処理タスクへの通知を行うイベント通知手段３５とから主に構成される。
【００２３】
イベント完了手段３１は、イベントが発生したことを認知して、記憶手段４０に保存されているイベント通知待ち登録テーブル４１に実行待機イベントのイベント識別番号を登録する。また、同時にイベント遅延測定手段５１にあるタイマーカウンタ５２を、各イベントに対応付けて動作させる。
【００２４】
イベント通知待ち手段３２は、所定の時間毎にタイマーカウンタ５２を確認して、各実行待機イベントのイベント発生時からの待機時間（遅延時間）を読み出し、記憶手段４０に保管されたイベント通知待ち登録テーブルに４１登録された実行待機イベントに対して遅延時間の登録、及び更新を行うスケジュール待ち処理を行う。
【００２５】
実行タスク決定手段３３は、実行待機しているイベント間で優先度の比較を行い、また各タスクの実行状態や処理能力を鑑みて、次に実行するイベントとそれを実行するタスクを決定する。
【００２６】
イベント通知準備手段３４は、実行待機イベントの中から実行されるイベントとタスクが決定された際に、記憶手段４０に保管されているイベント通知待ち登録テーブル４１から、その遅延時間を呼び出して、イベント通知手段３５に送る。また、イベント通知手段３５へ遅延時間情報を送出して、イベント通知手段３５がイベント内容と伴に遅延時間を実行タスクに通知後、イベント通知待ち登録テーブル４１から実行されたイベント識別番号と遅延時間を削除する。さらに、その通知処理されたイベントに対応付けられていたタイマーカウンタ５２の停止を行う。
【００２７】
イベント通知手段３５は、実行が決定されたイベントを該当するタスク１０へ、イベント内容と遅延時間とを同時に通知する。
【００２８】
本実施形態の構成とすることで、実行待機するイベントに対して、イベント発生時刻からの処理の時間遅延を対応付けて、記憶手段４０に保管管理している。そして、その実行待機していたイベントの実行処理が決定されてタスク１０において実行処理される際に、イベント内容と同時に遅延時間を、実行するタスク１０に対して通知することを可能としている。これによって、実行するタスクにおいて、実行イベントの遅延時間を把握して、処理内容を選択可能できる。
【００２９】
次に、第１の実施形態の動作について、図３、図４を参照して詳細に説明する。
【００３０】
図３は、本発明のタスク制御手段を実行するフローチャートである。また、図４は、本発明のイベント通知待ち登録テーブルのデータ構成図である。
【００３１】
本発明のリアルタイムＯＳを実行するタスク制御方法においては、発生したイベントを認知して実行待機イベントを記憶手段４０に登録するイベント待機登録工程Ｓ１と、
イベント処理状況入手手段から前記実行待機イベントに対する処理状況情報を入手して記憶手段に対応付けて登録管理するイベント処理状況登録・管理工程Ｓ２と、
前記実行待機イベントがタスクに通知される際に、イベント通知工程Ｓ３とを含んでいる。
【００３２】
また、図４に示されるように、本実施形態で用いられるイベント通知待ち登録テーブル４１は、イベント完了手段３１から通知登録される実行待機イベント識別番号（ＥＩＤ＃１、ＥＩＤ＃２、・・・ＥＩＤ＃ｎ）と、イベント遅延測定手段から読み出されるイベントが発生してからの経過時間（ｔｉｍｅ−１、ｔｉｍｅ−２、・・・・・ｔｉｍｅ−ｎ）との対応表として作成保存されている。
【００３３】
本発明のリアルタイムＯＳ上で認知されたイベントの発生（Ｓ１−１）は、イベント完了手段３１によって、記憶手段４０に保存されているイベント通知待ち登録テーブル４１に実行待機イベント識別番号（図４の４１−Ａ）として登録される（Ｓ１−２）。同時に、イベント完了手段３１は、イベント遅延測定手段５１にあるイベントに対応付けられたタイマーカウンタを動作させ（Ｓ２−１）、イベントの発生からの時間経過を計測して（Ｓ２−２）、経過時間をイベント通知待ち登録テーブル４１に、その実行待機イベント識別番号（図４の４１−Ａ、例えば、ＥＩＤ＃１）と対応づけて、遅延時間（図４の４１−Ｂ、例えば、ｔｉｍｅ１）として保存する（Ｓ２−３）。
【００３４】
実行タスク決定手段３３において、実行待機しているイベントに対して処理可能なタスクが実行状態に遷移したかを判定し、実行状態に遷移している場合には（Ｓ２−４のＹｅｓ）、イベント通知待ち登録テーブル４１に保管されている遅延時間を呼び出して（Ｓ３−１）、実行するタスク１０にイベント内容と伴に通知し（Ｓ３−２）、さらにイベント通知待ち登録テーブル４１に登録した実行待機イベント識別番号と遅延時間の削除を行う（Ｓ３−３）。
【００３５】
また、実行タスク決定手段３３において、実行状態に遷移していないと判定された場合（Ｓ２−４のＮｏ）には、タイマーカウンタの値を読み出して（Ｓ２−２）、イベント通知待ち登録テーブル４１の遅延時間の更新保存を行う。
【００３６】
これらは、図２に示すタスク制御装置１００において、リアルタイムＯＳが実行する機能として搭載され処理される。
【００３７】
図５は、本実施形態において通知される遅延時間を用いて、タスクにおけるイベント処理を示す機能ブロック図である。本実施形態に適したタスク１０は、遅延時間判定手段１２と処理選択手段１３とイベント処理手段１４とを有し、遅延時間に基づいて、タスク１０側でイベント毎に処理内容を変更する。
【００３８】
例えば、遅延時間判定手段１２において遅延時間がデットラインを超えていると判定された場合、すなわちデッドライン異常となっている場合には、処理選択手段１３において、エマージェンシー処理の選択を行う。
【００３９】
また、遅延時間判定手段１２において、遅延時間を判定して、所定時間以下と判定された場合には、処理選択手段１３において、通常イベント処理の選択を行う。
【００４０】
また、所定の時間以上デッドライン以下であると判定された場合には、処理選択手段１３において、遅延時間に応じて段階的な回避処理の選択を行う。
【００４１】
上述したように、本実施形態では、実行待機するイベントに対して、イベント発生時刻からの処理の時間遅延を対応付けて、記憶手段４０に保管管理している。そして、その実行待機していたイベントの実行処理が決定されてタスク１０において実行処理される際に、イベント内容と同時に遅延時間を、実行するタスク１０に対して通知することを可能としている。
【００４２】
そのため、タスク１０側でイベントの遅延時間を知ることができるため、遅延時間を判定し、タスク側でデッドライン異常を検出できる。この結果、タスク１０側で各イベント毎のデッドラインを決めデッドライン異常となった場合にＥＭ（エマージェンシー）処理を組むことを可能となり、装置における処理異常の発生を防ぐことができる。
【００４３】
また、遅延時間を判定してデッドラインとならなくても、段階的な回避処理を用意することができる。すなわち、タスクにおいて、イベント処理異常を認識させて、イベント処理を適正化できるといった効果を奏する。
【００４４】
さらに、タスク１０側でイベントの通知遅延時間を知るようにしたので、例えば監視装置において状態変化をログ出力した場合、状態変化信号に遅延時間の情報を付加しておくことで、実際に状態変化の発生した時刻を正確に求めることができる。この結果、監視装置において遅延時間を考慮した処理を行うことが可能となる。
【００４５】
【発明の他の実施の形態】
図６は、本発明のリアルタイムＯＳにおけるタスク制御装置１００の第２の実施形態を説明するための機能ブロック図である。また、図７は、本発明の第２の実施形態におけるイベント通知待ち登録テーブルのデータ構成図である。
【００４６】
本実施形態では、第１の実施形態に加えて、イベント処理状況登録手段がデッドライン情報取得手段５２を有している。各図において、第１の実施形態と、同一構成要素については、同一符号を付し、また同様の動作については説明を省略した。
【００４７】
タスク１０側より予め各イベントのデッドライン（図７の４１−Ｃ）をリアルタイムＯＳ側へ初期設定して通知して、記憶手段４０のイベント通知待ち登録テーブル４１に登録管理させる（図７）。そして、更新される遅延時間と比較管理して、イベント待機状態においてデッドライン異常が発生した場合には、タスク１０側へのイベント通知の際に、イベント通知手段３５からデッドライン異常についてもタスク１０側へ通知させる。同時に、デバッグ機能的に、別媒体へ各イベント毎の遅延時間や前述のデッドライン異常を出力する。
【００４８】
このように、本第２の実施形態の構成とすることで、実施形態１に示した効果に奏するとともに、他の媒体においても、イベントの遅延時間やデッドライン異常を認識することができので、各媒体毎の遅延時間に応じた対応ができる。
【００４９】
なお、本発明が上記各実施の形態に限定されず、本発明の技術思想の範囲において、各実施の形態は適宜変更されることは明らかである。
【００５０】
また、上記構成部の数、配置は上記実施の形態に影響されず、本発明を実施する上で好適な数、配置にすることができる。
【００５１】
【発明の効果】
本発明では、リアルタイムＯＳにおける実行処理において、実際のイベント発生時刻からタスク側へイベント通知を行うまでに発生する遅延時間の情報を、イベント毎に管理して、実行タスクにイベント内容と伴に通知することで、実行タスクにおいて、各イベント毎のデッドライン異常もしくは遅延時間を認識させて、イベント処理を適正化して、デッドライン異常による装置の異常発生を防ぐことができるといった効果を奏する。
【図面の簡単な説明】
【図１】本発明のタスク制御方法のタスク・イベント処理実行までを示すタイムチャートである。
【図２】本発明のリアルタイムＯＳにおけるタスク制御装置１００の第１の実施形態を説明するための機能ブロック図である。
【図３】本発明のタスク制御手段を実行するフローチャートである。
【図４】本発明のイベント通知待ち登録テーブルのデータ構成図である。
【図５】本実施形態において通知される遅延時間を用いて、タスクにおけるイベント処理を示す機能ブロック図である。
【図６】本発明のリアルタイムＯＳにおけるタスク制御装置の第２の実施形態を説明するための機能ブロック図である。
【図７】本発明の第２の実施形態におけるイベント通知待ち登録テーブルのデータ構成図である。
【符号の説明】
１０　タスク
１１　タスクへのイベント通知
１２　遅延時間判定手段
１３　処理選択手段
１４　イベント処理手段
２０　リアルタイムＯＳ
３０　タスク管理手段
１００　タスク制御部
３１　イベント完了手段
３２　イベント通知待ち手段
３３　実行タスク決定手段
３４　イベント通知準備手段
３５　イベント通知手段
４０　記憶手段
４１　イベント通知待ち登録テーブル
４１−Ａ　実行待機イベント識別番号
４１−Ｂ　遅延時間
４１−Ｃ　デッドライン時間
５０　イベント処理状況登録手段
５１　イベント遅延測定手段
５２　タイマーカウンタ
５３　デッドライン情報取得手段
【図１】
2004078665.tif 000003
【図２】
2004078665.tif 000004
【図３】
2004078665.tif 000005
【図４】
2004078665.tif 000006
【図５】
2004078665.tif 000007
【図６】
2004078665.tif 000008
【図７】
2004078665.tif 000009