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(a)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&node=4022886&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;node=4022881&amp;i=0">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]<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-tp402...
>>> 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://l...
>>
>>
>>
>> _______________________________________________
>> 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-tp402...
>> 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=...
>>
>
>
> ------------------------------
> 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-ru...
>
> Sent from the Drools: User forum mailing list
archive<http://drools.46999.n3.nabble.com/Drools-User-forum-f47000.htm...
>
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-tp402...
> 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=...
>
------------------------------
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-ru...
Sent from the Drools: User forum mailing list
archive<http://drools.46999.n3.nabble.com/Drools-User-forum-f47000.htm...
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-tp402...
To unsubscribe from API for reading and writing rules, click
here<http://drools.46999.n3.nabble.com/template/NamlServlet.jtp?macro=...
.
NAML<http://drools.46999.n3.nabble.com/template/NamlServlet.jtp?macro=...