Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage Presentations "Big Data" and the Future of DevOps

"Big Data" and the Future of DevOps



Ram C Singh discusses using Big Data for infrastructure telemetry along with good practices and an autonomic engine to create an autonomic computing infrastructure that might prevent downtime.


Ram C Singh co-founded Afiniate, Inc providing PaaS InsightEngine™ based on SERESYE - Swarm-oriented ERlang Expert SYstem Engine- and Joxa -Erlang VM-based Lisp-1-. Ram has 20+ years conceiving, implementing & deploying innovative technology and business solutions as an engineer, an entrepreneur, and as a consultant to Fortune 500 companies and Federal and state agencies.

About the conference

This year’s Erlang Factory SF Bay Area 2012 had an A-list sell-out line-up of speakers which included Erlang Inventors Mike Williams and Robert Virding discussing software approaches used in the industry and the unique features of the Erlang VM and a Keynote talk from Jim Zemlin, Executive Director of The Linux Foundation.

Recorded at:

Aug 24, 2012

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Community comments

  • SERESYE and Eresye question

    by peter lin,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    I took a look at the source code for both Seresye and eresye. If I understand the code correctly, both do not implement RETE algorithm properly. I've been studying RETE since 2000 and implemented RETE algorithm. The design and implementation in Seresye and Eresye do not appear to be correct. RETE network isn't a tree, it's a directed acyclic graph (DAG). In a classic tree structure, each node has 1 parent and multiple children. Nodes in a DAG on the otherhand can have 1 or more parents. In the case of RETE, join nodes have 2 parents, and alpha nodes have 1 parent. Each join node has 1 alpha memory and 1 beta memory. Neither Seresye or Eresye appear to follow that design, which would mean it doesn't implement RETE.

    Just about every open source rule engine that has attempted to implement RETE has made this mistake. The other thing I noticed is it appears both implementations only support ordered facts, which is known to be less efficient than unordered facts. When you use ordered facts, it severely limits node sharing. There are ways around it, but it doesn't appear Seresye or Eresye use those techniques to optimize for ordered facts.

    As far as I can tell, it's a simple forward chaining rule engine and not a RETE implementation.

  • Re: SERESYE and Eresye question

    by Mark Proctor,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    I don't know what SERESYE implements, but tree graphs as enhancements to RETE are well known. There are three recognised network types:

    title: "Advances in Rete Pattern Matching" from 1986:
    chapter: "Arbitrary Grouping of Pattern Condition Elements

    title: "Efficient Matching Algorithms for the SOARlOPS Production System"
    chpater: Non-Linear Networks

    There are use cases where non-linear helps, but also where it hinders - as discussed in the last paper.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p