JP4127318B2 - プログラム生成方法および装置 - Google Patents

プログラム生成方法および装置 Download PDF

Info

Publication number
JP4127318B2
JP4127318B2 JP2007196885A JP2007196885A JP4127318B2 JP 4127318 B2 JP4127318 B2 JP 4127318B2 JP 2007196885 A JP2007196885 A JP 2007196885A JP 2007196885 A JP2007196885 A JP 2007196885A JP 4127318 B2 JP4127318 B2 JP 4127318B2
Authority
JP
Japan
Prior art keywords
program
navigation
module
control
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.)
Expired - Lifetime
Application number
JP2007196885A
Other languages
English (en)
Other versions
JP2008004109A (ja
Inventor
和彦 坂元
哲也 増石
隆 大小田
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 JP2007196885A priority Critical patent/JP4127318B2/ja
Publication of JP2008004109A publication Critical patent/JP2008004109A/ja
Application granted granted Critical
Publication of JP4127318B2 publication Critical patent/JP4127318B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Description

本発明は、プログラムを生成する技術に関する。
従来、プログラムモジュールを組み合わせてプログラムを作成する方法として、最も近
い従来技術はマイクロソフト株式会社のVisual Basicがある。以下に説明す
る Visual Basicの技術はマイクロソフト株式会社が1993年5月20日に
発行したMicrosoft Visual Basic (Visual Basicは登
録商標)Programming System for Windows(Window
sは登録商標) プログラミングガイドによるものである。
Visual Basicはアプリケーションを3つの手順で作成する。まずユーザイ
ンタフェースの設計を行い、次にプロパティと定義された変数に値を設定をし、最後にB
asicコードを記述する。具体的に説明するとユーザインタフェースの設計はフォーム
と呼ばれるウィンドウにコントロールと呼ばれるプログラムモジュール、例えばテキスト
を入力する機能を持ったテキストコントロールを配置する。プロパティの設定はフォーム
に配置したコントロールの位置や色などの外観や、動作を決める変数に値を設定する。B
asicコードにはフォームに配置されたコントロール対して何らかのイベントが発生し
たとき実行されるプログラムを記述する。例えばユーザがマウスでボタンコントロールを
クリックすると、そのボタンコントロールに対してクリックイベントが発生する。前記ク
リックイベントに対応するクリックイベントプロシジャーをBasicコードで記述する
。以上説明したように、Visual Basicはアプリケーションをプログラムモジ
ュール(フォーム、コントロール)とイベントの組み合わせごとにBasicコードを記
述し作成する。
上記従来技術では、フォームに配置されたプログラムモジュール(フォーム、コントロ
ール)のイベントプロシジャーはアプリケーションを作成する際に必ずBasicコード
を記述しなければならないという課題があった。
本発明の目的は、プログラムモジュールのイベントプロシジャーの処理内容を予め用意
し、プログラムモジュールをフォームに配置した後、プログラムモジュール間の組み合わ
せをする際に、予め用意したイベントプロシジャーの処理内容を表示し、選択するだけで
組み合わせプログラムを生成する方法を提供することである。
本発明のプログラム作成方法は、入力装置から入力された命令により、記憶装置に格納
されているプログラムモジュールを表示装置にビジュアル表示するステップと、入力装置
から入力された命令により、記憶装置に格納されているプログラムモジュール間の組み合
わせを誘導するナビゲートプログラムを検索するステップと、検索したナビゲートプログ
ラム群を表示装置に表示するステップと、表示装置に表示したナビゲートプログラム群か
ら任意のナビゲートプログラムを入力装置から入力された命令により選択するステップと
、ナビゲートプログラムを動作させるステップと、プログラムモジュール間の組み合わせ
をするためにナビゲートプログラムの出力する誘導パラメータを入力装置から入力された
命令により指定するステップと、入力装置から入力された前記誘導パラメータによって、
プログラムモジュール間を組み合わせをするコネクタモジュールを生成するステップと、
及び、生成したコネクタモジュールを記憶装置に格納するステップとからなる。
以上説明したように本発明では、表示装置にビジュアル表示されたプログラムモジュー
ルを操作することにより、記憶装置に格納されているプログラムモジュール間の組み合わ
せを誘導するナビゲートプログラムを検索表示し、表示装置に表示されたナビゲートプロ
グラム群から任意のナビゲートプログラムを選択するとナビゲートプログラムが動作し、
ナビゲートプログラムはプログラムモジュール間の組み合わせを誘導するパラメータを出
力し、このパラメータを指定することにより、プログラムモジュール間を組み合わせを可
能とするコネクトプログラムモジュールを生成され、生成したコネクトプログラムモジュ
ールを記憶装置に格納することが可能になる。また、第2の実施例によれば、自情報処理
装置外にある記憶装置に格納されているナビゲートプログラムを実行することが可能にな
る。また、第3の実施例では、記憶装置に格納されているナビゲートプログラムの検索を
利用者の権限に応じて行い、検索したナビゲートプログラム群を選択頻度の多い順に応じ
て表示装置に表示することが可能になる。
プログラムモジュールのイベントプロシジャーの処理内容を予め用意し、プログラムモジュールをフォームに配置した後、プログラムモジュール間の組み合わせをする際に、予め用意したイベントプロシジャーの処理内容を表示し、選択することにより組み合わせプログラムを生成を容易にすることが可能となる。
以下、本発明の一実施例を図面を用いて詳細に説明する。図1は本発明を実現するプロ
グラム作成システムの機能構成の一例を示した。実線116は本システムの機能間の制御
関係を示し、破線117は前記機能のデータ読み書き関係を示す。折れ線118はネット
ワークの接続回線を示す。利用者による要求はキーボードやポインティングデバイス等の
入力装置101やネットワーク接続された計算機115を経て要求入力102により入力
される。解析制御103は前記要求内容を解析し、結果にしたがってプログラム編集10
4、ナビゲータ105、コネクタ生成106、解釈/実行107のうち必要に応じた機能
を呼び出し、結果を応答出力113に渡す。応答出力113は結果を表示装置114また
はネットワーク接続された計算機115に出力する。プログラム編集104は編集対象と
なるプログラム情報109とプログラムの構成要素となるモジュール情報108の読み込
み、書き出し、編集を行なう。ナビゲータ105は前記編集時にモジュールとモジュール
との組み合わせ方法を誘導するナビゲート情報110とナビゲート情報110の利用を利
用者のレベルによって制限するユーザレベル111を読み込み、前記誘導を行なう。コネ
クタ生成106は前記誘導結果からモジュールとモジュールとの組み合わせるモジュール
を生成し、生成したモジュール(以下コネクタと呼ぶ)をコネクタ112に書き込み、生
成元となった組み合わせたモジュールと生成されたモジュールの関係をプログラム情報1
10に書き込む。解釈/実行107はプログラム情報109、モジュール情報108、コ
ネクタ112を読み込み、解釈して実行をする。
図2は本システムの概略処理フローを示した。処理201は利用者から入力された本シ
ステムへの要求を判定する。プログラムの編集なら処理202、プログラムの実行なら処
理211、終了なら本システムの処理を終了する。
処理202は本システムの初期画面を表示する。図3に本システム初期画面を示した。
本システムの画面は2つから構成される。画面301はプログラムを編集するプログラミ
ングエディタ画面、画面302はプログラムを構成するモジュールの一覧を図形で表示す
るモジュール一覧画面である。プログラム編集画面301はプログラムを表示、編集する
プログラム編集領域303とプログラム編集領域303を前後にスクロールするスライダ
ー304と左右にスクロールするスライダー305から構成される。モジュール一覧画面
302はモジュールを図形で表示するモジュール表示領域306とモジュール表示領域3
06を左右にスクロールするスライダー307から構成される。
処理203はプログラムの構成要素となるモジュールをモジュール情報108を読み込
み本システムがアクセス可能なモジュール情報テーブルに展開してメモリーにロードする
。メモリーにロードされたモジュール情報テーブル108の構成を図4に示した。
モジュール情報テーブルのレコード構成を401に示した。レコード401はモジュー
ルの型を記憶するモジュール型402、モジュールの名称を記憶するモジュール名403
、モジュールの有する変数の一覧リストのポインタを記憶する変数リストポインタ404
、モジュールの有する手続きの一覧リストのポインタを記憶する手続きリストポインタ4
05、モジュールの有するイベントの一覧リストのポインタを記憶するイベントリストポ
インタ406、モジュールをプログラム編集画面301に表示するための図形種、色、位
置等を記憶する表示情報ポインタ407から構成される。変数リストポインタ404の記
憶先の変数一覧リストの構成を408に示した。レコード408は変数の型を記憶する型
409と変数の名称を記憶する変数名410から構成される。手続きリストポインタ40
5の記憶先の手続き一覧リストの構成を411に示した。レコード411は手続きの名称
を記憶する手続き名412と手続きのアドレスを記憶するアドレス413から構成される
。イベントリストポインタ406の記憶先のイベント一覧リストの構成を414に示した
。レコード411はイベントの名称を記憶するイベント名414で構成される。
処理204は処理203がプログラムの構成要素となるモジュールをモジュール情報1
08から読み込み、メモリーに展開したモジュール情報テーブルのレコード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に示した。レコード7
09はコネクタの名称を記憶するコネクタ名710と、前記コネクタのアドレスを記憶す
るアドレス711と、前記コネクタの実行する契機を記憶するイベント名712と、コネ
クタの接続元を記憶する接続元モジュール名713と、コネクタの接続先を記憶する接続
先モジュール名714と、コネクタをプログラム編集領域303に表示するための図形種
、色、位置等を記憶する表示情報715から構成される。
処理207は処理206がプログラムをプログラム情報109から読み込み、メモリー
に展開したプログラム情報テーブルのレコード701単位ごとにプログラムを構成するモ
ジュールの表示情報708とコネクタの表示情報715を読み込み、表示情報708と7
15に則り図形をプログラム編集領域303に表示する。図8にプログラムをプログラム
編集領域303に表示した一例を示した。
プログラム編集領域303には3つのモジュール(801、802、803)と1つの
コネクタ(804)を表示している。プログラム編集領域303に表示された図形を編集
モジュール図形と呼ぶ。図9にプログラム編集領域303にプログラムを表示するために
メモリに記憶するプログラム表示テーブルの構成を示した。
プログラム表示テーブルのレコード構成を901に示した。レコード901はプログラ
ム編集領域303に表示した編集モジュール図形の識別子を記憶する編集モジュール表示
ID902と、プログラム編集領域303に表示した編集モジュール図形がプログラム情
報テーブル701のモジュールリストポインタ703の記憶先であるモジュールリストの
どのモジュールを表示したのかを識別するモジュール名903と、プログラム編集領域3
03に表示したコネクタ図形の識別子を記憶するコネクタ表示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とを比較する。前記表示I
Dと前記編集モジュール表示IDと合致したプログラム表示テーブルのレコード901か
らモジュール名903に記憶されているモジュール名を取得する。取得したモジュール名
を接続元モジュール名とする。
処理1006は接続元モジュール図形が移動されたかを判定する。選択のみで他の編集
モジュール図形が再選択された場合には本フローを終了し、接続元モジュール図形を移動
した場合は処理1007に制御が渡る。前記操作例ではプログラム編集領域303でユー
ザモジュール901を移動したので処理1007に制御が渡る。
処理1007は接続元モジュール図形が移動中かどうか判定する。移動中なら処理10
07を繰り返し行なう。図形の移動が終わったら処理1008に制御が渡る。
処理1008は、接続元モジュール図形の移動先がプログラム編集領域303内かどう
かを判定する。プログラム編集領域303内なら処理1009へ、プログラム編集領域3
03外なら本フローを終了する。前記操作例では、プログラム編集領域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に記憶されている接続元モジュール名と処理10
05で取得した接続元モジュール名とを比較する。接続元モジュール名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で入力されたコマンドを判定する。選択コマンドボタン1
406が入力された場合は処理1208へ制御を渡す。キャンセルコマンドボタン140
7が入力された場合は本フローを終了する。処理1208はナビゲートプログラムを実行
する。処理1208は図を用いて詳細に説明する。
図15に処理1208の詳細フローを示した。処理1208はナビゲータ105のナビ
ゲートプログラム実行処理である。以下、図15を詳細に説明する。処理1501は処理
1205で取得したナビゲート名と、処理1201がメモリーに展開したナビゲート情報
テーブルのレコード1301のナビゲート名1304に記憶されているナビゲート名と比
較する。ナビゲート名1304に記憶されているナビゲート名と処理1205で取得した
ナビゲート名が合致したナビゲート情報テーブルのレコード1301のアドレス1305
に記憶されているアドレスを取得する。取得したアドレスからナビゲートプログラムを読
み込む。
処理1502は処理1501の読み込んだナビゲートプログラムを実行し画面を表示す
る。図16にナビゲートプログラムの実行画面の一例を示した。ナビゲートプログラム画
面1601はナビゲートプログラムからの誘導メッセージを表示するメッセージ1602
、ナビゲートプログラムの有する機能を表現した図形群を表示するナビゲート領域160
3、ナビゲートを誘導するボタンを表示するコマンドボタン群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で入力されたコマンドを判定する。次へコマンドボタン1
606が入力された場合は処理1507へ制御を渡す。キャンセルコマンドボタン160
6が入力された場合は本フローを終了する。
処理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に記憶されているイベント名を一覧表示するイベント名リスト19
09と、モジュールの型リスト1905から任意の型とモジュール名リスト1907から
任意のモジュール名とイベント名リスト1909から任意のイベント名を指定することに
より、実行契機を表示する実行契機リスト1911とからなる。
処理1802は処理1801が実行契機設定領域1903に表示したモジュールの型リ
スト1905、モジュール名リスト1907、イベント名リスト1909を選択操作する
入力を受け付ける。選択操作はモジュールの型リスト1905に表示された任意の型(1
906)をマウスでクリック(1917)し、次に、モジュール名リスト1907に表示
された任意のモジュール名(1908)をマウスでクリック(1918)後、イベント名
リスト1909に表示された任意のイベント名(1910)をマウスでクリック(191
9)する。
処理1803は処理1802で入力した選択対象を判定する。モジュールの型リスト1
905に表示された任意の型をマウスでクリックした場合は処理1804へ、モジュール
名リスト1907に表示された任意のモジュール名をマウスでクリックした場合は処理1
805へ、イベント名リスト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で入力されたコマンドを判定する。追加コマンドボタン1
913が入力された場合は処理1812へ、削除コマンドボタン1914が入力された場
合は処理1811へ制御を渡す。キャンセルコマンドボタン1915が入力された場合は
本フローを終了する。
処理1811は実行契機リスト1911に表示にした実行契機を削除する。処理181
1の詳細な説明は省略する。処理1812は生成するコネクタのひな形を生成する。図2
0にコネクタのひな形を示した。
コネクタのひな形は波線枠2001で示した構造を持つ。前記構造はコネクタの型20
02とコネクタ名2003とコネクタの処理内容2004からなる。コネクタの処理内容
2004は複数のコール文2005からなる。
処理1813は処理1812の生成したコネクタの型2002とコネクタ名2003を
設定する。コネクタ2006にコネクタの型とコネクタ名を設定した一例を示す。コネク
タの型とコネクタ名はデフォルトで設定される。コネクタの型は”TypeDefaul
t”となり、コネクタ名は文字列”Connect”にコネクタ112内に格納されてい
る数をインデックスとして付加した名称とする。例えば、コネクタが既に99個あれば”
Connect101”(2007)となる。
処理1814は処理1504で取得したナビゲート処理名をコネクタの処理内容200
4のコール文として追加する。波線枠2009に処理1504で取得したナビゲート処理
名”Navigate1_Proc1()”がコール文として追加されている。処理18
15は処理1812から1814で生成したコネクタをコネクタ112に格納する。
処理1816は処理206がメモリーに展開したプログラム情報テーブルのレコード7
01のコネクタリストポインタ704のさすレコード709を追加し、追加したレコード
のコネクタ名710に処理1813で生成したコネクタ名を記憶し、レコード709のア
ドレス711に処理1815で格納したコネクタ112のアドレスを記憶し、レコード7
09のイベント712に処理1806で取得したイベント名を記憶し、レコード709の
接続元モジュール713に処理1005で取得した接続元モジュール名を記憶し、レコー
ド709の接続先モジュール714に処理1011で取得した接続先モジュール名を記憶
する。
処理1817は接続元モジュール図形と接続先モジュール図形間にコネクト図形をプロ
グラム編集領域303に表示する。図11の波線枠1104に表示の一例を示した。矢印
1105が表示されたコネクト図形である。
これより、処理1004の生成処理を図を用いて詳細に説明する。図21に処理100
4のフローを示した。処理2101はモジュール表示領域306で入力対象となったモジ
ュール図形からモジュール名を取得する。取得する方法は前記モジュール図形の表示ID
とモジュール表示テーブルのレコード601のモジュール表示ID902に記憶されてい
るモジュール表示IDとを比較する。前記表示IDと前記モジュール表示IDと合致した
モジュール表示テーブルのレコード601からモジュール名903に記憶されているモジ
ュール名を取得する。取得したモジュール名を継承モジュール名とする。
処理2102はモジュール図形が移動されたかを判定する。選択のみで他のモジュール
図形が再選択された場合には本フローを終了し、モジュール図形を移動した場合は処理2
103に制御が渡る。
処理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で取得したナビゲート情報テーブルのレコード230
1の許可レベル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 (4)

  1. 記憶装置と、入力装置と、表示装置と、2つのプログラムの実行により当該プログラム間の通信を可能とするコネクタプログラムを生成するプログラム生成手段とを備えたプログラム生成装置であって、
    前記記憶装置は、前記プログラムの構成要素となるコントロールプログラムを含むコントロール情報、前記コントロール情報に含まれる第1のコントロールプログラムと第2のコントロールプログラムのペアとコネクタプログラムを生成するためのナビゲートプログラムとを対応付けを表すナビゲート情報、ナビゲートプログラムを格納し、
    前記入力装置は、前記コントロール情報に格納されたコントロールプログラムから前記2つのコントロールプログラムを選択する入力要求を受け付け、
    前記プログラム生成手段は、前記入力装置から受け付けた2つのコントロールプログラムの組合せに対応するナビゲートプログラムを前記格納手段に格納したナビゲート情報を参照して選択してテンプレートを構成し、テンプレート中のナビゲートプログラムを実行することにより前記2つのプログラムの実行におけるプログラム間の通信を可能とするコネクタプログラムを生成し前記記憶装置に格納し、
    前記表示装置は、予め前記ナビゲート情報に選択された頻度を記憶しておき、前記2つのコントロールプログラムを選択する前に、前記頻度の高い順位表示することを特徴とするプログラム作成装置。
  2. 前記表示装置は、前記ナビゲート情報に予め記憶されているナビゲートプログラムに対応付けられた許可レベルを参照するとともに、予め記憶された利用者の権限とを比較し、利用者の権限以下のコントロールプログラムを表示することを特徴とした請求項1記載のプログラム作成装置。
  3. 記憶装置と、入力装置と、表示装置と、2つのプログラムの実行における、当該プログラム間の通信を可能とするコネクタプログラムを生成するプログラム生成手段とを備えたプログラム生成装置におけるプログラム生成方法であって、
    前記記憶装置は、前記プログラムの構成要素となるコントロールプログラムを含むコントロール情報、前記コントロール情報に含まれる第1のコントロールプログラムと第2のコントロールプログラムのペアとコネクタプログラムを生成するためのナビゲートプログラムとを対応付けを表すナビゲート情報、ナビゲートプログラムを格納し、
    前記入力装置は、前記コントロール情報に格納されたコントロールプログラムから前記2つのコントロールプログラムを選択する入力要求を受け付け、
    前記プログラム生成手段は、前記入力装置から受け付けた2つのコントロールプログラムの組合せに対応するナビゲートプログラムを前記格納手段に格納したナビゲート情報を参照して選択してテンプレートを構成し、テンプレート中のナビゲートプログラムを実行することにより前記2つのプログラムの実行におけるプログラム間の通信を可能とするコネクタプログラムを生成し前記記憶装置に格納し、
    前記表示装置は、予め前記ナビゲート情報に選択された頻度を記憶しておき、前記2つのコントロールプログラムを選択する前に、前記頻度の高い順位表示することを特徴とするプログラム作成方法。
  4. 前記表示装置は、前記ナビゲート情報に予め記憶されているナビゲートプログラムに対応付けられた許可レベルを参照するとともに、予め記憶された利用者の権限とを比較し、利用者の権限以下のコントロールプログラムを表示することを特徴とした請求項3記載のプログラム作成方法。
JP2007196885A 2007-07-30 2007-07-30 プログラム生成方法および装置 Expired - Lifetime JP4127318B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007196885A JP4127318B2 (ja) 2007-07-30 2007-07-30 プログラム生成方法および装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007196885A JP4127318B2 (ja) 2007-07-30 2007-07-30 プログラム生成方法および装置

Related Parent Applications (1)

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

Publications (2)

Publication Number Publication Date
JP2008004109A JP2008004109A (ja) 2008-01-10
JP4127318B2 true JP4127318B2 (ja) 2008-07-30

Family

ID=39008383

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007196885A Expired - Lifetime JP4127318B2 (ja) 2007-07-30 2007-07-30 プログラム生成方法および装置

Country Status (1)

Country Link
JP (1) JP4127318B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010015533A (ja) * 2008-06-02 2010-01-21 Ricoh Co Ltd インストール装置、インストール方法、プログラム、記憶媒体

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010015533A (ja) * 2008-06-02 2010-01-21 Ricoh Co Ltd インストール装置、インストール方法、プログラム、記憶媒体

Also Published As

Publication number Publication date
JP2008004109A (ja) 2008-01-10

Similar Documents

Publication Publication Date Title
JP4058118B2 (ja) プログラム生成システム及び方法
US8296654B2 (en) Automatic guide for data analysis
CN112464623A (zh) Rpa流程文件生成方法、装置、计算机设备和存储介质
US7590933B2 (en) Method for displaying an annotated file
KR101103787B1 (ko) 그래픽 기반 로봇 프로그래밍 시스템
US5781905A (en) Program generating method combining data item part with database manipulation part
CN111506306A (zh) 一种Ansible剧本编写方法、装置和电子设备
JP4127318B2 (ja) プログラム生成方法および装置
EP2726982A1 (en) Creating logic using pre-built controls
JP3966355B2 (ja) プログラム生成方法および装置
JP2005259169A (ja) プログラム作成方法
JP7105683B2 (ja) 電子計算機、方法及びプログラム
JP5084702B2 (ja) 解析データ入力装置、cae装置、解析データ入力方法、及びプログラム
CN106547528A (zh) 一种界面布局方法以及装置
JPH0954688A (ja) Gui設計支援方法
JPH04288674A (ja) ハイパーテキスト編集装置
JP7322255B2 (ja) 電子計算機、方法及びプログラム
JPH0520046A (ja) プログラム開発支援方法及び装置
JPH07306776A (ja) ビジュアルプログラミング方法
JPH06301668A (ja) シミュレーションデータ構築方法
CN115509665A (zh) 一种录制窗口中控件的方法、装置、介质及设备
EP4377788A1 (en) Plugin management system for an interactive system or platform
JPH0485614A (ja) 階層化メニユー制御方法
Dhillon et al. Open Health Care
JPH04291449A (ja) 文書編集装置におけるスクロール処理方式

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080122

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080324

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080422

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080505

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

Free format text: PAYMENT UNTIL: 20110523

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110523

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110523

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120523

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120523

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130523

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130523

Year of fee payment: 5

EXPY Cancellation because of completion of term