JPH06266543A - 電子計算機装置 - Google Patents

電子計算機装置

Info

Publication number
JPH06266543A
JPH06266543A JP5052767A JP5276793A JPH06266543A JP H06266543 A JPH06266543 A JP H06266543A JP 5052767 A JP5052767 A JP 5052767A JP 5276793 A JP5276793 A JP 5276793A JP H06266543 A JPH06266543 A JP H06266543A
Authority
JP
Japan
Prior art keywords
event
state transition
state
transition table
processing
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
JP5052767A
Other languages
English (en)
Inventor
Hiroshi Nakao
浩 中尾
Toshiaki Tani
敏明 谷
Yasutaka Tominaga
保隆 富永
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.)
Fuji Electric Co Ltd
Original Assignee
Fuji Electric Co 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 Fuji Electric Co Ltd filed Critical Fuji Electric Co Ltd
Priority to JP5052767A priority Critical patent/JPH06266543A/ja
Publication of JPH06266543A publication Critical patent/JPH06266543A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

(57)【要約】 【目的】イベント駆動型マイコンシステムの制御プログ
ラムをプログラム設計段階で用いる状態遷移表から自動
作成しコーディングミスを無くし時間と人手を節約す
る。 【構成】パソコン等からなるプログラムのクロス開発シ
ステムの1次記憶装置に、ソフトウェア手段としての状
態遷移表読み込み手段1,イベント切り出し手段2,内
部状態切り出し手段3,状態遷移先切り出し手段4,実
行処理切り出し手段5,イベント属性別処理切り出し手
段6,状態遷移変更先切り出し手段7,コード生成手段
8を格納して、開発システムを起動する。開発システム
は状態遷移表読み込み手段1を介して状態遷移表を読み
込んだのち、各切り出し手段2〜7を介し、イベント、
内部状態、状態遷移先、実行処理、イベント属性別処
理、状態遷移変更先を夫々切り出し、この切り出した前
記イベント等をコード生成手段8を介してマイコンの制
御プログラムコードに変換する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はイベントの発生と内部状
態に従って定まる処理プログラムを実行するイベント駆
動型のマイクロコンピュータ制御システムのコード(プ
ログラム)を自動作成する電子計算機装置に関する。な
お以下各図において同一の符号は同一もしくは相当部分
を示す。
【0002】
【従来の技術】イベント駆動型のプログラム制御方法と
して状態遷移表を用いる方法は、本出願人の先願になる 特開平4−245395号,および 特開平4−211892号 に提案されている。
【0003】即ちこの特開平4−245395号におい
ては、 (1・1) イベントの発生に基づいて、このイベント
とその時のシステムの内部状態とで定まる処理プログラ
ムを実行させるイベント駆動型のプログラム制御方法に
おいて、前記のイベントにその2次的な差異を区分する
属性を付すことによって、各イベントを1次的に区分指
定するようにしたプログラム制御方法、 (1・2) 前記(1・1)に記載のプログラム制御方
法において、発生した前記イベントが複数の前記属性を
持つ時は、このイベントとこのときの前記内部状態とで
指定される配列であって、この属性の別に前記処理プロ
グラムのアドレスを記憶する配列を検索し、当該の属性
に対応する処理プログラムの実行を行わせるようにした
プログラム制御方法、および (1・3) 前記(1・1)に記載のプログラム制御方
法において、発生した前記イベントが複数の前記属性を
持つときは、このイベントとこの時の内部状態とで定ま
る前記処理プログラムへ該当する属性を引数として与
え、その実行を行わせるようにしたプログラム制御方
法、が夫々提案されている。
【0004】また特開平4−211892号において
は、 (2・1) 発生したイベントと内部で持っている内部
状態とによってどのような処理を行うかを決定するイベ
ント駆動型の制御を行うマイクロコンピュータ制御シス
テムにおいて、前記内部状態の種別を記憶する内部状態
記憶手段と、発生した前記イベントを受信するイベント
受信手段と、該イベント受信手段で受信したイベントの
前記内部状態の種別毎の処理方式を記憶したイベント処
理方式記憶手段と、前記イベント受信手段で受信したイ
ベントを前記イベント処理方式記憶手段と内部状態記憶
手段とを参照し、受信したイベントに対応したプログラ
ムを実行するか、それとも一時保留するか、無視するか
を決定するイベント解析手段と、該イベント解析手段に
よって一時保留と決定したイベントを保留する保留イベ
ント記憶手段と、前記イベント解析手段によって解析し
た結果にもとずき、受信したイベントに対応したプログ
ラムを実行するか、もしくはそのイベントを前記保留イ
ベント記憶手段に記憶するか、またはそのイベントを無
視する受信イベント制御手段と、前記内部状態の種別毎
の実行可能なイベントを記憶する実行イベント記憶手段
と、内部状態が変化したとき、前記実行イベント記憶手
段を参照し、前記保留イベント記憶手段より実行可能な
イベントを取り出し、そのイベントに対応するプログラ
ムを実行させる保留イベント制御手段とを備えた電子計
算機装置、 (2・2) 発生したイベントと内部で持っている内部
状態とによってどのような処理を行うかを決定するイベ
ント駆動型の制御を行うマイクロコンピュータ制御シス
テムにおいて、前記内部状態の種別を記憶する内部状態
記憶手段と、発生した前記イベントを受信するイベント
受信手段と、該イベント受信手段で受信したイベントの
前記内部状態の種別毎の処理方式を記憶したイベント処
理方式記憶手段と、前記イベント受信手段で受信したイ
ベントを前記イベント処理方式記憶手段と内部状態記憶
手段とを参照し、受信したイベントに対応したプログラ
ムを実行するか、それとも一時保留するか、無視するか
を決定するイベント解析手段と、該イベント解析手段に
よって一時保留と決定したイベントを保留する保留イベ
ント記憶手段と、前記イベント解析手段によって解析し
た結果にもとづき、受信したイベントに対応したプログ
ラムを実行するか、もしくはそのイベントを前記保留イ
ベント記憶手段に記憶するか、またはそのイベントを無
視する受信イベント制御手段と、前記内部状態の種別毎
の実行可能なイベントを記憶する実行イベント記憶手段
と、内部状態が変化したとき、前記実行イベント記憶手
段を参照し、前記保留イベント記憶手段より実行可能な
イベントを取り出し、そのイベントに対応するプログラ
ムを実行させる保留イベント制御手段と、内部状態が変
化したとき、該内部状態において保留していたイベント
の中で廃棄すべき対象となるイベントを記憶する廃棄イ
ベント記憶手段と、該廃棄イベント記憶手段を参照し前
記保留イベント記憶手段に保留していたイベントを取り
消す廃棄イベント制御手段とを備えた電子計算機装置、
および (2・3) 現在の内部状態の種別を記憶する内部状態
記憶手段と、発生したイベントを受信するイベント受信
手段と、前記受信されたイベントおよび記憶された内部
状態を参照し、どの処理プログラムを実行するかを選択
しその処理プログラムを実行させる処理プログラム選択
手段とを備えた、イベント駆動型の制御を行うマイクロ
コンピュータ制御システムにおいて、前記の受信された
イベントおよび記憶された内部状態の組合せ毎に、当該
の処理プログラムの実行後にとり得る1または複数の内
部状態と、該内部状態を決定するためのアドレスデータ
であって、前記処理プログラムの作業データを記憶する
記憶手段内に格納されるアドレスデータの格納位置を示
すデータポインタとを予め設定され記憶する内部状態変
更情報記憶手段、当該の処理プログラムの実行後、前記
内部状態変更情報記憶手段を参照して新しい内部状態を
決定し前記内部状態記憶手段を亢進する内部状態変更手
段を備えた電子計算機装置、が夫々提案されている。
【0005】ところでこの従来技術では、プログラムの
設計段階で、発生するイベントと内部状態の関係を記述
した状態遷移表を作成した後、実際にマイクロコンピュ
ータ制御システム上で実行可能なコード(プログラム)
にするためには、人手でこの状態遷移表をコード(プロ
グラム)に変換していた。
【0006】
【発明が解決しようとする課題】このように従来の技術
では、状態遷移表を使ってマイクロコンピュータ制御シ
ステムを設計しているため、設計段階ではソフトウェア
の複雑さの軽減や変更の容易さを実現できた。しかしプ
ログラムを作成するコーディング段階では、設計段階で
作成した状態遷移表を人手でプログラムに変換していた
ため、状態遷移表からプログラムへの変換ミスや、勘違
い、あるいは変換に人手をかけるため時間や人件費の浪
費が生じていた。
【0007】そこで本発明は、イベント駆動方式のマイ
クロコンピュータ制御システムの状態遷移表を自動的に
マイクロコンピュータ上で実行可能なコードに変換する
電子計算機装置を提供し、コーディング段階でのミス、
勘違いを無くし、時間と人手を節約する事を課題とす
る。
【0008】
【課題を解決するための手段】前記の課題を解決するた
めに、請求項1の電子計算機装置は、発生したイベント
と内部で持っている内部状態により、どの様な処理を行
うかを決定するイベント駆動型の制御を行うマイクロコ
ンピュータ制御システムのコードを作成する電子計算機
装置であって、イベントと内部状態を対比させた状態遷
移表を読み込む状態遷移表読み込み手段(1など)と、
読み込んだ状態遷移表から発生するイベントを切り出す
イベント切り出し手段(2など)と、読み込んだ状態遷
移表から内部状態を切り出す内部状態切り出し手段(3
など)と、発生したイベントと内部状態により実行する
処理を切り出す実行処理切り出し手段(5など)と、処
理を実行した後に内部状態を変更する状態遷移先を切り
出す状態遷移先切り出し手段(4など)と、前記の各切
り出し手段より切り出されたイベントと内部状態と実行
する処理と状態遷移先とをマイクロコンピュータ上で実
行可能なコードに変換するコード生成手段(8など)と
を備えたものとする。
【0009】また請求項2の電子計算機装置は、請求項
1に記載の電子計算機装置において、発生したイベント
の属性を示すイベント属性により実行する処理が異なる
とき、前記状態遷移表読み込み手段より読み込んだ状態
遷移表から、各々のイベント属性別に実行する処理を切
り出すイベント属性別処理切り出し手段(6など)を備
え、前記コード生成手段はさらにこの切り出されたイベ
ント属性別処理を一括してマイクロコンピュータ上で実
行可能なコードに変換するものであるようにする。
【0010】また請求項3の電子計算器装置は、請求項
1または請求項2に記載の電子計算機装置において、実
行する処理の結果により遷移する状態遷移先が変化する
とき、実行する処理の結果から変更する状態遷移先を前
記状態遷移表読み込み手段より読み込んだ状態遷移表か
ら切り出す状態遷移変更先切り出し手段(7など)を備
え、前記コード生成手段はさらにこの切り出された状態
遷移変更先をマイクロコンピュータ上で実行可能なコー
ドに変換するものであるようにする。
【0011】
【作用】いくつかのイベント駆動型のマイクロコンピュ
ータ制御システムを考えたとき、各々のシステムで異な
るところは、状態遷移表が異なるだけで、プログラムの
骨格部分は全てのシステムで共通である。プログラムの
設計段階で作成した状態遷移表から、各々のシステムで
個別な内部状態と内部状態の数、発生するイベントとイ
ベントの数、発生したイベントと内部状態から得られる
実行すべき処理プログラムの名前と状態遷移先を切りだ
し、各々のシステムで個別な部分だけを自動的にマイク
ロコンピュータ上で実行可能なプログラムコードに変換
する。得られた各々のシステムで個別なプログラムコー
ドと全てのシステムで共通な骨格部分を合わせれば、プ
ログラムの設計段階で作成した状態遷移表を実現するプ
ログラムコードが得られる。このようにして、状態遷移
表を自動的にマイクロコンピュータ上で実行可能なコー
ドに変換して、コーティング段階でのミス、勘違いを無
くし、時間と人手を節約する。
【0012】なお図1は本発明に関わる各ソフトウェア
手段1〜8を示すクレーム対応図である。
【0013】
【実施例】本発明によって自動生成されるプログラムコ
ードが機能するイベント駆動型のマイクロコンピュータ
制御システムは、例えば自動販売機のように機器に組み
込んで使用される。図2はこの自動販売機制御システム
の構成例を示し、このシステムは主制御装置11、コイ
ンメカニズム12、機器制御装置13、キーボード制御
装置14、扉制御装置15とそれぞれの装置を結ぶ通信
回線16で構成される。それぞれの装置11〜15の中
には、マイクロコンピュータが組み込まれている。自動
販売機を利用する人が、お金を入れるとコインメカニズ
ム12に入金があった事を通信回線16を通じて主制御
部11に通知し、扉に取り付けられている押しボタン
(図外)を押すと扉制御装置15が押しボタンが押され
た事を通信回線16を通じて主制御部11に伝える。主
制御部11は、通信回線16を通じて伝えられた事象を
イベントとして解釈し、自身の内部に持っている内部状
態と対比して適切な処理(例えば、通信回線16を通じ
て、商品を販売させようと言う指令を機器制御装置13
に与える処理)を実行する。この主制御部11の動作を
イベントと内部状態から導かれる処理に対比した表が状
態遷移表であり、主制御部11の制御プログラムを設計
する事は、状態遷移表を設計する事に等しい。
【0014】主制御部11のプログラムを作成するため
には、マイクロコンピュータに実行させる命令の列(コ
ード(オブジェクトコードともいう))を作成するが、
これには通常プログラミング言語を使って一旦、ソース
コードとして記述し、これをコンパイラを使ってマイク
ロコンピュータが実行可能なオブジェクトコードに変換
する。なお本実施例では、プログラミング言語にC言語
を使用する。このコードをROM化して、機器のマイク
ロコンピュータシステムに組み込む。
【0015】図3は図2に示したようなマイクロコンピ
ュータ制御システムのプログラムを開発するためのクロ
ス開発システムとして一般的に良く知られたパソコンシ
ステムの構成例を示す。なおこのシステムはCPU3
0,1次記憶装置31,2次記憶装置32,ROMライ
タ33,CRT34等からなる。このシステムには、状
態遷移表を設計するために使用するワードプロセッサ・
ソフトウェアおよびコンパイラ・ソフトウェアと、複数
の部分プログラムを結合して一つのプスグラムにするリ
ンカ・ソフトウェアが入っている。コンパイラまたはリ
ンカが出力したオブジェクトコードは、通信ケーブルで
結ばれたROMライタ33に送られ、ROM化される。
ここではまずワープロで設計した状態遷移表を2次記憶
装置32に格納する。この2次記憶装置32に格納して
いる状態遷移表をソースコードに変換し、このソースコ
ードをコンパイラを使ってオブジェクトコードに変換す
る事で、目的とする制御プログラムを得る事ができる。
【0016】ところで従来は前述のようにこの状態遷移
表をソースコードに変換する作業を人手で行っていたが
本発明ではこの作業を電子計算機装置(この例では図3
のようなパソコンシステム)に自動的に行わせる。この
ために本発明においては図1に示した各ソフトウェア手
段1〜8を予め図3の2次記憶装置32に格納して置
き、図外のキーボード等を介して各ソフトウェア手段1
〜8を1次記憶装置31に転送し、この各手段1〜8が
作動できるようにする。
【0017】次に本発明に基づいて状態遷移表をソース
コードに自動変換する方法について詳しく説明する。 (1)請求項1に関わる発明の実施例(便宜上第1の実
施例ともいう)について:図1の状態遷移表読み込み手
段1が2次記憶装置32に記憶している図4のような状
態遷移表41を読み込み、パソコンのメモリとしての1
次記憶装置31に記憶する。この読み込む方法はOSが
実行する事で、一般的に良く知られているので詳しい説
明を省く。
【0018】図4の状態遷移表41内で、罫線で囲まれ
た部分の水平方向の並びを行、垂直方向の並びを列とし
てこの部分に左上隅から番号を附し、左上から1行1列
目、それから右側に行くと1行2列目と言うように呼
ぶ。図1のイベント切りだし手段2は、状態遷移表41
の1行目を見て、イベントとイベントの数を切り出す。
状態遷移表の1行2列目から、罫線で囲んでいる部分が
なくなるまで(本実施例では1行7列目まで)、罫線で
囲まれている部分に存在する文字列を切り出す。この例
では「投入金検出」、「ボタン押下」、「販売終了」、
「返金終了」、「キーボード操作開始」、「キーボード
操作終了」の6つのイベント名を切り出しメモリ31に
入れておく。切り出したイベントの数はこの例では6で
ある。
【0019】図1の内部状態切り出し手段3は、状態遷
移表41の2行1列目から1列目を、罫線で囲んでいる
部分が無くなるまで調べて、罫線で囲まれている部分に
存在する文字列を切り出す(本実施例では6行1列目ま
で)。この例では「待機状態」、「入金状態」、「販売
状態」、「返金状態」、「キーボード操作中状態」の状
態名を切り出しメモリに入れる。この例では切り出した
内部状態数は5である。
【0020】図1の実行処理切り出し手段5は、状態遷
移表41の2行2列目から以降の行,列の罫線で囲まれ
た部分を調べて、その中に存在する文字列を切り取り、
切り取った文字列の中から記号「()」を見つける。
「()」が存在するとその前の文字列が実行する処理で
あるのでそれを切り出す。図4では、2行2列目と3行
2列目から「入金処理」を切り出し、2行6列目から
「キー入力開始処理」を切り出し、3行3列目から「販
売処理」を切り出し、4行4列目から「返金処理」を切
り出し、5行5列目から「販売終了処理」を切り出し、
6行7列目から「キー入力終了処理」を切り出して、メ
モリ31に格納する。また、切り出した文字列
に「()」が存在しないときは、切り出した文字列が
「保留」の時は実行する処理を「保留」として切り出
し、「廃棄」の時は廃棄イベントとしてメモリに記憶す
る(図4の例では6行2列目が廃棄イベントとしてメモ
リに記憶される)。(なお「保留」、「廃棄」について
は、前記先願特開平4−211892号の提案(2・
2)を参照)。
【0021】図1の状態遷移先切り出し手段4は、状態
遷移表41の2行2列目から罫線で囲まれた部分を調べ
て、その中に存在する文字列を切り取り、切り取った文
字列の中から記号「→」を見つける。「→」から後の文
字列を状態遷移先として切り出す。図4の例では、状態
遷移先として2行2列目から「入金状態」、2行6列目
から「キーボード操作中状態」、3行2列目から「販売
状態」、3行4列目から「返金状態」、4行4列目から
「返金状態」、5行5列目から「待機状態」、6行7列
目から「待機状態」を切り出し、メモリ31に格納す
る。
【0022】図1のコード生成手段8は、上述のように
メモリ31に格納したイベント、内部状態、実行する処
理、廃棄イベント、状態遷移先からマイクロコンピュー
タ上で実行可能なコードを生成する。このためには図5
のように、メモリ31に記憶しているイベントにマイク
ロコンピュータ上で扱えるように順番にイベントコード
としての番号を振る。この例では「投入金額検出」に
0、「釦押下」に1、「販売終了」に2、「返金終了」
に3、「キーボード操作開始」に4、「キーボード操作
終了」に5を割り振る。これを、実際のプログラミング
言語で表すと図7の(a)の部分のようになる。同様に
内部状態についても、図6のように順番に内部状態コー
ドとしての番号を振る。この例では「待機状態」が0、
「入金状態」が1、「販売状態」が2、「返金状態」が
3、「キーボード操作中状態」が4になる。これを実際
のプログラミング言語で表すと図9の(a)の部分のよ
うになる。
【0023】ここで前記先願特開平4−211892号
の提案(2・1),(2・2)で述べているイベント処
理方式記憶手段、保留イベント記憶手段、廃棄イベント
記憶手段、実行イベント記憶手段を作成すればマイクロ
コンピュータ上で実行可能なコードを生成することがで
きる。前記先願特開平4−211892号の提案(2・
1),(2・2)で述べている保留イベント記憶手段
は、目的とするシステムで使用するイベントの数だけビ
ットメモリをマイクロコンピュータ上のRAMに確保す
る。従って本実施例では(イベント切り出し手段2で取
り出したイベントの数+7)/8バイトのメモリを確保
すれば良い。これを実際のプログラミング言語で表す
と、図7の(b)の部分のようになる。前記先願特開平
4−211892号の提案(2・2)で述べている廃棄
イベント記憶手段は、目的とするシステムで使用するイ
ベントの数だけのビットメモリを、目的とするシステム
の内部状態の数分、マイクロコンピュータ上のRAMに
確保する。従ってこの第1の実施例では(イベント切り
出し手段2で取り出したイベントの数+7)/8バイト
のメモリを内部状態切り出し手段3で取り出した内部状
態の数だけ用意する。そして、廃棄するイベントの部分
を0、それ以外を1として初期化する。これを実際のプ
ログラミング言語で表すと、図8のようになる。
【0024】次に前記先願特開平4−211892号の
提案(2・1)(2・2)で述べているイベント処理方
式記憶手段と実行イベント記憶手段を作成する方法につ
いて説明する。なお図10はこのイベント処理方式記憶
手段の構造を示し、図11は実行イベント記憶手段の構
造を示す。まず、状態遷移表41の2行2列目では、実
行処理切り出し手段5で「入金処理」を切り出し、状態
遷移先切り出し手段4で「入金状態」に移行することを
切り出した。これを関数「入金処理」を呼び出した後、
マイクロコンピュータの内部状態を「入金状態」に変更
するコードとして生成する。これを実際のプログラミン
グ言語で表すと、図9のようになる。この時、関数名を
「処理 2」のように、状態遷移表41の2行2列
目の処理を表す名前で定義する。そして、図10に示す
ようにイベント処理方式記憶手段の1行1列目(状態遷
移表の行,列の番号とは夫々1だけ少なくなる)に「処
2」のアドレスを入れ、実行する処理が存在す
るので図11の実行イベント記憶手段の1行1列目のビ
ットを1にする。
【0025】次に、状態遷移表41の2行3列目では、
実行処理切り出し手段5と状態遷移先切り出し手段7で
切り出した実行する処理と状態遷移先が存在しない。こ
のため図10のイベント処理方式記憶手段の1行2列目
は、実行する処理がないことを表す「0」に初期化す
る。図11の実行イベント記憶手段の1行2列目のビッ
トも実行する処理がないことを表す「0」に初期化す
る。
【0026】このように、状態遷移図のi行j列目につ
いて(但しiは2から内部状態の数+1まで。jは2か
らイベントの数+1まで)処理を行う。その結果、図1
0のようなイベント処理方式記憶手段ができる。なお、
状態遷移表41の4行2列目と5行2列目は、実行処理
切り出し手段5で実行する処理を「保留」として記憶し
ているので、図10の対応するイベント処理方式記憶手
段の内容を「1」にし、図11の実行イベント記憶手段
の対応するビットを0にする。
【0027】実際のプログラミング言語でイベント処理
方式記憶手段と実行イベント記憶手段を表すと、それぞ
れ図12,図13のようになる。以上で、マイクロコン
ピュータ上で動かすことのできるコードができ、これに
どのようなシステムでも共通な部分(前記先願特開平4
−211892号の提案(2・2)で言う廃棄イベント
制御手段、保留イベント制御手段等)をリンカを使って
合わせれば、目的とするシステムの実行可能なコードを
自動的に作ることができる。
【0028】(2)請求項2に関わる発明の実施例(便
宜上第2の実施例ともいう)について:イベント駆動型
のマイクロコンピュータ制御システムで、発生するイベ
ントの中では、それに対応する処理が少しだけ異なる場
合がある。このようなときには、イベントを細かく分割
せずに一つのイベントとしてまとめ、プログラムを簡素
化する(前記先願特開平4−245395号の提案(1
・1)〜(1・3)参照)。例えば自動販売機において
販売する商品が複数ある場合、個々の商品に対する商品
選択ボタンを押したというイベントにするのではなく、
どの商品選択ボタンを押しても「ボタン押下」イベント
にして、その属性として、コーヒーやジュースという飲
料の種類を持つようにする。
【0029】次に図14に示す状態遷移表42を用いて
この第2の実施例を述べる。この状態遷移表42は、第
1の実施例における図4の状態遷移表41とほとんど同
じであるが、3行3列目が異なる。これは、押しボタン
を押したときのイベント属性が、0の時に「コーヒー販
売処理」を実行し、1の時に「ジュース販売処理」を実
行することを示している。この第2の実施例においても
図1のイベント切り出し手段2、内部状態切り出し手段
3、実行処理切り出し手段5、状態遷移先切り出し手段
4が機能するが、その内容については第1の実施例と同
じである。
【0030】但しこの第2の実施例では図1のイベント
属性別処理切り出し手段6が新たに機能し、この手段6
は、状態遷移表42のi行j列目(iは2から内部状態
の数+1まで。jは2からイベントの数+1まで)につ
いて罫線で囲まれた部分を調べて、その中に存在する文
字列を切り取り、切り取った文字列の中から記号「*」
を見つけるとその後の文字列を切り出してメモリ31に
格納する。図14では、3行3列目に「*」を見つけた
ので、図15のように文字列を切り出す。
【0031】この第2の実施例では図1のコード生成手
段8は、メモリ31に格納しているイベント、内部状
態、実行する処理、廃棄イベント、状態遷移先、イベン
ト属性別処理からマイクロコンピュータ上で実行可能な
コードを生成する。この処理の方法は、第1の実施例と
ほぼ同じであるが、イベント属性別処理切り出し手段6
で見つけたイベント属性別処理を加えてマイクロコンピ
ュータ上で実行可能なコードを生成する。図14の状態
遷移表42の3行3列目について、図15で示す「*」
で始まるイベント属性別処理を見つけているので、コー
ド生成手段8がコードを生成する。実際にマイクロコン
ピュータ上で動かすことのできるコードは図16のよう
になる。即ちこの図16では、図15のイベント属性別
処理切り出し手段で見つけた文字列から最初の「*」を
消した文字列(1点鎖線で囲った部分)が付加されて、
実行する処理コードとして作成されている。この図16
を第1の実施例の図9のコードの(b)の部分と比べる
と、実行する処理をイベント属性別処理切り出し手段6
で見つけたイベント属性別の処理に変えている。
【0032】図14の状態遷移表42では、イベント属
性別処理が存在するのは3行3列目だけであるので、状
態遷移表42の3行3列目については、上記の方法を適
用して、マイクロコンピュータ上で実行できるコードを
生成する。図14の状態遷移表の3行3列目以外の部分
については、第1の実施例と同じ方法でマイクロコンピ
ュータ上で実行できるコードが生成できる。
【0033】(3)請求項3に関わる発明の実施例(便
宜上第3の実施例ともいう)について:実行した処理の
結果で、状態遷移先を変えたい場合がある。自動販売機
では、1回お金を入れて1つの商品を販売すると釣り銭
を返却して販売動作を終了するシングルベンドのモード
と、1回お金を入れると商品の販売ごとに商品価格を投
入金額から減算し、残った金額で販売できる限り連続し
て販売できるマルチベンドのモードとの2種類のモード
がある。この場合は図17の状態遷移表43の4行4列
目のように、販売を終了したとき、マルチベンド可能な
ときは入金状態に移行し、シングルベンドの時か、お金
が不足してマルチベンド不可能なときは返金状態に移行
する。この第3の実施例においても図1のイベント切り
出し手段2、内部状態切り出し手段3、実行処理切り出
し手段5、状態遷移先切り出し手段4が機能するがその
内容については、第1の実施例と同じである。
【0034】次に図17の状態遷移表43を用いてこの
第3の実施例を述べる。図17の状態遷移表43は、第
1の実施例で説明した図4の状態遷移表41とほぼ同じ
であるが、4行4列目に「販売終了処理」の処理結果が
0の時には入金状態に移行し(マルチベンド時)、1の
時は返金状態に移行する(シングルベンド時)ことを示
している。
【0035】この第3の実施例では図1の状態遷移変更
先切り出し手段7が新たに機能するこの手段7は、状態
遷移表43のi行j列目(iは2から内部状態の数+1
まで。jは2からイベントの数+1まで)について罫線
で囲まれた部分を調べて、その中に存在する文字列を切
り取り、切り取った文字列の中から記号「#」を見つけ
る。「#」を見つけると、その後の文字列を切り出して
メモリ31に格納する。図17では、4行4列目に
「#」を見つけたので、図18のように文字列を切り出
す。
【0036】この第3の実施例でも図1のコード生成手
段8が機能するがこの手段8は、メモリ31に格納して
いるイベント、内部状態、実行する処理、廃棄イベン
ト、状態遷移先、イベント属性別処理からマイクロコン
ピュータ上で実行可能なコードを生成する。コード生成
手段の処理方法は、第1の実施例とほぼ同じであるが、
状態遷移表43の4行4列目について、状態遷移変更先
切り出し手段7で見つけた「販売終了処理」の結果から
状態遷移先を変更する処理を加えてマイクロコンピュー
タ上で実行可能なコードを生成する。図17の状態遷移
表43の4行4列目について、図18で示す「#」で始
まる実行結果に依存する状態遷移変更先を見つけている
ので、コード生成手段8が生成する実際にマイクロコン
ピュータ上で動かすことのできるコードは図19のよう
になる。この図19は、図18の状態遷移変更先切り出
し手段7で見つけた文字列から最初の「#」を消して、
内部状態を変更する処理コードとして作成されている。
図19を第1の実施例の図9の(b)の部分と比べる
と、実行処理の結果をセル状態というワーク領域にいっ
たん格納し、そのセル状態を調べて内部状態を変更する
コードになっているところが異なる。
【0037】図17の状態遷移表43では、処理結果に
より状態遷移先が変わるのは4行4列目だけであるの
で、状態遷移表の4行4列目について、上記の方法を適
用して、マイクロコンピュータ上で実行できるコードを
生成する。図17の状態遷移表43の4行4列目以外の
部分については、第1の実施例と同じ方法でマイクロコ
ンピュータ上で実行できるコードが生成できる。
【0038】
【発明の効果】本発明によればイベント駆動型のマイク
ロコンピュータ制御システムのコードを作成する際、電
子計算機装置を用いてプログラムの設計段階で作成した
状態遷移表から、各々のシステムで個別な内部状態と内
部状態の数、発生するイベントとイベントの数、発生し
たイベントと内部状態から得られる実行すべき処理プロ
グラムの名前と状態遷移先を切りだし、各々のシステム
で個別な部分だけを自動的にマイクロコンピュータ上で
実行可能なプログラムコードに変換し、さらに得られた
各々のシステムで個別なプログラムコードと全てのシス
テムで共通な骨格部分のプログラムコードとを併せて状
態遷移表を実現するプログラムコードを自動的に生成す
るようにしたので、コーディング段階でのミスや、勘違
いを無くし、時間と人手を節約する事ができる。
【図面の簡単な説明】
【図1】本発明のクレーム対応図
【図2】本発明によって自動生成されるプログラムコー
ドが機能するシステムの例としての自動販売機制御シス
テムの構成図
【図3】本発明によってプログラムコードを自動生成す
るシステムの例としてのパソコンによるクロス開発シス
テムの構成図
【図4】請求項1に関わる発明の実施例としての状態遷
移表を示す図
【図5】図4に対応するイベントのコード表を示す図
【図6】図4に対応する内部状態のコード表を示す図
【図7】図4に対応する保留イベント記憶手段のプログ
ラムコードを示す図
【図8】図4に対応する廃棄イベント記憶手段のプログ
ラムコードを示す図
【図9】図4の2行2列目のプログラムコードを示す図
【図10】図4に対応するイベント処理方式記憶手段の
構造図
【図11】図4に対応する実行イベント記憶手段の構造
【図12】図10のイベント処理方式記憶手段のプログ
ラムコードを示す図
【図13】図11の実行イベント記憶手段のプログラム
コードを示す図
【図14】請求項2に関わる発明の実施例としての状態
遷移表を示す図
【図15】図14からイベント属性別処理切り出し手段
が切り出したイベント属性別処理を示す図
【図16】図14の状態遷移表の3行3列目のプログラ
ムコードを示す図
【図17】請求項3に関わる発明の実施例としての状態
遷移表を示す図
【図18】図17から状態遷移変更先切り出し手段が切
り出した状態遷移変更先を示す図
【図19】図17の状態遷移表の4行4列目のプログラ
ムコードを示す図
【符号の説明】
1 状態遷移表読込手段 2 イベント切り出し手段 3 内部状態切り出し手段 4 状態遷移先切り出し手段 5 実行処理切り出し手段 6 イベント属性別処理切り出し手段 7 状態遷移変更先切り出し手段 11 主制御装置 12 コインメカニズム 13 機器制御装置 14 キーボード制御装置 15 扉制御装置 30 CPU 31 1次記憶装置 32 2次記憶装置 33 ROMライタ 34 CRT 41 状態遷移表 42 状態遷移表 43 状態遷移表

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】発生したイベントと内部で持っている内部
    状態により、どの様な処理を行うかを決定するイベント
    駆動型の制御を行うマイクロコンピュータ制御システム
    のコードを作成する電子計算機装置であって、 イベントと内部状態を対比させた状態遷移表を読み込む
    状態遷移表読み込み手段と、 読み込んだ状態遷移表から発生するイベントを切り出す
    イベント切り出し手段と、 読み込んだ状態遷移表から内部状態を切り出す内部状態
    切り出し手段と、 発生したイベントと内部状態により実行する処理を切り
    出す実行処理切り出し手段と、 処理を実行した後に内部状態を変更する状態遷移先を切
    り出す状態遷移先切り出し手段と、 前記の各切り出し手段より切り出されたイベントと内部
    状態と実行する処理と状態遷移先とをマイクロコンピュ
    ータ上で実行可能なコードに変換するコード生成手段と
    を備えた事を特徴とする電子計算機装置。
  2. 【請求項2】請求項1に記載の電子計算機装置におい
    て、 発生したイベントの属性を示すイベント属性により実行
    する処理が異なるとき、前記状態遷移表読み込み手段よ
    り読み込んだ状態遷移表から、各々のイベント属性別に
    実行する処理を切り出すイベント属性別処理切り出し手
    段を備え、 前記コード生成手段はさらにこの切り出されたイベント
    属性別処理を一括してマイクロコンピュータ上で実行可
    能なコードに変換するものであることを特徴とする電子
    計算機装置。
  3. 【請求項3】請求項1または請求項2に記載の電子計算
    機装置において、 実行する処理の結果により遷移する状態遷移先が変化す
    るとき、実行する処理の結果から変更する状態遷移先を
    前記状態遷移表読み込み手段より読み込んだ状態遷移表
    から切り出す状態遷移変更先切り出し手段を備え、 前記コード生成手段はさらにこの切り出された状態遷移
    変更先をマイクロコンピュータ上で実行可能なコードに
    変換するものであることを特徴とする電子計算機装置。
JP5052767A 1993-03-15 1993-03-15 電子計算機装置 Pending JPH06266543A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5052767A JPH06266543A (ja) 1993-03-15 1993-03-15 電子計算機装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5052767A JPH06266543A (ja) 1993-03-15 1993-03-15 電子計算機装置

Publications (1)

Publication Number Publication Date
JPH06266543A true JPH06266543A (ja) 1994-09-22

Family

ID=12924026

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5052767A Pending JPH06266543A (ja) 1993-03-15 1993-03-15 電子計算機装置

Country Status (1)

Country Link
JP (1) JPH06266543A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0887408A (ja) * 1994-09-19 1996-04-02 Atr Tsushin Syst Kenkyusho:Kk サービス処理プログラム生成装置および方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0887408A (ja) * 1994-09-19 1996-04-02 Atr Tsushin Syst Kenkyusho:Kk サービス処理プログラム生成装置および方法

Similar Documents

Publication Publication Date Title
EP0314595B1 (en) Bill of material interface to CAD/CAM environment
US5237158A (en) Image-based document processing system providing for priority document shipment
US5120944A (en) Image-based document processing system providing enhanced workstation balancing
US5874717A (en) Image-based document processing system
JP2957375B2 (ja) 文書書式のデジタル・イメージの文字認識誤りを修復するデータ処理システム及び方法
US5206915A (en) Image-based document processing system providing lost image recovery
US4855908A (en) POS system
US6934945B1 (en) Method and apparatus for controlling communications
JP2004272919A (ja) タスク実行のためのプロセス構造を定義するシステムおよび方法
KR100339506B1 (ko) 프리 프로세스부, 펑숀부 및 포스트 프로세스부를 포함하는 프로그램 실체를 취급하는 오브젝트 지향 비쥬얼 프로그램 개발시스템
EP1342157B1 (en) An auto-generated task sequence
CN112016967B (zh) 一种交易数据处理方法与装置
US20030135496A1 (en) Management program, method and apparatus for business process definition
JPH06266543A (ja) 電子計算機装置
JP2006065706A (ja) アプリケーション要件設計支援システムおよび方法
US6950992B2 (en) External-character font creation system and program recording medium therefor
GB2109966A (en) Control systems
US5355125A (en) Electronic register with macro key and security
AU753163B2 (en) Method and apparatus for controlling communications
JP7143651B2 (ja) 情報処理装置、情報処理システム及びプログラム
US4843590A (en) History stack
KR940001956B1 (ko) 금전등록기의 시간단위 거래내용 자동 처리방법
GB2248325A (en) Resource control computer apparatus
EP0350655A2 (en) Apparatus and method for updating transaction file
CN112347178A (zh) 基于人机交互行为的数据对接方法、装置、终端及服务器