[rules-users] API for reading and writing rules

kurrent93 kurrent93 at gmail.com
Tue Mar 19 12:34:18 EDT 2013


Thanks Steve

Yes that sounds like a way forward. I'll do some research on creating a dsl.

Any pointers are appreciated.

Cheers


On Tue, Mar 19, 2013 at 5:20 PM, Stephen Masters [via Drools] <
ml-node+s46999n4022887h16 at n3.nabble.com> wrote:

> 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 <[hidden email]<http://user/SendEmail.jtp?type=node&node=4022887&i=0>>
> 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] <<a
> href="x-msg://429/user/SendEmail.jtp?type=node&amp;node=4022886&amp;i=0"
> target="_top" rel="nofollow" link="external">[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]<http://user/SendEmail.jtp?type=node&node=4022885&i=0>>
>> 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="<a
>> href="x-msg://398/user/SendEmail.jtp?type=node&amp;amp;node=4022881&amp;amp;i=0">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]<http://user/SendEmail.jtp?type=node&node=4022878&i=0>
>>> > 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<http://nabble.com/>
>>>> .
>>>> _______________________________________________
>>>> rules-users mailing list
>>>> [hidden email] <http://user/SendEmail.jtp?type=node&node=4022878&i=1>
>>>> https://lists.jboss.org/mailman/listinfo/rules-users
>>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> rules-users mailing list[hidden email] <http://user/SendEmail.jtp?type=node&node=4022878&i=2>https://lists.jboss.org/mailman/listinfo/rules-users
>>>
>>>
>>>
>>> _______________________________________________
>>> rules-users mailing list
>>> [hidden email] <http://user/SendEmail.jtp?type=node&node=4022878&i=3>
>>> 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="<a
>>> href="x-msg://398/">x-msg://398/" target="_blank" rel="nofollow"
>>> link="external">click here.
>>> NAML<http://drools.46999.n3.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml>
>>>
>>
>>
>> ------------------------------
>> View this message in context: Re: [rules-users] API for reading and
>> writing rules<http://drools.46999.n3.nabble.com/API-for-reading-and-writing-rules-tp4022874p4022881.html>
>>
>> Sent from the Drools: User forum mailing list archive<http://drools.46999.n3.nabble.com/Drools-User-forum-f47000.html>at
>> Nabble.com <http://nabble.com/>.
>> _______________________________________________
>> rules-users mailing list
>> [hidden email] <http://user/SendEmail.jtp?type=node&node=4022885&i=1>
>> https://lists.jboss.org/mailman/listinfo/rules-users
>>
>>
>>
>> _______________________________________________
>> rules-users mailing list
>> [hidden email] <http://user/SendEmail.jtp?type=node&node=4022885&i=2>
>> 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, <a
>> href="x-msg://429/" target="_blank" rel="nofollow" link="external">click
>> here.
>> NAML<http://drools.46999.n3.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml>
>>
>
>
> ------------------------------
> View this message in context: Re: [rules-users] API for reading and
> writing rules<http://drools.46999.n3.nabble.com/API-for-reading-and-writing-rules-tp4022874p4022886.html>
> Sent from the Drools: User forum mailing list archive<http://drools.46999.n3.nabble.com/Drools-User-forum-f47000.html>at
> Nabble.com.
> _______________________________________________
> rules-users mailing list
> [hidden email] <http://user/SendEmail.jtp?type=node&node=4022887&i=1>
> https://lists.jboss.org/mailman/listinfo/rules-users
>
>
>
> _______________________________________________
> rules-users mailing list
> [hidden email] <http://user/SendEmail.jtp?type=node&node=4022887&i=2>
> 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-tp4022874p4022887.html
>  To unsubscribe from API for reading and writing rules, click here<http://drools.46999.n3.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=4022874&code=a3VycmVudDkzQGdtYWlsLmNvbXw0MDIyODc0fC0zMzQ3MDA3NTI=>
> .
> NAML<http://drools.46999.n3.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml>
>




--
View this message in context: http://drools.46999.n3.nabble.com/API-for-reading-and-writing-rules-tp4022874p4022888.html
Sent from the Drools: User forum mailing list archive at Nabble.com.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20130319/4caa30a4/attachment-0001.html 


More information about the rules-users mailing list