ユーザーが編集可能なある種のルール システムを実装する必要があることがよくあります。一般に、要件は十分に異なるため、同じシステムを直接適用することはできません。そのため、同じ問題に頻繁に遭遇します。ルール システムをどのように設計すればよいかということです。それ
- 維持可能です
- 表現力と使いやすさの適切なバランス
- 簡単に拡張できます((2)が間違っている場合)。
ルール システム/DSL は非常に価値があると思いますが、それらを適切に設計する能力に自信がありません。
これを簡単にするのに役立つ参考資料やヒントは何ですか?
私が遭遇する問題の性質上、既存の言語は通常適用できません。(たとえば、一般的なコンピューター ユーザーがメール フィルターを作成するために Python を学習する必要はありません。) 同様に、一部の (より単純な) ユーザー インターフェイスを構築する必要があるため、JESSなどのルール言語は部分的なソリューションにすぎません。 -ルール言語の最上位にあるため、プログラマー以外でも使用できます。このインターフェイスでは、必ず一部の機能を削除したり、それらの機能をより使いにくくしたりする必要があり、そのプロセスは上記と同じ問題を引き起こします。
編集:明確にするために、質問はルールエンジンの設計に関するものであり、事前に構築されたルールエンジンを探しているわけではありません。ルール エンジンを提案する場合は、それが適切な設計上の決定を下すことに関する質問にどのように対処するかを説明してください。