JPH03206522A - 複合プログラムの構成装置 - Google Patents

複合プログラムの構成装置

Info

Publication number
JPH03206522A
JPH03206522A JP1337807A JP33780789A JPH03206522A JP H03206522 A JPH03206522 A JP H03206522A JP 1337807 A JP1337807 A JP 1337807A JP 33780789 A JP33780789 A JP 33780789A JP H03206522 A JPH03206522 A JP H03206522A
Authority
JP
Japan
Prior art keywords
program
input
output data
programs
data
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
JP1337807A
Other languages
English (en)
Other versions
JP2545474B2 (ja
Inventor
Hiromichi Yamamoto
山本 浩通
Masao Naka
中 正夫
Kotaro Matsumoto
松本 甲太郎
Koichi Matsushima
松島 弘一
Yuichi Sato
裕一 佐藤
Kazuyuki Harada
原田 和之
Masato Kawai
正人 河合
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.)
National Aerospace Laboratory of Japan
Fujitsu Ltd
Original Assignee
National Aerospace Laboratory of Japan
Fujitsu 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 National Aerospace Laboratory of Japan, Fujitsu Ltd filed Critical National Aerospace Laboratory of Japan
Priority to JP1337807A priority Critical patent/JP2545474B2/ja
Publication of JPH03206522A publication Critical patent/JPH03206522A/ja
Application granted granted Critical
Publication of JP2545474B2 publication Critical patent/JP2545474B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)
  • Stored Programmes (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔目 次〕 概要 産業上の利用分野 従来の技術 発明が解決しようとする課題 課題を解決するための手段 作用 実施例 発明の効果 〔概 要〕 いくつかの要素プログラムを組み合わせて大規模な複合
解析を行う場合に各プログラム間で共通の入出力データ
を効率良く管理するようにしたプログラム間インタフェ
ース方式に関し、プログラム変更等に柔軟に対応するこ
とを目的とし、 複合プログラムを構戒する複数の要素プログラム間でデ
ータの入出力を行うようにしたプログラム間インタフェ
ース方式において、複数の要素プログラムのそれぞれに
基づいた処理を行う複数の処理手段と、処理手段の入出
力データを格納する入出力データ格納手段と、入出力デ
ータ格納手段内の入出力データの格納位置と、この入出
力データに付されたパラメータ名とを対応付けて格納す
る対応情報格納手段と、複数の処理手段間の入出力デー
タの連結状態を入出力データに対応したパラメータ名間
の連結情報として格納する連結情報格納手段とを備える
ように構成する。
〔産業上の利用分野〕
本発明は、いくつかの要素プログラムを組み合わせて大
規模な複合解析を行う場合に各プログラム間で共通の入
出力データを効率良く管理するようにしたプログラム間
インタフェース方式に関するものである。
〔従来の技術〕
通常、航空機等の飛翔体の設計では、大型計算機を使っ
たシミュレーションや最適化計算が重要な役割を果たし
ている。そこでは、コスト,信頼性等の設計指標を基に
何を解析するかを明確に定め、次にその目的に添った解
析プログラムを計算機上で走らせ、多数回の入出力を繰
り返しながら最適設計値を見つけ出していく。例えば、
航空機設計では、統計的な基礎データを含む重量,空力
係数,エンジン性能の推算,各種飛行性能及びDOC(
直接運航費: Direct Operating C
ost)の計算などを行う専用プログラムを用意し、こ
れらを組み合わせて大規模な複合プログラムを作威し、
多様な解析計算を行う。
第15図に複合プログラムの一例を示す。図において、
rWEIGHT」は重量解析プログラムを、rAERO
Jは空気力学プログラムを、「PROPULS I O
NJはエンジン性能プログラムを、rPERFORMA
NcE,は航続性能プログラムをそれぞれ示している。
また、図中のD,〜D21は各プログラムに個別にある
いは共通に与えられる入出力データを示している。図示
したように、各プログラムは入出力データを介して他の
プログラムと結合されており、全体として大規模な複合
プログラムが形威されている。
ところで、上述したように複数のプログラムを入出力デ
ータで結合する方式には、■ソースレベルにおける密結
合を行う方式、■ファイル,データベースを介して疎結
合を行う方式とがある。
■の方式は、各プログラムの入出力パラメータを内部変
数としてソースプログラム上で結び付けて1つの大きな
複合プログラムを構戒する方式であり、GLOBAL 
 COMMON等による結合はこれに当たる。第l6図
に概略を示す。
■の方式は、ファイルまたはデータベースを介して数値
データを渡す方式であり、UNIXのパイプ機能もこの
方式の延長として考えることができる。第17図(a)
にファイルを介した場合、(b)にデータベースを介し
た場合の概略を示す。
〔発明が解決しようとする課題〕
ところで、上述した■の方式にあっては、複合プログラ
ム内の各要素プログラムが確定していない場合には要素
プログラムの変更の都度複合プログラムの全体に修正を
加える必要があるため、プログラムの変更,追加等の処
理が煩雑であり、柔軟性に欠けるという問題点があった
。また、■の方式にあっては、各要素プログラム間でデ
ータの入出力を行う場合、プログラム中のパラメータと
ファイルあるいはデータベース中の数値との対応付けが
複合プログラムのアルゴリズム毎に固定的であり、プロ
グラムの変更,追加等に従ってこの対応付けをその都度
変更しなければならず、柔軟性に欠けるという問題点が
あった。
例えば、要素プログラムAが複数の複合プログラムで使
用されている場合の例を第18図に示す。
図中の矢印は入出力データの流れを示す。同図(a),
(b),(c)の各複合プログラムにおいて共通に組み
込まれている要素プログラムAを更新するような場合に
は、複合プログラムのそれぞれにおいてプログラムAの
更新に伴う入出力データのインタフェースを取り直す必
要があり、この処理に要する負担は相当なものになる。
本発明は、このような点に鑑みて創作されたものであり
、プログラム変更等に柔軟に対応することができるプロ
グラム間インタフェース方式を提供することを目的とし
ている。
〔課題を解決するための手段〕
第1図は、本発明のプログラム間インタフェース方式の
原理ブロック図である。
i 会冫1lの 第1図において、複合プログラムを構戒する複数の要素
プログラム間でデータの入出力を行うようにしたプログ
ラム間インタフェース方式における複数の処理手段11
1は、複数の要素プログラムのそれぞれに基づいた処理
を行う。
入出力データ格納手段121は、処理手段111の入出
力データを格納する。
対応情報格納手段131は、入出力データ格納手段12
1内の入出力データの格納位置と、この入出力データに
付されたパラメータ名とを対応付けて格納する。
連結情報格納手段141は、複数の処理手段111間の
入出力データの連結状態を入出力データに対応したパラ
メータ名間の連結情報として格納する。
従って、全体として、実際の入出力データのそれぞれに
パラメータ名を対応させ、このパラメータ名を連結する
ことにより、複数の要素プログラム間の入出力データの
連結を行うように構成されている。
ii  量冫゛工2の H 実行順序指定手段151は、複数の要素プログラムの実
行順序を指定する。
論理矛盾判定手段161は、対応情報格納手段131及
び連結情報格納手段141の各格納情報と、実行順序指
定手段151で指定された実行順序とに基づいて、複数
の要素プログラムを実行する際の論理矛盾を判定する。
連結切断手段171は、論理矛盾判定手段161の判定
結果に基づいて、連結情報格納手段141の連結情報に
含まれる矛盾のある連結を切断する。
従って、全体として、請求項1のプログラム間9 インタフェース方式において、要素プログラムの実行順
序を指定して論理矛盾が生じたときに、矛盾する連結を
切断するように構成されている。
〔作 用〕
1 1冫′工1の H 各処理手段111は、複合プログラムを構戒する各要素
プログラムに基づいて処理を行っており、この処理にお
ける入力データ及び出力データが入出力データ格納手段
121に格納される。
この入力データ及び出力データの入出力データ格納手段
121内の格納位置と、各入力データ,出力データに付
されたパラメータ名との対応関係が対応情報格納手段1
31に格納されており、複数の処理手段111の入カデ
ータあるいは出力データを連結する場合、その連結情報
を連結情報格納千段141に格納することにより、複数
の要素プログラム間の入出力データの連結が行われる。
請求項1の発明にあっては、.実際の入出力データのそ
れぞれにパラメータ名を対応させ、このバ10 ラメータ名を連結することにより、複数の要素プログラ
ム間の入出力データの連結を行っており、プログラムの
変更等が生じた場合には、変更の対象となる入出力デー
タのみに関する対応情報格納手段131及び連結情報格
納手段141を書き換えればよい。
例えば、あるプログラムを変更することにより入出力デ
ータの数に増減があった場合には、この増減した入出力
データに対応するパラメータ名の追加,削除等を行えば
よく、その他の部分に関する連結情報に影響を及ぼさな
い。
ii  云冫゛ 2の ■ 請求項1の複数の処理手段111のそれぞれで処理を行
う複数の要素プログラムの実行順序が実行順序指定手段
151によって指定されると、論理矛盾判定手段161
は、複数の要素プログラムを実行する際に生じる要素プ
ログラム間の入出力データの連結状態の論理矛盾を判定
し、連結切断手段171は、この判定結果に基づいて矛
盾のある連結の切断を行う。
1 1 請求項2の発明にあっては、複数の要素プログラムの実
行順序が指定されたときに生じる要素プログラム間の入
出力データの連結状態の論理矛盾を論理矛盾判定手段1
61で判定し、この矛盾する連結を連結切断手段171
で切断しており、論理矛盾を考慮せずに要素プログラム
の作威,追加等を行うことができる。
〔実施例〕 以下、図面に基づいて本発明の実施例について詳細に説
明する。
実施例では、第15図に示したような入出力データで相
互に関連する複数の要素プログラムからなる複合プログ
ラムを考えるものとし、この複合プログラムに新たな要
素プログラムを追加、あるいは既に複合プログラムに組
み込まれている要素プログラムを変更する場合、及びこ
れらの要素プログラムの実行順序を指定した場合に生じ
る要素プログラム間のデータ入出力の矛盾を取り除く場
合について説明する。
12 第2図に、本発明のプログラム間インタフェース方式を
適用した一実施例システムの構成を示す。
第2図に示した実施例システムは、各種の解析プログラ
ム間のインタフェース情報を知識として蓄積する知識ベ
ース211と、この蓄積された知識に基づいて解析プロ
グラム間のインタフェースを判断する推論機構部221
と、知識ベース211に利用者からの知識を蓄積する知
識獲得支援機構部231と、各種の解析プログラム(要
素プログラム)を格納すると共に推論機構部221の作
業領域となるデータベース241と、これらの各種解析
プログラムを実行する処理機構部251と、利用者に対
する各種情報の入出力インタフェースを実現する利用者
インタフェース部261とを備えている。
ソフトウェア的には人工知能向き言語であるLISP等
で記述されたオブジェクト指向のエキスパートシステム
開発支援ツールによって知識獲得支援機構部231及び
推論機構部221が実現されており、利用者インタフェ
ース部261を介し13 てクロスレファレンス情報(後述する)等の知識が知識
ベース211に蓄積されるようになっている。
処理機構部251は、データベース241に蓄積された
複数の要素プログラムを読み出して実行するものであり
、プロセッサ.主記憶装置等からなる従来の計算機本体
に相当するものである。複合プログラムを構成する各要
素プログラムは例えば技術計算に適したFORTRAN
言語で記述されており、処理機構部251はこのFOR
TRAN言語で記述された各要素プログラムを実行する
また、利用者インタフェース部261は、利用者からの
操作指示や各種の情報を推論機構部221,知識獲得支
援機構部231.処理機構部251との間で入出力する
ものであり、入出力用プログラム及びキーボード.マウ
ス.ディスプレイ等の入出力装置で実現される。
複合プログラムを構戒する各要素プログラムはデータベ
ース241内に各プログラムモジュールとして格納され
ている。また、データベース2414 ■は、各要素プログラムの入力データを人力ファイルと
して、出力データを出力ファイルとして格納している。
第3図に、本発明の一実施例におけるプログラム間イン
タフェース方式の概略を示す。複合プログラムを構成す
る要素プログラムAと要素プログラムBとが知識ベース
211に蓄積されたクロスレファレンス情報によって連
結されている状態を示している。
第4図に各要素プログラムのデータの入出力形態を示す
。図示したように各要素プログラム(プロクラムX)は
、一連の入力データを入力ファイルから読み込んで一連
の出力データを出力ファイルに書き出す形式になってい
る。図中のFTIOFOOI,FT20FOO1はFO
RTRANプログラムで入出力ファイルを指定するとき
の機番識別子である。
例えば第3図に示すように、要素プログラムAは、デー
タベース241内の人力ファイルに格納された一連の入
力データからなる入力データ群1に対応して一連の出力
データからなる出力データ1 5 群lを出力する。この出力データ群1はデータベース2
41内の出力ファイルに格納される。同様に、入力デー
タ群2に対して出力データ群2を、入力データ群3に対
して出力データ群3をそれぞ出力する。また、要素プロ
グラムBは、入力データ群4に対して出力データ群4を
、入力データ群5に対して出力データ群5を、入力デー
タ群6に対して出力データ群6をそれぞれ出力する。
また、これらの要素プログラムの各入出力データにはパ
ラメータが対応付けられており、入出力データの入力フ
ァイルあるいは出力ファイル内の格納位置とパラメータ
との対応がパラメータ名入出力ファイル対応表に格納さ
れている。このパラメータ名一入出力ファイル対応表は
知識ベース211に格納される。
第5図にこのパラメータ名一入出力ファイル対応表の一
例を示す。同図(a)はこの対応表の中の入力データに
対応する部分を示しており、例えばDRY MASS 
OF THE VEHICLE!(機体の乾燥重量),
MASS OF THE PAYLOAD (ペイロー
ド重量),・・・など16 の各パラメータ名が付されている。各パラメータ名の先
頭の番号は入力ファイル内の各入力データの格納位置(
格納順)を示すものである。
また、同図(a)の「型」はデータの型を示しておりR
*4は4バイトの実数を示している。すなわち単精度実
数型を示している(倍精度実数型はR*8)。r SC
ALAR/ARRAY Jは対応する入力データがスカ
ラ量であるかアレイ(配列)の1要素であるかを示すも
のであり、Sがスカラを示している。
このように、各要素プログラム毎に、一連のパラメータ
に対応した入力データの集まりとして入力データ群のそ
れぞれが形威されている。
尚、第5図(a)に示したDRY MASS OF T
HEVEHICLEなどの各パラメータは、要素プログ
ラムで入力データに対応して使用される内部変数に一致
する必要はなく、入力ファイル内の入力データの格納位
置(格納順)を合わせることで各パラメータと内部変数
との対応が取られている。
同図(b)はパラメータ名一入出力ファイル対l7 応表の中の出力データに対応する部分を示しており、例
えばFINAL ALTITtlDE (最終高度),
FINALVELOCITY (最終速度),・・・な
どの各パラメータ名が付されている。各パラメータ名の
先頭の番号は出力ファイル内の各出力データの格納位置
(格納順)を示すものである。「型J,  rSCAL
AR/ARRAYJ等については同図(a)と同様であ
る。また、各パラメータと要素プログラムで出力データ
に対応して使用される内部変数は一致する必要はなく、
出力ファイル内の格納位置で対応付けられている。
第6図に、知識ベース211に蓄積するクロスレファレ
ンス情報の詳細を示す。クロスレファレンス情報は、同
図(a)に示すような複数の要素プログラムに共通な入
力データを結びつけるものと、同図(b)に示すような
一方の要素プログラムの出力データを他方の要素プログ
ラムの入力データと結びつけるものとに大別される。
前者(入力データ同士を連結する場合)において、要素
プログラムAの所定の入力データにパラメータPAが対
応しており、要素プログラムBのl8 所定の入力データにパラメータP.が対応しているもの
とすると、これら2つの入力データを結合して各入力デ
ータを2つの要素プログラムA, Bに共通の入力デー
タとするには、例えばr INITIALPA=INI
TI^L Pal Jといった形式のクロスレファレン
ス情報を知識ベース211に蓄積する。
また、後者(出力データと人力データを連結する場合)
において、要素プログラムAの所定の出力データにパラ
メータPCが対応しており、要素プログラムBの所定の
入力データにパラメータP.が対応しているものとする
と、これらの入出力データを結合して各要素プログラム
間でデータの受け渡しを行うには、例えばr FINA
L P c = INITIALPBJといった形式の
クロスレファレンス情報を知識ベース211に蓄積する
第5図で説明したように入出力データとしてスカラ量あ
るいはアレイの1要素が考えられる場合には、入力デー
タ同士あるいは人力データと出力データとの組み合わせ
として、■スカラ量同士の対応付け、■スカラ量とアレ
イの1要素との対応19 付け、■アレイの1要素同士の対応付けがある。
また、知識ベース211に蓄積するクロスレファレンス
情報の形式はプログラム言語あるいはエキスパートシス
テム開発支援ツールに適した任意の形式でよい。
第7図に、上述したクロスレファレンス情報によって対
応付けを行った要素プログラム間の連結状態の概略を示
す。同図に示すように、DRY MASSOF Tl{
E VEHICLEに対応した人力データが要素プログ
ラムA,Bで共通で使用され、FINAL ALTIT
UDE,FINAL VELOCITY等に対応した要
素プログラムAの各出力データが要素プログラムC,D
のそれぞれの入力データとして使用されている。
このように、第2図〜第7図を用いて説明したように、
各要素プログラムの入出力データを格納した入出力ファ
イルに対応して、各入出力データのファイル内の格納位
置と各入出力データに付与したパラメータ名との対応付
けを表したパラメータ名一入出力ファイル対応表を備え
ると共に、パラメータ間の連結情報であるクロスレファ
レンス20 情報を知識として知識ベース211に格納しておく。
第8図において要素プログラムを追加するような場合(
以後この要素プログラムの追加に関する操作をプラグイ
ンと称する)の動作の流れを示し、そのときの知識獲得
の過程の概略を第9図にそれぞれ示す。
先ず、プラグインする要素プログラムのプログラム名,
作或者,作戒年月日等を入力する(ステップ811)。
プラグインする要素プログラムはプログラムモジュール
として既にデータベース241に格納されているものと
し、この格納したプログラムモジュールのプログラム名
を入力する。
次に、対応するパラメータ名一入出力ファイル対応表を
入力する(ステップ812)。この対応表の入力及び上
述したプログラム名等の入力は、利用者インタフェース
部261を介して行われ、知識獲得支援機構部231を
介して知識ベース241に格納される。
次に、プラグインする要素プログラムと既にプ21 ラグインされている要素プログラムとの間で共通データ
として使用したい入出力データに対応したクロスレファ
レンス情報を作威する(ステップ813)。このクロス
レファレンス情報の作戒においては、複合プログラム内
の他の要素プログラムに対応したパラメータ名一入出力
ファイル対応表に含まれるパラメータ名を知識獲得支援
機構部231によって検索することにより、連結するパ
ラメータの複数の候補(意味の類似した複数のパラメー
タ)を捜し出して、それらの1つ1つに対して確認を取
って連結していく。
複合プログラム内の要素プログラムを変更する場合も、
連結の追加については要素プログラムの追加と同様にし
てパラメータ名一入出力ファイル対応表を検索して連結
するパラメータの複数の候補を探し出してクロスレファ
レンス情報を作威すればよく、連結の削減については関
連するクロスレファレンス情報を削除するだけでよい。
また、第lO図に各要素プログラムの実行順序を指定し
たときに生じるデータの入出力状態の論22 理矛盾、すなわち要素プログラム間の連結の論理矛盾を
判定して取り除く場合の動作手順を示す。
既に各要素プログラムのプラグイン動作が終了し、プロ
グラムモジュールがデータベース241に、クロスレフ
ァレンス情報等の各種知識が知識べ一ス211に格納さ
れているものとする。
まず、要素プログラムの中で実行順序のわかっているも
のを指定する(ステップ911)。この指定は利用者が
利用者インタフェース部261を操作して行い、知識獲
得支援機構部231によって知識ベース211に格納さ
れる。
例えば、実行順序の指定は以下の■〜■のような実行順
序記号によって行うことができる。
■PROGRAM A<PROGRAM B Fプログ
ラムAはプログラムBより先に実行する旨の指定。
■PROGRAM A<PROGRAM B, PRO
GRAM C :フ゜ログラムAはプログラムB及びプ
ログラムCより先に実行する旨の指定。
■PROGRAM A<PROGRAM B<PROG
RAM C :プログラムAはプログラムBより先に実
行し、かつ、23 プログラムBはプログラムCより先に実行する旨の指定
■PROGRAM A<ALL :プログラムAは最初
に実行する旨の指定。
■ALL <PROGRAM A :プログラムAは最
後に実行する旨の指定。
■PROGRAM A/PROGRAM B :プログ
ラムBはプログラムAの直後に実行する旨の指定。
次に、要素プログラム間の連結の論理矛盾を検出する(
ステップ912)。推論機構部221は、知識ベース2
11に格納されているパラメータ名入出力ファイル対応
表.クロスレファレンス情報及びステップ911で指定
された各要素プログラムの実行順序に基づいて、要素プ
ログラム間の連結の矛盾を判定する。
第11図に、論理矛盾の一例を示す。同図(a)は複数
の要素プログラムX,Y,Zの入出力データが全体とし
てループを形戒するインターナルループを示しており、
実行すべき最初の要素プログラムを決定することができ
ないため論理矛盾を生24 じる。また、同図(b)は複数の要素プログラムX,Y
の出力データが共に1つの要素プログラムZの1つの入
力データと連結された競合リンクを示しており、連結す
る出力データと入力データを決定できないため論理矛盾
を生じる。
次に、ステップ912で検出した論理矛盾を取り除くた
めに、リンク(連結)の切断を行う(ステップ913)
。利用者は、利用者インタフェース部261を操作して
リンクの切断指示を入力し、この入力されたリンクの切
断に関する情報は知識獲得支援機構部231を介して知
識ベース211に格納される。
このようなステップ911〜913の処理を必要に応じ
た回数だけ繰り返すことにより、論理矛盾のない複合プ
ログラムを構築することができる。
第12図及び第13図に、要素プログラムの実行順序を
指定してリンク切断を行うまでの手順を示す。第12図
(a)は、プラグインされた複数の要素プログラムの連
結状態を示しており、一方端に矢印が付された接続線は
出力データと入力デ25 ータとの連結を、単なる接続線は入力データ同士の連結
を示している。また、同図(b)は利用者によって指定
された要素プログラムの実行順序であり、PROGRA
M A<PROGRAM B<PROGRAM Cによ
る指定と、PROGRAM D<PROGRAM Bに
よる指定と、ALL <PROGRAM Eによる指定
とが行われた場合を示している。このような指定が行わ
れると、推論機構部221は指定された実行順序に反す
る入出力データの連結を取り除くと共に、連結の論理矛
盾を判定する。この例では、論理矛盾は生じないので、
同図(C)に示す最終的な要素プログラム間の連結状態
が決定される。この場合の要素プログラムの実行順序は
、同図(d)に示すようにプログラムD→プログラムA
→プログラムB→プログラムC→プログラムEの順とな
る。
また、第13図(a)に示す連結の要素プログラムがプ
ラグインされ、同図(b)に示す実行順序が指定される
と、推論機構部221は指定された実行順序に反する入
出力データの連結を取り除く。同図(c)に、このよう
にして実行順序に反26 する連結を取り除いた後の要素プログラム間の連結状態
を示す。次に、推論機構部221は同図(d), (e
), (f)に示す論理矛盾を判定,検出する。利用者
によってリンクの切断が指示され、論理矛盾が解消する
と、同図(g)に示す最終的な要素プログラム間の連結
状態が決定される。この場合の要素プログラムの実行順
序は、同図(h)に示すようにプログラムB→プログラ
ムE→プログラムD→プログラムA→プログラムCの順
となる。
オブジェクト指向型エキスパートシステム開発支援ツー
ルが持っている柔軟性は、上述したシステム実現の上で
非常に好都合であり、次に、このオブジェクト指向型エ
キスパートシステム構築用ツールを使ってクロスレファ
レンス情報を知識として蓄積する場合の具体例を示す。
オブジェクト指向言語では、属性と手続きを一緒にした
オブジェクトを定義し、オブジェクト間における情報の
やりとりをメッセージという形で行うのが基本的な考え
方である。オブジェクトには、クラスとインスタンスと
いう2つの階層があ27 り、インスタンスレベルのオブジェクトはクラスレベル
のオブジェクトから動的に発生させることができる。
本発明のプログラム間インタフェース方式を実現するた
めに、実施例の根幹となるクラスオブジェクトとしては
以下の4つを考える。
■PROGRAM:各プログラムの属性を定義■PAR
AMETER :各プログラムの各入出力パラメータを
定義 ■VALUE :各プログラムの各入出力パラメータが
持つ数値データを定義 ■IO−DEF :各プログラムの入出力パラメータ名
と入出力ファイル中のデータ位置情報の対応表を定義 クラスオブジェクトにはシステム上に固定的な階層を設
けることができるが、上述した4つのオブジェクトの階
層は全てフラットの関係にあり、従って、クラスオブジ
ェクト間の相関は、必要なスロット(属性人力欄)を設
けてそこに値を設定する形式で表現する。
28 第l4図に、各クラスオブジェクトの関係を表した世界
モデルを示す。
クラスレベルのオブジェクトは、インスタンスレベルの
オブジェクトを動的に発生させることができる。従って
、新しく要素プログラムをプラグインすると、第14図
中の各クラスオブジェクトはその要素プログラムに応じ
たインスタンスオブジェクトを動的に発生し、それぞれ
のスロットにプログラム名、パラメータ名、プログラム
名等の属性値が入力される。
第14図において、クラスオブジェクトrPROGRA
M,には、属性としてPROGRAM NA間,INP
UT−DEP NAME,OUTPUT−DEF NA
M[i等が定義されている。入力画面(利用者インタフ
ェース部261を介して人力するときの入力用画面)で
人力した要素プログラムのプログラム名がクラスオブジ
ェクトrPROGRAM」から動的に発生したインスタ
ンスオブジェクトの属性PROGRAM NAMEの欄
に設定される。
同様に、人力画面で人力した入出力ファイルの29 機番識別子FTIOFOOIは、クラスオブジェクト「
IO−DEF,から動的に発生したインスタンスオブジ
ェクトの属性INPUT−OUTPUT FILE N
AMEの欄に設定される。
インスタンスレベルのオブジェクトには、システム側で
自動的に名前がつくようになっている。
例えば、オブジェクトrPROGRAMJの属性INP
UT−DEF NAMEの欄に設定された値10−[I
EFOO11は、オブジェクトrI Cl−DEF,が
発生したインスタンスオブジェクトの名前である。同様
に、PARAM.001BやPROGRAMOO1Bも
システム側が自動的に付けたインスタンスオブジェクト
の名前である。
パラメータ名一入出力ファイル対応表に相当する情報は
、オブジェクトrICl−DEFJの属性ORDERの
欄に設定される。この欄に設定されたPARAM.OO
1B, PARAM.0019,・・・がパラメータ名
一入出力ファイル対応表に格納された一連のパラメータ
に対応しており、具体的なパラメータ名及び関連した情
報(第5図に示した「型」等)は、その名前のインスタ
ンスオブジェクトをたどることによ30 り、引き出すことができる。例えば、PARAM. 0
018の場合は、そのパラメータ名はオブジェクト「P
ARAMETERJから動的に発生したインスタンスオ
ブジェクトの属性PARAMETER NAMEよりD
RYMASSであり、そのデフォルト値は属性Dt!F
AULTより+122.6であることを知ることができ
る。
クロスレファレンス情報に相当する情報は、オブジェク
トrPARAMETER」の属性IN−FROMとSH
ARE切ITHの欄に設定される。属性IN−FROM
の欄は第6図(b)に示した出力データと入力データと
を連結する場合の情報を示しており、PARAM.01
7lとPARAM.O152のそれぞれで示された出力
データがPARAM.OO1B (パラメータ名DRY
 MASS)で示された入力データに連結していること
を表している。
また、属性SHARE WITHの欄は第6図(a)に
示した入力データ同士を連結する場合の情報を示してお
り、PARAM.0098で示された人カデータがPA
RAM.00l8で示された入力データに連結している
ことを表している。
PARAM.0018に対応した代表的な数値データは
、3 1 オブジェクトrPARAMETEJの属性VALUEの
欄に設定されたVALUEO202で指定されるインス
タンスオブジェクトの属性ACTUAL−VALUEの
欄に設定されている。尚、各要素プログラムが使用する
データ自体は機番識別子で指定されたデータベース24
1内の人力ファイル内に格納されており、上述した属性
ACTUAL−VALUEの欄に設定されている数値デ
ータは推論機構部221による知識処理に使用するため
のものである。
このように、知識ベース211にクロスレファレンス情
報及びパラメータ名一入出力ファイル対応表を知識とし
て蓄積することにより、第l5図に示したような複数の
要素プログラム間の連結を容易に行うことができる。通
常、大規模な複合プログラムは、多数回のバアージョン
アップを重ねるのが普通であり、この場合には変更した
い要素プログラムのパラメータ名一入出力ファイル対応
表のみを手直しするだけでよい。他の要素プログラムと
のインタフェースは、クロスレファレンス情報の形でイ
ンスタンスオブジェクトの属性値(32 IN−FROMと SFIARE WITH)上に残っ
ているので、新たにインタフェースを取り直す必要がな
く、プログラム変更が容易になる。
また、論理矛盾を含んだ複合プログラムを実行する場合
には、利用者は判定された論理矛盾に従ってリンクの切
断を行うだけでよいので、この論理矛盾を含まないよう
なインタフェースを要素プログラム作或時から考慮する
必要がなく、プログラム変更等に容易に対応することが
でき、効率良いプログラム作或が可能になる。
更に、各要素プログラムの入出力パラメータを1つ1つ
結び付けて複合プログラムを構成していた従来方法(第
16図あるいは第17図に示した方法)に比べ、複合プ
ログラム構築の柔軟性,保守性に優れる利点がある。
実際に複合プログラムを実行する場合には、推論機構部
221が知識ベース211内に蓄積した知識(クロスレ
ファレンス情報等)に基づいて各要素プログラム間のイ
ンタフェース状態を判定し、また論理矛盾が生じる場合
はその論理矛盾を判定33 してリンクの切断を行い、各要素プ゛ログラムの実行順
序を決定した後に処理機構部251によるデータベース
241内の各要素プログラムの実行を行う。このとき、
入出力データの受け渡しは、第12図及び第13図で決
定した要素プログラム間の連結状態に従って自動的に行
われる。
なお、本発明の実施例では、オブジェクトの形式で表現
されたクロスレファレンス情報を知識として知識ベース
211に蓄積するようにした知識ベースシステムについ
て考えたが、知識ベースシステム以外の一般の計算機シ
ステムに適用することもできる。この場合、パラメータ
名一入出力ファイル対応表とクロスレファレンス情報と
をそれぞれテーブルの形式でデータベースに格納するこ
とにより、要素プログラム間の連結を行い、プログラム
の変更の際はこれらのテーブルを読み出して更新するよ
うにすればよい。
〔発明の効果〕
上述したように、請求項1の発明によれば、実34 際の入出力データのそれぞれにパラメータ名を対応させ
、このパラメータ名を連結することにより、複数の要素
プログラム間の入出力データの連結を行っており、プロ
グラムの変更等が生じた場合には、変更の対象となる入
出力データのみに関する対応情報格納手段及び連結情報
格納手段を書き換えるだけでよく、プログラム変更等に
柔軟に対応することができる。
また、請求項2の発明にあっては、複数の要素プログラ
ムの実行順序が指定されたときに生じる要素プログラム
間の入出力データの連結状態の論理矛盾を論理矛盾判定
手段で判定し、この矛盾する連結を連結切断手段で切断
することにより、論理矛盾を考慮しなくてもよいので、
プログラムの変更等に柔軟に対応することができる。
【図面の簡単な説明】
第1図は本発明のプログラム間インタフェース方式の原
理ブロック図、 第2図は本発明のプログラム間インタフェース方35 ?を適用した一実施例システムの構戒図、第3図は一実
施例の概略図、 第4図は要素プログラムのデータの入出力形態の説明図
、 第5図はパラメータ名一入出力ファイル対応表の説明図
、 第6図はクロスレファレンス情報の説明図、第7図はク
ロスレファレンス情報による入出力データ連結の説明図
、 第8図はプラグイン動作手順の説明図、第9図はプラグ
イン動作の概略図、 第lO図は論理矛盾判定に関する動作手順の説明図、 第11図は要素プログラム間の論理矛盾の■説明図、第
12図及び第13図は論理矛盾判定及び切断の具体例の
説明図、 第14図は実施例のクラスオブジェクト世界モデルの説
明図、 第15図は複合プログラムの説明図、 第16図は複数のプログラムの密結合の概略図、36 第17図は複数のプログラムの疎結合の概略図、第18
図は従来例の説明図である。 図において、 111は処理手段、 121は入出力データ格納手段、 131は対応情報格納手段、 141は連結情報格納手段、 151は実行順序指定手段、 161は論理矛盾判定手段、 171は連結切断手段、 211は知識ベース、 221は推論機構部、 231は知識獲得支援機構部、 241はデータベース、 251は処理機構部、 261は利用者インタフェース部である。 37 頷は里矛眉h ’l,t=配h)重〃伜ラ》傾の己た明
図第10図 (a)          (b) 曹渠プロク)ム間の論理才盾のg賂aft図第 1l 図 ((1 )   D − A −4−, B−+C −
 E論理看ン占!!rI1足及v゛{刀区ケの51拳)
クリの説efd図第12図 j’G7)注訃jAK;fクソ=′)iL aR U第
13図

Claims (2)

    【特許請求の範囲】
  1. (1)複合プログラムを構成する複数の要素プログラム
    間でデータの入出力を行うようにしたプログラム間イン
    タフェース方式において、 前記複数の要素プログラムのそれぞれに基づいた処理を
    行う複数の処理手段(111)と、前記処理手段(11
    1)の入出力データを格納する入出力データ格納手段(
    121)と、 前記入出力データ格納手段(121)内の入出力データ
    の格納位置と、この入出力データに付されたパラメータ
    名とを対応付けて格納する対応情報格納手段(131)
    と、 前記複数の処理手段(111)間の入出力データの連結
    状態を入出力データに対応した前記パラメータ名間の連
    結情報として格納する連結情報格納手段(141)と、 を備えるように構成したことを特徴とするプログラム間
    インタフェース方式。
  2. (2)前記複数の要素プログラムの実行順序を指定する
    実行順序指定手段(151)と、前記対応情報格納手段
    (131)及び前記連結情報格納手段(141)の各格
    納情報と、前記実行順序指定手段(151)で指定され
    た実行順序とに基づいて、前記複数の要素プログラムを
    実行する際の論理矛盾を判定する論理矛盾判定手段(1
    61)と、 前記論理矛盾判定手段(161)の判定結果に基づいて
    、連結情報格納手段(141)の連結情報に含まれる矛
    盾のある連結を切断する連結切断手段(171)と、 を備えるように構成したことを特徴とする請求項1記載
    のプログラム間インタフェース方式。
JP1337807A 1989-10-03 1989-12-25 複合プログラムの構成装置 Expired - Lifetime JP2545474B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1337807A JP2545474B2 (ja) 1989-10-03 1989-12-25 複合プログラムの構成装置

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP1-258594 1989-10-03
JP25859489 1989-10-03
JP1337807A JP2545474B2 (ja) 1989-10-03 1989-12-25 複合プログラムの構成装置

Publications (2)

Publication Number Publication Date
JPH03206522A true JPH03206522A (ja) 1991-09-09
JP2545474B2 JP2545474B2 (ja) 1996-10-16

Family

ID=26543746

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1337807A Expired - Lifetime JP2545474B2 (ja) 1989-10-03 1989-12-25 複合プログラムの構成装置

Country Status (1)

Country Link
JP (1) JP2545474B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009163333A (ja) * 2007-12-28 2009-07-23 Fujitsu Ltd 制御干渉候補検出装置及び制御干渉候補検出方法
WO2021200740A1 (ja) * 2020-03-31 2021-10-07 ダイキン工業株式会社 プロセス実行順序決定プログラム及びプロセス実行順序決定方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009163333A (ja) * 2007-12-28 2009-07-23 Fujitsu Ltd 制御干渉候補検出装置及び制御干渉候補検出方法
WO2021200740A1 (ja) * 2020-03-31 2021-10-07 ダイキン工業株式会社 プロセス実行順序決定プログラム及びプロセス実行順序決定方法
JP2021163489A (ja) * 2020-03-31 2021-10-11 ダイキン工業株式会社 プロセス実行順序決定プログラム及びプロセス実行順序決定方法

Also Published As

Publication number Publication date
JP2545474B2 (ja) 1996-10-16

Similar Documents

Publication Publication Date Title
JP2510946B2 (ja) 関連デ―タベ―ス管理システムへの問い合わせの最適化方法及び結果の構文解析方法
US7689582B2 (en) Data flow system and method for heterogeneous data integration environments
US20070214111A1 (en) System and method for generating code for an integrated data system
Sturges et al. Computational model for conceptual design based on extended function logic
EP0738965A2 (en) Method and apparatus for representing data dependencies in software modeling systems
WO1991008543A1 (en) Computer-aided software engineering facility
JPH01237726A (ja) 上位仕様書作成方法
JP3871832B2 (ja) データ処理プログラム自動生成システム及びその方法並びにコンピュータ可読記録媒体
JP7200266B2 (ja) 実行可能グラフの更新
Muhanna et al. Composite models in SYMMS
CN115543402A (zh) 一种基于代码提交的软件知识图谱增量更新方法
CN111241675B (zh) 基于数据驱动的复杂产品协同设计管理方法和系统
US5594836A (en) Ennoversion management system for data processing system
JPH03206522A (ja) 複合プログラムの構成装置
JPH0433018A (ja) 複合プログラム用入出力データの物理単位系自動変換方式
Okino et al. O/O (object and operation) dualism for CAD/CAM software architecture
JPH0683693A (ja) オブジェクトを組み合わせて処理を実行するデータ処理装置
US5553278A (en) Method and system for manipulation of database and issuing report thereof
JPH03119423A (ja) プログラム実行データ管理装置
JPH03196221A (ja) プログラム実行データ検索方式
Centeno et al. Databases: designing and developing integrated simulation modeling environments
Nyström Engineering information integration and application development using object-oriented mediator databases
CN112579680A (zh) 数据总线与数据集成装置及方法
Bass et al. PRESTIGE: a CASE workbench for the JSD implementor
JPH02287737A (ja) テスト項目自動設計方式

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees
S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

EXPY Cancellation because of completion of term