JP2005259169A - プログラム作成方法 - Google Patents

プログラム作成方法 Download PDF

Info

Publication number
JP2005259169A
JP2005259169A JP2005130743A JP2005130743A JP2005259169A JP 2005259169 A JP2005259169 A JP 2005259169A JP 2005130743 A JP2005130743 A JP 2005130743A JP 2005130743 A JP2005130743 A JP 2005130743A JP 2005259169 A JP2005259169 A JP 2005259169A
Authority
JP
Japan
Prior art keywords
program
module
navigation
information table
name
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.)
Pending
Application number
JP2005130743A
Other languages
English (en)
Inventor
Kazuhiko Sakamoto
和彦 坂元
Tetsuya Masuishi
哲也 増石
Takashi Oota
隆 大小田
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2005130743A priority Critical patent/JP2005259169A/ja
Publication of JP2005259169A publication Critical patent/JP2005259169A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

【課題】プログラムモジュール間の組み合わせをする際に、予め用意したププログラムモジュールの組み合わせを誘導するプログラム表示し、撰択するだけで組み合わせプログラムを生成する。
【解決手段】入力装置からの指示により、記憶装置に格納されているプログラムモジュールを表示装置に表示し、入力装置から入力された命令により、記憶装置に格納されているプログラムモジュール間の組み合わせを誘導するナビゲートプログラムを検索し、検索したナビゲートプログラム群を表示装置に表示し、表示したナビゲートプログラム群から任意のナビゲートプログラムを撰択し、ナビゲートプログラムを動作させ、プログラムモジュール間の組み合わせをするためにナビゲートプログラムの出力する誘導パラメータを指定し、入力された前記誘導パラメータによって、プログラムモジュール間を組み合わせをするコネクトプログラムモジュールを生成して、記憶装置に格納する。
【選択図】図1

Description

本発明は、プログラムモジュールを組み合わせてプログラムを作成する方法に係わり、特にプログラムモジュールの組み合わせの候補をプログラムモジュール間の関係より検索し、検索した候補を撰択することでプログラムモジュール間の組み合わせを特定し、コネクタモジュールを生成する方法に関する。
従来、プログラムモジュールを組み合わせてプログラムを作成する方法として、最も近い従来技術はマイクロソフト株式会社のVisual Basicがある。以下に説明する Visual Basicの技術はマイクロソフト株式会社が1993年5月20日に発行したMicrosoft Visual Basic (Visual Basicは登録商標)Programming System for Windows(Windowsは登録商標) プログラミングガイドによるものである。
Visual Basicはアプリケーションを3つの手順で作成する。まずユーザインタフェースの設計を行い、次にプロパティと定義された変数に値を設定をし、最後にBasicコードを記述する。具体的に説明するとユーザインタフェースの設計はフォームと呼ばれるウィンドウにコントロールと呼ばれるプログラムモジュール、例えばテキストを入力する機能を持ったテキストコントロールを配置する。プロパティの設定はフォームに配置したコントロールの位置や色などの外観や、動作を決める変数に値を設定する。Basicコードにはフォームに配置されたコントロール対して何らかのイベントが発生したとき実行されるプログラムを記述する。例えばユーザがマウスでボタンコントロールをクリックすると、そのボタンコントロールに対してクリックイベントが発生する。前記クリックイベントに対応するクリックイベントプロシジャーをBasicコードで記述する。以上説明したように、Visual Basicはアプリケーションをプログラムモジュール(フォーム、コントロール)とイベントの組み合わせごとにBasicコードを記述し作成する。
上記従来技術では、フォームに配置されたプログラムモジュール(フォーム、コントロール)のイベントプロシジャーはアプリケーションを作成する際に必ずBasicコードを記述しなければならないという問題があった。
本発明の目的は、プログラムモジュールのイベントプロシジャーの処理内容を予め用意し、プログラムモジュールをフォームに配置した後、プログラムモジュール間の組み合わせをする際に、予め用意したイベントプロシジャーの処理内容を表示し、撰択するだけで組み合わせプログラムを生成する方法を提供することである。
本発明のプログラム作成方法は、入力装置から入力された命令により、記憶装置に格納されているプログラムモジュールを表示装置にビジュアル表示するステップと、入力装置から入力された命令により、記憶装置に格納されているプログラムモジュール間の組み合わせを誘導するナビゲートプログラムを検索するステップと、検索したナビゲートプログラム群を表示装置に表示するステップと、表示装置に表示したナビゲートプログラム群から任意のナビゲートプログラムを入力装置から入力された命令により撰択するステップと、ナビゲートプログラムを動作させるステップと、プログラムモジュール間の組み合わせをするためにナビゲートプログラムの出力する誘導パラメータを入力装置から入力された命令により指定するステップと、入力装置から入力された前記誘導パラメータによって、プログラムモジュール間を組み合わせをするコネクタモジュールを生成するステップと、及び、生成したコネクタモジュールを記憶装置に格納するステップとからなる。
以上説明したように本発明では、表示装置にビジュアル表示されたプログラムモジュールを操作することにより、記憶装置に格納されているプログラムモジュール間の組み合わせを誘導するナビゲートプログラムを検索表示し、表示装置に表示されたナビゲートプログラム群から任意のナビゲートプログラムを撰択するとナビゲートプログラムが動作し、ナビゲートプログラムはプログラムモジュール間の組み合わせを誘導するパラメータを出力し、このパラメータを指定することにより、プログラムモジュール間を組み合わせを可能とするコネクトプログラムモジュールを生成され、生成したコネクトプログラムモジュールを記憶装置に格納することが可能になる。また、第2の実施例によれば、自情報処理装置外にある記憶装置に格納されているナビゲートプログラムを実行することが可能になる。また、第3の実施例では、記憶装置に格納されているナビゲートプログラムの検索を利用者の権限に応じて行い、検索したナビゲートプログラム群を撰択頻度の多い順に応じて表示装置に表示することが可能になる。
以下、本発明の一実施例を図面を用いて詳細に説明する。図1は本発明を実現するプログラム作成システムの機能構成の一例を示した。実線116は本システムの機能間の制御関係を示し、破線117は前記機能のデータ読み書き関係を示す。折れ線118はネットワークの接続回線を示す。利用者による要求はキーボードやポインティングデバイス等の入力装置101やネットワーク接続された計算機115を経て要求入力102により入力される。解析制御103は前記要求内容を解析し、結果にしたがってプログラム編集104、ナビゲータ105、コネクタ生成106、解釈/実行107のうち必要に応じた機能を呼び出し、結果を応答出力113に渡す。応答出力113は結果を表示装置114またはネットワーク接続された計算機115に出力する。プログラム編集104は編集対象となるプログラム情報109とプログラムの構成要素となるモジュール情報108の読み込み、書き出し、編集を行なう。ナビゲータ105は前記編集時にモジュールとモジュールとの組み合わせ方法を誘導するナビゲート情報110とナビゲート情報110の利用を利用者のレベルによって制限するユーザレベル111を読み込み、前記誘導を行なう。コネクタ生成106は前記誘導結果からモジュールとモジュールとの組み合わせるモジュールを生成し、生成したモジュール(以下コネクタと呼ぶ)をコネクタ112に書き込み、生成元となった組み合わせたモジュールと生成されたモジュールの関係をプログラム情報110に書き込む。解釈/実行107はプログラム情報109、モジュール情報108、コネクタ112を読み込み、解釈して実行をする。
図2は本システムの概略処理フローを示した。処理201は利用者から入力された本システムへの要求を判定する。プログラムの編集なら処理202、プログラムの実行なら処理211、終了なら本システムの処理を終了する。
処理202は本システムの初期画面を表示する。図3に本システム初期画面を示した。本システムの画面は2つから構成される。画面301はプログラムを編集するプログラミングエディタ画面、画面302はプログラムを構成するモジュールの一覧を図形で表示するモジュール一覧画面である。プログラム編集画面301はプログラムを表示、編集するプログラム編集領域303とプログラム編集領域303を前後にスクロールするスライダー304と左右にスクロールするスライダー305から構成される。モジュール一覧画面302はモジュールを図形で表示するモジュール表示領域306とモジュール表示領域306を左右にスクロールするスライダー307から構成される。
処理203はプログラムの構成要素となるモジュールをモジュール情報108を読み込み本システムがアクセス可能なモジュール情報テーブルに展開してメモリーにロードする。メモリーにロードされたモジュール情報テーブル108の構成を図4に示した。
モジュール情報テーブルのレコード構成を401に示した。レコード401はモジュールの型を記憶するモジュール型402、モジュールの名称を記憶するモジュール名403、モジュールの有する変数の一覧リストのポインタを記憶する変数リストポインタ404、モジュールの有する手続きの一覧リストのポインタを記憶する手続きリストポインタ405、モジュールの有するイベントの一覧リストのポインタを記憶するイベントリストポインタ406、モジュールをプログラム編集画面301に表示するための図形種、色、位置等を記憶する表示情報ポインタ407から構成される。変数リストポインタ404の記憶先の変数一覧リストの構成を408に示した。レコード408は変数の型を記憶する型409と変数の名称を記憶する変数名410から構成される。手続きリストポインタ405の記憶先の手続き一覧リストの構成を411に示した。レコード411は手続きの名称を記憶する手続き名412と手続きのアドレスを記憶するアドレス413から構成される。イベントリストポインタ406の記憶先のイベント一覧リストの構成を414に示した。レコード411はイベントの名称を記憶するイベント名414で構成される。
処理204は処理203がプログラムの構成要素となるモジュールをモジュール情報108から読み込み、メモリーに展開したモジュール情報テーブルのレコード401単位ごとに表示情報415を読み込み、表示情報415に則りモジュールを表した図形をモジュール表示領域306に表示する。
図5には、モジュールをモジュール一覧画面302に表示した一例を示した。モジュール表示領域306には4つのモジュールを表示している(破線501で囲んだ領域)。モジュール表示領域306に表示された図形をモジュール図形と呼ぶ。
図6はモジュール一覧画面302にモジュールを表示するためにメモリに記憶するモジュール一覧表示テーブルの構成を示した。モジュール一覧表示テーブルのレコード構成を601に示した。レコード601はモジュール一覧画面302に表示したモジュール図形の識別子を記憶するモジュール表示ID602、モジュール一覧画面302に表示したモジュール図形がモジュール情報テーブル401に記憶したどのモジュールを表示したのかを識別するモジュール名603とから構成される。
処理205は編集するプログラムが新規作成なのか、既存プログラムの編集なのかを判定する。新規プログラムの作成ならば処理207へ制御が渡る。既存プログラムの編集ならば処理206に制御が渡る。
処理206は指定されたプログラムをプログラム情報109から読み込むみ本システムがアクセス可能なプログラム情報テーブルに展開してメモリーにロードする。メモリーにロードされたプログラム情報テーブル109の構成を図7に示した。
プログラム情報テーブルのレコード構成を701に示した。レコード701はプログラムの名称を記憶するプログラム名702、プログラムを構成するモジュールリストのポインタを記憶するモジュールリストポインタ703、プログラムを構成するモジュール間を接続するコネクタリストのポインタを記憶するコネクタリストポインタ704から構成される。モジュールリストポインタ703の記憶先のモジュールリストの構成を705に示した。レコード705はモジュールの名称を記憶するモジュール名706と、前記モジュールがモジュール情報テーブルに記憶したどのモジュールから生成したかを記憶する生成元モジュール名707と、プログラムを構成するモジュールをプログラム編集領域303に表示するための図形種、色、位置等を記憶する表示情報708から構成される。コネクタリストポインタ704の記憶先のコネクタリストの構成を709に示した。レコード709はコネクタの名称を記憶するコネクタ名710と、前記コネクタのアドレスを記憶するアドレス711と、前記コネクタの実行する契機を記憶するイベント名712と、コネクタの接続元を記憶する接続元モジュール名713と、コネクタの接続先を記憶する接続先モジュール名714と、コネクタをプログラム編集領域303に表示するための図形種、色、位置等を記憶する表示情報715から構成される。
処理207は処理206がプログラムをプログラム情報109から読み込み、メモリーに展開したプログラム情報テーブルのレコード701単位ごとにプログラムを構成するモジュールの表示情報708とコネクタの表示情報715を読み込み、表示情報708と715に則り図形をプログラム編集領域303に表示する。図8にプログラムをプログラム編集領域303に表示した一例を示した。
プログラム編集領域303には3つのモジュール(801、802、803)と1つのコネクタ(804)を表示している。プログラム編集領域303に表示された図形を編集モジュール図形と呼ぶ。図9にプログラム編集領域303にプログラムを表示するためにメモリに記憶するプログラム表示テーブルの構成を示した。
プログラム表示テーブルのレコード構成を901に示した。レコード901はプログラム編集領域303に表示した編集モジュール図形の識別子を記憶する編集モジュール表示ID902と、プログラム編集領域303に表示した編集モジュール図形がプログラム情報テーブル701のモジュールリストポインタ703の記憶先であるモジュールリストのどのモジュールを表示したのかを識別するモジュール名903と、プログラム編集領域303に表示したコネクタ図形の識別子を記憶するコネクタ表示ID904と、プログラム編集領域303に表示したコネクタ図形がプログラム情報テーブル701のコネクタリストポインタ704の記憶先であるコネクタリストのどのコネクタを表示したのかを識別するコネクタ名905とから構成される。
処理208はプログラムの編集処理を行なう。処理208は、後に、図10を用いて詳細に説明する。処理209は利用者から入力された本システムへの要求を判定する。プログラム編集の終了なら処理210、プログラム編集の継続なら処理208へ制御を渡す。
処理210は処理208で編集したプログラムを格納する。処理211は処理210で格納したプログラムを実行するためメモリーにロードする。処理212は処理211がメモリーにロードしたプログラムを解釈/実行107が解釈し実行する。
次に、処理208を詳細に説明をする。処理208の詳細フローを図10に示した。図10は利用者からのプログラム編集要求を受付、解析し、プログラム編集コマンド処理に制御を振り分けるまでを示した。プログラム編集コマンド処理の種類は生成処理、削除処理、複写処理、ナビゲートプログラム検索処理、及び、図形移動処理がある。以下、処理を説明する。
処理1001はプログラム編集画面301とモジュール一覧画面302に対して編集操作の入力を受け付ける。編集操作例を図11に示した。波線枠で囲んだ領域1101にモジュール間を接続する操作例を示した。接続するモジュールはプログラム編集領域303上に表示したユーザモジュール901とユーザモジュール903である。接続操作は接続元のユーザモジュール901をマウスでクリック(1102)したまま移動し、接続先のユーザモジュール903上でユーザモジュール901を重ねる(1103)。前記操作例をもとに図10の説明を続ける。
処理1002は編集操作の対象となった画面を判定する。プログラム編集画面301への操作ならば処理1003へ、モジュール一覧画面302ならば処理1004に制御が渡る。処理1004の生成処理は後述図を用いて詳細に説明する。前記操作例ではプログラム編集領域303でユーザモジュール901をマウスでクリックしたので処理1003に制御が渡る。
処理1003は入力対象を判定する。入力対象が編集モジュール図形(以下接続元モジュール図形と呼ぶ)ならば処理1005へ、コマンドなら処理1014に制御が渡る。前記操作例ではユーザモジュール901をクリックしたので処理1005に制御が渡る。処理1005の説明の前に処理1014から1016の説明をする。
処理1014は処理1003で判定したコマンドの種類を判定する。前記コマンドが削除コマンドなら処理1015で接続元モジュール図形を削除する。あるいは、前記コマンドが複写コマンドなら処理1016で接続元モジュール図形を複写する。本実施例では処理1015と処理1016の詳細な説明は省略する。これより、処理1005の説明をする。
処理1005は接続元モジュール図形からモジュール名を取得する。取得する方法は前記接続元モジュール図形の表示IDとプログラム表示テーブルのレコード901のモジュール表示ID902に記憶されている編集モジュール表示IDとを比較する。前記表示IDと前記編集モジュール表示IDと合致したプログラム表示テーブルのレコード901からモジュール名903に記憶されているモジュール名を取得する。取得したモジュール名を接続元モジュール名とする。
処理1006は接続元モジュール図形が移動されたかを判定する。選択のみで他の編集モジュール図形が再選択された場合には本フローを終了し、接続元モジュール図形を移動した場合は処理1007に制御が渡る。前記操作例ではプログラム編集領域303でユーザモジュール901を移動したので処理1007に制御が渡る。
処理1007は接続元モジュール図形が移動中かどうか判定する。移動中なら処理1007を繰り返し行なう。図形の移動が終わったら処理1008に制御が渡る。
処理1008は、接続元モジュール図形の移動先がプログラム編集領域303内かどうかを判定する。プログラム編集領域303内なら処理1009へ、プログラム編集領域303外なら本フローを終了する。前記操作例では、プログラム編集領域303でユーザモジュール901を移動したので処理1009に制御が渡る。
処理1009は接続元モジュール図形の移動先に他の編集モジュール図形(以下接続先モジュール図形と呼ぶ)が表示されているかどうを判定する。移動先に接続先モジュール図形が表示されていない場合は処理1011へ、移動先に接続先モジュール図形が表示されている場合は処理1010へ制御を渡す。前記操作例ではプログラム編集領域303でユーザモジュール901をプログラム編集領域303内のユーザモジュール903を重ねたので処理1010に制御が渡る。
処理1010は接続先モジュール図形のモジュール名を取得する。取得する方法は接続先モジュール図形の表示IDとプログラム表示テーブルのレコード901の編集モジュール表示ID902に記憶されているモジュール表示IDとを比較する。前記表示IDと前記編集モジュール表示IDと合致したプログラム表示テーブルのレコード901からモジュール名903に記憶されているモジュール名を取得する。取得したモジュール名を接続先モジュール名とする。
処理1011は接続元モジュール図形の移動先に接続先モジュール図形がないので接続元モジュール図形の表示位置の移動として処理する。本実施例では処理1011の詳細な説明は省略する。
処理1012は接続元モジュール名と接続先モジュール名とからコネクタを生成するナビゲートプログラムの検索処理を行なう。処理1012は図を用いて詳細に説明する。
図12に処理1012の詳細フローを示した。処理1012はナビゲータ105のナビゲートプログラム検索処理である。ナビゲートプログラム検索処理は処理1005で取得した接続元モジュール名と処理1010で取得した接続先モジュール名とから、接続元モジュールと接続先モジュールを接続するコネクタを生成するナビゲートプログラムの検索する。以下、図12を詳細に説明する。
処理1201は、コネクタを生成するナビゲートプログラムをナビゲート情報110を読み込み本システムがアクセス可能なナビゲート情報テーブルに展開してメモリーにロードする。メモリーにロードされたナビゲート情報テーブル110の構成を図13に示した。ナビゲート情報テーブルのレコード構成を1301に示した。レコード1301は接続元モジュールの名称を記憶する接続元モジュール名1302、接続先モジュールの名称を記憶する接続先モジュール名1303、接続元モジュールと接続先モジュールを接続するコネクタを生成するナビゲートプログラムの名称を記憶するナビゲート名1303、前記ナビゲートプログラムの所在を示すアドレス1305から構成される。
処理1202は処理1201がメモリーに展開したナビゲート情報テーブルのレコード1301の接続元モジュール名1302に記憶されている接続元モジュール名と処理1005で取得した接続元モジュール名とを比較する。接続元モジュール名1302に記憶されている接続元モジュール名と処理1005で取得した接続元モジュール名が合致したナビゲート情報テーブルのレコード1301を全て記憶する。
次に、前記記憶したナビゲート情報テーブルのレコード1301の接続先モジュール名1303に記憶されている接続先モジュール名と処理1010で取得した接続先モジュール名とを比較する。接続先モジュール名1303に記憶されている接続先モジュール名と処理1010で取得した接続先モジュール名が合致したナビゲート情報テーブルのナビゲート名1304に記憶されたナビゲート名を全て取得する。
処理1203は処理1202で取得したナビゲート名を一覧表示する。図14にナビゲート名を一覧表示した画面の一例を示した。
ナビゲート名一覧画面1401はナビゲータ105からの誘導メッセージを表示するメッセージ1402、処理1202で取得したナビゲート名を表示するナビゲート名リスト1403、ナビゲータ105の有する機能を選択させるボタンを表示するコマンドボタン群1404とから構成される。ボタンの種類は選択コマンドボタン1406、キャンセルコマンドボタン1407である。ナビゲート名リスト1403には一例として3つのナビゲート名を処理1202で取得した結果として表示している。
処理1204は処理1203がナビゲート名リスト1403に表示したナビゲート名を選択操作する入力を受け付ける。選択操作はナビゲート名リスト1403に表示したナビゲート名をマウスでクリックする。図14では3行目に表示されているナビゲート名がマウスでクリック(1405)されている。
処理1205は処理1204でクリックしたナビゲート名を取得する。処理1206は処理1203がコマンドボタン群1404に表示したナビゲータ105の有する機能を選択操作する入力を受け付ける。選択操作はコマンドボタン群に表示されたボタンをマウスでクリックする。図14では選択コマンドボタン1406がマウスでクリック(1408)されている。
処理1207は処理1206で入力されたコマンドを判定する。選択コマンドボタン1406が入力された場合は処理1208へ制御を渡す。キャンセルコマンドボタン1407が入力された場合は本フローを終了する。処理1208はナビゲートプログラムを実行する。処理1208は図を用いて詳細に説明する。
図15に処理1208の詳細フローを示した。処理1208はナビゲータ105のナビゲートプログラム実行処理である。以下、図15を詳細に説明する。処理1501は処理1205で取得したナビゲート名と、処理1201がメモリーに展開したナビゲート情報テーブルのレコード1301のナビゲート名1304に記憶されているナビゲート名と比較する。ナビゲート名1304に記憶されているナビゲート名と処理1205で取得したナビゲート名が合致したナビゲート情報テーブルのレコード1301のアドレス1305に記憶されているアドレスを取得する。取得したアドレスからナビゲートプログラムを読み込む。
処理1502は処理1501の読み込んだナビゲートプログラムを実行し画面を表示する。図16にナビゲートプログラムの実行画面の一例を示した。ナビゲートプログラム画面1601はナビゲートプログラムからの誘導メッセージを表示するメッセージ1602、ナビゲートプログラムの有する機能を表現した図形群を表示するナビゲート領域1603、ナビゲートを誘導するボタンを表示するコマンドボタン群1604とから構成される。ボタンの種類は次へコマンドボタン1407、キャンセルコマンドボタン1406である。ナビゲート領域1603には一例として5つのナビゲート機能を図形で表示している。
処理1503は処理1501がナビゲート領域1603に表示した図形群を選択操作する入力を受け付ける。選択操作はナビゲート領域1603に表示した前記図形群から任意の図形をマウスでクリックする。図15では”処理1”と表示された図形1605がマウスでクリック(1608)されている。
処理1504は処理1503で図形をクリックすることにより、図形にバインドされているナビゲート処理名を取得する。ナビゲート処理の構造を図17に示した。ナビゲート処理は波線枠1701で示した構造を持つ。前記構造はナビゲート処理の型1702と処理名1703と処理内容1704からなる。処理内容1704は複数の文1705からなる。文1705の一例を波線枠1707で示した。文1707は代入文である。前記代入文の文法の一例を波線枠1707に示した。文法1709はモジュール名と変数をピリオドで接続した文字列を左辺にとり値とイコールで結んだものである。波線枠1710は図形1605にバインドされているナビゲート処理の一例を示した。処理1503ではナビゲート処理1710からをナビゲート処理名1711を取得する。
処理1505は処理1502がコマンドボタン群1604に表示したナビゲートプログラムの有する機能を選択操作する入力を受け付ける。選択操作はコマンドボタン群に表示されたボタンをマウスでクリックする。図16では次ヘコマンドボタン1607がマウスでクリック(1609)されている。
処理1506は処理1505で入力されたコマンドを判定する。次へコマンドボタン1606が入力された場合は処理1507へ制御を渡す。キャンセルコマンドボタン1606が入力された場合は本フローを終了する。
処理1507は次へコマンドボタン1606にバインドされているナビゲートプログラムがあれば処理1501に、なければ処理1508に制御を渡す。
処理1508は処理1504で取得したナビゲート処理名からコネクタ生成する。処理1508は図を用いて詳細に説明する。
図18に処理1508の詳細フローを示した。処理1508はコネクタ生成106コネクタを生成する処理である。以下、図18を詳細に説明する。
処理1801は生成するコネクタの実行契機を設定する画面を表示する。図19に実行契機設定画面を示した。
実行契機設定画面1901は誘導メッセージを表示するメッセージ1902、実行契機を設定する実行契機設定領域1903、実行契機設定画面1901を操作するボタンを表示するコマンドボタン群1904とから構成される。ボタンの種類は追加コマンドボタン1913、削除コマンドボタン1914、キャンセルコマンドボタン1915、完了コマンドボタン1916である。実行契機設定領域1903にはプログラム編集領域303内に表示している編集モジュール図形から該当するモジュールの型をモジュール情報テーブルのレコード401のモジュール型402に記憶されているモジュールの型を検索し、検索とした前記モジュールの型を一覧表示するモジュールの型リスト1905と、モジュールの型リスト1905に表示された型を選択することによって、前記型をもつプログラム編集領域303内に表示している編集モジュール図形から該当するモジュール名をモジュール情報テーブルのレコード401のモジュール名403に記憶されているモジュール名を検索し、検索した前記モジュール名を一覧表示するモジュール名リスト1907と、モジュール名リスト1907に表示されたモジュール名を選択することによって、前記モジュール名からモジュール情報テーブルのレコード401のイベントリストポインタ406からイベント名414に記憶されているイベント名を一覧表示するイベント名リスト1909と、モジュールの型リスト1905から任意の型とモジュール名リスト1907から任意のモジュール名とイベント名リスト1909から任意のイベント名を指定することにより、実行契機を表示する実行契機リスト1911とからなる。
処理1802は処理1801が実行契機設定領域1903に表示したモジュールの型リスト1905、モジュール名リスト1907、イベント名リスト1909を選択操作する入力を受け付ける。選択操作はモジュールの型リスト1905に表示された任意の型(1906)をマウスでクリック(1917)し、次に、モジュール名リスト1907に表示された任意のモジュール名(1908)をマウスでクリック(1918)後、イベント名リスト1909に表示された任意のイベント名(1910)をマウスでクリック(1919)する。
処理1803は処理1802で入力した選択対象を判定する。モジュールの型リスト1905に表示された任意の型をマウスでクリックした場合は処理1804へ、モジュール名リスト1907に表示された任意のモジュール名をマウスでクリックした場合は処理1805へ、イベント名リスト1909に表示された任意のイベント名をマウスでクリックした場合は処理1806へ制御を渡す。
処理1804は処理1203でクリックしたモジュールの型を取得する。処理1805は処理1203でクリックしたモジュール名を取得する。処理1806は処理1203でクリックしたイベント名を取得する。
処理1807は実行契機となるモジュール名とイベント名の入力が完了したかどうか判定する。入力が完了ならば処理1808へ、未完ならば処理1802に制御を渡す。
処理1808は処理1804、処理1805、処理1806で取得したモジュールの型、モジュール名、イベント名から実行契機(1912)を実行契機リスト1911に表示する。
処理1809は処理1808がコマンドボタン群1904に表示した実行契機設定画面1901の有する機能を選択操作する入力を受け付ける。選択操作はコマンドボタン群に表示されたボタンをマウスでクリックする。図19では追加コマンドボタン1916がマウスでクリック(1920)されている。
処理1810は処理1809で入力されたコマンドを判定する。追加コマンドボタン1913が入力された場合は処理1812へ、削除コマンドボタン1914が入力された場合は処理1811へ制御を渡す。キャンセルコマンドボタン1915が入力された場合は本フローを終了する。
処理1811は実行契機リスト1911に表示にした実行契機を削除する。処理1811の詳細な説明は省略する。処理1812は生成するコネクタのひな形を生成する。図20にコネクタのひな形を示した。
コネクタのひな形は波線枠2001で示した構造を持つ。前記構造はコネクタの型2002とコネクタ名2003とコネクタの処理内容2004からなる。コネクタの処理内容2004は複数のコール文2005からなる。
処理1813は処理1812の生成したコネクタの型2002とコネクタ名2003を設定する。コネクタ2006にコネクタの型とコネクタ名を設定した一例を示す。コネクタの型とコネクタ名はデフォルトで設定される。コネクタの型は”TypeDefault”となり、コネクタ名は文字列”Connect”にコネクタ112内に格納されている数をインデックスとして付加した名称とする。例えば、コネクタが既に99個あれば”Connect101”(2007)となる。
処理1814は処理1504で取得したナビゲート処理名をコネクタの処理内容2004のコール文として追加する。波線枠2009に処理1504で取得したナビゲート処理名”Navigate1_Proc1()”がコール文として追加されている。処理1815は処理1812から1814で生成したコネクタをコネクタ112に格納する。
処理1816は処理206がメモリーに展開したプログラム情報テーブルのレコード701のコネクタリストポインタ704のさすレコード709を追加し、追加したレコードのコネクタ名710に処理1813で生成したコネクタ名を記憶し、レコード709のアドレス711に処理1815で格納したコネクタ112のアドレスを記憶し、レコード709のイベント712に処理1806で取得したイベント名を記憶し、レコード709の接続元モジュール713に処理1005で取得した接続元モジュール名を記憶し、レコード709の接続先モジュール714に処理1011で取得した接続先モジュール名を記憶する。
処理1817は接続元モジュール図形と接続先モジュール図形間にコネクト図形をプログラム編集領域303に表示する。図11の波線枠1104に表示の一例を示した。矢印1105が表示されたコネクト図形である。
これより、処理1004の生成処理を図を用いて詳細に説明する。図21に処理1004のフローを示した。処理2101はモジュール表示領域306で入力対象となったモジュール図形からモジュール名を取得する。取得する方法は前記モジュール図形の表示IDとモジュール表示テーブルのレコード601のモジュール表示ID902に記憶されているモジュール表示IDとを比較する。前記表示IDと前記モジュール表示IDと合致したモジュール表示テーブルのレコード601からモジュール名903に記憶されているモジュール名を取得する。取得したモジュール名を継承モジュール名とする。
処理2102はモジュール図形が移動されたかを判定する。選択のみで他のモジュール図形が再選択された場合には本フローを終了し、モジュール図形を移動した場合は処理2103に制御が渡る。
処理2103はモジュール図形が移動中かどうか判定する。移動中なら処理2103を繰り返し行なう。図形の移動が終わったら処理2104に制御が渡る。処理2104はモジュール図形の移動先がプログラム編集領域303内かどうかを判定する。プログラム編集領域303内なら処理2105へ、プログラム編集領域303外なら本フローを終了する。
処理2105はモジュール図形の移動先に編集モジュール図形が表示されているかどうを判定する。移動先にモジュール図形が表示されていない場合は、処理2106へ、移動先にモジュール図形が表示されている場合は本フローを終了する。処理2106は生成されるモジュール名の入力を受け付ける。
処理2107はプログラム情報テーブルのレコード701のモジュールリスト703のさすレコード705を追加し、追加したレコードのモジュールの名称を記憶するモジュール名706に処理2101で取得した継承モジュール名、どのモジュールから生成したかを記憶する生成元モジュール名707に2101で取得した継承モジュール名、プログラム編集領域303に表示する表示情報708に前記移動先の位置を記憶する。
以上説明したように、表示装置にビジュアル表示されたモジュールを操作することにより、記憶装置に格納されているモジュール間の組み合わせを誘導するナビゲートプログラムを検索表示し、表示装置に表示されたナビゲートプログラム群から任意のナビゲートプログラムを撰択するとナビゲートプログラムが動作し、ナビゲートプログラムはモジュール間の組み合わせを誘導するパラメータを出力し、このパラメータを指定することにより、モジュール間を組み合わせを可能とするコネクタを生成され、生成したコネクタを記憶装置に格納することが可能になる。
図22は図12にナビゲートプログラムの検索方法と前記検索結果の表示、及び、ナビゲートプログラムが自情報処理装置外にある場合の処理を付加したフローである。図12で説明した処理は省略する。
処理2201は、コネクタを生成するナビゲートプログラムをナビゲート情報110を読み込み本システムがアクセス可能なナビゲート情報テーブルに展開してメモリーにロードする。メモリーにロードされたナビゲート情報テーブルの構成を図23に示した。前記ナビゲート情報テーブルは図13を拡張したものである。前記ナビゲート情報テーブルの拡張点を説明する。レコード2301に頻度2302、許可レベル2303を追加した。頻度2302はレコード2301が撰択された回数を管理する。許可レベル2303は利用者によって実行を制限するフラグである。前記フラグはN段階に設定できる。
処理2202は処理1202と同様の処理である。処理2203は本システムを利用する利用者のユーザレベルをユーザレベル112から取得する。
処理2204は処理処理2202で取得したナビゲート情報テーブルのレコード2301の許可レベル2303に記憶した許可レベルと処理2203で取得したユーザレベルとを比較し、前記ユーザレベルと同じかまたは低い許可レベルを持つナビゲート情報テーブルのレコード2301のナビゲート名1304からナビゲート名を取得する。
処理2205は処理2204で取得したナビゲート名をナビゲート情報テーブルのレコード2301の頻度2302に記憶した頻度の高い順に一覧表示する。処理2206は処理1204との処理同様である。
処理2207は処理2206で選択したナビゲート名からナビゲート情報テーブルのレコード2301の頻度2302の記憶する値に1を加算する。
処理2208は処理1205と同様の処理である。処理2209は処理1206の処理と同様である。処理2210は処理1207の処理と同様である。
処理2211は処理2206で選択したナビゲート名からナビゲート情報テーブルのレコード2301のアドレス1305の記憶するアドレスを判定する。前記アドレスが他情報処理装置上ならば処理2213へ、自情報処理装置上ならば処理2212へ制御を渡す。
処理2212は処理1208の処理と同様である。処理2213前記アドレスより該当する情報処理装置にナビゲートプログラムの読み込む。
以上説明したように、記憶装置に格納されているナビゲートプログラムの検索を利用者の権限に応じて行い、検索したナビゲートプログラム群を撰択頻度の多い順に応じて表示装置に表示することが可能になる。また、自情報処理装置外にある記憶装置に格納されているナビゲートプログラムを読み込むことが可能になる。
本発明の一実施例を示す機能構成図。 本発明の一実施例を示す処理フロー 本発明の画面構成。 本発明がモジュールを管理するモジュール情報テーブル。 本発明がモジュールを表示する画面。 本発明がモジュールを表示するテーブル。 本発明がプログラムを管理するプログラム情報テーブル。 本発明がプログラムを表示する画面。 本発明がプログラムを表示するテーブル。 本発明がプログラム編集をする処理フロー。 本発明のプログラミング方法。 本発明がナビゲートプログラムを検索する処理フロー。 本発明がナビゲートプログラムを管理するナビゲート情報テーブル。 本発明のナビゲート名一覧画面。 本発明がナビゲートプログラムを実行する処理フロー。 本発明のナビゲート画面。 本発明のナビゲート処理の構造。 本発明がコネクタを生成する処理フロー。 本発明の実行契機設定画面 本発明のコネクタの構造 本発明がモジュールを生成する処理フロー。 本発明がナビゲートプログラムを検索する処理フロー。 本発明がナビゲートプログラムを管理するナビゲート情報テーブル。
符号の説明
101・・・入力装置、 102・・・要求入力、103・・・解析制御、 104・・・プログラム編集、105・・・ナビゲート、 106・・・コネクタ生成、107・・・解釈/実行、 108・・・モジュール情報、109・・・プログラム情報、110・・・ナビゲート情報、111・・・ユーザレベル、 112・・・コネクタ、113・・・応答出力、 114・・・表示装置、115・・・情報処理装置、 116・・・制御線、117・・・データ入出力線、118・・・ネットワーク回線

Claims (7)

  1. 複数のプログラムモジュールを組み合わせてプログラムを生成するプログラム生成システムであって、
    前記プログラムの構成要素となるプログラムモジュールを格納するモジュール情報テーブル、及び前記モジュール情報テーブルに含まれる第1と第2のプログラムモジュールの組合せと、当該第1のプログラムモジュールのパラメータと前記第2のプログラムモジュールの対応関係を表すプログラムモジュールであるコネクタを生成するナビゲートプログラムを対応付けるナビゲート情報テーブルを格納する記憶装置と、
    前記モジュール情報テーブルに格納されたプログラムモジュールから複数のプログラムモジュールの選択の入力を受付ける入力装置と、
    前記受け付けた複数のプログラムモジュールの組合せに対応するナビゲートプログラムを前記ナビゲート情報テーブルに基づいて実行し、前記コネクタを生成することによりプログラムを生成する計算機とを備えることを特徴とするプログラム生成システム。
  2. 請求項1記載のプログラム生成システムは、さらに表示装置を備え、
    当該表示装置は、前記第1のプログラムモジュールに対応する表示物と前記第2のプログラムモジュールに対応する表示物とを表示し、
    前記入力装置は、当該表示された表示物に対する操作を受け付けることにより前記複数のプログラムモジュールの選択の入力を受け付け、
    前記表示装置は、前記生成されたコネクタに対応する表示物を前記第1と第2のプログラムモジュールに対応する各表示物をつなぐように表示することを特徴とするプログラム生成システム。
  3. 請求項1または請求項2記載のプログラム生成システムであって、
    前記コネクタは、前記第1のプログラムモジュールにおけるパラメータに、前記第2のプログラムモジュールにおける所定の処理の結果、または当該第2のプログラムモジュールにおける所定のパラメータの値もしくはアドレスを代入するプログラムであることを特徴とするプログラム生成システム。
  4. 請求項3記載のプログラム生成システムであって、
    前記ナビゲート情報テーブルにおける対応付けは、前記ナビゲート情報テーブルが、前記プログラムモジュールの組合せと前記ナビゲートプログラムのアドレスとを対応付けて格納することにより実現されることを特徴とするプログラム生成システム。
  5. 請求項4記載のプログラム生成システムであって、
    前記ナビゲータ部は、前記プログラム編集処理のうち、利用者が選択可能な処理の権限を示すユーザレベルに応じて、前記ナビゲート情報に含まれる許可レベルに基づいて、前記ナビゲート情報テーブルに含まれるナビゲート情報を検索することを特徴とするプログラム生成システム。
  6. 請求項4記載のプログラム生成システムはさらに、
    前記検索したナビゲート情報を、利用者の選択頻度の高い順に表示する表示装置を備えることを特徴とするプログラム生成システム。
  7. 計算機、記憶装置、及び入力装置を有する情報処理装置上で複数のプログラムモジュールを組み合わせてプログラムを生成するプログラム生成システムにおけるプログラム生成方法であって、
    前記記憶装置は、前記プログラムの構成要素となるプログラムモジュールを格納するモジュール情報テーブルと、
    前記モジュール情報テーブルに含まれる第1と第2のプログラムモジュールの組合せと、当該第1のプログラムモジュールのパラメータと前記第2のプログラムモジュールの対応関係を表すプログラムモジュールであるコネクタを生成するナビゲートプログラムを対応付けるナビゲート情報テーブルとを格納し、
    前記入力装置は、ユーザに前記モジュール情報テーブルに格納されたプログラムモジュールから複数のプログラムモジュールの選択の入力を受付け、
    前記計算機は、前記受け付けた複数のプログラムモジュールの組合せに対応するナビゲートプログラムを前記ナビゲート情報テーブルに基づいて実行し、前記コネクタを生成することによりプログラムを生成することを特徴とするプログラム生成方法。

JP2005130743A 2005-04-28 2005-04-28 プログラム作成方法 Pending JP2005259169A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005130743A JP2005259169A (ja) 2005-04-28 2005-04-28 プログラム作成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005130743A JP2005259169A (ja) 2005-04-28 2005-04-28 プログラム作成方法

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP28023594A Division JP4058118B2 (ja) 1994-11-15 1994-11-15 プログラム生成システム及び方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2006027855A Division JP3966355B2 (ja) 2006-02-06 2006-02-06 プログラム生成方法および装置

Publications (1)

Publication Number Publication Date
JP2005259169A true JP2005259169A (ja) 2005-09-22

Family

ID=35084745

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005130743A Pending JP2005259169A (ja) 2005-04-28 2005-04-28 プログラム作成方法

Country Status (1)

Country Link
JP (1) JP2005259169A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008217161A (ja) * 2007-02-28 2008-09-18 Nippon Telegr & Teleph Corp <Ntt> シナリオ作成支援システム、シナリオ作成支援装置およびシナリオ作成支援方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008217161A (ja) * 2007-02-28 2008-09-18 Nippon Telegr & Teleph Corp <Ntt> シナリオ作成支援システム、シナリオ作成支援装置およびシナリオ作成支援方法

Similar Documents

Publication Publication Date Title
JP4058118B2 (ja) プログラム生成システム及び方法
US8386919B2 (en) System for displaying an annotated programming file
US20060031209A1 (en) Automatic guide for data analysis
JP5626333B2 (ja) プログラム作成支援装置、プログラム、および、情報システム
KR101103787B1 (ko) 그래픽 기반 로봇 프로그래밍 시스템
US5781905A (en) Program generating method combining data item part with database manipulation part
JP2008142788A (ja) 動作プログラム作成支援方法および動作プログラム作成装置。
CN107491311B (zh) 生成页面文件的方法、系统以及计算机设备
JP4127318B2 (ja) プログラム生成方法および装置
CN106844202B (zh) 生成测试用例的方法和终端设备
JP3966355B2 (ja) プログラム生成方法および装置
JP2005259169A (ja) プログラム作成方法
JP7105683B2 (ja) 電子計算機、方法及びプログラム
JPH0954688A (ja) Gui設計支援方法
JP7322255B2 (ja) 電子計算機、方法及びプログラム
JPH04288674A (ja) ハイパーテキスト編集装置
JPH10222356A (ja) アプリケーション作成装置及びアプリケーション作成方法
JPH06301668A (ja) シミュレーションデータ構築方法
JPH07306776A (ja) ビジュアルプログラミング方法
CN115509665A (zh) 一种录制窗口中控件的方法、装置、介质及设备
JPH04291449A (ja) 文書編集装置におけるスクロール処理方式
JPH1069381A (ja) プログラム説明書作成支援装置
JPH0485614A (ja) 階層化メニユー制御方法
JPH05204626A (ja) ソフトウェア開発支援システムの開発支援ツール起動方法
JPH07104986A (ja) プログラム生成用ツール

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Effective date: 20051206

Free format text: JAPANESE INTERMEDIATE CODE: A131

A521 Written amendment

Effective date: 20060206

Free format text: JAPANESE INTERMEDIATE CODE: A523

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060322

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20060421

A521 Written amendment

Effective date: 20060522

Free format text: JAPANESE INTERMEDIATE CODE: A523

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20060613

A912 Removal of reconsideration by examiner before appeal (zenchi)

Effective date: 20061027

Free format text: JAPANESE INTERMEDIATE CODE: A912