If you are going to generate DRL, you need to parse your model into a much more general
language and parse that language back into your model. The APIs don't save you from
doing this, they just mean that you interact with an API to generate the code, and get
some validation, rather than just outputting strings. Additionally, I suspect that you
would need to use APIs that are not really intended for public consumption and may change
any time you update Drools.
A DSL defines a template for your own language, for which you define mappings to DRL. You
can write DSLR code using that DSL syntax, instead of DRL. Given that you write the DSL
yourself, it should be specific to your requirements and relatively simple to generate in
many cases (depends on your model of course). Additionally, given that you would be using
it as an intermediate language, you could write a DSL to be parsed easily, rather than the
usual natural language style.
So your code just needs to generate and read your simplified language. Drools deals with
parsing your DSLR code into rules. And you have your own stable language. i.e. You can
update Drools with minimal impact to your application.
It depends mostly on how flexible your rules generation needs to be. If the customers will
be defining values to be dropped into relatively fixed rule structures, then doing this
could be pretty simple.
Steve
On 19 Mar 2013, at 15:54, kurrent93 <kurrent93(a)gmail.com> wrote:
thanks Stephen
My knowledge of DSLs is very limited. But isnt the problem still parsing in the DRL into
the DSL? I dont really understand how a DSL helps - but that is probably due to my lack of
knowledge here.
On Tue, Mar 19, 2013 at 4:41 PM, Stephen Masters [via Drools] <[hidden email]>
wrote:
Depending on your model, it may be better to create a DSL as an intermediate language.
That way you have a simplified language, which you control, to parse in and out, which
could be tuned to your own domain model.
Steve
On 19 Mar 2013, at 14:36, kurrent93 <[hidden email]> wrote:
> HI David
>
> Yes we are also looking into rule templates.
>
> We have come up with - what we believe - is a very natural, intuitive and visually
appealing way to author rules. And it is tailored for our specific domain.
>
> One significant aspect of our work is that we are present drools authoring to end
users - customers - rather than business users. Hence the importance of crafting a
specialized UI, rather than the generic UI of Guvnor.
>
> And FYI - are also including in the design some UI elements, for a future version,
that will use Drools Chance features.
>
> Can you point me to documentation - and ideally - samples around using APIs for the
descriptor level?
>
> Thanks
>
>
>
>
> On Tue, Mar 19, 2013 at 3:11 PM, Davide Sottara [via Drools] <<a
href="x-msg://398/user/SendEmail.jtp?type=node&node=4022881&i=0"
target="_top" rel="nofollow" link="external">[hidden
email]> wrote:
> As a RETE network is being created, DRL Rules are parsed into an internal
"descriptor" structure (a high level AST)
> and then compiled into a RETE.
>
> There are "APIs" to create rules at the descriptor level: this can then be
"dumped" back into DRL.
> To work at the DRL level directly, it's common to use parametric
"templates".
>
> If your internal (meta)model is object oriented, you could consider using DRL rules
to write the translators :)
>
> Davide
>
> p.s. could you provide some more information about your use case? I'm doing some
research on rule authoring
> environments right now. Thanks!
>
>
>
>
> On 03/19/2013 09:54 AM, Michael Anstis wrote:
>> Rules are DRL that is a String.
>>
>> Where and how you choose to store the String is up to you.
>>
>> Please try to explain what you want to achieve a little more.
>>
>> On 19 March 2013 12:49, kurrent93 <[hidden email]> wrote:
>> HI all
>>
>> Is there any samples or documentation for reading and writing of rules?
>>
>> The user case is we are trying to build a custom Rule Editor, and thus would
>> like to write and read rules to/from our beans.
>>
>> Thanks
>>
>>
>>
>> --
>> View this message in context:
http://drools.46999.n3.nabble.com/API-for-reading-and-writing-rules-tp402...
>> Sent from the Drools: User forum mailing list archive at
Nabble.com.
>> _______________________________________________
>> rules-users mailing list
>> [hidden email]
>>
https://lists.jboss.org/mailman/listinfo/rules-users
>>
>>
>>
>> _______________________________________________
>> rules-users mailing list
>> [hidden email]
>>
https://lists.jboss.org/mailman/listinfo/rules-users
>
>
> _______________________________________________
> rules-users mailing list
> [hidden email]
>
https://lists.jboss.org/mailman/listinfo/rules-users
>
> If you reply to this email, your message will be added to the discussion below:
>
http://drools.46999.n3.nabble.com/API-for-reading-and-writing-rules-tp402...
> To unsubscribe from API for reading and writing rules, <a
href="x-msg://398/" target="_blank" rel="nofollow"
link="external">click here.
> NAML
>
>
> View this message in context: Re: [rules-users] API for reading and writing rules
>
> Sent from the Drools: User forum mailing list archive at
Nabble.com.
> _______________________________________________
> rules-users mailing list
> [hidden email]
>
https://lists.jboss.org/mailman/listinfo/rules-users
_______________________________________________
rules-users mailing list
[hidden email]
https://lists.jboss.org/mailman/listinfo/rules-users
If you reply to this email, your message will be added to the discussion below:
http://drools.46999.n3.nabble.com/API-for-reading-and-writing-rules-tp402...
To unsubscribe from API for reading and writing rules, click here.
NAML
View this message in context: Re: [rules-users] API for reading and writing rules
Sent from the Drools: User forum mailing list archive at
Nabble.com.
_______________________________________________
rules-users mailing list
rules-users(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users