(57)【特許請求の範囲】
【請求項１】
１つまたは複数のコントローラに関連する構成を更新するための方法であって、
前記１つまたは複数のコントローラで使用されるインスタンスに対応するアプリケーションコードを含む１つまたは複数のライブラリユーザブロックを更新するステップと、
前記１つまたは複数のライブラリユーザブロックのアプリケーションコードと対応する１つまたは複数のインスタンスを使用する１つまたは複数のコントローラを識別するステップと、
ユーザから受け取った入力に基づいて、１つまたは複数のターゲットコントローラの選択されたグループを識別するステップであって、前記選択されたグループは、前記１つまたは複数のコントローラのサブセットからなる、ステップと、
１つまたは複数の保護パラメータを識別するステップであって、前記１つまたは複数の保護パラメータは、前記１つまたは複数のターゲットコントローラの選択されたグループに対する前記１つまたは複数のインスタンスに対応するアプリケーションコードを一度に修正することを可能にする少なくとも１つのパスワードを有する、ステップと、
前記少なくとも１つのパスワードおよび前記１つまたは複数のライブラリユーザブロックを更新するステップに少なくとも部分的に基づいて、前記１つまたは複数のターゲットコントローラの選択されたグループに関連するアプリケーションコードを選択的に修正するステップと、
を含む方法。
【請求項２】
前記アプリケーションコードを選択的に修正するステップは、１つまたは複数の他のリンクされたブロックを識別するステップにさらに基づく、請求項１に記載の方法。
【請求項３】
前記１つまたは複数のライブラリユーザブロックを更新するステップが、少なくとも１つのメモリに更新を格納するステップを備える、請求項１または２に記載の方法。
【請求項４】
構成を更新するためのシステムであって、
１つまたは複数のコントローラと、
データおよびコンピュータ実行可能命令を格納する少なくとも１つメモリと、
少なくとも１つのコンピュータと、
を備え、
前記少なくとも１つのコンピュータは、
前記１つまたは複数のコントローラで使用されるインスタンスに対応するアプリケーションコードを含む１つまたは複数のライブラリユーザブロックを更新するステップと、
前記１つまたは複数のライブラリユーザブロックのアプリケーションコードと対応する１つまたは複数のインスタンスを使用する１つまたは複数のコントローラを識別するステップと、
ユーザから受け取った入力に基づいて、１つまたは複数のターゲットコントローラの選択されたグループを識別するステップであって、前記選択されたグループは、前記１つまたは複数のコントローラのサブセットからなる、ステップと、
１つまたは複数の保護パラメータを識別するステップであって、前記１つまたは複数の保護パラメータは、前記１つまたは複数のターゲットコントローラの選択されたグループに対する前記１つまたは複数のインスタンスに対応するアプリケーションコードを一度に修正することを可能にする少なくとも１つのパスワードを有する、ステップと、
前記少なくとも１つのパスワードおよび前記１つまたは複数のライブラリユーザブロックを更新するステップに少なくとも部分的に基づいて、前記１つまたは複数のターゲットコントローラの選択されたグループに関連するアプリケーションコードを選択的に修正するステップと、
に対応する格納された前記コンピュータ実行可能命令を実行するように構成された、
システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般には、アプリケーションコードに関し、より詳細には、複数のターゲットコントローラのためのアプリケーションコード変更構成を展開することに関する。
【背景技術】
【０００２】
コンピュータハードウェア、ファームウェア、ソフトウェアを含む複雑な分散システムを、他の特別な機械と共に、しばしば職員が制御する必要がある。一部のシステムは、コンピュータコントローラの複数のインスタンスを有し、複数のコントローラのそれぞれが、アプリケーションコード、または他の関連のコントローラ上で実行されるアプリケーションコードと共通であってもよいアプリケーションコードの一部を実行することができる。こうしたシステム内でアプリケーションコードを更新することは、非常に複雑かつ困難な仕事であり得る。
【０００３】
たとえば、再生可能エネルギーファームは、広域に分散された何十または何百もの別個のエネルギーハーベスティングデバイスを有することがあり、これらのデバイスはそれぞれ、たとえば、エネルギー転換を最適化し、かつ／またはエネルギー生産を他のエネルギーハーベスティングデバイスと調整するための専用のコントローラを有することがある。場合によっては、職員は、ソフトウェアまたはファームウェアを更新するために、各コントローラ位置に物理的に出向く必要があり得る。コントローラにネットワークを介してアクセス可能な場合でも、コードライブラリまたはコントローラの複数のクラスを追跡し、複数のインスタンス内のアプリケーションコードを適切に更新する作業は、厄介であり、多大な時間を要することになり得る。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】米国特許第５５９４８５８号公報
【発明の概要】
【課題を解決するための手段】
【０００５】
上記の必要性のうちの一部またはすべては、本発明の特定の実施形態によって対処することができる。本発明の特定の実施形態は、複数のターゲットコントローラのためのアプリケーションコード変更構成を展開するためのシステム、方法および装置を含むことができる。
【０００６】
本発明の一実施形態例によれば、１つまたは複数のコントローラに関連する構成を更新するための方法が提供される。この方法は、１つまたは複数のライブラリユーザブロックを更新するステップと、対応するユーザブロックインスタンスを１つまたは複数のライブラリユーザブロックに関連付けるステップと、関連付けに少なくとも部分的に基づいて、１つまたは複数のコントローラに関連する１つまたは複数のアプリケーションコード構成を修正するステップとを含むことができる。
【０００７】
別の実施形態例によれば、構成を更新するためのシステムが提供される。このシステムは、１つまたは複数のコントローラと、データおよびコンピュータ実行可能命令を格納するための少なくとも１つメモリと、１つまたは複数のライブラリユーザブロックを更新し、１つまたは複数のコントローラ内の対応するユーザブロックインスタンスを１つまたは複数のライブラリユーザブロックに関連付け、関連付けに少なくとも部分的に基づいて、１つまたは複数のコントローラに関連する１つまたは複数のアプリケーションコード構成を修正するための格納されたコンピュータ実行可能命令を実行するように構成された少なくとも１つのプロセッサとを含む。
【０００８】
別の実施形態例によれば、１つまたは複数のコントローラに関連する構成を更新するための装置が提供される。この装置は、コンピュータ実行可能命令を格納するための少なくとも１つのメモリと、少なくとも１つのプロセッサとを含む。プロセッサは、少なくとも１つのメモリにアクセスするように構成することができ、また、１つまたは複数のライブラリユーザブロックを更新し、１つまたは複数のコントローラ内の対応するユーザブロックインスタンスを１つまたは複数のライブラリユーザブロックに関連付け、関連付けに少なくとも部分的に基づいて、１つまたは複数のコントローラに関連する１つまたは複数のアプリケーションコード構成を修正するためのコンピュータ実行可能命令を実行するようにさらに構成することができる。
【０００９】
本発明の他の実施形態および態様が、本明細書に詳細に述べられており、特許請求された本発明の一部と見なされる。他の実施形態および態様は、下記の詳細な説明、添付の図面、および特許請求の範囲を参照して理解することができる。
【００１０】
次に、図面を参照するが、それらは必ずしも原寸に比例して示されていない。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施形態例による、例示的なコード変更構成システムのブロック図である。
【図２】本発明の一実施形態例による、例示的なライブラリコンテナウィンドウの図である。
【図３】本発明の一実施形態例による、例示的なＣｏｎｔｒｏｌｌｅｒｓ  ｔｏ  Ｕｐｄａｔｅウィンドウの図である。
【図４】本発明の一実施形態例による、例示的なＢｌｏｃｋ  Ｕｐｄａｔｅウィンドウの図である。
【図５】本発明の一実施形態例による、例示的なパスワード保護ウィンドウの図である。
【図６】本発明の一実施形態例による、方法例の流れ図である。
【発明を実施するための形態】
【００１２】
本発明の実施形態について、本発明の実施形態が示されている添付の図面を参照して下記により完全に述べられる。しかし、本発明は、多くの異なる形で実施することができ、本明細書に述べられた諸実施形態に限定されるものと解釈すべきでなく、むしろ、これらの実施形態は、本開示を徹底した完全なものとするために提供されており、当業者に本発明の範囲を完全に伝えるものである。同じ番号は、全体を通して類似の要素を指す。
【００１３】
本発明の特定の実施形態は、コントローラなどの複数のターゲットのためのアプリケーションコード変更構成の展開を可能にすることができる。したがって、本発明の特定の態様例は、ユーザがアプリケーションコードおよび／またはユーザブロック定義変更を開始し、コードライブラリから１つまたは複数のコントローラに転送することを可能にすることができる。本発明の特定の実施形態では、ユーザがユーザブロック定義の変更を１つの操作でライブラリからすべてのコントローラに直接にインスタンス化することを可能にすることができる。
【００１４】
本発明の一実施形態例による、アプリケーションコード変更構成を展開するための専用モジュールで構成された様々なコンピュータシステムについて、次に添付の図面を参照して述べられる。
【００１５】
図１は、本発明の一実施形態例による、構成システム例１００を示している。構成システム１００は、コンピュータ１０２を含むことができる。コンピュータは、メモリ１０４と、１つまたは複数のプロセッサ１０６と、１つまたは複数の入出力１０８とを含むことができる。特定の実施形態例によれば、コンピュータ１０２は、１つまたは複数のコントローラ１３０への展開のために人間読取り可能コードを機械読取り可能コードに変換するコンパイラ１１０を含むことができる。本発明の実施形態例では、コンピュータ１０２は、情報を受け取り、ユーザインターフェース１３２上に表示するように動作可能であってもよい。本発明の実施形態例では、コンピュータ１０２は、データベース１３４に情報を送り、取り出すように動作可能であってもよい。
【００１６】
本発明の実施形態例によれば、メモリ１０４は、オペレーティングシステム１１２およびデータ１１４を含むことができる。本発明の実施形態例によれば、専用モジュールもまた、メモリ１０４内に常駐することがあり、アプリケーションコード変更に関連する機能を実施するように構成され、プログラムされかつ／または動作可能であってもよい。たとえば、本発明の一実施形態例によれば、メモリ１０４は、ユーザブロックライブラリ１１８を含むことができる。ユーザブロックライブラリ１１８は、たとえば、任意の数のアプリケーションコードブロックを含み編成するために使用することができる。メモリは、ユーザブロック定義１２０を含むこともできる。本発明の実施形態例によれば、ユーザブロック定義１２０は、ユーザブロックライブラリ１１８内のアプリケーションコードの様々なブロックまたはセクションを、個々のコントローラ１３０上で実行され得る集約ソフトウェアおよびファームウェアに関連付けるリンクおよび／または仕様を含むことができる。
【００１７】
本発明の実施形態例によれば、メモリ１０４は、１つまたは複数のコントローラプロジェクトモジュール１２２を含むことができる。実施形態例では、コントローラプロジェクトモジュール１２２は、たとえば、特定のアプリケーションコードブロックのインスタンスを使用するコントローラ１３０のリストを維持するために使用することができる。本発明の実施形態例によれば、コントローラプロジェクトモジュール１２２は、共通または一意のアプリケーションコードのどのブロックを汎用更新プロセスで更新可能であるか、およびアプリケーションコードのどのブロックを、たとえばアプリケーションコード更新中に不注意で更新しないようにパスワードにより保護すべきか指定できる情報を含むこともできる。
【００１８】
本発明の実施形態例によれば、ユーザブロックライブラリ１１８、ユーザブロック定義１２０およびコントローラプロジェクト１２２は、スマート検索および更新機能をそれぞれ別個に提供してもよいし、組み合わせて提供してもよく、このスマート検索および更新機能は、たとえばアプリケーションコードの特定のインスタンスがどこで使用されるか見つけ、さらにアプリケーションコードの特定のインスタンスが自動的に更新されてもよいかどうか判断するために、オペレータがすべてのユーザブロックライブラリ１１８およびコントローラプロジェクト１２２を検索することを可能にすることができる。
【００１９】
図２は、ライブラリコンテナ例２００のウィンドウを示している。本発明の特定の実施形態例によれば、図１の１３２など、ユーザインターフェースは、コンテキストメニューからユーザブロックアイテム２０２のＵｐｄａｔｅ  Ａｌｌ  Ｕｓｅｓオプション２０４を選択するために使用されてもよい。本発明の一実施形態例によれば、コンテキストメニューからＵｐｄａｔｅ  Ａｌｌ  Ｕｓｅｓオプション２０４を選択すると、ライブラリコンテナが保存された状態にあることを保証するためのチェックがまず開始され得る。ライブラリコンテナが保存されていない状態にある場合は、コンテナを保存すべきであることを警告するダイアログが現われてもよい。コンテナが保存された状態になると、図３に示されたように、Ｃｏｎｔｒｏｌｌｅｒｓ  ｔｏ  Ｕｐｄａｔｅウィンドウ３００が開かれてもよい。本発明の実施形態例によれば、Ｃｏｎｔｒｏｌｌｅｒｓ  ｔｏ  Ｕｐｄａｔｅウィンドウ３００が開始されるとき、システム内のどのコントローラが特定のユーザブロックを使用するか決定するための検索を行うことができ、ウィンドウ３００は、リンクされたブロックを含むコントローラが見つかるときに更新されてもよい。
【００２０】
一実施形態例によれば、特定のユーザブロックを使用するシステム内のコントローラは、ブロックがパスワード保護されているかどうかに応じて、またＯＫステータス３０６または読取り専用ステータス３０８で示されるように、自動的に選択３０２または選択解除３０４されてもよい。一実施形態例では、特定のユーザブロックは、更新用のコントローラを選択するためにユーザによって手動で選択３０２または選択解除３０４することもできる。コントローラが読取り専用ステータス３０８であると分かる場合、ユーザは、ウィンドウ３００のステータス欄で警告を受ける。一実施形態例によれば、コードのブロックを含むコントローラの検索が完了するとき、Ｕｐｄａｔｅボタン３１０が表示されてもよい。Ｕｐｄａｔｅボタン３１０を選択すると、また本発明の一実施形態例によれば、図４に示されたように、Ｂｌｏｃｋ  Ｕｐｄａｔｅウィンドウ４００が開かれてもよい。本発明の一実施形態例では、ライブラリ４０２がまず更新されてよく、次いで、（図３の３０２に見られるように）以前に選択されたいずれかのコントローラ４０４を更新してもよい。一実施形態例によれば、ユーザは、検索および／または更新処理をいつでも取り消すことができる。図４に示されたように、ウィンドウ４００内の更新済みブロック欄は、更新されたライブラリブロック４０６の数および更新されたコントローラブロック４０８の数を示す。
【００２１】
一実施形態例によれば、システムは、コントローラ内のパスワード保護されたブロックを更新しようとする場合、ユーザへのパスワードセキュリティチャレンジで応答することができる。パスワード保護ウィンドウ例５００が図５に示されおり、特定のコントローラの特定のブロックを更新するためにパスワード入力５０２が求められてもよい。一実施形態例では、新しいパスワードチャレンジを可能にする前に、このシステムは、チャレンジを満たすために以前入力されたパスワードの使用を試みてもよい。一実施形態例では、ユーザがパスワードチャレンジを取り消す場合、このシステムは、その現在のブロックをスキップし、次のブロックに進んでよい。一実施形態例では、セキュリティチャレンジの取消しによりインスタンス化に失敗したブロック数を、成功の回数と共に表示してもよい。
【００２２】
１つまたは複数のコントローラに関連する構成を更新するための一方法例６００について、図６の流れ図を参照して次に述べられる。この方法はブロック６０２で開始し、この方法は、１つまたは複数のライブラリユーザブロックを更新するステップを含む。ブロック６０４で、方法６００は、対応するユーザブロックインスタンスを１つまたは複数のライブラリユーザブロックに関連付けるステップを含む。ブロック６０６で、方法６００は、関連付けに少なくとも部分的に基づいて、１つまたは複数のコントローラに関連する１つまたは複数のアプリケーションコード構成を修正するステップを含むことができる。本発明の特定の実施形態例では、またブロック６０８に示されたように、方法６００は、１つまたは複数のライブラリユーザブロックの更新に少なくとも部分的に基づいて、１つまたは複数のコントローラに関連する１つまたは複数のアプリケーションコード構成を修正するステップを含むことができる。方法６００は、ブロック６０８の後、終了する。
【００２３】
本発明の実施形態例によれば、１つまたは複数のライブラリユーザブロックを更新した後、１つまたは複数のアプリケーションコード構成は、１つまたは複数のライブラリユーザブロックの更新に応答して少なくとも１つの構成ファイルを更新することによって修正することができる。本発明の特定の実施形態例では、アプリケーションコード構成は、ターゲットコントローラの選択に基づいて修正されてもよい。本発明の一実施形態例では、１つまたは複数のアプリケーションコード構成を修正するステップは、１つまたは複数の保護パラメータに基づいてもよい。たとえば、アプリケーションコード構成を修正するには、パスワードが必要となり得る。特定の実施形態では、１つまたは複数のライブラリユーザブロックを更新するステップは、少なくとも１つのメモリに更新を格納するステップを含むことができる。
【００２４】
したがって、本発明の実施形態例は、ユーザブロックを更新するステップの数を減少させる特定のシステム、方法および装置を作成する技術的効果をもたらすことができる。本発明の実施形態例は、アプリケーションコード変更に関連する精度および効率を高めるためのシステム、方法および装置を提供するさらなる技術的効果をもたらすことができる。本発明の特定の実施形態は、ユーザがユーザブロック定義の変更を１つの操作でライブラリからすべてのコントローラに直接にインスタンス化することを可能にするさらなる技術的効果をもたらし得る
本発明の実施形態例では、構成システム１００は、諸操作のうちのいずれかを容易にするために実行される任意の数のハードウェアおよび／またはソフトウェアアプリケーションを含むことができる。
【００２５】
実施形態例では、１つまたは複数のＩ／Ｏインターフェースは、構成システム１００と１つまたは複数の入出力デバイスとの間の通信を容易にすることができる。たとえば、ユニバーサルシリアルバスポート、シリアルポート、ディスクドライブ、ＣＤ−ＲＯＭドライブ、および／またはディスプレイ、キーボード、キーパッド、マウス、コントロールパネル、タッチスクリーンディスプレイ、マイクロホンなど、１つまたは複数のユーザインターフェースデバイスは、構成システム１００とのユーザ対話を容易にすることができる。１つまたは複数のＩ／Ｏインターフェースは、幅広い入力デバイスからデータおよび／またはユーザ命令を受信し、または収集するために使用することができる。受信されたデータは、本発明の様々な実施形態において望まれるように１つまたは複数のコンピュータプロセッサによって処理され、かつ／または１つまたは複数のメモリデバイス内に格納されてもよい。
【００２６】
１つまたは複数のネットワークインターフェースは、構成システム１００の入出力を、１つまたは複数の適切なネットワークおよび／または接続部、たとえばシステムに関連する任意の数のセンサとの通信を容易にする接続部に接続することを容易にすることができる。１つまたは複数のネットワークインターフェースは、外部デバイスおよび／またはシステムとの通信のために、１つまたは複数の適切なネットワーク、たとえば、ローカルエリアネットワーク、広域ネットワーク、インターネット、セルラネットワーク、無線周波数ネットワーク、Ｂｌｕｅｔｏｏｔｈ（商標）対応ネットワーク、Ｗｉ−Ｆｉ（商標）対応ネットワーク、衛星ベースのネットワーク、任意の有線ネットワーク、任意の無線ネットワークなどへの接続をさらに容易にすることができる。
【００２７】
要望に応じて、本発明の実施形態は、図１に示されたコンポーネントを多かれ少なかれ有する構成システム１００を含むことができる。さらに、本発明の実施形態は、図２、図３、図４、図５または図６に示された特徴を多かれ少なかれ有するユーザインターフェースウィンドウ２００、３００、４００、５００を含むことができる。
【００２８】
本発明について、本発明の実施形態例によるシステム、方法、装置および／またはコンピュータプログラム製品のブロック図および流れ図を参照して上記に述べられる。ブロック図および流れ図の１つまたは複数のブロック、ならびにブロック図および流れ図内のブロックの組合せはそれぞれ、コンピュータ実行可能プログラム命令によって実施できることが理解されよう。同様に、ブロック図および流れ図の一部のブロックは、提示された順序で必ずしも実施する必要があるとは限らないことがあり、また本発明の一部の実施形態に従って必ずしも実施する必要があるとは限らないことがある。
【００２９】
これらのコンピュータ実行可能プログラム命令は、コンピュータ、プロセッサ、または他のプログラマブルデータ処理装置内で実行される命令が流れ図ブロックに指定された１つまたは複数の機能を実施するための手段を作成するように、汎用コンピュータ、専用コンピュータ、プロセッサ、または特定の機械を作成するための他のプログラマブルデータ処理装置内にロードされてもよい。これらのコンピュータプログラム命令は、コンピュータ読取り可能メモリ内に格納することもでき、このこれらのコンピュータプログラム命令は、コンピュータ読取り可能メモリ内に格納された命令が、流れ図ブロックに指定された１つまたは複数の機能を実施する命令手段を含む製品をもたらすように、コンピュータまたは他のプログラマブルデータ処理装置に特定のやり方で機能するよう指示することができる。一例として、本発明の実施形態は、コンピュータ読取り可能プログラムコードまたはプログラム命令がその中に具現化されたコンピュータ使用可能媒体を備えるコンピュータプログラム製品を提供することができ、前記コンピュータ読取り可能プログラムコードは、流れ図ブロックに指定された１つまたは複数の機能を実施するために実行されるように適応される。コンピュータプログラム命令は、コンピュータまたは他のプログラマブルデータ処理装置にロードして、コンピュータまたは他のプログラマブル装置上で実行される命令が、流れ図ブロックに指定された機能を実施するための要素またはステップを提供するように、コンピュータ実施プロセスの生成のために一連の操作要素またはステップをコンピュータまたは他のプログラマブル装置上で実施させることもできる。
【００３０】
したがって、ブロック図および流れ図のブロックは、指定された機能を実施するための手段の組合せ、指定された機能を実施するための要素またはステップの組合せ、および指定された機能を実施するためのプログラム命令手段をサポートする。ブロック図および流れ図の各ブロック、ならびにブロック図および流れ図のブロックの組合せは、指定された機能、要素またはステップを実施する専用のハードウェアベースのコンピュータシステムで実施されてもよいし、専用ハードウェアとコンピュータ命令の組合せによって実施されてもよいことも理解されよう。
【００３１】
本発明について、最も実際的な様々な実施形態であると現在見なされていることに関連して述べられたが、本発明は、開示された諸実施形態に限定されず、しかしそれとは対照的に、添付の特許請求の範囲内に含まれた様々な修正および等価の構成を網羅するものであることを理解されたい。本明細書では特定の用語が用いられているが、それらは、限定のためではなく、一般的かつ説明的な意味で用いられるものにすぎない。
【００３２】
本書は、最良の形態を含めて本発明を開示し、また任意のデバイスまたはシステムを作成し使用し、組み込まれたいずれかの方法を実施することを含めて当業者が本発明を実施することを可能にするためにも実施例を用いている。本発明の特許範囲は、特許請求の範囲に定義されており、また当業者に思い付く他の実施例を含み得る。他のこうした実施例は、特許請求の範囲の文字通りの言語とは異ならない構造的要素を有しており、または特許請求の範囲の文字通りの言語とはわずかにしか異ならない等価の構造的要素を含む場合は、特許請求の範囲内にあるものとする。
別紙1ページ
【符号の説明】
【００３３】
１００  構成システム
１０２  コンピュータ
１０４  メモリ
１０６  プロセッサ
１０８  入出力インターフェース
１１０  コンパイラ
１１２  オペレーティングシステム
１１４  データ
１１８  ユーザブロックライブラリ
１２０  ユーザブロック定義
１２２  コントローラプロジェクト
１３０  コントローラ
１３２  ユーザインターフェース
１３４  データベース
２００  ライブラリコンテナウィンドウ
２０２  ユーザブロックアイテム
２０４  Ｕｐｄａｔｅ  Ａｌｌ  Ｕｓｅｓオプション
３００  Ｃｏｎｔｒｏｌｌｅｒｓ  ｔｏ  Ｕｐｄａｔｅウィンドウ
３０２  コントローラ選択
３０４  コントローラ選択解除
３０６  ＯＫステータス
３０８  読取り専用ステータス
３１０  Ｕｐｄａｔｅボタン
４００  Ｂｌｏｃｋ  Ｕｐｄａｔｅウィンドウ
４０２  ライブラリ
４０４  コントローラ
４０６  更新されたライブラリブロック
４０８  更新されたコントローラブロック
５００  パスワード保護ウィンドウ
５０２  パスワード入力
【図１】
0005973696.tif 000002
【図２】
0005973696.tif 000003
【図３】
0005973696.tif 000004
【図４】
0005973696.tif 000005
【図５】
0005973696.tif 000006
【図６】
0005973696.tif 000007