XpertRule(R) Configurator(TM)
今日様々な業界において、製品やサービスを供給する際の製品構成(コンフィギュレーション)がますます多様化しています。競争が激化しつつある国際市場において、製品が通用するためには、物理的、法的、気候的、さらには市場における個々の要求を満たさなければなりません。
製品は、様々なニーズに合うように設計し、製造しなければなりません。また、様々な機能やオプションについて、どの組み合わせが両立でき、どれが矛盾し、どれが互いに依存しているかを定義する必要があります。
従来の製品構成は、製品に関する十分な技術や知識を持つ経験豊かなスタッフによって行われてきました。今や、経験豊かなスタッフの製品構成技術をコンピュータ・システムに取り入れることが、企業におけるプロセスを再設計するうえで不可欠です。これによって、ますます複雑になる製品構成プロセスを効率よく、迅速に、一貫して行うことができます。
製品構成システムの開発には、規則ベースまたは知識ベースシステムが適していると考えられてきました。しかし、従来の規則ベースシステムをこの複雑な分野に応用するのは難しいということが分かってきました。これは、規則ベースのプログラミングが選択のための規則表現(規則ベースに向いている分野)と、選択肢として考えられる全ての構成要素に対する製品構成の階層(木)表現(規則ベースが向いていない分野)の両方に使われるからです。結果的に大部分の規則は、コンフィギュレーション・ツリーの物理的な階層を記述するために使われることになります。
XpertRule Configuratorは、三つの革新的な機能により優れた知識ベースシステムに基づいた製品構成のための環境を提供し、以上の問題を解決します。
オブジェクト辞書を使うと、コンフィギュレーション・ツリーの構成要素は、それが部品(アイテム)など目に見える要素でも工程(オペレーション)のようなサービス的要素でも、繰り返し異なるレベルの製品構成に使うことができます。個々の要素はサブアセンブリーにまとめられ、コンフィギュレーション・ツリー全体が別のコンフィギュレーション・ツリーに組み込まれて構造化されます。コンフィギュレーション・ツリーは、製品構成のオブジェクトを追加するか、オブジェクト辞書からドラッグするとその場で作成できます。
異なる構成要素を使ってコンフィギュレーション・ツリーを構築し、製品やサービスの構成要素の階層を示すことができます。アイテム(部品)やオペレーション(サービスまたは工程)は、コンフィギュレーション・ツリーの各ノード(枝またはレベル)で作成できます。
サブアセンブリーを使うと、低いレベルの構成要素がグループ化されてコンフィギュレーション・ツリーの階層構造、つまり木を作ります。サブアセンブリーは、低いレベルの構成要素をグループ化するうえで便利な方法です。
アイテム(部品):選択可能な資源(コンフィギュレーション・ツリーの構成要素)のうち最も単純なものです。工業製品の部品、ドキュメントのパラグラフ、その他の資源などです。
オペレーション(工程):アイテムによって行われる選択可能な操作、作業、活動の最も単純なものです。
アイテムリスト(部品のリスト):アイテムを一つだけ選択する相互排他的なリスト、もしくは複数選択できる非相互排他的リストです。
オペレーションリスト(工程のリスト):オペレーションを一つだけ選択する相互排他的なリスト、もしくは複数選択できる非相互排他的リストです。
サブアセンブリー(二次組み立て):他の構成要素をグループ化して階層、つまり木にまとめるためのものです。アイテム、オペレーション、他のサブアセンブリーをグループ化します。
特定の製品や工程の製品構成は、コンフィギュレーション・ツリーから構成要素を選択することで得られます。構成要素の階層は、実行時に動的に作成できます。
製品構成知識とは、特定の要求に対してアイテムやオペレーションを選択する際の規則や基準のことです。知識を決定木などのグラフィックで表現することで、開発者は構成要素の選択規則を分かりやすく示すことができます。
知識が複雑な場合、決定木はネストされ、一つの木の属性あるいは要因がサブ・ツリーで評価されることになります。木はグラフィックを用いて直接編集するか、または例の集合、真理表、例外木から自動的に作成できます。
実行時ユーザーは、コンフィギュレーション・ツリーの構成要素を初期設定のダイアログ、またはカスタマイズされたダイアログで選択するか、選択規則を実行して選択します。選択規則(知識課題)は、コンフィギュレーション・ツリーの適切な位置で「アジェンダ」を使って呼び出せます。
アジェンダは、木の各ノードで開発者に選択論理の制御に言語に似たスクリプトを渡します。「メインアジェンダ」を使うと、製品構成アプリケーションの初期化や構成要素の読み込み、保存、ループ、レポートなどアプリケーション全体が制御できます。
さらに迅速かつ簡単に構成要素が選択できます。例えば構成要素Aを選択すると、構成要素Bが強制的に選択されます。これは、アジェンダで製品構成オブジェクトの「スロット」に直接参照されるからです。
Configuratorでは、スロットがオブジェクトに関するデータのプロパティの値を保持します。「スロット」は選択状態や再構成の可否が設定でき、コスト、名前、記述が使えます。スロットには前もって定義されたものがありますが、ユーザーが定義することもできます。新しいプロパティは、Configuratorの関連オブジェクトに継承されます。開発者は、このオブジェクト指向の技術で非常に柔軟なシステムが設計できます。「スロット」は、アジェンダと手続き@コマンドで直接参照することができるため、アプリケーション全体の制御が可能になります。
実行時には、構成要素のインスタンスが複数作成できるため、Configuratorは設計要素も含む複雑な製品構成アプリケーションを開発することができます。また、実行時にコンフィギュレーション・ツリーのオブジェクト(木のノード)を追加したり、削除したりできます。
Configuratorを使う大きな利点は、作成した製品構成が「製造可能であるか」を確認できるということです。つまり、様々な構成要素の選択に矛盾がないかなどを検証できます。Configuratorを使えば、開発者は構成要素の選択が有効かどうかを検証できます。
開発した製品構成アプリケーションは、XpertRun実行時プログラムで実行できます。Configuratorは自動的に初期設定のダイアログボックスを表示しますが、構成要素ごとに別々のダイアログや、様々なダイアログ用に標準ダイアログを設計し、使うこともできます。例えば、構成要素の選択用や部品のリスト用のダイアログ、または新しいユーザー定義の構成要素を追加するダイアログなどです。いったんユーザーの製品構成が完成すると、選択された製品構成がウインドウに表示され、ユーザーはスクロールして確認することができます。コストを使っている場合には、構成要素それぞれに対するコストが表示されます。コストは合計され、サブアセンブリーとメインアセンブリーに表示されます。
開発者は、ユーザーのコンフィギュレーションの結果を制御することができます。例えば、外部のアプリケーションに指示を出したり、外部のワープロに見積り作成を要求したりして、完成したコンフィギュレーションが簡単に管理できます。メインアジェンダでコンフィギュレーション全体を表示し、レポートします。直接スロットを参照することで、開発者は既に完成したユーザーのコンフィギュレーションの後処理が自由に行えます。
開発者の制御によっては、実行時ユーザーはコンフィギュレーションの再構成が行えます。実行時ユーザーは、コンフィギュレーションが表示されると開発者が再構成可能に設定したノードで「再構成」ボタンを押すことができます。再構成を行うと、コンフィギュレーションの要素とその関連要素が修正されます。
開発者は、コンフィギュレーション実行の際に中間段階で現在の製品構成を表示し、確認することができます。現在のコンフィギュレーション・ツリーのステータスを表示することで、ユーザーは現時点でのコンフィギュレーション・ツリーが確認できます。
製品構成はディスクに保存し、後日開いて再構成することができます。そのため、条件のよく似た「テンプレート」を使うこともできます。さらに開発者は、ユーザーが実行中に中間段階のコンフィギュレーションを保存し、後日開いて同じところから作業を続行できるように設定することも可能です。
グラフィック・ダイアログのツールボックスを使って、インタフェースをカスタマイズできます。通常のWindowsのコントロール − リストボックス、スクロールバー、ビットマップ、ラジオボタン、チェックボックス、ボタン − に加えて開発者は実行時にユーザーが選択できるダイアログボックスのエリアである「ホットスポット」を使うことができます。
グラフィック・ダイアログを使うと、開発者はユーザー・インタフェースをカスタマイズできます。ボタンをカスタマイズすると、マクロやポップアップ・ダイアログ、また文脈に対応したWindowsヘルプシステムヘのジャンプを追加できます。
初期設定では実行時にユーザー・ダイアログが自動的に作成されるため、開発者はほとんど何もする必要がなく、簡単にアプリケーションのプロトタイピングができます。コンフィギュレーション・ツリーとその規則を動かすエンジン、つまり推論プロセスで値が必要な場合、初期設定のユーザー・ダイアログボックスが作成され、表示されます。
希望通りのプロトタイプが完成すると、開発者はアプリケーションのGUIをカスタマイズできます。値が外部ソース、例えばデータベースやダイナミック・データ・エクスチェンジなどを介して得られる場合、初期設定のダイアログは自動的に実行不能になります。
実行時環境は、外部プログラムやデータを使うための様々な機能をサポートしています。
DDE(ダイナミック・データ・エクスチェンジ):WindowsのDDE機能は、たいていのWindowsのアプリケーションにあり、XpertRunとのデータ交換ができます。DDE機能とターミナル・エミュレーションソフトを使うと、Windowsのプラットフォーム以外とも効率よくデータ交換ができます。
DLL(ダイナミック・リンク・ライブラリー):XpertRunから外部プログラムを効果的に呼び出すことができます。例えば、XpertRunのConfiguratorのような外部アプリケーションからデータにアクセスするために、多くのデータベースがDLLを提供します。カスタマイズされたプログラムは、DLLとして使われます。
ODBC(オープン・データベース・コネクティヴィティ):ODBCは外部データベースに接続する業界標準の方法です。ODBCを使うための手続き@コマンドと同様、Configuratorの開発者はデータスロットを直接ODBCにマッピングできます。これによって実行時に外部データと密着した動的な通信ができます。例えば、コンフィギュレーションの実行中、現在の価格を「ホットリンク」で呼び出したり、異なるクラスの顧客に違う価格を提示したりすることも可能です。
外部プログラムの呼び出し:XpertRunから値を送る@コマンドライン・パラメタを使って、標準DOSプログラムが呼び出せます。
外部ファイル:簡単かつ効果的な方法です。ASCIIデータ・ファイルを使ってデータ交換ができるので、接続しているほとんど全てのプログラムが利用できます。データ交換用またはルックアップ・テーブルとして使うことができます。
Windowsのクリップボード:さらに手続き@コマンドを使うと、Windowsのクリップボードを介してデータ交換ができます。クリップボードから別のドキュメントに貼り付けます。例えば、Microsoft Wordに貼り付けて、直接、または、あらかじめ定義されたWord Basic命令文で編集できます。
開発者は外部との接続をDDEやDLL、その他の方法で行うことができますが、XpertRuleは独自の手続き@コマンド言語を持っています。これにより開発者は、計算、文字列操作、その他の多くの機能を組み込むことができます。
@コマンド文を使うと、直接スロットを参照できます。これでコンフィギュレーション・ツリーとの全面的なインタラクション(相互作用)が、木の作成時にも完成時にも可能になります。特別な手続き@コマンドを使うと、木を詳しく調べることができます。木のノードは、名前もしくは関連する位置で参照できます。
開発者は手続きとアジェンダで直接@コマンド文を作成し、編集できます。しかし、@コマンド・ビルダーを使うと、@コマンドの正しい構文を示す初期設定のテンプレートを用いて@コマンド文を貼り付けることができます。テンプレートの一部は、オブジェクト辞書から変数を貼り付けて置き換えることができます。これによってエラーが最小限になり、開発が簡単かつ迅速になります。エラーが発生すると、XpertRunの実行時モジュールは@コマンドの疑わしい部分をハイライトして、@コマンドのエラーを報告します。
多くの製品構成アプリケーションでは、選択規則だけでも十分製品構成を導き出せます。しかし、空間またはデザイン用の複雑な製品構成では、利用可能な資源やユーザーのニーズに合わせて構成要素を最適に組み立てなければなりません。
Configuratorは最適化エンジンを持っており、「最適」解を見つけ出します。開発者は、資源の総コストをどうやって計算するかを決め、資源が最小限もしくは最大限になるように指定します。また、構成要素の選択が不適当な場合や非効率的な場合の制約を設定します。最適化エンジンは遺伝的アルゴリズムを使って、複数の可能な解を検索します。基本的に、構成要素の良い/有効な解については遺伝子工学用語でいうところの「差し替え」を行い、悪い解は削除します。従って、短時間に最適な製品構成を見つけることができます。
開発者は、XpertRule知識ベースシステムと製品構成専用機能を組み合わせれば、かなり複雑な製品構成システムを開発することができます。また、こうしたシステムには次のような利点があります。
XpertRule Configuratorの動作環境
将来予告なしに仕様を変更することがあります。最新の機能や動作環境についてはご確認下さい。
価格表及びご注文に関しては、Eメールでinfo@luscombe.co.jpまでお問い合わせいただくか、この申し込み書に必要事項を入力のうえお送り下さい。
(C)2001著作権はアッター・ソフトウェア・リミテッドにあります。