(57)【要約】      （修正有）【課題】タスクスクリプトを用いてロボットタスクの駆動中にスクリプトの実行状態をデバッギング又はモニタリングする。【解決手段】タスクスクリプトファイルの中でデバッギング中に観察しようとする位置が停止点として指定されたタスクスクリプトファイルとラインに対するレジストリ命令要請メッセージをデバッギングツールから受信する段階と、前記レジストリ命令要請メッセージを分析し、その結果を停止点管理テーブル２００に格納する段階Ｓ２４０と、前記分析結果に問題がなければ、前記デバッギングツールに通報通知応答メッセージを伝送する段階Ｓ２５０と、前記デバッギングツールから前記通報通知応答メッセージに伴うデバッギング開始命令メッセージを受信する段階と、前記デバッギング開始命令メッセージに応答して前記停止点として指定されたタスクスクリプトファイルをライン単位で実行する段階Ｓ２９０とを含む。【選択図】図２Ａ
2012133775.tif 000002
【特許請求の範囲】
【請求項１】
タスク実行器がタスクスクリプトをデバッグする方法であって、
タスクスクリプトファイルの中でデバッギング中に観察しようとする位置が停止点として指定されたタスクスクリプトファイルとラインに対するレジストリ命令要請メッセージをデバッギングツールから受信する段階と、
前記レジストリ命令要請メッセージを分析し、その結果を停止点管理テーブルに格納する段階と、
前記分析結果に問題がなければ、前記デバッギングツールに通報通知応答メッセージを伝送する段階と、
前記デバッギングツールから前記通報通知応答メッセージに伴うデバッギング開始命令メッセージを受信する段階と、
前記デバッギング開始命令メッセージに応答して前記停止点として指定されたタスクスクリプトファイルをライン単位で実行する段階と、
前記デバッギング開始命令メッセージのデバッギングモードによってタスクスクリプトの現在の実行ラインが停止点であるか否かを判別する段階と、
前記現在の実行ラインが停止点であると判別されれば、前記タスクスクリプトの実行を停止し、該当ラインで利用するあらゆる変数に対してデバッギング変数応答メッセージを前記デバッギングツールに伝送する段階と、
前記タスクスクリプトの実行停止状態で新たなデバッギング開始命令メッセージを受信する段階と、
前記新たなデバッギング開始命令メッセージを分析して属性値に応じて実行モードを次の停止点移動に設定するか、次のライン移動に設定した後に以前に停止した地点からライン単位で再びタスクスクリプトを実行する段階と
を含むタスクスクリプトのデバッギング方法。
【請求項２】
前記タスクスクリプトのデバッギング方法は、前記タスクスクリプトが実行される間、スレッドが生成又は削除される時点でスレッドの生成／削除に関する情報をスレッド通知応答メッセージを用いてデバッギングツールに伝送する段階を更に含むことを特徴とする請求項１に記載のタスクスクリプトのデバッギング方法。
【請求項３】
デバッギングツールがタスクスクリプトをデバッグする方法であって、
タスクスクリプトファイルの中でデバッギング中に観察しようとする位置が停止点として指定されたタスクスクリプトファイルとラインに対するレジストリ命令要請メッセージをタスク実行器に伝送する段階と、
前記タスク実行器から前記レジストリ命令要請メッセージに応答する通報通知応答メッセージを受信する段階と、
前記通報通知応答メッセージにエラーがなければ、デバッギング開始命令メッセージを前記タスク実行器に伝送する段階と、
前記タスク実行器が前記デバッギング開始命令要請メッセージに伴うタスクスクリプトの実行中に停止点であると判別されたラインで利用するあらゆる変数に対して伝送するデバッギング変数応答メッセージを受信する段階と、
受信したデバッギング変数応答メッセージを画面にディスプレイする段階と、
次の停止点に直ちに移動するモード又は現在の停止点の直ぐ次のラインに移動するモードのうちのいずれかのモードが選択された新たなデバッギング開始命令メッセージを前記タスク実行器に伝送する段階と
を含むタスクスクリプトのデバッギング方法。
【請求項４】
前記タスクスクリプトのデバッギング方法は、前記タスクスクリプトが実行される間、スレッドが生成又は削除される時点で前記スレッドの生成／削除に関する情報を含むスレッド通知応答メッセージを前記タスク実行器から受信する段階を更に含むことを特徴とする請求項３に記載のタスクスクリプトのデバッギング方法。
【請求項５】
前記スレッド通知応答メッセージは、その属性として、スレッド識別子、親スレッド識別子、スレッド名、及びスレッドの生成又は終了を含むことを特徴とする請求項２又は４に記載のタスクスクリプトのデバッギング方法。
【請求項６】
前記レジストリ命令要請メッセージは、その属性として、メッセージ通し番号、前記停止点が定義されたファイル名、デバッグする１つの前記停止点が属する論理的位置、及び前記停止点が指定されたファイルでのライン番号を含むことを特徴とする請求項１又は３に記載のタスクスクリプトのデバッギング方法。
【請求項７】
前記通報通知応答メッセージは、その属性として、要請メッセージ識別子及びエラーコードを含むことを特徴とする請求項１又は３に記載のタスクスクリプトのデバッギング方法。
【請求項８】
前記デバッギング開始命令メッセージは、その属性として、メッセージ通し番号、現在位置で応答として受け取ったメッセージに定義されたスレッド識別子、段階別デバッギング認知表示、及びデバッグするタスク名を含むことを特徴とする請求項１又は３に記載のタスクスクリプトのデバッギング方法。
【請求項９】
前記デバッギング変数応答メッセージは、その属性として、メッセージ通し番号、スレッド識別子、現在実行中のタスク、現在メッセージの作成時間、現在実行中のタスクの実行位置、現在の停止点が定義されたファイル名、及び定義されたファイルでのライン番号を含むことを特徴とする請求項１又は３に記載のタスクスクリプトのデバッギング方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はタスクスクリプトの実行に関し、更に詳しくは、タスクスクリプトを用いてロボットタスクの駆動中にスクリプトの実行状態をデバッギング又はモニタリングするためのタスクスクリプトのデバッギング方法及び遠隔デバッギング方法に関する。
【背景技術】
【０００２】
一般に、ロボットの駆動は汎用言語(ｃ／ｃ++、ｊａｖａ、ｐｙｔｈｏｎなど）を用いて行われ、上位段階のサービスシナリオもこのような汎用言語を使うか、ロジックシステムを主に利用する。このとき、サービスシナリオを作成する開発者は、自身が作成するシナリオプログラムのエラーや正常に動作しているか否かの判断のためにデバッギングツールを用いる。通常の場合、デバッギングツールは使用する言語のコンパイラツールで提供され、ロジックシステムの場合は、使用するロジックシステムで自らルール（ｒｕｌｅ）を追跡して検証する方法を提供する。このようなデバッギング関連の先行技術が下記の特許文献１に開示されている。
【０００３】
ところが、ロボットの駆動において、汎用言語ではなく、上位レベルの独自で開発した別途のスクリプトを使用する場合にモニタリング及びデバッギングを支援するツールが存在しない。また、ロボットとデバッギングツールはネットワークで連結されなければならない場合が多いが、モニタリング及びデバッギングを支援するツールが存在しないことにより、モニタリング及びデバッギングのためのメッセージプロトコルも存在しなくなるという問題がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】韓国公開特許第２００６−００５６７４６号（公開日:２００６．０５．２５）
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明はこのような従来技術の問題を解決するために提案されたものであって、その目的は、上位レベルのタスクスクリプトの実行過程をモニタリング又はデバッギングするために、タスクスクリプトを実行するための文字列基盤メッセージの形式を定義し、このようなデバッギングメッセージを用いてタスクスクリプトをデバッグする方法とデバッギングツールがタスクスクリプトを遠隔でデバッグする方法を提供することにある。
【課題を解決するための手段】
【０００６】
本発明の第１の観点によれば、タスク実行器がタスクスクリプトをデバッグする方法は、タスクスクリプトファイルの中でデバッギング中に観察しようとする位置が停止点として指定されたタスクスクリプトファイルとラインに対するレジストリ命令要請メッセージをデバッギングツールから受信する段階と、前記レジストリ命令要請メッセージを分析し、その結果を停止点管理テーブルに格納する段階と、前記分析結果に問題がなければ、前記デバッギングツールに通報通知応答メッセージを伝送する段階と、前記デバッギングツールから前記通報通知応答メッセージに伴うデバッギング開始命令メッセージを受信する段階と、前記デバッギング開始命令メッセージに応答して前記停止点として指定されたタスクスクリプトファイルをライン単位で実行する段階と、前記デバッギング開始命令メッセージのデバッギングモードによってタスクスクリプトの現在の実行ラインが停止点であるか否かを判別する段階と、前記現在の実行ラインが停止点であると判別されれば、前記タスクスクリプトの実行を停止し、該当ラインで利用するあらゆる変数に対してデバッギング変数応答メッセージを前記デバッギングツールに伝送する段階と、前記タスクスクリプトの実行停止状態で新たなデバッギング開始命令メッセージを受信する段階と、前記新たなデバッギング開始命令メッセージを分析して属性値に応じて実行モードを次の停止点移動に設定するか、次のライン移動に設定した後に以前に停止した地点からライン単位で再びタスクスクリプトを実行する段階とを含むことができる。
【０００７】
ここで、前記タスクスクリプトのデバッギング方法は、前記タスクスクリプトが実行される間、スレッドが生成又は削除される時点でスレッドの生成／削除に関する情報をスレッド通知応答メッセージを用いてデバッギングツールに伝送する段階を更に含むことができる。
【０００８】
前記スレッド通知応答メッセージは、その属性として、スレッド識別子、親スレッド識別子、スレッド名、及びスレッドの生成又は終了を含むことができる。
【０００９】
前記レジストリ命令要請メッセージは、その属性として、メッセージ通し番号、前記停止点が定義されたファイル名、デバッグする１つの前記停止点が属する論理的位置、及び前記停止点が指定されたファイルでのライン番号を含むことができる。
【００１０】
前記通報通知応答メッセージは、その属性として、要請メッセージ識別子及びエラーコードを含むことができる。
【００１１】
前記デバッギング開始命令メッセージは、その属性として、メッセージ通し番号、現在位置で応答として受け取ったメッセージに定義されたスレッド識別子、段階別デバッギング認知表示、及びデバッグするタスク名を含むことができる。
【００１２】
前記デバッギング変数応答メッセージは、その属性として、メッセージ通し番号、スレッド識別子、現在実行中のタスク、現在メッセージの作成時間、現在実行中のタスクの実行位置、現在の停止点が定義されたファイル名、及び定義されたファイルでのライン番号を含むことができる。
【００１３】
本発明の第２の観点によれば、デバッギングツールがタスクスクリプトを デバッグする方法は、タスクスクリプトファイルの中でデバッギング中に観察しようとする位置が停止点として指定されたタスクスクリプトファイルとラインに対するレジストリ命令要請メッセージをタスク実行器に伝送する段階と、前記タスク実行器から前記レジストリ命令要請メッセージに応答する通報通知応答メッセージを受信する段階と、前記通報通知応答メッセージにエラーがなければ、デバッギング開始命令メッセージを前記タスク実行器に伝送する段階と、前記タスク実行器が前記デバッギング開始命令要請メッセージに伴うタスクスクリプトの実行中に停止点であると判別されたラインで利用するあらゆる変数に対して伝送するデバッギング変数応答メッセージを受信する段階と、受信したデバッギング変数応答メッセージを画面にディスプレイする段階と、次の停止点に直ちに移動するモード又は現在の停止点の直ぐ次のラインに移動するモードのうちのいずれかのモードが選択された新たなデバッギング開始命令メッセージを前記タスク実行器に伝送する段階とを含 むことができる。
【００１４】
ここで、前記タスクスクリプトのデバッギング方法は、前記タスクスクリプトが実行される間、スレッドが生成又は削除される時点で前記スレッドの生成／削除に関する情報を含むスレッド通知応答メッセージを前記タスク実行器から受信する段階を更に含むことができる。
【００１５】
前記スレッド通知応答メッセージは、その属性として、スレッド識別子、親スレッド識別子、スレッド名、及びスレッドの生成又は終了を含むことができる。
【００１６】
前記レジストリ命令要請メッセージは、その属性として、メッセージ通し番号、前記停止点が定義されたファイル名、デバッグする１つの前記停止点が属する論理的位置、及び前記停止点が指定されたファイルでのライン番号を含むことができる。
【００１７】
前記通報通知応答メッセージは、その属性として、要請メッセージ識別子及びエラーコードを含むことができる。
【００１８】
前記デバッギング開始命令メッセージは、その属性として、メッセージ通し番号、現在位置で応答として受け取ったメッセージに定義されたスレッド識別子、段階別デバッギング認知表示、及びデバッグするタスク名を含むことができる。
【００１９】
前記デバッギング変数応答メッセージは、その属性として、メッセージ通し番号、スレッド識別子、現在実行中のタスク、現在メッセージの作成時間、現在実行中のタスクの実行位置、現在の停止点が定義されたファイル名、及び定義されたファイルでのライン番号を含むことができる。
【発明の効果】
【００２０】
本発明によれば、ユーザが自ら使用する上位レベルのタスクスクリプトに対するデバッギング手順とメッセージプロトコルを用いて多様なツールでタスク実行器の種類と関係なく、デバッギングを提供でき、それによるタスク実行器も多様なツールの支援を受けることができるという効果を奏する。
【図面の簡単な説明】
【００２１】
【図１】タスクスクリプトの遠隔デバッギング及びモニタリングの概念を示す図である。
【図２】表１〜表１３に例示されたメッセージを用いてタスク実行器とデバッギングツールがタスクスクリプトの実行をデバッグする手順の一例を示す図である。
【図３】タスク実行器とデバッギングツールがタスクスクリプトの実行をモニタリングする手順の一例を示す図である。
【発明を実施するための形態】
【００２２】
本発明の利点及び特徴、そしてそれらを達成する方法は、添付される図面と共に詳細に後述されている実施形態を参照すれば明確になる。しかし、本発明は以下で開示される実施形態に限定されるものではなく、互いに異なる多様な形態で実現されることができ、但し、本実施形態は本発明の開示が完全なようにし、本発明の属する技術分野における通常の知識を有する者に発明の範疇を完全に理解させるために提供され、本発明は請求の範囲の範疇により定義されるだけである。
【００２３】
本発明の実施形態を説明するにおいて公知となった機能又は構成についての具体的な説明が本発明の要旨を不要に曖昧にするおそれがあると判断される場合には、その詳細な説明を省略する。そして、後述する用語は、本発明の実施形態での機能を考慮して定義された用語であって、これはユーザ、運用者の意図又は慣例などによって変わり得る。従って、その定義は本明細書全般にわたる内容に基づいてなされるべきである。
【００２４】
図１は、タスクスクリプトの遠隔デバッギング及びモニタリングの概念を示す図である。
【００２５】
図１に示すように、タスクスクリプトを実行するタスク実行器１００が設けられたロボット装置とこれを遠隔でデバッギング及びモニタリングするデバッギングツール１２０を含む環境において、タスク実行器１００が設けられたロボット装置はサーバとしての機能をし、デバッギングツール１２０が実行される端末装置はクライアントとしての機能をする。
【００２６】
このようなサーバ-クライアント環境でデバッギング及び／又はモニタリングのために、デバッギングツール１２０とタスク実行器１００がメッセージをやり取りする。このときに伝送されるメッセージの種類にはデバッギングツール１２０からタスク実行器１００に伝送されるデバッギング要請メッセージ１１１とタスク実行器１００からデバッギングツール１２０に伝送されるデバッギング応答メッセージ１１２があり、デバッギング要請メッセージ１１１とデバッギング応答メッセージ１１２はデバッギング／モニタリングプロトコル１１０によって生成及び伝送される。
【００２７】
タスク実行器１００とデバッギングツール１２０がやり取りするメッセージ形式の例示と意味について説明する。
【００２８】
まず、デバッギング要請メッセージを例示すれば、表１〜表８の通りである。
【００２９】
以下の表１は、デバッギング要請メッセージの形式を例示するものである。
【表１】
2012133775.tif 000003
【００３０】
表２は、命令語の種類を例示するものである。
【表２】
2012133775.tif 000004
【００３１】
表３は、レジストリ（Ｒｅｇｉｓｔｒｙ）命令のためのメッセージ形式を例示するものである。
【表３】
2012133775.tif 000005
【００３２】
表４は、除去（ｒｅｍｏｖｅ）命令のためのメッセージ形式を例示するものである。
【表４】
2012133775.tif 000006
【００３３】
表５は、開始（Ｓｔａｒｔ）命令のためのメッセージ形式を例示するものである。
【表５】
2012133775.tif 000007
【００３４】
表６は、一時中止（Ｓｕｓｐｅｎｄ）命令のためのメッセージ形式を例示するものである。
【表６】
2012133775.tif 000008
【００３５】
表７は、再開（Ｒｅｓｕｍｅ）命令のためのメッセージ形式を例示するものである。
【表７】
2012133775.tif 000009
【００３６】
表８は、停止（Ｓｔｏｐ）命令のためのメッセージ形式を例示するものである。
【表８】
2012133775.tif 000010
【００３７】
次に、デバッギング変数応答メッセージを例示すれば、表９Ａ〜表９Ｃの通りである。
【表９Ａ】
2012133775.tif 000011
【表９Ｂ】
2012133775.tif 000012
【表９Ｃ】
2012133775.tif 000013
【００３８】
次に、デバッギング通知メッセージを例示すれば、表１０Ａ〜表１３の通りである。
【００３９】
表１０Ａ及び表１０Ｂは、デバッギング通知メッセージの形式を例示するものである。
【表１０Ａ】
2012133775.tif 000014
【表１０Ｂ】
2012133775.tif 000015
【００４０】
表１１は、スレッド情報の通知のためのメッセージ形式を例示するものである。
【表１１】
2012133775.tif 000016
【００４１】
表１２は、エラー通知のためのメッセージ形式を例示するものである。
【表１２】
2012133775.tif 000017
【００４２】
表１３は、通報（Ａｃｋ）通知のためのメッセージ形式を例示するものである。
【表１３】
2012133775.tif 000018
【００４３】
図２は、表１〜表１３に例示されたメッセージを用いてタスク実行器１００とデバッギングツール１２０がタスクスクリプトの実行をデバッグする手順の一例を示すものである。
【００４４】
まず、ユーザはデバッギングツール１２０を用いてタスクスクリプトファイルの中でデバッギング中に観察しようとする位置を停止点として指定する（Ｓ２１０）。
【００４５】
ユーザが遠隔デバッギングを開始（Ｓ２２０）すれば、デバッギングツール１２０はまず停止点として指定されたファイルとラインに対して表３のレジストリ命令のための要請メッセージ１１１を作成して伝送する（Ｓ２３０）。
【００４６】
タスク実行器１００は、レジストリ命令メッセージ１１１の伝達を受けた後にメッセージを分析し、その結果を停止点管理テーブル２００に格納する（Ｓ２４０）。
【００４７】
分析結果に問題がなければ、デバッギングツール１２０に表１３の通報通知応答メッセージ１１２を伝送し（Ｓ２５０）、デバッギングツール１２０はタスク実行器１００から通報通知応答メッセージ１１２を受信する（Ｓ２６０）。
【００４８】
デバッギングツール１２０は、伝達を受けた通報通知応答メッセージ１１２のエラーコードが０（エラーがない）であれば（Ｓ２７０）、デバッギングを初めて開始する場合（Ｓ２７１）、表５のデバッギング開始命令のための要請メッセージ１１１をタスク実行器１００に伝送する（Ｓ２８０）。このとき、最初のデバッギング開始である場合、デバッギング開始命令メッセージの属性@ｔｈｒｅａｄは０の値を有し、@ｍｏｄｅの値はｎｅｘｔＢｒｅａｋＰｏｉｎｔとなる。
【００４９】
タスク実行器１００は、デバッギング開始命令メッセージの属性値に合うように定められたタスクスクリプト、即ち、Ｓ２１０段階で停止点として指定したタスクスクリプトファイルをライン単位で実行する（Ｓ２９０）。
【００５０】
停止点チェック（Ｓ３００）は、２つの場合がある。
【００５１】
デバッギングモードがｎｅｘｔＢｒｅａｋＰｏｉｎｔである場合は、現在の実行ラインが停止点管理テーブル２００に存在するかを検査して存在すれば停止点であり、存在しなければ停止点ではない。
【００５２】
デバッギングモードがｎｅｘｔＳｔｅｐの場合は、無条件に現在の実行ラインが停止点となる。現在の実行ラインで空白列とブロック構造を表す記号(‘{’、‘}’、‘[’、‘]’）は無視する。
【００５３】
停止点チェック（Ｓ３００）で停止点であると判別されれば、タスク実行器１００はタスクスクリプトの実行を停止し、該当ラインで利用（参照）するあらゆる変数に対して表９Ａ〜表９Ｃの形式に合せて応答メッセージ１１２をデバッギングツール１２０に伝送する（Ｓ３１０）。
【００５４】
デバッギングツール１２０は、デバッギング変数応答メッセージ１１２の入力を受けて（Ｓ３２０）ユーザが理解しやくなるように、画面にディスプレイする（Ｓ３３０）。
【００５５】
このとき、タスク実行器１００は、タスクスクリプトを継続して停止状態に維持する。ユーザはタスクスクリプトの実行が停止している間、デバッギングツール１２０で既存の停止点を削除するか、新たな停止点を追加することもできる（Ｓ３４０）。
【００５６】
停止したタスクスクリプトの実行を再開せしめるためには、デバッギングモードを選択して表５のデバッギング開始命令メッセージを伝送しなければならない。ユーザは２つのデバッギングモードのうちの１つを選択できるが、１つは次の停止点に直ちに移動するものであり（Ｓ３５０）、もう１つは現在の停止点の直ぐ次のラインに移動するものである（Ｓ３７０）。この２種類の命令は、表５のデバッギング開始命令メッセージ１１１の形態でタスク実行器１００に伝送される（Ｓ３６０又はＳ３８０）。
【００５７】
モードに対する選択は表５の属性@ｍｏｄｅに指定できる。タスク実行器１００は、タスクスクリプトの実行停止状態で新たなデバッギング開始命令メッセージ１１１が入力されれば（Ｓ３９０）、入力されたメッセージの形態を判別する（Ｓ４００）。仮りに、@ｍｏｄｅの属性値がｎｅｘｔＢｒｅａｋＰｏｉｎｔであれば、実行モードを次の停止点移動に設定し（Ｓ４１０）、属性値がｎｅｘｔＳｔｅｐであれば、実行モードを次のライン移動に設定する（Ｓ４２０）。
【００５８】
その後、以前に停止した地点からライン単位でタスクスクリプトを再び実行する（Ｓ２９０）。
【００５９】
タスク実行器は１００はタスクスクリプトが実行される間、スレッドが生成され、削除される時点（Ｓ２９１）でスレッドの生成／削除に関する情報を表１１のスレッド通知応答メッセージ１１２を用いてデバッギングツール１２０に伝送する（Ｓ２９２）。このようなスレッド情報は、同時実行を支援するタスクスクリプトのデバッギング／モニタリングを可能にする。
【００６０】
図３は、タスク実行器１００とデバッギングツール１２０がタスクスクリプトの実行をモニタリングする手順の一例を示すものである。
【００６１】
図３は、図２の一部分であって、デバッギング手順と類似するが、停止点でタスクスクリプトの実行が停止しないという点で異なる。即ち、停止点は観察地点としての機能をし、タスクスクリプトは別途の停止或いは終了命令がない限り、その実行が継続して行われる。タスクスクリプトの実行が継続して行われる間、該当停止点に対して表９Ａ〜表９Ｃの形式による応答メッセージをデバッギングツール１２０に伝送する。また、スレッドの生成／削除情報も表１１のスレッド通知応答メッセージ１１２を用いてデバッギングツール１２０に伝送する。
【００６２】
デバッギングとモニタリングは同一のツールで提供され、モニタリングはデバッギングの一形態として提供される。デバッギングツール１２０とタスク実行器１００間のネットワーク連結は、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ Ｃｏｎｔｒｏｌ Ｐｒｏｔｏｃｏｌ）、ＵＤＰ（Ｕｓｅｒ Ｄａｔａｇｒａｍ Ｐｒｏｔｏｃｏｌ）、ＣＡＮ（Ｃｏｎｔｒｏｌｌｅｒ Ａｒｅａ Ｎｅｔｗｏｒｋ）或いはシリアル通信（Ｓｅｒｉａｌ Ｃｏｍｍｕｎｉｃａｔｉｏｎ）を用いることができる。
【図１】
2012133775.tif 000019
【図２Ａ】
2012133775.tif 000020
【図２Ｂ】
2012133775.tif 000021
【図３】
2012133775.tif 000022