JPH10207698A - ソフトウェア自動生成装置 - Google Patents

ソフトウェア自動生成装置

Info

Publication number
JPH10207698A
JPH10207698A JP1012897A JP1012897A JPH10207698A JP H10207698 A JPH10207698 A JP H10207698A JP 1012897 A JP1012897 A JP 1012897A JP 1012897 A JP1012897 A JP 1012897A JP H10207698 A JPH10207698 A JP H10207698A
Authority
JP
Japan
Prior art keywords
logic
logic diagram
plant
generation
plant table
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
JP1012897A
Other languages
English (en)
Inventor
Toshikazu Kawamura
敏和 川村
Kentaro Ono
健太郎 小野
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP1012897A priority Critical patent/JPH10207698A/ja
Publication of JPH10207698A publication Critical patent/JPH10207698A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Testing And Monitoring For Control Systems (AREA)
  • Stored Programmes (AREA)

Abstract

(57)【要約】 【課題】繁雑な手作業をなくし、ソフトウェアの生産性
を向上でき、また熟練者でなくてもプラントテーブルを
作成することにある。 【解決手段】発電分野のソフトウェア開発における上流
設計図書であるロジック図からプログラムに相当するプ
ラントテーブルを自動生成する発電用ソフトウェア自動
生成システムにおいて、ロジック図を入力する手段2
と、プラント毎の固有情報を入力する手段3と、入力さ
れた情報を管理する手段5と、入力されたロジック図を
分析し生成するプラントテーブルの種類と順序を決定
し、その結果に基づいてロジック図とプラント固有情報
を用いてプラントテーブルを生成する手段8とを備え
る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、例えば発電分野に
おけるソフトウェア開発において、上流設計図書による
自動化ロジック図から、プログラムに相当するプラント
テーブルを自動生成するソフトウェア自動生成装置に関
する。
【0002】
【従来の技術】発電分野においては、標準の設計図書と
して計算機自動化ロジック図を、制御用計算機のプログ
ラムとしてプラントテーブルを使用している。図6は計
算機自動化ロジック図の例であり、図7はプラントテー
ブルの例を示すものである。
【0003】ロジック図は一般にIBD(Interlock Bl
ock Diagram)と呼ばれるが、適用分野や適用箇所により
様々な書式や書き方がある。そこで、区別するために以
後計算機自動化ロジック図(または単にロジック図)と
呼ぶ。
【0004】計算機自動化ロジック図は制御ロジックを
AND回路やOR回路等のシンボルを使って記述した設
計図面であり、プラントテーブルは制御ロジックを文字
で表した表形式のプログラムである。ただし、表形式と
いっても概念的なものであり、罫線は印刷や表示の際に
可読性を良くするために用いられるが、計算機で処理す
る上では必要がないため、計算機の内部データとしては
罫線を持っていない。
【0005】従来、このような計算機自動化ロジック図
及びプラントテーブルを作成するには、まず設計部門で
プラントの仕様に基づいて汎用の作画ツールやCADツ
ールを使ってロジック図を作成し、その結果を印刷して
ソフトウェア製造部門に渡している。
【0006】この場合、CADデータをそのまま次工程
で利用できれば、ロジック図を印刷しなくても良いが、
CADツールで作成した図面データの内部データの構造
は非公開であり、またツール毎に内部データの構造が異
なることがある。また、CADツール間でデータの交換
を行うための共通フォーマットがあるが、図を再現する
ことが主眼のため、座標やシンボルの形状など、プラン
トテーブル生成に無関係の情報が大部分のため、CAD
データは次工程で利用されていない。
【0007】一方、ソフトウェア製造部門ではプラント
の仕様書を参照しながら、プログラミングができるレベ
ルまでロジック図を詳細化し、その結果に基づいてプロ
グラマがプラントテーブルを作成する。この工程のう
ち、ロジック図からプラントテーブルを作成する作業は
プログラマが行っている。
【0008】上記プラントテーブルは表形式のプログラ
ムであり、マクロと呼ぶ行で構成される。マクロには数
十種類があり、種類毎に条件の判断やランプの点灯、メ
ッセージ出力等の処理が記述できる。処理の記述はマク
ロの指定桁位置に文字列や数字を埋め込む形で行う。
【0009】また、マクロの長さは、その種類や記述内
容により1行から十数行にわたる。1枚のプラントテー
ブルは機能や内容毎に数種類から十数種類のマクロを組
合せて記述している。この場合、プラントテーブルのマ
クロを記述するには熟練したプログラマがロジック図と
プラントの仕様書を参照しながら行っている。
【0010】この場合、プラントテーブルでは各欄の区
切りを表す記号(空白やカンマ)はなく、桁位置で欄の
区切りを判定している。従って、プラントテーブルの生
成では、桁位置を正確に整える必要があるため、プログ
ラマは汎用エディタによる手作業、または専用のプラン
トテーブルエディタにより半自動的に清書を行ってい
る。
【0011】しかし、このような記述内容をプログラマ
が読取りながらプラントテーブルを作成するものでは、
プラントの設計図書に記述された情報をプログラマが逐
一参照しながら作業しなければならないが、プログラマ
は複数の情報を同時に見る必要があり、また必要な情報
が複数文書又は複数ページに分散して記述されているた
め、情報の参照に時間がかかり、またその形式も一定で
なかった。
【0012】また、ロジック図には複数の機能単位(後
述するロジック図の処理項目がここでいう機能単位を表
す)を書くことができるため、プラントテーブルの生成
においては、プログラムはまず機能単位毎に関連するロ
ジックを分け、それぞれについてプラントテーブルへの
変換を行う必要がある。
【0013】さらに、プラントテーブルの生成において
は、熟練したプログラマが生成するプラントテーブルの
種類と枚数及びその順序を判断していたため、複雑なロ
ジック図を等価で単純なロジックに置換えて自動化ロジ
ック制御テーブルの生成に適した単位に分割する必要が
あるが、分割の仕方がプログラマによって異なってい
た。
【0014】そこで、最近ではロジック図からプラント
テーブルを作成する工程を自動化する提案や試行はある
が、ロジック図からプラントテーブルを生成するアルゴ
リズムは複雑な上、ロジック図の記述内容によってアル
ゴリズムが異なるため、予め考えられるすべてのアルゴ
リズムを用意する必要があり、開発が難しかった。ま
た、場合によってはプラントによりローカルな生成アル
ゴリズムが必要になるなど、機械的(固定的)な変換で
は対応しきれないのが現状である。
【0015】
【発明が解決しようとする課題】このように従来のロジ
ック図からプラントテーブルを生成するには、作成手順
が複雑なため、プログラマには熟練が要求され、しかも
作成時に参照する情報(ロジック図と各種仕様書)の数
と種類が多く、複数の情報を同時に組合せて参照する必
要があるため、時間がかかっていた。
【0016】一方、プラントテーブルは記述の仕方から
無数の種類があり得るが、実際には限られた種類の基本
パターンに集約できることが経験的に分かっていたが、
その性質はプラントテーブル生成に十分に利用されてい
なかった。
【0017】また、ロジック図からプラントテーブルを
生成するアルゴリズムは複雑で種類が多いため、機械化
が難しかった。また、ロジック図はCADツール等で作
成されていたが、データ構造がプラントテーブル生成に
適していないため、利用しにくく、さらにプラントデー
タテーブル生成に必要な各種の情報も機械化に適したよ
うに整理されていなかった。
【0018】一方、プラントテーブルの生成において
は、ロジック図の分割や、生成するプラントテーブルの
種類と枚数、及びその順序等の判断がプログラマによっ
て異なっていた。そのため、プラントテーブルの品質は
プログラマの熟練の度合や、作成するプラントテーブル
の難しさ等の要素に左右され易かった。
【0019】本発明は上記のような事情に鑑みなされた
もので、その目的はロジック図からプラントテーブルを
作成する工程及びロジック図を分割する工程を計算機に
より自動化することにより、繁雑な手作業をなくし、ソ
フトウェアの生産性を向上でき、また熟練者でなくても
プラントテーブルを作成することができ、且つ安定した
品質のソフトウェアを作成できるソフトウェア自動生成
装置を提供することにある。
【0020】
【課題を解決するための手段】本発明は上記の目的を達
成するため、次のような手段によりソフトウェア自動生
成装置を構成するものである。
【0021】請求項1に対応する発明は、ソフトウェア
開発における上流設計図書であるロジック図からプログ
ラムに相当するプラントテーブルを自動生成するソフト
ウェア自動生成システムであって、ユーザと対話処理が
可能なインターフェースを備え、且つユーザの要求を解
釈すると共に、その要求を処理するに必要なシステム全
体の動作を制御する統括制御手段と、入力情報を一括管
理するデータ管理手段と、前記統括制御手段より指令を
受けるとロジック図を前記データ管理手段に入力するロ
ジック図入力手段と、前記統括制御手段より指令を受け
ると前記データ管理手段にプラント固有の各種情報を変
換情報として入力する変換情報入力手段と、前記データ
管理手段に入力されたロジック図及び変換情報を格納す
るデータベースと、前記データ管理手段を通して前記デ
ータベースに格納されたロジック図とプラント固有の変
換情報を取出してロジック図を解析すると共に、そのロ
ジック図と変換情報を用いてプラントテーブルを生成す
るプラントテーブル生成手段と、前記管理手段を通して
前記データベースに格納されたロジック図の構成やプラ
ントテーブルの構成及びそれらの対応関係などを管理す
る構成管理手段とを備える。
【0022】上記請求項1に対応する発明のソフトウェ
ア自動生成装置にあっては、データの入力要求があると
ロジック図入力手段よりデータ管理手段にロジック図を
入力し、また変換情報入力手段に指示が出されると変換
情報入力手段よりデータ管理手段にプラント固有の各種
情報を入力し、データ管理手段に入力されたロジック図
と変換情報は、データベースに格納され、その際に構成
管理手段によりデータベースに格納されたロジック図の
名前を記録する。一方、プラントテーブルの生成要求が
あると、プラントテーブル生成手段に対象プラントテー
ブルの名前と共に変換指令が送られ、プラントテーブル
生成手段はデータ管理手段によりデータベースからロジ
ック図とプラント固有の情報を取出し、ロジック図と変
換情報を用いてプラントテーブルの生成を行い、そのプ
ラントテーブルはデータ管理手段を通してデータベース
に格納される。これにより、ロジック図からプラントテ
ーブルを生成する工程の自動化を実現できる。
【0023】請求項2に対応する発明は、請求項1に対
応する発明において、プラントテーブルの雛形(テンプ
レート)を定義するための書式をシステムで提供し、前
記変換情報入力手段によりその書式に基づいて作成され
たテンプレートを前記データ管理手段に入力し、プラン
トテーブル生成時に前記プラントテーブル生成手段はそ
のテンプレートを参照しながらプラントテーブルを生成
する。
【0024】上記請求項2に対応する発明のソフトウェ
ア自動生成装置にあっては、変換情報入力手段によりテ
ンプレートを入力し、データ管理手段に依頼してデータ
ベースに格納し、プラントテーブル生成手段によりデー
タ管理手段に依頼してデータベースからテンプレートを
取出し、このテンプレートの未完成の部分に生成した文
字列を挿入することでプラントテーブルを生成するの
で、プラント生成処理の開発時にはプラントに依存しな
い固定的な生成アルゴリズムだけを組込めばよく、プラ
ント依存の部分をなくすことでシステムの開発が容易に
なり、生成エンジンも小さくできる。また、テンプレー
トの修正や交換により様々な生成パターンに対応できる
ため、システムの柔軟性が高まる。
【0025】請求項3に対応する発明において、請求項
1に対応する発明において、プラントテーブルを生成す
る手順を定義する書式をシステムで提供し、前記変換情
報入力手段によりその書式に基づいて作成された生成規
則を前記データ管理手段に入力し、プラントテーブル生
成時に前記プラントテーブル生成手段はその生成規則に
従ってプラントテーブルを生成する。
【0026】上記請求項3に対応する発明のソフトウェ
ア自動生成装置にあっては、変換情報入力手段より生成
規則がデータ管理手段に入力されるとこの生成規則がデ
ータベースに格納され、プラントテーブル生成手段はデ
ータ管理手段を通してデータベースから必要な生成規則
を取出し、その生成規則を解釈し、その指示に従ってプ
ラントテーブルの生成を行うので、上記請求項2に対応
する発明と同様の効果を得ることができる。
【0027】請求項4に対応する発明は、請求項1に対
応する発明において、前記ロジック図入力手段より前記
データ管理手段にCADツールで書かれたロジック図を
入力し、このロジック図から生成に必要な情報のみを前
記データ管理手段を通して抽出してシステムで定義した
専用の言語形式に自動的に変換するロジック中間言語生
成手段を設け、前記プラントテーブル生成手段にロジッ
ク中間言語を解釈できる機能を持たせる。
【0028】上記請求項4に対応する発明のソフトウェ
ア自動生成装置にあっては、プラントテーブル生成手段
が必要とする情報は、ロジック図に含まれるシンボルの
種類と一覧、シンボルが文字列や値を持つ場合はその内
容、そしてシンボル間の接続関係であることから、ロジ
ック中間言語生成手段はCADツールで作成されたロジ
ック図を解析し、プラントテーブル生成に必要な情報の
みを抽出して、ロジック図の構造を表すロジック中間言
語に変換し、プラントテーブル生成手段はロジック中間
言語を解釈してプラントテーブルの生成を行う。これに
より、プラントテーブル生成手段では文字列に変換され
たロジック図を処理すればよいため、ロジック図の解析
が容易になり、また生成処理がCADツールの種類と独
立になるため、プラントテーブル生成処理は1種類で済
む。
【0029】請求項5に対応する発明は、請求項1に対
応する発明において、前記変換情報入力手段にプラント
ごとの固有情報を、種類別に分類された表形式で入力で
きる機能を持たせ、前記プラントテーブル生成手段は前
記変換情報入力手段より前記データ管理手段に入力され
たプラント固有の情報を参照しながらプラントテーブル
を生成する。
【0030】上記請求項5に対応する発明のソフトウェ
ア自動生成装置にあっては、変換情報入力手段は種類毎
に分類されたプラント固有の情報(以後プラント情報と
呼ぶ)を表形式でデータ管理手段に入力すると、この表
形式のデータはデータベースに格納され、プラントテー
ブル生成手段はデータ管理手段を通してデータベースか
ら必要なプラント情報を取出し、このプラント情報を参
照してプラントテーブルの生成を行うことにより、プラ
ント情報を簡単に設定でき、また生成規則の中でプラン
ト情報の参照を直接指示でき、プラントの違いが少ない
場合には、プラント情報の変更だけで対応することがで
き、プラント毎の生成作業が簡単になる。
【0031】請求項6に対応する発明は、請求項1に対
応する発明において、プラントテーブル生成手段はプラ
ントテーブルを生成する前に予めロジック図から生成す
るプラントテーブルの種類と枚数、及びその順序などの
判断を行う生成手順解析手段を備え、この生成手順解析
手段の指示に従ってプラントテーブルを生成する。
【0032】上記請求項6に対応する発明のソフトウェ
ア自動生成装置にあっては、生成手順解析手段はロジッ
ク中間言語を解析し、ロジック図から生成するプラント
テーブルの種類と枚数、及びその順序等の生成スケジュ
ールを生成して、変換バッファに出力し、プラントテー
ブル生成手段はこの生成スケジュールを参照し、その指
示に従ってプラントテーブルの生成を行うことにより、
予め生成順序を決めて置くことで、生成エンジンのアル
ゴリズムが単純になり、その結果生成処理が高速にな
る。
【0033】請求項7に対応する発明は、請求項1に対
応する発明において、プラントテーブル生成手段の生成
結果を入力して細かな書式合わせを行う清書手段を設け
る。
【0034】上記請求項7に対応する発明のソフトウェ
ア自動生成装置にあっては、プラントテーブル生成手段
はプラントテーブルの正確な情報を収集するが、桁位置
や書式等は考慮しないので、清書手段によりプラントテ
ーブル生成手段の生成結果を入力し、細かな書式合せを
行って、最終的なプラントテーブルを生成するので、プ
ラントテーブルの生成時に細かな桁位置を調整する必要
がなく、生成エンジンのアルゴリズムが単純になり、そ
の結果生成処理が高速になる。
【0035】請求項8に対応する発明は、ユーザの要求
を解釈すると共に、その要求を処理するに必要なシステ
ム全体の動作を制御する統括制御手段と、入力情報を一
括管理するデータ管理手段と、前記統括制御手段より指
令を受けるとロジック図を前記データ管理手段に入力す
るロジック図入力手段と、前記統括制御手段より指令を
受けると前記データ管理手段にプラント固有の各種情報
を変換情報として入力する変換情報入力手段と、前記デ
ータ管理手段に入力されたロジック図及び変換情報を格
納するデータベースと、このデータベースに格納された
ロジック図を前記データ管理手段を通して取出して専用
に設計した言語形式(ロジック図記述言語)に変換出力
するロジック情報収集手段と、前記データベースに格納
されたロジック図と前記ロジック情報収集手段で変換さ
れたロジック図記述言語を前記データ管理手段を通して
取出してロジック図を解析すると共に、そのロジック図
とロジック図記述言語を用いてプラントテーブルを生成
するプラントテーブル生成手段と、前記管理手段を通し
て前記データベースに格納されたロジック図の構成やプ
ラントテーブルの構成及びそれらの対応関係などを管理
する構成管理手段とを備え、前記プラントテーブル生成
手段にプラントテーブルを生成する前にロジック図を生
成に適した単位に分割するロジック解析・分割手段を設
け、このロジック解析・分割手段は、ロジック図記述言
語を解釈する言語処理部と、ロジック図のソースリスト
からロジックの接続関係を抽出してリスト構造として登
録管理する手段と、その接続関係リストからプラントテ
ーブルの生成単位を判断する手段と、この手段により判
断されたプラントテーブルの生成単位に基づいて前記ロ
ジック図記述言語のソースリストをプラントテーブルの
生成に適した単位に分割出力する手段とを有する。
【0036】上記請求項8に対応する発明のソフトウェ
ア自動生成装置にあっては、ロジック情報収集手段で変
換されたロジック図記述言語をデータ管理手段を通して
取出してロジック図を解析すると共に、そのロジック図
とロジック図記述言語を用いてプラントテーブル生成手
段によりプラントテーブルを生成するに際して、プラン
トテーブル生成手段に設けられたロジック解析・分割手
段は、言語処理部により解釈されたロジック図記述言語
のソースリストからロジックの接続関係を抽出して登録
管理手段にリスト構造として登録し、その接続関係リス
トからプラントテーブルの生成単位を判断すると共に、
この生成単位に基づいてロジック図記述言語のソースリ
ストをプラントテーブルの生成単位に適した単位に分割
して出力する。この場合、分割出力手段は、作業メモリ
領域に作成された接続関係リストを参照して、各処理項
目ごとに対応するロジック群を分類し、その結果に基づ
いて条件項目からロジックを辿りながらロジック図記述
言語を合成し、処理項目ごとに出力バッファに出力す
る。これにより繁雑な手作業をなくし、熟練者でなくて
もロジック図の分割を正確に行うことができる。しか
も、文字列操作による単純で効率の良い分割ができる。
【0037】請求項9に対応する発明は、請求項8に対
応する発明において、ロジック解析・分割手段は、ロジ
ック図記述言語をプラントテーブルの生成単位に分割し
て出力する際に、出力済みのロジックに出力済みを示す
値を設定して重複した接続関係の出力を抑制する機能を
有する。
【0038】上記請求項9に対応する発明のソフトウェ
ア自動生成装置にあっては、ロジック図記述言語をプラ
ントテーブルの生成単位に分割して出力する際に、当該
ロジック出力済みを示す値をマーク領域に設定し、分割
出力手段により条件項目からロジックを辿る際にマーク
領域を参照し、出力済みを示す値が設定されていれば出
力を抑制することにより、ロジック図が複雑になり、多
入力1出力のロジックが増えた場合にも、処理後での無
駄な処理時間をなくすことができる。
【0039】請求項10に対応する発明は、請求項8に
対応する発明において、ロジック解析・分割手段は、ロ
ジック図のソースリストからロジックの接続関係リスト
を作成する際に結線に関する接続関係情報を管理する手
段と、この管理手段への多重登録を検出することにより
分岐の有無を判定する手段と、分岐パターンを予め登録
する手段と、登録パターンとロジック図のソースリスト
を比較することで分岐パターンの種類を判別する手段を
有する。
【0040】請求項11に対応する発明は、請求項10
に対応する発明において、ロジック図記述言語のソース
リストから、条件項目からの結線で分岐していることが
判断可能な分岐パターン登録手段を設ける。
【0041】請求項12に対応する発明は、請求項10
に対応する発明において、ロジック図記述言語のソース
リストから、最終段ロジックへの結線で分岐し、その分
岐先が処理項目であることが判断可能な分岐パターン登
録手段を設ける。
【0042】請求項13に対応する発明は、請求項10
に対応する発明において、ロジック図記述言語のソース
リストから、処理項目への結線で分岐し、その分岐先が
最終段ロジックであることが判断可能な分岐パターン登
録手段を設ける。
【0043】請求項14に対応する発明は、請求項10
に対応する発明において、ロジック図記述言語のソース
リストから、処理項目への結線で分岐し、その分岐先が
非最終段ロジックであることが判断可能な分岐パターン
登録手段を設ける。
【0044】請求項15に対応する発明は、請求項10
に対応する発明において、ロジック図記述言語のソース
リストから、非最終段ロジック中で分岐し、その分岐先
が処理項目であることが判断可能な分岐パターン登録手
段を設ける。
【0045】請求項10乃至請求項15に対応する発明
のソフトウェア自動生成装置にあっては、ロジック図の
ソースリストからロジックの接続関係リストを作成する
際に結線に関する接続関係情報を検出パターン情報メモ
リ領域に格納しておき、分岐検出手段により接続解析結
果を比較して分岐パターンの有無を検出し、その検出パ
ターン情報と作業領域メモリに記憶した情報を比較して
分岐パターンの種類を判断することにより、様々なロジ
ック図の分岐パターンを自動的に判定でき、最適なロジ
ック図を分割手順を使うようプログラマに指示できる。
従って、判断の誤りを防ぎ、作業時間の短縮を図ること
ができ、また分岐パターンの追加や修正が簡単に行うこ
とができる。
【0046】
【発明の実施の形態】以下本発明の実施の形態を図面を
参照して説明する。
【0047】図1は本発明によるソフトウェア自動生成
装置を発電プラントに適用した場合の第1の実施の形態
の全体構成を示すブロック図である。
【0048】図1に示すソフトウェア自動生成装置は、
ユーザとの対話処理を行うためのインターフェースを備
え、システム全体の動作を制御する統括制御手段1と、
計算機自動化ロジック図を入力するロジック図入力手段
2と、プラント毎に異なる各種設定データを入力する変
換情報入力手段3と、入力されたロジック図と変換情報
及び変換結果を格納するデータベース4と、ロジック図
と変換情報のデータベース4への格納と参照及び変換結
果のデータベース4への格納と取出しを一括管理し、内
部に一時的なデータの保管と関連する手段の間でデータ
の交換領域となる変換バッファ51を有するデータ管理
手段5と、データベース4に格納されたロジック図の構
成、生成されたプラントテーブルの構成、及びそれらの
対応関係等を管理する構成管理手段6と、指定されたロ
ジック図の変換に必要な情報を集めて変換の準備を行う
ロジック情報収集手段7と、このロジック情報収集手段
7が集めた情報を使ってプラントテーブルを生成するプ
ラントテーブル生成手段8と、このプラントテーブル生
成手段8が生成したプラントテーブルを次工程のツール
で利用できる形式に成形する清書手段9とを備えてい
る。
【0049】上記ロジック情報収集手段7は、図2に示
すように変換情報収集手段71、ロジック図選択手段7
2、プラント情報選択手段73、テンプレート選択手段
74、変換規則選択手段75、ロジック中間言語生成手
段76から構成されている。
【0050】変換情報収集手段71は、上記各選択手段
72〜75に対してロジック図、プラント情報、テンプ
レート、変換規則選択指令を各別に入力してデータベー
ス4の各領域に格納されているロジック図41、プラン
ト情報42、テンプレート43、変換規則44を収集す
るものである。
【0051】ここで、プラント情報選択手段73、テン
プレート選択手段74、変換規則選択手段75より変換
情報収集手段71に取込まれたプラント情報42、テン
プレート43、変換規則44は、変換バッファ51のテ
ンプレート記述言語メモリ領域512、変換規則記述言
語メモリ領域513に一次的に保存される。
【0052】また、ロジック中間言語生成手段76は、
ロジック図選択手段72から変換情報収集手段71が取
込んだロジック図をロジック中間言語に変換するもの
で、このロジック中間言語はデータ管理手段5の変換バ
ッファ51のロジック中間言語メモリ領域511に一時
的に保存される。
【0053】上記プラントテーブル生成手段8は、図3
に示すように変換制御手段81、ロジック分割手順解析
手段82、ロジック分割手段83、生成手順解析手段8
4、生成エンジン85から構成されている。
【0054】ここで、変換制御手段81は、ロジック分
割手順解析手段82、ロジック分割手段83、生成手順
解析手段84、生成エンジン85に対してそれぞれ指令
を与えるものである。
【0055】また、ロジック分割手順解析手段82は、
変換制御手段81の指示により変換バッファ51のロジ
ック中間言語メモリ領域511より取込んだロジック中
間言語を解析し、処理項目の数と分岐線の有無、分岐線
がある場合にはその接続関係を調べて変換バッファ51
の分割スケジュールメモリ領域515に一時的に保存す
るものである。図13は詳細は後述するが、ロジック分
割処理の概念を示している。
【0056】ロジック分割手段83は、変換制御手段8
1の指示により分割スケジュールメモリ領域515に保
存されている分割スケジュールに従ってロジック中間言
語メモリ領域511に保存されているロジック中間言語
の加工を行うものである。
【0057】生成手順解析手段84は、変換制御手段8
1の指示によりロジック分割手段82で分割されたロジ
ック中間言語を順に解析し、それぞれについて生成エン
ジンが処理すべき条件項目の範囲、生成するプラントテ
ーブルの種類を判定し、その判定結果を変換バッファ5
1の生成スケジュールメモリ領域516に一時的に保存
するものである。
【0058】さらに、生成エンジン85は、変換制御手
段81の指示により変換バッファ51のテンプレートメ
モリ領域512に保存されているテンプレート、変換規
則メモリ領域513に保存されている変換規則を取込ん
でプラントテーブルを生成するに必要な処理及び判定を
行って、変換バッファ51の生成プラントテーブル51
4に保存するものである。
【0059】上記清書手段9は、図4に示すように清書
制御手段91、プラントテーブル清書手段92、生成情
報抽出手段93から構成されている。
【0060】ここで、清書制御手段91は起動指令が入
力されると、変換バッファ51の一次生成プラントテー
ブルメモリ領域514より一次生成プラントテーブルを
取込んで、プラントテーブル清書手段92及び生成情報
抽出手段93にそれぞれ渡すものである。
【0061】また、プラントテーブル清書手段92は、
一次生成プラントテーブルからプラントテーブルの部分
だけを抽出し、桁位置の調整を行ってプラントテーブル
メモリ領域517に保存するものである。
【0062】さらに、生成情報抽出手段93は、生成さ
れたプラントテーブルの種類と枚数に関する情報を抽出
し、変換バッファ51の生成情報メモリ領域518に一
時的に保存するものである。
【0063】次に上記のように構成された発電用ソフト
ウェア自動生成装置の作用を述べるに、まず統括制御手
段1によるシステム全体の動作について述べる。
【0064】いま、図5のフローチャートに示すように
統括制御手段1が起動され、データの入力要求があると
(S1)、その要求がブロック図入力かどうかを判定
(S2)し、ブロック図入力であればロジック入力手段
2を起動(S3)して図6に示す計算機自動化ロジック
図を入力する。
【0065】また、データの入力要求がブロック図入力
でなければ変換情報入力かどうかを判定(S4)し、変
換情報入力であれば変換情報入力手段3を起動(S5)
してデータの入力を行う。入力したロジック図と変換情
報はデータ管理手段5に依頼してデータベース4にそれ
ぞれ格納される。
【0066】この際、ロジック入力手段2または変換情
報入力手段3の起動後、構成管理手段6を起動(S6)
してデータベース4に格納されたロジック図の名前を記
録する。
【0067】次に統括制御手段1が起動され、ユーザか
らプラントテーブル生成要求を受けると(S7)、まず
ロジック情報収集手段7を起動(S8)して対象ロジッ
ク図の名前と共にプラントテーブル生成に必要な情報の
収集の指示を出す。ロジック情報収集手段7は、データ
管理手段5に指示を出してデータベース4よりロジック
図を取出して一時的に変換バッファ51に格納する。こ
のロジック情報収集手段7はすべての情報を変換バッフ
ァ51に格納し終わると、終了の信号を統括制御手段1
に送る。
【0068】次にロジック情報収集手段7の一連の動作
が終了すると、プラントテーブル生成手段8を起動(S
9)して統括制御手段1より変換の指示を出す。このプ
ラントテーブル生成手段8は、変換バッファ51からま
ずブロック図を取出し、記述されたロジックの種類と
値、及びロジックの接続関係を解析し、その結果を変換
情報を用いてプラントテーブルの生成を行う。このプラ
ントテーブル生成手段8によりプラントテーブルを生成
し、変換バッファ51に格納し終ると、終了の信号を統
括制御手段1に送る。
【0069】次にプラントテーブル生成手段8の一連の
動作が終了すると、清書手段9を起動(S10)し、プ
ラントテーブル生成手段8が生成したプラントテーブル
を次工程のツールで利用できる形式に整形してデータ管
理手段5の変換バッファ51に格納し、終了の信号を統
括制御手段1に送る。
【0070】以上が統括制御手段1を中心とするシステ
ム全体の作用であるが、次に各部の作用について詳細に
説明する。
【0071】まず、ロジック情報収集手段7の作用につ
いて図2により述べるに、変換情報収集手段71よりロ
ジック図選択手段72に指令が入力されると、このロジ
ック図選択手段72はデータベース4よりデータ管理手
段5を通してロジック図を取出して変換情報収集手段7
1に渡し、変換情報収集手段71はこのロジック図をロ
ジック中間言語生成手段76のプロセスに渡す。この場
合、ロジック図選択手段72は、CADツールに依存し
た形で設計、製作されたもので、外部プロセスとして実
行している。
【0072】ロジック中間言語生成手段76ではロジッ
ク図をロジック中間言語に変換し、その変換出力ファイ
ルをデータ管理手段5の変換バッファ51のロジック中
間言語メモリ領域511に保存する。
【0073】いま、データベース4に格納されているロ
ジック図が図6に示すような例であるものとすると、こ
のロジック図に対応するロジック中間言語としては図1
2に示すような例となる。
【0074】図12に示すロジック中間言語は、ロジッ
ク図からプラントテーブル生成に必要な情報を抽出し
て、文字列で表したものである。さらに詳しく説明する
と、CADツール等で作成したロジック図から、プラン
トテーブル生成には関係しない情報…例えばロジック図
シート枠線、シンボルの形状、色、配置情報、その他様
々な内部属性等…を除き、下記種類の情報を抽出し、規
則に従って文字列で表したものである。
【0075】(1)条件項目 ・条件項目(関連シート、条件種別、呼合番号/PID 、
条件名称、条件)各欄の内容 (2)部品シンボル ・部品シンボルの種類と属性(端子数や時間など) (3)処理項目 ・処理項目(処理種別、処理名称、系統略称、関連シー
ト)各欄の内容 (4)接続関係 ・条件項目、部品シンボル、処理項目の接続関係 シンボルは「シンボル定義文」、シンボル間の接続関係
は「シンボル接続文」で表す。シンボル定義文は、下記
のようにシンボル名、シンボル毎の識別番号、各シンボ
ルの属性値の並びで表す。
【0076】シンボル定義文)< シンボル名>(< 識別番
号>,< 属性値> ,…) シンボル間の接続関係は、conect()文とシンボル識別子
で表す。シンボル識別子はシンボル名と識別番号の組で
あり、上記のシンボル定義文の属性値を含まない形であ
る。識別番号は1以上の整数であり、シートごと、シン
ボルの種類毎に割り振る。
【0077】シンボル接続文)conect(< シンボル識別
子-1>,< シンボル識別子-2>) シンボル識別子)< シンボル名>(< 識別番号>)
例)and(1),or(2) このようにロジック図選択手段72により取出されたロ
ジック図は、ロジック中間言語生成手段76によりロジ
ック中間言語に変換され、変換バッファ51のロジック
中間言語メモリ領域511に保存される。この場合、ロ
ジック中間言語生成手段76はCADツールに依存した
形で設計、製作されたもので、外部プロセスとして実行
している。ロジック図選択手段72で取出したロジック
図をCADファイルとして出力し、ロジック中間言語生
成手段76のプロセスに渡し、その変換出力ファイルを
さらに変換バッファ51に読込む手順となっている。
【0078】次にプラントテーブル生成手段8の作用に
ついて述べるにあたり、プラントテーブルの生成アルゴ
リズムの一例の一部を図6と図7、図15及び図16の
フローチャートを用いて説明する。
【0079】プラントテーブル生成手段8は、まず図6
に示すロジック図右端の処理項目の中にある“処理種
別”を判定する(図15のS151)。この種別によって生
成するプラントテーブルの構成(数種類のプラントテー
ブルのうち、どの種類を何枚生成するか)が決まる。図
6の例は処理種別が“B”のため1種類1枚のプラント
テーブルを生成する。
【0080】まず入口になるENTマクロを生成する
(S152)。プラントテーブルの名前を一定の規則に従っ
て生成し、ENTマクロを設定する。
【0081】次にHYOマクロの生成を行う(S153)。
ロジック図右端の処理名称欄の文字列を使って表の名前
を生成してHYOマクロに設定する。
【0082】続いてSTDマクロの生成を行う(S15
4)。図6のようにロジック部の記号AND/ORが組合
わされている場合は、最も内側の条件項目411aを取
出す(S155)。そして、条件項目411aの条件名称を
STDマクロの条件名称に転記する((S156)図7では
条件名称の記述は省略してある)。次に条件項目411
aの条件種別を判定する(S157)。この種別によってプ
ラントテーブルのPID・SYS/TPXX番号の生成
方法が異なる。条件項目411aの場合は、単純にロジ
ック図の呼合番号/PID欄の内容を転記する(S15
8)。
【0083】次に図6の条件項目のすぐ右側のロジック
の種類を判定する(S159)。もし、ロジックがNOTな
ら、プラントテーブルの以下・オフ・リセットに1を設
定する(S160)。NOT以外ならプラントテーブルの以
上・オン・セットに1を設定する(S161)。次にNOT
の場合はさらに右側のロジック、そうでない場合はその
ロジックの種類の判定を行う(S162)。条件項目411
aの場合は、ANDロジックであるため、プラントテー
ブルの「論理・AND・OR=」欄に「AND」を設定
する(S163)。その結果として図6から図7に示すよう
に411bのSTDマクロ行が生成される。
【0084】条件項目412aの場合も同様にして生成
する。但し、この場合はANDロジックの最後の入力に
なっているため、412bのように「論理・AND・O
R・=」欄には「=」を設定し、仮のロジック「TP0
0」を「途中結果・TPXX・答・ANS」欄に設定す
る。
【0085】条件項目411aと412aの処理が終る
と(S164)、その外側の413aを処理する。この処理
をすべての条件項目について行うと(S165)、図6から
図7のプラントテーブルが生成される。
【0086】プラントテーブル生成手段8は残るマクロ
についても同様に処理を行い(S166)、生成されたプラ
ントテーブルを変換バッファ51に出力し、終了の信号
を統括制御手段1に送る。
【0087】次に統括制御手段1は構成管理手段6に対
して、生成されたプラントテーブルの名前を入力ロジッ
ク図の名前と関連づけて記録するように指示する。この
構成管理手段6は変換バッファ51のプラントテーブル
を参照し、ENTマクロからプラントテーブル名を取出
して、元のロジック図の名前と生成されたプラントテー
ブルの名前の対応関係を表すレコード情報を作って、デ
ータベース管理手段5に依頼してデータベース4に格納
する。
【0088】この場合、構成管理情報のレコードは、例
えば“ロジック図名”、“プラントテーブル名”であ
る。
【0089】最後に統括制御手段1は、データ管理手段
5に指示して、変換バッファ51内に生成されたプラン
トテーブルをデータベース4に格納する。
【0090】このような構成と手順によりロジック図か
らプラントテーブルを生成する工程の自動化を実現でき
る。
【0091】上記の例では、生成するプラントテーブル
の雛形や生成アルゴリズムはシステム内部に固定的に持
っている。この形態は、類似プラントのように生成する
プラントテーブルの構成が変化しない場合には問題はな
い。
【0092】しかし、様々なプラントに適用する場合に
は、ロジック図の処理種別ごとに生成するプラントテー
ブルの構成が異なる。場合によっては処理種別に記載さ
れる記号の種類も異なる。さらに、プラントテーブルの
構成は同じでも、マクロの種類や記述の細部が異なる場
合がある。そのため、固定的にアルゴリズムを持つ方式
では、適用プラントの種類が増えるに従って、生成アル
ゴリズムが大きくなる。また、プラントテーブル生成パ
ターンと生成アルゴリズムの修正が必要になる度にシス
テムの修正を行うことになる。
【0093】そこで、実用上はプラントテーブルのパタ
ーンは、ある程度の種類に集約できるという性質を利用
する。予めプラントテーブルの基本パターンをテンプレ
ートしてシステム外で定義して入力する。そのテンプレ
ートで十分な場合にはそのまま使用する。もし、プラン
トによりマクロの種類や細部が異なる場合はテンプレー
トの記述を修正する。
【0094】さらに、テンプレートに対応して変換規則
もシステム外で定義して、テンプレートに合せて登録や
更新ができる手段があれば、システムの内部を変更する
ことなく、様々なプラントに対応できるようになる。
【0095】本例では、テンプレート記述言語と生成規
則記述言語を定義し、その記述規則に従ってプラントテ
ーブルのテンプレートと対応する生成規則を作成する。
プラントテーブルは文字列形式のため、そのテンプレー
トも文字列ファイルとして作成すれば、汎用エディタで
編集でき、管理が容易である。同様に変則規則も簡単な
構文を持つ専用言語とすることで、管理を容易にでき
る。
【0096】まず、以下にテンプレート記述言語の基本
的な規則として図10にテンプレートの定義例を示す。
【0097】テンプレート記述言語の基本的な規則 ・“%”から行末までは注釈。
【0098】・“%%use <ルール>”文に対応する生
成規則を指定する。
【0099】・英文文字と数字だけで構成される語はそ
のまま出力する固定文字列を表す。
【0100】・“<>”で囲まれた部分は、生成規則に
より生成される可変文字列を表す。
【0101】・マクロのテンプレートを別の行に分けて
記述する場合は下記の構文を用いる。
【0102】構文)マクロ名:テンプレート定義; ・繰り返し:A *は0回以上Aを繰り返す。
【0103】・グループ:括弧は要素をグループ化す
る。(A B)* は、0回以上ABを繰り返す。
【0104】例)LRQLRQ(<item-1><item-2>* テンプレートの種類は、下記のようにファイル名の拡張
子で判別する。<>部分が拡張子である。括弧[]の部分
は必要により記述する。このように処理種別をファイル
名の一部とすることにより、処理種別とテンプレートの
対応関係を柔軟に管理できる。
【0105】テンプレートファイル作成時の命名規則 template.<表種別><処理種別> 例)template.OB.
C 次に生成規則記述言語の基本的な規則を以下に示す。ま
た、図11に図10のテンプレートに対応する生成規則
の定義例を示す。
【0106】生成規則記述言語の基本的な規則 1.数値と文字の加算:A+B は数値の場合は加算、文字
列の場合は連結を表す。
【0107】2.条件判定:if(A,B,C) は、条件Aが満
たされればBを、そうでなければCを実行する。
【0108】3.生成規則は代入文の形式で定義する。
【0109】4.テンプレートの可変部分と生成規則の
対応関係は名前で管理する。テンプレート< 要素名> と
制せ規則の“マクロ名.要素名”が対応する。
【0110】5.右辺のドット“.”を使った記述は、
ロジック図やプラント情報の要素の参照を表す。
【0111】構文)マクロ名.要素名=生成規則; 例)RLD.PID/PMS/SYS 番号=IBD.条件項目.呼合番号PI
D(i);次にテンプレートと生成規則の登録とそれらを使
った変換の手順を図1及び図2により説明する。
【0112】統括制御手段1にテンプレートファイル名
とともにデータベースへの登録を指示すると、統括制御
手段は変換情報入力手段3に指示して、入力データが正
しいテンプレートの書式に従っているかを検査する。変
換情報入力手段3は異常がなければデータ管理手段5に
テンプレートのデータベース4への登録を依頼する。こ
の時データ管理手段5は、ファイル名から表種別と処理
種別を判定し、既にデータベースに登録ずみかを検査
し、未登録ならそのまま登録する。登録ずみなら上書き
するかをユーザに問合せ、上書きが許可されれば上書き
する。
【0113】変換時には、プラントテーブル生成手段8
は統括制御手段1を介してロジック情報情報収集手段7
に、必要なテンプレートの表種別と処理種別を送る。す
ると、変換情報収集手段71はテンプレート選択手段7
4に指示し、データ管理手段5を介して指定されたテン
プレート43を取出し、変換バッファ51に格納する。
そして、統括制御手段1を介してプラントテーブル生成
手段8に完了の信号を送る。
【0114】生成規則の登録と取出し手順もテンプレー
トとほぼ同じである。しかし、必要な生成規則の見付け
方が異なる。使用する生成規則はテンプレート中に“%
%use <ルール>”文として記述されている。プラント
テーブル生成手段8は、変換バッファ51に保存された
テンプレートのこの記述を解釈し、テンプレートの取出
しと同様の手順で、変換規則選択手段75を介して生成
規則の取出しと、変換バッフア51への保存を行う。
【0115】ここで、プラントテーブル生成手段8の動
作を図16に示すフローチャートに従って説明する。ま
ず、プラントテーブル生成手段8はロジック図の条件種
別を判定して(S171)、対応するテンプレートを取出す
(S172)。次いでプラントテーブル生成手段8は変換バ
ッファ51よりテンプレートと生成規則を取出す (S17
3)。次にプラントテーブル生成手段8はテンプレートか
ら1文ずつ取出し、単語に分割する (S174)。そして、
単語を1つづつ解釈する (S175)。
【0116】単語が“<>”で囲まれた可変文字列の場合
(S176)には、生成規則メモリ領域513から対応する
規則を探し (S177)、生成規則に従って文字列を生成し
(S178)、この生成した文字列を変換バッフア51に乗
せてブラントテーブル514に出力する (S179)。ま
た、単語が固定文字列ならそのまま変換バッファ51の
生成プラントテーブルメモリ領域514に出力する (S
180)。そして、このような手順は全単語が完了するまで
実行され(S181)、全単語が完了すると全文が完了する
まで実効される(S182)。
【0117】さらに、図10と図11の下記の文を用い
て説明する。
【0118】テンプレート:ENT AUT<表番号> … 生成規則:ENT 表番号=“MSD”+系統操作情報、M
SD表初期値、表番号(系統略称)+…;テンプレート
の最初の2つの単語は固定文字列“ENT"と“AUT"である
から、プラントテーブル生成手段8はそのまま生成プラ
ントテーブルメモリ領域514に出力する。このとき単
語間には空白を挿入する。
【0119】次の単語は“< 表番号> ”である。そこ
で、プラントテーブル生成手段8はENTマクロの表番
号の生成規則である“ENT.表番号="を含む文を取出す。
【0120】この文を解釈すると、まず固定文字“MSD"
を生成することが分かる。次いで、ロジック図の系統略
称欄の内容をキーにして、データベースから操作系統情
報のMSD表の表番号の初期値を取出し、文字列“MSD"
の後に追加する操作を行う。このような手順で、文の終
端記号“;”が見付かるまで規則の解釈・実行を行い、
“;”が見付かった時点で生成された文字列を生成プラ
ントテーブルメモリ領域514に出力する。
【0121】これにより、生成プラントテーブルメモリ
領域514には下記の文字列が生成される。
【0122】例)“ENT AUT MSD000” このように生成プラントテーブルメモリ領域514に保
存される文字列は生成システムとは独立してプラントの
仕様に応じたテンプレートと変換規則をオペレータが作
成することになり、そのためプラント生成処理の開発時
にはプラントに依存しない固定的な生成アルゴリズムだ
けを組込めばよく、プラント依存の部分をなくすことで
システムの開発が容易になり、生成エンジンも小さくで
きる。また、テンプレートや生成規則の修正や交換によ
り(システムの内部処理を変更することなしに)様々な
生成パターンに対応できるため、システムの柔軟性が高
まる。
【0123】図8及び図9はプラント情報の種類と一部
のプラント情報の例を示すものである。統括制御手段1
に対してプラント情報の入力を指示すると、図9のよう
な表形式でプラント情報を設定できる。入力されたプラ
ント情報は、他の変換情報と同様の手順でデータベース
4に格納される。格納時には図9の分類に従って、デー
タベース4のプラント情報メモリ領域42に格納され
る。この場合、前述したように生成規則の右辺にドット
記法で図9の変換パラメータ名称と要素名を指定してお
くと、プラントテーブル生成手段8はロジック情報収集
手段7に依頼して、プラント情報選択手段73を介して
必要なプラント情報を取出して文字列の生成を行う。
【0124】例)左辺=メッセージ情報、タイマ (“S.
0G");メッセージ情報データベースに問合せを行い、処
理項目の記号が“S.0G”のレコードからタイマ情報
(この場合は0)を取出してその値を返す。
【0125】このようにすれば、プラント情報を表形式
で簡単に設定できると共に、生成規則の中でプラント情
報の参照を直接指示できる。また、プラントの違いが少
ない場合には、テンプレートや変換規則はそのままで、
プラント情報の変更だけで対応することができ、プラン
トごとの生成作業が簡単になる。
【0126】ここで、図3に示すロジック分割手順解析
手段82とロジック分割手段83の詳細について述べ
る。
【0127】ロジック分割手順解析手段82は、変換制
御手段81の指示によりロジック中間言語を解析し、処
理項目の数と分岐線の有無、分岐線がある場合はその接
続関係を調べる。1枚のロジック図に複数の処理項目が
ある場合には、下記の処理を行うためのスケジュールを
作成する。
【0128】・ロジック図に分岐線がある場合には、単
純に処理項目ごとにロジック図を分割する。
【0129】・条件項目からの結線で分岐がある場合に
は、まず該当条件項目の複製を作成する。次いでその複
製した条件項目を挿入する。そして分岐先のロジックと
接続し直し、分岐線を削除する。
【0130】例えば、図13の場合にはロジック中間言
語511に対して、下記の操作を行うスケジュール(ロ
ジック分割手段83が解釈実行できる専用の簡単なコマ
ンド列)を変換バッファ51に出力し、分割スケジュー
ルメモリ領域515に保存する。
【0131】(1)条件Cのコピーを作成(これをC´
とする) (2)C´を挿入 (3)分岐線(L2)を削除 (4)新しい線(L3)を追加 (5)条件C´と端子xをL3で接続 また、ロジック分割手段83は変換制御手段81の指示
により、分割スケジュール515に従ってロジック中間
言語511の加工を行う。このロジック分割手段83の
処理は、ロジック中間言語の指定行のコピー、指定行の
削除、または指定行の指定文字列の置換操作という基本
的な文字列編集操作として実現される。このようにロジ
ック図を作成する際に、処理項目ごとに図面を分けて記
述する必要がなく、関連する処理は1枚のロジック図に
まとめて記述できるため、ロジック図の作成効率がよ
い。また、予めロジック図を分割しておくことで、生成
エンジンのアルゴリズムが単純になり、その結果生成処
理が高速になる。
【0132】次に清書制御手段91の作用について述べ
る。
【0133】清書制御手段91は、変換バッファ51か
ら1次生成プラントテーブル514を取出し、プラント
テーブル清書手段92に1次生成プラントテーブルを渡
す。このプラントテーブル清書手段92は、1次生成プ
ラントテーブルからプラントテーブルの部分だけを抽出
し、桁位置の調整を行ってプラントテーブル517とし
て変換バッファ51に出力する。
【0134】このように生成と清書を分離することで、
生成時に細かな桁位置を調整する必要がないため、生成
エンジンのアルゴリズムが単純になり、その結果生成処
理が高速になる。
【0135】上記実施の形態でにおいて、テンプレート
を文字列ファイとしたが、これは汎用エディタで編集で
きるため、特別なツールなしに編集ができる利点があ
る。しかし、一種のプログラミング言語になるため、あ
る程度の教育が必要になる。
【0136】これを解消するため、テンプレートの修正
用に専用の編集装置(エディタ)を用意することもでき
る。汎用エデイタでは誤って固定文字列の部分を修正す
る可能性があるが、専用エディタではこのような単純な
誤りを防止できる。また、テンプレート記述言語では固
定部分と可変部分が同じ文字列のためにやや見えにくい
が、専用エディタでは、色分けしたり、モード切替えに
より可変部分を空欄に見せるなど、分かり易くすること
ができる。言語の生成を専用エディタが自動的に行うよ
うにすれば、教育が簡単になる。
【0137】一方、このように専用ツールが完備した形
態では、テンプレートを無理に文字列ファイルで管理す
る必要はなく、システムに都合の良い内部形式で表すこ
ともできる。
【0138】前述した本発明よる発電用ソフトウェア自
動生成装置の第1の実施の形態では、ロジック図(ロジ
ック図記述言語と呼ぶ)を専用の言語形式に変換して出
力する手段を備えている。そこで、ロジック図記述言語
を対象に文字列操作を基本にした簡潔で効率の良いロジ
ック図の分割、分岐バターン判定方法が適している。
【0139】ロジック図の分岐には図25乃至図30の
ように様々な記述パターンがあり、それぞれロジック図
を分割する手順が異なる。そこで、どの分割手順を適用
すればよいかを計算機で判断してプログラマに指示でき
れば、判断の誤りを防ぎ、作業時間の短縮が図れる。し
かも、多様な記述パターンに柔軟に対応できるように分
岐パターンの追加や修正が簡単に行えるようにする必要
がある。
【0140】図17は本発明による発電用ソフトウェア
自動生成装置のロジック図分割方式を説明するための第
2の実施の形態を示すブロック構成図である。
【0141】図17において、80はロジック解析・分
割装置で、このロジック解析・分割装置80は初期化を
行うための初期化手段80−1と、標準入力(ファイル
またはパイプ)からロジック図記述言語のロジック接続
関係を表す文を入力する接続組入力手段80−2と、入
力データを格納する入力バッファ80−3と、ロジック
図の解析及び分割を行うロジック解析・分割手段80−
4と、分割結果を格納するための複数の領域を持つ出力
バッファ80−5と、出力バッファ80−5に格納され
た結果を標準出力(ファイルまたはパイプ)に出力する
ための出力手段80−6とから構成される。
【0142】上記ロジック解析・分割手段80−4は、
分割処理の流れを制御する分割制御手段80−41と、
ロジック図記述言語を基本語句単位(以下トークンと呼
ぶ)に分離する字句解析手段80−42と、ロジック図
記述言語の記述内容を解釈して必要な情報を抽出する構
文解析手段80−43と、抽出した情報からロジックの
接続関係を解析する接続解析手段80−44と、解析結
果を用いてロジック図の分割を行う分割出力手段80−
45と、分割処理のための複数の作業情報を格納する作
業メモリ領域80−46と、分岐を検出するためのパタ
ーンを格納する検出パータン情報メモリ領域80−47
と、検出パターンと接続解析結果を比較して分岐パター
ンの有無と種類を判定する分岐検出手段80−48とで
構成される。
【0143】次に上記のように構成された発電用ソフト
ウェア自動生成装置のロジック図分割装置の作用を述べ
る。
【0144】発電用ソフトウェア自動生成装置は、ロジ
ック図1枚ごとに初期化の要求を出す。初期化手段80
−1は初期化要求を受取ると、作業メモリ領域80−4
1と出力バッファ80−5を初期化する。
【0145】次いで発電用ソフトウェア自動生成装置
は、ロジック図記述言語生成手段を用いてロジック図を
ロジック図記述言語に変換し、その変換出力文字列を接
続組入力手段80−2に送る。すると、接続組入力手段
80−2はロジック図記述言語のソースを入力して入力
バッファ80−3に格納する。
【0146】この入力バッファ80−3に格納されたロ
ジック図記述言語がロジック解析・分割手段80−4に
取込まれると、まず分割制御手段80−41はそのロジ
ック図記述言語を字句解析手段80−42に送り、この
字句解析手段80−42はロジック図記述言語を基本語
句単位に分離する。
【0147】次に分割制御手段80−41は、そのトー
クン列を構文解析手段80−43に送る。この構文解析
手段80−43は受取ったトークン列の種類と順序から
その記述内容の意味を解釈する。例えば、名前の組
(A,B)を2つのロジックAとBの接続情報と解釈す
る。そして、接続解析手段80−44は、作業メモリ領
域80−46にロジックの接続関係データを作成する。
【0148】分割出力手段80−45は、作業メモリ領
域80−46に作成された接続関係データを参照して、
各処理項目ごとに対応するロジック群を分類し、その結
果に基づいて条件項目からロジックを辿りながらロジッ
ク図記述言語を合成し、処理項目ごとに出力バッファ8
0−5に出力する。
【0149】最後に分割制御手段31は出力手段80−
5に指示して、出力バッファ80−5の内容を外部に出
力する。
【0150】以上はロジック図分割装置の全体の作用で
あるが、さらにロジック図分割装置の具体例による作用
を図18に示すロジック図面の部分例、図19に示す図
18に対応するロジック図記述言語の例及び図20に示
す作業バッアの構造例を参照して詳細に説明する。
【0151】ロジックの接続関係(接続組)は例1.1
の構文で表される。接続組は「connect 」に続く括弧内
に2つのロジック識別子を記述し、第1項の識別子の出
力端が第2項の識別子の入力端に接続されていることを
表す。識別子は、ロジックの種類名と連番の組合わせで
表す。本例では記述を簡単にするため、「AND
(1)」のように表記することもできる。
【0152】例1.1) connect(識別子1、識別子
2) 接続組入力手段80−2はロジック図記述言語から接続
組の記述行(図19の第11行〜23行)を入力し、入
力バッァ80−3に格納する。ロジック解析・分割手段
80−4の分割制御手段80−41は入力バッファ80
−3から1行づつ組記述を取出し、字句解析手段80−
42に送ってトークンに分離する。字句解析は通常のコ
ンパイラと同様の一般的な手法で行う。例えば第11行
は例1.2のようなトークンに分離する。
【0153】例1.2 “ connect”“(”“条件1”
“、”“LINE1 ”“)” 次いで構文解析手段80−44は、最初のトークンが
“ connect”であることを確認し、3番目(“条件
1”)のトークンを文字列変数ID1、5番目(“LINE
1 ”)のトークンを文字列変数ID2に代入する。
【0154】接続解析手段80−45は、まずID1が
図20の接続リストに登録されているかどうかを確認
し、未登録ならID1をインデックスとする要素にID
2を登録する。接続リストは名前をインデックスとする
連想配列で実装されており、要素の型は文字列である。
従って、確認と登録は下記のように行う。
【0155】例1.3) if(接続リスト[ID1]=空)th
en 接続リスト[ID1]=ID2; 登録済みなら、接続リスト[ID1]の内容とID2が
同じであることを確認し、何もしない。このような登録
済みのケースは、多入力1出力のロジック(ANDやO
Rなど)がある場合に生じる。
【0156】例えば図19の第1行〜第15行の処理に
より、接続リスト(図20)のA部分が作成される。ま
た、第16行、第17行の処理により、接続リストのB
部分が作成されるが、第18行〜第20行はA部分(第
13行〜第15行)と重複するため登録されない。同様
にして第21行〜第23行の処理により、接続リストの
Cの部分が作成される。なお、“NULL”はリストの終端
を表す。
【0157】次にインデックス“条件1”から順に接続
リストを辿り、リスト終端の“処理i”の番号iを図2
0の処理番号表に記録する。例えば条件1から始まるリ
ストは処理1で終るため、識別子の番号部分を取出して
1と記録する。同様にして条件2から始まるリストも処
理1で終るため1と記録する。条件3で始まるリストは
処理2で終るため、2と記録する。
【0158】ここで、処理番号表の最大値がmなら、ロ
ジック図を処理i(i=1〜m)ごとにm枚に分割する
ことが分かる。
【0159】次に再びインデックス“条件1”から順に
接続リストを辿り、インデックスと接続リスト要素から
ロジック記述言語を合成する(図20)。例えばインデ
ックスが“条件1”なら、対応する接続リストの要素
“LINE”を使って“connect(条件1,LINE)”の文字列
を合成して、出力バッファに出力する。
【0160】次いで“LINE”をインデックスにして同様
の処理を行い、接続表の要素が“NULL”になるまで反復
する。合成した文字列は、処理番号表に従って出力バッ
ファに出力する。例えば接続リストのA,B,C部分か
ら出力バッファの領域1と2に例1.4の結果を得る。
【0161】 分割出力アルゴリズム−1 for(すべての条件について反復) ID1=条件n; ……始端インデックス設定 OUT=処理番号表[ID1] ; ……出力バッファ番号の取出し repeat ID2=接続リスト[ID1] ; 出力バッファ[OUT] に出力;“connect(“ID1 ”,”ID2 ”) ” ID1=ID2; ……次のインデックスを設定 until(ID2 が“NULL”になるまで反復); 例1.4) 出力バッファ[1] 出力バッファ[2] connect(条件1,LINE1) connect(条件3,LINE4) connect(LINE1 ,AND1) connect(LINE4 ,処理2) connect(AND1,LINE2) connect(処理2,NULL) connect(LINE2 ,処理1) connect(処理1,NULL) connect(条件2,LINE3) connect(LINE3 ,AND1) connect(AND1,LINE2) connect(LINE2 ,処理1) connect(処理1,NULL) 最後に出力バッファ80−5の領域1と2の内容を出力
手段80−6を使って別々に標準出力(ファイルマタハ
パイプ)に出力する。
【0162】このように第2の実施の実施の形態によれ
ば、図25の上段のロジック図に対するロジック図記述
言語を、図25の下段と等価なロジック図記述言語のグ
ループに分割できる。これにより繁雑な手作業をなく
し、熟練者でなくてもロジック図の分割を正確に行うこ
とができる。しかも、文字列操作による単純で効率の良
い分割方式を得ることができ、また別の作画ツールを採
用する場合にもロジック図記述言語生成ツールの開発を
行うだけで済む。
【0163】上述したロジック図分割処理では、図19
の第18行〜第20行は既に登録した部分と重複するた
め、無駄である。同様に本発明に関連する発電用ソフト
ウェア自動生成装置では、以降の処理においても第18
行〜第20行の記述はなくても問題はない。
【0164】しかし、前述の例では出力バッファにロジ
ック図記述言語を分割出力する際に、上記の記述部分は
重複して出力されるため、ロジック図が複雑になり、多
入力1出力のロジック(ANDやORなど)が多用され
るにつれて多くなり、後段で不必要な処理時間が増え
る。
【0165】そこで、接続リストに対応して出力済みを
表す図21に示す出力マーク領域を作業メモリ領域80
−46に確保し、ロジック図記述言語を出力バッファ8
0−6に合成出力する際に処理済みの印(値1)を設定
する。この場合、出力マークは連想配列で実装する。
【0166】分割出力手段80−45は出力マークを確
認し、出力済みの印があれば出力ループを終え、次の条
件の出力を開始する。アルゴリズム−2はアルゴリズム
−1に*印で示す処理を追加する。
【0167】 分割出力アルゴリズム−2 for(全ての条件について反復) ID1=条件n; ……始端インデックス設定 OUT=処理番号表[ID1];……出力バッフア番号の取出し repeat ID2=接続リスト[ID1]; 出力バッファ[OUT]に出力;“connect(“ID1 ”“、”ID2 ”)”; *出力マーク[ID1]=1; *……出力済みの印をつける ID1=ID2; ……次のインデックスを設定 until(ID2 が“NULL”、又は*出力マーク[ID2]=1になるまで反復); end; このように作業メモリ領域80−46に出力済みのロジ
ックに印を付けるためのマーク領域を確保し、分割出力
手段80−46において条件項目からロジックを辿りな
がらロジック図記述言語を合成して出力バッファ80−
6に出力する際に、マーク領域に該当ロジック出力済み
を示す値を設定しておくことにより、分割出力手段80
−45は条件項目からロジックを辿る際にマーク領域を
参照し、出力済みを示す値に設定されていれば出力を抑
制するので、ロジック図が複雑になり、多入力1出力の
ロジック(ANDやORなど)が増えた場合にも、処理
後での無駄な処理時間をなくすことができる。
【0168】次に分岐パターンを自動的に判定して分岐
パターンの追加や修正を行う場合の作用について述べ
る。
【0169】ここでは、図26〜図30に示す分岐線を
含むロジック図面の主要な例に対応する図24に示すロ
ジック記述言語に含まれる分岐文字列パータンの例と、
図25に示す検出パターン情報メモリ領域80−47に
テンプレートとして格納された判別パターンの例、及び
図23に示す分岐検出のために作業メモリ領域80−4
6に作成される結線の接続元/接続先表を用いて具体的
に説明する。
【0170】例えば図26に示すように条件項目からの
結線で分岐して処理項目に分かれるパターンを含むロジ
ック図のロジック記述言語を分析すると、図23のパタ
ーン1で示される文字列を含んでいる。
【0171】ここで、図23の記述は、分岐パターンを
テンプレートとして一般化して記述できるように設計し
たもので、<LINE>は任意の結線、< 条件n>は任意の条件
項目、< 処理m>は任意の処理項目、< ロジックA> と<
ロジックB> は異なる任意のロジック、< 最終段ロジッ
ク> はロジックの最終段< 処理項目の直前> に配置され
る特別なロジックを表す。また、それぞれのパターンは
連続して現れる必要はなく、間に別の記述行があっても
よい。
【0172】同様に図27に示すように最終段ロジック
への結線で分岐し、その分岐先が処理項目であるパター
ンを含むロジック図のロジック記述言語には、図23の
パターン2で示される文字列が含まれている。
【0173】また、図28に示すように処理項目への結
線で分岐し、その分岐先が最終段ロジックであるパター
ンを含むロジック図のロジック記述言語には、図23の
パターン3で示される文字列が含まれている。
【0174】同様に図29に示すように処理項目への結
線で分岐し、その分岐先が非最終段ロジックであるパタ
ーンを含むロジック図のロジック記述言語には、図23
のパターン4で示される文字列が含まれている。
【0175】さらに、図30に示すように非最終段ロジ
ック中で分岐しその分岐先が処理項目であるパターンを
含むロジック図のロジック記述言語には、図23のパタ
ーン5で示される文字列が含まれている。
【0176】本例ではこれらの分岐文字列パターンを予
め検出パターン情報メモリ領域80−47に格納してお
く。ここで、図23の記述から特徴部分だけを抽出し、
図24に示すように3つ組の形式で検出パターン情報メ
モリ領域80−47に格納する。
【0177】分岐検出手段80−48は、接続解析手段
80−44が解析結果を図20に示す接続リストに登録
する際に、結線情報を含む行の場合には、結線の接続元
表および図22に示す接続先表に同様の情報を登録す
る。
【0178】例えば図22のインデックス“LINE”の要
素は(条件1−LINE1−AND1)の順にロジックが接続さ
れていることを表している。この時に識別子1が接続先
表に登録済みかどうかで分岐パターンの有無を検出す
る。このように分岐検出手段80−48により分岐を検
出すると、接続元表及び接続先表の情報から接続関係の
3つ組を作成し、検出パターン情報メモリ領域80−4
7の検出パターン情報と比較して分岐パターンの種類を
判断する。
【0179】ここで、分岐検出アルゴリズムについて示
すと次の通りである。
【0180】1)接続解析手段80−44から識別子の
組を受け取る。組がなくなれば終了する。
【0181】2)識別子1か識別子2が<LINE>なら以下
の処理を行う。そうでなければ5)へ進む。
【0182】3)識別子1が<LINE>なら以下の処理を行
う。
【0183】3.1 識別子1が未登録なら接続先表に記録
(接続先[識別子1]=識別子2)して5)へ進む。
【0184】3.2 識別子1が登録済みなら接続先表およ
び接続先表を参照して(接続元表[識別子1],接続先
表[識別子1],識別子2)の組を作成し、 以下のパ
ターンと一致するかどうかを検査する。
【0185】3.2.1 (<条件n>,<ロジックA>,<ロジックB
>) ならパターン1と判断 3.2.2 (<ロジックA>,<最終段ロジック>,< 処理m>) なら
パターン2と判断 3.2.3 (<ロジックA>, < 処理m>< 最終段ロジック>)なら
パターン2と判断 3.2.4 (<ロジックA>,<ロジックB>,<処理m>) ならパ
ターン3と判断 3.2.5 (<ロジックA>, < 処理m>< ジックB>) ならパター
ン2と判断 3.2.7 上記以外ならエラー(処理可能)と判断 4)識別子2が<LINE>なら接続元表に記録(接続元[識
別子2]= 識別子1) 5)1)へ戻る。
【0186】このように第2の実施の形態によるロジッ
ク図分割方式によれば、予め用意された分岐文字列パタ
ーンの情報を検出パターン情報メモリ領域80−47に
格納し、分割検出手段80−48により接続解析手段8
0−44の解析結果を比較して分岐パターンの有無を検
出し、検出パターン情報と作業メモリ領域80−45に
記録した情報を比較して分岐パターンの種類を判断する
ようにしたので、様々なロジック図の分岐パターンを自
動的に判定でき、最適なロジック図を分割手順を使うよ
うプログラマに指示できる。これにより、判断の誤りを
防ぎ、作業時間の短縮を図ることができ、また分岐パタ
ーンの追加や修正が簡単に行うことができる。
【0187】なお、上記各実施の形態では発電プラント
に適用したソフトウェア自動生成装置について述べた
が、他の産業プラントにも同様に適用して実施できるも
のである。
【0188】
【発明の効果】以上述べたように本発明によれば、ロジ
ック図からプラントテーブルを作成する工程及びロジッ
ク図を分割する工程を計算機により自動化することによ
り、繁雑な手作業をなくし、ソフトウェアの生産性を向
上でき、また熟練者でなくてもプラントテーブルを作成
することができ、且つ安定した品質のソフトウェアを作
成できるソフトウェア自動生成装置を提供できる。
【図面の簡単な説明】
【図1】本発明によるソフトウェア自動生成装置を発電
プラントに適用する場合の第1の実施の形態の全体構成
を示すブロック図。
【図2】図1のロジック情報収集手段を詳細に示すブロ
ック図。
【図3】図1のプラントテーブル生成手段を詳細に示す
ブロック図。
【図4】図1の清書手段を詳細に示すブロック図。
【図5】同実施の形態の統括制御手段によるシステム全
体の作用を説明するためのフローチャート。
【図6】同実施の形態において、データベースに格納さ
れているロジック図の一例を示す図。
【図7】図6に対応するプラントテーブルの一例を示す
図。
【図8】同実施の形態におけるプラント情報の一例を示
す図。
【図9】図8とは異なるプラント情報の一例を示す図。
【図10】同実施の形態におけるテンプレートの定義例
を示す図。
【図11】同実施の形態における生成規則の定義例を示
す図
【図12】同実施の形態におけるロジック中間言語の一
例を示す図。
【図13】同実施の形態におけるロジック分割処理の概
念を説明するための図。
【図14】同実施の形態におけるプラントテーブル生成
手順解析の動作を説明するための図。
【図15】同実施の形態において、プラントテーブル生
成処理を説明するためのフローチャート。
【図16】同じくプラントテーブル生成処理を説明する
ためのフローチャート。
【図17】本発明によるソフトウェア自動生成装置を発
電プラントに適用する場合のロジック図分割方式を説明
するための第2の実施の形態を示すブロック図。
【図18】同実施の形態の作用を説明するための計算機
自動化ロジック図の部分例を示す図。
【図19】同実施の形態の作用を説明するための計算機
自動化ロジック図に対応するロジック記述言語の部分例
を示す図。
【図20】同実施の形態のロジック自動分割に使用する
接続リストと処理番号表のデータ構造とデータの流れを
説明するための図。
【図21】同実施の形態における重複出力を抑制するた
めに使用する出力マーク領域のデータ構造を説明するた
めの図。
【図22】同実施の形態における分岐パターン検出作業
に使用する接続元素/接続先表のデータ構造を説明する
ための図。
【図23】同実施の形態において、分岐パターン文字列
の一例を示す図。
【図24】同実施の形態において、分岐パターン検査用
に定義した検出パターン情報の一例を示す図。
【図25】同実施の形態において、ロジック図分割の概
念を説明するための図。
【図26】同実施の形態におけるロジック図の分岐パタ
ーンの第1の例の説明図。
【図27】同じく分岐パターンの第2の例の説明図。
【図28】同じく分岐パターンの第3の例の説明図。
【図29】同じく分岐パターンの第4の例の説明図。
【図30】同じく分岐パターンの第5の例の説明図。
【符号の説明】
1……統括制御手段 2……ロジック図入力手段 3……変換情報入力手段 4……データベース 5……データ管理手段 6……構成管理手段 7……ロジック情報収集手段 71……変換情報収集手段 72……ロジック図選択手段 73……プラント情報選択手段 74……テンプレート選択手段 75……変換規則選択手段 76……ロジック中間言語生成手段 8……プラントテーブル生成手段 81……変換制御手段 82……ロジック分割手順解析手段 83……ロジック分割手段 84……生成手順解析手段 85……生成エンジン 9……清書手段 91……清書制御手段 92……プラントテーブル清書手段 93……生成情報抽出手段 80……ロジック解析・分割装置 80−1……初期化手段 80−2……接続組入力手段 80−3……入力バッファ 80−4……ロジック解析・分割手段 80−5……出力バッファ 80−6……出力手段 80−41……分割制御手段 80−42……字句解析手段 80−43……構文解析手段 80−44……接続解析手段 80−45……分割出力手段 80−46……作業メモリ領域 80−47……検出パターン情報メモリ、 80−48……分岐検出手段

Claims (15)

    【特許請求の範囲】
  1. 【請求項1】 ソフトウェア開発における上流設計図書
    であるロジック図からプログラムに相当するプラントテ
    ーブルを自動生成するソフトウェア自動生成システムで
    あって、 ユーザと対話処理が可能なインターフェースを備え、且
    つユーザの要求を解釈すると共に、その要求を処理する
    に必要なシステム全体の動作を制御する統括制御手段
    と、入力情報を一括管理するデータ管理手段と、前記統
    括制御手段より指令を受けるとロジック図を前記データ
    管理手段に入力するロジック図入力手段と、前記統括制
    御手段より指令を受けると前記データ管理手段にプラン
    ト固有の各種情報を変換情報として入力する変換情報入
    力手段と、前記データ管理手段に入力されたロジック図
    及び変換情報を格納するデータベースと、前記データ管
    理手段を通して前記データベースに格納されたロジック
    図とプラント固有の変換情報を取出してロジック図を解
    析すると共に、そのロジック図と変換情報を用いてプラ
    ントテーブルを生成するプラントテーブル生成手段と、
    前記管理手段を通して前記データベースに格納されたロ
    ジック図の構成やプラントテーブルの構成及びそれらの
    対応関係などを管理する構成管理手段とを備えたことを
    特徴とするソフトウェア自動生成装置。
  2. 【請求項2】 請求項1記載のソフトウェア自動生成装
    置において、プラントテーブルの雛形(テンプレート)
    を定義するための書式をシステムで提供し、前記変換情
    報入力手段によりその書式に基づいて作成されたテンプ
    レートを前記データ管理手段に入力し、プラントテーブ
    ル生成時に前記プラントテーブル生成手段はそのテンプ
    レートを参照しながらプラントテーブルを生成するよう
    にしたことを特徴とするソフトウェア自動生成装置。
  3. 【請求項3】 請求項1記載のソフトウェア自動生成装
    置において、プラントテーブルを生成する手順を定義す
    る書式をシステムで提供し、前記変換情報入力手段によ
    りその書式に基づいて作成された生成規則を前記データ
    管理手段に入力し、プラントテーブル生成時に前記プラ
    ントテーブル生成手段はその生成規則に従ってプラント
    テーブルを生成するようにしたことを特徴とするソフト
    ウェア自動生成装置。
  4. 【請求項4】 請求項1記載のソフトウェア自動生成装
    置において、前記ロジック図入力手段より前記データ管
    理手段にCADツールで書かれたロジック図を入力し、
    このロジック図から生成に必要な情報のみを前記データ
    管理手段を通して抽出してシステムで定義した専用の言
    語形式に自動的に変換するロジック中間言語生成手段を
    設け、前記プラントテーブル生成手段にロジック中間言
    語を解釈できる機能を持たせたことを特徴とするソフト
    ウェア自動生成装置。
  5. 【請求項5】 請求項1記載のソフトウェア自動生成装
    置において、前記変換情報入力手段にプラントごとの固
    有情報を、種類別に分類された表形式で入力できる機能
    を持たせ、前記プラントテーブル生成手段は前記変換情
    報入力手段より前記データ管理手段に入力されたプラン
    ト固有の情報を参照しながらプラントテーブルを生成す
    るようにしたことを特徴とするソフトウェア自動生成装
    置。
  6. 【請求項6】 請求項1記載のソフトウェア自動生成装
    置において、プラントテーブル生成手段はプラントテー
    ブルを生成する前に予めロジック図から生成するプラン
    トテーブルの種類と枚数、及びその順序などの判断を行
    う生成手順解析手段を備え、この生成手順解析手段の指
    示に従ってプラントテーブルの生成を行うようにしたこ
    とを特徴とするソフトウェア自動生成装置。
  7. 【請求項7】 請求項1記載のソフトウェア自動生成装
    置において、プラントテーブル生成手段の生成結果を入
    力して細かな書式合わせを行う清書手段を設けたことを
    特徴とするソフトウェア自動生成装置。
  8. 【請求項8】 ユーザの要求を解釈すると共に、その要
    求を処理するに必要なシステム全体の動作を制御する統
    括制御手段と、入力情報を一括管理するデータ管理手段
    と、前記統括制御手段より指令を受けるとロジック図を
    前記データ管理手段に入力するロジック図入力手段と、
    前記統括制御手段より指令を受けると前記データ管理手
    段にプラント固有の各種情報を変換情報として入力する
    変換情報入力手段と、前記データ管理手段に入力された
    ロジック図及び変換情報を格納するデータベースと、こ
    のデータベースに格納されたロジック図を前記データ管
    理手段を通して取出して専用に設計した言語形式(ロジ
    ック図記述言語)に変換出力するロジック情報収集手段
    と、前記データベースに格納されたロジック図と前記ロ
    ジック情報収集手段で変換されたロジック図記述言語を
    前記データ管理手段を通して取出してロジック図を解析
    すると共に、そのロジック図とロジック図記述言語を用
    いてプラントテーブルを生成するプラントテーブル生成
    手段と、前記管理手段を通して前記データベースに格納
    されたロジック図の構成やプラントテーブルの構成及び
    それらの対応関係などを管理する構成管理手段とを備
    え、 前記プラントテーブル生成手段にプラントテーブルを生
    成する前にロジック図を生成に適した単位に分割するロ
    ジック解析・分割手段を設け、 このロジック解析・分割手段は、ロジック図記述言語を
    解釈する言語処理部と、ロジック図のソースリストから
    ロジックの接続関係を抽出してリスト構造として登録管
    理する手段と、その接続関係リストからプラントテーブ
    ルの生成単位を判断する手段と、この手段により判断さ
    れたプラントテーブルの生成単位に基づいて前記ロジッ
    ク図記述言語のソースリストをプラントテーブルの生成
    に適した単位に分割出力する手段とを有することを特徴
    とするソフトウェア自動生成装置。
  9. 【請求項9】 請求項8記載のソフトウェア自動生成装
    置において、ロジック解析・分割手段は、ロジック図記
    述言語をプラントテーブルの生成単位に分割して出力す
    る際に、出力済みのロジックに出力済みを示す値を設定
    して重複した接続関係の出力を抑制する機能を有するこ
    とを特徴とするソフトウェア自動生成装置。
  10. 【請求項10】 請求項8記載のソフトウェア自動生成
    装置において、ロジック解析・分割手段は、ロジック図
    のソースリストからロジックの接続関係リストを作成す
    る際に結線に関する接続関係情報を管理する手段と、こ
    の管理手段への多重登録を検出することにより分岐の有
    無を判定する手段と、分岐パターンを予め登録する手段
    と、登録パターンとロジック図のソースリストを比較す
    ることで分岐パターンの種類を判別する手段を有するこ
    とを特徴とするソフトウェア自動生成装置。
  11. 【請求項11】 請求項10記載のソフトウェア自動生
    成装置において、ロジック図記述言語のソースリストか
    ら、条件項目からの結線で分岐していることが判断可能
    な分岐パターン登録手段を設けたことを特徴とするソフ
    トウェア自動生成装置。
  12. 【請求項12】 請求項10記載のソフトウェア自動生
    成装置において、ロジック図記述言語のソースリストか
    ら、最終段ロジックへの結線で分岐し、その分岐先が処
    理項目であることが判断可能な分岐パターン登録手段を
    設けたことを特徴とするソフトウェア自動生成装置。
  13. 【請求項13】 請求項10記載のソフトウェア自動生
    成装置において、ロジック図記述言語のソースリストか
    ら、処理項目への結線で分岐し、その分岐先が最終段ロ
    ジックであることが判断可能な分岐パターン登録手段を
    設けたことを特徴とするソフトウェア自動生成装置。
  14. 【請求項14】 請求項10記載のソフトウェア自動生
    成装置において、ロジック図記述言語のソースリストか
    ら、処理項目への結線で分岐し、その分岐先が非最終段
    ロジックであることが判断可能な分岐パターン登録手段
    を設けたことを特徴とするソフトウェア自動生成装置。
  15. 【請求項15】 請求項10記載のソフトウェア自動生
    成装置において、ロジック図記述言語のソースリストか
    ら、非最終段ロジック中で分岐し、その分岐先が処理項
    目であることが判断可能な分岐パターン登録手段を設け
    たことを特徴とするソフトウェア自動生成装置。
JP1012897A 1997-01-23 1997-01-23 ソフトウェア自動生成装置 Pending JPH10207698A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1012897A JPH10207698A (ja) 1997-01-23 1997-01-23 ソフトウェア自動生成装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1012897A JPH10207698A (ja) 1997-01-23 1997-01-23 ソフトウェア自動生成装置

Publications (1)

Publication Number Publication Date
JPH10207698A true JPH10207698A (ja) 1998-08-07

Family

ID=11741657

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1012897A Pending JPH10207698A (ja) 1997-01-23 1997-01-23 ソフトウェア自動生成装置

Country Status (1)

Country Link
JP (1) JPH10207698A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109815635A (zh) * 2019-02-28 2019-05-28 杭州和利时自动化有限公司 一种锅炉mft自动设计系统及方法
JP2022542488A (ja) * 2019-10-08 2022-10-03 上海宝階智能科技有限公司 異種埋め込み型の表形式化動作プロセスの処理および実行方法および装置
CN116774664A (zh) * 2023-08-16 2023-09-19 琥崧智能装备(太仓)有限公司 基于元逻辑的生产线自动化控制方法、装置、设备及介质

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109815635A (zh) * 2019-02-28 2019-05-28 杭州和利时自动化有限公司 一种锅炉mft自动设计系统及方法
CN109815635B (zh) * 2019-02-28 2023-04-18 杭州和利时自动化有限公司 一种锅炉mft自动设计系统及方法
JP2022542488A (ja) * 2019-10-08 2022-10-03 上海宝階智能科技有限公司 異種埋め込み型の表形式化動作プロセスの処理および実行方法および装置
CN116774664A (zh) * 2023-08-16 2023-09-19 琥崧智能装备(太仓)有限公司 基于元逻辑的生产线自动化控制方法、装置、设备及介质
CN116774664B (zh) * 2023-08-16 2023-12-01 琥崧智能装备(太仓)有限公司 基于元逻辑的生产线自动化控制方法、装置、设备及介质

Similar Documents

Publication Publication Date Title
US5327568A (en) Apparatus for supporting graphic data driven program development and for displaying instruction execution results superimposed on the graphic program
US20050005239A1 (en) System and method for automatic insertion of cross references in a document
JPS6375835A (ja) 目的コ−ド、プログラム・リスト及び設計文書を生成する装置
CN109344355B (zh) 针对网页变化的自动回归检测与块匹配自适应方法和装置
JPH05135121A (ja) ダイアグラム認識システム
CN113485160A (zh) 一种基于图形匹配识别的仿真建模方法及装置
CN116541286A (zh) 一种基于插桩和符号执行的高覆盖率测试数据生成方法
CN102298552A (zh) 基于代码查询进行源代码插桩的方法
CN109086985B (zh) 面向航天器总装的专业测试信息管理系统
CN103049504A (zh) 基于源代码查询的半自动插桩方法
CN112506488A (zh) 一种基于sql创建语句生成编程语言类的方法
JPH10207698A (ja) ソフトウェア自動生成装置
CN114090611A (zh) 一种端子接线表生成电缆清册的方法、装置及电子设备
CN110554860B (zh) 一种软件项目自然语言编程接口nli的构造方法及代码生成方法
JPS62113277A (ja) 部品情報管理装置
AU760395B2 (en) Program reproducing method and device, and medium on which program for program reproduction recording
CN114115810A (zh) 基于描述模板的自然语言需求的检测分析方法
JPH07146785A (ja) プログラム自動生成方法および装置
JP3078038B2 (ja) 図面自動入力システム及びその方法
CN117851101A (zh) 一种基于大语言模型的仓库级别代码缺陷自动修复的方法
CN115146599A (zh) 一种基于宏的核电厂计算机化规程实现方法
JPH02100131A (ja) 計算機プログラム変更装置
JPS5852267B2 (ja) 文字解析方式
CN113986232A (zh) 基于计算机的河道断面数据自动识别转换及清洗方法
JP2886600B2 (ja) 設計支援装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20051213

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060404