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