JPH06242930A - Problem solving device - Google Patents

Problem solving device

Info

Publication number
JPH06242930A
JPH06242930A JP5054958A JP5495893A JPH06242930A JP H06242930 A JPH06242930 A JP H06242930A JP 5054958 A JP5054958 A JP 5054958A JP 5495893 A JP5495893 A JP 5495893A JP H06242930 A JPH06242930 A JP H06242930A
Authority
JP
Japan
Prior art keywords
module
attribute
problem solving
value
solving device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP5054958A
Other languages
Japanese (ja)
Inventor
Tatsuya Imai
達也 今井
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co 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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP5054958A priority Critical patent/JPH06242930A/en
Publication of JPH06242930A publication Critical patent/JPH06242930A/en
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

PURPOSE:To reduce the influence of the change of respective modules on the other modules at the time of solving a problem by the mutual operations of the respective modules. CONSTITUTION:This problem solving device for realizing problem solution by the mutual action of the plural modules M1-Mn is provided with a module management mechanism 1 for controlling mutual calling among the respective modules. When the values of prescribed attributes are to be decided by utilzing the other modules, the respective modules supply the required attributes to the module management mechanism 1 and issue requests. When the requests are received, the module management mechanism 1 retrieves the module whose goal attribute is the attribute whose value is to be obtained and calls the module.

Description

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

【0001】[0001]

【産業上の利用分野】本発明は、プログラムをモジュー
ル化し、各モジュールの相互作用により問題解決を実現
する問題解決装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a problem solving apparatus which realizes problem solving by modularizing a program and interaction of each module.

【0002】[0002]

【従来の技術】近年、プログラムをモジュール化しそれ
らの相互作用により問題解決するというプログラミング
スタイル(オブジェクト指向プログラミング)が着目さ
れている。このオブジェクト指向プログラミングでは、
あるオブジェクトは他のオブジェクトをメッセージとい
う形で起動し、メッセージを受けたオブジェクトはその
メッセージを内部で解釈しそれに対応する処理を内部で
行なうようになっている。さらに、この処理中にさらに
このオブジェクトが他のオブジェクトにメッセージを送
ることも可能となっている。
2. Description of the Related Art In recent years, a programming style (object-oriented programming) in which a program is made into a module and a problem is solved by their interaction is drawing attention. In this object-oriented programming,
One object activates another object in the form of a message, and the object that receives the message interprets the message internally and performs the corresponding process internally. Further, it is possible for this object to send messages to other objects during this process.

【0003】ところで、オブジェクト指向言語を含めた
従来のプログラミングスタイルでは、1つのプログラム
モジュールが他のプログラムモジュールを呼び出す場
合、その呼び出しは、呼び出されるモジュールの名称と
それにより規定される引数とを呼び出し元で直接指定す
ることにより行なわれていた。
By the way, in the conventional programming style including an object-oriented language, when one program module calls another program module, the call is made by calling the name of the called module and the arguments defined by the calling module. It was done by directly specifying in.

【0004】[0004]

【発明が解決しようとする課題】しかしながら、呼び出
したい「機能」と呼び出される「モジュール名」との間
の関係が上記のようにプログラム中で固定されてしまう
と、呼び出される側のモジュールの変更により呼び出し
側のモジュールを書き換える必要が生じてしまうという
問題があった。例えばモジュールを呼び出す時の引数の
変更や、いままで1つのモジュールで実現されていた複
数の機能が複数のモジュールに分割された場合、および
既存の機能を新たなオブジェクトで入れ替える場合等で
は、そのモジュールを呼び出している全てのモジュール
を書き換える必要が生じてしまう。さらに、プログラム
の効率の点から通常関連する機能は、1つのオブジェク
トで実現され、機能の選択を引数で行なう等の手法をと
ることが多いが、これによりモジュール名が機能名その
ものでなくなるため、プログラムの可読性を悪化させて
しまう。
However, if the relationship between the "function" to be called and the "module name" to be called is fixed in the program as described above, the change of the called module There was a problem that it was necessary to rewrite the calling module. For example, when changing the arguments when calling a module, when multiple functions that were realized in one module until now are divided into multiple modules, and when replacing existing functions with new objects, etc. It will be necessary to rewrite all modules that call. Furthermore, from the viewpoint of program efficiency, usually related functions are implemented by one object, and a method of selecting a function with an argument is often used. However, since the module name is not the function name itself, It makes the readability of the program worse.

【0005】本発明は、このような従来の欠点を解決す
るものであり、各モジュールの相互作用により問題解決
を実現する際、各モジュールの変更が他のモジュールに
及ぼす影響を少なくすることの可能な問題解決装置を提
供することを目的としている。
The present invention solves such a conventional drawback, and when the problem is solved by the interaction of each module, it is possible to reduce the influence of the change of each module on other modules. It is intended to provide a problem solving device.

【0006】[0006]

【課題を解決するための手段および作用】上記目的を達
成するために、請求項1乃至請求項2記載の発明は、各
モジュール間の相互呼び出しを制御するモジュール管理
手段を有し、各モジュールは所定の属性の値を他のモジ
ュールを利用して決定したいときに、所要の属性を前記
モジュール管理手段に与えて要求を出し、前記モジュー
ル管理手段は、該要求を受けると、値を得たい属性をゴ
ール属性としているモジュールを探索し、該モジュール
を呼び出すようになっていることを特徴としている。ま
た、請求項3記載の発明では、上記モジュール管理手段
は、あるモジュールを呼び出して処理を実行させる際
に、該モジュールでの処理の実行に必要な属性の値が未
だ決定されていないときには、該属性をゴール属性とし
ているモジュールを探索し、該モジュールを呼び出すよ
うになっていることを特徴としている。このように本発
明では、各モジュールは、他のモジュールの呼び出しを
所要の属性を指定することで行なうことができる。
In order to achieve the above object, the invention according to claims 1 and 2 has a module management means for controlling mutual calls between modules, and each module is When it is desired to determine the value of a predetermined attribute by using another module, the required attribute is given to the module management means to issue a request, and when the module management means receives the request, the attribute desired to obtain the value. It is characterized in that a module having a goal attribute is searched for and the module is called. Further, in the invention according to claim 3, when the module management unit calls a certain module and executes the process, if the value of the attribute required for executing the process in the module is not yet determined, A feature is that a module having an attribute as a goal attribute is searched and the module is called. As described above, in the present invention, each module can call another module by designating a required attribute.

【0007】また、請求項4,請求項5記載の発明は、
上記モジュール管理手段が、各モジュールの機能を意味
するゴール属性とモジュールの呼び出し形式とをそれぞ
れ対応付けて記憶している対応表を参照して、モジュー
ルの呼び出しを行なうようになっていることを特徴とし
ている。これにより、あるモジュールのモジュール名や
引数が変更されたり、あるいはモジュールが分割された
場合には、モジュール管理手段は、対応表を更新するだ
けで済み、各モジュールに何らの影響をも与えずに済
む。
The inventions according to claims 4 and 5 are:
It is characterized in that the module management means calls a module by referring to a correspondence table that stores the goal attributes indicating the function of each module and the calling format of the module in association with each other. I am trying. As a result, when the module name or argument of a module is changed or the module is divided, the module management means only needs to update the correspondence table without affecting each module. I'm done.

【0008】また、請求項6記載の発明は、上記対応表
が、ユーザにより参照可能に構成されていることを特徴
としている。これにより、新たなモジュールの開発時に
プログラマは上記対応表を参照することができて、現在
のシステムでどの機能がすでに提供されているかを容易
に把握することができる。
The invention according to claim 6 is characterized in that the correspondence table is constructed so that it can be referred to by a user. As a result, the programmer can refer to the above correspondence table when developing a new module, and can easily grasp which function is already provided in the current system.

【0009】また、請求項7記載の発明は、複数の異な
る語彙で同一の属性を呼び出せる同義語辞書がさらに設
けられており、前記モジュール管理手段は、同義語辞書
を参照して、属性を特定するようになっていることを特
徴としている。これにより、異なる語彙で同一のゴール
属性をもつモジュールを呼び出すことができる。
The invention according to claim 7 is further provided with a synonym dictionary capable of calling the same attribute in a plurality of different vocabularies, and the module management means refers to the synonym dictionary to identify the attribute. The feature is that it is designed to do. This allows calling modules with the same goal attribute in different vocabularies.

【0010】[0010]

【実施例】以下、本発明の一実施例を図面に基づいて説
明する。図1は本発明に係る問題解決装置の一実施例の
構成図である。図1を参照すると、本実施例の問題解決
装置は、複数個(例えばn個)にモジュール化されてプ
ログラミングされたモジュールM1乃至Mnと、各モジュ
ールM1乃至Mn間の相互呼び出しを制御するモジュール
管理機構1と、モジュール管理機構1によって参照され
る対応表2と、モジュール管理機構1によって参照され
る同義語辞書3と、各モジュールM1乃至Mnが問題を解
決する際の変数として機能する種々の属性C1乃至Ck
集合である属性集合部4とを有している。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS An embodiment of the present invention will be described below with reference to the drawings. FIG. 1 is a configuration diagram of an embodiment of a problem solving device according to the present invention. Referring to FIG. 1, the problem solving apparatus according to the present exemplary embodiment performs a module M 1 to M n that is modularized and programmed into a plurality of modules (for example, n) and a mutual call between the modules M 1 to M n. The module management mechanism 1 to be controlled, the correspondence table 2 referred to by the module management mechanism 1, the synonym dictionary 3 referred to by the module management mechanism 1, and variables used when each module M 1 to M n solves a problem. And an attribute set unit 4 which is a set of various attributes C 1 to C k .

【0011】ここで、各モジュールM1乃至Mnは、再利
用可能なプログラムのモジュール群として構成され、各
モジュールが他のモジュールにより提供される機能を利
用して複数の新たな機能を実現可能になっている。ま
た、属性C1乃至Ckは、問題解決がなされるべき対象
(例えば、“FAX”などの製品等)に応じて定めら
れ、対象が例えば“FAX”である場合には、属性(す
なわち属性名)C1乃至Ckのそれぞれを、例えば、それ
ぞれ、“コスト”,“状況”,“ユーザ名”,“処
理”,“故障原因”,“故障処置”,“製品名”,“保
守履歴ファイル”,“保守点検”,…などのように定め
ることができる。また、各属性C1乃至Ckは、それぞれ
属性値(変数のとる値)をもつことができ、各モジュー
ルM1乃至Mnにより問題解決がなされる過程で、各属性
1乃至Ckには、それぞれ、属性値が決定されるように
なっている。例えば、“ユーザ名”の属性は、“田中”
あるいは“鈴木”等を属性値としてもつことができ、ま
た、“処理”の属性は、“CAUSE(原因)”あるい
は“REPAIR(処置)”を属性値としてもつことが
できる。なお、属性が属性値をまだもっていないときに
は、この属性は変数であり、この属性が属性値をもって
いるときには、その属性は定数となる。また、後述のよ
うに、各属性C1乃至Ckは、入力属性にもなりうるし、
また、ゴール属性にもなりうる性質を有している。
Here, each of the modules M 1 to M n is configured as a module group of reusable programs, and each module can realize a plurality of new functions by utilizing the functions provided by other modules. It has become. Further, the attributes C 1 to C k are determined according to an object (for example, a product such as “FAX”) for which a problem is to be solved, and when the object is, for example, “FAX”, the attributes (that is, the attributes Name) C 1 to C k , respectively, for example, “cost”, “status”, “user name”, “processing”, “fault cause”, “fault treatment”, “product name”, “maintenance history”, respectively. It can be defined as “file”, “maintenance check”, ... Further, each of the attributes C 1 to C k can have an attribute value (a value that a variable takes), and each of the attributes C 1 to C k can be assigned to each of the attributes C 1 to C k in the process of problem solving by each of the modules M 1 to M n. The attribute value of each is determined. For example, the attribute of "user name" is "Tanaka"
Alternatively, “Suzuki” or the like can have an attribute value, and the “processing” attribute can have “CAUSE (cause)” or “REPAIR (treatment)” as an attribute value. When the attribute does not have an attribute value yet, this attribute is a variable, and when this attribute has an attribute value, that attribute is a constant. Further, as will be described later, each of the attributes C 1 to C k can be an input attribute,
In addition, it has the property that it can also be a goal attribute.

【0012】図2は各モジュールM1乃至Mnの基本的な
構造を示す図であり、1つのモジュールは、モジュール
名と、仕様記述部と、手続記述部とから構成されてい
る。ここで、モジュール名とは、そのモジュールにつけ
られた名前であり、例えば、モジュールM1のモジュー
ル名を“diagnosis module”,モジュールM2のモジュ
ール名を“maintenance status module”,モジュール
3のモジュール名を“maintenance report module”な
どのように例えばユーザの好みに応じて付けることがで
きる。
FIG. 2 is a diagram showing a basic structure of each of the modules M 1 to M n , and one module is composed of a module name, a specification description section, and a procedure description section. Here, the module name is a name given to the module, for example, the module name of the module M 1 is “diagnosis. module ”, the module name of the module M 2 is“ maintenance status module ”, the module name of the module M 3 is“ maintenance report For example, "module" can be attached according to the user's preference.

【0013】また、モジュールの手続記述部には、この
モジュールの処理手続が記述されている。
The processing procedure of this module is described in the procedure description section of the module.

【0014】また、モジュールの仕様記述部には、この
モジュールが手続記述部に記述された処理手続を行なう
のに必要な入力条件となる入力属性I1乃至Iiと、入力
が与えられてこのモジュールが処理手続を実行したとき
に得られるべきゴール属性Oとが記述されている。例え
ば、このモジュールが、処理,ユーザ名,状況を入力と
して受けたときに、この入力に基づき何らかの故障原因
および/または故障処置を解として求めるように機能す
るものである場合、このモジュールの仕様記述部には、
入力属性I1乃至Iiとして、“処理”,“ユーザ名”,
“状況”の各属性が記述され、また、ゴール属性Oとし
て、“故障原因”および/または“故障処置”の属性が
記述されるようになっている。この場合、このモジュー
ルは、解として、ゴール属性“故障原因”および/また
は“故障処置”の属性値を決定するようになっている。
なお、このモジュールが処理手続を実行して解を決定す
るためには、各入力属性“処理”,“ユーザ名”,“状
況”については、このモジュールの処理手続実行前にそ
の属性値が予め決定されているか、また、処理手続実行
中にその属性値が決定されなければならない。例えば、
入力属性“ユーザ名”については、例えば“田中”の属
性値が処理手続実行前に決定されているか、処理手続実
行中に決定される必要がある。
The specification description section of the module is provided with input attributes I 1 to I i which are input conditions necessary for the module to perform the processing procedure described in the procedure description section, and the input is given to the specification description section. The goal attribute O to be obtained when the module executes the processing procedure is described. For example, when this module receives a process, a user name, and a situation as an input, and functions to obtain a solution for some failure cause and / or failure action based on this input, the specification description of this module In the department,
As the input attributes I 1 to I i , “process”, “user name”,
Each attribute of “situation” is described, and as the goal attribute O, attributes of “fault cause” and / or “fault treatment” are described. In this case, the module is adapted to determine the attribute values of the goal attributes "fault cause" and / or "fault treatment" as a solution.
In order for this module to execute the processing procedure and determine the solution, the attribute values of the input attributes “processing”, “user name”, and “situation” are set in advance before the processing procedure of this module is executed. It has been decided, and its attribute value must be decided during the processing procedure execution. For example,
Regarding the input attribute “user name”, for example, the attribute value of “Tanaka” must be determined before execution of the processing procedure, or must be determined during execution of the processing procedure.

【0015】ところで、各モジュールM1乃至Mnは、そ
の処理において、他のモジュールを呼び出し、他のモジ
ュールの機能を利用して、処理に必要な属性値を決定す
ることが可能となっている。その際に、本実施例では、
他のモジュールの呼び出しを従来のようにモジュール名
等で行なうのでなく、値を得たい属性(属性名)を指定
することにより行なうよう構成されている。
By the way, each module M 1 to M n can call another module in the processing and determine the attribute value necessary for the processing by utilizing the function of the other module. . At that time, in this embodiment,
It is configured to call other modules by specifying an attribute (attribute name) whose value is to be obtained, instead of calling the module name or the like as in the conventional case.

【0016】具体的には、モジュールの手続記述部にお
いて値を得たい属性を引数とした関数“call service”
を記述することで、他のモジュールの呼び出しを指定す
ることが可能となっている。なお、関数“call servic
e”には、さらに入力条件としての入力属性、および/
または入力属性とその属性値とのペアをも引数として記
述することができる。また、関数“call service”は、
全てのモジュールで共通して使用可能な汎用関数であ
る。この場合、このモジュールの指定するのは、値を得
たい属性であり、この呼び出しが実際に他のどのモジュ
ールで処理されるかを知る必要はない。
Specifically, in the procedure description part of the module, the function "call" using the attribute whose value is to be obtained as an argument service ”
By writing, it is possible to specify the call of another module. Note that the function "call servic
e ”further includes input attributes as input conditions, and /
Alternatively, a pair of an input attribute and its attribute value can be described as an argument. Also, the function "call service ”is
It is a general-purpose function that can be used in all modules. In this case, what this module specifies is the attribute whose value you want to get, and you don't need to know which other module actually handles this call.

【0017】また、これとは別の仕方として、モジュー
ルの仕様記述部において、他のモジュールにより値が決
定されるべき属性を入力属性として記述することも可能
となっている。このときには、このモジュールの処理手
続において、この入力属性の属性値が決定されていない
ことにより、この入力属性の属性値を決定することの可
能な他のモジュールが自動的に呼び出されて、他のモジ
ュールにより属性値が決定される。従って、この場合に
も、このモジュールでは、この呼び出しが実際にどのモ
ジュールで処理されるかを知る必要がない。
Alternatively, it is possible to describe an attribute whose value is to be determined by another module as an input attribute in the specification description part of the module. At this time, since the attribute value of this input attribute has not been determined in the processing procedure of this module, another module capable of determining the attribute value of this input attribute is automatically called, and The module determines the attribute value. Thus, again, this module does not need to know in which module this call is actually handled.

【0018】モジュールの手続記述部において関数“ca
ll service”を用いた属性の指定がなされるか、また
は、仕様記述部において上記のような入力属性の記述が
なされたときに、その属性の値を決定するための他のモ
ジュールを選択する処理は、モジュール管理機構1にお
いてなされるようになっている。
In the procedure description part of the module, the function "ca
ll When the attribute is specified using "service" or the input attribute is described in the specification description section, the process of selecting another module for determining the value of the attribute is , The module management mechanism 1.

【0019】すなわち、モジュール管理機構1は、ある
モジュールからの属性の値を決定する要求に対し、対応
表2および同義語辞書3を参照して、要求された属性を
ゴール属性とする他のモジュール(すなわち、要求され
た属性の値を決定できるモジュール)を選択し、それを
呼び出すようになっている。また、呼び出された他のモ
ジュールにおいて処理がなされ、要求された属性の値が
決定されると、モジュール管理機構1は、その属性値を
要求を発したモジュールへ返すようになっている。
That is, the module management mechanism 1 refers to the correspondence table 2 and the synonym dictionary 3 in response to a request for determining the value of an attribute from a certain module, and refers to the other module that uses the requested attribute as a goal attribute. It is meant to select (ie, a module that can determine the value of the requested attribute) and call it. When processing is performed in another called module and the requested attribute value is determined, the module management mechanism 1 returns the attribute value to the module that issued the request.

【0020】なお、あるモジュール,例えばM1からの
要求により他のモジュール,例えばM2を選択し呼び出
して処理を行なわせるときに、さらに、属性の値を決定
する要求が出されることがある。あるいはモジュール,
例えばM2の処理実行中にこのモジュールM2からさらに
要求が出されることがある。従って、モジュール管理機
構1は属性の値が最終的に決定されるまでの過程におい
て複数の要求REQ1乃至REQjを受けることがあり、
このような複数の要求REQ1乃至REQjに対処するた
め、各要求REQ1乃至REQjに対する処理を図3に示
すように、それぞれイベントIVT1乃至IVTjとして
取り扱うようになっている。すなわち、モジュール管理
機構1は、要求がある毎に新たなイベントを発生させ、
要求に対する処理をイベントとして行なうようになって
いる。また、その際、各イベントIVT1乃至IVTj
例えばイベント管理テーブルなどを用いて互いにリンク
させるようになっている。具体的には、例えば、あるモ
ジュールM1からの要求REQ1により他のモジュールM
2を呼び出して処理を行なわせるときには、イベントI
VT1を発生させ、このイベントIVT1における処理を
行なうが、このイベントIVT1の処理過程において、
さらに別の要求REQ2が出されると、イベントIVT2
を発生させて、このイベントIVT2における処理を行
なう。この際、イベントIVT2をイベントIVT1にリ
ンクし、イベントIVT1は、イベントIVT2の処理結
果を受けるようになっている。すなわち、イベントIV
1はイベントIVT2の処理が終了するまで待ち状態と
なる。このように複数の要求があるときには、この要求
の個数分のイベントが発生し、待ち行列(キュー)とし
て登録され、各イベントは、親と子の関係で互いにリン
クされる。
When a module, for example, M 1 requests another module, for example, M 2 to call and perform processing, a request for determining the attribute value may be issued. Or a module,
For example it may further request is made during the process execution M 2 from the module M 2. Therefore, the module management mechanism 1 may receive a plurality of requests REQ 1 to REQ j in the process until the value of the attribute is finally determined.
Such to deal with multiple requests REQ 1 to REQ j, as shown in each request REQ 1 to 3 a process for the REQ j, so that the respective handle an event IVT 1 to IVT j. That is, the module management mechanism 1 generates a new event each time there is a request,
The request is processed as an event. At that time, the respective events IVT 1 to IVT j are linked to each other using, for example, an event management table. Specifically, for example, a request REQ 1 from one module M 1 causes another module M 1 to
When calling 2 to perform processing, event I
VT 1 is generated, performs the process in the event IVT 1, in the processing process of the event IVT 1,
When another request REQ 2 is issued, the event IVT 2
Is generated and the processing in this event IVT 2 is performed. In this case, links the event IVT 2 in the event IVT 1, event IVT 1 is adapted to receive the processing result of the event IVT 2. That is, Event IV
T 1 is in a waiting state until the processing of event IVT 2 is completed. When there are a plurality of requests in this way, events corresponding to the number of requests are generated and registered as a queue (queue), and the events are linked to each other in a parent-child relationship.

【0021】図4は対応表2の一例を示す図であり、こ
の対応表2には、モジュールの機能(すなわち、モジュ
ールのゴール属性)とそのモジュールの呼び出し形式と
が対応付けされて記憶されている。ここで、この対応表
2は、例えばこの問題解決装置の初期化時に、あるいは
モジュールが変更されたときなどに、モジュールの仕様
記述部に記述されている属性情報(ゴール属性,入力属
性)をモジュール管理機構1が読取って作成することが
でき、この場合、モジュール呼び出し形式は、呼び出さ
れるモジュールのモジュール名と、そのモジュールの入
力属性とにより規定されている。この対応表2を参照す
ることにより、モジュール管理機構1は、例えば、ゴー
ル属性として“ユーザ名”をもつモジュールを、“user
information module(“処理属性”=“NAM
E”)”の形式で呼び出すことができる。また、この対
応表2はユーザにより参照可能に(例えばディスプレイ
やプリンタに表示可能に)構成されている。
FIG. 4 is a diagram showing an example of the correspondence table 2. In the correspondence table 2, the function of the module (that is, the goal attribute of the module) and the calling format of the module are stored in association with each other. There is. Here, this correspondence table 2 includes the attribute information (goal attribute, input attribute) described in the specification description part of the module, for example, when the problem solving device is initialized or when the module is changed. It can be read and created by the management mechanism 1. In this case, the module call format is defined by the module name of the called module and the input attribute of the module. By referring to this correspondence table 2, for example, the module management mechanism 1 identifies a module having a "user name" as a goal attribute by "user".
information module (“processing attribute” = “NAM
It can be called in the form of E ")". The correspondence table 2 is configured so that it can be referred to by the user (for example, it can be displayed on a display or a printer).

【0022】また、図5は同義語辞書3の一例を示す図
であり、この同義語辞書3には、互いに同義語関係にあ
る属性が格納されている。この同義語辞書3を参照する
ことにより、モジュール管理機構1は、例えばあるモジ
ュールからゴール属性として“顧客名”の値を決定する
旨の要求があったとき、このゴール属性“顧客名”と同
義語である“ユーザ名”のゴール属性を検索することが
できる。
FIG. 5 is a diagram showing an example of the synonym dictionary 3, and the synonym dictionary 3 stores attributes that are synonymous to each other. By referring to the synonym dictionary 3, the module management mechanism 1 is synonymous with the goal attribute “customer name” when a module requests a value of “customer name” as the goal attribute, for example. You can search for the goal attribute of the word "username".

【0023】次にこのような構成の問題解決装置の処理
動作,特にモジュール管理機構1における処理動作を図
6のフローチャートを用いて説明する。初期の段階にお
いて、ある問題を解決するためにユーザによって値(問
題の最終的な解)を得たい属性,さらには入力条件とし
ての入力属性(および/または入力属性とその属性値と
のペア)が入力されて、ユーザからの要求があるとき、
または、この問題の解決過程において、あるモジュー
ル,例えばM1から値を得たい属性,さらには入力条件
としての入力属性(および/または入力属性とその属性
値とのペア)に基づく要求があるとき、モジュール管理
機構1は、この要求を受け付け、1つのイベント,例え
ばIVT1を発生し、これを起動する(ステップS
1)。このイベントIVT1の処理では、対応表2およ
び同義語辞書3を参照して、要求のあった値を得たい属
性(あるいはその同義語)と一致するゴール属性が対応
表2に存在するか否かを調べ、一致するゴール属性が存
在する場合には、このゴール属性と対応しているモジュ
ール呼び出し形式を対応表2から検索する(ステップS
2)。対応表2からこのモジュール呼び出し形式を検索
することができた場合には(ステップS3)、このモジ
ュール呼び出し形式のモジュール,例えばM2を呼び出
してこのモジュールM2に処理を実行させる。なお、こ
のモジュールM2に処理を実行させるためには、このモ
ジュールM2の入力属性について属性値がすでに決定さ
れている必要がある。このため、このモジュールM2
呼び出すに先立って、このモジュール呼び出し形式か
ら、そこに設定されている入力属性を読み出し、各入力
属性が属性値をもっているか否かを順次に調べ、属性値
をまだもっていないときには属性値を決定する処理を行
なう。
Next, the processing operation of the problem solving apparatus having such a configuration, particularly the processing operation in the module management mechanism 1, will be described with reference to the flowchart of FIG. At the initial stage, the attribute for which the user wants to obtain a value (final solution of the problem) to solve a certain problem, and further the input attribute (and / or the pair of the input attribute and its attribute value) as the input condition Is input and there is a request from the user,
Or, in the process of solving this problem, when there is a request based on an attribute for which a value is to be obtained from a certain module, for example, M 1 and also an input attribute (and / or a pair of the input attribute and its attribute value) as an input condition. The module management mechanism 1 accepts this request, generates one event, for example IVT 1 , and activates it (step S
1). In the processing of this event IVT 1 , by referring to the correspondence table 2 and the synonym dictionary 3, whether there is a goal attribute in the correspondence table 2 that matches the attribute (or its synonym) for which the requested value is to be obtained. If there is a matching goal attribute, the correspondence table 2 is searched for the module call format corresponding to this goal attribute (step S
2). When this module call format can be retrieved from the correspondence table 2 (step S3), a module of this module call format, for example, M 2 is called to cause this module M 2 to execute the processing. In order for the module M 2 to execute the process, the attribute value of the input attribute of the module M 2 needs to be already determined. Therefore, prior to calling this module M 2 , the input attributes set in the module calling format are read out, and it is sequentially checked whether or not each input attribute has an attribute value, and the attribute value still exists. If not, the process of determining the attribute value is performed.

【0024】より具体的には、このモジュール呼び出し
形式に設定されている入力属性を全て読み出して、これ
を例えばバッファALISTに要素として格納する(ス
テップS4)。次いで、バッファALISTに格納され
た各要素(すなわち各入力属性)が属性値をもっている
か否かを順次に調べる。すなわち、バッファALIST
に格納された各要素(各入力属性)を順次に読み出し、
各入力属性が属性値をすでにもっているか否かを順次に
調べる(ステップS5)。
More specifically, all the input attributes set in this module call format are read out and stored as elements in the buffer ALIST, for example (step S4). Next, it is sequentially checked whether or not each element (that is, each input attribute) stored in the buffer ALIST has an attribute value. That is, the buffer ALIST
Sequentially read each element (each input attribute) stored in
It is sequentially checked whether or not each input attribute already has an attribute value (step S5).

【0025】このとき、ある入力属性が属性値をまだも
っていないときには、このイベントIVT1自体がこの
入力属性の値を得たい旨の要求REQ2を発生する(ス
テップS6)。これにより、モジュール管理機構1は、
イベントIVT2を発生し、イベントIVT2における処
理を行なう(ステップS7)。この際、イベントIVT
1は、イベントIVT2における処理が終了するまで待ち
状態となる。イベントIVT2においても、このフロ−
チャ−トと同様の処理がなされ、イベントI2における
処理の結果、入力属性の属性値が決まると、残りの入力
属性についても同様の処理を繰り返し行ない、これによ
り、バッファALISTに格納されている全ての入力属
性について属性値が決定される。全ての入力属性につい
て属性値が決定されると、モジュールM2を呼び出し、
モジュールM2に処理を実行させる(ステップS8)。
これにより、モジュールM2からは、ユーザが得たい属
性の属性値、または、あるモジュールM1が得たい属性
の属性値がモジュール管理機構1に出力され、モジュー
ル管理機構1からユーザに、または、モジュールM1
渡される(ステップS9)。なお、ステップS3におい
て対応表2を検索した結果、該当モジュールM2がない
ときには、値を得たい入力属性の属性値をユーザに直接
問い合わせ(ステップS10)、モジュールM1からの
要求である場合には、ユーザによって得られた入力属性
の属性値をモジュールM1に渡す。このような手順を経
て、最終的に問題の解を得ることができる。
At this time, when a certain input attribute does not yet have an attribute value, this event IVT 1 itself issues a request REQ 2 to obtain the value of this input attribute (step S6). As a result, the module management mechanism 1
Event IVT 2 is generated, and the process in event IVT 2 is performed (step S7). At this time, event IVT
1 is in a waiting state until the processing in event IVT 2 is completed. Even at Event IVT 2 , this flow
When the attribute value of the input attribute is determined as a result of the processing in the event I 2 as a result of the processing similar to that of the chart, the same processing is repeated for the remaining input attributes, so that it is stored in the buffer ALIST. Attribute values are determined for all input attributes. When the attribute values are determined for all input attributes, module M 2 is called,
The module M 2 is caused to execute the processing (step S8).
As a result, the module M 2 outputs the attribute value of the attribute that the user wants to obtain, or the attribute value of the attribute that a certain module M 1 wants to obtain, to the module management mechanism 1 to the user, or It is passed to the module M 1 (step S9). As a result of searching the correspondence table 2 in step S3, if there is no corresponding module M 2 is sent directly to the attribute value of the input attributes to be obtained values to the user (step S10), and if the request is from the module M 1 Passes the attribute value of the input attribute obtained by the user to the module M 1 . The solution of the problem can be finally obtained through such a procedure.

【0026】次にこのような処理の具体例を説明する。
いま、対応表2,同義語辞書3にそれぞれ図4,図5に
示すような情報が格納されているとする。このときに、
値を得たい属性として“故障原因”が指定されて、この
旨の要求があると、モジュール管理機構1は、先ず、対
応表2を参照して、ゴール属性が“故障原因”であるも
のを検索する。その結果、モジュール呼び出し形式とし
て、“diagnosis module(“処理”=“CAUSE”,
ユーザ名,状況)を検索することができ、モジュール管
理機構1は、“diagnosis module”のモジュール名をも
つモジュールを呼び出す。
Next, a specific example of such processing will be described.
Now, it is assumed that the correspondence table 2 and the synonym dictionary 3 store information as shown in FIGS. 4 and 5, respectively. At this time,
When "failure cause" is specified as an attribute whose value is to be obtained and there is a request to this effect, the module management mechanism 1 first refers to the correspondence table 2 and determines that the goal attribute is "failure cause". Search for. As a result, the module call format is "diagnosis module (“processing” = “CAUSE”,
User name, status) can be searched, and the module management mechanism 1 displays “diagnosis Call the module with the module name "module".

【0027】なお、この呼び出し時に、入力属性が処
理,ユーザ名,状況である旨がこのモジュールに通知さ
れるが、入力属性“処理”については、その属性値が
“CAUSE”である旨、さらに通知され、また、ユー
ザ名,状況についても、その属性値がすでに決定されて
いるときには、これらの属性値が通知される。属性値を
もっていない入力属性が存在するときには(例えば状況
の属性の属性値がまだ決定されていないときには)、こ
の属性値を先ず決定するが、いまの場合、説明の便宜
上、“ユーザ名”,“状況”の属性についてもすでに属
性値が例えば“田中”,“電源入らず”のように決定さ
れているとする。“diagnosis module”のモジュール名
をもつモジュールが図7のように構成されている場合、
このモジュールが呼び出されると、このモジュールで
は、通知された入力属性が“処理”=“CAUSE”,
“ユーザ名”,“状況”であるので、仕様記述部のPA
TTERN1を選択し、これにより、ゴール属性,すな
わち出力として、“故障原因”の属性値を決定する処理
を行なう。
At the time of this call, this module is notified that the input attributes are processing, user name, and status. Regarding the input attribute "processing," the attribute value is "CAUSE", and When the attribute values of the user name and the situation are already determined, these attribute values are notified. When there is an input attribute that does not have an attribute value (for example, when the attribute value of the situation attribute is not yet determined), this attribute value is first determined. In this case, however, for convenience of explanation, "user name", " It is assumed that the attribute value of the “status” has already been determined, for example, “Tanaka” or “power not turned on”. "Diagnosis If a module with a module name of “module” is configured as shown in FIG. 7,
When this module is called, in this module, the notified input attribute is "process" = "CAUSE",
Since it is "user name" and "status", PA of the specification description section
TTERN1 is selected, and thereby, the processing of determining the goal attribute, that is, the attribute value of "fault cause" as an output is performed.

【0028】このモジュールにおいて、“故障原因”の
属性値を決定するための処理は、手続記述部に記述され
ている。図7の例では、手続記述部に“if 入力属性1
=“CAUSE”then proc 1”のプログラムが記述さ
れているので、これに従って、“proc 1”のステップに
進む。“proc 1”のステップには、“product=call ser
vice(“保守予定(“製品名”=“FAX”)”)のプ
ログラムが記述されており、このプログラムに従って、
このモジュールは、値を得たい属性として“保守予定
(“製品名”=“FAX”)”を指定し、これをモジュ
ール管理機構1に要求する。
In this module, the processing for determining the attribute value of "fault cause" is described in the procedure description section. In the example of FIG. 7, “if input attribute 1
= “CAUSE” then proc Since the program of "1" is written, "proc Go to step 1. “proc For the 1 step, "product = call ser
The vice (“Maintenance schedule (“ Product name ”=“ FAX ”)”) program is described, and according to this program,
This module specifies “maintenance schedule (“ product name ”=“ FAX ”)” as an attribute whose value is to be obtained, and requests the module management mechanism 1 for this.

【0029】この要求を受けると、モジュール管理機構
1は、図7に示すモジュールの処理を待ち状態にし、対
応表2を参照して、ゴール属性が“保守予定”であるも
のを検索する。その結果、モジュール呼び出し形式とし
て、“maintenance status module(製品名,保守履歴
ファイル)”を検索することができる。このとき、モジ
ュール管理機構1は、さらに、入力属性“製品名”,
“保守履歴ファイル”について、属性値がすでに決定さ
れているかを調べる。いまの場合、入力属性“製品名”
については、上記の要求時に、この属性値が“FAX”
である旨、宣言され、決定されているが、入力属性“保
守履歴ファイル”については、その属性値がまだ決定さ
れていないとすると、モジュール管理機構1は、“main
tenance status module”のモジュールを呼び出すに先
立って、入力属性“保守履歴ファイル”の属性値を決定
するために、対応表2を参照し、ゴール属性が“保守履
歴ファイル”であるモジュールを検索する。
Upon receipt of this request, the module management mechanism 1 puts the processing of the module shown in FIG. 7 in a waiting state and refers to the correspondence table 2 to search for a goal attribute of "maintenance scheduled". As a result, the module call format is "maintenance status "module (product name, maintenance history file)" can be searched. At this time, the module management mechanism 1 further adds the input attribute "product name",
Check if the attribute value has already been determined for the "maintenance history file". In the present case, the input attribute "Product name"
For the above request, this attribute value is "FAX"
However, if the attribute value of the input attribute “maintenance history file” is not yet determined, the module management mechanism 1 determines that “main
tenance status Prior to calling the module “module”, the correspondence table 2 is referred to in order to determine the attribute value of the input attribute “maintenance history file”, and the module whose goal attribute is “maintenance history file” is searched.

【0030】その結果、モジュール呼び出し形式とし
て、“maintenance report module(ユーザ名,製品
名)”のモジュールを検索することができる。このと
き、さらに、入力属性“ユーザ名”,“製品名”につい
て、属性値がいままでの処理経路においてすでに決定さ
れているかを調べる。この結果、“ユーザ名”について
は、図7のモジュールを呼び出す時点で、これがすでに
決定されており、また、“製品名”については、図7の
モジュールからの要求時に、これが“FAX”としてす
でに決定されているので、モジュール管理機構1は、
“maintenance report module”のモジュール名をもつ
モジュールを呼び出す。また、このときに、このモジュ
ールに対して、入力属性“ユーザ名”,“製品名”とこ
れらの属性値とを通知する。“maintenance report mod
ule”のモジュール名をもつモジュールが図8のように
構成されている場合、このモジュールが呼び出される
と、このモジュールでは、通知された入力属性が“ユー
ザ名”,“製品名”であるので、仕様記述部のPATT
ERN1を選択し、これにより、ゴール属性,すなわち
出力として、“保守履歴ファイル”の属性値を決定する
処理を行なう。このモジュールにおいて、“保守履歴フ
ァイル”の属性値を決定するための処理は、手続記述部
に記述されており、図8の例では、“ユーザ名と製品名
から保守履歴ファイルを検索する。…”旨のプログラム
が記述されている。これにより、このモジュールでは、
ユーザ名の属性値と製品名の属性値(“FAX”)とか
ら保守履歴ファイルを検索して、“保守履歴ファイル”
の属性値を決定する。
As a result, the module call format is "maintenance report It is possible to search the module of "module (user name, product name)". At this time, regarding the input attributes "user name" and "product name", whether the attribute values have already been determined in the processing path up to now. As a result, the "user name" has already been determined at the time of calling the module in FIG. 7, and the "product name" is "FAX" when requested by the module in FIG. Since it has already been determined as ", the module management mechanism 1
“Maintenance report A module having a module name of "module" is called. At this time, the input attributes "user name" and "product name" and these attribute values are notified to this module. report mod
If a module having a module name of “ule” is configured as shown in FIG. 8, when this module is called, the notified input attributes are “user name” and “product name”. PATT of the specification description section
ERN1 is selected, and thereby, the processing for determining the goal attribute, that is, the attribute value of the "maintenance history file" as an output is performed. In this module, the processing for determining the attribute value of the "maintenance history file" is described in the procedure description section, and in the example of FIG. 8, "maintenance history file is searched from user name and product name ... A program to that effect is described. So in this module,
Search the maintenance history file based on the attribute value of the user name and the attribute value of the product name (“FAX”) to find the “maintenance history file”
Determine the attribute value of.

【0031】このようにして、図8のモジュールにおい
て、“保守履歴ファイル”の属性値が決定されると、こ
の属性値は、モジュール管理機構1に送られる。モジュ
ール管理機構1は、“保守履歴ファイル”の属性値が決
定されたので、モジュール管理機構1は、“maintenanc
e status module”のモジュール名をもつモジュールを
呼び出すことができる。“maintenance status modul
e”のモジュール名をもつモジュールが図9のように構
成されている場合、このモジュールでは、通知された入
力属性が“製品名”,“保守履歴フィイル”であるの
で、仕様記述部のPATTERN1を選択し、これによ
り、ゴール属性,すなわち出力として、“保守予定”の
属性値を決定する処理を行なう。すなわち、このモジュ
ールにおいて、“保守予定”の属性値を決定するための
処理は、手続記述部に記述されており、図9の例では、
“保守履歴ファイルから最終保守日を読み出し、保守予
定日を決定する。…”旨のプログラムが記述されてい
る。これにより、このモジュールでは、保守履歴ファイ
ルの属性値から“保守予定”の属性値として、保守予定
日を決定する。
In this way, when the attribute value of "maintenance history file" is determined in the module of FIG. 8, this attribute value is sent to the module management mechanism 1. Since the module management mechanism 1 has determined the attribute value of the "maintenance history file", the module management mechanism 1 uses "maintenanc".
e status You can call a module with the module name "module". status modul
When the module having the module name of "e" is configured as shown in FIG. 9, in this module, since the notified input attributes are "product name" and "maintenance history file", PATTERN1 of the specification description section is changed. By this, the processing for determining the goal attribute, that is, the attribute value of "maintenance scheduled" as an output is performed. That is, in this module, the processing for determining the attribute value of "maintenance scheduled" is the procedure description. Section, and in the example of FIG.
A program that reads "the last maintenance date is read from the maintenance history file and the scheduled maintenance date is determined ..." is described. As a result, this module determines the scheduled maintenance date as the attribute value of "maintenance scheduled" from the attribute value of the maintenance history file.

【0032】このようにして、図9のモジュールにおい
て、“保守予定”の属性値が決定されると、この属性値
は、モジュール管理機構1に送られる。モジュール管理
機構1は、“保守予定”の属性値が決定されたので、こ
れを図7のモジュールに送る。
In this way, when the attribute value of "scheduled maintenance" is determined in the module of FIG. 9, this attribute value is sent to the module management mechanism 1. Since the module management mechanism 1 has determined the attribute value of "maintenance scheduled", it sends this to the module of FIG.

【0033】図7のモジュールでは、これにより、“pr
oc 1”のステップを終了し、次のステップに進み、この
ようにして、最終的に“故障原因”の属性値を得ること
ができる。
In the module of FIG. 7, this results in "pr
oc After finishing the step 1 ”and proceeding to the next step, the attribute value of“ fault cause ”can be finally obtained in this manner.

【0034】このように、本実施例では、各モジュール
は、他のモジュールの呼び出しを所要の属性を指定する
ことで行なうことができ、他のモジュールがどのような
型式で呼び出されるかを知る必要がなく、従って、他の
モジュールのモジュール名や引数が変更された場合に
も、これに伴なってプログラムを変更したりする必要が
ない。すなわち、あるモジュールのモジュール名や引数
が変更されたり、あるいはモジュールが分割された場合
には、モジュール管理機構1は、変更のあったモジュー
ルの仕様記述部の情報を読み取って、対応表2を更新す
るだけで済み、各モジュールに何らの影響をも与えずに
済む。
As described above, in this embodiment, each module can call another module by designating a required attribute, and it is necessary to know what type of other module is called. Therefore, even if the module name or argument of another module is changed, it is not necessary to change the program accordingly. That is, when the module name or argument of a module is changed or the module is divided, the module management mechanism 1 reads the information in the specification description section of the changed module and updates the correspondence table 2. It does not have any influence on each module.

【0035】また、対応表2には、現在存在している各
モジュールの機能名(ゴール属性)のリストが示されて
いるので、新たなモジュールの開発時等に、プログラマ
はこの対応表2に示されている機能名のリストを参照す
ることで、現在のシステムで、どの機能がすでに提供さ
れているかを容易に把握することができる。
Further, since the correspondence table 2 shows a list of function names (goal attributes) of the currently existing modules, the programmer can use the correspondence table 2 when developing a new module. By referring to the list of function names shown, it is possible to easily understand which function is already provided in the current system.

【0036】また、機能名に関する同義語辞書3が設け
られているので、ユーザは、複数の異なる語彙で同一の
機能を呼び出すことができる。
Since the synonym dictionary 3 for function names is provided, the user can call the same function with a plurality of different vocabularies.

【0037】[0037]

【発明の効果】以上に説明したように、請求項1乃至請
求項3記載の発明によれば、各モジュールは、他のモジ
ュールの呼び出しを所要の属性を指定することで行なう
ことができるので、他のモジュールがどのような型式で
呼び出されるかを知る必要がなく、他のモジュールのモ
ジュール名や引数が変更された場合にも、これに伴なっ
てプログラムを変更したりせずに済む。
As described above, according to the inventions of claims 1 to 3, each module can call another module by designating a required attribute. There is no need to know what type of other modules are called, and even if the module names and arguments of other modules are changed, it is not necessary to change the program accordingly.

【0038】また、請求項4,請求項5記載の発明によ
れば、モジュール管理手段は、各モジュールの機能を意
味するゴール属性がモジュールの呼び出し形式とそれぞ
れ対応付けられて記憶されている対応表を参照して、モ
ジュールの呼び出しを行なうので、あるモジュールのモ
ジュール名や引数が変更されたり、あるいはモジュール
が分割された場合には、モジュール管理手段は、対応表
を更新するだけで済み、各モジュールに何らの影響をも
与えずに済む。
Further, according to the inventions of claims 4 and 5, the module management means stores the correspondence table in which the goal attributes representing the functions of each module are stored in association with the calling format of the module. Since the module is called by referring to, the module management means only needs to update the correspondence table when the module name or argument of a certain module is changed or the module is divided. Does not have any effect on.

【0039】また、請求項6記載の発明によれば、対応
表は、ユーザにより参照可能に構成されているので、新
たなモジュールの開発時にプログラマは上記対応表を参
照することができるので、これにより、現在のシステム
でどの機能がすでに提供されているかを容易に把握する
ことができる。
According to the invention described in claim 6, since the correspondence table is constructed so that it can be referred to by the user, the programmer can refer to the correspondence table when developing a new module. This makes it easy to understand which functions are already provided in the current system.

【0040】また、請求項7記載の発明によれば、複数
の異なる語彙で同一の属性を呼び出せる同義語辞書がさ
らに設けられており、モジュール管理手段は、同義語辞
書を参照して、属性を特定するので、異なる語彙で同一
のゴール属性をもつモジュールを呼び出すことができ
る。
Further, according to the invention described in claim 7, a synonym dictionary capable of calling the same attribute with a plurality of different vocabularies is further provided, and the module management means refers to the synonym dictionary and identifies the attribute. Since it is specified, modules having the same goal attribute in different vocabularies can be called.

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

【図1】本発明に係る問題解決装置の一実施例の構成図
である。
FIG. 1 is a configuration diagram of an embodiment of a problem solving device according to the present invention.

【図2】各モジュールの基本的な構造を示す図である。FIG. 2 is a diagram showing a basic structure of each module.

【図3】モジュール管理機構の処理形態例を説明するた
めの図である。
FIG. 3 is a diagram illustrating an example of a processing form of a module management mechanism.

【図4】対応表の一例を示す図である。FIG. 4 is a diagram showing an example of a correspondence table.

【図5】同義語辞書の一例を示す図である。FIG. 5 is a diagram showing an example of a synonym dictionary.

【図6】図1の問題解決装置の処理動作を説明するため
のフローチャートである。
FIG. 6 is a flowchart for explaining the processing operation of the problem solving device of FIG. 1.

【図7】モジュールの具体例を示す図である。FIG. 7 is a diagram showing a specific example of a module.

【図8】モジュールの具体例を示す図である。FIG. 8 is a diagram showing a specific example of a module.

【図9】モジュールの具体例を示す図である。FIG. 9 is a diagram showing a specific example of a module.

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

1 モジュール管理機構 2 対応表 3 同義語辞書 4 属性集合部 M1乃至Mn モジュール1 Module Management Mechanism 2 Correspondence Table 3 Synonym Dictionary 4 Attribute Collection Part M 1 to M n Modules

Claims (7)

【特許請求の範囲】[Claims] 【請求項1】 複数のモジュールの相互作用により問題
解決を実現する問題解決装置において、各モジュール間
の相互呼び出しを制御するモジュール管理手段を有し、
各モジュールは所定の属性の値を他のモジュールを利用
して決定したいときに、所要の属性を前記モジュール管
理手段に与えて要求を出し、前記モジュール管理手段
は、該要求を受けると、値を得たい属性をゴール属性と
しているモジュールを探索し、該モジュールを呼び出す
ようになっていることを特徴とする問題解決装置。
1. A problem solving device for realizing problem solving by interaction of a plurality of modules, comprising module management means for controlling mutual calls between the modules,
When each module wants to determine the value of a predetermined attribute by using another module, it gives a request by giving the required attribute to the module management means, and when the module management means receives the request, the module manages the value. A problem solving apparatus characterized in that a module having a goal attribute as an attribute to be obtained is searched and the module is called.
【請求項2】 請求項1記載の問題解決装置において、
前記モジュール管理手段に与える所要の属性には、少な
くとも値を得たい属性が含まれており、さらに、入力条
件としての入力属性,および/または入力属性とその属
性値とのペアが含まれることが可能となっていることを
特徴とする問題解決装置。
2. The problem solving device according to claim 1,
The required attributes given to the module management means include at least an attribute for which a value is desired to be obtained, and further include an input attribute as an input condition and / or a pair of the input attribute and its attribute value. A problem-solving device characterized by being possible.
【請求項3】 請求項1記載の問題解決装置において、
前記モジュール管理手段は、あるモジュールを呼び出し
て処理を実行させる際に、該モジュールでの処理の実行
に必要な属性の値が未だ決定されていないときには、該
属性をゴール属性としているモジュールを探索し、該モ
ジュールを呼び出すようになっていることを特徴とする
問題解決装置。
3. The problem solving device according to claim 1,
When calling a certain module and executing a process, when the value of the attribute necessary for executing the process in the module is not yet determined, the module management means searches for a module having the attribute as a goal attribute. A problem solving device characterized in that the module is called.
【請求項4】 請求項1または請求項3記載の問題解決
装置において、前記モジュール管理手段は、各モジュー
ルの機能を意味するゴール属性がモジュールの呼び出し
形式とそれぞれ対応付けられて記憶されている対応表を
参照して、モジュールの呼び出しを行なうようになって
いることを特徴とする問題解決装置。
4. The problem solving apparatus according to claim 1 or 3, wherein the module management means stores goal attributes indicating the function of each module in association with a calling format of the module. A problem solving device characterized in that a module is called by referring to a table.
【請求項5】 請求項4記載の問題解決装置において、
前記対応表は、各モジュールの初期設定時に、あるいは
モジュールの変更時に、前記モジュール管理手段により
作成,あるいは更新されるようになっていることを特徴
とする問題解決装置。
5. The problem solving device according to claim 4,
The problem solving device, wherein the correspondence table is created or updated by the module management means at the time of initial setting of each module or when the module is changed.
【請求項6】 請求項4記載の問題解決装置において、
前記対応表は、ユーザにより参照可能に構成されている
ことを特徴とする問題解決装置。
6. The problem solving device according to claim 4,
The problem solving device is characterized in that the correspondence table is configured to be referred to by a user.
【請求項7】 請求項4記載の問題解決装置において、
複数の異なる語彙で同一の属性を呼び出せる同義語辞書
がさらに設けられており、前記モジュール管理手段は、
同義語辞書を参照して、属性を特定するようになってい
ることを特徴とする問題解決装置。
7. The problem solving device according to claim 4,
A synonym dictionary that can call the same attribute in a plurality of different vocabularies is further provided, and the module management means is
A problem solving device characterized in that an attribute is specified by referring to a synonym dictionary.
JP5054958A 1993-02-18 1993-02-18 Problem solving device Pending JPH06242930A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5054958A JPH06242930A (en) 1993-02-18 1993-02-18 Problem solving device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5054958A JPH06242930A (en) 1993-02-18 1993-02-18 Problem solving device

Publications (1)

Publication Number Publication Date
JPH06242930A true JPH06242930A (en) 1994-09-02

Family

ID=12985183

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5054958A Pending JPH06242930A (en) 1993-02-18 1993-02-18 Problem solving device

Country Status (1)

Country Link
JP (1) JPH06242930A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016048569A (en) * 2015-10-16 2016-04-07 洋彰 宮崎 Artificial intelligence apparatus autonomously expanding knowledge by language input

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016048569A (en) * 2015-10-16 2016-04-07 洋彰 宮崎 Artificial intelligence apparatus autonomously expanding knowledge by language input
WO2017064822A1 (en) * 2015-10-16 2017-04-20 洋彰 宮崎 Artificial intelligence device autonomously expanding knowledge by language input
US10810509B2 (en) 2015-10-16 2020-10-20 Hiroaki Miyazaki Artificial intelligence apparatus autonomously expanding knowledge by inputting language

Similar Documents

Publication Publication Date Title
US5535389A (en) Business process objects with associated attributes such as version identifier
US4586158A (en) Screen management system
US7181694B2 (en) Software customization objects for programming extensions associated with a computer system
US6014591A (en) Apparatus and method of generating control program
CN108734454A (en) Reimbursement processing method and system
CN112149838A (en) Method, device, electronic equipment and storage medium for realizing automatic model building
JP3554854B2 (en) Business job execution related diagram display method
JPH08137804A (en) Information processor
CN100410875C (en) Solid mass-based software framework system and running method thereof
JPH06242930A (en) Problem solving device
JP2008269515A (en) Method for dynamically generating image layout by parameter
JPH03223901A (en) Semiconductor manufacturing equipment
JP2001337825A (en) Storage system provided with on-line display method for manual
JPH10177596A (en) Product development project management system and method
JP2823991B2 (en) Computer operation automation equipment
JPH0385663A (en) Control method for computer network system
JPH10283379A (en) Method for supporting design and device therefor
JP3143930B2 (en) Data processing device
JP2001297185A (en) Evaluation device for supply chain management
JPH07192007A (en) Document processing unit
JPS63106047A (en) Dynamic subroutine call system
KR20200089453A (en) Database management system
JPH0773143A (en) Input/output priority control system
JP2001184200A (en) Method and device for generating application framework and computer readable recording medium storing application framework generation program
JPH06337738A (en) Automatic power source control system for computer system