JP2008123022A - Presentation/restriction method for input value and input operation in interactive processing and its device - Google Patents

Presentation/restriction method for input value and input operation in interactive processing and its device Download PDF

Info

Publication number
JP2008123022A
JP2008123022A JP2006302754A JP2006302754A JP2008123022A JP 2008123022 A JP2008123022 A JP 2008123022A JP 2006302754 A JP2006302754 A JP 2006302754A JP 2006302754 A JP2006302754 A JP 2006302754A JP 2008123022 A JP2008123022 A JP 2008123022A
Authority
JP
Japan
Prior art keywords
input
value
values
constraint
operations
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2006302754A
Other languages
Japanese (ja)
Other versions
JP4911594B2 (en
Inventor
Takeshi Masuda
健 増田
Hajime Nakajima
中島  一
Haruo Oishi
晴夫 大石
Haruhisa Nozue
晴久 野末
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2006302754A priority Critical patent/JP4911594B2/en
Publication of JP2008123022A publication Critical patent/JP2008123022A/en
Application granted granted Critical
Publication of JP4911594B2 publication Critical patent/JP4911594B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • User Interface Of Digital Computer (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To present/restrict a value to be input/changed and a sequence of input/change operations so that predefined consistency can be satisfied between the values of each data item in inputting/changing the values of a plurality of types of data items in an interactive manner. <P>SOLUTION: When an operator inputs/changes the values of data items in an arbitrary input field displayed on a screen of a display device 3 by operating a mouse 5 or the like, the types and values of the input/changed data items are transmitted through an operation terminal and a LAN 6 to a relation manager 11 on an electronic computer 1, and converted into a content in a constraint satisfaction problem and a planning problem based on a relation table 14, and the solutions of the constraint satisfaction problem and the planning problem updated by a data manger 12 and a plan manager 13 are calculated by using a general-purpose solver 15 and a general-purpose planner, and the inputable/changeable values and inputable/changeable operations are determined from them. <P>COPYRIGHT: (C)2008,JPO&INPIT

Description

本発明は、オペレータが計算機端末を介した対話(形式)処理によって複数種類のデータ項目の値を入力・変更するシステムにおいて、複数のデータ項目の値同士が既定の整合性を維持すること等を目的として、入力・変更される値及び入力・変更する操作の実行順序を該対話処理の中で適切に提示・制限する技術に関する。   The present invention relates to a system in which an operator inputs / changes values of a plurality of types of data items through interactive (formal) processing via a computer terminal, so that the values of the plurality of data items maintain predetermined consistency. As an object, the present invention relates to a technique for appropriately presenting and limiting values to be input / changed and the execution order of operations to be input / changed in the interactive processing.

業務システムのIT化に伴い、オペレータの業務習熟度に対する要件は急速に厳しくなりつつある。ここでの要件とは、オペレータの対応能力(対象業務の複雑化・多様化への適応性、作業自体の迅速性・正確性、臨機応変なフロー変更の許容性、他の部署との連携の綿密性など)を指す。その一方で、社会的要因により、オペレータの習熟度向上に際しての外部状況(規模の増大による良質な人材確保の困難化、研修期間・雇用期間の短期化など)は一層厳しくなりつつある。このような状勢下において、業務システムの対話処理上でオペレータの負荷を軽減し、能力を支援する機能は特に重要である。このような観点から、代表的な背景技術として4件(ミドルウェア分野から2件、問題解決器分野から2件)を挙げる。   As business systems become IT-oriented, the requirements for operator's business proficiency are becoming stricter rapidly. The requirements here are the operator's ability to respond (adaptability to the complexity and diversification of the target work, the speed and accuracy of the work itself, the admissibility of ad hoc flow changes, and coordination with other departments. Intimateness). On the other hand, due to social factors, external situations (such as difficulty in securing high-quality human resources due to increase in scale, shortening of training period and employment period) are becoming more severe due to the improvement of operator proficiency. Under such circumstances, the function of reducing the burden on the operator and supporting the ability in the interactive processing of the business system is particularly important. From this point of view, there are 4 representative background technologies (2 from the middleware field and 2 from the problem solver field).

(ミドルウェア・ワークフローエンジン)
従来より、ワークフローエンジンやそれを適用して開発されたワークフロー管理システム(WFMS)において、条件分岐や合流などを含むワークフロー記述として予め指定した通りに対話処理を実行する機能が実現されている。一般に、データ項目の値同士が既定の整合性を維持するような入力操作を複数段階に亘って行う際、無駄なやり直しを少なくするという観点でヒューリスティック(経験則的)に最適とされる入力順序が存在する。上記対話機能によって、このような最適な順序に従った進め方となるように、システムがオペレータに対して次の操作を提示・制限する処理(公知例1)が実現されている(非特許文献1参照)。
(Middleware / workflow engine)
Conventionally, in a workflow engine and a workflow management system (WFMS) developed by applying the workflow engine, a function of executing an interactive process as specified in advance as a workflow description including conditional branching and merging has been realized. In general, when performing an input operation that maintains the default consistency between data item values in multiple stages, the input order is optimally heuristic in terms of reducing unnecessary redo. Exists. The interactive function realizes a process (known example 1) in which the system presents and restricts the next operation to the operator so as to proceed according to such an optimal order (Non-Patent Document 1). reference).

(ミドルウェア・ビジネスルールエンジン)
また、従来より、ビジネスルールエンジンやそれを適用して開発されたビジネスルール管理システム(BRMS)において、複数のデータ項目の値に対するIF−THENルールを実行する機能が実現されている。この機能によって、値の整合性をチェックする、あるいは整合性を維持するための値の伝播を行う、あるいは所定の操作の実行を禁止する、あるいは当該の対話処理場面で推奨される操作を提示する、等の処理が一般に実現されている(非特許文献2参照)。
(Middleware business rule engine)
Conventionally, in a business rule engine and a business rule management system (BRMS) developed by applying the same, a function for executing IF-THEN rules for a plurality of data item values has been realized. This function checks the consistency of values, propagates values to maintain consistency, prohibits execution of predetermined operations, or presents recommended operations in the relevant interactive processing scene. Are generally realized (see Non-Patent Document 2).

(問題解決器・制約ソルバ)
また、従来より、複数のデータ項目の値同士が満たすべき整合性を、制約条件として予め定義しておき、データ項目が取り得る値の侯補を指定することで、それら候補の中から整合性を満たす値の組み合わせを列挙するコンピュータプログラムとして「制約ソルバ(または制約充足ソルバ)」と呼ばれるものが、一般に実現されている。
(Problem solver, constraint solver)
Conventionally, the consistency that the values of a plurality of data items should satisfy is defined in advance as a constraint condition, and by specifying the compensation of the values that the data item can take, consistency can be selected from these candidates. As a computer program for enumerating combinations of values satisfying the above, what is called a “constraint solver (or constraint satisfaction solver)” is generally realized.

制約ソルバは、前掲の対話処理への適用はまだ一般的ではないが、処理対象領域が整合性に関して複雑な構造を有する場合については既に広く用いられている。なお、制約ソルバとしては、フリーで利用可能なものや商用で利用可能なものなど複数存在し、例えば、Cream、iZ−C(非特許文献3参照)、ILOG Solver、Chocoなどがある。   Although the constraint solver is not yet generally applied to the dialog processing described above, the constraint solver has already been widely used when the processing target area has a complicated structure with respect to consistency. There are a plurality of constraint solvers, such as those that can be used for free and those that can be used for commercial purposes, such as Cream, iZ-C (see Non-Patent Document 3), ILOG Solver, and Choco.

(問題解決器・プランナー)
また、従来より、ある操作を実行するに際しての事前条件と事後条件を、操作の種類毎に予め定義しておき、それら操作の対象領域について初期状態と目標状態を指定することで、初期状態から目標状態に至る操作の順序を求めるコンピュータプログラムとして「プランナー」と呼ばれるものが、一般に実現されている(非特許文献4参照)。
(Problem solver / planner)
Conventionally, pre-conditions and post-conditions for executing an operation are defined in advance for each type of operation, and by specifying an initial state and a target state for the target area of the operation, A computer program called “planner” is generally realized as a computer program for obtaining the order of operations to reach a target state (see Non-Patent Document 4).

プランナーは、実用的なシステムへの適用技術として、まだ一般的ではないが、専門性の高い問題領域の計画立案システムや、複数のサービスの連携処理の技術分野における動作原理の検証やプロトタイプシステムの開発等の手段として、既に使われ始めている。
K.Tayama, T.Maruyama, H.Uno, and T.Inoue, "An Operation Support System Architecture for Network Provisioning of Optical Access Networks", IEEE NOMS2002, Florence Italy, S24.1, April 2002, pp.829-842 ”ILOG JRules 6”、[online]、アイログ株式会社、[平成18年10月26日検索]、インターネット<URL:http://www.ilog.co.jp./products/jrules/whatsnew/index.cfm> ”iZ:Constraint Programing 制約プログラミング入門”、[online]、株式会社NTTデータセキスイシステムズ、[平成18年5月29日検索]、インターネット<URL:http://www.isac.co.jp/iz/tutorial.html> A.Gerevini and D.Long, "Plan Constraints and Preference in PDDL3", Technical Report, Department of Electronics for Automation, University of Brescia, Italy, Augsut 2005 <URL:http://cs-www.cs.yale.edu/homes/dvm/papers/pddl-ipc5.pdf> 増田 健、他「柔軟なシステムを実現するプロセス制御技術」NTT技術ジャーナル、第18巻、第9号、2006年9月、pp.50−54 H.Oishi, T.Nakatani, K.Tayama, S.Ogasawara, T.Yamamura, "OSS Architecture for Flexible and Efficient Process Control", IEEE NOMS2006, April 2006, pp.1-13
Planners are not yet commonly applied to practical systems, but they are highly specialized problem area planning systems, verification of operation principles in the technical field of coordinated processing of multiple services, and prototype systems. It has already begun to be used as a means of development.
K. Tayama, T. Maruyama, H. Uno, and T. Inoue, "An Operation Support System Architecture for Network Provisioning of Optical Access Networks", IEEE NOMS2002, Florence Italy, S24.1, April 2002, pp.829-842 "ILOG JRules 6", [online], ILOG Corporation, [October 26, 2006 search], Internet <URL: http://www.ilog.co.jp./products/jrules/whatsnew/index. cfm> "Introduction to Constraint Programming", [online], NTT DATA Sekisui Systems, Inc. [Search May 29, 2006], Internet <URL: http://www.isac.co.jp/iz/ tutorial.html> A.Gerevini and D.Long, "Plan Constraints and Preference in PDDL3", Technical Report, Department of Electronics for Automation, University of Brescia, Italy, Augsut 2005 <URL: http://cs-www.cs.yale.edu /homes/dvm/papers/pddl-ipc5.pdf> Takeshi Masuda, et al. “Process Control Technology for Realizing Flexible Systems” NTT Technical Journal, Vol. 18, No. 9, September 2006, pp. 50-54 H.Oishi, T.Nakatani, K.Tayama, S.Ogasawara, T.Yamamura, "OSS Architecture for Flexible and Efficient Process Control", IEEE NOMS2006, April 2006, pp.1-13

(ミドルウェア・ワークフローエンジンの問題)
一般に、オペレータとの複数段階に及ぶ対話処理を経て、トランザクション単位で処理を遂行する業務システムが多く存在する。対話処理の流れが単純な場合、即ちシステム開発時に処理の流れの分岐を全て列挙することが容易で、フロー記述として定義できる場合は、ワークフローエンジンが有効である。
(Middleware / workflow engine problem)
In general, there are many business systems that perform processing in units of transactions through a plurality of stages of interactive processing with an operator. If the flow of interactive processing is simple, that is, if it is easy to enumerate all branches of the flow of processing during system development and can be defined as a flow description, the workflow engine is effective.

しかしながら、対話処理の流れが複雑な場合には、処理の流れの分岐数が指数関数的に多くなるために全て列挙することが困難で、フロー記述として定義することが現実的でなくなってしまうという問題がある。近年、業務システムの多様化に従い、このような場合が増えており、特に、データ項目の値同士が既定の整合性を維持するような入力操作を複数段階に亘って行うような業務、例えば、設備選定、旅行予約、人員配置計画、スケジューリング、などのリソース割り当て問題(=制約充足問題)を扱う業務では、この傾向が顕著である。   However, when the flow of interactive processing is complex, the number of branches in the flow of processing increases exponentially, making it difficult to enumerate all of them, making it impossible to define it as a flow description. There's a problem. In recent years, such cases have increased in accordance with the diversification of business systems, and in particular, a business in which an input operation is performed in a plurality of stages so that values of data items maintain a predetermined consistency, for example, This tendency is conspicuous in business dealing with resource allocation problems (= constraint satisfaction problem) such as facility selection, travel reservation, staffing plan, scheduling, and the like.

また、リソース割り当て問題に限らず、処理順序の自由度が本来的に高い業務システムでは、外部的要因により処理の実行順序に部分的に制限がつく場合がある。例えば、変数V1が予め定められた値以上になるならば、処理A1を実行しなければならないという制限がつく場合、あるいはまた、処理A2を実行するためには、別の処理A3を先行して実行していなければならない場合、等である。このような場合に、本来の処理順序の自由度を失うことなく、これら部分的制限を満足するような順序を、ワークフロー記述として予めシステムに与えることは、同じようにパターン数が指数関数的に多くなるために現実的ではないという問題がある。   In addition, not only in resource allocation problems, but in business systems that inherently have a high degree of freedom in processing order, there may be some restrictions on the processing execution order due to external factors. For example, if the variable V1 is equal to or greater than a predetermined value, there is a restriction that the process A1 must be executed. Alternatively, in order to execute the process A2, another process A3 is preceded. If it must be running, etc. In such a case, giving the system as a workflow description in advance an order that satisfies these partial restrictions without losing the degree of freedom of the original processing order. There is a problem that it is not realistic to increase.

一方、一般に、リソース割り当てに際し、無駄なやり直しを少なくするという観点でヒューリスティック(経験則的)に最適とされる入力順序が存在する。実際的観点から、トランザクションのうちの多くの割合がこれらの順序で実行されるようにワークフローを作成し、例外的なフローのトランザクションをシステムで扱わない形で開発する方針が考えられるが、意図したような効率化を達成できない場合がある。なぜならば、これらヒューリスティックは処理対象となるリソースの種類と量の配分、並びに制約の内容に大きく依存するため、想定した条件から外れると有効に働かないからである。そのため、処理対象が多様で長期間・複数回に亘って業務が行われる場合には、例外的なフローの発生は避けられないという問題がある。特に、部門問のシステム連携が広く行われる等により、フローのステップ数やリードタイムが長く、やり直しコストが高いなどの状況が広まると、この問題によって起こる非効率性が、全体の業務の効率を平均的に落としてしまうため、システム運用上の大きな障害となる。   On the other hand, in general, there is an input order that is optimally heuristic (empirical) from the viewpoint of reducing unnecessary redoing when allocating resources. From a practical point of view, it is possible to create a workflow so that a large percentage of transactions are executed in this order, and develop a system that does not handle exceptional flow transactions in the system. Such efficiency may not be achieved. This is because these heuristics largely depend on the type and amount of resources to be processed and the contents of the constraints, and therefore do not work effectively if they deviate from the assumed conditions. Therefore, there is a problem that an exceptional flow is unavoidable when a variety of processing targets are used and work is performed over a long period of time or multiple times. In particular, when the situation of the number of steps in the flow and lead time is long and the redo cost is high due to wide-ranging system linkage of departmental issues, the inefficiency caused by this problem will increase the efficiency of the overall business. Since it drops on average, it becomes a big obstacle in system operation.

(ミドルウェア・ビジネスルールエンジンの問題)
上記問題を解決する手段として、ビジネスルールエンジンを使用することが考えられる。ビジネスルールエンジンはワークフロー記述と異なり、複雑な条件判断に基づいた変数値の変更や処理の起動が可能となる。
(Middleware business rule engine problem)
It is conceivable to use a business rule engine as a means for solving the above problem. Unlike the workflow description, the business rule engine can change variable values and start processing based on complex condition judgments.

しかしながら、ビジネスルールエンジンにおけるIF−THENルールの処理内容が、意図した通りの整合性維持を行うかどうか確認・修正する作業は、一般に複雑で膨大になる。特に、システムが大規模になるとルールの間違いが生じ易い。その要因は、データ項目の値が他のルールによって、対話処理中の任意の時点で別の値に上書きされる可能性があること、並びにルールの優先順位によって、上書きの発生する順序が異なってくるために、最終的な結果も異なってくる等、IF−THENルールの処理動作の特徴に由来している。即ち、当該処理動作を整合性保証のしくみとしてみた場合、ルール記述上に表現された通りに、最終的なデータの整合性が担保されないために、動作の確認・修正の作業が複雑になる。また、ルールの実行順序の全ての順列組み合わせについて実際に動作をシミュレートする必要があり、考慮すべき場合の数が指数関数的に増大するために、動作の確認・修正の作業が膨大になる。以上の理由により、ルールの作成とデバッグが難しいという問題がある。   However, the process of confirming / correcting whether or not the processing content of the IF-THEN rule in the business rule engine maintains consistency as intended is generally complicated and enormous. In particular, rule errors are likely to occur when the system is large-scale. The reason for this is that the value of the data item may be overwritten by another rule at another point during the interaction process, and the order of overwriting differs depending on the priority of the rule. Therefore, the final result is different, for example, because of the feature of the processing operation of the IF-THEN rule. That is, when the processing operation is considered as a mechanism for guaranteeing consistency, as shown in the rule description, the final data consistency is not ensured, and the operation confirmation / correction work becomes complicated. In addition, since it is necessary to actually simulate the operation for all permutation combinations of the rule execution order, and the number of cases to be considered increases exponentially, the work for checking and correcting the operation becomes enormous. . For these reasons, there is a problem that it is difficult to create and debug rules.

(問題解決器・制約ソルバの問題)
上記問題を解決する手段として、制約ソルバを使用することが考えられる。制約ソルバはIF−THENルールと異なり、制約条件として与えた整合性が、途中の処理経過に関係なく、最終的に得られる解において満たされることが保証される。但し、制約ソルバの基本的な動作は、制約条件と変数を一括して与えるとそれを満足する解を列挙する形の関数型動作であるために、対話処理にそのまま適用することはできない。そこで、例えば、対話処理においてオペレータから入力された値を、同値制約や非同値制約や不等号制約等の形で順次追加し、入力段階毎に制約ソルバに制約充足問題を解かせる方法(公知例2)が考えられる(非特許文献5,6参照)。得られた解は、次の入力画面においてオペレータに対する他のデータ項目の値の選択候補の提示あるいは値の範囲チェックによる制限等に使用することができる。
(Problem solver / constraint solver problem)
It is conceivable to use a constraint solver as a means for solving the above problem. Unlike the IF-THEN rule, the constraint solver guarantees that the consistency given as a constraint condition is satisfied in the finally obtained solution regardless of the progress of the process in the middle. However, the basic operation of the constraint solver is a functional operation that enumerates solutions that satisfy the constraint conditions and variables when given in a lump, and thus cannot be directly applied to the interactive processing. Therefore, for example, a method in which values input from an operator in dialog processing are sequentially added in the form of equivalence constraints, non-equivalence constraints, inequality constraints, etc., and the constraint satisfaction problem is solved by the constraint solver at each input stage (known example 2) (See Non-Patent Documents 5 and 6). The obtained solution can be used in the next input screen for presenting selection candidates for values of other data items to the operator or for limiting by checking the value range.

しかしながら、この方法は操作の実行順序に関する提示・制限については何も機能していない。即ち、制約条件を追加する順序は、最終的な解の内容に影響しないため、値を入力・修正する操作の実行順序は完全に自由である。そしてまた同時に、何の推奨情報も提示しない。一見するとこれは、当該システム上での業務に習熟したオペレータにとって良いことであるが、無駄なやり直しを少なくするという観点では、システム側では何もせず、単にオペレータに全ての処理を委譲しているにすぎない。つまり、業務に習熟していないオペレータにとって操作が事実上不可能になるのはもちろんのこと、状況が複雑になると、習熟オペレータにとっても業務の遂行が困難になる場合があることを意味する。公知例2では、このような課題に対して、前述した公知例1にある、非習熟オペレータ向けワークフローを提示する機能(推奨フロー提示機能)を付加することで、一応の解決を図っている。しかし、前記ワークフローから外れる状況(例外フロー)になった場合には効果がない。即ち、公知例2は値の内容について適切に提示・制限する技術を実現してはいるが、操作の実行順序に関する技術の面では、公知例1と同等の効果しかない(公知例2では、実行時に動的に2つのモードを切り替えられるが、問題の本質は依然として解決されない)。   However, this method has nothing to do with presentation / restriction regarding the execution order of operations. That is, the order in which the constraint conditions are added does not affect the content of the final solution, and therefore the execution order of operations for inputting and correcting values is completely free. At the same time, no recommended information is presented. At first glance, this is good for an operator who is familiar with work on the system, but from the viewpoint of reducing unnecessary redo, the system does nothing and simply delegates all processing to the operator. Only. In other words, it means that the operation is practically impossible for an operator who is not proficient in the business, and if the situation becomes complicated, it may be difficult for the skilled operator to perform the business. In the known example 2, such a problem is temporarily solved by adding a function (recommended flow presenting function) for presenting the workflow for the unskilled operator in the known example 1 described above. However, there is no effect when a situation deviates from the workflow (exception flow). That is, although the known example 2 realizes a technique for appropriately presenting and limiting the contents of values, the technique relating to the execution order of operations has the same effect as the known example 1 (in the known example 2, The two modes can be switched dynamically at runtime, but the essence of the problem remains unsolved).

以上のように、制約ソルバの処理動作を対話処理の中で利用する場合、操作の実行順序に関する制御を全く行わないため、非習熟オペレータに対して、もしくは複雑な状況下においては、業務遂行が著しく困難になるという問題がある。あるいはまた、推奨フロー提示機能を適用した場合でも、従来通りの固定的順序による制御しか行わないため、従来のワークフロー管理システムと同様、例外フローに対応不可能になるという問題がある。   As described above, when the processing operation of the constraint solver is used in dialogue processing, control over the execution order of operations is not performed at all. There is a problem that it becomes extremely difficult. Alternatively, even when the recommended flow presentation function is applied, only the control based on the conventional fixed order is performed, so that there is a problem that the exception flow cannot be handled as in the conventional workflow management system.

以上は、制約ソルバを対話処理に適用する場合の処理方式上の問題であったが、公知例2においては、他にも処理効率上の問題がある。   The above is a problem in the processing method when the constraint solver is applied to the interactive processing. However, in the known example 2, there is another problem in processing efficiency.

前記処理方式では、入力段階毎に制約ソルバに制約充足問題を解かせる必要があるが、これには大きな計算コストがかかる。ここで、注意すべきなのは、ただ単に入力済みの変数の値を確定し(値についての制約を追加するか、もしくは値ドメインを入力値に変更する)、未入力の変数への制約伝播を発生させて値ドメインを絞り込むだけでは、データ項目の値の選択候補を得られたことにはならない点である。これによって得られる値ドメインは、ある制約に着目した場合の局所的整合性を保証しているだけで、全ての値を確定した時の大域的整合性までは保証しない。つまり、ある場面における入力値として、「その値を採用した後の最終的な解が少なくとも1つ存在するもの」を全て列挙したり、「その値を採用した解が1つも存在せず、途中で選択肢なしとなることが論理的に明らかなもの」を全て列挙したり、といったことは直接的にはできない。そのため、入力済みの変数がまだ少ない状態、即ち解が十分絞り込まれない状態であっても、最終的に全ての変数が入力済みとなった場合の全ての解(膨大な数に上る)を列挙しなければならない。このように、値ドメインの範囲が大きい場合や、制約による矛盾が発生し難い場合は、値の提示・制限を行う際、非常に大きい計算コストがかかるという問題がある。   In the above processing method, it is necessary for the constraint solver to solve the constraint satisfaction problem at each input stage, but this requires a large calculation cost. Here, it should be noted that the value of the input variable is simply confirmed (addition of a constraint on the value or change of the value domain to the input value), and the constraint propagation to the uninput variable is generated. If only the value domain is narrowed down, data item value selection candidates are not obtained. The value domain thus obtained only guarantees local consistency when focusing on a certain constraint, and does not guarantee global consistency when all values are determined. In other words, as input values in a certain scene, “all those that have at least one final solution after adopting that value” are enumerated, or “no solution that adopts that value exists, It is not possible to enumerate all the things that are logically clear that there will be no options. Therefore, even if the number of input variables is still small, that is, the solution is not sufficiently narrowed down, all the solutions (up to a huge number) when all the variables are finally input are listed. Must. As described above, when the range of the value domain is large, or when it is difficult for contradiction due to restrictions to occur, there is a problem that a very large calculation cost is required when presenting and limiting values.

(問題解決器・プランナーの問題)
上記、制約ソルバの処理方式上の問題を解決する手段として、プランナーを使用することが考えられる。プランナーは、目標状態に至る実行順序を、任意の時点での状態と各種操作毎の事前条件/事後条件の情報をもとに計算し、いずれか1つを提示する機能を有する。即ち、プランナーの出力を利用することにより、対話処理上で適切な実行順序を提示することができる。
(Problems with problem solvers and planners)
It is conceivable to use a planner as a means for solving the problem in the processing method of the constraint solver. The planner has a function of calculating the execution order to reach the target state based on the state at an arbitrary time point and information on the precondition / postcondition for each operation, and presenting any one of them. In other words, by using the planner output, it is possible to present an appropriate execution order in the interactive processing.

しかしながら一方で、オペレータが次に実行する操作を対話処理上で提示・制限することは、プランナーの機能をもってしても直接的にはできない。つまり、ある場面における次の操作として、目標状態に至る実行順序が少なくとも1つ存在するものを全て列挙したり、そのような実行手順が1つも存在せず途中で手詰まりとなることが論理的に明らかなものを全て列挙したりすることは直接的にはできないという問題がある。これは、現在提案されているプランナーのいずれにおいても、ある場面から目標状態に至る実行順序をいずれか1つ挙げるか、もしくは目標状態に至る実行順序が1つも存在しないと回答する機能を基本としており、全ての実行順序を調べようとすると、実行時間が指数関数的なオーダーとなることから実質的に処理が不可能になることに起因する。   However, on the other hand, it is not possible to directly present or restrict the next operation performed by the operator on the interactive processing even with the planner function. That is, as a next operation in a certain scene, it is logical to enumerate all those that have at least one execution order to reach the target state, or it is logical that there is no such execution procedure and it becomes clogged in the middle There is a problem that it is not possible to enumerate all obvious things. This is based on the function that, in any of the currently proposed planners, any one of the execution orders from a scene to the target state is given, or that there is no execution order to reach the target state. In order to check all the execution orders, the execution time is in the exponential order, so that the processing is substantially impossible.

この問題が解決できなければ、最終的に目標状態に到達できるかどうかという大域的観点において、次に実行すべきではない操作を判別し、オペレータが対話処理上でそれと気づかずに実行することのないよう制限をかけることができない。特に大規模なシステムにおいて、操作の多様性や状態の複雑性が増大すると、大域的な状況の把握が困難になる。即ち、プランナーを用いたとしても、オペレータの負荷を軽減し、能力を支援する機能を提供するという観点での効果が、相対的に小さくなってしまう。   If this problem cannot be resolved, it is necessary to determine the next operation that should not be executed from the global viewpoint of whether or not the target state can be finally reached, and to execute the operation without noticing it in the interactive process. You can't limit it. In particular, in a large-scale system, when the variety of operations and the complexity of states increase, it becomes difficult to grasp the global situation. That is, even if the planner is used, the effect in terms of providing a function for reducing the load on the operator and supporting the ability becomes relatively small.

さらにまた他方で、プランナーと制約ソルバ(2つは問題解決器と総称される)は、扱う問題をどのように内部表現するか、あるいはどのようなイベントによってどのように処理を進めるか、という観点で本来的に異なる動作方式である。これら2つの問題解決器を、特定の問題領域についてハードコーディングされたプログラムから呼び出し利用するシステムは容易に実現できるが、汎用的な方法で連携させることができないという問題がある。特に、データ内部表現、並びにイベント処理の両面について連携動作を実現することが重要である。   On the other hand, planners and constraint solvers (two are collectively called problem solvers) have the perspective of how to internally represent the problem they are dealing with and how to proceed with what event This is an inherently different operation method. Although a system that calls and uses these two problem solvers from a hard-coded program for a specific problem area can be easily realized, there is a problem that they cannot be linked in a general-purpose manner. In particular, it is important to realize a cooperative operation for both data internal representation and event processing.

例えば内部表現について言えば、プランナーにおける内部表現は、プランニング対象となる外部世界における行動を「アクション」というデータで表し、外部世界の「状態」や「アクションの事前条件/事後条件」を述語論理上の式の集合で表す。実際にオペレータから入力された値はデータ項目(の種類)とその値に関する述語として内部表現される。一方、制約ソルバにおける内部表現は、制約変数、値ドメイン、制約条件によって表し、ある操作画面でオペレータが入力することのできる値の候補(実際には、前述の通り大域的な整合性を満足できない値も含まれる)は、制約変数がとる値ドメインとして表す。実際にオペレータから入力された値は、制約変数を当該値に束縛する制約条件として内部表現される。このように、同じ値に対して、計算機内部でのデータ表現方法に差異があるために、2つの間の相互変換を行う必要がある。   For example, in terms of internal expression, the internal expression in the planner represents the action in the external world to be planned by data called “action”, and the “state” of the external world and “pre-condition / post-condition of action” are predicated on the predicate logic. This is expressed as a set of expressions. The value actually input from the operator is internally expressed as a predicate related to the data item (type) and its value. On the other hand, the internal representation in the constraint solver is expressed by constraint variables, value domains, and constraint conditions, and can be entered as a value candidate that can be input by an operator on a certain operation screen (in reality, the global consistency cannot be satisfied as described above. Is also included as a value domain taken by the constraint variable. The value actually input from the operator is internally expressed as a constraint condition that binds the constraint variable to the value. Thus, since there is a difference in the data representation method inside the computer for the same value, it is necessary to perform mutual conversion between the two.

そのほか、例えばイベントについて言えば、プランナーでは、オペレータによるデータの入力(より具体的には入力画面の「OK(確定)」ボタン押下に相当)がアクションの実行に相当し、データの値の変化が「状態(述語集合)」の変化に相当する。これによって、次に実行可能なアクションを再計算する必要が生じる。一方、制約ソルバでは、オペレータによるデータの入力が制約条件の追加に相当し、データの値の変化が値ドメインの変化に相当する。これによって、他の変数の値ドメインの変化を再計算する必要が生じる。このように同じイベントに対して、計算機内部での動作内容に差異があるために、2つの間の相互伝達を行う必要がある。   In addition, for example, in the event of an event, in the planner, data input by an operator (more specifically, equivalent to pressing an “OK (confirmation)” button on the input screen) corresponds to execution of an action, and a change in data value occurs. This corresponds to a change in “state (predicate set)”. This necessitates recalculation of the next action that can be performed. On the other hand, in the constraint solver, data input by an operator corresponds to addition of a constraint condition, and a change in data value corresponds to a change in value domain. This makes it necessary to recalculate changes in the value domain of other variables. As described above, since there is a difference in the operation contents in the computer for the same event, it is necessary to perform mutual communication between the two.

(本発明の課題)
以上説明したように、「入力・変更される値の内容」と「入力・変更する操作の実行順序」のどちらか一方を提示・制限する技術は、従来の技術(即ち、前者は制約ソルバ、後者は汎用プランナー)を応用することによって実現可能であるが、2つの問題解決器を同時に利用して、両方の要件を満足する技術はまだ存在しない。
(Problem of the present invention)
As described above, the technique for presenting and restricting either “contents of values to be input / changed” or “execution order of operations to be input / changed” is a conventional technique (that is, the former is a constraint solver, The latter can be realized by applying a general-purpose planner), but there is no technology that satisfies both requirements by using two problem solvers simultaneously.

前記の課題を解決するために、制約ソルバとプランナーを連携動作させる手段を提供する。   In order to solve the above-described problems, a means for operating the constraint solver and the planner in cooperation is provided.

(基本構成)
図1は本発明の対話形式処理を実行する装置の概要を示す。図中、1は電子計算機(コンピュータ,サーバ)、2は操作端末、3はディスプレイ(表示装置)、4はキーボード、5はポインティングデバイス(マウス)であり、これらはハードウェアを構成する。なお、電子計算機1と操作端末2との間はLAN6等の通信回線によって接続されている。また、電子計算機1と操作端末2は同一のコンピュータでも良い。また、キーボード4及びマウス5は合わせて入力装置を構成する。
(Basic configuration)
FIG. 1 shows an outline of an apparatus for executing the interactive processing of the present invention. In the figure, 1 is an electronic computer (computer, server), 2 is an operation terminal, 3 is a display (display device), 4 is a keyboard, 5 is a pointing device (mouse), and these constitute hardware. The computer 1 and the operation terminal 2 are connected by a communication line such as a LAN 6. The computer 1 and the operation terminal 2 may be the same computer. The keyboard 4 and the mouse 5 together constitute an input device.

また、ソフトウェア構成は以下の通りである。即ち、10は本発明の対話形式処理実行プログラムであり、リレーションマネージャ11、データマネージャ12、プランマネージャ13から構成され、相互にメソッドの呼び出しを行う。また、リレーションマネージャ11は内部に後述する関係表14を有し、データマネージャ12は公知の汎用制約ソルバ(プログラム)15を有し、プランマネージャ13は公知の汎用プランナー(プログラム)16を有する。なお、対話形式処理実行プログラム10は、所定のアプリケーションプログラム内に組み込まれる形で実現しても良く、また、所定のアプリケーションプログラムとは別個の単体の形で実現しても良い。   The software configuration is as follows. That is, reference numeral 10 denotes an interactive processing execution program according to the present invention, which is composed of a relation manager 11, a data manager 12, and a plan manager 13, and calls a method mutually. The relation manager 11 has a relation table 14 described later, the data manager 12 has a known general-purpose constraint solver (program) 15, and the plan manager 13 has a known general-purpose planner (program) 16. The interactive processing execution program 10 may be realized in a form incorporated in a predetermined application program, or may be realized in a single form separate from the predetermined application program.

図2は本発明を実行する装置のソフトウェア構成の詳細を示すもので、図中、11はリレーションマネージャ、17はデータベースマネージャ、20はアプリケーション(プログラム)である。また、121はデータコントローラ、122はベリファイアであり、これらは前述したデータマネージャ12を構成する。また、131はプランコントローラ、132はプランナーであり、これらは前述したプランマネージャ13を構成する。なお、これらの各ソフトウェアの詳細については後述する。   FIG. 2 shows details of the software configuration of the apparatus for executing the present invention. In the figure, 11 is a relation manager, 17 is a database manager, and 20 is an application (program). Reference numeral 121 denotes a data controller, and 122 denotes a verifier, which constitute the data manager 12 described above. Reference numeral 131 denotes a plan controller, and 132 denotes a planner. These constitute the plan manager 13 described above. The details of each software will be described later.

前述した各ソフトウェア要素は、適切な通信路で相互に接続された複数のハードウェア上に分散して存在し、相互に通信し合いながら実行することもできる。例えば、アプリケーション20は、他のソフトウェアと同じ電子計算機1上で実行し、操作端末2へはWebサービスを介してWWWブラウザプログラムの形態でオペレータに画面と入出力手段を提供しても良いし、アプリケーション20だけ操作端末2上で実行し、電子計算機1上で実行される他のソフトウェアとの間でLAN6を介して連携動作しても良い。   Each of the software elements described above exists in a distributed manner on a plurality of hardware connected to each other via an appropriate communication path, and can be executed while communicating with each other. For example, the application 20 may be executed on the same computer 1 as other software, and the operation terminal 2 may be provided with a screen and input / output means to the operator in the form of a WWW browser program via a Web service. Only the application 20 may be executed on the operation terminal 2 and may cooperate with other software executed on the electronic computer 1 via the LAN 6.

(制約ソルバとプランナーを連携させる手段の概要)
[入力からデータコントローラ・プランコントローラへの値の内容の変換・実行イベントの伝達]
適切に「入力・変更される値」と「入力操作の実行順序」の提示・制限を行うため、データコントローラ121が保持する制約充足問題(とその解)及びプランコントローラ131が保持するプランニング問題を、オペレータの入力操作に応じて変更する。つまり、入力操作の実行によりオペレータが入力した値をもとに、制約充足問題の制約の追加・削除を行い、また、プランニング問題の状態を表す述語集合の追加・削除を行う。
(Outline of means to link constraint solver and planner)
[Conversion of value contents from input to data controller / plan controller / communication of execution event]
In order to appropriately present and limit “values to be input / changed” and “execution order of input operations”, the constraint satisfaction problem (and its solution) held by the data controller 121 and the planning problem held by the plan controller 131 And change according to the input operation of the operator. That is, based on the value input by the operator by executing the input operation, the constraints of the constraint satisfaction problem are added / deleted, and the predicate set representing the state of the planning problem is added / deleted.

例えば、オペレータがアプリケーション20のデータ投入画面で、投入欄Aに0という値を入力する操作を考える。この場合、これに対応する制約として、投入欄Aに対応する制約充足問題の変数がαなら、「α=0」という制約を制約充足問題に付加し、更新された制約充足問題を制約ソルバに解かせて、保持している解を更新する。また、対応する述語が、「(a inputed)」であるならば、それまでのプランニング問題の状態にこの述語「(a inputed)」を追加し、新しいプランニング問題に更新する。   For example, consider an operation in which the operator inputs a value of 0 in the input field A on the data input screen of the application 20. In this case, as a constraint corresponding to this, if the variable of the constraint satisfaction problem corresponding to the input field A is α, the constraint “α = 0” is added to the constraint satisfaction problem, and the updated constraint satisfaction problem is made into the constraint solver. Let them solve and update the solutions they hold. Also, if the corresponding predicate is “(a input)”, the predicate “(a input)” is added to the state of the previous planning problem and updated to a new planning problem.

[データコントローラからプランコントローラへの値の内容の変換・実行イベントの伝達]
さらに、制約充足問題の更新により保持している解が変化した場合、それによって連鎖的にプランニング問題の更新を行う。ここでの解とは、当該制約充足問題が複数の解を有する場合、解集合のことを意味する。解が変化した場合とは、制約変数が解として取り得る値の侯補が変化した場合に相当する。
[Conversion of value contents and transmission of execution event from data controller to plan controller]
Further, when the solution held by updating the constraint satisfaction problem changes, the planning problem is updated in a chained manner. The solution here means a solution set when the constraint satisfaction problem has a plurality of solutions. The case where the solution changes corresponds to the case where the compensation of values that the constraint variable can take as a solution changes.

例えば、制約充足問題として変数がxとy、ドメインがともに{0,1}、制約がx≠yを有するものを考える(このときの充足解は、(x=0,y=1)もしくは(x=1,y=0)である。)。ここで、アプリケーション20から値投入の操作が起こり、「x=0」という制約が付加されたとすると、充足解はx=0,y=1となる。もし、yの値が1つに定まって、その値が確定したということに対応する(y inputed)という述語としてプランニング問題で内部表現される場合は、これをプランニング問題の状態を表す述語集合に追加する。   For example, consider a constraint satisfaction problem in which variables are x and y, domains are both {0, 1}, and constraints are x ≠ y (a satisfaction solution at this time is (x = 0, y = 1) or ( x = 1, y = 0)). Here, if a value input operation occurs from the application 20 and a constraint of “x = 0” is added, the satisfactory solution is x = 0, y = 1. If the value of y is determined to be one and is expressed internally in the planning problem as a predicate (y input) corresponding to the fact that the value has been determined, this is expressed as a predicate set representing the state of the planning problem. to add.

(制約ソルバとプランナーを連携させる手段の具体的実現方法)
[連携のための値/イベントの対応関係表]
以上の問題更新機能は、データコントローラ121、プランコントローラ131及びリレーションマネージャ11が連携して行う。データコントローラ121は、制約充足問題とその解を保持し、さらに入力操作の内容とそれに対応する制約追加・削除の関係を保持する。同様に、プランコントローラ131は、プランニング問題を保持し、入力操作の内容と対応する述語との関係及びデータコントローラ121が保持する制約充足問題の解と対応する述語との関係を保持する。
(Specific implementation method of means to link constraint solver and planner)
[Value / event correspondence table for linkage]
The above problem updating function is performed in cooperation with the data controller 121, the plan controller 131, and the relation manager 11. The data controller 121 holds the constraint satisfaction problem and its solution, and further holds the relationship between the contents of the input operation and the corresponding constraint addition / deletion. Similarly, the plan controller 131 holds the planning problem, and holds the relationship between the contents of the input operation and the corresponding predicate, and the relationship between the solution of the constraint satisfaction problem held by the data controller 121 and the corresponding predicate.

注意されたいのは、データコントローラ121及びプランコントローラ131が保持する関係は、あらゆる操作に対して制約の追加・削除や述語の追加・削除が定義されている必要はない。また同様に、あらゆる制約充足問題の解に対して述語の追加・削除を定義する必要もない。   It should be noted that the relationship held by the data controller 121 and the plan controller 131 need not define the addition / deletion of constraints or the addition / deletion of predicates for every operation. Similarly, it is not necessary to define addition / deletion of predicates for the solution of any constraint satisfaction problem.

これらの関係を管理するため、リレーションマネージャ11は、データコントローラ121やプランコントローラ131が対象とする入力操作名(アクション名)を含む関係表14を保持する。問題の更新処理では、始めにリレーションマネージャ11がアプリケーション20から、入力操作が行われたことを表すイベント通知を受け取る。このイベント通知にはアクション名が含まれている。リレーションマネージャ11は、関係表14中の入力操作名と受けとったアクション名とを比較し、制約充足問題とプランニング問題のそれぞれについて更新すべきか否かを決定する。   In order to manage these relationships, the relationship manager 11 holds a relationship table 14 including input operation names (action names) targeted by the data controller 121 and the plan controller 131. In the problem update process, the relationship manager 11 first receives an event notification indicating that an input operation has been performed from the application 20. This event notification includes the action name. The relation manager 11 compares the input operation name in the relation table 14 with the received action name, and determines whether or not to update each of the constraint satisfaction problem and the planning problem.

図3に基本的な関係表を示す。関係表14は、イベントの内容を表すアクション名が格納されたカラムと、制約充足問題(制約ソルバ)への変更内容を表すカラムと、プランニング問題(プランナー)への変更内容を表すカラムとで構成される。   FIG. 3 shows a basic relationship table. The relation table 14 includes a column in which an action name representing the event content is stored, a column that represents a change content to the constraint satisfaction problem (constraint solver), and a column that represents a change content to the planning problem (planner). Is done.

関係表14から、イベントに応じた動作の伝達方法、問題解決器間の値の内部表現の変換方法を述べる。図4に入力操作の内容に対応する動作を示す。   From the relation table 14, a method for transmitting an operation according to an event and a method for converting an internal representation of a value between problem solvers will be described. FIG. 4 shows an operation corresponding to the content of the input operation.

まず、オペレータによって入力された入力欄のID(データ項目の種類を表す)と関係表の「入力操作の内容」カラムの値とが一致する行を検索する(201)。次に当該行の「制約充足問題への変更」カラムを参照し、制約変数IDに対応する変数の値を当該入力欄の値と同値であるとする制約条件を制約充足問題に追加する(202)。次に当該行の「プランニング問題への変更」カラムを参照し、そこに保持されている述語をプランニング問題の状態(述語集合)として追加する(203)。   First, a search is made for a row in which the ID of the input field (representing the type of data item) entered by the operator matches the value in the “contents of input operation” column of the relation table (201). Next, referring to the “change to constraint satisfaction problem” column of the row, a constraint condition that the value of the variable corresponding to the constraint variable ID is the same as the value of the input field is added to the constraint satisfaction problem (202 ). Next, referring to the “change to planning problem” column of the row, the predicate held therein is added as a planning problem state (predicate set) (203).

なお、この過程において、制約伝播により他の変数の値が確定した場合、それに対応するプランニング問題の状態追加が行われる。図5に制約伝播による二次的なプランニング問題変更の動作を示す。まず、制約伝播によって値が確定した変数を抽出する(204)。その後、当該行の「プランニング問題への変更」カラムを参照し、そこに保持されている述語をプランニング問題の状態(述語集合)として追加する(205)。   In this process, when the value of another variable is determined by constraint propagation, the state of the planning problem corresponding to the value is added. FIG. 5 shows a secondary planning problem change operation by constraint propagation. First, a variable whose value is determined by constraint propagation is extracted (204). Thereafter, referring to the “change to planning problem” column of the row, the predicate held therein is added as a state (predicate set) of the planning problem (205).

[伝達パターン(3通り存在する)に応じた動作の切り替えとそれぞれの流れ]
以上示した方法により、リレーションマネージャ11は、データコントローラ121とプランコントローラ131のそれぞれにおける値の内部表現とイベント毎の動作の関係を知ることができる。その結果、更新すべき問題の組み合わせによって処理手順が3つに分岐する。各々の処理の流れを図6から図8に示す。
[Operation switching according to the transmission pattern (there are three types) and each flow]
With the method described above, the relation manager 11 can know the relationship between the internal representation of values in each of the data controller 121 and the plan controller 131 and the operation for each event. As a result, the processing procedure branches into three depending on the combination of problems to be updated. The flow of each process is shown in FIGS.

(パターン1)
更新すべき問題が制約充足問題のみの場合(図6)、リレーションマネージャ11は、入力操作の内容をデータコントローラ121に送信する(図6−(2))。データコントローラ121は、保持している操作内容と制約との関係をもとに受け取った操作内容を変換し、制約の追加または削除を行い、制約充足問題を更新する(図6−(3))。最後に、データコントローラ121は、更新した制約充足問題を汎用制約ソルバ15へ送信し、その解を汎用制約ソルバ15から取得する(図6−(4)(5)(6))。
(Pattern 1)
When the problem to be updated is only the constraint satisfaction problem (FIG. 6), the relation manager 11 transmits the contents of the input operation to the data controller 121 (FIG. 6 (2)). The data controller 121 converts the received operation content based on the relationship between the operation content held and the constraint, adds or deletes the constraint, and updates the constraint satisfaction problem (FIG. 6 (3)). . Finally, the data controller 121 transmits the updated constraint satisfaction problem to the general constraint solver 15 and obtains the solution from the general constraint solver 15 (FIGS. 6- (4) (5) (6)).

(パターン2)
更新すべき問題がプランニング問題のみの場合(図7)、リレーションマネージャ11は、操作内容をプランコントローラ131に送信する(図7−(2))。プランコントローラ131は、保持している操作内容と事後条件との関係をもとに受け取った操作内容を変換し、事後条件を状態に反映させ、保持していたプランニング問題を更新する(図7−(3))。
(Pattern 2)
When the problem to be updated is only the planning problem (FIG. 7), the relation manager 11 transmits the operation content to the plan controller 131 (FIG. 7- (2)). The plan controller 131 converts the received operation content based on the relationship between the retained operation content and the postcondition, reflects the postcondition in the state, and updates the held planning problem (FIG. 7-). (3)).

(パターン3)
更新すべき問題が、制約充足問題・プランニング問題両方の場合(図8)、このとき、リレーションマネージャ11は、始めに操作内容をデータコントローラ121に送信する。受け取ったデータコントローラ121は上記1の処理を行う(図8−(2)(3)(4)(5)(6))。その後、リレーションマネージャ11は、更新された制約充足問題の解もしくは解の一部を取得し、プランコントローラ131に送信する(図8−(7)(8))。プランコントローラ131は、受け取った解もしくは解の一部を事後条件に変換し、それを状態に反映させ、保持していたプランニング問題を更新する(図8−(9))。
(Pattern 3)
When the problem to be updated is both the constraint satisfaction problem and the planning problem (FIG. 8), the relation manager 11 first transmits the operation content to the data controller 121. The received data controller 121 performs the process 1 described above (FIG. 8- (2) (3) (4) (5) (6)). Thereafter, the relation manager 11 acquires the solution or part of the updated constraint satisfaction problem and transmits it to the plan controller 131 (FIGS. 8- (7) (8)). The plan controller 131 converts the received solution or a part of the solution into a postcondition, reflects it in the state, and updates the held planning problem (FIG. 8- (9)).

以上の処理を行うことによって、入力・変更される値や操作の実行順序に関する、提示や制限が動的に行われ、オペレータを適切に支援することが可能になる。   By performing the above processing, the values to be input / changed and the execution order of operations are dynamically presented and restricted, and the operator can be supported appropriately.

前述した分岐処理を含む本発明による対話形式処理全体のフローチャートを図9に示す。   FIG. 9 shows a flowchart of the entire interactive processing according to the present invention including the branch processing described above.

(入力・制限する際の値の候補を提示・制限する手段の詳細な説明)
前述の「問題解決器・制約ソルバの問題」でも指摘したが、対話処理上の操作画面における入力値の候補を提示・制限することは、単純に制約ソルバの機能からは実現できない。そこで、データコントローラ131は、制約ソルバ15と連携をとることでこれを達成する。この機能は、対応する制約変数の値ドメインの中から、他の変数に対応する値ドメインの範囲、並びにそのステップまでに入力された他の変数の値に対して不整合が起きないような値を抽出することで実現する。データコントローラ131は、アプリケーション20の要求に応じて、この機能を実行し、入力データ項目毎にその操作画面において入力できる(推奨される)値をアプリケーション20に提示する。
(Detailed description of means for presenting and restricting value candidates when inputting and restricting)
As pointed out in “Problem Solver / Constraint Solver Problems” described above, it is impossible to simply present and restrict candidates of input values on the operation screen in interactive processing from the function of the constraint solver. Therefore, the data controller 131 achieves this by cooperating with the constraint solver 15. This function is a value that does not cause inconsistency between the value domain of the corresponding constraint variable, the range of the value domain corresponding to other variables, and the values of other variables input up to that step. This is realized by extracting. The data controller 131 executes this function in response to a request from the application 20, and presents (recommended) values that can be input on the operation screen for each input data item to the application 20.

図10、図11にこの機能を実現する具体的なフローチャートを示す。当該機能は処理上の性質が異なる2つの方法がある。   10 and 11 show specific flowcharts for realizing this function. This function has two methods with different processing characteristics.

図10はそのうちの一方の方法を示す。データコントローラ131は、まず、初期化処理として、操作画面を表示しようとしている時点において保持している制約充足問題(その時点までにオペレータが入力した値が値制約として追加されているもの)を基に全ての解を求める(301)。そして、始めに推奨値を求めたい制約変数を外部から受け取る(なお、この時、リストや配列などの引数として外部から求めたい制約変数を一度に受け取り、その中から1つを選び出すという方法でも本質的に違いはない。)(302)。次に、集合Aを空集合とし、解集合の各要素について以下の処理を繰り返す(303)。
1.前記解において前記変数がとる値を集合Aに重複を避けて加える(304,305)。
その後、集合Aの内容を推奨値集合として外部へ提示する(なお、この時、リストや配列などの返却用一時変数に対して、外部へ返したい制約変数を一旦蓄積しても本質的な違いはない。)(306)。操作画面で表示しようとする制約変数の全てについて、以上の処理を繰り返し実行する(307)。
FIG. 10 shows one of these methods. First, the data controller 131 performs initialization processing based on a constraint satisfaction problem (a value input by the operator up to that point is added as a value constraint) held at the time when the operation screen is to be displayed. All solutions are obtained in (301). First, receive the constraint variable for which you want to obtain a recommended value from the outside (Note that at this time, you can also receive the constraint variable you want to obtain from the outside as an argument such as a list or array at one time, and select one of them. (302). Next, set A is an empty set, and the following processing is repeated for each element of the solution set (303).
1. The value taken by the variable in the solution is added to the set A avoiding duplication (304, 305).
After that, the contents of set A are presented to the outside as a recommended value set. (In this case, even if the constraint variables that are to be returned to the outside are temporarily accumulated for the temporary variables for return such as lists and arrays, there is an essential difference. (No.) (306). The above processing is repeatedly executed for all constraint variables to be displayed on the operation screen (307).

この方法を手法Aと呼ぶ、手法Aは、全ての解を求めるため計算コストが大きいが、調べたい変数が多数ある場合でも、1回制約充足問題を解けば済むという特徴がある。   This method is called method A, and method A has a high calculation cost because all solutions are obtained. However, even when there are a large number of variables to be examined, there is a feature that the constraint satisfaction problem can be solved once.

図11は他の方法を示す。データコントローラ131は、始めに、操作画面において表示したい変数を外部から受け取る(401)。次に、集合Aを空集合とし、前記変数の値ドメインのそれぞれの値について以下の処理を繰り返す(402)。
1.前記値の値制約を追加し(あるいは新たな値ドメインとし)制約充足問題を解き、解が1つ以上有る場合、当該値を集合Aに加える(403,404)。
その後、集合Aの内容を推奨値集合として外部へ提示する(405)。操作画面で表示しようとする制約変数の全てについて、以上の処理を繰り返し実行する(406)。
FIG. 11 shows another method. First, the data controller 131 receives a variable to be displayed on the operation screen from the outside (401). Next, set A is an empty set, and the following processing is repeated for each value in the value domain of the variable (402).
1. A value constraint on the value is added (or a new value domain is used) to solve the constraint satisfaction problem. If there are one or more solutions, the value is added to the set A (403, 404).
Thereafter, the contents of the set A are presented to the outside as a recommended value set (405). The above processing is repeatedly executed for all the constraint variables to be displayed on the operation screen (406).

この方法を手法Bと呼ぶ、手法Bは、調べたい変数毎に制約充足問題を解かなければならないが、解が1つ発見できれば制約ソルバでの計算を中断して良いので、1回当たりの計算コストは小さく抑えられるという特徴がある。   This method is called method B. In method B, the constraint satisfaction problem must be solved for each variable to be examined, but if one solution is found, the calculation in the constraint solver may be interrupted, so calculation per time The cost is small.

以上2つの方法について、対象とする制約充足問題の傾向を考慮すると、手法Aは、問題の大きさに対する解の数が比較的少ない場合、並びに保持する制約充足問題の変更頻度に対する推奨値の問い合わせ頻度が比較的多い場合に有効であり、また、手法Bは、問題の大きさに対する解の数が比較的多い場合、並びに保持する制約充足問題の変更頻度に対する推奨値の問い合わせ頻度が比較的少ない場合に有効である、と考えられる。   For the above two methods, considering the trend of the constraint satisfaction problem that is the target, Method A queries the recommended value for the change frequency of the constraint satisfaction problem to be retained when the number of solutions to the problem size is relatively small The method B is effective when the frequency is relatively high, and the method B has a relatively low frequency of querying the recommended values for the change frequency of the constraint satisfaction problem to be retained when the number of solutions for the problem size is relatively large. It is considered effective in some cases.

このように、手法Aは、調べたい変数が多数ある場合について、小さい計算コストで値候補を求めることができる。また、手法Bは、制約による解の絞り込みが緩やかで矛盾が発生し難く、最終的な解の数が膨大になる場合について、小さい計算コストで値候補を求めることができる。   As described above, method A can obtain a value candidate at a small calculation cost when there are many variables to be examined. In Method B, value candidates can be obtained at a low calculation cost in the case where the narrowing down of solutions due to constraints is gradual and contradiction does not easily occur and the number of final solutions becomes enormous.

汎用性を高めるため、上記2つの方法を、扱う制約充足問題の性質に従って切り替える方法が考えられる。最も簡単な方法としては、システムプログラム起動時の引数や、コンフィギュレーションファイルによって、手動で切り替える方法である。   In order to improve versatility, a method of switching the above two methods according to the nature of the constraint satisfaction problem to be handled can be considered. The simplest method is a method of switching manually by an argument at the time of starting a system program or a configuration file.

一方、自動的に切り替える方法として、制約充足問題の解の数を見積もる方法がある。具体的には、制約充足問題を構成する変数の個数、制約条件の数、値ドメインの範囲から、問題の大きさ(解の数に比例するとみなす)の見積もりを計算し、別途、事前に設定した値を超えるかどうかで判定する。解を求める必要はないため、この計算にかかるコストが対話処理に支障を与えることはない。   On the other hand, as a method of automatically switching, there is a method of estimating the number of solutions of the constraint satisfaction problem. Specifically, an estimate of the size of the problem (considered to be proportional to the number of solutions) is calculated from the number of variables constituting the constraint satisfaction problem, the number of constraint conditions, and the value domain range, and set in advance separately. Judgment is made based on whether or not the specified value is exceeded. Since there is no need to find a solution, the cost of this calculation does not hinder the dialogue processing.

一般に、制約充足問題の解は、各変数の値ドメインの大きさや変数の数が大きければ多くなり、制約条件の数が多ければ少なくなる傾向にある。従って、問題の大きさを見積もるために、各変数の値ドメインの大きさと変数の数が大きいほど大きくなり、制約条件の数が多いほど小さくなるような値を定義し、その値に応じて適切に閾値を定義すれば良い。   In general, the solution to the constraint satisfaction problem tends to increase as the value domain of each variable and the number of variables increase, and decrease as the number of constraint conditions increases. Therefore, in order to estimate the size of the problem, define a value that increases as the value domain size and number of variables for each variable increases, and decreases as the number of constraints increases. What is necessary is just to define a threshold value.

例えば、具体的には、問題の大きさの見積値(Ed)として、以下の数式を使用する。絞り込み係数Crは、0から1までの実数であって、問題に応じて、制約が強いために解の絞り込みが大きい場合に小さな値を設定する。制約条件の個数が0の場合は、Edは変数の値の組み合わせ数を表す。この見積値が設定値を超えない場合には全ての解を求める計算コストが基準を超えないと判断して手法Aを適用し、超える場合には手法Bを適用する。   For example, specifically, the following mathematical formula is used as the estimated value (Ed) of the problem size. The narrowing-down coefficient Cr is a real number from 0 to 1, and is set to a small value depending on the problem when the solution narrowing down is large due to strong restrictions. When the number of constraint conditions is 0, Ed represents the number of combinations of variable values. When the estimated value does not exceed the set value, it is determined that the calculation cost for obtaining all the solutions does not exceed the standard, and the method A is applied, and when it exceeds, the method B is applied.

制約変数の数:Nv
制約条件の数:Nc
値ドメインの要素の平均個数:Nd
絞り込み係数:Cr
問題の大きさの見積値:Ed=CrNc・NdNv
なお、この数式を基本に、1つの制約条件が拘束する変数の平均個数や、個々の制約条件が解を絞り込む強度などを考慮することにより、見積モデルの詳細化が可能である。
Number of constraint variables: Nv
Number of constraints: Nc
Average number of elements in the value domain: Nd
Refinement factor: Cr
Estimated problem size: Ed = Cr Nc · Nd Nv
Based on this mathematical formula, the estimation model can be refined by considering the average number of variables constrained by one constraint condition and the strength with which each constraint condition narrows down the solution.

さらに、操作画面毎の特性によって自動的に切り替える方法として、操作画面における入力データ項目の集合について調査する方法がある。具体的には、入力データ項目数と値ドメインの大きさから、問い合わせ回数の見積もりを計算し、別途、事前に設定した値を超えるかどうかで判定する。操作画面について予めわかっている数値をもとにした簡易な処理であるため、この計算にかかるコストは対話処理に支障を与えることがない。   Furthermore, as a method of automatically switching according to the characteristics of each operation screen, there is a method of investigating a set of input data items on the operation screen. Specifically, an estimate of the number of inquiries is calculated from the number of input data items and the size of the value domain, and a determination is made based on whether the value exceeds a preset value separately. Since this is a simple process based on numerical values known in advance for the operation screen, the cost for this calculation does not hinder the interactive process.

具体的には、問い合わせ回数の見積値(Rf)として、以下の数式を使用する。   Specifically, the following formula is used as the estimated value (Rf) of the number of inquiries.

当該操作画面の入力データ項目の個数:Ni
値ドメインの要素の平均個数:Nd
問い合わせ回数の見積値:Rf=Ni・Nd
この見積値が設定した閾値を超える問題には手法Aを適用し、超えない場合には手法Bを適用する。閾値としては、全ての解を列挙する計算(手法Aに相当)が、解の有無を判定する計算(手法Bの内側ループ1回に相当)の何回に相当するか、の回数を設定する。問題領域に応じて、後者の計算コストが小さいと予想される場合には、大きな値を設定する。
Number of input data items on the operation screen: Ni
Average number of elements in the value domain: Nd
Estimated number of inquiries: Rf = Ni · Nd
The method A is applied to the problem that the estimated value exceeds the set threshold value, and the method B is applied when the estimated value does not exceed the set threshold value. As the threshold value, the number of times of calculation for enumerating all solutions (corresponding to the method A) corresponding to the number of calculations for determining the presence or absence of the solution (corresponding to one inner loop of the method B) is set. . Depending on the problem area, if the latter calculation cost is expected to be small, a large value is set.

以上、手法Aと手法Bの併用方法として、制約充足問題の大きさ・性質や、操作画面の内容に応じて適応的に処理内容を切り替えることで、幅広い性質の制約充足問題に対して偏りなく計算コストを抑えることができる。   As described above, as a combined method of Method A and Method B, the processing content is adaptively switched according to the size and nature of the constraint satisfaction problem and the contents of the operation screen, so that there is no bias to the constraint satisfaction problem with a wide range of properties. Calculation cost can be reduced.

(入力操作の実行順序を提示・制限する手段の詳細な説明)
前述の「問題解決器・プランナーの問題」でも指摘したが、端末における操作(プランナーの内部表現で言うところの「アクション」に相当)の対話処理上の実行順序を提示・制限することは、単純に汎用プランナー16の機能からは実現できない。そこでプランコントローラ131は、プランナー132と連携をとることで課題を解決する。この機能は、現在の状態で事前条件が満たされ実行可能な操作の中から、その操作の実行後、目標状態へ達する実行順序が存在するものを抽出することで実現する。プランコントローラ131は、アプリケーション20の要求に応じて、この機能を実行し、次に実行すべきアクションをアプリケーション20に提示する。
(Detailed explanation of the means for presenting and limiting the execution order of input operations)
As pointed out in “Problem solver / planner problem” mentioned above, it is simple to present and restrict the execution order in interactive processing of operations on the terminal (corresponding to “action” in the internal representation of the planner). However, the function of the general planner 16 cannot be realized. Therefore, the plan controller 131 solves the problem by cooperating with the planner 132. This function is realized by extracting those operations that satisfy the preconditions in the current state and can be executed, and have an execution order that reaches the target state after the execution of the operation. The plan controller 131 executes this function in response to a request from the application 20 and presents the action to be executed next to the application 20.

図12にこの機能を実現する具体的なフローチャートを示す。始めに、求めるアクションの集合をACTとし、初期値に空集合を設定する(501)。ついで、以下の処理をプランコントローラ131は保持しているアクション全体集合Oの各アクションに対して行う(502)。   FIG. 12 shows a specific flowchart for realizing this function. First, a set of required actions is set as ACT, and an empty set is set as an initial value (501). Next, the plan controller 131 performs the following processing for each action of the action total set O held (502).

1.未処理の操作をOから取り出し、それをoとする(503)。   1. An unprocessed operation is taken out from O and is set as o (503).

2.操作oの事前条件が現在の状態で満たされているか判定し、満たしているなら3.へ処理を進める。満たしていないなら1.へ戻り、他の未処理の操作に対して処理を行う(504)。   2. 2. Determine whether the preconditions for operation o are met in the current state, and if so, Proceed to the process. If not, 1. Returning to step 504, processing is performed for other unprocessed operations (504).

3.操作oの事後条件を現在の状態に適用し、状態を更新する。この更新された状態をsとする(505)。   3. Applies the post condition of operation o to the current state and updates the state. This updated state is set as s (505).

4.状態sから目標状態への操作順序をプランナー132で求める(506)。   4). The operation order from the state s to the target state is obtained by the planner 132 (506).

5.実行順序が存在すれば、6.へ処理を進める。存在しないなら1.へ戻り、他の未処理の操作に対して処理を行う(507)。   5. If there is an execution order, 6. Proceed to the process. If it does not exist Returning to step 507, other unprocessed operations are processed (507).

6.ACTに操作oを加える。1.へ戻る(508)。   6). Add operation o to ACT. 1. Return to (508).

このように、1.から6.の処理を各入力操作に対して施すことで、ACTに次に実行すべき操作が加えられていくことになる。   Thus, 1. To 6. By performing the above process on each input operation, the operation to be executed next is added to the ACT.

本発明によれば、リレーションマネージャを介してプランナーと制約ソルバを連携させることにより、対話処理上の各場面で入力されたデータ項目の値に応じ、予め定義されたアクション集合の各要素について、次アクションとしての可否を動的に計算することができ、次に選択可能な操作をオペレータに提示・制限できるという効果を生じる。また、制約ソルバにおける制約伝播によって制約変数の値が絞り込まれた場合についても、必要に応じて次アクションとしての可否を動的に計算することができ、次に選択可能な操作をオペレータに提示・制限できるという効果を生じる。   According to the present invention, by associating the planner and the constraint solver via the relation manager, each element of the predefined action set is determined according to the value of the data item input in each scene on the interactive processing. It is possible to dynamically calculate whether or not the action is possible, and it is possible to present and restrict the next selectable operation to the operator. In addition, even when the value of the constraint variable is narrowed down by constraint propagation in the constraint solver, the possibility of the next action can be dynamically calculated as necessary, and the next selectable operation is presented to the operator. This produces the effect that it can be restricted.

以上示したように、「入力・変更される値」と「入力・変更する操作の実行順序」の両方について、問題解決器としての汎用性を維持しつつ、内部表現や動作の違いを吸収し、プランナーと制約ソルバを連携させることができる。   As described above, both the “values to be input / changed” and the “execution order of operations to be input / changed” absorb the differences in internal representation and operation while maintaining the versatility as a problem solver. The planner and constraint solver can be linked.

また、本発明により、業務上の目的(値の整合性を確保すること、無駄なやり直しを少なくすること、の両方を指す)を達成するという観点で、対話処理上発生しうる全ての場面において適切にオペレータを支援することができる。これによって、例外的フローの発生が不可避であるという、ワークフローエンジンの問題を解決することができる。   In addition, according to the present invention, in all scenes that can occur in interactive processing from the viewpoint of achieving business objectives (pointing both ensuring value consistency and reducing unnecessary redoing). The operator can be supported appropriately. As a result, the problem of the workflow engine that the occurrence of an exceptional flow is inevitable can be solved.

また、本発明により、対話処理上発生し得る場面の指数関数的な増大に関係なく、最終的に必要な値の整合性の内容や、ある操作についてどの場面でも常に成立する事前条件・事後条件として、直接的表現によって記述し、所望の支援内容を実行させることができる。これによって、ワークフロー・ビジネスルールの作成およびデバッグが難しいという、ワークフローエンジンやビジネスルールエンジンの問題を解決することができる。   In addition, according to the present invention, regardless of the exponential increase of scenes that may occur in the dialog processing, the content of the finally required value consistency and the pre-conditions and post-conditions that always hold in any scene for a certain operation As described above, it is possible to execute a desired support content by describing it directly. As a result, it is possible to solve the problem of the workflow engine and the business rule engine that it is difficult to create and debug the workflow business rule.

また、本発明により、制約ソルバに問題を解かせて推薦値を求めるアルゴリズムをデータコントローラ上に2通り用意し、問題に応じて使い分けることができる。これによって、幅広い性質の問題に対し計算コストを偏りなく抑えることができ、ある性質の問題に対して計算コストが増大するという、制約ソルバーの問題を解決することができる。   Further, according to the present invention, two algorithms for obtaining a recommended value by solving a problem in the constraint solver are prepared on the data controller, and can be used properly according to the problem. As a result, it is possible to suppress the calculation cost evenly for problems of a wide range of properties and solve the problem of the constraint solver that the calculation cost increases for problems of a certain property.

また、本発明により、目標状態に至る操作や手詰まりになる操作の列挙を、プランコントローラが主体となり、プランナーに適した計算(順序をいずれか1つ挙げる)を複数回呼び出すことで計算できる。これによって、全ての順序を列挙しようとすると実行時間が指数関数的オーダーになるという、プランナーの問題を解決することができる。   Further, according to the present invention, the operation to reach the target state or the operation that becomes clogged can be enumerated by calling the calculation suitable for the planner (in any one of the orders) multiple times by the plan controller. This solves the planner's problem that the execution time is exponential when trying to enumerate all the orders.

以上示したように、ワークフローエンジン、ビジネスルールエンジン、制約ソルバー、プランナーが抱えるそれぞれの問題を解決し、業務システムの対話処理上でオペレータの負荷を軽減し、能力を支援する機能を提供することができる。   As described above, it is possible to solve the problems of the workflow engine, business rule engine, constraint solver, and planner, reduce the operator's load on the interactive processing of the business system, and provide the function to support the ability it can.

前述した図2を用いて本発明の対話形式処理を実行する装置の実施の形態について説明する。   An embodiment of an apparatus for executing the interactive processing according to the present invention will be described with reference to FIG.

まず、図2における各ソフトウェア要素の機能について説明する。   First, the function of each software element in FIG. 2 will be described.

リレーションマネージャ11は、アプリケーション20においてオペレータが行った操作を受け付け、その内容をデータコントローラ121やプランコントローラ131に送信する機能を有する。また、リレーションマネージャ11は、連携動作を規程する関係表14をファイルシステム等から読み込み、これに基づいて処理を行う。   The relation manager 11 has a function of receiving an operation performed by the operator in the application 20 and transmitting the contents to the data controller 121 and the plan controller 131. Further, the relation manager 11 reads the relation table 14 that regulates the cooperative operation from the file system or the like, and performs processing based on this.

データコントローラ121は、制約充足問題(変数、制約、変数のドメインの集合)とその解を保持する。また、データコントローラ121は、アプリケーション20で行われた操作の内容に応じて、制約を更新する機能を有する。また、データコントローラ121は、保持している制約充足問題を汎用制約ソルバ15に解かせて解を取得することにより、アプリケーション20に対して、入力・変更される値の内容を提示・制限する機能を提供する。   The data controller 121 holds a constraint satisfaction problem (a set of variables, constraints, variable domains) and its solution. Further, the data controller 121 has a function of updating the constraints according to the content of the operation performed by the application 20. The data controller 121 also presents and restricts the contents of input / changed values to the application 20 by causing the general-purpose constraint solver 15 to solve the held constraint satisfaction problem and obtaining a solution. I will provide a.

ベリファイア122は、汎用制約ソルバ15のラッパー(あるいはアダプター)である。汎用制約ソルバ15としては、市中にフリーで公開されている汎用目的のソフトウェアが存在する。これを利用する場合に、ベリファイア122はデータコントローラ121からの処理依頼を受け取り、当該汎用制約ソルバ15のインターフェイスや機能に適合した形で、依頼内容の変換や補足的な処理を行う。汎用制約ソルバ15に与える定義123は、制約充足問題を内部表現したものである。この定義123の内容に従って、制約変数や値ドメインをデータベースマネージャ17から読み込み、制約充足ネットワークが作成される。   The verifier 122 is a wrapper (or adapter) for the general-purpose constraint solver 15. As the general-purpose constraint solver 15, there is general-purpose software that is open to the public for free. When this is used, the verifier 122 receives a processing request from the data controller 121, and performs request content conversion and supplementary processing in a form suitable for the interface and function of the general-purpose constraint solver 15. The definition 123 given to the general constraint solver 15 is an internal representation of the constraint satisfaction problem. In accordance with the contents of this definition 123, constraint variables and value domains are read from the database manager 17, and a constraint satisfaction network is created.

処理に必要なデータを直接、制約充足問題として定義・付与する通常の方法は、特定の最適化問題を解く設計業務には十分である。しかし、本発明で解決しようとする業務システムのように、複数のトランザクションを扱う場合には、トランザクション毎に定義を用意することは現実的ではなく、別途、技術的解決を図る必要がある。本実施の形態のようにデータベースを参照し、動的に制約充足問題を付与する形態をとることで、本発明の適用領域が広がり、大きな効果を発揮できる。   The usual method of defining and assigning data necessary for processing directly as a constraint satisfaction problem is sufficient for design work solving a specific optimization problem. However, when dealing with a plurality of transactions as in the business system to be solved by the present invention, it is not practical to prepare a definition for each transaction, and a separate technical solution is required. By referring to the database as in the present embodiment and dynamically taking the constraint satisfaction problem, the application area of the present invention can be expanded and a great effect can be exhibited.

プランコントローラ131は、プランニング問題(現在の状態・操作全体の集合・目標状態)を保持する。また、プランコントローラ131は、アプリケーション20で行われた操作の内容に応じて、現在の状態を更新する機能を有する。また、プランコントローラ131は、保持しているプランニング問題を汎用プランナー16に解かせることで、アプリケーション20に対して、操作の実行順序を提示・制限する機能を提供する。   The plan controller 131 holds a planning problem (current state / collection of all operations / target state). Further, the plan controller 131 has a function of updating the current state in accordance with the content of the operation performed by the application 20. In addition, the plan controller 131 provides the application 20 with a function of presenting and restricting the execution order of operations by allowing the general-purpose planner 16 to solve the held planning problem.

プランナー132は、汎用プランナー16のラッパー(あるいはアダプター)である。汎用プランナー16としては、市中にフリーで公開されている汎用目的のソフトウェアが存在する。これを利用する場合に、プランナー132はプランコントローラ131からの処理依頼を受け取り、当該汎用プランナー16のインターフェイスや機能に適合した形で、依頼内容の変換や補足的な処理を行う。汎用プランナー16に与える定義133は、プランニング問題を内部表現したものである。この定義133の内容に従って、プランニング問題の内部表現が作成される。   The planner 132 is a wrapper (or adapter) for the general-purpose planner 16. As the general-purpose planner 16, there is general-purpose software that is open to the public for free. When this is used, the planner 132 receives a processing request from the plan controller 131 and performs conversion of request contents and supplementary processing in a form suitable for the interface and function of the general-purpose planner 16. The definition 133 given to the general-purpose planner 16 is an internal representation of the planning problem. In accordance with the contents of this definition 133, an internal representation of the planning problem is created.

次に、図13に関係表の実施の形態を示す。図3からの拡張部分として、以下2点がある。   Next, FIG. 13 shows an embodiment of a relation table. The following two points are expanded from FIG.

(拡張1)
ある入力欄について入力された値の内容により動作を変えたい場合は、値の内容に対する条件式を記述することで実現する。この場合、「入力操作の内容」カラムの入力欄から「制約充足問題への変更」カラムの変数への値の確定は、前者が真の場合、後者が真となるように制約条件が追加される意味となる。
(Extension 1)
When it is desired to change the operation according to the contents of the value input for a certain input field, it is realized by describing a conditional expression for the contents of the value. In this case, for the confirmation of the value from the input field in the “Contents of Input Operation” column to the variable in the “Change to Constraint Satisfaction” column, a constraint condition is added so that the latter is true when the former is true. That means.

(拡張2)
上記条件式が、ブール値を返すメソッド名や任意の値を返すメソッド名を含むことができるように拡張する。これによって、アプリケーション内の任意の処理を呼び出してアプリケーションの様々な状態を取得できるため、高い拡張性が得られる。なお、この実現に当たっては、当該の条件式やメソッド名を解釈・実行する機能をリレーションマネージャ11が具備するものとする。
(Expansion 2)
The above conditional expression is extended to include a method name that returns a Boolean value and a method name that returns an arbitrary value. This makes it possible to call an arbitrary process in the application and acquire various states of the application, so that high extensibility can be obtained. In this implementation, the relation manager 11 has a function of interpreting and executing the conditional expression and method name.

(アプリケーションの実施例)
対話処理における入力値および入力操作の提示・制限の機能を備えたアプリケーションを実行した場合の動作を説明する。
(Example of application)
An operation when an application having a function of presenting / restricting input values and input operations in interactive processing is executed will be described.

図14は画面の構成例を示すもので、同図(a)は入力操作画面の一例を示す。1つの入力操作画面上に表示された2以上のデータ項目については、その操作順序に制限はなく、画面上から複数のデータ項目を同時に入力できる。GUI上で入力した値をシステムに反映させるために「OK」ボタンを押す。入力された値を無視して前画面に戻るために「キャンセル(戻る)」ボタンを押す。図14(b)は次操作選択画面を示すもので、画面には次に実行可能な操作に遷移するためのボタンが複数配置され、例えば「入力操作02」ボタンを押すことにより当該入力操作画面に遷移する。図14(c)は入力と選択を順次行うことにより発生する画面遷移履歴を示すもので、入力操作画面と次操作選択画面は交互に遷移する。   FIG. 14 shows a configuration example of the screen, and FIG. 14A shows an example of the input operation screen. The operation order of two or more data items displayed on one input operation screen is not limited, and a plurality of data items can be input simultaneously from the screen. Press the “OK” button to reflect the value entered on the GUI to the system. Press the “Cancel (Return)” button to ignore the entered value and return to the previous screen. FIG. 14B shows a next operation selection screen. A plurality of buttons for shifting to the next executable operation are arranged on the screen. For example, when the “input operation 02” button is pressed, the input operation screen is displayed. Transition to. FIG. 14C shows a screen transition history generated by sequentially performing input and selection. The input operation screen and the next operation selection screen are alternately shifted.

図15は図14(a)(b)に示した二種類の画面を1つの画面に統合し、オペレータが次の操作選択肢を確認しながらデータの入力を可能とする拡張を行った応用例である(この場合の遷移履歴は図14(c)のように交互にはならず、図15と同じ構成でデータ項目の種類や操作選択ボタンの異なる画面が連なる形になる。)。   FIG. 15 shows an application example in which the two types of screens shown in FIGS. 14A and 14B are integrated into one screen and the operator can input data while confirming the next operation option. Yes (in this case, the transition history is not alternated as shown in FIG. 14C, and the same configuration as in FIG. 15 is used, and screens with different types of data items and different operation selection buttons are connected).

一方、アプリケーションの内部構成は、図2のアプリケーションとリレーションマネージャ、プランコントローラ、データコントローラの構成に従う。   On the other hand, the internal configuration of the application follows the configuration of the application, the relation manager, the plan controller, and the data controller shown in FIG.

アプリケーション20は、プランコントローラ131から、次に実行可能(目標状態に到達可能)な入力画面の種類を問い合わせる。これをもとに、図14(b)もしくは図15下部のボタンを表示する。なお、実行しても目標状態に到達できないことが明らかな入力画面へは遷移しないように(遷移を制限)、当該のボタンは表示しない。このように、操作に関して、対話処理の場面に応じたオペレータ支援を行う。   The application 20 inquires of the type of input screen that can be executed next (can reach the target state) from the plan controller 131. Based on this, the buttons at the bottom of FIG. 14B or FIG. 15 are displayed. It should be noted that the button is not displayed so that the screen does not transit to an input screen where it is clear that the target state cannot be reached even if it is executed (transition is restricted). In this way, regarding the operation, the operator support is performed according to the scene of the dialogue processing.

また、アプリケーション20は、プランコントローラ131へOKボタンが押下されたことを通知する。プランコントローラ131は、直前の(これまで表示されていた)入力画面にて操作を実行したことを記憶する。この情報は、図12の502の条件分岐で、ある操作が処理を行ったかどうかを判定する際に参照される。   Further, the application 20 notifies the plan controller 131 that the OK button has been pressed. The plan controller 131 stores that the operation has been executed on the previous input screen (displayed so far). This information is referred to when determining whether or not an operation has been performed in the conditional branch 502 in FIG.

アプリケーション20は、データコントローラ121から、データ項目に入力可能(最終的に値の整合性を満足可能)な値を問い合わせる。これをもとに、図14(a)もしくは図15のデータ項目毎の入力用コンボボックスの選択肢を表示する。なお、入力しても値の整合性を満足できないことが明らかな値は入力できないように(値を制限)、当該の選択肢は表示しない。このように、入力値に関して、対話処理の場面に応じたオペレータ支援を行う。   The application 20 inquires of the data controller 121 about a value that can be input to the data item (which can finally satisfy the consistency of the value). Based on this, the input combo box options for each data item in FIG. 14A or FIG. 15 are displayed. It should be noted that the corresponding option is not displayed so that a value that is clearly not satisfactory even if it is input cannot be input (value is limited). As described above, the operator is supported in accordance with the scene of the dialogue processing regarding the input value.

また、アプリケーション20は、リレーションマネージャ11へOKボタンが押下されたことを通知する。同時に、オペレータによって入力された値とデータ項目の名前(入力欄を表すID)の組がリレーションマネージャ11に送付される。リレーションマネージャ11は、図3の関係表と図4、図5のフローチャートと基づいて処理を行う。   Further, the application 20 notifies the relationship manager 11 that the OK button has been pressed. At the same time, a set of the value input by the operator and the name of the data item (ID representing the input field) is sent to the relation manager 11. The relation manager 11 performs processing based on the relationship table in FIG. 3 and the flowcharts in FIGS. 4 and 5.

(制約充足問題、プランニング問題の具体例)
上記で示した装置ならびにアプリケーションにおいて、制約充足問題・プランニング問題についての具体的な動作例を説明する。
(Specific examples of constraint satisfaction problems and planning problems)
A specific operation example of the constraint satisfaction problem / planning problem in the apparatus and application described above will be described.

図16は6個以上の変数からなる制約充足問題である。各変数は「1〜4」等の値ドメインを有する。変数の間には3個以上の制約条件が存在する。図17は4個以上の入力操作をアクションとして表現したプランニング問題である。初期状態として述語が何もない状態を指定し、目標状態として変数の全てが“inputed”となる状態を指定する。   FIG. 16 shows a constraint satisfaction problem composed of six or more variables. Each variable has a value domain such as “1-4”. There are three or more constraints between variables. FIG. 17 shows a planning problem in which four or more input operations are expressed as actions. A state with no predicate is specified as an initial state, and a state in which all variables are “inputed” is specified as a target state.

V1,V2,V3の部分について説明を行う。A1はV1の入力画面である。同様にA2はV2、A3はV3、A4はV4の入力画面である。対話処理の最初の段階ではV1〜V3は「inputed」ではないため、図12の処理によって、目標状態に至るためにA1〜A3の実行が必要であることが計算される。A4は事前条件が存在し、「(V3 inputed)」がまだ成立していないため、次の操作としては実行できないことが計算される。これによって、最初の段階ではV1〜V3のいずれの入力操作も選択でき、一方でV4の入力操作はまだ選択できない状態になる。   The parts V1, V2, and V3 will be described. A1 is a V1 input screen. Similarly, A2 is an input screen of V2, A3 is an input screen of V3, and A4 is an input screen of V4. Since V1 to V3 are not “inputed” in the first stage of the interactive process, it is calculated by the process of FIG. 12 that execution of A1 to A3 is necessary to reach the target state. Since A4 has a precondition and “(V3 input)” has not yet been established, it is calculated that it cannot be executed as the next operation. As a result, in the first stage, any input operation of V1 to V3 can be selected, while the input operation of V4 cannot be selected yet.

ここで、ユーザが入力操作A1を選択したとする。制約充足問題に図10又は図11の処理を適用することで、制約条件C12から解がないことが明らかな値ドメインD1の要素「4」が除去され、「1,2,3」が入力値の選択肢となる。これによって、値の提示・制限が実現される。   Here, it is assumed that the user selects the input operation A1. By applying the processing of FIG. 10 or FIG. 11 to the constraint satisfaction problem, the element “4” of the value domain D1 that is clearly unsolved from the constraint condition C12 is removed, and “1, 2, 3” is the input value. It becomes an option. Thereby, presentation / restriction of values is realized.

ここで仮に、A1でV1=1を入力したとする。図9の処理s1において関係表が参照され、処理s2,s3によって、制約充足問題に「V1=1」の制約条件が追加される。図9の処理s4,s5によって、制約伝播が発生しV2=1,V3=1が確定する。図9の処理s6によって、関係表が再び参照され、プランニング問題の状態に「(V2 inputed)」、「(V3 inputed)」が追加される。次に、図9の処理s8,s9によって、図12の処理が実行される。既に目標状態の「(V2 inputed)」「(V3 inputed)」の部分は満足されているため、次に選択できる操作としてA2,A3は表示されなくなる。一方で、A4の事前条件が満足されるため、A4が新たに表示される。   Here, it is assumed that V1 = 1 is input at A1. The relation table is referred to in the process s1 of FIG. 9, and the constraint condition “V1 = 1” is added to the constraint satisfaction problem by the processes s2 and s3. By the processes s4 and s5 in FIG. 9, constraint propagation occurs and V2 = 1 and V3 = 1 are determined. Through the process s6 of FIG. 9, the relation table is referred again, and “(V2 input)” and “(V3 input)” are added to the state of the planning problem. Next, the process of FIG. 12 is executed by the processes s8 and s9 of FIG. Since the “(V2 input)” and “(V3 input)” portions of the target state are already satisfied, A2 and A3 are not displayed as operations that can be selected next. On the other hand, since the precondition of A4 is satisfied, A4 is newly displayed.

ここで他の可能性として、A1でV1=2を入力したとする。制約伝播によりV2=2は確定する。V3は「2もしくは3」に絞り込まれるが確定はしない。その結果、次に実行可能な操作としてA2は表示されなくなり、A3は依然として表示され、新たにA4が表示される。   Here, as another possibility, it is assumed that V1 = 2 is input in A1. V2 = 2 is determined by constraint propagation. V3 is narrowed down to “2 or 3” but not confirmed. As a result, A2 is not displayed as the next executable operation, A3 is still displayed, and A4 is newly displayed.

このように、入力する値によって対話処理の動的な適応が実現される。最初にA2やA3を実行した場合も、上記同様に値が確定した場合は操作画面が割愛され、あるいは事前条件が満足されたときに操作画面が表示される。   In this way, dynamic adaptation of interactive processing is realized by the input value. Even when A2 or A3 is first executed, the operation screen is omitted when the value is determined in the same manner as described above, or the operation screen is displayed when the precondition is satisfied.

以上の説明は、1つのアクションで1つの変数を入力する場合を仮定している。しかし、実際の操作画面では多数の変数を一括して入力させる操作画面も必要である。また、値ドメインとしても数個の値候補しかとらない場合を仮定している。しかし、値ドメインが「1〜100」のように非常に多い値候補から入力させる操作画面も必要である。このような操作画面に対しては図11の手法Bの処理は計算コストが大きい。そこで、手法Aを適宜用いることでこの問題を解決することができる。   The above description assumes that one variable is input in one action. However, an actual operation screen also requires an operation screen for inputting a large number of variables at once. Further, it is assumed that only several value candidates are taken as the value domain. However, an operation screen for inputting from a very large number of value candidates such as “1 to 100” in the value domain is also necessary. For such an operation screen, the processing of the method B in FIG. 11 has a high calculation cost. Therefore, this problem can be solved by appropriately using the method A.

また、以上の説明は、処理上の操作対象として入力データ項目を扱い、処理上の特定の状態として入力済みか否か(“inputed”)を扱っている。ここで、拡張2、拡張3を実施した図13の関係表を用いることでアプリケーションの様々な状態を表す内部変数“alpha”や、値の内容を表す“one”,“greater−than−one”などの別の状態を扱うことができる。   In the above description, an input data item is handled as an operation target in processing, and whether or not an input has been input (“input”) as a specific state in processing. Here, an internal variable “alpha” representing various states of the application, and “one”, “greater-than-one” representing the contents of the values by using the relationship table of FIG. Can handle different states.

また、以上の説明は、目標状態として全てのデータ項目の入力完了を扱っているが、上記拡張により、多用な目標状態を扱うことができる。例えば、必須項目を限定したり、あるデータ項目の値によって必須項目を変えたり、データ項目以外の操作対象の特定の状態を条件とする、などの実際的な応用が考えられる。   Moreover, although the above description has dealt with completion of input of all data items as the target state, a wide variety of target states can be handled by the above expansion. For example, practical applications such as limiting the required items, changing the required items depending on the value of a certain data item, or using a specific state of an operation target other than the data item as a condition can be considered.

本発明における効果、即ちデータ項目の値の内容及び入力・変更する操作の実行順序を対話処理の中で適切に提示・制限するという機能は、システムがオペレータに対して実施する支援機能を仮定している。しかしながら、システム同士の連携、あるいは1対多の連携においても容易に適用可能である。即ち、本発明はEAI、SOAなどの技術分野で利用が可能である。   The effect of the present invention, that is, the function of appropriately presenting and restricting the content of data item values and the execution order of operations to be input / changed in the interactive process assumes the support function that the system performs for the operator. ing. However, the present invention can be easily applied to cooperation between systems or one-to-many cooperation. That is, the present invention can be used in technical fields such as EAI and SOA.

本発明を実行する装置の概要を示す構成図The block diagram which shows the outline | summary of the apparatus which implements this invention 本発明を実行する装置のソフトウェア構成の詳細を示す構成図The block diagram which shows the detail of the software configuration of the apparatus which performs this invention 基本的な問題変更対応関係表の一例を示す説明図Explanatory diagram showing an example of a basic problem change correspondence table 入力操作の内容を制約充足問題及びプランニング問題の変更内容に変換する処理のフローチャートFlowchart of processing for converting the contents of input operations into the contents of restriction satisfaction and planning problems 制約伝播をプランニング問題の変更内容に変換する処理のフローチャートFlowchart of processing to convert constraint propagation into planning problem changes 入力操作に伴う問題の更新手順の一例を示す説明図Explanatory drawing which shows an example of the update procedure of the problem accompanying input operation 入力操作に伴う問題の更新手順の他の例を示す説明図Explanatory drawing which shows the other example of the update procedure of the problem accompanying input operation 入力操作に伴う問題の更新手順の更に他の例を示す説明図Explanatory drawing which shows the further another example of the update procedure of the problem accompanying input operation 本発明による対話形式処理全体のフローチャートFlowchart of overall interactive processing according to the present invention 入力・変更値の候補を提示・制限する一の処理のフローチャートFlowchart of one process for presenting and limiting input / change value candidates 入力・変更値の候補を提示・制限する他の処理のフローチャートFlow chart of other processing that presents and restricts input / change value candidates 入力操作の実行順序を提示・制限する処理のフローチャートFlowchart of processing that presents / limits the execution order of input operations 問題変更対応関係表の実施の形態の一例を示す説明図Explanatory drawing which shows an example of embodiment of a problem change correspondence table アプリケーションにおける画面構成の一例を示す説明図Explanatory drawing showing an example of screen structure in application アプリケーションにおける画面構成の他の例を示す説明図Explanatory drawing showing another example of the screen configuration in the application 制約充足問題の具体例を示す説明図Explanatory diagram showing a specific example of the constraint satisfaction problem プランニング問題の具体例を示す説明図Explanatory diagram showing specific examples of planning problems

符号の説明Explanation of symbols

1:電子計算機、2:操作端末、3:ディスプレイ、4:キーボード、5:ポインティングデバイス(マウス)、6:LAN、10:対話形式処理実行プログラム、11:リレーションマネージャ、12:データマネージャ、13:プランマネージャ、14:関係表、15:汎用制約ソルバ、16:汎用プランナー、17:データベースマネージャ、20:アプリケーションプログラム、121:データコントローラ、122:ベリファイア、131:プランコントローラ、132:プランナー、123,133:定義。   1: computer, 2: operation terminal, 3: display, 4: keyboard, 5: pointing device (mouse), 6: LAN, 10: interactive processing execution program, 11: relation manager, 12: data manager, 13: Plan manager, 14: relation table, 15: general constraint solver, 16: general planner, 17: database manager, 20: application program, 121: data controller, 122: verifier, 131: plan controller, 132: planner, 123, 133: Definition.

Claims (10)

任意のコンピュータ上で動作する所定のアプリケーションプログラムに対し、当該任意のコンピュータもしくは当該任意のコンピュータにネットワークを介して接続された他のコンピュータの表示装置にデータ項目に対する入力・変更欄を少なくとも1つ含む入力操作画面を表示するとともに、前記任意のコンピュータもしくは当該任意のコンピュータにネットワークを介して接続された他のコンピュータの入力装置からオペレータの操作に基づいて前記入力・変更欄におけるデータ項目の値を入力・変更し、これを種類の異なるデータ項目に対応する入力・変更欄を含む2以上の入力操作画面について当該画面を切り替えて行うことにより、対話形式で複数種類のデータ項目の値を入力・変更する際、各データ項目の値同士が既定の整合性を満たすように、前記入力・変更欄に入力・変更される値と、前記入力操作画面を通じて入力・変更する操作の実行順序とを提示・制限する方法であって、
前記任意のコンピュータもしくは当該任意のコンピュータにネットワークを介して接続された他のコンピュータ上で動作する制約ソルバ及びプランナーと、
前記任意のコンピュータもしくは当該任意のコンピュータにネットワークを介して接続された他のコンピュータの記憶装置に記憶された、変数と当該変数の値ドメインと制約条件とからなり、前記複数種類のデータ項目の値を変数とし該複数種類のデータ項目の値同士が満たすべき既定の整合性を制約条件とする制約充足問題と、目標状態と現在の状態と事前条件及び事後条件を含む操作の集合とからなり、処理上の操作対象と当該操作対象に対する処理上の特定の状態との組よりなる集合を目標状態とし、前記処理上の操作対象を特定する主部とその状態を示す述部とよりなる述語により現在の状態と事前条件及び事後条件を表すプランニング問題と、入力・変更されたデータ項目の種類とその値に対応する制約充足問題における制約条件の変更内容及びプランニング問題における述語の変更内容を記述してなる関係表とを用い、
前記任意のコンピュータもしくは当該任意のコンピュータにネットワークを介して接続された他のコンピュータが、
入力装置から入力・変更されたデータ項目の種類とその値を、前記関係表を参照して前記制約充足問題における制約条件の変更内容、または前記プランニング問題における述語の変更内容に変換し、
制約条件の変更内容に従って制約条件の追加・削除を行い、前記制約充足問題を更新し、または述語の変更内容に従って述語の追加・削除を行い、前記プランニング問題を更新し、
更新した制約充足問題を制約ソルバに送信してその解を取得し、または更新したプランニング問題をプランナーに送信してその解を取得し、
更新した制約充足問題の解から前記入力・変更欄に入力・変更可能な値を決定し、または更新したプランニング問題の解から前記入力操作画面を通じて入力・変更可能な操作を決定する
ことを特徴とする対話形式処理における入力値及び入力操作の提示・制限方法。
For a predetermined application program operating on an arbitrary computer, at least one input / change column for data items is included in the display device of the arbitrary computer or another computer connected to the arbitrary computer via a network. An input operation screen is displayed, and the value of the data item in the input / change column is input based on an operator's operation from an input device of the arbitrary computer or another computer connected to the arbitrary computer via a network.・ Change and input the value of two or more types of data items interactively by switching this screen for two or more input operation screens including input / change fields corresponding to different types of data items. The default consistency between the values of each data item Satisfying manner, a method of presenting, limits and values entered or changed in the input-changing field, and the execution order of operations of inputting and changing through said input operation screen,
A constraint solver and a planner operating on the arbitrary computer or another computer connected to the arbitrary computer via a network;
A variable, a value domain of the variable, and a constraint condition stored in a storage device of the arbitrary computer or another computer connected to the arbitrary computer via a network, and values of the plurality of types of data items And a constraint satisfaction problem in which a predetermined consistency that should be satisfied by the values of the plurality of types of data items is a constraint condition, and a set of operations including a target state, a current state, a precondition and a postcondition, A set consisting of a set of a processing operation target and a specific processing state for the operation target is a target state, and a predicate consisting of a main part for specifying the processing operation target and a predicate indicating the state Constraints in planning problems that represent the current state, preconditions and postconditions, and constraint satisfaction problems that correspond to the types and values of data items that have been input or changed Using a relation table that the changes made by the description of the predicates in the changes and planning problems,
The arbitrary computer or another computer connected to the arbitrary computer via a network,
The type and value of the data item input / changed from the input device is converted into the change content of the constraint condition in the constraint satisfaction problem with reference to the relation table, or the change content of the predicate in the planning problem,
Add / delete constraint conditions according to the change contents of the constraint conditions, update the constraint satisfaction problem, or add / delete predicates according to the change contents of the predicate, update the planning problem,
Send the updated constraint satisfaction problem to the constraint solver to get the solution, or send the updated planning problem to the planner to get the solution,
A value that can be input / changed in the input / change column is determined from the updated solution to the constraint satisfaction problem, or an operation that can be input / changed through the input operation screen from the updated planning problem solution. To present / limit input values and input operations in interactive processing.
請求項1に記載の対話形式処理における入力値及び入力操作の提示・制限方法において、
前記プランニング問題の目標状態は、前記複数種類のデータ項目を処理上の操作対象とし、前記複数種類のデータ項目のうち必須項目が入力された状態を処理上の特定の状態とする
ことを特徴とする対話形式処理における入力値及び入力操作の提示・制限方法。
In the method for presenting and restricting input values and input operations in the interactive processing according to claim 1,
The target state of the planning problem is that the plurality of types of data items are operation targets for processing, and a state in which essential items are input among the plurality of types of data items is a specific state for processing. To present / limit input values and input operations in interactive processing.
請求項1に記載の対話形式処理における入力値及び入力操作の提示・制限方法において、
前記制約ソルバは、一のデータ項目に対する入力・変更可能な値として、該一のデータ項目に対応する変数の値ドメインの中から、他のデータ項目に対応する値ドメインの範囲、並びにそれまでに入力された他のデータ項目に対応する変数の値に対して不整合が起きないような値を抽出する
ことを特徴とする対話形式処理における入力値及び入力操作の提示・制限方法。
In the method for presenting and restricting input values and input operations in the interactive processing according to claim 1,
The constraint solver includes, as values that can be input / changed for one data item, a value domain range corresponding to another data item from a variable value domain corresponding to the one data item, and so on. A method for presenting and restricting input values and input operations in interactive processing, characterized by extracting values that do not cause inconsistencies with the values of variables corresponding to other input data items.
請求項3に記載の対話形式処理における入力値及び入力操作の提示・制限方法において、
制約充足問題の全ての解を制約ソルバによって計算し、各々の解の中で前記変数がとる値を要素とする集合を生成する第1のアルゴリズムと、前記変数の値ドメインの各値について、当該変数が当該値をとる新たな制約充足問題を生成し、制約ソルバによって解を有すると判定できた値を抽出対象とし、そうでない値を除去する第2のアルゴリズムとを用意し、
入力操作画面および操作対象データ項目の定量的特徴から、当該入力操作画面における入力値の提示・制限の計算量の指標を計算し、この計算値を予め指定した基準値と比較することによって、前記第1または第2のアルゴリズムのうち計算量が低いと期待される方を選択して実行する
ことを特徴とする対話形式処理における入力値及び入力操作の提示・制限方法。
In the method for presenting and restricting input values and input operations in the interactive processing according to claim 3,
A first algorithm that calculates all solutions of the constraint satisfaction problem by a constraint solver and generates a set whose elements are values taken by the variable in each solution, and for each value in the value domain of the variable, A new constraint satisfaction problem in which the variable takes the value is generated, a value that can be determined to have a solution by the constraint solver is extracted, and a second algorithm that removes the value that is not prepared is prepared.
From the quantitative features of the input operation screen and the operation target data item, an index of the amount of calculation of presentation / restriction of the input value on the input operation screen is calculated, and the calculated value is compared with a reference value designated in advance. A method of presenting and restricting input values and input operations in interactive processing, wherein one of the first and second algorithms, which is expected to have a low calculation amount, is selected and executed.
請求項1に記載の対話形式処理における入力値及び入力操作の提示・制限方法において、
前記プランナーは、その時点で入力操作画面を通じて入力・変更可能な操作として、現在の状態で事前条件が満たされ実行可能な入力操作の中から、その操作を実行し、事後条件に従って状態が更新された後に、目標状態に達する実行順序が存在する操作を抽出する
ことを特徴とする対話形式処理における入力値及び入力操作の提示・制限方法。
In the method for presenting and restricting input values and input operations in the interactive processing according to claim 1,
The planner executes the operation from among the input operations that can be input and changed through the input operation screen at that time and the precondition is satisfied in the current state and can be executed, and the state is updated according to the post-condition. And a method of presenting and restricting input values and input operations in interactive processing, characterized in that an operation having an execution order that reaches a target state is extracted.
任意のコンピュータ上で動作する所定のアプリケーションプログラムに対し、当該任意のコンピュータもしくは当該任意のコンピュータにネットワークを介して接続された他のコンピュータの表示装置にデータ項目に対する入力・変更欄を少なくとも1つ含む入力操作画面を表示するとともに、前記任意のコンピュータもしくは当該任意のコンピュータにネットワークを介して接続された他のコンピュータの入力装置からオペレータの操作に基づいて前記入力・変更欄におけるデータ項目の値を入力・変更し、これを種類の異なるデータ項目に対応する入力・変更欄を含む2以上の入力操作画面について当該画面を切り替えて行うことにより、対話形式で複数種類のデータ項目の値を入力・変更する際、各データ項目の値同士が既定の整合性を満たすように、前記入力・変更欄に入力・変更される値と、前記入力操作画面を通じて入力・変更する操作の実行順序とを提示・制限する装置であって、
前記任意のコンピュータもしくは当該任意のコンピュータにネットワークを介して接続された他のコンピュータ上で動作する制約ソルバ及びプランナーと、
変数と当該変数の値ドメインと制約条件とからなり、前記複数種類のデータ項目の値を変数とし該複数種類のデータ項目の値同士が満たすべき既定の整合性を制約条件とする制約充足問題と、目標状態と現在の状態と事前条件及び事後条件を含む操作の集合とからなり、処理上の操作対象と当該操作対象に対する処理上の特定の状態との組よりなる集合を目標状態とし、前記処理上の操作対象を特定する主部とその状態を示す述部とよりなる述語により現在の状態と事前条件及び事後条件を表すプランニング問題と、入力・変更されたデータ項目の種類とその値に対応する制約充足問題における制約条件の変更内容及びプランニング問題における述語の変更内容を記述してなる関係表とを記憶した前記任意のコンピュータもしくは当該任意のコンピュータにネットワークを介して接続された他のコンピュータの記憶装置とともに、
前記任意のコンピュータもしくは当該任意のコンピュータにネットワークを介して接続された他のコンピュータ上に設けられた次の手段、即ち、
入力装置から入力・変更されたデータ項目の種類とその値を、前記関係表を参照して前記制約充足問題における制約条件の変更内容、または前記プランニング問題における述語の変更内容に変換する手段と、
制約条件の変更内容に従って制約条件の追加・削除を行い、前記制約充足問題を更新し、または述語の変更内容に従って述語の追加・削除を行い、前記プランニング問題を更新する手段と、
更新した制約充足問題を制約ソルバに送信してその解を取得し、または更新したプランニング問題をプランナーに送信してその解を取得する手段と、
更新した制約充足問題の解から前記入力・変更欄に入力・変更可能な値を決定し、あるいは更新したプランニング問題の解から前記入力操作画面を通じて入力・変更可能な操作を決定する手段とからなる
ことを特徴とする対話形式処理における入力値及び入力操作の提示・制限装置。
For a predetermined application program operating on an arbitrary computer, at least one input / change column for data items is included in the display device of the arbitrary computer or another computer connected to the arbitrary computer via a network. An input operation screen is displayed, and the value of the data item in the input / change column is input based on an operator's operation from an input device of the arbitrary computer or another computer connected to the arbitrary computer via a network.・ Change and input the value of two or more types of data items interactively by switching this screen for two or more input operation screens including input / change fields corresponding to different types of data items. The default consistency between the values of each data item Satisfying way, the values entered or changed to said input-change box, a device for presenting or restrict the execution order of the operation of inputting and changing through said input operation screen,
A constraint solver and a planner operating on the arbitrary computer or another computer connected to the arbitrary computer via a network;
A constraint satisfaction problem comprising a variable, a value domain of the variable, and a constraint condition, wherein the values of the plurality of types of data items are variables, and the default consistency to be satisfied by the values of the plurality of types of data items is a constraint condition; , Consisting of a set of operations including a target state, a current state, a precondition and a postcondition, and a set consisting of a set of a processing operation target and a specific state of processing for the operation target as a target state, A planning problem that represents the current state, preconditions, and postconditions by a predicate consisting of a main part that identifies the operation target for processing and a predicate that indicates the state, and the type and value of the data item that has been input or changed The arbitrary computer storing the change contents of the constraint condition in the corresponding constraint satisfaction problem and the relation table describing the change contents of the predicate in the planning problem or the arbitrary computer Along with storage unit of the other connected computers over a network to the computer,
The following means provided on the arbitrary computer or another computer connected to the arbitrary computer via a network:
Means for converting the type and value of the data item input / changed from the input device into the change content of the constraint condition in the constraint satisfaction problem with reference to the relation table, or the change content of the predicate in the planning problem;
A means for adding / deleting a constraint condition according to a change content of a constraint condition, updating the constraint satisfaction problem, or adding / deleting a predicate according to a change content of a predicate, and updating the planning problem;
Means for sending an updated constraint satisfaction problem to a constraint solver to obtain its solution, or sending an updated planning problem to a planner to obtain its solution;
A value that can be input / changed in the input / change column from the updated solution to the constraint satisfaction problem, or a means for determining an operation that can be input / changed through the input operation screen from the updated solution to the planning problem An apparatus for presenting and limiting input values and input operations in interactive processing characterized by the above.
請求項6に記載の対話形式処理における入力値及び入力操作の提示・制限装置において、
前記プランニング問題の目標状態は、前記複数種類のデータ項目を処理上の操作対象とし、前記複数種類のデータ項目のうち必須項目が入力された状態を処理上の特定の状態とする
ことを特徴とする対話形式処理における入力値及び入力操作の提示・制限装置。
In the apparatus for presenting / limiting input values and input operations in the interactive processing according to claim 6,
The target state of the planning problem is that the plurality of types of data items are operation targets for processing, and a state in which essential items are input among the plurality of types of data items is a specific state for processing. Device for presenting and restricting input values and input operations in interactive processing.
請求項6に記載の対話形式処理における入力値及び入力操作の提示・制限装置において、
前記制約ソルバは、一のデータ項目に対する入力・変更可能な値として、該一のデータ項目に対応する変数の値ドメインの中から、他のデータ項目に対応する値ドメインの範囲、並びにそれまでに入力された他のデータ項目に対応する変数の値に対して不整合が起きないような値を抽出する
ことを特徴とする対話形式処理における入力値及び入力操作の提示・制限装置。
In the apparatus for presenting / limiting input values and input operations in the interactive processing according to claim 6,
The constraint solver includes, as values that can be input / changed for one data item, a value domain range corresponding to another data item from a variable value domain corresponding to the one data item, and so on. A device for presenting and limiting input values and input operations in interactive processing, characterized by extracting values that do not cause inconsistencies with the values of variables corresponding to other input data items.
請求項8に記載の対話形式処理における入力値及び入力操作の提示・制限装置において、
制約充足問題の全ての解を制約ソルバによって計算し、各々の解の中で前記変数がとる値を要素とする集合を生成する第1のアルゴリズムと、前記変数の値ドメインの各値について、当該変数が当該値をとる新たな制約充足問題を生成し、制約ソルバによって解を有すると判定できた値を抽出対象とし、そうでない値を除去する第2のアルゴリズムとを用意し、
入力操作画面および操作対象データ項目の定量的特徴から、当該入力操作画面における入力値の提示・制限の計算量の指標を計算し、この計算値を予め指定した基準値と比較することによって、前記第1または第2のアルゴリズムのうち計算量が低いと期待される方を選択して実行する
ことを特徴とする対話形式処理における入力値及び入力操作の提示・制限装置。
An apparatus for presenting / limiting input values and input operations in interactive processing according to claim 8,
A first algorithm that calculates all solutions of the constraint satisfaction problem by a constraint solver and generates a set whose elements are values taken by the variable in each solution, and for each value in the value domain of the variable, A new constraint satisfaction problem in which the variable takes the value is generated, a value that can be determined to have a solution by the constraint solver is extracted, and a second algorithm that removes the value that is not prepared is prepared.
From the quantitative features of the input operation screen and the operation target data item, an index of the amount of calculation of presentation / restriction of the input value on the input operation screen is calculated, and the calculated value is compared with a reference value designated in advance. An apparatus for presenting and limiting input values and input operations in interactive processing, wherein one of the first and second algorithms that is expected to have a low calculation amount is selected and executed.
請求項6に記載の対話形式処理における入力値及び入力操作の提示・制限装置において、
前記プランナーは、その時点で入力操作画面を通じて入力・変更可能な操作として、現在の状態で事前条件が満たされ実行可能な入力操作の中から、その操作を実行し、事後条件に従って状態が更新された後に、目標状態に達する実行順序が存在する操作を抽出する
ことを特徴とする対話形式処理における入力値及び入力操作の提示・制限装置。
In the apparatus for presenting / limiting input values and input operations in the interactive processing according to claim 6,
The planner executes the operation from among the input operations that can be input and changed through the input operation screen at that time and the precondition is satisfied in the current state and can be executed, and the state is updated according to the post-condition. After that, an input value and input operation presentation / restriction device in interactive processing characterized by extracting an operation having an execution order to reach a target state.
JP2006302754A 2006-11-08 2006-11-08 Method and apparatus for presenting / limiting input values and input operations in interactive processing Expired - Fee Related JP4911594B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006302754A JP4911594B2 (en) 2006-11-08 2006-11-08 Method and apparatus for presenting / limiting input values and input operations in interactive processing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006302754A JP4911594B2 (en) 2006-11-08 2006-11-08 Method and apparatus for presenting / limiting input values and input operations in interactive processing

Publications (2)

Publication Number Publication Date
JP2008123022A true JP2008123022A (en) 2008-05-29
JP4911594B2 JP4911594B2 (en) 2012-04-04

Family

ID=39507751

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006302754A Expired - Fee Related JP4911594B2 (en) 2006-11-08 2006-11-08 Method and apparatus for presenting / limiting input values and input operations in interactive processing

Country Status (1)

Country Link
JP (1) JP4911594B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017179540A1 (en) * 2016-04-12 2017-10-19 日本電気株式会社 Time slot designing device, time slot designing method, and recording medium having time slot designing program stored thereon
JP2021015381A (en) * 2019-07-10 2021-02-12 富士通株式会社 Maintenance support program, maintenance support method and maintenance support device

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11203139A (en) * 1998-01-09 1999-07-30 Toshiba Corp Agent system, information processing method and recording medium recording information processing program

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11203139A (en) * 1998-01-09 1999-07-30 Toshiba Corp Agent system, information processing method and recording medium recording information processing program

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017179540A1 (en) * 2016-04-12 2017-10-19 日本電気株式会社 Time slot designing device, time slot designing method, and recording medium having time slot designing program stored thereon
US10880212B2 (en) 2016-04-12 2020-12-29 Nec Corporation Time slot designing device, time slot designing method, and recording medium having time slot designing program stored thereon
JP2021015381A (en) * 2019-07-10 2021-02-12 富士通株式会社 Maintenance support program, maintenance support method and maintenance support device
JP7302344B2 (en) 2019-07-10 2023-07-04 富士通株式会社 Maintenance support program, maintenance support method and maintenance support device

Also Published As

Publication number Publication date
JP4911594B2 (en) 2012-04-04

Similar Documents

Publication Publication Date Title
US8005779B2 (en) System and method for designing a workflow
Lu et al. On managing business processes variants
US9390375B2 (en) Reuse of on-demand enterprise system customization knowledge utilizing collective experience
US8560636B2 (en) Methods and systems for providing a virtual network process context for network participant processes in a networked business process
CN102982396B (en) Universal process modeling framework
US8751558B2 (en) Mashup infrastructure with learning mechanism
JP5875794B2 (en) Method for managing quality of service for network participants in a networked business process and machine-readable medium storing instructions for performing such a method
US8438272B2 (en) Methods and systems for managing quality of services for network participants in a networked business process
R-Moreno et al. Integrating planning and scheduling in workflow domains
Hussain et al. Integrated AHP-IOWA, POWA framework for ideal cloud provider selection and optimum resource management
US20130159909A1 (en) Virtual business object node associations
Beloglazov et al. Improving productivity in design and development of information technology (IT) service delivery simulation models
US9240965B2 (en) Methods and systems for business interaction monitoring for networked business process
JP2012118572A (en) Content recommendation system, content recommendation device, recommendation mode control method, and recommendation mode control program
JPWO2011135733A1 (en) Web page control method, computer system, and program
EP1936494B1 (en) Method for runtime execution of one or more tasks defined in a workflow process language
Aljallabi et al. Enhancement approach for non-functional requirements analysis in agile environment
Elfirdoussi et al. An integrated approach towards service composition life cycle: a transportation process case study
JP2005533322A (en) Consultation system using communication network, content production method thereof, and recording medium storing program for performing the same
Benabbou et al. On possibly optimal tradeoffs in multicriteria spanning tree problems
CN115170048A (en) Workflow implementation method, system, and medium based on model and rule
JP4911594B2 (en) Method and apparatus for presenting / limiting input values and input operations in interactive processing
US20120096057A1 (en) Default object fragments
Han et al. An approach towards user interface derivation from business process model
US20110093421A1 (en) Dynamic constraint satisfaction problem solver with sub-problem placeholder

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090114

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20110613

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20110614

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20110615

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20110616

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120112

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120112

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150127

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees