JP2002312167A - Program for making computer calculate value of variable, compile program, variable value determining method, and program generating method - Google Patents

Program for making computer calculate value of variable, compile program, variable value determining method, and program generating method

Info

Publication number
JP2002312167A
JP2002312167A JP2001114715A JP2001114715A JP2002312167A JP 2002312167 A JP2002312167 A JP 2002312167A JP 2001114715 A JP2001114715 A JP 2001114715A JP 2001114715 A JP2001114715 A JP 2001114715A JP 2002312167 A JP2002312167 A JP 2002312167A
Authority
JP
Japan
Prior art keywords
variable
value
program
unknown variable
unknown
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.)
Withdrawn
Application number
JP2001114715A
Other languages
Japanese (ja)
Inventor
Chiaki Matsuda
千秋 松田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2001114715A priority Critical patent/JP2002312167A/en
Publication of JP2002312167A publication Critical patent/JP2002312167A/en
Withdrawn legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To provide a program capable of optimizing processing efficiency and allowing a computer to calculate the values of variables, irrespective of the sequence of description or the sequence of execution of calculation expressions. SOLUTION: An assumed value is set for an unknown variable (step S1). Each time an assumptive value is set for the unknown variable, the solutions of the respective calculation expressions are calculated, based on predetermined values of known variables and on the assumptive value set for the unknown variable (step S3). The solution calculated, based on each of the plurality of calculation expressions, is set as a new assumptive value for the unknown variable to be calculated by the calculation expression (step S4). Each time such an assumed value is set as unknown variable, identify is determined between assumptive values for the unknown variable before and after the setting (step S5). When the assumed values for the unknown variable, before and after the setting, are determined as being the same, the assumed value set for the unknown variable is outputted as the result 3 of the calculation (step S6).

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は変数の値をコンピュ
ータに算出させるためのプログラム、コンパイルプログ
ラム、変数値確定方法およびプログラム生成方法に関
し、特に変数を算出するための計算式の実行順を問わず
に変数の値をコンピュータに算出させるためのプログラ
ム、コンパイルプログラム、変数値確定方法およびプロ
グラム生成方法に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a program for causing a computer to calculate the value of a variable, a compilation program, a method for determining a variable value, and a method for generating a program, and in particular, irrespective of the execution order of a calculation formula for calculating a variable. The present invention relates to a program for causing a computer to calculate the value of a variable, a compilation program, a variable value determination method, and a program generation method.

【0002】[0002]

【従来の技術】現在、多くの企業で業務のコンピュータ
化が図られている。産業界には、多種多様な業種がある
ため、各業種の業務をコンピュータ化するには、その業
務に合わせたソフトウェアを開発する必要がある。ソフ
トウェアのプログラムは、C言語やアセンブラなどを用
いて作成することができる。
2. Description of the Related Art At present, many companies are working on computerization of business. Since there are a wide variety of industries in the industrial world, it is necessary to develop software for each business in order to computerize the business of each business. The software program can be created using C language, assembler, or the like.

【0003】このようなプログラミング作業は、基本的
に人間の手入力で行われる。しかし、人間のすることに
はミスがつきものである。そのため、一般的に、プログ
ラム中には必ずミスがあるものと考えられている。この
ようなプログラムのミスは、バグと呼ばれている。これ
らのバグを取り除かなければ、ソフトウェアが所期の目
的を達成できないか、そのソフトウェアを実行するコン
ピュータの動作が不安定となる。
[0003] Such a programming operation is basically performed by manual input by a human. But what humans do often comes with mistakes. For this reason, it is generally considered that there is always a mistake in the program. Such program mistakes are called bugs. If these bugs are not removed, the software will either not achieve its intended purpose or the computer running the software will behave erratically.

【0004】バグには、大きく分けて次の3種類が存在
する。 1)文法的な間違いで翻訳中に発見されるもの。 2)論理的な間違いで実行中にすぐエラーが出て発見さ
れるもの。 3)論理的な間違いでエラーは出ないが、実行結果に間
違いを生じるもの。
There are roughly three types of bugs as follows. 1) A grammatical mistake found during translation. 2) A logical mistake that is found immediately during execution due to an error. 3) A logical error that does not cause an error but causes an error in the execution result.

【0005】通常、プログラムを作成したら、バグを発
見し、訂正する作業(デバック)が行われる。 1)のバグは、たとえば、関数の書き方を間違ったり、
かっこの数を間違ったりするものである。このような文
法のミスによるバグは、翻訳プログラム(コンパイラ)
によりすぐに発見され、エラーメッセージが出力され
る。そのため、文法ミスによるバグの発見は容易であ
る。
[0005] Usually, after a program is created, a work (debugging) for finding and correcting a bug is performed. The bugs in 1) are, for example, writing wrong functions,
Or the number of parentheses is wrong. Bugs caused by such grammatical mistakes are translated programs (compiler)
Is found immediately and an error message is output. Therefore, it is easy to find bugs due to grammatical mistakes.

【0006】2)のバグは、文法上は間違っておらず、
モジュールとモジュールの間で引き渡されるデータの数
が間違っていたり、データ形式が間違っていたりするも
のである。このようなバグは、翻訳プログラムで発見す
るのは困難であり、プログラムを部分的にテストをした
り、全体的に実行したりすることで発見することができ
る。
The bug 2) is not grammatically wrong,
The number of data passed between modules is wrong, or the data format is wrong. Such bugs are difficult to find in a translated program, and can be found by partially testing the program or running it entirely.

【0007】ところが、3)のバグは、翻訳プログラム
においてエラーメッセージが出ないため、発見が困難で
ある。例えば、変数aの値を以下の式
However, the bug 3) is difficult to find because no error message appears in the translation program. For example, the value of variable a is

【0008】[0008]

【数1】変数a0=変数b0×変数c0 ・・・(1)## EQU1 ## Variable a 0 = variable b 0 × variable c 0 (1)

【0009】[0009]

【数2】変数b0=変数c0+変数d0 ・・・(2)## EQU2 ## Variable b 0 = variable c 0 + variable d 0 (2)

【0010】[0010]

【数3】変数c0=変数d0×変数e0 ・・・(3)
で求める場合を考える。ここで、変数d0と変数e0との
値が与えられた場合、式(3)、式(2)、式(1)の
順でコンピュータが実行するようにプログラムを作成す
る必要がある。このような計算式の実行順を間違える
と、誤った実行結果が出力されてしまう。この場合、文
法的には間違いがないので、翻訳中にエラーメッセージ
が出されることはない。また、実行してもエラーメッセ
ージは出力されない。そのため、従来は、3)のバグを
発見するために、人手によって実行結果の間違いを検出
していた。
## EQU3 ## Variable c 0 = variable d 0 × variable e 0 (3)
Consider the case of asking. Here, when the values of the variable d 0 and the variable e 0 are given, it is necessary to create a program so that the computer executes the equations (3), (2), and (1) in this order. If the execution order of such a calculation formula is wrong, an incorrect execution result will be output. In this case, there is no grammatical error and no error message is issued during translation. No error message is output even if executed. For this reason, conventionally, in order to find the bug 3), an error in the execution result was manually detected.

【0011】[0011]

【発明が解決しようとする課題】しかし、上記3)のバ
グは、実行結果のミスを人間が目で確認して見つけだす
必要があり、そのバグの発見が非常に困難である。その
ため、信頼性の高いソフトウェアを作成するには、プロ
グラムからバグを取り除くためのデバッグ作業に長い期
間をかける必要があった。その結果、デバック作業に要
する時間だけソフトウェアの完成が遅れ、ソフトウェア
の生産性が低下していた。
However, the bug 3) requires a human to visually confirm and find a mistake in the execution result, and it is very difficult to find the bug. Therefore, creating reliable software required a long period of debugging work to remove bugs from the program. As a result, the completion of the software is delayed by the time required for the debugging work, and the productivity of the software is reduced.

【0012】そこで、上記3)のバグの発生を防止する
ことが考えられている。上記3)のバグの発生原因を考
察すると、フォン・ノイマン型コンピュータ特有の原因
が考えられる。
Therefore, it has been considered to prevent the occurrence of the bug 3). Considering the cause of the bug 3), the cause peculiar to the von Neumann computer can be considered.

【0013】フォン・ノイマン型コンピュータは、ハー
ドウェアが真空管の時代にできたものである。この時代
のコンピュータの処理能力は、現在のコンピュータに比
べて非常に低いため、一度きりで処理が終了すること
が、性能面でもメモリ容量節約面でも必須課題である。
そのため、必然的に、無駄な繰り返し処理を行わず、一
度きりで処理を行うようなソフトウェア設計ロジックが
必要とされ、そのロジックが現在まで踏襲されている。
無駄な繰り返しを防ぐには、たとえば、複数の変数を四
則演算子などの算術式で表した場合、その算術式を一番
下位概念の式から実行させることとなる。
[0013] The von Neumann computer was created in the age of vacuum tubes in hardware. Since the processing capability of computers in this era is much lower than that of today's computers, it is an essential issue in terms of both performance and memory capacity to complete processing only once.
For this reason, software design logic that inevitably performs processing only once without performing useless repetitive processing is required, and the logic has been followed to date.
To prevent useless repetition, for example, when a plurality of variables are represented by an arithmetic expression such as an arithmetic operator, the arithmetic expression is executed from the expression of the lowest concept.

【0014】図15は、従来型プログラムの記述例と実
行例を示す図である。図15には、従来型のプログラム
の記述例910と、その記述に従った実行例920とが
示されている。
FIG. 15 is a diagram showing a description example and an execution example of a conventional program. FIG. 15 shows a description example 910 of a conventional program and an execution example 920 according to the description.

【0015】従来型のプログラムの記述例910では、
データ等の定義と処理手順の記述とが成されている。処
理手順の記載によれば、上位概念の計算式を実行するプ
ログラム「親プログラムABCD」から下位概念の計算
式を実行する子プログラム「子プログラムAB、子プロ
グラムCD」を呼び出す。同様に、子プログラム(子プ
ログラムAB)から、さらに下位概念の計算式を実行す
る孫プログラム「孫プログラムA、孫プログラムB」を
呼び出す。子プログラム(子プログラムCD)から、さ
らに下位概念の計算式を実行する孫プログラム「孫プロ
グラムC、孫プログラムD」を呼び出す。呼び出された
プログラムの処理終了後、呼出元の親プログラムに復帰
する。
In a description example 910 of a conventional program,
The definition of data and the like and the description of the processing procedure are made. According to the description of the processing procedure, the child program “child program AB, child program CD” that executes the calculation formula of the lower concept is called from the program “parent program ABCD” that executes the calculation formula of the higher concept. Similarly, a grandchild program “grandchild program A, grandchild program B” for executing the calculation formula of the lower concept is called from the child program (child program AB). From the child program (child program CD), grandchild programs “grandchild program C, grandchild program D” for executing the calculation formula of the lower concept are called. After the processing of the called program ends, the program returns to the calling parent program.

【0016】プログラムの実行例920によれば、プロ
グラムの実行時には、データ等の定義が行われる。その
後、処理手順の呼出関係に従って、プログラムが実行さ
れる。
According to the execution example 920 of the program, data and the like are defined when the program is executed. Thereafter, the program is executed according to the calling relationship of the processing procedure.

【0017】このように、従来型のプログラムでは、実
行時の順番を想定して、論理(ロジック)を組み立てて
いる。このような論理が複雑になれば、バグの発生原因
となりやすい。つまり、一般的な要件定義や外部設計に
基づいて、コンピュータ向けの論理構成によるドキュメ
ントの作成やテスト作業を、プログラマが強いられてい
る。このことが、バグの発生要因の1つである。
As described above, in the conventional program, the logic is assembled on the assumption of the execution order. If such logic becomes complicated, it is likely to cause bugs. In other words, programmers are forced to create and test documents in a logical configuration for computers based on general requirement definitions and external designs. This is one of the causes of the bug.

【0018】そのため、フォン・ノイマン型コンピュー
タに合わせたソフトウェアの構築開発手段は、生産性と
保守性面では、非効率で開発期間が不安定である。これ
により、構築開発費用も計画値より増加する傾向にあ
る。そのソフトウェアの構築開発手段を、数々の弊害問
題から基本的に改善する為に、今までの方法に替わる新
しい概念や理論が求められていた。
For this reason, the software construction and development means adapted to the von Neumann type computer is inefficient and has an unstable development period in terms of productivity and maintainability. As a result, construction and development costs tend to be higher than planned. In order to fundamentally improve the software construction / development method from a number of adverse effects, new concepts and theories, which replace the conventional methods, were required.

【0019】たとえば、Lyee(GOVERNMENTAL METHOD
OLOGY for SOFTWARE PROVIDENCEの各単語の末尾の文字
を集めたもの)と命名された理論に基づく技術がホーム
ページ(http://www.lyee.co.jp/jp/index.htm)において
公開されている。この技術によれば、プログラマは複数
の単語(変数)を四則演算子などの算術式で表し、それ
を一番上位概念の式から記述する。そして、プレコンパ
イルして、一番下位概念の式から実行されるようにして
いる。この技術に関連する国際特許出願(WO97/16784、
WO98/19232)も行われている。
For example, Lyee (GOVERNMENTAL METHOD
A technology based on the theory named OLOGY for SOFTWARE PROVIDENCE (a collection of letters at the end of each word) is available on the homepage (http://www.lyee.co.jp/jp/index.htm). . According to this technique, a programmer expresses a plurality of words (variables) by an arithmetic expression such as an arithmetic operator, and describes it from the expression of the highest concept. Then, it is precompiled and executed from the expression of the lowest concept. International patent applications related to this technology (WO97 / 16784,
WO98 / 19232) has also been conducted.

【0020】このように、計算式のプログラムへの記述
順を問わないようなプログラミング手法を適用すること
で、上記3)のバグのような算術式の記述順の間違いに
よるバグの発生を防ぐことができる。これは、ソフトウ
ェアの開発において非常に有用であり、今後も利用範囲
が拡大するものと考えられる。
In this way, by applying a programming method that does not care about the order of description of the calculation formula in the program, it is possible to prevent the occurrence of a bug due to the mistake in the description order of the arithmetic formula such as the bug 3). Can be. This is very useful in software development, and it is expected that the range of use will be expanded in the future.

【0021】ただし、Lyee理論は、全てのアルゴリ
ズムに適用できるかどうかは不明であり、プログラムの
処理効率の面でも、十分な最適化の手段は開示されてい
ない。そこで、記載順や実行順にとらわれずに記述可能
なプログラミング技術の多様化および処理効率の最適化
が望まれている。
However, it is unclear whether the Lyee theory can be applied to all algorithms, and no sufficient optimization means is disclosed in terms of program processing efficiency. Therefore, there is a demand for diversification of programming techniques and optimization of processing efficiency that can be described regardless of description order and execution order.

【0022】本発明はこのような点に鑑みてなされたも
のであり、処理効率の最適化が可能であり、且つ計算式
の記載順や実行順にとらわれずに変数の値をコンピュー
タに算出させるためプログラム、コンパイルプログラ
ム、変数値確定方法およびプログラム生成方法を提供す
ることを目的とする。
The present invention has been made in view of the above points, and it is possible to optimize the processing efficiency and to make a computer calculate the value of a variable regardless of the description order or execution order of calculation formulas. It is an object of the present invention to provide a program, a compiled program, a variable value determination method, and a program generation method.

【0023】[0023]

【課題を解決するための手段】本発明では上記課題を解
決するために、図1に示すような、変数の値をコンピュ
ータに算出させるためのプログラムおよび変数値確定方
法が提供される。本発明のプログラムをコンピュータに
実行させることで、以下のような変数値確定方法の処理
がコンピュータ上で実現される。
In order to solve the above-mentioned problems, the present invention provides a program for causing a computer to calculate the value of a variable and a method for determining a variable value, as shown in FIG. By causing a computer to execute the program of the present invention, processing of the following variable value determination method is realized on the computer.

【0024】少なくとも1つの未知変数を算出するため
の複数の計算式と、複数の計算式に含まれる少なくとも
1つの既知変数の既定値とが入力されると、未知変数に
対して仮定値を設定する(ステップS1)。未知変数に
対して仮定値が設定される毎に、既知変数の既定値と未
知変数に設定された仮定値とに基づいて、各計算式の解
を算出する(ステップS3)。複数の計算式それぞれに
基づいて算出された解を、各計算式で算出される未知変
数の仮定値としてあらたに設定する(ステップS4)。
未知変数に対して仮定値が設定される毎に、未知変数の
仮定値の設定前後の値の同一性を判断する(ステップS
5)。未知変数の仮定値の設定前後の値が同一性有りと
判断された場合、未知変数に設定されている仮定値を演
算結果3として出力する(ステップS6)。
When a plurality of formulas for calculating at least one unknown variable and a default value of at least one known variable included in the plurality of formulas are input, a hypothetical value is set for the unknown variable. (Step S1). Each time a hypothetical value is set for an unknown variable, a solution of each equation is calculated based on the default value of the known variable and the hypothetical value set for the unknown variable (step S3). The solution calculated based on each of the plurality of formulas is newly set as an assumed value of the unknown variable calculated by each formula (step S4).
Each time a hypothetical value is set for an unknown variable, the identity of the value before and after the setting of the hypothetical value of the unknown variable is determined (step S).
5). If it is determined that the values before and after the setting of the assumed value of the unknown variable are identical, the assumed value set for the unknown variable is output as the calculation result 3 (step S6).

【0025】これにより、計算式と既定変数の既定値が
入力されると、既定変数の既定値と未定変数の仮定値と
により、計算式の解が求められる。求められた解によ
り、未定変数に対して仮定値があらたに設定される。そ
して、仮定値の設置前後での値に同一性がなければ、計
算式の解の算出と、仮定値の設定が繰り返される。仮定
値の設定前後での値に同一性が有れば、そのときの未知
変数に設定されている仮定値が演算結果として出力され
る。
Thus, when the calculation formula and the default value of the default variable are input, the solution of the calculation formula is obtained from the default value of the default variable and the assumed value of the undetermined variable. Based on the obtained solution, an assumed value is newly set for the undetermined variable. Then, if the values before and after the setting of the assumed value are not identical, the calculation of the solution of the calculation formula and the setting of the assumed value are repeated. If the values before and after the setting of the assumed value are identical, the assumed value set in the unknown variable at that time is output as the calculation result.

【0026】また、本発明では上記課題を解決するため
に、変数の値を算出させるための命令が記述されたプロ
グラムを生成するためのコンパイルプログラムおよびプ
ログラム生成方法において、少なくとも1つの未知変数
を算出するための複数の計算式が入力されたコンピュー
タに、前記複数の計算式に含まれる少なくとも1つの既
知変数の既定値の入力に応答して、前記未知変数に対し
て仮定値を設定する命令を生成し、前記未知変数に対し
て仮定値が設定される毎に、前記既知変数の既定値と前
記未知変数に設定された仮定値とに基づいて、前記各計
算式の解を繰り返し算出する命令を生成し、前記複数の
計算式それぞれに基づいて算出された前記解を、前記各
計算式で算出される前記未知変数の仮定値としてあらた
に設定する命令を生成し、前記未知変数に対して仮定値
が設定される毎に、前記未知変数の仮定値の設定前後の
値の同一性を判断する命令を生成し、前記未知変数の仮
定値の設定前後の値が同一性有りと判断された場合、前
記未知変数に設定されている仮定値を演算結果として出
力する命令を生成する、処理を実行させることを特徴と
するコンパイルプログラムおよびプログラム生成方法が
提供される。
According to the present invention, in order to solve the above-mentioned problems, in a compilation program and a program generation method for generating a program in which an instruction for calculating a value of a variable is described, at least one unknown variable is calculated. To a computer to which a plurality of calculation formulas for inputting are input, in response to input of a default value of at least one known variable included in the plurality of calculation formulas, An instruction to generate and repeatedly calculate the solution of each of the formulas based on the default value of the known variable and the assumed value set for the unknown variable every time the assumed value is set for the unknown variable. An instruction to newly set the solution calculated based on each of the plurality of formulas as a hypothetical value of the unknown variable calculated by each of the formulas. Every time a hypothetical value is set for the unknown variable, generates an instruction to determine the identity of the value before and after setting the hypothetical value of the unknown variable, and generates a command before and after the setting of the hypothetical value of the unknown variable. When the values are determined to be identical, a compile program and a program generation method are provided, which generate an instruction to output an assumed value set in the unknown variable as an operation result, and execute a process. You.

【0027】これにより、本発明に係るコンパイルプロ
グラムを実行するコンピュータに対して、複数の計算式
を入力すると、上記本発明に係る変数の値をコンピュー
タに算出させるためのプログラムが生成される。
Thus, when a plurality of formulas are input to the computer that executes the compiling program according to the present invention, a program for causing the computer to calculate the value of the variable according to the present invention is generated.

【0028】[0028]

【発明の実施の形態】以下、本発明の実施の形態を図面
を参照して説明する。図1は、本発明の原理構成図であ
る。本発明では、コンピュータに以下の処理を実行させ
る(以下の処理を行うコンピュータを「変数値確定装
置」とする)。以下の処理は、少なくとも1つの未知変
数を算出するための複数の計算式と、複数の計算式に含
まれる少なくとも1つの既知変数の既定値とが入力され
ることで開始される。図1の例では、変数βに基づいて
変数αを求める計算式「α=F(β)」と、変数γに基
づいて変数βを求める計算式「β=G(γ)」とが入力
されている。この例では、変数αと変数βとが未知変数
であり、変数γが既知変数である。そして、変数γの値
「5」が入力されている。
Embodiments of the present invention will be described below with reference to the drawings. FIG. 1 is a diagram illustrating the principle of the present invention. In the present invention, a computer executes the following processing (a computer that performs the following processing is referred to as a “variable value determination device”). The following process is started by inputting a plurality of calculation formulas for calculating at least one unknown variable and a default value of at least one known variable included in the plurality of calculation formulas. In the example of FIG. 1, a calculation formula “α = F (β)” for obtaining the variable α based on the variable β and a calculation formula “β = G (γ)” for obtaining the variable β based on the variable γ are input. ing. In this example, the variables α and β are unknown variables, and the variable γ is a known variable. Then, the value “5” of the variable γ is input.

【0029】まず、未知変数である変数αと変数βとに
対して、仮定値が設定される(ステップS1)。図1の
例では、変数αと変数βとの仮定値として「1」が設定
されている。既知変数と既定値と未知変数の仮定値と
は、処理対象データ1として保持される。
First, assumed values are set for variables α and β which are unknown variables (step S1). In the example of FIG. 1, “1” is set as the assumed value of the variable α and the variable β. The known variable, the default value, and the assumed value of the unknown variable are held as processing target data 1.

【0030】未知変数に対して仮定値が設定される毎
に、ステップS2〜ステップS5の処理が行われる。す
なわち、まず処理対象データ1が複写され、複写データ
2が生成される(ステップS2)。次に、既知変数の既
定値と未知変数に設定された仮定値とに基づいて、各計
算式の解が算出される(ステップS3)。複数の計算式
それぞれに基づいて算出された解が、各計算式で算出さ
れる未知の変数の仮定値としてあらたに設定される(ス
テップS4)。図1の例では、変数αと変数βとの値が
算出され、仮定値として処理対象データ1に設定され
る。そして、未知変数の仮定値の設定前後の値との同一
性が判断される(ステップS5)。同一性の判断は、処
理対象データ1と複写データ2との内容を比較すること
で行われる。たとえば、全ての変数の値が一致している
ときに、同一性有りと判断することができる。また、最
終的に取得したい変数αの値が一致しているときに、同
一性ありと判断するようにしてもよい。
Each time an assumed value is set for an unknown variable, the processing of steps S2 to S5 is performed. That is, first, the processing target data 1 is copied, and copy data 2 is generated (step S2). Next, a solution of each formula is calculated based on the default value of the known variable and the assumed value set for the unknown variable (step S3). The solution calculated based on each of the plurality of formulas is newly set as the assumed value of the unknown variable calculated by each formula (step S4). In the example of FIG. 1, the values of the variables α and β are calculated, and are set in the processing target data 1 as assumed values. Then, the identity of the unknown variable with the value before and after the setting of the assumed value is determined (step S5). The determination of the identity is made by comparing the contents of the processing target data 1 and the copy data 2. For example, when the values of all variables match, it can be determined that there is identity. Further, when the values of the variable α to be finally obtained coincide, the identity may be determined.

【0031】同一性の判断において、同一性有りと判断
されない限り、ステップS2〜ステップS5の処理が繰
り返し実行される。同一性の判断において、仮定値の設
定前後の値が同一性有りと判断された場合には、未知変
数に設定されている仮定値が演算結果として決定され、
演算結果3が出力される(ステップS6)。
In the determination of the identity, the processes of steps S2 to S5 are repeatedly executed unless it is determined that there is the identity. In the determination of the identity, when it is determined that the values before and after the setting of the assumed value are the same, the assumed value set in the unknown variable is determined as the calculation result,
The calculation result 3 is output (step S6).

【0032】以上の手順で処理が実行されるようにプロ
グラムを作成すれば、変数を求める計算式の記載順に関
係なく、正しい解を算出することができる。すなわち、
数学的な証明式などの最終的な解を求めるとことは、全
ての計算式を満たす変数の値を求めることである。その
ため、上位概念から下位概念へと変数を含む計算式が過
不足なく(順不同)書かれている場合は、それらの計算
式を複数回繰り返し実行し、全ての変数の値が変化しな
くなったことは、全ての計算式を満たす全ての変数の値
が確定したことを意味する。したがって、変数の値が変
化しなくなったときの各変数の値を正しい解として決定
することができる。
If a program is created so that the processing is executed according to the above procedure, a correct solution can be calculated irrespective of the order in which the formulas for obtaining the variables are described. That is,
Finding the final solution, such as a mathematical proof formula, means finding the values of variables that satisfy all the formulas. Therefore, when formulas including variables were written from upper concept to lower concept without any excess or shortage (in any order), the formulas were repeatedly executed multiple times, and the values of all variables did not change. Means that the values of all variables that satisfy all the formulas have been determined. Therefore, the value of each variable when the value of the variable stops changing can be determined as a correct solution.

【0033】以上のように、本発明に係る理論はシンプ
ルである。しかも、開発支援システムを必要とせず、コ
ーディング技法のレベルで適用可能であり、利用が容易
である。なお、順番を気にせず記載したプログラムの記
述を、事前にプレコンパイラで(又は、実行時に記述の
順序と実行の順序を変えて)、解の算出処理の繰り返し
回数を少なくするように最適化することも容易に可能で
ある。また、プログラムの記載としては、論理(ロジッ
ク)を表す、IF命令やCALL命令、GOTO命令な
どは記載する必要がない。ゆえに、開発の生産性は驚異
的に向上する。
As described above, the theory according to the present invention is simple. Moreover, it does not require a development support system, is applicable at the level of coding techniques, and is easy to use. The program description written without regard to the order is optimized by the precompiler in advance (or by changing the order of the description and the order of execution at the time of execution) so as to reduce the number of iterations of the solution calculation process. It is also possible to do it easily. In addition, it is not necessary to describe an IF instruction, a CALL instruction, a GOTO instruction, or the like, which represents logic, as a description of a program. Thus, development productivity is dramatically improved.

【0034】ここで、現在の汎用型コンピュータ(ノイ
マン型)における解法と、本発明に係る解法との違いに
ついて説明する。ある変数の値を算出するプログラムを
作成する場合、数学的にその変数を算出するための計算
式を、人間が考え出す必要がある。数学では、最終的な
答えを定義する上位概念の式を証明するために、上位概
念の式に含まれる変数が、下位概念で定義される。この
ときは、人間の思考に合わせた場合、一般的に、上位概
念から徐々に下位概念の変数や式が記述される。そし
て、下位概念で定義した変数や式が、公知の変数や式に
行き着いたところで、その証明が完結する。
Here, the difference between the solution in the current general-purpose computer (Neumann type) and the solution according to the present invention will be described. When creating a program for calculating the value of a certain variable, a human needs to come up with a calculation formula for calculating the variable mathematically. In mathematics, variables included in an expression of a superordinate concept are defined by a subordinate concept in order to prove an expression of a superordinate concept that defines a final answer. At this time, in general, variables and expressions from the upper concept to the lower concept are gradually described in accordance with human thinking. The proof is completed when the variables and expressions defined in the lower concept reach known variables and expressions.

【0035】現在の汎用型コンピュータ(ノイマン型コ
ンピュータ)の発明者ノイマンは、ノイマン型コンピュ
ータの基本原理として、下位概念の変数を含む式を、順
次実行して、最終的に上位概念の変数を含む式を実行す
るアーキティクチャを完成させた。これにより、ノイマ
ン型コンピュータにおける計算式の実行配列と、人間の
思考上の計算式の記述順とが乖離する結果を招いてい
る。
Neumann, the inventor of the current general-purpose computer (Neumann-type computer), executes, as a basic principle of the Neumann-type computer, formulas including variables of lower concepts in order, and finally includes variables of higher concepts. Completed the architecture to execute the formula. As a result, the execution sequence of the calculation formula in the Neumann computer is deviated from the description order of the calculation formula in human thinking.

【0036】従来のノイマン型コンピュータ用のプログ
ラムでは、計算式の記載順を人間の思考に合わせ、上位
概念から徐々に下位概念の式を記述している。そして、
ジャンプ命令、コール命令等を多用することで、コンピ
ュータにより下位概念の式から順に実行されるようにし
ている。ところが、プログラム上での計算式の記載順
と、その計算式のコンピュータでの実行順とが異なるこ
とが原因で、計算式の実行順の間違いによるバグが発生
していた。しかも、大規模なコンピュータシステムのソ
フトウェアの場合、プログラムの量も膨大であり、バグ
の発生場所の特定が困難である。その結果、問題個所を
発見するために、多くの時間を費やしていた。
In a conventional program for a Neumann-type computer, the order of calculation formulas is described in accordance with human thinking, and expressions of lower concepts are gradually described from higher concepts. And
By frequently using jump instructions, call instructions, and the like, the computer executes the expressions in order from the lower concept. However, because the order in which the formulas are described in the program is different from the order in which the formulas are executed on the computer, a bug has occurred due to an incorrect order in which the formulas are executed. In addition, in the case of software for a large-scale computer system, the amount of programs is enormous, and it is difficult to identify the location where a bug occurs. As a result, they spent a lot of time finding the problem.

【0037】一方、本発明では、計算式の実行順を問わ
ないプログラミング手法を提供している。これにより、
計算式の実行順の間違いによるバグの発生を、未然に防
ぐことが可能となる。
On the other hand, the present invention provides a programming method regardless of the execution order of the calculation formula. This allows
It is possible to prevent a bug from occurring due to an incorrect execution order of the calculation formula.

【0038】なお、解の同一性の判定では、基本的に、
処理対象データ1と複写データ2との値が一致すること
を要求しているが、浮動小数点演算の場合には、近似値
であることをもって同一とみなしてもよい。これは、浮
動小数点演算による結果は、実行ごとに同じ値を投入し
ても近似値となってしまうためである。
In determining the identity of the solution, basically,
Although it is required that the values of the processing target data 1 and the copy data 2 match, in the case of floating-point arithmetic, they may be regarded as the same because they are approximate values. This is because the result of the floating-point operation will be an approximate value even if the same value is input for each execution.

【0039】ところで、本発明のプログラミング手法を
採ると、基本的に下位概念の変数から順に値が確定す
る。ここで、「値が確定する」とは、計算式による解の
算出を行っても、値が変わらなくなることである。そこ
で、以下、本発明のプログラミング手法を「変数順次確
定方式」と呼ぶこととする。また、本発明のプログラム
手法に沿った処理を実行するコンピュータを「変数順次
確定方式の逆ノイマン型コンピュータ(処理装置)」と
呼ぶこととする。さらに、逆ノイマン型処理装置のう
ち、変数順次確定方式を適用し並列に動作するコンピュ
ータを「変数順次確定方式の逆ノイマン型多次元処理装
置」と呼ぶこととする。
By the way, if the programming method of the present invention is adopted, the values are basically determined in order from the variables of the lower concept. Here, “determining the value” means that the value does not change even if the solution is calculated by the calculation formula. Therefore, the programming method of the present invention is hereinafter referred to as a “variable sequential determination method”. In addition, a computer that executes processing according to the program method of the present invention is referred to as an “inverse Neumann computer (processing device) of a variable sequential determination method”. Further, among the inverse Neumann processing apparatuses, a computer that operates in parallel by applying the variable sequential determination method is referred to as an “inverse Neumann multidimensional processing apparatus of a variable sequential determination method”.

【0040】[第1の実施の形態]図2は、第1の実施
の形態に係る逆ノイマン型処理装置のハードウェア構成
例を示す図である。逆ノイマン型処理装置100は、C
PU101によって装置全体が制御されている。CPU
101には、バス107を介してRAM102、ハード
ディスク装置(HDD)103、グラフィック処理装置
104、入力インタフェース105、および通信インタ
フェース106が接続されている。
[First Embodiment] FIG. 2 is a diagram showing an example of a hardware configuration of an inverse Neumann processing apparatus according to a first embodiment. The inverse Neumann type processing apparatus 100
The PU 101 controls the entire apparatus. CPU
A RAM 102, a hard disk device (HDD) 103, a graphic processing device 104, an input interface 105, and a communication interface 106 are connected to the 101 via a bus 107.

【0041】RAM102は、CPU101に実行させ
るOS(Operating System)のプログラムやアプリケーシ
ョンプログラムの少なくとも一部が一時的に格納され
る。また、RAM102には、CPU101による処理
に必要な各種データが格納される。HDD103は、O
Sやアプリケーションプログラムが格納される。
The RAM 102 temporarily stores at least a part of an OS (Operating System) program and an application program to be executed by the CPU 101. Further, the RAM 102 stores various data necessary for processing by the CPU 101. HDD 103 is
S and application programs are stored.

【0042】グラフィック処理装置104には、モニタ
11が接続されている。グラフィック処理装置104
は、CPU101からの命令に従って、画像をモニタ1
1の画面に表示させる。入力インタフェース105に
は、キーボード12とマウス13とが接続されている。
入力インタフェース105は、キーボード12やマウス
13から送られてくる信号を、バス107を介してCP
U101に送信する。
The monitor 11 is connected to the graphic processing device 104. Graphic processing device 104
Displays an image on the monitor 1 according to a command from the CPU 101.
1 is displayed on the screen. The keyboard 12 and the mouse 13 are connected to the input interface 105.
The input interface 105 converts a signal sent from the keyboard 12 or the mouse 13 into a CP
Transmit to U101.

【0043】通信インタフェース106は、ネットワー
ク14に接続されている。ネットワーク14は、たとえ
ばインターネットのような広域ネットワークである。通
信インタフェース106は、ネットワーク14を介し
て、他のコンピュータとの間でデータの送受信を行う。
The communication interface 106 is connected to the network 14. The network 14 is, for example, a wide area network such as the Internet. The communication interface 106 transmits and receives data to and from another computer via the network 14.

【0044】以上のようなハードウェア構成によって、
第1の実施の形態の処理機能を実現することができる。
図3は、本発明の実施の形態に係る逆ノイマン型処理装
置の機能ブロック図である。第1の実施の形態では、メ
モリ空間20内に、処理対象データ格納領域(X域)2
1、複写データ格納領域(Y域)22、および処理非対
象データ格納領域(Z域)23が形成される。
With the above hardware configuration,
The processing functions of the first embodiment can be realized.
FIG. 3 is a functional block diagram of the inverse Neumann processing apparatus according to the embodiment of the present invention. In the first embodiment, a processing target data storage area (X area) 2
1. A copy data storage area (Y area) 22 and a processing non-target data storage area (Z area) 23 are formed.

【0045】X域21は、処理対象となる変数を格納す
るための領域である。X域21には、複数の変数の値
が、連続値として設定される。Y域22は、X域21の
データの複製を格納するための領域である。Y域22の
記憶容量は、X域21と同じである。
The X area 21 is an area for storing variables to be processed. In the X range 21, values of a plurality of variables are set as continuous values. The Y area 22 is an area for storing a copy of the data in the X area 21. The storage capacity of the Y area 22 is the same as that of the X area 21.

【0046】Z域23は、処理対象とならないデータを
格納するための領域である。Z域23には、入力出力機
器の定義、タイマー等の定義、データベースが格納され
る。また、第1の実施の形態に係る逆ノイマン型処理装
置の処理機能は、大別してデータ入力制御部110、プ
ログラム実行部120、およびデータ出力制御部130
で構成される。
The Z area 23 is an area for storing data not to be processed. The Z area 23 stores definitions of input / output devices, definitions of timers and the like, and a database. The processing functions of the inverse Neumann processing apparatus according to the first embodiment are roughly classified into a data input control unit 110, a program execution unit 120, and a data output control unit 130.
It consists of.

【0047】データ入力制御部110は、入力系のデー
タ処理を行う。たとえば、画面のアイコンやボタンのマ
ウス等による指示に応答したデータをメモリ空間20に
設定したり、キーボードからデータ値を設定したりす
る。また、データ入力制御部110は、時々刻々と変化
するタイマー等のデータの設定も行う。さらに、データ
入力制御部110は、ユーザからの操作入力等に基づく
要求に応答して、プログラムをメモリ空間20内にロー
ドする。たとえば、キーボード12を用いた操作入力に
より、HDD103内の処理のファイルを指定した実行
要求が入力されると、データ入力制御部110は、指定
されたファイルをHDD103から取得し、メモリ空間
20のZ域23に格納する。
The data input control section 110 performs data processing of an input system. For example, data responding to an instruction of a screen icon or button by a mouse or the like is set in the memory space 20, or a data value is set from a keyboard. The data input control unit 110 also sets data such as a timer that changes every moment. Further, the data input control unit 110 loads a program into the memory space 20 in response to a request based on an operation input or the like from a user. For example, when an execution request specifying a process file in the HDD 103 is input by an operation input using the keyboard 12, the data input control unit 110 acquires the specified file from the HDD 103, and Stored in area 23.

【0048】プログラム実行部120は、Z域23に格
納されたデータに基づいて、第1の実施の形態に係る逆
ノイマン型処理を実行する。第1の実施の形態では、プ
ログラム実行部120は、処理対象データ設定部12
1、複写部122、解算出部123、一致判定部12
4、および結果出力部125を有する。
The program execution unit 120 executes the inverse Neumann processing according to the first embodiment based on the data stored in the Z area 23. In the first embodiment, the program execution unit 120 includes the processing target data setting unit 12
1, copy unit 122, solution calculation unit 123, match determination unit 12
4, and a result output unit 125.

【0049】処理対象データ設定部121は、プログラ
ムの実行要求に応答して、Z域23に格納されたデータ
の中から、変数の集合体を取り出し、X域21に格納す
る。複写部122は、X域21に格納されている処理対
象の各変数のデータを、Y域22に複写する。複写部1
22がデータの複写を行うのは、処理対象データ設定部
121によるデータ格納後と、一致判定部124による
同一性無し(不一致)の判定の後である。
In response to a program execution request, the processing target data setting unit 121 extracts a set of variables from the data stored in the Z area 23 and stores it in the X area 21. The copying unit 122 copies the data of each variable to be processed stored in the X area 21 to the Y area 22. Copying unit 1
The data is copied by the processing unit 22 after the data is stored by the processing target data setting unit 121 and after the identity determination unit 124 determines that there is no identity (mismatch).

【0050】解算出部123は、Z域23に格納された
データの中から、変数の計算式を取得し、その計算式に
基づいて、X域21の変数の値を算出する。解算出部1
23は、算出した変数の値を、X域21の各変数に設定
する。解算出部123による算出処理は、複写部122
による複写処理の終了後に行われる。
The solution calculation unit 123 obtains a variable calculation formula from the data stored in the Z range 23, and calculates the value of the variable in the X range 21 based on the calculation formula. Solution calculation unit 1
23 sets the value of the calculated variable to each variable in the X region 21. The calculation processing by the solution calculation unit 123 is performed by the copying unit 122
This is performed after the end of the copying process by.

【0051】一致判定部124は、X域21とY域22
とのデータの同一性を判定する。同一性の判定は、全て
の変数の値が同一であること、または、少なくとも最上
位の変数の値が同一であることを基準とすることができ
る。ここで、最上位の変数とは、その変数自身が、他の
変数を算出するための計算式に用いられていない変数で
ある。一致判定部124による判定処理は、解算出部1
23による解算出処理の終了後に行われる。
The coincidence determination unit 124 determines whether the X area 21 and the Y area 22
To determine the data identity. The determination of the identity can be based on the fact that the values of all variables are the same, or at least the values of the variables at the top are the same. Here, the uppermost variable is a variable that is not used in a calculation formula for calculating another variable. The determination process by the match determination unit 124 is performed by the solution calculation unit 1
23 is performed after the end of the solution calculation process.

【0052】結果出力部125は、X域21に格納され
た変数のデータを、Z域23に複写する。結果出力部1
25がデータの複写を行うのは、一致判定部124にお
いて、同一性有り(一致)の判定の後である。
The result output unit 125 copies the variable data stored in the X area 21 to the Z area 23. Result output unit 1
The data is copied by the matching determination unit 124 after the determination that there is identity (coincidence).

【0053】データ出力制御部130は、Z域23に格
納された各変数の解を出力する。たとえば、ファイルと
してHDD103に格納したり、表示装置の画面に帳票
出力したりする。
The data output control unit 130 outputs the solution of each variable stored in the Z area 23. For example, the file is stored in the HDD 103 as a file, or a form is output on a screen of a display device.

【0054】次に、図3に示した構成の逆ノイマン型処
理装置における変数順次確定処理を、フローチャートを
用いて説明する。図4は、第1の実施の形態に係る変数
順次確定方式の処理手順を示すフローチャートである。
以下に、図4に示す処理をステップ番号に沿って説明す
る。
Next, variable sequential determination processing in the inverse Neumann processing apparatus having the configuration shown in FIG. 3 will be described with reference to a flowchart. FIG. 4 is a flowchart illustrating the processing procedure of the variable sequential determination method according to the first embodiment.
Hereinafter, the processing illustrated in FIG. 4 will be described along with step numbers.

【0055】[ステップS11]データ入力制御部11
0は、Z域23にプログラムをロードする。このとき、
X域21には、プログラムで定義されている変数が設定
される。
[Step S11] Data input control section 11
0 loads the program into the Z area 23. At this time,
In the X area 21, variables defined in the program are set.

【0056】[ステップS12]複写部122は、Y域
22を確保する。このとき、複写部122は、定義され
ている変数に初期値(たとえば、16進数で「FF・・
・」)を与え、Y域に設定する。変数の初期値は、X域
21の変数とは異なる値とする。
[Step S12] The copying section 122 secures the Y area 22. At this time, the copying unit 122 sets the defined variable to an initial value (for example, “FF...
・ ”) And set in the Y area. The initial value of the variable is different from the variable in the X area 21.

【0057】[ステップS13]処理対象データ設定部
121は、Z域23に格納されたプログラムの中から、
変数の値を取り出し、X域21の各変数に設定する。な
お、Z域23に値が設定されていない変数に対しては、
任意の値(たとえば1)が設定される。
[Step S13] The processing target data setting unit 121 selects one of the programs stored in the Z area
The value of the variable is taken out and set to each variable in the X area 21. Incidentally, for a variable for which a value is not set in the Z region 23,
An arbitrary value (for example, 1) is set.

【0058】[ステップS14]一致判定部124は、
X域21の全ての変数の値と、Y域22の全ての変数の
値とが同じか否かを判断する。変数全体の値が同じであ
れば処理がステップS17に進められる。変数全体の値
が同じでなければ処理はステップS15に進められる。
[Step S14] The match determination section 124
It is determined whether the values of all the variables in the X area 21 are the same as the values of all the variables in the Y area 22. If the values of all the variables are the same, the process proceeds to step S17. If the values of all the variables are not the same, the process proceeds to step S15.

【0059】[ステップS15]複写部122は、X域
21の処理対象データをY域22に複写する。[ステッ
プS16]解算出部123は、Z域23に定義された式
に基づいて、X域21に格納された変数の値を計算す
る。算出した各変数の値は、X域21の各変数に設定さ
れる。その後、処理がステップS14に進められる。
[Step S15] The copying unit 122 copies the data to be processed in the X area 21 to the Y area 22. [Step S16] The solution calculation unit 123 calculates the value of the variable stored in the X area 21 based on the equation defined in the Z area 23. The calculated value of each variable is set to each variable in the X region 21. Thereafter, the process proceeds to step S14.

【0060】[ステップS17]結果出力部125は、
X域21の変数と値とY域22の変数の値が一致したと
判定されたら、X域21の処理対象データを解として、
Z域23に複写する。
[Step S17] The result output unit 125
When it is determined that the variable and the value of the X area 21 and the value of the variable of the Y area 22 match, the processing target data of the X area 21 is used as a solution,
Copy to Z area 23.

【0061】[ステップS18]データ出力制御部13
0は、Z域23に格納されたデータを、HDD103等
に出力する。このように、X域21とY域23との変数
の値が一致するまでステップS14〜S16の処理が繰
り返される。X域21とY域23との変数の値が一致し
たということは、定義された式に既知の変数を代入して
計算しても、各変数の値が変わらないことを意味する。
すなわち、定義された式を満たす変数の値が求められた
ことになる。以下、ステップS14〜S16の一連の処
理を一回行うことを1パスとし、一連の処理の繰り返し
回数をパス回数で表すものとする。
[Step S18] Data output control section 13
0 outputs the data stored in the Z area 23 to the HDD 103 or the like. As described above, the processing of steps S14 to S16 is repeated until the values of the variables in the X area 21 and the Y area 23 match. The fact that the values of the variables in the X region 21 and the Y region 23 match means that the values of the variables do not change even if calculations are performed by substituting known variables into the defined formula.
That is, the value of the variable that satisfies the defined equation has been obtained. Hereinafter, performing a series of processes in steps S14 to S16 once is referred to as one pass, and the number of repetitions of the series of processes is represented by the number of passes.

【0062】以下に、具体例として、変数a,b,c,
d,eがあり、変数dに2、変数eに105(円)が代
入されており、以下の計算式を実行する場合について説
明する。
Hereinafter, as specific examples, variables a, b, c,
There will be described a case where d and e are present, 2 is substituted for the variable d, and 105 (yen) is substituted for the variable e, and the following formula is executed.

【0063】[0063]

【数4】変数a=変数b×変数c ・・・(4)## EQU4 ## Variable a = variable b × variable c (4)

【0064】[0064]

【数5】変数b=変数c+変数d ・・・(5)## EQU5 ## Variable b = variable c + variable d (5)

【0065】[0065]

【数6】変数c=変数d×変数e ・・・(6) ここで、変数aの値を算出するためのプログラムを変数
順次確定方式で記述する。
## EQU6 ## Variable c = variable d × variable e (6) Here, a program for calculating the value of the variable a is described in a variable sequential determination method.

【0066】図5は、変数順次確定方式プログラムの第
1の記述例と実行例とを示す模式図である。図中、プロ
グラムの記述内容210とプログラムの実行内容220
とが示されている。
FIG. 5 is a schematic diagram showing a first description example and an execution example of a variable sequential determination method program. In the figure, program description 210 and program execution 220
Are shown.

【0067】プログラムの記述内容210は、3つの記
述211〜213に分かれている。最初の記述211
は、データ等の定義分の領域をY域22として確保する
ための記述である。図5の例では、変数a,変数b,変
数c,変数d,変数eの領域の確保、および各変数への
初期値の設定を指示している。なお、各変数の初期値は
X域の各変数の値と異なる値である。
The description 210 of the program is divided into three descriptions 211 to 213. First description 211
Is a description for securing an area defined by data and the like as the Y area 22. In the example of FIG. 5, instructions are given to secure areas for variables a, b, c, d and e and to set initial values for each variable. Note that the initial value of each variable is different from the value of each variable in the X range.

【0068】記述212は、X域21に設定するデータ
の定義に関する記述である。図5の例では、変数a(値
は未定)、変数b(値は未定)、変数c(値は未定)、
変数d=2、変数e=105が定義されている。
The description 212 is a description relating to the definition of data set in the X area 21. In the example of FIG. 5, the variable a (value is undecided), the variable b (value is undecided), the variable c (value is undecided),
Variable d = 2 and variable e = 105 are defined.

【0069】記述213には、変数間の関係を示す計算
式が定義されている。図5の例では、上記式(4)、式
(5)、式(6)の順番で3つの計算式が定義されてい
る。プログラムの実行内容220には、プログラムの記
述内容210に従った変数順次確定方式の実行内容が示
されている。実行内容は、プログラムの記述内容210
の3つの記述211〜213のそれぞれに対応する3つ
の部分処理221〜223に分かれている。
The description 213 defines a calculation formula indicating the relationship between variables. In the example of FIG. 5, three calculation formulas are defined in the order of the above formulas (4), (5), and (6). The execution content 220 of the program shows the execution content of the variable sequential determination method according to the description content 210 of the program. The execution content is the program description content 210
Are divided into three partial processes 221 to 223 corresponding to the three descriptions 211 to 213, respectively.

【0070】部分処理221は、記述211に従って、
データ等の定義分の領域を確保する処理である。図5の
例では、変数a、変数b、変数c、変数d、変数eの領
域が確保され、各変数に初期値として1が設定される。
ここで、設定する初期値は、少なくとも1つの変数が、
X域21の同名の変数と異なる値であればよい。図5の
例では、X域21に設定する変数のうち、変数dと変数
eとに、1以外の値が設定される。したがって、部分処
理221では、全ての変数の初期値を最大値(各バイト
の値が16進数でFF)に設定している。
The partial process 221 is performed according to the description 211 according to
This is a process of securing an area for a definition such as data. In the example of FIG. 5, areas for variables a, b, c, d, and e are secured, and 1 is set to each variable as an initial value.
Here, the initial value to be set is that at least one variable is
Any value different from the variable of the same name in the X area 21 may be used. In the example of FIG. 5, among the variables set in the X area 21, values other than 1 are set to the variables d and e. Therefore, in the partial process 221, the initial values of all variables are set to the maximum value (the value of each byte is FF in hexadecimal).

【0071】部分処理222は、記述212に従って、
X域21に対するデータを定義する処理である。図5の
例では、変数a、変数b、変数c、変数d、変数eが定
義され、各変数に対して値が設定されている。なお、記
述222により値が指定されている変数に対しては、指
定された値が設定される。記述222により値が指定さ
れていない変数に対しては、所定の初期値(たとえば
1)が設定される。図5の例では、変数a=1、変数b
=1、変数c=1、変数d=2、変数e=105の値が
設定されている。
The partial process 222 is performed according to the description 212
This is a process for defining data for the X area 21. In the example of FIG. 5, a variable a, a variable b, a variable c, a variable d, and a variable e are defined, and a value is set for each variable. The specified value is set for a variable whose value is specified by the description 222. A predetermined initial value (for example, 1) is set for a variable for which a value is not specified by the description 222. In the example of FIG. 5, variable a = 1, variable b
= 1, variable c = 1, variable d = 2, and variable e = 105.

【0072】なお、コンピュータの計算式内の「0」の
扱い方によっては、実行エラーとなることがある。それ
は、除算の式の分母として用いられる変数の値が0だ
と、式の演算ができなくなるからである。そのため、値
が決まっていない変数には、初期値として「0」でなく
「1」を入れておくのが望ましい。
Note that an execution error may occur depending on how “0” is handled in the calculation formula of the computer. This is because if the value of the variable used as the denominator of the division expression is 0, the operation of the expression cannot be performed. For this reason, it is desirable to set “1” instead of “0” as an initial value to a variable whose value has not been determined.

【0073】部分処理223は、記述213に従って、
計算式の演算を行う処理である。処理内容は、図4のス
テップS14〜S16に従っている。簡単に説明する
と、X域=Y域の全ての変数の値が同一か否かが判断さ
れ、同一であれば処理が終了する。同一でなければX域
の内容がY域に複写される。そして、記述213に記載
された順番で式が計算される。その後、最初の判断処理
に進む。
The partial process 223 is performed according to the description 213.
This is the process of performing the calculation of the calculation formula. The processing content complies with steps S14 to S16 in FIG. In brief, it is determined whether or not the values of all variables in the X area = Y area are the same, and if they are the same, the process ends. If they are not the same, the contents of the X area are copied to the Y area. The formulas are calculated in the order described in the description 213. Thereafter, the process proceeds to the first determination process.

【0074】図5の例では、記述213には、式
(4)、式(5)、式(6)の順番で変数の計算式が定
義されている。したがって、部分処理223における演
算処理の順番も、式(4)、式(5)、式(6)の順番
である。
In the example of FIG. 5, the description 213 defines a variable calculation expression in the order of Expression (4), Expression (5), and Expression (6). Therefore, the order of the arithmetic processing in the partial processing 223 is also the order of Expression (4), Expression (5), and Expression (6).

【0075】図6は、第1の例に示す順番で式の演算を
行った場合の変数の値の遷移状況を示す図である。図6
には、X域21とY域22との5つの変数の初期値と、
計算式の演算終了時点での値とが示されている。
FIG. 6 is a diagram showing a transition state of the value of a variable in the case where equations are calculated in the order shown in the first example. FIG.
Include initial values of five variables in the X area 21 and the Y area 22;
The values at the end of the calculation of the calculation formula are shown.

【0076】第1の例において、X域21の変数a,
b,c,d,eの連続値は、「1,1,1,2,10
5」である。Y域22の初期値は、全て16進数の「F
FFF」(2バイトの数字)である。なお、図6におい
て、Y域22の初期値以外の値は、10進数で示してい
る。
In the first example, the variables a,
The continuous values of b, c, d, and e are “1,1,1,2,10
5 ". The initial values of the Y area 22 are all hexadecimal "F
FFF "(two-byte number). In FIG. 6, values other than the initial value of the Y area 22 are represented by decimal numbers.

【0077】1回目の演算処理では、X域=Y域(一
致)かの判定処理(ステップS14)で、一致しないと
判定される。そこで、X域21の内容がY域22に複写
され(ステップS15)、変数の解を求める複数の式が
実行される(ステップS16)。結果として、変数aが
値「1」となり、変数bが値「3」となり、変数cが値
「210」となる。このとき、X域21の変数a,b,
c,d,eの連続値は、「1,3,210,2,10
5」である。Y域22の変数a,b,c,d,eの連続
値は、16進数の「FFFF」から変化していて、
「1,1,1,2,105」である。
In the first calculation processing, it is determined that they do not match in the determination processing (step S14) whether X area = Y area (coincidence). Then, the contents of the X area 21 are copied to the Y area 22 (step S15), and a plurality of equations for solving the variables are executed (step S16). As a result, the variable a becomes the value “1”, the variable b becomes the value “3”, and the variable c becomes the value “210”. At this time, the variables a, b,
The continuous values of c, d, and e are “1, 3, 210, 2, 10
5 ". The continuous values of the variables a, b, c, d, and e in the Y range 22 are changed from hexadecimal “FFFF”,
"1, 1, 1, 2, 105".

【0078】2回目の演算処理では、X域=Y域(一
致)かの判定処理(ステップS14)で、一致しないと
判定される。そこで、X域21の内容がY域22に複写
され(ステップS15)、変数の解を求める複数の式が
実行される(ステップS16)。結果として、変数aが
値「630」となり、変数bが値「212」となり、変
数cが値「210」となる。このとき、X域21の変数
a,b,c,d,eの連続値は、「630,212,2
10,2,105」である。Y域22の変数a,b,
c,d,eの連続値は、「1,3,210,2,10
5」である。
In the second calculation process, it is determined that they do not match in the process of determining whether or not X region = Y region (coincidence) (step S14). Then, the contents of the X area 21 are copied to the Y area 22 (step S15), and a plurality of equations for solving the variables are executed (step S16). As a result, the variable a becomes the value “630”, the variable b becomes the value “212”, and the variable c becomes the value “210”. At this time, the continuous values of the variables a, b, c, d, and e in the X region 21 are “630, 212, 2”.
10, 2, 105 ". Variables a, b,
The continuous values of c, d, and e are “1, 3, 210, 2, 10
5 ".

【0079】3回目の演算処理では、X域=Y域(一
致)かの判定処理(ステップS14)では、一致しない
と判定される。そこで、X域21の内容がY域22に複
写され(ステップS15)、変数の解を求める複数の式
が実行される(ステップS16)。結果として、変数a
が値「44520」となり、変数bが値「212」とな
り、変数cが値「210」となる。このとき、X域21
の変数a,b,c,d,eの連続値は、「44520,
212,210,2,105」である。Y域22の変数
a,b,c,d,eの連続値は、「630,212,2
10,2,105」である。
In the third calculation process, it is determined that they do not match in the determination process (step S14) of whether or not X region = Y region (coincidence). Then, the contents of the X area 21 are copied to the Y area 22 (step S15), and a plurality of equations for solving the variables are executed (step S16). As a result, the variable a
Becomes the value “44520”, the variable b becomes the value “212”, and the variable c becomes the value “210”. At this time, the X region 21
Continuous values of the variables a, b, c, d, and e are “44520,
212, 210, 2, 105 ". The continuous values of the variables a, b, c, d, and e in the Y range 22 are “630, 212, 2”.
10, 2, 105 ".

【0080】4回目の演算処理では、X域=Y域(一
致)かの判定処理(ステップS14)で、一致しないと
判定される。そこで、X域21の内容がY域22に複写
され(ステップS15)、変数の解を求める複数の式が
実行される(ステップS16)。結果として、変数aが
値「44520」となり、変数bが値「212」とな
り、変数cが値「210」となる。このとき、X域21
の変数a,b,c,d,eの連続値は、「44520,
212,210,2,105」である。Y域22の変数
a,b,c,d,eの連続値は、「44520,21
2,210,2,105」である。この段階でX域21
とY域22が一致している。
In the fourth calculation processing, it is determined that they do not match in the processing of determining whether or not X area = Y area (coincidence) (step S14). Then, the contents of the X area 21 are copied to the Y area 22 (step S15), and a plurality of equations for solving the variables are executed (step S16). As a result, the variable a becomes the value “44520”, the variable b becomes the value “212”, and the variable c becomes the value “210”. At this time, the X region 21
Continuous values of the variables a, b, c, d, and e are “44520,
212, 210, 2, 105 ". The continuous values of the variables a, b, c, d, and e in the Y range 22 are “44520, 21
2,210,2,105 ". At this stage, X area 21
And the Y region 22 match.

【0081】5回目の演算処理では、X域=Y域(一
致)かの判定処理(ステップS14)で、一致すると判
定され、X域21の内容がZ域に複写され(ステップS
17)処理が終了される。したがって、X域21の変数
とY域22の変数とには、4回目の処理終了時点の値が
そのまま保持されている。そして、X域21の変数の値
が解として取り出される。
In the fifth arithmetic processing, it is determined that the X area is equal to the Y area (coincidence) (step S14), and the contents of the X area 21 are copied to the Z area (step S14).
17) The process ends. Therefore, the values at the end of the fourth processing are held as they are in the variables in the X area 21 and the variables in the Y area 22. Then, the value of the variable in the X region 21 is extracted as a solution.

【0082】なお、図5,図6の例では、意図的に解が
求まりにくい順番で計算式を記述している。そのため、
解が求まるまでに5パスを要している。ここで、たとえ
ば、プレコンパイラで計算式の順番の入れ替えを行え
ば、処理効率が改善される。
In the examples of FIGS. 5 and 6, the calculation formulas are described in an order in which a solution is intentionally difficult to obtain. for that reason,
It takes five passes to find a solution. Here, for example, if the order of the calculation expressions is changed by the precompiler, the processing efficiency is improved.

【0083】次に、計算式の順番を入れ替えた場合につ
いて、第2の実行例として説明する。図7は、変数順次
確定方式プログラムの第2の記述例と実行例とを示す模
式図である。図中、プログラムの記述内容230とプロ
グラムの実行内容240とが示されている。図7の記述
内容230は、3つの記述231〜233で構成されて
いる。記述231,232は、図5に示した記述21
1,212と同様である。記述233は、式(5)、式
(4)、式(6)の順番で計算式が定義されている。
Next, a case where the order of the calculation formulas is changed will be described as a second execution example. FIG. 7 is a schematic diagram showing a second description example and an execution example of the variable sequential determination method program. In the figure, a program description content 230 and a program execution content 240 are shown. The description content 230 in FIG. 7 includes three descriptions 231 to 233. The descriptions 231 and 232 correspond to the description 21 shown in FIG.
Same as 1 and 212. In the description 233, calculation formulas are defined in the order of Expression (5), Expression (4), and Expression (6).

【0084】プログラムの実行内容240には、3つの
部分処理241〜243で構成されている。部分処理2
41,242は、図5に示した部分処理221、222
と同じ処理である。部分処理243は、記述233に従
って、計算式の演算を行う処理である。部分処理243
の処理内容は、図5に示した部分処理223とほぼ同様
の処理であるが、演算処理の順番のみが異なる。部分処
理243では、式(5)、式(4)、式(6)の順番で
演算が行われる。
The execution content 240 of the program includes three partial processes 241-243. Partial processing 2
41 and 242 are the partial processes 221 and 222 shown in FIG.
This is the same processing as. The partial process 243 is a process for performing an operation of a calculation expression according to the description 233. Partial processing 243
Is substantially the same as the partial processing 223 shown in FIG. 5, but only the order of the arithmetic processing is different. In the partial processing 243, calculations are performed in the order of Expression (5), Expression (4), and Expression (6).

【0085】図8は、第2の例に示す順番で式の演算を
行った場合の変数の値の遷移状況を示す図である。図8
には、X域21とY域22との5つの変数の初期値と、
計算式の演算終了時点での値とが示されている。
FIG. 8 is a diagram showing a transition state of the value of a variable in the case where the operations of the expressions are performed in the order shown in the second example. FIG.
Include initial values of five variables in the X area 21 and the Y area 22;
The values at the end of the calculation of the calculation formula are shown.

【0086】第2の例において、X域21の変数a,
b,c,d,eの初期値は、「1,1,1,2,10
5」である。Y域22の初期値は、全て16進数の「F
FFF」(2バイトの数字)である。なお、図8におい
て、Y域22の初期値以外の値は、10進数で示してい
る。
In the second example, the variables a,
The initial values of b, c, d, and e are “1,1,1,2,10
5 ". The initial values of the Y area 22 are all hexadecimal "F
FFF "(two-byte number). In FIG. 8, values other than the initial value of the Y region 22 are indicated by decimal numbers.

【0087】1回目の演算処理では、X域=Y域(一
致)かの判定処理(ステップS14)で、一致しないと
判定される。そこで、X域21の内容がY域22に複写
され(ステップS15)、変数の解を求める複数の式が
実行される(ステップS16)。結果として、変数aが
値「3」となり、変数bが値「3」となり、変数cが値
「210」となる。このとき、X域21の変数a,b,
c,d,eの連続値は、「3,3,210,2,10
5」である。Y域22の変数a,b,c,d,eの連続
値は、16進数の「FFFF」から変化していて、
「1,1,1,2,105」である。
In the first calculation process, it is determined that they do not match in the determination process (step S14) whether X region = Y region (coincidence). Then, the contents of the X area 21 are copied to the Y area 22 (step S15), and a plurality of equations for solving the variables are executed (step S16). As a result, the variable a has the value “3”, the variable b has the value “3”, and the variable c has the value “210”. At this time, the variables a, b,
The continuous values of c, d, and e are “3, 3, 210, 2, 10
5 ". The continuous values of the variables a, b, c, d, and e in the Y range 22 are changed from hexadecimal “FFFF”,
"1, 1, 1, 2, 105".

【0088】2回目の演算処理では、X域=Y域(一
致)かの判定処理(ステップS14)で、一致しないと
判定される。そこで、X域21の内容がY域22に複写
され(ステップS15)、変数の解を求める複数の式が
実行される(ステップS16)。結果として、変数aが
値「44520」となり、変数bが値「212」とな
り、変数cが値「210」となる。このとき、X域21
の変数a,b,c,d,eの連続値は、「44520,
212,210,2,105」である。Y域22の変数
a,b,c,d,eの連続値は、「3,3,210,
2,105」である。
In the second arithmetic processing, it is determined that they do not match in the determination processing (step S14) whether X area = Y area (coincidence). Then, the contents of the X area 21 are copied to the Y area 22 (step S15), and a plurality of equations for solving the variables are executed (step S16). As a result, the variable a becomes the value “44520”, the variable b becomes the value “212”, and the variable c becomes the value “210”. At this time, the X region 21
Continuous values of the variables a, b, c, d, and e are “44520,
212, 210, 2, 105 ". The continuous values of the variables a, b, c, d, and e in the Y region 22 are “3, 3, 210,
2,105 ".

【0089】3回目の演算処理では、X域=Y域(一
致)かの判定処理(ステップS14)では、一致しない
と判定される。そこで、X域21の内容がY域22に複
写され(ステップS15)、変数の解を求める複数の式
が実行される(ステップS16)。結果として、変数a
が値「44520」となり、変数bが値「212」とな
り、変数cが値「210」となる。このとき、X域21
の変数a,b,c,d,eの連続値は、「44520,
212,210,2,105」である。Y域22の変数
a,b,c,d,eの連続値は、「44520,21
2,210,2,105」である。この段階でX域21
とY域22が一致している。
In the third calculation process, it is determined that they do not match in the process of determining whether or not X region = Y region (coincidence) (step S14). Then, the contents of the X area 21 are copied to the Y area 22 (step S15), and a plurality of equations for solving the variables are executed (step S16). As a result, the variable a
Becomes the value “44520”, the variable b becomes the value “212”, and the variable c becomes the value “210”. At this time, the X region 21
Continuous values of the variables a, b, c, d, and e are “44520,
212, 210, 2, 105 ". The continuous values of the variables a, b, c, d, and e in the Y range 22 are “44520, 21
2,210,2,105 ". At this stage, X area 21
And the Y region 22 match.

【0090】4回目の演算処理では、X域=Y域(一
致)かの判定処理(ステップS14)で、一致すると判
定され、X域21の内容がZ域に複写され(ステップS
17)処理が終了される。したがって、X域21の変数
とY域22の変数とには、3回目の処理終了時点の値が
そのまま保持されている。そして、X域21の変数の値
が解として取り出される。
In the fourth arithmetic processing, it is determined that the X area is equal to the Y area (coincidence) (step S14), and the contents of the X area 21 are copied to the Z area (step S14).
17) The process ends. Therefore, the values at the end of the third processing are held as they are in the variables in the X area 21 and the variables in the Y area 22. Then, the value of the variable in the X region 21 is extracted as a solution.

【0091】このように、式(4)と式(5)との記載
順を入れ替えても、正しい解を得ることができる。ま
た、式(5)より式(4)の方が上位概念の式であるた
め、式(5)を先に記載したことで、演算回数が減少し
ている。
As described above, a correct solution can be obtained even if the order of the expressions (4) and (5) is changed. Further, since equation (4) is a higher-level concept than equation (5), the number of calculations is reduced by describing equation (5) earlier.

【0092】次に、下位概念の式から順番に記載した場
合の例を、第3の例として説明する。図9は、変数順次
確定方式プログラムの第3の記述例と実行例とを示す模
式図である。図中、プログラムの記述内容250とプロ
グラムの実行内容260とが示されている。図9の記述
内容250は、3つの記述251〜253で構成されて
いる。記述251,252は、図5に示した記述21
1,212と同様である。記述253は、式(6)、式
(5)、式(4)の順番で計算式が定義されている。
Next, an example in which the expressions of the lower concepts are described in order will be described as a third example. FIG. 9 is a schematic diagram showing a third description example and an execution example of the variable sequential determination method program. In the figure, a program description content 250 and a program execution content 260 are shown. The description content 250 of FIG. 9 is composed of three descriptions 251 to 253. The descriptions 251 and 252 correspond to the description 21 shown in FIG.
Same as 1 and 212. In the description 253, calculation formulas are defined in the order of Formula (6), Formula (5), and Formula (4).

【0093】プログラム実行内容260は、3つの部分
処理261〜263で構成されている。部分処理26
1,262は、図5に示した部分処理221、222と
同じ処理である。部分処理263は、記述253に従っ
て、計算式の演算を行う処理である。部分処理263の
処理内容は、図5に示した部分処理223とほぼ同様の
処理であるが、演算処理の順番のみが異なる。部分処理
263では、式(6)、式(5)、式(4)の順番で演
算が行われる。
The program execution content 260 includes three partial processes 261 to 263. Partial processing 26
Processes 1 and 262 are the same processes as the partial processes 221 and 222 shown in FIG. The partial process 263 is a process of performing an operation of a calculation expression according to the description 253. The processing content of the partial processing 263 is substantially the same as the processing of the partial processing 223 shown in FIG. 5, but differs only in the order of the arithmetic processing. In the partial processing 263, calculations are performed in the order of Expression (6), Expression (5), and Expression (4).

【0094】図10は、第3の例に示す順番で式の演算
を行った場合の変数の値の遷移状況を示す図である。図
10には、X域21とY域22との5つの変数の初期値
と、計算式の演算終了時点での値とが示されている。
FIG. 10 is a diagram showing a transition state of the value of a variable in the case where the expressions are calculated in the order shown in the third example. FIG. 10 shows the initial values of the five variables in the X range 21 and the Y range 22, and the values at the end of the calculation of the calculation formula.

【0095】第3の例において、X域21の変数a,
b,c,d,eの初期値は、「1,1,1,2,10
5」である。Y域22の初期値は、全て16進数の「F
FFF」(2バイトの数字)である。なお、図10にお
いて、Y域22の初期値以外の値は、10進数で示して
いる。
In the third example, the variables a,
The initial values of b, c, d, and e are “1,1,1,2,10
5 ". The initial values of the Y area 22 are all hexadecimal "F
FFF "(two-byte number). In FIG. 10, values other than the initial value of the Y area 22 are indicated by decimal numbers.

【0096】1回目の演算処理では、X域=Y域(一
致)かの判定処理(ステップS14)で、一致しないと
判定される。そこで、X域21の内容がY域22に複写
され(ステップS15)、変数の解を求める複数の式が
実行される(ステップS16)。結果として、変数aが
値「44520」となり、変数bが値「212」とな
り、変数cが値「210」となる。このとき、X域21
の変数a,b,c,d,eの連続値は、「44520,
212,210,2,105」である。Y域22の変数
a,b,c,d,eの連続値は、16進数の「FFF
F」から変化していて、「1,1,1,2,105」で
ある。
In the first calculation processing, it is determined that they do not match in the processing (step S14) for determining whether X area = Y area (coincidence). Then, the contents of the X area 21 are copied to the Y area 22 (step S15), and a plurality of equations for solving the variables are executed (step S16). As a result, the variable a becomes the value “44520”, the variable b becomes the value “212”, and the variable c becomes the value “210”. At this time, the X region 21
Continuous values of the variables a, b, c, d, and e are “44520,
212, 210, 2, 105 ". The continuous values of the variables a, b, c, d, and e in the Y range 22 are hexadecimal “FFF
F "and" 1, 1, 1, 2, 105 ".

【0097】2回目の演算処理では、X域=Y域(一
致)かの判定処理(ステップS14)では、一致しない
と判定される。そこで、X域21の内容がY域22に複
写され(ステップS15)、変数の解を求める複数の式
が実行される(ステップS16)。結果として、変数a
が値「44520」となり、変数bが値「212」とな
り、変数cが値「210」となる。このとき、X域21
の変数a,b,c,d,eの連続値は、「44520,
212,210,2,105」である。Y域22の変数
a,b,c,d,eの連続値は、「44520,21
2,210,2,105」である。この段階でX域21
とY域22が一致している。
In the second calculation process, it is determined that they do not match in the process of determining whether or not the X range is equal to the Y range (match) (step S14). Then, the contents of the X area 21 are copied to the Y area 22 (step S15), and a plurality of equations for solving the variables are executed (step S16). As a result, the variable a
Becomes the value “44520”, the variable b becomes the value “212”, and the variable c becomes the value “210”. At this time, the X region 21
Continuous values of the variables a, b, c, d, and e are “44520,
212, 210, 2, 105 ". The continuous values of the variables a, b, c, d, and e in the Y range 22 are “44520, 21
2,210,2,105 ". At this stage, X area 21
And the Y region 22 match.

【0098】3回目の演算処理では、X域=Y域(一
致)かの判定処理(ステップS14)で、一致すると判
定され、X域21の内容がZ域に複写され(ステップS
17)処理が終了される。したがって、X域21の変数
とY域22の変数とには、2回目の処理終了時点の値が
そのまま保持されている。そして、X域21の変数の値
が解として取り出される。
In the third arithmetic processing, it is determined that the X area is equal to the Y area (coincidence) (step S14), and the contents of the X area 21 are copied to the Z area (step S14).
17) The process ends. Therefore, the values at the end of the second processing are held as they are in the variables in the X area 21 and the variables in the Y area 22. Then, the value of the variable in the X region 21 is extracted as a solution.

【0099】このように、最も下位概念の式から順番に
記述することで、演算回数を減少させることができる。
ところで、変数順次確定方式では、演算命令の記述は順
不同である。そのため、人間の理解しやすい順番で、計
算式を記述することができる。しかも、人間の思いつく
範囲で、計算式の記載順を変えて、性能向上を図ること
も可能である。すなわち、計算式の順序の入れ替えに関
して制約がないため、適宜、作業者が思いつく最良の手
法で順番を決定すればよい。
As described above, the number of operations can be reduced by sequentially describing the expressions of the lowest concept.
By the way, in the variable sequential determination method, the description of the operation instruction is out of order. Therefore, the calculation formula can be described in an order that is easy for humans to understand. Moreover, it is also possible to improve the performance by changing the description order of the calculation formulas within the range that humans can think of. That is, since there is no restriction on changing the order of the calculation formulas, the order may be appropriately determined by the best method that can be conceived by the operator.

【0100】たとえば、計算式に含まれる変数の数の少
ない順に、計算式の記述順を決定することで、性能を改
善することができる。すなわち、複雑な構造の計算式を
階層構造で表す場合、下位構造ほど単純な式になること
が多い。そこで、変数の数の少ないほど単純な式である
ものと想定し、変数の数の少ない順に計算式を記述して
おけば、多くの場合、処理の効率化を図ることができ
る。
For example, the performance can be improved by determining the description order of the formulas in ascending order of the number of variables included in the formulas. That is, when a calculation formula having a complicated structure is represented by a hierarchical structure, the lower-level structure often has a simpler formula. Therefore, assuming that the smaller the number of variables is, the simpler the expression is, and if the calculation expressions are described in ascending order of the number of variables, the processing efficiency can be improved in many cases.

【0101】以上説明したように、変数順次確定方式を
適用した逆ノイマン型処理装置では、プログラムの記載
として、複数の変数を四則演算子などの算術式で表し、
その算術式の実行順に拘らず正しい解が得られる。すな
わち、プログラマが実行順を定義せずにすむ。一般に、
プログラムの実行順を定義するために、プログラムが記
述されている行(場所)を行ったり来たりする為のIF
命令、CALL命令、GOTO命令などの論理(ロジッ
ク)を表す命令が用いられる。しかし、本実施の形態に
係る変数順次確定方式によれば、実行順を定義する命令
の記載が不要となる。これにより、実行順の定義間違い
によるバグの発生がなくなり、デバック作業の簡略化が
可能となる。その結果、驚異的に生産性が向上する。
As described above, in the inverse Neumann processing apparatus to which the variable sequential determination method is applied, a plurality of variables are represented by arithmetic expressions such as four arithmetic operators as program descriptions.
A correct solution can be obtained regardless of the execution order of the arithmetic expressions. That is, the programmer does not need to define the execution order. In general,
IF to go back and forth between lines (locations) where the program is described to define the execution order of the program
Instructions representing logic such as an instruction, a CALL instruction, and a GOTO instruction are used. However, according to the variable sequential determination method according to the present embodiment, there is no need to describe an instruction that defines an execution order. This eliminates a bug caused by a mistake in the definition of the execution order, and simplifies the debugging work. As a result, productivity is dramatically improved.

【0102】さらに、実行順の定義が不要であること
は、プログラムの記述量(ステップ数)の少量化にも寄
与する。第1の実施の形態を用いれば、プログラムの記
述量が従来に比べ3分の1〜5分の1になる。これによ
り、ソフトウェアの生産に必要な作業が数分の1とな
る。
Furthermore, the elimination of the need to define the execution order contributes to a reduction in the amount of program description (the number of steps). When the first embodiment is used, the description amount of the program is reduced to one third to one fifth compared with the conventional case. This reduces the work required for software production by a fraction.

【0103】また、プログラミング工程のような複雑な
ロジックを無くすことにより、上位工程(システムデザ
イン)に対応するテスト工程(システムテスト)を実施
することで完成するので、テスト工程が大幅に少なくな
る。
Further, since the test is completed by performing a test process (system test) corresponding to a higher-order process (system design) by eliminating complicated logic such as a programming process, the number of test processes is greatly reduced.

【0104】なお、第1の実施の形態に係る変数順次確
定方式を、従来型プログラムのデバックに応用すること
ができる。すなわち、従来通りのプログラムでは、一般
的には、下位概念の変数を算出する計算式から先に実行
するように記述されていている。そして、上位概念の変
数を算出する計算式は最後に実行される。従って、従来
プログラムを、図4に示すステップS16の処理におい
て実行させた場合、計算式の順番が正しければ、2パス
目で各変数が順次確定し、3パス目で処理終了する。つ
まり、3パスで終了せず、4パス目以降を実行する従来
プログラムがあれば、どこかにバグの原因が潜んでいる
とみることができる。
Note that the variable sequential determination method according to the first embodiment can be applied to debugging of a conventional program. That is, in a conventional program, it is generally described that a calculation formula for calculating a variable of a lower concept is executed first. Then, the calculation formula for calculating the variable of the superordinate concept is executed last. Therefore, when the conventional program is executed in the process of step S16 shown in FIG. 4, if the order of the calculation formulas is correct, the variables are sequentially determined in the second pass, and the process ends in the third pass. That is, if there is a conventional program that does not end in the third pass and executes the fourth and subsequent passes, it can be seen that the cause of the bug is hidden somewhere.

【0105】なぜなら、下位概念の計算式から順に実行
するように正しくプログラミングされた従来型プログラ
ムでは、1パス目で全ての変数に必要とされる値が決ま
り、2パス目でX域21の処理対象データとY域22の
複写データとが一致し、3パス目で一致の判定が行われ
るはずだからである。
This is because, in a conventional program that is correctly programmed so as to execute sequentially from the calculation formula of the lower concept, the values required for all the variables are determined in the first pass, and the processing of the X area 21 is performed in the second pass. This is because the target data matches the copy data in the Y area 22, and the match should be determined in the third pass.

【0106】このような第1の実施の形態に係る変数順
次確定方式による従来型プログラムのデバックは、結合
テスト(複数のプログラムを統合して、実行確認を行う
テスト)〜メンテ工程(業務に即して運用し、問題点を
修正を行う作業)で利用するとよい。さらに言えば、従
来型プログラムにおいて、遠くに分岐するCALL命令
など人間に分かりにくい分岐命令を取り外して清書する
と、分かりやすいプログラムに変えることができる。
The debugging of the conventional program according to the variable sequential determination method according to the first embodiment includes a combination test (a test in which a plurality of programs are integrated and execution confirmation is performed) to a maintenance process (a process that can be performed immediately). It is good to use it in the operation of operating and correcting problems. Furthermore, in a conventional program, if a branch instruction that is difficult for humans to understand, such as a CALL instruction that branches far away, is removed and copied, the program can be changed to an easy-to-understand program.

【0107】また、科学技術計算用のプログラムで用い
られる実数演算については、「X域=Y域(一致)かの
判定処理」(ステップS14)で終息させる為に、X域
21の最終目的の変数aとY域22の最終目的の変数a
とが同じ値(終息値)になったことをもって、「X域=
Y域」が満たされたものと判断してもよい。つまり、変
数郡全体が一致するまでの処理は、整数などのときに用
いる。これは、実数型数値演算プロセッサの特性(性能
向上により精度を犠牲にしている)のための処理であ
る。なお、実数型演算に限らず、整数型の変数において
も、X域21の最終目的の変数aとY域22の最終目的
の変数aとが同じ値(終息値)になったことをもって、
「X域=Y域」が満たされたものと判断してもよい。こ
の場合、処理効率が向上する。
Further, the real number operation used in the program for scientific and technical calculation is terminated in the “determination process as to whether X region = Y region (coincidence)” (step S14). The variable a and the final target variable a in the Y area 22
Has reached the same value (end value), "X range =
It may be determined that the “Y range” is satisfied. That is, the process until the entire variable group matches is used for an integer or the like. This is processing for the characteristics of the real number type arithmetic processor (accuracy is sacrificed by improving performance). Not only in the real type operation but also in the integer type variable, the fact that the final target variable a in the X range 21 and the final target variable a in the Y range 22 have the same value (final value)
It may be determined that “X region = Y region” is satisfied. In this case, processing efficiency is improved.

【0108】[第2の実施の形態]次に、本発明の第2
の実施の形態について説明する。第2の実施の形態は、
変数順次確定方式に係る処理を並列に実行する場合の実
施形態である。第2の実施の形態では、変数順次変換方
式の処理を、特開平56-97170号公報に記載された多次元
処理装置に適用することで、処理の多重化を図ってい
る。以下に、第2の実施の形態において、第1の実施の
形態と異なる部分に関して説明する。
[Second Embodiment] Next, a second embodiment of the present invention will be described.
An embodiment will be described. In the second embodiment,
This is an embodiment in the case where processes related to the variable sequential determination method are executed in parallel. In the second embodiment, the processing of the variable sequential conversion method is applied to a multidimensional processing device described in Japanese Patent Application Laid-Open No. 56-97170 to multiplex the processing. Hereinafter, portions of the second embodiment that differ from the first embodiment will be described.

【0109】図11は、第2の実施の形態に係る逆ノイ
マン型多次元処理装置のハードウェア構成例を示すブロ
ック図である。図11において、図2に示した第1の実
施の形態のハードウェア構成と同じ構成要素には同一の
符号を付し、説明を省略する。
FIG. 11 is a block diagram showing an example of a hardware configuration of the inverse Neumann multi-dimensional processing device according to the second embodiment. 11, the same components as those of the hardware configuration of the first embodiment shown in FIG. 2 are denoted by the same reference numerals, and description thereof will be omitted.

【0110】第2の実施の形態における逆ノイマン型多
次元処理装置100aには、複数のCPU101a〜1
01cが設けられている。これらのCPU101a〜1
01cは、変数順次変換方式に関する処理を並列に実行
することができる。逆ノイマン型多次元処理装置100
aのCPU101a〜101c以外の構成要素は、図2
に示した同名の構成要素と同じ機能を有している。
The inverse Neumann multidimensional processing apparatus 100a according to the second embodiment includes a plurality of CPUs 101a to 101a.
01c is provided. These CPUs 101a-1
01c can execute processing related to the variable sequential conversion method in parallel. Reverse Neumann-type multidimensional processing device 100
The components other than the CPUs 101a to 101c of FIG.
Has the same function as the component of the same name shown in FIG.

【0111】このように、マルチCPUのハードウェア
を用いて、変数順次変換方式の並列処理が可能となる。
第2の実施の形態では、デシジョンテーブルを用いて、
各CPUへの処理の振り分けを行うものとする。
As described above, the parallel processing of the variable sequential conversion method can be performed using the hardware of the multi CPU.
In the second embodiment, using a decision table,
It is assumed that the processing is distributed to each CPU.

【0112】図12は、第2の実施の形態の機能ブロッ
ク図である。図12において、図3に示した第1の実施
の形態の機能ブロックと同じ構成要素には同一の符号を
付し、説明を省略する。
FIG. 12 is a functional block diagram of the second embodiment. 12, the same components as those of the functional block of the first embodiment shown in FIG. 3 are denoted by the same reference numerals, and description thereof will be omitted.

【0113】第2の実施の形態の逆ノイマン型多次元処
理装置では、データ入力制御部110、プログラム実行
部120a、およびデータ出力制御部130を有してい
る。なお、データ入力制御部110がメモリ空間20に
ロードするプログラムには、デシジョンテーブル14
0,150が含まれている。
The inverse Neumann multidimensional processing device according to the second embodiment has a data input control unit 110, a program execution unit 120a, and a data output control unit 130. Note that programs loaded by the data input control unit 110 into the memory space 20 include a decision table 14
0,150 are included.

【0114】メモリ空間20内に複数のデシジョンテー
ブル140,150が格納される。デシジョンテーブル
140,150は、条件命令(コンディション・エント
リ)とその回答(コンディション・スタブ)、および実
行命令(アクション・エントリ)とその命令の実行指示
(アクション・スタブ)とが定義されている。デシジョ
ンテーブル140,150の詳細は後述する。
A plurality of decision tables 140 and 150 are stored in the memory space 20. The decision tables 140 and 150 define a conditional instruction (condition entry) and its answer (condition stub), and an execution instruction (action entry) and an execution instruction (action stub) of the instruction. Details of the decision tables 140 and 150 will be described later.

【0115】プログラム実行部120aは、処理対象デ
ータ設定部121a、複写部122a、複数の解算出部
123a〜123c、一致判定部124a、および結果
出力部125aで構成される。これらの各構成要素は、
図3に示した第1の実施の形態の同名の構成要素と同じ
機能を有している。ただし、図12に示す各構成要素
は、デシジョンテーブル140,150を参照して、処
理を実行するか否か判断する。
The program execution unit 120a includes a processing target data setting unit 121a, a copying unit 122a, a plurality of solution calculation units 123a to 123c, a coincidence determination unit 124a, and a result output unit 125a. Each of these components
It has the same function as the component having the same name in the first embodiment shown in FIG. However, each component shown in FIG. 12 refers to the decision tables 140 and 150 to determine whether or not to execute processing.

【0116】また、解算出部123a〜123cは、C
PU101a〜101c毎に設けられた処理機能であ
る。すなわち、各CPUが解算出部の機能を有してお
り、複数のCPU101a〜101cによって並列に処
理を実行することができる。
Further, the solution calculation units 123a to 123c
This is a processing function provided for each of the PUs 101a to 101c. That is, each CPU has a function of a solution calculating unit, and the plurality of CPUs 101a to 101c can execute processing in parallel.

【0117】図13は、デシジョンテーブルの一例を示
す図である。図13に示すように、第2の実施の形態に
おけるデシジョンテーブル140は、前処理・後処理の
デシジョンテーブルであり、デシジョンテーブル150
は、変数順次確定方式のデシジョンテーブルである。
FIG. 13 is a diagram showing an example of the decision table. As shown in FIG. 13, the decision table 140 in the second embodiment is a decision table for pre-processing and post-processing, and is a decision table 150.
Is a decision table of a variable sequential determination method.

【0118】デシジョンテーブル140のコンディショ
ン・エントリ141には、「処理開始か?」という条件
命令と、「処理終了か?」という条件命令とが登録され
ている。デシジョンテーブル140のコンディション・
スタブ142において、「処理開始か?」という条件命
令に対応付けられた左側の回答欄(第1列)に「YE
S」が設定されており、右側の回答欄(第2列)には回
答は設定されていない。また、「処理終了か?」という
条件命令に対応付けられた左側の回答欄(第1列)には
回答が設定されておらず、右側の回答欄(第2列)に
は、「YES」が設定されている。
In the condition entry 141 of the decision table 140, a condition command “processing start?” And a condition command “processing end?” Are registered. Condition of decision table 140
In the stub 142, “YE” is displayed in the left answer column (first column) associated with the conditional command “Processing started?”
S "is set, and no answer is set in the answer column (second column) on the right side. In addition, no answer is set in the left answer column (first column) associated with the conditional instruction of “processing completed?”, And “YES” is set in the right answer column (second column). Is set.

【0119】デシジョンテーブル140のアクション・
エントリ143には、「Z域→X域(Z域の内容を複
写)」と「終了処理(X域→Z域 複写)」との実行命
令が登録されている。デシジョンテーブル140のアク
ション・スタブ144において、「Z域→X域(Z域の
内容を複写)」という実行命令に対応付けられた左側の
実行指示欄(第1列)に「1」が設定されており、右側
の実行指示(第2列)には実行指示が設定されていな
い。また、アクション・スタブ144において、「終了
処理(X域→Z域 複写)」という条件命令に対応付け
られた左側の実行指示欄(第1列)には実行指示が設定
されておらず、右側の実行指示欄(第2列)には「1」
が設定されている。
The action of the decision table 140
In the entry 143, execution instructions of “Z area → X area (copy contents of Z area)” and “end processing (X area → Z area copy)” are registered. In the action stub 144 of the decision table 140, “1” is set in the left execution instruction column (first column) associated with the execution instruction “Z area → X area (copy the contents of Z area)”. The execution instruction is not set in the execution instruction on the right side (second column). Further, in the action stub 144, no execution instruction is set in the left execution instruction column (first column) associated with the conditional instruction “end processing (X area → Z area copy)”, and the right instruction is not set. "1" is displayed in the execution instruction column (the second column)
Is set.

【0120】デシジョンテーブル150のコンディショ
ン・エントリ151には、「X域=Y域(一致したか
?)」の条件命令が登録されている。デシジョンテーブ
ル150のコンディション・スタブ152には、「X域
=Y域(一致したか?)」の条件命令に対応付けて、2
つの回答欄が設けられている。左側の回答欄(第1列)
には、「YES」が設定されている。右側の回答欄(第
2列)には、「NO」が設定されている。
In the condition entry 151 of the decision table 150, a condition instruction of “X area = Y area (matched?)” Is registered. In the condition stub 152 of the decision table 150, the condition instruction “X area = Y area (matched?)”
One answer column is provided. Answer column on the left (first column)
Is set to "YES". “NO” is set in the answer column on the right side (second column).

【0121】デシジョンテーブル150のアクション・
エントリ153には、「X域→Y域(X域の内容を複
写)」、「変数a=変数b×変数c」、「変数b=変数
c+変数d」、「変数c=変数d×変数e」、「変数f
=変数g×変数h」および「EXIT処理」の実行命令
が登録されている。デシジョンテーブル150のアクシ
ョン・スタブ154において、「X域→Y域(X域の内
容を複写)」の実行命令に対応付けられた左側の実行指
示欄(第1列)には実行指示が設定されておらず、右側
の実行指示(第2列)には「1」が設定されている。
「変数a=変数b×変数c」の実行命令に対応付けられ
た左側の実行指示欄(第1列)には実行指示が設定され
ておらず、右側の実行指示(第2列)には「2」が設定
されている。「変数b=変数c+変数d」の実行命令に
対応付けられた左側の実行指示欄(第1列)には実行指
示が設定されておらず、右側の実行指示(第2列)には
「3」が設定されている。「変数c=変数d×変数e」
の実行命令に対応付けられた左側の実行指示欄(第1
列)には実行指示が設定されておらず、右側の実行指示
(第2列)には、「4」が設定されている。「変数f=
変数g×変数h」の実行命令に対応付けられた左側の実
行指示欄(第1列)には実行指示が設定されておらず、
右側の実行指示(第2列)には「2」が設定されてい
る。そして「EXIT処理」の実行命令に対応付けられ
た左側の実行指示欄(第1列)には「1」が設定されて
おり、右側の実行指示(第2列)には実行指示が設定さ
れていない。
The actions of the decision table 150
The entry 153 includes “X area → Y area (copy the contents of X area)”, “variable a = variable b × variable c”, “variable b = variable c + variable d”, and “variable c = variable d × variable”. e ”,“ variable f
= Variable g × variable h ”and an execution instruction of“ EXIT processing ”are registered. In the action stub 154 of the decision table 150, an execution instruction is set in the left execution instruction column (first column) associated with the execution instruction of “X area → Y area (copy the contents of X area)”. The execution instruction on the right side (second column) is set to “1”.
No execution instruction is set in the left execution instruction column (first column) associated with the execution instruction of “variable a = variable b × variable c”, and the right execution instruction (second column) is not set. “2” is set. No execution instruction is set in the left execution instruction column (first column) associated with the execution instruction of “variable b = variable c + variable d”, and “ 3 "is set. “Variable c = Variable d × Variable e”
Execution instruction column (first
No execution instruction is set in column (column), and “4” is set in the execution instruction on the right side (second column). "Variable f =
No execution instruction is set in the left execution instruction column (first column) associated with the execution instruction of “variable g × variable h”.
“2” is set in the execution instruction on the right side (second column). Then, “1” is set in the left execution instruction column (first column) associated with the execution instruction of “EXIT processing”, and the execution instruction is set in the right execution instruction (second column). Not.

【0122】図13の例では、コンディション・スタブ
には、「YES」または「NO」が設定されている。コ
ンディション・スタブが「YES」であれば、対応する
コンディション・エントリの条件命令の処理結果が真
(条件が満たされた)場合に、同じ列のアクション・ス
タブに数値が設定されているアクション・エントリが実
行される。コンディション・スタブが「NO」であれ
ば、対応するコンディション・エントリの条件命令の処
理結果が偽(条件が満たされない)場合に、同じ列のア
クション・スタブに数値が設定されているアクション・
エントリが実行される。
In the example of FIG. 13, "YES" or "NO" is set in the condition stub. If the condition stub is "YES", if the processing result of the condition instruction of the corresponding condition entry is true (the condition is satisfied), an action entry in which a numerical value is set in the action stub in the same column Is executed. If the condition stub is “NO”, if the processing result of the condition instruction of the corresponding condition entry is false (the condition is not satisfied), the action stub in the same column where the numerical value is set is set.
The entry is executed.

【0123】アクション・スタブには、数値が設定され
ている。各数値は実行順を表している。アクション・ス
タブの同じ列の数値同士が比較され、数値の小さい順
に、対応するアクション・エントリが実行される。ここ
で、アクション・スタブの数値が同じ場合には、それら
のアクション・エントリの処理に優劣が無いため、異な
るCPUにおいて並行で実行することができる。図13
の例では、「変数a=変数b×変数c」の実行命令と
「変数f=変数g×変数h」の実行命令とは、並列で処
理することができる。
A numerical value is set in the action stub. Each numerical value represents the order of execution. Numerical values in the same column of the action stub are compared, and the corresponding action entry is executed in ascending numerical order. Here, when the values of the action stubs are the same, there is no difference in the processing of those action entries, so that they can be executed in parallel by different CPUs. FIG.
In the example, the execution instruction of “variable a = variable b × variable c” and the execution instruction of “variable f = variable g × variable h” can be processed in parallel.

【0124】以上のような構成の逆ノイマン型多次元処
理装置において、以下のような処理が行われる。まず、
データ入力制御部110がプログラムをメモリ空間20
にロードする。ロードされたプログラムには、デシジョ
ンテーブル140,150が含まれる。プログラム実行
部120aがメモリ空間20にロードされたプログラム
に基づいて処理を実行する。すなわち、プログラムのロ
ードが終了したことを認識した処理対象データ設定部1
21aがデシジョンテーブル140を参照し、「処理開
始か?」の条件命令を満たした場合(コンディション・
スタブ「YES」)の処理を判断する。図13に示すデ
シジョンテーブル140では、コンディション・スタブ
142の第1列に「YES」が設定されているため、ア
クション・スタブ144の第1列が参照される。する
と、アクション・スタブ144の第1列に1が設定され
ている「Z域→X域(Z域の内容を複写)」の処理が、
処理対象データ設定部121aによって実行される。す
なわち、処理対象データ設定部121aは、Z域23a
に設定されている各変数の値を、X域21の変数に設定
する。すると、複写部122aが、Y域22を確保す
る。
The following processing is performed in the inverse Neumann multidimensional processing apparatus having the above configuration. First,
The data input control unit 110 stores the program in the memory space 20
To load. The loaded programs include the decision tables 140 and 150. The program execution unit 120a executes a process based on the program loaded into the memory space 20. That is, the processing target data setting unit 1 that recognizes that the loading of the program has been completed
21a refers to the decision table 140, and satisfies the condition command of “Start processing?”
Stub “YES”) processing is determined. In the decision table 140 shown in FIG. 13, since “YES” is set in the first column of the condition stub 142, the first column of the action stub 144 is referred to. Then, the processing of “Z area → X area (copy the contents of Z area)” in which 1 is set in the first column of the action stub 144,
This is executed by the processing target data setting unit 121a. That is, the processing target data setting unit 121a sets the Z area 23a
Are set to the variables of the X region 21. Then, the copying unit 122a secures the Y area 22.

【0125】次に、デシジョンテーブル150のコンデ
ィション・エントリ151に設定されている条件命令
「X域=Y域(一致したか?)」の判断処理が一致判定
部124aで実行される。
Next, the judgment processing of the condition instruction "X area = Y area (matched?)" Set in the condition entry 151 of the decision table 150 is executed by the match judgment section 124a.

【0126】「X域=Y域(一致したか?)」の判断結
果が「NO」(コンディション・スタブ152の第2
列)であれば、デシジョンテーブル150が参照され、
アクション・スタブ154の第2列に数字が設定されて
いるアクション・エントリ153中の実行命令に沿った
処理が実行される。処理は、アクション・スタブ154
に設定されている数字の小さい順に実行される。また、
アクション・スタブ154に設定されている数字が同じ
場合には、それらの命令を複数の解算出部123a〜1
23cによって並列に実行される。
If the result of the determination of “X area = Y area (matched?)” Is “NO” (the second value of the condition stub 152)
Column), the decision table 150 is referred to,
The processing according to the execution instruction in the action entry 153 in which a number is set in the second column of the action stub 154 is executed. The process is an action stub 154
Are executed in ascending order of the numbers set in. Also,
If the numbers set in the action stub 154 are the same, those instructions are sent to a plurality of solution calculation units 123a to 123a.
23c.

【0127】「X域=Y域(一致したか?)」の判断結
果が「YES」(コンディション・スタブ152の第1
列)であれば、デシジョンテーブル150が参照され、
アクション・スタブ154の第1列に「1」が設定され
ているEXIT処理が実行される。EXIT処理は、一
致判定部124aから結果出力部125aへ、解が確定
したことを通知する処理である。
When the determination result of “X area = Y area (matched?)” Is “YES” (the first value of the condition stub 152)
Column), the decision table 150 is referred to,
The EXIT processing in which “1” is set in the first column of the action stub 154 is executed. The EXIT process is a process of notifying that the solution has been determined from the match determination unit 124a to the result output unit 125a.

【0128】すると、結果出力部125aがデシジョン
テーブル140のコンディション・エントリ141を参
照し、「処理終了か?」の条件命令を「YES」(コン
ディション・スタブ142の第2列)と判断する。そし
て、アクション・スタブ144の第2列に「1」が設定
されている命令「終了処理(X域→Z域 複写)」を結
果出力部125aが実行する。この処理は、X域21に
設定されている各変数の値を、Z域23aに解として複
写する処理である。
Then, the result output unit 125a refers to the condition entry 141 of the decision table 140, and determines that the conditional instruction of “processing end?” Is “YES” (the second column of the condition stub 142). Then, the result output unit 125a executes the instruction “end processing (X area → Z area copy)” in which “1” is set in the second column of the action stub 144. This process is a process of copying the value of each variable set in the X area 21 as a solution in the Z area 23a.

【0129】その後、データ出力制御部130が、Z域
23aに格納された解を出力する。このように、デシジ
ョンテーブルを用いることで、変数順次確定方式の処理
を、複数のCPUで並列に処理することができる。すな
わち、計算式の解を算出する処理ついては、並列処理マ
シンに委ねて性能向上を計ることが可能である。
Thereafter, data output control section 130 outputs the solution stored in Z area 23a. As described above, by using the decision table, the processing of the variable sequential determination method can be performed in parallel by a plurality of CPUs. That is, the process of calculating the solution of the formula can be entrusted to a parallel processing machine to improve the performance.

【0130】なお、デシジョンテーブルのアクション・
エントリに記述された実行命令は、計算式のみでなく、
インターネットやイントラネットのアドレスを記述する
ことも可能である。しかも、現状のルータ装置やLAN
ケーブルのインフラを、LSIとして焼き付けること
で、超並列マシンとすることができる。基本ソフトに
は、ブラウザとJava(登録商標)言語等があれば、
多次元処理を行なうことが容易に実現する。
Note that the action table of the decision table
The execution instruction described in the entry is not only a calculation formula,
It is also possible to describe the Internet or intranet address. Moreover, current routers and LANs
By burning the cable infrastructure as an LSI, a massively parallel machine can be obtained. If the basic software has a browser and Java (registered trademark) language, etc.,
Performing multidimensional processing is easily realized.

【0131】[第3の実施の形態]上記の例では、変数
順次確定方式によるプログラム記述と、その記述に応じ
たコンピュータの実行内容とを説明したが、変数順次確
定方式によるプログラム記述を、翻訳(コンパイル)に
よりコンピュータに自動的に生成させることもできる。
このようなコンピュータを、プログラム生成装置と呼ぶ
こととする。以下に、変数順次確定方式によるプログラ
ムの生成処理を第3の実施の形態として説明する。
[Third Embodiment] In the above example, the program description by the variable sequential determination method and the execution contents of the computer according to the description have been described. (Compile) can be automatically generated by the computer.
Such a computer is referred to as a program generation device. Hereinafter, a program generation process according to the variable sequential determination method will be described as a third embodiment.

【0132】図14は、変数順次確定プログラムの生成
処理の模式図である。図に示す様に、計算式群310が
入力されると、プログラム生成装置においてプログラム
生成処理(S301)が実行される。
FIG. 14 is a schematic diagram of a process for generating a variable sequential determination program. As shown in the drawing, when the calculation formula group 310 is input, a program generation process (S301) is executed in the program generation device.

【0133】プログラム生成処理では、複数の計算式に
含まれる少なくとも1つの変数(既知変数)の値(既定
値)の入力を受けて、実行される命令が生成される。ま
ず、処理対象データ(複数の変数の値)をX域の各変数
に設定する命令(処理対象データ設定命令)321が生
成される。このとき、値が設定されていない変数(未知
変数)に対しては、仮の値(仮定値)を設定するための
命令が生成される。仮の値は、たとえば「1」である。
次に、X域のデータをY域に複写する命令(複写命令)
322が生成される。次に、未知変数に対して仮定値が
設定される毎に、既知変数の既定値と未知変数に設定さ
れた仮定値とに基づいて各計算式の解を算出させる命令
(解算出命令)323が生成される。次に、複数の計算
式それぞれに基づいて算出された解を、各計算式で算出
される所定の変数の仮定値としてあらたに設定させる命
令(仮定値設定命令)324が生成される。次に、未知
変数に対して仮定値が設定される毎に、未知変数の仮定
値の設定前後の値との同一性を判断させる命令(一致判
定命令)325が生成される。最後に、仮定値の設定後
の値が同一と判断された場合には、未知変数に設定され
ている仮定値を、演算結果として決定する命令(結果出
力命令)326が生成される。
In the program generation processing, an instruction to be executed is generated in response to an input of a value (predetermined value) of at least one variable (known variable) included in a plurality of calculation formulas. First, an instruction (processing target data setting instruction) 321 for setting processing target data (values of a plurality of variables) to each variable in the X region is generated. At this time, an instruction for setting a temporary value (assumed value) is generated for a variable for which a value is not set (an unknown variable). The temporary value is, for example, “1”.
Next, an instruction to copy the data in the X area to the Y area (copy instruction)
322 is generated. Next, every time an assumed value is set for an unknown variable, an instruction (solution calculation instruction) 323 for calculating a solution of each formula based on the default value of the known variable and the assumed value set for the unknown variable. Is generated. Next, an instruction (assumed value setting instruction) 324 for newly setting a solution calculated based on each of the plurality of equations as an assumed value of a predetermined variable calculated by each equation is generated. Next, each time a hypothetical value is set for an unknown variable, a command (coincidence determining command) 325 for determining the identity of the hypothetical value of the unknown variable with the value before and after the setting is generated. Finally, when it is determined that the values after the setting of the assumed values are the same, an instruction (result output instruction) 326 for determining the assumed value set in the unknown variable as an operation result is generated.

【0134】生成された各命令が生成順に並べられ、変
数順次確定プログラム320となる。変数順次確定プロ
グラム320は、変数値330の入力に応じて実行され
る(ステップS302)。このときの実行内容は、図4
のフローチャートに示した通りである。変数順次確定プ
ログラム320が実行されることにより、入力された変
数値330に応じた解340が生成される。
The generated instructions are arranged in the order of generation, and a variable-sequential determination program 320 is obtained. The variable sequential determination program 320 is executed in response to the input of the variable value 330 (Step S302). The execution contents at this time are shown in FIG.
This is as shown in the flowchart of FIG. By executing the variable sequential determination program 320, a solution 340 corresponding to the input variable value 330 is generated.

【0135】このようにして、複数の計算式を入力する
だけで、変数順次確定プログラム320を生成すること
ができる。すなわち、コンパイルすることができる。な
お、変数順次確定プログラム320は、機械語で生成す
ることもできるし、CやBASIC等のプログラミング
言語で生成することもできる。CやBASIC等のプロ
グラミング言語で変数順次確定プログラム320を生成
する場合、プログラム生成処理(ステップS301)
は、プレコンパイルを行うことになる。これにより、C
等で記述されるプログラムの一部に対して、変数順次確
定方式を適用することが容易となる。
In this way, the variable sequential determination program 320 can be generated only by inputting a plurality of calculation expressions. That is, it can be compiled. Note that the variable sequential determination program 320 can be generated in a machine language, or can be generated in a programming language such as C or BASIC. When generating the variable sequential determination program 320 in a programming language such as C or BASIC, a program generation process (step S301)
Will precompile. Thereby, C
It becomes easy to apply the variable sequential determination method to a part of the program described in, for example.

【0136】[実施の形態の効果]以上説明したように
本発明の実施の形態に示す変数順次確定方式により、複
雑な処理の順序の取り決めを不要にし、簡単に短期間で
バグもないソフトウェアを開発し稼働させることができ
る。これにより、ソフトウェアの品質の向上、ソフトウ
ェア開発コストの低下、および開発期間の短縮が可能と
なる。つまり、計算式の実行順の取り決めミスが無くな
り、その他のミスである四則演算子の記入ミスと、変数
名の記入ミスについては、データ投入方式の自動テスト
で容易に発見、修正が可能となる。
[Effects of the Embodiment] As described above, the variable sequential determination method according to the embodiment of the present invention makes it unnecessary to determine the order of complicated processing, and makes it possible to easily implement software in a short time and without bugs. Can be developed and put into operation. This makes it possible to improve software quality, reduce software development costs, and shorten the development period. In other words, there is no mistake in arranging the execution order of the calculation formulas, and other mistakes such as mistakes in the four arithmetic operators and mistakes in the variable names can be easily found and corrected by the automatic test of the data input method. .

【0137】なお、従来型プログラムの記述方法のま
ま、変数順次確定方式の処理を適用すると、計算式の実
行順が正しい配列になっている限り、2パスで各変数が
順次確定し3パス目で処理終了となる。つまり、4パス
目以降を実行して終息しないプログラムがあれば、どこ
かにバグの原因が潜んでいるとみることができる。
When the processing of the variable sequential determination method is applied in the same manner as the conventional program description method, each variable is sequentially determined in two passes and the third pass is performed as long as the execution order of the calculation formula is correct. Ends the processing. In other words, if there is a program that does not end after executing the fourth pass and thereafter, it can be seen that the cause of the bug is lurking somewhere.

【0138】また、デシジョンテーブルを並列処理に応
用した多次元処理装置で変数順次確定方式のプログラム
を実行させることで、性能向上を計ることが可能とな
る。また、上記実施の形態では、複数の変数の値を、X
域とY域とに連続値として設定している。これにより、
比較処理を高速に行うことができる。
In addition, performance can be improved by executing a variable sequential determination program in a multidimensional processing apparatus in which a decision table is applied to parallel processing. In the above embodiment, the values of the plurality of variables are
The values are set as continuous values in the area and the Y area. This allows
The comparison process can be performed at high speed.

【0139】[処理機能を実現するプログラムの提供]
なお、上記の処理機能は、コンピュータによって実現す
ることができる。その場合、逆ノイマン型処理装置、逆
ノイマン型多次元処理装置、およびプログラム生成装置
が有すべき機能の処理内容を記述したプログラムが提供
される。そのプログラムをコンピュータで実行すること
により、上記処理機能がコンピュータ上で実現される。
処理内容を記述したプログラムは、コンピュータで読み
取り可能な記録媒体に記録しておくことができる。コン
ピュータで読み取り可能な記録媒体としては、磁気記録
装置、光ディスク、光磁気記録媒体、半導体メモリなど
がある。磁気記録装置には、ハードディスク装置(HD
D)、フレキシブルディスク(FD)、磁気テープなど
がある。光ディスクには、DVD(Digital Versatile D
isc)、DVD−RAM(Random Access Memory)、CD−
ROM(Compact Disc Read Only Memory)、CD−R(Re
cordable)/RW(ReWritable)などがある。光磁気記録
媒体には、MO(Magneto-Optical disk)などがある。
[Provision of Program for Realizing Processing Function]
Note that the above processing functions can be realized by a computer. In this case, a program is provided that describes the processing contents of the functions that the inverse Neumann processing device, the inverse Neumann multidimensional processing device, and the program generation device should have. By executing the program on a computer, the processing functions are realized on the computer.
The program describing the processing content can be recorded on a computer-readable recording medium. Computer-readable recording media include magnetic recording devices, optical disks, magneto-optical recording media, and semiconductor memories. Magnetic recording devices include hard disk devices (HD
D), a flexible disk (FD), a magnetic tape, and the like. Optical discs include DVD (Digital Versatile D)
isc), DVD-RAM (Random Access Memory), CD-
ROM (Compact Disc Read Only Memory), CD-R (Re
cordable) / RW (ReWritable). Examples of the magneto-optical recording medium include an MO (Magneto-Optical disk).

【0140】プログラムを流通させる場合には、たとえ
ば、そのプログラムが記録されたDVD、CD−ROM
などの可搬型記録媒体が販売される。また、プログラム
をサーバコンピュータの記憶装置に格納しておき、ネッ
トワークを介して、サーバコンピュータから他のコンピ
ュータにそのプログラムを転送することもできる。
When distributing a program, for example, a DVD or CD-ROM on which the program is recorded
And other portable recording media are sold. Alternatively, the program may be stored in a storage device of a server computer, and the program may be transferred from the server computer to another computer via a network.

【0141】プログラムを実行するコンピュータは、た
とえば、可搬型記録媒体に記録されたプログラムもしく
はサーバコンピュータから転送されたプログラムを、自
己の記憶装置に格納する。そして、コンピュータは、自
己の記憶装置からプログラムを読み取り、プログラムに
従った処理を実行する。なお、コンピュータは、可搬型
記録媒体から直接プログラムを読み取り、そのプログラ
ムに従った処理を実行することもできる。また、コンピ
ュータは、サーバコンピュータからプログラムが転送さ
れる毎に、逐次、受け取ったプログラムに従った処理を
実行することもできる。
The computer that executes the program stores, for example, the program recorded on a portable recording medium or the program transferred from the server computer in its own storage device. Then, the computer reads the program from its own storage device and executes processing according to the program. Note that the computer can also read the program directly from the portable recording medium and execute processing according to the program. Further, each time the program is transferred from the server computer, the computer may sequentially execute processing according to the received program.

【0142】(付記1) 変数の値をコンピュータに算
出させるためのプログラムにおいて、前記コンピュータ
に、少なくとも1つの未知変数を算出するための複数の
計算式と、前記複数の計算式に含まれる少なくとも1つ
の既知変数の既定値とが入力されると、前記未知変数に
対して仮定値を設定し、前記未知変数に対して仮定値が
設定される毎に、前記既知変数の既定値と前記未知変数
に設定された仮定値とに基づいて、前記各計算式の解を
繰り返し算出し、前記複数の計算式それぞれに基づいて
算出された前記解を、前記各計算式で算出される前記未
知変数の仮定値としてあらたに設定し、前記未知変数に
対して仮定値が設定される毎に、前記未知変数の仮定値
の設定前後の値の同一性を判断し、前記未知変数の仮定
値の設定前後の値が同一性有りと判断された場合、前記
未知変数に設定されている仮定値を演算結果として出力
する、処理を実行させることを特徴とするプログラム。
(Supplementary Note 1) In a program for causing a computer to calculate the value of a variable, a plurality of formulas for calculating at least one unknown variable, and at least one formula included in the plurality of formulas are calculated. When the default values of the two known variables are input, an assumption value is set for the unknown variable. Each time an assumption value is set for the unknown variable, the default value of the known variable and the unknown variable are set. Based on the assumed value set, the solution of each of the calculation formulas is repeatedly calculated, and the solution calculated based on each of the plurality of calculation formulas is calculated based on each of the calculation formulas. It is newly set as an assumed value, and every time an assumed value is set for the unknown variable, it is determined whether the values of the unknown variable before and after the setting of the assumed value are the same, and before and after the setting of the assumed value of the unknown variable. Is the value of A program for executing, when it is determined that there is identity, a process of outputting an assumed value set in the unknown variable as a calculation result.

【0143】(付記2) 前記同一性の判断では、全て
の前記未知変数の仮定値の設定前後の値が一致したとき
に、同一性有りと判断することを特徴とする付記1記載
のプログラム。
(Supplementary Note 2) The program according to Supplementary Note 1, wherein in the determination of the identity, when the values before and after the setting of the assumed values of all the unknown variables match, it is determined that there is the identity.

【0144】(付記3) 前記同一性の判断では、複数
の未知変数の中の一部の未知変数の仮定値の設定前後の
値が一致したときに、同一性有りと判断することを特徴
とする付記1記載のプログラム。
(Supplementary Note 3) In the determination of the identity, when the values before and after the setting of the assumed values of some unknown variables among the plurality of unknown variables match, it is determined that there is identity. The program according to Supplementary Note 1.

【0145】(付記4) 前記同一性の判断では、前記
未知変数の仮定値の設定前後の値が近似値となったとき
に、同一性有りと判断することを特徴とする付記1記載
のプログラム。
(Supplementary note 4) The program according to Supplementary note 1, wherein in the determination of the identity, when the values before and after the setting of the assumed value of the unknown variable are approximate values, it is determined that there is identity. .

【0146】(付記5) 前記未知変数に対して仮定値
が設定される前に、設定前の前記未知変数の仮定値の複
写を保持し、前記同一性の判断では、前記複写と、前記
未知変数に設定された仮定値とを比較することにより、
前記未知変数の仮定値の設定前後の値の同一性を判断す
ることを特徴とする付記1記載のプログラム。
(Supplementary Note 5) Before the assumption value is set for the unknown variable, a copy of the assumption value of the unknown variable before setting is held, and in the determination of the identity, the copy and the unknown By comparing the assumed value set for the variable,
3. The program according to claim 1, wherein the sameness of the values before and after the setting of the assumed value of the unknown variable is determined.

【0147】(付記6) 前記各計算式の解の算出で
は、複数のプロセッサを用いて並列で計算式の解の算出
を行うことを特徴とする付記1記載のプログラム。 (付記7) 前記各計算式の解の算出では、実行すべき
処理の順番が指定されたデシジョンテーブルにおいて処
理順の優劣がない複数の計算式の解の算出を、互いに異
なるプロセッサで並列に実行させることを特徴とする付
記6記載のプログラム。
(Supplementary note 6) The program according to Supplementary note 1, wherein the calculation of the solution of each of the calculation formulas includes calculating the solution of the calculation formula in parallel using a plurality of processors. (Supplementary Note 7) In the calculation of the solution of each of the calculation formulas, the calculation of the solution of the plurality of calculation formulas having no priority in the processing order in the decision table in which the order of the processes to be performed is specified is executed in parallel by different processors. The program according to claim 6, wherein the program is executed.

【0148】(付記8) 変数の値を算出させるための
命令が記述されたプログラムを生成するためのコンパイ
ルプログラムにおいて、少なくとも1つの未知変数を算
出するための複数の計算式が入力されたコンピュータ
に、前記複数の計算式に含まれる少なくとも1つの既知
変数の既定値の入力に応答して、前記未知変数に対して
仮定値を設定する命令を生成し、前記未知変数に対して
仮定値が設定される毎に、前記既知変数の既定値と前記
未知変数に設定された仮定値とに基づいて、前記各計算
式の解を繰り返し算出する命令を生成し、前記複数の計
算式それぞれに基づいて算出された前記解を、前記各計
算式で算出される前記未知変数の仮定値としてあらたに
設定する命令を生成し、前記未知変数に対して仮定値が
設定される毎に、前記未知変数の仮定値の設定前後の値
の同一性を判断する命令を生成し、前記未知変数の仮定
値の設定前後の値が同一性有りと判断された場合、前記
未知変数に設定されている仮定値を演算結果として出力
する命令を生成する、処理を実行させることを特徴とす
るコンパイルプログラム。
(Supplementary Note 8) In a compile program for generating a program in which an instruction for calculating a value of a variable is described, a computer in which a plurality of calculation formulas for calculating at least one unknown variable are input. Generating an instruction for setting an assumed value for the unknown variable in response to input of a default value of at least one known variable included in the plurality of formulas, wherein the assumed value is set for the unknown variable Each time, based on the default value of the known variable and the assumed value set for the unknown variable, generate an instruction to repeatedly calculate the solution of each of the formulas, based on each of the plurality of formulas Generates an instruction to newly set the calculated solution as an assumed value of the unknown variable calculated by each of the formulas, and each time an assumed value is set for the unknown variable, An instruction for determining the identity of the value before and after the setting of the assumed value of the unknown variable is generated, and when it is determined that the value before and after the setting of the assumed value of the unknown variable is identical, the command is set to the unknown variable. A compile program for executing a process for generating an instruction for outputting an assumed value as an operation result.

【0149】(付記9) 生成される各命令は、所定の
プログラミング言語のソースコードで記述されているこ
とを特徴とする付記8記載のコンパイルプログラム。 (付記10) 生成される各命令は、機械語で記述され
ていることを特徴とする付記8記載のコンパイルプログ
ラム。
(Supplementary note 9) The compile program according to supplementary note 8, wherein each of the generated instructions is described in a source code of a predetermined programming language. (Supplementary Note 10) The compilation program according to Supplementary Note 8, wherein each of the generated instructions is described in a machine language.

【0150】(付記11) コンピュータによる変数値
確定方法において、少なくとも1つの未知変数を算出す
るための複数の計算式と、前記複数の計算式に含まれる
少なくとも1つの既知変数の既定値とが入力されると、
前記未知変数に対して仮定値を設定し、前記未知変数に
対して仮定値が設定される毎に、前記既知変数の既定値
と前記未知変数に設定された仮定値とに基づいて、前記
各計算式の解を繰り返し算出し、前記複数の計算式それ
ぞれに基づいて算出された前記解を、前記各計算式で算
出される前記未知変数の仮定値としてあらたに設定し、
前記未知変数に対して仮定値が設定される毎に、前記未
知変数の仮定値の設定前後の値の同一性を判断し、前記
未知変数の仮定値の設定前後の値が同一性有りと判断さ
れた場合、前記未知変数に設定されている仮定値を演算
結果として出力する、ことを特徴とする変数値確定方
法。
(Supplementary Note 11) In the variable value determination method using a computer, a plurality of calculation formulas for calculating at least one unknown variable and a default value of at least one known variable included in the plurality of calculation formulas are input. When done
The assumption value is set for the unknown variable, and each time the assumption value is set for the unknown variable, based on the default value of the known variable and the assumption value set for the unknown variable, The solution of the calculation formula is repeatedly calculated, and the solution calculated based on each of the plurality of calculation formulas is newly set as an assumed value of the unknown variable calculated by each of the calculation formulas,
Every time a hypothetical value is set for the unknown variable, the identity of the value before and after setting the hypothetical value of the unknown variable is determined, and the values before and after the setting of the hypothetical value of the unknown variable are determined to be identical. And outputting a hypothetical value set in the unknown variable as a calculation result.

【0151】(付記12) 少なくとも1つの未知変数
を算出するための複数の計算式に基づいて、前記未知変
数の値を算出させるためのプログラムを生成するための
プログラム生成方法において、前記複数の計算式に含ま
れる少なくとも1つの既知変数の既定値の入力に応答し
て、前記未知変数に対して仮定値を設定する命令を生成
し、前記未知変数に対して仮定値が設定される毎に、前
記既知変数の既定値と前記未知変数に設定された仮定値
とに基づいて、前記各計算式の解を繰り返し算出する命
令を生成し、前記複数の計算式それぞれに基づいて算出
された前記解を、前記各計算式で算出される前記未知変
数の仮定値としてあらたに設定する命令を生成し、前記
未知変数に対して仮定値が設定される毎に、前記未知変
数の仮定値の設定前後の値の同一性を判断する命令を生
成し、前記未知変数の仮定値の設定前後の値が同一性有
りと判断された場合、前記未知変数に設定されている仮
定値を演算結果として出力する命令を生成する、ことを
特徴とするプログラム生成方法。
(Supplementary Note 12) In the program generating method for generating a program for calculating the value of the unknown variable based on a plurality of formulas for calculating at least one unknown variable, In response to input of a default value of at least one known variable included in the equation, generating an instruction to set an assumed value for the unknown variable, each time the assumed value is set for the unknown variable, On the basis of the default value of the known variable and the assumed value set for the unknown variable, an instruction for repeatedly calculating the solution of each of the calculation formulas is generated, and the solution calculated based on each of the plurality of calculation formulas is generated. Is newly generated as an assumed value of the unknown variable calculated by each of the calculation formulas, and every time an assumed value is set for the unknown variable, before setting the assumed value of the unknown variable. A command for determining the identity of the later value is generated, and when it is determined that the values before and after the setting of the assumed value of the unknown variable are identical, the assumed value set in the unknown variable is output as a calculation result. A program generating method for generating an instruction to execute the program.

【0152】(付記13) 変数の値を算出する変数値
確定装置において、少なくとも1つの未知変数を算出す
るための複数の計算式と、前記複数の計算式に含まれる
少なくとも1つの既知変数の既定値とが入力されると、
前記未知変数に対して仮定値を設定する第1の設定手段
と、前記未知変数に対して仮定値が設定される毎に、前
記既知変数の既定値と前記未知変数に設定された仮定値
とに基づいて、前記各計算式の解を繰り返し算出する算
出手段と、前記複数の計算式それぞれに基づいて算出さ
れた前記解を、前記各計算式で算出される前記未知変数
の仮定値としてあらたに設定する第2の設定手段と、前
記未知変数に対して仮定値が設定される毎に、前記未知
変数の仮定値の設定前後の値の同一性を判断する判断手
段と、前記未知変数の仮定値の設定前後の値が同一性有
りと判断された場合、前記未知変数に設定されている仮
定値を演算結果として出力する出力手段と、を有するこ
とを特徴とする変数値確定装置。
(Supplementary Note 13) In a variable value determination device that calculates a value of a variable, a plurality of calculation formulas for calculating at least one unknown variable, and a predetermined value of at least one known variable included in the plurality of calculation formulas are defined. Once the value is entered,
First setting means for setting an assumed value for the unknown variable, and a default value of the known variable and an assumed value set for the unknown variable each time the assumed value is set for the unknown variable. Calculating means for repeatedly calculating the solution of each of the formulas, and the solution calculated based on each of the plurality of formulas as an assumed value of the unknown variable calculated by each of the formulas. A second setting means for setting the unknown variable, a determining means for determining the sameness of the values before and after the setting of the assumed value of the unknown variable every time an assumed value is set for the unknown variable, Output means for outputting, as a calculation result, the assumed value set in the unknown variable, when it is determined that the values before and after the setting of the assumed value are identical.

【0153】(付記14) 少なくとも1つの未知変数
を算出するための複数の計算式に基づいて、前記未知変
数の値を算出させるためのプログラムを生成するための
プログラム生成装置において、前記複数の計算式に含ま
れる少なくとも1つの既知変数の既定値の入力に応答し
て、前記未知変数に対して仮定値を設定する命令を生成
する第1の命令生成手段と、前記未知変数に対して仮定
値が設定される毎に、前記既知変数の既定値と前記未知
変数に設定された仮定値とに基づいて、前記各計算式の
解を繰り返し算出する命令を生成する第2の命令生成手
段と、前記複数の計算式それぞれに基づいて算出された
前記解を、前記各計算式で算出される前記未知変数の仮
定値としてあらたに設定する命令を生成する第3の命令
生成手段と、前記未知変数に対して仮定値が設定される
毎に、前記未知変数の仮定値の設定前後の値の同一性を
判断する命令を生成する第4の命令生成手段と、前記未
知変数の仮定値の設定前後の値が同一性有りと判断され
た場合、前記未知変数に設定されている仮定値を演算結
果として出力する命令を生成する第5の命令生成手段
と、を有することを特徴とするプログラム生成装置。
(Supplementary note 14) In the program generating apparatus for generating a program for calculating the value of the unknown variable based on a plurality of calculation formulas for calculating at least one unknown variable, First instruction generation means for generating an instruction for setting an assumed value for the unknown variable in response to input of a default value of at least one known variable included in the expression; Each time is set, based on a default value of the known variable and an assumed value set in the unknown variable, a second command generation unit that generates a command to repeatedly calculate the solution of each of the calculation formulas, Third instruction generating means for generating an instruction for newly setting the solution calculated based on each of the plurality of formulas as an assumed value of the unknown variable calculated by each of the formulas; A fourth instruction generating means for generating an instruction for determining the identity of the values before and after the setting of the assumed value of the unknown variable every time the assumed value is set for the intellectual variable; And a fifth instruction generating means for generating an instruction to output an assumed value set in the unknown variable as an operation result when the values before and after the setting are determined to be identical. Generator.

【0154】(付記15) 変数の値を算出させるため
のプログラムを記録したコンピュータ読み取り可能な記
録媒体において、前記コンピュータに、少なくとも1つ
の未知変数を算出するための複数の計算式と、前記複数
の計算式に含まれる少なくとも1つの既知変数の既定値
とが入力されると、前記未知変数に対して仮定値を設定
し、前記未知変数に対して仮定値が設定される毎に、前
記既知変数の既定値と前記未知変数に設定された仮定値
とに基づいて、前記各計算式の解を繰り返し算出し、前
記複数の計算式それぞれに基づいて算出された前記解
を、前記各計算式で算出される前記未知変数の仮定値と
してあらたに設定し、前記未知変数に対して仮定値が設
定される毎に、前記未知変数の仮定値の設定前後の値の
同一性を判断し、前記未知変数の仮定値の設定前後の値
が同一性有りと判断された場合、前記未知変数に設定さ
れている仮定値を演算結果として出力する、処理を実行
させることを特徴とする記録媒体。
(Supplementary Note 15) In a computer-readable recording medium on which a program for calculating a value of a variable is recorded, a plurality of formulas for calculating at least one unknown variable are stored in the computer. When a default value of at least one known variable included in the calculation formula is input, an assumed value is set for the unknown variable, and each time the assumed value is set for the unknown variable, the known variable is set. Based on the default value and the assumed value set for the unknown variable, the solution of each of the calculation formulas is repeatedly calculated, and the solution calculated based on each of the plurality of calculation formulas is calculated by the calculation formula. Newly set as the assumed value of the unknown variable to be calculated, every time an assumed value is set for the unknown variable, determine the identity of the value before and after the setting of the assumed value of the unknown variable, A storage medium for executing a process of outputting the assumed value set for the unknown variable as a calculation result when the values before and after the setting of the assumed value of the unknown variable are determined to be identical.

【0155】(付記16) 変数の値を算出させるため
の命令が記述されたプログラムを生成するためのコンパ
イルプログラムを記録したコンピュータ読み取り可能な
記録媒体において、少なくとも1つの未知変数を算出す
るための複数の計算式が入力された前記コンピュータ
に、前記複数の計算式に含まれる少なくとも1つの既知
変数の既定値の入力に応答して、前記未知変数に対して
仮定値を設定する命令を生成し、前記未知変数に対して
仮定値が設定される毎に、前記既知変数の既定値と前記
未知変数に設定された仮定値とに基づいて、前記各計算
式の解を繰り返し算出する命令を生成し、前記複数の計
算式それぞれに基づいて算出された前記解を、前記各計
算式で算出される前記未知変数の仮定値としてあらたに
設定する命令を生成し、前記未知変数に対して仮定値が
設定される毎に、前記未知変数の仮定値の設定前後の値
の同一性を判断する命令を生成し、前記未知変数の仮定
値の設定前後の値が同一性有りと判断された場合、前記
未知変数に設定されている仮定値を演算結果として出力
する命令を生成する、処理を実行させることを特徴とす
る記録媒体。
(Supplementary Note 16) In a computer-readable recording medium storing a compile program for generating a program in which an instruction for calculating a value of a variable is described, a plurality of programs for calculating at least one unknown variable is provided. In the computer in which the calculation formula is input, in response to input of a default value of at least one known variable included in the plurality of calculation formulas, generating an instruction to set an assumed value for the unknown variable, Each time a hypothetical value is set for the unknown variable, an instruction is generated to repeatedly calculate the solution of each equation based on the default value of the known variable and the hypothetical value set for the unknown variable. Generating an instruction to newly set the solution calculated based on each of the plurality of formulas as an assumed value of the unknown variable calculated by each of the formulas. Each time an assumed value is set for the unknown variable, generates an instruction to determine the identity of the value before and after the setting of the assumed value of the unknown variable, and the value before and after the setting of the assumed value of the unknown variable is A recording medium for executing a process of generating an instruction to output a hypothetical value set in the unknown variable as a calculation result when it is determined that there is identity.

【0156】[0156]

【発明の効果】以上説明したように本発明では、既定変
数の既定値と未定変数の仮定値とにより、複数の計算式
の解を繰り返し算出し、算出前後での仮定値の値に同一
性が有れば、そのとき未知変数に設定されている仮定値
を演算結果として出力するようにした。そのため、複数
の計算式の計算順に関係なく正しい解を得ることができ
る。これにより、計算順の間違いによるバグの発生を防
止できる。しかも、計算式の計算順を適当な方法で並べ
替えることで、簡単に最適化を図ることができる。
As described above, according to the present invention, the solutions of a plurality of formulas are repeatedly calculated based on the default values of the predetermined variables and the assumed values of the undetermined variables, and the values of the assumed values before and after the calculation are identical. If there is, the assumed value set in the unknown variable at that time is output as the calculation result. Therefore, a correct solution can be obtained regardless of the calculation order of a plurality of calculation formulas. This can prevent a bug due to an incorrect calculation order. In addition, by arranging the calculation order of the calculation formula by an appropriate method, optimization can be easily achieved.

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

【図1】本発明の原理構成図である。FIG. 1 is a principle configuration diagram of the present invention.

【図2】第1の実施の形態に係る逆ノイマン型処理装置
のハードウェア構成例を示す図である。
FIG. 2 is a diagram illustrating an example of a hardware configuration of the inverse Neumann processing apparatus according to the first embodiment.

【図3】本発明の実施の形態に係る逆ノイマン型処理装
置の機能ブロック図である。
FIG. 3 is a functional block diagram of the inverse Neumann processing apparatus according to the embodiment of the present invention.

【図4】第1の実施の形態に係る変数順次確定方式の処
理手順を示すフローチャートである。
FIG. 4 is a flowchart illustrating a processing procedure of a variable sequential determination method according to the first embodiment;

【図5】変数順次確定方式プログラムの第1の記述例と
実行例とを示す模式図である。
FIG. 5 is a schematic diagram showing a first description example and an execution example of a variable sequential determination method program.

【図6】第1の例に示す順番で式の演算を行った場合の
変数の値の遷移状況を示す図である。
FIG. 6 is a diagram illustrating a transition state of a value of a variable when an operation of an expression is performed in the order shown in the first example.

【図7】変数順次確定方式プログラムの第2の記述例と
実行例とを示す模式図である。
FIG. 7 is a schematic diagram showing a second description example and an execution example of a variable sequential determination method program.

【図8】第2の例に示す順番で式の演算を行った場合の
変数の値の遷移状況を示す図である。
FIG. 8 is a diagram showing a transition state of a value of a variable when an operation of an expression is performed in the order shown in the second example.

【図9】変数順次確定方式プログラムの第3の記述例と
実行例とを示す模式図である。
FIG. 9 is a schematic diagram showing a third description example and an execution example of a variable sequential determination method program.

【図10】第3の例に示す順番で式の演算を行った場合
の変数の値の遷移状況を示す図である。
FIG. 10 is a diagram illustrating a transition state of a value of a variable when an operation of an expression is performed in the order shown in the third example.

【図11】第2の実施の形態に係る逆ノイマン型多次元
処理装置のハードウェア構成例を示すブロック図であ
る。
FIG. 11 is a block diagram illustrating a hardware configuration example of an inverse Neumann multidimensional processing device according to a second embodiment.

【図12】第2の実施の形態の機能ブロック図である。FIG. 12 is a functional block diagram according to the second embodiment.

【図13】デシジョンテーブルの一例を示す図である。FIG. 13 is a diagram illustrating an example of a decision table.

【図14】変数順次確定プログラムの生成処理の模式図
である。
FIG. 14 is a schematic diagram of a generation process of a variable sequential determination program.

【図15】従来型プログラムの記述例と実行例を示す図
である。
FIG. 15 is a diagram showing a description example and an execution example of a conventional program.

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

1 処理対象データ 2 複写データ 3 演算結果 11 モニタ 12 キーボード 13 マウス 14 ネットワーク 100 逆ノイマン型処理装置 101 CPU 102 RAM 103 ハードディスク装置(HDD) 104 グラフィック処理装置 105 入力インタフェース 106 通信インタフェース 107 バス DESCRIPTION OF SYMBOLS 1 Processing target data 2 Copy data 3 Calculation result 11 Monitor 12 Keyboard 13 Mouse 14 Network 100 Reverse Neumann processing device 101 CPU 102 RAM 103 Hard disk device (HDD) 104 Graphic processing device 105 Input interface 106 Communication interface 107 Bus

───────────────────────────────────────────────────── フロントページの続き Fターム(参考) 5B056 EE00 EE05 5B076 DA04 DD04 5B081 BB03  ──────────────────────────────────────────────────続 き Continued on the front page F term (reference) 5B056 EE00 EE05 5B076 DA04 DD04 5B081 BB03

Claims (10)

【特許請求の範囲】[Claims] 【請求項1】 変数の値をコンピュータに算出させるた
めのプログラムにおいて、 前記コンピュータに、 少なくとも1つの未知変数を算出するための複数の計算
式と、前記複数の計算式に含まれる少なくとも1つの既
知変数の既定値とが入力されると、前記未知変数に対し
て仮定値を設定し、 前記未知変数に対して仮定値が設定される毎に、前記既
知変数の既定値と前記未知変数に設定された仮定値とに
基づいて、前記各計算式の解を繰り返し算出し、 前記複数の計算式それぞれに基づいて算出された前記解
を、前記各計算式で算出される前記未知変数の仮定値と
してあらたに設定し、 前記未知変数に対して仮定値が設定される毎に、前記未
知変数の仮定値の設定前後の値の同一性を判断し、 前記未知変数の仮定値の設定前後の値が同一性有りと判
断された場合、前記未知変数に設定されている仮定値を
演算結果として出力する、 処理を実行させることを特徴とするプログラム。
1. A program for causing a computer to calculate a value of a variable, the computer comprising: a plurality of calculation formulas for calculating at least one unknown variable; and at least one known formula included in the plurality of calculation formulas. When a default value of a variable is input, an assumed value is set for the unknown variable. Each time an assumed value is set for the unknown variable, the default value of the known variable and the unknown variable are set. Based on the assumed values, the solution of each of the calculation formulas is repeatedly calculated, and the solution calculated based on each of the plurality of calculation formulas is the assumed value of the unknown variable calculated by each of the calculation formulas. Each time an assumed value is set for the unknown variable, the identity of the value before and after the setting of the assumed value of the unknown variable is determined, and the value before and after the setting of the assumed value of the unknown variable is determined. Is the same If it is determined that the unknown variable is present, the program outputs a hypothetical value set in the unknown variable as a calculation result.
【請求項2】 前記同一性の判断では、全ての前記未知
変数の仮定値の設定前後の値が一致したときに、同一性
有りと判断することを特徴とする請求項1記載のプログ
ラム。
2. The program according to claim 1, wherein in the determination of the identity, when the values before and after setting the assumed values of all of the unknown variables match, it is determined that there is the identity.
【請求項3】 前記同一性の判断では、複数の未知変数
の中の一部の未知変数の仮定値の設定前後の値が一致し
たときに、同一性有りと判断することを特徴とする請求
項1記載のプログラム。
3. The method according to claim 1, wherein the determination of the identity includes determining the identity when the values before and after the setting of the assumed values of some unknown variables among the plurality of unknown variables match. Item 5. The program according to Item 1.
【請求項4】 前記同一性の判断では、前記未知変数の
仮定値の設定前後の値が近似値となったときに、同一性
有りと判断することを特徴とする請求項1記載のプログ
ラム。
4. The non-transitory computer-readable storage medium according to claim 1, wherein, in the determination of the identity, when the values before and after the setting of the assumed value of the unknown variable are approximate values, it is determined that there is the identity.
【請求項5】 前記未知変数に対して仮定値が設定され
る前に、設定前の前記未知変数の仮定値の複写を保持
し、 前記同一性の判断では、前記複写と、前記未知変数に設
定された仮定値とを比較することにより、前記未知変数
の仮定値の設定前後の値の同一性を判断することを特徴
とする請求項1記載のプログラム。
5. A copy of the assumed value of the unknown variable before setting is held before the assumed value is set for the unknown variable. In the determination of the identity, the copy and the unknown variable are The program according to claim 1, wherein by comparing the set assumption value, the identity of the value before and after the setting of the assumed value of the unknown variable is determined.
【請求項6】 前記各計算式の解の算出では、複数のプ
ロセッサを用いて並列で計算式の解の算出を行うことを
特徴とする請求項1記載のプログラム。
6. The program according to claim 1, wherein in calculating the solution of each of the calculation formulas, the solution of the calculation formula is calculated in parallel using a plurality of processors.
【請求項7】 前記各計算式の解の算出では、実行すべ
き処理の順番が指定されたデシジョンテーブルにおいて
処理順の優劣がない複数の計算式の解の算出を、互いに
異なるプロセッサで並列に実行させることを特徴とする
請求項6記載のプログラム。
7. The method according to claim 1, wherein in calculating the solution of each of the formulas, the solutions of a plurality of formulas having no processing order in the decision table in which the order of the processes to be executed is specified are processed in parallel by different processors. The program according to claim 6, wherein the program is executed.
【請求項8】 変数の値を算出させるための命令が記述
されたプログラムを生成するためのコンパイルプログラ
ムにおいて、 少なくとも1つの未知変数を算出するための複数の計算
式が入力されたコンピュータに、 前記複数の計算式に含まれる少なくとも1つの既知変数
の既定値の入力に応答して、前記未知変数に対して仮定
値を設定する命令を生成し、 前記未知変数に対して仮定値が設定される毎に、前記既
知変数の既定値と前記未知変数に設定された仮定値とに
基づいて、前記各計算式の解を繰り返し算出する命令を
生成し、 前記複数の計算式それぞれに基づいて算出された前記解
を、前記各計算式で算出される前記未知変数の仮定値と
してあらたに設定する命令を生成し、 前記未知変数に対して仮定値が設定される毎に、前記未
知変数の仮定値の設定前後の値の同一性を判断する命令
を生成し、 前記未知変数の仮定値の設定前後の値が同一性有りと判
断された場合、前記未知変数に設定されている仮定値を
演算結果として出力する命令を生成する、 処理を実行させることを特徴とするコンパイルプログラ
ム。
8. A compile program for generating a program in which an instruction for calculating a value of a variable is described, wherein: a computer to which a plurality of calculation formulas for calculating at least one unknown variable is input; In response to input of a default value of at least one known variable included in the plurality of formulas, an instruction for setting an assumed value for the unknown variable is generated, and the assumed value is set for the unknown variable. For each, based on the default value of the known variable and the assumed value set for the unknown variable, an instruction to repeatedly calculate the solution of each of the formulas is generated, and the command is calculated based on each of the plurality of formulas. Generating an instruction to newly set the solution as an assumed value of the unknown variable calculated by each of the calculation formulas. Each time an assumed value is set for the unknown variable, Generating an instruction to determine the identity of the values before and after setting the assumed value of the unknown variable; and determining that the values before and after the setting of the assumed value of the unknown variable are identical, the assumption value set for the unknown variable A compiling program for generating an instruction for outputting the result as an operation result, and for executing a process.
【請求項9】 コンピュータによる変数値確定方法にお
いて、 少なくとも1つの未知変数を算出するための複数の計算
式と、前記複数の計算式に含まれる少なくとも1つの既
知変数の既定値とが入力されると、前記未知変数に対し
て仮定値を設定し、 前記未知変数に対して仮定値が設定される毎に、前記既
知変数の既定値と前記未知変数に設定された仮定値とに
基づいて、前記各計算式の解を繰り返し算出し、 前記複数の計算式それぞれに基づいて算出された前記解
を、前記各計算式で算出される前記未知変数の仮定値と
してあらたに設定し、 前記未知変数に対して仮定値が設定される毎に、前記未
知変数の仮定値の設定前後の値の同一性を判断し、 前記未知変数の仮定値の設定前後の値が同一性有りと判
断された場合、前記未知変数に設定されている仮定値を
演算結果として出力する、ことを特徴とする変数値確定
方法。
9. In a variable value determination method using a computer, a plurality of calculation formulas for calculating at least one unknown variable and a default value of at least one known variable included in the plurality of calculation formulas are input. And setting an assumption value for the unknown variable, each time the assumption value is set for the unknown variable, based on the default value of the known variable and the assumption value set for the unknown variable, The solution of each of the calculation formulas is repeatedly calculated, and the solution calculated based on each of the plurality of calculation formulas is newly set as an assumed value of the unknown variable calculated by each of the calculation formulas. Each time a hypothetical value is set for the unknown variable, it is determined whether the value before and after setting the hypothetical value of the unknown variable is equal. Set to the unknown variable Are outputs the assumed value as the operation result is a variable value determined wherein the.
【請求項10】 少なくとも1つの未知変数を算出する
ための複数の計算式に基づいて、前記未知変数の値を算
出させるためのプログラムを生成するためのプログラム
生成方法において、 前記複数の計算式に含まれる少なくとも1つの既知変数
の既定値の入力に応答して、前記未知変数に対して仮定
値を設定する命令を生成し、 前記未知変数に対して仮定値が設定される毎に、前記既
知変数の既定値と前記未知変数に設定された仮定値とに
基づいて、前記各計算式の解を繰り返し算出する命令を
生成し、 前記複数の計算式それぞれに基づいて算出された前記解
を、前記各計算式で算出される前記未知変数の仮定値と
してあらたに設定する命令を生成し、 前記未知変数に対して仮定値が設定される毎に、前記未
知変数の仮定値の設定前後の値の同一性を判断する命令
を生成し、 前記未知変数の仮定値の設定前後の値が同一性有りと判
断された場合、前記未知変数に設定されている仮定値を
演算結果として出力する命令を生成する、 ことを特徴とするプログラム生成方法。
10. A program generation method for generating a program for calculating a value of the unknown variable based on a plurality of calculation formulas for calculating at least one unknown variable, wherein: Generating an instruction for setting an assumed value for the unknown variable in response to input of a default value of at least one known variable included therein; Based on the default value of the variable and the assumed value set for the unknown variable, generate an instruction to repeatedly calculate the solution of each of the formulas, the solution calculated based on each of the plurality of formulas, Generate an instruction to newly set as an assumed value of the unknown variable calculated by each of the formulas, every time an assumed value is set for the unknown variable, the value before and after the setting of the assumed value of the unknown variable Generates an instruction to determine identity, and generates an instruction to output the assumed value set in the unknown variable as a calculation result when the values before and after setting the assumed value of the unknown variable are determined to be identical. A program generation method, comprising:
JP2001114715A 2001-04-13 2001-04-13 Program for making computer calculate value of variable, compile program, variable value determining method, and program generating method Withdrawn JP2002312167A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001114715A JP2002312167A (en) 2001-04-13 2001-04-13 Program for making computer calculate value of variable, compile program, variable value determining method, and program generating method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001114715A JP2002312167A (en) 2001-04-13 2001-04-13 Program for making computer calculate value of variable, compile program, variable value determining method, and program generating method

Publications (1)

Publication Number Publication Date
JP2002312167A true JP2002312167A (en) 2002-10-25

Family

ID=18965730

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001114715A Withdrawn JP2002312167A (en) 2001-04-13 2001-04-13 Program for making computer calculate value of variable, compile program, variable value determining method, and program generating method

Country Status (1)

Country Link
JP (1) JP2002312167A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005029323A1 (en) * 2003-09-22 2005-03-31 Catena Corporation Software generation method
WO2006038303A1 (en) * 2004-10-07 2006-04-13 Catena Corporation Software creating method
WO2006115229A1 (en) * 2005-04-21 2006-11-02 Catena Corporation System program, processor, recording medium, program creating assisting device, data structure, and program creating method
WO2007018295A1 (en) * 2005-08-05 2007-02-15 Catena Corporation Program execution order decision device and method

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005029323A1 (en) * 2003-09-22 2005-03-31 Catena Corporation Software generation method
WO2006038303A1 (en) * 2004-10-07 2006-04-13 Catena Corporation Software creating method
WO2006115229A1 (en) * 2005-04-21 2006-11-02 Catena Corporation System program, processor, recording medium, program creating assisting device, data structure, and program creating method
WO2007018295A1 (en) * 2005-08-05 2007-02-15 Catena Corporation Program execution order decision device and method

Similar Documents

Publication Publication Date Title
CN109254776B (en) Multi-language code compiling method and compiler
US11106437B2 (en) Lookup table optimization for programming languages that target synchronous digital circuits
JP2666847B2 (en) Heterogeneous language communication method
EP2510433B1 (en) Canonicalized versions of reuse candidates in graphical state diagrams
US11379188B2 (en) Plugin-oriented functional programming system configured with software components
CN113641701A (en) Data query method, system, heterogeneous acceleration platform and storage medium
JP2011096107A (en) Parallelizing method, system, and program
JPH09259153A (en) Device and method for generating batch execution control program
JP2009181446A (en) Program generating device and block diagram generating apparatus
CN115562629A (en) RPA flow representation method, system, device and storage medium
CN117075909B (en) Compiling method, electronic device and medium for realizing parallel programming
JPH11306046A (en) Test case generation system and method
JP2002312167A (en) Program for making computer calculate value of variable, compile program, variable value determining method, and program generating method
CN106557312B (en) Program development support device and program development support software
JPH07141192A (en) Translating processing
Pratt The competence/performance dichotomy in programming preliminary report
JPH10187461A (en) Language processing system
GB2420638A (en) Method of substituting code fragments in Internal Representation
GB2397905A (en) Method for automatically generating and ordering test scripts
CN113835688B (en) Object packaging method of scientific computing language interpreter
CN112825031B (en) Process description method and device based on JSON format
KR100246544B1 (en) Thread creation method for parallel constructs on high speed parallel computer
JP2882876B2 (en) Program test method
JP2017054171A (en) Information processing device, method, and program
JPH06348463A (en) Method for generating input/output device simulating part

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20080701