JPH04100104A - データフロー図形式のプログラムにおける実行順序自動決定方式 - Google Patents

データフロー図形式のプログラムにおける実行順序自動決定方式

Info

Publication number
JPH04100104A
JPH04100104A JP17071890A JP17071890A JPH04100104A JP H04100104 A JPH04100104 A JP H04100104A JP 17071890 A JP17071890 A JP 17071890A JP 17071890 A JP17071890 A JP 17071890A JP H04100104 A JPH04100104 A JP H04100104A
Authority
JP
Japan
Prior art keywords
execution order
stack
elements
data flow
flow diagram
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
JP17071890A
Other languages
English (en)
Inventor
Takamasa Inoue
井上 敬誠
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.)
Yaskawa Electric Corp
Original Assignee
Yaskawa Electric 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 Yaskawa Electric Corp filed Critical Yaskawa Electric Corp
Priority to JP17071890A priority Critical patent/JPH04100104A/ja
Publication of JPH04100104A publication Critical patent/JPH04100104A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)
  • Control By Computers (AREA)
  • Programmable Controllers (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、鉄鋼プラント、化学プラント、製紙プラント
、等の製造現場に設置されるコントローラに関し、特に
そのコントローラのデータフロー図形式のプログラムの
中にある制御や演算を行う素子の実行順序を、自動的に
決定する方式に関するものである。
〔従来の技術〕
データフロー図形式のプログラムを使用した技術として
は、本出願人が先に提案した特願平1−193182や
、特願平1−219886がある。
データフロー図形式のプログラム(以下、図面と呼ぶ)
を第8図に示す。
第8図を参照すると、各四角形は制御や演算を行う素子
(以下、「素子」と呼ぶ)の象形である。
素子の中の数字は素子を識別するための番号(以下、「
素子番号」と呼ぶ)である。素子の上のカッコ内数字は
その素子の実行順番である。番号の小さい素子が先に実
行される。先端に矢印の付いた線は素子間でデータが流
れる経路を示す。線の始端は素子の出力端子であり、終
端は素子の入力端子である。上記のような図面において
は、一つの素子はその全ての入力端子のデータが確定し
ていなければ正しく動作することができない。つまり、
データフローの上流側(第8図では左側)の素子から順
番に実行させなければならない。
従来のデータフロー図形式のプログラムにおいては、素
子を表示装置などのプログラム作成画面(=図面)上で
生成し、それら素子の入出力端子間を線でつないだあと
、素子の実行順番(第8図におけるカッコ内数字)を人
が設定していた。
〔発明が解決しようとしている課題〕 そのために、図面の中の素子の数が少ない場合はよいが
、図面の中の素子の数が多くなると、実行順番が重なっ
ていたり、先に実行させるべき素子をあとから実行させ
る等の間違いが起こりゃす(なる。
そこで、本発明は、上記のような間違いを防ぐために、
コントローラのアプリケーションプログラムを作成する
ためのエディタの中に、実行順序を自動的に設定するプ
ログラムを組み込むことによって、人手を介さずに実行
順序を設定できる方式を提供するものである。
〔課題を解決するだめの手段〕
本発明は、データフロー図形式のプログラムに於いては
、素子はその入力端子に接続されている上流側の素子の
出力端子のデータが確定していないと、正しく動作する
ことができないという点に着目し、最も下流にある素子
から出発して、その素子が正しく動作するための前提と
なる」−流側の素子を探索し、その上流側の素子が見つ
かると、さらに前提となる一F流側の素子を探索すると
いうように、下流から上流に向かって動作すべき素子を
順次探索する。探索するときにはスタックを使用する。
つまり実行順序が確定しない素子は、保留するために、
その素子番号をスタックにブシュしてゆく。やがて上流
端の素子に行き着き、スタックのトップには上流端の素
子の素子番号が残る。
このときスタックのなかには、下流端の素子から上流端
の素子に至る一本の経路が残されることになる。次にス
タックのトップの素子番号をポツプし、それを実行順序
を出力するためのバッフ了に移す。この処理を順次繰り
返すと、もとの下流端の素子までの実行順序が確定する
。この処理の途中で複数の入力端子を持つ素子があり、
確定していない経路があれば、そこから上流側への探索
を上記と同じ方法で行う。ただし、フィードバックルー
プを形成している素子が存在していないことを前提とす
る。
〔作用〕
上記の方法により、どんなに複雑なプログラムでも自動
的にかつ短時間に実行順序の自動設定が行われ、人手に
よる場合に比べてはるかにプログラムの信頼性と生産性
を向上させることが可能となる。
〔実施例〕
以下、本発明の具体的実施例を説明する。
第1図は、実行順序自動設定を実現するだめの機能ブロ
ック図の例である。第1図を参照すると、プログラム1
01は、素子間の結線状態を表す接続表(以後rLsI
Jと呼ぶ)102の内容を入力し、実行順序を求めたあ
と、それを実行順序出力バッファ(以後rLsOJ と
呼ぶ)1o3に出力する。
書込みポインタ(以後rOPJ と呼ぶ)1o4は実行
順序出力バッファ103内で素子番号がどこまで書き込
まれるているかを示すポインタである。
実行順序を求める際はスタック(以後rSTK」と呼ぶ
)105を使用する。スタックポインタ(以後rSPI
 と呼ぶ)106は、スタック105内で探索情報がど
こまで告き込まれているかを示すポインタである。
第2図は、第1図の中の接続表102の例である。この
表は第8図の素子間の接続関係を表で表したものである
。第2図を参照すると、表の一つの行は一つの素子の接
続関係をあられしている。
第1列201は素子番号を示す。第2列202は素子の
入力端子の数を示す。第3列以降203は、第1列の素
子が出力データを入力している相手の素子の素子番号(
以下「入力素子番号」と呼ぶ)を示す。なお、上流端素
子の入力素子番号は204と205のように0となって
いる。
第3図は、第1図の中のプログラム101のアルゴリズ
ムを表したフローチャートである。以下、第3図の各処
理ステップの内容を説明する。
(処理301)SPとOPを初期化する。
(処理302)下流端の素子の素子番号をSTKに格納
する。
第4図に、第8図の場合にステップ302を実行した結
果を示す。
(処理303)STKが空であるかどうかを判断する。
空ならば処理を終わる。空でなければ処理304に進む
(処理304)STKのトップにある素子番号がOlつ
まり上流端素子の入力素子番号であれば処理307に進
む。そうでなければ処理305に進む。
(処理305)STKのトップにある素子番号がLSO
にすでに含まれているならば処理307に進む。そうで
なければ処理306に進む。
(処理!306)STKのトップにある素子の入力素子
番号をLSIから読み出し、STKに格納する。続いて
処理303に進む。第5図に、第8図の場合に処理80
6を実行した結果を示す。
(処理307)STKのトップから2番目に[:ノマー
クがあれば処理308に進む。そうでなければ処理31
1に進む。
(処理308)STKのトップから3番目にある素子番
号がすてにLSOに含まれているならば処理311に進
む。そうでなければ処理309に進む。
(処理309)STKのトップから3番目にある素子番
号をLSOのトップに格納する。第6図に、第8図の場
合に処理309を実行した結果を示す。
(処理310)LSOの書き込みポイントを1つ進める
(処理311)STKのトップとトップから2番目の内
容をSTKから排除する。
第4図は、第8図の処理302が実行された結果、ST
K内に生成される情報を示す。第4図を参照すると、4
01と403は下流端の素子の素子番号である。402
は2つの素子番号を区切るためのマーク(1)である。
第5図は、第4図の状態から続いて、第S図の処理30
6が実行された結果、STK内に生成される情報を示す
。開始直後の処理経路は、処理301→処理302→処
理308→処理304→処理305→処理306、とな
る。第5図を参照すると、501はそれより右側がその
左側の素子の入力素子番号リストであることを示す記号
(=)である。502と504は入力素子番号である。
503は入力素子番号を区切るためのマーク(。
)である。
第6図は、第3図の処理309が実行された結果、最初
に処理順序が確定した素子番号がLSOに書き込まれた
状態を示す。第6図を参照すると、601が第1番目に
実行される素子となる。
第7図は、STKとLSOの内部状態の変化をトレース
することによって、実行順序が決定されるプロセスを表
現したものである。5TEPIがら始まって、5TEP
24で終わっている。
〔発明の効果〕
以上説明したように本発明により、従来データフロー図
形式のプログラムにおいて、制御や演算を行う機能素子
の実行順序を人手によって設定していたために、プログ
ラムの作成に時間がかかり、またバグの発生をまねいて
いたものを、計算機によって短時間でかつ正確に実行順
序を決定することができるようになる。
【図面の簡単な説明】
第1図は実行順序を決定するプログラムのブロック図、
第2図は素子の接続状態を表す表の例を示す図、第3図
は実行順序を決tするプログラムの処理内容を表すフロ
ーチャートを示す図、第4図は実行順序の決定に先だっ
て最初にスタックに格納される情報例を示す図、第5図
は実行順序を探索している途中におけるスタックの状態
例を示す図、第6図は実行順序を探索している途中にお
ける実行順序出力バッファの状態例を示す図、第7図は
実行順序を探索するプロセスをスタックと実行順序出力
バッファの状態をトレースすることによって表現した例
でを示す図、第8図はデータフロー図形式のプログラム
の例を示す図である。 特許出願人 株式会社 安用電機製作所第 図 第4 好寸寸寸 (’J  C匂 CJ  (’J  (’JcOCf)
 If)  Cf)  ■(f)  (0(j)  c
c+ G。 Ll”)Llつ LI″l  躊uつ U)ばつUつL
i)ljつ りr−トトトr−r−t′−r−r−r’
−r−r−トcOののののa:lωωのののののの コの■■の■■■■ののcnの■■

Claims (1)

  1. 【特許請求の範囲】  データフロー図形式のプログラムにおいて、制御や演
    算を行う機能素子を生成し、それらの機能素子間の結線
    が済んだあと、機能素子の実行順序を、 (1)最も下流にある素子から出発して、その素子が正
    しく動作するための前提となる上流側の素子を探索し、 (2)実行順序が確定しない素子はその素子番号をスタ
    ックに入れて保留し、 (3)上流端の素子に行き着いたときは、スタックのト
    ップの素子番号をポップし、それを実行順序を出力する
    ためのバッファに移し、 (4)前記(1)から(3)の処理を順次繰し、この処
    理の途中で複数の入力端子を持つ素子があり、確定して
    いない経路があれば、そこから上流側への探索を上記と
    同じ方法で行い、もとの下流端の素子までの実行順序を
    確定させる、 ことにより実行順序を決定することを特徴とするデータ
    フロー図形式のプログラムにおける実行順序自動決定方
    式。
JP17071890A 1990-06-27 1990-06-27 データフロー図形式のプログラムにおける実行順序自動決定方式 Pending JPH04100104A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP17071890A JPH04100104A (ja) 1990-06-27 1990-06-27 データフロー図形式のプログラムにおける実行順序自動決定方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP17071890A JPH04100104A (ja) 1990-06-27 1990-06-27 データフロー図形式のプログラムにおける実行順序自動決定方式

Publications (1)

Publication Number Publication Date
JPH04100104A true JPH04100104A (ja) 1992-04-02

Family

ID=15910111

Family Applications (1)

Application Number Title Priority Date Filing Date
JP17071890A Pending JPH04100104A (ja) 1990-06-27 1990-06-27 データフロー図形式のプログラムにおける実行順序自動決定方式

Country Status (1)

Country Link
JP (1) JPH04100104A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7150018B2 (en) * 2000-02-16 2006-12-12 Microsoft Corporation Method and system for deterministic ordering of software modules

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7150018B2 (en) * 2000-02-16 2006-12-12 Microsoft Corporation Method and system for deterministic ordering of software modules

Similar Documents

Publication Publication Date Title
JP3599775B2 (ja) ハイフネーション規則に関する有限状態符号化システム
KR950012209A (ko) 카운터플로우 파이프라인 프로세서
CN107590254B (zh) 具有合并处理方法的大数据支撑平台
JPH04100104A (ja) データフロー図形式のプログラムにおける実行順序自動決定方式
US20220269239A1 (en) Information processing apparatus, control apparatus, control method, method of controlling control apparatus, and recording medium
CN114185462B (zh) 基于ai和rpa系统分身窗口的控制方法及装置
JPH04242829A (ja) プログラム更新システム
JP2820184B2 (ja) ロードモジュール単体テスト支援装置
JPS61151753A (ja) ガイド機能付き計算機
JP2013003729A (ja) テストケース自動生成システム、テストケース自動生成方法、およびテストケース自動生成プログラム
JP2001343995A (ja) 音声入力処理装置、音声入力処理方法及び音声入力処理プログラムを記録した記録媒体
JP2601533B2 (ja) データ処理装置
JP5047457B2 (ja) システム開発における生産性向上のための情報処理システム
JPH0573290A (ja) 対話型システムのプログラム制御方式
JPH03212724A (ja) フロッピーディスク処理装置のファイル形式識別方式
CN114020275A (zh) 一种应用程序的代码编译控方法、装置、介质及设备
JPH07160536A (ja) 対話型システムのプログラムテスト支援装置
JPS5846439A (ja) 計算機のプログラム編集方法
JPS62239241A (ja) 会話型デ−タ処理プログラム自動評価方法
JPS60150108A (ja) プログラマブル・コントロ−ラの接点情報解析システム
JPS58223825A (ja) 制御文自動出力方式
JPH01312641A (ja) オンラインのバッチテスト方式
JPH03237492A (ja) スクロール方式
JP2010040016A (ja) 画面遷移設計支援装置および画面遷移設計支援プログラム
JPH07191858A (ja) シミュレーションインタプリタ