多くの場合、ユーザーが編集できるルールシステムを実装する必要があります。要件は一般に同じで、同じシステムを直接適用することができないため、同じ問題が頻繁に発生します。ルールシステムの設計に関する参考資料/ヒント
- は、保守
- あるルールシステムが適切に使用
- のしやすさと表現力のバランスをとる(/場合、私は(2)間違ったを取得するときに)容易に拡張されます。
私はルールシステム/ DSLは非常に貴重だと思いますが、私はそれらを適切に設計することができないと思います。
これを簡単にするための参考資料やヒントを教えてください。
問題の性質上、既存の言語は一般に適用されません。 (例えば、でない場合は、一般的なコンピュータユーザーが電子メールフィルタを書くためにpythonを学ぶ必要があります)。の言語のようなJESSのような規則は、一部のルール言語の最上位に構築され、非プログラマがそれを利用できるようにします。このインタフェースは、必ずしも一部のフィーチャを削除したり、フィーチャを使用しにくくすること、およびprocessが上記の同じ問題を引き起こすことを必然的に伴います。
編集:は明確にするために、質問はルールエンジンをおよそ設計されて、私は事前に構築されたルールエンジンを探していませんよ。ルールエンジンを提案する場合は、優れた設計上の意思決定に関する質問にどのように対処するかを説明してください。
私は発現木の適用性を理解していません。ルール言語インタープリタの一部としてそれらを示唆しているのですか、それを使って各ルールのオプションを表現していますか?私は少し混乱しています。 – rcreswick