Geoffrey De Smet | 7 May 09:12 2012
Picon

[rules-dev] Planner: Unified selectors

Hi guys,

In Planner, I am going to do some structural improvements on the selectors.
Below are some of the idea's on how to do that. All of these are ideas are still very volatile.
Feed-back is welcome, especially if you don't like a particular naming or semantic.


Global design objectives:

- 1) Make selectors and generic MoveFactories faster, scalable and use less memory: by optionally not generating all the moves
- 2) Make selectors and generic MoveFactories more configurable: filter on entities, variables, moveFilter, ...
- 3) Unify entity, variable and value selectors under the same system, to also make them faster, scalable, memory-efficient and more configurable

Let's focus on 1) MoveSelector only for now, on terminology and semantics.
What does a MoveSelector need to have?



Terminology of methods/attributes on MoveSelector. How would you name them?
  • Iterator<Move> moveIterator:
    • iterates over all the moves in the selector, based on the configuration of the MoveSelector
  • long moveSize or size:
    • how many moves in this MoveSelector.
    • The MoveSelector interface probably doesn't need to expose this
  • boolean continuous:
    • Some value ranges, for example double x with (1.0 < x < 2.0) are continuous.
      • For example, a value can be 1.23435455444.
    • When true, then MoveSelector.size returns -1 or throws exception (because it is infinity really :)
    • Not all features will be able to combine with continuous true.
      • If it's not compatible, it fails-fast during configuration.
  • boolean cacheableBetweenSteps
  • enum orderType:
    • The order in which the moveIterator generates Moves
    • DEFAULT (or FROM_SOLUTION?)
      • not cached
        • The Moves are generated in real-time (at each move scope)
          • A1, A2, A3, ... A9, B1, B2, ... F9
      • 100% cached
        • The Moves are generated in advance (at each step scope) and iterated in generated order.
          • A1, A2, A3, ... A9, B1, B2, ... F9
      • Not compatible with continuous == true
    • DECREASING_DIFFICULTY (experimental)
      • B1, B2, … B9, F1, F2, … F9, A1, A2 …, C9
      • This is really DEFAULT for the MoveSelector with DECREASING_DIFFICULTY for the entitySelector and DEFAULT/DECREASING_STRENGTH/... for the valueSelector
    • RANDOM_COMPLETE
      • The Moves are generated in advanced (at each step scope) and shuffled, so iterated in random order.
        • C2, B2, A7, E4, F3 ...
      • Not compatible with continuous == true
    • RANDOM_SCALABLE
      • The moves are generated in real-time (at each move scope) randomly.
        • C2, B2, A7, E4, C2 ...
      • Will sometimes generate the same Move twice, before some other Move is generated once.
  • boolean hasFiniteMoveSize
    • Other names:
      • hasFiniteAmountOfMoves
      • knowsWhenAllMovesHaveBeenIterated
    • true if moveIterator.hasNext() will ever return false
    • It's false in the following cases:
      • orderType == RANDOM_SCALABLE
  • boolean roundRobinSelection
    • true if it should try to round robin selection between steps
    • If orderType == IN_ORDER
      • Suppose the moves are (A1, A2, A3, A4, A5)
      • if the first step stops after 3 move selections, it gets [A1, A2, A3]
      • then the next step will get [A4, A5, A1, A2, A3].
        • so if it stops after the 3 move selections, it gets [A4, A5, A1]
          • with roundRobinSelection == false it would get [A1, A2, A3] again
    • If orderType == RANDOM_COMPLETE
      • This is a bit tricker - ignore for now
    • Not compatible with orderType == RANDOM_SCALABLE
    • Not compatible with continuous == true
  • long randomSelectionWeight
    • If this MoveSelector is put into a composition with another MoveSelector, how high is the chance that this MoveSelector is chosen?
    • See below on composition for more info.
    • Can default to 1 or can default to size.
      • Currently, Planner 5.4 implementation default it to 1.
MoveSelector composition: Local Search can only have 1 direct MoveSelector, but that one can be CompositeMoveSelector of other MoveSelectors. There are several forms of composition:
  • Summed composition: UNION:
    • If X(A1, A2, A3) and Y(B1, B2) are summed, we get (A1, A2, A3, B1, B2)
    • If this composition is called with RANDOM (complete or scalable), how high is the change that A1 will be selected?
      • if randomSelectionWeight = 1 for each, so on X = 1 and Y = 1:
        • (1/2) * (1/3) = 1/6 chance to select A1
      • if randomSelectionWeight = size for each, so on X = 3 and Y = 2:
        • 1/(3 + 2) = 1/5 chance to select A1
      • Think about it: currently randomSelectionWeight = 1,
        • so if you have 100 change moves and 1000 swap moves,
        • then every change move has 10 times more chance to be selected then a swap move
  • Multiplied composition: CARTESIAN_PRODUCT:
    • If X(A1, A2, A3) and Y(B1, B2) are multiplied, we get (A1-B1, A1-B2, A2-B1, A2-B2, A3-B1, A3-B2)
      • So you get composite moves: even though X and Y only move 1 entity, the composite move moves 2 at the same time
        • If multiplied composition is useful is yet to be determined
    • If this composition is called with RANDOM (complete or scalable), how high is the change that A1-B1 will be selected?
      • Always (1/3) * (1/2) = 1/6 chance to select A1-B1
      • The randomSelectionWeight doesn't matter!
          • if randomSelectionWeight = 1 , so on X = 1 and Y = 1:
          • (1/3) * (1/2) = 1/6 chance to select A1-B1
          • if randomSelectionWeight = size, so on X = 3 and Y = 2:
          • (1/3) * (1/2) = 1/6 chance to select A1-B1
I hope this makes sense :) What do you think? Naming, semantics, usage, ...
MoveFilters, entity inclusion/exclusion, etc are for phase 2 (by much easier to do once this stuff in in place) -- With kind regards, Geoffrey De Smet
_______________________________________________
rules-dev mailing list
rules-dev <at> lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-dev
vinodkiran | 7 May 12:43 2012
Picon
Picon

Re: [rules-dev] project idea - Running Guvnor SCENARIOS from regular java code

"http://localhost:8080/org.drools.guvnor.Guvnor/package/{packageName}/LATEST/SCENARIOS"

works fine. Some of the challenges I see with this URL based approach are

1. Can execute at a package level, cannot be run for an individual scenario
2. Difficult to integrate in a automated testing environment (continuous
integration), if I need to test certain scenarios (xUnit based)
3. The URL returns a text file in the format "SUCCESS {scenario}". needs
work on the developer to parse and interpret results
4. No feature to get the audit log...

--
View this message in context: http://drools.46999.n3.nabble.com/project-idea-Running-Guvnor-SCENARIOS-from-regular-java-code-tp3690698p3968245.html
Sent from the Drools: Developer (committer) mailing list mailing list archive at Nabble.com.
_______________________________________________
rules-dev mailing list
rules-dev <at> lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-dev

Wolfgang Laun | 8 May 11:38 2012
Picon

[rules-dev] Drools 5.4.0 final - documentation being completed

On 08/05/2012, Michael Anstis <michael.anstis <at> gmail.com> wrote:
> I suspect this week... the final documentation is being completed and then
> the build will commence.

"Expert" section 5.9, Query, is badly in need of a review, as
currently can be seen on
http://docs.jboss.org/drools/release/5.4.0.CR1/drools-expert-docs/html_single/index.html

=*=
<p>Support for positional syntax ...

(1) It's not clear why a declare +  <at> position is shown here, without
any explanation how this relates to a query.
(2) By default the the declared type  => omit 2nd 'the'

=*=
Inheritence of classes is supported, but not interfaces of methods yet. =>
(3) Inheritance
(4) "...but not interfaces of methods yet."  ???

=*=
Positional and mixed positional/named type is supported.???

=*=
Literal expressions can passed as  => can be passed

=*=
Here s an example => Here is

=*=
you will not received => not  receive

=*=
not an alternative instanceof Variable => instance of
_______________________________________________
rules-dev mailing list
rules-dev <at> lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-dev

Mark Proctor | 8 May 15:49 2012

Re: [rules-dev] Drools 5.4.0 final - documentation being completed

Thanks, I made those changes. I was hoping to do some more example 
driven documentation to explain backward chaining, but I ran out of time 
:( I'll try and do it for 5.5.

Mark
On 08/05/2012 10:38, Wolfgang Laun wrote:
> On 08/05/2012, Michael Anstis<michael.anstis <at> gmail.com>  wrote:
>> I suspect this week... the final documentation is being completed and then
>> the build will commence.
> "Expert" section 5.9, Query, is badly in need of a review, as
> currently can be seen on
> http://docs.jboss.org/drools/release/5.4.0.CR1/drools-expert-docs/html_single/index.html
>
> =*=
> <p>Support for positional syntax ...
>
> (1) It's not clear why a declare +  <at> position is shown here, without
> any explanation how this relates to a query.
> (2) By default the the declared type  =>  omit 2nd 'the'
>
> =*=
> Inheritence of classes is supported, but not interfaces of methods yet. =>
> (3) Inheritance
> (4) "...but not interfaces of methods yet."  ???
>
> =*=
> Positional and mixed positional/named type is supported.???
>
> =*=
> Literal expressions can passed as  =>  can be passed
>
> =*=
> Here s an example =>  Here is
>
> =*=
> you will not received =>  not  receive
>
> =*=
> not an alternative instanceof Variable =>  instance of
> _______________________________________________
> rules-dev mailing list
> rules-dev <at> lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-dev

_______________________________________________
rules-dev mailing list
rules-dev <at> lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-dev

Toni Rikkola | 9 May 09:11 2012
Picon

[rules-dev] Drools 5.4.0.Final and jBPM 5.3.0.Final are being released

Only blocker bugs can stop the release process. 
It is now too late to cherry pick bug fixes or documentation for the Final releases.

Toni Rikkola
_______________________________________________
rules-dev mailing list
rules-dev <at> lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-dev

Mark Proctor | 9 May 03:52 2012

[rules-dev] Drools 5.4: Artificial Intelligence, A Little History

please vote up:
http://www.dzone.com/links/drools_54_artificial_intelligence_a_little_history.html
-----copied from website link-----
As part of the 5.4 release, going out the door as we speak, I updated the intro docs. I have tried to give a wider understanding of the field and scope of work. Here is a copy. I'll try and improve the sections over future releases, I ran out of time and the later sections are little rushed and thin. I'm not the best of writers, so please have patience, all contributions welcome :)

A Little History

Over the last few decades artificial intelligence (AI) became an unpopular term, with the well know "AI Winter". There were large boasts from scientists and engineers looking for funding, that never lived up to expectations along with many failed projects. Thinking Machines Corporation and the 5th Generation Computer (5GP) project probably exemplify best the problems at the time.

Thinking Machines Corporation was one of the leading AI firms in 1990, it had sales of nearly $65 million. Here is quote from it's brochure:
Some day we will build a thinking machine. It will be a truly intelligent machine. One that can see and hear and speak. A machine that will be proud of us.

Yet 5 years later it filed for Chapter 11. inc.com has a fascinating article titled "The Rise and Fall of Thinking Machines". The article covers the growth of the industry and how a cosy relationship with Thinking Machines and DARPA over heated the market, to the point of collapse. It explains how and why commerce moved away from AI and towards more practical number crunching super computers.

The 5th Generation Computer project was a 400mill USD project in Japan to build a next generation computer. Valves was first, transistors was second, integrated circuits was third and finally microprocessors was fourth. This project spurred an "arms" race with the UK and USA, that caused much of the AI bubble. The 5GP would provide massive multi-cpu parallel processing hardware along with powerful knowledge representation and reasoning software via Prolog; a type of expert system. By 1992 the project was considered a failure and cancelled. It was the largest and most visible commercial venture for Prolog, and many of the failures are pinned on the problems trying to run a logic based programming language concurrently on multi cpu hardware with effective results. Some believe that the failure of the 5GP project tainted Prolog and resigned it academia, see "Whatever Happened to Prolog" by John C. Dvorak.

However while research funding dried up and the term AI became less used, many green shoots where planted and continued more quietly under discipline specific names: cognitive systems, machine learning, intelligent systems, knowledge representation and reasoning. Offshoots of these then made their way into commercial systems, such as expert systems in the Business Rules Management System (BRMS) market.

Imperative, system based languages, languages such as C, C++, Java and .Net have dominated the last 20 years. Enabled by the practicality of the languages and ability to run with good performance on commodity hardware. However many believe there is renaissance undergoing in the field of AI, spurred by advances in hardware capabilities and AI research. In 2005 Heather Havenstein authored "Spring comes to AI winter" which outlines a case for this resurgence, which she refers to as a spring. Norvig and Russel dedicate several pages to what factors allowed the industry to over come it's problems and the research that came about as a result:

Recent years have seen a revolution in both the content and the methodology of work in artificial intelligence. It is now more common to build on existing theories than to propose brand-new ones, to base claims on rigorous theorems or hard experimental evidence rather than on intuition, and to show relevance to real-world applications rather than toy examples.” (Artificial Intelligence : A Modern Approach.)

Computer vision, neural networks, machine learning and knowledge representation and reasoning (KRR) have made great strides in become practical in commercial environments. For example vision based systems can now fully map out and navigate their environments with strong recognition skills, as a result we now have self driving cars about to enter the commercial market. Ontological research, based around description logic, has provided very rich semantics to represent our world. Algorithms such as the tableaux algorithm have made it possible to effectively use those rich semantics in large complex ontologies. Early KRR systems, like Prolog in 5GP, were dogged by the limited semantic capabilities and memory restrictions on the size of those ontologies.

Knowledge Representation and Reasoning

In A Little History talks about AI as a broader subject and touches on Knowledge Representation and Reasoning (KRR) and also Expert Systems, I'll come back to Expert Systems later.
KRR is about how we represent our knowledge in symbolic form, i.e. how we describe something. Reasoning is about how we go about the act of thinking using this knowledge. System based languages, like Java or C+, have classification systems, called Classes, to be able to describe things, in Java we calls these things beans or instances. However those classification systems are limited to ensure computational efficiency. Over the years researchers have developed increasingly sophisticated ways to represent our world, many of you may already have heard of OWL (Web Ontology Language). Although there is always a gap between what we can be theoretically represented and what can be used computationally in practically timely manner, which is why OWL has different sub languages from Lite to Full. It is not believed that any reasoning system can support OWL Full. Although Each year algorithmic advances try and narrow that gap and improve expressiveness available to reasoning engines.

There are also many approaches to how these systems go about thinking. You may have heard of discussions comparing the merits of forward chaining, which is reactive and data driven, or backward chaining, which is passive and query driven. Many other types of reasoning techniques exists, each of which enlarges the scope of the problems we can tackle declaratively. To list just a few: imperfect reasoning (fuzzy logic, certainty factors), defeasible logic, belief systems, temporal reasoning and correlation. Don't worry if some of those words look alien to you, they aren't needed to understand Drools and are just there to give an idea of the range of scope of research topics; which is actually far more extensive than this small list and continues to grow as researches push new boundaries.

KRR is often refereed as the core of Artificial Intelligence Even when using biological approaches like neural networks, which model the brain and are more about pattern recognition than thinking, they still build on KRR theory. My first endeavours with Drools were engineering oriented, as I had no formal training or understanding of KRR. Learning KRR has allowed me to get a much wider theoretical background. Allowing me to better understand both what I've done and where I'm going, as it underpins nearly all of the theoretical side to our Drools R&D. It really is a vast and fascinating subject that will pay dividends for those that take the time learn, I know it did and still does for me. Bracham and Levesque have written a seminal piece of work, called "Knowledge Representation and Reasoning" that for anyone wanting to build strong foundations is a must read. I would also recommend the Russel and Norvig book "Artificial Intelligence, a modern approach" which also covers KRR.

Rule Engines and Production Rule Systems

We've now covered a brief history of AI and learnt that the core of AI is formed around KRR. We've shown than KRR is vast and fascinating subject which forms the bulk of the theory driving Drools R&D.
The rule engine is the computer program that delivers KRR functionality to the developer. At a high level it has three components:
  • Ontology
  • Rules
  • Data
As previous mentioned the ontology is the representation model we use for our "things". It could be a simple records or Java classes or full blown OWL based ontologies. The Rules do the reasoning and facilitate thinking. The distinction between rules and ontologies blurs a little with OWL based ontologies, who's richness is rule based.

The term rule engine is quite ambiguous in that it can be any system that uses rules, in any form, that can be applied to data to produce outcomes. This includes simple systems like form validation and dynamic expression engines. The book "How to Build a Business Rules Engine (2004)" by Malcolm Chisholm exemplifies this ambiguity. The book is actually about how to build and alter a database schema to hold validation rules. The book then shows how to generate VB code from those validation rules to validate data entry. Which while very valid, it is very different to what we talking about so far.

Drools started life as a specific type of rule engine called a production rule system (PRS) and was based around the Rete algorithm. The Rete algorithm, developed by Charles Forgey in 1979, forms the brain of a Production Rules System and is able to scale to a large number of rules and facts. A Production Rule is a two-part structure: the engine matches facts and data against Production Rules - also called Productions or just Rules - to infer conclusions which result in actions.
when     <conditions> then     <actions>; The process of matching the new or existing facts against Production Rules is called pattern matching, which is performed by the inference engine. Actions execute in response to changes in data, like a database trigger; we say this is a data driven approach to reasoning. The actions themselves can change data, which in turn could match against other rules causing them to fire; this is referred to asforward chaining

Drools implements and extends the Rete algorithm;. The Drools Rete implementation is called ReteOO, signifying that Drools has an enhanced and optimized implementation of the Rete algorithm for object oriented systems. Our more recent work goes well beyond Rete. Other Rete based engines also have marketing terms for their proprietary enhancements to Rete, like RetePlus and Rete III. Th e most common enhancements are covered in "Production Matching for Large Learning Systems (Rete/UL)" (1995) by Robert B. Doorenbos. Leaps used to be provided but was retired as it became unmaintained, the good news is our research is close to producing an algorithm that merges the benefits of Leaps with Rete.

The Rules are stored in the Production Memory and the facts that the Inference Engine matches against are kept in the Working Memory. Facts are asserted into the Working Memory where they may then be modified or retracted. A system with a large number of rules and facts may result in many rules being true for the same fact assertion; these rules are said to be in conflict. The Agenda manages the execution order of these conflicting rules using a Conflict Resolution strategy.

Hybrid Reasoning Systems

You may have read discussions comparing the merits of forward chaining (reactive and data driven) or backward chaining(passive query). Here is a quick explanation of these two main types of reasoning.

Forward chaining is "data-driven" and thus reactionary, with facts being asserted into working memory, which results in one or more rules being concurrently true and scheduled for execution by the Agenda. In short, we start with a fact, it propagates and we end in a conclusion.

Backward chaining is "goal-driven", meaning that we start with a conclusion which the engine tries to satisfy. If it can't it then searches for conclusions that it can satisfy; these are known as subgoals, that will help satisfy some unknown part of the current goal. It continues this process until either the initial conclusion is proven or there are no more subgoals. Prolog is an example of a Backward Chaining engine. Drools can also do backward chaining, which we refer to as derivation queries.

Historically you would have to make a choice between systems like OPS5 (forward) or Prolog (backward). Now many modern systems provide both types of reasoning capabilities. There are also many other types of reasoning techniques, each of which enlarges the scope of the problems we can tackle declaratively. To list just a few: imperfect reasoning (fuzzy logic, certainty factors), defeasible logic, belief systems, temporal reasoning and correlation. Modern systems are merging these capabilities, and others not listed, to create hybrid reasoning systems (HRS).

While Drools started out as a PRS, 5.x introduced Prolog style backward chaining reasoning as well as some functional programming styles. For this reason HRS is now the preferred term when referring to Drools, and what it is.

Drools current provides crisp reasoning, but imperfect reasoning is almost ready. Initially this will be imperfect reasoning with fuzzy logic, later we'll add support for other types of uncertainty. Work is also under way to bring OWL based ontological reasoning, which will integrate with our traits system. We also continue to improve our functional programming capabilities.

Expert Systems  

You will often hear the terms expert systems used to refer to production rule systems or Prolog like systems. While this is normally acceptable, it's technically wrong as these are frameworks to build expert systems with, and not actually expert systems themselves. It becomes an expert system once there is an ontological model to represent the domain and there are facilities for knowledge acquisition and explanation.

Mycin is the most famous expert system, built during the 70s. It is still heavily covered in academic literature, such as the recommended book "Expert Systems" by Peter Jackson.

Recommended Reading

General AI, KRR and Expert System Books

For those wanting to get a strong theoretical background in KRR and expert systems, I'd strongly recommend the following books. "Artificial Intelligence: A Modern Approach" is must have, for anyone's bookshelf.
  • Introduction to Expert Systems
    • Peter Jackson
  • Expert Systems: Principles and Programming
    • Joseph C. Giarratano, Gary D. Riley
  • Knowledge Representation and Reasoning
    • Ronald J. Brachman, Hector J. Levesque
  • Artificial Intelligence : A Modern Approach.
    • Stuart Russell and Peter Norvig

Papers

Here are some recommended papers that cover some interesting areas in rule engine research.
  • Production Matching for Large Learning Systems : Rete/UL (1993)
    • Robert B. Doorenbos
  • Advances In Rete Pattern Matching
    • Marshall Schor, Timothy P. Daly, Ho Soo Lee, Beth R. Tibbitts (AAAI 1986)
  • Collection-Oriented Match
    • Anurag Acharya and Milind Tambe (1993)
  • The Leaps Algorithm (1990)
    • Don Battery
  • Gator: An Optimized Discrimination Network for Active Database Rule Condition Testing (1993)
    • Eric Hanson , Mohammed S. Hasan

Drools Books

There are currently three Drools books, all from Packt Publishing.
  • JBoss Drools Business Rules
    • Paul Brown
  • Drools JBoss Rules 5.0 Developers Guide
    • Michali Bali
  • Drools Developer's Cookbook
    • Lucas Amador


_______________________________________________
rules-dev mailing list
rules-dev <at> lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-dev
Shubhranshu Swain | 9 May 17:51 2012
Picon

Re: [rules-dev] Help

http://www.integratingstuff.com/2011/01/28/setting-up-drools-guvnor/ 

On Sat, Feb 4, 2012 at 2:58 PM, Olfa h <h.olfa.h <at> gmail.com> wrote:
good morning,


can you help me to install drools  ( for windows)

thanks

_______________________________________________
rules-dev mailing list
rules-dev <at> lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-dev




--

Regards
Shubhranshu
+91-9090266256
_______________________________________________
rules-dev mailing list
rules-dev <at> lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-dev
Mark Proctor | 11 May 17:10 2012

[rules-dev] Build Pong in 13 minutes using JBoss Drools

Just finished "Build Pong in 13 minutes with JBoss Drools" enjoy :) and 
please vote up on dzone
http://www.dzone.com/links/build_pong_in_13_minutes_using_jboss_drools.html

For those with more time, here is a longer and more complex video that I 
made before Pong.
"Build a Graphical Adventure Game in 20 minutes using JBoss Drools : All 
Hail the Wumpus "
http://www.dzone.com/links/build_a_graphical_adventure_game_in_20_minutes_us.html

Mark
_______________________________________________
rules-dev mailing list
rules-dev <at> lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-dev

Mark Proctor | 14 May 21:28 2012

[rules-dev] Drools 5.4.0.Final released

http://blog.athico.com/2012/05/drools-540final-released.html
----link contents pasted below---

We are happy to announce the release of Drools (Expert, Fusion, Planner, Guvnor) 5.4.0.Final. jBPM 5.3.0 announcement will follow shortly and the link will be added when it does.

Documentation, Release Notes and Downloads are detailed below:
Try it out and give us some feed-back (user list, issue tracker).

Some new online videos, make sure you change youtube setting to 720:

Build Pong in 13 Minutes
http://www.youtube.com/watch?v=Omj4PR3v-nI

Build a Graphical Adventure in 20 Minutes:
http://www.youtube.com/watch?v=4CvjKqUOEzM

Guided Decision Tables
http://vimeo.com/35472874

Importing Excel Decision Tables
http://vimeo.com/37033081http://vimeo.com/37033081
_______________________________________________
rules-dev mailing list
rules-dev <at> lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-dev
Matthew Versaggi | 14 May 22:02 2012
Picon

Re: [rules-dev] Drools 5.4.0.Final released

Hi Gents!

Great News!

Is there any talk about porting Drools to Android 4 by chance?

Inquiring Minds want to know .... :-)

-matt

************************************

On Mon, May 14, 2012 at 9:28 PM, Mark Proctor <mproctor <at> codehaus.org> wrote:
http://blog.athico.com/2012/05/drools-540final-released.html
----link contents pasted below---

We are happy to announce the release of Drools (Expert, Fusion, Planner, Guvnor) 5.4.0.Final. jBPM 5.3.0 announcement will follow shortly and the link will be added when it does.

Documentation, Release Notes and Downloads are detailed below:
Try it out and give us some feed-back (user list, issue tracker).

Some new online videos, make sure you change youtube setting to 720:

Build Pong in 13 Minutes
http://www.youtube.com/watch?v=Omj4PR3v-nI

Build a Graphical Adventure in 20 Minutes:
http://www.youtube.com/watch?v=4CvjKqUOEzM

Guided Decision Tables
http://vimeo.com/35472874

Importing Excel Decision Tables
http://vimeo.com/37033081http://vimeo.com/37033081

_______________________________________________
rules-dev mailing list
rules-dev <at> lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-dev




--
#########################################################
Matthew R. Versaggi, President & CEO
Versaggi Information Systems, Inc.
Adjunct Professor of eBusiness DePaul University
Email: mailto:matt <at> versaggi.com, ProfVersaggi <at> gmail.com
P:(voip) 630-515-8956
LinkedIn:  http://www.linkedin.com/in/versaggi
BranchOut: http://branchout.com/Matthew.R.Versaggi
#########################################################

_______________________________________________
rules-dev mailing list
rules-dev <at> lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-dev

Gmane