JPH04352029A - ソースプログラム自動生成装置 - Google Patents

ソースプログラム自動生成装置

Info

Publication number
JPH04352029A
JPH04352029A JP3124353A JP12435391A JPH04352029A JP H04352029 A JPH04352029 A JP H04352029A JP 3124353 A JP3124353 A JP 3124353A JP 12435391 A JP12435391 A JP 12435391A JP H04352029 A JPH04352029 A JP H04352029A
Authority
JP
Japan
Prior art keywords
processing
source program
state
box
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.)
Pending
Application number
JP3124353A
Other languages
English (en)
Inventor
Shiro Atami
熱海 史郎
Kenichi Funakubo
舟窪 憲一
Kazuhisa Iida
飯田 一久
Tatsuo Kawatobi
川飛 達夫
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 Software Engineering Co Ltd
Hitachi Ltd
Original Assignee
Hitachi Software Engineering Co Ltd
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 Software Engineering Co Ltd, Hitachi Ltd filed Critical Hitachi Software Engineering Co Ltd
Priority to JP3124353A priority Critical patent/JPH04352029A/ja
Publication of JPH04352029A publication Critical patent/JPH04352029A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)
  • Exchange Systems With Centralized Control (AREA)
  • Communication Control (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、ソースプログラムの自
動生成装置に係わり、特に表形式のマトリックスで表現
されたプログラム仕様からソースプログラムを自動生成
する装置に関するものである。
【0002】
【従来の技術】一般に業務アプリケーションプログラム
の多くは処理を機能毎に独立にでき、各処理をそれぞれ
独立に完結させることができる。しかしオンライン業務
におけるトランザクション処理やオンライン通信管理に
おける送受信データのヘッダ情報の種類に応じた処理な
どに代表されるように、通信系のプログラムでは非同期
に発生し相互に関連し合う事象に対する処理を時系列化
した動作順序でプログラム論理を設計しなければならな
い。またオンライン通信管理プログラムのようなソフト
ウエアの開発では、予期せぬ事象の発生や通信相手装置
との機能の差異などによって、プログラムテストの最終
段階においてもプログラム仕様を変更したりする場合が
ある。
【0003】このために、仕様の定義には事象と状態の
マトリックス表で処理の条件を決定し、マトリックス上
事象と状態が交差するところで処理内容を規定する状態
遷移表を用いた仕様規定を行う。このマトリックス表を
用いることによって、予期せぬ事象の発生や通信相手装
置との機能の差異などによって発生したプログラム仕様
の変更の場合も変更の範囲が限定できる効果がある。さ
らにプログラム仕様の記述された仕様書から直接ソース
プログラムを自動生成できれば大きな作業効率の改善と
なる。
【0004】従来、ソースプログラムの作成では、まず
プログラマがプログラムの仕様書を作り、次にその仕様
書に基づいてコーディングシートにプログラムを書き、
そして、キーパンチャーが端末装置のキーボードからコ
ーディングシートに書かれたプログラムを直接計算機に
入力して、ファイル装置にソースプログラムを作成する
。更に、しばしば生じるプログラム仕様書の書き直しや
プログラムのステップの追加、変更がある場合にも、上
記のような作業を繰り返して行うことになる。このよう
にソースプログラムを作成する作業では、多くの労力が
必要とされる。
【0005】ところでソースプログラムを作成する作業
では、プログラム言語により決まっている部分、例えば
キーワード、区切り記号、継続のための文字等が繰り返
して現われ、これらに対してもその都度人手によりコー
ディングして、パンチ、キー操作等を行う。このような
ソースプログラム作成の繰り返し作業においてはミスが
発生することも多く、またこのようなミスの修正のため
に多大な労力を必要とするという問題があった。
【0006】このようなソースプログラムの作成に要す
る作業負担を削減する技術として、例えば特開昭60−
159939号公報に記載のように、プログラムの制御
と処理とを図式で表現し、それらを各々定義した後、ソ
ースプログラムを自動生成するようにした「図式・ソー
スプログラム自動生成方法」や、特開昭64−7622
4号公報に記載のプログラム仕様を表形式で表現してソ
ースプログラムを生成する「ソースプログラム自動生成
装置」が提案されている。
【0007】
【発明が解決しようとする課題】ソースプログラムの作
成においては、まずプログラム仕様書を作り、次にその
仕様書に基づいてコーディングを行う。例えば、オンラ
イン通信管理プログラムのようなプログラム作成では、
必要な処理と制御を事象と状態のマトリックスで表現し
て仕様書を作る。そしてこの仕様書に基づいてコーディ
ングを行う。仕様書としては事象と状態のマトリックス
で表現した処理と制御の仕様書、モジュール仕様書、テ
ーブル仕様書等があり、各仕様書で情報の定義が分散さ
れた状態となる。このため、各定義情報が分散している
ことにより、コーディング作業時に、不注意な定義ミス
や仕様書からの書き移しミスが発生することが多く、コ
ーディング作業および各仕様書の作成作業に多くの労力
を必要とするという問題があった。
【0008】本発明の目的は、事象と状態のマトリック
ス表で示せるような処理のプログラム作成において、マ
トリックス表の情報を有効利用して定義した情報を分散
させず、プログラムの仕様の定義からソースプログラム
のコーディングまでの処理を効率的に行うソースプログ
ラム自動生成装置を提供することにある。
【0009】
【課題を解決するための手段】上記目的を達成するため
に本発明においては、処理と制御を事象と状態のマトリ
ックスで表現するマトリックス表を形成して、当該マト
リックス表について事象の名称、状態の名称および両者
の交差部の処理定義情報を記述する。このマトリックス
表のデータをメモリ上に蓄積する手段と、マトリックス
表で示される表枠で括られるボックスの位置を符号化す
ることによってマトリックス表に沿った処理のスケジュ
ール論理をソースプログラムとして生成すると共に、交
差部の処理定義情報に対するソースプログラムを自動生
成する手段とを有することを特徴とする。
【0010】
【作用】本発明によれば、マトリックス表で表現された
仕様書情報から事象、状態および処理の定義情報を抽出
し、プログラムのソースファイルのプログラミング情報
を自動生成することにより、人手によるプログラムソー
スファイル作成作業を大幅に削減すると共に、人手によ
る不注意なミスも防ぐことができる。
【0011】
【実施例】以下、本発明の実施例について図面を用いて
具体的に説明する。
【0012】図1は、本発明の第1の実施例に係わるハ
ードウェア構成図である。図1において、1は計算機で
あり、ここにソースプログラム自動生成装置を構成する
各機能要素が備えられる。2はキーボードを備えたディ
スプレイ装置であり、3は情報出力用のプリンタ装置で
あり、4は各種の情報を記憶するためのファイル装置で
ある。
【0013】図2〜図4は、実施例において計算機1が
行う処理の概略フローを示すフローチャートである。図
2〜図4を参照して処理の概略を説明する。
【0014】まずステップ5において、起動時に指定さ
れたファイル名を持つファイルよりマトリックス表デー
タを読み込む処理を行い、次のステップ6でファイルの
終了を検出するまで、ステップ7以降の処理を行う。こ
こで図6〜図7を用いてマトリックス表データのファイ
ルとメモリ上でのデータ形式について説明する。
【0015】図6は、本発明の一実施例にかかるソース
プログラム自動生成装置への入力情報となるマトリック
ス表24である。この表は、事象と状態から必要な処理
と状態遷移を決定するマトリックス表である。図6では
、表の一部しか示されていないが、このマトリックス表
の枠の縦横のサイズ、事象/状態の数はシステム定数値
として与えることによって、任意のマトリックス表の作
成が可能なものである。このマトリックス表24を作成
することによって、例えば図6の処理1に変更があって
も他の処理には影響を与えることがなく、さらに事象が
追加されたり削除された場合にも他の事象に対する影響
がない。また、状態を追加したり削除する必要が生じた
場合にもその影響は非常に限られた範囲に絞られる。 このようにマトリックス表はプログラム仕様を記述する
方法の中で、特に非同期に発生する事象に対してそのプ
ログラム動作仕様を記述する場合に適している。
【0016】図7は、マトリックス表のファイル上での
データ形式を示している。図7の25で示すマトリック
ス表の各行の情報は上限値をNバイトとするシフトJI
SコードやASCIIコードなどの文字列としてファイ
ルに記憶されている状態を示す。また状態の数が多く、
マトリックス表の1行の長さがNバイトを越える場合は
、状態の区切り目を境界点としてNバイト近傍の長さで
分割し、次表として表の最終行の次に継続して記憶して
ゆく。これをマトリックスの分割記憶方式と呼び、分割
された各表は分割マトリックス番号によって管理し複数
の表に跨る状態の連続性が保証されている。各表の区切
りは、表枠の開始符号が連続していることにより判別す
る。
【0017】またメモリ上でのデータ形式は、図7のマ
トリックス表の1行を示すファイルのレコードを読み込
んでC/R(キャリッジ・リターン)を除去して計算機
1の主記憶上のメモリ割付けエリア26に記憶する。こ
の領域のアドレスは行情報アドレスリスト27により記
憶され管理される。これらのメモリ上でのデータを使用
して図2〜図4のステップ7以降の処理を行う。ステッ
プ7ではファイルから読み込んだデータが、マトリック
ス表データであるか否かを判別する。マトリックス表デ
ータでない場合は、入力したデータをそのまま出力ファ
イルに書き込む(ステップ9)。次のステップ10では
、既にマトリックス表データが読み込み済みであるかを
チェツクすることによって、ファイル読み込みを継続す
るか、ソースプログラムの生成を開始するかを判別する
。このようにファイルから読み込まれたデータは、マト
リックス表データであれば図7について説明したように
行情報がメモリ割付けエリア26に書き込まれ、行情報
アドレスリストが作成される(ステップ8)。
【0018】マトリックス表データがファイルより読み
込まれると、次にソースプログラム生成の開始準備を行
う。メモリ上のマトリックス表データは、2次元の文字
列情報として記憶されている。そこで、表の枠で囲まれ
たボックス内の記述部分であってJISコードやASC
IIコードなどで表現された文字列を取り出す機能を持
つことが本発明の実施例において重要である。このボッ
クス記述部分の文字列取り出し手段は、図5のステップ
23に示すように、本装置を構成する機能要素の共通機
能であり、指定された事象と状態の番号から各行情報の
開始位置、状態の横のサイズおよび事象を記述する行数
を用いて、ボックス記述部分を1次元の文字列に置き換
える。この時の、ボックスの位置情報は表枠を示す区切
り符号、例えばアスタリスク(*),縦バー(|)やハ
イフン(−)などを表の先頭よりカウントすることによ
って得ることができる。また、状態の数が多くマトリッ
クス表が分割されている場合には、分割マトリックス番
号を更新し、次表となる分割マトリックス表を得て状態
番号とマトリックス表データとを対応づけてボックスデ
ータを得る。このボックス記述部分取り出しの共通機能
要素を用いてソースプログラムを生成してゆく手順を図
3のステップ11から説明する。
【0019】ステップ11ではボックス記述部分取り出
し機能要素を用いて状態定義情報を全状態について取り
出し、図8に示す状態名リストを作成する。またステッ
プ12では、同様に事象定義情報を全事象について取り
出し、図9に示す事象名リストを作成する。次のステッ
プ13では、状態番号と事象番号との交差部によって表
内の位置が定まるボックス記述部分を全て取り出し、図
10に示す処理記述管理テーブルを作成する。図10の
処理記述管理テーブル30は、図6に示すマトリックス
表のどの位置にあるボックス(図中の処理i)であるか
を次の計算式によって得られる番号に符号化することが
できる。
【0020】(a)状態番号*事象の総数+事象番号(
b)(a)で符号化された値を処理記述部が同一のグル
ープごとにまとめて一意な番号に変換した番号本実施例
では、これら2通りの使い分けがソースプログラムの生
成に関連して実施できる。
【0021】符号化された識別情報(ID)にボックス
の位置情報が変換されると、それをキー情報として処理
記述管理テーブル30に設定し、チェインを構成しなが
ら記憶してゆく。この場合に、既に作成済みの処理記述
管理テーブル30のチェインを辿りながら、新たに登録
したい処理記述リストとをスペースとコメントを除去し
たもの同士を比較し、まだ未登録の処理記述と判別され
た場合に、処理記述リスト31のアドレスを処理記述管
理テーブル30に記憶する。処理記述が一致した場合は
、参照ID番号テーブル32を作成し、処理記述管理テ
ーブル30からチェインを構成して記憶してゆく。
【0022】処理記述管理テーブル30が作成されるこ
とにより、マトリックス表内での一意の場所がID番号
に変換され、事象,状態および処理記述の各定義情報が
メモリ上に蓄積記憶されたことになる。本発明の原理は
、入力情報である状態と事象の符号データ、例えば番号
などから上記のボックスの位置が特定できる点に着目し
、C言語プログラミングにおける関数アドレス直接コー
ル文やswitch文とcase文とに対応づけること
にある。この点から、図3のステップ14ではBEGI
N文で指定する関数名および生成条件パラメータと図6
に示す状態/イベントの名称とから関数宣言部を生成し
、ステップ15ではswitch文の引数となる変数式
を上記(a)のように生成する。図4のステップ16か
らステップ20までは、ボックス内の処理に対応してソ
ースプログラムを生成する部分である。まず、ステップ
16では図10に示した処理記述管理テーブル30を検
索してボックスに対応する記述内容をプログラムとして
、インデンテーションを合せ移動する。この場合、所定
記述(下記の(a)から(d))の条件に沿って、プロ
グラム生成を行う。ステップ17ですべてのボックスに
対応する処理のソースプログラムを生成したかを判定す
る。その上でステップ18で処理記述管理テーブル30
からID番号を得て、そのID番号を付したcase文
を生成する。このcase文によりボックス処理の位置
がソースプログラムの中においても明示的となる。
【0023】ステップ19では処理記述リスト31と呼
ぶ情報ストリームに変換し管理する。この文字ストリー
ムはボックスの記述内容を一次元のストリームにしたも
ので、■スペースを除去、■+−−−−+区切りは制御
コード「bs」に変換■終了コードは(00)16とす
る条件で変換されたものである。この処理記述リスト3
1をソースプログラムに変換し、プログラム・ソースの
インデンテーションを合わせるような整形をしてソース
プログラムを生成する。このことによってマトリックス
表という設計ドキュメントからソースプログラムを自動
生成する効率を高めることができる。整形する記述対象
には以下の4種類がある。
【0024】(a)日本語文字列を辞書の索引に登録し
、その置換文字列として登録してあるソースプログラム
に置き換える。
【0025】(b)日本語文字列の中で  ’に”を”
と’の文字を’=’や’;’に置換するとともに日本語
文字列を無視するなどして、ソースプログラムを生成す
る。
【0026】(c)機能名称を関数名に置換する。
【0027】(d)ソースプログラムコードをそのまま
生成文字として扱える。
【0028】ステップ19においてもう一つ特徴的な処
理方式は、条件(  )文により明示される条件の範囲
を{  }か、ボックスの区切りである+−−−−−−
−+かによって示される条件判別式の内容や個数からの
ソースプログラムを生成する際にif文にするかswi
tch文にするかを自動的に判断することができること
である。
【0029】ステップ20でcase文処理、即ちボッ
クス処理の終了処理としてbreak文を生成し、次の
ボックスの処理のためにステップ16からの処理を繰り
返す。
【0030】ステップ21では、関数の終了を示すソー
スプログラムを生成し、またステップ22ではID番号
の生成の際に変換テーブルを用いた場合の変換テーブル
のソースプログラムを生成し、出力ファイルに書き込む
【0031】このような手順で、マトリックス表データ
から事象と状態の定義情報を抽出し、この抽出情報に基
づいてソースプログラムを生成することができる。
【0032】ソースプログラム生成のための情報である
マトリックス表は、設計ドキュメントとソースプログラ
ムとが一元管理できるものであり、定義情報の分散を防
ぎ人手による誤りを少なくして品質の良いプログラムを
効率よく作成できる。
【0033】以上説明したように、本実施例によればソ
ースプログラムを生成する作業において種々の情報がマ
トリックス表という設計ドキュメントに整理され、情報
の分散を防ぎ人手作業に伴う不注意によるミスを少なく
してソースプログラムの生成を行うことができる。
【0034】つぎに、本発明の2番目の実施例について
図面を用いて説明する。第2の実施例に係わるハードウ
ェア構成は図1に示す通りである。
【0035】図11は、本発明の実施例にかかるソース
プログラム自動生成装置を形成する各機能要素を実現し
ている計算機における処理の概略フローチャートである
。まず、ステップ105において利用者から指示された
ファイル装置から状態遷移表データを読み込む処理を行
い、次のステップ106でファイルの終了を検出するま
でステップ107以降の処理を行う。ステップ107か
ら108まではソースプログラム自動生成のための状態
遷移表解析処理で、ステップ109から110までは状
態遷移表解析処理で作成した状態遷移表解析テーブル情
報を基にソースプログラムの生成処理であり、ステップ
111では自動生成したソースプログラムをファイル装
置へ書き込む処理である。ここでまず、入力となる状態
遷移表データの記述形式について、図12および図13
を用いて説明する。
【0036】図12(a)は、状態遷移表の形式を示し
たものである。この状態遷移表は、横軸に状態、縦軸に
事象を示し、状態と事象の交差点の枠をボックスと呼び
、ボックス上には、「ある状態」において「ある事象」
が生じたときに、「処理」と次へ遷移させる「状態」を
記述する。事象に対し条件がある場合には、条件ごとに
処理と次へ遷移させる「状態」を記述するボックス中の
条件や処理の具体的な説明は、図12(b)に示すよう
に記述される。図12(a)の状態遷移表は表の一部の
みを示す例であるが、状態数と事象数、すなわち状態遷
移表の大きさは、利用者によって任意に決定される。状
態遷移表は「ある状態」において「ある事象」が生じる
とプログラムの「処理」と次の「状態」が一意に決まる
ような通信系のソフトウエアの仕様を記述する方法とし
て適している。また状態遷移表はすべての処理を漏れな
く厳密に網羅できる特徴があり、通信系のソフトウエア
の作成においてはソフトウエアの要求仕様を表現するの
に適している。
【0037】図13は、本発明の実施例にかかるソース
プログラム自動生成装置への入力情報となる状態遷移表
データである。状態遷移表データの記述構成は、図に示
すように状態遷移表部とこの表上のボックス中に記述さ
れる条件式名及び処理名の動作部から構成される。動作
部には、ボックス中の条件式名や処理名に対応するソー
スプログラムをPL/Iプログラミング言語で記述する
。状態遷移表データは、ファイル装置4に状態遷移表デ
ータファイルとして登録される。状態遷移表データの開
始は”♯♯♯BEGIN”112で記述され、終りは”
♯♯♯END”113で記述される。状態遷移表は、全
体の枠を”*”114で記述する。状態は横軸に”*”
で区切って記述し、事象は縦軸に”*”で区切って記述
する。状態と事象の交差点は”+”115で記述する。 状態と次の状態の間及び事象と次の事象の間はそれぞれ
、横軸に”−”116、縦軸に”|”117を記述する
。状態遷移表へ記述可能な状態と事象には個数の制限は
ない。状態遷移表の最初のボックスは、上段に状態番号
記憶領域名称118、下段に事象番号記憶領域名称11
9を記述する。これらの領域は、プログラムで管理する
状態及び事象の番号を記憶するための領域であり、プロ
グラムへ入力事象が生じたとき、状態遷移表上の状態と
事象の交差点に存在るすボックスを選択する時に使用す
る領域である。ボックス中の処理を”〈処理名〉”12
0、状態遷移を”ー〉状態名”121で記述する。条件
ごとに処理を記述する場合は、条件式を”条件式名”1
22で記述し、該当する条件下に処理を記述する。ボッ
クス中には条件ごとに動作を複数記述することができる
。ボックス中の条件式名、処理名に対応するソースプロ
グラムは、動作部に条件式名は”PREDICATE”
と”ENDPREDICATE”(123)内に、処理
名は”ACTION”と”ENDACTION”(12
4)内にPL/Iプログラミング言語でソースプログラ
ムを記述する。
【0038】図11に戻って、ステップ107の状態遷
移表解析処理では、ステップ105で状態遷移表データ
ファイルから読み込んだ入力情報をもとに状態遷移表を
解析する。ここで図14を用いて状態遷移表解析処理を
説明する。
【0039】図14は、状態遷移表を解析し状態遷移表
とこの表上の状態と事象及び状態と事象の交差点に存在
するボックス中の処理情報をテーブルによって表現した
ものである。状態遷移表解析処理では、状態遷移表の”
*”で表を識別して、横軸の”*”から”次の”*”ま
でを状態として、同じようにして縦軸の”*”から次の
”*”までを事象として、状態遷移表上の状態について
の情報を状態管理テーブル125に、事象についての情
報を事象管理テーブル126に記憶する。最初の状態と
事象との交差点は上段が状態番号記憶領域名称118で
下段が事象番号記憶領域名称119で、これらの情報は
状態遷移表管理テーブル127に記憶される。状態管理
テーブル125には、該当する状態名称記憶領域とこの
状態に生じる事象の事象管理テーブルがポインタを記憶
する。事象管理テーブル126には事象名称記憶領域と
この事象のボックス上の情報を管理するボックス管理テ
ーブル128のポインタを記憶する。これら状態管理テ
ーブル125と事象管理テーブル126は、状態遷移表
上の全ての状態と事象の情報をチェーンポインタで関連
づける。ボックス管理テーブル128は、各々のボック
スごとにボックス番号を設定し、ボックス上に記述され
る処理情報の条件式名称と条件式番号129、処理名称
と処理番号130及び状態遷移情報、たとえば状態遷移
名称131を記憶する。この時、ボックス上の動作情報
が同じ複数のボックスについては、同一ボックス番号に
する。また同じ条件式名称及び処理名称に対しても同一
条件式番号及び処理番号にする。状態管理テーブル12
5と事象管理テーブル126は状態遷移表管理テーブル
127からポイントする。このようにして、状態遷移表
解析処理では状態遷移表と状態遷移表上の状態,事象及
びボックス内の処理情報と透過的にテーブルとして表現
する。
【0040】次のステップ108における状態遷移表上
のボックス中の動作解析処理について図15を用いて説
明する。図15は、状態遷移表上のボックス中の処理情
報をテーブルによって表現したものである。状態遷移表
上のボックス中の動作解析処理では、状態遷移表上のボ
ックスに記述された条件式名や処理名及び状態遷移情報
を条件式管理テーブル132と処理管理テーブル133
に記憶する。条件式管理テーブル132には処理部の”
PREDICATE”内で記述した条件式記述情報13
4を、処理管理テーブル133には処理部の”ACTI
ON”内で記述されたソースプログラム情報135を記
憶する。状態遷移表上のボックス中の動作解析処理では
、状態遷移表上のボックス中の処理部で条件式名や処理
名ごとにPL/Iプログラミング言語で記述されたソー
スプログラム情報との関連づけをする。条件式管理テー
ブル132と処理管理テーブル133で記憶されている
条件式番号及び処理番号は図14における状態番号と事
象番号に対応する。条件式管理テーブル132と処理管
理テーブル133は、状態遷移表管理テーブル127か
らポイントする。
【0041】次に、ステップ109から110のソース
プログラムの自動生成処理を説明する。
【0042】ステップ109ではプログラムがある状態
の時にある入力事象が生じた場合、状態遷移表上の該当
するボックス番号を選択する論理とこのボックス番号へ
分岐する論理をソースプログラムに生成する処理である
。図16は、ソースプログラム自動生成処理の概略フロ
ーチャートである。ステップ136は、状態番号記憶領
域の内容と事象番号記憶領域の内容を組合せて変数名と
し、DCL文を生成する。ステップ137は、状態番号
記憶領域の内容と事象番号記憶領域の内容をSELEC
T文で選択し、状態遷移表上の該当するボックスへWH
EN文で分岐させる論理をソースプログラムに生成する
【0043】図17は、ステップ136および137で
生成したPL/Iソースプログラムのコーデイングであ
る。138は状態番号と事象番号を組合せた変数名をも
つDCL文である。ステートメント139で状態番号と
事象番号を選択し、ステートメント140において状態
と事象に該当するボックス番号へ分岐する。141およ
び142は状態遷移表上に記述された状態番号記憶領域
と事象番号記憶領域をDCL文に生成したものである。 図17のssは状態番号,eeは事象番号を示す。
【0044】次にステップ110は、状態遷移表上のボ
ックス中に記述された処理を順次実行する論理をPL/
Iソースプログラムに生成する。ボックス中の動作のソ
ースプログラム生成処理について図18を用いて説明す
る。図18は、ボックス中の処理を順次実行する論理を
生成する処理の概略をフローチャートに実現したもので
ある。ステップ108で解析したテーブルを基に、ステ
ップ143でボックスの入り口であるボックス番号をラ
ベル名に生成する。このボックス番号は、状態遷移表上
の状態と事象の交差点に存在するボックス上に記述され
た処理を順次実行する入り口となる。ステップ144の
ボックス内情報がなくなるまでステップ145からステ
ップ149までの処理を行う。ステップ145では、条
件式情報の有り無しを判定し、条件式情報があるとステ
ップ146で条件式IF文を生成する。条件式情報が無
いときはステップ147を行う。ステップ147では処
理情報が無くなるまでステップ148の処理番号を呼ぶ
CALL文を生成する。ボックス内情報が無くなると、
ステップ149で次の状態へ遷移する代入文を生成する
。このようにして、ボックス内に記述された処理を順次
実行する論理をPL/Iソースプログラムに生成する。 図19は、図18で生成したPL/Iソースプログラム
のコーデイングである。図19でxx,yyは処理番号
、mmは条件式番号を示す。150はボックス番号で、
状態遷移表上の状態と事象の交差点に存在するボックス
上に記述された処理を順次実行する入り口を示す。 151はボックス上の条件式名のIF文である。条件式
が成立するとボックス上の処理を呼ぶCALL文152
を実行する。CALL文152では処理名に対応した処
理番号の処理を呼ぶ。135は次の状態を遷移する代入
文である。154は処理の終了へ行く文である。155
から156は条件がみたされなかったときの次のボック
スの生成処理である。157は処理名ごとにソースプロ
グラムの入り口のラベル名を示す。158はPL/Iプ
ログラミング言語で記述した処理名に対応したソースプ
ログラムである。
【0045】ステップ111は、自動生成されたソース
プログラムをファイル装置4上のソースプログラムファ
イルへ書き込む処理である。
【0046】以上、本実施例にもとづき具体的に説明し
たが本発明は、前記実施例に限定されるものではなくそ
の要旨を逸脱しない範囲において種々変更可能であるこ
とは言うまでもない。
【0047】
【発明の効果】以上、説明したように、本発明によれば
、マトリックス表の形式によりプログラムの仕様を規定
することで、自動的にソースプログラムを作成できるの
で、プログラム作成の手間を大幅に削減できるとともに
、人手によって生じる不注意ミスも防ぐことができる。 そして、各定義情報を表形式でプリンタに出力すること
によって、ドキュメントの作成時間を削減できるととも
に、情報間の不一致という問題も発生しない。さらに、
マトリックス表は仕様の追加・変更などによる影響が他
に及びにくいという特徴があり、マトリックス表で一元
管理すればプログラムの保守が容易となる。
【図面の簡単な説明】
【図1】本発明の一実施例にかかるソースプログラム自
動生成装置を構成するシステムの概略構成の一例を示す
ブロック図である。
【図2】本発明の一実施例にかかるソースプログラム自
動生成装置を構成する各機能要素を実現している計算機
1における処理の概略フローを示すフローチャート(一
部)である。
【図3】図2に続くフローチャート(一部)である。
【図4】図3に続くフローチャート(一部)である。
【図5】図4に続くフローチャート(一部)である。
【図6】マトリックス表の表形式の一例を示す図である
【図7】マトリックス表のメモリ上での記憶方式の一例
を示す図である。
【図8】状態名の一覧を記憶するリストの一例を示す図
である。
【図9】事象名の一覧を記憶するリストの一例を示す図
である。
【図10】状態と事象とが交差するボックスに記述され
た情報のメモリ上での記憶管理方式の一例を示す図であ
る。
【図11】ソースプログラム自動生成装置を形成する各
機能要素を実現している計算機における処理の概略フロ
ーチャートである。
【図12】状態遷移表の形式を示す図である。
【図13】ソースプログラム自動生成装置への入力情報
となる状態遷移表データを示す図である。
【図14】状態遷移表を解析し状態遷移表と該表上の状
態と事象及び状態と事象の交差点に存在するボックス中
の動作情報をテーブル化を示す図である。
【図15】状態遷移表上のボックス中の動作情報をテー
ブル化を示す図である。
【図16】ソースプログラム自動生成処理の概略フロー
チャートを示す図である。
【図17】ステップ112、113で生成したPL/I
ソースプログラムのコーデイングを示す図である。
【図18】ボックス中の動作を順次実行する論理を生成
する処理の概略をフローチャートを示す図である。
【図19】図18で生成したPL/Iソースプログラム
のコーデイングを示す図である。
【符号の説明】
24…マトリックス表

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】処理と制御を事象と状態とのマトリックス
    で表現し、該事象と該状態の交差するボックスに処理定
    義情報が格納されたマトリックス表を記憶する手段と、
    該マトリックス表に基づいて該ボックスの位置を符号化
    し、該ボックスに係わる処理プログラムのいずれかを選
    択するスケジュール論理をソースプログラムとして生成
    し、該処理定義情報に関する該処理プログラムを生成す
    る手段とを有することを特徴とするソースプログラム自
    動生成装置。
JP3124353A 1991-05-29 1991-05-29 ソースプログラム自動生成装置 Pending JPH04352029A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3124353A JPH04352029A (ja) 1991-05-29 1991-05-29 ソースプログラム自動生成装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3124353A JPH04352029A (ja) 1991-05-29 1991-05-29 ソースプログラム自動生成装置

Publications (1)

Publication Number Publication Date
JPH04352029A true JPH04352029A (ja) 1992-12-07

Family

ID=14883289

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3124353A Pending JPH04352029A (ja) 1991-05-29 1991-05-29 ソースプログラム自動生成装置

Country Status (1)

Country Link
JP (1) JPH04352029A (ja)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0778075A (ja) * 1993-01-22 1995-03-20 Internatl Business Mach Corp <Ibm> 対話式分散有限状態プログラム発生器を提供する方法及び装置
JP2007299082A (ja) * 2006-04-28 2007-11-15 Fuji Electric Holdings Co Ltd ソースコード生成装置、ソースコード生成方法およびソースコード生成プログラム
JP2009175781A (ja) * 2008-01-21 2009-08-06 Mitsubishi Denki Micom Kiki Software Kk プログラム開発支援装置
JP2010524134A (ja) * 2007-04-10 2010-07-15 アビニシオ テクノロジー エルエルシー ビジネスルールの編集およびコンパイルの、方法、コンピュータプログラム、およびシステム
US8478706B2 (en) 2009-01-30 2013-07-02 Ab Initio Technology Llc Processing data using vector fields
JP2015043140A (ja) * 2013-08-26 2015-03-05 三菱電機株式会社 ソースコード生成装置
US9547638B2 (en) 2008-06-30 2017-01-17 Ab Initio Technology Llc Data logging for rule specifications
US9703822B2 (en) 2012-12-10 2017-07-11 Ab Initio Technology Llc System for transform generation
US9984059B2 (en) 2013-09-27 2018-05-29 Ab Initio Technology Llc Evaluating rules applied to data
US10127264B1 (en) 2015-09-17 2018-11-13 Ab Initio Technology Llc Techniques for automated data analysis

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01129337A (ja) * 1987-11-13 1989-05-22 Matsushita Electric Ind Co Ltd 通信制御ソフトウェアの自動生成方式
JPH02100444A (ja) * 1988-10-06 1990-04-12 Nec Corp 通信制御用プログラム作成装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01129337A (ja) * 1987-11-13 1989-05-22 Matsushita Electric Ind Co Ltd 通信制御ソフトウェアの自動生成方式
JPH02100444A (ja) * 1988-10-06 1990-04-12 Nec Corp 通信制御用プログラム作成装置

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0778075A (ja) * 1993-01-22 1995-03-20 Internatl Business Mach Corp <Ibm> 対話式分散有限状態プログラム発生器を提供する方法及び装置
JP2007299082A (ja) * 2006-04-28 2007-11-15 Fuji Electric Holdings Co Ltd ソースコード生成装置、ソースコード生成方法およびソースコード生成プログラム
US9589232B2 (en) 2007-04-10 2017-03-07 Ab Initio Technology Llc Editing and compiling business rules
US9002770B2 (en) 2007-04-10 2015-04-07 Ab Initio Technology Llc Editing and compiling business rules
US8380651B2 (en) 2007-04-10 2013-02-19 Ab Initio Technology Llc Editing and compiling business rules
US8386408B2 (en) 2007-04-10 2013-02-26 Ab Initio Technology Llc Editing and compiling business rules
JP2010524134A (ja) * 2007-04-10 2010-07-15 アビニシオ テクノロジー エルエルシー ビジネスルールの編集およびコンパイルの、方法、コンピュータプログラム、およびシステム
JP2016029582A (ja) * 2007-04-10 2016-03-03 アビニシオ テクノロジー エルエルシー ビジネスルールの編集およびコンパイルの、方法、コンピュータプログラム、およびシステム
JP2009175781A (ja) * 2008-01-21 2009-08-06 Mitsubishi Denki Micom Kiki Software Kk プログラム開発支援装置
US9547638B2 (en) 2008-06-30 2017-01-17 Ab Initio Technology Llc Data logging for rule specifications
US8996442B2 (en) 2009-01-30 2015-03-31 Ab Initio Technology Llc Processing data using vector fields
US8478706B2 (en) 2009-01-30 2013-07-02 Ab Initio Technology Llc Processing data using vector fields
US9703822B2 (en) 2012-12-10 2017-07-11 Ab Initio Technology Llc System for transform generation
US10817503B2 (en) 2012-12-10 2020-10-27 Ab Initio Technology Llc System for transform generation
JP2015043140A (ja) * 2013-08-26 2015-03-05 三菱電機株式会社 ソースコード生成装置
US9984059B2 (en) 2013-09-27 2018-05-29 Ab Initio Technology Llc Evaluating rules applied to data
US10127264B1 (en) 2015-09-17 2018-11-13 Ab Initio Technology Llc Techniques for automated data analysis
US11341116B2 (en) 2015-09-17 2022-05-24 Ab Initio Technology Llc Techniques for automated data analysis

Similar Documents

Publication Publication Date Title
CN101661512B (zh) 一种识别传统表单信息并创建对应Web表单的系统及方法
CN110998516A (zh) 用于异构编程数据处理系统的自动化依赖性分析器
CH666973A5 (de) Informationsverarbeitungsanlage fuer dokumente mit geschriebenen und gesprochenen bestandteilen.
JPH02109127A (ja) 仕様処理方法
US11158118B2 (en) Language model, method and apparatus for interpreting zoning legal text
CN111309313A (zh) 一种快速生成html以及存储表单数据的方法
CN107590254B (zh) 具有合并处理方法的大数据支撑平台
JPH04352029A (ja) ソースプログラム自動生成装置
US5926823A (en) Document generic logical information editing apparatus
CN111191429A (zh) 数据表格自动填充的系统和方法
US20050086647A1 (en) Apparatus for and method of creating computer program specifications, and computer program product
GB2307571A (en) Automatically generating a document type definition
JP5470308B2 (ja) 法令分析支援装置、法令分析支援方法、及び法令分析支援プログラム
JP7064680B1 (ja) プログラムコード自動生成システム
Ferris et al. Slice models in general purpose modeling systems: An application to DEA
US8386922B2 (en) Information processing apparatus and information processing method
CA2281396A1 (en) Method and apparatus for storing data as liquid information
EP1248189A1 (en) Program reproducing method and device, and medium on which a program for program reproduction recording
JPH0588863A (ja) プログラム開発支援システム
JP2003108369A (ja) Webからの要求を受け取り結果出力を行うプログラムの自動生成
Coomber SCHEMASIM: A simulation environment for real-time systems
CN115080562A (zh) 数据库语句处理方法、装置、系统、电子装置和存储介质
CN113111633A (zh) 电网评审意见的在线编辑方法、系统、终端和存储介质
JPS6361329A (ja) プログラム作成装置
JP5581894B2 (ja) データ処理プログラム自動生成システム