the cost versus benefit definitely is an important consideration. In
the past, I built custom languages for privacy rules and regulatory
compliance rules, which are sufficiently narrow.

I definitely wouldn't attempt a DSL for general business rules. That
will most likely result in a nightmare.

peter

On Wed, Jun 25, 2008 at 1:50 AM, Michael Smith
<[EMAIL PROTECTED]> wrote:
>
> On Jun 24, 2008, at 8:53 AM, Peter Lin wrote:
>
>> I'm going to disagree that NRL is an anti-pattern.
>
> OK.
>
>
>> It all depends on how you use it.
>
> Agreed... though since I having a tendency to be querolous, I'd
> change "how" to "when".
>
>
>> I've successfully designed and built custom business
>> rule languages in the past. The key is keeping the domain well defined
>> and narrow.
>
> I am tempted to envy you a bit here (in that the scope has been
> defined and narrow enough to capture in a DSL, but "interesting"
> enough to warrant an expert system shell).
>
>
>> Don't try to make a DSL that is a general purpose
>> language.
>
> Agreed.  Unfortunately, it's been my experience that there is a
> significant risk that a customer will drive DSLs inexorably towards a
> general rule language.
>
>
>> For example, say I want to create a rule language for defining privacy
>> rules for mobile phones.
>
> ...<crisp example elided (nothing to quibble about) >...
>
>
>> Once you have enough rules to get a good idea of the scope, you can
>> start designing the language.
>
> Generally at the point the scope is clearly resolved in the projects
> I'm thinking of, the bulk of the rules work has mostly been done.
> The rules development coincided with exploring the subject domain
> with one (or a handful) of experts.  The maintenance of the rules
> that followed been associated with a few experts at most, along with
> a knowledge engineer, and at fairly low change rates.
>
> Changing the rules in a mobile phone privacy system or a message
> routing system would seem to have a lot more rule-editing users, and
> a more constrained capability than sendmail + scripting would still
> be useful without a high risk of scope creep.
>
>
>> Writing the parser is heavily dependent
>> on how solid the DSL is. Once you have the parser, converting to JESS
>> is straight forward.
>
> That seems reasonable.  No argument that the parser -> Jess
> conversion should be mechanical, if a good DSL can be designed.  But
> the effort requires enough users/usage to justify.
>
> Some rule patterns can even be simplified into fact assertions, meta-
> rule to interpret them.  OTOH, the problem has to be constrained very
> well, or this approach can fail in a manner analogous to a overly
> specific DSL.
>
>
> Perhaps the key is that one must the problem well enough defined
> before attempting to define a DSL.   Analysis first, /then/ DSL
> design decisions.
>
> - Mike
>
>
>
> --------------------------------------------------------------------
> To unsubscribe, send the words 'unsubscribe jess-users [EMAIL PROTECTED]'
> in the BODY of a message to [EMAIL PROTECTED], NOT to the list
> (use your own address!) List problems? Notify [EMAIL PROTECTED]
> --------------------------------------------------------------------
>
>


--------------------------------------------------------------------
To unsubscribe, send the words 'unsubscribe jess-users [EMAIL PROTECTED]'
in the BODY of a message to [EMAIL PROTECTED], NOT to the list
(use your own address!) List problems? Notify [EMAIL PROTECTED]
--------------------------------------------------------------------

Reply via email to