特許第5835747号(P5835747)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本電信電話株式会社の特許一覧
特許5835747プログラミング情報共有装置及びプログラミング情報共有方法
<>
  • 特許5835747-プログラミング情報共有装置及びプログラミング情報共有方法 図000002
  • 特許5835747-プログラミング情報共有装置及びプログラミング情報共有方法 図000003
  • 特許5835747-プログラミング情報共有装置及びプログラミング情報共有方法 図000004
  • 特許5835747-プログラミング情報共有装置及びプログラミング情報共有方法 図000005
  • 特許5835747-プログラミング情報共有装置及びプログラミング情報共有方法 図000006
  • 特許5835747-プログラミング情報共有装置及びプログラミング情報共有方法 図000007
  • 特許5835747-プログラミング情報共有装置及びプログラミング情報共有方法 図000008
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5835747
(24)【登録日】2015年11月13日
(45)【発行日】2015年12月24日
(54)【発明の名称】プログラミング情報共有装置及びプログラミング情報共有方法
(51)【国際特許分類】
   G06F 9/44 20060101AFI20151203BHJP
【FI】
   G06F9/06 620K
   G06F9/06 620B
【請求項の数】4
【全頁数】10
(21)【出願番号】特願2013-128583(P2013-128583)
(22)【出願日】2013年6月19日
(65)【公開番号】特開2015-5035(P2015-5035A)
(43)【公開日】2015年1月8日
【審査請求日】2014年3月17日
(73)【特許権者】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(74)【代理人】
【識別番号】100119677
【弁理士】
【氏名又は名称】岡田 賢治
(74)【代理人】
【識別番号】100115794
【弁理士】
【氏名又は名称】今下 勝博
(72)【発明者】
【氏名】横瀬 史拓
(72)【発明者】
【氏名】井上 晃
(72)【発明者】
【氏名】堀田 健太郎
(72)【発明者】
【氏名】豊田 貴広
【審査官】 石川 亮
(56)【参考文献】
【文献】 米国特許出願公開第2011/0010688(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 9/44
(57)【特許請求の範囲】
【請求項1】
ビジュアルプログラミングをコンピュータに実行させてプログラムを作成するビジュアルプログラミング実行部と、
前記ビジュアルプログラミング実行部の作成したプログラムの内容を表すプログラミング情報を、前記ビジュアルプログラミングを構成するノードごとに、ノードの設定情報及び当該ノードと前後のノードとの接続関係情報を画像とし、当該プログラムの概要を表すプログラミング画像に当該画像をノードごとに埋め込んで画像ファイルを出力するプログラミング画像生成部と、
前記画像ファイルのプログラミング画像に埋め込まれているノードごとの前記画像を読み出して前記プログラミング情報を再構築し、前記ビジュアルプログラミング実行部へ出力するプログラミング情報復元部と、
を備えるプログラミング情報共有装置。
【請求項2】
前記プログラミング画像は、前記ビジュアルプログラミング実行部が当該プログラムの作成時に画面に表示されていた画像のうちの予め定められた範囲の画像であることを特徴とする請求項1に記載のプログラミング情報共有装置。
【請求項3】
ビジュアルプログラミングをコンピュータに実行させ、プログラムの概要を画面に表示しながらプログラミング情報を生成するプログラミング手順と、
前記ビジュアルプログラミングを構成するノードごとに、ノードの設定情報及び当該ノードと前後のノードとの接続関係情報を画像とし、画面に表示していたプログラムの概要を表すプログラミング画像に当該画像をノードごとに埋め込んで画像ファイルを出力するプログラミング画像生成手順と、
を順に有するプログラミング情報共有方法。
【請求項4】
画像ファイルのプログラミング画像に埋め込まれているノードごとの画像を読み出してプログラミング情報を再構築プログラミング情報復元手順と、
読み出した各プログラミング情報に記載されたプログラムの内容に従って、ビジュアルプログラミングをコンピュータに実行させるプログラミング実行手順と、
を順に有するプログラミング情報共有方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ビジュアルプログラミング言語のプログラミング情報を共有するためのプログラミング情報共有装置及びプログラミング情報共有方法に関する。
【背景技術】
【0002】
ソフトウェアの作成では、テキスト形式のプログラミング言語を利用する以外にも、ビジュアルなプログラミング言語を利用することも可能である。ビジュアルプログラミング言語は、グラフィカルな表示を操作することにより実現したい機能を作りこむことができるため、直感的であり、ユーザに必要とされるスキルを低減できる。
【0003】
ビジュアルプログラミング言語・環境の中には、グラフィカルな操作だけでプログラミングを行うのではなく、GUIの構造に関する内容はグラフィカルに行い、動作に関する内容はソースコードで記述を行うような、中間的なプログラミング言語・環境も存在する。
【0004】
ビジュアルプログラミングを利用するには専用のビジュアルプログラミング環境ソフトが必須となる(例えば、非特許文献1参照。)。そのソフトウェアを用いてプログラミング情報を保存し共有する場合には、専用形式のファイルで保存する必要がある。この専用形式のファイルからビジュアルな表示を得る際には、ビジュアルプログラミング環境ソフトに読み込ませる必要がある。また、ビジュアルな表示を保存したい場合には、別途画面表示を画像として保存する必要がある。
【0005】
一方で、画像に情報を埋めこむ技術は様々な物が存在する(例えば、非特許文献2参照。)。例として、画像フォーマットの拡張領域にテキストデータを埋めこむ方法や、画像上に画像として電子データ(例:電子透かし、2次元バーコード)を埋め込む方法などが挙げられる。例えば、Portable Network Graphics(PNG)フォーマットには任意のテキストを保存する領域が設けられている。
【先行技術文献】
【非特許文献】
【0006】
【非特許文献1】コンピュータを粘土のように―ビジュアルプログラミング言語ビスケットとその実践,NTT技術ジャーナル2010.9 P26−P29
【非特許文献2】Portable Network Graphics (PNG) Specification (Second Edition)http://www.w3.org/TR/PNG/
【発明の概要】
【発明が解決しようとする課題】
【0007】
ビジュアルプログラミング言語を利用可能な環境において、インターネットを介してプログラミング情報を共有したい場合は、専用形式ファイルをWebページ上で共有していた。共有された専用形式ファイルからビジュアルな表示を得るには、専用形式ファイルをダウンロードした上で、ビジュアルプログラミング環境ソフトに読み込ませなければならない。この場合、共有される情報はWebページ上では専用形式ファイルへのリンクとして見えることになる。このように、ビジュアルプログラミング言語のプログラミング情報を共有する際、Webページ上ではビジュアルな状態で行うことができなかった。
【0008】
反面、テキスト形式のプログラミング言語であれば、Webページ上でプログラミングコードそのものを掲示すれば情報の共有だけでなく、表示も同時に実現できる。
【0009】
一方で、ビジュアルな表示を重視する場合は、ビジュアルプログラミング環境ソフトの表示を画像ファイルとして保存し、Webページ上に掲示することでビジュアルな表示を共有できる。しかし、画像ファイルではプログラミング情報は共有できないため、プログラミング情報も共有したい場合は、別途専用形式ファイルを用意し共有する必要があった。
【0010】
このように、ビジュアルプログラミング言語を利用可能な環境におけるプログラミング情報の共有は、テキスト形式のプログラミング言語に比べ大きな手間がかかっていた。また、Webページによっては画像形式以外のファイルアップロードが許されていない場合があり、プログラミング情報を共有できない問題もあった。
【0011】
本発明は、ビジュアルプログラミング言語を利用可能な環境におけるプログラミング情報の共有を可能にするプログラミング情報共有装置及びプログラミング情報共有方法の提供を目的とする。
【課題を解決するための手段】
【0012】
本発明に係るプログラミング情報共有装置は、
ビジュアルプログラミングをコンピュータに実行させてプログラムを作成するビジュアルプログラミング実行部と、
前記ビジュアルプログラミング実行部の作成したプログラムの内容を表すプログラミング情報を、前記ビジュアルプログラミングを構成するノードごとに、ノードの設定情報及び当該ノードと前後のノードとの接続関係情報を画像とし、当該プログラムの概要を表すプログラミング画像に当該画像をノードごとに埋め込んで画像ファイルを出力するプログラミング画像生成部と、
前記画像ファイルのプログラミング画像に埋め込まれているノードごとの前記画像を読み出して前記プログラミング情報を再構築し、前記ビジュアルプログラミング実行部へ出力するプログラミング情報復元部と、
を備える。
【0013】
本発明に係るプログラミング情報共有装置では、前記プログラミング画像は、前記ビジュアルプログラミング実行部が当該プログラムの作成時に画面に表示されていた画像のうちの予め定められた範囲の画像であることが好ましい。
【0014】
本発明に係るプログラミング情報共有方法は、
ビジュアルプログラミングをコンピュータに実行させ、プログラムの概要を画面に表示しながらプログラミング情報を生成するプログラミング手順と、
前記ビジュアルプログラミングを構成するノードごとに、ノードの設定情報及び当該ノードと前後のノードとの接続関係情報を画像とし、画面に表示していたプログラムの概要を表すプログラミング画像に当該画像をノードごとに埋め込んで画像ファイルを出力するプログラミング画像生成手順と、
を順に有する。
【0015】
本発明に係るプログラミング情報共有方法は、
画像ファイルのプログラミング画像に埋め込まれているノードごとの画像を読み出してプログラミング情報を再構築プログラミング情報復元手順と、
読み出した各プログラミング情報に記載されたプログラムの内容に従って、ビジュアルプログラミングをコンピュータに実行させるプログラミング実行手順と、
を順に有する。
【0016】
なお、上記各発明は、可能な限り組み合わせることができる。
【発明の効果】
【0017】
本発明によれば、ビジュアルプログラミング言語を利用可能な環境におけるプログラミング情報の共有を可能にするプログラミング情報共有装置及びプログラミング情報共有方法を提供することができる。
【図面の簡単な説明】
【0018】
図1】本発明に係るプログラミング情報共有装置の一例を示す。
図2】ビジュアルプログラミング環境を提供するソフトウェアの表示画面の一例を示す。
図3】実施形態1に係る画像ファイルの一例を示す。
図4】実施形態2に係る画像ファイルの第1例を示す。
図5】実施形態2に係る画像ファイルの第2例を示す。
図6】画像からフローチャートを復元する手順の一例を示す。
図7】実施形態3に係る画像ファイルの一例を示す。
【発明を実施するための形態】
【0019】
添付の図面を参照して本発明の実施形態を説明する。以下に説明する実施形態は本発明の実施の例であり、本発明は、以下の実施形態に制限されるものではない。なお、本明細書及び図面において符号が同じ構成要素は、相互に同一のものを示すものとする。
【0020】
図1に、本実施形態に係るプログラミング情報共有装置の一例を示す。本実施形態に係るプログラミング情報共有装置91は、ビジュアルプログラミング環境を提供するソフトウェアを実行可能な装置である。本実施形態に係るプログラミング情報共有装置91は、プログラミング画像生成部として機能する画像エクスポート部11と、プログラミング情報復元部として機能する画像インポート部12と、ビジュアルプログラミング実行部として機能するビジュアルプログラミング管理部13と、を備える。プログラミング情報共有装置91は、コンピュータにプログラミング情報共有プログラムを実行させることで実現してもよい。ここで、プログラミング情報は、ビジュアルプログラミング環境を提供するソフトウェアが利用可能なプログラムの情報であって、モジュール化されたものであってもよい。
【0021】
本発明に係るプログラミング情報共有方法は、プログラミング情報を共有するために、プログラミング手順と、プログラミング画像生成手順と、を順に有する。
プログラミング手順では、ビジュアルプログラミング管理部13が、ビジュアルプログラミングをコンピュータに実行させ、プログラムの概要を画面に表示しながらプログラミング情報を生成する。
プログラミング画像生成手順では、画像エクスポート部11が、ビジュアルプログラミング管理部13の作成したプログラミング情報を、画面に表示していたプログラムの概要を表す画像ファイルFに埋め込み、当該画像ファイルFをエクスポートする。
【0022】
本発明に係るプログラミング情報共有方法は、共有化された画像ファイルFを利用するために、プログラミング情報復元手順と、プログラミング実行手順と、を順に有する。
プログラミング情報復元手順では、画像インポート部12が、エクスポートされた画像ファイルFをインポートし、画像ファイルFからプログラミング情報を読み込む。
プログラミング実行手順では、ビジュアルプログラミング管理部13が、読み出したプログラミング情報に記載されたプログラムの内容に従って、ビジュアルプログラミングをコンピュータに実行させる。
【0023】
プログラミング情報を画像としてエクスポートすることで、画像ファイルにビジュアルな表示とプログラミングの情報を持たせることができる。そのため、インターネットのWebページ等でより簡単に効果的な情報共有を行うことができるようになる。
本発明は様々な応用が可能であるため、以下に実施形態を4つ示す。
【0024】
(実施形態1)
本実施形態では、画像の拡張領域に埋め込む場合について説明する。
コンピュータ端末上で操作の自動化を行う仮想ソフトウェアを想定する。この仮想ソフトウェアでは、事前に自動化したい手順をフローチャートで記述しておく必要がある。例えば図2は、Webメールサービスに対する操作を自動化手順として作り込んでいるイメージである。画面上に、選択ウィンドウW1と、フロー作成ウィンドウW2が表示されている。選択ウィンドウW1は、フローチャートを作成するために必要な部品を表示する。Webメールサービスを提供するためのソフトウェアを自動化する手順は、文字列設定、クリック、一定時間待機などの、Webメールサービスで行われる任意の操作や動作の組み合わせである。フロー作成ウィンドウW2は、選択ウィンドウから選択した部品を配列し、接続したフローチャートを表示する。
【0025】
さらに、フロー作成ウィンドウW2上に配置した各操作それぞれに詳細な設定を行う必要がある。例えば、「文字列設定」では、どのテキストボックスにどんな文字列を送信するかを詳細設定する。この設定も、この仮想ソフトウェアではダイアログを表示させてGUIを使って設定を行うことができる。また、この仮想ソフトウェアでは変数も利用可能であり、送信する文字列等を自動実行中に変数に一時保存することが可能である。なお、ノード上の見出しも編集可能となっている。この仮想ソフトウェアから、表示画像をエクスポートすると、図1に示す画像ファイルFが出力される。
【0026】
図3に、画像ファイルFの一例を示す。エクスポートされた画像ファイルFは、ヘッダ領域と、画像データ領域と、拡張領域を有する。ヘッダ領域にはヘッダ情報が保存される。画像データ領域には、図2に示す画面に表示されていた画像のうちの予め定められた範囲の画像情報が保存される。予め定められた範囲の画像は、例えば、フロー作成ウィンドウW2に表示されていた画像である。拡張領域には、図2に示すフロー作成ウィンドウW2で作成したフローチャートのプログラミング情報が保存されている。
【0027】
図3に示す画像ファイルFの例では、プログラミング情報をテキスト化(XML化)して拡張領域に格納している。このプログラミング情報には、フローチャートの形状、見出し、各操作の詳細設定、変数等の情報を含み、編集中の状態を完全に復元できる情報を含んでいる。この画像ファイルFは、拡張領域を含んでいるが画像のフォーマットには従っているため、画像閲覧ソフトやブラウザによって表示が可能である。
【0028】
画像ファイルFのエクスポート時には、画像エクスポート部11が、フロー作成ウィンドウW2に表示されているフローチャートの画像情報とプログラミング情報をビジュアルプログラミング管理部13から取得し、画像情報を画像データ領域に格納し、プログラミング情報を拡張領域に格納する。
【0029】
さらに、この仮想ソフトウェアではこのプログラミング情報が埋め込まれた画像ファイルFをインポートすることにより、画像ファイルFに表示されているプログラミング情報を読み込むことができる。画像ファイルFのインポート時には、画像インポート部12が、プログラミング情報を拡張領域から読み出し、ビジュアルプログラミング管理部13へ出力する。ビジュアルプログラミング管理部13は、画像インポート部12の読み出したプログラミング情報に記載されたフローチャートをフロー作成ウィンドウW2に表示する。
【0030】
なお、インポートしようとした画像ファイルFにプログラミング情報が含まれない場合は、インポートエラーとしてもよい。また、明示的なインポート操作(メニューから機能を選びファイルを選択する)だけでなく、OSのコピー&ペースト機能で画像ファイルFをフロー作成ウィンドウW2にペーストしたり、画像ファイルFをドラッグしフロー作成ウィンドウW2にドロップしたりすることで、画像ファイルFをインポートすることも可能である。この仮想ソフトウェアは、画像ファイルFをペーストしたりドロップしたりする操作を検出すると、対象の画像情報を画像インポート部12に通知し、画像インポート部12はプログラミング情報の読み込みを行う。
【0031】
(実施形態2)
本実施形態では、画像の一部としてプログラミング情報を埋めこむ場合について説明する。プログラミング情報を画像に埋めこむことで、拡張領域が存在しない画像フォーマットに利用することができる。また、画像を加工編集した場合であっても、プログラミング情報を残すことができる。
【0032】
実施形態2では、画像上に画像の一部としてプログラミング情報を埋め込む。図4はエクスポートされた画像ファイルFの例である。図4では、エクスポートされた画像ファイルFの画像FW2には、プログラミング情報が1つの2次元コードに変換された画像Fが、画像FW2の一部として埋め込まれている。
【0033】
画像ファイルFのエクスポート時には、画像エクスポート部11が、フロー作成ウィンドウW2に表示されているフローチャートの画像情報とプログラミング情報をビジュアルプログラミング管理部13から取得し、プログラミング情報を2次元コードに変換し、2次元コードを画像情報に埋め込む。
【0034】
画像ファイルFのインポート時には、画像インポート部12が、画像FW2内から2次元コードを検出し、プログラミング情報の読み込みを行う。この方法では、プログラミング情報が画像Fとして埋め込まれているため、画像フォーマットを自由に選ぶことができ、2次元バーコードを破壊しなければ画像の加工をしてもインポートが可能である。
【0035】
図4では、フロー作成ウィンドウW2に表示されているフローチャート全てのプログラミング情報をまとめて1つの2次元コードに変換したが、これに限定されない。例えば、図5の方法でプログラミング情報を埋め込むこともできる。図5では、各ノードの設定情報及びそのノードと前後のノードとの接続関係情報を2次元コード化して画像Fとし、ノードごとに画像に埋め込んでいる。インポート時には、図6の手順で、各2次元バーコードを認識し、ノードとその設定及び接続関係を読み込み、プログラミング情報を再構築する。
【0036】
例えば、作業メモリを初期化後(S101)、2次元コードを探索し(S102)、2次元コードが発見された場合(S103においてYes)、2次元コードからプログラミング情報を読み込む(S104)。プログラミング情報に基づいてノードを生成する(S105)。生成したノードの接続情報に合致するノードが存在する場合(S106においてYes)、接続情報にあるノード同士を接続する(S107)。
【0037】
この方法ではプログラミング情報が複数の2次元バーコードに分散されているため、エクスポートされた画像の一部を切り出して、その一部のみに限定してプログラミング情報をインポートすることが可能である。
【0038】
本実施形態では、2次元コードによりプログラミング情報を画像として埋め込んだが、2次元コードに代えて電子透かし技術等を用いても同様のことが可能である。
【0039】
(実施形態3)
本実施形態では、プログラミング情報がフローチャート以外の場合について説明する。
本発明はフローチャート以外にも応用可能である。例えば、図7のようなGUI画面をビジュアルに構築する環境でも利用することができる。この場合も、作成したGUIのスクリーンショットをエクスポートする際に、プログラミング情報を画像内に埋め込むことで、画像ファイルによってGUIのプログラミング情報の共有が可能になる。
【0040】
(実施形態4)
本実施形態では、画像ファイルF以外に埋め込む場合について説明する。
本発明は画像以外への埋め込みに応用することも可能である。
例えば、作曲ソフトウェアで作曲した結果を共有したい場合、画像ファイルFに代えて音声ファイル内に作曲ソフトウェアで読み込み可能なプログラミング情報を埋め込んでもよい。これにより、音声ファイルから作曲情報を読み込むことができる。
【産業上の利用可能性】
【0041】
本発明は情報通信産業に適用することができる。
【符号の説明】
【0042】
11:画像エクスポート部
12:画像インポート部
13:ビジュアルプログラミング管理部
91:プログラミング情報共有装置
図1
図2
図3
図4
図5
図6
図7