[rules-users] API for reading and writing rules

Stephen Masters stephen.masters at me.com
Tue Mar 19 12:19:16 EDT 2013


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 at 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&amp;node=4022881&amp;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-tp4022874.html
>>> 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-tp4022874p4022878.html
>> 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-tp4022874p4022885.html
> 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 at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20130319/387c00a1/attachment.html 


More information about the rules-users mailing list