(57)【要約】【課題】本発明は、ビジュアルプログラミング言語を利用可能な環境におけるプログラミング情報の共有を可能にするプログラミング情報共有装置及びプログラミング情報共有方法の提供を目的とする。【解決手段】本発明に係るプログラミング情報共有装置９１は、ビジュアルプログラミングをコンピュータに実行させてプログラムを作成するビジュアルプログラミング管理部１３と、ビジュアルプログラミング管理部１３の作成したプログラムの内容を表すプログラミング情報を、当該プログラムの概要を表すプログラミング画像の画像ファイルＦＦに埋め込む画像エクスポート部１１と、画像ファイルＦＦに埋め込まれているプログラミング情報を読み出し、ビジュアルプログラミング管理部１３へ出力する画像インポート部１２と、を備える。【選択図】図１
2015005035.tif 000002
【特許請求の範囲】
【請求項１】
ビジュアルプログラミングをコンピュータに実行させてプログラムを作成するビジュアルプログラミング実行部と、
前記ビジュアルプログラミング実行部の作成したプログラムの内容を表すプログラミング情報を、当該プログラムの概要を表すプログラミング画像の画像ファイルに埋め込むプログラミング画像生成部と、
画像ファイルに埋め込まれているプログラミング情報を読み出し、前記ビジュアルプログラミング実行部へ出力するプログラミング情報復元部と、
を備えるプログラミング情報共有装置。
【請求項２】
前記プログラミング画像は、前記ビジュアルプログラミング実行部が当該プログラムの作成時に画面に表示されていた画像のうちの予め定められた範囲の画像であることを特徴とする請求項１に記載のプログラミング情報共有装置。
【請求項３】
ビジュアルプログラミングをコンピュータに実行させ、プログラムの概要を画面に表示しながらプログラミング情報を生成するプログラミング手順と、
前記プログラミング手順で生成したプログラミング情報を、画面に表示していたプログラムの概要を表す画像ファイルに埋め込むプログラミング画像生成手順と、
を順に有するプログラミング情報共有方法。
【請求項４】
画像ファイルに埋め込まれているプログラミング情報を読み出すプログラミング情報復元手順と、
読み出したプログラミング情報に記載されたプログラムの内容に従って、ビジュアルプログラミングをコンピュータに実行させるプログラミング実行手順と、
を順に有するプログラミング情報共有方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ビジュアルプログラミング言語のプログラミング情報を共有するためのプログラミング情報共有装置及びプログラミング情報共有方法に関する。
【背景技術】
【０００２】
ソフトウェアの作成では、テキスト形式のプログラミング言語を利用する以外にも、ビジュアルなプログラミング言語を利用することも可能である。ビジュアルプログラミング言語は、グラフィカルな表示を操作することにより実現したい機能を作りこむことができるため、直感的であり、ユーザに必要とされるスキルを低減できる。
【０００３】
ビジュアルプログラミング言語・環境の中には、グラフィカルな操作だけでプログラミングを行うのではなく、ＧＵＩの構造に関する内容はグラフィカルに行い、動作に関する内容はソースコードで記述を行うような、中間的なプログラミング言語・環境も存在する。
【０００４】
ビジュアルプログラミングを利用するには専用のビジュアルプログラミング環境ソフトが必須となる（例えば、非特許文献１参照。）。そのソフトウェアを用いてプログラミング情報を保存し共有する場合には、専用形式のファイルで保存する必要がある。この専用形式のファイルからビジュアルな表示を得る際には、ビジュアルプログラミング環境ソフトに読み込ませる必要がある。また、ビジュアルな表示を保存したい場合には、別途画面表示を画像として保存する必要がある。
【０００５】
一方で、画像に情報を埋めこむ技術は様々な物が存在する（例えば、非特許文献２参照。）。例として、画像フォーマットの拡張領域にテキストデータを埋めこむ方法や、画像上に画像として電子データ（例：電子透かし、２次元バーコード）を埋め込む方法などが挙げられる。例えば、Ｐｏｒｔａｂｌｅ  Ｎｅｔｗｏｒｋ  Ｇｒａｐｈｉｃｓ（ＰＮＧ）フォーマットには任意のテキストを保存する領域が設けられている。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】コンピュータを粘土のように―ビジュアルプログラミング言語ビスケットとその実践，ＮＴＴ技術ジャーナル２０１０．９  Ｐ２６−Ｐ２９
【非特許文献２】Ｐｏｒｔａｂｌｅ  Ｎｅｔｗｏｒｋ  Ｇｒａｐｈｉｃｓ  （ＰＮＧ）  Ｓｐｅｃｉｆｉｃａｔｉｏｎ  （Ｓｅｃｏｎｄ  Ｅｄｉｔｉｏｎ）ｈｔｔｐ：／／ｗｗｗ．ｗ３．ｏｒｇ／ＴＲ／ＰＮＧ／
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ビジュアルプログラミング言語を利用可能な環境において、インターネットを介してプログラミング情報を共有したい場合は、専用形式ファイルをＷｅｂページ上で共有していた。共有された専用形式ファイルからビジュアルな表示を得るには、専用形式ファイルをダウンロードした上で、ビジュアルプログラミング環境ソフトに読み込ませなければならない。この場合、共有される情報はＷｅｂページ上では専用形式ファイルへのリンクとして見えることになる。このように、ビジュアルプログラミング言語のプログラミング情報を共有する際、Ｗｅｂページ上ではビジュアルな状態で行うことができなかった。
【０００８】
反面、テキスト形式のプログラミング言語であれば、Ｗｅｂページ上でプログラミングコードそのものを掲示すれば情報の共有だけでなく、表示も同時に実現できる。
【０００９】
一方で、ビジュアルな表示を重視する場合は、ビジュアルプログラミング環境ソフトの表示を画像ファイルとして保存し、Ｗｅｂページ上に掲示することでビジュアルな表示を共有できる。しかし、画像ファイルではプログラミング情報は共有できないため、プログラミング情報も共有したい場合は、別途専用形式ファイルを用意し共有する必要があった。
【００１０】
このように、ビジュアルプログラミング言語を利用可能な環境におけるプログラミング情報の共有は、テキスト形式のプログラミング言語に比べ大きな手間がかかっていた。また、Ｗｅｂページによっては画像形式以外のファイルアップロードが許されていない場合があり、プログラミング情報を共有できない問題もあった。
【００１１】
本発明は、ビジュアルプログラミング言語を利用可能な環境におけるプログラミング情報の共有を可能にするプログラミング情報共有装置及びプログラミング情報共有方法の提供を目的とする。
【課題を解決するための手段】
【００１２】
本発明に係るプログラミング情報共有装置は、
ビジュアルプログラミングをコンピュータに実行させてプログラムを作成するビジュアルプログラミング実行部と、
前記ビジュアルプログラミング実行部の作成したプログラムの内容を表すプログラミング情報を、当該プログラムの概要を表すプログラミング画像の画像ファイルに埋め込むプログラミング画像生成部と、
画像ファイルに埋め込まれているプログラミング情報を読み出し、前記ビジュアルプログラミング実行部へ出力するプログラミング情報復元部と、
を備える。
【００１３】
本発明に係るプログラミング情報共有装置では、前記プログラミング画像は、前記ビジュアルプログラミング実行部が当該プログラムの作成時に画面に表示されていた画像のうちの予め定められた範囲の画像であることが好ましい。
【００１４】
本発明に係るプログラミング情報共有方法は、
ビジュアルプログラミングをコンピュータに実行させ、プログラムの概要を画面に表示しながらプログラミング情報を生成するプログラミング手順と、
前記プログラミング手順で生成したプログラミング情報を、画面に表示していたプログラムの概要を表す画像ファイルに埋め込むプログラミング画像生成手順と、
を順に有する。
【００１５】
本発明に係るプログラミング情報共有方法は、
画像ファイルに埋め込まれているプログラミング情報を読み出すプログラミング情報復元手順と、
読み出したプログラミング情報に記載されたプログラムの内容に従って、ビジュアルプログラミングをコンピュータに実行させるプログラミング実行手順と、
を順に有する。
【００１６】
なお、上記各発明は、可能な限り組み合わせることができる。
【発明の効果】
【００１７】
本発明によれば、ビジュアルプログラミング言語を利用可能な環境におけるプログラミング情報の共有を可能にするプログラミング情報共有装置及びプログラミング情報共有方法を提供することができる。
【図面の簡単な説明】
【００１８】
【図１】本発明に係るプログラミング情報共有装置の一例を示す。
【図２】ビジュアルプログラミング環境を提供するソフトウェアの表示画面の一例を示す。
【図３】実施形態１に係る画像ファイルの一例を示す。
【図４】実施形態２に係る画像ファイルの第１例を示す。
【図５】実施形態２に係る画像ファイルの第２例を示す。
【図６】画像からフローチャートを復元する手順の一例を示す。
【図７】実施形態３に係る画像ファイルの一例を示す。
【発明を実施するための形態】
【００１９】
添付の図面を参照して本発明の実施形態を説明する。以下に説明する実施形態は本発明の実施の例であり、本発明は、以下の実施形態に制限されるものではない。なお、本明細書及び図面において符号が同じ構成要素は、相互に同一のものを示すものとする。
【００２０】
図１に、本実施形態に係るプログラミング情報共有装置の一例を示す。本実施形態に係るプログラミング情報共有装置９１は、ビジュアルプログラミング環境を提供するソフトウェアを実行可能な装置である。本実施形態に係るプログラミング情報共有装置９１は、プログラミング画像生成部として機能する画像エクスポート部１１と、プログラミング情報復元部として機能する画像インポート部１２と、ビジュアルプログラミング実行部として機能するビジュアルプログラミング管理部１３と、を備える。プログラミング情報共有装置９１は、コンピュータにプログラミング情報共有プログラムを実行させることで実現してもよい。ここで、プログラミング情報は、ビジュアルプログラミング環境を提供するソフトウェアが利用可能なプログラムの情報であって、モジュール化されたものであってもよい。
【００２１】
本発明に係るプログラミング情報共有方法は、プログラミング情報を共有するために、プログラミング手順と、プログラミング画像生成手順と、を順に有する。
プログラミング手順では、ビジュアルプログラミング管理部１３が、ビジュアルプログラミングをコンピュータに実行させ、プログラムの概要を画面に表示しながらプログラミング情報を生成する。
プログラミング画像生成手順では、画像エクスポート部１１が、ビジュアルプログラミング管理部１３の作成したプログラミング情報を、画面に表示していたプログラムの概要を表す画像ファイルＦＦに埋め込み、当該画像ファイルＦＦをエクスポートする。
【００２２】
本発明に係るプログラミング情報共有方法は、共有化された画像ファイルＦＦを利用するために、プログラミング情報復元手順と、プログラミング実行手順と、を順に有する。
プログラミング情報復元手順では、画像インポート部１２が、エクスポートされた画像ファイルＦＦをインポートし、画像ファイルＦＦからプログラミング情報を読み込む。
プログラミング実行手順では、ビジュアルプログラミング管理部１３が、読み出したプログラミング情報に記載されたプログラムの内容に従って、ビジュアルプログラミングをコンピュータに実行させる。
【００２３】
プログラミング情報を画像としてエクスポートすることで、画像ファイルにビジュアルな表示とプログラミングの情報を持たせることができる。そのため、インターネットのＷｅｂページ等でより簡単に効果的な情報共有を行うことができるようになる。
本発明は様々な応用が可能であるため、以下に実施形態を４つ示す。
【００２４】
（実施形態１）
本実施形態では、画像の拡張領域に埋め込む場合について説明する。
コンピュータ端末上で操作の自動化を行う仮想ソフトウェアを想定する。この仮想ソフトウェアでは、事前に自動化したい手順をフローチャートで記述しておく必要がある。例えば図２は、Ｗｅｂメールサービスに対する操作を自動化手順として作り込んでいるイメージである。画面上に、選択ウィンドウＷ１と、フロー作成ウィンドウＷ２が表示されている。選択ウィンドウＷ１は、フローチャートを作成するために必要な部品を表示する。Ｗｅｂメールサービスを提供するためのソフトウェアを自動化する手順は、文字列設定、クリック、一定時間待機などの、Ｗｅｂメールサービスで行われる任意の操作や動作の組み合わせである。フロー作成ウィンドウＷ２は、選択ウィンドウから選択した部品を配列し、接続したフローチャートを表示する。
【００２５】
さらに、フロー作成ウィンドウＷ２上に配置した各操作それぞれに詳細な設定を行う必要がある。例えば、「文字列設定」では、どのテキストボックスにどんな文字列を送信するかを詳細設定する。この設定も、この仮想ソフトウェアではダイアログを表示させてＧＵＩを使って設定を行うことができる。また、この仮想ソフトウェアでは変数も利用可能であり、送信する文字列等を自動実行中に変数に一時保存することが可能である。なお、ノード上の見出しも編集可能となっている。この仮想ソフトウェアから、表示画像をエクスポートすると、図１に示す画像ファイルＦＦが出力される。
【００２６】
図３に、画像ファイルＦＦの一例を示す。エクスポートされた画像ファイルＦＦは、ヘッダ領域と、画像データ領域と、拡張領域を有する。ヘッダ領域にはヘッダ情報が保存される。画像データ領域には、図２に示す画面に表示されていた画像のうちの予め定められた範囲の画像情報が保存される。予め定められた範囲の画像は、例えば、フロー作成ウィンドウＷ２に表示されていた画像である。拡張領域には、図２に示すフロー作成ウィンドウＷ２で作成したフローチャートのプログラミング情報が保存されている。
【００２７】
図３に示す画像ファイルＦＦの例では、プログラミング情報をテキスト化（ＸＭＬ化）して拡張領域に格納している。このプログラミング情報には、フローチャートの形状、見出し、各操作の詳細設定、変数等の情報を含み、編集中の状態を完全に復元できる情報を含んでいる。この画像ファイルＦＦは、拡張領域を含んでいるが画像のフォーマットには従っているため、画像閲覧ソフトやブラウザによって表示が可能である。
【００２８】
画像ファイルＦＦのエクスポート時には、画像エクスポート部１１が、フロー作成ウィンドウＷ２に表示されているフローチャートの画像情報とプログラミング情報をビジュアルプログラミング管理部１３から取得し、画像情報を画像データ領域に格納し、プログラミング情報を拡張領域に格納する。
【００２９】
さらに、この仮想ソフトウェアではこのプログラミング情報が埋め込まれた画像ファイルＦＦをインポートすることにより、画像ファイルＦＦに表示されているプログラミング情報を読み込むことができる。画像ファイルＦＦのインポート時には、画像インポート部１２が、プログラミング情報を拡張領域から読み出し、ビジュアルプログラミング管理部１３へ出力する。ビジュアルプログラミング管理部１３は、画像インポート部１２の読み出したプログラミング情報に記載されたフローチャートをフロー作成ウィンドウＷ２に表示する。
【００３０】
なお、インポートしようとした画像ファイルＦＦにプログラミング情報が含まれない場合は、インポートエラーとしてもよい。また、明示的なインポート操作（メニューから機能を選びファイルを選択する）だけでなく、ＯＳのコピー＆ペースト機能で画像ファイルＦＦをフロー作成ウィンドウＷ２にペーストしたり、画像ファイルＦＦをドラッグしフロー作成ウィンドウＷ２にドロップしたりすることで、画像ファイルＦＦをインポートすることも可能である。この仮想ソフトウェアは、画像ファイルＦＦをペーストしたりドロップしたりする操作を検出すると、対象の画像情報を画像インポート部１２に通知し、画像インポート部１２はプログラミング情報の読み込みを行う。
【００３１】
（実施形態２）
本実施形態では、画像の一部としてプログラミング情報を埋めこむ場合について説明する。プログラミング情報を画像に埋めこむことで、拡張領域が存在しない画像フォーマットに利用することができる。また、画像を加工編集した場合であっても、プログラミング情報を残すことができる。
【００３２】
実施形態２では、画像上に画像の一部としてプログラミング情報を埋め込む。図４はエクスポートされた画像ファイルＦＦの例である。図４では、エクスポートされた画像ファイルＦＦの画像ＦＷ２には、プログラミング情報が１つの２次元コードに変換された画像ＦＰが、画像ＦＷ２の一部として埋め込まれている。
【００３３】
画像ファイルＦＦのエクスポート時には、画像エクスポート部１１が、フロー作成ウィンドウＷ２に表示されているフローチャートの画像情報とプログラミング情報をビジュアルプログラミング管理部１３から取得し、プログラミング情報を２次元コードに変換し、２次元コードを画像情報に埋め込む。
【００３４】
画像ファイルＦＦのインポート時には、画像インポート部１２が、画像ＦＷ２内から２次元コードを検出し、プログラミング情報の読み込みを行う。この方法では、プログラミング情報が画像ＦＰとして埋め込まれているため、画像フォーマットを自由に選ぶことができ、２次元バーコードを破壊しなければ画像の加工をしてもインポートが可能である。
【００３５】
図４では、フロー作成ウィンドウＷ２に表示されているフローチャート全てのプログラミング情報をまとめて１つの２次元コードに変換したが、これに限定されない。例えば、図５の方法でプログラミング情報を埋め込むこともできる。図５では、各ノードの設定情報及びそのノードと前後のノードとの接続関係情報を２次元コード化して画像ＦＰとし、ノードごとに画像に埋め込んでいる。インポート時には、図６の手順で、各２次元バーコードを認識し、ノードとその設定及び接続関係を読み込み、プログラミング情報を再構築する。
【００３６】
例えば、作業メモリを初期化後（Ｓ１０１）、２次元コードを探索し（Ｓ１０２）、２次元コードが発見された場合（Ｓ１０３においてＹｅｓ）、２次元コードからプログラミング情報を読み込む（Ｓ１０４）。プログラミング情報に基づいてノードを生成する（Ｓ１０５）。生成したノードの接続情報に合致するノードが存在する場合（Ｓ１０６においてＹｅｓ）、接続情報にあるノード同士を接続する（Ｓ１０７）。
【００３７】
この方法ではプログラミング情報が複数の２次元バーコードに分散されているため、エクスポートされた画像の一部を切り出して、その一部のみに限定してプログラミング情報をインポートすることが可能である。
【００３８】
本実施形態では、２次元コードによりプログラミング情報を画像として埋め込んだが、２次元コードに代えて電子透かし技術等を用いても同様のことが可能である。
【００３９】
（実施形態３）
本実施形態では、プログラミング情報がフローチャート以外の場合について説明する。
本発明はフローチャート以外にも応用可能である。例えば、図７のようなＧＵＩ画面をビジュアルに構築する環境でも利用することができる。この場合も、作成したＧＵＩのスクリーンショットをエクスポートする際に、プログラミング情報を画像内に埋め込むことで、画像ファイルによってＧＵＩのプログラミング情報の共有が可能になる。
【００４０】
（実施形態４）
本実施形態では、画像ファイルＦＦ以外に埋め込む場合について説明する。
本発明は画像以外への埋め込みに応用することも可能である。
例えば、作曲ソフトウェアで作曲した結果を共有したい場合、画像ファイルＦＦに代えて音声ファイル内に作曲ソフトウェアで読み込み可能なプログラミング情報を埋め込んでもよい。これにより、音声ファイルから作曲情報を読み込むことができる。
【産業上の利用可能性】
【００４１】
本発明は情報通信産業に適用することができる。
【符号の説明】
【００４２】
１１：画像エクスポート部
１２：画像インポート部
１３：ビジュアルプログラミング管理部
９１：プログラミング情報共有装置
【図１】
2015005035.tif 000003
【図２】
2015005035.tif 000004
【図３】
2015005035.tif 000005
【図４】
2015005035.tif 000006
【図５】
2015005035.tif 000007
【図６】
2015005035.tif 000008
【図７】
2015005035.tif 000009