情報処理装置、情報処理方法、情報処理システム、プログラム、記録媒体
【課題】アプリケーション開発ツールにおいて、ユーザが作成した定義情報と、予め用意されているサンプル定義情報とを用いて、ユーザが作成した定義情報を最低限動作する定義情報へ修正可能とする。
【解決手段】ユーザ定義情報に基づいてプログラムを生成する開発ツールに入力されるユーザにより作成されたユーザ定義情報を修正する情報処理装置であって、ユーザにより作成されたユーザ定義情報と、当該ユーザ定義情報を修正するために用いられるサンプルコードの選択とを受け付ける受付手段と、前記受付手段により受け付けたユーザ定義情報と、前記受付手段により選択を受け付けたサンプルコードとを用いて、当該ユーザ定義情報のうち修正可能な定義情報が含まれるかを判定する判定手段と、前記判定手段により修正可能な定義情報が前記ユーザ定義情報に含まれると判定された場合、当該定義情報を動作可能に修正する修正手段とを有する。
【解決手段】ユーザ定義情報に基づいてプログラムを生成する開発ツールに入力されるユーザにより作成されたユーザ定義情報を修正する情報処理装置であって、ユーザにより作成されたユーザ定義情報と、当該ユーザ定義情報を修正するために用いられるサンプルコードの選択とを受け付ける受付手段と、前記受付手段により受け付けたユーザ定義情報と、前記受付手段により選択を受け付けたサンプルコードとを用いて、当該ユーザ定義情報のうち修正可能な定義情報が含まれるかを判定する判定手段と、前記判定手段により修正可能な定義情報が前記ユーザ定義情報に含まれると判定された場合、当該定義情報を動作可能に修正する修正手段とを有する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プログラムを自動生成する開発ツールを使用する際にユーザが作成するユーザ定義情報を修正する技術に関する。
【背景技術】
【0002】
現在、プログラミングレスでWebアプリケーションを自動生成する業務用Webアプリケーション開発ツールがある。この開発ツールを使うと、Java(登録商標)の知識にかかわらず、業務・設計ノウハウを活用して「基本設計情報」を定義するとWebアプリケーションを自動生成することができるというものである。
【0003】
しかし、開発ツールが多機能化してくることにより、Webアプリケーションの開発者は、何か実現したい機能があってもどのように定義すればよいのか分からなくなってくるという問題がある。
【0004】
例えば、「すぐに機能を自分のマシンで試したいけど、マニュアル・ガイドを見ている時間があまりない。」、「近い内容を見つけても、情報が断片的で動くものまで定義するのは難しい。」「自分で定義しようと思って、試行錯誤するが、エラーが出てしまって、そのエラー内容を見てもよくわからない。」、または、「エラーは出ていないが、なぜか自分の思うように動かない。」といった状況が起こりえる。
【0005】
このような状況は、顧客から問い合わせを受けるサポートセンターにおいても起こりえる問題であり、バグなのか、仕様なのか判断する場合や、顧客のトラブルの再現性調査などWPアプリを作って検証するのは時間がかかることが多い。
【0006】
そのため、直感的に機能や使用を理解するのが容易なサンプルコードやサンプル定義を利用して、開発者やサポートセンターのSEが必要な定義を作成したり修正したりしてくれると便利である。
【0007】
特許文献1には、ユーザが作成したプログラムをテストして修正を行い、その修正の妥当性をチェックすることができるプログラム修正装置を提供する技術が開示されている。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特開2008−250914号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
しかしながら、特許文献1に開示されている技術は、あくまでもプログラムの静的解析に関するものであり、プログラム動作そのものを変更するものではない。つまり、ソースコードのフォーマットや慣習に基づくコーディングスタイルの変更をするものにすぎない。
【0010】
本発明は、上記課題を解決するものであり、アプリケーション開発ツールにおいて、ユーザが作成した定義情報と、予め用意されているサンプル定義情報とを用いて、ユーザが作成した定義情報を最低限動作する定義情報へ修正可能とすることを目的とする。
【0011】
また、別の目的として、修正したユーザ定義情報の内容を識別可能に出力することを目的とする。
【課題を解決するための手段】
【0012】
本発明は、ユーザ定義情報に基づいてプログラムを生成する開発ツールに入力されるユーザにより作成されたユーザ定義情報を修正する情報処理装置であって、ユーザにより作成されたユーザ定義情報と、当該ユーザ定義情報を修正するために用いられるサンプルコードの選択とを受け付ける受付手段と、前記受付手段により受け付けたユーザ定義情報と、前記受付手段により選択を受け付けたサンプルコードとを用いて、当該ユーザ定義情報のうち修正可能な定義情報が含まれるかを判定する判定手段と、前記判定手段により修正可能な定義情報が前記ユーザ定義情報に含まれると判定された場合、当該定義情報を動作可能に修正する修正手段とを有することを特徴とする。
【発明の効果】
【0013】
本発明によれば、アプリケーション開発ツールにおいて、ユーザが作成した定義情報と、予め用意されているサンプル定義情報とを用いて、ユーザが作成した定義情報を最低限動作する定義情報へ修正可能となる。これにより、プログラムの生成エラーとはならないが、動作しないユーザ定義情報を最低限動作するユーザ定義情報に修正することができるようになる。
【0014】
また、修正されたユーザ定義情報の内容を識別可能に出力されるため、ユーザは、作成したユーザ定義情報のどの部分が修正されたのかを把握することができるようになる。
【図面の簡単な説明】
【0015】
【図1】本発明の一実施形態を示す情報処理システムを示す図である。
【図2】開発者端末10と修正サーバ20のハードウェア構成を示すブロック図である。
【図3】開発者端末10をより詳細に示した図である。
【図4】修正サーバ20をより詳細に示した図である。
【図5】修正サーバ20におけるユーザ定義情報を修正する処理の流れを示すフローチャートである。
【図6】定義ポイントチェックの処理の詳細な流れを説明するフローチャートである。
【図7】サンプルの画面例である。
【図8】ユーザ定義情報に間違いがあった場合の画面例である。
【図9】定義ポイントチェックの処理の具体的な例を説明するフローチャートである。
【図10】定義ポイントリストの例である。
【図11】修正可能と判定された場合における定義修正内容の一例である。
【図12】修正不可能と判定された場合における定義修正内容の一例である。
【発明を実施するための形態】
【0016】
以下、図面を用いて詳細に説明する。
【0017】
図1は、本発明の一実施形態を示す情報処理システムを示す図である。
【0018】
開発者端末10と修正サーバ(情報処理装置)20とがネットワーク30を介して通信可能に接続されている。
【0019】
開発者端末10は、プログラム(WEBアプリケーションなど)を開発する開発者が操作する端末であって、プログラムを自動生成する開発ツールがインストールされている。開発者は、ユーザ定義情報を作成し、開発ツールに読み込ませることにより、開発ツールがプログラムを自動生成する。
【0020】
修正サーバ20は、サンプル定義情報を複数管理し、開発者により作成されたユーザ定義情報と、選択されたサンプル定義情報を用いて、ユーザ定義情報を動作可能なユーザ定義情報に修正する。
【0021】
次に、図2を参照して、図1に示した開発者端末10と修正サーバ20のハードウェア構成について説明する。
【0022】
図2は、図1の開発者端末10と修正サーバ20のハードウェア構成を示すブロック図である。
【0023】
図2において、201はCPU(中央演算処理装置)201であり、ROM203或いは外部記憶装置104に記憶されている制御プログラムに基づいて、システムバスに接続されている各種デバイスとのアクセスを総括的に制御する構成となっている。
【0024】
システムバスには、CPU201の主メモリ、ワークエリア等として機能するRAM(ランダム・アクセス・メモリ)202が接続されている。ROM203或いは外部記憶装置104には、CPU201の制御プログラムであるBIOS(Basic Input / OutputSystem)やオペレーティングシステム(以下、「OS」という。)プログラム、コンピュータ103が実行する処理を実現するために必要な各種プログラム等が記憶されている。
【0025】
CPU201は、処理の実行に際して必要な各種プログラム等をRAM202にロードして、当該プログラム等を実行することで図1に示した全体制御部105の機能及び各種動作を実現するものである。
【0026】
外部記憶装置104は、上述した各種プログラムとして、図示しないブートプログラム、各種アプリケーションプログラム、フォントデータ、ユーザーファイル等を記憶する。
【0027】
CPU201は、例えば、RAM202内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、表示装置102上でWYSIWYGを可能としている。また、CPU201は、表示装置102上のマウスカーソル(不図示)等で指示されたコマンドに基づいて、登録された種々なウィンドウを開き、種々のデータ処理を実行する。
【0028】
図3は、図1における開発者端末10をより詳細に示した図である。
【0029】
101はキーボード,ポインティングデバイス(マウス等)の入力装置である。102はCRTディスプレイや液晶ディスプレイ等の表示装置である。104はハードディスクドライブ(HDD)等の外部記憶装置である。
【0030】
ユーザは入力装置101より、表示装置102に表示された画面を通じてコンピュータ103に対してプログラム自動生成命令を発行すると、コンピュータ103は、全体制御部105で自動生成処理を行う。以下、詳細に説明する。
【0031】
まず、プログラム自動生成命令を受けた画面制御部106は、プログラム生成部107に処理を委譲する。プログラム生成部107は、予め作成されて外部記憶装置(HDD)104に格納される画面プログラムテンプレート111を元に、予め入力されて外部記憶装置104に格納されるユーザ定義情報110を適用し、画面プログラム112を生成し、外部記憶装置104に格納する。
【0032】
この後、ユーザが入力装置101より表示装置102に表示された画面を通じてコンピュータ103に対して画面雛形生成命令を発行すると、コンピュータ103は、全体制御部105で画面雛形生成処理を行う。以下、詳細に説明する。
【0033】
まず、画面雛形生成命令を受けた画面制御部106は、画面雛形生成部108に処理を委譲する。画面雛形生成部108は、画面プログラム112を元に、そこから「画面レイアウト情報のみ」を抽出したレイアウト雛形ファイル113を出力し、外部記憶装置104に格納する。
【0034】
この後、ユーザは、レイアウト雛形ファイル113を適宜カスタマイズし、レイアウトHTMLファイル114を作成し、外部記憶装置104に格納する。もしくは、予め用意したHTMLファイルを一定の書式にしたがい編集することで、それをレイアウトHTMLファイル114として外部記憶装置104に格納することもできる。
【0035】
次に、ユーザが入力装置101より表示装置102に表示された画面を通じてコンピュータ103に対して画面マージ処理命令を発行すると、コンピュータ103は、全体制御部105で画面マージ処理を行う。以下、詳細に説明する。
【0036】
まず、画面マージ処理命令を受けた画面制御部106は、画面マージ処理部109に処理を委譲する。画面マージ処理部109は、画面プログラム112にあるレイアウト以外の情報と、レイアウトHTMLファイル114にある画面レイアウト情報をマージして、レイアウト済画面プログラム115を出力し、外部記憶装置104に格納する。
【0037】
図4は、図1における修正サーバ20をより詳細に示した図である。
【0038】
なお、修正サーバ20は、サンプル単位に管理されているサンプルを実現するために必ず必要な定義ポイントのリストを備える。また、サンプル管理部は、ユーザが動きを確認できるサンプルをユーザが見える形で提供し、ユーザはサンプルコードを本装置に対して入力できるものとする。
【0039】
修正サーバ20は、開発者端末10で開発者により作成されたが、動作しなかったユーザ定義情報を、ネットワーク30を介して入力部202が受け取る。また、同時にサンプル提供部201により複数管理しているサンプル定義情報の選択を受け付ける(複数の選択が可能である。)。
【0040】
そして、制御部204により処理が開始される。具体的には、生成処理部205がプログラムの生成処理を行い、定義エラーを検出した場合は、エラーコード管理部208が管理するエラーコードに対応した修正方法データ取得して定義データの修正を行う。この作業はエラーが消えるまで繰り返し実施する。その後、サンプルコードに対応した定義ポイントのリストを定義ポイント管理部206から取得し、リストに従いチェックを行う。定義ポイントリストには修正可能な属性と修正不可能な属性が定められている。修正不可能な定義ポイントがユーザ定義に不足していた場合は、サンプルのテンプレートをユーザ定義にコピーして終了する。修正可能な定義ポイントの場合は、修正部207がユーザ定義の内容を修正する。定義ポイント全てを修正した後、出力部203よりユーザに対して修正したユーザ定義および修正内容を通知する。
【0041】
図5は、修正サーバ20におけるユーザ定義情報を修正する処理の流れを示すフローチャートである。
【0042】
まず、修正サーバ20は、開発者端末10からユーザ定義情報110(ユーザ定義データ)を受け取り、S501において、プログラム生成処理を実行する。
【0043】
S502において、修正サーバ20は、定義エラーを検出したかを判定する。Yesの場合、S503へ進み、Noの場合、S509へ進む。
【0044】
S503において、修正サーバ20は、先頭の定義エラーコードを条件にエラー管理DBから検索する。
【0045】
S504において、修正サーバ20は、検索がヒットしたかを判定する。Yesの場合、S506へ進み、Noの場合、S505へ進む。
【0046】
S505において、修正サーバ20は、エラー管理DB管理者へ通知する。
【0047】
S506において、修正サーバ20は、エラーコードに対応した修正方法データ取得する。
【0048】
S507において、修正サーバ20は、ユーザ定義データを修正して、S502へ戻る。
【0049】
この作業はエラーが消えるまで繰り返し実施する。なお、このユーザ定義データの修正は、サンプルコードを用いることなくなされる、従来から行われている修正作業である。
【0050】
次に、本発明の実施の形態におけるサンプルコードを用いた修正処理の流れを以下に説明する。
【0051】
ここでは、ユーザ定義コードと、ユーザにより選択されたサンプルコード(複数可能)を用いる。なお、サンプルコードは、修正サーバにおいて、視覚的に確認できる形で複数用意されており、ユーザはその中からサンプルコードを選択する。
【0052】
S508〜S521まで処理が繰り返される。これは、入力されたサンプルコードの数だけループすることを示している。
【0053】
S509において、修正サーバ20は、サンプルコードに対応した定義ポイントリストを取得する。定義ポイントリストの具体例は後に説明する。
【0054】
S510〜S520まで処理が繰り返される。これは、定義ポイントの数だけループすることを示している。
【0055】
S511において、修正サーバ20は、定義ポイントのチェックを行う。この処理の詳細は、図6を用いて説明する。
【0056】
図6は、定義ポイントチェックの処理の詳細な流れを説明するフローチャートである。
【0057】
S601において、修正サーバ20は、定義ポイントチェック判定を行う。Yesの場合、S602へ進み、Noの場合、S603へ進む。なお、Yesとなるのは、すべての定義ポイントチェックがOKの場合である。Noは、いずれかの定義ポイントで問題がある場合に該当する。
【0058】
S602において、修正サーバ20は、定義ポイントチェックOKフラグを出力して、処理を終了する。
【0059】
S603において、修正サーバ20は、修正可能な定義であるかを判定する。Yesの場合、S604へ進み、Noの場合、S607へ進む。ここでの判定は、定義ポイントごとに異なるものである。具体例を後に説明する。
【0060】
S604において、修正サーバ20は、修正可能判定フラグを出力する。
【0061】
S605において、修正サーバ20は、修正方法を記載した指示書を出力する。
【0062】
S606において、修正サーバ20は、定義ポイントチェックNGフラグを出力して、処理を終了する。
【0063】
また、sS07において、修正サーバ20は、修正不可能判定フラグを出力して、処理を終了する。
【0064】
S512において、修正サーバ20は、チェック結果を出力する。チェック結果は、定義ポイント毎に「OK」か「NG」であったかが出力されるものである。
【0065】
S513において、修正サーバ20は、定義ポイントチェックがNGであるかを判定する。Yesの場合、S514へ進み、Noの場合、S520へ進む。具体的には、図6のS606の処理における結果を用いる。
【0066】
S514において、修正サーバ20は、修正可能かを判定する。Yesの場合、S517へ進み、Noの場合、S515へ進む。具体的には、図6のS604の処理における結果を用いる。
【0067】
S515において、修正サーバ20は、ユーザ定義を修正し、追加保存する。ここでは、ユーザにより定義がなされたユーザ定義情報をそのまま利用して、最小限必要な修正を行うものである。
【0068】
S516において、修正サーバ20は、追加・修正した定義内容を追加保存する。ここでは、ユーザに修正内容を通知するために内容が保存されるものである。
【0069】
一方、S517において、修正サーバ20は、サンプルコードからサンプル定義を取得する。
【0070】
S518において、修正サーバ20は、サンプル定義をユーザ定義に追加保存する。ここでは、ユーザにより定義がなされたユーザ定義情報を利用できない場合、サンプルコードの定義情報に置き換えて修正を行うものである。
【0071】
S519において、修正サーバ20は、追加したサンプル定義内容を追加保存する。ここでは、ユーザに修正内容を通知するために内容が保存されるものである。
【0072】
ここで、S515〜S516とS517〜S519との処理の違いを改めて説明する。
【0073】
S515〜S516は、S514において修正可能と判定されたものであるため、ユーザが作成したユーザ定義情報の内容を動作するように修正するものである。そのため、ユーザが定義した定義情報がなるべく生かされるという効果がある。
【0074】
一方、S517〜S519は、S514において修正不可能と判定されたものであるため、サンプルコードからサンプル定義を取得して置き換える修正を行うものである。そのため、ユーザが定義した内容がそっくりそのまま置き替えられるデメリットはあるが、動作するユーザ定義情報に修正されることになるという効果がある。
【0075】
最後に、S522において、修正サーバ20は、修正ユーザ定義と修正内容データを、出力部を介して開発者端末10は返信して処理を終了する。
【0076】
次に、具体例を用いて説明する。
【0077】
ユーザは、親子画面とメニューを表示する画面を出力するプログラムを自動生成するためにユーザ定義情報を作成するものとなる。そして、サンプルコードとして次の2つの組み合わせを選んだものとする。
【0078】
S01: 親子画面
S02: メニュー
ここで、S01+S02のサンプルの画面例を図7に示す。開発者端末を操作するユーザは、このような画面からサンプルデータを選択する。なお、図7において、親子画面は、親画面701と子画面702の部分が、メニューは、メニュー703の部分が対応している。
【0079】
また、この画面を構築するための定義ポイントリストは以下のとおりである。ここで、定義ポイントリストとは、サンプルコードを実行するために最低限必要な定義の集まりのことという。
S01_P01: (データモデル定義) 親子関係にあるデータモデルが存在すること
S01_P02: (データモデル定義) 子データモデルの親参照キーにキーグループ1を定義していること
S01_P03: (入出力定義) 対象データモデルに親DMを定義していること
S01_P04: (入出力定義) 多重度が1のデータに親DM定義していること
S01_P05: (入出力定義) グループコードが存在していること
S01_P06: (入出力定義) グループコード以下に子DM定義していること
S01_P07: (入出力定義) 対象条件に条件式が存在していること
S01_P08: (アプリケーション定義) 所属入出力に親子画面に入出力定義していること
S02_P01: (入出力定義) 入出力タイプをMENUに定義していること
S02_P02: (入出力定義) メニュー画面にアクションを定義していること
S02_P03: (入出力定義) 詳細画面にロールメニューを定義
なお、定義ポイントリストは、XML形式など(構造化言語)で表現することができる。一例を図10に示す。この例では、<sample>タグの中にサンプルコード毎の定義ポイントが記載されている。より具体的には、<checklist>タグの間に複数の定義ポイントが<checkitem>タグ内に定義される。
【0080】
ここで、ユーザが作成したユーザ定義情報において、上記の定義ポイントに対して、S01_02とS02_P03が不足している場合、定義が不足しているだけなので、生成エラーとはならない。また、生成後、図8に示すような画面となる。
(1)明細データに別の受注明細まで出力されている(M004とM005は受注ID:J002として登録したはずだった)。
(2)メニュー画面は作成したのに、左側にメニューが表示されていない。
【0081】
ここで、(1)の原因は、本発明の実施の形態における開発ツールが、子データモデルの親参照キーにキーグループ1を定義しないと、どの子データモデルとしていたかを特定することができず。対象となる全ての子データモデルを出力することとなるからである。つまり、本来、J001だけ出力したいところJ002も出力されることとなった。
【0082】
また、(2)の原因は、本発明の実施の形態における開発ツールが、ロールメニューを定義することが前提となっているため、何も定義がされていない場合、メニューが非表示となる。ここで、例えば、管理者のロールの人には、A,B,Cというメニューを、一般ユーザには、Aというメニューを表示するといった定義をすることで、ロールに応じた左側のメニューが表示されるものである。
【0083】
このようなユーザ定義をした場合、どのように修正処理がなされるかを、図9を用いて説明する。
【0084】
図9は、図6の定義ポイントチェックの処理の具体的な例を説明するフローチャートである。図9において、図6の処理と同じ処理ステップについては、同じステップ番号を付与している。
【0085】
この例では、S901において、修正サーバ20は、S01_P01において親子関係にあるデータモデルが存在するかを判定している。Yesの場合、S902へ進み、Noの場合、S607へ進む。なお、親子関係のデータモデルが存在しない場合、修正不可能の判定がなされるのは、親と子の関係は、そもそもユーザの意思に従って決められる関係であるところ、この関係が分からなければ、そもそも修正することができないからである。
【0086】
なお、図10の例では、親子関係の定義が1001においてなされているため、この判定は、Yesとなる。
【0087】
次に、S902〜S907は、修正することができる例である。
【0088】
S901において、修正サーバ20は、S01_P02において子データモデルの親参照キーにキーグループ1を定義しているかを判定する。Yesの場合、S903へ進み、Noの場合、S604へ進む。Noの場合、修正がなされることとなる。図10の例では、1002において、<check>タグの中の<value>が「0」に設定されているため、この判定は、Noとなる。これは、タグの定義自体は正しくなされているため、このユーザ定義は、修正可能と判定されるのである。従って、修正方法としては、<value>が「1」に修正される。これにより(1)の原因が解消される。
【0089】
以下、S903〜S907も同様に、それぞれの定義ポイント毎に<check>タグの内容をチェックして、正しく定義がなされていない場合は、ユーザ定義を最低限動作可能に必要する処理を行う。
【0090】
なお、図9のフローチャートは、親子画面のサンプルコードの例であり、メニューのサンプルコードは、別の処理がなされる。その処理において、(2)の原因が解消されることとなる。
【0091】
次に、出力結果の例を、図11と12を用いて説明する。
【0092】
まず、図11は、S514において修正可能と判定された場合における定義修正内容の一例である。
【0093】
修正内容は、サンプルコード毎に表示され、この例では、2つのサンプルコートについて、1101と1102において修正内容が記載されている。1101は、「親子画面」サンプルについて、1102は、「メニュー」サンプルについて記載されている。なお、複数修正がある場合は、サンプルコード毎に複数の修正結果が出力される。
【0094】
この画面を見ることによりユーザは、どこの部分がどのように修正されたかを確認することができる。この画面では、「親子画面」サンプルについて、カテゴリ「データモデル定義」、定義コード「P_CHILD」、項目コード「P_JID」が「0」から「1」に修正されたことが分かる。また、1103に、修正後のユーザ定義情報の例を示す。
【0095】
次に、図12は、S514において修正不可能と判定された場合における定義修正内容の一例である。
【0096】
同様に、修正内容は、サンプルコード毎に表示されるものであるが、この例では、「親子画面」サンプル1201に3つの追加(追加1、追加2、追加3)がなされたことが記載されている。また、1201に、修正後のユーザ定義情報の例を示す。
【0097】
このようにユーザは、出力結果(図11または12)の内容を確認することで、どのような修正がなされたかを知ることができる。図11の場合は、自分が作成したユーザ定義情報のうち、どの部分がどのように修正されたかを知ることができる。一方、図12の場合は、自分が作成したユーザ定義は置き替えられるが、最低限動く定義に修正されたことを知ることができる。
【0098】
以上説明した通り、本発明によれば、アプリケーション開発ツールにおいて、ユーザが作成した定義情報と、予め用意されているサンプル定義情報とを用いて、ユーザが作成した定義情報を最低限動作する定義情報へ修正可能となる。これにより、プログラムの生成エラーとはならないが、動作しないユーザ定義情報を最低限動作するユーザ定義情報に修正することができるようになる。
【0099】
また、修正されたユーザ定義情報の内容を識別可能に出力されるため、ユーザは、作成したユーザ定義情報のどの部分が修正されたのかを把握することができるようになる。
【0100】
以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【0101】
この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記憶した記録媒体は本発明を構成することになる。
【0102】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク,ハードディスク,光ディスク,光磁気ディスク,CD−ROM,CD−R,DVD−ROM,磁気テープ,不揮発性のメモリカード,ROM,EEPROM,シリコンディスク等を用いることができる。
【0103】
また、管理サーバ101が読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0104】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0105】
また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【0106】
さらに、本発明を達成するためのプログラムをネットワーク上のサーバ,データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【0107】
なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。
【符号の説明】
【0108】
10 開発者端末
20 修正サーバ
30 ネットワーク
【技術分野】
【0001】
本発明は、プログラムを自動生成する開発ツールを使用する際にユーザが作成するユーザ定義情報を修正する技術に関する。
【背景技術】
【0002】
現在、プログラミングレスでWebアプリケーションを自動生成する業務用Webアプリケーション開発ツールがある。この開発ツールを使うと、Java(登録商標)の知識にかかわらず、業務・設計ノウハウを活用して「基本設計情報」を定義するとWebアプリケーションを自動生成することができるというものである。
【0003】
しかし、開発ツールが多機能化してくることにより、Webアプリケーションの開発者は、何か実現したい機能があってもどのように定義すればよいのか分からなくなってくるという問題がある。
【0004】
例えば、「すぐに機能を自分のマシンで試したいけど、マニュアル・ガイドを見ている時間があまりない。」、「近い内容を見つけても、情報が断片的で動くものまで定義するのは難しい。」「自分で定義しようと思って、試行錯誤するが、エラーが出てしまって、そのエラー内容を見てもよくわからない。」、または、「エラーは出ていないが、なぜか自分の思うように動かない。」といった状況が起こりえる。
【0005】
このような状況は、顧客から問い合わせを受けるサポートセンターにおいても起こりえる問題であり、バグなのか、仕様なのか判断する場合や、顧客のトラブルの再現性調査などWPアプリを作って検証するのは時間がかかることが多い。
【0006】
そのため、直感的に機能や使用を理解するのが容易なサンプルコードやサンプル定義を利用して、開発者やサポートセンターのSEが必要な定義を作成したり修正したりしてくれると便利である。
【0007】
特許文献1には、ユーザが作成したプログラムをテストして修正を行い、その修正の妥当性をチェックすることができるプログラム修正装置を提供する技術が開示されている。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特開2008−250914号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
しかしながら、特許文献1に開示されている技術は、あくまでもプログラムの静的解析に関するものであり、プログラム動作そのものを変更するものではない。つまり、ソースコードのフォーマットや慣習に基づくコーディングスタイルの変更をするものにすぎない。
【0010】
本発明は、上記課題を解決するものであり、アプリケーション開発ツールにおいて、ユーザが作成した定義情報と、予め用意されているサンプル定義情報とを用いて、ユーザが作成した定義情報を最低限動作する定義情報へ修正可能とすることを目的とする。
【0011】
また、別の目的として、修正したユーザ定義情報の内容を識別可能に出力することを目的とする。
【課題を解決するための手段】
【0012】
本発明は、ユーザ定義情報に基づいてプログラムを生成する開発ツールに入力されるユーザにより作成されたユーザ定義情報を修正する情報処理装置であって、ユーザにより作成されたユーザ定義情報と、当該ユーザ定義情報を修正するために用いられるサンプルコードの選択とを受け付ける受付手段と、前記受付手段により受け付けたユーザ定義情報と、前記受付手段により選択を受け付けたサンプルコードとを用いて、当該ユーザ定義情報のうち修正可能な定義情報が含まれるかを判定する判定手段と、前記判定手段により修正可能な定義情報が前記ユーザ定義情報に含まれると判定された場合、当該定義情報を動作可能に修正する修正手段とを有することを特徴とする。
【発明の効果】
【0013】
本発明によれば、アプリケーション開発ツールにおいて、ユーザが作成した定義情報と、予め用意されているサンプル定義情報とを用いて、ユーザが作成した定義情報を最低限動作する定義情報へ修正可能となる。これにより、プログラムの生成エラーとはならないが、動作しないユーザ定義情報を最低限動作するユーザ定義情報に修正することができるようになる。
【0014】
また、修正されたユーザ定義情報の内容を識別可能に出力されるため、ユーザは、作成したユーザ定義情報のどの部分が修正されたのかを把握することができるようになる。
【図面の簡単な説明】
【0015】
【図1】本発明の一実施形態を示す情報処理システムを示す図である。
【図2】開発者端末10と修正サーバ20のハードウェア構成を示すブロック図である。
【図3】開発者端末10をより詳細に示した図である。
【図4】修正サーバ20をより詳細に示した図である。
【図5】修正サーバ20におけるユーザ定義情報を修正する処理の流れを示すフローチャートである。
【図6】定義ポイントチェックの処理の詳細な流れを説明するフローチャートである。
【図7】サンプルの画面例である。
【図8】ユーザ定義情報に間違いがあった場合の画面例である。
【図9】定義ポイントチェックの処理の具体的な例を説明するフローチャートである。
【図10】定義ポイントリストの例である。
【図11】修正可能と判定された場合における定義修正内容の一例である。
【図12】修正不可能と判定された場合における定義修正内容の一例である。
【発明を実施するための形態】
【0016】
以下、図面を用いて詳細に説明する。
【0017】
図1は、本発明の一実施形態を示す情報処理システムを示す図である。
【0018】
開発者端末10と修正サーバ(情報処理装置)20とがネットワーク30を介して通信可能に接続されている。
【0019】
開発者端末10は、プログラム(WEBアプリケーションなど)を開発する開発者が操作する端末であって、プログラムを自動生成する開発ツールがインストールされている。開発者は、ユーザ定義情報を作成し、開発ツールに読み込ませることにより、開発ツールがプログラムを自動生成する。
【0020】
修正サーバ20は、サンプル定義情報を複数管理し、開発者により作成されたユーザ定義情報と、選択されたサンプル定義情報を用いて、ユーザ定義情報を動作可能なユーザ定義情報に修正する。
【0021】
次に、図2を参照して、図1に示した開発者端末10と修正サーバ20のハードウェア構成について説明する。
【0022】
図2は、図1の開発者端末10と修正サーバ20のハードウェア構成を示すブロック図である。
【0023】
図2において、201はCPU(中央演算処理装置)201であり、ROM203或いは外部記憶装置104に記憶されている制御プログラムに基づいて、システムバスに接続されている各種デバイスとのアクセスを総括的に制御する構成となっている。
【0024】
システムバスには、CPU201の主メモリ、ワークエリア等として機能するRAM(ランダム・アクセス・メモリ)202が接続されている。ROM203或いは外部記憶装置104には、CPU201の制御プログラムであるBIOS(Basic Input / OutputSystem)やオペレーティングシステム(以下、「OS」という。)プログラム、コンピュータ103が実行する処理を実現するために必要な各種プログラム等が記憶されている。
【0025】
CPU201は、処理の実行に際して必要な各種プログラム等をRAM202にロードして、当該プログラム等を実行することで図1に示した全体制御部105の機能及び各種動作を実現するものである。
【0026】
外部記憶装置104は、上述した各種プログラムとして、図示しないブートプログラム、各種アプリケーションプログラム、フォントデータ、ユーザーファイル等を記憶する。
【0027】
CPU201は、例えば、RAM202内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、表示装置102上でWYSIWYGを可能としている。また、CPU201は、表示装置102上のマウスカーソル(不図示)等で指示されたコマンドに基づいて、登録された種々なウィンドウを開き、種々のデータ処理を実行する。
【0028】
図3は、図1における開発者端末10をより詳細に示した図である。
【0029】
101はキーボード,ポインティングデバイス(マウス等)の入力装置である。102はCRTディスプレイや液晶ディスプレイ等の表示装置である。104はハードディスクドライブ(HDD)等の外部記憶装置である。
【0030】
ユーザは入力装置101より、表示装置102に表示された画面を通じてコンピュータ103に対してプログラム自動生成命令を発行すると、コンピュータ103は、全体制御部105で自動生成処理を行う。以下、詳細に説明する。
【0031】
まず、プログラム自動生成命令を受けた画面制御部106は、プログラム生成部107に処理を委譲する。プログラム生成部107は、予め作成されて外部記憶装置(HDD)104に格納される画面プログラムテンプレート111を元に、予め入力されて外部記憶装置104に格納されるユーザ定義情報110を適用し、画面プログラム112を生成し、外部記憶装置104に格納する。
【0032】
この後、ユーザが入力装置101より表示装置102に表示された画面を通じてコンピュータ103に対して画面雛形生成命令を発行すると、コンピュータ103は、全体制御部105で画面雛形生成処理を行う。以下、詳細に説明する。
【0033】
まず、画面雛形生成命令を受けた画面制御部106は、画面雛形生成部108に処理を委譲する。画面雛形生成部108は、画面プログラム112を元に、そこから「画面レイアウト情報のみ」を抽出したレイアウト雛形ファイル113を出力し、外部記憶装置104に格納する。
【0034】
この後、ユーザは、レイアウト雛形ファイル113を適宜カスタマイズし、レイアウトHTMLファイル114を作成し、外部記憶装置104に格納する。もしくは、予め用意したHTMLファイルを一定の書式にしたがい編集することで、それをレイアウトHTMLファイル114として外部記憶装置104に格納することもできる。
【0035】
次に、ユーザが入力装置101より表示装置102に表示された画面を通じてコンピュータ103に対して画面マージ処理命令を発行すると、コンピュータ103は、全体制御部105で画面マージ処理を行う。以下、詳細に説明する。
【0036】
まず、画面マージ処理命令を受けた画面制御部106は、画面マージ処理部109に処理を委譲する。画面マージ処理部109は、画面プログラム112にあるレイアウト以外の情報と、レイアウトHTMLファイル114にある画面レイアウト情報をマージして、レイアウト済画面プログラム115を出力し、外部記憶装置104に格納する。
【0037】
図4は、図1における修正サーバ20をより詳細に示した図である。
【0038】
なお、修正サーバ20は、サンプル単位に管理されているサンプルを実現するために必ず必要な定義ポイントのリストを備える。また、サンプル管理部は、ユーザが動きを確認できるサンプルをユーザが見える形で提供し、ユーザはサンプルコードを本装置に対して入力できるものとする。
【0039】
修正サーバ20は、開発者端末10で開発者により作成されたが、動作しなかったユーザ定義情報を、ネットワーク30を介して入力部202が受け取る。また、同時にサンプル提供部201により複数管理しているサンプル定義情報の選択を受け付ける(複数の選択が可能である。)。
【0040】
そして、制御部204により処理が開始される。具体的には、生成処理部205がプログラムの生成処理を行い、定義エラーを検出した場合は、エラーコード管理部208が管理するエラーコードに対応した修正方法データ取得して定義データの修正を行う。この作業はエラーが消えるまで繰り返し実施する。その後、サンプルコードに対応した定義ポイントのリストを定義ポイント管理部206から取得し、リストに従いチェックを行う。定義ポイントリストには修正可能な属性と修正不可能な属性が定められている。修正不可能な定義ポイントがユーザ定義に不足していた場合は、サンプルのテンプレートをユーザ定義にコピーして終了する。修正可能な定義ポイントの場合は、修正部207がユーザ定義の内容を修正する。定義ポイント全てを修正した後、出力部203よりユーザに対して修正したユーザ定義および修正内容を通知する。
【0041】
図5は、修正サーバ20におけるユーザ定義情報を修正する処理の流れを示すフローチャートである。
【0042】
まず、修正サーバ20は、開発者端末10からユーザ定義情報110(ユーザ定義データ)を受け取り、S501において、プログラム生成処理を実行する。
【0043】
S502において、修正サーバ20は、定義エラーを検出したかを判定する。Yesの場合、S503へ進み、Noの場合、S509へ進む。
【0044】
S503において、修正サーバ20は、先頭の定義エラーコードを条件にエラー管理DBから検索する。
【0045】
S504において、修正サーバ20は、検索がヒットしたかを判定する。Yesの場合、S506へ進み、Noの場合、S505へ進む。
【0046】
S505において、修正サーバ20は、エラー管理DB管理者へ通知する。
【0047】
S506において、修正サーバ20は、エラーコードに対応した修正方法データ取得する。
【0048】
S507において、修正サーバ20は、ユーザ定義データを修正して、S502へ戻る。
【0049】
この作業はエラーが消えるまで繰り返し実施する。なお、このユーザ定義データの修正は、サンプルコードを用いることなくなされる、従来から行われている修正作業である。
【0050】
次に、本発明の実施の形態におけるサンプルコードを用いた修正処理の流れを以下に説明する。
【0051】
ここでは、ユーザ定義コードと、ユーザにより選択されたサンプルコード(複数可能)を用いる。なお、サンプルコードは、修正サーバにおいて、視覚的に確認できる形で複数用意されており、ユーザはその中からサンプルコードを選択する。
【0052】
S508〜S521まで処理が繰り返される。これは、入力されたサンプルコードの数だけループすることを示している。
【0053】
S509において、修正サーバ20は、サンプルコードに対応した定義ポイントリストを取得する。定義ポイントリストの具体例は後に説明する。
【0054】
S510〜S520まで処理が繰り返される。これは、定義ポイントの数だけループすることを示している。
【0055】
S511において、修正サーバ20は、定義ポイントのチェックを行う。この処理の詳細は、図6を用いて説明する。
【0056】
図6は、定義ポイントチェックの処理の詳細な流れを説明するフローチャートである。
【0057】
S601において、修正サーバ20は、定義ポイントチェック判定を行う。Yesの場合、S602へ進み、Noの場合、S603へ進む。なお、Yesとなるのは、すべての定義ポイントチェックがOKの場合である。Noは、いずれかの定義ポイントで問題がある場合に該当する。
【0058】
S602において、修正サーバ20は、定義ポイントチェックOKフラグを出力して、処理を終了する。
【0059】
S603において、修正サーバ20は、修正可能な定義であるかを判定する。Yesの場合、S604へ進み、Noの場合、S607へ進む。ここでの判定は、定義ポイントごとに異なるものである。具体例を後に説明する。
【0060】
S604において、修正サーバ20は、修正可能判定フラグを出力する。
【0061】
S605において、修正サーバ20は、修正方法を記載した指示書を出力する。
【0062】
S606において、修正サーバ20は、定義ポイントチェックNGフラグを出力して、処理を終了する。
【0063】
また、sS07において、修正サーバ20は、修正不可能判定フラグを出力して、処理を終了する。
【0064】
S512において、修正サーバ20は、チェック結果を出力する。チェック結果は、定義ポイント毎に「OK」か「NG」であったかが出力されるものである。
【0065】
S513において、修正サーバ20は、定義ポイントチェックがNGであるかを判定する。Yesの場合、S514へ進み、Noの場合、S520へ進む。具体的には、図6のS606の処理における結果を用いる。
【0066】
S514において、修正サーバ20は、修正可能かを判定する。Yesの場合、S517へ進み、Noの場合、S515へ進む。具体的には、図6のS604の処理における結果を用いる。
【0067】
S515において、修正サーバ20は、ユーザ定義を修正し、追加保存する。ここでは、ユーザにより定義がなされたユーザ定義情報をそのまま利用して、最小限必要な修正を行うものである。
【0068】
S516において、修正サーバ20は、追加・修正した定義内容を追加保存する。ここでは、ユーザに修正内容を通知するために内容が保存されるものである。
【0069】
一方、S517において、修正サーバ20は、サンプルコードからサンプル定義を取得する。
【0070】
S518において、修正サーバ20は、サンプル定義をユーザ定義に追加保存する。ここでは、ユーザにより定義がなされたユーザ定義情報を利用できない場合、サンプルコードの定義情報に置き換えて修正を行うものである。
【0071】
S519において、修正サーバ20は、追加したサンプル定義内容を追加保存する。ここでは、ユーザに修正内容を通知するために内容が保存されるものである。
【0072】
ここで、S515〜S516とS517〜S519との処理の違いを改めて説明する。
【0073】
S515〜S516は、S514において修正可能と判定されたものであるため、ユーザが作成したユーザ定義情報の内容を動作するように修正するものである。そのため、ユーザが定義した定義情報がなるべく生かされるという効果がある。
【0074】
一方、S517〜S519は、S514において修正不可能と判定されたものであるため、サンプルコードからサンプル定義を取得して置き換える修正を行うものである。そのため、ユーザが定義した内容がそっくりそのまま置き替えられるデメリットはあるが、動作するユーザ定義情報に修正されることになるという効果がある。
【0075】
最後に、S522において、修正サーバ20は、修正ユーザ定義と修正内容データを、出力部を介して開発者端末10は返信して処理を終了する。
【0076】
次に、具体例を用いて説明する。
【0077】
ユーザは、親子画面とメニューを表示する画面を出力するプログラムを自動生成するためにユーザ定義情報を作成するものとなる。そして、サンプルコードとして次の2つの組み合わせを選んだものとする。
【0078】
S01: 親子画面
S02: メニュー
ここで、S01+S02のサンプルの画面例を図7に示す。開発者端末を操作するユーザは、このような画面からサンプルデータを選択する。なお、図7において、親子画面は、親画面701と子画面702の部分が、メニューは、メニュー703の部分が対応している。
【0079】
また、この画面を構築するための定義ポイントリストは以下のとおりである。ここで、定義ポイントリストとは、サンプルコードを実行するために最低限必要な定義の集まりのことという。
S01_P01: (データモデル定義) 親子関係にあるデータモデルが存在すること
S01_P02: (データモデル定義) 子データモデルの親参照キーにキーグループ1を定義していること
S01_P03: (入出力定義) 対象データモデルに親DMを定義していること
S01_P04: (入出力定義) 多重度が1のデータに親DM定義していること
S01_P05: (入出力定義) グループコードが存在していること
S01_P06: (入出力定義) グループコード以下に子DM定義していること
S01_P07: (入出力定義) 対象条件に条件式が存在していること
S01_P08: (アプリケーション定義) 所属入出力に親子画面に入出力定義していること
S02_P01: (入出力定義) 入出力タイプをMENUに定義していること
S02_P02: (入出力定義) メニュー画面にアクションを定義していること
S02_P03: (入出力定義) 詳細画面にロールメニューを定義
なお、定義ポイントリストは、XML形式など(構造化言語)で表現することができる。一例を図10に示す。この例では、<sample>タグの中にサンプルコード毎の定義ポイントが記載されている。より具体的には、<checklist>タグの間に複数の定義ポイントが<checkitem>タグ内に定義される。
【0080】
ここで、ユーザが作成したユーザ定義情報において、上記の定義ポイントに対して、S01_02とS02_P03が不足している場合、定義が不足しているだけなので、生成エラーとはならない。また、生成後、図8に示すような画面となる。
(1)明細データに別の受注明細まで出力されている(M004とM005は受注ID:J002として登録したはずだった)。
(2)メニュー画面は作成したのに、左側にメニューが表示されていない。
【0081】
ここで、(1)の原因は、本発明の実施の形態における開発ツールが、子データモデルの親参照キーにキーグループ1を定義しないと、どの子データモデルとしていたかを特定することができず。対象となる全ての子データモデルを出力することとなるからである。つまり、本来、J001だけ出力したいところJ002も出力されることとなった。
【0082】
また、(2)の原因は、本発明の実施の形態における開発ツールが、ロールメニューを定義することが前提となっているため、何も定義がされていない場合、メニューが非表示となる。ここで、例えば、管理者のロールの人には、A,B,Cというメニューを、一般ユーザには、Aというメニューを表示するといった定義をすることで、ロールに応じた左側のメニューが表示されるものである。
【0083】
このようなユーザ定義をした場合、どのように修正処理がなされるかを、図9を用いて説明する。
【0084】
図9は、図6の定義ポイントチェックの処理の具体的な例を説明するフローチャートである。図9において、図6の処理と同じ処理ステップについては、同じステップ番号を付与している。
【0085】
この例では、S901において、修正サーバ20は、S01_P01において親子関係にあるデータモデルが存在するかを判定している。Yesの場合、S902へ進み、Noの場合、S607へ進む。なお、親子関係のデータモデルが存在しない場合、修正不可能の判定がなされるのは、親と子の関係は、そもそもユーザの意思に従って決められる関係であるところ、この関係が分からなければ、そもそも修正することができないからである。
【0086】
なお、図10の例では、親子関係の定義が1001においてなされているため、この判定は、Yesとなる。
【0087】
次に、S902〜S907は、修正することができる例である。
【0088】
S901において、修正サーバ20は、S01_P02において子データモデルの親参照キーにキーグループ1を定義しているかを判定する。Yesの場合、S903へ進み、Noの場合、S604へ進む。Noの場合、修正がなされることとなる。図10の例では、1002において、<check>タグの中の<value>が「0」に設定されているため、この判定は、Noとなる。これは、タグの定義自体は正しくなされているため、このユーザ定義は、修正可能と判定されるのである。従って、修正方法としては、<value>が「1」に修正される。これにより(1)の原因が解消される。
【0089】
以下、S903〜S907も同様に、それぞれの定義ポイント毎に<check>タグの内容をチェックして、正しく定義がなされていない場合は、ユーザ定義を最低限動作可能に必要する処理を行う。
【0090】
なお、図9のフローチャートは、親子画面のサンプルコードの例であり、メニューのサンプルコードは、別の処理がなされる。その処理において、(2)の原因が解消されることとなる。
【0091】
次に、出力結果の例を、図11と12を用いて説明する。
【0092】
まず、図11は、S514において修正可能と判定された場合における定義修正内容の一例である。
【0093】
修正内容は、サンプルコード毎に表示され、この例では、2つのサンプルコートについて、1101と1102において修正内容が記載されている。1101は、「親子画面」サンプルについて、1102は、「メニュー」サンプルについて記載されている。なお、複数修正がある場合は、サンプルコード毎に複数の修正結果が出力される。
【0094】
この画面を見ることによりユーザは、どこの部分がどのように修正されたかを確認することができる。この画面では、「親子画面」サンプルについて、カテゴリ「データモデル定義」、定義コード「P_CHILD」、項目コード「P_JID」が「0」から「1」に修正されたことが分かる。また、1103に、修正後のユーザ定義情報の例を示す。
【0095】
次に、図12は、S514において修正不可能と判定された場合における定義修正内容の一例である。
【0096】
同様に、修正内容は、サンプルコード毎に表示されるものであるが、この例では、「親子画面」サンプル1201に3つの追加(追加1、追加2、追加3)がなされたことが記載されている。また、1201に、修正後のユーザ定義情報の例を示す。
【0097】
このようにユーザは、出力結果(図11または12)の内容を確認することで、どのような修正がなされたかを知ることができる。図11の場合は、自分が作成したユーザ定義情報のうち、どの部分がどのように修正されたかを知ることができる。一方、図12の場合は、自分が作成したユーザ定義は置き替えられるが、最低限動く定義に修正されたことを知ることができる。
【0098】
以上説明した通り、本発明によれば、アプリケーション開発ツールにおいて、ユーザが作成した定義情報と、予め用意されているサンプル定義情報とを用いて、ユーザが作成した定義情報を最低限動作する定義情報へ修正可能となる。これにより、プログラムの生成エラーとはならないが、動作しないユーザ定義情報を最低限動作するユーザ定義情報に修正することができるようになる。
【0099】
また、修正されたユーザ定義情報の内容を識別可能に出力されるため、ユーザは、作成したユーザ定義情報のどの部分が修正されたのかを把握することができるようになる。
【0100】
以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【0101】
この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記憶した記録媒体は本発明を構成することになる。
【0102】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク,ハードディスク,光ディスク,光磁気ディスク,CD−ROM,CD−R,DVD−ROM,磁気テープ,不揮発性のメモリカード,ROM,EEPROM,シリコンディスク等を用いることができる。
【0103】
また、管理サーバ101が読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0104】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0105】
また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【0106】
さらに、本発明を達成するためのプログラムをネットワーク上のサーバ,データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【0107】
なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。
【符号の説明】
【0108】
10 開発者端末
20 修正サーバ
30 ネットワーク
【特許請求の範囲】
【請求項1】
ユーザ定義情報に基づいてプログラムを生成する開発ツールに入力されるユーザにより作成されたユーザ定義情報を修正する情報処理装置であって、
ユーザにより作成されたユーザ定義情報と、当該ユーザ定義情報を修正するために用いられるサンプルコードの選択とを受け付ける受付手段と、
前記受付手段により受け付けたユーザ定義情報と、前記受付手段により選択を受け付けたサンプルコードとを用いて、当該ユーザ定義情報のうち修正可能な定義情報が含まれるかを判定する判定手段と、
前記判定手段により修正可能な定義情報が前記ユーザ定義情報に含まれると判定された場合、当該定義情報を動作可能に修正する修正手段と
を有することを特徴とする情報処理装置。
【請求項2】
前記サンプルコートには、当該サンプルコードを実行するために最低限必要な定義の集まりである一または複数の定義ポイントが含まれ、
前記判定手段は、前記定義ポイント毎に、前記ユーザ定義情報に修正可能な定義情報が含まれるかを判定することを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記ユーザ定義情報および前記定義ポイントは、構造化言語の形式であることを特徴とする請求項1または2に記載の情報処理装置。
【請求項4】
前記判定手段により修正不可能な定義情報が前記ユーザ定義情報に含まれると判定された場合、前記サンプルコードに含まれるサンプルコードを当該ユーザ定義情報に追加する追加手段を更に備えることを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
【請求項5】
前記修正手段により修正された修正内容および前記追加手段により追加された追加内容をユーザに識別可能に出力する出力手段を更に備えることを特徴とする請求項4に記載の情報処理装置。
【請求項6】
ユーザ定義情報に基づいてプログラムを生成する開発ツールに入力されるユーザにより作成されたユーザ定義情報を修正する情報処理装置における情報処理方法であって、
ユーザにより作成されたユーザ定義情報と、当該ユーザ定義情報を修正するために用いられるサンプルコードの選択とを受け付ける受付ステップと、
前記受付ステップにより受け付けたユーザ定義情報と、前記受付ステップにより選択を受け付けたサンプルコードとを用いて、当該ユーザ定義情報のうち修正可能な定義情報が含まれるかを判定する判定ステップと、
前記判定ステップにより修正可能な定義情報が前記ユーザ定義情報に含まれると判定された場合、当該定義情報を動作可能に修正する修正ステップと
を有することを特徴とする情報処理方法。
【請求項7】
ユーザが操作する端末と、ユーザ定義情報に基づいてプログラムを生成する開発ツールに入力されるユーザにより作成されたユーザ定義情報を修正する情報処理装置とがネットワークを介して通信可能な情報処理システムであって、
ユーザにより作成されたユーザ定義情報と、当該ユーザ定義情報を修正するために用いられるサンプルコードの選択とを受け付ける受付手段と、
前記受付手段により受け付けたユーザ定義情報と、前記受付手段により選択を受け付けたサンプルコードとを用いて、当該ユーザ定義情報のうち修正可能な定義情報が含まれるかを判定する判定手段と、
前記判定手段により修正可能な定義情報が前記ユーザ定義情報に含まれると判定された場合、当該定義情報を動作可能に修正する修正手段と
を有することを特徴とする情報処理システム。
【請求項8】
ユーザ定義情報に基づいてプログラムを生成する開発ツールに入力されるユーザにより作成されたユーザ定義情報を修正する情報処理装置において実行可能なプログラムであって、
ユーザにより作成されたユーザ定義情報と、当該ユーザ定義情報を修正するために用いられるサンプルコードの選択とを受け付ける受付手段、
前記受付手段により受け付けたユーザ定義情報と、前記受付手段により選択を受け付けたサンプルコードとを用いて、当該ユーザ定義情報のうち修正可能な定義情報が含まれるかを判定する判定手段、
前記判定手段により修正可能な定義情報が前記ユーザ定義情報に含まれると判定された場合、当該定義情報を動作可能に修正する修正手段
として前記情報処理装置を機能させることを特徴とするプログラム。
【請求項9】
請求項8に記載のプログラムをコンピュータ読み取り可能に記憶した記録媒体。
【請求項1】
ユーザ定義情報に基づいてプログラムを生成する開発ツールに入力されるユーザにより作成されたユーザ定義情報を修正する情報処理装置であって、
ユーザにより作成されたユーザ定義情報と、当該ユーザ定義情報を修正するために用いられるサンプルコードの選択とを受け付ける受付手段と、
前記受付手段により受け付けたユーザ定義情報と、前記受付手段により選択を受け付けたサンプルコードとを用いて、当該ユーザ定義情報のうち修正可能な定義情報が含まれるかを判定する判定手段と、
前記判定手段により修正可能な定義情報が前記ユーザ定義情報に含まれると判定された場合、当該定義情報を動作可能に修正する修正手段と
を有することを特徴とする情報処理装置。
【請求項2】
前記サンプルコートには、当該サンプルコードを実行するために最低限必要な定義の集まりである一または複数の定義ポイントが含まれ、
前記判定手段は、前記定義ポイント毎に、前記ユーザ定義情報に修正可能な定義情報が含まれるかを判定することを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記ユーザ定義情報および前記定義ポイントは、構造化言語の形式であることを特徴とする請求項1または2に記載の情報処理装置。
【請求項4】
前記判定手段により修正不可能な定義情報が前記ユーザ定義情報に含まれると判定された場合、前記サンプルコードに含まれるサンプルコードを当該ユーザ定義情報に追加する追加手段を更に備えることを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
【請求項5】
前記修正手段により修正された修正内容および前記追加手段により追加された追加内容をユーザに識別可能に出力する出力手段を更に備えることを特徴とする請求項4に記載の情報処理装置。
【請求項6】
ユーザ定義情報に基づいてプログラムを生成する開発ツールに入力されるユーザにより作成されたユーザ定義情報を修正する情報処理装置における情報処理方法であって、
ユーザにより作成されたユーザ定義情報と、当該ユーザ定義情報を修正するために用いられるサンプルコードの選択とを受け付ける受付ステップと、
前記受付ステップにより受け付けたユーザ定義情報と、前記受付ステップにより選択を受け付けたサンプルコードとを用いて、当該ユーザ定義情報のうち修正可能な定義情報が含まれるかを判定する判定ステップと、
前記判定ステップにより修正可能な定義情報が前記ユーザ定義情報に含まれると判定された場合、当該定義情報を動作可能に修正する修正ステップと
を有することを特徴とする情報処理方法。
【請求項7】
ユーザが操作する端末と、ユーザ定義情報に基づいてプログラムを生成する開発ツールに入力されるユーザにより作成されたユーザ定義情報を修正する情報処理装置とがネットワークを介して通信可能な情報処理システムであって、
ユーザにより作成されたユーザ定義情報と、当該ユーザ定義情報を修正するために用いられるサンプルコードの選択とを受け付ける受付手段と、
前記受付手段により受け付けたユーザ定義情報と、前記受付手段により選択を受け付けたサンプルコードとを用いて、当該ユーザ定義情報のうち修正可能な定義情報が含まれるかを判定する判定手段と、
前記判定手段により修正可能な定義情報が前記ユーザ定義情報に含まれると判定された場合、当該定義情報を動作可能に修正する修正手段と
を有することを特徴とする情報処理システム。
【請求項8】
ユーザ定義情報に基づいてプログラムを生成する開発ツールに入力されるユーザにより作成されたユーザ定義情報を修正する情報処理装置において実行可能なプログラムであって、
ユーザにより作成されたユーザ定義情報と、当該ユーザ定義情報を修正するために用いられるサンプルコードの選択とを受け付ける受付手段、
前記受付手段により受け付けたユーザ定義情報と、前記受付手段により選択を受け付けたサンプルコードとを用いて、当該ユーザ定義情報のうち修正可能な定義情報が含まれるかを判定する判定手段、
前記判定手段により修正可能な定義情報が前記ユーザ定義情報に含まれると判定された場合、当該定義情報を動作可能に修正する修正手段
として前記情報処理装置を機能させることを特徴とするプログラム。
【請求項9】
請求項8に記載のプログラムをコンピュータ読み取り可能に記憶した記録媒体。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2012−215912(P2012−215912A)
【公開日】平成24年11月8日(2012.11.8)
【国際特許分類】
【出願番号】特願2011−78790(P2011−78790)
【出願日】平成23年3月31日(2011.3.31)
【出願人】(390002761)キヤノンマーケティングジャパン株式会社 (656)
【出願人】(312000206)キヤノンMJアイティグループホールディングス株式会社 (259)
【出願人】(301015956)キヤノンソフトウェア株式会社 (364)
【Fターム(参考)】
【公開日】平成24年11月8日(2012.11.8)
【国際特許分類】
【出願日】平成23年3月31日(2011.3.31)
【出願人】(390002761)キヤノンマーケティングジャパン株式会社 (656)
【出願人】(312000206)キヤノンMJアイティグループホールディングス株式会社 (259)
【出願人】(301015956)キヤノンソフトウェア株式会社 (364)
【Fターム(参考)】
[ Back to top ]