JPH04135235A - プログラム部品合成システム - Google Patents

プログラム部品合成システム

Info

Publication number
JPH04135235A
JPH04135235A JP2258402A JP25840290A JPH04135235A JP H04135235 A JPH04135235 A JP H04135235A JP 2258402 A JP2258402 A JP 2258402A JP 25840290 A JP25840290 A JP 25840290A JP H04135235 A JPH04135235 A JP H04135235A
Authority
JP
Japan
Prior art keywords
program
input
component
unit
parts
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
JP2258402A
Other languages
English (en)
Inventor
Takekazu Sugimoto
杉本 武和
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.)
Shimadzu Corp
Original Assignee
Shimadzu 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 Shimadzu Corp filed Critical Shimadzu Corp
Priority to JP2258402A priority Critical patent/JPH04135235A/ja
Publication of JPH04135235A publication Critical patent/JPH04135235A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

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

Description

【発明の詳細な説明】 A、産業上の利用分野 この発明は、予めデータベースなどの外部記憶装置に格
納されているプログラム部品を取り出して合成し、目標
のプログラムを生成するプログラム部品合成システムに
関する。
B、従来技術 従来、この種のプログラム部品合成システムとして知ら
れているのは、ユーザから入力された合成仕様情報中、
合成すべき部品の機能名情報と、入出力データ名および
型を検索用キーワードとして部品データベース内の検索
を行って合成仕様情報と適合するプログラム部品を抽出
し、次に、合成仕様情報中の部品間の接続関係を指示し
た情報に基づいて、前記抽出した部品を結合することに
より、目標とするプログラムを生成するソステムである
C0発明が解決しようとする課題 上述したように、従来のプログラム部品合成システムで
は、仕様入力されたプログラム部品の機能名および入出
力データ名、型をもとに、仕様と適合するプログラム部
品を部品データベースから抽出しているが、合成に必要
とする部品の入出力データが物理的な量(単位)をもっ
ている場合、その単位を含めた上での部品抽出を行うこ
とができず、厳密に仕様と適合した部品の抽出が行われ
ていない。
例えば、距M (m)と時間〔sec〕という単位を持
つデータを入力し、速度〔m/s)という単位を持つデ
ータを出力するプログラム部品を合成用部品として使用
したくとも、従来では、入出力データ名、型が一致して
おれば、その部品を抽出するので、抽出された部品の入
力データの単位が[km)と[hour] 、出力デー
タの単位が(km/h)というように仕様と異なるオー
ダーの単位をもっている可能性がある。
仕様で指定された単位と抽出された部品の単位のオーダ
ーが異なっていると、抽出した部品をそのまま合成用部
品として使用することができないため、ユーザーは抽出
された部品のソースコードを解析するなどして、部品内
で使用されている入出力データの単位と、仕様で指定さ
れている入出力データの単位との一致を検証し、さらに
は、これらが一致するように修正しなげねばならず、ユ
ーザーの労力と時間を著しく費やすものであった。
この発明は、このような事情に鑑みてなされたものであ
って、プログラム部品の入出力データの単位を含めた上
での部品検索を行うとともに、入出力データの単位を自
動的に修正することができるプログラム部品合成システ
ムを徒供することを目的としている。
01課題を解決するための手段 この発明は、上記目的を達成するために次のような構成
をとる。
すなわち、この発明のプログラム部品合成システムは、
プログラム部品の属性情報中に部品の入出力データの単
位を付加し、これとソースコードとを対にしたものをプ
ログラム部品として格納する部品データベースと、ユー
ザからの合成仕様情報を入力する仕様入力部と、前記入
出力データの単位の変換可能な情報およびその変換式を
予め格納する単位変換テーブルと、前記入力された合成
仕様情報から前記単位変換テーブルを参照し、少なくと
も仕様で与えられた機能を有し且つ指定された単位に対
して変換可能な単位をもつプログラム部品を該当部品と
して前記部品データヘースから抽出するプログラム部品
抽出部と、前記単位変換テーブル内の変換式を用いて、
前記抽出されたプログラム部品の入出力データの単位が
仕様で与えられた単位と一致するように、前記プログラ
ム部品のソースコードまたはそのプログラム部品を呼び
出すプログラム(主プログラム)のソースコードを変更
するソースコード変更部と、前記変更されたプログラム
部品または主プログラムを用いて仕様で入力指定された
目標プログラムを生成するソースコード生成部とを備え
たことを特徴としている。
88作用 この発明による作用は次のとおりである。
すなわち、プログラム部品の入出力データの単位を付加
した属性情報とソースコードとを対にしたものをプログ
ラム部品として部品データヘース内に格納しておき、プ
ログラム部品抽出部は、単位変換テーブルに格納されて
いる入出力データの単位の変換可能な情報を参照して、
仕様で与えられたプログラム部品に該当する部品を部品
データヘースから抽出する。これにより、プログラム部
品の入出力データの単位を含めた上での@密な部品選出
が行われる。
また、ソースコード変更部は抽出されたプログラム部品
の入出力データの単位が、仕様で指定された単位と合致
するように、単位変換テーブル内の単位変換式を用いて
、プログラム部品のソースコードまたはそのプログラム
部品を呼び出す主ブログラムのソースコードを変更する
。このように、仕様で指定された単位との間で変換可能
な単位をもつプログラム部品に対しては、ソースコード
を変更することによって、使用可能な部品にカスタマイ
ズするから、合成に用いる部品の範囲が拡大されるし、
ユーザーの負担も軽減される。
F、実施例 以下、この発明の一実施例を図面に基づいて説明する。
第1図はプログラム部品合成システムの概略構成を示し
たブロック図である。
図中、符号1は、プログラム部品の合成仕様情報を入力
する仕様入力部であり、図示を省略しているキーボード
やマウス、デイスプレィなどを備えている。
合成仕様情報は、合成に使用するプログラム部品の機能
名や、各部品間の接続関係および、各部品にどのような
物理量(単位)の入力データを与え、どのような単位の
出力データを取り出すかという情報をもつもので、この
合成仕様情報の入力形式は予め定められている。
例えば、合成すべき各プログラム部品間で授受されるデ
ータの流れに従い、各プログラム部品の機能名を書き込
んだデータフロー図によって、使用するプログラム部品
と、部品間の接続関係を指示し、データフロー回内で使
用されるデータ名、型、データの持つ単位を記述したデ
ータ定義表を用いて入出力データを指定するという入力
形式が、その−例として挙げられる。
第2図にその合成仕様情報の入力画面の一例を示す。
この図に示す合成仕様情報は、プログラム部品A(機能
名: 5UBROUTINEA )の後ろにプログラム
部品B(機能名: S[]BROUTINEB )を接
続し、プログラム部品Bの後ろにプログラム部品C(機
能名:5LBRO1lTI〜EC)を接続するという情
報であり、St+B)IOUTINEAの入力データと
して実数(REAL)のINl、lN2を、出力データ
として実数(REAL)の0UTIを指定している。さ
らに、INIの単位として[m]を、lN2の単位とし
て[s)を、O[]T1の単位としてCm/S)を指定
している。なお、プログラム部品B、Cについては図示
説明を省略する。
このような、合成仕様情報の入力指定はユーザが、仕様
人力部1のキーボードやマウスなどを駆使して行う。
仕様入力部1から入力された合成仕様情報は、プログラ
ム部品抽出部2に送られる。第1図中、プログラム部品
抽出部2と相互に接続されているのは、予め多数のプロ
グラム部品を格納する部品データベース3である。
部品データベース3L:格納されているプログラム部品
は、ソースコードに部品のヘッダ情報を付加したもので
、へ、ダ情報には、部品の機能名や、部品の入出力デー
タ名、型に加えて、入出力データのもつ単位が記述され
ている。このへ、ダ情報はソースコードの作成者ムこよ
って、作成され付加されるものである。
プログラム部品抽出部2は、仕様入力部Iから合成仕様
情報が与えられると、第3図に示すフローチャトに従っ
て、該当するプログラム部品の抽出を行う。
まず、ステップS1で部品データベース3内に未検索の
プログラム部品があるかどうかを判断する。まだ、部品
データベース3内に検索を行っていない部品が残ってい
れば、次のステップS2に進み、全てのプログラム部品
に対して検索を行った場合には、プログラム部品の抽出
処理を絆了する。
ステップS2で、部品データベース3内の1つのプログ
ラム部品のヘッダ情報中に記述されている機能名を読み
込み、ステップ3で、読み込んだプログラム部品の機能
名と、仕様入力部1から入力指定された機能名とを比較
し、これらが一致しているかどうかの判断を行う。
判断の結果、同じ処理名を持つプログラム部品であれば
、その部品を読み込んで次ステツプ4に進み、一致して
いないと判断されると、ステップSlにリターンして、
部品データベース3内の各プログラム部品に対して上記
処理を繰り返す。
ここで、第2図の合成仕様情報中、SUBROUTIN
EAという機能名で、部品データベース3内の検索を行
い、同し処理名を持つ部品として第4図に示したプログ
ラム部品が読み込まれたとして、次のステップ4に進む
ステップSlまず、前のステップS3で機能名が一致し
ていると判断されたプログラム部品(第4図参照)のヘ
ッダ情報中に記述されている入力データと出力データ名
、型、単位を読み込む。
この例では、TNI :REAL: [kml 、 l
N2:REAL: [h] 、 0UT1:REAL:
 [km/h]という文字列が読み込まれる。そして、
合成仕様情報中の入出力データ名、型、単位との比較を
行い、一致しているかどうかの判断を行う。
データ名、型、単位ともに一致しておれば、ステップ5
に進み、その部品を部品データヘース3から抽出して、
ソースコード生成部6に送出する。
一致していなければ、ステ、プロに進んで、単位のオー
ダーのみの不一致かどうかの判断を行う。
つまり、このステップ6では、第1図中、符号4の部品
カスタマイズ部で単位のオーダーを変更すれば使用可能
な部品になるかどうかの判断を行う。
この判断に際して、プログラム部品抽出部2は第1図中
、符号50単位変換テーブルを参照する。
単位変換テーブル5の一例を第5図に示す。
この図に示すように、単位変換テーブル5は、相互に変
換される単位グループA、Bをもつ変換テーブルで、両
グループの各単位に対して物理量が同じでオーダーのみ
が異なる場合にはrl」の値を、物理量そのものが異な
る場合には「0」の値を書き込んだものである。
また、この単位変換テーブル5には、単位のオーダーを
変更するための変換式が書き込まれている。
したがって、ステップ4で読み込んだ人出力データの単
位と、仕様情報中の入出力データとの単位との間に、7
1」の値が書き込まれているかどうかでステップ6の判
断を実行する。
判断の結果、’IJの値が書き込まれていればステップ
7に進んで、その部品を部品データヘース3から抽出し
て部品カスタマイズ部4に送出し、「0」の値が書き込
まれていればステップ1にリターンして上記処理を繰り
返す。
ここで、部品カスタマイズ部4に第4図の5IJBRO
LITINEAのプログラム部品が送出されたとして、
部品カスタマイズ部4の処理について以下に説明する。
なお、以下の説明で明らかなように、部品カスタマイズ
部4は、この発明におけるソースコード変更部に相当し
ている。
■S[IBRO[,1TINEAの入出力データの各単
位を読み込む。すなわち、入力データJNI : lk
m] 、 lN2: 1hourlと、出力データ0U
TI : [km/hl を読み込む。
■読み込んだ各単位を単位変換テーブル5に対する読み
出しアドレスとして与え、該当する単位変換式を読み出
す。
例えば、入力データINI : [kmlを読み出しア
ドレスとして与えると、単位[kmlは単位変換テーブ
ル5のグループBに属する単位であるため、変換式のA
→Bの項に書き込まれているr/1,0e3Jが読み出
される。r/l、Q e3 Jは、rlX103」つま
り、「入力データINIに10の3乗を除算せよ」とい
う変換式である。以下、同様にして、入力データIN2
に対しては、変換式r/3.6e3(= 3.6X10
’を除算せよ)」 が、出力データ01lT1に対して
は’寧1.Oe3 / 3.6e3 (−1XIO3を
乗算し、3.6 XIO’を除算せよ)」がそれぞれ読
み出される。
■読み出した単位変換式を用いて入出力データのオーダ
ーを変更する演算式を生成し、その演算式をソースコー
ド中に挿入することで、ソースコードの変更を行う9 例えば、入力データl1ilの演算式としては、INI
 = INI/1.0 e3が生成される。これユま、
入力データINIにrlX10’、・を除算したものを
、INIに代入せよという演算式である。以下、入力デ
ータlN2.出力データ0UTIに対しでも同様にして
演算式が生成される。
各演算式の挿入箇所は、入力データについてはソースコ
ードの初めに、出力データについては、ソースコードの
終わりに挿入する。
このようにして、カスタマイズされたSUBIIOUT
INEAを第6図に示す。
部品カスタマイズ部4によるソースコード変更後のプロ
グラム部品はソースコード生成部6に送出される。なお
、前述のように、プログラム部品抽出部2でデータ名、
型、単位ともに一致していると判断されたプログラム部
品もソースコード生成部6に送出されている。
ソースコード生成部6は、仕様入力部1で入力された各
プログラム部品の接続関係情報(データフロー図)を解
析して、各プログラム部品を接続し、合成した目標プロ
グラムを生成する。
具体的には、第7図(a)に示すように、各プログラム
部品(SUBRO[ITINEA −C)を順に読み出
す主プログラム(MAIN ROLITINE)を生成
する。
なお、上述した実施例では、王プログラムに呼び出され
るプログラム部品(SUBROIITINEA −C)
のソースコードを変更して、合成仕様情報に合致するよ
うにしたが、部品のソースコードはそのままで、呼び出
し側の主プログラム(?IAIN ROljTINE)
に単位のオーダーを変更する演算式を挿入するようにし
てもよい。
すなわち、第7図(b)に示すように主プログラムの部
品呼び出し前後において、部品カスタマイズ部6で生成
したような演算式を挿入し、主プログラムのソースコー
ドをカスタマイズすることによって、合成仕様情報に合
致した目標プログラムを生成するようにしてもよい。
G0発明の効果 以上の説明から明らかなように、この発明に係るプログ
ラム部品合成システムは、プログラム部品の入出力デー
タの単位を付加した属性情報とソースコードとを対にし
たものをプログラム部品として部品データヘース内に格
納し、入出力データの単位の変換可能な情報を参照して
、仕様で与えられたプログラム部品に該当する部品を部
品データヘースから抽出するようにしたから、プログラ
ム部品の入出力データの単位を含めた上での厳密な部品
抽出を行うことができる。
また、抽出されたプログラム部品の入出力データの単位
と、仕様で指定された単位とが合致するように、単位変
換テーブル内の単位変換式を用いて、プログラム部品の
ソースコードまたはそのプログラム部品を呼び出す主プ
ログラムのソースコードを変更するようにしたから、仕
様で指定された単位との間で変換可能な単位をもつプロ
グラム部品を使用可能な部品とすることができ、合成に
用いる部品の範囲を拡大することができる。さらには、
この操作をユーザーの手に委ねていた従来シこ比べ、ユ
ーザーが費やす時間と労力とを大幅に軽減することがで
きる。
【図面の簡単な説明】
第1図ないし第7図はこの発゛明の一実施例に係り、第
1図はプログラム部品合成システムの概略構成を示した
ブロック図、第2図は合成仕様情報の入力形式の一例を
示した図、第3図はプログラム部品抽出処理の流れを示
したフローチャート、第4図はプログラム部品の構造を
示した一例図、第5図は単位変換テーブルの一例を模式
的に表した図、第6回はカスタマイズ後のプログラム部
品の構造を示した図、第7図は生成された合成プログラ
ムの一例を示した図である。 1・・仕様入力部 2・・・プログラム部品抽出部 3・・・部品データヘース 4・・・部品カスタマイズ部(ソースコード変更部)5
・・・単位変換テーブル 6・・・ソースコード生成部 特許出願人 株式会社 島津製作所

Claims (1)

    【特許請求の範囲】
  1. (1)プログラム部品の属性情報中に部品の入出力デー
    タの単位を付加し、これとソースコードとを対にしたも
    のをプログラム部品として格納する部品データベースと
    、ユーザからの合成仕様情報を入力する仕様入力部と、
    前記入出力データの単位の変換可能な情報およびその変
    換式を予め格納する単位変換テーブルと、前記入力され
    た合成仕様情報から前記単位変換テーブルを参照し、少
    なくとも仕様で与えられた機能を有し且つ指定された単
    位に対して変換可能な単位をもつプログラム部品を該当
    部品として前記部品データベースから抽出するプログラ
    ム部品抽出部と、前記単位変換テーブル内の変換式を用
    いて、前記抽出されたプログラム部品の入出力データの
    単位が仕様で与えられた単位と一致するように、前記プ
    ログラム部品のソースコードまたはそのプログラム部品
    を呼び出すプログラム(主プログラム)のソースコード
    を変更するソースコード変更部と、前記変更されたプロ
    グラム部品または主プログラムを用いて仕様で入力指定
    された目標プログラムを生成するソースコード生成部と
    を備えたことを特徴とするプログラム部品合成システム
JP2258402A 1990-09-27 1990-09-27 プログラム部品合成システム Pending JPH04135235A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2258402A JPH04135235A (ja) 1990-09-27 1990-09-27 プログラム部品合成システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2258402A JPH04135235A (ja) 1990-09-27 1990-09-27 プログラム部品合成システム

Publications (1)

Publication Number Publication Date
JPH04135235A true JPH04135235A (ja) 1992-05-08

Family

ID=17319737

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2258402A Pending JPH04135235A (ja) 1990-09-27 1990-09-27 プログラム部品合成システム

Country Status (1)

Country Link
JP (1) JPH04135235A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5745878A (en) * 1993-02-23 1998-04-28 Fujitsu Limited Business requirement handling apparatus
US6272319B1 (en) 1998-01-14 2001-08-07 Nec Corporation Radio selective calling receiver
JPWO2021161426A1 (ja) * 2020-02-12 2021-08-19

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5745878A (en) * 1993-02-23 1998-04-28 Fujitsu Limited Business requirement handling apparatus
US6272319B1 (en) 1998-01-14 2001-08-07 Nec Corporation Radio selective calling receiver
JPWO2021161426A1 (ja) * 2020-02-12 2021-08-19
WO2021161426A1 (ja) * 2020-02-12 2021-08-19 日本電信電話株式会社 プログラム生成装置、プログラム生成方法及びプログラム
US20230107200A1 (en) * 2020-02-12 2023-04-06 Nippon Telegraph And Telephone Corporation Program generation apparatus, program generation method and program

Similar Documents

Publication Publication Date Title
CN106844693A (zh) 一种openEHR Template到关系数据库的转换方法
JP2002528793A (ja) Sql入力を通した階層データストアへのアクセス
US6698010B1 (en) System, method and computer program product for automatic generation of data processing program
JP3828379B2 (ja) テスト仕様生成支援装置、方法、プログラム及び記録媒体
JPH04135235A (ja) プログラム部品合成システム
JP2001236215A (ja) システム制御方法およびそれを実施した情報処理システム並びにその処理プログラムを格納した記録媒体
JPH11203327A (ja) 部品表管理方法および装置
CN112861060A (zh) 页面创建方法、装置、计算机设备和存储介质
JP2605402B2 (ja) 辞書システムにおけるデータ導出方式
JP4298333B2 (ja) 充足可能解列挙システム
JP3527658B2 (ja) システム設計支援方法および装置、並びにシステム設計支援用プログラムを記録した記録媒体
JP3374946B2 (ja) 検索装置
JP3360261B2 (ja) 自然語解析装置
JP3203090B2 (ja) 自然言語インタフェース構築方式
Damayanti et al. Sentence generator system for humanoid robot interaction
JPS62232031A (ja) プログラム構造設計情報生成装置
JP5581894B2 (ja) データ処理プログラム自動生成システム
CN116956851A (zh) 表单生成方法、装置、电子设备及存储介质
JPH064276A (ja) プログラム合成システム
CN118338023A (zh) 一种分布式网络的目录构建方法、装置、设备及介质
JPS63233428A (ja) ソフトウエア開発支援システム
JPH10312152A (ja) 数値シミュレーション結果表示システム及び表示方法
JPH0778195A (ja) 回路設計cadにおけるデータ更新方式
JPH03176737A (ja) 各種情報ファイル作成方式
JPH03292530A (ja) ソースプログラム整形方法