JP2001318796A - 内外イベントドリブン方式によるプログラム実行制御方法、記録媒体およびプログラム作成支援システム - Google Patents

内外イベントドリブン方式によるプログラム実行制御方法、記録媒体およびプログラム作成支援システム

Info

Publication number
JP2001318796A
JP2001318796A JP2001051886A JP2001051886A JP2001318796A JP 2001318796 A JP2001318796 A JP 2001318796A JP 2001051886 A JP2001051886 A JP 2001051886A JP 2001051886 A JP2001051886 A JP 2001051886A JP 2001318796 A JP2001318796 A JP 2001318796A
Authority
JP
Japan
Prior art keywords
event
processing
program
module
execution
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.)
Granted
Application number
JP2001051886A
Other languages
English (en)
Other versions
JP4925514B2 (ja
Inventor
Atsushi Takabe
篤 高部
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.)
Leben Inc
Original Assignee
Leben Inc
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 Leben Inc filed Critical Leben Inc
Priority to JP2001051886A priority Critical patent/JP4925514B2/ja
Publication of JP2001318796A publication Critical patent/JP2001318796A/ja
Application granted granted Critical
Publication of JP4925514B2 publication Critical patent/JP4925514B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 ソフトウェア開発時およびソフトウェア実行
時において、処理群の制御を効率化するプログラム構造
を実現する。 【解決手段】 内部イベントを発生させる機構を設け、
イベントドリブンにより処理単位(S1・・・Sn、E
1・・・En)を制御するプログラム構造を提供する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、コンピュータソフ
トウェアの開発技術に係り、特に処理群の制御を効率化
するプログラム構造を実現させる技術に関する。
【0002】
【従来の技術】近年のソフトウェア開発は、オブジェク
ト指向の考え方を取り入れたプログラム開発ツールを用
いて行うことが多い。このようなプログラム開発ツール
においては、例えばC言語、BASIC言語に基づいた
仕様のプログラミング言語が使用される。また、プログ
ラム開発ツールには、ソフトウェアの外観を構成する部
品、例えばボタン、メニュー等が予め用意されており、
開発者はこれらの部品のシンボルを画面上に適宜配置す
ることにより、ソフトウェアの枠組みを作成することが
できる。配置されたボタン等の部品には、ソフトウェア
実行時にユーザのマウス操作によってクリックされたこ
と等を検知する仕組みが組み込まれており、検知した場
合には、ユーザの操作に応じたイベントを発生させるよ
うになっている。ソフトウェア開発者は、このイベント
が発生した場合の、ソフトウェアの処理を、ソフトウェ
ア開発ツールに応じたプログラミング言語で記載して、
ソフトウェアの動作を規定することにより、ソフトウェ
アの開発を行う。このようなプログラム開発方法は、一
般にビジュアル化された開発方法と称されている。
【0003】
【発明が解決しようとする課題】しかし、上記の開発方
法では、外部操作したイベント発生に対する処理の規定
は行えるが、処理内部のプログラムの記述については規
定されないため、プログラムの機能を規定する要求仕様
書と、プログラムの記述構造とが一致しないため、要求
仕様書と、プログラム仕様書との記述内容の統一性をと
ることが困難である。このことは、開発時のみならず、
バージョンアップ時の整合性保持、バグ修正時等におい
て大きな問題となる。また、ビジュアル化により、仕様
書作成に費やす時間が省略され、開発者の感性により逐
次プログラムを作成していくという形態が多くとられる
ようになり、個人主義的なプログラムになりやすいとい
う問題も生じている。
【0004】さらには、上記の開発方法を実現させるた
めには、プログラム開発ツール自身の機能を複雑化せざ
るを得ず、プログラム開発ツールの不具合、インタフェ
ースの煩雑化等の問題が生ずる。
【0005】このため、ソフトウェア開発者の負担が大
きく、ソフトウェア開発者の育成も多大な時間と労力が
必要とされることとなっている。
【0006】一方、ソフトウェアが、実行時に発生させ
るイベントは、マウス操作、キーボード入力、割り込み
等(これらを「外部イベント」と称する)であり、内部
的な処理を中心としたイベント(これを「内部イベン
ト」と称する)については、ほとんど使用されておら
ず、使用されたとしても、タスク間のパイプ、メール、
あるいは、オブジェクトに対するメッセージ等が主であ
り、開発者の裁量に委ねられている。このため、プログ
ラム構造の標準化が困難となっている。
【0007】本発明は、上記の課題を解決するために開
発されたもので、その目的は、ソフトウェア開発時およ
びソフトウェア実行時において、処理群の制御を効率化
するとともに、規定・整理されたプログラム構造を実現
させる技術およびプログラム作成支援システムを提供す
ることにある。
【0008】
【課題を解決するための手段】上記目的を達成するた
め、本発明は、複数の処理部からなるコンピュータプロ
グラムの実行制御方法であって、前記処理部の実行終了
時、もしくは、実行時において、他の処理部に対してメ
ッセージを送付可能なイベントを発生させるステップ
と、前記イベントの発生を監視するステップと、前記イ
ベントの発生に応動して、他の処理部を実行させるステ
ップとからなることを特徴としたコンピュータプログラ
ムの実行制御方法を提供する。
【0009】
【発明の実施の形態】本発明の実施の形態について図面
を参照して説明する。
【0010】まず、本発明が適用されるコンピュータの
概要について説明する。図11は、一般的なコンピュー
タの構成を示すブロック図である。本図において、コン
ピュータ本体500は、中央演算処理装置(CPU)5
01と、主記憶装置502と、画像処理装置503と、
外部記憶装置504と、入出力制御装置505と、これ
らを接続するシステムバス506とを備えている。
【0011】コンピュータ本体500には、入出力制御
装置505を介して、キーボード507と、マウス50
8と、モニタ509とが接続できる。もちろん、本発明
が適用されるコンピュータは本構成に限られるものでは
ない。
【0012】CPU501は、コンピュータの中心的な
制御を行う装置で、プログラムを解読して、実行する機
能を有している。主記憶装置502は、コンピュータが
取り扱うデータ、プログラム等を一時的に格納する機能
を有している。画像処理装置503は、画像を生成する
ための演算等を行う。外部記憶装置504は、ハードデ
ィスク装置等から構成され、基本ソフト、アプリケーシ
ョンソフト、その他各種データ等が不揮発的に格納され
る。入出力制御装置505は、操作者の指示を受け付け
るとともに、データを外部に接続された装置に入出力す
る際の制御を行う。
【0013】次に、本発明によるプログラム実行制御方
式について説明する。図1は、本発明によるプログラム
制御方式の概要を示すブロック図である。本図におい
て、S1、S2・・・Sn、E1、E2・・・Enは処
理単位である。これらの処理単位S1、S2・・・En
によって処理群が構成される。これらの処理単位は、プ
ログラム実行時において初期化(B100)された後、
特定の外部イベントもしくは内部イベントの発生をトリ
ガーとして起動し、処理を開始する(B101)。そし
て、処理が終了すると、処理単位に応じた内部イベント
が発生する。この内部イベントに対応して新たな処理が
起動する。このようにして、外部イベントと内部イベン
トを元に次々と処理が行われる。この処理の連結を内外
イベントドリブン方式と称する。
【0014】次に、内外イベントドリブン方式のプログ
ラム制御法を用いた処理の一例を説明する。図2は、内
外イベントドリブン方式のプログラム制御法を用いた処
理の概念を示すフロー図である。図3、図4は、処理単
位の内容を説明する図である。
【0015】図2で示す処理は、データの入力チェック
を行い(S1)、正常であればファイルをオープンし
(S2)、そのファイルを読み込み(S3)、所定の処
理(S4)を行った後、ファイルをクローズして(S
5)終了する。また、処理の途中には適宜エラーチェッ
クが行われる。この処理について内外イベントドリブン
方式に基づいて説明する。ここで、S1、S2…S5、
E1、E2、E3は本方式における処理単位である。
【0016】本処理が起動すると、まず処理単位S1を
実行する。すなわち、コンピュータ操作者のマウスクリ
ック等により本処理が選択されると、外部イベントであ
る起動イベントが発生する。この起動イベントをトリガ
ーとして処理単位S1が起動する。
【0017】処理単位S1では、図3(a)に示すよう
に、コンピュータ操作者により入力されたデータの入力
チェック(S11)を行い、入力エラーの判断(S1
2)を行う。入力エラー判断(S12)の結果、入力デ
ータが規格内であれば、内部イベントであるS2Eve
ntを発生させ(S13)、入力データが規格外であれ
ば、内部イベントであるE1Eventを発生させ(S
14)、処理単位S1は処理を終える。
【0018】S2Event(S13)が発生すると、
図3(b)に示すように処理単位S2が、S2Even
tをトリガーとして起動する。処理単位S2は、ファイ
ルのオープンを試みる(S21)。その結果(S2
2)、ファイルオープンが成功であれば、S3Even
tを発生させ(S23)、ファイルオープンが失敗であ
れば、E2Eventを発生させ(S24)、処理単位
S2は、処理を終える。
【0019】S3Event(S23)が発生すると、
図3(c)に示すように処理単位S3が、S3Even
tをトリガーとして起動する。処理単位S3は、ファイ
ルのリードを試みる(S31)。その結果(S32)、
ファイルリードが成功であれば、S4Eventを発生
させ(S33)、ファイルリードが失敗であれば、E3
Eventを発生させ(S34)、処理単位S3は、処
理を終える。
【0020】S4Event(S33)が発生すると、
図3(d)に示すように処理単位S4が、S4Even
tをトリガーとして起動する。処理単位S4は、計算処
理を行う(S41)。計算処理を終えると、E5Eve
ntを発生させ(S42)、処理単位S4は、処理を終
える。
【0021】S5Event(S42)が発生すると、
図3(e)に示すように処理単位S5が、S5Even
tをトリガーとして起動する。処理単位S5は、ファイ
ルをクローズする(S51)。そして本処理が終了す
る。
【0022】次に、エラーが発生した場合の処理につい
て説明する。
【0023】符号S14により、E1Eventが発生
すると、図4(a)に示すように処理単位E1が、E1
Eventをトリガーとして起動する。処理単位E1
は、エラー表示を行う(E11)。そして本処理が終了
する。
【0024】E2Event(S24)が発生すると、
図4(b)に示すように処理単位E2が、E2Even
tをトリガーとして起動する。処理単位E2は、エラー
表示を行う(E21)。そして本処理が終了する。
【0025】E3Event(S34)が発生すると、
図4(c)に示すように処理単位E3が、E3Even
tをトリガーとして起動する。処理単位E3は、エラー
表示を行う(E31)。そして、S5Eventを発生
させ(E32)、処理単位E3は、処理を終える。
【0026】このように、本発明によるプログラム制御
方式は、処理中にIF(判定)文を用いるときは、その
分岐条件に応じたイベントを発生させることを基本とす
る。ただし、前もって提供する処理等における設定等に
より例外を設けることが可能である。そして、分岐後の
処理は、イベントに応じた別処理単位を起動させる。ま
た、処理単位が外部関数として呼び出されたときは、リ
ターンステータスの判定により、内部イベントを発生さ
せる。
【0027】なお、本方式は特定のプログラミング言語
に依存するものではなく、あらゆる言語について適用す
ることが可能である。さらには、内外イベントドリブン
方式に最適化したプログラミング言語を定義することも
可能である。
【0028】次に、内外イベントドリブン方式によるプ
ログラム制御方法に用いられるステージの概念について
説明する。ステージは、いくつかの処理がまとまったも
ので、階層構造を構築することができる。図5は、ステ
ージの階層構造の概念図である。
【0029】本図において、ステージ0(30)が最上
位のステージである。ステージ0は、下位ステージであ
るステージ1(31)とステージ2(36)とを有して
いる。ステージ1は、下位ステージであるステージ1−
1(32)とステージ1−2(35)とを有している。
ステージ1−1は、下位ステージである1−1−1(3
3)とステージ1−1−2(34)とを有している。
【0030】イベントによるプログラムの実行の流れ
は、同層ステージ間、および、上下に隣接するステージ
間のみで推移することを基本として、間のステージを飛
ばした移動は認められず、コンパイラあるいは構築ツー
ル等でエラーを発生させる。このため、理論構造の明瞭
化が可能となる。ただし、実行時に重大なエラーが発生
した場合等の処理に例外を設けることができる。
【0031】図6は、ステージをGUI(Graphi
cal User Interface)画面に組み合
わせた概念図である。
【0032】本図において、画面全体(40)が、本例
での最上位ステージ(Stage1)である。画面全体
(40)は、表示される項目1(41)と、表示される
項目2(42)と、ボタン1(43)と、ボタン2(4
4)と、画面を操作するためのボタン群(45)を下位
ステージとして有しており、これらはStage1の下
位ステージである。すなわち本例では、最上位ステージ
である画面全体40をまず定義し、次に、各処理単位で
ある項目41、42、ボタン43、44、画面操作ボタ
ン群45を、Stage1に属する下位ステージとして
定義することとなる。
【0033】以上に示したように、内外イベントドリブ
ン方式によるプログラム制御方法は、外部イベントと、
内部イベントをトリガーとして、さまざまな処理単位を
実行させる。これにより、一つ一つの処理単位を短くす
ることができ、かつ、制御構造を明確化することができ
るため、プログラムの標準化が容易に可能となる。ま
た、エラー処理も一つの処理単位として独立して記述で
きるため、複数定義、階層の複雑化等を回避することが
可能となる。
【0034】一方、開発時においては、イベント単位の
ブレークあるいは処理単位ごとのブレークが簡易に実現
できるため、分業化を含めた効率的なデバッグ作業を行
うことが可能となる。
【0035】次に、内外イベントドリブン方式を用いた
プログラムのコンパイラーについて説明する。本コンパ
イラーは、外部イベントと内部イベントとを管理し、イ
ベント対応テーブルを作成する手段を有しており、コン
パイル時にイベント対応テーブルが作成される。また、
本コンパイラーは、ステージを管理する手段を有してい
る。
【0036】図7は、イベント対応テーブルの概念図を
示したものである。本図において、符号100はイベン
ト対応テーブルである。符号200は、処理単位のプロ
グラムコード群(201a、201b、…201y)で
ある。イベント対応テーブル100は、イベントID部
101と、処理実行アドレス部102を備えている。イ
ベントID部101は、イベントの識別コードを管理
し、処理実行アドレス部102は、イベントをトリガー
として起動する処理単位のプログラムコードの先頭アド
レスを管理する。
【0037】ここでのアドレスは、プログラムコードの
先頭アドレスに限られず、処理実行記号、No、インタ
ーネットURLアドレス等であってもよい。また、本例
では処理実行アドレスが1個であるが、複数個指定可能
としてもよい。
【0038】発生した内外イベントに対して起動される
処理モジュール(処理単位)は複数個存在してもよく、
複数個の処理モジュールの起動は、例えば、順位を定め
た起動方式、あるいは、マルチタスク、マルチスレッ
ド、マルチCPUを起動させる方式、さらには、表1に
示すように、インターネットサーバに振り分けて起動さ
せる方式とすることができる。
【0039】
【表1】
【0040】表2に示すように、順位を設ける場合に
は、アドレス情報部に順位とアドレス部とを設ける等に
より順位を管理できるものとする。その後、スタック等
にすべてのアドレスを格納し、すべてのモジュールが実
行処理を終了するまで、次のイベントに対する実行を行
なわない制御を行なう。
【0041】
【表2】
【0042】マルチスレッド等の機構に振り分ける場
合、処理を受けた側にも内外イベントドリブン方式によ
るプログラムが起動されるようにすることができ、この
場合の終了コードは、起動元に対するイベントコードに
なる。
【0043】図8は、内部イベントと、外部イベントを
別々に管理するイベント対応テーブルの概念図である。
本図において、符号110は、内部イベント対応テーブ
ルであり、符号120は、外部イベント対応テーブルで
ある。その他の構造は図7のイベント対応テーブルと同
様である。
【0044】図9は、ステージ毎にイベント対応テーブ
ルを管理する場合の概念図である。本図において、符号
50、51、52、53、54は、ステージ毎に整列さ
れたイベントテーブルである。処理実行時には、各ステ
ージに対応したイベント対応テーブルにより、処理単位
が識別される。
【0045】次に、内外イベントドリブン方式のプログ
ラムを実行するCPUについて説明する。内外イベント
ドリブン方式のプログラムは、一般的なCPUにおいて
実行可能である。この場合、コンパイル時に作成された
イベント対応表を、プログラムロード時にメインメモリ
に格納することにより、実行時にイベント対応表を参照
して、該当する処理を行う。
【0046】また、内外イベントドリブン方式に最適化
されたCPUを用いることによって、内外イベントドリ
ブン方式のプログラムはさらに高速に実行可能となる。
内外イベントドリブン方式に最適化され、イベント管理
機能を持つCPUを「Event Code CPU」
と称する。Event Code CPUとしては、例
えば、イベント信号専用のイベントバスを設けることが
考えられる。このようなイベントバスを設けることによ
り、アドレスバス・データバスを介在させずに、イベン
ト制御、イベント対応表の参照、判断、処理モジュール
の起動等を行うことが可能となる。また、イベント対応
表専用のメモリ領域等を設けたイベント管理メモリを実
装することも可能である。また、イベント発生用の命令
コードも、このバスを介して行うことも可能である。
【0047】一般に、マルチプロセッサ環境で実行させ
るためには、各処理の同期を取る必要がある。しかし、
本発明の内外イベントドリブン方式では、処理単位ごと
に別CPUに処理を割り振り、各処理の終了イベントが
出揃った時点で、次処理のイベントを発生させることが
可能で、処理間の同期を取ることが容易となる。このた
め、マルチプロセッサ環境で、今まで同期をプログラム
で意識管理していたものが、本方式を利用することで構
築が簡単にできるようになる。また、各CPUの利用効
率を高めることができる。
【0048】ここで、上述の各処理の終了イベントが出
揃った時点で、次処理のイベントを発生させる処理につ
いて説明する。本処理を実現させる機構をイベントマッ
チ機構と称する。図10は、イベントマッチ機構を説明
する図である。本図において、処理1(301)が終了
すると、Event1(302)が発生し、処理2(3
03)が終了すると、Event2(304)が発生
し、処理3(305)が終了するとEvent3(30
6)が発生する。そして、Event1(302)と、
Event2(304)と、Event3(306)と
のすべてが発生すると、Event4(307)が発生
するようになっている。Event1(302)と、E
vent2(304)と、Event3(306)との
発生順序は問わない。処理4(308)はEvent4
(307)をトリガーとして処理を開始する。このよう
にして、各処理を各プロセッサに割り振った場合にも、
同期を取ることが可能となる。また、これらの処理はプ
ログラム上で行う以外にも、ファームウェアに組み込ん
で、プログラム外で、あたかも外部イベントのような振
る舞いとすることも可能である。さらに、マルチプロセ
ッサ以外でも、イベントに対する処理が複数発生するケ
ースもあり、このときも発生した処理がすべて終了した
後に、次イベントを生成する。
【0049】また、すべてが終了しなくても、定められ
たイベント条件が発生した場合にも次イベントを発生さ
せ、他の処理を開始させるようにしてもよい。定められ
たイベント条件の例としては、重大エラーイベントの発
生、イベント論理合成、タイムオーバー等があげられ
る。また、処理モジュールを複数起動させる際に各処理
を別タスクとして起動させ、各タスクからのイベントの
戻りを待つ方式において、定められたイベントが発生し
た場合に次処理モジュールを実行するが、次処理モジュ
ールを実行後に、他のタスクからのイベントが発生す
る。このイベントを無視する方式と、継続的に次処理モ
ジュールを実行する方式がある。継続する方式は、次処
理を別タスクの起動等により処理が可能となる。この方
式により実行処理が拡大し、得られる結果も複数とな
る。この方式によりネット上での並列情報収集、データ
ベース上での並列情報処理等が可能になる。
【0050】次に、内外イベントドリブン方式を用いた
プログラム構築の具体的な実施例について説明する。本
実施例では、携帯用端末機において、あらかじめ名簿デ
ータベースに登録された人物データから、所定の条件を
満たすデータを抽出するプログラムを作成する場合につ
いて説明する。
【0051】携帯用端末機は、前述のように図11に示
したハードウェア構成で実現できる。ただし、携帯性を
重視するため、通常、キーボード507は本体500と
一体化されており、モニタ509は液晶画面が採用され
て、やはり本体500と一体化される。また、マウス5
08は接続されずに、キーボード507に設けられたキ
ー等によって代用される場合もある。。
【0052】携帯用端末機としては、コンピュータを小
型化したものに限らず、例えば携帯電話を用いることが
できる。この場合は、キーボード507としてダイヤル
用のプッシュボタンを用いることができる。
【0053】本実施例では、携帯用端末機の外部記憶装
置(補助記憶装置)504には、プログラム作成を支援
するためのツールがあらかじめ記録されている。このツ
ールは内外イベントドリブン方式を適用したものであ
る。ユーザは、このツールを用いることにより、目的の
動作を行うプログラムを容易に作成することができる。
【0054】図12は、ユーザがプログラムを作成する
ときの処理を説明するフロー図である。本フロー図に示
すように、ユーザは、処理モジュールを選択し(S10
1)、その処理モジュールのプロパティの設定(S10
2)と、処理モジュール間の関係を設定する作業(S1
03)とを繰り返す(S104)ことにより所望のプロ
グラムを作成することができる。そして、処理モジュー
ル間の関係は、上述の内外イベントドリブン方式を実現
したものである。なお、処理モジュールの選択処理(S
101)と、プロパティの設定(S102)と、処理モ
ジュール間の関係を設定する作業(S103)とは、必
ずしもこの順に行う必要はなく、実際の処理順序はユー
ザに委ねられる。
【0055】すなわち、本実施例において、携帯用端末
は、処理モジュールの選択を受付ける手段と、選択を受
け付けた処理モジュールについて、プロパティの設定内
容を受付ける手段と、選択された処理モジュール同士の
関係の設定内容を受付ける手段とを少なくとも有してい
る。そしてさらには、処理モジュールを一覧表示する手
段、受付けた設定内容を表示する手段等を有することが
できる。
【0056】本実施例では、表3に例として示すような
処理モジュールが用意されている。処理モジュールには
それぞれ、処理モジュールIDと、処理モジュール名
と、処理内容とが定義されている。そして、処理内容に
応じたプロパティが設けられている。
【0057】
【表3】
【0058】処理モジュールIDと、処理モジュール名
とは、処理モジュールを識別するための識別子である。
処理内容には、あらかじめ定められた処理モジュールの
動作、例えば、「入力ファイルと出力ファイルを指定す
る」等が規定される。プロパティは、ユーザが処理モジ
ュールの具体的処理、例えば、入力ファイルのファイル
名等の設定を行う項目である。
【0059】もちろん、これらの処理モジュールは、例
示であり、本発明はこれらに限定されるわけではない。
【0060】このような場合において、携帯用端末に、
図13のフロー図で示す処理を行わせるプログラムを作
成する場合の手順について説明する。
【0061】本フロー図における処理は、まず入出力フ
ァイルの設定を行う(S201)。次に、入力ファイル
に次データが存在するかどうかを判断する(S20
2)。そして、次データが存在しない場合は、処理済み
のデータの表示処理(S206)を行なった後、終了メ
ッセージを表示し(S207)、処理を終了する。次デ
ータが存在していれば、そのデータを読み込む(S20
3)。次に、読み込んだデータが所定の条件を満たして
いるかどうかを判断する(S204)。そして、満たし
ている場合には、そのデータを出力ファイルに書き出す
(S205)。
【0062】その後、再びS202に戻り、入力ファイ
ルに次データが存在するかどうかを判断して、以降の処
理を繰り返す。
【0063】具体的には、あらかじめ、補助記憶装置5
04に登録されている名簿ファイル600(ファイル名
「名簿DB」)の情報から、所定の条件を満たす人物を
抽出し、新たなファイル(ファイル名「抽出名簿」)を
作成する処理を行うものとする。
【0064】ここで、「名簿DB」は、図14に示すよ
うな構造とデータを有しており、氏名601、電話番号
602、メールアドレス603、グループ604に関す
るデータ項目を含んでいる。そして、抽出する条件は
「グループがAである」とする。
【0065】プログラム作成時において、携帯用端末
は、液晶画面509に、処理モジュール名をリスト化し
た処理モジュール一覧表を表示し、ユーザの選択を受付
け可能にする。ユーザは、キーボード507等の入力装
置を用いて、所望の処理モジュールを選択することがで
きる。
【0066】例えば、ユーザが入力ファイルと出力ファ
イルを指定する処理を行う場合は、処理として「入力フ
ァイルと出力ファイルの指定」が定義されているID0
01Mの「ファイル構成処理」という処理モジュールを
選択することができる。
【0067】選択された処理モジュールは、プロパティ
の設定内容を受付ける。プロパティとは、処理モジュー
ルの制御用パラメータであり、ユーザが設定することが
できる。
【0068】本実施例において、本モジュールはプロパ
ティが3つ用意されている。第1のプロパティは、入力
ファイルの設定である。第2のプロパティは出力ファイ
ルの設定である。そして、第3のプロパティは出力ファ
イルの構成の設定である。
【0069】プロパティの値は、指定可能なアイテム群
が表示され、その中からユーザが選択して設定する。も
ちろん、プロパティの性質によってはユーザが任意に入
力するようにすることもできる。
【0070】ここでは、第1のプロパティについては、
当該携帯用端末で読み込むことのできるファイルの一覧
表示を行い、ユーザの選択を受付ける。第2のプロパテ
ィは書き出し可能なファイルの一覧表示からの選択を受
付けるとともに、ユーザの任意なファイル指定について
も受付け可能とすることができる。第3のプロパティ
は、第2のプロパティで設定した出力ファイルの構成を
設定するプロパティである。ここでは、読み込んだファ
イルに含まれるデータのうち、所定の条件を満たすデー
タを書き出す処理を行うため、出力ファイルの構成は、
入力ファイルの構成と同様であるとする。
【0071】これらのプロパティを設定することによ
り、プログラム実行時に本モジュールの処理を行うと、
データ読み込みについては、第1のプロパティに設定さ
れているファイルがカレントファイルとなり、データ書
き出しについては、第2のプロパティに設定されている
ファイルがカレントファイルとなる。このカレントファ
イルの規定は処理モジュールの仕様として前もって定義
されているものとする。
【0072】ユーザにより選択された処理モジュール
は、その処理モジュール起動のトリガーとなるイベント
(起動イベント)と、処理モジュールが終了したときに
発生するイベント(終了イベント)の設定を受付ける。
ユーザは、これらのイベントを設定することにより、処
理モジュール間の関係を定めることができ、これにより
所望のプログラム制御を行うことが可能となる。
【0073】ここで、「ファイル構成処理」モジュール
は、プログラム起動時に行うこととし、プログラム起動
時に発生するイベントがS1であるとすると、「ファイ
ル構成処理」モジュールの起動イベントにはS1を設定
する。また終了イベントは任意に設定できるがここでは
イベントS2が発生するものとする。
【0074】なお、処理モジュールによっては、終了イ
ベントを複数設定することができる。これにより、たと
えば、分岐処理を行う処理モジュールの場合には、分岐
条件判断の結果に応じたイベントを発生させることが可
能となる。また、起動イベントを複数設定可能にして、
起動イベント毎に処理手順を調整するようにすることも
できる。この場合、例えば、処理モジュールが最初に呼
ばれたときには初期化を行った上で所定の処理を行い、
下位ステージから戻ってきたときには、初期化を行わず
に所定の処理を行うといった制御が可能となる。さらに
は、プロパティにイベントを設定できるようにしてもよ
い。
【0075】次に、入力ファイルのデータを1行ずつ読
み込み(S203)、所定の条件を満たすデータ(S2
04)を出力ファイルに書き出す(S205)処理を入
力ファイルの最後のデータまで行う(S202)場合の
プログラム作成について説明する。
【0076】ユーザは上記の処理(S202)に対応し
て、「繰り返し処理」モジュールを選択することができ
る。「繰り返し処理」モジュールは処理として「下位ス
テージの処理を繰り返し行う」が定義されている。すな
わち、本モジュールが適用されるステージが最上位のス
テージ0だったとすると、本モジュールにより起動する
処理モジュールは、下位ステージであるステージ1とな
る。
【0077】「繰り返し処理」モジュールはプロパティ
が1つ用意されている。このプロパティには、処理を繰
り返す条件を指定する。ここでは、プロパティ値として
「読み込みデータが存在」を選択することができる。こ
のような設定を行うことにより、携帯用端末は、カレン
ト入力ファイルである「名簿DB」のデータを1行ず
つ、最後の行まで所定の処理を行うことになる。
【0078】そして、「繰り返し処理」モジュールの起
動イベントは、「ファイル構成処理」モジュール終了後
に起動させたい場合にはS2を設定することができる。
また、終了イベントは、繰り返し条件を満たしている場
合はS11を発生させ、繰り返し条件を満たしていない
場合はENDイベントを発生させるものとする。ここ
で、ENDイベントを発生させることで、プログラム実
行時には、プログラム処理を終了させることができる。
【0079】以下同様に、ユーザは、図13に示したフ
ロー図を実現するための処理モジュールを選択し、それ
ぞれのプロパティおよびイベントを指定することができ
る。
【0080】図15は、モジュールを選択し、上記のプ
ロパティと起動イベントおよび終了イベントを設定する
ときの表示と操作の一例を示すイメージ図である。本図
において符号700は、モジュールが選択されたときの
表示イメージで、「ファイル構成処理」と「繰り返し処
理」と、「表示処理」とがユーザにより選択されてい
る。また、ここでは、最上位のステージ0に関するモジ
ュールが選択されている。そして、それぞれのモジュー
ルには起動イベントと終了イベントがユーザにより設定
されている。また、ユーザは、この画面でイベントの設
定を変更することができる。
【0081】この状態で、「ファイル構成処理」と表示
されている部分の指定を受付けると、携帯用端末は、
「ファイル構成処理」のプロパティを表示する画面71
0を表示する。プロパティを設定する画面710には、
プロパティの番号711と、プロパティ名712とが配
置されている。なお、ユーザからの指定の受付は、例え
ば矢印型のポインタを液晶画面509に表示させ、ユー
ザの所定のボタン操作によりポインタを移動させ、ポイ
ントしている部分の指定を受付けるようにすればよい。
【0082】そして、例えば「入力ファイル」と表示さ
れているプロパティ名の部分を指定を受付けると、プロ
パティの設定を受付ける画面720を液晶画面509に
表示する。この画面でユーザのプロパティの設定を受付
けることができる。
【0083】一方、モジュール「繰り返し処理」は、下
位ステージの処理を呼ぶことができるため、下位ステー
ジ704の該当する欄に、その旨を明示するアスタリス
ク「*」が表示される。そして、ユーザからの「*」の
部分の指定を受付けると、携帯用端末は下位モジュール
であるステージ1のモジュールの選択を受付ける画面7
30を液晶画面509に表示する。そして、前述同様に
ユーザの設定を受付ける。
【0084】このように、ユーザは携帯用端末の液晶画
面509上で、処理内容を設定し、確認することができ
る表4は、本例において選択した処理モジュールとプロ
パティ、起動イベントおよび終了イベントを示してい
る。ここでの起動イベントは英数字で表しているが、こ
れに限られず、名称、No等とすることもできる。ま
た、他の情報処理装置、例えばパーソナルコンピュータ
で作成し、携帯用端末にダウンロードするようにしても
よい。
【0085】
【表4】
【0086】次に、上述の方法によってユーザが作成し
たプログラムを、携帯用端末が実行する場合の処理につ
いて説明する。
【0087】携帯用端末は、プログラムを解釈して、処
理を行う制御手段を有している。この処理は、例えば、
図16に示すフロー図に基づいて行われる。
【0088】制御手段はユーザからプログラム実行の命
令を受付けると(S301)、S1イベントを発生させ
る(S302)。そして、S1イベントを起動イベント
とする処理モジュールを呼び出す(S303)。
【0089】呼び出された処理モジュールは、規定され
た処理内容とプロパティの指定値に従って所定の処理を
行う(S304)。そして、処理が終了すると、あらか
じめ定められた、あるいは、処理結果に応じた終了イベ
ントを発生させる(S305)。
【0090】そして、終了イベントがプログラムの終了
を意味するENDイベントであるかどうかの判断を行う
(S306)。
【0091】その結果、ENDイベントであった場合
は、プログラムの実行を終了する。一方、ENDイベン
トでない場合は、終了イベントにより起動する処理モジ
ュールを呼び出す(S303)。このとき、上位ステー
ジが呼び出されたときは、下位ステージ実行時に確保し
た記憶エリアを開放する。そして、S304以降の処理
を繰り返す。
【0092】上記の説明において、データ定義、使用方
法については記述されていないが、データ定義は、各処
理モジュールが内部的に保有、または、自動確保するよ
うにする。データの有効使用範囲は上位または自ステー
ジ内で相互に有効とする。
【0093】データ定義したエリアを使用する方法にお
いては、データ定義として、名称、記号、属性、構造体
等を前もって定義し、各処理モジュールのプロパティに
名称を指定することで、データの移動、変換、計算等を
行なう。このため、この実行システムでは、これらを処
理するデータ管理モジュールが組み込まれることにな
る。また、支援システムでは、データの一覧あるいは各
処理モジュールで指定されるデータエリア相互の相関を
チェックし、指定誤りを指摘する機能等を有する。ま
た、支援システムにおいては、従来のフローチャート、
イベント一覧、構造等を表示したり、実行シミュレーシ
ョンを行なう機能、デバック機能等を加えてもよい。
【0094】このように、本実施例によれば、処理モジ
ュールを選択し、プロパティを指定するとともに、イベ
ントの管理を行うことによって簡便に所望のプログラム
を作成することができる。このため、複雑なプログラミ
ング言語文法を習得する必要がなく、万人にプログラム
の機会を与えることが可能となる。また、処理モジュー
ルのイベントを一定の論理で変化させる等により、結果
を試しながら検証することで人間の思考を支援する思考
支援システムへの応用も可能となる。
【0095】
【発明の効果】上述のように、本発明によれば、ソフト
ウェア開発時およびソフトウェア実行時において、処理
群の制御を効率化するともに、規定・整理されたプログ
ラム構造を実現することが可能となる。
【図面の簡単な説明】
【図1】 本発明によるプログラム制御方式の概要を示
すブロック図。
【図2】 内外イベントドリブン方式のプログラム制御
法を用いた処理の概念を示すフロー図。
【図3】 処理単位の内容を説明する図。
【図4】 処理単位の内容を説明する図。
【図5】 ステージの階層構造の概念図。
【図6】 ステージをGUI画面に組み合わせた概念
図。
【図7】 イベント対応テーブルの概念図。
【図8】 外部イベントと、内部イベントを別々に管理
するイベント対応テーブルの概念図。
【図9】 ステージ毎にイベント対応テーブルを管理す
る場合の概念図。
【図10】 イベントマッチ機構を説明する図
【図11】 一般的なコンピュータの構成を示すブロッ
ク図。
【図12】 ユーザがプログラムを作成するときの処理
を説明するフロー図。
【図13】 作成するプログラムの処理内容を説明する
フロー図。
【図14】 「名簿DB」の構造とデータを説明するイ
メージ図。
【図15】 モジュールを選択し、上記のプロパティと
起動イベントおよび終了イベントを設定するときの表示
と操作の一例を示すイメージ図。
【図16】 携帯用端末がプログラムを解釈して、処理
を行う場合のフロー図。
【符号の説明】
S1、S2、S3、Sn、E1、E2、En…処理単
位。

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】複数の処理部からなるコンピュータプログ
    ラムの実行制御方法であって、 前記処理部の実行終了時、もしくは、実行時において、
    他の処理部に対してメッセージを送付可能なイベントを
    発生させるステップと、 前記イベントの発生を監視するステップと、 前記イベントの発生に応動して、他の処理部を実行させ
    るステップとからなることを特徴としたコンピュータプ
    ログラムの実行制御方法。
  2. 【請求項2】請求項1記載のコンピュータプログラムの
    実行制御方法であって、 他の処理部を実行させるステップは、予め定められた1
    のイベントまたは予め定められた複数のイベントのすべ
    てが発生したときに実行されることを特徴としたコンピ
    ュータプログラムの実行制御方法。
  3. 【請求項3】コンピュータの手続きを記述したコード
    を、コンピュータが実行可能なコードあるいは他のプロ
    グラムが処理可能なコードに翻訳するプログラムであっ
    て、 前記手続きの実行中に発行されるイベントと、該イベン
    トの発生に応動して実行する手続きのアドレスとを対応
    させたテーブルを、実行時にコンピュータの記憶装置上
    に格納させるコードを生成することを特徴とするプログ
    ラム。
  4. 【請求項4】複数の処理部を実行する処理と、 前記処理部の実行終了時、もしくは、実行時において、
    他の処理部に対してメッセージを送付可能なイベントを
    発生する処理と、 前記イベントの発生を監視する処理と、 前記イベントの発生に応動して、他の処理部を実行する
    処理とをコンピュータに実行させるためのプログラム。
  5. 【請求項5】プログラムの作成を支援するシステムであ
    って、 あらかじめ固有の処理内容を定義されたモジュール群を
    選択可能に表示する表示手段と、 前記モジュールの選択を受付けるモジュール選択受付手
    段と、 選択された2以上のモジュールについて、モジュールの
    制御パラメータと、モジュール同士の関連を定める情報
    とを受付けるモジュール情報受付け手段と、 を備えることを特徴とするプログラム作成支援システ
    ム。
  6. 【請求項6】前記モジュール同士の関連を定める情報
    は、選択されたモジュールの起動条件となるイベント識
    別子と、選択されたモジュールの処理過程において発生
    させるイベント識別子である請求項5記載のプログラム
    作成支援システム。
  7. 【請求項7】前記選択されたモジュールを階層的に管理
    する手段を有することを特徴とする請求項5記載のプロ
    グラム作成支援システム。
  8. 【請求項8】あらかじめ固有の処理内容を定義したモジ
    ュール群を選択可能に表示させる処理と、 前記モジュールの選択を受付ける処理と、 選択された2以上のモジュールについて、モジュールの
    制御パラメータと、モジュール同士の関連を定める情報
    とを受付ける処理と、を情報処理装置に実行させるため
    のプログラム。
  9. 【請求項9】情報処理装置を用いたプログラムの作成方
    法であって、 あらかじめ固有の処理内容が定義されたモジュール群か
    らモジュールを選択する段階と、 選択した2以上のモジュールについて、モジュールの制
    御パラメータと、モジュール同士の関連を定める情報と
    を入力する段階と、 を有することを特徴とするプログラム作成方法。
  10. 【請求項10】請求項3、4および8のいずれか一項に
    記載のプログラムを記録した記録媒体。
JP2001051886A 2000-02-29 2001-02-27 内外イベントドリブン方式によるプログラム実行制御方法、プログラム、実行制御装置および記録媒体 Expired - Fee Related JP4925514B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001051886A JP4925514B2 (ja) 2000-02-29 2001-02-27 内外イベントドリブン方式によるプログラム実行制御方法、プログラム、実行制御装置および記録媒体

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2000054944 2000-02-29
JP2000054944 2000-02-29
JP2000-54944 2000-02-29
JP2001051886A JP4925514B2 (ja) 2000-02-29 2001-02-27 内外イベントドリブン方式によるプログラム実行制御方法、プログラム、実行制御装置および記録媒体

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2011265499A Division JP2012094167A (ja) 2000-02-29 2011-12-05 内外イベントドリブン方式によるプログラム実行制御方法、記録媒体およびプログラム作成支援システム

Publications (2)

Publication Number Publication Date
JP2001318796A true JP2001318796A (ja) 2001-11-16
JP4925514B2 JP4925514B2 (ja) 2012-04-25

Family

ID=26586467

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001051886A Expired - Fee Related JP4925514B2 (ja) 2000-02-29 2001-02-27 内外イベントドリブン方式によるプログラム実行制御方法、プログラム、実行制御装置および記録媒体

Country Status (1)

Country Link
JP (1) JP4925514B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008539516A (ja) * 2005-04-29 2008-11-13 マイクロソフト コーポレーション アプリケーションフレームワークのフェージングモデル
US8418132B2 (en) 2005-04-29 2013-04-09 Microsoft Corporation Application description language
US8793649B2 (en) 2005-04-29 2014-07-29 Microsoft Corporation XML application framework
CN107450813A (zh) * 2017-06-30 2017-12-08 武汉斗鱼网络科技有限公司 一种自带触发功能的按钮的设计方法与设备
JP7380406B2 (ja) 2020-04-28 2023-11-15 株式会社デンソー リアルタイム演算処理装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008539516A (ja) * 2005-04-29 2008-11-13 マイクロソフト コーポレーション アプリケーションフレームワークのフェージングモデル
US8418132B2 (en) 2005-04-29 2013-04-09 Microsoft Corporation Application description language
US8793649B2 (en) 2005-04-29 2014-07-29 Microsoft Corporation XML application framework
CN107450813A (zh) * 2017-06-30 2017-12-08 武汉斗鱼网络科技有限公司 一种自带触发功能的按钮的设计方法与设备
CN107450813B (zh) * 2017-06-30 2020-02-07 武汉斗鱼网络科技有限公司 一种自带触发功能的按钮的设计方法与设备
JP7380406B2 (ja) 2020-04-28 2023-11-15 株式会社デンソー リアルタイム演算処理装置

Also Published As

Publication number Publication date
JP4925514B2 (ja) 2012-04-25

Similar Documents

Publication Publication Date Title
US7490298B2 (en) Creating documentation screenshots on demand
EP0785510B1 (en) Program debugging system for debugging a program having a graphical user interface
US7587668B2 (en) Using existing content to generate active content wizard executables for execution of tasks
JP2752040B2 (ja) マルチメディア適用業務を作成する方法
US7316000B2 (en) Interactive agent for a topological multi-tier business application composer
JP4270391B2 (ja) マルチメディア・ファイルのツールチップ
JP5258152B2 (ja) 再現可能なテストの自動化に関するテストケース実行挙動を選択するシステムおよび方法
JP4395761B2 (ja) プログラムテスト支援装置およびその方法
JPH07104765B2 (ja) コンピュータ駐在ソフトウエアシステムに対するユーザインタフェースとしての電子的ドキュメント
US8136043B2 (en) GUI generation apparatus and method for generating GUI
JPH04344928A (ja) データ処理システムにおいてユーザダイアログ表示を主要アプリケーションに図式的に関連付ける方法及び装置
JP2006048645A (ja) ドキュメントにコンテキスト情報を埋め込むための方法およびシステム
US5781905A (en) Program generating method combining data item part with database manipulation part
JPH1115646A (ja) 技術情報管理システム
JP4925514B2 (ja) 内外イベントドリブン方式によるプログラム実行制御方法、プログラム、実行制御装置および記録媒体
US20120084683A1 (en) Seamless Integration of Additional Functionality into Enterprise Software without Customization or Apparent Alteration of Same
Smyth Android Studio 3.0 Development Essentials-Android 8 Edition
JP2008158882A (ja) 情報処理装置およびポップアップウィンドウ表示制御方法およびプログラムおよび記録媒体
JP7294609B2 (ja) ソフトウェアの操作シナリオの生成を支援するプログラム、方法およびソフトウェアの操作シナリオの生成を支援する装置
US10768911B2 (en) Managing software components for software application development
Bitter et al. LabVIEW Advanced Programming Techiniques
JP2007115155A (ja) プログラム構造管理装置及びプログラム構造管理プログラム
JP2012094167A (ja) 内外イベントドリブン方式によるプログラム実行制御方法、記録媒体およびプログラム作成支援システム
JPH08263243A (ja) データ入出力方法及び装置、及び計算機装置
JP2022132049A (ja) システム開発支援装置、システム開発支援方法およびシステム開発支援プログラム

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20070903

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070907

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071204

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071212

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20071212

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090629

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090707

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090907

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20091013

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100108

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20100121

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20100226

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111205

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: 20120207

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

Free format text: PAYMENT UNTIL: 20150217

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4925514

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees