JP3713466B2 - Program creation support method, program creation support program and program creation support device - Google Patents

Program creation support method, program creation support program and program creation support device Download PDF

Info

Publication number
JP3713466B2
JP3713466B2 JP2002040262A JP2002040262A JP3713466B2 JP 3713466 B2 JP3713466 B2 JP 3713466B2 JP 2002040262 A JP2002040262 A JP 2002040262A JP 2002040262 A JP2002040262 A JP 2002040262A JP 3713466 B2 JP3713466 B2 JP 3713466B2
Authority
JP
Grant status
Grant
Patent type
Prior art keywords
program
component
data
user
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.)
Expired - Fee Related
Application number
JP2002040262A
Other languages
Japanese (ja)
Other versions
JP2003241966A (en )
Inventor
茂 小林
Original Assignee
株式会社東芝
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
Grant date

Links

Images

Description

【0001】 [0001]
【発明の属する技術分野】 BACKGROUND OF THE INVENTION
本発明は、ソフトウェア部品の連結手段をも部品として表現するソフトウェア部品化技術を利用したソフトウェア開発技術に係り、特に、ソフトウェア開発者がこの種のソフトウェア部品を用いてプログラムを作成するのを支援するプログラム作成支援方法、プログラム作成支援プログラム及びプログラム作成支援装置に関する。 The present invention relates to software development technology using software component technology to represent as part of the coupling means of the software component, in particular, software developers to assist in developing a program in this kind of software components program creation support method, a program creation support program and program creation support apparatus.
【0002】 [0002]
【従来の技術】 BACKGROUND OF THE INVENTION
ソフトウェア(ソフトウェアプログラム)の部品化は、ソフトウェアの生産性・品質向上の重要な手法である。 Parts of the software (software program) is an important technique of software productivity and quality improvement. オブジェクト指向プログラミングは、このソフトウェアの部品化の促進に効果があると従来から期待されていた。 Object-oriented programming was expected conventionally to be effective in promoting component of this software. その理由は、オブジェクト指向プログラミングでは、継承の機構がソフトウェアの再利用につながる点と、モジュールの独立性の高さや現実世界の「もの」との類似性がそれらの仕様理解を助ける点などとにある。 The reason for this is that, in the object-oriented programming, to the point at which inheritance mechanism leads to the re-use of the software, the similarity of the "things" of the module of the independence of the height and the real world is a point etc. to aid in the understanding those specifications is there.
【0003】 [0003]
【発明が解決しようとする課題】 [Problems that the Invention is to Solve
しかしながら、上記のような期待にもかかわらず、実際には、現在もソフトウェアの部品化手法は十分には確立されていない。 However, despite the expectations described above, in fact, part technique software also currently not well established. 従来、オブジェクト指向プログラミングだけではソフトウェアの部品化が十分に実現できなかった理由を以下に列挙する。 Traditionally, the only object-oriented programming to enumerate the reasons why parts of the software can not be fully realized in the following.
【0004】 [0004]
(A1)継承に基づくプログラミングでは、最も一般化された、抽象度の高い部品から完成していく必要がある。 In the programming based on the (A1) inherited, was the most common, it is necessary to complete a high level of abstraction parts. しかし、求められる一般形を見極めるのは、ソフトウェアの機能が大きくなると急激に困難になる。 However, determine the general form obtained will sharply difficult when the function of the software increases. 特に、ソフトウェア開発者(プログラム作成者)が対象業務の専門知識を有さない場合には、それが顕著である。 In particular, if the software developers (program creator) does not have the specialized knowledge of the subject business, it is remarkable. また、ソフトウェアに対するユーザ要件は、刻々と変化する。 In addition, user requirements for the software, the ever-changing. そのために、ある時点では十分な一般性を備えた部品を作成できても、時間経過に伴いその利用可能性が小さくなっていく。 Therefore, even create a component with sufficient generality at some point, becomes smaller is its availability with time.
【0005】 [0005]
(A2)処理の主体や対象は「もの」として表現するものの、処理主体が(一般には複数の)処理対象にどのように作用して目的の機能を実現するかという点に関しては、従来同様に手続き的な表現が基本となっている。 (A2) despite treatment of the principal and interest is expressed as "things", the processing entity in terms of how to implement the desired functionality to act as a process target (typically a plurality of) it is conventionally likewise procedural representation has become a basic. その結果、部品を組み合わせたシステム全体の振る舞いの把握や予測を、物理的な装置のように直感的にできない。 As a result, combined to grasp and predict the overall behavior system components, it can not be intuitively as physical devices. そのため、現在は、ソフトウェアの設計やメンテナンスにおける人間の思考支援を目的とした、様々な図表の作成などが必要になっている。 Therefore, now, for the purpose of human thought support in the design and maintenance of software, it has become necessary such as the creation of a variety of charts.
【0006】 [0006]
この、オブジェクト指向プログラミングにおいて未解決の部分を補完するために、これまで部品とみなされてきたオブジェクトだけでなく、オブジェクト間の連結部分をも部品化するプログラミング技術が考えられる。 This, in order to complement the unresolved portions in an object-oriented programming, not only the objects that have been considered as part far programming techniques is considered to part of even a linking moiety between objects. つまり、大きなオブジェクトの部品化を目指すのではなく、一連のオブジェクト群が目的の機能を実現するようオブジェクトを組み合わせる素材を部品化するプログラミング技術が考えられる。 That is, rather than aiming to parts of large objects, programming techniques is considered to part of a material that combines the object as a series of objects groups intended function. この技術は、多くの実務処理がそうであるように、各種フォームやレコードなどの受動的性格の強いデータを入出力として加工するソフトウェアの開発において、特に有用となることが予想される。 This technique, as do many practical processes, in the development of software for processing the strong data of the passive nature of various forms and record as input and output, are expected to be particularly useful.
【0007】 [0007]
本発明は上記事情を考慮してなされたものでその目的は、ソフトウェア部品の連結部分をも部品として表現するソフトウェア部品化技術を利用して、最適な手順で実行されるプログラムをソフトウェア開発者が容易に作成できるように支援する、プログラム作成支援方法、プログラム作成支援プログラム及びプログラム作成支援装置を提供することにある。 The present invention is their purpose has been made in view of these circumstances, using the software component technology to express as parts are a linking moiety of the software component, the program executed by the best procedure software developers easily assist to allow the creation, programming supporting method is to provide a programming supporting program and program creation supporting device.
【0008】 [0008]
【課題を解決するための手段】 In order to solve the problems]
本発明の1つの観点によれば、ソフトウェア部品の連結手段をリンク部品として表現するソフトウェア部品化技術を利用したプログラムの作成を支援するための計算機により実行されるプログラム作成支援方法が提供される。 According to one aspect of the present invention, the programming supporting method performed by the computer to support the creation of a program using a software component technology to represent a connection means of the software component as a link component is provided. このプログラム作成支援方法は、データが設定されるフィールドを端子として持つデータ部品と引数を端子として持つリンク部品とに分類されるソフトウェア部品の群をプログラム構成の要素部品の群とし、当該要素部品相互の静的な連結構造が決定されたプログラムの静的構造を生成するステップと、上記プログラムの静的構造中の要素部品群のうちの利用者指定の各データ部品に利用者指定のコストを設定することで、要素部品相互の振る舞いが定義されたプログラム定義情報を生成するステップと、上記プログラム定義情報で定義された要素部品群のうちの各データ部品毎に、当該データ部品の各フィールドに与えられる値を算出するために、いずれのリンク部品を用いるべきかを、候補となるリンク部品の入力側に接続されたデータ The programming supporting method, and a group of software components which are classified data components and arguments with fields data is set as a terminal to a link part having a terminal and a group of component parts of the program structure, the component parts mutually setting a step of static linking structure to produce a static structure of a program that has been determined, the cost of the user assigned to each data component of the user-specified one of the component parts group in the static structure of the program doing, and generating a program definition information behavior component parts mutually are defined, for each of the data part of the elements defined component groups in the program definition information, given to each field of the data component to calculate the value to be, or should be used either link parts, which are connected to the input side of the link part to be a candidate data 品をたどって、そのたどった先のデータ部品に設定されているコストをもとに、コストが小さいデータ部品に対応するリンク部品ほど優先して用いられるように決定してプログラムコードを生成するステップとを備えている。 Following the goods, the step of generating based on the cost that is set to the previous data part traced, the program code to determine to be used by higher priority link part corresponding to the cost is small data component It is equipped with a door.
【0009】 [0009]
このように、本発明の1つの観点に係るプログラム作成支援方法においては、まず、プログラムの静的構造である、当該プログラムを構成する要素部品と、その要素部品相互の静的な連結構造とが生成される。 Thus, in the programming supporting method according to one aspect of the present invention, first, a static structure of the program, the component parts that make up the program, and the static coupling structure of the component parts each other It is generated. つまり、上記プログラム作成支援方法においては、リンク部品による連結で、データ部品が相互にいかに関連しているかという、相互の静的な連結構造が表現される。 That is, in the program creation supporting method, in connection by the link parts, the data component of whether associated how mutually static connection structure of the cross is represented. そして、上記プログラム作成支援方法においては、利用者の操作による各データ部品毎のコスト指定を受け付けて、その利用者指定の各データ部品に利用者指定のコストを設定することで、プログラム定義情報が生成される。 Then, in the program creation supporting method, it accepts the costs specified for each data component according to a user's operation, by setting the cost of the user assigned to each data component of the user specified, the program definition information It is generated. ここで、各データ部品に付けられたコストは、そのデータ部品から、値を与えてもらう際の、一種の回避すべき度合いの重みであり、値を与えてもらう優先度でもある。 Here, the cost assigned to each data component from the data part, when the get given a value, a weighting of the degree to be avoided kind, is also a priority get given a value. したがって、データ部品毎のコストは、プログラムの要素部品相互の振る舞い、つまり、どのような順序で、どの要素部品にメッセージを送るかを決定するための情報であるといえる。 Therefore, the cost of each data component, component parts mutual program behavior, that is, in what order, said to be information for determining when to send a message to any component parts. このように、プログラムの構造が、当該プログラムの静的構造(当該プログラムを構成する要素部品及びその要素部品相互の静的な連結構造)と、プログラムの要素部品相互の振る舞いを定める各データ部品に付されたコストとの2つの階層に分離されるので、それぞれを作成、把握するのが容易になる。 Thus, the structure of the program, the static structure of the program (component parts and static coupling structure of the component parts mutually constituting the program), to each data component defining the component parts mutual program behavior because it is separated into two tiers with attached the costs, create each, becomes easy to grasp. このプログラムの構造は、コストが付されたデータ部品群と、それらのデータ部品相互間を連結するリンク部品とで定義されているともいえる。 Structure of the program, a data group of components cost is attached, be said to be defined by the link part for connecting the those data components each other.
【0010】 [0010]
以上により、生成されたプログラム定義情報は、プログラムの静的構造中の各要素部品を、どのような順序で、どの要素部品にメッセージを送るかが、メソッドとして定義されたプログラム定義情報であるといえる。 By the above, the program definition information generated in the respective component parts of the static structure of the program, in any order, send a message to which component parts are, if it is the program definition information defined as methods it can be said. よって、上記プログラム作成支援方法においては、プログラム定義情報で定義された各データ部品毎に、当該データ部品の各フィールドを満たす値を算出するのに用いるリンク部品を決定するのに、候補となるリンク部品の入力側に接続されたデータ部品をたどって、そのたどった先のデータ部品に設定されているコストをもとに、コストが小さいデータ部品に対応するリンク部品ほど優先して用いられるように決定してプログラムコードを生成することで、プログラム定義情報で定義されたプログラムの最適なプログラムコードを簡単に生成することができる。 Therefore, in the program creation supporting method, for each of the data components that are defined in the program definition information, to determine the link components used to calculate the value that satisfies the fields of the data component, the candidate link following the connected data part to the input side of the component, based on the cost that is set to the previous data component that has followed, as used in preference as link part corresponding to the cost is small data component determined to be to generate the program code, it is possible to easily generate optimal program code of the program defined by the program definition information.
【0011】 [0011]
しかも、上記プログラム作成支援方法においては、ソフトウェア開発者が記述(定義)すべきプログラムは、データ部品とそのコスト、及び当該データ部品がリンク部品によっていかに連結されているか、つまり要素部品相互の静的な連結構造だけであり、各データ部品について、そのデータ部品の端子(フィールド)に与えられる値(データ)を完成するための最適手順を作成する必要がない。 Moreover, in the program creation support method, software developers describe (define) should do program, data components and their cost, and whether the data part is how connected by a link part, i.e. the component parts mutually static Do coupling structure is only, for each data component, it is not necessary to create an optimal procedure to complete the given value (data) to the data part of the terminal (field). このため上記プログラム作成支援方法においては、参照可能なデータ部品を追加するなどの変更も、容易に、且つ正確に行うことができる。 Therefore in the above program creation supporting method, and changes, such as adding a referenceable data components, can be easily carried out and accurately.
【0012】 [0012]
ここで、上記各要素部品には、その部品がデータ部品、またはリンク部品のいずれであるかにより、次のようなメソッドが予め定義されているとよい。 Here, the each component parts, depending on whether the part is one of a data component or link component, may the following methods defined in advance. まず、データ部品には、当該データ部品の全てのフィールドを埋めるための第1のメソッドであって、当該データ部品に出力端子が連結された全てのリンク部品に対して、当該リンク部品の全ての入力端子に値が与えられているならば、当該リンク部品の出力端子に値を伝えるための第2のメソッドを送信する第1のメソッドが定義されているとよい。 First, the data component, a first method to fill all fields of the data component, for all links component output to the data component terminals are connected, all of the link parts If the value in the input terminal is given, may first method for transmitting the second method for transmitting the value to the output terminal of the link components are defined. 次に、リンク部品には、当該リンク部品の入力端子の中に値が与えられていない入力端子が存在し、且つ当該入力端子にデータ部品が連結されているならば、当該データ部品に上記第1のメソッドを送信し、当該リンク部品の入力端子の中に値が与えられていない入力端子が存在し、且つ当該入力端子に他のリンク部品が連結されているならば、当該連結されているリンク部品に上記第2のメソッドと同じメソッドを送信する第2のメソッドが定義されているとよい。 Then, the link parts present input value is not given in the input terminals of the link parts, if and data components to the input terminal is connected, the first in the data component sending first method, there input value is not given in the input terminals of the link parts, if and other linking labels to the input terminal is connected, is the connecting link parts may second method for transmitting the same method as the second method is defined.
【0013】 [0013]
また、プログラムの静的構造中の要素部品群、及び当該要素部品相互の静的な連結構造を、プログラムを作成するのに用いられるプログラム作成画面のプログラム定義領域に表示して、当該定義領域に表示されている要素部品群のうちのいずれか1つのデータ部品が利用者の操作に応じて指定される毎に、当該利用者に対して当該指定されたデータ部品のコストの指定入力を要求する構成とするならば、利用者は各データ部品のコストの指定入力を効率的に行うことが可能となる。 Also, component parts groups static structure of the program, and the static coupling structure of the component parts each other, and displayed in the program definition area of ​​the program creation screen used to create the program, to the definition area each time one of the data parts of the component parts group displayed is designated according to operation of the user, requests the cost for the specified input of the specified data component with respect to the user if a configuration, the user is able to perform the designated input cost of each data component efficiently. また、指定されたコストを、プログラム定義領域に表示されている対応するデータ部品の近傍に表示するならば、利用者にとってプログラム定義領域上の各データ部品に付されているコストを視認できるため、データ部品のコストの指定入力をより効率的に且つ意図した通りに行うことが可能となる。 Further, since the specified cost, if displayed near the corresponding data component is displayed in the program definition area, which can be visually recognized costs are assigned to each data component of the program definition area for the user, it is possible to perform a cost for the specified input data parts more efficiently and as intended.
【0014】 [0014]
また、プログラム作成画面上に、ソフトウェア部品の一覧が表示される部品一覧領域を配置し、当該部品一覧領域から利用者指定の部品を選択して、プログラム定義領域上の利用者指定の位置に移動・配置可能な構成とすると共に、利用者の指定に応じて、プログラム定義領域に配置されている要素部品相互の端子間を連結可能な構成とするならば、利用者は、自身の意図した要素部品から構成されるプログラムの静的構造を効率的に作成することが可能となる。 The movement, the program creation screen, place the parts list area in which a list of software components is displayed by selecting the user-specified component from the parts list area, the user-specified location in the program definition area · with a possible placement configuration, in accordance with designation by the user, if the connectable configured between component parts mutually terminals arranged in the program definition area, the user, with the intention of its elements it is possible to create a static structure of a program configured efficiently from parts.
【0015】 [0015]
なお、以上のプログラム作成支援方法に係る本発明は、当該方法を実行してプログラムの作成を支援するためのプログラム作成支援装置に係る発明としても、当該方法を構成する各ステップを計算機に実行させるためのプログラム(プログラム作成支援プログラム)に係る発明としても成立する。 The present invention according to the programming supporting method described above, even the invention according to a program creation support apparatus for supporting creation of a program to execute the method, to execute the steps constituting the method in a computer also an invention relating to the program (program creation support program) for.
【0016】 [0016]
【発明の実施の形態】 DETAILED DESCRIPTION OF THE INVENTION
以下、本発明の実施の形態につき説明する。 Hereinafter, it will be explained an embodiment of the present invention.
本発明の実施形態の特徴は、オブジェクト間の連結部分(リンク)をも部品化するプログラミング技術(リンク指向プログラミング技術)によりソフトウェアの部品化が容易に実現できるようにした点にある。 Features of embodiments of the present invention is that the as part of the software can be easily realized by programming techniques (link-oriented programming techniques) to parts of even a linking moiety (link) between objects. そこで、本実施形態の理解を容易にするために、本実施形態で適用される、連結部分を部品表現するプログラム記法の体系について説明する。 Therefore, in order to facilitate understanding of the present embodiment is applied in the present embodiment will be described systematic program notation for components representing a linking moiety.
【0017】 [0017]
(B1)従来のオブジェクト指向プログラミングにおけるオブジェクトに相当するものとして、「データ部品」が存在する。 (B1) as corresponding to the object in the traditional object-oriented programming, there is a "data part". データ部品は、1個以上のフィールド(インスタンスフィールド)を持つ。 Data components, with one or more of the fields (instance field). 全てのフィールドは外部に公開されており(隠蔽されておらず)、値の参照及び設定が可能である。 All fields (not hidden) have been published to the outside, it is possible to see and set the value.
【0018】 [0018]
(B2)データ部品の連結を実現する部品として、「リンク部品」が存在する。 (B2) as a component for realizing the coupling of the data part, there is a "link part". リンク部品には「関数型リンク部品」(以下、単に「関数」と称することもある)と「述語型リンク部品」(以下、単に「述語」と称することもある)との2種類がある。 Link "functional linking component" in component (hereinafter, may be simply referred to as "function") and "predicated link part" There are two kinds of (hereinafter, sometimes simply referred to as "predicate") and.
【0019】 [0019]
(B3)関数は、一般にn入力m出力の多値関数であり、入力側から出力側へ値をそのまま或いは変換して伝達する。 (B3) function is generally a multi-valued function of n input m output is directly transmitted or converted to a value to the output side from the input side. 特別な関数の例として、乱数発生関数のように、入力の無い関数とみなすことのできるものがある。 Examples of special functions, such as the random number generator, there is what can be regarded as no function of the input.
【0020】 [0020]
(B4)述語は、1個以上の入力引数のみを持つ。 (B4) predicate, with only one or more of the input argument. 但し、入力引数に基づく真偽判定の結果により、他のデータ部品、或いはリンク部品にメッセージを送ることができる。 However, the result of the authenticity determination based on the input arguments, can send messages to other data components or link parts.
【0021】 [0021]
(B5)データ部品の各フィールド、並びに関数及び述語の各々の引数を、まとめて「端子」と呼ぶ。 (B5) each field of the data part, and each of the arguments of the function and a predicate, collectively referred to as "terminal". 端子には、値を伝達することのできる方向がある。 The terminal, there is a direction capable of transmitting a value. データ部品の端子は双方向の伝達が可能である。 Terminal of the data component is capable of two-way transmission is. 関数の端子は、入力端子は入力方向にのみ、出力端子は出力方向にのみ伝達が可能である。 Terminal functions, input terminal only the input direction and the output terminal is possible only transmitted to the output direction. 但し、後述する逆関数が定義されている場合には双方向に伝達可能である。 However, if the inverse function to be described later is defined can be transmitted bidirectionally. 述語の端子は、全て入力方向にのみ伝達可能である。 Predicate terminal can be transmitted only in every input direction.
【0022】 [0022]
(B6)データ部品のフィールドのアクセスは、データ部品名とフィールド名とを用いた次の形式データ部品名.フィールド名により可能である。 (B6) accessing data component fields may be the data part name and the field name and the next format data component name with. Field Name.
【0023】 [0023]
(B7)関数による部品間連結の表現は、リンク部品の種別を示す関数名(クラス名)、リンク部品の名前であるリンク名(インスタンス名)、入力端子を示す入力名、及び出力端子を示す出力名とを用いた次の形式 (B7) function representation of the component between consolidated by the function name indicating the type of link parts (class name), showing the link name in a name of the link part (instance name), the input name indicating the input terminal, and an output terminal the following format using the output name
による。 by.
【0024】 [0024]
(B8)述語による部品間連結の表現は、リンク部品の種別を示す述語名(クラス名)、リンク名(インスタンス名)、入力端子を示す入力名、及び述語の真偽判定の結果に基づく処理内容とを用いた次の形式 (B8) representation of the part between coupling by predicates, predicate name indicating the type of link parts (class name), link name (instance name), the input name indicating the input terminal, and based on the results of the authenticity determination predicate processing the following format using the content
による。 by.
【0025】 [0025]
(B8)データ部品、関数、及び述語には、それぞれ次のメソッドが定義される。 (B8) data components, functions, and the predicate, respectively the following methods are defined.
【0026】 [0026]
データ部品には、「fill()」と表現されるメソッド(fillメソッド)が定義される。 The data components, methods that are described as "fill ()" (fill method) is defined. fill()は、対応するデータ部品のフィールドに値を埋めるメソッドである。 fill () is a method to fill the fields of the corresponding data part. そのためfill()は、対応するデータ部品に自身の出力端子を連結された全てのリンク部品に対し、次に述べるflow()を送って値を取り寄せる機能を持つ。 Therefore fill () call on all links components coupled the output terminal of itself in the corresponding data parts, with the function of request a value send a flow () to be described below. ここでは、データ部品に出力端子が連結可能なリンク部品は、関数(関数型リンク部品)に限られる。 Here, possible link part connecting the output terminal to the data part is limited to a function (functional linking labels). fill()はまた、フィールド値を完成できたなら、当該fill()を呼び出したメッセージ送信元にsuccess(成功)ステータスを通知し、何らかの理由により完成できなかったなら、failure(失敗)ステータスを通知する機能を有する。 fill () also, we were able to complete the field value, notifies the fill () notifies the success (success) status to call the message sender, and if could not be completed due to some reason, failure (failure) status It has a function of.
【0027】 [0027]
関数には、「flow()」と表現されるメソッド(flowメソッド)が定義される。 The function, "flow ()" method, which is expressed as (flow method) is defined. flow()は、対応する関数の出力端子に値を伝えるメソッドである。 flow () is a method to convey the value to the output terminal of the corresponding function. 即ちflow()は、対応する関数の全ての入力端子に値が与えられているならば、その関数の出力端子の値を算出し、その算出した値を当該出力端子に伝えるソッドである。 That flow (), if the value to all input terminals of the corresponding function is given, to calculate the value of the output terminal of the function, a methods that communicate the calculated value to the output terminal. そのためflow()は、値を与えられていない入力端子がある場合、その入力端子に連結されている部品がデータ部品であれば当該データ部品にfill()を、関数型のリンク部品(関数)であれば当該関数型リンク部品にflow()を、そして述語型のリンク部品(述語)であれば当該述語型リンク部品にtest()を送って、その入力端子を通して値を取得することで全ての入力値を満たし、出力端子に値を伝える機能を有する。 Therefore flow (), if there is an input terminal that has not been given a value, the fill () part being connected to the input terminal to the data part if the data part, functional link part (function) the flow () on the functional link components as long, and sending test () if predicated link parts (predicates) in the predicated linking labels, all by obtaining the value through the input terminal meet the input values ​​and has a function of transmitting the value to the output terminal. flow()はまた、値の伝達処理が正常に行えたなら、当該flow()を呼び出したメッセージ送信元にsuccessステータスを通知し、何らかの理由により伝達できなかったなら、failureステータスを通知する機能を有する。 flow () it can also, if transmission processing values ​​were performed normally, if notified success status to the message sender that called the flow (), could not be transferred for some reason, the function of notifying the failure status a.
【0028】 [0028]
また、関数の逆関数が定義されている場合に限り、その関数には、「flowBackward()」と表現されるメソッド(flowBackwardメソッド)が定義される。 Further, only if the inverse function of the function is defined, in its function, methods that are expressed as "FlowBackward ()" (FlowBackward method) are defined. flowBackward()は、対応する関数の入力端子を出力端子に、出力端子を入力端子にして、定義された逆関数のflow()を実行するメソッドである。 flowBackward () is the output terminal of the input terminals of the corresponding functions, and the output terminal to the input terminal, a method for performing a flow () of the inverse function defined.
【0029】 [0029]
述語には、「test()」と表現されるメソッド(testメソッド)が定義される。 The predicate, "test ()" method, which is expressed as (test method) is defined. test()は、対応する述語の全ての入力端子に値が与えられたとき、それらの値に基づいて真偽を判定し、その判定結果に基づいて定義された処理を行って、他のデータ部品またはリンク部品にメッセージを送るメソッドである。 test (), the corresponding time value is given to all the input terminals of the predicate to determine the authenticity based on those values, it performs processing defined on the basis of the determination result, other data which is a method to send a message to the parts or link parts. そのためtest()は、値を与えられていない入力端子がある場合、その入力端子に連結されている部品がデータ部品であれば当該データ部品にfill()を、関数型のリンク部品であれば当該関数型リンク部品にflow()を、そして述語型のリンク部品であれば当該述語型リンク部品にtest()を送って、その入力端子を通して値を取得することで全ての入力値を満たし、真偽を判定する機能を有する。 Therefore test (), if there is an input terminal that has not been given a value, parts which are connected to the input terminal a fill () in the data part if the data part, if the functional link parts the flow () on the functional link parts, and sending test () if predicated link parts to the predicated link parts, meet all of the input value by obtaining the value through the input terminal, It has the function of determining the authenticity. test()はまた、処理が正常に行えたなら、当該test()を呼び出したメッセージ送信元にsuccessステータスを通知し、何らかの理由により失敗したなら、failureステータスを通知する機能を有する。 test () also if processing is performed normally, if notified success status to the message sender that called the test (), it failed for some reason, has a function of notifying the failure status.
【0030】 [0030]
(B9)少なくとも2つのリンク部品を組み合わせて、新しい部品、つまり関数(合成関数)を作成できる。 (B9) a combination of at least two links parts, can create new components, i.e. function (composite function). 1つの部品を構成する各部品を要素部品と呼ぶ。 The parts which form one component referred to as component parts. また、要素部品がリンク部品の場合、その要素部品を要素リンク部品と呼ぶ。 Moreover, if the element parts of the link part, called the component parts and elements linking labels. 要素リンク部品の端子間を接続する場合、入力方向のみの端子同士、あるいは出力方向のみの端子同士を連結することはできない。 When connecting between the elements link component terminal, it is impossible to connect the terminals of the input direction only terminals of, or the output direction only. 要素部品間で連結されなかった端子は、新しく作成された部品の端子となる。 Terminals that are not connected between component parts is a newly created component terminal. また、新しい部品(リンク部品)の作成に、リンク部品だけでなくデータ部品を用いることができるのは勿論である。 Moreover, the creation of new parts (link part), it is of course also possible to use a data part not only link parts.
【0031】 [0031]
(B10)プログラムの実行は、当該プログラムを構成するデータ部品とリンク部品に対してメッセージを送ることで行われる。 (B10) execution of the program is carried out by sending a message to the data components and link components constituting the program.
【0032】 [0032]
このような、連結部分を部品表現するプログラム記法の体系を適用した本実施形態について、図面を参照して説明する。 Such, the present embodiment applying a systematic program notation for components representing the connecting portion will be described with reference to the drawings.
図1は本発明の一実施形態に係る、ソフトウェア部品を用いたプログラム作成を支援するプログラム作成支援装置の構成を示すブロック図である。 1 according to an embodiment of the present invention, it is a block diagram showing the configuration of a program creation support apparatus for supporting the program generation using the software component.
【0033】 [0033]
図1に示すプログラム作成支援装置は、パーソナルコンピュータ等のデータ処理装置(計算機)により実現される。 Program creation support apparatus shown in FIG. 1 is realized by a data processing apparatus such as a personal computer (computer). つまり、プログラム作成支援装置は、主として、外部記憶装置1と、主記憶装置2と、表示装置3と、入力装置4と、CPU5と、システムバス6とから構成されるデータ処理装置である。 That is, the program creation supporting device, mainly, an external storage device 1, a main memory 2, a display device 3, an input device 4, a CPU 5, a data processing device comprising the system bus 6.
【0034】 [0034]
外部記憶装置1は、ハードディスクドライブ(HDD)等の大容量記憶装置である。 External storage device 1 is a large-capacity storage device such as a hard disk drive (HDD). 外部記憶装置1には、ソフトウェア部品の定義情報(ソフトウェア部品定義情報)11と、ソフトウェア部品を表す図像としてのアイコン(部品アイコン)のイメージデータ(アイコンデータ)12と、作成されたプログラム定義情報13とプログラムコード14とが格納されている。 The external storage device 1, and definition information (software component definition information) 11 of the software component, and image data (icon data) 12 icon as iconography representing the software component (component icon), the program definition information created 13 and the program code 14 is stored.
【0035】 [0035]
ソフトウェア部品定義情報11は、予め用意されているソフトウェア部品及び新たに作成されたソフトウェア部品を定義した情報である。 Software component definition information 11 is information that defines a software component and a newly software components that are created are prepared in advance. ソフトウェア部品定義情報11は、データ部品の定義情報(データ部品定義情報)111と、リンク部品の定義情報(リンク定義情報)112とを含む。 Software component definition information 11 includes a data part of the definition information (data component definition information) 111, and a link component definition information (link definition information) 112. リンク定義情報112は、関数(関数型リンク部品)の定義情報(関数定義情報)112aと、述語(述語型リンク部品)の定義情報(述語定義情報)112bとを含む。 Link definition information 112 includes a definition information (function definition information) 112a of the function (functional link parts), and definition information (predicate definition information) 112b of the predicate (predicated link parts).
【0036】 [0036]
データ部品定義情報111は、予め用意されている各データ部品のフィールド情報を含む。 Data component definition information 111 includes a field information of each data component prepared in advance.
関数定義情報112aは、予め用意されている各関数及び新たに作成された各関数について、各入出力端子の名前と入出力の方向、継承部品名、アイコンデータ名、及び逆関数定義の有無の情報を含む。 Function definition information 112a, for each function that is created each function and newly prepared in advance, the name and input and output direction of each input and output terminals, inheritance part name, icon data name, and the inverse function of the presence or absence of defined including the information.
述語定義情報112bは、予め用意されている各述語及び新たに作成された各述語について、各端子の名前を含む。 Predicate definition information 112b for each predicate created each predicate and newly prepared in advance, including the name of each terminal.
【0037】 [0037]
主記憶装置2には、プログラムの作成を支援するプログラム(プログラム作成支援プログラム)としてのプログラムエディタ21が、例えば入力装置4を用いた利用者(ソフトウェア開発者、プログラム作成者)の操作に応じて、外部記憶装置1からロードされる。 The main memory 2, the program editor 21 as a program (a program creation support program) for supporting the creation of the program, for example, a user using the input device 4 (software developer, the program creator) in response to the operation of the It is loaded from the external storage device 1. プログラムエディタ21は、CPU5を、利用者による要素部品の選択を支援する部品選択部211、要素部品を表示装置3に表示する部品表示部212、及び利用者により指定された端子間の連結を実行して、その連結情報を入力する連結入力部213の各機能手段として機能させるためのプログラム要素を含む。 Program editor 21 executes a connection between the CPU 5, designated by the user by the component selection unit 211 to support the selection of the component parts, component display unit 212 displays the component parts on the display device 3, and the user terminal and includes a program element to function as the functional means of connecting the input unit 213 for inputting the connection information. プログラムエディタ21はまた、CPU5を、利用者により指定された端子間の連結の状態を表示装置3に表示する連結表示部214、プログラムを構成する要素部品群のうちの利用者指定のデータ部品に、利用者指定のコスト(算出コスト)を設定するコスト設定部215、及びプログラムコード生成部216の各機能手段として機能させるためのプログラム要素も含む。 Program editor 21 also the CPU 5, the user-specified data parts of the connecting display portion 214, component parts that make up a program that displays the status of the connection to the display device 3 between the specified terminal by the user also it includes program elements to function as each functional unit cost setting section 215, and program code generating unit 216 sets the user-specified cost (calculated cost). プログラムコード生成部216は、作成中のプログラムのコードを生成する。 Program code generation unit 216 generates the code for the program being created.
【0038】 [0038]
主記憶装置2にはまた、プログラムエディタ21を用いて現在作成されているプログラムの定義情報(プログラム定義情報)22が格納される。 Also the main memory 2, definition information (program definition information) of programs that are currently made using a program editor 21 22 is stored. プログラム定義情報22は、要素部品情報221と、要素連結情報222とを含む。 Program definition information 22 comprises an element part information 221, and element connection information 222. 要素部品情報221は、作成中のプログラムを構成するソフトウェア部品の各要素部品の情報であり、各要素部品について、当該部品の名前である要素名(要素部品名、インスタンス名)、及び当該部品の種別を表す要素部品種別名(クラス名)を含む。 Component parts information 221 is information of each element part of the software component of the program being created for each component parts, the name and an element name of the part (element part name, instance name), and the component including element component type name that represents the type of the (class name). また、要素部品情報221は、要素部品がデータ部品である場合には、上記要素名、及び要素部品種別名に加えて、コストを含む。 Also, component parts information 221, when the element component is a data component, in addition to the above element name, and the element component type name, including costs. 要素連結情報222は、上記各要素部品の端子間の連結を定義する情報であり、各連結について、連結元の要素名及び端子名の対、並びに連結先の要素名及び端子名の対を含む。 Element connection information 222 is information that defines a connection between each of the above component parts terminals, including for each linked pair of connecting the source element names and pin names, and the connection destination element name and a pair of pin names .
【0039】 [0039]
表示装置3は、CRTディスプレイ、或いは液晶ディスプレイ等であり、プログラムエディタ21を用いたプログラム作成のためのGUI(Graphical User Interface)画面(プログラム作成GUI画面)の表示等に用いられる。 Display device 3 is a CRT display or a liquid crystal display or the like, used for display of GUI for programming using the program editor 21 (Graphical User Interface) screen (programming GUI screen). 入力装置4はキーボード、マウス等であり、利用者による上記GUI画面の操作を含むプログラムエディタ21の操作等に用いられる。 Input device 4 keyboard, a mouse, etc., used in the operation of a program editor 21 including the operation of the GUI screen by the user.
【0040】 [0040]
CPU5は、利用者の操作に従ってプログラムエディタ21を実行することにより、利用者の要求するプログラムの作成を支援する。 CPU5 is, by executing the program editor 21 in accordance with the user's operation, to support the creation of a program requested by the user.
【0041】 [0041]
次に、図1の構成におけるプログラム作成支援処理について、図2乃至図4のフローチャートを参照して説明する。 Next, the program creation support processing in the configuration of FIG. 1 will be described with reference to the flowchart of FIGS.
本実施形態におけるプログラム作成支援処理は、プログラム定義情報22を作成するプログラム定義情報作成処理と、当該プログラム定義情報22からプログラムコードを生成するプログラムコード作成処理とに大別される。 Program creation support processing in the present embodiment includes a program definition information creation processing for creating a program definition information 22 is classified roughly into a program code generation process of generating a program code from the program definition information 22. プログラム定義情報作成処理は、プログラムエディタ21中の例えば部品選択部211、連結入力部213及びコスト設定部215を用いて実行される。 Program definition information creation process, for example, component selection section 211 in the program editor 21, is performed using a coupling input unit 213 and a cost setting section 215. プログラムコード作成処理は、プログラムコード生成部216を用いて実行される。 Program code generation process is executed by using a program code generator 216.
【0042】 [0042]
まず、プログラム定義情報作成処理について説明する。 First, a description will be given program definition information creation process.
今、利用者(プログラム作成者)が入力装置4を操作して、プログラムエディタ21を起動したものとする。 Now, a user (program creator) operates the input device 4, it is assumed that you start the program editor 21. するとCPU5は、プログラムエディタ21に従って、図5に示すようなプログラム作成GUI画面を表示装置3に表示する。 Then CPU5 according to a program editor 21, and displays it on the display device 3 the program creation GUI screen as shown in FIG. 以降の説明では、煩雑さを避けるため、プログラムエディタ21自身が処理を実行するものとして扱う。 In the following description, to avoid complexity, program editor 21 itself handled as performing processing.
【0043】 [0043]
図5に示すプログラム作成GUI画面は、既定義のデータ部品510の一覧が表示されるデータ部品一覧領域51と、既定義のリンク部品520の一覧が表示されるリンク部品一覧領域52と、プログラムを作成・定義する領域を提供するプログラム定義領域53とを含んでいる。 Program creation GUI screen shown in FIG. 5, the data parts list area 51 in which a list of data components 510 for predefined appears, the link parts list area 52 in which a list of links component 520 of predefined appears, the program and a program defining area 53 which provides a space to create and definition.
【0044】 [0044]
データ部品一覧領域51へのデータ部品一覧の表示は、外部記憶装置1に格納されているソフトウェア部品定義情報11中のデータ部品定義情報111に基づいて行われる。 Display data parts list to the data parts 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. リンク部品一覧領域52へのリンク部品一覧の表示は、上記ソフトウェア部品定義情報11中のリンク定義情報112に基づいて行われる。 Display link parts list to link parts list region 52 is performed based on the link definition information 112 in the software component definition information 11.
【0045】 [0045]
ここでは、一覧領域51,52上の各部品510,520は、外部記憶装置1に格納されているアイコンデータ12に基づいて、当該部品510,520を表すアイコン511,521で表示される。 Here, the parts 510 and 520 on the list area 51 and 52, based on the icon data 12 stored in the external storage device 1, are represented by icons 511 and 521 representing the parts 510, 520. 各部品510,520のアイコン511,521の近傍には、その部品の種別を表す要素部品種別名512,522が表示される。 In the vicinity of the icons 511 and 521 of each part 510, 520, the element component type names 512 and 522 indicating the type of the part is displayed. また、部品520、つまりリンク部品520については、その近傍に、端子間の値の伝達方向を示す矢印523がリンク定義情報112に基づいて表示される。 Further, part 520, that is, the link part 520, in its vicinity, arrows 523 indicating the direction of transmission of the value between the terminals is displayed on the basis of the link definition information 112. また、一覧領域51,52上の各部品510,520は縮小表示され、後述するようにプログラム定義領域53上に移動された際に一定の倍率に拡大して表示される。 Further, the respective components 510 and 520 on the list region 51 is collapsed, it is displayed enlarged in a predetermined magnification when it is moved over the program definition area 53 as will be described later. 一覧領域51,52内では、一般に部品一覧の全てを表示できないため、その領域内でスクロール可能なようになっている。 Within the list regions 51 and 52 generally can not display all of the parts list, so that the scrollable within the region.
【0046】 [0046]
一覧領域51及び52は、既定義のソフトウェア部品の一覧の表示領域を提供する。 List of regions 51 and 52 provides a display area of ​​the list of software components already defined. ここで、既定義のソフトウェア部品は一般にはシステムに予め用意されているソフトウェア部品であるが、リンク部品については、プログラムエディタ21を利用して利用者が新たに定義したソフトウェア部品も含まれる。 Here, the software component of the predefined generally a software component that is prepared in advance in the system, for linking labels, the user using the program editor 21 also includes newly defined software component.
【0047】 [0047]
プログラム定義情報22は、利用者が図5のプログラム作成GUI画面上で、以下に述べるような要素部品選択操作、連結入力操作、及びコスト設定操作を実行することにより作成される。 Program definition information 22, the user on the program creation GUI screen of Figure 5, component parts selecting operation as described below, is prepared by performing the coupling input operation, and cost setting operation.
【0048】 [0048]
まず利用者は、入力装置4の例えばマウスを用いて、目的のプログラムを構成するソフトウェア部品の作成・定義に必要な要素部品、つまり目的プログラムの作成・定義に必要な要素部品を、データ部品一覧領域51またはリンク部品一覧領域52上の部品一覧から選択する操作を行う。 First user using, for example, a mouse of the input device 4, component parts necessary for the creation and definition of the software components of the target program, that is, the component parts necessary for the creation and definition of the target program, the data parts list It performs an operation of selecting from the parts list in the region 51 or the link parts list region 52. 次に利用者は、選択した要素部品、つまりデータ部品またはリンク部品を、プログラム定義領域53上の所望の位置に移動させるために、マウスを用いてドラッグ&ドロップ操作を行う。 Next the user, the selected component parts, that is, the data part or link part, to move to a desired position in the program definition area 53, performing a drag and drop operation using the mouse.
【0049】 [0049]
プログラムエディタ21中の部品選択部211は、利用者がマウスを用いて、データ部品一覧領域51またはリンク部品一覧領域52上の部品一覧から要素部品を選択する操作を行ったことを検出すると(ステップS1)、その選択された要素部品を、利用者の選択操作に続くドラッグ操作に応じて(ステップS2)、部品表示部212によりプログラム作成GUI画面に表示させながら、プログラム定義領域53上に移動する(ステップS3)。 Component selection section 211 in the program editor 21 uses the user mouse detects that performing the operation of selecting the component parts from the parts list data parts list area 51 or on the link parts list area 52 (step S1), the selected component parts, in accordance with the drag operation following the user's selection operation (step S2), and while displaying the programming GUI screen by component display unit 212, moves on to the program definition area 53 (step S3).
【0050】 [0050]
ここでは、選択された要素部品は、部品の種別がアイコンと種別名で、端子間の値の伝達方向が矢印で、それぞれ表される。 Here, selected elements parts, types of parts with icons and type name, direction of transmission of values ​​between terminals by arrows, each represented.
表示するアイコンは、以下の手順で決定される。 Icon to be displayed is determined by the following procedure.
(a1)選択された部品にアイコンが設定されていれば、それを用いる。 (A1) if the icon is set to the selected part, use it.
(a2)アイコンの設定がなく、継承する部品の設定があれば、上位の部品のアイコン設定を再帰的に探して、これを用いる。 (A2) there is no set of icons, if there is a set of components to be inherited, recursively looking for a higher-level parts of the icon set, using the same.
(a3)継承情報によってもアイコンの情報が得られなければ、予め定められた暗黙のアイコンを用いる。 (A3) if the information of the icon can be obtained even by inheritance information, using implicit icon predetermined.
【0051】 [0051]
一方、表示する矢印の向きは、以下の手順で決定される。 On the other hand, the direction of the arrow to display is determined by the following procedure.
(b1)データ部品の端子は、双方向とする。 (B1) data part of the terminals, the bidirectional.
(b2)逆関数を設定された関数の端子は、双方向とする。 (B2) the terminal function set the inverse function, and bidirectional.
(b3)それ以外の関数では、入力端子は入力方向とし、出力端子は出力方向とする。 (B3) In the other function, the input terminal as an input direction, and an output terminal to output direction.
(b4)述語の端子は、入力方向とする。 (B4) predicate terminal has an input direction.
【0052】 [0052]
図6及び図7に、プログラム定義領域53上での要素部品の表示例を示す。 6 and 7 show a display example of a component part to the program definition area 53. 図6はデータ部品、図7は関数(関数型リンク部品)の、それぞれ表示例を示している。 Figure 6 is a data part, Fig 7 is a function of (functional link parts), respectively show display examples.
【0053】 [0053]
さて、部品選択部211は、部品一覧から選択された要素部品を利用者のドラッグ操作に応じてプログラム定義領域53上に移動している状態で、利用者のドロップ操作を検出すると(ステップS4)、当該要素部品の移動処理を停止し、当該要素部品の名前(要素名)の入力を利用者に対して要求する画面を部品表示部212により表示させる(ステップS5)。 Now, component selection unit 211, in a state in which the selected component parts from the parts list according to the user's drag operation has moved on to the program definition area 53 detects a drop operation of the user (step S4) stops the movement processing of the component parts, and displays the component display unit 212 a screen requests the user to enter the name of the component parts (element name) (step S5). ここで、利用者が入力装置4を用いて要素名を入力する操作を行うと、部品選択部211はその要素名を入力装置4から受け取って、対応する要素部品のカテゴリを表す要素カテゴリ名及び種別を表す要素部品種別名と組にして、主記憶装置2に格納されているプログラム定義情報22中の要素部品情報221に追加し(ステップS6)、利用者の次の要素部品選択操作を待つ。 Here, when an operation of the user inputs an element name using the input device 4, the component selection unit 211 receives the element name from the input device 4, element category name that represents a category of the corresponding component parts and in the component parts type name and set indicating the type, the main memory 2 in addition to the component parts information 221 in the program definition information 22 stored (step S6), and waits for the next element component selection operation by the user .
【0054】 [0054]
利用者は、プログラム定義領域53内に配置した要素部品の端子、及びプログラム定義領域53で定義されるプログラムを構成するソフトウェア部品の端子のうちの任意の2つの端子間を連結したい場合、入力装置4のマウスを操作して、マウスポインタを一方の端子に合わせた状態で、他方の端子にドラッグする操作を行う。 The user, if you want to coupling between any two terminals of the software components of the terminal to be component parts of the terminals disposed in the program definition area 53, and the program defined by the program definition area 53, an input device by manipulating the 4 mice in a state of combined mouse pointer to one of the terminals, performing the operation of dragging the other terminal.
【0055】 [0055]
プログラムエディタ21中の連結入力部213は、利用者が端子間を連結するためのドラッグ操作を行ったことを検出すると(ステップS7)、ドラッグ開始位置の端子から現在のドラッグ位置までを連結表示部214により線分で表示させる。 Coupling the input section in the program editor 21 213 detects that the user performs a drag operation for connecting the terminals (step S7), and connecting a display unit to current drag position from the terminal of the drag starting position 214 by the cell is displayed in the segment. そして連結入力部213は、ドラッグ位置が他の端子に到達すると、両端子間を連結表示部214により図5中の矢印A11〜A13などのように、矢印で表示させて連結し、その連結情報をプログラム定義情報22中の要素連結情報222に追加する(ステップS8)。 The connecting input unit 213, a drag position reaches the other terminal, by connecting the display unit 214 between both terminals, such as an arrow A11~A13 in FIG connected to display an arrow, the connection information Add to the element connection information 222 in the program definition information 22 (step S8). 上記ステップS8では、連結入力部213は、指定された2つの端子間の連結が可能な値伝達の方向を判別し、その判別結果に応じて、当該端子間が連結されていることと値伝達の方向とを連結表示部214により上記した矢印で表示させる。 At the step S8, connecting the input unit 213, determines the direction of the connection is possible values ​​communication between the given two terminals, in accordance with the determination result, that among the terminals are connected and the value transfer by connecting the display unit 214 and a direction of displaying an arrow described above. 但し、利用者が指定した2つの端子が同一要素部品のものである場合は、連結入力部213は利用者に対してエラー通知し、連結を拒否する。 However, if the two terminals specified by the user is of the same component parts are connected an input unit 213 an error notification to the user, it rejects the connection.
【0056】 [0056]
ここでは、 here,
(c1)連結される2つの端子が共に要素部品の端子であるとき、 (C1) when two terminals are connected are both of component parts terminals,
・その2つの端子が共に双方向の端子であるならば、連結も双方向の伝達が可能となる。 If, the two terminals are both bidirectional terminals, connecting it becomes possible bidirectional transmission is.
・その2つの端子のうち、少なくも一方が単方向であり、他方も同方向への伝達が可能であるならば、連結はその方向への単方向伝達のみが可能となる。 - of its two terminals, at least where one is unidirectional, if the other also can be transmitted in the same direction, coupling is allowed only unidirectional transmission in that direction.
・それ以外の場合、連結入力部213は利用者に対してエラー通知し、連結を拒否する。 • Otherwise, connecting the input unit 213 is an error notification to the user, it rejects the consolidated.
【0057】 [0057]
次に、 next,
(c2)連結される2つの端子の一方が作成中の部品の端子であるとき、 (C2) when one of the two terminals to be connected is a part of the terminal being created,
・その端子の伝達方向は、もう一方の端子である要素部品の端子の伝達方向と同じになる。 And transmission direction of the terminal is the same as the direction of transmission of component parts of the terminal which is the other terminal. なお、作成中の部品の1つの端子を、複数の要素部品の端子と連結することは可能であるが、追加される要素部品の端子の伝達方向は、既接続の連結と逆向きであってはならない。 Incidentally, the one terminal of the component being created, it is possible to couple a terminal of a plurality of component parts, transmission direction of the added component parts of the terminal is a connection already connected and opposite It should not be. その場合には、エラーを通知し、連結を拒否する。 In that case, it notifies the error, rejects the consolidated.
(c3)連結される端子の双方が作成中の部品の端子であるとき・エラーを通知し、連結を拒否する。 (C3) both terminal coupled notifies an error when it is part of the terminal being created, it rejects the connection.
【0058】 [0058]
このように本実施形態においては、利用者の操作で指定された2つの端子間の値の伝達方向をプログラムエディタ21中の連結入力部213にて自動判別して、当該端子間を連結(接続)する矢印の方向を決定しているため、利用者は値の伝達方向を指定しなくてもよく、したがって簡単な作成作業で正確な部品の作成が可能になる。 Thus, in this embodiment, by automatically discriminating the direction of transmission of values ​​between two terminals specified by the user's operation in connection input unit 213 in the program editor 21, connecting (connection between the terminals ) is because it determines the direction of the arrow, the user may not specify the direction of transmission of values, thus enabling creation of precise parts with a simple creation work. 但し、例えばマウスの右ボタンクリックにより、利用者自身が連結の方向を指定(制限)可能とする画面を表示させることも可能である。 However, for example, by right mouse button click, it is also possible to display a screen that the user himself to enable specifying the direction of the connection (limited).
【0059】 [0059]
さて、利用者の要素部品選択操作に従って、部品選択部211が利用者の目的とするプログラムを構成する要素部品を選択して、その要素部品の情報である要素名(要素部品名)及び部品種別名を入力し、利用者の連結入力操作に従って、連結入力部213が指定の端子間の連結を実行して、その連結情報を入力することにより、当該プログラムの静的構造、即ち当該プログラムの構成要素である要素部品と、要素部品相互の静的な連結構造とが決定される。 Now, according to the element component selection operation of the user, select the component parts of the component selection unit 211 constituting the program of interest of the user, the element name (element part name) is information of the element components and parts classification enter the name, in accordance with coupling the input operation of the user, connecting the input unit 213 by performing the connection between the specified terminal, by inputting the connection information, the static structure of the program, i.e., structure of the program and component parts is an element, and a static connection structure component parts each other is determined. プログラムの静的構造とは、要素部品相互の静的な連結構造は定義されているものの、要素部品相互の振る舞いについては定義されていないデータ構造をいう。 The static structure of the program, the static connection structure component parts each other but are defined, the behavior of the component parts mutually refers to data structures that are not defined. この段階では、プログラム定義情報22は未完成の状態にあり、当該プログラム定義情報22の要素部品情報221中に各データ部品毎のコストが設定されていない状態にある。 At this stage, the program definition information 22 is in the unfinished state, a state in which the cost of each data part in the element component information 221 of the program definition information 22 is not set. このデータ部品毎のコストは、対応するデータ部品の全フィールド値を求めるのに要するコストであり、プログラムの要素部品相互の振る舞い、つまり、どのような順序で、どの要素部品にメッセージを送るかを決定するための情報である。 Cost per data part is the cost required to obtain the total field value of the corresponding data parts, component parts mutual program behavior, that is, in what order, or send a message to which component parts is information for determining.
【0060】 [0060]
本実施形態において、要素部品相互の振る舞いは、以下に述べるように、利用者のコスト設定操作に従い、コスト設定部215により要素部品情報221中に利用者指定のデータ部品の要素名に対応付けて利用者指定のコストを設定することにより決定される。 In this embodiment, the behavior of the component parts each other, as described below, in accordance with the cost setting operation of the user, in association with the element name of the data part of the user specified in the element component information 221 by the cost setting unit 215 It is determined by setting the cost of user-specified.
【0061】 [0061]
利用者は、プログラムの静的構造を決定すると、当該プログラムの要素部品相互の振る舞いを決定するために、当該プログラムを構成する要素部品群のうちの各データ部品にコストを設定するための操作を次のように行う。 The user has determined the static structure of a program, in order to determine the component parts mutual behavior of the program, an operation to set the cost to each data component of the component parts that make up the program carried out in the following manner. 即ち利用者は、コスト設定の対象とするデータ部品を位置指定(選択)するために、当該マウスの操作によりマウスポインタをプログラム定義領域53上の所望の要素部品(データ部品)に移動させ、その位置でマウスの例えば右ボタンをクリックする。 That user, to locate the data component of interest of cost setting (selection), move the mouse pointer to the desired component parts of the program defined region 53 (data part) by the operation of the mouse, the click, for example, the right button of the mouse position.
【0062】 [0062]
プログラムエディタ21中のコスト設定部215は、利用者がマウスポインタをプログラム定義領域53上の任意の要素部品(データ部品)に移動させて、その位置でマウスの右ボタンをクリックする操作を行ったことを検出すると(ステップS9)、その位置に対応する要素部品(データ部品)の属性の1つとして、利用者に対してコストを入力することを要求する画面(コスト入力画面)を、その位置の近傍に表示する(ステップS10)。 Cost setting unit 215 in the program editor 21, the user moves the mouse pointer to any element component in the program definition area 53 (data component), it performs the operation of clicking the right mouse button at that position When it is detected that (step S9), and as one of the attributes of the component parts (data component) corresponding to the position, the screen for requesting to enter the cost to the user (the cost entry screen), its position to display in the vicinity of (step S10). すると利用者は、自身が位置指定したデータ部品の全フィールド値を求めるのに要するコストを、入力装置4を用いてコスト入力画面上で入力するための操作を行う。 Then the user, the cost to obtain the full field value of the data part itself is specified position, it performs an operation to input cost input screen using the input device 4.
【0063】 [0063]
コスト設定部215は、利用者が入力装置4を用いてコストを入力する操作を行ったことを検出すると(ステップS11)、そのコストを入力装置4から受け取り、主記憶装置2に格納されているプログラム定義情報22の要素部品情報221中に、対応する要素部品(データ部品)の種別名と組になるように設定する(ステップS12)。 Cost setting unit 215 detects that the user performs an operation of inputting the cost by using the input device 4 (step S11), and receives its cost from the input device 4, it is stored in the main memory 2 in the element component information 221 of the program definition information 22 is set to be the type name and the corresponding set of component parts (data component) (step S12). 同時にコスト設定部215は、設定したコスト(を示す数値)を、対応する要素部品(データ部品)の近傍に表示する(ステップS13)。 Cost setting unit 215 simultaneously displays the cost (number indicating a) set, in the vicinity of the corresponding component parts (data component) (step S13). そしてコスト設定部215は、利用者による次のコスト設定指定操作(右ボタンクリック操作)を待つ。 And cost setting unit 215, wait for the next cost-setting specifying operation by the user (right button click operation). 図5には、後述するデータ部品531A,531B,531Cの近傍に、それぞれ値が1(A=1),2(B=2),10(C=10)のコスト530A,530B,530Cが表示されている様子が示されている。 FIG. 5 described later data components 531A, 531B, in the vicinity of 531C, each value of 1 (A = 1), 2 (B = 2), the cost 530A of 10 (C = 10), 530B, 530C are displayed It shows a state that is.
【0064】 [0064]
利用者は、プログラム定義領域53上の要素部品のうちの目的とする全ての要素部品(データ部品)についてコスト入力操作を終了すると、つまりプログラム定義情報作成処理を終了すると、その時点において主記憶装置2に格納されているプログラム定義情報22に基づくプログラムコードの作成のための操作を行う。 The user has finished cost input operation for all the component parts for the purpose of the component parts of the program defined region 53 (data part), that is, when to end the program definition information creation process, the main memory at that time perform an operation for creating a program code based on the program definition information 22 stored in 2. ここでは、利用者は、図5に示すソフトウェア部品作成GUI画面に用意されているメニューバー上のファイルメニューA21を開く操作を行う。 Here, the user performs an operation to open the file menu A21 on the menu bar, which is provided with the software component creation GUI screen shown in Figure 5. このファイルメニューA21には、メニュー項目としてファイルの上書き、ファイルの新規保存、及びファイルのオープンに加えて、プログラムコードの作成を指示するための最適コード生成が用意されている。 The file menu A21, overwriting files as a menu item, a new save file, and in addition to opening a file, the optimum code generation for instructing the creation of the program code are prepared. 利用者は、この最適コード生成をマウスで選択する。 The user selects the optimum code generation in mice.
【0065】 [0065]
プログラムエディタ21中のプログラムコード生成部216は、利用者がファイルメニューA21から最適コード生成を選択する操作を行ったことを検出すると(ステップS14)、プログラムコード生成処理(ステップS15)を、図4のフローチャートに従って次のように実行する。 Program code generation unit 216 in the program editor 21 detects that the user has performed an operation of selecting an optimal code generation from the File menu A21 (the step S14), and the program code generation process (step S15), and FIG. 4 run in accordance with the flowchart of as follows.
【0066】 [0066]
まずプログラムコード生成部216は、主記憶装置2に格納されているプログラム定義情報22から、コストが設定されているデータ部品を1つ、コード生成の対象データ部品として検索する。 Program code generation unit 216 first, from the program definition information 22 stored in the main memory 2, one data component cost is set, searches the target data component code generation. プログラムコード生成部216は、データ部品が検索できたならば、プログラム定義情報22中の要素連結情報222で示されている当該部品の端子(フィールド)の中から、未処理の端子を1つ選択して、その選択した端子をFとする(ステップS31)。 Program code generation unit 216, if the data parts could be retrieved, selected from the components of the terminals, shown in element link information 222 in the program definition information 22 (field), one unprocessed terminals and, to the selected terminal and F (step S31).
【0067】 [0067]
プログラムコード生成部216は、データ部品の端子Fを選択すると、その端子Fに入力を与えるリンク部品のうち、未処理のリンク部品の1つを選択して、その選択したリンク部品をLとする(ステップS32)。 Program code generation unit 216 has selected the terminal F of the data part, of the links components provide input to the terminal F, to select one of the unprocessed links parts, to the selected link part and L (step S32). そしてプログラムコード生成部216は、リンク部品Lの見込みのコストCを、当該リンク部品Lの入力端子に接続されたデータ部品の中で最大のコストが設定されているもののコストとする(ステップS33)。 The program code generation unit 216, the cost C of the likelihood of the link part L, the cost of which the largest cost in the connected data part to the input terminal of the link part L is set (step S33) . ここで、リンク部品Lの入力端子に接続された要素部品がリンク部品である場合がある。 Here, there is a case connected elements component to the input terminal of the link component L is a link part. この場合、更にそのリンク部品の入力側に接続された要素部品を、データ部品になるまでたどり、そのたどりついた先のデータ部品を、リンク部品Lの入力端子に接続されたデータ部品とする。 In this case, further the connected component parts on the input side of the link part, follow until data part, the preceding data component which arrived, and link parts connected data part to the input terminal of the L. つまり、リンク部品Lの入力端子に接続されたデータ部品とは、当該入力端子に直接または間接に接続されるデータ部品のうち、当該入力端子に至るパス(要素部品数)が最短(最小)のデータ部品である。 In other words, the link part connected data part to the input terminal of the L, one of the data components to be directly or indirectly connected to the input terminal, the path leading to the input terminal (the number of elements component) is the shortest (smallest) it is a data component.
【0068】 [0068]
次にプログラムコード生成部216は、キーと値とのペアを要素とするテーブルLL(図示せず)に、Lをキー、Cを値とする要素を登録する(ステップS34)。 Then the program code generation unit 216, the table is a pair of the key-value as elements LL (not shown), the key L, and the registers the elements of C and the value (step S34). ここで、テーブルLLは主記憶装置2上に置かれる。 Here, the table LL is placed on the main memory 2.
【0069】 [0069]
次にプログラムコード生成部216は、プログラム定義情報22を参照して、他に、対象データ部品の端子Fに入力を与える未処理のリンク部品があるか否かを調べる(ステップS35)。 Then the program code generation unit 216 refers to the program definition information 22, other checks whether or not there is an unprocessed link components that provide input to the terminal F of the target data piece (step S35). もし、未処理のリンク部品があるならば、プログラムコード生成部216は未処理のリンク部品の1つについて、ステップS32以降の処理を実行する。 If there is any unprocessed links parts, the program code generator 216 for one of the unprocessed links parts, processing from S32 is performed.
【0070】 [0070]
これに対し、対象データ部品の端子Fに入力を与える未処理のリンク部品がなくなったならば、プログラムコード生成部216は、テーブルLLに登録されている要素中で、最もコストの小さいリンク部品Lについて、次コード In contrast, if there is no more unprocessed links parts of providing input to the terminal F of the target data component, the program code generation unit 216, an element in which is registered in the table LL, most cost small linking labels L for, the following code
"if(Lflow()=failure" "If (Lflow () = failure"
を生成する(ステップS36)。 To generate a (step S36). このコードにより、リンク部品Lに対し、その出力端子から値を出力できるなら、値を出力してもらい、出力できない失敗(failure)時には、次のリンク部品に切り替える機能が実現される。 This code to link components L, if it outputs the value from the output terminal, asked to output the value, can not be output failure (failure) sometimes function for switching to next link parts is realized.
【0071】 [0071]
次にプログラムコード生成部216は、テーブルLLを参照して、他の未処理の要素が当該テーブルLLに登録されているか否かを調べる(ステップS37)。 Then the program code generation unit 216 refers to the table LL, checks whether the elements of the other unprocessed is registered in the table LL (step S37). もし、未処理の要素が登録されているならば、直前にコードが生成されたリンク部品の次にコストの小さいリンク部品Lについて、次コード If an unprocessed element is registered, the next small for linking labels L cost of the link parts code immediately before is generated, the following code
"&& Lflow()=failure" "&& Lflow () = failure"
を生成する(ステップS38)。 To generate a (step S38). このコードにより、リンク部品Lに対し、その出力端子から値を出力できるなら、値を出力してもらい、出力できない失敗(failure)時には、次のリンク部品に切り替える機能が実現される。 This code to link components L, if it outputs the value from the output terminal, asked to output the value, can not be output failure (failure) sometimes function for switching to next link parts is realized. プログラムコード生成部216は、ステップS38を実行すると、ステップS37に戻る。 Program code generation unit 216, executing the step S38, the flow returns to step S37.
【0072】 [0072]
これに対し、テーブルLLに登録されている全ての要素について、コストの小さいリング部品の順にコード生成が行われた結果、未処理の要素がなくなったなら、プログラムコード生成部216はステップS39に進む。 In contrast, for all the elements registered in the table LL, cost small ring component results sequentially to the code generation has been performed, if an unprocessed element is gone, the program code generation unit 216 proceeds to Step S39 . このステップS39では、プログラムコード生成部216は、次コード In step S39, the program code generation unit 216, following the code
")return failure," ") Return failure,"
を生成する。 To generate. このコードにより、対象データ部品の入力端子(フィールド)の値が完成しなかったとして、当該データ部品のメソッドfill()を呼び出したメッセージ送信元に対し、failureステータスを通知する機能が実現される。 This code, as the value of the target data component of the input terminal (field) is not completed with respect to the data part of the method fill () calls the message transmission source, a function of notifying a failure status is achieved.
【0073】 [0073]
次にプログラムコード生成部216は、対象データ部品に他の未処理の端子があるか否かを調べる(ステップS40)。 Then the program code generation unit 216 checks whether there is a terminal of another unprocessed object data part (step S40). もし、未処理の端子があるならば、プログラムコード生成部216は未処理の端子の1つについて、ステップS31以降の処理を実行する。 If there is an unprocessed terminals, the program code generator 216 for one of the unprocessed terminals, it executes step S31 and subsequent steps. これに対し、対象データ部品の全ての端子についてステップS31以降の処理を実行した結果、未処理の端子がなくなったなら、プログラムコード生成部216は、次コード In contrast, the result of executing the processing of step S31 and subsequent for all of the terminals of the target data part, if untreated terminal runs out, the program code generation unit 216, following the code
")return failure," ") Return failure,"
を生成して(ステップS41)、対象データ部品に関するコード生成処理を終了する。 And it generates (step S41), and terminates the code generation processing relating to the object data part. このコードにより、対象データ部品の入力端子(フィールド)の値が完成したとして、当該データ部品のメソッドfill()を呼び出したメッセージ送信元に対し、successステータスを通知する機能が実現される。 This code, as the value of the target data component of the input terminal (field) is completed, with respect to the data part of the method fill () calls the message transmission source, a function of notifying a success status is achieved.
【0074】 [0074]
プログラムコード生成部216は、以上に述べた図4のフローチャートに従う処理を、プログラム定義情報22で定義されているプログラムを構成する要素部品群のうちの全てのデータ部品について実行する。 Program code generation unit 216, a process according to the flowchart of FIG. 4 mentioned above is performed for all the data components of the component parts that make up the program defined by the program definition information 22.
【0075】 [0075]
このようにプログラムコード生成部216は、プログラム定義情報22で定義されているプログラムを構成する要素部品群のうちのデータ部品について、そのデータ部品の端子(フィールド)に与えられる値を算出するために、いずれのリンク部品を用いるべきかを、候補となるリンク部品の入力側に接続されたデータ部品をたどって、そのたどった先のデータ部品に設定されているコストをもとに、コストが小さいデータ部品に直接または間接に接続されたリンク部品(つまりコストが小さいデータ部品に対応するリンク部品)ほど優先して用いられるように決定してプログラムコードを生成する。 Thus the program code generation unit 216, the data part of the component parts that make up the program defined by the program definition information 22, in order to calculate the value given to the terminal (field) of the data part , or should be used either link parts, by tracing the connection data part to the input side of the link part as a candidate, on the basis of the cost that is set to the previous data part traced, is less cost determined to be used with priority as directly or indirectly connected link part (i.e. link part corresponding to the cost is small data part) in the data component to generate a program code. 生成されたコード(プログラムコード)は、外部記憶装置1に保存される。 Generated code (program code) are stored in the external storage device 1.
【0076】 [0076]
以上に述べた説明から明らかなように、本実施形態におけるリンクをも部品として扱うプログラミング(リンク指向プログラミング)では、従来のように単一の目的を持つ手順としてプログラムを記述するのではない。 As apparent from the description mentioned above, in the programming treated as parts are linked in the present embodiment (link-oriented programming), conventional not describe the program as a procedure with a single purpose such. 即ち本実施形態では、 That is, in this embodiment,
(a)プログラムの静的構造、つまりプログラムを構成する要素部品と、その要素部品相互の静的な連結構造を決定する。 And component parts constituting (a) program static structure, i.e. the program, to determine the static connection structure of the component parts together.
(b1)プログラムの構成要素となっている全てのデータ部品のメソッドfill()を定義する。 Defining a (b1) all data parts methods fill that is a component of a program.
【0077】 [0077]
(b2)プログラムの構成要素となっている全ての関数(関数型リンク部品)のメソッドflow()を定義する。 (B2) define a method flow () of all the functions which is a component of the program (functional link parts).
【0078】 [0078]
(b3)プログラムの構成要素となっている全ての述語(述語型部品)のメソッドtest()を定義する。 (B3) define a method test () for all predicates that is a component of the program (predicated parts).
【0079】 [0079]
(c)プログラムの構成要素をどのように機能させるか、つまり、どのような順序で、どの構成要素にメッセージを送るかを、メソッドとして定義する。 How to function components (c) a program, that is, in what order, or send a message to which components, defined as a method.
【0080】 [0080]
の3段階でプログラムを実現する。 To implement the program in three stages of.
【0081】 [0081]
明らかなように、上記(c)は、プログラムの構成要素(要素部品)中の各データ部品にコストを設定するだけで実現される。 Obviously, the (c) is realized simply by setting a cost to program components each data component (component parts) in the. したがって、本実施形態においてプログラム作成者が記述(定義)すべきプログラムは、データ部品とそのコスト、及び当該データ部品がリンク部品によっていかに連結されているか、つまり要素部品相互の静的な連結構造だけであり、各データ部品について、そのデータ部品の端子(フィールド)に与えられる値(データ)を完成するための最適手順を作成する必要がない。 Therefore, the program creator described in the embodiment (defined) should do program, data components and their cost, and whether the data part is how connected by a link part, i.e. only the static connection structure component parts each other , and the respective data component, it is not necessary to create an optimal procedure to complete the given value (data) to the data part of the terminal (field). このため本実施形態においては、参照可能なデータ部品を追加するなどの変更も、容易に、且つ正確に行うことができる。 In this end the present embodiment also changes, such as adding a referenceable data components, it can be easily carried out and accurately.
【0082】 [0082]
なお本実施形態では、上述のように、データ部品一覧領域51及びリンク部品一覧領域52から所望の部品群を選択してプログラム定義領域53に配置し、目的のプログラムを構成する1つのソフトウェア部品を定義する場合、そのソフトウェア部品の端子も定義することができる。 In the present embodiment, as described above, from the data component list area 51 and link parts list area 52 by selecting the desired component group located in the program definition area 53, a piece of software components constituting the object of the program when defining can also define terminals of the software component. ここでは、入力装置4のマウスを操作して、マウスポインタをプログラム定義領域53の境界線上に移動させて端子位置を指定することで、端子の新設、端子の削除、及び端子の変更のいずれか1つを選択的に実行可能なようになっている。 Here, by operating the mouse of the input device 4, by moving the mouse pointer over the boundary line of the program definition region 53 by specifying the terminal position, new terminals, either delete the terminal, and changes the terminal It has become one of selectively executable as. 図5の例では、端子A41〜A47が定義されている。 In the example of FIG. 5, the terminal A41~A47 are defined.
【0083】 [0083]
さて利用者は、プログラム定義情報22を作成し終えた場合、或いは作成途中で操作を終了したい場合、プログラム作成GUI画面上に用意されているメニューバー上のファイルメニューA21を開く操作を行う。 Now the user, when you have finished creating the program definition information 22, or if in the middle of creating want to end the operation, carried out the operation to open the file menu A21 on the menu bar, which is provided in the program create GUI screen. そして利用者は、開かれたファイルメニューA21上で、作成終了した、或いは作成途中のプログラム定義情報22を、名前を付けて新規に外部記憶装置1に保存するための操作を行う。 And the user, on the File menu A21 that is open, perform finished created, or to create the middle of a program definition information 22, an operation to save the new name the external storage device 1. また利用者は、外部記憶装置1に既に保存されているプログラム定義情報を主記憶装置2上にプログラム定義情報22として呼び出して、要素部品プログラム定義領域53上で対応するプログラムの作成に関する編集を行っていた場合であれば、元のプログラム定義情報を更新するための、いわゆる上書き保存操作を行う。 The user, performed by calling the program definition information already stored in the external storage device 1 as program definition information 22 on the main storage device 2, the editing for creating a corresponding program on element part program defining area 53 in the case were, for updating the original program definition information, the so-called Save operation.
【0084】 [0084]
プログラムエディタ21中の図示せぬプログラム登録部は、図5に示すようなプログラム作成GUI画面が表示されている状態で、利用者がファイルメニューA21を開いて上書き保存を指定する操作を行ったことを検出すると(ステップS16)、その時点に主記憶装置2に格納されているプログラム定義情報22で、外部記憶装置1に保存されているプログラム定義情報13中の対応する情報を更新する上書き保存を行う(ステップS17)。 Program registration unit (not shown) in the program editor 21 in a state where the program creation GUI screen as shown in FIG. 5 is displayed, the user performs an operation to specify a Save Open File menu A21 Upon detection of the (step S16), and the program definition information 22 stored in the main memory 2 to the point, the Save to update the corresponding information in the program definition information 13 stored in the external storage device 1 (step S17). また、プログラム登録部は、利用者がファイルメニューA21を開いて、新規保存を指定する操作を行ったことを検出すると(ステップS18)、対象となるプログラム定義情報の名前を利用者に指定させ、現在主記憶装置2に格納されているプログラム定義情報22を、利用者により指定されたプログラム定義情報名に対応付けて、外部記憶装置1内のプログラム定義情報13に新規に保存する(ステップS19)。 In addition, the program registration unit, and a user opens the file menu A21, when it is detected that performs an operation to specify the new storage (step S18), and then specify the name of the program definition information of interest to the user, the program definition information 22 currently stored in the main memory 2, in association with the program definition information name specified by the user, stores new to the program definition information 13 in the external storage device 1 (step S19) .
【0085】 [0085]
また、プログラム登録部は、利用者がファイルメニューA21を開いて、オープンを指定すると共に、対象となるファイルとして、プログラム定義情報を示すプログラム定義情報名を指定すると(ステップS20)、その指定のプログラム定義情報を外部記憶装置1に保存されているプログラム定義情報13から取り出して、プログラム定義情報22として主記憶装置2に読み込む(ステップS21)。 Further, the program registering unit is user opens a file menu A21, as well as specify the open, as a file of interest, specifying the program definition information name indicating a program definition information (step S20), the designated program removed from the program definition information 13 stored definition information to an external storage device 1 reads the main memory 2 as a program definition information 22 (step S21). ここでは、プログラム定義情報22に基づいて、当該プログラム定義情報22中の要素部品情報221で示されるプログラムを構成する各要素部品が、プログラム作成GUI画面上のプログラム定義領域53に配置される。 Here, on the basis of the program definition information 22, the component parts of the program indicated by the component parts information 221 in the program definition information 22 is placed in the program definition area 53 of the program creation GUI screen. また、各要素部品間が、プログラム定義情報22中の要素連結情報222に従って、矢印で連結される。 Also, among the component parts are, according to the element connection information 222 in the program definition information 22 are connected by arrows. また、要素部品情報221中に要素名と組をなしてコストが設定されている要素部品(データ部品)については、当該コストが対応する要素部品(データ部品)の近傍に表示される。 Also, the component parts cost at an element name and a set in the element component information 221 has been set (data part), the cost is displayed near the corresponding component parts (data part). これにより利用者にとって、コストの新規設定、変更等が容易となる。 For this by the user, it costs new set of, it is easy to change and the like.
【0086】 [0086]
さて、図5には、住宅購入に伴う税控除処理のための控除額算出プログラムを定義し終えた状態の画面表示例が示されている。 Now, in FIG. 5, the screen display example of a state that has been completed to define the deduction calculation program for the tax deduction processing associated with the home purchase is shown. この控除額算出プログラムは、購入価格が設定されるフィールドを持つ3つの「購入金額」データ部品531A,531B,531Cと、データ部品531A〜531Cのいずれかから与えられる購入金額と、外部から与えられる購入年度、借入残高、及び控除金額の上限値とを受け、予め定められた計算を行って控除額を算出する「控除額計算」リンク部品(関数型リンク部品)532とを用いて構成されている。 This deduction calculation program is, three of the "purchase price" data component 531A with a field that purchase price is set, 531B, and 531C, and the purchase price given from any of the data parts 531A~531C, given from the outside purchase year, outstanding debt, and receives the upper limit value of the deduction, is constructed using the "deduction calculation" link part (functional link part) 532 for calculating a deduction performing calculations predetermined there. ここで、データ部品531A,531B,531Cの入力端子(フィールド)に与えられる購入金額は、それぞれ、(A)税金を扱う窓口システムのデータベースに過去に記録されたもの、(B)他部門のシステムのデータベースに過去に記録されたもの、(C)税控除を要求する納税者により入力されるものとする。 Here, the data part 531A, 531B, purchase amount applied to the input terminal (field) of 531C are those respectively, recorded in the past in the database of window system that handles (A) tax, the (B) other divisions system those recorded in the past in the database shall be entered by the taxpayer requesting (C) tax. この場合、プログラム作成者は、望ましさから、(A)が最適、(B)は多少時間がかかるが、納税者を煩わす(C)よりは適切、等の判断により、「控除額計算」リンク部品532の入力端子(Price)に「購入金額」を与える選択肢となるデータ部品531A,531B,531Cに、それぞれA=1,B=2,C=10のようにコストを付与する。 In this case, the program creator, the desirability, optimum (A), (B) is take some time, bother the taxpayer (C) appropriate than the discretion etc., "deductions calculation" link data components 531A to the input terminal of the component 532 (Price) the option of giving the "purchase price", 531B, to 531C, to impart costs as respectively a = 1, B = 2, C = 10. このコストは、「控除額計算」リンク部品532がデータ部品531A,531B,531Cのいずれかから、値(購入金額)を与えてもらう際の、一種の回避すべき度合いの重みであり、値(購入金額)を与えてもらう優先度であるともいえる。 This cost is, "deduction calculation" link parts 532 data parts 531A, 531B, from any of the 531C, at the time of get given a value (purchase price), is the weight of the degree should be avoided of a kind, value ( purchase price) is also said to be a priority get giving.
【0087】 [0087]
上記実施形態では、プログラムエディタ21にプログラムコード生成部216を持たせ、プログラム定義情報をもとに最適な実行手順をプログラムコードとして生成している。 In the above embodiment, the program editor 21 to have a program code generation unit 216, and generates a program code optimal execution procedure based on the program definition information. しかし、最適な実行手順を、プログラム定義情報で定義されるプログラムの実行時に、例えばインタプリタにより決定することも可能である。 However, the optimum execution procedure, during execution of the program defined in the program definition information, it is also possible for example be determined by an interpreter.
【0088】 [0088]
なお、本発明は、上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。 The present invention is not limited to the above-described embodiments, but can be variously modified without departing from the scope of the invention. 更に、上記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出され得る。 Further, the embodiments include inventions of various stages, and various inventions can be extracted by appropriately combining a plurality of disclosed constituent elements. 例えば、実施形態に示される全構成要件から幾つかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。 For example, even if some constituent features are deleted from all the components, Problems that the Invention is described in the section of the problems to be solved can be solved, it is described in the paragraphs of the effect of the invention effects shown in the embodiment If the obtained, the configuration from which the constituent elements are deleted can be extracted as an invention.
【0089】 [0089]
【発明の効果】 【Effect of the invention】
以上詳述したように本発明によれば、ソフトウェア部品の連結手段をリンク部品として表現するソフトウェア部品化技術を利用して、データ部品とリンク部品とに分類されるソフトウェア部品の群をプログラム構成の要素部品の群とし、当該要素部品相互の静的な連結構造が決定されたプログラムの静的構造を生成し、しかる後に当該プログラムの静的構造中の要素部品群のうちの利用者指定の各データ部品に、利用者指定のコストを設定することで、プログラムの構造を2つの階層に分離するようにしたので、それぞれを作成、把握するのが容易となり、ソフトウェア開発者がプログラムを容易に作成できるように支援することができる。 According to the present invention as described in detail above, by utilizing the software component technology to represent a connection means of the software component as a link part, a group of software components which are classified into the data part and the link part of the program configuration a group of component parts, and produces a static structure of a program static coupling structure of the component parts each other are determined, each of the user-specified one of the component parts groups static structure of the program thereafter the data part, by setting the cost of the user specified. Thus to separate the structure of a program into two layers, create each, it is easy to understand, easy to create software developer program it is possible to assist so that it can be.
【0090】 [0090]
しかも本発明によれば、プログラム定義情報で定義された各データ部品毎に、当該データ部品の各フィールドを満たす値を算出するのに用いるリンク部品を決定するのに、候補となるリンク部品の入力側に接続されたデータ部品をたどって、そのたどった先のデータ部品に設定されているコストをもとに、コストが小さいデータ部品に対応するリンク部品ほど優先して用いられるように決定してプログラムコードを生成するようにしているので、ソフトウェア開発者は、各データ部品の各フィールドを満たすための最適手順を作成する必要がない。 Moreover, according to the present invention, for each of the data components that are defined in the program definition information, to determine the link components used to calculate the value that satisfies the fields of the data component, the input of the link part as a candidate following the data part connected to the side, on the basis of the cost that is set to the previous data part traced, determined as used by higher priority link part corresponding to the cost is small data component since so as to generate program code, software developers do not need to create an optimal procedure for filling the fields of each data part.
【図面の簡単な説明】 BRIEF DESCRIPTION OF THE DRAWINGS
【図1】本発明の一実施形態に係る、プログラム作成支援装置の構成を示すブロック図。 [1] according to an embodiment of the present invention, a block diagram showing a configuration of a programming support device.
【図2】同実施形態におけるプログラム作成支援処理を説明するためのフローチャートの一部を示す図。 FIG. 2 shows a part of a flowchart for explaining the program creation support processing in the same embodiment.
【図3】同実施形態におけるプログラム作成支援処理を説明するためのフローチャートの残りを示す図。 FIG. 3 shows the remainder of the flowchart for explaining the program creation support processing in the same embodiment.
【図4】図3中のステップS15のプログラムコード生成処理の詳細な手順を示すフローチャート。 FIG. 4 is a flowchart showing a detailed procedure of a program code generation process in step S15 in FIG.
【図5】同実施形態で適用されるプログラム作成GUI画面の構成例と当該画面を用いて定義されたプログラムの構成例とを示す図。 5 is a diagram showing a configuration example of a program defined using the configuration examples and the screen of the programming GUI screen applied in the embodiment.
【図6】図5中のプログラム定義領域53上でのデータ部品の表示例を示す図。 6 shows a display example of data parts to the program definition area 53 in FIG.
【図7】図5中のプログラム定義領域53上での関数型リンク部品の表示例を示す図。 7 is a view showing a display example of a functional link parts to the program definition area 53 in FIG.
【符号の説明】 DESCRIPTION OF SYMBOLS
1…外部記憶装置2…主記憶装置3…表示装置4…入力装置5…CPU 1 ... external storage device 2 ... main memory 3 ... display device 4 ... input device 5 ... CPU
11…ソフトウェア部品定義情報12…アイコンデータ13…プログラム定義情報14…プログラムコード21…プログラムエディタ(プログラム作成支援プログラム) 11 ... Software component definition information 12 ... icon data 13 ... program definition information 14 ... program code 21 ... program editor (programming support program)
22…プログラム定義情報51…データ部品一覧領域52…リンク部品一覧領域53…プログラム定義領域211…部品選択部212…部品表示部213…連結入力部214…連結表示部215…コスト設定部216…プログラムコード生成部221…要素部品情報222…要素連結情報 22 ... program definition information 51 ... data parts list area 52 ... link parts list area 53 ... program definition area 211 ... component selecting unit 212 ... component display portion 213 ... connecting the input unit 214 ... connecting the display unit 215 ... cost setting unit 216 ... program code generation unit 221 ... component parts information 222 ... element connection information

Claims (9)

  1. ソフトウェア部品の連結手段をリンク部品として表現するソフトウェア部品化技術を利用したプログラムの作成を支援するための計算機により実行されるプログラム作成支援方法であって、 A program creation supporting method performed by the computer to support the creation of a program using a software component technology to represent a connection means of the software component as a link part,
    データが設定されるフィールドを端子として持つデータ部品と引数を端子として持つリンク部品とに分類されるソフトウェア部品の群をプログラム構成の要素部品の群とし、当該要素部品相互の静的な連結構造が決定されたプログラムの静的構造を生成するステップと、 A group of software components which are classified data components and arguments with fields data is set as a terminal to a link part having a terminal and a group of component parts of the program configuration, the static connection structure of the component parts each other generating a static structure of the determined program,
    前記プログラムの静的構造中の前記要素部品群のうちの利用者指定の各データ部品に利用者指定のコストを設定することで、要素部品相互の振る舞いが定義されたプログラム定義情報を生成するステップと、 The step of generating the element to the user specified the data components of the component group by setting the cost of the user specified program definition information behavior component parts mutually defined static structure of the program When,
    前記プログラム定義情報で定義された前記要素部品群のうちの各データ部品毎に、当該データ部品の端子と接続され、当該データ部品の当該端子に入力を与える全てのリンク部品について、当該入力部品の入力端子側に接続された要素部品の全てのパスをデータ部品になるまでたどり、そのたどりついた先のデータ部品に設定されているコストの中で最大のコストを、当該入力部品の見込みコストとして設定するステップと、 For each of the data part of the element group of components defined in the program definition information, coupled with the data part of the terminal, for all links components providing input to the terminal of the data part, of the input component follow all paths connected elements component to the input terminal side to a data part, set the maximum cost in the cost is set to the previous data components that arrived as expected cost of the input component the method comprising the steps of,
    前記プログラム定義情報で定義された前記要素部品群のうちの前記各データ部品毎に、 当該データ部品の端子に入力を与える全てのリンク部品の見込みコストに基づき、当該見込みコストが小さいリンク部品ほど優先的に当該リンク部品から当該データ部品の端子に入力が与えられるようにプログラムコードを生成するステップと を具備することを特徴とするプログラム作成支援方法。 In each of said data components of said element group of components defined in the program definition information, based on the estimated cost of all links components providing input to the data part of the terminal, the priority the smaller link part the estimated cost program creation support method characterized by comprising the steps of generating a program code as to input from the link part in the data part of the terminal is given.
  2. 前記プログラムの静的構造中の前記要素部品群、及び当該要素部品相互の静的な連結構造を、プログラムを作成するのに用いられるプログラム作成画面のプログラム定義領域に表示するステップと、 And displaying the elements Components of the static structure of the program, and the static coupling structure of the component parts mutually, the program definition area of ​​the program creation screen used to create a program,
    前記プログラム定義領域に表示されている前記要素部品群のうちのいずれか1つのデータ部品が利用者の操作に応じて指定される毎に、当該利用者に対して当該指定されたデータ部品のコストの指定入力を要求するステップと、 Each time one of the data components of one of the component parts group displayed in the program definition area is designated according to operation of the user, the cost of the specified data component with respect to the user and the step of requesting the specified input,
    を更に具備し、前記プログラム定義情報を生成するステップでは、前記コストの指定入力要求に応じて利用者によりコストが指定される毎に、当該利用者指定のコストを、前記プログラムの静的構造中の利用者指定のデータ部品に設定することを特徴とする請求項1記載のプログラム作成支援方法。 Further comprising, in the step of generating the program definition information, each time the cost is designated by the user in response to the cost for the specified input request, the cost of the user specified static structure of the program programming supporting method of claim 1, wherein the set of the user-specified data component.
  3. ソフトウェア部品の連結手段をリンク部品として表現するソフトウェア部品化技術を利用したプログラムの作成を支援するための計算機により実行されるプログラム作成支援方法であって、 A program creation supporting method performed by the computer to support the creation of a program using a software component technology to represent a connection means of the software component as a link part,
    データが設定されるフィールドを端子として持つデータ部品と引数を端子として持つリンク部品とに分類されるソフトウェア部品の一覧が表示される部品一覧領域、及びプログラムを作成するのに用いられるプログラム定義領域を含むプログラム作成画面を表示するステップと、 Parts list area in which a list of software components classified data components and arguments with fields data is set as a terminal to a link part having a terminal is displayed, and the program definition area used to create the program and the step of displaying the program creation screen, including,
    利用者の操作に応じて前記部品一覧から選択された部品を、作成すべきプログラムを構成する要素部品として利用者の操作に応じて前記プログラム定義領域に移動・配置するステップと、 A step wherein the selected part from the parts list, moves and arranged in the program definition area in accordance with user's operation as component parts of the program to be created according to user's operation,
    利用者の操作に応じて、前記プログラム定義領域に配置されている要素部品相互の端子間を連結し、前記プログラム定義領域に配置されている要素部品の群から構成され、当該要素部品相互の静的な連結構造が決定されたプログラムの静的構造を生成するステップと、 Depending on the user's operation is connected between component parts mutually terminals arranged on said program definition area, the program is composed from the group of component parts arranged in the defined area, the component parts mutual electrostatic comprising the steps of ligation structure generates a static structure of a program that has been determined,
    前記プログラム定義領域に配置されている前記要素部品群のうちのいずれか1つのデータ部品が利用者の操作に応じて指定される毎に、当該利用者に対して当該指定されたデータ部品のコストの指定入力を要求するステップと、 Each time one of the data parts of the element component group which is arranged in the program definition area is designated according to operation of the user, the cost of the specified data component with respect to the user and the step of requesting the specified input,
    前記コストの指定入力要求に応じて利用者によりコストが指定される毎に、当該利用者指定のコストを、前記プログラムの静的構造中の利用者指定のデータ部品に設定することで、要素部品相互の振る舞いが定義されたプログラム定義情報を生成するステップと、 Each time the cost is designated by the user in response to the cost for the specified input request, the cost of the user specified, by setting the user-specified data component of the static structure of the program, component parts and generating a program definition information mutual behavior is defined,
    前記プログラム定義情報で定義された前記要素部品群のうちの各データ部品毎に、当該データ部品の端子と接続され、当該データ部品の当該端子に入力を与える全てのリンク部品について、当該入力部品の入力端子側に接続された要素部品の全てのパスをデータ部品になるまでたどり、そのたどりついた先のデータ部品に設定されているコストの中で最大のコストを、当該入力部品の見込みコストとして設定するステップと、 For each of the data part of the element group of components defined in the program definition information, coupled with the data part of the terminal, for all links components providing input to the terminal of the data part, of the input component follow all paths connected elements component to the input terminal side to a data part, set the maximum cost in the cost is set to the previous data components that arrived as expected cost of the input component the method comprising the steps of,
    前記プログラム定義情報で定義された前記要素部品群のうちの前記各データ部品毎に、 当該データ部品の端子に入力を与える全てのリンク部品の見込みコストに基づき、当該見込みコストが小さいリンク部品ほど優先的に当該リンク部品から当該データ部品の端子に入力が与えられるようにプログラムコードを生成するステップと を具備することを特徴とするプログラム作成支援方法。 In each of said data components of said element group of components defined in the program definition information, based on the estimated cost of all links components providing input to the data part of the terminal, the priority the smaller link part the estimated cost program creation support method characterized by comprising the steps of generating a program code as to input from the link part in the data part of the terminal is given.
  4. 前記コストの指定入力要求に応じて利用者によりコストが指定された場合に、当該利用者指定のコストを、前記プログラム定義領域に配置されている利用者指定のデータ部品の近傍に表示するステップを更に具備することを特徴とする請求項3記載のプログラム作成支援方法。 If the cost is specified by the user in response to the cost for the specified input request, the step of displaying the cost of the user specified, in the vicinity of the data part of the user-specified disposed in said program definition area further programming supporting method according to claim 3, characterized by comprising.
  5. 前記データ部品には、当該データ部品の全てのフィールドを埋めるための第1のメソッドであって、当該データ部品に出力端子が連結された全てのリンク部品に対して、当該リンク部品の全ての入力端子に値が与えられているならば、当該リンク部品の出力端子に値を伝えるための第2のメソッドを送信する第1のメソッドが予め定義され、 Wherein the data part, a first method to fill all fields of the data component, for all links components in the data component output terminal is connected, all inputs of the link parts if the value in the terminal is given, the first method for transmitting the second method for transmitting the value to the output terminal of the link part is defined in advance,
    前記リンク部品には、当該リンク部品の入力端子の中に値が与えられていない入力端子が存在し、且つ当該入力端子にデータ部品が連結されているならば、当該データ部品に前記第1のメソッドを送信し、当該リンク部品の入力端子の中に値が与えられていない入力端子が存在し、且つ当該入力端子に他のリンク部品が連結されているならば、当該連結されているリンク部品に前記第2のメソッドと同じメソッドを送信する前記第2のメソッドが予め定義されている ことを特徴とする請求項1または請求項3記載のプログラム作成支援方法。 Wherein the link part, there input value is not given in the input terminals of the link part, and if the data part to the input terminal is connected, the first to the data component send method, there input value is not given in the input terminals of the link part, and if the other link part to the input terminal is connected, the link part being the connecting claim 1 or claim 3 programming support method according the second method is characterized in that it is defined in advance to transmit the same method as the second method.
  6. ソフトウェア部品の連結手段をリンク部品として表現するソフトウェア部品化技術を利用したプログラムの作成を支援するプログラム作成支援プログラムであって、 A software component program creation support program for supporting the creation of programs using software component technology for representing the connecting means as a link part,
    計算機に、 To the computer,
    データが設定されるフィールドを端子として持つデータ部品と引数を端子として持つリンク部品とに分類されるソフトウェア部品の群をプログラム構成の要素部品の群とし、当該要素部品相互の静的な連結構造が決定されたプログラムの静的構造を生成するステップと、 A group of software components which are classified data components and arguments with fields data is set as a terminal to a link part having a terminal and a group of component parts of the program configuration, the static connection structure of the component parts each other generating a static structure of the determined program,
    前記プログラムの静的構造中の前記要素部品群のうちの利用者指定の各データ部品に利用者指定のコストを設定することで、要素部品相互の振る舞いが定義されたプログラム定義情報を生成するステップと、 The step of generating the element to the user specified the data components of the component group by setting the cost of the user specified program definition information behavior component parts mutually defined static structure of the program When,
    前記プログラム定義情報で定義された前記要素部品群のうちの各データ部品毎に、当該データ部品の端子と接続され、当該データ部品の当該端子に入力を与える全てのリンク部品について、当該入力部品の入力端子側に接続された要素部品の全てのパスをデータ部品になるまでたどり、そのたどりついた先のデータ部品に設定されているコストの中で最大のコストを、当該入力部品の見込みコストとして設定するステップと、 For each of the data part of the element group of components defined in the program definition information, coupled with the data part of the terminal, for all links components providing input to the terminal of the data part, of the input component follow all paths connected elements component to the input terminal side to a data part, set the maximum cost in the cost is set to the previous data components that arrived as expected cost of the input component the method comprising the steps of,
    前記プログラム定義情報で定義された前記要素部品群のうちの前記各データ部品毎に、 当該データ部品の端子に入力を与える全てのリンク部品の見込みコストに基づき、当該見込みコストが小さいリンク部品ほど優先的に当該リンク部品から当該データ部品の端子に入力が与えられるようにプログラムコードを生成するステップと を実行させるためのプログラム作成支援プログラム。 In each of said data components of said element group of components defined in the program definition information, based on the estimated cost of all links components providing input to the data part of the terminal, the priority the smaller link part the estimated cost program creation support program for executing the steps of inputting to the data part of the terminal to generate a program code to be supplied from the manner the link part.
  7. ソフトウェア部品の連結手段をリンク部品として表現するソフトウェア部品化技術を利用したプログラムの作成を支援するプログラム作成支援プログラムであって、 A software component program creation support program for supporting the creation of programs using software component technology for representing the connecting means as a link part,
    計算機に、 To the computer,
    データが設定されるフィールドを端子として持つデータ部品と引数を端子として持つリンク部品とに分類されるソフトウェア部品の一覧が表示される部品一覧領域、及びプログラムを作成するのに用いられるプログラム定義領域を含むプログラム作成画面を表示するステップと、 Parts list area in which a list of software components classified data components and arguments with fields data is set as a terminal to a link part having a terminal is displayed, and the program definition area used to create the program and the step of displaying the program creation screen, including,
    利用者の操作に応じて前記部品一覧から選択された部品を、作成すべきプログラムを構成する要素部品として利用者の操作に応じて前記プログラム定義領域に移動・配置するステップと、 A step wherein the selected part from the parts list, moves and arranged in the program definition area in accordance with user's operation as component parts of the program to be created according to user's operation,
    利用者の操作に応じて、前記プログラム定義領域に配置されている要素部品相互の端子間を連結し、前記プログラム定義領域に配置されている要素部品の群から構成され、当該要素部品相互の静的な連結構造が決定されたプログラムの静的構造を生成するステップと、 Depending on the user's operation is connected between component parts mutually terminals arranged on said program definition area, the program is composed from the group of component parts arranged in the defined area, the component parts mutual electrostatic comprising the steps of ligation structure generates a static structure of a program that has been determined,
    前記プログラム定義領域に配置されている前記要素部品群のうちのいずれか1つのデータ部品が利用者の操作に応じて指定される毎に、当該利用者に対して当該指定されたデータ部品のコストの指定入力を要求するステップと、 Each time one of the data parts of the element component group which is arranged in the program definition area is designated according to operation of the user, the cost of the specified data component with respect to the user and the step of requesting the specified input,
    前記コストの指定入力要求に応じて利用者によりコストが指定される毎に、当該利用者指定のコストを、前記プログラムの静的構造中の利用者指定のデータ部品に設定することで、要素部品相互の振る舞いが定義されたプログラム定義情報を生成するステップと、 Each time the cost is designated by the user in response to the cost for the specified input request, the cost of the user specified, by setting the user-specified data component of the static structure of the program, component parts and generating a program definition information mutual behavior is defined,
    前記プログラム定義情報で定義された前記要素部品群のうちの各データ部品毎に、当該データ部品の各フィールドに与えられる値を算出するために、いずれのリンク部品を用いるべきかを、候補となるリンク部品の入力側に接続されたデータ部品をたどって、そのたどった先のデータ部品に設定されているコストをもとに、コストが小さいデータ部品に対応するリンク部品ほど優先して用いられるように決定してプログラムコードを生成するステップと を実行させるためのプログラム作成支援プログラム。 For each of the data part of the element group of components defined in the program definition information, in order to calculate the value given for each field of the data part, or should be used either link parts, the candidate follow the links connected data part to the input side of the component, so that based on the costs that are set in the previous data part traced, used in higher priority link part corresponding to the cost is small data component program creation support program for executing the steps of generating a program code to determine the.
  8. ソフトウェア部品の連結手段をリンク部品として表現するソフトウェア部品化技術を利用したプログラムの作成を支援するためのプログラム作成支援装置であって、 A program creation support apparatus for supporting creation of a program using a software component technology to represent a connection means of the software component as a link part,
    データが設定されるフィールドを端子として持つデータ部品と引数を端子として持つリンク部品とに分類されるソフトウェア部品の群をプログラム構成の要素部品の群とし、当該要素部品相互の静的な連結構造が決定されたプログラムの静的構造を生成する手段と、 A group of software components which are classified data components and arguments with fields data is set as a terminal to a link part having a terminal and a group of component parts of the program configuration, the static connection structure of the component parts each other It means for generating a static structure of the determined program,
    前記プログラムの静的構造中の各データ部品と当該データ部品のコストを指定する手段と、 It means for specifying the respective data components and cost of the data part of the static structure of the program,
    前記指定手段による指定毎に、指定されたコストを、前記プログラムの静的構造中の指定されたデータ部品に設定することで、要素部品相互の振る舞いが定義されたプログラム定義情報を生成する手段と、 Every designated by said designating means, the designated cost, by setting the specified data components of a static structure of the program, means for generating a program definition information behavior component parts mutually are defined ,
    前記プログラム定義情報に基づくプログラムコードの生成を指示する手段と、 It means for instructing the generation of the program code based on said program definition information,
    前記プログラム定義情報で定義された前記要素部品群のうちの各データ部品毎に、当該データ部品の端子と接続され、当該データ部品の当該端子に入力を与える全てのリンク部品について、当該入力部品の入力端子側に接続された要素部品の全てのパスをデータ部品になるまでたどり、そのたどりついた先のデータ部品に設定されているコストの中で最大のコストを、当該入力部品の見込みコストとして設定する手段と、 For each of the data part of the element group of components defined in the program definition information, coupled with the data part of the terminal, for all links components providing input to the terminal of the data part, of the input component follow all paths connected elements component to the input terminal side to a data part, set the maximum cost in the cost is set to the previous data components that arrived as expected cost of the input component and means for,
    前記指示手段の指示に応じて、前記プログラム定義情報で定義された前記要素部品群のうちの前記各データ部品毎に、 当該データ部品の端子に入力を与える全てのリンク部品の見込みコストに基づき、当該見込みコストが小さいリンク部品ほど優先的に当該リンク部品から当該データ部品の端子に入力が与えられるようにプログラムコードを生成する手段と を具備することを特徴とするプログラム作成支援装置。 Wherein in response to an instruction of the instruction means, wherein one of said component parts group as defined in the program definition information for each of the data part, based on the estimated cost of all links components providing input to the data part of the terminal, program creation support apparatus characterized by comprising a means for generating a program code as input from the prospective cost is small link component as preferentially the link part in the data part of the terminal is given.
  9. ソフトウェア部品の連結手段をリンク部品として表現するソフトウェア部品化技術を利用したプログラムの作成を支援するためのプログラム作成支援装置であって、 A program creation support apparatus for supporting creation of a program using a software component technology to represent a connection means of the software component as a link part,
    データが設定されるフィールドを端子として持つデータ部品と引数を端子として持つリンク部品とに分類されるソフトウェア部品の一覧が表示される部品一覧領域、及びプログラムを作成するのに用いられるプログラム定義領域を含むプログラム作成画面を表示する手段と、 Parts list area in which a list of software components classified data components and arguments with fields data is set as a terminal to a link part having a terminal is displayed, and the program definition area used to create the program and means for displaying the program creation screen, including,
    前記部品一覧から任意の部品を選択するための手段と、 Means for selecting an arbitrary part from the parts list,
    前記部品一覧から選択された部品を、作成すべきプログラムを構成する要素部品として利用者の操作に応じて前記プログラム定義領域に移動・配置するための手段と、 Parts selected from the parts list, and means for moving and arranged in the program definition area in accordance with user's operation as component parts of the program to be created,
    前記プログラム定義領域に配置されている要素部品相互の任意の端子間の連結を指定する手段と、 It means for specifying a connection between any of the terminals of the component parts mutually are arranged in the program definition area,
    前記指定された端子間を連結することで、前記プログラム定義領域に配置されている要素部品の群から構成され、当該要素部品相互の静的な連結構造が決定されたプログラムの静的構造を生成する手段と、 By connecting between the designated terminal, generating a static structure of the program consists of a group of component parts arranged in the defined area, program static coupling structure of the component parts mutually are determined and means for,
    前記プログラム定義領域に配置されている前記要素部品群のうちの任意のデータ部品と当該データ部品のコストとを指定する手段と、 It means for specifying the cost of any data component and the data component of said element component group which is arranged in the program definition area,
    前記指定手段による指定毎に、指定されたコストを、前記プログラムの静的構造中の指定されたデータ部品に設定することで、要素部品相互の振る舞いが定義されたプログラム定義情報を生成する手段と、 Every designated by said designating means, the designated cost, by setting the specified data components of a static structure of the program, means for generating a program definition information behavior component parts mutually are defined ,
    前記プログラム定義情報に基づくプログラムコードの生成を指示する手段と、 It means for instructing the generation of the program code based on said program definition information,
    前記プログラム定義情報で定義された前記要素部品群のうちの各データ部品毎に、当該データ部品の端子と接続され、当該データ部品の当該端子に入力を与える全てのリンク部品について、当該入力部品の入力端子側に接続された要素部品の全てのパスをデータ部品になるまでたどり、そのたどりついた先のデータ部品に設定されているコストの中で最大のコストを、当該入力部品の見込みコストとして設定する手段と、 For each of the data part of the element group of components defined in the program definition information, coupled with the data part of the terminal, for all links components providing input to the terminal of the data part, of the input component follow all paths connected elements component to the input terminal side to a data part, set the maximum cost in the cost is set to the previous data components that arrived as expected cost of the input component and means for,
    前記指示手段の指示に応じて、前記プログラム定義情報で定義された前記要素部品群のうちの前記各データ部品毎に、 当該データ部品の端子に入力を与える全てのリンク部品の見込みコストに基づき、当該見込みコストが小さいリンク部品ほど優先的に当該リンク部品から当該データ部品の端子に入力が与えられるようにプログラムコードを生成する手段と を具備することを特徴とするプログラム作成支援装置。 Wherein in response to an instruction of the instruction means, wherein one of said component parts group as defined in the program definition information for each of the data part, based on the estimated cost of all links components providing input to the data part of the terminal, program creation support apparatus characterized by comprising a means for generating a program code as input from the prospective cost is small link component as preferentially the link part in the data part of the terminal is given.
JP2002040262A 2002-02-18 2002-02-18 Program creation support method, program creation support program and program creation support device 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 device

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 device

Publications (2)

Publication Number Publication Date
JP2003241966A true JP2003241966A (en) 2003-08-29
JP3713466B2 true 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 device

Country Status (1)

Country Link
JP (1) JP3713466B2 (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8832178B2 (en) 2002-11-06 2014-09-09 Noel William Lovisa Service implementation
EP2390785A3 (en) * 2002-11-06 2012-10-24 Code Valley Corp Pty Ltd Code generation by combining components
US20090070121A1 (en) * 2007-09-11 2009-03-12 Jean-Baptiste Leonelli System, Method And Graphical User Interface For Workflow Generation, Deployment And/Or Execution
US20090070162A1 (en) * 2007-09-11 2009-03-12 Jean-Baptiste Leonelli System, Method And Graphical User Interface For Workflow Generation, Deployment 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
JP5971575B2 (en) * 2015-09-02 2016-08-17 株式会社東芝 Plant operation supporting device, plant operation supporting program, and plant operation supporting method
JP6092333B2 (en) * 2015-09-02 2017-03-08 株式会社東芝 Plant operation supporting device, plant operation supporting program, and plant operation supporting method

Also Published As

Publication number Publication date Type
JP2003241966A (en) 2003-08-29 application

Similar Documents

Publication Publication Date Title
US5659735A (en) Object-oriented system for program version and history database management system for various program components
US5774661A (en) Rule engine interface for a visual workflow builder
US7735062B2 (en) Software development system and method
US5734837A (en) Method and apparatus for building business process applications in terms of its workflows
US7343587B2 (en) System for creating, managing and executing computer testing and task management applications
Paterno et al. One model, many interfaces
US6804686B1 (en) System and methodology for providing fixed UML layout for an object oriented class browser
US7584417B2 (en) Role-dependent action for an electronic form
US5862379A (en) Visual programming tool for developing software applications
US6421821B1 (en) Flow chart-based programming method and system for object-oriented languages
US6499023B1 (en) Data item evaluation based on the combination of multiple factors
US7451403B1 (en) System and method for developing user interfaces purely by modeling as meta data in software application
US7370315B1 (en) Visual programming environment providing synchronization between source code and graphical component objects
US7174286B2 (en) Systems and methods for defining a simulated interactive web page
US6263339B1 (en) Dynamic object visualization and code generation
Pohl et al. PRIME—toward process-integrated modeling environments: 1
US5752245A (en) Object-oriented system for configuration history management with a project workspace and project history database for draft identification
US20050289524A1 (en) Systems and methods for software based on business concepts
US5019961A (en) Computer apparatus and method for logical modelling
US20100042922A1 (en) Customizable, dynamic and on-demand database-informer for relational databases
US20060150169A1 (en) Object model tree diagram
US20080127052A1 (en) Visually exposing data services to analysts
US20070250769A1 (en) Method and system to provide online application forms
US5630069A (en) Method and apparatus for creating workflow maps of business processes
US5335320A (en) Graphical user interface editing system

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Effective date: 20050412

Free format text: JAPANESE INTERMEDIATE CODE: A131

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)

Effective date: 20050816

Free format text: JAPANESE INTERMEDIATE CODE: A01

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