(57)【要約】      （修正有）【課題】プログラムモジュール間の組み合わせをする際に、予め用意したププログラムモジュールの組み合わせを誘導するプログラム表示し、撰択するだけで組み合わせプログラムを生成する。【解決手段】入力装置からの指示により、記憶装置に格納されているプログラムモジュールを表示装置に表示し、入力装置から入力された命令により、記憶装置に格納されているプログラムモジュール間の組み合わせを誘導するナビゲートプログラムを検索し、検索したナビゲートプログラム群を表示装置に表示し、表示したナビゲートプログラム群から任意のナビゲートプログラムを撰択し、ナビゲートプログラムを動作させ、プログラムモジュール間の組み合わせをするためにナビゲートプログラムの出力する誘導パラメータを指定し、入力された前記誘導パラメータによって、プログラムモジュール間を組み合わせをするコネクトプログラムモジュールを生成して、記憶装置に格納する。【選択図】図１
2005259169.tif 000002
【特許請求の範囲】
【請求項１】
複数のプログラムモジュールを組み合わせてプログラムを生成するプログラム生成システムであって、
前記プログラムの構成要素となるプログラムモジュールを格納するモジュール情報テーブル、及び前記モジュール情報テーブルに含まれる第１と第２のプログラムモジュールの組合せと、当該第１のプログラムモジュールのパラメータと前記第２のプログラムモジュールの対応関係を表すプログラムモジュールであるコネクタを生成するナビゲートプログラムを対応付けるナビゲート情報テーブルを格納する記憶装置と、
前記モジュール情報テーブルに格納されたプログラムモジュールから複数のプログラムモジュールの選択の入力を受付ける入力装置と、
前記受け付けた複数のプログラムモジュールの組合せに対応するナビゲートプログラムを前記ナビゲート情報テーブルに基づいて実行し、前記コネクタを生成することによりプログラムを生成する計算機とを備えることを特徴とするプログラム生成システム。
【請求項２】
請求項１記載のプログラム生成システムは、さらに表示装置を備え、
当該表示装置は、前記第１のプログラムモジュールに対応する表示物と前記第２のプログラムモジュールに対応する表示物とを表示し、
前記入力装置は、当該表示された表示物に対する操作を受け付けることにより前記複数のプログラムモジュールの選択の入力を受け付け、
前記表示装置は、前記生成されたコネクタに対応する表示物を前記第１と第２のプログラムモジュールに対応する各表示物をつなぐように表示することを特徴とするプログラム生成システム。
【請求項３】
請求項１または請求項２記載のプログラム生成システムであって、
前記コネクタは、前記第１のプログラムモジュールにおけるパラメータに、前記第２のプログラムモジュールにおける所定の処理の結果、または当該第２のプログラムモジュールにおける所定のパラメータの値もしくはアドレスを代入するプログラムであることを特徴とするプログラム生成システム。
【請求項４】
請求項３記載のプログラム生成システムであって、
前記ナビゲート情報テーブルにおける対応付けは、前記ナビゲート情報テーブルが、前記プログラムモジュールの組合せと前記ナビゲートプログラムのアドレスとを対応付けて格納することにより実現されることを特徴とするプログラム生成システム。
【請求項５】
請求項４記載のプログラム生成システムであって、
前記ナビゲータ部は、前記プログラム編集処理のうち、利用者が選択可能な処理の権限を示すユーザレベルに応じて、前記ナビゲート情報に含まれる許可レベルに基づいて、前記ナビゲート情報テーブルに含まれるナビゲート情報を検索することを特徴とするプログラム生成システム。
【請求項６】
請求項４記載のプログラム生成システムはさらに、
前記検索したナビゲート情報を、利用者の選択頻度の高い順に表示する表示装置を備えることを特徴とするプログラム生成システム。
【請求項７】
計算機、記憶装置、及び入力装置を有する情報処理装置上で複数のプログラムモジュールを組み合わせてプログラムを生成するプログラム生成システムにおけるプログラム生成方法であって、
前記記憶装置は、前記プログラムの構成要素となるプログラムモジュールを格納するモジュール情報テーブルと、
前記モジュール情報テーブルに含まれる第１と第２のプログラムモジュールの組合せと、当該第１のプログラムモジュールのパラメータと前記第２のプログラムモジュールの対応関係を表すプログラムモジュールであるコネクタを生成するナビゲートプログラムを対応付けるナビゲート情報テーブルとを格納し、
前記入力装置は、ユーザに前記モジュール情報テーブルに格納されたプログラムモジュールから複数のプログラムモジュールの選択の入力を受付け、
前記計算機は、前記受け付けた複数のプログラムモジュールの組合せに対応するナビゲートプログラムを前記ナビゲート情報テーブルに基づいて実行し、前記コネクタを生成することによりプログラムを生成することを特徴とするプログラム生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラムモジュールを組み合わせてプログラムを作成する方法に係わり、特にプログラムモジュールの組み合わせの候補をプログラムモジュール間の関係より検索し、検索した候補を撰択することでプログラムモジュール間の組み合わせを特定し、コネクタモジュールを生成する方法に関する。
【背景技術】
【０００２】
従来、プログラムモジュールを組み合わせてプログラムを作成する方法として、最も近い従来技術はマイクロソフト株式会社のＶｉｓｕａｌ Ｂａｓｉｃがある。以下に説明する Ｖｉｓｕａｌ Ｂａｓｉｃの技術はマイクロソフト株式会社が１９９３年５月２０日に発行したＭｉｃｒｏｓｏｆｔ Ｖｉｓｕａｌ Ｂａｓｉｃ （Ｖｉｓｕａｌ Ｂａｓｉｃは登録商標）Ｐｒｏｇｒａｍｍｉｎｇ Ｓｙｓｔｅｍ ｆｏｒ Ｗｉｎｄｏｗｓ（Ｗｉｎｄｏｗｓは登録商標） プログラミングガイドによるものである。
【０００３】
Ｖｉｓｕａｌ Ｂａｓｉｃはアプリケーションを３つの手順で作成する。まずユーザインタフェースの設計を行い、次にプロパティと定義された変数に値を設定をし、最後にＢａｓｉｃコードを記述する。具体的に説明するとユーザインタフェースの設計はフォームと呼ばれるウィンドウにコントロールと呼ばれるプログラムモジュール、例えばテキストを入力する機能を持ったテキストコントロールを配置する。プロパティの設定はフォームに配置したコントロールの位置や色などの外観や、動作を決める変数に値を設定する。Ｂａｓｉｃコードにはフォームに配置されたコントロール対して何らかのイベントが発生したとき実行されるプログラムを記述する。例えばユーザがマウスでボタンコントロールをクリックすると、そのボタンコントロールに対してクリックイベントが発生する。前記クリックイベントに対応するクリックイベントプロシジャーをＢａｓｉｃコードで記述する。以上説明したように、Ｖｉｓｕａｌ Ｂａｓｉｃはアプリケーションをプログラムモジュール（フォーム、コントロール）とイベントの組み合わせごとにＢａｓｉｃコードを記述し作成する。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上記従来技術では、フォームに配置されたプログラムモジュール（フォーム、コントロール）のイベントプロシジャーはアプリケーションを作成する際に必ずＢａｓｉｃコードを記述しなければならないという問題があった。
【０００５】
本発明の目的は、プログラムモジュールのイベントプロシジャーの処理内容を予め用意し、プログラムモジュールをフォームに配置した後、プログラムモジュール間の組み合わせをする際に、予め用意したイベントプロシジャーの処理内容を表示し、撰択するだけで組み合わせプログラムを生成する方法を提供することである。
【課題を解決するための手段】
【０００６】
本発明のプログラム作成方法は、入力装置から入力された命令により、記憶装置に格納されているプログラムモジュールを表示装置にビジュアル表示するステップと、入力装置から入力された命令により、記憶装置に格納されているプログラムモジュール間の組み合わせを誘導するナビゲートプログラムを検索するステップと、検索したナビゲートプログラム群を表示装置に表示するステップと、表示装置に表示したナビゲートプログラム群から任意のナビゲートプログラムを入力装置から入力された命令により撰択するステップと、ナビゲートプログラムを動作させるステップと、プログラムモジュール間の組み合わせをするためにナビゲートプログラムの出力する誘導パラメータを入力装置から入力された命令により指定するステップと、入力装置から入力された前記誘導パラメータによって、プログラムモジュール間を組み合わせをするコネクタモジュールを生成するステップと、及び、生成したコネクタモジュールを記憶装置に格納するステップとからなる。
【発明の効果】
【０００７】
以上説明したように本発明では、表示装置にビジュアル表示されたプログラムモジュールを操作することにより、記憶装置に格納されているプログラムモジュール間の組み合わせを誘導するナビゲートプログラムを検索表示し、表示装置に表示されたナビゲートプログラム群から任意のナビゲートプログラムを撰択するとナビゲートプログラムが動作し、ナビゲートプログラムはプログラムモジュール間の組み合わせを誘導するパラメータを出力し、このパラメータを指定することにより、プログラムモジュール間を組み合わせを可能とするコネクトプログラムモジュールを生成され、生成したコネクトプログラムモジュールを記憶装置に格納することが可能になる。また、第２の実施例によれば、自情報処理装置外にある記憶装置に格納されているナビゲートプログラムを実行することが可能になる。また、第３の実施例では、記憶装置に格納されているナビゲートプログラムの検索を利用者の権限に応じて行い、検索したナビゲートプログラム群を撰択頻度の多い順に応じて表示装置に表示することが可能になる。
【発明を実施するための最良の形態】
【０００８】
以下、本発明の一実施例を図面を用いて詳細に説明する。図１は本発明を実現するプログラム作成システムの機能構成の一例を示した。実線１１６は本システムの機能間の制御関係を示し、破線１１７は前記機能のデータ読み書き関係を示す。折れ線１１８はネットワークの接続回線を示す。利用者による要求はキーボードやポインティングデバイス等の入力装置１０１やネットワーク接続された計算機１１５を経て要求入力１０２により入力される。解析制御１０３は前記要求内容を解析し、結果にしたがってプログラム編集１０４、ナビゲータ１０５、コネクタ生成１０６、解釈／実行１０７のうち必要に応じた機能を呼び出し、結果を応答出力１１３に渡す。応答出力１１３は結果を表示装置１１４またはネットワーク接続された計算機１１５に出力する。プログラム編集１０４は編集対象となるプログラム情報１０９とプログラムの構成要素となるモジュール情報１０８の読み込み、書き出し、編集を行なう。ナビゲータ１０５は前記編集時にモジュールとモジュールとの組み合わせ方法を誘導するナビゲート情報１１０とナビゲート情報１１０の利用を利用者のレベルによって制限するユーザレベル１１１を読み込み、前記誘導を行なう。コネクタ生成１０６は前記誘導結果からモジュールとモジュールとの組み合わせるモジュールを生成し、生成したモジュール（以下コネクタと呼ぶ）をコネクタ１１２に書き込み、生成元となった組み合わせたモジュールと生成されたモジュールの関係をプログラム情報１１０に書き込む。解釈／実行１０７はプログラム情報１０９、モジュール情報１０８、コネクタ１１２を読み込み、解釈して実行をする。
【０００９】
図２は本システムの概略処理フローを示した。処理２０１は利用者から入力された本システムへの要求を判定する。プログラムの編集なら処理２０２、プログラムの実行なら処理２１１、終了なら本システムの処理を終了する。
【００１０】
処理２０２は本システムの初期画面を表示する。図３に本システム初期画面を示した。本システムの画面は２つから構成される。画面３０１はプログラムを編集するプログラミングエディタ画面、画面３０２はプログラムを構成するモジュールの一覧を図形で表示するモジュール一覧画面である。プログラム編集画面３０１はプログラムを表示、編集するプログラム編集領域３０３とプログラム編集領域３０３を前後にスクロールするスライダー３０４と左右にスクロールするスライダー３０５から構成される。モジュール一覧画面３０２はモジュールを図形で表示するモジュール表示領域３０６とモジュール表示領域３０６を左右にスクロールするスライダー３０７から構成される。
【００１１】
処理２０３はプログラムの構成要素となるモジュールをモジュール情報１０８を読み込み本システムがアクセス可能なモジュール情報テーブルに展開してメモリーにロードする。メモリーにロードされたモジュール情報テーブル１０８の構成を図４に示した。
【００１２】
モジュール情報テーブルのレコード構成を４０１に示した。レコード４０１はモジュールの型を記憶するモジュール型４０２、モジュールの名称を記憶するモジュール名４０３、モジュールの有する変数の一覧リストのポインタを記憶する変数リストポインタ４０４、モジュールの有する手続きの一覧リストのポインタを記憶する手続きリストポインタ４０５、モジュールの有するイベントの一覧リストのポインタを記憶するイベントリストポインタ４０６、モジュールをプログラム編集画面３０１に表示するための図形種、色、位置等を記憶する表示情報ポインタ４０７から構成される。変数リストポインタ４０４の記憶先の変数一覧リストの構成を４０８に示した。レコード４０８は変数の型を記憶する型４０９と変数の名称を記憶する変数名４１０から構成される。手続きリストポインタ４０５の記憶先の手続き一覧リストの構成を４１１に示した。レコード４１１は手続きの名称を記憶する手続き名４１２と手続きのアドレスを記憶するアドレス４１３から構成される。イベントリストポインタ４０６の記憶先のイベント一覧リストの構成を４１４に示した。レコード４１１はイベントの名称を記憶するイベント名４１４で構成される。
【００１３】
処理２０４は処理２０３がプログラムの構成要素となるモジュールをモジュール情報１０８から読み込み、メモリーに展開したモジュール情報テーブルのレコード４０１単位ごとに表示情報４１５を読み込み、表示情報４１５に則りモジュールを表した図形をモジュール表示領域３０６に表示する。
【００１４】
図５には、モジュールをモジュール一覧画面３０２に表示した一例を示した。モジュール表示領域３０６には４つのモジュールを表示している（破線５０１で囲んだ領域）。モジュール表示領域３０６に表示された図形をモジュール図形と呼ぶ。
【００１５】
図６はモジュール一覧画面３０２にモジュールを表示するためにメモリに記憶するモジュール一覧表示テーブルの構成を示した。モジュール一覧表示テーブルのレコード構成を６０１に示した。レコード６０１はモジュール一覧画面３０２に表示したモジュール図形の識別子を記憶するモジュール表示ＩＤ６０２、モジュール一覧画面３０２に表示したモジュール図形がモジュール情報テーブル４０１に記憶したどのモジュールを表示したのかを識別するモジュール名６０３とから構成される。
【００１６】
処理２０５は編集するプログラムが新規作成なのか、既存プログラムの編集なのかを判定する。新規プログラムの作成ならば処理２０７へ制御が渡る。既存プログラムの編集ならば処理２０６に制御が渡る。
【００１７】
処理２０６は指定されたプログラムをプログラム情報１０９から読み込むみ本システムがアクセス可能なプログラム情報テーブルに展開してメモリーにロードする。メモリーにロードされたプログラム情報テーブル１０９の構成を図７に示した。
【００１８】
プログラム情報テーブルのレコード構成を７０１に示した。レコード７０１はプログラムの名称を記憶するプログラム名７０２、プログラムを構成するモジュールリストのポインタを記憶するモジュールリストポインタ７０３、プログラムを構成するモジュール間を接続するコネクタリストのポインタを記憶するコネクタリストポインタ７０４から構成される。モジュールリストポインタ７０３の記憶先のモジュールリストの構成を７０５に示した。レコード７０５はモジュールの名称を記憶するモジュール名７０６と、前記モジュールがモジュール情報テーブルに記憶したどのモジュールから生成したかを記憶する生成元モジュール名７０７と、プログラムを構成するモジュールをプログラム編集領域３０３に表示するための図形種、色、位置等を記憶する表示情報７０８から構成される。コネクタリストポインタ７０４の記憶先のコネクタリストの構成を７０９に示した。レコード７０９はコネクタの名称を記憶するコネクタ名７１０と、前記コネクタのアドレスを記憶するアドレス７１１と、前記コネクタの実行する契機を記憶するイベント名７１２と、コネクタの接続元を記憶する接続元モジュール名７１３と、コネクタの接続先を記憶する接続先モジュール名７１４と、コネクタをプログラム編集領域３０３に表示するための図形種、色、位置等を記憶する表示情報７１５から構成される。
【００１９】
処理２０７は処理２０６がプログラムをプログラム情報１０９から読み込み、メモリーに展開したプログラム情報テーブルのレコード７０１単位ごとにプログラムを構成するモジュールの表示情報７０８とコネクタの表示情報７１５を読み込み、表示情報７０８と７１５に則り図形をプログラム編集領域３０３に表示する。図８にプログラムをプログラム編集領域３０３に表示した一例を示した。
【００２０】
プログラム編集領域３０３には３つのモジュール（８０１、８０２、８０３）と１つのコネクタ（８０４）を表示している。プログラム編集領域３０３に表示された図形を編集モジュール図形と呼ぶ。図９にプログラム編集領域３０３にプログラムを表示するためにメモリに記憶するプログラム表示テーブルの構成を示した。
【００２１】
プログラム表示テーブルのレコード構成を９０１に示した。レコード９０１はプログラム編集領域３０３に表示した編集モジュール図形の識別子を記憶する編集モジュール表示ＩＤ９０２と、プログラム編集領域３０３に表示した編集モジュール図形がプログラム情報テーブル７０１のモジュールリストポインタ７０３の記憶先であるモジュールリストのどのモジュールを表示したのかを識別するモジュール名９０３と、プログラム編集領域３０３に表示したコネクタ図形の識別子を記憶するコネクタ表示ＩＤ９０４と、プログラム編集領域３０３に表示したコネクタ図形がプログラム情報テーブル７０１のコネクタリストポインタ７０４の記憶先であるコネクタリストのどのコネクタを表示したのかを識別するコネクタ名９０５とから構成される。
【００２２】
処理２０８はプログラムの編集処理を行なう。処理２０８は、後に、図１０を用いて詳細に説明する。処理２０９は利用者から入力された本システムへの要求を判定する。プログラム編集の終了なら処理２１０、プログラム編集の継続なら処理２０８へ制御を渡す。
【００２３】
処理２１０は処理２０８で編集したプログラムを格納する。処理２１１は処理２１０で格納したプログラムを実行するためメモリーにロードする。処理２１２は処理２１１がメモリーにロードしたプログラムを解釈／実行１０７が解釈し実行する。
【００２４】
次に、処理２０８を詳細に説明をする。処理２０８の詳細フローを図１０に示した。図１０は利用者からのプログラム編集要求を受付、解析し、プログラム編集コマンド処理に制御を振り分けるまでを示した。プログラム編集コマンド処理の種類は生成処理、削除処理、複写処理、ナビゲートプログラム検索処理、及び、図形移動処理がある。以下、処理を説明する。
【００２５】
処理１００１はプログラム編集画面３０１とモジュール一覧画面３０２に対して編集操作の入力を受け付ける。編集操作例を図１１に示した。波線枠で囲んだ領域１１０１にモジュール間を接続する操作例を示した。接続するモジュールはプログラム編集領域３０３上に表示したユーザモジュール９０１とユーザモジュール９０３である。接続操作は接続元のユーザモジュール９０１をマウスでクリック（１１０２）したまま移動し、接続先のユーザモジュール９０３上でユーザモジュール９０１を重ねる（１１０３）。前記操作例をもとに図１０の説明を続ける。
【００２６】
処理１００２は編集操作の対象となった画面を判定する。プログラム編集画面３０１への操作ならば処理１００３へ、モジュール一覧画面３０２ならば処理１００４に制御が渡る。処理１００４の生成処理は後述図を用いて詳細に説明する。前記操作例ではプログラム編集領域３０３でユーザモジュール９０１をマウスでクリックしたので処理１００３に制御が渡る。
【００２７】
処理１００３は入力対象を判定する。入力対象が編集モジュール図形（以下接続元モジュール図形と呼ぶ）ならば処理１００５へ、コマンドなら処理１０１４に制御が渡る。前記操作例ではユーザモジュール９０１をクリックしたので処理１００５に制御が渡る。処理１００５の説明の前に処理１０１４から１０１６の説明をする。
【００２８】
処理１０１４は処理１００３で判定したコマンドの種類を判定する。前記コマンドが削除コマンドなら処理１０１５で接続元モジュール図形を削除する。あるいは、前記コマンドが複写コマンドなら処理１０１６で接続元モジュール図形を複写する。本実施例では処理１０１５と処理１０１６の詳細な説明は省略する。これより、処理１００５の説明をする。
【００２９】
処理１００５は接続元モジュール図形からモジュール名を取得する。取得する方法は前記接続元モジュール図形の表示ＩＤとプログラム表示テーブルのレコード９０１のモジュール表示ＩＤ９０２に記憶されている編集モジュール表示ＩＤとを比較する。前記表示ＩＤと前記編集モジュール表示ＩＤと合致したプログラム表示テーブルのレコード９０１からモジュール名９０３に記憶されているモジュール名を取得する。取得したモジュール名を接続元モジュール名とする。
【００３０】
処理１００６は接続元モジュール図形が移動されたかを判定する。選択のみで他の編集モジュール図形が再選択された場合には本フローを終了し、接続元モジュール図形を移動した場合は処理１００７に制御が渡る。前記操作例ではプログラム編集領域３０３でユーザモジュール９０１を移動したので処理１００７に制御が渡る。
【００３１】
処理１００７は接続元モジュール図形が移動中かどうか判定する。移動中なら処理１００７を繰り返し行なう。図形の移動が終わったら処理１００８に制御が渡る。
【００３２】
処理１００８は、接続元モジュール図形の移動先がプログラム編集領域３０３内かどうかを判定する。プログラム編集領域３０３内なら処理１００９へ、プログラム編集領域３０３外なら本フローを終了する。前記操作例では、プログラム編集領域３０３でユーザモジュール９０１を移動したので処理１００９に制御が渡る。
【００３３】
処理１００９は接続元モジュール図形の移動先に他の編集モジュール図形（以下接続先モジュール図形と呼ぶ）が表示されているかどうを判定する。移動先に接続先モジュール図形が表示されていない場合は処理１０１１へ、移動先に接続先モジュール図形が表示されている場合は処理１０１０へ制御を渡す。前記操作例ではプログラム編集領域３０３でユーザモジュール９０１をプログラム編集領域３０３内のユーザモジュール９０３を重ねたので処理１０１０に制御が渡る。
【００３４】
処理１０１０は接続先モジュール図形のモジュール名を取得する。取得する方法は接続先モジュール図形の表示ＩＤとプログラム表示テーブルのレコード９０１の編集モジュール表示ＩＤ９０２に記憶されているモジュール表示ＩＤとを比較する。前記表示ＩＤと前記編集モジュール表示ＩＤと合致したプログラム表示テーブルのレコード９０１からモジュール名９０３に記憶されているモジュール名を取得する。取得したモジュール名を接続先モジュール名とする。
【００３５】
処理１０１１は接続元モジュール図形の移動先に接続先モジュール図形がないので接続元モジュール図形の表示位置の移動として処理する。本実施例では処理１０１１の詳細な説明は省略する。
【００３６】
処理１０１２は接続元モジュール名と接続先モジュール名とからコネクタを生成するナビゲートプログラムの検索処理を行なう。処理１０１２は図を用いて詳細に説明する。
【００３７】
図１２に処理１０１２の詳細フローを示した。処理１０１２はナビゲータ１０５のナビゲートプログラム検索処理である。ナビゲートプログラム検索処理は処理１００５で取得した接続元モジュール名と処理１０１０で取得した接続先モジュール名とから、接続元モジュールと接続先モジュールを接続するコネクタを生成するナビゲートプログラムの検索する。以下、図１２を詳細に説明する。
【００３８】
処理１２０１は、コネクタを生成するナビゲートプログラムをナビゲート情報１１０を読み込み本システムがアクセス可能なナビゲート情報テーブルに展開してメモリーにロードする。メモリーにロードされたナビゲート情報テーブル１１０の構成を図１３に示した。ナビゲート情報テーブルのレコード構成を１３０１に示した。レコード１３０１は接続元モジュールの名称を記憶する接続元モジュール名１３０２、接続先モジュールの名称を記憶する接続先モジュール名１３０３、接続元モジュールと接続先モジュールを接続するコネクタを生成するナビゲートプログラムの名称を記憶するナビゲート名１３０３、前記ナビゲートプログラムの所在を示すアドレス１３０５から構成される。
【００３９】
処理１２０２は処理１２０１がメモリーに展開したナビゲート情報テーブルのレコード１３０１の接続元モジュール名１３０２に記憶されている接続元モジュール名と処理１００５で取得した接続元モジュール名とを比較する。接続元モジュール名１３０２に記憶されている接続元モジュール名と処理１００５で取得した接続元モジュール名が合致したナビゲート情報テーブルのレコード１３０１を全て記憶する。
【００４０】
次に、前記記憶したナビゲート情報テーブルのレコード１３０１の接続先モジュール名１３０３に記憶されている接続先モジュール名と処理１０１０で取得した接続先モジュール名とを比較する。接続先モジュール名１３０３に記憶されている接続先モジュール名と処理１０１０で取得した接続先モジュール名が合致したナビゲート情報テーブルのナビゲート名１３０４に記憶されたナビゲート名を全て取得する。
【００４１】
処理１２０３は処理１２０２で取得したナビゲート名を一覧表示する。図１４にナビゲート名を一覧表示した画面の一例を示した。
【００４２】
ナビゲート名一覧画面１４０１はナビゲータ１０５からの誘導メッセージを表示するメッセージ１４０２、処理１２０２で取得したナビゲート名を表示するナビゲート名リスト１４０３、ナビゲータ１０５の有する機能を選択させるボタンを表示するコマンドボタン群１４０４とから構成される。ボタンの種類は選択コマンドボタン１４０６、キャンセルコマンドボタン１４０７である。ナビゲート名リスト１４０３には一例として３つのナビゲート名を処理１２０２で取得した結果として表示している。
【００４３】
処理１２０４は処理１２０３がナビゲート名リスト１４０３に表示したナビゲート名を選択操作する入力を受け付ける。選択操作はナビゲート名リスト１４０３に表示したナビゲート名をマウスでクリックする。図１４では３行目に表示されているナビゲート名がマウスでクリック（１４０５）されている。
【００４４】
処理１２０５は処理１２０４でクリックしたナビゲート名を取得する。処理１２０６は処理１２０３がコマンドボタン群１４０４に表示したナビゲータ１０５の有する機能を選択操作する入力を受け付ける。選択操作はコマンドボタン群に表示されたボタンをマウスでクリックする。図１４では選択コマンドボタン１４０６がマウスでクリック（１４０８）されている。
【００４５】
処理１２０７は処理１２０６で入力されたコマンドを判定する。選択コマンドボタン１４０６が入力された場合は処理１２０８へ制御を渡す。キャンセルコマンドボタン１４０７が入力された場合は本フローを終了する。処理１２０８はナビゲートプログラムを実行する。処理１２０８は図を用いて詳細に説明する。
【００４６】
図１５に処理１２０８の詳細フローを示した。処理１２０８はナビゲータ１０５のナビゲートプログラム実行処理である。以下、図１５を詳細に説明する。処理１５０１は処理１２０５で取得したナビゲート名と、処理１２０１がメモリーに展開したナビゲート情報テーブルのレコード１３０１のナビゲート名１３０４に記憶されているナビゲート名と比較する。ナビゲート名１３０４に記憶されているナビゲート名と処理１２０５で取得したナビゲート名が合致したナビゲート情報テーブルのレコード１３０１のアドレス１３０５に記憶されているアドレスを取得する。取得したアドレスからナビゲートプログラムを読み込む。
【００４７】
処理１５０２は処理１５０１の読み込んだナビゲートプログラムを実行し画面を表示する。図１６にナビゲートプログラムの実行画面の一例を示した。ナビゲートプログラム画面１６０１はナビゲートプログラムからの誘導メッセージを表示するメッセージ１６０２、ナビゲートプログラムの有する機能を表現した図形群を表示するナビゲート領域１６０３、ナビゲートを誘導するボタンを表示するコマンドボタン群１６０４とから構成される。ボタンの種類は次へコマンドボタン１４０７、キャンセルコマンドボタン１４０６である。ナビゲート領域１６０３には一例として５つのナビゲート機能を図形で表示している。
【００４８】
処理１５０３は処理１５０１がナビゲート領域１６０３に表示した図形群を選択操作する入力を受け付ける。選択操作はナビゲート領域１６０３に表示した前記図形群から任意の図形をマウスでクリックする。図１５では”処理１”と表示された図形１６０５がマウスでクリック（１６０８）されている。
【００４９】
処理１５０４は処理１５０３で図形をクリックすることにより、図形にバインドされているナビゲート処理名を取得する。ナビゲート処理の構造を図１７に示した。ナビゲート処理は波線枠１７０１で示した構造を持つ。前記構造はナビゲート処理の型１７０２と処理名１７０３と処理内容１７０４からなる。処理内容１７０４は複数の文１７０５からなる。文１７０５の一例を波線枠１７０７で示した。文１７０７は代入文である。前記代入文の文法の一例を波線枠１７０７に示した。文法１７０９はモジュール名と変数をピリオドで接続した文字列を左辺にとり値とイコールで結んだものである。波線枠１７１０は図形１６０５にバインドされているナビゲート処理の一例を示した。処理１５０３ではナビゲート処理１７１０からをナビゲート処理名１７１１を取得する。
【００５０】
処理１５０５は処理１５０２がコマンドボタン群１６０４に表示したナビゲートプログラムの有する機能を選択操作する入力を受け付ける。選択操作はコマンドボタン群に表示されたボタンをマウスでクリックする。図１６では次ヘコマンドボタン１６０７がマウスでクリック（１６０９）されている。
【００５１】
処理１５０６は処理１５０５で入力されたコマンドを判定する。次へコマンドボタン１６０６が入力された場合は処理１５０７へ制御を渡す。キャンセルコマンドボタン１６０６が入力された場合は本フローを終了する。
【００５２】
処理１５０７は次へコマンドボタン１６０６にバインドされているナビゲートプログラムがあれば処理１５０１に、なければ処理１５０８に制御を渡す。
【００５３】
処理１５０８は処理１５０４で取得したナビゲート処理名からコネクタ生成する。処理１５０８は図を用いて詳細に説明する。
【００５４】
図１８に処理１５０８の詳細フローを示した。処理１５０８はコネクタ生成１０６コネクタを生成する処理である。以下、図１８を詳細に説明する。
【００５５】
処理１８０１は生成するコネクタの実行契機を設定する画面を表示する。図１９に実行契機設定画面を示した。
【００５６】
実行契機設定画面１９０１は誘導メッセージを表示するメッセージ１９０２、実行契機を設定する実行契機設定領域１９０３、実行契機設定画面１９０１を操作するボタンを表示するコマンドボタン群１９０４とから構成される。ボタンの種類は追加コマンドボタン１９１３、削除コマンドボタン１９１４、キャンセルコマンドボタン１９１５、完了コマンドボタン１９１６である。実行契機設定領域１９０３にはプログラム編集領域３０３内に表示している編集モジュール図形から該当するモジュールの型をモジュール情報テーブルのレコード４０１のモジュール型４０２に記憶されているモジュールの型を検索し、検索とした前記モジュールの型を一覧表示するモジュールの型リスト１９０５と、モジュールの型リスト１９０５に表示された型を選択することによって、前記型をもつプログラム編集領域３０３内に表示している編集モジュール図形から該当するモジュール名をモジュール情報テーブルのレコード４０１のモジュール名４０３に記憶されているモジュール名を検索し、検索した前記モジュール名を一覧表示するモジュール名リスト１９０７と、モジュール名リスト１９０７に表示されたモジュール名を選択することによって、前記モジュール名からモジュール情報テーブルのレコード４０１のイベントリストポインタ４０６からイベント名４１４に記憶されているイベント名を一覧表示するイベント名リスト１９０９と、モジュールの型リスト１９０５から任意の型とモジュール名リスト１９０７から任意のモジュール名とイベント名リスト１９０９から任意のイベント名を指定することにより、実行契機を表示する実行契機リスト１９１１とからなる。
【００５７】
処理１８０２は処理１８０１が実行契機設定領域１９０３に表示したモジュールの型リスト１９０５、モジュール名リスト１９０７、イベント名リスト１９０９を選択操作する入力を受け付ける。選択操作はモジュールの型リスト１９０５に表示された任意の型（１９０６）をマウスでクリック（１９１７）し、次に、モジュール名リスト１９０７に表示された任意のモジュール名（１９０８）をマウスでクリック（１９１８）後、イベント名リスト１９０９に表示された任意のイベント名（１９１０）をマウスでクリック（１９１９）する。
【００５８】
処理１８０３は処理１８０２で入力した選択対象を判定する。モジュールの型リスト１９０５に表示された任意の型をマウスでクリックした場合は処理１８０４へ、モジュール名リスト１９０７に表示された任意のモジュール名をマウスでクリックした場合は処理１８０５へ、イベント名リスト１９０９に表示された任意のイベント名をマウスでクリックした場合は処理１８０６へ制御を渡す。
【００５９】
処理１８０４は処理１２０３でクリックしたモジュールの型を取得する。処理１８０５は処理１２０３でクリックしたモジュール名を取得する。処理１８０６は処理１２０３でクリックしたイベント名を取得する。
【００６０】
処理１８０７は実行契機となるモジュール名とイベント名の入力が完了したかどうか判定する。入力が完了ならば処理１８０８へ、未完ならば処理１８０２に制御を渡す。
【００６１】
処理１８０８は処理１８０４、処理１８０５、処理１８０６で取得したモジュールの型、モジュール名、イベント名から実行契機（１９１２）を実行契機リスト１９１１に表示する。
【００６２】
処理１８０９は処理１８０８がコマンドボタン群１９０４に表示した実行契機設定画面１９０１の有する機能を選択操作する入力を受け付ける。選択操作はコマンドボタン群に表示されたボタンをマウスでクリックする。図１９では追加コマンドボタン１９１６がマウスでクリック（１９２０）されている。
【００６３】
処理１８１０は処理１８０９で入力されたコマンドを判定する。追加コマンドボタン１９１３が入力された場合は処理１８１２へ、削除コマンドボタン１９１４が入力された場合は処理１８１１へ制御を渡す。キャンセルコマンドボタン１９１５が入力された場合は本フローを終了する。
【００６４】
処理１８１１は実行契機リスト１９１１に表示にした実行契機を削除する。処理１８１１の詳細な説明は省略する。処理１８１２は生成するコネクタのひな形を生成する。図２０にコネクタのひな形を示した。
【００６５】
コネクタのひな形は波線枠２００１で示した構造を持つ。前記構造はコネクタの型２００２とコネクタ名２００３とコネクタの処理内容２００４からなる。コネクタの処理内容２００４は複数のコール文２００５からなる。
【００６６】
処理１８１３は処理１８１２の生成したコネクタの型２００２とコネクタ名２００３を設定する。コネクタ２００６にコネクタの型とコネクタ名を設定した一例を示す。コネクタの型とコネクタ名はデフォルトで設定される。コネクタの型は”ＴｙｐｅＤｅｆａｕｌｔ”となり、コネクタ名は文字列”Ｃｏｎｎｅｃｔ”にコネクタ１１２内に格納されている数をインデックスとして付加した名称とする。例えば、コネクタが既に９９個あれば”Ｃｏｎｎｅｃｔ１０１”（２００７）となる。
【００６７】
処理１８１４は処理１５０４で取得したナビゲート処理名をコネクタの処理内容２００４のコール文として追加する。波線枠２００９に処理１５０４で取得したナビゲート処理名”Ｎａｖｉｇａｔｅ１＿Ｐｒｏｃ１（）”がコール文として追加されている。処理１８１５は処理１８１２から１８１４で生成したコネクタをコネクタ１１２に格納する。
【００６８】
処理１８１６は処理２０６がメモリーに展開したプログラム情報テーブルのレコード７０１のコネクタリストポインタ７０４のさすレコード７０９を追加し、追加したレコードのコネクタ名７１０に処理１８１３で生成したコネクタ名を記憶し、レコード７０９のアドレス７１１に処理１８１５で格納したコネクタ１１２のアドレスを記憶し、レコード７０９のイベント７１２に処理１８０６で取得したイベント名を記憶し、レコード７０９の接続元モジュール７１３に処理１００５で取得した接続元モジュール名を記憶し、レコード７０９の接続先モジュール７１４に処理１０１１で取得した接続先モジュール名を記憶する。
【００６９】
処理１８１７は接続元モジュール図形と接続先モジュール図形間にコネクト図形をプログラム編集領域３０３に表示する。図１１の波線枠１１０４に表示の一例を示した。矢印１１０５が表示されたコネクト図形である。
【００７０】
これより、処理１００４の生成処理を図を用いて詳細に説明する。図２１に処理１００４のフローを示した。処理２１０１はモジュール表示領域３０６で入力対象となったモジュール図形からモジュール名を取得する。取得する方法は前記モジュール図形の表示ＩＤとモジュール表示テーブルのレコード６０１のモジュール表示ＩＤ９０２に記憶されているモジュール表示ＩＤとを比較する。前記表示ＩＤと前記モジュール表示ＩＤと合致したモジュール表示テーブルのレコード６０１からモジュール名９０３に記憶されているモジュール名を取得する。取得したモジュール名を継承モジュール名とする。
【００７１】
処理２１０２はモジュール図形が移動されたかを判定する。選択のみで他のモジュール図形が再選択された場合には本フローを終了し、モジュール図形を移動した場合は処理２１０３に制御が渡る。
【００７２】
処理２１０３はモジュール図形が移動中かどうか判定する。移動中なら処理２１０３を繰り返し行なう。図形の移動が終わったら処理２１０４に制御が渡る。処理２１０４はモジュール図形の移動先がプログラム編集領域３０３内かどうかを判定する。プログラム編集領域３０３内なら処理２１０５へ、プログラム編集領域３０３外なら本フローを終了する。
【００７３】
処理２１０５はモジュール図形の移動先に編集モジュール図形が表示されているかどうを判定する。移動先にモジュール図形が表示されていない場合は、処理２１０６へ、移動先にモジュール図形が表示されている場合は本フローを終了する。処理２１０６は生成されるモジュール名の入力を受け付ける。
【００７４】
処理２１０７はプログラム情報テーブルのレコード７０１のモジュールリスト７０３のさすレコード７０５を追加し、追加したレコードのモジュールの名称を記憶するモジュール名７０６に処理２１０１で取得した継承モジュール名、どのモジュールから生成したかを記憶する生成元モジュール名７０７に２１０１で取得した継承モジュール名、プログラム編集領域３０３に表示する表示情報７０８に前記移動先の位置を記憶する。
【００７５】
以上説明したように、表示装置にビジュアル表示されたモジュールを操作することにより、記憶装置に格納されているモジュール間の組み合わせを誘導するナビゲートプログラムを検索表示し、表示装置に表示されたナビゲートプログラム群から任意のナビゲートプログラムを撰択するとナビゲートプログラムが動作し、ナビゲートプログラムはモジュール間の組み合わせを誘導するパラメータを出力し、このパラメータを指定することにより、モジュール間を組み合わせを可能とするコネクタを生成され、生成したコネクタを記憶装置に格納することが可能になる。
【００７６】
図２２は図１２にナビゲートプログラムの検索方法と前記検索結果の表示、及び、ナビゲートプログラムが自情報処理装置外にある場合の処理を付加したフローである。図１２で説明した処理は省略する。
【００７７】
処理２２０１は、コネクタを生成するナビゲートプログラムをナビゲート情報１１０を読み込み本システムがアクセス可能なナビゲート情報テーブルに展開してメモリーにロードする。メモリーにロードされたナビゲート情報テーブルの構成を図２３に示した。前記ナビゲート情報テーブルは図１３を拡張したものである。前記ナビゲート情報テーブルの拡張点を説明する。レコード２３０１に頻度２３０２、許可レベル２３０３を追加した。頻度２３０２はレコード２３０１が撰択された回数を管理する。許可レベル２３０３は利用者によって実行を制限するフラグである。前記フラグはN段階に設定できる。
【００７８】
処理２２０２は処理１２０２と同様の処理である。処理２２０３は本システムを利用する利用者のユーザレベルをユーザレベル１１２から取得する。
【００７９】
処理２２０４は処理処理２２０２で取得したナビゲート情報テーブルのレコード２３０１の許可レベル２３０３に記憶した許可レベルと処理２２０３で取得したユーザレベルとを比較し、前記ユーザレベルと同じかまたは低い許可レベルを持つナビゲート情報テーブルのレコード２３０１のナビゲート名１３０４からナビゲート名を取得する。
【００８０】
処理２２０５は処理２２０４で取得したナビゲート名をナビゲート情報テーブルのレコード２３０１の頻度２３０２に記憶した頻度の高い順に一覧表示する。処理２２０６は処理１２０４との処理同様である。
【００８１】
処理２２０７は処理２２０６で選択したナビゲート名からナビゲート情報テーブルのレコード２３０１の頻度２３０２の記憶する値に１を加算する。
【００８２】
処理２２０８は処理１２０５と同様の処理である。処理２２０９は処理１２０６の処理と同様である。処理２２１０は処理１２０７の処理と同様である。
【００８３】
処理２２１１は処理２２０６で選択したナビゲート名からナビゲート情報テーブルのレコード２３０１のアドレス１３０５の記憶するアドレスを判定する。前記アドレスが他情報処理装置上ならば処理２２１３へ、自情報処理装置上ならば処理２２１２へ制御を渡す。
【００８４】
処理２２１２は処理１２０８の処理と同様である。処理２２１３前記アドレスより該当する情報処理装置にナビゲートプログラムの読み込む。
【００８５】
以上説明したように、記憶装置に格納されているナビゲートプログラムの検索を利用者の権限に応じて行い、検索したナビゲートプログラム群を撰択頻度の多い順に応じて表示装置に表示することが可能になる。また、自情報処理装置外にある記憶装置に格納されているナビゲートプログラムを読み込むことが可能になる。
【図面の簡単な説明】
【００８６】
【図１】本発明の一実施例を示す機能構成図。
【図２】本発明の一実施例を示す処理フロー
【図３】本発明の画面構成。
【図４】本発明がモジュールを管理するモジュール情報テーブル。
【図５】本発明がモジュールを表示する画面。
【図６】本発明がモジュールを表示するテーブル。
【図７】本発明がプログラムを管理するプログラム情報テーブル。
【図８】本発明がプログラムを表示する画面。
【図９】本発明がプログラムを表示するテーブル。
【図１０】本発明がプログラム編集をする処理フロー。
【図１１】本発明のプログラミング方法。
【図１２】本発明がナビゲートプログラムを検索する処理フロー。
【図１３】本発明がナビゲートプログラムを管理するナビゲート情報テーブル。
【図１４】本発明のナビゲート名一覧画面。
【図１５】本発明がナビゲートプログラムを実行する処理フロー。
【図１６】本発明のナビゲート画面。
【図１７】本発明のナビゲート処理の構造。
【図１８】本発明がコネクタを生成する処理フロー。
【図１９】本発明の実行契機設定画面
【図２０】本発明のコネクタの構造
【図２１】本発明がモジュールを生成する処理フロー。
【図２２】本発明がナビゲートプログラムを検索する処理フロー。
【図２３】本発明がナビゲートプログラムを管理するナビゲート情報テーブル。
【符号の説明】
【００８７】
１０１・・・入力装置、 １０２・・・要求入力、１０３・・・解析制御、 １０４・・・プログラム編集、１０５・・・ナビゲート、 １０６・・・コネクタ生成、１０７・・・解釈／実行、 １０８・・・モジュール情報、１０９・・・プログラム情報、１１０・・・ナビゲート情報、１１１・・・ユーザレベル、 １１２・・・コネクタ、１１３・・・応答出力、 １１４・・・表示装置、１１５・・・情報処理装置、 １１６・・・制御線、１１７・・・データ入出力線、１１８・・・ネットワーク回線
【図１】
2005259169.tif 000003
【図２】
2005259169.tif 000004
【図３】
2005259169.tif 000005
【図４】
2005259169.tif 000006
【図５】
2005259169.tif 000007
【図６】
2005259169.tif 000008
【図７】
2005259169.tif 000009
【図８】
2005259169.tif 000010
【図９】
2005259169.tif 000011
【図１０】
2005259169.tif 000012
【図１１】
2005259169.tif 000013
【図１２】
2005259169.tif 000014
【図１３】
2005259169.tif 000015
【図１４】
2005259169.tif 000016
【図１５】
2005259169.tif 000017
【図１６】
2005259169.tif 000018
【図１７】
2005259169.tif 000019
【図１８】
2005259169.tif 000020
【図１９】
2005259169.tif 000021
【図２０】
2005259169.tif 000022
【図２１】
2005259169.tif 000023
【図２２】
2005259169.tif 000024
【図２３】
2005259169.tif 000025