JP2003241966A - Programming support method, programming support program and programming support device - Google Patents

Programming support method, programming support program and programming support device

Info

Publication number
JP2003241966A
JP2003241966A JP2002040262A JP2002040262A JP2003241966A JP 2003241966 A JP2003241966 A JP 2003241966A JP 2002040262 A JP2002040262 A JP 2002040262A JP 2002040262 A JP2002040262 A JP 2002040262A JP 2003241966 A JP2003241966 A JP 2003241966A
Authority
JP
Japan
Prior art keywords
program
component
data
cost
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.)
Granted
Application number
JP2002040262A
Other languages
Japanese (ja)
Other versions
JP3713466B2 (en
Inventor
Shigeru Kobayashi
茂 小林
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 JP2002040262A priority Critical patent/JP3713466B2/en
Publication of JP2003241966A publication Critical patent/JP2003241966A/en
Application granted granted Critical
Publication of JP3713466B2 publication Critical patent/JP3713466B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To support a developer so as to be able to easily create a program executed by an optimum procedure by using a technique for expressing even a connection part between software components as a component. <P>SOLUTION: Each connection means between software components is expressed as a link component, and lists of data components and the link components are displayed in regions 51 and 52 of a GUI screen, respectively. An editor arranges components selected from the region 51 or 52 by the operation of a user in a region 53 as element components of a program. When the cost of a data component 531i (i=A-C) in an element component group in the region 53, the editor creates program definition information set for the data component corresponding to the cost. The editor creates a program code for every data component in the definition information by determining a link component used for calculating a field value of the data component based on its cost by tracing the data component connected to the input side of the link component becoming a candidate. <P>COPYRIGHT: (C)2003,JPO

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】本発明は、ソフトウェア部品
の連結手段をも部品として表現するソフトウェア部品化
技術を利用したソフトウェア開発技術に係り、特に、ソ
フトウェア開発者がこの種のソフトウェア部品を用いて
プログラムを作成するのを支援するプログラム作成支援
方法、プログラム作成支援プログラム及びプログラム作
成支援装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a software development technique using a software componentization technique that also expresses software component connection means as a component, and in particular, a software developer uses a software component of this type to implement a program. The present invention relates to a program creation support method, a program creation support program, and a program creation support apparatus that support creating a program.

【0002】[0002]

【従来の技術】ソフトウェア(ソフトウェアプログラ
ム)の部品化は、ソフトウェアの生産性・品質向上の重
要な手法である。オブジェクト指向プログラミングは、
このソフトウェアの部品化の促進に効果があると従来か
ら期待されていた。その理由は、オブジェクト指向プロ
グラミングでは、継承の機構がソフトウェアの再利用に
つながる点と、モジュールの独立性の高さや現実世界の
「もの」との類似性がそれらの仕様理解を助ける点など
とにある。
2. Description of the Related Art Componentizing software (software program) is an important technique for improving productivity and quality of software. Object-oriented programming
It has been expected from the past that it has the effect of promoting the componentization of this software. The reason is that in object-oriented programming, the mechanism of inheritance leads to the reuse of software, and the high degree of independence of modules and the similarity to "things" in the real world help them understand their specifications. is there.

【0003】[0003]

【発明が解決しようとする課題】しかしながら、上記の
ような期待にもかかわらず、実際には、現在もソフトウ
ェアの部品化手法は十分には確立されていない。従来、
オブジェクト指向プログラミングだけではソフトウェア
の部品化が十分に実現できなかった理由を以下に列挙す
る。
However, in spite of the above expectations, the software componentization method is not yet fully established at present. Conventionally,
The following is a list of reasons why software could not be fully implemented by object-oriented programming alone.

【0004】(A1)継承に基づくプログラミングで
は、最も一般化された、抽象度の高い部品から完成して
いく必要がある。しかし、求められる一般形を見極める
のは、ソフトウェアの機能が大きくなると急激に困難に
なる。特に、ソフトウェア開発者(プログラム作成者)
が対象業務の専門知識を有さない場合には、それが顕著
である。また、ソフトウェアに対するユーザ要件は、刻
々と変化する。そのために、ある時点では十分な一般性
を備えた部品を作成できても、時間経過に伴いその利用
可能性が小さくなっていく。
(A1) In programming based on inheritance, it is necessary to complete from the most generalized and highly abstract parts. However, it becomes very difficult to determine the required general form as the software functions increase. Especially software developers (program creators)
This is noticeable when a person does not have the expertise of the target business. Also, user requirements for software change from moment to moment. Therefore, even if a component with sufficient generality can be created at a certain point in time, its availability becomes smaller as time passes.

【0005】(A2)処理の主体や対象は「もの」とし
て表現するものの、処理主体が(一般には複数の)処理
対象にどのように作用して目的の機能を実現するかとい
う点に関しては、従来同様に手続き的な表現が基本とな
っている。その結果、部品を組み合わせたシステム全体
の振る舞いの把握や予測を、物理的な装置のように直感
的にできない。そのため、現在は、ソフトウェアの設計
やメンテナンスにおける人間の思考支援を目的とした、
様々な図表の作成などが必要になっている。
(A2) Although the processing subject and the object are expressed as "things", how the processing subject acts on the (generally a plurality of) processing objects to realize the intended function is as follows. As usual, procedural expressions are the basis. As a result, it is not possible to intuitively grasp and predict the behavior of the entire system in which components are combined, as with a physical device. Therefore, at present, the purpose is to support human thinking in software design and maintenance.
It is necessary to create various charts.

【0006】この、オブジェクト指向プログラミングに
おいて未解決の部分を補完するために、これまで部品と
みなされてきたオブジェクトだけでなく、オブジェクト
間の連結部分をも部品化するプログラミング技術が考え
られる。つまり、大きなオブジェクトの部品化を目指す
のではなく、一連のオブジェクト群が目的の機能を実現
するようオブジェクトを組み合わせる素材を部品化する
プログラミング技術が考えられる。この技術は、多くの
実務処理がそうであるように、各種フォームやレコード
などの受動的性格の強いデータを入出力として加工する
ソフトウェアの開発において、特に有用となることが予
想される。
In order to complement the unsolved part in the object-oriented programming, a programming technique is conceivable in which not only the objects which have been regarded as parts until now, but also the connecting part between objects are made into parts. In other words, it is possible to consider a programming technology that does not aim at making a large object into a component but makes a material that combines objects so that a series of objects achieve a desired function into a component. It is expected that this technology will be particularly useful in the development of software that processes data with a strong passive character such as various forms and records as input and output, as in many practical processes.

【0007】本発明は上記事情を考慮してなされたもの
でその目的は、ソフトウェア部品の連結部分をも部品と
して表現するソフトウェア部品化技術を利用して、最適
な手順で実行されるプログラムをソフトウェア開発者が
容易に作成できるように支援する、プログラム作成支援
方法、プログラム作成支援プログラム及びプログラム作
成支援装置を提供することにある。
The present invention has been made in consideration of the above circumstances, and an object thereof is to utilize a software componentization technique for expressing a connected portion of software components as a component and to execute a program to be executed in an optimum procedure by software. It is to provide a program creation support method, a program creation support program, and a program creation support device that support a developer to easily create a program.

【0008】[0008]

【課題を解決するための手段】本発明の1つの観点によ
れば、ソフトウェア部品の連結手段をリンク部品として
表現するソフトウェア部品化技術を利用したプログラム
の作成を支援するための計算機により実行されるプログ
ラム作成支援方法が提供される。このプログラム作成支
援方法は、データが設定されるフィールドを端子として
持つデータ部品と引数を端子として持つリンク部品とに
分類されるソフトウェア部品の群をプログラム構成の要
素部品の群とし、当該要素部品相互の静的な連結構造が
決定されたプログラムの静的構造を生成するステップ
と、上記プログラムの静的構造中の要素部品群のうちの
利用者指定の各データ部品に利用者指定のコストを設定
することで、要素部品相互の振る舞いが定義されたプロ
グラム定義情報を生成するステップと、上記プログラム
定義情報で定義された要素部品群のうちの各データ部品
毎に、当該データ部品の各フィールドに与えられる値を
算出するために、いずれのリンク部品を用いるべきか
を、候補となるリンク部品の入力側に接続されたデータ
部品をたどって、そのたどった先のデータ部品に設定さ
れているコストをもとに、コストが小さいデータ部品に
対応するリンク部品ほど優先して用いられるように決定
してプログラムコードを生成するステップとを備えてい
る。
According to one aspect of the present invention, it is executed by a computer for supporting the creation of a program using a software componentization technique for expressing a software component connecting means as a link component. A program creation support method is provided. In this program creation support method, a group of software parts classified into a data part having a field in which data is set as a terminal and a link part having an argument as a terminal is a group of element parts of a program configuration, and The step of generating the static structure of the program for which the static connection structure of is determined, and the cost specified by the user is set for each data part specified by the user of the element parts group in the static structure of the above program. By doing so, the step of generating the program definition information in which the mutual behavior of the element parts is defined, and each data part of the element parts group defined in the program definition information are given to each field of the data part. Data that is connected to the input side of the candidate link part to determine which link part should be used to calculate the value A step of tracing a product and deciding that a link component corresponding to a data component with a smaller cost is preferentially used based on the cost set in the data component of the traced destination and generating a program code. It has and.

【0009】このように、本発明の1つの観点に係るプ
ログラム作成支援方法においては、まず、プログラムの
静的構造である、当該プログラムを構成する要素部品
と、その要素部品相互の静的な連結構造とが生成され
る。つまり、上記プログラム作成支援方法においては、
リンク部品による連結で、データ部品が相互にいかに関
連しているかという、相互の静的な連結構造が表現され
る。そして、上記プログラム作成支援方法においては、
利用者の操作による各データ部品毎のコスト指定を受け
付けて、その利用者指定の各データ部品に利用者指定の
コストを設定することで、プログラム定義情報が生成さ
れる。ここで、各データ部品に付けられたコストは、そ
のデータ部品から、値を与えてもらう際の、一種の回避
すべき度合いの重みであり、値を与えてもらう優先度で
もある。したがって、データ部品毎のコストは、プログ
ラムの要素部品相互の振る舞い、つまり、どのような順
序で、どの要素部品にメッセージを送るかを決定するた
めの情報であるといえる。このように、プログラムの構
造が、当該プログラムの静的構造(当該プログラムを構
成する要素部品及びその要素部品相互の静的な連結構
造)と、プログラムの要素部品相互の振る舞いを定める
各データ部品に付されたコストとの2つの階層に分離さ
れるので、それぞれを作成、把握するのが容易になる。
このプログラムの構造は、コストが付されたデータ部品
群と、それらのデータ部品相互間を連結するリンク部品
とで定義されているともいえる。
As described above, in the program creation support method according to one aspect of the present invention, first, the static structure of a program, which is an element component of the program, and the static connection between the component parts are statically linked. Structures and are generated. That is, in the above program creation support method,
The connection by the link parts expresses the mutual static connection structure of how the data parts are related to each other. And in the above program creation support method,
Program definition information is generated by accepting a cost designation for each data component by a user's operation and setting the cost designated by the user in each data component designated by the user. Here, the cost assigned to each data component is a kind of weight to be avoided when giving a value from the data component, and is also a priority for giving a value. Therefore, it can be said that the cost for each data component is information for determining the behavior of the component components of the program, that is, in what order and to which component component the message is sent. In this way, the structure of the program is divided into the static structure of the program (the element parts that make up the program and the static connection structure between the element parts) and each data part that determines the behavior of the element parts of the program. Since it is separated into two hierarchies including the attached cost, it is easy to create and grasp each.
It can be said that the structure of this program is defined by the cost-added data parts group and the link parts that connect the data parts to each other.

【0010】以上により、生成されたプログラム定義情
報は、プログラムの静的構造中の各要素部品を、どのよ
うな順序で、どの要素部品にメッセージを送るかが、メ
ソッドとして定義されたプログラム定義情報であるとい
える。よって、上記プログラム作成支援方法において
は、プログラム定義情報で定義された各データ部品毎
に、当該データ部品の各フィールドを満たす値を算出す
るのに用いるリンク部品を決定するのに、候補となるリ
ンク部品の入力側に接続されたデータ部品をたどって、
そのたどった先のデータ部品に設定されているコストを
もとに、コストが小さいデータ部品に対応するリンク部
品ほど優先して用いられるように決定してプログラムコ
ードを生成することで、プログラム定義情報で定義され
たプログラムの最適なプログラムコードを簡単に生成す
ることができる。
As a result of the above, the generated program definition information is defined as a method by defining in what order the element parts in the static structure of the program are sent, and to which element part the message is sent. You can say that. Therefore, in the above-described program creation support method, for each data component defined by the program definition information, a candidate link is used to determine a link component used to calculate a value satisfying each field of the data component. Trace the data part connected to the input side of the part,
Based on the cost set in the traced data component, the link component corresponding to the data component with the lower cost is determined to be used with higher priority and the program code is generated. The optimum program code of the program defined by can be easily generated.

【0011】しかも、上記プログラム作成支援方法にお
いては、ソフトウェア開発者が記述(定義)すべきプロ
グラムは、データ部品とそのコスト、及び当該データ部
品がリンク部品によっていかに連結されているか、つま
り要素部品相互の静的な連結構造だけであり、各データ
部品について、そのデータ部品の端子(フィールド)に
与えられる値(データ)を完成するための最適手順を作
成する必要がない。このため上記プログラム作成支援方
法においては、参照可能なデータ部品を追加するなどの
変更も、容易に、且つ正確に行うことができる。
Moreover, in the above program creation support method, the program to be written (defined) by the software developer is the data parts and their costs, and how the data parts are linked by the link parts, that is, the mutual parts It is only the static connection structure of, and it is not necessary to create an optimum procedure for completing the value (data) given to the terminal (field) of the data component for each data component. Therefore, in the above-described program creation support method, it is possible to easily and accurately make a change such as adding a reference data component.

【0012】ここで、上記各要素部品には、その部品が
データ部品、またはリンク部品のいずれであるかによ
り、次のようなメソッドが予め定義されているとよい。
まず、データ部品には、当該データ部品の全てのフィー
ルドを埋めるための第1のメソッドであって、当該デー
タ部品に出力端子が連結された全てのリンク部品に対し
て、当該リンク部品の全ての入力端子に値が与えられて
いるならば、当該リンク部品の出力端子に値を伝えるた
めの第2のメソッドを送信する第1のメソッドが定義さ
れているとよい。次に、リンク部品には、当該リンク部
品の入力端子の中に値が与えられていない入力端子が存
在し、且つ当該入力端子にデータ部品が連結されている
ならば、当該データ部品に上記第1のメソッドを送信
し、当該リンク部品の入力端子の中に値が与えられてい
ない入力端子が存在し、且つ当該入力端子に他のリンク
部品が連結されているならば、当該連結されているリン
ク部品に上記第2のメソッドと同じメソッドを送信する
第2のメソッドが定義されているとよい。
Here, the following methods may be defined in advance for each of the above-mentioned element parts depending on whether the part is a data part or a link part.
First, for the data component, the first method for filling all fields of the data component, and for all the link components whose output terminals are connected to the data component, If a value is given to the input terminal, it is preferable to define the first method for transmitting the second method for transmitting the value to the output terminal of the link component. Next, in the link component, if there is an input terminal to which a value is not given among the input terminals of the link component and a data component is connected to the input terminal, If the method 1 is transmitted and an input terminal to which a value is not given exists in the input terminals of the link component, and another link component is linked to the input terminal, the link component is linked. It is preferable that a second method for transmitting the same method as the second method is defined in the link component.

【0013】また、プログラムの静的構造中の要素部品
群、及び当該要素部品相互の静的な連結構造を、プログ
ラムを作成するのに用いられるプログラム作成画面のプ
ログラム定義領域に表示して、当該定義領域に表示され
ている要素部品群のうちのいずれか1つのデータ部品が
利用者の操作に応じて指定される毎に、当該利用者に対
して当該指定されたデータ部品のコストの指定入力を要
求する構成とするならば、利用者は各データ部品のコス
トの指定入力を効率的に行うことが可能となる。また、
指定されたコストを、プログラム定義領域に表示されて
いる対応するデータ部品の近傍に表示するならば、利用
者にとってプログラム定義領域上の各データ部品に付さ
れているコストを視認できるため、データ部品のコスト
の指定入力をより効率的に且つ意図した通りに行うこと
が可能となる。
Also, the group of element parts in the static structure of the program and the static connection structure of the element parts are displayed in the program definition area of the program creation screen used to create the program, Each time any one data component of the element component group displayed in the definition area is designated according to the operation of the user, the cost designation of the designated data component is input to the user. If the configuration is required, the user can efficiently input the designation of the cost of each data component. Also,
If the specified cost is displayed near the corresponding data component displayed in the program definition area, the cost attached to each data component in the program definition area can be visually recognized by the user. It is possible to more efficiently and as intended perform the designated input of the cost.

【0014】また、プログラム作成画面上に、ソフトウ
ェア部品の一覧が表示される部品一覧領域を配置し、当
該部品一覧領域から利用者指定の部品を選択して、プロ
グラム定義領域上の利用者指定の位置に移動・配置可能
な構成とすると共に、利用者の指定に応じて、プログラ
ム定義領域に配置されている要素部品相互の端子間を連
結可能な構成とするならば、利用者は、自身の意図した
要素部品から構成されるプログラムの静的構造を効率的
に作成することが可能となる。
Further, a parts list area in which a list of software parts is displayed is arranged on the program creation screen, a user-specified part is selected from the parts list area, and a user-specified part in the program definition area is selected. If it is configured so that it can be moved and placed in a position and that the terminals of the element parts placed in the program definition area can be linked according to the user's designation, the user will It is possible to efficiently create a static structure of a program composed of intended element parts.

【0015】なお、以上のプログラム作成支援方法に係
る本発明は、当該方法を実行してプログラムの作成を支
援するためのプログラム作成支援装置に係る発明として
も、当該方法を構成する各ステップを計算機に実行させ
るためのプログラム(プログラム作成支援プログラム)
に係る発明としても成立する。
The present invention related to the above-described program creation support method is also an invention related to a program creation support apparatus for executing the method to support the creation of a program, and each step constituting the method is executed by a computer. Program to be executed by the computer (program creation support program)
It is also established as an invention related to.

【0016】[0016]

【発明の実施の形態】以下、本発明の実施の形態につき
説明する。本発明の実施形態の特徴は、オブジェクト間
の連結部分(リンク)をも部品化するプログラミング技
術(リンク指向プログラミング技術)によりソフトウェ
アの部品化が容易に実現できるようにした点にある。そ
こで、本実施形態の理解を容易にするために、本実施形
態で適用される、連結部分を部品表現するプログラム記
法の体系について説明する。
BEST MODE FOR CARRYING OUT THE INVENTION Embodiments of the present invention will be described below. A feature of the embodiment of the present invention is that software can be easily realized as a component by a programming technique (link-oriented programming technique) that also makes a connecting portion (link) between objects as a component. Therefore, in order to facilitate understanding of the present embodiment, a system of a program notation that is applied in the present embodiment and that expresses a connected portion as a part will be described.

【0017】(B1)従来のオブジェクト指向プログラ
ミングにおけるオブジェクトに相当するものとして、
「データ部品」が存在する。データ部品は、1個以上の
フィールド(インスタンスフィールド)を持つ。全ての
フィールドは外部に公開されており(隠蔽されておら
ず)、値の参照及び設定が可能である。
(B1) As an equivalent to an object in conventional object-oriented programming,
There is a "data part". The data component has one or more fields (instance fields). All fields are open to the public (not hidden), and the values can be referenced and set.

【0018】(B2)データ部品の連結を実現する部品
として、「リンク部品」が存在する。リンク部品には
「関数型リンク部品」(以下、単に「関数」と称するこ
ともある)と「述語型リンク部品」(以下、単に「述
語」と称することもある)との2種類がある。
(B2) There is a "link component" as a component for realizing the connection of data components. There are two types of link parts: "function-type link parts" (hereinafter sometimes simply referred to as "functions") and "predicate-type link parts" (hereinafter sometimes simply referred to as "predicates").

【0019】(B3)関数は、一般にn入力m出力の多
値関数であり、入力側から出力側へ値をそのまま或いは
変換して伝達する。特別な関数の例として、乱数発生関
数のように、入力の無い関数とみなすことのできるもの
がある。
The function (B3) is generally a multi-valued function with n inputs and m outputs, and transfers a value from the input side to the output side as it is or after conversion. As an example of a special function, there is a function that can be regarded as a function having no input, such as a random number generation function.

【0020】(B4)述語は、1個以上の入力引数のみ
を持つ。但し、入力引数に基づく真偽判定の結果によ
り、他のデータ部品、或いはリンク部品にメッセージを
送ることができる。
(B4) The predicate has only one or more input arguments. However, a message can be sent to another data component or a link component depending on the result of the authenticity determination based on the input argument.

【0021】(B5)データ部品の各フィールド、並び
に関数及び述語の各々の引数を、まとめて「端子」と呼
ぶ。端子には、値を伝達することのできる方向がある。
データ部品の端子は双方向の伝達が可能である。関数の
端子は、入力端子は入力方向にのみ、出力端子は出力方
向にのみ伝達が可能である。但し、後述する逆関数が定
義されている場合には双方向に伝達可能である。述語の
端子は、全て入力方向にのみ伝達可能である。
(B5) Each field of the data part and each argument of the function and the predicate are collectively called "terminal". A terminal has a direction in which it can transmit a value.
The terminals of the data component are capable of bidirectional transmission. Regarding the function terminal, the input terminal can transmit only in the input direction, and the output terminal can transmit only in the output direction. However, when the inverse function described later is defined, it can be transmitted in both directions. All predicate terminals can be transmitted only in the input direction.

【0022】(B6)データ部品のフィールドのアクセ
スは、データ部品名とフィールド名とを用いた次の形式 データ部品名.フィールド名 により可能である。
(B6) The field of the data part can be accessed by the following format data part name.field name using the data part name and the field name.

【0023】(B7)関数による部品間連結の表現は、
リンク部品の種別を示す関数名(クラス名)、リンク部
品の名前であるリンク名(インスタンス名)、入力端子
を示す入力名、及び出力端子を示す出力名とを用いた次
の形式 による。
(B7) The expression of the connection between parts by the function is
The following format using the function name (class name) that indicates the type of link component, the link name (instance name) that is the name of the link component, the input name that indicates the input terminal, and the output name that indicates the output terminal by.

【0024】(B8)述語による部品間連結の表現は、
リンク部品の種別を示す述語名(クラス名)、リンク名
(インスタンス名)、入力端子を示す入力名、及び述語
の真偽判定の結果に基づく処理内容とを用いた次の形式 述語名 リンク名 { 入力名1=端子1,入力名2=端子2,… { ; ifTrue ( 述語が真の場合の処理 ) } { ; ifFalse ( 述語が偽の場合の処理 ) } } による。
(B8) The expression of the connection between parts by the predicate is
Predicate name that indicates the type of link part (class name), link name (instance name), input name that indicates the input terminal, and the processing contents based on the result of the predicate judgment. {Input name 1 = Pin 1, Input name 2 = Pin 2, ... {; ifTrue (Process when predicate is true)}} {; ifFalse (Process when predicate is false)}}}.

【0025】(B8)データ部品、関数、及び述語に
は、それぞれ次のメソッドが定義される。
(B8) The following methods are defined in the data parts, functions and predicates, respectively.

【0026】データ部品には、「fill()」と表現される
メソッド(fillメソッド)が定義される。fill()は、対
応するデータ部品のフィールドに値を埋めるメソッドで
ある。そのためfill()は、対応するデータ部品に自身の
出力端子を連結された全てのリンク部品に対し、次に述
べるflow()を送って値を取り寄せる機能を持つ。ここで
は、データ部品に出力端子が連結可能なリンク部品は、
関数(関数型リンク部品)に限られる。fill()はまた、
フィールド値を完成できたなら、当該fill()を呼び出し
たメッセージ送信元にsuccess(成功)ステータスを通
知し、何らかの理由により完成できなかったなら、fail
ure(失敗)ステータスを通知する機能を有する。
A method (fill method) expressed as "fill ()" is defined in the data part. fill () is a method for filling a value in the field of the corresponding data component. Therefore, fill () has the function of sending the flow () described below to all the link components whose output terminals are connected to the corresponding data components to obtain the values. Here, the link parts whose output terminals can be connected to the data parts are
Limited to functions (functional link components). fill () also returns
If the field value can be completed, notify the message sender that called fill () with a success status, and if it cannot be completed for some reason, fail
It has the function of notifying the ure (failure) status.

【0027】関数には、「flow()」と表現されるメソッ
ド(flowメソッド)が定義される。flow()は、対応する
関数の出力端子に値を伝えるメソッドである。即ちflow
()は、対応する関数の全ての入力端子に値が与えられて
いるならば、その関数の出力端子の値を算出し、その算
出した値を当該出力端子に伝えるソッドである。そのた
めflow()は、値を与えられていない入力端子がある場
合、その入力端子に連結されている部品がデータ部品で
あれば当該データ部品にfill()を、関数型のリンク部品
(関数)であれば当該関数型リンク部品にflow()を、そ
して述語型のリンク部品(述語)であれば当該述語型リ
ンク部品にtest()を送って、その入力端子を通して値を
取得することで全ての入力値を満たし、出力端子に値を
伝える機能を有する。flow()はまた、値の伝達処理が正
常に行えたなら、当該flow()を呼び出したメッセージ送
信元にsuccessステータスを通知し、何らかの理由によ
り伝達できなかったなら、failureステータスを通知す
る機能を有する。
A method (flow method) expressed as "flow ()" is defined in the function. flow () is a method for transmitting a value to the output terminal of the corresponding function. I.e. flow
() Is a sod that, if values are given to all the input terminals of the corresponding function, the value of the output terminal of the function is calculated, and the calculated value is transmitted to the output terminal. Therefore, if there is an input terminal that is not given a value, flow () will fill () that data component if the component connected to that input terminal is a data component, and link the function-type component (function). If so, send flow () to the function-type link part, and if it is a predicate-type link part (predicate), send test () to the predicate-type link part, and obtain the value through its input terminal. Has a function of satisfying the input value of and transmitting the value to the output terminal. flow () also has a function to notify the message sender that called the flow () of success status if the value can be transmitted normally, and to notify the failure status if it cannot be transmitted for some reason. Have.

【0028】また、関数の逆関数が定義されている場合
に限り、その関数には、「flowBackward()」と表現され
るメソッド(flowBackwardメソッド)が定義される。fl
owBackward()は、対応する関数の入力端子を出力端子
に、出力端子を入力端子にして、定義された逆関数のfl
ow()を実行するメソッドである。
Further, only when the inverse function of the function is defined, a method (flowBackward method) expressed as "flowBackward ()" is defined in the function. fl
owBackward () uses the input port of the corresponding function as the output port and the output port as the input port, and defines the inverse function fl.
This is the method that executes ow ().

【0029】述語には、「test()」と表現されるメソッ
ド(testメソッド)が定義される。test()は、対応する
述語の全ての入力端子に値が与えられたとき、それらの
値に基づいて真偽を判定し、その判定結果に基づいて定
義された処理を行って、他のデータ部品またはリンク部
品にメッセージを送るメソッドである。そのためtest()
は、値を与えられていない入力端子がある場合、その入
力端子に連結されている部品がデータ部品であれば当該
データ部品にfill()を、関数型のリンク部品であれば当
該関数型リンク部品にflow()を、そして述語型のリンク
部品であれば当該述語型リンク部品にtest()を送って、
その入力端子を通して値を取得することで全ての入力値
を満たし、真偽を判定する機能を有する。test()はま
た、処理が正常に行えたなら、当該test()を呼び出した
メッセージ送信元にsuccessステータスを通知し、何ら
かの理由により失敗したなら、failureステータスを通
知する機能を有する。
In the predicate, a method (test method) expressed as "test ()" is defined. When values are given to all the input terminals of the corresponding predicate, test () judges the truth based on those values, performs the processing defined based on the judgment result, and returns other data. It is a method that sends a message to a part or link part. So test ()
If there is an input terminal that is not given a value, fill () the data component if the component connected to that input terminal is a data component, and if the component is a functional link component, fill the function type link. Send flow () to the part, and if it is a predicate type link part, send test () to the predicate type link part,
By acquiring the value through the input terminal, it has the function of satisfying all the input values and determining the authenticity. The test () also has a function of notifying the message sender that called the test () of the success status if the processing is successful, and of notifying the failure status of failure if it fails for some reason.

【0030】(B9)少なくとも2つのリンク部品を組
み合わせて、新しい部品、つまり関数(合成関数)を作
成できる。1つの部品を構成する各部品を要素部品と呼
ぶ。また、要素部品がリンク部品の場合、その要素部品
を要素リンク部品と呼ぶ。要素リンク部品の端子間を接
続する場合、入力方向のみの端子同士、あるいは出力方
向のみの端子同士を連結することはできない。要素部品
間で連結されなかった端子は、新しく作成された部品の
端子となる。また、新しい部品(リンク部品)の作成
に、リンク部品だけでなくデータ部品を用いることがで
きるのは勿論である。
(B9) A new part, that is, a function (composite function) can be created by combining at least two link parts. Each part that constitutes one part is called an element part. When the element part is a link part, the element part is called an element link part. When connecting the terminals of the element link component, it is not possible to connect the terminals only in the input direction or the terminals only in the output direction. The terminals not connected between the element parts become the terminals of the newly created part. Further, it goes without saying that not only the link component but also the data component can be used to create a new component (link component).

【0031】(B10)プログラムの実行は、当該プロ
グラムを構成するデータ部品とリンク部品に対してメッ
セージを送ることで行われる。
(B10) The program is executed by sending a message to the data component and the link component that compose the program.

【0032】このような、連結部分を部品表現するプロ
グラム記法の体系を適用した本実施形態について、図面
を参照して説明する。図1は本発明の一実施形態に係
る、ソフトウェア部品を用いたプログラム作成を支援す
るプログラム作成支援装置の構成を示すブロック図であ
る。
The present embodiment to which such a system of program notation for expressing connected parts as parts is applied will be described with reference to the drawings. FIG. 1 is a block diagram showing the configuration of a program creation support apparatus that supports program creation using software components according to an embodiment of the present invention.

【0033】図1に示すプログラム作成支援装置は、パ
ーソナルコンピュータ等のデータ処理装置(計算機)に
より実現される。つまり、プログラム作成支援装置は、
主として、外部記憶装置1と、主記憶装置2と、表示装
置3と、入力装置4と、CPU5と、システムバス6と
から構成されるデータ処理装置である。
The program creation support device shown in FIG. 1 is realized by a data processing device (computer) such as a personal computer. In other words, the program creation support device
The data processing device mainly includes an external storage device 1, a main storage device 2, a display device 3, an input device 4, a CPU 5, and a system bus 6.

【0034】外部記憶装置1は、ハードディスクドライ
ブ(HDD)等の大容量記憶装置である。外部記憶装置
1には、ソフトウェア部品の定義情報(ソフトウェア部
品定義情報)11と、ソフトウェア部品を表す図像とし
てのアイコン(部品アイコン)のイメージデータ(アイ
コンデータ)12と、作成されたプログラム定義情報1
3とプログラムコード14とが格納されている。
The external storage device 1 is a mass storage device such as a hard disk drive (HDD). In the external storage device 1, software component definition information (software component definition information) 11, image data (icon data) 12 of an icon (component icon) as an image representing the software component, and the created program definition information 1
3 and program code 14 are stored.

【0035】ソフトウェア部品定義情報11は、予め用
意されているソフトウェア部品及び新たに作成されたソ
フトウェア部品を定義した情報である。ソフトウェア部
品定義情報11は、データ部品の定義情報(データ部品
定義情報)111と、リンク部品の定義情報(リンク定
義情報)112とを含む。リンク定義情報112は、関
数(関数型リンク部品)の定義情報(関数定義情報)1
12aと、述語(述語型リンク部品)の定義情報(述語
定義情報)112bとを含む。
The software component definition information 11 is information defining a software component prepared in advance and a newly created software component. The software component definition information 11 includes data component definition information (data component definition information) 111 and link component definition information (link definition information) 112. The link definition information 112 is the definition information (function definition information) 1 of the function (function type link component).
12a and definition information (predicate definition information) 112b of a predicate (predicate type link component).

【0036】データ部品定義情報111は、予め用意さ
れている各データ部品のフィールド情報を含む。関数定
義情報112aは、予め用意されている各関数及び新た
に作成された各関数について、各入出力端子の名前と入
出力の方向、継承部品名、アイコンデータ名、及び逆関
数定義の有無の情報を含む。述語定義情報112bは、
予め用意されている各述語及び新たに作成された各述語
について、各端子の名前を含む。
The data component definition information 111 includes field information of each data component prepared in advance. The function definition information 112a is, for each function prepared in advance and each newly created function, the name and input / output direction of each input / output terminal, the inherited part name, the icon data name, and the presence / absence of an inverse function definition. Contains information. The predicate definition information 112b is
For each predicate prepared in advance and each newly created predicate, the name of each terminal is included.

【0037】主記憶装置2には、プログラムの作成を支
援するプログラム(プログラム作成支援プログラム)と
してのプログラムエディタ21が、例えば入力装置4を
用いた利用者(ソフトウェア開発者、プログラム作成
者)の操作に応じて、外部記憶装置1からロードされ
る。プログラムエディタ21は、CPU5を、利用者に
よる要素部品の選択を支援する部品選択部211、要素
部品を表示装置3に表示する部品表示部212、及び利
用者により指定された端子間の連結を実行して、その連
結情報を入力する連結入力部213の各機能手段として
機能させるためのプログラム要素を含む。プログラムエ
ディタ21はまた、CPU5を、利用者により指定され
た端子間の連結の状態を表示装置3に表示する連結表示
部214、プログラムを構成する要素部品群のうちの利
用者指定のデータ部品に、利用者指定のコスト(算出コ
スト)を設定するコスト設定部215、及びプログラム
コード生成部216の各機能手段として機能させるため
のプログラム要素も含む。プログラムコード生成部21
6は、作成中のプログラムのコードを生成する。
In the main storage device 2, a program editor 21 as a program (program creation support program) for supporting the creation of a program is operated by a user (software developer, program creator) using the input device 4, for example. In accordance with the above, it is loaded from the external storage device 1. The program editor 21 executes the CPU 5 to connect the component selection unit 211 that supports the user's selection of the component, the component display unit 212 that displays the component on the display device 3, and the terminal designated by the user. Then, it includes a program element for functioning as each functional unit of the connection input unit 213 for inputting the connection information. The program editor 21 also causes the CPU 5 to be a connection display unit 214 that displays the connection state between the terminals designated by the user on the display device 3, and a user-specified data part of the component parts group that constitutes the program. Also, it includes a program setting element 215 for setting a user-specified cost (calculation cost), and a program element for causing the program code generating section 216 to function as each functional unit. Program code generator 21
6 generates the code of the program being created.

【0038】主記憶装置2にはまた、プログラムエディ
タ21を用いて現在作成されているプログラムの定義情
報(プログラム定義情報)22が格納される。プログラ
ム定義情報22は、要素部品情報221と、要素連結情
報222とを含む。要素部品情報221は、作成中のプ
ログラムを構成するソフトウェア部品の各要素部品の情
報であり、各要素部品について、当該部品の名前である
要素名(要素部品名、インスタンス名)、及び当該部品
の種別を表す要素部品種別名(クラス名)を含む。ま
た、要素部品情報221は、要素部品がデータ部品であ
る場合には、上記要素名、及び要素部品種別名に加え
て、コストを含む。要素連結情報222は、上記各要素
部品の端子間の連結を定義する情報であり、各連結につ
いて、連結元の要素名及び端子名の対、並びに連結先の
要素名及び端子名の対を含む。
The main storage device 2 also stores definition information (program definition information) 22 of a program currently created using the program editor 21. The program definition information 22 includes element component information 221 and element connection information 222. The element part information 221 is information of each element part of the software part that constitutes the program being created. For each element part, the element name (element part name, instance name) that is the name of the part, and the part Includes the element component type name (class name) that indicates the type. In addition, when the element part is a data part, the element part information 221 includes a cost in addition to the element name and the element part type name. The element connection information 222 is information that defines the connection between the terminals of each of the above-described element parts, and includes, for each connection, a pair of connection-source element name and terminal name, and a connection-destination element name and terminal name. .

【0039】表示装置3は、CRTディスプレイ、或い
は液晶ディスプレイ等であり、プログラムエディタ21
を用いたプログラム作成のためのGUI(Graphical Us
er Interface)画面(プログラム作成GUI画面)の表
示等に用いられる。入力装置4はキーボード、マウス等
であり、利用者による上記GUI画面の操作を含むプロ
グラムエディタ21の操作等に用いられる。
The display device 3 is a CRT display, a liquid crystal display or the like.
GUI (Graphical Us) for program creation using
er Interface) screen (program creation GUI screen) is displayed. The input device 4 is a keyboard, a mouse, etc., and is used for the operation of the program editor 21 including the operation of the GUI screen by the user.

【0040】CPU5は、利用者の操作に従ってプログ
ラムエディタ21を実行することにより、利用者の要求
するプログラムの作成を支援する。
The CPU 5 supports the creation of the program requested by the user by executing the program editor 21 according to the operation of the user.

【0041】次に、図1の構成におけるプログラム作成
支援処理について、図2乃至図4のフローチャートを参
照して説明する。本実施形態におけるプログラム作成支
援処理は、プログラム定義情報22を作成するプログラ
ム定義情報作成処理と、当該プログラム定義情報22か
らプログラムコードを生成するプログラムコード作成処
理とに大別される。プログラム定義情報作成処理は、プ
ログラムエディタ21中の例えば部品選択部211、連
結入力部213及びコスト設定部215を用いて実行さ
れる。プログラムコード作成処理は、プログラムコード
生成部216を用いて実行される。
Next, the program creation support process in the configuration of FIG. 1 will be described with reference to the flowcharts of FIGS. The program creation support process in this embodiment is roughly classified into a program definition information creation process for creating the program definition information 22 and a program code creation process for creating a program code from the program definition information 22. The program definition information creation process is executed using, for example, the component selection unit 211, the connection input unit 213, and the cost setting unit 215 in the program editor 21. The program code creation process is executed by using the program code generation unit 216.

【0042】まず、プログラム定義情報作成処理につい
て説明する。今、利用者(プログラム作成者)が入力装
置4を操作して、プログラムエディタ21を起動したも
のとする。するとCPU5は、プログラムエディタ21
に従って、図5に示すようなプログラム作成GUI画面
を表示装置3に表示する。以降の説明では、煩雑さを避
けるため、プログラムエディタ21自身が処理を実行す
るものとして扱う。
First, the program definition information creating process will be described. Now, it is assumed that the user (program creator) operates the input device 4 to activate the program editor 21. Then, the CPU 5 causes the program editor 21
In accordance with this, a program creation GUI screen as shown in FIG. 5 is displayed on the display device 3. In the following description, in order to avoid complication, it is assumed that the program editor 21 itself executes the process.

【0043】図5に示すプログラム作成GUI画面は、
既定義のデータ部品510の一覧が表示されるデータ部
品一覧領域51と、既定義のリンク部品520の一覧が
表示されるリンク部品一覧領域52と、プログラムを作
成・定義する領域を提供するプログラム定義領域53と
を含んでいる。
The program creation GUI screen shown in FIG.
A data component list area 51 that displays a list of defined data components 510, a link component list area 52 that displays a list of defined link components 520, and a program definition that provides an area for creating and defining a program. And an area 53.

【0044】データ部品一覧領域51へのデータ部品一
覧の表示は、外部記憶装置1に格納されているソフトウ
ェア部品定義情報11中のデータ部品定義情報111に
基づいて行われる。リンク部品一覧領域52へのリンク
部品一覧の表示は、上記ソフトウェア部品定義情報11
中のリンク定義情報112に基づいて行われる。
The display of the data component list in the data component list area 51 is performed based on the data component definition information 111 in the software component definition information 11 stored in the external storage device 1. The display of the linked component list in the linked component list area 52 is performed by the above software component definition information 11
It is performed based on the link definition information 112 therein.

【0045】ここでは、一覧領域51,52上の各部品
510,520は、外部記憶装置1に格納されているア
イコンデータ12に基づいて、当該部品510,520
を表すアイコン511,521で表示される。各部品5
10,520のアイコン511,521の近傍には、そ
の部品の種別を表す要素部品種別名512,522が表
示される。また、部品520、つまりリンク部品520
については、その近傍に、端子間の値の伝達方向を示す
矢印523がリンク定義情報112に基づいて表示され
る。また、一覧領域51,52上の各部品510,52
0は縮小表示され、後述するようにプログラム定義領域
53上に移動された際に一定の倍率に拡大して表示され
る。一覧領域51,52内では、一般に部品一覧の全て
を表示できないため、その領域内でスクロール可能なよ
うになっている。
Here, the parts 510 and 520 on the list areas 51 and 52 are based on the icon data 12 stored in the external storage device 1 and the parts 510 and 520.
Are displayed as icons 511 and 521. Each part 5
In the vicinity of the icons 511 and 521 of 10,520, element component type names 512 and 522 representing the types of the components are displayed. Also, the component 520, that is, the link component 520.
For, the arrow 523 indicating the transmission direction of the value between the terminals is displayed in the vicinity thereof based on the link definition information 112. In addition, the parts 510 and 52 on the list areas 51 and 52
0 is displayed in a reduced size, and when it is moved to the program definition area 53, as will be described later, it is displayed at a fixed magnification. In the list areas 51 and 52, generally, the entire parts list cannot be displayed, so that the parts can be scrolled in the area.

【0046】一覧領域51及び52は、既定義のソフト
ウェア部品の一覧の表示領域を提供する。ここで、既定
義のソフトウェア部品は一般にはシステムに予め用意さ
れているソフトウェア部品であるが、リンク部品につい
ては、プログラムエディタ21を利用して利用者が新た
に定義したソフトウェア部品も含まれる。
The list areas 51 and 52 provide display areas for a list of predefined software components. Here, the defined software component is generally a software component prepared in advance in the system, but the link component also includes a software component newly defined by the user using the program editor 21.

【0047】プログラム定義情報22は、利用者が図5
のプログラム作成GUI画面上で、以下に述べるような
要素部品選択操作、連結入力操作、及びコスト設定操作
を実行することにより作成される。
The user can obtain the program definition information 22 as shown in FIG.
It is created by executing the element component selecting operation, the linking input operation, and the cost setting operation as described below on the program creation GUI screen.

【0048】まず利用者は、入力装置4の例えばマウス
を用いて、目的のプログラムを構成するソフトウェア部
品の作成・定義に必要な要素部品、つまり目的プログラ
ムの作成・定義に必要な要素部品を、データ部品一覧領
域51またはリンク部品一覧領域52上の部品一覧から
選択する操作を行う。次に利用者は、選択した要素部
品、つまりデータ部品またはリンク部品を、プログラム
定義領域53上の所望の位置に移動させるために、マウ
スを用いてドラッグ&ドロップ操作を行う。
First, the user uses the mouse of the input device 4, for example, to create the element parts necessary for creating / defining the software parts making up the target program, that is, the element parts necessary for creating / defining the target program. An operation for selecting from the parts list on the data parts list area 51 or the linked parts list area 52 is performed. Next, the user uses the mouse to perform a drag-and-drop operation in order to move the selected element part, that is, the data part or the link part to a desired position on the program definition area 53.

【0049】プログラムエディタ21中の部品選択部2
11は、利用者がマウスを用いて、データ部品一覧領域
51またはリンク部品一覧領域52上の部品一覧から要
素部品を選択する操作を行ったことを検出すると(ステ
ップS1)、その選択された要素部品を、利用者の選択
操作に続くドラッグ操作に応じて(ステップS2)、部
品表示部212によりプログラム作成GUI画面に表示
させながら、プログラム定義領域53上に移動する(ス
テップS3)。
Component selection unit 2 in the program editor 21
11 detects that the user has performed an operation of selecting an element component from the component list on the data component list area 51 or the linked component list area 52 using the mouse (step S1), the selected element The component is moved onto the program definition area 53 while being displayed on the program creation GUI screen by the component display unit 212 according to the drag operation following the user's selection operation (step S3).

【0050】ここでは、選択された要素部品は、部品の
種別がアイコンと種別名で、端子間の値の伝達方向が矢
印で、それぞれ表される。表示するアイコンは、以下の
手順で決定される。 (a1)選択された部品にアイコンが設定されていれ
ば、それを用いる。 (a2)アイコンの設定がなく、継承する部品の設定が
あれば、上位の部品のアイコン設定を再帰的に探して、
これを用いる。 (a3)継承情報によってもアイコンの情報が得られな
ければ、予め定められた暗黙のアイコンを用いる。
Here, the selected element part is represented by an icon and a type name of the part, and an arrow indicating the direction of transmission of the value between the terminals. The icon to be displayed is determined by the following procedure. (A1) If an icon is set for the selected part, that icon is used. (A2) If there is no icon setting and there is a setting for the inherited component, the icon setting of the upper component is recursively searched,
Use this. (A3) If the icon information cannot be obtained by the inheritance information, a predetermined implicit icon is used.

【0051】一方、表示する矢印の向きは、以下の手順
で決定される。 (b1)データ部品の端子は、双方向とする。 (b2)逆関数を設定された関数の端子は、双方向とす
る。 (b3)それ以外の関数では、入力端子は入力方向と
し、出力端子は出力方向とする。 (b4)述語の端子は、入力方向とする。
On the other hand, the direction of the arrow to be displayed is determined by the following procedure. (B1) The terminals of the data component are bidirectional. (B2) The terminal of the function to which the inverse function is set is bidirectional. (B3) In other functions, the input terminal is in the input direction and the output terminal is in the output direction. (B4) The terminal of the predicate is in the input direction.

【0052】図6及び図7に、プログラム定義領域53
上での要素部品の表示例を示す。図6はデータ部品、図
7は関数(関数型リンク部品)の、それぞれ表示例を示
している。
A program definition area 53 is shown in FIGS.
The display example of the above-mentioned element parts is shown. FIG. 6 shows a display example of the data component, and FIG. 7 shows a display example of the function (function type link component).

【0053】さて、部品選択部211は、部品一覧から
選択された要素部品を利用者のドラッグ操作に応じてプ
ログラム定義領域53上に移動している状態で、利用者
のドロップ操作を検出すると(ステップS4)、当該要
素部品の移動処理を停止し、当該要素部品の名前(要素
名)の入力を利用者に対して要求する画面を部品表示部
212により表示させる(ステップS5)。ここで、利
用者が入力装置4を用いて要素名を入力する操作を行う
と、部品選択部211はその要素名を入力装置4から受
け取って、対応する要素部品のカテゴリを表す要素カテ
ゴリ名及び種別を表す要素部品種別名と組にして、主記
憶装置2に格納されているプログラム定義情報22中の
要素部品情報221に追加し(ステップS6)、利用者
の次の要素部品選択操作を待つ。
Now, when the component selecting unit 211 detects the user's drop operation while moving the element component selected from the component list onto the program definition area 53 in response to the user's drag operation ( In step S4), the moving process of the element component is stopped, and the component display unit 212 displays a screen requesting the user to input the name (element name) of the element component (step S5). Here, when the user performs an operation of inputting an element name using the input device 4, the component selection unit 211 receives the element name from the input device 4, and the element category name indicating the category of the corresponding element component and It is added to the element component information 221 in the program definition information 22 stored in the main storage device 2 in combination with the element component category name indicating the category (step S6), and the user's next element component selection operation is waited for. .

【0054】利用者は、プログラム定義領域53内に配
置した要素部品の端子、及びプログラム定義領域53で
定義されるプログラムを構成するソフトウェア部品の端
子のうちの任意の2つの端子間を連結したい場合、入力
装置4のマウスを操作して、マウスポインタを一方の端
子に合わせた状態で、他方の端子にドラッグする操作を
行う。
When the user wants to connect any two terminals of the terminals of the element parts arranged in the program definition area 53 and the terminals of the software parts constituting the program defined in the program definition area 53 , The mouse of the input device 4 is operated, and the operation of dragging to the other terminal while the mouse pointer is aligned with one terminal is performed.

【0055】プログラムエディタ21中の連結入力部2
13は、利用者が端子間を連結するためのドラッグ操作
を行ったことを検出すると(ステップS7)、ドラッグ
開始位置の端子から現在のドラッグ位置までを連結表示
部214により線分で表示させる。そして連結入力部2
13は、ドラッグ位置が他の端子に到達すると、両端子
間を連結表示部214により図5中の矢印A11〜A1
3などのように、矢印で表示させて連結し、その連結情
報をプログラム定義情報22中の要素連結情報222に
追加する(ステップS8)。上記ステップS8では、連
結入力部213は、指定された2つの端子間の連結が可
能な値伝達の方向を判別し、その判別結果に応じて、当
該端子間が連結されていることと値伝達の方向とを連結
表示部214により上記した矢印で表示させる。但し、
利用者が指定した2つの端子が同一要素部品のものであ
る場合は、連結入力部213は利用者に対してエラー通
知し、連結を拒否する。
Link input section 2 in program editor 21
When the user detects that the user has performed a drag operation for connecting the terminals (step S7), the connection display unit 214 causes the connection display unit 214 to display a line segment from the terminal at the drag start position to the current drag position. And the connection input unit 2
13, when the drag position reaches another terminal, the connection display section 214 connects the two terminals with arrows A11 to A1 in FIG.
3 and so on are displayed by arrows and connected, and the connection information is added to the element connection information 222 in the program definition information 22 (step S8). In step S8, the connection input unit 213 determines the direction of value transmission in which the two specified terminals can be connected, and according to the determination result, it is determined that the terminals are connected and the value is transmitted. Direction is displayed by the above-mentioned arrow by the connection display unit 214. However,
If the two terminals designated by the user are of the same element part, the connection input unit 213 notifies the user of an error and rejects the connection.

【0056】ここでは、 (c1)連結される2つの端子が共に要素部品の端子で
あるとき、 ・その2つの端子が共に双方向の端子であるならば、連
結も双方向の伝達が可能となる。 ・その2つの端子のうち、少なくも一方が単方向であ
り、他方も同方向への伝達が可能であるならば、連結は
その方向への単方向伝達のみが可能となる。 ・それ以外の場合、連結入力部213は利用者に対して
エラー通知し、連結を拒否する。
Here, (c1) When two terminals to be connected are both terminals of an element part: -If the two terminals are both bidirectional terminals, the connection can be bidirectionally transmitted. Become. -If at least one of the two terminals is unidirectional and the other is also unidirectional, the connection is only unidirectional in that direction. -In other cases, the connection input unit 213 notifies the user of an error and rejects the connection.

【0057】次に、 (c2)連結される2つの端子の一方が作成中の部品の
端子であるとき、 ・その端子の伝達方向は、もう一方の端子である要素部
品の端子の伝達方向と同じになる。なお、作成中の部品
の1つの端子を、複数の要素部品の端子と連結すること
は可能であるが、追加される要素部品の端子の伝達方向
は、既接続の連結と逆向きであってはならない。その場
合には、エラーを通知し、連結を拒否する。 (c3)連結される端子の双方が作成中の部品の端子で
あるとき ・エラーを通知し、連結を拒否する。
Next, (c2) when one of the two terminals to be connected is the terminal of the component under construction, the transmission direction of that terminal is the same as the transmission direction of the terminal of the element component which is the other terminal. Will be the same. Although it is possible to connect one terminal of the component being created to the terminals of a plurality of element parts, the transmission direction of the terminal of the added element part is opposite to the already connected connection. Don't In that case, an error is notified and the connection is rejected. (C3) When both of the terminals to be connected are terminals of the component being created-An error is notified and the connection is rejected.

【0058】このように本実施形態においては、利用者
の操作で指定された2つの端子間の値の伝達方向をプロ
グラムエディタ21中の連結入力部213にて自動判別
して、当該端子間を連結(接続)する矢印の方向を決定
しているため、利用者は値の伝達方向を指定しなくても
よく、したがって簡単な作成作業で正確な部品の作成が
可能になる。但し、例えばマウスの右ボタンクリックに
より、利用者自身が連結の方向を指定(制限)可能とす
る画面を表示させることも可能である。
As described above, in the present embodiment, the transmission direction of the value between the two terminals designated by the user's operation is automatically discriminated by the connection input section 213 in the program editor 21, and the terminals are connected to each other. Since the direction of the arrow to be connected (connected) is determined, the user does not need to specify the value transmission direction, and therefore, accurate parts can be created by a simple creation operation. However, it is also possible to display a screen that allows the user to specify (limit) the direction of connection by clicking the right button of the mouse, for example.

【0059】さて、利用者の要素部品選択操作に従っ
て、部品選択部211が利用者の目的とするプログラム
を構成する要素部品を選択して、その要素部品の情報で
ある要素名(要素部品名)及び部品種別名を入力し、利
用者の連結入力操作に従って、連結入力部213が指定
の端子間の連結を実行して、その連結情報を入力するこ
とにより、当該プログラムの静的構造、即ち当該プログ
ラムの構成要素である要素部品と、要素部品相互の静的
な連結構造とが決定される。プログラムの静的構造と
は、要素部品相互の静的な連結構造は定義されているも
のの、要素部品相互の振る舞いについては定義されてい
ないデータ構造をいう。この段階では、プログラム定義
情報22は未完成の状態にあり、当該プログラム定義情
報22の要素部品情報221中に各データ部品毎のコス
トが設定されていない状態にある。このデータ部品毎の
コストは、対応するデータ部品の全フィールド値を求め
るのに要するコストであり、プログラムの要素部品相互
の振る舞い、つまり、どのような順序で、どの要素部品
にメッセージを送るかを決定するための情報である。
In accordance with the user's operation for selecting an element, the element selection unit 211 selects an element that composes a program intended by the user, and an element name (element part name) that is the information of the element. And the component type name are input, and the connection input unit 213 executes the connection between the designated terminals according to the user's connection input operation, and inputs the connection information. The element parts that are the constituent elements of the program and the static connection structure between the element parts are determined. The static structure of a program is a data structure in which the static connection structure between element parts is defined, but the behavior between element parts is not defined. At this stage, the program definition information 22 is in an incomplete state, and the cost for each data component is not set in the element component information 221 of the program definition information 22. The cost for each data component is the cost required to obtain all the field values of the corresponding data component, and the behavior of the program's component parts, that is, in what order and to which component part the message is sent. This is information for making a decision.

【0060】本実施形態において、要素部品相互の振る
舞いは、以下に述べるように、利用者のコスト設定操作
に従い、コスト設定部215により要素部品情報221
中に利用者指定のデータ部品の要素名に対応付けて利用
者指定のコストを設定することにより決定される。
In the present embodiment, the mutual behavior of the element parts is determined by the cost setting section 215 according to the user's cost setting operation, as described below.
It is determined by setting the cost specified by the user in association with the element name of the data part specified by the user.

【0061】利用者は、プログラムの静的構造を決定す
ると、当該プログラムの要素部品相互の振る舞いを決定
するために、当該プログラムを構成する要素部品群のう
ちの各データ部品にコストを設定するための操作を次の
ように行う。即ち利用者は、コスト設定の対象とするデ
ータ部品を位置指定(選択)するために、当該マウスの
操作によりマウスポインタをプログラム定義領域53上
の所望の要素部品(データ部品)に移動させ、その位置
でマウスの例えば右ボタンをクリックする。
After determining the static structure of the program, the user sets a cost for each data component of the component group that composes the program in order to determine the mutual behavior of the component of the program. The operation of is performed as follows. That is, the user moves the mouse pointer to a desired element component (data component) in the program definition area 53 by operating the mouse in order to specify (select) the data component for which the cost is to be set, and Click the right mouse button, for example, at the position.

【0062】プログラムエディタ21中のコスト設定部
215は、利用者がマウスポインタをプログラム定義領
域53上の任意の要素部品(データ部品)に移動させ
て、その位置でマウスの右ボタンをクリックする操作を
行ったことを検出すると(ステップS9)、その位置に
対応する要素部品(データ部品)の属性の1つとして、
利用者に対してコストを入力することを要求する画面
(コスト入力画面)を、その位置の近傍に表示する(ス
テップS10)。すると利用者は、自身が位置指定した
データ部品の全フィールド値を求めるのに要するコスト
を、入力装置4を用いてコスト入力画面上で入力するた
めの操作を行う。
The cost setting section 215 in the program editor 21 is an operation in which the user moves the mouse pointer to any element component (data component) in the program definition area 53 and clicks the right mouse button at that position. When it is detected (step S9), as one of the attributes of the element component (data component) corresponding to the position,
A screen (cost input screen) requesting the user to input the cost is displayed near the position (step S10). Then, the user uses the input device 4 to input the cost required to obtain all the field values of the data component whose position is specified on the cost input screen.

【0063】コスト設定部215は、利用者が入力装置
4を用いてコストを入力する操作を行ったことを検出す
ると(ステップS11)、そのコストを入力装置4から
受け取り、主記憶装置2に格納されているプログラム定
義情報22の要素部品情報221中に、対応する要素部
品(データ部品)の種別名と組になるように設定する
(ステップS12)。同時にコスト設定部215は、設
定したコスト(を示す数値)を、対応する要素部品(デ
ータ部品)の近傍に表示する(ステップS13)。そし
てコスト設定部215は、利用者による次のコスト設定
指定操作(右ボタンクリック操作)を待つ。図5には、
後述するデータ部品531A,531B,531Cの近
傍に、それぞれ値が1(A=1),2(B=2),10
(C=10)のコスト530A,530B,530Cが
表示されている様子が示されている。
When the cost setting unit 215 detects that the user has input the cost using the input device 4 (step S11), the cost setting unit 215 receives the cost from the input device 4 and stores it in the main storage device 2. It is set so as to be paired with the type name of the corresponding element component (data component) in the element component information 221 of the stored program definition information 22 (step S12). At the same time, the cost setting unit 215 displays the set cost (numerical value indicating the cost) near the corresponding element component (data component) (step S13). Then, the cost setting unit 215 waits for the next cost setting designation operation (right button click operation) by the user. In Figure 5,
Values 1 (A = 1), 2 (B = 2), and 10 are provided near data parts 531A, 531B, and 531C, which will be described later, respectively.
It is shown that the costs 530A, 530B, and 530C of (C = 10) are displayed.

【0064】利用者は、プログラム定義領域53上の要
素部品のうちの目的とする全ての要素部品(データ部
品)についてコスト入力操作を終了すると、つまりプロ
グラム定義情報作成処理を終了すると、その時点におい
て主記憶装置2に格納されているプログラム定義情報2
2に基づくプログラムコードの作成のための操作を行
う。ここでは、利用者は、図5に示すソフトウェア部品
作成GUI画面に用意されているメニューバー上のファ
イルメニューA21を開く操作を行う。このファイルメ
ニューA21には、メニュー項目としてファイルの上書
き、ファイルの新規保存、及びファイルのオープンに加
えて、プログラムコードの作成を指示するための最適コ
ード生成が用意されている。利用者は、この最適コード
生成をマウスで選択する。
When the user finishes the cost input operation for all target component parts (data components) of the component parts on the program definition area 53, that is, when the program definition information creating process is completed, at that time point. Program definition information 2 stored in the main storage device 2
Perform the operation for creating the program code based on 2. Here, the user performs an operation of opening the file menu A21 on the menu bar prepared on the software component creation GUI screen shown in FIG. The file menu A21 is provided with optimum code generation for instructing the creation of program code in addition to overwriting a file as a menu item, newly saving a file, and opening a file. The user selects this optimum code generation with the mouse.

【0065】プログラムエディタ21中のプログラムコ
ード生成部216は、利用者がファイルメニューA21
から最適コード生成を選択する操作を行ったことを検出
すると(ステップS14)、プログラムコード生成処理
(ステップS15)を、図4のフローチャートに従って
次のように実行する。
The program code generator 216 in the program editor 21 allows the user to select the file menu A21.
When it is detected that the operation for selecting the optimum code generation is performed (step S14), the program code generation process (step S15) is executed as follows according to the flowchart of FIG.

【0066】まずプログラムコード生成部216は、主
記憶装置2に格納されているプログラム定義情報22か
ら、コストが設定されているデータ部品を1つ、コード
生成の対象データ部品として検索する。プログラムコー
ド生成部216は、データ部品が検索できたならば、プ
ログラム定義情報22中の要素連結情報222で示され
ている当該部品の端子(フィールド)の中から、未処理
の端子を1つ選択して、その選択した端子をFとする
(ステップS31)。
First, the program code generator 216 searches the program definition information 22 stored in the main storage device 2 for one data component for which a cost is set as a target data component for code generation. If the data component can be searched, the program code generation unit 216 selects one unprocessed terminal from the terminals (fields) of the component indicated by the element connection information 222 in the program definition information 22. Then, the selected terminal is set to F (step S31).

【0067】プログラムコード生成部216は、データ
部品の端子Fを選択すると、その端子Fに入力を与える
リンク部品のうち、未処理のリンク部品の1つを選択し
て、その選択したリンク部品をLとする(ステップS3
2)。そしてプログラムコード生成部216は、リンク
部品Lの見込みのコストCを、当該リンク部品Lの入力
端子に接続されたデータ部品の中で最大のコストが設定
されているもののコストとする(ステップS33)。こ
こで、リンク部品Lの入力端子に接続された要素部品が
リンク部品である場合がある。この場合、更にそのリン
ク部品の入力側に接続された要素部品を、データ部品に
なるまでたどり、そのたどりついた先のデータ部品を、
リンク部品Lの入力端子に接続されたデータ部品とす
る。つまり、リンク部品Lの入力端子に接続されたデー
タ部品とは、当該入力端子に直接または間接に接続され
るデータ部品のうち、当該入力端子に至るパス(要素部
品数)が最短(最小)のデータ部品である。
When the terminal F of the data part is selected, the program code generator 216 selects one of the unprocessed link parts among the link parts which gives an input to the terminal F, and selects the selected link part. L (step S3)
2). Then, the program code generation unit 216 sets the estimated cost C of the link component L as the cost of the data component connected to the input terminal of the link component L, which has the maximum cost set (step S33). . Here, the element component connected to the input terminal of the link component L may be the link component. In this case, further trace the element component connected to the input side of the link component until it becomes a data component, and then reach the data component at the destination.
The data part is connected to the input terminal of the link part L. That is, the data component connected to the input terminal of the link component L has the shortest (minimum) path (the number of element components) to the input terminal among the data components directly or indirectly connected to the input terminal. It is a data part.

【0068】次にプログラムコード生成部216は、キ
ーと値とのペアを要素とするテーブルLL(図示せず)
に、Lをキー、Cを値とする要素を登録する(ステップ
S34)。ここで、テーブルLLは主記憶装置2上に置
かれる。
Next, the program code generator 216 has a table LL (not shown) having key-value pairs as elements.
An element having L as a key and C as a value is registered in (step S34). Here, the table LL is placed on the main storage device 2.

【0069】次にプログラムコード生成部216は、プ
ログラム定義情報22を参照して、他に、対象データ部
品の端子Fに入力を与える未処理のリンク部品があるか
否かを調べる(ステップS35)。もし、未処理のリン
ク部品があるならば、プログラムコード生成部216は
未処理のリンク部品の1つについて、ステップS32以
降の処理を実行する。
Next, the program code generation unit 216 refers to the program definition information 22 to check whether there is any other unprocessed link component for inputting to the terminal F of the target data component (step S35). . If there is an unprocessed link component, the program code generation unit 216 executes the processing from step S32 onward for one of the unprocessed link components.

【0070】これに対し、対象データ部品の端子Fに入
力を与える未処理のリンク部品がなくなったならば、プ
ログラムコード生成部216は、テーブルLLに登録さ
れている要素中で、最もコストの小さいリンク部品Lに
ついて、次コード "if(Lflow()=failure" を生成する(ステップS36)。このコードにより、リ
ンク部品Lに対し、その出力端子から値を出力できるな
ら、値を出力してもらい、出力できない失敗(failur
e)時には、次のリンク部品に切り替える機能が実現さ
れる。
On the other hand, if there is no unprocessed link component that supplies an input to the terminal F of the target data component, the program code generator 216 has the smallest cost among the elements registered in the table LL. The following code "if (Lflow () = failure") is generated for the link component L (step S36) If this code allows the link component L to output a value from its output terminal, ask the link component L to output the value. , Output failure (failur
e) Sometimes, the function to switch to the next link component is realized.

【0071】次にプログラムコード生成部216は、テ
ーブルLLを参照して、他の未処理の要素が当該テーブ
ルLLに登録されているか否かを調べる(ステップS3
7)。もし、未処理の要素が登録されているならば、直
前にコードが生成されたリンク部品の次にコストの小さ
いリンク部品Lについて、次コード"&& Lflow()=failur
e"を生成する(ステップS38)。このコードにより、
リンク部品Lに対し、その出力端子から値を出力できる
なら、値を出力してもらい、出力できない失敗(failur
e)時には、次のリンク部品に切り替える機能が実現さ
れる。プログラムコード生成部216は、ステップS3
8を実行すると、ステップS37に戻る。
Next, the program code generator 216 refers to the table LL to check whether or not another unprocessed element is registered in the table LL (step S3).
7). If an unprocessed element is registered, the next code "&& Lflow () = failur" is calculated for the link part L with the next smallest cost after the link part for which the code was generated immediately before.
e "is generated (step S38). With this code,
If the link component L can output a value from its output terminal, ask the value to be output and fail to output (failur
e) Sometimes, the function to switch to the next link component is realized. The program code generation unit 216, the step S3
When step 8 is executed, the process returns to step S37.

【0072】これに対し、テーブルLLに登録されてい
る全ての要素について、コストの小さいリング部品の順
にコード生成が行われた結果、未処理の要素がなくなっ
たなら、プログラムコード生成部216はステップS3
9に進む。このステップS39では、プログラムコード
生成部216は、次コード ")return failure," を生成する。このコードにより、対象データ部品の入力
端子(フィールド)の値が完成しなかったとして、当該
データ部品のメソッドfill()を呼び出したメッセージ送
信元に対し、failureステータスを通知する機能が実現
される。
On the other hand, for all the elements registered in the table LL, if there is no unprocessed element as a result of the code generation in the order of the ring parts having the smallest cost, the program code generation unit 216 proceeds to the step. S3
Proceed to 9. In this step S39, the program code generator 216 generates the next code ") return failure,". This code realizes the function of notifying the failure status to the message sender that called the method fill () of the data component, assuming that the value of the input terminal (field) of the target data component is not completed.

【0073】次にプログラムコード生成部216は、対
象データ部品に他の未処理の端子があるか否かを調べる
(ステップS40)。もし、未処理の端子があるなら
ば、プログラムコード生成部216は未処理の端子の1
つについて、ステップS31以降の処理を実行する。こ
れに対し、対象データ部品の全ての端子についてステッ
プS31以降の処理を実行した結果、未処理の端子がな
くなったなら、プログラムコード生成部216は、次コ
ード ")return failure," を生成して(ステップS41)、対象データ部品に関す
るコード生成処理を終了する。このコードにより、対象
データ部品の入力端子(フィールド)の値が完成したと
して、当該データ部品のメソッドfill()を呼び出したメ
ッセージ送信元に対し、successステータスを通知する
機能が実現される。
Next, the program code generator 216 checks whether or not the target data component has another unprocessed terminal (step S40). If there is an unprocessed terminal, the program code generation unit 216 determines 1 of the unprocessed terminal.
For one, the processing from step S31 is executed. On the other hand, if there is no unprocessed terminal as a result of executing the processing from step S31 on all the terminals of the target data part, the program code generation unit 216 generates the next code ") return failure,". (Step S41), the code generation process related to the target data part is ended. This code realizes the function of notifying the message sender, which has called the method fill () of the data component, that the value of the input terminal (field) of the target data component is completed, of the success status.

【0074】プログラムコード生成部216は、以上に
述べた図4のフローチャートに従う処理を、プログラム
定義情報22で定義されているプログラムを構成する要
素部品群のうちの全てのデータ部品について実行する。
The program code generation unit 216 executes the processing according to the flow chart of FIG. 4 described above for all the data parts of the element parts group constituting the program defined by the program definition information 22.

【0075】このようにプログラムコード生成部216
は、プログラム定義情報22で定義されているプログラ
ムを構成する要素部品群のうちのデータ部品について、
そのデータ部品の端子(フィールド)に与えられる値を
算出するために、いずれのリンク部品を用いるべきか
を、候補となるリンク部品の入力側に接続されたデータ
部品をたどって、そのたどった先のデータ部品に設定さ
れているコストをもとに、コストが小さいデータ部品に
直接または間接に接続されたリンク部品(つまりコスト
が小さいデータ部品に対応するリンク部品)ほど優先し
て用いられるように決定してプログラムコードを生成す
る。生成されたコード(プログラムコード)は、外部記
憶装置1に保存される。
In this way, the program code generator 216
Is a data part of a group of element parts constituting the program defined by the program definition information 22,
To determine which link component should be used to calculate the value given to the terminal (field) of that data component, follow the data component connected to the input side of the candidate link component and follow Based on the cost set for the data component of, the link component directly or indirectly connected to the data component with the lower cost (that is, the link component corresponding to the data component with the lower cost) is used with priority. Determine and generate program code. The generated code (program code) is stored in the external storage device 1.

【0076】以上に述べた説明から明らかなように、本
実施形態におけるリンクをも部品として扱うプログラミ
ング(リンク指向プログラミング)では、従来のように
単一の目的を持つ手順としてプログラムを記述するので
はない。即ち本実施形態では、 (a)プログラムの静的構造、つまりプログラムを構成
する要素部品と、その要素部品相互の静的な連結構造を
決定する。 (b1)プログラムの構成要素となっている全てのデー
タ部品のメソッドfill()を定義する。
As is apparent from the above description, in the programming (link oriented programming) in which the link is also a component in this embodiment, the program is not described as a procedure having a single purpose as in the past. Absent. That is, in the present embodiment, (a) the static structure of the program, that is, the component parts that make up the program and the static connection structure between the component parts are determined. (B1) Define the method fill () of all the data parts that are the constituent elements of the program.

【0077】(b2)プログラムの構成要素となってい
る全ての関数(関数型リンク部品)のメソッドflow()を
定義する。
(B2) Define the method flow () of all the functions (function type link parts) that are the constituent elements of the program.

【0078】(b3)プログラムの構成要素となってい
る全ての述語(述語型部品)のメソッドtest()を定義す
る。
(B3) The method test () of all predicates (predicate type parts) which are the constituent elements of the program is defined.

【0079】(c)プログラムの構成要素をどのように
機能させるか、つまり、どのような順序で、どの構成要
素にメッセージを送るかを、メソッドとして定義する。
(C) How to function the constituent elements of the program, that is, in what order and to which constituent element the message is sent, is defined as a method.

【0080】の3段階でプログラムを実現する。The program is realized in three stages.

【0081】明らかなように、上記(c)は、プログラ
ムの構成要素(要素部品)中の各データ部品にコストを
設定するだけで実現される。したがって、本実施形態に
おいてプログラム作成者が記述(定義)すべきプログラ
ムは、データ部品とそのコスト、及び当該データ部品が
リンク部品によっていかに連結されているか、つまり要
素部品相互の静的な連結構造だけであり、各データ部品
について、そのデータ部品の端子(フィールド)に与え
られる値(データ)を完成するための最適手順を作成す
る必要がない。このため本実施形態においては、参照可
能なデータ部品を追加するなどの変更も、容易に、且つ
正確に行うことができる。
As is apparent, the above (c) is realized only by setting the cost for each data component in the component (element component) of the program. Therefore, the program to be described (defined) by the program creator in this embodiment is only the data component and its cost, and how the data component is linked by the link component, that is, the static connection structure between the element components. Therefore, it is not necessary to create an optimum procedure for completing the value (data) given to the terminal (field) of the data component for each data component. Therefore, in the present embodiment, it is possible to easily and accurately make a change such as adding a referenceable data component.

【0082】なお本実施形態では、上述のように、デー
タ部品一覧領域51及びリンク部品一覧領域52から所
望の部品群を選択してプログラム定義領域53に配置
し、目的のプログラムを構成する1つのソフトウェア部
品を定義する場合、そのソフトウェア部品の端子も定義
することができる。ここでは、入力装置4のマウスを操
作して、マウスポインタをプログラム定義領域53の境
界線上に移動させて端子位置を指定することで、端子の
新設、端子の削除、及び端子の変更のいずれか1つを選
択的に実行可能なようになっている。図5の例では、端
子A41〜A47が定義されている。
In the present embodiment, as described above, a desired component group is selected from the data component list area 51 and the link component list area 52 and placed in the program definition area 53 to form a target program. When defining a software component, the terminals of that software component can also be defined. Here, by operating the mouse of the input device 4 and moving the mouse pointer to the boundary line of the program definition area 53 to specify the terminal position, one of new terminal establishment, terminal deletion, and terminal change is performed. One can be selectively executed. In the example of FIG. 5, terminals A41 to A47 are defined.

【0083】さて利用者は、プログラム定義情報22を
作成し終えた場合、或いは作成途中で操作を終了したい
場合、プログラム作成GUI画面上に用意されているメ
ニューバー上のファイルメニューA21を開く操作を行
う。そして利用者は、開かれたファイルメニューA21
上で、作成終了した、或いは作成途中のプログラム定義
情報22を、名前を付けて新規に外部記憶装置1に保存
するための操作を行う。また利用者は、外部記憶装置1
に既に保存されているプログラム定義情報を主記憶装置
2上にプログラム定義情報22として呼び出して、要素
部品プログラム定義領域53上で対応するプログラムの
作成に関する編集を行っていた場合であれば、元のプロ
グラム定義情報を更新するための、いわゆる上書き保存
操作を行う。
When the user has finished creating the program definition information 22 or wants to end the operation in the middle of creating the program definition information 22, the user performs an operation of opening the file menu A21 on the menu bar prepared on the program creation GUI screen. To do. Then, the user can open the file menu A21.
Above, an operation for giving a name to the program definition information 22 that has been created or is being created and newly saving it in the external storage device 1 is performed. In addition, the user is the external storage device 1
If the program definition information already stored in the main storage device 2 is called as the program definition information 22 and the edit relating to the creation of the corresponding program in the component parts program definition area 53 is performed, A so-called overwrite save operation for updating the program definition information is performed.

【0084】プログラムエディタ21中の図示せぬプロ
グラム登録部は、図5に示すようなプログラム作成GU
I画面が表示されている状態で、利用者がファイルメニ
ューA21を開いて上書き保存を指定する操作を行った
ことを検出すると(ステップS16)、その時点に主記
憶装置2に格納されているプログラム定義情報22で、
外部記憶装置1に保存されているプログラム定義情報1
3中の対応する情報を更新する上書き保存を行う(ステ
ップS17)。また、プログラム登録部は、利用者がフ
ァイルメニューA21を開いて、新規保存を指定する操
作を行ったことを検出すると(ステップS18)、対象
となるプログラム定義情報の名前を利用者に指定させ、
現在主記憶装置2に格納されているプログラム定義情報
22を、利用者により指定されたプログラム定義情報名
に対応付けて、外部記憶装置1内のプログラム定義情報
13に新規に保存する(ステップS19)。
A program registration unit (not shown) in the program editor 21 is a program creation GU as shown in FIG.
When it is detected that the user has opened the file menu A21 and specified the overwrite save while the I screen is displayed (step S16), the program stored in the main storage device 2 at that time is detected. In the definition information 22,
Program definition information 1 stored in the external storage device 1
Overwrite saving is performed to update the corresponding information in 3 (step S17). When the program registration unit detects that the user has opened the file menu A21 and performed an operation of designating a new save (step S18), the program registration unit prompts the user to designate the name of the target program definition information,
The program definition information 22 currently stored in the main storage device 2 is newly stored in the program definition information 13 in the external storage device 1 in association with the program definition information name specified by the user (step S19). .

【0085】また、プログラム登録部は、利用者がファ
イルメニューA21を開いて、オープンを指定すると共
に、対象となるファイルとして、プログラム定義情報を
示すプログラム定義情報名を指定すると(ステップS2
0)、その指定のプログラム定義情報を外部記憶装置1
に保存されているプログラム定義情報13から取り出し
て、プログラム定義情報22として主記憶装置2に読み
込む(ステップS21)。ここでは、プログラム定義情
報22に基づいて、当該プログラム定義情報22中の要
素部品情報221で示されるプログラムを構成する各要
素部品が、プログラム作成GUI画面上のプログラム定
義領域53に配置される。また、各要素部品間が、プロ
グラム定義情報22中の要素連結情報222に従って、
矢印で連結される。また、要素部品情報221中に要素
名と組をなしてコストが設定されている要素部品(デー
タ部品)については、当該コストが対応する要素部品
(データ部品)の近傍に表示される。これにより利用者
にとって、コストの新規設定、変更等が容易となる。
Further, when the user opens the file menu A21 and specifies the open, and also specifies the program definition information name indicating the program definition information as the target file (step S2).
0), the specified program definition information is stored in the external storage device 1
It is taken out from the program definition information 13 stored in the main storage device 2 as the program definition information 22 (step S21). Here, based on the program definition information 22, each of the component parts forming the program indicated by the component part information 221 in the program definition information 22 is arranged in the program definition area 53 on the program creation GUI screen. In addition, between each element part, according to the element connection information 222 in the program definition information 22,
Connected by arrows. In addition, an element part (data part) whose cost is set by forming a pair with the element name in the element part information 221, is displayed in the vicinity of the element part (data part) to which the cost corresponds. This makes it easy for the user to set new costs or change costs.

【0086】さて、図5には、住宅購入に伴う税控除処
理のための控除額算出プログラムを定義し終えた状態の
画面表示例が示されている。この控除額算出プログラム
は、購入価格が設定されるフィールドを持つ3つの「購
入金額」データ部品531A,531B,531Cと、
データ部品531A〜531Cのいずれかから与えられ
る購入金額と、外部から与えられる購入年度、借入残
高、及び控除金額の上限値とを受け、予め定められた計
算を行って控除額を算出する「控除額計算」リンク部品
(関数型リンク部品)532とを用いて構成されてい
る。ここで、データ部品531A,531B,531C
の入力端子(フィールド)に与えられる購入金額は、そ
れぞれ、(A)税金を扱う窓口システムのデータベース
に過去に記録されたもの、(B)他部門のシステムのデ
ータベースに過去に記録されたもの、(C)税控除を要
求する納税者により入力されるものとする。この場合、
プログラム作成者は、望ましさから、(A)が最適、
(B)は多少時間がかかるが、納税者を煩わす(C)よ
りは適切、等の判断により、「控除額計算」リンク部品
532の入力端子(Price)に「購入金額」を与える選
択肢となるデータ部品531A,531B,531C
に、それぞれA=1,B=2,C=10のようにコスト
を付与する。このコストは、「控除額計算」リンク部品
532がデータ部品531A,531B,531Cのい
ずれかから、値(購入金額)を与えてもらう際の、一種
の回避すべき度合いの重みであり、値(購入金額)を与
えてもらう優先度であるともいえる。
FIG. 5 shows a screen display example in a state where the deduction amount calculation program for the tax deduction process associated with the purchase of a house has been defined. This deduction amount calculation program includes three "purchase amount" data parts 531A, 531B, 531C having fields for setting a purchase price,
The deduction amount is calculated by performing a predetermined calculation by receiving the purchase amount given from any of the data parts 531A to 531C, the purchase year given externally, the loan balance, and the upper limit value of the deduction amount. Forecast calculation ”link component (function type link component) 532. Here, the data parts 531A, 531B, 531C
The purchase amounts given to the input terminals (fields) of the above are respectively (A) those recorded in the database of the window system handling tax, (B) those recorded in the database of the systems of other departments in the past, (C) It shall be entered by the taxpayer requesting the tax deduction. in this case,
(A) is the best choice for the program creator,
Although (B) takes some time, it is more appropriate than (C), which is troublesome for taxpayers, and it is an option to give "purchase amount" to the input terminal (Price) of the "deduction amount calculation" link component 532. Data parts 531A, 531B, 531C
, A cost is given to each of A = 1, B = 2, and C = 10. This cost is a kind of weight of the degree to be avoided when the “deduction amount calculation” link component 532 receives a value (purchase amount) from any of the data components 531A, 531B, and 531C, and the value ( It can be said that the priority is given to the purchase price).

【0087】上記実施形態では、プログラムエディタ2
1にプログラムコード生成部216を持たせ、プログラ
ム定義情報をもとに最適な実行手順をプログラムコード
として生成している。しかし、最適な実行手順を、プロ
グラム定義情報で定義されるプログラムの実行時に、例
えばインタプリタにより決定することも可能である。
In the above embodiment, the program editor 2
1 has a program code generation unit 216 to generate an optimum execution procedure as a program code based on the program definition information. However, the optimum execution procedure can be determined by, for example, an interpreter when the program defined by the program definition information is executed.

【0088】なお、本発明は、上記実施形態に限定され
るものではなく、実施段階ではその要旨を逸脱しない範
囲で種々に変形することが可能である。更に、上記実施
形態には種々の段階の発明が含まれており、開示される
複数の構成要件における適宜な組み合わせにより種々の
発明が抽出され得る。例えば、実施形態に示される全構
成要件から幾つかの構成要件が削除されても、発明が解
決しようとする課題の欄で述べた課題が解決でき、発明
の効果の欄で述べられている効果が得られる場合には、
この構成要件が削除された構成が発明として抽出され得
る。
The present invention is not limited to the above embodiment, and can be variously modified at the stage of implementation without departing from the spirit of the invention. Furthermore, the embodiments include inventions at various stages, and various inventions can be extracted by appropriately combining a plurality of disclosed constituent elements. For example, even if some constituent elements are deleted from all the constituent elements shown in the embodiment, the problem described in the section of the problem to be solved by the invention can be solved, and the effect described in the section of the effect of the invention can be solved. If you get
A configuration in which this component is deleted can be extracted as an invention.

【0089】[0089]

【発明の効果】以上詳述したように本発明によれば、ソ
フトウェア部品の連結手段をリンク部品として表現する
ソフトウェア部品化技術を利用して、データ部品とリン
ク部品とに分類されるソフトウェア部品の群をプログラ
ム構成の要素部品の群とし、当該要素部品相互の静的な
連結構造が決定されたプログラムの静的構造を生成し、
しかる後に当該プログラムの静的構造中の要素部品群の
うちの利用者指定の各データ部品に、利用者指定のコス
トを設定することで、プログラムの構造を2つの階層に
分離するようにしたので、それぞれを作成、把握するの
が容易となり、ソフトウェア開発者がプログラムを容易
に作成できるように支援することができる。
As described above in detail, according to the present invention, the software component forming technique for expressing the linking means of the software components as the link component is utilized to create the software component classified into the data component and the link component. A group is defined as a group of element parts of the program configuration, and a static structure of the program in which the static connection structure of the element parts is determined is generated,
Then, by setting the user-specified cost for each user-specified data part of the element parts group in the static structure of the program, the program structure is separated into two layers. , It becomes easy to create and grasp each, and it is possible to assist the software developer in easily creating the program.

【0090】しかも本発明によれば、プログラム定義情
報で定義された各データ部品毎に、当該データ部品の各
フィールドを満たす値を算出するのに用いるリンク部品
を決定するのに、候補となるリンク部品の入力側に接続
されたデータ部品をたどって、そのたどった先のデータ
部品に設定されているコストをもとに、コストが小さい
データ部品に対応するリンク部品ほど優先して用いられ
るように決定してプログラムコードを生成するようにし
ているので、ソフトウェア開発者は、各データ部品の各
フィールドを満たすための最適手順を作成する必要がな
い。
Moreover, according to the present invention, for each data component defined by the program definition information, a link component which is a candidate for determining a link component used to calculate a value satisfying each field of the data component. Follow the data component connected to the input side of the component, and based on the cost set for the data component that follows, the link component corresponding to the data component with the smaller cost will be used preferentially. Since the decision is made to generate the program code, the software developer does not need to create an optimum procedure for filling each field of each data component.

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明の一実施形態に係る、プログラム作成支
援装置の構成を示すブロック図。
FIG. 1 is a block diagram showing the configuration of a program creation support device according to an embodiment of the present invention.

【図2】同実施形態におけるプログラム作成支援処理を
説明するためのフローチャートの一部を示す図。
FIG. 2 is a view showing a part of a flowchart for explaining a program creation support process in the same embodiment.

【図3】同実施形態におけるプログラム作成支援処理を
説明するためのフローチャートの残りを示す図。
FIG. 3 is a view showing the rest of the flowchart for explaining a program creation support process in the same embodiment.

【図4】図3中のステップS15のプログラムコード生
成処理の詳細な手順を示すフローチャート。
4 is a flowchart showing a detailed procedure of a program code generation process of step S15 in FIG.

【図5】同実施形態で適用されるプログラム作成GUI
画面の構成例と当該画面を用いて定義されたプログラム
の構成例とを示す図。
FIG. 5 is a program creation GUI applied in the embodiment.
The figure which shows the structural example of a screen, and the structural example of the program defined using the said screen.

【図6】図5中のプログラム定義領域53上でのデータ
部品の表示例を示す図。
FIG. 6 is a diagram showing a display example of data parts on a program definition area 53 in FIG. 5;

【図7】図5中のプログラム定義領域53上での関数型
リンク部品の表示例を示す図。
7 is a diagram showing a display example of a functional link component on the program definition area 53 in FIG.

【符号の説明】[Explanation of symbols]

1…外部記憶装置 2…主記憶装置 3…表示装置 4…入力装置 5…CPU 11…ソフトウェア部品定義情報 12…アイコンデータ 13…プログラム定義情報 14…プログラムコード 21…プログラムエディタ(プログラム作成支援プログ
ラム) 22…プログラム定義情報 51…データ部品一覧領域 52…リンク部品一覧領域 53…プログラム定義領域 211…部品選択部 212…部品表示部 213…連結入力部 214…連結表示部 215…コスト設定部 216…プログラムコード生成部 221…要素部品情報 222…要素連結情報
1 ... External storage device 2 ... Main storage device 3 ... Display device 4 ... Input device 5 ... CPU 11 ... Software component definition information 12 ... Icon data 13 ... Program definition information 14 ... Program code 21 ... Program editor (program creation support program) 22 ... Program definition information 51 ... Data parts list area 52 ... Link parts list area 53 ... Program definition area 211 ... Parts selection part 212 ... Parts display part 213 ... Linkage input part 214 ... Linkage display part 215 ... Cost setting part 216 ... Program Code generator 221 ... Element component information 222 ... Element connection information

Claims (9)

【特許請求の範囲】[Claims] 【請求項1】 ソフトウェア部品の連結手段をリンク部
品として表現するソフトウェア部品化技術を利用したプ
ログラムの作成を支援するための計算機により実行され
るプログラム作成支援方法であって、 データが設定されるフィールドを端子として持つデータ
部品と引数を端子として持つリンク部品とに分類される
ソフトウェア部品の群をプログラム構成の要素部品の群
とし、当該要素部品相互の静的な連結構造が決定された
プログラムの静的構造を生成するステップと、 前記プログラムの静的構造中の前記要素部品群のうちの
利用者指定の各データ部品に利用者指定のコストを設定
することで、要素部品相互の振る舞いが定義されたプロ
グラム定義情報を生成するステップと、 前記プログラム定義情報で定義された前記要素部品群の
うちの各データ部品毎に、当該データ部品の各フィール
ドに与えられる値を算出するために、いずれのリンク部
品を用いるべきかを、候補となるリンク部品の入力側に
接続されたデータ部品をたどって、そのたどった先のデ
ータ部品に設定されているコストをもとに、コストが小
さいデータ部品に対応するリンク部品ほど優先して用い
られるように決定してプログラムコードを生成するステ
ップとを具備することを特徴とするプログラム作成支援
方法。
1. A program creation support method executed by a computer for supporting the creation of a program using a software componentization technique that expresses a linking means of software components as a link component, and a field to which data is set. A software component group that is classified into a data component that has as a terminal and a link component that has an argument as a terminal is a group of element components of the program configuration, and the static linkage of the program in which the static connection structure of the component components is determined The behavior of the element parts is defined by setting the user specified cost for each user specified data part of the element part group in the static structure of the program. The step of generating program definition information according to For each data component of, the data component connected to the input side of the candidate link component is followed to determine which link component should be used to calculate the value given to each field of the data component. , Based on the cost set in the traced data component, determining that the link component corresponding to the data component having a smaller cost is used with higher priority, and generating a program code. A program creation support method characterized by the above.
【請求項2】 前記プログラムの静的構造中の前記要素
部品群、及び当該要素部品相互の静的な連結構造を、プ
ログラムを作成するのに用いられるプログラム作成画面
のプログラム定義領域に表示するステップと、 前記プログラム定義領域に表示されている前記要素部品
群のうちのいずれか1つのデータ部品が利用者の操作に
応じて指定される毎に、当該利用者に対して当該指定さ
れたデータ部品のコストの指定入力を要求するステップ
と、 を更に具備し、前記プログラム定義情報を生成するステ
ップでは、前記コストの指定入力要求に応じて利用者に
よりコストが指定される毎に、当該利用者指定のコスト
を、前記プログラムの静的構造中の利用者指定のデータ
部品に設定することを特徴とする請求項1記載のプログ
ラム作成支援方法。
2. A step of displaying the element component group in the static structure of the program and the static connection structure of the element components in a program definition area of a program creation screen used to create a program. And every time any one data component of the element component group displayed in the program definition area is designated according to the operation of the user, the designated data component is given to the user. Requesting a designated input of the cost, and in the step of generating the program definition information, each time the cost is designated by the user in response to the cost input request, the user designated 2. The program creation support method according to claim 1, wherein the cost is set to a user-specified data component in the static structure of the program.
【請求項3】 ソフトウェア部品の連結手段をリンク部
品として表現するソフトウェア部品化技術を利用したプ
ログラムの作成を支援するための計算機により実行され
るプログラム作成支援方法であって、 データが設定されるフィールドを端子として持つデータ
部品と引数を端子として持つリンク部品とに分類される
ソフトウェア部品の一覧が表示される部品一覧領域、及
びプログラムを作成するのに用いられるプログラム定義
領域を含むプログラム作成画面を表示するステップと、 利用者の操作に応じて前記部品一覧から選択された部品
を、作成すべきプログラムを構成する要素部品として利
用者の操作に応じて前記プログラム定義領域に移動・配
置するステップと、 利用者の操作に応じて、前記プログラム定義領域に配置
されている要素部品相互の端子間を連結し、前記プログ
ラム定義領域に配置されている要素部品の群から構成さ
れ、当該要素部品相互の静的な連結構造が決定されたプ
ログラムの静的構造を生成するステップと、 前記プログラム定義領域に配置されている前記要素部品
群のうちのいずれか1つのデータ部品が利用者の操作に
応じて指定される毎に、当該利用者に対して当該指定さ
れたデータ部品のコストの指定入力を要求するステップ
と、 前記コストの指定入力要求に応じて利用者によりコスト
が指定される毎に、当該利用者指定のコストを、前記プ
ログラムの静的構造中の利用者指定のデータ部品に設定
することで、要素部品相互の振る舞いが定義されたプロ
グラム定義情報を生成するステップと、 前記プログラム定義情報で定義された前記要素部品群の
うちの各データ部品毎に、当該データ部品の各フィール
ドに与えられる値を算出するために、いずれのリンク部
品を用いるべきかを、候補となるリンク部品の入力側に
接続されたデータ部品をたどって、そのたどった先のデ
ータ部品に設定されているコストをもとに、コストが小
さいデータ部品に対応するリンク部品ほど優先して用い
られるように決定してプログラムコードを生成するステ
ップと を具備することを特徴とするプログラム作成支援方法。
3. A program creation support method executed by a computer for supporting the creation of a program using a software componentization technique that expresses a software component connection means as a link component, in which a data field is set. Displays a program creation screen that includes a parts list area that displays a list of software parts that are classified into data parts that have as terminals and link parts that have arguments as terminals, and a program definition area that is used to create programs And a step of moving and arranging the part selected from the parts list according to the user's operation in the program definition area as an element part constituting a program to be created according to the user's operation, Elements placed in the program definition area according to the user's operation Generating a static structure of a program in which terminals of respective parts are connected to each other and which is composed of a group of element parts arranged in the program definition area, and a static connection structure of the element parts is determined. Every time any one data component of the element component group arranged in the program definition area is designated according to the operation of the user, the data component of the designated data component is specified for the user. A step of requesting a cost specification input, and each time a cost is specified by the user in response to the cost specification input request, the cost specified by the user is specified by the user in the static structure of the program. A step of generating program definition information in which the mutual behavior of the element parts is defined by setting in the data part, and the element part group defined in the program definition information For each of these data components, the data component connected to the input side of the candidate link component is traced to determine which link component should be used in order to calculate the value given to each field of the data component. Based on the cost set in the data component of the traced destination, it is determined that the link component corresponding to the data component with the smaller cost is used with higher priority, and the program code is generated. A program creation support method characterized by:
【請求項4】 前記コストの指定入力要求に応じて利用
者によりコストが指定された場合に、当該利用者指定の
コストを、前記プログラム定義領域に配置されている利
用者指定のデータ部品の近傍に表示するステップを更に
具備することを特徴とする請求項3記載のプログラム作
成支援方法。
4. When a cost is designated by a user in response to the cost designation input request, the cost designated by the user is near the data component designated by the user arranged in the program definition area. 4. The program creation support method according to claim 3, further comprising a step of displaying the program.
【請求項5】 前記データ部品には、当該データ部品の
全てのフィールドを埋めるための第1のメソッドであっ
て、当該データ部品に出力端子が連結された全てのリン
ク部品に対して、当該リンク部品の全ての入力端子に値
が与えられているならば、当該リンク部品の出力端子に
値を伝えるための第2のメソッドを送信する第1のメソ
ッドが予め定義され、 前記リンク部品には、当該リンク部品の入力端子の中に
値が与えられていない入力端子が存在し、且つ当該入力
端子にデータ部品が連結されているならば、当該データ
部品に前記第1のメソッドを送信し、当該リンク部品の
入力端子の中に値が与えられていない入力端子が存在
し、且つ当該入力端子に他のリンク部品が連結されてい
るならば、当該連結されているリンク部品に前記第2の
メソッドと同じメソッドを送信する前記第2のメソッド
が予め定義されていることを特徴とする請求項1または
請求項3記載のプログラム作成支援方法。
5. The data component has a first method for filling all fields of the data component, and the link method is performed for all link components having output terminals connected to the data component. If values are given to all input terminals of the component, a first method for transmitting a second method for transmitting a value to the output terminal of the link component is defined in advance, and the link component has the following method. If there is an input terminal to which a value is not given among the input terminals of the link component and the data component is connected to the input terminal, the first method is transmitted to the data component, If there is an input terminal to which no value is given among the input terminals of the link component and another link component is connected to the input terminal, the second component is connected to the linked component. Claim 1 or claim 3 programming support method according the second method is characterized in that it is defined in advance for transmitting the same method as the method.
【請求項6】 ソフトウェア部品の連結手段をリンク部
品として表現するソフトウェア部品化技術を利用したプ
ログラムの作成を支援するプログラム作成支援プログラ
ムであって、 計算機に、 データが設定されるフィールドを端子として持つデータ
部品と引数を端子として持つリンク部品とに分類される
ソフトウェア部品の群をプログラム構成の要素部品の群
とし、当該要素部品相互の静的な連結構造が決定された
プログラムの静的構造を生成するステップと、 前記プログラムの静的構造中の前記要素部品群のうちの
利用者指定の各データ部品に利用者指定のコストを設定
することで、要素部品相互の振る舞いが定義されたプロ
グラム定義情報を生成するステップと、 前記プログラム定義情報で定義された前記要素部品群の
うちの各データ部品毎に、当該データ部品の各フィール
ドに与えられる値を算出するために、いずれのリンク部
品を用いるべきかを、候補となるリンク部品の入力側に
接続されたデータ部品をたどって、そのたどった先のデ
ータ部品に設定されているコストをもとに、コストが小
さいデータ部品に対応するリンク部品ほど優先して用い
られるように決定してプログラムコードを生成するステ
ップとを実行させるためのプログラム作成支援プログラ
ム。
6. A program creation support program for supporting the creation of a program using a software componentization technique that expresses software component connection means as a link component, the computer having a field to which data is set as a terminal. Generates a static structure of a program in which a group of software parts classified into a data part and a link part having an argument as a terminal is defined as a group of element parts of a program configuration, and a static connection structure between the element parts is determined. And the program definition information in which the mutual behavior of the element parts is defined by setting the user-specified cost for each user-specified data part of the element part group in the static structure of the program. And a step of generating data of each of the element parts group defined by the program definition information. For each product, the data component connected to the input side of the candidate link component is followed to determine which link component should be used to calculate the value given to each field of the data component. A program for executing a step of generating a program code by deciding that a link component corresponding to a data component with a lower cost is preferentially used based on the cost set in the data component Creation support program.
【請求項7】 ソフトウェア部品の連結手段をリンク部
品として表現するソフトウェア部品化技術を利用したプ
ログラムの作成を支援するプログラム作成支援プログラ
ムであって、 計算機に、 データが設定されるフィールドを端子として持つデータ
部品と引数を端子として持つリンク部品とに分類される
ソフトウェア部品の一覧が表示される部品一覧領域、及
びプログラムを作成するのに用いられるプログラム定義
領域を含むプログラム作成画面を表示するステップと、 利用者の操作に応じて前記部品一覧から選択された部品
を、作成すべきプログラムを構成する要素部品として利
用者の操作に応じて前記プログラム定義領域に移動・配
置するステップと、 利用者の操作に応じて、前記プログラム定義領域に配置
されている要素部品相互の端子間を連結し、前記プログ
ラム定義領域に配置されている要素部品の群から構成さ
れ、当該要素部品相互の静的な連結構造が決定されたプ
ログラムの静的構造を生成するステップと、 前記プログラム定義領域に配置されている前記要素部品
群のうちのいずれか1つのデータ部品が利用者の操作に
応じて指定される毎に、当該利用者に対して当該指定さ
れたデータ部品のコストの指定入力を要求するステップ
と、 前記コストの指定入力要求に応じて利用者によりコスト
が指定される毎に、当該利用者指定のコストを、前記プ
ログラムの静的構造中の利用者指定のデータ部品に設定
することで、要素部品相互の振る舞いが定義されたプロ
グラム定義情報を生成するステップと、 前記プログラム定義情報で定義された前記要素部品群の
うちの各データ部品毎に、当該データ部品の各フィール
ドに与えられる値を算出するために、いずれのリンク部
品を用いるべきかを、候補となるリンク部品の入力側に
接続されたデータ部品をたどって、そのたどった先のデ
ータ部品に設定されているコストをもとに、コストが小
さいデータ部品に対応するリンク部品ほど優先して用い
られるように決定してプログラムコードを生成するステ
ップとを実行させるためのプログラム作成支援プログラ
ム。
7. A program creation support program for supporting the creation of a program using a software componentization technique for expressing software component connection means as a link component, the computer having a field to which data is set as a terminal. Displaying a program creation screen including a parts list area in which a list of software parts classified into data parts and link parts having arguments as terminals is displayed, and a program creation screen including a program definition area used for creating a program, A step of moving and arranging a part selected from the parts list according to a user's operation in the program definition area as an element part of a program to be created according to a user's operation; Depending on the A step of generating a static structure of a program, which is composed of a group of element parts arranged in the program definition area by connecting children, and in which a static connection structure of the element parts is determined, Every time any one data component of the element component group arranged in the definition area is designated according to the user's operation, the cost of the designated data component is designated to the user. Step of requesting input, and each time the cost is specified by the user in response to the cost specification input request, the cost specified by the user is transferred to the data part specified by the user in the static structure of the program. By setting, a step of generating program definition information in which the behavior of the element parts is defined, and each of the elements in the group of element parts defined in the program definition information is defined. For each data component, in order to calculate the value given to each field of the data component, which link component should be used, by tracing the data component connected to the input side of the candidate link component, In order to execute the step of generating a program code by deciding based on the cost set in the traced data component, that the link component corresponding to the data component with the smaller cost is used with priority. Program creation support program.
【請求項8】 ソフトウェア部品の連結手段をリンク部
品として表現するソフトウェア部品化技術を利用したプ
ログラムの作成を支援するためのプログラム作成支援装
置であって、 データが設定されるフィールドを端子として持つデータ
部品と引数を端子として持つリンク部品とに分類される
ソフトウェア部品の群をプログラム構成の要素部品の群
とし、当該要素部品相互の静的な連結構造が決定された
プログラムの静的構造を生成する手段と、 前記プログラムの静的構造中の各データ部品と当該デー
タ部品のコストを指定する手段と、 前記指定手段による指定毎に、指定されたコストを、前
記プログラムの静的構造中の指定されたデータ部品に設
定することで、要素部品相互の振る舞いが定義されたプ
ログラム定義情報を生成する手段と、 前記プログラム定義情報に基づくプログラムコードの生
成を指示する手段と、 前記指示手段の指示に応じて、前記プログラム定義情報
で定義された前記要素部品群のうちの各データ部品毎
に、当該データ部品の各フィールドに与えられる値を算
出するために、いずれのリンク部品を用いるべきかを、
候補となるリンク部品の入力側に接続されたデータ部品
をたどって、そのたどった先のデータ部品に設定されて
いるコストをもとに、コストが小さいデータ部品に対応
するリンク部品ほど優先して用いられるように決定して
プログラムコードを生成する手段とを具備することを特
徴とするプログラム作成支援装置。
8. A program creation support device for supporting the creation of a program using a software componentization technique for expressing a software component connection means as a link component, the data having a field to which data is set as a terminal. A group of software parts classified into parts and link parts having arguments as terminals is used as a group of element parts of the program configuration, and a static structure of the program in which the static connection structure of the element parts is determined is generated. Means, means for designating each data component in the static structure of the program and a cost of the data component, and designated cost for each designation by the designating means, in the static structure of the program. Means to generate program definition information in which the behavior of the element parts is defined by setting the data parts Means for instructing generation of a program code based on the program definition information, and, in accordance with an instruction of the instructing means, for each data component of the element component group defined by the program definition information, Which link component should be used to calculate the value given to each field,
The data component connected to the input side of the candidate link component is traced, and the link component corresponding to the data component with the smaller cost is prioritized based on the cost set for the traced data component. And a means for generating a program code by deciding to be used.
【請求項9】 ソフトウェア部品の連結手段をリンク部
品として表現するソフトウェア部品化技術を利用したプ
ログラムの作成を支援するためのプログラム作成支援装
置であって、 データが設定されるフィールドを端子として持つデータ
部品と引数を端子として持つリンク部品とに分類される
ソフトウェア部品の一覧が表示される部品一覧領域、及
びプログラムを作成するのに用いられるプログラム定義
領域を含むプログラム作成画面を表示する手段と、 前記部品一覧から任意の部品を選択するための手段と、 前記部品一覧から選択された部品を、作成すべきプログ
ラムを構成する要素部品として利用者の操作に応じて前
記プログラム定義領域に移動・配置するための手段と、 前記プログラム定義領域に配置されている要素部品相互
の任意の端子間の連結を指定する手段と、 前記指定された端子間を連結することで、前記プログラ
ム定義領域に配置されている要素部品の群から構成さ
れ、当該要素部品相互の静的な連結構造が決定されたプ
ログラムの静的構造を生成する手段と、 前記プログラム定義領域に配置されている前記要素部品
群のうちの任意のデータ部品と当該データ部品のコスト
とを指定する手段と、 前記指定手段による指定毎に、指定されたコストを、前
記プログラムの静的構造中の指定されたデータ部品に設
定することで、要素部品相互の振る舞いが定義されたプ
ログラム定義情報を生成する手段と、 前記プログラム定義情報に基づくプログラムコードの生
成を指示する手段と、 前記指示手段の指示に応じて、前記プログラム定義情報
で定義された前記要素部品群のうちの各データ部品毎
に、当該データ部品の各フィールドに与えられる値を算
出するために、いずれのリンク部品を用いるべきかを、
候補となるリンク部品の入力側に接続されたデータ部品
をたどって、そのたどった先のデータ部品に設定されて
いるコストをもとに、コストが小さいデータ部品に対応
するリンク部品ほど優先して用いられるように決定して
プログラムコードを生成する手段とを具備することを特
徴とするプログラム作成支援装置。
9. A program creation support device for supporting the creation of a program using a software componentization technique for expressing a linking means of software components as a link component, the data having a field to which data is set as a terminal. A parts list area for displaying a list of software parts classified into parts and linked parts having arguments as terminals; and means for displaying a program creation screen including a program definition area used for creating a program, Means for selecting an arbitrary component from the component list, and moving and arranging the component selected from the component list in the program definition area as an element component constituting a program to be created according to a user's operation Means for performing the above, and optional mutual components arranged in the program definition area A means for designating a connection between terminals and a configuration of a group of element parts arranged in the program definition area by connecting the specified terminals, and a static connection structure between the element parts is provided. Means for generating a static structure of the determined program; means for designating an arbitrary data component of the element component group arranged in the program definition area and the cost of the data component; Means for generating the program definition information in which the behavior of the element parts is defined by setting the specified cost in the specified data part in the static structure of the program for each specification by the program; Means for instructing generation of a program code based on definition information, and the element component defined by the program definition information in response to an instruction from the instructing means For each of the data part of, in order to calculate the value given for each field of the data part, or should be used either link parts,
The data component connected to the input side of the candidate link component is traced, and the link component corresponding to the data component with the smaller cost is prioritized based on the cost set for the traced data component. And a means for generating a program code by deciding to be used.
JP2002040262A 2002-02-18 2002-02-18 Program creation support method, program creation support program, and program creation support apparatus Expired - Fee Related JP3713466B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002040262A JP3713466B2 (en) 2002-02-18 2002-02-18 Program creation support method, program creation support program, and program creation support apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002040262A JP3713466B2 (en) 2002-02-18 2002-02-18 Program creation support method, program creation support program, and program creation support apparatus

Publications (2)

Publication Number Publication Date
JP2003241966A true JP2003241966A (en) 2003-08-29
JP3713466B2 JP3713466B2 (en) 2005-11-09

Family

ID=27781051

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002040262A Expired - Fee Related JP3713466B2 (en) 2002-02-18 2002-02-18 Program creation support method, program creation support program, and program creation support apparatus

Country Status (1)

Country Link
JP (1) JP3713466B2 (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012104134A (en) * 2002-11-06 2012-05-31 Cord Bally Corp Pty Ltd Method and apparatus for generating computer executable codes using components
JP2013171322A (en) * 2012-02-17 2013-09-02 Toshiba Corp Plant operation support device, plant operation support program and plant operation support method
JP2015212911A (en) * 2014-05-07 2015-11-26 富士通株式会社 Software selection unit, software selection method, and software selection program
JP2015228259A (en) * 2015-09-02 2015-12-17 株式会社東芝 Plant operation support apparatus, plant operation support program and plant operation support method
JP2016006682A (en) * 2015-09-02 2016-01-14 株式会社東芝 Plant operation support apparatus, plant operation support program and plant operation support method
JP2016194947A (en) * 2007-09-11 2016-11-17 シャンベラ リミテッド System, method and graphical user interface for workflow generation, deployment and/or execution
JP2017050011A (en) * 2007-09-11 2017-03-09 シャンベラ リミテッド System, method and graphical user interface for workflow generation, placement and/or execution
US9916610B2 (en) 2002-11-06 2018-03-13 Noel William Lovisa Service implementation
JP2020149683A (en) * 2019-03-13 2020-09-17 株式会社日立製作所 Method and system for automatically building image analysis program

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012104134A (en) * 2002-11-06 2012-05-31 Cord Bally Corp Pty Ltd Method and apparatus for generating computer executable codes using components
US9916610B2 (en) 2002-11-06 2018-03-13 Noel William Lovisa Service implementation
JP2016194947A (en) * 2007-09-11 2016-11-17 シャンベラ リミテッド System, method and graphical user interface for workflow generation, deployment and/or execution
JP2017050011A (en) * 2007-09-11 2017-03-09 シャンベラ リミテッド System, method and graphical user interface for workflow generation, placement and/or execution
JP2013171322A (en) * 2012-02-17 2013-09-02 Toshiba Corp Plant operation support device, plant operation support program and plant operation support method
JP2015212911A (en) * 2014-05-07 2015-11-26 富士通株式会社 Software selection unit, software selection method, and software selection program
JP2015228259A (en) * 2015-09-02 2015-12-17 株式会社東芝 Plant operation support apparatus, plant operation support program and plant operation support method
JP2016006682A (en) * 2015-09-02 2016-01-14 株式会社東芝 Plant operation support apparatus, plant operation support program and plant operation support method
JP2020149683A (en) * 2019-03-13 2020-09-17 株式会社日立製作所 Method and system for automatically building image analysis program

Also Published As

Publication number Publication date
JP3713466B2 (en) 2005-11-09

Similar Documents

Publication Publication Date Title
US10997246B2 (en) Managing and automatically linking data objects
US5999911A (en) Method and system for managing workflow
US7089256B2 (en) Universal data editor
US7370315B1 (en) Visual programming environment providing synchronization between source code and graphical component objects
US8060832B2 (en) Managing information display
US20060080616A1 (en) Systems, methods and user interfaces for document workflow construction
JPH0756628B2 (en) Graphical user interface editing device
US11741411B2 (en) System and method for software development including column-based process editor
Eggenschwiler et al. ET++ SwapsManager: Using object technology in the financial engineering domain
US20230342430A1 (en) Robotic process automation system with hybrid workflows
US20120060141A1 (en) Integrated environment for software design and implementation
Lybecait et al. A tutorial introduction to graphical modeling and metamodeling with CINCO
US20180089602A1 (en) Transformation of process model specification between formats
JP2003241966A (en) Programming support method, programming support program and programming support device
Sboui et al. A UI-DSPL approach for the development of context-adaptable user interfaces
Mani et al. Using user interface design to enhance service identification
JP2003241965A (en) Programming support method, programming support program and programming support device
JP2003223321A (en) Software component preparing method and program and software component preparing device
Ali et al. Generic navigation of model-based development artefacts
Grundy et al. Low-level and high-level CSCW support in the Serendipity process modelling environment
JP2571143B2 (en) Program development equipment
Artim et al. User interface services in AD/Cycle
Castroianni et al. Development of a Workflow Design Tool for the Scarabaeus Project
Abu Sabha An Automated Generation of Business Application using Entity Relationship Diagram and Business Process Model
Tuncel Using collaboration diagrams in component oriented modelin

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050412

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050613

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050816

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050822

LAPS Cancellation because of no payment of annual fees