(57)【要約】  プログラムのうち予め設定された部分が更新された場合に、当該更新された部分をユーザが容易に確認可能な技術を提供することを目的とする。複数の更新装置で更新可能なプログラムに含まれる単位であって、当該プログラムにより実現される機能の単位である機能単位の中から、設定機能単位が予め設定されている。表示制御装置は、確認済みの操作が行われた設定機能単位と、現在の設定機能単位との間の差分を抽出する差分抽出部１１と、差分抽出部１１で差分が抽出された場合に、当該差分を表示装置に表示させることが可能な表示制御部１２とを備える。
2017119057.tif 000002
【特許請求の範囲】
【請求項１】
複数の更新装置で更新可能なプログラムに含まれる単位であって、当該プログラムにより実現される機能の単位である機能単位の中から、設定機能単位が予め設定され、
確認済みの操作が行われた前記設定機能単位と、現在の前記設定機能単位との間の差分を抽出する差分抽出部と、
前記差分抽出部で前記差分が抽出された場合に、当該差分を表示装置に表示させることが可能な表示制御部と
を備える、表示制御装置。
【請求項２】
請求項１に記載の表示制御装置であって、
前記表示制御部は、
前記差分抽出部で前記差分が抽出された場合に、当該差分と、当該差分が抽出された前記設定機能単位と、表示オブジェクトとを対応させて前記表示装置に表示させ、
前記差分抽出部は、
入力操作が行われた前記表示オブジェクトに対応する前記設定機能単位を、前記確認済みの操作が行われた前記設定機能単位として用いる、表示制御装置。
【請求項３】
請求項２に記載の表示制御装置であって、
前記表示オブジェクトへの前記入力操作が行われた場合に、当該表示オブジェクトに対応する前記設定機能単位のリビジョン番号を、前記プログラムの現在のリビジョン番号に更新する更新部をさらに備える、表示制御装置。
【請求項４】
請求項３に記載の表示制御装置であって、
前記更新部は、
前記表示オブジェクトへの入力操作が行われなかった場合に、当該表示オブジェクトに対応する前記設定機能単位のリビジョン番号を維持する、表示制御装置。
【請求項５】
請求項３に記載の表示制御装置であって、
前記プログラムは、
前記複数の更新装置のうち前記表示制御装置に対応する更新装置で編集されている前記機能単位である被編集機能単位と、
前記被編集機能単位に関連する前記機能単位であって、前記設定機能単位として設定される関連機能単位とを含み、
前記設定機能単位と、前記設定機能単位の前記被編集機能単位とを対応付けて登録する、表示制御装置。
【請求項６】
請求項３に記載の表示制御装置であって、
複数のユーザに対して少なくとも１つの前記設定機能単位が設定され、
サーバと、
前記表示オブジェクトへの前記入力操作が行われた場合に、当該表示オブジェクトに対応する前記設定機能単位と、当該設定機能単位が設定されたユーザの情報と、前記更新部で更新された当該設定機能単位のリビジョン番号とが対応付けられた送信情報を、前記サーバに送信する通信部と
をさらに備え、
前記サーバは、
前記通信部から送信された前記送信情報に基づいて、前記設定機能単位と、前記設定機能単位のリビジョン番号とが、ユーザごとに対応付けられたリビジョン管理表を管理する、表示制御装置。
【請求項７】
請求項６に記載の表示制御装置であって、
前記サーバで管理されている前記リビジョン管理表の前記設定機能単位と、現在の前記プログラムに含まれる前記設定機能単位との間の差分に基づいて、前記リビジョン管理表の前記設定機能単位が確認済みか否かを判定する差分判定部をさらに備える、表示制御装置。
【請求項８】
請求項６に記載の表示制御装置であって、
前記通信部は、
前記表示オブジェクトへの前記入力操作に加えて、当該表示オブジェクトに対応する前記設定機能単位に対して付随情報の入力操作が行われた場合に、当該設定機能単位と、当該設定機能単位が設定されたユーザの情報と、前記更新部で更新された当該設定機能単位のリビジョン番号とに加えて、前記付随情報が対応付けられた前記送信情報を、前記サーバに送信し、
前記サーバは、
前記通信部から送信された前記送信情報に基づき、前記設定機能単位、及び、前記設定機能単位のリビジョン番号に加えて、前記付随情報も対応付けて、前記リビジョン管理表にて管理する、表示制御装置。
【請求項９】
請求項１に記載の表示制御装置であって、
前記プログラムは、
前記複数の更新装置のうち前記表示制御装置に対応する更新装置で編集されている前記機能単位である被編集機能単位と、
前記被編集機能単位に関連する前記機能単位であって、前記設定機能単位として設定される関連機能単位とを含み、
前記関連機能単位は、前記被編集機能単位の上位もしくは下位の前記機能単位、または、ユーザにより指定された前記機能単位を含む、表示制御装置。
【請求項１０】
複数の更新装置で更新可能なプログラムに含まれる単位であって、当該プログラムにより実現される機能の単位である機能単位の中から、設定機能単位が設定され、
確認済みの操作が行われた前記設定機能単位と、現在の前記設定機能単位との間の差分を抽出し、
前記差分が抽出された場合に、当該差分を表示装置に表示させることが可能な、表示制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラムなどのソフトウェアの開発を支援するための表示が可能な表示制御装置及び表示制御方法に関する。
【背景技術】
【０００２】
プログラムなどのソフトウェアの開発を支援するための表示を、表示装置にさせる表示制御装置及び表示制御方法について、様々な技術が提案されている。例えば特許文献１には、ソースコードの変更履歴を表示させる技術が提案されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−１３１００２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ソフトウェアの開発は、複数人で並行して行われる場合がある。この場合、ある開発者がプログラム内の関数を更新したことが原因で、他の開発者が当該関数において意図していた機能が実現できなくなってしまうこと、または、関数間の連携においてバグが生じてしまうことがある。【０００５】
このようなプログラムの不具合は、開発者が、自身が開発している関数またはそれに影響を及ぼす関数に関して、他の開発者の更新を頻繁に確認すれば低減することができるが、開発者の労力が大きくなるという別の問題が生じる。また、開発者が、各関数の更新部分に対して、他の開発者の確認状況を把握したり、コードレビューの実施を行ったりすれば、上述のプログラムの動作の不具合を低減することができるが、この場合も同様に、開発者の労力が大きくなるという別の問題が生じる。【０００６】
そこで、本発明は、上記のような問題点を鑑みてなされたものであり、プログラムのうち予め設定された部分が更新された場合に、当該更新された部分をユーザが容易に確認可能な技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明に係る表示制御装置は、複数の更新装置で更新可能なプログラムに含まれる単位であって、当該プログラムにより実現される機能の単位である機能単位の中から、設定機能単位が予め設定され、確認済みの操作が行われた設定機能単位と、現在の設定機能単位との間の差分を抽出する差分抽出部と、差分抽出部で差分が抽出された場合に、当該差分を表示装置に表示させることが可能な表示制御部とを備える。
【発明の効果】
【０００８】
本発明によれば、差分抽出部は、確認済みの操作が行われた設定機能単位と、現在の設定機能単位との間の差分を抽出し、表示制御部は、差分抽出部で差分が抽出された場合に、当該差分を表示装置に表示させる。これにより、設定機能単位またはそれと関係する機能単位の開発を行っているユーザは、当該設定機能単位が他のユーザの開発によって更新された場合に、当該更新された部分を容易に確認することができる。【０００９】
本発明の目的、特徴、態様及び利点は、以下の詳細な説明と添付図面とによって、より明白となる。
【図面の簡単な説明】
【００１０】
【図１】実施の形態１に係る表示制御装置の構成を示すブロック図である。
【図２】実施の形態２に係る表示制御装置の構成を示すブロック図である。
【図３】実施の形態２に係る監視対象管理表を示す図である。
【図４】実施の形態２に係る差分の表示例を示す図である。
【図５】実施の形態２に係る表示制御装置の動作を示すフローチャートである。
【図６】実施の形態２に係る表示制御装置の動作を示す図である。
【図７】変形例２に係る監視対象管理表を示す図である。
【図８】変形例２に係る差分の表示例を示す図である。
【図９】実施の形態３に係る表示制御装置の構成を示すブロック図である。
【図１０】実施の形態３に係る表示制御装置の構成を示すブロック図である。
【図１１】実施の形態３に係るリビジョン管理表を示す図である。
【図１２】実施の形態３に係るチェック状況管理装置の構成を示すブロック図である。
【図１３】実施の形態３に係る差分判定部の判定結果を示す図である。
【図１４】実施の形態３に係る表示制御装置及びサーバの動作を示すフローチャートである。
【図１５】実施の形態３に係るチェック状況管理装置の動作を示すフローチャートである。
【図１６】実施の形態４に係る付随情報の入力例を示す図である。
【図１７】実施の形態４に係るリビジョン管理表を示す図である。
【図１８】実施の形態４に係る差分判定部の判定結果を示す図である。
【図１９】実施の形態４に係る表示制御装置及びサーバの動作を示すフローチャートである。
【図２０】実施の形態４に係るチェック状況管理装置の動作を示すフローチャートである。
【図２１】表示制御装置のハードウェア構成の一例を示す図である。
【図２２】表示制御装置のハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【００１１】
＜実施の形態１＞
図１は、本発明の実施の形態１に係る表示制御装置の構成を示すブロック図である。この表示制御装置１は、リポジトリ２、出力装置である表示装置３、及び、入力装置４と接続されている。表示装置３は、各種情報を表示する装置であり、例えば液晶ディスプレイなどが適用される。入力装置４は、例えばユーザなどから各種操作を受け付ける装置であり、例えば押しボタンまたはタッチパネルなどが適用される。
【００１２】
リポジトリ２は、複数の更新装置（図示せず）で更新可能なプログラムを記憶する。
【００１３】
ここで、リポジトリ２に記憶されるプログラムは、当該プログラムにより実現される機能の単位である機能単位を含んでいる。機能単位には、例えば関数、モジュール、サブルーチン、ソースファイルなどが適用される。プログラムは、機能単位を含むものであればよく、例えば機能単位に関数が適用された構成では、プログラムに、関数を含むモジュール、サブルーチン、ソースファイルなどが適用される。
【００１４】
本実施の形態１では、当該プログラムに含まれる機能単位の中から、１以上の機能単位が設定機能単位として予め設定される。設定機能単位は、例えば、ユーザが入力装置４に設定操作を行うことなどによって設定されるが、後述するように、表示制御装置１が構文解析などを行なうことによって自動的に設定されてもよい。
【００１５】
次に、図１の表示制御装置１の構成要素について説明する。表示制御装置１は、差分抽出部１１と、表示制御装置１などの各構成要素を統括的に制御する制御部である表示制御部１２とを備えている。
【００１６】
差分抽出部１１は、確認済みの操作が行われた設定機能単位と、現在の設定機能単位との間の差分を抽出する。本実施の形態１では、入力装置４が、表示装置３に表示されている設定機能単位に対して確認済みの操作を受け付けた場合に、当該設定機能単位が、確認済みの操作が行われた設定機能単位として用いられる。なお、確認済みの操作が、これまでに複数回行われていた場合には、差分抽出部１１は、確認済みの操作が直近に行われた設定機能単位と、現在の設定機能単位との間の差分を抽出する。
【００１７】
表示制御部１２は、差分抽出部１１で差分が抽出された場合に、当該差分を表示装置３に表示させることが可能となっている。
【００１８】
ところで、上述の差分抽出部１１は、現在の設定機能単位を含む現在のプログラムをリポジトリ２から適宜取得する。そして、入力装置４が、表示装置３に表示されている設定機能単位に対して確認済みの操作を受け付けた場合に、表示制御部１２は、当該操作が行われた設定機能単位を差分抽出部１１に出力する。これにより、差分抽出部１１は、差分抽出すべき差分対象を取得することができる。
【００１９】
＜実施の形態１のまとめ＞
設定機能単位を含むプログラムが更新されることによって、確認済みの操作が行われた過去の設定機能単位と、現在の設定機能単位とが異なる場合がある。このような場合に、本実施の形態１に係る表示制御装置１によれば、それらの間で異なる部分を差分として表示装置３に表示する。これにより、設定機能単位またはそれと関係する機能単位の開発を行っているユーザは、当該設定機能単位が他のユーザの開発によって更新された場合に、当該更新された部分を容易に確認することができる。よって、ユーザは、設定機能単位において意図していた機能が実現できなくなるか否かを容易に確認したり、設定機能単位の間のバグがあるか否かを容易に確認したりすることができる。このことは、例えば、地図表示機能、オーディオ機能などの各種機能を含むプログラムの開発、例えばナビゲーション装置などのプログラムの開発に有効である。
【００２０】
＜実施の形態２＞
図２は、本発明の実施の形態２に係る表示制御装置の構成を示すブロック図である。以下、本実施の形態２で説明する構成要素のうち、実施の形態１と同じまたは類似する構成要素については同じ参照符号を付し、異なる構成要素について主に説明する。
【００２１】
なお以下の説明では、機能単位は、プログラムの関数であり、設定機能単位は、プログラム内の複数の関数の中から予め設定された設定関数であるものとして説明する。
【００２２】
図２の表示制御装置１は、実施の形態１と同様のリポジトリ２〜入力装置４に加えて、監視対象管理データベース５と接続されている。監視対象管理データベース５は、リポジトリ２に記憶されたプログラムごとに監視対象管理表を記憶する。監視対象管理データベース５に記憶された監視対象管理表は、表示制御部１２の制御により、表示装置３に適宜表示することが可能となっている。
【００２３】
図３は、本実施の形態２に係る監視対象管理表の一例を示す図である。監視対象管理表では、設定関数（監視対象）の名称と、設定関数のリビジョン番号とが対応付けられている。なお、リビジョン番号とは、リビジョンを一意に特定するための番号である。リビジョンとは、プログラム（ソフトウェア）の改訂に相当し、いわゆるバージョンと同義である。
【００２４】
本実施の形態２では、リビジョン番号として、プログラムのリビジョン番号、及び、設定関数のリビジョン番号が規定されている。
【００２５】
プログラムのリビジョン番号は、リポジトリ２に記憶されている。以下の説明では、プログラムのリビジョン番号に、整数値であって、プログラムが更新されるごとに１ずつ増える値が用いられる。ただしこれに限ったものではなく、バージョン管理ツールによっては、プログラムのリビジョン番号にハッシュ値が用いられてもよい。
【００２６】
設定関数のリビジョン番号は、図３に示すように、監視対象管理データベース５の監視対象管理表に記憶されている。後述するように、設定関数のリビジョン番号は、当該設定関数に対して確認済みの操作が行われた場合に、プログラムの現在のリビジョン番号に更新される。
【００２７】
図２のリポジトリ２は、実施の形態１と同様に、複数の更新装置（図示せず）で更新可能なプログラムを記憶する。ただし本実施の形態２では、リポジトリ２は、バージョン（リビジョン）によって管理されたファイルのデータベースとして用いられる。つまり、リポジトリ２は、プログラムの更新ごとに、プログラム及びプログラムのリビジョン番号を蓄積する。
【００２８】
次に、図２の表示制御装置１の構成要素について説明する。本実施の形態２に係る表示制御装置１は、実施の形態１と同様の差分抽出部１１及び表示制御部１２に加えて、更新部１３を備えている。
【００２９】
差分抽出部１１は、実施の形態１と同様に、確認済みの操作が行われた設定関数（設定機能単位）と、現在の設定関数（設定機能単位）との間の差分を抽出する。
【００３０】
ただし本実施の形態２では、差分抽出部１１は、前回確認済みの操作が行われた設定関数のリビジョン番号を、監視対象管理データベース５から取得するとともに、プログラムの現在のリビジョン番号を、リポジトリ２から取得する。
【００３１】
それから、差分抽出部１１は、リポジトリ２に対してバージョン管理ツールを用いることにより、前回確認済みの操作が行われた設定関数のリビジョン番号と、プログラムの現在のリビジョン番号とに基づいてリビジョン間の差分を抽出する。これにより、差分抽出部１１は、確認済みの操作が行われた設定関数と、現在の設定関数との間の差分を抽出する。ただし、差分の抽出はこれに限ったものではなく、実施の形態１のように、リビジョン番号を利用しない差分の抽出が用いられてもよい。
【００３２】
表示制御部１２は、実施の形態１と同様に、差分抽出部１１で差分が抽出された場合に、当該差分を表示装置３に表示させることが可能となっている。
【００３３】
図４は、本実施の形態２に係る表示装置３における差分の表示例を示す図である。図４の「差分及び設定関数」の欄には、差分抽出部１１で抽出された差分と、当該差分が抽出された設定関数とが表示されている。具体的には、現在の設定関数のうち確認済みの操作が行われた設定関数と異なる部分（差分の部分）が、「＋＋＋」以降の部分として表示され、確認済みの操作が行われた設定関数のうち現在の設定関数と異なる部分（差分の部分）が、「−−−」以降の部分として表示されている。そして、確認済みの操作が行われた設定関数、及び、現在の設定関数に共通する部分（差分以外の部分）が、「＋＋＋」も「−−−」も付されていない部分として表示されている。
【００３４】
また、図４の「チェック」の欄には、上述の差分及び設定関数に対応させて、入力インターフェース用の表示オブジェクトであるチェックボックスが表示されている。入力装置４が、チェックボックスにチェックを付加する入力操作（以下「チェック入力操作」と記すこともある）を受け付けた場合に、表示制御部１２の制御により、表示装置３が、チェックボックス内にチェックを付加する。
【００３５】
なお後述するように、本実施の形態２では、差分抽出部１１は、チェック入力操作が行われたチェックボックスに対応する設定関数を、次回の差分対象（確認済みの操作が行われた設定関数）として用いるように構成されている。
【００３６】
図２の表示制御部１２は、図４の表示を行うように表示装置３を制御するだけでなく、入力装置４がチェック入力操作を受け付けた場合に、チェック入力操作が行われたことを更新部１３に通知する。
【００３７】
更新部１３は、表示制御部１２からの通知に基づいて、監視対象管理データベース５に記憶された監視対象管理表（図３）のうち、設定関数のリビジョン番号を更新する。具体的には、チェックボックスへのチェック入力操作が行われ、表示制御部１２から通知があった場合に、更新部１３は、当該チェックボックスに対応する設定関数のリビジョン番号を、プログラムの現在のリビジョン番号に更新する。一方、チェックボックスへのチェック入力操作が行われず、表示制御部１２から通知がなかった場合に、更新部１３は、当該チェックボックスに対応する設定関数のリビジョン番号を維持する。図４の例では、チェック入力操作が行われていない「otherfunc」という設定関数のリビジョン番号は、そのまま維持されることになる。一方、チェック入力操作が行われた「otherfunc2」という設定関数のリビジョン番号は、プログラムの現在のリビジョン番号に更新されることになる。
【００３８】
図５は、本実施の形態２に係る表示制御装置１の動作を示すフローチャートであり、図６は、本実施の形態２に係る表示制御装置１の動作の一例を示す図である。なお、図５の動作は、例えば、表示制御装置１がリポジトリ２からプログラムを取得したタイミング、または、入力装置４がユーザから開始操作を受け付けたタイミングで開始される。
【００３９】
以下、「otherfunc」、「otherfunc2」、「otherfunc3」のそれぞれが、設定関数と設定され、かつ、リポジトリ２に記憶されたプログラムの現在のリビジョン番号は、「２００」であることを前提にして説明する。
【００４０】
まず、ステップＳ１にて、差分抽出部１１は、「otherfunc」、「otherfunc2」、「otherfunc3」のそれぞれについて、設定関数のリビジョン番号を監視対象管理データベース５から取得するとともに、プログラムの現在のリビジョン番号をリポジトリ２から取得する（図６の「１：入力」）。
【００４１】
ステップＳ２にて、差分抽出部１１は、リポジトリ２に対してバージョン管理ツールを用いることにより、監視対象管理データベース５から取得したリビジョン番号の設定関数（確認済みの操作が行われた設定関数）と、リポジトリ２から取得したリビジョン番号の設定関数（現在の設定関数）との間の差分を抽出する。そして、表示制御部１２は、確認済みの操作が行われた設定関数と現在の設定関数との間の差分が、差分抽出部１１によって抽出されたか否かを判定する。「otherfunc」、「otherfunc2」、「otherfunc3」のうち少なくとも１つの設定関数について、差分が抽出されたと判定した場合にはステップＳ３に進み、そうでない場合には図５の動作を終了する。
【００４２】
ステップＳ３にて、表示制御部１２は、差分が抽出された設定関数について、差分、設定関数及びチェックボックスの表示を行う（図６の「２：差分表示」）。なお図６には、「otherfunc」及び「otherfunc2」については差分が抽出されたが、「otherfunc3」については差分が抽出されなかった場合の表示例が示されている。
【００４３】
ステップＳ４にて、表示制御部１２は、少なくとも１つのチェックボックスにチェック入力操作が行われたか否かを判定する（図６の「３：ユーザのチェック」）。チェック入力操作が行われたと判定した場合にはステップＳ５に進み、そうでない場合にはステップＳ６に進む。
【００４４】
ステップＳ５にて、表示制御部１２は、チェック入力操作が行われたチェックボックスに対応する設定関数を更新部１３に通知する（図６の「４：設定関数の通知」）。そして、更新部１３は、チェック入力操作が行われたチェックボックスに対応する設定関数のリビジョン番号を、プログラムの現在のリビジョン番号に更新する（図６の「５：リビジョン番号の更新」）。これにより、差分抽出部１１は、チェック入力操作が行われたチェックボックスに対応する設定関数を、次回の差分対象（確認済みの操作が行われた設定関数）として用いることになる。その後、図５の動作を終了する。
【００４５】
なお、図６の例では、チェック入力操作が行われた「otherfunc2」が更新部１３に通知され、「otherfunc2」のリビジョン番号「１６０」が、リポジトリ２に記憶されているプログラムの現在のリビジョン番号「２００」に更新される。一方、チェック入力操作が行われなかった「otherfunc」のリビジョン番号「１９９」及び「otherfunc3」のリビジョン番号「１８５」は、更新部１３に通知されず、そのまま維持される。
【００４６】
ステップＳ６にて、表示制御部１２は、いずれの設定関数も更新部１３に通知せず、更新部１３は、いずれの設定関数のリビジョン番号をそのまま維持する。その後、図５の動作を終了する。
【００４７】
＜実施の形態２のまとめ＞
以上のような本実施の形態２に係る表示制御装置１によれば、実施の形態１と同様に、確認済みの操作が行われた設定関数と、現在の設定関数との間の差分が表示装置３に表示される。したがって、実施の形態１と同様に、設定関数またはそれと関係する機能単位の開発を行っているユーザは、当該設定関数が他のユーザの開発によって更新された場合に、当該更新された部分を容易に確認することができる。
【００４８】
また、本実施の形態２によれば、差分抽出部１１は、チェック入力操作が行われたチェックボックスに対応する設定関数を、確認済みの操作が行われた設定関数として用いる。これにより、ユーザは、設定関数に対する確認済みの操作を容易に行うことができる。なお、確認済みの操作は、チェックボックスへのチェック入力操作に限ったものではなく、例えば、図４の「差分及び設定関数」の設定関数への入力操作などであってもよい。
【００４９】
また、本実施の形態２によれば、チェックボックスへのチェック入力操作に基づいて、当該チェックボックスに対応する設定関数のリビジョン番号を更新または維持する。これにより、例えば、リビジョン番号を利用した差分の抽出を適切化することができる。また、例えば、設定関数の更新の可能性を、ある程度、確認可能になると考えられる。
【００５０】
なお、以上の説明では、図４のように、差分抽出部１１で抽出された差分、当該差分が抽出された設定関数、チェックボックスの対応表（一覧）が、設定関数のリスト形式で表示された。しかしこれに限ったものではなく、それと同様の対応表が、エディタ等での表示時にポップアップで表示されてもよい。
【００５１】
＜変形例１＞
本変形例１では、リポジトリ２のプログラムを更新可能な上記複数の更新装置（図示せず）のうちの１つが、表示制御装置１と対応している。なお、表示制御装置１に対応する更新装置としては、例えば、表示制御装置１と一体的に設けられた更新装置などが想定される。
【００５２】
また本変形例１では、リポジトリ２に記憶されているプログラムは、被編集関数（被編集機能単位）と、関連関数（関連機能単位）とを含んでいる。
【００５３】
なお、被編集関数は、表示制御装置１に対応する更新装置で編集されている関数である。
【００５４】
一方、関連関数は、被編集関数に関連する関数である。関連関数には、例えば、被編集関数の上位もしくは下位の関数、または、ユーザにより入力装置４などを介して指定された関数などが適用される。被編集関数の上位の関数とは、被編集関数を含む関数であり、被編集関数を呼び出す関数である。被編集関数の下位の関数とは、被編集関数に含まれる関数であり、被編集関数に呼び出される関数である。
【００５５】
ここで本変形例１では、関連関数が設定関数として設定される。つまり、ユーザが編集している関数に関連する関数が設定関数に設定される。このため、ユーザによる確認作業を容易化することができる。なお、被編集関数の上位または下位の関数を設定関数として設定する場合には、表示制御装置１が、プログラムの構文解析を行うことによって、設定関数を自動的に設定してもよい。
【００５６】
＜変形例２＞
本変形例２では、変形例１と同様に、プログラムは被編集関数と関連関数とを含み、関連関数が設定関数として設定される。また、本変形例２では、例えば表示制御部１２が、監視対象管理表（図３）において、設定関数と、設定関数の被編集関数（設定関数として設定された関連関数が関連する被編集関数）とを対応付けて登録する。
【００５７】
以上のような本変形例２によれば、例えば図７に示すように、設定関数の名称、及び、設定関数のリビジョン番号に加えて、被編集関数の名称を対応付けた監視対象管理表を記憶することができる。これにより、ユーザは、被編集関数ごとに、当該被編集関数に関連する設定関数について更新内容を確認することができる。
【００５８】
また本変形例２によれば、例えば図８に示すように、エディタ上の被編集関数に関連する設定関数のうち、差分が抽出された設定関数に関して、差分抽出部１１で抽出された差分、当該差分が抽出された設定関数、及び、チェックボックスをポップアップで表示することが可能となる。なお、図８では、被編集関数は「myfunc()」であり、設定関数は「otherfunc()」である。これにより、ユーザは、被編集関数に関連する設定関数の更新内容を容易に確認することができる。なお、図示しないが、図４の対応表（一覧）においても、設定関数に対応付けて被編集関数の名称を表示してもよい。
【００５９】
以上に説明した変形例１及び変形例２は、後述する実施の形態３以降においても適用可能である。
【００６０】
＜実施の形態３＞
図９は、本発明の実施の形態３に係る表示制御装置の構成を示すブロック図である。以下、本実施の形態３で説明する構成要素のうち、実施の形態２と同じまたは類似する構成要素については同じ参照符号を付し、異なる構成要素について主に説明する。
【００６１】
本実施の形態３に係る表示制御装置５１は、表示制御システムを含む概念である。本実施の形態３に係る表示制御装置５１は、実施の形態２と同様の表示制御装置１と、リポジトリ２と、サーバ７と、チェック状況管理装置８とを備える。
【００６２】
まず、表示制御装置５１の概要について説明する。表示制御装置１は、実施の形態２で説明した監視対象管理表（図３）と同様の情報を、サーバ７に送信する。なお、図９では、一つの表示制御装置１が、監視対象管理表と同様の情報をサーバ７に送信しているが、複数の表示制御装置１が、監視対象管理表と同様の情報をサーバ７に送信してもよい。
【００６３】
サーバ７は、表示制御装置１から送信された情報に基づいて、リビジョン管理表を管理（生成または更新）する。
【００６４】
チェック状況管理装置８は、リビジョン管理表の設定関数と、リポジトリ２に記憶されている現在のプログラムに含まれる設定関数との間の差分に基づいて、リビジョン管理表の設定関数のチェック状況（確認状況）を、設定関数及びユーザごとに判定し、その判定結果を出力する。
【００６５】
次に、表示制御装置５１の各構成要素について詳細に説明する。
【００６６】
図１０は、本実施の形態３に係る表示制御装置１の構成を示すブロック図である。図１０の表示制御装置１は、実施の形態２と同様のリポジトリ２〜監視対象管理データベース５に加えて、ユーザ情報データベース６と接続されている。
【００６７】
ところで、本実施の形態３では、複数のユーザに対して複数の設定関数が設定されている。なお、複数のユーザに対して一つの設定関数が設定されてもよい。
【００６８】
ユーザ情報データベース６は、複数の設定関数が設定された複数のユーザの情報（以下「ユーザ情報」と記す）を記憶している。ユーザ情報には、例えばユーザ名などユーザを識別するための情報が含まれる。
【００６９】
なお、複数のユーザに対して複数の設定関数を設定する手法としては様々な手法が想定される。例えば、ユーザによる手動操作が入力装置４にて行われることによって、ユーザに対する設定関数の設定が行われてもよい。または、例えば、ユーザ情報データベース６が、表示制御装置１から設定関数の名称及びユーザ情報を適宜取得し、所望のユーザに対して設定されていない設定関数があれば、当該所望のユーザに対する当該設定関数の設定が自動的に行われてもよい。
【００７０】
次に、図１０の表示制御装置１の構成要素について説明する。本実施の形態３に係る表示制御装置１は、実施の形態２と同様の差分抽出部１１〜更新部１３に加えて、通信部１４を備えている。
【００７１】
差分抽出部１１は、実施の形態２と同様に、複数の設定関数のそれぞれについて差分を抽出する。
【００７２】
表示制御部１２は、複数の設定関数に関して差分抽出部１１で差分が抽出された場合に、実施の形態２の表示（図４）と同様に、当該差分と、当該差分が抽出された設定関数と、チェックボックスとを対応させて表示装置３に表示させる。また、表示制御部１２は、実施の形態２と同様に、入力装置４がチェック入力操作を受け付けた場合に、チェック入力操作が行われたことを更新部１３に通知する。
【００７３】
更新部１３は、実施の形態２と同様に、表示制御部１２から当該通知を受けた場合に、チェック入力操作が行われたチェックボックスに対応する設定関数のリビジョン番号を更新する。なお本実施の形態３では、更新部１３は、表示制御部１２から当該通知を受けた場合に、チェック入力操作が行われたチェックボックスに対応する設定関数（設定関数の名称）と、更新部１３で更新された設定関数のリビジョン番号とを、通信部１４に出力する。
【００７４】
通信部１４は、更新部１３からの情報と、ユーザ情報データベース６に記憶されているユーザ情報とに基づいて、送信情報をサーバ７に送信する。つまり、通信部１４は、チェックボックスへのチェック入力操作が行われた場合に、送信情報をサーバ７に送信する。ここで、送信情報は、当該チェックボックスに対応する設定関数（設定関数の名称）と、当該設定関数が設定されたユーザ情報と、更新部１３で更新された設定関数のリビジョン番号とを含んでいる。そして、送信情報に含まれる、設定関数、ユーザ情報及び設定関数のリビジョン番号は、対応付けられている。
【００７５】
なお、通信部１４には、例えば無線通信装置または有線通信装置などが適用される。
【００７６】
サーバ７は、通信部１４から送信された送信情報に基づいて、設定関数（設定関数の名称）と、設定関数のリビジョン番号とが、ユーザごとに対応付けられたリビジョン管理表を管理（生成または更新）する。ここでは、リビジョン管理表は、サーバ７が備えるリビジョン管理データベース７ａにおいて記憶される。またここでは、リビジョン管理表は、サーバ７によって管理されているが、これに限ったものではなく、チェック状況管理装置８によって管理されてもよい。
【００７７】
図１１は、本実施の形態３に係るサーバ７によって管理されているリビジョン管理表の一例を示す図である。リビジョン管理表は、実施の形態２で説明した監視対象管理表（図３）の設定関数の名称及びリビジョン番号が、ユーザごとに記憶されている。なお、図１１の例では、「otherfunc3」という関数は、ユーザＡには設定されておらず、その関数に対応する「ユーザＡのリビジョン番号」の欄には「チェック対象外」と表記されている。同様に、「otherfunc2」という関数は、ユーザＢには設定されておらず、その関数に対応する「ユーザＢのリビジョン番号」の欄には「チェック対象外」と表記されている。
【００７８】
図１２は、本実施の形態３に係るチェック状況管理装置８の構成を示すブロック図である。図１２のチェック状況管理装置８は、リポジトリ２と、出力装置である表示装置２８と接続されている。そして、チェック状況管理装置８は、通信部２１と、差分判定部２２と、チェック状況管理装置８などの各構成要素を統括的に制御する制御部２３とを備えている。
【００７９】
通信部２１は、サーバ７からリビジョン管理表（図１１）の設定関数のリビジョン番号を受信する。なお、通信部２１には、例えば無線通信装置または有線通信装置などが適用される。
【００８０】
差分判定部２２は、リビジョン管理表の設定関数のリビジョン番号を、通信部２１から取得するとともに、プログラムの現在のリビジョン番号を、リポジトリ２から取得する。そして、差分判定部２２は、リビジョン管理表の設定関数のリビジョン番号と、プログラムの現在のリビジョン番号とに対して、実施の形態２と同様にリビジョン番号を利用した差分の抽出を用いる。これにより、差分判定部２２は、リビジョン管理表の設定関数と、現在のプログラムに含まれる設定関数との間の差分を抽出する。なお、この差分の抽出には、実施の形態１と同様にリビジョン番号を利用しない差分の抽出が用いられてもよい。
【００８１】
差分判定部２２は、抽出した差分に基づいて、リビジョン管理表の設定関数がチェック済み（確認済み）か否かを判定する。例えば、差分判定部２２は、リビジョン管理表の設定関数と、現在のプログラムに含まれる設定関数との間に差分がなかった場合には「チェック済み」と判定し、当該差分があった場合には「未チェック」と判定する。
【００８２】
図１３は、本実施の形態３に係る差分判定部２２の判定結果の一例を示す図である。具体的には、図１３には、図１１のリビジョン管理表に対する判定結果が示されている。図１３の判定結果では、図１１のリビジョン管理表で表記された設定関数のリビジョン番号の代わりに、チェック済み、及び、未チェックのいずれか一方が表記されている。
【００８３】
なお図１１には、プログラムのリビジョン番号が「１９９」であるときに、ユーザＡにより「otherfunc」にチェック入力操作が行われたという結果が示され、図１３には、設定関数のリビジョン番号が「１９９」である「otherfunc」と、現在の「otherfunc」との間に差分がないと判定されたという結果が示されている。同様に、図１１には、プログラムのリビジョン番号が「１５０」であるときに、ユーザＢにより「otherfunc3」にチェック入力操作が行われたという結果が示され、図１３には、設定関数のリビジョン番号が「１５０」である「otherfunc3」と、現在の「otherfunc3」との間に差分がないと判定されたという結果が示されている。
【００８４】
また図１１には、プログラムのリビジョン番号が「１６０」であるときに、ユーザＡにより「otherfunc2」にチェック入力操作が行われたという結果が示され、図１３には、設定関数のリビジョン番号が「１６０」である「otherfunc2」と、現在の「otherfunc2」との間に差分があると判定されたという結果が示されている。同様に、図１１には、プログラムのリビジョン番号が「１９８」であるときに、ユーザＢにより「otherfunc」にチェック入力操作が行われたという結果が示され、図１３には、設定関数のリビジョン番号が「１９８」である「otherfunc」と、現在の「otherfunc」との間に差分があると判定されたという結果が示されている。
【００８５】
また、図１３には、図１１のリビジョン管理表と同様に、「チェック対象外」が表記されている。
【００８６】
制御部２３は、図１３のような判定結果を表示装置２８に表示させる。
【００８７】
図１４は、本実施の形態３に係る表示制御装置１及びサーバ７の動作を示すフローチャートである。なお、図１４のステップＳ１〜Ｓ６の動作は、図５のステップＳ１〜Ｓ６の動作と同じであるため、ここではそれらの説明を適宜省略する。
【００８８】
ステップＳ５後のステップＳ１１にて、通信部１４は、上述の送信情報（設定関数、ユーザ情報、リビジョン番号）をサーバ７に送信する。
【００８９】
ステップＳ１２にて、サーバ７は、通信部１４から送信された送信情報に基づいて、リビジョン管理表を管理する。その後、図１４の動作を終了する。なおここでは、ステップＳ１２は、ステップＳ１１の後に行われている。しかしこれに限ったものではなく、例えば、ステップＳ１２は、ステップＳ１〜Ｓ６及びステップＳ１１と並行して行われてもよい。
【００９０】
図１５は、本実施の形態３に係るチェック状況管理装置８の動作を示すフローチャートである。
【００９１】
まずステップＳ２１にて、通信部２１は、サーバ７からリビジョン管理表の設定関数の情報を受信する。そして、差分判定部２２は、リビジョン管理表の設定関数のリビジョン番号を、通信部２１から取得するとともに、プログラムの現在のリビジョン番号を、リポジトリ２から取得する。
【００９２】
ステップＳ２２にて、差分判定部２２は、リビジョン管理表の設定関数のリビジョン番号と、プログラムの現在のリビジョン番号とに基づいて、リビジョン管理表の設定関数と、現在のプログラムに含まれる設定関数との間の差分を抽出する。そして、差分判定部２２は、抽出した差分に基づいて、リビジョン管理表の設定関数がチェック済みか否かを判定する。
【００９３】
ステップＳ２３にて、制御部２３は、差分判定部２２の判定結果、つまり図１３のような各設定関数に対する各ユーザのチェック状況を、表示装置２８に表示させる。その後、図１５の動作を終了する。
【００９４】
＜実施の形態３のまとめ＞
以上のような本実施の形態３に係る表示制御装置５１によれば、上述のようなリビジョン管理表（図１１）を管理するので、ユーザは、他のユーザが確認した設定関数のリビジョン番号、ひいては確認状況を知ることができる。
【００９５】
また、本実施の形態３によれば、リビジョン管理表の設定関数と、現在のプログラムに含まれる設定関数との間の差分に基づいて、リビジョン管理表の設定関数がチェック済みか否かを判定する。これにより、例えば、リポジトリ２のプログラムの現在のリビジョンが、確認済みの操作が行われた設定関数のリビジョンよりも新しくなっていても、設定関数が更新されていなければ、その設定関数はチェック済みであると判定することができる。したがって、ユーザは、他のユーザによる設定関数のチェック状況を正確に知ることができる。
【００９６】
なお、以上の説明では、差分判定部２２、制御部２３及び表示装置２８は、表示制御装置１及びサーバ７と別体であった。しかしこれに限ったものではなく、差分判定部２２、制御部２３及び表示装置２８は、表示制御装置１に備えられてもよいし、サーバ７に備えられてもよい。
【００９７】
＜実施の形態４＞
本発明の実施の形態４に係る表示制御装置のブロック構成は、実施の形態３のブロック構成（図９）と同じである。つまり、本実施の形態４に係る表示制御装置５１は、表示制御システムを含む概念である。以下、本実施の形態４で説明する構成要素のうち、実施の形態３と同じまたは類似する構成要素については同じ参照符号を付し、異なる構成要素について主に説明する。
【００９８】
本実施の形態４では、設定関数に対して付随情報（メタ情報）の入力操作が行われる。
【００９９】
図１６は、付随情報の入力例を示す図である。図１６には、図４の差分の表示例と同様の表示を行っている際に、コメントが、設定関数に対する付随情報として入力されている例が示されている。なお、本実施の形態４では、チェックボックスにチェックを付加する入力操作の代わりに、プルダウンボックスにて「ＯＫ」及び「ＮＧ」のいずれかを選択する入力操作を、入力装置４に対して行うことが可能となっている。これに伴い、本実施の形態４では、差分抽出部１１は、入力操作が行われたプルダウンボックスに対応する設定関数を、次回の差分対象（確認済みの操作が行われた設定関数）として用いるように構成されている。
【０１００】
表示制御部１２は、入力装置４で受け付けたコメントの内容を、更新部１３を介して通信部１４に出力する。
【０１０１】
通信部１４は、更新部１３からの情報と、ユーザ情報データベース６に記憶されているユーザ情報とに基づいて、送信情報をサーバ７に送信する。つまり、通信部１４は、プルダウンボックス（表示オブジェクト）への入力操作に加えて、当該プルダウンボックスに対応する設定関数に対してコメントの入力操作が行われた場合に、送信情報をサーバ７に送信する。ここで、送信情報は、当該プルダウンボックスに対応する設定関数と、当該設定関数が設定されたユーザ情報と、更新部１３で更新された当該設定関数のリビジョン番号とに加えて、入力されたコメントを含んでいる。そして、送信情報に含まれる、設定関数、ユーザ情報、設定関数のリビジョン番号及びコメントは、対応付けられている。
【０１０２】
サーバ７は、通信部１４から送信された送信情報に基づき、設定関数（設定関数の名称）、及び、設定関数のリビジョン番号に加えて、コメントも対応付けて、リビジョン管理表にて管理する。
【０１０３】
図１７は、本実施の形態４に係るリビジョン管理表の一例を示す図である。本実施の形態４に係るリビジョン管理表では、実施の形態３に係るリビジョン管理表（図１１）の情報に加えて、プルダウンボックスの選択結果（「ＯＫ」または「ＮＧ」）、及び、コメントが対応付けられている。
【０１０４】
差分判定部２２は、実施の形態３と同様に、リビジョン管理表の設定関数と、現在のプログラムに含まれる設定関数との間の差分に基づいて、リビジョン管理表の設定関数が確認済みか否かを判定する。
【０１０５】
図１８は、本実施の形態４に係る差分判定部２２の判定結果の一例を示す図である。具体的には、図１８には、図１７のリビジョン管理表に対する判定結果が示されている。リビジョン管理表と同様に、差分判定部２２の判定結果においても、プルダウンボックスの選択結果（「ＯＫ」または「ＮＧ」）、及び、コメントが対応付けられている。
【０１０６】
図１９は、本実施の形態４に係る表示制御装置１及びサーバ７の動作を示すフローチャートである。なお、図１９のステップＳ１〜Ｓ６の動作は、チェックボックスがプルダウンボックスに変更された点を除けば、図５のステップＳ１〜Ｓ６の動作と同じであるため、ここではそれらの説明を適宜省略する。
【０１０７】
ステップＳ５後のステップＳ３１にて、通信部１４は、上述の送信情報（設定関数、ユーザ情報、リビジョン番号、コメントなどの付随情報）をサーバ７に送信する。
【０１０８】
ステップＳ３２にて、サーバ７は、通信部１４から送信された送信情報に基づいて、コメントなどの付随情報が対応付けられたリビジョン管理表を管理する。その後、図１９の動作を終了する。なおここでは、ステップＳ３２は、ステップＳ３１の後に行われている。しかしこれに限ったものではなく、例えば、ステップＳ３２は、ステップＳ１〜Ｓ６及びステップＳ３１と並行して行われてもよい。
【０１０９】
図２０は、本実施の形態４に係るチェック状況管理装置８の動作を示すフローチャートである。なお、図２０のステップＳ２１及びＳ２２の動作は、図１５のステップＳ２１及びＳ２２の動作と同じであるため、ここではそれらの説明を適宜省略する。
【０１１０】
ステップＳ２２後のステップＳ４１にて、制御部２３は、差分判定部２２の判定結果、つまり図１８のような各設定関数に対する各ユーザのチェック状況を、表示装置２８に表示させる。また、確認済みの設定関数にコメントなどの付随情報が対応付けられている場合には、制御部２３は、図１８のように、当該付随情報も表示装置２８に表示させる。その後、図２０の動作を終了する。
【０１１１】
＜実施の形態４のまとめ＞
以上のような本実施の形態４に係る表示制御装置５１によれば、設定関数、及び、設定関数のリビジョン番号に加えて、コメントなどの付随情報も対応付けて、リビジョン管理表にて管理する。これにより、ユーザは、付随情報を確認することが可能となり、他のユーザによる設定関数の確認状況をより具体的に知ることができる。
【０１１２】
なお、以上の説明では、付随情報は、設定関数に対するコメントであるものとして説明した。しかしこれに限ったものではなく、付随情報は、設定関数に対する評価、または、設定関数での更新の評価を数値化した評価値などであってもよい。例えば、更新の評価を数値化した評価値が３段階である場合には、１段階目が更新に問題ないことを意味し、２段階目が更新に問題がある可能性あることを意味し、３段階目が更新に問題があることを意味するようにしてもよい。
【０１１３】
また、以上の説明では、付随情報は、入力装置４でユーザから受け付けられるものとして説明した。しかしこれに限ったものではなく、例えば、表示制御装置１が、更新後の設定関数のバグを検出できるように構成されている場合には、その検出結果に基づいて付随情報が生成されてもよい。
【０１１４】
＜その他の変形例＞
上述した表示制御装置１における差分抽出部１１及び表示制御部１２（以下「差分抽出部１１等」と記す）は、図２１に示す処理回路９１により実現される。すなわち、処理回路９１は、確認済みの操作が行われた設定機能単位と、現在の設定機能単位との間の差分を抽出する差分抽出部１１と、差分抽出部１１で差分が抽出された場合に、当該差分を表示装置３に表示させることが可能な表示制御部１２と、を備える。処理回路９１には、専用のハードウェアが適用されてもよいし、メモリに格納されるプログラムを実行するプロセッサ（ＣＰＵ、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、Digital Signal Processor）が適用されてもよい。
【０１１５】
処理回路９１が専用のハードウェアである場合、処理回路９１は、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ＡＳＩＣ、ＦＰＧＡ、またはこれらを組み合わせたものが該当する。差分抽出部１１等の各部の機能それぞれは、複数の処理回路９１で実現されてもよいし、各部の機能をまとめて一つの処理回路９１で実現されてもよい。
【０１１６】
処理回路９１がプロセッサである場合、差分抽出部１１等の機能は、ソフトウェア等（ソフトウェア、ファームウェア、またはソフトウェアとファームウェア）との組み合わせにより実現される。ソフトウェア等はプログラムとして記述され、メモリに格納される。図２２に示すように、処理回路９１に適用されるプロセッサ９２は、メモリ９３に記憶されたプログラムを読み出して実行することにより、各部の機能を実現する。すなわち、表示制御装置１は、処理回路９１により実行されるときに、確認済みの操作が行われた設定機能単位と、現在の設定機能単位との間の差分を抽出するステップと、差分が抽出された場合に、当該差分を表示装置３に表示させることが可能なステップと、が結果的に実行されることになるプログラムを格納するためのメモリ９３を備える。換言すれば、このプログラムは、差分抽出部１１等の手順や方法をコンピュータに実行させるものであるともいえる。ここで、メモリ９３には、例えば、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）、フラッシュメモリー、ＥＰＲＯＭ（Erasable Programmable Read Only Memory）、ＥＥＰＲＯＭ（Electrically Erasable Programmable Read Only Memory）などの、不揮発性または揮発性の半導体メモリ、ＨＤＤ（Hard Disk Drive）、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、ＤＶＤ（Digital Versatile Disc）及びそのドライブ装置等が該当する。
【０１１７】
以上、差分抽出部１１等の各機能が、ハードウェア及びソフトウェア等のいずれか一方で実現される構成について説明した。しかしこれに限ったものではなく、差分抽出部１１等の一部を専用のハードウェアで実現し、別の一部をソフトウェア等で実現する構成であってもよい。例えば、差分抽出部１１については専用のハードウェアとしての処理回路でその機能を実現し、それ以外についてはプロセッサ９２としての処理回路９１がメモリ９３に格納されたプログラムを読み出して実行することによってその機能を実現することが可能である。なお、以上のことは、更新部１３、通信部１４、差分判定部２２などについても同様である。
【０１１８】
以上のように、処理回路９１は、ハードウェア、ソフトウェア等、またはこれらの組み合わせによって、上述の各機能を実現することができる。
【０１１９】
また、表示制御装置１は、以上の説明では別体であった表示装置３、入力装置４、監視対象管理データベース５、及び、ユーザ情報データベース６などの少なくともいずれか１つを備えていてもよい。
【０１２０】
なお、本発明は、その発明の範囲内において、各実施の形態及び各変形例を自由に組み合わせたり、各実施の形態及び各変形例を適宜、変形、省略したりすることが可能である。
【０１２１】
本発明は詳細に説明されたが、上記した説明は、すべての態様において、例示であって、本発明がそれに限定されるものではない。例示されていない無数の変形例が、本発明の範囲から外れることなく想定され得るものと解される。
【符号の説明】
【０１２２】
１  表示制御装置、３  表示装置、７  サーバ、１１  差分抽出部、１２  表示制御部、１３  更新部、１４  通信部、２２  差分判定部、９１  処理回路、９２  プロセッサ、９３  メモリ。
【図１】
2017119057.tif 000003
【図２】
2017119057.tif 000004
【図３】
2017119057.tif 000005
【図４】
2017119057.tif 000006
【図５】
2017119057.tif 000007
【図６】
2017119057.tif 000008
【図７】
2017119057.tif 000009
【図８】
2017119057.tif 000010
【図９】
2017119057.tif 000011
【図１０】
2017119057.tif 000012
【図１１】
2017119057.tif 000013
【図１２】
2017119057.tif 000014
【図１３】
2017119057.tif 000015
【図１４】
2017119057.tif 000016
【図１５】
2017119057.tif 000017
【図１６】
2017119057.tif 000018
【図１７】
2017119057.tif 000019
【図１８】
2017119057.tif 000020
【図１９】
2017119057.tif 000021
【図２０】
2017119057.tif 000022
【図２１】
2017119057.tif 000023
【図２２】
2017119057.tif 000024
【国際調査報告】
2017119057.tif 000025
2017119057.tif 000026