JP3420785B2 - プログラム構築装置 - Google Patents

プログラム構築装置

Info

Publication number
JP3420785B2
JP3420785B2 JP35314692A JP35314692A JP3420785B2 JP 3420785 B2 JP3420785 B2 JP 3420785B2 JP 35314692 A JP35314692 A JP 35314692A JP 35314692 A JP35314692 A JP 35314692A JP 3420785 B2 JP3420785 B2 JP 3420785B2
Authority
JP
Japan
Prior art keywords
message
program
data
component
information
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
JP35314692A
Other languages
English (en)
Other versions
JPH06180646A (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.)
NS Solutions Corp
Original Assignee
NS Solutions Corp
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 NS Solutions Corp filed Critical NS Solutions Corp
Priority to JP35314692A priority Critical patent/JP3420785B2/ja
Publication of JPH06180646A publication Critical patent/JPH06180646A/ja
Application granted granted Critical
Publication of JP3420785B2 publication Critical patent/JP3420785B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Document Processing Apparatus (AREA)
  • Stored Programmes (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、プログラム部品を複数
生成配置し、さらにプログラム部品間の動作をメッセー
ジのやりとりという形式で定義し、その結果をプログラ
ムソースコードとして生成するプログラム構築装置に関
する。
【0002】
【従来の技術】従来、プログラム部品はソースコードま
たはオブジェクトライブラリの形式で表現されており、
複数のプログラム部品を組み合わせて、最終目的とする
プログラムを作成するには、そのためのプログラムソー
スコードを別途手書きしなければならず、プログラム部
品の動的な生成や削除が不可能であった。そして実際に
プログラム部品を生成(具現化)し、その機能を確認す
るには、プログラムソースコードを実行してみなければ
ならなかった。特に視覚的に表示されるプログラム部品
については、その位置や大きさや色等の確認は実行して
みなければ確認できず、さらに、その時点で対話的に変
更することはできなかった。このように、プログラムの
作成とその表示状態や機能の確認に時間差と多くの手間
が存在した。そしてもし、目的と合致しない場合はソー
スコードの記述からやり直さなけらばならず、手戻り時
間と労力を要した。
【0003】また、プログラム部品間の動作を定義する
には、その部分に関するプログラムソースコードを別途
記述しなければならず、一旦定義したものは動的に変更
することはできなかった。
【0004】
【発明が解決しようとする課題】上述のように、従来
は、複数のプログラム部品を動的、対話的に生成、削除
し、その表示状態や機能を対話的に確認できなかったた
め、多くの無益な時間と労力を費すという問題点があっ
た。また、プログラム部品間の動作を動的に定義できな
いため、動作定義に関するプログラムについての専門知
識が必要であったり、動作確認をするための時間と労力
を費やさなければならいという問題点があった。
【0005】本発明は、かかる問題を解決するためのも
のであって、プログラム部品の生成、削除、さらに生成
されたプログラム部品の属性定義を視覚的かつ対話的に
行い、同時に、プログラム部品間の動作定義を、メッセ
ージのやりとりという形式で、視覚的かつ対話的に容易
に定義し、その場で遅滞なく動作確認を行い、さらに、
生成されたプログラム部品のデータ、およびプログラム
部品間のメッセージ定義データからプログラムソースコ
ードを自動生成するプログラム構築装置を提供すること
を目的とする。
【0006】
【課題を解決するための手段】本発明のプログラム構築
装置は、メッセージ受信手段、メッセージ送信手段の少
なくとも1つを持つプログラム部品を組み合わせてプロ
グラムを構築するためのプログラム構築装置であって、
送信元部品名、条件、送信先部品名、メッセージデータ
の項目を含むメッセージ定義情報を記憶するメッセージ
定義データ部と、上記メッセージ定義情報を編集するた
めのメッセージ定義手段と、いずれかのプログラム部品
からメッセージを受けた場合に、そのメッセージと上記
メッセージ定義情報とに基づいて、新たなメッセージを
生成し、該当するプログラム部品に送るメッセージ解釈
手段と、上記プログラム部品の名前及び属性情報と上記
メッセージ定義データ部に記憶された情報とをプログラ
ムソースコードに翻訳するソースコード変換手段とを備
えた点に特徴を有する。
【0007】
【0008】
【0009】
【0010】
【0011】
【0012】
【0013】
【作用】メッセージ定義データ部には、例えば、メッセ
ージを送ってきた送信元部品名、メッセージ内容を判断
する条件、メッセージを送り出す送信先部品名、送り先
に送り出すメッセージデータを1組にしたメッセージ定
義情報が複数組記憶されている。メッセージ定義手段
は、キーボード操作あるいはマウス操作等によって指定
された一つあるいは複数のプログラム部品に対応するメ
ッセージ定義情報が、メッセージ定義データ部に記憶さ
れていれば、これを読み出し表示する。表示されたメッ
セージ定義情報は、キーボード操作あるいはマウス操作
等によって編集され、再びメッセージ定義データ部に登
録される。
【0014】メッセージ解釈手段は、プログラム部品間
に定義されたメッセージを解釈して実行する。生成され
たプログラム部品に対して生じたイベント情報は、プロ
グラム部品内部でイベント情報に対応するメッセージに
変換され、メッセージ解釈手段に送られる。メッセージ
解釈手段は、メッセージ発生プログラム部品名と一致す
るメッセージ定義情報をメッセージ定義データ部から検
索し、発生したメッセージの内容とメッセージ定義情報
中に書かれた条件を比較判断し、条件が満足された場合
に、メッセージ定義情報中に書かれた送出メッセージデ
ータに基づいて、新たなメッセージを作成し、メッセー
ジ定義情報中にメッセージ送信先として書かれた1つも
しくは複数のプログラム部品に対して、新たなメッセー
ジを送り出す。プログラム部品によっては、入力された
メッセージをプログラム部品内部で処理して新たなメッ
セージとして再びメッセージ解釈手段に送る場合もあ
る。
【0015】メッセージ定義手段により、例えばプログ
ラム部品間の動作を画面上で定義しながら、その場で同
時にメッセージ解釈手段によりプログラム部品間の動作
を実行して、確認することができる。ソースコード変換
手段は、プログラム部品の名前及び属性情報と、メッセ
ージ定義データ部に記憶された情報とを、プログラムソ
ースコードに変換する。
【0016】
【実施例】以下本発明をその実施例を示す図面に基づき
詳述する。ここで、実施例を具体的に説明するために、
電子英和辞書プログラムを自動生成する場合を想定す
る。電子英和辞書プログラムは、検索キーワードを入力
するためのテキスト入力部品と検索を実行する和英辞書
部品と検索結果を表示するテキスト表示部品の少なくと
も3つのプログラム部品を組み合わることによって作成
できる。
【0017】(ライブラリ(1) )ライブラリ(1) には、
テキスト入力部品、テキスト表示部品、英和辞書部品を
含む多数のプログラム部品情報が記憶されている。
【0018】(生成手段(2) )生成手段(2) は、ライブ
ラリ(1) の中から選択され読み出されたプログラム部品
情報に基づいて、プログラム部品を生成する。生成され
たプログラム部品のうち、表示可能なものは表示部(4)
に表示される。すなわち、生成手段(2) は、抽象的な情
報であるプログラム部品情報に対して、例えば、位置情
報やサイズ情報のような表示に必要な属性情報等の、プ
ログラム部品としてメモリ上に実在するために必要な具
体的な情報を付加しプログラム部品を具現化する。この
時、プログラム部品には固有な部品名が命名される。付
加する情報は、キーボード操作やマウス操作等によって
与えられる場合もあれば、生成手段(2) があらがじめ持
っているデフォルト値を使用する場合もあれば、その両
方の場合もある。また、生成手段(2) は、プログラム部
品の生成時に、その属性情報と固有な部品名とを部品デ
ータ部(5) に登録する。図1において、生成されたプロ
グラム部品は、生成プログラム部品群(12)として一括し
て示してある。
【0019】(削除手段(3) )削除手段(3) は、すでに
生成されたプログラム部品のうち、キーボード操作ある
いはマウス操作等によって指定されたもの、あるいはす
べてを削除する。同時に、削除手段(3) は削除したプロ
グラム部品の部品名と部品属性情報を部品データ部(5)
から削除する。
【0020】(プログラム部品(群)(12))図2は一般
的なプログラム部品の一例である。プログラム部品(12)
は、属性データ部(13)を持ち、表示手段(14)、イベント
処理手段(15)、演算手段(16)、の少なくとも一つを持
ち、メッセージ受信手段(17)、メッセージ送信手段(18)
の少なくとも一つを持つものであり、これら6つすべて
を構成要素として完備する必要はない。
【0021】属性データ部(13)はメモリ上に生成された
プログラム部品自身の属性情報を、属性名と属性値の一
覧形式で記憶している。図3はテキスト入力部品におけ
る属性データ部の一例である。
【0022】表示手段(14)は、予め決められたデータ処
理プログラムに従い、メモリ上に生成されたプログラム
部品を、属性データ部(13)に記憶してある属性情報に応
じた形態で、表示部(4) に表示する。あるいは表示内容
を変更する。あるいは表示を消す。
【0023】イベント処理手段(15)は、予め決められた
データ処理プログラムに従い、例えばキーボード操作や
マウス操作により入力部(19)からプログラム部品に与え
られたイベント情報を解析し、場合によってはさらに加
工し、表示手段(14)あるいはメッセージ送信手段(18)、
あるいはその両方に、必要なデータを与える。あるいは
何も与えない。また、属性データ部(13)の属性を変更す
ることもある。
【0024】メッセージ受信手段(17)は、予め決められ
たデータ処理プログラムに従い、受け取ったメッセージ
を解析、場合によってはさらに加工し、表示手段(14)、
演算手段(16)、メッセージ送信手段(18)のすべてもしく
はいくつかに、それぞれに必要なデータを与える。もし
くは何も与えない。演算手段(16)は、予め決められたデ
ータ処理プログラムに従い、属性データ部(13)の属性情
報を参照しつつ、受け取ったデータを解析、場合によっ
てはさらに加工し、その結果として生成されるデータを
メッセージ送信手段(18)に与える。もしくは何も与えな
い。
【0025】メッセージ送信手段(18)は、予め決められ
たデータ処理プログラムに従い、受け取ったデータを解
析、場合によってはさらに加工し、メッセージを生成
し、予め決められた送信先、あるいは、受け取ったデー
タに基づいて決定した送信先にメッセージを送る。もし
くは何もしない。また、属性データ部(13)の属性を変更
することもある。
【0026】(表示部(4) )表示部(4) は、プログラム
部品を画面上に表示する。図4は英和辞書システムを構
成するテキスト入力部品とテキスト出力部品の表示部
(4) への表示例である。
【0027】(部品データ部(5) )部品データ部(5)
は、生成されたプログラム部品に関する部品データ、す
なわち、プログラム部品に固有の部品名とプログラム部
品の部品属性情報とを対応させて記憶している。部品属
性情報は属性名と属性値の対で記憶される。部品属性情
報には、プログラム部品が表示される際の位置情報やサ
イズ情報や色情報等の視覚属性情報と、表示には無関係
の、プログラム部品が演算を行なうための初期値や方法
等、例えば英和辞書部品における辞書検索モードに関す
る情報などの非視覚属性情報とがある。図5は、部品デ
ータ部(5) の内容の一例である。
【0028】(部品属性編集手段(6) )部品属性編集手
段(6) は、既に生成された部品の部品名が、キーボード
操作等によって指定されると、部品データ部(5) から、
指定された部品名に対応する部品属性情報を読み出し表
示する。その表示内容が変更されると、部品属性編集手
段(6) は、部品データ部(5) の部品属性情報を変更し、
同時に、対応するプログラム部品の属性データ部(13)に
記憶されている属性情報を変更する。視覚属性情報が変
更されたプログラム部品は、その結果として表示部(4)
での表示が変更される。これにより、プログラム部品の
表示形態を表示部である画面上で実際に確認しながら、
プログラム部品の属性を変更できる。
【0029】また、部品データ部(5) から部品属性情報
を読み出した際に、読み出した部品属性情報と対応する
プログラム部品の属性データ部(13)の内容とを比較し
て、相違があれば、部品データ部(5) の部品属性情報を
更新する場合もある。
【0030】(メッセージ定義データ部(7) )メッセー
ジ定義データ部(7) は、プログラム部品間に定義するメ
ッセージの具体的な情報であるメッセージ定義情報を記
憶する。図6はメッセージ定義情報のフォーマットであ
り、送信元部品名と条件と送信先部品名とメッセージデ
ータの4項目から構成される。メッセージ定義データ部
(7) は、メッセージ定義情報を複数組記憶している。送
信元部品名には、メッセージを送り出したプログラム部
品の名前を、条件には、送られてきたメッセージの内容
を判断するための条件を、送信先部品名には、メッセー
ジを送り届けるプログラム部品の名前を、メッセージデ
ータには、送り届けるメッセージの具体的内容、あるい
は、その作成方法を記述する。
【0031】一方、プログラム部品から送り出される、
あるいはプログラム部品に送られるメッセージは、図7
に示すようなフォーマットに従い、送信元部品名とメッ
セージデータから構成される。1つのメッセージの中に
は、必ず1つの送信元部品名と、0もしくは1つもしく
は複数のメッセージデータが存在する、送信元部品名に
はメッセージを送り出したプログラム部品の名前を、メ
ッセージデータにはメッセージの具体的内容を文字列や
数値等の単独または複合体で記述する。電子辞書システ
ムの例では、テキスト部品からのメッセージデータに
は、辞書を検索するためのキーワードとして、例えば”
ability”という文字列が格納される。
【0032】図8はメッセージ定義データ部(7) の一例
である。例えば、図8の第一列のメッセージ定義情報の
意味は、”テキスト入力”という名前のテキスト入力部
品から送り出されたメッセージは、もしそのメッセージ
データが文字列であれば、”英和辞書”という英和辞書
部品へ、”keyword:ability”というメ
ッセージを送り届けなさいというものである。ここで、
送り出すメッセージが、”keyword:abili
ty”という文字列になる理由は、メッセージ定義情報
のメッセージデータの項目に”keyword:(送信
元メッセージデータ)”と記述されており、テキスト入
力部品から送られてきたメッセージのメッセージデータ
が、”ability”という文字列であったため、”
(送信元メッセージデータ)”が”ability”と
いう文字列に置換されたからである。第二列のメッセー
ジ定義情報の意味は、英和辞書部品から文字列をメッセ
ージデータとするメッセージが送られてきたならば、テ
キスト表示部品へその文字列を送り届けるというもので
ある。なお、第三列以降のメッセージ定義情報は、電子
英和辞書システムとは無関係のものである。
【0033】メッセージ定義データ部(7) において、条
件の項目は必ずしも記述する必要はない。例えば、送信
元部品名が”ボタン”のメッセージ定義情報の例では、
条件の項には何も記述されてないので、無条件とみなさ
れることを意味する。また、一つの送信元部品名に対し
て複数の送信先部品名が存在しても良い。同じく例え
ば、送信元部品名が”ボタン”のメッセージ定義情報の
列では、送信先部品名として”メータ11”と”メータ
12”の2つが記述されている。これは、”ボタン”か
ら送り出されたメッセージは、無条件に、”メータ1
1”と”メータ12”という名前を持つ2つの異なるプ
ログラム部品にそれぞれメッセージが送り届けられるこ
とを意味する。また、一つの送信先部品名に対して一つ
以上の条件が存在しても良い。また、一つの送信先部品
名に対して一つ以上のメッセージデータが存在しても良
い。例えば、送信元部品名が”スケール”のメッセージ
定義情報の例には、”50未満”と”0以上20未満”
の2つの一部重複する条件の記述と、それぞれ、”VO
LT”と”(送信元メッセージデータ)x0.001”
の2組、”AMP”と”(送信元メッセージデータ)x
0.001”の2組のメッセージデータが記述されてい
る例が示されている。また、送信先部品名に”全部品”
と指定すると、存在するすべてのプログラム部品にメッ
セージが送り出される。
【0034】(メッセージ定義手段(8) )メッセージ定
義手段(8) は、キーボード操作あるいはマウス操作等に
よって指定された一つあるいは複数のプログラム部品に
対応するメッセージ定義情報が、メッセージ定義データ
部(7) に記憶されていれば、これを読み出し表示する。
表示されたメッセージ情報は、キーボード操作あるいは
マウス操作等によって編集され、再びメッセージ定義デ
ータ部(7) に登録される。
【0035】図9はメッセージ定義手段(8) のブロック
図である。データ読み出し手段(20)によりメッセージ定
義データ部(7) から読み出されたメッセージ定義情報
は、メッセージ編集手段(21)により修正され、データ書
き込み手段(22)によって再びメッセージ定義データ部
(7) に書き込まれる。
【0036】データ読み出し手段(20)は、メッセージ定
義情報の1つもしくは複数の項目をインデックスとして
指定することによって、対応する一つもしくは複数のメ
ッセージ定義情報をメッセージ定義データ部(7) から読
み出し、メッセージ編集手段(21)に与える。あるいは、
インデックスを指定することなしに、メッセージ定義デ
ータ部(7) に記憶している全てのメッセージ情報を読み
だしてもよい。例えば、生成されたプログラム部品の表
示画面上やあるいはメッセージ編集手段(21)の表示画面
上でキーボード操作あるいはマウス操作等によってプロ
グラム部品名が指定されたとすると、データ読み出し手
段(20)は、プログラム部品名をインデックスとして、そ
のプログラム部品に関連するすべてのメッセージ定義情
報を、メッセージ定義データ部(7) から読み出し、メッ
セージ編集手段(21)へ与える。メッセージ編集手段(21)
は、具体的なメッセージ定義情報が与えられれば、それ
の内容を表示し、与えられなければ空白を表示する。ま
た、キーボード操作あるいはマウス操作等によって、メ
ッセージ定義データのフォーマットの1つあるいは複数
の項目を指定して、メッセージ定義情報を読み出しても
よい。さらに、複数の項目の組合せ条件を指定してメッ
セージ定義情報を読み出してもよい。
【0037】メッセージ編集手段(21)は、データ読み出
し手段(2) によって読み出されたメッセージ定義情報が
与えられた場合は、これを一時的にメモリ上に保持し、
同時に表示部(4) に表示する。あるいは、メッセージ定
義情報が与えられない場合は、何も保存せず、メッセー
ジ定義情報は表示しない。メッセージ編集手段(21)の画
面構成図の一例を図10に示す。メッセージ編集手段(2
1)は、一時的にメモリー上に保持したメッセージ定義情
報を、キーボード操作あるいはマウス操作等を通して、
編集すなわち、新規作成、もしくは追加、もしくは変
更、もしくは削除する。この時、表示されたメッセージ
定義情報も同様に遅滞なく表示変更される。メッセージ
編集手段(21)は、メッセージ定義情報を一度に全て表示
しても、スクロール機能やページ機能により部分的に表
示してもよい。また、例えば、メッセージ定義情報ごと
に分割表示する等の表示フォーマットに従って表示して
もよい。データ書き込み手段(22)は、キーボード操作あ
るいはマウス操作等により起動し、メッセージ編集手段
(21)に一時的に保持されているメッセージ定義情報をメ
ッセージ定義データ部(7) に書き込む。つまり、メッセ
ージ定義情報を新規作成した場合にはメッセージ定義デ
ータ部(7) に追加し、既に定義していたメッセージ定義
情報を変更した場合にはメッセージ定義データ部(7) に
上書きし、既に定義していたメッセージ定義情報を削除
した場合にはメッセージ定義データ部(7) から削除す
る。
【0038】(メッセージ解釈手段(9) )メッセージ解
釈手段(9) は、プログラム部品間に定義されたメッセー
ジを解釈して実行するためのものである。なお、プログ
ラム部品間に定義されたメッセージは、メッセージ定義
データ部(7) にメッセージ定義情報として記憶されてい
る。
【0039】プログラム部品から送り出されたメッセー
ジは、一旦メッセージ解釈手段(9)に送り込まれ、メッ
セージ解釈手段(9) によって、メッセージ定義データ部
(7)に記憶されたメッセージ情報に基づいて、新たなメ
ッセージが生成され、メッセージ定義情報に記述された
送信先部品に向けて、送り届けられる。
【0040】図11はテキスト入力部品(23)と英和辞書
部品(24)とテキスト表示部品(25)のメッセージがメッセ
ージ解釈手段(9) を通して伝達する動作を例示してい
る。テキスト入力部品(23)は英和辞書を検索するためキ
ーワードとして英語文字列を入力するためのものであ
り、英和辞書部品(24)は、英和辞書検索機能を有する部
品であり、テキスト表示部品(25)は検索結果を表示部
(4) に表示するためのものである。
【0041】図12はテキスト入力部品(23)と和英辞書
部品(24)とテキスト表示部品(25)の3つのプログラム部
品がメモリ上に生成された時の、これらのプログラム部
品とメッセージ解釈手段(9) のブロック図である。メッ
セージ解釈手段(9) は、検索手段(26)、条件判断手段(2
7)、メッセージ発生手段(28)、送信手段(29)から構成さ
れ、図示しないメモリに書き込まれている制御プログラ
ムに従い後述するデータ処理を行なう。ここに、図12
は実施例を説明するための一具体例に過ぎず、本発明の
技術的範囲を限定する性格のものではない。
【0042】テキスト入力部品(23)のイベント処理手段
(30)は、キーボード操作による文字列入力に起因するイ
ベント情報を入力部から受けると、このイベント情報か
ら入力文字列を抽出して、表示手段(31)およびメッセー
ジ送信手段(32)に与える。メッセージ送信手段(32)は与
えられた文字列をメッセージデータとしたメッセージを
生成し、これをメッセージ解釈手段(9) の検索手段(26)
に送る。例えば、キーボード操作により、”abili
ty”という文字列が入力されたとすると、テキスト入
力部品(23)は、図6に示すメッセージのフォーマットに
従い、送信元部品名が”テキスト入力”、メッセージデ
ータが文字列”ability”であるようなメッセー
ジをメッセージ解釈手段(9) に送り出す。
【0043】このメッセージを受けたメッセージ解釈手
段(9) の検索手段(26)は、送られてきたメッセージに記
述してある送信元部品名、つまり”テキスト入力”をキ
ーワードにして、メッセージ定義データ部(7) の送信元
部品名の項を検索して、部品名が一致する全てのメッセ
ージ定義情報を、メッセージ定義データ部(7) から読み
出し、これとテキスト入力部品(23)から送られてきたメ
ッセージとを条件判断手段(27)に渡す。図8のメッセー
ジ定義データ部(7) の例では、送信元部品名が一致する
メッセージ定義情報は第一列の一つだけであり、これを
メッセージ定義データ部(7) から読み出し、条件判断手
段(27)に渡す。
【0044】条件判断手段(27)は、テキスト入力部品(2
3)から送られてきたメッセージのメッセージデータがメ
ッセージ定義情報に記述してある条件を満足しているか
を判断する。もし満足していればメッセージ定義情報と
送られてきたメッセージの二つをメッセージ発生手段(2
8)に渡す。今、送られて来たメッセージのメッセージデ
ータは文字列”ability”であり、また図8の第
一列のメッセージ定義情報の例での条件が”文字列であ
ること”であるから、条件を満足しており、このメッセ
ージ及びメッセージ定義情報はメッセージ発生手段(28)
に渡される。
【0045】メッセージ発生手段(28)は、メッセージ定
義情報に記述されたメッセージデータに基づき、新たな
メッセージデータを作成し、メッセージ定義情報ととも
に送信手段(29)に与える。今、メッセージ定義情報のメ
ッセージデータは”keyword:(送信元メッセー
ジのメッセージデータ)”であるから、”(送信元メッ
セージのメッセージデータ)”の部分をテキスト入力部
品から送られてきたメッセージのメッセージデータの”
ability”で置換して、”keyword:ab
ility”という新たなメッセージデータから構成さ
れる新たなメッセージを作成し、メッセージ定義情報と
ともに送信手段(29)に渡す。
【0046】送信手段(29)は、メッセージ定義情報に記
述された送信先部品名を宛先として1つまたは複数のメ
ッセージを送る。いま、送信先部品名として”英和辞
書”が指定されているので、送信手段(29)はメッセージ
発生手段によって作成された新たなメッセージを英和辞
書部品(24)へ送り届ける。
【0047】メッセージを受けとった英和辞書部品(24)
のメッセージ受信手段(33)は、”keyword:ab
ility”というメッセージデータを読み取り、演算
手段(34)にて、文字列”ability”をキーワード
として英和辞書を検索し、その結果をメッセージ送信手
段(35)に与える。メッセージ送信手段(35)は検索結果を
メッセージデータにセットして、新たなメッセージを生
成し、メッセージ解釈手段(9) の検索手段(26)にこのメ
ッセージを送る。メッセージ解釈手段(9) は、英和辞書
部品(24)から送られてきたメッセージに対して上記の動
作と同様にメッセージ定義データ部(7) を検索し、条件
を判断し、新たなメッセージを作成して、テキスト表示
部品(25)に送る。テキスト表示部品(25)はメッセージ受
信手段(36)で受け取ったメッセージを処理して、そのメ
ッセージデータ、すなわち辞書の検索結果を表示手段(3
7)に与え、これを表示する。
【0048】メッセージ解釈手段(9) により、メッセー
ジ定義手段(8) で定義されたプログラム部品間の動作
を、その場で任意の時に実行して確認することができ
る。
【0049】(入出力手段(10))入出力手段(10)は、部
品データ部(5) あるいは、メッセージ定義データ部(7)
に記憶された情報を読みだし、外部記憶装置に、例えば
ファイル形式で出力する。また逆に、外部記憶装置から
読み込んだ情報を、部品データ部(5) あるいはメッセー
ジ定義データ部(7) に書き込む。部品データ部(5) に書
き込まれた情報は、前述のプログラム部品生成手段(2)
に与えられ、プログラム部品として生成され、表示され
る。
【0050】(ソースコード変換手段(11))ソースコー
ド変換手段(11)は、部品データ部(5) とメッセージデー
タ定義部(7) に記憶してある情報を、情報量を欠落する
ことなく、それぞれプログラムソースコードへ変換す
る。
【0051】図13は、電子辞書システムの例におい
て、部品データ部(5) に記憶されている情報から変換さ
れたプログラムソースコードのフローチャートの一例で
あり、図14はメッセージ定義データ部にから変換され
たプログラムソースコードのフローチャートの一例であ
る。前者のプログラムソースコードは、英和電子辞書シ
ステムのメインプログラムであり、後者は、このメイン
プログラムから間接的に呼び出されるメッセージ伝達プ
ログラムである。また、図15はプログラム部品のうち
テキスト入力部品のプログラムのフローチャートの一例
であり、メインプログラムから直接的に呼び出される。
なお、プログラム部品のプログラムはライブラリとして
既に存在しており、自動生成されるものではない。上記
3つのプログラムの処理フローについては後述する。
【0052】図16はソースコード変換手段のブロック
図である。図16において部品データ読み出し手段(38)
は部品データ部(5) から部品名と部品情報からなる部品
データを読み出し、部品データ変換手段(39)に与える。
【0053】部品データ変換手段(39)は、メインプログ
ラムのソースコードのうち、部品データに対応するステ
ップについては読み出された部品データを変換してプロ
グラムソースコードを作成するが、部品データに対応し
ないステップは、あらかじめ決められた一定形式のプロ
グラムソースコードを作成する。図13中ステップ1、
8、9は、部品データに対応しないステップである。図
13中ステップ2は、部品データ部(5) に格納されてい
るテキスト入力部品の部品属性情報、例えば図5に示す
ような位置情報やサイズ情報や色情報等の情報から変換
されたプログラムソースコードでに相当する。このステ
ップ2の処理は、テキスト入力部品を生成するために必
要な各種の属性情報の設定を行う処理である。例えば、
このメインプログラム中で別途定義した変数に属性情報
を格納する処理を行なう。ステップ3は、部品データ部
(5) に格納されているテキスト入力部品のプログラム部
品名の情報から変換されたプログラムソースコードであ
る。このステップでは、ステップ2において設定された
属性情報をもとにテキスト入力部品を、固有の名前を付
けて、メモリ上に生成する処理を行なっている。例え
ば、固有の名前と、ステップ2において属性情報を設定
した変数の二つを引数として、テキスト入力部品を生成
する関数を呼び出す処理を行なう。同様にステップ4、
5は英和辞書部品の部品データ、ステップ6、7はテキ
スト表示部品の部品データから変換されたプログラムソ
ースコードに相当する。
【0054】図16において、メッセージ定義データ読
み出し手段(40)は、メッセージ定義データ部(5) からメ
ッセージ定義情報を読み出し、メッセージ定義データ変
換手段(41)に与える。
【0055】メッセージ定義データ変換手段(41)は、メ
ッセージ定義情報に記述された送信元部品名、条件、送
信先部品名、メッセージデータを、メッセージ伝達プロ
グラムの対応するステップに変換する。メッセージ定義
情報に対応しないステップはあらかじめ決められた一定
形式のプログラムソースコードに変換する。
【0056】図14は、図8に示すメッセージ定義デー
タ部(7) の例から変換されたメッセージ伝達プログラム
の一部であり、図8の第一列に記述してある、送信元部
品名が”テキスト入力”の場合のメッセージ定義情報か
ら変換されたプログラムソースコードのフローチャート
を中心に、一部省略して示してある。ステップ14は、
メッセージデータ定義部(7) に対応しないステップであ
り、メッセージを受信する処理を行なう。ステップ15
は、メッセージデータ定義部(7) の送信元部品名の項の
内容を変換したプログラムソースコードの部分であり、
ステップ14で受信したメッセージの中の送信元部品名
が”テキスト入力”であるかどうかを判断する処理を行
なう。ステップ16は、メッセージデータ定義部(7) の
条件の項の内容を変換したプログラムソースコードの部
分であり、ステップ14で受信したメッセージの中のメ
ッセージデータが”文字列であること”という条件を満
たしているかどうかを判断する処理を行なう。ステップ
17は、メッセージデータ定義部(7) のメッセージデー
タの項の内容を変換したプログラムソースコードの部分
であり、送り出すべきあらたなメッセージを生成する処
理を行なう。ステップ18は、メッセージデータ定義部
(7) の送信先部品名の項の内容を変換したプログラムソ
ースコードの部分であり、ステップ17で作成した新た
なメッセージを英和辞書部品に送り届ける処理を行な
う。
【0057】ソースコード出力手段(42)は、部品データ
変換手段(39)、またはメッセージ定義データ変換手段(4
1)によって変換され生成されたプログラムソースコード
を、外部記憶装置に、例えばファイル形式で出力する。
【0058】ここで、変換されたプログラムソースコー
ドの処理手順について述べる。まず、図13のメインプ
ログラムのステップ1において画面表示に必要な初期化
を行ない、次に上述のようにステップ2から7におい
て、電子英和辞書システムに必要な三つの部品を生成
し、ステップ8でイベント情報の発生を待ち、何らかの
イベントが発生すると、ステップ9でそのイベント情報
に対応したプログラム部品のイベント処理手段を呼び出
す。イベント処理手段に引き続く一連の処理が終了する
と再びステップ8に戻る。プログラム部品のうち例えば
テキスト入力部品では、イベント処理手段は図15のス
テップ10のイベント処理に対応しており、イベント情
報を解析して入力された文字を抽出する。さらに、入力
された文字を表示手段を用いて表示部に表示し(ステッ
プ11)、もし入力文字がリターンキーであれば(ステ
ップ12)、メッセージ送信手段によりメッセージを送
信する(ステップ13)。そして、図14のメッセージ
伝達プログラムのステップ14が呼び出される。メッセ
ージ伝達プログラムでは、受信したメッセージの送信元
部品名が”テキスト入力”であるかどうかを判断する
(ステップ15)。もし、”テキスト入力”でなけれ
ば、送信元部品名が”ボタン”であるかを判断する。逆
に”テキスト入力”であれば、さらにメッセージデータ
が”文字列であること”という条件を満たしているかど
うか判断し(ステップ16)、もし、条件を満たしてい
れば、送信すべきメッセージを生成し(ステップ1
7)、これを英和辞書部品へ送信する(ステップ1
8)。以降、同様に、メッセージを受信した英和辞書部
品01は、辞書を検索して、メッセージ伝達プログラム
へメッセージを送り、最後にテキスト表示部品にて、検
索結果が表示され、一連の処理が終わる。ここで再び図
13のメインプログラムはステップ8に戻って次のイベ
ントを待つ。
【0059】上記実施例では、英和電子辞書システムの
プログラムソースコードを生成する例について、テキス
ト入力部品と英和辞書部品とテキスト表示部品の3つの
プログラム部品を取り上げて説明したが、さらに他のプ
ログラム部品を追加することによって、より充実した英
和電子辞書システムを構築することができる。例えば、
画面に表示された内容をすべて消去するためのボタン部
品や、英和辞書部品が英和辞書を検索する際の検索方法
を指定するためのメニュー部品や、すでに検索した単語
の一覧を表示するためのリスト部品などが考えられる。
【0060】一般に、任意のプログラムソースコードを
生成するためには、その構成要素となるプログラム部品
を組み合せ、これらの間の動作関係を定義すればよい。
【0061】本発明が、プログラム部品の組み合わせと
メッセージの定義によるプログラム部品間の動作定義に
より、所望のプログラムソースコードを生成可能である
ことは、上記の実施例から容易に類推できる。
【0062】
【発明の効果】本発明によれば、メッセージ受信手段、
メッセージ送信手段の少なくとも1つを持つプログラム
部品を組み合わせてプログラムを構築する場合に、メッ
セージ定義手段によりプログラム部品間の動作をメッセ
ージのやりとりという形式で対話的、視覚的に定義し、
メッセージ解釈手段が定義されたメッセージ定義情報を
解釈してプログラム部品間の動作を実行することができ
るので、やりとりされるメッセージ内容に応じてプログ
ラム部品間の動作を変動させることも可能となり、その
場で動的に動作確認することができ、プログラムの生産
性が向上し、プログラム開発者の負荷を減少させること
ができる。さらに、プログラム部品の名前及び属性情報
とプログラム部品間の動作定義情報を包含したソースコ
ードを自動的に生成することができるので、プログラム
の生産性が向上し、プログラム開発者の負荷を減少させ
ることができる。
【図面の簡単な説明】
【図1】プログラム構築装置の一例を示すブロック図で
ある。
【図2】プログラム部品の一例を示すブロック図であ
る。
【図3】プログラム部品の属性データ部の例を示す図で
ある。
【図4】テキスト入力部品とテキスト出力部品の表示例
を示す図である。
【図5】部品データ部の例を示す図である。
【図6】メッセージ定義データ部のメッセージ定義情報
フォーマットを示す図である。
【図7】受渡しされるメッセージのフォーマットを示す
図である。
【図8】メッセージ定義データ部の例を示す図である。
【図9】メッセージ定義手段のブロック図である。
【図10】メッセージ編集手段の表示例を示す図であ
る。
【図11】英和辞書システムのメッセージ伝達を説明す
るための図である。
【図12】テキスト入力部品と英和辞書部品とテキスト
表示部品とメッセージ解釈手段のブロック図である。
【図13】生成されたソースコードのメインプログラム
のフローチャートである。
【図14】生成されたソースコードのメッセージ伝達プ
ログラムのフローチャートである。
【図15】テキスト入力部品プログラムのフローチャー
トである。
【図16】ソースコード変換手段のブロック図である。
【符号の説明】
(1) ライブラリ (2) 生成手段 (3) 削除手段 (4) 表示部 (5) 部品データ部 (6) 部品属性編集手段 (7) メッセージ定義データ部 (8) メッセージ定義手段 (9) メッセージ解釈手段 (10) 入出力手段 (11) ソースコード変換手段 (12) 作成されたプログラム部品群 (13) プログラム部品の属性データ部 (14) プログラム部品の表示手段 (15) プログラム部品のイベント処理手段 (16) プログラム部品の演算手段 (17) プログラム部品のメッセージ受信手段 (18) プログラム部品のメッセージ送信手段 (19) 入力部 (20) メッセージ定義手段のデータ読み出し手段 (21) メッセージ定義手段のメッセージ編集手段 (22) メッセージ定義手段のデータ書き込み手段 (23) テキスト入力部品 (24) 英和辞書部品 (25) テキスト表示部品 (26) メッセージ解釈手段の検索手段 (27) メッセージ解釈手段の条件判断手段 (28) メッセージ解釈手段のメッセージ発生手段 (29) メッセージ解釈手段の送信手段 (30) テキスト入力部品のイベント処理手段 (31) テキスト入力部品の表示手段 (32) テキスト入力部品のメッセージ送信手段 (33) 英和辞書部品のメッセージ受信手段 (34) 英和辞書部品の演算手段 (35) 英和辞書部品のメッセージ送信手段 (36) テキスト表示部品のメッセージ受信手段 (37) テキスト表示部品の表示手段
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平4−294424(JP,A) 特開 平1−240978(JP,A) 情報処理学会第43回(平成3年後期) 全国大会講演論文集,平成3年 9月24 日発行.p.5−461〜462 情報処理学会第45回(平成4年後期) 全国大会講演論文集,平成4年 9月28 日発行.p.5−199〜200 コンピュータ・ソフトウェア,日本ソ フトウェア科学会,1990年 1月発行, Vol.7,No.1,p.45−60 (58)調査した分野(Int.Cl.7,DB名) G06F 9/06 G06F 9/44

Claims (3)

    (57)【特許請求の範囲】
  1. 【請求項1】 メッセージ受信手段、メッセージ送信手
    段の少なくとも1つを持つプログラム部品を組み合わせ
    てプログラムを構築するためのプログラム構築装置であ
    って、 送信元部品名、条件、送信先部品名、メッセージデータ
    の項目を含むメッセージ定義情報を記憶するメッセージ
    定義データ部と、 上記メッセージ定義情報を編集するためのメッセージ定
    義手段と、 いずれかのプログラム部品からメッセージを受けた場合
    に、そのメッセージと上記メッセージ定義情報とに基づ
    いて、新たなメッセージを生成し、該当するプログラム
    部品に送るメッセージ解釈手段と、 上記プログラム部品の名前及び属性情報と上記メッセー
    ジ定義データ部に記憶された情報とをプログラムソース
    コードに翻訳するソースコード変換手段とを備えたこと
    を特徴とするプログラム構築装置。
  2. 【請求項2】 上記プログラム部品は、属性データ部を
    持ち、表示手段、イベント処理手段、演算手段の少なく
    とも1つを持つことを特徴とする請求項1に記載のプロ
    グラム構築装置。
  3. 【請求項3】 上記プログラム部品から送り出される、
    あるいはプログラム部品に送られるメッセージには、1
    つの送信元部品名と、0もしくは1つもしくは複数のメ
    ッセージデータが存在することを特徴とする請求項1又
    は2に記載のプログラム構築装置。
JP35314692A 1992-12-11 1992-12-11 プログラム構築装置 Expired - Lifetime JP3420785B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP35314692A JP3420785B2 (ja) 1992-12-11 1992-12-11 プログラム構築装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP35314692A JP3420785B2 (ja) 1992-12-11 1992-12-11 プログラム構築装置

Publications (2)

Publication Number Publication Date
JPH06180646A JPH06180646A (ja) 1994-06-28
JP3420785B2 true JP3420785B2 (ja) 2003-06-30

Family

ID=18428875

Family Applications (1)

Application Number Title Priority Date Filing Date
JP35314692A Expired - Lifetime JP3420785B2 (ja) 1992-12-11 1992-12-11 プログラム構築装置

Country Status (1)

Country Link
JP (1) JP3420785B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000259400A (ja) * 1999-03-09 2000-09-22 Nippon Steel Corp ソフトウェアの自動生成装置、その自動生成方法、及び記録媒体

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
コンピュータ・ソフトウェア,日本ソフトウェア科学会,1990年 1月発行,Vol.7,No.1,p.45−60
情報処理学会第43回(平成3年後期)全国大会講演論文集,平成3年 9月24日発行.p.5−461〜462
情報処理学会第45回(平成4年後期)全国大会講演論文集,平成4年 9月28日発行.p.5−199〜200

Also Published As

Publication number Publication date
JPH06180646A (ja) 1994-06-28

Similar Documents

Publication Publication Date Title
US6938205B1 (en) Object oriented editor for creating world wide web documents
JP3123025B2 (ja) データ処理システムにおける切貼りフィルタ
JP3441309B2 (ja) 図的プログラミングにおける機能オブジェクトの表示方法
JPH09134282A (ja) プログラム作成方法
JP2001306308A (ja) データ中心アプリケーションのクラス定義方法
JP2002244849A (ja) データ処理装置
US7296222B1 (en) Method and system for preparing and displaying page structures for web sites
JPH07200278A (ja) 図形を用いたプログラミングシステム
JPH07104981A (ja) オブジェクトリンク情報を用いたプログラム構築装置
US7603624B2 (en) System and method for styling content in a graphical user interface control
WO2005098663A1 (ja) 情報管理装置
JPH11167584A (ja) ページ遷移方法及びその実施装置並びにその処理プログラムとデータを記録した媒体
JP2022093293A (ja) エクセルツールを用いたオンラインレポート作成システム
JPH0475182A (ja) データ駆動型情報処理装置
JP3420785B2 (ja) プログラム構築装置
JP3294691B2 (ja) オブジェクト指向システム構築方法
JPH08329004A (ja) アプリケーション・プログラム使用の端末操作性向上方法
JPH03278247A (ja) ハイパーメディアシステム
JPH06230957A (ja) チェックリストシステム
JPH0612250A (ja) 視覚的プログラミング方法
JPH0773030A (ja) 動的モデル設計支援方法
JP3355695B2 (ja) プロトコル作成方法とプロトコル作成システム
JP2001134423A (ja) 対話型既存システムを利用する新システムの画面情報出力方法
JP2900504B2 (ja) 情報処理装置
JPH0454635A (ja) 事務処理方法

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20010828

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20090418

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20090418

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20100418

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20110418

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20120418

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20130418

Year of fee payment: 10

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130418

Year of fee payment: 10