Monday, November 29, 2010

[android-developers] Re: Do Androids dream of rule engines?

Hi, Pavel. I would like to see the Code of Hammurapi ... I hope it's
not written in cuneiform! :=)

Great name! I think it would be helpful if you were to be a bit more
explicit about what makes you believe there is a need for a rule
engine on Android.

I've written more rule engines than I can recall offhand, and a big
fan of rule engines in general, but I'd find it hard to characterize
just why and when you need one on Android. I imagine people less
familiar with rule engines would find it even more difficult, even
when they're facing a problem well-solved with it.

So I'd encourage you to write a bit more about why and how you see it
being useful on Android.

Looking over your site, it looks like you are using something similar
to a Rete network for your matching. And that you've extended this
with asynchronous execution of predicates and handlers? Perhaps one
scenario is when you have slow interactions (e.g. network
interactions) which have to asynchronously interact with the UI, and
not block the event thread? Expressing this as Hammurapi rules might
be a good way to to integrate such background interactions and the UI?
This would avoid a lot of threading pitfalls and UI coordination

I have found that rule engines are a very nice way to manage complex
UI concerns, such as when buttons should be activated, what values
should populate drop-down lists, etc. Especially when the rule engine
supports retraction -- so that if one of the conditions that led to a
button being activated is no longer true, the button is then
deactivated automatically. Do you support any form of retraction --
reversing an action (un-asserting a fact) when the condition that led
to it is no longer true?

Given how simple individual Android screens are, and how they are
spread across multiple activities, I'm not sure whether this makes
android need rules less -- or more! Perhaps more, as the logic around
maintaining the various bits of state across activities should perhaps
be best managed in a way decoupled from individual screens.

On Nov 28, 12:53 pm, Pavel Vlasov <> wrote:
> Hello,
> I've searched this forum and the web and got an impression that there
> is a need for a rule engine on Android, but there are very few rule
> engines which can run on it.
> I'd like to share with the community that Hammurapi Group has recently
> released Hammurapi Event Bus (
> doku.php/products:event_bus:start), which is a forward-chaining rule
> engine and an event dispatching engine. It runs on Java 6 and Android
> 2.0+.
> ---
> Best regards, Pavel.

You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to
To unsubscribe from this group, send email to
For more options, visit this group at

No comments:

Post a Comment