JP2010134879A - ビジュアルプログラミング支援装置、ビジュアルプログラミング支援装置のビジュアルプログラミング支援方法、プログラム、および記憶媒体 - Google Patents

ビジュアルプログラミング支援装置、ビジュアルプログラミング支援装置のビジュアルプログラミング支援方法、プログラム、および記憶媒体 Download PDF

Info

Publication number
JP2010134879A
JP2010134879A JP2008312658A JP2008312658A JP2010134879A JP 2010134879 A JP2010134879 A JP 2010134879A JP 2008312658 A JP2008312658 A JP 2008312658A JP 2008312658 A JP2008312658 A JP 2008312658A JP 2010134879 A JP2010134879 A JP 2010134879A
Authority
JP
Japan
Prior art keywords
visual programming
programming support
area
editing
visual
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2008312658A
Other languages
English (en)
Other versions
JP5217989B2 (ja
Inventor
Soichiro Iga
聡一郎 伊賀
Kenji Tanaka
謙次 田中
Katsuki Nakagawa
勝樹 中川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2008312658A priority Critical patent/JP5217989B2/ja
Publication of JP2010134879A publication Critical patent/JP2010134879A/ja
Application granted granted Critical
Publication of JP5217989B2 publication Critical patent/JP5217989B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】オブジェクトの選択し直しを防止することができるビジュアルプログラミング支援装置、ビジュアルプログラミング支援装置のビジュアルプログラミング支援方法、プログラム、および記憶媒体を提供する。
【解決手段】オブジェクト管理領域801に表示されているラベル802のオブジェクト編集領域803へのドラッグアンドドロップに応じて、オブジェクト編集領域803にラベル805が表示されたオブジェクト205の仮実行結果をプレビュー領域806に表示することにより、プログラムの構成要素とするオブジェクト205の選択過程において、当該オブジェクト205の動作結果を直感的に利用者に示すことができるので、オブジェクト205の選択し直しを防止することができる。
【選択図】 図7

Description

本発明は、ビジュアルプログラミング支援装置、ビジュアルプログラミング支援装置のビジュアルプログラミング支援方法、プログラム、および記憶媒体に関するものである。
近年、パーソナルコンピュータの進歩に伴い、ウェブなどのネットワーク上のサービスが活用される機会が増えてきている。今後は、Web2.0に代表されるWeb関連の技術により、ネットワーク上のサービスを組み合わせて、新しいサービスとして利用することが一般的に増えてくることが予想される。それに伴い、従来の文字ベースの人工言語によるプログラミングに加えて、ネットワーク上のサービス等のオブジェクトを視覚的に表現したアイコン等を組み合わせることによりプログラムを作成することができるビジュアルプログラミング環境を提供するソフトウェアが幾つか登場している。
しかし、一般の利用者がネットワーク上のサービスを組み合わせて新たなサービスとして活用するためには、利用者自身がプログラミングするという煩雑な処理を行う必要がある。そのため、今後、ネットワーク上のサービスの恩恵を受けられない利用者が増えてしまう恐れがある。また、ビジュアルプログラミングによりプログラムを作成する場合であっても、実際にはオブジェクトを視覚的に表現したアイコン等の組み合わせを、コンピュータ言語にコンパイルし、かつコンパイルしたプログラムを実行しない限り、プログラミングの結果を確認することができないので、利用者に対して利用上の心理的な障壁を与えることが予想される。
そこで、コンピュータスクリーン上でソフトウェア(オブジェクト)の抽象概念(グラフィック表現)を線で結んでいくことにより、ソフトウェアの機能を連携させる技術が提案されている(特許文献1参照)。特許文献1に記載のグラフィカルプログラミングのための方法では、複数のグラフィック表現のうちの第1のグラフィック表現からの出力を、該複数のグラフィック表現のうちの該第1のグラフィック表現の入力および該複数のグラフィック表現のうちの第2のグラフィック表現の入力の少なくとも一方に、グラフィカルに相互接続することに応答して、該第1のグラフィック表現と関連する第1のオペレータ(オブジェクト)と、該第2のグラフィック表現と関連する第2のオペレータ(オブジェクト)とを自動的に連携させるものである。
特表2003−529825号公報
ところで、上記特許文献1に記載された発明によれば、第1のオペレータと連携可能な第2のオペレータの第2のグラフィック表現が提示されるので、連携させるソフトウェアの機能の選択は容易になるものの、連携させるソフトウェアの機能を全て選択し、当該選択したグラフィック表現の組み合わせをコンピュータ言語にコンパイルし、かつコンパイルしたプログラムを実行しない限り、利用者は当該プログラムの実行結果を確認することができない。
したがって、連携させるソフトウェアの機能の選択の過程で、利用者が望まないソフトウェアの機能が選択されたとしても、コンパイルしたプログラムを実行しない限り、当該プログラムの実行結果を確認することができないため、所望の実行結果が得られなかった場合には、ソフトウェアの機能を再度選択し直さなければならない、という問題がある。
本発明は、上記に鑑みてなされたものであって、オブジェクトの選択し直しを防止することができるビジュアルプログラミング支援装置、ビジュアルプログラミング支援装置のビジュアルプログラミング支援方法、プログラム、および記憶媒体を提供することを目的とする。
上述した課題を解決し、目的を達成するために、本発明にかかるビジュアルプログラミング支援装置は、プログラムの構成要素であって、他の構成要素と連携して固有の処理を実行するオブジェクトの視覚情報を表示画面上の管理領域に表示する管理手段と、前記管理領域に前記視覚情報を表示した前記オブジェクトの中から、固有の処理を実行させる前記オブジェクトおよび当該オブジェクト間の関係の入力を受け付ける入力受付手段と、入力を受け付けた前記オブジェクトの前記視覚情報および前記オブジェクト間の関係を前記表示画面上の編集領域に表示する編集手段と、前記編集領域の前記視覚情報および前記オブジェクト間の関係から、固有の処理を実行する際の前記オブジェクト間の連携を判断する判断手段と、判断した前記オブジェクト間の連携に従って、前記オブジェクトがあたかも固有の処理を実行したかのような仮実行結果を生成する実行手段と、前記仮実行結果を前記表示画面上のプレビュー領域に表示するプレビュー手段と、を備えたことを特徴とする。
また、請求項2にかかるビジュアルプログラミング支援装置は、請求項1に記載の発明において、前記編集領域に表示されている前記視覚情報の表示制御を受け付けるグラフィカルユーザインターフェースを前記プレビュー領域に表示するプレビュー編集手段と、前記グラフィカルユーザインターフェースにより受け付けた表示制御を前記編集領域に反映させるフィードバック手段と、をさらに備えたことを特徴とする。
また、請求項3にかかるビジュアルプログラミング支援装置は、請求項2に記載の発明において、前記グラフィカルユーザインターフェースは、プルダウンメニューまたはチェックボックスであることを特徴とする。
また、請求項4にかかるビジュアルプログラミング支援装置は、請求項1から3のいずれか一に記載の発明において、前記実行手段は、最後に前記固有の処理を実行する前記オブジェクト以外の前記オブジェクトの前記仮実行結果を生成することを特徴とする。
また、請求項5にかかるビジュアルプログラミング支援装置のビジュアルプログラミング支援方法は、管理手段が、プログラムの構成要素であって、他の構成要素と連携して固有の処理を実行するオブジェクトの視覚情報を表示画面上の管理領域に表示する管理工程と、入力受付手段が、前記管理領域に前記視覚情報を表示した前記オブジェクトの中から、固有の処理を実行させる前記オブジェクトおよび当該オブジェクト間の関係の入力を受け付ける入力受付工程と、編集手段が、入力を受け付けた前記オブジェクトの前記視覚情報および前記オブジェクト間の関係を前記表示画面上の編集領域に表示する編集工程と、判断手段が、前記編集領域の前記視覚情報および前記オブジェクト間の関係から、固有の処理を実行する際の前記オブジェクト間の連携を判断する判断工程と、実行手段が、判断した前記オブジェクト間の連携に従って、前記オブジェクトがあたかも固有の処理を実行したかのような仮実行結果を生成する実行工程と、プレビュー手段が、前記仮実行結果を前記表示画面上のプレビュー領域に表示するプレビュー工程と、を有することを特徴とする。
また、請求項6にかかるビジュアルプログラミング支援装置のビジュアルプログラミング支援方法は、請求項5にかかる発明において、プレビュー編集手段が、前記編集領域に表示されている前記視覚情報の表示制御を受け付けるグラフィカルユーザインターフェースを前記プレビュー領域に表示するプレビュー編集工程と、フィードバック手段が、前記グラフィカルユーザインターフェースにより受け付けた表示制御を前記編集領域に反映させるフィードバック工程と、をさらに有することを特徴とする。
また、請求項7にかかるビジュアルプログラミング支援装置のビジュアルプログラミング支援方法は、請求項6に記載の発明において、前記グラフィカルユーザインターフェースは、プルダウンメニューまたはチェックボックスであることを特徴とする。
また、請求項8にかかるビジュアルプログラミング支援装置のビジュアルプログラミング支援方法は、請求項5から7のいずれか一にかかる発明において、前記実行工程は、最後に前記固有の処理を実行する前記オブジェクト以外の前記オブジェクトの前記仮実行結果を生成することを特徴とする。
また、請求項9にかかるプログラムは、請求項5から8のいずれか一に記載のビジュアルプログラミング支援装置のビジュアルプログラミング支援方法の各工程をコンピュータに実行させるためのものである。
また、請求項10にかかる記憶媒体は、請求項5から8のいずれか一に記載のビジュアルプログラミング支援装置のビジュアルプログラミング支援方法の各工程をコンピュータに実行させるためのプログラムを記録したコンピュータ読取り可能なものである。
本発明によれば、プログラムの構成要素とするオブジェクトの選択過程において、当該オブジェクトの動作結果を直感的に利用者に示すことができるので、オブジェクトの選択し直しを防止することができる、という効果を奏する。
以下に添付図面を参照して、この発明にかかるビジュアルプログラミング支援装置、ビジュアルプログラミング支援装置のビジュアルプログラミング支援方法、プログラム、および記憶媒体の最良な実施の形態を詳細に説明する。
(第1実施の形態)
まず、図1を用いて、本発明にかかるビジュアルプログラミング支援装置、ビジュアルプログラミング支援装置のビジュアルプログラミング支援方法、プログラム、および記憶媒体が適用されるシステム環境について説明する。図1は、本発明にかかるビジュアルプログラミング支援装置が適用されるシステム環境の一例を示す図である。
本発明にかかるビジュアルプログラミング支援装置、ビジュアルプログラミング支援装置のビジュアルプログラミング支援方法、プログラム、および記憶媒体は、パーソナルコンピュータやワークステーションなどのコンピュータ101のソフトウェアまたはウェブなどの様々なネットワーク上のサービスが稼動しているインターネット102に接続されているパーソナルコンピュータ(PC)100に適用されるものである。なお、PC100は、表示画面であるビットマップスクリーン、入力部であるマウスなどのポインティングデバイスやキーボードなどの操作表示部を備えているものとする。
図2は、本実施の形態にかかるPCのハードウェアおよびソフトウェアの構成を説明するための説明図である。図2に示すように、本実施の形態にかかるPC100は、各種機器からなるハードウェアリソース207を有する。このハードウェアリソース207に含まれる機器には、HDD(Hard Disk Drive)、ネットワークインターフェース、上述した操作表示部などがある。
このハードウェアリソース207を制御するソフトウェアシステムは、ウェブブラウザ(Web Browser)201、エンジン(Engine)202、ウェブサーバ(Web Server)203、CGI(Common Gateway Interface)204、オブジェクト205、およびオペレーティングシステム206を有している。
オペレーティングシステム206は、その他のソフトウェアが動作するための基盤を提供する。ウェブブラウザ201は、操作表示部に画像データ等を表示するソフトウェアである。
エンジン202は、ウェブブラウザ201を通じて、利用者にビジュアルプログラミング環境を提供するソフトウェアである。ここで、ビジュアルプログラミング環境とは、コンピュータ101のソフトウェアやインターネット102上のサービスなどのプログラムの構成要素であって、固有の処理を実行するオブジェクト205を視覚的に表現した視覚情報であるアイコン等のラベルを操作表示部の表示画面に表示し、ポインティングデバイスの操作に応じて、オブジェクト205が固有の処理を実行するプログラムを作成する環境である。
CGI204は、エンジン202により提供されるビジュアルプログラミング環境により選択されたオブジェクト205を起動するためのソフトウェアである。
ウェブサーバ203は、CGI204とエンジン202との間での情報送信を行うソフトウェアである。
オブジェクト205は、上述したように、プログラムの構成要素であって、他の構成要素との通信、対話、協調により連携して固有の処理を実行するものである。より具体的には、オブジェクト205は、オブジェクト205間の共通の通信路を流れるメッセージに対して各オブジェクト205が反応して固有の処理を実行するものである。また、オブジェクト205は、ソフトウェアシステムへの参加、離脱により、ソフトウェアシステム全体の動作を柔軟に変更させることができる。
ここで、共通の通信路は、単にLANなどの物理的ネットワークに限定されるものではなく、無線、音声、光などメッセージを流すことができる媒体を介在するものであればよい。また、共通の通信路は、各オブジェクトが共通に呼び出し可能なメモリ等の記憶媒体、さらには通信路上のポートアドレス等など仮想的な存在であってもよい。
次に、オブジェクト205のオブジェクトモデルについて説明する。図3は、オブジェクトのUMLクラス図である。UML(Unified Modeling Language)とは、OMG(Object Management Group)が使用を策定しているシステムモデリング言語であり、モデリングの成果を記述する記法を定義したものである。このUMLは、オブジェクト指向によるソフトウェアの設計において広く用いられている。
クラスとは、オブジェクトの設計図に相当する概念であり、オブジェクトの内部状態である属性やその内部状態を変化させる内部関数である操作や、他のオブジェクトとの関係を定義するものである。より具体的には、クラスは、UMLクラス図において、3段の区画を有する矩形として記述される。それぞれの区画は、上から名前区画、属性区画、および操作区画と呼ばれる。名前区画には、当該クラスの名称が記述され、属性区画には、当該クラスが有するデータ(属性)が記述され、操作区画には、当該クラスが有する手続(操作)が記述される。
このように、クラスは、データ(属性)を所持するための属性区画と、かかる属性の書込みおよび読み出しを行う手続き(操作)を所持するための操作区画とを有している。これらのクラスは、ソフトウェアの一部として含まれるので、ソフトウェアが実行されると、各クラスは所定の記憶領域に実体化され、属性区画に含まれる各データ(属性)が所定の記憶領域上に展開される。したがって、クラスが実体化したオブジェクトは、所定の記憶領域上の各データ(属性)の書き込みおよび読み出しを行うことが可能となる。
なお、クラス図において、属性や操作の左側に「-」記号を付した場合は、当該属性や操作が外部のクラスに非公開であることを示し、「+」記号を付した場合は、当該属性や操作が外部のクラスに公開されていることを示す。また、操作については「メッセージ受信()」のように「()」記号を付すことが通例であり、「(引数1,引数2)」のように、かかる操作に引き渡す引数を記述する場合もある。
本実施の形態にかかるオブジェクト205のクラスは、操作として、メッセージ受信()、不整合受信()、および処理()を有する。
メッセージ受信()は、オブジェクト205の固有の処理の実行(または仮実行)を要求するメッセージを受信する処理である。ここで、仮実行とは、あたかも固有の処理を実行したかのような実行結果(以下、仮実行結果とする)を生成する処理であり、例えば、オブジェクトの固有の処理がスキャン処理である場合、スキャナが備える原稿がセットされていないコンタクトガラスを読み取った画像データ(以下、ダミーデータとする)を生成する処理である。
また、不整合受信()は、他のオブジェクトから固有の処理を実行できない原因を通知する不整合通知メッセージを受信する処理である。処理()は、オブジェクト205の固有の処理である。
また、オブジェクト205のクラスは、属性として、オブジェクトID、オブジェクトの名前、オブジェクトのURL、オブジェクトの種類、設定情報名、設定情報値、およびテンプレートを有する。これらの属性と操作のうち、処理()、設定情報名、設定情報値、およびテンプレートは、クラスの外部に公開されない。
オブジェクトIDは、オブジェクトを特定するための情報である。オブジェクトの名前は、オブジェクトの名称である。オブジェクトのURLは、オブジェクトを指定する情報である。オブジェクトの種類は、オブジェクトが実行する固有の処理の種類である。設定情報名は、固有の処理の実行に用いるパラメータ等の設定情報の名称である。設定情報値は、固有の処理の実行に用いるパラメータの値である。テンプレートは、オブジェクト間で送受信するメッセージの書式である。
ここで、図4および図5を用いて、スキャン処理を実行するオブジェクト(以下、スキャンオブジェクトとする)、およびスキャンオブジェクトによるスキャン処理により得られた画像データに含まれるQRコードの解析処理を実行するオブジェクト(以下、QRコード解析オブジェクトとする)のオブジェクトモデルについて説明する。図4は、スキャンオブジェクトのUMLクラス図である。図5は、QRコード解析オブジェクトのUMLクラス図である。
スキャンオブジェクトのクラスは、操作として、メッセージ受信()、不整合受信()、およびスキャン処理()を有する。
メッセージ受信()は、スキャンオブジェクトの固有の処理の実行(または仮実行)を要求するメッセージを受信する処理である。不整合受信()は、QRコード解析オブジェクトから固有の処理を実行できない原因を通知する不整合通知メッセージを受信する処理である。スキャン処理()は、スキャンオブジェクトの固有の処理であり、固有の処理の実行を要求するメッセージを受信した場合、原稿を読み取った画像データを生成し、仮実行を要求するメッセージを受信した場合、コンタクトガラスを読み取ったダミーデータを生成する。
また、スキャンオブジェクトのクラスは、属性として、オブジェクトID、オブジェクトの名前、オブジェクトのURL、オブジェクトの種類、設定情報名、設定情報値、および仮実行結果の生成用テンプレートを有する。これらの属性と操作のうち、スキャン処理()、設定情報名、設定情報値、テンプレート、および仮実行結果の生成用テンプレートは、クラスの外部に公開されない。
オブジェクトIDは、スキャンオブジェクトを特定するための情報であり、例えば、“Scan Object”等である。オブジェクトの名前は、スキャンオブジェクトの名称であり、例えば、“スキャンオブジェクト”等である。オブジェクトのURLは、スキャンオブジェクトを指定する情報であり、例えば、“http://example.com/ScanObject”等である。オブジェクトの種類は、スキャンオブジェクトの固有の処理の種類であり、例えば、“入力”等である。設定情報名は、スキャンオブジェクトの固有の処理に用いるパラメータ等の設定情報の名称であり、例えば、“解像度”等である。設定情報値は、スキャンオブジェクトの固有の処理に用いるパラメータの値であり、例えば、“300dpi”等である。
テンプレートは、固有の処理の実行により生成される画像データの書式を示す情報であり、例えば、「JPEGデータ」である。仮実行結果の生成用テンプレートは、仮実行結果であるダミーデータの書式を示す情報であり、例えば、「ダミーのJPEGデータ」である。
QRコード解析オブジェクトのクラスは、操作として、メッセージ受信()、不整合受信()、およびQRコード解析処理()を有する。
メッセージ受信()は、QRコード解析オブジェクトの固有の処理の実行(または仮実行)を要求するメッセージをスキャンオブジェクトから受信する処理である。不整合受信()は、他のオブジェクトから固有の処理を実行できない原因を通知する不整合通知メッセージを受信する処理である。QRコード解析処理()は、QRコード解析オブジェクトの固有の処理であり、固有の処理の実行を要求するメッセージを受信した場合、スキャンオブジェクトの固有の処理の実行により生成された画像データに含まれるQRコードの解析結果を生成し、仮実行を要求するメッセージを受信した場合、スキャンオブジェクトによる仮実行結果であるダミーデータに含まれるQRコードの解析結果を生成する。
また、QRコード解析オブジェクトのクラスは、属性として、オブジェクトID、オブジェクトの名前、オブジェクトのURL、オブジェクトの種類、設定情報名、設定情報値、テンプレート、および仮実行結果の生成用テンプレートを有する。これらの属性と操作のうち、QRコード解析処理()、設定情報名、設定情報値、テンプレート、および仮実行結果の生成用テンプレートは、クラスの外部に公開されない。
オブジェクトIDは、QRコード解析オブジェクトを特定するための情報であり、例えば、“QR Code Object”である。オブジェクトの名前は、QRコード解析オブジェクトの名称であり、例えば、“QRコード解析オブジェクト”である。オブジェクトのURL(Uniform Resource Locator)は、QRコード解析オブジェクトを指定する情報であり、例えば、“http://example.com/qrCodeObject”である。オブジェクトの種類は、QRコード解析オブジェクトが実行する固有の処理の種類であり、例えば、“加工”である。設定情報名は、QRコード解析オブジェクトが固有の処理に用いるパラメータ等の設定情報の名称であり、例えば、“解像度”である。設定情報値は、QRコード解析オブジェクトが固有の処理に用いるパラメータの値であり、例えば、“600dpi”である。
テンプレートは、固有の処理の実行により生成された解析結果の書式を示す情報であり、「なし」である。仮実行結果の生成用テンプレートは、仮実行結果である解析結果の書式を示す情報であり、「なし」である。
図6は、本実施の形態にかかるPCのハードウェア構成を示すブロック図である。図6に示すように、PC100は、コントローラ600と、USB(Universal Serial Bus)インターフェース601と、IEEE1394(the Institute of Electrical and Electronics Engineers 1394)インターフェース602と、をPCI(Peripheral Component Interconnect)バス603で接続した構成となる。
コントローラ600は、PC100の全体制御を行う制御装置であり、CPU(Central Processing Unit)604と、システムメモリ(MEM−P)605と、ノースブリッジ(NB)606と、サウスブリッジ(SB)607と、ASIC(Application Specific Integrated Circuit)608と、ローカルメモリ(MEM−C)609と、ハードディスクドライブ(HDD:Hard Disk Drive)610と、を有し、ノースブリッジ(NB)606とASIC608との間をAGP(Accelerated Graphics Port)612で接続した構成となる。
CPU604は、各種ソフトウェアを実行するための演算装置である。PC100の各種機能を実現するためのソフトウェアシステム(図2に示す)は、MEM−C609もしくはHDD610に記憶保持され、必要に応じてMEM−P605にロードされてこのCPU604により実行される。
MEM−P605は、プログラムやデータの格納用メモリ、プログラムやデータの展開用メモリ、プリンタに出力する画像データの描画用メモリなどとして用いるシステムメモリであり、ROM(Read Only Memory)605aとRAM(Random Access Memory)605bとからなる。ROM605aは、プログラムやデータの格納用メモリとして用いる読み出し専用のメモリであり、RAM605bは、プログラムやデータの展開用メモリ、プリンタに出力する画像データの描画用メモリなどとして用いる書き込みおよび読み出し可能なメモリである。
NB606およびSB607は、MEM−P605やAGP612を制御する制御装置であり、NB606を介してCPU604とMEM−P605とSB607とAGP612とが接続される形をとる。NB606は、AGP612を介してASIC608とも接続され、その先にPCIバス603が接続される。
ASIC608は、画像処理のための制御装置である。このASIC608は、MEM−C609やHDD610や操作表示部611のような周辺機器と接続され、これらの制御もおこなう。MEM−C609は、ASIC608が画像処理をおこなう画像データ等を一時記憶する記憶部であり、HDD610は、各種ソフトウェア、フォントデータ、蓄積するよう指示された画像データ等を記憶する記憶部である。操作表示部611は、表示画面および入力部などを備えて構成される。
USBインターフェース601およびIEEE1394インターフェース602は、外部機器を接続するためのインターフェースである。PCIバス603には、これら以外にネットワーク接続のためのインターフェース装置等も接続される。
次に、MEM−P605にロードされたソフトウェアシステムのうち、ビジュアルプログラミング環境を提供するエンジン202の機能構成について説明する。図7は、エンジンの機能構成を示すブロック図である。エンジン202は、図7に示すように、オブジェクト管理部701、オブジェクト編集部702、オブジェクト連携判断部703、オブジェクト連携テーブル部704、実行部705、プレビュー部706、および入力受付部707を備えて構成される。
オブジェクト管理部701は、オブジェクト205を視覚的に表現した視覚情報であるアイコン等のラベルを、オブジェクト205の手続(操作)であるメソッドに従って分類して、操作表示部611が備える表示画面800のオブジェクト管理領域801に表示する。
図8は、操作表示部が有する表示画面の一例を示す図である。オブジェクト管理部701は、図8に示すように、オブジェクト205のラベル802を、オブジェクト205のメソッド(例えば、収集・加工・出力)に従って分類して、操作表示部611が備える表示画面800のオブジェクト管理領域801に表示する。
本実施の形態では、オブジェクト管理部701は、HDD610に予めインストールされているオブジェクト管理テーブルを参照して、オブジェクト205のメソッドに従ってラベル802を分類するものとする。図9は、オブジェクト管理テーブルの一例を示す図である。
オブジェクト管理テーブルは、図9に示すように、オブジェクト205のIDと、オブジェクト205のラベルと、オブジェクト205のメソッドと、オブジェクト205の機能と、を対応付けるものである。
オブジェクト205のIDは、オブジェクト205を特定するユニークな数値や文字列である。ラベルは、上述したように、オブジェクト205を視覚的に表現した視覚情報であり、利用者がオブジェクト205を特定することができる文字列やアイコン等である。
メソッドは、オブジェクト205の属性の書き込みおよび読み出しを行う手続(操作)であり、例えば、HTTP(Hypertext Transfer Protocol)において、サーバから情報を取得する収集(GET)、オブジェクト205から情報を送出する出力(POST)、オブジェクト205が所持するデータ(属性)を更新する加工(PUT)するコマンドである。
利用者は、オブジェクト管理領域801に表示されたオブジェクト205の分類に従って、プログラムの構成要素とするオブジェクト205のラベル802を選択することにより、プログラムを作成することができる。具体的には、「収集」に分類されたラベル802および「出力」に分類されたラベル802が選択された場合、「収集」に分類されたラベル802のオブジェクト205により取得した情報を、「出力」に分類されたラベル802のオブジェクト205から出力する、というプログラムを作成することができる。
例えば、「Files」のオブジェクト205は、ファイルのリストを取得するメソッド(GET)を有する。また、「Scanner」のオブジェクト205は、スキャナにより読み取った情報を取得するメソッド(GET)を有する。また、「Title」,「Author」,「Published」,「Search」のオブジェクト205は、情報を取得するメソッド(GET)および情報を出力するメソッド(POST)を有する。また、「Printer」,「Storage」のオブジェクト205は、情報を更新するメソッド(PUT)および情報を出力するメソッド(POST)を有する。
機能は、ビジュアルプログラミング言語において、アイコンで視覚的に表現されるオブジェクト205であるアプリケーションモジュールやネットワーク上のサービスの場所を指し示す情報である。
入力受付部707は、操作表示部611の入力部が備えるポインティングデバイスの操作に応じて、オブジェクト管理領域801にラベル802が表示されたオブジェクト205の中から、固有の処理を実行させるオブジェクト205および当該オブジェクト205間の関係であるオブジェクト205のメソッド(収集・加工・出力)の入力を受け付ける。
オブジェクト編集部702は、入力を受け付けたオブジェクト205のラベル805を、入力を受け付けたオブジェクト205のメソッド804に従って分類してオブジェクト編集領域803に表示する。
なお、本実施の形態では、ラベル805をメソッドに従って分類して表示することにより、オブジェクト205間の関係を示しているが、これに限定するものではない。例えば、操作表示部611の入力部が備えるポインティングデバイスの操作に応じて、オブジェクト編集領域803内に描かれたリンク線や矢印などによりオブジェクト205間の関係を示しても良い。
また、オブジェクト編集部702は、オブジェクト編集領域803にオブジェクトの設定情報であるオプションの設定を受け付けるグラフィカルユーザインターフェースを表示することができる。
図10は、オプションの設定を受け付けるためのGUI(グラフィカルユーザインターフェース)が表示された表示画面の一例を示す図である。オブジェクト編集部702は、例えば、オブジェクト編集領域803のラベル(「抽出(Search)」)805のオブジェクト205のオプションの設定を受け付ける場合、当該オブジェクト205の固有の処理である抽出処理に用いるフィルタ(例えば、「ユーザ」,「本日」,「title」,「summary」など)を設定するためのチェックボックスを含むGUI1000を、オブジェクト編集領域803に表示する。なお、入力受付部707は、GUI1000で受け付けたオプションの設定の入力を受け付けるものとする。
オブジェクト連携判断部703は、オブジェクト編集領域803に表示されたラベル805およびメソッド804から、固有の処理を実行する際のオブジェクト205間の連携であって、具体的には最初に固有の処理を実行するオブジェクト205から最後に固有の処理を実行するオブジェクト205までの一連のリンクを判断する。
オブジェクト連携テーブル部704は、オブジェクト連携判断部703により判断した一連のリンクを表すオブジェクト連携テーブル、および入力受付部707により入力を受け付けたオプションの設定を記憶する。図11は、一連のリンクを表すオブジェクト連携テーブルの一例を示す図である。図11に示すオブジェクト連携テーブルでは、オブジェクトIDと、オブジェクトのラベルと、オブジェクト編集領域におけるラベルの位置を表す座標(X,Y)と、オブジェクト間のリンクを表すリンク情報であるリンク(前)およびリンク(後)と、が対応付けられている。
なお、リンク(前)は、オブジェクトIDにより特定されるオブジェクトの前に固有の処理を実行するオブジェクトのオブジェクトIDを示し、リンク(後)はオブジェクトIDにより特定されるオブジェクトの後に固有の処理を実行するオブジェクトのオブジェクトIDを示している。
例えば、オブジェクトID:「1」と対応付けられたリンク(後):「8」は、オブジェクトID:「1」により特定されるオブジェクトの固有の処理の後に、オブジェクトID:「8」により特定されるオブジェクトの固有の処理が実行されることを示している。また、オブジェクトID:「2」と対応付けられたリンク(前):「8」は、オブジェクトID:「2」により特定されるオブジェクトの固有の処理の前に、オブジェクトID:「8」により特定されるオブジェクトの固有の処理が実行されることを示している。また、オブジェクトID:「8」と対応付けられたリンク(前):「1」は、オブジェクトID:「8」により特定されるオブジェクトの固有の処理の前に、オブジェクトID:「1」により特定されるオブジェクトの固有の処理が実行されることを示し、オブジェクトID:「8」と対応付けられたリンク(後):「2」は、オブジェクトID:「8」により特定されるオブジェクトの固有の処理の後に、オブジェクトID:「2」により特定されるオブジェクトの固有の処理が実行されることを示している。
なお、オブジェクト連携判断部703は、オブジェクト編集領域803に表示されたラベル805およびメソッド804から、一連のリンクを判断する毎に、オブジェクト連携テーブル部704に記憶されるオブジェクト連携テーブルを更新するものとする。
実行部705は、オブジェクト連携テーブル部704に記憶されているオブジェクト連携テーブルが表す一連のリンクに従って、オブジェクト205の仮実行を要求するメッセージをオブジェクト205に送信することにより、仮実行結果を生成する。
なお、実行部705は、一連のリンクに従って生成する仮実行結果のうち、最後に仮実行するオブジェクト205以外のオブジェクト205に対して仮実行を要求するメッセージを送信しても良い。
具体的には、実行部705は、図11に示すオブジェクト連携テーブルが表す一連のリンクに従ってオブジェクト205の仮実行結果を生成する場合、最後に仮実行するオブジェクトID:「2」のオブジェクト205にメッセージを送信せずに、途中まで仮実行結果を生成する。
より具体的には、実行部705は、図11に示すオブジェクト連携テーブルから、リンク(前)が空でかつリンク(後)にオブジェクトIDが記録されているオブジェクトIDのオブジェクト205を最初に仮実行するオブジェクトと認識し、そのオブジェクトIDにより特定されるオブジェクトにメッセージを送信する。続いて、実行部705は、リンク(後)にオブジェクトIDが記録されているオブジェクトIDのオブジェクト205に順次メッセージを送信し、リンク(後)にオブジェクトIDが記録されていないオブジェクト205までメッセージを送信する。そして、実行部705は、リンク(後)にオブジェクトIDが記録されていないオブジェクト205にはメッセージを送信せずに処理を終了する。
プレビュー部706は、図8に示すように、オブジェクト205の仮実行結果を、表示画面800上のプレビュー領域806に表示する。
次に、図12を用いて、プレビュー領域806への仮実行結果の表示処理の手順について説明する。図12は、プレビュー領域への仮実行結果の表示処理の手順を示すフローチャートである。
まず、入力受付部707は、操作表示部611の入力部が備えるポインティングデバイスの操作により、オブジェクト管理領域801のラベル802がドラッグされ(ステップS1201)、かつオブジェクト編集領域803にラベル802がドロップされると(ステップS1202)、ドロップされたラベル802から特定されるオブジェクト205および当該ラベル802がドロップされた位置に対応するメソッド804の入力を受け付ける。そして、オブジェクト編集部702は、入力を受け付けたオブジェクト205のラベル805を、入力を受け付けたメソッド804に従って分類してオブジェクト編集領域803に表示する。
オブジェクト連携判断部703は、入力受付部707によりオブジェクト205およびメソッド804が受け付けられる毎に、一連のリンクを判断し、オブジェクト連携テーブル部704に記憶されているオブジェクト連携テーブルが表す一連のリンクと比較して、オブジェクト編集領域803のラベル805およびメソッド804の表示が更新されたか否かを判断する(ステップS1203)。
さらに、オブジェクト連携判断部703は、オブジェクト編集領域803のラベル805およびメソッド804の表示が更新されていないと判断した場合(ステップS1203:No)、入力受付部707によりオプションと、オブジェクト連携テーブル部704に記憶されているオプションと、を比較して当該オプションが更新されたか否かを判断する(ステップS1204)。そして、オプションが更新されていないと判断した場合(ステップS1204:No)、仮実行結果の表示処理は終了する。
一方、オブジェクト編集領域803のラベル805およびメソッド804の表示が更新されたと判断した場合(ステップS1203:Yes)またはオプションが更新されたと判断した場合(ステップS1204:Yes)、オブジェクト連携判断部703は、オブジェクト連携テーブル部704に記憶されているオブジェクト連携テーブルを更新する(ステップS1205)。
そして、実行部705は、更新されたオブジェクト連携テーブルを参照して(ステップS1206)、当該オブジェクト連携テーブルが示すリンク情報に従って、仮実行結果を生成する(ステップS1207)。プレビュー部706は、生成した仮実行結果をプレビュー領域806に表示する(ステップS1208)。
次に、図13を用いて、図12に示すステップS1205のオブジェクト連携テーブルの更新処理の手順について説明する。図13は、オブジェクト連携テーブルの更新処理の手順を示すフローチャートである。
まず、オブジェクト連携判断部703は、オブジェクト管理領域801からオブジェクト編集領域803にドラックアンドドロップされたオブジェクトを順次探索することにより、オブジェクト編集領域803にラベル805が表示されたオブジェクト205をリストアップする(ステップS1301)。
次に、オブジェクト連携判断部703は、リストアップしたオブジェクト205のうち先頭オブジェクトから順に、オブジェクト連携テーブル部704に記憶されているオブジェクト連携テーブルからオブジェクトIDを順次探索する(ステップS1302)。
次に、オブジェクト連携判断部703は、リストアップしたオブジェクト205のうち、探索したオブジェクトIDにより特定されるオブジェクトの前に固有の処理を実行するオブジェクトがあるか否かを判断する(ステップS1303)。例えば、オブジェクト編集領域803において、探索したオブジェクトIDにより特定されるオブジェクトのラベルの前に(つまり、X座標が小さい方向)にラベルが存在するか否かを判断する。
オブジェクト連携判断部703は、探索したオブジェクトIDにより特定されるオブジェクトの前に固有の処理を実行するオブジェクトがあると判断した場合(ステップS1303:Yes)、当該探索したオブジェクトIDにより特定されるオブジェクトの前に固有の処理を実行するオブジェクトのオブジェクトIDにより、探索したオブジェクトIDと対応付けられているリンク(前)を更新する(ステップS1304)。
さらに、オブジェクト連携判断部703は、探索したオブジェクトIDにより特定されるオブジェクトの前に固有の処理を実行するオブジェクトがないと判断した場合(ステップS1303:No)またはリンク(前)が更新された後、探索したオブジェクトIDにより特定されるオブジェクトの後に固有の処理を実行するオブジェクトがあるか否かを判断する(ステップS1305)。例えば、オブジェクト編集領域803において、探索したオブジェクトIDにより特定されるオブジェクトのラベルの後ろに(つまり、X座標が大きい方向)にラベルが存在するか否かを判断する。
そして、オブジェクト連携判断部703は、探索したオブジェクトIDにより特定されるオブジェクトの後に固有の処理を実行するオブジェクトがあると判断した場合(ステップS1305:Yes)、当該探索したオブジェクトIDにより特定されるオブジェクトの後に固有の処理を実行するオブジェクトのオブジェクトIDにより、探索したオブジェクトIDと対応付けられているリンク(後)を更新する(ステップS1306)。
オブジェクト連携判断部703は、リンク情報の更新が終了または探索したオブジェクトIDにより特定されるオブジェクトの後に固有の処理を実行するオブジェクトがないと判断した場合(ステップS1305:No)、オブジェクト編集領域803にラベルが表示されたオブジェクト(リストアップしたオブジェクト)についてオブジェクトIDの探索を行ったか否かを判断する(ステップS1307)。そして、オブジェクト連携判断部703は、リストアップした全てのオブジェクトについてオブジェクトIDの探索を行うまで(ステップS1307:No)、上述の処理を繰返すものとする。一方、オブジェクト連携判断部703は、リストアップした全てのオブジェクトのオブジェクトIDの探索が終了した場合(ステップS1307:Yes)、オブジェクト連携テーブルの更新処理を終了する。
このように、本実施の形態にかかるPC100によれば、オブジェクト管理領域801に表示されているラベル802のオブジェクト編集領域803へのドラッグアンドドロップに応じて、オブジェクト編集領域803にラベル805が表示されたオブジェクト205の仮実行結果をプレビュー領域806に表示することにより、プログラムの構成要素とするオブジェクト205の選択過程において、当該オブジェクト205の動作結果を直感的に利用者に示すことができるので、オブジェクト205の選択し直しを防止することができる。
(第2実施の形態)
本実施の形態では、オブジェクト編集領域に表示されているラベルの表示制御を受け付けるGUIをプレビュー領域に表示し、当該GUIで受け付けた表示制御をオブジェクト編集領域にフィードバックするものである。なお、PC100の構成については、第1実施の形態とほぼ同様であるため、第1実施の形態と異なる部分の処理のみを説明する。
まず、図14および図15を用いて、本実施の形態にかかるエンジン202の機能構成について説明する。図14は、エンジンの機能構成を示すブロック図である。図15は、操作表示部が有する表示画面の一例を示す図である。エンジン202は、図14に示すように、第1実施の形態にかかるエンジン202の機能構成に、プレビュー編集部1401およびオブジェクト編集フィードバック部1402が追加されている。
プレビュー編集部1401は、図15に示す表示画面1500のように、オブジェクト編集領域803に表示されているラベル805の表示制御を受け付けるGUIであるラベル805毎のチェックボックス1502をプレビュー領域1501に表示する。利用者は、操作表示部611が備える入力部であるマウス等のポインティングデバイスを操作して、ラベル805毎のチェックボックス1502のオン/オフを切り替えることができる。
オブジェクト編集フィードバック部1402は、チェックボックス1502によりラベル805の表示制御を、オブジェクト編集領域803へのラベル805の表示に反映させる。これにより、利用者は、プレビュー領域1501上でラベル805の表示を切り替えることができるので、仮実行結果を見ながら直接的にオブジェクト編集領域803上に表現されるプログラムの構造を編集することができる。
図16および図17は、プレビュー領域でのラベルの表示制御がオブジェクト編集領域に反映された場合の表示画面の一例を示す図である。例えば、図15に示すように、オブジェクト編集領域803に「Files」,「Title」,「Published」,「Author」,「Contents」,および「Storage」というオブジェクト205のラベル805が表示されている場合、プレビュー編集部1401は、「Files」から出力を、検索するためのフィルタである「Title」,「Published」,「Author」,および「Contents」のラベル805の表示制御を受け付けるチェックボックス1502をプレビュー領域1501に表示する。
そして、図15に示すチェックボックス1502の状態から図16に示すチェックボックス1502の状態に変化した場合(つまり、「Published」および「Contents」のチェックボックスがオフされた場合)、オブジェクト編集フィードバック部1402は、オブジェクト編集領域803から「Published」および「Contents」のラベル805を非表示にする。
また、図15に示すチェックボックス1502の状態から図17に示すチェックボックス1502の状態に変化した場合(つまり、「Author」および「Contents」のチェックボックスがオフされた場合)、オブジェクト編集フィードバック部1402は、オブジェクト編集領域803から「Author」および「Contents」のラベル805を非表示にする。
これにより、オブジェクト連携判断部703によりオブジェクト連携テーブル部704に記憶されているオブジェクト連携テーブルが更新され、更新されたオブジェクト連携テーブルが示す一連のリンクに従って仮実行結果が生成され、その仮実行結果がプレビュー領域1501に表示される。
図18は、プレビュー領域に表示された異なる表示形式のGUIを含む表示画面の一例を示す図である。プレビュー編集部1401は、図18に示す表示画面1800のように、プレビュー領域1801に表示された各オブジェクト205の仮実行結果の近辺にチェックボックス1802を表示しても良い。
なお、本実施の形態では、チェックボックス形式でラベルの表示制御を受け付けるGUIについて説明したが、これに限定するものではない。例えば、プルダウンメニュー形式でラベルの表示制御を受け付けることも可能である。具体的には、マウスを操作して表示画面に1800に表示されているカーソル(図示しない)をプレビュー領域1801に移動させ、マウスのボタンの押下に応じてプルダウンメニューを展開し、再度押下されると当該プルダウンメニューを閉じるようにしても良い。
次に、図19を用いて、プレビュー領域1501に表示されたGUIにより受け付けたラベル805の表示制御をオブジェクト編集領域803に反映させる処理の手順について説明する。図19は、ラベルの表示制御をオブジェクト編集領域に反映させる処理の手順を示すフローチャートである。
まず、プレビュー編集部1401は、利用者によるポインティングデバイスの操作に応じてプレビュー領域1501に表示されたチェックボックス1502のオン/オフを待つ(ステップS1901)。
そして、プレビュー編集部1401は、チェックボックス1502のオン/オフされたか否かを判断する(ステップS1902)。チェックボックス1502のオン/オフが行われなかった場合(ステップS1902:No)、ラベル805の表示制御の受け付けを行わず処理を終了する。
一方、チェックボックス1502のオン/オフされた場合(ステップS1902:Yes)、プレビュー編集部1401は、オブジェクト連携テーブル部704に記憶されているオブジェクト連携テーブルからオブジェクトIDを順次探索する(ステップS1903)。
そして、プレビュー編集部1401は、探索したオブジェクトIDにより特定されるオブジェクト205に対応するチェックボックスがオフされたか(つまり、チェックが外されたか)否かを判断する(ステップS1904)。そして、探索したオブジェクトIDにより特定されるオブジェクト205に対応するチェックボックスがオフされたと判断した場合(ステップS1904:Yes)、プレビュー編集部1401は、オブジェクト連携テーブルを参照して、当該探索したオブジェクトIDに対応するオブジェクト205のラベル805がオブジェクト編集領域803に表示されているか否かを判断する(ステップS1905)。
オブジェクト編集フィードバック部1402は、探索したオブジェクトIDに対応するオブジェクト205のラベル805がオブジェクト編集領域803に表示されている場合(ステップS1905:Yes)、当該オブジェクト205のラベル805をオブジェクト編集領域803から削除する(ステップS1906)。
探索したオブジェクトIDにより特定されるオブジェクト205に対応するチェックボックスがオフされていないと判断した場合(ステップS1904:No)、当該探索したオブジェクトIDにより特定されるオブジェクト205に対応するラベル805がオブジェクト編集領域803に表示されていないと判断された場合(ステップS1905:No)、またはラベル805がオブジェクト編集領域803から削除された場合、プレビュー編集部1401は、全てのオブジェクトIDの探索が終ったか否かを判断する(ステップS1907)。全てのオブジェクトIDの探索が終った場合(ステップS1907:Yes)、そのまま処理を終了する。一方、全てのオブジェクトIDの探索が終っていない場合(ステップS1907:No)、プレビュー編集部1401は、ステップS1903に戻りオブジェクトIDの探索を行う。
このように、本実施の形態にかかるPC100によれば、仮実行結果が表示されているプレビュー領域1501においてオブジェクト編集領域803に表示されているラベル805の表示制御を行うことができるので、オブジェクトの動作結果をより直感的に利用者に示すことができる。
(第3実施の形態)
第1実施の形態および第2実施の形態では、MEM−C609に格納されているソフトウェアを起動して、エンジン202を実体化する例について説明したが、これに限定するものではない。プログラムをPC100にインストールし、当該プログラムを起動することによりエンジン202を実体化できる媒体であればよい。
図20は、エンジンを実体化できるプログラムを格納する記憶媒体の一例を示す図である。
図20(a)は、PC100が備えるHDD610にインストールされているプログラムを起動することによりエンジン202をRAM605b上に実体化する例を示す図である。この場合、HDD610が記憶媒体に相当する。
図20(b)は、PC100が記憶媒体2001を着脱可能なインターフェースを備える場合、またはPC100に記憶媒体を組み込むことが可能な場合に、当該記憶媒体に一時的または永続的に格納されているプログラムを起動することにより、エンジン202をRAM605b上に実体化する例を示す図である。なお、記憶媒体は、図20(c)に示すように、フレキシブルディスク2002、CD−ROM(Compact Disc Read Only Memory)2003、MO(Magneto Optical)ディスク2004、DVD(Digital Versatile Disc)2006、磁気ディスク2005、半導体メモリ2007などが利用できる。
図20(d)は、PC100がLAN(Local Area Network)インターネット等のネットワークに接続され、ネットワーク上のダウンロードサイト2008から有線または無線でプログラムをPC100のHDD610にダウンロードし、ダウンロードしたプログラムを起動することにより、エンジン202をRAM605b上に実体化する例を示す図である。この場合、ダウンロードサイト2008が記憶媒体に相当する。
本発明にかかるビジュアルプログラミング支援装置が適用されるシステム環境の一例を示す図である。 第1実施の形態にかかるPCのハードウェアおよびソフトウェアの構成を説明するための説明図である。 オブジェクトのUMLクラス図である。 スキャンオブジェクトのUMLクラス図である。 QRコード解析オブジェクトのUMLクラス図である。 第1実施の形態にかかるPCのハードウェア構成を示すブロック図である。 エンジンの機能構成を示すブロック図である。 操作表示部が有する表示画面の一例を示す図である。 オブジェクト管理テーブルの一例を示す図である。 オプションの設定を受け付けるためのGUI(グラフィカルユーザインターフェース)が表示された表示画面の一例を示す図である。 一連のリンクを表すオブジェクト連携テーブルの一例を示す図である。 プレビュー領域への仮実行結果の表示処理の手順を示すフローチャートである。 オブジェクト連携テーブルの更新処理の手順を示すフローチャートである。 エンジンの機能構成を示すブロック図である。 操作表示部が有する表示画面の一例を示す図である。 プレビュー領域でのラベルの表示制御がオブジェクト編集領域に反映された場合の表示画面の一例を示す図である。 プレビュー領域でのラベルの表示制御がオブジェクト編集領域に反映された場合の表示画面の一例を示す図である。 プレビュー領域に表示された異なる表示形式のGUIを含む表示画面の一例を示す図である。 ラベルの表示制御をオブジェクト編集領域に反映させる処理の手順を示すフローチャートである。 エンジンを実体化できるプログラムを格納する記憶媒体の一例を示す図である。
符号の説明
100 PC
701 オブジェクト管理部
702 オブジェクト編集部
703 オブジェクト連携判断部
705 実行部
706 プレビュー部
707 入力受付部
800 表示画面
1401 プレビュー編集部
1402 オブジェクト編集フィードバック部

Claims (10)

  1. プログラムの構成要素であって、他の構成要素と連携して固有の処理を実行するオブジェクトの視覚情報を表示画面上の管理領域に表示する管理手段と、
    前記管理領域に前記視覚情報を表示した前記オブジェクトの中から、固有の処理を実行させる前記オブジェクトおよび当該オブジェクト間の関係の入力を受け付ける入力受付手段と、
    入力を受け付けた前記オブジェクトの前記視覚情報および前記オブジェクト間の関係を前記表示画面上の編集領域に表示する編集手段と、
    前記編集領域の前記視覚情報および前記オブジェクト間の関係から、固有の処理を実行する際の前記オブジェクト間の連携を判断する判断手段と、
    判断した前記オブジェクト間の連携に従って、前記オブジェクトがあたかも固有の処理を実行したかのような仮実行結果を生成する実行手段と、
    前記仮実行結果を前記表示画面上のプレビュー領域に表示するプレビュー手段と、
    を備えたことを特徴とするビジュアルプログラミング支援装置。
  2. 前記編集領域に表示されている前記視覚情報の表示制御を受け付けるグラフィカルユーザインターフェースを前記プレビュー領域に表示するプレビュー編集手段と、
    前記グラフィカルユーザインターフェースにより受け付けた表示制御を前記編集領域に反映させるフィードバック手段と、
    をさらに備えたことを特徴とする請求項1に記載のビジュアルプログラミング支援装置。
  3. 前記グラフィカルユーザインターフェースは、プルダウンメニューまたはチェックボックスであることを特徴とする請求項2に記載のビジュアルプログラミング支援装置。
  4. 前記実行手段は、最後に前記固有の処理を実行する前記オブジェクト以外の前記オブジェクトの前記仮実行結果を生成することを特徴とする請求項1から3のいずれか一に記載のビジュアルプログラミング支援装置。
  5. 管理手段が、プログラムの構成要素であって、他の構成要素と連携して固有の処理を実行するオブジェクトの視覚情報を表示画面上の管理領域に表示する管理工程と、
    入力受付手段が、前記管理領域に前記視覚情報を表示した前記オブジェクトの中から、固有の処理を実行させる前記オブジェクトおよび当該オブジェクト間の関係の入力を受け付ける入力受付工程と、
    編集手段が、入力を受け付けた前記オブジェクトの前記視覚情報および前記オブジェクト間の関係を前記表示画面上の編集領域に表示する編集工程と、
    判断手段が、前記編集領域の前記視覚情報および前記オブジェクト間の関係から、固有の処理を実行する際の前記オブジェクト間の連携を判断する判断工程と、
    実行手段が、判断した前記オブジェクト間の連携に従って、前記オブジェクトがあたかも固有の処理を実行したかのような仮実行結果を生成する実行工程と、
    プレビュー手段が、前記仮実行結果を前記表示画面上のプレビュー領域に表示するプレビュー工程と、
    を有することを特徴とするビジュアルプログラミング支援装置のビジュアルプログラミング支援方法。
  6. プレビュー編集手段が、前記編集領域に表示されている前記視覚情報の表示制御を受け付けるグラフィカルユーザインターフェースを前記プレビュー領域に表示するプレビュー編集工程と、
    フィードバック手段が、前記グラフィカルユーザインターフェースにより受け付けた表示制御を前記編集領域に反映させるフィードバック工程と、
    をさらに有することを特徴とする請求項5に記載のビジュアルプログラミング支援装置のビジュアルプログラミング支援方法。
  7. 前記グラフィカルユーザインターフェースは、プルダウンメニューまたはチェックボックスであることを特徴とする請求項6に記載のビジュアルプログラミング支援装置のビジュアルプログラミング支援方法。
  8. 前記実行工程は、最後に前記固有の処理を実行する前記オブジェクト以外の前記オブジェクトの前記仮実行結果を生成することを特徴とする請求項5から7のいずれか一に記載のビジュアルプログラミング支援装置のビジュアルプログラミング支援方法。
  9. 請求項5から8のいずれか一に記載のビジュアルプログラミング支援装置のビジュアルプログラミング支援方法の各工程をコンピュータに実行させるためのプログラム。
  10. 請求項5から8のいずれか一に記載のビジュアルプログラミング支援装置のビジュアルプログラミング支援方法の各工程をコンピュータに実行させるためのプログラムを記録したコンピュータ読取り可能な記憶媒体。
JP2008312658A 2008-12-08 2008-12-08 ビジュアルプログラミング支援装置、ビジュアルプログラミング支援装置のビジュアルプログラミング支援方法、プログラム、および記憶媒体 Expired - Fee Related JP5217989B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008312658A JP5217989B2 (ja) 2008-12-08 2008-12-08 ビジュアルプログラミング支援装置、ビジュアルプログラミング支援装置のビジュアルプログラミング支援方法、プログラム、および記憶媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008312658A JP5217989B2 (ja) 2008-12-08 2008-12-08 ビジュアルプログラミング支援装置、ビジュアルプログラミング支援装置のビジュアルプログラミング支援方法、プログラム、および記憶媒体

Publications (2)

Publication Number Publication Date
JP2010134879A true JP2010134879A (ja) 2010-06-17
JP5217989B2 JP5217989B2 (ja) 2013-06-19

Family

ID=42346084

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008312658A Expired - Fee Related JP5217989B2 (ja) 2008-12-08 2008-12-08 ビジュアルプログラミング支援装置、ビジュアルプログラミング支援装置のビジュアルプログラミング支援方法、プログラム、および記憶媒体

Country Status (1)

Country Link
JP (1) JP5217989B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9256459B2 (en) 2012-06-05 2016-02-09 Ricoh Company, Limited Information processing apparatus, workflow generating system, and workflow generating method
US10585974B2 (en) 2015-12-28 2020-03-10 Candera Japan Inc. UI producing apparatus, UI producing method, and storage medium
CN111061473A (zh) * 2019-12-16 2020-04-24 新奥数能科技有限公司 用于快速构建页面的可视化组件编辑方法和装置
CN113553094A (zh) * 2020-04-24 2021-10-26 深圳市中兴系统集成技术有限公司 一种图形化的轨道交通安防集成平台联动规则配置的方法
CN115176222A (zh) * 2020-03-04 2022-10-11 欧姆龙株式会社 视觉编程的辅助方法、程序以及视觉编程辅助装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06332689A (ja) * 1993-05-21 1994-12-02 Hitachi Ltd プログラムの表示方法およびプログラムの編集受付け方法
WO1998040817A1 (fr) * 1997-03-11 1998-09-17 Mitsubishi Denki Kabushiki Kaisha Methode et systeme de programmation visuelle
JP2007018267A (ja) * 2005-07-07 2007-01-25 Konica Minolta Business Technologies Inc 文書処理装置、ワークフローシステム、文書処理方法及びプログラム
WO2007037310A1 (ja) * 2005-09-29 2007-04-05 C-Grip Co., Ltd. コンピュータプログラムのプログラミング方法及びプログラミング用プログラム
JP2008203912A (ja) * 2007-02-16 2008-09-04 Hitachi Software Eng Co Ltd 画面作成装置及び方法並びにプログラム
JP2008234213A (ja) * 2007-03-19 2008-10-02 Ricoh Co Ltd 情報処理装置、情報処理方法、情報処理プログラム、及び情報処理プログラムを記録する記録媒体

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06332689A (ja) * 1993-05-21 1994-12-02 Hitachi Ltd プログラムの表示方法およびプログラムの編集受付け方法
WO1998040817A1 (fr) * 1997-03-11 1998-09-17 Mitsubishi Denki Kabushiki Kaisha Methode et systeme de programmation visuelle
JP2007018267A (ja) * 2005-07-07 2007-01-25 Konica Minolta Business Technologies Inc 文書処理装置、ワークフローシステム、文書処理方法及びプログラム
WO2007037310A1 (ja) * 2005-09-29 2007-04-05 C-Grip Co., Ltd. コンピュータプログラムのプログラミング方法及びプログラミング用プログラム
JP2008203912A (ja) * 2007-02-16 2008-09-04 Hitachi Software Eng Co Ltd 画面作成装置及び方法並びにプログラム
JP2008234213A (ja) * 2007-03-19 2008-10-02 Ricoh Co Ltd 情報処理装置、情報処理方法、情報処理プログラム、及び情報処理プログラムを記録する記録媒体

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9256459B2 (en) 2012-06-05 2016-02-09 Ricoh Company, Limited Information processing apparatus, workflow generating system, and workflow generating method
US10585974B2 (en) 2015-12-28 2020-03-10 Candera Japan Inc. UI producing apparatus, UI producing method, and storage medium
CN111061473A (zh) * 2019-12-16 2020-04-24 新奥数能科技有限公司 用于快速构建页面的可视化组件编辑方法和装置
CN115176222A (zh) * 2020-03-04 2022-10-11 欧姆龙株式会社 视觉编程的辅助方法、程序以及视觉编程辅助装置
CN115176222B (zh) * 2020-03-04 2023-06-20 欧姆龙株式会社 视觉编程的辅助方法、存储介质以及视觉编程辅助装置
CN113553094A (zh) * 2020-04-24 2021-10-26 深圳市中兴系统集成技术有限公司 一种图形化的轨道交通安防集成平台联动规则配置的方法

Also Published As

Publication number Publication date
JP5217989B2 (ja) 2013-06-19

Similar Documents

Publication Publication Date Title
US6189018B1 (en) Method and apparatus for implementing universal resource locator menus
US8560956B2 (en) Processing model of an application wiki
US7954052B2 (en) Method for processing a web page for display in a wiki environment
JP4824110B2 (ja) ページに関するページ・レイアウトを継承するためのコンピュータで実行される方法、コンピュータ・プログラム、およびデータ処理システム
US8219900B2 (en) Programmatically hiding and displaying Wiki page layout sections
JP4756947B2 (ja) 情報処理装置及び方法
TWI450107B (zh) 用於網路資料使用平臺之方法及電腦可讀儲存媒體
US20080010609A1 (en) Method for extending the capabilities of a Wiki environment
US20080010338A1 (en) Method and apparatus for client and server interaction
US20080010387A1 (en) Method for defining a Wiki page layout using a Wiki page
US10678406B1 (en) Conversational user interface design
US20080065769A1 (en) Method and apparatus for argument detection for event firing
CN103999116A (zh) 用于电子阅读器工具的可扩展框架
US20080010345A1 (en) Method and apparatus for data hub objects
JP5217989B2 (ja) ビジュアルプログラミング支援装置、ビジュアルプログラミング支援装置のビジュアルプログラミング支援方法、プログラム、および記憶媒体
CN110647624A (zh) 呈现企业消息传递中的文档差异的动画预览的自动生成
US20080010386A1 (en) Method and apparatus for client wiring model
JPH11195028A (ja) 表示形式作成システム、表示システム、表示形式作成方法、及び記録媒体
KR20140042537A (ko) 템플릿을 이용한 매쉬업 저작 장치 및 그 방법
US7526720B1 (en) System and method for storing data associated with a file
JP2010129017A (ja) 地図検索サーバ、地図検索システム及び地図検索方法
US20080010388A1 (en) Method and apparatus for server wiring model
US20130124572A1 (en) Media generation and management
JP7487494B2 (ja) 情報処理装置及び情報処理プログラム
JP2021005368A (ja) フォントを提供する方法、システム、および非一時なコンピュータ読み取り可能な記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111014

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121004

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121030

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121228

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130205

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130218

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160315

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160315

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees